Fixed3D v1.3.0
Fixed3D now has optional 128-bit world positions (BOX3D_WIDE_POSITIONS) — positions in Q112.16, range ±2.6×10³³ units, far past a light-year — and LUDICROUS_MODE, which widens the broadphase to 128 bits so collision is active across that entire range. Both are off by default and bit-identical when off.
The numbers, which are the point: wide positions cost nothing (geomean 1.00 of the default build, 8 benchmark scenes, M3 Ultra, interleaved min-of-3). Ludicrous mode costs +1.6% geomean — only tree-query-bound scenes pay measurably (trees100 +8.7%), and the solver-bound scenes cannot see it at all. A box dropped onto a box at 10¹⁵ m — a tenth of a light-year from the origin, 7× past where the default build's broadphase can represent an AABB — settles bit-identically to the same scene built at the origin, down to the −156-ulp settle drift.
Verified: full 22-suite pass in all three configurations (default, wide positions, ludicrous), each in Release and Debug+VALIDATE+ASan/UBSan with zero sanitizer output; determinism goldens intact. The samples application is not ported to the wide builds; engine, tests, and benchmarks all are.
Getting a trustworthy number surfaced a bug that turned out to be live in vanilla float Box3D: the compound blob packs its sections with no alignment rounding, and a compound with an odd number of hull instances (one is enough) misaligns b3HullData's uint64_t version — verified with a minimal UBSan repro against pristine upstream at both e961bfb and current main. Written up in ERIN.md (item 9) with the fix pattern this tree now uses.
You do not need ludicrous mode. You should probably still be using vanilla Box3D. But it is now a matter of public record that a physics broadphase can work a light-year from the origin for less than the cost of a bad allocator, and we think that is beautiful.
Baseline: upstream box3d e961bfb. License: MIT, same as Box3D.