Thin canvas draw seams and own grid worker

This commit is contained in:
2026-06-16 07:25:57 +02:00
parent 3366b54c7f
commit 17b603536b
7 changed files with 179 additions and 112 deletions

View File

@@ -18,6 +18,22 @@ agent or engineer to remove them without reconstructing context from chat.
## Reductions
- 2026-06-16: `DEBT-0036` was narrowed again. `NodeCanvas` smoothing-mask
overlay draw, smoothing-mask face pass, grid keepalive draw, heightmap draw,
and current-mode draw now route through
`execute_legacy_canvas_draw_merge_post_draw(...)` in
`src/legacy_canvas_draw_merge_services.h` instead of living inline in
`NodeCanvas::draw()`; broader canvas draw orchestration and retained GL
resource ownership remain.
- 2026-06-16: `DEBT-0036` was narrowed again. The retained
`NodePanelGrid::bake_uvs()` worker now uses scoped `std::jthread` ownership
instead of a raw local `std::thread`; retained bake execution, progress-loop
polling, and grid rendering ownership remain.
- 2026-06-16: `DEBT-0017` was narrowed again.
`LegacyPlatformServices::prepare_storage_paths()` now routes Apple storage
path setup through a local helper instead of reading `App::I` directly in
the method body; the retained Apple fallback adapter and broader
platform-to-app singleton reach remain.
- 2026-06-16: `DEBT-0036` was narrowed again. `NodeStrokePreview` background
preview execution now owns its worker as `std::jthread` with explicit stop,
unblock, and join semantics instead of a raw `std::thread`; retained queue