typegpu 0.11.9 → 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 +36 -36
  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 -5
  42. package/core/function/fnCore.js +148 -93
  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 +17 -22
  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 +89 -90
  85. package/core/resolve/externals.d.ts +25 -8
  86. package/core/resolve/externals.js +78 -54
  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 -53
  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 -455
  101. package/core/root/rootTypes.d.ts +461 -636
  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 -215
  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 -197
  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 -126
  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 +427 -394
  239. package/package.json +5 -1
  240. package/resolutionCtx.d.ts +162 -22
  241. package/resolutionCtx.js +911 -629
  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 -101
  320. package/tgsl/accessStructProp.d.ts +5 -0
  321. package/tgsl/accessStructProp.js +13 -15
  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 +271 -216
  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 -760
  350. package/types.d.ts +287 -222
  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
package/data/texture.d.ts CHANGED
@@ -1,292 +1,295 @@
1
- import { $internal, $repr } from "../shared/symbols.js";
2
- import { WithDefaults } from "../shared/utilityTypes.js";
3
- import { BaseData, F32, TextureSampleTypes } from "./wgslTypes.js";
4
- import { StorageTextureFormats } from "../core/texture/textureFormats.js";
5
-
6
- //#region src/data/texture.d.ts
7
- type StorageTextureDimension = '1d' | '2d' | '2d-array' | '3d';
8
- type WgslTextureProps = {
9
- dimension: GPUTextureViewDimension;
10
- sampleType: TextureSampleTypes;
11
- multisampled: boolean;
1
+ import type { StorageTextureFormats } from '../core/texture/textureFormats.ts';
2
+ import { $internal, $repr } from '../shared/symbols.ts';
3
+ import type { WithDefaults } from '../shared/utilityTypes.ts';
4
+ import type { F32 } from './wgslTypes.ts';
5
+ import type { BaseData, TextureSampleTypes } from './wgslTypes.ts';
6
+ export type StorageTextureDimension = '1d' | '2d' | '2d-array' | '3d';
7
+ export type WgslTextureProps = {
8
+ dimension: GPUTextureViewDimension;
9
+ sampleType: TextureSampleTypes;
10
+ multisampled: boolean;
12
11
  };
13
- type WgslStorageTextureProps = {
14
- dimension: StorageTextureDimension;
15
- format: StorageTextureFormats;
16
- access: GPUStorageTextureAccess;
12
+ export type WgslStorageTextureProps = {
13
+ dimension: StorageTextureDimension;
14
+ format: StorageTextureFormats;
15
+ access: GPUStorageTextureAccess;
17
16
  };
18
17
  type ResolvedTextureProps<TProps extends Partial<WgslTextureProps>> = WithDefaults<TProps, WgslTextureProps>;
19
18
  type ResolvedStorageTextureProps<TProps extends Partial<WgslStorageTextureProps>> = WithDefaults<TProps, WgslStorageTextureProps>;
20
19
  type SampledTextureLiteral = `texture_${'1d' | '2d' | '2d_array' | '3d' | 'cube' | 'cube_array' | 'multisampled_2d' | 'depth_multisampled_2d' | 'depth_2d' | 'depth_2d_array' | 'depth_cube' | 'depth_cube_array'}`;
21
20
  type StorageTextureLiteral = `texture_storage_${'1d' | '2d' | '2d_array' | '3d'}`;
22
- interface WgslTexture<TProps extends Partial<WgslTextureProps> = WgslTextureProps> extends BaseData {
23
- readonly [$repr]: unknown;
24
- readonly type: SampledTextureLiteral;
25
- readonly sampleType: ResolvedTextureProps<TProps>['sampleType'];
26
- readonly dimension: ResolvedTextureProps<TProps>['dimension'];
27
- readonly multisampled: ResolvedTextureProps<TProps>['multisampled'];
28
- readonly bindingSampleType: [GPUTextureSampleType, ...GPUTextureSampleType[]];
29
- }
30
- interface WgslStorageTexture<TProps extends Partial<WgslStorageTextureProps> = WgslStorageTextureProps> extends BaseData {
31
- readonly [$repr]: unknown;
32
- readonly type: StorageTextureLiteral;
33
- readonly format: ResolvedStorageTextureProps<TProps>['format'];
34
- readonly dimension: ResolvedStorageTextureProps<TProps>['dimension'];
35
- readonly access: ResolvedStorageTextureProps<TProps>['access'];
36
- }
37
- interface WgslExternalTexture extends BaseData {
38
- readonly [$repr]: textureExternal;
39
- readonly type: 'texture_external';
40
- readonly dimension: '2d';
41
- }
42
- interface WgslTexture1d<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
43
- dimension: '1d';
44
- sampleType: TSample;
45
- multisampled: false;
21
+ export interface WgslTexture<TProps extends Partial<WgslTextureProps> = WgslTextureProps> extends BaseData {
22
+ readonly [$repr]: unknown;
23
+ readonly type: SampledTextureLiteral;
24
+ readonly sampleType: ResolvedTextureProps<TProps>['sampleType'];
25
+ readonly dimension: ResolvedTextureProps<TProps>['dimension'];
26
+ readonly multisampled: ResolvedTextureProps<TProps>['multisampled'];
27
+ readonly bindingSampleType: [GPUTextureSampleType, ...GPUTextureSampleType[]];
28
+ }
29
+ export interface WgslStorageTexture<TProps extends Partial<WgslStorageTextureProps> = WgslStorageTextureProps> extends BaseData {
30
+ readonly [$repr]: unknown;
31
+ readonly type: StorageTextureLiteral;
32
+ readonly format: ResolvedStorageTextureProps<TProps>['format'];
33
+ readonly dimension: ResolvedStorageTextureProps<TProps>['dimension'];
34
+ readonly access: ResolvedStorageTextureProps<TProps>['access'];
35
+ }
36
+ export interface WgslExternalTexture extends BaseData {
37
+ readonly [$repr]: textureExternal;
38
+ readonly type: 'texture_external';
39
+ readonly dimension: '2d';
40
+ }
41
+ export interface WgslTexture1d<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
42
+ dimension: '1d';
43
+ sampleType: TSample;
44
+ multisampled: false;
46
45
  }> {
47
- readonly type: 'texture_1d';
48
- readonly [$repr]: texture1d<TSample>;
46
+ readonly type: 'texture_1d';
47
+ readonly [$repr]: texture1d<TSample>;
49
48
  }
50
- interface WgslTexture2d<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
51
- dimension: '2d';
52
- sampleType: TSample;
53
- multisampled: false;
49
+ export interface WgslTexture2d<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
50
+ dimension: '2d';
51
+ sampleType: TSample;
52
+ multisampled: false;
54
53
  }> {
55
- readonly type: 'texture_2d';
56
- readonly [$repr]: texture2d<TSample>;
54
+ readonly type: 'texture_2d';
55
+ readonly [$repr]: texture2d<TSample>;
57
56
  }
