The Live Evaluator
Press ⌃⇧⌘E to open the Evaluator — a floating panel that runs expression code on demand and shows its value or type, without touching any real property. It's a scratchpad: type any expression fragment, run it, read the answer, and nothing in your comp changes as a result.
It has two modes, and the difference between them is the whole point of the panel:
- Selected property evaluates with faithful
thisLayer/thisPropertycontext, as if the code actually lived on a property in your comp. - Scratch runs any chain — including one that resolves to a comp, layer, or property object rather than a number or string — and tells you what kind of thing it is.
Opening the Evaluator
⌃⇧⌘E opens the Evaluator from anywhere in the panel. It floats independently of the editor, so you can keep it open while you work.
Selected property mode
This mode evaluates against the active tab's pinned property if it has one, otherwise whatever is currently selected in After Effects — the same pin-first rule Audition follows:
A pinned property always wins over your live AE selection here, exactly as it does for Apply and for the rail's Audition glyph. If the pinned property no longer exists — its layer was deleted, its effect removed — evaluation fails with a named error identifying the dead path. It never silently falls back to whatever happens to be selected in AE.
thisLayer and thisProperty resolve exactly as they would if the code were the property's real expression — so you can test a snippet's behavior in its actual context before committing it.
Scratch mode
Scratch mode is for chains that don't reduce to a plain value — a reference into the comp hierarchy, an effect, a property group. It runs your code on a hidden managed layer that's created for the evaluation and always torn down afterward, and it classifies whatever the chain resolves to. A shape group reference, for example, comes back as something like addressable · group (Fill 1) rather than an opaque object dump.
These screenshots were captured in an earlier beta. Toolbar and Library layouts have since changed; the written instructions on this page describe v0.145.4. See A Tour of the Panel for the current controls.
Evaluating at a specific time
An @ time field lets you evaluate at a specific point on the timeline instead of wherever the playhead happens to be. It accepts seconds (1.25), seconds:frames (1:06), or raw frames (36). Run with ⌘/Ctrl+Enter or the Evaluate button.
Every result carries a provenance line stating exactly when and how it was produced — for example … @ 1.25s (frame 30) · shown 2D (layer is not 3D) · 2dp — so a sampled value can never be mistaken for one that came from "now" when you asked for a different time. If the value collapsed a dimension — sampling Position, Anchor Point, or Scale on a layer that isn't 3D drops Z — the line says so explicitly, rather than letting a collapsed [320, 180] read as if it were genuinely two-dimensional. Both modes disclose the same facts about a result.
History and re-run on comp change
- A session history of the last 25 evaluations lets you click back to reload and re-run any prior expression.
- Re-run on comp change re-evaluates your last successful run automatically whenever the composition changes.
- Unbound
{{tokens}}in your code are caught and reported before the Evaluator ever calls into AE — a typo in a token name fails fast, with a clear reason, instead of producing a confusing AE-side error.
Evaluate Selection or Line
You don't have to open the Evaluator by hand to test a piece of code you're already looking at. Right-click any highlighted selection in the editor — or place the caret with nothing selected, which targets the current line — and choose eXLib: Evaluate Selection or Line. The Evaluator opens pre-filled with that text and runs it immediately.
This is the fastest way to sanity-check a sub-expression buried inside a longer one — highlight just the piece you're unsure about, right-click, and read the answer without leaving your place in the editor.