Documentation

Python scene-writing docs for Manim Web

Learn the authoring model, follow actual Manim constraints, and copy known-good patterns that compile cleanly in Manim Web.

Actual Manim semanticsGuides for scene authorsNarrative-first scene design
Getting StartedGetting Started4 sections

Write Your First Scene

This is the shortest path from a blank script to a successful preview. It focuses on the Python scene shape, not on repository setup or deployment.

Minimal Scene

from manim import * class HelloScene(Scene):    def construct(self):        title = Text("Hello, Manim Web")        circle = Circle().shift(LEFT * 2)        square = Square().shift(RIGHT * 2)         self.play(FadeIn(title))        self.play(Create(circle), Create(square)) scene = HelloScene()scene.construct() 

Script Shape

The key pieces are a scene class, a construct() method, one or more mobjects, and a sequence of timeline actions. You usually create objects first, then add or animate them.

One renderable scene per file
Match real Manim project structure here: keep one renderable scene in each Python file. Use another file such as scratch_pad.py when you want a visual probe or alternate composition.
Narrate beats before code
Before writing animations, decide the order of ideas. A short sequence like hook, intuition, formalize, and reveal usually produces cleaner scenes than coding every object first and hoping a story appears later.

Preview Loop

The healthiest authoring loop is simple:

  1. Write a small scene.
  2. Preview it.
  3. Fix diagnostics or layout problems.
  4. Only add complexity once the current step is readable and stable.
Best practice
Start with very small scenes. A short scene with three clear objects teaches more than a complicated one that mixes layout, animation, and 3D all at once.
Pacing
After a meaningful reveal, add a short self.wait(). If the viewer is still reading while the next transform starts, the scene is moving too fast.

Where To Go Next

  • Learn the authoring mental model in Core Scene Model.
  • Use Objects and Layout when scenes start feeling visually unbalanced.
  • Use Examples and Patterns when you want known-good script structures.
  • Use the official Manim CE docs alongside these guides when you need upstream API specifics.