Move the agent sideways across the surface it is facing.
Mirrors tbp/monty/frameworks/actions/actions.py::MoveTangentially. The
direction is in the agent's own frame — a vector, not an angle — which is what
lets a surface policy ask for a move along a principal curvature.