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
@@ -0,0 +1,325 @@
1
+ <script lang="ts">
2
+ import { getContext, setContext, onMount, onDestroy } from 'svelte';
3
+ import {
4
+ createUniformsMap,
5
+ type UniformsMap,
6
+ type BlendMode,
7
+ type NodeMetadata,
8
+ type PropConfig,
9
+ type MaskConfig,
10
+ type PropDriver,
11
+ type TransformConfig
12
+ } from '../../../core/index.js';
13
+ import {setColorSpaceMode} from '../../../core/utilities/transformations/index.js';
14
+
15
+ // @ts-ignore - this import is replaced at build time
16
+ import { componentDefinition, type ComponentProps } from '../../../core/shaders/DOMTexture/index.js';
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
+
26
+ /**
27
+ * Define component props including blend mode, opacity, visibility, masking, and transformation
28
+ */
29
+ interface ExtendedComponentProps extends Partial<ComponentProps> {
30
+ blendMode?: BlendMode;
31
+ opacity?: number;
32
+ visible?: boolean;
33
+ id?: string;
34
+ maskSource?: string;
35
+ maskType?: string;
36
+ renderOrder?: number;
37
+ transform?: Partial<TransformConfig>;
38
+ children?: import('svelte').Snippet;
39
+ }
40
+
41
+ function isPropDriver(value: unknown): value is PropDriver {
42
+ return typeof value === 'object' && value !== null && 'type' in value &&
43
+ ((value as any).type === 'map' || (value as any).type === 'mouse' || (value as any).type === 'mouse-position' || (value as any).type === 'auto-animate');
44
+ }
45
+
46
+ /**
47
+ * Default transform configuration (optimized for zero overhead)
48
+ */
49
+ const DEFAULT_TRANSFORM: TransformConfig = {
50
+ offsetX: 0,
51
+ offsetY: 0,
52
+ rotation: 0,
53
+ scale: 1,
54
+ anchorX: 0.5,
55
+ anchorY: 0.5,
56
+ edges: 'transparent'
57
+ };
58
+
59
+ // Define the component props and their default values from the shader definition
60
+ const componentDefaults = {
61
+ blendMode: 'normal' as BlendMode,
62
+ visible: true,
63
+ // opacity intentionally has no default - handled by renderer
64
+ // transform intentionally has no default - handled by effectiveTransform
65
+ ...Object.entries(componentDefinition.props).reduce(
66
+ (acc, [key, config]) => {
67
+ acc[key] = (config as unknown as PropConfig<typeof config>).default;
68
+ return acc;
69
+ },
70
+ {} as Record<string, any>
71
+ )
72
+ };
73
+
74
+ // Declare props using Svelte 5's syntax
75
+ const props: ExtendedComponentProps = $props();
76
+
77
+ // Apply defaults manually since Svelte 5 doesn't have withDefaults equivalent
78
+ // Use $derived so the metadata $effect re-runs when any of these change at runtime
79
+ const blendMode = $derived(props.blendMode ?? componentDefaults.blendMode);
80
+ const opacity = $derived(props.opacity); // No default - handled by renderer
81
+ const visible = $derived(props.visible ?? componentDefaults.visible); // Default to true
82
+ const id = $derived(props.id);
83
+ const maskSource = $derived(props.maskSource);
84
+ const maskType = $derived(props.maskType);
85
+ const renderOrder = $derived(props.renderOrder);
86
+ const { children } = props;
87
+
88
+ // Collect PropDriver values from shader props into the maps metadata structure
89
+ const mapsFromProps = $derived.by(() => {
90
+ const maps: Record<string, PropDriver> = {};
91
+ for (const key of Object.keys(componentDefinition.props)) {
92
+ const val = (props as any)[key];
93
+ if (isPropDriver(val)) maps[key] = val as PropDriver;
94
+ }
95
+ return Object.keys(maps).length > 0 ? maps : undefined;
96
+ });
97
+
98
+ /**
99
+ * Computed transform that merges user-provided values with defaults
100
+ */
101
+ const effectiveTransform = $derived({
102
+ ...DEFAULT_TRANSFORM,
103
+ ...props.transform
104
+ });
105
+
106
+ /**
107
+ * FIRST: Get the parent ID from context BEFORE setting our own context
108
+ */
109
+ const parentId = getContext<string>('shaderParentId');
110
+ if (parentId === undefined) {
111
+ throw new Error('Shader components must be used inside an <Shader> component or another shader component');
112
+ }
113
+
114
+ /**
115
+ * Use the provided ID or generate a unique identifier for this component instance
116
+ */
117
+ const instanceId = (id ? id.replace(/[^a-zA-Z0-9_]/g, '_') : null) || Math.random().toString(36).substring(2, 10);
118
+
119
+ /**
120
+ * THEN: Provide our unique identifier to child components
121
+ */
122
+ setContext('shaderParentId', instanceId);
123
+
124
+ /**
125
+ * Creates a non-reactive object containing only props that differ from defaults
126
+ * This optimization prevents unnecessary GPU uniform updates for unchanged values
127
+ * Special props like blendMode and opacity are handled separately
128
+ */
129
+ const shaderReadyProps = $derived.by(() => {
130
+ let baseProps = { ...componentDefaults };
131
+
132
+ // Only include props that differ from defaults (excluding special props and PropDrivers)
133
+ for (const key in props) {
134
+ if (key !== 'blendMode' && key !== 'opacity' && key !== 'visible' &&
135
+ key !== 'id' && key !== 'maskSource' && key !== 'maskType' && key !== 'renderOrder' &&
136
+ key !== 'transform' && key !== 'children') {
137
+ const propValue = (props as any)[key];
138
+ if (isPropDriver(propValue)) continue; // PropDrivers go to metadata.maps, not uniforms
139
+ const defaultValue = (componentDefaults as any)[key];
140
+ if (propValue !== undefined && propValue !== defaultValue) {
141
+ (baseProps as any)[key] = propValue;
142
+ }
143
+ }
144
+ }
145
+ return baseProps;
146
+ });
147
+
148
+ /**
149
+ * Get the color space from the root Shader component.
150
+ * Used to set the global color space mode before creating uniforms.
151
+ */
152
+ const shaderColorSpace = getContext<() => 'p3-linear' | 'srgb'>('shaderColorSpace');
153
+
154
+ /**
155
+ * Creates the GPU uniform values map using only the changed props
156
+ * Set the global color space mode before creating uniforms so colors are transformed correctly
157
+ * Note: Intentionally captures initial value - props are immutable after initialization
158
+ */
159
+ if (shaderColorSpace) {
160
+ setColorSpaceMode(shaderColorSpace());
161
+ }
162
+ // svelte-ignore state_referenced_locally
163
+ const uniforms: UniformsMap = createUniformsMap(componentDefinition, shaderReadyProps, instanceId);
164
+
165
+ /**
166
+ * Get the node registration function from parent context
167
+ */
168
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
169
+ if (parentRegister === undefined) {
170
+ throw new Error('Shader components must be used inside an <Shader> component or another shader component');
171
+ }
172
+
173
+ /**
174
+ * Get the uniform update function from parent context
175
+ */
176
+ const parentUniformUpdate = getContext<(nodeId: string, uniformName: string, value: any) => void>('shaderUniformUpdate');
177
+ if (parentUniformUpdate === undefined) {
178
+ throw new Error('Shader components require shaderUniformUpdate from parent');
179
+ }
180
+
181
+ /**
182
+ * Get the metadata update function from parent context
183
+ */
184
+ const parentMetadataUpdate = getContext<(nodeId: string, metadata: NodeMetadata) => void>('shaderMetadataUpdate');
185
+ if (parentMetadataUpdate === undefined) {
186
+ throw new Error('Shader components require shaderMetadataUpdate from parent');
187
+ }
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
+
210
+ // DOM marker ref for determining render order from template position
211
+ let orderMarker: HTMLSpanElement;
212
+
213
+ // Stores the DOM-detected render order
214
+ let detectedRenderOrder: number | undefined = undefined;
215
+
216
+ // Flag to track when component is registered
217
+ let isRegistered = $state(false);
218
+
219
+ // Setup uniform watchers with registration guard
220
+ Object.entries(uniforms).forEach(([propName, { uniform, transform }]) => {
221
+ $effect(() => {
222
+ // Only run after component is registered
223
+ if (!isRegistered) return;
224
+
225
+ if (uniform && uniform.value !== undefined) {
226
+ const newValue = (props as any)[propName];
227
+ if (newValue !== undefined && !isPropDriver(newValue)) {
228
+ // Send raw value - renderer will handle transformation
229
+ // PropDriver values go to metadata.maps, not uniforms
230
+ parentUniformUpdate(instanceId, propName, newValue);
231
+ }
232
+ }
233
+ });
234
+ });
235
+
236
+ // Watch blend mode, opacity, visibility, masking, transformations, and prop maps changes
237
+ $effect(() => {
238
+ // Only run after component is registered
239
+ if (!isRegistered) return;
240
+
241
+ const metadata: NodeMetadata = {
242
+ blendMode,
243
+ opacity,
244
+ visible: visible === false ? false : true,
245
+ id,
246
+ mask: maskSource ? {
247
+ source: maskSource,
248
+ type: (maskType || 'alpha') as MaskConfig['type']
249
+ } : undefined,
250
+ maps: mapsFromProps,
251
+ renderOrder: renderOrder ?? detectedRenderOrder,
252
+ transform: effectiveTransform
253
+ };
254
+ parentMetadataUpdate(instanceId, metadata);
255
+ });
256
+
257
+ // Register this component after mount to ensure parent is ready
258
+ onMount(() => {
259
+ // Register this component with safety check
260
+ if (componentDefinition && typeof componentDefinition.fragmentNode === 'function') {
261
+ parentRegister(
262
+ instanceId,
263
+ componentDefinition.fragmentNode,
264
+ parentId,
265
+ {
266
+ blendMode,
267
+ opacity,
268
+ visible: visible !== false ? true : false,
269
+ id,
270
+ mask: maskSource ? {
271
+ source: maskSource,
272
+ type: (maskType || 'alpha') as MaskConfig['type']
273
+ } as MaskConfig : undefined,
274
+ maps: mapsFromProps,
275
+ renderOrder: renderOrder ?? detectedRenderOrder,
276
+ transform: effectiveTransform
277
+ },
278
+ uniforms,
279
+ componentDefinition,
280
+ isCapturesDOM ? captureCanvas : undefined
281
+ );
282
+
283
+ // Set flag to enable effects after successful registration
284
+ isRegistered = true;
285
+
286
+ // Detect DOM position for correct render ordering
287
+ if (renderOrder === undefined && orderMarker) {
288
+ const parent = orderMarker.parentElement;
289
+ if (parent) {
290
+ const siblings = parent.querySelectorAll(':scope > [data-shader-id]');
291
+ const position = Array.from(siblings).indexOf(orderMarker);
292
+ if (position >= 0) {
293
+ detectedRenderOrder = position;
294
+ parentMetadataUpdate(instanceId, { renderOrder: position } as NodeMetadata);
295
+ }
296
+ }
297
+ }
298
+ } else {
299
+ console.error('componentDefinition.fragmentNode is not a function:', {
300
+ componentDefinition,
301
+ fragmentNode: componentDefinition?.fragmentNode,
302
+ type: typeof componentDefinition?.fragmentNode
303
+ });
304
+ }
305
+ });
306
+
307
+ // Clean up node from registry when component is unmounted
308
+ onDestroy(() => {
309
+ isRegistered = false;
310
+ parentRegister(instanceId, null, null, null, null);
311
+ });
312
+ </script>
313
+
314
+ <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
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/DiamondGradient/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/DiffuseBlur/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
  */
