typegpu 0.11.9 → 0.12.1

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 (366) hide show
  1. package/bin.mjs +28 -6
  2. package/builtin.d.ts +51 -53
  3. package/builtin.js +30 -34
  4. package/common/fullScreenTriangle.d.ts +2 -10
  5. package/common/fullScreenTriangle.js +20 -28
  6. package/common/index.d.ts +2 -9
  7. package/common/index.js +3 -12
  8. package/common/writeSoA.d.ts +11 -12
  9. package/common/writeSoA.js +88 -76
  10. package/core/buffer/buffer.d.ts +79 -62
  11. package/core/buffer/buffer.js +283 -205
  12. package/core/buffer/bufferBinding.d.ts +71 -0
  13. package/core/buffer/bufferBinding.js +154 -0
  14. package/core/buffer/bufferUsage.d.ts +14 -45
  15. package/core/buffer/bufferUsage.js +1 -171
  16. package/core/buffer/laidOutBuffer.d.ts +25 -0
  17. package/core/buffer/laidOutBuffer.js +55 -0
  18. package/core/commandEncoder/attachments.d.ts +125 -0
  19. package/core/commandEncoder/attachments.js +29 -0
  20. package/core/commandEncoder/commandEncoder.d.ts +53 -0
  21. package/core/commandEncoder/commandEncoder.js +56 -0
  22. package/core/commandEncoder/computePass.d.ts +58 -0
  23. package/core/commandEncoder/computePass.js +63 -0
  24. package/core/commandEncoder/renderPass.d.ts +121 -0
  25. package/core/commandEncoder/renderPass.js +196 -0
  26. package/core/constant/tgpuConstant.d.ts +26 -26
  27. package/core/constant/tgpuConstant.js +76 -65
  28. package/core/declare/tgpuDeclare.d.ts +3 -6
  29. package/core/declare/tgpuDeclare.js +36 -36
  30. package/core/function/autoIO.d.ts +61 -33
  31. package/core/function/autoIO.js +68 -73
  32. package/core/function/comptime.d.ts +11 -13
  33. package/core/function/comptime.js +60 -52
  34. package/core/function/createCallableSchema.d.ts +16 -0
  35. package/core/function/createCallableSchema.js +50 -40
  36. package/core/function/dualImpl.d.ts +44 -0
  37. package/core/function/dualImpl.js +71 -50
  38. package/core/function/entryInputRouter.d.ts +26 -0
  39. package/core/function/entryInputRouter.js +31 -33
  40. package/core/function/extractArgs.d.ts +38 -0
  41. package/core/function/extractArgs.js +202 -200
  42. package/core/function/fnCore.d.ts +44 -5
  43. package/core/function/fnCore.js +148 -93
  44. package/core/function/fnTypes.d.ts +31 -29
  45. package/core/function/fnTypes.js +1 -0
  46. package/core/function/ioSchema.d.ts +12 -10
  47. package/core/function/ioSchema.js +65 -47
  48. package/core/function/shelllessImpl.d.ts +9 -12
  49. package/core/function/shelllessImpl.js +17 -22
  50. package/core/function/templateUtils.d.ts +2 -0
  51. package/core/function/templateUtils.js +9 -8
  52. package/core/function/tgpuComputeFn.d.ts +26 -28
  53. package/core/function/tgpuComputeFn.js +47 -48
  54. package/core/function/tgpuFn.d.ts +34 -37
  55. package/core/function/tgpuFn.js +179 -153
  56. package/core/function/tgpuFragmentFn.d.ts +52 -53
  57. package/core/function/tgpuFragmentFn.js +63 -56
  58. package/core/function/tgpuVertexFn.d.ts +36 -39
  59. package/core/function/tgpuVertexFn.js +56 -53
  60. package/core/pipeline/computePipeline.d.ts +141 -53
  61. package/core/pipeline/computePipeline.js +291 -225
  62. package/core/pipeline/connectAttachmentToShader.d.ts +4 -0
  63. package/core/pipeline/connectAttachmentToShader.js +25 -22
  64. package/core/pipeline/connectTargetsToShader.d.ts +3 -0
  65. package/core/pipeline/connectTargetsToShader.js +29 -27
  66. package/core/pipeline/drawState.d.ts +52 -0
  67. package/core/pipeline/drawState.js +225 -0
  68. package/core/pipeline/performanceTracker.d.ts +14 -0
  69. package/core/pipeline/performanceTracker.js +34 -0
  70. package/core/pipeline/pipelineUtils.d.ts +18 -0
  71. package/core/pipeline/pipelineUtils.js +54 -25
  72. package/core/pipeline/priors.d.ts +1 -0
  73. package/core/pipeline/priors.js +12 -0
  74. package/core/pipeline/renderPipeline.d.ts +246 -261
  75. package/core/pipeline/renderPipeline.js +487 -480
  76. package/core/pipeline/timeable.d.ts +28 -18
  77. package/core/pipeline/timeable.js +90 -52
  78. package/core/pipeline/typeGuards.d.ts +17 -0
  79. package/core/pipeline/typeGuards.js +52 -22
  80. package/core/pipeline/webgpuLimitations.d.ts +10 -0
  81. package/core/pipeline/webgpuLimitations.js +81 -0
  82. package/core/querySet/querySet.d.ts +26 -21
  83. package/core/querySet/querySet.js +127 -103
  84. package/core/rawCodeSnippet/tgpuRawCodeSnippet.d.ts +13 -18
  85. package/core/rawCodeSnippet/tgpuRawCodeSnippet.js +89 -90
  86. package/core/resolve/externals.d.ts +25 -8
  87. package/core/resolve/externals.js +78 -54
  88. package/core/resolve/namespace.d.ts +22 -25
  89. package/core/resolve/namespace.js +16 -21
  90. package/core/resolve/resolvableString.d.ts +7 -0
  91. package/core/resolve/resolvableString.js +13 -0
  92. package/core/resolve/resolveData.d.ts +10 -0
  93. package/core/resolve/resolveData.js +162 -121
  94. package/core/resolve/stitch.d.ts +8 -0
  95. package/core/resolve/stitch.js +23 -21
  96. package/core/resolve/tgpuResolve.d.ts +55 -53
  97. package/core/resolve/tgpuResolve.js +106 -53
  98. package/core/root/configurableImpl.d.ts +10 -0
  99. package/core/root/configurableImpl.js +17 -19
  100. package/core/root/init.d.ts +76 -38
  101. package/core/root/init.js +346 -455
  102. package/core/root/rootTypes.d.ts +461 -636
  103. package/core/root/rootTypes.js +1 -0
  104. package/core/sampler/sampler.d.ts +50 -31
  105. package/core/sampler/sampler.js +120 -113
  106. package/core/simulate/tgpuSimulate.d.ts +9 -12
  107. package/core/simulate/tgpuSimulate.js +68 -71
  108. package/core/slot/accessor.d.ts +36 -13
  109. package/core/slot/accessor.js +138 -91
  110. package/core/slot/internalSlots.d.ts +2 -0
  111. package/core/slot/internalSlots.js +1 -6
  112. package/core/slot/lazy.d.ts +2 -6
  113. package/core/slot/lazy.js +71 -39
  114. package/core/slot/slot.d.ts +2 -6
  115. package/core/slot/slot.js +45 -38
  116. package/core/slot/slotTypes.d.ts +78 -80
  117. package/core/slot/slotTypes.js +11 -16
  118. package/core/texture/externalTexture.d.ts +20 -11
  119. package/core/texture/externalTexture.js +46 -46
  120. package/core/texture/texture.d.ts +152 -97
  121. package/core/texture/texture.js +407 -314
  122. package/core/texture/textureFormats.d.ts +42 -23
  123. package/core/texture/textureFormats.js +104 -75
  124. package/core/texture/textureProps.d.ts +7 -10
  125. package/core/texture/textureProps.js +1 -0
  126. package/core/texture/textureUtils.d.ts +8 -0
  127. package/core/texture/textureUtils.js +185 -179
  128. package/core/texture/usageExtension.d.ts +21 -18
  129. package/core/texture/usageExtension.js +13 -17
  130. package/core/unroll/tgpuUnroll.d.ts +20 -19
  131. package/core/unroll/tgpuUnroll.js +82 -91
  132. package/core/valueProxyUtils.d.ts +3 -0
  133. package/core/valueProxyUtils.js +52 -41
  134. package/core/variable/tgpuVariable.d.ts +26 -27
  135. package/core/variable/tgpuVariable.js +93 -96
  136. package/core/vertexLayout/connectAttributesToShader.d.ts +9 -0
  137. package/core/vertexLayout/connectAttributesToShader.js +61 -56
  138. package/core/vertexLayout/vertexAttribute.d.ts +21 -17
  139. package/core/vertexLayout/vertexAttribute.js +1 -0
  140. package/core/vertexLayout/vertexLayout.d.ts +24 -18
  141. package/core/vertexLayout/vertexLayout.js +130 -99
  142. package/core/whitespaces.d.ts +2 -0
  143. package/core/whitespaces.js +16 -0
  144. package/data/alignIO.d.ts +7 -0
  145. package/data/alignIO.js +13 -13
  146. package/data/alignmentOf.d.ts +5 -8
  147. package/data/alignmentOf.js +90 -75
  148. package/data/array.d.ts +17 -9
  149. package/data/array.js +57 -40
  150. package/data/atomic.d.ts +2 -7
  151. package/data/atomic.js +26 -23
  152. package/data/attributes.d.ts +19 -21
  153. package/data/attributes.js +192 -132
  154. package/data/autoStruct.d.ts +36 -3
  155. package/data/autoStruct.js +84 -81
  156. package/data/compiledIO.d.ts +5 -0
  157. package/data/compiledIO.js +231 -215
  158. package/data/dataIO.d.ts +13 -11
  159. package/data/dataIO.js +643 -589
  160. package/data/dataTypes.d.ts +83 -65
  161. package/data/dataTypes.js +66 -68
  162. package/data/deepEqual.d.ts +2 -7
  163. package/data/deepEqual.js +80 -55
  164. package/data/disarray.d.ts +6 -10
  165. package/data/disarray.js +52 -46
  166. package/data/float16Conversion.d.ts +4 -0
  167. package/data/float16Conversion.js +7 -0
  168. package/data/generalizeFn.d.ts +25 -0
  169. package/data/generalizeFn.js +89 -0
  170. package/data/getLongestContiguousPrefix.d.ts +4 -8
  171. package/data/getLongestContiguousPrefix.js +6 -11
  172. package/data/index.d.ts +30 -31
  173. package/data/index.js +39 -172
  174. package/data/instanceToSchema.d.ts +24 -27
  175. package/data/instanceToSchema.js +1 -0
  176. package/data/isContiguous.d.ts +4 -8
  177. package/data/isContiguous.js +6 -11
  178. package/data/matrix.d.ts +21 -21
  179. package/data/matrix.js +513 -505
  180. package/data/numberOps.d.ts +5 -0
  181. package/data/numberOps.js +21 -21
  182. package/data/numeric.d.ts +21 -12
  183. package/data/numeric.js +287 -197
  184. package/data/offsetUtils.d.ts +9 -13
  185. package/data/offsetUtils.js +204 -144
  186. package/data/offsets.d.ts +8 -0
  187. package/data/offsets.js +33 -33
  188. package/data/partialIO.d.ts +13 -8
  189. package/data/partialIO.js +124 -113
  190. package/data/ptr.d.ts +12 -12
  191. package/data/ptr.js +42 -44
  192. package/data/ref.d.ts +40 -27
  193. package/data/ref.js +125 -95
  194. package/data/sampler.d.ts +99 -101
  195. package/data/sampler.js +17 -21
  196. package/data/schemaCallWrapper.d.ts +19 -0
  197. package/data/schemaCallWrapper.js +31 -26
  198. package/data/schemaMemoryLayout.d.ts +8 -0
  199. package/data/schemaMemoryLayout.js +213 -185
  200. package/data/sizeOf.d.ts +4 -8
  201. package/data/sizeOf.js +6 -11
  202. package/data/snippet.d.ts +96 -20
  203. package/data/snippet.js +75 -86
  204. package/data/struct.d.ts +4 -7
  205. package/data/struct.js +51 -39
  206. package/data/texture.d.ts +253 -250
  207. package/data/texture.js +238 -200
  208. package/data/unstruct.d.ts +2 -7
  209. package/data/unstruct.js +43 -37
  210. package/data/vector.d.ts +33 -21
  211. package/data/vector.js +234 -221
  212. package/data/vectorImpl.d.ts +231 -0
  213. package/data/vectorImpl.js +563 -515
  214. package/data/vectorOps.d.ts +25 -0
  215. package/data/vectorOps.js +118 -669
  216. package/data/vertexFormatData.d.ts +181 -184
  217. package/data/vertexFormatData.js +104 -106
  218. package/data/wgslTypes.d.ts +665 -600
  219. package/data/wgslTypes.js +220 -198
  220. package/errors.d.ts +50 -24
  221. package/errors.js +146 -126
  222. package/execMode.d.ts +16 -0
  223. package/execMode.js +47 -40
  224. package/extension.d.ts +13 -8
  225. package/extension.js +10 -16
  226. package/getGPUValue.d.ts +1 -0
  227. package/getGPUValue.js +2 -7
  228. package/index.d.ts +28 -68
  229. package/index.js +8 -28
  230. package/indexNamedExports.d.ts +69 -42
  231. package/indexNamedExports.js +25 -0
  232. package/internal.d.ts +16 -0
  233. package/internal.js +12 -0
  234. package/mathUtils.d.ts +5 -0
  235. package/mathUtils.js +7 -11
  236. package/memo.d.ts +11 -0
  237. package/memo.js +20 -22
  238. package/minify.d.ts +5 -0
  239. package/minify.js +93 -0
  240. package/nameUtils.d.ts +29 -0
  241. package/nameUtils.js +427 -394
  242. package/package.json +5 -1
  243. package/resolutionCtx.d.ts +162 -22
  244. package/resolutionCtx.js +911 -629
  245. package/serial/registry.d.ts +15 -0
  246. package/serial/registry.js +106 -0
  247. package/serial/restore.d.ts +49 -0
  248. package/serial/restore.js +68 -0
  249. package/serial/schema.d.ts +58 -0
  250. package/serial/schema.js +209 -0
  251. package/serial/types.d.ts +5 -0
  252. package/serial/types.js +1 -0
  253. package/shared/env.d.ts +9 -0
  254. package/shared/env.js +9 -12
  255. package/shared/generators.d.ts +4 -0
  256. package/shared/generators.js +10 -12
  257. package/shared/meta.d.ts +29 -14
  258. package/shared/meta.js +71 -55
  259. package/shared/normalizeMetadata.d.ts +32 -27
  260. package/shared/normalizeMetadata.js +23 -36
  261. package/shared/repr.d.ts +73 -55
  262. package/shared/repr.js +1 -0
  263. package/shared/soul.d.ts +17 -0
  264. package/shared/soul.js +1 -0
  265. package/shared/stringify.d.ts +2 -0
  266. package/shared/stringify.js +29 -20
  267. package/shared/symbols.d.ts +26 -20
  268. package/shared/symbols.js +79 -79
  269. package/shared/tseynit.d.ts +2 -0
  270. package/shared/tseynit.js +160 -75
  271. package/shared/utilityTypes.d.ts +30 -14
  272. package/shared/utilityTypes.js +2 -6
  273. package/shared/vertexFormat.d.ts +41 -43
  274. package/shared/vertexFormat.js +59 -62
  275. package/std/array.d.ts +2 -7
  276. package/std/array.js +18 -23
  277. package/std/atomic.d.ts +14 -18
  278. package/std/atomic.js +96 -95
  279. package/std/bitcast.d.ts +193 -10
  280. package/std/bitcast.js +309 -39
  281. package/std/boolean.d.ts +19 -33
  282. package/std/boolean.js +296 -292
  283. package/std/copy.d.ts +2 -7
  284. package/std/copy.js +27 -24
  285. package/std/derivative.d.ts +11 -15
  286. package/std/derivative.js +56 -79
  287. package/std/discard.d.ts +1 -6
  288. package/std/discard.js +7 -14
  289. package/std/environment.d.ts +19 -14
  290. package/std/environment.js +71 -51
  291. package/std/extensions.d.ts +2 -8
  292. package/std/extensions.js +10 -11
  293. package/std/index.d.ts +20 -24
  294. package/std/index.js +32 -187
  295. package/std/matrix.d.ts +6 -12
  296. package/std/matrix.js +60 -69
  297. package/std/numeric.d.ts +150 -146
  298. package/std/numeric.js +771 -727
  299. package/std/operators.d.ts +19 -27
  300. package/std/operators.js +195 -194
  301. package/std/packing.d.ts +5 -11
  302. package/std/packing.js +67 -75
  303. package/std/range.d.ts +6 -11
  304. package/std/range.js +48 -36
  305. package/std/subgroup.d.ts +33 -37
  306. package/std/subgroup.js +180 -217
  307. package/std/texture.d.ts +70 -38
  308. package/std/texture.js +176 -172
  309. package/taskQueue.d.ts +6 -0
  310. package/taskQueue.js +30 -0
  311. package/tgpu.d.ts +16 -0
  312. package/tgpu.js +17 -44
  313. package/tgpuBindGroupLayout.d.ts +132 -152
  314. package/tgpuBindGroupLayout.js +346 -268
  315. package/tgpuLogger.d.ts +34 -0
  316. package/tgpuLogger.js +64 -0
  317. package/tgpuUnstable.d.ts +16 -22
  318. package/tgpuUnstable.js +13 -35
  319. package/tgsl/accessIndex.d.ts +2 -0
  320. package/tgsl/accessIndex.js +76 -33
  321. package/tgsl/accessProp.d.ts +2 -0
  322. package/tgsl/accessProp.js +142 -101
  323. package/tgsl/accessStructProp.d.ts +5 -0
  324. package/tgsl/accessStructProp.js +13 -15
  325. package/tgsl/consoleLog/deserializers.d.ts +13 -0
  326. package/tgsl/consoleLog/deserializers.js +119 -103
  327. package/tgsl/consoleLog/logGenerator.d.ts +21 -0
  328. package/tgsl/consoleLog/logGenerator.js +85 -80
  329. package/tgsl/consoleLog/serializers.d.ts +21 -0
  330. package/tgsl/consoleLog/serializers.js +119 -100
  331. package/tgsl/consoleLog/types.d.ts +40 -39
  332. package/tgsl/consoleLog/types.js +1 -0
  333. package/tgsl/conversion.d.ts +33 -0
  334. package/tgsl/conversion.js +271 -216
  335. package/tgsl/forOfUtils.d.ts +15 -0
  336. package/tgsl/forOfUtils.js +85 -70
  337. package/tgsl/generationHelpers.d.ts +22 -39
  338. package/tgsl/generationHelpers.js +85 -58
  339. package/tgsl/infixDispatch.d.ts +70 -0
  340. package/tgsl/infixDispatch.js +48 -46
  341. package/tgsl/jsPolyfills.d.ts +16 -19
  342. package/tgsl/jsPolyfills.js +44 -42
  343. package/tgsl/makeDereferenceable.d.ts +48 -0
  344. package/tgsl/makeDereferenceable.js +86 -0
  345. package/tgsl/makeResolvable.d.ts +22 -0
  346. package/tgsl/makeResolvable.js +33 -0
  347. package/tgsl/shaderGenerator.d.ts +77 -17
  348. package/tgsl/shaderGenerator.js +1 -0
  349. package/tgsl/shellless.d.ts +6 -9
  350. package/tgsl/shellless.js +73 -43
  351. package/tgsl/wgslGenerator.d.ts +66 -59
  352. package/tgsl/wgslGenerator.js +1345 -760
  353. package/types.d.ts +287 -222
  354. package/types.js +61 -44
  355. package/unwrapper.d.ts +31 -26
  356. package/unwrapper.js +1 -0
  357. package/wgslExtensions.d.ts +3 -5
  358. package/wgslExtensions.js +12 -16
  359. package/_virtual/rolldown_runtime.js +0 -13
  360. package/core/buffer/bufferShorthand.d.ts +0 -50
  361. package/core/buffer/bufferShorthand.js +0 -55
  362. package/core/pipeline/applyPipelineState.js +0 -37
  363. package/core/pipeline/limitsOverflow.js +0 -13
  364. package/package.js +0 -5
  365. package/tgsl/shaderGenerator_members.d.ts +0 -33
  366. package/tgsl/shaderGenerator_members.js +0 -12
