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

    State and callbacks runUpdateStep needs, projected from the LuxarOrbitControls orchestrator. Object refs (orientation, the rotation/pan deltas, target, last-frame position/quaternion) are mutated in place; scalar accumulators (roll/zoom delta, distance) are read/written through accessors so the orchestrator keeps ownership of the fields.

    interface OrbitUpdateCtx {
        enableRotate: boolean;
        enableDamping: boolean;
        dampingFactor: number;
        autoRotate: boolean;
        autoRotateSpeed: number;
        autoRotateAxis: AutoRotateAxis;
        enableZoom: boolean;
        autoDolly: boolean;
        autoDollyAmplitude: number;
        autoDollyPeriod: number;
        orientation: Quaternion;
        rotationDelta: Quaternion;
        panDelta: Vector3;
        target: Vector3;
        getRollDelta: () => number;
        setRollDelta: (v: number) => void;
        getZoomDelta: () => number;
        setZoomDelta: (v: number) => void;
        getDistance: () => number;
        setDistance: (v: number) => void;
        getDollyPhase: () => number;
        setDollyPhase: (v: number) => void;
        camera: LuxarCamera;
        minDistance: number;
        maxDistance: number;
        minZoom: number;
        maxZoom: number;
        lastPosition: Vector3;
        lastQuaternion: Quaternion;
        dispatch: (type: "change") => void;
    }
    Index
    enableRotate: boolean
    enableDamping: boolean
    dampingFactor: number
    autoRotate: boolean
    autoRotateSpeed: number
    autoRotateAxis: AutoRotateAxis

    Camera-frame or fixed scene axis (see AutoRotateAxis).

    enableZoom: boolean

    Whether zoom input is allowed at all — also gates the auto-dolly.

    autoDolly: boolean
    autoDollyAmplitude: number

    Peak dolly swing as a fraction of distance (0.15 = ±15%).

    autoDollyPeriod: number

    Seconds per full dolly oscillation.

    orientation: Quaternion
    rotationDelta: Quaternion
    panDelta: Vector3
    target: Vector3
    getRollDelta: () => number
    setRollDelta: (v: number) => void
    getZoomDelta: () => number
    setZoomDelta: (v: number) => void
    getDistance: () => number
    setDistance: (v: number) => void
    getDollyPhase: () => number
    setDollyPhase: (v: number) => void
    camera: LuxarCamera
    minDistance: number
    maxDistance: number
    minZoom: number
    maxZoom: number
    lastPosition: Vector3
    lastQuaternion: Quaternion
    dispatch: (type: "change") => void