FA-87557 / Collision detection broadphase / Member archive
Ended pairs are computed from the symmetric difference · case 02
New contacts are reported as ending on their first frame.
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 | [[[1, 3], [1, 7], [2, 6], [4, 7]], [[1, 3], [1, 7], [2, 3], [2, 6], [4, 7]], [[1, 2]]] | [[[1, 3], [1, 7], [2, 6], [4, 7]], [[2, 3]], [[1, 2]]] | 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 ↗