shaders 2.5.123 → 2.5.125

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 (55) hide show
  1. package/dist/core/{FloatingParticles-DKoG78j0.js → FloatingParticles-LMsFTJKp.js} +122 -7
  2. package/dist/core/index.d.ts +1 -1
  3. package/dist/core/index.d.ts.map +1 -1
  4. package/dist/core/index.js +38 -6
  5. package/dist/core/registry.js +2 -2
  6. package/dist/core/renderer.d.ts +3 -2
  7. package/dist/core/renderer.d.ts.map +1 -1
  8. package/dist/core/{shaderRegistry-9d8S78Sy.js → shaderRegistry-DZDkRCt8.js} +1 -1
  9. package/dist/core/shaders/FloatingParticles/index.d.ts +1 -1
  10. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  11. package/dist/core/shaders/FloatingParticles/index.js +1 -1
  12. package/dist/core/types.d.ts +1 -0
  13. package/dist/core/types.d.ts.map +1 -1
  14. package/dist/js/createShader.d.ts.map +1 -1
  15. package/dist/js/createShader.js +2 -1
  16. package/dist/js/types.d.ts +1 -0
  17. package/dist/js/types.d.ts.map +1 -1
  18. package/dist/js/utils/generatePresetCode.d.ts +1 -1
  19. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  20. package/dist/js/utils/generatePresetCode.js +3 -2
  21. package/dist/js/utils/generatePresetCode.template.d.ts +1 -1
  22. package/dist/js/utils/generatePresetCode.template.d.ts.map +1 -1
  23. package/dist/react/Shader.js +18 -3
  24. package/dist/react/bundle.js +210 -210
  25. package/dist/react/engine/Shader.d.ts +1 -0
  26. package/dist/react/engine/Shader.d.ts.map +1 -1
  27. package/dist/react/utils/generatePresetCode.d.ts +1 -1
  28. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  29. package/dist/react/utils/generatePresetCode.js +3 -3
  30. package/dist/react/utils/generatePresetCode.template.d.ts +1 -1
  31. package/dist/react/utils/generatePresetCode.template.d.ts.map +1 -1
  32. package/dist/registry.js +2 -2
  33. package/dist/solid/engine/Shader.d.ts +1 -0
  34. package/dist/solid/engine/Shader.d.ts.map +1 -1
  35. package/dist/solid/engine/Shader.js +17 -3
  36. package/dist/solid/utils/generatePresetCode.d.ts +1 -1
  37. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  38. package/dist/solid/utils/generatePresetCode.js +5 -3
  39. package/dist/solid/utils/generatePresetCode.template.d.ts +1 -1
  40. package/dist/solid/utils/generatePresetCode.template.d.ts.map +1 -1
  41. package/dist/svelte/engine/Shader.svelte.d.ts +1 -0
  42. package/dist/svelte/index.js +17 -3
  43. package/dist/svelte/source/engine/Shader.svelte +20 -2
  44. package/dist/svelte/utils/generatePresetCode.d.ts +1 -1
  45. package/dist/svelte/utils/generatePresetCode.js +3 -3
  46. package/dist/svelte/utils/generatePresetCode.template.d.ts +1 -1
  47. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +17 -2
  48. package/dist/vue/engine/Shader.vue.d.ts +4 -0
  49. package/dist/vue/engine/Shader.vue.d.ts.map +1 -1
  50. package/dist/vue/utils/generatePresetCode.d.ts +1 -1
  51. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  52. package/dist/vue/utils/generatePresetCode.js +3 -3
  53. package/dist/vue/utils/generatePresetCode.template.d.ts +1 -1
  54. package/dist/vue/utils/generatePresetCode.template.d.ts.map +1 -1
  55. package/package.json +1 -1
@@ -1,11 +1,21 @@
1
1
  import { a as transformColor } from "./transformations-CJcUeZIC.js";
2
2
  import { t as createAnimatedTime } from "./time-DUqSFWvT.js";
3
- import { Fn, cos, dot, float, floor, fract, length, min, mix, screenUV, sin, smoothstep, time, vec2, vec3, vec4, viewportSize } from "three/tsl";
3
+ import { StorageTexture } from "three/webgpu";
4
+ import { FloatType } from "three";
5
+ import { Fn, cos, dot, float, floor, fract, instanceIndex, length, min, mix, screenUV, sin, smoothstep, storageTexture, texture, textureStore, time, uint, uniform, uvec2, vec2, vec3, vec4, viewportSize } from "three/tsl";
6
+ var PARTICLE_TEX = 1024;
4
7
  var hash1_2 = Fn(([p]) => {
5
- return fract(sin(dot(p, vec2(127.1, 311.7))).mul(43758.5453123));
8
+ const p3 = fract(vec3(p.x, p.y, p.x).mul(.1031));
9
+ const d = dot(p3, vec3(p3.y, p3.z, p3.x).add(33.33));
10
+ const p3b = p3.add(d);
11
+ return fract(p3b.x.add(p3b.y).mul(p3b.z));
6
12
  });
