Hi,
yes, it is fine. Euler angles are not euclidean and can't be opperated raw. That is the reason of the existence of 'ang_rotate'.

As addition, in the case the backup angles are contiguous and correctly sorted you don't need to build a temporary vector. The use of the first member as reference is enough. Another little thing is that, conceptually, the added rotation is the case's one, but it doesn't really matter.

Code
vec_set(my.pan, my.StartPanOffset);
ang_rotate(my.pan, arcade_Case.pan);


Salud!