Verified end-to-end in browser: attract, QTE pass/fail, death/retry, lives, win screen. QTE clock driven by rAF + timeupdate + interval so background-tab throttling can't starve the too-late check. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
38 lines
1.0 KiB
HTML
38 lines
1.0 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
|
<title>RECORD STORE GUY</title>
|
|
<link rel="stylesheet" href="styles.css">
|
|
</head>
|
|
<body>
|
|
<div id="stage">
|
|
<video id="vidA" playsinline preload="auto"></video>
|
|
<video id="vidB" playsinline preload="auto"></video>
|
|
<div id="scanlines"></div>
|
|
<div id="cue"></div>
|
|
<div id="hud">
|
|
<div id="lives"></div>
|
|
<div id="score">0</div>
|
|
</div>
|
|
<div id="attract" class="screen">
|
|
<h1>RECORD STORE GUY</h1>
|
|
<p class="sub">wrong move — you're dead</p>
|
|
<p class="blink">PRESS ANY KEY</p>
|
|
<p id="hiscore"></p>
|
|
</div>
|
|
<div id="msg" class="screen hidden"></div>
|
|
<div id="debug" class="hidden">
|
|
<div id="dbg-timeline"><div id="dbg-playhead"></div></div>
|
|
<div id="dbg-row">
|
|
<select id="dbg-scene"></select>
|
|
<span id="dbg-time"></span>
|
|
<span id="dbg-state"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script src="player.js"></script>
|
|
</body>
|
|
</html>
|