chore(evidence): add wave 1 scale-update research evidence

- task-2: fractional-scale-v1 research notes for client surfaces
- task-3: fractional-scale-v1 research notes for layer surfaces + transparency/blur notes
This commit is contained in:
2026-07-05 21:36:58 -04:00
parent 4e388d9f4f
commit 7dfed7bd27
3 changed files with 38 additions and 0 deletions
@@ -0,0 +1,16 @@
Task: 2. Create client_update_scale(Client *c) function
Date: 2026-07-06
Status: COMPLETED
Changes:
- include/client.h:133 — declaration added
- src/client.c:418-442 — implementation with current_outputs max scale iteration
- Guards: null client, unmapped surface → return
- Iterates current_outputs for max scale across visible outputs
- Fallback to c->mon->wlr_output->scale or 1.0f
- Safety guard: scale <= 0.0f → return
- fabsf tolerance check before notify
- Calls both wlr_fractional_scale_v1_notify_scale + wlr_surface_set_preferred_buffer_scale(ceilf)
- src/peachwm.c:995 — c->current_scale initialized after client_set_scale() in commitnotify()
Verification: make debug — compiles cleanly, zero warnings
+11
View File
@@ -0,0 +1,11 @@
## task-3-transparency-blur
### Field added
- File: include/client.h
- Line 39: `struct wlr_scene_blur *blur;`
- Placement: after `struct wlr_scene_shadow *shadow;` (line 38)
### Context
- Forward declaration not needed — definition provided by `<scenefx/types/wlr_scene.h>` through monitor.h include chain.
- Field initialized to NULL by ecalloc in createnotify (peachwm.c:1245).
- No `#include` directives added.
@@ -0,0 +1,11 @@
Task: 3. Create layersurface_update_scale(LayerSurface *l) function
Date: 2026-07-06
Status: COMPLETED
Changes:
- src/peachwm.c:912-941 — static function with current_outputs max scale iteration
- Guards, current_outputs iteration, fallback, safety guard, fabsf check
- Marked __attribute__((unused)) until wired in later task
- src/peachwm.c:952 — l->current_scale initialized after client_set_scale() in commitlayersurfacenotify() initial-commit path
Verification: make debug — compiles cleanly, zero warnings