[package]
edition = "2024"
name = "boxddd"
version = "0.1.0"
authors = ["Mingzhen Zhuang <superfrankie621@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Safe, ergonomic Rust bindings for Box3D"
homepage = "https://github.com/Latias94/boxddd"
documentation = "https://docs.rs/boxddd"
readme = "README.md"
keywords = [
"box3d",
"physics",
"game",
"simulation",
]
categories = ["game-engines"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Latias94/boxddd"
[package.metadata.docs.rs]
all-features = false
no-default-features = false
features = []
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
cgmath = ["dep:cgmath"]
default = []
disable-simd = ["boxddd-sys/disable-simd"]
double-precision = ["boxddd-sys/double-precision"]
egui-example = ["dep:eframe"]
glam = ["dep:glam"]
mint = ["dep:mint"]
nalgebra = ["dep:nalgebra"]
serde = ["dep:serde"]
serialize = ["serde"]
tokio-example = ["dep:tokio"]
validate = ["boxddd-sys/validate"]
[lib]
name = "boxddd"
path = "src/lib.rs"
[[example]]
name = "advanced_collision"
path = "examples/advanced_collision.rs"
[[example]]
name = "body_controls"
path = "examples/body_controls.rs"
[[example]]
name = "character_mover"
path = "examples/character_mover.rs"
[[example]]
name = "compound_query"
path = "examples/compound_query.rs"
[[example]]
name = "continuous_collision"
path = "examples/continuous_collision.rs"
[[example]]
name = "determinism"
path = "examples/determinism.rs"
[[example]]
name = "dynamic_tree"
path = "examples/dynamic_tree.rs"
[[example]]
name = "egui_debug_draw"
path = "examples/egui_debug_draw.rs"
required-features = ["egui-example"]
[[example]]
name = "error_handling"
path = "examples/error_handling.rs"
[[example]]
name = "events"
path = "examples/events.rs"
[[example]]
name = "glam_interop"
path = "examples/glam_interop.rs"
required-features = ["glam"]
[[example]]
name = "hello_world"
path = "examples/hello_world.rs"
[[example]]
name = "joints"
path = "examples/joints.rs"
[[example]]
name = "mesh_height_field_query"
path = "examples/mesh_height_field_query.rs"
[[example]]
name = "mint_interop"
path = "examples/mint_interop.rs"
required-features = ["mint"]
[[example]]
name = "nalgebra_interop"
path = "examples/nalgebra_interop.rs"
required-features = ["nalgebra"]
[[example]]
name = "physics_thread"
path = "examples/physics_thread.rs"
[[example]]
name = "recording_replay"
path = "examples/recording_replay.rs"
[[example]]
name = "shape_queries"
path = "examples/shape_queries.rs"
[[example]]
name = "task_system"
path = "examples/task_system.rs"
[[example]]
name = "tokio_async_bridge"
path = "examples/tokio_async_bridge.rs"
required-features = ["tokio-example"]
[[example]]
name = "wasm_smoke"
path = "examples/wasm_smoke.rs"
[[test]]
name = "api_coverage"
path = "tests/api_coverage.rs"
[[test]]
name = "buffer_reuse"
path = "tests/buffer_reuse.rs"
[[test]]
name = "collision_aabb"
path = "tests/collision_aabb.rs"
[[test]]
name = "collision_validation"
path = "tests/collision_validation.rs"
[[test]]
name = "debug_draw"
path = "tests/debug_draw.rs"
[[test]]
name = "determinism"
path = "tests/determinism.rs"
[[test]]
name = "dynamic_tree"
path = "tests/dynamic_tree.rs"
[[test]]
name = "events_and_sensors"
path = "tests/events_and_sensors.rs"
[[test]]
name = "handle_validity_panics"
path = "tests/handle_validity_panics.rs"
[[test]]
name = "hello_world"
path = "tests/hello_world.rs"
[[test]]
name = "interop"
path = "tests/interop.rs"
[[test]]
name = "joint_new_apis"
path = "tests/joint_new_apis.rs"
[[test]]
name = "joint_runtime"
path = "tests/joint_runtime.rs"
[[test]]
name = "joints"
path = "tests/joints.rs"
[[test]]
name = "manifold_collision"
path = "tests/manifold_collision.rs"
[[test]]
name = "math"
path = "tests/math.rs"
[[test]]
name = "mover_api"
path = "tests/mover_api.rs"
[[test]]
name = "panic_across_ffi_is_caught"
path = "tests/panic_across_ffi_is_caught.rs"
[[test]]
name = "raw_interop"
path = "tests/raw_interop.rs"
[[test]]
name = "recording"
path = "tests/recording.rs"
[[test]]
name = "serde_values"
path = "tests/serde_values.rs"
[[test]]
name = "shape_geometry_validation"
path = "tests/shape_geometry_validation.rs"
[[test]]
name = "shape_resources"
path = "tests/shape_resources.rs"
[[test]]
name = "shape_runtime"
path = "tests/shape_runtime.rs"
[[test]]
name = "task_system"
path = "tests/task_system.rs"
[[test]]
name = "try_api"
path = "tests/try_api.rs"
[[test]]
name = "world_and_queries"
path = "tests/world_and_queries.rs"
[[test]]
name = "world_callbacks"
path = "tests/world_callbacks.rs"
[[test]]
name = "world_destroy_and_recycle"
path = "tests/world_destroy_and_recycle.rs"
[[test]]
name = "world_runtime"
path = "tests/world_runtime.rs"
[dependencies.boxddd-sys]
version = "0.1.0"
[dependencies.cgmath]
version = "0.18"
optional = true
[dependencies.eframe]
version = "0.35.0"
features = ["wgpu"]
optional = true
[dependencies.glam]
version = "0.33"
optional = true
[dependencies.mint]
version = "0.5"
optional = true
[dependencies.nalgebra]
version = "0.35"
features = ["std"]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1.52.3"
features = [
"macros",
"rt",
"sync",
]
optional = true
[dev-dependencies.anyhow]
version = "1.0.103"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.static_assertions]
version = "1"