UNPKG

@threlte/xr

Version:

Tools to more easily create VR and AR experiences with Threlte

18 lines (17 loc) 596 B
import { onDestroy } from 'svelte'; // @ts-expect-error untyped internal import, when have you ever done me wrong? import { raf } from 'svelte/internal/client'; import { watch } from '@threlte/core'; import { session } from './stores'; export const setupRaf = () => { if (typeof window === 'undefined') return; const originalTick = raf.tick; watch(session, (session) => { raf.tick = session === undefined ? originalTick : (fn) => session.requestAnimationFrame(fn); }); onDestroy(() => (raf.tick = originalTick)); };