diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index abc0047..da67cc5 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -2138,6 +2138,34 @@ Validation: ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_compositor|pp_paint_renderer_stroke_execution" --output-on-failure ``` +### STR-050 - Extract Draw Merge Temporary Composite Dispatch Helpers + +Status: Ready +Score: no score movement +Debt: `DEBT-0036` +Scope: `src/canvas.cpp`, `src/legacy_canvas_draw_merge_services.h`, `tests/paint_renderer/compositor_tests.cpp` + +Goal: + +Move the remaining temporary composite dispatch bodies used by +`Canvas::draw_merge_branch_orchestration()` into retained helpers so the +branch body keeps only branch selection and helper dispatch. + +Done Checks: + +- `execute_canvas_draw_merge_branch_body(...)` no longer owns the temporary + erase, temporary paint, texture, and blend dispatch bodies inline. +- Regression coverage proves the extracted helpers preserve temporary erase, + temporary paint, texture, and blend execution order. +- `docs/modernization/debt.md` records the reduced draw-merge temporary + composite surface. + +Validation: + +```powershell +ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_compositor|pp_paint_renderer_stroke_execution" --output-onfailure +``` + ### STR-010 - Extract Remaining Draw Merge Composite Orchestration ### STR-016 - Extract Draw Merge Layer Composite Execution