Plan stroke commit sequencing

This commit is contained in:
2026-06-13 04:51:16 +02:00
parent cc67159784
commit b889f26443
7 changed files with 337 additions and 0 deletions

View File

@@ -18,6 +18,14 @@ agent or engineer to remove them without reconstructing context from chat.
## Recent Reductions
- 2026-06-13: DEBT-0036 was narrowed again. `pp_paint_renderer` now owns a
tested `CanvasStrokeCommitSequencePlan` for `Canvas::stroke_commit`
readback, dirty-state, scratch-copy, erase/composite draw, committed-copy,
dilate order, and commit texture slot roles. A retained
`legacy_canvas_stroke_commit_services.h` adapter skeleton consumes the
semantic plan through callbacks, but the live Canvas commit body still owns
history/layer mutation, RTT/framebuffer binding, sampler binding, and final
OpenGL execution until the adapter is wired.
- 2026-06-13: DEBT-0036 was narrowed again. `NodeStrokePreview::stroke_draw_mix`
now reuses `legacy_canvas_stroke_composite_services.h` for mixer-pass
`kShader::CompDraw` binding and composite/pattern/dual uniform writes.

View File

@@ -2974,6 +2974,12 @@ Results:
`pp_paint_renderer` stroke-feedback plan to decide whether framebuffer fetch
supplies destination color or the legacy OpenGL path must copy the target
texture before drawing.
- Canvas stroke commit ordering now has a tested `pp_paint_renderer`
`CanvasStrokeCommitSequencePlan` for history readback, dirty-state update,
scratch copies, erase/composite draw selection, dilate, and texture slot
roles. A retained commit adapter skeleton consumes that semantic sequence,
while the live Canvas body still owns history/layer mutation and OpenGL
execution until the next wiring slice.
- Canvas thumbnail layer blending now uses the same canvas destination-feedback
plan for framebuffer-fetch versus texture-copy decisions; the thumbnail draw
itself still executes through retained OpenGL canvas code under DEBT-0036.

View File

@@ -507,6 +507,13 @@ Done Checks:
- Retained stroke OpenGL execution is deleted or isolated as an OpenGL backend
implementation.
Progress Notes:
- 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
keeping history/layer mutation local.
### LATER-004 - Remove Catch-All Platform Legacy Adapter
Status: Blocked