Back to the dev log

Dev log

DevLog #01: Animation That Lives Outside the Main Timeline

The clip animator works inside an inspector mini-timeline without a single keyframe cluttering the main story timeline. What's next: custom channels and reusable universal presets.

By X · Development

  • animation
  • tween
  • presets
  • roadmap
  • webgpu

If you've ever animated anything in a traditional video editor, you know the scene: you open an animation and the timeline explodes with diamonds and keyframes until you can no longer find the cut you were editing. Here we made the opposite architectural choice: animation lives strictly outside the main timeline.

Herramienta Interactiva

Experience Lightweight Video Editing in WebGPU

No heavy software installations. Clean timelines, pure speed, and direct browser rendering.

An Animator You Attach and Remove Like an Effect

The first building block is already live: it behaves like an effect plugin. You attach the animator to whichever clip you want, and if you change your mind later, you simply remove it—the clip remains untouched. All keyframes live inside a mini-timeline in the inspector panel across four dedicated tracks (from position to opacity).

Why keep it off the main timeline? Because the main timeline is where you structure your narrative. Mixing complex Bezier animation curves directly into the story track pollutes both workflows simultaneously. Our design rule is fixed: zero keyframe diamonds on the main timeline; animations appear in the inspector right where you edit them.

And here is the fun part: you can route a clip from A to B to C, each segment with its own custom easing curve, looping or ping-ponging at whichever speed you configure.

When a clip is a group, animating the parent automatically carries all children along.

Channels for Any Property and Universal Presets

What comes next: the animator will expand from four fixed tracks to animating any exposed variable on a clip or component. The feathering radius of a mask, for instance, becomes an animatable channel.

Why is this a game changer? Because currently mask radiuses cannot smoothly morph over time. With dynamic channels, you configure it identically to position: mark where it starts, mark where it ends, done.

And the ultimate time saver: universal animation presets. Design an animation once, save it, and apply it to another clip in one click—even if it's a completely different asset type. If the destination clip lacks a channel the preset specifies, nothing breaks: the channel stays safely dormant and awakens whenever supported.

Try the editor as it stands today

Everything you read in the dev log already runs in the public beta.