Share retained stroke mix pass helper

This commit is contained in:
2026-06-13 10:54:28 +02:00
parent 87e51c37be
commit 3d4d0f99d1
5 changed files with 164 additions and 43 deletions

View File

@@ -28,6 +28,11 @@ agent or engineer to remove them without reconstructing context from chat.
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. `Canvas::stroke_draw_mix()` now
routes visible-plane filtering, retained sampler/texture-slot binding, and
final plane draw ordering through `execute_legacy_canvas_stroke_mix_pass(...)`;
mixer framebuffer/state setup and per-plane shader material/MVP preparation
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;

View File

@@ -3128,6 +3128,11 @@ Results:
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.
- `Canvas::stroke_draw_mix()` now shares
`execute_legacy_canvas_stroke_mix_pass(...)` for visible-plane filtering,
retained sampler/texture-slot binding, and final plane draw ordering, while
mixer framebuffer/state setup and per-plane shader material/MVP preparation
remain 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

View File

@@ -509,6 +509,13 @@ Done Checks:
Progress Notes:
- 2026-06-13: `Canvas::stroke_draw_mix()` now routes visible-plane filtering,
retained sampler/texture-slot binding, and final plane draw ordering through
`execute_legacy_canvas_stroke_mix_pass(...)`; mixer framebuffer/state setup
and per-plane shader material/MVP preparation remain local to `Canvas`. Next
slice should target the remaining `stroke_draw_samples()` callback body or
any final temporary-texture composite setup without reopening landed
sample, sampler, dirty, face, or pad helpers.
- 2026-06-13: `pp_paint_renderer_stroke_execution_tests` now also covers
retained preview background capture ordering, final composite ordering, and
preview texture-copy bind-before-copy behavior via