glre 0.39.0 → 0.40.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 (281) hide show
  1. package/README.md +8 -4
  2. package/dist/addons.cjs +1 -1
  3. package/dist/addons.cjs.map +1 -1
  4. package/dist/addons.d.ts +849 -19
  5. package/dist/addons.js +1 -1
  6. package/dist/addons.js.map +1 -1
  7. package/dist/index.cjs +8 -8
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.d.ts +38 -20
  10. package/dist/index.js +8 -8
  11. package/dist/index.js.map +1 -1
  12. package/dist/native.d.ts +48 -22
  13. package/dist/node.cjs +59 -30
  14. package/dist/node.cjs.map +1 -1
  15. package/dist/node.d.ts +34 -22
  16. package/dist/node.js +59 -30
  17. package/dist/node.js.map +1 -1
  18. package/dist/react.d.ts +38 -20
  19. package/dist/solid.d.ts +38 -20
  20. package/package.json +24 -24
  21. package/src/addons/animation/easing/backIn.ts +10 -0
  22. package/src/addons/animation/easing/backInOut.ts +12 -0
  23. package/src/addons/animation/easing/backOut.ts +10 -0
  24. package/src/addons/animation/easing/bounceIn.ts +10 -0
  25. package/src/addons/animation/easing/bounceInOut.ts +13 -0
  26. package/src/addons/animation/easing/bounceOut.ts +30 -0
  27. package/src/addons/animation/easing/circularIn.ts +9 -0
  28. package/src/addons/animation/easing/circularInOut.ts +11 -0
  29. package/src/addons/animation/easing/circularOut.ts +9 -0
  30. package/src/addons/animation/easing/cubicIn.ts +9 -0
  31. package/src/addons/animation/easing/cubicInOut.ts +11 -0
  32. package/src/addons/animation/easing/cubicOut.ts +10 -0
  33. package/src/addons/animation/easing/elasticIn.ts +10 -0
  34. package/src/addons/animation/easing/elasticInOut.ts +21 -0
  35. package/src/addons/animation/easing/elasticOut.ts +12 -0
  36. package/src/addons/animation/easing/exponentialIn.ts +9 -0
  37. package/src/addons/animation/easing/exponentialInOut.ts +13 -0
  38. package/src/addons/animation/easing/exponentialOut.ts +9 -0
  39. package/src/addons/animation/easing/index.ts +33 -0
  40. package/src/addons/animation/easing/linearIn.ts +9 -0
  41. package/src/addons/animation/easing/linearInOut.ts +9 -0
  42. package/src/addons/animation/easing/linearOut.ts +9 -0
  43. package/src/addons/animation/easing/quadraticIn.ts +9 -0
  44. package/src/addons/animation/easing/quadraticInOut.ts +10 -0
  45. package/src/addons/animation/easing/quadraticOut.ts +9 -0
  46. package/src/addons/animation/easing/quarticIn.ts +9 -0
  47. package/src/addons/animation/easing/quarticInOut.ts +11 -0
  48. package/src/addons/animation/easing/quarticOut.ts +10 -0
  49. package/src/addons/animation/easing/quinticIn.ts +9 -0
  50. package/src/addons/animation/easing/quinticInOut.ts +11 -0
  51. package/src/addons/animation/easing/quinticOut.ts +9 -0
  52. package/src/addons/animation/easing/sineIn.ts +10 -0
  53. package/src/addons/animation/easing/sineInOut.ts +10 -0
  54. package/src/addons/animation/easing/sineOut.ts +10 -0
  55. package/src/addons/color/palette/macbeth.ts +42 -0
  56. package/src/addons/color/space/cmyk2rgb.ts +12 -0
  57. package/src/addons/color/space/gamma2linear.ts +19 -0
  58. package/src/addons/color/space/hsl2rgb.ts +20 -0
  59. package/src/addons/color/space/hsv2rgb.ts +18 -0
  60. package/src/addons/color/space/hue2rgb.ts +12 -0
  61. package/src/addons/color/space/index.ts +29 -0
  62. package/src/addons/color/space/lab2lch.ts +22 -0
  63. package/src/addons/color/space/lab2rgb.ts +19 -0
  64. package/src/addons/color/space/lab2xyz.ts +32 -0
  65. package/src/addons/color/space/lch2lab.ts +21 -0
  66. package/src/addons/color/space/lch2rgb.ts +22 -0
  67. package/src/addons/color/space/linear2gamma.ts +19 -0
  68. package/src/addons/color/space/oklab2rgb.ts +35 -0
  69. package/src/addons/color/space/rgb2cmyk.ts +13 -0
  70. package/src/addons/color/space/rgb2hcv.ts +29 -0
  71. package/src/addons/color/space/rgb2hsl.ts +23 -0
  72. package/src/addons/color/space/rgb2hsv.ts +36 -0
  73. package/src/addons/color/space/rgb2hue.ts +29 -0
  74. package/src/addons/color/space/rgb2lab.ts +19 -0
  75. package/src/addons/color/space/rgb2lch.ts +22 -0
  76. package/src/addons/color/space/rgb2oklab.ts +45 -0
  77. package/src/addons/color/space/rgb2srgb.ts +34 -0
  78. package/src/addons/color/space/rgb2xyz.ts +20 -0
  79. package/src/addons/color/space/rgb2yiq.ts +22 -0
  80. package/src/addons/color/space/rgb2yuv.ts +32 -0
  81. package/src/addons/color/space/srgb2rgb.ts +34 -0
  82. package/src/addons/color/space/xyz2lab.ts +27 -0
  83. package/src/addons/color/space/xyz2rgb.ts +30 -0
  84. package/src/addons/color/space/yiq2rgb.ts +22 -0
  85. package/src/addons/color/space/yuv2rgb.ts +32 -0
  86. package/src/addons/draw/arrows.ts +75 -0
  87. package/src/addons/draw/axis.ts +57 -0
  88. package/src/addons/draw/bridge.ts +81 -0
  89. package/src/addons/draw/char.ts +30 -0
  90. package/src/addons/draw/circle.ts +29 -0
  91. package/src/addons/draw/fill.ts +25 -0
  92. package/src/addons/draw/flip.ts +45 -0
  93. package/src/addons/draw/hex.ts +29 -0
  94. package/src/addons/draw/index.ts +13 -0
  95. package/src/addons/draw/line.ts +16 -0
  96. package/src/addons/draw/point.ts +30 -0
  97. package/src/addons/draw/rect.ts +52 -0
  98. package/src/addons/draw/stroke.ts +31 -0
  99. package/src/addons/draw/tri.ts +29 -0
  100. package/src/addons/generative/cnoise.ts +239 -0
  101. package/src/addons/generative/curl.ts +64 -0
  102. package/src/addons/generative/fbm.ts +69 -0
  103. package/src/addons/generative/gerstnerWave.ts +21 -0
  104. package/src/addons/generative/gnoise.ts +113 -0
  105. package/src/addons/generative/index.ts +15 -0
  106. package/src/addons/generative/noised.ts +139 -0
  107. package/src/addons/generative/pnoise.ts +249 -0
  108. package/src/addons/generative/psrdnoise.ts +277 -0
  109. package/src/addons/generative/random.ts +136 -0
  110. package/src/addons/generative/snoise.ts +199 -0
  111. package/src/addons/generative/srandom.ts +90 -0
  112. package/src/addons/generative/voronoi.ts +134 -0
  113. package/src/addons/generative/voronoise.ts +69 -0
  114. package/src/addons/generative/wavelet.ts +77 -0
  115. package/src/addons/generative/worley.ts +99 -0
  116. package/src/addons/geometry/aabb/aabb.ts +8 -0
  117. package/src/addons/geometry/aabb/centroid.ts +10 -0
  118. package/src/addons/geometry/aabb/contain.ts +19 -0
  119. package/src/addons/geometry/aabb/diagonal.ts +10 -0
  120. package/src/addons/geometry/aabb/expand.ts +16 -0
  121. package/src/addons/geometry/aabb/index.ts +7 -0
  122. package/src/addons/geometry/aabb/intersect.ts +20 -0
  123. package/src/addons/geometry/aabb/square.ts +17 -0
  124. package/src/addons/geometry/index.ts +2 -0
  125. package/src/addons/geometry/triangle/area.ts +10 -0
  126. package/src/addons/geometry/triangle/barycentric.ts +50 -0
  127. package/src/addons/geometry/triangle/centroid.ts +10 -0
  128. package/src/addons/geometry/triangle/closestPoint.ts +85 -0
  129. package/src/addons/geometry/triangle/contain.ts +19 -0
  130. package/src/addons/geometry/triangle/distanceSq.ts +38 -0
  131. package/src/addons/geometry/triangle/index.ts +10 -0
  132. package/src/addons/geometry/triangle/intersect.ts +49 -0
  133. package/src/addons/geometry/triangle/normal.ts +12 -0
  134. package/src/addons/geometry/triangle/signedDistance.ts +31 -0
  135. package/src/addons/geometry/triangle/triangle.ts +9 -0
  136. package/src/addons/index.ts +8 -6
  137. package/src/addons/lighting/ray.ts +8 -0
  138. package/src/addons/math/aafloor.ts +13 -0
  139. package/src/addons/math/aafract.ts +38 -0
  140. package/src/addons/math/aamirror.ts +12 -0
  141. package/src/addons/math/aastep.ts +14 -0
  142. package/src/addons/math/absi.ts +9 -0
  143. package/src/addons/math/adaptiveThreshold.ts +24 -0
  144. package/src/addons/math/bump.ts +20 -0
  145. package/src/addons/math/const.ts +19 -0
  146. package/src/addons/math/cubic.ts +101 -0
  147. package/src/addons/math/cubicMix.ts +49 -0
  148. package/src/addons/math/decimate.ts +12 -0
  149. package/src/addons/math/dist.ts +143 -0
  150. package/src/addons/math/fcos.ts +11 -0
  151. package/src/addons/math/frac.ts +9 -0
  152. package/src/addons/math/gain.ts +14 -0
  153. package/src/addons/math/gaussian.ts +14 -0
  154. package/src/addons/math/grad4.ts +19 -0
  155. package/src/addons/math/hammersley.ts +54 -0
  156. package/src/addons/math/highPass.ts +12 -0
  157. package/src/addons/math/index.ts +63 -0
  158. package/src/addons/math/inside.ts +68 -0
  159. package/src/addons/math/invCubic.ts +9 -0
  160. package/src/addons/math/invQuartic.ts +9 -0
  161. package/src/addons/math/inverse.ts +9 -0
  162. package/src/addons/math/lengthSq.ts +10 -0
  163. package/src/addons/math/map.ts +27 -0
  164. package/src/addons/math/mirror.ts +12 -0
  165. package/src/addons/math/mmax.ts +27 -0
  166. package/src/addons/math/mmin.ts +28 -0
  167. package/src/addons/math/mmix.ts +47 -0
  168. package/src/addons/math/mod2.ts +44 -0
  169. package/src/addons/math/mod289.ts +46 -0
  170. package/src/addons/math/modi.ts +15 -0
  171. package/src/addons/math/nyquist.ts +15 -0
  172. package/src/addons/math/pack.ts +15 -0
  173. package/src/addons/math/parabola.ts +12 -0
  174. package/src/addons/math/permute.ts +42 -0
  175. package/src/addons/math/pow2.ts +10 -0
  176. package/src/addons/math/pow3.ts +9 -0
  177. package/src/addons/math/pow5.ts +10 -0
  178. package/src/addons/math/pow7.ts +12 -0
  179. package/src/addons/math/powFast.ts +18 -0
  180. package/src/addons/math/quartic.ts +15 -0
  181. package/src/addons/math/quat/index.ts +14 -0
  182. package/src/addons/math/quat/quat2mat3.ts +28 -0
  183. package/src/addons/math/quat/quat2mat4.ts +16 -0
  184. package/src/addons/math/quat/quatAdd.ts +18 -0
  185. package/src/addons/math/quat/quatConj.ts +14 -0
  186. package/src/addons/math/quat/quatDiv.ts +18 -0
  187. package/src/addons/math/quat/quatIdentity.ts +9 -0
  188. package/src/addons/math/quat/quatInverse.ts +17 -0
  189. package/src/addons/math/quat/quatLength.ts +15 -0
  190. package/src/addons/math/quat/quatLengthSq.ts +14 -0
  191. package/src/addons/math/quat/quatLerp.ts +40 -0
  192. package/src/addons/math/quat/quatMul.ts +38 -0
  193. package/src/addons/math/quat/quatNeg.ts +14 -0
  194. package/src/addons/math/quat/quatNorm.ts +16 -0
  195. package/src/addons/math/quat/quatSub.ts +18 -0
  196. package/src/addons/math/quintic.ts +16 -0
  197. package/src/addons/math/rotate2d.ts +16 -0
  198. package/src/addons/math/rotate3d.ts +37 -0
  199. package/src/addons/math/rotate3dX.ts +20 -0
  200. package/src/addons/math/rotate3dY.ts +20 -0
  201. package/src/addons/math/rotate3dZ.ts +20 -0
  202. package/src/addons/math/rotate4d.ts +41 -0
  203. package/src/addons/math/rotate4dX.ts +21 -0
  204. package/src/addons/math/rotate4dY.ts +16 -0
  205. package/src/addons/math/rotate4dZ.ts +21 -0
  206. package/src/addons/math/saturateMediump.ts +11 -0
  207. package/src/addons/math/scale2d.ts +44 -0
  208. package/src/addons/math/scale3d.ts +17 -0
  209. package/src/addons/math/scale4d.ts +50 -0
  210. package/src/addons/math/smootherstep.ts +16 -0
  211. package/src/addons/math/taylorInvSqrt.ts +9 -0
  212. package/src/addons/math/toMat3.ts +14 -0
  213. package/src/addons/math/toMat4.ts +14 -0
  214. package/src/addons/math/translate4d.ts +31 -0
  215. package/src/addons/math/unpack.ts +88 -0
  216. package/src/addons/sdf/boxSDF.ts +24 -0
  217. package/src/addons/sdf/circleSDF.ts +20 -0
  218. package/src/addons/sdf/crossSDF.ts +17 -0
  219. package/src/addons/sdf/hexSDF.ts +18 -0
  220. package/src/addons/sdf/index.ts +7 -0
  221. package/src/addons/sdf/lineSDF.ts +33 -0
  222. package/src/addons/sdf/rectSDF.ts +46 -0
  223. package/src/addons/sdf/sphereSDF.ts +20 -0
  224. package/src/addons/sdf/triSDF.ts +14 -0
  225. package/src/addons/space/aspect.ts +14 -0
  226. package/src/addons/space/bracketing.ts +44 -0
  227. package/src/addons/space/brickTile.ts +44 -0
  228. package/src/addons/space/cart2polar.ts +20 -0
  229. package/src/addons/space/center.ts +32 -0
  230. package/src/addons/space/checkerTile.ts +41 -0
  231. package/src/addons/space/depth2viewZ.ts +43 -0
  232. package/src/addons/space/displace.ts +55 -0
  233. package/src/addons/space/equirect2xyz.ts +17 -0
  234. package/src/addons/space/eulerView.ts +19 -0
  235. package/src/addons/space/fisheye2xyz.ts +18 -0
  236. package/src/addons/space/flipY.ts +25 -0
  237. package/src/addons/space/hexTile.ts +18 -0
  238. package/src/addons/space/index.ts +38 -0
  239. package/src/addons/space/kaleidoscope.ts +48 -0
  240. package/src/addons/space/linearizeDepth.ts +17 -0
  241. package/src/addons/space/lookAt.ts +49 -0
  242. package/src/addons/space/lookAtView.ts +40 -0
  243. package/src/addons/space/mirrorTile.ts +73 -0
  244. package/src/addons/space/nearest.ts +13 -0
  245. package/src/addons/space/orthographic.ts +25 -0
  246. package/src/addons/space/parallaxMapping.ts +149 -0
  247. package/src/addons/space/perspective.ts +24 -0
  248. package/src/addons/space/polar2cart.ts +24 -0
  249. package/src/addons/space/ratio.ts +14 -0
  250. package/src/addons/space/rotate.ts +37 -0
  251. package/src/addons/space/rotateX.ts +54 -0
  252. package/src/addons/space/rotateY.ts +54 -0
  253. package/src/addons/space/rotateZ.ts +54 -0
  254. package/src/addons/space/scale.ts +13 -0
  255. package/src/addons/space/sprite.ts +16 -0
  256. package/src/addons/space/sqTile.ts +20 -0
  257. package/src/addons/space/tbn.ts +26 -0
  258. package/src/addons/space/translate.ts +12 -0
  259. package/src/addons/space/triTile.ts +32 -0
  260. package/src/addons/space/uncenter.ts +32 -0
  261. package/src/addons/space/unratio.ts +12 -0
  262. package/src/addons/space/viewZ2depth.ts +25 -0
  263. package/src/addons/space/windmillTile.ts +58 -0
  264. package/src/addons/space/xyz2equirect.ts +10 -0
  265. package/src/index.ts +5 -2
  266. package/src/node/build.ts +62 -52
  267. package/src/node/create.ts +3 -0
  268. package/src/node/index.ts +1 -2
  269. package/src/node/scope.ts +26 -25
  270. package/src/node/types.ts +15 -11
  271. package/src/node/utils/const.ts +12 -11
  272. package/src/node/utils/index.ts +14 -12
  273. package/src/node/utils/infer.ts +15 -5
  274. package/src/node/utils/parse.ts +37 -13
  275. package/src/node/utils/utils.ts +46 -23
  276. package/src/types.ts +9 -2
  277. package/src/utils/helpers.ts +56 -0
  278. package/src/utils/pipeline.ts +21 -5
  279. package/src/utils/program.ts +57 -38
  280. package/src/utils/webgl.ts +41 -35
  281. package/src/utils/webgpu.ts +19 -35
