@motion-core/motion-gpu
Version:
Framework-agnostic WebGPU runtime for fullscreen WGSL shaders with explicit Svelte, React, and Vue adapter entrypoints.
34 lines • 1.82 kB
TypeScript
/// <reference types="@webgpu/types" />
import { type MotionGPUErrorReport } from '../core/error-report.js';
import type { FragMaterial } from '../core/material.js';
import type { AnyPass, ColorPipelineOptions, RenderMode, RenderTargetDefinitionMap } from '../core/types.js';
import { type ComponentPropsWithoutRef, type ReactNode, type Ref } from 'react';
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?: (report: MotionGPUErrorReport) => ReactNode;
onError?: (report: MotionGPUErrorReport) => void;
errorHistoryLimit?: number;
onErrorHistory?: (history: MotionGPUErrorReport[]) => void;
children?: ReactNode;
ref?: Ref<HTMLCanvasElement>;
}
type BlockedCanvasProps = {
height?: undefined;
width?: undefined;
};
type CanvasDOMProps = Omit<ComponentPropsWithoutRef<'canvas'>, keyof FragCanvasOwnProps | keyof BlockedCanvasProps | 'color' | 'children'>;
export type FragCanvasProps = FragCanvasOwnProps & CanvasDOMProps & BlockedCanvasProps;
export declare function FragCanvas({ material, renderTargets, passes, clearColor, color, renderMode, autoRender, maxDelta, adapterOptions, deviceDescriptor, dpr, showErrorOverlay, errorRenderer, onError, errorHistoryLimit, onErrorHistory, ref, className, style, children, height: blockedHeight, width: blockedWidth, ...canvasProps }: FragCanvasProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=FragCanvas.d.ts.map