[package]
edition = "2024"
name = "ranim"
version = "0.2.0"
build = false
exclude = [
"website",
"assets",
"book",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An animation engine inspired by manim and JAnim"
homepage = "https://azurice.github.io/ranim"
readme = "README.md"
keywords = [
"animation",
"manim",
"wgpu",
]
license = "MIT"
repository = "https://github.com/AzurIce/ranim"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[package.metadata.release]
pre-release-hook = [
"git",
"cliff",
"-o",
"CHANGELOG.md",
"--tag",
"{{version}}",
]
[[package.metadata.release.pre-release-replacements]]
file = "README.md"
search = 'ranim = "[^"]+"'
replace = '{{crate_name}} = "{{version}}"'
[package.metadata.example.aabb]
wasm = true
[package.metadata.example.animating_pi]
wasm = true
[package.metadata.example.arc]
wasm = true
[package.metadata.example.arc_between_points]
wasm = true
[package.metadata.example.basic]
wasm = true
[package.metadata.example.hanoi]
wasm = true
[package.metadata.example.hello_ranim]
wasm = true
[package.metadata.example.perspective_blend]
wasm = true
[package.metadata.example.ranim_logo]
wasm = true
[package.metadata.example.extract_vitem_visualize]
wasm = true
[package.metadata.example.test]
hide = true
wasm = false
[package.metadata.example.bubble_sort]
wasm = true
[package.metadata.example.getting_started0]
wasm = true
hide = true
[package.metadata.example.getting_started1]
wasm = true
hide = true
[package.metadata.example.getting_started2]
wasm = true
hide = true
[package.metadata.example.selective_sort]
wasm = true
[package.metadata.example.regular_polygon]
wasm = true
[package.metadata.example.ellipse]
wasm = true
[package.metadata.example.text_item]
wasm = true
[package.metadata.example.perlin_terrain]
wasm = true
[package.metadata.example.mesh_morph]
wasm = true
[package.metadata.example.tetrahedron_spheres]
wasm = true
[package.metadata.example.solar_system]
wasm = true
[features]
anims = []
default = [
"anims",
"items",
]
items = []
preview = [
"render",
"dep:egui",
"dep:eframe",
"dep:egui-phosphor",
"dep:web-time",
"dep:bytemuck",
"dep:wasm-bindgen-futures",
"dep:web-sys",
"dep:console_error_panic_hook",
"dep:wasm-tracing",
]
profiling = [
"ranim-render/profiling",
"dep:puffin",
"dep:puffin_http",
"dep:profiling",
]
render = [
"dep:ranim-render",
"dep:wgpu",
"dep:pollster",
"dep:which",
"dep:indicatif",
"dep:tracing-indicatif",
"dep:flate2",
"dep:reqwest",
]
[lib]
name = "ranim"
crate-type = [
"rlib",
"cdylib",
]
path = "src/lib.rs"
[[example]]
name = "aabb"
crate-type = ["cdylib"]
path = "examples/aabb/lib.rs"
[[example]]
name = "animating_pi"
crate-type = ["cdylib"]
path = "examples/animating_pi/lib.rs"
[[example]]
name = "arc"
crate-type = ["cdylib"]
path = "examples/arc/lib.rs"
[[example]]
name = "arc_between_points"
crate-type = ["cdylib"]
path = "examples/arc_between_points/lib.rs"
[[example]]
name = "basic"
crate-type = ["cdylib"]
path = "examples/basic/lib.rs"
[[example]]
name = "bubble_sort"
crate-type = ["cdylib"]
path = "examples/bubble_sort/lib.rs"
[[example]]
name = "ellipse"
crate-type = ["cdylib"]
path = "examples/ellipse/lib.rs"
[[example]]
name = "extract_vitem_visualize"
crate-type = ["cdylib"]
path = "examples/extract_vitem_visualize/lib.rs"
[[example]]
name = "getting_started0"
crate-type = ["cdylib"]
path = "examples/getting_started0/lib.rs"
[[example]]
name = "getting_started1"
crate-type = ["cdylib"]
path = "examples/getting_started1/lib.rs"
[[example]]
name = "getting_started2"
crate-type = ["cdylib"]
path = "examples/getting_started2/lib.rs"
[[example]]
name = "hanoi"
crate-type = ["cdylib"]
path = "examples/hanoi/lib.rs"
[[example]]
name = "hello_ranim"
crate-type = ["cdylib"]
path = "examples/hello_ranim/lib.rs"
[[example]]
name = "mesh_morph"
crate-type = ["cdylib"]
path = "examples/mesh_morph/lib.rs"
[[example]]
name = "output_formats"
crate-type = ["cdylib"]
path = "examples/output_formats/lib.rs"
[[example]]
name = "palettes"
crate-type = ["cdylib"]
path = "examples/palettes/lib.rs"
[[example]]
name = "perlin_terrain"
crate-type = ["cdylib"]
path = "examples/perlin_terrain/lib.rs"
[[example]]
name = "perspective_blend"
crate-type = ["cdylib"]
path = "examples/perspective_blend/lib.rs"
[[example]]
name = "ranim_logo"
crate-type = ["cdylib"]
path = "examples/ranim_logo/lib.rs"
[[example]]
name = "regular_polygon"
crate-type = ["cdylib"]
path = "examples/regular_polygon/lib.rs"
[[example]]
name = "selective_sort"
crate-type = ["cdylib"]
path = "examples/selective_sort/lib.rs"
[[example]]
name = "solar_system"
crate-type = ["cdylib"]
path = "examples/solar_system/lib.rs"
[[example]]
name = "test"
crate-type = ["cdylib"]
path = "examples/test/lib.rs"
[[example]]
name = "tetrahedron_spheres"
crate-type = ["cdylib"]
path = "examples/tetrahedron_spheres/lib.rs"
[[example]]
name = "text_item"
crate-type = ["cdylib"]
path = "examples/text_item/lib.rs"
[[example]]
name = "thesis"
path = "examples/thesis/main.rs"
[dependencies.anyhow]
version = "1.0.102"
[dependencies.async-channel]
version = "2.5.0"
[dependencies.bytemuck]
version = "1.25.0"
features = ["derive"]
optional = true
[dependencies.derive_more]
version = "2.1.1"
features = [
"deref_mut",
"deref",
"index",
"index_mut",
"is_variant",
"as_ref",
"from",
"into_iterator",
]
[dependencies.egui]
version = "0.34.1"
optional = true
[dependencies.egui-phosphor]
version = "0.12.0"
optional = true
[dependencies.inventory]
version = "0.3.24"
[dependencies.itertools]
version = "0.14.0"
[dependencies.profiling]
version = "1.0.17"
features = ["profile-with-puffin"]
optional = true
[dependencies.puffin]
version = "0.19.1"
optional = true
[dependencies.puffin_http]
version = "0.16.1"
optional = true
[dependencies.ranim-anims]
version = "0.2.0"
[dependencies.ranim-core]
version = "0.2.0"
[dependencies.ranim-items]
version = "0.2.0"
[dependencies.ranim-macros]
version = "0.2.0"
[dependencies.ranim-render]
version = "0.2.0"
optional = true
[dependencies.tracing]
version = "0.1.44"
[dependencies.web-time]
version = "1.1.0"
optional = true
[dependencies.wgpu]
version = "29.0.1"
optional = true
[dev-dependencies.assert_float_eq]
version = "1.2.0"
[dev-dependencies.getrandom]
version = "0.3.4"
features = ["wasm_js"]
[dev-dependencies.rand]
version = "0.9.2"
[dev-dependencies.rand_chacha]
version = "0.9.0"
[target.'cfg(not(target_family = "wasm"))'.dependencies.eframe]
version = "0.34.1"
features = ["wgpu"]
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.flate2]
version = "1.1.9"
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.indicatif]
version = "0.18.4"
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.pollster]
version = "0.4.0"
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.reqwest]
version = "0.13.2"
features = ["blocking"]
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.tracing-indicatif]
version = "0.3.14"
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.which]
version = "8.0.2"
optional = true
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.pretty_env_logger]
version = "0.5.0"
[target.'cfg(target_family = "wasm")'.dependencies.console_error_panic_hook]
version = "0.1.7"
optional = true
[target.'cfg(target_family = "wasm")'.dependencies.eframe]
version = "0.34.1"
features = [
"accesskit",
"default_fonts",
"web_screen_reader",
"wgpu",
]
optional = true
default-features = false
[target.'cfg(target_family = "wasm")'.dependencies.wasm-bindgen]
version = "0.2.117"
[target.'cfg(target_family = "wasm")'.dependencies.wasm-bindgen-futures]
version = "0.4.67"
optional = true
[target.'cfg(target_family = "wasm")'.dependencies.wasm-tracing]
version = "2.1.0"
optional = true
[target.'cfg(target_family = "wasm")'.dependencies.web-sys]
version = "0.3.94"
optional = true
[profile.dev]
opt-level = 1
[profile.dev.package."*"]
opt-level = 3