3.9 KiB
3.9 KiB
创作中心作品卡操作入口落地说明
日期:2026-04-22
1. 本次目标
创作中心作品卡需要补齐两个直接操作入口:
- 体验:对已经满足运行条件的作品,直接从卡片启动对应玩法,不再必须先进详情页。
- 删除:对已有正式删除契约的 RPG 已发布作品,直接从卡片删除并刷新创作中心。
2. 操作语义
| 作品类型 | 状态 | 主按钮 | 体验入口 | 删除入口 |
|---|---|---|---|---|
| RPG Agent 草稿 | draft |
继续创作 / 继续完善 |
不展示,草稿需要先走发布链 | 不展示,本轮不新增 Agent session 物理删除 |
| RPG 已发布作品 | published 且 canEnterWorld=true |
查看详情 |
展示 体验,直接调用现有进入世界链 |
展示 删除,走 owner-only 软删除 |
| Big Fish 草稿 | draft |
继续创作 |
不展示,草稿需要先回到聊天或结果页继续完善 | 不展示,本轮不新增 Big Fish 草稿删除 |
| Big Fish 已发布作品 | published |
查看详情 |
展示 体验,直接调用现有 Big Fish 运行态 |
不展示,本轮不新增 Big Fish 删除契约 |
| 拼图草稿 | draft |
继续创作 |
不展示 | 不展示,本轮不新增拼图删除契约 |
| 拼图已发布作品 | published |
查看详情 |
展示 体验,直接调用 startPuzzleRun |
不展示,本轮不新增拼图删除契约 |
3. 后端边界
RPG 删除必须继续遵守后端治理里的软删除规则:
custom_world_profile增加deleted_at语义字段。- 删除时不物理删除 profile,只设置
deleted_at、把发布态回退为draft、清空published_at,并删除公开 gallery projection。 library / gallery detail / works读取默认过滤deleted_at != null的作品。- 重复删除同一 profile 保持幂等,返回当前可见作品列表。
4. 前端边界
- 卡片只做表现和动作分发,不在前端拼删除逻辑。
- 删除前使用浏览器确认,避免移动端误触。
- 卡片按钮移动端优先换行铺开,避免小屏幕上三个按钮拥挤。
- 不在 UI 中默认展示大段规则说明,失败信息沿用创作中心现有错误 banner。
5. 本轮不做
- 不新增 Agent session 草稿删除。
- 不新增拼图作品删除。
- 不新增独立删除面板。
- 不新建创作页或运行时页面,只复用现有
CustomWorldCreationHub、RPG 进入世界链和拼图运行时链。 - Big Fish 草稿恢复链补齐时,只补创作中心 works 投影和恢复入口,不新建独立 Big Fish 作品系统。
6. 已落地结果
- 创作中心 RPG 已发布作品卡主按钮统一调整为
查看详情,避免和直接进入玩法的动作混淆。 - RPG 与拼图已发布作品卡新增独立
体验入口,直接复用各自现有运行时进入链路。 - RPG 已发布作品卡新增
删除入口,调用/api/runtime/custom-world-library/{profile_id}的DELETE路由,按 owner-only 软删除规则刷新作品列表与公开广场。 - 创作中心详情页原有删除链路继续保留,和卡片删除共用同一后端删除契约。
- 后续拼图草稿恢复链补齐后,拼图
draft卡主按钮语义收口为继续创作,通过sourceSessionId恢复 Agent session,而不是进入详情页。 - 后续 Big Fish 草稿恢复链补齐后,Big Fish
draft卡主按钮同样收口为继续创作,通过sourceSessionId恢复 Agent session,而不是重新创建会话。
7. 已验证
corepack pnpm vitest run src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx- 交互测试已覆盖:
- 创作卡点击
查看详情进入详情页。 - 创作卡点击
体验直接进入世界选择链路。 - 创作卡点击
删除直接从作品列表移除。 - 详情页删除入口在新卡片动作语义下仍然可用。
- 创作卡点击