* add failing test from @Johannes0021
* apply fix on update_positions
* apply fix on ColliderSet::iter_mut
* fix clippy..
* more complete test
* feat: refactor modified sets into a wrapper to avoid future mistakes
* chore: fix typos
---------
Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
* 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
* 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>
* 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>
By using `workspace.lints`, we can configure lints once for
everything (and then inherit it into the various crates).
The lint configuration for `unexpected_cfgs` works in 1.80+
and warns otherwise.
Co-authored-by: Thierry Berger <contact@thierryberger.com>
Implicit features are slated to be removed in a future version
of Rust (2024 edition).
Fixing this exposed 2 instances where the wrong feature was being
checked for `serde` vs `serde-serialize`.