引入游玩呈现壳与旁观维护槽,完善结算合并、十分制自评与技能产物 UI。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-12 02:03:29 +08:00
parent 94f67fa744
commit 120d67ee82
46 changed files with 2513 additions and 236 deletions

View File

@@ -0,0 +1,143 @@
# 游玩呈现壳P1· 可微调前端模板
> **阶段**P1 = 定类与契约;**P2** = 程序/样式适配与灌数。
> 上游:游玩管线 `auditor → gm → narrator`(已落地)。
> 创作挂钩:`设计.正文组成` / `设计.监控栏`;终稿 tag 通常 `输出.用户展示`。
> **创作定位:基于固定壳做适配微调,不是从零设计前端。**
## 1. 创作怎么做(权威口径)
```text
固定壳(本仓库预置,少数几种)
→ 创作期:选一个 shell_id
→ 只改允许的微调轴字段、显示名、开关、tone_chrome…
→ 禁止改分区骨架、禁止发明第五种布局
游玩期往壳的区域里灌数present.v1 / 投影 / settlement
```
「正文组成」= **壳适配单**,不是 UI 创意稿。
用户看见的差异应来自**同壳不同绑定**,而不是每局一套新布局。
## 2. 问题(若不用壳)
创作期若只写散文式「想要好看界面」,模型难稳定产出可跑界面,也会和程序渲染脱节。
壳把布局钉死,创作只填内容契约。
```text
创作:选壳 + 微调绑定(字段/文案/开关)
游玩narrator / 程序灌入对应区域
伪 0 层:壳自带的 HUD 区,不是新 LLM
```
## 3. 四大常用壳(微调模板,非成品皮肤)
| id | 中文 | 主场景 | 默认分区 | 默认可调 |
|----|------|--------|----------|----------|
| `prose` | 纯散文流 | 只要沉浸正文、不要 HUD | 单流 `body` | 文末可选折叠备注 |
| `chat_monitor` | 对话 + 顶栏监控 | 网恋 / 日常扮演 / 轻 AIRP | `monitor` 顶栏 + `body` 主聊 | 监控字段;是否显示建议行动 |
| `turn_panel` | 回合面板 | 强机制、资源/检定、场景交互 | `monitor` + `body` + `footer`(建议行动/检定结果) | 栏位footer 开闭;机遇区 |
| `chapter_reader` | 章节阅读 | 长文 / 爽文 / 助手分段 | `header`(章题/卷)+ `body` + 可选 `aside`(进度) | 章标题样式;是否显示大纲进度 |
旧规格未写 `shell_id` → 运行时视为 `prose`(与「可不排正文组成」一致)。
### 3.1 各壳固定槽位(程序认这些区域 id创作不得增删分区
| 区域 id | prose | chat_monitor | turn_panel | chapter_reader |
|---------|-------|--------------|------------|----------------|
| `monitor` | — | 顶栏 | 顶/侧栏 | — 或弱化进 header |
| `header` | — | 可选会话抬头 | 可选回合号 | **章题/卷信息** |
| `body` | **主文** | **主聊/场面** | **场面叙述** | **章正文** |
| `footer` | 可选 | 可选短吐槽 | **建议行动 / 机遇摘要** | 可选作者注 |
| `aside` | — | — | 可选场景交互物 | **进度/卷纲摘要** |
| `hidden` | 变量段 | 变量段 | 变量段 | 变量段 |
隐藏段从不进用户主视线(默认折叠/调试可见)。
### 3.2 微调轴(创作只许改这些;布局骨架只读)
每壳允许覆盖、禁止改布局骨架:
| 轴 | 说明 | 例 |
|----|------|-----|
| `monitor_fields` | 监控栏字段子集(来自设计.监控栏) | 好感、体力、今日话题 |
| `block_labels` | 可见块显示名 | 「场面」→「短信记录」 |
| `show_suggested_actions` | 是否渲染 settlement.suggested_actions | turn_panel 默认开 |
| `tone_chrome` | 极轻装饰关键词(非完整 CSS | `messenger` / `terminal` / `book` |
| `empty_states` | 监控/aside 空态文案 | 「尚无攻略目标」 |
**禁止**创作期输出完整 CSS/工程;`tone_chrome` 只是壳内预设皮肤键。
**禁止**增删壳的分区、禁止自造第五种 `shell_id`(要新壳走仓库改模板,不走单局创作)。
## 4. 与创作产物的映射
```text
设计.正文组成
正文.呈现壳.shell_id → 必须是四大之一(选壳)
正文.呈现壳.微调 → 只填允许轴(适配)
正文.可见块[] → 挂到壳已有区域,不新开区域
正文.监控栏锚点 → chat_monitor / turn_panel 的字段意图
正文.隐藏段 → 区域 hidden
设计.监控栏
→ 灌入该壳 monitor 区的字段表(仍是微调,不是新布局)
运行.本轮.裁决 (settlement.v1)
→ body 事实来源suggested_actions → footer若壳开启
输出.用户展示
→ 优先 present.v1 灌进壳区域;纯 Markdown → body
```
## 5. 游玩灌数契约P2 实现目标)
推荐 `输出.用户展示` 在分块壳下为:
```json
{
"schema": "present.v1",
"shell": "chat_monitor",
"blocks": {
"monitor": { "好感": "暖络", "今日": "下雨" },
"body": "……用户可读正文……",
"footer": ""
},
"meta": {
"suggested_actions": ["回一句关心", "约周末"],
"hide": ["<<<VARS>>>…<<<END>>>"]
}
}
```
- `shell` 可省略 → 用规格里正文组成的 `shell_id`
- 若整段非 JSON壳把全文写入 `body`,其它区用变量投影/监控栏程序填P2
- `prose`:只需 `body` 字符串或 Markdown。
## 6. 创作期只做适配(正文组成)
1. **选壳**(四选一):无 HUD → `prose`;对话+状态 → `chat_monitor`;机制重 → `turn_panel`;写章 → `chapter_reader`
2. **微调**:监控字段、块显示名、建议行动开关、`tone_chrome`、空态文案。
3. **不要**:重画分区、发明新区域 id、写 CSS、谈「另一种全新界面」。
4. `版式隐喻` 仅供人读;**程序只认 `shell_id` + 微调轴**。
## 7. P2 适配清单
| 序 | 项 | 状态 |
|----|----|------|
| 1 | `web/` 四壳最小渲染器 | **已接** `web/present-shells.js` + CSS |
| 2 | 读 `设计.正文组成` 微调进 SessionView | **已接** `presentationTweaks` |
| 3 | 解析 `present.v1` / 纯文本回退 | **已接** `src/skills/present-packet.ts` |
| 4 | narrator 模板按壳输出 | **已接** `worker-templates/narrator.yaml` |
| 5 | 正文组成只产出壳适配单 | **已接**P1 prompt |
仍可加深:监控栏字段程序灌 monitor、tone 皮肤精修、章阅读 aside 自动进度。
## 8. 与路线图
| 本文 | `px-roadmap` |
|------|----------------|
| P1 定壳 | 创作 = 选壳适配 |
| P2 灌数渲染 | 挂 **PX2 阅读面** |
---
修订记录2026-08-11 · P1口径明确为创作基于壳适配微调。