package/std/numeric.d.ts CHANGED
@@ -1,254 +1,258 @@
1
- import { DualFn } from "../types.js";
2
- import { AbstractFloat, AbstractInt, AnyFloat32VecInstance, AnyFloatVecInstance, AnyIntegerVecInstance, AnyMatInstance, AnyNumericVecInstance, AnySignedVecInstance, F16, F32, I32, Vec2f, Vec2h, Vec2i, Vec3f, Vec3h, Vec3i, Vec4f, Vec4h, Vec4i, WgslStruct, v2f, v2h, v2i, v3f, v3h, v3i, v4f, v4h, v4i } from "../data/wgslTypes.js";
3
- import { Infer } from "../shared/repr.js";
4
-
5
- //#region src/std/numeric.d.ts
1
+ import { type AnyFloat32VecInstance, type AnyFloatVecInstance, type AnyIntegerVecInstance, type AnyMatInstance, type AnyNumericVecInstance, type AnySignedVecInstance, type v2f, type v2h, type v2i, type v3f, type v3h, type v3i, type v4f, type v4h, type v4i, type Vec2f } from '../data/wgslTypes.ts';
2
+ import type { Infer } from '../shared/repr.ts';
6
3
  type NumVec = AnyNumericVecInstance;
7
4
  declare function cpuAbs(value: number): number;
