| Crates.io | ranim |
| lib.rs | ranim |
| version | 0.1.4 |
| created_at | 2024-12-23 10:58:00.454421+00 |
| updated_at | 2025-09-16 05:37:21.852134+00 |
| description | An animation engine inspired by manim and JAnim |
| homepage | https://azurice.github.io/ranim |
| repository | https://github.com/AzurIce/ranim |
| max_upload_size | |
| id | 1492979 |
| size | 738,175 |
Ranim is an animation engine crate implemented in pure rust, inspired heavily by Manim and jkjkil4/JAnim.
[!WARNING] Ranim is now WIP. It only supports some basic items and animations, the apis are unstable and may change frequently, the documentation is also not complete.
Runtime dependencies:
Currently, it is experimental on crates.io:
[dependencies]
ranim = "0.1.4"
You can also use from git for the latest updates:
[dependencies]
ranim = { git = "https://github.com/azurice/ranim" }
For the usage, check out the examples folder. You can run the examples with:
cargo run --example <example-name>
and you can use --release flag for faster rendering.
Ranim cli is a command line tool to help you build the animation. It enables animation previewing with hot reload through dylib.
Please notice that you can use ranim without ranim-cli, the previewing and rendering process can be achieved by simply invoking apis provided by ranim, but it may enhance your experience.
You can install it with:
cargo install ranim-cli
Or install from git:
cargo install --git https://github.com/azurice/ranim
Basic Usage:
ranim preview: Launch a preview app and invoke cargo to build your library automatically when the source code is changed, then reload it through libloading and show it in the preview app.ranim render[ <scene-name>]: Render scene's output, when no scene name is specified, render all scenes.You can specify the package with --package (just like cargo), and other aditional arguments you want to pass to cargo build can be passed after --.
For example:
ranim render -p xxx scene_a scene_b -- --release
app: enable the preview app api
use preview or run_scene_app API to launch an preview app on a scene
https://github.com/user-attachments/assets/5bf287e2-b06f-42f8-83b6-76f3775e298e
profiling: enable profiling with https://github.com/EmbarkStudios/puffin
CPU uses 127.0.0.1:8585 and GPU uses 127.0.0.1:8586
Once the design is stablized, I may write about it.
For now, you can check out the code.