Add stroke mix order regression

This commit is contained in:
2026-06-13 22:57:22 +02:00
parent 56d459623d
commit e7d96bfdc4
3 changed files with 122 additions and 0 deletions

View File

@@ -842,6 +842,39 @@ Progress Notes:
slice should target the remaining `stroke_draw_samples()` callback body or
any final temporary-texture composite setup without reopening landed
sample, sampler, dirty, face, or pad helpers.
### STR-019 - Extract Stroke Draw Mix Mixer State And Copy Ordering
Status: Done
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 remaining `stroke_draw_mix()` mixer-framebuffer state and copy-order
callbacks into a retained helper so `Canvas::stroke_draw_mix()` keeps only
branch selection plus concrete GL object wiring.
Done Checks:
- `Canvas::stroke_draw_mix()` no longer owns the remaining mixer framebuffer
state and copy ordering inline.
- Regression coverage proves the extracted helper preserves the mixer-state
callback order.
- `docs/modernization/debt.md` records the reduced stroke-mix shell 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-019 | +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` |
- 2026-06-13: `pp_paint_renderer_stroke_execution_tests` now also covers
retained preview background capture ordering, final composite ordering, and
preview texture-copy bind-before-copy behavior via