package/dist/addons.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { EventState, Nested } from 'reev';
2
2
  import { Queue, Frame } from 'refr';
3
3
 
4
- declare const CONVERSIONS: readonly ["toBool", "toUint", "toInt", "toFloat", "toBvec2", "toIvec2", "toUvec2", "toVec2", "toBvec3", "toIvec3", "toUvec3", "toVec3", "toBvec4", "toIvec4", "toUvec4", "toVec4", "toColor", "toMat2", "toMat3", "toMat4"];
4
+ declare const CONVERSIONS: readonly ["toBool", "toUInt", "toInt", "toFloat", "toBVec2", "toIVec2", "toUVec2", "toVec2", "toBVec3", "toIVec3", "toUVec3", "toVec3", "toBVec4", "toIVec4", "toUVec4", "toVec4", "toColor", "toMat2", "toMat3", "toMat4"];
5
5
  declare const TYPE_MAPPING: {
6
6
  readonly bool: "bool";
7
7
  readonly uint: "u32";
@@ -66,7 +66,7 @@ declare const OPERATOR_TYPE_RULES: readonly [readonly ["float", "vec2", "vec2"],
66
66
  * 1.2. index.ts functions and
67
67
  * 3.2. types.ts _N
68
68
  */
69
- declare const FUNCTIONS: readonly [...("texture" | "all" | "any" | "determinant" | "distance" | "dot" | "length" | "lengthSq" | "luminance" | "cross" | "cubeTexture" | "texelFetch" | "textureLod")[], "abs", "acos", "acosh", "asin", "asinh", "atan", "atanh", "ceil", "cos", "cosh", "dFdx", "dFdy", "degrees", "exp", "exp2", "floor", "fract", "fwidth", "inverseSqrt", "log", "log2", "negate", "normalize", "oneMinus", "radians", "reciprocal", "round", "saturate", "sign", "sin", "sinh", "sqrt", "tan", "tanh", "trunc", "atan2", "clamp", "max", "min", "mix", "pow", "reflect", "refract", "smoothstep", "step"];
69
+ declare const FUNCTIONS: readonly [...("texture" | "all" | "any" | "determinant" | "distance" | "dot" | "length" | "lengthSq" | "luminance" | "cross" | "cubeTexture" | "texelFetch" | "textureLod")[], "abs", "acos", "acosh", "asin", "asinh", "atan", "atanh", "ceil", "cos", "cosh", "dFdx", "dFdy", "degrees", "exp", "exp2", "floor", "fract", "fwidth", "inverse", "inverseSqrt", "log", "log2", "negate", "normalize", "oneMinus", "radians", "reciprocal", "round", "sign", "sin", "sinh", "sqrt", "tan", "tanh", "trunc", "saturate", "atan2", "clamp", "max", "min", "mix", "pow", "reflect", "refract", "smoothstep", "step"];
70
70
 
71
71
  type GL = EventState<{
72
72
  /**
@@ -76,14 +76,17 @@ type GL = EventState<{
76
76
  isWebGL: boolean;
77
77
  isError: boolean;
78
78
  isLoop: boolean;
79
+ isDebug: boolean;
80
+ isDepth: boolean;
79
81
  isGL: true;
80
82
  width?: number;
81
83
  height?: number;
82
84
  size: [number, number];
83
85
  mouse: [number, number];
84
86
  count: number;
87
+ instanceCount: number;
88
+ particleCount: number | [number, number] | [number, number, number];
85
89
  loading: number;
86
- particles: 64 | 256 | 576 | 1024 | 1600 | 2304 | 3136 | 4096 | 4096 | 5184 | 6400;
87
90
  el: HTMLCanvasElement;
88
91
  vs?: string | Vec4;
89
92
  cs?: string | Void;
@@ -110,7 +113,7 @@ type GL = EventState<{
110
113
  error(e?: string): void;
111
114
  render(): void;
112
115
  resize(e?: Event): void;
113
- mousemove(e: Event): void;
116
+ mousemove(e: MouseEvent): void;
114
117
  loop(): void;
115
118
  /**
116
119
  * setter
@@ -130,6 +133,11 @@ type GL = EventState<{
130
133
  attribute(target: {
131
134
  [key: string]: Attribute;
132
135
  }): GL;
136
+ _instance?(key: string, value: Attribute, at?: number): GL;
137
+ instance(key: string, value: Attribute, at?: number): GL;
138
+ instance(target: {
139
+ [key: string]: Attribute;
140
+ }): GL;
133
141
  _storage?(key: string, value: Storage): GL;
134
142
  storage(key: string, value: Storage): GL;
135
143
  storage(target: {
@@ -160,6 +168,7 @@ interface AttribData {
160
168
  buffer: GPUBuffer;
161
169
  location: number;
162
170
  stride: number;
171
+ isInstance?: boolean;
163
172
  }
164
173
  interface StorageData {
165
174
  array: Float32Array;
@@ -195,18 +204,22 @@ interface FnLayout {
195
204
  type: C | 'auto';
196
205
  inputs?: Array<{
197
206
  name: string;
198
- type: C;
207
+ type: C | 'auto';
199
208
  }>;
200
209
  }
201
210
  interface FnType<T extends X | Struct | void, Args extends any[]> {
202
211
  (...args: Args): T extends void ? Void : T;
212
+ getLayout(): FnLayout;
203
213
  setLayout(layout: FnLayout): FnType<T, Args>;
204
214
  }
205
215
  type StructFields = Record<string, X>;
216
+ interface StructFactory<T extends StructFields> {
217
+ (initialValues?: StructFields, instanceId?: string): Struct<T>;
218
+ }
206
219
  /**
207
220
  * node
208
221
  */
209
- type NodeTypes = 'attribute' | 'storage' | 'uniform' | 'constant' | 'variable' | 'varying' | 'ternary' | 'builtin' | 'conversion' | 'operator' | 'function' | 'struct' | 'member' | 'element' | 'gather' | 'scatter' | 'scope' | 'assign' | 'loop' | 'define' | 'if' | 'switch' | 'declare' | 'return' | 'break' | 'continue';
222
+ type NodeTypes = 'attribute' | 'instance' | 'storage' | 'uniform' | 'constant' | 'variable' | 'varying' | 'ternary' | 'builtin' | 'conversion' | 'operator' | 'function' | 'struct' | 'member' | 'element' | 'gather' | 'scatter' | 'scope' | 'assign' | 'loop' | 'define' | 'if' | 'switch' | 'declare' | 'return' | 'break' | 'continue';
210
223
  interface NodeProps {
211
224
  id?: string;
212
225
  args?: any[];
@@ -316,10 +329,11 @@ type XImpl<T extends C> = _X<T> & {
316
329
  };
317
330
  type C = Constants;
318
331
  type X<T extends C = C> = T extends keyof ConstantsToType ? ConstantsToType[T] : _X<T>;
319
- type Methods = Functions | Operators | Conversions | Swizzles | '__nodeType' | 'type' | 'props' | 'isProxy' | 'assign' | 'toVar' | 'toString' | 'element';
332
+ type Methods = Functions | Operators | Conversions | Swizzles | '__nodeType' | 'type' | 'props' | 'isProxy' | 'assign' | 'toVar' | 'toString' | 'element' | 'select';
320
333
  interface _X<T extends C> {
321
334
  readonly __nodeType?: T;
322
335
  assign(x: any): X<T>;
336
+ select(x: number | X<T>, y: X<'bool'>): X<T>;
323
337
  fragment(c: NodeContext): string;
324
338
  toVar(name?: string): X<T>;
325
339
  toString(c?: NodeContext): string;
@@ -363,20 +377,20 @@ interface _X<T extends C> {
363
377
  shiftLeftAssign<U extends C>(x: ValidateOperator<T, U> extends 0 ? never : number | X<U>): X<T>;
364
378
  shiftRightAssign<U extends C>(x: ValidateOperator<T, U> extends 0 ? never : number | X<U>): X<T>;
365
379
  toBool(): Bool;
366
- toUint(): UInt;
380
+ toUInt(): UInt;
367
381
  toInt(): Int;
368
382
  toFloat(): Float;
369
- toBvec2(): BVec2;
370
- toIvec2(): IVec2;
371
- toUvec2(): UVec2;
383
+ toBVec2(): BVec2;
384
+ toIVec2(): IVec2;
385
+ toUVec2(): UVec2;
372
386
  toVec2(): Vec2;
373
- toBvec3(): BVec3;
374
- toIvec3(): IVec3;
375
- toUvec3(): UVec3;
387
+ toBVec3(): BVec3;
388
+ toIVec3(): IVec3;
389
+ toUVec3(): UVec3;
376
390
  toVec3(): Vec3;
377
- toBvec4(): BVec4;
378
- toIvec4(): IVec4;
379
- toUvec4(): UVec4;
391
+ toBVec4(): BVec4;
392
+ toIVec4(): IVec4;
393
+ toUVec4(): UVec4;
380
394
  toVec4(): Vec4;
381
395
  toColor(): Color;
382
396
  toMat2(): Mat2;
@@ -452,6 +466,822 @@ interface _X<T extends C> {
452
466
  step<U extends C>(edge: number | X<U>): X<InferOperator<T, U>>;
453
467
  }
454
468
 
455
- declare const linear: FnType<any, any[]>;
469
+ declare const backIn: FnType<Float, [Float]>;
470
+
471
+ declare const backInOut: FnType<Float, [Float]>;
472
+
473
+ declare const backOut: FnType<Float, [Float]>;
474
+
475
+ declare const bounceIn: FnType<Float, [Float]>;
476
+
477
+ declare const bounceInOut: FnType<Float, [Float]>;
478
+
479
+ declare const bounceOut: FnType<Float, [Float]>;
480
+
481
+ declare const circularIn: FnType<X, [X]>;
482
+
483
+ declare const circularInOut: FnType<X, [X]>;
484
+
485
+ declare const circularOut: FnType<X, [X]>;
486
+
487
+ declare const cubicIn: FnType<X, [X]>;
488
+
489
+ declare const cubicInOut: FnType<X, [X]>;
490
+
491
+ declare const cubicOut: FnType<X, [X]>;
492
+
493
+ declare const elasticIn: FnType<Float, [Float]>;
494
+
495
+ declare const elasticInOut: FnType<Float, [Float]>;
496
+
497
+ declare const elasticOut: FnType<Float, [Float]>;
498
+
499
+ declare const exponentialIn: FnType<X, [X]>;
500
+
501
+ declare const exponentialInOut: FnType<X, [X]>;
502
+
503
+ declare const exponentialOut: FnType<X, [X]>;
504
+
505
+ declare const linearIn: FnType<X, [X]>;
506
+
507
+ declare const linearInOut: FnType<X, [X]>;
508
+
509
+ declare const linearOut: FnType<X, [X]>;
510
+
511
+ declare const quadraticIn: FnType<X, [X]>;
512
+
513
+ declare const quadraticInOut: FnType<X, [X]>;
514
+
515
+ declare const quadraticOut: FnType<X, [X]>;
516
+
517
+ declare const quarticIn: FnType<X, [X]>;
518
+
519
+ declare const quarticInOut: FnType<X, [X]>;
520
+
521
+ declare const quarticOut: FnType<X, [X]>;
522
+
523
+ declare const quinticIn: FnType<X, [X]>;
524
+
525
+ declare const quinticInOut: FnType<X, [X]>;
526
+
527
+ declare const quinticOut: FnType<X, [X]>;
528
+
529
+ declare const sineIn: FnType<X, [X]>;
530
+
531
+ declare const sineInOut: FnType<X, [X]>;
532
+
533
+ declare const sineOut: FnType<X, [X]>;
534
+
535
+ declare const cmyk2rgb: FnType<Vec3, [Vec4]>;
536
+
537
+ declare const gamma2linear: FnType<X, [X]>;
538
+ declare const gamma2linearVec4: FnType<Vec4, [Vec4]>;
539
+
540
+ declare const hsl2rgb: FnType<Vec3, [Vec3]>;
541
+ declare const hsl2rgbVec4: FnType<Vec4, [Vec4]>;
542
+
543
+ declare const hsv2rgb: FnType<Vec3, [Vec3]>;
544
+ declare const hsv2rgbVec4: FnType<Vec4, [Vec4]>;
545
+
546
+ declare const hue2rgb: FnType<Vec3, [Float]>;
547
+
548
+ declare const lab2lch3: FnType<Vec3, [Vec3]>;
549
+ declare const lab2lch4: FnType<Vec4, [Vec4]>;
550
+ declare const lab2lch: FnType<Vec3, [Vec3]>;
551
+
552
+ declare const lab2rgb: FnType<Vec3, [Vec3]>;
553
+ declare const lab2rgbVec4: FnType<Vec4, [Vec4]>;
554
+
555
+ declare const lab2xyz: FnType<Vec3, [Vec3]>;
556
+ declare const lab2xyzVec4: FnType<Vec4, [Vec4]>;
557
+
558
+ declare const lch2lab3: FnType<Vec3, [Vec3]>;
559
+ declare const lch2lab4: FnType<Vec4, [Vec4]>;
560
+ declare const lch2lab: FnType<Vec3, [Vec3]>;
561
+
562
+ declare const lch2rgb3: FnType<Vec3, [Vec3]>;
563
+ declare const lch2rgb4: FnType<Vec4, [Vec4]>;
564
+ declare const lch2rgb: FnType<Vec3, [Vec3]>;
565
+
566
+ declare const linear2gamma: FnType<X, [X]>;
567
+ declare const linear2gammaVec4: FnType<Vec4, [Vec4]>;
568
+
569
+ declare const oklab2rgb3: FnType<Vec3, [Vec3]>;
570
+ declare const oklab2rgb4: FnType<Vec4, [Vec4]>;
571
+ declare const oklab2rgb: FnType<Vec3, [Vec3]>;
572
+
573
+ declare const rgb2cmyk: FnType<Vec4, [Vec3]>;
574
+
575
+ declare const rgb2hcv: FnType<Vec3, [Vec3]>;
576
+ declare const rgb2hcvVec4: FnType<Vec4, [Vec4]>;
577
+
578
+ declare const rgb2hsl: FnType<Vec3, [Vec3]>;
579
+ declare const rgb2hslVec4: FnType<Vec4, [Vec4]>;
580
+
581
+ declare const rgb2hsv: FnType<Vec3, [Vec3]>;
582
+ declare const rgb2hsvVec4: FnType<Vec4, [Vec4]>;
583
+
584
+ declare const rgb2hue: FnType<Float, [Vec3]>;
585
+ declare const rgb2hueVec4: FnType<Float, [Vec4]>;
586
+
587
+ declare const rgb2lab: FnType<Vec3, [Vec3]>;
588
+ declare const rgb2labVec4: FnType<Vec4, [Vec4]>;
589
+
590
+ declare const rgb2lch3: FnType<Vec3, [Vec3]>;
591
+ declare const rgb2lch4: FnType<Vec4, [Vec4]>;
592
+ declare const rgb2lch: FnType<Vec3, [Vec3]>;
593
+
594
+ declare const rgb2oklab3: FnType<Vec3, [Vec3]>;
595
+ declare const rgb2oklab4: FnType<Vec4, [Vec4]>;
596
+ declare const rgb2oklab: FnType<Vec3, [Vec3]>;
597
+
598
+ declare const rgb2srgbFloat: FnType<Float, [Float]>;
599
+ declare const rgb2srgbVec3: FnType<Vec3, [Vec3]>;
600
+ declare const rgb2srgbVec4: FnType<Vec4, [Vec4]>;
601
+ declare const rgb2srgb: FnType<Vec3, [Vec3]>;
602
+
603
+ declare const rgb2xyz: FnType<Vec3, [Vec3]>;
604
+ declare const rgb2xyzVec4: FnType<Vec4, [Vec4]>;
605
+
606
+ declare const rgb2yiq3: FnType<Vec3, [Vec3]>;
607
+ declare const rgb2yiq4: FnType<Vec4, [Vec4]>;
608
+ declare const rgb2yiq: FnType<Vec3, [Vec3]>;
609
+
610
+ declare const rgb2yuv3: FnType<Vec3, [Vec3]>;
611
+ declare const rgb2yuv4: FnType<Vec4, [Vec4]>;
612
+ declare const rgb2yuvSDTV: FnType<Vec3, [Vec3]>;
613
+ declare const rgb2yuv: FnType<Vec3, [Vec3]>;
614
+
615
+ declare const srgb2rgbFloat: FnType<Float, [Float]>;
616
+ declare const srgb2rgbVec3: FnType<Vec3, [Vec3]>;
617
+ declare const srgb2rgbVec4: FnType<Vec4, [Vec4]>;
618
+ declare const srgb2rgb: FnType<Vec3, [Vec3]>;
619
+
620
+ declare const xyz2lab: FnType<Vec3, [Vec3]>;
621
+ declare const xyz2labVec4: FnType<Vec4, [Vec4]>;
622
+
623
+ declare const xyz2rgb: FnType<Vec3, [Vec3]>;
624
+ declare const xyz2rgbVec4: FnType<Vec4, [Vec4]>;
625
+
626
+ declare const yiq2rgb3: FnType<Vec3, [Vec3]>;
627
+ declare const yiq2rgb4: FnType<Vec4, [Vec4]>;
628
+ declare const yiq2rgb: FnType<Vec3, [Vec3]>;
629
+
630
+ declare const yuv2rgb3: FnType<Vec3, [Vec3]>;
631
+ declare const yuv2rgb4: FnType<Vec4, [Vec4]>;
632
+ declare const yuv2rgbSDTV: FnType<Vec3, [Vec3]>;
633
+ declare const yuv2rgb: FnType<Vec3, [Vec3]>;
634
+
635
+ declare const arrowsTileCenterCoord: FnType<Vec2, [Vec2]>;
636
+ declare const arrowsWithResolution: FnType<Float, [Vec2, Vec2, Vec2]>;
637
+ declare const arrows: FnType<Float, [Vec2, Vec2]>;
638
+
639
+ declare const axis: FnType<Vec4, [Vec2, Mat4, Vec3, Float]>;
640
+
641
+ declare const bridgeFloat: FnType<Float, [Float, Float, Float, Float]>;
642
+ declare const bridgeVec2: FnType<Vec2, [Vec2, Float, Float, Float]>;
643
+ declare const bridgeVec3: FnType<Vec3, [Vec3, Float, Float, Float]>;
644
+ declare const bridgeVec4: FnType<Vec4, [Vec4, Float, Float, Float]>;
645
+ declare const bridge: FnType<X, [X, Float, Float, Float]>;
646
+
647
+ declare const charLookupSimple: FnType<Float, [Int]>;
648
+ declare const charSimple: FnType<Float, [Vec2, Int]>;
649
+ declare const char: FnType<Float, [Vec2, Int]>;
650
+
651
+ declare const circleFill: FnType<Float, [Vec2, Float]>;
652
+ declare const circleStroke: FnType<Float, [Vec2, Float, Float]>;
653
+ declare const circle: FnType<Float, [Vec2, Float]>;
654
+
655
+ declare const fillWithEdge: FnType<Float, [Float, Float, Float]>;
656
+ declare const fill: FnType<Float, [Float, Float]>;
657
+
658
+ declare const flipFloat: FnType<Float, [Float, Float]>;
659
+ declare const flipVec3: FnType<Vec3, [Vec3, Float]>;
660
+ declare const flipVec4: FnType<Vec4, [Vec4, Float]>;
661
+ declare const flip: FnType<X, [X, Float]>;
662
+
663
+ declare const hexFill: FnType<Float, [Vec2, Float]>;
664
+ declare const hexStroke: FnType<Float, [Vec2, Float, Float]>;
665
+ declare const hex: FnType<Float, [Vec2, Float]>;
666
+
667
+ declare const line: FnType<Float, [Vec2, Vec2, Vec2, Float]>;
668
+
669
+ declare const point2D: FnType<Vec4, [Vec2, Vec2, Vec3, Float]>;
670
+ declare const pointSimple: FnType<Vec4, [Vec2, Vec2]>;
671
+ declare const point: FnType<Vec4, [Vec2, Vec2]>;
672
+
673
+ declare const rectStroke: FnType<Float, [Vec2, Vec2, Float]>;
674
+ declare const rectStrokeUniform: FnType<Float, [Vec2, Float, Float]>;
675
+ declare const rectFill: FnType<Float, [Vec2, Vec2]>;
676
+ declare const rectFillUniform: FnType<Float, [Vec2, Float]>;
677
+ declare const rect: FnType<Float, [Vec2, Vec2]>;
678
+
679
+ declare const strokeWithEdge: FnType<Float, [Float, Float, Float, Float]>;
680
+ declare const stroke: FnType<Float, [Float, Float, Float]>;
681
+
682
+ declare const triFill: FnType<Float, [Vec2, Float]>;
683
+ declare const triStroke: FnType<Float, [Vec2, Float, Float]>;
684
+ declare const tri: FnType<Float, [Vec2, Float]>;
685
+
686
+ declare const AABB: StructFactory<{
687
+ minBounds: Vec3;
688
+ maxBounds: Vec3;
689
+ }>;
690
+ type AABBType = ReturnType<typeof AABB>;
691
+
692
+ declare const aabbCentroid: FnType<Vec3, [Struct<{
693
+ minBounds: Vec3;
694
+ maxBounds: Vec3;
695
+ }>]>;
696
+
697
+ declare const aabbContain: FnType<Bool, [Struct<{
698
+ minBounds: Vec3;
699
+ maxBounds: Vec3;
700
+ }>, Vec3]>;
701
+
702
+ declare const diagonal: FnType<Vec3, [Struct<{
703
+ minBounds: Vec3;
704
+ maxBounds: Vec3;
705
+ }>]>;
706
+
707
+ declare const expand: FnType<Struct<{
708
+ minBounds: Vec3;
709
+ maxBounds: Vec3;
710
+ }>, [Struct<{
711
+ minBounds: Vec3;
712
+ maxBounds: Vec3;
713
+ }>, Float]>;
714
+
715
+ declare const aabbIntersect: FnType<Vec2, [Struct<{
716
+ minBounds: Vec3;
717
+ maxBounds: Vec3;
718
+ }>, Vec3, Vec3]>;
719
+
720
+ declare const square: FnType<Struct<{
721
+ minBounds: Vec3;
722
+ maxBounds: Vec3;
723
+ }>, [Struct<{
724
+ minBounds: Vec3;
725
+ maxBounds: Vec3;
726
+ }>]>;
727
+
728
+ declare const area: FnType<Float, [Struct<{
729
+ a: Vec3;
730
+ b: Vec3;
731
+ c: Vec3;
732
+ }>]>;
733
+
734
+ declare const barycentricFromVec3: FnType<Vec3, [Vec3, Vec3, Vec3]>;
735
+ declare const barycentric: FnType<Vec3, [Struct<{
736
+ a: Vec3;
737
+ b: Vec3;
738
+ c: Vec3;
739
+ }>]>;
740
+ declare const barycentricFromPosition: FnType<Vec3, [Struct<{
741
+ a: Vec3;
742
+ b: Vec3;
743
+ c: Vec3;
744
+ }>, Vec3]>;
745
+
746
+ declare const triangleCentroid: FnType<Vec3, [Struct<{
747
+ a: Vec3;
748
+ b: Vec3;
749
+ c: Vec3;
750
+ }>]>;
751
+
752
+ declare const closestPointWithNormal: FnType<Vec3, [Struct<{
753
+ a: Vec3;
754
+ b: Vec3;
755
+ c: Vec3;
756
+ }>, Vec3, Vec3]>;
757
+ declare const closestPoint: FnType<Vec3, [Struct<{
758
+ a: Vec3;
759
+ b: Vec3;
760
+ c: Vec3;
761
+ }>, Vec3]>;
762
+
763
+ declare const triangleContain: FnType<Bool, [Struct<{
764
+ a: Vec3;
765
+ b: Vec3;
766
+ c: Vec3;
767
+ }>, Vec3]>;
768
+
769
+ declare const distanceSq: FnType<Float, [Struct<{
770
+ a: Vec3;
771
+ b: Vec3;
772
+ c: Vec3;
773
+ }>, Vec3]>;
774
+
775
+ declare const Ray: StructFactory<{
776
+ origin: Vec3;
777
+ direction: Vec3;
778
+ }>;
779
+ type RayType = ReturnType<typeof Ray>;
780
+ declare const triangleIntersect: FnType<Float, [Struct<{
781
+ a: Vec3;
782
+ b: Vec3;
783
+ c: Vec3;
784
+ }>, Vec3, Vec3]>;
785
+ declare const triangleIntersectRay: FnType<Float, [Struct<{
786
+ a: Vec3;
787
+ b: Vec3;
788
+ c: Vec3;
789
+ }>, Struct<{
790
+ origin: Vec3;
791
+ direction: Vec3;
792
+ }>]>;
793
+
794
+ declare const normal: FnType<Vec3, [Struct<{
795
+ a: Vec3;
796
+ b: Vec3;
797
+ c: Vec3;
798
+ }>]>;
799
+
800
+ declare const signedDistanceWithNormal: FnType<Float, [Struct<{
801
+ a: Vec3;
802
+ b: Vec3;
803
+ c: Vec3;
804
+ }>, Vec3, Vec3]>;
805
+ declare const signedDistance: FnType<Float, [Struct<{
806
+ a: Vec3;
807
+ b: Vec3;
808
+ c: Vec3;
809
+ }>, Vec3]>;
810
+
811
+ declare const Triangle: StructFactory<{
812
+ a: Vec3;
813
+ b: Vec3;
814
+ c: Vec3;
815
+ }>;
816
+ type TriangleType = ReturnType<typeof Triangle>;
817
+
818
+ declare const cnoiseVec2: FnType<Float, [Vec2]>;
819
+ declare const cnoiseVec3: FnType<Float, [Vec3]>;
820
+ declare const cnoiseVec4: FnType<Float, [Vec4]>;
821
+
822
+ declare const curlVec2: FnType<Vec2, [Vec2]>;
823
+ declare const curlVec3: FnType<Vec3, [Vec3]>;
824
+ declare const curlVec4: FnType<Vec3, [Vec4]>;
825
+
826
+ declare const fbmVec2: FnType<Float, [Vec2]>;
827
+ declare const fbmVec3: FnType<Float, [Vec3]>;
828
+ declare const fbmVec3Tiled: FnType<Float, [Vec3, Float]>;
829
+ declare const fbm: FnType<Float, [Vec3]>;
830
+
831
+ declare const gerstnerWave: FnType<Vec3, [Vec2, Vec2, Float, Float, Float]>;
832
+
833
+ declare const gnoise: FnType<Float, [Float]>;
834
+ declare const gnoiseVec2: FnType<Float, [Vec2]>;
835
+ declare const gnoiseVec3: FnType<Float, [Vec3]>;
836
+ declare const gnoiseVec3Tiled: FnType<Float, [Vec3, Float]>;
837
+ declare const gnoise3: FnType<Vec3, [Vec3]>;
838
+
839
+ declare const noised: FnType<Vec3, [Vec2]>;
840
+ declare const noisedVec3: FnType<Vec4, [Vec3]>;
841
+
842
+ declare const pnoise: FnType<Float, [Vec2, Vec2]>;
843
+ declare const pnoiseVec3: FnType<Float, [Vec3, Vec3]>;
844
+ declare const pnoiseVec4: FnType<Float, [Vec4, Vec4]>;
845
+
846
+ declare const psrdnoise2D: FnType<Vec2, [Vec2, Vec2, Float]>;
847
+ declare const psrdnoise3D: FnType<Vec3, [Vec3, Vec3, Float]>;
848
+ declare const psrdnoise: FnType<Float, [Vec2]>;
849
+ declare const psrdnoise2: FnType<Float, [Vec2, Vec2]>;
850
+ declare const psrdnoisePeriod: FnType<Float, [Vec2, Vec2]>;
851
+ declare const psrdnoiseAlpha: FnType<Float, [Vec2, Vec2, Float]>;
852
+ declare const psrdnoise3: FnType<Float, [Vec3]>;
853
+ declare const psrdnoise3Period: FnType<Float, [Vec3, Vec3]>;
854
+ declare const psrdnoise3Alpha: FnType<Float, [Vec3, Vec3, Float]>;
855
+
856
+ declare const random: FnType<Float, [Float]>;
857
+ declare const randomVec2: FnType<Float, [Vec2]>;
858
+ declare const randomVec3: FnType<Float, [Vec3]>;
859
+ declare const randomVec4: FnType<Float, [Vec4]>;
860
+ declare const random2Float: FnType<Vec2, [Float]>;
861
+ declare const random2Vec2: FnType<Vec2, [Vec2]>;
862
+ declare const random2Vec3: FnType<Vec2, [Vec3]>;
863
+ declare const random3Float: FnType<Vec3, [Float]>;
864
+ declare const random3Vec2: FnType<Vec3, [Vec2]>;
865
+ declare const random3Vec3: FnType<Vec3, [Vec3]>;
866
+ declare const random4Float: FnType<Vec4, [Float]>;
867
+ declare const random4Vec2: FnType<Vec4, [Vec2]>;
868
+ declare const random4Vec3: FnType<Vec4, [Vec3]>;
869
+ declare const random4Vec4: FnType<Vec4, [Vec4]>;
870
+
871
+ declare const snoiseVec2: FnType<Float, [Vec2]>;
872
+ declare const snoiseVec3: FnType<Float, [Vec3]>;
873
+ declare const snoiseVec4: FnType<Float, [Vec4]>;
874
+ declare const snoise2: FnType<Vec2, [Vec2]>;
875
+ declare const snoise3Vec3: FnType<Vec3, [Vec3]>;
876
+ declare const snoise3Vec4: FnType<Vec3, [Vec4]>;
877
+
878
+ declare const srandom: FnType<Float, [Float]>;
879
+ declare const srandomVec2: FnType<Float, [Vec2]>;
880
+ declare const srandomVec3: FnType<Float, [Vec3]>;
881
+ declare const srandomVec4: FnType<Float, [Vec4]>;
882
+ declare const srandom2Vec2: FnType<Vec2, [Vec2]>;
883
+ declare const srandom3Vec3: FnType<Vec3, [Vec3]>;
884
+ declare const srandom2Vec2Tiled: FnType<Vec2, [Vec2, Float]>;
885
+ declare const srandom3Vec3Tiled: FnType<Vec3, [Vec3, Float]>;
886
+
887
+ declare const voronoi: FnType<Vec3, [Vec2, Float]>;
888
+ declare const voronoiVec2: FnType<Vec3, [Vec2]>;
889
+ declare const voronoiVec3: FnType<Vec3, [Vec3]>;
890
+
891
+ declare const voronoise: FnType<Float, [Vec2, Float, Float]>;
892
+ declare const voronoiseVec3: FnType<Float, [Vec3, Float, Float]>;
893
+
894
+ declare const wavelet: FnType<Float, [Vec2, Float, Float]>;
895
+ declare const waveletVec3K: FnType<Float, [Vec3, Float]>;
896
+ declare const waveletVec3: FnType<Float, [Vec3]>;
897
+ declare const waveletVec2Phase: FnType<Float, [Vec2, Float]>;
898
+ declare const waveletVec2: FnType<Float, [Vec2]>;
899
+
900
+ declare const worley2Vec2: FnType<Vec2, [Vec2]>;
901
+ declare const worleyVec2: FnType<Float, [Vec2]>;
902
+ declare const worley2Vec3: FnType<Vec2, [Vec3]>;
903
+ declare const worleyVec3: FnType<Float, [Vec3]>;
904
+
905
+ declare const aafloor: FnType<X, [X]>;
906
+
907
+ declare const aafract: FnType<X, [X]>;
908
+ declare const aafractVec2: FnType<Vec2, [Vec2]>;
909
+
910
+ declare const aamirror: FnType<X, [X]>;
911
+
912
+ declare const aastep: FnType<Float, [Float, Float]>;
913
+
914
+ declare const absi: FnType<X, [X]>;
915
+
916
+ declare const adaptiveThreshold: FnType<Float, [Float, Float, Float]>;
917
+ declare const adaptiveThresholdSimple: FnType<Float, [Float, Float]>;
918
+
919
+ declare const bump: FnType<X, [X, X]>;
920
+ declare const bumpSimple: FnType<X, [X]>;
921
+
922
+ declare const EIGHTH_PI: Float;
923
+ declare const QTR_PI: Float;
924
+ declare const HALF_PI: Float;
925
+ declare const PI: Float;
926
+ declare const TWO_PI: Float;
927
+ declare const TAU: Float;
928
+ declare const INV_PI: Float;
929
+ declare const INV_SQRT_TAU: Float;
930
+ declare const SQRT_HALF_PI: Float;
931
+ declare const PHI: Float;
932
+ declare const EPSILON: Float;
933
+ declare const GOLDEN_RATIO: Float;
934
+ declare const GOLDEN_RATIO_CONJUGATE: Float;
935
+ declare const GOLDEN_ANGLE: Float;
936
+ declare const DEG2RAD: Float;
937
+ declare const RAD2DEG: Float;
938
+
939
+ declare const cubic: FnType<Float, [Float]>;
940
+ declare const cubicVec2: FnType<Vec2, [Vec2]>;
941
+ declare const cubicVec3: FnType<Vec3, [Vec3]>;
942
+ declare const cubicVec4: FnType<Vec4, [Vec4]>;
943
+ declare const cubicFloatSlopes: FnType<Float, [Float, Float, Float]>;
944
+ declare const cubicVec2Slopes: FnType<Vec2, [Vec2, Float, Float]>;
945
+ declare const cubicVec3Slopes: FnType<Vec3, [Vec3, Float, Float]>;
946
+ declare const cubicVec4Slopes: FnType<Vec4, [Vec4, Float, Float]>;
947
+
948
+ declare const cubicMix: FnType<X, [Float, Float, Float]>;
949
+ declare const cubicMixVec2: FnType<X, [Vec2, Vec2, Vec2]>;
950
+ declare const cubicMixVec3: FnType<X, [Vec3, Vec3, Vec3]>;
951
+ declare const cubicMixVec4: FnType<X, [Vec4, Vec4, Vec4]>;
952
+
953
+ declare const decimate: FnType<X, [X, X]>;
954
+
955
+ declare const distEuclidean: FnType<Float, [Vec4 | Vec2 | Vec3, Vec4 | Vec2 | Vec3]>;
956
+ declare const distManhattan: FnType<Float, [Vec2, Vec2]>;
957
+ declare const distManhattan3: FnType<Float, [Vec3, Vec3]>;
958
+ declare const distManhattan4: FnType<Float, [Vec4, Vec4]>;
959
+ declare const distChebychev: FnType<Float, [Vec2, Vec2]>;
960
+ declare const distChebychev3: FnType<Float, [Vec3, Vec3]>;
961
+ declare const distChebychev4: FnType<Float, [Vec4, Vec4]>;
962
+ declare const distMinkowski: FnType<Float, [Vec2, Vec2]>;
963
+ declare const distMinkowski3: FnType<Float, [Vec3, Vec3]>;
964
+ declare const distMinkowski4: FnType<Float, [Vec4, Vec4]>;
965
+ declare const dist: FnType<Float, [Vec4 | Vec2 | Vec3, Vec4 | Vec2 | Vec3]>;
966
+
967
+ declare const fcos: FnType<Float, [Float]>;
968
+
969
+ declare const frac: FnType<X, [X]>;
970
+
971
+ declare const gain: FnType<X, [X, X]>;
972
+
973
+ declare const gaussian: FnType<X, [X<"ivec2" | "vec2" | "ivec3" | "vec3" | "ivec4" | "vec4">, X]>;
974
+
975
+ declare const grad4: FnType<Vec4, [Float, Vec4]>;
976
+
977
+ declare const hammersley: FnType<Vec2, [Int, Int]>;
978
+ declare const hemisphereCosSample: FnType<Vec3, [Vec2]>;
979
+
980
+ declare const highPass: FnType<Float, [Float, Float]>;
981
+
982
+ declare const inside: FnType<Bool, [X, X, X]>;
983
+ declare const insideFloat: FnType<Bool, [Float, Float, Float]>;
984
+ declare const insideVec2: FnType<Bool, [Vec2, Vec2, Vec2]>;
985
+ declare const insideVec3: FnType<Bool, [Vec3, Vec3, Vec3]>;
986
+ declare const insideAABB: FnType<Bool, [Vec2, Vec4]>;
987
+
988
+ declare const invCubic: FnType<X, [X]>;
989
+
990
+ declare const invQuartic: FnType<X, [X]>;
991
+
992
+ declare const inverse: FnType<X, [X]>;
993
+
994
+ declare const lengthSq: FnType<X, [X]>;
995
+
996
+ declare const map: FnType<X, [X, X, X]>;
997
+ declare const mapRange: FnType<X, [X, X, X, X, X]>;
998
+
999
+ declare const mirror: FnType<X, [X]>;
1000
+
1001
+ declare const mmax2: FnType<Float, [Vec2]>;
1002
+ declare const mmax3: FnType<Float, [Vec3]>;
1003
+ declare const mmax4: FnType<Float, [Vec4]>;
1004
+ declare const mmax: FnType<Float, [Vec4]>;
1005
+
1006
+ declare const mmin2: FnType<Float, [Vec2]>;
1007
+ declare const mmin3: FnType<Float, [Vec3]>;
1008
+ declare const mmin4: FnType<Float, [Vec4]>;
1009
+ declare const mmin: FnType<Float, [Vec4]>;
1010
+
1011
+ declare const mmix: FnType<X, [X, X, X]>;
1012
+ declare const mmix3: FnType<X, [X, X, X, X]>;
1013
+ declare const mmix4: FnType<X, [X, X, X, X, X]>;
1014
+
1015
+ declare const mod289: FnType<Float, [Float]>;
1016
+ declare const mod289Vec2: FnType<Vec2, [Vec2]>;
1017
+ declare const mod289Vec3: FnType<Vec3, [Vec3]>;
1018
+ declare const mod289Vec4: FnType<Vec4, [Vec4]>;
1019
+
1020
+ declare const mod2: FnType<X, [Vec2, X]>;
1021
+ declare const mod2Cell: FnType<Vec2, [Vec2, X]>;
1022
+ declare const mod2Wrap: FnType<Vec2, [Vec2, X]>;
1023
+
1024
+ declare const modi: FnType<Int, [Int, Int]>;
1025
+
1026
+ declare const nyquist: FnType<X, [X, Float]>;
1027
+
1028
+ declare const pack: FnType<Vec4, [Float]>;
1029
+
1030
+ declare const parabola: FnType<Float, [Float, Float]>;
1031
+
1032
+ declare const permute: FnType<Float, [Float]>;
1033
+ declare const permuteVec2: FnType<Vec2, [Vec2]>;
1034
+ declare const permuteVec3: FnType<Vec3, [Vec3]>;
1035
+ declare const permuteVec4: FnType<Vec4, [Vec4]>;
1036
+
1037
+ declare const pow2: FnType<X, [X]>;
1038
+
1039
+ declare const pow3: FnType<X, [X]>;
1040
+
1041
+ declare const pow5: FnType<X, [X]>;
1042
+
1043
+ declare const pow7: FnType<X, [X]>;
1044
+
1045
+ declare const powFast: FnType<X, [X, X]>;
1046
+
1047
+ declare const quat2mat3: FnType<Mat3, [Vec4]>;
1048
+
1049
+ declare const quat2mat4: FnType<Mat4, [Vec4]>;
1050
+
1051
+ declare const quatAdd: FnType<Vec4, [Vec4, Vec4]>;
1052
+
1053
+ declare const quatConj: FnType<Vec4, [Vec4]>;
1054
+
1055
+ declare const quatDiv: FnType<Vec4, [Vec4, Float]>;
1056
+
1057
+ declare const quatIdentity: FnType<Vec4, any[]>;
1058
+
1059
+ declare const quatInverse: FnType<Vec4, [Vec4]>;
1060
+
1061
+ declare const quatLength: FnType<Float, [Vec4]>;
1062
+
1063
+ declare const quatLengthSq: FnType<Float, [Vec4]>;
1064
+
1065
+ declare const quatLerp: FnType<Vec4, [Vec4, Vec4, Float]>;
1066
+
1067
+ declare const quatMul: FnType<Vec4, [Vec4, Vec4]>;
1068
+ declare const quatMulScalar: FnType<Vec4, [Vec4, Float]>;
1069
+
1070
+ declare const quatNeg: FnType<Vec4, [Vec4]>;
1071
+
1072
+ declare const quatNorm: FnType<Vec4, [Vec4]>;
1073
+
1074
+ declare const quatSub: FnType<Vec4, [Vec4, Vec4]>;
1075
+
1076
+ declare const quartic: FnType<X, [X]>;
1077
+
1078
+ declare const quintic: FnType<X, [X]>;
1079
+
1080
+ declare const rotate2d: FnType<Mat2, [Float]>;
1081
+
1082
+ declare const rotate3d: FnType<Mat3, [Vec3, Float]>;
1083
+
1084
+ declare const rotate3dX: FnType<Mat3, [Float]>;
1085
+
1086
+ declare const rotate3dY: FnType<Mat3, [Float]>;
1087
+
1088
+ declare const rotate3dZ: FnType<Mat3, [Float]>;
1089
+
1090
+ declare const rotate4d: FnType<Mat4, [Vec3, Float]>;
1091
+
1092
+ declare const rotate4dX: FnType<Mat4, [Float]>;
1093
+
1094
+ declare const rotate4dY: FnType<Mat4, [Float]>;
1095
+
1096
+ declare const rotate4dZ: FnType<Mat4, [Float]>;
1097
+
1098
+ declare const saturateMediump: FnType<X, [X]>;
1099
+
1100
+ declare const scale2d: FnType<Mat2, [Float]>;
1101
+ declare const scale2dVec: FnType<Mat2, [Vec2]>;
1102
+ declare const scale2dXY: FnType<Mat2, [Float, Float]>;
1103
+
1104
+ declare const scale3d: FnType<Mat3, [Float]>;
1105
+ declare const scale3dVec: FnType<Mat3, [Vec3]>;
1106
+
1107
+ declare const scale4d: FnType<Mat4, [Float]>;
1108
+ declare const scale4dXYZ: FnType<Mat4, [Float, Float, Float]>;
1109
+ declare const scale4dXYZW: FnType<Mat4, [Float, Float, Float, Float]>;
1110
+ declare const scale4dVec3: FnType<Mat4, [Vec3]>;
1111
+ declare const scale4dVec4: FnType<Mat4, [Vec4]>;
1112
+
1113
+ declare const smootherstep: FnType<X, [X, X, X]>;
1114
+
1115
+ declare const taylorInvSqrt: FnType<X, [X]>;
1116
+
1117
+ declare const toMat3: FnType<Mat3, [Mat4]>;
1118
+
1119
+ declare const toMat4: FnType<Mat4, [Mat3]>;
1120
+
1121
+ declare const translate4d: FnType<Mat4, [X, (X | undefined)?, (X | undefined)?]>;
1122
+
1123
+ declare const unpack8: FnType<Float, [Vec3]>;
1124
+ declare const unpack16: FnType<Float, [Vec3]>;
1125
+ declare const unpack32: FnType<Float, [Vec3]>;
1126
+ declare const unpack64: FnType<Float, [Vec3]>;
1127
+ declare const unpack128: FnType<Float, [Vec3]>;
1128
+ declare const unpack256: FnType<Float, [Vec3]>;
1129
+ declare const unpackBase: FnType<Float, [Vec3, Float]>;
1130
+ declare const unpack: FnType<Float, [Vec4]>;
1131
+ declare const unpackDefault: FnType<Float, [Vec3]>;
1132
+
1133
+ declare const circleSDF: FnType<Float, [Vec2, Vec2]>;
1134
+ declare const circleSDFBasic: FnType<Float, [Vec2]>;
1135
+
1136
+ declare const sphereSDF: FnType<Float, [Vec3]>;
1137
+ declare const sphereSDFRadius: FnType<Float, [Vec3, Float]>;
1138
+
1139
+ declare const rectSDFBasic: FnType<Float, [Vec2]>;
1140
+ declare const rectSDF: FnType<Float, [Vec2, Vec2]>;
1141
+ declare const rectSDFUniform: FnType<Float, [Vec2, Float]>;
1142
+ declare const rectSDFRounded: FnType<Float, [Vec2, Vec2, Float]>;
1143
+
1144
+ declare const boxSDF: FnType<Float, [Vec3]>;
1145
+ declare const boxSDFSize: FnType<Float, [Vec3, Vec3]>;
1146
+
1147
+ declare const lineSDF2D: FnType<Float, [Vec2, Vec2, Vec2]>;
1148
+ declare const lineSDF3D: FnType<Float, [Vec3, Vec3, Vec3]>;
1149
+ declare const lineSDF: FnType<Float, [Vec2, Vec2, Vec2]>;
1150
+
1151
+ declare const hexSDF: FnType<Float, [Vec2]>;
1152
+
1153
+ declare const triSDF: FnType<Float, [Vec2]>;
1154
+
1155
+ declare const aspect: FnType<Vec2, [Vec2, Vec2]>;
1156
+
1157
+ declare const bracketingAxis0: FnType<Vec2, [Vec2]>;
1158
+ declare const bracketingAxis1: FnType<Vec2, [Vec2]>;
1159
+ declare const bracketingBlend: FnType<Float, [Vec2]>;
1160
+
1161
+ declare const brickTile: FnType<Vec4, [Vec4]>;
1162
+ declare const brickTileVec2: FnType<Vec4, [Vec2]>;
1163
+ declare const brickTileFloat: FnType<Vec4, [Vec2, Float]>;
1164
+ declare const brickTileVec2Scale: FnType<Vec4, [Vec2, Vec2]>;
1165
+
1166
+ declare const cart2polar: FnType<Vec2, [Vec2]>;
1167
+ declare const cart2polar3D: FnType<Vec3, [Vec3]>;
1168
+
1169
+ declare const centerFloat: FnType<Float, [Float]>;
1170
+ declare const centerVec2: FnType<Vec2, [Vec2]>;
1171
+ declare const centerVec3: FnType<Vec3, [Vec3]>;
1172
+
1173
+ declare const checkerTile: FnType<Float, [Vec4]>;
1174
+ declare const checkerTileVec2: FnType<Float, [Vec2]>;
1175
+ declare const checkerTileFloat: FnType<Float, [Vec2, Float]>;
1176
+ declare const checkerTileVec2Scale: FnType<Float, [Vec2, Vec2]>;
1177
+
1178
+ declare const depth2viewZ: FnType<Float, [Float, Float, Float]>;
1179
+ declare const depth2viewZOrthographic: FnType<Float, [Float, Float, Float]>;
1180
+ declare const depth2viewZCombined: FnType<Float, [Float, Float, Float, Float]>;
1181
+
1182
+ declare const displace: FnType<Vec3, [X, Vec3, Vec3]>;
1183
+ declare const displaceUV: FnType<Vec3, [X, Vec3, Vec2]>;
1184
+
1185
+ declare const equirect2xyz: FnType<Vec3, [Vec2]>;
1186
+
1187
+ declare const eulerView: FnType<Mat4, [Vec3, Vec3]>;
1188
+
1189
+ declare const fisheye2xyz: FnType<Vec3, [Vec2]>;
1190
+
1191
+ declare const flipYVec2: FnType<Vec2, [Vec2]>;
1192
+ declare const flipYVec3: FnType<Vec3, [Vec3]>;
1193
+ declare const flipYVec4: FnType<Vec4, [Vec4]>;
1194
+
1195
+ declare const hexTile: FnType<Vec4, [Vec2]>;
1196
+
1197
+ declare const kaleidoscope: FnType<Vec2, [Vec2, Float, Float]>;
1198
+ declare const kaleidoscopeDefault: FnType<Vec2, [Vec2]>;
1199
+ declare const kaleidoscopeCount: FnType<Vec2, [Vec2, Float]>;
1200
+
1201
+ declare const linearizeDepth: FnType<Float, [Float, Float, Float]>;
1202
+
1203
+ declare const mirrorTile: FnType<Vec4, [Vec4]>;
1204
+ declare const mirrorTileVec2: FnType<Vec4, [Vec2]>;
1205
+ declare const mirrorTileFloat: FnType<Vec4, [Vec2, Float]>;
1206
+ declare const mirrorTileVec2Scale: FnType<Vec4, [Vec2, Vec2]>;
1207
+ declare const mirrorXTile: FnType<Vec4, [Vec4]>;
1208
+ declare const mirrorXTileVec2: FnType<Vec4, [Vec2]>;
1209
+ declare const mirrorYTile: FnType<Vec4, [Vec4]>;
1210
+ declare const mirrorYTileVec2: FnType<Vec4, [Vec2]>;
1211
+
1212
+ declare const nearest: FnType<Vec2, [Vec2, Vec2]>;
1213
+
1214
+ declare const orthographic: FnType<Mat4, [Float, Float, Float, Float, Float, Float]>;
1215
+
1216
+ declare const parallaxMappingSimple: FnType<Vec2, [X, Vec3, Vec2]>;
1217
+ declare const parallaxMappingSteep: FnType<Vec2, [X, Vec3, Vec2]>;
1218
+ declare const parallaxMappingRelief: FnType<Vec2, [X, Vec3, Vec2]>;
1219
+ declare const parallaxMappingOcclusion: FnType<Vec2, [X, Vec3, Vec2]>;
1220
+ declare const parallaxMapping: FnType<Vec2, [X, Vec3, Vec2]>;
1221
+
1222
+ declare const perspective: FnType<Mat4, [Float, Float, Float, Float]>;
1223
+
1224
+ declare const lookAtForward: FnType<Mat3, [Vec3, Vec3]>;
1225
+ declare const lookAt: FnType<Mat3, [Vec3, Vec3, Vec3]>;
1226
+ declare const lookAtRoll: FnType<Mat3, [Vec3, Vec3, Float]>;
1227
+ declare const lookAtBasic: FnType<Mat3, [Vec3]>;
1228
+
1229
+ declare const polar2cart: FnType<Vec2, [Vec2]>;
1230
+ declare const polar2cart3D: FnType<Vec3, [Float, Float, Float]>;
1231
+
1232
+ declare const ratio: FnType<Vec2, [Vec2, Vec2]>;
1233
+
1234
+ declare const sprite: FnType<Vec2, [Vec2, Vec2, Float]>;
1235
+
1236
+ declare const sqTile: FnType<Vec4, [Vec2]>;
1237
+ declare const sqTileScale: FnType<Vec4, [Vec2, Float]>;
1238
+
1239
+ declare const tbn: FnType<Mat3, [Vec3, Vec3, Vec3]>;
1240
+ declare const tbnFromNormal: FnType<Mat3, [Vec3, Vec3]>;
1241
+
1242
+ declare const translateMat3: FnType<Mat4, [Mat3, Vec3]>;
1243
+
1244
+ declare const lookAtView: FnType<Mat4, [Vec3, Vec3, Vec3]>;
1245
+ declare const lookAtViewRoll: FnType<Mat4, [Vec3, Vec3, Float]>;
1246
+ declare const lookAtViewBasic: FnType<Mat4, [Vec3, Vec3]>;
1247
+
1248
+ declare const rotate2DCenter: FnType<Vec2, [Vec2, Float, Vec2]>;
1249
+ declare const rotate2DBasic: FnType<Vec2, [Vec2, Float]>;
1250
+ declare const rotate2DAxis: FnType<Vec2, [Vec2, Vec2]>;
1251
+
1252
+ declare const rotateXVec4Center: FnType<Vec4, [Vec4, Float, Vec4]>;
1253
+ declare const rotateXVec4: FnType<Vec4, [Vec4, Float]>;
1254
+ declare const rotateXVec3Center: FnType<Vec3, [Vec3, Float, Vec3]>;
1255
+ declare const rotateXVec3: FnType<Vec3, [Vec3, Float]>;
1256
+
1257
+ declare const rotateYVec4Center: FnType<Vec4, [Vec4, Float, Vec4]>;
1258
+ declare const rotateYVec4: FnType<Vec4, [Vec4, Float]>;
1259
+ declare const rotateYVec3Center: FnType<Vec3, [Vec3, Float, Vec3]>;
1260
+ declare const rotateYVec3: FnType<Vec3, [Vec3, Float]>;
1261
+
1262
+ declare const rotateZVec4Center: FnType<Vec4, [Vec4, Float, Vec4]>;
1263
+ declare const rotateZVec4: FnType<Vec4, [Vec4, Float]>;
1264
+ declare const rotateZVec3Center: FnType<Vec3, [Vec3, Float, Vec3]>;
1265
+ declare const rotateZVec3: FnType<Vec3, [Vec3, Float]>;
1266
+
1267
+ declare const unratio: FnType<Vec2, [Vec2, Vec2]>;
1268
+
1269
+ declare const uncenterFloat: FnType<Float, [Float]>;
1270
+ declare const uncenterVec2: FnType<Vec2, [Vec2]>;
1271
+ declare const uncenterVec3: FnType<Vec3, [Vec3]>;
1272
+
1273
+ declare const viewZ2depth: FnType<Float, [Float, Float, Float]>;
1274
+ declare const viewZ2depthOrthographic: FnType<Float, [Float, Float, Float]>;
1275
+
1276
+ declare const xyz2equirect: FnType<Vec2, [Vec3]>;
1277
+
1278
+ declare const triTile: FnType<Vec4, [Vec2]>;
1279
+ declare const triTileScaled: FnType<Vec4, [Vec2, Float]>;
1280
+
1281
+ declare const windmillTile: FnType<Vec4, [Vec4, Float]>;
1282
+ declare const windmillTileDefault: FnType<Vec4, [Vec4]>;
1283
+ declare const windmillTileVec2: FnType<Vec4, [Vec2]>;
1284
+ declare const windmillTileFloat: FnType<Vec4, [Vec2, Float]>;
1285
+ declare const windmillTileVec2Scale: FnType<Vec4, [Vec2, Vec2]>;
456
1286
 
457
- export { linear };
1287
+ export { AABB, type AABBType, DEG2RAD, EIGHTH_PI, EPSILON, GOLDEN_ANGLE, GOLDEN_RATIO, GOLDEN_RATIO_CONJUGATE, HALF_PI, INV_PI, INV_SQRT_TAU, PHI, PI, QTR_PI, RAD2DEG, Ray, type RayType, SQRT_HALF_PI, TAU, TWO_PI, Triangle, type TriangleType, aabbCentroid, aabbContain, aabbIntersect, aafloor, aafract, aafractVec2, aamirror, aastep, absi, adaptiveThreshold, adaptiveThresholdSimple, area, arrows, arrowsTileCenterCoord, arrowsWithResolution, aspect, axis, backIn, backInOut, backOut, barycentric, barycentricFromPosition, barycentricFromVec3, bounceIn, bounceInOut, bounceOut, boxSDF, boxSDFSize, bracketingAxis0, bracketingAxis1, bracketingBlend, brickTile, brickTileFloat, brickTileVec2, brickTileVec2Scale, bridge, bridgeFloat, bridgeVec2, bridgeVec3, bridgeVec4, bump, bumpSimple, cart2polar, cart2polar3D, centerFloat, centerVec2, centerVec3, char, charLookupSimple, charSimple, checkerTile, checkerTileFloat, checkerTileVec2, checkerTileVec2Scale, circle, circleFill, circleSDF, circleSDFBasic, circleStroke, circularIn, circularInOut, circularOut, closestPoint, closestPointWithNormal, cmyk2rgb, cnoiseVec2, cnoiseVec3, cnoiseVec4, cubic, cubicFloatSlopes, cubicIn, cubicInOut, cubicMix, cubicMixVec2, cubicMixVec3, cubicMixVec4, cubicOut, cubicVec2, cubicVec2Slopes, cubicVec3, cubicVec3Slopes, cubicVec4, cubicVec4Slopes, curlVec2, curlVec3, curlVec4, decimate, depth2viewZ, depth2viewZCombined, depth2viewZOrthographic, diagonal, displace, displaceUV, dist, distChebychev, distChebychev3, distChebychev4, distEuclidean, distManhattan, distManhattan3, distManhattan4, distMinkowski, distMinkowski3, distMinkowski4, distanceSq, elasticIn, elasticInOut, elasticOut, equirect2xyz, eulerView, expand, exponentialIn, exponentialInOut, exponentialOut, fbm, fbmVec2, fbmVec3, fbmVec3Tiled, fcos, fill, fillWithEdge, fisheye2xyz, flip, flipFloat, flipVec3, flipVec4, flipYVec2, flipYVec3, flipYVec4, frac, gain, gamma2linear, gamma2linearVec4, gaussian, gerstnerWave, gnoise, gnoise3, gnoiseVec2, gnoiseVec3, gnoiseVec3Tiled, grad4, hammersley, hemisphereCosSample, hex, hexFill, hexSDF, hexStroke, hexTile, highPass, hsl2rgb, hsl2rgbVec4, hsv2rgb, hsv2rgbVec4, hue2rgb, inside, insideAABB, insideFloat, insideVec2, insideVec3, invCubic, invQuartic, inverse, kaleidoscope, kaleidoscopeCount, kaleidoscopeDefault, lab2lch, lab2lch3, lab2lch4, lab2rgb, lab2rgbVec4, lab2xyz, lab2xyzVec4, lch2lab, lch2lab3, lch2lab4, lch2rgb, lch2rgb3, lch2rgb4, lengthSq, line, lineSDF, lineSDF2D, lineSDF3D, linear2gamma, linear2gammaVec4, linearIn, linearInOut, linearOut, linearizeDepth, lookAt, lookAtBasic, lookAtForward, lookAtRoll, lookAtView, lookAtViewBasic, lookAtViewRoll, map, mapRange, mirror, mirrorTile, mirrorTileFloat, mirrorTileVec2, mirrorTileVec2Scale, mirrorXTile, mirrorXTileVec2, mirrorYTile, mirrorYTileVec2, mmax, mmax2, mmax3, mmax4, mmin, mmin2, mmin3, mmin4, mmix, mmix3, mmix4, mod2, mod289, mod289Vec2, mod289Vec3, mod289Vec4, mod2Cell, mod2Wrap, modi, nearest, noised, noisedVec3, normal, nyquist, oklab2rgb, oklab2rgb3, oklab2rgb4, orthographic, pack, parabola, parallaxMapping, parallaxMappingOcclusion, parallaxMappingRelief, parallaxMappingSimple, parallaxMappingSteep, permute, permuteVec2, permuteVec3, permuteVec4, perspective, pnoise, pnoiseVec3, pnoiseVec4, point, point2D, pointSimple, polar2cart, polar2cart3D, pow2, pow3, pow5, pow7, powFast, psrdnoise, psrdnoise2, psrdnoise2D, psrdnoise3, psrdnoise3Alpha, psrdnoise3D, psrdnoise3Period, psrdnoiseAlpha, psrdnoisePeriod, quadraticIn, quadraticInOut, quadraticOut, quartic, quarticIn, quarticInOut, quarticOut, quat2mat3, quat2mat4, quatAdd, quatConj, quatDiv, quatIdentity, quatInverse, quatLength, quatLengthSq, quatLerp, quatMul, quatMulScalar, quatNeg, quatNorm, quatSub, quintic, quinticIn, quinticInOut, quinticOut, random, random2Float, random2Vec2, random2Vec3, random3Float, random3Vec2, random3Vec3, random4Float, random4Vec2, random4Vec3, random4Vec4, randomVec2, randomVec3, randomVec4, ratio, rect, rectFill, rectFillUniform, rectSDF, rectSDFBasic, rectSDFRounded, rectSDFUniform, rectStroke, rectStrokeUniform, rgb2cmyk, rgb2hcv, rgb2hcvVec4, rgb2hsl, rgb2hslVec4, rgb2hsv, rgb2hsvVec4, rgb2hue, rgb2hueVec4, rgb2lab, rgb2labVec4, rgb2lch, rgb2lch3, rgb2lch4, rgb2oklab, rgb2oklab3, rgb2oklab4, rgb2srgb, rgb2srgbFloat, rgb2srgbVec3, rgb2srgbVec4, rgb2xyz, rgb2xyzVec4, rgb2yiq, rgb2yiq3, rgb2yiq4, rgb2yuv, rgb2yuv3, rgb2yuv4, rgb2yuvSDTV, rotate2DAxis, rotate2DBasic, rotate2DCenter, rotate2d, rotate3d, rotate3dX, rotate3dY, rotate3dZ, rotate4d, rotate4dX, rotate4dY, rotate4dZ, rotateXVec3, rotateXVec3Center, rotateXVec4, rotateXVec4Center, rotateYVec3, rotateYVec3Center, rotateYVec4, rotateYVec4Center, rotateZVec3, rotateZVec3Center, rotateZVec4, rotateZVec4Center, saturateMediump, scale2d, scale2dVec, scale2dXY, scale3d, scale3dVec, scale4d, scale4dVec3, scale4dVec4, scale4dXYZ, scale4dXYZW, signedDistance, signedDistanceWithNormal, sineIn, sineInOut, sineOut, smootherstep, snoise2, snoise3Vec3, snoise3Vec4, snoiseVec2, snoiseVec3, snoiseVec4, sphereSDF, sphereSDFRadius, sprite, sqTile, sqTileScale, square, srandom, srandom2Vec2, srandom2Vec2Tiled, srandom3Vec3, srandom3Vec3Tiled, srandomVec2, srandomVec3, srandomVec4, srgb2rgb, srgb2rgbFloat, srgb2rgbVec3, srgb2rgbVec4, stroke, strokeWithEdge, taylorInvSqrt, tbn, tbnFromNormal, toMat3, toMat4, translate4d, translateMat3, tri, triFill, triSDF, triStroke, triTile, triTileScaled, triangleCentroid, triangleContain, triangleIntersect, triangleIntersectRay, uncenterFloat, uncenterVec2, uncenterVec3, unpack, unpack128, unpack16, unpack256, unpack32, unpack64, unpack8, unpackBase, unpackDefault, unratio, viewZ2depth, viewZ2depthOrthographic, voronoi, voronoiVec2, voronoiVec3, voronoise, voronoiseVec3, wavelet, waveletVec2, waveletVec2Phase, waveletVec3, waveletVec3K, windmillTile, windmillTileDefault, windmillTileFloat, windmillTileVec2, windmillTileVec2Scale, worley2Vec2, worley2Vec3, worleyVec2, worleyVec3, xyz2equirect, xyz2lab, xyz2labVec4, xyz2rgb, xyz2rgbVec4, yiq2rgb, yiq2rgb3, yiq2rgb4, yuv2rgb, yuv2rgb3, yuv2rgb4, yuv2rgbSDTV };