Isolate legacy stroke shader setup

This commit is contained in:
2026-06-12 22:35:07 +02:00
parent 33f21e0a1b
commit 6c58b6bb5d
5 changed files with 262 additions and 75 deletions

View File

@@ -18,12 +18,19 @@ agent or engineer to remove them without reconstructing context from chat.
## Recent Reductions
- 2026-06-12: DEBT-0036 was narrowed again. Canvas and `NodeStrokePreview`
live stroke passes now route retained `kShader::Stroke` binding plus setup,
blend, pattern, and per-sample uniform writes through
`legacy_canvas_stroke_shader_services.h`. RTT/texture ownership,
dirty-box policy, composite/pad/checkerboard shaders, and retained callback
execution remain in the legacy callers until the stroke backend is owned by
renderer services.
- 2026-06-12: DEBT-0036 was narrowed again. Canvas and `NodeStrokePreview`
stroke sample execution now delegate optional destination copy, brush vertex
upload, brush-shape draw, and destination unbind through
`execute_legacy_canvas_stroke_sample`. Shader setup, uniforms, RTT/texture
ownership, dirty-box policy, and retained callback execution remain in the
legacy callers until a renderer-owned stroke backend replaces the adapter.
`execute_legacy_canvas_stroke_sample`. Shader setup, RTT/texture ownership,
dirty-box policy, and retained callback execution remain in the legacy callers
until a renderer-owned stroke backend replaces the adapter.
- 2026-06-12: DEBT-0036 was narrowed again. `NodeStrokePreview` now consumes
the same `CanvasStrokeMaterialPlan` boundary for preview dual-brush,
each-sample pattern, and composite material decisions. Preview GL draw calls,

View File

@@ -1346,9 +1346,11 @@ each-sample pattern, dual-brush, and final composite decisions, and
Canvas and `NodeStrokePreview` stroke sample execution also delegate optional
destination copy, brush vertex upload, brush-shape draw, and destination unbind
through `execute_legacy_canvas_stroke_sample`, creating the first retained
OpenGL stroke execution service seam. Shader setup, uniforms, RTT/texture
ownership, dirty-box policy, and retained callback execution remain under
`DEBT-0036`.
OpenGL stroke execution service seam. Live stroke `kShader::Stroke` binding,
setup, blend, pattern, and per-sample uniform writes now pass through
`legacy_canvas_stroke_shader_services.h`, leaving RTT/texture ownership,
dirty-box policy, composite/pad/checkerboard shaders, and retained callback
execution under `DEBT-0036`.
It also owns renderer API texture-format to
OpenGL internal/pixel/component token mapping, including depth-stencil formats,
for future backend texture objects. `Texture2D` 2D texture binding, upload,