# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Project Overview iPuzzle is a browser-based multiplayer puzzle game built with **Phaser 3.9** and vanilla **ES6 JavaScript**. No package manager or build step — the game runs directly in a browser. ## Running the Game Open `index.html` in a browser. Because Phaser loads assets via XHR, you need a local HTTP server (not `file://`): ```bash python3 -m http.server 8080 # then open http://localhost:8080 ``` ## Architecture The game is organized into Phaser scenes: - **MainMenuScene** — entry point; "New Puzzle" and "Join Puzzle" buttons - **NewPuzzleScene** — image picker (`/assets/images/puzzles/`, 16×9 images) and piece-count selector (40 / 60 / 100); generates puzzle piece geometry before transitioning - **PuzzleScene** — core gameplay; owns the piece objects, interaction logic, room code, and completion state ### Key design constraints - **No build tool / no npm** — all Phaser and game code is loaded via `