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.
Files changed (362) hide show
  1. package/builtin.d.ts +51 -53
  2. package/builtin.js +30 -34
  3. package/common/fullScreenTriangle.d.ts +2 -10
  4. package/common/fullScreenTriangle.js +20 -28
  5. package/common/index.d.ts +2 -9
  6. package/common/index.js +3 -12
  7. package/common/writeSoA.d.ts +11 -12
  8. package/common/writeSoA.js +88 -76
  9. package/core/buffer/buffer.d.ts +79 -62
  10. package/core/buffer/buffer.js +279 -205
  11. package/core/buffer/bufferBinding.d.ts +71 -0
  12. package/core/buffer/bufferBinding.js +154 -0
  13. package/core/buffer/bufferUsage.d.ts +14 -45
  14. package/core/buffer/bufferUsage.js +1 -171
  15. package/core/buffer/laidOutBuffer.d.ts +25 -0
  16. package/core/buffer/laidOutBuffer.js +55 -0
  17. package/core/commandEncoder/attachments.d.ts +125 -0
  18. package/core/commandEncoder/attachments.js +29 -0
  19. package/core/commandEncoder/commandEncoder.d.ts +53 -0
  20. package/core/commandEncoder/commandEncoder.js +56 -0
  21. package/core/commandEncoder/computePass.d.ts +58 -0
  22. package/core/commandEncoder/computePass.js +63 -0
  23. package/core/commandEncoder/renderPass.d.ts +121 -0
  24. package/core/commandEncoder/renderPass.js +196 -0
  25. package/core/constant/tgpuConstant.d.ts +26 -26
  26. package/core/constant/tgpuConstant.js +76 -65
  27. package/core/declare/tgpuDeclare.d.ts +3 -6
  28. package/core/declare/tgpuDeclare.js +37 -38
  29. package/core/function/autoIO.d.ts +61 -33
  30. package/core/function/autoIO.js +68 -73
  31. package/core/function/comptime.d.ts +11 -13
  32. package/core/function/comptime.js +60 -52
  33. package/core/function/createCallableSchema.d.ts +16 -0
  34. package/core/function/createCallableSchema.js +50 -40
  35. package/core/function/dualImpl.d.ts +44 -0
  36. package/core/function/dualImpl.js +71 -50
  37. package/core/function/entryInputRouter.d.ts +26 -0
  38. package/core/function/entryInputRouter.js +31 -33
  39. package/core/function/extractArgs.d.ts +38 -0
  40. package/core/function/extractArgs.js +202 -200
  41. package/core/function/fnCore.d.ts +44 -0
  42. package/core/function/fnCore.js +148 -92
  43. package/core/function/fnTypes.d.ts +31 -29
  44. package/core/function/fnTypes.js +1 -0
  45. package/core/function/ioSchema.d.ts +12 -10
  46. package/core/function/ioSchema.js +65 -47
  47. package/core/function/shelllessImpl.d.ts +9 -12
  48. package/core/function/shelllessImpl.js +18 -20
  49. package/core/function/templateUtils.d.ts +2 -0
  50. package/core/function/templateUtils.js +9 -8
  51. package/core/function/tgpuComputeFn.d.ts +26 -28
  52. package/core/function/tgpuComputeFn.js +47 -48
  53. package/core/function/tgpuFn.d.ts +34 -37
  54. package/core/function/tgpuFn.js +179 -153
  55. package/core/function/tgpuFragmentFn.d.ts +52 -53
  56. package/core/function/tgpuFragmentFn.js +63 -56
  57. package/core/function/tgpuVertexFn.d.ts +36 -39
  58. package/core/function/tgpuVertexFn.js +56 -53
  59. package/core/pipeline/computePipeline.d.ts +141 -53
  60. package/core/pipeline/computePipeline.js +291 -225
  61. package/core/pipeline/connectAttachmentToShader.d.ts +4 -0
  62. package/core/pipeline/connectAttachmentToShader.js +25 -22
  63. package/core/pipeline/connectTargetsToShader.d.ts +3 -0
  64. package/core/pipeline/connectTargetsToShader.js +29 -27
  65. package/core/pipeline/drawState.d.ts +52 -0
  66. package/core/pipeline/drawState.js +225 -0
  67. package/core/pipeline/limitsOverflow.d.ts +2 -0
  68. package/core/pipeline/limitsOverflow.js +13 -10
  69. package/core/pipeline/performanceTracker.d.ts +14 -0
  70. package/core/pipeline/performanceTracker.js +34 -0
  71. package/core/pipeline/pipelineUtils.d.ts +18 -0
  72. package/core/pipeline/pipelineUtils.js +54 -25
  73. package/core/pipeline/priors.d.ts +1 -0
  74. package/core/pipeline/priors.js +12 -0
  75. package/core/pipeline/renderPipeline.d.ts +246 -261
  76. package/core/pipeline/renderPipeline.js +487 -480
  77. package/core/pipeline/timeable.d.ts +28 -18
  78. package/core/pipeline/timeable.js +90 -52
  79. package/core/pipeline/typeGuards.d.ts +17 -0
  80. package/core/pipeline/typeGuards.js +52 -22
  81. package/core/querySet/querySet.d.ts +26 -21
  82. package/core/querySet/querySet.js +127 -103
  83. package/core/rawCodeSnippet/tgpuRawCodeSnippet.d.ts +13 -18
  84. package/core/rawCodeSnippet/tgpuRawCodeSnippet.js +90 -93
  85. package/core/resolve/externals.d.ts +25 -7
  86. package/core/resolve/externals.js +79 -62
  87. package/core/resolve/namespace.d.ts +22 -25
  88. package/core/resolve/namespace.js +16 -21
  89. package/core/resolve/resolvableString.d.ts +7 -0
  90. package/core/resolve/resolvableString.js +13 -0
  91. package/core/resolve/resolveData.d.ts +10 -0
  92. package/core/resolve/resolveData.js +162 -121
  93. package/core/resolve/stitch.d.ts +8 -0
  94. package/core/resolve/stitch.js +23 -21
  95. package/core/resolve/tgpuResolve.d.ts +55 -53
  96. package/core/resolve/tgpuResolve.js +106 -55
  97. package/core/root/configurableImpl.d.ts +10 -0
  98. package/core/root/configurableImpl.js +17 -19
  99. package/core/root/init.d.ts +76 -38
  100. package/core/root/init.js +346 -454
  101. package/core/root/rootTypes.d.ts +461 -627
  102. package/core/root/rootTypes.js +1 -0
  103. package/core/sampler/sampler.d.ts +50 -31
  104. package/core/sampler/sampler.js +120 -113
  105. package/core/simulate/tgpuSimulate.d.ts +9 -12
  106. package/core/simulate/tgpuSimulate.js +68 -71
  107. package/core/slot/accessor.d.ts +36 -13
  108. package/core/slot/accessor.js +138 -91
  109. package/core/slot/internalSlots.d.ts +2 -0
  110. package/core/slot/internalSlots.js +1 -6
  111. package/core/slot/lazy.d.ts +2 -6
  112. package/core/slot/lazy.js +71 -39
  113. package/core/slot/slot.d.ts +2 -6
  114. package/core/slot/slot.js +45 -38
  115. package/core/slot/slotTypes.d.ts +78 -80
  116. package/core/slot/slotTypes.js +11 -16
  117. package/core/texture/externalTexture.d.ts +20 -11
  118. package/core/texture/externalTexture.js +46 -46
  119. package/core/texture/texture.d.ts +152 -97
  120. package/core/texture/texture.js +407 -314
  121. package/core/texture/textureFormats.d.ts +42 -23
  122. package/core/texture/textureFormats.js +104 -75
  123. package/core/texture/textureProps.d.ts +7 -10
  124. package/core/texture/textureProps.js +1 -0
  125. package/core/texture/textureUtils.d.ts +8 -0
  126. package/core/texture/textureUtils.js +185 -179
  127. package/core/texture/usageExtension.d.ts +21 -18
  128. package/core/texture/usageExtension.js +13 -17
  129. package/core/unroll/tgpuUnroll.d.ts +20 -19
  130. package/core/unroll/tgpuUnroll.js +82 -91
  131. package/core/valueProxyUtils.d.ts +3 -0
  132. package/core/valueProxyUtils.js +52 -41
  133. package/core/variable/tgpuVariable.d.ts +26 -27
  134. package/core/variable/tgpuVariable.js +93 -96
  135. package/core/vertexLayout/connectAttributesToShader.d.ts +9 -0
  136. package/core/vertexLayout/connectAttributesToShader.js +61 -56
  137. package/core/vertexLayout/vertexAttribute.d.ts +21 -17
  138. package/core/vertexLayout/vertexAttribute.js +1 -0
  139. package/core/vertexLayout/vertexLayout.d.ts +24 -18
  140. package/core/vertexLayout/vertexLayout.js +130 -99
  141. package/core/whitespaces.d.ts +2 -0
  142. package/core/whitespaces.js +16 -0
  143. package/data/alignIO.d.ts +7 -0
  144. package/data/alignIO.js +13 -13
  145. package/data/alignmentOf.d.ts +5 -8
  146. package/data/alignmentOf.js +90 -75
  147. package/data/array.d.ts +6 -9
  148. package/data/array.js +48 -40
  149. package/data/atomic.d.ts +2 -7
  150. package/data/atomic.js +26 -23
  151. package/data/attributes.d.ts +19 -21
  152. package/data/attributes.js +192 -132
  153. package/data/autoStruct.d.ts +36 -3
  154. package/data/autoStruct.js +84 -81
  155. package/data/compiledIO.d.ts +5 -0
  156. package/data/compiledIO.js +231 -214
  157. package/data/dataIO.d.ts +13 -11
  158. package/data/dataIO.js +643 -589
  159. package/data/dataTypes.d.ts +83 -65
  160. package/data/dataTypes.js +66 -68
  161. package/data/deepEqual.d.ts +2 -7
  162. package/data/deepEqual.js +80 -55
  163. package/data/disarray.d.ts +6 -10
  164. package/data/disarray.js +52 -46
  165. package/data/float16Conversion.d.ts +4 -0
  166. package/data/float16Conversion.js +7 -0
  167. package/data/getLongestContiguousPrefix.d.ts +4 -8
  168. package/data/getLongestContiguousPrefix.js +6 -11
  169. package/data/index.d.ts +30 -31
  170. package/data/index.js +39 -172
  171. package/data/instanceToSchema.d.ts +24 -27
  172. package/data/instanceToSchema.js +1 -0
  173. package/data/isContiguous.d.ts +4 -8
  174. package/data/isContiguous.js +6 -11
  175. package/data/matrix.d.ts +21 -21
  176. package/data/matrix.js +513 -505
  177. package/data/numberOps.d.ts +6 -0
  178. package/data/numberOps.js +26 -20
  179. package/data/numeric.d.ts +21 -12
  180. package/data/numeric.js +287 -192
  181. package/data/offsetUtils.d.ts +9 -13
  182. package/data/offsetUtils.js +204 -144
  183. package/data/offsets.d.ts +8 -0
  184. package/data/offsets.js +33 -33
  185. package/data/partialIO.d.ts +13 -8
  186. package/data/partialIO.js +124 -113
  187. package/data/ptr.d.ts +12 -12
  188. package/data/ptr.js +42 -44
  189. package/data/ref.d.ts +40 -27
  190. package/data/ref.js +125 -95
  191. package/data/sampler.d.ts +99 -101
  192. package/data/sampler.js +17 -21
  193. package/data/schemaCallWrapper.d.ts +19 -0
  194. package/data/schemaCallWrapper.js +31 -26
  195. package/data/schemaMemoryLayout.d.ts +8 -0
  196. package/data/schemaMemoryLayout.js +213 -185
  197. package/data/sizeOf.d.ts +4 -8
  198. package/data/sizeOf.js +6 -11
  199. package/data/snippet.d.ts +96 -20
  200. package/data/snippet.js +75 -86
  201. package/data/struct.d.ts +4 -7
  202. package/data/struct.js +51 -39
  203. package/data/texture.d.ts +253 -250
  204. package/data/texture.js +238 -200
  205. package/data/unstruct.d.ts +2 -7
  206. package/data/unstruct.js +43 -37
  207. package/data/vector.d.ts +33 -21
  208. package/data/vector.js +234 -221
  209. package/data/vectorImpl.d.ts +231 -0
  210. package/data/vectorImpl.js +563 -515
  211. package/data/vectorOps.d.ts +63 -0
  212. package/data/vectorOps.js +642 -630
  213. package/data/vertexFormatData.d.ts +181 -184
  214. package/data/vertexFormatData.js +104 -106
  215. package/data/wgslTypes.d.ts +665 -600
  216. package/data/wgslTypes.js +220 -198
  217. package/errors.d.ts +50 -24
  218. package/errors.js +146 -120
  219. package/execMode.d.ts +16 -0
  220. package/execMode.js +47 -40
  221. package/extension.d.ts +13 -8
  222. package/extension.js +10 -16
  223. package/getGPUValue.d.ts +1 -0
  224. package/getGPUValue.js +2 -7
  225. package/index.d.ts +28 -68
  226. package/index.js +8 -28
  227. package/indexNamedExports.d.ts +69 -42
  228. package/indexNamedExports.js +25 -0
  229. package/internal.d.ts +16 -0
  230. package/internal.js +12 -0
  231. package/mathUtils.d.ts +5 -0
  232. package/mathUtils.js +7 -11
  233. package/memo.d.ts +11 -0
  234. package/memo.js +20 -22
  235. package/minify.d.ts +5 -0
  236. package/minify.js +93 -0
  237. package/nameUtils.d.ts +29 -0
  238. package/nameUtils.js +428 -398
  239. package/package.json +9 -3
  240. package/resolutionCtx.d.ts +162 -22
  241. package/resolutionCtx.js +911 -624
  242. package/serial/registry.d.ts +15 -0
  243. package/serial/registry.js +106 -0
  244. package/serial/restore.d.ts +49 -0
  245. package/serial/restore.js +68 -0
  246. package/serial/schema.d.ts +58 -0
  247. package/serial/schema.js +209 -0
  248. package/serial/types.d.ts +5 -0
  249. package/serial/types.js +1 -0
  250. package/shared/env.d.ts +9 -0
  251. package/shared/env.js +9 -12
  252. package/shared/generators.d.ts +4 -0
  253. package/shared/generators.js +10 -12
  254. package/shared/meta.d.ts +29 -14
  255. package/shared/meta.js +71 -55
  256. package/shared/normalizeMetadata.d.ts +32 -27
  257. package/shared/normalizeMetadata.js +23 -36
  258. package/shared/repr.d.ts +73 -55
  259. package/shared/repr.js +1 -0
  260. package/shared/soul.d.ts +17 -0
  261. package/shared/soul.js +1 -0
  262. package/shared/stringify.d.ts +2 -0
  263. package/shared/stringify.js +29 -20
  264. package/shared/symbols.d.ts +26 -20
  265. package/shared/symbols.js +79 -79
  266. package/shared/tseynit.d.ts +2 -0
  267. package/shared/tseynit.js +160 -75
  268. package/shared/utilityTypes.d.ts +30 -14
  269. package/shared/utilityTypes.js +2 -6
  270. package/shared/vertexFormat.d.ts +41 -43
  271. package/shared/vertexFormat.js +59 -62
  272. package/std/array.d.ts +2 -7
  273. package/std/array.js +18 -23
  274. package/std/atomic.d.ts +14 -18
  275. package/std/atomic.js +96 -95
  276. package/std/bitcast.d.ts +193 -10
  277. package/std/bitcast.js +309 -39
  278. package/std/boolean.d.ts +19 -33
  279. package/std/boolean.js +296 -288
  280. package/std/copy.d.ts +2 -7
  281. package/std/copy.js +27 -24
  282. package/std/derivative.d.ts +11 -15
  283. package/std/derivative.js +56 -79
  284. package/std/discard.d.ts +1 -6
  285. package/std/discard.js +7 -14
  286. package/std/environment.d.ts +19 -14
  287. package/std/environment.js +71 -51
  288. package/std/extensions.d.ts +2 -8
  289. package/std/extensions.js +10 -11
  290. package/std/index.d.ts +20 -24
  291. package/std/index.js +32 -187
  292. package/std/matrix.d.ts +6 -12
  293. package/std/matrix.js +60 -69
  294. package/std/numeric.d.ts +143 -146
  295. package/std/numeric.js +858 -749
  296. package/std/operators.d.ts +19 -27
  297. package/std/operators.js +227 -193
  298. package/std/packing.d.ts +5 -11
  299. package/std/packing.js +67 -75
  300. package/std/range.d.ts +6 -11
  301. package/std/range.js +48 -36
  302. package/std/subgroup.d.ts +33 -37
  303. package/std/subgroup.js +180 -217
  304. package/std/texture.d.ts +70 -38
  305. package/std/texture.js +176 -172
  306. package/taskQueue.d.ts +6 -0
  307. package/taskQueue.js +30 -0
  308. package/tgpu.d.ts +16 -0
  309. package/tgpu.js +17 -44
  310. package/tgpuBindGroupLayout.d.ts +132 -152
  311. package/tgpuBindGroupLayout.js +346 -268
  312. package/tgpuLogger.d.ts +34 -0
  313. package/tgpuLogger.js +63 -0
  314. package/tgpuUnstable.d.ts +16 -22
  315. package/tgpuUnstable.js +13 -35
  316. package/tgsl/accessIndex.d.ts +2 -0
  317. package/tgsl/accessIndex.js +76 -33
  318. package/tgsl/accessProp.d.ts +2 -0
  319. package/tgsl/accessProp.js +142 -100
  320. package/tgsl/accessStructProp.d.ts +5 -0
  321. package/tgsl/accessStructProp.js +18 -0
  322. package/tgsl/consoleLog/deserializers.d.ts +13 -0
  323. package/tgsl/consoleLog/deserializers.js +119 -103
  324. package/tgsl/consoleLog/logGenerator.d.ts +21 -0
  325. package/tgsl/consoleLog/logGenerator.js +85 -80
  326. package/tgsl/consoleLog/serializers.d.ts +21 -0
  327. package/tgsl/consoleLog/serializers.js +119 -100
  328. package/tgsl/consoleLog/types.d.ts +40 -39
  329. package/tgsl/consoleLog/types.js +1 -0
  330. package/tgsl/conversion.d.ts +33 -0
  331. package/tgsl/conversion.js +272 -193
  332. package/tgsl/forOfUtils.d.ts +15 -0
  333. package/tgsl/forOfUtils.js +85 -70
  334. package/tgsl/generationHelpers.d.ts +22 -39
  335. package/tgsl/generationHelpers.js +85 -58
  336. package/tgsl/infixDispatch.d.ts +70 -0
  337. package/tgsl/infixDispatch.js +48 -46
  338. package/tgsl/jsPolyfills.d.ts +16 -19
  339. package/tgsl/jsPolyfills.js +44 -42
  340. package/tgsl/makeDereferenceable.d.ts +48 -0
  341. package/tgsl/makeDereferenceable.js +86 -0
  342. package/tgsl/makeResolvable.d.ts +22 -0
  343. package/tgsl/makeResolvable.js +33 -0
  344. package/tgsl/shaderGenerator.d.ts +77 -17
  345. package/tgsl/shaderGenerator.js +1 -0
  346. package/tgsl/shellless.d.ts +6 -9
  347. package/tgsl/shellless.js +73 -43
  348. package/tgsl/wgslGenerator.d.ts +66 -59
  349. package/tgsl/wgslGenerator.js +1344 -747
  350. package/types.d.ts +287 -221
  351. package/types.js +61 -44
  352. package/unwrapper.d.ts +31 -26
  353. package/unwrapper.js +1 -0
  354. package/wgslExtensions.d.ts +3 -5
  355. package/wgslExtensions.js +12 -16
  356. package/_virtual/rolldown_runtime.js +0 -13
  357. package/core/buffer/bufferShorthand.d.ts +0 -50
  358. package/core/buffer/bufferShorthand.js +0 -55
  359. package/core/pipeline/applyPipelineState.js +0 -37
  360. package/package.js +0 -5
  361. package/tgsl/shaderGenerator_members.d.ts +0 -33
  362. package/tgsl/shaderGenerator_members.js +0 -12
