OmniMotion®
GuideDraft

Gestures

Drag, rotate (dial) and hover inputs on any layer, the one-click gesture presets, and the Input → Map → Output binding card.

A gesture turns direct manipulation into a number: how far a layer was dragged, how far it was rotated like a dial, how much it is hovered or pressed. The layer itself doesn't move on its own — you bind that number to any property, on this layer or any other. One input, any output, no code.

01Quick tour

  1. Select a layer. In Sentences, open + Interaction › ✋ Gestures and pick Rotate (dial, 0–270°).
  2. Press Preview (or turn on Simulate) and rotate the layer around its center.
  3. Back in Sentences, open the row Rotation follows dial angle. Turn on Snap — the dial now stops every 90°. Turn on Spring — it settles with a little bounce.

02Gesture presets

PresetWhat it sets up
Drag to rotate (360° view)Horizontal drag → Rotation Y, 800 px = one full turn, with Momentum and Auto-rotate. The product-viewer pattern
DraggableDrag on both axes → Position. Stops on release
Slider (drag along X, 0–300 px)Horizontal drag between Min / Max constraints → Position X
Draggable with momentumLike Draggable, but it keeps moving after release and slows down
Rotate (dial, 0–270°)Rotate around the layer's center → Rotation
Hover parallaxThe layer shifts slightly toward the cursor and scales up a touch while hovered

A preset adds the Gesture capability (when it needs one) and its binding in one step; Ctrl+Z undoes both.

03The Gesture capability

Properties › + Add capability › Gesture. The section starts with one sentence that says what it does — Drags horizontally, 0–300 px, keeps momentum on release.

SettingOptions
TypeDrag — the drag offset is the input · Rotate — rotation around the layer's center, like a dial
AxisX · Y · Both (Drag only)
ConstraintsNone · Min / Max — the value stops at the limits (px for Drag, ° for Rotate). Dragging back from past a limit moves immediately — there is no dead zone
On releaseStop · Momentum — keeps the release velocity and slows down · Snap back — returns to its start
Auto-rotateKeeps drifting slowly while nobody touches it (px/s or °/s) — showroom products

Live shows the current input while you drag in Preview or Simulate.

Pressing a child of a layer drives that layer's gesture too, so a group with a Gesture can be grabbed anywhere on it. A transparent rectangle on top of a 3D scene can carry the gesture and drive the 3D model's rotation.

04Gesture inputs

In any binding's Input picker, under Gestures · drag · rotate · hover:

InputValueNeeds
Drag X / YDrag offset in pxA Gesture (Drag) on that layer
Dial angleRotation in degreesA Gesture (Rotate)
Gesture progress (0→1)Position between Min and MaxA Gesture with Min / Max constraints
Hover (0→1)Eases to 1 while hovered, back to 0 on leaveNothing — every layer has it
Press (0→1)Eases to 1 while pressedNothing
Cursor X / Y over layer (−1…1)Where the cursor is on the layer; eases to 0 on leaveNothing — made for hover parallax / tilt

Each input can read this layer or another one by name — drag a knob, rotate a needle somewhere else.

If a binding reads a drag or dial from a layer that has no Gesture, Sentences flags it (Dial has no Rotate gesture) with an Add Gesture fix.

05The binding card: Input → Map → Output

Open a binding row in Sentences:

  • Input — where the number comes from (a gesture, scroll, the cursor, a variable…).
  • Map — the steps that shape it. The quick options under it are one click each:
    • Map range — Input range → Output range, e.g. 0–800 px → 0–360°
    • Clamp — keep the output inside its range
    • Snap — snap to steps (90° steps for angles)
    • Spring — follow with a spring
    • Invert — swap the output range
  • Output — the property that is written. Change it to send the same input somewhere else.

The row's sentence reads the result back in words — Rotation Y follows drag X, Scale X reacts to hover.

06Preview needs an artboard

Gestures and all other interactions run in Simulate anywhere on the canvas, but Preview and Share play an artboard. If the scene has none, Preview tells you so and offers Wrap in artboard, which puts every top-level layer into a new artboard without moving anything.

Checked against the tool on 2026-10-03.