Extract stroke dirty bounds planning

This commit is contained in:
2026-06-13 04:35:14 +02:00
parent 458f9bef0c
commit 36861cbf97
8 changed files with 509 additions and 40 deletions

View File

@@ -18,6 +18,11 @@ agent or engineer to remove them without reconstructing context from chat.
## Recent Reductions
- 2026-06-13: DEBT-0036 was narrowed again. Stroke sample copy bounds, live
face dirty-box accumulation, and preview padding region math now live as
tested `pp_paint_renderer` planners and are consumed by retained Canvas and
stroke sample execution adapters. Canvas/preview still own GL ordering,
RTT/texture binding, history mutation, and final dirty state storage.
- 2026-06-12: DEBT-0036 was narrowed again. `Canvas::stroke_commit` now reuses
`legacy_canvas_stroke_composite_services.h` for commit-time final stroke
`kShader::CompDraw` binding and composite/pattern/dual uniform writes.

View File

@@ -1354,8 +1354,11 @@ stroke composite `kShader::CompDraw` setup now pass through
reuses that same composite service for commit-time final stroke compositing.
Stroke padding and commit dilate `kShader::StrokePad`/`kShader::StrokeDilate`
setup now pass through `legacy_canvas_stroke_edge_services.h`, leaving
RTT/texture ownership, dirty-box policy, checkerboard/non-stroke composite
shaders, quad expansion, and retained callback execution under `DEBT-0036`.
RTT/texture ownership, checkerboard/non-stroke composite shaders, and retained
callback execution under `DEBT-0036`. Stroke sample copy bounds, live face
dirty-box accumulation, and preview padding region math now live as tested
`pp_paint_renderer` planners while retained Canvas/preview code still owns GL
ordering, RTT/texture binding, history mutation, and final dirty state storage.
It also owns renderer API texture-format to
OpenGL internal/pixel/component token mapping, including depth-stencil formats,
for future backend texture objects. `Texture2D` 2D texture binding, upload,