8
5
  declare function cpuAbs<T extends NumVec | number>(value: T): T;
9
- declare const abs: DualFn<typeof cpuAbs>;
6
+ export declare const abs: import("../types.ts").DualFn<typeof cpuAbs>;
10
7
  declare function cpuAcos(value: number): number;
11
8
  declare function cpuAcos<T extends AnyFloatVecInstance>(value: T): T;
12
- declare const acos: DualFn<typeof cpuAcos>;
9
+ export declare const acos: import("../types.ts").DualFn<typeof cpuAcos>;
13
10
  declare function cpuAcosh(value: number): number;
14
11
  declare function cpuAcosh<T extends AnyFloatVecInstance>(value: T): T;
15
- declare const acosh: DualFn<typeof cpuAcosh>;
12
+ export declare const acosh: import("../types.ts").DualFn<typeof cpuAcosh>;
16
13
  declare function cpuAsin(value: number): number;
17
14
  declare function cpuAsin<T extends AnyFloatVecInstance>(value: T): T;
18
- declare const asin: DualFn<typeof cpuAsin>;
15
+ export declare const asin: import("../types.ts").DualFn<typeof cpuAsin>;
19
16
  declare function cpuAsinh(value: number): number;
20
17
  declare function cpuAsinh<T extends AnyFloatVecInstance>(value: T): T;
