- Add school data (Alchemist: H, O, C, Na, S, Fe starting kit)
- Add run cycle types: phases, escalation, crisis, body composition
- Implement run state management (create, advance phase, discoveries, spores)
- Implement meta-progression (codex, spore accumulation, run history)
- Implement crisis system (Chemical Plague with neutralization)
- Add IndexedDB persistence for meta state
- 42 new tests (335 total)
Co-authored-by: Cursor <cursoragent@cursor.com>
5 ecosystem tests verifying:
- Single species stabilizes with food
- Predator-prey dynamics reduce prey population
- Starvation without food leads to decline
- Mixed ecosystem runs 500 ticks without errors
- Lifecycle drives population renewal through egg hatching
293 total tests passing
Co-authored-by: Cursor <cursoragent@cursor.com>
UIScene renders as overlay on top of GameScene:
- Health bar (top-left) with color transitions green→yellow→red
- 4 quick slots (bottom-center) with active highlight, item symbols and counts
- Inventory weight/slots info (bottom-right)
- Controls hint (top-right)
GameScene pushes state to Phaser registry each frame.
Phase 4 (Player Systems) complete — 222 tests passing.
Co-authored-by: Cursor <cursoragent@cursor.com>
4 quick slots bound to keys 1-4. Active slot determines what F key
throws. Auto-assigns new items on collection. Clears slot when item
depleted. 15 new tests (213 total).
Co-authored-by: Cursor <cursoragent@cursor.com>
F key launches first inventory item toward mouse cursor as projectile.
Projectiles travel at 350px/s, expire after 2s, destroyed on hitting
non-walkable tiles. Color matches element's periodic table color.
13 new tests (198 total).
Co-authored-by: Cursor <cursoragent@cursor.com>
Inventory uses real atomic/molecular masses (AMU). Same items auto-stack.
Respects weight limits and slot limits. Supports elements and compounds
via chemistry registries. 28 new tests (162 total).
Co-authored-by: Cursor <cursoragent@cursor.com>
Player spawns at walkable tile near map center. WASD controls movement
(150px/s, normalized diagonal). Tile collision with wall-sliding prevents
walking through acid pools, crystals, geysers. Camera follows player with
smooth lerp. 39 new tests (134 total).
Co-authored-by: Cursor <cursoragent@cursor.com>
- bitECS world with time tracking (delta, elapsed, tick)
- 5 components: Position, Velocity, SpriteRef, Health, ChemicalComposition
- Movement system (velocity * delta) + bounce system (boundary reflection)
- Health system with damage, healing, death detection
- Entity factory (createGameEntity/removeGameEntity)
- Phaser bridge: polling sync creates/destroys/updates circle sprites
- GameScene: 20 colored circles bouncing at 60fps
- BootScene: click-to-start transition, version bump to v0.2.0
- 39 ECS unit tests passing (74 total)
Co-authored-by: Cursor <cursoragent@cursor.com>