puzzle单机实现
This commit is contained in:
@@ -192,6 +192,9 @@ Agent 在这一玩法里不负责实时玩法裁决,它只负责 3 件事:
|
||||
3. 会总结,不只会追问
|
||||
4. 会补缺,不会平均盘问
|
||||
5. 进度基于真实锚点完成度,而不是机械轮次
|
||||
6. 当会话至少完成 `2` 轮后,工作区必须提供 `补充剩余关键字` 快捷动作。
|
||||
- 该动作只向 Agent 发送“请补充剩余关键字。”,由后端 Agent 根据当前锚点补齐缺失关键词。
|
||||
- 前端不得自行推断成长阶梯、风险节奏或视觉母题,也不得直接改写锚点状态。
|
||||
|
||||
## 7.3 大鱼吃小鱼玩法的 4 个最小高杠杆锚点
|
||||
|
||||
@@ -948,6 +951,12 @@ Agent 在这一玩法里不负责实时玩法裁决,它只负责 3 件事:
|
||||
5. `src/services/big-fish-*`
|
||||
- 前端 client、adapter、view model
|
||||
|
||||
后端字段边界要求:
|
||||
|
||||
1. LLM 输出、HTTP 响应和前端交互契约可以使用 `camelCase`,例如 `nextAnchorPack`、`gameplayPromise`、`ecologyVisualTheme`。
|
||||
2. 写入 SpacetimeDB 的 `anchor_pack_json`、`draft_json`、`asset_coverage_json`、`snapshot_json` 必须序列化 Rust 领域结构,字段名保持 `snake_case`。
|
||||
3. `api-server` 负责在 LLM/HTTP 边界显式翻译字段名,不能把前端响应层 JSON 直接透传为 SpacetimeDB 持久化 JSON。
|
||||
|
||||
---
|
||||
|
||||
## 22. 平台内脚本命名规范
|
||||
|
||||
@@ -91,6 +91,16 @@
|
||||
10. 游戏画面必须显示作者信息和关卡名。
|
||||
11. 前端只负责表现和交互输入,逻辑、数据、关卡裁决、推荐计算、状态存储全部放到 `server-rs` 后端,由 `Axum + SpacetimeDB + OSS` 方案承接。
|
||||
|
||||
### 第一版单机例外说明 2026-04-24
|
||||
|
||||
为了先把拼图玩法跑通,第一版运行态采用单机本地版本,作为上面总原则的阶段性例外:
|
||||
|
||||
1. Agent 会话、结果页草稿、正式候选图生成、封面确认、发布、作品读取,仍然全部走 Rust 后端。
|
||||
2. 进入拼图玩法后的 `run` 只在前端本地内存中存在。
|
||||
3. 交换、拖动、通关判断不写回后端。
|
||||
4. 关闭玩法后不保留本次运行态,不做断点续玩。
|
||||
5. 后续如果要做跨端续玩、多端同步或排行榜,再把运行态真相源收回后端。
|
||||
|
||||
---
|
||||
|
||||
## 4. 明确不做
|
||||
@@ -191,7 +201,10 @@
|
||||
1. 优先接住创作者的画面灵感,而不是立刻列问卷。
|
||||
2. 每轮只追问当前最影响图片生成质量的 `1` 个问题。
|
||||
3. 当创作者已经说出足够信息时,优先总结,不重复追问。
|
||||
4. 在进入结果页前,至少确认:
|
||||
4. 当会话至少完成 `2` 轮后,工作区必须提供 `补充剩余关键字` 快捷动作。
|
||||
- 该动作只向 Agent 发送“请补充剩余关键字。”,不在前端补数据、不伪造锚点状态。
|
||||
- Agent 收到后应优先补齐仍为 `待补充` / 空值的锚点关键词,并保持每次回复清爽直接。
|
||||
5. 在进入结果页前,至少确认:
|
||||
- 一句题材承诺
|
||||
- 一个主要视觉主体
|
||||
- 一组气质描述
|
||||
@@ -294,6 +307,12 @@ interface PuzzleAnchorPack {
|
||||
2. 创作者选择 `1` 张作为正式图
|
||||
3. 正式图确定后,写回作品主图
|
||||
|
||||
后端落地契约:
|
||||
|
||||
1. `api-server` 写入 SpacetimeDB 的候选图 JSON 必须使用 `module-puzzle::PuzzleGeneratedImageCandidate` 持久化结构。
|
||||
2. 持久化字段名保持 Rust 侧 `snake_case`,例如 `candidate_id`、`image_src`、`asset_id`、`actual_prompt`、`source_type`。
|
||||
3. 面向前端的 HTTP 响应仍由 `shared-contracts` 单独映射为 `camelCase`,不能把响应层字段名直接写入 SpacetimeDB JSON。
|
||||
|
||||
## 7.6 拼图图片资产要求
|
||||
|
||||
拼图图片的正式资产要求:
|
||||
|
||||
Reference in New Issue
Block a user