ntDefault();
		
			if (isDragging) return;
		
			const rect = canvas.getBoundingClientRect();
			mouse.x = ((event.clientX - rect.left) / canvas.width) * 2 - 1;
			mouse.y = -((event.clientY - rect.top) / canvas.height) * 2 + 1;

			raycaster.setFromCamera(mouse, camera);

			const pickList = API.method === 'Batched' ? [batchedMesh] : regularMeshes.children;
			const intersects = raycaster.intersectObjects(pickList);

			if (intersects.length > 0) {
				let mesh = intersects[0].object;
				if (mesh === batc