Help guide

Pulse Tween node

Updated June 21, 2026

Product media placeholder

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

A one-shot 0..1 clock driven by event pulses, not by input progress. Each input is rising-edge-detected: **`play`** advances toward 1, **`reverse`** advances toward 0, **`restart`** resets to 0 and plays forward, **`pause`** freezes the current value, **`resume`** un-freezes. Output `progress` is the eased 0..1 value; `playing` is 1 while advancing. The node OWNS the progress — distinct from the stateless `tween` interpolator (which is a pure function of an input progress source). Use this whenever a transition should be triggered by a discrete event rather than driven by a continuous external clock.

Type pulseTweenCategory animationContext sharedDynamic ports noCompound no

Inputs

PortTypeDescription
playfloatRising-edge trigger. Each 0 → 1 transition starts (or resumes) advancing `progress` toward 1 at the configured duration.
reversefloatRising-edge trigger. Each 0 → 1 transition starts advancing `progress` toward 0 at the configured duration. Use as the "leave" pulse for hover-style reveals.
restartfloatRising-edge trigger. Each 0 → 1 transition resets `progress` to 0 and plays forward to 1. **Use this** for "fire one transition per pulse" navigation patterns where the previous run might still be partway through.
pausefloatRising-edge trigger. Freezes `progress` at its current value. Ignored if not currently playing.
resumefloatRising-edge trigger. Un-freezes a paused tween at the same direction it was going before pause.

Outputs

PortTypeDescription
progressfloatThe eased 0..1 value. Wire into any consumer expecting a 0..1 driver — `propertyAnimation.progress`, `staggerWrite.progress`, `multiKeyframe.progress`, `tween.progress` for chained interpolations, `remap.value`.
playingfloat1 while the tween is currently advancing, 0 when paused or settled at 0/1. Use as a gate for sound effects, "loading" indicators, or to suppress other animations while a transition is mid-flight.

Parameters

ParameterTypeDefaultDescription
durationfloat1How long `progress` takes to travel 0 → 1 (or 1 → 0). Common values: `0.3`–`0.6` for hover micro-interactions, `0.8`–`1.5` for section transitions, `2`–`3` for hero reveals. Pair with the upstream pulse source's `cooldownMs` (set ≥ duration) so the next pulse cannot fire mid-tween. min 0.05; max 10; step 0.05
easeeasingCurve"easeOutCubic"Shape of the 0 → 1 curve. **Smart picker**: type to filter, click to apply. Common picks: `easeOutCubic` (UI default — fast in, soft tail), `power2.inOut` (symmetric ease — natural for reversible transitions), `back.out(1.7)` (gentle overshoot — playful), `expo.out` (whip-snap — dramatic reveals). Custom: `cubic-bezier(0.4, 0, 0.2, 1)`.

Use cases

  • Section / page transitions on click, wheel, or threshold pulse — wire a `clickPulse` / `thresholdPulse.pulse` into `restart`, drive a `propertyAnimation` / `staggerWrite` from `progress` for the in-animation. (See `section-snap` demo.)
  • Toggle-actions parity (`play / reverse / pause / resume / restart`) — separate pulse sources for each action map cleanly onto the five inputs.
  • Hover reveal — pair `hover.hover` rising-edge through a `thresholdPulse` into `play`, falling-edge into `reverse`. Card content slides in on enter, slides out on leave.
  • One-shot reaction to a velocity / proximity event — `thresholdPulse(rising)` from a velocity signal feeds `restart`; the tween plays a fixed-duration burst regardless of how long the underlying signal stays past threshold.

Related nodes

Envelope

Use pulseTween 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-animation/

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