Compare commits

...

2 Commits

6 changed files with 76 additions and 15 deletions

View File

@@ -10,7 +10,7 @@
## 角色概述
`CameraComponent` 是当前渲染管线里的相机配置组件。它本身不持有 view/projection 矩阵,也不直接执行渲染;真正的消费方是 [RenderSceneExtractor](../../Rendering/RenderSceneExtractor/RenderSceneExtractor.md)。
`CameraComponent` 是当前渲染管线里的相机配置组件。它本身不持有 view/projection 矩阵,也不直接执行渲染;真正的消费方是 [RenderSceneExtractor](../../Rendering/Extraction/RenderSceneExtractor/RenderSceneExtractor.md)。
从职责上看,它更像 Unity 里“挂在对象上的 Camera 配置数据”,而不是一个自带完整渲染流程的重型对象。
@@ -39,7 +39,7 @@
### 3. 相机选择规则由渲染场景提取器决定
当前 [RenderSceneExtractor](../../Rendering/RenderSceneExtractor/RenderSceneExtractor.md) 的选择顺序是:
当前 [RenderSceneExtractor](../../Rendering/Extraction/RenderSceneExtractor/RenderSceneExtractor.md) 的选择顺序是:
1. 先用可用的 override camera
2. 否则在所有可用主相机里挑 `Depth` 最大的那个
@@ -116,5 +116,5 @@
- [当前模块](../Components.md)
- [GameObject](../GameObject/GameObject.md)
- [TransformComponent](../TransformComponent/TransformComponent.md)
- [RenderSceneExtractor](../../Rendering/RenderSceneExtractor/RenderSceneExtractor.md)
- [RenderSceneExtractor](../../Rendering/Extraction/RenderSceneExtractor/RenderSceneExtractor.md)
- [API 总索引](../../../main.md)

View File

@@ -160,5 +160,5 @@
- [当前模块](../Components.md)
- [MeshRendererComponent](../MeshRendererComponent/MeshRendererComponent.md)
- [RenderSceneExtractor](../../Rendering/RenderSceneExtractor/RenderSceneExtractor.md)
- [RenderSceneExtractor](../../Rendering/Extraction/RenderSceneExtractor/RenderSceneExtractor.md)
- [API 总索引](../../../main.md)

View File

@@ -182,6 +182,6 @@ renderLayer=0;
- [当前模块](../Components.md)
- [MeshFilterComponent](../MeshFilterComponent/MeshFilterComponent.md)
- [RenderSceneExtractor](../../Rendering/RenderSceneExtractor/RenderSceneExtractor.md)
- [RenderSceneExtractor](../../Rendering/Extraction/RenderSceneExtractor/RenderSceneExtractor.md)
- [BuiltinForwardPipeline](../../Rendering/Pipelines/BuiltinForwardPipeline/BuiltinForwardPipeline.md)
- [API 总索引](../../../main.md)

View File

@@ -36,8 +36,6 @@
| [CollectCameras](CollectCameras.md) | 收集本次应参与渲染的相机列表。 |
| [BuildRequests](BuildRequests.md) | 把相机列表展开成可执行的 `CameraRenderRequest` 数组。 |
## 公开方法
## 当前规划规则
### `CollectCameras()`

View File

@@ -1,6 +1,6 @@
# API 文档重构状态
**生成时间**: `2026-04-10 17:15:49`
**生成时间**: `2026-04-10 17:21:15`
**来源**: `docs/api/_tools/audit_api_docs.py`

View File

