manimce-best-practices▌
adithya-s-k/manim_skill · updated Apr 8, 2026
Best practices and patterns for Manim Community Edition, the Python animation engine for mathematical visualizations.
- ›Covers Scene structure, mobject types, 15+ animation classes, and LaTeX/MathTex rendering with color control
- ›Includes 3D support via ThreeDScene, camera manipulation, updaters with ValueTracker, and coordinate systems (Axes, NumberPlane)
- ›Provides organized rule files for core concepts, text/math, styling, positioning, timing, and CLI usage with quality flags
- ›Includ
How to use
Read individual rule files for detailed explanations and code examples:
Core Concepts
- rules/scenes.md - Scene structure, construct method, and scene types
- rules/mobjects.md - Mobject types, VMobject, Groups, and positioning
- rules/animations.md - Animation classes, playing animations, and timing
Creation & Transformation
- rules/creation-animations.md - Create, Write, FadeIn, DrawBorderThenFill
- rules/transform-animations.md - Transform, ReplacementTransform, morphing
- rules/animation-groups.md - AnimationGroup, LaggedStart, Succession
Text & Math
- rules/text.md - Text mobjects, fonts, and styling
- rules/latex.md - MathTex, Tex, LaTeX rendering, and coloring formulas
- rules/text-animations.md - Write, AddTextLetterByLetter, TypeWithCursor
Styling & Appearance
- rules/colors.md - Color constants, gradients, and color manipulation
- rules/styling.md - Fill, stroke, opacity, and visual properties
Positioning & Layout
- rules/positioning.md - move_to, next_to, align_to, shift methods
- rules/grouping.md - VGroup, Group, arrange, and layout patterns
Coordinate Systems & Graphing
- rules/axes.md - Axes, NumberPlane, coordinate systems
- rules/graphing.md - Plotting functions, parametric curves
- rules/3d.md - ThreeDScene, 3D axes, surfaces, camera orientation
Animation Control
- rules/timing.md - Rate functions, easing, run_time, lag_ratio
- rules/updaters.md - Updaters, ValueTracker, dynamic animations
- rules/camera.md - MovingCameraScene, zoom, pan, frame manipulation
Configuration & CLI
- rules/cli.md - Command-line interface, rendering options, quality flags
- rules/config.md - Configuration system, manim.cfg, settings
Shapes & Geometry
- rules/shapes.md - Circle, Square, Rectangle, Polygon, and geometric primitives
- rules/lines.md - Line, Arrow, Vector, DashedLine, and connectors
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:
- templates/basic_scene.py - Standard 2D scene template
- templates/camera_scene.py - MovingCameraScene with zoom/pan
- templates/threed_scene.py - 3D scene with surfaces and camera rotation
Quick Reference
Basic Scene Structure
from manim import *
class MyScene(Scene):
def construct(self):
# Create mobjects
circle = Circle()
# Add to scene (static)
self.add(circle)
# Or animate
self.play(Create(circle))
# Wait
self.wait(1)
Render Command
# Basic render with preview
manim -pql scene.py MyScene
# Quality flags: -ql (low), -qm (medium), -qh (high), -qk (4k)
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), notmanimgl(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
manimcommand not found, usepython -m manimor check PATH
Installation
# Install Manim Community
pip install manim
# Check installation
manim checkhealth
Useful Commands
manim -pql scene.py Scene # Preview low quality (development)
manim -pqh scene.py Scene # Preview high quality
manim --format gif scene.py # Output as GIF
manim checkhealth # Verify installation
manim plugins -l # List plugins
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.5★★★★★58 reviews- ★★★★★Chen Menon· Dec 28, 2024
manimce-best-practices fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Ganesh Mohane· Dec 16, 2024
Useful defaults in manimce-best-practices — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Naina Johnson· Dec 16, 2024
We added manimce-best-practices from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Advait Torres· Nov 19, 2024
Registry listing for manimce-best-practices matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Sakshi Patil· Nov 7, 2024
manimce-best-practices is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Valentina Gill· Nov 7, 2024
manimce-best-practices reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Chaitanya Patil· Oct 26, 2024
Keeps context tight: manimce-best-practices is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Mateo Lopez· Oct 26, 2024
Registry listing for manimce-best-practices matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Noah Sethi· Oct 10, 2024
manimce-best-practices reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Mateo Perez· Sep 21, 2024
Useful defaults in manimce-best-practices — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
showing 1-10 of 58