FA-87803 / Collision detection broadphase / Member archive
Endpoint refresh swaps min and max coordinates · case 03
The endpoint array is corrupted every frame and spurious events fire.
Case contract
solve(prev, curr): incremental sweep-and-prune on x. Endpoints [x, 0=min/1=max, id] of prev are sorted, refreshed with curr coordinates and insertion-sorted by (x, kind). Each swap where a min passes left over a max begins a pair (if y overlaps in curr); a max passing left over a min ends a pair. Return [sorted begin pairs, sorted end pairs, swap count], pairs as [min,max].
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 | [[], [[6, 6], [6, 16], [6, 28], [6, 39], [10, 10], [10, 39], [16, 28], [16, 33], [28, 28], [28, 31], [28, 33], [31, 31], [31, 33], [39, 39]], 23] | [[[16, 31]], [[6, 16], [6, 28], [10, 39], [16, 33], [28, 33], [31, 33]], 17] | 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 ↗