typegpu
Version:
A thin layer between JS and WebGPU/WGSL that improves development experience and allows for faster iteration.
77 lines (76 loc) • 2.66 kB
TypeScript
export declare const $internal: unique symbol;
/** A plain record of all definitional state of a resource, surviving transfer between runtimes */
export declare const $soul: unique symbol;
/**
* The getter to the value of this resource, accessible on the GPU
*/
export declare const $gpuValueOf: unique symbol;
/**
* If this symbol is present, this means that getName and setName
* will refer to object behind this property instead.
*/
export declare const $getNameForward: unique symbol;
/**
* Marks an object with slot-value bindings
*/
export declare const $providing: unique symbol;
/**
* Objects can provide the snippet that represents them.
*/
export declare const $ownSnippet: unique symbol;
export declare const $resolve: unique symbol;
/**
* A way for a schema to provide casting behavior, without the need to be explicitly
* callable by the end-user (e.g. vertex formats)
*/
export declare const $cast: unique symbol;
/**
* Can be called on the GPU
*/
export declare const $gpuCallable: unique symbol;
/**
* Type token for the inferred (CPU & GPU) representation of a resource
*/
export declare const $repr: unique symbol;
/**
* Type token for the inferred (GPU-side) representation of a resource
* If present, it shadows the value of `$repr` for GPU-side inference.
*/
export declare const $gpuRepr: unique symbol;
/**
* Type token for the inferred partial representation of a resource.
* If present, it shadows the value of `$repr` for use in partial IO.
*/
export declare const $reprPartial: unique symbol;
/**
* Type token for the inferred patch representation of a resource.
* Used by the `buffer.patch` API with `Record<number, T>` sparse arrays.
*/
export declare const $reprPatch: unique symbol;
/**
* Type token for the write-side (input) representation of a resource.
*/
export declare const $inRepr: unique symbol;
/**
* Type token holding schemas that are identical in memory layout.
*/
export declare const $memIdent: unique symbol;
/**
* Type token, signaling that a schema can be used in a storage buffer.
*/
export declare const $validStorageSchema: unique symbol;
/**
* Type token, signaling that a schema can be used in a uniform buffer.
*/
export declare const $validUniformSchema: unique symbol;
/**
* Type token, signaling that a schema can be used in a vertex buffer.
*/
export declare const $validVertexSchema: unique symbol;
/**
* Type token, containing a reason for why the schema is invalid (if it is).
*/
export declare const $invalidSchemaReason: unique symbol;
export declare function isMarkedInternal(value: unknown): value is {
[$internal]: Record<string, unknown> | true;
};