typegpu 0.10.1 → 0.10.2

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.
Files changed (263) hide show
  1. package/{chunk-BYypO7fO.js → _virtual/_rolldown/runtime.js} +1 -1
  2. package/builtin.d.ts +50 -0
  3. package/builtin.js +37 -0
  4. package/common/fullScreenTriangle.d.ts +26 -0
  5. package/common/fullScreenTriangle.js +36 -0
  6. package/common/index.d.ts +2 -3
  7. package/common/index.js +3 -4
  8. package/core/buffer/buffer.d.ts +74 -0
  9. package/core/buffer/buffer.js +197 -0
  10. package/core/buffer/bufferShorthand.d.ts +48 -0
  11. package/core/buffer/bufferShorthand.js +49 -0
  12. package/core/buffer/bufferUsage.d.ts +45 -0
  13. package/core/buffer/bufferUsage.js +163 -0
  14. package/core/constant/tgpuConstant.d.ts +28 -0
  15. package/core/constant/tgpuConstant.js +67 -0
  16. package/core/declare/tgpuDeclare.d.ts +18 -0
  17. package/core/declare/tgpuDeclare.js +40 -0
  18. package/core/function/autoIO.d.ts +37 -0
  19. package/core/function/autoIO.js +87 -0
  20. package/core/function/comptime.d.ts +39 -0
  21. package/core/function/comptime.js +51 -0
  22. package/core/function/createCallableSchema.js +42 -0
  23. package/core/function/dualImpl.js +54 -0
  24. package/core/function/extractArgs.js +204 -0
  25. package/core/function/fnCore.js +79 -0
  26. package/core/function/fnTypes.d.ts +34 -0
  27. package/core/function/ioSchema.d.ts +10 -0
  28. package/core/function/ioSchema.js +30 -0
  29. package/core/function/shelllessImpl.d.ts +28 -0
  30. package/core/function/shelllessImpl.js +23 -0
  31. package/core/function/templateUtils.js +13 -0
  32. package/core/function/tgpuComputeFn.d.ts +49 -0
  33. package/core/function/tgpuComputeFn.js +62 -0
  34. package/core/function/tgpuFn.d.ts +52 -0
  35. package/core/function/tgpuFn.js +170 -0
  36. package/core/function/tgpuFragmentFn.d.ts +68 -0
  37. package/core/function/tgpuFragmentFn.js +68 -0
  38. package/core/function/tgpuVertexFn.d.ts +55 -0
  39. package/core/function/tgpuVertexFn.js +65 -0
  40. package/core/pipeline/applyPipelineState.js +37 -0
  41. package/core/pipeline/computePipeline.d.ts +58 -0
  42. package/core/pipeline/computePipeline.js +226 -0
  43. package/core/pipeline/connectAttachmentToShader.js +26 -0
  44. package/core/pipeline/connectTargetsToShader.js +29 -0
  45. package/core/pipeline/limitsOverflow.js +13 -0
  46. package/core/pipeline/renderPipeline.d.ts +266 -0
  47. package/core/pipeline/renderPipeline.js +471 -0
  48. package/core/pipeline/timeable.d.ts +23 -0
  49. package/core/pipeline/timeable.js +61 -0
  50. package/core/pipeline/typeGuards.js +29 -0
  51. package/core/querySet/querySet.d.ts +22 -0
  52. package/core/querySet/querySet.js +103 -0
  53. package/core/rawCodeSnippet/tgpuRawCodeSnippet.d.ts +59 -0
  54. package/core/rawCodeSnippet/tgpuRawCodeSnippet.js +96 -0
  55. package/core/resolve/externals.d.ts +10 -0
  56. package/core/resolve/externals.js +58 -0
  57. package/core/resolve/namespace.d.ts +38 -0
  58. package/core/resolve/namespace.js +41 -0
  59. package/core/resolve/resolveData.js +146 -0
  60. package/core/resolve/stitch.js +25 -0
  61. package/core/resolve/tgpuResolve.d.ts +151 -0
  62. package/core/resolve/tgpuResolve.js +68 -0
  63. package/core/root/configurableImpl.js +18 -0
  64. package/core/root/init.d.ts +69 -0
  65. package/core/root/init.js +457 -0
  66. package/core/root/rootTypes.d.ts +622 -0
  67. package/core/sampler/sampler.d.ts +35 -0
  68. package/core/sampler/sampler.js +116 -0
  69. package/core/simulate/tgpuSimulate.d.ts +36 -0
  70. package/core/simulate/tgpuSimulate.js +76 -0
  71. package/core/slot/accessor.d.ts +13 -0
  72. package/core/slot/accessor.js +97 -0
  73. package/core/slot/internalSlots.js +7 -0
  74. package/core/slot/lazy.d.ts +6 -0
  75. package/core/slot/lazy.js +42 -0
  76. package/core/slot/slot.d.ts +6 -0
  77. package/core/slot/slot.js +40 -0
  78. package/core/slot/slotTypes.d.ts +92 -0
  79. package/core/slot/slotTypes.js +21 -0
  80. package/core/texture/externalTexture.d.ts +12 -0
  81. package/core/texture/externalTexture.js +48 -0
  82. package/core/texture/texture.d.ts +118 -0
  83. package/core/texture/texture.js +312 -0
  84. package/core/texture/textureFormats.d.ts +29 -0
  85. package/core/texture/textureFormats.js +99 -0
  86. package/core/texture/textureProps.d.ts +11 -0
  87. package/core/texture/textureUtils.js +224 -0
  88. package/core/texture/usageExtension.d.ts +21 -0
  89. package/core/texture/usageExtension.js +21 -0
  90. package/core/unroll/tgpuUnroll.d.ts +13 -0
  91. package/core/unroll/tgpuUnroll.js +36 -0
  92. package/core/valueProxyUtils.js +44 -0
  93. package/core/variable/tgpuVariable.d.ts +38 -0
  94. package/core/variable/tgpuVariable.js +101 -0
  95. package/core/vertexLayout/connectAttributesToShader.js +59 -0
  96. package/core/vertexLayout/vertexAttribute.d.ts +29 -0
  97. package/core/vertexLayout/vertexLayout.d.ts +19 -0
  98. package/core/vertexLayout/vertexLayout.js +103 -0
  99. package/data/alignIO.js +15 -0
  100. package/data/alignmentOf.d.ts +10 -0
  101. package/data/alignmentOf.js +88 -0
  102. package/data/array.d.ts +28 -0
  103. package/data/array.js +48 -0
  104. package/data/atomic.d.ts +15 -0
  105. package/data/atomic.js +25 -0
  106. package/data/attributes.d.ts +121 -0
  107. package/data/attributes.js +145 -0
  108. package/data/autoStruct.d.ts +3 -0
  109. package/data/autoStruct.js +83 -0
  110. package/data/compiledIO.js +231 -0
  111. package/data/dataIO.js +549 -0
  112. package/data/dataTypes.d.ts +115 -0
  113. package/data/dataTypes.js +97 -0
  114. package/data/deepEqual.d.ts +25 -0
  115. package/data/deepEqual.js +58 -0
  116. package/data/disarray.d.ts +34 -0
  117. package/data/disarray.js +52 -0
  118. package/data/getLongestContiguousPrefix.d.ts +10 -0
  119. package/data/getLongestContiguousPrefix.js +15 -0
  120. package/data/index.d.ts +26 -4
  121. package/data/index.js +27 -7
  122. package/data/instanceToSchema.d.ts +33 -0
  123. package/data/isContiguous.d.ts +10 -0
  124. package/data/isContiguous.js +15 -0
  125. package/data/matrix.d.ts +126 -0
  126. package/data/matrix.js +517 -0
  127. package/data/numberOps.js +24 -0
  128. package/data/numeric.d.ts +81 -0
  129. package/data/numeric.js +234 -0
  130. package/data/offsetUtils.d.ts +33 -0
  131. package/data/offsetUtils.js +167 -0
  132. package/data/offsets.js +36 -0
  133. package/data/partialIO.js +68 -0
  134. package/data/ptr.d.ts +12 -0
  135. package/data/ptr.js +46 -0
  136. package/data/ref.d.ts +37 -0
  137. package/data/ref.js +96 -0
  138. package/data/sampler.d.ts +107 -0
  139. package/data/sampler.js +26 -0
  140. package/data/schemaCallWrapper.js +32 -0
  141. package/data/schemaMemoryLayout.js +200 -0
  142. package/data/sizeOf.d.ts +10 -0
  143. package/data/sizeOf.js +15 -0
  144. package/data/snippet.d.ts +26 -0
  145. package/data/snippet.js +61 -0
  146. package/data/struct.d.ts +17 -0
  147. package/data/struct.js +46 -0
  148. package/data/texture.d.ts +292 -0
  149. package/{texture-BagDrrks.js → data/texture.js} +6 -3
  150. package/data/unstruct.d.ts +24 -0
  151. package/data/unstruct.js +43 -0
  152. package/data/vector.d.ts +191 -0
  153. package/data/vector.js +247 -0
  154. package/data/vectorImpl.js +516 -0
  155. package/data/vectorOps.js +664 -0
  156. package/data/vertexFormatData.d.ts +190 -0
  157. package/data/vertexFormatData.js +110 -0
  158. package/data/wgslTypes.d.ts +896 -0
  159. package/data/wgslTypes.js +215 -0
  160. package/errors.d.ts +44 -0
  161. package/errors.js +128 -0
  162. package/execMode.js +51 -0
  163. package/extension.d.ts +11 -0
  164. package/extension.js +18 -0
  165. package/getGPUValue.js +9 -0
  166. package/index.d.ts +40 -243
  167. package/index.js +19 -6318
  168. package/indexNamedExports.d.ts +38 -0
  169. package/mathUtils.js +13 -0
  170. package/memo.js +22 -0
  171. package/nameRegistry.d.ts +30 -0
  172. package/nameRegistry.js +449 -0
  173. package/package.js +5 -0
  174. package/package.json +23 -23
  175. package/resolutionCtx.d.ts +29 -0
  176. package/resolutionCtx.js +546 -0
  177. package/shared/env.js +13 -0
  178. package/shared/generators.js +14 -0
  179. package/shared/meta.d.ts +39 -0
  180. package/shared/meta.js +63 -0
  181. package/shared/repr.d.ts +108 -0
  182. package/shared/stringify.js +22 -0
  183. package/shared/symbols.d.ts +61 -0
  184. package/shared/symbols.js +71 -0
  185. package/shared/utilityTypes.d.ts +29 -0
  186. package/shared/utilityTypes.js +7 -0
  187. package/shared/vertexFormat.d.ts +70 -0
  188. package/shared/vertexFormat.js +64 -0
  189. package/std/array.d.ts +7 -0
  190. package/std/array.js +27 -0
  191. package/std/atomic.d.ts +19 -0
  192. package/std/atomic.js +113 -0
  193. package/std/bitcast.d.ts +10 -0
  194. package/std/bitcast.js +43 -0
  195. package/std/boolean.d.ts +127 -0
  196. package/std/boolean.js +274 -0
  197. package/std/derivative.d.ts +16 -0
  198. package/std/derivative.js +89 -0
  199. package/std/discard.d.ts +6 -0
  200. package/std/discard.js +16 -0
  201. package/std/extensions.d.ts +8 -0
  202. package/std/extensions.js +14 -0
  203. package/std/index.d.ts +15 -3
  204. package/std/index.js +16 -5
  205. package/std/matrix.d.ts +41 -0
  206. package/std/matrix.js +87 -0
  207. package/std/numeric.d.ts +254 -0
  208. package/std/numeric.js +847 -0
  209. package/std/operators.d.ts +48 -0
  210. package/std/operators.js +153 -0
  211. package/std/packing.d.ts +26 -0
  212. package/std/packing.js +86 -0
  213. package/std/subgroup.d.ts +47 -0
  214. package/std/subgroup.js +220 -0
  215. package/std/texture.d.ts +108 -0
  216. package/std/texture.js +197 -0
  217. package/tgpu.js +44 -0
  218. package/tgpuBindGroupLayout.d.ts +161 -0
  219. package/tgpuBindGroupLayout.js +271 -0
  220. package/tgpuUnstable.d.ts +48 -0
  221. package/tgpuUnstable.js +66 -0
  222. package/tgsl/accessIndex.js +45 -0
  223. package/tgsl/accessProp.js +113 -0
  224. package/tgsl/consoleLog/deserializers.js +117 -0
  225. package/tgsl/consoleLog/logGenerator.js +86 -0
  226. package/tgsl/consoleLog/serializers.js +225 -0
  227. package/tgsl/consoleLog/types.d.ts +54 -0
  228. package/tgsl/consoleLog/types.js +12 -0
  229. package/tgsl/conversion.js +200 -0
  230. package/tgsl/forOfUtils.js +45 -0
  231. package/tgsl/generationHelpers.d.ts +37 -0
  232. package/tgsl/generationHelpers.js +67 -0
  233. package/tgsl/math.js +45 -0
  234. package/tgsl/shaderGenerator.d.ts +18 -0
  235. package/tgsl/shellless.d.ts +11 -0
  236. package/tgsl/shellless.js +53 -0
  237. package/tgsl/wgslGenerator.js +585 -0
  238. package/types.d.ts +255 -0
  239. package/types.js +43 -0
  240. package/unwrapper.d.ts +27 -0
  241. package/wgslExtensions.d.ts +5 -0
  242. package/wgslExtensions.js +18 -0
  243. package/builtin-DdtWpk2t.js +0 -818
  244. package/builtin-DdtWpk2t.js.map +0 -1
  245. package/common/index.d.ts.map +0 -1
  246. package/common/index.js.map +0 -1
  247. package/data/index.d.ts.map +0 -1
  248. package/data/index.js.map +0 -1
  249. package/deepEqual-DQxK4vdp.js +0 -413
  250. package/deepEqual-DQxK4vdp.js.map +0 -1
  251. package/extensions-DIVuAfBM.js +0 -2032
  252. package/extensions-DIVuAfBM.js.map +0 -1
  253. package/fullScreenTriangle-CfFyQd_0.js +0 -543
  254. package/fullScreenTriangle-CfFyQd_0.js.map +0 -1
  255. package/index.d.ts.map +0 -1
  256. package/index.js.map +0 -1
  257. package/indexNamedExports-oL6tyaJ9.d.ts +0 -5697
  258. package/indexNamedExports-oL6tyaJ9.d.ts.map +0 -1
  259. package/operators-d-PMVTo7.js +0 -4158
  260. package/operators-d-PMVTo7.js.map +0 -1
  261. package/std/index.d.ts.map +0 -1
  262. package/std/index.js.map +0 -1
  263. package/texture-BagDrrks.js.map +0 -1
