Commit Graph

126 Commits

Author SHA1 Message Date
Sébastien Crozet
95bd6fcfeb feat: switch to the new Bvh from parry for the broad-phase (#853)
* feat: switch to the new Bvh from parry for the broad-phase

* chore: cargo fmt + update testbed

* chore: remove the multi-grid SAP broad-phase

* fix soft-ccd handling in broad-phase

* Fix contact cleanup in broad-phase after collider removal

* chore: clippy fixes

* fix CCD regression

* chore: update changelog

* fix build with the parallel feature enabled

* chore: remove the now useless broad-phase proxy index from colliders

* fix tests
2025-07-11 22:36:40 +02:00
Sébastien Crozet
cd7fc6e11f Release v0.26.1 2025-05-23 18:34:35 +02:00
Sébastien Crozet
9a76f9f893 chore: update CHANGELOG 2025-05-16 19:27:02 +02:00
Sébastien Crozet
1ebc95e88a Release v0.25.1 2025-05-02 15:16:43 +02:00
Sébastien Crozet
0e4a5c8539 Release v0.25.0 (#827) 2025-04-24 13:43:32 +02:00
Sébastien Crozet
e44f636249 feat: add support for Voxels collider (#823)
* feat: start adding voxels support and some additional testbed demo settings

* feat: add support for parry’s new Voxels collider shape

* fix voxels demos

* feat: support rectangular voxels and additional voxels initialization

* chore: switch to parry 0.20

* chore: fix cargo doc

* Fix testbed build
2025-04-24 12:11:53 +02:00
Bruce Mitchener
1c67c5e7f2 Make MeshConverter enum derive Copy (#821) 2025-04-11 16:45:21 +02:00
Sébastien Crozet
ed7e6393b8 Release v0.24.0 (#820) 2025-04-10 12:44:58 +02:00
Thierry Berger
2f9d9ba94b Add partialeq to integrationparameters (#801) 2025-03-10 09:05:34 +01:00
Sébastien Crozet
a8f11b9b9d Release v0.23.1 (#806)
The changes on the testbed are breaking, so we need to wait for the next minor version bump in rapier to release it.
2025-03-05 22:54:41 +01:00
Sébastien Crozet
49fba6cd54 feat: rename AxisMask to AxesMask + enable LIN_Z only in 3D (#805) 2025-03-05 18:07:19 +01:00
Sébastien Crozet
108a2a18d6 feat: add PD and PID controller implementations (#804)
* feat: add a PID controller implementation

* feat: add small rigid-body utilities + test interpolation test

* fix: make scrolling weaker on macos

* feat: add the option to use the PID controller in the character controller demo.

* feat: add a stateless PD controller

* feat(rapier_testbed): cleanup & support PidController in 2D too

* chore: add comments for the PD and PID controllers

* chore: update changelog

* feat: rename PidErrors to PdErrors which is more accurate

* fix cargo doc

* chore: remove dead code

* chore: make test module non-pub
2025-03-05 14:06:49 +01:00
Thierry Berger
bf8e48e920 Incorrect narrow_phase collisions after using ColliderSet::set_parent (#742)
* reproduction for case 1 (no collision)

* test for wrong self intersection after Collider::set_parent

* dynamics: remove new parent from contact and intersection graph ; maybe should be removed from graph_indices too?

* parent testing at the same place a interaction group check, to avoid missing parent change

* add more asserts in test + more correct comments

* add changelog

* Update CHANGELOG.md

* chore: remove debug print statements

* chore: improve narrow-phase test to check for re-re-parenting

* fix: remove unneeded narrow-phase pair removal

---------

Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
2025-02-02 14:53:30 +01:00
gak
4867586c8c Fix year to 2025 in changelog (#786) 2025-01-12 08:10:53 +01:00
Sébastien Crozet
f2efccfd58 Release v0.23.0 (#782) 2025-01-08 22:36:41 +01:00
Thierry Berger
dc4bd24da8 Update to Parry 0.18 (#770)
* update to parry ~main

* use traverse_depth_first

* add example to test intersection

* rely on upstream PR rather than local

* re-enable profiler_ui for examples

* rely on official parry repository

* chore: switch back to the published version of parry

* chore: update changelog

* chore: remove dead code

* fix compilation of rapier3d-meshloader and rapier3d-urdf

* chore: cargo fmt

---------

Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
2025-01-08 17:16:34 +01:00
Thierry Berger
cf77b5bf57 Remove instant dependency in favor of web-time (#767) 2024-12-06 12:54:00 +01:00
Thierry Berger
510237cc29 Profiling support (#743) 2024-11-19 16:33:26 +01:00
Thierry Berger
684f3a3054 Fix character controller ground detection (#715) 2024-11-19 15:32:37 +01:00
Dragos Daian
513ab3d1fc Fixes default values for wasm32 for physics hooks (#740)
* Fixes default values for wasm32 for physics hooks

---------

Co-authored-by: Thierry Berger <contact@thierryberger.com>
2024-11-15 11:00:14 +01:00
Thierry Berger
76357e3588 Fix CharacterController max/min slope handling (#701) 2024-09-23 11:10:29 +02:00
Bruce Mitchener
e7e196d9f9 Improve capacity handling for ColliderSet, RigidBodySet. (#726)
These allow an application to reduce the cost of reallocation when
they know that a large number of colliders or rigid bodies will
be created.
2024-09-16 16:45:14 +02:00
Thierry Berger
c714ff81f2 ImpulseJointSet::get_mut option to wake up connected bodies (#716) 2024-09-13 10:48:56 +02:00
Thierry Berger
b66452b6c5 Fix string serialization for broadphase multisap (regions) (#710)
* serialize regions as vec
2024-08-09 17:55:43 +02:00
Bruce Mitchener
ed133e1ea9 Fix more typos. (#712)
These are ones not found by `typos` for various reasons.
2024-08-09 14:31:08 +02:00
Aceeri
510686a906 InteractionGroups default memberships value is now GROUP_1 (#706)
Co-authored-by: Thierry Berger <contact@thierryberger.com>
2024-08-05 18:14:44 +02:00
Ben Harper
af3a26c99d Improve distant object panics in broad phase (#128)
Co-authored-by: Thierry Berger <contact@thierryberger.com>
2024-08-05 17:19:52 +02:00
Sébastien Crozet
cf74150763 Release v0.22.0 (#695) 2024-07-20 17:14:43 +02:00
Thierry Berger
0ff55411a4 More Debug derives. (#686) 2024-07-19 16:13:25 +02:00
Thierry Berger
6a295d3e8e Fix string serialization for broadphase multisap (#675) 2024-07-15 14:39:56 +02:00
Thierry Berger
87ada34008 Fix QueryFilterFlags values having a bitshift too much (#673) 2024-07-08 16:53:30 +02:00
Sébastien Crozet
de82bea9c0 chore: update changelog 2024-07-07 15:22:55 +02:00
Roman
66b6b55ea2 Rotation gizmo for Ball 2d collider (#670) 2024-07-01 10:49:41 +02:00
Sébastien Crozet
0089365e66 Release v0.21.0 (#665) 2024-06-23 23:48:04 +02:00
Thierry Berger
5308a28435 fix: less invasive solve_character_collision_impulses function (#652)
* fix: less invasive `solve_character_collision_impulses` function

Taking ownership of the elements is not necessary.

It also conveys the information that elements are only read.

* Add Changelog
2024-06-23 23:01:55 +02:00
Thierry Berger
3e8650f3a7 Fix delta_time being 0 resulting in incorrect simulation (#660)
* Add failing test

* fix tests

* better fix

* add changelog

* fix propagated to `contact_cfm_factor`

* PR feedback

* more PR feedbacks
2024-06-23 18:18:54 +02:00
Thierry Berger
05c3925884 fix: Fixed typo in castShape functions (#653) 2024-06-13 11:31:49 +02:00
Sébastien Crozet
b3dc1c1960 Release Rapier 0.20.0 (#651) 2024-06-09 14:59:27 +02:00
Thierry Berger
9367198282 feat: rework QueryPipeline update API to take less parameters (#647)
* chore: rework QueryPipeline API to take a generic qbvh updater

This allows to pass less parameters depending on the updating mode.

* chore: rework struct and functions names, and docs

---------

Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
2024-06-09 14:16:03 +02:00
Thierry Berger
8160b4ebdb feat: change the character controller’s solve_character_collision_impulses to take multiple CharacterCollision (#646)
* character controller: solve multiple collisions

* add solve multiple collisions to changelog

* chore: apply review comments

---------

Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
2024-06-09 13:20:58 +02:00
Sébastien Crozet
a8a0f297f5 feat: add RevoluteJoint::angle to compute the revolute joint’s angle 2024-06-09 13:20:09 +02:00
Sébastien Crozet
edaa36ac7e chore: add more comments 2024-06-09 12:09:58 +02:00
Sébastien Crozet
a8739036c0 chore: update changelog 2024-06-09 12:09:58 +02:00
Thierry Berger
1054894480 updated changelog 2024-06-03 15:24:04 +02:00
Sébastien Crozet
798406e00d chore: update changelog 2024-05-25 12:00:15 +02:00
Sébastien Crozet
62379de9ec feat: add simple inverse-kinematics solver for multibodies (#632)
* feat: add a simple jacobian-based inverse-kinematics implementation for multibodies

* feat: add 2d inverse kinematics example

* feat: make forward_kinematics auto-fix the root’s degrees of freedom

* feat: add 3d inverse kinematics example

* chore: update changelog

* chore: clippy fixes

* chore: more clippy fixes

* fix tests
2024-05-25 10:36:34 +02:00
Sébastien Crozet
af1ac9baa2 Release v0.19.0 2024-05-05 18:33:35 +02:00
Sébastien Crozet
89fcd4d281 chore: update changelog 2024-05-05 16:34:55 +02:00
Sébastien Crozet
e4d6755c15 chore: clippy fixes 2024-05-05 16:17:39 +02:00
Sébastien Crozet
1258bcbfe8 chore: update changelog 2024-05-05 16:17:39 +02:00