shaders 2.2.23 → 2.2.25

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 (213) hide show
  1. package/dist/core/AngularBlur-Dl2gwk68.js +64 -0
  2. package/dist/core/Ascii-Dha_QpT3.js +286 -0
  3. package/dist/core/Beam-CTN9Ni43.js +139 -0
  4. package/dist/core/Blob-CxFDZovO.js +218 -0
  5. package/dist/core/Blur-Y2FsmFk_.js +77 -0
  6. package/dist/core/Bulge-Cb-t0xqI.js +132 -0
  7. package/dist/core/CRTScreen-CtERsenz.js +112 -0
  8. package/dist/core/ChannelBlur-CvM6GJgZ.js +118 -0
  9. package/dist/core/Checkerboard-CgB-egNY.js +83 -0
  10. package/dist/core/ChromaFlow-vRCwhQpN.js +222 -0
  11. package/dist/core/ChromaticAberration-FTquTQIL.js +88 -0
  12. package/dist/core/Circle-Daziv5d7.js +67 -0
  13. package/dist/core/CursorTrail-Bsz9e6Fn.js +145 -0
  14. package/dist/core/DiffuseBlur-Cj2PtRNd.js +83 -0
  15. package/dist/core/Dither-D2Nf4p3w.js +66 -0
  16. package/dist/core/DotGrid-CzOwquo4.js +75 -0
  17. package/dist/core/Duotone-XuTN9tI7.js +65 -0
  18. package/dist/core/FilmGrain-D3-nbi12.js +28 -0
  19. package/dist/core/FloatingParticles-D9Nnu1qg.js +217 -0
  20. package/dist/core/GlassTiles-CnjCvajI.js +69 -0
  21. package/dist/core/Glow-BluFc9be.js +75 -0
  22. package/dist/core/Godrays-ChLh_vGl.js +144 -0
  23. package/dist/core/Grayscale-DRny75A9.js +20 -0
  24. package/dist/core/Grid-DgyDa4H1.js +58 -0
  25. package/dist/core/GridDistortion-BAspCYvp.js +188 -0
  26. package/dist/core/Group-Dul7PUBl.js +14 -0
  27. package/dist/core/Halftone-Ifv5F_FT.js +65 -0
  28. package/dist/core/HueShift-De8ukMWs.js +31 -0
  29. package/dist/core/ImageTexture-DvYcQgJB.js +143 -0
  30. package/dist/core/Invert-Fz0NtIJc.js +21 -0
  31. package/dist/core/LinearBlur-LmhnQoA4.js +62 -0
  32. package/dist/core/LinearGradient-xbloQjzt.js +133 -0
  33. package/dist/core/Liquify-DMe1V5-O.js +175 -0
  34. package/dist/core/Pixelate-Cv8537Pj.js +37 -0
  35. package/dist/core/PolarCoordinates-DDvDhBE-.js +112 -0
  36. package/dist/core/Posterize-3m3xkWOz.js +29 -0
  37. package/dist/core/ProgressiveBlur-EGkevObV.js +121 -0
  38. package/dist/core/RadialGradient-B7ZZB_VJ.js +71 -0
  39. package/dist/core/RectangularCoordinates-muWR8mZS.js +101 -0
  40. package/dist/core/Ripples-8XaZaXQF.js +117 -0
  41. package/dist/core/Saturation-CYFI1jzN.js +30 -0
  42. package/dist/core/SimplexNoise-DJUe0wz_.js +99 -0
  43. package/dist/core/SineWave-Dl3nFO1W.js +120 -0
  44. package/dist/core/SolidColor-CWGq_Bjq.js +21 -0
  45. package/dist/core/Spherize-C-jZEUsN.js +128 -0
  46. package/dist/core/Spiral-BSB_R39p.js +132 -0
  47. package/dist/core/Strands-0stO5BMy.js +161 -0
  48. package/dist/core/Stretch-B645paha.js +133 -0
  49. package/dist/core/Swirl-CVnbawit.js +173 -0
  50. package/dist/core/TiltShift-0CxNRI6L.js +134 -0
  51. package/dist/core/Tritone-Daa-I5UD.js +76 -0
  52. package/dist/core/Twirl-2CJVZEtk.js +96 -0
  53. package/dist/core/Vibrance-DRtecEvb.js +30 -0
  54. package/dist/core/WaveDistortion-BscXN2rs.js +173 -0
  55. package/dist/core/ZoomBlur-CAqK0Kju.js +62 -0
  56. package/dist/core/colorMixing-BXiTAqJU.js +69 -0
  57. package/dist/core/edges-Bn_OIa_h.js +26 -0
  58. package/dist/core/index.js +2257 -1604
  59. package/dist/core/shaderRegistry.d.ts.map +1 -1
  60. package/dist/core/shaders/AngularBlur/index.js +3 -7
  61. package/dist/core/shaders/Ascii/index.js +2 -6
  62. package/dist/core/shaders/Beam/index.d.ts +71 -0
  63. package/dist/core/shaders/Beam/index.d.ts.map +1 -0
  64. package/dist/core/shaders/Beam/index.js +4 -0
  65. package/dist/core/shaders/Blob/index.js +5 -9
  66. package/dist/core/shaders/Blur/index.js +2 -6
  67. package/dist/core/shaders/Bulge/index.js +4 -8
  68. package/dist/core/shaders/CRTScreen/index.js +2 -6
  69. package/dist/core/shaders/ChannelBlur/index.js +2 -6
  70. package/dist/core/shaders/Checkerboard/index.js +4 -8
  71. package/dist/core/shaders/ChromaFlow/index.js +3 -7
  72. package/dist/core/shaders/ChromaticAberration/index.js +3 -7
  73. package/dist/core/shaders/Circle/index.js +3 -7
  74. package/dist/core/shaders/CursorTrail/index.js +4 -8
  75. package/dist/core/shaders/DiffuseBlur/index.js +4 -8
  76. package/dist/core/shaders/Dither/index.js +3 -7
  77. package/dist/core/shaders/DotGrid/index.js +3 -7
  78. package/dist/core/shaders/Duotone/index.js +4 -8
  79. package/dist/core/shaders/FilmGrain/index.js +2 -6
  80. package/dist/core/shaders/FloatingParticles/index.js +3 -7
  81. package/dist/core/shaders/GlassTiles/index.js +2 -6
  82. package/dist/core/shaders/Glow/index.js +2 -6
  83. package/dist/core/shaders/Godrays/index.js +3 -7
  84. package/dist/core/shaders/Grayscale/index.js +2 -8
  85. package/dist/core/shaders/Grid/index.js +3 -7
  86. package/dist/core/shaders/GridDistortion/index.js +4 -8
  87. package/dist/core/shaders/Group/index.js +2 -6
  88. package/dist/core/shaders/Halftone/index.js +3 -7
  89. package/dist/core/shaders/HueShift/index.js +2 -8
  90. package/dist/core/shaders/ImageTexture/index.js +2 -6
  91. package/dist/core/shaders/Invert/index.js +2 -6
  92. package/dist/core/shaders/LinearBlur/index.js +3 -7
  93. package/dist/core/shaders/LinearGradient/index.js +4 -8
  94. package/dist/core/shaders/Liquify/index.js +4 -8
  95. package/dist/core/shaders/Pixelate/index.js +2 -6
  96. package/dist/core/shaders/PolarCoordinates/index.js +4 -8
  97. package/dist/core/shaders/Posterize/index.js +2 -7
  98. package/dist/core/shaders/ProgressiveBlur/index.js +3 -7
  99. package/dist/core/shaders/RadialGradient/index.js +4 -8
  100. package/dist/core/shaders/RectangularCoordinates/index.js +4 -8
  101. package/dist/core/shaders/Ripples/index.js +5 -9
  102. package/dist/core/shaders/Saturation/index.js +2 -8
  103. package/dist/core/shaders/SimplexNoise/index.js +5 -9
  104. package/dist/core/shaders/SineWave/index.js +3 -7
  105. package/dist/core/shaders/SolidColor/index.js +3 -7
  106. package/dist/core/shaders/Spherize/index.js +3 -7
  107. package/dist/core/shaders/Spiral/index.js +4 -8
  108. package/dist/core/shaders/Strands/index.js +4 -8
  109. package/dist/core/shaders/Stretch/index.js +4 -8
  110. package/dist/core/shaders/Swirl/index.js +5 -9
  111. package/dist/core/shaders/TiltShift/index.js +3 -7
  112. package/dist/core/shaders/Tritone/index.js +4 -8
  113. package/dist/core/shaders/Twirl/index.js +4 -8
  114. package/dist/core/shaders/Vibrance/index.js +2 -8
  115. package/dist/core/shaders/WaveDistortion/index.js +4 -8
  116. package/dist/core/shaders/ZoomBlur/index.js +3 -7
  117. package/dist/core/telemetry/index.js +189 -157
  118. package/dist/core/time-CTJvRUZ4.js +10 -0
  119. package/dist/core/transformations-DxfQXZWi.js +4715 -0
  120. package/dist/react/components/Beam.d.ts +31 -0
  121. package/dist/react/components/Beam.d.ts.map +1 -0
  122. package/dist/react/generatePresetCode-CCibXbtZ.js +645 -0
  123. package/dist/react/index.d.ts +1 -0
  124. package/dist/react/index.d.ts.map +1 -1
  125. package/dist/react/index.js +7649 -104600
  126. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  127. package/dist/react/utils/generatePresetCode.js +2 -5
  128. package/dist/registry.js +224 -0
  129. package/dist/solid/components/Beam.d.ts +28 -0
  130. package/dist/solid/components/Beam.d.ts.map +1 -0
  131. package/dist/solid/index.d.ts +1 -0
  132. package/dist/solid/index.d.ts.map +1 -1
  133. package/dist/solid/index.js +6691 -102524
  134. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  135. package/dist/solid/utils/generatePresetCode.js +586 -537
  136. package/dist/svelte/components/Beam.svelte.d.ts +19 -0
  137. package/dist/svelte/generatePresetCode-CymgoDq_.js +645 -0
  138. package/dist/svelte/index.d.ts +1 -0
  139. package/dist/svelte/index.js +6175 -102455
  140. package/dist/svelte/utils/generatePresetCode.js +2 -5
  141. package/dist/vue/components/Beam.vue.d.ts +57 -0
  142. package/dist/vue/components/Beam.vue.d.ts.map +1 -0
  143. package/dist/vue/generatePresetCode-CRJmU8iF.js +649 -0
  144. package/dist/vue/index.d.ts +1 -0
  145. package/dist/vue/index.d.ts.map +1 -1
  146. package/dist/vue/index.js +6929 -103492
  147. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  148. package/dist/vue/utils/generatePresetCode.js +2 -5
  149. package/package.json +12 -1
  150. package/dist/core/AngularBlur-ClvtyURQ.js +0 -56
  151. package/dist/core/Ascii-BT0-K_vw.js +0 -196
  152. package/dist/core/Blob-BlQ_1T_8.js +0 -169
  153. package/dist/core/Blur-421AjWLH.js +0 -64
  154. package/dist/core/Bulge-CZRVoR6C.js +0 -103
  155. package/dist/core/CRTScreen-C_U9g_IR.js +0 -91
  156. package/dist/core/ChannelBlur-5pzcB6Zv.js +0 -89
  157. package/dist/core/Checkerboard-CrQkqXhD.js +0 -75
  158. package/dist/core/ChromaFlow-CNrQdL8f.js +0 -134
  159. package/dist/core/ChromaticAberration-D9H7O17Y.js +0 -82
  160. package/dist/core/Circle-DnLaDn8V.js +0 -62
  161. package/dist/core/ColorAdjustment-CKwpE_4M.js +0 -14
  162. package/dist/core/CursorTrail-NY6n97VG.js +0 -105
  163. package/dist/core/DiffuseBlur-C_n01ABk.js +0 -69
  164. package/dist/core/Dither-4s-c4zh4.js +0 -61
  165. package/dist/core/DotGrid-BYl8XdMi.js +0 -61
  166. package/dist/core/Duotone-DbewOoB4.js +0 -66
  167. package/dist/core/FilmGrain-zA_-knOw.js +0 -28
  168. package/dist/core/FloatingParticles-BhVnqMsE.js +0 -160
  169. package/dist/core/GlassTiles-CFI57glh.js +0 -52
  170. package/dist/core/Glow-CQgl3IoS.js +0 -66
  171. package/dist/core/Godrays-BHMix_Bh.js +0 -105
  172. package/dist/core/Grayscale-CAEFLteL.js +0 -21
  173. package/dist/core/Grid-DlM-rVbZ.js +0 -50
  174. package/dist/core/GridDistortion-ZOZphSAT.js +0 -147
  175. package/dist/core/Group-BQAs3RiH.js +0 -17
  176. package/dist/core/Halftone-ci4ga-_J.js +0 -55
  177. package/dist/core/HueShift-CyxzPcJV.js +0 -32
  178. package/dist/core/ImageTexture-CdAGsPuH.js +0 -105
  179. package/dist/core/Invert-iPsiIqNZ.js +0 -20
  180. package/dist/core/LinearBlur-BEaaoIk-.js +0 -56
  181. package/dist/core/LinearGradient-DR_7RxLX.js +0 -111
  182. package/dist/core/Liquify-Bi02_ugh.js +0 -139
  183. package/dist/core/Pixelate-CSsdT1rr.js +0 -38
  184. package/dist/core/PolarCoordinates-D626ml58.js +0 -103
  185. package/dist/core/Posterize-DhZkMaC7.js +0 -46
  186. package/dist/core/ProgressiveBlur-CGtCfLF8.js +0 -102
  187. package/dist/core/RadialGradient-C0_WzmbH.js +0 -71
  188. package/dist/core/RectangularCoordinates-DfXw7fhI.js +0 -92
  189. package/dist/core/Ripples-DkemN3eh.js +0 -106
  190. package/dist/core/Saturation-Dup81Pnq.js +0 -31
  191. package/dist/core/SimplexNoise-BYEiCjDj.js +0 -94
  192. package/dist/core/SineWave-C6MRPtsy.js +0 -107
  193. package/dist/core/SolidColor-BZHRczgb.js +0 -22
  194. package/dist/core/Spherize-DOAnDx2l.js +0 -103
  195. package/dist/core/Spiral-BMjnWXh1.js +0 -115
  196. package/dist/core/Strands-BOVsuJLe.js +0 -125
  197. package/dist/core/Stretch-D6bHc6yp.js +0 -103
  198. package/dist/core/Swirl-BFoc0ImG.js +0 -148
  199. package/dist/core/TSLBase-BFMvTOak.js +0 -8053
  200. package/dist/core/TiltShift-BiNvvhzj.js +0 -114
  201. package/dist/core/Tritone-gdx2AA0m.js +0 -75
  202. package/dist/core/Twirl-BsV8YbqC.js +0 -82
  203. package/dist/core/Vibrance-C182fbSw.js +0 -31
  204. package/dist/core/WaveDistortion-CmaS2zDB.js +0 -132
  205. package/dist/core/ZoomBlur-DLf5xQ16.js +0 -56
  206. package/dist/core/colorMixing--dhzx0ch.js +0 -21
  207. package/dist/core/edges-CDzKsauJ.js +0 -15
  208. package/dist/core/three.tsl-Btj1hLsf.js +0 -43845
  209. package/dist/core/time-DbRMw6Jm.js +0 -10
  210. package/dist/core/transformations-CsrIJXh-.js +0 -3992
  211. package/dist/react/generatePresetCode-DaS7jkcT.js +0 -626
  212. package/dist/svelte/generatePresetCode-DaS7jkcT.js +0 -626
  213. package/dist/vue/generatePresetCode-Cd1B-Y9j.js +0 -632
