@absolutejs/rapier3d 0.3.0 → 0.5.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/absolutejs/README.md
CHANGED
|
@@ -110,3 +110,51 @@ across all passes in a step. The TOI timer also accumulates instead of resetting
|
|
|
110
110
|
for every clamp pass. Both are recorded only with profiling enabled. The timing
|
|
111
111
|
fix leaves contact equations and trajectories unchanged; package tests compare
|
|
112
112
|
profiled/unprofiled poses and official upstream trajectories.
|
|
113
|
+
|
|
114
|
+
## Contact policy controls (0.4)
|
|
115
|
+
|
|
116
|
+
The following existing native settings are now exposed through
|
|
117
|
+
`world.integrationParameters`. Defaults and solver algorithms are unchanged.
|
|
118
|
+
|
|
119
|
+
| Property | Default | Meaning |
|
|
120
|
+
| --- | --- | --- |
|
|
121
|
+
| `contactRecycling` | `true` | Reuse contact manifolds while relative poses stay within the native reuse bounds. |
|
|
122
|
+
| `normalizedContactRecycleDistance` | `0.05` | Relative-pose drift bound, multiplied by `lengthUnit`; zero prevents recycling. |
|
|
123
|
+
| `warmstartCoefficient` | `1` | Fraction of cached impulses reused by the solver, from zero to one. |
|
|
124
|
+
|
|
125
|
+
Change settings between simulation steps. The boolean setter rejects coercible
|
|
126
|
+
non-booleans; numeric setters reject non-finite/out-of-range input, including f32
|
|
127
|
+
overflow for the distance. Native snapshots preserve all three settings.
|
|
128
|
+
|
|
129
|
+
These controls support explicit diagnosis and application-specific qualification.
|
|
130
|
+
Disabling recycling increases contact-generation work and can change contact
|
|
131
|
+
features; disabling warm starting changes convergence. Neither is a general fix
|
|
132
|
+
for penetration. Evaluate the entire requested simulation horizon and geometric
|
|
133
|
+
intersections, alongside live/cached contact diagnostics. A process that exits
|
|
134
|
+
successfully after an early physical guard is not a completed physical test.
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
## Current-body shape contact queries (0.5.0)
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
const contact = firstCollider.contactColliderAtCurrentBodyPoses(secondCollider, 0);
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
This additive query composes each collider's local pose with its current parent
|
|
144
|
+
body pose. It observes direct body edits before the next world step without
|
|
145
|
+
propagating poses, stepping the simulation, or altering cached solver contacts.
|
|
146
|
+
Parentless colliders use their own world pose. The optional third argument reuses
|
|
147
|
+
a `ShapeContact` result. Prediction must be finite and nonnegative, in world units.
|
|
148
|
+
|
|
149
|
+
Use this for bounded explicit diagnostics, not every render/physics tick. It
|
|
150
|
+
allocates shape queries and returns a world-space native shape contact, not a
|
|
151
|
+
solver manifold, continuous sweep or authored-material overlap bound. Collision
|
|
152
|
+
filters, hooks and contact skin are not applied. Native unsupported shape pairs
|
|
153
|
+
can return null as well as separated pairs; null is not a general disjointness
|
|
154
|
+
proof. Existing `contactCollider` retains its stored-collider-pose semantics.
|
|
155
|
+
|
|
156
|
+
The distinction matters for rotating contacts: projecting current anchors onto a
|
|
157
|
+
stored normal can report no penetration while a fresh shape query finds overlap.
|
|
158
|
+
Both observations are useful, but answer different questions. Release 0.5.0 keeps
|
|
159
|
+
the 0.4.0 native kernel byte-for-byte unchanged; it does not include the private
|
|
160
|
+
relative-motion, EPA or clamp-graph solver experiments.
|
package/dist/provenance.json
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"engine": "0.36.0",
|
|
4
4
|
"bindings": "0.21.0",
|
|
5
5
|
"bindgen": "0.2.129",
|
|
6
|
-
"wasmSha256": "
|
|
7
|
-
"wasmBytes":
|
|
6
|
+
"wasmSha256": "65ebc43d69dc3b4b290b29ca30ff44955711c8002799503749bcc03060783b39",
|
|
7
|
+
"wasmBytes": 3299287,
|
|
8
8
|
"solverChanges": false,
|
|
9
|
-
"addition": "
|
|
9
|
+
"addition": "Current-body-pose shape contact query; validated contact policy and CCD diagnostics; native kernel unchanged"
|
|
10
10
|
}
|