From 748bec9486f3a48d8902f20047b8e1afe6c0457b Mon Sep 17 00:00:00 2001 From: omigamedev Date: Sat, 13 Jun 2026 19:04:48 +0200 Subject: [PATCH] Wrap remaining draw merge callbacks --- docs/modernization/debt.md | 4 ++++ docs/modernization/tasks.md | 4 ++++ src/canvas.cpp | 27 ++++++++++++++++++++++++--- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/docs/modernization/debt.md b/docs/modernization/debt.md index 3b9b946..01d2dd8 100644 --- a/docs/modernization/debt.md +++ b/docs/modernization/debt.md @@ -93,6 +93,10 @@ agent or engineer to remove them without reconstructing context from chat. 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. `Canvas::draw_merge()` now routes + the layer texture, layer blend, and final-plane composite callbacks through + local wrappers around the retained helpers; only branch selection glue + remains in the legacy Canvas path. - 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 63762e3..9d069e6 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -675,6 +675,10 @@ Progress Notes: `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: `Canvas::draw_merge()` now routes the layer texture, layer blend, + and final-plane composite callbacks through local wrappers around the + retained helpers; the remaining work in this lane is now just branch + selection glue. - 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 b423f6a..4fd65fc 100644 --- a/src/canvas.cpp +++ b/src/canvas.cpp @@ -568,6 +568,27 @@ static void execute_canvas_draw_merge_layer_composite( execution); } +static void execute_canvas_draw_merge_layer_texture( + const pp::panopainter::LegacyCanvasDrawMergeTextureAlphaUniforms& uniforms, + const pp::panopainter::LegacyCanvasDrawMergeLayerTextureExecution& execution) +{ + pp::panopainter::execute_legacy_canvas_draw_merge_layer_texture(uniforms, execution); +} + +static void execute_canvas_draw_merge_layer_blend( + const pp::panopainter::LegacyCanvasDrawMergeLayerBlendUniforms& uniforms, + const pp::panopainter::LegacyCanvasDrawMergeLayerBlendExecution& execution) +{ + pp::panopainter::execute_legacy_canvas_draw_merge_layer_blend(uniforms, execution); +} + +static void execute_canvas_draw_merge_final_plane_composite( + const pp::panopainter::LegacyCanvasDrawMergeFinalPlaneCompositeUniforms& uniforms, + const pp::panopainter::LegacyCanvasDrawMergeFinalPlaneCompositeExecution& execution) +{ + pp::panopainter::execute_legacy_canvas_draw_merge_final_plane_composite(uniforms, execution); +} + glm::vec4 Canvas::stroke_draw_samples( int i, std::vector& P, @@ -1560,7 +1581,7 @@ void Canvas::draw_merge(bool draw_checkerboard, std::array faces /*= SI }); }, .execute_layer_texture = [&] { - pp::panopainter::execute_legacy_canvas_draw_merge_layer_texture( + execute_canvas_draw_merge_layer_texture( pp::panopainter::LegacyCanvasDrawMergeTextureAlphaUniforms { .mvp = ortho, .texture_slot = 0, @@ -1584,7 +1605,7 @@ void Canvas::draw_merge(bool draw_checkerboard, std::array faces /*= SI }); }, .execute_layer_blend = [&] { - pp::panopainter::execute_legacy_canvas_draw_merge_layer_blend( + execute_canvas_draw_merge_layer_blend( pp::panopainter::LegacyCanvasDrawMergeLayerBlendUniforms { .shader = { .mvp = ortho, @@ -1633,7 +1654,7 @@ void Canvas::draw_merge(bool draw_checkerboard, std::array faces /*= SI if (use_blend) { - pp::panopainter::execute_legacy_canvas_draw_merge_final_plane_composite( + execute_canvas_draw_merge_final_plane_composite( pp::panopainter::LegacyCanvasDrawMergeFinalPlaneCompositeUniforms { .checkerboard = { .mvp = ortho,