diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index 67e8767..668871f 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -986,3 +986,33 @@ ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_stroke_ex | Date | Task | Score | Validation | Commit | | --- | --- | ---: | --- | --- | | 2026-06-13 | STR-008 | +1 renderer boundary and OpenGL parity | `ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_stroke_execution" --output-on-failure`; `MSBuild.exe out\build\windows-msvc-default\tests\pp_paint_renderer_stroke_execution_tests.vcxproj /p:Configuration=Debug /p:Platform=x64` | `11a62e9b` | + +### STR-009 - Extract Stroke Commit Callback Orchestration + +Status: Ready +Score: +2 renderer boundary and OpenGL parity +Debt: `DEBT-0036` +Scope: `src/canvas.cpp`, `src/legacy_canvas_stroke_execution_services.h`, +`tests/paint_renderer/stroke_execution_tests.cpp` + +Goal: + +Move the large inline callback block in `Canvas::stroke_commit()` into a +retained helper so commit sequencing keeps only concrete layer/texture/canvas +wiring. Preserve commit ordering, history capture, and dilate sequencing. + +Done Checks: + +- `Canvas::stroke_commit()` no longer contains the large inline commit callback + block around `execute_legacy_canvas_stroke_commit_sequence(...)`. +- Regression coverage proves the extracted helper preserves commit ordering and + history capture. +- `docs/modernization/debt.md` records the reduced stroke-commit callback + surface. + +Validation: + +```powershell +ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_stroke_execution" --output-on-failure +& 'C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe' out\build\windows-msvc-default\tests\pp_paint_renderer_stroke_execution_tests.vcxproj /p:Configuration=Debug /p:Platform=x64 +```