Consume Lane 2's props + close the review gaps in the browser toy. props.js: all 16 depot slugs added to CATALOG (material/kind per prop; printer is the boss). loadFractured() now (a) caches its result per id — including the null miss — so a prop with no fractured sibling stops re-fetching + 404-ing on EVERY spawn (the record. fractured.glb spam), and (b) returns the real chunk container (the fractured_root wrapper Blender exports), so physics.js's direct-children chunk swap actually fires. main.js: loadHeroProps() places the printer BOSS + office set dressing (desk, crt-monitor, filing-cabinet, water-cooler) with their fractured templates. The boss soaks 4 hits then bursts into its 16 GLB chunks (kept non-shatterable so a topple can't break it early). Pointer-lock fallback (shareability fix): if the lock request is refused — iframes/embedded hosts, where the toy used to dead-end on the title screen — we fall back to DRAG-TO-LOOK (hold-drag rotates, a tap still smashes) so the shareable link always plays. Assets: office-printer / crt-monitor / filing-cabinet mirrored into web/assets/ (offline fallback); record/crate/rack.fractured.glb generated + mirrored so the record ritual smashes into real chunks. The three store fractured GLBs were also pushed to the 3GOD shelf. Verified in-browser via ?debug: printer aimSmash→"printer" then 16 chunks; thrown record → 8 chunks; debris drains 16→0; record.fractured.glb serves 200 (no 404); drag-look rotates the camera when pointer lock is unavailable. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| game | ||
| LANES | ||
| web | ||
| .gitignore | ||
| destroyulater.txt | ||
| README.md | ||
DESTROYULATOR
Clock out. Smash everything.
A comedic, non-violent, first-person workplace-destruction game from Monster Robot Party. Level 01 is our actual record store. Nobody gets hurt but the furniture.
Monorepo layout — one lane per directory
| Dir | Lane | What |
|---|---|---|
game/ |
Lane 1 — the game | Godot 4.7 (Jolt physics, Mac-native). The shippable build. |
web/ |
Lane 3 — web toy | Three.js dig-and-destroy demo (planned; thriftgod-adjacent). |
LANES/ |
coordination | Execution specs for parallel Claude/Opus work sessions. |
3D-STORE/ |
not in git | 700MB Blender/Unreal source-asset vault (see .gitignore). |
destroyulater.txt |
lore | The founding chat where the idea happened. |
Asset generation lives in its own repo: ~/Documents/meshgod (text→GLB factory).
Rules for parallel work sessions
- A lane session writes ONLY inside its own directory. Cross-lane contracts
(asset formats, file drops) are specified in
LANES/*.md. - Every change to
game/must pass the headless smoke test before commit:Godot --headless --path game --quit-after 180with zero script errors. - GLB convention everywhere: glTF Y-up, 1 unit = 1 m, origin at floor-center.