schema_version = 1
[upstream]
repository = "https://github.com/erincatto/box3d.git"
commit = "781673be801569a94be7942848755fc0baad3653"
[vendor]
root = "boxddd-sys/third-party/box3d"
paths = [
"LICENSE",
"README.md",
"include/box3d/base.h",
"include/box3d/box3d.h",
"include/box3d/collision.h",
"include/box3d/config.h",
"include/box3d/constants.h",
"include/box3d/id.h",
"include/box3d/math_functions.h",
"include/box3d/types.h",
"src/aabb.c",
"src/aabb.h",
"src/algorithm.h",
"src/arena_allocator.c",
"src/arena_allocator.h",
"src/bitset.c",
"src/bitset.h",
"src/block_allocator.c",
"src/block_allocator.h",
"src/body.c",
"src/body.h",
"src/broad_phase.c",
"src/broad_phase.h",
"src/capsule.c",
"src/compound.c",
"src/compound.h",
"src/constraint_graph.c",
"src/constraint_graph.h",
"src/contact.c",
"src/contact.h",
"src/contact_solver.c",
"src/contact_solver.h",
"src/container.h",
"src/convex_manifold.c",
"src/core.c",
"src/core.h",
"src/ctz.h",
"src/distance.c",
"src/distance_joint.c",
"src/dynamic_tree.c",
"src/height_field.c",
"src/hull.c",
"src/hull.h",
"src/id_pool.c",
"src/id_pool.h",
"src/island.c",
"src/island.h",
"src/joint.c",
"src/joint.h",
"src/manifold.c",
"src/manifold.h",
"src/math_functions.c",
"src/math_internal.h",
"src/mesh.c",
"src/mesh_contact.c",
"src/motor_joint.c",
"src/mover.c",
"src/name_cache.c",
"src/name_cache.h",
"src/parallel_for.c",
"src/parallel_for.h",
"src/parallel_joint.c",
"src/physics_world.c",
"src/physics_world.h",
"src/platform.h",
"src/prismatic_joint.c",
"src/qsort.h",
"src/recording.c",
"src/recording.h",
"src/recording_ops.inl",
"src/recording_replay.c",
"src/recording_replay.h",
"src/revolute_joint.c",
"src/scheduler.c",
"src/scheduler.h",
"src/sensor.c",
"src/sensor.h",
"src/shape.c",
"src/shape.h",
"src/simd.c",
"src/simd.h",
"src/solver.c",
"src/solver.h",
"src/solver_set.c",
"src/solver_set.h",
"src/sphere.c",
"src/spherical_joint.c",
"src/table.c",
"src/table.h",
"src/timer.c",
"src/triangle_manifold.c",
"src/types.c",
"src/verstable.h",
"src/weld_joint.c",
"src/wheel_joint.c",
"src/world_snapshot.c",
"src/world_snapshot.h",
]
[[patches]]
path = "boxddd-sys/patches/0001-emscripten-single-thread-timer.patch"
sha256 = "9445a7ecac284aa9477659f2cfb91515208cad46d10707cec53a5b8044a7ff79"
target = "src/timer.c"
rationale = "Use Emscripten timing and synchronous thread semantics when the provider explicitly selects BOX3D_WASM_SINGLE_THREADED."
[[patches]]
path = "boxddd-sys/patches/0002-ccd-null-pre-solve-guard.patch"
sha256 = "3fa9333b58ee555c7253b7591af1b7bcb02b0f270c1a10d1290098fe79bae169"
target = "src/solver.c"
rationale = "Match the discrete contact path by treating an absent pre-solve callback as allow-all during continuous collision detection, including replay-owned worlds."
[provider]
module = "box3d-sys-v2"
asset_basename = "box3d-sys-v2"
bridge_revision = 2
supported_precisions = ["default"]
required_capabilities = [
"debug-draw",
"raw-symbol-provider",
"world-default-pre-solve-fallback",
"world-overlap-aabb",
"world-ray-cast",
]
intentionally_unsupported_capabilities = [
"dynamic-tree-visitors",
"recording-replay-debug-draw",
"standalone-geometry-visitors",
"task-system-callbacks",
"world-contact-and-material-callbacks",
"world-mover-collision-visitor",
"world-shape-cast-visitor",
"world-shape-overlap-visitor",
]
[bindings]
rust_contract = "boxddd-sys/src/upstream_contract.rs"
[bindings.default]
output = "boxddd-sys/src/bindings_pregenerated.rs"
features = ["bindgen"]
[bindings.double]
output = "boxddd-sys/src/bindings_pregenerated_double.rs"
features = ["bindgen", "double-precision"]
[samples]
inventory = "docs/upstream-parity/box3d-sample-inventory.json"
[capabilities]
inventory = "docs/upstream-parity/box3d-capability-inventory.json"
[fingerprints]
vendor = "9d20ff91dc0c64be3d2762be15e84cd267600a86d704ace2e5fd5cd09690e175"
headers = "f2c40bdbb5506997043e07d0e1e8e77c9d2f57398491e6de27561d4bbb054e5d"
patches = "93b0ce8f20fa749f8618e5a91a26c1a891303e6a1acae26160cc3f69a9ac0433"
bindings_default = "ba7f38b21e87aa58eb039e9458d6815c8128e107b914bd2aec11da4d6f5a105d"
bindings_double = "cde26e95b6dfdcce2b8547f3d46f2ddc5f606167bdc5ea104a830afbf1dfea30"
samples = "dce341110adeba31aa7ef2bdd0c8a59be30a12e679185cd8f99142f12f9d2c6a"
capabilities = "14ff04b5e4119ffda6986cf7046fc4e633b2a3b5cde10330686c4723f80ea4a4"
rust_contract = "d7c4bceb1a46dc87fcddd9645dc514e334aead75061473606e963c19de351806"