package/index.d.ts CHANGED
@@ -1,245 +1,43 @@
1
- import { $o as TgpuLayoutComparisonSampler, $r as comptime, Ac as TgpuComputePipeline, Al as Storage, Ao as UniformFlag, Bc as isSlot, Bo as ValidateStorageSchema, Cc as TgpuFragmentFnShell, Co as fn, Dc as AutoFragmentOut, Do as IndexFlag, Ec as AutoFragmentIn, Eo as declare, Fc as TgpuMutableAccessor, Fo as isUsableAsVertex, Gc as workgroupVar, Go as WithVertex, Gr as rawCodeSnippet, Hc as VariableScope, Ho as WithBinding, Ic as TgpuSlot, Io as Configurable, Jc as computeFn, Jo as BindLayoutEntry, Jr as init, Kc as TgpuComputeFn, Ko as Withable, Kr as InitFromDeviceOptions, Lc as isAccessor, Ll as $internal, Lo as TgpuGuardedComputePipeline, Mc as Eventual, Ml as isUsableAsStorage, Mo as Vertex, Nc as TgpuAccessor, No as VertexFlag, Oc as AutoVertexIn, Oo as TgpuBuffer, Pc as TgpuLazy, Po as isBuffer, Qo as TgpuBindGroupLayout, Qr as TgpuComptime, Rc as isLazy, Rl as INTERNAL_GlobalExt, Ro as TgpuRoot, Sc as TgpuFragmentFn, So as TgpuGenericFn, Tc as isTgpuFragmentFn, To as TgpuDeclare, Uc as isVariable, Uo as WithCompute, Ur as RawCodeSnippetOrigin, Vc as TgpuVar, Vo as ValidateUniformSchema, Wc as privateVar, Wo as WithFragment, Wr as TgpuRawCodeSnippet, Xo as LayoutEntryToInput, Xr as Namespace, Yc as isTgpuComputeFn, Yo as ExtractBindGroupInputFromLayout, Yr as initFromDevice, Zo as TgpuBindGroup, Zr as namespace, _c as TextureProps, _i as isTexture, _o as ResolvableObject, _s as TgpuVertexLayout, a as MissingVertexBuffersError, al as LogResources, as as TgpuLayoutUniform, bc as isTgpuVertexFn, bo as TgpuFn, cl as TgpuUniform, cs as TgpuComparisonSampler, dl as TgpuBufferReadonly, ds as TgpuSampler, ei as TgpuConst, es as TgpuLayoutEntry, fl as TgpuBufferUniform, fs as isComparisonSampler, gc as isUsableAsSampled, gi as TgpuTextureView, go as GPUCallable, gs as TgpuRenderPipeline, hc as isUsableAsRender, hi as TgpuTexture, hs as TgpuPrimitiveState, i as MissingSlotValueError, is as TgpuLayoutTexture, jl as StorageFlag, jo as ValidUsagesFor, kc as AutoVertexOut, ko as Uniform, ll as isBufferShorthand, ls as TgpuFixedComparisonSampler, mc as SampledFlag, ml as TgpuQuerySet, ms as ColorAttachment, n as MissingBindGroupsError, ni as AnyData, ns as TgpuLayoutSampler, o as NotUniformError, oa as BaseData, ol as TgpuMutable, os as UnwrapRuntimeConstructor, pc as RenderFlag, pl as isUsableAsUniform, ps as isSampler, qc as TgpuComputeFnShell, qo as ShaderGenerator, qr as InitOptions, r as MissingLinksError, rs as TgpuLayoutStorage, s as ResolutionError, sl as TgpuReadonly, ss as bindGroupLayout, t as TgpuRenderPipelineDescriptor, ti as constant, ts as TgpuLayoutExternalTexture, ul as TgpuBufferMutable, us as TgpuFixedSampler, vc as TgpuVertexFn, vo as Wgsl, vs as vertexLayout, wc as fragmentFn, wo as isTgpuFn, xc as vertexFn, xo as TgpuFnShell, yc as TgpuVertexFnShell, yo as WgslExtension, zc as isMutableAccessor, zo as ValidateBufferSchema } from "./indexNamedExports-oL6tyaJ9.js";
2
- import { t as index_d_exports$1 } from "./data/index.js";
3
- import { t as index_d_exports$2 } from "./std/index.js";
4
- import { t as index_d_exports } from "./common/index.js";
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 { AutoFragmentIn, AutoFragmentOut, AutoVertexIn, AutoVertexOut } 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 { Configurable, TgpuGuardedComputePipeline, TgpuRoot, ValidateBufferSchema, ValidateStorageSchema, ValidateUniformSchema, WithBinding, WithCompute, WithFragment, WithVertex, Withable } from "./core/root/rootTypes.js";
20
+ import { IndexFlag, TgpuBuffer, Uniform, UniformFlag, ValidUsagesFor, Vertex, VertexFlag, isBuffer, isUsableAsVertex } from "./core/buffer/buffer.js";
21
+ import { TgpuDeclare } from "./core/declare/tgpuDeclare.js";
22
+ import { TgpuFn, TgpuFnShell, TgpuGenericFn, fn, isTgpuFn } from "./core/function/tgpuFn.js";
23
+ import { TgpuTexture, TgpuTextureView, isTexture } from "./core/texture/texture.js";
24
+ import { TgpuConst, constant } from "./core/constant/tgpuConstant.js";
25
+ import { TgpuComptime, comptime } from "./core/function/comptime.js";
26
+ import { Namespace } from "./core/resolve/namespace.js";
27
+ import { resolve, resolveWithContext } from "./core/resolve/tgpuResolve.js";
28
+ import { InitFromDeviceOptions, InitOptions, init, initFromDevice } from "./core/root/init.js";
29
+ import { slot } from "./core/slot/slot.js";
30
+ import { lazy } from "./core/slot/lazy.js";
31
+ import { accessor, mutableAccessor } from "./core/slot/accessor.js";
32
+ import { unroll } from "./core/unroll/tgpuUnroll.js";
33
+ import { RawCodeSnippetOrigin, TgpuRawCodeSnippet } from "./core/rawCodeSnippet/tgpuRawCodeSnippet.js";
34
+ import { tgpuUnstable_d_exports } from "./tgpuUnstable.js";
35
+ import { index_d_exports as index_d_exports$1 } from "./data/index.js";
36
+ import { index_d_exports as index_d_exports$2 } from "./std/index.js";
37
+ import { index_d_exports } from "./common/index.js";
38
+ import { MissingBindGroupsError, MissingLinksError, MissingSlotValueError, MissingVertexBuffersError, NotUniformError, ResolutionError } from "./errors.js";
39
+ import { TgpuRenderPipelineDescriptor } from "./indexNamedExports.js";
5
40
 
