shaders 2.2.25 → 2.2.27

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 (184) hide show
  1. package/dist/core/{AngularBlur-Dl2gwk68.js → AngularBlur-DKFExWUF.js} +15 -16
  2. package/dist/core/{Ascii-Dha_QpT3.js → Ascii-BRApYlD4.js} +18 -19
  3. package/dist/core/{Beam-CTN9Ni43.js → Beam-DU7wxmIh.js} +23 -24
  4. package/dist/core/{Blob-CxFDZovO.js → Blob-nssNzEgN.js} +37 -38
  5. package/dist/core/{Blur-Y2FsmFk_.js → Blur-k37gOaRA.js} +16 -17
  6. package/dist/core/{Bulge-Cb-t0xqI.js → Bulge-Dm02_fG6.js} +23 -25
  7. package/dist/core/{CRTScreen-CtERsenz.js → CRTScreen-DLy8Rig6.js} +19 -20
  8. package/dist/core/ChannelBlur-BPOGOQXl.js +117 -0
  9. package/dist/core/{Checkerboard-CgB-egNY.js → Checkerboard-SKsXoUXE.js} +9 -10
  10. package/dist/core/{ChromaFlow-vRCwhQpN.js → ChromaFlow-VpfgLFbs.js} +31 -32
  11. package/dist/core/{ChromaticAberration-FTquTQIL.js → ChromaticAberration-CaCyXMyE.js} +10 -11
  12. package/dist/core/{Circle-Daziv5d7.js → Circle-BHnAmzVb.js} +7 -8
  13. package/dist/core/{CursorTrail-Bsz9e6Fn.js → CursorTrail-CfVWIKok.js} +16 -17
  14. package/dist/core/{DiffuseBlur-Cj2PtRNd.js → DiffuseBlur-GWPb8Zht.js} +19 -21
  15. package/dist/core/{Dither-D2Nf4p3w.js → Dither-BNEeyo0u.js} +7 -8
  16. package/dist/core/{DotGrid-CzOwquo4.js → DotGrid-CRRS6nbt.js} +10 -11
  17. package/dist/core/{Duotone-XuTN9tI7.js → Duotone-5gKND3an.js} +8 -9
  18. package/dist/core/{FilmGrain-D3-nbi12.js → FilmGrain-osBGk_b9.js} +4 -5
  19. package/dist/core/{FloatingParticles-D9Nnu1qg.js → FloatingParticles-CULOurGT.js} +41 -42
  20. package/dist/core/GlassTiles-CA90XrNT.js +67 -0
  21. package/dist/core/{Glow-BluFc9be.js → Glow-D0boDIAW.js} +12 -13
  22. package/dist/core/{Godrays-ChLh_vGl.js → Godrays-BQsDwU26.js} +27 -28
  23. package/dist/core/{Grayscale-DRny75A9.js → Grayscale-Bi-XBvO_.js} +4 -6
  24. package/dist/core/{Grid-DgyDa4H1.js → Grid-CWHxwO7R.js} +7 -8
  25. package/dist/core/{GridDistortion-BAspCYvp.js → GridDistortion-CZB9w-rv.js} +21 -22
  26. package/dist/core/{Group-Dul7PUBl.js → Group-C0AknFDS.js} +2 -3
  27. package/dist/core/{Halftone-Ifv5F_FT.js → Halftone-MMcLMRpL.js} +11 -12
  28. package/dist/core/HueShift-DvOpzM7W.js +47 -0
  29. package/dist/core/{ImageTexture-DvYcQgJB.js → ImageTexture-D9OMwqAs.js} +26 -27
  30. package/dist/core/{Invert-Fz0NtIJc.js → Invert-Bmjbp6g6.js} +5 -6
  31. package/dist/core/{LinearBlur-LmhnQoA4.js → LinearBlur-B-Ikurxt.js} +12 -13
  32. package/dist/core/{LinearGradient-xbloQjzt.js → LinearGradient-DV6UkhZk.js} +21 -22
  33. package/dist/core/{Liquify-DMe1V5-O.js → Liquify-W8UQNeEM.js} +24 -26
  34. package/dist/core/{Pixelate-Cv8537Pj.js → Pixelate-_pyYeLRP.js} +6 -8
  35. package/dist/core/{PolarCoordinates-DDvDhBE-.js → PolarCoordinates-D63xm0oJ.js} +15 -17
  36. package/dist/core/{Posterize-3m3xkWOz.js → Posterize-DIjjPS72.js} +4 -5
  37. package/dist/core/{ProgressiveBlur-EGkevObV.js → ProgressiveBlur-G-s-o9ic.js} +23 -24
  38. package/dist/core/{RadialGradient-B7ZZB_VJ.js → RadialGradient-BGVqSwh0.js} +6 -7
  39. package/dist/core/{RectangularCoordinates-muWR8mZS.js → RectangularCoordinates-DyHBo456.js} +19 -21
  40. package/dist/core/{Ripples-8XaZaXQF.js → Ripples-2FGWCZlp.js} +9 -10
  41. package/dist/core/{Saturation-CYFI1jzN.js → Saturation-J0nI4hmh.js} +4 -6
  42. package/dist/core/{SimplexNoise-DJUe0wz_.js → SimplexNoise-B6dtUCmn.js} +4 -4
  43. package/dist/core/{SineWave-Dl3nFO1W.js → SineWave-BtPf6-2H.js} +11 -12
  44. package/dist/core/{SolidColor-CWGq_Bjq.js → SolidColor-CETl1cEr.js} +1 -1
  45. package/dist/core/{Spherize-C-jZEUsN.js → Spherize-BwvUcorJ.js} +24 -25
  46. package/dist/core/{Spiral-BSB_R39p.js → Spiral-DmJWmUmr.js} +16 -17
  47. package/dist/core/{Strands-0stO5BMy.js → Strands-CV1oCmHx.js} +31 -32
  48. package/dist/core/{Stretch-B645paha.js → Stretch-pl-Cn2F8.js} +23 -25
  49. package/dist/core/{Swirl-CVnbawit.js → Swirl-D65vXLDw.js} +15 -16
  50. package/dist/core/{TiltShift-0CxNRI6L.js → TiltShift-CFcK6Hzg.js} +22 -23
  51. package/dist/core/{Tritone-Daa-I5UD.js → Tritone-EmnjV2rX.js} +8 -9
  52. package/dist/core/{Twirl-2CJVZEtk.js → Twirl-HSMyRx5I.js} +18 -20
  53. package/dist/core/{Vibrance-DRtecEvb.js → Vibrance-BI5q7_Wt.js} +8 -6
  54. package/dist/core/{WaveDistortion-BscXN2rs.js → WaveDistortion-DG8GO_l8.js} +31 -33
  55. package/dist/core/{ZoomBlur-CAqK0Kju.js → ZoomBlur-C01oGwwG.js} +12 -13
  56. package/dist/core/colorMixing-CZPFmiT4.js +68 -0
  57. package/dist/core/edges-Djr_12SL.js +25 -0
  58. package/dist/core/helpers/distort.d.ts.map +1 -1
  59. package/dist/core/helpers/edgeMask.d.ts.map +1 -1
  60. package/dist/core/helpers/glow.d.ts +3 -2
  61. package/dist/core/helpers/glow.d.ts.map +1 -1
  62. package/dist/core/helpers/grain.d.ts.map +1 -1
  63. package/dist/core/index.js +99 -107
  64. package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
  65. package/dist/core/shaders/AngularBlur/index.js +2 -2
  66. package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
  67. package/dist/core/shaders/Ascii/index.js +1 -1
  68. package/dist/core/shaders/Beam/index.d.ts.map +1 -1
  69. package/dist/core/shaders/Beam/index.js +3 -3
  70. package/dist/core/shaders/Blob/index.d.ts.map +1 -1
  71. package/dist/core/shaders/Blob/index.js +3 -3
  72. package/dist/core/shaders/Blur/index.d.ts.map +1 -1
  73. package/dist/core/shaders/Blur/index.js +1 -1
  74. package/dist/core/shaders/Bulge/index.d.ts.map +1 -1
  75. package/dist/core/shaders/Bulge/index.js +3 -3
  76. package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
  77. package/dist/core/shaders/CRTScreen/index.js +1 -1
  78. package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
  79. package/dist/core/shaders/ChannelBlur/index.js +1 -1
  80. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  81. package/dist/core/shaders/Checkerboard/index.js +3 -3
  82. package/dist/core/shaders/ChromaFlow/index.d.ts.map +1 -1
  83. package/dist/core/shaders/ChromaFlow/index.js +2 -2
  84. package/dist/core/shaders/ChromaticAberration/index.d.ts.map +1 -1
  85. package/dist/core/shaders/ChromaticAberration/index.js +2 -2
  86. package/dist/core/shaders/Circle/index.d.ts.map +1 -1
  87. package/dist/core/shaders/Circle/index.js +2 -2
  88. package/dist/core/shaders/CursorTrail/index.d.ts.map +1 -1
  89. package/dist/core/shaders/CursorTrail/index.js +3 -3
  90. package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
  91. package/dist/core/shaders/DiffuseBlur/index.js +3 -3
  92. package/dist/core/shaders/Dither/index.d.ts.map +1 -1
  93. package/dist/core/shaders/Dither/index.js +2 -2
  94. package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
  95. package/dist/core/shaders/DotGrid/index.js +2 -2
  96. package/dist/core/shaders/Duotone/index.d.ts.map +1 -1
  97. package/dist/core/shaders/Duotone/index.js +3 -3
  98. package/dist/core/shaders/FilmGrain/index.d.ts.map +1 -1
  99. package/dist/core/shaders/FilmGrain/index.js +1 -1
  100. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  101. package/dist/core/shaders/FloatingParticles/index.js +2 -2
  102. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  103. package/dist/core/shaders/GlassTiles/index.js +1 -1
  104. package/dist/core/shaders/Glow/index.d.ts.map +1 -1
  105. package/dist/core/shaders/Glow/index.js +1 -1
  106. package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
  107. package/dist/core/shaders/Godrays/index.js +2 -2
  108. package/dist/core/shaders/Grayscale/index.d.ts.map +1 -1
  109. package/dist/core/shaders/Grayscale/index.js +1 -1
  110. package/dist/core/shaders/Grid/index.d.ts.map +1 -1
  111. package/dist/core/shaders/Grid/index.js +2 -2
  112. package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
  113. package/dist/core/shaders/GridDistortion/index.js +3 -3
  114. package/dist/core/shaders/Group/index.d.ts.map +1 -1
  115. package/dist/core/shaders/Group/index.js +1 -1
  116. package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
  117. package/dist/core/shaders/Halftone/index.js +2 -2
  118. package/dist/core/shaders/HueShift/index.d.ts.map +1 -1
  119. package/dist/core/shaders/HueShift/index.js +1 -1
  120. package/dist/core/shaders/ImageTexture/index.d.ts.map +1 -1
  121. package/dist/core/shaders/ImageTexture/index.js +1 -1
  122. package/dist/core/shaders/Invert/index.d.ts.map +1 -1
  123. package/dist/core/shaders/Invert/index.js +1 -1
  124. package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
  125. package/dist/core/shaders/LinearBlur/index.js +2 -2
  126. package/dist/core/shaders/LinearGradient/index.d.ts.map +1 -1
  127. package/dist/core/shaders/LinearGradient/index.js +3 -3
  128. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  129. package/dist/core/shaders/Liquify/index.js +3 -3
  130. package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
  131. package/dist/core/shaders/Pixelate/index.js +1 -1
  132. package/dist/core/shaders/PolarCoordinates/index.d.ts.map +1 -1
  133. package/dist/core/shaders/PolarCoordinates/index.js +3 -3
  134. package/dist/core/shaders/Posterize/index.d.ts.map +1 -1
  135. package/dist/core/shaders/Posterize/index.js +1 -1
  136. package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
  137. package/dist/core/shaders/ProgressiveBlur/index.js +2 -2
  138. package/dist/core/shaders/RadialGradient/index.d.ts.map +1 -1
  139. package/dist/core/shaders/RadialGradient/index.js +3 -3
  140. package/dist/core/shaders/RectangularCoordinates/index.d.ts.map +1 -1
  141. package/dist/core/shaders/RectangularCoordinates/index.js +3 -3
  142. package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
  143. package/dist/core/shaders/Ripples/index.js +3 -3
  144. package/dist/core/shaders/Saturation/index.d.ts.map +1 -1
  145. package/dist/core/shaders/Saturation/index.js +1 -1
  146. package/dist/core/shaders/SimplexNoise/index.js +3 -3
  147. package/dist/core/shaders/SineWave/index.d.ts.map +1 -1
  148. package/dist/core/shaders/SineWave/index.js +2 -2
  149. package/dist/core/shaders/SolidColor/index.js +2 -2
  150. package/dist/core/shaders/Spherize/index.d.ts.map +1 -1
  151. package/dist/core/shaders/Spherize/index.js +2 -2
  152. package/dist/core/shaders/Spiral/index.d.ts.map +1 -1
  153. package/dist/core/shaders/Spiral/index.js +3 -3
  154. package/dist/core/shaders/Strands/index.d.ts.map +1 -1
  155. package/dist/core/shaders/Strands/index.js +2 -2
  156. package/dist/core/shaders/Stretch/index.d.ts.map +1 -1
  157. package/dist/core/shaders/Stretch/index.js +3 -3
  158. package/dist/core/shaders/Swirl/index.d.ts.map +1 -1
  159. package/dist/core/shaders/Swirl/index.js +3 -3
  160. package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
  161. package/dist/core/shaders/TiltShift/index.js +2 -2
  162. package/dist/core/shaders/Tritone/index.d.ts.map +1 -1
  163. package/dist/core/shaders/Tritone/index.js +3 -3
  164. package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
  165. package/dist/core/shaders/Twirl/index.js +3 -3
  166. package/dist/core/shaders/Vibrance/index.d.ts.map +1 -1
  167. package/dist/core/shaders/Vibrance/index.js +1 -1
  168. package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
  169. package/dist/core/shaders/WaveDistortion/index.js +3 -3
  170. package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
  171. package/dist/core/shaders/ZoomBlur/index.js +2 -2
  172. package/dist/core/{transformations-DxfQXZWi.js → transformations-Dv5JW9ck.js} +11 -12
  173. package/dist/core/utilities/colorMixing.d.ts.map +1 -1
  174. package/dist/core/utilities/edges.d.ts.map +1 -1
  175. package/dist/core/utilities/transformations.d.ts.map +1 -1
  176. package/dist/core/utilities/uniforms.d.ts.map +1 -1
  177. package/dist/core/utilities/uv.d.ts.map +1 -1
  178. package/dist/core/utilities/uvTransform.d.ts.map +1 -1
  179. package/package.json +1 -1
  180. package/dist/core/ChannelBlur-CvM6GJgZ.js +0 -118
  181. package/dist/core/GlassTiles-CnjCvajI.js +0 -69
  182. package/dist/core/HueShift-De8ukMWs.js +0 -31
  183. package/dist/core/colorMixing-BXiTAqJU.js +0 -69
  184. package/dist/core/edges-Bn_OIa_h.js +0 -26
