UNPKG

typegpu

Version:

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

23 lines (22 loc) 1.16 kB
import type { ResolvedSnippet, Snippet } from '../data/snippet.ts'; import { type AnyWgslData, type BaseData, type F32, type I32, type WgslArray } from '../data/wgslTypes.ts'; import { type ResolutionCtx, type SelfResolvable } from '../types.ts'; import { $internal, $resolve } from '../shared/symbols.ts'; export declare function numericLiteralToSnippet(value: number): Snippet; export declare function concretize<T extends BaseData>(type: T): T | F32 | I32; export declare function concretizeSnippet(snippet: Snippet): Snippet; export declare function concretizeSnippets(args: Snippet[]): Snippet[]; export declare function coerceToSnippet(value: unknown): Snippet; /** * Intermediate representation for WGSL array expressions. * Defers resolution. Stores array elements as snippets so the * generator can access them when needed. */ export declare class ArrayExpression implements SelfResolvable { readonly [$internal] = true; readonly type: WgslArray<AnyWgslData>; readonly elements: Snippet[]; constructor(type: WgslArray<AnyWgslData>, elements: Snippet[]); toString(): string; [$resolve](ctx: ResolutionCtx): ResolvedSnippet; }