Share retained stroke face sample dispatch
This commit is contained in:
@@ -33,6 +33,11 @@ agent or engineer to remove them without reconstructing context from chat.
|
||||
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. `Canvas::stroke_draw_samples()`
|
||||
now routes face-indexed destination bind/copy/unbind and brush upload/draw
|
||||
through `execute_legacy_canvas_stroke_face_sample_polygon(...)`; the
|
||||
retained sample executor owns the face-aware dispatch contract while
|
||||
`Canvas` keeps only concrete GL object callbacks.
|
||||
- 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;
|
||||
|
||||
@@ -3133,6 +3133,10 @@ Results:
|
||||
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.
|
||||
- `Canvas::stroke_draw_samples()` now shares
|
||||
`execute_legacy_canvas_stroke_face_sample_polygon(...)` for face-indexed
|
||||
destination bind/copy/unbind and brush upload/draw dispatch, while concrete
|
||||
GL object callbacks 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
|
||||
|
||||
@@ -509,6 +509,13 @@ Done Checks:
|
||||
|
||||
Progress Notes:
|
||||
|
||||
- 2026-06-13: `Canvas::stroke_draw_samples()` now routes face-indexed
|
||||
destination bind/copy/unbind and brush upload/draw through
|
||||
`execute_legacy_canvas_stroke_face_sample_polygon(...)`; the retained sample
|
||||
executor now owns the face-aware dispatch contract while `Canvas` keeps only
|
||||
the concrete GL object callbacks. Next slice should target any remaining
|
||||
final temporary-texture composite setup without reopening landed sample,
|
||||
mix, sampler, dirty, face, or pad helpers.
|
||||
- 2026-06-13: `pp_paint_renderer_stroke_execution_tests` now also covers
|
||||
direct retained frame-sample callback ordering plus
|
||||
`execute_legacy_canvas_stroke_frame_samples_with_dirty_tracking(...)`
|
||||
|
||||
Reference in New Issue
Block a user