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
TypeScript
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;
}