@absolutejs/rapier3d 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -260,3 +260,25 @@ exact locked collision library alongside the native WASM hash. They are lightwei
260
260
  serialized strings and require no WASM initialization. Packaging rejects ambiguous
261
261
  multiple Parry source entries. Release qualification evidence and retained experiment
262
262
  results are recorded in `absolutejs/research/simplex-gyro/`.
263
+
264
+ ## Articulation damping controls
265
+
266
+ `world.multibodyJoints.generalizedDamping(jointHandle)` returns an owned
267
+ `Float32Array` for the entire articulation containing that joint, including its
268
+ floating root. A removed joint returns `undefined`. These coefficients are
269
+ raw native coefficients, separate from rigid-body damping: native free angular generalized coordinates
270
+ default to `0.1` even when `RigidBody.setAngularDamping(0)` is used.
271
+ They are not dimensionless decay rates: angular coefficients act against inertia
272
+ in native world units. The same numeric coefficient need not produce the same
273
+ decay after changing the world length scale.
274
+
275
+ `setGeneralizedDamping(jointHandle, values)` returns `true` on success. It rejects
276
+ wrong lengths, negative/nonfinite values, native float overflow and removed
277
+ handles without mutation. Coordinate order is the native generalized order;
278
+ read the vector again after adding, removing or changing joints. The setter does
279
+ not wake sleeping bodies; wake the affected bodies explicitly. Neither method
280
+ changes the native default policy for newly created coordinates.
281
+
282
+ For an explicitly undamped diagnostic, read the vector, replace it with a zero
283
+ vector of the same length, and verify the readback. This is a diagnostic control,
284
+ not a recommendation to remove damping from every game mechanism.
@@ -260,3 +260,25 @@ exact locked collision library alongside the native WASM hash. They are lightwei
260
260
  serialized strings and require no WASM initialization. Packaging rejects ambiguous
261
261
  multiple Parry source entries. Release qualification evidence and retained experiment
262
262
  results are recorded in `absolutejs/research/simplex-gyro/`.
263
+
264
+ ## Articulation damping controls
265
+
266
+ `world.multibodyJoints.generalizedDamping(jointHandle)` returns an owned
267
+ `Float32Array` for the entire articulation containing that joint, including its
268
+ floating root. A removed joint returns `undefined`. These coefficients are
269
+ raw native coefficients, separate from rigid-body damping: native free angular generalized coordinates
270
+ default to `0.1` even when `RigidBody.setAngularDamping(0)` is used.
271
+ They are not dimensionless decay rates: angular coefficients act against inertia
272
+ in native world units. The same numeric coefficient need not produce the same
273
+ decay after changing the world length scale.
274
+
275
+ `setGeneralizedDamping(jointHandle, values)` returns `true` on success. It rejects
276
+ wrong lengths, negative/nonfinite values, native float overflow and removed
277
+ handles without mutation. Coordinate order is the native generalized order;
278
+ read the vector again after adding, removing or changing joints. The setter does
279
+ not wake sleeping bodies; wake the affected bodies explicitly. Neither method
280
+ changes the native default policy for newly created coordinates.
281
+
282
+ For an explicitly undamped diagnostic, read the vector, replace it with a zero
283
+ vector of the same length, and verify the readback. This is a diagnostic control,
284
+ not a recommendation to remove damping from every game mechanism.
@@ -1 +1 @@
1
- var e=Object.freeze({schemaVersion:1,scope:"package",packageName:"@absolutejs/rapier3d",packageVersion:"0.8.1",qualifiedKernelRelease:"0.8.1",upstream:"b716d375efc0201003f0cd9ef7168eee0b62c177",engine:"0.36.0",collisionLibraryVersion:"0.31.1",collisionSource:"git+https://github.com/absolutejs/parry?rev=dbd99a8dfce020da3698056471262435d56d3f69#dbd99a8dfce020da3698056471262435d56d3f69",bindings:"0.21.0",bindgen:"0.2.129",wasmSha256:"3a9f1a21f01b4868952cd997cf9b47d83f3e4fdd714d42f43b3cdd57912d6303",wasmBytes:3293062,solverChanges:!0});export{e as buildInfo};
1
+ var e=Object.freeze({schemaVersion:1,scope:"package",packageName:"@absolutejs/rapier3d",packageVersion:"0.9.0",qualifiedKernelRelease:"0.9.0",upstream:"b716d375efc0201003f0cd9ef7168eee0b62c177",engine:"0.36.0",collisionLibraryVersion:"0.31.1",collisionSource:"git+https://github.com/absolutejs/parry?rev=dbd99a8dfce020da3698056471262435d56d3f69#dbd99a8dfce020da3698056471262435d56d3f69",bindings:"0.21.0",bindgen:"0.2.129",wasmSha256:"f4e4606942e43e6af0ed2bed313005f9f4b89b0f716f569818e81742f77926ae",wasmBytes:3294044,solverChanges:!1});export{e as buildInfo};
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 1,
3
3
  "scope": "package",
4
4
  "packageName": "@absolutejs/rapier3d",
5
- "packageVersion": "0.8.1",
6
- "qualifiedKernelRelease": "0.8.1",
5
+ "packageVersion": "0.9.0",
6
+ "qualifiedKernelRelease": "0.9.0",
7
7
  "upstream": "b716d375efc0201003f0cd9ef7168eee0b62c177",
8
8
  "engine": "0.36.0",
9
9
  "collisionLibraryVersion": "0.31.1",
10
10
  "collisionSource": "git+https://github.com/absolutejs/parry?rev=dbd99a8dfce020da3698056471262435d56d3f69#dbd99a8dfce020da3698056471262435d56d3f69",
11
11
  "bindings": "0.21.0",
12
12
  "bindgen": "0.2.129",
13
- "wasmSha256": "3a9f1a21f01b4868952cd997cf9b47d83f3e4fdd714d42f43b3cdd57912d6303",
14
- "wasmBytes": 3293062,
15
- "solverChanges": true
13
+ "wasmSha256": "f4e4606942e43e6af0ed2bed313005f9f4b89b0f716f569818e81742f77926ae",
14
+ "wasmBytes": 3294044,
15
+ "solverChanges": false
16
16
  }