Desktop Material

Repository-themed music

Every repository gets its own recognizable, looping background theme — without shipping or downloading a single audio file. A stable hash of the repository's identity seeds a small deterministic generator that picks the musical parameters (tempo, scale, root note, timbre, and a short melodic motif); the audio system synthesizes and loops that motif with the Web Audio API. The same repository always produces the same theme, and different repositories almost always differ.

This extends the optional audio system: the master and music gates, the volume slider, quiet hours, and reduced-motion handling all still apply. Music is still off by default.

Behavior

Configuration

Persistence

Per-repository selections moved out of localStorage into a dedicated, Git-backed setting repository (RepoMusicStore, app/src/lib/stores/repo-music-store.ts, wrapping DedicatedSettingStore). This gives the choices the same append-only history, undo/redo, and restore timeline as every other dedicated setting, stored beside the app's own data directory (<userData>/repository-music/themes) — never inside a user repository.

Failure modes

Security

Verification