- grab delta angles
- rotate bases by delta angles *
- concatenate quats (roll, pitch, yaw ordered multiplication)
- convert rotation quat to rotation matrix
- solve for euler triplets

* store new bases

- have we rotated yet
  - if not
    - delta angles = 0
    - break out
  - else delta angles:
    - current angles - prev angles

- quat to rotate around prev right by pitch
- quat to rotate around prev forward by roll
- quat to rotate around prev up by yaw

- combine quats to get one rotation quat
- normalize
- convert rotation quat to rotation matrix
- convert matrix to euler angles

- store angles
- store forward, right, up (from rotation matrix)