- Replace generic sci-fi sounds with gem-themed audio (match, chain, drop, big drop)
- Add context-aware match sounds based on special gems (hyper, flame) and match size
- Improve Yatzi dice roll with bezier curve trajectories, rotation, and bounce
- Restructure dice rendering to use containers for consistent transforms
- Add new gem sound assets and SFX constants
Genius Square:
- Best-of-3 match mode with round tracking and score pips
- Inter-round overlay with "Next Round" button
- Match-end overlay with Play Again / Menu options
- Round display showing "ROUND X OF 3" at top
Wordle:
- 3-2-1-GO countdown before AI starts
- Adjusted AI delay timings (slower across all skill levels)
- Added victory/round win sound feedback
- Changed tile flip sound to UI_ACTIVATE
Audio:
- New countdown tick and go sound effects
- 3 new music tracks (Bryan Adams, The Midnight, Khruangbin)
Boggle:
- Minor button position adjustment
- Add visual card stack in side panel with clickable modal to view/trade cards
- Redesign cards modal with chip-style selection and trade/dismiss buttons
- Add animated phase announcements (Reinforce/Attack/Fortify) that slide from map to panel
- Introduce static portraits for attacker/defender in battle scene with avatar support
- Enhance move modal with optional +/-10 buttons for large army ranges
- Improve fortify flow with animation and proper busy state handling
- Add 3 new music tracks to game soundtrack
- Adjust UI font sizes, spacing, and button positioning throughout
- Deduplicate phase announcements using _lastAnnouncedPhase tracking
- Add trade logic to MonopolyLogic: isTradeable, validateTrade, applyTrade
- Properties with buildings (or in groups with buildings) cannot be traded
- Validates ownership, cash affordability, and player activity
- Handles two-way cash flows and property ownership transfers
- Add AI trade evaluation to MonopolyAI: evaluateTrade
- Scores offers based on cash delta, asset value, group control changes
- Detects set completions and control crossings (past 50%)
- Vets breaking up completed monopolies
- Applies skill-based thresholds and randomness
- Returns acceptance decision with human-readable reason
- Add trade modal UI to MonopolyGame
- Three-column layout: your properties, give/get lanes, opponent properties
- Drag-and-drop property cards into trade lanes
- Cash steppers for adding/requesting cash
- Opponent tabs to switch counterparty
- Hover cards for detailed property info
- Visual feedback: pulsing hints when offer is empty, accept/reject messages
- "Initiate Trade" button in end-turn menu
- Sort player's hand by suit and value for consistent layout
- Implement drag-to-sort functionality for the local hand with visual feedback (slot indicators, card displacement, play zone highlighting)
- Refactor pass confirmation to include multi-phase animation: outgoing cards fly to target, incoming cards animate in from source, flip to reveal, and settle into sorted positions
- Add background to hearts broken indicator for better visibility
- Update card interaction handlers to support both click and drag events
- Introduce `MusicPlayer` class for in-game music with shuffle, skip, and mute controls
- Add `MenuMusic` utility for background music in menu scenes
- Load music tracks and metadata via `music.json`
- Implement drag-and-drop for SkipBo cards with visual feedback
- Add card flight animations for Phase 10 AI actions and player draws
- Update Phase 10 AI turn timing and reduce delays for smoother gameplay