Main controls
| Control | Action |
|---|---|
| Overshoot, Bounce, Loop, Wiggle, Squash | Choose the behavior to preview and apply. In the smallest strip layout, clicking a tile applies it immediately. |
| Preview strip | Demonstrates the chosen behavior while you hover or adjust a control. It plays up to three short cycles per replay. |
| Apply | Apply the chosen behavior to eligible targets. Wider slots include the behavior name in the label. |
| Bake | Convert selected Springy expressions to keys across the work area. See baking behavior. |
| Remove | Clear selected Springy expressions and unused Springy control groups. |
| Behavior ring | That behavior was found on at least one inspected target. |
| Highlighted controls or live in the tune popover | Adjustments update the chosen behavior already present on the selected layers. |
| Hint below the buttons | Shows selected names, a property count, or Select a layer or a keyed property. Holding Alt changes it to Alt-click removes Springy. |
Apply changes to Bake and Remove only when every inspected target uses the chosen behavior. A ring alone does not mean every selected property uses it. Counts briefly appear on a tile after an action, and a toast describes the result. An apply toast includes the first skipped property and reason, plus a count if more were skipped.
What your selection targets
Selected individual properties take priority over a whole-layer fallback on each layer. Select property names rather than just their containing group when you need exact targeting.
| Behavior | With individual properties selected | With only layers selected |
|---|---|---|
| Overshoot | Selected numeric properties with at least two keys. | Keyed Position, Scale, and Z Rotation properties with at least two keys. If none qualify, tries the first Position component and reports missing keys if needed. |
| Bounce | Selected numeric properties with at least two keys. | The same transform choices as Overshoot. |
| Loop | Selected numeric properties. Repeats only with at least two keys. | All individual transform properties with at least two keys. If none qualify, tries the first Position component. |
| Wiggle | Selected numeric properties, with or without keys. | Position, including each separated component on 2D or 3D layers. |
| Squash | Scale on each selected property’s layer. The property you clicked is not the target. | Scale. Position must have at least two keys or an expression on a component. |
Position fallback uses the combined Position property, or its separated X/Y/Z followers where applicable. Overshoot and Bounce do not automatically include Opacity or X/Y Rotation, but you can select those properties explicitly.
Numeric targets include one-, two-, and three-dimensional values and colors. They must accept expressions, and the layer must support effects so it can hold Springy’s controls. Locked layers and Springy’s own control properties are skipped. Other expressions are preserved unless Replace Other Expressions is on.
For Remove and Bake, selected properties limit the action to their Springy expressions. With only layers selected, those actions search all properties on each layer. The panel’s automatic whole-layer read-back looks in Transform and Effects. Select the exact property to read or act on Springy expressions elsewhere, such as an animator property.
Overshoot controls
See adding overshoot for how arrival speed affects the result.
| Control | Default | Range | Effect |
|---|---|---|---|
| Bounce | 50% | 0–100%, whole steps | Amount of spring motion past the key. Zero adds no overshoot. |
| Settle | 50% | 0–100%, whole steps | How quickly the oscillation fades. Higher settles faster. |
| Speed | 2.5Hz | 0.5–8Hz, steps of 0.1 | Oscillations per second. |
Bounce controls
| Control | Default | Range | Effect |
|---|---|---|---|
| Height | 60% | 0–95%, whole steps | Strength retained by successive rebounds. Zero adds no bounce. |
| Gravity | 50 | 1–100, whole steps | How quickly a hop falls back. Higher makes shorter hops. |
Loop controls
The loop guide explains the four modes.
| Control | Default | Choices | Effect |
|---|---|---|---|
| Mode | Cycle | Cycle, Ping-pong, Offset, Continue | How animation extends after the final key. |
| Loop In | Off | Off, On | Also extend before the first key. |
Wiggle controls
See the wiggle guide for property units, separated dimensions, and seamless loops.
| Control | Default | Range or choices | Effect |
|---|---|---|---|
| Amount | 30 | 0–500, whole steps | Displacement in the property’s units. |
| Speed | 2.0/s | 0–20/s, steps of 0.1 | Wiggle frequency. |
| Loop | Off | 0–20s, steps of 0.1 | Noise repeat duration. Zero displays as Off. |
| Axis | Both | Both, X, Y | Components allowed to move. Both includes all components. |
| Jagged | Off | Off, On | Switch from smooth drift to layered, rougher noise. |
Squash controls
See the squash guide for direction and 3D limits.
| Control | Default | Range or choices | Effect |
|---|---|---|---|
| Strength | 50% | 0–100%, whole steps | How much Position speed changes X/Y Scale. |
| Direction | Follow | Follow, Vertical | Weigh horizontal/vertical motion, or always stretch vertically. |
Springy creates one Effect Controls group per behavior in use, named Springy · Overshoot, Springy · Bounce, Springy · Loop, Springy · Wiggle, or Springy · Squash. Each holds the controls listed above. Keep these groups while their expressions use them. Editing existing behaviors explains shared values and multiple selections.
Mouse and keyboard gestures
| Gesture | Result |
|---|---|
| Right-click a behavior tile | Open its tune popover with every control and the action buttons. |
| Escape or click outside the tune popover | Close it. In a strip, a tile click used to dismiss the popover does not also apply. |
| Alt/Option-click a behavior tile or Apply | Remove Springy from the selection, regardless of the chosen behavior. |
| Click or drag a numeric control | Set a value within its range. The comp changes when you commit or release. |
| Cmd-drag on Mac, Ctrl-drag on Windows | Adjust a numeric control more finely. |
| Shift-drag a numeric control | Snap to coarse steps across its range. Cmd/Ctrl takes priority if also held. |
| Double-click a numeric control | Type an exact value. Enter or clicking away saves; Escape cancels. |
| Alt/Option-click any behavior control | Reset that control to its default. |
| Click a choice control | Cycle to the next choice, wrapping to the first. |
| Drag a choice control | Choose from positions across its bar. |
| Click an On/Off control | Toggle it. |
| Right-click a numeric control | Open Type a value…, Reset to default, Copy value, and Paste value. After copying, the paste label includes the number. |
Typed and pasted numbers are limited to the control’s range and rounded to its step size. Copy and paste share a number within the panel, without converting units. The numeric context menu is not available on choice or On/Off controls.
Resizing Springy
Springy supports half- and full-width slots and can shrink to 32 by 32 pixels. In Edit layout, drag the slot’s resize handle to change its shape. Labels and controls disappear as space runs out. Right-click a tile to identify and tune it when labels are hidden.
A narrow slot stacks the controls into fewer columns. Depending on its height, some controls may scroll or disappear. The tune popover always has the full set.
A short row keeps a separate action button. Choose a behavior first, then click Apply. The preview and controls are hidden.
A slot at most 140 pixels wide uses strip mode with only the five behavior tiles. Clicking one immediately applies it using its current values. Right-click to tune first, or to reach Bake and Remove.