shaders 2.2.47 → 2.2.48

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 (126) hide show
  1. package/dist/core/FlowField-BJFGOUZL.js +103 -0
  2. package/dist/core/registry.js +90 -88
  3. package/dist/core/shaderRegistry.d.ts.map +1 -1
  4. package/dist/core/shaders/FlowField/index.d.ts +36 -0
  5. package/dist/core/shaders/FlowField/index.d.ts.map +1 -0
  6. package/dist/core/shaders/FlowField/index.js +5 -0
  7. package/dist/core/shaders/GlassTiles/index.js +1 -1
  8. package/dist/core/shaders/Glow/index.js +1 -1
  9. package/dist/core/shaders/Godrays/index.js +1 -1
  10. package/dist/core/shaders/Grayscale/index.js +1 -1
  11. package/dist/core/shaders/Grid/index.js +1 -1
  12. package/dist/core/shaders/GridDistortion/index.js +1 -1
  13. package/dist/core/shaders/Group/index.js +1 -1
  14. package/dist/core/shaders/Halftone/index.js +1 -1
  15. package/dist/core/shaders/HueShift/index.js +1 -1
  16. package/dist/core/shaders/ImageTexture/index.js +1 -1
  17. package/dist/core/shaders/Invert/index.js +1 -1
  18. package/dist/core/shaders/Kaleidoscope/index.js +1 -1
  19. package/dist/core/shaders/LinearBlur/index.js +1 -1
  20. package/dist/core/shaders/LinearGradient/index.js +1 -1
  21. package/dist/core/shaders/Liquify/index.js +1 -1
  22. package/dist/core/shaders/Mirror/index.js +1 -1
  23. package/dist/core/shaders/Perspective/index.js +1 -1
  24. package/dist/core/shaders/Pixelate/index.js +1 -1
  25. package/dist/core/shaders/PolarCoordinates/index.js +1 -1
  26. package/dist/core/shaders/Posterize/index.js +1 -1
  27. package/dist/core/shaders/ProgressiveBlur/index.js +1 -1
  28. package/dist/core/shaders/RadialGradient/index.js +1 -1
  29. package/dist/core/shaders/RectangularCoordinates/index.js +1 -1
  30. package/dist/core/shaders/Ripples/index.js +1 -1
  31. package/dist/core/shaders/Saturation/index.js +1 -1
  32. package/dist/core/shaders/Sharpness/index.js +1 -1
  33. package/dist/core/shaders/Shatter/index.js +1 -1
  34. package/dist/core/shaders/SimplexNoise/index.js +1 -1
  35. package/dist/core/shaders/SineWave/index.js +1 -1
  36. package/dist/core/shaders/SolidColor/index.js +1 -1
  37. package/dist/core/shaders/Spherize/index.js +1 -1
  38. package/dist/core/shaders/Spiral/index.js +1 -1
  39. package/dist/core/shaders/Strands/index.js +1 -1
  40. package/dist/core/shaders/Stretch/index.js +1 -1
  41. package/dist/core/shaders/Stripes/index.js +1 -1
  42. package/dist/core/shaders/Swirl/index.js +1 -1
  43. package/dist/core/shaders/TiltShift/index.js +1 -1
  44. package/dist/core/shaders/Tint/index.js +1 -1
  45. package/dist/core/shaders/Tritone/index.js +1 -1
  46. package/dist/core/shaders/Twirl/index.js +1 -1
  47. package/dist/core/shaders/Vibrance/index.js +1 -1
  48. package/dist/core/shaders/WaveDistortion/index.js +1 -1
  49. package/dist/core/shaders/WebcamTexture/index.js +1 -1
  50. package/dist/core/shaders/ZoomBlur/index.js +1 -1
  51. package/dist/react/FlowField.js +144 -0
  52. package/dist/react/components/FlowField.d.ts +31 -0
  53. package/dist/react/components/FlowField.d.ts.map +1 -0
  54. package/dist/react/index.d.ts +1 -0
  55. package/dist/react/index.d.ts.map +1 -1
  56. package/dist/react/index.js +2 -1
  57. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  58. package/dist/react/utils/generatePresetCode.js +5 -0
  59. package/dist/registry.js +136 -0
  60. package/dist/solid/components/FlowField.d.ts +28 -0
  61. package/dist/solid/components/FlowField.d.ts.map +1 -0
  62. package/dist/solid/components/FlowField.js +148 -0
  63. package/dist/solid/index.d.ts +1 -0
  64. package/dist/solid/index.d.ts.map +1 -1
  65. package/dist/solid/index.js +92 -90
  66. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  67. package/dist/solid/utils/generatePresetCode.js +5 -0
  68. package/dist/svelte/components/FlowField.svelte.d.ts +19 -0
  69. package/dist/svelte/{generatePresetCode-on2wdSC3.js → generatePresetCode-BD0Ac86C.js} +5 -0
  70. package/dist/svelte/index.d.ts +1 -0
  71. package/dist/svelte/index.js +201 -90
  72. package/dist/svelte/utils/generatePresetCode.js +1 -1
  73. package/dist/vue/FlowField.js +3 -0
  74. package/dist/vue/FlowField.vue_vue_type_script_setup_true_lang.js +127 -0
  75. package/dist/vue/components/FlowField.vue.d.ts +57 -0
  76. package/dist/vue/components/FlowField.vue.d.ts.map +1 -0
  77. package/dist/vue/index.d.ts +1 -0
  78. package/dist/vue/index.d.ts.map +1 -1
  79. package/dist/vue/index.js +2 -1
  80. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  81. package/dist/vue/utils/generatePresetCode.js +5 -0
  82. package/package.json +9 -1
  83. /package/dist/core/{GlassTiles-C6LLjlnB.js → GlassTiles-DzYvo92U.js} +0 -0
  84. /package/dist/core/{Glow-C2avDr73.js → Glow-C4JrnNxe.js} +0 -0
  85. /package/dist/core/{Godrays-RVh5ylQ-.js → Godrays-CPWOcLmc.js} +0 -0
  86. /package/dist/core/{Grayscale-BH3tLDGN.js → Grayscale-BFS-Abdh.js} +0 -0
  87. /package/dist/core/{Grid-CdslWvoH.js → Grid-CsIIl3LT.js} +0 -0
  88. /package/dist/core/{GridDistortion-fimECOse.js → GridDistortion-Cq3hRKXK.js} +0 -0
  89. /package/dist/core/{Group-ByGv48Lm.js → Group-DHokCeZ1.js} +0 -0
  90. /package/dist/core/{Halftone-Cb5yrPnj.js → Halftone-BQsMiTyE.js} +0 -0
  91. /package/dist/core/{HueShift-DQ2WgImx.js → HueShift-BTjEGl3Z.js} +0 -0
  92. /package/dist/core/{ImageTexture-DKFb8ze3.js → ImageTexture-CY8Q8h_o.js} +0 -0
  93. /package/dist/core/{Invert-w9duGaUu.js → Invert-B8vSeK8d.js} +0 -0
  94. /package/dist/core/{Kaleidoscope-3Kt0m_sh.js → Kaleidoscope-Dr-ja0XH.js} +0 -0
  95. /package/dist/core/{LinearBlur-B-rumcdD.js → LinearBlur-DgT4B0nH.js} +0 -0
  96. /package/dist/core/{LinearGradient-Al78T7WU.js → LinearGradient-DTifAwSC.js} +0 -0
  97. /package/dist/core/{Liquify-BJgkphoQ.js → Liquify-_eLJRjd7.js} +0 -0
  98. /package/dist/core/{Mirror-CnEZ7wHa.js → Mirror-CnCw4TpZ.js} +0 -0
  99. /package/dist/core/{Perspective-CPhjpprG.js → Perspective-BpgcHA7E.js} +0 -0
  100. /package/dist/core/{Pixelate-rlHN9jV1.js → Pixelate-Bt2jxIDd.js} +0 -0
  101. /package/dist/core/{PolarCoordinates-Bfa-U0fi.js → PolarCoordinates-BJ8-cfC7.js} +0 -0
  102. /package/dist/core/{Posterize-DDzCt2n9.js → Posterize-Bs-iNEVB.js} +0 -0
  103. /package/dist/core/{ProgressiveBlur-9-KRqfdm.js → ProgressiveBlur-DELpd9wJ.js} +0 -0
  104. /package/dist/core/{RadialGradient-BHuQVJ4Q.js → RadialGradient-DQ4JGS5G.js} +0 -0
  105. /package/dist/core/{RectangularCoordinates-CMd1Rp4Y.js → RectangularCoordinates-DXSP_gdW.js} +0 -0
  106. /package/dist/core/{Ripples-Cil48gEl.js → Ripples-DwDKIvtQ.js} +0 -0
  107. /package/dist/core/{Saturation-D_yZO7cz.js → Saturation-ekyl1D9y.js} +0 -0
  108. /package/dist/core/{Sharpness-229T6rR0.js → Sharpness-DlWZ-yPe.js} +0 -0
  109. /package/dist/core/{Shatter-B9tvT-jr.js → Shatter-BeD72o80.js} +0 -0
  110. /package/dist/core/{SimplexNoise-YauHkNYZ.js → SimplexNoise-DIo9v2-R.js} +0 -0
  111. /package/dist/core/{SineWave-BEm0T7c8.js → SineWave-DFNnXFYQ.js} +0 -0
  112. /package/dist/core/{SolidColor-BSC8voa9.js → SolidColor-B4eYGf_i.js} +0 -0
  113. /package/dist/core/{Spherize-C6xkW6TJ.js → Spherize-BIVrRcZG.js} +0 -0
  114. /package/dist/core/{Spiral-BY5eOKPL.js → Spiral-CqjRxq1I.js} +0 -0
  115. /package/dist/core/{Strands-C5-TqTXW.js → Strands-B-a2SQB2.js} +0 -0
  116. /package/dist/core/{Stretch-CatYi4MC.js → Stretch-CZv3u-3X.js} +0 -0
  117. /package/dist/core/{Stripes-BbNIMHDl.js → Stripes-CXUFg1Gt.js} +0 -0
  118. /package/dist/core/{Swirl-ytfGCJTs.js → Swirl-BcEmYjJs.js} +0 -0
  119. /package/dist/core/{TiltShift-CvEKlLKc.js → TiltShift-679S-uVs.js} +0 -0
  120. /package/dist/core/{Tint-PBKR7M-T.js → Tint-DS7IJWfS.js} +0 -0
  121. /package/dist/core/{Tritone-D1rsE5HX.js → Tritone-m_0hwkvN.js} +0 -0
  122. /package/dist/core/{Twirl-BQzDHvml.js → Twirl-DcuGsZAB.js} +0 -0
  123. /package/dist/core/{Vibrance-JFvD6I5g.js → Vibrance-BafFCMLv.js} +0 -0
  124. /package/dist/core/{WaveDistortion-D9Dox1gF.js → WaveDistortion-CQkMSDMg.js} +0 -0
  125. /package/dist/core/{WebcamTexture-BnrsnuMO.js → WebcamTexture-C5oIVQlF.js} +0 -0
  126. /package/dist/core/{ZoomBlur-D9At8opY.js → ZoomBlur-pFDohu2G.js} +0 -0
