diff --git a/src/core/animations/keyframe-builder.ts b/src/core/animations/keyframe-builder.ts index ece0e132..dcd96f2a 100644 --- a/src/core/animations/keyframe-builder.ts +++ b/src/core/animations/keyframe-builder.ts @@ -130,7 +130,7 @@ export class KeyframeBuilder { private createNormalizedKeyframes(keyframes: Keyframe[]): NumericKeyframe[] { return keyframes .filter((kf): kf is Keyframe & { start: number; length: number } => typeof kf.start === "number" && typeof kf.length === "number") - .toSorted((a, b) => a.start - b.start) + .sort((a, b) => a.start - b.start) .map(keyframe => ({ start: keyframe.start, length: keyframe.length, diff --git a/src/core/animations/opacity-keyframes.ts b/src/core/animations/opacity-keyframes.ts index 53e1f834..33aa7f12 100644 --- a/src/core/animations/opacity-keyframes.ts +++ b/src/core/animations/opacity-keyframes.ts @@ -149,7 +149,7 @@ export function upsertOpacityPoint( const time = snapOpacityTime(localTime, clipLength, fps); const existing = findOpacityPoint(points, time, fps); const next = existing ? points.map(point => (point === existing ? { time: point.time, value } : point)) : [...points, { time, value }]; - return next.toSorted((a, b) => a.time - b.time); + return next.sort((a, b) => a.time - b.time); } export function removeOpacityPoint(points: readonly OpacityPoint[], localTime: number, fps: number): OpacityPoint[] {