SkillAgentSearch skills...

EfficientManim

πŸš€πŸŽ¬ Node-based Manim IDE with AI-powered animation generation

Install / Use

/learn @programmersd21/EfficientManim

README

🌿 EfficientManim

<p align="center"> <img src="icon/icon.ico" alt="EfficientManim Icon" width="80"/> </p> <p align="center"> <a href="https://github.com/programmersd21/EfficientManim"><img src="https://img.shields.io/badge/Python-3.10+-3776ab?style=for-the-badge&logo=python&logoColor=white" alt="Python"/></a> <a href="https://ideacred.com/submissions" target="_blank" rel="noopener noreferrer"> <img src="https://ideacred.com/api/badge/programmersd21/EfficientManim?style=for-the-badge" alt="IdeaCred"></a> <a href="https://www.manim.community/"><img src="https://img.shields.io/badge/Manim-Community-4caf50?style=for-the-badge" alt="Manim"/></a> <a href="https://github.com/programmersd21/EfficientManim/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-f59e0b?style=for-the-badge" alt="MIT License"/></a> <a href="https://www.reddit.com/r/manim/comments/1qck0ji/i_built_a_nodebased_manim_ide_with_ai_assistance/"><img src="https://img.shields.io/badge/Reddit-Discussion-ff4500?style=for-the-badge&logo=reddit&logoColor=white" alt="Reddit"/></a> </p> <p align="center"> <strong>✨🌿 A node-based visual IDE for mathematical animations β€” with AI tooling, a structured history system, and a built-in explanation engine for students and teachers. 🎊🎯</strong> </p>

✨ What It Is

EfficientManim turns Manim from a code-only tool into a visual, AI-augmented workspace. Wire Mobjects and animations together on an infinite canvas, generate scenes from plain English or PDF slides, and get structured explanations for every move β€” all without leaving the editor.


πŸš€ Features

🎬 Node-Based Visual Workflow

Drag-and-drop Mobjects and Animations onto an infinite canvas, connect them with smart wires, and watch your scene graph come alive. Wire validation runs automatically, and live static previews update as you build.

  • 60+ Manim classes across 8 categories (Geometry, Text, Graphs, 3D, Animations…), searchable in real time via the Manim Class Browser
  • Multiple Scenes per project β€” create, rename, delete, and switch between them in the Scenes tab; each scene carries its own node graph and auto-saves state on switch
  • VGroup Utility β€” select Mobject nodes β†’ click Create VGroup β†’ get auto-generated VGroup(...) code displayed in an expandable tree
  • Recents Panel β€” top-5 Mobjects and top-5 Animations tracked per session, persisted to ~/.efficientmanim/usage.json; double-click to add instantly

πŸ€– AI Features

Prompt β†’ Manim

Describe an animation in plain English. Get runnable Manim code.

πŸ“„ PDF Slide Animation

Upload one or more PDFs. The AI parses each slide, builds an animation plan, and produces both Manim code and a ready-to-edit node graph β€” turning a static lecture deck into a structured animated scene.

πŸŽ™οΈ AI Voiceover Studio

TTS generation with multi-voice support and automatic duration syncing to animation timing.

πŸ™ GitHub Snippet Loader

Clone any GitHub repo into ~/.efficientmanim/snippets/, browse .py files, and double-click to load a snippet directly into the AI panel. All repos repopulate on startup automatically.


🧠 Explain This Animation

Select a scene, a group of nodes, or a single animation β€” then hit 🧠 Explain in the main toolbar. The system produces a clear, student-friendly explanation of what the animation is doing and why.

| Mode | What You Get | |------|-------------| | Simple | Short, intuition-first summary | | Detailed | Full step breakdown with conceptual reasoning |

Copy or regenerate instantly from the Explain Panel. Explanations can also be triggered programmatically via MCP (explain.scene, explain.selected_nodes).


πŸŽ“ Learning Mode

Learning Mode watches what you build and fires micro-explanations as you go β€” turning the editor into a live tutor.

Triggers automatically when you:

  • Add axes, graphs, or equations
  • Apply transformations
  • Attach tangent lines, slopes, or area visuals
  • Hit a checkpoint or land a large batch addition

Default: OFF (to keep the workspace quiet for experienced users).
Enable: Settings β†’ Learning Mode β†’ Enable Learning Mode.


πŸ‘©πŸ« Teacher Mode

Generate a full structured lesson from the current scene in one click.

Output includes:

  • Concept explanation
  • Visual explanation tied to the animation
  • Step-by-step teaching script
  • Student-friendly notes
  • Key takeaways

