Skip to content

Docs/sdk update documentation#270

Merged
GeWuYou merged 7 commits into
mainfrom
docs/sdk-update-documentation
Apr 22, 2026
Merged

Docs/sdk update documentation#270
GeWuYou merged 7 commits into
mainfrom
docs/sdk-update-documentation

Conversation

@GeWuYou

@GeWuYou GeWuYou commented Apr 22, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

文档更新

  • Documentation
    • 重写 Godot 集成文档,聚焦当前实际功能与边界,移除过时内容和示例。
    • 优化源代码生成器(GetNode、BindNodeSignal、AutoRegisterExportedCollections、GodotProject)文档,提高准确性与清晰度。
    • 重组 Godot 集成教程,按实际项目集成路径调整结构,更新最小接入指引。
    • 更新文档治理跟踪,反映 Godot 模块文档完善进度与验证步骤。

GeWuYou added 7 commits April 22, 2026 11:25
- 更新 Godot 项目元数据、GetNode 与 BindNodeSignal 专题页,按当前源码与测试收口最小接入路径、生成语义与诊断边界

- 补充 documentation-governance-and-refresh 的 RP-011 恢复点、验证结果与下一步建议
- 更新 auto-register-exported-collections 专题页,补齐 frontmatter 并按当前源码与测试收口成员形状、匹配规则、null-skip 行为与诊断边界

- 补充 documentation-governance-and-refresh 的 RP-012 恢复点,记录 godot-integration tutorial 仍残留旧 API 的跟进风险
- 重写 Godot 集成教程,按当前源码与 CoreGrid 采用路径收口 project.godot、GetNode 与 BindNodeSignal 的接线说明

- 更新 tutorials 入口摘要与 documentation-governance-and-refresh 跟踪,记录 RP-013、验证结果和下一恢复点
- 更新 Godot landing page,使包关系、最小接入路径与运行时边界回到源码与测试契约

- 重写 Godot architecture 页面,明确锚点生命周期、模块挂接顺序与 IGodotModule 契约边界

- 更新 documentation-governance topic 的 RP-014 跟踪与验证记录,标记下一轮收口目标
- 更新 Godot 场景文档,按当前 factory、registry、root、provider 与 AutoScene 接线收口采用路径
- 更新 Godot UI 文档,明确 layer 语义、provider 要求、root 接线与 AutoUiPage 用法
- 同步 documentation-governance-and-refresh 跟踪与 trace 到 RP-015,并把下一步切到 signal/extensions
- 更新 godot signal 页面,明确 Signal(...)、SignalBuilder 与 [BindNodeSignal] 的分工

- 更新 godot extensions 页面,收敛到当前存在的扩展成员与生命周期边界

- 补充 documentation-governance-and-refresh 跟踪与 trace,记录 RP-016 和验证结果
- 重写 docs/zh-CN/godot/logging.md,按当前 provider、控制台输出语义与 [Log] 边界整理采用路径

- 更新 documentation-governance-and-refresh 的 tracking 与 trace,推进恢复点到 RP-017 并记录验证结果
@coderabbitai

coderabbitai Bot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

Pull request was closed or merged during review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 532d434c-cf9d-401a-864e-54db515e24cc

📥 Commits

Reviewing files that changed from the base of the PR and between 3425b29 and 76e7f68.

📒 Files selected for processing (15)
  • ai-plan/public/documentation-governance-and-refresh/todos/documentation-governance-and-refresh-tracking.md
  • ai-plan/public/documentation-governance-and-refresh/traces/documentation-governance-and-refresh-trace.md
  • docs/zh-CN/godot/architecture.md
  • docs/zh-CN/godot/extensions.md
  • docs/zh-CN/godot/index.md
  • docs/zh-CN/godot/logging.md
  • docs/zh-CN/godot/scene.md
  • docs/zh-CN/godot/signal.md
  • docs/zh-CN/godot/ui.md
  • docs/zh-CN/source-generators/auto-register-exported-collections-generator.md
  • docs/zh-CN/source-generators/bind-node-signal-generator.md
  • docs/zh-CN/source-generators/get-node-generator.md
  • docs/zh-CN/source-generators/godot-project-generator.md
  • docs/zh-CN/tutorials/godot-integration.md
  • docs/zh-CN/tutorials/index.md
📜 Recent review details
🧰 Additional context used
📓 Path-based instructions (5)
docs/**/*.md

📄 CodeRabbit inference engine (CLAUDE.md)

Documentation should be organized with Chinese content in docs/zh-CN/ and structured to include getting started, module-specific capabilities (Core, Game, Godot, ECS), source generator usage, tutorials, best practices, and troubleshooting

