Skip to content
Alekhya
DocsAnimation

Keyframes

The channel-armed keying model, the full vocabulary of keyable properties, the dope sheet, and the ease bar.

Reference

Mode
Compose
Panel
Timeline
Menu
Animation ▸ Show Timeline

A keyframe is a value stored on a channel at a frame. A channel belongs to one property of one owner — a layer, a sub-layer, a mask, an effect instance, a text object, a vector path, a bone, a null, a particle emitter, or the shot camera. Between two keys the channel interpolates; outside the first and last key it holds.

Unlike a cel, which holds until it is replaced, a channel is continuous. The two coexist on the same layer and on the same rows.

There is no auto-key switch

Alekhya has no global auto-key toggle. There is nothing to arm before you start and nothing to forget to turn off. Keying is decided per channel, by whether that channel already has keys:

Writing a value to a property — by scrubbing its Value field, dragging its gizmo, dragging a lattice point, dragging a pin, posing a bone — inserts a keyframe at the playhead if that channel already has keyframes. If the channel has none, the write goes to the property's static base value and no keyframe is created.

The consequence is worth stating in both directions:

  • A property you have never keyed behaves like a plain setting. Moving a layer moves it, everywhere, at every frame. You cannot accidentally key it.
  • The first key arms the channel. From that moment every edit to that property auto-keys at the playhead. Moving the layer at frame 40 no longer moves it at frame 0 — it writes a key at 40.

So the first key is always explicit: the diamond on the property's tree row, or a panel's own keying button, such as the Rig tool's Key pose (all). Two panels state the rule in prose. The Warp panel reads "Animate on the Timeline: add a key on this layer's “Warp (fold)” row, then move the playhead and fold — new folds auto-key." The Rig panel reads "The first key arms auto-key."

Auto-key is wired into warp folds, puppet pin drags, vector shape edits, animated text parameters, and rig posing. A rig drag keys only those bones whose rotation channel already exists — the other bones in the same drag update their base values, exactly as the rule says.

The keyframe navigator

Every property row carries a diamond at the right of the Value column. It reports the channel's state at the playhead and changes it.

Key at the playheadDiamond

Filled and yellow. Tapping removes the key at the playhead.

Animated, no key hereDiamond

Hollow and dimly yellow. Tapping adds a key at the playhead, carrying the value the channel currently evaluates to.

Not animatedDiamond

Hollow and grey. Tapping adds the channel's first key — this is what arms auto-key for that property.

Every diamond tap is undoable through the Timeline's own undo history.

Keyable properties

The sections below appear on a row when that row's owner has the relevant content. Ranges are the Value field's range where the field has one.

Transform

Titled Transform. It appears on layers, sub-layer parents, nulls, bones, vector paths, text objects and particle emitters. Opacity is included only on main layers.

Anchor PointValue field

The point the layer rotates and scales about, as X, Y and Z.

PositionValue field

X, Y and Z. This is the channel the viewport motion path draws.

ScaleValue field

X, Y and Z, scrubbed in hundredths.

RotationValue field−36000–36000°

Three Euler axes on a plane layer; Z only on a two-dimensional camera layer. Displayed as revolutions plus degrees.

OpacityValue field0–100%

Main layers and sub-layers only.

Effects

Titled Effects. Each effect instance is a row named for the effect, twirling into:

EnabledToggle

Switches the effect instance on or off. Because it is an enable channel, an animated Enabled always writes stepped keys — it pops rather than fades.

<effect parameter>Value field

One row per parameter the effect declares, carrying that parameter's own label and its own minimum and maximum.

Draw-In

Titled Draw-In. Appears on raster layers that contain strokes.

Draw-on EndValue field0–100%

How far along the layer's strokes the drawing has written itself on.

Trim StartValue field0–100%

Where the visible span begins.

Trim OffsetValue field0–100%

Slides the whole visible span along the strokes.

SequentialToggle

Whether strokes draw on one after another rather than all at once. Stepped keys.

Warp

Appears when the layer has a warp, or has warp keyframes.

Warp (fold)Value field0–1

The whole lattice, keyed as one channel. See Warp.

Warp onToggle

The warp's enable channel. Stepped keys.

Puppet

Appears when the layer has pins, or has puppet keyframes.

Puppet (pins)Value field0–1

Every pin's position, keyed as one pose. See Puppet.

Bones

