From 3f04e31889dc9c5bcc7752fd3342b0a7ce3cdd99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CIsaac?= Date: Mon, 3 Nov 2025 10:30:23 +1000 Subject: [PATCH] chore: update rapier.js version bump changeset --- .changeset/lucky-buckets-act.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.changeset/lucky-buckets-act.md b/.changeset/lucky-buckets-act.md index 5417b38a..30dac238 100644 --- a/.changeset/lucky-buckets-act.md +++ b/.changeset/lucky-buckets-act.md @@ -6,12 +6,26 @@ feat: bump @dimforge/rapier3d-compat from v0.15.0 to v0.19.2 (@driescroons) See the rapier.js changelog for details: https://github.com/dimforge/rapier.js/blob/master/CHANGELOG.md -Notable upstream rapier.js fixes: +**Notable Improvements:** +- **Performance:** Significant improvements for scenes with many contact constraints, CCD-enabled bodies, and large voxel maps +- **Voxel Support:** Sparse storage for voxels allows orders of magnitudes larger maps without hitting 4GB WASM memory limit +- **New Features:** Added `World.timing*` functions for performance profiling when `World.profilerEnabled = true` +- **New Features:** Added `World.maxCcdSubsteps` getter/setter for CCD substep configuration +- **New Features:** Added `Collider.translationWrtParent()` and `Collider.rotationWrtParent()` for collider transforms relative to parent rigid-body +- **Memory Management:** Added `RAPIER.reserveMemory` to pre-allocate memory for future operations + +**Bug Fixes:** - Fixed kinematic bodies not waking up when setting velocity - Fixed slow-moving kinematic bodies falling asleep - Fixed point-projection on voxel shapes +- Fixed crash when removing colliders in specific order +- Fixed sensor events not triggering when hitting voxel colliders +- Fixed infinite loop in `collider.setVoxel` +- Fixed rollup configuration for proper TypeScript types export +- Fixed determinism issue on Apple M1 processors **Breaking Changes:** - Removed `numAdditionalFrictionIterations` from IntegrationParameters (legacy PGS solver method) - Removed legacy PGS solver methods: `switchToStandardPgsSolver`, `switchToSmallStepsPgsSolver`, `switchToSmallStepsPgsSolverWithoutWarmstart` -- Renamed `RigidBody.invPrincipalInertiaSqrt` and `.effectiveWorldInvInertiaSqrt` methods to remove the `Sqrt` suffix +- Renamed `RigidBody.invPrincipalInertiaSqrt` and `.effectiveWorldInvInertiaSqrt` to `invPrincipalInertia` and `effectiveWorldInvInertia` (removed `Sqrt` suffix - now returns actual inverse angular inertia matrix instead of square root) +- rapier-compat file extensions changed from `.cjs.js`/`.es.js` to `.cjs`/`.mjs` for better NPM compatibility