问题
#37 §3.1.1 将资产库定义为正式角色资产的长期管理入口,但当前项目中没有可用的 Asset Library 页面。生成候选、WorkflowRun 中间结果和 Playtest 核验记录也缺少明确边界,容易被误当成正式资产展示。
目标
实现项目级 Asset Library,只读取已经写入 Character 后端记录的角色、造型与动作,并提供进入 Playtest 和继续生成动作的入口。
范围
包含:
- 路由页面
/projects/:projectId/assets
- 通过
CharacterApis.listByProject(projectId) 读取正式 Character 树
- 角色与造型侧栏、当前造型母版和动作列表
- 动作名称、类型、FPS、帧数与预览
- 使用稳定 characterId、outfitId、actionId 打开 Playtest
- 没有动作的正式角色仍可展示,并提供生成动作入口
- 加载、空状态、请求失败、图片失败与组件测试
不包含:
- WorkflowRun 历史、生成候选和 Playtest 核验结论
- Character Entity、API 适配器或后端改动
- 动作生成页面、Workflow Editor 与 AppShell 装配
- 跨项目复用、批量删除和权限管理
验收标准
- 页面只展示
CharacterApis 返回的正式资产,不从 WorkflowRun 拼装数据
- 角色、造型和动作切换使用稳定 ID,不使用数组位置作为业务标识
- Playtest 链接携带正确的 characterId、outfitId 和可选 actionId
- 空项目、无动作角色、多角色多造型和请求失败均有测试
- 页面不负责生成、审核或修改 WorkflowRun
- CI 五步全部通过:
format:check / lint / typecheck / test / build
参考实现
Character 数据边界以 entities/character 为准;Playtest 的正式资产读取与稳定 ID 约定可参考 PR #96。
备注
资产库与 Playtest 是两个页面:资产库负责管理正式资产,Playtest 负责播放和核验,不互相替代。
问题
#37 §3.1.1 将资产库定义为正式角色资产的长期管理入口,但当前项目中没有可用的 Asset Library 页面。生成候选、WorkflowRun 中间结果和 Playtest 核验记录也缺少明确边界,容易被误当成正式资产展示。
目标
实现项目级 Asset Library,只读取已经写入 Character 后端记录的角色、造型与动作,并提供进入 Playtest 和继续生成动作的入口。
范围
包含:
/projects/:projectId/assetsCharacterApis.listByProject(projectId)读取正式 Character 树不包含:
验收标准
CharacterApis返回的正式资产,不从 WorkflowRun 拼装数据format:check/lint/typecheck/test/build参考实现
Character 数据边界以
entities/character为准;Playtest 的正式资产读取与稳定 ID 约定可参考 PR #96。备注
资产库与 Playtest 是两个页面:资产库负责管理正式资产,Playtest 负责播放和核验,不互相替代。