@@ -1,11 +1,7 @@
1
- import "./wgslTypes.js";
2
- import { AnyData } from "./dataTypes.js";
3
-
4
- //#region src/data/getLongestContiguousPrefix.d.ts
5
-
1
+ import type { AnyData } from './dataTypes.ts';
2
+ import type { BaseData } from './wgslTypes.ts';
3
+ export declare function getLongestContiguousPrefix(schema: BaseData): number;
6
4
  /**
7
5
  * Returns the size (in bytes) of the longest contiguous memory prefix of data represented by the `schema`.
8
6
  */
9
- declare function PUBLIC_getLongestContiguousPrefix(schema: AnyData): number;
10
- //#endregion
11
- export { PUBLIC_getLongestContiguousPrefix };
7
+ export declare function PUBLIC_getLongestContiguousPrefix(schema: AnyData): number;
@@ -1,15 +1,10 @@
1
1
  import { getLayoutInfo } from "./schemaMemoryLayout.js";
2
-
3
- //#region src/data/getLongestContiguousPrefix.ts
4
- function getLongestContiguousPrefix(schema) {
5
- return getLayoutInfo(schema, "longestContiguousPrefix");
2
+ export function getLongestContiguousPrefix(schema) {
3
+ return getLayoutInfo(schema, 'longestContiguousPrefix');
6
4
  }
7
5
  /**
8
- * Returns the size (in bytes) of the longest contiguous memory prefix of data represented by the `schema`.
9
- */
10
- function PUBLIC_getLongestContiguousPrefix(schema) {
11
- return getLongestContiguousPrefix(schema);
6
+ * Returns the size (in bytes) of the longest contiguous memory prefix of data represented by the `schema`.
7
+ */
8
+ export function PUBLIC_getLongestContiguousPrefix(schema) {
9
+ return getLongestContiguousPrefix(schema);
12
10
  }
13
-
14
- //#endregion
15
- export { PUBLIC_getLongestContiguousPrefix, getLongestContiguousPrefix };
package/data/index.d.ts CHANGED
@@ -1,31 +1,30 @@
1
- import { WgslComparisonSampler, WgslSampler, comparisonSampler, sampler } from "./sampler.js";
2
- import { AnyBuiltin, BuiltinClipDistances, BuiltinFragDepth, BuiltinFrontFacing, BuiltinGlobalInvocationId, BuiltinInstanceIndex, BuiltinLocalInvocationId, BuiltinLocalInvocationIndex, BuiltinNumWorkgroups, BuiltinPosition, BuiltinSampleIndex, BuiltinSampleMask, BuiltinVertexIndex, BuiltinWorkgroupId, builtin } from "../builtin.js";
3
- import { AnyAttribute, HasCustomLocation, IsBuiltin, align, interpolate, invariant, isBuiltin, location, size } from "./attributes.js";
4
- import { memoryLayoutOf } from "./offsetUtils.js";
5
- import { FormatToAcceptedData, FormatToWGSLType, PackedData, TgpuVertexFormatData, float16, float16x2, float16x4, float32, float32x2, float32x3, float32x4, formatToWGSLType, isPackedData, packedFormats, sint16, sint16x2, sint16x4, sint32, sint32x2, sint32x3, sint32x4, sint8, sint8x2, sint8x4, snorm16, snorm16x2, snorm16x4, snorm8, snorm8x2, snorm8x4, uint16, uint16x2, uint16x4, uint32, uint32x2, uint32x3, uint32x4, uint8, uint8x2, uint8x4, unorm10_10_10_2, unorm16, unorm16x2, unorm16x4, unorm8, unorm8x2, unorm8x4, unorm8x4_bgra } from "./vertexFormatData.js";
6
- import { _ref } from "./ref.js";
7
- import { Align, AnyVecInstance, AnyWgslData, AnyWgslStruct, Atomic, BaseData, Bool, Builtin, Decorated, F16, F32, I32, Interpolate, Location, Mat2x2f, Mat3x3f, Mat4x4f, Ptr, Size, StorableData, U16, U32, Vec2b, Vec2f, Vec2h, Vec2i, Vec2u, Vec3b, Vec3f, Vec3h, Vec3i, Vec3u, Vec4b, Vec4f, Vec4h, Vec4i, Vec4u, Void, WgslArray, WgslStruct, atomicI32, atomicU32, isAlignAttrib, isAtomic, isBuiltinAttrib, isDecorated, isInterpolateAttrib, isLocationAttrib, isPtr, isSizeAttrib, isWgslArray, isWgslData, isWgslStruct, m2x2f, m3x3f, m4x4f, matBase, v2b, v2f, v2h, v2i, v2u, v3b, v3f, v3h, v3i, v3u, v4b, v4f, v4h, v4i, v4u, vecBase } from "./wgslTypes.js";
8
- import { WgslExternalTexture, WgslStorageTexture, WgslStorageTexture1d, WgslStorageTexture2d, WgslStorageTexture2dArray, WgslStorageTexture3d, WgslStorageTextureProps, WgslTexture, WgslTexture1d, WgslTexture2d, WgslTexture2dArray, WgslTexture3d, WgslTextureCube, WgslTextureCubeArray, WgslTextureDepth2d, WgslTextureDepth2dArray, WgslTextureDepthCube, WgslTextureDepthCubeArray, WgslTextureDepthMultisampled2d, WgslTextureMultisampled2d, texture1d, texture2d, texture2dArray, texture3d, textureCube, textureCubeArray, textureDepth2d, textureDepth2dArray, textureDepthCube, textureDepthCubeArray, textureDepthMultisampled2d, textureExternal, textureMultisampled2d, textureStorage1d, textureStorage2d, textureStorage2dArray, textureStorage3d } from "./texture.js";
9
- import { Infer, InferGPU, InferInput, InferPartial, InferPatch } from "../shared/repr.js";
10
- import { AnyData, AnyLooseData, Disarray, LooseDecorated, Unstruct, isData, isDisarray, isLooseData, isLooseDecorated, isUnstruct } from "./dataTypes.js";
11
- import { bool, f16, f32, i32, u16, u32 } from "./numeric.js";
12
- import { struct } from "./struct.js";
13
- import { arrayOf } from "./array.js";
14
- import { ptrFn, ptrHandle, ptrPrivate, ptrStorage, ptrUniform, ptrWorkgroup } from "./ptr.js";
15
- import { vec2b, vec2f, vec2h, vec2i, vec2u, vec3b, vec3f, vec3h, vec3i, vec3u, vec4b, vec4f, vec4h, vec4i, vec4u } from "./vector.js";
16
- import { disarrayOf } from "./disarray.js";
17
- import { unstruct } from "./unstruct.js";
18
- import { mat2x2f, mat3x3f, mat4x4f, matToArray } from "./matrix.js";
19
- import { atomic } from "./atomic.js";
20
- import { PUBLIC_sizeOf } from "./sizeOf.js";
21
- import { PUBLIC_isContiguous } from "./isContiguous.js";
22
- import { PUBLIC_getLongestContiguousPrefix } from "./getLongestContiguousPrefix.js";
23
- import { PUBLIC_alignmentOf } from "./alignmentOf.js";
24
- import { deepEqual } from "./deepEqual.js";
25
-
26
- //#region src/data/index.d.ts
27
- declare namespace index_d_exports {
28
- export { Align, AnyAttribute, AnyBuiltin, AnyData, AnyLooseData, AnyVecInstance, AnyWgslData, AnyWgslStruct, Atomic, BaseData, BaseData as BaseWgslData, Bool, Builtin, BuiltinClipDistances, BuiltinFragDepth, BuiltinFrontFacing, BuiltinGlobalInvocationId, BuiltinInstanceIndex, BuiltinLocalInvocationId, BuiltinLocalInvocationIndex, BuiltinNumWorkgroups, BuiltinPosition, BuiltinSampleIndex, BuiltinSampleMask, BuiltinVertexIndex, BuiltinWorkgroupId, Decorated, Disarray, F16, F32, FormatToAcceptedData, FormatToWGSLType, HasCustomLocation, I32, Infer, InferGPU, InferInput, InferPartial, InferPatch, Interpolate, IsBuiltin, Location, LooseDecorated, Mat2x2f, Mat3x3f, Mat4x4f, PackedData, Ptr, Size, StorableData, TgpuVertexFormatData, U16, U32, Unstruct, Vec2b, Vec2f, Vec2h, Vec2i, Vec2u, Vec3b, Vec3f, Vec3h, Vec3i, Vec3u, Vec4b, Vec4f, Vec4h, Vec4i, Vec4u, Void, WgslArray, WgslComparisonSampler, WgslExternalTexture, WgslSampler, WgslStorageTexture, WgslStorageTexture1d, WgslStorageTexture2d, WgslStorageTexture2dArray, WgslStorageTexture3d, WgslStorageTextureProps, WgslStruct, WgslTexture, WgslTexture1d, WgslTexture2d, WgslTexture2dArray, WgslTexture3d, WgslTextureCube, WgslTextureCubeArray, WgslTextureDepth2d, WgslTextureDepth2dArray, WgslTextureDepthCube, WgslTextureDepthCubeArray, WgslTextureDepthMultisampled2d, WgslTextureMultisampled2d, align, PUBLIC_alignmentOf as alignmentOf, arrayOf, atomic, atomicI32, atomicU32, bool, builtin, comparisonSampler, deepEqual, disarrayOf, f16, f32, float16, float16x2, float16x4, float32, float32x2, float32x3, float32x4, formatToWGSLType, PUBLIC_getLongestContiguousPrefix as getLongestContiguousPrefix, i32, interpolate, invariant, isAlignAttrib, isAtomic, isBuiltin, isBuiltinAttrib, PUBLIC_isContiguous as isContiguous, isData, isDecorated, isDisarray, isInterpolateAttrib, isLocationAttrib, isLooseData, isLooseDecorated, isPackedData, isPtr, isSizeAttrib, isUnstruct, isWgslArray, isWgslData, isWgslStruct, location, m2x2f, m3x3f, m4x4f, mat2x2f, mat3x3f, mat4x4f, matBase, matToArray, memoryLayoutOf, packedFormats, ptrFn, ptrHandle, ptrPrivate, ptrStorage, ptrUniform, ptrWorkgroup, _ref as ref, sampler, sint16, sint16x2, sint16x4, sint32, sint32x2, sint32x3, sint32x4, sint8, sint8x2, sint8x4, size, PUBLIC_sizeOf as sizeOf, snorm16, snorm16x2, snorm16x4, snorm8, snorm8x2, snorm8x4, struct, texture1d, texture2d, texture2dArray, texture3d, textureCube, textureCubeArray, textureDepth2d, textureDepth2dArray, textureDepthCube, textureDepthCubeArray, textureDepthMultisampled2d, textureExternal, textureMultisampled2d, textureStorage1d, textureStorage2d, textureStorage2dArray, textureStorage3d, u16, u32, uint16, uint16x2, uint16x4, uint32, uint32x2, uint32x3, uint32x4, uint8, uint8x2, uint8x4, unorm10_10_10_2, unorm16, unorm16x2, unorm16x4, unorm8, unorm8x2, unorm8x4, unorm8x4_bgra, unstruct, v2b, v2f, v2h, v2i, v2u, v3b, v3f, v3h, v3i, v3u, v4b, v4f, v4h, v4i, v4u, vec2b, vec2f, vec2h, vec2i, vec2u, vec3b, vec3f, vec3h, vec3i, vec3u, vec4b, vec4f, vec4h, vec4i, vec4u, vecBase };
29
- }
30
- //#endregion
31
- export { type Align, type AnyAttribute, type AnyBuiltin, type AnyData, type AnyLooseData, type AnyVecInstance, type AnyWgslData, type AnyWgslStruct, type Atomic, type BaseData, type BaseData as BaseWgslData, type Bool, type Builtin, type BuiltinClipDistances, type BuiltinFragDepth, type BuiltinFrontFacing, type BuiltinGlobalInvocationId, type BuiltinInstanceIndex, type BuiltinLocalInvocationId, type BuiltinLocalInvocationIndex, type BuiltinNumWorkgroups, type BuiltinPosition, type BuiltinSampleIndex, type BuiltinSampleMask, type BuiltinVertexIndex, type BuiltinWorkgroupId, type Decorated, type Disarray, type F16, type F32, FormatToAcceptedData, FormatToWGSLType, type HasCustomLocation, type I32, type Infer, type InferGPU, type InferInput, type InferPartial, type InferPatch, type Interpolate, type IsBuiltin, type Location, type LooseDecorated, type Mat2x2f, type Mat3x3f, type Mat4x4f, PackedData, type Ptr, type Size, type StorableData, TgpuVertexFormatData, type U16, type U32, type Unstruct, type Vec2b, type Vec2f, type Vec2h, type Vec2i, type Vec2u, type Vec3b, type Vec3f, type Vec3h, type Vec3i, type Vec3u, type Vec4b, type Vec4f, type Vec4h, type Vec4i, type Vec4u, Void, type WgslArray, type WgslComparisonSampler, type WgslExternalTexture, type WgslSampler, type WgslStorageTexture, type WgslStorageTexture1d, type WgslStorageTexture2d, type WgslStorageTexture2dArray, type WgslStorageTexture3d, type WgslStorageTextureProps, type WgslStruct, type WgslTexture, type WgslTexture1d, type WgslTexture2d, type WgslTexture2dArray, type WgslTexture3d, type WgslTextureCube, type WgslTextureCubeArray, type WgslTextureDepth2d, type WgslTextureDepth2dArray, type WgslTextureDepthCube, type WgslTextureDepthCubeArray, type WgslTextureDepthMultisampled2d, type WgslTextureMultisampled2d, align, PUBLIC_alignmentOf as alignmentOf, arrayOf, atomic, type atomicI32, type atomicU32, bool, builtin, comparisonSampler, deepEqual, disarrayOf, f16, f32, float16, float16x2, float16x4, float32, float32x2, float32x3, float32x4, formatToWGSLType, PUBLIC_getLongestContiguousPrefix as getLongestContiguousPrefix, i32, index_d_exports, interpolate, invariant, isAlignAttrib, isAtomic, isBuiltin, isBuiltinAttrib, PUBLIC_isContiguous as isContiguous, isData, isDecorated, isDisarray, isInterpolateAttrib, isLocationAttrib, isLooseData, isLooseDecorated, isPackedData, isPtr, isSizeAttrib, isUnstruct, isWgslArray, isWgslData, isWgslStruct, location, type m2x2f, type m3x3f, type m4x4f, mat2x2f, mat3x3f, mat4x4f, type matBase, matToArray, memoryLayoutOf, packedFormats, ptrFn, ptrHandle, ptrPrivate, ptrStorage, ptrUniform, ptrWorkgroup, _ref as ref, sampler, sint16, sint16x2, sint16x4, sint32, sint32x2, sint32x3, sint32x4, sint8, sint8x2, sint8x4, size, PUBLIC_sizeOf as sizeOf, snorm16, snorm16x2, snorm16x4, snorm8, snorm8x2, snorm8x4, struct, texture1d, texture2d, texture2dArray, texture3d, textureCube, textureCubeArray, textureDepth2d, textureDepth2dArray, textureDepthCube, textureDepthCubeArray, textureDepthMultisampled2d, textureExternal, textureMultisampled2d, textureStorage1d, textureStorage2d, textureStorage2dArray, textureStorage3d, u16, u32, uint16, uint16x2, uint16x4, uint32, uint32x2, uint32x3, uint32x4, uint8, uint8x2, uint8x4, unorm10_10_10_2, unorm16, unorm16x2, unorm16x4, unorm8, unorm8x2, unorm8x4, unorm8x4_bgra, unstruct, type v2b, type v2f, type v2h, type v2i, type v2u, type v3b, type v3f, type v3h, type v3i, type v3u, type v4b, type v4f, type v4h, type v4i, type v4u, vec2b, vec2f, vec2h, vec2i, vec2u, vec3b, vec3f, vec3h, vec3i, vec3u, vec4b, vec4f, vec4h, vec4i, vec4u, type vecBase };
1
+ /**
2
+ * @module typegpu/data
3
+ */
4
+ export { bool, f16, f32, i32, u16, u32 } from './numeric.ts';
5
+ export { isAlignAttrib, isAtomic, isBuiltinAttrib, isDecorated, isInterpolateAttrib, isInvariantAttrib, isLocationAttrib, isPtr, isSizeAttrib, isWgslArray, isWgslData, isWgslStruct, Void, } from './wgslTypes.ts';
6
+ export type { Align, AnyVecInstance, AnyWgslData, AnyWgslStruct, Atomic, atomicI32, atomicU32, BaseData, BaseData as BaseWgslData, Bool, Builtin, Decorated, F16, F32, I32, Interpolate, Invariant, Location, m2x2f, m3x3f, m4x4f, Mat2x2f, Mat3x3f, Mat4x4f, matBase, Ptr, Size, StorableData, U16, U32, v2b, v2f, v2h, v2i, v2u, v3b, v3f, v3h, v3i, v3u, v4b, v4f, v4h, v4i, v4u, Vec2b, Vec2f, Vec2h, Vec2i, Vec2u, Vec3b, Vec3f, Vec3h, Vec3i, Vec3u, Vec4b, Vec4f, Vec4h, Vec4i, Vec4u, vecBase, WgslArray, WgslStruct, } from './wgslTypes.ts';
7
+ export { struct } from './struct.ts';
8
+ export { arrayOf } from './array.ts';
9
+ export { ptrFn, ptrHandle, ptrPrivate, ptrStorage, ptrUniform, ptrWorkgroup } from './ptr.ts';
10
+ export type { AnyData, AnyLooseData, Disarray, LooseDecorated, Unstruct } from './dataTypes.ts';
11
+ export { texture1d, texture2d, texture2dArray, texture3d, textureCube, textureCubeArray, textureDepth2d, textureDepth2dArray, textureDepthCube, textureDepthCubeArray, textureDepthMultisampled2d, textureExternal, textureMultisampled2d, textureStorage1d, textureStorage2d, textureStorage2dArray, textureStorage3d, type WgslExternalTexture, type WgslStorageTexture, type WgslStorageTexture1d, type WgslStorageTexture2d, type WgslStorageTexture2dArray, type WgslStorageTexture3d, type WgslStorageTextureProps, type WgslTexture, type WgslTexture1d, type WgslTexture2d, type WgslTexture2dArray, type WgslTexture3d, type WgslTextureCube, type WgslTextureCubeArray, type WgslTextureDepth2d, type WgslTextureDepth2dArray, type WgslTextureDepthCube, type WgslTextureDepthCubeArray, type WgslTextureDepthMultisampled2d, type WgslTextureMultisampled2d, } from './texture.ts';
12
+ export { comparisonSampler, sampler, type WgslComparisonSampler, type WgslSampler, } from './sampler.ts';
13
+ export { vec2b, vec2f, vec2h, vec2i, vec2u, vec3b, vec3f, vec3h, vec3i, vec3u, vec4b, vec4f, vec4h, vec4i, vec4u, } from './vector.ts';
14
+ export { disarrayOf } from './disarray.ts';
15
+ export { unstruct } from './unstruct.ts';
16
+ export { mat2x2f, mat3x3f, mat4x4f, matToArray } from './matrix.ts';
17
+ export * from './vertexFormatData.ts';
18
+ export { atomic } from './atomic.ts';
19
+ export { _ref as ref } from './ref.ts';
20
+ export { align, type AnyAttribute, type HasCustomLocation, interpolate, invariant, type IsBuiltin, isBuiltin, location, size, } from './attributes.ts';
21
+ export { isData, isDisarray, isLooseData, isLooseDecorated, isUnstruct } from './dataTypes.ts';
22
+ export { PUBLIC_sizeOf as sizeOf } from './sizeOf.ts';
23
+ export { PUBLIC_isContiguous as isContiguous } from './isContiguous.ts';
24
+ export { PUBLIC_getLongestContiguousPrefix as getLongestContiguousPrefix } from './getLongestContiguousPrefix.ts';
25
+ export { memoryLayoutOf } from './offsetUtils.ts';
26
+ export { PUBLIC_alignmentOf as alignmentOf } from './alignmentOf.ts';
27
+ export { builtin } from '../builtin.ts';
28
+ export { deepEqual } from './deepEqual.ts';
29
+ export type { AnyBuiltin, BuiltinClipDistances, BuiltinFragDepth, BuiltinFrontFacing, BuiltinGlobalInvocationId, BuiltinGlobalInvocationIndex, BuiltinInstanceIndex, BuiltinLocalInvocationId, BuiltinLocalInvocationIndex, BuiltinNumSubgroups, BuiltinNumWorkgroups, BuiltinPosition, BuiltinPrimitiveIndex, BuiltinSampleIndex, BuiltinSampleMask, BuiltinSubgroupId, BuiltinSubgroupInvocationId, BuiltinSubgroupSize, BuiltinVertexIndex, BuiltinWorkgroupId, BuiltinWorkgroupIndex, } from '../builtin.ts';
30
+ export type { Infer, InferGPU, InferInput, InferPartial, InferPatch, MemIdentity, } from '../shared/repr.ts';
package/data/index.js CHANGED
@@ -1,174 +1,41 @@
1
- import { __export } from "../_virtual/rolldown_runtime.js";
2
- import { Void, isAlignAttrib, isAtomic, isBuiltinAttrib, isDecorated, isInterpolateAttrib, isLocationAttrib, isPtr, isSizeAttrib, isWgslArray, isWgslData, isWgslStruct } from "./wgslTypes.js";
3
- import { isData, isDisarray, isLooseData, isLooseDecorated, isUnstruct } from "./dataTypes.js";
4
- import { ptrFn, ptrHandle, ptrPrivate, ptrStorage, ptrUniform, ptrWorkgroup } from "./ptr.js";
5
- import { _ref } from "./ref.js";
6
- import { bool, f16, f32, i32, u16, u32 } from "./numeric.js";
1
+ /**
2
+ * @module typegpu/data
3
+ */
4
+ // NOTE: This is a barrel file, internal files should not import things from this file
5
+ import { Operator } from 'tsover-runtime';
6
+ import { MatBase } from "./matrix.js";
7
7
  import { VecBase } from "./vectorImpl.js";
8
- import { vec2b, vec2f, vec2h, vec2i, vec2u, vec3b, vec3f, vec3h, vec3i, vec3u, vec4b, vec4f, vec4h, vec4i, vec4u } from "./vector.js";
9
- import { float16, float16x2, float16x4, float32, float32x2, float32x3, float32x4, formatToWGSLType, isPackedData, packedFormats, sint16, sint16x2, sint16x4, sint32, sint32x2, sint32x3, sint32x4, sint8, sint8x2, sint8x4, snorm16, snorm16x2, snorm16x4, snorm8, snorm8x2, snorm8x4, uint16, uint16x2, uint16x4, uint32, uint32x2, uint32x3, uint32x4, uint8, uint8x2, uint8x4, unorm10_10_10_2, unorm16, unorm16x2, unorm16x4, unorm8, unorm8x2, unorm8x4, unorm8x4_bgra } from "./vertexFormatData.js";
10
- import { PUBLIC_alignmentOf } from "./alignmentOf.js";
11
- import { PUBLIC_sizeOf } from "./sizeOf.js";
12
- import { align, interpolate, invariant, isBuiltin, location, size } from "./attributes.js";
13
- import { struct } from "./struct.js";
14
- import { MatBase, mat2x2f, mat3x3f, mat4x4f, matToArray } from "./matrix.js";
15
8
  import { assignInfixOperator } from "../tgsl/infixDispatch.js";
16
- import { comparisonSampler, sampler } from "./sampler.js";
17
- import { texture1d, texture2d, texture2dArray, texture3d, textureCube, textureCubeArray, textureDepth2d, textureDepth2dArray, textureDepthCube, textureDepthCubeArray, textureDepthMultisampled2d, textureExternal, textureMultisampled2d, textureStorage1d, textureStorage2d, textureStorage2dArray, textureStorage3d } from "./texture.js";
18
- import { arrayOf } from "./array.js";
19
- import { atomic } from "./atomic.js";
20
- import { builtin } from "../builtin.js";
21
- import { PUBLIC_isContiguous } from "./isContiguous.js";
22
- import { PUBLIC_getLongestContiguousPrefix } from "./getLongestContiguousPrefix.js";
23
- import { memoryLayoutOf } from "./offsetUtils.js";
24
- import { disarrayOf } from "./disarray.js";
25
- import { unstruct } from "./unstruct.js";
26
- import { deepEqual } from "./deepEqual.js";
27
- import { Operator } from "tsover-runtime";
28
-
29
- //#region src/data/index.ts
30
- var data_exports = /* @__PURE__ */ __export({
31
- Void: () => Void,
32
- align: () => align,
33
- alignmentOf: () => PUBLIC_alignmentOf,
34
- arrayOf: () => arrayOf,
35
- atomic: () => atomic,
36
- bool: () => bool,
37
- builtin: () => builtin,
38
- comparisonSampler: () => comparisonSampler,
39
- deepEqual: () => deepEqual,
40
- disarrayOf: () => disarrayOf,
41
- f16: () => f16,
42
- f32: () => f32,
43
- float16: () => float16,
44
- float16x2: () => float16x2,
45
- float16x4: () => float16x4,
46
- float32: () => float32,
47
- float32x2: () => float32x2,
48
- float32x3: () => float32x3,
49
- float32x4: () => float32x4,
50
- formatToWGSLType: () => formatToWGSLType,
51
- getLongestContiguousPrefix: () => PUBLIC_getLongestContiguousPrefix,
52
- i32: () => i32,
53
- interpolate: () => interpolate,
54
- invariant: () => invariant,
55
- isAlignAttrib: () => isAlignAttrib,
56
- isAtomic: () => isAtomic,
57
- isBuiltin: () => isBuiltin,
58
- isBuiltinAttrib: () => isBuiltinAttrib,
59
- isContiguous: () => PUBLIC_isContiguous,
60
- isData: () => isData,
61
- isDecorated: () => isDecorated,
62
- isDisarray: () => isDisarray,
63
- isInterpolateAttrib: () => isInterpolateAttrib,
64
- isLocationAttrib: () => isLocationAttrib,
65
- isLooseData: () => isLooseData,
66
- isLooseDecorated: () => isLooseDecorated,
67
- isPackedData: () => isPackedData,
68
- isPtr: () => isPtr,
69
- isSizeAttrib: () => isSizeAttrib,
70
- isUnstruct: () => isUnstruct,
71
- isWgslArray: () => isWgslArray,
72
- isWgslData: () => isWgslData,
73
- isWgslStruct: () => isWgslStruct,
74
- location: () => location,
75
- mat2x2f: () => mat2x2f,
76
- mat3x3f: () => mat3x3f,
77
- mat4x4f: () => mat4x4f,
78
- matToArray: () => matToArray,
79
- memoryLayoutOf: () => memoryLayoutOf,
80
- packedFormats: () => packedFormats,
81
- ptrFn: () => ptrFn,
82
- ptrHandle: () => ptrHandle,
83
- ptrPrivate: () => ptrPrivate,
84
- ptrStorage: () => ptrStorage,
85
- ptrUniform: () => ptrUniform,
86
- ptrWorkgroup: () => ptrWorkgroup,
87
- ref: () => _ref,
88
- sampler: () => sampler,
89
- sint16: () => sint16,
90
- sint16x2: () => sint16x2,
91
- sint16x4: () => sint16x4,
92
- sint32: () => sint32,
93
- sint32x2: () => sint32x2,
94
- sint32x3: () => sint32x3,
95
- sint32x4: () => sint32x4,
96
- sint8: () => sint8,
97
- sint8x2: () => sint8x2,
98
- sint8x4: () => sint8x4,
99
- size: () => size,
100
- sizeOf: () => PUBLIC_sizeOf,
101
- snorm16: () => snorm16,
102
- snorm16x2: () => snorm16x2,
103
- snorm16x4: () => snorm16x4,
104
- snorm8: () => snorm8,
105
- snorm8x2: () => snorm8x2,
106
- snorm8x4: () => snorm8x4,
107
- struct: () => struct,
108
- texture1d: () => texture1d,
109
- texture2d: () => texture2d,
110
- texture2dArray: () => texture2dArray,
111
- texture3d: () => texture3d,
112
- textureCube: () => textureCube,
113
- textureCubeArray: () => textureCubeArray,
114
- textureDepth2d: () => textureDepth2d,
115
- textureDepth2dArray: () => textureDepth2dArray,
116
- textureDepthCube: () => textureDepthCube,
117
- textureDepthCubeArray: () => textureDepthCubeArray,
118
- textureDepthMultisampled2d: () => textureDepthMultisampled2d,
119
- textureExternal: () => textureExternal,
120
- textureMultisampled2d: () => textureMultisampled2d,
121
- textureStorage1d: () => textureStorage1d,
122
- textureStorage2d: () => textureStorage2d,
123
- textureStorage2dArray: () => textureStorage2dArray,
124
- textureStorage3d: () => textureStorage3d,
125
- u16: () => u16,
126
- u32: () => u32,
127
- uint16: () => uint16,
128
- uint16x2: () => uint16x2,
129
- uint16x4: () => uint16x4,
130
- uint32: () => uint32,
131
- uint32x2: () => uint32x2,
132
- uint32x3: () => uint32x3,
133
- uint32x4: () => uint32x4,
134
- uint8: () => uint8,
135
- uint8x2: () => uint8x2,
136
- uint8x4: () => uint8x4,
137
- unorm10_10_10_2: () => unorm10_10_10_2,
138
- unorm16: () => unorm16,
139
- unorm16x2: () => unorm16x2,
140
- unorm16x4: () => unorm16x4,
141
- unorm8: () => unorm8,
142
- unorm8x2: () => unorm8x2,
143
- unorm8x4: () => unorm8x4,
144
- unorm8x4_bgra: () => unorm8x4_bgra,
145
- unstruct: () => unstruct,
146
- vec2b: () => vec2b,
147
- vec2f: () => vec2f,
148
- vec2h: () => vec2h,
149
- vec2i: () => vec2i,
150
- vec2u: () => vec2u,
151
- vec3b: () => vec3b,
152
- vec3f: () => vec3f,
153
- vec3h: () => vec3h,
154
- vec3i: () => vec3i,
155
- vec3u: () => vec3u,
156
- vec4b: () => vec4b,
157
- vec4f: () => vec4f,
158
- vec4h: () => vec4h,
159
- vec4i: () => vec4i,
160
- vec4u: () => vec4u
161
- });
162
- assignInfixOperator(VecBase, "add", Operator.plus);
163
- assignInfixOperator(MatBase, "add", Operator.plus);
164
- assignInfixOperator(VecBase, "sub", Operator.minus);
165
- assignInfixOperator(MatBase, "sub", Operator.minus);
166
- assignInfixOperator(VecBase, "mul", Operator.star);
167
- assignInfixOperator(MatBase, "mul", Operator.star);
168
- assignInfixOperator(VecBase, "div", Operator.slash);
169
- assignInfixOperator(VecBase, "mod", Operator.percent);
170
- assignInfixOperator(VecBase, "bitShiftLeft", Symbol());
171
- assignInfixOperator(VecBase, "bitShiftRight", Symbol());
172
-
173
- //#endregion
174
- export { Void, align, PUBLIC_alignmentOf as alignmentOf, arrayOf, atomic, bool, builtin, comparisonSampler, data_exports, deepEqual, disarrayOf, f16, f32, float16, float16x2, float16x4, float32, float32x2, float32x3, float32x4, formatToWGSLType, PUBLIC_getLongestContiguousPrefix as getLongestContiguousPrefix, i32, interpolate, invariant, isAlignAttrib, isAtomic, isBuiltin, isBuiltinAttrib, PUBLIC_isContiguous as isContiguous, isData, isDecorated, isDisarray, isInterpolateAttrib, isLocationAttrib, isLooseData, isLooseDecorated, isPackedData, isPtr, isSizeAttrib, isUnstruct, isWgslArray, isWgslData, isWgslStruct, location, mat2x2f, mat3x3f, mat4x4f, matToArray, memoryLayoutOf, packedFormats, ptrFn, ptrHandle, ptrPrivate, ptrStorage, ptrUniform, ptrWorkgroup, _ref as ref, sampler, sint16, sint16x2, sint16x4, sint32, sint32x2, sint32x3, sint32x4, sint8, sint8x2, sint8x4, size, PUBLIC_sizeOf as sizeOf, snorm16, snorm16x2, snorm16x4, snorm8, snorm8x2, snorm8x4, struct, texture1d, texture2d, texture2dArray, texture3d, textureCube, textureCubeArray, textureDepth2d, textureDepth2dArray, textureDepthCube, textureDepthCubeArray, textureDepthMultisampled2d, textureExternal, textureMultisampled2d, textureStorage1d, textureStorage2d, textureStorage2dArray, textureStorage3d, u16, u32, uint16, uint16x2, uint16x4, uint32, uint32x2, uint32x3, uint32x4, uint8, uint8x2, uint8x4, unorm10_10_10_2, unorm16, unorm16x2, unorm16x4, unorm8, unorm8x2, unorm8x4, unorm8x4_bgra, unstruct, vec2b, vec2f, vec2h, vec2i, vec2u, vec3b, vec3f, vec3h, vec3i, vec3u, vec4b, vec4f, vec4h, vec4i, vec4u };
9
+ assignInfixOperator(VecBase, 'add', Operator.plus);
10
+ assignInfixOperator(MatBase, 'add', Operator.plus);
11
+ assignInfixOperator(VecBase, 'sub', Operator.minus);
12
+ assignInfixOperator(MatBase, 'sub', Operator.minus);
13
+ assignInfixOperator(VecBase, 'mul', Operator.star);
14
+ assignInfixOperator(MatBase, 'mul', Operator.star);
15
+ assignInfixOperator(VecBase, 'div', Operator.slash);
16
+ assignInfixOperator(VecBase, 'mod', Operator.percent);
17
+ assignInfixOperator(VecBase, 'bitShiftLeft', Symbol()); // bitShift does not yet have tsover operator symbol
18
+ assignInfixOperator(VecBase, 'bitShiftRight', Symbol()); // bitShift does not yet have tsover operator symbol
19
+ export { bool, f16, f32, i32, u16, u32 } from "./numeric.js";
20
+ export { isAlignAttrib, isAtomic, isBuiltinAttrib, isDecorated, isInterpolateAttrib, isInvariantAttrib, isLocationAttrib, isPtr, isSizeAttrib, isWgslArray, isWgslData, isWgslStruct, Void, } from "./wgslTypes.js";
21
+ export { struct } from "./struct.js";
22
+ export { arrayOf } from "./array.js";
23
+ export { ptrFn, ptrHandle, ptrPrivate, ptrStorage, ptrUniform, ptrWorkgroup } from "./ptr.js";
24
+ export { texture1d, texture2d, texture2dArray, texture3d, textureCube, textureCubeArray, textureDepth2d, textureDepth2dArray, textureDepthCube, textureDepthCubeArray, textureDepthMultisampled2d, textureExternal, textureMultisampled2d, textureStorage1d, textureStorage2d, textureStorage2dArray, textureStorage3d, } from "./texture.js";
25
+ export { comparisonSampler, sampler, } from "./sampler.js";
26
+ export { vec2b, vec2f, vec2h, vec2i, vec2u, vec3b, vec3f, vec3h, vec3i, vec3u, vec4b, vec4f, vec4h, vec4i, vec4u, } from "./vector.js";
27
+ export { disarrayOf } from "./disarray.js";
28
+ export { unstruct } from "./unstruct.js";
29
+ export { mat2x2f, mat3x3f, mat4x4f, matToArray } from "./matrix.js";
30
+ export * from "./vertexFormatData.js";
31
+ export { atomic } from "./atomic.js";
32
+ export { _ref as ref } from "./ref.js";
33
+ export { align, interpolate, invariant, isBuiltin, location, size, } from "./attributes.js";
34
+ export { isData, isDisarray, isLooseData, isLooseDecorated, isUnstruct } from "./dataTypes.js";
35
+ export { PUBLIC_sizeOf as sizeOf } from "./sizeOf.js";
36
+ export { PUBLIC_isContiguous as isContiguous } from "./isContiguous.js";
37
+ export { PUBLIC_getLongestContiguousPrefix as getLongestContiguousPrefix } from "./getLongestContiguousPrefix.js";
38
+ export { memoryLayoutOf } from "./offsetUtils.js";
39
+ export { PUBLIC_alignmentOf as alignmentOf } from "./alignmentOf.js";
40
+ export { builtin } from "../builtin.js";
41
+ export { deepEqual } from "./deepEqual.js";
@@ -1,33 +1,30 @@
1
- import { $internal } from "../shared/symbols.js";
2
- import { Bool, F16, F32, I32, Mat2x2f, Mat3x3f, Mat4x4f, U16, U32, Vec2b, Vec2f, Vec2h, Vec2i, Vec2u, Vec3b, Vec3f, Vec3h, Vec3i, Vec3u, Vec4b, Vec4f, Vec4h, Vec4i, Vec4u, Void } from "./wgslTypes.js";
3
-
4
- //#region src/data/instanceToSchema.d.ts
1
+ import { $internal } from '../shared/symbols.ts';
2
+ import type { Bool, F16, F32, I32, Mat2x2f, Mat3x3f, Mat4x4f, U16, U32, Vec2b, Vec2f, Vec2h, Vec2i, Vec2u, Vec3b, Vec3f, Vec3h, Vec3i, Vec3u, Vec4b, Vec4f, Vec4h, Vec4i, Vec4u, Void } from './wgslTypes.ts';
5
3
  type KindToSchemaMap = {
6
- vec2f: Vec2f;
7
- vec3f: Vec3f;
8
- vec4f: Vec4f;
9
- vec2h: Vec2h;
10
- vec3h: Vec3h;
11
- vec4h: Vec4h;
12
- vec2i: Vec2i;
13
- vec3i: Vec3i;
14
- vec4i: Vec4i;
15
- vec2u: Vec2u;
16
- vec3u: Vec3u;
17
- vec4u: Vec4u;
18
- 'vec2<bool>': Vec2b;
19
- 'vec3<bool>': Vec3b;
20
- 'vec4<bool>': Vec4b;
21
- mat2x2f: Mat2x2f;
22
- mat3x3f: Mat3x3f;
23
- mat4x4f: Mat4x4f;
4
+ vec2f: Vec2f;
5
+ vec3f: Vec3f;
6
+ vec4f: Vec4f;
7
+ vec2h: Vec2h;
8
+ vec3h: Vec3h;
9
+ vec4h: Vec4h;
10
+ vec2i: Vec2i;
11
+ vec3i: Vec3i;
12
+ vec4i: Vec4i;
13
+ vec2u: Vec2u;
14
+ vec3u: Vec3u;
15
+ vec4u: Vec4u;
16
+ 'vec2<bool>': Vec2b;
17
+ 'vec3<bool>': Vec3b;
18
+ 'vec4<bool>': Vec4b;
19
+ mat2x2f: Mat2x2f;
20
+ mat3x3f: Mat3x3f;
21
+ mat4x4f: Mat4x4f;
24
22
  };
25
23
  /**
26
24
  * Inverse operation to d.Infer<T>
27
25
  */
28
- type InstanceToSchema<T> = T extends number ? U32 | U16 | I32 | F32 | F16 : T extends boolean ? Bool : T extends undefined ? Void : T extends {
29
- readonly [$internal]: unknown;
30
- readonly kind: infer TKind extends keyof KindToSchemaMap;
26
+ export type InstanceToSchema<T> = T extends number ? U32 | U16 | I32 | F32 | F16 : T extends boolean ? Bool : T extends undefined ? Void : T extends {
27
+ readonly [$internal]: unknown;
28
+ readonly kind: infer TKind extends keyof KindToSchemaMap;
31
29
  } ? KindToSchemaMap[TKind] : T;
32
- //#endregion
33
- export { InstanceToSchema };
30
+ export {};
@@ -0,0 +1 @@
1
+ import { $internal } from "../shared/symbols.js";
@@ -1,11 +1,7 @@
1
- import "./wgslTypes.js";
2
- import { AnyData } from "./dataTypes.js";
3
-
4
- //#region src/data/isContiguous.d.ts
5
-
1
+ import type { AnyData } from './dataTypes.ts';
2
+ import type { BaseData } from './wgslTypes.ts';
3
+ export declare function isContiguous(schema: BaseData): boolean;
6
4
  /**
7
5
  * Returns `true` if data represented by the `schema` doesn't have padding.
8
6
  */
9
- declare function PUBLIC_isContiguous(schema: AnyData): boolean;
10
- //#endregion
11
- export { PUBLIC_isContiguous };
7
+ export declare function PUBLIC_isContiguous(schema: AnyData): boolean;
@@ -1,15 +1,10 @@
1
1
  import { getLayoutInfo } from "./schemaMemoryLayout.js";
2
-
3
- //#region src/data/isContiguous.ts
4
- function isContiguous(schema) {
5
- return getLayoutInfo(schema, "isContiguous");
2
+ export function isContiguous(schema) {
3
+ return getLayoutInfo(schema, 'isContiguous');
6
4
  }
7
5
  /**
8
- * Returns `true` if data represented by the `schema` doesn't have padding.
9
- */
10
- function PUBLIC_isContiguous(schema) {
11
- return isContiguous(schema);
6
+ * Returns `true` if data represented by the `schema` doesn't have padding.
7
+ */
8
+ export function PUBLIC_isContiguous(schema) {
9
+ return isContiguous(schema);
12
10
  }
13
-
14
- //#endregion
15
- export { PUBLIC_isContiguous, isContiguous };
package/data/matrix.d.ts CHANGED
@@ -1,55 +1,57 @@
1
- import { DualFn } from "../types.js";
2
- import { Mat2x2f, Mat3x3f, Mat4x4f, m2x2f, m3x3f, m4x4f, v3f } from "./wgslTypes.js";
3
- import { TgpuComptime } from "../core/function/comptime.js";
4
- import "../indexNamedExports.js";
5
-
6
- //#region src/data/matrix.d.ts
7
-
1
+ import { $internal } from '../shared/symbols.ts';
2
+ import { type m2x2f, type m3x3f, type m4x4f, type Mat2x2f, type Mat3x3f, type Mat4x4f, type NumberArrayView, type v3f } from './wgslTypes.ts';
3
+ export declare abstract class MatBase<TColumn> implements NumberArrayView {
4
+ abstract readonly [$internal]: true;
5
+ abstract readonly columns: readonly TColumn[];
6
+ abstract readonly length: number;
7
+ abstract [Symbol.iterator](): Iterator<number>;
8
+ [n: number]: number;
9
+ }
8
10
  /**
9
11
  * Returns a 2-by-2 identity matrix.
10
12
  * @returns {m2x2f} The result matrix.
11
13
  */
12
- declare const identity2: TgpuComptime<() => m2x2f>;
14
+ export declare const identity2: import("../indexNamedExports.ts").TgpuComptime<() => m2x2f>;
13
15
  /**
14
16
  * Returns a 3-by-3 identity matrix.
15
17
  * @returns {m3x3f} The result matrix.
16
18
  */
17
- declare const identity3: TgpuComptime<() => m3x3f>;
19
+ export declare const identity3: import("../indexNamedExports.ts").TgpuComptime<() => m3x3f>;
18
20
  /**
19
21
  * Returns a 4-by-4 identity matrix.
20
22
  * @returns {m4x4f} The result matrix.
21
23
  */
22
- declare const identity4: TgpuComptime<() => m4x4f>;
24
+ export declare const identity4: import("../indexNamedExports.ts").TgpuComptime<() => m4x4f>;
23
25
  /**
24
26
  * Creates a 4-by-4 matrix which translates by the given vector v.
25
27
  * @param {v3f} vector - The vector by which to translate.
26
28
  * @returns {m4x4f} The translation matrix.
27
29
  */
28
- declare const translation4: DualFn<(vector: v3f) => m4x4f>;
30
+ export declare const translation4: import("../types.ts").DualFn<(vector: v3f) => m4x4f>;
29
31
  /**
30
32
  * Creates a 4-by-4 matrix which scales in each dimension by an amount given by the corresponding entry in the given vector.
31
33
  * @param {v3f} vector - A vector of three entries specifying the factor by which to scale in each dimension.
32
34
  * @returns {m4x4f} The scaling matrix.
33
35
  */
34
- declare const scaling4: DualFn<(vector: v3f) => m4x4f>;
36
+ export declare const scaling4: import("../types.ts").DualFn<(vector: v3f) => m4x4f>;
35
37
  /**
36
38
  * Creates a 4-by-4 matrix which rotates around the x-axis by the given angle.
37
39
  * @param {number} angle - The angle by which to rotate (in radians).
38
40
  * @returns {m4x4f} The rotation matrix.
39
41
  */
40
- declare const rotationX4: DualFn<(a: number) => m4x4f>;
42
+ export declare const rotationX4: import("../types.ts").DualFn<(a: number) => m4x4f>;
41
43
  /**
42
44
  * Creates a 4-by-4 matrix which rotates around the y-axis by the given angle.
43
45
  * @param {number} angle - The angle by which to rotate (in radians).
44
46
  * @returns {m4x4f} The rotation matrix.
45
47
  */
46
- declare const rotationY4: DualFn<(a: number) => m4x4f>;
48
+ export declare const rotationY4: import("../types.ts").DualFn<(a: number) => m4x4f>;
47
49
  /**
48
50
  * Creates a 4-by-4 matrix which rotates around the z-axis by the given angle.
49
51
  * @param {number} angle - The angle by which to rotate (in radians).
50
52
  * @returns {m4x4f} The rotation matrix.
51
53
  */
52
- declare const rotationZ4: DualFn<(a: number) => m4x4f>;
54
+ export declare const rotationZ4: import("../types.ts").DualFn<(a: number) => m4x4f>;
53
55
  /**
54
56
  * Schema representing mat2x2f - a matrix with 2 rows and 2 columns, with elements of type f32.
55
57
  * Also a constructor function for this matrix type.
@@ -71,7 +73,7 @@ declare const rotationZ4: DualFn<(a: number) => m4x4f>;
71
73
  * @example
72
74
  * const buffer = root.createBuffer(d.mat2x2f, d.mat2x2f(0, 1, 2, 3)); // buffer holding a d.mat2x2f value, with an initial value of ((0, 1), (2, 3))
73
75
  */
74
- declare const mat2x2f: Mat2x2f;
76
+ export declare const mat2x2f: Mat2x2f;
75
77
  /**
76
78
  * Schema representing mat3x3f - a matrix with 3 rows and 3 columns, with elements of type f32.
77
79
  * Also a constructor function for this matrix type.
@@ -95,7 +97,7 @@ declare const mat2x2f: Mat2x2f;
95
97
  * @example
96
98
  * const buffer = root.createBuffer(d.mat3x3f, d.mat3x3f()); // buffer holding a d.mat3x3f value, with an initial value of mat3x3f filled with zeros
97
99
  */
98
- declare const mat3x3f: Mat3x3f;
100
+ export declare const mat3x3f: Mat3x3f;
99
101
  /**
100
102
  * Schema representing mat4x4f - a matrix with 4 rows and 4 columns, with elements of type f32.
101
103
  * Also a constructor function for this matrix type.
@@ -121,7 +123,5 @@ declare const mat3x3f: Mat3x3f;
121
123
  * @example
122
124
  * const buffer = root.createBuffer(d.mat4x4f, d.mat4x4f()); // buffer holding a d.mat4x4f value, with an initial value of mat4x4f filled with zeros
123
125
  */
124
- declare const mat4x4f: Mat4x4f;
125
- declare function matToArray(mat: m2x2f | m3x3f | m4x4f): number[];
126
- //#endregion
127
- export { identity2, identity3, identity4, mat2x2f, mat3x3f, mat4x4f, matToArray, rotationX4, rotationY4, rotationZ4, scaling4, translation4 };
126
+ export declare const mat4x4f: Mat4x4f;
127
+ export declare function matToArray(mat: m2x2f | m3x3f | m4x4f): number[];