[workspace]
members = ["."]
exclude = ["ballistics-engine-rb", "ballistics-engine-py"]
[package]
name = "ballistics-engine"
version = "0.13.21"
edition = "2021"
authors = ["Alex Jokela <email@tinycomputers.io>"]
description = "High-performance ballistics trajectory engine with professional physics"
license = "MIT OR Apache-2.0"
repository = "https://github.com/ajokela/ballistics-engine"
homepage = "https://ballistics.rs/"
documentation = "https://docs.rs/ballistics-engine"
keywords = ["ballistics", "trajectory", "physics", "simulation"]
categories = ["science", "simulation"]
exclude = [
"app/",
"tests/",
"examples/",
"ios.png",
"pkg/",
"pkg-nodejs/",
"test_ffi.c",
"test_monte_carlo.py",
"ballistics_standalone.rs",
"ballistics/",
"ballistics",
"src/main.rs",
"src/bin/",
"ballistics-engine-py/",
"ballistics-engine-rb/",
"ballistics-engine-rb.bak/",
"BallisticsEngine.xcframework/",
"BallisticsEngine.xcframework.bak/",
"*.xcframework",
"doc/",
"target/",
"*.bak"
]
[features]
default = []
online = ["dep:ureq"]
[dependencies]
nalgebra = "0.34"
once_cell = "1.19"
ndarray = "0.15"
ndarray-npy = "0.8"
rayon = "1.10"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
clap = { version = "4.5", features = ["derive"] }
csv = "1.3"
thiserror = "2.0"
rand = "0.8"
rand_distr = "0.4"
ureq = { version = "2.12", optional = true, features = ["json"] }
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
web-sys = { version = "0.3", features = ["console"] }
js-sys = "0.3"
serde-wasm-bindgen = "0.6"
getrandom = { version = "0.2", features = ["js"] }
[dev-dependencies]
approx = "0.5"
criterion = "0.8"
wasm-bindgen-test = "0.3"
[[bin]]
name = "ballistics"
path = "src/main.rs"
[[bin]]
name = "ballistics-cli"
path = "src/bin/ballistics_cli.rs"
[lib]
name = "ballistics_engine"
crate-type = ["rlib", "staticlib", "cdylib"]
[profile.release]
opt-level = 3
lto = true
codegen-units = 1