6
- //#region src/resolutionCtx.d.ts
7
- /**
8
- * The results of a WGSL resolution.
9
- *
10
- * @param code - The resolved code.
11
- * @param usedBindGroupLayouts - List of used `tgpu.bindGroupLayout`s.
12
- * @param catchall - Automatically constructed bind group for buffer usages and buffer shorthands, preceded by its index.
13
- * @param logResources - Buffers and information about used console.logs needed to decode the raw data.
14
- */
15
- interface ResolutionResult {
16
- code: string;
17
- usedBindGroupLayouts: TgpuBindGroupLayout[];
18
- catchall: [number, TgpuBindGroup] | undefined;
19
- logResources: LogResources | undefined;
20
- }
21
- //#endregion
22
- //#region src/core/resolve/tgpuResolve.d.ts
23
- interface TgpuResolveOptions {
24
- /**
25
- * The naming strategy used for generating identifiers for resolved externals and their dependencies.
26
- *
27
- * ## Namespaces
28
- * Each call to `tgpu.resolve` uses it's own namespace by default, but a
29
- * custom namespace can be created with `tgpu.namespace` and passed in.
30
- *
31
- * This allows tracking the behavior of the resolution process, as well as
32
- * sharing state between calls to `tgpu.resolve`.
33
- *
34
- * @default 'random'
35
- */
36
- names?: 'strict' | 'random' | Namespace | undefined;
37
- /**
38
- * A function to configure the resolution context.
39
- */
40
- config?: ((cfg: Configurable) => Configurable) | undefined;
41
- /**
42
- * List of WGSL shader extensions to enable.
43
- */
44
- enableExtensions?: WgslExtension[] | undefined;
45
- /**
46
- * A custom shader code generator, used when resolving TypeGPU functions.
47
- * If not provided, the default WGSL generator will be used.
48
- */
49
- shaderGenerator?: ShaderGenerator | undefined;
50
- }
51
- interface TgpuExtendedResolveOptions extends TgpuResolveOptions {
52
- /**
53
- * Map of external names to their resolvable values.
54
- */
55
- externals: Record<string, Wgsl | object>;
56
- /**
57
- * The code template to use for the resolution. All external names will be replaced with their resolved values.
58
- * @default ''
59
- */
60
- template?: string | undefined;
61
- }
62
- /**
63
- * Resolves a template with external values. Each external that is used will get resolved to a code string and replaced in the template.
64
- * Any dependencies of the externals will also be resolved and included in the output.
65
- * @param options - The options for the resolution.
66
- *
67
- * @returns {ResolutionResult}
68
- *
69
- * @example
70
- * ```ts
71
- * const Gradient = d.struct({ from: d.vec3f, to: d.vec3f });
72
- *
73
- * const { code, usedBindGroupLayouts, catchall } = tgpu.resolveWithContext({
74
- * template: `
75
- * fn getGradientAngle(gradient: Gradient) -> f32 {
76
- * return atan(gradient.to.y - gradient.from.y, gradient.to.x - gradient.from.x);
77
- * }
78
- * `,
79
- * externals: {
80
- * Gradient,
81
- * },
82
- * });
83
- *
84
- * console.log(code);
85
- * // struct Gradient_0 {
86
- * // from: vec3f,
87
- * // to: vec3f,
88
- * // }
89
- * // fn getGradientAngle(gradient: Gradient_0) -> f32 {
90
- * // return atan(gradient.to.y - gradient.from.y, gradient.to.x - gradient.from.x);
91
- * // }
92
- * ```
93
- */
94
- declare function resolveWithContext(options: TgpuExtendedResolveOptions): ResolutionResult;
95
- /**
96
- * Resolves given TypeGPU resources.
97
- * Any dependencies of the externals will also be resolved and included in the output.
98
- * @param items - An array of items to resolve.
99
- * @param options - The options for the resolution.
100
- *
101
- * @returns {ResolutionResult}
102
- *
103
- * @example
104
- * ```ts
105
- * const Gradient = d.struct({
106
- * from: d.vec3f,
107
- * to: d.vec3f,
108
- * });
109
- *
110
- * const { code, usedBindGroupLayouts, catchall } =
111
- * tgpu.resolveWithContext([Gradient]);
112
- *
113
- * console.log(code);
114
- * // struct Gradient_0 {
115
- * // from: vec3f,
116
- * // to: vec3f,
117
- * // }
118
- * ```
119
- */
120
- declare function resolveWithContext(items: ResolvableObject[], options?: TgpuResolveOptions): ResolutionResult;
121
- /**
122
- * A shorthand for calling `tgpu.resolveWithContext(...).code`.
123
- *
124
- * @example
125
- * ```ts
126
- * const Gradient = d.struct({ from: d.vec3f, to: d.vec3f });
127
- *
128
- * const resolved = tgpu.resolve([Gradient]);
129
- *
130
- * console.log(resolved);
131
- * // struct Gradient_0 {
132
- * // from: vec3f,
133
- * // to: vec3f,
134
- * // }
135
- * ```
136
- *
137
- * @example
138
- * ```ts
139
- * const Gradient = d.struct({ from: d.vec3f, to: d.vec3f });
140
- *
141
- * const code = tgpu.resolve({
142
- * template: `
143
- * fn getGradientAngle(gradient: Gradient) -> f32 {
144
- * return atan(gradient.to.y - gradient.from.y, gradient.to.x - gradient.from.x);
145
- * }
146
- * `,
147
- * externals: {
148
- * Gradient,
149
- * },
150
- * });
151
- *
152
- * console.log(code);
153
- * // struct Gradient_0 {
154
- * // from: vec3f,
155
- * // to: vec3f,
156
- * // }
157
- * // fn getGradientAngle(gradient: Gradient_0) -> f32 {
158
- * // return atan(gradient.to.y - gradient.from.y, gradient.to.x - gradient.from.x);
159
- * // }
160
- * ```
161
- */
162
- declare function resolve(options: TgpuExtendedResolveOptions): string;
163
- declare function resolve(items: ResolvableObject[], options?: TgpuResolveOptions): string;
164
- //#endregion
165
- //#region src/core/slot/slot.d.ts
166
- declare function slot<T>(defaultValue?: T): TgpuSlot<T>;
167
- //#endregion
168
- //#region src/core/slot/lazy.d.ts
169
- declare function lazy<T>(compute: () => T): TgpuLazy<T>;
170
- //#endregion
171
- //#region src/core/slot/accessor.d.ts
172
- declare function accessor<T extends AnyData | ((count: number) => AnyData)>(schemaOrConstructor: T, defaultValue?: TgpuAccessor.In<NoInfer<T>>): TgpuAccessor<UnwrapRuntimeConstructor<T>>;
173
- declare function mutableAccessor<T extends AnyData | ((count: number) => AnyData)>(schemaOrConstructor: T, defaultValue?: TgpuMutableAccessor.In<NoInfer<T>>): TgpuMutableAccessor<UnwrapRuntimeConstructor<T>>;
174
- //#endregion
175
- //#region src/core/unroll/tgpuUnroll.d.ts
176
- /**
177
- * Marks an iterable to be unrolled by the wgslGenerator.
178
- */
179
- declare const unroll: (<T extends Iterable<unknown>>(value: T) => T) & GPUCallable<[value: Iterable<unknown>]> & {
180
- [$internal]: true;
181
- };
182
- //#endregion
183
- //#region src/core/simulate/tgpuSimulate.d.ts
184
- interface SimulationResult<T> {
185
- value: T;
186
- buffers: Map<TgpuBuffer<BaseData>, unknown>;
187
- privateVars: Map<TgpuVar<'private'>, unknown>[][][];
188
- workgroupVars: Map<TgpuVar<'workgroup'>, unknown>[][][];
189
- }
190
- /**
191
- * Runs the provided callback in a simulated environment, giving
192
- * it access to buffers and variables as if it were running on the GPU.
193
- *
194
- * The result of the simulation is returned, and does not affect the actual GPU state,
195
- * nor does it carry over to other simulations.
196
- *
197
- * @param callback The callback to run in the simulated environment.
198
- * @returns An object containing the result of the simulation, and
199
- * the final state of the environment.
200
- *
201
- * @example
202
- * const counter = tgpu.privateVar(d.u32);
203
- *
204
- * const result = tgpu.simulate(() => {
205
- * counter.$ += 1;
206
- * counter.$ += 2;
207
- * return counter.$;
208
- * });
209
- *
210
- * console.log(result.value); // 3
211
- */
212
- declare function simulate<T>(callback: () => T): SimulationResult<T>;
213
- declare namespace tgpuUnstable_d_exports {
214
- export { _accessor as accessor, _comptime as comptime, _computeFn as computeFn, _constant as const, declare, _lazy as derived, _fn as fn, _fragmentFn as fragmentFn, _mutableAccessor as mutableAccessor, namespace, _privateVar as privateVar, rawCodeSnippet, simulate, _slot as slot, _vertexFn as vertexFn, _vertexLayout as vertexLayout, _workgroupVar as workgroupVar };
215
- }
216
- /** @deprecated This feature is now stable, use tgpu.const. */
217
- declare const _constant: typeof constant;
218
- /** @deprecated This feature is now stable, use tgpu.comptime. */
219
- declare const _comptime: typeof comptime;
220
- /** @deprecated This feature is now stable, use tgpu.computeFn. */
221
- declare const _computeFn: typeof computeFn;
222
- /** @deprecated This feature is now stable, use tgpu.fn. */
223
- declare const _fn: typeof fn;
224
- /** @deprecated This feature is now stable, use tgpu.fragmentFn. */
225
- declare const _fragmentFn: typeof fragmentFn;
226
- /** @deprecated This feature is now stable, use tgpu.vertexFn. */
227
- declare const _vertexFn: typeof vertexFn;
228
- /** @deprecated This feature is now stable, use tgpu.accessor. */
229
- declare const _accessor: typeof accessor;
230
- /** @deprecated This feature is now stable, use tgpu.mutableAccessor. */
231
- declare const _mutableAccessor: typeof mutableAccessor;
232
- /** @deprecated This feature is now stable, use tgpu.lazy. */
233
- declare const _lazy: typeof lazy;
234
- /** @deprecated This feature is now stable, use tgpu.slot. */
235
- declare const _slot: typeof slot;
236
- /** @deprecated This feature is now stable, use tgpu.privateVar. */
237
- declare const _privateVar: typeof privateVar;
238
- /** @deprecated This feature is now stable, use tgpu.workgroupVar. */
239
- declare const _workgroupVar: typeof workgroupVar;
240
- /** @deprecated This feature is now stable, use tgpu.vertexLayout. */
241
- declare const _vertexLayout: typeof vertexLayout;
242
- //#endregion
243
41
  //#region src/index.d.ts