21
- declare const asinh: DualFn<typeof cpuAsinh>;
18
+ export declare const asinh: import("../types.ts").DualFn<typeof cpuAsinh>;
22
19
  declare function cpuAtan(value: number): number;
23
20
  declare function cpuAtan<T extends AnyFloatVecInstance>(value: T): T;
24
- declare const atan: DualFn<typeof cpuAtan>;
21
+ export declare const atan: import("../types.ts").DualFn<typeof cpuAtan>;
25
22
  declare function cpuAtanh(value: number): number;
26
23
  declare function cpuAtanh<T extends AnyFloatVecInstance>(value: T): T;
27
- declare const atanh: DualFn<typeof cpuAtanh>;
24
+ export declare const atanh: import("../types.ts").DualFn<typeof cpuAtanh>;
28
25
  declare function cpuAtan2(y: number, x: number): number;
29
26
  declare function cpuAtan2<T extends AnyFloatVecInstance>(y: T, x: T): T;
30
- declare const atan2: DualFn<typeof cpuAtan2>;
27
+ export declare const atan2: import("../types.ts").DualFn<typeof cpuAtan2>;
31
28
  declare function cpuCeil(value: number): number;
32
29
  declare function cpuCeil<T extends AnyFloatVecInstance>(value: T): T;
