Files
writing-agent/docs/play-presentation-shells.md
T
chenmoranzhiandCursor a4cec3d708 引入正文安全子集并收紧呈现创作口径,避免本局任意脚本美化。
创作只选壳与分区,渲染与提示共用同一份白名单语法。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 00:58:48 +08:00

139 lines
6.0 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** = 程序/样式适配与灌数。
> 上游:游玩管线 `gm → perspective? → narrator → auditor`。
> 创作挂钩:`设计.正文组成`(怎么展示)/ `设计.监控栏`(每轮看什么,技能名「回复呈现」);终稿 tag 通常 `输出.用户展示`。
> 各壳介绍与规格:`skills/dialogue/world-simulator/present-shells/`(正文组成执行时动态注入)。
> **创作定位:按回复呈现清单选壳并分区;正文语法见【正文安全子集】(程序动态装载)。**
> 日常折叠/表格走 Markdown 安全子集;一般不写本局任意 CSS/HTML/JS。
> 预览:`/shells.html`
## 1. 创作怎么做(权威口径)
```text
呈现壳(仓库 present-shells/,动态装载)
→ 按「要同时看见什么」对照各壳介绍选 shell_id
→ 只改允许的微调轴
→ 禁止改分区骨架、禁止自造目录没有的壳
游玩期:往壳区域灌数;正文随 1000~2000 字撑高滚动
```
选壳依据(同时可见关系):
| 同时要看见 | 壳 |
|------------|-----|
| 只要正文 | `prose` |
| 正文 + 扫状态 | `chat_monitor` |
| 大正文 + 弱状态 | `spotlight` |
| 场面 + 交互物 + 行动 | `turn_panel` |
| 正文 ‖ 线索对照 | `split_board` |
| 局面 + 选项 | `choice_dock` |
| 章正文 + 进度 | `chapter_reader` |
预览页 `/shells.html`:主工作面是壳画布;侧栏只换壳;长度/语气在顶栏。
## 2. 信息层级与长文容量
所有壳共用同一优先级——**改壳只是改谁占主面积**:
| 优先级 | 区域 | 视觉待遇 |
|--------|------|----------|
| **P0** | `body` | 阅读主轴;**随字数撑高**(单轮按 1000~2000 字设计),由页面/消息区滚动 |
| **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 → 【可选呈现壳】中的 id
正文.呈现壳.微调 → 只填允许轴
正文.可见块[] → 挂到壳已有区域
正文.示例.灌数 → present.v1 形状预览(非正史;专供验收壳/美化)
设计.监控栏 → 回复呈现清单(看什么)
设计.正文组成 → 壳 + 美化(怎么展示)
输出.用户展示(主世界正文)→ 转述提取/改写后的 body;suggested_actions → 行动区
输出.用户展示(终稿)→ present.v1 或纯 Markdown(→ body)
输出.开场白 → 与终稿同形的 present.v1(shell 跟正文组成);旧稿散文仍可回退为 body
```
## 5. 游玩灌数契约
```json
{
"schema": "present.v1",
"shell": "spotlight",
"blocks": {
"monitor": { "地点": "天桥下", "张力": "紧" },
"body": "……用户可读正文……"
},
"meta": { "suggested_actions": ["先开口", "递伞"] }
}
```
- `monitor` 宜为 **短键值对象**(程序渲染成芯片),不要长文。
- `prose`:只需 `body` 字符串或 Markdown。
## 6. 创作期只做适配
1. **选壳**:按「主面积给谁」从已装载壳里选。
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-09-06 · 七壳;终稿阅读柱;单轮正文默认 1000~2000 字。