principia/lib/Box2D
ROllerozxa 9ffb133da5 Add experimental unity build support behind UNITY_BUILD compile option
It will build most of the main C++ codebase in one chunk, as well as build the entirety of Box2D in its own chunk. This should significantly improve build times for full builds.
2026-06-07 19:20:21 +02:00
..
Collision Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
Common Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
Dynamics Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
Particle Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
Rope Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
_unity_chunk.cc Add experimental unity build support behind UNITY_BUILD compile option 2026-06-07 19:20:21 +02:00
Box2D.h Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
README.md Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00

Multithreaded Box2D

This is a modified version of Box2D+LiquidFun.

You should probably not use it outside Principia, it is fine-tuned for Principia physics and even includes some of our math-stuff for determinism and speed.

On the other hand, it fixes many Box2D issues that were present at the time (most of them still).

For instance, island sleeping is much, much more stable and noise tolerant, which was a requirements for the dynamic trees in Principia.

Probably the most interesting feature is that our implementation of multi-threading. Two separate parts are multithreaded, Island solving and collision checking.