33
- declare const ceil: DualFn<typeof cpuCeil>;
30
+ export declare const ceil: import("../types.ts").DualFn<typeof cpuCeil>;
34
31
  declare function cpuClamp(value: number, low: number, high: number): number;
35
32
  declare function cpuClamp<T extends NumVec | number>(value: T, low: T, high: T): T;
36
- declare const clamp: DualFn<typeof cpuClamp>;
33
+ export declare const clamp: import("../types.ts").DualFn<typeof cpuClamp>;
37
34
  declare function cpuCos(value: number): number;
38
35
  declare function cpuCos<T extends AnyFloatVecInstance>(value: T): T;
39
- declare const cos: DualFn<typeof cpuCos>;
36
+ export declare const cos: import("../types.ts").DualFn<typeof cpuCos>;
40
37
  declare function cpuCosh(value: number): number;
41
38
  declare function cpuCosh<T extends AnyFloatVecInstance>(value: T): T;
42
- declare const cosh: DualFn<typeof cpuCosh>;
39
+ export declare const cosh: import("../types.ts").DualFn<typeof cpuCosh>;
43
40
  declare function cpuCountLeadingZeros(value: number): number;
44
41
  declare function cpuCountLeadingZeros<T extends AnyIntegerVecInstance>(value: T): T;
45
- declare const countLeadingZeros: DualFn<typeof cpuCountLeadingZeros>;
42
+ export declare const countLeadingZeros: import("../types.ts").DualFn<typeof cpuCountLeadingZeros>;
46
43
  declare function cpuCountOneBits(value: number): number;
47
44
  declare function cpuCountOneBits<T extends AnyIntegerVecInstance>(value: T): T;
48
- declare const countOneBits: DualFn<typeof cpuCountOneBits>;
45
+ export declare const countOneBits: import("../types.ts").DualFn<typeof cpuCountOneBits>;
49
46
  declare function cpuCountTrailingZeros(value: number): number;
50
47
  declare function cpuCountTrailingZeros<T extends AnyIntegerVecInstance>(value: T): T;
51
- declare const countTrailingZeros: DualFn<typeof cpuCountTrailingZeros>;
52
- declare const cross: DualFn<(<T extends v3f | v3h>(a: T, b: T) => T)>;
48
+ export declare const countTrailingZeros: import("../types.ts").DualFn<typeof cpuCountTrailingZeros>;
49
+ export declare const cross: import("../types.ts").DualFn<(<T extends v3f | v3h>(a: T, b: T) => T)>;
53
50
  declare function cpuDegrees(value: number): number;
54
51
  declare function cpuDegrees<T extends AnyFloatVecInstance>(value: T): T;
55
- declare const degrees: DualFn<typeof cpuDegrees>;
56
- declare const determinant: DualFn<(value: AnyMatInstance) => number>;
52
+ export declare const degrees: import("../types.ts").DualFn<typeof cpuDegrees>;
53
+ export declare const determinant: import("../types.ts").DualFn<(value: AnyMatInstance) => number>;
57
54
  declare function cpuDistance(a: number, b: number): number;
58
55
  declare function cpuDistance<T extends AnyFloatVecInstance>(a: T, b: T): number;
59
- declare const distance: DualFn<typeof cpuDistance>;
60
- declare const dot: DualFn<(<T extends NumVec>(lhs: T, rhs: T) => number)>;
61
- declare const dot4U8Packed: DualFn<(e1: number, e2: number) => number>;
62
- declare const dot4I8Packed: DualFn<(e1: number, e2: number) => number>;
56
+ export declare const distance: import("../types.ts").DualFn<typeof cpuDistance>;
57
+ export declare const dot: import("../types.ts").DualFn<(<T extends NumVec>(lhs: T, rhs: T) => number)>;
58
+ export declare const dot4U8Packed: import("../types.ts").DualFn<(e1: number, e2: number) => number>;
59
+ export declare const dot4I8Packed: import("../types.ts").DualFn<(e1: number, e2: number) => number>;
63
60
  declare function cpuExp(value: number): number;
64
61
  declare function cpuExp<T extends AnyFloatVecInstance>(value: T): T;
65
- declare const exp: DualFn<typeof cpuExp>;
62
+ export declare const exp: import("../types.ts").DualFn<typeof cpuExp>;
66
63
  declare function cpuExp2(value: number): number;
67
64
  declare function cpuExp2<T extends AnyFloatVecInstance>(value: T): T;
68
- declare const exp2: DualFn<typeof cpuExp2>;
65
+ export declare const exp2: import("../types.ts").DualFn<typeof cpuExp2>;
69
66
  declare function cpuExtractBits(e: number, offset: number, count: number): number;
70
67
  declare function cpuExtractBits<T extends AnyIntegerVecInstance>(e: T, offset: number, count: number): T;
71
- declare const extractBits: DualFn<typeof cpuExtractBits>;
72
- declare const faceForward: DualFn<(<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: T) => T)>;
68
+ export declare const extractBits: import("../types.ts").DualFn<typeof cpuExtractBits>;
69
+ export declare const faceForward: import("../types.ts").DualFn<(<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: T) => T)>;
73
70
  declare function cpuFirstLeadingBit(value: number): number;
74
71
  declare function cpuFirstLeadingBit<T extends AnyIntegerVecInstance>(value: T): T;
75
- declare const firstLeadingBit: DualFn<typeof cpuFirstLeadingBit>;
72
+ export declare const firstLeadingBit: import("../types.ts").DualFn<typeof cpuFirstLeadingBit>;
76
73
  declare function cpuFirstTrailingBit(value: number): number;
77
74
  declare function cpuFirstTrailingBit<T extends AnyIntegerVecInstance>(value: T): T;
78
- declare const firstTrailingBit: DualFn<typeof cpuFirstTrailingBit>;
75
+ export declare const firstTrailingBit: import("../types.ts").DualFn<typeof cpuFirstTrailingBit>;
79
76
  declare function cpuFloor(value: number): number;
80
77
  declare function cpuFloor<T extends AnyFloatVecInstance>(value: T): T;
81
- declare const floor: DualFn<typeof cpuFloor>;
78
+ export declare const floor: import("../types.ts").DualFn<typeof cpuFloor>;
82
79
  declare function cpuFma(e1: number, e2: number, e3: number): number;
