Implementerer sanntids mixer-synkronisering mellom alle deltakere i et LiveKit-rom via SpacetimeDB. Når én deltaker justerer gain eller muter en kanal, oppdateres alle klienters Web Audio-graf og UI umiddelbart. SpacetimeDB-modul (Rust): - MixerChannel-tabell med room_id/target_user_id-indekser - Reducers: set_gain (clamped 0.0-1.5), set_mute, toggle_effect, create/delete_mixer_channel, set_mixer_role (editor/viewer) - Viewer-sjekk i reducers — viewer kan ikke endre andres kanaler - Opprydding av mixer-kanaler i close_live_room og clear_all Frontend (SvelteKit): - mixerChannelStore med reaktive callbacks og room_id-indeks - MixerTrait leser delt state fra STDB, skriver endringer via reducers - suppressRemoteSync-flagg forhindrer feedback-loop ved egne endringer - Viewer-modus: disabled sliders/knapper for låste deltakere - Visuell (V)-indikator for viewer-kanaler Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| static | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| package-lock.json | ||
| package.json | ||
| svelte.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||