@motion-core/motion-gpu
Version:
Framework-agnostic WebGPU runtime for fullscreen WGSL shaders with explicit Svelte, React, and Vue adapter entrypoints.
35 lines • 1.5 kB
TypeScript
/// <reference types="@webgpu/types" />
import type { Snippet } from 'svelte';
import type { HTMLCanvasAttributes } from 'svelte/elements';
import type { FragMaterial } from '../core/material';
import { type MotionGPUErrorReport } from '../core/error-report';
import type { AnyPass, ColorPipelineOptions, RenderMode, RenderTargetDefinitionMap } from '../core/types';
interface FragCanvasOwnProps {
material: FragMaterial;
renderTargets?: RenderTargetDefinitionMap;
passes?: AnyPass[];
clearColor?: [number, number, number, number];
color?: ColorPipelineOptions;
renderMode?: RenderMode;
autoRender?: boolean;
maxDelta?: number;
adapterOptions?: GPURequestAdapterOptions;
deviceDescriptor?: GPUDeviceDescriptor;
dpr?: number;
showErrorOverlay?: boolean;
errorRenderer?: Snippet<[MotionGPUErrorReport]>;
onError?: (report: MotionGPUErrorReport) => void;
errorHistoryLimit?: number;
onErrorHistory?: (history: MotionGPUErrorReport[]) => void;
canvas?: HTMLCanvasElement | undefined;
children?: Snippet;
}
type BlockedCanvasProps = {
height?: undefined;
width?: undefined;
};
type Props = FragCanvasOwnProps & Omit<HTMLCanvasAttributes, keyof FragCanvasOwnProps | keyof BlockedCanvasProps | 'color'> & BlockedCanvasProps;
declare const FragCanvas: import("svelte").Component<Props, {}, "canvas">;
type FragCanvas = ReturnType<typeof FragCanvas>;
export default FragCanvas;
//# sourceMappingURL=FragCanvas.svelte.d.ts.map