Sébastien Crozet
317322b31b
feat: reduce the amount of duplicate work the broad-phase is doing for user changes and CCD + release v0.28.0 ( #872 )
...
* 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
2025-08-08 18:15:34 +02:00
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
Thierry Berger
176c3bae14
Fix user changes handling ( #803 )
...
* 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 >
2025-03-28 12:48:25 +01:00
Thierry Berger
65f87d597b
use hashset from parry ( #716 follow up) ( #788 )
2025-01-17 16:06:06 +01:00
Thierry Berger
9e1113c5c7
fix compilation for feature enhanced-determinism ( #739 )
2024-09-23 18:15:29 +02:00
Thierry Berger
c714ff81f2
ImpulseJointSet::get_mut option to wake up connected bodies ( #716 )
2024-09-13 10:48:56 +02:00
Bruce Mitchener
7374653338
docs: Fix minor typos and tweaks ( #696 )
...
---------
Co-authored-by: Thierry Berger <contact@thierryberger.com >
2024-07-22 11:32:08 +02:00
Bruce Mitchener
850aa31166
clippy: Fix clippy::field_reassign_with_default lints ( #690 )
2024-07-18 09:45:41 +02:00
Bruce Mitchener
678a725c66
Prefer explicit features for optional deps. ( #681 )
...
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`.
2024-07-12 17:05:57 +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
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
c079452a47
feat: add IntegrationParameters::length_unit to adjust internal threshold based on user-defined length units
2024-04-30 23:10:46 +02:00
Sébastien Crozet
404e032433
feat: add soft (solver-based) ccd implementation
2024-04-30 23:10:46 +02:00
Sébastien Crozet
9964007269
feat: add some additional perf counters
2024-04-30 23:10:46 +02:00
Sébastien Crozet
3d112287b9
feat: add a BroadPhaseTrait for allowing custom broad-phases
2024-03-23 15:17:47 +01:00
Sébastien Crozet
cfb2c2c93e
feat!: rename BroadPhase to BroadPhaseMultiSap
2024-03-23 15:17:47 +01:00
Max Whitehead
3fd18f4da8
fix(user_changes): Fix RigidBodyType changed to Dynamic not updating
...
active dynamic set.
2024-03-23 10:50:02 +01:00
Sébastien Crozet
da92e5c283
Fix clippy and enable clippy on CI
2024-01-27 17:13:08 +01:00
Sébastien Crozet
bef72df32c
chore: CI fixes
2024-01-22 21:06:33 +01:00
Sébastien Crozet
9b87f06a85
feat: implement new "small-steps" solver + joint improvements
2024-01-21 21:02:27 +01:00
Bruce Mitchener
b9b5b58f61
docs: Expand "wrt" to "with respect to".
...
This makes things more clear as this abbreviation isn't known
to everyone.
While the trailing period is common in French, it isn't in English
(one might use "w.r.t.").
Fixes #498 .
2023-08-28 11:13:27 +07:00
Imbris
9168d36dd4
Delete mention of removed PhysicsPipeline::step_generic
...
This was removed in version 0.12.0
89e3d7650c/CHANGELOG.md (L191)
2023-05-26 15:59:14 -04:00
Sébastien Crozet
0207f8cf96
Properly take initial sleeping state set by the user when creating a rigid-body
2022-12-11 17:47:42 +01:00
Sébastien Crozet
cb9350fd80
Fix tests
2022-12-11 15:50:25 +01:00
Sébastien Crozet
683baf6bf7
Allow the PhysicsPipeline and CollisionPipeline to update the QueryPipeline incrementally
2022-12-11 15:20:33 +01:00
Sébastien Crozet
46d976d97b
Allow disabling colliders, rigid-bodies and impulse joints
2022-12-11 15:20:33 +01:00
Sébastien Crozet
73788a21ab
Add ActiveEvents::CONTACT_FORCE_EVENTS for consistency with ActiveEvents::COLLISION_EVENTS
2022-07-07 11:01:39 +02:00
Sébastien Crozet
ba081fb6f5
Improve the API for initializing/setting mass-properties
2022-07-05 14:59:14 +02:00
Sébastien Crozet
5063f3bb4f
Add the ability to disable contacts between two rigid-bodies attached by joints
2022-07-03 13:55:41 +02:00
Sébastien Crozet
b9f76e2fda
Warning fixes
2022-07-01 12:00:32 +02:00
Sébastien Crozet
c9d8277377
Add contact force events generated above a user-defined threshold
2022-07-01 12:00:32 +02:00
Sébastien Crozet
d6b6189861
Properly wake-up rigid-bodies that must be awaken because of joints
2022-07-01 12:00:18 +02:00
Sébastien Crozet
10ca3474e6
Make theinstant dependency optional, behind a profiler cargo feature
2022-05-31 11:49:36 +02:00
Sébastien Crozet
bc2ae4b512
Add a basic lines-based debug-renderer
2022-04-22 16:11:23 +02:00
Sébastien Crozet
9237bfd530
Remove the default-sets feature
2022-04-20 19:02:49 +02:00
Sébastien Crozet
f108520b5a
Finalize refactoring
2022-04-20 19:02:49 +02:00
Sébastien Crozet
2b1374c596
First round deleting the component sets.
2022-04-20 19:02:49 +02:00
Sébastien Crozet
ee679427cd
Fix mass-properties update after collider change
2022-04-20 17:11:06 +02:00
Sébastien Crozet
0ac35e12a7
Update tests
2022-03-20 21:49:16 +01:00
Sébastien Crozet
a9e3441ecd
Rename rigid-body static to fixed
2022-03-20 21:49:16 +01:00
Sébastien Crozet
db6a8c526d
Fix warnings and add comments.
2022-03-20 21:49:16 +01:00
Sébastien Crozet
8e07d8799f
Rigid-body: don’t clear forces at end of timestep + don’t wake-up a rigid-body if the modified property is equal to the old value.
2022-03-20 21:49:16 +01:00
Sébastien Crozet
0703e5527f
Fix some solver issues
...
- Fix the wrong codepath taken by the solver for contacts involving a collider without parent.
- Properly adress the non-linear treatment of the friction direction
- Simplify the sleeping strategy
- Add an impulse resolution multiplier
2022-01-16 16:52:40 +01:00
Sébastien Crozet
4454a845e9
Merge pull request #276 from dimforge/lock-translation-axis
...
Allow locking individual translational axes
2022-01-16 07:52:19 -08:00
Sébastien Crozet
0ccd15c4b1
Merge pull request #270 from tjamaan/fix_RigidBodyVelocity_rotation_center
...
fix the parameter used for local center of mass
2022-01-10 11:38:43 -08:00
Sébastien Crozet
b631fe9193
Allow locking individual translational axes
2022-01-09 22:15:36 +01:00
Sébastien Crozet
87ec0ced40
Address issues with the genral-case for multibody joints
2022-01-08 21:09:11 +01:00
Turki Jamaan
367fc3405f
remove unnecessary comment
...
Co-authored-by: Sébastien Crozet <sebastien@crozet.re >
2022-01-08 21:37:13 +03:00
Turki Jamaan
e41fccb9fb
fix the parameter used for local center of mass
2022-01-08 20:04:22 +03:00
Sébastien Crozet
9f9d329360
Fix tests
2022-01-02 17:43:38 +01:00