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.
Documentation map
Section titled “Documentation map”Fluxion docs are organized around the same four paths shown in the sidebar.
- Start Here: project overview, the shortest local setup path, and the Playground workflow.
- Authoring: Python DSL, Text DSL, and examples that generate
.fluxion.json. - Runtime & IR: Fluxion JSON / Scene Graph, Timeline operations, and Web Runtime playback semantics.
- Design Notes: Architecture and Roadmap / MVP Scope.
What Fluxion includes
Section titled “What Fluxion includes”- Python DSL:
Scene,Mobject, shape objects, and animation helpers. - Text DSL: browser-safe declarative syntax for compact animations.
- Fluxion JSON / Scene Graph:
.fluxion.jsondocuments 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.
Pipeline
Section titled “Pipeline”Python DSL / Text DSL → Fluxion JSON / Scene Graph → Timeline / Animation IR → Web Runtime → SVG previewNext steps
Section titled “Next steps”- Start with the Getting Started guide.
- Use the Playground tour to learn the browser editor.
- Begin authoring with either Python DSL or Text DSL reference.
- Inspect the IR shape in Fluxion JSON / Scene Graph and Timeline.
Documentation source of truth
Section titled “Documentation source of truth”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.