244
42
  /**
245
43
  * @module typegpu
@@ -268,5 +66,4 @@ declare const tgpu: {
268
66
  '~unstable': typeof tgpuUnstable_d_exports;
269
67
  };
270
68
  //#endregion
271
- export { AutoFragmentIn, AutoFragmentOut, AutoVertexIn, AutoVertexOut, BindLayoutEntry, ColorAttachment, Configurable, Eventual, ExtractBindGroupInputFromLayout, INTERNAL_GlobalExt, IndexFlag, InitFromDeviceOptions, InitOptions, LayoutEntryToInput, MissingBindGroupsError, MissingLinksError, MissingSlotValueError, MissingVertexBuffersError, Namespace, NotUniformError, RawCodeSnippetOrigin, RenderFlag, ResolutionError, SampledFlag, Storage, StorageFlag, TextureProps, TgpuAccessor, TgpuBindGroup, TgpuBindGroupLayout, TgpuBuffer, TgpuBufferMutable, TgpuBufferReadonly, TgpuBufferUniform, TgpuComparisonSampler, TgpuComptime, TgpuComputeFn, TgpuComputeFnShell, TgpuComputePipeline, TgpuConst, TgpuDeclare, TgpuFixedComparisonSampler, TgpuFixedSampler, TgpuFn, TgpuFnShell, TgpuFragmentFn, TgpuFragmentFnShell, TgpuGenericFn, TgpuGuardedComputePipeline, TgpuLayoutComparisonSampler, TgpuLayoutEntry, TgpuLayoutExternalTexture, TgpuLayoutSampler, TgpuLayoutStorage, TgpuLayoutTexture, TgpuLayoutUniform, TgpuLazy, TgpuMutable, TgpuMutableAccessor, TgpuPrimitiveState, TgpuQuerySet, TgpuRawCodeSnippet, TgpuReadonly, TgpuRenderPipeline, TgpuRenderPipelineDescriptor, TgpuRoot, TgpuSampler, TgpuSlot, TgpuTexture, TgpuTextureView, TgpuUniform, TgpuVar, TgpuVertexFn, TgpuVertexFnShell, TgpuVertexLayout, Uniform, UniformFlag, ValidUsagesFor, ValidateBufferSchema, ValidateStorageSchema, ValidateUniformSchema, VariableScope, Vertex, VertexFlag, WithBinding, WithCompute, WithFragment, WithVertex, Withable, index_d_exports as common, index_d_exports$1 as d, tgpu as default, tgpu, isAccessor, isBuffer, isBufferShorthand, isComparisonSampler, isLazy, isMutableAccessor, isSampler, isSlot, isTexture, isTgpuComputeFn, isTgpuFn, isTgpuFragmentFn, isTgpuVertexFn, isUsableAsRender, isUsableAsSampled, isUsableAsStorage, isUsableAsUniform, isUsableAsVertex, isVariable, index_d_exports$2 as std };
272
- //# sourceMappingURL=index.d.ts.map
69
+ export { AutoFragmentIn, AutoFragmentOut, AutoVertexIn, AutoVertexOut, BindLayoutEntry, ColorAttachment, Configurable, Eventual, ExtractBindGroupInputFromLayout, INTERNAL_GlobalExt, IndexFlag, InitFromDeviceOptions, InitOptions, LayoutEntryToInput, MissingBindGroupsError, MissingLinksError, MissingSlotValueError, MissingVertexBuffersError, Namespace, NotUniformError, RawCodeSnippetOrigin, RenderFlag, ResolutionError, SampledFlag, Storage, StorageFlag, TextureProps, TgpuAccessor, TgpuBindGroup, TgpuBindGroupLayout, TgpuBuffer, TgpuBufferMutable, TgpuBufferReadonly, TgpuBufferUniform, TgpuComparisonSampler, TgpuComptime, TgpuComputeFn, TgpuComputeFnShell, TgpuComputePipeline, TgpuConst, TgpuDeclare, TgpuFixedComparisonSampler, TgpuFixedSampler, TgpuFn, TgpuFnShell, TgpuFragmentFn, TgpuFragmentFnShell, TgpuGenericFn, TgpuGuardedComputePipeline, TgpuLayoutComparisonSampler, TgpuLayoutEntry, TgpuLayoutExternalTexture, TgpuLayoutSampler, TgpuLayoutStorage, TgpuLayoutTexture, TgpuLayoutUniform, TgpuLazy, TgpuMutable, TgpuMutableAccessor, TgpuPrimitiveState, TgpuQuerySet, TgpuRawCodeSnippet, TgpuReadonly, TgpuRenderPipeline, TgpuRenderPipelineDescriptor, TgpuRoot, TgpuSampler, TgpuSlot, TgpuTexture, TgpuTextureView, TgpuUniform, TgpuVar, TgpuVertexFn, TgpuVertexFnShell, TgpuVertexLayout, Uniform, UniformFlag, ValidUsagesFor, ValidateBufferSchema, ValidateStorageSchema, ValidateUniformSchema, VariableScope, Vertex, VertexFlag, WithBinding, WithCompute, WithFragment, WithVertex, Withable, index_d_exports as common, index_d_exports$1 as d, tgpu as default, tgpu, isAccessor, isBuffer, isBufferShorthand, isComparisonSampler, isLazy, isMutableAccessor, isSampler, isSlot, isTexture, isTgpuComputeFn, isTgpuFn, isTgpuFragmentFn, isTgpuVertexFn, isUsableAsRender, isUsableAsSampled, isUsableAsStorage, isUsableAsUniform, isUsableAsVertex, isVariable, index_d_exports$2 as std };