shaders 2.2.45 → 2.2.47

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 (387) hide show
  1. package/LICENSE +17 -6
  2. package/README.md +4 -60
  3. package/dist/core/Kaleidoscope-3Kt0m_sh.js +97 -0
  4. package/dist/core/Mirror-CnEZ7wHa.js +84 -0
  5. package/dist/core/index.js +0 -25
  6. package/dist/core/registry.js +66 -62
  7. package/dist/core/renderer.d.ts +0 -1
  8. package/dist/core/renderer.d.ts.map +1 -1
  9. package/dist/core/shaderRegistry.d.ts.map +1 -1
  10. package/dist/core/shaders/Kaleidoscope/index.d.ts +36 -0
  11. package/dist/core/shaders/Kaleidoscope/index.d.ts.map +1 -0
  12. package/dist/core/shaders/Kaleidoscope/index.js +4 -0
  13. package/dist/core/shaders/LinearBlur/index.js +1 -1
  14. package/dist/core/shaders/LinearGradient/index.js +1 -1
  15. package/dist/core/shaders/Liquify/index.js +1 -1
  16. package/dist/core/shaders/Mirror/index.d.ts +29 -0
  17. package/dist/core/shaders/Mirror/index.d.ts.map +1 -0
  18. package/dist/core/shaders/Mirror/index.js +4 -0
  19. package/dist/core/shaders/Perspective/index.js +1 -1
  20. package/dist/core/shaders/Pixelate/index.js +1 -1
  21. package/dist/core/shaders/PolarCoordinates/index.js +1 -1
  22. package/dist/core/shaders/Posterize/index.js +1 -1
  23. package/dist/core/shaders/ProgressiveBlur/index.js +1 -1
  24. package/dist/core/shaders/RadialGradient/index.js +1 -1
  25. package/dist/core/shaders/RectangularCoordinates/index.js +1 -1
  26. package/dist/core/shaders/Ripples/index.js +1 -1
  27. package/dist/core/shaders/Saturation/index.js +1 -1
  28. package/dist/core/shaders/Sharpness/index.js +1 -1
  29. package/dist/core/shaders/Shatter/index.js +1 -1
  30. package/dist/core/shaders/SimplexNoise/index.js +1 -1
  31. package/dist/core/shaders/SineWave/index.js +1 -1
  32. package/dist/core/shaders/SolidColor/index.js +1 -1
  33. package/dist/core/shaders/Spherize/index.js +1 -1
  34. package/dist/core/shaders/Spiral/index.js +1 -1
  35. package/dist/core/shaders/Strands/index.js +1 -1
  36. package/dist/core/shaders/Stretch/index.js +1 -1
  37. package/dist/core/shaders/Stripes/index.js +1 -1
  38. package/dist/core/shaders/Swirl/index.js +1 -1
  39. package/dist/core/shaders/TiltShift/index.js +1 -1
  40. package/dist/core/shaders/Tint/index.js +1 -1
  41. package/dist/core/shaders/Tritone/index.js +1 -1
  42. package/dist/core/shaders/Twirl/index.js +1 -1
  43. package/dist/core/shaders/Vibrance/index.js +1 -1
  44. package/dist/core/shaders/WaveDistortion/index.js +1 -1
  45. package/dist/core/shaders/WebcamTexture/index.js +1 -1
  46. package/dist/core/shaders/ZoomBlur/index.js +1 -1
  47. package/dist/core/telemetry/collector.d.ts.map +1 -1
  48. package/dist/core/telemetry/environmentCollector.d.ts.map +1 -1
  49. package/dist/core/telemetry/index.d.ts +1 -1
  50. package/dist/core/telemetry/index.d.ts.map +1 -1
  51. package/dist/core/telemetry/index.js +28 -23
  52. package/dist/core/telemetry/types.d.ts +2 -8
  53. package/dist/core/telemetry/types.d.ts.map +1 -1
  54. package/dist/react/AngularBlur.js +7 -7
  55. package/dist/react/Ascii.js +7 -7
  56. package/dist/react/Beam.js +7 -7
  57. package/dist/react/Blob.js +7 -7
  58. package/dist/react/Blur.js +7 -7
  59. package/dist/react/BrightnessContrast.js +7 -7
  60. package/dist/react/Bulge.js +7 -7
  61. package/dist/react/CRTScreen.js +7 -7
  62. package/dist/react/ChannelBlur.js +7 -7
  63. package/dist/react/Checkerboard.js +7 -7
  64. package/dist/react/ChromaFlow.js +7 -7
  65. package/dist/react/ChromaticAberration.js +7 -7
  66. package/dist/react/Circle.js +7 -7
  67. package/dist/react/CursorTrail.js +7 -7
  68. package/dist/react/DiffuseBlur.js +7 -7
  69. package/dist/react/Dither.js +7 -7
  70. package/dist/react/DotGrid.js +7 -7
  71. package/dist/react/Duotone.js +7 -7
  72. package/dist/react/FilmGrain.js +7 -7
  73. package/dist/react/FloatingParticles.js +7 -7
  74. package/dist/react/GlassTiles.js +7 -7
  75. package/dist/react/Glow.js +7 -7
  76. package/dist/react/Godrays.js +7 -7
  77. package/dist/react/Grayscale.js +7 -7
  78. package/dist/react/Grid.js +7 -7
  79. package/dist/react/GridDistortion.js +7 -7
  80. package/dist/react/Group.js +7 -7
  81. package/dist/react/Halftone.js +7 -7
  82. package/dist/react/HueShift.js +7 -7
  83. package/dist/react/ImageTexture.js +7 -7
  84. package/dist/react/Invert.js +7 -7
  85. package/dist/react/Kaleidoscope.js +144 -0
  86. package/dist/react/LinearBlur.js +7 -7
  87. package/dist/react/LinearGradient.js +7 -7
  88. package/dist/react/Liquify.js +7 -7
  89. package/dist/react/Mirror.js +144 -0
  90. package/dist/react/Perspective.js +7 -7
  91. package/dist/react/Pixelate.js +7 -7
  92. package/dist/react/PolarCoordinates.js +7 -7
  93. package/dist/react/Posterize.js +7 -7
  94. package/dist/react/ProgressiveBlur.js +7 -7
  95. package/dist/react/RadialGradient.js +7 -7
  96. package/dist/react/RectangularCoordinates.js +7 -7
  97. package/dist/react/Ripples.js +7 -7
  98. package/dist/react/Saturation.js +7 -7
  99. package/dist/react/Shader.js +33 -21
  100. package/dist/react/Sharpness.js +7 -7
  101. package/dist/react/Shatter.js +7 -7
  102. package/dist/react/SimplexNoise.js +7 -7
  103. package/dist/react/SineWave.js +7 -7
  104. package/dist/react/SolidColor.js +7 -7
  105. package/dist/react/Spherize.js +7 -7
  106. package/dist/react/Spiral.js +7 -7
  107. package/dist/react/Strands.js +7 -7
  108. package/dist/react/Stretch.js +7 -7
  109. package/dist/react/Stripes.js +7 -7
  110. package/dist/react/Swirl.js +7 -7
  111. package/dist/react/TiltShift.js +7 -7
  112. package/dist/react/Tint.js +7 -7
  113. package/dist/react/Tritone.js +7 -7
  114. package/dist/react/Twirl.js +7 -7
  115. package/dist/react/Vibrance.js +7 -7
  116. package/dist/react/WaveDistortion.js +7 -7
  117. package/dist/react/WebcamTexture.js +7 -7
  118. package/dist/react/ZoomBlur.js +7 -7
  119. package/dist/react/components/AngularBlur.d.ts +2 -2
  120. package/dist/react/components/AngularBlur.d.ts.map +1 -1
  121. package/dist/react/components/Ascii.d.ts +2 -2
  122. package/dist/react/components/Ascii.d.ts.map +1 -1
  123. package/dist/react/components/Beam.d.ts +2 -2
  124. package/dist/react/components/Beam.d.ts.map +1 -1
  125. package/dist/react/components/Blob.d.ts +2 -2
  126. package/dist/react/components/Blob.d.ts.map +1 -1
  127. package/dist/react/components/Blur.d.ts +2 -2
  128. package/dist/react/components/Blur.d.ts.map +1 -1
  129. package/dist/react/components/BrightnessContrast.d.ts +2 -2
  130. package/dist/react/components/BrightnessContrast.d.ts.map +1 -1
  131. package/dist/react/components/Bulge.d.ts +2 -2
  132. package/dist/react/components/Bulge.d.ts.map +1 -1
  133. package/dist/react/components/CRTScreen.d.ts +2 -2
  134. package/dist/react/components/CRTScreen.d.ts.map +1 -1
  135. package/dist/react/components/ChannelBlur.d.ts +2 -2
  136. package/dist/react/components/ChannelBlur.d.ts.map +1 -1
  137. package/dist/react/components/Checkerboard.d.ts +2 -2
  138. package/dist/react/components/Checkerboard.d.ts.map +1 -1
  139. package/dist/react/components/ChromaFlow.d.ts +2 -2
  140. package/dist/react/components/ChromaFlow.d.ts.map +1 -1
  141. package/dist/react/components/ChromaticAberration.d.ts +2 -2
  142. package/dist/react/components/ChromaticAberration.d.ts.map +1 -1
  143. package/dist/react/components/Circle.d.ts +2 -2
  144. package/dist/react/components/Circle.d.ts.map +1 -1
  145. package/dist/react/components/CursorTrail.d.ts +2 -2
  146. package/dist/react/components/CursorTrail.d.ts.map +1 -1
  147. package/dist/react/components/DiffuseBlur.d.ts +2 -2
  148. package/dist/react/components/DiffuseBlur.d.ts.map +1 -1
  149. package/dist/react/components/Dither.d.ts +2 -2
  150. package/dist/react/components/Dither.d.ts.map +1 -1
  151. package/dist/react/components/DotGrid.d.ts +2 -2
  152. package/dist/react/components/DotGrid.d.ts.map +1 -1
  153. package/dist/react/components/Duotone.d.ts +2 -2
  154. package/dist/react/components/Duotone.d.ts.map +1 -1
  155. package/dist/react/components/FilmGrain.d.ts +2 -2
  156. package/dist/react/components/FilmGrain.d.ts.map +1 -1
  157. package/dist/react/components/FloatingParticles.d.ts +2 -2
  158. package/dist/react/components/FloatingParticles.d.ts.map +1 -1
  159. package/dist/react/components/GlassTiles.d.ts +2 -2
  160. package/dist/react/components/GlassTiles.d.ts.map +1 -1
  161. package/dist/react/components/Glow.d.ts +2 -2
  162. package/dist/react/components/Glow.d.ts.map +1 -1
  163. package/dist/react/components/Godrays.d.ts +2 -2
  164. package/dist/react/components/Godrays.d.ts.map +1 -1
  165. package/dist/react/components/Grayscale.d.ts +2 -2
  166. package/dist/react/components/Grayscale.d.ts.map +1 -1
  167. package/dist/react/components/Grid.d.ts +2 -2
  168. package/dist/react/components/Grid.d.ts.map +1 -1
  169. package/dist/react/components/GridDistortion.d.ts +2 -2
  170. package/dist/react/components/GridDistortion.d.ts.map +1 -1
  171. package/dist/react/components/Group.d.ts +2 -2
  172. package/dist/react/components/Group.d.ts.map +1 -1
  173. package/dist/react/components/Halftone.d.ts +2 -2
  174. package/dist/react/components/Halftone.d.ts.map +1 -1
  175. package/dist/react/components/HueShift.d.ts +2 -2
  176. package/dist/react/components/HueShift.d.ts.map +1 -1
  177. package/dist/react/components/ImageTexture.d.ts +2 -2
  178. package/dist/react/components/ImageTexture.d.ts.map +1 -1
  179. package/dist/react/components/Invert.d.ts +2 -2
  180. package/dist/react/components/Invert.d.ts.map +1 -1
  181. package/dist/react/components/Kaleidoscope.d.ts +31 -0
  182. package/dist/react/components/Kaleidoscope.d.ts.map +1 -0
  183. package/dist/react/components/LinearBlur.d.ts +2 -2
  184. package/dist/react/components/LinearBlur.d.ts.map +1 -1
  185. package/dist/react/components/LinearGradient.d.ts +2 -2
  186. package/dist/react/components/LinearGradient.d.ts.map +1 -1
  187. package/dist/react/components/Liquify.d.ts +2 -2
  188. package/dist/react/components/Liquify.d.ts.map +1 -1
  189. package/dist/react/components/Mirror.d.ts +31 -0
  190. package/dist/react/components/Mirror.d.ts.map +1 -0
  191. package/dist/react/components/Perspective.d.ts +2 -2
  192. package/dist/react/components/Perspective.d.ts.map +1 -1
  193. package/dist/react/components/Pixelate.d.ts +2 -2
  194. package/dist/react/components/Pixelate.d.ts.map +1 -1
  195. package/dist/react/components/PolarCoordinates.d.ts +2 -2
  196. package/dist/react/components/PolarCoordinates.d.ts.map +1 -1
  197. package/dist/react/components/Posterize.d.ts +2 -2
  198. package/dist/react/components/Posterize.d.ts.map +1 -1
  199. package/dist/react/components/ProgressiveBlur.d.ts +2 -2
  200. package/dist/react/components/ProgressiveBlur.d.ts.map +1 -1
  201. package/dist/react/components/RadialGradient.d.ts +2 -2
  202. package/dist/react/components/RadialGradient.d.ts.map +1 -1
  203. package/dist/react/components/RectangularCoordinates.d.ts +2 -2
  204. package/dist/react/components/RectangularCoordinates.d.ts.map +1 -1
  205. package/dist/react/components/Ripples.d.ts +2 -2
  206. package/dist/react/components/Ripples.d.ts.map +1 -1
  207. package/dist/react/components/Saturation.d.ts +2 -2
  208. package/dist/react/components/Saturation.d.ts.map +1 -1
  209. package/dist/react/components/Sharpness.d.ts +2 -2
  210. package/dist/react/components/Sharpness.d.ts.map +1 -1
  211. package/dist/react/components/Shatter.d.ts +2 -2
  212. package/dist/react/components/Shatter.d.ts.map +1 -1
  213. package/dist/react/components/SimplexNoise.d.ts +2 -2
  214. package/dist/react/components/SimplexNoise.d.ts.map +1 -1
  215. package/dist/react/components/SineWave.d.ts +2 -2
  216. package/dist/react/components/SineWave.d.ts.map +1 -1
  217. package/dist/react/components/SolidColor.d.ts +2 -2
  218. package/dist/react/components/SolidColor.d.ts.map +1 -1
  219. package/dist/react/components/Spherize.d.ts +2 -2
  220. package/dist/react/components/Spherize.d.ts.map +1 -1
  221. package/dist/react/components/Spiral.d.ts +2 -2
  222. package/dist/react/components/Spiral.d.ts.map +1 -1
  223. package/dist/react/components/Strands.d.ts +2 -2
  224. package/dist/react/components/Strands.d.ts.map +1 -1
  225. package/dist/react/components/Stretch.d.ts +2 -2
  226. package/dist/react/components/Stretch.d.ts.map +1 -1
  227. package/dist/react/components/Stripes.d.ts +2 -2
  228. package/dist/react/components/Stripes.d.ts.map +1 -1
  229. package/dist/react/components/Swirl.d.ts +2 -2
  230. package/dist/react/components/Swirl.d.ts.map +1 -1
  231. package/dist/react/components/TiltShift.d.ts +2 -2
  232. package/dist/react/components/TiltShift.d.ts.map +1 -1
  233. package/dist/react/components/Tint.d.ts +2 -2
  234. package/dist/react/components/Tint.d.ts.map +1 -1
  235. package/dist/react/components/Tritone.d.ts +2 -2
  236. package/dist/react/components/Tritone.d.ts.map +1 -1
  237. package/dist/react/components/Twirl.d.ts +2 -2
  238. package/dist/react/components/Twirl.d.ts.map +1 -1
  239. package/dist/react/components/Vibrance.d.ts +2 -2
  240. package/dist/react/components/Vibrance.d.ts.map +1 -1
  241. package/dist/react/components/WaveDistortion.d.ts +2 -2
  242. package/dist/react/components/WaveDistortion.d.ts.map +1 -1
  243. package/dist/react/components/WebcamTexture.d.ts +2 -2
  244. package/dist/react/components/WebcamTexture.d.ts.map +1 -1
  245. package/dist/react/components/ZoomBlur.d.ts +2 -2
  246. package/dist/react/components/ZoomBlur.d.ts.map +1 -1
  247. package/dist/react/engine/Shader.d.ts +9 -9
  248. package/dist/react/engine/Shader.d.ts.map +1 -1
  249. package/dist/react/engine/component.template.d.ts +2 -2
  250. package/dist/react/engine/component.template.d.ts.map +1 -1
  251. package/dist/react/index.d.ts +2 -0
  252. package/dist/react/index.d.ts.map +1 -1
  253. package/dist/react/index.js +3 -1
  254. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  255. package/dist/react/utils/generatePresetCode.js +10 -0
  256. package/dist/registry.js +250 -0
  257. package/dist/solid/components/Kaleidoscope.d.ts +28 -0
  258. package/dist/solid/components/Kaleidoscope.d.ts.map +1 -0
  259. package/dist/solid/components/Kaleidoscope.js +148 -0
  260. package/dist/solid/components/Mirror.d.ts +28 -0
  261. package/dist/solid/components/Mirror.d.ts.map +1 -0
  262. package/dist/solid/components/Mirror.js +148 -0
  263. package/dist/solid/engine/Shader.d.ts +1 -1
  264. package/dist/solid/engine/Shader.d.ts.map +1 -1
  265. package/dist/solid/engine/Shader.js +24 -7
  266. package/dist/solid/index.d.ts +2 -0
  267. package/dist/solid/index.d.ts.map +1 -1
  268. package/dist/solid/index.js +68 -64
  269. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  270. package/dist/solid/utils/generatePresetCode.js +10 -0
  271. package/dist/svelte/components/Kaleidoscope.svelte.d.ts +19 -0
  272. package/dist/svelte/components/Mirror.svelte.d.ts +19 -0
  273. package/dist/svelte/engine/Shader.svelte.d.ts +1 -1
  274. package/dist/svelte/{generatePresetCode-CtXcoyI0.js → generatePresetCode-on2wdSC3.js} +10 -0
  275. package/dist/svelte/index.d.ts +2 -0
  276. package/dist/svelte/index.js +308 -73
  277. package/dist/svelte/utils/generatePresetCode.js +1 -1
  278. package/dist/vue/AngularBlur.vue_vue_type_script_setup_true_lang.js +8 -8
  279. package/dist/vue/Ascii.vue_vue_type_script_setup_true_lang.js +8 -8
  280. package/dist/vue/Beam.vue_vue_type_script_setup_true_lang.js +8 -8
  281. package/dist/vue/Blob.vue_vue_type_script_setup_true_lang.js +8 -8
  282. package/dist/vue/Blur.vue_vue_type_script_setup_true_lang.js +8 -8
  283. package/dist/vue/BrightnessContrast.vue_vue_type_script_setup_true_lang.js +8 -8
  284. package/dist/vue/Bulge.vue_vue_type_script_setup_true_lang.js +8 -8
  285. package/dist/vue/CRTScreen.vue_vue_type_script_setup_true_lang.js +8 -8
  286. package/dist/vue/ChannelBlur.vue_vue_type_script_setup_true_lang.js +8 -8
  287. package/dist/vue/Checkerboard.vue_vue_type_script_setup_true_lang.js +8 -8
  288. package/dist/vue/ChromaFlow.vue_vue_type_script_setup_true_lang.js +8 -8
  289. package/dist/vue/ChromaticAberration.vue_vue_type_script_setup_true_lang.js +8 -8
  290. package/dist/vue/Circle.vue_vue_type_script_setup_true_lang.js +8 -8
  291. package/dist/vue/CursorTrail.vue_vue_type_script_setup_true_lang.js +8 -8
  292. package/dist/vue/DiffuseBlur.vue_vue_type_script_setup_true_lang.js +8 -8
  293. package/dist/vue/Dither.vue_vue_type_script_setup_true_lang.js +8 -8
  294. package/dist/vue/DotGrid.vue_vue_type_script_setup_true_lang.js +8 -8
  295. package/dist/vue/Duotone.vue_vue_type_script_setup_true_lang.js +8 -8
  296. package/dist/vue/FilmGrain.vue_vue_type_script_setup_true_lang.js +8 -8
  297. package/dist/vue/FloatingParticles.vue_vue_type_script_setup_true_lang.js +8 -8
  298. package/dist/vue/GlassTiles.vue_vue_type_script_setup_true_lang.js +8 -8
  299. package/dist/vue/Glow.vue_vue_type_script_setup_true_lang.js +8 -8
  300. package/dist/vue/Godrays.vue_vue_type_script_setup_true_lang.js +8 -8
  301. package/dist/vue/Grayscale.vue_vue_type_script_setup_true_lang.js +8 -8
  302. package/dist/vue/Grid.vue_vue_type_script_setup_true_lang.js +8 -8
  303. package/dist/vue/GridDistortion.vue_vue_type_script_setup_true_lang.js +8 -8
  304. package/dist/vue/Group.vue_vue_type_script_setup_true_lang.js +8 -8
  305. package/dist/vue/Halftone.vue_vue_type_script_setup_true_lang.js +8 -8
  306. package/dist/vue/HueShift.vue_vue_type_script_setup_true_lang.js +8 -8
  307. package/dist/vue/ImageTexture.vue_vue_type_script_setup_true_lang.js +8 -8
  308. package/dist/vue/Invert.vue_vue_type_script_setup_true_lang.js +8 -8
  309. package/dist/vue/Kaleidoscope.js +3 -0
  310. package/dist/vue/Kaleidoscope.vue_vue_type_script_setup_true_lang.js +127 -0
  311. package/dist/vue/LinearBlur.vue_vue_type_script_setup_true_lang.js +8 -8
  312. package/dist/vue/LinearGradient.vue_vue_type_script_setup_true_lang.js +8 -8
  313. package/dist/vue/Liquify.vue_vue_type_script_setup_true_lang.js +8 -8
  314. package/dist/vue/Mirror.js +3 -0
  315. package/dist/vue/Mirror.vue_vue_type_script_setup_true_lang.js +126 -0
  316. package/dist/vue/Perspective.vue_vue_type_script_setup_true_lang.js +8 -8
  317. package/dist/vue/Pixelate.vue_vue_type_script_setup_true_lang.js +8 -8
  318. package/dist/vue/PolarCoordinates.vue_vue_type_script_setup_true_lang.js +8 -8
  319. package/dist/vue/Posterize.vue_vue_type_script_setup_true_lang.js +8 -8
  320. package/dist/vue/ProgressiveBlur.vue_vue_type_script_setup_true_lang.js +8 -8
  321. package/dist/vue/RadialGradient.vue_vue_type_script_setup_true_lang.js +8 -8
  322. package/dist/vue/RectangularCoordinates.vue_vue_type_script_setup_true_lang.js +8 -8
  323. package/dist/vue/Ripples.vue_vue_type_script_setup_true_lang.js +8 -8
  324. package/dist/vue/Saturation.vue_vue_type_script_setup_true_lang.js +8 -8
  325. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +27 -14
  326. package/dist/vue/Sharpness.vue_vue_type_script_setup_true_lang.js +8 -8
  327. package/dist/vue/Shatter.vue_vue_type_script_setup_true_lang.js +8 -8
  328. package/dist/vue/SimplexNoise.vue_vue_type_script_setup_true_lang.js +8 -8
  329. package/dist/vue/SineWave.vue_vue_type_script_setup_true_lang.js +8 -8
  330. package/dist/vue/SolidColor.vue_vue_type_script_setup_true_lang.js +8 -8
  331. package/dist/vue/Spherize.vue_vue_type_script_setup_true_lang.js +8 -8
  332. package/dist/vue/Spiral.vue_vue_type_script_setup_true_lang.js +8 -8
  333. package/dist/vue/Strands.vue_vue_type_script_setup_true_lang.js +8 -8
  334. package/dist/vue/Stretch.vue_vue_type_script_setup_true_lang.js +8 -8
  335. package/dist/vue/Stripes.vue_vue_type_script_setup_true_lang.js +8 -8
  336. package/dist/vue/Swirl.vue_vue_type_script_setup_true_lang.js +8 -8
  337. package/dist/vue/TiltShift.vue_vue_type_script_setup_true_lang.js +8 -8
  338. package/dist/vue/Tint.vue_vue_type_script_setup_true_lang.js +8 -8
  339. package/dist/vue/Tritone.vue_vue_type_script_setup_true_lang.js +8 -8
  340. package/dist/vue/Twirl.vue_vue_type_script_setup_true_lang.js +8 -8
  341. package/dist/vue/Vibrance.vue_vue_type_script_setup_true_lang.js +8 -8
  342. package/dist/vue/WaveDistortion.vue_vue_type_script_setup_true_lang.js +8 -8
  343. package/dist/vue/WebcamTexture.vue_vue_type_script_setup_true_lang.js +8 -8
  344. package/dist/vue/ZoomBlur.vue_vue_type_script_setup_true_lang.js +8 -8
  345. package/dist/vue/components/Kaleidoscope.vue.d.ts +57 -0
  346. package/dist/vue/components/Kaleidoscope.vue.d.ts.map +1 -0
  347. package/dist/vue/components/Mirror.vue.d.ts +57 -0
  348. package/dist/vue/components/Mirror.vue.d.ts.map +1 -0
  349. package/dist/vue/engine/Shader.vue.d.ts +4 -4
  350. package/dist/vue/engine/Shader.vue.d.ts.map +1 -1
  351. package/dist/vue/index.d.ts +2 -0
  352. package/dist/vue/index.d.ts.map +1 -1
  353. package/dist/vue/index.js +3 -1
  354. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  355. package/dist/vue/utils/generatePresetCode.js +10 -0
  356. package/package.json +19 -4
  357. /package/dist/core/{LinearBlur-CfMT259a.js → LinearBlur-B-rumcdD.js} +0 -0
  358. /package/dist/core/{LinearGradient-Cn7w-umQ.js → LinearGradient-Al78T7WU.js} +0 -0
  359. /package/dist/core/{Liquify-BCkIt0A1.js → Liquify-BJgkphoQ.js} +0 -0
  360. /package/dist/core/{Perspective-CJOFHxEC.js → Perspective-CPhjpprG.js} +0 -0
  361. /package/dist/core/{Pixelate-BhNAxBsT.js → Pixelate-rlHN9jV1.js} +0 -0
  362. /package/dist/core/{PolarCoordinates-DLs3K__1.js → PolarCoordinates-Bfa-U0fi.js} +0 -0
  363. /package/dist/core/{Posterize-XoAqPWv2.js → Posterize-DDzCt2n9.js} +0 -0
  364. /package/dist/core/{ProgressiveBlur-BIZSnUjp.js → ProgressiveBlur-9-KRqfdm.js} +0 -0
  365. /package/dist/core/{RadialGradient-sQgXXXQk.js → RadialGradient-BHuQVJ4Q.js} +0 -0
  366. /package/dist/core/{RectangularCoordinates-CyarkXn0.js → RectangularCoordinates-CMd1Rp4Y.js} +0 -0
  367. /package/dist/core/{Ripples-Djjw66Bn.js → Ripples-Cil48gEl.js} +0 -0
  368. /package/dist/core/{Saturation-DLHW_GP6.js → Saturation-D_yZO7cz.js} +0 -0
  369. /package/dist/core/{Sharpness-DkGuV_dy.js → Sharpness-229T6rR0.js} +0 -0
  370. /package/dist/core/{Shatter-DVgj2Ea3.js → Shatter-B9tvT-jr.js} +0 -0
  371. /package/dist/core/{SimplexNoise-BXtLTcAr.js → SimplexNoise-YauHkNYZ.js} +0 -0
  372. /package/dist/core/{SineWave-BxqFasFh.js → SineWave-BEm0T7c8.js} +0 -0
  373. /package/dist/core/{SolidColor-DFkDBFq3.js → SolidColor-BSC8voa9.js} +0 -0
  374. /package/dist/core/{Spherize-DIJ4c_EG.js → Spherize-C6xkW6TJ.js} +0 -0
  375. /package/dist/core/{Spiral-BBtmU1Fv.js → Spiral-BY5eOKPL.js} +0 -0
  376. /package/dist/core/{Strands-D6UOhX0L.js → Strands-C5-TqTXW.js} +0 -0
  377. /package/dist/core/{Stretch-DLpz8Ofm.js → Stretch-CatYi4MC.js} +0 -0
  378. /package/dist/core/{Stripes-Bre3Z2m_.js → Stripes-BbNIMHDl.js} +0 -0
  379. /package/dist/core/{Swirl-CfsYsr4X.js → Swirl-ytfGCJTs.js} +0 -0
  380. /package/dist/core/{TiltShift-BPpXBzBg.js → TiltShift-CvEKlLKc.js} +0 -0
  381. /package/dist/core/{Tint-BazvezVn.js → Tint-PBKR7M-T.js} +0 -0
  382. /package/dist/core/{Tritone-w0h2ebDB.js → Tritone-D1rsE5HX.js} +0 -0
  383. /package/dist/core/{Twirl-dmfYS2Eo.js → Twirl-BQzDHvml.js} +0 -0
  384. /package/dist/core/{Vibrance-BpWyAK9W.js → Vibrance-JFvD6I5g.js} +0 -0
  385. /package/dist/core/{WaveDistortion-hWdvaZmT.js → WaveDistortion-D9Dox1gF.js} +0 -0
  386. /package/dist/core/{WebcamTexture-D4Uv7Plz.js → WebcamTexture-BnrsnuMO.js} +0 -0
  387. /package/dist/core/{ZoomBlur-DCI4uHOL.js → ZoomBlur-D9At8opY.js} +0 -0
