Promote STR-007 main stroke task

This commit is contained in:
2026-06-13 17:57:27 +02:00
parent ae46be9f90
commit 9acd3fa524
2 changed files with 35 additions and 1 deletions

View File

@@ -76,6 +76,11 @@ agent or engineer to remove them without reconstructing context from chat.
`execute_legacy_canvas_stroke_dual_pass_frame_callbacks(...)`; the retained
path still owns the concrete dual-brush shader, sampler, and framebuffer
wiring.
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::stroke_draw()` main-pass
live face orchestration now routes through
`execute_legacy_canvas_stroke_live_pass_with_face_framebuffers(...)`; the
retained path still owns the concrete shader, sampler, and framebuffer
wiring.
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::stroke_draw_samples()`
now routes polygon triangulation, sample-point assembly, and retained
destination-copy / upload / draw helper handoff through

View File

@@ -915,4 +915,33 @@ ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_stroke_ex
| Date | Task | Score | Validation | Commit |
| --- | --- | ---: | --- | --- |
| 2026-06-13 | STR-006 | +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` | pending |
| 2026-06-13 | STR-006 | +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` | `ae46be9f` |
### STR-007 - Extract Main Stroke Face Loop 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/stroke_execution_tests.cpp`
Goal:
Move the inline main-stroke face loop in `Canvas::stroke_draw()` into a
retained helper so the main-pass branch keeps only concrete shader, sampler,
and framebuffer wiring. Preserve main-pass face order and callback behavior.
Done Checks:
- `Canvas::stroke_draw()` no longer contains the inline main-pass face loop
around `execute_legacy_canvas_stroke_live_pass_with_face_framebuffers(...)`.
- Regression coverage proves the extracted helper preserves main-pass callback
order and face execution.
- `docs/modernization/debt.md` records the reduced main-pass 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
```