how can I rotate a 3D vector along an arbitrary plane?
for example... I have a vector that points straight up the wall, and one that points to the right along the wall, and I want to rotate it to the left, so that its pointing diagonally across the wall
The wall isn't necessarily going straight up.
The angle is arbitrary. So I might want to rotate the vector left or right 45 degrees, etc.
for convenience, the normal to the wall is called 'up', going up in the z axis is 'forward' and going to the right facing away from the wall is 'right'