Open Source

ecmanim

Mathematical animation, ported to TypeScript

A TypeScript port of manim — the engine behind 3Blue1Brown — that renders the exact same Scene code headlessly in Node and live in the browser.

ecmanim is a TypeScript port of manim, the mathematical animation engine behind 3Blue1Brown. The same Scene code renders headlessly in Node — exporting video via ffmpeg — and live on a canvas in the browser.

An optional WebGL/Three.js backend adds 3D rendering, and because it's plain TypeScript, scenes compose with the rest of your toolchain: bundlers, test runners, and CI.

  • One Scene, three render targets
  • Live in-browser canvas playback
  • Optional WebGL/Three.js 3D backend
  • Node video export via ffmpeg