83
80
  declare function cpuFma<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: T): T;
84
- declare const fma: DualFn<typeof cpuFma>;
81
+ export declare const fma: import("../types.ts").DualFn<typeof cpuFma>;
85
82
  declare function cpuFract(value: number): number;
86
83
  declare function cpuFract<T extends AnyFloatVecInstance>(value: T): T;
87
- declare const fract: DualFn<typeof cpuFract>;
84
+ export declare const fract: import("../types.ts").DualFn<typeof cpuFract>;
88
85
  declare const FrexpResults: {
89
- readonly f32: WgslStruct<{
90
- fract: F32;
91
- exp: I32;
92
- }>;
93
- readonly f16: WgslStruct<{
94
- fract: F16;
95
- exp: I32;
96
- }>;
97
- readonly abstractFloat: WgslStruct<{
98
- fract: AbstractFloat;
99
- exp: AbstractInt;
100
- }>;
101
- readonly vec2f: WgslStruct<{
102
- fract: Vec2f;
103
- exp: Vec2i;
104
- }>;
105
- readonly vec3f: WgslStruct<{
106
- fract: Vec3f;
107
- exp: Vec3i;
108
- }>;
109
- readonly vec4f: WgslStruct<{
110
- fract: Vec4f;
111
- exp: Vec4i;
112
- }>;
113
- readonly vec2h: WgslStruct<{
114
- fract: Vec2h;
115
- exp: Vec2i;
116
- }>;
117
- readonly vec3h: WgslStruct<{
118
- fract: Vec3h;
119
- exp: Vec3i;
120
- }>;
121
- readonly vec4h: WgslStruct<{
122
- fract: Vec4h;
123
- exp: Vec4i;
124
- }>;
86
+ readonly f32: import("../data/wgslTypes.ts").WgslStruct<{
87
+ fract: import("../data/wgslTypes.ts").F32;
88
+ exp: import("../data/wgslTypes.ts").I32;
89
+ }>;
90
+ readonly f16: import("../data/wgslTypes.ts").WgslStruct<{
91
+ fract: import("../data/wgslTypes.ts").F16;
92
+ exp: import("../data/wgslTypes.ts").I32;
93
+ }>;
94
+ readonly abstractFloat: import("../data/wgslTypes.ts").WgslStruct<{
95
+ fract: import("../data/wgslTypes.ts").AbstractFloat;
96
+ exp: import("../data/wgslTypes.ts").AbstractInt;
97
+ }>;
98
+ readonly vec2f: import("../data/wgslTypes.ts").WgslStruct<{
99
+ fract: Vec2f;
100
+ exp: import("../data/wgslTypes.ts").Vec2i;
101
+ }>;
102
+ readonly vec3f: import("../data/wgslTypes.ts").WgslStruct<{
103
+ fract: import("../data/wgslTypes.ts").Vec3f;
104
+ exp: import("../data/wgslTypes.ts").Vec3i;
105
+ }>;
106
+ readonly vec4f: import("../data/wgslTypes.ts").WgslStruct<{
107
+ fract: import("../data/wgslTypes.ts").Vec4f;
108
+ exp: import("../data/wgslTypes.ts").Vec4i;
109
+ }>;
110
+ readonly vec2h: import("../data/wgslTypes.ts").WgslStruct<{
111
+ fract: import("../data/wgslTypes.ts").Vec2h;
112
+ exp: import("../data/wgslTypes.ts").Vec2i;
113
+ }>;
114
+ readonly vec3h: import("../data/wgslTypes.ts").WgslStruct<{
115
+ fract: import("../data/wgslTypes.ts").Vec3h;
116
+ exp: import("../data/wgslTypes.ts").Vec3i;
117
+ }>;
118
+ readonly vec4h: import("../data/wgslTypes.ts").WgslStruct<{
119
+ fract: import("../data/wgslTypes.ts").Vec4h;
120
+ exp: import("../data/wgslTypes.ts").Vec4i;
121
+ }>;
125
122
  };
126
123
  type FrexpOverload = {
127
- (value: number): Infer<(typeof FrexpResults)['f32']>;
128
- <T extends AnyFloatVecInstance>(value: T): Infer<(typeof FrexpResults)[T['kind']]>;
124
+ (value: number): Infer<(typeof FrexpResults)['f32']>;
125
+ <T extends AnyFloatVecInstance>(value: T): Infer<(typeof FrexpResults)[T['kind']]>;
129
126
  };
130
- declare const frexp: DualFn<FrexpOverload>;
127
+ export declare const frexp: import("../types.ts").DualFn<FrexpOverload>;
131
128
  declare function cpuInsertBits(e: number, newbits: number, offset: number, count: number): number;
132
129
  declare function cpuInsertBits<T extends AnyIntegerVecInstance>(e: T, newbits: T, offset: number, count: number): T;
133
- declare const insertBits: DualFn<typeof cpuInsertBits>;
130
+ export declare const insertBits: import("../types.ts").DualFn<typeof cpuInsertBits>;
134
131
  declare function cpuInverseSqrt(value: number): number;
135
132
  declare function cpuInverseSqrt<T extends AnyFloatVecInstance>(value: T): T;
136
- declare const inverseSqrt: DualFn<typeof cpuInverseSqrt>;
133
+ export declare const inverseSqrt: import("../types.ts").DualFn<typeof cpuInverseSqrt>;
137
134
  declare function cpuLdexp(e1: number, e2: number): number;
138
135
  declare function cpuLdexp<T extends v2f | v2h>(e1: T, e2: v2i): T;
139
136
  declare function cpuLdexp<T extends v3f | v3h>(e1: T, e2: v3i): T;
140
137
  declare function cpuLdexp<T extends v4f | v4h>(e1: T, e2: v4i): T;
141
- declare const ldexp: DualFn<typeof cpuLdexp>;
138
+ export declare const ldexp: import("../types.ts").DualFn<typeof cpuLdexp>;
142
139
  declare function cpuLength(value: number): number;
143
140
  declare function cpuLength<T extends AnyFloatVecInstance>(value: T): number;
