shaders 2.5.91 → 2.5.93

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 (940) hide show
  1. package/dist/core/DOMTexture-Dw3Qakny.js +97 -0
  2. package/dist/core/{DropShadow-_VJqd8du.js → DropShadow-BRoXryDA.js} +18 -3
  3. package/dist/core/{VideoTexture-C90aUnt4.js → VideoTexture-BobyGZGr.js} +1 -1
  4. package/dist/core/{WebcamTexture-7SK_C_Xf.js → WebcamTexture-BXj7sqND.js} +1 -1
  5. package/dist/core/index.js +98 -89
  6. package/dist/core/registry.js +80 -79
  7. package/dist/core/renderer.d.ts +5 -1
  8. package/dist/core/renderer.d.ts.map +1 -1
  9. package/dist/core/shaderRegistry-BZ6QG12o.js +244 -0
  10. package/dist/core/shaderRegistry.d.ts.map +1 -1
  11. package/dist/core/shaders/DOMTexture/index.d.ts +7 -0
  12. package/dist/core/shaders/DOMTexture/index.d.ts.map +1 -0
  13. package/dist/core/shaders/DOMTexture/index.js +2 -0
  14. package/dist/core/shaders/DotGrid/index.js +1 -1
  15. package/dist/core/shaders/DropShadow/index.d.ts +7 -0
  16. package/dist/core/shaders/DropShadow/index.d.ts.map +1 -1
  17. package/dist/core/shaders/DropShadow/index.js +1 -1
  18. package/dist/core/shaders/Duotone/index.js +1 -1
  19. package/dist/core/shaders/Ellipse/index.js +1 -1
  20. package/dist/core/shaders/Emboss/index.js +1 -1
  21. package/dist/core/shaders/FallingLines/index.js +1 -1
  22. package/dist/core/shaders/FilmGrain/index.js +1 -1
  23. package/dist/core/shaders/FloatingParticles/index.js +1 -1
  24. package/dist/core/shaders/FlowField/index.js +1 -1
  25. package/dist/core/shaders/Flower/index.js +1 -1
  26. package/dist/core/shaders/FlowingGradient/index.js +1 -1
  27. package/dist/core/shaders/Form3D/index.js +1 -1
  28. package/dist/core/shaders/Glass/index.js +1 -1
  29. package/dist/core/shaders/GlassTiles/index.js +1 -1
  30. package/dist/core/shaders/Glitch/index.js +1 -1
  31. package/dist/core/shaders/Glow/index.js +1 -1
  32. package/dist/core/shaders/Godrays/index.js +1 -1
  33. package/dist/core/shaders/Grayscale/index.js +1 -1
  34. package/dist/core/shaders/Grid/index.js +1 -1
  35. package/dist/core/shaders/GridDistortion/index.js +1 -1
  36. package/dist/core/shaders/Group/index.js +1 -1
  37. package/dist/core/shaders/Halftone/index.js +1 -1
  38. package/dist/core/shaders/HexGrid/index.js +1 -1
  39. package/dist/core/shaders/HueShift/index.js +1 -1
  40. package/dist/core/shaders/ImageTexture/index.js +1 -1
  41. package/dist/core/shaders/Invert/index.js +1 -1
  42. package/dist/core/shaders/Kaleidoscope/index.js +1 -1
  43. package/dist/core/shaders/LensFlare/index.js +1 -1
  44. package/dist/core/shaders/LinearBlur/index.js +1 -1
  45. package/dist/core/shaders/LinearGradient/index.js +1 -1
  46. package/dist/core/shaders/Liquify/index.js +1 -1
  47. package/dist/core/shaders/Mirror/index.js +1 -1
  48. package/dist/core/shaders/MultiPointGradient/index.js +1 -1
  49. package/dist/core/shaders/Neon/index.js +1 -1
  50. package/dist/core/shaders/Paper/index.js +1 -1
  51. package/dist/core/shaders/Perspective/index.js +1 -1
  52. package/dist/core/shaders/Pixelate/index.js +1 -1
  53. package/dist/core/shaders/Plasma/index.js +1 -1
  54. package/dist/core/shaders/PolarCoordinates/index.js +1 -1
  55. package/dist/core/shaders/Polygon/index.js +1 -1
  56. package/dist/core/shaders/Posterize/index.js +1 -1
  57. package/dist/core/shaders/ProgressiveBlur/index.js +1 -1
  58. package/dist/core/shaders/RadialGradient/index.js +1 -1
  59. package/dist/core/shaders/RectangularCoordinates/index.js +1 -1
  60. package/dist/core/shaders/Ring/index.js +1 -1
  61. package/dist/core/shaders/Ripples/index.js +1 -1
  62. package/dist/core/shaders/RoundedRect/index.js +1 -1
  63. package/dist/core/shaders/Saturation/index.js +1 -1
  64. package/dist/core/shaders/Sharpness/index.js +1 -1
  65. package/dist/core/shaders/Shatter/index.js +1 -1
  66. package/dist/core/shaders/SimplexNoise/index.js +1 -1
  67. package/dist/core/shaders/SineWave/index.js +1 -1
  68. package/dist/core/shaders/Solarize/index.js +1 -1
  69. package/dist/core/shaders/SolidColor/index.js +1 -1
  70. package/dist/core/shaders/Spherize/index.js +1 -1
  71. package/dist/core/shaders/Spiral/index.js +1 -1
  72. package/dist/core/shaders/Star/index.js +1 -1
  73. package/dist/core/shaders/Strands/index.js +1 -1
  74. package/dist/core/shaders/Stretch/index.js +1 -1
  75. package/dist/core/shaders/Stripes/index.js +1 -1
  76. package/dist/core/shaders/StudioBackground/index.js +1 -1
  77. package/dist/core/shaders/Swirl/index.js +1 -1
  78. package/dist/core/shaders/TiltShift/index.js +1 -1
  79. package/dist/core/shaders/Tint/index.js +1 -1
  80. package/dist/core/shaders/Trapezoid/index.js +1 -1
  81. package/dist/core/shaders/Tritone/index.js +1 -1
  82. package/dist/core/shaders/Truchet/index.js +1 -1
  83. package/dist/core/shaders/Twirl/index.js +1 -1
  84. package/dist/core/shaders/Vesica/index.js +1 -1
  85. package/dist/core/shaders/Vibrance/index.js +1 -1
  86. package/dist/core/shaders/VideoTexture/index.js +2 -2
  87. package/dist/core/shaders/Vignette/index.js +1 -1
  88. package/dist/core/shaders/Voronoi/index.js +1 -1
  89. package/dist/core/shaders/WaveDistortion/index.js +1 -1
  90. package/dist/core/shaders/Weave/index.js +1 -1
  91. package/dist/core/shaders/WebcamTexture/index.js +2 -2
  92. package/dist/core/shaders/ZoomBlur/index.js +1 -1
  93. package/dist/core/types.d.ts +29 -0
  94. package/dist/core/types.d.ts.map +1 -1
  95. package/dist/js/createShader.js +1 -1
  96. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  97. package/dist/js/utils/generatePresetCode.js +7 -1
  98. package/dist/react/AngularBlur.js +50 -8
  99. package/dist/react/Ascii.js +50 -8
  100. package/dist/react/Aurora.js +50 -8
  101. package/dist/react/Beam.js +50 -8
  102. package/dist/react/Blob.js +50 -8
  103. package/dist/react/Blur.js +50 -8
  104. package/dist/react/BrightnessContrast.js +50 -8
  105. package/dist/react/Bulge.js +50 -8
  106. package/dist/react/CRTScreen.js +50 -8
  107. package/dist/react/ChannelBlur.js +50 -8
  108. package/dist/react/Checkerboard.js +50 -8
  109. package/dist/react/ChromaFlow.js +50 -8
  110. package/dist/react/ChromaticAberration.js +50 -8
  111. package/dist/react/Circle.js +50 -8
  112. package/dist/react/ConcentricSpin.js +50 -8
  113. package/dist/react/ConicGradient.js +50 -8
  114. package/dist/react/ContourLines.js +50 -8
  115. package/dist/react/Crescent.js +50 -8
  116. package/dist/react/Cross.js +50 -8
  117. package/dist/react/Crystal.js +50 -8
  118. package/dist/react/CursorRipples.js +50 -8
  119. package/dist/react/CursorTrail.js +50 -8
  120. package/dist/react/DOMTexture.js +223 -0
  121. package/dist/react/DiamondGradient.js +50 -8
  122. package/dist/react/DiffuseBlur.js +50 -8
  123. package/dist/react/Dither.js +50 -8
  124. package/dist/react/DotGrid.js +50 -8
  125. package/dist/react/DropShadow.js +50 -8
  126. package/dist/react/Duotone.js +50 -8
  127. package/dist/react/Ellipse.js +50 -8
  128. package/dist/react/Emboss.js +50 -8
  129. package/dist/react/FallingLines.js +50 -8
  130. package/dist/react/FilmGrain.js +50 -8
  131. package/dist/react/FloatingParticles.js +50 -8
  132. package/dist/react/FlowField.js +50 -8
  133. package/dist/react/Flower.js +50 -8
  134. package/dist/react/FlowingGradient.js +50 -8
  135. package/dist/react/Form3D.js +50 -8
  136. package/dist/react/Glass.js +50 -8
  137. package/dist/react/GlassTiles.js +50 -8
  138. package/dist/react/Glitch.js +50 -8
  139. package/dist/react/Glow.js +50 -8
  140. package/dist/react/Godrays.js +50 -8
  141. package/dist/react/Grayscale.js +50 -8
  142. package/dist/react/Grid.js +50 -8
  143. package/dist/react/GridDistortion.js +50 -8
  144. package/dist/react/Group.js +50 -8
  145. package/dist/react/Halftone.js +50 -8
  146. package/dist/react/HexGrid.js +50 -8
  147. package/dist/react/HueShift.js +50 -8
  148. package/dist/react/ImageTexture.js +50 -8
  149. package/dist/react/Invert.js +50 -8
  150. package/dist/react/Kaleidoscope.js +50 -8
  151. package/dist/react/LensFlare.js +50 -8
  152. package/dist/react/LinearBlur.js +50 -8
  153. package/dist/react/LinearGradient.js +50 -8
  154. package/dist/react/Liquify.js +50 -8
  155. package/dist/react/Mirror.js +50 -8
  156. package/dist/react/MultiPointGradient.js +50 -8
  157. package/dist/react/Neon.js +50 -8
  158. package/dist/react/Paper.js +50 -8
  159. package/dist/react/Perspective.js +50 -8
  160. package/dist/react/Pixelate.js +50 -8
  161. package/dist/react/Plasma.js +50 -8
  162. package/dist/react/PolarCoordinates.js +50 -8
  163. package/dist/react/Polygon.js +50 -8
  164. package/dist/react/Posterize.js +50 -8
  165. package/dist/react/Preview.js +1 -0
  166. package/dist/react/ProgressiveBlur.js +50 -8
  167. package/dist/react/RadialGradient.js +50 -8
  168. package/dist/react/RectangularCoordinates.js +50 -8
  169. package/dist/react/Ring.js +50 -8
  170. package/dist/react/Ripples.js +50 -8
  171. package/dist/react/RoundedRect.js +50 -8
  172. package/dist/react/Saturation.js +50 -8
  173. package/dist/react/Shader.js +4 -4
  174. package/dist/react/Sharpness.js +50 -8
  175. package/dist/react/Shatter.js +50 -8
  176. package/dist/react/SimplexNoise.js +50 -8
  177. package/dist/react/SineWave.js +50 -8
  178. package/dist/react/Solarize.js +50 -8
  179. package/dist/react/SolidColor.js +50 -8
  180. package/dist/react/Spherize.js +50 -8
  181. package/dist/react/Spiral.js +50 -8
  182. package/dist/react/Star.js +50 -8
  183. package/dist/react/Strands.js +50 -8
  184. package/dist/react/Stretch.js +50 -8
  185. package/dist/react/Stripes.js +50 -8
  186. package/dist/react/StudioBackground.js +50 -8
  187. package/dist/react/Swirl.js +50 -8
  188. package/dist/react/TiltShift.js +50 -8
  189. package/dist/react/Tint.js +50 -8
  190. package/dist/react/Trapezoid.js +50 -8
  191. package/dist/react/Tritone.js +50 -8
  192. package/dist/react/Truchet.js +50 -8
  193. package/dist/react/Twirl.js +50 -8
  194. package/dist/react/Vesica.js +50 -8
  195. package/dist/react/Vibrance.js +50 -8
  196. package/dist/react/VideoTexture.js +50 -8
  197. package/dist/react/Vignette.js +50 -8
  198. package/dist/react/Voronoi.js +50 -8
  199. package/dist/react/WaveDistortion.js +50 -8
  200. package/dist/react/Weave.js +50 -8
  201. package/dist/react/WebcamTexture.js +50 -8
  202. package/dist/react/ZoomBlur.js +50 -8
  203. package/dist/react/components/AngularBlur.d.ts.map +1 -1
  204. package/dist/react/components/Ascii.d.ts.map +1 -1
  205. package/dist/react/components/Aurora.d.ts.map +1 -1
  206. package/dist/react/components/Beam.d.ts.map +1 -1
  207. package/dist/react/components/Blob.d.ts.map +1 -1
  208. package/dist/react/components/Blur.d.ts.map +1 -1
  209. package/dist/react/components/BrightnessContrast.d.ts.map +1 -1
  210. package/dist/react/components/Bulge.d.ts.map +1 -1
  211. package/dist/react/components/CRTScreen.d.ts.map +1 -1
  212. package/dist/react/components/ChannelBlur.d.ts.map +1 -1
  213. package/dist/react/components/Checkerboard.d.ts.map +1 -1
  214. package/dist/react/components/ChromaFlow.d.ts.map +1 -1
  215. package/dist/react/components/ChromaticAberration.d.ts.map +1 -1
  216. package/dist/react/components/Circle.d.ts.map +1 -1
  217. package/dist/react/components/ConcentricSpin.d.ts.map +1 -1
  218. package/dist/react/components/ConicGradient.d.ts.map +1 -1
  219. package/dist/react/components/ContourLines.d.ts.map +1 -1
  220. package/dist/react/components/Crescent.d.ts.map +1 -1
  221. package/dist/react/components/Cross.d.ts.map +1 -1
  222. package/dist/react/components/Crystal.d.ts.map +1 -1
  223. package/dist/react/components/CursorRipples.d.ts.map +1 -1
  224. package/dist/react/components/CursorTrail.d.ts.map +1 -1
  225. package/dist/react/components/DOMTexture.d.ts +31 -0
  226. package/dist/react/components/DOMTexture.d.ts.map +1 -0
  227. package/dist/react/components/DiamondGradient.d.ts.map +1 -1
  228. package/dist/react/components/DiffuseBlur.d.ts.map +1 -1
  229. package/dist/react/components/Dither.d.ts.map +1 -1
  230. package/dist/react/components/DotGrid.d.ts.map +1 -1
  231. package/dist/react/components/DropShadow.d.ts.map +1 -1
  232. package/dist/react/components/Duotone.d.ts.map +1 -1
  233. package/dist/react/components/Ellipse.d.ts.map +1 -1
  234. package/dist/react/components/Emboss.d.ts.map +1 -1
  235. package/dist/react/components/FallingLines.d.ts.map +1 -1
  236. package/dist/react/components/FilmGrain.d.ts.map +1 -1
  237. package/dist/react/components/FloatingParticles.d.ts.map +1 -1
  238. package/dist/react/components/FlowField.d.ts.map +1 -1
  239. package/dist/react/components/Flower.d.ts.map +1 -1
  240. package/dist/react/components/FlowingGradient.d.ts.map +1 -1
  241. package/dist/react/components/Form3D.d.ts.map +1 -1
  242. package/dist/react/components/Glass.d.ts.map +1 -1
  243. package/dist/react/components/GlassTiles.d.ts.map +1 -1
  244. package/dist/react/components/Glitch.d.ts.map +1 -1
  245. package/dist/react/components/Glow.d.ts.map +1 -1
  246. package/dist/react/components/Godrays.d.ts.map +1 -1
  247. package/dist/react/components/Grayscale.d.ts.map +1 -1
  248. package/dist/react/components/Grid.d.ts.map +1 -1
  249. package/dist/react/components/GridDistortion.d.ts.map +1 -1
  250. package/dist/react/components/Group.d.ts.map +1 -1
  251. package/dist/react/components/Halftone.d.ts.map +1 -1
  252. package/dist/react/components/HexGrid.d.ts.map +1 -1
  253. package/dist/react/components/HueShift.d.ts.map +1 -1
  254. package/dist/react/components/ImageTexture.d.ts.map +1 -1
  255. package/dist/react/components/Invert.d.ts.map +1 -1
  256. package/dist/react/components/Kaleidoscope.d.ts.map +1 -1
  257. package/dist/react/components/LensFlare.d.ts.map +1 -1
  258. package/dist/react/components/LinearBlur.d.ts.map +1 -1
  259. package/dist/react/components/LinearGradient.d.ts.map +1 -1
  260. package/dist/react/components/Liquify.d.ts.map +1 -1
  261. package/dist/react/components/Mirror.d.ts.map +1 -1
  262. package/dist/react/components/MultiPointGradient.d.ts.map +1 -1
  263. package/dist/react/components/Neon.d.ts.map +1 -1
  264. package/dist/react/components/Paper.d.ts.map +1 -1
  265. package/dist/react/components/Perspective.d.ts.map +1 -1
  266. package/dist/react/components/Pixelate.d.ts.map +1 -1
  267. package/dist/react/components/Plasma.d.ts.map +1 -1
  268. package/dist/react/components/PolarCoordinates.d.ts.map +1 -1
  269. package/dist/react/components/Polygon.d.ts.map +1 -1
  270. package/dist/react/components/Posterize.d.ts.map +1 -1
  271. package/dist/react/components/ProgressiveBlur.d.ts.map +1 -1
  272. package/dist/react/components/RadialGradient.d.ts.map +1 -1
  273. package/dist/react/components/RectangularCoordinates.d.ts.map +1 -1
  274. package/dist/react/components/Ring.d.ts.map +1 -1
  275. package/dist/react/components/Ripples.d.ts.map +1 -1
  276. package/dist/react/components/RoundedRect.d.ts.map +1 -1
  277. package/dist/react/components/Saturation.d.ts.map +1 -1
  278. package/dist/react/components/Sharpness.d.ts.map +1 -1
  279. package/dist/react/components/Shatter.d.ts.map +1 -1
  280. package/dist/react/components/SimplexNoise.d.ts.map +1 -1
  281. package/dist/react/components/SineWave.d.ts.map +1 -1
  282. package/dist/react/components/Solarize.d.ts.map +1 -1
  283. package/dist/react/components/SolidColor.d.ts.map +1 -1
  284. package/dist/react/components/Spherize.d.ts.map +1 -1
  285. package/dist/react/components/Spiral.d.ts.map +1 -1
  286. package/dist/react/components/Star.d.ts.map +1 -1
  287. package/dist/react/components/Strands.d.ts.map +1 -1
  288. package/dist/react/components/Stretch.d.ts.map +1 -1
  289. package/dist/react/components/Stripes.d.ts.map +1 -1
  290. package/dist/react/components/StudioBackground.d.ts.map +1 -1
  291. package/dist/react/components/Swirl.d.ts.map +1 -1
  292. package/dist/react/components/TiltShift.d.ts.map +1 -1
  293. package/dist/react/components/Tint.d.ts.map +1 -1
  294. package/dist/react/components/Trapezoid.d.ts.map +1 -1
  295. package/dist/react/components/Tritone.d.ts.map +1 -1
  296. package/dist/react/components/Truchet.d.ts.map +1 -1
  297. package/dist/react/components/Twirl.d.ts.map +1 -1
  298. package/dist/react/components/Vesica.d.ts.map +1 -1
  299. package/dist/react/components/Vibrance.d.ts.map +1 -1
  300. package/dist/react/components/VideoTexture.d.ts.map +1 -1
  301. package/dist/react/components/Vignette.d.ts.map +1 -1
  302. package/dist/react/components/Voronoi.d.ts.map +1 -1
  303. package/dist/react/components/WaveDistortion.d.ts.map +1 -1
  304. package/dist/react/components/Weave.d.ts.map +1 -1
  305. package/dist/react/components/WebcamTexture.d.ts.map +1 -1
  306. package/dist/react/components/ZoomBlur.d.ts.map +1 -1
  307. package/dist/react/engine/Preview.d.ts.map +1 -1
  308. package/dist/react/engine/Shader.d.ts +1 -1
  309. package/dist/react/engine/Shader.d.ts.map +1 -1
  310. package/dist/react/engine/component.template.d.ts.map +1 -1
  311. package/dist/react/index.d.ts +1 -0
  312. package/dist/react/index.d.ts.map +1 -1
  313. package/dist/react/index.js +2 -1
  314. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  315. package/dist/react/utils/generatePresetCode.js +11 -2
  316. package/dist/react/utils/generatePresetCode.template.d.ts.map +1 -1
  317. package/dist/registry.js +40 -0
  318. package/dist/solid/components/AngularBlur.d.ts.map +1 -1
  319. package/dist/solid/components/AngularBlur.js +55 -10
  320. package/dist/solid/components/Ascii.d.ts.map +1 -1
  321. package/dist/solid/components/Ascii.js +55 -10
  322. package/dist/solid/components/Aurora.d.ts.map +1 -1
  323. package/dist/solid/components/Aurora.js +55 -10
  324. package/dist/solid/components/Beam.d.ts.map +1 -1
  325. package/dist/solid/components/Beam.js +55 -10
  326. package/dist/solid/components/Blob.d.ts.map +1 -1
  327. package/dist/solid/components/Blob.js +55 -10
  328. package/dist/solid/components/Blur.d.ts.map +1 -1
  329. package/dist/solid/components/Blur.js +55 -10
  330. package/dist/solid/components/BrightnessContrast.d.ts.map +1 -1
  331. package/dist/solid/components/BrightnessContrast.js +55 -10
  332. package/dist/solid/components/Bulge.d.ts.map +1 -1
  333. package/dist/solid/components/Bulge.js +55 -10
  334. package/dist/solid/components/CRTScreen.d.ts.map +1 -1
  335. package/dist/solid/components/CRTScreen.js +55 -10
  336. package/dist/solid/components/ChannelBlur.d.ts.map +1 -1
  337. package/dist/solid/components/ChannelBlur.js +55 -10
  338. package/dist/solid/components/Checkerboard.d.ts.map +1 -1
  339. package/dist/solid/components/Checkerboard.js +55 -10
  340. package/dist/solid/components/ChromaFlow.d.ts.map +1 -1
  341. package/dist/solid/components/ChromaFlow.js +55 -10
  342. package/dist/solid/components/ChromaticAberration.d.ts.map +1 -1
  343. package/dist/solid/components/ChromaticAberration.js +55 -10
  344. package/dist/solid/components/Circle.d.ts.map +1 -1
  345. package/dist/solid/components/Circle.js +55 -10
  346. package/dist/solid/components/ConcentricSpin.d.ts.map +1 -1
  347. package/dist/solid/components/ConcentricSpin.js +55 -10
  348. package/dist/solid/components/ConicGradient.d.ts.map +1 -1
  349. package/dist/solid/components/ConicGradient.js +55 -10
  350. package/dist/solid/components/ContourLines.d.ts.map +1 -1
  351. package/dist/solid/components/ContourLines.js +55 -10
  352. package/dist/solid/components/Crescent.d.ts.map +1 -1
  353. package/dist/solid/components/Crescent.js +55 -10
  354. package/dist/solid/components/Cross.d.ts.map +1 -1
  355. package/dist/solid/components/Cross.js +55 -10
  356. package/dist/solid/components/Crystal.d.ts.map +1 -1
  357. package/dist/solid/components/Crystal.js +55 -10
  358. package/dist/solid/components/CursorRipples.d.ts.map +1 -1
  359. package/dist/solid/components/CursorRipples.js +55 -10
  360. package/dist/solid/components/CursorTrail.d.ts.map +1 -1
  361. package/dist/solid/components/CursorTrail.js +55 -10
  362. package/dist/solid/components/DOMTexture.d.ts +28 -0
  363. package/dist/solid/components/DOMTexture.d.ts.map +1 -0
  364. package/dist/solid/components/DOMTexture.js +228 -0
  365. package/dist/solid/components/DiamondGradient.d.ts.map +1 -1
  366. package/dist/solid/components/DiamondGradient.js +55 -10
  367. package/dist/solid/components/DiffuseBlur.d.ts.map +1 -1
  368. package/dist/solid/components/DiffuseBlur.js +55 -10
  369. package/dist/solid/components/Dither.d.ts.map +1 -1
  370. package/dist/solid/components/Dither.js +55 -10
  371. package/dist/solid/components/DotGrid.d.ts.map +1 -1
  372. package/dist/solid/components/DotGrid.js +55 -10
  373. package/dist/solid/components/DropShadow.d.ts.map +1 -1
  374. package/dist/solid/components/DropShadow.js +55 -10
  375. package/dist/solid/components/Duotone.d.ts.map +1 -1
  376. package/dist/solid/components/Duotone.js +55 -10
  377. package/dist/solid/components/Ellipse.d.ts.map +1 -1
  378. package/dist/solid/components/Ellipse.js +55 -10
  379. package/dist/solid/components/Emboss.d.ts.map +1 -1
  380. package/dist/solid/components/Emboss.js +55 -10
  381. package/dist/solid/components/FallingLines.d.ts.map +1 -1
  382. package/dist/solid/components/FallingLines.js +55 -10
  383. package/dist/solid/components/FilmGrain.d.ts.map +1 -1
  384. package/dist/solid/components/FilmGrain.js +55 -10
  385. package/dist/solid/components/FloatingParticles.d.ts.map +1 -1
  386. package/dist/solid/components/FloatingParticles.js +55 -10
  387. package/dist/solid/components/FlowField.d.ts.map +1 -1
  388. package/dist/solid/components/FlowField.js +55 -10
  389. package/dist/solid/components/Flower.d.ts.map +1 -1
  390. package/dist/solid/components/Flower.js +55 -10
  391. package/dist/solid/components/FlowingGradient.d.ts.map +1 -1
  392. package/dist/solid/components/FlowingGradient.js +55 -10
  393. package/dist/solid/components/Form3D.d.ts.map +1 -1
  394. package/dist/solid/components/Form3D.js +55 -10
  395. package/dist/solid/components/Glass.d.ts.map +1 -1
  396. package/dist/solid/components/Glass.js +55 -10
  397. package/dist/solid/components/GlassTiles.d.ts.map +1 -1
  398. package/dist/solid/components/GlassTiles.js +55 -10
  399. package/dist/solid/components/Glitch.d.ts.map +1 -1
  400. package/dist/solid/components/Glitch.js +55 -10
  401. package/dist/solid/components/Glow.d.ts.map +1 -1
  402. package/dist/solid/components/Glow.js +55 -10
  403. package/dist/solid/components/Godrays.d.ts.map +1 -1
  404. package/dist/solid/components/Godrays.js +55 -10
  405. package/dist/solid/components/Grayscale.d.ts.map +1 -1
  406. package/dist/solid/components/Grayscale.js +55 -10
  407. package/dist/solid/components/Grid.d.ts.map +1 -1
  408. package/dist/solid/components/Grid.js +55 -10
  409. package/dist/solid/components/GridDistortion.d.ts.map +1 -1
  410. package/dist/solid/components/GridDistortion.js +55 -10
  411. package/dist/solid/components/Group.d.ts.map +1 -1
  412. package/dist/solid/components/Group.js +55 -10
  413. package/dist/solid/components/Halftone.d.ts.map +1 -1
  414. package/dist/solid/components/Halftone.js +55 -10
  415. package/dist/solid/components/HexGrid.d.ts.map +1 -1
  416. package/dist/solid/components/HexGrid.js +55 -10
  417. package/dist/solid/components/HueShift.d.ts.map +1 -1
  418. package/dist/solid/components/HueShift.js +55 -10
  419. package/dist/solid/components/ImageTexture.d.ts.map +1 -1
  420. package/dist/solid/components/ImageTexture.js +55 -10
  421. package/dist/solid/components/Invert.d.ts.map +1 -1
  422. package/dist/solid/components/Invert.js +55 -10
  423. package/dist/solid/components/Kaleidoscope.d.ts.map +1 -1
  424. package/dist/solid/components/Kaleidoscope.js +55 -10
  425. package/dist/solid/components/LensFlare.d.ts.map +1 -1
  426. package/dist/solid/components/LensFlare.js +55 -10
  427. package/dist/solid/components/LinearBlur.d.ts.map +1 -1
  428. package/dist/solid/components/LinearBlur.js +55 -10
  429. package/dist/solid/components/LinearGradient.d.ts.map +1 -1
  430. package/dist/solid/components/LinearGradient.js +55 -10
  431. package/dist/solid/components/Liquify.d.ts.map +1 -1
  432. package/dist/solid/components/Liquify.js +55 -10
  433. package/dist/solid/components/Mirror.d.ts.map +1 -1
  434. package/dist/solid/components/Mirror.js +55 -10
  435. package/dist/solid/components/MultiPointGradient.d.ts.map +1 -1
  436. package/dist/solid/components/MultiPointGradient.js +55 -10
  437. package/dist/solid/components/Neon.d.ts.map +1 -1
  438. package/dist/solid/components/Neon.js +55 -10
  439. package/dist/solid/components/Paper.d.ts.map +1 -1
  440. package/dist/solid/components/Paper.js +55 -10
  441. package/dist/solid/components/Perspective.d.ts.map +1 -1
  442. package/dist/solid/components/Perspective.js +55 -10
  443. package/dist/solid/components/Pixelate.d.ts.map +1 -1
  444. package/dist/solid/components/Pixelate.js +55 -10
  445. package/dist/solid/components/Plasma.d.ts.map +1 -1
  446. package/dist/solid/components/Plasma.js +55 -10
  447. package/dist/solid/components/PolarCoordinates.d.ts.map +1 -1
  448. package/dist/solid/components/PolarCoordinates.js +55 -10
  449. package/dist/solid/components/Polygon.d.ts.map +1 -1
  450. package/dist/solid/components/Polygon.js +55 -10
  451. package/dist/solid/components/Posterize.d.ts.map +1 -1
  452. package/dist/solid/components/Posterize.js +55 -10
  453. package/dist/solid/components/ProgressiveBlur.d.ts.map +1 -1
  454. package/dist/solid/components/ProgressiveBlur.js +55 -10
  455. package/dist/solid/components/RadialGradient.d.ts.map +1 -1
  456. package/dist/solid/components/RadialGradient.js +55 -10
  457. package/dist/solid/components/RectangularCoordinates.d.ts.map +1 -1
  458. package/dist/solid/components/RectangularCoordinates.js +55 -10
  459. package/dist/solid/components/Ring.d.ts.map +1 -1
  460. package/dist/solid/components/Ring.js +55 -10
  461. package/dist/solid/components/Ripples.d.ts.map +1 -1
  462. package/dist/solid/components/Ripples.js +55 -10
  463. package/dist/solid/components/RoundedRect.d.ts.map +1 -1
  464. package/dist/solid/components/RoundedRect.js +55 -10
  465. package/dist/solid/components/Saturation.d.ts.map +1 -1
  466. package/dist/solid/components/Saturation.js +55 -10
  467. package/dist/solid/components/Sharpness.d.ts.map +1 -1
  468. package/dist/solid/components/Sharpness.js +55 -10
  469. package/dist/solid/components/Shatter.d.ts.map +1 -1
  470. package/dist/solid/components/Shatter.js +55 -10
  471. package/dist/solid/components/SimplexNoise.d.ts.map +1 -1
  472. package/dist/solid/components/SimplexNoise.js +55 -10
  473. package/dist/solid/components/SineWave.d.ts.map +1 -1
  474. package/dist/solid/components/SineWave.js +55 -10
  475. package/dist/solid/components/Solarize.d.ts.map +1 -1
  476. package/dist/solid/components/Solarize.js +55 -10
  477. package/dist/solid/components/SolidColor.d.ts.map +1 -1
  478. package/dist/solid/components/SolidColor.js +55 -10
  479. package/dist/solid/components/Spherize.d.ts.map +1 -1
  480. package/dist/solid/components/Spherize.js +55 -10
  481. package/dist/solid/components/Spiral.d.ts.map +1 -1
  482. package/dist/solid/components/Spiral.js +55 -10
  483. package/dist/solid/components/Star.d.ts.map +1 -1
  484. package/dist/solid/components/Star.js +55 -10
  485. package/dist/solid/components/Strands.d.ts.map +1 -1
  486. package/dist/solid/components/Strands.js +55 -10
  487. package/dist/solid/components/Stretch.d.ts.map +1 -1
  488. package/dist/solid/components/Stretch.js +55 -10
  489. package/dist/solid/components/Stripes.d.ts.map +1 -1
  490. package/dist/solid/components/Stripes.js +55 -10
  491. package/dist/solid/components/StudioBackground.d.ts.map +1 -1
  492. package/dist/solid/components/StudioBackground.js +55 -10
  493. package/dist/solid/components/Swirl.d.ts.map +1 -1
  494. package/dist/solid/components/Swirl.js +55 -10
  495. package/dist/solid/components/TiltShift.d.ts.map +1 -1
  496. package/dist/solid/components/TiltShift.js +55 -10
  497. package/dist/solid/components/Tint.d.ts.map +1 -1
  498. package/dist/solid/components/Tint.js +55 -10
  499. package/dist/solid/components/Trapezoid.d.ts.map +1 -1
  500. package/dist/solid/components/Trapezoid.js +55 -10
  501. package/dist/solid/components/Tritone.d.ts.map +1 -1
  502. package/dist/solid/components/Tritone.js +55 -10
  503. package/dist/solid/components/Truchet.d.ts.map +1 -1
  504. package/dist/solid/components/Truchet.js +55 -10
  505. package/dist/solid/components/Twirl.d.ts.map +1 -1
  506. package/dist/solid/components/Twirl.js +55 -10
  507. package/dist/solid/components/Vesica.d.ts.map +1 -1
  508. package/dist/solid/components/Vesica.js +55 -10
  509. package/dist/solid/components/Vibrance.d.ts.map +1 -1
  510. package/dist/solid/components/Vibrance.js +55 -10
  511. package/dist/solid/components/VideoTexture.d.ts.map +1 -1
  512. package/dist/solid/components/VideoTexture.js +55 -10
  513. package/dist/solid/components/Vignette.d.ts.map +1 -1
  514. package/dist/solid/components/Vignette.js +55 -10
  515. package/dist/solid/components/Voronoi.d.ts.map +1 -1
  516. package/dist/solid/components/Voronoi.js +55 -10
  517. package/dist/solid/components/WaveDistortion.d.ts.map +1 -1
  518. package/dist/solid/components/WaveDistortion.js +55 -10
  519. package/dist/solid/components/Weave.d.ts.map +1 -1
  520. package/dist/solid/components/Weave.js +55 -10
  521. package/dist/solid/components/WebcamTexture.d.ts.map +1 -1
  522. package/dist/solid/components/WebcamTexture.js +55 -10
  523. package/dist/solid/components/ZoomBlur.d.ts.map +1 -1
  524. package/dist/solid/components/ZoomBlur.js +55 -10
  525. package/dist/solid/engine/Preview.d.ts.map +1 -1
  526. package/dist/solid/engine/Preview.js +46 -44
  527. package/dist/solid/engine/Shader.d.ts +1 -1
  528. package/dist/solid/engine/Shader.d.ts.map +1 -1
  529. package/dist/solid/engine/Shader.js +3 -3
  530. package/dist/solid/engine/component.template.d.ts.map +1 -1
  531. package/dist/solid/index.d.ts +1 -0
  532. package/dist/solid/index.d.ts.map +1 -1
  533. package/dist/solid/index.js +166 -164
  534. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  535. package/dist/solid/utils/generatePresetCode.js +20 -2
  536. package/dist/solid/utils/generatePresetCode.template.d.ts.map +1 -1
  537. package/dist/svelte/components/DOMTexture.svelte.d.ts +19 -0
  538. package/dist/svelte/{generatePresetCode-C7KnCLnD.js → generatePresetCode-gaYD5uUH.js} +11 -2
  539. package/dist/svelte/index.d.ts +1 -0
  540. package/dist/svelte/index.js +6384 -778
  541. package/dist/svelte/source/components/AngularBlur.svelte +43 -4
  542. package/dist/svelte/source/components/Ascii.svelte +43 -4
  543. package/dist/svelte/source/components/Aurora.svelte +43 -4
  544. package/dist/svelte/source/components/Beam.svelte +43 -4
  545. package/dist/svelte/source/components/Blob.svelte +43 -4
  546. package/dist/svelte/source/components/Blur.svelte +43 -4
  547. package/dist/svelte/source/components/BrightnessContrast.svelte +43 -4
  548. package/dist/svelte/source/components/Bulge.svelte +43 -4
  549. package/dist/svelte/source/components/CRTScreen.svelte +43 -4
  550. package/dist/svelte/source/components/ChannelBlur.svelte +43 -4
  551. package/dist/svelte/source/components/Checkerboard.svelte +43 -4
  552. package/dist/svelte/source/components/ChromaFlow.svelte +43 -4
  553. package/dist/svelte/source/components/ChromaticAberration.svelte +43 -4
  554. package/dist/svelte/source/components/Circle.svelte +43 -4
  555. package/dist/svelte/source/components/ConcentricSpin.svelte +43 -4
  556. package/dist/svelte/source/components/ConicGradient.svelte +43 -4
  557. package/dist/svelte/source/components/ContourLines.svelte +43 -4
  558. package/dist/svelte/source/components/Crescent.svelte +43 -4
  559. package/dist/svelte/source/components/Cross.svelte +43 -4
  560. package/dist/svelte/source/components/Crystal.svelte +43 -4
  561. package/dist/svelte/source/components/CursorRipples.svelte +43 -4
  562. package/dist/svelte/source/components/CursorTrail.svelte +43 -4
  563. package/dist/svelte/source/components/DOMTexture.svelte +325 -0
  564. package/dist/svelte/source/components/DiamondGradient.svelte +43 -4
  565. package/dist/svelte/source/components/DiffuseBlur.svelte +43 -4
  566. package/dist/svelte/source/components/Dither.svelte +43 -4
  567. package/dist/svelte/source/components/DotGrid.svelte +43 -4
  568. package/dist/svelte/source/components/DropShadow.svelte +43 -4
  569. package/dist/svelte/source/components/Duotone.svelte +43 -4
  570. package/dist/svelte/source/components/Ellipse.svelte +43 -4
  571. package/dist/svelte/source/components/Emboss.svelte +43 -4
  572. package/dist/svelte/source/components/FallingLines.svelte +43 -4
  573. package/dist/svelte/source/components/FilmGrain.svelte +43 -4
  574. package/dist/svelte/source/components/FloatingParticles.svelte +43 -4
  575. package/dist/svelte/source/components/FlowField.svelte +43 -4
  576. package/dist/svelte/source/components/Flower.svelte +43 -4
  577. package/dist/svelte/source/components/FlowingGradient.svelte +43 -4
  578. package/dist/svelte/source/components/Form3D.svelte +43 -4
  579. package/dist/svelte/source/components/Glass.svelte +43 -4
  580. package/dist/svelte/source/components/GlassTiles.svelte +43 -4
  581. package/dist/svelte/source/components/Glitch.svelte +43 -4
  582. package/dist/svelte/source/components/Glow.svelte +43 -4
  583. package/dist/svelte/source/components/Godrays.svelte +43 -4
  584. package/dist/svelte/source/components/Grayscale.svelte +43 -4
  585. package/dist/svelte/source/components/Grid.svelte +43 -4
  586. package/dist/svelte/source/components/GridDistortion.svelte +43 -4
  587. package/dist/svelte/source/components/Group.svelte +43 -4
  588. package/dist/svelte/source/components/Halftone.svelte +43 -4
  589. package/dist/svelte/source/components/HexGrid.svelte +43 -4
  590. package/dist/svelte/source/components/HueShift.svelte +43 -4
  591. package/dist/svelte/source/components/ImageTexture.svelte +43 -4
  592. package/dist/svelte/source/components/Invert.svelte +43 -4
  593. package/dist/svelte/source/components/Kaleidoscope.svelte +43 -4
  594. package/dist/svelte/source/components/LensFlare.svelte +43 -4
  595. package/dist/svelte/source/components/LinearBlur.svelte +43 -4
  596. package/dist/svelte/source/components/LinearGradient.svelte +43 -4
  597. package/dist/svelte/source/components/Liquify.svelte +43 -4
  598. package/dist/svelte/source/components/Mirror.svelte +43 -4
  599. package/dist/svelte/source/components/MultiPointGradient.svelte +43 -4
  600. package/dist/svelte/source/components/Neon.svelte +43 -4
  601. package/dist/svelte/source/components/Paper.svelte +43 -4
  602. package/dist/svelte/source/components/Perspective.svelte +43 -4
  603. package/dist/svelte/source/components/Pixelate.svelte +43 -4
  604. package/dist/svelte/source/components/Plasma.svelte +43 -4
  605. package/dist/svelte/source/components/PolarCoordinates.svelte +43 -4
  606. package/dist/svelte/source/components/Polygon.svelte +43 -4
  607. package/dist/svelte/source/components/Posterize.svelte +43 -4
  608. package/dist/svelte/source/components/ProgressiveBlur.svelte +43 -4
  609. package/dist/svelte/source/components/RadialGradient.svelte +43 -4
  610. package/dist/svelte/source/components/RectangularCoordinates.svelte +43 -4
  611. package/dist/svelte/source/components/Ring.svelte +43 -4
  612. package/dist/svelte/source/components/Ripples.svelte +43 -4
  613. package/dist/svelte/source/components/RoundedRect.svelte +43 -4
  614. package/dist/svelte/source/components/Saturation.svelte +43 -4
  615. package/dist/svelte/source/components/Sharpness.svelte +43 -4
  616. package/dist/svelte/source/components/Shatter.svelte +43 -4
  617. package/dist/svelte/source/components/SimplexNoise.svelte +43 -4
  618. package/dist/svelte/source/components/SineWave.svelte +43 -4
  619. package/dist/svelte/source/components/Solarize.svelte +43 -4
  620. package/dist/svelte/source/components/SolidColor.svelte +43 -4
  621. package/dist/svelte/source/components/Spherize.svelte +43 -4
  622. package/dist/svelte/source/components/Spiral.svelte +43 -4
  623. package/dist/svelte/source/components/Star.svelte +43 -4
  624. package/dist/svelte/source/components/Strands.svelte +43 -4
  625. package/dist/svelte/source/components/Stretch.svelte +43 -4
  626. package/dist/svelte/source/components/Stripes.svelte +43 -4
  627. package/dist/svelte/source/components/StudioBackground.svelte +43 -4
  628. package/dist/svelte/source/components/Swirl.svelte +43 -4
  629. package/dist/svelte/source/components/TiltShift.svelte +43 -4
  630. package/dist/svelte/source/components/Tint.svelte +43 -4
  631. package/dist/svelte/source/components/Trapezoid.svelte +43 -4
  632. package/dist/svelte/source/components/Tritone.svelte +43 -4
  633. package/dist/svelte/source/components/Truchet.svelte +43 -4
  634. package/dist/svelte/source/components/Twirl.svelte +43 -4
  635. package/dist/svelte/source/components/Vesica.svelte +43 -4
  636. package/dist/svelte/source/components/Vibrance.svelte +43 -4
  637. package/dist/svelte/source/components/VideoTexture.svelte +43 -4
  638. package/dist/svelte/source/components/Vignette.svelte +43 -4
  639. package/dist/svelte/source/components/Voronoi.svelte +43 -4
  640. package/dist/svelte/source/components/WaveDistortion.svelte +43 -4
  641. package/dist/svelte/source/components/Weave.svelte +43 -4
  642. package/dist/svelte/source/components/WebcamTexture.svelte +43 -4
  643. package/dist/svelte/source/components/ZoomBlur.svelte +43 -4
  644. package/dist/svelte/source/engine/Preview.svelte +2 -0
  645. package/dist/svelte/source/engine/Shader.svelte +2 -2
  646. package/dist/svelte/source/index.js +1 -0
  647. package/dist/svelte/utils/generatePresetCode.js +1 -1
  648. package/dist/vue/AngularBlur.vue_vue_type_script_setup_true_lang.js +52 -5
  649. package/dist/vue/Ascii.vue_vue_type_script_setup_true_lang.js +52 -5
  650. package/dist/vue/Aurora.vue_vue_type_script_setup_true_lang.js +52 -5
  651. package/dist/vue/Beam.vue_vue_type_script_setup_true_lang.js +52 -5
  652. package/dist/vue/Blob.vue_vue_type_script_setup_true_lang.js +52 -5
  653. package/dist/vue/Blur.vue_vue_type_script_setup_true_lang.js +52 -5
  654. package/dist/vue/BrightnessContrast.vue_vue_type_script_setup_true_lang.js +52 -5
  655. package/dist/vue/Bulge.vue_vue_type_script_setup_true_lang.js +52 -5
  656. package/dist/vue/CRTScreen.vue_vue_type_script_setup_true_lang.js +52 -5
  657. package/dist/vue/ChannelBlur.vue_vue_type_script_setup_true_lang.js +52 -5
  658. package/dist/vue/Checkerboard.vue_vue_type_script_setup_true_lang.js +52 -5
  659. package/dist/vue/ChromaFlow.vue_vue_type_script_setup_true_lang.js +52 -5
  660. package/dist/vue/ChromaticAberration.vue_vue_type_script_setup_true_lang.js +52 -5
  661. package/dist/vue/Circle.vue_vue_type_script_setup_true_lang.js +52 -5
  662. package/dist/vue/ConcentricSpin.vue_vue_type_script_setup_true_lang.js +52 -5
  663. package/dist/vue/ConicGradient.vue_vue_type_script_setup_true_lang.js +52 -5
  664. package/dist/vue/ContourLines.vue_vue_type_script_setup_true_lang.js +52 -5
  665. package/dist/vue/Crescent.vue_vue_type_script_setup_true_lang.js +52 -5
  666. package/dist/vue/Cross.vue_vue_type_script_setup_true_lang.js +52 -5
  667. package/dist/vue/Crystal.vue_vue_type_script_setup_true_lang.js +52 -5
  668. package/dist/vue/CursorRipples.vue_vue_type_script_setup_true_lang.js +52 -5
  669. package/dist/vue/CursorTrail.vue_vue_type_script_setup_true_lang.js +52 -5
  670. package/dist/vue/DOMTexture.js +3 -0
  671. package/dist/vue/DOMTexture.vue_vue_type_script_setup_true_lang.js +212 -0
  672. package/dist/vue/DiamondGradient.vue_vue_type_script_setup_true_lang.js +52 -5
  673. package/dist/vue/DiffuseBlur.vue_vue_type_script_setup_true_lang.js +52 -5
  674. package/dist/vue/Dither.vue_vue_type_script_setup_true_lang.js +52 -5
  675. package/dist/vue/DotGrid.vue_vue_type_script_setup_true_lang.js +52 -5
  676. package/dist/vue/DropShadow.vue_vue_type_script_setup_true_lang.js +54 -6
  677. package/dist/vue/Duotone.vue_vue_type_script_setup_true_lang.js +52 -5
  678. package/dist/vue/Ellipse.vue_vue_type_script_setup_true_lang.js +52 -5
  679. package/dist/vue/Emboss.vue_vue_type_script_setup_true_lang.js +52 -5
  680. package/dist/vue/FallingLines.vue_vue_type_script_setup_true_lang.js +52 -5
  681. package/dist/vue/FilmGrain.vue_vue_type_script_setup_true_lang.js +52 -5
  682. package/dist/vue/FloatingParticles.vue_vue_type_script_setup_true_lang.js +52 -5
  683. package/dist/vue/FlowField.vue_vue_type_script_setup_true_lang.js +52 -5
  684. package/dist/vue/Flower.vue_vue_type_script_setup_true_lang.js +52 -5
  685. package/dist/vue/FlowingGradient.vue_vue_type_script_setup_true_lang.js +52 -5
  686. package/dist/vue/Form3D.vue_vue_type_script_setup_true_lang.js +52 -5
  687. package/dist/vue/Glass.vue_vue_type_script_setup_true_lang.js +52 -5
  688. package/dist/vue/GlassTiles.vue_vue_type_script_setup_true_lang.js +52 -5
  689. package/dist/vue/Glitch.vue_vue_type_script_setup_true_lang.js +52 -5
  690. package/dist/vue/Glow.vue_vue_type_script_setup_true_lang.js +52 -5
  691. package/dist/vue/Godrays.vue_vue_type_script_setup_true_lang.js +52 -5
  692. package/dist/vue/Grayscale.vue_vue_type_script_setup_true_lang.js +52 -5
  693. package/dist/vue/Grid.vue_vue_type_script_setup_true_lang.js +52 -5
  694. package/dist/vue/GridDistortion.vue_vue_type_script_setup_true_lang.js +52 -5
  695. package/dist/vue/Group.vue_vue_type_script_setup_true_lang.js +52 -5
  696. package/dist/vue/Halftone.vue_vue_type_script_setup_true_lang.js +52 -5
  697. package/dist/vue/HexGrid.vue_vue_type_script_setup_true_lang.js +52 -5
  698. package/dist/vue/HueShift.vue_vue_type_script_setup_true_lang.js +52 -5
  699. package/dist/vue/ImageTexture.vue_vue_type_script_setup_true_lang.js +52 -5
  700. package/dist/vue/Invert.vue_vue_type_script_setup_true_lang.js +52 -5
  701. package/dist/vue/Kaleidoscope.vue_vue_type_script_setup_true_lang.js +52 -5
  702. package/dist/vue/LensFlare.vue_vue_type_script_setup_true_lang.js +52 -5
  703. package/dist/vue/LinearBlur.vue_vue_type_script_setup_true_lang.js +52 -5
  704. package/dist/vue/LinearGradient.vue_vue_type_script_setup_true_lang.js +52 -5
  705. package/dist/vue/Liquify.vue_vue_type_script_setup_true_lang.js +52 -5
  706. package/dist/vue/Mirror.vue_vue_type_script_setup_true_lang.js +52 -5
  707. package/dist/vue/MultiPointGradient.vue_vue_type_script_setup_true_lang.js +52 -5
  708. package/dist/vue/Neon.vue_vue_type_script_setup_true_lang.js +52 -5
  709. package/dist/vue/Paper.vue_vue_type_script_setup_true_lang.js +52 -5
  710. package/dist/vue/Perspective.vue_vue_type_script_setup_true_lang.js +52 -5
  711. package/dist/vue/Pixelate.vue_vue_type_script_setup_true_lang.js +52 -5
  712. package/dist/vue/Plasma.vue_vue_type_script_setup_true_lang.js +52 -5
  713. package/dist/vue/PolarCoordinates.vue_vue_type_script_setup_true_lang.js +52 -5
  714. package/dist/vue/Polygon.vue_vue_type_script_setup_true_lang.js +52 -5
  715. package/dist/vue/Posterize.vue_vue_type_script_setup_true_lang.js +52 -5
  716. package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +2 -0
  717. package/dist/vue/ProgressiveBlur.vue_vue_type_script_setup_true_lang.js +52 -5
  718. package/dist/vue/RadialGradient.vue_vue_type_script_setup_true_lang.js +52 -5
  719. package/dist/vue/RectangularCoordinates.vue_vue_type_script_setup_true_lang.js +52 -5
  720. package/dist/vue/Ring.vue_vue_type_script_setup_true_lang.js +52 -5
  721. package/dist/vue/Ripples.vue_vue_type_script_setup_true_lang.js +52 -5
  722. package/dist/vue/RoundedRect.vue_vue_type_script_setup_true_lang.js +52 -5
  723. package/dist/vue/Saturation.vue_vue_type_script_setup_true_lang.js +52 -5
  724. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +3 -3
  725. package/dist/vue/Sharpness.vue_vue_type_script_setup_true_lang.js +52 -5
  726. package/dist/vue/Shatter.vue_vue_type_script_setup_true_lang.js +52 -5
  727. package/dist/vue/SimplexNoise.vue_vue_type_script_setup_true_lang.js +52 -5
  728. package/dist/vue/SineWave.vue_vue_type_script_setup_true_lang.js +52 -5
  729. package/dist/vue/Solarize.vue_vue_type_script_setup_true_lang.js +52 -5
  730. package/dist/vue/SolidColor.vue_vue_type_script_setup_true_lang.js +52 -5
  731. package/dist/vue/Spherize.vue_vue_type_script_setup_true_lang.js +52 -5
  732. package/dist/vue/Spiral.vue_vue_type_script_setup_true_lang.js +52 -5
  733. package/dist/vue/Star.vue_vue_type_script_setup_true_lang.js +52 -5
  734. package/dist/vue/Strands.vue_vue_type_script_setup_true_lang.js +52 -5
  735. package/dist/vue/Stretch.vue_vue_type_script_setup_true_lang.js +52 -5
  736. package/dist/vue/Stripes.vue_vue_type_script_setup_true_lang.js +52 -5
  737. package/dist/vue/StudioBackground.vue_vue_type_script_setup_true_lang.js +52 -5
  738. package/dist/vue/Swirl.vue_vue_type_script_setup_true_lang.js +52 -5
  739. package/dist/vue/TiltShift.vue_vue_type_script_setup_true_lang.js +52 -5
  740. package/dist/vue/Tint.vue_vue_type_script_setup_true_lang.js +52 -5
  741. package/dist/vue/Trapezoid.vue_vue_type_script_setup_true_lang.js +52 -5
  742. package/dist/vue/Tritone.vue_vue_type_script_setup_true_lang.js +52 -5
  743. package/dist/vue/Truchet.vue_vue_type_script_setup_true_lang.js +52 -5
  744. package/dist/vue/Twirl.vue_vue_type_script_setup_true_lang.js +52 -5
  745. package/dist/vue/Vesica.vue_vue_type_script_setup_true_lang.js +52 -5
  746. package/dist/vue/Vibrance.vue_vue_type_script_setup_true_lang.js +52 -5
  747. package/dist/vue/VideoTexture.vue_vue_type_script_setup_true_lang.js +52 -5
  748. package/dist/vue/Vignette.vue_vue_type_script_setup_true_lang.js +52 -5
  749. package/dist/vue/Voronoi.vue_vue_type_script_setup_true_lang.js +52 -5
  750. package/dist/vue/WaveDistortion.vue_vue_type_script_setup_true_lang.js +52 -5
  751. package/dist/vue/Weave.vue_vue_type_script_setup_true_lang.js +52 -5
  752. package/dist/vue/WebcamTexture.vue_vue_type_script_setup_true_lang.js +52 -5
  753. package/dist/vue/ZoomBlur.vue_vue_type_script_setup_true_lang.js +52 -5
  754. package/dist/vue/components/AngularBlur.vue.d.ts.map +1 -1
  755. package/dist/vue/components/Ascii.vue.d.ts.map +1 -1
  756. package/dist/vue/components/Aurora.vue.d.ts.map +1 -1
  757. package/dist/vue/components/Beam.vue.d.ts.map +1 -1
  758. package/dist/vue/components/Blob.vue.d.ts.map +1 -1
  759. package/dist/vue/components/Blur.vue.d.ts.map +1 -1
  760. package/dist/vue/components/BrightnessContrast.vue.d.ts.map +1 -1
  761. package/dist/vue/components/Bulge.vue.d.ts.map +1 -1
  762. package/dist/vue/components/CRTScreen.vue.d.ts.map +1 -1
  763. package/dist/vue/components/ChannelBlur.vue.d.ts.map +1 -1
  764. package/dist/vue/components/Checkerboard.vue.d.ts.map +1 -1
  765. package/dist/vue/components/ChromaFlow.vue.d.ts.map +1 -1
  766. package/dist/vue/components/ChromaticAberration.vue.d.ts.map +1 -1
  767. package/dist/vue/components/Circle.vue.d.ts.map +1 -1
  768. package/dist/vue/components/ConcentricSpin.vue.d.ts.map +1 -1
  769. package/dist/vue/components/ConicGradient.vue.d.ts.map +1 -1
  770. package/dist/vue/components/ContourLines.vue.d.ts.map +1 -1
  771. package/dist/vue/components/Crescent.vue.d.ts.map +1 -1
  772. package/dist/vue/components/Cross.vue.d.ts.map +1 -1
  773. package/dist/vue/components/Crystal.vue.d.ts.map +1 -1
  774. package/dist/vue/components/CursorRipples.vue.d.ts.map +1 -1
  775. package/dist/vue/components/CursorTrail.vue.d.ts.map +1 -1
  776. package/dist/vue/components/DOMTexture.vue.d.ts +54 -0
  777. package/dist/vue/components/DOMTexture.vue.d.ts.map +1 -0
  778. package/dist/vue/components/DiamondGradient.vue.d.ts.map +1 -1
  779. package/dist/vue/components/DiffuseBlur.vue.d.ts.map +1 -1
  780. package/dist/vue/components/Dither.vue.d.ts.map +1 -1
  781. package/dist/vue/components/DotGrid.vue.d.ts.map +1 -1
  782. package/dist/vue/components/DropShadow.vue.d.ts.map +1 -1
  783. package/dist/vue/components/Duotone.vue.d.ts.map +1 -1
  784. package/dist/vue/components/Ellipse.vue.d.ts.map +1 -1
  785. package/dist/vue/components/Emboss.vue.d.ts.map +1 -1
  786. package/dist/vue/components/FallingLines.vue.d.ts.map +1 -1
  787. package/dist/vue/components/FilmGrain.vue.d.ts.map +1 -1
  788. package/dist/vue/components/FloatingParticles.vue.d.ts.map +1 -1
  789. package/dist/vue/components/FlowField.vue.d.ts.map +1 -1
  790. package/dist/vue/components/Flower.vue.d.ts.map +1 -1
  791. package/dist/vue/components/FlowingGradient.vue.d.ts.map +1 -1
  792. package/dist/vue/components/Form3D.vue.d.ts.map +1 -1
  793. package/dist/vue/components/Glass.vue.d.ts.map +1 -1
  794. package/dist/vue/components/GlassTiles.vue.d.ts.map +1 -1
  795. package/dist/vue/components/Glitch.vue.d.ts.map +1 -1
  796. package/dist/vue/components/Glow.vue.d.ts.map +1 -1
  797. package/dist/vue/components/Godrays.vue.d.ts.map +1 -1
  798. package/dist/vue/components/Grayscale.vue.d.ts.map +1 -1
  799. package/dist/vue/components/Grid.vue.d.ts.map +1 -1
  800. package/dist/vue/components/GridDistortion.vue.d.ts.map +1 -1
  801. package/dist/vue/components/Group.vue.d.ts.map +1 -1
  802. package/dist/vue/components/Halftone.vue.d.ts.map +1 -1
  803. package/dist/vue/components/HexGrid.vue.d.ts.map +1 -1
  804. package/dist/vue/components/HueShift.vue.d.ts.map +1 -1
  805. package/dist/vue/components/ImageTexture.vue.d.ts.map +1 -1
  806. package/dist/vue/components/Invert.vue.d.ts.map +1 -1
  807. package/dist/vue/components/Kaleidoscope.vue.d.ts.map +1 -1
  808. package/dist/vue/components/LensFlare.vue.d.ts.map +1 -1
  809. package/dist/vue/components/LinearBlur.vue.d.ts.map +1 -1
  810. package/dist/vue/components/LinearGradient.vue.d.ts.map +1 -1
  811. package/dist/vue/components/Liquify.vue.d.ts.map +1 -1
  812. package/dist/vue/components/Mirror.vue.d.ts.map +1 -1
  813. package/dist/vue/components/MultiPointGradient.vue.d.ts.map +1 -1
  814. package/dist/vue/components/Neon.vue.d.ts.map +1 -1
  815. package/dist/vue/components/Paper.vue.d.ts.map +1 -1
  816. package/dist/vue/components/Perspective.vue.d.ts.map +1 -1
  817. package/dist/vue/components/Pixelate.vue.d.ts.map +1 -1
  818. package/dist/vue/components/Plasma.vue.d.ts.map +1 -1
  819. package/dist/vue/components/PolarCoordinates.vue.d.ts.map +1 -1
  820. package/dist/vue/components/Polygon.vue.d.ts.map +1 -1
  821. package/dist/vue/components/Posterize.vue.d.ts.map +1 -1
  822. package/dist/vue/components/ProgressiveBlur.vue.d.ts.map +1 -1
  823. package/dist/vue/components/RadialGradient.vue.d.ts.map +1 -1
  824. package/dist/vue/components/RectangularCoordinates.vue.d.ts.map +1 -1
  825. package/dist/vue/components/Ring.vue.d.ts.map +1 -1
  826. package/dist/vue/components/Ripples.vue.d.ts.map +1 -1
  827. package/dist/vue/components/RoundedRect.vue.d.ts.map +1 -1
  828. package/dist/vue/components/Saturation.vue.d.ts.map +1 -1
  829. package/dist/vue/components/Sharpness.vue.d.ts.map +1 -1
  830. package/dist/vue/components/Shatter.vue.d.ts.map +1 -1
  831. package/dist/vue/components/SimplexNoise.vue.d.ts.map +1 -1
  832. package/dist/vue/components/SineWave.vue.d.ts.map +1 -1
  833. package/dist/vue/components/Solarize.vue.d.ts.map +1 -1
  834. package/dist/vue/components/SolidColor.vue.d.ts.map +1 -1
  835. package/dist/vue/components/Spherize.vue.d.ts.map +1 -1
  836. package/dist/vue/components/Spiral.vue.d.ts.map +1 -1
  837. package/dist/vue/components/Star.vue.d.ts.map +1 -1
  838. package/dist/vue/components/Strands.vue.d.ts.map +1 -1
  839. package/dist/vue/components/Stretch.vue.d.ts.map +1 -1
  840. package/dist/vue/components/Stripes.vue.d.ts.map +1 -1
  841. package/dist/vue/components/StudioBackground.vue.d.ts.map +1 -1
  842. package/dist/vue/components/Swirl.vue.d.ts.map +1 -1
  843. package/dist/vue/components/TiltShift.vue.d.ts.map +1 -1
  844. package/dist/vue/components/Tint.vue.d.ts.map +1 -1
  845. package/dist/vue/components/Trapezoid.vue.d.ts.map +1 -1
  846. package/dist/vue/components/Tritone.vue.d.ts.map +1 -1
  847. package/dist/vue/components/Truchet.vue.d.ts.map +1 -1
  848. package/dist/vue/components/Twirl.vue.d.ts.map +1 -1
  849. package/dist/vue/components/Vesica.vue.d.ts.map +1 -1
  850. package/dist/vue/components/Vibrance.vue.d.ts.map +1 -1
  851. package/dist/vue/components/VideoTexture.vue.d.ts.map +1 -1
  852. package/dist/vue/components/Vignette.vue.d.ts.map +1 -1
  853. package/dist/vue/components/Voronoi.vue.d.ts.map +1 -1
  854. package/dist/vue/components/WaveDistortion.vue.d.ts.map +1 -1
  855. package/dist/vue/components/Weave.vue.d.ts.map +1 -1
  856. package/dist/vue/components/WebcamTexture.vue.d.ts.map +1 -1
  857. package/dist/vue/components/ZoomBlur.vue.d.ts.map +1 -1
  858. package/dist/vue/index.d.ts +1 -0
  859. package/dist/vue/index.d.ts.map +1 -1
  860. package/dist/vue/index.js +2 -1
  861. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  862. package/dist/vue/utils/generatePresetCode.js +11 -2
  863. package/dist/vue/utils/generatePresetCode.template.d.ts.map +1 -1
  864. package/package.json +9 -1
  865. package/dist/core/shaderRegistry-DFpnXcuC.js +0 -242
  866. /package/dist/core/{DotGrid-Cv_aCN_c.js → DotGrid-CiDt4NmI.js} +0 -0
  867. /package/dist/core/{Duotone-Db9kfzCs.js → Duotone-CGHcHB9f.js} +0 -0
  868. /package/dist/core/{Ellipse-BvlGDQyZ.js → Ellipse-BNmzdnpK.js} +0 -0
  869. /package/dist/core/{Emboss-CF-BN_CQ.js → Emboss-nrduRrVs.js} +0 -0
  870. /package/dist/core/{FallingLines-CTa8zuvs.js → FallingLines-vdw8KxhV.js} +0 -0
  871. /package/dist/core/{FilmGrain-SrB3ZXIg.js → FilmGrain-BqQeKO6Z.js} +0 -0
  872. /package/dist/core/{FloatingParticles-BVUK6GlL.js → FloatingParticles-DR5cv6Eh.js} +0 -0
  873. /package/dist/core/{FlowField-CF95xOBc.js → FlowField-DpP32B1X.js} +0 -0
  874. /package/dist/core/{Flower-ByQNUJyZ.js → Flower-B4xPp0Qa.js} +0 -0
  875. /package/dist/core/{FlowingGradient-DhOce4wJ.js → FlowingGradient-lSouJxmq.js} +0 -0
  876. /package/dist/core/{Form3D-CcBdpCQr.js → Form3D-DQD-0zrd.js} +0 -0
  877. /package/dist/core/{Glass-BGy9jsiS.js → Glass-CR9981-Z.js} +0 -0
  878. /package/dist/core/{GlassTiles-LsfUL0JT.js → GlassTiles-B7aAvcTQ.js} +0 -0
  879. /package/dist/core/{Glitch-DuQ-dtyM.js → Glitch-CgmgjLea.js} +0 -0
  880. /package/dist/core/{Glow-CsiZkj9_.js → Glow-CKWIRcBt.js} +0 -0
  881. /package/dist/core/{Godrays-CoSL15CM.js → Godrays-o-3Im6H1.js} +0 -0
  882. /package/dist/core/{Grayscale-BrwJ4_uW.js → Grayscale-Bip62olI.js} +0 -0
  883. /package/dist/core/{Grid-Dweeo8b2.js → Grid-hwQnF_hs.js} +0 -0
  884. /package/dist/core/{GridDistortion-DIarsmKa.js → GridDistortion-DXM5MgSc.js} +0 -0
  885. /package/dist/core/{Group-Cc3_0QdC.js → Group-BexPm4Fb.js} +0 -0
  886. /package/dist/core/{Halftone-nfr7eNaT.js → Halftone-onLYU4dF.js} +0 -0
  887. /package/dist/core/{HexGrid-KxwCqF1D.js → HexGrid-BkqEEgfh.js} +0 -0
  888. /package/dist/core/{HueShift-kNK2rEVM.js → HueShift-BldS-av9.js} +0 -0
  889. /package/dist/core/{ImageTexture-acllbA1z.js → ImageTexture-DLCjc5cM.js} +0 -0
  890. /package/dist/core/{Invert-CMnUhHo2.js → Invert-C2LI5GXr.js} +0 -0
  891. /package/dist/core/{Kaleidoscope-CgnidMrq.js → Kaleidoscope-CxWjs5jx.js} +0 -0
  892. /package/dist/core/{LensFlare-CkCTGuKS.js → LensFlare-BNO7tCXH.js} +0 -0
  893. /package/dist/core/{LinearBlur-ByirUCm_.js → LinearBlur-Ds6rm8u-.js} +0 -0
  894. /package/dist/core/{LinearGradient-B2ErQXPL.js → LinearGradient-BZjDhnZp.js} +0 -0
  895. /package/dist/core/{Liquify-BTyJAOmV.js → Liquify-CqcAWBwZ.js} +0 -0
  896. /package/dist/core/{Mirror-CAW37Y13.js → Mirror-5W3sul9v.js} +0 -0
  897. /package/dist/core/{MultiPointGradient-BcjurHeM.js → MultiPointGradient-lpUGnrLq.js} +0 -0
  898. /package/dist/core/{Neon-CRC16G0F.js → Neon-CUKnkAK8.js} +0 -0
  899. /package/dist/core/{Paper-Dkh14pIW.js → Paper-14yYPnWW.js} +0 -0
  900. /package/dist/core/{Perspective-CyG4fNaI.js → Perspective-POVbIGPc.js} +0 -0
  901. /package/dist/core/{Pixelate-DkD_q_Ma.js → Pixelate-CxUxBDeN.js} +0 -0
  902. /package/dist/core/{Plasma-Cuv1eJhl.js → Plasma-DM9TU0VN.js} +0 -0
  903. /package/dist/core/{PolarCoordinates-iQB2vg0q.js → PolarCoordinates-t4Wa00gQ.js} +0 -0
  904. /package/dist/core/{Polygon-2V8po0Ba.js → Polygon-C1y6Nyh4.js} +0 -0
  905. /package/dist/core/{Posterize-Bnf3EUfk.js → Posterize-Dk4DE8Ee.js} +0 -0
  906. /package/dist/core/{ProgressiveBlur-Bc_dXikb.js → ProgressiveBlur-BcHBSVDo.js} +0 -0
  907. /package/dist/core/{RadialGradient-niSnNlOF.js → RadialGradient-CSXQIa5L.js} +0 -0
  908. /package/dist/core/{RectangularCoordinates-DbQ25OTz.js → RectangularCoordinates-YaZ_uRXb.js} +0 -0
  909. /package/dist/core/{Ring-BiKv_lr2.js → Ring-Chj1tp_P.js} +0 -0
  910. /package/dist/core/{Ripples-Daco0GPY.js → Ripples-wJx2FwJY.js} +0 -0
  911. /package/dist/core/{RoundedRect-BjOTRXb0.js → RoundedRect-BEj6tE1e.js} +0 -0
  912. /package/dist/core/{Saturation-BNWZN-nJ.js → Saturation-B500nPZH.js} +0 -0
  913. /package/dist/core/{Sharpness-tRNM2arG.js → Sharpness-NqY4_gKZ.js} +0 -0
  914. /package/dist/core/{Shatter-Cyq_lBjn.js → Shatter-CZMOHj60.js} +0 -0
  915. /package/dist/core/{SimplexNoise-DSvDs4b7.js → SimplexNoise-2-J7EbY9.js} +0 -0
  916. /package/dist/core/{SineWave-Beim8Xoe.js → SineWave-OWJVWsI1.js} +0 -0
  917. /package/dist/core/{Solarize-B0aT_8tE.js → Solarize-CEhQxL9Z.js} +0 -0
  918. /package/dist/core/{SolidColor-kt6ayyXz.js → SolidColor-Dlzm61ZG.js} +0 -0
  919. /package/dist/core/{Spherize-u6gO2hh2.js → Spherize-CXf4_Mkm.js} +0 -0
  920. /package/dist/core/{Spiral-DRpE_jsz.js → Spiral-CSXNX92f.js} +0 -0
  921. /package/dist/core/{Star-DJnks6B5.js → Star-fPw1j10r.js} +0 -0
  922. /package/dist/core/{Strands-BqCaitMb.js → Strands-BPVy1zbt.js} +0 -0
  923. /package/dist/core/{Stretch-TztFP3F2.js → Stretch-CFAjfvny.js} +0 -0
  924. /package/dist/core/{Stripes-UYWf5Cmn.js → Stripes-BSGzno-I.js} +0 -0
  925. /package/dist/core/{StudioBackground-CvKGt77W.js → StudioBackground-81AihXcZ.js} +0 -0
  926. /package/dist/core/{Swirl-YCWu5OJE.js → Swirl-D_ZvZtDS.js} +0 -0
  927. /package/dist/core/{TiltShift-DKibnYzM.js → TiltShift-BysRsV8v.js} +0 -0
  928. /package/dist/core/{Tint-aVYSCIlD.js → Tint-C6xN-Qot.js} +0 -0
  929. /package/dist/core/{Trapezoid-CoK8i1IS.js → Trapezoid-Cr61vRvN.js} +0 -0
  930. /package/dist/core/{Tritone-Cn0ugwld.js → Tritone-Dk8GcpYo.js} +0 -0
  931. /package/dist/core/{Truchet-Bz6ETvSS.js → Truchet-BFd2XYD3.js} +0 -0
  932. /package/dist/core/{Twirl-Dk8y9GcM.js → Twirl-CA0r8U7e.js} +0 -0
  933. /package/dist/core/{Vesica-BELYZ5M8.js → Vesica-AXTA8DJU.js} +0 -0
  934. /package/dist/core/{Vibrance-Cdx5A_q2.js → Vibrance-Dq1jBFJb.js} +0 -0
  935. /package/dist/core/{Vignette-B94FMFBz.js → Vignette-DB8x78Up.js} +0 -0
  936. /package/dist/core/{Voronoi-DPWvdZ05.js → Voronoi-ALXxxHBo.js} +0 -0
  937. /package/dist/core/{WaveDistortion-C7mIgJok.js → WaveDistortion-BVT1KuLK.js} +0 -0
  938. /package/dist/core/{Weave-DzZv1-19.js → Weave-j4CrCig4.js} +0 -0
  939. /package/dist/core/{ZoomBlur-DUcqnggc.js → ZoomBlur-Cl75kL8E.js} +0 -0
  940. /package/dist/core/{browser-CpS3EEFG.js → browser-DIoaEnIX.js} +0 -0
