From dd68c5de894c280a962386cd542734c210728490 Mon Sep 17 00:00:00 2001 From: omigamedev Date: Sat, 13 Jun 2026 19:03:24 +0200 Subject: [PATCH] Collapse draw merge layer composite shell --- docs/modernization/debt.md | 4 ++++ docs/modernization/tasks.md | 5 +++++ src/canvas.cpp | 15 ++++++++++++++- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/docs/modernization/debt.md b/docs/modernization/debt.md index a2ca44f..3b9b946 100644 --- a/docs/modernization/debt.md +++ b/docs/modernization/debt.md @@ -89,6 +89,10 @@ agent or engineer to remove them without reconstructing context from chat. the remaining temporary erase and paint callback bundle through `execute_legacy_canvas_draw_merge_temporary_composite(...)`; branch selection remains in `Canvas`. +- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::draw_merge()` now routes + the layer-composite shell through a local wrapper around + `execute_legacy_canvas_draw_merge_layer_composite(...)`; the final branch + selection remains in `Canvas`. - 2026-06-13: DEBT-0036 was narrowed again. `NodeStrokePreview::draw_stroke_immediate()` now routes retained preview feedback/material/composite planning plus stroke shader uniform assembly through diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index 77d0388..63762e3 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -670,6 +670,11 @@ Progress Notes: `execute_legacy_canvas_draw_merge_temporary_composite(...)`; only the branch selection remains inline. Next slice should target another narrow draw-merge seam without reopening the landed temporary-composite helper. +- 2026-06-13: `Canvas::draw_merge()` now routes the layer-composite shell + through a local wrapper around + `execute_legacy_canvas_draw_merge_layer_composite(...)`; only the final + branch selection remains inline. Next slice should target another narrow + draw-merge seam without reopening the landed temporary-composite helper. - 2026-06-13: `pp_paint_renderer_stroke_execution_tests` now also covers retained frame-plan assembly for previous-sample projection mode and zoom scaling. Next slice should target the remaining preview/Canvas stroke diff --git a/src/canvas.cpp b/src/canvas.cpp index e16f148..b423f6a 100644 --- a/src/canvas.cpp +++ b/src/canvas.cpp @@ -555,6 +555,19 @@ std::array, 6> Canvas::stroke_draw_project(std::array& P, @@ -1429,7 +1442,7 @@ void Canvas::draw_merge(bool draw_checkerboard, std::array faces /*= SI m_merge_rtt.clear(); } - pp::panopainter::execute_legacy_canvas_draw_merge_layer_composite( + execute_canvas_draw_merge_layer_composite( m_current_stroke && m_current_mode == kCanvasMode::Erase && m_show_tmp && m_current_layer_idx == layer_index, m_current_stroke && m_show_tmp && m_current_layer_idx == layer_index, use_blend,