shaders 2.2.43 → 2.2.44

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 (274) hide show
  1. package/dist/core/index.d.ts +0 -2
  2. package/dist/core/index.d.ts.map +1 -1
  3. package/dist/core/index.js +8 -170
  4. package/dist/core/registry.d.ts +10 -0
  5. package/dist/core/registry.d.ts.map +1 -0
  6. package/dist/core/registry.js +166 -0
  7. package/dist/react/AngularBlur.js +144 -0
  8. package/dist/react/Ascii.js +144 -0
  9. package/dist/react/Beam.js +144 -0
  10. package/dist/react/Blob.js +144 -0
  11. package/dist/react/Blur.js +144 -0
  12. package/dist/react/BrightnessContrast.js +144 -0
  13. package/dist/react/Bulge.js +144 -0
  14. package/dist/react/CRTScreen.js +144 -0
  15. package/dist/react/ChannelBlur.js +144 -0
  16. package/dist/react/Checkerboard.js +144 -0
  17. package/dist/react/ChromaFlow.js +144 -0
  18. package/dist/react/ChromaticAberration.js +144 -0
  19. package/dist/react/Circle.js +144 -0
  20. package/dist/react/CursorTrail.js +144 -0
  21. package/dist/react/DiffuseBlur.js +144 -0
  22. package/dist/react/Dither.js +144 -0
  23. package/dist/react/DotGrid.js +144 -0
  24. package/dist/react/Duotone.js +144 -0
  25. package/dist/react/FilmGrain.js +144 -0
  26. package/dist/react/FloatingParticles.js +144 -0
  27. package/dist/react/GlassTiles.js +144 -0
  28. package/dist/react/Glow.js +144 -0
  29. package/dist/react/Godrays.js +144 -0
  30. package/dist/react/Grayscale.js +144 -0
  31. package/dist/react/Grid.js +144 -0
  32. package/dist/react/GridDistortion.js +144 -0
  33. package/dist/react/Group.js +144 -0
  34. package/dist/react/Halftone.js +144 -0
  35. package/dist/react/HueShift.js +144 -0
  36. package/dist/react/ImageTexture.js +144 -0
  37. package/dist/react/Invert.js +144 -0
  38. package/dist/react/LinearBlur.js +144 -0
  39. package/dist/react/LinearGradient.js +144 -0
  40. package/dist/react/Liquify.js +144 -0
  41. package/dist/react/Perspective.js +144 -0
  42. package/dist/react/Pixelate.js +144 -0
  43. package/dist/react/PolarCoordinates.js +144 -0
  44. package/dist/react/Posterize.js +144 -0
  45. package/dist/react/ProgressiveBlur.js +144 -0
  46. package/dist/react/RadialGradient.js +144 -0
  47. package/dist/react/RectangularCoordinates.js +144 -0
  48. package/dist/react/Ripples.js +144 -0
  49. package/dist/react/Saturation.js +144 -0
  50. package/dist/react/Shader.js +166 -0
  51. package/dist/react/Sharpness.js +144 -0
  52. package/dist/react/Shatter.js +144 -0
  53. package/dist/react/SimplexNoise.js +144 -0
  54. package/dist/react/SineWave.js +144 -0
  55. package/dist/react/SolidColor.js +144 -0
  56. package/dist/react/Spherize.js +144 -0
  57. package/dist/react/Spiral.js +144 -0
  58. package/dist/react/Strands.js +144 -0
  59. package/dist/react/Stretch.js +144 -0
  60. package/dist/react/Stripes.js +144 -0
  61. package/dist/react/Swirl.js +144 -0
  62. package/dist/react/TiltShift.js +144 -0
  63. package/dist/react/Tint.js +144 -0
  64. package/dist/react/Tritone.js +144 -0
  65. package/dist/react/Twirl.js +144 -0
  66. package/dist/react/Vibrance.js +144 -0
  67. package/dist/react/WaveDistortion.js +144 -0
  68. package/dist/react/WebcamTexture.js +144 -0
  69. package/dist/react/ZoomBlur.js +144 -0
  70. package/dist/react/index.js +64 -8784
  71. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  72. package/dist/react/utils/generatePresetCode.js +392 -1
  73. package/dist/solid/components/AngularBlur.js +148 -0
  74. package/dist/solid/components/Ascii.js +148 -0
  75. package/dist/solid/components/Beam.js +148 -0
  76. package/dist/solid/components/Blob.js +148 -0
  77. package/dist/solid/components/Blur.js +148 -0
  78. package/dist/solid/components/BrightnessContrast.js +148 -0
  79. package/dist/solid/components/Bulge.js +148 -0
  80. package/dist/solid/components/CRTScreen.js +148 -0
  81. package/dist/solid/components/ChannelBlur.js +148 -0
  82. package/dist/solid/components/Checkerboard.js +148 -0
  83. package/dist/solid/components/ChromaFlow.js +148 -0
  84. package/dist/solid/components/ChromaticAberration.js +148 -0
  85. package/dist/solid/components/Circle.js +148 -0
  86. package/dist/solid/components/CursorTrail.js +148 -0
  87. package/dist/solid/components/DiffuseBlur.js +148 -0
  88. package/dist/solid/components/Dither.js +148 -0
  89. package/dist/solid/components/DotGrid.js +148 -0
  90. package/dist/solid/components/Duotone.js +148 -0
  91. package/dist/solid/components/FilmGrain.js +148 -0
  92. package/dist/solid/components/FloatingParticles.js +148 -0
  93. package/dist/solid/components/GlassTiles.js +148 -0
  94. package/dist/solid/components/Glow.js +148 -0
  95. package/dist/solid/components/Godrays.js +148 -0
  96. package/dist/solid/components/Grayscale.js +148 -0
  97. package/dist/solid/components/Grid.js +148 -0
  98. package/dist/solid/components/GridDistortion.js +148 -0
  99. package/dist/solid/components/Group.js +148 -0
  100. package/dist/solid/components/Halftone.js +148 -0
  101. package/dist/solid/components/HueShift.js +148 -0
  102. package/dist/solid/components/ImageTexture.js +148 -0
  103. package/dist/solid/components/Invert.js +148 -0
  104. package/dist/solid/components/LinearBlur.js +148 -0
  105. package/dist/solid/components/LinearGradient.js +148 -0
  106. package/dist/solid/components/Liquify.js +148 -0
  107. package/dist/solid/components/Perspective.js +148 -0
  108. package/dist/solid/components/Pixelate.js +148 -0
  109. package/dist/solid/components/PolarCoordinates.js +148 -0
  110. package/dist/solid/components/Posterize.js +148 -0
  111. package/dist/solid/components/ProgressiveBlur.js +148 -0
  112. package/dist/solid/components/RadialGradient.js +148 -0
  113. package/dist/solid/components/RectangularCoordinates.js +148 -0
  114. package/dist/solid/components/Ripples.js +148 -0
  115. package/dist/solid/components/Saturation.js +148 -0
  116. package/dist/solid/components/Sharpness.js +148 -0
  117. package/dist/solid/components/Shatter.js +148 -0
  118. package/dist/solid/components/SimplexNoise.js +148 -0
  119. package/dist/solid/components/SineWave.js +148 -0
  120. package/dist/solid/components/SolidColor.js +148 -0
  121. package/dist/solid/components/Spherize.js +148 -0
  122. package/dist/solid/components/Spiral.js +148 -0
  123. package/dist/solid/components/Strands.js +148 -0
  124. package/dist/solid/components/Stretch.js +148 -0
  125. package/dist/solid/components/Stripes.js +148 -0
  126. package/dist/solid/components/Swirl.js +148 -0
  127. package/dist/solid/components/TiltShift.js +148 -0
  128. package/dist/solid/components/Tint.js +148 -0
  129. package/dist/solid/components/Tritone.js +148 -0
  130. package/dist/solid/components/Twirl.js +148 -0
  131. package/dist/solid/components/Vibrance.js +148 -0
  132. package/dist/solid/components/WaveDistortion.js +148 -0
  133. package/dist/solid/components/WebcamTexture.js +148 -0
  134. package/dist/solid/components/ZoomBlur.js +148 -0
  135. package/dist/solid/engine/Shader.js +189 -0
  136. package/dist/solid/index.js +126 -8989
  137. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  138. package/dist/solid/utils/generatePresetCode.js +62 -417
  139. package/dist/svelte/generatePresetCode-CtXcoyI0.js +393 -0
  140. package/dist/svelte/index.js +1 -1
  141. package/dist/svelte/utils/generatePresetCode.js +1 -1
  142. package/dist/vue/AngularBlur.js +3 -0
  143. package/dist/vue/AngularBlur.vue_vue_type_script_setup_true_lang.js +125 -0
  144. package/dist/vue/Ascii.js +3 -0
  145. package/dist/vue/Ascii.vue_vue_type_script_setup_true_lang.js +127 -0
  146. package/dist/vue/Beam.js +3 -0
  147. package/dist/vue/Beam.vue_vue_type_script_setup_true_lang.js +132 -0
  148. package/dist/vue/Blob.js +3 -0
  149. package/dist/vue/Blob.vue_vue_type_script_setup_true_lang.js +137 -0
  150. package/dist/vue/Blur.js +3 -0
  151. package/dist/vue/Blur.vue_vue_type_script_setup_true_lang.js +124 -0
  152. package/dist/vue/BrightnessContrast.js +3 -0
  153. package/dist/vue/BrightnessContrast.vue_vue_type_script_setup_true_lang.js +125 -0
  154. package/dist/vue/Bulge.js +3 -0
  155. package/dist/vue/Bulge.vue_vue_type_script_setup_true_lang.js +128 -0
  156. package/dist/vue/CRTScreen.js +3 -0
  157. package/dist/vue/CRTScreen.vue_vue_type_script_setup_true_lang.js +129 -0
  158. package/dist/vue/ChannelBlur.js +3 -0
  159. package/dist/vue/ChannelBlur.vue_vue_type_script_setup_true_lang.js +126 -0
  160. package/dist/vue/Checkerboard.js +3 -0
  161. package/dist/vue/Checkerboard.vue_vue_type_script_setup_true_lang.js +128 -0
  162. package/dist/vue/ChromaFlow.js +3 -0
  163. package/dist/vue/ChromaFlow.vue_vue_type_script_setup_true_lang.js +131 -0
  164. package/dist/vue/ChromaticAberration.js +3 -0
  165. package/dist/vue/ChromaticAberration.vue_vue_type_script_setup_true_lang.js +128 -0
  166. package/dist/vue/Circle.js +3 -0
  167. package/dist/vue/Circle.vue_vue_type_script_setup_true_lang.js +127 -0
  168. package/dist/vue/CursorTrail.js +3 -0
  169. package/dist/vue/CursorTrail.vue_vue_type_script_setup_true_lang.js +129 -0
  170. package/dist/vue/DiffuseBlur.js +3 -0
  171. package/dist/vue/DiffuseBlur.vue_vue_type_script_setup_true_lang.js +125 -0
  172. package/dist/vue/Dither.js +3 -0
  173. package/dist/vue/Dither.vue_vue_type_script_setup_true_lang.js +127 -0
  174. package/dist/vue/DotGrid.js +3 -0
  175. package/dist/vue/DotGrid.vue_vue_type_script_setup_true_lang.js +127 -0
  176. package/dist/vue/Duotone.js +3 -0
  177. package/dist/vue/Duotone.vue_vue_type_script_setup_true_lang.js +127 -0
  178. package/dist/vue/FilmGrain.js +3 -0
  179. package/dist/vue/FilmGrain.vue_vue_type_script_setup_true_lang.js +124 -0
  180. package/dist/vue/FloatingParticles.js +3 -0
  181. package/dist/vue/FloatingParticles.vue_vue_type_script_setup_true_lang.js +134 -0
  182. package/dist/vue/GlassTiles.js +3 -0
  183. package/dist/vue/GlassTiles.vue_vue_type_script_setup_true_lang.js +127 -0
  184. package/dist/vue/Glow.js +3 -0
  185. package/dist/vue/Glow.vue_vue_type_script_setup_true_lang.js +126 -0
  186. package/dist/vue/Godrays.js +3 -0
  187. package/dist/vue/Godrays.vue_vue_type_script_setup_true_lang.js +130 -0
  188. package/dist/vue/Grayscale.js +3 -0
  189. package/dist/vue/Grayscale.vue_vue_type_script_setup_true_lang.js +123 -0
  190. package/dist/vue/Grid.js +3 -0
  191. package/dist/vue/Grid.vue_vue_type_script_setup_true_lang.js +126 -0
  192. package/dist/vue/GridDistortion.js +3 -0
  193. package/dist/vue/GridDistortion.vue_vue_type_script_setup_true_lang.js +129 -0
  194. package/dist/vue/Group.js +3 -0
  195. package/dist/vue/Group.vue_vue_type_script_setup_true_lang.js +123 -0
  196. package/dist/vue/Halftone.js +3 -0
  197. package/dist/vue/Halftone.vue_vue_type_script_setup_true_lang.js +126 -0
  198. package/dist/vue/HueShift.js +3 -0
  199. package/dist/vue/HueShift.vue_vue_type_script_setup_true_lang.js +124 -0
  200. package/dist/vue/ImageTexture.js +3 -0
  201. package/dist/vue/ImageTexture.vue_vue_type_script_setup_true_lang.js +125 -0
  202. package/dist/vue/Invert.js +3 -0
  203. package/dist/vue/Invert.vue_vue_type_script_setup_true_lang.js +123 -0
  204. package/dist/vue/LinearBlur.js +3 -0
  205. package/dist/vue/LinearBlur.vue_vue_type_script_setup_true_lang.js +125 -0
  206. package/dist/vue/LinearGradient.js +3 -0
  207. package/dist/vue/LinearGradient.vue_vue_type_script_setup_true_lang.js +130 -0
  208. package/dist/vue/Liquify.js +3 -0
  209. package/dist/vue/Liquify.vue_vue_type_script_setup_true_lang.js +128 -0
  210. package/dist/vue/Perspective.js +3 -0
  211. package/dist/vue/Perspective.vue_vue_type_script_setup_true_lang.js +130 -0
  212. package/dist/vue/Pixelate.js +3 -0
  213. package/dist/vue/Pixelate.vue_vue_type_script_setup_true_lang.js +124 -0
  214. package/dist/vue/PolarCoordinates.js +3 -0
  215. package/dist/vue/PolarCoordinates.vue_vue_type_script_setup_true_lang.js +128 -0
  216. package/dist/vue/Posterize.js +3 -0
  217. package/dist/vue/Posterize.vue_vue_type_script_setup_true_lang.js +124 -0
  218. package/dist/vue/ProgressiveBlur.js +3 -0
  219. package/dist/vue/ProgressiveBlur.vue_vue_type_script_setup_true_lang.js +127 -0
  220. package/dist/vue/RadialGradient.js +3 -0
  221. package/dist/vue/RadialGradient.vue_vue_type_script_setup_true_lang.js +128 -0
  222. package/dist/vue/RectangularCoordinates.js +3 -0
  223. package/dist/vue/RectangularCoordinates.vue_vue_type_script_setup_true_lang.js +127 -0
  224. package/dist/vue/Ripples.js +3 -0
  225. package/dist/vue/Ripples.vue_vue_type_script_setup_true_lang.js +131 -0
  226. package/dist/vue/Saturation.js +3 -0
  227. package/dist/vue/Saturation.vue_vue_type_script_setup_true_lang.js +124 -0
  228. package/dist/vue/Shader.js +3 -0
  229. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +153 -0
  230. package/dist/vue/Sharpness.js +3 -0
  231. package/dist/vue/Sharpness.vue_vue_type_script_setup_true_lang.js +124 -0
  232. package/dist/vue/Shatter.js +3 -0
  233. package/dist/vue/Shatter.vue_vue_type_script_setup_true_lang.js +132 -0
  234. package/dist/vue/SimplexNoise.js +3 -0
  235. package/dist/vue/SimplexNoise.vue_vue_type_script_setup_true_lang.js +130 -0
  236. package/dist/vue/SineWave.js +3 -0
  237. package/dist/vue/SineWave.vue_vue_type_script_setup_true_lang.js +131 -0
  238. package/dist/vue/SolidColor.js +3 -0
  239. package/dist/vue/SolidColor.vue_vue_type_script_setup_true_lang.js +124 -0
  240. package/dist/vue/Spherize.js +3 -0
  241. package/dist/vue/Spherize.vue_vue_type_script_setup_true_lang.js +130 -0
  242. package/dist/vue/Spiral.js +3 -0
  243. package/dist/vue/Spiral.vue_vue_type_script_setup_true_lang.js +132 -0
  244. package/dist/vue/Strands.js +3 -0
  245. package/dist/vue/Strands.vue_vue_type_script_setup_true_lang.js +132 -0
  246. package/dist/vue/Stretch.js +3 -0
  247. package/dist/vue/Stretch.vue_vue_type_script_setup_true_lang.js +128 -0
  248. package/dist/vue/Stripes.js +3 -0
  249. package/dist/vue/Stripes.vue_vue_type_script_setup_true_lang.js +132 -0
  250. package/dist/vue/Swirl.js +3 -0
  251. package/dist/vue/Swirl.vue_vue_type_script_setup_true_lang.js +129 -0
  252. package/dist/vue/TiltShift.js +3 -0
  253. package/dist/vue/TiltShift.vue_vue_type_script_setup_true_lang.js +128 -0
  254. package/dist/vue/Tint.js +3 -0
  255. package/dist/vue/Tint.vue_vue_type_script_setup_true_lang.js +126 -0
  256. package/dist/vue/Tritone.js +3 -0
  257. package/dist/vue/Tritone.vue_vue_type_script_setup_true_lang.js +128 -0
  258. package/dist/vue/Twirl.js +3 -0
  259. package/dist/vue/Twirl.vue_vue_type_script_setup_true_lang.js +126 -0
  260. package/dist/vue/Vibrance.js +3 -0
  261. package/dist/vue/Vibrance.vue_vue_type_script_setup_true_lang.js +124 -0
  262. package/dist/vue/WaveDistortion.js +3 -0
  263. package/dist/vue/WaveDistortion.vue_vue_type_script_setup_true_lang.js +129 -0
  264. package/dist/vue/WebcamTexture.js +3 -0
  265. package/dist/vue/WebcamTexture.vue_vue_type_script_setup_true_lang.js +125 -0
  266. package/dist/vue/ZoomBlur.js +3 -0
  267. package/dist/vue/ZoomBlur.vue_vue_type_script_setup_true_lang.js +125 -0
  268. package/dist/vue/index.js +64 -7870
  269. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  270. package/dist/vue/utils/generatePresetCode.js +391 -1
  271. package/package.json +1 -1
  272. package/dist/react/generatePresetCode-D0yiVxb4.js +0 -748
  273. package/dist/svelte/generatePresetCode-DUGaV_ym.js +0 -748
  274. package/dist/vue/generatePresetCode-CShQ8TLw.js +0 -747
