export type UpdateCallback = (deltaTime: number, realFrameTime: number) => void; export const useUpdate = (callback: UpdateCallback) => { const registerUpdateCallback = inject< (callback: UpdateCallback) => () => void >("registerUpdateCallback"); onMounted(() => { if (!registerUpdateCallback) { throw new Error( "Missing registerUpdateCallback - useUpdate must be used within a Screen component", ); } const unregister = registerUpdateCallback(callback); onUnmounted(unregister); }); };