From 74ecf11d6424a9552879d0113d70a9fe9433244d Mon Sep 17 00:00:00 2001 From: omigamedev Date: Sat, 13 Jun 2026 23:05:37 +0200 Subject: [PATCH] Promote stroke draw dual pass frame task --- docs/modernization/tasks.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index 677d444..7e1bebd 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -674,6 +674,33 @@ ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_composito | --- | --- | --- | --- | --- | | 2026-06-13 | STR-022 | +1 renderer boundary and OpenGL parity | `ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_compositor|pp_paint_renderer_stroke_execution" --output-on-failure` | `065ddf8e` | +### STR-023 - Extract Stroke Draw Dual Pass Frame 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/compositor_tests.cpp` + +Goal: + +Move the inline `execute_legacy_canvas_stroke_dual_pass_frame_callbacks(...)` +lambda body in `Canvas::stroke_draw()` into a retained helper so the dual-pass +branch owns only concrete shader, sampler, and framebuffer wiring. + +Done Checks: + +- `Canvas::stroke_draw()` no longer contains the inline dual-pass frame + callback body. +- Regression coverage proves the extracted helper preserves dual-pass frame + callback order and face execution. +- `docs/modernization/debt.md` records the reduced dual-pass frame surface. + +Validation: + +```powershell +ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_compositor|pp_paint_renderer_stroke_execution" --output-on-failure +``` + Progress Notes: - 2026-06-13: `NodeStrokePreview::draw_stroke_immediate()` now routes final