# 创作中心作品卡操作入口落地说明 日期:`2026-04-22` ## 1. 本次目标 创作中心作品卡需要补齐两个直接操作入口: 1. **体验**:对已经满足运行条件的作品,直接从卡片启动对应玩法,不再必须先进详情页。 2. **删除**:对已有正式删除契约的 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 删除必须继续遵守后端治理里的软删除规则: 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. 交互测试已覆盖: - 创作卡点击 `查看详情` 进入详情页。 - 创作卡点击 `体验` 直接进入世界选择链路。 - 创作卡点击 `删除` 直接从作品列表移除。 - 详情页删除入口在新卡片动作语义下仍然可用。