UNPKG

typegpu

Version:

A thin layer between JS and WebGPU/WGSL that improves development experience and allows for faster iteration.

59 lines (58 loc) 1.35 kB
import * as d from '../data/index.ts'; type SerializedDataAttrib = { type: 'align'; value: number; } | { type: 'size'; value: number; } | { type: 'location'; value: number; } | { type: 'interpolate'; value: string; } | { type: 'builtin'; value: string; } | { type: 'invariant'; }; export type SerializedDataSchema = { type: 'd'; key: string; } | { type: 'array'; element: SerializedDataSchema; count: number; } | { type: 'disarray'; element: SerializedDataSchema; count: number; } | { type: 'struct'; props: [string, SerializedDataSchema][]; } | { type: 'unstruct'; props: [string, SerializedDataSchema][]; } | { type: 'atomic'; inner: SerializedDataSchema; } | { type: 'decorated'; inner: SerializedDataSchema; attribs: SerializedDataAttrib[]; } | { type: 'sampled-texture'; kind: d.WgslTexture['type']; sampleType: SerializedDataSchema; } | { type: 'storage-texture'; kind: d.WgslStorageTexture['type']; format: d.WgslStorageTexture['format']; access: d.WgslStorageTexture['access']; } | { type: 'external-texture'; }; export declare function serializeDataSchema(schema: d.BaseData): SerializedDataSchema; export declare function deserializeDataSchema(schema: SerializedDataSchema): d.AnyData; export {};