diff --git a/src/components/three/XRHudInWorld.tsx b/src/components/three/XRHudInWorld.tsx index 2ff565b..7b5edce 100644 --- a/src/components/three/XRHudInWorld.tsx +++ b/src/components/three/XRHudInWorld.tsx @@ -533,3 +533,46 @@ function ShareTab(p: XRHudInWorldProps) { ); } + +function WebXRTab() { + const xrFeatures = useModelStore((s) => s.xrFeatures); + const setXRFeature = useModelStore((s) => s.setXRFeature); + const reset = useModelStore((s) => s.resetXRFeatures); + const keys: { k: keyof typeof xrFeatures; label: string }[] = [ + { k: 'handTracking', label: 'Hand' }, + { k: 'planeDetection', label: 'Planes' }, + { k: 'hitTest', label: 'HitTest' }, + { k: 'domOverlay', label: 'DOM Ovl' }, + { k: 'anchors', label: 'Anchors' }, + { k: 'meshDetection', label: 'Mesh' }, + { k: 'depthSensing', label: 'Depth' }, + { k: 'layers', label: 'Layers' }, + { k: 'bodyTracking', label: 'Body' }, + ]; + return ( + + + Desligue uma feature por vez para descobrir qual ativa o grid de segurança do Quest. + + + Mudanças entram em vigor ao sair e re-entrar no AR. + + {keys.map((it, i) => { + const col = i % 3; + const row = Math.floor(i / 3); + const x = -0.18 + col * 0.14; + const y = 0.05 - row * 0.045; + const on = xrFeatures[it.k]; + return ( + setXRFeature(it.k, !on)} + fontSize={0.0085} /> + ); + })} + + + ); +}