From 04d9929822670543c67928ce8bf201af2f1d2827 Mon Sep 17 00:00:00 2001 From: alectimison-maker Date: Wed, 5 Aug 2026 07:18:29 +0800 Subject: [PATCH] fix(motion-gpu): export reactive texture option types --- packages/motion-gpu/src/lib/svelte/index.ts | 2 +- packages/motion-gpu/src/lib/vue/index.ts | 2 +- .../motion-gpu/src/tests/public-api.test.ts | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/motion-gpu/src/lib/svelte/index.ts b/packages/motion-gpu/src/lib/svelte/index.ts index 2b982ef..8faa7c2 100644 --- a/packages/motion-gpu/src/lib/svelte/index.ts +++ b/packages/motion-gpu/src/lib/svelte/index.ts @@ -71,7 +71,7 @@ export type { UsePointerOptions, UsePointerResult } from './use-pointer.js'; -export type { TextureUrlInput, UseTextureResult } from './use-texture.js'; +export type { TextureOptionsInput, TextureUrlInput, UseTextureResult } from './use-texture.js'; export type { StorageBufferAccess, StorageBufferDefinition, diff --git a/packages/motion-gpu/src/lib/vue/index.ts b/packages/motion-gpu/src/lib/vue/index.ts index 1e0c032..ad3cc43 100644 --- a/packages/motion-gpu/src/lib/vue/index.ts +++ b/packages/motion-gpu/src/lib/vue/index.ts @@ -71,7 +71,7 @@ export type { UsePointerOptions, UsePointerResult } from './use-pointer.js'; -export type { TextureUrlInput, UseTextureResult } from './use-texture.js'; +export type { TextureOptionsInput, TextureUrlInput, UseTextureResult } from './use-texture.js'; export type { StorageBufferAccess, StorageBufferDefinition, diff --git a/packages/motion-gpu/src/tests/public-api.test.ts b/packages/motion-gpu/src/tests/public-api.test.ts index 108de71..19c8791 100644 --- a/packages/motion-gpu/src/tests/public-api.test.ts +++ b/packages/motion-gpu/src/tests/public-api.test.ts @@ -10,11 +10,20 @@ import * as react from '../lib/react/index'; import * as reactAdvanced from '../lib/react/advanced'; import * as svelte from '../lib/svelte/index'; import * as svelteAdvanced from '../lib/svelte/advanced'; +import type { TextureOptionsInput as SvelteTextureOptionsInput } from '../lib/svelte/index'; import * as vue from '../lib/vue/index'; import * as vueAdvanced from '../lib/vue/advanced'; +import type { TextureOptionsInput as VueTextureOptionsInput } from '../lib/vue/index'; const packageRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..'); +function acceptReactiveTextureOptions( + svelteOptions: SvelteTextureOptionsInput, + vueOptions: VueTextureOptionsInput +): [SvelteTextureOptionsInput, VueTextureOptionsInput] { + return [svelteOptions, vueOptions]; +} + function readPackageJson(): { exports: Record; } { @@ -34,6 +43,16 @@ function sourceEntryForDistPath(distPath: string): string { } describe('public api contract', () => { + it('exports reactive adapter texture option input types', () => { + expect(acceptReactiveTextureOptions({}, {})).toEqual([{}, {}]); + expect( + acceptReactiveTextureOptions( + () => ({}), + () => ({}) + ) + ).toHaveLength(2); + }); + it('exports framework-agnostic runtime symbols from root and /core entrypoints', () => { expect(Object.keys(api).sort()).toEqual([ 'BlitPass',