Extract draw merge erase branch helper

This commit is contained in:
2026-06-13 22:47:28 +02:00
parent 42d4f6df1b
commit e8fdd96d37
5 changed files with 94 additions and 10 deletions

View File

@@ -193,6 +193,11 @@ agent or engineer to remove them without reconstructing context from chat.
the remaining temporary erase and paint callback bundle through
`execute_legacy_canvas_draw_merge_temporary_composite(...)`; branch
selection remains in `Canvas`.
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::draw_merge()` temporary
erase branch execution now routes through
`make_legacy_canvas_draw_merge_temporary_erase_composite(...)`; the live
path still owns the concrete layer RTT, mixer RTT, sampler, and plane
callbacks.
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::draw_merge()` now routes
the layer-composite shell through a local wrapper around
`execute_legacy_canvas_draw_merge_layer_composite(...)`; the final branch

View File

@@ -1327,10 +1327,11 @@ Completed Task Log:
### STR-016 - Extract Draw Merge Layer Composite Execution
Status: Ready
Status: Blocked
Score: +2 renderer boundary and OpenGL parity
Debt: `DEBT-0036`
Scope: `src/canvas.cpp`, `src/legacy_canvas_draw_merge_services.h`, `tests/paint_renderer/compositor_tests.cpp`
Blocked By: Helper API shape mismatch in the current per-layer composite extraction attempt
Goal:
@@ -1366,6 +1367,37 @@ ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_composito
| --- | --- | ---: | --- | --- |
| 2026-06-13 | STR-016 | +2 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` | `pending` |
### STR-017 - Extract Draw Merge Temporary Erase Composite Branch
Status: Done
Score: +1 renderer boundary and OpenGL parity
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 erase branch inside `Canvas::draw_merge()` into a
retained helper so the callsite keeps only branch selection and concrete GL
object wiring.
Done Checks:
- `Canvas::draw_merge()` no longer builds the temporary erase composite inline.
- Regression coverage proves the extracted helper preserves erase-branch order.
- `docs/modernization/debt.md` records the reduced draw-merge erase surface.
Validation:
```powershell
ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_compositor|pp_paint_renderer_stroke_execution" --output-on-failure
```
### Completed Task Log
| Date | Task | Score | Validation | Commit |
| --- | --- | ---: | --- | --- |
| 2026-06-13 | STR-017 | +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` | `pending` |
### STR-012 - Extract Preview Final Composite Orchestration
Status: Done