Have some physics pictures:
The physics system never really used to keep track of contact points with other colliders, but it does now! At the moment we play the faceplant pushing animation on every horizontal collision, and it looks dumb when the thing you're colliding with is at knee-height. I'm thinking we could probably play a different animation for things that aren't face-level, and maybe even do stuff like have cf hop up short steps and pull himself up onto stuff if he hovers into it at the right height.
Slopes! This isn't 100% finished but the way I have it working is by checking for a slope on a horizontal collision (the second-from-the-bottom raycast hits at a different distance from the bottom raycast) and then firing another raycast downward from a little ahead of the player to find the height of the slope, then I just shift the player to that height. It's so much simpler than all the trig calculations I was doing before and trying to adjust the movement vector, etc.
It almost feels a bit cheaty...
EDIT: also game is now renamed Boxface