Files

75 lines
2.2 KiB
Markdown
Raw Permalink Normal View History

# Shell
**命名空间**: `XCEngine::UI::Editor`
**类型**: `submodule`
**描述**: 编辑器壳层子模块,覆盖 menu、dock、workspace、viewport slot、panel registry 以及整套 shell compose / interaction 流程。
## 概述
`Shell` 是当前新编辑器 public headers 中最靠近应用层的一层。按 `new_editor/app/Application.cpp` 当前启动链:
1. 先构造 `EditorShellAsset`
2.`ValidateEditorShellAsset(...)` 校验 panel / workspace / shortcut 配置
3. 创建 `UIEditorWorkspaceController`
4. 在每帧中调用 `UpdateUIEditorShellInteraction(...)`
5. 再调用 `AppendUIEditorShellInteraction(...)` 输出绘制数据
因此这个子模块既包含纯数据模型,也包含布局与交互协议:
- shell 资产与配置
- `UIEditorShellAsset.h`
- `UIEditorPanelRegistry.h`
- `UIEditorWorkspaceModel.h`
- `UIEditorWorkspaceSession.h`
- 壳层布局与交互
- `UIEditorShellCompose.h`
- `UIEditorShellInteraction.h`
- `UIEditorWorkspaceCompose.h`
- `UIEditorWorkspaceInteraction.h`
- 具体面板宿主与框架控件
- `UIEditorDockHost*`
- `UIEditorMenu*`
- `UIEditorStatusBar.h`
- `UIEditorViewportSlot.h`
- `UIEditorViewportShell.h`
## 公开头文件
- `UIEditorDockHost.h`
- `UIEditorDockHostInteraction.h`
- `UIEditorMenuBar.h`
- `UIEditorMenuModel.h`
- `UIEditorMenuPopup.h`
- `UIEditorMenuSession.h`
- `UIEditorPanelContentHost.h`
- `UIEditorPanelFrame.h`
- `UIEditorPanelHostLifecycle.h`
- `UIEditorPanelRegistry.h`
- `UIEditorShellAsset.h`
- `UIEditorShellCompose.h`
- `UIEditorShellInteraction.h`
- `UIEditorStatusBar.h`
- `UIEditorStructuredShell.h`
- `UIEditorViewportInputBridge.h`
- `UIEditorViewportShell.h`
- `UIEditorViewportSlot.h`
- `UIEditorWorkspaceCompose.h`
- `UIEditorWorkspaceController.h`
- `UIEditorWorkspaceInteraction.h`
- `UIEditorWorkspaceLayoutPersistence.h`
- `UIEditorWorkspaceModel.h`
- `UIEditorWorkspaceSession.h`
## 当前实现边界
- 当前这里只建立目录索引页,具体头文件页仍需后续分批补齐。
- 这层 public API 面向新编辑器宿主;旧版 `editor/src/Viewport/**` 的 source-backed helper 不属于这里。
## 相关文档
- [XCEditor](../XCEditor.md)
- [Foundation](../Foundation/Foundation.md)
- [Fields](../Fields/Fields.md)