@@ -15,6 +15,14 @@
15
15
  // @ts-ignore - this import is replaced at build time
16
16
  import { componentDefinition, type ComponentProps } from '../../../core/shaders/CRTScreen/index.js';
17
17
 
18
+ // Warn once per page load if this is an experimental component
19
+ let _experimentalWarnedOnce = false;
20
+ if ((componentDefinition as any).experimental && !_experimentalWarnedOnce) {
21
+ _experimentalWarnedOnce = true;
22
+ const _e = (componentDefinition as any).experimental;
23
+ console.info(`%c⚠ [Shaders] ${componentDefinition.name} is experimental: ${_e.message}`, 'color: #f59e0b; font-weight: bold');
24
+ }
25
+
18
26
  /**
19
27
  * Define component props including blend mode, opacity, visibility, masking, and transformation
20
28
  */
@@ -165,7 +173,7 @@
165
173
  /**
166
174
  * Get the node registration function from parent context
167
175
  */
168
- const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any) => void>('shaderNodeRegister');
176
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
169
177
  if (parentRegister === undefined) {
170
178
  throw new Error('Shader components must be used inside an <Shader> component or another shader component');
171
179
  }
@@ -186,6 +194,27 @@
186
194
  throw new Error('Shader components require shaderMetadataUpdate from parent');
