Overview
A motion design engine and editor. The document (JSON) is the source of truth; the editor and the AI change it through the same operations API. Rendering is deterministic: every frame is a pure function of t.
Principles
Section titled “Principles”- Document = scene graph: nestable compositions, layers, groups, assets, design tokens, markers, sound. The format is described in Document format, with a JSON schema in schema/tramme-1.schema.json.
- A project = the document and its files (assets, plugins), in a defined format: Project format. It is exchanged as a
.trammearchive. - Every property is static, keyframed, an expression or a link, with an optional stack of modifiers (wiggle, loop, spring, stagger, noise, smoothing).
- Open vocabulary: each layer type is a node that declares its property schema. The inspector and the validator are generated from it. A project can add its own nodes, effects and modifiers through plugins (JS modules).
- The same engine for preview and export.
- The AI is a first-class user: the same operations as the editor, the same undo and redo.