144
- declare const length: DualFn<typeof cpuLength>;
141
+ export declare const length: import("../types.ts").DualFn<typeof cpuLength>;
145
142
  declare function cpuLog(value: number): number;
146
143
  declare function cpuLog<T extends AnyFloatVecInstance>(value: T): T;
147
- declare const log: DualFn<typeof cpuLog>;
144
+ export declare const log: import("../types.ts").DualFn<typeof cpuLog>;
148
145
  declare function cpuLog2(value: number): number;
149
146
  declare function cpuLog2<T extends AnyFloatVecInstance>(value: T): T;
150
- declare const log2: DualFn<typeof cpuLog2>;
147
+ export declare const log2: import("../types.ts").DualFn<typeof cpuLog2>;
151
148
  type VariadicOverload = {
152
- (fst: number, ...rest: number[]): number;
153
- <T extends NumVec>(fst: T, ...rest: T[]): T;
149
+ (fst: number, ...rest: number[]): number;
150
+ <T extends NumVec>(fst: T, ...rest: T[]): T;
154
151
  };
155
- declare const max: DualFn<VariadicOverload>;
156
- declare const min: DualFn<VariadicOverload>;
152
+ export declare const max: import("../types.ts").DualFn<VariadicOverload>;
153
+ export declare const min: import("../types.ts").DualFn<VariadicOverload>;
157
154
  declare function cpuMix(e1: number, e2: number, e3: number): number;
158
155
  declare function cpuMix<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: number): T;
159
156
  declare function cpuMix<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: T): T;
160
- declare const mix: DualFn<typeof cpuMix>;
157
+ export declare const mix: import("../types.ts").DualFn<typeof cpuMix>;
161
158
  declare const ModfResult: {
162
- readonly f32: WgslStruct<{
163
- fract: F32;
164
- whole: F32;
165
- }>;
166
- readonly f16: WgslStruct<{
167
- fract: F16;
168
- whole: F16;
169
- }>;
170
- readonly abstractFloat: WgslStruct<{
171
- fract: AbstractFloat;
172
- whole: AbstractFloat;
173
- }>;
174
- readonly vec2f: WgslStruct<{
175
- fract: Vec2f;
176
- whole: Vec2f;
177
- }>;
178
- readonly vec3f: WgslStruct<{
179
- fract: Vec3f;
180
- whole: Vec3f;
181
- }>;
182
- readonly vec4f: WgslStruct<{
183
- fract: Vec4f;
184
- whole: Vec4f;
185
- }>;
186
- readonly vec2h: WgslStruct<{
187
- fract: Vec2h;
188
- whole: Vec2h;
189
- }>;
190
- readonly vec3h: WgslStruct<{
191
- fract: Vec3h;
192
- whole: Vec3h;
193
- }>;
194
- readonly vec4h: WgslStruct<{
195
- fract: Vec4h;
196
- whole: Vec4h;
197
- }>;
159
+ readonly f32: import("../data/wgslTypes.ts").WgslStruct<{
160
+ fract: import("../data/wgslTypes.ts").F32;
161
+ whole: import("../data/wgslTypes.ts").F32;
162
+ }>;
163
+ readonly f16: import("../data/wgslTypes.ts").WgslStruct<{
164
+ fract: import("../data/wgslTypes.ts").F16;
165
+ whole: import("../data/wgslTypes.ts").F16;
166
+ }>;
167
+ readonly abstractFloat: import("../data/wgslTypes.ts").WgslStruct<{
168
+ fract: import("../data/wgslTypes.ts").AbstractFloat;
169
+ whole: import("../data/wgslTypes.ts").AbstractFloat;
170
+ }>;
171
+ readonly vec2f: import("../data/wgslTypes.ts").WgslStruct<{
172
+ fract: Vec2f;
173
+ whole: Vec2f;
174
+ }>;
175
+ readonly vec3f: import("../data/wgslTypes.ts").WgslStruct<{
176
+ fract: import("../data/wgslTypes.ts").Vec3f;
177
+ whole: import("../data/wgslTypes.ts").Vec3f;
178
+ }>;
179
+ readonly vec4f: import("../data/wgslTypes.ts").WgslStruct<{
180
+ fract: import("../data/wgslTypes.ts").Vec4f;
181
+ whole: import("../data/wgslTypes.ts").Vec4f;
182
+ }>;
183
+ readonly vec2h: import("../data/wgslTypes.ts").WgslStruct<{
184
+ fract: import("../data/wgslTypes.ts").Vec2h;
185
+ whole: import("../data/wgslTypes.ts").Vec2h;
186
+ }>;
187
+ readonly vec3h: import("../data/wgslTypes.ts").WgslStruct<{
188
+ fract: import("../data/wgslTypes.ts").Vec3h;
189
+ whole: import("../data/wgslTypes.ts").Vec3h;
190
+ }>;
191
+ readonly vec4h: import("../data/wgslTypes.ts").WgslStruct<{
192
+ fract: import("../data/wgslTypes.ts").Vec4h;
193
+ whole: import("../data/wgslTypes.ts").Vec4h;
194
+ }>;
198
195
  };
199
196
  type ModfOverload = {
200
- (value: number): Infer<(typeof ModfResult)['f32']>;
201
- <T extends AnyFloatVecInstance>(value: T): Infer<(typeof ModfResult)[T['kind']]>;
197
+ (value: number): Infer<(typeof ModfResult)['f32']>;
198
+ <T extends AnyFloatVecInstance>(value: T): Infer<(typeof ModfResult)[T['kind']]>;
202
199
  };
203
- declare const modf: ModfOverload;
204
- declare const normalize: DualFn<(<T extends AnyFloatVecInstance>(v: T) => T)>;
200
+ export declare const modf: ModfOverload;
201
+ export declare const normalize: import("../types.ts").DualFn<(<T extends AnyFloatVecInstance>(v: T) => T)>;
205
202
  declare function powCpu(base: number, exponent: number): number;
206
203
  declare function powCpu<T extends AnyFloatVecInstance>(base: T, exponent: T): T;
207
- declare const pow: DualFn<typeof powCpu>;
204
+ export declare const pow: import("../types.ts").DualFn<typeof powCpu>;
208
205
  declare function cpuQuantizeToF16(value: number): number;
209
206
  declare function cpuQuantizeToF16<T extends AnyFloat32VecInstance>(value: T): T;
