Every object type, every field, every animation, every setting — the whole schema in one place.
This is the exhaustive version of the reference section — every object type with every one of its fields, every animation kind with every one of its fields, and every project-level setting, all in one page. The other reference pages (Object types, Animations, Scene settings) cover the same ground with more narrative; this page trades narrative for completeness, so nothing is left out or summarized away.
Field types use plain names: number, string, boolean, point (an {x, y} pair), point3 (an {x, y, z} triple), color (a hex string or null for none). Where a field only accepts a fixed set of values, they're listed as a | b | c.
Every object in the project — every shape, every 3D solid, every chart — carries this same base set of fields, on top of whatever fields are specific to its type (listed type-by-type below).
Field
Type
Notes
id
string
unique, assigned on creation
type
string
the object type tag (circle, text, sphere, …)
name
string
shown in the Layers panel; freely renamable
space
"canvas" or unset
unset = lives in the main scene editor; "canvas" = lives in the separate Canvas studio workspace
position
point
center, in scene units
positionZ
number
depth in a 3D scene (default 0)
rotation
number
degrees, counter-clockwise about the z axis
rotationX, rotationY
number
degrees — 3D tilt/spin, also available on path objects
fixedInFrame
boolean
in a 3D scene, pins a 2D object to the screen instead of the 3D world
per-shape construction extras (coordinates, labels, medians, incircle, etc.) — see Object types for the full flag list
spawn
object or unset
procedural spawn — compiles this object into N copies via a Python for-loop, each shifted/rotated/scaled/recolored by an expression in the copy index i; see Procedural spawn
Procedural spawn
Set on any object (Info tab → "Procedural spawn") to turn one placed instance into count copies, each nudged by a rule evaluated at its own index i — the escape hatch for "200 dots following a rule" content, without writing custom Python.
Field
Type
Notes
count
number
total copies, including the base object itself (2–2000)
dxExpr, dyExpr
string or unset
Python expression in i — x/y offset for copy i
drotExpr
string or unset
Python expression in i — rotation in degrees
dscaleExpr
string or unset
Python expression in i — multiplies the template's own scale
colorExpr
string or null
Python expression in i and count, 0..1 — recolors along a two-stop gradient
Compiles to a single rewritten assignment: <var> = VGroup(*[<var>.copy().shift(...).rotate(...) for i in range(count)]) — a real Python local named count is bound just before the loop so colorExpr expressions like i / count resolve correctly. Leaving every expression field empty stacks every copy in the same spot (a warning is surfaced for that case).
The default color cycle
New shapes without an explicit color cycle through: MANIM blue #58C4DD, teal #5CD0B3, green #83C167, yellow #FFFF00, gold #F0AC5F, red #FC6255, maroon #C55F73, purple #9A72AC, white #FFFFFF, gray #888888.
Text & formula objects
text
Field
Type
text
string
fontSize
number
fontFamily
string
fontWeight
NORMAL | BOLD
italic
boolean
lineSpacing
number
align
left | center | right
mathtex
Field
Type
tex
string (LaTeX)
fontSize
number
texMode
mathtex | tex — mathtex renders in math mode, tex as raw LaTeX text mode
colorParts
{tex, color}[] or unset
lines
string[] or unset
linesShown
number or unset
A standalone mathtex with lines set is the "show several aligned steps at once, revealed one at a time" complement to derivation (which morphs ONE equation through states instead of stacking lines) — see Reveal an aligned derivation.
derivation
Field
Type
steps
string[] — one LaTeX string per state
step
number — current step index, keyframable to morph through the sequence
fontSize
number
Path & field objects
path
Field
Type
nodes
array of anchor points, each { x, y, hIn?, hOut? } — hIn/hOut are bezier handle offsets relative to the anchor
closed
boolean
Every anchor's x and y are independently keyframable as nodes.0.x, nodes.0.y, nodes.1.x, and so on.
layered_matrix
Field
Type
layers
string[] — one entry per z-stacked layer; rows separated by newlines, cells by |
layerGap
number — z distance between layers
fontSize
number
vector_field
Field
Type
xExpression, yExpression
string — the field's x/y component as a function of (x, y)
xRange, yRange
[number, number]
spacing
number — grid spacing between sampled arrows/streamlines
vectorScale
number — arrow length multiplier (renderStyle: "arrows") or stream line thickness (renderStyle: "streamlines")
renderStyle
arrows | streamlines or unset
2D shapes
circle
Field
Type
radius
number
ellipse
Field
Type
width, height
number
square
Field
Type
sideLength
number
cornerAngle
number, degrees — 90 = a true square, anything else skews it into a rhombus
rectangle / rounded_rectangle
Field
Type
width, height
number
cornerRadius
number — 0 for rectangle, positive for rounded_rectangle
cornerAngle
number, degrees — 90 = a true rectangle, anything else skews it into a parallelogram
triangle
Field
Type
baseLength
number — the base edge (A–B)
angleA
number, degrees — interior angle at the left base vertex
angleB
number, degrees — interior angle at the right base vertex
regular_polygon
Field
Type
sides
number
radius
number
polygon
Field
Type
points
point[] — explicit vertices, relative to center
arc / sector
Field
Type
radius
number
startAngle
number, degrees
angle
number, degrees — the sweep
arc has no fill by default (it's an open curve); sector fills the pie-slice wedge.
star
Field
Type
points
number — point count
outerRadius, innerRadius
number
annulus
Field
Type
innerRadius, outerRadius
number
annular_sector
Field
Type
innerRadius, outerRadius
number
startAngle
number, degrees
angle
number, degrees — the sweep
Lines, arrows, braces, dots
line / arrow / double_arrow / vector
Field
Type
start, end
point — endpoints relative to the object's center
tipLength
number — arrow-head length (arrow/double_arrow/vector only)
curved_arrow
Field
Type
start, end
point
angleAmount
number, degrees — how much the arc curves
brace
Field
Type
width
number — ignored when targetObjectId is set
direction
up | down | left | right
label
string — optional LaTeX label; compiles via Brace.get_tex(...)
axes, number_plane, complex_plane, and threed_axes can each carry a plots array — functions drawn on top of the coordinate system:
Field
Type
id
string
expression
string — a numpy expression in x
color
color
showFormula
boolean
visible
boolean
appear
{ start, duration } or null — a draw-on window on the timeline
anim
{ from, to, start, duration } or null — sweeps a parameter named a through the expression over that window
function_graph
Field
Type
expression
string — numpy expression in x
xRange
[number, number]
axesId
string or null — which axes object to plot on; null = the scene frame directly
showArea, areaFrom, areaTo
boolean, number, number — shaded area under the curve
showRiemann, riemannDx
boolean, number — Riemann rectangles and their width
showTangent, tangentX
boolean, number — a tangent line and where it touches
showDerivative
boolean — plots f′(x) alongside f(x)
showDomain, showRange
boolean
showRoots
boolean — marks x-intercepts
showMaximum, showMinimum
boolean
showIntegralValue
boolean — displays the numeric area value
showTracker, trackerX
boolean, number — a dot riding the curve at x = trackerX, keyframable to sweep it along (e.g. a limit or a moving particle) — needs axesId set, since placement uses axes.c2p(x, f(x))
showTrackerLabel
boolean — shows a live (x, f(x)) coordinate label next to the tracked dot
parametric_function
Field
Type
xExpression, yExpression
string — numpy expressions in t
tRange
[number, number]
axesId
string or null
3D objects
sphere
Field
Type
radius
number
ellipsoid
Field
Type
radiusX, radiusY, radiusZ
number — independent radius on each axis
No native Ellipsoid class exists in Manim, so this compiles to a unit Sphere stretched per axis: Sphere(radius=1).stretch(radiusX, dim=0).stretch(radiusY, dim=1).stretch(radiusZ, dim=2).
number — edge length for the four named Platonic presets
baseSide, pyramidHeight
number — base side length and apex height, used when solid = pyramid
vertices
point3[] — custom mesh vertices, used when solid = custom
faces
number[][] — custom faces as loops of vertex indices, used when solid = custom
The four named Platonic presets compile to Manim's own Tetrahedron/Octahedron/Dodecahedron/Icosahedron. pyramid has no dedicated Manim class either, so it compiles the same way a custom mesh does — a Polyhedron(vertex_coords=..., faces_list=...) built from 5 generated points (4 base corners + 1 apex).
threed_axes
Field
Type
xRange, yRange, zRange
[min, max, step]
width, height, depth
number
xLabel, yLabel, zLabel
string
includeNumbers
boolean
plots
array — same shape as axes plots, drawn in the xy-plane
showGridXY, showGridXZ, showGridYZ
boolean — background grid planes
surface3d
Field
Type
expression
string — numpy expression in x and y
xRange, yRange
[number, number]
resolution
number — mesh subdivision
fillA, fillB
color — checkerboard pattern colors
parametric_surface
Field
Type
xExpression, yExpression, zExpression
string — numpy expressions in u and v
uRange, vRange
[number, number]
resolution
number
fillA, fillB
color — checkerboard pattern colors
parametric_curve3d
Field
Type
xExpression, yExpression, zExpression
string — numpy expressions in t
tRange
[number, number]
line3d / arrow3d
Field
Type
start3d, end3d
point3
thickness
number — tube thickness
tipLength
number — cone-tip length (arrow3d only)
dot3d
Field
Type
radius
number
Media
image / svg
Field
Type
assetId
string — id of the uploaded asset
width, height
number
video
Field
Type
assetId
string — id of the uploaded video asset
width, height
number
trimStart, trimEnd
number — seconds trimmed from the start/end of the source clip
muted
boolean — mutes the clip's own audio
volume
number, 0–1 — the clip's own audio volume when not muted
An embedded video clip. Manim has no native video mobject, so this compiles to an ImageMobject whose pixel_array is swapped every frame by an add_updater that decodes the source with OpenCV (opencv-python-headless, bundled into both the cloud renderer and the desktop Render Agent) — frame selection is keyed by elapsed scene time × the source's own fps, so playback speed is correct even when the source clip's frame rate differs from the scene's. The clip's own audio (unless muted) is muxed with self.add_sound, starting at whichever moment the object actually appears on stage (its own intro animation's start time, or 0 if it has none). The canvas preview shows only a static placeholder — live video playback happens exclusively in the actual render.
Data & diagram objects
counter
Field
Type
value
number — the displayed number, keyframable to count up/down
decimals
number
fontSize
number
graph (network graph)
Field
Type
vertices
number — vertex count, placed evenly on a circle
edges
string — 1-based edge list, e.g. "1-2, 2-3"
layoutRadius
number
showLabels
boolean
Individual vertices/edges can be recolored over time with a graphStyle animation — see Kind: graphStyle.
table
Field
Type
content
string — rows on separate lines, cells separated by |
mathMode
boolean — render cells as LaTeX instead of plain text
fontSize
number
code
Field
Type
code
string
language
string
lineNumbers
boolean
fontSize
number
matrix
Field
Type
rows
string[][] — entries row-major, each a number or LaTeX string
bracket
square | paren | curly | bar | none
decimal
boolean — render as a decimal matrix
decimals
number
fontSize
number
bar_chart
Field
Type
labels
string — comma-separated
values
string — comma-separated
yMin, yMax, yStep
number
width, height
number
barColors
color[] — cycled across bars
showValues
boolean
pie_chart
Field
Type
labels
string — comma-separated
values
string — comma-separated proportions
radius
number
sliceColors
color[] — cycled across slices
showLabels, showPercentages
boolean
innerRadiusRatio
number — 0 = full pie, toward 1 = a thinner donut ring
box_plot
Field
Type
values
string — raw sample values, comma-separated (quartiles are computed from these, linear-interpolation method — the same convention as numpy/matplotlib's default)
width, height
number
orientation
horizontal | vertical
showOutliers
boolean — marks points beyond 1.5×IQR from Q1/Q3 as dots
showLabels
boolean — shows a median-value label
A five-number-summary box plot for probability/statistics content, not a native Manim mobject — compiles to a VGroup of Rectangle (the Q1–Q3 box), Line (median + whiskers), and optional Dots (outliers), built from the computed quartiles the same way pie_chart is hand-built from Sector wedges.
Teaching annotations & groups
callout
Field
Type
text
string
fontSize
number
mathMode
boolean — render as LaTeX instead of plain text
box
boolean — draw the rounded background box
pointer
boolean — draw a leader arrow to pointTo
pointTo
point — arrow target, relative to the callout's position
step
number — an optional "Step N" badge prefix; 0 = none
highlight
Field
Type
shape
box | ellipse | underline
width, height
number
group
Has no fields of its own beyond the shared fields — it's a container used to move/scale/rotate several objects together.
Animation events — shared fields
Every animation event on the timeline — regardless of kind — carries this base set of fields, on top of whatever's specific to its kind (below):
Field
Type
Notes
id
string
objectId
string
which object this event animates ("" for camera events)
UP | DOWN | LEFT | RIGHT — only used by GrowFromEdge
shift
point — slide direction/distance, only used by FadeIn/FadeOut
The full list of Manim animations
Entrances (bring the object from not-there to fully visible):
Name
What it does
Create
Draws the outline on, then fills
Write
Handwriting-style stroke-on (text/formulas)
DrawBorderThenFill
Traces the border, then the fill sweeps in
FadeIn
Opacity 0→1, optional shift slide
GrowFromCenter
Scales up from a point at its center
GrowFromEdge
Scales up from one edge (edge field picks which)
GrowArrow
Grows from tail to tip (arrows only)
SpinInFromNothing
Scales up while spinning in
AddTextLetterByLetter
Types on character by character (text only)
Exits (the reverse):
Name
What it does
FadeOut
Opacity 1→0
Uncreate
Un-draws the outline (reverse of Create)
Unwrite
Reverse handwriting stroke-off
ShrinkToCenter
Scales down to a point
RemoveTextLetterByLetter
Erases character by character
One-shot emphasis (plays in place, doesn't change presence):
Name
What it does
Flash
A light burst around it
Indicate
An attention pulse
Circumscribe
Draws a highlight box/circle around it
ShowPassingFlash
A flash sweeps along the outline
FocusOn
A spotlight narrows onto it
Wiggle
A playful shake
ApplyWave
A ripple runs through it
Broadcast
Rings pulse outward from it
Rotating
One full turn in place
Every exit animation actually removes the mobject from the scene (Manim's remover=True) — not just visually, but from the scene graph. Anything scheduled on the same object afterward needs an entrance animation first to bring it back.
number, point, color, or null — null means "start at whatever value the property already holds"
to
number, point, or color — the destination value
valueDisplay
{ enabled, position, label, decimals } or null — an optional on-screen live number readout (numeric properties only)
Universal properties (every object type)
position (point), positionZ (number), rotation (number, °), rotationX/rotationY (number, °, 3D + path only), scale (point), opacity (0–1), fill (color), stroke (color), strokeWidth (number), fillOpacity (0–1).
Every animatable property, by object type
Beyond the universal set above, each object type exposes its own geometry fields as keyframable properties — this is exactly the field list from the per-type sections above, minus the handful of string/array/boolean fields that can't be smoothly animated (like text, bracket, or solid). The complete per-type list:
Object type
Extra animatable properties
circle, dot, regular_polygon
radius
ellipse
width, height
square
sideLength, cornerAngle
rectangle, rounded_rectangle
width, height, cornerAngle (+ cornerRadius for rounded)
string — the object this one morphs into (must already exist in the scene)
The full list of transforms
Name
Behavior
Transform
Morphs in place; the source object visually becomes the target's shape, but the source stays the "real" object on stage
ReplacementTransform
Same morph, but the target object actually replaces the source in the scene afterward
TransformMatchingTex
Matches LaTeX tokens between two formulas — matched pieces slide into place, the rest crossfades
TransformMatchingShapes
Same idea for non-text objects, matched by shape structure
FadeTransform
Crossfades while moving, without shape-matching
ClockwiseTransform
Morphs while rotating clockwise through the turn
CounterclockwiseTransform
Morphs while rotating counter-clockwise
TransformFromCopy
Like Transform, but leaves the source in place and animates a copy of it instead
MoveAlongPath
Not a morph — the object rides along the target's outline as a motion path
ReplacementTransform, TransformMatchingTex, TransformMatchingShapes, and FadeTransform are the four replacing transforms — the source object stops existing on stage afterward, and the target takes over. The other five keep the original object on stage with its points morphed to look like the target.
Kind: matrix
Field
Type
matrix
[a, b, c, d] — the 2×2 row-major matrix [[a,b],[c,d]], applied about the scene origin
matrix3
9 numbers, row-major 3×3, or null — optional, for 3D scenes; takes priority over matrix in the render when set
The 2D canvas preview can only show the 3×3 map's upper-left 2×2 block; the true 3D result only appears once you render.
Kind: graphStyle
Field
Type
target
either { part: "vertex", index } or { part: "edge", from, to }
from
color or null — null = the vertex/edge's current color at the event's start
to
color
Only targets a graph (network graph) object's vertices/edges — chain several with staggered start times to build a BFS/DFS/sorting-style traversal highlight.
Kind: camera
Has no objectId (always "") — it targets the scene camera directly.
Field
Type
camera.position
point — 2D frame center
camera.z
number — 3D frame-center height
camera.zoom
number — frame scale, 1 = default
camera.rotation
number, degrees — 2D frame roll
camera.phi
number, degrees — 3D polar angle from the z axis
camera.theta
number, degrees — 3D azimuth about the z axis
Only the fields you actually set on a given camera event are animated — one that only sets zoom leaves position/rotation/phi/theta exactly where the previous camera event left them.
Easing and speed ramps
The 10 easing names
Name
Shape
linear
Constant speed
smooth
Manim's real rate_functions.smooth — a normalized sigmoid, gentle ease in and out
ease_in
Cubic ease-in — starts slow, accelerates
ease_out
Cubic ease-out — starts fast, decelerates
ease_in_out
Cubic both ways
bounce
Ease-out bounce — settles with a few small bounces at the end
elastic
Overshoots and springs back before settling
back
Overshoots past the target once, then eases back
exponential
Very slow start, sharp acceleration near the end
custom
A hand-drawn cubic-bezier curve — control points {x1, y1, x2, y2}, editable in the Easing editor
Speed ramp
Every event can also carry a speedRamp — a list of { t, speed } nodes (t = position within the event's own duration, 0–1; speed = playback-rate multiplier, 0.1×–10×). It warps time CapCut-style — accelerating or slow-motioning inside the event — without changing the event's total duration, and composes with easing (the ramp warps time first, then easing shapes the warped result).
The 6 speed-ramp presets
Preset
Feel
Node shape
Montage
Quick hit, then settle
fast start, sharp slow dip mid-way, settles
Hero
Dramatic slow-motion in the middle
slow bookends, deep slow-motion center
Bullet
Freeze mid-flight, then release
fast in, near-freeze in the middle, fast out
Jump cut
Slow bookends, whip through the middle
slow start/end, very fast middle
Flash in
Crawl, then accelerate away
starts almost frozen, races to full speed
Flash out
Burst in, land in slow motion
starts fast, eases into near-freeze
Every animation preset
The Anim tab's quick-animate cards — each inserts one ready-made animation event with tuned duration and easing.
Preset
Kind
Feel
Fade In
entrance
Soft opacity entrance
Pop In
entrance
Grows from center with a slight overshoot
Slide ← / → / ↑ / ↓
entrance
Fades in while sliding from the given direction
Create
entrance
Draws the shape on, stroke and fill together
Draw+Fill
entrance
Traces the border, then fills in
Write
entrance
Handwriting-style reveal (text & formulas)
Type On
entrance
Text appears letter by letter
Spin In
entrance
Spins up from nothing
Pulse
emphasis
An attention pulse
Wiggle
emphasis
A playful shake
Flash
emphasis
A light burst around it
Highlight
emphasis
Draws a highlight box around it
Focus
emphasis
A spotlight narrows onto it
Wave
emphasis
A ripple runs through it
Spin 360°
emphasis
One full turn in place
Fade Out
exit
Soft opacity exit
Drop Out
exit
Falls away downward while fading
Erase
exit
Un-draws the outline (reverse of Create)
Shrink
exit
Collapses to the center
Every motion template
Single, self-contained pieces from the Templates panel's Motion templates section — each inserts a small pre-built group of objects and animations at the playhead.
Text
Template
What it builds
Title intro
A big title with an underline that writes on, then fades away
Chapter intro
A numbered chapter card with an accent bar
Lower third
A name + role card sliding in from the left
Quote
A large quote with an author credit
Typewriter
Text types on letter by letter, monospace
Word stagger
A phrase reveals one word at a time
Letter cascade
Each letter pops in on its own beat
Info
Template
What it builds
Bullet list
A heading with three staggered bullet points
Process steps
Three milestones appearing along a timeline
Comparison · VS
Two panels facing off around a VS badge
Big stat counter
A number counting up over its caption
Formula spotlight
A formula writes on, then gets circled
Callout arrow
A curved arrow and label pointing at a spot
Countdown 3·2·1
Three numbers popping in sequence
Progress bar
A bar filling left-to-right with a label
End card
A "thanks for watching" outro screen
Shapes
Template
What it builds
Shape trio
A circle, square, and triangle pop in and pulse
Shape morph
A circle draws on, then morphs into a square
3D
Template
What it builds
3D graph reveal
Axes and a saddle surface fade in while the camera orbits
3D knot tour
A trefoil knot draws on, then the camera circles it
Platonic parade
The four Platonic solids pop in and spin in place
3D vectors
X/Y/Z basis arrows grow, then a vector reaches a marked point
Every recipe
Multi-step compositions from the Templates panel's Recipes section — several templates and camera moves chained together with tuned timing offsets, shown as numbered step chips.
Math
Recipe
What it does
Math proof reveal
A formula writes on, gets circled, and a chapter card settles in — a full explainer beat
3D graph tour
Axes and a surface reveal, then an orbiting camera lap around it
Compare two approaches
A VS panel, then a stat counter tallying the winner
Story
Recipe
What it does
Video opener
A title card, then a chapter "01" hands off right after it fades
Talking-head explainer
A lower-third intro, bullet points, then a callout for the key idea
How it works
A process-steps walkthrough, ending on a progress-bar payoff
Video outro
A stat recap card leading into a thanks-for-watching end card
Social
Recipe
What it does
Social hook + reveal
A countdown grabs attention, then kinetic word-stagger text delivers the punchline
Punchy stat + CTA
A number counts up, then the end card lands the follow/share ask
3D
Recipe
What it does
3D showcase
The Platonic solids parade in, then a hero-rise camera move caps it off
Vector explainer + orbit
Basis vectors build up to a resultant vector, then the camera circles the result
Knot reveal + roll
A trefoil knot draws on, then a cinematic roll finishes the shot
Camera steps within a recipe continue smoothly from wherever the camera was left by the previous step, so a recipe's camera moves never jump.
Every camera template
Single camera moves from the command palette / camera inspector — each is relative to the camera's current position, so they compose with whatever shot you're already in.
follow | x | y | opacity | strokeWidth | value — which of THIS object's fields is being driven
sourceId
string — the object being read from
source
x | y | width | height — which of the SOURCE object's variables is read
scale
number — multiplies the source value
offset
number — added after scaling (or the X offset, for follow)
offsetY
number — the Y offset, only used by follow
A binding recomputes every frame and always overrides a plain keyframe on the same field — see How keyframes and time work for the full priority order against physics and keyframes.
Audio
AudioTrack — one per uploaded music/voiceover clip, shown as a ♪ row on the timeline:
Field
Type
assetId
string — id of the uploaded audio asset
start
number — scene-time offset, seconds
trimStart, trimEnd
number — trim within the source file, seconds
volume
number, 0–1
fadeIn, fadeOut
number, seconds (not yet compiled into the render — reserved)
muted
boolean
markers
AudioMarker[] or unset — narration timing points, see below
Compiles to self.add_sound(path, time_offset=start, gain=...).
number — seconds into the source file (not scene time), so the marker stays glued to its word if the clip is later dragged or trimmed
label
string
Markers don't compile to anything themselves — they're an editing convenience. An animation event's Start-time field gets a Snap to dropdown listing every marker across every track; picking one resolves to a plain scene-time number (track.start + (marker.time − track.trimStart)), same as typing that number in by hand.
Physics — bodies and simulation
Per-object physics (3D solids only)
Field
Type
enabled
boolean
bodyType
dynamic | static — dynamic bodies are moved by the solver, static bodies are immovable colliders
mass
number, kg — ignored for static bodies
restitution
number, 0–1 — bounciness
friction
number, roughly 0 (ice) to 1
velocity
point3 — initial linear velocity
angularVelocity
point3 — initial spin
collider
auto | box | sphere — auto derives a shape from the object's geometry
Scene-wide simulation settings
Field
Type
gravity
point3, scene units/s²
ground
boolean — an infinite static floor
groundZ
number — the floor's height
duration
number or null — null simulates the whole project length
substeps
number — solver substeps per rendered frame, for stability
The 6 gravity presets
Preset
Vector
Feel
Earth
{0, 0, -9.8}
The realistic default
Moon
{0, 0, -1.6}
Floaty, slow-motion falls
Zero-G
{0, 0, 0}
No pull — bodies drift on initial velocity only
Strong
{0, 0, -20}
Heavy, fast slams
Sideways
{6, 0, 0}
Gravity pulls sideways, wind-tunnel feel
Reverse
{0, 0, 9.8}
Everything falls upward
After baking, an object's motion is stored as a dense per-frame track (position + orientation) and replayed directly — see Simulate rigid-body physics.
Render settings
Field
Type
resolution
480p | 720p | 1080p | 1440p | 2160p
fps
24 | 30 | 60
aspect
16:9 | 9:16 | 1:1 | 4:5 | 4:3 | 21:9
backgroundColor
color
backgroundImage
string or null
backgroundImageOpacity
number, 0–1
backgroundImageExposure
number, −1 (dark) to +1 (blown out), 0 = unchanged
quality
preview | final
outputFormat
mp4 | gif | webm_alpha — standard video, looping no-audio GIF, or transparent-background WebM
Aspect ratio presets
Ratio
Use case
16:9
YouTube
9:16
Reels / TikTok / Shorts
1:1
Instagram post
4:5
Instagram portrait
4:3
Classic
21:9
Cinematic
Blocked animation combinations
Some overlaps are rejected before they're ever created, because Manim has no sensible way to run them at the same time on the same object:
Combination
Why it's blocked
Two transform events overlapping on the same object
A mobject can only morph toward one target at a time
A replacing transform overlapping anything else on that object
The source mobject stops existing partway through
Two entrance/exit animations overlapping
Only one "is this on screen yet" transition can run at once
An exit overlapping any other event on that object
Nothing can keep animating an object that's mid-exit
Two matrix events overlapping
Only one linear map can apply to a mobject's points at a time
MoveAlongPath overlapping another position-driving event