Route canvas stroke material decisions through planner

This commit is contained in:
2026-06-12 22:16:14 +02:00
parent 81726d30a5
commit 6cce9dd726
4 changed files with 55 additions and 19 deletions

View File

@@ -18,6 +18,12 @@ agent or engineer to remove them without reconstructing context from chat.
## Recent Reductions
- 2026-06-12: DEBT-0036 was narrowed again. Live `Canvas::stroke_draw`,
stroke commit, and draw-merge paths now consume `CanvasStrokeMaterialPlan`
through `plan_legacy_canvas_stroke_material` for destination feedback,
each-sample pattern, dual-brush, and final composite material decisions.
Retained OpenGL draw calls and `NodeStrokePreview` still duplicate execution
and preview material wiring.
- 2026-06-12: DEBT-0036 was narrowed again. Live `Canvas::stroke_draw`
destination feedback now consumes a named `CanvasStrokeRasterizationPlan`
through `plan_legacy_canvas_stroke_rasterization`, and `pp_paint_renderer`

View File

@@ -1339,8 +1339,10 @@ services: `Canvas::stroke_draw` now consumes a named
`CanvasStrokeRasterizationPlan` through a legacy adapter boundary for
destination feedback/copy decisions, and `pp_paint_renderer` owns pure
stroke material/pass planning for pattern, mixer, dual-brush, and final
composite texture/uniform intent. Actual retained OpenGL draw execution remains
in `Canvas` under `DEBT-0036`.
composite texture/uniform intent. Live `Canvas::stroke_draw`, stroke commit,
and draw-merge paths consume that material plan for destination feedback,
each-sample pattern, dual-brush, and final composite decisions. Actual retained
OpenGL draw execution and preview material wiring remain 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,