aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG13
-rw-r--r--build/rapier2d/Cargo.toml2
-rw-r--r--build/rapier3d/Cargo.toml2
-rw-r--r--build/rapier_testbed2d/Cargo.toml4
-rw-r--r--build/rapier_testbed3d/Cargo.toml4
5 files changed, 19 insertions, 6 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 06eea7d..aba1ac2 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,16 @@
+## v0.3.0
+- Collider shapes are now trait-objects instead of a `Shape` enum.
+- Add a user-defined `u128` to each colliders and rigid-bodies for storing user data.
+- Add the support for `Cylinder`, `RoundCylinder`, and `Cone` shapes.
+- Added the support for collision filtering based on bit masks (often known as collision groups, collision masks, or
+ collision layers in other physics engines). Each collider has two groups. Their `collision_groups` is used for filtering
+ what pair of colliders should have their contacts computed by the narrow-phase. Their `solver_groups` is used for filtering
+ what pair of colliders should have their contact forces computed by the constraints solver.
+- Collision groups can also be used to filter what collider should be hit by a ray-cast performed by the `QueryPipeline`.
+- Added collision filters based on user-defined trait-objects. This adds two traits `ContactPairFilter` and
+ `ProximityPairFilter` that allows user-defined logic for determining if two colliders/sensors are allowed to interact.
+- The `PhysicsPipeline::step` method now takes two additional arguments: the optional `&ContactPairFilter` and `&ProximityPairFilter`
+for filtering contact and proximity pairs.
## v0.2.1
- Fix panic in TriMesh construction and QueryPipeline update caused by a stack overflow or a subtraction underflow.
diff --git a/build/rapier2d/Cargo.toml b/build/rapier2d/Cargo.toml
index 34809f2..d963079 100644
--- a/build/rapier2d/Cargo.toml
+++ b/build/rapier2d/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rapier2d"
-version = "0.2.1"
+version = "0.3.0"
authors = [ "Sébastien Crozet <developer@crozet.re>" ]
description = "2-dimensional physics engine in Rust."
documentation = "http://docs.rs/rapier2d"
diff --git a/build/rapier3d/Cargo.toml b/build/rapier3d/Cargo.toml
index 5cc1de9..f5c2fe4 100644
--- a/build/rapier3d/Cargo.toml
+++ b/build/rapier3d/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rapier3d"
-version = "0.2.1"
+version = "0.3.0"
authors = [ "Sébastien Crozet <developer@crozet.re>" ]
description = "3-dimensional physics engine in Rust."
documentation = "http://docs.rs/rapier3d"
diff --git a/build/rapier_testbed2d/Cargo.toml b/build/rapier_testbed2d/Cargo.toml
index 87610c3..08c0893 100644
--- a/build/rapier_testbed2d/Cargo.toml
+++ b/build/rapier_testbed2d/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rapier_testbed2d"
-version = "0.2.0"
+version = "0.3.0"
authors = [ "Sébastien Crozet <developer@crozet.re>" ]
description = "Testbed for the 2-dimensional physics engine in Rust."
homepage = "http://rapier.org"
@@ -42,5 +42,5 @@ md5 = "0.7"
[dependencies.rapier2d]
path = "../rapier2d"
-version = "0.2"
+version = "0.3"
features = [ "serde-serialize" ]
diff --git a/build/rapier_testbed3d/Cargo.toml b/build/rapier_testbed3d/Cargo.toml
index e99d741..7fa01d7 100644
--- a/build/rapier_testbed3d/Cargo.toml
+++ b/build/rapier_testbed3d/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rapier_testbed3d"
-version = "0.2.0"
+version = "0.3.0"
authors = [ "Sébastien Crozet <developer@crozet.re>" ]
description = "Testbed for the 3-dimensional physics engine in Rust."
homepage = "http://rapier.org"
@@ -44,5 +44,5 @@ serde = { version = "1", features = [ "derive" ] }
[dependencies.rapier3d]
path = "../rapier3d"
-version = "0.2"
+version = "0.3"
features = [ "serde-serialize" ]