Skip to content
Tagin T edited this page Sep 4, 2026 · 5 revisions

Home

Welcome to the real-time-manim wiki — the deep documentation for the Vulkan-accelerated real-time rendering backend for ManimCE.

If you just want to render a scene or record a video, start at Getting Started and the API Reference. Everything below that is architecture and internals for users who want to know how it works, extend it, or build it from source.

Quick links

Page What it covers
Getting Started Install, run a scene, record to MP4
API Reference MLWindow, animations, recorders, cache helpers
Animation Reference Every supported animation, with runnable examples
Feature Reference Full feature reference (shapes, params, categories)
Architecture Python ↔ native ↔ Vulkan layers, data flow
Recording The two recorders in depth
Math Rendering LaTeX mode vs. native Unicode mode
Building the DLL Compile vulkan_core.dll from native/
Internals Frame lifecycle, shape dispatch, design decisions

One-paragraph summary

flowchart LR
    S[Manim Scene] --> P[Python layer<br/>MLWindow + animations]
    P -- "ctypes FFI" --> N[native C/C++<br/>vulkan_core.dll]
    N --> V[Vulkan GPU pipeline]
    V --> OUT[(Window / MP4)]
Loading

A Manim scene drives MLWindow. The Python layer turns mobjects into typed shape commands, hands them to a native DLL over ctypes, and the DLL renders them with a Vulkan pipeline into a live window — with optional framebuffer readback piped to ffmpeg for MP4 output.

Development status

The library is published as real-time-manim on PyPI (currently 0.1.x). MLWindow, ~40 animation modules, and the record / util helper modules are part of the distributable package. The native engine source lives under native/ and is built separately (see Building the DLL). The published package is core-only — it does not ship demo-scene runners; write your own Scene with the API in Getting Started.

Clone this wiki locally