FA-87553 / Collision detection broadphase / Member archive
Sleeping island contacts end because the broadphase skipped them · case 03
Stacks that fall asleep lose their contacts and wake up falling.
Case contract
solve(prev, curr, asleep): contact pair cache update. Pairs are unordered; self pairs in curr are ignored. Previous pairs whose two bodies are both asleep persist even if not re-reported. Return [begin, end, persist] as sorted [min,max] lists.
Why this case matters
Broadphase stages decide which object pairs ever reach narrowphase; a wrong boundary, ordering or bookkeeping rule silently drops real contacts or floods the solver with false candidates.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| case 0 | [[[2, 5], [5, 6], [6, 7]], [[3, 6], [4, 7]], []] | [[[2, 5], [5, 6], [6, 7]], [[4, 7]], [[3, 6]]] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