# SKITTERDOME (Fable 5 build, 2 passes)

A 3D arena spider-bot battler with a built-in drag-and-drop level editor, built by Claude Fable 5 across 2 passes:

1. **Initial ship**: 28.1m / 65 turns / $5.08 reported — player + enemies + lasers + bombs + editor toggle + 5-tool palette + JSON save/load
2. **v2 polish**: 31.4m / 89 turns / $6.43 reported
   - Editor camera **pan (middle-drag / space-drag / arrow keys)** + **scroll-wheel zoom** with clamps + auto-refit
   - Arena bumped 12×12 → **28×28**, default scattered with 5 enemies + 2 turrets
   - **Rocket launcher** (F key) — slower projectile w/ flame+smoke trail, bigger explosion than bombs, 1s cooldown
   - **GIF-signature yellow link-lasers** wiring nearby enemy bots across the floor (touching them hurts)
   - All 28 e2e checks pass (was 19 in v1)


3. **v3 Sicarius-alignment (checkpoint)**: ~19m / 66 turns / ~$9 est — original identified as "Sicarius" (HKU COMP3329). Filled the 7-slot hotbar (laser/bomb/rocket/tesla/blades/orb/dash), scrap drops that magnetize + HUD counter, Tree of Life objective (clear enemies → touch to win), Gigabot enemy tier, vignette + color-grade post-processing, upgraded leg gait, muzzle flashes. Paused at a green-build checkpoint per user budget guidance — editor palette entries for Tree/Gigabot + e2e refresh still pending.

Cumulative: 59.5min / 154 turns / $11.51 reported / ~$23 hand-calc / **$0 image gen** (pure procgen three.js)

## The slice
- Spider-bot, animated legs, WASD + mouse-aim turret
- Hold-LMB hitscan laser, SPACE/RMB timed bomb (1.2s fuse), F rocket launcher
- Enemies: wander → chase on line-of-sight → return fire; **GIF-style yellow link-lasers between nearby enemies** that damage on touch
- 2 auto-firing turrets in default level
- 3 HP bots, win overlay on clear, death overlay + R retry

## The editor (the priority)
- E toggles play↔editor anywhere
- **Camera nav**: pan (middle-drag, space-drag, arrows) + zoom (scroll wheel)
- 5-tool palette: wall / floor glow / player spawn / enemy bot / turret
- Left-click place, right-click delete, drag-paint, AND HTML5 drag-drop from palette
- **Save Level → JSON download** · **Load Level → file picker** · **byte-identical roundtrip verified in e2e**
- "Play from here" button, localStorage autosave, "Reset to default"

## Tech
- Vite + TS, three.js. Procgen geometry. Canvas-baked materials + emissive. NO external assets.
- TS strict ✓, **28/28 Playwright e2e checks pass**

Live: https://bmo.ryanboye.com/fable-areagame/
