Skip to content

Animation Overview

Animation in Pixodesk SVG Animator is keyframe-based and lives in the Timeline panel at the bottom of the workspace. This section is the map: the ways to animate, what the panel does, auto-pinning in detail, how the animation is played and started on the page, and how to drive it with the page scroll.

There are three ways to put motion into a document. They produce the same thing — keyframes — and you will use all three.

WayHowBest when
Keyframes by handswitch a property’s clock on, move the playhead, change the valueyou want one property to do one precise thing — a fade, a slide, a colour change
Auto-pin (Alt + A)pin the current state, move in time, change anything about the objectbuilding a whole pose-to-pose motion quickly; several properties at once
Pin several statespin at each key moment, adjust the object each timestoryboarding: lay out all the key poses first, refine timing and easing after

Add-ons that apply to any of them: easing between keyframes, inner loops for repeats, and the techniques page for motion along a path, draw-on strokes, morphing, colour, masks and more.

The Timeline panel: playback toolbar and layer list (left), keyframe editor (centre), chart panel (right)

Three areas, left to right:

  • Layer list — every animated object and, under it, one row per animated property.
  • Keyframe editor — the time ruler, the playhead, keyframe diamonds and the easing mini charts between them.
  • Chart panel — the value / velocity / acceleration curves (Easing charts).
ControlWhat it does
⋮Show Velocity Mini Charts · Select All Keyframes · Deselect Keyframes · Delete Selected Keyframes · Add / Remove Inner Loop · Flip Selected Keyframes
⏮ ◀ ▶ ▶ ⏭go to start (⌘ / Ctrl + ←), previous frame, play / pause (Space), next frame, go to end (⌘ / Ctrl + →)
time fieldthe playhead position — type a time (ms) or a frame number, or drag it
Looprepeat playback in the editor (Loop animation)
Pin / Unpin Allpin the current state (Alt + A) / clear all pins (Alt + Shift + A) — see Auto animation

Layers with animated properties expand to show one row per property. A row has a keyframe dot (is there a keyframe at the playhead?), previous / next keyframe arrows, the property’s value at the playhead (editable), and a loop button for an inner loop. Expand All opens every layer.

The ruler shows time in seconds; the highlighted range is the document’s Duration (Document properties). Drag the playhead to scrub. Keyframes are diamonds; select, drag, copy and delete them as described in Keyframes. Click the mini chart between two keyframes to edit that segment’s easing. Zoom (top-right of the panel, or View › Zoom Timeline to Frame Range) changes the time scale.

The time field shows milliseconds; click its unit to switch to frames. The document’s Frame Rate (Animation section; Max = uncapped) defines the frame grid.

The fastest way to animate: pin a state, move in time, change things. Pinning records a keyframe for every animated property of the selected objects at the playhead, so you never touch individual values.

A shape animated on Position and Rotation: the two keyframe rows in the timeline and the shape at the 500 ms playhead

  1. Set the playhead where the current look should hold (usually 0 ms).
  2. Click Pin Animation State at Frame (Alt + A).
  3. Move the playhead — the editor jumps forward one second by default; drag it elsewhere if you want a different interval.
  4. Change the object: move it, rotate it, recolour it, reshape it. Keyframes appear automatically for whatever changed.
  5. Repeat 2–4 for each state. Unpin All (Alt + Shift + A) clears the pins when you are done.

Pins are a working mode, not part of the file; the keyframes they create are. Use several pins to lay out the key states first and refine timing and easing afterwards.

How the saved animation plays on the page is set on the document (select nothing): the Animation, Playback Preset, Playback Loop, Playback Triggers and Playback Behaviour sections of the Properties panel. Playback Preset sets the triggers, the actions and Loop in one pick — see Playback preset.

The Animation, Playback Triggers and Playback Behaviour sections of the document properties: duration, delay, frame rate, loop, the trigger lists and the play actions