@@ -1,6 +1,6 @@
1
- import { a as transformEdges, i as transformColorSpace, n as transformAngle, o as transformPosition, 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";
1
+ import { a as transformEdges, i as transformColorSpace, n as transformAngle, o as transformPosition, r as transformColor, t as colorSpaceOptions } from "./transformations-Dv5JW9ck.js";
2
+ import { t as mixColors } from "./colorMixing-CZPFmiT4.js";
3
+ import { abs, cos, dot, float, fract, length, mod, normalize, radians, screenUV, sin, vec2, vec4 } from "three/tsl";
4
4
  const componentDefinition = {
5
5
  name: "LinearGradient",
6
6
  category: "Base Layers",
@@ -100,33 +100,32 @@ const componentDefinition = {
100
100
  }
101
101
  },
102
102
  fragmentNode: ({ uniforms, uvContext }) => {
103
- const { vec2: vec2$1, vec4: vec4$1, float: float$1, cos: cos$1, sin: sin$1, dot: dot$1, radians, screenUV: screenUV$1, length, normalize, abs: abs$1, mod, fract } = TSL;
104
- const uv = uvContext ?? screenUV$1;
105
- const startPos = vec2$1(uniforms.start.uniform[0], uniforms.start.uniform[1].oneMinus());
106
- const endPos = vec2$1(uniforms.end.uniform[0], uniforms.end.uniform[1].oneMinus());
103
+ const uv$1 = uvContext ?? screenUV;
104
+ const startPos = vec2(uniforms.start.uniform[0], uniforms.start.uniform[1].oneMinus());
105
+ const endPos = vec2(uniforms.end.uniform[0], uniforms.end.uniform[1].oneMinus());
107
106
  const gradientVector = endPos.sub(startPos);
108
107
  const gradientLength = length(gradientVector);
109
108
  const gradientDir = normalize(gradientVector);
110
109
  const angleRad = radians(uniforms.angle.uniform).negate();
111
- const cosAngle = cos$1(angleRad);
112
- const sinAngle = sin$1(angleRad);
110
+ const cosAngle = cos(angleRad);
111
+ const sinAngle = sin(angleRad);
113
112
  const midpoint = startPos.add(endPos).mul(.5);
114
- const centeredUV = uv.sub(midpoint);
115
- const t = dot$1(vec2$1(centeredUV.x.mul(cosAngle).sub(centeredUV.y.mul(sinAngle)), centeredUV.x.mul(sinAngle).add(centeredUV.y.mul(cosAngle))).add(midpoint).sub(startPos), gradientDir).div(gradientLength.max(1e-6));
113
+ const centeredUV = uv$1.sub(midpoint);
114
+ const t = dot(vec2(centeredUV.x.mul(cosAngle).sub(centeredUV.y.mul(sinAngle)), centeredUV.x.mul(sinAngle).add(centeredUV.y.mul(cosAngle))).add(midpoint).sub(startPos), gradientDir).div(gradientLength.max(1e-6));
116
115
  const edgeMode = uniforms.edges.uniform;
117
- const stretchT = t.clamp(float$1(0), float$1(1));
118
- const inBoundsX = t.greaterThanEqual(float$1(0)).select(float$1(1), float$1(0));
119
- const inBoundsY = t.lessThanEqual(float$1(1)).select(float$1(1), float$1(0));
116
+ const stretchT = t.clamp(float(0), float(1));
117
+ const inBoundsX = t.greaterThanEqual(float(0)).select(float(1), float(0));
118
+ const inBoundsY = t.lessThanEqual(float(1)).select(float(1), float(0));
120
119
  const inBounds = inBoundsX.mul(inBoundsY);
121
- const mirrorT = mod(abs$1(t), float$1(2));
122
- const finalMirrorT = mirrorT.greaterThan(float$1(1)).select(float$1(2).sub(mirrorT), mirrorT);
120
+ const mirrorT = mod(abs(t), float(2));
121
+ const finalMirrorT = mirrorT.greaterThan(float(1)).select(float(2).sub(mirrorT), mirrorT);
123
122
  const wrapT = fract(t);
124
- const isMode1OrHigher = edgeMode.greaterThanEqual(float$1(.5));
125
- const isMode2OrHigher = edgeMode.greaterThanEqual(float$1(1.5));
126
- const finalT = edgeMode.greaterThanEqual(float$1(2.5)).select(wrapT, isMode2OrHigher.select(finalMirrorT, isMode1OrHigher.select(t, stretchT)));
127
- const mixedColor = mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, finalT.clamp(float$1(0), float$1(1)), uniforms.colorSpace.uniform);
128
- const finalAlpha = isMode1OrHigher.and(edgeMode.lessThan(float$1(1.5))).select(mixedColor.w.mul(inBounds), mixedColor.w);
129
- return vec4$1(mixedColor.x, mixedColor.y, mixedColor.z, finalAlpha);
123
+ const isMode1OrHigher = edgeMode.greaterThanEqual(float(.5));
124
+ const isMode2OrHigher = edgeMode.greaterThanEqual(float(1.5));
125
+ const finalT = edgeMode.greaterThanEqual(float(2.5)).select(wrapT, isMode2OrHigher.select(finalMirrorT, isMode1OrHigher.select(t, stretchT)));
126
+ const mixedColor = mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, finalT.clamp(float(0), float(1)), uniforms.colorSpace.uniform);
127
+ const finalAlpha = isMode1OrHigher.and(edgeMode.lessThan(float(1.5))).select(mixedColor.w.mul(inBounds), mixedColor.w);
128
+ return vec4(mixedColor.x, mixedColor.y, mixedColor.z, finalAlpha);
130
129
  }
