Help guide

Smoothing node

Updated June 21, 2026

Product media placeholder

Replace this area with a screenshot or short walkthrough video during the media sweep.

Temporal lowpass filter for any float signal — picks one of 3 filter shapes via `mode`. Replaces the old `spring` and `valueSolver` nodes (folded in). For magnetic-snap behaviour compose `snapFloat → smoothing(mode:exponential)`.

Type smoothingCategory mathContext sharedDynamic ports noCompound no

Inputs

PortTypeDescription
valuefloatThe raw float to smooth. Wire from any source — gate expression, pointer axis, scroll velocity, observer delta, etc.

Outputs

PortTypeDescription
outputfloatThe filtered value.

Parameters

ParameterTypeDefaultDescription
modeenum"exponential"Filter shape. Each mode surfaces its own params below. options exponential, spring, linearApproach
smoothfloat5Exponential rate constant. Higher = faster. 0 = pass-through. 5 = ~250ms tail (typical UI). Used in `exponential` mode. min 0; max 10; step 0.1
ratefloat1Maximum movement per second toward target. 0 = instant snap. Used in `linearApproach` mode. min 0; max 1000; step 0.1
stiffnessfloat180Spring constant. Higher = tighter / faster oscillation. Used in `spring` mode. min 1; step 10
dampingfloat12Velocity damping. Higher = less ring. Critical damping at ~2*sqrt(stiffness*mass). Used in `spring` mode. min 0; step 1
massfloat1Inertia. Higher = slower acceleration. Used in `spring` mode. min 0.01; step 0.1
posterizeFpsfloat0Stop-motion quantization on the spring output. 0 = continuous (default). Used in `spring` mode. min 0; step 1
compositionModeenum"replace"How spring output combines with the input target. `replace` (default) — output IS the spring value. `add` — sum. `multiply` — modulate. Used in `spring` mode. options replace, add, multiply
subStepsint1Per-frame integration steps. 1 = standard. Higher = stiffer convergence when the target jumps a lot per frame. min 1; max 16; step 1
initialValuefloat-Optional seed for the filter. NaN (default) = "use first target as initial".

Use cases

  • `mode: exponential` — soft lag with no overshoot. Best for pointer-follow, scroll-velocity smoothing, gate-flicker damping. (Default.)
  • `mode: spring` — 2nd-order mass-spring-damper with overshoot. Best for bouncy follow, settle-with-ring, physics-feel UI.
  • `mode: linearApproach` — bounded velocity. Output moves at most `rate * dt` per second toward target then snaps. Best for hard-edged target tracking with a max speed (e.g. throttled scroll-position correction).

Related nodes

Envelope

Use smoothing as the node type inside a graph node envelope. Add id, optional params, optional connections, and optional activeWhen based on the guide context.

Generated source

Registry faster-motion-docs/node-registry.jsonCategory page /help/faster-motion/faster-motion-node-category-math/

Was this guide helpful?

Sunny Arora

Written by

Sunny Arora

Get technical deep dives delivered to your inbox

Join creators and developers who get exclusive insights, tutorials, and behind-the-scenes content every week.

No spam. Unsubscribe anytime.

Continue Exploring

You might also enjoy