export type RenderCallback = ( ctx: CanvasRenderingContext2D, deltaTime: number, realDeltaTime: number, ) => void; export const useRender = (callback: RenderCallback) => { const registerRenderCallback = inject< (callback: RenderCallback) => () => void >("registerRenderCallback"); onMounted(() => { if (!registerRenderCallback) { throw new Error( "Missing registerRenderCallback - useRender must be used within a Screen component", ); } const unregister = registerRenderCallback(callback); onUnmounted(unregister); }); };