Extract Canvas draw_merge layer blend helper

This commit is contained in:
2026-06-13 11:26:48 +02:00
parent 51458ad0e7
commit 499747173b
5 changed files with 102 additions and 40 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::draw_merge()` per-layer
blend composite now routes merge-RTT unbind, shader setup, optional
destination-copy feedback, draw, and cleanup ordering through
`execute_legacy_canvas_draw_merge_layer_blend(...)`; layer iteration,
temporary-stroke branch selection, framebuffer copies, sampler/texture
object callbacks, and final merged-plane ownership remain retained in
`Canvas`.
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::draw_merge()` erase live
temporary-stroke composite now routes retained setup, sampler bind, texture
bind, draw, and texture unbind ordering through

View File

@@ -3145,6 +3145,11 @@ Results:
`execute_legacy_canvas_stroke_temporary_composite(...)`, leaving only the
concrete GL object callbacks and broader final composite ownership in the
legacy Canvas path.
- `Canvas::draw_merge()` per-layer blend composite now routes merge-RTT
unbind, shader setup, optional destination-copy feedback, draw, and cleanup
ordering through `execute_legacy_canvas_draw_merge_layer_blend(...)`, while
temporary-stroke branch selection, framebuffer copies, and final merged-plane
ownership remain in the legacy Canvas path.
- `NodeStrokePreview::draw_stroke_immediate()` now shares
`execute_legacy_node_stroke_preview_pass_sequence(...)` for
dual-pass/background/main-pass/final-composite/copy-back ordering, while the

View File

@@ -509,6 +509,15 @@ Done Checks:
Progress Notes:
- 2026-06-13: `Canvas::draw_merge()` per-layer blend composite now routes
merge-RTT unbind, shader setup, optional destination-copy feedback, draw,
and cleanup ordering through
`execute_legacy_canvas_draw_merge_layer_blend(...)`; temporary-stroke
branch selection, layer iteration, and final merged-plane redraw ownership
remain local to `Canvas`. Next slice should target the remaining end-of-plane
merged-texture copy/grid/final-redraw seam or another similarly narrow final
composite boundary without reopening landed temporary-composite or
per-layer blend helpers.
- 2026-06-13: `Canvas::draw_merge()` erase live temporary-stroke composite now
routes retained setup, sampler bind, texture bind, draw, and texture unbind
ordering through `execute_legacy_canvas_stroke_temporary_composite(...)`;