cursor Init 完善多人协同changelog,以及godot相关基础skill和代码规范

This commit is contained in:
Nostars Developer
2026-07-15 14:38:08 +08:00
parent fc8557f2a9
commit 6446261c69
56 changed files with 3523 additions and 1584 deletions

View File

@@ -0,0 +1,41 @@
---
description: Godot 项目的分层、依赖方向、信号解耦与工程完整性约定
alwaysApply: true
---
# Godot 分层架构
先识别项目已有目录、autoload 和通信方式,再沿用其边界;不要仅为套用规则而创建新框架。
## 依赖方向
- 领域逻辑负责规则、状态与数据,尽量保持可在 headless 环境运行。
- 表现层负责场景、UI、输入、动画、音频和特效不在回调中复制领域规则。
- 逻辑层不得加载 UI 场景、抓取表现节点或等待表现动画完成。
- UI 将用户意图转为逻辑层公开命令;状态变化通过返回值、可观察状态或信号反馈。
- 跨系统优先用明确接口或信号解耦。若项目已有事件总线,复用其契约;没有时不要强制新建全局总线。
```gdscript
# 表现层只转发意图
func _on_confirm_pressed() -> void:
entity_service.confirm(entity_id)
# 逻辑层发布状态变化,不直接操作 UI
func confirm(id: StringName) -> void:
# 更新领域状态
entity_confirmed.emit(id)
```
## 边界约束
- 信号参数和公开方法是跨层契约;修改时同步调用方、测试与相关文档。
- 避免双向依赖和跨层节点路径。依赖应显式注入或通过稳定接口获取。
- autoload 只承载确需全局生命周期的服务或状态,不把普通功能默认做成单例。
- 新系统先明确所有权、生命周期、可测试边界和失败处理,再决定放置位置。
## 工程完整性
- Godot 版本遵循项目声明;升级引擎或兼容特征前必须说明影响并取得确认。
- 修改 `project.godot`、导出预设、autoload 或输入映射前,先说明运行与构建影响。
- Godot 生成的 UID 与对应资源保持一致,不手工伪造;移动或删除资源时检查引用。
- 外部插件和第三方资源遵守 `dependency-governance`。