187
195
  }
188
196
 
197
+ // capturesDOM — canvas layoutsubtree portal for DOMTexture-style shaders
198
+ const isCapturesDOM = !!(componentDefinition as any).capturesDOM;
199
+ let captureCanvas: HTMLCanvasElement | undefined;
200
+ let captureW = $state(typeof window !== 'undefined' ? Math.round(window.innerWidth * Math.min(window.devicePixelRatio, 2)) : 0);
201
+ let captureH = $state(typeof window !== 'undefined' ? Math.round(window.innerHeight * Math.min(window.devicePixelRatio, 2)) : 0);
202
+
203
+ function teleportToBody(node: HTMLElement) {
204
+ document.body.appendChild(node);
205
+ return { destroy() { node.remove(); } };
206
+ }
207
+
208
+ if (isCapturesDOM) {
209
+ const onWinResize = () => {
210
+ const d = Math.min(window.devicePixelRatio, 2);
211
+ captureW = Math.round(window.innerWidth * d);
212
+ captureH = Math.round(window.innerHeight * d);
213
+ };
214
+ onMount(() => { window.addEventListener('resize', onWinResize); });
215
+ onDestroy(() => { window.removeEventListener('resize', onWinResize); });
216
+ }
217
+
189
218
  // DOM marker ref for determining render order from template position
