diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index 95dddb0..67d5f4b 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -811,6 +811,33 @@ Validation: ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_compositor|pp_paint_renderer_stroke_execution" --output-onfailure ``` +### STR-028 - Extract Stroke Draw Pad Face Orchestration + +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 pad-stroke face execution block in `Canvas::stroke_draw()` into +a retained helper so the pad branch keeps only concrete brush-shape, texture, +and framebuffer wiring. + +Done Checks: + +- `Canvas::stroke_draw()` no longer contains the inline pad-face block around + `execute_legacy_canvas_stroke_pad_face_callbacks(...)`. +- Regression coverage proves the extracted helper preserves pad-face order and + copy behavior. +- `docs/modernization/debt.md` records the reduced pad callback 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