fix: 归零玩法创作初始进度
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# 拼图与大鱼吃小鱼初始创作进度归零修复 2026-04-26
|
||||
|
||||
## 背景
|
||||
|
||||
拼图与大鱼吃小鱼 Agent 新建会话时,后端会先写入欢迎消息和初始锚点草稿。此前这两个模板把欢迎消息和种子推断视为创作推进,导致新会话一进入工作区就显示非 `0%` 的创作进度。
|
||||
|
||||
这与创作工作区的统一约束冲突:新会话必须如实展示后端 session 的 `progressPercent`,初始值为 `0` 时前端数字与进度条都保持 `0%`,不能让用户误判已经完成了创作推进。
|
||||
|
||||
## 设计约束
|
||||
|
||||
1. 拼图与大鱼吃小鱼新建 Agent session 时,`progress_percent` 固定写入 `0`。
|
||||
2. 欢迎消息、种子文本和初始锚点推断只作为对话上下文与占位结构,不计入创作进度。
|
||||
3. 首次用户消息提交后,进度才允许由模型回包或后续 action 写回推进。
|
||||
4. 前端不为这两个模板额外兜底抬高初始进度,进度真相继续来自 `server-rs` 的 SpacetimeDB session。
|
||||
|
||||
## 落地点
|
||||
|
||||
1. `server-rs/crates/spacetime-module/src/big_fish/session.rs`
|
||||
- `create_big_fish_session_tx` 初始化 `progress_percent = 0`。
|
||||
2. `server-rs/crates/spacetime-module/src/puzzle.rs`
|
||||
- `create_puzzle_agent_session_tx` 初始化 `progress_percent = 0`。
|
||||
|
||||
## 验收
|
||||
|
||||
1. 新建大鱼吃小鱼创作工作区后,顶部创作进度显示 `0%`。
|
||||
2. 新建拼图创作工作区后,顶部创作进度显示 `0%`。
|
||||
3. 发送第一条用户消息后,进度按模型回包或后续操作正常推进。
|
||||
4. 生成草稿、生成资产、发布等后续阶段的进度值不受本次调整影响。
|
||||
@@ -182,7 +182,8 @@ pub(crate) fn create_big_fish_session_tx(
|
||||
owner_user_id: input.owner_user_id.clone(),
|
||||
seed_text: input.seed_text.trim().to_string(),
|
||||
current_turn: 0,
|
||||
progress_percent: 20,
|
||||
// 中文注释:欢迎语和种子推断只是初始上下文,不代表创作者已经推进了共创流程。
|
||||
progress_percent: 0,
|
||||
stage: BigFishCreationStage::CollectingAnchors,
|
||||
anchor_pack_json: serialize_anchor_pack(&anchor_pack)
|
||||
.map_err(|error| error.to_string())?,
|
||||
|
||||
@@ -473,7 +473,8 @@ fn create_puzzle_agent_session_tx(
|
||||
owner_user_id: input.owner_user_id.clone(),
|
||||
seed_text: input.seed_text.clone(),
|
||||
current_turn: 1,
|
||||
progress_percent: 18,
|
||||
// 中文注释:欢迎语和初始锚点推断不计入创作进度,新会话必须从 0% 开始。
|
||||
progress_percent: 0,
|
||||
stage: PuzzleAgentStage::CollectingAnchors,
|
||||
anchor_pack_json: serialize_json(&anchor_pack),
|
||||
draft_json: None,
|
||||
|
||||
Reference in New Issue
Block a user