Product media placeholder
Replace this area with a screenshot or short walkthrough video during the media sweep.
Atomic sample-and-hold for a scalar X+Y pair. On rising-edge `pulse`, captures both axes from the SAME frame.
Type latch2DCategory inputsContext sharedDynamic ports noCompound no
Inputs
| Port | Type | Description |
|---|---|---|
valueX | float | Live X-axis signal being sampled. Whatever this reads on the rising edge of `pulse` gets captured to `heldX`. |
valueY | float | Live Y-axis signal being sampled. Captured atomically together with `valueX`. |
pulse | float | Trigger. On rising edge (0 → >0), both `valueX` and `valueY` are captured from the same frame. |
reset | float | On rising edge, restores both held values to (`initialX`, `initialY`). |
Outputs
| Port | Type | Description |
|---|---|---|
heldX | float | Most recently captured X (or `initialX` before the first pulse). Stays constant between pulses. |
heldY | float | Most recently captured Y (or `initialY` before the first pulse). Stays constant between pulses. |
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
initialX | float | 0 | Output value of `heldX` before the first pulse arrives, and after each `reset` rising edge. |
initialY | float | 0 | Output value of `heldY` before the first pulse arrives, and after each `reset` rising edge. |
Use cases
- Snapshot cursor position at spawn — wire `pointer.x` / `pointer.y` into `valueX` / `valueY`; pulse from a trigger source captures the spawn point atomically.
- Drag-start coords — sample drag X+Y at the mousedown moment, hold until next gesture.
- Atomic 2-axis capture — when independent latches would risk pair drift if scheduler ordering shifted (X from frame N, Y from frame N+1).
Envelope
Use latch2D 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/