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 @@
# 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