3.3 KiB
3.3 KiB
拼图生成页进度口径
更新时间:2026-06-02
目标
拼图草稿生成页的步骤推进只跟随真实生成结果;步骤内部允许使用本地假进度增强等待反馈。未收到当前步骤完成信号前,生成页必须停留在当前步骤,不得按预计耗时自动跳到后续步骤。
落地口径
- 总进度和当前步骤内百分比可以按已耗时平滑增长;新发起的生成初始帧从
0%开始,恢复持久化生成中草稿时必须按后端 session / 作品摘要时间戳推导已耗时,不能每次重新从0 秒起算。非完成态最多停在98%。 - 后端
progressPercent的88/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 拼图草稿仍留在作品架,并且不再显示“生成中”。- 文档主图谱的拼图章节同步保留该口径。