190
219
  let orderMarker: HTMLSpanElement;
191
220
 
@@ -255,7 +284,8 @@
255
284
  transform: effectiveTransform
256
285
  },
257
286
  uniforms,
258
- componentDefinition
287
+ componentDefinition,
288
+ isCapturesDOM ? captureCanvas : undefined
259
289
  );
260
290
 
261
291
  // Set flag to enable effects after successful registration
@@ -290,5 +320,14 @@
290
320
  </script>
291
321
 
292
322
  <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
293
- {@render children?.()}
294
- </span>
323
+ {#if !isCapturesDOM}
324
+ {@render children?.()}
325
+ {/if}
326
+ </span>
327
+ {#if isCapturesDOM}
328
+ <canvas use:teleportToBody bind:this={captureCanvas} layoutsubtree
329
+ width={captureW} height={captureH}
330
+ style="position:fixed;inset:0;width:100vw;height:100vh;z-index:-9999">
331
+ {@render children?.()}
332
+ </canvas>
333
+ {/if}
@@ -15,6 +15,14 @@
15
15
  // @ts-ignore - this import is replaced at build time
16
16
  import { componentDefinition, type ComponentProps } from '../../../core/shaders/ChannelBlur/index.js';
17
17
 
18
+ // Warn once per page load if this is an experimental component
19
+ let _experimentalWarnedOnce = false;
20
+ if ((componentDefinition as any).experimental && !_experimentalWarnedOnce) {
21
+ _experimentalWarnedOnce = true;
22
+ const _e = (componentDefinition as any).experimental;
23
+ console.info(`%c⚠ [Shaders] ${componentDefinition.name} is experimental: ${_e.message}`, 'color: #f59e0b; font-weight: bold');
24
+ }
25
+
18
26
  /**
19
27
  * Define component props including blend mode, opacity, visibility, masking, and transformation
20
28
  */
@@ -160,7 +168,7 @@
160
168
  /**
161
169
  * Get the node registration function from parent context
162
170
  */
163
- const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any) => void>('shaderNodeRegister');
171
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
164
172
  if (parentRegister === undefined) {
165
173
  throw new Error('Shader components must be used inside an <Shader> component or another shader component');
166
174
  }
@@ -181,6 +189,27 @@
181
189
  throw new Error('Shader components require shaderMetadataUpdate from parent');
182
190
  }
