Cab serial 400·600 · deck online

BREAKOUT

Cabinet ready
Grid 8×4
Brick 50×20
Max 320
FPS 60
Score+10 / hit
000
Best run 000
Grid integrity32 / 32
Ball velocity3.20 px/f
Streak×0
Balls remaining03
Field 400 × 600 · walls live
Paddle 200◂ ▸ / drag
Telemetry00:00.0
Input mapv1.0
KEY◂ ▸ / A D — paddle
KEYSPACE — launch · P — pause
KEYR — restart run
TCHdrag — paddle · tap — launch
SIMedge hit = ±62° angle

Operator sheet

Collision
Circle vs AABB. Candidate bricks resolved from the grid index, the shallowest-penetrating box wins the frame, and the exited box is id-tagged so a single frame never double-flips.
Angle model
Paddle contact maps hit offset to ±62° off vertical and inherits a slice of paddle momentum. Vertical floor on |dy| keeps the ball from grinding sideways forever.
Timing
Fixed 60 Hz accumulator on top of requestAnimationFrame — 60 Hz, 120 Hz and thermal-dropped frames all trace the same arc.
Scoring
32 bricks · +10 each · 320 max. Velocity ramps 3.2 → 4.0 px/frame as the wall thins. Three drops and the cabinet eats the run.