shaders 2.2.30 → 2.2.31

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 (97) hide show
  1. package/dist/core/{Beam-DCaOPIk_.js → Beam-CbG4MkLo.js} +2 -3
  2. package/dist/core/{Blob-8YqXuE5v.js → Blob-C_fYRjJF.js} +2 -3
  3. package/dist/core/{Bulge-D9mLn8-p.js → Bulge-C8-_hIFp.js} +1 -20
  4. package/dist/core/{Checkerboard-DjrQsDvl.js → Checkerboard-D_H3XYbF.js} +2 -3
  5. package/dist/core/{Circle-BSAdYHYZ.js → Circle-DI0gXpyD.js} +2 -3
  6. package/dist/core/{DiffuseBlur-B-QHWSjt.js → DiffuseBlur-Cg7AsB3W.js} +1 -12
  7. package/dist/core/{DotGrid-BJyEY7YH.js → DotGrid-B2DXsjFE.js} +2 -3
  8. package/dist/core/{FilmGrain-osBGk_b9.js → FilmGrain-CY4ZO9UI.js} +2 -3
  9. package/dist/core/{FloatingParticles-Ct7GMVzZ.js → FloatingParticles-BduIDXKd.js} +2 -3
  10. package/dist/core/{GlassTiles-CA90XrNT.js → GlassTiles-uW7j91uC.js} +1 -13
  11. package/dist/core/{Godrays-fJIUiGke.js → Godrays-ChqiT2zn.js} +2 -3
  12. package/dist/core/{Grid-o_nFs0CE.js → Grid-DazyiX15.js} +2 -3
  13. package/dist/core/{GridDistortion-xuUXyMGP.js → GridDistortion-CYQUwuXw.js} +1 -1
  14. package/dist/core/{ImageTexture-D9OMwqAs.js → ImageTexture-D0xwHmkW.js} +2 -3
  15. package/dist/core/{LinearGradient-DN_FYXL2.js → LinearGradient-B6ySxWpU.js} +2 -3
  16. package/dist/core/{Liquify-Qm_y-apj.js → Liquify-yoKWSK0F.js} +1 -7
  17. package/dist/core/{Pixelate-_pyYeLRP.js → Pixelate-BmE_Zryn.js} +0 -4
  18. package/dist/core/{PolarCoordinates-DfjOpgDQ.js → PolarCoordinates-PLyS00-P.js} +1 -10
  19. package/dist/core/{RadialGradient-DGmfTA60.js → RadialGradient-pwKyDUBu.js} +2 -3
  20. package/dist/core/{RectangularCoordinates-TM8tkEBk.js → RectangularCoordinates-Dq2JrmOX.js} +1 -10
  21. package/dist/core/{Ripples-D60vIa8s.js → Ripples-Ot1rx8kL.js} +2 -3
  22. package/dist/core/{SimplexNoise-CI-FEJ6v.js → SimplexNoise-BfilWh05.js} +2 -3
  23. package/dist/core/{SineWave-CQIQ0oCt.js → SineWave-DRqL-jda.js} +2 -3
  24. package/dist/core/{SolidColor-CTN8J944.js → SolidColor-B62ZBRlK.js} +0 -1
  25. package/dist/core/{Spiral-DIzFj8Xi.js → Spiral-Cx7Z8gLc.js} +2 -3
  26. package/dist/core/{Strands-WwfH6CNO.js → Strands-C9FBVtDe.js} +2 -3
  27. package/dist/core/{Stretch-DxuMSLMk.js → Stretch-BCpOO3q6.js} +1 -20
  28. package/dist/core/{Swirl-SrhhoVBs.js → Swirl-KUjGnUAM.js} +2 -3
  29. package/dist/core/{Twirl-DRomCc8u.js → Twirl-EJ3aS_lo.js} +1 -11
  30. package/dist/core/{WaveDistortion-Btn7OJ4m.js → WaveDistortion-BOWBSWEU.js} +1 -23
  31. package/dist/core/{edges-Djr_12SL.js → edges-Bd7GP4s2.js} +1 -10
  32. package/dist/core/index.js +107 -588
  33. package/dist/core/renderer.d.ts +0 -21
  34. package/dist/core/renderer.d.ts.map +1 -1
  35. package/dist/core/shaders/Beam/index.d.ts.map +1 -1
  36. package/dist/core/shaders/Beam/index.js +1 -1
  37. package/dist/core/shaders/Blob/index.d.ts.map +1 -1
  38. package/dist/core/shaders/Blob/index.js +1 -1
  39. package/dist/core/shaders/Bulge/index.d.ts.map +1 -1
  40. package/dist/core/shaders/Bulge/index.js +2 -2
  41. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  42. package/dist/core/shaders/Checkerboard/index.js +1 -1
  43. package/dist/core/shaders/Circle/index.d.ts.map +1 -1
  44. package/dist/core/shaders/Circle/index.js +1 -1
  45. package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
  46. package/dist/core/shaders/DiffuseBlur/index.js +2 -2
  47. package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
  48. package/dist/core/shaders/DotGrid/index.js +1 -1
  49. package/dist/core/shaders/FilmGrain/index.d.ts.map +1 -1
  50. package/dist/core/shaders/FilmGrain/index.js +1 -1
  51. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  52. package/dist/core/shaders/FloatingParticles/index.js +1 -1
  53. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  54. package/dist/core/shaders/GlassTiles/index.js +1 -1
  55. package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
  56. package/dist/core/shaders/Godrays/index.js +1 -1
  57. package/dist/core/shaders/Grid/index.d.ts.map +1 -1
  58. package/dist/core/shaders/Grid/index.js +1 -1
  59. package/dist/core/shaders/GridDistortion/index.js +2 -2
  60. package/dist/core/shaders/ImageTexture/index.d.ts.map +1 -1
  61. package/dist/core/shaders/ImageTexture/index.js +1 -1
  62. package/dist/core/shaders/LinearGradient/index.d.ts.map +1 -1
  63. package/dist/core/shaders/LinearGradient/index.js +1 -1
  64. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  65. package/dist/core/shaders/Liquify/index.js +2 -2
  66. package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
  67. package/dist/core/shaders/Pixelate/index.js +1 -1
  68. package/dist/core/shaders/PolarCoordinates/index.d.ts.map +1 -1
  69. package/dist/core/shaders/PolarCoordinates/index.js +2 -2
  70. package/dist/core/shaders/RadialGradient/index.d.ts.map +1 -1
  71. package/dist/core/shaders/RadialGradient/index.js +1 -1
  72. package/dist/core/shaders/RectangularCoordinates/index.d.ts.map +1 -1
  73. package/dist/core/shaders/RectangularCoordinates/index.js +2 -2
  74. package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
  75. package/dist/core/shaders/Ripples/index.js +1 -1
  76. package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
  77. package/dist/core/shaders/SimplexNoise/index.js +1 -1
  78. package/dist/core/shaders/SineWave/index.d.ts.map +1 -1
  79. package/dist/core/shaders/SineWave/index.js +1 -1
  80. package/dist/core/shaders/SolidColor/index.d.ts.map +1 -1
  81. package/dist/core/shaders/SolidColor/index.js +1 -1
  82. package/dist/core/shaders/Spiral/index.d.ts.map +1 -1
  83. package/dist/core/shaders/Spiral/index.js +1 -1
  84. package/dist/core/shaders/Strands/index.d.ts.map +1 -1
  85. package/dist/core/shaders/Strands/index.js +1 -1
  86. package/dist/core/shaders/Stretch/index.d.ts.map +1 -1
  87. package/dist/core/shaders/Stretch/index.js +2 -2
  88. package/dist/core/shaders/Swirl/index.d.ts.map +1 -1
  89. package/dist/core/shaders/Swirl/index.js +1 -1
  90. package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
  91. package/dist/core/shaders/Twirl/index.js +2 -2
  92. package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
  93. package/dist/core/shaders/WaveDistortion/index.js +2 -2
  94. package/dist/core/types.d.ts +0 -81
  95. package/dist/core/types.d.ts.map +1 -1
  96. package/dist/registry.js +0 -19
  97. package/package.json +1 -1