Update the relevant README.md or docs/ page when behavior, setup steps, architecture guidance, or user-facing examples change. Keep code samples, package names, and command examples aligned with the current repository state. Prefer documenting behavior and design intent, not only API surface. If an existing documentation page no longer reflects the current implementation, fixing the code without fixing the documentation is considered incomplete work.

Files:

  • docs/zh-CN/tutorials/index.md
  • docs/zh-CN/source-generators/auto-register-exported-collections-generator.md
  • docs/zh-CN/source-generators/bind-node-signal-generator.md
  • docs/zh-CN/godot/architecture.md
  • docs/zh-CN/godot/signal.md
  • docs/zh-CN/godot/index.md
  • docs/zh-CN/godot/extensions.md
  • docs/zh-CN/source-generators/godot-project-generator.md
  • docs/zh-CN/godot/ui.md
  • docs/zh-CN/godot/logging.md
  • docs/zh-CN/source-generators/get-node-generator.md
  • docs/zh-CN/tutorials/godot-integration.md
  • docs/zh-CN/godot/scene.md
docs/zh-CN/**/*.md

📄 CodeRabbit inference engine (AGENTS.md)

When a feature is added, removed, renamed, or substantially refactored, contributors MUST update or create the corresponding user-facing integration documentation in docs/zh-CN/ in the same change. For integration-oriented features, documentation MUST cover project directory layout and file conventions, required project or package wiring, minimal working usage example, and migration or compatibility notes when behavior changes.

Files:

  • docs/zh-CN/tutorials/index.md
  • docs/zh-CN/source-generators/auto-register-exported-collections-generator.md
  • docs/zh-CN/source-generators/bind-node-signal-generator.md
  • docs/zh-CN/godot/architecture.md
  • docs/zh-CN/godot/signal.md
  • docs/zh-CN/godot/index.md
  • docs/zh-CN/godot/extensions.md
  • docs/zh-CN/source-generators/godot-project-generator.md
  • docs/zh-CN/godot/ui.md
  • docs/zh-CN/godot/logging.md
  • docs/zh-CN/source-generators/get-node-generator.md
  • docs/zh-CN/tutorials/godot-integration.md
  • docs/zh-CN/godot/scene.md
ai-plan/public/**

📄 CodeRabbit inference engine (AGENTS.md)

Keep committed ai-plan/public/** content safe to publish in Git history. Never write secrets, tokens, credentials, private keys, machine usernames, home-directory paths, hostnames, IP addresses, proprietary URLs, or other sensitive environment details into any ai-plan/** file. Never record absolute file-system paths; use repository-relative paths, branch names, PR numbers, or stable document identifiers instead.

Files:

  • ai-plan/public/documentation-governance-and-refresh/traces/documentation-governance-and-refresh-trace.md
  • ai-plan/public/documentation-governance-and-refresh/todos/documentation-governance-and-refresh-tracking.md
ai-plan/public/*/traces/*.md

📄 CodeRabbit inference engine (AGENTS.md)

Maintain a matching execution trace under ai-plan/public/<topic>/traces/ for complex work. The trace should record the current date, key decisions, validation milestones, and the immediate next step. Update both the recovery document and the trace at each meaningful milestone before pausing or handing work off.

Files:

  • ai-plan/public/documentation-governance-and-refresh/traces/documentation-governance-and-refresh-trace.md
ai-plan/public/*/todos/*.md

📄 CodeRabbit inference engine (AGENTS.md)

Contributors MUST keep ai-plan/public/<topic>/todos/ recovery documents up-to-date with completed work, newly discovered issues, validation results, and the next recommended recovery point. For any multi-step refactor, migration, or cross-module task, create or adopt a dedicated recovery document before making substantive code changes. Recovery documents MUST record the current phase, the active recovery point identifier, known risks, and the next recommended resume step.

Files:

  • ai-plan/public/documentation-governance-and-refresh/todos/documentation-governance-and-refresh-tracking.md
🧠 Learnings (12)
📓 Common learnings
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-17T11:35:08.762Z
Learning: Applies to docs/**/*.md : Documentation should be organized with Chinese content in docs/zh-CN/ and structured to include getting started, module-specific capabilities (Core, Game, Godot, ECS), source generator usage, tutorials, best practices, and troubleshooting
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-22T03:16:51.907Z
Learning: Applies to docs/zh-CN/**/*.md : When a feature is added, removed, renamed, or substantially refactored, contributors MUST update or create the corresponding user-facing integration documentation in `docs/zh-CN/` in the same change. For integration-oriented features, documentation MUST cover project directory layout and file conventions, required project or package wiring, minimal working usage example, and migration or compatibility notes when behavior changes.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-22T03:16:51.907Z
Learning: Treat existing `README.md` files and `docs/zh-CN/` pages as editable outputs, not authoritative truth. If existing documentation conflicts with code or tests, update the documentation to match the implementation instead of preserving outdated wording. Do not publish example code, setup steps, or package guidance that cannot be traced back to code, tests, or a verified consumer project.
📚 Learning: 2026-04-17T11:35:08.762Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-17T11:35:08.762Z
Learning: Applies to docs/**/*.md : Documentation should be organized with Chinese content in docs/zh-CN/ and structured to include getting started, module-specific capabilities (Core, Game, Godot, ECS), source generator usage, tutorials, best practices, and troubleshooting

