@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.
@@ -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.
@@ -3,8 +3,8 @@
3
3
  "engine": "0.36.0",
4
4
  "bindings": "0.21.0",
5
5
  "bindgen": "0.2.129",
6
- "wasmSha256": "82c8735acd1b112c2d1368c8e46c91ce46a87e3d941b1a8d2fe11d46a8acbd3a",
7
- "wasmBytes": 3298797,
6
+ "wasmSha256": "65ebc43d69dc3b4b290b29ca30ff44955711c8002799503749bcc03060783b39",
7
+ "wasmBytes": 3299287,
8
8
  "solverChanges": false,
9
- "addition": "Live contacts, fresh CCD pass counts, and aggregate CCD/TOI timing repair"
9
+ "addition": "Current-body-pose shape contact query; validated contact policy and CCD diagnostics; native kernel unchanged"
10
10
  }