Export as: Markdown (.md), plain text (.txt), or copy to clipboard.
Enable: Settings β†’ Teacher Mode β†’ Enable Teacher Mode.


πŸ•°οΈ History-Powered Explanations

The rewritten HistoryManager captures grouped atomic operations β€” AI merges, property edits, motion, wiring β€” with per-node undo/redo stacks and project/scene/node checkpoints.

The explanation engine hooks directly into history:

  • Explain a checkpoint state β€” what did the scene look like at this moment?
  • Explain a diff β€” what changed between two checkpoints?
  • Explain an undo/redo action β€” in plain student language, not code

See docs/history_system.md for the full data model and checkpoint API.


🧭 MCP Command Interface

Every action in EfficientManim β€” node edits, wires, VGroups, scenes, rendering, assets, AI workflows, themes, keybindings, TTS, explanations, Learning Mode, Teacher Mode β€” is scriptable via structured JSON through the MCP command layer.

// Example
{ "command": "explain.scene", "mode": "detailed" }
{ "command": "teacher_mode.generate_lesson", "export": "markdown" }
{ "command": "history.restore_checkpoint", "id": "chk_42" }

Full reference in docs/mcp_commands.md.


🎨 Workspace & Polish

| Feature | Detail | |---------|--------| | Dark / Light Themes | Full dark mode, QSS-based with a ColorToken system, toggled via Ctrl+T or Settings | | Tooltips Everywhere | Every button, panel, and action has a tooltip β€” the UI is self-explanatory | | Editable Keybindings | Help β†’ Edit Keybindings… Double-click any shortcut to rebind; duplicate detection included | | Editable Project Name | Rename the .efp file from a textbox in the top-right corner β€” no file manager required | | Portable .efp Format | ZIP-based project bundle: nodes, wires, images, sounds, and video assets in one file | | Professional Rendering | Full scene export to MP4/WebM β€” up to 4K, 15–60 FPS, multiple quality presets |


⌨️ Keyboard Shortcuts

| Action | Shortcut | |--------|----------| | New Project | Ctrl+N | | Open Project | Ctrl+O | | Save Project | Ctrl+S | | Save As | Ctrl+Shift+S | | Exit | Ctrl+Q | | Undo | Ctrl+Z | | Redo | Ctrl+Y | | Delete Selected | Del | | Fit View | Ctrl+0 | | Auto-Layout | Ctrl+L | | Export Code | Ctrl+E | | Copy Code | Ctrl+Shift+C | | Toggle Theme | Ctrl+T | | Edit Keybindings | Ctrl+, |

All shortcuts are fully editable via Help β†’ Edit Keybindings…


πŸ› οΈ Prerequisites

  • Python 3.10+
  • FFmpeg β€” required for video rendering (must be in PATH)
  • Git β€” optional, for the GitHub Snippet Loader
  • LaTeX β€” optional, for local LaTeX rendering

πŸ“¦ Installation

git clone https://github.com/programmersd21/EfficientManim.git
cd EfficientManim
pip install -r requirements.txt
python main.py

Manual install:

pip install manim PySide6 google-genai pydub requests numpy pdfplumber regex

πŸ“Έ Gallery

| | | |---|---| | Starting up | Blank node canvas | | Launch and initialize the workspace | A clean canvas ready for composition | | Recents Menu | Tinkering with Nodes | | Recents panel β€” jump back in fast | Manipulate nodes interactively | | Searching for elements | GitHub snippets panel | | Real-time element search | GitHub snippets at your fingertips | | Selecting a GitHub snippet | Loading the snippet | | Selecting a snippet from a cloned repo | Loading external code into the workspace | | Quickly previewing | Rendered output | | Instant preview for fast iteration | Final rendered output in the node canvas |


πŸ“š Documentation

| File | Contents | |------|----------| | docs/explain_system.md | Explain Panel architecture and extension guide | | docs/history_system.md | History data model, checkpoint API, and history-powered explanations | | docs/mcp_commands.md | Full MCP command reference β€” every command, payload, and sample response | | docs/README.md | Architectural overview, project structure, and design decisions |


πŸ’¬ Community

Discuss the project on Reddit: r/manim β€” I built a node-based Manim IDE with AI assistance


<p align="center">Made with β€οΈπŸ’šπŸ’™ by Soumalya Β· <a href="https://github.com/programmersd21">@programmersd21</a></p>
View on GitHub
GitHub Stars21
CategoryEducation
Updated2d ago
Forks1

Languages

Python

Security Score

95/100

Audited on Apr 1, 2026

No findings