From 9acd3fa524d7d086d86cb1ba1c0ed035a2c57d43 Mon Sep 17 00:00:00 2001 From: omigamedev Date: Sat, 13 Jun 2026 17:57:27 +0200 Subject: [PATCH] Promote STR-007 main stroke task --- docs/modernization/debt.md | 5 +++++ docs/modernization/tasks.md | 31 ++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/docs/modernization/debt.md b/docs/modernization/debt.md index da174f3..282fc11 100644 --- a/docs/modernization/debt.md +++ b/docs/modernization/debt.md @@ -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 diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index 9bd0b6c..64f3ddc 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -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 +```