typegpu 0.11.8 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/builtin.d.ts +51 -53
- package/builtin.js +30 -34
- package/common/fullScreenTriangle.d.ts +2 -10
- package/common/fullScreenTriangle.js +20 -28
- package/common/index.d.ts +2 -9
- package/common/index.js +3 -12
- package/common/writeSoA.d.ts +11 -12
- package/common/writeSoA.js +88 -76
- package/core/buffer/buffer.d.ts +79 -62
- package/core/buffer/buffer.js +279 -205
- package/core/buffer/bufferBinding.d.ts +71 -0
- package/core/buffer/bufferBinding.js +154 -0
- package/core/buffer/bufferUsage.d.ts +14 -45
- package/core/buffer/bufferUsage.js +1 -171
- package/core/buffer/laidOutBuffer.d.ts +25 -0
- package/core/buffer/laidOutBuffer.js +55 -0
- package/core/commandEncoder/attachments.d.ts +125 -0
- package/core/commandEncoder/attachments.js +29 -0
- package/core/commandEncoder/commandEncoder.d.ts +53 -0
- package/core/commandEncoder/commandEncoder.js +56 -0
- package/core/commandEncoder/computePass.d.ts +58 -0
- package/core/commandEncoder/computePass.js +63 -0
- package/core/commandEncoder/renderPass.d.ts +121 -0
- package/core/commandEncoder/renderPass.js +196 -0
- package/core/constant/tgpuConstant.d.ts +26 -26
- package/core/constant/tgpuConstant.js +76 -65
- package/core/declare/tgpuDeclare.d.ts +3 -6
- package/core/declare/tgpuDeclare.js +37 -38
- package/core/function/autoIO.d.ts +61 -33
- package/core/function/autoIO.js +68 -73
- package/core/function/comptime.d.ts +11 -13
- package/core/function/comptime.js +60 -52
- package/core/function/createCallableSchema.d.ts +16 -0
- package/core/function/createCallableSchema.js +50 -40
- package/core/function/dualImpl.d.ts +44 -0
- package/core/function/dualImpl.js +71 -50
- package/core/function/entryInputRouter.d.ts +26 -0
- package/core/function/entryInputRouter.js +31 -33
- package/core/function/extractArgs.d.ts +38 -0
- package/core/function/extractArgs.js +202 -200
- package/core/function/fnCore.d.ts +44 -0
- package/core/function/fnCore.js +148 -92
- package/core/function/fnTypes.d.ts +31 -29
- package/core/function/fnTypes.js +1 -0
- package/core/function/ioSchema.d.ts +12 -10
- package/core/function/ioSchema.js +65 -47
- package/core/function/shelllessImpl.d.ts +9 -12
- package/core/function/shelllessImpl.js +18 -20
- package/core/function/templateUtils.d.ts +2 -0
- package/core/function/templateUtils.js +9 -8
- package/core/function/tgpuComputeFn.d.ts +26 -28
- package/core/function/tgpuComputeFn.js +47 -48
- package/core/function/tgpuFn.d.ts +34 -37
- package/core/function/tgpuFn.js +179 -153
- package/core/function/tgpuFragmentFn.d.ts +52 -53
- package/core/function/tgpuFragmentFn.js +63 -56
- package/core/function/tgpuVertexFn.d.ts +36 -39
- package/core/function/tgpuVertexFn.js +56 -53
- package/core/pipeline/computePipeline.d.ts +141 -53
- package/core/pipeline/computePipeline.js +291 -225
- package/core/pipeline/connectAttachmentToShader.d.ts +4 -0
- package/core/pipeline/connectAttachmentToShader.js +25 -22
- package/core/pipeline/connectTargetsToShader.d.ts +3 -0
- package/core/pipeline/connectTargetsToShader.js +29 -27
- package/core/pipeline/drawState.d.ts +52 -0
- package/core/pipeline/drawState.js +225 -0
- package/core/pipeline/limitsOverflow.d.ts +2 -0
- package/core/pipeline/limitsOverflow.js +13 -10
- package/core/pipeline/performanceTracker.d.ts +14 -0
- package/core/pipeline/performanceTracker.js +34 -0
- package/core/pipeline/pipelineUtils.d.ts +18 -0
- package/core/pipeline/pipelineUtils.js +54 -25
- package/core/pipeline/priors.d.ts +1 -0
- package/core/pipeline/priors.js +12 -0
- package/core/pipeline/renderPipeline.d.ts +246 -261
- package/core/pipeline/renderPipeline.js +487 -480
- package/core/pipeline/timeable.d.ts +28 -18
- package/core/pipeline/timeable.js +90 -52
- package/core/pipeline/typeGuards.d.ts +17 -0
- package/core/pipeline/typeGuards.js +52 -22
- package/core/querySet/querySet.d.ts +26 -21
- package/core/querySet/querySet.js +127 -103
- package/core/rawCodeSnippet/tgpuRawCodeSnippet.d.ts +13 -18
- package/core/rawCodeSnippet/tgpuRawCodeSnippet.js +90 -93
- package/core/resolve/externals.d.ts +25 -7
- package/core/resolve/externals.js +79 -62
- package/core/resolve/namespace.d.ts +22 -25
- package/core/resolve/namespace.js +16 -21
- package/core/resolve/resolvableString.d.ts +7 -0
- package/core/resolve/resolvableString.js +13 -0
- package/core/resolve/resolveData.d.ts +10 -0
- package/core/resolve/resolveData.js +162 -121
- package/core/resolve/stitch.d.ts +8 -0
- package/core/resolve/stitch.js +23 -21
- package/core/resolve/tgpuResolve.d.ts +55 -53
- package/core/resolve/tgpuResolve.js +106 -55
- package/core/root/configurableImpl.d.ts +10 -0
- package/core/root/configurableImpl.js +17 -19
- package/core/root/init.d.ts +76 -38
- package/core/root/init.js +346 -454
- package/core/root/rootTypes.d.ts +461 -627
- package/core/root/rootTypes.js +1 -0
- package/core/sampler/sampler.d.ts +50 -31
- package/core/sampler/sampler.js +120 -113
- package/core/simulate/tgpuSimulate.d.ts +9 -12
- package/core/simulate/tgpuSimulate.js +68 -71
- package/core/slot/accessor.d.ts +36 -13
- package/core/slot/accessor.js +138 -91
- package/core/slot/internalSlots.d.ts +2 -0
- package/core/slot/internalSlots.js +1 -6
- package/core/slot/lazy.d.ts +2 -6
- package/core/slot/lazy.js +71 -39
- package/core/slot/slot.d.ts +2 -6
- package/core/slot/slot.js +45 -38
- package/core/slot/slotTypes.d.ts +78 -80
- package/core/slot/slotTypes.js +11 -16
- package/core/texture/externalTexture.d.ts +20 -11
- package/core/texture/externalTexture.js +46 -46
- package/core/texture/texture.d.ts +152 -97
- package/core/texture/texture.js +407 -314
- package/core/texture/textureFormats.d.ts +42 -23
- package/core/texture/textureFormats.js +104 -75
- package/core/texture/textureProps.d.ts +7 -10
- package/core/texture/textureProps.js +1 -0
- package/core/texture/textureUtils.d.ts +8 -0
- package/core/texture/textureUtils.js +185 -179
- package/core/texture/usageExtension.d.ts +21 -18
- package/core/texture/usageExtension.js +13 -17
- package/core/unroll/tgpuUnroll.d.ts +20 -19
- package/core/unroll/tgpuUnroll.js +82 -91
- package/core/valueProxyUtils.d.ts +3 -0
- package/core/valueProxyUtils.js +52 -41
- package/core/variable/tgpuVariable.d.ts +26 -27
- package/core/variable/tgpuVariable.js +93 -96
- package/core/vertexLayout/connectAttributesToShader.d.ts +9 -0
- package/core/vertexLayout/connectAttributesToShader.js +61 -56
- package/core/vertexLayout/vertexAttribute.d.ts +21 -17
- package/core/vertexLayout/vertexAttribute.js +1 -0
- package/core/vertexLayout/vertexLayout.d.ts +24 -18
- package/core/vertexLayout/vertexLayout.js +130 -99
- package/core/whitespaces.d.ts +2 -0
- package/core/whitespaces.js +16 -0
- package/data/alignIO.d.ts +7 -0
- package/data/alignIO.js +13 -13
- package/data/alignmentOf.d.ts +5 -8
- package/data/alignmentOf.js +90 -75
- package/data/array.d.ts +6 -9
- package/data/array.js +48 -40
- package/data/atomic.d.ts +2 -7
- package/data/atomic.js +26 -23
- package/data/attributes.d.ts +19 -21
- package/data/attributes.js +192 -132
- package/data/autoStruct.d.ts +36 -3
- package/data/autoStruct.js +84 -81
- package/data/compiledIO.d.ts +5 -0
- package/data/compiledIO.js +231 -214
- package/data/dataIO.d.ts +13 -11
- package/data/dataIO.js +643 -589
- package/data/dataTypes.d.ts +83 -65
- package/data/dataTypes.js +66 -68
- package/data/deepEqual.d.ts +2 -7
- package/data/deepEqual.js +80 -55
- package/data/disarray.d.ts +6 -10
- package/data/disarray.js +52 -46
- package/data/float16Conversion.d.ts +4 -0
- package/data/float16Conversion.js +7 -0
- package/data/getLongestContiguousPrefix.d.ts +4 -8
- package/data/getLongestContiguousPrefix.js +6 -11
- package/data/index.d.ts +30 -31
- package/data/index.js +39 -172
- package/data/instanceToSchema.d.ts +24 -27
- package/data/instanceToSchema.js +1 -0
- package/data/isContiguous.d.ts +4 -8
- package/data/isContiguous.js +6 -11
- package/data/matrix.d.ts +21 -21
- package/data/matrix.js +513 -505
- package/data/numberOps.d.ts +6 -0
- package/data/numberOps.js +26 -20
- package/data/numeric.d.ts +21 -12
- package/data/numeric.js +287 -192
- package/data/offsetUtils.d.ts +9 -13
- package/data/offsetUtils.js +204 -144
- package/data/offsets.d.ts +8 -0
- package/data/offsets.js +33 -33
- package/data/partialIO.d.ts +13 -8
- package/data/partialIO.js +124 -113
- package/data/ptr.d.ts +12 -12
- package/data/ptr.js +42 -44
- package/data/ref.d.ts +40 -27
- package/data/ref.js +125 -95
- package/data/sampler.d.ts +99 -101
- package/data/sampler.js +17 -21
- package/data/schemaCallWrapper.d.ts +19 -0
- package/data/schemaCallWrapper.js +31 -26
- package/data/schemaMemoryLayout.d.ts +8 -0
- package/data/schemaMemoryLayout.js +213 -185
- package/data/sizeOf.d.ts +4 -8
- package/data/sizeOf.js +6 -11
- package/data/snippet.d.ts +96 -20
- package/data/snippet.js +75 -86
- package/data/struct.d.ts +4 -7
- package/data/struct.js +51 -39
- package/data/texture.d.ts +253 -250
- package/data/texture.js +238 -200
- package/data/unstruct.d.ts +2 -7
- package/data/unstruct.js +43 -37
- package/data/vector.d.ts +33 -21
- package/data/vector.js +234 -221
- package/data/vectorImpl.d.ts +231 -0
- package/data/vectorImpl.js +563 -515
- package/data/vectorOps.d.ts +63 -0
- package/data/vectorOps.js +642 -630
- package/data/vertexFormatData.d.ts +181 -184
- package/data/vertexFormatData.js +104 -106
- package/data/wgslTypes.d.ts +665 -600
- package/data/wgslTypes.js +220 -198
- package/errors.d.ts +50 -24
- package/errors.js +146 -120
- package/execMode.d.ts +16 -0
- package/execMode.js +47 -40
- package/extension.d.ts +13 -8
- package/extension.js +10 -16
- package/getGPUValue.d.ts +1 -0
- package/getGPUValue.js +2 -7
- package/index.d.ts +28 -68
- package/index.js +8 -28
- package/indexNamedExports.d.ts +69 -42
- package/indexNamedExports.js +25 -0
- package/internal.d.ts +16 -0
- package/internal.js +12 -0
- package/mathUtils.d.ts +5 -0
- package/mathUtils.js +7 -11
- package/memo.d.ts +11 -0
- package/memo.js +20 -22
- package/minify.d.ts +5 -0
- package/minify.js +93 -0
- package/nameUtils.d.ts +29 -0
- package/nameUtils.js +428 -398
- package/package.json +9 -3
- package/resolutionCtx.d.ts +162 -22
- package/resolutionCtx.js +911 -624
- package/serial/registry.d.ts +15 -0
- package/serial/registry.js +106 -0
- package/serial/restore.d.ts +49 -0
- package/serial/restore.js +68 -0
- package/serial/schema.d.ts +58 -0
- package/serial/schema.js +209 -0
- package/serial/types.d.ts +5 -0
- package/serial/types.js +1 -0
- package/shared/env.d.ts +9 -0
- package/shared/env.js +9 -12
- package/shared/generators.d.ts +4 -0
- package/shared/generators.js +10 -12
- package/shared/meta.d.ts +29 -14
- package/shared/meta.js +71 -55
- package/shared/normalizeMetadata.d.ts +32 -27
- package/shared/normalizeMetadata.js +23 -36
- package/shared/repr.d.ts +73 -55
- package/shared/repr.js +1 -0
- package/shared/soul.d.ts +17 -0
- package/shared/soul.js +1 -0
- package/shared/stringify.d.ts +2 -0
- package/shared/stringify.js +29 -20
- package/shared/symbols.d.ts +26 -20
- package/shared/symbols.js +79 -79
- package/shared/tseynit.d.ts +2 -0
- package/shared/tseynit.js +160 -75
- package/shared/utilityTypes.d.ts +30 -14
- package/shared/utilityTypes.js +2 -6
- package/shared/vertexFormat.d.ts +41 -43
- package/shared/vertexFormat.js +59 -62
- package/std/array.d.ts +2 -7
- package/std/array.js +18 -23
- package/std/atomic.d.ts +14 -18
- package/std/atomic.js +96 -95
- package/std/bitcast.d.ts +193 -10
- package/std/bitcast.js +309 -39
- package/std/boolean.d.ts +19 -33
- package/std/boolean.js +296 -288
- package/std/copy.d.ts +2 -7
- package/std/copy.js +27 -24
- package/std/derivative.d.ts +11 -15
- package/std/derivative.js +56 -79
- package/std/discard.d.ts +1 -6
- package/std/discard.js +7 -14
- package/std/environment.d.ts +19 -14
- package/std/environment.js +71 -51
- package/std/extensions.d.ts +2 -8
- package/std/extensions.js +10 -11
- package/std/index.d.ts +20 -24
- package/std/index.js +32 -187
- package/std/matrix.d.ts +6 -12
- package/std/matrix.js +60 -69
- package/std/numeric.d.ts +143 -146
- package/std/numeric.js +858 -749
- package/std/operators.d.ts +19 -27
- package/std/operators.js +227 -193
- package/std/packing.d.ts +5 -11
- package/std/packing.js +67 -75
- package/std/range.d.ts +6 -11
- package/std/range.js +48 -36
- package/std/subgroup.d.ts +33 -37
- package/std/subgroup.js +180 -217
- package/std/texture.d.ts +70 -38
- package/std/texture.js +176 -172
- package/taskQueue.d.ts +6 -0
- package/taskQueue.js +30 -0
- package/tgpu.d.ts +16 -0
- package/tgpu.js +17 -44
- package/tgpuBindGroupLayout.d.ts +132 -152
- package/tgpuBindGroupLayout.js +346 -268
- package/tgpuLogger.d.ts +34 -0
- package/tgpuLogger.js +63 -0
- package/tgpuUnstable.d.ts +16 -22
- package/tgpuUnstable.js +13 -35
- package/tgsl/accessIndex.d.ts +2 -0
- package/tgsl/accessIndex.js +76 -33
- package/tgsl/accessProp.d.ts +2 -0
- package/tgsl/accessProp.js +142 -100
- package/tgsl/accessStructProp.d.ts +5 -0
- package/tgsl/accessStructProp.js +18 -0
- package/tgsl/consoleLog/deserializers.d.ts +13 -0
- package/tgsl/consoleLog/deserializers.js +119 -103
- package/tgsl/consoleLog/logGenerator.d.ts +21 -0
- package/tgsl/consoleLog/logGenerator.js +85 -80
- package/tgsl/consoleLog/serializers.d.ts +21 -0
- package/tgsl/consoleLog/serializers.js +119 -100
- package/tgsl/consoleLog/types.d.ts +40 -39
- package/tgsl/consoleLog/types.js +1 -0
- package/tgsl/conversion.d.ts +33 -0
- package/tgsl/conversion.js +272 -193
- package/tgsl/forOfUtils.d.ts +15 -0
- package/tgsl/forOfUtils.js +85 -70
- package/tgsl/generationHelpers.d.ts +22 -39
- package/tgsl/generationHelpers.js +85 -58
- package/tgsl/infixDispatch.d.ts +70 -0
- package/tgsl/infixDispatch.js +48 -46
- package/tgsl/jsPolyfills.d.ts +16 -19
- package/tgsl/jsPolyfills.js +44 -42
- package/tgsl/makeDereferenceable.d.ts +48 -0
- package/tgsl/makeDereferenceable.js +86 -0
- package/tgsl/makeResolvable.d.ts +22 -0
- package/tgsl/makeResolvable.js +33 -0
- package/tgsl/shaderGenerator.d.ts +77 -17
- package/tgsl/shaderGenerator.js +1 -0
- package/tgsl/shellless.d.ts +6 -9
- package/tgsl/shellless.js +73 -43
- package/tgsl/wgslGenerator.d.ts +66 -59
- package/tgsl/wgslGenerator.js +1344 -747
- package/types.d.ts +287 -221
- package/types.js +61 -44
- package/unwrapper.d.ts +31 -26
- package/unwrapper.js +1 -0
- package/wgslExtensions.d.ts +3 -5
- package/wgslExtensions.js +12 -16
- package/_virtual/rolldown_runtime.js +0 -13
- package/core/buffer/bufferShorthand.d.ts +0 -50
- package/core/buffer/bufferShorthand.js +0 -55
- package/core/pipeline/applyPipelineState.js +0 -37
- package/package.js +0 -5
- package/tgsl/shaderGenerator_members.d.ts +0 -33
- package/tgsl/shaderGenerator_members.js +0 -12
package/errors.js
CHANGED
|
@@ -1,127 +1,153 @@
|
|
|
1
|
-
import { DEV, TEST } from "./shared/env.js";
|
|
2
1
|
import { getName, hasTinyestMetadata } from "./shared/meta.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const prefix = "Invariant failed";
|
|
2
|
+
import { DEV, TEST } from "./shared/env.js";
|
|
3
|
+
const prefix = 'Invariant failed';
|
|
6
4
|
/**
|
|
7
|
-
* Inspired by: https://github.com/alexreardon/tiny-invariant/blob/master/src/tiny-invariant.ts
|
|
8
|
-
*/
|
|
9
|
-
function invariant(condition, message) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
* Inspired by: https://github.com/alexreardon/tiny-invariant/blob/master/src/tiny-invariant.ts
|
|
6
|
+
*/
|
|
7
|
+
export function invariant(condition, message) {
|
|
8
|
+
if (condition) {
|
|
9
|
+
// Condition passed
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
// In production we strip the message but still throw
|
|
13
|
+
if (!DEV && !TEST) {
|
|
14
|
+
throw new Error(prefix);
|
|
15
|
+
}
|
|
16
|
+
// When not in production we allow the message to pass through
|
|
17
|
+
// *This block will be removed in production builds*
|
|
18
|
+
const provided = typeof message === 'function' ? message() : message;
|
|
19
|
+
// Options:
|
|
20
|
+
// 1. message provided: `${prefix}: ${provided}`
|
|
21
|
+
// 2. message not provided: prefix
|
|
22
|
+
const value = provided ? `${prefix}: ${provided}` : prefix;
|
|
23
|
+
throw new Error(value);
|
|
15
24
|
}
|
|
16
25
|
/**
|
|
17
|
-
* An error that happens during resolution of WGSL code.
|
|
18
|
-
* Contains a trace of all ancestor resolvables in
|
|
19
|
-
* which this error originated.
|
|
20
|
-
*
|
|
21
|
-
* @category Errors
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
26
|
+
* An error that happens during resolution of WGSL code.
|
|
27
|
+
* Contains a trace of all ancestor resolvables in
|
|
28
|
+
* which this error originated.
|
|
29
|
+
*
|
|
30
|
+
* @category Errors
|
|
31
|
+
*/
|
|
32
|
+
export class ResolutionError extends Error {
|
|
33
|
+
cause;
|
|
34
|
+
trace;
|
|
35
|
+
constructor(cause, trace) {
|
|
36
|
+
let entries = trace.map((ancestor) => `- ${hasTinyestMetadata(ancestor) ? `fn*:${getName(ancestor)}` : ancestor}`);
|
|
37
|
+
// Showing only the root and leaf nodes.
|
|
38
|
+
if (entries.length > 20) {
|
|
39
|
+
entries = [...entries.slice(0, 11), '...', ...entries.slice(-10)];
|
|
40
|
+
}
|
|
41
|
+
super(`Resolution of the following tree failed:\n${entries.join('\n')}: ${cause && typeof cause === 'object' && 'message' in cause ? cause.message : cause}`);
|
|
42
|
+
this.cause = cause;
|
|
43
|
+
this.trace = trace;
|
|
44
|
+
// Set the prototype explicitly.
|
|
45
|
+
Object.setPrototypeOf(this, ResolutionError.prototype);
|
|
46
|
+
}
|
|
47
|
+
appendToTrace(ancestor) {
|
|
48
|
+
const newTrace = [ancestor, ...this.trace];
|
|
49
|
+
return new ResolutionError(this.cause, newTrace);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
43
52
|
/**
|
|
44
|
-
* An error that happens during execution of TypeGPU functions.
|
|
45
|
-
* Contains a trace of all TypeGPU functions called along the way.
|
|
46
|
-
*
|
|
47
|
-
* @category Errors
|
|
48
|
-
*/
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
53
|
+
* An error that happens during execution of TypeGPU functions.
|
|
54
|
+
* Contains a trace of all TypeGPU functions called along the way.
|
|
55
|
+
*
|
|
56
|
+
* @category Errors
|
|
57
|
+
*/
|
|
58
|
+
export class ExecutionError extends Error {
|
|
59
|
+
cause;
|
|
60
|
+
trace;
|
|
61
|
+
constructor(cause, trace) {
|
|
62
|
+
let entries = trace.map((ancestor) => `- ${ancestor}`);
|
|
63
|
+
// Showing only the root and leaf nodes.
|
|
64
|
+
if (entries.length > 20) {
|
|
65
|
+
entries = [...entries.slice(0, 11), '...', ...entries.slice(-10)];
|
|
66
|
+
}
|
|
67
|
+
super(`Execution of the following tree failed:\n${entries.join('\n')}: ${cause && typeof cause === 'object' && 'message' in cause ? cause.message : cause}`);
|
|
68
|
+
this.cause = cause;
|
|
69
|
+
this.trace = trace;
|
|
70
|
+
// Set the prototype explicitly.
|
|
71
|
+
Object.setPrototypeOf(this, ExecutionError.prototype);
|
|
72
|
+
}
|
|
73
|
+
appendToTrace(ancestor) {
|
|
74
|
+
const newTrace = [ancestor, ...this.trace];
|
|
75
|
+
return new ExecutionError(this.cause, newTrace);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
69
78
|
/**
|
|
70
|
-
* @category Errors
|
|
71
|
-
*/
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
79
|
+
* @category Errors
|
|
80
|
+
*/
|
|
81
|
+
export class MissingSlotValueError extends Error {
|
|
82
|
+
slot;
|
|
83
|
+
constructor(slot) {
|
|
84
|
+
super(`Missing value for '${slot}'`);
|
|
85
|
+
this.slot = slot;
|
|
86
|
+
// Set the prototype explicitly.
|
|
87
|
+
Object.setPrototypeOf(this, MissingSlotValueError.prototype);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
80
90
|
/**
|
|
81
|
-
* @category Errors
|
|
82
|
-
*/
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
91
|
+
* @category Errors
|
|
92
|
+
*/
|
|
93
|
+
export class NotUniformError extends Error {
|
|
94
|
+
constructor(value) {
|
|
95
|
+
super(`Buffer '${getName(value) ?? '<unnamed>'}' is not bindable as a uniform. Use .$usage('uniform') to allow it.`);
|
|
96
|
+
// Set the prototype explicitly.
|
|
97
|
+
Object.setPrototypeOf(this, NotUniformError.prototype);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export class MissingBindGroupsError extends Error {
|
|
101
|
+
constructor(layouts) {
|
|
102
|
+
super(`Missing bind groups for layouts: '${[...layouts]
|
|
103
|
+
.map((layout) => getName(layout) ?? '<unnamed>')
|
|
104
|
+
.join(', ')}'. Please provide it using pipeline.with(bindGroup).(...)`);
|
|
105
|
+
// Set the prototype explicitly.
|
|
106
|
+
Object.setPrototypeOf(this, MissingBindGroupsError.prototype);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
export class MissingVertexBuffersError extends Error {
|
|
110
|
+
constructor(layouts) {
|
|
111
|
+
super(`Missing vertex buffers for layouts: '${[...layouts]
|
|
112
|
+
.map((layout) => getName(layout) ?? '<unnamed>')
|
|
113
|
+
.join(', ')}'. Please provide it using pipeline.with(layout, buffer).(...)`);
|
|
114
|
+
// Set the prototype explicitly.
|
|
115
|
+
Object.setPrototypeOf(this, MissingVertexBuffersError.prototype);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
export class IllegalVarAccessError extends Error {
|
|
119
|
+
constructor(msg) {
|
|
120
|
+
super(msg);
|
|
121
|
+
// Set the prototype explicitly.
|
|
122
|
+
Object.setPrototypeOf(this, IllegalVarAccessError.prototype);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
export class IllegalBufferAccessError extends Error {
|
|
126
|
+
constructor(msg) {
|
|
127
|
+
super(msg);
|
|
128
|
+
// Set the prototype explicitly.
|
|
129
|
+
Object.setPrototypeOf(this, IllegalBufferAccessError.prototype);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
export class WgslTypeError extends Error {
|
|
133
|
+
constructor(msg) {
|
|
134
|
+
super(msg);
|
|
135
|
+
// Set the prototype explicitly.
|
|
136
|
+
Object.setPrototypeOf(this, WgslTypeError.prototype);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
export class SignatureNotSupportedError extends Error {
|
|
140
|
+
constructor(actual, candidates) {
|
|
141
|
+
super(`Unsupported data types: ${actual
|
|
142
|
+
.map((a) => a.type)
|
|
143
|
+
.join(', ')}. Supported types are: ${candidates.map((r) => r.type).join(', ')}.`);
|
|
144
|
+
// Set the prototype explicitly.
|
|
145
|
+
Object.setPrototypeOf(this, SignatureNotSupportedError.prototype);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
export class FiniteMathAssumptionError extends Error {
|
|
149
|
+
constructor(value, type) {
|
|
150
|
+
super(`Cannot convert value '${value}' to type ${type.type} because of the Finite Math Assumption (see: https://www.w3.org/TR/WGSL/#finite-math-assumption)`);
|
|
151
|
+
Object.setPrototypeOf(this, FiniteMathAssumptionError.prototype);
|
|
152
|
+
}
|
|
153
|
+
}
|
package/execMode.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ExecState, NormalState, type ResolutionCtx } from './types.ts';
|
|
2
|
+
export declare function provideInsideTgpuFn<T>(callback: () => T): T;
|
|
3
|
+
export declare function isInsideTgpuFn(): boolean;
|
|
4
|
+
/**
|
|
5
|
+
* Used to mock the context before all tests. For normal use-cases, use `provideCtx`
|
|
6
|
+
*/
|
|
7
|
+
export declare function INTERNAL_setCtx(ctx: ResolutionCtx | undefined): void;
|
|
8
|
+
export declare function provideCtx<T>(ctx: ResolutionCtx, callback: () => T): T;
|
|
9
|
+
export declare function getResolutionCtx(): ResolutionCtx | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Applicable when code is being executed outside of any
|
|
12
|
+
* execution-altering APIs.
|
|
13
|
+
*/
|
|
14
|
+
export declare const topLevelState: NormalState;
|
|
15
|
+
export declare function getExecMode(): ExecState;
|
|
16
|
+
export declare function inCodegenMode(): boolean;
|
package/execMode.js
CHANGED
|
@@ -1,51 +1,58 @@
|
|
|
1
|
-
import { invariant } from "./errors.js";
|
|
2
1
|
import { NormalState } from "./types.js";
|
|
3
|
-
|
|
4
|
-
//#region src/execMode.ts
|
|
5
2
|
/**
|
|
6
|
-
* Used to track if the code we're currently
|
|
7
|
-
* executing is inside an executing TypeGPU function.
|
|
8
|
-
*
|
|
9
|
-
* Helpful for providing better error messages.
|
|
10
|
-
*/
|
|
3
|
+
* Used to track if the code we're currently
|
|
4
|
+
* executing is inside an executing TypeGPU function.
|
|
5
|
+
*
|
|
6
|
+
* Helpful for providing better error messages.
|
|
7
|
+
*/
|
|
11
8
|
let insideTgpuFn = false;
|
|
12
|
-
function provideInsideTgpuFn(callback) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
export function provideInsideTgpuFn(callback) {
|
|
10
|
+
if (insideTgpuFn) {
|
|
11
|
+
return callback();
|
|
12
|
+
}
|
|
13
|
+
try {
|
|
14
|
+
insideTgpuFn = true;
|
|
15
|
+
return callback();
|
|
16
|
+
}
|
|
17
|
+
finally {
|
|
18
|
+
insideTgpuFn = false;
|
|
19
|
+
}
|
|
20
20
|
}
|
|
21
|
-
function isInsideTgpuFn() {
|
|
22
|
-
|
|
21
|
+
export function isInsideTgpuFn() {
|
|
22
|
+
return insideTgpuFn;
|
|
23
23
|
}
|
|
24
24
|
let resolutionCtx;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Used to mock the context before all tests. For normal use-cases, use `provideCtx`
|
|
27
|
+
*/
|
|
28
|
+
export function INTERNAL_setCtx(ctx) {
|
|
29
|
+
resolutionCtx = ctx;
|
|
30
|
+
}
|
|
31
|
+
export function provideCtx(ctx, callback) {
|
|
32
|
+
if (resolutionCtx === ctx) {
|
|
33
|
+
return callback();
|
|
34
|
+
}
|
|
35
|
+
const prevCtx = resolutionCtx;
|
|
36
|
+
resolutionCtx = ctx;
|
|
37
|
+
try {
|
|
38
|
+
return callback();
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
resolutionCtx = prevCtx;
|
|
42
|
+
}
|
|
34
43
|
}
|
|
35
|
-
function getResolutionCtx() {
|
|
36
|
-
|
|
44
|
+
export function getResolutionCtx() {
|
|
45
|
+
return resolutionCtx;
|
|
37
46
|
}
|
|
38
47
|
/**
|
|
39
|
-
* Applicable when code is being executed outside of any
|
|
40
|
-
* execution-altering APIs.
|
|
41
|
-
*/
|
|
42
|
-
const topLevelState = new NormalState();
|
|
43
|
-
function getExecMode() {
|
|
44
|
-
|
|
48
|
+
* Applicable when code is being executed outside of any
|
|
49
|
+
* execution-altering APIs.
|
|
50
|
+
*/
|
|
51
|
+
export const topLevelState = new NormalState();
|
|
52
|
+
export function getExecMode() {
|
|
53
|
+
return resolutionCtx?.mode ?? topLevelState;
|
|
45
54
|
}
|
|
46
|
-
function inCodegenMode() {
|
|
47
|
-
|
|
55
|
+
export function inCodegenMode() {
|
|
56
|
+
return resolutionCtx?.mode.type === 'codegen';
|
|
48
57
|
}
|
|
49
|
-
|
|
50
|
-
//#endregion
|
|
51
|
-
export { getExecMode, getResolutionCtx, inCodegenMode, isInsideTgpuFn, provideCtx, provideInsideTgpuFn, topLevelState };
|
|
58
|
+
// You can add getters for more modes if necessary...
|
package/extension.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export interface NotAllowed<TMsg> {
|
|
2
|
+
reason: TMsg;
|
|
3
|
+
}
|
|
4
|
+
export type ExtensionGuard<TFlag, TMsg, TAllowed> = boolean extends TFlag ? NotAllowed<TMsg> | TAllowed : TAllowed;
|
|
5
|
+
export interface StorageFlag {
|
|
6
|
+
usableAsStorage: true;
|
|
5
7
|
}
|
|
6
8
|
/**
|
|
7
9
|
* @deprecated Use StorageFlag instead.
|
|
8
10
|
*/
|
|
9
|
-
type Storage = StorageFlag;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
export type Storage = StorageFlag;
|
|
12
|
+
/**
|
|
13
|
+
* @category Errors
|
|
14
|
+
*/
|
|
15
|
+
export declare class NotStorageError extends Error {
|
|
16
|
+
constructor(value: object);
|
|
17
|
+
}
|
package/extension.js
CHANGED
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
import { getName } from "./shared/meta.js";
|
|
2
|
-
|
|
3
|
-
//#region src/extension.ts
|
|
4
|
-
function isUsableAsStorage(value) {
|
|
5
|
-
return !!value?.usableAsStorage;
|
|
6
|
-
}
|
|
7
2
|
/**
|
|
8
|
-
* @category Errors
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export { NotStorageError, isUsableAsStorage };
|
|
3
|
+
* @category Errors
|
|
4
|
+
*/
|
|
5
|
+
export class NotStorageError extends Error {
|
|
6
|
+
constructor(value) {
|
|
7
|
+
super(`Resource '${getName(value) ?? '<unnamed>'}' cannot be bound as 'storage'. Use .$usage('storage') to allow it.`);
|
|
8
|
+
// Set the prototype explicitly.
|
|
9
|
+
Object.setPrototypeOf(this, NotStorageError.prototype);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
// #endregion
|
package/getGPUValue.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getGPUValue(object: unknown): unknown;
|
package/getGPUValue.js
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import { $gpuValueOf } from "./shared/symbols.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
function getGPUValue(object) {
|
|
5
|
-
return object?.[$gpuValueOf];
|
|
2
|
+
export function getGPUValue(object) {
|
|
3
|
+
return object?.[$gpuValueOf];
|
|
6
4
|
}
|
|
7
|
-
|
|
8
|
-
//#endregion
|
|
9
|
-
export { getGPUValue };
|
package/index.d.ts
CHANGED
|
@@ -1,73 +1,33 @@
|
|
|
1
|
-
import { INTERNAL_GlobalExt } from "./shared/meta.js";
|
|
2
|
-
import { Storage, StorageFlag, isUsableAsStorage } from "./extension.js";
|
|
3
|
-
import { TgpuQuerySet } from "./core/querySet/querySet.js";
|
|
4
|
-
import { TgpuBufferMutable, TgpuBufferReadonly, TgpuBufferUniform, isUsableAsUniform } from "./core/buffer/bufferUsage.js";
|
|
5
|
-
import { TgpuMutable, TgpuReadonly, TgpuUniform, isBufferShorthand } from "./core/buffer/bufferShorthand.js";
|
|
6
|
-
import { TgpuComputeFn, TgpuComputeFnShell, computeFn, isTgpuComputeFn } from "./core/function/tgpuComputeFn.js";
|
|
7
|
-
import { TgpuVar, VariableScope, isVariable, privateVar, workgroupVar } from "./core/variable/tgpuVariable.js";
|
|
8
|
-
import { Eventual, TgpuAccessor, TgpuLazy, TgpuMutableAccessor, TgpuSlot, isAccessor, isLazy, isMutableAccessor, isSlot } from "./core/slot/slotTypes.js";
|
|
9
|
-
import { TgpuComputePipeline } from "./core/pipeline/computePipeline.js";
|
|
10
|
-
import { AnyAutoCustoms, AutoFragmentIn, AutoFragmentOut, AutoVertexOut, _AutoVertexIn } from "./core/function/autoIO.js";
|
|
11
|
-
import { TgpuFragmentFn, TgpuFragmentFnShell, fragmentFn, isTgpuFragmentFn } from "./core/function/tgpuFragmentFn.js";
|
|
12
|
-
import { TgpuVertexFn, TgpuVertexFnShell, isTgpuVertexFn, vertexFn } from "./core/function/tgpuVertexFn.js";
|
|
13
|
-
import { TextureProps } from "./core/texture/textureProps.js";
|
|
14
|
-
import { RenderFlag, SampledFlag, isUsableAsRender, isUsableAsSampled } from "./core/texture/usageExtension.js";
|
|
15
|
-
import { TgpuVertexLayout, vertexLayout } from "./core/vertexLayout/vertexLayout.js";
|
|
16
|
-
import { ColorAttachment, TgpuPrimitiveState, TgpuRenderPipeline } from "./core/pipeline/renderPipeline.js";
|
|
17
|
-
import { TgpuComparisonSampler, TgpuFixedComparisonSampler, TgpuFixedSampler, TgpuSampler, isComparisonSampler, isSampler } from "./core/sampler/sampler.js";
|
|
18
|
-
import { BindLayoutEntry, ExtractBindGroupInputFromLayout, LayoutEntryToInput, TgpuBindGroup, TgpuBindGroupLayout, TgpuLayoutComparisonSampler, TgpuLayoutEntry, TgpuLayoutExternalTexture, TgpuLayoutSampler, TgpuLayoutStorage, TgpuLayoutTexture, TgpuLayoutUniform, bindGroupLayout } from "./tgpuBindGroupLayout.js";
|
|
19
|
-
import { ShaderGenerator } from "./tgsl/shaderGenerator.js";
|
|
20
|
-
import { Configurable, TgpuGuardedComputePipeline, TgpuRoot, ValidateBufferSchema, ValidateStorageSchema, ValidateUniformSchema, WithBinding, WithCompute, WithFragment, WithVertex, Withable } from "./core/root/rootTypes.js";
|
|
21
|
-
import { IndexFlag, TgpuBuffer, Uniform, UniformFlag, ValidUsagesFor, Vertex, VertexFlag, isBuffer, isUsableAsVertex } from "./core/buffer/buffer.js";
|
|
22
|
-
import { TgpuDeclare } from "./core/declare/tgpuDeclare.js";
|
|
23
|
-
import { TgpuFn, TgpuFnShell, TgpuGenericFn, fn, isTgpuFn } from "./core/function/tgpuFn.js";
|
|
24
|
-
import { TgpuTexture, TgpuTextureView, isTexture } from "./core/texture/texture.js";
|
|
25
|
-
import { TgpuConst, constant } from "./core/constant/tgpuConstant.js";
|
|
26
|
-
import { TgpuComptime, comptime } from "./core/function/comptime.js";
|
|
27
|
-
import { Namespace } from "./core/resolve/namespace.js";
|
|
28
|
-
import { resolve, resolveWithContext } from "./core/resolve/tgpuResolve.js";
|
|
29
|
-
import { InitFromDeviceOptions, InitOptions, init, initFromDevice } from "./core/root/init.js";
|
|
30
|
-
import { slot } from "./core/slot/slot.js";
|
|
31
|
-
import { lazy } from "./core/slot/lazy.js";
|
|
32
|
-
import { accessor, mutableAccessor } from "./core/slot/accessor.js";
|
|
33
|
-
import { unroll } from "./core/unroll/tgpuUnroll.js";
|
|
34
|
-
import { RawCodeSnippetOrigin, TgpuRawCodeSnippet } from "./core/rawCodeSnippet/tgpuRawCodeSnippet.js";
|
|
35
|
-
import { tgpuUnstable_d_exports } from "./tgpuUnstable.js";
|
|
36
|
-
import { index_d_exports as index_d_exports$1 } from "./data/index.js";
|
|
37
|
-
import { index_d_exports as index_d_exports$2 } from "./std/index.js";
|
|
38
|
-
import { index_d_exports } from "./common/index.js";
|
|
39
|
-
import { MissingBindGroupsError, MissingSlotValueError, MissingVertexBuffersError, NotUniformError, ResolutionError } from "./errors.js";
|
|
40
|
-
import { WgslGenerator } from "./tgsl/wgslGenerator.js";
|
|
41
|
-
import { readFromArrayBuffer, writeToArrayBuffer } from "./data/dataIO.js";
|
|
42
|
-
import { patchArrayBuffer } from "./data/partialIO.js";
|
|
43
|
-
import { TgpuRenderPipelineDescriptor } from "./indexNamedExports.js";
|
|
44
|
-
|
|
45
|
-
//#region src/index.d.ts
|
|
46
1
|
/**
|
|
47
2
|
* @module typegpu
|
|
48
3
|
*/
|
|
4
|
+
|
|
49
5
|
// NOTE: This is a barrel file, internal files should not import things from this file
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
6
|
+
|
|
7
|
+
export declare const tgpu: {
|
|
8
|
+
const: typeof import('./core/constant/tgpuConstant.ts').constant;
|
|
9
|
+
fn: typeof import('./core/function/tgpuFn.ts').fn;
|
|
10
|
+
comptime: typeof import('./core/function/comptime.ts').comptime;
|
|
11
|
+
resolve: typeof import('./core/resolve/tgpuResolve.ts').resolve;
|
|
12
|
+
resolveWithContext: typeof import('./core/resolve/tgpuResolve.ts').resolveWithContext;
|
|
13
|
+
init: typeof import('./core/root/init.ts').init;
|
|
14
|
+
initFromDevice: typeof import('./core/root/init.ts').initFromDevice;
|
|
15
|
+
slot: typeof import('./core/slot/slot.ts').slot;
|
|
16
|
+
lazy: typeof import('./core/slot/lazy.ts').lazy;
|
|
17
|
+
accessor: typeof import('./core/slot/accessor.ts').accessor;
|
|
18
|
+
mutableAccessor: typeof import('./core/slot/accessor.ts').mutableAccessor;
|
|
19
|
+
privateVar: typeof import('./core/variable/tgpuVariable.ts').privateVar;
|
|
20
|
+
workgroupVar: typeof import('./core/variable/tgpuVariable.ts').workgroupVar;
|
|
21
|
+
vertexLayout: typeof import('./core/vertexLayout/vertexLayout.ts').vertexLayout;
|
|
22
|
+
bindGroupLayout: typeof import('./tgpuBindGroupLayout.ts').bindGroupLayout;
|
|
23
|
+
computeFn: typeof import('./core/function/tgpuComputeFn.ts').computeFn;
|
|
24
|
+
fragmentFn: typeof import('./core/function/tgpuFragmentFn.ts').fragmentFn;
|
|
25
|
+
vertexFn: typeof import('./core/function/tgpuVertexFn.ts').vertexFn;
|
|
26
|
+
unroll: typeof import('./core/unroll/tgpuUnroll.ts').unroll;
|
|
27
|
+
|
|
28
|
+
'~unstable': typeof import('./tgpuUnstable.ts');
|
|
71
29
|
};
|
|
72
|
-
|
|
73
|
-
export
|
|
30
|
+
|
|
31
|
+
export default tgpu;
|
|
32
|
+
|
|
33
|
+
export * from './indexNamedExports.ts';
|
package/index.js
CHANGED
|
@@ -1,28 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import { isBuffer, isUsableAsVertex } from "./core/buffer/buffer.js";
|
|
10
|
-
import { isComparisonSampler, isSampler } from "./core/sampler/sampler.js";
|
|
11
|
-
import { isTexture } from "./core/texture/texture.js";
|
|
12
|
-
import { isUsableAsRender, isUsableAsSampled } from "./core/texture/usageExtension.js";
|
|
13
|
-
import { isVariable } from "./core/variable/tgpuVariable.js";
|
|
14
|
-
import { WgslGenerator } from "./tgsl/wgslGenerator.js";
|
|
15
|
-
import { isBufferShorthand } from "./core/buffer/bufferShorthand.js";
|
|
16
|
-
import { isTgpuComputeFn } from "./core/function/tgpuComputeFn.js";
|
|
17
|
-
import { isTgpuFragmentFn } from "./core/function/tgpuFragmentFn.js";
|
|
18
|
-
import { isTgpuVertexFn } from "./core/function/tgpuVertexFn.js";
|
|
19
|
-
import { tgpu_exports } from "./tgpu.js";
|
|
20
|
-
import { data_exports } from "./data/index.js";
|
|
21
|
-
import { std_exports } from "./std/index.js";
|
|
22
|
-
import { common_exports } from "./common/index.js";
|
|
23
|
-
|
|
24
|
-
//#region src/index.js
|
|
25
|
-
var src_default = tgpu_exports;
|
|
26
|
-
|
|
27
|
-
//#endregion
|
|
28
|
-
export { MissingBindGroupsError, MissingSlotValueError, MissingVertexBuffersError, NotUniformError, ResolutionError, shaderGenerator_members_exports as ShaderGenerator, WgslGenerator, common_exports as common, data_exports as d, src_default as default, isAccessor, isBuffer, isBufferShorthand, isComparisonSampler, isLazy, isMutableAccessor, isSampler, isSlot, isTexture, isTgpuComputeFn, isTgpuFn, isTgpuFragmentFn, isTgpuVertexFn, isUsableAsRender, isUsableAsSampled, isUsableAsStorage, isUsableAsUniform, isUsableAsVertex, isVariable, patchArrayBuffer, readFromArrayBuffer, std_exports as std, tgpu_exports as tgpu, writeToArrayBuffer };
|
|
1
|
+
/**
|
|
2
|
+
* @module typegpu
|
|
3
|
+
*/
|
|
4
|
+
// NOTE: This is a barrel file, internal files should not import things from this file
|
|
5
|
+
import * as tgpu from "./tgpu.js";
|
|
6
|
+
export * as tgpu from "./tgpu.js";
|
|
7
|
+
export default tgpu;
|
|
8
|
+
export * from "./indexNamedExports.js";
|