131
130
  };
132
131
  var LinearGradient_default = componentDefinition;
@@ -1,21 +1,21 @@
1
- import { t as applyEdgeHandling } from "./edges-Bn_OIa_h.js";
2
- import { a as transformEdges } from "./transformations-DxfQXZWi.js";
1
+ import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
2
+ import { a as transformEdges } from "./transformations-Dv5JW9ck.js";
3
3
  import { DataTexture, FloatType, LinearFilter, RGFormat } from "three";
4
- import * as TSL from "three/tsl";
4
+ import { convertToTexture, float, screenUV, texture, uniform, vec2, vec4 } from "three/tsl";
5
5
  var GRID_SIZE = 32;
6
6
  var displacementStateCache = /* @__PURE__ */ new WeakMap();
7
7
  var getOrCreateDisplacementState = (uniforms) => {
8
8
  let state = displacementStateCache.get(uniforms);
9
9
  if (!state) {
10
10
  const data = new Float32Array(GRID_SIZE * GRID_SIZE * 2);
11
- const texture = new DataTexture(data, GRID_SIZE, GRID_SIZE, RGFormat, FloatType);
12
- texture.magFilter = LinearFilter;
13
- texture.minFilter = LinearFilter;
14
- texture.needsUpdate = true;
11
+ const dataTexture = new DataTexture(data, GRID_SIZE, GRID_SIZE, RGFormat, FloatType);
12
+ dataTexture.magFilter = LinearFilter;
13
+ dataTexture.minFilter = LinearFilter;
14
+ dataTexture.needsUpdate = true;
15
15
  state = {
16
- texture,
16
+ dataTexture,
17
17
  data,
18
- tslNode: TSL.texture(texture),
18
+ tslNode: texture(dataTexture),
19
19
  initialized: false
20
20
  };
21
21
  displacementStateCache.set(uniforms, state);
@@ -101,18 +101,16 @@ const componentDefinition = {
101
101
  }
102
102
  }
103
103
  },
