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

    State and callbacks the touch handlers need, projected from the LuxarFlyControls orchestrator. Object refs are mutated in place; the pinch snapshot is read/written through accessors.

    interface FlyTouchCtx {
        enabled: boolean;
        inertialMode: boolean;
        lookSpeed: number;
        movementSpeed: number;
        camera: LuxarCamera;
        orientation: Quaternion;
        velocity: Vector3;
        angularVelocity: Vector3;
        pointers: Map<number, Vector2>;
        getPinch: () => FlyPinchState | null;
        setPinch: (p: FlyPinchState | null) => void;
        dispatch: (type: "change" | "start" | "end") => void;
    }
    Index
    enabled: boolean
    inertialMode: boolean
    lookSpeed: number
    movementSpeed: number
    camera: LuxarCamera
    orientation: Quaternion
    velocity: Vector3
    angularVelocity: Vector3
    pointers: Map<number, Vector2>

    Live finger positions by pointerId; insertion order is finger order.

    getPinch: () => FlyPinchState | null
    setPinch: (p: FlyPinchState | null) => void
    dispatch: (type: "change" | "start" | "end") => void