183
191
 
192
+ // capturesDOM — canvas layoutsubtree portal for DOMTexture-style shaders
193
+ const isCapturesDOM = !!(componentDefinition as any).capturesDOM;
194
+ let captureCanvas: HTMLCanvasElement | undefined;
195
+ let captureW = $state(typeof window !== 'undefined' ? Math.round(window.innerWidth * Math.min(window.devicePixelRatio, 2)) : 0);
196
+ let captureH = $state(typeof window !== 'undefined' ? Math.round(window.innerHeight * Math.min(window.devicePixelRatio, 2)) : 0);
197
+
198
+ function teleportToBody(node: HTMLElement) {
199
+ document.body.appendChild(node);
200
+ return { destroy() { node.remove(); } };
201
+ }
202
+
203
+ if (isCapturesDOM) {
204
+ const onWinResize = () => {
205
+ const d = Math.min(window.devicePixelRatio, 2);
206
+ captureW = Math.round(window.innerWidth * d);
207
+ captureH = Math.round(window.innerHeight * d);
208
+ };
209
+ onMount(() => { window.addEventListener('resize', onWinResize); });
210
+ onDestroy(() => { window.removeEventListener('resize', onWinResize); });
211
+ }
212
+
184
213
  // DOM marker ref for determining render order from template position
