Understand the failure.
Verify the repair.
Small, reproducible software failures. The broken implementation, the fix that didn’t work, and the one that passed—preserved together.
Explore the cases ↓How results are verified ↗WHAT THE ARCHIVE CONTAINS
100840 executable cases. 20168 are open.
Every case records the implementation that fails, the fix that did not work, and the repair that passed its checks—with recorded outputs and source hashes. This release adds 100840 cases across 20168 failure mechanisms and 254 domains.
The open tier gives you the failure and the unsuccessful fix for one case in every mechanism. The remaining 80672 cases, 5 variants per mechanism, are member-only: the verified repair, its recorded checks, and the full fixture suite are held in the member archive. Read the methodology ↗
A RECORD OF WHAT WENT WRONG
Browse the archive / 100840
Group index zero is treated as a shared group · case 01
All ungrouped fixtures stop colliding with each other.
Group index zero is treated as a shared group · case 02
All ungrouped fixtures stop colliding with each other.
Group index zero is treated as a shared group · case 03
All ungrouped fixtures stop colliding with each other.
Group index zero is treated as a shared group · case 04
All ungrouped fixtures stop colliding with each other.
Group index zero is treated as a shared group · case 05
All ungrouped fixtures stop colliding with each other.
Category-mask test is checked in one direction only · case 01
A fixture that masks out another still collides with it.
Category-mask test is checked in one direction only · case 02
A fixture that masks out another still collides with it.
Category-mask test is checked in one direction only · case 03
A fixture that masks out another still collides with it.
Category-mask test is checked in one direction only · case 04
A fixture that masks out another still collides with it.
Category-mask test is checked in one direction only · case 05
A fixture that masks out another still collides with it.
Positive collision groups cannot override masks · case 01
Ragdoll parts in the same positive group ignore each other when masks disagree.
Positive collision groups cannot override masks · case 02
Ragdoll parts in the same positive group ignore each other when masks disagree.
Positive collision groups cannot override masks · case 03
Ragdoll parts in the same positive group ignore each other when masks disagree.
Positive collision groups cannot override masks · case 04
Ragdoll parts in the same positive group ignore each other when masks disagree.
Positive collision groups cannot override masks · case 05
Ragdoll parts in the same positive group ignore each other when masks disagree.
Only static-static pairs are culled by body type · case 01
Kinematic platforms generate pairs with static level geometry.
Only static-static pairs are culled by body type · case 02
Kinematic platforms generate pairs with static level geometry.
Only static-static pairs are culled by body type · case 03
Kinematic platforms generate pairs with static level geometry.
Only static-static pairs are culled by body type · case 04
Kinematic platforms generate pairs with static level geometry.
Only static-static pairs are culled by body type · case 05
Kinematic platforms generate pairs with static level geometry.
Fixtures on the same body are paired · case 01
Compound bodies collide with themselves.
Fixtures on the same body are paired · case 02
Compound bodies collide with themselves.
Fixtures on the same body are paired · case 03
Compound bodies collide with themselves.
Fixtures on the same body are paired · case 04
Compound bodies collide with themselves.
Fixtures on the same body are paired · case 05
Compound bodies collide with themselves.
Any pair involving a sensor is dropped · case 01
Trigger volumes never report overlaps with bodies.
Any pair involving a sensor is dropped · case 02
Trigger volumes never report overlaps with bodies.
Any pair involving a sensor is dropped · case 03
Trigger volumes never report overlaps with bodies.
Any pair involving a sensor is dropped · case 04
Trigger volumes never report overlaps with bodies.
Any pair involving a sensor is dropped · case 05
Trigger volumes never report overlaps with bodies.
Accepted pairs keep candidate orientation · case 01
The same pair appears twice when candidates list both orders.
Accepted pairs keep candidate orientation · case 02
The same pair appears twice when candidates list both orders.
Accepted pairs keep candidate orientation · case 03
The same pair appears twice when candidates list both orders.
Accepted pairs keep candidate orientation · case 04
The same pair appears twice when candidates list both orders.
Accepted pairs keep candidate orientation · case 05
The same pair appears twice when candidates list both orders.
Previous-frame pairs are not normalized · case 01
Pairs stored as (b,a) end and restart every frame.
Previous-frame pairs are not normalized · case 02
Pairs stored as (b,a) end and restart every frame.
Previous-frame pairs are not normalized · case 03
Pairs stored as (b,a) end and restart every frame.
Previous-frame pairs are not normalized · case 04
Pairs stored as (b,a) end and restart every frame.
Previous-frame pairs are not normalized · case 05
Pairs stored as (b,a) end and restart every frame.
Self pairs from the broadphase become contacts · case 01
A body starts a contact with itself.
Self pairs from the broadphase become contacts · case 02
A body starts a contact with itself.
Self pairs from the broadphase become contacts · case 03
A body starts a contact with itself.
Self pairs from the broadphase become contacts · case 04
A body starts a contact with itself.
Self pairs from the broadphase become contacts · case 05
A body starts a contact with itself.
Pairs persist when either body is asleep · case 01
Contacts between a sleeping and a departing awake body never end.
Pairs persist when either body is asleep · case 02
Contacts between a sleeping and a departing awake body never end.
Pairs persist when either body is asleep · case 03
Contacts between a sleeping and a departing awake body never end.
Pairs persist when either body is asleep · case 04
Contacts between a sleeping and a departing awake body never end.
Pairs persist when either body is asleep · case 05
Contacts between a sleeping and a departing awake body never end.
Sleeping island contacts end because the broadphase skipped them · case 01
Stacks that fall asleep lose their contacts and wake up falling.
Sleeping island contacts end because the broadphase skipped them · case 02
Stacks that fall asleep lose their contacts and wake up falling.
Sleeping island contacts end because the broadphase skipped them · case 03
Stacks that fall asleep lose their contacts and wake up falling.
Sleeping island contacts end because the broadphase skipped them · case 04
Stacks that fall asleep lose their contacts and wake up falling.
Sleeping island contacts end because the broadphase skipped them · case 05
Stacks that fall asleep lose their contacts and wake up falling.
Ended pairs are computed from the symmetric difference · case 01
New contacts are reported as ending on their first frame.
Ended pairs are computed from the symmetric difference · case 02
New contacts are reported as ending on their first frame.
Ended pairs are computed from the symmetric difference · case 03
New contacts are reported as ending on their first frame.
Ended pairs are computed from the symmetric difference · case 04
New contacts are reported as ending on their first frame.
Ended pairs are computed from the symmetric difference · case 05
New contacts are reported as ending on their first frame.
Centroids on the upper scene bound wrap to cell zero · case 01
Objects on the far edge sort next to the origin and the LBVH gets huge nodes.
Centroids on the upper scene bound wrap to cell zero · case 02
Objects on the far edge sort next to the origin and the LBVH gets huge nodes.
Centroids on the upper scene bound wrap to cell zero · case 03
Objects on the far edge sort next to the origin and the LBVH gets huge nodes.
Centroids on the upper scene bound wrap to cell zero · case 04
Objects on the far edge sort next to the origin and the LBVH gets huge nodes.
Centroids on the upper scene bound wrap to cell zero · case 05
Objects on the far edge sort next to the origin and the LBVH gets huge nodes.
Morton code puts x in the odd bits · case 01
Sort order becomes y-major, contradicting the contract and cached codes.
Morton code puts x in the odd bits · case 02
Sort order becomes y-major, contradicting the contract and cached codes.
Morton code puts x in the odd bits · case 03
Sort order becomes y-major, contradicting the contract and cached codes.
Morton code puts x in the odd bits · case 04
Sort order becomes y-major, contradicting the contract and cached codes.
Morton code puts x in the odd bits · case 05
Sort order becomes y-major, contradicting the contract and cached codes.
Morton bit spreading shifts by two at the nibble stage · case 01
Coordinate bits collide at the nibble stage and distant objects share codes.
Morton bit spreading shifts by two at the nibble stage · case 02
Coordinate bits collide at the nibble stage and distant objects share codes.
Morton bit spreading shifts by two at the nibble stage · case 03
Coordinate bits collide at the nibble stage and distant objects share codes.
Morton bit spreading shifts by two at the nibble stage · case 04
Coordinate bits collide at the nibble stage and distant objects share codes.
Morton bit spreading shifts by two at the nibble stage · case 05
Coordinate bits collide at the nibble stage and distant objects share codes.
x is normalized against the y maximum · case 01
Scenes that are not square produce skewed codes.
x is normalized against the y maximum · case 02
Scenes that are not square produce skewed codes.
x is normalized against the y maximum · case 03
Scenes that are not square produce skewed codes.
x is normalized against the y maximum · case 04
Scenes that are not square produce skewed codes.
x is normalized against the y maximum · case 05
Scenes that are not square produce skewed codes.
Flat scene axis quantizes to the middle cell · case 01
Planar scenes get codes offset from the contract and mismatch cached trees.
Flat scene axis quantizes to the middle cell · case 02
Planar scenes get codes offset from the contract and mismatch cached trees.
Flat scene axis quantizes to the middle cell · case 03
Planar scenes get codes offset from the contract and mismatch cached trees.
Flat scene axis quantizes to the middle cell · case 04
Planar scenes get codes offset from the contract and mismatch cached trees.
Flat scene axis quantizes to the middle cell · case 05
Planar scenes get codes offset from the contract and mismatch cached trees.
Equal Morton codes are ordered by string id · case 01
Build output is nondeterministic across id widths (10 sorts before 9).
Equal Morton codes are ordered by string id · case 02
Build output is nondeterministic across id widths (10 sorts before 9).
Equal Morton codes are ordered by string id · case 03
Build output is nondeterministic across id widths (10 sorts before 9).
Equal Morton codes are ordered by string id · case 04
Build output is nondeterministic across id widths (10 sorts before 9).
Equal Morton codes are ordered by string id · case 05
Build output is nondeterministic across id widths (10 sorts before 9).
Centroids below the scene bound wrap to high codes · case 01
Slightly out-of-bounds objects land at the far end of the order.
Centroids below the scene bound wrap to high codes · case 02
Slightly out-of-bounds objects land at the far end of the order.
Centroids below the scene bound wrap to high codes · case 03
Slightly out-of-bounds objects land at the far end of the order.
Centroids below the scene bound wrap to high codes · case 04
Slightly out-of-bounds objects land at the far end of the order.
Centroids below the scene bound wrap to high codes · case 05
Slightly out-of-bounds objects land at the far end of the order.
Rays travelling in -x measure the first boundary on the far side of the cell · case 01
Leftward rays step cells at the wrong times and skip cells.
Rays travelling in -x measure the first boundary on the far side of the cell · case 02
Leftward rays step cells at the wrong times and skip cells.
Rays travelling in -x measure the first boundary on the far side of the cell · case 03
Leftward rays step cells at the wrong times and skip cells.
Rays travelling in -x measure the first boundary on the far side of the cell · case 04
Leftward rays step cells at the wrong times and skip cells.
Rays travelling in -x measure the first boundary on the far side of the cell · case 05
Leftward rays step cells at the wrong times and skip cells.
INSPECTABLE BY DESIGN
Every result has a runnable source.
Runnable implementations with recorded outputs, source hashes, and explicit contracts. Related variants share a failure mechanism and belong together in evaluation splits.
Read the methodology ↗