shaders 2.2.26 → 2.2.28

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 (168) hide show
  1. package/dist/core/{AngularBlur-Dl2gwk68.js → AngularBlur-DKFExWUF.js} +15 -16
  2. package/dist/core/{Ascii-DsuNLJKv.js → Ascii-BRApYlD4.js} +21 -22
  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-BIFNsUYG.js → Checkerboard-SKsXoUXE.js} +10 -11
  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-Cq8j0QIU.js → Dither-BNEeyo0u.js} +7 -8
  16. package/dist/core/{DotGrid-BHfQ3hcI.js → DotGrid-CRRS6nbt.js} +12 -13
  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-CP6GqC3k.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/{Grid-DgyDa4H1.js → Grid-CWHxwO7R.js} +7 -8
  24. package/dist/core/{GridDistortion-BAspCYvp.js → GridDistortion-CZB9w-rv.js} +21 -22
  25. package/dist/core/{Group-Dul7PUBl.js → Group-C0AknFDS.js} +2 -3
  26. package/dist/core/{Halftone-Ifv5F_FT.js → Halftone-MMcLMRpL.js} +11 -12
  27. package/dist/core/{ImageTexture-DvYcQgJB.js → ImageTexture-D9OMwqAs.js} +26 -27
  28. package/dist/core/{Invert-Fz0NtIJc.js → Invert-Bmjbp6g6.js} +5 -6
  29. package/dist/core/{LinearBlur-LmhnQoA4.js → LinearBlur-B-Ikurxt.js} +12 -13
  30. package/dist/core/{LinearGradient-xbloQjzt.js → LinearGradient-DV6UkhZk.js} +21 -22
  31. package/dist/core/{Liquify-DMe1V5-O.js → Liquify-W8UQNeEM.js} +24 -26
  32. package/dist/core/{Pixelate-JF72DGuK.js → Pixelate-_pyYeLRP.js} +6 -8
  33. package/dist/core/{PolarCoordinates-DDvDhBE-.js → PolarCoordinates-D63xm0oJ.js} +15 -17
  34. package/dist/core/{ProgressiveBlur-EGkevObV.js → ProgressiveBlur-G-s-o9ic.js} +23 -24
  35. package/dist/core/{RadialGradient-B7ZZB_VJ.js → RadialGradient-BGVqSwh0.js} +6 -7
  36. package/dist/core/{RectangularCoordinates-muWR8mZS.js → RectangularCoordinates-DyHBo456.js} +19 -21
  37. package/dist/core/{Ripples-8XaZaXQF.js → Ripples-2FGWCZlp.js} +9 -10
  38. package/dist/core/{SimplexNoise-DJUe0wz_.js → SimplexNoise-B6dtUCmn.js} +4 -4
  39. package/dist/core/{SineWave-Dl3nFO1W.js → SineWave-BtPf6-2H.js} +11 -12
  40. package/dist/core/{SolidColor-CWGq_Bjq.js → SolidColor-CETl1cEr.js} +1 -1
  41. package/dist/core/{Spherize-C-jZEUsN.js → Spherize-BwvUcorJ.js} +24 -25
  42. package/dist/core/{Spiral-BSB_R39p.js → Spiral-DmJWmUmr.js} +16 -17
  43. package/dist/core/{Strands-0stO5BMy.js → Strands-CV1oCmHx.js} +31 -32
  44. package/dist/core/{Stretch-B645paha.js → Stretch-pl-Cn2F8.js} +23 -25
  45. package/dist/core/{Swirl-CVnbawit.js → Swirl-D65vXLDw.js} +15 -16
  46. package/dist/core/{TiltShift-0CxNRI6L.js → TiltShift-CFcK6Hzg.js} +22 -23
  47. package/dist/core/{Tritone-Daa-I5UD.js → Tritone-EmnjV2rX.js} +8 -9
  48. package/dist/core/{Twirl-2CJVZEtk.js → Twirl-HSMyRx5I.js} +18 -20
  49. package/dist/core/{WaveDistortion-BscXN2rs.js → WaveDistortion-DG8GO_l8.js} +31 -33
  50. package/dist/core/{ZoomBlur-CAqK0Kju.js → ZoomBlur-C01oGwwG.js} +12 -13
  51. package/dist/core/colorMixing-CZPFmiT4.js +68 -0
  52. package/dist/core/edges-Djr_12SL.js +25 -0
  53. package/dist/core/helpers/distort.d.ts.map +1 -1
  54. package/dist/core/helpers/edgeMask.d.ts.map +1 -1
  55. package/dist/core/helpers/glow.d.ts +3 -2
  56. package/dist/core/helpers/glow.d.ts.map +1 -1
  57. package/dist/core/helpers/grain.d.ts.map +1 -1
  58. package/dist/core/index.js +94 -102
  59. package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
  60. package/dist/core/shaders/AngularBlur/index.js +2 -2
  61. package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
  62. package/dist/core/shaders/Ascii/index.js +1 -1
  63. package/dist/core/shaders/Beam/index.d.ts.map +1 -1
  64. package/dist/core/shaders/Beam/index.js +3 -3
  65. package/dist/core/shaders/Blob/index.d.ts.map +1 -1
  66. package/dist/core/shaders/Blob/index.js +3 -3
  67. package/dist/core/shaders/Blur/index.d.ts.map +1 -1
  68. package/dist/core/shaders/Blur/index.js +1 -1
  69. package/dist/core/shaders/Bulge/index.d.ts.map +1 -1
  70. package/dist/core/shaders/Bulge/index.js +3 -3
  71. package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
  72. package/dist/core/shaders/CRTScreen/index.js +1 -1
  73. package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
  74. package/dist/core/shaders/ChannelBlur/index.js +1 -1
  75. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  76. package/dist/core/shaders/Checkerboard/index.js +3 -3
  77. package/dist/core/shaders/ChromaFlow/index.d.ts.map +1 -1
  78. package/dist/core/shaders/ChromaFlow/index.js +2 -2
  79. package/dist/core/shaders/ChromaticAberration/index.d.ts.map +1 -1
  80. package/dist/core/shaders/ChromaticAberration/index.js +2 -2
  81. package/dist/core/shaders/Circle/index.d.ts.map +1 -1
  82. package/dist/core/shaders/Circle/index.js +2 -2
  83. package/dist/core/shaders/CursorTrail/index.d.ts.map +1 -1
  84. package/dist/core/shaders/CursorTrail/index.js +3 -3
  85. package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
  86. package/dist/core/shaders/DiffuseBlur/index.js +3 -3
  87. package/dist/core/shaders/Dither/index.d.ts.map +1 -1
  88. package/dist/core/shaders/Dither/index.js +2 -2
  89. package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
  90. package/dist/core/shaders/DotGrid/index.js +2 -2
  91. package/dist/core/shaders/Duotone/index.d.ts.map +1 -1
  92. package/dist/core/shaders/Duotone/index.js +3 -3
  93. package/dist/core/shaders/FilmGrain/index.d.ts.map +1 -1
  94. package/dist/core/shaders/FilmGrain/index.js +1 -1
  95. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  96. package/dist/core/shaders/FloatingParticles/index.js +2 -2
  97. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  98. package/dist/core/shaders/GlassTiles/index.js +1 -1
  99. package/dist/core/shaders/Glow/index.d.ts.map +1 -1
  100. package/dist/core/shaders/Glow/index.js +1 -1
  101. package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
  102. package/dist/core/shaders/Godrays/index.js +2 -2
  103. package/dist/core/shaders/Grid/index.d.ts.map +1 -1
  104. package/dist/core/shaders/Grid/index.js +2 -2
  105. package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
  106. package/dist/core/shaders/GridDistortion/index.js +3 -3
  107. package/dist/core/shaders/Group/index.d.ts.map +1 -1
  108. package/dist/core/shaders/Group/index.js +1 -1
  109. package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
  110. package/dist/core/shaders/Halftone/index.js +2 -2
  111. package/dist/core/shaders/ImageTexture/index.d.ts.map +1 -1
  112. package/dist/core/shaders/ImageTexture/index.js +1 -1
  113. package/dist/core/shaders/Invert/index.d.ts.map +1 -1
  114. package/dist/core/shaders/Invert/index.js +1 -1
  115. package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
  116. package/dist/core/shaders/LinearBlur/index.js +2 -2
  117. package/dist/core/shaders/LinearGradient/index.d.ts.map +1 -1
  118. package/dist/core/shaders/LinearGradient/index.js +3 -3
  119. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  120. package/dist/core/shaders/Liquify/index.js +3 -3
  121. package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
  122. package/dist/core/shaders/Pixelate/index.js +1 -1
  123. package/dist/core/shaders/PolarCoordinates/index.d.ts.map +1 -1
  124. package/dist/core/shaders/PolarCoordinates/index.js +3 -3
  125. package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
  126. package/dist/core/shaders/ProgressiveBlur/index.js +2 -2
  127. package/dist/core/shaders/RadialGradient/index.d.ts.map +1 -1
  128. package/dist/core/shaders/RadialGradient/index.js +3 -3
  129. package/dist/core/shaders/RectangularCoordinates/index.d.ts.map +1 -1
  130. package/dist/core/shaders/RectangularCoordinates/index.js +3 -3
  131. package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
  132. package/dist/core/shaders/Ripples/index.js +3 -3
  133. package/dist/core/shaders/SimplexNoise/index.js +3 -3
  134. package/dist/core/shaders/SineWave/index.d.ts.map +1 -1
  135. package/dist/core/shaders/SineWave/index.js +2 -2
  136. package/dist/core/shaders/SolidColor/index.js +2 -2
  137. package/dist/core/shaders/Spherize/index.d.ts.map +1 -1
  138. package/dist/core/shaders/Spherize/index.js +2 -2
  139. package/dist/core/shaders/Spiral/index.d.ts.map +1 -1
  140. package/dist/core/shaders/Spiral/index.js +3 -3
  141. package/dist/core/shaders/Strands/index.d.ts.map +1 -1
  142. package/dist/core/shaders/Strands/index.js +2 -2
  143. package/dist/core/shaders/Stretch/index.d.ts.map +1 -1
  144. package/dist/core/shaders/Stretch/index.js +3 -3
  145. package/dist/core/shaders/Swirl/index.d.ts.map +1 -1
  146. package/dist/core/shaders/Swirl/index.js +3 -3
  147. package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
  148. package/dist/core/shaders/TiltShift/index.js +2 -2
  149. package/dist/core/shaders/Tritone/index.d.ts.map +1 -1
  150. package/dist/core/shaders/Tritone/index.js +3 -3
  151. package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
  152. package/dist/core/shaders/Twirl/index.js +3 -3
  153. package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
  154. package/dist/core/shaders/WaveDistortion/index.js +3 -3
  155. package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
  156. package/dist/core/shaders/ZoomBlur/index.js +2 -2
  157. package/dist/core/{transformations-DxfQXZWi.js → transformations-Dv5JW9ck.js} +11 -12
  158. package/dist/core/utilities/colorMixing.d.ts.map +1 -1
  159. package/dist/core/utilities/edges.d.ts.map +1 -1
  160. package/dist/core/utilities/transformations.d.ts.map +1 -1
  161. package/dist/core/utilities/uniforms.d.ts.map +1 -1
  162. package/dist/core/utilities/uv.d.ts.map +1 -1
  163. package/dist/core/utilities/uvTransform.d.ts.map +1 -1
  164. package/package.json +1 -1
  165. package/dist/core/ChannelBlur-CvM6GJgZ.js +0 -118
  166. package/dist/core/GlassTiles-CXChgYaL.js +0 -69
  167. package/dist/core/colorMixing-BXiTAqJU.js +0 -69
  168. package/dist/core/edges-Bn_OIa_h.js +0 -26
