Add history command service boundary

This commit is contained in:
2026-06-03 13:22:16 +02:00
parent 6d0cc4eb15
commit 6427f218e7
7 changed files with 228 additions and 22 deletions

View File

@@ -538,15 +538,16 @@ pick/load/reload/clear, lightmap render capability/limit checks, and heightmap
commit used by the live grid panel before legacy image loading, OpenGL texture
updates, nanort lightmap baking, and `Canvas::draw_objects` execution continue.
`pano_cli plan-history-operation` exposes app-core planning for undo, redo, and
clear-history availability used by toolbar buttons and canvas shortcuts before
legacy `ActionManager` stack execution continues.
clear-history availability used by toolbar buttons and canvas shortcuts; live
toolbar execution now dispatches through `HistoryUiServices` before the legacy
`ActionManager` stack adapter 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. `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.
through a legacy adapter before legacy dialogs, history/canvas adapters, and
settings UI 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,
@@ -1272,7 +1273,8 @@ Results:
routing as JSON automation.
- `pp_app_core_history_ui_tests` passed, covering undo/redo availability,
no-op history commands, clear-history stack/memory state, memory-only clear,
and negative metric rejection.
negative metric rejection, service dispatch order, empty-history no-op
execution, and invalid execution metric rejection.
- `pano_cli_plan_history_operation_undo_smoke`,
`pano_cli_plan_history_operation_redo_empty_smoke`,
`pano_cli_plan_history_operation_clear_smoke`, and