UltraVisiondocs

How it works

The Library

The Library is the 2D side of the editor: your images, arranged and moved by one piece of motion, on a canvas you frame. This page explains the pieces and how they fit; the browsing itself belongs in the app, where there is search, favourites and the real stage.

A preset is a function, not a recording

Every motion in the catalogue is a small pure function. It is handed a frame number and a card index, and it answers where that card sits at that instant: position, scale, rotation, transparency, depth. Nothing is baked and nothing is pre-rendered.

Three things follow from that, and they are the reason the editor behaves the way it does. The preview, the thumbnails and the exported file are all the same function, so they cannot disagree. Any control can change while the clip plays, because the next frame is simply computed again. And a preset works with 3 images or 300, because the count is an input, not a property of the motion.

Families and presets

A family is one idea — cards gliding past in a row, a ring you can film from inside, a marquee band. A preset is that idea at one set of values. The catalogue currently publishes 248 presets in 29 families; both numbers are counted from the registry when this page is built, so they cannot drift from the editor.

Picking a preset resets its controls to the values it was authored with. Some families also set the clip length and the canvas shape, and that is not a liberty — their motion was measured in seconds per card, so at another duration it is a different motion, and their framing was authored against a specific aspect.

Six presets from six families, running here as an illustration. Hover one to play it; click one to open it in the editor. The whole catalogue lives in the editor’s Templates panel.

The controls belong to the motion

A template declares its own controls, so what you see in the Adjust panel is whatever that motion actually has — not a fixed set of sliders that some families ignore. They are drawn from a small vocabulary: sliders, toggles, pills, dropdowns, colours, an XY pad, an upload and a text field. Nothing else is needed, and the limit is deliberate: a template cannot invent a control the panel does not know how to render, so every motion stays fully editable by the same UI.

Easing reshapes time, not position

Easing does not move cards. Each motion runs on a cyclic phase, and the easing curve reshapes that phase — the same path, walked at a different rate. That is why a curve can be swapped on any family without breaking it, and why the loop survives the swap. There are 28 curves, from the standard families to physics ones, plus a bezier you can drag yourself.

Some families count their own cards

Most motions place as many cards as you have images. The lattice families — a woven gallery wall, an aligned grid — do the opposite: they derive how many cells they need from the canvas, so the wall fills the frame instead of leaving a gap when you supply six photos. Those cycle your images across the field, so a small set can fill a large wall.

Why clips loop cleanly

Every template quantizes its speed to a whole number of motion cycles per clip, so the last frame lands exactly where the first one starts. Conveyors go further and match their period to the card count, so each image returns to its own slot. A few presets are one-shot by design — something that drops and bounces has nowhere to loop back to — and those skip the rule rather than fake it.

Sharing a starting point

Any preset is addressable: /library?tpl=<preset-id> opens the editor with it already applied, exactly as clicking its card would. Useful for handing a teammate the exact starting point instead of describing it. The id appears under each card above.

Keep what you tuned

Two shelves sit above the catalogue, and both are yours rather than ours.

Favourites are a heart on any card: they collect into a shelf pinned above the families, in the order you hearted them. A family withheld from the catalogue keeps its hearts rather than losing them — bring it back and they are still there.

Saved presets are the step after adjusting. The Custom tab holds the value bundles you name and save, and applying one puts those values back without touching anything else. It is the honest answer to “I got this right once” — a preset is nothing but a set of defaults, so saving your own is the same mechanism the shipped ones use.

Media →