From 7e8be835f5e9dd58fc2431ab179da4bd62e58a03 Mon Sep 17 00:00:00 2001 From: omigamedev Date: Sat, 13 Jun 2026 23:06:10 +0200 Subject: [PATCH] Promote stroke draw dual pass frame callback task --- docs/modernization/tasks.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index 7e1bebd..9c21715 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -701,6 +701,34 @@ Validation: ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_compositor|pp_paint_renderer_stroke_execution" --output-on-failure ``` +### STR-024 - Extract Stroke Draw Dual Pass Frame Callback Body + +Status: Ready +Score: +1 renderer boundary and OpenGL parity +Debt: `DEBT-0036` +Scope: `src/canvas.cpp`, `src/legacy_canvas_stroke_execution_services.h`, `tests/paint_renderer/compositor_tests.cpp` + +Goal: + +Move the inline body passed to `execute_legacy_canvas_stroke_dual_pass_frame_callbacks(...)` +into a retained helper so the dual-pass branch owns only concrete callback +selection and framebuffer wiring. + +Done Checks: + +- `Canvas::stroke_draw()` no longer contains the inline dual-pass frame + callback body. +- Regression coverage proves the extracted helper preserves callback order and + face-state updates. +- `docs/modernization/debt.md` records the reduced dual-pass frame-callback + surface. + +Validation: + +```powershell +ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_compositor|pp_paint_renderer_stroke_execution" --output-on-failure +``` + Progress Notes: - 2026-06-13: `NodeStrokePreview::draw_stroke_immediate()` now routes final