104
- uvTransformNode: ({ uv, uniforms }) => {
105
- const { vec2: vec2$1, float: float$1 } = TSL;
106
- const displacement = getOrCreateDisplacementState(uniforms).tslNode.sample(uv).xy;
107
- const maxDisplacement = float$1(.2);
108
- const clampedDisplacement = displacement.clamp(vec2$1(maxDisplacement.negate(), maxDisplacement.negate()), vec2$1(maxDisplacement, maxDisplacement));
109
- return uv.sub(clampedDisplacement);
104
+ uvTransformNode: ({ uv: uv$1, uniforms }) => {
105
+ const displacement = getOrCreateDisplacementState(uniforms).tslNode.sample(uv$1).xy;
106
+ const maxDisplacement = float(.2);
107
+ const clampedDisplacement = displacement.clamp(vec2(maxDisplacement.negate(), maxDisplacement.negate()), vec2(maxDisplacement, maxDisplacement));
108
+ return uv$1.sub(clampedDisplacement);
110
109
  },
111
110
  fragmentNode: ({ uniforms, onBeforeRender, childNode, onCleanup }) => {
112
- const { vec2: vec2$1, vec4: vec4$1, float: float$1, uniform: uniform$1, screenUV: screenUV$1, convertToTexture: convertToTexture$1 } = TSL;
113
- const { texture: displacementTexture, data: displacementData, tslNode: displacementField } = getOrCreateDisplacementState(uniforms);
114
- const mouseVelX = uniform$1(0);
115
- const mouseVelY = uniform$1(0);
111
+ const { dataTexture: displacementTexture, data: displacementData, tslNode: displacementField } = getOrCreateDisplacementState(uniforms);
112
+ const mouseVelX = uniform(0);
113
+ const mouseVelY = uniform(0);
116
114
  let prevX = .5;
117
115
  let prevY = .5;
118
116
  let lastTime = Date.now();
@@ -158,16 +156,16 @@ const componentDefinition = {
158
156
  displacementTexture.dispose();
159
157
  displacementStateCache.delete(uniforms);
160
158
  });
161
- if (!childNode) return vec4$1(0, 0, 0, 0);
162
- const childTexture = convertToTexture$1(childNode);
159
+ if (!childNode) return vec4(0, 0, 0, 0);
160
+ const childTexture = convertToTexture(childNode);
163
161
  onCleanup(() => {
164
162
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
165
163
  });
166
- const displacement = displacementField.sample(screenUV$1).xy;
167
- const maxDisplacement = float$1(.2);
168
- const negMaxDisplacement = float$1(-.2);
169
- const clampedDisplacement = displacement.clamp(vec2$1(negMaxDisplacement, negMaxDisplacement), vec2$1(maxDisplacement, maxDisplacement));
170
- const distortedUV = screenUV$1.sub(clampedDisplacement);
164
+ const displacement = displacementField.sample(screenUV).xy;
165
+ const maxDisplacement = float(.2);
166
+ const negMaxDisplacement = float(-.2);
167
+ const clampedDisplacement = displacement.clamp(vec2(negMaxDisplacement, negMaxDisplacement), vec2(maxDisplacement, maxDisplacement));
168
+ const distortedUV = screenUV.sub(clampedDisplacement);
171
169
  return applyEdgeHandling(distortedUV, childTexture.sample(distortedUV), childTexture, uniforms.edges.uniform);
172
170
  }
173
171
  };
@@ -1,4 +1,4 @@
1
- import * as TSL from "three/tsl";
1
+ import { convertToTexture, floor, screenUV, vec4 } from "three/tsl";
2
2
  const componentDefinition = {
3
3
  name: "Pixelate",
4
4
  category: "Stylize",
@@ -16,20 +16,18 @@ const componentDefinition = {
16
16
  label: "Scale"
17
17
  }
18
18
  } },
19
- uvTransformNode: ({ uv, uniforms }) => {
20
- const { floor } = TSL;
19
+ uvTransformNode: ({ uv: uv$1, uniforms }) => {
21
20
  const pixelSize = uniforms.scale.uniform;
22
- return floor(uv.mul(pixelSize)).div(pixelSize);
21
+ return floor(uv$1.mul(pixelSize)).div(pixelSize);
23
22
  },
24
23
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
25
- const { vec4: vec4$1, floor, screenUV: screenUV$1, convertToTexture: convertToTexture$1 } = TSL;
26
- if (!childNode) return vec4$1(0, 0, 0, 0);
27
- const childTexture = convertToTexture$1(childNode);
24
+ if (!childNode) return vec4(0, 0, 0, 0);
25
+ const childTexture = convertToTexture(childNode);
28
26
  onCleanup(() => {
29
27
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
30
28
  });
31
29
  const pixelSize = uniforms.scale.uniform;
32
- const pixelatedUV = floor(screenUV$1.mul(pixelSize)).div(pixelSize);
30
+ const pixelatedUV = floor(screenUV.mul(pixelSize)).div(pixelSize);
33
31
  return childTexture.sample(pixelatedUV);
34
32
  }
35
33
  };
@@ -1,6 +1,6 @@
1
- import { t as applyEdgeHandling } from "./edges-Bn_OIa_h.js";
2
- import { a as transformEdges, o as transformPosition } from "./transformations-DxfQXZWi.js";
3
- import * as TSL from "three/tsl";
1
+ import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
2
+ import { a as transformEdges, o as transformPosition } from "./transformations-Dv5JW9ck.js";
3
+ import { PI, atan, convertToTexture, length, mix, screenUV, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
5
5
  name: "PolarCoordinates",
6
6
  category: "Distortions",
@@ -81,30 +81,28 @@ const componentDefinition = {
81
81
  }
82
82
  }
83
83
  },
