manim-fundamentalslisted
Install: claude install-skill choxos/MathVizAgent
# Manim Fundamentals
Core concepts for Manim Community Edition v0.20.1.
## Scene Lifecycle
### Scene Structure
```python
class MyScene(Scene):
def setup(self):
"""Called once before construct()
- Initialize instance variables
- Create shared objects
- Set up tracking systems
"""
self.tracked_objects = []
def construct(self):
"""Main scene logic
- Create mobjects
- Define animations
- Control timing
"""
circle = Circle()
self.play(Create(circle))
def tear_down(self):
"""Called after construct()
- Cleanup (rarely needed)
"""
pass
```
### Scene Types
| Scene Type | Use Case | Camera |
|------------|----------|--------|
| `Scene` | Standard 2D animations | Static |
| `MovingCameraScene` | 2D with zoom/pan | Movable 2D |
| `ThreeDScene` | 3D animations | 3D rotation |
| `ZoomedScene` | Picture-in-picture zoom | Zoom inset |
## Mobject Hierarchy
### Base Classes
```
Mobject (base)
├── VMobject (vector)
│ ├── VGroup
│ ├── Text, Tex, MathTex
│ ├── Circle, Square, Rectangle
│ ├── Line, Arrow, DashedLine
│ ├── Axes, NumberPlane
│ └── Graph, BarChart
├── ImageMobject
├── Group
└── ValueTracker
```
### VGroup - Container for VMobjects
```python
# Create VGroup
group = VGroup(circle, square, triangle)
# Access elements
group[0] # first element
group[-1] # last element
# Add/remove
group.add(new_element)
group.remov