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>
Screenshots from visual verification go to screenshots/ dir,
not tracked in git. Also ignore Playwright MCP console logs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Push must happen immediately after every commit — no accumulating
unpushed work. Updated both development order and task completion
checklists.
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>