58
- interface WgslTextureMultisampled2d<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
59
- dimension: '2d';
60
- sampleType: TSample;
61
- multisampled: true;
57
+ export interface WgslTextureMultisampled2d<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
58
+ dimension: '2d';
59
+ sampleType: TSample;
60
+ multisampled: true;
62
61
  }> {
63
- readonly type: 'texture_multisampled_2d';
64
- readonly [$repr]: textureMultisampled2d<TSample>;
62
+ readonly type: 'texture_multisampled_2d';
63
+ readonly [$repr]: textureMultisampled2d<TSample>;
65
64
  }
66
- interface WgslTexture2dArray<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
67
- dimension: '2d-array';
68
- sampleType: TSample;
69
- multisampled: false;
65
+ export interface WgslTexture2dArray<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
66
+ dimension: '2d-array';
67
+ sampleType: TSample;
68
+ multisampled: false;
70
69
  }> {
71
- readonly type: 'texture_2d_array';
72
- readonly [$repr]: texture2dArray<TSample>;
70
+ readonly type: 'texture_2d_array';
71
+ readonly [$repr]: texture2dArray<TSample>;
73
72
  }
74
- interface WgslTextureCube<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
75
- dimension: 'cube';
76
- sampleType: TSample;
77
- multisampled: false;
73
+ export interface WgslTextureCube<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
74
+ dimension: 'cube';
75
+ sampleType: TSample;
76
+ multisampled: false;
78
77
  }> {
79
- readonly type: 'texture_cube';
80
- readonly [$repr]: textureCube<TSample>;
78
+ readonly type: 'texture_cube';
79
+ readonly [$repr]: textureCube<TSample>;
81
80
  }