@@ -1,6 +1,6 @@
1
1
  import { t as createAnimatedTime } from "./time-CTJvRUZ4.js";
2
- import { o as transformPosition, r as transformColor } from "./transformations-DxfQXZWi.js";
3
- import * as TSL from "three/tsl";
2
+ import { o as transformPosition, r as transformColor } from "./transformations-Dv5JW9ck.js";
3
+ import { Fn, abs, cos, float, max, mix, screenUV, smoothstep, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
5
5
  name: "Strands",
6
6
  category: "Base Layers",
@@ -108,52 +108,51 @@ const componentDefinition = {
108
108
  },
109
109
  fragmentNode: (params) => {
110
110
  const { uniforms, uvContext } = params;
111
- const { vec2: vec2$1, vec4: vec4$1, cos: cos$1, abs: abs$1, smoothstep, mix: mix$1, max: max$1, screenUV: screenUV$1, viewportSize: viewportSize$1, float: float$1, Fn } = TSL;
112
- const baseUV = uvContext ?? screenUV$1;
111
+ const baseUV = uvContext ?? screenUV;
113
112
  const t = createAnimatedTime(params, uniforms.speed);
114
- const random = Fn(([time]) => {
115
- return cos$1(time).add(cos$1(time.mul(1.2).add(1.6))).add(cos$1(time.mul(1.4).add(1.5))).div(3);
113
+ const random = Fn(([time$1]) => {
114
+ return cos(time$1).add(cos(time$1.mul(1.2).add(1.6))).add(cos(time$1.mul(1.4).add(1.5))).div(3);
116
115
  });
117
- return Fn(([uv]) => {
118
- const aspectRatio = viewportSize$1.x.div(viewportSize$1.y);
119
- const startPos = vec2$1(uniforms.start.uniform.x.mul(aspectRatio), uniforms.start.uniform.y.oneMinus());
120
- const endPos = vec2$1(uniforms.end.uniform.x.mul(aspectRatio), uniforms.end.uniform.y.oneMinus());
121
- const aspectUV = vec2$1(uv.x.mul(aspectRatio), uv.y);
116
+ return Fn(([uv$1]) => {
117
+ const aspectRatio = viewportSize.x.div(viewportSize.y);
118
+ const startPos = vec2(uniforms.start.uniform.x.mul(aspectRatio), uniforms.start.uniform.y.oneMinus());
119
+ const endPos = vec2(uniforms.end.uniform.x.mul(aspectRatio), uniforms.end.uniform.y.oneMinus());
120
+ const aspectUV = vec2(uv$1.x.mul(aspectRatio), uv$1.y);
122
121
  const direction = endPos.sub(startPos);
123
- const length = direction.length();
124
- const normalizedDir = direction.div(length);
125
- const perpDir = vec2$1(normalizedDir.y.negate(), normalizedDir.x);
122
+ const length$1 = direction.length();
123
+ const normalizedDir = direction.div(length$1);
124
+ const perpDir = vec2(normalizedDir.y.negate(), normalizedDir.x);
126
125
  const relativePos = aspectUV.sub(startPos);
127
- const progress = relativePos.dot(normalizedDir).div(length);
126
+ const progress = relativePos.dot(normalizedDir).div(length$1);
128
127
  const distFromLine = relativePos.dot(perpDir);
129
128
  const waveCoord = progress.mul(10);
130
129
  const perpCoord = distFromLine.mul(10);
131
- const edgeFade = uniforms.pinEdges.uniform.select(smoothstep(float$1(0), float$1(.1), progress).mul(smoothstep(float$1(1), float$1(.9), progress)), float$1(1));
132
- const horizontalFade = uniforms.pinEdges.uniform.select(cos$1(progress.mul(6.28)).mul(.5).add(.5).oneMinus(), float$1(1));
133
- const verticalFade = cos$1(progress.mul(6.28)).mul(.5).add(.5).oneMinus();
134
- const linesColor = vec4$1(0, 0, 0, 0).toVar();
130
+ const edgeFade = uniforms.pinEdges.uniform.select(smoothstep(float(0), float(.1), progress).mul(smoothstep(float(1), float(.9), progress)), float(1));
131
+ const horizontalFade = uniforms.pinEdges.uniform.select(cos(progress.mul(6.28)).mul(.5).add(.5).oneMinus(), float(1));
132
+ const verticalFade = cos(progress.mul(6.28)).mul(.5).add(.5).oneMinus();
133
+ const linesColor = vec4(0, 0, 0, 0).toVar();
135
134
  const maxLines = uniforms.lineCount.uniform;
136
135
  for (let i = 0; i < 32; i++) {
137
- const lineActive = float$1(i).lessThan(maxLines);
138
- const lineIndex = float$1(i);
136
+ const lineActive = float(i).lessThan(maxLines);
137
+ const lineIndex = float(i);
139
138
  const normalizedIndex = lineIndex.div(maxLines);
140
- const offsetFreq = float$1(.5);
141
- const offsetSpeed = float$1(1.33);
139
+ const offsetFreq = float(.5);
140
+ const offsetSpeed = float(1.33);
142
141
  const offsetTime = t.mul(offsetSpeed);
143
142
  const offsetPosition = lineIndex.add(waveCoord.mul(offsetFreq));
144
143
  const rand = random(offsetPosition.add(offsetTime)).mul(.5).add(.5);
145
- const halfWidth = mix$1(float$1(.01), uniforms.lineWidth.uniform, rand.mul(horizontalFade)).mul(.5);
146
- const minSpread = float$1(.6);
147
- const maxSpread = float$1(2);
148
- const offset = random(offsetPosition.add(offsetTime.mul(normalizedIndex.add(1)))).mul(mix$1(minSpread, maxSpread, horizontalFade)).mul(uniforms.amplitude.uniform);
144
+ const halfWidth = mix(float(.01), uniforms.lineWidth.uniform, rand.mul(horizontalFade)).mul(.5);
145
+ const minSpread = float(.6);
146
+ const maxSpread = float(2);
147
+ const offset = random(offsetPosition.add(offsetTime.mul(normalizedIndex.add(1)))).mul(mix(minSpread, maxSpread, horizontalFade)).mul(uniforms.amplitude.uniform);
149
148
  const linePosition = random(waveCoord.mul(uniforms.frequency.uniform).add(t)).mul(horizontalFade).mul(uniforms.amplitude.uniform).add(offset);
150
- const dist = abs$1(perpCoord.sub(linePosition));
151
- const lineEdgeSoftness = float$1(.01);
149
+ const dist = abs(perpCoord.sub(linePosition));
150
+ const lineEdgeSoftness = float(.01);
152
151
  const line = smoothstep(halfWidth.add(lineEdgeSoftness), halfWidth.sub(lineEdgeSoftness), dist);
153
- const lineContribution = vec4$1(uniforms.waveColor.uniform.r, uniforms.waveColor.uniform.g, uniforms.waveColor.uniform.b, line).mul(rand);
154
- linesColor.assign(max$1(linesColor, lineActive.select(lineContribution, vec4$1(0, 0, 0, 0))));
152
+ const lineContribution = vec4(uniforms.waveColor.uniform.r, uniforms.waveColor.uniform.g, uniforms.waveColor.uniform.b, line).mul(rand);
153
+ linesColor.assign(max(linesColor, lineActive.select(lineContribution, vec4(0, 0, 0, 0))));
155
154
  }
156
- return linesColor.mul(vec4$1(1, 1, 1, verticalFade.mul(edgeFade)));
155
+ return linesColor.mul(vec4(1, 1, 1, verticalFade.mul(edgeFade)));
157
156
  })(baseUV);
158
157
  }
159
158
  };
@@ -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 { clamp, convertToTexture, cos, float, mix, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
5
5
  name: "Stretch",
6
6
  category: "Distortions",
@@ -81,51 +81,49 @@ const componentDefinition = {
81
81
  }
82
82
  }
83
83
  },
84
- uvTransformNode: ({ uv, uniforms, viewportSize: viewportSize$1 }) => {
85
- const { vec2: vec2$1, float: float$1, sin: sin$1, cos: cos$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
89
  const angleRad = uniforms.angle.uniform.mul(Math.PI / 180);
91
- const directionVector = vec2$1(cos$1(angleRad), sin$1(angleRad));
90
+ const directionVector = vec2(cos(angleRad), sin(angleRad));
92
91
  const projection = delta.dot(directionVector);
93
92
  const perpendicular = delta.sub(directionVector.mul(projection));
94
93
  const falloffAmount = uniforms.falloff.uniform;
95
- const transitionWidth = TSL.mix(float$1(.001), float$1(75), falloffAmount);
96
- const effectMask = TSL.clamp(projection.div(transitionWidth), float$1(0), float$1(1));
97
- const scaledStrength = uniforms.strength.uniform.mul(float$1(100));
98
- const stretchFactor = float$1(1).add(scaledStrength.mul(effectMask));
94
+ const transitionWidth = mix(float(.001), float(75), falloffAmount);
95
+ const effectMask = clamp(projection.div(transitionWidth), float(0), float(1));
96
+ const scaledStrength = uniforms.strength.uniform.mul(float(100));
97
+ const stretchFactor = float(1).add(scaledStrength.mul(effectMask));
99
98
  const finalProjection = projection.div(stretchFactor);
100
99
  const stretchedDelta = directionVector.mul(finalProjection).add(perpendicular);
101
100
  const stretchedUV = centerPos.add(stretchedDelta);
102
- return vec2$1(stretchedUV.x.div(aspect), stretchedUV.y);
101
+ return vec2(stretchedUV.x.div(aspect), stretchedUV.y);
103
102
  },
104
103
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
105
- const { vec2: vec2$1, vec4: vec4$1, screenUV: screenUV$1, viewportSize: viewportSize$1, convertToTexture: convertToTexture$1, float: float$1, sin: sin$1, cos: cos$1 } = TSL;
106
- if (!childNode) return vec4$1(0, 0, 0, 0);
107
- const childTexture = convertToTexture$1(childNode);
104
+ if (!childNode) return vec4(0, 0, 0, 0);
105
+ const childTexture = convertToTexture(childNode);
108
106
  onCleanup(() => {
109
107
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
110
108
  });
111
- const aspect = viewportSize$1.x.div(viewportSize$1.y);
112
- const aspectCorrectedUV = vec2$1(screenUV$1.x.mul(aspect), screenUV$1.y);
113
- const centerPos = vec2$1(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
109
+ const aspect = viewportSize.x.div(viewportSize.y);
110
+ const aspectCorrectedUV = vec2(screenUV.x.mul(aspect), screenUV.y);
111
+ const centerPos = vec2(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
114
112
  const delta = aspectCorrectedUV.sub(centerPos);
115
113
  const angleRad = uniforms.angle.uniform.mul(Math.PI / 180);
116
- const directionVector = vec2$1(cos$1(angleRad), sin$1(angleRad));
114
+ const directionVector = vec2(cos(angleRad), sin(angleRad));
117
115
  const projection = delta.dot(directionVector);
118
116
  const parallel = directionVector.mul(projection);
119
117
  const perpendicular = delta.sub(parallel);
120
118
  const falloffAmount = uniforms.falloff.uniform;
121
- const transitionWidth = TSL.mix(float$1(.001), float$1(75), falloffAmount);
122
- const effectMask = TSL.clamp(projection.div(transitionWidth), float$1(0), float$1(1));
123
- const scaledStrength = uniforms.strength.uniform.mul(float$1(100));
124
- const stretchFactor = float$1(1).add(scaledStrength.mul(effectMask));
119
+ const transitionWidth = mix(float(.001), float(75), falloffAmount);
120
+ const effectMask = clamp(projection.div(transitionWidth), float(0), float(1));
121
+ const scaledStrength = uniforms.strength.uniform.mul(float(100));
122
+ const stretchFactor = float(1).add(scaledStrength.mul(effectMask));
125
123
  const finalProjection = projection.div(stretchFactor);
126
124
  const stretchedDelta = directionVector.mul(finalProjection).add(perpendicular);
127
125
  const stretchedUV = centerPos.add(stretchedDelta);
128
- const finalUV = vec2$1(stretchedUV.x.div(aspect), stretchedUV.y);
126
+ const finalUV = vec2(stretchedUV.x.div(aspect), stretchedUV.y);
129
127
  return applyEdgeHandling(finalUV, childTexture.sample(finalUV), childTexture, uniforms.edges.uniform);
130
128
  }
131
129
  };
@@ -1,7 +1,7 @@
1
1
  import { t as createAnimatedTime } from "./time-CTJvRUZ4.js";
2
- import { i as transformColorSpace, r as transformColor, t as colorSpaceOptions } from "./transformations-DxfQXZWi.js";
3
- import { t as mixColors } from "./colorMixing-BXiTAqJU.js";
4
- import * as TSL from "three/tsl";
2
+ import { i as transformColorSpace, r as transformColor, t as colorSpaceOptions } from "./transformations-Dv5JW9ck.js";
3
+ import { t as mixColors } from "./colorMixing-CZPFmiT4.js";
4
+ import { cos, float, screenUV, sin, smoothstep, vec2, vec4 } from "three/tsl";
5
5
  const componentDefinition = {
6
6
  name: "Swirl",
7
7
  category: "Base Layers",
@@ -138,35 +138,34 @@ const componentDefinition = {
138
138
  },
139
139
  fragmentNode: (params) => {
140
140
  const { uniforms, uvContext } = params;
141
- const { vec2: vec2$1, vec4: vec4$1, float: float$1, screenUV: screenUV$1, sin: sin$1, cos: cos$1, smoothstep } = TSL;
142
- const uvCoords = uvContext ?? screenUV$1;
141
+ const uvCoords = uvContext ?? screenUV;
143
142
  const t = createAnimatedTime(params, uniforms.speed);
144
143
  const detail = uniforms.detail.uniform;
145
- const scaleCoarse = float$1(.02);
146
- const scaleMedium = float$1(.028);
147
- const scaleFine = float$1(.056);
144
+ const scaleCoarse = float(.02);
145
+ const scaleMedium = float(.028);
146
+ const scaleFine = float(.056);
148
147
  const freq1 = detail;
149
148
  const coarseScaleX = uniforms.coarseX.uniform.mul(scaleCoarse);
150
149
  const coarseScaleY = uniforms.coarseY.uniform.mul(scaleCoarse);
151
- const distort1 = vec2$1(uvCoords.x.add(sin$1(uvCoords.y.mul(freq1.mul(coarseScaleY).mul(1.7)).add(t.mul(.8))).mul(.12)), uvCoords.y.add(cos$1(uvCoords.x.mul(freq1.mul(coarseScaleX).mul(1.3)).sub(t.mul(.6))).mul(.12)));
152
- const pattern1 = sin$1(distort1.x.mul(freq1.mul(coarseScaleX).mul(2.1)).add(distort1.y.mul(freq1.mul(coarseScaleY).mul(1.8))).add(t.mul(.4)));
150
+ const distort1 = vec2(uvCoords.x.add(sin(uvCoords.y.mul(freq1.mul(coarseScaleY).mul(1.7)).add(t.mul(.8))).mul(.12)), uvCoords.y.add(cos(uvCoords.x.mul(freq1.mul(coarseScaleX).mul(1.3)).sub(t.mul(.6))).mul(.12)));
151
+ const pattern1 = sin(distort1.x.mul(freq1.mul(coarseScaleX).mul(2.1)).add(distort1.y.mul(freq1.mul(coarseScaleY).mul(1.8))).add(t.mul(.4)));
153
152
  const freq2 = detail.mul(1.4);
154
153
  const mediumScaleX = uniforms.mediumX.uniform.mul(scaleMedium);
155
154
  const mediumScaleY = uniforms.mediumY.uniform.mul(scaleMedium);
156
- const distort2 = vec2$1(distort1.x.add(cos$1(distort1.y.mul(freq2.mul(mediumScaleY).mul(1.9)).sub(t.mul(.5))).mul(.06)), distort1.y.add(sin$1(distort1.x.mul(freq2.mul(mediumScaleX).mul(2.3)).add(t.mul(.7))).mul(.06)));
157
- const pattern2 = cos$1(distort2.x.mul(freq2.mul(mediumScaleX).mul(1.6)).sub(distort2.y.mul(freq2.mul(mediumScaleY).mul(2.4))).add(t.mul(.3)));
155
+ const distort2 = vec2(distort1.x.add(cos(distort1.y.mul(freq2.mul(mediumScaleY).mul(1.9)).sub(t.mul(.5))).mul(.06)), distort1.y.add(sin(distort1.x.mul(freq2.mul(mediumScaleX).mul(2.3)).add(t.mul(.7))).mul(.06)));
156
+ const pattern2 = cos(distort2.x.mul(freq2.mul(mediumScaleX).mul(1.6)).sub(distort2.y.mul(freq2.mul(mediumScaleY).mul(2.4))).add(t.mul(.3)));
158
157
  const freq3 = detail.mul(2.8);
159
158
  const fineScaleX = uniforms.fineX.uniform.mul(scaleFine);
160
159
  const fineScaleY = uniforms.fineY.uniform.mul(scaleFine);
161
- const distort3 = vec2$1(distort2.x.add(sin$1(distort2.y.mul(freq3.mul(fineScaleY).mul(1.1)).add(t.mul(.9))).mul(.03)), distort2.y.add(cos$1(distort2.x.mul(freq3.mul(fineScaleX).mul(.9)).sub(t.mul(.4))).mul(.03)));
162
- const pattern3 = sin$1(distort3.x.mul(freq3.mul(fineScaleX).mul(1.3)).add(distort3.y.mul(freq3.mul(fineScaleY).mul(1.7))).sub(t.mul(.6)));
160
+ const distort3 = vec2(distort2.x.add(sin(distort2.y.mul(freq3.mul(fineScaleY).mul(1.1)).add(t.mul(.9))).mul(.03)), distort2.y.add(cos(distort2.x.mul(freq3.mul(fineScaleX).mul(.9)).sub(t.mul(.4))).mul(.03)));
161
+ const pattern3 = sin(distort3.x.mul(freq3.mul(fineScaleX).mul(1.3)).add(distort3.y.mul(freq3.mul(fineScaleY).mul(1.7))).sub(t.mul(.6)));
163
162
  const combinedPattern = pattern1.mul(.5).add(pattern2.mul(.3)).add(pattern3.mul(.2));
164
163
  const blendBias = uniforms.blend.uniform.sub(50).mul(.006);
165
164
  const blendFactor = smoothstep(.3, .7, combinedPattern.mul(.5).add(.5).add(blendBias));
166
165
  const colorMix = mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, blendFactor, uniforms.colorSpace.uniform);
167
- const shimmer = sin$1(t.mul(2.5).add(combinedPattern.mul(8))).mul(.015).add(1);
166
+ const shimmer = sin(t.mul(2.5).add(combinedPattern.mul(8))).mul(.015).add(1);
168
167
  const finalColor = colorMix.mul(shimmer);
169
- return vec4$1(finalColor.rgb, finalColor.a);
168
+ return vec4(finalColor.rgb, finalColor.a);
170
169
  }
171
170
  };
172
171
  var Swirl_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, abs, convertToTexture, cos, dot, float, mix, radians, screenUV, sin, smoothstep, vec2, vec4, viewportSize } from "three/tsl";
3
3
  const componentDefinition = {
4
4
  name: "TiltShift",
5
5
  category: "Blurs",
@@ -66,17 +66,16 @@ const componentDefinition = {
66
66
  }
67
67
  },
68
68
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
69
- const { vec2: vec2$1, vec4: vec4$1, float: float$1, screenUV: screenUV$1, convertToTexture: convertToTexture$1, viewportSize: viewportSize$1, radians, cos: cos$1, sin: sin$1, dot: dot$1, abs: abs$1, smoothstep, mix: mix$1, Fn } = TSL;
70
- if (!childNode) return vec4$1(0, 0, 0, 0);
71
- const childTexture = convertToTexture$1(childNode);
69
+ if (!childNode) return vec4(0, 0, 0, 0);
70
+ const childTexture = convertToTexture(childNode);
72
71
  onCleanup(() => {
73
72
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
74
73
  });
75
74
  const angleRad = radians(uniforms.angle.uniform);
76
- const cosAngle = cos$1(angleRad);
77
- const perpVector = vec2$1(sin$1(angleRad).negate(), cosAngle);
78
- const centerPosition = vec2$1(uniforms.center.uniform[0], uniforms.center.uniform[1].oneMinus());
79
- const distFromLine = abs$1(dot$1(screenUV$1.sub(centerPosition), perpVector));
75
+ const cosAngle = cos(angleRad);
76
+ const perpVector = vec2(sin(angleRad).negate(), cosAngle);
77
+ const centerPosition = vec2(uniforms.center.uniform[0], uniforms.center.uniform[1].oneMinus());
78
+ const distFromLine = abs(dot(screenUV.sub(centerPosition), perpVector));
80
79
  const focusWidth = uniforms.width.uniform.mul(.5);
81
80
  const falloff = uniforms.falloff.uniform;
82
81
  const blurAmount = smoothstep(focusWidth, focusWidth.add(falloff), distFromLine);
@@ -98,14 +97,14 @@ const componentDefinition = {
98
97
  .056
99
98
  ];
100
99
  const weightSum = 6.214;
101
- const horizontalTexture = convertToTexture$1(Fn(() => {
102
- const uv = screenUV$1;
103
- const pixelSize = vec2$1(1).div(viewportSize$1);
104
- const total = vec4$1(0).toVar();
100
+ const horizontalTexture = convertToTexture(Fn(() => {
101
+ const uv$1 = screenUV;
102
+ const pixelSize = vec2(1).div(viewportSize);
103
+ const total = vec4(0).toVar();
105
104
  for (let x = -6; x <= 6; x++) {
106
- const weight = float$1(weights[x + 6] / weightSum);
107
- const offset = vec2$1(float$1(x), float$1(0)).mul(blurRadius).mul(pixelSize);
108
- const sampleCoord = uv.add(offset);
105
+ const weight = float(weights[x + 6] / weightSum);
106
+ const offset = vec2(float(x), float(0)).mul(blurRadius).mul(pixelSize);
107
+ const sampleCoord = uv$1.add(offset);
109
108
  const sample = childTexture.sample(sampleCoord).mul(weight);
110
109
  total.assign(total.add(sample));
111
110
  }
@@ -115,18 +114,18 @@ const componentDefinition = {
115
114
  if (horizontalTexture?.renderTarget?.dispose) horizontalTexture.renderTarget.dispose();
116
115
  });
117
116
  return Fn(() => {
118
- const uv = screenUV$1;
119
- const pixelSize = vec2$1(1).div(viewportSize$1);
120
- const total = vec4$1(0).toVar();
117
+ const uv$1 = screenUV;
118
+ const pixelSize = vec2(1).div(viewportSize);
119
+ const total = vec4(0).toVar();
121
120
  for (let y = -6; y <= 6; y++) {
122
- const weight = float$1(weights[y + 6] / weightSum);
123
- const offset = vec2$1(float$1(0), float$1(y)).mul(blurRadius).mul(pixelSize);
124
- const sampleCoord = uv.add(offset);
121
+ const weight = float(weights[y + 6] / weightSum);
122
+ const offset = vec2(float(0), float(y)).mul(blurRadius).mul(pixelSize);
123
+ const sampleCoord = uv$1.add(offset);
125
124
  const sample = horizontalTexture.sample(sampleCoord).mul(weight);
126
125
  total.assign(total.add(sample));
127
126
  }
128
127
  const blurred = total;
129
- return mix$1(childTexture.sample(uv), blurred, blurAmount);
128
+ return mix(childTexture.sample(uv$1), blurred, blurAmount);
130
129
  })();
131
130
  }
132
131
  };
@@ -1,6 +1,6 @@
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";
1
+ import { i as transformColorSpace, r as transformColor, t as colorSpaceOptions } from "./transformations-Dv5JW9ck.js";
2
+ import { t as mixColors } from "./colorMixing-CZPFmiT4.js";
3
+ import { convertToTexture, dot, screenUV, smoothstep, vec3, vec4 } from "three/tsl";
4
4
  const componentDefinition = {
5
5
  name: "Tritone",
6
6
  category: "Adjustments",
@@ -58,18 +58,17 @@ const componentDefinition = {
58
58
  }
59
59
  },
60
60
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
61
- const { vec3: vec3$1, vec4: vec4$1, dot: dot$1, smoothstep, screenUV: screenUV$1, convertToTexture: convertToTexture$1 } = TSL;
62
- if (!childNode) return vec4$1(0, 0, 0, 0);
63
- const childTexture = convertToTexture$1(childNode);
61
+ if (!childNode) return vec4(0, 0, 0, 0);
62
+ const childTexture = convertToTexture(childNode);
64
63
  onCleanup(() => {
65
64
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
66
65
  });
67
- const inputColor = childTexture.sample(screenUV$1);
68
- const luminance = dot$1(inputColor.rgb, vec3$1(.299, .587, .114));
66
+ const inputColor = childTexture.sample(screenUV);
67
+ const luminance = dot(inputColor.rgb, vec3(.299, .587, .114));
69
68
  const shadowToMid = smoothstep(uniforms.blendMid.uniform.sub(.25), uniforms.blendMid.uniform, luminance);
70
69
  const lowerBlend = mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, shadowToMid, uniforms.colorSpace.uniform);
71
70
  const midToHighlight = smoothstep(uniforms.blendMid.uniform, uniforms.blendMid.uniform.add(.25), luminance);
72
- return vec4$1(mixColors(lowerBlend, mixColors(uniforms.colorB.uniform, uniforms.colorC.uniform, midToHighlight, uniforms.colorSpace.uniform), smoothstep(uniforms.blendMid.uniform.sub(.1), uniforms.blendMid.uniform.add(.1), luminance), uniforms.colorSpace.uniform).rgb, inputColor.a);
71
+ return vec4(mixColors(lowerBlend, mixColors(uniforms.colorB.uniform, uniforms.colorC.uniform, midToHighlight, uniforms.colorSpace.uniform), smoothstep(uniforms.blendMid.uniform.sub(.1), uniforms.blendMid.uniform.add(.1), luminance), uniforms.colorSpace.uniform).rgb, inputColor.a);
73
72
  }
74
73
  };
75
74
  var Tritone_default = componentDefinition;
@@ -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 { convertToTexture, cos, length, screenUV, sin, vec2, vec4 } from "three/tsl";
4
4
  const componentDefinition = {
5
5
  name: "Twirl",
6
6
  category: "Distortions",
@@ -59,37 +59,35 @@ const componentDefinition = {
59
59
  }
60
60
  }
61
61
  },
62
- uvTransformNode: ({ uv, uniforms }) => {
63
- const { vec2: vec2$1, cos: cos$1, sin: sin$1, length } = TSL;
64
- const centerPos = vec2$1(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
65
- const delta = uv.sub(centerPos);
62
+ uvTransformNode: ({ uv: uv$1, uniforms }) => {
63
+ const centerPos = vec2(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
64
+ const delta = uv$1.sub(centerPos);
66
65
  const angle = uniforms.intensity.uniform.mul(length(delta));
67
- const cosAngle = cos$1(angle);
68
- const sinAngle = sin$1(angle);
66
+ const cosAngle = cos(angle);
67
+ const sinAngle = sin(angle);
69
68
  const rotatedX = cosAngle.mul(delta.x).sub(sinAngle.mul(delta.y));
70
69
  const rotatedY = sinAngle.mul(delta.x).add(cosAngle.mul(delta.y));
71
- return vec2$1(rotatedX.add(centerPos.x), rotatedY.add(centerPos.y));
70
+ return vec2(rotatedX.add(centerPos.x), rotatedY.add(centerPos.y));
72
71
  },
73
72
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
74
- const { vec2: vec2$1, vec4: vec4$1, cos: cos$1, sin: sin$1, length, screenUV: screenUV$1, convertToTexture: convertToTexture$1 } = TSL;
75
73
  if (!childNode) {
76
74
  console.error("You must pass a child component into the Twirl shader.");
77
- return vec4$1(0);
75
+ return vec4(0);
78
76
  }
79
- const texture = convertToTexture$1(childNode);
77
+ const texture$1 = convertToTexture(childNode);
80
78
  onCleanup(() => {
81
- if (texture?.renderTarget?.dispose) texture.renderTarget.dispose();
79
+ if (texture$1?.renderTarget?.dispose) texture$1.renderTarget.dispose();
82
80
  });
83
- const uvNode = screenUV$1;
84
- const centerPos = vec2$1(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
81
+ const uvNode = screenUV;
82
+ const centerPos = vec2(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
85
83
  const delta = uvNode.sub(centerPos);
86
84
  const angle = uniforms.intensity.uniform.mul(length(delta));
87
- const cosAngle = cos$1(angle);
88
- const sinAngle = sin$1(angle);
85
+ const cosAngle = cos(angle);
86
+ const sinAngle = sin(angle);
89
87
  const rotatedX = cosAngle.mul(delta.x).sub(sinAngle.mul(delta.y));
90
88
  const rotatedY = sinAngle.mul(delta.x).add(cosAngle.mul(delta.y));
91
- const twistedUV = vec2$1(rotatedX.add(centerPos.x), rotatedY.add(centerPos.y));
92
- return applyEdgeHandling(twistedUV, texture.sample(twistedUV), texture, uniforms.edges.uniform);
89
+ const twistedUV = vec2(rotatedX.add(centerPos.x), rotatedY.add(centerPos.y));
90
+ return applyEdgeHandling(twistedUV, texture$1.sample(twistedUV), texture$1, uniforms.edges.uniform);
93
91
  }
94
92
  };
95
93
  var Twirl_default = componentDefinition;
@@ -1,6 +1,6 @@
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";
1
+ import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
2
+ import { a as transformEdges } from "./transformations-Dv5JW9ck.js";
3
+ import { PI, abs, convertToTexture, cos, float, fract, screenUV, sin, step, time, vec2, vec4 } from "three/tsl";
4
4
  const componentDefinition = {
5
5
  name: "WaveDistortion",
6
6
  category: "Distortions",
@@ -114,55 +114,53 @@ const componentDefinition = {
114
114
  }
115
115
  }
116
116
  },
117
- uvTransformNode: ({ uv, uniforms }) => {
118
- const { vec2: vec2$1, sin: sin$1, cos: cos$1, abs: abs$1, fract, step: step$1, float: float$1, PI, time } = TSL;
117
+ uvTransformNode: ({ uv: uv$1, uniforms }) => {
119
118
  const t = time.mul(uniforms.speed.uniform).mul(.5);
120
119
  const angleRad = uniforms.angle.uniform.mul(PI).div(180);
121
- const cosAngle = cos$1(angleRad);
122
- const sinAngle = sin$1(angleRad);
123
- const centeredUV = uv.sub(vec2$1(.5, .5));
124
- const phase = vec2$1(centeredUV.x.mul(cosAngle).sub(centeredUV.y.mul(sinAngle)), centeredUV.x.mul(sinAngle).add(centeredUV.y.mul(cosAngle))).add(vec2$1(.5, .5)).y.mul(uniforms.frequency.uniform).mul(PI.mul(2)).add(t);
120
+ const cosAngle = cos(angleRad);
121
+ const sinAngle = sin(angleRad);
122
+ const centeredUV = uv$1.sub(vec2(.5, .5));
123
+ const phase = vec2(centeredUV.x.mul(cosAngle).sub(centeredUV.y.mul(sinAngle)), centeredUV.x.mul(sinAngle).add(centeredUV.y.mul(cosAngle))).add(vec2(.5, .5)).y.mul(uniforms.frequency.uniform).mul(PI.mul(2)).add(t);
125
124
  const normalizedPhase = fract(phase.div(PI.mul(2)));
126
- const sineWave = sin$1(phase);
127
- const triangleWave = abs$1(normalizedPhase.mul(2).sub(1)).mul(2).sub(1);
128
- const squareWave = step$1(float$1(.5), normalizedPhase).mul(2).sub(1);
125
+ const sineWave = sin(phase);
126
+ const triangleWave = abs(normalizedPhase.mul(2).sub(1)).mul(2).sub(1);
127
+ const squareWave = step(float(.5), normalizedPhase).mul(2).sub(1);
129
128
  const sawtoothWave = normalizedPhase.mul(2).sub(1);
130
129
  const waveTypeValue = uniforms.waveType.uniform;
131
- const isSine = step$1(waveTypeValue, float$1(.5));
132
- const isTriangle = step$1(float$1(.5), waveTypeValue).mul(step$1(waveTypeValue, float$1(1.5)));
133
- const isSquare = step$1(float$1(1.5), waveTypeValue).mul(step$1(waveTypeValue, float$1(2.5)));
134
- const isSawtooth = step$1(float$1(2.5), waveTypeValue);
130
+ const isSine = step(waveTypeValue, float(.5));
131
+ const isTriangle = step(float(.5), waveTypeValue).mul(step(waveTypeValue, float(1.5)));
132
+ const isSquare = step(float(1.5), waveTypeValue).mul(step(waveTypeValue, float(2.5)));
133
+ const isSawtooth = step(float(2.5), waveTypeValue);
135
134
  const displacement = sineWave.mul(isSine).add(triangleWave.mul(isTriangle)).add(squareWave.mul(isSquare)).add(sawtoothWave.mul(isSawtooth)).mul(uniforms.strength.uniform).mul(.5);
136
135
  const displacementX = displacement.mul(cosAngle);
137
136
  const displacementY = displacement.mul(sinAngle);
138
- return vec2$1(uv.x.add(displacementX), uv.y.add(displacementY));
137
+ return vec2(uv$1.x.add(displacementX), uv$1.y.add(displacementY));
139
138
  },
140
139
  fragmentNode: (params) => {
141
140
  const { uniforms, childNode, onCleanup } = params;
142
- const { vec2: vec2$1, vec4: vec4$1, sin: sin$1, cos: cos$1, abs: abs$1, fract, step: step$1, convertToTexture: convertToTexture$1, screenUV: screenUV$1, float: float$1, PI, time } = TSL;
143
- if (!childNode) return vec4$1(0, 0, 0, 0);
144
- const uvCoord = screenUV$1;
141
+ if (!childNode) return vec4(0, 0, 0, 0);
142
+ const uvCoord = screenUV;
145
143
  const t = time.mul(uniforms.speed.uniform).mul(.5);
146
144
  const angleRad = uniforms.angle.uniform.mul(PI).div(180);
147
- const cosAngle = cos$1(angleRad);
148
- const sinAngle = sin$1(angleRad);
149
- const centeredUV = uvCoord.sub(vec2$1(.5, .5));
150
- const phase = vec2$1(centeredUV.x.mul(cosAngle).sub(centeredUV.y.mul(sinAngle)), centeredUV.x.mul(sinAngle).add(centeredUV.y.mul(cosAngle))).add(vec2$1(.5, .5)).y.mul(uniforms.frequency.uniform).mul(PI.mul(2)).add(t);
145
+ const cosAngle = cos(angleRad);
146
+ const sinAngle = sin(angleRad);
147
+ const centeredUV = uvCoord.sub(vec2(.5, .5));
148
+ const phase = vec2(centeredUV.x.mul(cosAngle).sub(centeredUV.y.mul(sinAngle)), centeredUV.x.mul(sinAngle).add(centeredUV.y.mul(cosAngle))).add(vec2(.5, .5)).y.mul(uniforms.frequency.uniform).mul(PI.mul(2)).add(t);
151
149
  const normalizedPhase = fract(phase.div(PI.mul(2)));
152
- const sineWave = sin$1(phase);
153
- const triangleWave = abs$1(normalizedPhase.mul(2).sub(1)).mul(2).sub(1);
154
- const squareWave = step$1(float$1(.5), normalizedPhase).mul(2).sub(1);
150
+ const sineWave = sin(phase);
151
+ const triangleWave = abs(normalizedPhase.mul(2).sub(1)).mul(2).sub(1);
152
+ const squareWave = step(float(.5), normalizedPhase).mul(2).sub(1);
155
153
  const sawtoothWave = normalizedPhase.mul(2).sub(1);
156
154
  const waveTypeValue = uniforms.waveType.uniform;
157
- const isSine = step$1(waveTypeValue, float$1(.5));
158
- const isTriangle = step$1(float$1(.5), waveTypeValue).mul(step$1(waveTypeValue, float$1(1.5)));
159
- const isSquare = step$1(float$1(1.5), waveTypeValue).mul(step$1(waveTypeValue, float$1(2.5)));
160
- const isSawtooth = step$1(float$1(2.5), waveTypeValue);
155
+ const isSine = step(waveTypeValue, float(.5));
156
+ const isTriangle = step(float(.5), waveTypeValue).mul(step(waveTypeValue, float(1.5)));
157
+ const isSquare = step(float(1.5), waveTypeValue).mul(step(waveTypeValue, float(2.5)));
158
+ const isSawtooth = step(float(2.5), waveTypeValue);
161
159
  const displacement = sineWave.mul(isSine).add(triangleWave.mul(isTriangle)).add(squareWave.mul(isSquare)).add(sawtoothWave.mul(isSawtooth)).mul(uniforms.strength.uniform).mul(.5);
162
160
  const displacementX = displacement.mul(cosAngle);
163
161
  const displacementY = displacement.mul(sinAngle);
164
- const distortedUV = vec2$1(uvCoord.x.add(displacementX), uvCoord.y.add(displacementY));
165
- const childTexture = convertToTexture$1(childNode);
162
+ const distortedUV = vec2(uvCoord.x.add(displacementX), uvCoord.y.add(displacementY));
163
+ const childTexture = convertToTexture(childNode);
166
164
  onCleanup(() => {
167
165
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
168
166
  });
@@ -1,5 +1,5 @@
1
- import { o as transformPosition } from "./transformations-DxfQXZWi.js";
2
- import * as TSL from "three/tsl";
1
+ import { o as transformPosition } from "./transformations-Dv5JW9ck.js";
2
+ import { Fn, convertToTexture, float, screenUV, vec2, vec4 } from "three/tsl";
3
3
  const componentDefinition = {
4
4
  name: "ZoomBlur",
5
5
  category: "Blurs",
@@ -32,24 +32,23 @@ const componentDefinition = {
32
32
  }
33
33
  },
34
34
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
35
- const { vec2: vec2$1, vec4: vec4$1, float: float$1, screenUV: screenUV$1, Fn, convertToTexture: convertToTexture$1 } = TSL;
36
- if (!childNode) return vec4$1(0, 0, 0, 0);
37
- const childTexture = convertToTexture$1(childNode);
35
+ if (!childNode) return vec4(0, 0, 0, 0);
36
+ const childTexture = convertToTexture(childNode);
38
37
  onCleanup(() => {
39
38
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
40
39
  });
41
- const center = vec2$1(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
40
+ const center = vec2(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
42
41
  const radius = uniforms.intensity.uniform.mul(.01);
43
42
  return Fn(() => {
44
- const uv = screenUV$1;
45
- const total = vec4$1(0).toVar();
46
- const totalWeight = float$1(0).toVar();
43
+ const uv$1 = screenUV;
44
+ const total = vec4(0).toVar();
45
+ const totalWeight = float(0).toVar();
47
46
  for (let i = 0; i < 32; i++) {
48
- const t = float$1(i).div(float$1(31));
47
+ const t = float(i).div(float(31));
49
48
  const weightT = t.sub(.5).mul(2);
50
- const weight = float$1(1).div(float$1(2.506628)).mul(float$1(-.5).mul(weightT).mul(weightT).div(float$1(.64)).exp());
51
- const scale = float$1(1).add(radius.mul(t));
52
- const scaledCoord = uv.sub(center).div(scale).add(center);
49
+ const weight = float(1).div(float(2.506628)).mul(float(-.5).mul(weightT).mul(weightT).div(float(.64)).exp());
50
+ const scale = float(1).add(radius.mul(t));
51
+ const scaledCoord = uv$1.sub(center).div(scale).add(center);
53
52
  const sample = childTexture.sample(scaledCoord).mul(weight);
54
53
  total.assign(total.add(sample));
55
54
  totalWeight.assign(totalWeight.add(weight));
@@ -0,0 +1,68 @@
1
+ import { atan, cos, float, max, pow, sin, sqrt, vec3, vec4 } from "three/tsl";
2
+ var p3ToSRGB = (p3) => {
3
+ return vec3(p3.x.mul(1.2249401).sub(p3.y.mul(.2249404)).sub(p3.z.mul(0)), p3.x.mul(-.0420569).add(p3.y.mul(1.0420571)).add(p3.z.mul(0)), p3.x.mul(-.0196376).sub(p3.y.mul(.0786361)).add(p3.z.mul(1.0982735)));
4
+ };
5
+ var sRGBToP3 = (srgb) => {
6
+ return vec3(srgb.x.mul(.8224621).add(srgb.y.mul(.177538)).add(srgb.z.mul(0)), srgb.x.mul(.0331941).add(srgb.y.mul(.9668058)).add(srgb.z.mul(0)), srgb.x.mul(.0170826).add(srgb.y.mul(.0723974)).add(srgb.z.mul(.9105199)));
7
+ };
8
+ var rgbToOklab = (rgb) => {
9
+ const r = rgb.x;
10
+ const g = rgb.y;
11
+ const b = rgb.z;
12
+ const l = r.mul(.4122214708).add(g.mul(.5363325363)).add(b.mul(.0514459929));
13
+ const m = r.mul(.2119034982).add(g.mul(.6806995451).add(b.mul(.1073969566)));
14
+ const s = r.mul(.0883024619).add(g.mul(.2817188376)).add(b.mul(.6299787005));
15
+ const l_ = pow(l, float(1 / 3));
16
+ const m_ = pow(m, float(1 / 3));
17
+ const s_ = pow(s, float(1 / 3));
18
+ return vec3(l_.mul(.2104542553).add(m_.mul(.793617785)).sub(s_.mul(.0040720468)), l_.mul(1.9779984951).sub(m_.mul(2.428592205)).add(s_.mul(.4505937099)), l_.mul(.0259040371).add(m_.mul(.7827717662)).sub(s_.mul(.808675766)));
19
+ };
20
+ var oklabToRgb = (lab) => {
21
+ const L = lab.x;
22
+ const a = lab.y;
23
+ const b = lab.z;
24
+ const l_ = L.add(a.mul(.3963377774)).add(b.mul(.2158037573));
25
+ const m_ = L.sub(a.mul(.1055613458)).sub(b.mul(.0638541728));
26
+ const s_ = L.sub(a.mul(.0894841775)).sub(b.mul(1.291485548));
27
+ const l = pow(l_, float(3));
28
+ const m = pow(m_, float(3));
29
+ const s = pow(s_, float(3));
30
+ return vec3(l.mul(4.0767416621).sub(m.mul(3.3077115913)).add(s.mul(.2309699292)), l.mul(-1.2684380046).add(m.mul(2.6097574011)).sub(s.mul(.3413193965)), l.mul(-.0041960863).sub(m.mul(.7034186147)).add(s.mul(1.707614701)));
31
+ };
32
+ var oklabToOklch = (lab) => {
33
+ const L = lab.x;
34
+ const a = lab.y;
35
+ const b = lab.z;
36
+ return vec3(L, sqrt(a.mul(a).add(b.mul(b))), atan(b, a));
37
+ };
38
+ var oklchToOklab = (lch) => {
39
+ const L = lch.x;
40
+ const C = lch.y;
41
+ const h = lch.z;
42
+ return vec3(L, C.mul(cos(h)), C.mul(sin(h)));
43
+ };
44
+ const mixColors = (colorA, colorB, t, colorSpaceMode) => {
45
+ const p3A = vec3(colorA.x, colorA.y, colorA.z);
46
+ const p3B = vec3(colorB.x, colorB.y, colorB.z);
47
+ const alphaA = colorA.w;
48
+ const alphaB = colorB.w;
49
+ const weightA = alphaA.mul(float(1).sub(t));
50
+ const weightB = alphaB.mul(t);
51
+ const totalWeight = weightA.add(weightB);
52
+ const safeWeight = max(totalWeight, float(.001));
53
+ const alphaWeightedMix = (rgbA, rgbB) => {
54
+ return rgbA.mul(weightA).add(rgbB.mul(weightB)).div(safeWeight);
55
+ };
56
+ const linearMix = alphaWeightedMix(p3A, p3B);
57
+ const srgbA = p3ToSRGB(p3A);
58
+ const srgbB = p3ToSRGB(p3B);
59
+ const oklabA = rgbToOklab(srgbA);
60
+ const oklabB = rgbToOklab(srgbB);
61
+ const oklchResult = sRGBToP3(oklabToRgb(oklchToOklab(alphaWeightedMix(oklabToOklch(oklabA), oklabToOklch(oklabB)))));
62
+ const oklabResult = sRGBToP3(oklabToRgb(alphaWeightedMix(oklabA, oklabB)));
63
+ const isMode1OrHigher = colorSpaceMode.greaterThanEqual(float(.5));
64
+ const rgb = colorSpaceMode.greaterThanEqual(float(1.5)).select(oklabResult, isMode1OrHigher.select(oklchResult, linearMix));
65
+ const alpha = totalWeight;
66
+ return vec4(rgb.x, rgb.y, rgb.z, alpha);
67
+ };
68
+ export { mixColors as t };