7
13
  var hash2_2 = Fn(([p]) => {
8
- return fract(sin(vec2(dot(p, vec2(127.1, 311.7)), dot(p, vec2(269.5, 183.3)))).mul(43758.5453));
14
+ const p3 = fract(vec3(p.x, p.y, p.x).mul(vec3(.1031, .103, .0973)));
15
+ const d = dot(p3, vec3(p3.y, p3.z, p3.x).add(33.33));
16
+ const p3b = p3.add(d);
17
+ const s = p3b.x.add(p3b.y);
18
+ return fract(vec2(s.mul(p3b.z), s.mul(p3b.y)));
9
19
  });
10
20
  var voronoiPointFromRoot = Fn(([root, deg]) => {
11
21
  const point = hash2_2(root).sub(.5);
@@ -20,6 +30,13 @@ var getParticleDistance = Fn(([uv$1, cellUV, randomness]) => {
20
30
  const pointUV = voronoiPointFromRoot(cellUV, degFromRootUV(cellUV, randomness));
21
31
  return length(uv$1.sub(pointUV));
22
32
  });
33
+ var degFromRootUV_compute = Fn(([uv$1, randomness, frameTimeU]) => {
34
+ return frameTimeU.mul(randomness).mul(hash1_2(uv$1).sub(.5)).mul(2);
35
+ });
36
+ var getParticleDistance_compute = Fn(([uv$1, cellUV, randomness, frameTimeU]) => {
37
+ const pointUV = voronoiPointFromRoot(cellUV, degFromRootUV_compute(cellUV, randomness, frameTimeU));
38
+ return length(uv$1.sub(pointUV));
39
+ });
23
40
  const componentDefinition = {
24
41
  name: "FloatingParticles",
25
42
  category: "Textures",
@@ -63,7 +80,7 @@ const componentDefinition = {
63
80
  }
64
81
  },
65
82
  particleSize: {
66
- default: 1,
83
+ default: 2,
67
84
  description: "Size of particles",
68
85
  ui: {
69
86
  type: ["range", "map"],
@@ -157,8 +174,106 @@ const componentDefinition = {
157
174
  }
158
175
  }
159
176
  },
177
+ computeNode: (params) => {
178
+ const { uniforms, onCleanup } = params;
179
+ const texSize = PARTICLE_TEX;
180
+ const count = texSize * texSize;
181
+ const gs = uint(texSize);
182
+ const outTex = new StorageTexture(texSize, texSize);
183
+ outTex.type = FloatType;
184
+ const outTexNode = storageTexture(outTex);
185
+ onCleanup(() => outTex.dispose());
186
+ const animTimeU = uniform(0);
187
+ const frameTimeU = uniform(0);
188
+ const aspectU = uniform(16 / 9);
189
+ const computeRenderParticle = Fn(([uv$1]) => {
190
+ const rootUV = floor(uv$1);
191
+ const randomness = uniforms.randomness.uniform;
192
+ const dCenter = getParticleDistance_compute(uv$1, rootUV, randomness, frameTimeU);
193
+ const dLeft = getParticleDistance_compute(uv$1, rootUV.add(vec2(-1, 0)), randomness, frameTimeU);
194
+ const dRight = getParticleDistance_compute(uv$1, rootUV.add(vec2(1, 0)), randomness, frameTimeU);
195
+ const dTop = getParticleDistance_compute(uv$1, rootUV.add(vec2(0, -1)), randomness, frameTimeU);
196
+ const dBottom = getParticleDistance_compute(uv$1, rootUV.add(vec2(0, 1)), randomness, frameTimeU);
197
+ const minDist = min(min(min(min(dCenter, dLeft), dRight), dTop), dBottom);
198
+ const softness = uniforms.particleSoftness.uniform;
199
+ const scaledSize = uniforms.particleSize.uniform.mul(.01);
200
+ const innerRadius = scaledSize.mul(.6);
201
+ const baseIntensity = smoothstep(innerRadius, innerRadius.add(softness.mul(scaledSize.mul(2.4))), minDist).oneMinus();
202
+ const twinkleIntensity = uniforms.twinkle.uniform;
203
+ const particlePhase = hash1_2(rootUV);
204
+ const twinkleValue = sin(frameTimeU.mul(2).add(particlePhase.mul(6.28318))).mul(.5).add(.5);
205
+ const twinkleModifier = mix(float(1), twinkleValue, twinkleIntensity);
206
+ return baseIntensity.mul(twinkleModifier).mul(uniforms.particleColor.uniform.rgb);
207
+ });
208
+ const computeLayeredParticles = Fn(([uv$1]) => {
209
+ const sizeMod = float(1.05);
210
+ const alphaMod = float(.9);
211
+ const layers = uniforms.count.uniform;
212
+ const particles = vec3(0).toVar();
213
+ const layerScale = float(1).toVar();
214
+ const alpha = float(1).toVar();
215
+ const offset = vec2(0).toVar();
216
+ const angleRad = uniforms.angle.uniform.mul(3.14159).div(180);
217
+ const baseMovementDir = vec2(cos(angleRad), sin(angleRad));
218
+ const baseMovement = animTimeU.mul(baseMovementDir);
219
+ const speedVar = uniforms.speedVariance.uniform;
220
+ const angleVar = uniforms.angleVariance.uniform.mul(3.14159).div(180);
221
+ for (let i = 0; i < 5; i++) {
222
+ const layerActive = float(i).lessThan(layers).and(alpha.greaterThan(.02));
223
+ const layerHash = hash2_2(vec2(alpha, float(i).mul(7.919)));
224
+ const speedMod = float(1).add(layerHash.x.sub(.5).mul(speedVar));
225
+ const angleDelta = layerHash.y.sub(.5).mul(angleVar).mul(2);
226
+ const variedAngle = angleRad.add(angleDelta).toVar();
227
+ const variedDir = vec2(cos(variedAngle), sin(variedAngle));
228
+ const movement = baseMovement.mul(speedMod).add(variedDir.sub(baseMovementDir).mul(animTimeU));
229
+ const layerParticles = computeRenderParticle(uv$1.mul(layerScale).add(movement).add(offset)).mul(alpha);
230
+ particles.assign(particles.add(layerActive.select(layerParticles, vec3(0))));
231
+ offset.assign(offset.add(layerHash.mul(10)));
232
+ alpha.assign(alpha.mul(alphaMod));
233
+ layerScale.assign(layerScale.mul(sizeMod));
234
+ }
235
+ return particles;
236
+ });
237
+ const particlePass = Fn(() => {
238
+ const idx = instanceIndex;
239
+ const j = idx.mod(gs);
240
+ const i = idx.div(gs);
241
+ const u = j.toFloat().add(.5).div(float(texSize));
242
+ const v = i.toFloat().add(.5).div(float(texSize));
243
+ const particles = computeLayeredParticles(vec2(u.mul(2).sub(1).mul(aspectU), v.mul(2).sub(1)).mul(uniforms.particleDensity.uniform));
244
+ const pa = length(particles).clamp(0, 1);
245
+ textureStore(outTexNode, uvec2(j, i), vec4(particles, pa)).toWriteOnly();
246
+ })().compute(count, [256]);
247
+ return {
248
+ outputs: { particleTexture: outTex },
249
+ getComputeNodes: (frameParams) => {
250
+ animTimeU.value += frameParams.deltaTime * uniforms.speed.uniform.value;
251
+ frameTimeU.value += frameParams.deltaTime;
252
+ if (frameParams.dimensions.height > 0) aspectU.value = frameParams.dimensions.width / frameParams.dimensions.height;
253
+ return [particlePass];
254
+ }
255
+ };
256
+ },
160
257
  fragmentNode: (params) => {
161
- const { uniforms, childNode } = params;
258
+ const { uniforms, childNode, computeOutputs } = params;
259
+ if (computeOutputs?.particleTexture) {
260
+ const particleField = texture(computeOutputs.particleTexture);
261
+ const px = float(1 / PARTICLE_TEX);
262
+ const s0 = particleField.sample(screenUV);
263
+ const s1 = particleField.sample(screenUV.add(vec2(px, float(0))));
264
+ const s2 = particleField.sample(screenUV.add(vec2(float(0), px)));
265
+ const s3 = particleField.sample(screenUV.add(vec2(px.negate(), float(0))));
266
+ const s4 = particleField.sample(screenUV.add(vec2(float(0), px.negate())));
267
+ const w0 = float(.5), w1 = float(.125);
268
+ const particles$1 = s0.xyz.mul(w0).add(s1.xyz.mul(w1)).add(s2.xyz.mul(w1)).add(s3.xyz.mul(w1)).add(s4.xyz.mul(w1));
269
+ const particleAlpha$1 = s0.w.mul(w0).add(s1.w.mul(w1)).add(s2.w.mul(w1)).add(s3.w.mul(w1)).add(s4.w.mul(w1));
270
+ if (childNode) {
271
+ const mixedColor = mix(childNode.xyz, particles$1, particleAlpha$1.greaterThan(.01).select(particleAlpha$1, 0));
272
+ const pa = particleAlpha$1.clamp(0, 1);
273
+ return vec4(mixedColor, pa.add(childNode.w.mul(float(1).sub(pa))));
274
+ }
275
+ return vec4(particles$1, particleAlpha$1);
276
+ }
162
277
  const baseUV = screenUV;
163
278
  const animTime = createAnimatedTime(params, uniforms.speed);
164
279
  const renderParticle = Fn(([uv$2]) => {
@@ -175,7 +290,7 @@ const componentDefinition = {
175
290
  const innerRadius = scaledSize.mul(.6);
176
291
  const baseIntensity = smoothstep(innerRadius, innerRadius.add(softness.mul(scaledSize.mul(2.4))), minDist).oneMinus();
177
292
  const twinkleIntensity = uniforms.twinkle.uniform;
178
- const particlePhase = rootUV.x.mul(12.9898).add(rootUV.y.mul(78.233)).sin().mul(43758.5453).fract();
293
+ const particlePhase = hash1_2(rootUV);
179
294
  const twinkleValue = sin(time.mul(2).add(particlePhase.mul(6.28318))).mul(.5).add(.5);
180
295
  const twinkleModifier = mix(float(1), twinkleValue, twinkleIntensity);
181
296
  return baseIntensity.mul(twinkleModifier).mul(uniforms.particleColor.uniform.rgb);
@@ -193,7 +308,7 @@ const componentDefinition = {
193
308
  const baseMovement = animTime.mul(baseMovementDir);
194
309
  const speedVar = uniforms.speedVariance.uniform;
195
310
  const angleVar = uniforms.angleVariance.uniform.mul(3.14159).div(180);
196
- for (let i = 0; i < 4; i++) {
311
+ for (let i = 0; i < 5; i++) {
197
312
  const layerActive = float(i).lessThan(layers).and(alpha.greaterThan(.02));
198
313
  const layerHash = hash2_2(vec2(alpha, float(i).mul(7.919)));
199
314
  const speedMod = float(1).add(layerHash.x.sub(.5).mul(speedVar));
@@ -14,7 +14,7 @@ export { grain } from './helpers/grain';
14
14
  export { distort } from './helpers/distort';
15
15
  export { glow } from './helpers/glow';
16
16
  export { edgeMask } from './helpers/edgeMask';
17
- export type { UniformsMap, PropConfig, NodeMetadata, MaskConfig, MapConfig, MapChannel, PropDriver, MousePositionConfig, MouseMapConfig, AutoAnimateConfig, TransformConfig, ComponentDefinition } from './types';
17
+ export type { UniformsMap, PropConfig, NodeMetadata, MaskConfig, MapConfig, MapChannel, PropDriver, MousePositionConfig, MouseMapConfig, AutoAnimateConfig, TransformConfig, ComponentDefinition, ToneMappingMode } from './types';
18
18
  export type { BlendMode } from './blendModes';
19
19
  export type { PerformanceStats } from './performanceTracker';
20
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAG3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,UAAU,EACX,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAG1D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C,YAAY,EAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAC,MAAM,SAAS,CAAA;AAC/M,YAAY,EAAC,SAAS,EAAC,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAG3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,UAAU,EACX,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAG1D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C,YAAY,EAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAC,MAAM,SAAS,CAAA;AAChO,YAAY,EAAC,SAAS,EAAC,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAA"}
@@ -42,7 +42,7 @@ import "./Ellipse-sWhNvW9-.js";
42
42
  import "./Emboss-DGaubb9x.js";
43
43
  import "./FallingLines-DqIZ8wTH.js";
44
44
  import "./FilmGrain-Dbw02Jz9.js";
45
- import "./FloatingParticles-DKoG78j0.js";
45
+ import "./FloatingParticles-LMsFTJKp.js";
46
46
  import "./Flower-BbRNrXIa.js";
47
47
  import "./FlowField-D3CAHBBG.js";
48
48
  import "./FlowingGradient-BRQ_K-k3.js";
@@ -123,8 +123,8 @@ import "./Weave-ou5shgl3.js";
123
123
  import "./WebcamTexture-D4e06ajM.js";
124
124
  import "./WorleyNoise-Uf6IPm7A.js";
125
125
  import "./ZoomBlur-DJ-RNKHM.js";
126
- import { t as getAllShaders } from "./shaderRegistry-9d8S78Sy.js";
127
- import { Material, Mesh, MeshBasicNodeMaterial, OrthographicCamera, PlaneGeometry, SRGBColorSpace, Scene, Vector2, WebGPURenderer } from "three/webgpu";
126
+ import { t as getAllShaders } from "./shaderRegistry-DZDkRCt8.js";
127
+ import { ACESFilmicToneMapping, AgXToneMapping, CineonToneMapping, Material, Mesh, MeshBasicNodeMaterial, NeutralToneMapping, NoToneMapping, OrthographicCamera, PlaneGeometry, ReinhardToneMapping, SRGBColorSpace, Scene, Vector2, WebGPURenderer } from "three/webgpu";
128
128
  import { WebGLRenderer } from "three";
129
129
  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";
130
130
  function normal_default(base, overlay, opacity = 1) {
@@ -752,6 +752,7 @@ function shaderRenderer() {
752
752
  let isInitialized = false;
753
753
  let isInitializing = false;
754
754
  let rendererColorSpace = "p3-linear";
755
+ let rendererToneMapping = "linear";
755
756
  let hasInitialDimensions = false;
756
757
  let initializationAbortController = null;
757
758
  let isVisible = false;
@@ -919,6 +920,33 @@ function shaderRenderer() {
919
920
  });
920
921
  previousTextures.clear();
921
922
  };
923
+ const applyHableTonemap = (node) => {
924
+ const rgb = vec3(node.x, node.y, node.z);
925
+ const alpha = node.w;
926
+ const x = rgb.mul(16);
927
+ const num = x.mul(x.mul(.15).add(.05)).add(.004);
928
+ const den = x.mul(x.mul(.15).add(.5)).add(.06);
929
+ const tonemapped = num.div(den).sub(.02 / .3);
930
+ return vec4(tonemapped.x, tonemapped.y, tonemapped.z, alpha);
931
+ };
932
+ const applyUnrealTonemap = (node) => {
933
+ const rgb = vec3(node.x, node.y, node.z);
934
+ const alpha = node.w;
935
+ const tonemapped = rgb.div(rgb.add(.155)).mul(1.019);
936
+ return vec4(tonemapped.x, tonemapped.y, tonemapped.z, alpha);
937
+ };
938
+ const setToneMapping = (mode) => {
939
+ rendererToneMapping = mode;
940
+ if (!renderer) return;
941
+ renderer.toneMapping = {
942
+ linear: NoToneMapping,
943
+ reinhard: ReinhardToneMapping,
944
+ cineon: CineonToneMapping,
945
+ aces: ACESFilmicToneMapping,
946
+ agx: AgXToneMapping,
947
+ neutral: NeutralToneMapping
948
+ }[mode] ?? NoToneMapping;
949
+ };
922
950
  let materialUpdatePending = false;
923
951
  const updateMaterial = () => {
924
952
  if (!nodeRegistry.rootId || !material || isUpdatingMaterial) return;
@@ -946,7 +974,10 @@ function shaderRenderer() {
946
974
  const composedNode = composeNodeTree(nodeRegistry.rootId, /* @__PURE__ */ new Set(), currentComposedNodes);
947
975
  if (composedNode && material) {
948
976
  const compositionChanged = !setsAreEqual(lastComposedNodes, currentComposedNodes);
949
- const nodeChanged = material.fragmentNode !== composedNode;
977
+ let finalNode = composedNode;
978
+ if (rendererToneMapping === "hable") finalNode = applyHableTonemap(composedNode);
979
+ else if (rendererToneMapping === "unreal") finalNode = applyUnrealTonemap(composedNode);
980
+ const nodeChanged = material.fragmentNode !== finalNode;
950
981
  if (compositionChanged || needsMaterialRefresh || nodeChanged) {
951
982
  disposePreviousTextures();
952
983
  try {
@@ -954,7 +985,7 @@ function shaderRenderer() {
954
985
  if (renderer.renderTarget) renderer.renderTarget.dispose();
955
986
  } catch (e) {}
956
987
  const newMaterial = new MeshBasicNodeMaterial({ transparent: true });
957
- newMaterial.fragmentNode = composedNode;
988
+ newMaterial.fragmentNode = finalNode;
958
989
  newMaterial.needsUpdate = true;
959
990
  mesh.material = newMaterial;
960
991
  material = newMaterial;
@@ -2121,7 +2152,7 @@ function shaderRenderer() {
2121
2152
  pendingRegistrationQueue = [];
2122
2153
  for (const { id, fragmentNodeFunc, parentId, metadata, uniforms, componentDefinition, domCanvas } of queue) if (fragmentNodeFunc) registerNode(id, fragmentNodeFunc, parentId, metadata, uniforms, componentDefinition, domCanvas);
2123
2154
  };
2124
- const initialize = async ({ canvas, resizeTarget, enablePerformanceTracking: enableTracking = true, colorSpace = "p3-linear", context, gpu, forceFullFrameRate: forceFullFps = false, observeElement: shouldObserveElement = true }) => {
2155
+ const initialize = async ({ canvas, resizeTarget, enablePerformanceTracking: enableTracking = true, colorSpace = "p3-linear", toneMapping = "linear", context, gpu, forceFullFrameRate: forceFullFps = false, observeElement: shouldObserveElement = true }) => {
2125
2156
  if (isInitialized || isInitializing) return;
2126
2157
  enablePerformanceTracking = enableTracking;
2127
2158
  forceFullFrameRate = forceFullFps;
@@ -2226,6 +2257,7 @@ function shaderRenderer() {
2226
2257
  if (localAbortController.signal.aborted) return;
2227
2258
  renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
2228
2259
  renderer.outputColorSpace = SRGBColorSpace;
2260
+ setToneMapping(toneMapping);
2229
2261
  material = new MeshBasicNodeMaterial({ transparent: true });
2230
2262
  material.fragmentNode = vec4(0, 0, 0, 0);
2231
2263
  mesh = new Mesh(new PlaneGeometry(2, 2), material);
@@ -42,7 +42,7 @@ import "./Ellipse-sWhNvW9-.js";
42
42
  import "./Emboss-DGaubb9x.js";
43
43
  import "./FallingLines-DqIZ8wTH.js";
44
44
  import "./FilmGrain-Dbw02Jz9.js";
45
- import "./FloatingParticles-DKoG78j0.js";
45
+ import "./FloatingParticles-LMsFTJKp.js";
46
46
  import "./Flower-BbRNrXIa.js";
47
47
  import "./FlowField-D3CAHBBG.js";
48
48
  import "./FlowingGradient-BRQ_K-k3.js";
@@ -123,5 +123,5 @@ import "./Weave-ou5shgl3.js";
123
123
  import "./WebcamTexture-D4e06ajM.js";
124
124
  import "./WorleyNoise-Uf6IPm7A.js";
125
125
  import "./ZoomBlur-DJ-RNKHM.js";
126
- import { a as shaderRegistry, i as getShadersByCategory, n as getShaderByName, r as getShaderCategories, t as getAllShaders } from "./shaderRegistry-9d8S78Sy.js";
126
+ import { a as shaderRegistry, i as getShadersByCategory, n as getShaderByName, r as getShaderCategories, t as getAllShaders } from "./shaderRegistry-DZDkRCt8.js";
127
127
  export { getAllShaders, getShaderByName, getShaderCategories, getShadersByCategory, shaderRegistry };
@@ -1,6 +1,6 @@
1
1
  import { Node, WebGPURenderer } from 'three/webgpu';
2
2
  import { WebGLRenderer } from 'three';
3
- import { CleanupCallback, ComponentDefinition, MapChannel, NodeMetadata, RenderCallback, ResizeCallback, UniformsMap } from './types';
3
+ import { CleanupCallback, ComponentDefinition, MapChannel, NodeMetadata, RenderCallback, ResizeCallback, UniformsMap, ToneMappingMode } from './types';
4
4
  import { PerformanceStats } from './performanceTracker';
5
5
 
6
6
  /**
@@ -164,6 +164,7 @@ interface InitializeOptions {
164
164
  resizeTarget?: HTMLElement;
165
165
  enablePerformanceTracking?: boolean;
166
166
  colorSpace?: 'p3-linear' | 'srgb';
167
+ toneMapping?: ToneMappingMode;
167
168
  context?: WebGLRenderingContext | WebGL2RenderingContext;
168
169
  gpu?: {
169
170
  device: GPUDevice;
@@ -179,7 +180,7 @@ interface InitializeOptions {
179
180
  * The core renderer for Shaders
180
181
  */
181
182
  export declare function shaderRenderer(): {
182
- initialize: ({ canvas, resizeTarget, enablePerformanceTracking: enableTracking, colorSpace, context, gpu, forceFullFrameRate: forceFullFps, observeElement: shouldObserveElement }: InitializeOptions) => Promise<void>;
183
+ initialize: ({ canvas, resizeTarget, enablePerformanceTracking: enableTracking, colorSpace, toneMapping, context, gpu, forceFullFrameRate: forceFullFps, observeElement: shouldObserveElement }: InitializeOptions) => Promise<void>;
183
184
  cleanup: () => void;
184
185
  registerNode: (id: string, fragmentNodeFunc: ComponentDefinition["fragmentNode"] | null, parentId: string | null, metadata: NodeMetadata | null, uniforms?: UniformsMap, componentDefinition?: ComponentDefinition, domCanvas?: HTMLCanvasElement) => void;
185
186
  removeNode: (id: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ import { n as componentDefinition$33 } from "./Ellipse-sWhNvW9-.js";
35
35
  import { n as componentDefinition$34 } from "./Emboss-DGaubb9x.js";
36
36
  import { n as componentDefinition$35 } from "./FallingLines-DqIZ8wTH.js";
37
37
  import { n as componentDefinition$36 } from "./FilmGrain-Dbw02Jz9.js";
38
- import { n as componentDefinition$37 } from "./FloatingParticles-DKoG78j0.js";
38
+ import { n as componentDefinition$37 } from "./FloatingParticles-LMsFTJKp.js";
39
39
  import { n as componentDefinition$38 } from "./Flower-BbRNrXIa.js";
40
40
  import { n as componentDefinition$39 } from "./FlowField-D3CAHBBG.js";
41
41
  import { n as componentDefinition$40 } from "./FlowingGradient-BRQ_K-k3.js";
@@ -25,7 +25,7 @@ export interface ComponentProps {
25
25
  /**
26
26
  * Size of particles
27
27
  *
28
- * @default 1
28
+ * @default 2
29
29
  */
30
30
  particleSize: number;
31
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/FloatingParticles/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAqB,MAAM,iBAAiB,CAAA;AAIvE,OAAO,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAA;AAkClE,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;CAC1B;AAED,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAuMnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/FloatingParticles/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAU1F,OAAO,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAA;AA4DlE,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;CAC1B;AAED,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CA0SnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import "../../transformations-CJcUeZIC.js";
2
2
  import "../../time-DUqSFWvT.js";
3
- import { n as componentDefinition, t as FloatingParticles_default } from "../../FloatingParticles-DKoG78j0.js";
3
+ import { n as componentDefinition, t as FloatingParticles_default } from "../../FloatingParticles-LMsFTJKp.js";
4
4
  export { componentDefinition, FloatingParticles_default as default };
@@ -3,6 +3,7 @@ import { Node } from 'three/webgpu';
3
3
  import { TransformConfig } from './utilities/uvTransform';
4
4
 
5
5
  export type { TransformConfig };
6
+ export type ToneMappingMode = 'linear' | 'reinhard' | 'cineon' | 'aces' | 'agx' | 'neutral' | 'hable' | 'unreal';
6
7
  export interface UniformDefinition {
7
8
  uniform: any;
8
9
  transform?: (value: any) => any;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createShader.d.ts","sourceRoot":"","sources":["../src/createShader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAgC5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,cAAc,CAAC,CA2WzB"}
1
+ {"version":3,"file":"createShader.d.ts","sourceRoot":"","sources":["../src/createShader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAgC5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,cAAc,CAAC,CA4WzB"}
@@ -97,6 +97,7 @@ async function createShader(canvas, preset, options) {
97
97
  resizeTarget: canvas,
98
98
  enablePerformanceTracking: options?.enablePerformanceTracking || false,
99
99
  colorSpace: options?.colorSpace,
100
+ toneMapping: options?.toneMapping,
100
101
  observeElement: options?.observeElement,
101
102
  gpu: options?.gpu
102
103
  });
@@ -148,7 +149,7 @@ async function createShader(canvas, preset, options) {
148
149
  return;
149
150
  }
150
151
  if (renderer.getPerformanceStats().fps > 0) {
151
- state.telemetryCollector = startTelemetry(renderer, "2.5.123", options?.disableTelemetry || false, false);
152
+ state.telemetryCollector = startTelemetry(renderer, "2.5.125", options?.disableTelemetry || false, false);
152
153
  if (state.telemetryCollector) state.telemetryCollector.start();
153
154
  state.telemetryStartTimeout = null;
154
155
  } else state.telemetryStartTimeout = setTimeout(checkRendering, 500);
@@ -1,6 +1,7 @@
1
1
  export type { PresetConfig, ComponentConfig } from '../core';
2
2
  export interface ShaderOptions {
3
3
  colorSpace?: 'p3-linear' | 'srgb';
4
+ toneMapping?: 'linear' | 'reinhard' | 'cineon' | 'aces' | 'agx' | 'neutral' | 'hable' | 'unreal';
4
5
  disableTelemetry?: boolean;
5
6
  enablePerformanceTracking?: boolean;
6
7
  isPreview?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEjE,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;kBAKc;IACd,GAAG,CAAC,EAAE;QACJ,MAAM,EAAE,SAAS,CAAA;QACjB,OAAO,EAAE,UAAU,CAAA;KACpB,CAAA;CACF;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,aAAa,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,iGAAiG;IACjG,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC/D;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IAC7D;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7C,mFAAmF;IACnF,KAAK,IAAI,IAAI,CAAA;IACb,kDAAkD;IAClD,MAAM,IAAI,IAAI,CAAA;IACd,OAAO,IAAI,IAAI,CAAA;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEjE,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IACjC,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;IAChG,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;kBAKc;IACd,GAAG,CAAC,EAAE;QACJ,MAAM,EAAE,SAAS,CAAA;QACjB,OAAO,EAAE,UAAU,CAAA;KACpB,CAAA;CACF;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,aAAa,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,iGAAiG;IACjG,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC/D;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IAC7D;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7C,mFAAmF;IACnF,KAAK,IAAI,IAAI,CAAA;IACb,kDAAkD;IAClD,MAAM,IAAI,IAAI,CAAA;IACd,OAAO,IAAI,IAAI,CAAA;CAChB"}
@@ -7,7 +7,7 @@ interface ComponentConfig {
7
7
  interface PresetConfig {
8
8
  components: ComponentConfig[];
9
9
  }
10
- export declare function generatePresetCode(preset: PresetConfig, colorSpace?: 'p3-linear' | 'srgb'): string;
10
+ export declare function generatePresetCode(preset: PresetConfig, colorSpace?: 'p3-linear' | 'srgb', toneMapping?: 'linear' | 'reinhard' | 'cineon' | 'aces' | 'agx' | 'neutral' | 'hable' | 'unreal'): string;
11
11
  export declare const availableComponents: string[];
12
12
  export {};
13
13
  //# sourceMappingURL=generatePresetCode.d.ts.map
@@ -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;AAulDD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAoBlG;AAGD,eAAO,MAAM,mBAAmB,UAuH/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;AAulDD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAuBpM;AAGD,eAAO,MAAM,mBAAmB,UAuH/B,CAAA"}
@@ -468,7 +468,7 @@ var shaderMetadata = {
468
468
  "randomness": .25,
469
469
  "speed": .25,
470
470
  "angle": 90,
471
- "particleSize": 1,
471
+ "particleSize": 2,
472
472
  "particleSoftness": 0,
473
473
  "twinkle": .5,
474
474
  "count": 5,
@@ -1537,10 +1537,11 @@ function generateComponentObject(config, allComponents, indent) {
1537
1537
  lines.push(`${indent}}`);
1538
1538
  return lines.join("\n");
1539
1539
  }
1540
- function generatePresetCode(preset, colorSpace) {
1540
+ function generatePresetCode(preset, colorSpace, toneMapping) {
1541
1541
  const componentsStr = preset.components.map((config) => generateComponentObject(config, preset.components, " ")).join(",\n");
1542
1542
  const optionsLines = [];
1543
1543
  if (colorSpace && colorSpace !== "p3-linear") optionsLines.push(` colorSpace: '${colorSpace}',`);
1544
+ if (toneMapping && toneMapping !== "linear") optionsLines.push(` toneMapping: '${toneMapping}',`);
1544
1545
  return `import { createShader } from 'shaders/js'
1545
1546
 
1546
1547
  const shader = await createShader(document.getElementById("canvas"), {
@@ -7,7 +7,7 @@ interface ComponentConfig {
7
7
  interface PresetConfig {
8
8
  components: ComponentConfig[];
9
9
  }
10
- export declare function generatePresetCode(preset: PresetConfig, colorSpace?: 'p3-linear' | 'srgb'): string;
10
+ export declare function generatePresetCode(preset: PresetConfig, colorSpace?: 'p3-linear' | 'srgb', toneMapping?: 'linear' | 'reinhard' | 'cineon' | 'aces' | 'agx' | 'neutral' | 'hable' | 'unreal'): string;
11
11
  export declare const availableComponents: any[];
12
12
  export {};
13
13
  //# sourceMappingURL=generatePresetCode.template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generatePresetCode.template.d.ts","sourceRoot":"","sources":["../../src/utils/generatePresetCode.template.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;AAkKD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAoBlG;AAGD,eAAO,MAAM,mBAAmB,OAG/B,CAAA"}
1
+ {"version":3,"file":"generatePresetCode.template.d.ts","sourceRoot":"","sources":["../../src/utils/generatePresetCode.template.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;AAkKD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAuBpM;AAGD,eAAO,MAAM,mBAAmB,OAG/B,CAAA"}
@@ -5,7 +5,7 @@ import { vec4 } from "three/tsl";
5
5
  import { isExternalUser, startTelemetry } from "../core/telemetry/index.js";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  const ShaderContext = createContext(null);
8
- const Shader = ({ children, disableTelemetry = false, colorSpace = "p3-linear", isPreview = false, onReady, style = {}, className = "",...rest }) => {
8
+ const Shader = ({ children, disableTelemetry = false, colorSpace = "p3-linear", toneMapping = "linear", isPreview = false, onReady, style = {}, className = "",...rest }) => {
9
9
  const containerRef = useRef(null);
10
10
  const canvasRef = useRef(null);
11
11
  const reactId = useId();
@@ -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.123", disableTelemetry, isPreview);
92
+ telemetryCollectorRef.current = startTelemetry(rendererRef.current, "2.5.125", disableTelemetry, isPreview);
93
93
  if (telemetryCollectorRef.current) telemetryCollectorRef.current.start();
94
94
  telemetryStartTimeoutRef.current = null;
95
95
  } else telemetryStartTimeoutRef.current = window.setTimeout(checkRendering, 500);
@@ -104,7 +104,8 @@ const Shader = ({ children, disableTelemetry = false, colorSpace = "p3-linear",
104
104
  const renderer = rendererRef.current;
105
105
  if (!renderer.isInitialized()) await renderer.initialize({
106
106
  canvas,
107
- colorSpace
107
+ colorSpace,
108
+ toneMapping
108
109
  });
109
110
  renderer.registerNode(rootId, ({ childNode }) => childNode || vec4(0, 0, 0, 0), null, null, {});
110
111
  isInitializedRef.current = true;
@@ -189,6 +190,20 @@ const Shader = ({ children, disableTelemetry = false, colorSpace = "p3-linear",
189
190
  }
190
191
  }
191
192
  }, [colorSpace]);
193
+ const isFirstToneMappingRef = useRef(true);
194
+ useEffect(() => {
195
+ if (isFirstToneMappingRef.current) {
196
+ isFirstToneMappingRef.current = false;
197
+ return;
198
+ }
199
+ if (rendererRef.current && isInitializedRef.current) try {
200
+ rendererRef.current.cleanup();
201
+ isInitializedRef.current = false;
202
+ initializeRenderer().catch(console.error);
203
+ } catch (err) {
204
+ console.error("[Shader] Error updating toneMapping:", err);
205
+ }
206
+ }, [toneMapping]);
192
207
  return /* @__PURE__ */ jsx(ShaderContext.Provider, {
193
208
  value: contextValue,
194
209
  children: /* @__PURE__ */ jsxs("div", {