new THREE.Vector3(0, 0, 0).angleTo(new THREE.Vector3(0, 0, 0)) should be undefined instead of Math.PI / 2?
If vector has no length then how can it have an angle?
It seems the logic is to make it point to z-axis positive values by default but I think it should behave more according to standard math.