Files
Genarrative/apps/ai-game-creator-shell/template-library
kdletters f4ebc45612
Project CI / AI game creator shell Rust smoke (push) Successful in 1m56s
Project CI / AI game creator shell Rust crates (push) Successful in 1m23s
Project CI / AI game creator shell Rust lane 2/2 (push) Failing after 4m48s
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 7m38s
Project CI / Frontend tests (push) Successful in 10m0s
Project CI / Native shell tests (push) Successful in 11m37s
Project CI / Repository checks (push) Successful in 8m49s
Project CI / Backend tests (push) Successful in 12m24s
Project CI / AI game creator shell web tests (push) Successful in 4m50s
模板库线上对齐仓库源:递增版本重发并把说明文档纳入发布
- 7 个内容已变的模板 templateVersion 升到 0.1.1,blank-2d-canvas 与 blank-web 保持 0.1.0
- 发布脚本把仓库 README.md 覆盖写到 templates/README.md(上限 64 KiB,写在清单之前并回读校验),线上说明文档不再是手工副本
- 修复守卫拒绝时直接 process.exit(1) 触发 libuv 断言崩溃、看不到拒绝原因的问题
- 新增发布用例:说明文档随发布覆盖写且写在清单之前、源目录没有 README 时不写线上文档
- 模板库新增仓库侧 README.md 源文件(发布后与线上逐字节一致)
- 技术方案补说明文档契约与 2026-09-21 重发布记录;决策记录与踩坑记录各补一条
- 验证:node --test 27 项、真实发布 28 个对象回读通过、线上清单与 README 核对一致、AGC 壳 3 项线上用例重跑通过、check:doc-index、check:encoding、eslint、git diff --check
2026-09-21 14:51:39 +08:00
..

AGC 游戏模板库

  • 用途:AGC 客户端读取的游戏模板库,正文是可直接解压到项目根的 zip(zip 根 == AGC 项目根,例如 game/index.html)。
  • 位置:bucket agc-dev(endpoint oss-rg-china-mainland.aliyuncs.com)的 templates/ 前缀,随 bucket 公共读。客户端只读 templates/index.json(schema agc-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、按内容地址上传、逐个回读校验、持锁提交清单)。
  • 同一个 templateVersion 的 ZIP 字节发生变化时发布会失败关闭,必须递增该模板的 templateVersion;发布不删除历史对象,历史版本仍可按旧键下载。