Skip to main content
Helios provides a comprehensive set of animation helpers to create smooth, natural motion in your video compositions. These utilities handle interpolation, spring physics, and easing functions.

interpolate()

Maps an input value from one range to another with support for easing and extrapolation.

Parameters

number
required
The value to interpolate
number[]
required
Array of input values (must be strictly monotonically increasing). Minimum 2 elements.
number[]
required
Array of output values (must match length of inputRange)
InterpolateOptions
Configuration for extrapolation and easing

Returns

number - The interpolated value

Examples

Basic interpolation

Multi-point interpolation

With extrapolation

With easing

spring()

Calculates spring physics values for natural, bouncy motion using a damped harmonic oscillator simulation.

Parameters

SpringOptions
required
Spring configuration object

Returns

number - The calculated spring value at the current frame

Examples

Basic spring animation

Configuring spring physics

Preventing overshoot

calculateSpringDuration()

Estimates how many frames a spring animation needs to settle within a threshold.

Parameters

Omit<SpringOptions, 'frame'>
required
Spring configuration (same as spring() but without frame)
number
default:"0.001"
Distance from target value to consider the spring “settled”

Returns

number - Estimated duration in frames

Easing functions

Helios includes a comprehensive library of easing functions for use with interpolate() and other animations.

Available easing functions

Basic

  • Easing.linear - No easing, linear interpolation
  • Easing.step(steps) - Step function with specified number of steps
  • Easing.bezier(x1, y1, x2, y2) - Custom cubic bezier curve

Polynomial

All polynomial easings have .in, .out, and .inOut variants:
  • Easing.quad - Quadratic (t²)
  • Easing.cubic - Cubic (t³)
  • Easing.quart - Quartic (t⁴)
  • Easing.quint - Quintic (t⁵)

Transcendental

  • Easing.sine - Sinusoidal easing
  • Easing.expo - Exponential easing
  • Easing.circ - Circular easing

Physical

  • Easing.back - Overshoots then returns
  • Easing.elastic - Elastic bounce effect
  • Easing.bounce - Bouncing ball effect

Examples

Common patterns

Typewriter effect

Stagger animations

Combining helpers