Titled Bones — tap bones on canvas to show while nothing is picked, and Bones (n selected) once bones are selected. Only selected bones are listed. The section appears under a layer that carries a rig and under a group that carries a folder rig.

Each bone row carries the bone's name and twirls into a full Transform section — without Opacity. Bone poses are keyed on the ordinary transform channels with the bone as their owner; there is no separate pose property. See Rig.

Vector Shapes

Titled Vector Shapes. Each path is a row named Path 1, Path 2 and so on, twirling into a Transform section on the path's own identity plus:

Shape (morph)Value field0–1

The path's whole pose — point positions, handles, widths, opacities, roll, and whether the path is closed — keyed as one channel.

Draw-on EndValue field0–100%

How far the path has drawn itself on.

Trim StartValue field0–100%

Where the visible span begins.

Trim OffsetValue field0–100%

Slides the visible span along the path.

Text

Titled Text. Each text object is a row showing its label in quotation marks, twirling into a Transform section on the text object's own identity — without Opacity — plus:

Animate (Progress)Value field0–100%

Drives the text animation preset's progress.

SizeValue field8–400

Type size.

TrackingValue field−200–800

Letter spacing.

LeadingValue field0.6–3

Line height, as a multiple.

ColorColour well

Keyed as an RGBA channel.

Particles

Titled Particles, on an emitter row.

AmountValue field0–4
SizeValue field0–4
SpeedValue field0–4
ColorColour well
SpreadValue field0–1
LifetimeValue field0.1–12
GravityValue field−800–800
WindValue field−400–400
TurbulenceValue field0–400

Shot Camera

The last row in the tree, always present.

PositionValue field

The camera's eye, as X, Y and Z.

Point of InterestValue field

What the camera looks at, as X, Y and Z.

Focal LengthValue field200–4000
Orbit ↔Value field−3.15–3.15 rad
Orbit ↕Value field−1.55–1.55 rad
DistanceValue field100–8000

Sub-layer rows carry only Opacity and their own Effects stack.

The dope sheet

Keyframes draw as diamonds on their property's row, joined by a faint spine running from the channel's first key to its last. A property with no keys draws a flat grey line instead. A selected diamond is larger, filled brightly, and outlined.

The ease bar appears beneath the tracks whenever a keyframe is selected, and reports what is selected: <object> · <property> · f<frame> for a single key, or <n> keys for several.

MultiToggleOff

Arms multi-select, so that tapping further keyframes adds them to the selection instead of replacing it. The label tints while armed.

AxisPickerAll

All, X, Y, Z. Solos one axis of a three-component channel for the graph editor. Shown only when the selected key's channel is a vector — Position, Scale, Anchor Point or Rotation.

CopyButton

Copies the selection. Each key is stored with its offset from the selection's earliest frame, carrying its value and its interpolation.

PasteButton

Pastes at the playhead: each key lands at the playhead plus its stored offset, never below frame 0. Keys merge into an existing channel or create one, and the pasted keys become the selection. Disabled when the clipboard is empty.

½×Button

Halves the selection's spacing about its earliest frame. Requires two or more keys.

Button

Doubles the selection's spacing about its earliest frame. Requires two or more keys.

FlipButton

Reverses the selection's timing about its own midpoint, so the last key becomes the first. Requires two or more keys.

DeleteButton

Removes every selected keyframe.

DismissButton

Icon-only. Closes the ease bar and clears the selection.

Retiming rounds to whole frames and never moves a key below frame 0.

Moving keys

Drag a keyframe on its row. The grab radius is about 11 pt, and the drag engages past 6 pt of horizontal travel — below that a drag pans the timeline instead. The whole selection moves rigidly, clamped so the earliest key stays at or above frame 0, and the playhead does not follow.

The ease bar's easing presets

Six buttons apply to every selected keyframe at once. Each keyframe stores its incoming and outgoing interpolation independently, which is what lets a key ease into a stop and leave linearly.

LinearButton

Linear in, linear out. Constant speed through the key.

Easy EaseButton

Eased both sides. The key becomes a soft stop and a soft start.

Ease InButton

Eased in, linear out. The motion settles into the key and leaves at speed.

Ease OutButton

Linear in, eased out. The motion arrives at speed and eases away from the key.

HoldButton

Linear in, hold out. The value stays put and pops at the next key — stepped animation.

AutoButton

A gentle ease-in-out on both sides.

Enable channels — Warp on, an effect's Enabled, Sequential — are always written with stepped interpolation regardless of the preset, because a half-enabled effect is not a state.

See also