Applied to files:

  • docs/zh-CN/tutorials/index.md
  • ai-plan/public/documentation-governance-and-refresh/traces/documentation-governance-and-refresh-trace.md
  • docs/zh-CN/godot/index.md
  • docs/zh-CN/godot/extensions.md
  • docs/zh-CN/source-generators/godot-project-generator.md
  • docs/zh-CN/godot/ui.md
  • docs/zh-CN/godot/logging.md
  • docs/zh-CN/source-generators/get-node-generator.md
  • docs/zh-CN/tutorials/godot-integration.md
  • ai-plan/public/documentation-governance-and-refresh/todos/documentation-governance-and-refresh-tracking.md
📚 Learning: 2026-04-22T03:16:51.907Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-22T03:16:51.907Z
Learning: Applies to docs/zh-CN/**/*.md : When a feature is added, removed, renamed, or substantially refactored, contributors MUST update or create the corresponding user-facing integration documentation in `docs/zh-CN/` in the same change. For integration-oriented features, documentation MUST cover project directory layout and file conventions, required project or package wiring, minimal working usage example, and migration or compatibility notes when behavior changes.

Applied to files:

  • docs/zh-CN/tutorials/index.md
  • docs/zh-CN/source-generators/auto-register-exported-collections-generator.md
  • docs/zh-CN/godot/architecture.md
  • docs/zh-CN/godot/index.md
  • docs/zh-CN/godot/extensions.md
  • docs/zh-CN/source-generators/godot-project-generator.md
  • docs/zh-CN/godot/ui.md
  • docs/zh-CN/godot/logging.md
  • docs/zh-CN/tutorials/godot-integration.md
  • ai-plan/public/documentation-governance-and-refresh/todos/documentation-governance-and-refresh-tracking.md
📚 Learning: 2026-04-22T03:16:51.907Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-22T03:16:51.907Z
Learning: Applies to **/SourceGenerators/**/*.cs : Source generator changes MUST be covered by generator tests. Preserve snapshot-based verification patterns already used in the repository. When generator behavior changes intentionally, update snapshots together with the implementation.

Applied to files:

  • docs/zh-CN/source-generators/bind-node-signal-generator.md
  • docs/zh-CN/source-generators/get-node-generator.md
📚 Learning: 2026-04-22T03:16:51.907Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-22T03:16:51.907Z
Learning: Applies to **/*.cs : Core framework components such as Architecture, Module, System, Context, Registry, Service Module, and Lifecycle types MUST include high-level explanations of responsibilities, lifecycle, interaction with other components, why the abstraction exists, and when to use it instead of alternatives.

Applied to files:

  • docs/zh-CN/godot/architecture.md
📚 Learning: 2026-04-22T03:16:51.907Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-22T03:16:51.907Z
Learning: Applies to ai-plan/public/*/traces/*.md : Maintain a matching execution trace under `ai-plan/public/<topic>/traces/` for complex work. The trace should record the current date, key decisions, validation milestones, and the immediate next step. Update both the recovery document and the trace at each meaningful milestone before pausing or handing work off.

Applied to files:

  • ai-plan/public/documentation-governance-and-refresh/traces/documentation-governance-and-refresh-trace.md
📚 Learning: 2026-04-22T03:16:51.907Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-22T03:16:51.907Z
Learning: Applies to ai-plan/public/*/todos/*.md : Contributors MUST keep `ai-plan/public/<topic>/todos/` recovery documents up-to-date with completed work, newly discovered issues, validation results, and the next recommended recovery point. For any multi-step refactor, migration, or cross-module task, create or adopt a dedicated recovery document before making substantive code changes. Recovery documents MUST record the current phase, the active recovery point identifier, known risks, and the next recommended resume step.

Applied to files:

  • ai-plan/public/documentation-governance-and-refresh/traces/documentation-governance-and-refresh-trace.md
  • ai-plan/public/documentation-governance-and-refresh/todos/documentation-governance-and-refresh-tracking.md
📚 Learning: 2026-04-22T03:16:51.907Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-22T03:16:51.907Z
Learning: Treat source code, `*.csproj`, tests, generated snapshots, and packaging metadata as the primary evidence for documentation updates. Treat verified reference implementations under `ai-libs/` as a secondary evidence source for real project adoption patterns, directory layouts, and end-to-end usage examples.

Applied to files:

  • ai-plan/public/documentation-governance-and-refresh/traces/documentation-governance-and-refresh-trace.md
  • docs/zh-CN/source-generators/godot-project-generator.md
  • docs/zh-CN/tutorials/godot-integration.md
  • ai-plan/public/documentation-governance-and-refresh/todos/documentation-governance-and-refresh-tracking.md
📚 Learning: 2026-04-22T03:16:51.907Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-22T03:16:51.907Z
Learning: Applies to **/*.cs : Generated logic and generator pipelines MUST explain what is generated, why it is generated, the semantic assumptions the generator relies on, and any diagnostics or fallback behavior.

