Share retained stroke preview mix executor

This commit is contained in:
2026-06-13 11:16:27 +02:00
parent f513500b3c
commit dc2d678dac
6 changed files with 250 additions and 59 deletions

View File

@@ -18,6 +18,11 @@ agent or engineer to remove them without reconstructing context from chat.
## Recent Reductions
- 2026-06-13: DEBT-0036 was narrowed again. `NodeStrokePreview::stroke_draw_mix()`
now routes retained mix-pass shader setup plus framebuffer/state/input/draw
ordering through `execute_legacy_node_stroke_preview_mix_pass(...)`; the
preview node keeps only the concrete GL save/restore, texture-object bind,
and plane-draw callbacks.
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::stroke_draw` live-pass
sampler bind/unbind plus semantic texture-input dispatch now route through
retained stroke execution helpers; concrete GL object mapping, framebuffer

View File

@@ -3150,6 +3150,11 @@ Results:
framebuffer bind/unbind, viewport/scissor/blend state, texture-slot
binding, and final plane draw, while material planning and shader uniform
setup remain in the preview node.
- `NodeStrokePreview::stroke_draw_mix()` now routes retained mix-pass shader
setup plus framebuffer/state/input/draw ordering through
`execute_legacy_node_stroke_preview_mix_pass(...)`, while the preview node
keeps only the concrete GL save/restore, texture-object bind, and plane-draw
callbacks.
- `pp_paint_renderer_stroke_execution_tests` now covers retained stroke texture
input binding order, sample execution destination-copy behavior, live-pass
face-framebuffer dirty tracking, and pad-face destination-copy behavior

View File

@@ -509,6 +509,14 @@ Done Checks:
Progress Notes:
- 2026-06-13: `NodeStrokePreview::stroke_draw_mix()` now routes retained
mix-pass shader setup plus framebuffer/state/input/draw ordering through
`execute_legacy_node_stroke_preview_mix_pass(...)`, with compositor coverage
locking the retained callback order and shader-plan handoff. The preview node
keeps only the concrete GL save/restore, texture-object bind, and plane-draw
callbacks. Next slice should target another retained preview or canvas stroke
seam without reopening the landed preview sample, material-planning,
pass-sequence, or final-composite helpers.
- 2026-06-13: `NodeStrokePreview::draw_stroke_immediate()` now routes
dual-pass/background/main-pass/final-composite/copy-back ordering through
`execute_legacy_node_stroke_preview_pass_sequence(...)`; the remaining local