@@ -1,4 +1,4 @@
1
1
  import "../../edges-Bd7GP4s2.js";
2
2
  import "../../transformations-YbhRK-rd.js";
3
- import { n as componentDefinition, t as Twirl_default } from "../../Twirl-BQzDHvml.js";
3
+ import { n as componentDefinition, t as Twirl_default } from "../../Twirl-DcuGsZAB.js";
4
4
  export { componentDefinition, Twirl_default as default };
@@ -1,2 +1,2 @@
1
- import { n as componentDefinition, t as Vibrance_default } from "../../Vibrance-JFvD6I5g.js";
1
+ import { n as componentDefinition, t as Vibrance_default } from "../../Vibrance-BafFCMLv.js";
2
2
  export { componentDefinition, Vibrance_default as default };
@@ -1,5 +1,5 @@
1
1
  import "../../edges-Bd7GP4s2.js";
2
2
  import "../../transformations-YbhRK-rd.js";
3
3
  import "../../time-BZqyVJXt.js";
4
- import { n as componentDefinition, t as WaveDistortion_default } from "../../WaveDistortion-D9Dox1gF.js";
4
+ import { n as componentDefinition, t as WaveDistortion_default } from "../../WaveDistortion-CQkMSDMg.js";
5
5
  export { componentDefinition, WaveDistortion_default as default };
