manim_compat

Compatibility Mobs backed by Algan’s vendored Manim Community geometry.

The compatibility layer is intentionally narrow at the rendering boundary: Manim constructs and manipulates its normal Mobject graph, then ManimMob converts the resulting cubic Bezier circuits into Algan render primitives. This lets Algan expose Manim’s large collection of composite Mobjects without copying the geometry algorithms, while all animation, materials and rendering remain native to Algan.

Classes

Angle

A circular arc or elbow-type mobject representing an angle of two lines.

AnnotationDot

A dot with bigger radius and bold stroke to annotate scenes.

AnnularSector

A sector of an annulus.

Annulus

Region between two concentric Circles.

Arc

A circular arc.

ArcBetweenPoints

Inherits from Arc and additionally takes 2 points between which the arc is spanned.

ArcBrace

Creates a Brace that wraps around an Arc.

ArcPolygon

A generalized polygon allowing for points to be connected with arcs.

ArcPolygonFromArcs

A generalized polygon allowing for points to be connected with arcs.

Arrow

An arrow.

Arrow3D

An arrow made out of a cylindrical line and a conical tip.

ArrowCircleFilledTip

Circular arrow tip with filled tip.

ArrowCircleTip

Circular arrow tip.

ArrowSquareFilledTip

Square arrow tip with filled tip.

ArrowSquareTip

Square arrow tip.

ArrowTip

Base class for arrow tips.

ArrowTriangleFilledTip

Triangular arrow tip with filled tip.

ArrowTriangleTip

Triangular arrow tip.

ArrowVectorField

A VectorField represented by a set of change vectors.

Axes

Creates a set of axes.

BackgroundRectangle

A background rectangle.

BarChart

Creates a bar chart.

Brace

Takes a mobject and draws a brace adjacent to it.

BraceBetweenPoints

Similar to Brace, but instead of taking a mobject it uses 2 points to place the brace.

BraceLabel

Create a brace with a label attached.

BraceText

Brace with a plain-text label.

BulletedList

A bulleted list.

Circle

A circle.

Code

A highlighted source code listing.

ComplexPlane

A NumberPlane specialized for use with complex numbers.

ComplexValueTracker

Complex-valued counterpart of ValueTracker.

Cone

A circular cone.

ConvexHull

Constructs a convex hull for a set of points in no particular order.

ConvexHull3D

A convex hull for a set of points

Cross

Creates a cross.

Cube

A three-dimensional cube.

CubicBezier

A cubic Bézier curve.

CurvedArrow

CurvedDoubleArrow

CurvesAsSubmobjects

Convert a curve's elements to submobjects.

Cutout

A shape with smaller cutouts.

Cylinder

A cylinder, defined by its height, radius and direction,

DashedLine

A dashed Line.

DashedVMobject

A VMobject composed of dashes instead of lines.

DecimalMatrix

A mobject that displays a matrix with decimal entries on the screen.

DecimalNumber

An mobject representing a decimal number.

DecimalTable

A specialized Table mobject for use with DecimalNumber to display decimal entries.

DiGraph

A directed graph.

Difference

Subtracts one VMobject from another one.

Dodecahedron

A dodecahedron, one of the five platonic solids.

Dot

A circle with a very small radius.

Dot3D

A spherical dot.

DoubleArrow

An arrow with tips on both ends.

Elbow

Two lines that create a right angle about each other: L-shape.

Ellipse

A circular shape; oval, circle.

Exclusion

Find the XOR between two VMobject.

FullScreenRectangle

FunctionGraph

A ParametricFunction that spans the length of the scene by default.

Graph

An undirected graph (vertices connected with edges).

Group

Groups together multiple Mobjects.

Icosahedron

An icosahedron, one of the five platonic solids.

ImplicitFunction

Integer

A class for displaying Integers.

IntegerMatrix

A mobject that displays a matrix with integer entries on the screen.

IntegerTable

A specialized Table mobject for use with Integer.

Intersection

Find the intersection of two VMobject s.

Label

A Label consisting of text surrounded by a frame.

LabeledArrow

Constructs an arrow containing a label box somewhere along its length.

LabeledDot

A Dot containing a label in its center.

LabeledLine

Constructs a line containing a label box somewhere along its length.

LabeledPolygram

Constructs a polygram containing a label box at its pole of inaccessibility.

Line

A straight or curved line segment between two points or mobjects.

Line3D

A cylindrical line, for use in ThreeDScene.

ManimBanner

Convenience class representing Manim's banner.

ManimCompatMob

Base class for Mobs whose construction/query API is supplied by Manim.

MarkupText

Display (non-LaTeX) text rendered using Pango.

MathTable

A specialized Table mobject for use with LaTeX.

MathTex

A LaTeX string typeset in math mode, wrapping Manim's MathTex.

MathTexPart

Matrix

A mobject that displays a matrix on the screen.

MobjectMatrix

A mobject that displays a matrix of mobject entries on the screen.

MobjectTable

A specialized Table mobject for use with Mobject.

NumberLine

Creates a number line with tick marks.

NumberPlane

Creates a cartesian plane with background lines.

