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/technical/SPACETIMEDB_ASSET_OBJECT_TABLE_DESIGN_2026-04-21.md
- ../../../docs/technical/ASSET_OBJECT_CONFIRM_FLOW_DESIGN_2026-04-21.md
- ../../../docs/technical/ASSET_ENTITY_BINDING_REDUCER_DESIGN_2026-04-21.md
- ../../../docs/technical/SERVER_RS_DDD_WP_AS_ASSET_OBJECT_TYPE_REHOME_2026-04-29.md
- ../../../docs/technical/SERVER_RS_DDD_WP_AS_ASSET_CHAIN_CLOSURE_2026-05-01.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 作为真相字段。