SettingMeaning
Duration (ms)the length of the animation — also the timeline range
Delay (ms)wait before it starts
Frame Rate (fps)the frame grid; Max = as fast as the player can (JS modes)
Loopthe Playback Loop section’s checkbox — repeat when finished; with Loop on: Iterations (empty = infinite) and Direction — Normal · Reverse · Alternate · Alternate Reverse

A trigger lists which events play, stop, pause and resume the animation — four lists over the same four events, Load, Hover in, Hover out and Click:

ListActs while the animation is…
Play onstopped — a play (see Play Action)
Stop onplaying or paused — a stop (see Stop Action)
Pause onplaying — freezes the current frame
Resume onpaused — continues; left empty, the Play on events resume it

A new document plays on load. Ticking Hover in under Play on adds Hover out under Pause on for you; Click under both Play on and Pause on makes every click play or pause; nothing ticked means your code starts it through the player API. Out-of-View Action says what happens while none of it is on screen — Pause (it resumes when it comes back), Continue or Reset — with In-View Threshold (%) and In-View Delay (ms) deciding when it counts as seen.

How a play, a stop and the natural end look — the same words whoever asks, the trigger, a component’s play property or play() / stop() from code:

SettingChoices
Play ActionResume (from where it is) · Restart (from the beginning) · Jump to end
Stop ActionReset (back to the start state) · Rewind (plays back to it)
Complete Iteration (under Stop Action)a stop waits for the current iteration to finish first
End ActionHold (keeps the last frame) · Reset · Rewind

A pure-CSS SVG can express Load, Hover in and Hover out (a pause or a stop, not both) with the default actions. Every choice is marked (CSS) or (JS); ticking a (JS) one — Click, Restart, Rewind, a stop that completes the iteration, the visibility gate — switches the file to the SVG + CSS + JS triggers flavour automatically (a few embedded lines). The JSON and SVG + JS formats support everything. See File formats.

Use Preview (toolbar) to try the triggers exactly as the player runs them.

Instead of time, the animation can follow the page scroll: the reader scrolls, the animation advances — parallax, progress indicators, stories that unfold as you read. Set Timeline to Scroll in the Timeline & Trigger section (the switch is available when the document is already scroll-driven or experimental features are enabled in the preferences).

Screenshot: Timeline set to Scroll — the Preset dropdown and the start / end diagram

Start from a Preset — it fills in all the fields below:

GroupPresetsThe animation plays…
EnterEnter · Enter to center · Late enterwhile the canvas arrives on screen
JourneyFull journey · Middle half · On-screen journey · Long enter · Long exitas the canvas crosses the screen (On-screen journey: only while fully visible)
Hold & playat top · at middle · at bottom · Card stackwhile the canvas is pinned in place and the page scrolls past
ExitExit · Exit from center · Early exitwhile the canvas leaves
PageWhole page · This panelfollowing the page (or a panel) scroll, not the canvas

The fields, for fine-tuning (the preset shows custom once you edit them):

  • Progress — Element (how far this canvas has travelled across the screen) or Container (how far a scrollable area has scrolled — for a fixed-position canvas such as a progress bar), with Scroller Nearest / Page.
  • Axis — Block / Inline (follow the writing direction) or X / Y.
  • Measure — what is tracked: This canvas · Parent section · Scroll container · a custom CSS selector.
  • Smoothing (ms) — how long the animation takes to catch up with the scrollbar; empty locks it exactly (while it is set, the player measures scrolling itself instead of the browser’s scroll timeline — see Engine).
  • Pin (Sticky) — holds the canvas on screen while the scroll plays it, with Offset, Length (in screens) and Align Top / Middle / Bottom (Middle and Bottom need the JS player).
  • Start / End — the phase (Cover · Contain · Entry · Exit · Entry crossing · Exit crossing) and percentage where the animation begins and ends; the diagram updates as you drag.

Scroll-driven documents save to JSON and to the SVG + JS flavour; the player docs cover the runtime side in Playback and triggers.


Next