84
- uvTransformNode: ({ uv, uniforms, viewportSize: viewportSize$1 }) => {
85
- const { vec2: vec2$1, length, atan: atan$1, PI, mix: mix$1 } = TSL;
84
+ uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
86
85
  const aspect = viewportSize$1.x.div(viewportSize$1.y);
87
- const aspectCorrectedUV = vec2$1(uv.x.mul(aspect), uv.y);
88
- const centerPos = vec2$1(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
86
+ const aspectCorrectedUV = vec2(uv$1.x.mul(aspect), uv$1.y);
87
+ const centerPos = vec2(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
89
88
  const delta = aspectCorrectedUV.sub(centerPos);
90
- const normalizedAngle = atan$1(delta.y, delta.x).add(PI).div(PI.mul(2));
89
+ const normalizedAngle = atan(delta.y, delta.x).add(PI).div(PI.mul(2));
91
90
  const r = length(delta);
92
- return mix$1(uv, vec2$1(normalizedAngle.mul(uniforms.wrap.uniform), r.mul(uniforms.radius.uniform)), uniforms.intensity.uniform);
91
+ return mix(uv$1, vec2(normalizedAngle.mul(uniforms.wrap.uniform), r.mul(uniforms.radius.uniform)), uniforms.intensity.uniform);
93
92
  },
94
93
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
95
- const { vec2: vec2$1, vec4: vec4$1, length, atan: atan$1, screenUV: screenUV$1, viewportSize: viewportSize$1, convertToTexture: convertToTexture$1, PI, mix: mix$1 } = TSL;
96
- if (!childNode) return vec4$1(0, 0, 0, 0);
97
- const childTexture = convertToTexture$1(childNode);
94
+ if (!childNode) return vec4(0, 0, 0, 0);
95
+ const childTexture = convertToTexture(childNode);
98
96
  onCleanup(() => {
99
97
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
100
98
  });
101
- const aspect = viewportSize$1.x.div(viewportSize$1.y);
102
- const aspectCorrectedUV = vec2$1(screenUV$1.x.mul(aspect), screenUV$1.y);
103
- const centerPos = vec2$1(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
99
+ const aspect = viewportSize.x.div(viewportSize.y);
100
+ const aspectCorrectedUV = vec2(screenUV.x.mul(aspect), screenUV.y);
101
+ const centerPos = vec2(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
104
102
  const delta = aspectCorrectedUV.sub(centerPos);
105
- const normalizedAngle = atan$1(delta.y, delta.x).add(PI).div(PI.mul(2));
103
+ const normalizedAngle = atan(delta.y, delta.x).add(PI).div(PI.mul(2));
106
104
  const r = length(delta);
107
- const blendedUV = mix$1(screenUV$1, vec2$1(normalizedAngle.mul(uniforms.wrap.uniform), r.mul(uniforms.radius.uniform)), uniforms.intensity.uniform);
105
+ const blendedUV = mix(screenUV, vec2(normalizedAngle.mul(uniforms.wrap.uniform), r.mul(uniforms.radius.uniform)), uniforms.intensity.uniform);
108
106
  return applyEdgeHandling(blendedUV, childTexture.sample(blendedUV), childTexture, uniforms.edges.uniform);
109
107
  }
110
108
  };
@@ -1,5 +1,4 @@
1
- import * as TSL from "three/tsl";
2
- import { posterize } from "three/src/nodes/display/PosterizeNode";
1
+ import { float, floor, vec4 } from "three/tsl";
3
2
  const componentDefinition = {
4
3
  name: "Posterize",
5
4
  category: "Adjustments",
@@ -17,12 +16,12 @@ const componentDefinition = {
17
16
  }
18
17
  } },
19
18
  fragmentNode: ({ uniforms, childNode }) => {
20
- const { vec4: vec4$1, int } = TSL;
21
19
  if (!childNode) {
22
20
  console.error("You must pass a child component into the Posterize shader.");
23
- return vec4$1(0);
21
+ return vec4(0);
24
22
  }
25
- return posterize(childNode || vec4$1(0, 0, 0, 0), int(uniforms.intensity.uniform));
23
+ const steps = float(uniforms.intensity.uniform);
24
+ return vec4(floor(childNode.r.mul(steps)).div(steps), floor(childNode.g.mul(steps)).div(steps), floor(childNode.b.mul(steps)).div(steps), childNode.a);
26
25
  }
27
26
  };
28
27
  var Posterize_default = componentDefinition;
@@ -1,5 +1,5 @@
1
- import { n as transformAngle, o as transformPosition } from "./transformations-DxfQXZWi.js";
2
- import * as TSL from "three/tsl";
1
+ import { n as transformAngle, o as transformPosition } from "./transformations-Dv5JW9ck.js";
2
+ import { Fn, convertToTexture, cos, float, max, radians, screenUV, sin, smoothstep, vec2, vec4, viewportSize } from "three/tsl";
3
3
  const componentDefinition = {
4
4
  name: "ProgressiveBlur",
5
5
  category: "Blurs",
@@ -55,19 +55,18 @@ const componentDefinition = {
55
55
  }
56
56
  },
57
57
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
58
- const { vec2: vec2$1, vec4: vec4$1, float: float$1, screenUV: screenUV$1, viewportSize: viewportSize$1, sin: sin$1, cos: cos$1, radians, max: max$1, smoothstep, Fn, convertToTexture: convertToTexture$1 } = TSL;
59
- if (!childNode) return vec4$1(0, 0, 0, 0);
60
- const childTexture = convertToTexture$1(childNode);
58
+ if (!childNode) return vec4(0, 0, 0, 0);
59
+ const childTexture = convertToTexture(childNode);
61
60
  onCleanup(() => {
62
61
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
63
62
  });
64
63
  const angleRad = radians(uniforms.angle.uniform);
65
- const direction = vec2$1(cos$1(angleRad), sin$1(angleRad));
66
- const centerPosition = vec2$1(uniforms.center.uniform[0], uniforms.center.uniform[1].oneMinus());
67
- const centeredUV = screenUV$1.sub(centerPosition);
68
- const directionalDist = max$1(float$1(0), centeredUV.dot(direction));
69
- const falloff = max$1(float$1(.001), uniforms.falloff.uniform);
70
- const blurAmount = smoothstep(float$1(0), falloff, directionalDist);
64
+ const direction = vec2(cos(angleRad), sin(angleRad));
65
+ const centerPosition = vec2(uniforms.center.uniform[0], uniforms.center.uniform[1].oneMinus());
66
+ const centeredUV = screenUV.sub(centerPosition);
67
+ const directionalDist = max(float(0), centeredUV.dot(direction));
68
+ const falloff = max(float(.001), uniforms.falloff.uniform);
69
+ const blurAmount = smoothstep(float(0), falloff, directionalDist);
71
70
  const scaledIntensity = uniforms.intensity.uniform.mul(.06);
72
71
  const blurRadius = blurAmount.mul(scaledIntensity);