@@ -0,0 +1,83 @@
1
+ import { i as transformColorSpace, r as transformColor, t as colorSpaceOptions } from "./transformations-DxfQXZWi.js";
2
+ import { t as mixColors } from "./colorMixing-BXiTAqJU.js";
3
+ import * as TSL from "three/tsl";
4
+ const componentDefinition = {
5
+ name: "Checkerboard",
6
+ category: "Base Layers",
7
+ description: "Classic checkerboard pattern with two alternating colors",
8
+ acceptsUVContext: true,
9
+ props: {
10
+ colorA: {
11
+ default: "#cccccc",
12
+ transform: transformColor,
13
+ description: "First color of the checkerboard pattern",
14
+ ui: {
15
+ type: "color",
16
+ label: "Color A"
17
+ }
18
+ },
19
+ colorB: {
20
+ default: "#999999",
21
+ transform: transformColor,
22
+ description: "Second color of the checkerboard pattern",
23
+ ui: {
24
+ type: "color",
25
+ label: "Color B"
26
+ }
27
+ },
28
+ cells: {
29
+ default: 8,
30
+ description: "Number of cells along the shortest canvas edge (creates square cells)",
31
+ ui: {
32
+ type: "range",
33
+ min: 1,
34
+ max: 50,
35
+ step: 1,
36
+ label: "Cells"
37
+ }
38
+ },
39
+ softness: {
40
+ default: 0,
41
+ description: "Smoothness of the transition between colors (0 = hard edges, 1 = very soft)",
42
+ ui: {
43
+ type: "range",
44
+ min: 0,
45
+ max: 1,
46
+ step: .01,
47
+ label: "Softness"
48
+ }
49
+ },
50
+ colorSpace: {
51
+ default: "linear",
52
+ transform: transformColorSpace,
53
+ description: "Color space for color interpolation",
54
+ ui: {
55
+ type: "select",
56
+ options: colorSpaceOptions,
57
+ label: "Color Space"
58
+ }
59
+ }
60
+ },
61
+ fragmentNode: ({ uniforms, uvContext }) => {
62
+ const { vec2: vec2$1, float: float$1, floor, mod, fract, smoothstep, min: min$1, screenUV: screenUV$1, viewportSize: viewportSize$1 } = TSL;
63
+ const uv = uvContext ?? screenUV$1;
64
+ const aspect = viewportSize$1.x.div(viewportSize$1.y);
65
+ const correctedUV = vec2$1(uv.x.mul(aspect), uv.y.oneMinus());
66
+ const cells = uniforms.cells.uniform;
67
+ const softness = uniforms.softness.uniform;
68
+ const gridUV = correctedUV.mul(cells);
69
+ const gridCoords = floor(gridUV);
70
+ const checkerValue = mod(gridCoords.x.add(gridCoords.y), 2);
71
+ let blendFactor = checkerValue;
72
+ if (softness) {
73
+ const cellUV = fract(gridUV);
74
+ const distToEdge = min$1(min$1(cellUV.x, float$1(1).sub(cellUV.x)), min$1(cellUV.y, float$1(1).sub(cellUV.y)));
75
+ const softRange = softness.mul(.5);
76
+ const edgeBlend = smoothstep(float$1(0), softRange, distToEdge);
77
+ blendFactor = checkerValue.mul(edgeBlend).add(float$1(.5).mul(float$1(1).sub(edgeBlend)));
78
+ }
79
+ return mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, blendFactor, uniforms.colorSpace.uniform);
80
+ }
81
+ };
82
+ var Checkerboard_default = componentDefinition;
83
+ export { componentDefinition as n, Checkerboard_default as t };
@@ -0,0 +1,222 @@
1
+ import { r as transformColor } from "./transformations-DxfQXZWi.js";
2
+ import { DataTexture, FloatType, LinearFilter, RGFormat } from "three";
3
+ import * as TSL from "three/tsl";
4
+ const componentDefinition = {
5
+ name: "ChromaFlow",
6
+ category: "Interactive",
7
+ description: "Interactive liquid flow effect that follows your cursor",
8
+ props: {
9
+ baseColor: {
10
+ default: "#0066ff",
11
+ transform: transformColor,
12
+ description: "Base liquid color",
13
+ ui: {
14
+ type: "color",
15
+ label: "Base Color"
16
+ }
17
+ },
18
+ upColor: {
19
+ default: "#00ff00",
20
+ transform: transformColor,
21
+ description: "Color for upward movement",
22
+ ui: {
23
+ type: "color",
24
+ label: "Up Color"
25
+ }
26
+ },
27
+ downColor: {
28
+ default: "#ff0000",
29
+ transform: transformColor,
30
+ description: "Color for downward movement",
31
+ ui: {
32
+ type: "color",
33
+ label: "Down Color"
34
+ }
35
+ },
36
+ leftColor: {
37
+ default: "#0000ff",
38
+ transform: transformColor,
39
+ description: "Color for leftward movement",
40
+ ui: {
41
+ type: "color",
42
+ label: "Left Color"
43
+ }
44
+ },
45
+ rightColor: {
46
+ default: "#ffff00",
47
+ transform: transformColor,
48
+ description: "Color for rightward movement",
49
+ ui: {
50
+ type: "color",
51
+ label: "Right Color"
52
+ }
53
+ },
54
+ intensity: {
55
+ default: 1,
56
+ description: "Strength of the liquid effect",
57
+ ui: {
58
+ type: "range",
59
+ min: .5,
60
+ max: 1.5,
61
+ step: .1,
62
+ label: "Intensity"
63
+ }
64
+ },
65
+ radius: {
66
+ default: 2,
67
+ description: "Radius of the liquid effect",
68
+ ui: {
69
+ type: "range",
70
+ min: 0,
71
+ max: 3,
72
+ step: .01,
73
+ label: "Radius"
74
+ }
75
+ },
76
+ momentum: {
77
+ default: 30,
78
+ description: "How much momentum colors retain in their flow direction",
79
+ ui: {
80
+ type: "range",
81
+ min: 10,
82
+ max: 60,
83
+ step: 1,
84
+ label: "Momentum"
85
+ }
86
+ }
87
+ },
88
+ fragmentNode: ({ uniforms, onBeforeRender, onCleanup }) => {
89
+ const { vec2: vec2$1, vec4: vec4$1, float: float$1, uniform: uniform$1, screenUV: screenUV$1, texture, smoothstep, mix: mix$1 } = TSL;
90
+ const GRID_SIZE = 128;
91
+ const displacementData = new Float32Array(GRID_SIZE * GRID_SIZE * 2);
92
+ const liquidData = new Float32Array(GRID_SIZE * GRID_SIZE * 2);
93
+ const displacementTexture = new DataTexture(displacementData, GRID_SIZE, GRID_SIZE, RGFormat, FloatType);
94
+ displacementTexture.magFilter = LinearFilter;
95
+ displacementTexture.minFilter = LinearFilter;
96
+ displacementTexture.needsUpdate = true;
97
+ const liquidTexture = new DataTexture(liquidData, GRID_SIZE, GRID_SIZE, RGFormat, FloatType);
98
+ liquidTexture.magFilter = LinearFilter;
99
+ liquidTexture.minFilter = LinearFilter;
100
+ liquidTexture.needsUpdate = true;
101
+ const displacementField = texture(displacementTexture);
102
+ const liquidField = texture(liquidTexture);
103
+ const mouseX = uniform$1(.5);
104
+ const mouseY = uniform$1(.5);
105
+ const mouseVelX = uniform$1(0);
106
+ const mouseVelY = uniform$1(0);
107
+ let prevX = .5;
108
+ let prevY = .5;
109
+ let lastTime = Date.now();
110
+ onBeforeRender(({ pointer }) => {
111
+ const currentTime = Date.now();
112
+ const dt = Math.min((currentTime - lastTime) / 1e3, .016);
113
+ lastTime = currentTime;
114
+ const velX = dt > 0 ? (pointer.x - prevX) / dt : 0;
115
+ const velY = dt > 0 ? (pointer.y - prevY) / dt : 0;
116
+ mouseVelX.value = mouseVelX.value * .85 + velX * .15;
117
+ mouseVelY.value = mouseVelY.value * .85 + velY * .15;
118
+ mouseX.value = pointer.x;
119
+ mouseY.value = pointer.y;
120
+ const intensity = uniforms.intensity.uniform.value;
121
+ const radius = uniforms.radius.uniform.value * .05;
122
+ const momentum = uniforms.momentum.uniform.value;
123
+ const newDisplacementData = new Float32Array(displacementData);
124
+ const newLiquidData = new Float32Array(liquidData);
125
+ const flowFadeRate = 1 - dt / Math.max(.1, 1);
126
+ for (let i = 0; i < GRID_SIZE * GRID_SIZE * 2; i++) newDisplacementData[i] = displacementData[i] * flowFadeRate;
127
+ for (let i = 0; i < GRID_SIZE; i++) for (let j = 0; j < GRID_SIZE; j++) {
128
+ const idx = (i * GRID_SIZE + j) * 2;
129
+ const liquidFadeRate = 1 - dt / Math.max(.4, 1);
130
+ newLiquidData[idx] = liquidData[idx] * liquidFadeRate;
131
+ newLiquidData[idx + 1] = liquidData[idx + 1] * liquidFadeRate;
132
+ if (Math.abs(displacementData[idx]) > .001 || Math.abs(displacementData[idx + 1]) > .001) {
133
+ const flowSpeed = momentum * 50 * dt;
134
+ const advectX = j - displacementData[idx] * flowSpeed;
135
+ const advectY = i - displacementData[idx + 1] * flowSpeed;
136
+ const x0 = Math.floor(advectX);
137
+ const y0 = Math.floor(advectY);
138
+ const x1 = x0 + 1;
139
+ const y1 = y0 + 1;
140
+ if (x0 >= 0 && y0 >= 0 && x1 < GRID_SIZE && y1 < GRID_SIZE) {
141
+ const fx = advectX - x0;
142
+ const fy = advectY - y0;
143
+ const idx00 = (y0 * GRID_SIZE + x0) * 2;
144
+ const idx01 = (y0 * GRID_SIZE + x1) * 2;
145
+ const idx10 = (y1 * GRID_SIZE + x0) * 2;
146
+ const idx11 = (y1 * GRID_SIZE + x1) * 2;
147
+ newLiquidData[idx] = (liquidData[idx00] * (1 - fx) * (1 - fy) + liquidData[idx01] * fx * (1 - fy) + liquidData[idx10] * (1 - fx) * fy + liquidData[idx11] * fx * fy) * liquidFadeRate;
148
+ }
149
+ }
150
+ }
151
+ for (let i = 0; i < GRID_SIZE; i++) for (let j = 0; j < GRID_SIZE; j++) {
152
+ const idx = (i * GRID_SIZE + j) * 2;
153
+ const cellX = (j + .5) / GRID_SIZE;
154
+ const cellY = (i + .5) / GRID_SIZE;
155
+ const dx = cellX - pointer.x;
156
+ const dy = cellY - pointer.y;
157
+ const dist = Math.sqrt(dx * dx + dy * dy);
158
+ const speed = Math.sqrt(mouseVelX.value * mouseVelX.value + mouseVelY.value * mouseVelY.value);
159
+ const effectiveRadius = radius * Math.min(speed * speed * 20, 1);
160
+ if (dist < effectiveRadius * 2 && Math.abs(velX) + Math.abs(velY) > .01) {
161
+ const influence = Math.exp(-dist * dist / (effectiveRadius * effectiveRadius));
162
+ newDisplacementData[idx] += mouseVelX.value * influence * (intensity * 100) * dt * .01;
163
+ newDisplacementData[idx + 1] += mouseVelY.value * influence * (intensity * 100) * dt * .01;
164
+ const speedMultiplier = Math.min(speed * 10, 1);
165
+ newLiquidData[idx] += influence * (intensity * 100) * dt * .01 * speedMultiplier;
166
+ newLiquidData[idx + 1] = 0;
167
+ }
168
+ newDisplacementData[idx] = Math.max(-1, Math.min(1, newDisplacementData[idx]));
169
+ newDisplacementData[idx + 1] = Math.max(-1, Math.min(1, newDisplacementData[idx + 1]));
170
+ newLiquidData[idx] = Math.max(0, Math.min(1, newLiquidData[idx]));
171
+ newLiquidData[idx + 1] = 0;
172
+ }
173
+ displacementData.set(newDisplacementData);
174
+ liquidData.set(newLiquidData);
175
+ displacementTexture.needsUpdate = true;
176
+ liquidTexture.needsUpdate = true;
177
+ prevX = pointer.x;
178
+ prevY = pointer.y;
179
+ });
180
+ onCleanup(() => {
181
+ displacementTexture.dispose();
182
+ liquidTexture.dispose();
183
+ });
184
+ const liquidDensity = liquidField.sample(screenUV$1).x;
185
+ const pixelSize = vec2$1(float$1(1 / 128), float$1(1 / 128));
186
+ const sample1 = liquidField.sample(screenUV$1.add(vec2$1(pixelSize.x, float$1(0)))).x;
187
+ const sample2 = liquidField.sample(screenUV$1.add(vec2$1(float$1(0), pixelSize.y))).x;
188
+ const sample3 = liquidField.sample(screenUV$1.add(vec2$1(pixelSize.x.negate(), float$1(0)))).x;
189
+ const sample4 = liquidField.sample(screenUV$1.add(vec2$1(float$1(0), pixelSize.y.negate()))).x;
190
+ const smoothedLiquid = liquidDensity.add(sample1).add(sample2).add(sample3).add(sample4).mul(float$1(.2));
191
+ const liquidIntensity = smoothstep(float$1(0), float$1(.1), smoothedLiquid);
192
+ const flowPixelSize = vec2$1(float$1(1 / 128), float$1(1 / 128));
193
+ const centerFlow = displacementField.sample(screenUV$1).xy;
194
+ const flowSample1 = displacementField.sample(screenUV$1.add(vec2$1(flowPixelSize.x, float$1(0)))).xy;
195
+ const flowSample2 = displacementField.sample(screenUV$1.add(vec2$1(float$1(0), flowPixelSize.y))).xy;
196
+ const flowSample3 = displacementField.sample(screenUV$1.add(vec2$1(flowPixelSize.x.negate(), float$1(0)))).xy;
197
+ const flowSample4 = displacementField.sample(screenUV$1.add(vec2$1(float$1(0), flowPixelSize.y.negate()))).xy;
198
+ const flowVectors = centerFlow.add(flowSample1).add(flowSample2).add(flowSample3).add(flowSample4).mul(float$1(.2));
199
+ const baseColor = uniforms.baseColor.uniform;
200
+ const upColor = uniforms.upColor.uniform;
201
+ const downColor = uniforms.downColor.uniform;
202
+ const leftColor = uniforms.leftColor.uniform;
203
+ const rightColor = uniforms.rightColor.uniform;
204
+ const flowMagnitude = flowVectors.x.mul(flowVectors.x).add(flowVectors.y.mul(flowVectors.y)).sqrt();
205
+ const hasFlow = smoothstep(float$1(.01), float$1(.1), flowMagnitude);
206
+ const normalizedX = flowVectors.x.div(flowMagnitude.add(float$1(.001)));
207
+ const normalizedY = flowVectors.y.div(flowMagnitude.add(float$1(.001)));
208
+ const rightAmount = smoothstep(float$1(0), float$1(.7), normalizedX.max(float$1(0)));
209
+ const leftAmount = smoothstep(float$1(0), float$1(.7), normalizedX.negate().max(float$1(0)));
210
+ const upAmount = smoothstep(float$1(0), float$1(.7), normalizedY.max(float$1(0)));
211
+ const downAmount = smoothstep(float$1(0), float$1(.7), normalizedY.negate().max(float$1(0)));
212
+ const horizontalColor = leftColor.mul(leftAmount).add(rightColor.mul(rightAmount));
213
+ const verticalColor = downColor.mul(downAmount).add(upColor.mul(upAmount));
214
+ const horizontalWeight = leftAmount.add(rightAmount);
215
+ const verticalWeight = upAmount.add(downAmount);
216
+ const totalWeight = horizontalWeight.add(verticalWeight).add(float$1(.001));
217
+ const finalColor = mix$1(baseColor, horizontalColor.mul(horizontalWeight.div(totalWeight)).add(verticalColor.mul(verticalWeight.div(totalWeight))), hasFlow);
218
+ return vec4$1(finalColor.rgb.mul(liquidIntensity), finalColor.a.mul(liquidIntensity));
219
+ }
220
+ };
221
+ var ChromaFlow_default = componentDefinition;
222
+ export { componentDefinition as n, ChromaFlow_default as t };
@@ -0,0 +1,88 @@
1
+ import { n as transformAngle } from "./transformations-DxfQXZWi.js";
2
+ import * as TSL from "three/tsl";
3
+ const componentDefinition = {
4
+ name: "ChromaticAberration",
5
+ category: "Stylize",
6
+ description: "Separate RGB channels for a prismatic distortion effect",
7
+ requiresRTT: true,
8
+ requiresChild: true,
9
+ props: {
10
+ strength: {
11
+ default: .2,
12
+ description: "Overall strength of the chromatic aberration effect",
13
+ ui: {
14
+ type: "range",
15
+ min: 0,
16
+ max: 1,
17
+ step: .01,
18
+ label: "Strength"
19
+ }
20
+ },
21
+ angle: {
22
+ default: 0,
23
+ transform: transformAngle,
24
+ description: "Direction of the chromatic aberration in degrees",
25
+ ui: {
26
+ type: "range",
27
+ min: 0,
28
+ max: 360,
29
+ step: 1,
30
+ label: "Angle"
31
+ }
32
+ },
33
+ redOffset: {
34
+ default: -1,
35
+ description: "Red channel offset multiplier",
36
+ ui: {
37
+ type: "range",
38
+ min: -2,
39
+ max: 2,
40
+ step: .1,
41
+ label: "Red Offset"
42
+ }
43
+ },
44
+ greenOffset: {
45
+ default: 0,
46
+ description: "Green channel offset multiplier",
47
+ ui: {
48
+ type: "range",
49
+ min: -2,
50
+ max: 2,
51
+ step: .1,
52
+ label: "Green Offset"
53
+ }
54
+ },
55
+ blueOffset: {
56
+ default: 1,
57
+ description: "Blue channel offset multiplier",
58
+ ui: {
59
+ type: "range",
60
+ min: -2,
61
+ max: 2,
62
+ step: .1,
63
+ label: "Blue Offset"
64
+ }
65
+ }
66
+ },
67
+ fragmentNode: ({ uniforms, childNode, onCleanup }) => {
68
+ const { vec2: vec2$1, vec4: vec4$1, cos: cos$1, sin: sin$1, radians, screenUV: screenUV$1, convertToTexture: convertToTexture$1 } = TSL;
69
+ if (!childNode) return vec4$1(0, 0, 0, 0);
70
+ const childTexture = convertToTexture$1(childNode);
71
+ onCleanup(() => {
72
+ if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
73
+ });
74
+ const angleRad = radians(uniforms.angle.uniform);
75
+ const direction = vec2$1(cos$1(angleRad), sin$1(angleRad));
76
+ const scaledStrength = uniforms.strength.uniform.mul(.1);
77
+ const redUV = screenUV$1.add(direction.mul(scaledStrength).mul(uniforms.redOffset.uniform));
78
+ const greenUV = screenUV$1.add(direction.mul(scaledStrength).mul(uniforms.greenOffset.uniform));
79
+ const blueUV = screenUV$1.add(direction.mul(scaledStrength).mul(uniforms.blueOffset.uniform));
80
+ const redChannel = childTexture.sample(redUV).r;
81
+ const greenChannel = childTexture.sample(greenUV).g;
82
+ const blueChannel = childTexture.sample(blueUV).b;
83
+ const alpha = childTexture.sample(screenUV$1).a;
84
+ return vec4$1(redChannel, greenChannel, blueChannel, alpha);
85
+ }
86
+ };
87
+ var ChromaticAberration_default = componentDefinition;
88
+ export { componentDefinition as n, ChromaticAberration_default as t };
@@ -0,0 +1,67 @@
1
+ import { o as transformPosition, r as transformColor } from "./transformations-DxfQXZWi.js";
2
+ import * as TSL from "three/tsl";
3
+ const componentDefinition = {
4
+ name: "Circle",
5
+ category: "Base Layers",
6
+ description: "Generate a circle with adjustable size and softness",
7
+ acceptsUVContext: true,
8
+ props: {
9
+ color: {
10
+ default: "#ffffff",
11
+ transform: transformColor,
12
+ description: "The color of the circle",
13
+ ui: {
14
+ type: "color",
15
+ label: "Color"
16
+ }
17
+ },
18
+ radius: {
19
+ default: 1,
20
+ description: "The radius of the circle. A value of one (1) is sets the circle to fit the canvas.",
21
+ ui: {
22
+ type: "range",
23
+ min: 0,
24
+ max: 2,
25
+ step: .01,
26
+ label: "Radius"
27
+ }
28
+ },
29
+ softness: {
30
+ default: 0,
31
+ description: "Edge softness. Lower values like zero (0) are sharp, higher values like one (1) are softer.",
32
+ ui: {
33
+ type: "range",
34
+ min: 0,
35
+ max: 1,
36
+ step: .01,
37
+ label: "Softness"
38
+ }
39
+ },
40
+ center: {
41
+ default: {
42
+ x: .5,
43
+ y: .5
44
+ },
45
+ transform: transformPosition,
46
+ description: "The center point of the circle",
47
+ ui: {
48
+ type: "position",
49
+ label: "Center Position"
50
+ }
51
+ }
52
+ },
53
+ fragmentNode: ({ uniforms, uvContext }) => {
54
+ const { vec2: vec2$1, vec4: vec4$1, length, smoothstep, screenUV: screenUV$1, viewportSize: viewportSize$1 } = TSL;
55
+ const uv = uvContext ?? screenUV$1;
56
+ const aspect = viewportSize$1.x.div(viewportSize$1.y);
57
+ const aspectCorrectedUV = vec2$1(uv.x.mul(aspect), uv.y);
58
+ const centerPos = vec2$1(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
59
+ const distanceFromCenter = length(aspectCorrectedUV.sub(centerPos));
60
+ const edgeSoftness = uniforms.softness.uniform;
61
+ const circleEdge = uniforms.radius.uniform.mul(.5);
62
+ const circleMask = smoothstep(circleEdge, circleEdge.sub(edgeSoftness), distanceFromCenter);
63
+ return vec4$1(uniforms.color.uniform.rgb, uniforms.color.uniform.a.mul(circleMask));
64
+ }
65
+ };
66
+ var Circle_default = componentDefinition;
67
+ export { componentDefinition as n, Circle_default as t };
@@ -0,0 +1,145 @@
1
+ import { i as transformColorSpace, r as transformColor, t as colorSpaceOptions } from "./transformations-DxfQXZWi.js";
2
+ import { t as mixColors } from "./colorMixing-BXiTAqJU.js";
3
+ import { DataTexture, FloatType, LinearFilter, RGBAFormat } from "three";
4
+ import * as TSL from "three/tsl";
5
+ const componentDefinition = {
6
+ name: "CursorTrail",
7
+ category: "Interactive",
8
+ description: "Animated trail effect that tracks cursor movement",
9
+ props: {
10
+ colorA: {
11
+ default: "#00aaff",
12
+ transform: transformColor,
13
+ description: "Color of fresh trails",
14
+ ui: {
15
+ type: "color",
16
+ label: "Start Color"
17
+ }
18
+ },
19
+ colorB: {
20
+ default: "#ff00aa",
21
+ transform: transformColor,
22
+ description: "Color trails transition to as they fade",
23
+ ui: {
24
+ type: "color",
25
+ label: "End Color"
26
+ }
27
+ },
28
+ radius: {
29
+ default: .5,
30
+ description: "Base radius of trail circles",
31
+ ui: {
32
+ type: "range",
33
+ min: .5,
34
+ max: 2,
35
+ step: .01,
36
+ label: "Radius"
37
+ }
38
+ },
39
+ length: {
40
+ default: .5,
41
+ description: "How long trail circles persist (in seconds)",
42
+ ui: {
43
+ type: "range",
44
+ min: .1,
45
+ max: 2,
46
+ step: .1,
47
+ label: "Trail Length"
48
+ }
49
+ },
50
+ shrink: {
51
+ default: 1,
52
+ description: "How much circles shrink as they fade out (0 = no shrink, 1 = full shrink)",
53
+ ui: {
54
+ type: "range",
55
+ min: 0,
56
+ max: 1,
57
+ step: .01,
58
+ label: "Shrink Amount"
59
+ }
60
+ },
61
+ colorSpace: {
62
+ default: "linear",
63
+ transform: transformColorSpace,
64
+ description: "Color space for color interpolation",
65
+ ui: {
66
+ type: "select",
67
+ options: colorSpaceOptions,
68
+ label: "Color Space"
69
+ }
70
+ }
71
+ },
72
+ fragmentNode: ({ uniforms, onBeforeRender, onCleanup }) => {
73
+ const { vec4: vec4$1, float: float$1, texture, step: step$1, screenUV: screenUV$1 } = TSL;
74
+ const GRID_SIZE = 128;
75
+ const trailData = new Float32Array(GRID_SIZE * GRID_SIZE * 4);
76
+ const trailTexture = new DataTexture(trailData, GRID_SIZE, GRID_SIZE, RGBAFormat, FloatType);
77
+ trailTexture.magFilter = LinearFilter;
78
+ trailTexture.minFilter = LinearFilter;
79
+ trailTexture.needsUpdate = true;
80
+ const trailField = texture(trailTexture);
81
+ let prevX = .5;
82
+ let prevY = .5;
83
+ let lastTime = Date.now();
84
+ onBeforeRender(({ pointer }) => {
85
+ const currentTime = Date.now();
86
+ const dt = Math.min((currentTime - lastTime) / 1e3, .016);
87
+ lastTime = currentTime;
88
+ const radius = uniforms.radius.uniform.value * .1;
89
+ const length = uniforms.length.uniform.value;
90
+ const shrink = uniforms.shrink.uniform.value;
91
+ const dx = pointer.x - prevX;
92
+ const dy = pointer.y - prevY;
93
+ const speed = Math.sqrt(dx * dx + dy * dy);
94
+ const fadeRate = 1 - dt / Math.max(.1, length);
95
+ const ageRate = dt / Math.max(.1, length);
96
+ for (let i = 0; i < GRID_SIZE * GRID_SIZE * 4; i += 4) {
97
+ trailData[i] *= fadeRate;
98
+ trailData[i + 1] = 1 - (1 - trailData[i]) * shrink;
99
+ trailData[i + 2] = Math.min(1, trailData[i + 2] + ageRate);
100
+ }
101
+ if (speed > .001) {
102
+ const influenceRadius = radius * 3;
103
+ const minJ = Math.max(0, Math.floor((pointer.x - influenceRadius) * GRID_SIZE));
104
+ const maxJ = Math.min(GRID_SIZE - 1, Math.ceil((pointer.x + influenceRadius) * GRID_SIZE));
105
+ const minI = Math.max(0, Math.floor((pointer.y - influenceRadius) * GRID_SIZE));
106
+ const maxI = Math.min(GRID_SIZE - 1, Math.ceil((pointer.y + influenceRadius) * GRID_SIZE));
107
+ for (let i = minI; i <= maxI; i++) for (let j = minJ; j <= maxJ; j++) {
108
+ const idx = (i * GRID_SIZE + j) * 4;
109
+ const cellX = (j + .5) / GRID_SIZE;
110
+ const cellY = (i + .5) / GRID_SIZE;
111
+ const cellDx = cellX - pointer.x;
112
+ const cellDy = cellY - pointer.y;
113
+ const dist = Math.sqrt(cellDx * cellDx + cellDy * cellDy);
114
+ if (dist < influenceRadius) {
115
+ const addAmount = Math.exp(-dist * dist / (radius * radius)) * speed * 50 * dt;
116
+ trailData[idx] = Math.min(1, trailData[idx] + addAmount);
117
+ trailData[idx + 1] = 1;
118
+ trailData[idx + 2] = 0;
119
+ }
120
+ }
121
+ }
122
+ trailTexture.needsUpdate = true;
123
+ prevX = pointer.x;
124
+ prevY = pointer.y;
125
+ });
126
+ onCleanup(() => {
127
+ trailTexture.dispose();
128
+ });
129
+ const pixelSize = float$1(1 / GRID_SIZE);
130
+ const centerSample = trailField.sample(screenUV$1);
131
+ const sample1 = trailField.sample(screenUV$1.add(TSL.vec2(pixelSize, float$1(0))));
132
+ const sample2 = trailField.sample(screenUV$1.add(TSL.vec2(float$1(0), pixelSize)));
133
+ const sample3 = trailField.sample(screenUV$1.add(TSL.vec2(pixelSize.negate(), float$1(0))));
134
+ const sample4 = trailField.sample(screenUV$1.add(TSL.vec2(float$1(0), pixelSize.negate())));
135
+ const trailIntensity = centerSample.x.mul(float$1(.5)).add(sample1.x.mul(float$1(.125))).add(sample2.x.mul(float$1(.125))).add(sample3.x.mul(float$1(.125))).add(sample4.x.mul(float$1(.125)));
136
+ const trailAge = centerSample.z.mul(float$1(.5)).add(sample1.z.mul(float$1(.125))).add(sample2.z.mul(float$1(.125))).add(sample3.z.mul(float$1(.125))).add(sample4.z.mul(float$1(.125)));
137
+ const circleMask = step$1(float$1(.01), trailIntensity);
138
+ const colorA = uniforms.colorA.uniform;
139
+ const colorB = uniforms.colorB.uniform;
140
+ const trailColor = mixColors(colorA, colorB, trailAge, uniforms.colorSpace.uniform);
141
+ return vec4$1(trailColor.rgb, trailColor.a.mul(circleMask));
142
+ }
143
+ };
144
+ var CursorTrail_default = componentDefinition;
145
+ export { componentDefinition as n, CursorTrail_default as t };
@@ -0,0 +1,83 @@
1
+ import { t as applyEdgeHandling } from "./edges-Bn_OIa_h.js";
2
+ import { a as transformEdges } from "./transformations-DxfQXZWi.js";
3
+ import * as TSL from "three/tsl";
4
+ const componentDefinition = {
5
+ name: "DiffuseBlur",
6
+ category: "Blurs",
7
+ description: "Grain-like pixel displacement at random",
8
+ requiresRTT: true,
9
+ requiresChild: true,
10
+ props: {
11
+ intensity: {
12
+ default: 30,
13
+ description: "Intensity of the diffuse blur effect",
14
+ ui: {
15
+ type: "range",
16
+ min: 0,
17
+ max: 100,
18
+ step: 1,
19
+ label: "Intensity"
20
+ }
21
+ },
22
+ edges: {
23
+ default: "stretch",
24
+ description: "How to handle edges when distortion pushes content out of bounds",
25
+ transform: transformEdges,
26
+ ui: {
27
+ type: "select",
28
+ options: [
29
+ {
30
+ label: "Stretch",
31
+ value: "stretch"
32
+ },
33
+ {
34
+ label: "Transparent",
35
+ value: "transparent"
36
+ },
37
+ {
38
+ label: "Mirror",
39
+ value: "mirror"
40
+ },
41
+ {
42
+ label: "Wrap",
43
+ value: "wrap"
44
+ }
45
+ ],
46
+ label: "Edges"
47
+ }
48
+ }
49
+ },
50
+ uvTransformNode: ({ uv, uniforms, viewportSize: viewportSize$1 }) => {
51
+ const { vec2: vec2$1, fract, sin: sin$1, dot: dot$1 } = TSL;
52
+ const hash = (p) => {
53
+ return fract(sin$1(dot$1(p, vec2$1(12.9898, 78.233).mul(2))).mul(43758.5453));
54
+ };
55
+ const pixelSize = vec2$1(1).div(viewportSize$1);
56
+ const seed = uv.mul(1e3);
57
+ const rand1 = hash(seed);
58
+ const rand2 = hash(seed.add(vec2$1(73.2, 41.9)));
59
+ const offset = vec2$1(rand1.mul(2).sub(1), rand2.mul(2).sub(1)).mul(uniforms.intensity.uniform).mul(pixelSize);
60
+ return uv.add(offset);
61
+ },
62
+ fragmentNode: ({ uniforms, childNode, onCleanup }) => {
63
+ const { vec2: vec2$1, vec4: vec4$1, screenUV: screenUV$1, convertToTexture: convertToTexture$1, viewportSize: viewportSize$1, fract, sin: sin$1, dot: dot$1 } = TSL;
64
+ if (!childNode) return vec4$1(0, 0, 0, 0);
65
+ const childTexture = convertToTexture$1(childNode);
66
+ onCleanup(() => {
67
+ if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
68
+ });
69
+ const hash = (p) => {
70
+ return fract(sin$1(dot$1(p, vec2$1(12.9898, 78.233).mul(2))).mul(43758.5453));
71
+ };
72
+ const uv = screenUV$1;
73
+ const pixelSize = vec2$1(1).div(viewportSize$1);
74
+ const seed = uv.mul(1e3);
75
+ const rand1 = hash(seed);
76
+ const rand2 = hash(seed.add(vec2$1(73.2, 41.9)));
77
+ const offset = vec2$1(rand1.mul(2).sub(1), rand2.mul(2).sub(1)).mul(uniforms.intensity.uniform).mul(pixelSize);
78
+ const displacedUV = uv.add(offset);
79
+ return applyEdgeHandling(displacedUV, childTexture.sample(displacedUV), childTexture, uniforms.edges.uniform);
80
+ }
81
+ };
82
+ var DiffuseBlur_default = componentDefinition;
83
+ export { componentDefinition as n, DiffuseBlur_default as t };