ranim/
lib.rs

1//! Ranim is an animation engine written in rust based on wgpu, inspired by [3b1b/manim](https://github.com/3b1b/manim/) and [jkjkil4/JAnim](https://github.com/jkjkil4/JAnim).
2//!
3//!
4//! ## Coordinate System
5//!
6//! Ranim's coordinate system is right-handed coordinate:
7//!
8//! ```text
9//!      +Y
10//!      |
11//!      |
12//!      +----- +X
13//!    /
14//! +Z
15//! ```
16//!
17#![warn(missing_docs)]
18#![cfg_attr(docsrs, feature(doc_cfg))]
19#![allow(rustdoc::private_intra_doc_links)]
20#![doc(
21    html_logo_url = "https://raw.githubusercontent.com/AzurIce/ranim/refs/heads/main/assets/ranim.svg",
22    html_favicon_url = "https://raw.githubusercontent.com/AzurIce/ranim/refs/heads/main/assets/ranim.svg"
23)]
24
25#[cfg(feature = "anims")]
26pub use ranim_anims as anims;
27pub use ranim_core as core;
28#[cfg(feature = "items")]
29pub use ranim_items as items;
30#[cfg(feature = "render")]
31pub use ranim_render as render;
32
33/// Commands like preview and render
34pub mod cmd;
35pub use core::color;
36
37/// Utils
38pub mod utils {
39    pub use ranim_core::utils::*;
40}
41
42/// Scene types for dylib / inventory registration and runtime use.
43mod link_magic;
44pub use link_magic::*;
45
46/// Scene description types (Scene, Output, OutputFormat, etc.)
47mod scene;
48pub use scene::*;
49
50pub use core::glam;
51pub use ranim_core::RanimScene;
52
53/// The preludes
54pub mod prelude {
55    pub use ranim_core::prelude::*;
56    pub use ranim_macros::{output, scene, wasm_demo_doc};
57}