@@ -158,7 +166,7 @@
158
166
  /**
159
167
  * Get the node registration function from parent context
160
168
  */
161
- const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any) => void>('shaderNodeRegister');
169
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
162
170
  if (parentRegister === undefined) {
163
171
  throw new Error('Shader components must be used inside an <Shader> component or another shader component');
164
172
  }
@@ -179,6 +187,27 @@
179
187
  throw new Error('Shader components require shaderMetadataUpdate from parent');
180
188
  }
181
189
 
190
+ // capturesDOM — canvas layoutsubtree portal for DOMTexture-style shaders
191
+ const isCapturesDOM = !!(componentDefinition as any).capturesDOM;
192
+ let captureCanvas: HTMLCanvasElement | undefined;
193
+ let captureW = $state(typeof window !== 'undefined' ? Math.round(window.innerWidth * Math.min(window.devicePixelRatio, 2)) : 0);
194
+ let captureH = $state(typeof window !== 'undefined' ? Math.round(window.innerHeight * Math.min(window.devicePixelRatio, 2)) : 0);
195
+
196
+ function teleportToBody(node: HTMLElement) {
197
+ document.body.appendChild(node);
198
+ return { destroy() { node.remove(); } };
199
+ }
200
+
201
+ if (isCapturesDOM) {
202
+ const onWinResize = () => {
203
+ const d = Math.min(window.devicePixelRatio, 2);
204
+ captureW = Math.round(window.innerWidth * d);
205
+ captureH = Math.round(window.innerHeight * d);
206
+ };
207
+ onMount(() => { window.addEventListener('resize', onWinResize); });
208
+ onDestroy(() => { window.removeEventListener('resize', onWinResize); });
209
+ }
210
+
182
211
  // DOM marker ref for determining render order from template position
183
212
  let orderMarker: HTMLSpanElement;
184
213
 
@@ -248,7 +277,8 @@
248
277
  transform: effectiveTransform
249
278
  },
250
279
  uniforms,
251
- componentDefinition
280
+ componentDefinition,
281
+ isCapturesDOM ? captureCanvas : undefined
252
282
  );
253
283
 
254
284
  // Set flag to enable effects after successful registration
@@ -283,5 +313,14 @@
283
313
  </script>
284
314
 
285
315
  <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
286
- {@render children?.()}
287
- </span>
316
+ {#if !isCapturesDOM}
317
+ {@render children?.()}
318
+ {/if}
319
+ </span>
320
+ {#if isCapturesDOM}
321
+ <canvas use:teleportToBody bind:this={captureCanvas} layoutsubtree
322
+ width={captureW} height={captureH}
323
+ style="position:fixed;inset:0;width:100vw;height:100vh;z-index:-9999">
324
+ {@render children?.()}
325
+ </canvas>
326
+ {/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/Dither/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/DotGrid/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}