Files
Genarrative/docs/technical/CREATION_HUB_CARD_ACTIONS_2026-04-22.md

3.9 KiB
Raw Blame History

创作中心作品卡操作入口落地说明

日期:2026-04-22

1. 本次目标

创作中心作品卡需要补齐两个直接操作入口:

  1. 体验:对已经满足运行条件的作品,直接从卡片启动对应玩法,不再必须先进详情页。
  2. 删除:对已有正式删除契约的 RPG 已发布作品,直接从卡片删除并刷新创作中心。

2. 操作语义

作品类型 状态 主按钮 体验入口 删除入口
RPG Agent 草稿 draft 继续创作 / 继续完善 不展示,草稿需要先走发布链 不展示,本轮不新增 Agent session 物理删除
RPG 已发布作品 publishedcanEnterWorld=true 查看详情 展示 体验,直接调用现有进入世界链 展示 删除,走 owner-only 软删除
Big Fish 草稿 draft 继续创作 不展示,草稿需要先回到聊天或结果页继续完善 不展示,本轮不新增 Big Fish 草稿删除
Big Fish 已发布作品 published 查看详情 展示 体验,直接调用现有 Big Fish 运行态 不展示,本轮不新增 Big Fish 删除契约
拼图草稿 draft 继续创作 不展示 不展示,本轮不新增拼图删除契约
拼图已发布作品 published 查看详情 展示 体验,直接调用 startPuzzleRun 不展示,本轮不新增拼图删除契约

3. 后端边界

RPG 删除必须继续遵守后端治理里的软删除规则:

  1. custom_world_profile 增加 deleted_at 语义字段。
  2. 删除时不物理删除 profile只设置 deleted_at、把发布态回退为 draft、清空 published_at,并删除公开 gallery projection。
  3. library / gallery detail / works 读取默认过滤 deleted_at != null 的作品。
  4. 重复删除同一 profile 保持幂等,返回当前可见作品列表。

4. 前端边界

  1. 卡片只做表现和动作分发,不在前端拼删除逻辑。
  2. 删除前使用浏览器确认,避免移动端误触。
  3. 卡片按钮移动端优先换行铺开,避免小屏幕上三个按钮拥挤。
  4. 不在 UI 中默认展示大段规则说明,失败信息沿用创作中心现有错误 banner。

5. 本轮不做

  1. 不新增 Agent session 草稿删除。
  2. 不新增拼图作品删除。
  3. 不新增独立删除面板。
  4. 不新建创作页或运行时页面,只复用现有 CustomWorldCreationHub、RPG 进入世界链和拼图运行时链。
  5. Big Fish 草稿恢复链补齐时,只补创作中心 works 投影和恢复入口,不新建独立 Big Fish 作品系统。

6. 已落地结果

  1. 创作中心 RPG 已发布作品卡主按钮统一调整为 查看详情,避免和直接进入玩法的动作混淆。
  2. RPG 与拼图已发布作品卡新增独立 体验 入口,直接复用各自现有运行时进入链路。
  3. RPG 已发布作品卡新增 删除 入口,调用 /api/runtime/custom-world-library/{profile_id}DELETE 路由,按 owner-only 软删除规则刷新作品列表与公开广场。
  4. 创作中心详情页原有删除链路继续保留,和卡片删除共用同一后端删除契约。
  5. 后续拼图草稿恢复链补齐后,拼图 draft 卡主按钮语义收口为 继续创作,通过 sourceSessionId 恢复 Agent session而不是进入详情页。
  6. 后续 Big Fish 草稿恢复链补齐后Big Fish draft 卡主按钮同样收口为 继续创作,通过 sourceSessionId 恢复 Agent session而不是重新创建会话。

7. 已验证

  1. corepack pnpm vitest run src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx
  2. 交互测试已覆盖:
    • 创作卡点击 查看详情 进入详情页。
    • 创作卡点击 体验 直接进入世界选择链路。
    • 创作卡点击 删除 直接从作品列表移除。
    • 详情页删除入口在新卡片动作语义下仍然可用。