[package]
edition = "2024"
rust-version = "1.86"
name = "rapier2d"
version = "0.33.0"
authors = ["Sébastien Crozet <sebcrozet@dimforge.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "2-dimensional physics engine in Rust."
homepage = "https://rapier.rs"
documentation = "https://docs.rs/rapier2d"
readme = "README.md"
keywords = [
"physics",
"dynamics",
"rigid",
"real-time",
"impulse_joints",
]
categories = [
"science",
"game-development",
"mathematics",
"simulation",
"wasm",
]
license = "Apache-2.0"
repository = "https://github.com/dimforge/rapier"
resolver = "2"
[package.metadata.docs.rs]
features = [
"parallel",
"simd-stable",
"serde-serialize",
"debug-render",
]
[badges.maintenance]
status = "actively-developed"
[features]
alloc = [
"nalgebra/alloc",
"parry2d/alloc",
"serde?/alloc",
]
bytemuck = ["dep:bytemuck"]
debug-disable-legitimate-fe-exceptions = []
debug-render = []
default = [
"dim2",
"f32",
"std",
]
dev-remove-slow-accessors = []
dim2 = []
enhanced-determinism = [
"simba/libm_force",
"parry2d/enhanced-determinism",
]
f32 = []
parallel = [
"dep:rayon",
"std",
]
profiler = ["dep:web-time"]
serde-serialize = [
"nalgebra/serde-serialize",
"parry2d/serde-serialize",
"dep:serde",
"std",
]
simd-is-enabled = []
simd-nightly = [
"simba/portable_simd",
"parry2d/simd-nightly",
"simd-is-enabled",
]
simd-stable = [
"simba/wide",
"parry2d/simd-stable",
"simd-is-enabled",
]
std = [
"alloc",
"parry2d/std",
"nalgebra/std",
"simba/std",
"num-traits/std",
"approx/std",
"thiserror/std",
"wide/std",
"serde?/std",
]
[lib]
name = "rapier2d"
path = "src/lib.rs"
doctest = false
required-features = [
"dim2",
"f32",
]
[dependencies.approx]
version = "0.5"
default-features = false
[dependencies.bitflags]
version = "2"
[dependencies.bytemuck]
version = "1"
features = ["derive"]
optional = true
[dependencies.glamx]
version = "0.3"
default-features = false
[dependencies.log]
version = "0.4"
[dependencies.num-traits]
version = "0.2"
default-features = false
[dependencies.parry2d]
version = "0.28"
features = ["required-features"]
default-features = false
[dependencies.profiling]
version = "1.0"
[dependencies.rayon]
version = "1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
default-features = false
[dependencies.simba]
version = "0.10"
default-features = false
[dependencies.static_assertions]
version = "1"
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.web-time]
version = "1.1"
optional = true
[dependencies.wide]
version = "1"
default-features = false
[dev-dependencies.bincode]
version = "1"
[dev-dependencies.oorandom]
version = "11"
default-features = false
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[target.'cfg(not(target_arch = "spirv"))'.dependencies.glamx]
version = "0.3"
features = ["nalgebra"]
default-features = false
[target.'cfg(not(target_arch = "spirv"))'.dependencies.nalgebra]
version = "0.35"
features = ["macros"]
default-features = false
[lints.clippy]
needless_lifetimes = "allow"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
'cfg(feature, values("dim3", "f64", "std", "alloc"))',
'cfg(target_arch, values("spirv"))',
]