research(new8/batch2): abyss + detective 迭代闭环收口——双双 R1-R2 连续达标裁定可交付

abyss《深海回音》:
- R1 补 synthesis(5/5 愿意玩 P0=0)+ 补录 R1 缺失裁决材料
- R2 十修全部现场坐实:F1 ping迟到/尾句保护首播制/链末看门狗不拆/回波静默一拍/dv4_dual扣账口播/crit水面变体/看门狗13s/震循环1.1s/震去重/状态链人数句
- 补录语音18段(flock串行,QC无离群);playtest 242→278
- 终裁:4/4 人设满分档,连续 2 轮达标 → 可交付 ✅

detective《雨夜专案》:
- R1 取证轮:补跑 live 两会话(认真新手33分钟全弧线/乱按200s三级保底抢救),5/5 愿意玩 P0=0
- R2 十一修全部坐实:intro完整落声/tut不被掐/按轴取句/人名指认/结案确认闸/指路句/选句记忆位/hint轻震/st_wrong当场记账/tut_skip补动词/L2疑点齐分支
- 补录+改词33条(29新增+4重录);playtest 265→279
- 终裁:6/6 愿意玩,连续 2 轮达标 → 可交付 ✅

公共:00-program 批次2进度账收账、13号文档 R2 断言关键词、gen_voice_dual 两游戏段、voice_text.json
验证:abyss 278/278 + detective 279/279 + guide 122/122 + check_all_assets 全项目全绿
This commit is contained in:
xsl
2026-09-14 00:05:42 +08:00
parent 005851d01a
commit c8843233b0
670 changed files with 6726 additions and 218 deletions
+4 -2
View File
@@ -142,10 +142,12 @@ async function confront(ctx, mock, game, lineA, lineB, noteA, noteB) {
await waitStep(ctx, mock, () => game.state === 'BOARD' && !game._play, 95000);
}
/** 从证词板走到结案陈词并单击进 FINISH。 */
/** 从证词板走到结案陈词并单击进 FINISH(R2 F5:先过确认闸 fin_pre,闸内再单击才进三问)。 */
async function enterFinish(ctx, mock, game) {
await navToItem(ctx, game, 'case');
ctx.note('翻到结案陈词——单击,进入结案三问');
ctx.note('翻到结案陈词——单击过确认闸(「就此结案?」),再单击进三问');
await ctx.gesture('tap');
await ctx.waitVirtual(3000); // fin_pre 闸句落声
await ctx.gesture('tap');
await waitStep(ctx, mock, () => game.state === 'FINISH', 12000);
}