* core: use Hyprgraphics::CAsyncResourceGatherer
* core: move screencopy frame generation to the new resource manager
* core: introduce a dedicated onAssetUpdate callback
* check for unloaded before finished and some cleanup
* also allow for dynamic label resource deduplication
use a simple counter instead of a timestamp to allow the same
widget on a different monitor to reuse a text cmd resource.
I didn't do this before, because I was worried about two labels that use
the same command with different reload times. I mitigated that by just
incrementing the revision by the time interval. This should be sufficent
to avoid clashes.
* don't render within onAssetUpdate to avoid duplicate renders
another much improvement for multi monitor setups.
allows updating within the same frame for most labels.
* remove nvidia workaround :)
I tested and it seems like the resource manager revision makes
the nvidia workaround obsolete.
BREAKING:
- Removed `input-field:dots_fade_time`. Now configured via
`animation=inputFieldDots,...`
- Removed `input-field:fail_transition`. Now configured via
`animation=inputFieldColors,...`
- Removed `general:no_fade_in` and `general:no_fade_out`. Now configured
globally via `animations:enabled` or via `animation=fadeIn,...` and
`animation=fadeOut,...`
* misc: use Vector2D, Box and Mat3x3 from hyprutils
* nix: flake update
Fix CI fails. We need hyprutils>=0.2.3
* misc: use a function to convert Hyprlang::VEC2 to Vector2D
* misc: fixup some includes