@luma.gl/shadertools 9.1.0-alpha.1 → 9.1.0-alpha.12

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 (244) hide show
  1. package/dist/dist.dev.js +1005 -487
  2. package/dist/dist.min.js +2489 -1625
  3. package/dist/index.cjs +2864 -1817
  4. package/dist/index.cjs.map +4 -4
  5. package/dist/index.d.ts +29 -28
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +8 -12
  8. package/dist/lib/glsl-utils/shader-utils.d.ts.map +1 -1
  9. package/dist/lib/glsl-utils/shader-utils.js +2 -3
  10. package/dist/lib/shader-assembler.d.ts +3 -4
  11. package/dist/lib/shader-assembler.d.ts.map +1 -1
  12. package/dist/lib/shader-assembler.js +3 -2
  13. package/dist/lib/shader-assembly/assemble-shaders.d.ts +4 -3
  14. package/dist/lib/shader-assembly/assemble-shaders.d.ts.map +1 -1
  15. package/dist/lib/shader-assembly/assemble-shaders.js +46 -18
  16. package/dist/lib/shader-assembly/platform-defines.d.ts.map +1 -1
  17. package/dist/lib/shader-assembly/platform-defines.js +14 -6
  18. package/dist/lib/shader-module/shader-module-dependencies.d.ts +53 -0
  19. package/dist/lib/shader-module/shader-module-dependencies.d.ts.map +1 -0
  20. package/dist/lib/{shader-assembly/resolve-modules.js → shader-module/shader-module-dependencies.js} +38 -14
  21. package/dist/lib/shader-module/shader-module.d.ts +30 -12
  22. package/dist/lib/shader-module/shader-module.d.ts.map +1 -1
  23. package/dist/lib/shader-module/shader-module.js +76 -6
  24. package/dist/lib/shader-module/shader-pass.d.ts +3 -2
  25. package/dist/lib/shader-module/shader-pass.d.ts.map +1 -1
  26. package/dist/module-injectors.d.ts +2 -2
  27. package/dist/module-injectors.d.ts.map +1 -1
  28. package/dist/module-injectors.js +13 -10
  29. package/dist/modules/engine/geometry/geometry.d.ts.map +1 -1
  30. package/dist/modules/engine/geometry/geometry.js +12 -8
  31. package/dist/modules/engine/picking/picking.d.ts +9 -9
  32. package/dist/modules/engine/picking/picking.d.ts.map +1 -1
  33. package/dist/modules/engine/picking/picking.js +103 -66
  34. package/dist/modules/engine/project/project.d.ts +2 -2
  35. package/dist/modules/engine/project/project.d.ts.map +1 -1
  36. package/dist/modules/engine/project/project.js +36 -22
  37. package/dist/modules/engine/transform/transform.d.ts.map +1 -1
  38. package/dist/modules/engine/transform/transform.js +28 -16
  39. package/dist/modules/lighting/gouraud-material/gouraud-material.d.ts +10 -7
  40. package/dist/modules/lighting/gouraud-material/gouraud-material.d.ts.map +1 -1
  41. package/dist/modules/lighting/gouraud-material/gouraud-material.js +2 -0
  42. package/dist/modules/lighting/gouraud-material/gouraud-shaders-glsl.d.ts +2 -2
  43. package/dist/modules/lighting/gouraud-material/gouraud-shaders-glsl.d.ts.map +1 -1
  44. package/dist/modules/lighting/gouraud-material/gouraud-shaders-glsl.js +79 -53
  45. package/dist/modules/lighting/lights/lighting-uniforms-glsl.d.ts +1 -1
  46. package/dist/modules/lighting/lights/lighting-uniforms-glsl.d.ts.map +1 -1
  47. package/dist/modules/lighting/lights/lighting-uniforms-glsl.js +38 -23
  48. package/dist/modules/lighting/lights/lighting-uniforms-wgsl.d.ts +2 -0
  49. package/dist/modules/lighting/lights/lighting-uniforms-wgsl.d.ts.map +1 -0
  50. package/dist/modules/lighting/lights/lighting-uniforms-wgsl.js +56 -0
  51. package/dist/modules/lighting/lights/lighting.d.ts +5 -4
  52. package/dist/modules/lighting/lights/lighting.d.ts.map +1 -1
  53. package/dist/modules/lighting/lights/lighting.js +7 -5
  54. package/dist/modules/lighting/no-material/dirlight.d.ts +8 -8
  55. package/dist/modules/lighting/no-material/dirlight.d.ts.map +1 -1
  56. package/dist/modules/lighting/no-material/dirlight.js +34 -20
  57. package/dist/modules/lighting/pbr-material/pbr-fragment-glsl.d.ts +1 -1
  58. package/dist/modules/lighting/pbr-material/pbr-fragment-glsl.d.ts.map +1 -1
  59. package/dist/modules/lighting/pbr-material/pbr-fragment-glsl.js +304 -181
  60. package/dist/modules/lighting/pbr-material/pbr-material.d.ts +72 -69
  61. package/dist/modules/lighting/pbr-material/pbr-material.d.ts.map +1 -1
  62. package/dist/modules/lighting/pbr-material/pbr-material.js +4 -2
  63. package/dist/modules/lighting/pbr-material/pbr-uniforms-glsl.d.ts +1 -1
  64. package/dist/modules/lighting/pbr-material/pbr-uniforms-glsl.d.ts.map +1 -1
  65. package/dist/modules/lighting/pbr-material/pbr-uniforms-glsl.js +38 -20
  66. package/dist/modules/lighting/pbr-material/pbr-vertex-glsl.d.ts +1 -1
  67. package/dist/modules/lighting/pbr-material/pbr-vertex-glsl.d.ts.map +1 -1
  68. package/dist/modules/lighting/pbr-material/pbr-vertex-glsl.js +21 -16
  69. package/dist/modules/lighting/phong-material/phong-material.d.ts +14 -12
  70. package/dist/modules/lighting/phong-material/phong-material.d.ts.map +1 -1
  71. package/dist/modules/lighting/phong-material/phong-material.js +5 -3
  72. package/dist/modules/lighting/phong-material/phong-shaders-glsl.d.ts +2 -2
  73. package/dist/modules/lighting/phong-material/phong-shaders-glsl.d.ts.map +1 -1
  74. package/dist/modules/lighting/phong-material/phong-shaders-glsl.js +82 -54
  75. package/dist/modules/lighting/phong-material/phong-shaders-wgsl.d.ts +41 -0
  76. package/dist/modules/lighting/phong-material/phong-shaders-wgsl.d.ts.map +1 -0
  77. package/dist/modules/lighting/phong-material/phong-shaders-wgsl.js +130 -0
  78. package/dist/modules/math/fp32/fp32.d.ts.map +1 -1
  79. package/dist/modules/math/fp32/fp32.js +127 -100
  80. package/dist/modules/math/fp64/fp64-utils.d.ts +3 -3
  81. package/dist/modules/math/fp64/fp64-utils.d.ts.map +1 -1
  82. package/dist/modules/math/random/random.d.ts +1 -1
  83. package/dist/modules/math/random/random.d.ts.map +1 -1
  84. package/dist/modules/math/random/random.js +3 -3
  85. package/dist/modules/module-injectors.d.ts +2 -2
  86. package/dist/modules/module-injectors.d.ts.map +1 -1
  87. package/dist/modules/module-injectors.js +13 -10
  88. package/dist/modules/postprocessing/image-adjust-filters/brightnesscontrast.d.ts +4 -1
  89. package/dist/modules/postprocessing/image-adjust-filters/brightnesscontrast.d.ts.map +1 -1
  90. package/dist/modules/postprocessing/image-adjust-filters/brightnesscontrast.js +16 -12
  91. package/dist/modules/postprocessing/image-adjust-filters/denoise.d.ts +4 -1
  92. package/dist/modules/postprocessing/image-adjust-filters/denoise.d.ts.map +1 -1
  93. package/dist/modules/postprocessing/image-adjust-filters/denoise.js +21 -17
  94. package/dist/modules/postprocessing/image-adjust-filters/huesaturation.d.ts +5 -2
  95. package/dist/modules/postprocessing/image-adjust-filters/huesaturation.d.ts.map +1 -1
  96. package/dist/modules/postprocessing/image-adjust-filters/huesaturation.js +29 -22
  97. package/dist/modules/postprocessing/image-adjust-filters/noise.d.ts +4 -1
  98. package/dist/modules/postprocessing/image-adjust-filters/noise.d.ts.map +1 -1
  99. package/dist/modules/postprocessing/image-adjust-filters/noise.js +14 -10
  100. package/dist/modules/postprocessing/image-adjust-filters/sepia.d.ts +4 -1
  101. package/dist/modules/postprocessing/image-adjust-filters/sepia.d.ts.map +1 -1
  102. package/dist/modules/postprocessing/image-adjust-filters/sepia.js +17 -12
  103. package/dist/modules/postprocessing/image-adjust-filters/vibrance.d.ts +4 -1
  104. package/dist/modules/postprocessing/image-adjust-filters/vibrance.d.ts.map +1 -1
  105. package/dist/modules/postprocessing/image-adjust-filters/vibrance.js +12 -9
  106. package/dist/modules/postprocessing/image-adjust-filters/vignette.d.ts +4 -1
  107. package/dist/modules/postprocessing/image-adjust-filters/vignette.d.ts.map +1 -1
  108. package/dist/modules/postprocessing/image-adjust-filters/vignette.js +13 -10
  109. package/dist/modules/postprocessing/image-blur-filters/tiltshift.d.ts +5 -2
  110. package/dist/modules/postprocessing/image-blur-filters/tiltshift.d.ts.map +1 -1
  111. package/dist/modules/postprocessing/image-blur-filters/tiltshift.js +40 -26
  112. package/dist/modules/postprocessing/image-blur-filters/triangleblur.d.ts +5 -2
  113. package/dist/modules/postprocessing/image-blur-filters/triangleblur.d.ts.map +1 -1
  114. package/dist/modules/postprocessing/image-blur-filters/triangleblur.js +32 -19
  115. package/dist/modules/postprocessing/image-blur-filters/zoomblur.d.ts +4 -1
  116. package/dist/modules/postprocessing/image-blur-filters/zoomblur.d.ts.map +1 -1
  117. package/dist/modules/postprocessing/image-blur-filters/zoomblur.js +2 -0
  118. package/dist/modules/postprocessing/image-fun-filters/colorhalftone.d.ts +4 -1
  119. package/dist/modules/postprocessing/image-fun-filters/colorhalftone.d.ts.map +1 -1
  120. package/dist/modules/postprocessing/image-fun-filters/colorhalftone.js +31 -27
  121. package/dist/modules/postprocessing/image-fun-filters/dotscreen.d.ts +4 -1
  122. package/dist/modules/postprocessing/image-fun-filters/dotscreen.d.ts.map +1 -1
  123. package/dist/modules/postprocessing/image-fun-filters/dotscreen.js +19 -15
  124. package/dist/modules/postprocessing/image-fun-filters/edgework.d.ts +8 -5
  125. package/dist/modules/postprocessing/image-fun-filters/edgework.d.ts.map +1 -1
  126. package/dist/modules/postprocessing/image-fun-filters/edgework.js +53 -42
  127. package/dist/modules/postprocessing/image-fun-filters/hexagonalpixelate.d.ts +4 -1
  128. package/dist/modules/postprocessing/image-fun-filters/hexagonalpixelate.d.ts.map +1 -1
  129. package/dist/modules/postprocessing/image-fun-filters/hexagonalpixelate.js +41 -33
  130. package/dist/modules/postprocessing/image-fun-filters/ink.d.ts +4 -1
  131. package/dist/modules/postprocessing/image-fun-filters/ink.d.ts.map +1 -1
  132. package/dist/modules/postprocessing/image-fun-filters/ink.js +27 -25
  133. package/dist/modules/postprocessing/image-fun-filters/magnify.d.ts +2 -1
  134. package/dist/modules/postprocessing/image-fun-filters/magnify.d.ts.map +1 -1
  135. package/dist/modules/postprocessing/image-fun-filters/magnify.js +17 -16
  136. package/dist/modules/postprocessing/image-warp-filters/bulgepinch.d.ts +5 -2
  137. package/dist/modules/postprocessing/image-warp-filters/bulgepinch.d.ts.map +1 -1
  138. package/dist/modules/postprocessing/image-warp-filters/bulgepinch.js +24 -20
  139. package/dist/modules/postprocessing/image-warp-filters/swirl.d.ts +5 -2
  140. package/dist/modules/postprocessing/image-warp-filters/swirl.d.ts.map +1 -1
  141. package/dist/modules/postprocessing/image-warp-filters/swirl.js +26 -22
  142. package/dist/modules/postprocessing/image-warp-filters/warp.d.ts +2 -1
  143. package/dist/modules/postprocessing/image-warp-filters/warp.d.ts.map +1 -1
  144. package/dist/modules/postprocessing/image-warp-filters/warp.js +9 -8
  145. package/dist/modules-webgl1/geometry/geometry.d.ts.map +1 -1
  146. package/dist/modules-webgl1/geometry/geometry.js +12 -8
  147. package/dist/modules-webgl1/lighting/dirlight/dirlight.d.ts +2 -2
  148. package/dist/modules-webgl1/lighting/dirlight/dirlight.d.ts.map +1 -1
  149. package/dist/modules-webgl1/lighting/dirlight/dirlight.js +8 -5
  150. package/dist/modules-webgl1/lighting/lights/lights-glsl.d.ts +1 -1
  151. package/dist/modules-webgl1/lighting/lights/lights-glsl.d.ts.map +1 -1
  152. package/dist/modules-webgl1/lighting/lights/lights-glsl.js +19 -11
  153. package/dist/modules-webgl1/lighting/pbr/pbr-fragment-glsl.d.ts +1 -1
  154. package/dist/modules-webgl1/lighting/pbr/pbr-fragment-glsl.d.ts.map +1 -1
  155. package/dist/modules-webgl1/lighting/pbr/pbr-fragment-glsl.js +268 -157
  156. package/dist/modules-webgl1/lighting/pbr/pbr-vertex-glsl.d.ts +1 -1
  157. package/dist/modules-webgl1/lighting/pbr/pbr-vertex-glsl.d.ts.map +1 -1
  158. package/dist/modules-webgl1/lighting/pbr/pbr-vertex-glsl.js +16 -12
  159. package/dist/modules-webgl1/lighting/phong-lighting/phong-lighting-glsl.d.ts +1 -1
  160. package/dist/modules-webgl1/lighting/phong-lighting/phong-lighting-glsl.d.ts.map +1 -1
  161. package/dist/modules-webgl1/lighting/phong-lighting/phong-lighting-glsl.js +64 -55
  162. package/dist/modules-webgl1/math/fp64/fp64-arithmetic-glsl.d.ts +1 -1
  163. package/dist/modules-webgl1/math/fp64/fp64-arithmetic-glsl.d.ts.map +1 -1
  164. package/dist/modules-webgl1/math/fp64/fp64-arithmetic-glsl.js +113 -81
  165. package/dist/modules-webgl1/math/fp64/fp64-functions-glsl.d.ts +1 -1
  166. package/dist/modules-webgl1/math/fp64/fp64-functions-glsl.d.ts.map +1 -1
  167. package/dist/modules-webgl1/math/fp64/fp64-functions-glsl.js +588 -433
  168. package/dist/modules-webgl1/project/project.d.ts +2 -2
  169. package/dist/modules-webgl1/project/project.d.ts.map +1 -1
  170. package/dist/modules-webgl1/project/project.js +5 -4
  171. package/package.json +5 -5
  172. package/src/index.ts +78 -32
  173. package/src/lib/glsl-utils/shader-utils.ts +1 -3
  174. package/src/lib/shader-assembler.ts +7 -8
  175. package/src/lib/shader-assembly/assemble-shaders.ts +55 -22
  176. package/src/lib/shader-assembly/platform-defines.ts +5 -6
  177. package/src/lib/shader-module/shader-module-dependencies.ts +111 -0
  178. package/src/lib/shader-module/shader-module.ts +134 -19
  179. package/src/lib/shader-module/shader-pass.ts +3 -2
  180. package/src/module-injectors.ts +2 -4
  181. package/src/modules/engine/geometry/geometry.ts +2 -3
  182. package/src/modules/engine/picking/picking.ts +12 -10
  183. package/src/modules/engine/project/project.ts +2 -3
  184. package/src/modules/engine/transform/transform.ts +1 -3
  185. package/src/modules/lighting/gouraud-material/gouraud-material.ts +4 -0
  186. package/src/modules/lighting/gouraud-material/gouraud-shaders-glsl.ts +2 -4
  187. package/src/modules/lighting/lights/lighting-uniforms-glsl.ts +1 -3
  188. package/src/modules/lighting/lights/lighting-uniforms-wgsl.ts +57 -0
  189. package/src/modules/lighting/lights/lighting.ts +9 -5
  190. package/src/modules/lighting/no-material/dirlight.ts +30 -19
  191. package/src/modules/lighting/pbr-material/pbr-fragment-glsl.ts +1 -2
  192. package/src/modules/lighting/pbr-material/pbr-material.ts +44 -38
  193. package/src/modules/lighting/pbr-material/pbr-uniforms-glsl.ts +1 -3
  194. package/src/modules/lighting/pbr-material/pbr-vertex-glsl.ts +1 -3
  195. package/src/modules/lighting/phong-material/phong-material.ts +6 -3
  196. package/src/modules/lighting/phong-material/phong-shaders-glsl.ts +2 -4
  197. package/src/modules/lighting/phong-material/phong-shaders-wgsl.ts +132 -0
  198. package/src/modules/math/fp32/fp32.ts +1 -2
  199. package/src/modules/math/fp64/fp64-utils.ts +3 -3
  200. package/src/modules/math/random/random.ts +1 -2
  201. package/src/modules/module-injectors.ts +2 -4
  202. package/src/modules/postprocessing/image-adjust-filters/brightnesscontrast.ts +6 -2
  203. package/src/modules/postprocessing/image-adjust-filters/denoise.ts +7 -3
  204. package/src/modules/postprocessing/image-adjust-filters/huesaturation.ts +9 -4
  205. package/src/modules/postprocessing/image-adjust-filters/noise.ts +6 -2
  206. package/src/modules/postprocessing/image-adjust-filters/sepia.ts +6 -2
  207. package/src/modules/postprocessing/image-adjust-filters/vibrance.ts +5 -2
  208. package/src/modules/postprocessing/image-adjust-filters/vignette.ts +11 -4
  209. package/src/modules/postprocessing/image-blur-filters/tiltshift.ts +6 -2
  210. package/src/modules/postprocessing/image-blur-filters/triangleblur.ts +6 -2
  211. package/src/modules/postprocessing/image-blur-filters/zoomblur.ts +5 -0
  212. package/src/modules/postprocessing/image-fun-filters/colorhalftone.ts +6 -2
  213. package/src/modules/postprocessing/image-fun-filters/dotscreen.ts +6 -2
  214. package/src/modules/postprocessing/image-fun-filters/edgework.ts +10 -4
  215. package/src/modules/postprocessing/image-fun-filters/hexagonalpixelate.ts +6 -2
  216. package/src/modules/postprocessing/image-fun-filters/ink.ts +8 -3
  217. package/src/modules/postprocessing/image-fun-filters/magnify.ts +3 -2
  218. package/src/modules/postprocessing/image-warp-filters/bulgepinch.ts +6 -2
  219. package/src/modules/postprocessing/image-warp-filters/swirl.ts +8 -2
  220. package/src/modules/postprocessing/image-warp-filters/warp.ts +3 -2
  221. package/src/modules-webgl1/geometry/geometry.ts +2 -3
  222. package/src/modules-webgl1/lighting/dirlight/dirlight.ts +3 -4
  223. package/src/modules-webgl1/lighting/lights/lights-glsl.ts +1 -3
  224. package/src/modules-webgl1/lighting/pbr/pbr-fragment-glsl.ts +1 -2
  225. package/src/modules-webgl1/lighting/pbr/pbr-vertex-glsl.ts +1 -3
  226. package/src/modules-webgl1/lighting/phong-lighting/phong-lighting-glsl.ts +1 -3
  227. package/src/modules-webgl1/math/fp64/fp64-arithmetic-glsl.ts +1 -3
  228. package/src/modules-webgl1/math/fp64/fp64-functions-glsl.ts +1 -3
  229. package/src/modules-webgl1/project/project.ts +1 -2
  230. package/dist/lib/glsl-utils/highlight.d.ts +0 -6
  231. package/dist/lib/glsl-utils/highlight.d.ts.map +0 -1
  232. package/dist/lib/glsl-utils/highlight.js +0 -9
  233. package/dist/lib/shader-assembly/resolve-modules.d.ts +0 -40
  234. package/dist/lib/shader-assembly/resolve-modules.d.ts.map +0 -1
  235. package/dist/lib/shader-module/normalize-shader-module.d.ts +0 -3
  236. package/dist/lib/shader-module/normalize-shader-module.d.ts.map +0 -1
  237. package/dist/lib/shader-module/normalize-shader-module.js +0 -14
  238. package/dist/lib/shader-module/shader-module-instance.d.ts +0 -28
  239. package/dist/lib/shader-module/shader-module-instance.d.ts.map +0 -1
  240. package/dist/lib/shader-module/shader-module-instance.js +0 -126
  241. package/src/lib/glsl-utils/highlight.ts +0 -11
  242. package/src/lib/shader-assembly/resolve-modules.ts +0 -81
  243. package/src/lib/shader-module/normalize-shader-module.ts +0 -17
  244. package/src/lib/shader-module/shader-module-instance.ts +0 -167
