34 KiB
34 KiB
API 文档实时同步任务池(2026-04-03,第二轮)
文档定位
这份任务池现已归档,接替的是第一轮归档:
docs/used/API文档实时同步任务池_2026-04-03_第一轮归档.md
第一轮已经解决的重点是:
- canonical 目录结构收口
- 历史缺页补齐
- 第一轮大规模内容重写
本轮重点不再是“补结构”,而是:
- 重新对照当前工作树源码与测试
- 清理最近重构后重新出现的内容级失配
- 继续维护一份适合多人并行认领的增量同步清单
当前复核快照
- 最近一次结构审计时间:
2026-04-03 16:21:55 - 审计命令:
python -B docs/api/_tools/audit_api_docs.py - 当前结果:
Public headers: 244Editor source headers: 126Invalid header refs: 0Invalid source refs: 0Broken .md links: 0Stale canonical doc tokens: 0Stale editor doc tokens: 0Stale editor canonical pages: 0
这说明当前结构层面已经恢复全绿;本轮已确认的内容级失配也已收口,后续以持续巡检为主。
认领规则
- 一次只认领
1个任务块。 - 先把
状态改成DOING,再写认领人。 - 只能改自己任务块的
写入范围。 - 所有改动都必须以“当前源码 + 当前测试 + 当前真实调用链”为依据,不允许按旧文档续写旧行为。
- 如果清理了过期 API 页面,必须同时清理交叉链接。
任务池
T01 Editor / Viewport 渲染计划与宿主流程内容同步
- 状态:
DONE - 认领人:
Codex - 优先级:
P0 - 写入范围:
docs/api/XCEngine/Editor/Viewport/SceneViewportRenderPlan/**docs/api/XCEngine/Editor/Viewport/ViewportHostRenderFlowUtils/**docs/api/XCEngine/Editor/Viewport/ViewportHostService/**- 必要时
docs/api/XCEngine/Editor/Viewport/IViewportHostService/**
- 主要源码依据:
editor/src/Viewport/SceneViewportRenderPlan.heditor/src/Viewport/ViewportHostRenderFlowUtils.heditor/src/Viewport/ViewportHostService.htests/editor/test_viewport_render_flow_utils.cpp
- 已关闭问题:
- 旧文档仍把 Scene View 当前主路径写成 builtin post-process 主导
- 没写清 grid / selection outline 现在已转为显式
postScenePasses - 没写清 overlay pass 是
editorOverlayFrameData + transientOverlayFrameData合并后再创建 - 没写清
Scene object id shader view is unavailable是局部降级警告,不是整帧失败
- 完成记录:
- 已重写
SceneViewportRenderPlan.md、BuildSceneViewportRenderPlan.md、ApplySceneViewportRenderPlan.md - 已同步
ViewportHostRenderFlowUtils.md、ViewportHostService.md、RenderRequestedViewports.md - 已清理
IViewportHostService中残留的旧表述
- 已重写
T02 Core / Asset 缓存接口改名与语义重构同步
- 状态:
DONE - 认领人:
Codex - 优先级:
P0 - 写入范围:
docs/api/XCEngine/Core/Asset/ResourceManager/**docs/api/XCEngine/Core/Asset/AssetImportService/**docs/api/XCEngine/Core/Asset/ProjectAssetIndex/**- 必要时
docs/api/XCEngine/Core/Asset/Asset.md - 必要时
docs/api/XCEngine/Core/Asset/ArtifactFormats/**
- 主要源码依据:
engine/include/XCEngine/Core/Asset/ResourceManager.hengine/src/Core/Asset/ResourceManager.cppengine/include/XCEngine/Core/Asset/AssetImportService.hengine/src/Core/Asset/AssetImportService.cppengine/include/XCEngine/Core/Asset/ProjectAssetIndex.hengine/src/Core/Asset/ProjectAssetIndex.cpptests/core/Asset/test_resource_manager.cpp
- 已关闭问题:
RefreshAssetDatabase已经不存在,但旧文档仍在沿用RefreshProjectAssets/RebuildProjectAssetCache/GetProjectLibraryRoot缺页或未写清AssetImportService::EnsureArtifact()旧文档仍把输出写成ResolvedAssetBuildLookupSnapshot()旧文档仍按“双 map 出参”描述,而不是LookupSnapshotImportedAsset::runtimeLoadPath语义未同步到上层文档
- 完成记录:
- 已删除过期页
ResourceManager/RefreshAssetDatabase.md - 已补齐
RefreshProjectAssets.md、RebuildProjectAssetCache.md、GetProjectLibraryRoot.md - 已补齐
LookupSnapshot.md、ImportedAsset.md、GetLibraryRoot.md、RebuildLibraryCache.md - 已同步
Asset.md、ArtifactFormats.md、ResourceManager/Load.md的runtimeLoadPath口径
- 已删除过期页
T03 Scripting / Mono 托管销毁入口同步
- 状态:
DONE - 认领人:
Codex - 优先级:
P1 - 写入范围:
docs/api/XCEngine/Scripting/Mono/MonoScriptRuntime/**
- 主要源码依据:
engine/include/XCEngine/Scripting/Mono/MonoScriptRuntime.hengine/src/Scripting/Mono/MonoScriptRuntime.cpptests/scripting/test_mono_script_runtime.cpp
- 已关闭问题:
DestroyManagedObject(MonoObject*)已进入头文件与测试,但文档树没有对应页面MonoScriptRuntime.md没写清Object.Destroy(...)会回落到原生对象 / 组件销毁
- 完成记录:
- 已新增
DestroyManagedObject.md - 已更新
MonoScriptRuntime.md的 internal call 说明与方法总表
- 已新增
T04 Cross-Module / 教程层与模块总览口径持续复核
- 状态:
DONE - 认领人:
Codex - 优先级:
P2 - 写入范围:
docs/api/_guides/**docs/api/XCEngine/*/*.md- 仅限与本轮已确认 API 变更直接相关的总览页
- 任务目标:
- 继续检查教程页、模块总览页是否仍在传播旧心智模型
- 尤其关注:
- Scene View 仍被写成 builtin post-process 主导
- 资源导入链仍被写成
artifactMainPath/RefreshAssetDatabase时代的口径 - 托管对象销毁路径未在教程层被解释
- 产出要求:
- 只修正已确认失配的 guide / overview 页面
- 不做与当前源码无关的泛化扩写
- 完成记录:
- 已完成一轮 guide / overview 复核
- 已确认
GameObject / Scene教程层仍在传播“tag 只是 name 别名”的旧心智 - 已把后续需要实改的页面收口到
T08
T05 增量变更监控 / 新一轮差异发现
- 状态:
DONE - 认领人:
Codex - 优先级:
P2 - 写入范围:
- 只读检查
engine/include/**、engine/src/**、editor/src/**、tests/** - 必要时只向本任务池追加新任务块
- 只读检查
- 任务目标:
- 继续结合工作树最新改动,找出新的“源码已变但文档还没跟上”的内容级失配
- 优先检查:
- 最近改动过的 public headers
- 最近改动过的 Editor source headers
- 最近新增或更新过的测试
- 产出要求:
- 只记录已确认的问题
- 每条新任务都要写明:
- 受影响文档
- 主要源码依据
- 真实失配点
- 建议写入范围
- 完成记录:
- 已重新扫描当前工作树改动过的 public header、Editor source header、实现文件和测试
- 已确认并追加
T08与T09两组新的内容级失配
T06 Rendering / Camera request、Passes 与执行链旧口径清理
- 状态:
DONE - 认领人:
Codex - 优先级:
P1 - 写入范围:
docs/api/XCEngine/Rendering/CameraRenderRequest/**docs/api/XCEngine/Rendering/CameraRenderer/**docs/api/XCEngine/Rendering/Passes/**docs/api/XCEngine/Rendering/ObjectIdPass/**docs/api/XCEngine/Rendering/RenderPipeline/**docs/api/XCEngine/Rendering/SceneRenderer/**docs/api/XCEngine/Editor/Viewport/SceneViewportRenderPlan/**docs/api/XCEngine/Editor/Viewport/Passes/**- 必要时
docs/api/XCEngine/Editor/Viewport/Viewport.md - 必要时
docs/api/XCEngine/XCEngine.md - 必要时
docs/api/_tools/audit_api_docs.py
- 主要源码依据:
engine/include/XCEngine/Rendering/CameraRenderRequest.hengine/include/XCEngine/Rendering/CameraRenderer.hengine/include/XCEngine/Rendering/Passes/BuiltinObjectIdPass.hengine/include/XCEngine/Rendering/Passes/BuiltinObjectIdOutlinePass.hengine/include/XCEngine/Rendering/Passes/BuiltinInfiniteGridPass.hengine/include/XCEngine/Rendering/ObjectIdPass.hengine/include/XCEngine/Rendering/RenderPipeline.hengine/include/XCEngine/Rendering/SceneRenderer.hengine/src/Rendering/CameraRenderer.cppengine/src/Rendering/SceneRenderer.cpptests/Rendering/unit/test_camera_scene_renderer.cppeditor/src/Viewport/SceneViewportRenderPlan.heditor/src/Viewport/Passes/SceneViewportGridPass.cppeditor/src/Viewport/Passes/SceneViewportSelectionOutlinePass.cppeditor/src/Viewport/ViewportHostRenderFlowUtils.htests/Editor/test_viewport_render_flow_utils.cpptests/Editor/test_scene_viewport_overlay_renderer.cpp
- 已关闭问题:
CameraRenderRequest.md仍描述已删除的builtinPostProcess子请求- 页面仍链接到不存在的
BuiltinPostProcessRequest/BuiltinPostProcessRequest.md - Scene View 已改为通过
postScenePasses/overlayPasses写回 request,但该页口径未同步 CameraRenderer.md仍保留已删除的m_builtinPostProcessBuilder历史口径Passes.md的典型链路只写了postScenePasses,遗漏当前overlayPasses组装路径Rendering/Passes下仍残留已删除的BuiltinPostProcessPassPlan/BuiltinPostProcessPassSequenceBuilder页面BuiltinObjectIdPass、BuiltinInfiniteGridPass多个公开入口缺页ObjectIdPass.md、RenderPipeline.md、SceneRenderer.md与顶层XCEngine.md仍在传播 builtin-post-process 心智模型
- 完成记录:
- 已重写
CameraRenderRequest.md - 已清理
2个失效.md链接 - 已同步
CameraRenderer.md与Passes.md的当前执行链路表述 - 已删除
BuiltinPostProcessPassPlan.md、BuiltinPostProcessPassSequenceBuilder.md - 已补齐
BuiltinObjectIdPass/BuiltinInfiniteGridPass缺失页面,并补充SceneViewportRenderPlan下 grid / selection outline pass factory 页面 - 已新增
SceneViewportGridPass/SceneViewportSelectionOutlinePass页面,并同步Editor/Viewport/Passes/Passes.md与Viewport.md的当前口径 - 已同步
ObjectIdPass.md、RenderPipeline.md、SceneRenderer.md与XCEngine.md的当前口径 - 已补充 Rendering guide、
CameraRenderer::Render与ViewportHostService::RenderRequestedViewports的 request 级 pass 注入说明 - 已为
builtinPostProcess/BuiltinPostProcessRequest/m_builtinPostProcessBuilder增加 canonical 过期符号审计 - 已复跑结构审计并确认
Broken .md links: 0
- 已重写
T07 Editor / Core EditorConsoleSink 生命周期说明同步
- 状态:
DONE - 认领人:
Codex - 优先级:
P1 - 写入范围:
docs/api/XCEngine/Editor/Core/EditorConsoleSink/**- 必要时
docs/api/XCEngine/Editor/Managers/Managers.md - 必要时
docs/api/_tools/audit_api_docs.py
- 主要源码依据:
editor/src/Core/EditorConsoleSink.heditor/src/Core/EditorConsoleSink.cppeditor/src/panels/ConsolePanel.cppeditor/src/Core/EditorLoggingSetup.htests/Editor/test_editor_console_sink.cpp
- 已关闭问题:
EditorConsoleSink::GetInstance()旧文档仍把它写成会返回 fallback 实例- 相关 overview 页面没有写清活动 sink 销毁后会返回
nullptr - 审计脚本此前无法自动拦截这类旧生命周期表述
- 完成记录:
- 已同步
EditorConsoleSink.md、GetInstance.md、Destructor.md - 已同步
Managers.md中对控制台 sink 生命周期的引用口径 - 已为
fallback 实例与“不会返回空指针”旧表述增加定向审计
- 已同步
T08 Components / Scene / Scripting GameObject tag-layer 语义同步
- 状态:
DONE - 认领人:
Codex - 优先级:
P0 - 写入范围:
docs/api/XCEngine/Components/GameObject/**docs/api/XCEngine/Scene/Scene/**docs/api/XCEngine/Scripting/Mono/MonoScriptRuntime/**- 必要时
docs/api/_guides/Components/GameObject-Component-Lifecycle-And-Serialization.md - 必要时
docs/api/_guides/Scene/Scene-Lifecycle-And-Serialization.md
- 主要源码依据:
engine/include/XCEngine/Components/GameObject.hengine/src/Components/GameObject.cppengine/src/Scene/Scene.cppengine/src/Scripting/Mono/MonoScriptRuntime.cppmanaged/XCEngine.ScriptCore/GameObject.csmanaged/XCEngine.ScriptCore/Component.csmanaged/XCEngine.ScriptCore/InternalCalls.cstests/Components/test_game_object.cpptests/Scene/test_scene.cpptests/scripting/test_mono_script_runtime.cpp
- 已确认问题:
GameObject.md仍写“没有真正的 tag 系统”,并把FindGameObjectsWithTag()描述成按名字匹配;这与当前m_tag/CompareTag()/SetTag()实现已不符Scene.md与FindGameObjectWithTag.md仍在传播“按名字查 tag”的旧口径GameObject目录缺少GetTag.md、SetTag.md、CompareTag.md、GetLayer.md、SetLayer.mdSerialize.md/Deserialize.md尚未同步tag=字段、默认Untagged以及 layer clamp 语义MonoScriptRuntime总览页尚未解释 Unity 风格GameObject.tag/layer/CompareTag()已通过 internal call 暴露到托管侧
- 产出要求:
- 类型页与方法页都要明确区分当前原生实现、场景查询语义和托管暴露语义
- 教程页要从“tag 只是名字别名”改成“当前已有独立 tag 字段,但仍是轻量 Unity 风格模型”
- 需要写清:空 tag 会回落到
Untagged,layer 会 clamp 到[0, 31]
- 完成记录:
- 已重写
GameObject.md、Scene.md、FindGameObjectWithTag.md - 已补齐
GetTag.md、SetTag.md、CompareTag.md、GetLayer.md、SetLayer.md - 已同步
Serialize.md/Deserialize.md的tag=、layer=、Untagged与 clamp 语义 - 已同步
MonoScriptRuntime.md对托管GameObject.tag/layer/CompareTag()的 internal call 桥接说明 - 已同步
GameObject-Component-Lifecycle-And-Serialization.md与Scene-Lifecycle-And-Serialization.md的心智模型口径 - 已补充
Constructor、AddComponent、SetActive、SetParent、IsActive、IsActiveInHierarchy、Find、FindObjectsOfType、Awake、Start、Update、FixedUpdate、LateUpdate、OnDestroy、Destroy的真实生命周期与查询语义
- 已重写
T09 Resources / Material 与材质 Artifact v2 语义同步
- 状态:
DONE - 认领人:
Codex - 优先级:
P0 - 写入范围:
docs/api/XCEngine/Resources/Material/**docs/api/XCEngine/Core/Asset/ArtifactFormats/**docs/api/XCEngine/Core/Asset/AssetDatabase/**- 必要时
docs/api/XCEngine/Core/Asset/Asset.md
- 主要源码依据:
engine/include/XCEngine/Resources/Material/Material.hengine/src/Resources/Material/Material.cppengine/src/Resources/Material/MaterialLoader.cppengine/include/XCEngine/Core/Asset/ArtifactFormats.hengine/src/Core/Asset/AssetDatabase.cpptests/Resources/Material/test_material.cpptests/Resources/Material/test_material_loader.cpp
- 已确认问题:
Resources/Material/Material.md仍是旧模板式总览,没有覆盖当前公开语义Material目录缺少SetTextureAssetRef.md、GetTextureBindingAssetRef.md、GetTextureBindingLoadedTexture.mdArtifactFormats.md仍写kMaterialArtifactSchemaVersion = 1、magicXCMAT01,与当前 schema v2 /XCMAT02不符- 材质 artifact 文档还没写清每个 texture binding 现在会序列化“编码后的
AssetRef+ 可选 artifact/path 字符串” Material文档尚未解释纹理绑定现在既有 loaded handle,也有稳定AssetRef元数据,并且GetTexture()可在首次访问时通过TryResolveAssetPath()兑现延迟资源
- 产出要求:
- 重写
Material.md,把 shader 属性、texture binding 元数据、lazy resolve、路径与AssetRef的边界写清 - 为新增公开方法补页,并把现有
SetTexture/GetTexture/GetTextureBindingCount等页面更新到当前实现 - 更新
ArtifactFormats.md与AssetDatabase相关页面,写清材质 artifact v2 的字段顺序、兼容边界和设计动机
- 重写
- 完成记录:
- 已重写
docs/api/XCEngine/Resources/Material/Material.md与docs/api/XCEngine/Resources/Material/Material/Material.md - 已新增
SetTextureAssetRef.md、SetTexturePath.md、GetTextureBindingName.md、GetTextureBindingAssetRef.md、GetTextureBindingPath.md、GetTextureBindingLoadedTexture.md、GetTextureBindingTexture.md - 已同步
SetTexture.md、GetTexture.md、GetTextureBindingCount.md的当前 lazy-load 与 binding metadata 语义 - 已更新
ArtifactFormats.md,把材质 artifact 修正到 schema v2 /XCMAT02,并写清 texture binding 三元组布局 - 已更新
AssetDatabase.md的当前 importerVersion 常量,并在Asset.md补充.xcmatv2 的跨模块说明 - 已为旧
kMaterialArtifactSchemaVersion = 1/XCMAT01文案增加审计回归保护 - 已复跑结构审计并确认
Broken .md links: 0
- 已重写
T10 Editor / Viewport SceneViewportShaderPaths canonical 补页
- 状态:
DONE - 认领人:
Codex - 优先级:
P1 - 写入范围:
docs/api/XCEngine/Editor/Viewport/SceneViewportShaderPaths/**- 必要时
docs/api/XCEngine/Editor/Viewport/Viewport.md
- 主要源码依据:
editor/src/Viewport/SceneViewportShaderPaths.heditor/src/Viewport/Passes/SceneViewportGridPass.cppeditor/src/Viewport/Passes/SceneViewportSelectionOutlinePass.cpp
- 已关闭问题:
editor/src/Viewport/SceneViewportShaderPaths.h新进入工作树后还没有 canonical 页面- 结构审计一度出现
Editor source headers: 125但Valid source refs (Editor canonical): 124
- 完成记录:
- 已新增
SceneViewportShaderPaths.md与 5 个 helper/function 页面 - 已同步
Viewport.md的目录结构总览 - 已复跑结构审计并确认
Valid source refs (Editor canonical): 125
- 已新增
T11 Platform / 概述页与方法页模板化表述清理
- 状态:
DONE - 认领人:
Codex - 优先级:
P1 - 写入范围:
docs/api/XCEngine/Platform/**
- 主要源码依据:
engine/include/XCEngine/Platform/GameTime.hengine/include/XCEngine/Platform/PlatformTypes.hengine/include/XCEngine/Platform/IClock.hengine/include/XCEngine/Platform/IWindow.hengine/include/XCEngine/Platform/IFileSystem.hengine/include/XCEngine/Platform/IPlatform.hengine/include/XCEngine/Platform/IDynamicLibrary.hengine/include/XCEngine/Platform/IDisplayEnumerator.hengine/include/XCEngine/Platform/Window.hengine/include/XCEngine/Platform/Windows/WindowsWindow.hengine/include/XCEngine/Platform/Windows/WindowsInputModule.hengine/src/Platform/Window.cppengine/src/Platform/Windows/WindowsWindow.cppengine/src/Platform/Windows/WindowsInputModule.cpp
- 已关闭问题:
Platform下多组概述页仍把自己写成“canonical 总览”,没有说明符号本身的职责和边界- 大量方法页仍残留“获取相关状态或对象”“公开方法,详见头文件声明”“参数语义详见头文件声明”等模板废话
WindowsInputModule::PumpEvents()当前是空实现,但旧页没有说明,容易误导成真实消息泵入口WindowsWindow的 Win32 当前实现路径没有写清,例如Create()、Destroy()、PumpEvents()、SetFullscreen()与ShouldClose()
- 完成记录:
- 已重写
GameTime、PlatformTypes、IClock、IWindow、IFileSystem、IPlatform、IDynamicLibrary、IDisplayEnumerator、Window、WindowsWindow、WindowsInputModule相关 overview 与方法页 - 已把
Platform下残留模板短语、参数占位语和 canonical 占位说明清理到0 - 已写清
Window/WindowsWindow/WindowsInputModule的当前实现语义与输入桥接关系 - 已复跑结构审计并确认
Old template pages: 0、Broken .md links: 0
- 已重写
T12 Cross-Module / canonical 式概述废话清理
- 状态:
DONE - 认领人:
Codex - 优先级:
P1 - 写入范围:
docs/api/XCEngine/RHI/D3D12/**docs/api/XCEngine/Resources/**
- 主要源码依据:
engine/include/XCEngine/RHI/D3D12/D3D12Types.hengine/include/XCEngine/RHI/D3D12/D3D12Common.hengine/include/XCEngine/RHI/D3D12/D3D12Enums.hengine/include/XCEngine/RHI/D3D12/D3D12RootSignature.hengine/include/XCEngine/RHI/D3D12/D3D12PipelineState.hengine/include/XCEngine/Resources/Resources.hengine/include/XCEngine/Resources/Texture/Texture.hengine/include/XCEngine/Resources/Texture/TextureLoader.hengine/include/XCEngine/Resources/Texture/TextureImportSettings.hengine/include/XCEngine/Resources/Mesh/Mesh.hengine/include/XCEngine/Resources/Mesh/MeshLoader.hengine/include/XCEngine/Resources/Mesh/MeshImportSettings.hengine/include/XCEngine/Resources/Shader/Shader.hengine/include/XCEngine/Resources/Shader/ShaderLoader.hengine/include/XCEngine/Resources/AudioClip/AudioClip.hengine/include/XCEngine/Resources/AudioClip/AudioLoader.h
- 已关闭问题:
RHI/D3D12与Resources下仍有一批 overview 页把“概述”写成“当前页面作为平行目录中的 canonical 总览”,没有解释符号本身做什么Texture、Mesh、Shader、AudioClip等资源类型页没有把类型边界、持有的数据和辅助声明写清D3D12Types、D3D12Common、D3D12Enums这类 helper header 页没有说明它们是转换 / 构造 / 检查函数集合
- 完成记录:
- 已重写
RHI/D3D12与Resources下全部16个 canonical 式 overview 页 - 已把全仓库
docs/api/XCEngine/**中“当前页面作为平行目录中的 canonical 总览”这类概述废话清理到0 - 已复跑结构审计并确认
Broken .md links: 0、Old template pages: 0
- 已重写
T13 Components / GameObject 剩余辅助页内容化补齐
- 状态:
DONE - 认领人:
Codex - 优先级:
P2 - 写入范围:
docs/api/XCEngine/Components/GameObject/DetachChildren.mddocs/api/XCEngine/Components/GameObject/DetachFromParent.mddocs/api/XCEngine/Components/GameObject/Destructor.mddocs/api/XCEngine/Components/GameObject/GetChild.mddocs/api/XCEngine/Components/GameObject/GetChildCount.mddocs/api/XCEngine/Components/GameObject/GetChildren.mddocs/api/XCEngine/Components/GameObject/GetComponent.mddocs/api/XCEngine/Components/GameObject/GetComponentInChildren.mddocs/api/XCEngine/Components/GameObject/GetComponentInParent.mddocs/api/XCEngine/Components/GameObject/GetComponents.mddocs/api/XCEngine/Components/GameObject/GetComponentsInChildren.mddocs/api/XCEngine/Components/GameObject/GetID.mddocs/api/XCEngine/Components/GameObject/GetName.mddocs/api/XCEngine/Components/GameObject/GetParent.mddocs/api/XCEngine/Components/GameObject/GetScene.mddocs/api/XCEngine/Components/GameObject/GetTransform.mddocs/api/XCEngine/Components/GameObject/GetUUID.mddocs/api/XCEngine/Components/GameObject/RemoveComponent.mddocs/api/XCEngine/Components/GameObject/SetName.md
- 主要源码依据:
engine/include/XCEngine/Components/GameObject.hengine/src/Components/GameObject.cpptests/Components/test_game_object.cpptests/Scene/test_scene.cpptests/scripting/test_mono_script_runtime.cpp
- 已关闭问题:
GameObject模块的核心生命周期、tag/layer 与场景边界已经完成,但上述辅助页仍残留模板式表述- 这些页面尚未写清模板接口的真实语义,例如
Transform特例、层级递归查询、观察指针返回与移除边界
- 产出要求:
- 把这些方法页全部改成基于当前源码的行为说明
- 优先写清组件查询模板、层级辅助接口和对象身份访问器的真实边界
- 不重复改动本轮已经完成内容化的生命周期和 tag/layer 页面
- 完成记录:
- 已重写
DetachChildren.md、DetachFromParent.md、Destructor.md、GetChild.md、GetChildCount.md、GetChildren.md - 已重写
GetComponent.md、GetComponentInChildren.md、GetComponentInParent.md、GetComponents.md、GetComponentsInChildren.md、RemoveComponent.md - 已重写
GetID.md、GetName.md、GetParent.md、GetScene.md、GetTransform.md、GetUUID.md、SetName.md - 已写清
Transform特例、层级查询顺序、Scene/ registry 观察指针语义,以及RemoveComponent当前不会补发OnDestroy()
- 已重写
T14 Rendering / RenderMaterialUtility schema-driven 材质常量 payload 语义同步
- 状态:
DONE - 认领人:
Codex - 优先级:
P1 - 写入范围:
docs/api/XCEngine/Rendering/RenderMaterialUtility/**docs/api/XCEngine/Rendering/Pipelines/BuiltinForwardPipeline/**- 必要时
docs/api/_tools/audit_api_docs.py
- 主要源码依据:
engine/include/XCEngine/Rendering/RenderMaterialUtility.hengine/include/XCEngine/Rendering/Pipelines/BuiltinForwardPipeline.hengine/src/Rendering/Pipelines/BuiltinForwardPipeline.cppengine/include/XCEngine/Resources/Material/Material.htests/Rendering/unit/test_render_scene_extractor.cpp
- 已关闭问题:
RenderMaterialUtility总览页尚未覆盖新进入 public header 的MaterialConstantPayloadView与ResolveSchemaMaterialConstantPayload(...)BuiltinForwardPipeline.md仍把逐材质常量写成“目前只写入baseColorFactor”,没有同步当前优先消费 schema-driven payload、仅在缺失时回退 fallback 的实现BuildBuiltinForwardMaterialData.md还没把自己定位成兼容 fallback helper,容易与当前主路径混淆
- 完成记录:
- 已新增
BuiltinForwardMaterialData.md、MaterialConstantPayloadView.md、ResolveSchemaMaterialConstantPayload.md - 已重写
RenderMaterialUtility.md与BuildBuiltinForwardMaterialData.md,写清 schema payload 与 builtin forward fallback 的边界 - 已同步
BuiltinForwardPipeline.md与Render.md,补入Material::GetConstantBufferData()主路径和FallbackPerMaterialConstants回退逻辑
- 已新增
- 已为“逐材质常量目前只写入
baseColorFactor”等旧口径增加 canonical 审计回归保护 - 已复跑结构审计并确认
Stale canonical doc tokens: 0
T15 Editor / Scripting 脚本程序集重建与运行时锁语义同步
- 状态:
DONE - 认领人:
Codex - 优先级:
P1 - 写入范围:
docs/api/XCEngine/Editor/Scripting/EditorScriptAssemblyBuilder/**docs/api/XCEngine/Editor/Application/RebuildScriptingAssemblies.md- 必要时
docs/api/XCEngine/Editor/Application/Application.md
- 主要源码依据:
editor/src/Scripting/EditorScriptAssemblyBuilder.cppeditor/src/Application.cpptests/Editor/test_editor_script_assembly_builder.cpp
- 已关闭问题:
EditorScriptAssemblyBuilder文档仍把mscorlib.dll写成“每次重建都复制”,没有同步当前“首次复制、后续复用项目本地 corlib”的实现RebuildProjectAssemblies.md没写清活动 Mono runtime 仍持有GameScripts.dll时可能出现文件锁失败Application::RebuildScriptingAssemblies文档仍写“构建失败会保留旧 runtime”,与当前先ShutdownScriptingRuntime()再构建的实现不符
- 完成记录:
- 已同步
EditorScriptAssemblyBuilder.md与RebuildProjectAssemblies.md,补入项目本地mscorlib.dll复用策略、Mono 文件锁失败路径与测试锚点 - 已同步
Application::RebuildScriptingAssemblies与Application.md,写清“先卸载当前 runtime 释放程序集锁,再重建并在成功后重载”的真实顺序 - 已复跑结构审计并确认
Broken .md links: 0、Stale canonical doc tokens: 0
- 已同步
T16 Resources / Rendering Passes SceneView shader ownership 口径同步
- 状态:
DONE - 认领人:
Codex - 优先级:
P1 - 写入范围:
docs/api/XCEngine/Resources/BuiltinResources/**docs/api/XCEngine/Rendering/Passes/BuiltinInfiniteGridPass/**docs/api/XCEngine/Rendering/Passes/BuiltinObjectIdOutlinePass/**
- 主要源码依据:
engine/include/XCEngine/Resources/BuiltinResources.hengine/src/Resources/BuiltinResources.cppengine/include/XCEngine/Rendering/Passes/BuiltinInfiniteGridPass.hengine/src/Rendering/Passes/BuiltinInfiniteGridPass.cppengine/include/XCEngine/Rendering/Passes/BuiltinObjectIdOutlinePass.hengine/src/Rendering/Passes/BuiltinObjectIdOutlinePass.cppeditor/src/Viewport/SceneViewportShaderPaths.h
- 已关闭问题:
BuiltinResources.md仍把object-id-outline/infinite-grid写成 enginebuiltin://shaders/*helper 与 builtin shader 工厂的一部分,但当前头文件与实现已只保留forward-lit、object-idBuiltinInfiniteGridPass与BuiltinObjectIdOutlinePass已改为由调用方注入shaderPath,文档却仍在传播“固定 builtin shader”口径- 两个 pass 的文档树缺少
SetShaderPath.md、GetShaderPath.md;BuiltinInfiniteGridPass还缺少Constructor.md与Destructor.md
- 完成记录:
- 已更新
BuiltinResources.md,把 builtin shader 集合收口到forward-lit/object-id,并写清 Scene View grid / outline shader 现在由 editor 侧SceneViewportShaderPaths提供 - 已重写
BuiltinInfiniteGridPass.md、Render.md、Shutdown.md,补上Constructor.md、Destructor.md、SetShaderPath.md、GetShaderPath.md - 已重写
BuiltinObjectIdOutlinePass.md、Constructor.md、Render.md、Shutdown.md,补上SetShaderPath.md与GetShaderPath.md
- 已更新
T17 Editor / Viewport SceneViewportOverlayProviders canonical 补页
- 状态:
DONE - 认领人:
Codex - 优先级:
P1 - 写入范围:
docs/api/XCEngine/Editor/Viewport/SceneViewportOverlayProviders/**
- 主要源码依据:
editor/src/Viewport/SceneViewportOverlayProviders.heditor/src/Viewport/SceneViewportOverlayProviders.cppeditor/src/Viewport/SceneViewportOverlayBuilder.htests/editor/test_scene_viewport_overlay_providers.cpp
- 已关闭问题:
editor/src/Viewport/SceneViewportOverlayProviders.h新进入工作树后还没有 canonical 页面- 结构审计出现
Editor source headers: 126但Valid source refs (Editor canonical): 125 - 缺少对 overlay build context、provider registry 和默认相机 / 灯光 provider 工厂的当前语义说明
- 完成记录:
- 已新增
SceneViewportOverlayProviders.md、SceneViewportOverlayBuildContext.md、ISceneViewportOverlayProvider.md、SceneViewportOverlayProviderRegistry.md - 已新增
CreateSceneViewportCameraOverlayProvider.md、CreateSceneViewportLightOverlayProvider.md、BuildDefaultSceneViewportOverlayProviderRegistry.md - 已复跑结构审计并确认
Valid source refs (Editor canonical): 126、Broken .md links: 0
- 已新增
T18 Editor / Viewport overlay builder provider 化口径同步
- 状态:
DONE - 认领人:
Codex - 优先级:
P1 - 写入范围:
docs/api/XCEngine/Editor/Viewport/SceneViewportOverlayBuilder/**docs/api/XCEngine/Editor/Viewport/ViewportHostService/**docs/api/XCEngine/Editor/Viewport/Viewport.md- 必要时
docs/api/_guides/Editor/**
- 主要源码依据:
editor/src/Viewport/SceneViewportOverlayBuilder.heditor/src/Viewport/SceneViewportOverlayBuilder.cppeditor/src/Viewport/SceneViewportOverlayProviders.heditor/src/Viewport/ViewportHostService.htests/editor/test_scene_viewport_overlay_providers.cpp
- 已关闭问题:
SceneViewportOverlayBuilder文档仍把类型写成“无状态构建器 + static Build(...)”,没有同步当前实例化 builder + provider registry 的实现SceneViewportOverlayBuilder目录缺少Constructor.md与GetProviderRegistry.mdViewportHostService.md仍把基础 overlay 来源写成SceneViewportOverlayBuilder::Build(...),没有同步当前成员m_sceneViewportOverlayBuilder- guide 层仍在传播
overlay builder -> overlay pass与“先把 scene icon 塞进 builder”的旧扩展口径
- 完成记录:
- 已重写
SceneViewportOverlayBuilder.md与Build.md,把默认 registry、build context 和 provider 聚合链路写清 - 已新增
Constructor.md与GetProviderRegistry.md - 已同步
ViewportHostService.md、Viewport.md以及两篇 Editor guide 的当前 provider 化心智模型 - 已把新扩展建议改成
overlay provider -> overlay builder -> overlay pass
- 已重写
当前结论
- 本轮已经关掉十七组明确的内容级失配:
Viewport渲染计划与宿主流程Core/Asset缓存接口与导入服务语义MonoScriptRuntime托管销毁入口Rendering相机请求、Passes 与单相机执行链旧口径EditorConsoleSink生命周期与空指针返回语义- 跨模块 guide / overview 漂移的本轮复核与拆分
Material/ArtifactFormats/AssetDatabase的材质 artifact v2 与 textureAssetRef语义GameObject/Scene/Mono的 tag-layer 与托管暴露语义GameObject剩余辅助访问器 / 层级辅助页的内容化补齐SceneViewportShaderPathscanonical 缺页Platform模块概述页与方法页的模板化废话清理
RHI/D3D12与Resources的 canonical 式概述废话清理RenderMaterialUtility/BuiltinForwardPipeline的 schema-driven 材质常量 payload 语义Editor脚本程序集重建流程中的 corlib 复用与 runtime 文件锁语义BuiltinResources与 Scene View grid / outline shader ownership、shaderPath注入口径SceneViewportOverlayProviderscanonical 缺页SceneViewportOverlayBuilder/ViewportHostService/ guide 层的 provider 化心智模型同步- 当前结构审计为全绿。
- 当前仍建议保留
T04与T05作为持续性复核入口,用来承接后续源码变更带来的新文档漂移。