Skip to main content

Class: ChangeSpeed

Defined in: animation/speed/index.ts:144

ChangeSpeed - Wraps an animation to modify its playback speed dynamically.

The speed function maps progress (0-1) to a speed multiplier:

  • speed(0.5) = 2 means at the halfway point, play at 2x speed
  • speed(0.2) = 0.5 means at 20% progress, play at 0.5x speed (slower)

This is useful for emphasizing certain parts of an animation by slowing them down, or rushing through less important parts by speeding them up.

Example

// Slow down the middle of an animation
const anim = changeSpeed(
fadeIn(circle),
(t) => t < 0.3 || t > 0.7 ? 2 : 0.5 // Fast start/end, slow middle
);

// Exponential slowdown (dramatic ending)
const anim2 = changeSpeed(
transform(square, circle),
(t) => 2 - t // Starts at 2x, ends at 1x
);

Extends

Constructors

Constructor

new ChangeSpeed(animation, speedFunc, options): ChangeSpeed

Defined in: animation/speed/index.ts:154

Parameters

animation

Animation

speedFunc

SpeedFunction

options

ChangeSpeedOptions = {}

Returns

ChangeSpeed

Overrides

Animation.constructor

Properties

_hasBegun

protected _hasBegun: boolean = false

Defined in: animation/Animation.ts:38

Track if begin() has been called

Inherited from

Animation._hasBegun


_isFinished

protected _isFinished: boolean = false

Defined in: animation/Animation.ts:35

Whether the animation has finished

Inherited from

Animation._isFinished


_startTime

protected _startTime: number = null

Defined in: animation/Animation.ts:32

Time when the animation started (set by Timeline)

Inherited from

Animation._startTime


animation

readonly animation: Animation

Defined in: animation/speed/index.ts:146

The wrapped animation


duration

readonly duration: number

Defined in: animation/Animation.ts:26

Duration of the animation in seconds

Inherited from

Animation.duration


mobject

readonly mobject: Mobject

Defined in: animation/Animation.ts:23

The mobject being animated

Inherited from

Animation.mobject


rateFunc

readonly rateFunc: RateFunction

Defined in: animation/Animation.ts:29

Rate function controlling the animation's pacing

Inherited from

Animation.rateFunc


remover

remover: boolean = false

Defined in: animation/Animation.ts:44

If true, the scene will remove this mobject after the animation finishes. Used by FadeOut (like Python manim's remover=True).

Inherited from

Animation.remover


speedFunc

readonly speedFunc: SpeedFunction

Defined in: animation/speed/index.ts:149

The speed function

Accessors

startTime

Get Signature

get startTime(): number

Defined in: animation/Animation.ts:184

Get the start time of this animation (set by Timeline)

Returns

number

Set Signature

set startTime(time): void

Defined in: animation/Animation.ts:191

Set the start time of this animation (used by Timeline)

Parameters
time

number

Returns

void

Inherited from

Animation.startTime

Methods

begin()

begin(): void

Defined in: animation/speed/index.ts:173

Set up the animation - call begin on the wrapped animation

Returns

void

Overrides

Animation.begin


finish()

finish(): void

Defined in: animation/speed/index.ts:195

Finish the wrapped animation

Returns

void

Overrides

Animation.finish


interpolate()

interpolate(alpha): void

Defined in: animation/speed/index.ts:181

Map adjusted progress to original animation progress and interpolate

Parameters

alpha

number

Returns

void

Overrides

Animation.interpolate


isFinished()

isFinished(): boolean

Defined in: animation/Animation.ts:145

Check if the animation has finished

Returns

boolean

Inherited from

Animation.isFinished


reset()

reset(): void

Defined in: animation/speed/index.ts:203

Reset both this animation and the wrapped animation

Returns

void

Overrides

Animation.reset


update()

update(_dt, currentTime): void

Defined in: animation/Animation.ts:122

Update the animation for the current frame.

Parameters

_dt

number

Time delta since last frame (unused, but available for subclasses)

currentTime

number

Current time in the timeline

Returns

void

Inherited from

Animation.update