185
214
  let orderMarker: HTMLSpanElement;
186
215
 
@@ -250,7 +279,8 @@
250
279
  transform: effectiveTransform
251
280
  },
252
281
  uniforms,
253
- componentDefinition
282
+ componentDefinition,
283
+ isCapturesDOM ? captureCanvas : undefined
254
284
  );
255
285
 
256
286
  // Set flag to enable effects after successful registration
@@ -285,5 +315,14 @@
285
315
  </script>
286
316
 
287
317
  <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
288
- {@render children?.()}
289
- </span>
318
+ {#if !isCapturesDOM}
319
+ {@render children?.()}
320
+ {/if}
321
+ </span>
322
+ {#if isCapturesDOM}
323
+ <canvas use:teleportToBody bind:this={captureCanvas} layoutsubtree
324
+ width={captureW} height={captureH}
325
+ style="position:fixed;inset:0;width:100vw;height:100vh;z-index:-9999">
326
+ {@render children?.()}
327
+ </canvas>
328
+ {/if}
@@ -15,6 +15,14 @@
15
15
  // @ts-ignore - this import is replaced at build time
16
16
  import { componentDefinition, type ComponentProps } from '../../../core/shaders/Checkerboard/index.js';
17
17
 
18
+ // Warn once per page load if this is an experimental component
19
+ let _experimentalWarnedOnce = false;
20
+ if ((componentDefinition as any).experimental && !_experimentalWarnedOnce) {
21
+ _experimentalWarnedOnce = true;
22
+ const _e = (componentDefinition as any).experimental;
23
+ console.info(`%c⚠ [Shaders] ${componentDefinition.name} is experimental: ${_e.message}`, 'color: #f59e0b; font-weight: bold');
24
+ }
25
+
18
26
  /**
19
27
  * Define component props including blend mode, opacity, visibility, masking, and transformation
20
28
  */
@@ -159,7 +167,7 @@
159
167
  /**
160
168
  * Get the node registration function from parent context
161
169
  */
162
- const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any) => void>('shaderNodeRegister');
170
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
163
171
  if (parentRegister === undefined) {
164
172
  throw new Error('Shader components must be used inside an <Shader> component or another shader component');
165
173
  }
@@ -180,6 +188,27 @@
180
188
  throw new Error('Shader components require shaderMetadataUpdate from parent');
181
189
  }
