From 857a62abb0306f1b071e4246cba88873dd60935b Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 20:01:23 +0000 Subject: [PATCH] Changes --- src/pages/XRSession.tsx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/pages/XRSession.tsx b/src/pages/XRSession.tsx index de6f020..2c06754 100644 --- a/src/pages/XRSession.tsx +++ b/src/pages/XRSession.tsx @@ -10,11 +10,23 @@ import { ArrowLeft, Move, RotateCw, QrCode, Download, Crosshair } from 'lucide-r import { Button } from '@/components/ui/button'; import { generateMarkerDownloadURL } from '@/lib/trackingMarker'; +// --- Diagnóstico XR --- +console.log('[XR] Inicializando store...'); +console.log('[XR] navigator.xr disponível:', !!navigator.xr); +if (navigator.xr) { + navigator.xr.isSessionSupported('immersive-ar').then((supported) => { + console.log('[XR] immersive-ar suportado:', supported); + }).catch((err) => { + console.error('[XR] Erro ao checar suporte AR:', err); + }); +} + // --- XR Store at MODULE level (required by Quest 3 browser) --- const store = createXRStore({ hand: { left: true, right: true }, controller: { left: true, right: true }, }); +console.log('[XR] Store criado com sucesso'); // ─── XRModel ─────────────────────────────────────────── function XRModel({ url }: { url: string }) { @@ -160,13 +172,17 @@ const XRSession = () => { // Listen for XR session state changes useEffect(() => { + console.log('[XR] Subscribing to store state changes'); const unsubscribe = store.subscribe((state) => { + console.log('[XR] Store state changed — session:', !!state.session, 'mode:', state.mode); const session = state.session; if (session && !inXR) { + console.log('[XR] ✅ Sessão AR ativa! Features:', (session as any).enabledFeatures); setInXR(true); setAnchorMode('manual'); toast.success('Sessão AR iniciada!'); session.addEventListener('end', () => { + console.log('[XR] ❌ Sessão AR encerrada'); setInXR(false); setAnchorMode('manual'); }); @@ -208,7 +224,7 @@ const XRSession = () => { Marcador QR {/* CRITICAL: Direct call without async wrapper to preserve user gesture */} -