shaders 2.5.106 → 2.5.108

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 (47) hide show
  1. package/dist/core/{ChromaFlow-BZXyVHtK.js → ChromaFlow-DxQaUqPL.js} +1 -0
  2. package/dist/core/{CursorRipples-Cgm7N0Bp.js → CursorRipples-D-cfjHY5.js} +1 -0
  3. package/dist/core/{CursorTrail-CCRbdwHJ.js → CursorTrail-R4IBB4eu.js} +1 -0
  4. package/dist/core/{Fog-DhFHErOx.js → Fog-BeKcPcTq.js} +1 -0
  5. package/dist/core/{GridDistortion-DWFGD8ya.js → GridDistortion-CpSiGEGV.js} +1 -0
  6. package/dist/core/{Liquify-CyXo6vAH.js → Liquify-D9YIfbfB.js} +1 -0
  7. package/dist/core/{Shatter-BhK75BiG.js → Shatter-SHNbU2KC.js} +1 -0
  8. package/dist/core/{Smoke-LIDjCv7f.js → Smoke-9MJIAKq7.js} +1 -0
  9. package/dist/core/{SmokeFill-ChSIfTxW.js → SmokeFill-qV2iRIts.js} +1 -0
  10. package/dist/core/index.js +73 -31
  11. package/dist/core/registry.js +10 -10
  12. package/dist/core/renderer.d.ts +7 -1
  13. package/dist/core/renderer.d.ts.map +1 -1
  14. package/dist/core/{shaderRegistry-AbMwztl7.js → shaderRegistry-fwljIrjT.js} +9 -9
  15. package/dist/core/shaders/ChromaFlow/index.d.ts.map +1 -1
  16. package/dist/core/shaders/ChromaFlow/index.js +1 -1
  17. package/dist/core/shaders/CursorRipples/index.d.ts.map +1 -1
  18. package/dist/core/shaders/CursorRipples/index.js +1 -1
  19. package/dist/core/shaders/CursorTrail/index.d.ts.map +1 -1
  20. package/dist/core/shaders/CursorTrail/index.js +1 -1
  21. package/dist/core/shaders/Fog/index.d.ts.map +1 -1
  22. package/dist/core/shaders/Fog/index.js +1 -1
  23. package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
  24. package/dist/core/shaders/GridDistortion/index.js +1 -1
  25. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  26. package/dist/core/shaders/Liquify/index.js +1 -1
  27. package/dist/core/shaders/Shatter/index.d.ts.map +1 -1
  28. package/dist/core/shaders/Shatter/index.js +1 -1
  29. package/dist/core/shaders/Smoke/index.d.ts.map +1 -1
  30. package/dist/core/shaders/Smoke/index.js +1 -1
  31. package/dist/core/shaders/SmokeFill/index.d.ts.map +1 -1
  32. package/dist/core/shaders/SmokeFill/index.js +1 -1
  33. package/dist/core/types.d.ts +5 -0
  34. package/dist/core/types.d.ts.map +1 -1
  35. package/dist/js/createShader.d.ts.map +1 -1
  36. package/dist/js/createShader.js +11 -2
  37. package/dist/js/types.d.ts +28 -0
  38. package/dist/js/types.d.ts.map +1 -1
  39. package/dist/partner/index.d.ts +65 -0
  40. package/dist/partner/index.d.ts.map +1 -0
  41. package/dist/partner/index.js +50 -0
  42. package/dist/react/Shader.js +1 -1
  43. package/dist/registry.js +9 -0
  44. package/dist/solid/engine/Shader.js +1 -1
  45. package/dist/svelte/index.js +1 -1
  46. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  47. package/package.json +8 -1
