Skip to content

Fix various CCD and broad-phase related bugs - #1012

Merged
sebcrozet merged 7 commits into
masterfrom
fix-bevy-rapier-findings
Sep 24, 2026
Merged

sebcrozet merged 7 commits into
masterfrom
fix-bevy-rapier-findings

Conversation

@sebcrozet

@sebcrozet sebcrozet commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

fix some issues discovered while updating bevy_rapier.

  • CollisionPipeline::step no longer trips a debug assertion when a moving body touches another
    collider.
  • A zero-length step no longer corrupts the simulation: it only applies the user changes and runs
    the collision detection.
  • Enabling or disabling an impulse joint now updates the islands of its bodies.
  • Multibody DoF couplings and disabled self-contacts are no longer lost when multibodies merge or split.
  • PhysicsPipeline::counters now fills the contact pair, contact, and constraint counts.
  • rapier3d-urdf: the fixed children of a squeezed empty link now stay rigidly attached together, and
    the joint taking over the removed link's joint keeps its original pivot.
  • 2D soft-body cluster proxies now follow counterclockwise rotations of their particles.
  • The rigid colliders attached to soft-body cluster proxies no longer lag one step behind their proxy.
  • The broad-phase AABBs of soft-body surfaces now match their end-of-step geometry.
  • When the CCD splits a step, the end-of-step soft-body motion margin and soft-CCD AABBs now cover the
    full next step instead of the last CCD pass.
  • The CCD now also splits the first step of a fast body at its impact.
  • The soft-body contact history driving the extra substeps now counts steps instead of CCD passes.
  • The CCD fast-body check now divides the applied forces by the body's mass, so heavy bodies under
    gravity are no longer flagged as fast.

…the dynamics of zero-length steps and fill the counters
… and keep multibody DoF couplings across topology changes
…d keep the fixed children of squeezed links attached
…t frame docs, and the pin-slot and soft-joints examples
…e first step of fast bodies and keep per-step soft contact histories
@sebcrozet sebcrozet changed the title Fix various bug uncovered while updating the bevy_rapier plugin Fix various CCD and broad-phase related bugs Sep 24, 2026
@sebcrozet
sebcrozet merged commit 79fd711 into master Sep 24, 2026
27 checks passed
@sebcrozet
sebcrozet deleted the fix-bevy-rapier-findings branch September 24, 2026 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant