-
Notifications
You must be signed in to change notification settings - Fork 1
UI Design
netcraker01 edited this page Jul 9, 2026
·
1 revision
The Svelte frontend is a thin client over Rust state. This page covers screens, visual modes, and the design intent.
- Dumb client. Svelte renders state from Rust and sends JSON commands back. It does not own audio or persistence.
- Audio is durable. Reloading the UI does not stop playback.
- Visuals are real-time. FFT data is streamed as binary events for smooth visualizers.
| Screen | Purpose |
|---|---|
| Home | Landing / discover |
| Search | Query across enabled sources |
| Library | Saved tracks, favorites, history |
| Playlists | Create and manage |
| Now Playing | Current track + queue + controls |
| Album | Album view |
| Artist | Artist view |
| Settings | Toggles, visuals, language, About |
Driven by live FFT data sent over binary IPC from the Rust FFT stage. Shown in Now Playing.
Full-screen ambient visuals with configurable intensity (Settings). Intended for background listening without a busy UI.
v0.3.x skins with scale control. Choose skin and scale in Settings.
| Setting | UI location |
|---|---|
| Source toggles | Settings |
| Normalize audio | Settings |
| Mini-player skin / scale | Settings |
| Cinematic mode / intensity | Settings |
| Hide title bar (Linux) | Settings |
| Language (EN/ES) | Settings |
| About (version, repo links) | Settings → About |
English and Spanish are supported. Language is set in Settings.
- User Guide — how to use these screens
- Architecture — how the UI talks to Rust
- Screenshots — visuals when available