创作只选壳与分区,渲染与提示共用同一份白名单语法。 Co-authored-by: Cursor <cursoragent@cursor.com>
139 lines
6.0 KiB
Markdown
139 lines
6.0 KiB
Markdown
# 游玩呈现壳 · 可微调前端模板
|
||
|
||
> **阶段**: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 字。
|