Files
writing-agent/docs/play-presentation-shells.md
moranzhi ec474cb946 完善创作节点循环与等待态交互,并大幅打磨 Web 壳与会话运行时。
- 节点循环:配方开局直坐 DAG 第一步;验收后先问下一步意向,再确认开干并可钉编排参数;「按意见修改」只重跑当前节点。
- 询问分流:能力 opening 走说话面引导,可跳过追问按题干去重;追问与产物同轮挂载,避免拆成两段历史。
- 运行时:补强 revision 重跑、创作流程合并/进度指针、工具循环与 worker 执行;新增运行日志与 web:watch。
- 前端:统一等待态文案与底栏主按钮,完善询问卡/产物验收/呈现壳样式与交互。
- 同步世界模拟器模块提示、编排文档与相关测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 01:28:12 +08:00

134 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 游玩呈现壳 · 可微调前端模板
> **阶段**P1 = 定类与契约;**P2** = 程序/样式适配与灌数。
> 上游:游玩管线 `auditor → gm → narrator`。
> 创作挂钩:`设计.正文组成` / `设计.监控栏`;终稿 tag 通常 `输出.用户展示`。
> **创作定位:基于固定壳做适配微调,不是从零设计前端。**
> 预览:`/shells.html`
## 1. 创作怎么做(权威口径)
```text
固定壳(本仓库预置,七种)
→ 按「要同时看见什么」选 shell_id不是按好看
→ 只改允许的微调轴
→ 禁止改分区骨架、禁止发明第八种布局
游玩期:往壳区域灌数;正文随 600~3000 字撑高滚动
```
选壳依据(同时可见关系):
| 同时要看见 | 壳 |
|------------|-----|
| 只要正文 | `prose` |
| 正文 + 扫状态 | `chat_monitor` |
| 大正文 + 弱状态 | `spotlight` |
| 场面 + 交互物 + 行动 | `turn_panel` |
| 正文 ‖ 线索对照 | `split_board` |
| 局面 + 选项 | `choice_dock` |
| 章正文 + 进度 | `chapter_reader` |
预览页 `/shells.html`:主工作面是壳画布;侧栏只换壳;长度/语气在顶栏。
## 2. 信息层级与长文容量
所有壳共用同一优先级——**改壳只是改谁占主面积**
| 优先级 | 区域 | 视觉待遇 |
|--------|------|----------|
| **P0** | `body` | 阅读主轴;**随字数撑高**(单轮按 600~3000 字设计),由页面/消息区滚动 |
| **P1** | 建议行动 | 要决策时醒目;`choice_dock`**sticky 贴底** |
| **P2** | `monitor` | 芯片密排,高度固定矮 |
| **P3** | `header` / `footer` / `aside` | 辅助;双栏 **aside sticky**,长文仍可对照 |
**不要**把正文塞进固定高度小框再内部硬滚(除非外层消息流另有约束)。
选壳时问:用户 80% 时间是在「读长场面」还是「做选择」还是「对线索」?
## 3. 七种常用壳
| id | 中文 | 主面积给谁 | 主场景 |
|----|------|------------|--------|
| `prose` | 纯散文 | 正文 ≈ 全屏 | 只要沉浸、不要 HUD |
| `chat_monitor` | 对话 + 监控 | 正文(聊天气泡区) | 网恋 / 日常 / 轻 AIRP |
| `spotlight` | 场面主视 | 正文极大(追光) | 电影感一幕、少机制 |
| `turn_panel` | 回合面板 | 中栏场面 + 侧栏交互 | 资源/检定/跑团 |
| `split_board` | 双栏看板 | 左正文 · 右线索 | 调查、推理 |
| `choice_dock` | 选择坞 | 正文 + **底部大行动坞** | 选项驱动 / AVG 关口 |
| `chapter_reader` | 章节阅读 | 阅读柱 + 窄进度侧栏 | 长文 / 爽文 |
旧规格未写 `shell_id` → 运行时视为 `prose`
### 3.1 各壳固定槽位
| 区域 id | prose | chat_monitor | spotlight | turn_panel | split_board | choice_dock | chapter_reader |
|---------|-------|--------------|-----------|------------|-------------|-------------|----------------|
| `monitor` | — | 顶栏芯片 | 顶栏芯片 | 顶栏 | — | 可选顶栏 | — |
| `header` | — | — | — | 回合号 | 场景抬头 | — | **章题** |
| `body` | **主** | **主聊** | **主舞台** | **场面** | **主读** | **局面** | **章正文** |
| `footer` | 可选弱 | 可选 | 可选 | 检定摘要 | 可选 | 可选 | 作者注 |
| `aside` | — | — | — | 交互物 | **线索栏** | — | **进度** |
| `hidden` | 变量段 | 变量段 | 变量段 | 变量段 | 变量段 | 变量段 | 变量段 |
### 3.2 微调轴
| 轴 | 说明 |
|----|------|
| `monitor_fields` | 监控栏字段子集 |
| `block_labels` | 可见块显示名(如 body→「短信」 |
| `show_suggested_actions` | 是否渲染建议行动;`turn_panel` / `choice_dock` 默认开 |
| `tone_chrome` | `default` / `messenger` / `book` / `terminal` |
| `empty_states` | 空态文案 |
**禁止**创作期输出完整 CSS**禁止**自造 `shell_id`(要新壳改仓库模板)。
## 4. 与创作产物的映射
```text
设计.正文组成
正文.呈现壳.shell_id → 七选一
正文.呈现壳.微调 → 只填允许轴
正文.可见块[] → 挂到壳已有区域
设计.监控栏 → monitor 字段表
运行.本轮.裁决 → body 事实suggested_actions → 行动区
输出.用户展示 → present.v1 或纯 Markdown→ body
```
## 5. 游玩灌数契约
```json
{
"schema": "present.v1",
"shell": "spotlight",
"blocks": {
"monitor": { "地点": "天桥下", "张力": "紧" },
"body": "……用户可读正文……"
},
"meta": { "suggested_actions": ["先开口", "递伞"] }
}
```
- `monitor` 宜为 **短键值对象**(程序渲染成芯片),不要长文。
- `prose`:只需 `body` 字符串或 Markdown。
## 6. 创作期只做适配
1. **选壳**按「主面积给谁」§2七选一。
2. **微调**字段、显示名、行动开关、tone、空态。
3. **不要**:重画分区、发明区域 id、写 CSS。
## 7. P2 适配清单
| 序 | 项 | 状态 |
|----|----|------|
| 1 | `web/` 壳渲染器 + 层级样式 | **已接** `present-shells.js` + `styles.css` |
| 1b | 壳预览页 | **已接** `/shells.html` |
| 2 | 正文组成微调进 SessionView | **已接** |
| 3 | present.v1 解析 | **已接** `present-packet.ts` |
| 4 | narrator 按壳输出 | **已接** |
| 5 | 正文组成产出壳适配单 | **已接** |
---
修订2026-08-13 · 七壳;明确信息层级与主面积。