@@ -5,7 +5,6 @@ const componentDefinition = {
5
5
  name: "Beam",
6
6
  category: "Base Layers",
7
7
  description: "A beam of light from one point to another.",
8
- acceptsUVContext: true,
9
8
  props: {
10
9
  startPosition: {
11
10
  default: {
@@ -104,8 +103,8 @@ const componentDefinition = {
104
103
  }
105
104
  }
106
105
  },
107
- fragmentNode: ({ uniforms, uvContext }) => {
108
- const baseUV = uvContext ?? screenUV;
106
+ fragmentNode: ({ uniforms }) => {
107
+ const baseUV = screenUV;
109
108
  const aspect = viewportSize.x.div(viewportSize.y);
110
109
  const startPos = vec2(uniforms.startPosition.uniform.x, uniforms.startPosition.uniform.y.oneMinus());
111
110
  const endPos = vec2(uniforms.endPosition.uniform.x, uniforms.endPosition.uniform.y.oneMinus());
@@ -6,7 +6,6 @@ const componentDefinition = {
6
6
  name: "Blob",
7
7
  category: "Base Layers",
8
8
  description: "Organic animated blob with 3D lighting and gradients",
9
- acceptsUVContext: true,
10
9
  props: {
11
10
  colorA: {
12
11
  default: "#ff6b35",
@@ -158,8 +157,8 @@ const componentDefinition = {
158
157
  }
159
158
  },
160
159
  fragmentNode: (params) => {
161
- const { uniforms, uvContext } = params;
162
- const baseUV = uvContext ?? screenUV;
160
+ const { uniforms } = params;
161
+ const baseUV = screenUV;
163
162
  const animTime = createAnimatedTime(params, uniforms.speed, uniforms.seed);
164
163
  const colorA = uniforms.colorA.uniform;
165
164
  const colorB = uniforms.colorB.uniform;
@@ -1,4 +1,4 @@
1
- import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
1
+ import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
2
  import { o as transformEdges, s as transformPosition } from "./transformations-YbhRK-rd.js";
3
3
  import { convertToTexture, float, length, max, screenUV, smoothstep, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
@@ -81,25 +81,6 @@ const componentDefinition = {
81
81
  }
82
82
  }
83
83
  },
84
- uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
85
- const aspect = viewportSize$1.x.div(viewportSize$1.y);
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());
88
- const delta = aspectCorrectedUV.sub(centerPos);
89
- const distance$1 = length(delta);
90
- const effectRadius = uniforms.radius.uniform.mul(.5);
91
- const falloffAmount = uniforms.falloff.uniform;
92
- const smoothFalloff = smoothstep(effectRadius.mul(float(1).sub(falloffAmount).sub(float(.001)).max(float(0))), effectRadius, distance$1).oneMinus();
93
- const normalizedDist = distance$1.div(effectRadius);
94
- const distSq = normalizedDist.mul(normalizedDist);
95
- const quadraticFalloff = max(float(0), float(1).sub(distSq));
96
- const falloff = smoothFalloff.mul(quadraticFalloff);
97
- const displacementAmount = uniforms.strength.uniform.negate().mul(falloff);
98
- const scaleFactor = float(1).add(displacementAmount);
99
- const bulgedDelta = delta.mul(scaleFactor);
100
- const bulgedUV = centerPos.add(bulgedDelta);
101
- return vec2(bulgedUV.x.div(aspect), bulgedUV.y);
102
- },
103
84
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
104
85
  if (!childNode) return vec4(0, 0, 0, 0);
105
86
  const childTexture = convertToTexture(childNode);
@@ -5,7 +5,6 @@ const componentDefinition = {
5
5
  name: "Checkerboard",
6
6
  category: "Base Layers",
7
7
  description: "Classic checkerboard pattern with two alternating colors",
8
- acceptsUVContext: true,
9
8
  props: {
10
9
  colorA: {
11
10
  default: "#cccccc",
@@ -58,8 +57,8 @@ const componentDefinition = {
58
57
  }
59
58
  }
60
59
  },
61
- fragmentNode: ({ uniforms, uvContext }) => {
62
- const uv$1 = uvContext ?? screenUV;
60
+ fragmentNode: ({ uniforms }) => {
61
+ const uv$1 = screenUV;
63
62
  const aspect = viewportSize.x.div(viewportSize.y);
64
63
  const correctedUV = vec2(uv$1.x.mul(aspect), uv$1.y.oneMinus());
65
64
  const cells = uniforms.cells.uniform;
@@ -4,7 +4,6 @@ const componentDefinition = {
4
4
  name: "Circle",
5
5
  category: "Base Layers",
6
6
  description: "Generate a circle with adjustable size and softness",
7
- acceptsUVContext: true,
8
7
  props: {
9
8
  color: {
10
9
  default: "#ffffff",
@@ -50,8 +49,8 @@ const componentDefinition = {
50
49
  }
51
50
  }
52
51
  },
53
- fragmentNode: ({ uniforms, uvContext }) => {
54
- const uv$1 = uvContext ?? screenUV;
52
+ fragmentNode: ({ uniforms }) => {
53
+ const uv$1 = screenUV;
55
54
  const aspect = viewportSize.x.div(viewportSize.y);
56
55
  const aspectCorrectedUV = vec2(uv$1.x.mul(aspect), uv$1.y);
57
56
  const centerPos = vec2(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
@@ -1,4 +1,4 @@
1
- import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
1
+ import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
2
  import { o as transformEdges } from "./transformations-YbhRK-rd.js";
3
3
  import { convertToTexture, dot, fract, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
@@ -47,17 +47,6 @@ const componentDefinition = {
47
47
  }
48
48
  }
49
49
  },
50
- uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
51
- const hash = (p) => {
52
- return fract(sin(dot(p, vec2(12.9898, 78.233).mul(2))).mul(43758.5453));
53
- };
54
- const pixelSize = vec2(1).div(viewportSize$1);
55
- const seed = uv$1.mul(1e3);
56
- const rand1 = hash(seed);
57
- const rand2 = hash(seed.add(vec2(73.2, 41.9)));
58
- const offset = vec2(rand1.mul(2).sub(1), rand2.mul(2).sub(1)).mul(uniforms.intensity.uniform).mul(pixelSize);
59
- return uv$1.add(offset);
60
- },
61
50
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
62
51
  if (!childNode) return vec4(0, 0, 0, 0);
63
52
  const childTexture = convertToTexture(childNode);
@@ -4,7 +4,6 @@ const componentDefinition = {
4
4
  name: "DotGrid",
5
5
  category: "Base Layers",
6
6
  description: "Grid of dots with optional twinkling animation",
7
- acceptsUVContext: true,
8
7
  props: {
9
8
  color: {
10
9
  default: "#ffffff",
@@ -49,8 +48,8 @@ const componentDefinition = {
49
48
  }
50
49
  }
51
50
  },
52
- fragmentNode: ({ uniforms, uvContext }) => {
53
- const uvCoords = uvContext ?? screenUV;
51
+ fragmentNode: ({ uniforms }) => {
52
+ const uvCoords = screenUV;
54
53
  const density = uniforms.density.uniform;
55
54
  const dotSize = uniforms.dotSize.uniform;
56
55
  const dotColor = uniforms.color.uniform;
@@ -4,7 +4,6 @@ const componentDefinition = {
4
4
  category: "Stylize",
5
5
  description: "Analog film grain texture overlay",
6
6
  requiresChild: true,
7
- acceptsUVContext: true,
8
7
  props: { strength: {
9
8
  default: .5,
10
9
  description: "Intensity of the film grain noise",
@@ -16,10 +15,10 @@ const componentDefinition = {
16
15
  label: "Strength"
17
16
  }
18
17
  } },
19
- fragmentNode: ({ uniforms, childNode, uvContext }) => {
18
+ fragmentNode: ({ uniforms, childNode }) => {
20
19
  const strength = uniforms.strength.uniform;
21
20
  const sourceColor = childNode || vec4(0, 0, 0, 0);
22
- const grainIntensity = fract(sin(dot(uvContext ?? screenUV, vec2(float(12.9898), float(78.233)).mul(float(2)))).mul(float(43758.5453))).mul(float(2)).sub(float(1)).mul(strength.mul(float(.1)));
21
+ const grainIntensity = fract(sin(dot(screenUV, vec2(float(12.9898), float(78.233)).mul(float(2)))).mul(float(43758.5453))).mul(float(2)).sub(float(1)).mul(strength.mul(float(.1)));
23
22
  return vec4(sourceColor.rgb.add(grainIntensity), sourceColor.a);
24
23
  }
25
24
  };
@@ -24,7 +24,6 @@ const componentDefinition = {
24
24
  category: "Base Layers",
25
25
  description: "Animated floating particles with twinkle effects",
26
26
  requiresRTT: false,
27
- acceptsUVContext: true,
28
27
  props: {
29
28
  randomness: {
30
29
  default: .25,
@@ -146,8 +145,8 @@ const componentDefinition = {
146
145
  }
147
146
  }
148
147
  },
149
- fragmentNode: ({ uniforms, childNode, uvContext }) => {
150
- const baseUV = uvContext ?? screenUV;
148
+ fragmentNode: ({ uniforms, childNode }) => {
149
+ const baseUV = screenUV;
151
150
  const renderParticle = Fn(([uv$2]) => {
152
151
  const rootUV = floor(uv$2);
153
152
  const localPos = fract(uv$2);
@@ -1,4 +1,4 @@
1
- import { add, convertToTexture, div, floor, mul, screenUV, select, sub, uniform, vec2, vec4 } from "three/tsl";
1
+ import { add, convertToTexture, div, floor, mul, screenUV, sub, uniform, vec2, vec4 } from "three/tsl";
2
2
  const componentDefinition = {
3
3
  name: "GlassTiles",
4
4
  category: "Distortions",
@@ -29,18 +29,6 @@ const componentDefinition = {
29
29
  }
30
30
  }
31
31
  },
32
- uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
33
- const intensity = uniforms.intensity.uniform;
34
- const baseTileCount = uniforms.tileCount.uniform;
35
- const aspectRatio = viewportSize$1.x.div(viewportSize$1.y);
36
- const tileCount = vec2(select(aspectRatio.greaterThanEqual(1), baseTileCount.mul(aspectRatio), baseTileCount), select(aspectRatio.lessThan(1), baseTileCount.div(aspectRatio), baseTileCount));
37
- const cellCoord = floor(uv$1.mul(tileCount)).div(tileCount);
38
- const localUV = uv$1.sub(cellCoord);
39
- const distortionCenter = vec2(.5, .5);
40
- const distortionFactor = intensity.mul(.025);
41
- const distortion = localUV.div(vec2(1, 1).div(tileCount)).sub(distortionCenter).mul(distortionFactor);
42
- return localUV.add(distortion).add(cellCoord);
43
- },
44
32
  fragmentNode: ({ uniforms, childNode, dimensions, onCleanup }) => {
45
33
  if (!childNode) {
46
34
  console.error("You must pass a child component into the Glass Tiles shader.");
@@ -5,7 +5,6 @@ const componentDefinition = {
5
5
  category: "Base Layers",
6
6
  description: "Volumetric light rays emanating from a point",
7
7
  requiresRTT: false,
8
- acceptsUVContext: true,
9
8
  props: {
10
9
  center: {
11
10
  default: {
@@ -82,8 +81,8 @@ const componentDefinition = {
82
81
  }
83
82
  }
84
83
  },
85
- fragmentNode: ({ uniforms, uvContext }) => {
86
- const uv$1 = uvContext ?? screenUV;
84
+ fragmentNode: ({ uniforms }) => {
85
+ const uv$1 = screenUV;
87
86
  const centerPos = vec2(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
88
87
  const shapeUV = uv$1.sub(centerPos);
89
88
  const valueNoise = Fn(([st]) => {
@@ -4,7 +4,6 @@ const componentDefinition = {
4
4
  name: "Grid",
5
5
  category: "Base Layers",
6
6
  description: "Simple grid lines pattern with adjustable thickness",
7
- acceptsUVContext: true,
8
7
  props: {
9
8
  color: {
10
9
  default: "#ffffff",
@@ -38,8 +37,8 @@ const componentDefinition = {
38
37
  }
39
38
  }
40
39
  },
41
- fragmentNode: ({ uniforms, uvContext }) => {
42
- const uv$1 = uvContext ?? screenUV;
40
+ fragmentNode: ({ uniforms }) => {
41
+ const uv$1 = screenUV;
43
42
  const aspect = viewportSize.x.div(viewportSize.y);
44
43
  const correctedUV = vec2(uv$1.x.mul(aspect), uv$1.y.oneMinus());
45
44
  const cells = uniforms.cells.uniform;
@@ -1,4 +1,4 @@
1
- import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
1
+ import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
2
  import { o as transformEdges } from "./transformations-YbhRK-rd.js";
3
3
  import { DataTexture, FloatType, LinearFilter, RGFormat } from "three";
4
4
  import { convertToTexture, float, screenUV, texture, uniform, vec2, vec4 } from "three/tsl";
@@ -4,7 +4,6 @@ const componentDefinition = {
4
4
  name: "ImageTexture",
5
5
  category: "Base Layers",
6
6
  description: "Display an image with customizable object-fit modes",
7
- acceptsUVContext: true,
8
7
  props: {
9
8
  url: {
10
9
  default: "https://shaders.com/sample.jpg",
@@ -54,8 +53,8 @@ const componentDefinition = {
54
53
  }
55
54
  }
56
55
  },
57
- fragmentNode: ({ uniforms, onCleanup, onBeforeRender, uvContext }) => {
58
- const baseUV = uvContext ?? screenUV;
56
+ fragmentNode: ({ uniforms, onCleanup, onBeforeRender }) => {
57
+ const baseUV = screenUV;
59
58
  const loader = new TextureLoader();
60
59
  let currentUrl = "";
61
60
  let isLoading = false;
@@ -5,7 +5,6 @@ const componentDefinition = {
5
5
  name: "LinearGradient",
6
6
  category: "Base Layers",
7
7
  description: "Create smooth linear color gradients",
8
- acceptsUVContext: true,
9
8
  props: {
10
9
  colorA: {
11
10
  default: "#1aff00",
@@ -99,8 +98,8 @@ const componentDefinition = {
99
98
  }
100
99
  }
101
100
  },
102
- fragmentNode: ({ uniforms, uvContext }) => {
103
- const uv$1 = uvContext ?? screenUV;
101
+ fragmentNode: ({ uniforms }) => {
102
+ const uv$1 = screenUV;
104
103
  const startPos = vec2(uniforms.start.uniform[0], uniforms.start.uniform[1].oneMinus());
105
104
  const endPos = vec2(uniforms.end.uniform[0], uniforms.end.uniform[1].oneMinus());
106
105
  const gradientVector = endPos.sub(startPos);
@@ -1,4 +1,4 @@
1
- import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
1
+ import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
2
  import { o as transformEdges } from "./transformations-YbhRK-rd.js";
3
3
  import { DataTexture, FloatType, LinearFilter, RGFormat } from "three";
4
4
  import { convertToTexture, float, screenUV, texture, uniform, vec2, vec4 } from "three/tsl";
@@ -101,12 +101,6 @@ const componentDefinition = {
101
101
  }
102
102
  }
103
103
  },
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);
109
- },
110
104
  fragmentNode: ({ uniforms, onBeforeRender, childNode, onCleanup }) => {
111
105
  const { dataTexture: displacementTexture, data: displacementData, tslNode: displacementField } = getOrCreateDisplacementState(uniforms);
112
106
  const mouseVelX = uniform(0);
@@ -16,10 +16,6 @@ const componentDefinition = {
16
16
  label: "Scale"
17
17
  }
18
18
  } },
19
- uvTransformNode: ({ uv: uv$1, uniforms }) => {
20
- const pixelSize = uniforms.scale.uniform;
21
- return floor(uv$1.mul(pixelSize)).div(pixelSize);
22
- },
23
19
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
24
20
  if (!childNode) return vec4(0, 0, 0, 0);
25
21
  const childTexture = convertToTexture(childNode);
@@ -1,4 +1,4 @@
1
- import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
1
+ import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
2
  import { o as transformEdges, s as transformPosition } from "./transformations-YbhRK-rd.js";
3
3
  import { PI, atan, convertToTexture, length, mix, screenUV, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
@@ -81,15 +81,6 @@ const componentDefinition = {
81
81
  }
82
82
  }
83
83
  },
84
- uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
85
- const aspect = viewportSize$1.x.div(viewportSize$1.y);
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());
88
- const delta = aspectCorrectedUV.sub(centerPos);
89
- const normalizedAngle = atan(delta.y, delta.x).add(PI).div(PI.mul(2));
90
- const r = length(delta);
91
- return mix(uv$1, vec2(normalizedAngle.mul(uniforms.wrap.uniform), r.mul(uniforms.radius.uniform)), uniforms.intensity.uniform);
92
- },
93
84
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
94
85
  if (!childNode) return vec4(0, 0, 0, 0);
95
86
  const childTexture = convertToTexture(childNode);
@@ -5,7 +5,6 @@ const componentDefinition = {
5
5
  name: "RadialGradient",
6
6
  category: "Base Layers",
7
7
  description: "Radial gradient radiating from a center point",
8
- acceptsUVContext: true,
9
8
  props: {
10
9
  colorA: {
11
10
  default: "#ff0000",
@@ -59,8 +58,8 @@ const componentDefinition = {
59
58
  }
60
59
  }
61
60
  },
62
- fragmentNode: ({ uniforms, uvContext }) => {
63
- const uv$1 = uvContext ?? screenUV;
61
+ fragmentNode: ({ uniforms }) => {
62
+ const uv$1 = screenUV;
64
63
  const aspect = viewportSize.x.div(viewportSize.y);
65
64
  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));
66
65
  return mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, t, uniforms.colorSpace.uniform);
@@ -1,4 +1,4 @@
1
- import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
1
+ import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
2
  import { o as transformEdges, s as transformPosition } from "./transformations-YbhRK-rd.js";
3
3
  import { PI, convertToTexture, cos, mix, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
@@ -70,15 +70,6 @@ const componentDefinition = {
70
70
  }
71
71
  }
72
72
  },
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));
78
- const aspect = viewportSize$1.x.div(viewportSize$1.y);
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);
81
- },
82
73
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
83
74
  if (!childNode) return vec4(0, 0, 0, 0);
84
75
  const childTexture = convertToTexture(childNode);
@@ -6,7 +6,6 @@ const componentDefinition = {
6
6
  name: "Ripples",
7
7
  category: "Base Layers",
8
8
  description: "Concentric animated ripples emanating from a point",
9
- acceptsUVContext: true,
10
9
  props: {
11
10
  center: {
12
11
  default: {
@@ -95,8 +94,8 @@ const componentDefinition = {
95
94
  }
96
95
  },
97
96
  fragmentNode: (params) => {
98
- const { uniforms, uvContext } = params;
99
- const uv$1 = uvContext ?? screenUV;
97
+ const { uniforms } = params;
98
+ const uv$1 = screenUV;
100
99
  const center = uniforms.center.uniform;
101
100
  const colorA = uniforms.colorA.uniform;
102
101
  const colorB = uniforms.colorB.uniform;
@@ -6,7 +6,6 @@ const componentDefinition = {
6
6
  name: "SimplexNoise",
7
7
  category: "Base Layers",
8
8
  description: "Organic noise with animated movement",
9
- acceptsUVContext: true,
10
9
  props: {
11
10
  colorA: {
12
11
  default: "#ffffff",
@@ -83,8 +82,8 @@ const componentDefinition = {
83
82
  }
84
83
  },
85
84
  fragmentNode: (params) => {
86
- const { uniforms, uvContext } = params;
87
- const uv$1 = uvContext ?? screenUV;
85
+ const { uniforms } = params;
86
+ const uv$1 = screenUV;
88
87
  const aspect = viewportSize.x.div(viewportSize.y);
89
88
  const aspectCorrectedUV = vec2(uv$1.x.mul(aspect), uv$1.y);
90
89
  const animTime = createAnimatedTime(params, uniforms.speed);
@@ -4,7 +4,6 @@ const componentDefinition = {
4
4
  name: "SineWave",
5
5
  category: "Base Layers",
6
6
  description: "Animated wave with thickness and softness",
7
- acceptsUVContext: true,
8
7
  props: {
9
8
  color: {
10
9
  default: "#ffffff",
@@ -95,8 +94,8 @@ const componentDefinition = {
95
94
  }
96
95
  }
97
96
  },
98
- fragmentNode: ({ uniforms, uvContext }) => {
99
- const uv$1 = uvContext ?? screenUV;
97
+ fragmentNode: ({ uniforms }) => {
98
+ const uv$1 = screenUV;
100
99
  const aspect = viewportSize.x.div(viewportSize.y);
101
100
  const aspectCorrectedUV = vec2(uv$1.x.mul(aspect), uv$1.y);
102
101
  const centerPos = vec2(uniforms.position.uniform.x.mul(aspect), uniforms.position.uniform.y.oneMinus());
@@ -3,7 +3,6 @@ const componentDefinition = {
3
3
  name: "SolidColor",
4
4
  category: "Base Layers",
5
5
  description: "Fill the canvas with a single solid color",
6
- acceptsUVContext: true,
7
6
  props: { color: {
8
7
  default: "#5b18ca",
9
8
  transform: transformColor,
@@ -5,7 +5,6 @@ const componentDefinition = {
5
5
  name: "Spiral",
6
6
  category: "Base Layers",
7
7
  description: "Rotating spiral pattern with animated movement",
8
- acceptsUVContext: true,
9
8
  props: {
10
9
  colorA: {
11
10
  default: "#000000",
@@ -103,8 +102,8 @@ const componentDefinition = {
103
102
  }
104
103
  }
105
104
  },
106
- fragmentNode: ({ uniforms, uvContext }) => {
107
- const baseUV = uvContext ?? screenUV;
105
+ fragmentNode: ({ uniforms }) => {
106
+ const baseUV = screenUV;
108
107
  const aspect = viewportSize.x.div(viewportSize.y);
109
108
  const aspectCorrectedUV = vec2(baseUV.x.mul(aspect), baseUV.y);
110
109
  const centerPos = vec2(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
@@ -7,7 +7,6 @@ const componentDefinition = {
7
7
  description: "Procedural wavy strands with layered animation",
8
8
  requiresRTT: false,
9
9
  requiresChild: false,
10
- acceptsUVContext: true,
11
10
  props: {
12
11
  speed: {
13
12
  default: .5,
@@ -107,8 +106,8 @@ const componentDefinition = {
107
106
  }
108
107
  },
109
108
  fragmentNode: (params) => {
110
- const { uniforms, uvContext } = params;
111
- const baseUV = uvContext ?? screenUV;
109
+ const { uniforms } = params;
110
+ const baseUV = screenUV;
112
111
  const t = createAnimatedTime(params, uniforms.speed);
113
112
  const random = Fn(([time$1]) => {
114
113
  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);
@@ -1,4 +1,4 @@
1
- import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
1
+ import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
2
  import { o as transformEdges, s as transformPosition } from "./transformations-YbhRK-rd.js";
3
3
  import { clamp, convertToTexture, cos, float, mix, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
@@ -81,25 +81,6 @@ const componentDefinition = {
81
81
  }
82
82
  }
83
83
  },
84
- uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
85
- const aspect = viewportSize$1.x.div(viewportSize$1.y);
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());
88
- const delta = aspectCorrectedUV.sub(centerPos);
89
- const angleRad = uniforms.angle.uniform.mul(Math.PI / 180);
90
- const directionVector = vec2(cos(angleRad), sin(angleRad));
91
- const projection = delta.dot(directionVector);
92
- const perpendicular = delta.sub(directionVector.mul(projection));
93
- const falloffAmount = uniforms.falloff.uniform;
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));
98
- const finalProjection = projection.div(stretchFactor);
99
- const stretchedDelta = directionVector.mul(finalProjection).add(perpendicular);
100
- const stretchedUV = centerPos.add(stretchedDelta);
101
- return vec2(stretchedUV.x.div(aspect), stretchedUV.y);
102
- },
103
84
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
104
85
  if (!childNode) return vec4(0, 0, 0, 0);
105
86
  const childTexture = convertToTexture(childNode);
@@ -6,7 +6,6 @@ const componentDefinition = {
6
6
  name: "Swirl",
7
7
  category: "Base Layers",
8
8
  description: "Flowing swirl pattern with multi-layered noise",
9
- acceptsUVContext: true,
10
9
  props: {
11
10
  colorA: {
12
11
  default: "#1275d8",
@@ -137,8 +136,8 @@ const componentDefinition = {
137
136
  }
138
137
  },
139
138
  fragmentNode: (params) => {
140
- const { uniforms, uvContext } = params;
141
- const uvCoords = uvContext ?? screenUV;
139
+ const { uniforms } = params;
140
+ const uvCoords = screenUV;
142
141
  const t = createAnimatedTime(params, uniforms.speed);
143
142
  const detail = uniforms.detail.uniform;
144
143
  const scaleCoarse = float(.02);
@@ -1,4 +1,4 @@
1
- import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
1
+ import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
2
  import { o as transformEdges, s as transformPosition } from "./transformations-YbhRK-rd.js";
3
3
  import { convertToTexture, cos, length, screenUV, sin, vec2, vec4 } from "three/tsl";
4
4
  const componentDefinition = {
@@ -59,16 +59,6 @@ const componentDefinition = {
59
59
  }
60
60
  }
61
61
  },
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);
65
- const angle = uniforms.intensity.uniform.mul(length(delta));
66
- const cosAngle = cos(angle);
67
- const sinAngle = sin(angle);
68
- const rotatedX = cosAngle.mul(delta.x).sub(sinAngle.mul(delta.y));
69
- const rotatedY = sinAngle.mul(delta.x).add(cosAngle.mul(delta.y));
70
- return vec2(rotatedX.add(centerPos.x), rotatedY.add(centerPos.y));
71
- },
72
62
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
73
63
  if (!childNode) {
74
64
  console.error("You must pass a child component into the Twirl shader.");
@@ -1,4 +1,4 @@
1
- import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
1
+ import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
2
  import { o as transformEdges } from "./transformations-YbhRK-rd.js";
3
3
  import { PI, abs, convertToTexture, cos, float, fract, screenUV, sin, step, time, vec2, vec4 } from "three/tsl";
4
4
  const componentDefinition = {
@@ -114,28 +114,6 @@ const componentDefinition = {
114
114
  }
115
115
  }
116
116
  },
117
- uvTransformNode: ({ uv: uv$1, uniforms }) => {
118
- const t = time.mul(uniforms.speed.uniform).mul(.5);
119
- const angleRad = uniforms.angle.uniform.mul(PI).div(180);
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);
124
- const normalizedPhase = fract(phase.div(PI.mul(2)));
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);
128
- const sawtoothWave = normalizedPhase.mul(2).sub(1);
129
- const waveTypeValue = uniforms.waveType.uniform;
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);
134
- const displacement = sineWave.mul(isSine).add(triangleWave.mul(isTriangle)).add(squareWave.mul(isSquare)).add(sawtoothWave.mul(isSawtooth)).mul(uniforms.strength.uniform).mul(.5);
135
- const displacementX = displacement.mul(cosAngle);
136
- const displacementY = displacement.mul(sinAngle);
137
- return vec2(uv$1.x.add(displacementX), uv$1.y.add(displacementY));
138
- },
139
117
  fragmentNode: (params) => {
140
118
  const { uniforms, childNode, onCleanup } = params;
141
119
  if (!childNode) return vec4(0, 0, 0, 0);
@@ -1,13 +1,4 @@
1
1
  import { abs, float, fract, mod, select, step, vec2, vec4 } from "three/tsl";
2
- const applyEdgeToUV = (uv$1, edgeModeUniform) => {
3
- const stretchedUV = uv$1.clamp(vec2(0, 0), vec2(1, 1));
4
- const transparentUV = uv$1;
5
- const mirrorX = mod(abs(uv$1.x), float(2));
6
- const mirrorY = mod(abs(uv$1.y), float(2));
7
- const mirroredUV = vec2(select(step(float(1), mirrorX), float(2).sub(mirrorX), mirrorX), select(step(float(1), mirrorY), float(2).sub(mirrorY), mirrorY));
8
- const wrappedUV = fract(uv$1);
9
- return select(step(float(.5), edgeModeUniform), select(step(float(1.5), edgeModeUniform), select(step(float(2.5), edgeModeUniform), wrappedUV, mirroredUV), transparentUV), stretchedUV);
10
- };
11
2
  const applyEdgeHandling = (distortedUV, sampledColor, childTexture, edgeModeUniform) => {
12
3
  const inBoundsX = step(float(0), distortedUV.x).mul(step(distortedUV.x, float(1)));
13
4
  const inBoundsY = step(float(0), distortedUV.y).mul(step(distortedUV.y, float(1)));
@@ -22,4 +13,4 @@ const applyEdgeHandling = (distortedUV, sampledColor, childTexture, edgeModeUnif
22
13
  const wrapColor = childTexture.sample(wrappedUV);
23
14
  return select(step(float(.5), edgeModeUniform), select(step(float(1.5), edgeModeUniform), select(step(float(2.5), edgeModeUniform), wrapColor, mirrorColor), transparentColor), sampledColor);
24
15
  };
25
- export { applyEdgeToUV as n, applyEdgeHandling as t };
16
+ export { applyEdgeHandling as t };