shaders 2.5.124 → 2.5.126

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 (49) hide show
  1. package/dist/core/index.d.ts +1 -1
  2. package/dist/core/index.d.ts.map +1 -1
  3. package/dist/core/index.js +36 -4
  4. package/dist/core/renderer.d.ts +3 -2
  5. package/dist/core/renderer.d.ts.map +1 -1
  6. package/dist/core/types.d.ts +1 -0
  7. package/dist/core/types.d.ts.map +1 -1
  8. package/dist/js/bundle.js +4549 -0
  9. package/dist/js/createShader.d.ts.map +1 -1
  10. package/dist/js/createShader.js +2 -1
  11. package/dist/js/types.d.ts +1 -0
  12. package/dist/js/types.d.ts.map +1 -1
  13. package/dist/js/utils/generatePresetCode.d.ts +1 -1
  14. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  15. package/dist/js/utils/generatePresetCode.js +2 -1
  16. package/dist/js/utils/generatePresetCode.template.d.ts +1 -1
  17. package/dist/js/utils/generatePresetCode.template.d.ts.map +1 -1
  18. package/dist/react/Shader.js +18 -3
  19. package/dist/react/bundle.js +52 -52
  20. package/dist/react/engine/Shader.d.ts +1 -0
  21. package/dist/react/engine/Shader.d.ts.map +1 -1
  22. package/dist/react/utils/generatePresetCode.d.ts +1 -1
  23. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  24. package/dist/react/utils/generatePresetCode.js +2 -2
  25. package/dist/react/utils/generatePresetCode.template.d.ts +1 -1
  26. package/dist/react/utils/generatePresetCode.template.d.ts.map +1 -1
  27. package/dist/solid/engine/Shader.d.ts +1 -0
  28. package/dist/solid/engine/Shader.d.ts.map +1 -1
  29. package/dist/solid/engine/Shader.js +17 -3
  30. package/dist/solid/utils/generatePresetCode.d.ts +1 -1
  31. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  32. package/dist/solid/utils/generatePresetCode.js +4 -2
  33. package/dist/solid/utils/generatePresetCode.template.d.ts +1 -1
  34. package/dist/solid/utils/generatePresetCode.template.d.ts.map +1 -1
  35. package/dist/svelte/engine/Shader.svelte.d.ts +1 -0
  36. package/dist/svelte/index.js +17 -3
  37. package/dist/svelte/source/engine/Shader.svelte +20 -2
  38. package/dist/svelte/utils/generatePresetCode.d.ts +1 -1
  39. package/dist/svelte/utils/generatePresetCode.js +2 -2
  40. package/dist/svelte/utils/generatePresetCode.template.d.ts +1 -1
  41. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +17 -2
  42. package/dist/vue/engine/Shader.vue.d.ts +4 -0
  43. package/dist/vue/engine/Shader.vue.d.ts.map +1 -1
  44. package/dist/vue/utils/generatePresetCode.d.ts +1 -1
  45. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  46. package/dist/vue/utils/generatePresetCode.js +2 -2
  47. package/dist/vue/utils/generatePresetCode.template.d.ts +1 -1
  48. package/dist/vue/utils/generatePresetCode.template.d.ts.map +1 -1
  49. package/package.json +5 -1
@@ -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.124", options?.disableTelemetry || false, false);
152
+ state.telemetryCollector = startTelemetry(renderer, "2.5.126", 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"}
@@ -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.124", disableTelemetry, isPreview);
92
+ telemetryCollectorRef.current = startTelemetry(rendererRef.current, "2.5.126", 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", {