# Editor UI Integration Validation This directory contains editor-only XCUI manual validation scenarios. Rules: - Shared Core primitives stay in `tests/UI/Core/integration/`. - Only editor-only shell, host, widget, and domain-integrated validation belongs here. - Scenarios are organized as `tests/UI/Editor/integration///`. - Each scenario owns its own `captures/` directory. Layout: - `shared/`: shared host wrapper, scenario registry, shared theme - `shell/workspace_shell_compose/`: split/tab/panel shell compose only - `shell/menu_bar_basic/`: menu bar open/close/hover/dispatch only - `state/panel_session_flow/`: panel session state flow only - `state/layout_persistence/`: layout save/load/reset only - `state/shortcut_dispatch/`: shortcut match/suppression/dispatch only Scenarios: - `editor.shell.workspace_shell_compose` Build target: `editor_ui_workspace_shell_compose_validation` Executable: `XCUIEditorWorkspaceShellComposeValidation.exe` Scope: splitters, tab host, panel chrome placeholders, hot reload - `editor.shell.menu_bar_basic` Build target: `editor_ui_menu_bar_basic_validation` Executable: `XCUIEditorMenuBarBasicValidation.exe` Scope: menu bar open/close, hover, dismiss, menu command dispatch only - `editor.state.panel_session_flow` Build target: `editor_ui_panel_session_flow_validation` Executable: `XCUIEditorPanelSessionFlowValidation.exe` Scope: command dispatch + workspace controller + open/close/show/hide/activate - `editor.state.layout_persistence` Build target: `editor_ui_layout_persistence_validation` Executable: `XCUIEditorLayoutPersistenceValidation.exe` Scope: layout snapshot + serialize/deserialize + invalid payload reject - `editor.state.shortcut_dispatch` Build target: `editor_ui_shortcut_dispatch_validation` Executable: `XCUIEditorShortcutDispatchValidation.exe` Scope: shortcut match + scope + suppression + command dispatch Run: ```bash cmake --build build --config Debug --target editor_ui_integration_tests ``` Selected controls: - `shell/workspace_shell_compose/` Drag splitters, switch `Document A/B/C`, press `F12`. - `shell/menu_bar_basic/` Click `File / Window / Layout`, move the mouse across menu items, click outside the menu or press `Esc`, press `F12`. - `state/panel_session_flow/` Click `Hide Active / Show Doc A / Close Doc B / Open Doc B / Activate Details / Reset`, press `F12`. - `state/layout_persistence/` Click `Hide Active -> Save Layout -> Close Doc B -> Load Layout`, click `Load Invalid`, press `F12`. - `state/shortcut_dispatch/` Press `Ctrl+P / Ctrl+H / Ctrl+W / Ctrl+O / Ctrl+R`, toggle `Text Input`, press `F12`.