-
-
Notifications
You must be signed in to change notification settings - Fork 6
Conversation
NewKrok
commented
May 15, 2026
|
Hi @mzl2233, thanks for picking this up! A few things before I can merge: 1. The
|
| # | Edge case from #170 | In this PR |
|---|---|---|
| 1 | Body removes itself in its own collision callback | ✅ |
| 2 | Constraint removed during pre-step / post-step callback | ❌ |
| 3 | Shape sensor flag toggled during active collision |
|
| 4 | Material / friction change during sustained contact | ❌ |
| 5 | Listener throws — engine recovers, subsequent listeners fire | ❌ |
| 6 | Very small / very large unit scales (non-1.0 systems) | ❌ |
| 7 | Empty compound (zero shapes) added to space | ❌ |
| 8 | Broadphase query FilterCallback always-true vs always-false |
✅ |
| 9 | Compound de-parented mid-step | ❌ |
| 10 | Body wake-up via applied impulse during sleep callback | ❌ |
3. Housekeeping
- Please rebase onto current master (PR Feat/convex cast demo #156 landed since you forked).
- Run
npm run format:check— there's a small Prettier issue in the test file. - Add
Closes #170to the PR description so GitHub links the PR to the issue.
The body self-removal test and broadphase filter test look great. Thanks!
Adds a focused integration suite for the public API edge cases listed in the issue, including callback-time body removal, sensor-mode toggling during an active collision, and broadphase filter behavior for always-matching and never-matching filters. The sensor toggle path now allows the flag to change mid-step and wakes the shape so the new interaction state can be observed without throwing.