diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index 9c21715..926b6fc 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -729,6 +729,32 @@ Validation: ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_compositor|pp_paint_renderer_stroke_execution" --output-on-failure ``` +### STR-025 - Extract Stroke Draw Dual Pass Frame Request Wrapper + +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 remaining dual-pass frame request assembly in `Canvas::stroke_draw()` +into a retained helper so the branch keeps only concrete callbacks and frame +execution wiring. + +Done Checks: + +- `Canvas::stroke_draw()` no longer spells the dual-pass frame request inline. +- Regression coverage proves the extracted helper preserves dual-pass request + wiring. +- `docs/modernization/debt.md` records the reduced dual-pass request surface. + +Validation: + +```powershell +ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_compositor|pp_paint_renderer_stroke_execution" --output-onfailure +``` + Progress Notes: - 2026-06-13: `NodeStrokePreview::draw_stroke_immediate()` now routes final