Share retained stroke sample and mix helpers

This commit is contained in:
2026-06-13 10:46:58 +02:00
parent 2fadfdcd3e
commit 78790e9b52
6 changed files with 145 additions and 48 deletions

View File

@@ -23,6 +23,16 @@ agent or engineer to remove them without reconstructing context from chat.
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. `Canvas::stroke_draw_samples()`
now routes polygon triangulation, sample-point assembly, and retained
destination-copy / upload / draw helper handoff through
`execute_legacy_canvas_stroke_sample_polygon(...)`; direct GL callback
wiring and remaining live draw ownership remain retained in `Canvas`.
- 2026-06-13: DEBT-0036 was narrowed again. `NodeStrokePreview::stroke_draw_mix()`
now routes mixer framebuffer bind/unbind, viewport/scissor/blend state,
texture-slot binding, and final plane draw through one local helper;
material planning and shader uniform setup remain retained in the preview
node.
- 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

@@ -3123,6 +3123,15 @@ Results:
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_samples()` now shares
`execute_legacy_canvas_stroke_sample_polygon(...)` for polygon
triangulation, sample-point assembly, and retained destination-copy / upload
/ draw helper handoff, while direct GL callback wiring and the remaining
live draw ownership stay in the legacy Canvas path.
- `NodeStrokePreview::stroke_draw_mix()` now shares one local helper for mixer
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.
- `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,20 @@ Done Checks:
Progress Notes:
- 2026-06-13: `Canvas::stroke_draw_samples()` now routes polygon
triangulation, sample-point assembly, and the retained destination-copy /
upload / draw helper handoff through
`execute_legacy_canvas_stroke_sample_polygon(...)`; direct GL callback
wiring and the remaining live draw ownership stay local to `Canvas`. Next
slice should target the remaining callback body or final temporary-texture
composite setup without reopening the landed sampler, dirty, face, or pad
helpers.
- 2026-06-13: `NodeStrokePreview::stroke_draw_mix()` now routes mixer
framebuffer bind/unbind, viewport/scissor/blend state, texture-slot binding,
and final plane draw through one local helper; material planning and shader
uniform setup remain local to the preview node. Next slice should target the
remaining mix-pass material/setup orchestration without reopening the landed
preview live-pass, binding, sample, or final composite helpers.
- 2026-06-13: `pp_paint_renderer_stroke_execution_tests` now also covers
retained texture-dispatch activation order and sampler-dispatch routing
across brush tip, destination, pattern, and mixer helper inputs. Next test