- 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条(全为设计内部冲突按承诺清单/归因真话律取优)
37 lines
1.3 KiB
HTML
37 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<!-- viewport 锁缩放,viewport-fit=cover 适配刘海屏 -->
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
|
|
<title>雨夜专案 · SoundGame Web</title>
|
|
<link rel="stylesheet" href="../engine/style.css">
|
|
</head>
|
|
<body>
|
|
<!-- 全屏根元素:手势全屏捕获层,封面图放里面 -->
|
|
<div id="game-root">
|
|
<img class="cover" src="cover.png" alt="">
|
|
</div>
|
|
|
|
<!-- 标准接线:遮罩解锁音频 → start() → attachGestures(引擎手册"音频解锁流程")。
|
|
遮罩不传 text:按 gesture.inputMode() 自适应「轻触开始」/「按空格开始」。 -->
|
|
<script type="module">
|
|
import { WebAudioEngine } from '../engine/audio.js';
|
|
import { attachGestures } from '../engine/gesture.js';
|
|
import { DetectiveGame } from './game.js';
|
|
|
|
async function main() {
|
|
const root = document.getElementById('game-root');
|
|
const audio = new WebAudioEngine('audio/');
|
|
const game = new DetectiveGame(audio, root);
|
|
|
|
await audio.showStartOverlay({ cover: 'cover.png' });
|
|
game.start();
|
|
attachGestures(root, (g) => game.onGesture(g));
|
|
}
|
|
|
|
main();
|
|
</script>
|
|
</body>
|
|
</html>
|