210
- declare const quantizeToF16: DualFn<typeof cpuQuantizeToF16>;
207
+ export declare const quantizeToF16: import("../types.ts").DualFn<typeof cpuQuantizeToF16>;
211
208
  declare function cpuRadians(value: number): number;
212
209
  declare function cpuRadians<T extends AnyFloatVecInstance | number>(value: T): T;
213
- declare const radians: DualFn<typeof cpuRadians>;
214
- declare const reflect: DualFn<(<T extends AnyFloatVecInstance>(e1: T, e2: T) => T)>;
215
- declare const refract: DualFn<(<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: number) => T)>;
210
+ export declare const radians: import("../types.ts").DualFn<typeof cpuRadians>;
211
+ export declare const reflect: import("../types.ts").DualFn<(<T extends AnyFloatVecInstance>(e1: T, e2: T) => T)>;
212
+ export declare const refract: import("../types.ts").DualFn<(<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: number) => T)>;
216
213
  declare function cpuReverseBits(value: number): number;
217
214
  declare function cpuReverseBits<T extends AnyIntegerVecInstance>(value: T): T;
218
- declare const reverseBits: DualFn<typeof cpuReverseBits>;
215
+ export declare const reverseBits: import("../types.ts").DualFn<typeof cpuReverseBits>;
219
216
  declare function cpuRound(value: number): number;
220
217
  declare function cpuRound<T extends AnyFloatVecInstance>(value: T): T;
221
- declare const round: DualFn<typeof cpuRound>;
218
+ export declare const round: import("../types.ts").DualFn<typeof cpuRound>;
222
219
  declare function cpuSaturate(value: number): number;
223
220
  declare function cpuSaturate<T extends AnyFloatVecInstance>(value: T): T;
224
- declare const saturate: DualFn<typeof cpuSaturate>;
221
+ export declare const saturate: import("../types.ts").DualFn<typeof cpuSaturate>;
225
222
  declare function cpuSign(e: number): number;
226
223
  declare function cpuSign<T extends AnySignedVecInstance>(e: T): T;
227
- declare const sign: DualFn<typeof cpuSign>;
224
+ export declare const sign: import("../types.ts").DualFn<typeof cpuSign>;
228
225
  declare function cpuSin(value: number): number;
229
226
  declare function cpuSin<T extends AnyFloatVecInstance>(value: T): T;
230
- declare const sin: DualFn<typeof cpuSin>;
227
+ export declare const sin: import("../types.ts").DualFn<typeof cpuSin>;
231
228
  declare function cpuSinh(value: number): number;
232
229
  declare function cpuSinh<T extends AnyFloatVecInstance>(value: T): T;
233
- declare const sinh: DualFn<typeof cpuSinh>;
230
+ export declare const sinh: import("../types.ts").DualFn<typeof cpuSinh>;
234
231
  declare function cpuSmoothstep(edge0: number, edge1: number, x: number): number;
235
232
  declare function cpuSmoothstep<T extends AnyFloatVecInstance>(edge0: T, edge1: T, x: T): T;
236
- declare const smoothstep: DualFn<typeof cpuSmoothstep>;
233
+ export declare const smoothstep: import("../types.ts").DualFn<typeof cpuSmoothstep>;
237
234
  declare function cpuSqrt(value: number): number;
238
235
  declare function cpuSqrt<T extends AnyFloatVecInstance>(value: T): T;
239
- declare const sqrt: DualFn<typeof cpuSqrt>;
236
+ export declare const sqrt: import("../types.ts").DualFn<typeof cpuSqrt>;
240
237
  declare function cpuStep(edge: number, x: number): number;
241
238
  declare function cpuStep<T extends AnyFloatVecInstance | number>(edge: T, x: T): T;
242
- declare const step: DualFn<typeof cpuStep>;
239
+ export declare const step: import("../types.ts").DualFn<typeof cpuStep>;
243
240
  declare function cpuTan(value: number): number;
244
241
  declare function cpuTan<T extends AnyFloatVecInstance>(value: T): T;
245
- declare const tan: DualFn<typeof cpuTan>;
242
+ export declare const tan: import("../types.ts").DualFn<typeof cpuTan>;
246
243
  declare function cpuTanh(value: number): number;
247
244
  declare function cpuTanh<T extends AnyFloatVecInstance>(value: T): T;
248
- declare const tanh: DualFn<typeof cpuTanh>;
249
- declare const transpose: DualFn<(<T extends AnyMatInstance>(e: T) => T)>;
245
+ export declare const tanh: import("../types.ts").DualFn<typeof cpuTanh>;
246
+ declare function cpuTranspose<T extends AnyMatInstance>(value: T): T;
247
+ export declare const transpose: import("../types.ts").DualFn<typeof cpuTranspose>;
250
248
  declare function cpuTrunc(value: number): number;
251
249
  declare function cpuTrunc<T extends AnyFloatVecInstance>(value: T): T;
252
- declare const trunc: DualFn<typeof cpuTrunc>;
253
- //#endregion
254
- export { abs, acos, acosh, asin, asinh, atan, atan2, atanh, ceil, clamp, cos, cosh, countLeadingZeros, countOneBits, countTrailingZeros, cross, degrees, determinant, distance, dot, dot4I8Packed, dot4U8Packed, exp, exp2, extractBits, faceForward, firstLeadingBit, firstTrailingBit, floor, fma, fract, frexp, insertBits, inverseSqrt, ldexp, length, log, log2, max, min, mix, modf, normalize, pow, quantizeToF16, radians, reflect, refract, reverseBits, round, saturate, sign, sin, sinh, smoothstep, sqrt, step, tan, tanh, transpose, trunc };
250
+ export declare const trunc: import("../types.ts").DualFn<typeof cpuTrunc>;
251
+ declare function cpuIntdiv(lhs: number, rhs: number): number;
252
+ /**
253
+ * Performs integer division on the passed in scalars.
254
+ * Equivalent to `trunc(trunc(lhs) / trunc(rhs))`. Coerces both
255
+ * arguments to integers if they're floating point.
256
+ */
257
+ export declare const intdiv: import("../types.ts").DualFn<typeof cpuIntdiv>;
258
+ export {};