Narrow retained canvas stroke execution helpers

This commit is contained in:
2026-06-13 06:52:09 +02:00
parent d2fb4057ab
commit 33e62a1c4a
7 changed files with 418 additions and 127 deletions

View File

@@ -1,7 +1,7 @@
# Modernization Debt Log
Status: live
Last updated: 2026-06-06
Last updated: 2026-06-13
Every shortcut, temporary adapter, retained vendored dependency, skipped
platform gate, compatibility shim, or incomplete automation path must be
@@ -18,6 +18,16 @@ agent or engineer to remove them without reconstructing context from chat.
## Recent Reductions
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::stroke_commit` retained
commit input texture/sampler binding, erase/composite draw dispatch,
committed-copy-to-dilate-source, and dilate draw now route through
`legacy_canvas_stroke_commit_services.h`; Canvas still owns history
readback, `ActionStroke` population, layer dirty-box mutation, and retained
RTT/framebuffer ownership.
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::stroke_draw` pad-pass
dirty-face iteration, pad-region planning, and NDC quad assembly now route
through a retained stroke execution helper callback boundary; Canvas still
owns framebuffer copies, brush-shape uploads, and draw execution.
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::stroke_draw` current and
dual stroke frame-face traversal now routes through the retained stroke
execution helper; framebuffer binding, shader uniform timing, dirty-box

View File

@@ -1,7 +1,7 @@
# PanoPainter Modernization Roadmap
Status: live
Last updated: 2026-06-12
Last updated: 2026-06-13
This is the living roadmap for modernizing PanoPainter into independently
testable C++23 components while retaining all existing functionality. Keep this
@@ -3083,6 +3083,15 @@ Results:
execution helper wrapping `pp_paint_renderer`, while pad color selection,
dirty-face iteration, framebuffer copies, quad upload, and draw execution
remain retained.
- `Canvas::stroke_draw` pad-pass dirty-face iteration, pad-region planning, and
NDC quad assembly now share a retained stroke execution helper callback
boundary, while Canvas still owns framebuffer copies, brush-shape uploads,
and draw execution.
- `Canvas::stroke_commit` retained commit input texture/sampler binding,
erase/composite draw dispatch, committed-copy to the dilate scratch texture,
and dilate draw now share `legacy_canvas_stroke_commit_services.h`; history
readback, `ActionStroke` population, layer dirty-box mutation, and retained
RTT/framebuffer ownership remain in the legacy Canvas path.
- `Canvas::stroke_draw_compute` frame planning now shares the retained stroke
execution helper for brush-quad construction, mixer feedback bounds, 2D/3D
projection selection intent, and frame assembly, while legacy projection

View File

@@ -1,7 +1,7 @@
# Modernization Task Tracker
Status: live
Last updated: 2026-06-12
Last updated: 2026-06-13
This file turns the modernization roadmap into small, measurable work items.
The roadmap explains direction, the debt log explains why shortcuts remain, and
@@ -509,6 +509,11 @@ Done Checks:
Progress Notes:
- 2026-06-13: `Canvas::stroke_commit` now routes retained commit input
texture/sampler binding, erase/composite draw dispatch, committed-copy, and
dilate draw through `legacy_canvas_stroke_commit_services.h`; history
readback, `ActionStroke` population, and layer dirty-box mutation remain
local to Canvas.
- 2026-06-13: `pp_paint_renderer` owns tested Canvas stroke commit sequencing
and commit texture slot intent. Next slice should wire
`legacy_canvas_stroke_commit_services.h` into `Canvas::stroke_commit` while