shaders 2.5.116 → 2.5.117

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 (57) hide show
  1. package/dist/core/WorleyNoise-Derik4n-.js +323 -0
  2. package/dist/core/index.js +3 -2
  3. package/dist/core/registry.js +3 -2
  4. package/dist/core/{shaderRegistry-BPtUQU-N.js → shaderRegistry-Ceu0nAxP.js} +4 -2
  5. package/dist/core/shaderRegistry.d.ts.map +1 -1
  6. package/dist/core/shaders/WorleyNoise/index.d.ts +99 -0
  7. package/dist/core/shaders/WorleyNoise/index.d.ts.map +1 -0
  8. package/dist/core/shaders/WorleyNoise/index.js +5 -0
  9. package/dist/core/shaders/ZoomBlur/index.js +1 -1
  10. package/dist/js/createShader.js +1 -1
  11. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  12. package/dist/js/utils/generatePresetCode.js +19 -0
  13. package/dist/react/Preview.js +1 -0
  14. package/dist/react/Shader.js +1 -1
  15. package/dist/react/WorleyNoise.js +217 -0
  16. package/dist/react/bundle.js +207 -207
  17. package/dist/react/components/WorleyNoise.d.ts +39 -0
  18. package/dist/react/components/WorleyNoise.d.ts.map +1 -0
  19. package/dist/react/engine/Preview.d.ts.map +1 -1
  20. package/dist/react/index.d.ts +1 -0
  21. package/dist/react/index.d.ts.map +1 -1
  22. package/dist/react/index.js +2 -1
  23. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  24. package/dist/react/utils/generatePresetCode.js +19 -0
  25. package/dist/registry.js +519 -0
  26. package/dist/solid/components/WorleyNoise.d.ts +36 -0
  27. package/dist/solid/components/WorleyNoise.d.ts.map +1 -0
  28. package/dist/solid/components/WorleyNoise.js +228 -0
  29. package/dist/solid/engine/Preview.d.ts.map +1 -1
  30. package/dist/solid/engine/Preview.js +216 -214
  31. package/dist/solid/engine/Shader.js +1 -1
  32. package/dist/solid/index.d.ts +1 -0
  33. package/dist/solid/index.d.ts.map +1 -1
  34. package/dist/solid/index.js +8 -6
  35. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  36. package/dist/solid/utils/generatePresetCode.js +19 -0
  37. package/dist/svelte/components/WorleyNoise.svelte.d.ts +26 -0
  38. package/dist/svelte/index.d.ts +1 -0
  39. package/dist/svelte/index.js +634 -434
  40. package/dist/svelte/source/components/WorleyNoise.svelte +332 -0
  41. package/dist/svelte/source/engine/Preview.svelte +2 -0
  42. package/dist/svelte/source/index.js +1 -0
  43. package/dist/svelte/utils/generatePresetCode.js +19 -0
  44. package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +2 -0
  45. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +28 -18
  46. package/dist/vue/WorleyNoise.js +3 -0
  47. package/dist/vue/WorleyNoise.vue_vue_type_script_setup_true_lang.js +226 -0
  48. package/dist/vue/components/WorleyNoise.vue.d.ts +61 -0
  49. package/dist/vue/components/WorleyNoise.vue.d.ts.map +1 -0
  50. package/dist/vue/engine/Shader.vue.d.ts.map +1 -1
  51. package/dist/vue/index.d.ts +1 -0
  52. package/dist/vue/index.d.ts.map +1 -1
  53. package/dist/vue/index.js +2 -1
  54. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  55. package/dist/vue/utils/generatePresetCode.js +19 -0
  56. package/package.json +9 -1
  57. /package/dist/core/{ZoomBlur-DLaH226M.js → ZoomBlur-BdLC9MCq.js} +0 -0
