synops/frontend
vegard 453ec4fb59 Fullfører oppgave 16.4: Delt mixer-kontroll via SpacetimeDB
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>
2026-03-18 05:08:23 +00:00
..
src Fullfører oppgave 16.4: Delt mixer-kontroll via SpacetimeDB 2026-03-18 05:08:23 +00:00
static SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
.env.example Mottaksflaten v0: vis noder koblet til innlogget bruker (oppgave 3.4) 2026-03-17 14:13:36 +01:00
.gitignore SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
.npmrc SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
package-lock.json Fullfører oppgave 16.1: LiveKit-klient i frontend 2026-03-18 04:49:02 +00:00
package.json Fullfører oppgave 16.1: LiveKit-klient i frontend 2026-03-18 04:49:02 +00:00
svelte.config.js SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
tsconfig.json SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
vite.config.ts TipTap-editor med create_node-intensjon (oppgave 3.5) 2026-03-17 14:24:25 +01:00