@@ -5,6 +5,7 @@ const componentDefinition = {
5
5
  name: "ChromaFlow",
6
6
  category: "Interactive",
7
7
  description: "Interactive liquid flow effect that follows your cursor",
8
+ usesPointer: true,
8
9
  props: {
9
10
  baseColor: {
10
11
  default: "#0066ff",
@@ -11,6 +11,7 @@ const componentDefinition = {
11
11
  description: "Fluid-like ripple distortion",
12
12
  requiresRTT: true,
13
13
  requiresChild: true,
14
+ usesPointer: true,
14
15
  props: {
15
16
  intensity: {
16
17
  default: 10,
@@ -8,6 +8,7 @@ const componentDefinition = {
8
8
  name: "CursorTrail",
9
9
  category: "Interactive",
10
10
  description: "Animated trail effect that tracks cursor movement",
11
+ usesPointer: true,
11
12
  props: {
12
13
  colorA: {
13
14
  default: "#00aaff",
@@ -13,6 +13,7 @@ const componentDefinition = {
13
13
  name: "Fog",
14
14
  category: "Interactive",
15
15
  description: "Fog that fills the screen and interacts with the mouse",
16
+ usesPointer: true,
16
17
  props: {
17
18
  colorA: {
18
19
  default: "#e0e0e0",
@@ -36,6 +36,7 @@ const componentDefinition = {
36
36
  description: "Interactive grid distortion controlled by mouse position",
37
37
  requiresRTT: true,
38
38
  requiresChild: true,
39
+ usesPointer: true,
39
40
  props: {
40
41
  intensity: {
41
42
  default: 1,
@@ -11,6 +11,7 @@ const componentDefinition = {
11
11
  description: "Liquid-like interactive deformation effect",
12
12
  requiresRTT: true,
13
13
  requiresChild: true,
14
+ usesPointer: true,
14
15
  props: {
15
16
  intensity: {
16
17
  default: 10,
@@ -16,6 +16,7 @@ const componentDefinition = {
16
16
  description: "Broken glass effect with tectonic plate displacement",
17
17
  requiresRTT: true,
18
18
  requiresChild: true,
19
+ usesPointer: true,
19
20
  props: {
20
21
  crackWidth: {
21
22
  default: 1,
@@ -12,6 +12,7 @@ const componentDefinition = {
12
12
  name: "Smoke",
13
13
  category: "Interactive",
14
14
  description: "Realistic fluid smoke simulation with vorticity dynamics",
15
+ usesPointer: true,
15
16
  props: {
16
17
  colorA: {
17
18
  default: "#fc83f9",
@@ -19,6 +19,7 @@ const componentDefinition = {
19
19
  description: "Fill a shape with swirling fluid smoke that interacts with the shape boundary",
20
20
  requiresRTT: false,
21
21
  requiresChild: false,
22
+ usesPointer: true,
22
23
  props: {
23
24
  colorA: {
24
25
  default: "#8cf3ff",
@@ -14,7 +14,7 @@ import "./BrightnessContrast-CJTOpQCn.js";
14
14
  import "./Bulge-Chpbxxzj.js";
15
15
  import "./ChannelBlur-Cth0biwG.js";
16
16
  import "./Checkerboard-ucave4-a.js";
17
- import "./ChromaFlow-BZXyVHtK.js";
17
+ import "./ChromaFlow-DxQaUqPL.js";
18
18
  import "./ChromaticAberration-DsMj-vBw.js";
19
19
  import "./Circle-QgCuVo44.js";
20
20
  import "./ConcentricSpin-Crfxti93.js";
@@ -25,8 +25,8 @@ import "./Crescent-BkRt-XWy.js";
25
25
  import "./Cross-kkY7feuC.js";
26
26
  import "./CRTScreen-CTwXU-NX.js";
27
27
  import "./Crystal-COGiLVvV.js";
28
- import "./CursorRipples-Cgm7N0Bp.js";
29
- import "./CursorTrail-CCRbdwHJ.js";
28
+ import "./CursorRipples-D-cfjHY5.js";
29
+ import "./CursorTrail-R4IBB4eu.js";
30
30
  import "./DiamondGradient-BC3ugP8a.js";
31
31
  import "./DiffuseBlur-eyM1v3ad.js";
32
32
  import "./Dither-CDfDotR6.js";
@@ -42,7 +42,7 @@ import "./FloatingParticles-BtwGRl_d.js";
42
42
  import "./Flower-MAwlZEv8.js";
43
43
  import "./FlowField-RyqiRxyI.js";
44
44
  import "./FlowingGradient-C0Zoyfd6.js";
45
- import "./Fog-DhFHErOx.js";
45
+ import "./Fog-BeKcPcTq.js";
46
46
  import "./Form3D-DaPbLGUi.js";
47
47
  import "./Glass-TRSXbuE6.js";
48
48
  import "./GlassTiles-Dgh6nOaE.js";
@@ -51,7 +51,7 @@ import "./Glow-8bKkyehK.js";
51
51
  import "./Godrays-D1LINbut.js";
52
52
  import "./Grayscale-Ri-695Uh.js";
53
53
  import "./Grid-BYSsAIEv.js";
54
- import "./GridDistortion-DWFGD8ya.js";
54
+ import "./GridDistortion-CpSiGEGV.js";
55
55
  import "./Group-CkhjTW59.js";
56
56
  import "./Halftone-BUCDTTAU.js";
57
57
  import "./HexGrid-BUiDrehv.js";
@@ -62,7 +62,7 @@ import "./Kaleidoscope-CFWtKisp.js";
62
62
  import "./LensFlare-ttrXgfea.js";
63
63
  import "./LinearBlur-By2aD8OO.js";
64
64
  import "./LinearGradient-CM02z32l.js";
65
- import "./Liquify-CyXo6vAH.js";
65
+ import "./Liquify-D9YIfbfB.js";
66
66
  import "./Mirror-B7XmfGdw.js";
67
67
  import "./MultiPointGradient-8zGSIM4U.js";
68
68
  import "./Neon-CMmGJzPy.js";
@@ -81,11 +81,11 @@ import "./Ripples-Bf6Zwg6X.js";
81
81
  import "./RoundedRect-B0sWh2BN.js";
82
82
  import "./Saturation-CB19kOXg.js";
83
83
  import "./Sharpness-CQOboeqy.js";
84
- import "./Shatter-BhK75BiG.js";
84
+ import "./Shatter-SHNbU2KC.js";
85
85
  import "./SimplexNoise-BcSgytjc.js";
86
86
  import "./SineWave-VTNDSK_g.js";
87
- import "./Smoke-LIDjCv7f.js";
88
- import "./SmokeFill-ChSIfTxW.js";
87
+ import "./Smoke-9MJIAKq7.js";
88
+ import "./SmokeFill-qV2iRIts.js";
89
89
  import "./Solarize-CWDgSBiv.js";
90
90
  import "./SolidColor-DhMdM3bE.js";
91
91
  import "./Spherize-BZxwopX8.js";
@@ -113,7 +113,7 @@ import "./WaveDistortion-BGdgj3Iz.js";
113
113
  import "./Weave-CIP_EUPa.js";
114
114
  import "./WebcamTexture-cXPyEumA.js";
115
115
  import "./ZoomBlur-BuIVpHGG.js";
116
- import { t as getAllShaders } from "./shaderRegistry-AbMwztl7.js";
116
+ import { t as getAllShaders } from "./shaderRegistry-fwljIrjT.js";
117
117
  import { Material, Mesh, MeshBasicNodeMaterial, OrthographicCamera, PlaneGeometry, SRGBColorSpace, Scene, Vector2, WebGPURenderer } from "three/webgpu";
118
118
  import { WebGLRenderer } from "three";
119
119
  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";
@@ -755,6 +755,7 @@ function shaderRenderer() {
755
755
  let pointerX = .5;
756
756
  let pointerY = .5;
757
757
  let pointerActive = false;
758
+ let cachedCanvasRect = null;
758
759
  let isUpdatingMaterial = false;
759
760
  let pendingNodeRemoval = false;
760
761
  let globalEventUnregister = null;
@@ -1497,10 +1498,12 @@ function shaderRenderer() {
1497
1498
  transformRTTActive: false,
1498
1499
  mapSampleUVsFunc: componentDefinition?.mapSampleUVs,
1499
1500
  computeNodeFunc: componentDefinition?.computeNode,
1501
+ usesPointer: componentDefinition?.usesPointer,
1500
1502
  domCanvas
1501
1503
  };
1502
1504
  nodeRegistry.nodes.set(id, nodeInfo);
1503
1505
  if (parentId === null) nodeRegistry.rootId = id;
1506
+ updateMouseListenerRegistration();
1504
1507
  const childrenSet = parentToChildren.get(parentId) || /* @__PURE__ */ new Set();
1505
1508
  childrenSet.add(id);
1506
1509
  parentToChildren.set(parentId, childrenSet);
@@ -1584,6 +1587,7 @@ function shaderRenderer() {
1584
1587
  const oldMaps = existingNode.metadata.maps;
1585
1588
  const newMaps = metadata.maps;
1586
1589
  existingNode.metadata.maps = newMaps;
1590
+ updateMouseListenerRegistration();
1587
1591
  if ((() => {
1588
1592
  if (!oldMaps || !newMaps) return true;
1589
1593
  const oldKeys = Object.keys(oldMaps);
@@ -1713,6 +1717,7 @@ function shaderRenderer() {
1713
1717
  }
1714
1718
  }
1715
1719
  nodeRegistry.nodes.delete(id);
1720
+ updateMouseListenerRegistration();
1716
1721
  pendingNodeRemoval = true;
1717
1722
  if (material && isInitialized) {
1718
1723
  if (materialUpdateBatchRAF === null) materialUpdateBatchRAF = requestAnimationFrame(() => {
@@ -1918,6 +1923,7 @@ function shaderRenderer() {
1918
1923
  const cappedDeltaTime = Math.min(deltaTime, .1);
1919
1924
  lastRenderTime = currentTime;
1920
1925
  if (enablePerformanceTracking) performance.mark("shader-cpu-start");
1926
+ if (mouseListenersNeeded && canvasElement) cachedCanvasRect = canvasElement.getBoundingClientRect();
1921
1927
  updateMouseDrivers(cappedDeltaTime);
1922
1928
  executeComputeDispatches(cappedDeltaTime);
1923
1929
  executeBeforeRenderCallbacks(cappedDeltaTime);
@@ -2003,8 +2009,50 @@ function shaderRenderer() {
2003
2009
  }
2004
2010
  performanceTracker.setRendering(false);
2005
2011
  };
2012
+ let mouseListenersNeeded = false;
2013
+ const updateMouseListenerRegistration = () => {
2014
+ let needsMouse = false;
2015
+ for (const nodeInfo of nodeRegistry.nodes.values()) {
2016
+ if (nodeInfo.usesPointer) {
2017
+ needsMouse = true;
2018
+ break;
2019
+ }
2020
+ if (!nodeInfo.metadata.maps) continue;
2021
+ for (const driver of Object.values(nodeInfo.metadata.maps)) if (driver && typeof driver === "object" && "type" in driver) {
2022
+ const t = driver.type;
2023
+ if (t === "mouse" || t === "mouse-position") {
2024
+ needsMouse = true;
2025
+ break;
2026
+ }
2027
+ }
2028
+ if (needsMouse) break;
2029
+ }
2030
+ if (needsMouse && !mouseListenersNeeded) {
2031
+ mouseListenersNeeded = true;
2032
+ if (!globalEventUnregister && canvasElement) {
2033
+ globalEventUnregister = globalEventManager.register({
2034
+ onMouseMove: globalMouseMoveHandler,
2035
+ onTouchMove: globalTouchMoveHandler,
2036
+ onMouseUp: globalMouseUpHandler,
2037
+ onTouchEnd: globalTouchEndHandler
2038
+ });
2039
+ canvasElement.addEventListener("mousedown", canvasMouseDownHandler);
2040
+ canvasElement.addEventListener("touchstart", canvasTouchStartHandler);
2041
+ }
2042
+ } else if (!needsMouse && mouseListenersNeeded) {
2043
+ mouseListenersNeeded = false;
2044
+ if (globalEventUnregister) {
2045
+ globalEventUnregister();
2046
+ globalEventUnregister = null;
2047
+ }
2048
+ if (canvasElement) {
2049
+ canvasElement.removeEventListener("mousedown", canvasMouseDownHandler);
2050
+ canvasElement.removeEventListener("touchstart", canvasTouchStartHandler);
2051
+ }
2052
+ }
2053
+ };
2006
2054
  const updatePointerCoords = (event) => {
2007
- if (!canvasElement) return;
2055
+ if (!canvasElement || !cachedCanvasRect) return;
2008
2056
  let clientX;
2009
2057
  let clientY;
2010
2058
  if ("touches" in event) {
@@ -2015,9 +2063,8 @@ function shaderRenderer() {
2015
2063
  clientX = event.clientX;
2016
2064
  clientY = event.clientY;
2017
2065
  }
2018
- const rect = canvasElement.getBoundingClientRect();
2019
- const x = (clientX - rect.left) / rect.width;
2020
- const y = (clientY - rect.top) / rect.height;
2066
+ const x = (clientX - cachedCanvasRect.left) / cachedCanvasRect.width;
2067
+ const y = (clientY - cachedCanvasRect.top) / cachedCanvasRect.height;
2021
2068
  pointerX = x;
2022
2069
  pointerY = y;
2023
2070
  };
@@ -2053,7 +2100,7 @@ function shaderRenderer() {
2053
2100
  pendingRegistrationQueue = [];
2054
2101
  for (const { id, fragmentNodeFunc, parentId, metadata, uniforms, componentDefinition, domCanvas } of queue) if (fragmentNodeFunc) registerNode(id, fragmentNodeFunc, parentId, metadata, uniforms, componentDefinition, domCanvas);
2055
2102
  };
2056
- const initialize = async ({ canvas, resizeTarget, enablePerformanceTracking: enableTracking = true, colorSpace = "p3-linear", context, gpu, forceFullFrameRate: forceFullFps = false }) => {
2103
+ const initialize = async ({ canvas, resizeTarget, enablePerformanceTracking: enableTracking = true, colorSpace = "p3-linear", context, gpu, forceFullFrameRate: forceFullFps = false, observeElement: shouldObserveElement = true }) => {
2057
2104
  if (isInitialized || isInitializing) return;
2058
2105
  enablePerformanceTracking = enableTracking;
2059
2106
  forceFullFrameRate = forceFullFps;
@@ -2069,14 +2116,6 @@ function shaderRenderer() {
2069
2116
  camera = new OrthographicCamera(-1, 1, 1, -1, .1, 10);
2070
2117
  camera.position.z = 1;
2071
2118
  camera.lookAt(0, 0, 0);
2072
- globalEventUnregister = globalEventManager.register({
2073
- onMouseMove: globalMouseMoveHandler,
2074
- onTouchMove: globalTouchMoveHandler,
2075
- onMouseUp: globalMouseUpHandler,
2076
- onTouchEnd: globalTouchEndHandler
2077
- });
2078
- canvas.addEventListener("mousedown", canvasMouseDownHandler);
2079
- canvas.addEventListener("touchstart", canvasTouchStartHandler);
2080
2119
  unloadHandler = () => {
2081
2120
  cleanup();
2082
2121
  };
@@ -2135,15 +2174,18 @@ function shaderRenderer() {
2135
2174
  material.fragmentNode = vec4(0, 0, 0, 0);
2136
2175
  mesh = new Mesh(new PlaneGeometry(2, 2), material);
2137
2176
  scene.add(mesh);
2138
- const elementToObserve = resizeTarget ?? canvas.parentElement;
2139
- if (elementToObserve) {
2140
- resizeObserver = new ResizeObserver(handleResize);
2141
- resizeObserver.observe(elementToObserve);
2142
- } else console.warn("[Shaders] No element available for resize observation — use resize() manually");
2143
- intersectionObserver = new IntersectionObserver(handleVisibilityChange, { threshold: 0 });
2144
- intersectionObserver.observe(canvas);
2177
+ if (shouldObserveElement) {
2178
+ const elementToObserve = resizeTarget ?? canvas.parentElement;
2179
+ if (elementToObserve) {
2180
+ resizeObserver = new ResizeObserver(handleResize);
2181
+ resizeObserver.observe(elementToObserve);
2182
+ } else console.warn("[Shaders] No element available for resize observation — use resize() manually");
2183
+ intersectionObserver = new IntersectionObserver(handleVisibilityChange, { threshold: 0 });
2184
+ intersectionObserver.observe(canvas);
2185
+ }
2145
2186
  const rect = canvas.getBoundingClientRect();
2146
- isVisible = rect.width > 0 && rect.height > 0 && rect.top < window.innerHeight && rect.bottom > 0 && rect.left < window.innerWidth && rect.right > 0;
2187
+ cachedCanvasRect = rect;
2188
+ isVisible = !shouldObserveElement || rect.width > 0 && rect.height > 0 && rect.top < window.innerHeight && rect.bottom > 0 && rect.left < window.innerWidth && rect.right > 0;
2147
2189
  shouldAnimate = true;
2148
2190
  const width = rect.width > 0 ? rect.width : canvas.width;
2149
2191
  const height = rect.height > 0 ? rect.height : canvas.height;
@@ -14,7 +14,7 @@ import "./BrightnessContrast-CJTOpQCn.js";
14
14
  import "./Bulge-Chpbxxzj.js";
15
15
  import "./ChannelBlur-Cth0biwG.js";
16
16
  import "./Checkerboard-ucave4-a.js";
17
- import "./ChromaFlow-BZXyVHtK.js";
17
+ import "./ChromaFlow-DxQaUqPL.js";
18
18
  import "./ChromaticAberration-DsMj-vBw.js";
19
19
  import "./Circle-QgCuVo44.js";
20
20
  import "./ConcentricSpin-Crfxti93.js";
@@ -25,8 +25,8 @@ import "./Crescent-BkRt-XWy.js";
25
25
  import "./Cross-kkY7feuC.js";
26
26
  import "./CRTScreen-CTwXU-NX.js";
27
27
  import "./Crystal-COGiLVvV.js";
28
- import "./CursorRipples-Cgm7N0Bp.js";
29
- import "./CursorTrail-CCRbdwHJ.js";
28
+ import "./CursorRipples-D-cfjHY5.js";
29
+ import "./CursorTrail-R4IBB4eu.js";
30
30
  import "./DiamondGradient-BC3ugP8a.js";
31
31
  import "./DiffuseBlur-eyM1v3ad.js";
32
32
  import "./Dither-CDfDotR6.js";
@@ -42,7 +42,7 @@ import "./FloatingParticles-BtwGRl_d.js";
42
42
  import "./Flower-MAwlZEv8.js";
43
43
  import "./FlowField-RyqiRxyI.js";
44
44
  import "./FlowingGradient-C0Zoyfd6.js";
45
- import "./Fog-DhFHErOx.js";
45
+ import "./Fog-BeKcPcTq.js";
46
46
  import "./Form3D-DaPbLGUi.js";
47
47
  import "./Glass-TRSXbuE6.js";
48
48
  import "./GlassTiles-Dgh6nOaE.js";
@@ -51,7 +51,7 @@ import "./Glow-8bKkyehK.js";
51
51
  import "./Godrays-D1LINbut.js";
52
52
  import "./Grayscale-Ri-695Uh.js";
53
53
  import "./Grid-BYSsAIEv.js";
54
- import "./GridDistortion-DWFGD8ya.js";
54
+ import "./GridDistortion-CpSiGEGV.js";
55
55
  import "./Group-CkhjTW59.js";
56
56
  import "./Halftone-BUCDTTAU.js";
57
57
  import "./HexGrid-BUiDrehv.js";
@@ -62,7 +62,7 @@ import "./Kaleidoscope-CFWtKisp.js";
62
62
  import "./LensFlare-ttrXgfea.js";
63
63
  import "./LinearBlur-By2aD8OO.js";
64
64
  import "./LinearGradient-CM02z32l.js";
65
- import "./Liquify-CyXo6vAH.js";
65
+ import "./Liquify-D9YIfbfB.js";
66
66
  import "./Mirror-B7XmfGdw.js";
67
67
  import "./MultiPointGradient-8zGSIM4U.js";
68
68
  import "./Neon-CMmGJzPy.js";
@@ -81,11 +81,11 @@ import "./Ripples-Bf6Zwg6X.js";
81
81
  import "./RoundedRect-B0sWh2BN.js";
82
82
  import "./Saturation-CB19kOXg.js";
83
83
  import "./Sharpness-CQOboeqy.js";
84
- import "./Shatter-BhK75BiG.js";
84
+ import "./Shatter-SHNbU2KC.js";
85
85
  import "./SimplexNoise-BcSgytjc.js";
86
86
  import "./SineWave-VTNDSK_g.js";
87
- import "./Smoke-LIDjCv7f.js";
88
- import "./SmokeFill-ChSIfTxW.js";
87
+ import "./Smoke-9MJIAKq7.js";
88
+ import "./SmokeFill-qV2iRIts.js";
89
89
  import "./Solarize-CWDgSBiv.js";
90
90
  import "./SolidColor-DhMdM3bE.js";
91
91
  import "./Spherize-BZxwopX8.js";
@@ -113,5 +113,5 @@ import "./WaveDistortion-BGdgj3Iz.js";
113
113
  import "./Weave-CIP_EUPa.js";
114
114
  import "./WebcamTexture-cXPyEumA.js";
115
115
  import "./ZoomBlur-BuIVpHGG.js";
116
- import { a as shaderRegistry, i as getShadersByCategory, n as getShaderByName, r as getShaderCategories, t as getAllShaders } from "./shaderRegistry-AbMwztl7.js";
116
+ import { a as shaderRegistry, i as getShadersByCategory, n as getShaderByName, r as getShaderCategories, t as getAllShaders } from "./shaderRegistry-fwljIrjT.js";
117
117
  export { getAllShaders, getShaderByName, getShaderCategories, getShadersByCategory, shaderRegistry };
@@ -143,6 +143,8 @@ interface NodeInfo {
143
143
  * to dispatch this frame, or null to skip.
144
144
  */
145
145
  computeGetNodes?: (params: any) => any[] | null;
146
+ /** Whether this node's shader reads pointer position directly (not via map drivers). */
147
+ usesPointer?: boolean;
146
148
  }
147
149
  /**
148
150
  * The registry of nodes in the shader tree.
@@ -168,12 +170,16 @@ interface InitializeOptions {
168
170
  adapter: GPUAdapter;
169
171
  };
170
172
  forceFullFrameRate?: boolean;
173
+ /** When false, skips ResizeObserver and IntersectionObserver setup.
174
+ * Use resize() for manual sizing and pause()/resume() for animation control.
175
+ * Defaults to true. */
176
+ observeElement?: boolean;
171
177
  }
172
178
  /**
173
179
  * The core renderer for Shaders
174
180
  */
175
181
  export declare function shaderRenderer(): {
176
- initialize: ({ canvas, resizeTarget, enablePerformanceTracking: enableTracking, colorSpace, context, gpu, forceFullFrameRate: forceFullFps }: InitializeOptions) => Promise<void>;
182
+ initialize: ({ canvas, resizeTarget, enablePerformanceTracking: enableTracking, colorSpace, context, gpu, forceFullFrameRate: forceFullFps, observeElement: shouldObserveElement }: InitializeOptions) => Promise<void>;
177
183
  cleanup: () => void;
178
184
  registerNode: (id: string, fragmentNodeFunc: ComponentDefinition["fragmentNode"] | null, parentId: string | null, metadata: NodeMetadata | null, uniforms?: UniformsMap, componentDefinition?: ComponentDefinition, domCanvas?: HTMLCanvasElement) => void;
179
185
  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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"}
@@ -8,7 +8,7 @@ import { n as componentDefinition$6 } from "./BrightnessContrast-CJTOpQCn.js";
8
8
  import { n as componentDefinition$7 } from "./Bulge-Chpbxxzj.js";
9
9
  import { n as componentDefinition$8 } from "./ChannelBlur-Cth0biwG.js";
10
10
  import { n as componentDefinition$9 } from "./Checkerboard-ucave4-a.js";
11
- import { n as componentDefinition$10 } from "./ChromaFlow-BZXyVHtK.js";
11
+ import { n as componentDefinition$10 } from "./ChromaFlow-DxQaUqPL.js";
12
12
  import { n as componentDefinition$11 } from "./ChromaticAberration-DsMj-vBw.js";
13
13
  import { n as componentDefinition$12 } from "./Circle-QgCuVo44.js";
14
14
  import { n as componentDefinition$13 } from "./ConcentricSpin-Crfxti93.js";
@@ -18,8 +18,8 @@ import { n as componentDefinition$16 } from "./Crescent-BkRt-XWy.js";
18
18
  import { n as componentDefinition$17 } from "./Cross-kkY7feuC.js";
19
19
  import { n as componentDefinition$18 } from "./CRTScreen-CTwXU-NX.js";
20
20
  import { n as componentDefinition$19 } from "./Crystal-COGiLVvV.js";
21
- import { n as componentDefinition$20 } from "./CursorRipples-Cgm7N0Bp.js";
22
- import { n as componentDefinition$21 } from "./CursorTrail-CCRbdwHJ.js";
21
+ import { n as componentDefinition$20 } from "./CursorRipples-D-cfjHY5.js";
22
+ import { n as componentDefinition$21 } from "./CursorTrail-R4IBB4eu.js";
23
23
  import { n as componentDefinition$22 } from "./DiamondGradient-BC3ugP8a.js";
24
24
  import { n as componentDefinition$23 } from "./DiffuseBlur-eyM1v3ad.js";
25
25
  import { n as componentDefinition$24 } from "./Dither-CDfDotR6.js";
@@ -35,7 +35,7 @@ import { n as componentDefinition$33 } from "./FloatingParticles-BtwGRl_d.js";
35
35
  import { n as componentDefinition$34 } from "./Flower-MAwlZEv8.js";
36
36
  import { n as componentDefinition$35 } from "./FlowField-RyqiRxyI.js";
37
37
  import { n as componentDefinition$36 } from "./FlowingGradient-C0Zoyfd6.js";
38
- import { n as componentDefinition$37 } from "./Fog-DhFHErOx.js";
38
+ import { n as componentDefinition$37 } from "./Fog-BeKcPcTq.js";
39
39
  import { n as componentDefinition$38 } from "./Form3D-DaPbLGUi.js";
40
40
  import { n as componentDefinition$39 } from "./Glass-TRSXbuE6.js";
41
41
  import { n as componentDefinition$40 } from "./GlassTiles-Dgh6nOaE.js";
@@ -44,7 +44,7 @@ import { n as componentDefinition$42 } from "./Glow-8bKkyehK.js";
44
44
  import { n as componentDefinition$43 } from "./Godrays-D1LINbut.js";
45
45
  import { n as componentDefinition$44 } from "./Grayscale-Ri-695Uh.js";
46
46
  import { n as componentDefinition$45 } from "./Grid-BYSsAIEv.js";
47
- import { n as componentDefinition$46 } from "./GridDistortion-DWFGD8ya.js";
47
+ import { n as componentDefinition$46 } from "./GridDistortion-CpSiGEGV.js";
48
48
  import { n as componentDefinition$47 } from "./Group-CkhjTW59.js";
49
49
  import { n as componentDefinition$48 } from "./Halftone-BUCDTTAU.js";
50
50
  import { n as componentDefinition$49 } from "./HexGrid-BUiDrehv.js";
@@ -55,7 +55,7 @@ import { n as componentDefinition$53 } from "./Kaleidoscope-CFWtKisp.js";
55
55
  import { n as componentDefinition$54 } from "./LensFlare-ttrXgfea.js";
56
56
  import { n as componentDefinition$55 } from "./LinearBlur-By2aD8OO.js";
57
57
  import { n as componentDefinition$56 } from "./LinearGradient-CM02z32l.js";
58
- import { n as componentDefinition$57 } from "./Liquify-CyXo6vAH.js";
58
+ import { n as componentDefinition$57 } from "./Liquify-D9YIfbfB.js";
59
59
  import { n as componentDefinition$58 } from "./Mirror-B7XmfGdw.js";
60
60
  import { n as componentDefinition$59 } from "./MultiPointGradient-8zGSIM4U.js";
61
61
  import { n as componentDefinition$60 } from "./Neon-CMmGJzPy.js";
@@ -74,11 +74,11 @@ import { n as componentDefinition$72 } from "./Ripples-Bf6Zwg6X.js";
74
74
  import { n as componentDefinition$73 } from "./RoundedRect-B0sWh2BN.js";
75
75
  import { n as componentDefinition$74 } from "./Saturation-CB19kOXg.js";
76
76
  import { n as componentDefinition$75 } from "./Sharpness-CQOboeqy.js";
77
- import { n as componentDefinition$76 } from "./Shatter-BhK75BiG.js";
77
+ import { n as componentDefinition$76 } from "./Shatter-SHNbU2KC.js";
78
78
  import { n as componentDefinition$77 } from "./SimplexNoise-BcSgytjc.js";
79
79
  import { n as componentDefinition$78 } from "./SineWave-VTNDSK_g.js";
80
- import { n as componentDefinition$79 } from "./Smoke-LIDjCv7f.js";
81
- import { n as componentDefinition$80 } from "./SmokeFill-ChSIfTxW.js";
80
+ import { n as componentDefinition$79 } from "./Smoke-9MJIAKq7.js";
81
+ import { n as componentDefinition$80 } from "./SmokeFill-qV2iRIts.js";
82
82
  import { n as componentDefinition$81 } from "./Solarize-CWDgSBiv.js";
83
83
  import { n as componentDefinition$82 } from "./SolidColor-DhMdM3bE.js";
84
84
  import { n as componentDefinition$83 } from "./Spherize-BZxwopX8.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/ChromaFlow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAqB,MAAM,iBAAiB,CAAA;AAIvE,OAAO,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAA;AAGlE,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,SAAS,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,SAAS,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,UAAU,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAqTnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/ChromaFlow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAqB,MAAM,iBAAiB,CAAA;AAIvE,OAAO,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAA;AAGlE,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,SAAS,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,SAAS,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,UAAU,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAsTnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import "../../transformations-B5lM6fYX.js";
2
- import { n as componentDefinition, t as ChromaFlow_default } from "../../ChromaFlow-BZXyVHtK.js";
2
+ import { n as componentDefinition, t as ChromaFlow_default } from "../../ChromaFlow-DxQaUqPL.js";
3
3
  export { componentDefinition, ChromaFlow_default as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/CursorRipples/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAa1F,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CAChB;AAID,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAgXnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/CursorRipples/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAa1F,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CAChB;AAID,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAiXnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import "../../edges-CfGcQniB.js";
2
2
  import "../../transformations-B5lM6fYX.js";
3
3
  import "../../alpha-C4ptedXe.js";
4
- import { n as componentDefinition, t as CursorRipples_default } from "../../CursorRipples-Cgm7N0Bp.js";
4
+ import { n as componentDefinition, t as CursorRipples_default } from "../../CursorRipples-D-cfjHY5.js";
5
5
  export { componentDefinition, CursorRipples_default as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/CursorTrail/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAQ1F,OAAO,EAAC,cAAc,EAAyC,MAAM,qCAAqC,CAAA;AAI1G,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAA;CACrB;AAID,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CA8SnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/CursorTrail/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAQ1F,OAAO,EAAC,cAAc,EAAyC,MAAM,qCAAqC,CAAA;AAI1G,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAA;CACrB;AAID,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CA+SnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import "../../transformations-B5lM6fYX.js";
2
2
  import "../../colorMixing-BPpDnR5I.js";
3
- import { n as componentDefinition, t as CursorTrail_default } from "../../CursorTrail-CCRbdwHJ.js";
3
+ import { n as componentDefinition, t as CursorTrail_default } from "../../CursorTrail-R4IBB4eu.js";
4
4
  export { componentDefinition, CursorTrail_default as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/Fog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAQ1F,OAAO,EAAC,cAAc,EAAyC,MAAM,qCAAqC,CAAA;AAI1G,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,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACrB;AASD,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAqwBnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/Fog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAQ1F,OAAO,EAAC,cAAc,EAAyC,MAAM,qCAAqC,CAAA;AAI1G,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,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACrB;AASD,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAswBnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import "../../transformations-B5lM6fYX.js";
2
2
  import "../../colorMixing-BPpDnR5I.js";
3
- import { n as componentDefinition, t as Fog_default } from "../../Fog-DhFHErOx.js";
3
+ import { n as componentDefinition, t as Fog_default } from "../../Fog-BeKcPcTq.js";
4
4
  export { componentDefinition, Fog_default as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/GridDistortion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAa1F,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CAChB;AAoCD,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAsQnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/GridDistortion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAa1F,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CAChB;AAoCD,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAuQnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import "../../edges-CfGcQniB.js";
2
2
  import "../../transformations-B5lM6fYX.js";
3
3
  import "../../alpha-C4ptedXe.js";
4
- import { n as componentDefinition, t as GridDistortion_default } from "../../GridDistortion-DWFGD8ya.js";
4
+ import { n as componentDefinition, t as GridDistortion_default } from "../../GridDistortion-CpSiGEGV.js";
5
5
  export { componentDefinition, GridDistortion_default as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/Liquify/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAa1F,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CAChB;AAID,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CA2ZnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/Liquify/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAa1F,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CAChB;AAID,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CA4ZnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import "../../edges-CfGcQniB.js";
2
2
  import "../../transformations-B5lM6fYX.js";
3
3
  import "../../alpha-C4ptedXe.js";
4
- import { n as componentDefinition, t as Liquify_default } from "../../Liquify-CyXo6vAH.js";
4
+ import { n as componentDefinition, t as Liquify_default } from "../../Liquify-D9YIfbfB.js";
5
5
  export { componentDefinition, Liquify_default as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/Shatter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAc1F,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CAChB;AAUD,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAsZnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/Shatter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAc1F,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CAChB;AAUD,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAuZnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import "../../edges-CfGcQniB.js";
2
2
  import "../../transformations-B5lM6fYX.js";
3
3
  import "../../alpha-C4ptedXe.js";
4
- import { n as componentDefinition, t as Shatter_default } from "../../Shatter-BhK75BiG.js";
4
+ import { n as componentDefinition, t as Shatter_default } from "../../Shatter-SHNbU2KC.js";
5
5
  export { componentDefinition, Shatter_default as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/Smoke/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAQ1F,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAyC,MAAM,qCAAqC,CAAA;AAI7H,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,QAAQ,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACrB;AAQD,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAkoBnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/Smoke/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAQ1F,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAyC,MAAM,qCAAqC,CAAA;AAI7H,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,QAAQ,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACrB;AAQD,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAmoBnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import "../../transformations-B5lM6fYX.js";
2
2
  import "../../colorMixing-BPpDnR5I.js";
3
- import { n as componentDefinition, t as Smoke_default } from "../../Smoke-LIDjCv7f.js";
3
+ import { n as componentDefinition, t as Smoke_default } from "../../Smoke-9MJIAKq7.js";
4
4
  export { componentDefinition, Smoke_default as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/SmokeFill/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAQ1F,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAyC,MAAM,qCAAqC,CAAA;AAO7H,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,MAAM,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAQD,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CA2lBnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/SmokeFill/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAwC,MAAM,iBAAiB,CAAA;AAQ1F,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAyC,MAAM,qCAAqC,CAAA;AAO7H,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,MAAM,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAQD,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CA4lBnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import "../../transformations-B5lM6fYX.js";
2
2
  import "../../colorMixing-BPpDnR5I.js";
3
3
  import "../../sdf-DyC2H_qS.js";
4
- import { n as componentDefinition, t as SmokeFill_default } from "../../SmokeFill-ChSIfTxW.js";
4
+ import { n as componentDefinition, t as SmokeFill_default } from "../../SmokeFill-qV2iRIts.js";
5
5
  export { componentDefinition, SmokeFill_default as default };
@@ -515,6 +515,11 @@ export interface ComponentDefinition<T extends ComponentProps = ComponentProps>
515
515
  * Generative effects that create their own visuals should leave this false/undefined.
516
516
  */
517
517
  requiresChild?: boolean;
518
+ /**
519
+ * Whether this shader reads pointer position directly (via onBeforeRender / compute callbacks).
520
+ * When true, global mouse listeners are registered even without mouse-type prop drivers.
521
+ */
522
+ usesPointer?: boolean;
518
523
  /**
519
524
  * Whether this shader captures live DOM/HTML content as a texture.
520
525
  * When true, the framework template wraps slot children in a <canvas layoutsubtree>
@@ -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;AAqB5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,cAAc,CAAC,CAuQzB"}
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;AAqB5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,cAAc,CAAC,CAgRzB"}
@@ -34,7 +34,8 @@ async function createShader(canvas, preset, options) {
34
34
  canvas,
35
35
  resizeTarget: canvas,
36
36
  enablePerformanceTracking: options?.enablePerformanceTracking || false,
37
- colorSpace: options?.colorSpace
37
+ colorSpace: options?.colorSpace,
38
+ observeElement: options?.observeElement
38
39
  });
39
40
  const rootId = "shader-root";
40
41
  renderer.registerNode(rootId, ({ childNode }) => childNode || vec4(0, 0, 0, 0), null, null, {}, void 0);
@@ -46,7 +47,7 @@ async function createShader(canvas, preset, options) {
46
47
  if (isExternalUser()) {
47
48
  const checkRendering = () => {
48
49
  if (renderer.getPerformanceStats().fps > 0) {
49
- telemetryCollector = startTelemetry(renderer, "2.5.106", options?.disableTelemetry || false, false);
50
+ telemetryCollector = startTelemetry(renderer, "2.5.108", options?.disableTelemetry || false, false);
50
51
  if (telemetryCollector) telemetryCollector.start();
51
52
  telemetryStartTimeout = null;
52
53
  } else telemetryStartTimeout = setTimeout(checkRendering, 500);
@@ -147,9 +148,17 @@ async function createShader(canvas, preset, options) {
147
148
  }
148
149
  renderer.cleanup();
149
150
  }
151
+ function pause() {
152
+ renderer.stopAnimation();
153
+ }
154
+ function resume() {
155
+ renderer.startAnimation();
156
+ }
150
157
  return {
151
158
  update,
152
159
  resize,
160
+ pause,
161
+ resume,
153
162
  destroy
154
163
  };
155
164
  }
@@ -5,6 +5,30 @@ export interface ShaderOptions {
5
5
  enablePerformanceTracking?: boolean;
6
6
  isPreview?: boolean;
7
7
  onReady?: () => void;
8
+ /** When false, disables automatic ResizeObserver and IntersectionObserver.
9
+ * Use resize() for manual sizing and pause()/resume() for animation control.
10
+ * Defaults to true.
11
+ *
12
+ * @example
13
+ * ```js
14
+ * const shader = await createShader(canvas, preset, {
15
+ * observeElement: false
16
+ * })
17
+ *
18
+ * // Pause when the shader is off-screen or hidden
19
+ * shader.pause()
20
+ *
21
+ * // Resume when it's visible again
22
+ * shader.resume()
23
+ *
24
+ * // Resize after changing the canvas size (debounce as you see fit)
25
+ * onZoomEnd(() => {
26
+ * const rect = canvas.getBoundingClientRect()
27
+ * shader.resize(rect.width, rect.height)
28
+ * })
29
+ * ```
30
+ */
31
+ observeElement?: boolean;
8
32
  }
9
33
  export interface PreviewOptions {
10
34
  shader?: string;
@@ -19,6 +43,10 @@ export interface ShaderInstance {
19
43
  * Optionally pass explicit pixel dimensions to force a specific size.
20
44
  */
21
45
  resize(width?: number, height?: number): void;
46
+ /** Stop the animation loop. The last rendered frame is preserved on the canvas. */
47
+ pause(): void;
48
+ /** Restart the animation loop after a pause(). */
49
+ resume(): void;
22
50
  destroy(): void;
23
51
  }
24
52
  //# sourceMappingURL=types.d.ts.map
@@ -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;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;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,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,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;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;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"}
@@ -0,0 +1,65 @@
1
+ export interface PartnerPresetComponent {
2
+ type: string;
3
+ id?: string;
4
+ props?: Record<string, unknown>;
5
+ children?: PartnerPresetComponent[];
6
+ }
7
+ export interface PartnerPresetDefinition {
8
+ components: PartnerPresetComponent[];
9
+ structureVersion?: number;
10
+ colorSpace?: string;
11
+ devicePreview?: string;
12
+ }
13
+ export interface PartnerCollection {
14
+ id: string;
15
+ name: string;
16
+ slug: string;
17
+ }
18
+ export type PartnerPresetLabel = 'gradient' | 'geometric' | 'organic' | 'glowing' | 'textured' | 'retro' | '3d' | 'minimal' | 'vibrant' | 'dark' | 'calm' | 'dramatic';
19
+ export interface PartnerKeyProp {
20
+ component_id: string;
21
+ prop: string;
22
+ label: string;
23
+ type: 'color' | 'range';
24
+ }
25
+ export interface PartnerPreset {
26
+ id: string;
27
+ collection: PartnerCollection | null;
28
+ definition: PartnerPresetDefinition;
29
+ thumbnail_url: string | null;
30
+ visual_description: string | null;
31
+ primary_colors: string[] | null;
32
+ color_hex_codes: string[] | null;
33
+ labels: PartnerPresetLabel[] | null;
34
+ key_props: PartnerKeyProp[] | null;
35
+ created_at: string;
36
+ updated_at: string;
37
+ }
38
+ export interface PartnerPagination {
39
+ page: number;
40
+ limit: number;
41
+ total: number;
42
+ has_more: boolean;
43
+ }
44
+ export interface PartnerListPresetsResponse {
45
+ presets: PartnerPreset[];
46
+ pagination: PartnerPagination;
47
+ }
48
+ export interface PartnerClientOptions {
49
+ apiKey: string;
50
+ baseUrl?: string;
51
+ }
52
+ export interface ListPresetsOptions {
53
+ page?: number;
54
+ limit?: number;
55
+ }
56
+ export declare class PartnerClient {
57
+ private readonly apiKey;
58
+ private readonly baseUrl;
59
+ private readonly cache;
60
+ constructor(options: PartnerClientOptions);
61
+ private getCached;
62
+ private setCached;
63
+ listPresets(options?: ListPresetsOptions): Promise<PartnerListPresetsResponse>;
64
+ }
65
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,QAAQ,CAAC,EAAE,sBAAsB,EAAE,CAAA;CACpC;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,sBAAsB,EAAE,CAAA;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;AAEtK,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,GAAG,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACpC,UAAU,EAAE,uBAAuB,CAAA;IACnC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAChC,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAA;IACnC,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI,CAAA;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,UAAU,EAAE,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAUD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;gBAEnD,OAAO,EAAE,oBAAoB;IAMzC,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,SAAS;IAIX,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,0BAA0B,CAAC;CA6BzF"}
@@ -0,0 +1,50 @@
1
+ const DEFAULT_BASE_URL = "https://shaders.com";
2
+ const CACHE_TTL_MS = 5 * 60 * 1e3;
3
+ class PartnerClient {
4
+ constructor(options) {
5
+ this.cache = /* @__PURE__ */ new Map();
6
+ if (!options.apiKey) throw new Error("PartnerClient requires an apiKey");
7
+ this.apiKey = options.apiKey;
8
+ this.baseUrl = (options.baseUrl ?? DEFAULT_BASE_URL).replace(/\/$/, "");
9
+ }
10
+ getCached(key) {
11
+ const entry = this.cache.get(key);
12
+ if (!entry) return null;
13
+ if (Date.now() > entry.expiresAt) {
14
+ this.cache.delete(key);
15
+ return null;
16
+ }
17
+ return entry.data;
18
+ }
19
+ setCached(key, data) {
20
+ this.cache.set(key, { data, expiresAt: Date.now() + CACHE_TTL_MS });
21
+ }
22
+ async listPresets(options = {}) {
23
+ const page = Math.max(1, options.page ?? 1);
24
+ const limit = Math.min(100, Math.max(1, options.limit ?? 20));
25
+ const cacheKey = `presets:p${page}:l${limit}`;
26
+ const cached = this.getCached(cacheKey);
27
+ if (cached) return cached;
28
+ const url = new URL(`${this.baseUrl}/api/partner/v1/presets`);
29
+ url.searchParams.set("page", String(page));
30
+ url.searchParams.set("limit", String(limit));
31
+ const response = await fetch(url.toString(), {
32
+ headers: { Authorization: `Bearer ${this.apiKey}` }
33
+ });
34
+ if (!response.ok) {
35
+ let message = response.statusText;
36
+ try {
37
+ const body = await response.json();
38
+ if (body.message) message = body.message;
39
+ } catch {
40
+ }
41
+ throw new Error(`Partner API error ${response.status}: ${message}`);
42
+ }
43
+ const data = await response.json();
44
+ this.setCached(cacheKey, data);
45
+ return data;
46
+ }
47
+ }
48
+ export {
49
+ PartnerClient
50
+ };
@@ -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.106", disableTelemetry, isPreview);
92
+ telemetryCollectorRef.current = startTelemetry(rendererRef.current, "2.5.108", disableTelemetry, isPreview);
93
93
  if (telemetryCollectorRef.current) telemetryCollectorRef.current.start();
94
94
  telemetryStartTimeoutRef.current = null;
95
95
  } else telemetryStartTimeoutRef.current = window.setTimeout(checkRendering, 500);
package/dist/registry.js CHANGED
@@ -2101,6 +2101,7 @@ export const shaderRegistry = [
2101
2101
  "name": "ChromaFlow",
2102
2102
  "category": "Interactive",
2103
2103
  "description": "Interactive liquid flow effect that follows your cursor",
2104
+ "usesPointer": true,
2104
2105
  "props": {
2105
2106
  "baseColor": {
2106
2107
  "default": "#0066ff",
@@ -4859,6 +4860,7 @@ export const shaderRegistry = [
4859
4860
  "description": "Fluid-like ripple distortion",
4860
4861
  "requiresRTT": true,
4861
4862
  "requiresChild": true,
4863
+ "usesPointer": true,
4862
4864
  "props": {
4863
4865
  "intensity": {
4864
4866
  "default": 10,
@@ -5037,6 +5039,7 @@ export const shaderRegistry = [
5037
5039
  "name": "CursorTrail",
5038
5040
  "category": "Interactive",
5039
5041
  "description": "Animated trail effect that tracks cursor movement",
5042
+ "usesPointer": true,
5040
5043
  "props": {
5041
5044
  "colorA": {
5042
5045
  "default": "#00aaff",
@@ -8333,6 +8336,7 @@ export const shaderRegistry = [
8333
8336
  "name": "Fog",
8334
8337
  "category": "Interactive",
8335
8338
  "description": "Fog that fills the screen and interacts with the mouse",
8339
+ "usesPointer": true,
8336
8340
  "props": {
8337
8341
  "colorA": {
8338
8342
  "default": "#e0e0e0",
@@ -10185,6 +10189,7 @@ export const shaderRegistry = [
10185
10189
  "description": "Interactive grid distortion controlled by mouse position",
10186
10190
  "requiresRTT": true,
10187
10191
  "requiresChild": true,
10192
+ "usesPointer": true,
10188
10193
  "props": {
10189
10194
  "intensity": {
10190
10195
  "default": 1,
@@ -12164,6 +12169,7 @@ export const shaderRegistry = [
12164
12169
  "description": "Liquid-like interactive deformation effect",
12165
12170
  "requiresRTT": true,
12166
12171
  "requiresChild": true,
12172
+ "usesPointer": true,
12167
12173
  "props": {
12168
12174
  "intensity": {
12169
12175
  "default": 10,
@@ -16018,6 +16024,7 @@ export const shaderRegistry = [
16018
16024
  "description": "Broken glass effect with tectonic plate displacement",
16019
16025
  "requiresRTT": true,
16020
16026
  "requiresChild": true,
16027
+ "usesPointer": true,
16021
16028
  "props": {
16022
16029
  "crackWidth": {
16023
16030
  "default": 1,
@@ -16712,6 +16719,7 @@ export const shaderRegistry = [
16712
16719
  "name": "Smoke",
16713
16720
  "category": "Interactive",
16714
16721
  "description": "Realistic fluid smoke simulation with vorticity dynamics",
16722
+ "usesPointer": true,
16715
16723
  "props": {
16716
16724
  "colorA": {
16717
16725
  "default": "#fc83f9",
@@ -17125,6 +17133,7 @@ export const shaderRegistry = [
17125
17133
  "description": "Fill a shape with swirling fluid smoke that interacts with the shape boundary",
17126
17134
  "requiresRTT": false,
17127
17135
  "requiresChild": false,
17136
+ "usesPointer": true,
17128
17137
  "props": {
17129
17138
  "colorA": {
17130
17139
  "default": "#8cf3ff",
@@ -67,7 +67,7 @@ function Shader(allProps) {
67
67
  const checkRendering = () => {
68
68
  const stats = rendererInstance.getPerformanceStats();
69
69
  if (stats.fps > 0) {
70
- const version = "2.5.106";
70
+ const version = "2.5.108";
71
71
  telemetryCollector = startTelemetry(rendererInstance, version, props.disableTelemetry, props.isPreview);
72
72
  if (telemetryCollector) {
73
73
  telemetryCollector.start();
@@ -21342,7 +21342,7 @@ function Shader($$anchor, $$props) {
21342
21342
  const checkRendering = () => {
21343
21343
  if (!rendererInstance) return;
21344
21344
  if (rendererInstance.getPerformanceStats().fps > 0) {
21345
- telemetryCollector = startTelemetry(rendererInstance, "2.5.106", disableTelemetry(), isPreview());
21345
+ telemetryCollector = startTelemetry(rendererInstance, "2.5.108", disableTelemetry(), isPreview());
21346
21346
  if (telemetryCollector) telemetryCollector.start();
21347
21347
  telemetryStartTimeout = null;
21348
21348
  } else telemetryStartTimeout = window.setTimeout(checkRendering, 500);
@@ -60,7 +60,7 @@ var Shader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
60
60
  const startTelemetryWhenReady = () => {
61
61
  const checkRendering = () => {
62
62
  if (rendererInstance.value.getPerformanceStats().fps > 0) {
63
- telemetryCollector = startTelemetry(rendererInstance.value, "2.5.106", props.disableTelemetry, props.isPreview);
63
+ telemetryCollector = startTelemetry(rendererInstance.value, "2.5.108", props.disableTelemetry, props.isPreview);
64
64
  if (telemetryCollector) telemetryCollector.start();
65
65
  telemetryStartTimeout = null;
66
66
  } else telemetryStartTimeout = setTimeout(checkRendering, 500);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shaders",
3
- "version": "2.5.106",
3
+ "version": "2.5.108",
4
4
  "description": "Shader magic for modern frontends",
5
5
  "author": "Shader Effects Inc.",
6
6
  "homepage": "https://shaders.com/",
@@ -657,6 +657,10 @@
657
657
  "types": "./dist/core/shaders/Fog/index.d.ts",
658
658
  "import": "./dist/core/shaders/Fog/index.js",
659
659
  "require": "./dist/core/shaders/Fog/index.js"
660
+ },
661
+ "./partner": {
662
+ "types": "./dist/partner/index.d.ts",
663
+ "import": "./dist/partner/index.js"
660
664
  }
661
665
  },
662
666
  "typesVersions": {
@@ -703,6 +707,9 @@
703
707
  "registry": [
704
708
  "./dist/registry.d.ts"
705
709
  ],
710
+ "partner": [
711
+ "./dist/partner/index.d.ts"
712
+ ],
706
713
  "core/AngularBlur": [
707
714
  "./dist/core/shaders/AngularBlur/index.d.ts"
708
715
  ],