Applied to files:

  • docs/zh-CN/source-generators/godot-project-generator.md
📚 Learning: 2026-04-22T03:16:51.907Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-22T03:16:51.907Z
Learning: Applies to docs/**/*.md : Update the relevant `README.md` or `docs/` page when behavior, setup steps, architecture guidance, or user-facing examples change. Keep code samples, package names, and command examples aligned with the current repository state. Prefer documenting behavior and design intent, not only API surface. If an existing documentation page no longer reflects the current implementation, fixing the code without fixing the documentation is considered incomplete work.

Applied to files:

  • docs/zh-CN/godot/ui.md
  • ai-plan/public/documentation-governance-and-refresh/todos/documentation-governance-and-refresh-tracking.md
📚 Learning: 2026-04-22T03:16:51.907Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-22T03:16:51.907Z
Learning: Treat existing `README.md` files and `docs/zh-CN/` pages as editable outputs, not authoritative truth. If existing documentation conflicts with code or tests, update the documentation to match the implementation instead of preserving outdated wording. Do not publish example code, setup steps, or package guidance that cannot be traced back to code, tests, or a verified consumer project.

Applied to files:

  • ai-plan/public/documentation-governance-and-refresh/todos/documentation-governance-and-refresh-tracking.md
📚 Learning: 2026-04-22T03:16:51.907Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-22T03:16:51.907Z
Learning: The main documentation site lives under `docs/`, with Chinese content under `docs/zh-CN/`. When examples are rewritten, preserve only the parts that remain true. Delete or replace speculative examples instead of lightly editing them into another inaccurate form.

Applied to files:

  • ai-plan/public/documentation-governance-and-refresh/todos/documentation-governance-and-refresh-tracking.md
🪛 LanguageTool
docs/zh-CN/source-generators/auto-register-exported-collections-generator.md

[uncategorized] ~198-~198: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"可被……标记"。
Context: ...不到兼容且可访问的注册方法 | | GF_AutoExport_004 | 被标记成员不可枚举 | | GF_AutoExport_005 | 无法安全推导集合元素类...

(wa3)

docs/zh-CN/godot/architecture.md

[uncategorized] ~133-~133: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"退出
Context: ... ArchitectureAnchor._ExitTree() 会触发绑定好的退出回调,随后 AbstractArchitecture 会开始观察异步销毁...

(wb4)

docs/zh-CN/godot/index.md

[uncategorized] ~19-~19: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:交互"地"扩展
Context: ...ngsGodotYamlConfigLoader - 少量面向运行时交互的扩展:Signal(...)` fluent API、暂停处理、富文本效果、协...

(wb4)

docs/zh-CN/godot/ui.md

[uncategorized] ~30-~30: 您的意思是“"不"全”?
Context: ... 实例化 UI 页面 框架当前不会自动扫描 .tscn、不会自动根据类型名补全注册表。 ### GodotUiFactory `GodotUiFac...

(BU)


[uncategorized] ~71-~71: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:偏"地"默认
Context: ...pmostLayerUiPageBehavior 几个容易被旧文档写偏的默认语义如下: -Page - 不可重入,阻断输入 -Overl...

(wb4)


[uncategorized] ~222-~222: 您的意思是“"不"样板”?
Context: ...} } ``` #### 方式 B:用 [AutoUiPage] 让生成器补样板 当前更贴近真实消费者 wiring 的方式,是让生成器产出 `UiKey...

(BU)


[uncategorized] ~260-~260: 您的意思是“"不"出”?
Context: ...c void OnHide() { } } 当前生成器补出的核心样板与源码一致: csharp public IUiPageBe...

(BU)


[uncategorized] ~300-~300: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:强"地"输入
Context: ...义 如果页面只实现 IUiPage,它只有基础生命周期。 如果还需要更强的输入仲裁或暂停语义,可以像 CoreGrid 的 PauseMenu 一样继...

(wb4)

docs/zh-CN/source-generators/get-node-generator.md

[uncategorized] ~32-~32: 您的意思是“"不"出”?
Context: ...ull!; } 如果目标类型还没有 `_Ready()`,当前生成器会补出: csharp private void __InjectGetNo...

