export function interpolateBetween()

in src/atoms/default/stores/camera.js [191:208]


export function interpolateBetween(start, end, progress) {
    if (!canInterpolateCamera(start) || !canInterpolateCamera(end)) {
        throw `Can't interpolate between start: ${start} and end: ${end}`
    }

    const centerInterpolator = geoInterpolate(start.center, end.center);
    const zoomInterpolator = interpolateNumber(start.zoom, end.zoom);
    const bearingInterpolator = interpolateNumber(start.bearing, end.bearing);

    const easedProgress = easeQuadInOut(progress)

    return {
        center: centerInterpolator(easedProgress),
        zoom: zoomInterpolator(easedProgress),
        bearing: bearingInterpolator(easedProgress),
        animate: false,
    }
}