Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
### 0.19.0 (05 Sept. 2025)

### Modified

- Update to Rapier 0.29.0 which includes performance improvements for scenes involving a lot of contact constraints.
See https://github.com/dimforge/rapier/pull/876 for details.
- Renamed the `RigidBody.invPrincipalInertiaSqrt` and `.effectiveWorldInvInertiaSqrt` methods to
`RigidBody.invPrincipalInertia` and `.effectiveWorldInvInertia` (removed the `Sqrt` suffix). These methods will now
return the actual inverse angular inertia matrix rather than its square root.
- Removed methods related to the legacy PGS solver: `World.numAdditionalFrictionIterations`,
`switchToStandardPgsSolver`, `switchToSmallStepsPgsSolver`, `switchToSmallStepsPgsSolverWithoutWarmstart`.

### 0.18.2 (13 August 2025)

### Fixed
Expand Down
65 changes: 42 additions & 23 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions builds/prepare_builds/templates/Cargo.toml.tera
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "dimforge_{{ js_package_name }}" # Can't be named rapier{{ dimension }}d which conflicts with the dependency.
version = "0.18.2"
version = "0.19.0"
authors = ["Sébastien Crozet <[email protected]>"]
description = "{{ dimension }}-dimensional physics engine in Rust - official JS bindings."
documentation = "https://rapier.rs/rustdoc/rapier{{ dimension }}d/index.html"
Expand All @@ -27,7 +27,7 @@ rust.unexpected_cfgs = { level = "warn", check-cfg = [
] }

[dependencies]
rapier{{ dimension }}d = { version = "0.28.0", features = [
rapier{{ dimension }}d = { version = "0.29.0", features = [
"serde-serialize",
"debug-render",
"profiler",
Expand Down
26 changes: 0 additions & 26 deletions src.ts/dynamics/integration_parameters.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,6 @@ export class IntegrationParameters {
return this.raw.numSolverIterations;
}

/**
* Number of addition friction resolution iteration run during the last solver sub-step (default: `4`).
*/
get numAdditionalFrictionIterations(): number {
return this.raw.numAdditionalFrictionIterations;
}

/**
* Number of internal Project Gauss Seidel (PGS) iterations run at each solver iteration (default: `1`).
*/
Expand Down Expand Up @@ -116,13 +109,6 @@ export class IntegrationParameters {
this.raw.numSolverIterations = value;
}

/**
* Sets the number of addition friction resolution iteration run during the last solver sub-step (default: `4`).
*/
set numAdditionalFrictionIterations(value: number) {
this.raw.numAdditionalFrictionIterations = value;
}

/**
* Sets the number of internal Project Gauss Seidel (PGS) iterations run at each solver iteration (default: `1`).
*/
Expand All @@ -137,16 +123,4 @@ export class IntegrationParameters {
set maxCcdSubsteps(value: number) {
this.raw.maxCcdSubsteps = value;
}

public switchToStandardPgsSolver() {
this.raw.switchToStandardPgsSolver();
}

public switchToSmallStepsPgsSolver() {
this.raw.switchToSmallStepsPgsSolver();
}

public switchToSmallStepsPgsSolverWithoutWarmstart() {
this.raw.switchToSmallStepsPgsSolverWithoutWarmstart();
}
}
20 changes: 10 additions & 10 deletions src.ts/dynamics/rigid_body.ts
Original file line number Diff line number Diff line change
Expand Up @@ -582,8 +582,8 @@ export class RigidBody {
*
* Components set to zero are assumed to be infinite along the corresponding principal axis.
*/
public invPrincipalInertiaSqrt(): number {
return this.rawSet.rbInvPrincipalInertiaSqrt(this.handle);
public invPrincipalInertia(): number {
return this.rawSet.rbInvPrincipalInertia(this.handle);
}

// #endif
Expand All @@ -594,9 +594,9 @@ export class RigidBody {
*
* Components set to zero are assumed to be infinite along the corresponding principal axis.
*/
public invPrincipalInertiaSqrt(): Vector {
public invPrincipalInertia(): Vector {
return VectorOps.fromRaw(
this.rawSet.rbInvPrincipalInertiaSqrt(this.handle),
this.rawSet.rbInvPrincipalInertia(this.handle),
);
}

Expand Down Expand Up @@ -636,23 +636,23 @@ export class RigidBody {

// #if DIM2
/**
* The square-root of the world-space inverse angular inertia tensor of the rigid-body,
* The world-space inverse angular inertia tensor of the rigid-body,
* taking into account rotation locking.
*/
public effectiveWorldInvInertiaSqrt(): number {
return this.rawSet.rbEffectiveWorldInvInertiaSqrt(this.handle);
public effectiveWorldInvInertia(): number {
return this.rawSet.rbEffectiveWorldInvInertia(this.handle);
}

// #endif

// #if DIM3
/**
* The square-root of the world-space inverse angular inertia tensor of the rigid-body,
* The world-space inverse angular inertia tensor of the rigid-body,
* taking into account rotation locking.
*/
public effectiveWorldInvInertiaSqrt(): SdpMatrix3 {
public effectiveWorldInvInertia(): SdpMatrix3 {
return SdpMatrix3Ops.fromRaw(
this.rawSet.rbEffectiveWorldInvInertiaSqrt(this.handle),
this.rawSet.rbEffectiveWorldInvInertia(this.handle),
);
}

Expand Down
Loading