@@ -1,2 +1,2 @@
1
- import { n as componentDefinition, t as WebcamTexture_default } from "../../WebcamTexture-BnrsnuMO.js";
1
+ import { n as componentDefinition, t as WebcamTexture_default } from "../../WebcamTexture-C5oIVQlF.js";
2
2
  export { componentDefinition, WebcamTexture_default as default };
@@ -1,3 +1,3 @@
1
1
  import "../../transformations-YbhRK-rd.js";
2
- import { n as componentDefinition, t as ZoomBlur_default } from "../../ZoomBlur-D9At8opY.js";
2
+ import { n as componentDefinition, t as ZoomBlur_default } from "../../ZoomBlur-pFDohu2G.js";
3
3
  export { componentDefinition, ZoomBlur_default as default };
@@ -0,0 +1,144 @@
1
+ import { ShaderContext } from "./Shader.js";
2
+ import { useContext, useEffect, useMemo, useRef } from "react";
3
+ import { createUniformsMap } from "../core/index.js";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { componentDefinition } from "../core/shaders/FlowField/index.js";
6
+ function computeEffectiveProps(props, defaultProps$1) {
7
+ let baseProps = { ...defaultProps$1 };
8
+ for (const [key, value] of Object.entries(props)) if (key !== "children" && key !== "ref" && value !== void 0) baseProps[key] = value;
9
+ return baseProps;
10
+ }
11
+ var DEFAULT_TRANSFORM = {
12
+ offsetX: 0,
13
+ offsetY: 0,
14
+ rotation: 0,
15
+ scale: 1,
16
+ anchorX: .5,
17
+ anchorY: .5,
18
+ edges: "transparent"
19
+ };
20
+ var defaultProps = {
21
+ blendMode: "normal",
22
+ renderOrder: 0,
23
+ visible: true
24
+ };
25
+ try {
26
+ if (componentDefinition && componentDefinition.props) Object.entries(componentDefinition.props).forEach(([key, config]) => {
27
+ const propConfig = config;
28
+ if (propConfig && typeof propConfig === "object" && "default" in propConfig) defaultProps[key] = propConfig.default;
29
+ });
30
+ } catch (e) {
31
+ console.warn("Error extracting default props:", e);
32
+ }
33
+ const ShaderComponent = (props) => {
34
+ const context = useContext(ShaderContext);
35
+ if (!context) throw new Error("Shader components must be used inside an <Shader> component or another shader component");
36
+ const { shaderParentId: parentId, shaderNodeRegister: parentRegister, shaderUniformUpdate: parentUniformUpdate, shaderMetadataUpdate: parentMetadataUpdate } = context;
37
+ const instanceId = useMemo(() => {
38
+ return props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
39
+ }, [props.id]);
40
+ const effectiveProps = useMemo(() => {
41
+ return computeEffectiveProps(props, defaultProps);
42
+ }, [props]);
43
+ const effectiveTransform = useMemo(() => ({
44
+ ...DEFAULT_TRANSFORM,
45
+ ...props.transform
46
+ }), [props.transform]);
47
+ const uniformsRef = useRef(null);
48
+ if (uniformsRef.current === null) uniformsRef.current = createUniformsMap(componentDefinition, effectiveProps, instanceId);
49
+ const childContextValue = useMemo(() => {
50
+ return {
51
+ ...context,
52
+ shaderParentId: instanceId
53
+ };
54
+ }, [context, instanceId]);
55
+ useEffect(() => {
56
+ if (!uniformsRef.current) return;
57
+ try {
58
+ const metadata = {
59
+ blendMode: props.blendMode || "normal",
60
+ opacity: props.opacity,
61
+ visible: props.visible === false ? false : true,
62
+ id: props.id,
63
+ mask: props.maskSource ? {
64
+ source: props.maskSource,
65
+ type: props.maskType || "alpha"
66
+ } : void 0,
67
+ renderOrder: props.renderOrder || 0,
68
+ transform: effectiveTransform
69
+ };
70
+ parentRegister(instanceId, componentDefinition.fragmentNode, parentId, metadata, uniformsRef.current, componentDefinition);
71
+ return () => {
72
+ parentRegister(instanceId, null, null, null, null);
73
+ };
74
+ } catch (error) {
75
+ console.error("Error registering shader node:", error);
76
+ return () => {};
77
+ }
78
+ }, [
79
+ instanceId,
80
+ parentId,
81
+ parentRegister
82
+ ]);
83
+ const prevPropsRef = useRef({});
84
+ useEffect(() => {
85
+ if (!uniformsRef.current) return;
86
+ try {
87
+ Object.entries(uniformsRef.current).forEach(([propName, uniformData]) => {
88
+ if (!uniformData || typeof uniformData !== "object") return;
89
+ const { uniform, transform } = uniformData;
90
+ if (uniform?.value !== void 0 && propName in effectiveProps) {
91
+ const newValue = effectiveProps[propName];
92
+ if (newValue !== prevPropsRef.current[propName]) {
93
+ parentUniformUpdate(instanceId, propName, newValue);
94
+ prevPropsRef.current[propName] = newValue;
95
+ }
96
+ }
97
+ });
98
+ } catch (error) {
99
+ console.error("Error updating uniforms:", error);
100
+ }
101
+ }, [
102
+ effectiveProps,
103
+ instanceId,
104
+ parentUniformUpdate
105
+ ]);
106
+ useEffect(() => {
107
+ try {
108
+ parentMetadataUpdate(instanceId, {
109
+ blendMode: props.blendMode || "normal",
110
+ opacity: props.opacity,
111
+ visible: props.visible === false ? false : true,
112
+ id: props.id,
113
+ mask: props.maskSource ? {
114
+ source: props.maskSource,
115
+ type: props.maskType || "alpha"
116
+ } : void 0,
117
+ renderOrder: props.renderOrder || 0,
118
+ transform: effectiveTransform
119
+ });
120
+ } catch (error) {
121
+ console.error("Error updating metadata:", error);
122
+ }
123
+ }, [
124
+ props.blendMode,
125
+ props.opacity,
126
+ props.visible,
127
+ props.maskSource,
128
+ props.maskType,
129
+ props.renderOrder,
130
+ props.id,
131
+ effectiveTransform,
132
+ instanceId,
133
+ parentMetadataUpdate
134
+ ]);
135
+ if (props.ref && typeof props.ref === "function") try {
136
+ props.ref(null);
137
+ } catch (e) {}
138
+ return /* @__PURE__ */ jsx(ShaderContext.Provider, {
139
+ value: childContextValue,
140
+ children: props.children
141
+ });
142
+ };
143
+ var FlowField_default = ShaderComponent;
144
+ export { FlowField_default as default };
@@ -0,0 +1,31 @@
1
+ import { default as React } from 'react';
2
+ import { BlendMode, TransformConfig } from '../../core';
3
+ import { ComponentProps } from '../../core/shaders/FlowField';
4
+
5
+ export type { ComponentProps };
6
+ /**
7
+ * Base props that all shader components have
8
+ */
9
+ interface BaseShaderProps {
10
+ children?: React.ReactNode;
11
+ blendMode?: BlendMode;
12
+ opacity?: number;
13
+ visible?: boolean;
14
+ id?: string;
15
+ maskSource?: string;
16
+ maskType?: string;
17
+ renderOrder?: number;
18
+ transform?: Partial<TransformConfig>;
19
+ ref?: React.Ref<any>;
20
+ }
21
+ /**
22
+ * Component-specific props that merge base props with shader-specific props
23
+ * Note: ComponentProps are made optional since they have defaults from the shader definition
24
+ */
25
+ type ShaderComponentProps = BaseShaderProps & Partial<ComponentProps>;
26
+ /**
27
+ * The main React wrapper component for Shader shader nodes
28
+ */
29
+ export declare const ShaderComponent: React.FC<ShaderComponentProps>;
30
+ export default ShaderComponent;
31
+ //# sourceMappingURL=FlowField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlowField.d.ts","sourceRoot":"","sources":["../../src/components/FlowField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAGH,KAAK,SAAS,EAId,KAAK,eAAe,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGlF,YAAY,EAAE,cAAc,EAAE,CAAC;AAI/B;;GAEG;AACH,UAAU,eAAe;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACxB;AAED;;;GAGG;AACH,KAAK,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAsDtE;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAwJ1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -18,6 +18,7 @@ export { default as DotGrid } from './components/DotGrid';
18
18
  export { default as Duotone } from './components/Duotone';