82
- interface WgslTextureCubeArray<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
83
- dimension: 'cube-array';
84
- sampleType: TSample;
85
- multisampled: false;
81
+ export interface WgslTextureCubeArray<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
82
+ dimension: 'cube-array';
83
+ sampleType: TSample;
84
+ multisampled: false;
86
85
  }> {
87
- readonly type: 'texture_cube_array';
88
- readonly [$repr]: textureCubeArray<TSample>;
86
+ readonly type: 'texture_cube_array';
87
+ readonly [$repr]: textureCubeArray<TSample>;
89
88
  }
90
- interface WgslTexture3d<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
91
- dimension: '3d';
92
- sampleType: TSample;
93
- multisampled: false;
89
+ export interface WgslTexture3d<TSample extends TextureSampleTypes = TextureSampleTypes> extends WgslTexture<{
90
+ dimension: '3d';
91
+ sampleType: TSample;
92
+ multisampled: false;
94
93
  }> {
95
- readonly type: 'texture_3d';
96
- readonly [$repr]: texture3d<TSample>;
94
+ readonly type: 'texture_3d';
95
+ readonly [$repr]: texture3d<TSample>;
97
96
  }
98
- interface WgslTextureDepth2d extends WgslTexture<{
99
- dimension: '2d';
100
- sampleType: F32;
101
- multisampled: false;
97
+ export interface WgslTextureDepth2d extends WgslTexture<{
98
+ dimension: '2d';
99
+ sampleType: F32;
100
+ multisampled: false;
102
101
  }> {
103
- readonly type: 'texture_depth_2d';
104
- readonly [$repr]: textureDepth2d;
102
+ readonly type: 'texture_depth_2d';
103
+ readonly [$repr]: textureDepth2d;
105
104
  }
106
- interface WgslTextureDepthMultisampled2d extends WgslTexture<{
107
- dimension: '2d';
108
- sampleType: F32;
109
- multisampled: true;
105
+ export interface WgslTextureDepthMultisampled2d extends WgslTexture<{
106
+ dimension: '2d';
107
+ sampleType: F32;
108
+ multisampled: true;
110
109
  }> {
111
- readonly type: 'texture_depth_multisampled_2d';
112
- readonly [$repr]: textureDepthMultisampled2d;
110
+ readonly type: 'texture_depth_multisampled_2d';
111
+ readonly [$repr]: textureDepthMultisampled2d;
113
112
  }
114
- interface WgslTextureDepth2dArray extends WgslTexture<{
115
- dimension: '2d-array';
116
- sampleType: F32;
117
- multisampled: false;
113
+ export interface WgslTextureDepth2dArray extends WgslTexture<{
114
+ dimension: '2d-array';
115
+ sampleType: F32;
116
+ multisampled: false;
118
117
  }> {
119
- readonly type: 'texture_depth_2d_array';
120
- readonly [$repr]: textureDepth2dArray;
118
+ readonly type: 'texture_depth_2d_array';
119
+ readonly [$repr]: textureDepth2dArray;
121
120
  }
122
- interface WgslTextureDepthCube extends WgslTexture<{
123
- dimension: 'cube';
124
- sampleType: F32;
125
- multisampled: false;
121
+ export interface WgslTextureDepthCube extends WgslTexture<{
122
+ dimension: 'cube';
123
+ sampleType: F32;
124
+ multisampled: false;
126
125
  }> {
127
- readonly type: 'texture_depth_cube';
128
- readonly [$repr]: textureDepthCube;
126
+ readonly type: 'texture_depth_cube';
127
+ readonly [$repr]: textureDepthCube;
129
128
  }
130
- interface WgslTextureDepthCubeArray extends WgslTexture<{
131
- dimension: 'cube-array';
132
- sampleType: F32;
133
- multisampled: false;
129
+ export interface WgslTextureDepthCubeArray extends WgslTexture<{
130
+ dimension: 'cube-array';
131
+ sampleType: F32;
132
+ multisampled: false;
134
133
  }> {
135
- readonly type: 'texture_depth_cube_array';
136
- readonly [$repr]: textureDepthCubeArray;
134
+ readonly type: 'texture_depth_cube_array';
135
+ readonly [$repr]: textureDepthCubeArray;
137
136
  }
138
- interface WgslStorageTexture1d<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> extends WgslStorageTexture<{
139
- dimension: '1d';
140
- format: TFormat;
141
- access: TAccess;
137
+ export interface WgslStorageTexture1d<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> extends WgslStorageTexture<{
138
+ dimension: '1d';
139
+ format: TFormat;
140
+ access: TAccess;
142
141
  }> {
143
- readonly type: 'texture_storage_1d';
144
- readonly [$repr]: textureStorage1d<TFormat, TAccess>;
142
+ readonly type: 'texture_storage_1d';
143
+ readonly [$repr]: textureStorage1d<TFormat, TAccess>;
145
144
  }
146
- interface WgslStorageTexture2d<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> extends WgslStorageTexture<{
147
- dimension: '2d';
148
- format: TFormat;
149
- access: TAccess;
145
+ export interface WgslStorageTexture2d<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> extends WgslStorageTexture<{
146
+ dimension: '2d';
147
+ format: TFormat;
148
+ access: TAccess;
150
149
  }> {
151
- readonly type: 'texture_storage_2d';
152
- readonly [$repr]: textureStorage2d<TFormat, TAccess>;
150
+ readonly type: 'texture_storage_2d';
151
+ readonly [$repr]: textureStorage2d<TFormat, TAccess>;
153
152
  }
154
- interface WgslStorageTexture2dArray<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> extends WgslStorageTexture<{
155
- dimension: '2d-array';
156
- format: TFormat;
157
- access: TAccess;
153
+ export interface WgslStorageTexture2dArray<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> extends WgslStorageTexture<{
154
+ dimension: '2d-array';
155
+ format: TFormat;
156
+ access: TAccess;
158
157
  }> {
159
- readonly type: 'texture_storage_2d_array';
160
- readonly [$repr]: textureStorage2dArray<TFormat, TAccess>;
158
+ readonly type: 'texture_storage_2d_array';
159
+ readonly [$repr]: textureStorage2dArray<TFormat, TAccess>;
161
160
  }
162
- interface WgslStorageTexture3d<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> extends WgslStorageTexture<{
163
- dimension: '3d';
164
- format: TFormat;
165
- access: TAccess;
161
+ export interface WgslStorageTexture3d<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> extends WgslStorageTexture<{
162
+ dimension: '3d';
163
+ format: TFormat;
164
+ access: TAccess;
166
165
  }> {
167
- readonly type: 'texture_storage_3d';
168
- readonly [$repr]: textureStorage3d<TFormat, TAccess>;
166
+ readonly type: 'texture_storage_3d';
167
+ readonly [$repr]: textureStorage3d<TFormat, TAccess>;
169
168
  }
170
169
  type SampledTextureSchemaMap<T extends WgslTextureProps> = {
171
- multisampled: {
172
- '1d': never;
173
- '2d': WgslTextureMultisampled2d<T['sampleType']>;
174
- '2d-array': never;
175
- '3d': never;
176
- cube: never;
177
- 'cube-array': never;
178
- };
179
- sampled: {
180
- '1d': WgslTexture1d<T['sampleType']>;
181
- '2d': WgslTexture2d<T['sampleType']>;
182
- '2d-array': WgslTexture2dArray<T['sampleType']>;
183
- '3d': WgslTexture3d<T['sampleType']>;
184
- cube: WgslTextureCube<T['sampleType']>;
185
- 'cube-array': WgslTextureCubeArray<T['sampleType']>;
186
- };
170
+ multisampled: {
171
+ '1d': never;
172
+ '2d': WgslTextureMultisampled2d<T['sampleType']>;
173
+ '2d-array': never;
174
+ '3d': never;
175
+ cube: never;
176
+ 'cube-array': never;
177
+ };
178
+ sampled: {
179
+ '1d': WgslTexture1d<T['sampleType']>;
180
+ '2d': WgslTexture2d<T['sampleType']>;
181
+ '2d-array': WgslTexture2dArray<T['sampleType']>;
182
+ '3d': WgslTexture3d<T['sampleType']>;
183
+ cube: WgslTextureCube<T['sampleType']>;
184
+ 'cube-array': WgslTextureCubeArray<T['sampleType']>;
185
+ };
187
186
  };
188
187
  type StorageTextureSchemaMap<T extends WgslStorageTextureProps> = {
189
- '1d': WgslStorageTexture1d<T['format'], T['access']>;
190
- '2d': WgslStorageTexture2d<T['format'], T['access']>;
191
- '2d-array': WgslStorageTexture2dArray<T['format'], T['access']>;
192
- '3d': WgslStorageTexture3d<T['format'], T['access']>;
188
+ '1d': WgslStorageTexture1d<T['format'], T['access']>;
189
+ '2d': WgslStorageTexture2d<T['format'], T['access']>;
190
+ '2d-array': WgslStorageTexture2dArray<T['format'], T['access']>;
191
+ '3d': WgslStorageTexture3d<T['format'], T['access']>;
193
192
  };
194
- type TextureSchemaForDescriptor<T extends WgslTextureProps | WgslStorageTextureProps> = T extends WgslTextureProps ? T['multisampled'] extends true ? SampledTextureSchemaMap<T>['multisampled'][T['dimension']] : SampledTextureSchemaMap<T>['sampled'][T['dimension']] : T extends WgslStorageTextureProps ? StorageTextureSchemaMap<T>[T['dimension']] : never;
195
- interface texture1d<T extends TextureSampleTypes = TextureSampleTypes> {
196
- readonly kind: `texture_1d<${T['type']}>`;
197
- [$internal]: T;
198
- }
199
- declare function texture1d<T extends TextureSampleTypes>(sampleType: T): WgslTexture1d<T>;
200
- declare function texture1d(): WgslTexture1d<F32>;
201
- interface texture2d<T extends TextureSampleTypes = TextureSampleTypes> {
202
- readonly kind: `texture_2d<${T['type']}>`;
203
- [$internal]: T;
204
- }
205
- declare function texture2d<T extends TextureSampleTypes>(sampleType: T): WgslTexture2d<T>;
206
- declare function texture2d(): WgslTexture2d<F32>;
207
- interface textureMultisampled2d<T extends TextureSampleTypes = TextureSampleTypes> {
208
- readonly kind: `texture_multisampled_2d<${T['type']}>`;
209
- [$internal]: T;
210
- }
211
- declare function textureMultisampled2d<T extends TextureSampleTypes>(sampleType: T): WgslTextureMultisampled2d<T>;
212
- declare function textureMultisampled2d(): WgslTextureMultisampled2d<F32>;
213
- interface texture2dArray<T extends TextureSampleTypes = TextureSampleTypes> {
214
- readonly kind: `texture_2d_array<${T['type']}>`;
215
- [$internal]: T;
216
- }
217
- declare function texture2dArray<T extends TextureSampleTypes>(sampleType: T): WgslTexture2dArray<T>;
218
- declare function texture2dArray(): WgslTexture2dArray<F32>;
219
- interface textureCube<T extends TextureSampleTypes = TextureSampleTypes> {
220
- readonly kind: `texture_cube<${T['type']}>`;
221
- [$internal]: T;
222
- }
223
- declare function textureCube<T extends TextureSampleTypes>(sampleType: T): WgslTextureCube<T>;
224
- declare function textureCube(): WgslTextureCube<F32>;
225
- interface textureCubeArray<T extends TextureSampleTypes = TextureSampleTypes> {
226
- readonly kind: `texture_cube_array<${T['type']}>`;
227
- [$internal]: T;
228
- }
229
- declare function textureCubeArray<T extends TextureSampleTypes>(sampleType: T): WgslTextureCubeArray<T>;
230
- declare function textureCubeArray(): WgslTextureCubeArray<F32>;
231
- interface texture3d<T extends TextureSampleTypes = TextureSampleTypes> {
232
- readonly kind: `texture_3d<${T['type']}>`;
233
- [$internal]: T;
234
- }
235
- declare function texture3d<T extends TextureSampleTypes>(sampleType: T): WgslTexture3d<T>;
236
- declare function texture3d(): WgslTexture3d<F32>;
237
- interface textureStorage1d<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> {
238
- readonly kind: `texture_storage_1d<${TFormat}, ${TAccess}>`;
239
- [$internal]: [TFormat, TAccess];
240
- }
241
- declare function textureStorage1d<TFormat extends StorageTextureFormats, TAccess extends GPUStorageTextureAccess>(format: TFormat, access: TAccess): WgslStorageTexture1d<TFormat, TAccess>;
242
- declare function textureStorage1d<TFormat extends StorageTextureFormats>(format: TFormat): WgslStorageTexture1d<TFormat, 'write-only'>;
243
- interface textureStorage2d<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> {
244
- readonly kind: `texture_storage_2d<${TFormat}, ${TAccess}>`;
245
- [$internal]: [TFormat, TAccess];
246
- }
247
- declare function textureStorage2d<TFormat extends StorageTextureFormats, TAccess extends GPUStorageTextureAccess>(format: TFormat, access: TAccess): WgslStorageTexture2d<TFormat, TAccess>;
248
- declare function textureStorage2d<TFormat extends StorageTextureFormats>(format: TFormat): WgslStorageTexture2d<TFormat, 'write-only'>;
249
- interface textureStorage2dArray<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> {
250
- readonly kind: `texture_storage_2d_array<${TFormat}, ${TAccess}>`;
251
- [$internal]: [TFormat, TAccess];
252
- }
253
- declare function textureStorage2dArray<TFormat extends StorageTextureFormats, TAccess extends GPUStorageTextureAccess>(format: TFormat, access: TAccess): WgslStorageTexture2dArray<TFormat, TAccess>;
254
- declare function textureStorage2dArray<TFormat extends StorageTextureFormats>(format: TFormat): WgslStorageTexture2dArray<TFormat, 'write-only'>;
255
- interface textureStorage3d<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> {
256
- readonly kind: `texture_storage_3d<${TFormat}, ${TAccess}>`;
257
- [$internal]: [TFormat, TAccess];
258
- }
259
- declare function textureStorage3d<TFormat extends StorageTextureFormats, TAccess extends GPUStorageTextureAccess>(format: TFormat, access: TAccess): WgslStorageTexture3d<TFormat, TAccess>;
260
- declare function textureStorage3d<TFormat extends StorageTextureFormats>(format: TFormat): WgslStorageTexture3d<TFormat, 'write-only'>;
261
- interface textureDepth2d {
262
- readonly kind: 'texture_depth_2d';
263
- [$internal]: F32;
264
- }
265
- declare function textureDepth2d(): WgslTextureDepth2d;
266
- interface textureDepthMultisampled2d {
267
- readonly kind: 'texture_depth_multisampled_2d';
268
- [$internal]: F32;
269
- }
270
- declare function textureDepthMultisampled2d(): WgslTextureDepthMultisampled2d;
271
- interface textureDepth2dArray {
272
- readonly kind: 'texture_depth_2d_array';
273
- [$internal]: F32;
274
- }
275
- declare function textureDepth2dArray(): WgslTextureDepth2dArray;
276
- interface textureDepthCube {
277
- readonly kind: 'texture_depth_cube';
278
- [$internal]: F32;
279
- }
280
- declare function textureDepthCube(): WgslTextureDepthCube;
281
- interface textureDepthCubeArray {
282
- readonly kind: 'texture_depth_cube_array';
283
- [$internal]: F32;
284
- }
285
- declare function textureDepthCubeArray(): WgslTextureDepthCubeArray;
286
- interface textureExternal {
287
- readonly kind: 'texture_external';
288
- [$internal]: true;
289
- }
290
- declare function textureExternal(): WgslExternalTexture;
291
- //#endregion
292
- export { StorageTextureDimension, TextureSchemaForDescriptor, 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 };
193
+ export type TextureSchemaForDescriptor<T extends WgslTextureProps | WgslStorageTextureProps> = T extends WgslTextureProps ? T['multisampled'] extends true ? SampledTextureSchemaMap<T>['multisampled'][T['dimension']] : SampledTextureSchemaMap<T>['sampled'][T['dimension']] : T extends WgslStorageTextureProps ? StorageTextureSchemaMap<T>[T['dimension']] : never;
194
+ export declare function textureDescriptorToSchema<T extends WgslTextureProps | WgslStorageTextureProps>(desc: T): TextureSchemaForDescriptor<T>;
195
+ export declare const accessModeMap: Record<GPUStorageTextureAccess, string>;
196
+ export interface texture1d<T extends TextureSampleTypes = TextureSampleTypes> {
197
+ readonly kind: `texture_1d<${T['type']}>`;
198
+ [$internal]: T;
199
+ }
200
+ export declare function texture1d<T extends TextureSampleTypes>(sampleType: T): WgslTexture1d<T>;
201
+ export declare function texture1d(): WgslTexture1d<F32>;
202
+ export interface texture2d<T extends TextureSampleTypes = TextureSampleTypes> {
203
+ readonly kind: `texture_2d<${T['type']}>`;
204
+ [$internal]: T;
205
+ }
206
+ export declare function texture2d<T extends TextureSampleTypes>(sampleType: T): WgslTexture2d<T>;
207
+ export declare function texture2d(): WgslTexture2d<F32>;
208
+ export interface textureMultisampled2d<T extends TextureSampleTypes = TextureSampleTypes> {
209
+ readonly kind: `texture_multisampled_2d<${T['type']}>`;
210
+ [$internal]: T;
211
+ }
212
+ export declare function textureMultisampled2d<T extends TextureSampleTypes>(sampleType: T): WgslTextureMultisampled2d<T>;
213
+ export declare function textureMultisampled2d(): WgslTextureMultisampled2d<F32>;
214
+ export interface texture2dArray<T extends TextureSampleTypes = TextureSampleTypes> {
215
+ readonly kind: `texture_2d_array<${T['type']}>`;
216
+ [$internal]: T;
217
+ }
218
+ export declare function texture2dArray<T extends TextureSampleTypes>(sampleType: T): WgslTexture2dArray<T>;
219
+ export declare function texture2dArray(): WgslTexture2dArray<F32>;
220
+ export interface textureCube<T extends TextureSampleTypes = TextureSampleTypes> {
221
+ readonly kind: `texture_cube<${T['type']}>`;
222
+ [$internal]: T;
223
+ }
224
+ export declare function textureCube<T extends TextureSampleTypes>(sampleType: T): WgslTextureCube<T>;
225
+ export declare function textureCube(): WgslTextureCube<F32>;
226
+ export interface textureCubeArray<T extends TextureSampleTypes = TextureSampleTypes> {
227
+ readonly kind: `texture_cube_array<${T['type']}>`;
228
+ [$internal]: T;
229
+ }
230
+ export declare function textureCubeArray<T extends TextureSampleTypes>(sampleType: T): WgslTextureCubeArray<T>;
231
+ export declare function textureCubeArray(): WgslTextureCubeArray<F32>;
232
+ export interface texture3d<T extends TextureSampleTypes = TextureSampleTypes> {
233
+ readonly kind: `texture_3d<${T['type']}>`;
234
+ [$internal]: T;
235
+ }
236
+ export declare function texture3d<T extends TextureSampleTypes>(sampleType: T): WgslTexture3d<T>;
237
+ export declare function texture3d(): WgslTexture3d<F32>;
238
+ export interface textureStorage1d<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> {
239
+ readonly kind: `texture_storage_1d<${TFormat}, ${TAccess}>`;
240
+ [$internal]: [TFormat, TAccess];
241
+ }
242
+ export declare function textureStorage1d<TFormat extends StorageTextureFormats, TAccess extends GPUStorageTextureAccess>(format: TFormat, access: TAccess): WgslStorageTexture1d<TFormat, TAccess>;
243
+ export declare function textureStorage1d<TFormat extends StorageTextureFormats>(format: TFormat): WgslStorageTexture1d<TFormat, 'write-only'>;
244
+ export interface textureStorage2d<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> {
245
+ readonly kind: `texture_storage_2d<${TFormat}, ${TAccess}>`;
246
+ [$internal]: [TFormat, TAccess];
247
+ }
248
+ export declare function textureStorage2d<TFormat extends StorageTextureFormats, TAccess extends GPUStorageTextureAccess>(format: TFormat, access: TAccess): WgslStorageTexture2d<TFormat, TAccess>;
249
+ export declare function textureStorage2d<TFormat extends StorageTextureFormats>(format: TFormat): WgslStorageTexture2d<TFormat, 'write-only'>;
250
+ export interface textureStorage2dArray<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> {
251
+ readonly kind: `texture_storage_2d_array<${TFormat}, ${TAccess}>`;
252
+ [$internal]: [TFormat, TAccess];
253
+ }
254
+ export declare function textureStorage2dArray<TFormat extends StorageTextureFormats, TAccess extends GPUStorageTextureAccess>(format: TFormat, access: TAccess): WgslStorageTexture2dArray<TFormat, TAccess>;
255
+ export declare function textureStorage2dArray<TFormat extends StorageTextureFormats>(format: TFormat): WgslStorageTexture2dArray<TFormat, 'write-only'>;
256
+ export interface textureStorage3d<TFormat extends StorageTextureFormats = StorageTextureFormats, TAccess extends GPUStorageTextureAccess = GPUStorageTextureAccess> {
257
+ readonly kind: `texture_storage_3d<${TFormat}, ${TAccess}>`;
258
+ [$internal]: [TFormat, TAccess];
259
+ }
260
+ export declare function textureStorage3d<TFormat extends StorageTextureFormats, TAccess extends GPUStorageTextureAccess>(format: TFormat, access: TAccess): WgslStorageTexture3d<TFormat, TAccess>;
261
+ export declare function textureStorage3d<TFormat extends StorageTextureFormats>(format: TFormat): WgslStorageTexture3d<TFormat, 'write-only'>;
262
+ export interface textureDepth2d {
263
+ readonly kind: 'texture_depth_2d';
264
+ [$internal]: F32;
265
+ }
266
+ export declare function textureDepth2d(): WgslTextureDepth2d;
267
+ export interface textureDepthMultisampled2d {
268
+ readonly kind: 'texture_depth_multisampled_2d';
269
+ [$internal]: F32;
270
+ }
271
+ export declare function textureDepthMultisampled2d(): WgslTextureDepthMultisampled2d;
272
+ export interface textureDepth2dArray {
273
+ readonly kind: 'texture_depth_2d_array';
274
+ [$internal]: F32;
275
+ }
276
+ export declare function textureDepth2dArray(): WgslTextureDepth2dArray;
277
+ export interface textureDepthCube {
278
+ readonly kind: 'texture_depth_cube';
279
+ [$internal]: F32;
280
+ }
281
+ export declare function textureDepthCube(): WgslTextureDepthCube;
282
+ export interface textureDepthCubeArray {
283
+ readonly kind: 'texture_depth_cube_array';
284
+ [$internal]: F32;
285
+ }
286
+ export declare function textureDepthCubeArray(): WgslTextureDepthCubeArray;
287
+ export interface textureExternal {
288
+ readonly kind: 'texture_external';
289
+ [$internal]: true;
290
+ }
291
+ export declare function textureExternal(): WgslExternalTexture;
292
+ export declare function isWgslTexture(value: unknown): value is WgslTexture;
293
+ export declare function isWgslStorageTexture(value: unknown): value is WgslStorageTexture;
294
+ export declare function isWgslExternalTexture(value: unknown): value is WgslExternalTexture;
295
+ export {};