Two days ago I've finally submitted my SoC proposal about Step. It has got some time to write it, but even if I won't be accepted my proposal will still be useful as a roadmap for Step (but I will have to scale times in it taking into account my summer job).
So, now Step can simulate 2d rigid bodies, its time to start the most challenging part: collision detection and constraint solving. The former is not very hard but the latter is quite interesting. There are several known algorithms for it with their props and cons. ODE uses Dantzig LCP, Bullet - sequential impulse relaxation but I've heard they want to replace it with Featherstone's algorithm. Of course 2d case is really a lot easier than 3d and my focus is on accuracy rather then on performance... Anyway this task is really interesting and I'm looking forward to finish this post and start working on it !