diff --git a/docs/modernization/debt.md b/docs/modernization/debt.md index e82d7e6..91a8445 100644 --- a/docs/modernization/debt.md +++ b/docs/modernization/debt.md @@ -112,6 +112,9 @@ agent or engineer to remove them without reconstructing context from chat. now routes the commit-input texture role switch through a retained service helper, leaving the callsite with sequence planning and concrete face bindings only. +- 2026-06-13: `DEBT-0036` was narrowed again. `Canvas::stroke_commit()` + now routes the face-indexed commit-input binding wrapper through the retained + service boundary, leaving `Canvas` with only concrete face bindings. - 2026-06-13: `DEBT-0036` was narrowed again. `NodeStrokePreview::draw_stroke_immediate()` now routes final composite execution and preview copy-back through a retained local wrapper, leaving the call site with only sequence wiring. diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index bf9083a..d07defd 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -1188,6 +1188,38 @@ Completed Task Log: | --- | --- | ---: | --- | --- | | 2026-06-13 | STR-009 | +2 renderer boundary and OpenGL parity | `ctest --preset desktop-fast --build-config Debug -R "retained_stroke_commit_callback_builder_preserves_order|retained_stroke_commit_runner_preserves_per_face_step_order" --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_compositor_tests.vcxproj /p:Configuration=Debug /p:Platform=x64` | `e7813c2f` | +### STR-013 - Extract Stroke Commit Face Input Binding + +Status: Done +Score: +1 renderer boundary and OpenGL parity +Debt: `DEBT-0036` +Scope: `src/legacy_canvas_stroke_commit_services.h`, `tests/paint_renderer/compositor_tests.cpp` + +Goal: + +Move the face-indexed commit-input binding wrapper behind the retained stroke +commit service boundary so `Canvas::stroke_commit()` only supplies concrete +face bindings. + +Done Checks: + +- `Canvas::stroke_commit()` uses the retained face-input binding helper. +- Regression coverage proves the face-input helper forwards the sequence slots. +- `docs/modernization/debt.md` records the reduced stroke-commit face-binding + surface. + +Validation: + +```powershell +ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_stroke_execution|pp_paint_renderer_compositor" --output-on-failure +``` + +Completed Task Log: + +| Date | Task | Score | Validation | Commit | +| --- | --- | ---: | --- | --- | +| 2026-06-13 | STR-013 | +1 renderer boundary and OpenGL parity | `ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_stroke_execution|pp_paint_renderer_compositor" --output-on-failure` | `6220f333` | + ### STR-011 - Extract Preview Main Pass Orchestration Status: Done