Skip to content

Overview

Fluxion is an MVP for generating editable animation IR instead of rendered video frames. The Manim-like Python DSL and browser-friendly Text DSL both compile to .fluxion.json, and the Web Runtime plays the resulting Scene Graph and Timeline as SVG.

Core idea: preserve the meaning of a Scene Graph and Timeline so animations can be played, inspected, and edited in the browser instead of being flattened into rendered video frames.

Fluxion docs are organized around the same four paths shown in the sidebar.

  1. Start Here: project overview, the shortest local setup path, and the Playground workflow.
  2. Authoring: Python DSL, Text DSL, and examples that generate .fluxion.json.
  3. Runtime & IR: Fluxion JSON / Scene Graph, Timeline operations, and Web Runtime playback semantics.
  4. Design Notes: Architecture and Roadmap / MVP Scope.
  • Python DSL: Scene, Mobject, shape objects, and animation helpers.
  • Text DSL: browser-safe declarative syntax for compact animations.
  • Fluxion JSON / Scene Graph: .fluxion.json documents containing nodes, camera state, value trackers, and timeline operations.
  • Web Runtime: TypeScript SVG renderer with playback, scrubbing, and deterministic timeline application.
  • Playground: a GitHub Pages-hosted editor for compiling Text DSL and previewing generated JSON.
Python DSL / Text DSL
→ Fluxion JSON / Scene Graph
→ Timeline / Animation IR
→ Web Runtime
→ SVG preview

Canonical documentation lives under site/src/content/docs/ and is published by the GitHub Pages build. The root docs/ directory is intentionally limited to a pointer README; do not maintain duplicate long-form docs there.