# THREETRIS POV Matrix tetris. Bricks fly at your face in bullet time — catch the green ones, **dodge the red agents** (they home in on you; touching them hurts), then throw caught bricks back through the hole in the oncoming wall, rotating them mid-flight so their silhouette fits exactly. Flat tetrominoes + full 3D rotation means pitching a piece changes its silhouette (an I-piece end-on is a 1×1 hole). **Play:** open `index.html` over http (`python3 -m http.server`), any modern browser. No build step — single file, Three.js from CDN. - **Mouse** — move your head (dodge / reach) - **Click** — catch an incoming green brick, or throw the held brick - **W/S · A/D · Q/E** — pitch / yaw / roll 90°, works while held and mid-flight - Catch +25 · fit +100 × combo · dodge an agent +10 · 3 lives. Speed and agent frequency ramp per fit; consecutive fits build the combo multiplier. - From level 3 the **sentinel attacks**: klaxon + red warning, then it sweeps the play plane at the height your head was at when it locked on. Duck out of the band or lose a life; surviving pays +25. ## Assets (all generated free & local on MODELBEAST) Everything in `assets/` came off the local render farm — FLUX (logo, circuit-board brick texture, city backdrop, sentinel concept art), RMBG background removal + Hunyuan3D image→GLB (the sentinel flyby), Kokoro TTS (operator voice lines), ACE-Step (music loop). Procedural Web Audio covers the small SFX. The game degrades gracefully if `assets/` is missing — flat colors, no music, same gameplay. Cheats/debug in console: `_g` (state), `_auto()` (rotate held brick to fit), `_m(x,y)` (move head), `_start()` (skip title).