F11 dynamic shader parameter override verification
===================================================

Performed against the v215 shareable-looks + F11-modal base.

1. Real preset discovery
------------------------
The actual preset manifest
`hyprtile-songtitle-hollywood-heroangles-pack/slanted-cinema-mask.wallpaper`
was scanned using the current F11 catalog implementation. Result:

- passes: 1
- dynamically discovered numeric parameters: 26
- includes scalar values plus vec2/vec3 syntax
- examples verified: u_scale=2.55, u_rotation=-0.98,
  u_offset=0.00,0.00, u_edge_color=0.00,0.95,0.65

2. Config roundtrip
-------------------
A real app_config load -> save -> reload harness preserved:

- u_scale=3.20
- u_rotation=-0.72
- u_offset=0.10,-0.20

The generated config was validated as JSON.

3. .hyprlook roundtrip
----------------------
A real shader_look write -> read harness preserved:

- u_scale=3.20
- u_rotation=-0.72
- u_edge_color=0.10,0.75,1.00

The generated .hyprlook was validated as JSON.

4. Renderer override semantics
------------------------------
A harness compiled from the exact current wallpaperd override functions verified:

- pending --pack-param values are recorded before preset params are available
- u_scale scalar override replaces the loaded preset scalar
- u_offset vec2 override replaces both loaded components
- overrides are copied to all passes in the immediately preceding pack
- a vec2 override for a vec3 preset value is ignored rather than changing the
  runtime uniform arity
- NaN is rejected

5. Syntax checks
----------------
app_config.c, shader_look.c and overlay_hyprland_config.c pass targeted C syntax
checks with minimal SDL stubs in the test environment.

The full native HyprTile/wallpaperd build cannot be completed in this container
because the project's real Wayland/EGL/GLES/SDL3/FFmpeg/Pulse/FFTW development
dependencies are not installed. No claim of a full native build is made.
