Share retained stroke sampler dispatch helpers

This commit is contained in:
2026-06-13 10:36:52 +02:00
parent 24c0452229
commit 0a5e7302bc
5 changed files with 309 additions and 69 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. `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
ownership, shader timing, and final draw execution remain retained in
`Canvas`.
- 2026-06-13: DEBT-0036 was narrowed again. `NodeStrokePreview::stroke_draw_samples`
now routes destination bind/unbind, framebuffer copy callback wrapping,
sample-point assembly, and brush-vertex upload/draw through one local helper;

View File

@@ -3119,6 +3119,10 @@ Results:
destination bind/unbind, framebuffer copy callback wrapping, sample-point
assembly, and brush-vertex upload/draw, while mixer-pass state execution and
higher-level pass orchestration remain in the preview node.
- `Canvas::stroke_draw` live-pass sampler bind/unbind plus semantic
texture-input dispatch now shares retained stroke execution helpers, while
concrete GL object mapping, framebuffer ownership, shader timing, and final
draw execution remain in the legacy Canvas path.
- `Canvas::stroke_draw` pad-pass destination bind/copy/unbind ordering now
shares the retained stroke execution helper callback surface, while shader
setup, pad color selection, framebuffer ownership, and final OpenGL draw

View File

@@ -509,6 +509,13 @@ Done Checks:
Progress Notes:
- 2026-06-13: `Canvas::stroke_draw` live-pass sampler bind/unbind plus
semantic texture-input dispatch now routes through retained stroke execution
helpers; concrete GL object mapping, framebuffer ownership, shader timing,
and final draw execution remain local to `Canvas`. Next slice should target
the remaining live draw execution boundary inside `stroke_draw_samples()` or
the final temporary-texture composite setup without reopening the landed
dirty, face-framebuffer, pad, or texture-intent helpers.
- 2026-06-13: `NodeStrokePreview::stroke_draw_samples()` now routes
destination bind/unbind, framebuffer copy callback wrapping, sample-point
assembly, and brush-vertex upload/draw through one local helper; mixer-pass