manimgl-best-practices

Provide best-practice guidance for authoring and debugging ManimGL scene code.

46.2k|5.7k|Updated Mar 29, 2026
One-click install
npx skills add https://github.com/calesthio/OpenMontage --skill manimgl-best-practices-calesthio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: manimgl-best-practices
Source: https://github.com/calesthio/OpenMontage/tree/main/.agents/skills/manimgl-best-practices
Command: npx skills add https://github.com/calesthio/OpenMontage --skill manimgl-best-practices-calesthio

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Provides concise, practical guidance and reusable templates for authors working with ManimGL (3Blue1Brown's manimlib/manimgl). It reduces confusion between ManimGL and Manim Community Edition, helps debug interactive sessions, and speeds up creating robust 2D/3D animations by documenting camera/frame patterns, Tex conventions, animation idioms, and the manimgl CLI interactive workflows.

Core Features & Use Cases

  • Comprehensive reference for ManimGL-specific differences: imports (from manimlib import *), ShowCreation vs Create, Tex/t2c usage, and InteractiveScene patterns.
  • Interactive development workflows: guidance on using the -se interactive flag, checkpoint_paste(), self.embed(), touch() controls, and frame/self.frame camera management.
  • Practical templates and examples: ready-to-run scene templates, 3D camera patterns, animation groups, creation/transform examples, and complete scene implementations for learning and rapid prototyping.
  • Configuration & CLI advice: recommended custom_config.yml structure, quality presets, and common manimgl commands for development and final renders.
  • Licensing and attribution notes for CC BY-NC-SA adapted examples to ensure correct reuse and attribution.

Quick Start

Paste a ManimGL scene that imports from manimlib and ask for a review focused on InteractiveScene patterns, self.frame camera control, Tex/t2c usage, and manimgl -se interactive debugging tips.

Frequently Asked Questions about manimgl-best-practices

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control the camera in ManimGL using self.frame for 3D animations?

Use the self.frame object to adjust camera position, scale, and angle for 3D camera animations in ManimGL. This provides direct viewport control within InteractiveScene workflows.

What is the difference between ShowCreation and Create in ManimGL?

ShowCreation is the ManimGL-specific animation for drawing vectorized objects, while Create belongs to Manim Community Edition. Using Create in a manimlib scene will cause execution errors.

How do I debug ManimGL scenes interactively using the -se flag?

Run manimgl with the -se flag to launch an InteractiveScene session. Use checkpoint_paste() and self.embed() within this interactive environment to inspect and modify scene objects on the fly.

How do I use Tex and t2c for math text formatting in manimlib?

Use the Tex class for LaTeX rendering and apply targeted coloring via the t2c dictionary argument to highlight specific substrings. This ensures proper math text formatting in 3b1b-style animations.

ManimGL vs Manim Community Edition: which library should I use for 3b1b animations?

Use ManimGL (manimlib) for 3b1b-style animations to access InteractiveScene workflows, self.frame camera control, and specific Tex conventions. Manim Community Edition is a separate fork with different APIs lacking these native interactive features.

Do I need to attribute 3Blue1Brown examples adapted under CC BY-NC-SA?

Yes, adapted 3Blue1Brown examples require correct attribution under the CC BY-NC-SA license. Providing licensing notes ensures legal compliance when reusing and modifying 3b1b-style animation templates.