- Add complete Mahjong Match game (MahjongLogic.js + MahjongMatchGame.js) with pure board model and Phaser UI
- Implement 6 layouts: Garden, Crossroads, Pyramid, Butterfly, Fortress, and classic Turtle (up to 144 tiles)
- Generate guaranteed-solvable deals by simulating reverse removal of free pairs
- Add tile matching logic using half-tile coordinate system for proper layer overlap detection
- Include 38 tile face images (bamboo, circle, pinyin characters, winds, dragons, flowers, seasons)
- Add hint system, shuffle functionality, timer, best time tracking per layout
- Register game in server registry and scene dispatch tables
- Add headless verification script for face set validation and random self-play testing
- Replace star collection with target-square coverage for Pudding Monsters
- New 3-star medal system: min(targets covered, par-based efficiency)
- Add "Reset Progress" buttons to Pudding Monsters and Rush Hour level select
- Add reset API endpoint for puzzle progress
- Add Beth and Blackwind opponents with idle/happy/upset animations
- Update puddingmonsters.json levels with target squares instead of stars
Introduce a new single-player logic puzzle game where players flick jelly
blobs across a grid to slide and merge them into a single monster.
- PuddingMonstersLogic.js: pure slide-and-merge model with BFS solver,
no Phaser/DOM dependencies; shared by client and generator
- PuddingMonstersGame.js: Phaser scene with drag-to-flick, arrow keys,
undo/reset/hint, par tracking, star collection, death on spikes
- genPuddingMonsters.js: offline level generator using seeded RNG and
BFS solver; produces 40 levels across 5 difficulty tiers
- puddingmonsters.json: generated level data (40 levels, 5–7 grid sizes)
- Update main.js, GameRoomScene.js, PreloadScene.js, registry.js to
wire the new game into the app
- Update game-icons assets
- Register Rush Hour game in server registry (logic category, single-player)
- Add "Logic & Puzzle" tab to game menu
- Integrate RushHourGame scene in client-side main.js and GameRoomScene
- Load rushhour.json game data in PreloadScene
- Add puzzle API routes for server-side puzzle management
- Configure tab icon frame for new logic category