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
speedFunc
options
ChangeSpeedOptions = {}
Returns
ChangeSpeed
Overrides
Properties
_hasBegun
protected_hasBegun:boolean=false
Defined in: animation/Animation.ts:38
Track if begin() has been called
Inherited from
_isFinished
protected_isFinished:boolean=false
Defined in: animation/Animation.ts:35
Whether the animation has finished
Inherited from
_startTime
protected_startTime:number=null
Defined in: animation/Animation.ts:32
Time when the animation started (set by Timeline)
Inherited from
animation
readonlyanimation:Animation
Defined in: animation/speed/index.ts:146
The wrapped animation
duration
readonlyduration:number
Defined in: animation/Animation.ts:26
Duration of the animation in seconds
Inherited from
mobject
readonlymobject:Mobject
Defined in: animation/Animation.ts:23
The mobject being animated
Inherited from
rateFunc
readonlyrateFunc:RateFunction
Defined in: animation/Animation.ts:29
Rate function controlling the animation's pacing
Inherited from
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
speedFunc
readonlyspeedFunc: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
Methods
begin()
begin():
void
Defined in: animation/speed/index.ts:173
Set up the animation - call begin on the wrapped animation
Returns
void
Overrides
finish()
finish():
void
Defined in: animation/speed/index.ts:195
Finish the wrapped animation
Returns
void
Overrides
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
isFinished()
isFinished():
boolean
Defined in: animation/Animation.ts:145
Check if the animation has finished
Returns
boolean
Inherited from
reset()
reset():
void
Defined in: animation/speed/index.ts:203
Reset both this animation and the wrapped animation
Returns
void
Overrides
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