@@ -0,0 +1,144 @@
1
+ import { OmbreContext } 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/GridDistortion/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 OmbreComponent = (props) => {
34
+ const context = useContext(OmbreContext);
35
+ if (!context) throw new Error("Shader components must be used inside an <Shader> component or another shader component");
36
+ const { ombreParentId: parentId, ombreNodeRegister: parentRegister, ombreUniformUpdate: parentUniformUpdate, ombreMetadataUpdate: 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
+ ombreParentId: 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(OmbreContext.Provider, {
139
+ value: childContextValue,
140
+ children: props.children
141
+ });
142
+ };
143
+ var GridDistortion_default = OmbreComponent;
144
+ export { GridDistortion_default as default };
@@ -0,0 +1,144 @@
1
+ import { OmbreContext } 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/Group/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 OmbreComponent = (props) => {
34
+ const context = useContext(OmbreContext);
35
+ if (!context) throw new Error("Shader components must be used inside an <Shader> component or another shader component");
36
+ const { ombreParentId: parentId, ombreNodeRegister: parentRegister, ombreUniformUpdate: parentUniformUpdate, ombreMetadataUpdate: 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
+ ombreParentId: 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(OmbreContext.Provider, {
139
+ value: childContextValue,
140
+ children: props.children
141
+ });
142
+ };
143
+ var Group_default = OmbreComponent;
144
+ export { Group_default as default };
@@ -0,0 +1,144 @@
1
+ import { OmbreContext } 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/Halftone/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 OmbreComponent = (props) => {
34
+ const context = useContext(OmbreContext);
35
+ if (!context) throw new Error("Shader components must be used inside an <Shader> component or another shader component");
36
+ const { ombreParentId: parentId, ombreNodeRegister: parentRegister, ombreUniformUpdate: parentUniformUpdate, ombreMetadataUpdate: 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
+ ombreParentId: 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(OmbreContext.Provider, {
139
+ value: childContextValue,
140
+ children: props.children
141
+ });
142
+ };
143
+ var Halftone_default = OmbreComponent;
144
+ export { Halftone_default as default };
@@ -0,0 +1,144 @@
1
+ import { OmbreContext } 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/HueShift/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 OmbreComponent = (props) => {
34
+ const context = useContext(OmbreContext);
35
+ if (!context) throw new Error("Shader components must be used inside an <Shader> component or another shader component");
36
+ const { ombreParentId: parentId, ombreNodeRegister: parentRegister, ombreUniformUpdate: parentUniformUpdate, ombreMetadataUpdate: 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
+ ombreParentId: 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(OmbreContext.Provider, {
139
+ value: childContextValue,
140
+ children: props.children
141
+ });
142
+ };
143
+ var HueShift_default = OmbreComponent;
144
+ export { HueShift_default as default };