There is a check in entityCollides that the entity must be moving "into" the obstacle in order to collide with it -- for example, an entity cannot collide with the left edge of an obstacle if it isn't actually moving to the right. This is currently necessary because without it, once the player is in contact with a platform, we detect a collision 0 seconds into each frame and so don't actually simulate the frame (due to #12), which causes the player to get "stuck". But once #12 is fixed, I'm not sure if that check will still be necessary.
There is a check in entityCollides that the entity must be moving "into" the obstacle in order to collide with it -- for example, an entity cannot collide with the left edge of an obstacle if it isn't actually moving to the right. This is currently necessary because without it, once the player is in contact with a platform, we detect a collision 0 seconds into each frame and so don't actually simulate the frame (due to #12), which causes the player to get "stuck". But once #12 is fixed, I'm not sure if that check will still be necessary.