Mobs

group

Collecting Mobs so they can be treated as one.

text

Text and LaTeX, rendered as packed batches of bezier glyphs.

image_mob

Images as flat textured surfaces.

image_compat

Manim-compatible raster image Mobs backed by ImageMob.

manim_compat

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

opengl_compat

Renderer-independent equivalents of Manim's OpenGL surface Mobjects.

bezier_circuit

Cubic bezier circuits -- the geometry behind every 2-D shape.

triangulated_bezier_circuit

Turning bezier outlines into filled triangle meshes.

shapes_2d

The 2-D shapes.

shapes_3d

The 3-D shapes, in two families.

point_cloud

Manim-compatible point-cloud Mobs.

surface

Parametric surfaces -- the curved 3-D geometry primitive.

procedural_textures

Procedural texture images -- checkerboards, stripes, dots, gradients, noise.

three_d_models

Importing 3-D model files.

mesh

A general indexed triangle-mesh Mob.

model_mob

Import a 3-D model file (glB/glTF, FBX, OBJ, ...) as an Algan Mob.

assimp_loader

pyassimp-backed importer: parse a model file into a SceneData.

gltf_loader

trimesh-backed importer for glTF / glB (and other trimesh-supported formats): parse a model file into a SceneData.

scene_data

Backend-independent intermediate representation (IR) for imported 3-D models.

manim_mob

Wrapping a Manim Mobject as an Algan Mob.

numeric_display

A number on screen that animates between values.

The Manim Compatibility Layer

algan.mobs.manim_compat and its siblings above are the implementation. The public face is algan.manim, reached as import algan.manim as mn and deliberately left out of from algan import *: a name in mn. follows Manim’s conventions where the same name at the root follows Algan’s (degrees vs radians, and Algan’s stroke width vs Manim’s, which is twice it). Where Algan has no native implementation of a Manim class, a curated subset gets a root spelling that converts and delegates – see Manim Migration Guide and Importing From Manim.

This is also why several class names below appear twice, once under manim_compat and once under a native module: they are two different classes under two conventions, not one class documented twice.

Delegated Manim Methods

Compatibility Mobs forward methods that are provided by the backing Manim object. The most commonly used example is Axes.plot:

algan.mobs.manim_compat.Axes.plot()

Delegate plot to the backing Manim Axes and convert the returned geometry into an Algan Mob.

SceneData Fields

The importer IR is a dataclass, so its fields are constructor parameters rather than ordinary class members in autodoc. Keep stable anchors for the fields used by the loader documentation.

algan.mobs.three_d_models.scene_data.SceneData.meshes

The imported mesh records.

algan.mobs.three_d_models.scene_data.SceneData.materials

The imported material records.

algan.mobs.three_d_models.scene_data.SceneData.nodes

The imported node hierarchy.

algan.mobs.three_d_models.scene_data.SceneData.animations

The imported node and skeletal animation records.

algan.mobs.three_d_models.scene_data.SceneData.unit_scale

The source model’s unit scale.

algan.mobs.three_d_models.scene_data.SceneData.source_path

The source model path.