feat(new8/batch2): 《深海回音》abyss +《雨夜专案》detective 全套交付(多agent流水线:策划→资产→开发→测试→真资产复跑)

- abyss:game.js 242 断言全绿(剧本A-F六路径/氧气门三形态/sonarGate仲裁/结算死窗/双轨看门狗/radio 8项修复继承);资产 148句+11key变体(电台滤波带内能量47-62%→69-80%)
- detective:game.js 265 断言真资产下全绿(矩阵不变式独立重算/指证全路径/评级12组注入/VERDICT死窗/二周目变体);真资产复跑回炉3处实现修复(无进展轨墙钟化/菜单暂停记账/停止播报真停声——mock时长掩盖的正确性bug)
- 资产:TTS 539条×2格式、Mureka 7首 $0.21(累计$1.08/$2.00)、SYN12+SA3 19件(QC抓出1例AAC过冲并修复)、封面×2、check_all_assets 10游戏全绿(abyss 298/298、detective 279/279)
- 平台接线:大厅双卡片、BUCKETS 增 abyss/detective 桶(H4 断言更新 10 游戏)、voice_text.json 10游戏991句
- 回归:14 套件全绿(10 playtest+guide+engine-voice+engine-input+api-smoke 12/12)
- 设计偏差登记:abyss 7条/detective 9条(全为设计内部冲突按承诺清单/归因真话律取优)
This commit is contained in:
xsl
2026-09-10 01:40:31 +08:00
parent cd4c5ec65a
commit 31372615b2
1183 changed files with 8445 additions and 10 deletions
+314
View File
@@ -721,6 +721,295 @@
"unlock_blade": "解锁武器,开局带着短刃。",
"unlock_none": "金币还不够,继续攒。"
},
"abyss": {
"b_open": "风停了。我站在问海号甲板上,下面三千米,是海燕号。",
"d1_listen": "都别出声。管子那头,敲得很稳。",
"d1_up": "小舟,抓住我的肩锁。我们上。",
"d1_nolog": "日志可以补,人不能等。走了。",
"d2_pry": "老白,忍住。先泄压,再撬。",
"d2_cut": "切割枪。老白,闭眼,憋气。",
"d2_valve": "电池舱我陪你去。这片海不能脏。",
"d2_leave": "阀门交给母船。你先上,腿要紧。",
"d3_chen": "陈医官,你的手在抖。这次,听我的。",
"d3_zheng": "小郑先走。陈医官,下一潜,就是你的。",
"d3_spare": "备用瓶留下。灯,给我亮着。",
"d3_promise": "四小时内,我下来。等我。",
"d4_slow": "逐站停,慢慢浮。规矩不能破。",
"d4_fast": "来不及了。直浮!",
"d4_pick_gao": "船长,抓住我。海燕号的事,上面再说。",
"d4_pick_chen": "陈医官,轮到你了。抓住,上浮。",
"d4_pick_zheng": "小郑,吊床连人一起。走了。",
"d4_talk": "日志我听完了。海燕号为什么沉,我会带上去。走吧。",
"d4_silent": "纪律就是纪律。抓住,上浮。",
"g9_knot": "三年前,也是这条沟。我按时上浮了,搭档没有。",
"d9_bell": "最后一潜。不为救人,为个交代。",
"d9_rest": "交代,留给明天的人。我去医疗舱。",
"e1_a": "五个人都在甲板上。船钟的第一声,是替这条沟敲的。",
"e1_b": "三年了,我终于敢往下看。明天,想再潜一次。",
"e2_a": "五个人都救上来了。船钟,留在了沟底。",
"e2_b": "没人怪我。可半夜醒来,总听见钟在响。",
"e3_a": "没能都带回来。可我到底下去了,敲响了那口钟。",
"e3_b": "钟声替他们,在沟底响了一声。这样,也好。",
"e4_a": "我按规矩上浮了。规矩里,没写怎么难过。",
"e4_b": "沟底很安静。安静得,像三年前那天。",
"gd_brief": "单击继续简报。要选择时,向左或向右滑。",
"gd_continue": "单击屏幕,继续。",
"gd_again": "还在吗?单击继续。",
"gd_ping1": "声呐待命。单击,发脉冲。",
"gd_ping2": "回波不会自己来。单击。",
"sys_help": "单击继续,双击重新听。上滑听状态,下滑开菜单。选择时,左右滑。",
"sys_menu": "菜单。单击切换选项,双击确认。",
"sys_skip": "想跳过这句,单击就行。",
"sys_continue_ask": "检测到你的下潜记录。单击继续上次,右滑开始新救援。",
"gd_invalid": "这个手势,水里用不上。",
"gd_prog1": "滑动在这里用不上。想想调度刚说的话。",
"gd_prog2": "别乱。停一下,想想下一步。",
"sys_menu_resume": "回到水下。",
"sys_menu_restart": "重新开始这次救援。",
"sys_menu_lobby": "保存并回大厅。",
"sys_settings": "音色、语速、背景音乐,请回大厅修改。",
"sys_new_dive": "新的一次下潜,开始了。",
"prog_d1": "现在是第一次下潜。",
"prog_d2": "现在是第二次下潜。",
"prog_d3": "现在是第三次下潜。",
"prog_d4": "现在是最后一次下潜。",
"oxy_full": "气瓶还足,救得动。",
"oxy_ok": "氧气还够两潜。",
"oxy_low": "氧气告急,只够最后一潜。",
"oxy_crit": "氧气见底,必须上浮。",
"oxy_gain": "应急瓶接上了,多三格。",
"dry_a": "气瓶用干了。立刻上浮。",
"dry_b": "气花在了人身上。人,都上来了。",
"b_rule": "规矩就一条:气不够一潜,人就必须上浮。",
"b_goal": "海燕号,五个人。你的双瓶,够下四潜。",
"b_go": "第一潜,找船。耳朵交给声呐。",
"dv1_down": "下潜开始。水会越来越黑,声音会越来越多。",
"dv1_teach": "到深度了。声呐静了。单击,发一枚脉冲。",
"dv1_metal": "金属回波,钢板。听见这个,就是海燕号的船身。",
"dv1_link": "回波后面有杂音,是电台!接通了。",
"p1": "管路在响。向左滑,停下来听敲管的暗号。向右滑,先带小舟上浮。",
"d1_code": "是老白的暗号:腿被压住,先泄压,再撬。记住这个敲法。",
"p2": "小舟想回去拿声呐日志。向左滑,等她。向右滑,直接上浮。",
"d1_surf": "小舟出水,第一潜收工。往返,扣三格气。",
"dv2_down": "第二潜,机舱。顺着敲管的声音走。",
"dv2_found": "碎石回波后面,敲管声密了。机舱到了。",
"p3": "钢梁压着腿。向左滑,泄压后慢慢撬。向右滑,切割枪,快切。",
"d2_pry_ok": "暗号没白听。管子一松,钢梁抬起来了。",
"d2_pry_slow": "摸着找泄压阀,多费了一格气。腿,出来了。",
"d2_flash": "火花炸了一下,虚惊。老白咳着,腿抽出来了。",
"p4": "老白要去关电池舱阀门。向左滑,陪他去。向右滑,直接上浮。",
"d2_valve_e": "阀门关死了。两格气,换一片干净海。",
"d2_surf": "老白出水。他一直扒着舱门,往水里看。",
"d2_supply": "潜友阿凯捎来应急瓶。甲板上,粥给你温着。",
"dv3_down": "第三潜,病舱。海燕号在倾斜,别恋战。",
"dv3_groan": "回波发闷。船体在呻吟,它撑不久了。",
"p5": "病舱一次只能走一个。向左滑,先带陈医官。向右滑,先带小郑。",
"d3_chen_e": "陈医官出水。小郑固定在吊床上,呼吸平稳。",
"d3_zheng_e": "小郑吊上去了。他一路,都没敢出声。",
"p6": "留守的人要空气。向左滑,留下你的备用瓶。向右滑,约定下一潜来接。",
"d3_spare_e": "备用瓶挂上了,能多撑十二小时。",
"d3_surf": "病舱的人出水。海燕号的呻吟,隔着水都听得见。",
"dv4_none": "气不够一潜了。第四潜,取消。",
"dv4_down": "最后一潜,指挥舱。海燕号,撑不住了。",
"dv4_slide": "它滑了!抓稳索缆,指挥舱里还有人!",
"p7": "双人上浮。向左滑,逐站减压慢慢浮。向右滑,违规直浮,搏一把。",
"p7_chen": "气只够带一个。向左滑,带船长。向右滑,带陈医官。",
"p7_zheng": "气只够带一个。向左滑,带船长。向右滑,带小郑。",
"d4_slow_e": "减压站一个个过。气瓶在跳,人稳着。",
"d4_fast_e": "违规快浮。医疗舱的灯,先给你们开好。",
"d4_stay_lost": "另一位,留在了倾斜的船舱。航标灯,替所有人亮着。",
"p8": "船长的话没说完。向左滑,把你听到的说出来。向右滑,什么都不问,拉他上浮。",
"d4_surf": "最后一潜收工。问海号的甲板,从没这么亮过。",
"g9_in": "医疗舱躺满了。你的气瓶剩多少,你比我清楚。",
"p9": "海燕号的船钟,还挂在沉船上。向左滑,用最后的气,下去取。向右滑,进医疗舱。",
"g9_dry": "一格气都不剩了。能带的,你都带回来了。",
"d9_bello": "船钟出水。海燕号的声音,回家了。",
"ep_lead": "收队了。调度台给你记一笔——他们,后来怎样了。",
"ep_zhou_ok": "小舟:归队报告打了三页。她说,声音都记得。",
"ep_zhou_no": "小舟:声呐日志没了。她凭记忆,重新描了一遍海图。",
"ep_bai_ok": "老白:腿保住了。阀门那夜之后,见人就夸你。",
"ep_bai_no": "老白:腿打了钢钉。他说,瘸着也值。",
"ep_chen_ok": "陈医官:回了医院。诊室里,挂着一盏海底的灯。",
"ep_chen_lost": "陈医官:她守着灯,到最后一小时。灯,还亮着。",
"ep_zheng_ok": "小郑:拆了石膏,第一件事,去看海。",
"ep_zheng_lost": "小郑:吊床随船,滑进了沟底。他没来得及看日出。",
"ep_gao_peace": "高船长:退役申请自己写的。第一行写着:数据不如人。",
"ep_gao_up": "高船长:上了岸,一直没说话。听说,他在学敲管语。",
"ep_gao_lost": "高船长:随海燕号留在沟底。航标灯,还亮着。",
"ep_trench_bell": "沟底:船钟挂在问海号桅杆上。风一过,就响一声。",
"ep_trench_deep": "沟底:很深,很静。海燕号睡在里面,像睡着了。",
"z1_a": "……有人吗?声呐兵,小舟。我们还活着,全艇五个人。",
"z1_b": "轮机长老白困在机舱,陈医官和小郑在病舱,船长在指挥舱。",
"z1_knock": "等等,你听。管子里,有人在敲。",
"z1_bye": "好。上面……是不是天亮了?",
"d1_log": "日志里有失事前,最后一段录音。给你,替我们收好。",
"bai_a": "哈哈,救援的?我这腿,跟冷却管缠上了。",
"bai_b": "艇上的药板烧了。病舱那两个,比我悬。",
"bai_out": "腿还在!我的腿还在!走,我给你带路。",
"bai_thanks": "这片海养着一村人。这份情,我记一辈子。",
"chen_a": "你来了。小郑股骨断了,我给他固定好了。",
"chen_b": "救援钟一次带一个。我是医生,我最后走。",
"chen_up": "……好。小郑,等我,上面给你热粥。",
"chen_stay": "去吧。我守着灯,灯不灭,人就不散。",
"chen_last": "去吧。灯我留着,人齐了就熄。",
"gao_final": "别下来。带他们回家,就算救完了。海燕号,通话结束。",
"gao_a": "救援员。我船上,还剩两个活人。",
"gao_b": "都带走,我最后上。这是船长的规矩。",
"gao_last": "航标灯替我留着。就说,船长睡了。",
"gao_c": "三年前……没什么。走吧,别耽误。",
"gao_confess": "日志你拿了?里面写着。是我下令,多采了一小时。",
"gao_peace": "……好。这一次,听救援员的。"
},
"detective": {
"sys_menu": "菜单。单击切换,双击确认。",
"sys_menu_resume": "回到证词板。",
"sys_menu_cf": "去指证。",
"sys_menu_save": "保存并回大厅。",
"sys_menu_help": "重新听帮助。",
"sys_menu_restart": "重新查这桩案子。",
"sys_saved": "进度已保存。",
"settings_hint": "音色、语速、背景音乐,请回大厅修改。",
"sys_help": "左右滑换卷宗,单击听取,双击重新听。长按指证,上滑状态,下滑菜单。",
"sys_continue_ask": "检测到未结的案子。单击继续,右滑换一桩新案。",
"sys_new_case": "新案开卷。",
"intro_1": "雨下了一整夜。清晨,聚宝斋后院,古董商沈万川死了。",
"intro_2": "你是专案组探长。这桩案子,归你。",
"intro_3": "卷宗六份:四位证人的证词,现场勘验,法医报告。",
"tut_d0": "先熟悉证词板。左右滑,换卷宗。",
"tut_listen": "单击,听取当前卷宗。",
"tut_replay": "双击,重新听这一句。",
"tut_status": "上滑,随时听进度:问了几份,疑点几处。",
"tut_confront": "按住屏幕,进入指证。去找两句对不上的证词。",
"tut_cf_try": "练习一次。选一份证词,单击确认;再选一份,任意一句。",
"tut_cf_ok": "指证就是这样。练习不算数,真矛盾要靠耳朵找。",
"tut_done": "教学完了。开始查案。",
"tut_skip": "已跳过教学。左右滑换卷宗,单击听取。",
"st_asked_0": "六份卷宗,一份都没听。",
"st_asked_1": "已听一份,还有五份。",
"st_asked_2": "已听两份,还有四份。",
"st_asked_3": "已听三份,还有三份。",
"st_asked_4": "已听四份,还有两份。",
"st_asked_5": "已听五份,还有一份。",
"st_asked_6": "六份都听完了。",
"st_doubt_0": "疑点,还没有。",
"st_doubt_1": "疑点,一处。",
"st_doubt_2": "疑点,两处。",
"st_doubt_3": "疑点,三处。",
"st_doubt_4": "疑点,四处,齐了。",
"item_w1": "门卫老葛的证词。",
"item_w2": "学徒小顺的证词。",
"item_w3": "账房周先生的证词。",
"item_w4": "房东温太太的证词。",
"item_scene": "现场勘验。",
"item_fore": "法医报告。",
"item_case": "结案陈词。",
"intro_w3": "周先生,管了十年的账,见人三分笑。",
"sc_0": "你打伞进了后院。雨水顺着瓦檐,淌成一道帘子。",
"sc_1": "柴房门口,沈万川面朝下倒着。后脑一处伤,现场没有凶器。",
"sc_2": "后门门闩完好,是死者自己开的门。生人叫不开这扇门。",
"sc_3": "泥地上只有进来的脚印,没有出去的。墙根的花盆,翻了一个。",
"sc_4": "库房铜秤立在架上,秤砣不见了。",
"sc_5": "柴房墙上,挂钥匙的铜钩,空着。",
"cf_start": "指证矛盾。先选第一份证词。左右滑换,单击确认。",
"cf_pick_line": "左右滑,一句一句听。",
"cf_confirm": "就这句?单击,定下来。",
"cf_second": "再选与它矛盾的那份证词。",
"cf_self": "同一句证词,和自己比不出矛盾。",
"cf_same": "这两句说得一致,不矛盾。",
"cf_diff": "这两句,说的不是一件事。",
"cf_hit": "对不上!矛盾成立,记入疑点。",
"fin_start": "结案陈词。先指认真凶:四位证人,选一个。",
"fin_who_confirm": "就指认他?单击,定下来。",
"fin_clear": "不在场证明成立。证据放人,回到证词板。",
"fin_right": "证据链闭合。周先生,你还有什么话说?",
"fin_right_b": "证据链闭合。小顺,你还有什么话说?",
"fin_ask_weapon": "第二问:凶器是什么?",
"wp_1": "松木劈柴。",
"wp_2": "铜秤砣。",
"wp_3": "铁门闩。",
"wp_4": "青瓷花盆。",
"fin_wp_right": "对。创口的铜屑,不见了的秤砣,都指向它。",
"fin_wp_wrong": "不对。铜屑不答应。记下了。",
"fin_ask_motive": "第三问:动机是什么?",
"mv_1": "监守自盗。",
"mv_2": "寻仇泄愤。",
"mv_3": "劫财入户。",
"fin_mv_right": "对。库里短的东西,就是引线。",
"fin_mv_wrong": "不对。账上短的东西,才是引线。记下了。",
"settle_open": "案件归档。雨,停了。",
"rate_s": "教科书结案。四处疑点,一击即中。",
"rate_a": "干净利落的结案。",
"rate_b": "案子结了,卷宗上有疏漏。",
"rate_c": "案子是结了,卷宗上补丁不少。",
"st_miss_0": "指证,一次没错。",
"st_miss_1": "指证,错过一两回。",
"st_miss_2": "指证,错了不少。",
"settle_hook": "同一场雨里,还有别的案子。单击,接新案。",
"gd_board": "还在证词板。左右滑,换卷宗。",
"gd_cf": "还在选证词。左右滑,单击确认。",
"gd_fin": "在想?左右滑选,单击定。",
"gd_invalid": "这个操作,这里用不上。",
"hint_a": "探长,还没听的卷宗,先过一遍耳朵。",
"hint_b": "探长,证词里有对不上的地方,逐句比对。",
"hint_c1": "试试指证:周先生说熄了灯,温太太说灯还亮着。",
"hint_c2": "试试指证:周先生说铜秤卖了,现场铜秤还在。",
"b_hint_c1": "试试指证:小顺说熄了灯,温太太说灯还亮着。",
"b_hint_c2": "试试指证:小顺说铜秤卖了,现场铜秤还在。",
"hint_fin": "疑点齐了。去结案陈词。",
"recap_go": "接着查。",
"w1_1": "昨儿夜里雨大,我守着街门,一步没敢挪窝。",
"w1_2": "九点四十,雨点子刚砸下来,小顺打着伞出的街门。",
"w1_3": "十点一刻,一位先生收着黑伞进了后巷。个儿高,微驼背。",
"w1_4": "九点五十,周账房出的街门,跟我说了声,回家。",
"w1_5": "后半夜,温太太还来门房借过一回热水。",
"w1_6": "听说店里账上短了银子,沈老板撂了话,月底清账。",
"acc_ge": "我守了一夜门!温太太来借热水,她能作证!",
"w2_1": "夜里,师父打发我去城南,给刘掌柜送匣子。",
"w2_2": "雨太大,刘掌柜留我住的,今早才回店。",
"w2_3": "库房钥匙?师父嫌沉,平日就挂在柴房墙上的铜钩。",
"w2_4": "师父的账,向来只信周先生一个人。",
"w2_5": "后门那闩,生人叫不开。熟人来了,师父才亲自去开。",
"w2_6": "周先生常念叨,账房的活,越到夜里越清静。",
"acc_shun": "我宿在城南刘掌柜家,他全家都能作证!",
"b_shun_1": "我走的时候,顺手熄了店堂的灯。",
"b_shun_2": "钥匙,师父贴身带着,从不离身。",
"b_shun_3": "那伤,八成是柴房劈柴砸的。铜秤早卖给收废品的了。",
"b_shun_4": "库房的货,我一件都没碰过。",
"b_shun_react_1": "灯?我、我走的时候明明熄了……",
"b_shun_react_2": "别问了……别问了……",
"b_shun_break_1": "匣子是我送的,可我半路折回来了……",
"b_shun_break_2": "我把棉袄反穿,弓着背,葛大爷没认出我。",
"b_shun_break_3": "库房的货,我拿过三件换了钱。他说要对账……秤砣下去的时候,他看着我。",
"z_1": "我七点进店上夜账。九点五十对完,锁了前门回家。",
"z_2": "临走,我顺手熄了店堂的灯。那会儿,店里就剩老板。",
"z_3": "库房钥匙?沈老板贴身带着,从不离身。",
"z_4": "那伤,是松木劈柴砸的。铜秤?上个月卖给收废品的了。",
"z_5": "我到家倒头就睡,夜里的事,一概不知。",
"z_6": "你们要是不信,去问我家婆娘。",
"z_react_1": "灯?……许是我记岔了。人上了岁数,记性不济。",
"z_react_2": "钥匙的事……他、他有时候,也贴身带着的……",
"z_react_3": "秤!秤的事,你们别再问了……",
"z_react_4": "……随你们怎么问。我要回去了。",
"acc_zhou": "我十点就到家了!我家婆娘能作证!",
"z_break_1": "别念了……我说。库房短的三件货,是我抵了赌债。",
"z_break_2": "他说月底清账,要报官。我求他,他不肯。",
"z_break_3": "我只想把钥匙放回去,把被盗做真。抡起秤砣的时候,他认出了我。",
"b_zhou_1": "我对完账就回家了,夜里雨大,路上没停。",
"b_zhou_2": "钥匙?平时就挂在柴房铜钩上,十年了。",
"b_zhou_3": "柴房我常去,没什么不对劲的。",
"wen_1": "雨是九点四十下的。我正收晾的衣裳,记得真真的。",
"wen_2": "十点二十,我出门倒垃圾。聚宝斋店堂的灯,亮着呢。",
"wen_3": "刚回屋,柴房后墙咯噔一响,有人爬墙!花盆翻了一个。",
"wen_4": "吓得我蒙头半宿没睡着,天亮才敢吱声。",
"wen_5": "店里短银子的事,街坊都有耳闻。上礼拜他还摔了账本。",
"wen_6": "周账房那人,见人三分笑,账算得比谁都精。",
"acc_wen": "我这把年纪翻墙?先问问那墙答不答应!",
"fo_1": "验尸报告,念给你听。",
"fo_2": "死亡时间,昨夜十点到十点半。",
"fo_3": "后脑单次钝器伤,一击毙命。创口嵌有铜屑,凶器是铜器。",
"fo_4": "死者双手干净,没有搏斗痕迹。",
"fo_5": "鞋底是干的。当夜,死者没出过后门。"
},
"__key__": {
"storyline": {
"help": "操作说明。按空格:继续剧情。按回车:重听刚才的台词。按上方向键:听这段说明和当前进度。按下方向键:呼出菜单,菜单里可以重新开始。当旁白说“请选择”的时候,按左方向键或者按右方向键,做出你的决定。选择无法撤销。",
@@ -901,6 +1190,31 @@
"gd_pulse": "按空格发脉冲,听听四周。",
"gd_turn": "轮到你了。按空格挥击。",
"settle_again": "按空格,再探一次。"
},
"abyss": {
"gd_brief": "按空格继续简报。要选择时,用左右方向键。",
"gd_continue": "按空格,继续。",
"gd_again": "还在吗?按空格继续。",
"gd_ping1": "声呐待命。按空格,发脉冲。",
"gd_ping2": "回波不会自己来。按空格。",
"sys_help": "空格继续,回车重新听。上箭头听状态,下箭头开菜单。选择时,左右箭头。",
"sys_menu": "菜单。空格切换选项,回车确认。",
"sys_skip": "想跳过这句,按空格。",
"sys_continue_ask": "检测到你的下潜记录。空格继续上次,右箭头开始新救援。",
"dv1_teach": "到深度了。声呐静了。按空格,发一枚脉冲。",
"p1": "管路在响。左箭头,停下来听敲管的暗号。右箭头,先带小舟上浮。"
},
"detective": {
"sys_help": "方向键换卷宗,空格听取,回车重新听。按住空格指证,上键状态,下键菜单。",
"tut_d0": "先熟悉证词板。左右方向键,换卷宗。",
"tut_listen": "空格,听取当前卷宗。",
"tut_replay": "回车,重新听这一句。",
"tut_confront": "按住空格,进入指证。",
"gd_board": "还在证词板。左右方向键,换卷宗。",
"gd_cf": "还在选证词。左右方向键,空格确认。",
"cf_pick_line": "左右方向键,一句一句听。",
"cf_confirm": "就这句?空格,定下来。",
"settle_hook": "同一场雨里,还有别的案子。按空格,接新案。"
}
}
}