manimgl-best-practices

Trigger when: (1) User mentions "manimgl" or "ManimGL" or "3b1b manim", (2) Code contains `from manimlib import *`, (3) User runs `manimgl` CLI commands, (4) Working with InteractiveScene, self.frame, self.embed(), ShowCreation(), or ManimGL-specific patterns. Best practices for ManimGL (Grant Sande

By adithya-s-k · 1,795 installs

npx skills add adithya-s-k/manim_skill --skill manimgl-best-practices

Source repository · Upstream listing

How to use Read individual rule files for detailed explanations and code examples: Core Concepts [rules/scenes.md](rules/scenes.md) InteractiveScene, Scene types, and construct method [rules/mobjects.md](rules/mobjects.md) Mobject types, VMobject, Groups, and positioning [rules/animations.md](rules/animations.md) Animation classes, playing animations, and timing Creation & Transformation [rules/creation animations.md](rules/creation animations.md) ShowCreation, Write, FadeIn, DrawBorderThenFill [rules/transform animations.md](rules/transform animations.md) Transform, ReplacementTransform, TransformMatchingTex [rules/animation groups.md](rules/animation groups.md) LaggedStart, Succession, AnimationGroup Text & Math [rules/tex.md](rules/tex.md) Tex class, raw strings R"...", and LaTeX rendering [rules/text.md](rules/text.md) Text mobjects, fonts, and styling [rules/t2c.md](rules/t2c.md) tex to color map (t2c) for coloring math expressions Styling & Appearance [rules/colors.md](rules/colors.md) Color constants, gradients, RGB, hex, GLSL coloring [rules/styling.md](rules/styling.md) Fill, stroke, opacity, backstroke, gloss, shadow 3D & Camera [rules/3d.md](rules/3d.md) 3D objects, surfaces, Sphere, Torus, parametric surfaces, lighting [rules/camera.md](rules/camera.md) frame.reorient(), Euler angles, fix in frame(), camera animations Interactive Development [rules/interactive.md](rules/interactive.md) Interactive mode with se flag, checkpoint paste() [rules/frame.md](rules/frame.md) self.frame, camera control, reorient, and zooming [rules/embedding.md](rules/embedding.md) self.embed() for IPython debugging, touch() mode Configuration & CLI [rules/cli.md](rules/cli.md) manimgl command, flags ( w, o, se, l, h), rendering options [rules/config.md](rules/config.md) custom config.yml, directories, camera settings, quality presets Working Examples Complete, tested example files demonstrating common patterns: [examples/basic animations.py](examples/basic animations.py) Basic shapes, text, and animations [examples/math visualization.py](examples/math visualization.py) LaTeX equations and mathematical content [examples/graph plotting.py](examples/graph plotting.py) Axes, functions, and graphing [examples/3d visualization.py](examples/3d visualization.py) 3D scenes with camera control and surfaces [examples/updater patterns.py](examples/updater patterns.py) Dynamic animations with updaters Scene Templates Copy and modify these templates to start new projects: [templates/basic scene.py](templates/basic scene.py) Standard 2D scene template [templates/interactive scene.py](templates/interactive scene.py) InteractiveScene with self.embed() [templates/3d scene.py](templates/3d scene.py) 3D scene with frame.reorient() [templates/math scene.py](templates/math scene.py) Mathematical derivations and equations Quick Reference Basic Scene Structure Render Command Key Differences from ManimCE Feature ManimGL (3b1b) Manim Community Import from manimlib import from manim import CLI manimgl manim Math text Tex(R"\pi") MathTex(r"\pi") Scene InteractiveScene Scene Create anim ShowCreation Create Camera self.frame self.camera.frame Fix in frame mob.fix in frame() self.add fixed in frame mobjects(mob) Package manimgl (PyPI) manim (PyPI) Interactive Development Workflow ManimGL's killer feature is interactive development: In interactive mode: Camera Control (self.frame) LaTeX with Tex class Common Patterns Embedding for debugging Set floor plane for 3D Backstroke for text readability Installation Common Pitfalls to Avoid 1. Version confusion Ensure you're using manimgl , not manim (community version) 2. ShowCreation vs Create ManimGL uses ShowCreation , not Create 3. Tex vs MathTex ManimGL uses Tex with capital R raw strings 4. self.frame vs self.camera.frame ManimGL uses self.frame directly 5. fix in frame() Call on the mobject, not the scene 6. Interactive mode Use se flag for interactive development License & Attribution This skill contains example code adapted from [3Blue1Brown's video repository](https://github.com/3b1b/videos) by Grant Sanderson. License: [CC BY NC SA 4.0](https://creativecommons.org/licenses/by nc sa/4.0/) Attribution required Credit both 3Blue1Brown and the adapter NonCommercial Not for commercial use ShareAlike Derivatives must use the same license See [LICENSE.txt](LICENSE.txt) for full details.