@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
87 lines • 2.07 kB
TypeScript
/**
* Single keyframe of {@link AnimationCurve}.
* Note that {@link AnimationCurve} relies on {@link Keyframe}s to be static, so treat them as immutable.
* Do not change keyframe values unless you understand the implications of doing so.
*
* @author Alex Goldring
* @copyright Company Named Limited (c) 2025
*/
export class Keyframe {
/**
*
* @param {number} time
* @param {number} value
* @param {number} inTangent
* @param {number} outTangent
* @return {Keyframe}
*/
static from(time: number, value: number, inTangent?: number, outTangent?: number): Keyframe;
/**
*
* @type {number}
*/
value: number;
/**
* Timestamp/position for the value
* @type {number}
*/
time: number;
/**
* Incoming tangent, affects the slope of the curve from previous key
* @type {number}
*/
inTangent: number;
/**
* Outgoing tangent, affect the slope of the curve from this key to the next key
* @type {number}
*/
outTangent: number;
/**
*
* @param {number} time
* @param {number} value
* @param {number} inTangent
* @param {number} outTangent
*/
set(time: number, value: number, inTangent: number, outTangent: number): void;
/**
*
* @param {Keyframe} other
*/
copy(other: Keyframe): void;
/**
*
* @return {Keyframe}
*/
clone(): Keyframe;
/**
*
* @param {Keyframe} other
* @returns {boolean}
*/
equals(other: Keyframe): boolean;
/**
*
* @return {number}
*/
hash(): number;
toJSON(): {
value: number;
time: number;
inTangent: number;
outTangent: number;
};
fromJSON({ value, time, inTangent, outTangent }: {
value: any;
time: any;
inTangent: any;
outTangent: any;
}): void;
/**
* Useful for type checks
* @readonly
* @type {boolean}
*/
readonly isKeyframe: boolean;
}
//# sourceMappingURL=Keyframe.d.ts.map