02a7abeb3f
Project CI / AI game creator shell Rust crates (push) Successful in 2m53s
Project CI / AI game creator shell Rust smoke (push) Successful in 3m42s
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
- 后台新增「模板管理」页:按权限查看并编辑模板名称/简介/标签/封面,支持上架与下架;路由、侧栏、tab 权限、API 客户端与 DTO 同步接入 - api-server 新增 /admin/api/agc-templates 读取与更新路由,复用现有后台鉴权与 tab 权限校验,权限不足按既有失败关闭口径拒绝 - module-assets 收敛模板库纯规则(active/inactive 投影、索引 schema 与重复项校验、ZIP 大小与摘要核对),platform-oss 承担对象存储读写、不可变对象复用与发布互斥锁 - shared-contracts 补后台模板 DTO;spacetime-module 账号存储适配保持既有 schema 不变 - AGC 壳内置模板索引与建项读取改为内容寻址对象,补模板安装、越界归档、索引不匹配等用例 - 模板库发布脚本支持定向发布与上架/下架合并、内容地址复用与锁语义,CLI 守卫用例同步;jenkins 两条客户端打包管线统一触发邮件通知 Job 并传递首装包链接 - 内置 5 个 Cocos 官方模板载荷与索引 fixture(内容地址对象,共 90 个文件) - 补「后台模板管理」里程碑与实施计划,更新模板库技术方案、开发运维文档与共享记忆 - 验证:admin-web 39 项用例与 typecheck、发布脚本 25 项用例、api-server 与 AGC 壳编译、模板库定向 Rust 用例(AGC 壳 18 项、module-assets/platform-oss 16 项、后台权限 1 项)、check:encoding / check:doc-index / check:production-ops / rustfmt 全部通过
module-assets 独立模块 package 占位说明
日期:2026-04-20
1. package 职责
module-assets 是资产任务与对象绑定模块 package,后续负责:
asset_job、asset_object、asset_manifest等资产状态模型- 角色形象、动作、Qwen 精灵表、场景图、封面图等资产任务编排
- 业务实体与 OSS 对象的绑定关系
- 与
apps/api-server的 assets 兼容接口对接 - 与
apps/spacetime-module的资产表、reducer、view 聚合对接
2. 当前阶段说明
当前资产对象主链已完成后端收口:资产对象确认、实体槽位绑定、历史读取、OSS 对象确认、API facade、SpacetimeDB adapter 和资产事件表已经形成同一条后端真相链。与本模块直接相关的基础设施包括:
api-server已具备POST /api/assets/direct-upload-ticketsplatform-oss已具备旧/generated-*前缀兼容的PostObject签名能力- 资产对象引用口径已冻结为
bucket + object_key双列 module-assets已落地:AssetObjectAccessPolicyasset_object字段校验 helperassetobj_ID 前缀与初始版本常量asset_entity_binding输入、快照、返回记录与字段校验 helperassetbind_ID 前缀
WP-AS Assets资产对象类型归位已完成,领域快照、命令 DTO、应用返回 DTO、领域事件和字段错误已分别落到 DDD 骨架文件中。asset_eventpublic event table 已承接对象确认与实体绑定变更事实,订阅端和审计流程可以感知资产主链变化。
当前 asset_object 表的字段、索引与可编码约束见:
- ../../../docs/【玩法创作】平台入口与玩法链路-2026-05-15.md
- ../../../docs/【玩法创作】平台入口与玩法链路-2026-05-15.md
- ../../../docs/【玩法创作】平台入口与玩法链路-2026-05-15.md
- ../../../docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md
- ../../../docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md
当前还已补齐:
AssetObjectService- 私有 bucket
HEAD Object后的对象确认写入 - 当前阶段的进程内
asset_object去重存储 - SpacetimeDB
asset_object/asset_entity_binding/asset_eventadapter 写入 - Rust
spacetime-client资产对象确认、绑定和历史 facade
后续与本 package 直接相关的任务包括:
- 设计
asset_job和asset_manifest - 设计角色、动作、场景、精灵表相关资产表
- 对齐资产生成、发布和专业资产任务编排
- 新增资产生成表或专业资产任务时继续复用 OSS read-url 读取链路
3. 边界约束
module-assets负责资产任务状态、对象引用关系与模块级编排,不把二进制对象本身放回本地持久化目录真相中。- OSS 上传、签名、对象读写等副作用通过平台适配完成,状态最终回写到
apps/spacetime-module聚合的状态模型中。 - 前端兼容接口由
apps/api-server暴露,但资产任务状态与对象绑定关系不能再次散落到本地文件判断逻辑里。 - 后续
SpacetimeDB中的对象引用统一按bucket + object_key两列建模,不存完整 URL 作为真相字段。