73
72
  const weights = [
@@ -86,14 +85,14 @@ const componentDefinition = {
86
85
  .056
87
86
  ];
88
87
  const weightSum = 6.214;
89
- const horizontalTexture = convertToTexture$1(Fn(() => {
90
- const uv = screenUV$1;
91
- const pixelSize = vec2$1(1).div(viewportSize$1);
92
- const total = vec4$1(0).toVar();
88
+ const horizontalTexture = convertToTexture(Fn(() => {
89
+ const uv$1 = screenUV;
90
+ const pixelSize = vec2(1).div(viewportSize);
91
+ const total = vec4(0).toVar();
93
92
  for (let x = -6; x <= 6; x++) {
94
- const weight = float$1(weights[x + 6] / weightSum);
95
- const offset = vec2$1(float$1(x), float$1(0)).mul(blurRadius).mul(pixelSize);
96
- const sampleCoord = uv.add(offset);
93
+ const weight = float(weights[x + 6] / weightSum);
94
+ const offset = vec2(float(x), float(0)).mul(blurRadius).mul(pixelSize);
95
+ const sampleCoord = uv$1.add(offset);
97
96
  const sample = childTexture.sample(sampleCoord).mul(weight);
98
97
  total.assign(total.add(sample));
99
98
  }
@@ -103,13 +102,13 @@ const componentDefinition = {
103
102
  if (horizontalTexture?.renderTarget?.dispose) horizontalTexture.renderTarget.dispose();
104
103
  });
105
104
  return Fn(() => {
106
- const uv = screenUV$1;
107
- const pixelSize = vec2$1(1).div(viewportSize$1);
108
- const total = vec4$1(0).toVar();
105
+ const uv$1 = screenUV;
106
+ const pixelSize = vec2(1).div(viewportSize);
107
+ const total = vec4(0).toVar();
109
108
  for (let y = -6; y <= 6; y++) {
110
- const weight = float$1(weights[y + 6] / weightSum);
111
- const offset = vec2$1(float$1(0), float$1(y)).mul(blurRadius).mul(pixelSize);
112
- const sampleCoord = uv.add(offset);
109
+ const weight = float(weights[y + 6] / weightSum);
110
+ const offset = vec2(float(0), float(y)).mul(blurRadius).mul(pixelSize);
111
+ const sampleCoord = uv$1.add(offset);
113
112
  const sample = horizontalTexture.sample(sampleCoord).mul(weight);
114
113
  total.assign(total.add(sample));
115
114
  }
@@ -1,6 +1,6 @@
1
- import { i as transformColorSpace, o as transformPosition, 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";
1
+ import { i as transformColorSpace, o as transformPosition, r as transformColor, t as colorSpaceOptions } from "./transformations-Dv5JW9ck.js";
2
+ import { t as mixColors } from "./colorMixing-CZPFmiT4.js";
3
+ import { distance, float, screenUV, vec2, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
5
5
  name: "RadialGradient",
6
6
  category: "Base Layers",
@@ -60,10 +60,9 @@ const componentDefinition = {
60
60
  }
61
61
  },
62
62
  fragmentNode: ({ uniforms, uvContext }) => {
63
- const { vec2: vec2$1, float: float$1, distance, screenUV: screenUV$1, viewportSize: viewportSize$1 } = TSL;
64
- const uv = uvContext ?? screenUV$1;
65
- const aspect = viewportSize$1.x.div(viewportSize$1.y);
66
- const t = distance(vec2$1(uv.x.mul(aspect), uv.y), vec2$1(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus())).div(uniforms.radius.uniform).clamp(float$1(0), float$1(1));
63
+ const uv$1 = uvContext ?? screenUV;
64
+ const aspect = viewportSize.x.div(viewportSize.y);
65
+ const t = distance(vec2(uv$1.x.mul(aspect), uv$1.y), vec2(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus())).div(uniforms.radius.uniform).clamp(float(0), float(1));
67
66
  return mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, t, uniforms.colorSpace.uniform);
68
67
  }
69
68
  };
@@ -1,6 +1,6 @@
1
- import { t as applyEdgeHandling } from "./edges-Bn_OIa_h.js";
2
- import { a as transformEdges, o as transformPosition } from "./transformations-DxfQXZWi.js";
3
- import * as TSL from "three/tsl";
1
+ import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
2
+ import { a as transformEdges, o as transformPosition } from "./transformations-Dv5JW9ck.js";
3
+ import { PI, convertToTexture, cos, mix, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
5
5
  name: "RectangularCoordinates",
6
6
  category: "Distortions",
@@ -70,30 +70,28 @@ const componentDefinition = {
70
70
  }
71
71
  }
72
72
  },
73
- uvTransformNode: ({ uv, uniforms, viewportSize: viewportSize$1 }) => {
74
- const { vec2: vec2$1, cos: cos$1, sin: sin$1, PI, mix: mix$1 } = TSL;
75
- const theta = uv.x.mul(PI.mul(2)).sub(PI);
76
- const r = uv.y.mul(uniforms.scale.uniform);
77
- const rectX = r.mul(cos$1(theta));
78
- const rectY = r.mul(sin$1(theta));
73
+ uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
74
+ const theta = uv$1.x.mul(PI.mul(2)).sub(PI);
75
+ const r = uv$1.y.mul(uniforms.scale.uniform);
76
+ const rectX = r.mul(cos(theta));
77
+ const rectY = r.mul(sin(theta));
79
78
  const aspect = viewportSize$1.x.div(viewportSize$1.y);
80
- const centerPos = vec2$1(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
81
- return mix$1(uv, vec2$1(rectX.div(aspect).add(centerPos.x), rectY.add(centerPos.y)), uniforms.intensity.uniform);
79
+ const centerPos = vec2(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
80
+ return mix(uv$1, vec2(rectX.div(aspect).add(centerPos.x), rectY.add(centerPos.y)), uniforms.intensity.uniform);
82
81
  },
83
82
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
84
- const { vec2: vec2$1, vec4: vec4$1, cos: cos$1, sin: sin$1, screenUV: screenUV$1, viewportSize: viewportSize$1, convertToTexture: convertToTexture$1, PI, mix: mix$1 } = TSL;
85
- if (!childNode) return vec4$1(0, 0, 0, 0);
86
- const childTexture = convertToTexture$1(childNode);
83
+ if (!childNode) return vec4(0, 0, 0, 0);
84
+ const childTexture = convertToTexture(childNode);
87
85
  onCleanup(() => {
88
86
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
89
87
  });
90
- const theta = screenUV$1.x.mul(PI.mul(2)).sub(PI);
91
- const r = screenUV$1.y.mul(uniforms.scale.uniform);
92
- const rectX = r.mul(cos$1(theta));
93
- const rectY = r.mul(sin$1(theta));
94
- const aspect = viewportSize$1.x.div(viewportSize$1.y);
95
- const centerPos = vec2$1(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
96
- const blendedUV = mix$1(screenUV$1, vec2$1(rectX.div(aspect).add(centerPos.x), rectY.add(centerPos.y)), uniforms.intensity.uniform);
88
+ const theta = screenUV.x.mul(PI.mul(2)).sub(PI);
89
+ const r = screenUV.y.mul(uniforms.scale.uniform);
90
+ const rectX = r.mul(cos(theta));
91
+ const rectY = r.mul(sin(theta));
92
+ const aspect = viewportSize.x.div(viewportSize.y);
93
+ const centerPos = vec2(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
94
+ const blendedUV = mix(screenUV, vec2(rectX.div(aspect).add(centerPos.x), rectY.add(centerPos.y)), uniforms.intensity.uniform);
97
95
  return applyEdgeHandling(blendedUV, childTexture.sample(blendedUV), childTexture, uniforms.edges.uniform);
98
96
  }
99
97
  };
@@ -1,7 +1,7 @@
1
1
  import { t as createAnimatedTime } from "./time-CTJvRUZ4.js";
2
- import { o as transformPosition, r as transformColor } from "./transformations-DxfQXZWi.js";
3
- import { t as mixColors } from "./colorMixing-BXiTAqJU.js";
4
- import * as TSL from "three/tsl";
2
+ import { o as transformPosition, r as transformColor } from "./transformations-Dv5JW9ck.js";
3
+ import { t as mixColors } from "./colorMixing-CZPFmiT4.js";
4
+ import { distance, float, screenUV, sin, smoothstep, vec2, viewportSize } from "three/tsl";
5
5
  const componentDefinition = {
6
6
  name: "Ripples",
7
7
  category: "Base Layers",
@@ -96,8 +96,7 @@ const componentDefinition = {
96
96
  },
97
97
  fragmentNode: (params) => {
98
98
  const { uniforms, uvContext } = params;
99
- const { vec2: vec2$1, float: float$1, screenUV: screenUV$1, sin: sin$1, distance, viewportSize: viewportSize$1, smoothstep } = TSL;
100
- const uv = uvContext ?? screenUV$1;
99
+ const uv$1 = uvContext ?? screenUV;
101
100
  const center = uniforms.center.uniform;
102
101
  const colorA = uniforms.colorA.uniform;
103
102
  const colorB = uniforms.colorB.uniform;
@@ -105,12 +104,12 @@ const componentDefinition = {
105
104
  const softness = uniforms.softness.uniform;
106
105
  const thickness = uniforms.thickness.uniform;
107
106
  const phase = uniforms.phase.uniform;
108
- const aspect = viewportSize$1.x.div(viewportSize$1.y);
109
- const dist = distance(vec2$1(uv.x.mul(aspect), uv.y), vec2$1(center.x.mul(aspect), center.y.oneMinus()));
107
+ const aspect = viewportSize.x.div(viewportSize.y);
108
+ const dist = distance(vec2(uv$1.x.mul(aspect), uv$1.y), vec2(center.x.mul(aspect), center.y.oneMinus()));
110
109
  const animTime = createAnimatedTime(params, uniforms.speed);
111
- const baseWave = sin$1(dist.mul(frequency).sub(animTime).add(phase));
112
- const thicknessThreshold = thickness.mul(float$1(2)).sub(float$1(1));
113
- return mixColors(colorB, colorA, smoothstep(thicknessThreshold.add(softness), thicknessThreshold.sub(softness), baseWave), TSL.float(0));
110
+ const baseWave = sin(dist.mul(frequency).sub(animTime).add(phase));
111
+ const thicknessThreshold = thickness.mul(float(2)).sub(float(1));
112
+ return mixColors(colorB, colorA, smoothstep(thicknessThreshold.add(softness), thicknessThreshold.sub(softness), baseWave), float(0));
114
113
  }
115
114
  };
116
115
  var Ripples_default = componentDefinition;
@@ -1,5 +1,4 @@
1
- import * as TSL from "three/tsl";
2
- import { saturation } from "three/src/nodes/display/ColorAdjustment";
1
+ import { dot, mix, vec3, vec4 } from "three/tsl";
3
2
  const componentDefinition = {
4
3
  name: "Saturation",
5
4
  category: "Adjustments",
@@ -17,13 +16,12 @@ const componentDefinition = {
17
16
  }
18
17
  } },
19
18
  fragmentNode: ({ uniforms, childNode }) => {
20
- const { vec4: vec4$1 } = TSL;
21
19
  if (!childNode) {
22
20
  console.error("You must pass a child component into the Saturation shader.");
23
- return vec4$1(0);
21
+ return vec4(0);
24
22
  }
25
- const sourceColor = childNode || vec4$1(0, 0, 0, 0);
26
- return vec4$1(saturation(sourceColor.rgb, uniforms.intensity.uniform).rgb, sourceColor.a);
23
+ const luminance = dot(childNode.rgb, vec3(.2126, .7152, .0722));
24
+ return vec4(mix(vec3(luminance, luminance, luminance), childNode.rgb, uniforms.intensity.uniform), childNode.a);
27
25
  }
28
26
  };
29
27
  var Saturation_default = componentDefinition;
@@ -1,6 +1,6 @@
1
1
  import { t as createAnimatedTime } from "./time-CTJvRUZ4.js";
2
- import { r as transformColor } from "./transformations-DxfQXZWi.js";
3
- import { t as mixColors } from "./colorMixing-BXiTAqJU.js";
2
+ import { r as transformColor } from "./transformations-Dv5JW9ck.js";
3
+ import { t as mixColors } from "./colorMixing-CZPFmiT4.js";
4
4
  import { clamp, exp, float, mx_noise_float, screenUV, vec2, vec3, viewportSize } from "three/tsl";
5
5
  const componentDefinition = {
6
6
  name: "SimplexNoise",
@@ -84,9 +84,9 @@ const componentDefinition = {
84
84
  },
85
85
  fragmentNode: (params) => {
86
86
  const { uniforms, uvContext } = params;
87
- const uv = uvContext ?? screenUV;
87
+ const uv$1 = uvContext ?? screenUV;
88
88
  const aspect = viewportSize.x.div(viewportSize.y);
89
- const aspectCorrectedUV = vec2(uv.x.mul(aspect), uv.y);
89
+ const aspectCorrectedUV = vec2(uv$1.x.mul(aspect), uv$1.y);
90
90
  const animTime = createAnimatedTime(params, uniforms.speed);
91
91
  const pos = aspectCorrectedUV.mul(exp(uniforms.scale.uniform)).add(uniforms.seed.uniform);
92
92
  const noise = mx_noise_float(vec3(pos.x, pos.y, animTime.mul(.5)));
@@ -1,5 +1,5 @@
1
- import { n as transformAngle, o as transformPosition, r as transformColor } from "./transformations-DxfQXZWi.js";
2
- import * as TSL from "three/tsl";
1
+ import { n as transformAngle, o as transformPosition, r as transformColor } from "./transformations-Dv5JW9ck.js";
2
+ import { PI, abs, cos, radians, screenUV, sin, smoothstep, time, vec2, vec4, viewportSize } from "three/tsl";
3
3
  const componentDefinition = {
4
4
  name: "SineWave",
5
5
  category: "Base Layers",
@@ -96,24 +96,23 @@ const componentDefinition = {
96
96
  }
97
97
  },
98
98
  fragmentNode: ({ uniforms, uvContext }) => {
99
- const { vec2: vec2$1, vec4: vec4$1, sin: sin$1, cos: cos$1, abs: abs$1, smoothstep, screenUV: screenUV$1, viewportSize: viewportSize$1, time, radians, PI } = TSL;
100
- const uv = uvContext ?? screenUV$1;
101
- const aspect = viewportSize$1.x.div(viewportSize$1.y);
102
- const aspectCorrectedUV = vec2$1(uv.x.mul(aspect), uv.y);
103
- const centerPos = vec2$1(uniforms.position.uniform.x.mul(aspect), uniforms.position.uniform.y.oneMinus());
99
+ const uv$1 = uvContext ?? screenUV;
100
+ const aspect = viewportSize.x.div(viewportSize.y);
101
+ const aspectCorrectedUV = vec2(uv$1.x.mul(aspect), uv$1.y);
102
+ const centerPos = vec2(uniforms.position.uniform.x.mul(aspect), uniforms.position.uniform.y.oneMinus());
104
103
  const centeredUV = aspectCorrectedUV.sub(centerPos);
105
104
  const angleRad = radians(uniforms.angle.uniform);
106
- const cosAngle = cos$1(angleRad);
107
- const sinAngle = sin$1(angleRad);
105
+ const cosAngle = cos(angleRad);
106
+ const sinAngle = sin(angleRad);
108
107
  const rotatedX = centeredUV.x.mul(cosAngle).sub(centeredUV.y.mul(sinAngle));
109
108
  const rotatedY = centeredUV.x.mul(sinAngle).add(centeredUV.y.mul(cosAngle));
110
109
  const animatedTime = time.mul(uniforms.speed.uniform);
111
- const sineWave = sin$1(rotatedX.mul(uniforms.frequency.uniform).mul(PI.mul(2)).add(animatedTime)).mul(uniforms.amplitude.uniform);
112
- const distanceFromWave = abs$1(rotatedY.sub(sineWave));
110
+ const sineWave = sin(rotatedX.mul(uniforms.frequency.uniform).mul(PI.mul(2)).add(animatedTime)).mul(uniforms.amplitude.uniform);
111
+ const distanceFromWave = abs(rotatedY.sub(sineWave));
113
112
  const halfThickness = uniforms.thickness.uniform.mul(.5);
114
113
  const halfSoftness = uniforms.softness.uniform.mul(.5);
115
114
  const waveMask = smoothstep(halfThickness.add(halfSoftness), halfThickness.sub(halfSoftness), distanceFromWave);
116
- return vec4$1(uniforms.color.uniform.rgb, uniforms.color.uniform.a.mul(waveMask));
115
+ return vec4(uniforms.color.uniform.rgb, uniforms.color.uniform.a.mul(waveMask));
117
116
  }
118
117
  };
119
118
  var SineWave_default = componentDefinition;
@@ -1,4 +1,4 @@
1
- import { r as transformColor } from "./transformations-DxfQXZWi.js";
1
+ import { r as transformColor } from "./transformations-Dv5JW9ck.js";
2
2
  const componentDefinition = {
3
3
  name: "SolidColor",
4
4
  category: "Base Layers",
@@ -1,5 +1,5 @@
1
- import { o as transformPosition, r as transformColor } from "./transformations-DxfQXZWi.js";
2
- import * as TSL from "three/tsl";
1
+ import { o as transformPosition, r as transformColor } from "./transformations-Dv5JW9ck.js";
2
+ import { convertToTexture, dot, float, max, normalize, pow, screenUV, smoothstep, sqrt, vec2, vec3, vec4, viewportSize } from "three/tsl";
3
3
  const componentDefinition = {
4
4
  name: "Spherize",
5
5
  category: "Distortions",
@@ -86,42 +86,41 @@ const componentDefinition = {
86
86
  }
87
87
  },
88
88
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
89
- const { vec2: vec2$1, vec3: vec3$1, vec4: vec4$1, float: float$1, screenUV: screenUV$1, convertToTexture: convertToTexture$1, viewportSize: viewportSize$1, sqrt: sqrt$1, max: max$1, smoothstep, pow: pow$1, normalize, dot: dot$1 } = TSL;
90
- if (!childNode) return vec4$1(0, 0, 0, 0);
91
- const childTexture = convertToTexture$1(childNode);
89
+ if (!childNode) return vec4(0, 0, 0, 0);
90
+ const childTexture = convertToTexture(childNode);
92
91
  onCleanup(() => {
93
92
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
94
93
  });
95
- const uv = screenUV$1;
96
- const aspect = viewportSize$1.x.div(viewportSize$1.y);
97
- const centerPos = vec2$1(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
94
+ const uv$1 = screenUV;
95
+ const aspect = viewportSize.x.div(viewportSize.y);
96
+ const centerPos = vec2(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
98
97
  const radius = uniforms.radius.uniform;
99
- const sphereUV = vec2$1(uv.x.sub(centerPos.x).mul(aspect), uv.y.sub(centerPos.y)).mul(2).div(radius);
98
+ const sphereUV = vec2(uv$1.x.sub(centerPos.x).mul(aspect), uv$1.y.sub(centerPos.y)).mul(2).div(radius);
100
99
  const radiusSq = sphereUV.x.mul(sphereUV.x).add(sphereUV.y.mul(sphereUV.y));
101
- const sphereAlpha = float$1(1).sub(smoothstep(float$1(.98), float$1(1), radiusSq));
102
- const z = sqrt$1(max$1(float$1(0), float$1(1).sub(radiusSq)));
103
- const depthFactor = float$1(1).add(z.mul(uniforms.depth.uniform));
100
+ const sphereAlpha = float(1).sub(smoothstep(float(.98), float(1), radiusSq));
101
+ const z = sqrt(max(float(0), float(1).sub(radiusSq)));
102
+ const depthFactor = float(1).add(z.mul(uniforms.depth.uniform));
104
103
  const finalUV = sphereUV.div(depthFactor).mul(radius).div(2);
105
- const transformedUV = vec2$1(finalUV.x.div(aspect).add(centerPos.x), finalUV.y.add(centerPos.y));
104
+ const transformedUV = vec2(finalUV.x.div(aspect).add(centerPos.x), finalUV.y.add(centerPos.y));
106
105
  const sampledColor = childTexture.sample(transformedUV);
107
- const lightPos = vec2$1(uniforms.lightPosition.uniform.x, uniforms.lightPosition.uniform.y.oneMinus());
106
+ const lightPos = vec2(uniforms.lightPosition.uniform.x, uniforms.lightPosition.uniform.y.oneMinus());
108
107
  const lightIntensity = uniforms.lightIntensity.uniform;
109
108
  const lightSoftness = uniforms.lightSoftness.uniform;
110
- const lightColor = vec3$1(uniforms.lightColor.uniform.x, uniforms.lightColor.uniform.y, uniforms.lightColor.uniform.z);
111
- const normal = normalize(vec3$1(sphereUV.x, sphereUV.y, z));
112
- const viewDir = vec3$1(0, 0, 1);
113
- const fresnelPower = float$1(1).add(float$1(4).mul(float$1(1).sub(lightSoftness)));
114
- const fresnel = pow$1(float$1(1).sub(max$1(dot$1(normal, viewDir), float$1(0))), fresnelPower);
115
- const lightDir2D = vec2$1(lightPos.x.sub(float$1(.5)).mul(2), lightPos.y.sub(float$1(.5)).mul(2));
116
- const normalDir = normalize(vec2$1(normal.x, normal.y).add(vec2$1(1e-4, 1e-4)));
117
- const lightDirNorm = normalize(lightDir2D.add(vec2$1(1e-4, 1e-4)));
118
- const directionalBias = pow$1(max$1(float$1(0), dot$1(normalDir, lightDirNorm)), float$1(2));
119
- const rimLight = fresnel.mul(directionalBias).mul(lightIntensity).mul(float$1(2));
109
+ const lightColor = vec3(uniforms.lightColor.uniform.x, uniforms.lightColor.uniform.y, uniforms.lightColor.uniform.z);
110
+ const normal = normalize(vec3(sphereUV.x, sphereUV.y, z));
111
+ const viewDir = vec3(0, 0, 1);
112
+ const fresnelPower = float(1).add(float(4).mul(float(1).sub(lightSoftness)));
113
+ const fresnel = pow(float(1).sub(max(dot(normal, viewDir), float(0))), fresnelPower);
114
+ const lightDir2D = vec2(lightPos.x.sub(float(.5)).mul(2), lightPos.y.sub(float(.5)).mul(2));
115
+ const normalDir = normalize(vec2(normal.x, normal.y).add(vec2(1e-4, 1e-4)));
116
+ const lightDirNorm = normalize(lightDir2D.add(vec2(1e-4, 1e-4)));
117
+ const directionalBias = pow(max(float(0), dot(normalDir, lightDirNorm)), float(2));
118
+ const rimLight = fresnel.mul(directionalBias).mul(lightIntensity).mul(float(2));
120
119
  const finalR = sampledColor.x.add(lightColor.x.mul(rimLight));
121
120
  const finalG = sampledColor.y.add(lightColor.y.mul(rimLight));
122
121
  const finalB = sampledColor.z.add(lightColor.z.mul(rimLight));
123
122
  const finalA = sampledColor.w.mul(sphereAlpha);
124
- return vec4$1(finalR.mul(finalA), finalG.mul(finalA), finalB.mul(finalA), finalA);
123
+ return vec4(finalR.mul(finalA), finalG.mul(finalA), finalB.mul(finalA), finalA);
125
124
  }
126
125
  };
127
126
  var Spherize_default = componentDefinition;