Route stroke commit sequence through adapter

This commit is contained in:
2026-06-13 04:54:58 +02:00
parent b889f26443
commit 5838a8f4ce
3 changed files with 202 additions and 176 deletions

View File

@@ -18,6 +18,13 @@ agent or engineer to remove them without reconstructing context from chat.
## Recent Reductions
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::stroke_commit` now routes
its retained per-face commit order through
`execute_legacy_canvas_stroke_commit_sequence`, consuming the tested
`CanvasStrokeCommitSequencePlan` while keeping history `ActionStroke`
mutation, layer dirty state, RTT/framebuffer binding, shader execution, and
sampler/texture binding inside Canvas callbacks. The adapter remains retained
until stroke commit execution is owned by the renderer backend implementation.
- 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,

View File

@@ -2980,6 +2980,10 @@ Results:
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.
- Live `Canvas::stroke_commit` now consumes that semantic commit sequence
through retained callbacks, so the legacy body no longer owns the loop order
directly. The callbacks still execute the existing OpenGL RTT, texture,
sampler, shader, history, and layer mutation work under DEBT-0036.
- 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.