19
19
  export { default as FilmGrain } from './components/FilmGrain';
20
20
  export { default as FloatingParticles } from './components/FloatingParticles';
21
+ export { default as FlowField } from './components/FlowField';
21
22
  export { default as GlassTiles } from './components/GlassTiles';
22
23
  export { default as Glow } from './components/Glow';
23
24
  export { default as Godrays } from './components/Godrays';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import DotGrid_default from "./DotGrid.js";
19
19
  import Duotone_default from "./Duotone.js";
20
20
  import FilmGrain_default from "./FilmGrain.js";
21
21
  import FloatingParticles_default from "./FloatingParticles.js";
22
+ import FlowField_default from "./FlowField.js";
22
23
  import GlassTiles_default from "./GlassTiles.js";
23
24
  import Glow_default from "./Glow.js";
24
25
  import Godrays_default from "./Godrays.js";
@@ -64,4 +65,4 @@ import WaveDistortion_default from "./WaveDistortion.js";
64
65
  import WebcamTexture_default from "./WebcamTexture.js";
65
66
  import ZoomBlur_default from "./ZoomBlur.js";
66
67
  import { generatePresetCode } from "./utils/generatePresetCode.js";
67
- export { AngularBlur_default as AngularBlur, Ascii_default as Ascii, Beam_default as Beam, Blob_default as Blob, Blur_default as Blur, BrightnessContrast_default as BrightnessContrast, Bulge_default as Bulge, CRTScreen_default as CRTScreen, ChannelBlur_default as ChannelBlur, Checkerboard_default as Checkerboard, ChromaFlow_default as ChromaFlow, ChromaticAberration_default as ChromaticAberration, Circle_default as Circle, CursorTrail_default as CursorTrail, DiffuseBlur_default as DiffuseBlur, Dither_default as Dither, DotGrid_default as DotGrid, Duotone_default as Duotone, FilmGrain_default as FilmGrain, FloatingParticles_default as FloatingParticles, GlassTiles_default as GlassTiles, Glow_default as Glow, Godrays_default as Godrays, Grayscale_default as Grayscale, Grid_default as Grid, GridDistortion_default as GridDistortion, Group_default as Group, Halftone_default as Halftone, HueShift_default as HueShift, ImageTexture_default as ImageTexture, Invert_default as Invert, Kaleidoscope_default as Kaleidoscope, LinearBlur_default as LinearBlur, LinearGradient_default as LinearGradient, Liquify_default as Liquify, Mirror_default as Mirror, Perspective_default as Perspective, Pixelate_default as Pixelate, PolarCoordinates_default as PolarCoordinates, Posterize_default as Posterize, ProgressiveBlur_default as ProgressiveBlur, RadialGradient_default as RadialGradient, RectangularCoordinates_default as RectangularCoordinates, Ripples_default as Ripples, Saturation_default as Saturation, Shader_default as Shader, Sharpness_default as Sharpness, Shatter_default as Shatter, SimplexNoise_default as SimplexNoise, SineWave_default as SineWave, SolidColor_default as SolidColor, Spherize_default as Spherize, Spiral_default as Spiral, Strands_default as Strands, Stretch_default as Stretch, Stripes_default as Stripes, Swirl_default as Swirl, TiltShift_default as TiltShift, Tint_default as Tint, Tritone_default as Tritone, Twirl_default as Twirl, Vibrance_default as Vibrance, WaveDistortion_default as WaveDistortion, WebcamTexture_default as WebcamTexture, ZoomBlur_default as ZoomBlur, generatePresetCode };
68
+ export { AngularBlur_default as AngularBlur, Ascii_default as Ascii, Beam_default as Beam, Blob_default as Blob, Blur_default as Blur, BrightnessContrast_default as BrightnessContrast, Bulge_default as Bulge, CRTScreen_default as CRTScreen, ChannelBlur_default as ChannelBlur, Checkerboard_default as Checkerboard, ChromaFlow_default as ChromaFlow, ChromaticAberration_default as ChromaticAberration, Circle_default as Circle, CursorTrail_default as CursorTrail, DiffuseBlur_default as DiffuseBlur, Dither_default as Dither, DotGrid_default as DotGrid, Duotone_default as Duotone, FilmGrain_default as FilmGrain, FloatingParticles_default as FloatingParticles, FlowField_default as FlowField, GlassTiles_default as GlassTiles, Glow_default as Glow, Godrays_default as Godrays, Grayscale_default as Grayscale, Grid_default as Grid, GridDistortion_default as GridDistortion, Group_default as Group, Halftone_default as Halftone, HueShift_default as HueShift, ImageTexture_default as ImageTexture, Invert_default as Invert, Kaleidoscope_default as Kaleidoscope, LinearBlur_default as LinearBlur, LinearGradient_default as LinearGradient, Liquify_default as Liquify, Mirror_default as Mirror, Perspective_default as Perspective, Pixelate_default as Pixelate, PolarCoordinates_default as PolarCoordinates, Posterize_default as Posterize, ProgressiveBlur_default as ProgressiveBlur, RadialGradient_default as RadialGradient, RectangularCoordinates_default as RectangularCoordinates, Ripples_default as Ripples, Saturation_default as Saturation, Shader_default as Shader, Sharpness_default as Sharpness, Shatter_default as Shatter, SimplexNoise_default as SimplexNoise, SineWave_default as SineWave, SolidColor_default as SolidColor, Spherize_default as Spherize, Spiral_default as Spiral, Strands_default as Strands, Stretch_default as Stretch, Stripes_default as Stripes, Swirl_default as Swirl, TiltShift_default as TiltShift, Tint_default as Tint, Tritone_default as Tritone, Twirl_default as Twirl, Vibrance_default as Vibrance, WaveDistortion_default as WaveDistortion, WebcamTexture_default as WebcamTexture, ZoomBlur_default as ZoomBlur, generatePresetCode };
@@ -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;AA6XD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAyC/D;AAGD,eAAO,MAAM,mBAAmB,UAkE/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;AAiYD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAyC/D;AAGD,eAAO,MAAM,mBAAmB,UAmE/B,CAAA"}
@@ -93,6 +93,10 @@ var shaderMetadata = {
93
93
  "opacity": 1,
94
94
  "blendMode": "normal"
95
95
  },
