principia/lib/Box2D
ROllerozxa ec68f7ca47 Some TMS header cleanups
Remove mostly redundant backend.h header, move print.h into core
2026-06-22 19:30:37 +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 Some TMS header cleanups 2026-06-22 19:30:37 +02: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.