34b1ad5d5c
- 新增 4 个仓库内手写 Godot 4.7 模板源:godot-empty-2d、godot-empty-3d、godot-hello-world、godot-platformer-2d,entry 统一为 project.godot,各自带 meta.json 与 960×540 封面 - template_library.rs:复制模板后按 project.godot 识别 Godot 模板,改写工程显示名后走既有 Godot 导入并写入 godotProjectRoot,不再落到 Web 占位入口 - manifest.rs:新增 apply_godot_project_display_name,只改 [application] 段的 config/name 一行,其余字节逐字保留 - manifest.rs:放宽 Godot 工作区发现,一层子目录多命中按目录名排序取第一个,project.godot 允许是符号链接 / reparse point / 硬链接 - commands.rs:同步 Godot 导入错误文案,去掉「普通文件」限定 - RuntimeConfigDialog.tsx:内置插件行去掉手动启动 / 停止按钮,启动由前端自动启动承担、停止走该行启用开关 - import_tests.rs 与 tests/project.rs:补显示名改写、多命中确定性、链接标记与错误文案的定向回归 - 同步更新 PRD、模板包组织指南、模板库与模板建项技术方案、AGC Godot 编辑器插件接入方案、实施计划与共享决策记录
AGC 游戏模板库
- 用途:AGC 客户端读取的游戏模板库,正文是可直接解压到项目根的 zip(zip 根 == AGC 项目根,例如
game/index.html)。 - 位置:bucket
agc-dev(endpointoss-rg-china-mainland.aliyuncs.com)的templates/前缀,随 bucket 公共读。客户端只读templates/index.json(schemaagc-template-library.v1)。 - 目录结构:
templates/index.json+templates/v1/<templateId>/sha256/<内容摘要>/{template.zip,template.json,cover.*};条目元数据含tags、封面键与尺寸/摘要、包大小与 SHA-256、templateVersion。所有正文按自身字节摘要寻址,重复发布复用同一对象。 - 封面支持
png / jpg / webp / svg。 - 客户端只信任「受信任 OSS 主机 + 对象键」,清单里的地址字段不参与请求;下载后强校验包大小与 SHA-256,安装完成的唯一判据是模板目录里的
installed.json。 - 这份文件就是线上
templates/README.md的源:内容随每次发布覆盖写,所以改契约要改这里,不要只改线上对象。 - 契约与验收以仓库文档
docs/technical/【技术方案】AGC模板库与模板建项-2026-09-17.md为准;模板源在apps/ai-game-creator-shell/template-library/,发布用node scripts/agc-template-library-publish.mjs --source apps/ai-game-creator-shell/template-library [--dry-run] [--only <id,id,...>](脚本现场打包 zip、按内容地址上传、逐个回读校验、持锁提交清单)。 - 准备新模板(ZIP 里放什么、不能放什么、封面与元数据约束、发布前自检)先读
docs/【模板规范】AGC模板包组织指南-2026-09-21.md。 - 同一个
templateVersion的 ZIP 字节发生变化时发布会失败关闭,必须递增该模板的templateVersion;发布不删除历史对象,历史版本仍可按旧键下载。