From cf2d63f5e6484260f9e6b63b3eccff2587064044 Mon Sep 17 00:00:00 2001 From: Thomas Hallock Date: Wed, 19 Nov 2025 08:46:26 -0600 Subject: [PATCH] debug: add verbose pointer lock logging MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add detailed logging to debug pointer lock activation: - Log useEffect triggers with all conditions - Log pointer lock request attempts and results - Log pointer lock state in precision mode checks - Add try/catch around requestPointerLock - Warn if container ref is missing 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../components/MapRenderer.tsx | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/apps/web/src/arcade-games/know-your-world/components/MapRenderer.tsx b/apps/web/src/arcade-games/know-your-world/components/MapRenderer.tsx index 5dc95358..38506b6f 100644 --- a/apps/web/src/arcade-games/know-your-world/components/MapRenderer.tsx +++ b/apps/web/src/arcade-games/know-your-world/components/MapRenderer.tsx @@ -216,13 +216,29 @@ export function MapRenderer({ // Request/release pointer lock based on precision mode useEffect(() => { - if (!containerRef.current) return + console.log('[Pointer Lock] Effect triggered:', { + precisionMode, + pointerLocked, + hasContainer: !!containerRef.current, + willRequest: precisionMode && !pointerLocked, + willRelease: !precisionMode && pointerLocked, + }) + + if (!containerRef.current) { + console.warn('[Pointer Lock] No container ref!') + return + } if (precisionMode && !pointerLocked) { - console.log('[Pointer Lock] Requesting pointer lock for precision mode') - containerRef.current.requestPointerLock() + console.log('[Pointer Lock] 🔒 REQUESTING pointer lock for precision mode') + try { + containerRef.current.requestPointerLock() + console.log('[Pointer Lock] Request sent successfully') + } catch (error) { + console.error('[Pointer Lock] Request failed:', error) + } } else if (!precisionMode && pointerLocked) { - console.log('[Pointer Lock] Releasing pointer lock') + console.log('[Pointer Lock] 🔓 RELEASING pointer lock') document.exitPointerLock() } }, [precisionMode, pointerLocked]) @@ -951,11 +967,12 @@ export function MapRenderer({ currentPrecisionMode: precisionMode, willChangeTo: shouldEnablePrecisionMode, smallestRegion: detectedSmallestSize.toFixed(2) + 'px', + pointerLocked, }) if (shouldEnablePrecisionMode !== precisionMode) { console.log( - `[Precision Mode] ⚡ CHANGING STATE: ${shouldEnablePrecisionMode ? '🎯 ENABLING' : '❌ DISABLING'} precision mode | Smallest region: ${detectedSmallestSize.toFixed(2)}px${cooldownActive ? ' (COOLDOWN ACTIVE - ' + cooldownTimeRemaining.toFixed(0) + 'ms remaining)' : ''}` + `[Precision Mode] ⚡ CHANGING STATE: ${shouldEnablePrecisionMode ? '🎯 ENABLING' : '❌ DISABLING'} precision mode | Smallest region: ${detectedSmallestSize.toFixed(2)}px${cooldownActive ? ' (COOLDOWN ACTIVE - ' + cooldownTimeRemaining.toFixed(0) + 'ms remaining)' : ''} | Pointer locked: ${pointerLocked}` ) } setPrecisionMode(shouldEnablePrecisionMode)