threepipe
Version:
A modern 3D viewer framework built on top of three.js, written in TypeScript, designed to make creating high-quality, modular, and extensible 3D experiences on the web simple and enjoyable.
58 lines • 2.27 kB
TypeScript
import { animate, AnimationOptions, Easing, KeyframeOptions, PlaybackOptions } from '@repalash/popmotion';
import { MathUtils } from 'three';
export { animate };
declare module '@repalash/popmotion' {
interface PlaybackOptions<V> {
onEnd?: () => void;
}
}
export type { AnimationOptions, KeyframeOptions, Easing };
export declare const EasingFunctions: {
linear: Easing;
easeIn: Easing;
easeOut: Easing;
easeInOut: Easing;
circIn: Easing;
circOut: Easing;
circInOut: Easing;
backIn: Easing;
backOut: Easing;
backInOut: Easing;
anticipate: Easing;
bounceOut: (p: number) => number;
bounceIn: Easing;
bounceInOut: (p: number) => number;
easeInOutSine: Easing;
};
/**
* EasingFunctionType:
* anticipate, backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, easeIn, easeInOut, easeOut, easeInOutSine
*/
export type EasingFunctionType = keyof typeof EasingFunctions;
export type AnimateResult = ReturnType<typeof animate>;
export declare function makeSetterFor<V>(target: any, key: string, setDirty?: () => void): (a: any) => void;
export declare function animateTarget<V>(target: any, key: string, options: AnimationOptions<V>, animations?: AnimateResult[], forceCurrent?: boolean): Promise<void>;
export declare function animateAsync<V = number>(options: AnimationOptions<V>, animations?: AnimateResult[]): Promise<void>;
export declare function lerpAngle(a: number, b: number, t: number): number;
export declare const lerp: typeof MathUtils.lerp;
/**
* Simplified version of popmption animate that supports seeking around the animation. Used in AnimationObject.ts
* @param from
* @param autoplay
* @param driver
* @param elapsed
* @param onPlay
* @param onStop
* @param onComplete
* @param onUpdate
* @param delay
* @param canComplete
* @param options
*/
export declare function animateKeyframes<V = number>({ from, autoplay, driver, elapsed, onPlay, onStop, onComplete, onUpdate, delay, canComplete, ...options }: KeyframeOptions<V> & Omit<PlaybackOptions<V>, 'repeat' | 'repeatType' | 'repeatDelay' | 'onRepeat' | 'type'> & {
delay?: number;
canComplete?: boolean;
}): {
stop: () => void;
};
//# sourceMappingURL=animation.d.ts.map