@@ -2,11 +2,10 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
- import {glsl} from '../../../lib/glsl-utils/highlight';
6
5
  import {ShaderPass} from '../../../lib/shader-module/shader-pass';
7
6
  import {random} from '../..//math/random/random';
8
7
 
9
- const fs = glsl`\
8
+ const fs = /* glsl */ `\
10
9
  uniform tiltShiftUniforms {
11
10
  float blurRadius;
12
11
  float gradientRadius;
@@ -69,6 +68,8 @@ export type TiltShiftProps = {
69
68
  invert?: number;
70
69
  };
71
70
 
71
+ export type TiltShiftUniforms = TiltShiftProps;
72
+
72
73
  /**
73
74
  * Tilt Shift
74
75
  * Simulates the shallow depth of field normally encountered in close-up
@@ -81,6 +82,9 @@ export type TiltShiftProps = {
81
82
  * on the line and increases further from the line.
82
83
  */
83
84
  export const tiltShift = {
85
+ props: {} as TiltShiftProps,
86
+ uniforms: {} as TiltShiftUniforms,
87
+
84
88
  name: 'tiltShift',
85
89
  dependencies: [random],
86
90
  uniformTypes: {
@@ -3,10 +3,9 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {ShaderPass} from '../../../lib/shader-module/shader-pass';
6
- import {glsl} from '../../../lib/glsl-utils/highlight';
7
6
  import {random} from '../..//math/random/random';
8
7
 
9
- const fs = glsl`\
8
+ const fs = /* glsl */ `\
10
9
  uniform triangleBlurUniforms {
11
10
  float radius;
12
11
  vec2 delta;
@@ -55,6 +54,8 @@ export type TriangleBlurProps = {
55
54
  delta?: number[];
56
55
  };
57
56
 
57
+ export type TriangleBlurUniforms = TriangleBlurProps;
58
+
58
59
  /**
59
60
  * @filter Triangle Blur
60
61
  * @description This is the most basic blur filter, which convolves the image with a
@@ -62,6 +63,9 @@ export type TriangleBlurProps = {
62
63
  * perpendicular triangle filters.
63
64
  */
64
65
  export const triangleBlur = {
66
+ props: {} as TriangleBlurProps,
67
+ uniforms: {} as TriangleBlurUniforms,
68
+
65
69
  name: 'triangleBlur',
66
70
  uniformTypes: {
67
71
  radius: 'f32',
@@ -50,11 +50,16 @@ export type ZoomBlurProps = {
50
50
  strength?: number;
51
51
  };
52
52
 
53
+ export type ZoomBlurUniforms = ZoomBlurProps;
54
+
53
55
  /**
54
56
  * Zoom Blur
55
57
  * Blurs the image away from a certain point, which looks like radial motion blur.
56
58
  */
57
59
  export const zoomBlur = {
60
+ props: {} as ZoomBlurProps,
61
+ uniforms: {} as ZoomBlurUniforms,
62
+
58
63
  name: 'zoomBlur',
59
64
  uniformTypes: {
60
65
  center: 'vec2<f32>',
@@ -3,10 +3,9 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {ShaderPass} from '../../../lib/shader-module/shader-pass';
6
- import {glsl} from '../../../lib/glsl-utils/highlight';
7
6
 
8
7
  // TODO pass texCoord to angle
9
- const fs = glsl`\
8
+ const fs = /* glsl */ `\
10
9
  uniform colorHalftoneUniforms {
11
10
  vec2 center;
12
11
  float angle;
@@ -58,6 +57,8 @@ export type ColorHalftoneProps = {
58
57
  size?: number;
59
58
  };
60
59
 
60
+ export type ColorHalftoneUniforms = ColorHalftoneProps;
61
+
61
62
  /**
62
63
  * Color Halftone -
63
64
  * Simulates a CMYK halftone rendering of the image by multiplying pixel values
@@ -65,6 +66,9 @@ export type ColorHalftoneProps = {
65
66
  * and black.
66
67
  */
67
68
  export const colorHalftone = {
69
+ props: {} as ColorHalftoneProps,
70
+ uniforms: {} as ColorHalftoneUniforms,
71
+
68
72
  name: 'colorHalftone',
69
73
  uniformTypes: {
70
74
  center: 'vec2<f32>',
@@ -3,9 +3,8 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {ShaderPass} from '../../../lib/shader-module/shader-pass';
6
- import {glsl} from '../../../lib/glsl-utils/highlight';
7
6
 
8
- const fs = glsl`\
7
+ const fs = /* glsl */ `\
9
8
  uniform dotScreenUniforms {
10
9
  vec2 center;
11
10
  float angle;
@@ -44,12 +43,17 @@ export type DotScreenProps = {
44
43
  size?: number;
45
44
  };
46
45
 
46
+ export type DotScreenUniforms = DotScreenProps;
47
+
47
48
  /**
48
49
  * Dot Screen -
49
50
  * Simulates a black and white halftone rendering of the image by multiplying
50
51
  * pixel values with a rotated 2D sine wave pattern.
51
52
  */
52
53
  export const dotScreen = {
54
+ props: {} as DotScreenProps,
55
+ uniforms: {} as DotScreenUniforms,
56
+
53
57
  name: 'dotScreen',
54
58
  uniformTypes: {
55
59
  center: 'vec2<f32>',
@@ -3,10 +3,9 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {ShaderPass} from '../../../lib/shader-module/shader-pass';
6
- import {glsl} from '../../../lib/glsl-utils/highlight';
7
6
  import {random} from '../../math/random/random';
8
7
 
9
- const fs = glsl`\
8
+ const fs = /* glsl */ `\
10
9
  uniform edgeWorkUniforms {
11
10
  float radius;
12
11
  vec2 delta;
@@ -75,19 +74,26 @@ export type EdgeWorkProps = {
75
74
  delta?: number;
76
75
  };
77
76
 
77
+ export type EdgeWorkUniforms = EdgeWorkProps;
78
+
78
79
  /**
79
80
  * Edge Work -
80
81
  * Picks out different frequencies in the image by subtracting two
81
82
  * copies of the image blurred with different radii.
82
83
  */
83
84
  export const edgeWork = {
85
+ props: {} as EdgeWorkProps,
86
+ uniforms: {} as EdgeWorkProps,
87
+
84
88
  name: 'edgeWork',
89
+ dependencies: [random],
90
+ fs,
91
+
85
92
  uniformPropTypes: {
86
93
  radius: {value: 2, min: 1, softMax: 50},
87
94
  delta: {value: [1, 0], private: true}
88
95
  },
89
- fs,
90
- dependencies: [random],
96
+
91
97
  passes: [
92
98
  {
93
99
  // @ts-expect-error
@@ -3,9 +3,8 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {ShaderPass} from '../../../lib/shader-module/shader-pass';
6
- import {glsl} from '../../../lib/glsl-utils/highlight';
7
6
 
8
- const fs = glsl`\
7
+ const fs = /* glsl */ `\
9
8
  uniform hexagonalPixelateUniforms {
10
9
  vec2 center;
11
10
  float scale;
@@ -62,12 +61,17 @@ export type HexagonalPixelateProps = {
62
61
  scale?: number;
63
62
  };
64
63
 
64
+ export type HexagonalPixelateUniforms = HexagonalPixelateProps;
65
+
65
66
  /**
66
67
  * Hexagonal Pixelate
67
68
  * Renders the image using a pattern of hexagonal tiles. Tile colors
68
69
  * are nearest-neighbor sampled from the centers of the tiles.
69
70
  */
70
71
  export const hexagonalPixelate = {
72
+ props: {} as HexagonalPixelateProps,
73
+ uniforms: {} as HexagonalPixelateUniforms,
74
+
71
75
  name: 'hexagonalPixelate',
72
76
  uniformTypes: {
73
77
  center: 'vec2<f32>',
@@ -3,9 +3,8 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {ShaderPass} from '../../../lib/shader-module/shader-pass';
6
- import {glsl} from '../../../lib/glsl-utils/highlight';
7
6
 
8
- const fs = glsl`\
7
+ const fs = /* glsl */ `\
9
8
  uniform inkUniforms {
10
9
  float strength;
11
10
  } ink;
@@ -49,6 +48,8 @@ export type InkProps = {
49
48
  strength?: number;
50
49
  };
51
50
 
51
+ export type InkUniforms = InkProps;
52
+
52
53
  /**
53
54
  * Ink -
54
55
  * Simulates outlining the image in ink by darkening edges stronger than a
@@ -56,13 +57,17 @@ export type InkProps = {
56
57
  * copies of the image, each blurred using a blur of a different radius.
57
58
  */
58
59
  export const ink = {
60
+ props: {} as InkProps,
61
+ uniforms: {} as InkUniforms,
62
+
59
63
  name: 'ink',
64
+ fs,
65
+
60
66
  uniformTypes: {
61
67
  strength: 'f32'
62
68
  },
63
69
  uniformPropTypes: {
64
70
  strength: {value: 0.25, min: 0, softMax: 1}
65
71
  },
66
- fs,
67
72
  passes: [{sampler: true}]
68
73
  } as const satisfies ShaderPass<InkProps, InkProps>;
@@ -3,9 +3,8 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {ShaderPass} from '../../../lib/shader-module/shader-pass';
6
- import {glsl} from '../../../lib/glsl-utils/highlight';
7
6
 
8
- const fs = glsl`\
7
+ const fs = /* glsl */ `\
9
8
  uniform magnifyUniforms {
10
9
  vec2 screenXY;
11
10
  float radiusPixels;
@@ -44,6 +43,8 @@ export type MagnifyProps = {
44
43
  borderColor?: number[];
45
44
  };
46
45
 
46
+ export type MagnifyUniforms = MagnifyProps;
47
+
47
48
  /**
48
49
  * Magnify - display a circle with magnify effect applied to surrounding the pixels given position
49
50
  */
@@ -3,10 +3,9 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {ShaderPass} from '../../../lib/shader-module/shader-pass';
6
- import {glsl} from '../../../lib/glsl-utils/highlight';
7
6
  import {warp} from './warp';
8
7
 
9
- const fs = glsl`\
8
+ const fs = /* glsl */ `\
10
9
  uniform bulgePinchUniforms {
11
10
  float radius;
12
11
  float strength;
@@ -46,11 +45,16 @@ export type BulgePinchProps = {
46
45
  strength?: number;
47
46
  };
48
47
 
48
+ export type BulgePinchUniforms = BulgePinchProps;
49
+
49
50
  /**
50
51
  * Bulge / Pinch -
51
52
  * Bulges or pinches the image in a circle.
52
53
  */
53
54
  export const bulgePinch = {
55
+ props: {} as BulgePinchProps,
56
+ uniforms: {} as BulgePinchUniforms,
57
+
54
58
  name: 'bulgePinch',
55
59
  dependencies: [warp],
56
60
  fs,
@@ -3,10 +3,9 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {ShaderPass} from '../../../lib/shader-module/shader-pass';
6
- import {glsl} from '../../../lib/glsl-utils/highlight';
7
6
  import {warp} from './warp';
8
7
 
9
- const fs = glsl`\
8
+ const fs = /* glsl */ `\
10
9
  uniform swirlUniforms {
11
10
  float radius;
12
11
  float angle;
@@ -50,13 +49,19 @@ export type SwirlProps = {
50
49
  angle?: number;
51
50
  };
52
51
 
52
+ export type SwirlUniforms = SwirlProps;
53
+
53
54
  /**
54
55
  * Warps a circular region of the image in a swirl.
55
56
  */
56
57
  export const swirl = {
58
+ props: {} as SwirlProps,
59
+ uniforms: {} as SwirlProps,
60
+
57
61
  name: 'swirl',
58
62
  dependencies: [warp],
59
63
  fs,
64
+
60
65
  uniformTypes: {
61
66
  center: 'vec2<f32>',
62
67
  radius: 'f32',
@@ -67,5 +72,6 @@ export const swirl = {
67
72
  radius: {value: 200, min: 1, softMax: 600},
68
73
  angle: {value: 3, softMin: -25, softMax: 25}
69
74
  },
75
+
70
76
  passes: [{sampler: true}]
71
77
  } as const satisfies ShaderPass<SwirlProps, SwirlProps>;
@@ -3,9 +3,8 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {ShaderPass} from '../../../lib/shader-module/shader-pass';
6
- import {glsl} from '../../../lib/glsl-utils/highlight';
7
6
 
8
- const fs = glsl`\
7
+ const fs = /* glsl */ `\
9
8
  vec4 warp_sampleColor(sampler2D source, vec2 texSize, vec2 coord) {
10
9
  vec4 color = texture(source, coord / texSize);
11
10
  vec2 clampedCoord = clamp(coord, vec2(0.0), texSize);
@@ -20,6 +19,8 @@ vec4 warp_sampleColor(sampler2D source, vec2 texSize, vec2 coord) {
20
19
 
21
20
  export type WarpProps = {};
22
21
 
22
+ export type WarpUniforms = WarpProps;
23
+
23
24
  export const warp = {
24
25
  name: 'warp',
25
26
  passes: [],
@@ -1,8 +1,7 @@
1
1
  // import {ShaderModule} from '../../types';
2
- import {glsl} from '../../lib/glsl-utils/highlight';
3
2
 
4
3
  // TODO - reuse normal from geometry module
5
- const vs = glsl`\
4
+ const vs = /* glsl */ `\
6
5
  varying vec4 geometry_vPosition;
7
6
  varying vec3 geometry_vNormal;
8
7
 
@@ -19,7 +18,7 @@ void geometry_setPosition(vec3 position) {
19
18
  }
20
19
  `;
21
20
 
22
- const fs = glsl`\
21
+ const fs = /* glsl */ `\
23
22
  varying vec4 geometry_vPosition;
24
23
  varying vec3 geometry_vNormal;
25
24
 
@@ -3,14 +3,13 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {ShaderModule} from '../../../lib/shader-module/shader-module';
6
- import {glsl} from '../../../lib/glsl-utils/highlight';
7
- import type {NumberArray} from '../../../types';
6
+ import type {NumericArray} from '../../../types';
8
7
  import {project} from '../../project/project';
9
8
 
10
9
  /* eslint-disable camelcase */
11
10
 
12
11
  export type DirlightOptions = {
13
- lightDirection?: NumberArray;
12
+ lightDirection?: NumericArray;
14
13
  };
15
14
 
16
15
  const DEFAULT_MODULE_OPTIONS: Required<DirlightOptions> = {
@@ -26,7 +25,7 @@ function getUniforms(opts: DirlightOptions = DEFAULT_MODULE_OPTIONS): Record<str
26
25
  return uniforms;
27
26
  }
28
27
 
29
- const fs = glsl`\
28
+ const fs = /* glsl */ `\
30
29
  uniform vec3 dirlight_uLightDirection;
31
30
 
32
31
  /*
@@ -2,9 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
- import {glsl} from '../../../lib/glsl-utils/highlight';
6
-
7
- export const lightingShader = glsl`\
5
+ export const lightingShader = /* glsl */ `\
8
6
  #if (defined(SHADER_TYPE_FRAGMENT) && defined(LIGHTING_FRAGMENT)) || (defined(SHADER_TYPE_VERTEX) && defined(LIGHTING_VERTEX))
9
7
 
10
8
  struct AmbientLight {
@@ -10,9 +10,8 @@
10
10
  //
11
11
 
12
12
  // TODO - better do the checks outside of shader
13
- import {glsl} from '../../../lib/glsl-utils/highlight';
14
13
 
15
- export const fs = glsl`\
14
+ export const fs = /* glsl */ `\
16
15
  precision highp float;
17
16
 
18
17
  uniform bool pbr_uUnlit;
@@ -2,9 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
- import {glsl} from '../../../lib/glsl-utils/highlight';
6
-
7
- export const vs = glsl`\
5
+ export const vs = /* glsl */ `\
8
6
  uniform mat4 u_MVPMatrix;
9
7
  uniform mat4 u_ModelMatrix;
10
8
  uniform mat4 u_NormalMatrix;
@@ -2,9 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
- import {glsl} from '../../../lib/glsl-utils/highlight';
6
-
7
- export const lightingShader = glsl`\
5
+ export const lightingShader = /* glsl */ `\
8
6
 
9
7
  uniform float lighting_uAmbient;
10
8
  uniform float lighting_uDiffuse;
@@ -2,9 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
- import {glsl} from '../../../lib/glsl-utils/highlight';
6
-
7
- export const fp64arithmeticShader = glsl`\
5
+ export const fp64arithmeticShader = /* glsl */ `\
8
6
  uniform float ONE;
9
7
 
10
8
  /*
@@ -2,9 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
- import {glsl} from '../../../lib/glsl-utils/highlight';
6
-
7
- export const fp64functionShader = glsl`\
5
+ export const fp64functionShader = /* glsl */ `\
8
6
  const vec2 E_FP64 = vec2(2.7182817459106445e+00, 8.254840366817007e-08);
9
7
  const vec2 LOG2_FP64 = vec2(0.6931471824645996e+00, -1.9046542121259336e-09);
10
8
  const vec2 PI_FP64 = vec2(3.1415927410125732, -8.742278012618954e-8);
@@ -3,7 +3,6 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {Matrix4} from '@math.gl/core';
6
- import {glsl} from '../../lib/glsl-utils/highlight';
7
6
  import {ShaderModule} from '../../lib/shader-module/shader-module';
8
7
 
9
8
  type ProjectionProps = {
@@ -51,7 +50,7 @@ function getUniforms(opts: ProjectionProps = DEFAULT_MODULE_OPTIONS, prevUniform
51
50
  return uniforms;
52
51
  }
53
52
 
54
- const common = glsl`\
53
+ const common = /* glsl */ `\
55
54
  varying vec4 project_vPositionWorld;
56
55
  varying vec3 project_vNormalWorld;
57
56
 
@@ -1,6 +0,0 @@
1
- /**
2
- * Marks GLSL shaders for syntax highlighting: glsl`...`
3
- * Install https://marketplace.visualstudio.com/items?itemName=boyswan.glsl-literal
4
- */
5
- export declare const glsl: (x: TemplateStringsArray) => string;
6
- //# sourceMappingURL=highlight.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../../src/lib/glsl-utils/highlight.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,IAAI,MAAO,oBAAoB,WAAW,CAAC"}
@@ -1,9 +0,0 @@
1
- // luma.gl
2
- // SPDX-License-Identifier: MIT
3
- // Copyright (c) vis.gl contributors
4
- // SHADER HELPERS
5
- /**
6
- * Marks GLSL shaders for syntax highlighting: glsl`...`
7
- * Install https://marketplace.visualstudio.com/items?itemName=boyswan.glsl-literal
8
- */
9
- export const glsl = (x) => `${x}`;
@@ -1,40 +0,0 @@
1
- import type { ShaderModule } from "../shader-module/shader-module.js";
2
- import { ShaderModuleInstance } from "../shader-module/shader-module-instance.js";
3
- /**
4
- * Instantiate shader modules and esolve any dependencies
5
- */
6
- export declare function resolveModules(modules: (ShaderModule | ShaderModuleInstance)[]): ShaderModuleInstance[];
7
- /**
8
- * Takes a list of shader module names and returns a new list of
9
- * shader module names that includes all dependencies, sorted so
10
- * that modules that are dependencies of other modules come first.
11
- *
12
- * If the shader glsl code from the returned modules is concatenated
13
- * in the reverse order, it is guaranteed that all functions be resolved and
14
- * that all function and variable definitions come before use.
15
- *
16
- * @param modules - Array of modules (inline modules or module names)
17
- * @return - Array of modules
18
- */
19
- declare function getShaderDependencies(modules: ShaderModuleInstance[]): ShaderModuleInstance[];
20
- /**
21
- * Recursively checks module dependencies to calculate dependency level of each module.
22
- *
23
- * @param options.modules - Array of modules
24
- * @param options.level - Current level
25
- * @param options.moduleMap -
26
- * @param options.moduleDepth - Current level
27
- * @return - Map of module name to its level
28
- */
29
- export declare function getDependencyGraph(options: {
30
- modules: ShaderModuleInstance[];
31
- level: number;
32
- moduleMap: Record<string, ShaderModuleInstance>;
33
- moduleDepth: Record<string, number>;
34
- }): void;
35
- export declare const TEST_EXPORTS: {
36
- getShaderDependencies: typeof getShaderDependencies;
37
- getDependencyGraph: typeof getDependencyGraph;
38
- };
39
- export {};
40
- //# sourceMappingURL=resolve-modules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-modules.d.ts","sourceRoot":"","sources":["../../../src/lib/shader-assembly/resolve-modules.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,0CAAuC;AACjE,OAAO,EAAC,oBAAoB,EAAC,mDAAgD;AAE7E;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,CAAC,YAAY,GAAG,oBAAoB,CAAC,EAAE,GAC/C,oBAAoB,EAAE,CAGxB;AAED;;;;;;;;;;;GAWG;AACH,iBAAS,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,EAAE,CAStF;AAED;;;;;;;;GAQG;AAEH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,QAoBA;AAED,eAAO,MAAM,YAAY;;;CAGxB,CAAC"}
@@ -1,3 +0,0 @@
1
- import { ShaderModule } from "./shader-module.js";
2
- export declare function normalizeShaderModule(module: ShaderModule): ShaderModule;
3
- //# sourceMappingURL=normalize-shader-module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize-shader-module.d.ts","sourceRoot":"","sources":["../../../src/lib/shader-module/normalize-shader-module.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAG7C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CASxE"}
@@ -1,14 +0,0 @@
1
- // luma.gl
2
- // SPDX-License-Identifier: MIT
3
- // Copyright (c) vis.gl contributors
4
- import { ShaderModuleInstance } from "./shader-module-instance.js";
5
- export function normalizeShaderModule(module) {
6
- if (!module.normalized) {
7
- module.normalized = true;
8
- if (module.uniformPropTypes && !module.getUniforms) {
9
- const shaderModule = new ShaderModuleInstance(module);
10
- module.getUniforms = shaderModule.getUniforms.bind(shaderModule);
11
- }
12
- }
13
- return module;
14
- }
@@ -1,28 +0,0 @@
1
- import { PropValidator } from "../filters/prop-types.js";
2
- import { ShaderModule, ShaderModuleDeprecation } from "./shader-module.js";
3
- import { ShaderInjection } from "../shader-assembly/shader-injections.js";
4
- /** An initialized ShaderModule, ready to use with `assembleShaders()` */
5
- export declare class ShaderModuleInstance {
6
- name: string;
7
- vs?: string;
8
- fs?: string;
9
- getModuleUniforms: Function;
10
- dependencies: ShaderModuleInstance[];
11
- deprecations: ShaderModuleDeprecation[];
12
- defines: Record<string, string | number>;
13
- injections: {
14
- vertex: Record<string, ShaderInjection>;
15
- fragment: Record<string, ShaderInjection>;
16
- };
17
- uniforms: Record<string, PropValidator>;
18
- uniformTypes: Record<string, PropValidator>;
19
- static instantiateModules(modules: (ShaderModule | ShaderModuleInstance)[]): ShaderModuleInstance[];
20
- constructor(props: ShaderModule);
21
- getModuleSource(stage: 'vertex' | 'fragment'): string;
22
- getUniforms(userProps: Record<string, any>, uniforms: Record<string, any>): Record<string, any>;
23
- getDefines(): Record<string, string | number>;
24
- checkDeprecations(shaderSource: string, log: any): void;
25
- _parseDeprecationDefinitions(deprecations: ShaderModuleDeprecation[]): ShaderModuleDeprecation[];
26
- _defaultGetUniforms(opts?: Record<string, any>): Record<string, any>;
27
- }
28
- //# sourceMappingURL=shader-module-instance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shader-module-instance.d.ts","sourceRoot":"","sources":["../../../src/lib/shader-module/shader-module-instance.ts"],"names":[],"mappings":"AAKA,OAAO,EAA6C,aAAa,EAAC,iCAA8B;AAChG,OAAO,EAAC,YAAY,EAAE,uBAAuB,EAAC,2BAAwB;AACtE,OAAO,EAAC,eAAe,EAAsB,gDAA6C;AAI1F,yEAAyE;AACzE,qBAAa,oBAAoB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,YAAY,EAAE,uBAAuB,EAAE,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACzC,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;KAC3C,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAM;IAC7C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAM;IAEjD,MAAM,CAAC,kBAAkB,CACvB,OAAO,EAAE,CAAC,YAAY,GAAG,oBAAoB,CAAC,EAAE,GAC/C,oBAAoB,EAAE;gBA2Bb,KAAK,EAAE,YAAY;IA6B/B,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM;IAwBrD,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAQ/F,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAK7C,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAYvD,4BAA4B,CAAC,YAAY,EAAE,uBAAuB,EAAE;IAcpE,mBAAmB,CAAC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAkBzE"}