From aa53a5f9ac6cdecdaecf4d987f7dfa6eb5828130 Mon Sep 17 00:00:00 2001 From: omigamedev Date: Sat, 13 Jun 2026 23:57:35 +0200 Subject: [PATCH] Promote stroke commit history mutation task --- docs/modernization/tasks.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index 8f44f10..6f2c2cb 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -1837,6 +1837,35 @@ ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_stroke_ex & '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 ``` +### STR-040 - Extract Stroke Commit Local History And Dirty Mutation + +Status: Ready +Score: +1 renderer boundary and OpenGL parity +Debt: `DEBT-0036` +Scope: `src/canvas.cpp`, `tests/paint_renderer/stroke_execution_tests.cpp` + +Goal: + +Move the remaining local history and dirty-mutation work inside +`make_canvas_stroke_commit_callbacks()` into a retained helper so the callback +builder only forwards concrete canvas state. + +Done Checks: + +- `make_canvas_stroke_commit_callbacks()` no longer owns the history/dirty + mutation block inline. +- Regression coverage proves the helper preserves action bookkeeping and dirty + box updates. +- `docs/modernization/debt.md` records the reduced stroke-commit history + surface. + +Validation: + +```powershell +ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_stroke_execution" --output-onfailure +& '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 +``` + ### STR-010 - Extract Remaining Draw Merge Composite Orchestration ### STR-016 - Extract Draw Merge Layer Composite Execution