@@ -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/Mirror/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 Mirror_default = ShaderComponent;
144
+ export { Mirror_default as default };
@@ -1,4 +1,4 @@
1
- import { OmbreContext } from "./Shader.js";
1
+ import { ShaderContext } from "./Shader.js";
2
2
  import { useContext, useEffect, useMemo, useRef } from "react";
3
3
  import { createUniformsMap } from "../core/index.js";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -30,10 +30,10 @@ try {
30
30
  } catch (e) {
31
31
  console.warn("Error extracting default props:", e);
32
32
  }
33
- const OmbreComponent = (props) => {
34
- const context = useContext(OmbreContext);
33
+ const ShaderComponent = (props) => {
34
+ const context = useContext(ShaderContext);
35
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;
36
+ const { shaderParentId: parentId, shaderNodeRegister: parentRegister, shaderUniformUpdate: parentUniformUpdate, shaderMetadataUpdate: parentMetadataUpdate } = context;
37
37
  const instanceId = useMemo(() => {
38
38
  return props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
39
39
  }, [props.id]);
@@ -49,7 +49,7 @@ const OmbreComponent = (props) => {
49
49
  const childContextValue = useMemo(() => {
50
50
  return {
51
51
  ...context,
52
- ombreParentId: instanceId
52
+ shaderParentId: instanceId
53
53
  };
54
54
  }, [context, instanceId]);
55
55
  useEffect(() => {
@@ -135,10 +135,10 @@ const OmbreComponent = (props) => {
135
135
  if (props.ref && typeof props.ref === "function") try {
136
136
  props.ref(null);
137
137
  } catch (e) {}
138
- return /* @__PURE__ */ jsx(OmbreContext.Provider, {
138
+ return /* @__PURE__ */ jsx(ShaderContext.Provider, {
139
139
  value: childContextValue,
140
140
  children: props.children
141
141
  });
142
142
  };
143
- var Perspective_default = OmbreComponent;
143
+ var Perspective_default = ShaderComponent;
144
144
  export { Perspective_default as default };
@@ -1,4 +1,4 @@
1
- import { OmbreContext } from "./Shader.js";
1
+ import { ShaderContext } from "./Shader.js";
2
2
  import { useContext, useEffect, useMemo, useRef } from "react";
3
3
  import { createUniformsMap } from "../core/index.js";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -30,10 +30,10 @@ try {
30
30
  } catch (e) {
31
31
  console.warn("Error extracting default props:", e);
32
32
  }
33
- const OmbreComponent = (props) => {
34
- const context = useContext(OmbreContext);
33
+ const ShaderComponent = (props) => {
34
+ const context = useContext(ShaderContext);
35
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;
36
+ const { shaderParentId: parentId, shaderNodeRegister: parentRegister, shaderUniformUpdate: parentUniformUpdate, shaderMetadataUpdate: parentMetadataUpdate } = context;
37
37
  const instanceId = useMemo(() => {
38
38
  return props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
39
39
  }, [props.id]);
@@ -49,7 +49,7 @@ const OmbreComponent = (props) => {
49
49
  const childContextValue = useMemo(() => {
50
50
  return {
51
51
  ...context,
52
- ombreParentId: instanceId
52
+ shaderParentId: instanceId
53
53
  };
54
54
  }, [context, instanceId]);
55
55
  useEffect(() => {
@@ -135,10 +135,10 @@ const OmbreComponent = (props) => {
135
135
  if (props.ref && typeof props.ref === "function") try {
136
136
  props.ref(null);
137
137
  } catch (e) {}
138
- return /* @__PURE__ */ jsx(OmbreContext.Provider, {
138
+ return /* @__PURE__ */ jsx(ShaderContext.Provider, {
139
139
  value: childContextValue,
140
140
  children: props.children
141
141
  });
142
142
  };
143
- var Pixelate_default = OmbreComponent;
143
+ var Pixelate_default = ShaderComponent;
144
144
  export { Pixelate_default as default };
@@ -1,4 +1,4 @@
1
- import { OmbreContext } from "./Shader.js";
1
+ import { ShaderContext } from "./Shader.js";
2
2
  import { useContext, useEffect, useMemo, useRef } from "react";
3
3
  import { createUniformsMap } from "../core/index.js";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -30,10 +30,10 @@ try {
30
30
  } catch (e) {
31
31
  console.warn("Error extracting default props:", e);
32
32
  }
33
- const OmbreComponent = (props) => {
34
- const context = useContext(OmbreContext);
33
+ const ShaderComponent = (props) => {
34
+ const context = useContext(ShaderContext);
35
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;
36
+ const { shaderParentId: parentId, shaderNodeRegister: parentRegister, shaderUniformUpdate: parentUniformUpdate, shaderMetadataUpdate: parentMetadataUpdate } = context;
37
37
  const instanceId = useMemo(() => {
38
38
  return props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
39
39
  }, [props.id]);
@@ -49,7 +49,7 @@ const OmbreComponent = (props) => {
49
49
  const childContextValue = useMemo(() => {
50
50
  return {
51
51
  ...context,
52
- ombreParentId: instanceId
52
+ shaderParentId: instanceId
53
53
  };
54
54
  }, [context, instanceId]);
55
55
  useEffect(() => {
@@ -135,10 +135,10 @@ const OmbreComponent = (props) => {
135
135
  if (props.ref && typeof props.ref === "function") try {
136
136
  props.ref(null);
137
137
  } catch (e) {}
138
- return /* @__PURE__ */ jsx(OmbreContext.Provider, {
138
+ return /* @__PURE__ */ jsx(ShaderContext.Provider, {
139
139
  value: childContextValue,
140
140
  children: props.children
141
141
  });
142
142
  };
143
- var PolarCoordinates_default = OmbreComponent;
143
+ var PolarCoordinates_default = ShaderComponent;
144
144
  export { PolarCoordinates_default as default };
@@ -1,4 +1,4 @@
1
- import { OmbreContext } from "./Shader.js";
1
+ import { ShaderContext } from "./Shader.js";
2
2
  import { useContext, useEffect, useMemo, useRef } from "react";
3
3
  import { createUniformsMap } from "../core/index.js";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -30,10 +30,10 @@ try {
30
30
  } catch (e) {
31
31
  console.warn("Error extracting default props:", e);
32
32
  }
33
- const OmbreComponent = (props) => {
34
- const context = useContext(OmbreContext);
33
+ const ShaderComponent = (props) => {
34
+ const context = useContext(ShaderContext);
35
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;
36
+ const { shaderParentId: parentId, shaderNodeRegister: parentRegister, shaderUniformUpdate: parentUniformUpdate, shaderMetadataUpdate: parentMetadataUpdate } = context;
37
37
  const instanceId = useMemo(() => {
38
38
  return props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
39
39
  }, [props.id]);
@@ -49,7 +49,7 @@ const OmbreComponent = (props) => {
49
49
  const childContextValue = useMemo(() => {
50
50
  return {
51
51
  ...context,
52
- ombreParentId: instanceId
52
+ shaderParentId: instanceId
53
53
  };
54
54
  }, [context, instanceId]);
55
55
  useEffect(() => {
@@ -135,10 +135,10 @@ const OmbreComponent = (props) => {
135
135
  if (props.ref && typeof props.ref === "function") try {
136
136
  props.ref(null);
137
137
  } catch (e) {}
138
- return /* @__PURE__ */ jsx(OmbreContext.Provider, {
138
+ return /* @__PURE__ */ jsx(ShaderContext.Provider, {
139
139
  value: childContextValue,
140
140
  children: props.children
141
141
  });
142
142
  };
143
- var Posterize_default = OmbreComponent;
143
+ var Posterize_default = ShaderComponent;
144
144
  export { Posterize_default as default };
@@ -1,4 +1,4 @@
1
- import { OmbreContext } from "./Shader.js";
1
+ import { ShaderContext } from "./Shader.js";
2
2
  import { useContext, useEffect, useMemo, useRef } from "react";
3
3
  import { createUniformsMap } from "../core/index.js";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -30,10 +30,10 @@ try {
30
30
  } catch (e) {
31
31
  console.warn("Error extracting default props:", e);
32
32
  }
33
- const OmbreComponent = (props) => {
34
- const context = useContext(OmbreContext);
33
+ const ShaderComponent = (props) => {
34
+ const context = useContext(ShaderContext);
35
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;
36
+ const { shaderParentId: parentId, shaderNodeRegister: parentRegister, shaderUniformUpdate: parentUniformUpdate, shaderMetadataUpdate: parentMetadataUpdate } = context;
37
37
  const instanceId = useMemo(() => {
38
38
  return props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
39
39
  }, [props.id]);
@@ -49,7 +49,7 @@ const OmbreComponent = (props) => {
49
49
  const childContextValue = useMemo(() => {
50
50
  return {
51
51
  ...context,
52
- ombreParentId: instanceId
52
+ shaderParentId: instanceId
53
53
  };
54
54
  }, [context, instanceId]);
55
55
  useEffect(() => {
@@ -135,10 +135,10 @@ const OmbreComponent = (props) => {
135
135
  if (props.ref && typeof props.ref === "function") try {
136
136
  props.ref(null);
137
137
  } catch (e) {}
138
- return /* @__PURE__ */ jsx(OmbreContext.Provider, {
138
+ return /* @__PURE__ */ jsx(ShaderContext.Provider, {
139
139
  value: childContextValue,
140
140
  children: props.children
141
141
  });
142
142
  };
143
- var ProgressiveBlur_default = OmbreComponent;
143
+ var ProgressiveBlur_default = ShaderComponent;
144
144
  export { ProgressiveBlur_default as default };
@@ -1,4 +1,4 @@
1
- import { OmbreContext } from "./Shader.js";
1
+ import { ShaderContext } from "./Shader.js";
2
2
  import { useContext, useEffect, useMemo, useRef } from "react";
3
3
  import { createUniformsMap } from "../core/index.js";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -30,10 +30,10 @@ try {
30
30
  } catch (e) {
31
31
  console.warn("Error extracting default props:", e);
32
32
  }
33
- const OmbreComponent = (props) => {
34
- const context = useContext(OmbreContext);
33
+ const ShaderComponent = (props) => {
34
+ const context = useContext(ShaderContext);
35
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;
36
+ const { shaderParentId: parentId, shaderNodeRegister: parentRegister, shaderUniformUpdate: parentUniformUpdate, shaderMetadataUpdate: parentMetadataUpdate } = context;
37
37
  const instanceId = useMemo(() => {
38
38
  return props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
39
39
  }, [props.id]);
@@ -49,7 +49,7 @@ const OmbreComponent = (props) => {
49
49
  const childContextValue = useMemo(() => {
50
50
  return {
51
51
  ...context,
52
- ombreParentId: instanceId
52
+ shaderParentId: instanceId
53
53
  };
54
54
  }, [context, instanceId]);
55
55
  useEffect(() => {
@@ -135,10 +135,10 @@ const OmbreComponent = (props) => {
135
135
  if (props.ref && typeof props.ref === "function") try {
136
136
  props.ref(null);
137
137
  } catch (e) {}
138
- return /* @__PURE__ */ jsx(OmbreContext.Provider, {
138
+ return /* @__PURE__ */ jsx(ShaderContext.Provider, {
139
139
  value: childContextValue,
140
140
  children: props.children
141
141
  });
142
142
  };
143
- var RadialGradient_default = OmbreComponent;
143
+ var RadialGradient_default = ShaderComponent;
144
144
  export { RadialGradient_default as default };
@@ -1,4 +1,4 @@
1
- import { OmbreContext } from "./Shader.js";
1
+ import { ShaderContext } from "./Shader.js";
2
2
  import { useContext, useEffect, useMemo, useRef } from "react";
3
3
  import { createUniformsMap } from "../core/index.js";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -30,10 +30,10 @@ try {
30
30
  } catch (e) {
31
31
  console.warn("Error extracting default props:", e);
32
32
  }
33
- const OmbreComponent = (props) => {
34
- const context = useContext(OmbreContext);
33
+ const ShaderComponent = (props) => {
34
+ const context = useContext(ShaderContext);
35
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;
36
+ const { shaderParentId: parentId, shaderNodeRegister: parentRegister, shaderUniformUpdate: parentUniformUpdate, shaderMetadataUpdate: parentMetadataUpdate } = context;
37
37
  const instanceId = useMemo(() => {
38
38
  return props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
39
39
  }, [props.id]);
@@ -49,7 +49,7 @@ const OmbreComponent = (props) => {
49
49
  const childContextValue = useMemo(() => {
50
50
  return {
51
51
  ...context,
52
- ombreParentId: instanceId
52
+ shaderParentId: instanceId
53
53
  };
54
54
  }, [context, instanceId]);
55
55
  useEffect(() => {
@@ -135,10 +135,10 @@ const OmbreComponent = (props) => {
135
135
  if (props.ref && typeof props.ref === "function") try {
136
136
  props.ref(null);
137
137
  } catch (e) {}
138
- return /* @__PURE__ */ jsx(OmbreContext.Provider, {
138
+ return /* @__PURE__ */ jsx(ShaderContext.Provider, {
139
139
  value: childContextValue,
140
140
  children: props.children
141
141
  });
142
142
  };
143
- var RectangularCoordinates_default = OmbreComponent;
143
+ var RectangularCoordinates_default = ShaderComponent;
144
144
  export { RectangularCoordinates_default as default };
@@ -1,4 +1,4 @@
1
- import { OmbreContext } from "./Shader.js";
1
+ import { ShaderContext } from "./Shader.js";
2
2
  import { useContext, useEffect, useMemo, useRef } from "react";
3
3
  import { createUniformsMap } from "../core/index.js";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -30,10 +30,10 @@ try {
30
30
  } catch (e) {
31
31
  console.warn("Error extracting default props:", e);
32
32
  }
33
- const OmbreComponent = (props) => {
34
- const context = useContext(OmbreContext);
33
+ const ShaderComponent = (props) => {
34
+ const context = useContext(ShaderContext);
35
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;
36
+ const { shaderParentId: parentId, shaderNodeRegister: parentRegister, shaderUniformUpdate: parentUniformUpdate, shaderMetadataUpdate: parentMetadataUpdate } = context;
37
37
  const instanceId = useMemo(() => {
38
38
  return props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
39
39
  }, [props.id]);
@@ -49,7 +49,7 @@ const OmbreComponent = (props) => {
49
49
  const childContextValue = useMemo(() => {
50
50
  return {
51
51
  ...context,
52
- ombreParentId: instanceId
52
+ shaderParentId: instanceId
53
53
  };
54
54
  }, [context, instanceId]);
55
55
  useEffect(() => {
@@ -135,10 +135,10 @@ const OmbreComponent = (props) => {
135
135
  if (props.ref && typeof props.ref === "function") try {
136
136
  props.ref(null);
137
137
  } catch (e) {}
138
- return /* @__PURE__ */ jsx(OmbreContext.Provider, {
138
+ return /* @__PURE__ */ jsx(ShaderContext.Provider, {
139
139
  value: childContextValue,
140
140
  children: props.children
141
141
  });
142
142
  };
143
- var Ripples_default = OmbreComponent;
143
+ var Ripples_default = ShaderComponent;
144
144
  export { Ripples_default as default };
@@ -1,4 +1,4 @@
1
- import { OmbreContext } from "./Shader.js";
1
+ import { ShaderContext } from "./Shader.js";
2
2
  import { useContext, useEffect, useMemo, useRef } from "react";
3
3
  import { createUniformsMap } from "../core/index.js";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -30,10 +30,10 @@ try {
30
30
  } catch (e) {
31
31
  console.warn("Error extracting default props:", e);
32
32
  }
33
- const OmbreComponent = (props) => {
34
- const context = useContext(OmbreContext);
33
+ const ShaderComponent = (props) => {
34
+ const context = useContext(ShaderContext);
35
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;
36
+ const { shaderParentId: parentId, shaderNodeRegister: parentRegister, shaderUniformUpdate: parentUniformUpdate, shaderMetadataUpdate: parentMetadataUpdate } = context;
37
37
  const instanceId = useMemo(() => {
38
38
  return props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
39
39
  }, [props.id]);
@@ -49,7 +49,7 @@ const OmbreComponent = (props) => {
49
49
  const childContextValue = useMemo(() => {
50
50
  return {
51
51
  ...context,
52
- ombreParentId: instanceId
52
+ shaderParentId: instanceId
53
53
  };
54
54
  }, [context, instanceId]);
55
55
  useEffect(() => {
@@ -135,10 +135,10 @@ const OmbreComponent = (props) => {
135
135
  if (props.ref && typeof props.ref === "function") try {
136
136
  props.ref(null);
137
137
  } catch (e) {}
138
- return /* @__PURE__ */ jsx(OmbreContext.Provider, {
138
+ return /* @__PURE__ */ jsx(ShaderContext.Provider, {
139
139
  value: childContextValue,
140
140
  children: props.children
141
141
  });
142
142
  };
143
- var Saturation_default = OmbreComponent;
143
+ var Saturation_default = ShaderComponent;
144
144
  export { Saturation_default as default };
@@ -3,14 +3,15 @@ import { shaderRenderer } from "../core/index.js";
3
3
  import { vec4 } from "three/tsl";
4
4
  import { TelemetryCollector, isExternalUser, shouldCollectTelemetry } from "../core/telemetry/index.js";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
- const OmbreContext = createContext(null);
7
- const Shader = ({ children, hideNotice = false, style = {}, className = "",...rest }) => {
6
+ const ShaderContext = createContext(null);
7
+ const Shader = ({ children, disableTelemetry = false, style = {}, className = "",...rest }) => {
8
8
  const containerRef = useRef(null);
9
9
  const canvasRef = useRef(null);
10
- const rootId = useMemo(() => "ombre-root-" + Math.random().toString(36).substring(7), []);
10
+ const rootId = useMemo(() => "shader-root-" + Math.random().toString(36).substring(7), []);
11
11
  const rendererRef = useRef(null);
12
12
  if (rendererRef.current === null) rendererRef.current = shaderRenderer();
13
13
  const telemetryCollectorRef = useRef(null);
14
+ const telemetryStartTimeoutRef = useRef(null);
14
15
  const nodeRegister = useMemo(() => {
15
16
  return (id, fragmentNodeFunc, parentId, metadata, uniforms = null, componentDefinition = null) => {
16
17
  if (fragmentNodeFunc === null) {
@@ -52,10 +53,10 @@ const Shader = ({ children, hideNotice = false, style = {}, className = "",...re
52
53
  }, []);
53
54
  const contextValue = useMemo(() => {
54
55
  return {
55
- ombreParentId: rootId,
56
- ombreNodeRegister: nodeRegister,
57
- ombreUniformUpdate: uniformUpdate,
58
- ombreMetadataUpdate: metadataUpdate
56
+ shaderParentId: rootId,
57
+ shaderNodeRegister: nodeRegister,
58
+ shaderUniformUpdate: uniformUpdate,
59
+ shaderMetadataUpdate: metadataUpdate
59
60
  };
60
61
  }, [
61
62
  rootId,
@@ -68,6 +69,20 @@ const Shader = ({ children, hideNotice = false, style = {}, className = "",...re
68
69
  const isCleanedUpRef = useRef(false);
69
70
  const wasVisibleRef = useRef(false);
70
71
  const visibilityObserverRef = useRef(null);
72
+ const startTelemetryWhenReady = () => {
73
+ const checkRendering = () => {
74
+ if (isCleanedUpRef.current || !rendererRef.current) {
75
+ telemetryStartTimeoutRef.current = null;
76
+ return;
77
+ }
78
+ if (rendererRef.current.getPerformanceStats().fps > 0) {
79
+ telemetryCollectorRef.current = new TelemetryCollector(rendererRef.current);
80
+ telemetryCollectorRef.current.start();
81
+ telemetryStartTimeoutRef.current = null;
82
+ } else telemetryStartTimeoutRef.current = window.setTimeout(checkRendering, 500);
83
+ };
84
+ telemetryStartTimeoutRef.current = window.setTimeout(checkRendering, 500);
85
+ };
71
86
  const initializeRenderer = async () => {
72
87
  const canvas = canvasRef.current;
73
88
  if (!canvas || isInitializedRef.current || isInitializingRef.current) return;
@@ -78,11 +93,7 @@ const Shader = ({ children, hideNotice = false, style = {}, className = "",...re
78
93
  renderer.registerNode(rootId, ({ childNode }) => childNode || vec4(0, 0, 0, 0), null, null, {});
79
94
  isInitializedRef.current = true;
80
95
  isInitializingRef.current = false;
81
- if (!hideNotice) renderer.showLicenseWarning();
82
- if (isExternalUser() && shouldCollectTelemetry()) {
83
- telemetryCollectorRef.current = new TelemetryCollector(renderer);
84
- telemetryCollectorRef.current.start();
85
- }
96
+ if (isExternalUser() && shouldCollectTelemetry(disableTelemetry) && !telemetryCollectorRef.current) startTelemetryWhenReady();
86
97
  } catch (err) {
87
98
  console.error("[Shader] Initialization failed:", err);
88
99
  isInitializingRef.current = false;
@@ -98,8 +109,10 @@ const Shader = ({ children, hideNotice = false, style = {}, className = "",...re
98
109
  const rect = container.getBoundingClientRect();
99
110
  const isCurrentlyVisible = entry.isIntersecting && rect && rect.width > 0 && rect.height > 0;
100
111
  if (isCurrentlyVisible && !wasVisibleRef.current) {
101
- if (rendererRef.current.isInitialized()) rendererRef.current.startAnimation();
102
- else initializeRenderer().catch(console.error);
112
+ if (rendererRef.current.isInitialized()) {
113
+ rendererRef.current.startAnimation();
114
+ if (isExternalUser() && shouldCollectTelemetry(disableTelemetry) && !telemetryCollectorRef.current && !telemetryStartTimeoutRef.current) startTelemetryWhenReady();
115
+ } else initializeRenderer().catch(console.error);
103
116
  wasVisibleRef.current = true;
104
117
  } else if (!isCurrentlyVisible && wasVisibleRef.current) {
105
118
  rendererRef.current.stopAnimation();
@@ -125,6 +138,10 @@ const Shader = ({ children, hideNotice = false, style = {}, className = "",...re
125
138
  telemetryCollectorRef.current.stop();
126
139
  telemetryCollectorRef.current = null;
127
140
  }
141
+ if (telemetryStartTimeoutRef.current !== null) {
142
+ clearTimeout(telemetryStartTimeoutRef.current);
143
+ telemetryStartTimeoutRef.current = null;
144
+ }
128
145
  if (visibilityObserverRef.current) {
129
146
  visibilityObserverRef.current.disconnect();
130
147
  visibilityObserverRef.current = null;
@@ -138,12 +155,7 @@ const Shader = ({ children, hideNotice = false, style = {}, className = "",...re
138
155
  isInitializingRef.current = false;
139
156
  };
140
157
  }, []);
141
- useEffect(() => {
142
- if (!hideNotice && rendererRef.current && isInitializedRef.current) try {
143
- rendererRef.current.showLicenseWarning();
144
- } catch (err) {}
145
- }, [hideNotice]);
146
- return /* @__PURE__ */ jsx(OmbreContext.Provider, {
158
+ return /* @__PURE__ */ jsx(ShaderContext.Provider, {
147
159
  value: contextValue,
148
160
  children: /* @__PURE__ */ jsxs("div", {
149
161
  ref: containerRef,
@@ -163,4 +175,4 @@ const Shader = ({ children, hideNotice = false, style = {}, className = "",...re
163
175
  });
164
176
  };
165
177
  var Shader_default = Shader;
166
- export { OmbreContext, Shader_default as default };
178
+ export { ShaderContext, Shader_default as default };