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.
- package/dist/core/WorleyNoise-Derik4n-.js +323 -0
- package/dist/core/index.js +3 -2
- package/dist/core/registry.js +3 -2
- package/dist/core/{shaderRegistry-BPtUQU-N.js → shaderRegistry-Ceu0nAxP.js} +4 -2
- package/dist/core/shaderRegistry.d.ts.map +1 -1
- package/dist/core/shaders/WorleyNoise/index.d.ts +99 -0
- package/dist/core/shaders/WorleyNoise/index.d.ts.map +1 -0
- package/dist/core/shaders/WorleyNoise/index.js +5 -0
- package/dist/core/shaders/ZoomBlur/index.js +1 -1
- package/dist/js/createShader.js +1 -1
- package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/js/utils/generatePresetCode.js +19 -0
- package/dist/react/Preview.js +1 -0
- package/dist/react/Shader.js +1 -1
- package/dist/react/WorleyNoise.js +217 -0
- package/dist/react/bundle.js +207 -207
- package/dist/react/components/WorleyNoise.d.ts +39 -0
- package/dist/react/components/WorleyNoise.d.ts.map +1 -0
- package/dist/react/engine/Preview.d.ts.map +1 -1
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -1
- package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/react/utils/generatePresetCode.js +19 -0
- package/dist/registry.js +519 -0
- package/dist/solid/components/WorleyNoise.d.ts +36 -0
- package/dist/solid/components/WorleyNoise.d.ts.map +1 -0
- package/dist/solid/components/WorleyNoise.js +228 -0
- package/dist/solid/engine/Preview.d.ts.map +1 -1
- package/dist/solid/engine/Preview.js +216 -214
- package/dist/solid/engine/Shader.js +1 -1
- package/dist/solid/index.d.ts +1 -0
- package/dist/solid/index.d.ts.map +1 -1
- package/dist/solid/index.js +8 -6
- package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/solid/utils/generatePresetCode.js +19 -0
- package/dist/svelte/components/WorleyNoise.svelte.d.ts +26 -0
- package/dist/svelte/index.d.ts +1 -0
- package/dist/svelte/index.js +634 -434
- package/dist/svelte/source/components/WorleyNoise.svelte +332 -0
- package/dist/svelte/source/engine/Preview.svelte +2 -0
- package/dist/svelte/source/index.js +1 -0
- package/dist/svelte/utils/generatePresetCode.js +19 -0
- package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +2 -0
- package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +28 -18
- package/dist/vue/WorleyNoise.js +3 -0
- package/dist/vue/WorleyNoise.vue_vue_type_script_setup_true_lang.js +226 -0
- package/dist/vue/components/WorleyNoise.vue.d.ts +61 -0
- package/dist/vue/components/WorleyNoise.vue.d.ts.map +1 -0
- package/dist/vue/engine/Shader.vue.d.ts.map +1 -1
- package/dist/vue/index.d.ts +1 -0
- package/dist/vue/index.d.ts.map +1 -1
- package/dist/vue/index.js +2 -1
- package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/vue/utils/generatePresetCode.js +19 -0
- package/package.json +9 -1
- /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 };
|
package/dist/core/index.js
CHANGED
|
@@ -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 "./
|
|
117
|
-
import
|
|
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";
|
package/dist/core/registry.js
CHANGED
|
@@ -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 "./
|
|
117
|
-
import
|
|
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 "./
|
|
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
|
-
|
|
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":"
|
|
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-
|
|
3
|
+
import { n as componentDefinition, t as ZoomBlur_default } from "../../ZoomBlur-BdLC9MCq.js";
|
|
4
4
|
export { componentDefinition, ZoomBlur_default as default };
|
package/dist/js/createShader.js
CHANGED
|
@@ -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.
|
|
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;
|
|
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 };
|
package/dist/react/Preview.js
CHANGED
|
@@ -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";
|
package/dist/react/Shader.js
CHANGED
|
@@ -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.
|
|
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);
|