Isolate draw merge background shader setup

This commit is contained in:
2026-06-13 04:59:48 +02:00
parent a9d3c63ee0
commit 65d084ad8e
4 changed files with 89 additions and 9 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::draw_merge` checkerboard
background shader setup and final merged-texture redraw setup now route
through `legacy_canvas_draw_merge_services.h`. The retained Canvas path still
owns draw-merge layer iteration, blend-gate branching, framebuffer copies,
sampler/texture binding, and draw ordering.
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::layer_merge` now reuses
`legacy_canvas_stroke_composite_services.h` for retained layer-merge
`kShader::CompDraw` binding and source/destination blend uniform writes.

View File

@@ -2988,6 +2988,10 @@ Results:
for its source-over-destination `CompDraw` uniform setup, while keeping the
existing layer dirty mutation, framebuffer copy, texture binding, and draw
order local to the Canvas layer-merge path.
- `Canvas::draw_merge` now shares a retained draw-merge shader setup helper for
checkerboard backgrounds and the final merged texture redraw over the grid;
layer traversal, blend destination copies, sampler/texture binding, and draw
ordering remain in the legacy Canvas path.
- Canvas thumbnail layer blending now uses the same canvas destination-feedback
plan for framebuffer-fetch versus texture-copy decisions; the thumbnail draw
itself still executes through retained OpenGL canvas code under DEBT-0036.