My method was a bit brute force.
I had it set up where moving 0.1 in world space was exactly 1 pixel. But the jumping physics are free and continuous - so with LOTS of little ray casts feeling for surfaces I could round to the pixel after a collision ^^ and rotate the slug.
though it doesn't always properly rotate to it's surface, and there are places you can end up inside the floor...
What was your method?