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>
18 lines
464 B
TypeScript
18 lines
464 B
TypeScript
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
|
|
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
|
|
|
|
/* eslint-disable */
|
|
/* tslint:disable */
|
|
import {
|
|
TypeBuilder as __TypeBuilder,
|
|
t as __t,
|
|
type AlgebraicTypeType as __AlgebraicTypeType,
|
|
type Infer as __Infer,
|
|
} from "spacetimedb";
|
|
|
|
export default {
|
|
roomId: __t.string(),
|
|
targetUserId: __t.string(),
|
|
isMuted: __t.bool(),
|
|
updatedBy: __t.string(),
|
|
};
|