Route canvas blend gate through paint renderer

This commit is contained in:
2026-06-03 18:14:37 +02:00
parent 2ec11e5099
commit a89f5e6cf2
5 changed files with 118 additions and 13 deletions

View File

@@ -873,8 +873,11 @@ stroke composite plan that decides whether a stroke/layer blend can use
fixed-function blending or needs framebuffer-fetch/ping-pong destination
feedback. `pano_cli plan-stroke-composite` exposes the same decision for
automation, including layer blend, stroke blend, dual-brush, and pattern-blend
inputs. Live canvas stroke execution is still legacy OpenGL and remains tracked
by DEBT-0036 until the app calls through this paint-renderer boundary.
inputs. Live `Canvas::draw_merge` now uses this planner for its existing
shader-blend gate for layer and primary-brush blend modes while preserving the
legacy trigger policy; actual canvas stroke execution, dual-brush feedback, and
pattern feedback are still legacy OpenGL and remain tracked by DEBT-0036 until
the app calls through renderer services for the whole compositing path.
The existing renderer classes are not yet fully
behind the renderer interfaces.
@@ -1595,6 +1598,10 @@ Results:
- Canvas layer merge rendering and explicit layer-merge compositing now route
depth/blend state, active texture units, fallback 2D texture unbinds, and
merge framebuffer copy targets through the renderer GL backend mapping.
- Canvas draw-merge shader-blend selection now consumes the extracted
`pp_paint_renderer` stroke composite planner for current layer and primary
brush blend modes, while preserving legacy OpenGL compositing execution under
DEBT-0036.
- Canvas equirectangular import drawing and depth export rendering now route
depth/blend state and active texture units through the renderer GL backend
mapping.