Add main toolbar service boundary
This commit is contained in:
@@ -52,7 +52,7 @@ agent or engineer to remove them without reconstructing context from chat.
|
||||
| DEBT-0032 | Open | Modernization | Layer menu command planning now consumes pure `pp_app_core` through `App::init_menu_layer` and `pano_cli plan-layer-menu`, but live execution still calls legacy `Canvas::clear`, `App::dialog_layer_rename`, `NodePanelLayer::merge`, and reads `Canvas::I` animation/layer state directly | Preserve existing Layer menu behavior while layer commands move toward document/app services | `pp_app_core_document_layer_tests`; `pano_cli plan-layer-menu --command merge --current-index 2 --lower-name Paint`; `pano_cli plan-layer-menu --command rename --no-current-layer`; `ctest --preset desktop-fast --build-config Debug` | Layer clear, rename, merge-down execution, animation gating, and selected-layer state are owned by document/app services with Layer-menu callbacks acting only as UI adapters |
|
||||
| DEBT-0033 | Open | Modernization | Tools menu and floating-panel planning now consumes pure `pp_app_core` through `App::init_menu_tools`, `pano_cli plan-tools-menu`, and `pano_cli plan-tools-panel`, but live execution still constructs legacy `NodePanelFloating` panels, mutates legacy panel nodes, clears `CanvasModeGrid`, resets `NodeCanvas` camera state, opens legacy shortcuts UI, and calls the iOS SonarPen bridge directly | Preserve current Tools menu behavior while UI shell actions move toward app/UI/platform services | `pp_app_core_tools_menu_tests`; `pano_cli plan-tools-menu --command shortcuts`; `pano_cli plan-tools-panel --panel layers`; `pano_cli plan-tools-panel --panel animation --already-visible`; `ctest --preset desktop-fast --build-config Debug` | Tools panel creation, submenu routing, grid clear, camera reset, shortcuts dialog, and SonarPen dispatch are owned by app/UI/platform services with `App::init_menu_tools` acting only as a UI adapter |
|
||||
| DEBT-0034 | Open | Modernization | About menu command planning now consumes pure `pp_app_core` through `App::init_menu_about` and `pano_cli plan-about-menu`, but live execution still opens legacy About/manual/what's-new dialogs, invokes the injected crash hook, and runs the legacy Canvas stroke performance test directly | Preserve About menu behavior while dialogs and diagnostics move toward app/UI/platform services | `pp_app_core_about_menu_tests`; `pano_cli plan-about-menu --command news --version-major 2 --version-minor 5 --version-fix 7`; `pano_cli plan-about-menu --command performance --no-canvas`; `ctest --preset desktop-fast --build-config Debug` | About/manual/what's-new dialog dispatch, crash-test dispatch, and performance-test execution are owned by app/UI/platform services with `App::init_menu_about` acting only as a UI adapter |
|
||||
| DEBT-0035 | Open | Modernization | Main toolbar/status command planning now consumes pure `pp_app_core` through `App::init_toolbar_main` and `pano_cli plan-main-toolbar`, but live execution still opens legacy open/save/settings/message-box dialogs, mutates legacy `ActionManager` history, and clears the legacy `Canvas` directly | Preserve reachable toolbar/status behavior while app shell commands move toward app/document/UI services | `pp_app_core_main_toolbar_tests`; `pano_cli plan-main-toolbar --command undo --undo-count 2`; `pano_cli plan-main-toolbar --command clear-canvas --no-canvas`; `ctest --preset desktop-fast --build-config Debug` | Open/save/settings/message-box routing, undo/redo/clear-history execution, and canvas-clear execution are owned by app/document/UI services with `App::init_toolbar_main` acting only as a UI adapter |
|
||||
| DEBT-0035 | Open | Modernization | Main toolbar/status command planning and execution dispatch now consume pure `pp_app_core` through `App::init_toolbar_main`, `pano_cli plan-main-toolbar`, and the `MainToolbarServices` boundary, but the live adapter still opens legacy open/save/settings/message-box dialogs, mutates legacy `ActionManager` history, and clears the legacy `Canvas` directly | Preserve reachable toolbar/status behavior while app shell commands move toward app/document/UI services | `pp_app_core_main_toolbar_tests`; `pano_cli plan-main-toolbar --command undo --undo-count 2`; `pano_cli plan-main-toolbar --command clear-canvas --no-canvas`; `ctest --preset desktop-fast --build-config Debug` | Open/save/settings/message-box routing, undo/redo/clear-history execution, and canvas-clear execution are owned by injected app/document/UI services with `App::init_toolbar_main` acting only as a UI adapter and no legacy toolbar adapter |
|
||||
|
||||
## Closed Debt
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user