@absolutejs/rapier3d 0.14.0 → 0.15.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 +38 -0
- package/absolutejs/README.md +38 -0
- package/dist/build-info.mjs +1 -1
- package/dist/provenance.json +4 -4
- package/dist/rapier.mjs +1 -1
- package/dist/types/pipeline/step_profile.d.ts +2 -1
- package/dist/types/pipeline/world.d.ts +16 -0
- package/dist/types/rapier_wasm3d.d.ts +2 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -409,3 +409,41 @@ cost is approximately 0.7 microseconds per body/substep (2.9x batch ratio).
|
|
|
409
409
|
These are fixture measurements, not game-wide guarantees or hardware FPS.
|
|
410
410
|
Admission, numerical/storage limits, actual-engine tests, failed assumptions and
|
|
411
411
|
cost records are preserved in `absolutejs/research/rigid-midpoint-engine`.
|
|
412
|
+
|
|
413
|
+
### Floating-root center-of-mass coordinates (0.14.1)
|
|
414
|
+
|
|
415
|
+
Articulation root linear velocity is measured at its center of mass. For an
|
|
416
|
+
object whose authored origin differs from its mass center, time integration
|
|
417
|
+
must rotate the local COM offset while advancing that physical center. The root
|
|
418
|
+
origin update includes `R_old * localCom - R_new * localCom`; otherwise moving
|
|
419
|
+
an object's modeling origin changes its physical trajectory. Fixed roots and
|
|
420
|
+
zero-offset roots retain their existing arithmetic. This correction does not
|
|
421
|
+
replace the articulation's angular integrator or eliminate remaining aggregate
|
|
422
|
+
momentum/energy drift. Coordinate-covariance, movable-joint and snapshot replay
|
|
423
|
+
regressions are recorded in `absolutejs/research/rigid-assembly`.
|
|
424
|
+
|
|
425
|
+
## Isolated fixed-assembly integration and observations (0.15)
|
|
426
|
+
|
|
427
|
+
The solver additionally admits isolated floating assemblies made only
|
|
428
|
+
of fixed links, with gyroscopic forces enabled, no damping/armature/friction,
|
|
429
|
+
no locks or fast rotation, and no external loads except uniform gravity shared
|
|
430
|
+
by every link. Contacts, external joints, movable links, differing gravity
|
|
431
|
+
scales and unsupported states retain their existing path. Aggregate inertia is
|
|
432
|
+
assembled in authored local frames, then a matched angular update advances the
|
|
433
|
+
assembly about its total center of mass. Linear gravity uses the existing
|
|
434
|
+
semi-implicit kick-then-drift convention. This is not a contact or fracture model.
|
|
435
|
+
|
|
436
|
+
`world.freeAssemblyStats()` reports owned attempt counts after a completed
|
|
437
|
+
profiled step, with the same freshness rules as `freeRotationStats()`. The bounded
|
|
438
|
+
profiler records a deep-owned `native.freeAssembly` object. Counters distinguish
|
|
439
|
+
accepted steps, nonphysical-inertia rejections, rotation-limit rejections, and
|
|
440
|
+
invalid/failed solves. Unsupported assemblies and invalid aggregate construction
|
|
441
|
+
are excluded before an attempt; these exclusions do not increment rejection
|
|
442
|
+
counts. Zero counts do not prove conservation. Counts include solver substeps
|
|
443
|
+
and CCD passes. Qualification includes 198 package tests, 843 game tests, GPU-disabled browser
|
|
444
|
+
checks, 80 byte-exact snapshot replays and matching independent distribution
|
|
445
|
+
builds. The synthetic 16-assembly falling benchmark measured about 0.95 additional
|
|
446
|
+
microseconds per assembly/substep (median paired batch ratio 1.12); this is not
|
|
447
|
+
a hardware FPS result. Contact coupling, partial-subtree fracture and extreme
|
|
448
|
+
thin-moment storage remain separate work. See
|
|
449
|
+
`absolutejs/research/aggregate-free-transport/README.md` for evidence and limits.
|
package/absolutejs/README.md
CHANGED
|
@@ -409,3 +409,41 @@ cost is approximately 0.7 microseconds per body/substep (2.9x batch ratio).
|
|
|
409
409
|
These are fixture measurements, not game-wide guarantees or hardware FPS.
|
|
410
410
|
Admission, numerical/storage limits, actual-engine tests, failed assumptions and
|
|
411
411
|
cost records are preserved in `absolutejs/research/rigid-midpoint-engine`.
|
|
412
|
+
|
|
413
|
+
### Floating-root center-of-mass coordinates (0.14.1)
|
|
414
|
+
|
|
415
|
+
Articulation root linear velocity is measured at its center of mass. For an
|
|
416
|
+
object whose authored origin differs from its mass center, time integration
|
|
417
|
+
must rotate the local COM offset while advancing that physical center. The root
|
|
418
|
+
origin update includes `R_old * localCom - R_new * localCom`; otherwise moving
|
|
419
|
+
an object's modeling origin changes its physical trajectory. Fixed roots and
|
|
420
|
+
zero-offset roots retain their existing arithmetic. This correction does not
|
|
421
|
+
replace the articulation's angular integrator or eliminate remaining aggregate
|
|
422
|
+
momentum/energy drift. Coordinate-covariance, movable-joint and snapshot replay
|
|
423
|
+
regressions are recorded in `absolutejs/research/rigid-assembly`.
|
|
424
|
+
|
|
425
|
+
## Isolated fixed-assembly integration and observations (0.15)
|
|
426
|
+
|
|
427
|
+
The solver additionally admits isolated floating assemblies made only
|
|
428
|
+
of fixed links, with gyroscopic forces enabled, no damping/armature/friction,
|
|
429
|
+
no locks or fast rotation, and no external loads except uniform gravity shared
|
|
430
|
+
by every link. Contacts, external joints, movable links, differing gravity
|
|
431
|
+
scales and unsupported states retain their existing path. Aggregate inertia is
|
|
432
|
+
assembled in authored local frames, then a matched angular update advances the
|
|
433
|
+
assembly about its total center of mass. Linear gravity uses the existing
|
|
434
|
+
semi-implicit kick-then-drift convention. This is not a contact or fracture model.
|
|
435
|
+
|
|
436
|
+
`world.freeAssemblyStats()` reports owned attempt counts after a completed
|
|
437
|
+
profiled step, with the same freshness rules as `freeRotationStats()`. The bounded
|
|
438
|
+
profiler records a deep-owned `native.freeAssembly` object. Counters distinguish
|
|
439
|
+
accepted steps, nonphysical-inertia rejections, rotation-limit rejections, and
|
|
440
|
+
invalid/failed solves. Unsupported assemblies and invalid aggregate construction
|
|
441
|
+
are excluded before an attempt; these exclusions do not increment rejection
|
|
442
|
+
counts. Zero counts do not prove conservation. Counts include solver substeps
|
|
443
|
+
and CCD passes. Qualification includes 198 package tests, 843 game tests, GPU-disabled browser
|
|
444
|
+
checks, 80 byte-exact snapshot replays and matching independent distribution
|
|
445
|
+
builds. The synthetic 16-assembly falling benchmark measured about 0.95 additional
|
|
446
|
+
microseconds per assembly/substep (median paired batch ratio 1.12); this is not
|
|
447
|
+
a hardware FPS result. Contact coupling, partial-subtree fracture and extreme
|
|
448
|
+
thin-moment storage remain separate work. See
|
|
449
|
+
`absolutejs/research/aggregate-free-transport/README.md` for evidence and limits.
|
package/dist/build-info.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.freeze({schemaVersion:1,scope:"package",packageName:"@absolutejs/rapier3d",packageVersion:"0.
|
|
1
|
+
var e=Object.freeze({schemaVersion:1,scope:"package",packageName:"@absolutejs/rapier3d",packageVersion:"0.15.0",qualifiedKernelRelease:"0.15.0",upstream:"b716d375efc0201003f0cd9ef7168eee0b62c177",engine:"0.36.0",collisionLibraryVersion:"0.31.1",collisionSource:"git+https://github.com/absolutejs/parry?rev=c566aabd77be8ac7a427c2b704860c47e34657b9#c566aabd77be8ac7a427c2b704860c47e34657b9",bindings:"0.21.0",bindgen:"0.2.129",wasmSha256:"10892b275313607d9983431590c4b1bce07945cf90d2b1c9340173373da3273c",wasmBytes:3317524,solverChanges:!0});export{e as buildInfo};
|
package/dist/provenance.json
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"scope": "package",
|
|
4
4
|
"packageName": "@absolutejs/rapier3d",
|
|
5
|
-
"packageVersion": "0.
|
|
6
|
-
"qualifiedKernelRelease": "0.
|
|
5
|
+
"packageVersion": "0.15.0",
|
|
6
|
+
"qualifiedKernelRelease": "0.15.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=c566aabd77be8ac7a427c2b704860c47e34657b9#c566aabd77be8ac7a427c2b704860c47e34657b9",
|
|
11
11
|
"bindings": "0.21.0",
|
|
12
12
|
"bindgen": "0.2.129",
|
|
13
|
-
"wasmSha256": "
|
|
14
|
-
"wasmBytes":
|
|
13
|
+
"wasmSha256": "10892b275313607d9983431590c4b1bce07945cf90d2b1c9340173373da3273c",
|
|
14
|
+
"wasmBytes": 3317524,
|
|
15
15
|
"solverChanges": true
|
|
16
16
|
}
|