UNPKG

@motion-core/motion-gpu

Version:

Framework-agnostic WebGPU runtime for fullscreen WGSL shaders with explicit Svelte, React, and Vue adapter entrypoints.

34 lines (33 loc) 1.13 kB
import "../core/error-report.js"; import "../core/current-value.js"; import "../core/texture-loader.js"; import { createTextureLoadController } from "../core/texture-load-controller.js"; import { onDestroy, onMount } from "svelte"; //#region src/lib/svelte/use-texture.ts /** * Loads textures from URLs and exposes reactive loading/error state. * * @param urlInput - URLs array or lazy URL provider. * @param optionsInput - Loader options object or lazy options provider. * @returns Reactive texture loading state with reload support. */ function useTexture(urlInput, optionsInput = {}) { const controller = createTextureLoadController({ getUrls: typeof urlInput === "function" ? urlInput : () => urlInput, getOptions: () => typeof optionsInput === "function" ? optionsInput() : optionsInput }); onMount(() => { controller.reload(); }); onDestroy(controller.dispose); return { textures: controller.textures, loading: controller.loading, error: controller.error, errorReport: controller.errorReport, reload: controller.reload }; } //#endregion export { useTexture }; //# sourceMappingURL=use-texture.js.map