(BU)

docs/zh-CN/tutorials/godot-integration.md

[uncategorized] ~247-~247: 您的意思是“"不"运行”?
Context: ...Signal]` 和需要的 Core 生成器 5. 对动态订阅和异步节点装配,再补运行时扩展 先走完这条链路,再决定是否需要更重的 Godot 特定抽象。 #...

(BU)

docs/zh-CN/godot/scene.md

[uncategorized] ~70-~70: 您的意思是“"不"项目”?
Context: ...ot runtime 确实能“自动给节点补一个 behavior”,但它不会替你补项目侧 router、root 或 registry。 ## 最小接入路径 ...

(BU)


[uncategorized] ~221-~221: 您的意思是“"不"样板”?
Context: ... } } ``` #### 方式 B:用 [AutoScene] 让生成器补样板 当前更贴近真实消费者 wiring 的方式,是让 `GFramework...

(BU)


[uncategorized] ~265-~265: 您的意思是“"不"出”?
Context: ...eTask.CompletedTask; } } 生成器当前会补出与源码一致的 `GetScene()`: csharp public ...

(BU)


[uncategorized] ~265-~265: 您的意思是“出"于"”吗?
Context: ...ask.CompletedTask; } } 生成器当前会补出与源码一致的 `GetScene()`: csharp public IS...

(YU7_YU8)

🔇 Additional comments (11)
docs/zh-CN/source-generators/auto-register-exported-collections-generator.md (1)

198-198: 静态分析提示可忽略

LanguageTool 报告的"被标记"语法建议是误报。在"被标记成员不可枚举"这一诊断描述中,"被标记"是合理的被动表达,无需调整为"可被……标记"。

docs/zh-CN/godot/index.md (1)

19-19: 静态分析提示可忽略

LanguageTool 报告的"交互的扩展"语法建议是误报。"面向运行时交互的扩展"是合理表达,"的"修饰"扩展",无需改为"交互'地'扩展"。

docs/zh-CN/godot/ui.md (1)

30-30: 静态分析提示可安全忽略

LanguageTool 报告的以下语法建议均为误报或可接受的技术文档表达:

  • Line 30:"不会自动扫描"是合理否定表达
  • Line 71:"容易被旧文档写偏的默认语义"是可接受的修饰结构
  • Line 222:"让生成器补样板"是合理技术术语
  • Line 260:"生成器补出的核心样板"是合理技术术语
  • Line 300:"需要更强的输入仲裁"中的"强"是形容词修饰名词,无需改为副词

Also applies to: 71-71, 222-222, 260-260, 300-300

docs/zh-CN/source-generators/get-node-generator.md (1)

32-32: 静态分析提示可忽略

LanguageTool 报告的"会补出"语法建议是误报。"生成器会补出"是合理的技术文档表达,"补出"是动词,无需改为"补'不'出"。

docs/zh-CN/godot/signal.md (1)

1-158: 文档与源码契合良好。

当前文档准确描述了 SignalBuilder 的四个方法(WithFlagsToToAndCallEnd)及其链式行为,与 GFramework.Godot/Extensions/Signal/SignalBuilder.cs 的实现一致。示例也正确使用了当前 API Signal(...),而非已移除的 CreateSignalBuilder(...)

docs/zh-CN/godot/scene.md (1)

1-321: 文档准确反映当前场景系统实现。

文档正确描述了 GodotSceneFactory.Create() 的四步流程(registry → Instantiate → provider 优先 → 自动包装回退),与 GFramework.Godot/Scene/GodotSceneFactory.cs 第 44-64 行的实现一致。两种 behavior 提供方式(显式 ISceneBehaviorProvider[AutoScene] 生成)的说明也符合当前接线模型。

docs/zh-CN/godot/architecture.md (1)

1-176: 架构生命周期文档与实现完全一致。

文档准确描述了当前架构集成的三个关键阶段:

  • 初始化阶段:锚点绑定优先于模块安装(与 AbstractArchitecture.OnInitialize() 第 58-59 行一致)
  • 安装阶段:锚点未初始化时在 module.Install() 前抛出异常(与第 103-123 行实现一致)
  • 销毁阶段:通过 ArchitectureAnchor._ExitTree() 触发清理(与第 131-144 行实现一致)

异常消息 "Anchor not initialized" 和 "Architecture root not ready" 与源码完全匹配。

docs/zh-CN/godot/logging.md (1)

1-200: 日志系统文档准确描述当前实现。

