Route brush preset list planning

This commit is contained in:
2026-06-04 15:15:01 +02:00
parent 79942113ef
commit 47c35fb859
9 changed files with 497 additions and 46 deletions

View File

@@ -742,6 +742,13 @@ layer-refresh, and action-history work remains tracked under `DEBT-0038`.
`pano_cli parse-layout` exercises the XML layout path. Continue expanding
document behavior toward legacy Canvas parity and then port OpenGL classes
behind the renderer boundary.
Brush preset-list add/select/move/remove/clear decisions now consume
`pp_app_core` through `NodePanelBrushPreset` and
`pano_cli plan-brush-preset-list`, so preset UI callbacks share tested
headless index/selection planning before mutating legacy child nodes. The
remaining direct `NodePanelBrushPreset` child-node execution, legacy
`Brush` cloning, and preset save/reload behavior stay tracked under
`DEBT-0023`.
`App::open_document` now routes through the app-core document-open executor and
`src/legacy_document_open_services.*`, preserving ABR/PPBR import prompts,
unsaved-project discard prompts, project open, layer refresh, title updates,
@@ -1422,6 +1429,11 @@ Results:
- Focused brush import storage CTest coverage passed for
`pp_assets_brush_package_tests` and the brush package import/export CLI
smoke/failure tests.
- `PanoPainter`, `pp_app_core_brush_ui_tests`, and `pano_cli` built after brush
preset-list add/select/move/remove/clear planning moved into `pp_app_core`.
- Focused brush preset-list CTest coverage passed for
`pp_app_core_brush_ui_tests` and `pano_cli_plan_brush_preset_list_*` smoke
tests.
- `pp_app_core_document_recording_tests` passed, covering recording start/stop,
clear, platform recorded-file cleanup, frame-count reset, export progress
totals, and oversized progress-total clamping.