It appears that the quaternion rotation in Three JS can still experience Gimbal Lock.
To replicate the issue, follow these steps:
1) Go to the Three JS Editor. 2) Add a Cylinder and set the z value to 1.57 (the middle text box for rotation). 3) Try changing the values in y or x radians (the left or right text boxes for rotation).
You'll notice that both x and y rotations produce the same result. Any suggestions on how to prevent this?
As far as I know, Three JS uses quaternions by default and Gimbal Lock typically occurs when using Euler angles.
Thank you!