Reorganize the CHANGELOG for the next version.
This commit is contained in:
45
CHANGELOG.md
45
CHANGELOG.md
@@ -11,48 +11,61 @@ The user-guide has been fully rewritten and is now exhaustive! Check it out on [
|
|||||||
`RigidBodyType::KinematicVelocityBased`.
|
`RigidBodyType::KinematicVelocityBased`.
|
||||||
|
|
||||||
### Modified
|
### Modified
|
||||||
- Renamed `BodyStatus` to `RigidBodyType`.
|
The use of `RigidBodySet, ColliderSet, RigidBody, Collider` is no longer mandatory. Rigid-bodies and colliders have
|
||||||
|
been split into multiple components that can be stored in a user-defined set. This is useful for integrating Rapier
|
||||||
|
with other engines (for example this allows use to use Bevy's Query as our rigid-body/collider sets).
|
||||||
|
|
||||||
FIXME:
|
The `RigidBodySet, ColliderSet, RigidBody, Collider` are still the best option for whoever doesn't want to
|
||||||
|
provide their own component sets.
|
||||||
|
|
||||||
|
#### Rigid-bodies
|
||||||
|
- Renamed `BodyStatus` to `RigidBodyType`.
|
||||||
- `RigidBodyBuilder::translation` now takes a vector instead of individual components.
|
- `RigidBodyBuilder::translation` now takes a vector instead of individual components.
|
||||||
- `RigidBodyBuilder::linvel` now takes a vector instead of individual components.
|
- `RigidBodyBuilder::linvel` now takes a vector instead of individual components.
|
||||||
|
- The `RigidBodyBuilder::new_kinematic` has be replaced by the `RigidBodyBuilder::new_kinematic_position_based` and
|
||||||
|
`RigidBodyBuilder::new_kinematic_velocity_based` constructors.
|
||||||
|
- The `RigidBodyType::Kinematic` variant has been replaced by two variants: `RigidBodyType::KinematicVelocityBased` and
|
||||||
|
`RigidBodyType::KinematicPositionBased`.
|
||||||
|
|
||||||
|
#### Colliders
|
||||||
- `Colliderbuilder::translation` now takes a vector instead of individual components.
|
- `Colliderbuilder::translation` now takes a vector instead of individual components.
|
||||||
- The way `PhysicsHooks` are enabled changed. Now, a physics hooks is executed if any of the two
|
- The way `PhysicsHooks` are enabled changed. Now, a physics hooks is executed if any of the two
|
||||||
colliders involved in the contact/intersection pair contains the related `PhysicsHooksFlag`.
|
colliders involved in the contact/intersection pair contains the related `PhysicsHooksFlag`.
|
||||||
These flags are configured on each collider with `ColliderBuilder::active_hooks`. As a result,
|
These flags are configured on each collider with `ColliderBuilder::active_hooks`. As a result,
|
||||||
there is no `PhysicsHooks::active_hooks` method any more.
|
there is no `PhysicsHooks::active_hooks` method any more.
|
||||||
|
- All events are now disabled for all colliders by default. Enable events for specific colliders by setting its
|
||||||
|
`active_events` bit mask to `ActiveEvents::CONTACT_EVENTS` and/or `ActiveEvents::PROXIMITY_EVENTS`.
|
||||||
|
- Add a simpler way of enabling collision-detection between colliders attached to two non-dynamic rigid-bodies: see
|
||||||
|
`ColliderBuilder::active_collision_types`.
|
||||||
|
- The `InteractionGroups` is now a structures with two `u32` integers: one integers for the groups
|
||||||
|
membership and one for the group filter mask. (Before, both were only 16-bits wide, and were
|
||||||
|
packed into a single `u32`).
|
||||||
- Before, sensor colliders had a default density set to 0.0 whereas non-sensor colliders had a
|
- Before, sensor colliders had a default density set to 0.0 whereas non-sensor colliders had a
|
||||||
default density of 1.0. This has been unified by setting the default density to 1.0 for both
|
default density of 1.0. This has been unified by setting the default density to 1.0 for both
|
||||||
sensor and non-sensor colliders.
|
sensor and non-sensor colliders.
|
||||||
- Colliders are no longer required to be attached to a rigid-body. Therefore, `ColliderSet::insert`
|
- Colliders are no longer required to be attached to a rigid-body. Therefore, `ColliderSet::insert`
|
||||||
only takes the collider as argument now. In order to attach the collider to a rigid-body,
|
only takes the collider as argument now. In order to attach the collider to a rigid-body,
|
||||||
(i.e., the old behavior of `ColliderSet::insert`), use `ColliderSet::insert_with_parent`.
|
(i.e., the old behavior of `ColliderSet::insert`), use `ColliderSet::insert_with_parent`.
|
||||||
- The field `ContactPair::pair` (which contained two collider handles) has been replaced by two
|
- Fixed a bug where collision groups were ignored by CCD.
|
||||||
fields: `ContactPair::collider1` and `ContactPair::collider2`.
|
|
||||||
|
#### Joints
|
||||||
- The fields `FixedJoint::local_anchor1` and `FixedJoint::local_anchor2` have been renamed to
|
- The fields `FixedJoint::local_anchor1` and `FixedJoint::local_anchor2` have been renamed to
|
||||||
`FixedJoint::local_frame1` and `FixedJoint::local_frame2`.
|
`FixedJoint::local_frame1` and `FixedJoint::local_frame2`.
|
||||||
|
|
||||||
|
#### Pipelines and others
|
||||||
|
- The field `ContactPair::pair` (which contained two collider handles) has been replaced by two
|
||||||
|
fields: `ContactPair::collider1` and `ContactPair::collider2`.
|
||||||
- The list of active dynamic bodies is no retrieved with `IslandManager::active_dynamic_bodies`
|
- The list of active dynamic bodies is no retrieved with `IslandManager::active_dynamic_bodies`
|
||||||
instead of `RigidBodySet::iter_active_dynamic`.
|
instead of `RigidBodySet::iter_active_dynamic`.
|
||||||
- The list of active kinematic bodies is no retrieved with `IslandManager::active_kinematic_bodies`
|
- The list of active kinematic bodies is no retrieved with `IslandManager::active_kinematic_bodies`
|
||||||
instead of `RigidBodySet::iter_active_kinematic`.
|
instead of `RigidBodySet::iter_active_kinematic`.
|
||||||
- The `InteractionGroups` is now a structures with two `u32` integers: one integers for the groups
|
|
||||||
membership and one for the group filter mask. (Before, both were only 16-bits wide, and were
|
|
||||||
packed into a single `u32`).
|
|
||||||
- `NarrowPhase::contacts_with` now returns an `impl Iterator<Item = &ContactPair>` instead of
|
- `NarrowPhase::contacts_with` now returns an `impl Iterator<Item = &ContactPair>` instead of
|
||||||
an `Option<impl Iterator<Item = (ColliderHandle, ColliderHandle, &ContactPair)>>`. The colliders
|
an `Option<impl Iterator<Item = (ColliderHandle, ColliderHandle, &ContactPair)>>`. The colliders
|
||||||
handles can be read from the contact-pair itself.
|
handles can be read from the contact-pair itself.
|
||||||
- `NarrowPhase::intersections_with` now returns an iterator directly instead of an `Option<impl Iterator>`.
|
- `NarrowPhase::intersections_with` now returns an iterator directly instead of an `Option<impl Iterator>`.
|
||||||
- Rename `PhysicsHooksFlags` to `ActiveHooks`.
|
- Rename `PhysicsHooksFlags` to `ActiveHooks`.
|
||||||
- The `RigidBodyBuilder::new_kinematic` has be replaced by the `RigidBodyBuilder::new_kinematic_position_based` and
|
|
||||||
`RigidBodyBuilder::new_kinematic_velocity_based` constructors.
|
|
||||||
- The `RigidBodyType::Kinematic` variant has been replaced by two variants: `RigidBodyType::KinematicVelocityBased` and
|
|
||||||
`RigidBodyType::KinematicPositionBased`.
|
|
||||||
- Fixed a bug where collision groups were ignored by CCD.
|
|
||||||
- Add the contact pair as an argument to `EventHandler::handle_contact_event`
|
- Add the contact pair as an argument to `EventHandler::handle_contact_event`
|
||||||
- All events are now disabled for all colliders by default. Enable events for specific colliders by setting its
|
|
||||||
`active_events` bit mask to `ActiveEvents::CONTACT_EVENTS` and/or `ActiveEvents::PROXIMITY_EVENTS`.
|
|
||||||
- Add a simpler way of enabling collision-detection between colliders attached to two non-dynamic rigid-bodies: see
|
|
||||||
`ColliderBuilder::active_collision_types`.
|
|
||||||
|
|
||||||
## v0.8.0
|
## v0.8.0
|
||||||
### Modified
|
### Modified
|
||||||
|
|||||||
Reference in New Issue
Block a user