caster.ray.direction.set(0, 0, - 1).applyMatrix4(tempMatrix);

      allMeshes.forEach((meshContext, mesh) => {
        const intersections = raycaster.intersectObject(meshContext.mesh);
        intersections.forEach((intersection) => {
          if (intersection.object == meshContext.mesh) {
            const up = new THREE.Vector3(0, 1, 0); // reference vector
            let right = new THREE.Vector3();
            let forward = new THREE.Vector3();
            let quaternion = new THREE.Quaternion();
  