- Home
- Skills
- Adithya S K
- Manim Skill
- Manimgl Best Practices
manimgl-best-practices_skill
- Python
390
GitHub Stars
2
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill adithya-s-k/manim_skill --skill manimgl-best-practices- LICENSE.txt1.5 KB
- SKILL.md7.3 KB
Overview
This skill provides concise best practices for developing animations with ManimGL (Grant Sanderson's 3Blue1Brown version). It focuses on InteractiveScene workflows, camera/frame control, Tex/t2c usage, 3D rendering, and the interactive checkpoint_paste() loop. Use it when your code or commands match ManimGL patterns (from manimlib imports, manimgl CLI, InteractiveScene, self.frame, ShowCreation, etc.).
How this skill works
The skill inspects code and conversation for ManimGL-specific indicators (imports, CLI usage, class names, and API calls) and responds with targeted guidance. It highlights correct classes and functions (e.g., InteractiveScene, ShowCreation, Tex, frame.reorient()) and contrasts common ManimGL vs ManimCE differences. It also suggests interactive development steps, camera techniques, and common pitfalls to avoid.
When to use it
- You mention "manimgl", "ManimGL" or "3b1b manim"
- Code contains from manimlib import * or ManimGL-specific imports
- You run manimgl CLI commands or flags (-se, -w, -l)
- You use InteractiveScene, self.frame, self.embed(), checkpoint_paste(), or ShowCreation()
- Working on 3D scenes that use frame.reorient(), set_floor_plane(), or fix_in_frame()
Best practices
- Prefer InteractiveScene for iterative development and use manimgl -se to jump into the interpreter for quick feedback.
- Use checkpoint_paste(skip=True) to test layout instantly and checkpoint_paste(record=True) to capture recordings during exploration.
- Always use Tex with raw R"..." strings and tex_to_color_map (t2c) or set_color_by_tex to color math reliably.
- Control the camera with self.frame (reorient, animate.reorient) and call mob.fix_in_frame() for HUD elements that must stay screen-fixed.
- Use ShowCreation, Write, FadeIn, DrawBorderThenFill for builds—ManimGL uses ShowCreation rather than Create.
- Keep config in custom_config.yml and use -l for fast low-quality renders while iterating.
Example use cases
- Iteratively composing a proof animation using InteractiveScene, checkpoint_paste(), and Tex with t2c color maps.
- Building a 3D surface demo, orienting the camera via frame.reorient(), and fixing a title with fix_in_frame().
- Debugging animation timing by dropping into self.embed() after an initial play and adjusting durations interactively.
- Creating a sequence of constructions using ShowCreation and TransformMatchingTex to morph between related equations.
- Rapidly testing layouts with manimgl -se and checkpoint_paste(skip=True) before final rendering.
FAQ
Look for from manimlib import *, the manimgl CLI, InteractiveScene, ShowCreation, self.frame, and Tex usage. ManimCE uses from manim import *, Create, MathTex, and self.camera.frame.
How do I iterate quickly without re-rendering full videos?
Run manimgl scene.py Scene -se <line> to jump into an interactive session, use checkpoint_paste(skip=True) for instant layout checks, and use -l for low-quality renders during iteration.