In my Blob Physics article, I said verlet integration would be:
X1 += (X1-X0)*T + F/M*T*T
when it should be:
X1 += (X1-X0) + F/M*T*T
Since (X1-X0) is a movement vector, not a velocity.
The code contains the correct equation.
I think I might have been momentarily confused, since I was thinking about a possible timescale version for variable framerates:
X1 += (X1-X0)*T1/T0 + F/M*T*T
Which I’m now not even sure makes sense.
anyway, thanks for Thanos Michailopoulos for being the first to point this out.