Skip to content

Commit 5b9c221

Browse files
update
1 parent eff37ed commit 5b9c221

2 files changed

Lines changed: 188 additions & 22 deletions

File tree

README.md

Lines changed: 188 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,188 @@
1-
# EfficientManim
2-
3-
EfficientManim is a node-based Manim editor that helps you build mathematical animations visually, preview quickly, and export clean Python code.
4-
5-
## Highlights
6-
- Visual graph editor for Mobjects and Animations
7-
- Live preview rendering for quick iteration
8-
- Video render pipeline with quality presets
9-
- Gemini-powered helpers for code generation and voiceover
10-
11-
## Quick Start
12-
1. Install dependencies:
13-
```bash
14-
pip install -r requirements.txt
15-
```
16-
2. Run the app:
17-
```bash
18-
python main.py
19-
```
20-
21-
## Documentation
22-
See `docs/README.md` for architecture, workflow, and developer guidance.
1+
# 🌿 EfficientManim — The Ultimate Node-Based Manim IDE
2+
3+
![Icon](icon/icon.ico)
4+
5+
**🌈 Create mathematical animations visually with the power of Python, AI, and Production-Grade Type Safety.**
6+
7+
---
8+
9+
## 🚀 Key Features
10+
11+
### 🎬 Node-Based Visual Workflow
12+
- **Visual Editor:** Drag-and-drop Mobjects and Animations with intuitive wiring
13+
- **Infinite Canvas:** Pan and zoom freely to manage large node graphs
14+
- **Live Preview:** Real-time static previews of individual nodes
15+
- **Smart Connections:** Automatic wire validation and scene synchronization
16+
17+
### 🎯 Tooltips
18+
19+
* Every button, panel, and action now includes a clear tooltip
20+
* Instantly understand what anything does without searching the documentation
21+
* Faster navigation, fewer mistakes, and a smoother workflow
22+
* The interface becomes self-explanatory, even for first-time users
23+
24+
This makes the app easier to learn, faster to use, and far more intuitive overall.
25+
26+
### 🎬 Multiple Scenes
27+
- Manage multiple scenes per project in the **Scenes** tab
28+
- Create, rename, delete, and switch between scenes — each with its own node graph
29+
- Scene state auto-saved and restored when switching
30+
31+
### 📦 VGroup Utility
32+
- Select Mobject nodes → click **Create VGroup** in the **VGroups** tab
33+
- VGroup code automatically generated: `group_1 = VGroup(circle_1, square_1)`
34+
- Groups shown in expandable tree view
35+
36+
### 🤖 Gemini AI Code Generation
37+
- Describe animations in plain English — AI generates Manim code
38+
- AI code parsed into editable nodes with correct wiring
39+
- Streaming responses with real-time feedback
40+
41+
### 🎙️ AI-Powered Voiceover Studio
42+
- Gemini TTS Integration with multi-voice support (Zephyr, Puck, Fenrir, etc.)
43+
- Auto-sync animation duration to audio length
44+
45+
### 🐙 GitHub Snippet Loader
46+
- Clone any GitHub repository into `~/.efficientmanim/snippets/`
47+
- Browse `.py` files; double-click to load into AI panel as snippet
48+
- All cloned repos automatically repopulated on startup
49+
50+
### ⭐ Recents Panel
51+
- Top-5 most-used Mobjects + top-5 most-used Animations tracked per session
52+
- Persisted to `~/.efficientmanim/usage.json`
53+
- Double-click to instantly add to canvas
54+
55+
### ⌨️ Editable Keybindings
56+
- **Help → Edit Keybindings…** opens the keybindings editor
57+
- Double-click any shortcut to change it
58+
- Duplicate detection; changes persisted to QSettings
59+
60+
### 📁 Editable Project Name
61+
- Project name textbox in the top-right corner of the window
62+
- Rename your `.efp` file without leaving the editor
63+
64+
### 📦 Portable Project Format (.efp)
65+
- Bundled images, sounds, and videos included
66+
- ZIP-based, cross-platform, easy to share
67+
68+
### 🌓 Dark / Light Themes
69+
- Full dark mode with no white bleed-through
70+
- Switch via the theme button in the corner or Settings
71+
- QSS-based styling with ColorToken system
72+
73+
### 🎨 Manim Class Browser
74+
- 60+ Manim classes in 8 categories (Geometry, Text, Graphs, 3D, Animations, etc.)
75+
- Search bar filters in real-time
76+
- Double-click or drag to add node to canvas
77+
78+
### 🎬 Professional Video Rendering
79+
- Full scene export to MP4/WebM
80+
- Up to 4K resolution, 15–60 FPS, quality presets
81+
82+
---
83+
84+
## ✨ For more information
85+
86+
See [here](docs/README.md)
87+
88+
---
89+
90+
## 🏠 Start
91+
92+
Run `python main.py` to open home screen and open the editor directly.
93+
94+
---
95+
96+
## ⌨️ Keyboard Shortcuts
97+
98+
| Action | Shortcut |
99+
|--------|----------|
100+
| New Project | `Ctrl+N` |
101+
| Open Project | `Ctrl+O` |
102+
| Save Project | `Ctrl+S` |
103+
| Save As | `Ctrl+Shift+S` |
104+
| Exit | `Ctrl+Q` |
105+
| Undo | `Ctrl+Z` |
106+
| Redo | `Ctrl+Y` |
107+
| Delete Selected | `Del` |
108+
| Fit View | `Ctrl+0` |
109+
| Auto-Layout | `Ctrl+L` |
110+
| Export Code | `Ctrl+E` |
111+
| Copy Code | `Ctrl+Shift+C` |
112+
| Toggle Theme | `Ctrl+T` |
113+
| Edit Keybindings | `Ctrl+,` |
114+
115+
All shortcuts are editable via **Help → Edit Keybindings…**
116+
117+
---
118+
119+
## 🛠️ Prerequisites
120+
121+
1. **Python 3.10+**
122+
2. **FFmpeg** — for video rendering (must be in PATH)
123+
3. **Git** — optional, for GitHub Snippet Loader
124+
4. **LaTeX** — optional, for local LaTeX rendering
125+
126+
## 📦 Installation
127+
128+
```bash
129+
git clone https://github.com/pro-grammer-SD/EfficientManim.git
130+
cd EfficientManim
131+
pip install -r requirements.txt
132+
python main.py
133+
```
134+
135+
Manual install:
136+
```bash
137+
pip install manim PySide6 google-genai pydub requests numpy
138+
```
139+
140+
---
141+
142+
## 📸 Gallery
143+
144+
### Overview & Setup
145+
146+
![Starting up](gallery/1.png)
147+
Launch the application and initialize the workspace.
148+
149+
![Blank node canvas](gallery/2.png)
150+
Start with a clean node canvas, ready for composition and design.
151+
152+
![Recents Menu](gallery/3.png)
153+
Quickly access recently opened projects and elements from the Recents panel.
154+
155+
---
156+
157+
### Customization & Rendering
158+
159+
![Tinkering with Nodes](gallery/4.png)
160+
Manipulate nodes interactively to refine workflows and structures.
161+
162+
![Searching for elements](gallery/5.png)
163+
Use the search tool to locate elements and components efficiently.
164+
165+
![GitHub snippets panel](gallery/6.png)
166+
Access GitHub snippets directly for rapid code reuse and integration.
167+
168+
---
169+
170+
### Features in Action
171+
172+
![Selecting a GitHub snippet](gallery/7.png)
173+
Select a snippet from GitHub to integrate seamlessly into your project.
174+
175+
![Loading the snippet](gallery/8.png)
176+
Load and insert external code dynamically into the workspace.
177+
178+
![Quickly previewing with the handy Preview tab](gallery/9.png)
179+
Preview your work instantly for faster iteration and verification.
180+
181+
![Rendered snippet output](gallery/10.png)
182+
View the resulting output, demonstrating final rendering in the node canvas.
183+
184+
---
185+
186+
Made with lots of ❤️💚💙 by Soumalya a.k.a. @pro-grammer-SD
187+
188+
Discussions: https://www.reddit.com/r/manim/comments/1qck0ji/i_built_a_nodebased_manim_ide_with_ai_assistance/

gallery/1.png

-44.1 KB
Loading

0 commit comments

Comments
 (0)