Add main toolbar service boundary

This commit is contained in:
2026-06-03 12:42:23 +02:00
parent 62561624ed
commit fb111dcdc9
5 changed files with 218 additions and 32 deletions

View File

@@ -537,8 +537,10 @@ legacy `ActionManager` stack execution continues.
`pano_cli plan-main-toolbar` exposes app-core planning for the live main
toolbar/status-bar shell, including open/save dialogs, undo/redo availability,
clear-history availability, clear-canvas no-canvas blocking, message-box
creation, and settings dialog routing before legacy dialogs, `ActionManager`,
and `Canvas` execution continue.
creation, and settings dialog routing. `pp_app_core` now also owns a
`MainToolbarServices` executor boundary, so `App::init_toolbar_main` dispatches
through a legacy adapter before legacy dialogs, `ActionManager`, and `Canvas`
execution continue.
`pano_cli plan-quick-operation` exposes app-core planning for quick brush/color
slot selection versus popup opening, plus quick mini-state restore/reset
validation used by the live quick panel before legacy `Brush`, color picker,
@@ -1293,7 +1295,8 @@ Results:
planning as JSON automation.
- `pp_app_core_main_toolbar_tests` passed, covering live toolbar/status direct
dialog routing, undo/redo availability, clear-history availability, no-canvas
clear blocking, and negative history metric rejection.
clear blocking, negative history metric rejection, and dispatch through the
`MainToolbarServices` executor boundary without invoking no-op actions.
- `pano_cli_plan_main_toolbar_undo_smoke`,
`pano_cli_plan_main_toolbar_redo_empty_smoke`,
`pano_cli_plan_main_toolbar_clear_canvas_no_canvas_smoke`, and