@absolutejs/rapier3d 0.17.0 → 0.21.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 +150 -0
- package/absolutejs/README.md +150 -0
- package/dist/build-info.mjs +1 -1
- package/dist/provenance.json +6 -5
- package/dist/rapier.mjs +1 -1
- package/dist/types/build-info.d.ts +2 -0
- package/dist/types/dynamics/index.d.ts +2 -0
- package/dist/types/dynamics/integration_parameters.d.ts +15 -0
- package/dist/types/dynamics/quadratic_drag.d.ts +26 -0
- package/dist/types/dynamics/quadratic_drag_patches.d.ts +38 -0
- package/dist/types/geometry/collider.d.ts +10 -0
- package/dist/types/pipeline/index.d.ts +2 -0
- package/dist/types/pipeline/solver_schedule.d.ts +5 -0
- package/dist/types/pipeline/step_profile.d.ts +15 -1
- package/dist/types/pipeline/step_profile_packet.d.ts +18 -0
- package/dist/types/pipeline/world.d.ts +17 -0
- package/dist/types/rapier_wasm3d.d.ts +20 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -596,3 +596,153 @@ regressions, 237 package tests, GPU-disabled browser checks, native one/two-work
|
|
|
596
596
|
controls, no-std, 24 tree/rate comparisons, four generated/excavated requests,
|
|
597
597
|
18 flat-tree cases and an independent build matching all shipped files.
|
|
598
598
|
Evidence: `absolutejs/research/rotational-contact/`.
|
|
599
|
+
|
|
600
|
+
### Numerical contact softness
|
|
601
|
+
|
|
602
|
+
`world.integrationParameters.contactSoftness` and `staticContactSoftness` read
|
|
603
|
+
or atomically replace `{ naturalFrequency, dampingRatio }`. The first controls
|
|
604
|
+
dynamic contacts (native default 30 Hz / 10); the second controls contacts with
|
|
605
|
+
a fixed body (native default 60 Hz / 10). Change them between steps. Reads
|
|
606
|
+
return owned copies; values must be representable finite native coefficients,
|
|
607
|
+
with positive frequency and nonnegative damping. Both values are validated
|
|
608
|
+
before either changes. Snapshots preserve both settings. Bounded step profiles
|
|
609
|
+
record each distinct settings pair once in a bounded `contactSettings` table;
|
|
610
|
+
samples carry `native.contactSettingsIndex`. Reports deeply own that table,
|
|
611
|
+
including after the world is freed. This avoids repeating configuration in
|
|
612
|
+
every sample and keeps telemetry within existing event budgets.
|
|
613
|
+
|
|
614
|
+
These are numerical regularization parameters, not measured material elasticity.
|
|
615
|
+
Higher frequency can reduce transient penetration but may produce jitter or
|
|
616
|
+
prevent sleeping. Qualify motion, contact, sleeping and cost across actual
|
|
617
|
+
scenarios before changing a product's policy. Defaults are unchanged.
|
|
618
|
+
|
|
619
|
+
### 0.18.0 contact correction and adoption limits
|
|
620
|
+
|
|
621
|
+
The collision library rejects an exactly duplicated CSO point before it can
|
|
622
|
+
form a degenerate tetrahedron and lose a valid terrain contact. Both friction
|
|
623
|
+
builders select static/dynamic coefficients directly, avoiding dependence on
|
|
624
|
+
an unused coefficient through floating-point cancellation.
|
|
625
|
+
|
|
626
|
+
Native defaults remain unchanged. In the game's actual tree matrix, the
|
|
627
|
+
collision correction fixes one missed-contact case but makes another case
|
|
628
|
+
exceed the game's clearance limit at default softness (-21.007 mm). The game
|
|
629
|
+
therefore qualifies an explicit 600 Hz / 10 static-contact policy alongside
|
|
630
|
+
this engine: all 24 tree/rate cases and 18 cut-tree cases pass and sleep.
|
|
631
|
+
This is a bounded product policy, not a universal stiffness recommendation.
|
|
632
|
+
The default-policy failure is retained in the investigation records.
|
|
633
|
+
|
|
634
|
+
Qualification: 242 package tests, 847 game tests, four generated/excavated
|
|
635
|
+
terrain requests, GPU-disabled browser controls, native serial/two-worker
|
|
636
|
+
checks, no-std, and independent builds matching all shipped files. Three
|
|
637
|
+
ordinary CPU controls are within roughly 1% of 0.17.0 in this run. See
|
|
638
|
+
`absolutejs/research/contact-softness-controls/` for measured fixture costs,
|
|
639
|
+
source hashes, intermediate failures and scope limitations.
|
|
640
|
+
|
|
641
|
+
### Queued 0.19.0: explicit quadratic resistance
|
|
642
|
+
|
|
643
|
+
`solveQuadraticDragImpulse` analytically integrates one quadratic relative-flow
|
|
644
|
+
resistance channel with positive supplied effective inverse mass. It returns the
|
|
645
|
+
signed impulse, implicit relative speed, dissipated energy and separate body /
|
|
646
|
+
reservoir work. It is pure and does not infer shape, exposure or coefficients.
|
|
647
|
+
Use consistent units and the complete effective mass response; verify native
|
|
648
|
+
application precision. See `absolutejs/research/quadratic-drag-2026-10-31/README.md`
|
|
649
|
+
for the derivation, scope and evidence. Native engine qualification stays 0.18.0.
|
|
650
|
+
|
|
651
|
+
Default inertia-matrix getter results now own their six coefficients. Later
|
|
652
|
+
native getters cannot overwrite a matrix already returned to the caller. Passing
|
|
653
|
+
an explicit matrix target still reuses that target as documented.
|
|
654
|
+
|
|
655
|
+
`solveQuadraticDragPatches` evaluates up to 4,096 explicit resistance patches in
|
|
656
|
+
double precision at a fixed pose and returns combined linear/angular impulses.
|
|
657
|
+
It reports body/reservoir work and dissipation, owns its outputs and preserves
|
|
658
|
+
inputs. Free-body inverse mass/inertia and patch exposure are caller supplied;
|
|
659
|
+
this is not an articulated-fluid or full CFD model. Patch order and timestep
|
|
660
|
+
convergence remain measurable approximation limits.
|
|
661
|
+
|
|
662
|
+
## Prepared solver schedules (0.20.0)
|
|
663
|
+
|
|
664
|
+
The opt-in `world.solverSchedule()` query returns owned observations from the last
|
|
665
|
+
completed profiled step. Like `ccdSubsteps()`, it returns `null` before such a
|
|
666
|
+
step, when profiling is disabled or toggled, and after snapshot restoration.
|
|
667
|
+
`createPhysicsStepProfiler` retains distinct owned records in `solverSchedules`, referenced by each
|
|
668
|
+
sample's `native.solverScheduleIndex` (omitted means entry 0). The table is always
|
|
669
|
+
present and cannot exceed the retained sample
|
|
670
|
+
count; repeated observations do not repeat the full record.
|
|
671
|
+
|
|
672
|
+
`groupVisits` counts prepared nonempty rigid-body solve groups across CCD passes.
|
|
673
|
+
`rigidBodyVisits` sums their rigid-body slots, while `rigidBodySubsteps` weights
|
|
674
|
+
those slots by each group's prepared substep count. These are visits, not unique
|
|
675
|
+
body identities. `minSubsteps`/`maxSubsteps` report the group range;
|
|
676
|
+
`minSubstepDt`/`maxSubstepDt` are durations in seconds. All four range fields are
|
|
677
|
+
`null` when no nonempty rigid group was prepared. Soft-particle-only work and
|
|
678
|
+
internal PGS sweeps are outside these counts.
|
|
679
|
+
|
|
680
|
+
This reads the actual group layout, including additional iterations propagated
|
|
681
|
+
through constraint-connected bodies. It does not change that layout, force
|
|
682
|
+
sampling, native timestep or contact policy. It is not a per-body mapping, elapsed
|
|
683
|
+
CPU timing, proof of force/energy accuracy, or forecast of the next step. In
|
|
684
|
+
particular, a previous group's substep count must not silently select gameplay
|
|
685
|
+
fluid-force timing when contact connectivity or CCD can change.
|
|
686
|
+
|
|
687
|
+
The native observer is qualified by independent native builds and exact full-state
|
|
688
|
+
comparisons across 18 fixtures / 9,240 steps against 0.19.0. Sampled local CPU
|
|
689
|
+
costs and limits are recorded in `absolutejs/research/solver-schedule/`.
|
|
690
|
+
The previous private artifacts remain archived; release availability is separate
|
|
691
|
+
from source qualification.
|
|
692
|
+
|
|
693
|
+
### Bounded diagnostic profile transport
|
|
694
|
+
|
|
695
|
+
`encodePhysicsStepProfile(profile)` converts a readable report into an owned,
|
|
696
|
+
versioned numeric packet. `decodePhysicsStepProfile(value)` validates an unknown
|
|
697
|
+
packet and reconstructs owned readable observations. For example:
|
|
698
|
+
|
|
699
|
+
```ts
|
|
700
|
+
const packet = encodePhysicsStepProfile(profiler.snapshot());
|
|
701
|
+
const restored = decodePhysicsStepProfile(JSON.parse(JSON.stringify(packet)));
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
The codec preserves every defined observation without rounding, including null
|
|
705
|
+
measurements, failed samples, signed zero and explicit versus omitted default
|
|
706
|
+
schedule references. It excludes arbitrary application metadata and user strings.
|
|
707
|
+
The format tag is `absolutejs-physics-step-profile/1`; one fixed `'-0'` cell tag
|
|
708
|
+
preserves signed zero through JSON. Arrays are bounded to 256 entries, tuple
|
|
709
|
+
lengths and enums are fixed, and indices/scalars are validated. Malformed packets
|
|
710
|
+
throw `TypeError`. This is transport validation, not a claim of native provenance
|
|
711
|
+
or physical correctness. Apply normal metadata redaction outside the codec.
|
|
712
|
+
|
|
713
|
+
Readable `PhysicsStepProfile` remains the simulation-facing API. In 0.20 its
|
|
714
|
+
always-present `solverSchedules` table and optional sample index are part of that
|
|
715
|
+
schema; older readable profiles without this table are not silently upgraded.
|
|
716
|
+
Keep the format tag with stored packets and decode before displaying their fields.
|
|
717
|
+
|
|
718
|
+
## Convex boundary export (0.21)
|
|
719
|
+
|
|
720
|
+
`collider.convexMeshData()` returns an owned `{vertices: Float32Array,
|
|
721
|
+
indices: Uint32Array}` pair from one native hull reconstruction. Use it when both
|
|
722
|
+
buffers are needed; separate `vertices()` and `indices()` calls each reconstruct
|
|
723
|
+
the hull. The query observes the current shape, so replacing a collider's shape
|
|
724
|
+
requires no cache invalidation. Mutating returned arrays does not change the
|
|
725
|
+
collider.
|
|
726
|
+
|
|
727
|
+
```ts
|
|
728
|
+
const mesh = collider.convexMeshData();
|
|
729
|
+
if (mesh) {
|
|
730
|
+
// Positions are in collider-local coordinates; indices describe triangles.
|
|
731
|
+
uploadBoundary(mesh.vertices, mesh.indices);
|
|
732
|
+
}
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
Nonconvex shapes return `undefined`. Rounded convex shapes return the inner
|
|
736
|
+
polyhedron, excluding the round radius. The mesh is a reconstructed boundary of
|
|
737
|
+
the stored Float32 points, not a copy of internal contact faces. Reconstruction
|
|
738
|
+
uses double precision and exact-sign dimension checks for thin point clouds;
|
|
739
|
+
returned positions remain original Float32 coordinates. It does not upgrade the
|
|
740
|
+
physics engine's storage or solver to double precision. Boundary measurements
|
|
741
|
+
and native mass measurements remain distinct; applications must continue to
|
|
742
|
+
validate both.
|
|
743
|
+
|
|
744
|
+
`buildInfo.convexExportPrecision` identifies this reconstruction as `float64`.
|
|
745
|
+
The f32 and f64 collision-library dependencies use the same recorded source pin.
|
|
746
|
+
Captured export, browser-worker, simulation-parity and CPU timing evidence lives
|
|
747
|
+
in `absolutejs/research/convex-export/`. Release availability is separate from source qualification; publication may be
|
|
748
|
+
deferred. The unchanged physical engine retains its existing settling limits.
|
package/absolutejs/README.md
CHANGED
|
@@ -596,3 +596,153 @@ regressions, 237 package tests, GPU-disabled browser checks, native one/two-work
|
|
|
596
596
|
controls, no-std, 24 tree/rate comparisons, four generated/excavated requests,
|
|
597
597
|
18 flat-tree cases and an independent build matching all shipped files.
|
|
598
598
|
Evidence: `absolutejs/research/rotational-contact/`.
|
|
599
|
+
|
|
600
|
+
### Numerical contact softness
|
|
601
|
+
|
|
602
|
+
`world.integrationParameters.contactSoftness` and `staticContactSoftness` read
|
|
603
|
+
or atomically replace `{ naturalFrequency, dampingRatio }`. The first controls
|
|
604
|
+
dynamic contacts (native default 30 Hz / 10); the second controls contacts with
|
|
605
|
+
a fixed body (native default 60 Hz / 10). Change them between steps. Reads
|
|
606
|
+
return owned copies; values must be representable finite native coefficients,
|
|
607
|
+
with positive frequency and nonnegative damping. Both values are validated
|
|
608
|
+
before either changes. Snapshots preserve both settings. Bounded step profiles
|
|
609
|
+
record each distinct settings pair once in a bounded `contactSettings` table;
|
|
610
|
+
samples carry `native.contactSettingsIndex`. Reports deeply own that table,
|
|
611
|
+
including after the world is freed. This avoids repeating configuration in
|
|
612
|
+
every sample and keeps telemetry within existing event budgets.
|
|
613
|
+
|
|
614
|
+
These are numerical regularization parameters, not measured material elasticity.
|
|
615
|
+
Higher frequency can reduce transient penetration but may produce jitter or
|
|
616
|
+
prevent sleeping. Qualify motion, contact, sleeping and cost across actual
|
|
617
|
+
scenarios before changing a product's policy. Defaults are unchanged.
|
|
618
|
+
|
|
619
|
+
### 0.18.0 contact correction and adoption limits
|
|
620
|
+
|
|
621
|
+
The collision library rejects an exactly duplicated CSO point before it can
|
|
622
|
+
form a degenerate tetrahedron and lose a valid terrain contact. Both friction
|
|
623
|
+
builders select static/dynamic coefficients directly, avoiding dependence on
|
|
624
|
+
an unused coefficient through floating-point cancellation.
|
|
625
|
+
|
|
626
|
+
Native defaults remain unchanged. In the game's actual tree matrix, the
|
|
627
|
+
collision correction fixes one missed-contact case but makes another case
|
|
628
|
+
exceed the game's clearance limit at default softness (-21.007 mm). The game
|
|
629
|
+
therefore qualifies an explicit 600 Hz / 10 static-contact policy alongside
|
|
630
|
+
this engine: all 24 tree/rate cases and 18 cut-tree cases pass and sleep.
|
|
631
|
+
This is a bounded product policy, not a universal stiffness recommendation.
|
|
632
|
+
The default-policy failure is retained in the investigation records.
|
|
633
|
+
|
|
634
|
+
Qualification: 242 package tests, 847 game tests, four generated/excavated
|
|
635
|
+
terrain requests, GPU-disabled browser controls, native serial/two-worker
|
|
636
|
+
checks, no-std, and independent builds matching all shipped files. Three
|
|
637
|
+
ordinary CPU controls are within roughly 1% of 0.17.0 in this run. See
|
|
638
|
+
`absolutejs/research/contact-softness-controls/` for measured fixture costs,
|
|
639
|
+
source hashes, intermediate failures and scope limitations.
|
|
640
|
+
|
|
641
|
+
### Queued 0.19.0: explicit quadratic resistance
|
|
642
|
+
|
|
643
|
+
`solveQuadraticDragImpulse` analytically integrates one quadratic relative-flow
|
|
644
|
+
resistance channel with positive supplied effective inverse mass. It returns the
|
|
645
|
+
signed impulse, implicit relative speed, dissipated energy and separate body /
|
|
646
|
+
reservoir work. It is pure and does not infer shape, exposure or coefficients.
|
|
647
|
+
Use consistent units and the complete effective mass response; verify native
|
|
648
|
+
application precision. See `absolutejs/research/quadratic-drag-2026-10-31/README.md`
|
|
649
|
+
for the derivation, scope and evidence. Native engine qualification stays 0.18.0.
|
|
650
|
+
|
|
651
|
+
Default inertia-matrix getter results now own their six coefficients. Later
|
|
652
|
+
native getters cannot overwrite a matrix already returned to the caller. Passing
|
|
653
|
+
an explicit matrix target still reuses that target as documented.
|
|
654
|
+
|
|
655
|
+
`solveQuadraticDragPatches` evaluates up to 4,096 explicit resistance patches in
|
|
656
|
+
double precision at a fixed pose and returns combined linear/angular impulses.
|
|
657
|
+
It reports body/reservoir work and dissipation, owns its outputs and preserves
|
|
658
|
+
inputs. Free-body inverse mass/inertia and patch exposure are caller supplied;
|
|
659
|
+
this is not an articulated-fluid or full CFD model. Patch order and timestep
|
|
660
|
+
convergence remain measurable approximation limits.
|
|
661
|
+
|
|
662
|
+
## Prepared solver schedules (0.20.0)
|
|
663
|
+
|
|
664
|
+
The opt-in `world.solverSchedule()` query returns owned observations from the last
|
|
665
|
+
completed profiled step. Like `ccdSubsteps()`, it returns `null` before such a
|
|
666
|
+
step, when profiling is disabled or toggled, and after snapshot restoration.
|
|
667
|
+
`createPhysicsStepProfiler` retains distinct owned records in `solverSchedules`, referenced by each
|
|
668
|
+
sample's `native.solverScheduleIndex` (omitted means entry 0). The table is always
|
|
669
|
+
present and cannot exceed the retained sample
|
|
670
|
+
count; repeated observations do not repeat the full record.
|
|
671
|
+
|
|
672
|
+
`groupVisits` counts prepared nonempty rigid-body solve groups across CCD passes.
|
|
673
|
+
`rigidBodyVisits` sums their rigid-body slots, while `rigidBodySubsteps` weights
|
|
674
|
+
those slots by each group's prepared substep count. These are visits, not unique
|
|
675
|
+
body identities. `minSubsteps`/`maxSubsteps` report the group range;
|
|
676
|
+
`minSubstepDt`/`maxSubstepDt` are durations in seconds. All four range fields are
|
|
677
|
+
`null` when no nonempty rigid group was prepared. Soft-particle-only work and
|
|
678
|
+
internal PGS sweeps are outside these counts.
|
|
679
|
+
|
|
680
|
+
This reads the actual group layout, including additional iterations propagated
|
|
681
|
+
through constraint-connected bodies. It does not change that layout, force
|
|
682
|
+
sampling, native timestep or contact policy. It is not a per-body mapping, elapsed
|
|
683
|
+
CPU timing, proof of force/energy accuracy, or forecast of the next step. In
|
|
684
|
+
particular, a previous group's substep count must not silently select gameplay
|
|
685
|
+
fluid-force timing when contact connectivity or CCD can change.
|
|
686
|
+
|
|
687
|
+
The native observer is qualified by independent native builds and exact full-state
|
|
688
|
+
comparisons across 18 fixtures / 9,240 steps against 0.19.0. Sampled local CPU
|
|
689
|
+
costs and limits are recorded in `absolutejs/research/solver-schedule/`.
|
|
690
|
+
The previous private artifacts remain archived; release availability is separate
|
|
691
|
+
from source qualification.
|
|
692
|
+
|
|
693
|
+
### Bounded diagnostic profile transport
|
|
694
|
+
|
|
695
|
+
`encodePhysicsStepProfile(profile)` converts a readable report into an owned,
|
|
696
|
+
versioned numeric packet. `decodePhysicsStepProfile(value)` validates an unknown
|
|
697
|
+
packet and reconstructs owned readable observations. For example:
|
|
698
|
+
|
|
699
|
+
```ts
|
|
700
|
+
const packet = encodePhysicsStepProfile(profiler.snapshot());
|
|
701
|
+
const restored = decodePhysicsStepProfile(JSON.parse(JSON.stringify(packet)));
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
The codec preserves every defined observation without rounding, including null
|
|
705
|
+
measurements, failed samples, signed zero and explicit versus omitted default
|
|
706
|
+
schedule references. It excludes arbitrary application metadata and user strings.
|
|
707
|
+
The format tag is `absolutejs-physics-step-profile/1`; one fixed `'-0'` cell tag
|
|
708
|
+
preserves signed zero through JSON. Arrays are bounded to 256 entries, tuple
|
|
709
|
+
lengths and enums are fixed, and indices/scalars are validated. Malformed packets
|
|
710
|
+
throw `TypeError`. This is transport validation, not a claim of native provenance
|
|
711
|
+
or physical correctness. Apply normal metadata redaction outside the codec.
|
|
712
|
+
|
|
713
|
+
Readable `PhysicsStepProfile` remains the simulation-facing API. In 0.20 its
|
|
714
|
+
always-present `solverSchedules` table and optional sample index are part of that
|
|
715
|
+
schema; older readable profiles without this table are not silently upgraded.
|
|
716
|
+
Keep the format tag with stored packets and decode before displaying their fields.
|
|
717
|
+
|
|
718
|
+
## Convex boundary export (0.21)
|
|
719
|
+
|
|
720
|
+
`collider.convexMeshData()` returns an owned `{vertices: Float32Array,
|
|
721
|
+
indices: Uint32Array}` pair from one native hull reconstruction. Use it when both
|
|
722
|
+
buffers are needed; separate `vertices()` and `indices()` calls each reconstruct
|
|
723
|
+
the hull. The query observes the current shape, so replacing a collider's shape
|
|
724
|
+
requires no cache invalidation. Mutating returned arrays does not change the
|
|
725
|
+
collider.
|
|
726
|
+
|
|
727
|
+
```ts
|
|
728
|
+
const mesh = collider.convexMeshData();
|
|
729
|
+
if (mesh) {
|
|
730
|
+
// Positions are in collider-local coordinates; indices describe triangles.
|
|
731
|
+
uploadBoundary(mesh.vertices, mesh.indices);
|
|
732
|
+
}
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
Nonconvex shapes return `undefined`. Rounded convex shapes return the inner
|
|
736
|
+
polyhedron, excluding the round radius. The mesh is a reconstructed boundary of
|
|
737
|
+
the stored Float32 points, not a copy of internal contact faces. Reconstruction
|
|
738
|
+
uses double precision and exact-sign dimension checks for thin point clouds;
|
|
739
|
+
returned positions remain original Float32 coordinates. It does not upgrade the
|
|
740
|
+
physics engine's storage or solver to double precision. Boundary measurements
|
|
741
|
+
and native mass measurements remain distinct; applications must continue to
|
|
742
|
+
validate both.
|
|
743
|
+
|
|
744
|
+
`buildInfo.convexExportPrecision` identifies this reconstruction as `float64`.
|
|
745
|
+
The f32 and f64 collision-library dependencies use the same recorded source pin.
|
|
746
|
+
Captured export, browser-worker, simulation-parity and CPU timing evidence lives
|
|
747
|
+
in `absolutejs/research/convex-export/`. Release availability is separate from source qualification; publication may be
|
|
748
|
+
deferred. The unchanged physical engine retains its existing settling 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.21.0",qualifiedKernelRelease:"0.21.0",upstream:"b716d375efc0201003f0cd9ef7168eee0b62c177",engine:"0.36.0",collisionLibraryVersion:"0.31.1",collisionSource:"git+https://github.com/absolutejs/parry?rev=6afbe26a23a4d89903c6a33d0a0c0d98d9af7b72#6afbe26a23a4d89903c6a33d0a0c0d98d9af7b72",convexExportPrecision:"float64",bindings:"0.21.0",bindgen:"0.2.129",wasmSha256:"f1a909f788cc332e4ed8a4af3da1f38c84fd9bd995aa1ffe85dd9bee36f04050",wasmBytes:3411245,solverChanges:!0});export{e as buildInfo};
|
package/dist/provenance.json
CHANGED
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"scope": "package",
|
|
4
4
|
"packageName": "@absolutejs/rapier3d",
|
|
5
|
-
"packageVersion": "0.
|
|
6
|
-
"qualifiedKernelRelease": "0.
|
|
5
|
+
"packageVersion": "0.21.0",
|
|
6
|
+
"qualifiedKernelRelease": "0.21.0",
|
|
7
7
|
"upstream": "b716d375efc0201003f0cd9ef7168eee0b62c177",
|
|
8
8
|
"engine": "0.36.0",
|
|
9
9
|
"collisionLibraryVersion": "0.31.1",
|
|
10
|
-
"collisionSource": "git+https://github.com/absolutejs/parry?rev=
|
|
10
|
+
"collisionSource": "git+https://github.com/absolutejs/parry?rev=6afbe26a23a4d89903c6a33d0a0c0d98d9af7b72#6afbe26a23a4d89903c6a33d0a0c0d98d9af7b72",
|
|
11
|
+
"convexExportPrecision": "float64",
|
|
11
12
|
"bindings": "0.21.0",
|
|
12
13
|
"bindgen": "0.2.129",
|
|
13
|
-
"wasmSha256": "
|
|
14
|
-
"wasmBytes":
|
|
14
|
+
"wasmSha256": "f1a909f788cc332e4ed8a4af3da1f38c84fd9bd995aa1ffe85dd9bee36f04050",
|
|
15
|
+
"wasmBytes": 3411245,
|
|
15
16
|
"solverChanges": true
|
|
16
17
|
}
|