文档正确说明了:

  • GodotLogger 构造器委托模式(AbstractLogger(name ?? RootLoggerName, minLevel)
  • 输出语义(UTC 时间戳、前缀格式、异常追加)
  • 级别映射表(与 GodotLogger.cs 第 44-59 行完全一致)
  • 架构配置接线路径(ArchitectureConfiguration.LoggerProperties.LoggerFactoryProvider

所有技术细节与 GFramework.Godot/Logging/GodotLogger.csGFramework.Core/Architectures/ArchitectureConfiguration.cs 的实现匹配。

docs/zh-CN/tutorials/godot-integration.md (1)

1-275: 教程准确反映当前生成器契约与接线模式。

文档正确说明了:

  • 生成方法的精确命名(__InjectGetNodes_Generated__BindNodeSignal_Generated__UnbindNodeSignals_Generated
  • 调用顺序约定(先节点注入、再上下文绑定、最后信号绑定)
  • [BindNodeSignal] 不自动生成 _Ready() / _ExitTree(),需手动调用生成方法
  • 当前 API 使用 Signal(...) 而非已移除的 CreateSignalBuilder(...)

所有示例和边界说明与 GFramework.Godot.SourceGenerators 的实现及 ai-libs/CoreGrid 的真实接线一致。

docs/zh-CN/source-generators/godot-project-generator.md (1)

1-220: 项目元数据生成器文档与实现完全一致。

文档准确说明了:

  • AutoLoad 类型推断的三级优先顺序(显式 [AutoLoad] → 唯一类名匹配 → Godot.Node 回退)
  • 重复条目处理逻辑(报告诊断 + 保留首次声明)
  • 生成 API 的两种形式(AutoLoads.<Name> 属性访问器 + AutoLoads.TryGet<Name>(out TNode? value) 方法)
  • project.godot 文件约束(可改路径、不可改文件名)

所有规则与 GFramework.Godot.SourceGenerators/GodotProjectMetadataGenerator.cs 的实现逻辑匹配。

docs/zh-CN/godot/extensions.md (1)

23-27: ⚠️ Potential issue | 🟡 Minor

补充缺失的 IsGodotPath() 方法。

根据 GFramework.Godot/Extensions/GodotPathExtensions.csGodotPathExtensions 当前有三个方法,不是两个:

  • IsUserPath(this string path)
  • IsResPath(this string path)
  • IsGodotPath(this string path)当前文档缺失

IsGodotPath() 组合了前两个判断(path.IsUserPath() || path.IsResPath()),应该补充到公开入口列表中。

📝 建议补充
 - `IsUserPath(this string path)`
 - `IsResPath(this string path)`
+- `IsGodotPath(this string path)`

并可以在说明段补充:

-它们不做文件访问,也不解析目录结构,只是用字符串前缀判断 `user://` 和 `res://`。
+它们不做文件访问,也不解析目录结构,只是用字符串前缀判断 `user://` 和 `res://`。`IsGodotPath()` 是前两者的组合判断。

基于源码验证:GFramework.Godot/Extensions/GodotPathExtensions.cs 第 29-37 行定义了 IsGodotPath() 方法。

			> Likely an incorrect or invalid review comment.

📝 Walkthrough

Walkthrough

更新Godot运行时集成和源生成器文档范围,缩减至源码实现行为;明确API公开入口、生命周期边界及约束;重置文档治理恢复点至RP-017并调整后续评估目标。

Changes

Cohort / File(s) Summary
文档治理追踪
ai-plan/public/documentation-governance-and-refresh/todos/documentation-governance-and-refresh-tracking.md, ai-plan/public/documentation-governance-and-refresh/traces/documentation-governance-and-refresh-trace.md
更新恢复点编号及当前焦点:从RP-010调整至RP-017;新增Godot文档重写与源生成器验证范围;调整后续步骤为先评估Godot栏目稳定度并决定归档;补充validate\-all.sh与rg搜索验证命令。
Godot核心架构文档
docs/zh-CN/godot/architecture.md, docs/zh-CN/godot/index.md
缩减架构文档至AbstractArchitecture/ArchitectureAnchor/IGodotModule核心;移除通用示例与lifecycle\-based InitializeAsync模式;明确模块初始化顺序与anchor未就绪时抛异常边界。首页从850+行缩至包含最小接入、模块定位与关键入口的精简指南。
Godot功能扩展文档
docs/zh-CN/godot/extensions.md, docs/zh-CN/godot/signal.md, docs/zh-CN/godot/logging.md
分别重写为源码对标的公开入口:Extensions列举4个扩展组(GodotPathExtensions/NodeExtensions/SignalFluentExtensions/UnRegisterExtension);Signal简化至SignalFluentExtensions.Signal(...)流畅API;Logging改为ILogger适配器视角,集成点改至ArchitectureConfiguration。
Godot场景与UI文档
docs/zh-CN/godot/scene.md, docs/zh-CN/godot/ui.md
移除GodotSceneRouter和完整示例;改为描述IGodotSceneRegistry/GodotSceneFactory/SceneBehaviorBase流程;UI文档简化至GodotUiRegistry/GodotUiFactory与IUiPageBehaviorProvider关系;两者均新增当前边界与最小接入步骤。
源生成器文档
docs/zh-CN/source-generators/godot-project-generator.md, docs/zh-CN/source-generators/get-node-generator.md, docs/zh-CN/source-generators/bind-node-signal-generator.md, docs/zh-CN/source-generators/auto-register-exported-collections-generator.md
四份生成器文档均重写为contract\-focused视角:GodotProject生成器明确AutoLoads/InputActions类型推断规则;GetNode生成器说明%Name默认路径推断与__InjectGetNodes\_Generated()调用点;BindNodeSignal移除auto\-lifecycle宣称,强调仅生成bind/unbind方法;AutoRegisterExportedCollections补充诊断ID与真实采用路径。
教程与索引文档
docs/zh-CN/tutorials/godot-integration.md, docs/zh-CN/tutorials/index.md
集成教程从1200+行缩至164+行:新增五步集成流程(project\-level AutoLoads/InputActions → 架构分离 → 强类型映射 → [GetNode]/[BindNodeSignal]场景注入 → 运行时扩展);移除SignalBuilder与过时默认入口;新增迁移陷阱清单。教程索引调整受众与学习内容至项目配置、生成器接入与生命周期协作。

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 标题「Docs/sdk update documentation」与 PR 的实际变更内容相符,准确地反映了本次修改主要涉及 Godot 集成和 SDK 文档的更新和刷新。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/sdk-update-documentation

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown

Summary

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Other ❓ Flaky 🍂 Duration ⏱️
2145 2145 0 0 0 0 31.5s    ↓4.8s

Test Results

passed 2145 passed

Details

tests 2145 tests
clock 31.5s ↓4.8s
tool nunit
build CI - Build & Test arrow-right build-and-test link #928
pull-request Docs/sdk update documentation link #270

Insights

Average Tests per Run Total Flaky Tests Total Failed Slowest Test (p95)
2126 0 0 30.0s

build-and-test: Run #928

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
2145 2145 0 0 0 0 0 31.5s

🎉 All tests passed!

Slowest Tests

Test 📝 Results 📊 Duration (avg) ⏱️ Duration (p95) ⏱️
Append_FromMultipleThreads_ShouldHandleConcurrency 11 2.7s 30.0s
Does_Not_Report_When_FieldInjectedModel_Is_Registered 11 2.8s 5.7s
Generates_Scene_Behavior_Boilerplate 11 2.4s 5.4s
SendRequestAsync_Should_ResolveCqrsRuntime_OnlyOnce_When_AccessedConcurrently 11 4.2s 4.8s
Context_Caching_Should_Improve_Performance 11 840ms 1.1s
CleanupDuringAcquire_Should_NotCauseRaceCondition 11 1.1s 1.1s
Append_ShouldNotBlock 11 1.0s 1.0s
RegisterCqrsHandlersFromAssembly_Should_Deduplicate_Repeated_Assembly_Registration 11 312ms 975ms
ConfigModuleCanRunDuringArchitectureInitialization 11 280ms 965ms
LoadAsync_Should_Copy_Registered_Text_Assets_Into_Runtime_Cache_When_Source_Is_Res_Path 11 154ms 574ms

± Comparison with run #924 at 3c97164 | 🎉 No failed tests detected across all runs. | 🍂 No flaky tests detected across all runs. | ⏱️ Measured over 11 runs.

Github Test Reporter by CTRF 💚

@greptile-apps

greptile-apps Bot commented Apr 22, 2026

Copy link
Copy Markdown

Greptile Summary

This PR completes a systematic documentation refresh for GFramework's Godot integration, rewriting seven Godot runtime pages, four source-generator pages, and two tutorial pages to align with the current source code and real consumer (ai-libs/CoreGrid) wiring patterns. The changes retire stale API references (e.g. CreateSignalBuilder(...), GetNodeX<T>(), .Wait() on InstallGodotModule(...)) and replace them with the current contracts (Signal(...), [GetNode], async-anchor lifecycle).

Key changes:

  • docs/zh-CN/godot/: All seven pages (index, architecture, scene, signal, extensions, logging, ui) rewritten from source-code-first perspective; each page now clearly delineates the runtime package boundary from GFramework.Godot.SourceGenerators
  • docs/zh-CN/source-generators/: Four pages updated to reflect compile-time diagnostics, Required/Lookup semantics, and _Ready() lifecycle behavior
  • docs/zh-CN/tutorials/godot-integration.md: Complete rewrite as a five-step integration walkthrough grounded in current package structure and code generation order
  • docs/zh-CN/tutorials/index.md: Godot integration entry updated to reflect the new tutorial's scope
  • AI plan tracking files: Recovery point updated from RP-010 to RP-017

All internal cross-references were verified to point to existing files. Code examples are internally consistent and match the API contracts described in each page's boundary section.

Confidence Score: 5/5

Documentation-only PR with no code changes; safe to merge

All changed files are Markdown documentation and AI planning artifacts — no production code is touched. Internal links are verified valid. Code examples are consistent with the API contracts described within each page. The refresh corrects known documentation drift and is grounded in actual source and consumer behavior. No breaking changes introduced.

docs/zh-CN/tutorials/index.md lacks YAML frontmatter unlike all sibling documentation pages — minor inconsistency worth addressing in a follow-up, but not blocking

Important Files Changed

Filename Overview
docs/zh-CN/godot/index.md Rewritten as source-first Godot runtime module landing page; clearly separates runtime package from SourceGenerators, all internal links verified valid
docs/zh-CN/godot/architecture.md Updated lifecycle documentation for AbstractArchitecture/ArchitectureAnchor; correctly removes deprecated .Wait() pattern and documents test-verified invariants
docs/zh-CN/godot/scene.md Rewritten to reflect factory/registry/root/source-generator wiring; [AutoScene] usage correctly documented including namespace and manual ISceneBehaviorProvider requirement
docs/zh-CN/godot/signal.md Correctly documents Signal(...)/SignalBuilder fluent API, distinguishes it from deprecated CreateSignalBuilder(); [BindNodeSignal] boundary clearly explained
docs/zh-CN/godot/extensions.md Accurately documents the four extension groups with correct member lists and boundary notes
docs/zh-CN/godot/logging.md Correctly documents GodotLogger/GodotLoggerFactory/GodotLoggerFactoryProvider hierarchy and ArchitectureConfiguration-based integration; log level table is accurate
docs/zh-CN/godot/ui.md UI factory and layer behavior system well documented; correctly notes UiLayer.Page cannot use Show() and GodotUiFactory requires IUiPageBehaviorProvider
docs/zh-CN/source-generators/auto-register-exported-collections-generator.md Comprehensive documentation; diagnostic table and constraint list accurately reflect source code and tests
docs/zh-CN/source-generators/bind-node-signal-generator.md Correctly explains that [BindNodeSignal] only generates binding/unbinding helpers (not _Ready/_ExitTree overrides)
docs/zh-CN/source-generators/get-node-generator.md Accurately covers path inference rules, Required/Lookup semantics, and _Ready() lifecycle distinction
docs/zh-CN/source-generators/godot-project-generator.md Correctly documents AutoLoad/InputActions generation, type inference priority, and filename constraint
docs/zh-CN/tutorials/godot-integration.md Comprehensive five-step integration tutorial; code examples are accurate and consistent
docs/zh-CN/tutorials/index.md Updated Godot integration tutorial description; file lacks YAML frontmatter unlike sibling documentation pages
ai-plan/public/documentation-governance-and-refresh/todos/documentation-governance-and-refresh-tracking.md Updated recovery point from RP-010 to RP-017 and current status to reflect completed Godot documentation rewrite

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[GFramework.Godot\nRuntime Package] --> B[AbstractArchitecture\nArchitectureAnchor]
    A --> C[GodotSceneFactory\nGodotSceneRegistry]
    A --> D[GodotUiFactory\nGodotUiRegistry]
    A --> E[NodeExtensions\nSignalFluentExtensions\nUnRegisterExtension]
    A --> F[GodotLoggerFactoryProvider\nGodotLogger]
    G[GFramework.Godot.SourceGenerators] --> H["[GetNode]\n__InjectGetNodes_Generated()"]
    G --> I["[BindNodeSignal]\n__BindNodeSignals_Generated()"]
    G --> J["project.godot\n→ AutoLoads / InputActions"]
    G --> K["[AutoScene] / [AutoUiPage]\n→ GetScene() / GetPage()"]
    B -- "SceneTree lifecycle binding" --> L[ArchitectureRoot\nInstallGodotModule]
    C -- "key → PackedScene → ISceneBehavior" --> M[Project SceneRouter\n: SceneRouterBase]
    D -- "key → PackedScene → IUiPageBehavior" --> N[Project UiRouter\n: UiRouterBase]
Loading

Reviews (1): Last reviewed commit: "docs(godot): 收口日志系统文档" | Re-trigger Greptile

@github-actions

Copy link
Copy Markdown

MegaLinter analysis: Success

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ REPOSITORY gitleaks yes no no 3.23s
✅ REPOSITORY trufflehog yes no no 3.68s

See detailed reports in MegaLinter artifacts
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@GeWuYou

GeWuYou commented Apr 22, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant