Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...

    Interface SoundNodeAttrs

    A sound node's attrs after parseSoundNodeAttrs (audio/sound-attrs.ts) filled the defaults — what the engine reads. Mirrors the on-disk attrs in SOUND_SPEC.md §3.2.

    interface SoundNodeAttrs {
        spatial: boolean;
        trigger: SoundTrigger;
        delay_ms: number;
        gain: number;
        bus: "ambient" | "voice" | "effects";
        loop: boolean;
        fade_in_ms: number;
        fade_out_ms: number;
        distance_model: DistanceModel;
        ref_distance: number;
        max_distance: number;
        rolloff: number;
        cone_inner_deg?: number;
        cone_outer_deg?: number;
        cone_outer_gain?: number;
        orientation?: [number, number, number];
        format?: string;
        duration_ms?: number;
        license?: string;
        attribution?: string;
        source_url?: string;
        audio_file: string;
        extend_to_all?: string[];
        ambisonic?: "foa";
        attach_to?: string;
    }
    Index
    spatial: boolean
    trigger: SoundTrigger
    delay_ms: number
    gain: number
    bus: "ambient" | "voice" | "effects"
    loop: boolean
    fade_in_ms: number
    fade_out_ms: number
    distance_model: DistanceModel
    ref_distance: number
    max_distance: number
    rolloff: number
    cone_inner_deg?: number
    cone_outer_deg?: number
    cone_outer_gain?: number
    orientation?: [number, number, number]
    format?: string
    duration_ms?: number
    license?: string
    attribution?: string
    source_url?: string
    audio_file: string

    The plain store key holding the clip, e.g. audio.mp3.

    extend_to_all?: string[]
    ambisonic?: "foa"

    'foa' marks a first-order ambisonic FIELD (a 4-channel AmbiX clip): it plays through the FOA decoder, rotated against the camera, and is never spatialised as a point source. Absent for ordinary mono/stereo clips.

    attach_to?: string

    Name of another scene node whose bounding-box centre the source follows ("the cluster hums" without authoring coordinates). Resolved by the engine through a port; a node not yet loaded leaves the source at its own origin until the next evaluation.