-
Notifications
You must be signed in to change notification settings - Fork 1
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.
| 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 |
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)]
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.
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.