For what it’s worth, writing a simple physics library is drop-dead simple.
v = v + a * t;
p = p + v * t;
That’s physics. Done.
Even simple collision detection and restitution is not hard… if you only want spheres (or spheroids) and if you don’t care about rotational acceleration.
The problem is that as you start adding the “oh, but that’s still simple just not as simple” things… the complexity goes up exponentially.
“I want to support non-spheroids.” = complexity nearly at bullet level
"I want to support rotational acceleration/velocity in 3D space" = complexity nearly at bullet level
Otherwise, the math is only a few lines of code, really.