2026-04-09 23:40:43 +08:00
|
|
|
|
# API 文档目录结构重构并行任务板(第二轮,2026-04-09)
|
|
|
|
|
|
|
|
|
|
|
|
## 背景
|
|
|
|
|
|
|
|
|
|
|
|
本轮不是普通补页,而是一次“目录归位 + 失效页清理 + 新模块补平”混合重构。
|
|
|
|
|
|
|
2026-04-10 17:36:25 +08:00
|
|
|
|
## 状态更新(2026-04-10 17:07:09)
|
|
|
|
|
|
|
|
|
|
|
|
- 当前 `docs/api/XCEngine/**` + `docs/api/XCEditor/**` + `editor/src/**` 审计已经全绿。
|
|
|
|
|
|
- `R1` - `R7` 对应的主要结构归位、失效页清理和缺页补齐已经完成。
|
|
|
|
|
|
- 当前剩余重点不再是“补 XCEditor / Volume / XCUIDemoPanel”,而是:
|
|
|
|
|
|
- `R8` 这类残余结构规范化
|
|
|
|
|
|
- 更高风险的 `RHI / Rendering / Editor/Viewport` 内容回归
|
|
|
|
|
|
- 历史空目录与重复入口的持续收口
|
|
|
|
|
|
|
2026-04-09 23:40:43 +08:00
|
|
|
|
已确认的事实来源:
|
|
|
|
|
|
|
|
|
|
|
|
- 本地源码目录对照
|
|
|
|
|
|
- `engine/include/XCEngine/**`
|
|
|
|
|
|
- `editor/src/**`
|
|
|
|
|
|
- 最新审计
|
|
|
|
|
|
- `python -B docs/api/_tools/audit_api_docs.py`
|
|
|
|
|
|
- 多路 `GPT-5.4 high` 子代理并行审计结论
|
|
|
|
|
|
|
2026-04-10 17:36:25 +08:00
|
|
|
|
## 当前已确认的结构问题(原始发现快照)
|
2026-04-09 23:40:43 +08:00
|
|
|
|
|
|
|
|
|
|
### 1. Rendering 根目录存在明显错位页面
|
|
|
|
|
|
|
|
|
|
|
|
以下文档目录名是对的,但父目录已经错了,应该先迁回真实源码子模块:
|
|
|
|
|
|
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/CameraRenderer`
|
|
|
|
|
|
- 实际应对应 `engine/include/XCEngine/Rendering/Execution/CameraRenderer.h`
|
|
|
|
|
|
- 目标路径:`docs/api/XCEngine/Rendering/Execution/CameraRenderer`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/SceneRenderer`
|
|
|
|
|
|
- 实际应对应 `engine/include/XCEngine/Rendering/Execution/SceneRenderer.h`
|
|
|
|
|
|
- 目标路径:`docs/api/XCEngine/Rendering/Execution/SceneRenderer`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/CameraRenderRequest`
|
|
|
|
|
|
- 实际应对应 `engine/include/XCEngine/Rendering/Planning/CameraRenderRequest.h`
|
|
|
|
|
|
- 目标路径:`docs/api/XCEngine/Rendering/Planning/CameraRenderRequest`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/SceneRenderRequestPlanner`
|
|
|
|
|
|
- 实际应对应 `engine/include/XCEngine/Rendering/Planning/SceneRenderRequestPlanner.h`
|
|
|
|
|
|
- 目标路径:`docs/api/XCEngine/Rendering/Planning/SceneRenderRequestPlanner`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/SceneRenderRequestUtils`
|
|
|
|
|
|
- 实际应对应 `engine/include/XCEngine/Rendering/Planning/SceneRenderRequestUtils.h`
|
|
|
|
|
|
- 目标路径:`docs/api/XCEngine/Rendering/Planning/SceneRenderRequestUtils`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/RenderSceneExtractor`
|
|
|
|
|
|
- 实际应对应 `engine/include/XCEngine/Rendering/Extraction/RenderSceneExtractor.h`
|
|
|
|
|
|
- 目标路径:`docs/api/XCEngine/Rendering/Extraction/RenderSceneExtractor`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/RenderSceneUtility`
|
|
|
|
|
|
- 实际应对应 `engine/include/XCEngine/Rendering/Extraction/RenderSceneUtility.h`
|
|
|
|
|
|
- 目标路径:`docs/api/XCEngine/Rendering/Extraction/RenderSceneUtility`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/RenderResourceCache`
|
|
|
|
|
|
- 实际应对应 `engine/include/XCEngine/Rendering/Caches/RenderResourceCache.h`
|
|
|
|
|
|
- 目标路径:`docs/api/XCEngine/Rendering/Caches/RenderResourceCache`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/RenderCameraData`
|
|
|
|
|
|
- 实际应对应 `engine/include/XCEngine/Rendering/FrameData/RenderCameraData.h`
|
|
|
|
|
|
- 目标路径:`docs/api/XCEngine/Rendering/FrameData/RenderCameraData`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/ObjectIdPass`
|
|
|
|
|
|
- 当前属于旧命名
|
|
|
|
|
|
- 实际应归入 `docs/api/XCEngine/Rendering/Passes/BuiltinObjectIdPass`
|
|
|
|
|
|
|
|
|
|
|
|
### 1.1 已确认“正确目录已存在,但错位旧目录仍保留”的重复区
|
|
|
|
|
|
|
|
|
|
|
|
以下区域不是“目标目录不存在”,而是“新目录已经有页,旧错位目录还没清掉”:
|
|
|
|
|
|
|
|
|
|
|
|
- `Rendering/CameraRenderer` 与 `Rendering/Execution/CameraRenderer`
|
|
|
|
|
|
- `Rendering/SceneRenderer` 与 `Rendering/Execution/SceneRenderer`
|
|
|
|
|
|
- `Rendering/RenderSceneExtractor` 与 `Rendering/Extraction/RenderSceneExtractor`
|
|
|
|
|
|
- `Rendering/RenderSceneUtility` 与 `Rendering/Extraction/RenderSceneUtility`
|
|
|
|
|
|
- `Rendering/RenderResourceCache` 与 `Rendering/Caches/RenderResourceCache`
|
|
|
|
|
|
- `Rendering/RenderCameraData` 与 `Rendering/FrameData/RenderCameraData`
|
|
|
|
|
|
- `Rendering/CameraRenderRequest` 与 `Rendering/Planning/CameraRenderRequest`
|
|
|
|
|
|
- `Rendering/SceneRenderRequestPlanner` 与 `Rendering/Planning/SceneRenderRequestPlanner`
|
|
|
|
|
|
- `Rendering/SceneRenderRequestUtils` 与 `Rendering/Planning/SceneRenderRequestUtils`
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 已经脱离源码现实的失效页
|
|
|
|
|
|
|
|
|
|
|
|
- `docs/api/XCEngine/Editor/panels/XCUIDemoPanel/XCUIDemoPanel.md`
|
|
|
|
|
|
- 当前仍引用不存在的 `editor/src/panels/XCUIDemoPanel.h`
|
|
|
|
|
|
- 这是当前审计里唯一明确的失效源文件引用
|
|
|
|
|
|
- `docs/api/XCEngine/Editor/Viewport/SceneViewportOverlayRenderer`
|
|
|
|
|
|
- 当前 `editor/src/Viewport` 下已无对应头文件
|
|
|
|
|
|
- 优先视为待清理历史目录
|
|
|
|
|
|
- 以下页面仍引用或延续了这条旧链路:
|
|
|
|
|
|
- `docs/api/XCEngine/Editor/panels/panels.md`
|
|
|
|
|
|
- `docs/api/XCEngine/Editor/XCUIBackend/ImGuiTransitionBackend/ImGuiTransitionBackend.md`
|
|
|
|
|
|
- `docs/api/XCEngine/UI/DrawData/DrawData.md`
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 旧概念或旧结构残留页
|
|
|
|
|
|
|
|
|
|
|
|
以下目录需要先做“是否仍有真实源码对应物”的确认,再决定迁移还是删除:
|
|
|
|
|
|
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/RenderMaterialUtility`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/ObjectIdEncoding`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/VisibleRenderObject`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/Pipelines/BuiltinForwardPipelineAsset`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/Passes/ObjectIdOutlineStyle`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/Passes/BuiltinPostProcessPassPlan`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/Passes/BuiltinPostProcessPassSequenceBuilder`
|
|
|
|
|
|
- `docs/api/XCEngine/Resources/Shader/ShaderRenderState`
|
|
|
|
|
|
|
|
|
|
|
|
### 4. 本轮新暴露出来的结构缺页
|
|
|
|
|
|
|
|
|
|
|
|
这些目录现在是真实源码节点,且已经进入主链,应尽快补平:
|
|
|
|
|
|
|
|
|
|
|
|
- `docs/api/XCEngine/Resources/Volume/Volume`
|
|
|
|
|
|
- `docs/api/XCEngine/Resources/Volume/VolumeField`
|
|
|
|
|
|
- `docs/api/XCEngine/Resources/Volume/VolumeFieldLoader`
|
|
|
|
|
|
- `docs/api/XCEngine/Components/VolumeRendererComponent`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/FrameData/VisibleVolumeItem`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/Passes/BuiltinSelectionMaskPass`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/Passes/BuiltinSelectionOutlinePass`
|
|
|
|
|
|
- `docs/api/XCEngine/Rendering/Passes/BuiltinVolumetricPass`
|
|
|
|
|
|
- `docs/api/XCEngine/UI/Widgets/UIDragDropInteraction`
|
|
|
|
|
|
- `docs/api/XCEngine/UI/Widgets/UIScrollModel`
|
|
|
|
|
|
- `docs/api/XCEngine/Editor/ComponentEditors/VolumeRendererComponentEditor`
|
|
|
|
|
|
- `docs/api/XCEngine/Editor/panels/MaterialInspectorMaterialState`
|
|
|
|
|
|
- `docs/api/XCEngine/Editor/panels/MaterialInspectorMaterialStateIO`
|
|
|
|
|
|
|
|
|
|
|
|
## 并行认领规则
|
|
|
|
|
|
|
|
|
|
|
|
- 一次只认领一个任务块
|
|
|
|
|
|
- 认领人必须同时处理:
|
|
|
|
|
|
- 目标页面
|
|
|
|
|
|
- 所在模块索引页
|
|
|
|
|
|
- 交叉引用修正
|
|
|
|
|
|
- 做删除前先执行:
|
|
|
|
|
|
- `rg -n "<名称>" docs/api/XCEngine docs/api/_guides docs/plan`
|
|
|
|
|
|
- 每完成一个任务块后必须执行:
|
|
|
|
|
|
- `python -B docs/api/_tools/audit_api_docs.py`
|
|
|
|
|
|
- 每完成一个阶段后必须:
|
|
|
|
|
|
- `git commit`
|
|
|
|
|
|
- `git push`
|
|
|
|
|
|
|
|
|
|
|
|
## 并行任务块
|
|
|
|
|
|
|
|
|
|
|
|
| ID | 范围 | 目标改动 | 主要路径 | 状态 | 认领人 |
|
|
|
|
|
|
|----|------|----------|----------|------|--------|
|
2026-04-10 17:36:25 +08:00
|
|
|
|
| `R1` | Rendering 目录归位 | 把错挂在 `Rendering` 根目录下的页面迁回 `Execution / Planning / Extraction / Caches / FrameData / Passes`,并与已存在的正确目录合并 | `docs/api/XCEngine/Rendering/**` | `completed` | 当前会话 |
|
|
|
|
|
|
| `R2` | 旧概念 Rendering 清理 | 核查并清理 `RenderMaterialUtility / ObjectIdEncoding / VisibleRenderObject / BuiltinForwardPipelineAsset / ObjectIdOutlineStyle / BuiltinPostProcessPassPlan / BuiltinPostProcessPassSequenceBuilder / ShaderRenderState` | `docs/api/XCEngine/Rendering/**` `docs/api/XCEngine/Resources/Shader/**` | `completed` | 当前会话 |
|
|
|
|
|
|
| `R3` | Editor 失效页清理 | 删除或退役 `XCUIDemoPanel / SceneViewportOverlayRenderer`,并修正所有反向引用 | `docs/api/XCEngine/Editor/**` | `completed` | 当前会话 |
|
|
|
|
|
|
| `R4` | Volume 资源与运行时主链 | 补齐 `Volume / VolumeField / VolumeFieldLoader / VolumeRendererComponent / VisibleVolumeItem / BuiltinVolumetricPass` | `docs/api/XCEngine/Resources/**` `docs/api/XCEngine/Components/**` `docs/api/XCEngine/Rendering/**` | `completed` | 当前会话 |
|
|
|
|
|
|
| `R5` | Selection pass 结构补齐 | 补齐 `BuiltinSelectionMaskPass` 与 `BuiltinSelectionOutlinePass`,并同步 `Passes.md` | `docs/api/XCEngine/Rendering/Passes/**` | `completed` | 当前会话 |
|
|
|
|
|
|
| `R6` | UI 新 helper | 补齐 `UIDragDropInteraction` 与 `UIScrollModel`,并同步 `Widgets.md` | `docs/api/XCEngine/UI/Widgets/**` | `completed` | 当前会话 |
|
|
|
|
|
|
| `R7` | Editor 当前真实 helper | 补齐 `VolumeRendererComponentEditor / MaterialInspectorMaterialState / MaterialInspectorMaterialStateIO`,并同步 `ComponentEditors.md` 与 `panels.md` | `docs/api/XCEngine/Editor/**` | `completed` | 当前会话 |
|
2026-04-09 23:40:43 +08:00
|
|
|
|
| `R8` | 结构规范补齐 | 修正仍不满足“一类型一文件夹”的点,例如 `Editor/UI/UI`、`Resources/Material/MaterialRenderState` 这类混挂页 | `docs/api/XCEngine/**` | `pending` | |
|
|
|
|
|
|
| `R9` | 全量回归 | 统一修链、清理空目录、重跑审计、收口索引页 | `docs/api/**` | `pending` | |
|
|
|
|
|
|
|
|
|
|
|
|
## 推荐阶段顺序
|
|
|
|
|
|
|
|
|
|
|
|
### Phase 1
|
|
|
|
|
|
|
|
|
|
|
|
- `R3`
|
|
|
|
|
|
- `R1`
|
|
|
|
|
|
- `R2`
|
|
|
|
|
|
|
|
|
|
|
|
说明:
|
|
|
|
|
|
|
|
|
|
|
|
- 先把失效页和错位目录处理掉,后续内容重写才不会继续落在错误路径上
|
|
|
|
|
|
|
|
|
|
|
|
### Phase 2
|
|
|
|
|
|
|
|
|
|
|
|
- `R4`
|
|
|
|
|
|
- `R5`
|
|
|
|
|
|
- `R6`
|
|
|
|
|
|
- `R7`
|
|
|
|
|
|
- `R8`
|
|
|
|
|
|
|
|
|
|
|
|
说明:
|
|
|
|
|
|
|
|
|
|
|
|
- 这一阶段是把新主链和当前真实 helper 补平
|
|
|
|
|
|
|
|
|
|
|
|
### Phase 3
|
|
|
|
|
|
|
|
|
|
|
|
- `R9`
|
|
|
|
|
|
|
|
|
|
|
|
说明:
|
|
|
|
|
|
|
|
|
|
|
|
- 统一收口、审计、整理最终状态
|
|
|
|
|
|
|
|
|
|
|
|
## 最低验收标准
|
|
|
|
|
|
|
|
|
|
|
|
### `R1`
|
|
|
|
|
|
|
|
|
|
|
|
- 所有迁移后的页面目录与真实头文件父目录一致
|
|
|
|
|
|
- 原路径不再保留 active canonical 页面
|
|
|
|
|
|
|
|
|
|
|
|
### `R2`
|
|
|
|
|
|
|
|
|
|
|
|
- 每个旧概念页都给出明确结论:
|
|
|
|
|
|
- 删除
|
|
|
|
|
|
- 迁移
|
|
|
|
|
|
- 改写为真实对应页
|
|
|
|
|
|
|
|
|
|
|
|
### `R3`
|
|
|
|
|
|
|
|
|
|
|
|
- `Invalid source refs` 归零
|
|
|
|
|
|
- `XCUIDemoPanel` 不再作为当前有效 API 页面存在于 canonical 树
|
|
|
|
|
|
|
|
|
|
|
|
### `R4` - `R8`
|
|
|
|
|
|
|
|
|
|
|
|
- 每个类型都是“一文件夹 + 一主页面”
|
|
|
|
|
|
- 页面描述必须基于当前源码与测试
|
|
|
|
|
|
- 模块索引页同步更新
|
|
|
|
|
|
|
|
|
|
|
|
### `R9`
|
|
|
|
|
|
|
|
|
|
|
|
- `Invalid header refs = 0`
|
|
|
|
|
|
- `Invalid source refs = 0`
|
|
|
|
|
|
- `Broken .md links = 0`
|
|
|
|
|
|
- `Missing directory index pages = 0`
|
|
|
|
|
|
|
|
|
|
|
|
## 备注
|
|
|
|
|
|
|
|
|
|
|
|
- 当前仓库存在多会话并行改动,尤其是 `Rendering`、`RHI`、`Editor/Viewport` 相关头文件;真正执行重构时优先选择干净路径,避免和其他会话冲突
|
|
|
|
|
|
- 如果某个任务块执行过程中发现真实源码再次变动,应先回到本任务板更新状态,不要硬做
|