@absolutejs/rapier3d 0.2.1 → 0.3.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 +20 -2
- package/absolutejs/README.md +20 -2
- package/dist/provenance.json +3 -3
- package/dist/rapier.mjs +1 -1
- package/dist/types/pipeline/world.d.ts +8 -0
- package/dist/types/rapier_wasm3d.d.ts +2 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,8 +42,8 @@ web/Node/Bun; it does not claim a 2D, f64, CommonJS or SIMD distribution.
|
|
|
42
42
|
|
|
43
43
|
Source base: dimforge/rapier commit
|
|
44
44
|
`b716d375efc0201003f0cd9ef7168eee0b62c177`. Upstream Apache-2.0 licensing is retained.
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
Engine calculations remain upstream. Additions cover binding queries, package
|
|
46
|
+
build/test tooling, and CCD profiler timer wiring; no solver equations are changed.
|
|
47
47
|
|
|
48
48
|
Use Bun 1.4.4+absolute.1, Rust 1.94.0 with `wasm32-unknown-unknown`, and Python 3.12.
|
|
49
49
|
Run `bun install --frozen-lockfile`, then `bash absolutejs/scripts/build-native.sh`.
|
|
@@ -92,3 +92,21 @@ Previously an absent native handle could be coerced to body zero during JavaScri
|
|
|
92
92
|
wrapper reconstruction. Real body-zero and fixed-body attachments remain intact.
|
|
93
93
|
This changes wrapper metadata only; native ownership, WASM and solver behavior are
|
|
94
94
|
unchanged. Repeated snapshot restoration and browser workers are regression tested.
|
|
95
|
+
|
|
96
|
+
## Actual CCD substeps (0.3)
|
|
97
|
+
|
|
98
|
+
Enable `world.profilerEnabled = true`, step the world, then read
|
|
99
|
+
`world.ccdSubsteps()`. It reports the native count of CCD passes in the last
|
|
100
|
+
completed profiled step, rather than the configured maximum. Zero means CCD did
|
|
101
|
+
not act, not that the world failed to advance. It returns null when unavailable:
|
|
102
|
+
before a profiled step, while profiling is disabled, or after toggling profiling
|
|
103
|
+
until a new step completes. Setting an already enabled profiler to true is idempotent.
|
|
104
|
+
Restored worlds start with profiling disabled and no sample. Event-enabled stepping
|
|
105
|
+
is covered too. This is opt-in telemetry; no physics policy or defaults change.
|
|
106
|
+
The counter does not expose individual substep durations or times of impact.
|
|
107
|
+
|
|
108
|
+
CCD timing now accumulates activation/impact-planning and motion-clamping work
|
|
109
|
+
across all passes in a step. The TOI timer also accumulates instead of resetting
|
|
110
|
+
for every clamp pass. Both are recorded only with profiling enabled. The timing
|
|
111
|
+
fix leaves contact equations and trajectories unchanged; package tests compare
|
|
112
|
+
profiled/unprofiled poses and official upstream trajectories.
|
package/absolutejs/README.md
CHANGED
|
@@ -42,8 +42,8 @@ web/Node/Bun; it does not claim a 2D, f64, CommonJS or SIMD distribution.
|
|
|
42
42
|
|
|
43
43
|
Source base: dimforge/rapier commit
|
|
44
44
|
`b716d375efc0201003f0cd9ef7168eee0b62c177`. Upstream Apache-2.0 licensing is retained.
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
Engine calculations remain upstream. Additions cover binding queries, package
|
|
46
|
+
build/test tooling, and CCD profiler timer wiring; no solver equations are changed.
|
|
47
47
|
|
|
48
48
|
Use Bun 1.4.4+absolute.1, Rust 1.94.0 with `wasm32-unknown-unknown`, and Python 3.12.
|
|
49
49
|
Run `bun install --frozen-lockfile`, then `bash absolutejs/scripts/build-native.sh`.
|
|
@@ -92,3 +92,21 @@ Previously an absent native handle could be coerced to body zero during JavaScri
|
|
|
92
92
|
wrapper reconstruction. Real body-zero and fixed-body attachments remain intact.
|
|
93
93
|
This changes wrapper metadata only; native ownership, WASM and solver behavior are
|
|
94
94
|
unchanged. Repeated snapshot restoration and browser workers are regression tested.
|
|
95
|
+
|
|
96
|
+
## Actual CCD substeps (0.3)
|
|
97
|
+
|
|
98
|
+
Enable `world.profilerEnabled = true`, step the world, then read
|
|
99
|
+
`world.ccdSubsteps()`. It reports the native count of CCD passes in the last
|
|
100
|
+
completed profiled step, rather than the configured maximum. Zero means CCD did
|
|
101
|
+
not act, not that the world failed to advance. It returns null when unavailable:
|
|
102
|
+
before a profiled step, while profiling is disabled, or after toggling profiling
|
|
103
|
+
until a new step completes. Setting an already enabled profiler to true is idempotent.
|
|
104
|
+
Restored worlds start with profiling disabled and no sample. Event-enabled stepping
|
|
105
|
+
is covered too. This is opt-in telemetry; no physics policy or defaults change.
|
|
106
|
+
The counter does not expose individual substep durations or times of impact.
|
|
107
|
+
|
|
108
|
+
CCD timing now accumulates activation/impact-planning and motion-clamping work
|
|
109
|
+
across all passes in a step. The TOI timer also accumulates instead of resetting
|
|
110
|
+
for every clamp pass. Both are recorded only with profiling enabled. The timing
|
|
111
|
+
fix leaves contact equations and trajectories unchanged; package tests compare
|
|
112
|
+
profiled/unprofiled poses and official upstream trajectories.
|
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": "82c8735acd1b112c2d1368c8e46c91ce46a87e3d941b1a8d2fe11d46a8acbd3a",
|
|
7
|
+
"wasmBytes": 3298797,
|
|
8
8
|
"solverChanges": false,
|
|
9
|
-
"addition": "Live
|
|
9
|
+
"addition": "Live contacts, fresh CCD pass counts, and aggregate CCD/TOI timing repair"
|
|
10
10
|
}
|