Files
Genarrative/docs/【玩法创作】拼图生成页进度口径-2026-05-23.md

3.3 KiB

拼图生成页进度口径

更新时间:2026-06-02

目标

拼图草稿生成页的步骤推进只跟随真实生成结果;步骤内部允许使用本地假进度增强等待反馈。未收到当前步骤完成信号前,生成页必须停留在当前步骤,不得按预计耗时自动跳到后续步骤。

落地口径

  • 总进度和当前步骤内百分比可以按已耗时平滑增长;新发起的生成初始帧从 0% 开始,恢复持久化生成中草稿时必须按后端 session / 作品摘要时间戳推导已耗时,不能每次重新从 0 秒 起算。非完成态最多停在 98%
  • 后端 progressPercent88/94/96 只用于切换当前真实步骤,不得直接作为总进度地板;总进度应按已完成步骤权重加当前步骤内假进度推导,避免恢复或轮询后瞬间跳到 88%
  • 后端 progressPercent 低于 88 只作为当前会话状态记录,不得把生成页阶段推到首个图片里程碑,也不得抬高首帧总进度。
  • 步骤状态以真实阶段为准:phase / 后端会话进度 / 最终完成或失败回包才允许跨步。
  • 拼图和抓大鹅等生成页从作品架 / 刷新恢复进入时,前端应优先使用后端 session updatedAt 或作品摘要 updatedAt 作为展示态 startedAtMs,保证已耗时与后端生成时间对齐;后台 session 的 progressPercent 只负责真实步骤推进,不直接决定总进度百分比。
  • 生成失败时,生成页冻结为失败 / 重试状态;同一浏览器会话内返回草稿 Tab 时,失败草稿必须继续出现在作品架,且本地失败 notice 要覆盖后端仍可能短暂返回的 generationStatus=generating 摘要,不能继续显示“生成中”。
  • 当前步骤未完成时,后续步骤保持待处理;即使预计时间耗尽,也只能让当前步骤内部进度接近或达到上限,不能自动完成后续步骤。
  • 抓大鹅等非拼图小游戏的生成页也遵守同一恢复口径:没有后端资产计数时,当前步骤内假进度按玩法预计等待总时长平滑推进,不使用固定 0.5 这类常量起步,也不在未完成时显示 100%
  • 步骤卡片只展示标题和进度,不展示详细描述。
  • 生成拼图首图步骤按 4 分钟预估;完整 AI 重绘路径总预计时长为 448 秒,上传图且关闭 AI 重绘时跳过首图生成,仍为 208 秒。

验收

  • src/services/miniGameDraftGenerationProgress.test.ts 覆盖拼图步骤不会单纯按时间推进。
  • src/services/miniGameDraftGenerationProgress.test.ts 覆盖后端 progressPercent < 88 时不会抬高进入生成页的初始总进度。
  • src/services/miniGameDraftGenerationProgress.test.ts 覆盖抓大鹅等非拼图生成页初始总进度为 0%
  • src/components/CustomWorldGenerationView.test.tsx 覆盖步骤详情不在生成页渲染。
  • src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx -t "persisted generating" 覆盖刷新后继续生成中拼图 / 抓大鹅草稿按后端时间戳恢复,且不会因后端里程碑直接跳到 88%100%
  • src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx -t "failed parallel puzzle generations" 覆盖失败后的 pending 拼图草稿仍留在作品架,并且不再显示“生成中”。
  • 文档主图谱的拼图章节同步保留该口径。