threepipe
Version:
A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.
39 lines • 1.63 kB
TypeScript
import { animate, AnimationOptions, Easing, KeyframeOptions } from 'popmotion';
import { MathUtils } from 'three';
export { animate };
declare module 'popmotion' {
interface PlaybackOptions<V> {
onEnd?: () => void;
}
}
export type { AnimationOptions, KeyframeOptions, Easing };
declare function easeInOutSine(x: number): number;
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: typeof easeInOutSine;
};
/**
* 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;
//# sourceMappingURL=animation.d.ts.map