Octahedron

An octahedron, one of the five platonic solids.

OpenGLAnnularSector

alias of AnnularSector

OpenGLAnnulus

alias of Annulus

OpenGLArc

alias of Arc

OpenGLArcBetweenPoints

alias of ArcBetweenPoints

OpenGLArrow

alias of Arrow

OpenGLArrowTip

alias of ArrowTriangleTip

OpenGLCircle

alias of Circle

OpenGLCubicBezier

alias of CubicBezier

OpenGLCurvedArrow

alias of CurvedArrow

OpenGLCurvedDoubleArrow

alias of CurvedDoubleArrow

OpenGLCurvesAsSubmobjects

alias of CurvesAsSubmobjects

OpenGLDashedLine

alias of DashedLine

OpenGLDashedVMobject

alias of DashedVMobject

OpenGLDot

alias of Dot

OpenGLDoubleArrow

alias of DoubleArrow

OpenGLElbow

alias of Elbow

OpenGLEllipse

alias of Ellipse

OpenGLGroup

alias of Group

OpenGLLine

alias of Line

OpenGLPoint

alias of Point

OpenGLPolygon

alias of Polygon

OpenGLRectangle

alias of Rectangle

OpenGLRegularPolygon

alias of RegularPolygon

OpenGLRoundedRectangle

alias of RoundedRectangle

OpenGLSector

alias of Sector

OpenGLSquare

alias of Square

OpenGLTangentLine

alias of TangentLine

OpenGLTipableVMobject

alias of TipableVMobject

OpenGLTriangle

alias of Triangle

OpenGLVGroup

alias of VGroup

OpenGLVMobject

alias of VMobject

OpenGLVector

alias of Vector

OpenGLVectorizedPoint

alias of VectorizedPoint

Paragraph

Display a paragraph of text.

ParametricFunction

A parametric curve.

Point

A mobject representing a point.

PolarPlane

Creates a polar plane with background lines.

Polygon

A shape consisting of one closed loop of vertices.

Polygram

A generalized Polygon, allowing for disconnected sets of edges.

Polyhedron

An abstract polyhedra class.

Prism

A right rectangular prism (or rectangular cuboid).

Rectangle

A quadrilateral with two sets of parallel sides.

RegularPolygon

An n-sided regular Polygon.

RegularPolygram

A Polygram with regularly spaced vertices.

RightAngle

An elbow-type mobject representing a right angle between two lines.

RoundedRectangle

A rectangle with rounded corners.

SVGMobject

A vectorized mobject created from importing an SVG file.

SampleSpace

A mobject representing a twodimensional rectangular sampling space.

ScreenRectangle

Sector

A sector of a circle.

SingleStringMathTex

Elementary building block for rendering text with LaTeX.

Sphere

A three-dimensional sphere.

Square

A rectangle with equal side lengths.

Star

A regular polygram without the intersecting lines.

StealthTip

'Stealth' fighter / kite arrow shape.

StreamLines

StreamLines represent the flow of a VectorField using the trace of moving agents.

Surface

Creates a Parametric Surface using a checkerboard pattern.

SurroundingRectangle

A rectangle surrounding a Mobject

Table

A mobject that displays a table on the screen.

TangentLine

Constructs a line tangent to a VMobject at a specific point.

TangentialArc

An arc tangent to two intersecting lines.

Tetrahedron

A tetrahedron, one of the five platonic solids.

Tex

A string compiled with LaTeX in normal mode.

Text

ThreeDAxes

A 3-dimensional set of axes.

ThreeDVMobject

TipableVMobject

Meant for shared functionality between Arc and Line.

Title

An underlined heading, wrapping Manim's Title.

Torus

A torus.

Triangle

An equilateral triangle.

Underline

Creates an underline.

Union

Union of two or more VMobject s.

UnitInterval

VDict

A VGroup-like class, also offering submobject access by key, like a python dict

VGroup

A group of vectorized mobjects.

VMobject

A vectorized mobject.

VMobjectFromSVGPath

A vectorized mobject representing an SVG path.

ValueTracker

A non-rendering Mob storing one animatable scalar.

Variable

A class for displaying text that shows "label = value" with the value continuously updated from a ValueTracker.

Vector

A vector specialized for use in graphs.

VectorField

A vector field.

VectorizedPoint

Functions

from_manim(value, *, scene=None, add_to_scene=True)[source]

Recursively convert values returned by delegated Manim APIs.

Converted Mobs register themselves with scene by default, exactly as directly constructed Mobs do, because Algan builds render primitives from the Scene’s actor list: a Mob that is not an actor never draws, no matter how it is spawned or styled. Pass add_to_scene=False only for conversions that duplicate geometry some other Mob already renders.

Parameters:
  • value (Any)

  • add_to_scene (bool)

install_opengl_aliases(namespace)[source]

Install renderer-equivalent OpenGL names after native Mobs are imported.

Parameters:

namespace (Mapping[str, Any] | dict[str, Any])

to_manim(value)[source]

Recursively convert Algan values used as Manim constructor arguments.

Parameters:

value (Any)