Centralize legacy app shell services

This commit is contained in:
2026-06-03 21:32:15 +02:00
parent 7460453b80
commit 22bbc93b43
7 changed files with 440 additions and 361 deletions

View File

@@ -557,13 +557,14 @@ transform-mode setup continues.
`pano_cli plan-file-menu` exposes app-core planning for the top-level File menu
commands, including new/open/import, save/save-as/save-version, share, resize,
cloud upload/browse, JPEG export, and export-submenu routing. Direct File menu
commands now dispatch through `FileMenuServices` before legacy dialogs, pickers,
platform services, cloud code, and canvas workflows continue.
commands now dispatch through `FileMenuServices` in the shared app-shell bridge
`src/legacy_app_shell_services.*` before legacy dialogs, pickers, platform
services, cloud code, and canvas workflows continue.
`pano_cli plan-export-menu` exposes app-core planning for File menu export
choices, including image, layer, cube-face, depth, animation-frame, MP4, and
timelapse dialog routing plus license/canvas gating. Export menu commands now
dispatch through `DocumentExportMenuServices` before legacy export dialogs and
renderer/video execution continue.
dispatch through `DocumentExportMenuServices` in the shared app-shell bridge
before legacy export dialogs and renderer/video execution continue.
`pano_cli plan-grid-operation` exposes app-core planning for grid heightmap
pick/load/reload/clear, lightmap render capability/limit checks, and heightmap
commit used by the live grid panel before legacy image loading, OpenGL texture
@@ -579,8 +580,8 @@ 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, history/canvas adapters, and
settings UI execution continue.
through `src/legacy_app_shell_services.*` 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. Quick-panel execution now dispatches
@@ -590,16 +591,17 @@ preview, and preset popup adapter continues.
planning for top-level Tools commands and floating-panel requests, including
already-visible no-ops, panel chrome metadata, shortcuts, camera reset,
grid-clear, and platform-only SonarPen gating. Direct Tools commands now
dispatch through `ToolsMenuServices` before the legacy UI/panel/canvas/platform
adapters continue execution. The live animation panel route now also checks
animation panel visibility and applies animation panel layout state instead of
using the grid panel by mistake.
dispatch through `ToolsMenuServices` in the shared app-shell bridge before the
legacy UI/panel/canvas/platform adapters continue execution. The live animation
panel route now also checks animation panel visibility and applies animation
panel layout state instead of using the grid panel by mistake.
`pano_cli plan-about-menu` exposes app-core planning for About menu help,
about, what's-new, crash-test, and performance-test commands, including
versioned what's-new labels, diagnostic gating, and no-canvas performance-test
blocking. `pp_app_core` now also owns an `AboutMenuServices` executor boundary,
so `App::init_menu_about` dispatches through a legacy adapter before legacy
dialogs, platform crash hooks, and Canvas performance strokes continue.
so `App::init_menu_about` dispatches through `src/legacy_app_shell_services.*`
before legacy dialogs, platform crash hooks, and Canvas performance strokes
continue.
`pp_platform_api` now owns a headless `PlatformServices` interface for
startup storage path preparation, clipboard text, cursor visibility,
virtual-keyboard visibility, UI-thread lifecycle hooks, render-context