Okay, spent some more time with the collision code and fixed a number of little bugs along with one HUGE one that I absolutely cannot believe it took me this long to notice. Without going into details, suffice it to say that the main detection algorithm was IGNORING ALL TOP-SLOPED SURFACES. Which are, you know, the main thing I needed collision detection for in the first place. On the plus side, I guess, this probably really forced me to polish up the slope-following stuff, since that’s apparently what was making the collision detection work at all.
Anyhoo, I’m still doing some fixing up, trying to figure out what’s going on for the occasional edge case where she falls through a hill, trying to decide what animations need more detailing for general moving around purposes, tweaking which animations segue into which others, etcetera. Generally just trying to get this whole aspect of the game feeling right. This serves the elegant double purpose of a) making sure the fundamental movements of the game are satisfying and b) allowing me to procrastinate as long as possible on starting the entity editor.