- Add touchMode flag and lookDrag state for non-pointer-lock input - Implement dismissGate() and tryRequestLock() for graceful fallback - Add applyLook() helper for camera rotation with pitch clamping - Support drag-to-look via pointer events on renderer.domElement - Prevent context menu and page scroll during active camera control