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/indexNamedExports.d.ts
CHANGED
|
@@ -1,43 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
1
|
+
export * as d from './data/index.ts';
|
|
2
|
+
export * as std from './std/index.ts';
|
|
3
|
+
export * as common from './common/index.ts';
|
|
4
|
+
export { MissingBindGroupsError, MissingSlotValueError, MissingVertexBuffersError, NotUniformError, ResolutionError, } from './errors.ts';
|
|
5
|
+
export { isAccessor, isLazy, isMutableAccessor, isSlot } from './core/slot/slotTypes.ts';
|
|
6
|
+
export { isComparisonSampler, isSampler } from './core/sampler/sampler.ts';
|
|
7
|
+
export { isTexture } from './core/texture/texture.ts';
|
|
8
|
+
export { isUsableAsRender, isUsableAsSampled } from './core/texture/usageExtension.ts';
|
|
9
|
+
export { isBuffer, isUsableAsUniform, isUsableAsVertex, isUsableAsIndex, isUsableAsStorage, } from './types.ts';
|
|
10
|
+
export { isBufferBinding, isBufferShorthand, isMutableBinding, isReadonlyBinding, isUniformBinding, } from './core/buffer/bufferBinding.ts';
|
|
11
|
+
export { isBindGroup, isBindGroupLayout } from './tgpuBindGroupLayout.ts';
|
|
12
|
+
export { isTgpuFn } from './core/function/tgpuFn.ts';
|
|
13
|
+
export { isTgpuFragmentFn } from './core/function/tgpuFragmentFn.ts';
|
|
14
|
+
export { isTgpuVertexFn } from './core/function/tgpuVertexFn.ts';
|
|
15
|
+
export { isTgpuComputeFn } from './core/function/tgpuComputeFn.ts';
|
|
16
|
+
export { isComputePipeline, isPipeline, isRenderPipeline } from './core/pipeline/typeGuards.ts';
|
|
17
|
+
export { isQuerySet } from './core/querySet/querySet.ts';
|
|
18
|
+
export { isVariable } from './core/variable/tgpuVariable.ts';
|
|
19
|
+
export { isVertexLayout } from './core/vertexLayout/vertexLayout.ts';
|
|
20
|
+
export type {
|
|
21
|
+
/** @deprecated Import from 'typegpu/~internal' instead */ ShaderGenerator, } from './tgsl/shaderGenerator.ts';
|
|
22
|
+
export {
|
|
23
|
+
/** @deprecated Import from 'typegpu/~internal' instead */ WgslGenerator, } from './tgsl/wgslGenerator.ts';
|
|
24
|
+
export { readFromArrayBuffer, writeToArrayBuffer } from './data/dataIO.ts';
|
|
25
|
+
export { patchArrayBuffer } from './data/partialIO.ts';
|
|
26
|
+
export { warn } from './tgpuLogger.ts';
|
|
27
|
+
export type { ResolvableObject, ShaderStage } from './types.ts';
|
|
28
|
+
export type { ResolvedDeclaration } from './resolutionCtx.ts';
|
|
29
|
+
export type { Configurable, TgpuGuardedComputePipeline, TgpuRoot, ValidateBufferSchema, ValidateStorageSchema, ValidateUniformSchema, Withable, WithBinding, } from './core/root/rootTypes.ts';
|
|
30
|
+
export type { Storage, StorageFlag } from './extension.ts';
|
|
31
|
+
export type { TgpuVertexLayout } from './core/vertexLayout/vertexLayout.ts';
|
|
32
|
+
export type { TgpuPrimitiveState, TgpuRenderPipeline } from './core/pipeline/renderPipeline.ts';
|
|
33
|
+
export type { ColorAttachment, DepthStencilAttachment } from './core/commandEncoder/attachments.ts';
|
|
34
|
+
export type { TgpuComputePipeline } from './core/pipeline/computePipeline.ts';
|
|
35
|
+
export type { TgpuCommandEncoder } from './core/commandEncoder/commandEncoder.ts';
|
|
36
|
+
export type { TgpuRenderBundleEncoder, TgpuRenderCommands, TgpuRenderPass, TgpuRenderPassDescriptor, } from './core/commandEncoder/renderPass.ts';
|
|
37
|
+
export type { TgpuComputePass, TgpuComputePassDescriptor, } from './core/commandEncoder/computePass.ts';
|
|
38
|
+
export type { IndexFlag, TgpuBuffer, Uniform, UniformFlag, UsageLiteral, ValidUsagesFor, Vertex, VertexFlag, TgpuStorageBuffer, TgpuUniformBuffer, TgpuVertexBuffer, TgpuIndexBuffer, BufferWriteOptions, BufferInitCallback, BufferInitialData, } from './core/buffer/buffer.ts';
|
|
39
|
+
export type { TgpuBufferMutable, TgpuBufferReadonly, TgpuBufferUniform, } from './core/buffer/bufferUsage.ts';
|
|
40
|
+
export type { TgpuBufferBinding, TgpuMutable, TgpuReadonly, TgpuUniform, } from './core/buffer/bufferBinding.ts';
|
|
41
|
+
export type { Eventual, TgpuAccessor, TgpuLazy, TgpuMutableAccessor, TgpuSlot, } from './core/slot/slotTypes.ts';
|
|
42
|
+
export type { RawCodeSnippetOrigin, TgpuRawCodeSnippet, } from './core/rawCodeSnippet/tgpuRawCodeSnippet.ts';
|
|
43
|
+
export type { TextureWriteFit, TextureWriteOptions, TgpuTexture, TgpuTextureView, } from './core/texture/texture.ts';
|
|
44
|
+
export type { TextureProps } from './core/texture/textureProps.ts';
|
|
45
|
+
export type { RenderFlag, SampledFlag } from './core/texture/usageExtension.ts';
|
|
46
|
+
export type { InitFromDeviceOptions, InitOptions } from './core/root/init.ts';
|
|
47
|
+
export type { TgpuConst } from './core/constant/tgpuConstant.ts';
|
|
48
|
+
export type { TgpuVar, VariableScope } from './core/variable/tgpuVariable.ts';
|
|
49
|
+
export type { TgpuComparisonSampler, TgpuFixedComparisonSampler, TgpuFixedSampler, TgpuSampler, } from './core/sampler/sampler.ts';
|
|
50
|
+
export type { TgpuQuerySet } from './core/querySet/querySet.ts';
|
|
51
|
+
export type { ExtractBindGroupInputFromLayout, LayoutEntryToInput, TgpuBindGroup, TgpuBindGroupLayout, TgpuLayoutComparisonSampler, TgpuLayoutEntry, TgpuLayoutExternalTexture, TgpuLayoutSampler, TgpuLayoutStorage, TgpuLayoutTexture, TgpuLayoutUniform, } from './tgpuBindGroupLayout.ts';
|
|
52
|
+
export type { TgpuFn, TgpuFnShell, TgpuGenericFn } from './core/function/tgpuFn.ts';
|
|
53
|
+
export type { TgpuComptime } from './core/function/comptime.ts';
|
|
54
|
+
export type { TgpuVertexFn, TgpuVertexFnShell } from './core/function/tgpuVertexFn.ts';
|
|
55
|
+
export type { TgpuFragmentFn, TgpuFragmentFnShell } from './core/function/tgpuFragmentFn.ts';
|
|
56
|
+
export type { TgpuComputeFn, TgpuComputeFnShell } from './core/function/tgpuComputeFn.ts';
|
|
57
|
+
export type { AnyAutoCustoms,
|
|
58
|
+
/** @deprecated use TgpuFragmentFn.AutoIn */
|
|
59
|
+
AutoFragmentIn,
|
|
60
|
+
/** @deprecated use TgpuFragmentFn.AutoOut */
|
|
61
|
+
AutoFragmentOut,
|
|
62
|
+
/** @deprecated use TgpuVertexFn.AutoIn */
|
|
63
|
+
_AutoVertexIn as AutoVertexIn,
|
|
64
|
+
/** @deprecated use TgpuVertexFn.AutoOut */
|
|
65
|
+
AutoVertexOut, } from './core/function/autoIO.ts';
|
|
66
|
+
export type { TgpuDeclare } from './core/declare/tgpuDeclare.ts';
|
|
67
|
+
export type { Namespace } from './core/resolve/namespace.ts';
|
|
68
|
+
export type { INTERNAL_GlobalExt } from './shared/meta.ts';
|
|
40
69
|
/** @deprecated Use TgpuRenderPipeline.Descriptor */
|
|
41
|
-
type TgpuRenderPipelineDescriptor = TgpuRenderPipeline.Descriptor;
|
|
42
|
-
//#endregion
|
|
43
|
-
export { TgpuRenderPipelineDescriptor };
|
|
70
|
+
export type TgpuRenderPipelineDescriptor = import('./core/pipeline/renderPipeline.ts').TgpuRenderPipeline.Descriptor;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// NOTE: This is a barrel file, internal files should not import things from this file
|
|
2
|
+
export * as d from "./data/index.js";
|
|
3
|
+
export * as std from "./std/index.js";
|
|
4
|
+
export * as common from "./common/index.js";
|
|
5
|
+
export { MissingBindGroupsError, MissingSlotValueError, MissingVertexBuffersError, NotUniformError, ResolutionError, } from "./errors.js";
|
|
6
|
+
export { isAccessor, isLazy, isMutableAccessor, isSlot } from "./core/slot/slotTypes.js";
|
|
7
|
+
export { isComparisonSampler, isSampler } from "./core/sampler/sampler.js";
|
|
8
|
+
export { isTexture } from "./core/texture/texture.js";
|
|
9
|
+
export { isUsableAsRender, isUsableAsSampled } from "./core/texture/usageExtension.js";
|
|
10
|
+
export { isBuffer, isUsableAsUniform, isUsableAsVertex, isUsableAsIndex, isUsableAsStorage, } from "./types.js";
|
|
11
|
+
export { isBufferBinding, isBufferShorthand, isMutableBinding, isReadonlyBinding, isUniformBinding, } from "./core/buffer/bufferBinding.js";
|
|
12
|
+
export { isBindGroup, isBindGroupLayout } from "./tgpuBindGroupLayout.js";
|
|
13
|
+
export { isTgpuFn } from "./core/function/tgpuFn.js";
|
|
14
|
+
export { isTgpuFragmentFn } from "./core/function/tgpuFragmentFn.js";
|
|
15
|
+
export { isTgpuVertexFn } from "./core/function/tgpuVertexFn.js";
|
|
16
|
+
export { isTgpuComputeFn } from "./core/function/tgpuComputeFn.js";
|
|
17
|
+
export { isComputePipeline, isPipeline, isRenderPipeline } from "./core/pipeline/typeGuards.js";
|
|
18
|
+
export { isQuerySet } from "./core/querySet/querySet.js";
|
|
19
|
+
export { isVariable } from "./core/variable/tgpuVariable.js";
|
|
20
|
+
export { isVertexLayout } from "./core/vertexLayout/vertexLayout.js";
|
|
21
|
+
export {
|
|
22
|
+
/** @deprecated Import from 'typegpu/~internal' instead */ WgslGenerator, } from "./tgsl/wgslGenerator.js";
|
|
23
|
+
export { readFromArrayBuffer, writeToArrayBuffer } from "./data/dataIO.js";
|
|
24
|
+
export { patchArrayBuffer } from "./data/partialIO.js";
|
|
25
|
+
export { warn } from "./tgpuLogger.js";
|
package/internal.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { abstractInt, abstractFloat } from './data/numeric.ts';
|
|
2
|
+
export { makeResolvable } from './tgsl/makeResolvable.ts';
|
|
3
|
+
export { makeDereferenceable } from './tgsl/makeDereferenceable.ts';
|
|
4
|
+
export { UnknownData } from './data/dataTypes.ts';
|
|
5
|
+
export { getName, setName } from './shared/meta.ts';
|
|
6
|
+
export { WgslGenerator } from './tgsl/wgslGenerator.ts';
|
|
7
|
+
export { snip, withValue, withDataType, withSideEffects } from './data/snippet.ts';
|
|
8
|
+
export { stringifyNode } from './shared/tseynit.ts';
|
|
9
|
+
export { dualImpl } from './core/function/dualImpl.ts';
|
|
10
|
+
export { isNonTransferableResource, isTransferableResource, restoreResource, snapshotResource, } from './serial/registry.ts';
|
|
11
|
+
export type { TgpuResourceSnapshot, TransferableResourceType } from './serial/registry.ts';
|
|
12
|
+
export type { RestoreContext } from './serial/types.ts';
|
|
13
|
+
export { deserializeDataSchema, serializeDataSchema, type SerializedDataSchema, } from './serial/schema.ts';
|
|
14
|
+
export type { ResolutionCtx, FunctionArgument } from './types.ts';
|
|
15
|
+
export type { Snippet, ResolvedSnippet, Origin } from './data/snippet.ts';
|
|
16
|
+
export type { ShaderGenerator, ResolvedStatement, BinaryOperator, ShaderGeneratorClass, FunctionDefinitionOptions, ConstantDefinitionOptions, VariableDefinitionOptions, } from './tgsl/shaderGenerator.ts';
|
package/internal.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Each export here is available as a member on the 'typegpu/~internal' import.
|
|
2
|
+
export { abstractInt, abstractFloat } from "./data/numeric.js";
|
|
3
|
+
export { makeResolvable } from "./tgsl/makeResolvable.js";
|
|
4
|
+
export { makeDereferenceable } from "./tgsl/makeDereferenceable.js";
|
|
5
|
+
export { UnknownData } from "./data/dataTypes.js";
|
|
6
|
+
export { getName, setName } from "./shared/meta.js";
|
|
7
|
+
export { WgslGenerator } from "./tgsl/wgslGenerator.js";
|
|
8
|
+
export { snip, withValue, withDataType, withSideEffects } from "./data/snippet.js";
|
|
9
|
+
export { stringifyNode } from "./shared/tseynit.js";
|
|
10
|
+
export { dualImpl } from "./core/function/dualImpl.js";
|
|
11
|
+
export { isNonTransferableResource, isTransferableResource, restoreResource, snapshotResource, } from "./serial/registry.js";
|
|
12
|
+
export { deserializeDataSchema, serializeDataSchema, } from "./serial/schema.js";
|
package/mathUtils.d.ts
ADDED
package/mathUtils.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
//#region src/mathUtils.ts
|
|
2
1
|
/**
|
|
3
|
-
* @param value
|
|
4
|
-
* @param modulo has to be power of 2
|
|
5
|
-
*/
|
|
6
|
-
const roundUp = (value, modulo) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
* @param value
|
|
3
|
+
* @param modulo has to be power of 2
|
|
4
|
+
*/
|
|
5
|
+
export const roundUp = (value, modulo) => {
|
|
6
|
+
const bitMask = modulo - 1;
|
|
7
|
+
const invBitMask = ~bitMask;
|
|
8
|
+
return (value & bitMask) === 0 ? value : (value & invBitMask) + modulo;
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
//#endregion
|
|
13
|
-
export { roundUp };
|
package/memo.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Caches results of the function passed in as
|
|
3
|
+
* the argument to the constructor.
|
|
4
|
+
*
|
|
5
|
+
* If the key can be garbage collected, it will be.
|
|
6
|
+
*/
|
|
7
|
+
export declare class WeakMemo<TKey extends object, TValue, TArgs extends unknown[]> {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(make: (key: TKey, ...args: TArgs) => TValue);
|
|
10
|
+
getOrMake(key: TKey, ...args: TArgs): TValue;
|
|
11
|
+
}
|
package/memo.js
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
//#region src/memo.ts
|
|
2
1
|
/**
|
|
3
|
-
* Caches results of the function passed in as
|
|
4
|
-
* the argument to the constructor.
|
|
5
|
-
*
|
|
6
|
-
* If the key can be garbage collected, it will be.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export { WeakMemo };
|
|
2
|
+
* Caches results of the function passed in as
|
|
3
|
+
* the argument to the constructor.
|
|
4
|
+
*
|
|
5
|
+
* If the key can be garbage collected, it will be.
|
|
6
|
+
*/
|
|
7
|
+
export class WeakMemo {
|
|
8
|
+
#map = new WeakMap();
|
|
9
|
+
#make;
|
|
10
|
+
constructor(make) {
|
|
11
|
+
this.#make = make;
|
|
12
|
+
}
|
|
13
|
+
getOrMake(key, ...args) {
|
|
14
|
+
if (this.#map.has(key)) {
|
|
15
|
+
return this.#map.get(key);
|
|
16
|
+
}
|
|
17
|
+
const value = this.#make(key, ...args);
|
|
18
|
+
this.#map.set(key, value);
|
|
19
|
+
return value;
|
|
20
|
+
}
|
|
21
|
+
}
|
package/minify.d.ts
ADDED
package/minify.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { blankSpaces, lineBreaks } from "./core/whitespaces.js";
|
|
2
|
+
import { invariant } from "./errors.js";
|
|
3
|
+
/**
|
|
4
|
+
* We don't separate every WGSL token, for example `main()` already has no spaces, no need to further split it.
|
|
5
|
+
*/
|
|
6
|
+
const splitRegex = new RegExp(`[${[...blankSpaces].join('')}]+`, 'ug');
|
|
7
|
+
/**
|
|
8
|
+
* Regex for detecting boundary characters that indicate whitespace may be needed between tokens.
|
|
9
|
+
* @example
|
|
10
|
+
* "let", "variable" // "t" and "v" both match, a space is needed
|
|
11
|
+
* "return" "a" // "n" and "a" both match, a space is needed
|
|
12
|
+
* "return" "(a+b)" // "n" matches and "(" does not, no space is needed
|
|
13
|
+
*/
|
|
14
|
+
const separatorNeededRegex = /[.\p{XID_Continue}]/u;
|
|
15
|
+
/**
|
|
16
|
+
* This function accepts a code string, and returns equivalent code
|
|
17
|
+
* with comments and unnecessary whitespace removed.
|
|
18
|
+
*/
|
|
19
|
+
export function minify(code) {
|
|
20
|
+
const codeWithoutComments = stripWGSLComments(code);
|
|
21
|
+
const tokens = codeWithoutComments.split(splitRegex).filter((token) => token !== '');
|
|
22
|
+
let result = '';
|
|
23
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
24
|
+
const current = tokens[i];
|
|
25
|
+
const next = tokens[i + 1];
|
|
26
|
+
invariant(current);
|
|
27
|
+
result += current;
|
|
28
|
+
if (isSpaceRequired(current, next)) {
|
|
29
|
+
result += ' ';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
function isSpaceRequired(current, next) {
|
|
35
|
+
if (next === undefined) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
const currentLast = current.at(-1);
|
|
39
|
+
const nextFirst = next.at(0);
|
|
40
|
+
invariant(currentLast?.length === 1 && nextFirst?.length === 1, `Expected tokens during minification to not be empty.`);
|
|
41
|
+
if (separatorNeededRegex.test(currentLast) && separatorNeededRegex.test(nextFirst)) {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
if (['//', '/*', '*/'].includes(`${currentLast}${nextFirst}`)) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
// Based on tint implementation.
|
|
50
|
+
function stripWGSLComments(code) {
|
|
51
|
+
let result = '';
|
|
52
|
+
let copiedUpTo = 0;
|
|
53
|
+
let offset = 0;
|
|
54
|
+
while (offset < code.length) {
|
|
55
|
+
if (code.startsWith('//', offset)) {
|
|
56
|
+
result += `${code.slice(copiedUpTo, offset)} `;
|
|
57
|
+
offset += 2;
|
|
58
|
+
while (offset < code.length && !lineBreaks.has(code.charAt(offset))) {
|
|
59
|
+
offset += 1;
|
|
60
|
+
}
|
|
61
|
+
copiedUpTo = offset;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (code.startsWith('/*', offset)) {
|
|
65
|
+
result += `${code.slice(copiedUpTo, offset)} `;
|
|
66
|
+
let depth = 1;
|
|
67
|
+
offset += 2;
|
|
68
|
+
while (offset < code.length && depth > 0) {
|
|
69
|
+
if (code.startsWith('/*', offset)) {
|
|
70
|
+
depth += 1;
|
|
71
|
+
offset += 2;
|
|
72
|
+
}
|
|
73
|
+
else if (code.startsWith('*/', offset)) {
|
|
74
|
+
depth -= 1;
|
|
75
|
+
offset += 2;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
offset += 1;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (depth > 0) {
|
|
82
|
+
throw new SyntaxError(`Block comment opening without corresponding closing found during minification.`);
|
|
83
|
+
}
|
|
84
|
+
copiedUpTo = offset;
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
if (code.startsWith('*/', offset)) {
|
|
88
|
+
throw new SyntaxError(`Block comment closing without corresponding opening found during minification.`);
|
|
89
|
+
}
|
|
90
|
+
offset += 1;
|
|
91
|
+
}
|
|
92
|
+
return result + code.slice(copiedUpTo);
|
|
93
|
+
}
|
package/nameUtils.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare const bannedTokens: Set<string>;
|
|
2
|
+
export declare const builtins: Set<string>;
|
|
3
|
+
/**
|
|
4
|
+
* Sanitizes the primer so that it is compliant with WGSL guidelines.
|
|
5
|
+
* This primer is not necessarily a valid identifier yet, as it may still collide with other idents or reserved keywords.
|
|
6
|
+
*/
|
|
7
|
+
export declare function sanitizePrimer(primer: string | undefined): string;
|
|
8
|
+
type ValidationResult = {
|
|
9
|
+
success: true;
|
|
10
|
+
error?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
success: false;
|
|
13
|
+
error?: string | undefined;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* A function for checking whether an identifier is valid.
|
|
17
|
+
* If `ident` passes the checks, it is not necessarily a valid identifier yet, as it may still collide with other idents or reserved keywords.
|
|
18
|
+
* @example
|
|
19
|
+
* validateIdentifier("ident"); // { success: true }
|
|
20
|
+
* validateIdentifier("_"); // { success: false, error: `Identifiers cannot be equal to '' or '_'` }
|
|
21
|
+
* validateIdentifier("my variable"); // { success: false, error: "Identifiers cannot contain whitespace." }
|
|
22
|
+
* validateIdentifier("0"); // { success: false, error: "Identifier is not compliant with the WGSL guideline." }
|
|
23
|
+
*/
|
|
24
|
+
export declare function validateIdentifier(ident: string): ValidationResult;
|
|
25
|
+
/**
|
|
26
|
+
* Same as `validateIdentifier`, except also checks for bannedToken clashes.
|
|
27
|
+
*/
|
|
28
|
+
export declare function validateProp(ident: string): ValidationResult;
|
|
29
|
+
export {};
|