From b8959e9750574362d2f65190653bb5eb0927e447 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 20:09:26 +0000 Subject: [PATCH 1/4] Changes Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com> --- src/stores/useModelStore.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stores/useModelStore.ts b/src/stores/useModelStore.ts index 328ba54..d0f3a36 100644 --- a/src/stores/useModelStore.ts +++ b/src/stores/useModelStore.ts @@ -319,7 +319,7 @@ export const useModelStore = create((set, get) => ({ renderMode: 'solid', setRenderMode: (renderMode) => set({ renderMode }), - showGrid: true, + showGrid: false, setShowGrid: (showGrid) => set({ showGrid }), gridY: -0.09, From d3cebaaa3a4679e9be9b555148c8e3daceb76089 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 20:09:40 +0000 Subject: [PATCH 2/4] Changes Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com> --- src/components/three/XRHudInWorld.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/three/XRHudInWorld.tsx b/src/components/three/XRHudInWorld.tsx index 48f5bbe..d25dc86 100644 --- a/src/components/three/XRHudInWorld.tsx +++ b/src/components/three/XRHudInWorld.tsx @@ -63,6 +63,7 @@ export function XRHudInWorld(props: XRHudInWorldProps) { const panelRef = useRef(null); const wristRef = useRef(null); + const headLockRef = useRef(null); const targetPos = useRef(new THREE.Vector3()); const targetQuat = useRef(new THREE.Quaternion()); const lastABtn = useRef(false); From 2ab7b65145d478e74fe7b9ae190f195ce7416e02 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 20:09:50 +0000 Subject: [PATCH 3/4] Changes Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com> --- src/components/three/XRHudInWorld.tsx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/components/three/XRHudInWorld.tsx b/src/components/three/XRHudInWorld.tsx index d25dc86..a644c99 100644 --- a/src/components/three/XRHudInWorld.tsx +++ b/src/components/three/XRHudInWorld.tsx @@ -145,6 +145,15 @@ export function XRHudInWorld(props: XRHudInWorldProps) { wristRef.current.visible = false; } } + + // Head-locked fallback toggle — always visible in lower-left of FOV, + // so the user can reopen the menu even without controllers or if the + // panel is positioned out of view. + if (headLockRef.current) { + const offset = new THREE.Vector3(-0.18, -0.18, -0.5).applyQuaternion(camera.quaternion); + headLockRef.current.position.copy(camera.position).add(offset); + headLockRef.current.quaternion.copy(camera.quaternion); + } }); return ( From 2b3505411ef0ef90d0e108584befa10d92dc2b87 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 20:10:04 +0000 Subject: [PATCH 4/4] Changes Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com> --- src/components/three/XRHudInWorld.tsx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/components/three/XRHudInWorld.tsx b/src/components/three/XRHudInWorld.tsx index a644c99..d4d7276 100644 --- a/src/components/three/XRHudInWorld.tsx +++ b/src/components/three/XRHudInWorld.tsx @@ -156,9 +156,22 @@ export function XRHudInWorld(props: XRHudInWorldProps) { } }); + const showGrid = useModelStore((s) => s.showGrid); + const setShowGrid = useModelStore((s) => s.setShowGrid); + return ( <> setOpen((v) => !v)} /> + {/* Head-locked fallback: always-visible quick controls in lower-left of FOV */} + + { setOpen((v) => !v); reanchorRequested.current = true; }} + fontSize={0.0085} /> + setShowGrid(!showGrid)} fontSize={0.0085} /> + {open && (