FA-87633 / Collision detection broadphase / Member archive
Level search can run past the last grid level · case 03
Huge objects are assigned to a level that does not exist.
Case contract
solve(objs, base, levels): multi-level grid. Each [id,minx,miny,maxx,maxy] goes to the smallest level l (cell size base*2^l) whose cell size is >= the larger box extent, capped at levels-1; its home cell is floor(min corner / level cell size). Return sorted [[id, level, cx, cy]].
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 2 | [[6, 3, -1, 0], [12, 2, -2, -2], [14, 4, -1, -1], [15, 4, -1, -1], [20, 3, -2, -2], [24, 3, 0, -1], [25, 4, -1, 0], [37, 2, 2, -2]] | [[6, 3, -1, 0], [12, 2, -2, -2], [14, 3, -1, -1], [15, 3, -1, -1], [20, 3, -2, -2], [24, 3, 0, -1], [25, 3, -2, 1], [37, 2, 2, -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 ↗