Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
Algan v0.0.2
Light Logo Dark Logo
Algan v0.0.2
  • Installation
  • Tutorials & Guides
    • New User Tutorials
      • Getting Started
      • Basic Animations
      • Combining Animations
      • Grouping Mobs
      • Updaters
      • Your First 3-D Scene
      • Where To Next
    • Galleries
      • The Mob Gallery
      • Built-in Animations
    • Advanced User Tutorials
      • Positioning and Layout
      • Bezier Curves and Circuits
      • Text and Mathematics
      • Importing From Manim
      • Cameras
      • Lighting and Shadows
      • Shaders and Materials
      • Reflections and Glass
      • Images and Textures
      • Importing 3-D Models
      • Backgrounds and Post-Processing
      • Transparent Backgrounds
      • Audio and Speech
      • Custom Animations
      • Animating Out of Order
      • Multi-Scene Projects
      • Performance and Quality
      • Renderer Limitations
      • Settings
      • Saving Videos and Images
      • The Render Daemon
      • Extending Algan
    • Manim Migration Guide
    • Developer Tutorials
      • An Overview of Algan’s Internals
  • Reference Manual
    • Scenes
      • scene
        • Scene
        • active_scene_method
      • scene_manager
        • SceneManager
      • render_loop
        • RenderLoopMixin
        • algan.render_loop.EmptySceneWarning
      • project
        • Project
      • daemon
      • viewer
        • ViewerHandle
      • session
        • ViewerSession
      • hierarchy
      • pixels
        • PixelRecord
    • Animation
      • animatable
        • Animatable
      • mob
        • Mob
      • mob_hierarchy
        • MobHierarchyMixin
      • mob_orientation
        • MobOrientationMixin
      • mob_movement
        • MobMovementMixin
      • mob_layout
        • MobLayoutMixin
      • mob_morph
        • MobMorphMixin
      • mob_materials
        • MobMaterialsMixin
      • animation_contexts
        • AnimationContext
        • AnimationManager
        • Audio
        • ComposedEasing
        • Lag
        • NoExtra
        • Off
        • OnInit
        • Seq
        • SlideShow
        • Speech
        • Sync
      • timeline
        • AnimationTimeline
        • AttributeTimeline
        • EditQueryIndex
        • EditRecord
        • FunctionApplicationEvent
        • FunctionTimeline
        • Lifespan
        • RowRanges
        • SegmentWindow
        • TimelineEvent
        • TimelineManager
        • TimelineSpan
        • UpdaterEvent
        • UpdaterSpan
      • manim_animations
      • movement
      • changing
        • AnimatedBoundary
      • indication
    • Core
      • errors
        • algan.errors.AlganConfigurationError
        • algan.errors.AlganError
        • algan.errors.AlganWarning
        • algan.errors.ApproximationWarning
        • algan.errors.AudioTranscriptMismatchError
        • algan.errors.ContextReuseError
        • algan.errors.DespawnedMobWarning
        • algan.errors.HierarchyChangedDuringUpdaterWarning
        • algan.errors.HierarchyError
        • algan.errors.InvalidColorError
        • algan.errors.LegacySceneDiscoveryWarning
        • algan.errors.ModifiedProtectedAttributeError
        • algan.errors.NeverSpawnedMobWarning
        • algan.errors.UnsupportedFeatureError
        • algan.errors.UnsupportedFeatureWarning
      • color
        • Color
      • material_presets
      • spatial
      • math
      • easings
      • geometry
      • logger
    • Mobs
      • group
        • Group
      • text
        • Code
        • MarkupText
        • Paragraph
        • Tex
        • TexTriangulated
        • Text
        • TextTriangulated
      • image_mob
        • ImageMob
      • image_compat
        • AbstractImageMobject
        • ImageMobject
        • ImageMobjectFromCamera
        • OpenGLImageMobject
      • manim_compat
        • Angle
        • AnnotationDot
        • AnnularSector
        • Annulus
        • Arc
        • ArcBetweenPoints
        • ArcBrace
        • ArcPolygon
        • ArcPolygonFromArcs
        • Arrow
        • Arrow3D
        • ArrowCircleFilledTip
        • ArrowCircleTip
        • ArrowSquareFilledTip
        • ArrowSquareTip
        • ArrowTip
        • ArrowTriangleFilledTip
        • ArrowTriangleTip
        • ArrowVectorField
        • Axes
        • BackgroundRectangle
        • BarChart
        • Brace
        • BraceBetweenPoints
        • BraceLabel
        • BraceText
        • BulletedList
        • Circle
        • Code
        • ComplexPlane
        • ComplexValueTracker
        • Cone
        • ConvexHull
        • ConvexHull3D
        • Cross
        • Cube
        • CubicBezier
        • CurvedArrow
        • CurvedDoubleArrow
        • CurvesAsSubmobjects
        • Cutout
        • Cylinder
        • DashedLine
        • DashedVMobject
        • DecimalMatrix
        • DecimalNumber
        • DecimalTable
        • DiGraph
        • Difference
        • Dodecahedron
        • Dot
        • Dot3D
        • DoubleArrow
        • Elbow
        • Ellipse
        • Exclusion
        • FullScreenRectangle
        • FunctionGraph
        • Graph
        • Group
        • Icosahedron
        • ImplicitFunction
        • Integer
        • IntegerMatrix
        • IntegerTable
        • Intersection
        • Label
        • LabeledArrow
        • LabeledDot
        • LabeledLine
        • LabeledPolygram
        • Line
        • Line3D
        • ManimBanner
        • ManimCompatMob
        • MarkupText
        • MathTable
        • MathTex
        • MathTexPart
        • Matrix
        • MobjectMatrix
        • MobjectTable
        • NumberLine
        • NumberPlane
        • Octahedron
        • OpenGLAnnularSector
        • OpenGLAnnulus
        • OpenGLArc
        • OpenGLArcBetweenPoints
        • OpenGLArrow
        • OpenGLArrowTip
        • OpenGLCircle
        • OpenGLCubicBezier
        • OpenGLCurvedArrow
        • OpenGLCurvedDoubleArrow
        • OpenGLCurvesAsSubmobjects
        • OpenGLDashedLine
        • OpenGLDashedVMobject
        • OpenGLDot
        • OpenGLDoubleArrow
        • OpenGLElbow
        • OpenGLEllipse
        • OpenGLGroup
        • OpenGLLine
        • OpenGLPoint
        • OpenGLPolygon
        • OpenGLRectangle
        • OpenGLRegularPolygon
        • OpenGLRoundedRectangle
        • OpenGLSector
        • OpenGLSquare
        • OpenGLTangentLine
        • OpenGLTipableVMobject
        • OpenGLTriangle
        • OpenGLVGroup
        • OpenGLVMobject
        • OpenGLVector
        • OpenGLVectorizedPoint
        • Paragraph
        • ParametricFunction
        • Point
        • PolarPlane
        • Polygon
        • Polygram
        • Polyhedron
        • Prism
        • Rectangle
        • RegularPolygon
        • RegularPolygram
        • RightAngle
        • RoundedRectangle
        • SVGMobject
        • SampleSpace
        • ScreenRectangle
        • Sector
        • SingleStringMathTex
        • Sphere
        • Square
        • Star
        • StealthTip
        • StreamLines
        • Surface
        • SurroundingRectangle
        • Table
        • TangentLine
        • TangentialArc
        • Tetrahedron
        • Tex
        • Text
        • ThreeDAxes
        • ThreeDVMobject
        • TipableVMobject
        • Title
        • Torus
        • Triangle
        • Underline
        • Union
        • UnitInterval
        • VDict
        • VGroup
        • VMobject
        • VMobjectFromSVGPath
        • ValueTracker
        • Variable
        • Vector
        • VectorField
        • VectorizedPoint
      • opengl_compat
        • OpenGLSurface
        • OpenGLSurfaceGroup
        • OpenGLSurfaceMesh
        • OpenGLTexturedSurface
      • bezier_circuit
        • BezierCircuitCubic
        • BezierCurveCubic
      • triangulated_bezier_circuit
        • TriangulatedBezierCircuit
      • shapes_2d
        • Circle
        • Dot
        • Line
        • Point
        • Polygon
        • Quad
        • QuadTriangulated
        • Rectangle
        • RegularPolygon
        • Square
        • SurroundingRectangle
        • Triangle
        • TriangleTriangulated
        • TriangleVertices
      • shapes_3d
        • Arrow3D
        • Cone
        • ConvexHull3D
        • Cube
        • Cylinder
        • Dodecahedron
        • Dot3D
        • Icosahedron
        • Line3D
        • Octahedron
        • Polyhedron
        • Prism
        • Sphere
        • Tetrahedron
        • Torus
      • point_cloud
        • DotCloud
        • Mobject1D
        • Mobject2D
        • OpenGLPGroup
        • OpenGLPMPoint
        • OpenGLPMobject
        • PGroup
        • PMobject
        • PointCloudDot
        • TrueDot
      • surface
        • Surface
      • procedural_textures
      • three_d_models
      • mesh
        • TriangleMesh
      • model_mob
        • Model3D
      • assimp_loader
      • gltf_loader
      • scene_data
        • AnimationData
        • MaterialData
        • MeshData
        • NodeAnimation
        • NodeData
        • SceneData
        • SkinData
      • manim_mob
        • ManimMob
      • numeric_display
        • DecimalNumber
    • Rendering
      • camera
        • Camera
      • lights
        • AmbientLight
        • DirectionalLight
        • HemisphereLight
        • Light
        • PointLight
        • RectAreaLight
        • SpotLight
      • materials
        • AdvancedPBRMaterial
        • DiffuseMaterial
        • ManimMaterial
        • Material
        • MeshBasicMaterial
        • MeshDepthMaterial
        • MeshLambertMaterial
        • MeshMatcapMaterial
        • MeshNormalMaterial
        • MeshPhongMaterial
        • MeshPhysicalMaterial
        • MeshStandardMaterial
        • MeshToonMaterial
        • PBRMaterial
        • Side
        • SpecularMaterial
        • UnlitMaterial
      • material_shaders
      • pbr_shaders
      • fragment_shaders
        • FragmentPipelineShader
        • FragmentStage
      • tracer
        • RenderPlan
      • raytracing
      • settings
      • truncation
        • TruncationCounts
      • denoise
      • primitive
        • RenderPrimitive
        • algan.rendering.primitives.primitive.OutOfRenderMemory
      • triangle_primitive
        • TrianglePrimitive
      • bezier_circuit_primitive
        • BezierCircuitPrimitive
      • post_processing
      • memory_model
        • AffineFrameCost
        • ChunkMemoryModel
        • PeakRatioModel
    • Settings
      • settings
      • abstract_settings
        • Settings
      • root_settings
        • AlganSettings
        • SettingsSnapshot
      • video_settings
        • VideoSettings
      • computing_settings
        • ComputingSettings
      • path_settings
        • PathSettings
      • style_settings
        • StyleSettings
      • raytracing_settings
        • RayTracingPreset
        • RayTracingSettings
    • Utilities
      • algan_utils
        • RenderResult
      • animation_utils
      • file_utils
      • memory_utils
        • AllocationRecorder
        • ManualMemory
        • ScopeRecord
        • TempMemoryContext
        • algan.utils.memory_utils.InsufficientMemoryException
      • mob_utils
        • BatchedMobViewSequence
      • manim_svg_cache
      • singleton
        • Singleton
      • tensor_utils
      • python_utils
      • audio_effect
        • AudioEffect
        • AudioManager
  • Frequently Asked Questions
    • FAQ: General Usage
  • Contributing
    • Development
  • Changelog
Back to top
View this page
Edit this page

Developer Tutorials¶

These guides walk through how Algan works under the hood. They are written for contributors and developers who want to extend, debug, or optimize the internal systems. (If you just want to make animations, you can safely skip these!).

Table of Contents

  • An Overview of Algan’s Internals
    • Scene containment
    • The animation system
    • Rendering entry points
    • Frame batches and scene assembly
    • Renderer paths
    • Settings lifecycle
Next
An Overview of Algan’s Internals
Previous
Manim Migration Guide
Copyright © 2025-2026, Algorithmic Simplicity
Made with Sphinx and @pradyunsg's Furo