@@ -17,12 +17,12 @@
## 当前复核快照
- 最近一次结构审计时间:`2026-04-10 00:07:30`
- 最近一次结构审计时间:`2026-04-10 17:02:06`
- 审计命令:`python -B docs/api/_tools/audit_api_docs.py`
- 当前结果:
- `Public headers: 313`
- `Public headers: 384`
- `Editor source headers: 144`
- `Valid header refs (canonical): 313`
- `Valid header refs (canonical): 384`
- `Invalid header refs: 0`
- `Invalid source refs: 0`
- `Valid source refs (Editor canonical): 144`
@@ -33,7 +33,7 @@
- `Stale editor canonical pages: 0`
- `Editor high-risk single-page dirs: 0`
这说明当前 canonical public header 覆盖与全部 Editor source-backed API 都已跟上重大重构后的最新头文件集;本轮新增的 `Volume``Selection/Volumetric Passes``UI/Widgets Helpers` 与 Editor helper/source-backed 页面已经全部收口完成
这说明当前 canonical public header 覆盖与全部 Editor source-backed API 都已跟上重大重构后的最新头文件集; `Volume``Selection/Volumetric Passes``UI/Widgets Helpers` 与 Editor helper/source-backed 页面收口后,本轮新增进入审计口径的 `XCEditor``Resources/Model``Resources/GaussianSplat` 入口也已补齐
### 已复核、暂不新开任务的区域
@@ -811,9 +811,72 @@
- 已清理 `XCUIDemoPanel` 作为当前 source-backed 页面/调用链入口的残留口径。
- 已重新运行 `python -B docs/api/_tools/audit_api_docs.py`,确认 `Public headers: 313``Editor source headers: 144``Valid header refs (canonical): 313``Valid source refs (Editor canonical): 144``Broken .md links: 0``Missing directory index pages: 0``Editor high-risk single-page dirs: 0`
## T27 Rendering / 目录归位收口与新结构口径修正2026-04-10
- 状态: `DONE`
- 认领人: `Codex`
- 优先级: `P0`
- 写入范围:
- `docs/api/XCEngine/Rendering/**`
- `docs/api/_tools/audit_api_docs.py`
- `docs/api/_meta/rebuild-status.md`
- `docs/plan/API文档目录结构第二轮并行任务板_2026-04-09.md`
- 主要源码依据:
- `engine/include/XCEngine/Rendering/Execution/CameraRenderer.h`
- `engine/include/XCEngine/Rendering/Execution/SceneRenderer.h`
- `engine/include/XCEngine/Rendering/Planning/CameraRenderRequest.h`
- `engine/include/XCEngine/Rendering/Planning/SceneRenderRequestPlanner.h`
- `engine/include/XCEngine/Rendering/Extraction/RenderSceneExtractor.h`
- `engine/include/XCEngine/Rendering/Extraction/RenderSceneUtility.h`
- `engine/src/Rendering/Execution/CameraRenderer.cpp`
- `engine/src/Rendering/Execution/SceneRenderer.cpp`
- `engine/src/Rendering/Planning/SceneRenderRequestPlanner.cpp`
- 已确认问题:
- `Rendering` 根目录旧位置页已经删除但总览页、planner 说明和审计脚本的 stale-token 路径仍部分停留在重构前口径。
- `Rendering.md` 仍把 fullscreen 阶段漏在主流程外,并继续把 `RenderMaterialUtility` 描述成当前真实头文件入口。
- `SceneRenderRequestPlanner.md` / `BuildRequests.md` 还没有写出 `DirectionalShadowPlanningSettings` 和自动方向光阴影计划的真实补全过程。
- `audit_api_docs.py` 的 canonical stale-token 检查仍挂在旧的 `Rendering/CameraRenderer``Rendering/CameraRenderRequest` 路径上,无法覆盖新的 `Execution/``Planning/` 目录。
- 完成记录:
- 已确认旧顶层 `CameraRenderer``SceneRenderer``CameraRenderRequest``SceneRenderRequestPlanner``SceneRenderRequestUtils``RenderCameraData``RenderResourceCache``RenderSceneExtractor``RenderSceneUtility` canonical 目录都已退出 active 树,只保留真实子模块位置。
- 已更新 `Rendering.md``Builtin.md``Materials.md`,把 builtin / materials 拆分后的真实入口与兼容主题页边界写清,并把 `postProcess -> finalOutput -> objectId` 重新纳入主流程顺序。
- 已更新 `SceneRenderRequestPlanner.md``BuildRequests.md`,补齐 `DirectionalShadowPlanningSettings`、planner 的 setter/getter以及自动方向光阴影计划写回 `shadowCaster` override 的当前实现。
- 已把审计脚本中的 stale canonical path 从旧顶层 Rendering 目录迁到新的 `Planning/CameraRenderRequest``Execution/CameraRenderer` 位置。
- 已重新运行 `python -B docs/api/_tools/audit_api_docs.py`,确认 `Public headers: 384``Valid header refs (canonical): 384``Editor source headers: 144``Valid source refs (Editor canonical): 144``Broken .md links: 0``Missing directory index pages: 0``Editor high-risk single-page dirs: 0`
## T28 Resources / `Model` + `GaussianSplat` canonical 入口补齐2026-04-10
- 状态: `DONE`
- 认领人: `Codex`
- 优先级: `P0`
- 写入范围:
- `docs/api/XCEngine/Resources/Model/**`
- `docs/api/XCEngine/Resources/GaussianSplat/**`
- `docs/api/XCEngine/Resources/Resources.md`
- `docs/api/_meta/rebuild-status.md`
- 主要源码依据:
- `engine/include/XCEngine/Resources/Model/AssimpModelImporter.h`
- `engine/include/XCEngine/Resources/Model/Model.h`
- `engine/include/XCEngine/Resources/Model/ModelArtifactIO.h`
- `engine/include/XCEngine/Resources/Model/ModelLoader.h`
- `engine/include/XCEngine/Resources/GaussianSplat/GaussianSplat.h`
- `engine/include/XCEngine/Resources/GaussianSplat/GaussianSplatArtifactIO.h`
- `engine/include/XCEngine/Resources/GaussianSplat/GaussianSplatLoader.h`
- `engine/src/Resources/GaussianSplat/GaussianSplat.cpp`
- `engine/src/Resources/GaussianSplat/GaussianSplatArtifactIO.cpp`
- `engine/src/Resources/GaussianSplat/GaussianSplatLoader.cpp`
- 已确认问题:
- `Resources/Model` 细页已经存在,但目录级 `Model.md` 缺失,导致 `../Model.md` 反向链接和目录索引一起失效。
- 新增的 `Resources/GaussianSplat/**` public headers 已经进入源码树与 `Resources.md` 导航,但 canonical API 树还没有对应目录和头文件页。
- 这些缺口属于新 dplan 落地后的新增资源子模块入口缺页,不再是旧 Rendering 目录错位问题。
- 完成记录:
- 已补建 `Resources/Model/Model.md`,把 `Model` 目录收口为正式 submodule 入口,消除了 `AssimpModelImporter``Model``ModelArtifactIO``ModelLoader` 细页对 `../Model.md` 的失效链接。
- 已补建 `Resources/GaussianSplat/**`,覆盖 `GaussianSplat` submodule、`GaussianSplat` 运行时资源、`GaussianSplatArtifactIO``GaussianSplatLoader` 三个 public headers。
- 已同步 `Resources.md`,把 `GaussianSplat` 纳入 `Resources` 模块子目录导航。
- 已重新运行 `python -B docs/api/_tools/audit_api_docs.py`,确认 `Public headers: 384``Editor source headers: 144``Valid header refs (canonical): 384``Valid source refs (Editor canonical): 144``Invalid header refs: 0``Invalid source refs: 0``Broken .md links: 0``Missing directory index pages: 0`
## 当前结论
- 第三轮复核当前已确认 `26` 组失配;`T01``T26`全部完成。
- 当前 `Public headers` 已达到 `313/313``Editor source headers` 已达到 `144/144`结构层、Resources、RHI、Rendering、UI 和全部 Editor source-backed API 均为全绿状态
- `Volume`、selection / volumetric rendering、UI widget helpers、Editor material-authoring helpers 与 Scene View selection-outline 文档链路均已同步到当前源码主线
- 第三轮复核当前已确认 `28` 组失配;`T01``T28` 已完成,其中 `T27` 收口了 Rendering 目录归位后的总览口径和审计路径,`T28` 补齐了 `Resources/Model``Resources/GaussianSplat` 的 canonical 入口
- 当前 `engine/include/XCEngine/**``new_editor/include/XCEditor/**``editor/src/**` 三条 canonical 审计主线都已经回到全绿:`Valid header refs (canonical) = 384``Valid source refs (Editor canonical) = 144``Broken .md links = 0``Missing directory index pages = 0`
- 本轮新增纳入审计口径的 `XCEditor``Resources/Model``Resources/GaussianSplat` 已经进入 canonical API 树不再是遗留缺口Rendering 目录错位、overview 口径漂移和 stale-token 路径也已同步收口
- 后续如果 `docs/plan/` 再出现新的 API 相关计划,或工作树新增/改动 public header、Editor source header应继续在此任务池追加新任务块并在收口前重新运行 `python -B docs/api/_tools/audit_api_docs.py`