diff --git a/docs/modernization/debt.md b/docs/modernization/debt.md index 594663b..61a988a 100644 --- a/docs/modernization/debt.md +++ b/docs/modernization/debt.md @@ -92,6 +92,8 @@ agent or engineer to remove them without reconstructing context from chat. - 2026-06-13: `LATER-003` was narrowed again. The retained stroke mix shell now also has isolated executor regression coverage in `retained_stroke_mix_pass_shell_executor_preserves_combined_wiring`. +- 2026-06-13: `LATER-003` was narrowed again. `Canvas::stroke_draw_mix()` + no longer computes an unused mix-plane plan in the live shell path. - 2026-06-13: `DEBT-0036` was narrowed again. `NodeStrokePreview::draw_stroke_immediate()` now routes final composite execution and preview copy-back through a retained local wrapper, leaving the call site with only sequence wiring. diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index 852878d..0ff789f 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -635,6 +635,9 @@ Progress Notes: - 2026-06-13: `retained_stroke_mix_pass_shell_executor_preserves_combined_wiring` now covers the direct shell executor path separately, keeping the shell boundary regression isolated from the builder coverage. +- 2026-06-13: `Canvas::stroke_draw_mix()` no longer computes an unused mix-plane + plan in the live shell path; the remaining code is the retained shell setup + and executor call. - 2026-06-13: `Canvas::stroke_draw_samples()` now reuses a retained destination texture dispatch helper for the live sample path; `Canvas` still owns the concrete face textures and callback execution. diff --git a/src/canvas.cpp b/src/canvas.cpp index f91ed37..1a9e7d7 100644 --- a/src/canvas.cpp +++ b/src/canvas.cpp @@ -394,14 +394,6 @@ void Canvas::stroke_draw_mix(const glm::vec2& bb_min, const glm::vec2& bb_sz) auto& current_layer = *m_layers[layer_index]; std::array plane_transform {}; std::copy(std::begin(m_plane_transform), std::end(m_plane_transform), plane_transform.begin()); - const auto mix_planes = pp::panopainter::plan_legacy_canvas_stroke_mix_pass_planes( - current_layer.m_visible, - current_layer.m_opacity, - glm::scale(glm::vec3(1, -1, 1)) * m_proj * m_mv, - plane_transform, - [&](int plane_index) { - return current_layer.face(plane_index); - }); const auto mix_shell = pp::panopainter::make_legacy_canvas_stroke_mix_pass_shell( [&] { m_mixer.bindFramebuffer(); @@ -422,7 +414,6 @@ void Canvas::stroke_draw_mix(const glm::vec2& bb_min, const glm::vec2& bb_sz) mix_shell.setup.begin, mix_shell.setup.end, mix_shell.request); - (void)mix_planes; gl.restore(); }