Commit Graph

9 Commits

Author SHA1 Message Date
Brian Fertig 8b30269b56 feat: add saved puzzle persistence and fullscreen support
- Introduce StorageManager API for tracking current room (`saveCurrent`, `loadCurrent`, `clearCurrent`)
- Persist active puzzle state when joining/creating; restore on main menu load if incomplete
- Add Continue Puzzle button that only activates when a valid saved puzzle exists
- Implement Enter Fullscreen button with dynamic state handling and event listeners
- Adjust logo/sub-logo animation positions for cleaner visual flow
- Clear saved puzzle data on new puzzles or completion to avoid stale state
2026-04-05 10:42:53 -06:00
Brian Fertig 9a353dbacf feat(ui): overhaul main menu with animated intro and modernized styling
- Replace static graphics-based UI with DOM-based buttons for better accessibility and styling control
- Add animated intro sequence (logo drop-in, sub-logo rise, button fade-in) with idle breathing pulse effect
- Implement persistent menu music using global sound manager with mute state persistence via localStorage
- Redesign color scheme to use deeper blues (#1565c0, #1e88e5) and accent gold (#ffbb4d) throughout menus
- Standardize DOM element sizes to fixed pixels instead of relative units (vmin)
- Refactor NewPuzzleScene to load background image only when needed and improve visual hierarchy
- Update button styling with consistent hover states, transitions, and disabled states
- Add puzzle piece preview cards with improved selection feedback (orange highlight)
- Stop menu music on entering PuzzleScene to avoid overlap between scenes
2026-04-05 10:19:54 -06:00
Brian Fertig 535825ba20 feat: Add main menu assets and refactor puzzle thumbnail handling
- Add main menu UI image and background music (with updated track metadata)
- Rename puzzle assets to include `.png` extensions for consistency
- Introduce `thumbnails.json` manifest to decouple thumbnail paths from puzzle data
- Update `NewPuzzleScene.js` to load thumbnails explicitly via manifest instead of inferring paths
- Update `PuzzleScene.js` to ensure full puzzle images are loaded fresh on initial entry (not during network joins or restores)
2026-04-05 09:53:11 -06:00
Brian Fertig baf8653f81 refactor: update music track metadata format and display
- Change tracks.json from string array to structured objects with path, title, artist
- Update PuzzleScene to use new metadata format for audio loading and track info display
- Add DOM element to show current track title and artist in the UI
2026-04-05 08:53:09 -06:00
Brian Fertig 7baa414e7d feat: add audio system with SFX and music player
- Add click/grab sound effects for puzzle interactions
- Implement background music player with queue management
- Include mute/skip controls in UI (top-right)
- Load and play tracks from assets/audio/music/tracks.json
- Store mute preference in localStorage
2026-04-04 22:24:43 -06:00
Brian Fertig 23065cf14d feat: add player name support for rooms and networked gameplay
- Add _playerName field to NetworkManager and pass it in createRoom/joinRoom calls
- Update MainMenuScene to prompt for player name before joining a room, persisting it to localStorage
- Update NewPuzzleScene to include a player name input field when creating local/multiplayer puzzles
- Enhance PuzzleScene with floating player name labels above claimed piece groups, using color-coded backgrounds
- Extend server-side room state to store per-player names and broadcast them on join/claim/release events
2026-04-04 20:58:41 -06:00
Brian Fertig 28d237f75d Add new puzzle assets (12 images + thumbnails), background selection UI, and persistent background state
- Added 12 new puzzle images with corresponding 576×324 thumbnails
- Extended `puzzles.json` to include all new puzzles
- Implemented background selection in `NewPuzzleScene.js` (Dark Wood / Green Felt)
- Updated thumbnail display logic to use `thumb_` prefixed versions
- Added background key/path state propagation to `PuzzleState`, network join, and room creation
- Tiled background texture across the playfield in `PuzzleScene.js`
- Enhanced room code UI styling for better visibility
2026-04-04 20:44:43 -06:00
Brian Fertig 6900416050 Updated to include multiplayer 2026-04-04 19:51:35 -06:00
Brian Fertig 9460041867 first commit 2026-04-04 18:51:09 -06:00