| name | manimce-best-practices |
| description | Trigger when: (1) User mentions "manim" or "Manim Community" or "ManimCE", (2) Code contains `from manim import *`, (3) User runs `manim` CLI commands, (4) Working with Scene, MathTex, Create(), or ManimCE-specific classes.
Best practices for Manim Community Edition - the community-maintained Python animation engine. Covers Scene structure, animations, LaTeX/MathTex, 3D with ThreeDScene, camera control, styling, and CLI usage.
NOT for ManimGL/3b1b version (which uses `manimlib` imports and `manimgl` CLI).
|
How to use
Read individual rule files for detailed explanations and code examples:
Core Concepts
Creation & Transformation
Text & Math
Styling & Appearance
Positioning & Layout
Coordinate Systems & Graphing
Animation Control
Configuration & CLI
Shapes & Geometry
Working Examples
Complete, tested example files demonstrating common patterns:
- examples/basic_animations.py - Shape creation, text, lagged animations, path movement
- examples/math_visualization.py - LaTeX equations, color-coded math, derivations
- examples/updater_patterns.py - ValueTracker, dynamic animations, physics simulations
- examples/graph_plotting.py - Axes, functions, areas, Riemann sums, polar plots
- examples/3d_visualization.py - ThreeDScene, surfaces, 3D camera, parametric curves
Scene Templates
Copy and modify these templates to start new projects:
Quick Reference
Basic Scene Structure
from manim import *
class MyScene(Scene):
def construct(self):
circle = Circle()
self.add(circle)
self.play(Create(circle))
self.wait(1)
Render Command
manim -pql scene.py MyScene
manim -pqh scene.py MyScene
Key Differences from 3b1b/ManimGL
| Feature | Manim Community | 3b1b/ManimGL |
|---|
| Import | from manim import * | from manimlib import * |
| CLI | manim | manimgl |
| Math text | MathTex(r"\pi") | Tex(R"\pi") |
| Scene | Scene | InteractiveScene |
| Package | manim (PyPI) | manimgl (PyPI) |
Jupyter Notebook Support
Use the %%manim cell magic:
%%manim -qm MyScene
class MyScene(Scene):
def construct(self):
self.play(Create(Circle()))
Common Pitfalls to Avoid
- Version confusion - Ensure you're using
manim (Community), not manimgl (3b1b version)
- Check imports -
from manim import * is ManimCE; from manimlib import * is ManimGL
- Outdated tutorials - Video tutorials may be outdated; prefer official documentation
- manimpango issues - If text rendering fails, check manimpango installation requirements
- PATH issues (Windows) - If
manim command not found, use python -m manim or check PATH
Installation
pip install manim
manim checkhealth
Useful Commands
manim -pql scene.py Scene
manim -pqh scene.py Scene
manim --format gif scene.py
manim checkhealth
manim plugins -l