From 83777ec63088e958279663d1eae0bb3590b2fef2 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Thu, 21 May 2026 21:08:08 +0000 Subject: [PATCH] Changes Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com> --- src/pages/XRSession.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/pages/XRSession.tsx b/src/pages/XRSession.tsx index f937d12..e79550e 100644 --- a/src/pages/XRSession.tsx +++ b/src/pages/XRSession.tsx @@ -17,6 +17,7 @@ import { findNearestVertex } from '@/components/three/SmartMeasure'; import { XRHitTestPlacement } from '@/components/three/XRHitTestPlacement'; import { XRGrabbable } from '@/components/three/XRGrabbable'; import { XRControllerMeasure } from '@/components/three/XRControllerMeasure'; +import { ControllerLocomotion } from '@/components/three/ControllerLocomotion'; // DEVKIT: remove these imports + all `// DEVKIT:` blocks below to strip devkit import { useDevKit } from '@/devkit/useDevKit'; import { DevPanel } from '@/devkit/DevPanel'; @@ -470,9 +471,13 @@ const XRSession = () => { const [freeMove, setFreeMove] = useState(true); const [placementMode, setPlacementMode] = useState(true); // start in placement mode const [snapToPlanes, setSnapToPlanes] = useState(true); - const [allowScale, setAllowScale] = useState(false); + // Zoom por grip duplo é SEMPRE ligado (parte do mapeamento padrão). + const allowScale = true; + const setAllowScale = () => {}; const [liveCode, setLiveCode] = useState(null); const [liveViewers, setLiveViewers] = useState(0); + // Rig que envolve — locomoção por joystick escreve aqui. + const rigRef = useRef(null); // DEVKIT: simXR forces in-XR rendering on desktop without a real WebXR session const devkit = useDevKit(); const [simXR, setSimXR] = useState(false); @@ -569,7 +574,9 @@ const XRSession = () => { - + + + {effectiveInXR ? ( <>