Product media placeholder
Replace this area with a screenshot or short walkthrough video during the media sweep.
Edge dispatcher for an externally-owned integer index. Whenever `index` rises or falls to a different integer, fires a single-frame pulse pair: `exit_out{prev}` for the slot we leave and `enter_out{curr}` for the slot we enter. First evaluate fires only the initial enter (no prior slot exists). Sink-agnostic — routes pulses, not values.
Inputs
| Port | Type | Description |
|---|---|---|
index | float | Externally-owned integer index. Wire from `bidirectionalCounter.value`, `pulseCounter.value`, or any int producer. Edge-detected each evaluate; same value across frames produces no enter/exit output. |
reset | float | Rising-edge clears the remembered previous index so the next non-equal `index` fires only an `enter_out{curr}` (mirroring first-frame semantics). |
direction | float | Optional ±1 direction signal — typically wired from `directionLatch.direction`. When wired, drives the `forwardActive` / `backwardActive` passthrough outputs so a single dispatcher can serve as the public face of a bidirectional snap navigator (no internal-node id leakage to consumers). |
Outputs
| Port | Type | Description |
|---|---|---|
activeIdx | float | Rounded integer of the current `index` input. Lets downstream consumers wire `dispatch.activeIdx` instead of poking the upstream counter directly. |
forwardActive | float | `1` when `direction > 0`, else `0`. 0 when `direction` is unwired (default). |
backwardActive | float | `1` when `direction < 0`, else `0`. |
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
count | int | 1 | Number of channel pairs. Auto-derived from `forEach` match count when wired indexed — manual setting is only needed for non-forEach hand-wired graphs. Each channel materialises `enter_out{i}` and `exit_out{i}`. min 1; max 256 |
Use cases
- Section-snap, vertical carousel, scroll-spy — wheel/keyboard moves a single integer cursor; the previous and next slot both need their own enter/exit tween fired from the same edge.
- State-machine layer cross-fade on canvas — `currentLayerIdx` flip fires `exit_out{old}` to ramp out the leaving layer + `enter_out{new}` to ramp in the entering layer.
- Sprite / outfit / weapon variant swap — variant-index change cross-fades the old and new visual chains via paired pulses.
- Tab strip, accordion — active-tab change drives previous tab's collapse and next tab's expand from a single index input.
Related nodes
Envelope
Use indexedDispatch 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/