@@ -0,0 +1,323 @@
1
+ import { a as transformColor, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-CJcUeZIC.js";
2
+ import { t as mixColors } from "./colorMixing-BPpDnR5I.js";
3
+ import { t as createAnimatedTime } from "./time-DUqSFWvT.js";
4
+ import { Fn, abs, clamp, cos, dot, float, floor, fract, lengthSq, max, min, mix, screenUV, sin, sqrt, vec2, viewportSize } from "three/tsl";
5
+ var TAU = float(Math.PI * 2);
6
+ var HASH_AMP = float(.15);
7
+ var CELL_CENTER = float(.5);
8
+ var CELL_MIN = float(.05);
9
+ var CELL_MAX = float(.95);
10
+ var ANIM_PHASE_SCALE = float(.7);
11
+ var SENTINEL = float(10);
12
+ var worleyHash = Fn(([p]) => {
13
+ return fract(sin(vec2(dot(p, vec2(127.1, 311.7)), dot(p, vec2(269.5, 183.3)))).mul(float(43758.5453)));
14
+ });
15
+ var transformMode = (value) => {
16
+ return {
17
+ f1: 0,
18
+ f2: 1,
19
+ f2MinusF1: 2,
20
+ f1PlusF2: 3,
21
+ f1TimesF2: 4
22
+ }[value] ?? 0;
23
+ };
24
+ var transformDistance = (value) => {
25
+ return {
26
+ euclidean: 0,
27
+ manhattan: 1,
28
+ chebyshev: 2
29
+ }[value] ?? 0;
30
+ };
31
+ const componentDefinition = {
32
+ name: "WorleyNoise",
33
+ category: "Textures",
34
+ description: "Cellular noise field — distance-based, with selectable feature combinations and fractal octaves",
35
+ props: {
36
+ colorA: {
37
+ default: "#ffffff",
38
+ transform: transformColor,
39
+ description: "Color where the noise field is low (typically near cell centers)",
40
+ ui: {
41
+ type: "color",
42
+ label: "Color A (Low)",
43
+ group: "Colors"
44
+ }
45
+ },
46
+ colorB: {
47
+ default: "#000000",
48
+ transform: transformColor,
49
+ description: "Color where the noise field is high (typically near cell boundaries)",
50
+ ui: {
51
+ type: "color",
52
+ label: "Color B (High)",
53
+ group: "Colors"
54
+ }
55
+ },
56
+ colorSpace: {
57
+ default: "linear",
58
+ transform: transformColorSpace,
59
+ compileTime: true,
60
+ description: "Color space for color interpolation",
61
+ ui: {
62
+ type: "select",
63
+ options: colorSpaceOptions,
64
+ label: "Color Space",
65
+ group: "Colors"
66
+ }
67
+ },
68
+ scale: {
69
+ default: 6,
70
+ description: "Number of cells across the canvas at the base octave",
71
+ ui: {
72
+ type: ["range", "map"],
73
+ min: 1,
74
+ max: 30,
75
+ step: .5,
76
+ label: "Scale",
77
+ group: "Effect"
78
+ }
79
+ },
80
+ mode: {
81
+ default: "f1",
82
+ transform: transformMode,
83
+ compileTime: true,
84
+ description: "Field type. F1 = distance to nearest point. F2 = distance to second-nearest. F2 − F1 emphasises cell boundaries.",
85
+ ui: {
86
+ type: "select",
87
+ options: [
88
+ {
89
+ label: "F1 (Cells)",
90
+ value: "f1"
91
+ },
92
+ {
93
+ label: "F2 (Wider Cells)",
94
+ value: "f2"
95
+ },
96
+ {
97
+ label: "F2 − F1 (Edges)",
98
+ value: "f2MinusF1"
99
+ },
100
+ {
101
+ label: "F1 + F2",
102
+ value: "f1PlusF2"
103
+ },
104
+ {
105
+ label: "F1 × F2",
106
+ value: "f1TimesF2"
107
+ }
108
+ ],
109
+ label: "Mode",
110
+ group: "Effect"
111
+ }
112
+ },
113
+ distance: {
114
+ default: "euclidean",
115
+ transform: transformDistance,
116
+ compileTime: true,
117
+ description: "Distance metric. Euclidean = round cells. Manhattan = diamond. Chebyshev = square.",
118
+ ui: {
119
+ type: "select",
120
+ options: [
121
+ {
122
+ label: "Euclidean",
123
+ value: "euclidean"
124
+ },
125
+ {
126
+ label: "Manhattan",
127
+ value: "manhattan"
128
+ },
129
+ {
130
+ label: "Chebyshev",
131
+ value: "chebyshev"
132
+ }
133
+ ],
134
+ label: "Distance",
135
+ group: "Effect"
136
+ }
137
+ },
138
+ octaves: {
139
+ default: 1,
140
+ compileTime: true,
141
+ description: "Number of fractal layers stacked at progressively finer scales",
142
+ ui: {
143
+ type: "range",
144
+ min: 1,
145
+ max: 4,
146
+ step: 1,
147
+ label: "Octaves",
148
+ group: "Effect"
149
+ }
150
+ },
151
+ lacunarity: {
152
+ default: 2,
153
+ description: "Scale multiplier between octaves (only active when Octaves > 1)",
154
+ ui: {
155
+ type: ["range", "map"],
156
+ min: 1.5,
157
+ max: 4,
158
+ step: .1,
159
+ label: "Lacunarity",
160
+ group: "Effect",
161
+ condition: { octaves: [
162
+ 2,
163
+ 3,
164
+ 4
165
+ ] }
166
+ }
167
+ },
168
+ persistence: {
169
+ default: .5,
170
+ description: "Amplitude multiplier between octaves (only active when Octaves > 1)",
171
+ ui: {
172
+ type: ["range", "map"],
173
+ min: 0,
174
+ max: 1,
175
+ step: .05,
176
+ label: "Persistence",
177
+ group: "Effect",
178
+ condition: { octaves: [
179
+ 2,
180
+ 3,
181
+ 4
182
+ ] }
183
+ }
184
+ },
185
+ jitter: {
186
+ default: 1,
187
+ description: "How much each cell's point drifts inside its cell. 0 = rigid grid (banded look), 1 = fully random.",
188
+ ui: {
189
+ type: ["range", "map"],
190
+ min: 0,
191
+ max: 1,
192
+ step: .05,
193
+ label: "Jitter",
194
+ group: "Effect"
195
+ }
196
+ },
197
+ contrast: {
198
+ default: 1,
199
+ description: "Steepness of the gradient between low and high regions",
200
+ ui: {
201
+ type: ["range", "map"],
202
+ min: .25,
203
+ max: 4,
204
+ step: .05,
205
+ label: "Contrast",
206
+ group: "Effect"
207
+ }
208
+ },
209
+ balance: {
210
+ default: 0,
211
+ description: "Shifts the gradient midpoint. Negative pulls the field toward Color A, positive toward Color B.",
212
+ ui: {
213
+ type: ["range", "map"],
214
+ min: -1,
215
+ max: 1,
216
+ step: .05,
217
+ label: "Balance",
218
+ group: "Effect"
219
+ }
220
+ },
221
+ seed: {
222
+ default: 0,
223
+ description: "Random seed — shifts the cell pattern without changing its overall structure",
224
+ ui: {
225
+ type: ["range", "map"],
226
+ min: 0,
227
+ max: 100,
228
+ step: 1,
229
+ label: "Seed",
230
+ group: "Effect"
231
+ }
232
+ },
233
+ speed: {
234
+ default: .5,
235
+ description: "Animation speed — how fast each cell's point drifts",
236
+ ui: {
237
+ type: "range",
238
+ min: 0,
239
+ max: 5,
240
+ step: .1,
241
+ label: "Speed",
242
+ group: "Animation"
243
+ }
244
+ }
245
+ },
246
+ fragmentNode: (params) => {
247
+ const { uniforms } = params;
248
+ const colorA = uniforms.colorA.uniform;
249
+ const colorB = uniforms.colorB.uniform;
250
+ const csMode = uniforms.colorSpace.uniform.value;
251
+ const modeNum = uniforms.mode.uniform.value;
252
+ const distNum = uniforms.distance.uniform.value;
253
+ const octavesNum = Math.max(1, Math.min(4, Math.round(uniforms.octaves.uniform.value)));
254
+ const t = createAnimatedTime(params, uniforms.speed);
255
+ const aspect = viewportSize.x.div(viewportSize.y);
256
+ const baseUV = vec2(screenUV.x.mul(aspect), screenUV.y);
257
+ const scale = uniforms.scale.uniform;
258
+ const seed = uniforms.seed.uniform;
259
+ const jitter = uniforms.jitter.uniform;
260
+ const lacunarity = uniforms.lacunarity.uniform;
261
+ const persistence = uniforms.persistence.uniform;
262
+ let modeScale = 1.5;
263
+ if (modeNum === 1) modeScale = 1;
264
+ else if (modeNum === 2) modeScale = 2.5;
265
+ else if (modeNum === 3) modeScale = .6;
266
+ else if (modeNum === 4) modeScale = 2;
267
+ if (distNum === 1) modeScale *= .7;
268
+ else if (distNum === 2) modeScale *= 1.4;
269
+ const isSquaredEuclidean = distNum === 0;
270
+ const needsD2 = modeNum !== 0;
271
+ const evalOctaveRaw = Fn(([oUV, animT, seedOff]) => {
272
+ const animTSlow = animT.mul(ANIM_PHASE_SCALE);
273
+ const cell = floor(oUV);
274
+ const localUV = fract(oUV);
275
+ let d1 = SENTINEL;
276
+ let d2 = SENTINEL;
277
+ for (let ny = -1; ny <= 1; ny++) for (let nx = -1; nx <= 1; nx++) {
278
+ const offset = vec2(float(nx), float(ny));
279
+ const h = worleyHash(cell.add(offset).add(seedOff));
280
+ const px = h.x.add(sin(animT.add(h.x.mul(TAU))).mul(HASH_AMP));
281
+ const py = h.y.add(cos(animTSlow.add(h.y.mul(TAU))).mul(HASH_AMP));
282
+ const jx = mix(CELL_CENTER, px.clamp(CELL_MIN, CELL_MAX), jitter);
283
+ const jy = mix(CELL_CENTER, py.clamp(CELL_MIN, CELL_MAX), jitter);
284
+ const point = offset.add(vec2(jx, jy));
285
+ const delta = localUV.sub(point);
286
+ let d;
287
+ if (distNum === 1) d = abs(delta.x).add(abs(delta.y));
288
+ else if (distNum === 2) d = max(abs(delta.x), abs(delta.y));
289
+ else d = lengthSq(delta);
290
+ if (needsD2) {
291
+ d2 = min(d2, max(d, d1));
292
+ d1 = min(d1, d);
293
+ } else d1 = min(d1, d);
294
+ }
295
+ let raw;
296
+ if (isSquaredEuclidean) if (modeNum === 1) raw = sqrt(d2);
297
+ else if (modeNum === 2) raw = sqrt(d2).sub(sqrt(d1));
298
+ else if (modeNum === 3) raw = sqrt(d1).add(sqrt(d2));
299
+ else if (modeNum === 4) raw = sqrt(d1.mul(d2));
300
+ else raw = sqrt(d1);
301
+ else if (modeNum === 1) raw = d2;
302
+ else if (modeNum === 2) raw = d2.sub(d1);
303
+ else if (modeNum === 3) raw = d1.add(d2);
304
+ else if (modeNum === 4) raw = d1.mul(d2);
305
+ else raw = d1;
306
+ return raw;
307
+ });
308
+ let acc = float(0);
309
+ let totalAmp = float(0);
310
+ let amp = float(1);
311
+ let freq = scale;
312
+ for (let o = 0; o < octavesNum; o++) {
313
+ const raw = evalOctaveRaw(baseUV.mul(freq), t.add(float(o * 17)), seed.add(float(o * 31)));
314
+ acc = acc.add(raw.mul(amp));
315
+ totalAmp = totalAmp.add(amp);
316
+ amp = amp.mul(persistence);
317
+ freq = freq.mul(lacunarity);
318
+ }
319
+ return mixColors(colorA, colorB, clamp(acc.div(totalAmp.max(float(1e-4))).mul(float(modeScale)).mul(float(2)).sub(float(1)).mul(uniforms.contrast.uniform).add(uniforms.balance.uniform).mul(float(.5)).add(float(.5)), float(0), float(1)), csMode);
320
+ }
321
+ };
322
+ var WorleyNoise_default = componentDefinition;
323
+ export { componentDefinition as n, WorleyNoise_default as t };
@@ -113,8 +113,9 @@ import "./Voronoi-kngFpTNB.js";
113
113
  import "./WaveDistortion-DM-f_XCw.js";
114
114
  import "./Weave-DO0m0Dsh.js";
115
115
  import "./WebcamTexture-BQJpZvC5.js";
116
- import "./ZoomBlur-DLaH226M.js";
117
- import { t as getAllShaders } from "./shaderRegistry-BPtUQU-N.js";
116
+ import "./WorleyNoise-Derik4n-.js";
117
+ import "./ZoomBlur-BdLC9MCq.js";
118
+ import { t as getAllShaders } from "./shaderRegistry-Ceu0nAxP.js";
118
119
  import { Material, Mesh, MeshBasicNodeMaterial, OrthographicCamera, PlaneGeometry, SRGBColorSpace, Scene, Vector2, WebGPURenderer } from "three/webgpu";
119
120
  import { WebGLRenderer } from "three";
120
121
  import { PI, abs, add, atan, clamp, convertToTexture, cos, div, dot, float, fract, max, min, mix, mul, pow, screenUV, sign, sin, smoothstep, sqrt, step, sub, time, uniform, uv, vec2, vec3, vec4 } from "three/tsl";
@@ -113,6 +113,7 @@ import "./Voronoi-kngFpTNB.js";
113
113
  import "./WaveDistortion-DM-f_XCw.js";
114
114
  import "./Weave-DO0m0Dsh.js";
115
115
  import "./WebcamTexture-BQJpZvC5.js";
116
- import "./ZoomBlur-DLaH226M.js";
117
- import { a as shaderRegistry, i as getShadersByCategory, n as getShaderByName, r as getShaderCategories, t as getAllShaders } from "./shaderRegistry-BPtUQU-N.js";
116
+ import "./WorleyNoise-Derik4n-.js";
117
+ import "./ZoomBlur-BdLC9MCq.js";
118
+ import { a as shaderRegistry, i as getShadersByCategory, n as getShaderByName, r as getShaderCategories, t as getAllShaders } from "./shaderRegistry-Ceu0nAxP.js";
118
119
  export { getAllShaders, getShaderByName, getShaderCategories, getShadersByCategory, shaderRegistry };
@@ -105,7 +105,8 @@ import { n as componentDefinition$103 } from "./Voronoi-kngFpTNB.js";
105
105
  import { n as componentDefinition$104 } from "./WaveDistortion-DM-f_XCw.js";
106
106
  import { n as componentDefinition$105 } from "./Weave-DO0m0Dsh.js";
107
107
  import { n as componentDefinition$106 } from "./WebcamTexture-BQJpZvC5.js";
108
- import { n as componentDefinition$107 } from "./ZoomBlur-DLaH226M.js";
108
+ import { n as componentDefinition$107 } from "./WorleyNoise-Derik4n-.js";
109
+ import { n as componentDefinition$108 } from "./ZoomBlur-BdLC9MCq.js";
109
110
  var createShaderRegistry = () => {
110
111
  const registry = {};
111
112
  const shaderDefinitions = {
@@ -216,7 +217,8 @@ var createShaderRegistry = () => {
216
217
  WaveDistortion: componentDefinition$104,
217
218
  Weave: componentDefinition$105,
218
219
  WebcamTexture: componentDefinition$106,
219
- ZoomBlur: componentDefinition$107
220
+ WorleyNoise: componentDefinition$107,
221
+ ZoomBlur: componentDefinition$108
220
222
  };
221
223
  Object.entries(shaderDefinitions).forEach(([fileName, def]) => {
222
224
  const propsMetadata = {};
@@ -1 +1 @@
1
- {"version":3,"file":"shaderRegistry.d.ts","sourceRoot":"","sources":["../src/shaderRegistry.ts"],"names":[],"mappings":"AA+GA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;QAC5B,EAAE,CAAC,EAAE,GAAG,CAAA;QACR,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAC,CAAA;CACH;AAgJD,eAAO,MAAM,cAAc,qCAAyB,CAAA;AAGpD,wBAAgB,aAAa,IAAI,mBAAmB,EAAE,CAErD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAE7E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAE5E;AAED,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAG9C"}
1
+ {"version":3,"file":"shaderRegistry.d.ts","sourceRoot":"","sources":["../src/shaderRegistry.ts"],"names":[],"mappings":"AAgHA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;QAC5B,EAAE,CAAC,EAAE,GAAG,CAAA;QACR,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAC,CAAA;CACH;AAiJD,eAAO,MAAM,cAAc,qCAAyB,CAAA;AAGpD,wBAAgB,aAAa,IAAI,mBAAmB,EAAE,CAErD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAE7E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAE5E;AAED,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAG9C"}
@@ -0,0 +1,99 @@
1
+ import { ComponentDefinition } from '../../types';
2
+ import { transformColor } from '../../utilities/transformations';
3
+
4
+ export interface ComponentProps {
5
+ /**
6
+ * Color where the noise field is low (typically near cell centers)
7
+ *
8
+ * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`).
9
+ * @default "#ffffff"
10
+ */
11
+ colorA: Parameters<typeof transformColor>[0];
12
+ /**
13
+ * Color where the noise field is high (typically near cell boundaries)
14
+ *
15
+ * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`).
16
+ * @default "#000000"
17
+ */
18
+ colorB: Parameters<typeof transformColor>[0];
19
+ /**
20
+ * Color space for color interpolation
21
+ *
22
+ * Accepts one of the predefined option values.
23
+ * @default "linear"
24
+ */
25
+ colorSpace: string;
26
+ /**
27
+ * Number of cells across the canvas at the base octave
28
+ *
29
+ * @default 6
30
+ */
31
+ scale: number;
32
+ /**
33
+ * Field type. F1 = distance to nearest point. F2 = distance to second-nearest. F2 − F1 emphasises cell boundaries.
34
+ *
35
+ * Accepts one of: `"f1"`, `"f2"`, `"f2MinusF1"`, `"f1PlusF2"`, `"f1TimesF2"`.
36
+ * @default "f1"
37
+ */
38
+ mode: string;
39
+ /**
40
+ * Distance metric. Euclidean = round cells. Manhattan = diamond. Chebyshev = square.
41
+ *
42
+ * Accepts one of: `"euclidean"`, `"manhattan"`, `"chebyshev"`.
43
+ * @default "euclidean"
44
+ */
45
+ distance: string;
46
+ /**
47
+ * Number of fractal layers stacked at progressively finer scales
48
+ *
49
+ * Accepts a number between 1 and 4.
50
+ * @default 1
51
+ */
52
+ octaves: number;
53
+ /**
54
+ * Scale multiplier between octaves (only active when Octaves > 1)
55
+ *
56
+ * @default 2
57
+ */
58
+ lacunarity: number;
59
+ /**
60
+ * Amplitude multiplier between octaves (only active when Octaves > 1)
61
+ *
62
+ * @default 0.5
63
+ */
64
+ persistence: number;
65
+ /**
66
+ * How much each cell\
67
+ *
68
+ * @default 1
69
+ */
70
+ jitter: number;
71
+ /**
72
+ * Steepness of the gradient between low and high regions
73
+ *
74
+ * @default 1
75
+ */
76
+ contrast: number;
77
+ /**
78
+ * Shifts the gradient midpoint. Negative pulls the field toward Color A, positive toward Color B.
79
+ *
80
+ * @default 0
81
+ */
82
+ balance: number;
83
+ /**
84
+ * Random seed — shifts the cell pattern without changing its overall structure
85
+ *
86
+ * @default 0
87
+ */
88
+ seed: number;
89
+ /**
90
+ * Animation speed — how fast each cell\
91
+ *
92
+ * Accepts a number between 0 and 5.
93
+ * @default 0.5
94
+ */
95
+ speed: number;
96
+ }
97
+ export declare const componentDefinition: ComponentDefinition<ComponentProps>;
98
+ export default componentDefinition;
99
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/WorleyNoise/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAsB,MAAM,iBAAiB,CAAA;AAGzE,OAAO,EAAE,cAAc,EAA0C,MAAM,qCAAqC,CAAA;AAoB5G,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CAChB;AAYD,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAsPnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import "../../transformations-CJcUeZIC.js";
2
+ import "../../colorMixing-BPpDnR5I.js";
3
+ import "../../time-DUqSFWvT.js";
4
+ import { n as componentDefinition, t as WorleyNoise_default } from "../../WorleyNoise-Derik4n-.js";
5
+ export { componentDefinition, WorleyNoise_default as default };
@@ -1,4 +1,4 @@
1
1
  import "../../transformations-CJcUeZIC.js";
2
2
  import "../../alpha-C4ptedXe.js";
3
- import { n as componentDefinition, t as ZoomBlur_default } from "../../ZoomBlur-DLaH226M.js";
3
+ import { n as componentDefinition, t as ZoomBlur_default } from "../../ZoomBlur-BdLC9MCq.js";
4
4
  export { componentDefinition, ZoomBlur_default as default };
@@ -48,7 +48,7 @@ async function createShader(canvas, preset, options) {
48
48
  if (isExternalUser()) {
49
49
  const checkRendering = () => {
50
50
  if (renderer.getPerformanceStats().fps > 0) {
51
- telemetryCollector = startTelemetry(renderer, "2.5.116", options?.disableTelemetry || false, false);
51
+ telemetryCollector = startTelemetry(renderer, "2.5.117", options?.disableTelemetry || false, false);
52
52
  if (telemetryCollector) telemetryCollector.start();
53
53
  telemetryStartTimeout = null;
54
54
  } else telemetryStartTimeout = setTimeout(checkRendering, 500);
@@ -1 +1 @@
1
- {"version":3,"file":"generatePresetCode.d.ts","sourceRoot":"","sources":["../../src/utils/generatePresetCode.ts"],"names":[],"mappings":"AAAA,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;CAC7B;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B;AAi+CD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAoBlG;AAGD,eAAO,MAAM,mBAAmB,UA8G/B,CAAA"}
1
+ {"version":3,"file":"generatePresetCode.d.ts","sourceRoot":"","sources":["../../src/utils/generatePresetCode.ts"],"names":[],"mappings":"AAAA,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;CAC7B;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B;AAm/CD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAoBlG;AAGD,eAAO,MAAM,mBAAmB,UA+G/B,CAAA"}
@@ -1341,6 +1341,24 @@ var shaderMetadata = {
1341
1341
  "objectFit": "cover",
1342
1342
  "mirror": true
1343
1343
  },
1344
+ "WorleyNoise": {
1345
+ "opacity": 1,
1346
+ "blendMode": "normal",
1347
+ "colorA": "#ffffff",
1348
+ "colorB": "#000000",
1349
+ "colorSpace": "linear",
1350
+ "scale": 6,
1351
+ "mode": "f1",
1352
+ "distance": "euclidean",
1353
+ "octaves": 1,
1354
+ "lacunarity": 2,
1355
+ "persistence": .5,
1356
+ "jitter": 1,
1357
+ "contrast": 1,
1358
+ "balance": 0,
1359
+ "seed": 0,
1360
+ "speed": .5
1361
+ },
1344
1362
  "ZoomBlur": {
1345
1363
  "opacity": 1,
1346
1364
  "blendMode": "normal",
@@ -1539,6 +1557,7 @@ const availableComponents = [
1539
1557
  "WaveDistortion",
1540
1558
  "Weave",
1541
1559
  "WebcamTexture",
1560
+ "WorleyNoise",
1542
1561
  "ZoomBlur"
1543
1562
  ];
1544
1563
  export { availableComponents, generatePresetCode };
@@ -215,6 +215,7 @@ var componentMap = {
215
215
  WaveDistortion: lazy(() => import("./WaveDistortion.js")),
216
216
  Weave: lazy(() => import("./Weave.js")),
217
217
  WebcamTexture: lazy(() => import("./WebcamTexture.js")),
218
+ WorleyNoise: lazy(() => import("./WorleyNoise.js")),
218
219
  ZoomBlur: lazy(() => import("./ZoomBlur.js"))
219
220
  };
220
221
  var DEFAULT_KEY = "shaders-preview-key";
@@ -89,7 +89,7 @@ const Shader = ({ children, disableTelemetry = false, colorSpace = "p3-linear",
89
89
  return;
90
90
  }
91
91
  if (rendererRef.current.getPerformanceStats().fps > 0) {
92
- telemetryCollectorRef.current = startTelemetry(rendererRef.current, "2.5.116", disableTelemetry, isPreview);
92
+ telemetryCollectorRef.current = startTelemetry(rendererRef.current, "2.5.117", disableTelemetry, isPreview);
93
93
  if (telemetryCollectorRef.current) telemetryCollectorRef.current.start();
94
94
  telemetryStartTimeoutRef.current = null;
95
95
  } else telemetryStartTimeoutRef.current = window.setTimeout(checkRendering, 500);