[package] name = "bevy_xpbd_3d" version = "0.5.0" edition = "2021" license = "MIT OR Apache-2.0" authors = ["Joona Aalto "] description = "Deprecated, use `avian3d` instead. A physics engine based on Extended Position Based Dynamics for the Bevy game engine" documentation = "https://docs.rs/bevy_xpbd_3d" repository = "https://github.com/Jondolf/bevy_xpbd" readme = "README.md" keywords = ["gamedev", "physics", "simulation", "xpbd", "bevy"] categories = ["game-development", "science", "simulation"] [badges] maintenance = { status = "deprecated" } [features] default = [ "3d", "f32", "parry-f32", "async-collider", "debug-plugin", "parallel", ] 3d = [] f32 = [] f64 = [] debug-plugin = ["bevy/bevy_gizmos", "bevy/bevy_render"] simd = ["parry3d?/simd-stable", "parry3d-f64?/simd-stable"] parallel = ["parry3d?/parallel", "parry3d-f64?/parallel"] enhanced-determinism = [ "parry3d?/enhanced-determinism", "parry3d-f64?/enhanced-determinism", "bevy_math/libm", ] default-collider = ["dep:nalgebra"] # We unfortunately can't reuse the f32 and f64 features for this, # because Parry uses separate crates for f32 and f64. parry-f32 = ["f32", "dep:parry3d", "default-collider"] parry-f64 = ["f64", "dep:parry3d-f64", "default-collider"] collider-from-mesh = ["bevy/bevy_render"] async-collider = ["bevy/bevy_scene", "bevy/bevy_gltf", "collider-from-mesh"] serialize = [ "dep:serde", "bevy/serialize", "parry3d?/serde-serialize", "parry3d-f64?/serde-serialize", ] [lib] name = "bevy_xpbd_3d" path = "src/lib.rs" required-features = ["3d"] [dependencies] bevy_xpbd_derive = { path = "../bevy_xpbd_derive", version = "0.1" } bevy = { version = "0.14", default-features = false } bevy_math = { version = "0.14" } parry3d = { version = "0.15", optional = true } parry3d-f64 = { version = "0.15", optional = true } nalgebra = { version = "0.32.6", features = [ "convert-glam027", ], optional = true } serde = { version = "1", features = ["derive"], optional = true } derive_more = "0.99" indexmap = "2.0.0" fxhash = "0.2.1" itertools = "0.13" [dev-dependencies] examples_common_3d = { path = "../examples_common_3d" } benches_common_3d = { path = "../benches_common_3d" } bevy_math = { version = "0.14", features = ["approx"] } approx = "0.5" criterion = { version = "0.5", features = ["html_reports"] } insta = "1.0" [[example]] name = "dynamic_character_3d" required-features = ["3d", "default-collider", "async-collider"] [[example]] name = "kinematic_character_3d" required-features = ["3d", "default-collider", "async-collider"] [[example]] name = "cast_ray_predicate" required-features = ["3d", "default-collider"] [[example]] name = "chain_3d" required-features = ["3d", "default-collider"] [[example]] name = "cubes" required-features = ["3d", "default-collider"] [[example]] name = "custom_broad_phase" required-features = ["3d", "default-collider"] [[example]] name = "custom_constraint" required-features = ["3d", "default-collider"] [[example]] name = "distance_joint_3d" required-features = ["3d", "default-collider", "debug-plugin"] [[example]] name = "fixed_joint_3d" required-features = ["3d", "default-collider"] [[example]] name = "prismatic_joint_3d" required-features = ["3d", "default-collider"] [[example]] name = "revolute_joint_3d" required-features = ["3d", "default-collider"] [[example]] name = "trimesh_shapes_3d" required-features = ["3d", "default-collider"] [[example]] name = "async_colliders" required-features = ["3d", "default-collider", "async-collider"] [[bench]] name = "cubes" required-features = ["3d", "default-collider"] harness = false