Product media placeholder
Replace this area with a screenshot or short walkthrough video during the media sweep.
AND-gate for pulses. Outputs `pulse=1` ONLY on a frame where the input `pulse` is rising AND `gate` is > 0.5. Replaces the `expression: pulse * gate` + `pulseOr` chain authors use to filter a pulse by a boolean state. Pure combinatorial logic with one frame of edge-detector memory.
Inputs
| Port | Type | Description |
|---|---|---|
pulse | float | The pulse source. Rising-edge (0→1) is what propagates; non-rising frames don't fire even if the value stays at 1. |
gate | float | The boolean / threshold gate. The pulse only propagates on frames where this is > 0.5. |
Outputs
| Port | Type | Description |
|---|---|---|
pulse | float | Single-frame `1` when the input pulse rises AND the gate is open. `0` otherwise. |
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| - | - | - | No configurable parameters. |
Use cases
- Drag-start pulse gated by per-element visibility — global drag-start pulse → gatedPulse (gate = viewportObserver.isVisible) → re-pluck only currently-visible cards (otis-roan carousel pattern).
- Conditional event handler — clickPulse → gatedPulse (gate = "is-ready" flag) → action. Suppresses clicks during a busy/loading state without dropping the source pulse.
- AND of two pulses (rising-edge convergence) — feed pulse A to `pulse`, pulse B's `isAbove` to `gate`. Fires only when both are concurrently active.
Related nodes
Envelope
Use gatedPulse 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-inputs/