# Blastoise iOS Sketch Native SwiftUI sketch for the Blastoise/MusicRoom server. ## What It Does - Defaults to `http://mhsgroove.peterino.com:3001`. - Signs in or signs up with the server. - Loads rooms, queue state, people, library, and playlists. - Connects to a room WebSocket and streams `/api/tracks/:id` through `AVPlayer`. - Applies server timestamp sync and drift correction. - Supports local library playback, queue/play-next actions, queue jumps/removes, and playback mode cycling. - Uses one compact broadcast-console theme. ## Code Layout - `BlastoisePingApp.swift` - app entrypoint. - `ContentView.swift` - signed-in/signed-out shell and tab routing. - `Models/AppTypes.swift` - API response models and shared enums. - `State/AppModel.swift` - app state, server requests, WebSocket sync, uploads, and playback coordination. - `UI/Theme.swift` - pixel-art palette, typography, reusable view chrome, and time formatting. - `Views/` - focused SwiftUI screens and reusable row/panel components. ## Open ```bash open ios/BlastoisePing/BlastoisePing.xcodeproj ``` The app currently allows arbitrary HTTP loads in `Info.plist` so it can reach the existing plain-HTTP test server and local development servers. Narrow that before any public distribution.