Add editor panel host lifecycle contract

This commit is contained in:
2026-04-07 13:24:56 +08:00
parent 6bf61ad8e2
commit b2ab516228
10 changed files with 1224 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ Layout:
- `shell/workspace_viewport_compose/`: workspace body external presentation compose only
- `shell/workspace_interaction_basic/`: workspace unified interaction only
- `state/panel_session_flow/`: panel session state flow only
- `state/panel_host_lifecycle/`: panel host attach/detach/show/hide/activate/focus contract only
- `state/layout_persistence/`: layout save/load/reset only
- `state/shortcut_dispatch/`: shortcut match/suppression/dispatch only
- `state/viewport_input_bridge_basic/`: viewport hover/focus/capture, local pointer coordinates, wheel/key/character bridge only
@@ -104,6 +105,11 @@ Scenarios:
Executable: `XCUIEditorPanelSessionFlowValidation.exe`
Scope: command dispatch + workspace controller + open/close/show/hide/activate
- `editor.state.panel_host_lifecycle`
Build target: `editor_ui_panel_host_lifecycle_validation`
Executable: `XCUIEditorPanelHostLifecycleValidation.exe`
Scope: panel host attach/detach/show/hide/activate/focus lifecycle only; active/focus decoupling and hidden-tab attached state
- `editor.state.layout_persistence`
Build target: `editor_ui_layout_persistence_validation`
Executable: `XCUIEditorLayoutPersistenceValidation.exe`
@@ -174,6 +180,9 @@ Selected controls:
- `state/panel_session_flow/`
Click `Hide Active / Show Doc A / Close Doc B / Open Doc B / Activate Details / Reset`, press `F12`.
- `state/panel_host_lifecycle/`
Click `Hide Active / Close Doc B / Open Doc B / Activate Details / Focus Active / Clear Focus / Reset`, inspect `Events` and the three host cards, press `Capture` or `F12`.
- `state/layout_persistence/`
Click `Hide Active -> Save Layout -> Close Doc B -> Load Layout`, click `Load Invalid`, press `F12`.