docs: rewrite root README

This commit is contained in:
2026-04-09 22:47:48 +08:00
parent 02779dbb4e
commit 4f0fdbfced

542
README.md
View File

@@ -1,31 +1,40 @@
# XCEngine
XCEngine 是一个 Windows 优先、编辑器优先的模块化 C++ 游戏引擎工作区。当前主线已经形成 `RHI -> Rendering -> Editor Viewport -> AssetDatabase/Library -> Mono Scripting` 的可运行闭环,不再只是若干独立 sample 的集合
这份 README 面向引擎用户:重点回答项目是什么、当前能做什么、怎么构建、怎么启动,以及当前仓库各目录分别承担什么职责。面向参与引擎实现和文档维护的 coding agent请看 [AGENT.md](AGENT.md)。
`XCEngine` 是一个 Windows-first、editor-first 的 C++20 游戏引擎工作区。当前主线围绕 `RHI -> Rendering -> Editor -> Asset Pipeline -> Mono Scripting` 演进,目标不是堆 sample而是把可运行的引擎与编辑器主链持续收口成型
## 项目定位
- `engine/` 构建静态库 `XCEngine`,包含 `RHI``Rendering``Resources``Scene``Scripting`核心模块。
- `editor/` 构建桌面编辑器 `XCEditor`,输出文件名`XCEngine.exe`,默认打开仓库内的 `project/`
- `new_editor/` 维护基于 `XCUI` 的新宿主与 UI sandbox当前与旧 `editor/` 并行演进,应用输出名为 `XCUIEditor.exe`
- `project/` 是随仓库维护的示例工程,已经采用 `Assets/ + .meta + Library/` 的工程布局。
- `managed/` 负责 `XCEngine.ScriptCore.dll`、示例 `GameScripts.dll` 以及项目脚本程序集构建
- `tests/` 覆盖 Engine、RHI、Rendering、Editor、Scripting、XCUI 等主线模块。
- `engine/` 提供核心静态库 `XCEngine`,包含 `RHI``Rendering``Resources``Scene``Input``Audio``Scripting` 等模块。
- `editor/` 是当前正式桌面编辑器,宿主基于 Win32 + D3D12编辑器 target 名为 `XCEditor`,输出文件名为 `XCEngine.exe`
- `new_editor/` 基于 `XCUI` 的新编辑器主线,当前仍在并行演进
- `project/` 是随仓库维护的示例工程,已经采用 `Assets + .meta + Library` 布局。
- `tests/` 覆盖 Engine、Rendering、RHI、Editor、Scripting、UI 等主线模块
## 当前能力概览
## 当前能力
- `RHI` 当前维护 `D3D12 / OpenGL / Vulkan` 三后端。
- `Rendering` 已形成 `SceneRenderer -> CameraRenderer -> RenderPipeline` 主链,支持 `ObjectId``InfiniteGrid``Outline``overlayPasses` 等能力
- `Core/Asset` 已经不是简单加载器,当前真实维护 `Assets/.meta/Library` 风格的 `AssetDatabase`、artifact 缓存和项目资源索引
- `Library` 当前已经采用“启动阶段恢复索引与缓存状态 + 运行时按需异步恢复 payload”的混合工作流`BootstrapProject()` 已接入正式启动链路
- `Material` 与材质 artifact 已经进入稳定格式阶段,当前 `.xcmat` 使用 schema v2
- 编辑器 Scene/Game viewport 已通过引擎 `Rendering + RHI` 链路渲染到离屏纹理,再接入 ImGui
- `ScriptComponent` 已打通脚本类发现、字段元数据读取、字段编辑和运行时字段同步
- `RHI` 当前维护 `D3D12 / OpenGL / Vulkan`后端。
- `Rendering` 已形成 `SceneRenderer -> CameraRenderer -> RenderPipeline` 主链。
- Scene View 已接通 object-id picking、selection outline、grid、overlay 与 gizmo 渲染
- 资源系统已采用 `AssetDatabase + Artifact + Library` 工作流,而不是简单文件直读
- `Material / Shader / Texture / Mesh` 已接入正式资源导入与运行时加载链路
- 编辑器已支持项目加载、Scene/Game viewport、Inspector、Hierarchy、Project 面板等基础闭环
- Mono C# 脚本运行时与项目脚本程序集构建链路已接入当前工作区
- `new_editor/` 正在推进 `XCUI` 宿主、控件与 shell 体系。
## 仓库结构
- `engine/`:引擎核心实现与公共头文件。
- `editor/`:当前正式编辑器与 viewport 接线。
- `new_editor/`XCUI 新编辑器主线。
- `managed/``XCEngine.ScriptCore` 与示例托管程序集。
- `project/`:示例工程与随仓库维护的资产。
- `tests/`:单元测试、集成测试与阶段性回归入口。
- `docs/`架构说明、API 文档、计划与历史归档。
- `mvs/`:原型、实验工程与外部参考材料。
## 环境要求
当前推荐在 Windows 上使用和构建。
当前推荐在 Windows 上构建和运行
- Windows 10/11
- Visual Studio 2022 / MSVC v143
@@ -34,492 +43,109 @@ XCEngine 是一个 Windows 优先、编辑器优先的模块化 C++ 游戏引擎
- .NET SDK
- Git LFS
启用 Mono 脚本运行时时,还需要:
脚本运行时启用时,还需要:
- `参考/Fermion/Fermion/external/mono` 下可用的 Mono 头文件、静态库与 `mscorlib.dll`
- 可用的 Mono 依赖,默认路径来自 `参考/Fermion/Fermion/external/mono`
补充说明:
- `engine/CMakeLists.txt` 当前对 `Vulkan` 是硬依赖,未配置 Vulkan SDK 时无法完成配置
- `editor/``tests/` 首次配置会通过 `FetchContent` 从 Gitee 镜像拉取 `ImGui``googletest`;离线环境请确保已有可复用的 `_deps` 缓存
- 如果需要 `mvs/3DGS-Unity/room.ply` 这类大文件示例,请先执行 Git LFS 拉取
- 当前根 CMake 配置里,`Vulkan SDK` 是硬依赖。
- NanoVDB 头文件是可选能力,仅影响 `.nvdb` 体积资源支持
- 如果仓库里的大资源依赖 Git LFS请先执行 `git lfs pull`
## 快速开始
### 1. 配置
```bash
```powershell
cmake -S . -B build -A x64
```
如果本地暂时没有 Mono 依赖,可以先关闭脚本运行时:
```bash
```powershell
cmake -S . -B build -A x64 -DXCENGINE_ENABLE_MONO_SCRIPTING=OFF
```
### 2. 构建常用目标
### 2. 构建当前编辑器
```bash
cmake --build build --config Debug --target XCEngine
```powershell
cmake --build build --config Debug --target XCEditor
cmake --build build --config Debug --target xcengine_managed_assemblies
cmake --build build --config Debug --target xcengine_project_managed_assemblies
```
说明
编辑器产物路径
- `XCEngine` 是引擎静态库。
- `XCEditor` 是编辑器 target输出文件名仍为 `editor/bin/<Config>/XCEngine.exe`
- `xcengine_managed_assemblies` 生成 `managed/` 下的示例托管程序集。
- `xcengine_project_managed_assemblies` 会扫描 `project/Assets/**/*.cs`,并把结果输出到 `project/Library/ScriptAssemblies/`
- `editor/bin/Debug/XCEngine.exe`
### 3. 启动编辑器
### 3. 运行编辑器
```bash
```powershell
.\editor\bin\Debug\XCEngine.exe
```
默认情况下,编辑器会自动把仓库内的 `project/` 识别为工程根目录。也可以显式指定其他工程
显式指定工程目录
```bash
.\editor\bin\Debug\XCEngine.exe --project D:\Path\To\MyProject
```powershell
.\editor\bin\Debug\XCEngine.exe --project D:\Path\To\Project
```
如果 Inspector 里看不到 C# 脚本类,先确认 `project/Library/ScriptAssemblies/` 中已经生成下面这 3 个程序集。当前工作树如果暂时缺少 `XCEngine.ScriptCore.dll`,通常说明项目脚本程序集还没有按最新状态完成重建:
### 4. 构建项目脚本程序集
- `XCEngine.ScriptCore.dll`
- `GameScripts.dll`
- `mscorlib.dll`
如果你要验证 `ScriptComponent`、脚本类发现或 Inspector 字段编辑,先构建:
### 4. 当前推荐验证入口
```powershell
cmake --build build --config Debug --target xcengine_project_managed_assemblies
```
```bash
### 5. 可选构建 XCUI 新编辑器
```powershell
cmake --build build --config Debug --target XCUIEditorApp
```
产物路径通常为:
- `new_editor/bin/Debug/XCUIEditor.exe`
## 测试
列出测试:
```powershell
ctest --test-dir build -N -C Debug
```
运行测试:
```powershell
ctest --test-dir build -C Debug --output-on-failure
```
按模块常用的构建 / 验证 target
常用目标
```bash
cmake --build build --config Debug --target rhi_all_tests
cmake --build build --config Debug --target rendering_all_tests
cmake --build build --config Debug --target rendering_phase_regression
```powershell
cmake --build build --config Debug --target editor_tests
cmake --build build --config Debug --target rendering_all_tests
cmake --build build --config Debug --target rhi_all_tests
cmake --build build --config Debug --target scripting_tests
```
## 当前仓库状态
更细的测试组织与约定见 [tests/TEST_SPEC.md](tests/TEST_SPEC.md)。
### Engine
## 文档入口
- `RHI` 已经不是单后端实验代码,而是 `D3D12 / OpenGL / Vulkan` 三后端并行维护。
- `Rendering` 当前正式主线是 `SceneRenderer -> CameraRenderer -> RenderPipeline`,而不是 sample 私有渲染分支。
- `Resources``Core/Asset` 已形成项目资源导入、artifact 缓存和运行时加载的统一链路。
### Editor
- 当前 editor 是 `D3D12` 宿主应用,但 Scene/Game viewport 渲染本身走引擎 `Rendering + RHI`
- `Viewport` 子系统当前已经拆成更清晰的链路:`SceneViewportChrome -> SceneViewportInteractionFrame -> SceneViewportNavigation -> SceneViewportTransformGizmoCoordinator -> ViewportHostService`
- `tests/Editor/` 已覆盖 `SceneViewportChrome``SceneViewportInteractionFrame``SceneViewportNavigation``SceneViewportTransformGizmoCoordinator` 等新 helper。
### Project & Scripting
- 示例工程位于 `project/`,工程文件是 `Project.xcproject`,启动场景为 `Assets/Scenes/Main.xc`
- `project/Library/` 虽然是生成目录,但在当前 workflow 里承担 `SourceAssetDB``ArtifactDB``Artifacts``ScriptAssemblies` 等关键角色。
- `managed/` 会生成引擎脚本 API 与示例脚本程序集,项目资产下的 `.cs` 文件也会单独编译为项目脚本程序集。
### Tests
- `tests/` 已覆盖 `Core``Memory``Threading``Scene``Resources``RHI``Rendering``Editor``Scripting` 等主线模块。
- `tests/Rendering/` 当前维护一组集成场景测试。
- `tests/RHI/` 同时维护抽象层测试与后端专用测试。
## 完整目录结构
以下目录树按当前工作树整理,保留了当前 workflow 已经真实使用的生成目录与关键子树;省略 `.git/``build/_deps/` 与部分重复资源文件。像 `project/.xceditor/thumbs/``project/Library/Artifacts/` 这类会随本地导入状态变化的内容,用结构模式表示。
```text
XCEngine/
|- .gitattributes
|- .gitignore
|- AGENT.md
|- CMakeLists.txt
|- README.md
|- build/ # 本地 CMake 构建输出
|- docs/
| |- api/
| | |- XCEngine/
| | |- _guides/
| | |- _meta/
| | |- _tools/
| | `- main.md
| |- issues/
| | `- Editor模块_Console面板错误绑定fallback sink导致运行时日志不显示4.3.md
| |- plan/
| | |- end/
| | | |- RHI模块设计与实现/
| | | | |- RHIFence.md
| | | | `- RHI模块总览.md
| | | `- 编辑器与运行时分层架构设计.md
| | |- 开题报告和任务书/
| | |- 旧版题目/
| | |- API文档实时同步任务池_2026-04-03.md
| | |- C#脚本模块下一阶段计划.md
| | |- Editor架构说明.md
| | |- Library启动预热与运行时异步加载混合重构计划_2026-04-04.md
| | |- Library启动预热与运行时异步加载混合重构计划_进度更新_2026-04-04.md
| | |- Renderer下一阶段_Unity风格Shader体系正式化计划_2026-04-06.md
| | |- Unity SRP API参考文档.md
| | |- XCUI_Phase_Status_2026-04-05.md
| | |- XCUI完整架构设计与执行计划.md
| | `- Unity绝区零开发文档还原版.md
| |- used/ # 历史材料、归档计划与截图
| | |- API文档实时同步任务池_2026-04-03_第一轮归档.md
| | |- API文档实时同步任务池_2026-04-03_第二轮归档.md
| | |- C#脚本模块的设计与实现_阶段一归档_2026-04-03.md
| | |- Library资产导入与缓存系统收口计划_完成归档_2026-04-03.md
| | |- Renderer结构收口与代码正式化计划_完成归档_2026-04-05.md
| | |- SceneViewport_Overlay_Gizmo_Rework_Plan_完成归档_2026-04-04.md
| | |- Shader与Material系统下一阶段计划_完成归档_2026-04-04.md
| | |- Unity式SceneView_Gizmo系统完整审查与正式化重构方案_完成归档_2026-04-06.md
| | |- Unity式Tick系统与PlayMode运行时方案-阶段进展.md
| | `- Unity式Tick系统与PlayMode运行时方案.md
| |- api-skill.md
| |- blueprint-skill.md
| `- blueprint.md
|- editor/
| |- CMakeLists.txt
| |- README.md
| |- bin/ # 编辑器输出目录,产物名为 XCEngine.exe
| |- resources/
| | `- Icons/
| `- src/
| |- Actions/
| |- Commands/
| |- ComponentEditors/
| |- Core/
| |- Layers/
| |- Layout/
| |- Managers/
| |- panels/
| | |- ConsolePanel.cpp
| | |- ConsolePanel.h
| | |- GameViewPanel.cpp
| | |- GameViewPanel.h
| | |- HierarchyPanel.cpp
| | |- HierarchyPanel.h
| | |- InspectorPanel.cpp
| | |- InspectorPanel.h
| | |- MenuBar.cpp
| | |- MenuBar.h
| | |- Panel.cpp
| | |- Panel.h
| | |- PanelCollection.h
| | |- ProjectPanel.cpp
| | |- ProjectPanel.h
| | |- SceneViewPanel.cpp
| | |- SceneViewPanel.h
| | `- ViewportPanelContent.h
| |- Platform/
| |- Scripting/
| |- UI/
| |- Utils/
| |- Viewport/
| | |- Passes/
| | | |- SceneViewportEditorOverlayPass.cpp
| | | |- SceneViewportEditorOverlayPass.h
| | | |- SceneViewportGridPass.cpp
| | | |- SceneViewportGridPass.h
| | | |- SceneViewportSelectionOutlinePass.cpp
| | | `- SceneViewportSelectionOutlinePass.h
| | |- IViewportHostService.h
| | |- SceneViewportCameraController.h
| | |- SceneViewportChrome.cpp
| | |- SceneViewportChrome.h
| | |- SceneViewportEditorModes.h
| | |- SceneViewportEditorOverlayData.h
| | |- SceneViewportHudOverlay.cpp
| | |- SceneViewportHudOverlay.h
| | |- SceneViewportInteractionActions.cpp
| | |- SceneViewportInteractionActions.h
| | |- SceneViewportInteractionFrame.h
| | |- SceneViewportInteractionResolver.cpp
| | |- SceneViewportInteractionResolver.h
| | |- SceneViewportMath.h
| | |- SceneViewportMoveGizmo.cpp
| | |- SceneViewportMoveGizmo.h
| | |- SceneViewportNavigation.h
| | |- SceneViewportOrientationGizmo.cpp
| | |- SceneViewportOrientationGizmo.h
| | |- SceneViewportOverlayBuilder.cpp
| | |- SceneViewportOverlayBuilder.h
| | |- SceneViewportOverlayFrameCache.cpp
| | |- SceneViewportOverlayFrameCache.h
| | |- SceneViewportOverlayHandleBuilder.h
| | |- SceneViewportOverlayHitTester.h
| | |- SceneViewportOverlayProviders.cpp
| | |- SceneViewportOverlayProviders.h
| | |- SceneViewportOverlaySpriteResources.cpp
| | |- SceneViewportOverlaySpriteResources.h
| | |- SceneViewportPassSpecs.h
| | |- SceneViewportPicker.cpp
| | |- SceneViewportPicker.h
| | |- SceneViewportRenderPlan.h
| | |- SceneViewportResourcePaths.h
| | |- SceneViewportRotateGizmo.cpp
| | |- SceneViewportRotateGizmo.h
| | |- SceneViewportScaleGizmo.cpp
| | |- SceneViewportScaleGizmo.h
| | |- SceneViewportShaderPaths.h
| | |- SceneViewportTransformGizmoCoordinator.cpp
| | |- SceneViewportTransformGizmoCoordinator.h
| | |- SceneViewportTransformGizmoFrameBuilder.h
| | |- ViewportHostRenderFlowUtils.h
| | |- ViewportHostRenderTargets.h
| | |- ViewportHostService.h
| | |- ViewportHostSurfaceUtils.h
| | `- ViewportObjectIdPicker.h
| |- Application.cpp
| |- Application.h
| |- EditorApp.rc
| |- EditorResources.h
| |- Theme.cpp
| |- Theme.h
| `- main.cpp
|- engine/
| |- CMakeLists.txt
| |- include/
| | `- XCEngine/
| | |- Audio/
| | |- Components/
| | |- Core/
| | | |- Asset/
| | | |- Containers/
| | | |- IO/
| | | `- Math/
| | |- Debug/
| | |- Input/
| | |- Memory/
| | |- Platform/
| | | `- Windows/
| | |- Rendering/
| | | |- Passes/
| | | |- Pipelines/
| | | |- CameraRenderer.h
| | | |- CameraRenderRequest.h
| | | |- ObjectIdPass.h
| | | |- RenderPipeline.h
| | | |- RenderSurface.h
| | | `- SceneRenderer.h
| | |- Resources/
| | | |- AudioClip/
| | | |- Material/
| | | |- Mesh/
| | | |- Shader/
| | | `- Texture/
| | |- RHI/
| | | |- D3D12/
| | | |- OpenGL/
| | | `- Vulkan/
| | |- Scene/
| | |- Scripting/
| | | `- Mono/
| | `- Threading/
| |- src/ # 与 include/XCEngine 中的主模块一一对应
| |- third_party/
| | |- assimp/
| | |- GLAD/
| | |- kissfft/
| | |- renderdoc/
| | `- stb/
| `- tools/
| `- renderdoc_parser/
|- managed/
| |- CMakeLists.txt
| |- GameScripts/
| `- XCEngine.ScriptCore/
|- mvs/
| |- 3DGS-Unity/
| |- D3D12/
| |- Music fluctuations/
| |- OpenGL/
| |- RenderDoc/
| |- Res/
| |- ui/ # 早期 ImGui + D3D12 UI 原型
| `- VolumeRenderer/
|- new_editor/
| |- app/
| | |- Host/
| | |- Application.cpp
| | |- Application.h
| | `- main.cpp
| |- bin/ # XCUIEditor.exe 输出目录
| |- include/
| | `- XCEditor/
| | |- Core/
| | `- Widgets/
| |- src/
| | |- Core/
| | |- Platform/
| | `- Widgets/
| |- ui/
| `- CMakeLists.txt
|- project/
| |- .xceditor/
| | |- imgui_layout.ini
| | `- thumbs/
| |- Assets/
| | |- Materials/
| | |- Materials.meta
| | |- Models/
| | |- Models.meta
| | |- New Folder.meta
| | |- New Folder 1.meta
| | |- New Material.mat
| | |- New Material.mat.meta
| | |- Scenes/
| | | |- Backpack.xc
| | | |- Backpack.xc.meta
| | | |- Main.xc
| | | |- Main.xc.meta
| | | |- NewFolder.meta
| | | `- NewFolder/
| | |- Scenes.meta
| | |- Scripts/
| | | |- ProjectScriptProbe.cs
| | | |- ProjectScriptProbe.cs.meta
| | | |- Textures/
| | | |- Textures.meta
| | | |- TickLogProbe.cs
| | | `- TickLogProbe.cs.meta
| | `- Scripts.meta
| |- Library/
| | |- ArtifactDB/
| | | `- artifacts.db
| | |- Artifacts/
| | | `- <bucket>/<artifact-id>/
| | |- ScriptAssemblies/
| | | |- GameScripts.dll
| | | `- mscorlib.dll
| | `- SourceAssetDB/
| | `- assets.db
| |- Assets.meta
| `- Project.xcproject
|- scripts/
| `- Run-RendererPhaseRegression.ps1
|- tests/
| |- CMakeLists.txt
| |- TEST_SPEC.md
| |- Components/
| |- Core/
| | |- Asset/
| | |- Containers/
| | |- IO/
| | `- Math/
| |- Debug/
| |- Editor/
| | |- CMakeLists.txt
| | |- test_action_routing.cpp
| | |- test_application_asset_cache_stub.cpp
| | |- test_builtin_icon_layout_utils.cpp
| | |- test_editor_console_sink.cpp
| | |- test_editor_script_assembly_builder.cpp
| | |- test_editor_script_assembly_builder_utils.cpp
| | |- test_play_session_controller.cpp
| | |- test_play_session_controller_scripting.cpp
| | |- test_scene_viewport_camera_controller.cpp
| | |- test_scene_viewport_chrome.cpp
| | |- test_scene_viewport_interaction_actions.cpp
| | |- test_scene_viewport_interaction_frame.cpp
| | |- test_scene_viewport_interaction_resolver.cpp
| | |- test_scene_viewport_move_gizmo.cpp
| | |- test_scene_viewport_navigation.cpp
| | |- test_scene_viewport_overlay_providers.cpp
| | |- test_scene_viewport_overlay_renderer.cpp
| | |- test_scene_viewport_picker.cpp
| | |- test_scene_viewport_rotate_gizmo.cpp
| | |- test_scene_viewport_scale_gizmo.cpp
| | |- test_scene_viewport_shader_paths.cpp
| | |- test_scene_viewport_transform_gizmo_coordinator.cpp
| | |- test_script_component_editor_utils.cpp
| | |- test_viewport_host_surface_utils.cpp
| | |- test_viewport_object_id_picker.cpp
| | |- test_viewport_render_flow_utils.cpp
| | `- test_viewport_render_targets.cpp
| |- Fixtures/
| | `- Resources/
| |- Input/
| |- Memory/
| |- NewEditor/ # 当前为空的预留测试根目录
| |- Rendering/
| | |- integration/
| | | |- backpack_lit_scene/
| | | |- backpack_scene/
| | | |- camera_stack_scene/
| | | |- cull_material_scene/
| | | |- depth_sort_scene/
| | | |- material_state_scene/
| | | |- offscreen_scene/
| | | |- textured_quad_scene/
| | | `- transparent_material_scene/
| | `- unit/
| |- Resources/
| | |- AudioClip/
| | |- Material/
| | |- Mesh/
| | |- Shader/
| | `- Texture/
| |- RHI/
| | |- D3D12/
| | | |- integration/
| | | `- unit/
| | |- integration/
| | | |- backpack/
| | | |- fixtures/
| | | |- minimal/
| | | |- quad/
| | | |- sphere/
| | | `- triangle/
| | |- OpenGL/
| | | |- integration/
| | | `- unit/
| | |- unit/
| | `- Vulkan/
| | |- integration/
| | `- unit/
| |- Scene/
| |- Scripting/
| |- Threading/
| `- UI/
| |- Core/
| |- Editor/
| |- Runtime/
| `- TEST_SPEC.md
|- 参考/
| |- Fermion/
| |- TransformGizmo/
| |- unity editor/
| |- unity-editor-icons/
| |- unity-icons/
| `- UnityRuntimeSceneGizmo-master/
`- .vscode/
```
## 关键文档入口
- 编辑器模块说明:[editor/README.md](editor/README.md)
- 面向引擎实现者和 coding agent 的协作基线:[AGENT.md](AGENT.md)
- 编辑器说明:[editor/README.md](editor/README.md)
- API 文档入口:[docs/api/main.md](docs/api/main.md)
- 架构蓝图:[docs/blueprint.md](docs/blueprint.md)
- RHI 基线设计[docs/plan/end/RHI模块设计与实现/RHI模块总览.md](docs/plan/end/RHI模块设计与实现/RHI模块总览.md)
- Library 启动与运行时加载主线:[docs/plan/Library启动预热与运行时异步加载混合重构计划_2026-04-04.md](docs/plan/Library启动预热与运行时异步加载混合重构计划_2026-04-04.md)
- Editor 当前架构:[docs/plan/Editor架构说明.md](docs/plan/Editor架构说明.md)
- 当前 Shader / Material 主线:[docs/plan/Renderer下一阶段_Unity风格Shader体系正式化计划_2026-04-06.md](docs/plan/Renderer下一阶段_Unity风格Shader体系正式化计划_2026-04-06.md)
- XCUI 总体蓝图:[docs/plan/XCUI完整架构设计与执行计划.md](docs/plan/XCUI完整架构设计与执行计划.md)
- XCUI 阶段状态:[docs/plan/XCUI_Phase_Status_2026-04-05.md](docs/plan/XCUI_Phase_Status_2026-04-05.md)
- Editor 架构说明[docs/plan/Editor架构说明.md](docs/plan/Editor架构说明.md)
- 测试规范:[tests/TEST_SPEC.md](tests/TEST_SPEC.md)
- 协作约定:[AGENT.md](AGENT.md)
## 许可说明
## 当前状态
`XCEngine` 仍处于高频迭代阶段,但当前仓库已经不是“零散原型集合”,而是一个以编辑器工作流为中心持续收口的引擎工作区。接口、目录和构建细节仍可能调整,但主线方向已经比较明确:
- 稳定 `RHI / Rendering / Asset Pipeline / Editor` 主链。
- 继续推进 `Mono Scripting` 与项目脚本工作流。
- 推进 `XCUI` 新编辑器主线从组件库走向完整宿主。
当前仓库根目录未看到独立的顶层许可证文件。涉及第三方库时,请分别遵循其所在目录中的许可证或随附说明。