Luxar Viewer API Documentation - v2026.10.19
    Preparing search index...
    interface FlyToOptions {
        durationMs?: number;
        easing?: FlightEasing;
        trajectory?: FlightTrajectorySpec;
        sceneCentre?: Vec3Tuple;
        speed?: number;
        durationRangeMs?: readonly [number, number];
        keepOrientation?: boolean;
    }
    Index
    durationMs?: number

    Flight duration in milliseconds. 0 (or negative) applies the pose immediately. Default 1500.

    easing?: FlightEasing

    Easing curve. Default 'ease-in-out' (smoothstep).

    Path between the poses: a name ('orbit', the default, 'zoom-pan', 'arc', 'straight', 'swing', 'fly-through') or a parameterised trajectory ({ kind: 'arc', lift: 0.8 }, { kind: 'via', via: pose }…). See ./flight-trajectories.ts.

    sceneCentre?: Vec3Tuple

    Centre a swing turns about when it names no pivot (the scene centre).

    speed?: number

    Pace the flight instead of timing it: it lasts its path's perceived length divided by this speed (units per second), clamped to durationRangeMs. The length counts panning in view heights, zooming in log scale and turning in radians, so travel time follows the distance the viewer perceives — zoom included — for every trajectory.

    durationRangeMs?: readonly [number, number]

    [min, max] duration of a paced flight. Default DEFAULT_PACED_DURATION_RANGE_MS.

    keepOrientation?: boolean

    Keep the CURRENT viewing direction and up vector; only the focus target, the distance to it, and the projection parameters (fov / zoom / planes) travel to the pose. The pose's own orientation is ignored.

    This is how a flight composes with the orbit turntable: controls.update() runs before the flight's frame callback, so the auto-rotation keeps advancing the direction each frame and the flight simply carries that direction to the new target — the spin never pauses, and landing does not swing the camera to the author's azimuth. The waypoint driver sets it whenever auto-rotate is active; a controller may ask for it explicitly. Meaningless in fly mode (no orbit target) and ignored there in effect.