import { IVec3, IVec4 } from '@gglib/math'; export interface AnimationData { /** * The name of this animation clip */ name: string; /** * Duration of an animation clip in seconds */ duration: number; /** * Type of this animation data */ type: 'channels' | 'keyframes'; /** * Collection of animation channels */ channels?: AnimationDataChannels[]; /** * Collection of animation keyframes */ keyframes?: AnimationDataFrame; } export interface AnimationDataChannels { /** * The object id to animate with this track (node or bone id) */ target: number; /** * Position channel data */ translation?: AnimationDataChannel; /** * Rotation channel data */ rotation?: AnimationDataChannel; /** * Scale channel data */ scale?: AnimationDataChannel; } export interface AnimationDataChannel { /** * Interpolation method to use when blending frames */ interpolation: 'step' | 'linear' | 'cubic'; /** * Animation samples */ samples: AnimationDataChannelSample[]; } export interface AnimationDataChannelSample { /** * Time at which to apply the transforms */ time: number; /** * The frame value */ value: T; /** * Input tangent value for cubic spline interpolation */ ti?: T; /** * Output tangent value for cubic spline interpolation */ to?: T; } export interface AnimationDataFrame { /** * Time at which to apply the transforms */ time?: number; /** * The animation frames */ samples: AnimationDataSample[]; } export interface AnimationDataSample extends AnimationTargetPose { /** * The object id to animate with this track (node or bone id) */ target: number; } export interface AnimationTargetPose { /** * Translation part */ translation?: IVec3; /** * Rotation part */ rotation?: IVec4; /** * Scale part */ scale?: IVec3; } //# sourceMappingURL=AnimationData.d.ts.map