182
190
 
191
+ // capturesDOM — canvas layoutsubtree portal for DOMTexture-style shaders
192
+ const isCapturesDOM = !!(componentDefinition as any).capturesDOM;
193
+ let captureCanvas: HTMLCanvasElement | undefined;
194
+ let captureW = $state(typeof window !== 'undefined' ? Math.round(window.innerWidth * Math.min(window.devicePixelRatio, 2)) : 0);
195
+ let captureH = $state(typeof window !== 'undefined' ? Math.round(window.innerHeight * Math.min(window.devicePixelRatio, 2)) : 0);
196
+
197
+ function teleportToBody(node: HTMLElement) {
198
+ document.body.appendChild(node);
199
+ return { destroy() { node.remove(); } };
200
+ }
201
+
202
+ if (isCapturesDOM) {
203
+ const onWinResize = () => {
204
+ const d = Math.min(window.devicePixelRatio, 2);
205
+ captureW = Math.round(window.innerWidth * d);
206
+ captureH = Math.round(window.innerHeight * d);
207
+ };
208
+ onMount(() => { window.addEventListener('resize', onWinResize); });
209
+ onDestroy(() => { window.removeEventListener('resize', onWinResize); });
210
+ }
211
+
183
212
  // DOM marker ref for determining render order from template position
184
213
  let orderMarker: HTMLSpanElement;
185
214
 
@@ -249,7 +278,8 @@
249
278
  transform: effectiveTransform
250
279
  },
251
280
  uniforms,
252
- componentDefinition
281
+ componentDefinition,
282
+ isCapturesDOM ? captureCanvas : undefined
253
283
  );
254
284
 
255
285
  // Set flag to enable effects after successful registration
@@ -284,5 +314,14 @@
284
314
  </script>
285
315
 
286
316
  <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
287
- {@render children?.()}
288
- </span>
317
+ {#if !isCapturesDOM}
318
+ {@render children?.()}
319
+ {/if}
320
+ </span>
321
+ {#if isCapturesDOM}
322
+ <canvas use:teleportToBody bind:this={captureCanvas} layoutsubtree
323
+ width={captureW} height={captureH}
324
+ style="position:fixed;inset:0;width:100vw;height:100vh;z-index:-9999">
325
+ {@render children?.()}
326
+ </canvas>
327
+ {/if}
@@ -15,6 +15,14 @@
15
15
  // @ts-ignore - this import is replaced at build time
16
16
  import { componentDefinition, type ComponentProps } from '../../../core/shaders/ChromaFlow/index.js';
17
17
 
18
+ // Warn once per page load if this is an experimental component
19
+ let _experimentalWarnedOnce = false;
20
+ if ((componentDefinition as any).experimental && !_experimentalWarnedOnce) {
21
+ _experimentalWarnedOnce = true;
22
+ const _e = (componentDefinition as any).experimental;
23
+ console.info(`%c⚠ [Shaders] ${componentDefinition.name} is experimental: ${_e.message}`, 'color: #f59e0b; font-weight: bold');
24
+ }
25
+
18
26
  /**
19
27
  * Define component props including blend mode, opacity, visibility, masking, and transformation
20
28
  */
@@ -157,7 +165,7 @@
157
165
  /**
158
166
  * Get the node registration function from parent context
159
167
  */
160
- const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any) => void>('shaderNodeRegister');
168
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
161
169
  if (parentRegister === undefined) {
162
170
  throw new Error('Shader components must be used inside an <Shader> component or another shader component');
163
171
  }
@@ -178,6 +186,27 @@
178
186
  throw new Error('Shader components require shaderMetadataUpdate from parent');
179
187
  }
180
188
 
189
+ // capturesDOM — canvas layoutsubtree portal for DOMTexture-style shaders
190
+ const isCapturesDOM = !!(componentDefinition as any).capturesDOM;
191
+ let captureCanvas: HTMLCanvasElement | undefined;
192
+ let captureW = $state(typeof window !== 'undefined' ? Math.round(window.innerWidth * Math.min(window.devicePixelRatio, 2)) : 0);
193
+ let captureH = $state(typeof window !== 'undefined' ? Math.round(window.innerHeight * Math.min(window.devicePixelRatio, 2)) : 0);
194
+
195
+ function teleportToBody(node: HTMLElement) {
196
+ document.body.appendChild(node);
197
+ return { destroy() { node.remove(); } };
198
+ }
199
+
200
+ if (isCapturesDOM) {
201
+ const onWinResize = () => {
202
+ const d = Math.min(window.devicePixelRatio, 2);
203
+ captureW = Math.round(window.innerWidth * d);
204
+ captureH = Math.round(window.innerHeight * d);
205
+ };
206
+ onMount(() => { window.addEventListener('resize', onWinResize); });
207
+ onDestroy(() => { window.removeEventListener('resize', onWinResize); });
208
+ }
209
+
181
210
  // DOM marker ref for determining render order from template position
182
211
  let orderMarker: HTMLSpanElement;
183
212
 
@@ -247,7 +276,8 @@
247
276
  transform: effectiveTransform
248
277
  },
249
278
  uniforms,
250
- componentDefinition
279
+ componentDefinition,
280
+ isCapturesDOM ? captureCanvas : undefined
251
281
  );
252
282
 
253
283
  // Set flag to enable effects after successful registration
@@ -282,5 +312,14 @@
282
312
  </script>
283
313
 
284
314
  <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
285
- {@render children?.()}
286
- </span>
315
+ {#if !isCapturesDOM}
316
+ {@render children?.()}
317
+ {/if}
318
+ </span>
319
+ {#if isCapturesDOM}
320
+ <canvas use:teleportToBody bind:this={captureCanvas} layoutsubtree
321
+ width={captureW} height={captureH}
322
+ style="position:fixed;inset:0;width:100vw;height:100vh;z-index:-9999">
323
+ {@render children?.()}
324
+ </canvas>
325
+ {/if}
@@ -15,6 +15,14 @@
15
15
  // @ts-ignore - this import is replaced at build time
16
16
  import { componentDefinition, type ComponentProps } from '../../../core/shaders/ChromaticAberration/index.js';
17
17
 
18
+ // Warn once per page load if this is an experimental component
19
+ let _experimentalWarnedOnce = false;
20
+ if ((componentDefinition as any).experimental && !_experimentalWarnedOnce) {
21
+ _experimentalWarnedOnce = true;
22
+ const _e = (componentDefinition as any).experimental;
23
+ console.info(`%c⚠ [Shaders] ${componentDefinition.name} is experimental: ${_e.message}`, 'color: #f59e0b; font-weight: bold');
24
+ }
25
+
18
26
  /**
19
27
  * Define component props including blend mode, opacity, visibility, masking, and transformation
20
28
  */
@@ -162,7 +170,7 @@
162
170
  /**
163
171
  * Get the node registration function from parent context
164
172
  */
165
- const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any) => void>('shaderNodeRegister');
173
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
166
174
  if (parentRegister === undefined) {
167
175
  throw new Error('Shader components must be used inside an <Shader> component or another shader component');
168
176
  }
@@ -183,6 +191,27 @@
183
191
  throw new Error('Shader components require shaderMetadataUpdate from parent');
184
192
  }
185
193
 
