Surface
Every surface in Super Mario 64 is made up of triangles. Every triangle falls into one of three categories: a floor triangle, a wall triangle, or a ceiling triangle. However, a triangle does not store what category it is. Instead, its category is determined based on the y component of the triangle's normal vector. If y component > 0.01, then it is a floor. If y component < -0.01, then it is a ceiling. Otherwise, it is a wall[1].
Walls
The majority of walls in the game are perfectly vertical, but not all. Walls that are not vertical are one cause of Glitchy Ledge Grabs.
hitbox stuff