[package]
name = "rustmotion"
version.workspace = true
edition = "2021"
description = "A CLI tool that renders motion design videos from JSON scenarios. No browser, no Node.js — just a single Rust binary."
license = "MIT"
repository = "https://github.com/LeadcodeDev/rustmotion"
[lib]
path = "src/lib.rs"
[dependencies]
rustmotion-core.workspace = true
rustmotion-components = { workspace = true, features = ["lottie-native"] }
rustmotion-html.workspace = true
skia-safe = "0.82"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
openh264 = "0.6"
minimp4 = { version = "0.1", features = ["aac"] }
gif = "0.13"
symphonia = { version = "0.5", features = ["mp3", "wav", "ogg", "flac", "aac"] }
rubato = "0.16"
notify = "7"
rayon = "1"
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp"] }
syntect = { version = "5", default-features = false, features = ["default-fancy"] }
similar = "2"
resvg = "0.44"
usvg = "0.44"
tiny-skia = "0.11"
ureq = "3"
rustfft = "6"
[features]
ffmpeg_integration = []
lottie-native = ["rustmotion-components/lottie-native"]
[dev-dependencies]
schemars = "0.8"