Skip to content

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.

  • 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 .tramme archive.
  • 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.