96
+ "FlowField": {
97
+ "opacity": 1,
98
+ "blendMode": "normal"
99
+ },
96
100
  "GlassTiles": {
97
101
  "opacity": 1,
98
102
  "blendMode": "normal"
@@ -355,6 +359,7 @@ const availableComponents = [
355
359
  "Duotone",
356
360
  "FilmGrain",
357
361
  "FloatingParticles",
362
+ "FlowField",
358
363
  "GlassTiles",
359
364
  "Glow",
360
365
  "Godrays",
package/dist/registry.js CHANGED
@@ -2672,6 +2672,142 @@ export const shaderRegistry = [
2672
2672
  }
2673
2673
  }
2674
2674
  },
2675
+ {
2676
+ "name": "FlowField",
2677
+ "category": "Distortions",
2678
+ "description": "Fluid-like distortion with constant smooth motion",
2679
+ "fileName": "FlowField",
2680
+ "requiresChild": true,
2681
+ "definition": {
2682
+ "name": "FlowField",
2683
+ "category": "Distortions",
2684
+ "description": "Fluid-like distortion with constant smooth motion",
2685
+ "requiresRTT": true,
2686
+ "requiresChild": true,
2687
+ "props": {
2688
+ "strength": {
2689
+ "default": 0.15,
2690
+ "description": "Intensity of the flow distortion",
2691
+ "ui": {
2692
+ "type": "range",
2693
+ "min": 0,
2694
+ "max": 0.5,
2695
+ "step": 0.05,
2696
+ "label": "Strength"
2697
+ }
2698
+ },
2699
+ "detail": {
2700
+ "default": 2,
2701
+ "description": "Scale of the flow patterns",
2702
+ "ui": {
2703
+ "type": "range",
2704
+ "min": 0.5,
2705
+ "max": 5,
2706
+ "step": 0.1,
2707
+ "label": "Detail"
2708
+ }
2709
+ },
2710
+ "speed": {
2711
+ "default": 1,
2712
+ "description": "Speed of the flow",
2713
+ "ui": {
2714
+ "type": "range",
2715
+ "min": 0,
2716
+ "max": 5,
2717
+ "step": 0.1,
2718
+ "label": "Speed"
2719
+ }
2720
+ },
2721
+ "edges": {
2722
+ "default": "mirror",
2723
+ "description": "How to handle edges when distortion pushes content out of bounds",
2724
+ "ui": {
2725
+ "type": "select",
2726
+ "options": [
2727
+ {
2728
+ "label": "Stretch",
2729
+ "value": "stretch"
2730
+ },
2731
+ {
2732
+ "label": "Transparent",
2733
+ "value": "transparent"
2734
+ },
2735
+ {
2736
+ "label": "Mirror",
2737
+ "value": "mirror"
2738
+ },
2739
+ {
2740
+ "label": "Wrap",
2741
+ "value": "wrap"
2742
+ }
2743
+ ],
2744
+ "label": "Edges"
2745
+ }
2746
+ }
2747
+ }
2748
+ },
2749
+ "propsMetadata": {
2750
+ "strength": {
2751
+ "ui": {
2752
+ "type": "range",
2753
+ "min": 0,
2754
+ "max": 0.5,
2755
+ "step": 0.05,
2756
+ "label": "Strength"
2757
+ },
2758
+ "default": 0.15,
2759
+ "description": "Intensity of the flow distortion"
2760
+ },
2761
+ "detail": {
2762
+ "ui": {
2763
+ "type": "range",
2764
+ "min": 0.5,
2765
+ "max": 5,
2766
+ "step": 0.1,
2767
+ "label": "Detail"
2768
+ },
2769
+ "default": 2,
2770
+ "description": "Scale of the flow patterns"
2771
+ },
2772
+ "speed": {
2773
+ "ui": {
2774
+ "type": "range",
2775
+ "min": 0,
2776
+ "max": 5,
2777
+ "step": 0.1,
2778
+ "label": "Speed"
2779
+ },
2780
+ "default": 1,
2781
+ "description": "Speed of the flow"
2782
+ },
2783
+ "edges": {
2784
+ "ui": {
2785
+ "type": "select",
2786
+ "options": [
2787
+ {
2788
+ "label": "Stretch",
2789
+ "value": "stretch"
2790
+ },
2791
+ {
2792
+ "label": "Transparent",
2793
+ "value": "transparent"
2794
+ },
2795
+ {
2796
+ "label": "Mirror",
2797
+ "value": "mirror"
2798
+ },
2799
+ {
2800
+ "label": "Wrap",
2801
+ "value": "wrap"
2802
+ }
2803
+ ],
2804
+ "label": "Edges"
2805
+ },
2806
+ "default": "mirror",
2807
+ "description": "How to handle edges when distortion pushes content out of bounds"
2808
+ }
2809
+ }
2810
+ },
2675
2811
  {
2676
2812
  "name": "GlassTiles",
2677
2813
  "category": "Distortions",
@@ -0,0 +1,28 @@
1
+ import { JSX } from 'solid-js';
2
+ import { BlendMode, TransformConfig } from '../../core';
3
+ import { ComponentProps } from '../../core/shaders/FlowField';
4
+ export type { ComponentProps };
5
+ /**
6
+ * Base props that all shader components have
7
+ */
8
+ interface BaseShaderProps {
9
+ children?: JSX.Element;
10
+ blendMode?: BlendMode;
11
+ opacity?: number;
12
+ visible?: boolean;
13
+ id?: string;
14
+ maskSource?: string;
15
+ maskType?: string;
16
+ renderOrder?: number;
17
+ transform?: Partial<TransformConfig>;
18
+ }
19
+ /**
20
+ * Component-specific props that merge base props with shader-specific props
21
+ * Note: ComponentProps are made optional since they have defaults from the shader definition
22
+ */
23
+ type ShaderComponentProps = BaseShaderProps & Partial<ComponentProps>;
24
+ /**
25
+ * The main Solid wrapper component for Shader shader nodes
26
+ */
27
+ export default function ShaderComponent(props: ShaderComponentProps): JSX.Element;
28
+ //# sourceMappingURL=FlowField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlowField.d.ts","sourceRoot":"","sources":["../../src/components/FlowField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4D,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAGH,KAAK,SAAS,EAId,KAAK,eAAe,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGlF,YAAY,EAAE,cAAc,EAAE,CAAC;AAI/B;;GAEG;AACH,UAAU,eAAe;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACxC;AAED;;;GAGG;AACH,KAAK,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAoCtE;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,eA4JlE"}
@@ -0,0 +1,148 @@
1
+ import { createComponent } from "solid-js/web";
2
+ import { splitProps, createMemo, onMount, onCleanup, createEffect } from "solid-js";
3
+ import { createUniformsMap } from "../../core/index.js";
4
+ import { componentDefinition } from "../../core/shaders/FlowField/index.js";
5
+ import { useShaderContext, ShaderContext } from "../engine/Shader.js";
6
+ const DEFAULT_TRANSFORM = {
7
+ offsetX: 0,
8
+ offsetY: 0,
9
+ rotation: 0,
10
+ scale: 1,
11
+ anchorX: 0.5,
12
+ anchorY: 0.5,
13
+ edges: "transparent"
14
+ };
15
+ const defaultProps = {
16
+ blendMode: "normal",
17
+ renderOrder: 0,
18
+ visible: true
19
+ // opacity intentionally has no default - handled by renderer
20
+ // transform intentionally has no default - handled by effectiveTransform
21
+ };
22
+ try {
23
+ if (componentDefinition && componentDefinition.props) {
24
+ Object.entries(componentDefinition.props).forEach(([key, config]) => {
25
+ const propConfig = config;
26
+ if (propConfig && typeof propConfig === "object" && "default" in propConfig) {
27
+ defaultProps[key] = propConfig.default;
28
+ }
29
+ });
30
+ }
31
+ } catch (e) {
32
+ console.warn("Error extracting default props:", e);
33
+ }
34
+ function ShaderComponent(props) {
35
+ const [local, otherProps] = splitProps(props, ["children"]);
36
+ const context = useShaderContext();
37
+ const {
38
+ shaderParentId: parentId,
39
+ shaderNodeRegister: parentRegister,
40
+ shaderUniformUpdate: parentUniformUpdate,
41
+ shaderMetadataUpdate: parentMetadataUpdate
42
+ } = context;
43
+ const instanceId = props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
44
+ const effectiveProps = createMemo(() => {
45
+ let baseProps = {
46
+ ...defaultProps
47
+ };
48
+ for (const [key, value] of Object.entries(otherProps)) {
49
+ if (value !== void 0) {
50
+ baseProps[key] = value;
51
+ }
52
+ }
53
+ return baseProps;
54
+ });
55
+ const effectiveTransform = createMemo(() => ({
56
+ ...DEFAULT_TRANSFORM,
57
+ ...props.transform
58
+ }));
59
+ let uniformsMap = null;
60
+ const getUniformsMap = () => {
61
+ if (!uniformsMap) {
62
+ uniformsMap = createUniformsMap(componentDefinition, effectiveProps(), instanceId);
63
+ }
64
+ return uniformsMap;
65
+ };
66
+ const childContextValue = createMemo(() => ({
67
+ ...context,
68
+ shaderParentId: instanceId
69
+ }));
70
+ let isRegistered = false;
71
+ onMount(() => {
72
+ const uniforms = getUniformsMap();
73
+ if (!uniforms) return;
74
+ try {
75
+ const metadata = {
76
+ blendMode: props.blendMode || "normal",
77
+ opacity: props.opacity,
78
+ visible: props.visible === false ? false : true,
79
+ id: props.id,
80
+ mask: props.maskSource ? {
81
+ source: props.maskSource,
82
+ type: props.maskType || "alpha"
83
+ } : void 0,
84
+ renderOrder: props.renderOrder || 0,
85
+ transform: effectiveTransform()
86
+ };
87
+ parentRegister(instanceId, componentDefinition.fragmentNode, parentId, metadata, uniforms, componentDefinition);
88
+ isRegistered = true;
89
+ } catch (error) {
90
+ console.error("Error registering shader node:", error);
91
+ }
92
+ });
93
+ onCleanup(() => {
94
+ isRegistered = false;
95
+ parentRegister(instanceId, null, null, null, null);
96
+ });
97
+ createEffect(() => {
98
+ if (!isRegistered) return;
99
+ const uniforms = getUniformsMap();
100
+ if (!uniforms) return;
101
+ try {
102
+ const props_snapshot = effectiveProps();
103
+ Object.entries(uniforms).forEach(([propName, uniformData]) => {
104
+ if (!uniformData || typeof uniformData !== "object") return;
105
+ const {
106
+ uniform
107
+ } = uniformData;
108
+ if ((uniform == null ? void 0 : uniform.value) !== void 0 && propName in props_snapshot) {
109
+ const newValue = props_snapshot[propName];
110
+ parentUniformUpdate(instanceId, propName, newValue);
111
+ }
112
+ });
113
+ } catch (error) {
114
+ console.error("Error updating uniforms:", error);
115
+ }
116
+ });
117
+ createEffect(() => {
118
+ if (!isRegistered) return;
119
+ try {
120
+ const metadata = {
121
+ blendMode: props.blendMode || "normal",
122
+ opacity: props.opacity,
123
+ visible: props.visible === false ? false : true,
124
+ id: props.id,
125
+ mask: props.maskSource ? {
126
+ source: props.maskSource,
127
+ type: props.maskType || "alpha"
128
+ } : void 0,
129
+ renderOrder: props.renderOrder || 0,
130
+ transform: effectiveTransform()
131
+ };
132
+ parentMetadataUpdate(instanceId, metadata);
133
+ } catch (error) {
134
+ console.error("Error updating metadata:", error);
135
+ }
136
+ });
137
+ return createComponent(ShaderContext.Provider, {
138
+ get value() {
139
+ return childContextValue();
140
+ },
141
+ get children() {
142
+ return local.children;
143
+ }
144
+ });
145
+ }
146
+ export {
147
+ ShaderComponent as default
148
+ };
@@ -18,6 +18,7 @@ export { default as DotGrid } from './components/DotGrid';
18
18
  export { default as Duotone } from './components/Duotone';
19
19
  export { default as FilmGrain } from './components/FilmGrain';
20
20
  export { default as FloatingParticles } from './components/FloatingParticles';
21
+ export { default as FlowField } from './components/FlowField';
21
22
  export { default as GlassTiles } from './components/GlassTiles';
22
23
  export { default as Glow } from './components/Glow';
23
24
  export { default as Godrays } from './components/Godrays';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}