feat(playbook): 26 号交互手册全量落地——剩余 12 款深度重构 + 语音全量重制

storyline/escape/simon 首批之后的推广收官:15 款全部按 26 号模式运行
(发言权/回执/三档提示/迷茫接管/手势阶梯/断点复述),旧「双击重听/格挡/
菜单确认」等反模式口径全线废除,开场零规则念白(首句即动手)。

游戏层(12 款):rpg(格挡=前摇窗口内再单击)/ rhythm / space / radio /
dungeon / abyss / detective / cipher / teahouse / keeper / bridge /
hunt(联机切片):
- 每款 game.js 接引擎六模块 + makeInputPipeline(doubleTapWindow:0);
  四向玩法类 swipeCore + 长按帮助;双击是玩法的(space 护盾 / hunt
  旋风斩)按手势阶梯阶段 3 分档恢复双击窗口(doubletapCore)
- 每款 playtest 重写:玩法断言 + §6.2 乱点机器人(无声操作 / 被动
  原句重复 / 打断失败 = 0);15 款 3900+ 断言全绿
- 12 份 docs/design/26-apply-*.md 施工单 + tools/voice_lines_26/
  台词清单 + voice-ids 文档同步 + 转写会话剧本按新口径重写

引擎层(web/engine/,6 处修复):pipeline 增 doubletapCore;novice
teachLine 带 voice/ 前缀(此前教学句被静默丢弃);confusion.record
前置到新手门(锁定手势的乱点也计信号);InvalidHints 播完恢复解释前
状态(根治孤儿 BUSY);WaitPoint takeover(2) 台账去重;台账只在
speak 真正播出时登记。遗留引擎债登记 roadmap §3.1。

语音资产:台词表合并(新增 ~250 系统句 / 改 ~50 旧口径 / 删 ~110
废止句;合并器 tools/merge_voice_lines_26.py + 引用校验器
tools/validate_voice_refs.py),GPU 重录 1536 wav → 4204 ogg/m4a
落地,check_all_assets + validate_voice_refs 双绿;键盘变体同步扩表。

大厅/文档:15 款统一新交互口径(「新交互」徽标退役);README /
HANDOVER / rpg README 旧口径修正;roadmap P0-P3 置完成。
This commit is contained in:
xsl
2026-10-02 12:33:20 +08:00
parent 9e4d67aa84
commit ee5d4d2544
6992 changed files with 30127 additions and 20451 deletions
+16 -6
View File
@@ -4,16 +4,19 @@
---
## 0. 当前最高优先级:按 26 号改交互(文档已齐,实现未做)
## 0. 当前最高优先级:按 26 号改交互
只改一款验证体感,再推广。建议顺序:`storyline` → `escape` → 其余。
**2026-10-02 更新:15 款全部完成深度落地(P0~P3 交互层),本节转为维护状态。**
施工记录见 [26-apply-*](README.md#施工单26-号落地15-款全部完成);引擎六模块 + 后续修复
(doubletapCore / teachLine 前缀 / confusion 前置 / InvalidHints 语境恢复 / takeover L2 台账 /
丢弃不登台账)都在 `web/engine/`。余下验证:§4 真机听测 checklist(模拟器测不出听感)。
| 档 | 做什么 | 验收 |
|---|---|---|
| **P0** | 新手关双击(`doubleTapWindow: 0`);回执三件套;单击 400ms 防连点;滑动打断语音 | 闭眼冷启动:点两下不再整段重复;无效操作有「咚」 |
| **P1** | Floor + 等待声 + 整链 duck;三档提示;hint/feedback 过期丢弃 | 能听出「轮到你了」;无被动原文重复 |
| **P2** | 各游戏首 3 分钟脚本;迷茫三级;状态×手势矩阵无空格 | 10s 内第一次成功;乱点机器人无声操作=0 |
| **P3** | 手势解锁阶梯;失败就近重试;30s 进展点;断点复述 | 真人 5 分钟放弃 ≤1/5 |
| **P0** | ~~新手关双击~~;~~回执三件套~~;~~防连点~~;~~滑动打断语音~~ | ✅ 15 款 playtest 无声操作=0 |
| **P1** | ~~Floor + 等待声 + 整链 duck~~;~~三档提示~~;~~hint/feedback 过期丢弃~~ | ✅ 无头断言全覆盖 |
| **P2** | ~~各游戏首 3 分钟脚本~~;~~迷茫三级~~;~~状态×手势矩阵无空格~~ | ✅ 乱点机器人指标归零 |
| **P3** | ~~手势解锁阶梯~~;~~失败就近重试~~;~~30s 进展点~~;~~断点复述~~ | ✅ 无头断言全覆盖;真人 5 分钟放弃率待测 |
引擎新模块落点:`web/engine/` 的 floor / receipts / hints / confusion / novice / pipeline(示意见 26 §4)。各游戏接线以各自设计单为准。
@@ -59,6 +62,13 @@ ch2/ch3 各约 60~80 句,格式同 05-rpg-ch1-voice-ids,须标类别与 `_
- 平铺旧 voice 残留清理。
- hunt 三源分辨真机听测(23 §8.4)。
### 3.1 26 号落地后新登记的引擎缺口(各施工单上报,游戏层已绕行)
- **Floor 缺「演出 BUSY 定时」API `busyFor(ms)`**(dungeon/cipher 手工直置 `floor.state='BUSY'` + 作废令牌实现同效;补 API 后两处可收编)。
- **confusion.js 静默权重恒 +1**:纯静默单独累计到不了阈值 2,三级接管对「一直不动」的玩家不生效(bridge 用游戏层梯子 `_feedEscalate` 绕行;若引擎改为 `n('silence')>=2 → +2`,各游戏可去掉梯子——需同步回归全部 15 款)。
- **无按链快进 API**:bridge 22 号「检测链以后可加速」无法只对单条链生效(rate boost 是全局旁白快进),已按长按新手期无效处理并记偏差。
- transcribe.mjs 直调 `game.onGesture` 绕过输入管道(阶段门/回执/防连点在转写中不可见,会话剧本须自行按 `floor.state` 门控——14 款已按此写,接 makeInputPipeline 是一劳永逸方案)。
---
## 4. 真机听测 checklist