avbd-babylon 0.4.1 → 0.4.2

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.
@@ -155,8 +155,10 @@ waking. Awake groups rebuild their connections from current contacts; sleeping
155
155
  groups retain the support connections omitted by collision detection. A group
156
156
  settles together after its eligible members stay quiet, so sleeping one course
157
157
  does not repeatedly disturb the courses above it. Contact waking checks closing
158
- speed at each contact point, including rotation. Updating a grab anchor wakes
159
- the held body; ordinary edits and changes to supports wake the world.
158
+ speed at each contact point, including rotation. Adding or removing constraints
159
+ and updating a grab anchor wake their endpoints and sleeping connected groups;
160
+ unrelated groups stay asleep. Ordinary body edits and changes to supports wake
161
+ the world. A connected group can stay awake while any member moves or loses support.
160
162
  Unsupported bodies
161
163
  under gravity stay awake. `wakeAll()`, `body.wakeUp()` and `readSleepStats()` are
162
164
  available. Suspended jointed objects are not guaranteed to sleep. Defaults and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "avbd-babylon",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "GPU AVBD rigid-body physics with a Babylon.js aggregate API",
5
5
  "main": "./dist/avbd.js",
6
6
  "types": "./dist/avbd.d.ts",
package/tests/README.md CHANGED
@@ -38,7 +38,8 @@ Set `AVBD_TEST_BROWSER` to a Chromium executable if browser discovery fails.
38
38
 
39
39
  `node scripts/check-galton-startup.mjs` measures startup of the 40,000-marble
40
40
  playground and verifies default worker execution, an explicit main-thread choice,
41
- and automatic fallback when workers are unavailable. `test:playgrounds` also
41
+ and automatic fallback when workers are unavailable. It also checks that page
42
+ dependencies stay small before starting the worker. `test:playgrounds` also
42
43
  checks that at least 99.5% of marbles reach the bins, compares GPU counts with real
43
44
  body positions, and measures the shape of the distribution.
44
45
 
@@ -48,7 +49,9 @@ poses with direct drawing, Babylon, shared-input workers and CPU compatibility.
48
49
  and bounded catch-up under load. `check-lab-sleep.mjs` checks live sleeping
49
50
  toggles, large-scene defaults and bowling balls in all sixteen wall lanes.
50
51
  `check-sleep-stability.mjs --drag` follows the 28K brick ring for 900 steps and
51
- checks that repeated grab-anchor updates leave resting debris asleep.
52
+ checks that creating a grab and repeatedly updating its anchor leave a distant,
53
+ disconnected sleeper asleep with unchanged poses. GPU regressions also check
54
+ grab release and stale gravity predictions beside an awake resting body.
52
55
  `check-jointed-settling.mjs` measures GPU collision and movement time while the
53
56
  34K jointed drop lands, comparing sleeping off, whole-world waking and automatic
54
57
  group sleeping. It checks contact capacity and solve-group conflicts on every
@@ -61,6 +64,9 @@ scene defaults and URL settings with CPU, WebGPU, Babylon and worker execution.
61
64
  The showcase exposes steps per second beside solving iterations. Both settings
62
65
  remain fixed while a benchmark measurement runs.
63
66
 
67
+ `check-runtime-efficiency.mjs` also checks that workers finish explicit GPU
68
+ cleanup before termination, with a bounded fallback for an unresponsive worker.
69
+
64
70
  `node scripts/check-demo-startup.mjs --all` initializes every scene in a paused
65
71
  worker and saves setup times separately from frame performance. Browser and driver
66
72
  caches can warm during the run. `node scripts/check-slingshot-input.mjs` uses real