FA-87744 / Collision detection broadphase / Member archive
Particles in colliding hash buckets are paired regardless of cell · case 04
Distant particles that hash to the same bucket become neighbours.
Case contract
solve(frames, n): particle hash table of n buckets reused across frames without clearing; a bucket whose stamp is older than the frame is lazily reset on first insert. Cell = floor(x), floor(y); bucket = ((ix*73856093 mod 2^32) xor (iy*19349663 mod 2^32)) mod n. A particle pairs with earlier particles in the same bucket only if they share the exact cell. Per frame return [sorted [min,max] pairs, buckets stamped this frame].
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 | [[[[4, 9], [4, 13], [9, 13], [17, 19]], 3], [[[4, 14], [4, 15], [6, 9], [6, 18], [9, 18], [14, 15]], 2]] | [[[], 3], [[[4, 14]], 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 ↗