[issue]Transform controls issue roate X,Y,Z 360 degrees

I have issue when use TransformControls.
In mode rotate, i want to rotate object 360 degrees. Code below:

else if (axis === "X"  axis === "Y"  axis === "Z") {
    this.rotationAxis.copy(_unit[axis]);

    this.rotationAngle = this.pointEnd.angleTo(this.pointStart);

    this._startNorm.copy(this.pointStart).normalize();
    this._endNorm.copy(this.pointEnd).normalize();

    this.rotationAngle *= this._endNorm.cross(this._startNorm).dot(this.eye) < 0 ? 1 : -1;
}

It doesn’t work properly when I change the camera direction. The object’s rotation direction is opposite to the direction of my mouse pointer.
Pls help! Thanks

Could you share a live example on codepen of the issue happening? A bit hard not seeing what values are assigned in calculations :eyes: Is this the default transform controls?

Sorry, I cannot share the source code.
Yes, I use default TransformControls.js. You can try it on editor of threejs. it also happens the same thing.

@mjurczyk you can see this video issue:


code apply quaternion for object selected:

object.quaternion.copy(this._quaternionStart);
object.quaternion.multiply(
	_tempQuaternion.setFromAxisAngle(
		this.rotationAxis,
		this.rotationAngle 
	)
).normalize();