* feat: reduce the amount of duplicate work the broad-phase is doing for user changes and CCD
* Release v0.28.0
* chore: fix warnings
* chore: clippy fixes
* chore: more clippy fixes
* Replace crossbeam channel with std::sync::mpsc
- Replace all uses of crossbeam::channel with std::sync::mpsc
- Remove crossbeam dependency from all Cargo.toml files
- Update documentation to remove crossbeam references
- Use std::sync::mpsc::channel() instead of crossbeam::channel::unbounded()
Fixes#828🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update mod.rs
---------
Co-authored-by: Claude <noreply@anthropic.com>
* 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
* 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
* feat(rapier_testbed): autosave testbed configuration + add support for per-example parameters
* feat(rapier_testbed): also save the camera position
* feat(rapier_testbed): improve ergonomics of example-specific settings
* chore: cargo fmt
* chore(rapier_testbed): small UI ergonomics improvement
* chore(rapier_testbed): clippy fixes
* 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>
* 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