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