4.1 KiB
4.1 KiB
拼图填表式创作流程改造 2026-04-29
背景
拼图创作入口不再使用 Agent 对话收集题材锚点。新流程只让玩家填写两个字段:拼图标题、画面描述。画面描述支持上传参考图。玩家确认后直接进入草稿生成进度页,后续草稿生成、首图生成、正式图选择、结果页编辑和发布沿用现有后端编排。
入口表单
- 拼图标题为必填字段,保存到
seedText,同时作为levelName的优先来源。 - 画面描述为必填字段,保存到
pictureDescription,同时作为summary和首图生成 prompt 的优先来源;支持多行文本,后端解析不得截断首行之后的内容。 - 参考图为可选字段,保存到
referenceImageSrc。表单支持本地图片上传为 Data URL;草稿首图生成时直接传入现有拼图图生图接口。 - 表单确认后前端先创建拼图 session,再立即执行
compile_puzzle_draft,并传入promptText = pictureDescription、referenceImageSrc。 - 表单提交 payload 需要在前端创作流程中暂存,生成进度页失败重试时必须继续携带同一份画面描述与参考图。
- 入口不再展示拼图 Agent 聊天气泡、快捷补齐或多锚点卡片;新建拼图时必须清空旧 session,只有从当前生成进度页返回表单时保留本轮内容。
锚点映射
拼图模式锚点收口为两个玩家输入源:
| 新字段 | 落地字段 | 说明 |
|---|---|---|
| 拼图标题 | themePromise.value、levelName、creatorIntent.themePromise |
作为题材承诺与关卡名称的真相源 |
| 画面描述 | visualSubject.value、summary、首图 promptText |
作为画面主体与生图 prompt 的真相源 |
兼容旧结构时仍保留 visualMood、compositionHooks、tagsAndForbidden 字段,但它们不再由 Agent 问答收集:
visualMood固定标记为系统推断,值为“清晰、适合拼图切块”。compositionHooks固定标记为系统推断,值为“主体轮廓、色块分区、局部细节”。tagsAndForbidden根据拼图标题和画面描述生成 3 到 6 个题材标签;禁忌只保留通用图像约束,不写入 UI。
生成进度页的“当前拼图信息”只展示玩家输入锚点:拼图标题、画面描述。题材标签仅作为草稿结果页内容展示,不在进度页混入旧五锚点结构。
后端编译
CreatePuzzleAgentSessionRequest新增pictureDescription与referenceImageSrc,但不改 SpacetimeDB 表结构。- api-server 创建 session 时把标题和画面描述合成
seedText传入 SpacetimeDB;SpacetimeDB reducer 只做确定性锚点生成,不接触图片或外部服务。 compile_puzzle_draft_with_initial_cover新增首图 prompt 和参考图参数。若前端传入画面描述,则首图生成直接使用这段文本;若传入参考图,则走现有 DashScope 图生图链路。- 图片生成仍在 api-server 内完成,遵守 SpacetimeDB reducer 不做网络 I/O 的约束。
结果页
拼图草稿结果页不再区分 Tab,合并为一个可滚动列表页,内容顺序固定为:
- 关卡名称。
- 画面预览。
- 画面描述。
- 重新生成画面按钮。
- 题材标签。
画面描述区域不再展示候选图实际 prompt 或“请生成一张适合……”之类内部提示词模块。参考图入口保留在画面描述编辑区域内,便于重新生成时继续带入。结果页编辑画面描述时必须同步更新 summary,确保自动保存、作品测试、发布和重新生成画面使用同一份描述。
验收
- 从拼图创作入口只能看到标题、画面描述和参考图上传,不出现 Agent 聊天输入、补齐设定、锚点问答。
- 点击确认后进入拼图草稿生成进度页,并自动完成草稿编译、首图生成、正式图选择。
- 首图生成请求使用玩家画面描述作为 prompt;上传参考图时走图生图。
- 结果页为单列表,顺序符合上文要求,不展示 Tab 和内部实际 prompt。
- 发布、作品测试、自动保存标题、画面描述和标签仍可用。