194
+ // capturesDOM — canvas layoutsubtree portal for DOMTexture-style shaders
195
+ const isCapturesDOM = !!(componentDefinition as any).capturesDOM;
196
+ let captureCanvas: HTMLCanvasElement | undefined;
197
+ let captureW = $state(typeof window !== 'undefined' ? Math.round(window.innerWidth * Math.min(window.devicePixelRatio, 2)) : 0);
198
+ let captureH = $state(typeof window !== 'undefined' ? Math.round(window.innerHeight * Math.min(window.devicePixelRatio, 2)) : 0);
199
+
200
+ function teleportToBody(node: HTMLElement) {
201
+ document.body.appendChild(node);
202
+ return { destroy() { node.remove(); } };
203
+ }
204
+
205
+ if (isCapturesDOM) {
206
+ const onWinResize = () => {
207
+ const d = Math.min(window.devicePixelRatio, 2);
208
+ captureW = Math.round(window.innerWidth * d);
209
+ captureH = Math.round(window.innerHeight * d);
210
+ };
211
+ onMount(() => { window.addEventListener('resize', onWinResize); });
212
+ onDestroy(() => { window.removeEventListener('resize', onWinResize); });
213
+ }
214
+
186
215
  // DOM marker ref for determining render order from template position
187
216
  let orderMarker: HTMLSpanElement;
188
217
 
@@ -252,7 +281,8 @@
252
281
  transform: effectiveTransform
253
282
  },
254
283
  uniforms,
255
- componentDefinition
284
+ componentDefinition,
285
+ isCapturesDOM ? captureCanvas : undefined
256
286
  );
257
287
 
258
288
  // Set flag to enable effects after successful registration
@@ -287,5 +317,14 @@
287
317
  </script>
288
318
 
289
319
  <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
290
- {@render children?.()}
291
- </span>
320
+ {#if !isCapturesDOM}
321
+ {@render children?.()}
322
+ {/if}
323
+ </span>
324
+ {#if isCapturesDOM}
325
+ <canvas use:teleportToBody bind:this={captureCanvas} layoutsubtree
326
+ width={captureW} height={captureH}
327
+ style="position:fixed;inset:0;width:100vw;height:100vh;z-index:-9999">
328
+ {@render children?.()}
329
+ </canvas>
330
+ {/if}
@@ -15,6 +15,14 @@
15
15
  // @ts-ignore - this import is replaced at build time
16
16
  import { componentDefinition, type ComponentProps } from '../../../core/shaders/Circle/index.js';
17
17
 
18
+ // Warn once per page load if this is an experimental component
19
+ let _experimentalWarnedOnce = false;
20
+ if ((componentDefinition as any).experimental && !_experimentalWarnedOnce) {
21
+ _experimentalWarnedOnce = true;
22
+ const _e = (componentDefinition as any).experimental;
23
+ console.info(`%c⚠ [Shaders] ${componentDefinition.name} is experimental: ${_e.message}`, 'color: #f59e0b; font-weight: bold');
24
+ }
25
+
18
26
  /**
19
27
  * Define component props including blend mode, opacity, visibility, masking, and transformation
20
28
  */
@@ -161,7 +169,7 @@
161
169
  /**
162
170
  * Get the node registration function from parent context
163
171
  */
164
- const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any) => void>('shaderNodeRegister');
172
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
165
173
  if (parentRegister === undefined) {
166
174
  throw new Error('Shader components must be used inside an <Shader> component or another shader component');
167
175
  }
@@ -182,6 +190,27 @@
182
190
  throw new Error('Shader components require shaderMetadataUpdate from parent');
183
191
  }
184
192
 
193
+ // capturesDOM — canvas layoutsubtree portal for DOMTexture-style shaders
194
+ const isCapturesDOM = !!(componentDefinition as any).capturesDOM;
195
+ let captureCanvas: HTMLCanvasElement | undefined;
196
+ let captureW = $state(typeof window !== 'undefined' ? Math.round(window.innerWidth * Math.min(window.devicePixelRatio, 2)) : 0);
197
+ let captureH = $state(typeof window !== 'undefined' ? Math.round(window.innerHeight * Math.min(window.devicePixelRatio, 2)) : 0);
198
+
199
+ function teleportToBody(node: HTMLElement) {
200
+ document.body.appendChild(node);
201
+ return { destroy() { node.remove(); } };
202
+ }
203
+
204
+ if (isCapturesDOM) {
205
+ const onWinResize = () => {
206
+ const d = Math.min(window.devicePixelRatio, 2);
207
+ captureW = Math.round(window.innerWidth * d);
208
+ captureH = Math.round(window.innerHeight * d);
209
+ };
210
+ onMount(() => { window.addEventListener('resize', onWinResize); });
211
+ onDestroy(() => { window.removeEventListener('resize', onWinResize); });
212
+ }
213
+
185
214
  // DOM marker ref for determining render order from template position
186
215
  let orderMarker: HTMLSpanElement;
187
216
 
@@ -251,7 +280,8 @@
251
280
  transform: effectiveTransform
252
281
  },
253
282
  uniforms,
254
- componentDefinition
283
+ componentDefinition,
284
+ isCapturesDOM ? captureCanvas : undefined
255
285
  );
256
286
 
257
287
  // Set flag to enable effects after successful registration
@@ -286,5 +316,14 @@
286
316
  </script>
287
317
 
288
318
  <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
289
- {@render children?.()}
290
- </span>
319
+ {#if !isCapturesDOM}
320
+ {@render children?.()}
321
+ {/if}
322
+ </span>
323
+ {#if isCapturesDOM}
324
+ <canvas use:teleportToBody bind:this={captureCanvas} layoutsubtree
325
+ width={captureW} height={captureH}
326
+ style="position:fixed;inset:0;width:100vw;height:100vh;z-index:-9999">
327
+ {@render children?.()}
328
+ </canvas>
329
+ {/if}
@@ -15,6 +15,14 @@
15
15
  // @ts-ignore - this import is replaced at build time
16
16
  import { componentDefinition, type ComponentProps } from '../../../core/shaders/ConcentricSpin/index.js';
17
17
 
18
+ // Warn once per page load if this is an experimental component
19
+ let _experimentalWarnedOnce = false;
20
+ if ((componentDefinition as any).experimental && !_experimentalWarnedOnce) {
21
+ _experimentalWarnedOnce = true;
22
+ const _e = (componentDefinition as any).experimental;
23
+ console.info(`%c⚠ [Shaders] ${componentDefinition.name} is experimental: ${_e.message}`, 'color: #f59e0b; font-weight: bold');
24
+ }
25
+
18
26
  /**
19
27
  * Define component props including blend mode, opacity, visibility, masking, and transformation
20
28
  */
@@ -162,7 +170,7 @@
162
170
  /**
163
171
  * Get the node registration function from parent context
164
172
  */
165
- const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any) => void>('shaderNodeRegister');
173
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
166
174
  if (parentRegister === undefined) {
167
175
  throw new Error('Shader components must be used inside an <Shader> component or another shader component');
168
176
  }
@@ -183,6 +191,27 @@
183
191
  throw new Error('Shader components require shaderMetadataUpdate from parent');
184
192
  }
185
193
 
194
+ // capturesDOM — canvas layoutsubtree portal for DOMTexture-style shaders
195
+ const isCapturesDOM = !!(componentDefinition as any).capturesDOM;
196
+ let captureCanvas: HTMLCanvasElement | undefined;
197
+ let captureW = $state(typeof window !== 'undefined' ? Math.round(window.innerWidth * Math.min(window.devicePixelRatio, 2)) : 0);
198
+ let captureH = $state(typeof window !== 'undefined' ? Math.round(window.innerHeight * Math.min(window.devicePixelRatio, 2)) : 0);
199
+
200
+ function teleportToBody(node: HTMLElement) {
201
+ document.body.appendChild(node);
202
+ return { destroy() { node.remove(); } };
203
+ }
204
+
205
+ if (isCapturesDOM) {
206
+ const onWinResize = () => {
207
+ const d = Math.min(window.devicePixelRatio, 2);
208
+ captureW = Math.round(window.innerWidth * d);
209
+ captureH = Math.round(window.innerHeight * d);
210
+ };
211
+ onMount(() => { window.addEventListener('resize', onWinResize); });
212
+ onDestroy(() => { window.removeEventListener('resize', onWinResize); });
213
+ }
214
+
186
215
  // DOM marker ref for determining render order from template position
187
216
  let orderMarker: HTMLSpanElement;
188
217
 
@@ -252,7 +281,8 @@
252
281
  transform: effectiveTransform
253
282
  },
254
283
  uniforms,
255
- componentDefinition
284
+ componentDefinition,
285
+ isCapturesDOM ? captureCanvas : undefined
256
286
  );
257
287
 
258
288
  // Set flag to enable effects after successful registration
@@ -287,5 +317,14 @@
287
317
  </script>
288
318
 
289
319
  <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
290
- {@render children?.()}
291
- </span>
320
+ {#if !isCapturesDOM}
321
+ {@render children?.()}
322
+ {/if}
323
+ </span>
324
+ {#if isCapturesDOM}
325
+ <canvas use:teleportToBody bind:this={captureCanvas} layoutsubtree
326
+ width={captureW} height={captureH}
327
+ style="position:fixed;inset:0;width:100vw;height:100vh;z-index:-9999">
328
+ {@render children?.()}
329
+ </canvas>
330
+ {/if}
@@ -15,6 +15,14 @@
15
15
  // @ts-ignore - this import is replaced at build time
16
16
  import { componentDefinition, type ComponentProps } from '../../../core/shaders/ConicGradient/index.js';
17
17
 
18
+ // Warn once per page load if this is an experimental component
19
+ let _experimentalWarnedOnce = false;
20
+ if ((componentDefinition as any).experimental && !_experimentalWarnedOnce) {
21
+ _experimentalWarnedOnce = true;
22
+ const _e = (componentDefinition as any).experimental;
23
+ console.info(`%c⚠ [Shaders] ${componentDefinition.name} is experimental: ${_e.message}`, 'color: #f59e0b; font-weight: bold');
24
+ }
25
+
18
26
  /**
19
27
  * Define component props including blend mode, opacity, visibility, masking, and transformation
20
28
  */
@@ -160,7 +168,7 @@
160
168
  /**
161
169
  * Get the node registration function from parent context
162
170
  */
163
- const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any) => void>('shaderNodeRegister');
171
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
164
172
  if (parentRegister === undefined) {
165
173
  throw new Error('Shader components must be used inside an <Shader> component or another shader component');
166
174
  }
@@ -181,6 +189,27 @@
181
189
  throw new Error('Shader components require shaderMetadataUpdate from parent');
182
190
  }
183
191
 
192
+ // capturesDOM — canvas layoutsubtree portal for DOMTexture-style shaders
193
+ const isCapturesDOM = !!(componentDefinition as any).capturesDOM;
194
+ let captureCanvas: HTMLCanvasElement | undefined;
195
+ let captureW = $state(typeof window !== 'undefined' ? Math.round(window.innerWidth * Math.min(window.devicePixelRatio, 2)) : 0);
196
+ let captureH = $state(typeof window !== 'undefined' ? Math.round(window.innerHeight * Math.min(window.devicePixelRatio, 2)) : 0);
197
+
198
+ function teleportToBody(node: HTMLElement) {
199
+ document.body.appendChild(node);
200
+ return { destroy() { node.remove(); } };
201
+ }
202
+
203
+ if (isCapturesDOM) {
204
+ const onWinResize = () => {
205
+ const d = Math.min(window.devicePixelRatio, 2);
206
+ captureW = Math.round(window.innerWidth * d);
207
+ captureH = Math.round(window.innerHeight * d);
208
+ };
209
+ onMount(() => { window.addEventListener('resize', onWinResize); });
210
+ onDestroy(() => { window.removeEventListener('resize', onWinResize); });
211
+ }
212
+
184
213
  // DOM marker ref for determining render order from template position
185
214
  let orderMarker: HTMLSpanElement;
186
215
 
@@ -250,7 +279,8 @@
250
279
  transform: effectiveTransform
251
280
  },
252
281
  uniforms,
253
- componentDefinition
282
+ componentDefinition,
283
+ isCapturesDOM ? captureCanvas : undefined
254
284
  );
255
285
 
256
286
  // Set flag to enable effects after successful registration
@@ -285,5 +315,14 @@
285
315
  </script>
286
316
 
287
317
  <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
288
- {@render children?.()}
289
- </span>
318
+ {#if !isCapturesDOM}
319
+ {@render children?.()}
320
+ {/if}
321
+ </span>
322
+ {#if isCapturesDOM}
323
+ <canvas use:teleportToBody bind:this={captureCanvas} layoutsubtree
324
+ width={captureW} height={captureH}
325
+ style="position:fixed;inset:0;width:100vw;height:100vh;z-index:-9999">
326
+ {@render children?.()}
327
+ </canvas>
328
+ {/if}