shaders 2.5.135 → 3.0.437

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 (2944) hide show
  1. package/LICENSE +37 -15
  2. package/README.md +15 -5
  3. package/dist/cli.js +2 -2
  4. package/dist/core/AngularBlur-CFsh0PlD.js +318 -0
  5. package/dist/core/Arc-CUnOmySr.js +330 -0
  6. package/dist/core/Ascii-BLLIv-3N.js +1214 -0
  7. package/dist/core/Aurora-B_5FkTB2.js +1841 -0
  8. package/dist/core/BarShift-Ca-1XYfx.js +758 -0
  9. package/dist/core/Beam-DRdKJKir.js +918 -0
  10. package/dist/core/Blob-BRTcopJC.js +1653 -0
  11. package/dist/core/BlockNoise-CA933kae.js +203 -0
  12. package/dist/core/BlueNoise-BeFfRr-o.js +120 -0
  13. package/dist/core/Blur-l7HgDuUW.js +701 -0
  14. package/dist/core/BrickPattern-BWK7-KwE.js +1041 -0
  15. package/dist/core/BrightnessContrast-Dh8qSRLx.js +179 -0
  16. package/dist/core/BrushedMetal-CvIXubZz.js +3028 -0
  17. package/dist/core/Bulge-d93jKEwv.js +457 -0
  18. package/dist/core/CRTScreen-CSBjpbn4.js +802 -0
  19. package/dist/core/CarbonFiber-G7vIOz5W.js +3072 -0
  20. package/dist/core/Chalkboard-C9PtcnYN.js +1401 -0
  21. package/dist/core/ChannelBlur-B1bY63Fb.js +327 -0
  22. package/dist/core/Checkerboard-DbjFO-fF.js +709 -0
  23. package/dist/core/Chevron-D5-x4Wwd.js +489 -0
  24. package/dist/core/ChromaFlow-CuLYMObY.js +845 -0
  25. package/dist/core/ChromaticAberration-Dwvzvb8a.js +239 -0
  26. package/dist/core/Circle-BLNjdX3R.js +357 -0
  27. package/dist/core/ColorWheel-CA_34-9I.js +601 -0
  28. package/dist/core/CompressionArtifacts-3lIojU64.js +2289 -0
  29. package/dist/core/ConcentricSpin-FJuBPPHi.js +936 -0
  30. package/dist/core/ConicGradient-f9jCXFuK.js +356 -0
  31. package/dist/core/ContourLines-Clnm2pQU.js +601 -0
  32. package/dist/core/CornerPin-ecpjb9do.js +1946 -0
  33. package/dist/core/Crescent-CO5EZzD1.js +334 -0
  34. package/dist/core/Cross-CofGHkIn.js +334 -0
  35. package/dist/core/Crystal-C_aHlQ_3.js +5030 -0
  36. package/dist/core/CurlNoise-Br5XEf1K.js +196 -0
  37. package/dist/core/CursorRipples-CLYoq-BF.js +1462 -0
  38. package/dist/core/CursorTrail-c-t96YgV.js +1300 -0
  39. package/dist/core/DOMTexture-Zxx_WTGZ.js +98 -0
  40. package/dist/core/DataMosh-BSYAol1u.js +2647 -0
  41. package/dist/core/DiamondGradient-uyUPtPc3.js +535 -0
  42. package/dist/core/DiffuseBlur-Cw9duoJ7.js +229 -0
  43. package/dist/core/Dither-B3ulhQOh.js +2648 -0
  44. package/dist/core/DotGrid-ioUj-Lim.js +820 -0
  45. package/dist/core/DropShadow-BRL7yRmy.js +726 -0
  46. package/dist/core/Duotone-Df34HelN.js +139 -0
  47. package/dist/core/Ellipse-BHxcxCpl.js +315 -0
  48. package/dist/core/Emboss-D-qOxM2u.js +1591 -0
  49. package/dist/core/Engraving-B1ebFc1E.js +1364 -0
  50. package/dist/core/ErosionNoise-ZrJulbtK.js +180 -0
  51. package/dist/core/Exposure-D8apJapP.js +77 -0
  52. package/dist/core/FallingLines-DsMBKjEZ.js +1083 -0
  53. package/dist/core/FilmGrain-DeW-yw_v.js +325 -0
  54. package/dist/core/Flip-Dw194RY6.js +172 -0
  55. package/dist/core/FloatingParticles--Y81hnnp.js +2582 -0
  56. package/dist/core/FlowField-CiK49M8B.js +786 -0
  57. package/dist/core/Flower-Cdg8fOzZ.js +334 -0
  58. package/dist/core/FlowingGradient-B1Iywvbd.js +1184 -0
  59. package/dist/core/FlutedGlass-Crp432sd.js +1045 -0
  60. package/dist/core/Fog-ClrsfQfj.js +5666 -0
  61. package/dist/core/Form3D-CrT8E1u5.js +5979 -0
  62. package/dist/core/FractalNoise-DeDp7KQE.js +693 -0
  63. package/dist/core/Frost-IvGmzNqf.js +2672 -0
  64. package/dist/core/GaborNoise-Bmhmuq_Z.js +210 -0
  65. package/dist/core/Glass-CJFR7oIt.js +370 -0
  66. package/dist/core/GlassTiles-BSBCjkhG.js +658 -0
  67. package/dist/core/Glitch-Bp0LbC1u.js +1977 -0
  68. package/dist/core/Glow-CVBYSMxr.js +2052 -0
  69. package/dist/core/Godrays-C0VLmrcc.js +1304 -0
  70. package/dist/core/Goo-D-X3mP-n.js +2436 -0
  71. package/dist/core/GradientMap-uRYa7Yhv.js +913 -0
  72. package/dist/core/Grayscale-DUGCGltR.js +83 -0
  73. package/dist/core/Grid-FtTNW6zy.js +1348 -0
  74. package/dist/core/GridDistortion-lKZ4wpxx.js +1292 -0
  75. package/dist/core/Group-BNE6w-Ls.js +17 -0
  76. package/dist/core/Halftone-BdmAqFEa.js +1383 -0
  77. package/dist/core/Heart-iGATzBCZ.js +296 -0
  78. package/dist/core/Heatmap-dBfHUyG-.js +1603 -0
  79. package/dist/core/HexGrid-BUe3dyym.js +1019 -0
  80. package/dist/core/Hologram-BQ1kz8M2.js +2066 -0
  81. package/dist/core/Holographic-B39ULAli.js +2471 -0
  82. package/dist/core/HueShift-DeP_0kOt.js +386 -0
  83. package/dist/core/ImageTexture-Bzh0A17b.js +175 -0
  84. package/dist/core/Invert-CqrJ-5l4.js +78 -0
  85. package/dist/core/IsometricCubes-BVYfIhbb.js +1200 -0
  86. package/dist/core/Kaleidoscope-VxQtO7zA.js +444 -0
  87. package/dist/core/KeyFrames-WFOyBjoF.js +5384 -0
  88. package/dist/core/LensFlare-2M6sCguV.js +3157 -0
  89. package/dist/core/LightEdge-CvV9PYbe.js +2700 -0
  90. package/dist/core/LightLeak-BQxRr11E.js +1805 -0
  91. package/dist/core/LinearBlur-CyNRaqj8.js +264 -0
  92. package/dist/core/LinearGradient-RDNQes5r.js +775 -0
  93. package/dist/core/LiquidMetal-PGUaQGV-.js +2561 -0
  94. package/dist/core/Liquify-CmkepjAk.js +1835 -0
  95. package/dist/core/Marble-D_a2ctfR.js +589 -0
  96. package/dist/core/Mirror-B98LBGCI.js +402 -0
  97. package/dist/core/MultiPointGradient-DBWhUtj8.js +792 -0
  98. package/dist/core/Neon-DFuPjkcF.js +2591 -0
  99. package/dist/core/ObjectTracker-Bolz91qz.js +627 -0
  100. package/dist/core/PagePeel-CTy_-lpL.js +1320 -0
  101. package/dist/core/Paper-BE3SU_ac.js +318 -0
  102. package/dist/core/Parallelogram-C9qwJkYa.js +334 -0
  103. package/dist/core/Particles-x_HCygMr.js +6315 -0
  104. package/dist/core/PerlinNoise-Di7dE-hc.js +203 -0
  105. package/dist/core/Perspective-CoYBx1wH.js +583 -0
  106. package/dist/core/PixelSort-DMWTXIcO.js +2331 -0
  107. package/dist/core/PixelThrow-CiZj7iGN.js +522 -0
  108. package/dist/core/Pixelate-Dg41Ap0g.js +481 -0
  109. package/dist/core/Plasma-BpNK-Jnv.js +714 -0
  110. package/dist/core/Plastic-CpmtjSSV.js +2958 -0
  111. package/dist/core/PolarCoordinates-CBh8MX8L.js +327 -0
  112. package/dist/core/Polygon-KpW71r_g.js +380 -0
  113. package/dist/core/Posterize-DPwFDwMx.js +154 -0
  114. package/dist/core/Prism-BZcRvoMJ.js +1018 -0
  115. package/dist/core/ProgressiveBlur-BAYvLhUa.js +1243 -0
  116. package/dist/core/RadialGradient-DxIBw-EZ.js +511 -0
  117. package/dist/core/RectangularCoordinates-DJGtXzgn.js +284 -0
  118. package/dist/core/ReflectivePlane-C4JxzSK_.js +703 -0
  119. package/dist/core/Repeater-1TW-fdff.js +578 -0
  120. package/dist/core/Ring-W9djENkw.js +387 -0
  121. package/dist/core/Ripples-Dbvh__ZY.js +370 -0
  122. package/dist/core/RoundedRect-DXjLPZee.js +335 -0
  123. package/dist/core/Saturation-Wct3aUol.js +184 -0
  124. package/dist/core/Scratches-CpfAuRQw.js +210 -0
  125. package/dist/core/Sharpness-BgWKE-3E.js +387 -0
  126. package/dist/core/Shatter-DiBeVj4M.js +1550 -0
  127. package/dist/core/SimplexNoise-Bgiw5XJP.js +353 -0
  128. package/dist/core/SineWave-CHygTRV-.js +483 -0
  129. package/dist/core/Smoke-CbAIiwKG.js +5002 -0
  130. package/dist/core/SmokeFill-BnJoSbE3.js +7126 -0
  131. package/dist/core/SmokeFlow-H01ajJ5Q.js +4609 -0
  132. package/dist/core/Solarize-CUpThxJh.js +261 -0
  133. package/dist/core/SolidColor-rdMtlNyB.js +21 -0
  134. package/dist/core/Spherize-bBe44dU7.js +902 -0
  135. package/dist/core/Spiral-sBR7Fn0z.js +771 -0
  136. package/dist/core/Star-DQUfQjbf.js +334 -0
  137. package/dist/core/Stone-DnY9YuMc.js +19 -0
  138. package/dist/core/Strands-e7O0GIHI.js +1529 -0
  139. package/dist/core/Stretch-CXFrCyH_.js +472 -0
  140. package/dist/core/Stripes-BS5Y7yeT.js +674 -0
  141. package/dist/core/StudioBackground-D7eIlsQA.js +2551 -0
  142. package/dist/core/SunBurst-CuawxiUI.js +427 -0
  143. package/dist/core/Surface3D-ZtGSv9V6.js +4946 -0
  144. package/dist/core/Swirl-CxRi1nI8.js +1160 -0
  145. package/dist/core/Teardrop-D_ePwja5.js +315 -0
  146. package/dist/core/Text-C1Wjl8fJ.js +753 -0
  147. package/dist/core/ThinFilm-9l3KGv4Q.js +1481 -0
  148. package/dist/core/TiltShift-CBCuQwu9.js +1343 -0
  149. package/dist/core/Tint-HLecBeer.js +423 -0
  150. package/dist/core/Trapezoid-CztpQJcb.js +334 -0
  151. package/dist/core/TriangularGrid-BWzP25ws.js +1007 -0
  152. package/dist/core/Tritone-DczuOC88.js +228 -0
  153. package/dist/core/Truchet-Bj0dM4pc.js +820 -0
  154. package/dist/core/Twirl-CgT4-JNU.js +335 -0
  155. package/dist/core/VHS-BO2ImGGx.js +1750 -0
  156. package/dist/core/Vesica-hhR3uVm2.js +315 -0
  157. package/dist/core/Vibrance-Bxbm2XXk.js +236 -0
  158. package/dist/core/VideoTexture-Zj56qULM.js +930 -0
  159. package/dist/core/Vignette-DhIYUi7B.js +372 -0
  160. package/dist/core/Voronoi-I5jNa5lH.js +939 -0
  161. package/dist/core/Water-DcoqDm5J.js +3962 -0
  162. package/dist/core/Watercolor-DhrRCOJ_.js +1437 -0
  163. package/dist/core/WaveDistortion-DJ1itI6L.js +1125 -0
  164. package/dist/core/WaveletNoise-Cy1pQ99p.js +210 -0
  165. package/dist/core/Weave-CPIeOoWv.js +818 -0
  166. package/dist/core/WebcamTexture-DNCb4NqI.js +217 -0
  167. package/dist/core/Wool-aEiSh89V.js +19 -0
  168. package/dist/core/WorleyNoise-C9l_C4G0.js +1668 -0
  169. package/dist/core/ZoomBlur-CpM-IOSu.js +272 -0
  170. package/dist/core/coords-BlwgBpJf.js +50097 -0
  171. package/dist/core/fonts-3F3pIODs.js +59 -0
  172. package/dist/core/glass-DdgMBWkF.js +2646 -0
  173. package/dist/core/gpu/composer.d.ts +207 -0
  174. package/dist/core/gpu/composer.d.ts.map +1 -0
  175. package/dist/core/gpu/compute.d.ts +96 -0
  176. package/dist/core/gpu/compute.d.ts.map +1 -0
  177. package/dist/core/gpu/contract.d.ts +508 -0
  178. package/dist/core/gpu/contract.d.ts.map +1 -0
  179. package/dist/core/gpu/frame.d.ts +120 -0
  180. package/dist/core/gpu/frame.d.ts.map +1 -0
  181. package/dist/core/gpu/index.d.ts +190 -0
  182. package/dist/core/gpu/index.d.ts.map +1 -0
  183. package/dist/core/gpu/kit/blend.d.ts +66 -0
  184. package/dist/core/gpu/kit/blend.d.ts.map +1 -0
  185. package/dist/core/gpu/kit/blur.d.ts +209 -0
  186. package/dist/core/gpu/kit/blur.d.ts.map +1 -0
  187. package/dist/core/gpu/kit/colorMixing.d.ts +112 -0
  188. package/dist/core/gpu/kit/colorMixing.d.ts.map +1 -0
  189. package/dist/core/gpu/kit/colorStops.d.ts +120 -0
  190. package/dist/core/gpu/kit/colorStops.d.ts.map +1 -0
  191. package/dist/core/gpu/kit/coords.d.ts +28 -0
  192. package/dist/core/gpu/kit/coords.d.ts.map +1 -0
  193. package/dist/core/gpu/kit/dataEncoding.d.ts +11 -0
  194. package/dist/core/gpu/kit/dataEncoding.d.ts.map +1 -0
  195. package/dist/core/gpu/kit/edges.d.ts +76 -0
  196. package/dist/core/gpu/kit/edges.d.ts.map +1 -0
  197. package/dist/core/gpu/kit/effects/emboss.d.ts +53 -0
  198. package/dist/core/gpu/kit/effects/emboss.d.ts.map +1 -0
  199. package/dist/core/gpu/kit/effects/glass.d.ts +98 -0
  200. package/dist/core/gpu/kit/effects/glass.d.ts.map +1 -0
  201. package/dist/core/gpu/kit/effects/index.d.ts +15 -0
  202. package/dist/core/gpu/kit/effects/index.d.ts.map +1 -0
  203. package/dist/core/gpu/kit/effects/neon.d.ts +60 -0
  204. package/dist/core/gpu/kit/effects/neon.d.ts.map +1 -0
  205. package/dist/core/gpu/kit/effects/prism.d.ts +111 -0
  206. package/dist/core/gpu/kit/effects/prism.d.ts.map +1 -0
  207. package/dist/core/gpu/kit/effects/raymarch3d.d.ts +72 -0
  208. package/dist/core/gpu/kit/effects/raymarch3d.d.ts.map +1 -0
  209. package/dist/core/gpu/kit/effects/thinFilm.d.ts +73 -0
  210. package/dist/core/gpu/kit/effects/thinFilm.d.ts.map +1 -0
  211. package/dist/core/gpu/kit/index.d.ts +47 -0
  212. package/dist/core/gpu/kit/index.d.ts.map +1 -0
  213. package/dist/core/gpu/kit/mask.d.ts +24 -0
  214. package/dist/core/gpu/kit/mask.d.ts.map +1 -0
  215. package/dist/core/gpu/kit/media.d.ts +17 -0
  216. package/dist/core/gpu/kit/media.d.ts.map +1 -0
  217. package/dist/core/gpu/kit/noise.d.ts +113 -0
  218. package/dist/core/gpu/kit/noise.d.ts.map +1 -0
  219. package/dist/core/gpu/kit/noiseColor.d.ts +29 -0
  220. package/dist/core/gpu/kit/noiseColor.d.ts.map +1 -0
  221. package/dist/core/gpu/kit/noiseStylize.d.ts +29 -0
  222. package/dist/core/gpu/kit/noiseStylize.d.ts.map +1 -0
  223. package/dist/core/gpu/kit/sdf.d.ts +195 -0
  224. package/dist/core/gpu/kit/sdf.d.ts.map +1 -0
  225. package/dist/core/gpu/kit/sdf3d.d.ts +646 -0
  226. package/dist/core/gpu/kit/sdf3d.d.ts.map +1 -0
  227. package/dist/core/gpu/kit/time.d.ts +46 -0
  228. package/dist/core/gpu/kit/time.d.ts.map +1 -0
  229. package/dist/core/gpu/kit/tonemap.d.ts +37 -0
  230. package/dist/core/gpu/kit/tonemap.d.ts.map +1 -0
  231. package/dist/core/gpu/kit/uvTransform.d.ts +85 -0
  232. package/dist/core/gpu/kit/uvTransform.d.ts.map +1 -0
  233. package/dist/core/gpu/passManager.d.ts +44 -0
  234. package/dist/core/gpu/passManager.d.ts.map +1 -0
  235. package/dist/core/gpu/pipelineCache.d.ts +59 -0
  236. package/dist/core/gpu/pipelineCache.d.ts.map +1 -0
  237. package/dist/core/gpu/porters.d.ts +64 -0
  238. package/dist/core/gpu/porters.d.ts.map +1 -0
  239. package/dist/core/gpu/root.d.ts +45 -0
  240. package/dist/core/gpu/root.d.ts.map +1 -0
  241. package/dist/core/gpu/textures.d.ts +99 -0
  242. package/dist/core/gpu/textures.d.ts.map +1 -0
  243. package/dist/core/gpu/transforms.d.ts +59 -0
  244. package/dist/core/gpu/transforms.d.ts.map +1 -0
  245. package/dist/core/gpu/uniformBridge.d.ts +20 -0
  246. package/dist/core/gpu/uniformBridge.d.ts.map +1 -0
  247. package/dist/core/gpu/uniformStore.d.ts +271 -0
  248. package/dist/core/gpu/uniformStore.d.ts.map +1 -0
  249. package/dist/core/index.d.ts +15 -9
  250. package/dist/core/index.d.ts.map +1 -1
  251. package/dist/core/index.js +2311 -1925
  252. package/dist/core/noiseColor-Cr76BYLN.js +118 -0
  253. package/dist/core/noiseStylize-C2jzZv4d.js +65 -0
  254. package/dist/core/porters-CoaznI7i.js +320 -0
  255. package/dist/core/presetRenderer.d.ts.map +1 -1
  256. package/dist/core/registry.js +175 -128
  257. package/dist/core/shaderRegistry-BIiRyksy.js +370 -0
  258. package/dist/core/shaderRegistry.d.ts +2 -1
  259. package/dist/core/shaderRegistry.d.ts.map +1 -1
  260. package/dist/core/shaders/AngularBlur/index.d.ts +14 -2
  261. package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
  262. package/dist/core/shaders/AngularBlur/index.js +5 -4
  263. package/dist/core/shaders/Arc/index.d.ts +90 -0
  264. package/dist/core/shaders/Arc/index.d.ts.map +1 -0
  265. package/dist/core/shaders/Arc/index.js +5 -0
  266. package/dist/core/shaders/Ascii/index.d.ts +12 -2
  267. package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
  268. package/dist/core/shaders/Ascii/index.js +5 -3
  269. package/dist/core/shaders/Aurora/index.d.ts +6 -2
  270. package/dist/core/shaders/Aurora/index.d.ts.map +1 -1
  271. package/dist/core/shaders/Aurora/index.js +5 -5
  272. package/dist/core/shaders/BarShift/index.d.ts +6 -2
  273. package/dist/core/shaders/BarShift/index.d.ts.map +1 -1
  274. package/dist/core/shaders/BarShift/index.js +5 -6
  275. package/dist/core/shaders/Beam/index.d.ts +4 -2
  276. package/dist/core/shaders/Beam/index.d.ts.map +1 -1
  277. package/dist/core/shaders/Beam/index.js +5 -4
  278. package/dist/core/shaders/Blob/index.d.ts +16 -2
  279. package/dist/core/shaders/Blob/index.d.ts.map +1 -1
  280. package/dist/core/shaders/Blob/index.js +5 -5
  281. package/dist/core/shaders/BlockNoise/index.d.ts +26 -0
  282. package/dist/core/shaders/BlockNoise/index.d.ts.map +1 -0
  283. package/dist/core/shaders/BlockNoise/index.js +6 -0
  284. package/dist/core/shaders/BlueNoise/index.d.ts +25 -0
  285. package/dist/core/shaders/BlueNoise/index.d.ts.map +1 -0
  286. package/dist/core/shaders/BlueNoise/index.js +6 -0
  287. package/dist/core/shaders/Blur/index.d.ts +45 -2
  288. package/dist/core/shaders/Blur/index.d.ts.map +1 -1
  289. package/dist/core/shaders/Blur/index.js +5 -4
  290. package/dist/core/shaders/BrickPattern/index.d.ts +18 -4
  291. package/dist/core/shaders/BrickPattern/index.d.ts.map +1 -1
  292. package/dist/core/shaders/BrickPattern/index.js +5 -5
  293. package/dist/core/shaders/BrightnessContrast/index.d.ts +4 -2
  294. package/dist/core/shaders/BrightnessContrast/index.d.ts.map +1 -1
  295. package/dist/core/shaders/BrightnessContrast/index.js +5 -2
  296. package/dist/core/shaders/BrushedMetal/index.d.ts +141 -0
  297. package/dist/core/shaders/BrushedMetal/index.d.ts.map +1 -0
  298. package/dist/core/shaders/BrushedMetal/index.js +7 -0
  299. package/dist/core/shaders/Bulge/index.d.ts +4 -2
  300. package/dist/core/shaders/Bulge/index.d.ts.map +1 -1
  301. package/dist/core/shaders/Bulge/index.js +5 -5
  302. package/dist/core/shaders/CRTScreen/index.d.ts +5 -2
  303. package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
  304. package/dist/core/shaders/CRTScreen/index.js +5 -3
  305. package/dist/core/shaders/CarbonFiber/index.d.ts +147 -0
  306. package/dist/core/shaders/CarbonFiber/index.d.ts.map +1 -0
  307. package/dist/core/shaders/CarbonFiber/index.js +7 -0
  308. package/dist/core/shaders/Chalkboard/index.d.ts +55 -0
  309. package/dist/core/shaders/Chalkboard/index.d.ts.map +1 -0
  310. package/dist/core/shaders/Chalkboard/index.js +5 -0
  311. package/dist/core/shaders/ChannelBlur/index.d.ts +18 -2
  312. package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
  313. package/dist/core/shaders/ChannelBlur/index.js +5 -4
  314. package/dist/core/shaders/Checkerboard/index.d.ts +7 -3
  315. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  316. package/dist/core/shaders/Checkerboard/index.js +5 -4
  317. package/dist/core/shaders/Chevron/index.d.ts +4 -2
  318. package/dist/core/shaders/Chevron/index.d.ts.map +1 -1
  319. package/dist/core/shaders/Chevron/index.js +5 -5
  320. package/dist/core/shaders/ChromaFlow/index.d.ts +11 -2
  321. package/dist/core/shaders/ChromaFlow/index.d.ts.map +1 -1
  322. package/dist/core/shaders/ChromaFlow/index.js +5 -3
  323. package/dist/core/shaders/ChromaticAberration/index.d.ts +4 -2
  324. package/dist/core/shaders/ChromaticAberration/index.d.ts.map +1 -1
  325. package/dist/core/shaders/ChromaticAberration/index.js +5 -4
  326. package/dist/core/shaders/Circle/index.d.ts +16 -4
  327. package/dist/core/shaders/Circle/index.d.ts.map +1 -1
  328. package/dist/core/shaders/Circle/index.js +5 -4
  329. package/dist/core/shaders/ColorWheel/index.d.ts +7 -2
  330. package/dist/core/shaders/ColorWheel/index.d.ts.map +1 -1
  331. package/dist/core/shaders/ColorWheel/index.js +5 -5
  332. package/dist/core/shaders/CompressionArtifacts/index.d.ts +53 -0
  333. package/dist/core/shaders/CompressionArtifacts/index.d.ts.map +1 -0
  334. package/dist/core/shaders/CompressionArtifacts/index.js +5 -0
  335. package/dist/core/shaders/ConcentricSpin/index.d.ts +10 -4
  336. package/dist/core/shaders/ConcentricSpin/index.d.ts.map +1 -1
  337. package/dist/core/shaders/ConcentricSpin/index.js +5 -6
  338. package/dist/core/shaders/ConicGradient/index.d.ts +8 -3
  339. package/dist/core/shaders/ConicGradient/index.d.ts.map +1 -1
  340. package/dist/core/shaders/ConicGradient/index.js +5 -4
  341. package/dist/core/shaders/ContourLines/index.d.ts +6 -2
  342. package/dist/core/shaders/ContourLines/index.d.ts.map +1 -1
  343. package/dist/core/shaders/ContourLines/index.js +5 -3
  344. package/dist/core/shaders/CornerPin/index.d.ts +56 -0
  345. package/dist/core/shaders/CornerPin/index.d.ts.map +1 -0
  346. package/dist/core/shaders/CornerPin/index.js +5 -0
  347. package/dist/core/shaders/Crescent/index.d.ts +15 -3
  348. package/dist/core/shaders/Crescent/index.d.ts.map +1 -1
  349. package/dist/core/shaders/Crescent/index.js +5 -5
  350. package/dist/core/shaders/Cross/index.d.ts +15 -3
  351. package/dist/core/shaders/Cross/index.d.ts.map +1 -1
  352. package/dist/core/shaders/Cross/index.js +5 -5
  353. package/dist/core/shaders/Crystal/index.d.ts +39 -2
  354. package/dist/core/shaders/Crystal/index.d.ts.map +1 -1
  355. package/dist/core/shaders/Crystal/index.js +7 -4
  356. package/dist/core/shaders/CurlNoise/index.d.ts +26 -0
  357. package/dist/core/shaders/CurlNoise/index.d.ts.map +1 -0
  358. package/dist/core/shaders/CurlNoise/index.js +6 -0
  359. package/dist/core/shaders/CursorRipples/index.d.ts +16 -2
  360. package/dist/core/shaders/CursorRipples/index.d.ts.map +1 -1
  361. package/dist/core/shaders/CursorRipples/index.js +5 -5
  362. package/dist/core/shaders/CursorTrail/index.d.ts +19 -2
  363. package/dist/core/shaders/CursorTrail/index.d.ts.map +1 -1
  364. package/dist/core/shaders/CursorTrail/index.js +5 -4
  365. package/dist/core/shaders/DOMTexture/index.d.ts +2 -2
  366. package/dist/core/shaders/DOMTexture/index.d.ts.map +1 -1
  367. package/dist/core/shaders/DOMTexture/index.js +4 -1
  368. package/dist/core/shaders/DataMosh/index.d.ts +55 -0
  369. package/dist/core/shaders/DataMosh/index.d.ts.map +1 -0
  370. package/dist/core/shaders/DataMosh/index.js +5 -0
  371. package/dist/core/shaders/DiamondGradient/index.d.ts +8 -3
  372. package/dist/core/shaders/DiamondGradient/index.d.ts.map +1 -1
  373. package/dist/core/shaders/DiamondGradient/index.js +5 -4
  374. package/dist/core/shaders/DiffuseBlur/index.d.ts +4 -2
  375. package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
  376. package/dist/core/shaders/DiffuseBlur/index.js +5 -5
  377. package/dist/core/shaders/Dither/index.d.ts +18 -3
  378. package/dist/core/shaders/Dither/index.d.ts.map +1 -1
  379. package/dist/core/shaders/Dither/index.js +5 -4
  380. package/dist/core/shaders/DotGrid/index.d.ts +25 -2
  381. package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
  382. package/dist/core/shaders/DotGrid/index.js +5 -3
  383. package/dist/core/shaders/DropShadow/index.d.ts +15 -2
  384. package/dist/core/shaders/DropShadow/index.d.ts.map +1 -1
  385. package/dist/core/shaders/DropShadow/index.js +5 -4
  386. package/dist/core/shaders/Duotone/index.d.ts +4 -2
  387. package/dist/core/shaders/Duotone/index.d.ts.map +1 -1
  388. package/dist/core/shaders/Duotone/index.js +5 -4
  389. package/dist/core/shaders/Ellipse/index.d.ts +16 -4
  390. package/dist/core/shaders/Ellipse/index.d.ts.map +1 -1
  391. package/dist/core/shaders/Ellipse/index.js +5 -5
  392. package/dist/core/shaders/Emboss/index.d.ts +16 -2
  393. package/dist/core/shaders/Emboss/index.d.ts.map +1 -1
  394. package/dist/core/shaders/Emboss/index.js +6 -3
  395. package/dist/core/shaders/Engraving/index.d.ts +70 -0
  396. package/dist/core/shaders/Engraving/index.d.ts.map +1 -0
  397. package/dist/core/shaders/Engraving/index.js +5 -0
  398. package/dist/core/shaders/ErosionNoise/index.d.ts +25 -0
  399. package/dist/core/shaders/ErosionNoise/index.d.ts.map +1 -0
  400. package/dist/core/shaders/ErosionNoise/index.js +6 -0
  401. package/dist/core/shaders/Exposure/index.d.ts +4 -2
  402. package/dist/core/shaders/Exposure/index.d.ts.map +1 -1
  403. package/dist/core/shaders/Exposure/index.js +5 -2
  404. package/dist/core/shaders/FallingLines/index.d.ts +4 -2
  405. package/dist/core/shaders/FallingLines/index.d.ts.map +1 -1
  406. package/dist/core/shaders/FallingLines/index.js +5 -5
  407. package/dist/core/shaders/FilmGrain/index.d.ts +4 -2
  408. package/dist/core/shaders/FilmGrain/index.d.ts.map +1 -1
  409. package/dist/core/shaders/FilmGrain/index.js +5 -2
  410. package/dist/core/shaders/Flip/index.d.ts +23 -0
  411. package/dist/core/shaders/Flip/index.d.ts.map +1 -0
  412. package/dist/core/shaders/Flip/index.js +5 -0
  413. package/dist/core/shaders/FloatingParticles/index.d.ts +10 -2
  414. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  415. package/dist/core/shaders/FloatingParticles/index.js +5 -4
  416. package/dist/core/shaders/FlowField/index.d.ts +10 -2
  417. package/dist/core/shaders/FlowField/index.d.ts.map +1 -1
  418. package/dist/core/shaders/FlowField/index.js +5 -6
  419. package/dist/core/shaders/Flower/index.d.ts +15 -3
  420. package/dist/core/shaders/Flower/index.d.ts.map +1 -1
  421. package/dist/core/shaders/Flower/index.js +5 -5
  422. package/dist/core/shaders/FlowingGradient/index.d.ts +5 -2
  423. package/dist/core/shaders/FlowingGradient/index.d.ts.map +1 -1
  424. package/dist/core/shaders/FlowingGradient/index.js +5 -5
  425. package/dist/core/shaders/FlutedGlass/index.d.ts +13 -2
  426. package/dist/core/shaders/FlutedGlass/index.d.ts.map +1 -1
  427. package/dist/core/shaders/FlutedGlass/index.js +5 -6
  428. package/dist/core/shaders/Fog/index.d.ts +16 -2
  429. package/dist/core/shaders/Fog/index.d.ts.map +1 -1
  430. package/dist/core/shaders/Fog/index.js +5 -4
  431. package/dist/core/shaders/Form3D/index.d.ts +5 -2
  432. package/dist/core/shaders/Form3D/index.d.ts.map +1 -1
  433. package/dist/core/shaders/Form3D/index.js +5 -4
  434. package/dist/core/shaders/FractalNoise/index.d.ts +7 -2
  435. package/dist/core/shaders/FractalNoise/index.d.ts.map +1 -1
  436. package/dist/core/shaders/FractalNoise/index.js +5 -5
  437. package/dist/core/shaders/Frost/index.d.ts +161 -0
  438. package/dist/core/shaders/Frost/index.d.ts.map +1 -0
  439. package/dist/core/shaders/Frost/index.js +7 -0
  440. package/dist/core/shaders/GaborNoise/index.d.ts +33 -0
  441. package/dist/core/shaders/GaborNoise/index.d.ts.map +1 -0
  442. package/dist/core/shaders/GaborNoise/index.js +6 -0
  443. package/dist/core/shaders/Glass/index.d.ts +16 -2
  444. package/dist/core/shaders/Glass/index.d.ts.map +1 -1
  445. package/dist/core/shaders/Glass/index.js +6 -4
  446. package/dist/core/shaders/GlassTiles/index.d.ts +4 -2
  447. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  448. package/dist/core/shaders/GlassTiles/index.js +5 -3
  449. package/dist/core/shaders/Glitch/index.d.ts +27 -2
  450. package/dist/core/shaders/Glitch/index.d.ts.map +1 -1
  451. package/dist/core/shaders/Glitch/index.js +5 -3
  452. package/dist/core/shaders/Glow/index.d.ts +97 -2
  453. package/dist/core/shaders/Glow/index.d.ts.map +1 -1
  454. package/dist/core/shaders/Glow/index.js +5 -4
  455. package/dist/core/shaders/Godrays/index.d.ts +4 -2
  456. package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
  457. package/dist/core/shaders/Godrays/index.js +5 -4
  458. package/dist/core/shaders/Goo/index.d.ts +189 -0
  459. package/dist/core/shaders/Goo/index.d.ts.map +1 -0
  460. package/dist/core/shaders/Goo/index.js +7 -0
  461. package/dist/core/shaders/GradientMap/index.d.ts +79 -0
  462. package/dist/core/shaders/GradientMap/index.d.ts.map +1 -0
  463. package/dist/core/shaders/GradientMap/index.js +5 -0
  464. package/dist/core/shaders/Grayscale/index.d.ts +4 -2
  465. package/dist/core/shaders/Grayscale/index.d.ts.map +1 -1
  466. package/dist/core/shaders/Grayscale/index.js +5 -2
  467. package/dist/core/shaders/Grid/index.d.ts +32 -2
  468. package/dist/core/shaders/Grid/index.d.ts.map +1 -1
  469. package/dist/core/shaders/Grid/index.js +5 -3
  470. package/dist/core/shaders/GridDistortion/index.d.ts +12 -2
  471. package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
  472. package/dist/core/shaders/GridDistortion/index.js +5 -5
  473. package/dist/core/shaders/Group/index.d.ts +2 -2
  474. package/dist/core/shaders/Group/index.d.ts.map +1 -1
  475. package/dist/core/shaders/Group/index.js +4 -1
  476. package/dist/core/shaders/Halftone/index.d.ts +11 -2
  477. package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
  478. package/dist/core/shaders/Halftone/index.js +5 -4
  479. package/dist/core/shaders/Heart/index.d.ts +83 -0
  480. package/dist/core/shaders/Heart/index.d.ts.map +1 -0
  481. package/dist/core/shaders/Heart/index.js +5 -0
  482. package/dist/core/shaders/Heatmap/index.d.ts +113 -0
  483. package/dist/core/shaders/Heatmap/index.d.ts.map +1 -0
  484. package/dist/core/shaders/Heatmap/index.js +7 -0
  485. package/dist/core/shaders/HexGrid/index.d.ts +23 -3
  486. package/dist/core/shaders/HexGrid/index.d.ts.map +1 -1
  487. package/dist/core/shaders/HexGrid/index.js +5 -4
  488. package/dist/core/shaders/Hologram/index.d.ts +163 -0
  489. package/dist/core/shaders/Hologram/index.d.ts.map +1 -0
  490. package/dist/core/shaders/Hologram/index.js +7 -0
  491. package/dist/core/shaders/Holographic/index.d.ts +120 -0
  492. package/dist/core/shaders/Holographic/index.d.ts.map +1 -0
  493. package/dist/core/shaders/Holographic/index.js +7 -0
  494. package/dist/core/shaders/HueShift/index.d.ts +4 -2
  495. package/dist/core/shaders/HueShift/index.d.ts.map +1 -1
  496. package/dist/core/shaders/HueShift/index.js +5 -2
  497. package/dist/core/shaders/ImageTexture/index.d.ts +4 -4
  498. package/dist/core/shaders/ImageTexture/index.d.ts.map +1 -1
  499. package/dist/core/shaders/ImageTexture/index.js +4 -1
  500. package/dist/core/shaders/Invert/index.d.ts +4 -2
  501. package/dist/core/shaders/Invert/index.d.ts.map +1 -1
  502. package/dist/core/shaders/Invert/index.js +5 -2
  503. package/dist/core/shaders/IsometricCubes/index.d.ts +68 -0
  504. package/dist/core/shaders/IsometricCubes/index.d.ts.map +1 -0
  505. package/dist/core/shaders/IsometricCubes/index.js +5 -0
  506. package/dist/core/shaders/Kaleidoscope/index.d.ts +9 -5
  507. package/dist/core/shaders/Kaleidoscope/index.d.ts.map +1 -1
  508. package/dist/core/shaders/Kaleidoscope/index.js +5 -5
  509. package/dist/core/shaders/KeyFrames/index.d.ts +109 -0
  510. package/dist/core/shaders/KeyFrames/index.d.ts.map +1 -0
  511. package/dist/core/shaders/KeyFrames/index.js +5 -0
  512. package/dist/core/shaders/LensFlare/index.d.ts +4 -2
  513. package/dist/core/shaders/LensFlare/index.d.ts.map +1 -1
  514. package/dist/core/shaders/LensFlare/index.js +5 -4
  515. package/dist/core/shaders/LightEdge/index.d.ts +186 -0
  516. package/dist/core/shaders/LightEdge/index.d.ts.map +1 -0
  517. package/dist/core/shaders/LightEdge/index.js +7 -0
  518. package/dist/core/shaders/LightLeak/index.d.ts +76 -0
  519. package/dist/core/shaders/LightLeak/index.d.ts.map +1 -0
  520. package/dist/core/shaders/LightLeak/index.js +5 -0
  521. package/dist/core/shaders/LinearBlur/index.d.ts +12 -2
  522. package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
  523. package/dist/core/shaders/LinearBlur/index.js +5 -4
  524. package/dist/core/shaders/LinearGradient/index.d.ts +19 -2
  525. package/dist/core/shaders/LinearGradient/index.d.ts.map +1 -1
  526. package/dist/core/shaders/LinearGradient/index.js +5 -4
  527. package/dist/core/shaders/LiquidMetal/index.d.ts +141 -0
  528. package/dist/core/shaders/LiquidMetal/index.d.ts.map +1 -0
  529. package/dist/core/shaders/LiquidMetal/index.js +7 -0
  530. package/dist/core/shaders/Liquify/index.d.ts +10 -2
  531. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  532. package/dist/core/shaders/Liquify/index.js +5 -5
  533. package/dist/core/shaders/Marble/index.d.ts +4 -2
  534. package/dist/core/shaders/Marble/index.d.ts.map +1 -1
  535. package/dist/core/shaders/Marble/index.js +5 -5
  536. package/dist/core/shaders/Mirror/index.d.ts +9 -5
  537. package/dist/core/shaders/Mirror/index.d.ts.map +1 -1
  538. package/dist/core/shaders/Mirror/index.js +5 -5
  539. package/dist/core/shaders/MultiPointGradient/index.d.ts +11 -2
  540. package/dist/core/shaders/MultiPointGradient/index.d.ts.map +1 -1
  541. package/dist/core/shaders/MultiPointGradient/index.js +5 -3
  542. package/dist/core/shaders/Neon/index.d.ts +16 -2
  543. package/dist/core/shaders/Neon/index.d.ts.map +1 -1
  544. package/dist/core/shaders/Neon/index.js +5 -3
  545. package/dist/core/shaders/ObjectTracker/index.d.ts +146 -0
  546. package/dist/core/shaders/ObjectTracker/index.d.ts.map +1 -0
  547. package/dist/core/shaders/ObjectTracker/index.js +6 -0
  548. package/dist/core/shaders/PagePeel/index.d.ts +78 -0
  549. package/dist/core/shaders/PagePeel/index.d.ts.map +1 -0
  550. package/dist/core/shaders/PagePeel/index.js +5 -0
  551. package/dist/core/shaders/Paper/index.d.ts +4 -2
  552. package/dist/core/shaders/Paper/index.d.ts.map +1 -1
  553. package/dist/core/shaders/Paper/index.js +5 -2
  554. package/dist/core/shaders/Parallelogram/index.d.ts +97 -0
  555. package/dist/core/shaders/Parallelogram/index.d.ts.map +1 -0
  556. package/dist/core/shaders/Parallelogram/index.js +5 -0
  557. package/dist/core/shaders/Particles/index.d.ts +183 -0
  558. package/dist/core/shaders/Particles/index.d.ts.map +1 -0
  559. package/dist/core/shaders/Particles/index.js +6 -0
  560. package/dist/core/shaders/PerlinNoise/index.d.ts +26 -0
  561. package/dist/core/shaders/PerlinNoise/index.d.ts.map +1 -0
  562. package/dist/core/shaders/PerlinNoise/index.js +6 -0
  563. package/dist/core/shaders/Perspective/index.d.ts +4 -2
  564. package/dist/core/shaders/Perspective/index.d.ts.map +1 -1
  565. package/dist/core/shaders/Perspective/index.js +5 -5
  566. package/dist/core/shaders/PixelSort/index.d.ts +63 -0
  567. package/dist/core/shaders/PixelSort/index.d.ts.map +1 -0
  568. package/dist/core/shaders/PixelSort/index.js +5 -0
  569. package/dist/core/shaders/PixelThrow/index.d.ts +59 -0
  570. package/dist/core/shaders/PixelThrow/index.d.ts.map +1 -0
  571. package/dist/core/shaders/PixelThrow/index.js +5 -0
  572. package/dist/core/shaders/Pixelate/index.d.ts +4 -2
  573. package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
  574. package/dist/core/shaders/Pixelate/index.js +5 -3
  575. package/dist/core/shaders/Plasma/index.d.ts +8 -2
  576. package/dist/core/shaders/Plasma/index.d.ts.map +1 -1
  577. package/dist/core/shaders/Plasma/index.js +5 -5
  578. package/dist/core/shaders/Plastic/index.d.ts +180 -0
  579. package/dist/core/shaders/Plastic/index.d.ts.map +1 -0
  580. package/dist/core/shaders/Plastic/index.js +7 -0
  581. package/dist/core/shaders/PolarCoordinates/index.d.ts +4 -2
  582. package/dist/core/shaders/PolarCoordinates/index.d.ts.map +1 -1
  583. package/dist/core/shaders/PolarCoordinates/index.js +5 -5
  584. package/dist/core/shaders/Polygon/index.d.ts +15 -3
  585. package/dist/core/shaders/Polygon/index.d.ts.map +1 -1
  586. package/dist/core/shaders/Polygon/index.js +5 -5
  587. package/dist/core/shaders/Posterize/index.d.ts +4 -2
  588. package/dist/core/shaders/Posterize/index.d.ts.map +1 -1
  589. package/dist/core/shaders/Posterize/index.js +5 -2
  590. package/dist/core/shaders/Prism/index.d.ts +94 -0
  591. package/dist/core/shaders/Prism/index.d.ts.map +1 -0
  592. package/dist/core/shaders/Prism/index.js +5 -0
  593. package/dist/core/shaders/ProgressiveBlur/index.d.ts +103 -2
  594. package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
  595. package/dist/core/shaders/ProgressiveBlur/index.js +5 -5
  596. package/dist/core/shaders/RadialGradient/index.d.ts +7 -2
  597. package/dist/core/shaders/RadialGradient/index.d.ts.map +1 -1
  598. package/dist/core/shaders/RadialGradient/index.js +5 -4
  599. package/dist/core/shaders/RectangularCoordinates/index.d.ts +4 -2
  600. package/dist/core/shaders/RectangularCoordinates/index.d.ts.map +1 -1
  601. package/dist/core/shaders/RectangularCoordinates/index.js +5 -5
  602. package/dist/core/shaders/ReflectivePlane/index.d.ts +43 -2
  603. package/dist/core/shaders/ReflectivePlane/index.d.ts.map +1 -1
  604. package/dist/core/shaders/ReflectivePlane/index.js +5 -6
  605. package/dist/core/shaders/Repeater/index.d.ts +185 -0
  606. package/dist/core/shaders/Repeater/index.d.ts.map +1 -0
  607. package/dist/core/shaders/Repeater/index.js +5 -0
  608. package/dist/core/shaders/Ring/index.d.ts +14 -2
  609. package/dist/core/shaders/Ring/index.d.ts.map +1 -1
  610. package/dist/core/shaders/Ring/index.js +5 -5
  611. package/dist/core/shaders/Ripples/index.d.ts +4 -2
  612. package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
  613. package/dist/core/shaders/Ripples/index.js +5 -5
  614. package/dist/core/shaders/RoundedRect/index.d.ts +17 -5
  615. package/dist/core/shaders/RoundedRect/index.d.ts.map +1 -1
  616. package/dist/core/shaders/RoundedRect/index.js +5 -5
  617. package/dist/core/shaders/Saturation/index.d.ts +4 -2
  618. package/dist/core/shaders/Saturation/index.d.ts.map +1 -1
  619. package/dist/core/shaders/Saturation/index.js +5 -2
  620. package/dist/core/shaders/Scratches/index.d.ts +33 -0
  621. package/dist/core/shaders/Scratches/index.d.ts.map +1 -0
  622. package/dist/core/shaders/Scratches/index.js +6 -0
  623. package/dist/core/shaders/Sharpness/index.d.ts +5 -2
  624. package/dist/core/shaders/Sharpness/index.d.ts.map +1 -1
  625. package/dist/core/shaders/Sharpness/index.js +5 -3
  626. package/dist/core/shaders/Shatter/index.d.ts +22 -2
  627. package/dist/core/shaders/Shatter/index.d.ts.map +1 -1
  628. package/dist/core/shaders/Shatter/index.js +5 -5
  629. package/dist/core/shaders/SimplexNoise/index.d.ts +7 -2
  630. package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
  631. package/dist/core/shaders/SimplexNoise/index.js +5 -5
  632. package/dist/core/shaders/SineWave/index.d.ts +4 -2
  633. package/dist/core/shaders/SineWave/index.d.ts.map +1 -1
  634. package/dist/core/shaders/SineWave/index.js +5 -4
  635. package/dist/core/shaders/Smoke/index.d.ts +17 -2
  636. package/dist/core/shaders/Smoke/index.d.ts.map +1 -1
  637. package/dist/core/shaders/Smoke/index.js +5 -4
  638. package/dist/core/shaders/SmokeFill/index.d.ts +33 -2
  639. package/dist/core/shaders/SmokeFill/index.d.ts.map +1 -1
  640. package/dist/core/shaders/SmokeFill/index.js +7 -5
  641. package/dist/core/shaders/SmokeFlow/index.d.ts +93 -0
  642. package/dist/core/shaders/SmokeFlow/index.d.ts.map +1 -0
  643. package/dist/core/shaders/SmokeFlow/index.js +5 -0
  644. package/dist/core/shaders/Solarize/index.d.ts +4 -2
  645. package/dist/core/shaders/Solarize/index.d.ts.map +1 -1
  646. package/dist/core/shaders/Solarize/index.js +5 -2
  647. package/dist/core/shaders/SolidColor/index.d.ts +2 -2
  648. package/dist/core/shaders/SolidColor/index.d.ts.map +1 -1
  649. package/dist/core/shaders/SolidColor/index.js +2 -2
  650. package/dist/core/shaders/Spherize/index.d.ts +16 -11
  651. package/dist/core/shaders/Spherize/index.d.ts.map +1 -1
  652. package/dist/core/shaders/Spherize/index.js +5 -4
  653. package/dist/core/shaders/Spiral/index.d.ts +5 -2
  654. package/dist/core/shaders/Spiral/index.d.ts.map +1 -1
  655. package/dist/core/shaders/Spiral/index.js +5 -5
  656. package/dist/core/shaders/Star/index.d.ts +15 -3
  657. package/dist/core/shaders/Star/index.d.ts.map +1 -1
  658. package/dist/core/shaders/Star/index.js +5 -5
  659. package/dist/core/shaders/Stone/index.d.ts +12 -0
  660. package/dist/core/shaders/Stone/index.d.ts.map +1 -0
  661. package/dist/core/shaders/Stone/index.js +4 -0
  662. package/dist/core/shaders/Strands/index.d.ts +56 -20
  663. package/dist/core/shaders/Strands/index.d.ts.map +1 -1
  664. package/dist/core/shaders/Strands/index.js +5 -4
  665. package/dist/core/shaders/Stretch/index.d.ts +4 -2
  666. package/dist/core/shaders/Stretch/index.d.ts.map +1 -1
  667. package/dist/core/shaders/Stretch/index.js +5 -5
  668. package/dist/core/shaders/Stripes/index.d.ts +6 -2
  669. package/dist/core/shaders/Stripes/index.d.ts.map +1 -1
  670. package/dist/core/shaders/Stripes/index.js +5 -5
  671. package/dist/core/shaders/StudioBackground/index.d.ts +4 -2
  672. package/dist/core/shaders/StudioBackground/index.d.ts.map +1 -1
  673. package/dist/core/shaders/StudioBackground/index.js +5 -4
  674. package/dist/core/shaders/SunBurst/index.d.ts +4 -2
  675. package/dist/core/shaders/SunBurst/index.d.ts.map +1 -1
  676. package/dist/core/shaders/SunBurst/index.js +5 -4
  677. package/dist/core/shaders/Surface3D/index.d.ts +177 -0
  678. package/dist/core/shaders/Surface3D/index.d.ts.map +1 -0
  679. package/dist/core/shaders/Surface3D/index.js +5 -0
  680. package/dist/core/shaders/Swirl/index.d.ts +7 -2
  681. package/dist/core/shaders/Swirl/index.d.ts.map +1 -1
  682. package/dist/core/shaders/Swirl/index.js +5 -5
  683. package/dist/core/shaders/Teardrop/index.d.ts +90 -0
  684. package/dist/core/shaders/Teardrop/index.d.ts.map +1 -0
  685. package/dist/core/shaders/Teardrop/index.js +5 -0
  686. package/dist/core/shaders/Text/index.d.ts +93 -0
  687. package/dist/core/shaders/Text/index.d.ts.map +1 -0
  688. package/dist/core/shaders/Text/index.js +6 -0
  689. package/dist/core/shaders/ThinFilm/index.d.ts +16 -2
  690. package/dist/core/shaders/ThinFilm/index.d.ts.map +1 -1
  691. package/dist/core/shaders/ThinFilm/index.js +5 -5
  692. package/dist/core/shaders/TiltShift/index.d.ts +108 -2
  693. package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
  694. package/dist/core/shaders/TiltShift/index.js +5 -5
  695. package/dist/core/shaders/Tint/index.d.ts +5 -2
  696. package/dist/core/shaders/Tint/index.d.ts.map +1 -1
  697. package/dist/core/shaders/Tint/index.js +5 -3
  698. package/dist/core/shaders/Trapezoid/index.d.ts +16 -4
  699. package/dist/core/shaders/Trapezoid/index.d.ts.map +1 -1
  700. package/dist/core/shaders/Trapezoid/index.js +5 -5
  701. package/dist/core/shaders/TriangularGrid/index.d.ts +75 -0
  702. package/dist/core/shaders/TriangularGrid/index.d.ts.map +1 -0
  703. package/dist/core/shaders/TriangularGrid/index.js +5 -0
  704. package/dist/core/shaders/Tritone/index.d.ts +4 -2
  705. package/dist/core/shaders/Tritone/index.d.ts.map +1 -1
  706. package/dist/core/shaders/Tritone/index.js +5 -4
  707. package/dist/core/shaders/Truchet/index.d.ts +17 -3
  708. package/dist/core/shaders/Truchet/index.d.ts.map +1 -1
  709. package/dist/core/shaders/Truchet/index.js +5 -4
  710. package/dist/core/shaders/Twirl/index.d.ts +4 -2
  711. package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
  712. package/dist/core/shaders/Twirl/index.js +5 -5
  713. package/dist/core/shaders/VHS/index.d.ts +7 -2
  714. package/dist/core/shaders/VHS/index.d.ts.map +1 -1
  715. package/dist/core/shaders/VHS/index.js +5 -3
  716. package/dist/core/shaders/Vesica/index.d.ts +15 -3
  717. package/dist/core/shaders/Vesica/index.d.ts.map +1 -1
  718. package/dist/core/shaders/Vesica/index.js +5 -5
  719. package/dist/core/shaders/Vibrance/index.d.ts +4 -2
  720. package/dist/core/shaders/Vibrance/index.d.ts.map +1 -1
  721. package/dist/core/shaders/Vibrance/index.js +5 -2
  722. package/dist/core/shaders/VideoTexture/index.d.ts +23 -4
  723. package/dist/core/shaders/VideoTexture/index.d.ts.map +1 -1
  724. package/dist/core/shaders/VideoTexture/index.js +5 -3
  725. package/dist/core/shaders/Vignette/index.d.ts +4 -2
  726. package/dist/core/shaders/Vignette/index.d.ts.map +1 -1
  727. package/dist/core/shaders/Vignette/index.js +5 -3
  728. package/dist/core/shaders/Voronoi/index.d.ts +8 -3
  729. package/dist/core/shaders/Voronoi/index.d.ts.map +1 -1
  730. package/dist/core/shaders/Voronoi/index.js +5 -5
  731. package/dist/core/shaders/Water/index.d.ts +171 -0
  732. package/dist/core/shaders/Water/index.d.ts.map +1 -0
  733. package/dist/core/shaders/Water/index.js +7 -0
  734. package/dist/core/shaders/Watercolor/index.d.ts +45 -0
  735. package/dist/core/shaders/Watercolor/index.d.ts.map +1 -0
  736. package/dist/core/shaders/Watercolor/index.js +5 -0
  737. package/dist/core/shaders/WaveDistortion/index.d.ts +10 -2
  738. package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
  739. package/dist/core/shaders/WaveDistortion/index.js +5 -6
  740. package/dist/core/shaders/WaveletNoise/index.d.ts +33 -0
  741. package/dist/core/shaders/WaveletNoise/index.d.ts.map +1 -0
  742. package/dist/core/shaders/WaveletNoise/index.js +6 -0
  743. package/dist/core/shaders/Weave/index.d.ts +4 -2
  744. package/dist/core/shaders/Weave/index.d.ts.map +1 -1
  745. package/dist/core/shaders/Weave/index.js +5 -3
  746. package/dist/core/shaders/WebcamTexture/index.d.ts +9 -2
  747. package/dist/core/shaders/WebcamTexture/index.d.ts.map +1 -1
  748. package/dist/core/shaders/WebcamTexture/index.js +5 -3
  749. package/dist/core/shaders/Wool/index.d.ts +12 -0
  750. package/dist/core/shaders/Wool/index.d.ts.map +1 -0
  751. package/dist/core/shaders/Wool/index.js +4 -0
  752. package/dist/core/shaders/WorleyNoise/index.d.ts +7 -2
  753. package/dist/core/shaders/WorleyNoise/index.d.ts.map +1 -1
  754. package/dist/core/shaders/WorleyNoise/index.js +5 -5
  755. package/dist/core/shaders/ZoomBlur/index.d.ts +15 -2
  756. package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
  757. package/dist/core/shaders/ZoomBlur/index.js +5 -4
  758. package/dist/core/shapeEffectBounds-BlxxsYMN.js +450 -0
  759. package/dist/core/transformations-fqzznt4g.js +4752 -0
  760. package/dist/core/types.d.ts +493 -19
  761. package/dist/core/types.d.ts.map +1 -1
  762. package/dist/core/utilities/boundingBox.d.ts +16 -0
  763. package/dist/core/utilities/boundingBox.d.ts.map +1 -0
  764. package/dist/core/utilities/colorStops.d.ts +49 -0
  765. package/dist/core/utilities/colorStops.d.ts.map +1 -0
  766. package/dist/core/utilities/device.d.ts +27 -0
  767. package/dist/core/utilities/device.d.ts.map +1 -0
  768. package/dist/core/utilities/dimensionalProps.d.ts +67 -0
  769. package/dist/core/utilities/dimensionalProps.d.ts.map +1 -0
  770. package/dist/core/utilities/fonts.d.ts +19 -0
  771. package/dist/core/utilities/fonts.d.ts.map +1 -0
  772. package/dist/core/utilities/noiseColor.d.ts +143 -0
  773. package/dist/core/utilities/noiseColor.d.ts.map +1 -0
  774. package/dist/core/utilities/noiseStylize.d.ts +77 -0
  775. package/dist/core/utilities/noiseStylize.d.ts.map +1 -0
  776. package/dist/core/utilities/sdf3d.d.ts +48 -0
  777. package/dist/core/utilities/sdf3d.d.ts.map +1 -0
  778. package/dist/core/utilities/sdfBounds.d.ts +11 -0
  779. package/dist/core/utilities/sdfBounds.d.ts.map +1 -0
  780. package/dist/core/utilities/shapeEffectBounds.d.ts +26 -0
  781. package/dist/core/utilities/shapeEffectBounds.d.ts.map +1 -0
  782. package/dist/core/utilities/textMeasure.d.ts +41 -0
  783. package/dist/core/utilities/textMeasure.d.ts.map +1 -0
  784. package/dist/core/utilities/transformations/index.js +2 -2
  785. package/dist/core/utilities/transformations.d.ts +39 -30
  786. package/dist/core/utilities/transformations.d.ts.map +1 -1
  787. package/dist/core/utilities/uvTransform.d.ts +31 -58
  788. package/dist/core/utilities/uvTransform.d.ts.map +1 -1
  789. package/dist/js/bundle.js +239 -4681
  790. package/dist/js/createShader.d.ts.map +1 -1
  791. package/dist/js/createShader.js +12 -8
  792. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  793. package/dist/js/utils/generatePresetCode.js +1045 -14
  794. package/dist/js/utils/generatePresetCode.template.d.ts.map +1 -1
  795. package/dist/react/AngularBlur.js +10 -7
  796. package/dist/react/Arc.js +220 -0
  797. package/dist/react/Ascii.js +10 -7
  798. package/dist/react/Aurora.js +10 -7
  799. package/dist/react/BarShift.js +10 -7
  800. package/dist/react/Beam.js +10 -7
  801. package/dist/react/Blob.js +10 -7
  802. package/dist/react/BlockNoise.js +220 -0
  803. package/dist/react/BlueNoise.js +220 -0
  804. package/dist/react/Blur.js +10 -7
  805. package/dist/react/BrickPattern.js +10 -7
  806. package/dist/react/BrightnessContrast.js +10 -7
  807. package/dist/react/BrushedMetal.js +220 -0
  808. package/dist/react/Bulge.js +10 -7
  809. package/dist/react/CRTScreen.js +10 -7
  810. package/dist/react/CarbonFiber.js +220 -0
  811. package/dist/react/Chalkboard.js +220 -0
  812. package/dist/react/ChannelBlur.js +10 -7
  813. package/dist/react/Checkerboard.js +10 -7
  814. package/dist/react/Chevron.js +10 -7
  815. package/dist/react/ChromaFlow.js +10 -7
  816. package/dist/react/ChromaticAberration.js +10 -7
  817. package/dist/react/Circle.js +10 -7
  818. package/dist/react/ColorWheel.js +10 -7
  819. package/dist/react/CompressionArtifacts.js +220 -0
  820. package/dist/react/ConcentricSpin.js +10 -7
  821. package/dist/react/ConicGradient.js +10 -7
  822. package/dist/react/ContourLines.js +10 -7
  823. package/dist/react/CornerPin.js +220 -0
  824. package/dist/react/Crescent.js +10 -7
  825. package/dist/react/Cross.js +10 -7
  826. package/dist/react/Crystal.js +10 -7
  827. package/dist/react/CurlNoise.js +220 -0
  828. package/dist/react/CursorRipples.js +10 -7
  829. package/dist/react/CursorTrail.js +10 -7
  830. package/dist/react/DOMTexture.js +10 -7
  831. package/dist/react/DataMosh.js +220 -0
  832. package/dist/react/DiamondGradient.js +10 -7
  833. package/dist/react/DiffuseBlur.js +10 -7
  834. package/dist/react/Dither.js +10 -7
  835. package/dist/react/DotGrid.js +10 -7
  836. package/dist/react/DropShadow.js +10 -7
  837. package/dist/react/Duotone.js +10 -7
  838. package/dist/react/Ellipse.js +10 -7
  839. package/dist/react/Emboss.js +10 -7
  840. package/dist/react/Engraving.js +220 -0
  841. package/dist/react/ErosionNoise.js +220 -0
  842. package/dist/react/Exposure.js +10 -7
  843. package/dist/react/FallingLines.js +10 -7
  844. package/dist/react/FilmGrain.js +10 -7
  845. package/dist/react/Flip.js +220 -0
  846. package/dist/react/FloatingParticles.js +10 -7
  847. package/dist/react/FlowField.js +10 -7
  848. package/dist/react/Flower.js +10 -7
  849. package/dist/react/FlowingGradient.js +10 -7
  850. package/dist/react/FlutedGlass.js +10 -7
  851. package/dist/react/Fog.js +10 -7
  852. package/dist/react/Form3D.js +10 -7
  853. package/dist/react/FractalNoise.js +10 -7
  854. package/dist/react/Frost.js +220 -0
  855. package/dist/react/GaborNoise.js +220 -0
  856. package/dist/react/Glass.js +10 -7
  857. package/dist/react/GlassTiles.js +10 -7
  858. package/dist/react/Glitch.js +10 -7
  859. package/dist/react/Glow.js +10 -7
  860. package/dist/react/Godrays.js +10 -7
  861. package/dist/react/Goo.js +220 -0
  862. package/dist/react/GradientMap.js +220 -0
  863. package/dist/react/Grayscale.js +10 -7
  864. package/dist/react/Grid.js +10 -7
  865. package/dist/react/GridDistortion.js +10 -7
  866. package/dist/react/Group.js +10 -7
  867. package/dist/react/Halftone.js +10 -7
  868. package/dist/react/Heart.js +220 -0
  869. package/dist/react/Heatmap.js +220 -0
  870. package/dist/react/HexGrid.js +10 -7
  871. package/dist/react/Hologram.js +220 -0
  872. package/dist/react/Holographic.js +220 -0
  873. package/dist/react/HueShift.js +10 -7
  874. package/dist/react/ImageTexture.js +10 -7
  875. package/dist/react/Invert.js +10 -7
  876. package/dist/react/IsometricCubes.js +220 -0
  877. package/dist/react/Kaleidoscope.js +10 -7
  878. package/dist/react/KeyFrames.js +220 -0
  879. package/dist/react/LensFlare.js +10 -7
  880. package/dist/react/LightEdge.js +220 -0
  881. package/dist/react/LightLeak.js +220 -0
  882. package/dist/react/LinearBlur.js +10 -7
  883. package/dist/react/LinearGradient.js +10 -7
  884. package/dist/react/LiquidMetal.js +220 -0
  885. package/dist/react/Liquify.js +10 -7
  886. package/dist/react/Marble.js +10 -7
  887. package/dist/react/Mirror.js +10 -7
  888. package/dist/react/MultiPointGradient.js +10 -7
  889. package/dist/react/Neon.js +10 -7
  890. package/dist/react/ObjectTracker.js +220 -0
  891. package/dist/react/PagePeel.js +220 -0
  892. package/dist/react/Paper.js +10 -7
  893. package/dist/react/Parallelogram.js +220 -0
  894. package/dist/react/Particles.js +220 -0
  895. package/dist/react/PerlinNoise.js +220 -0
  896. package/dist/react/Perspective.js +10 -7
  897. package/dist/react/PixelSort.js +220 -0
  898. package/dist/react/PixelThrow.js +220 -0
  899. package/dist/react/Pixelate.js +10 -7
  900. package/dist/react/Plasma.js +10 -7
  901. package/dist/react/Plastic.js +220 -0
  902. package/dist/react/PolarCoordinates.js +10 -7
  903. package/dist/react/Polygon.js +10 -7
  904. package/dist/react/Posterize.js +10 -7
  905. package/dist/react/Preview.js +47 -0
  906. package/dist/react/Prism.js +220 -0
  907. package/dist/react/ProgressiveBlur.js +10 -7
  908. package/dist/react/RadialGradient.js +10 -7
  909. package/dist/react/RectangularCoordinates.js +10 -7
  910. package/dist/react/ReflectivePlane.js +10 -7
  911. package/dist/react/Repeater.js +220 -0
  912. package/dist/react/Ring.js +10 -7
  913. package/dist/react/Ripples.js +10 -7
  914. package/dist/react/RoundedRect.js +10 -7
  915. package/dist/react/Saturation.js +10 -7
  916. package/dist/react/Scratches.js +220 -0
  917. package/dist/react/Shader.js +4 -5
  918. package/dist/react/Sharpness.js +10 -7
  919. package/dist/react/Shatter.js +10 -7
  920. package/dist/react/SimplexNoise.js +10 -7
  921. package/dist/react/SineWave.js +10 -7
  922. package/dist/react/Smoke.js +10 -7
  923. package/dist/react/SmokeFill.js +10 -7
  924. package/dist/react/SmokeFlow.js +220 -0
  925. package/dist/react/Solarize.js +10 -7
  926. package/dist/react/SolidColor.js +10 -7
  927. package/dist/react/Spherize.js +10 -7
  928. package/dist/react/Spiral.js +10 -7
  929. package/dist/react/Star.js +10 -7
  930. package/dist/react/Stone.js +220 -0
  931. package/dist/react/Strands.js +10 -7
  932. package/dist/react/Stretch.js +10 -7
  933. package/dist/react/Stripes.js +10 -7
  934. package/dist/react/StudioBackground.js +10 -7
  935. package/dist/react/SunBurst.js +10 -7
  936. package/dist/react/Surface3D.js +220 -0
  937. package/dist/react/Swirl.js +10 -7
  938. package/dist/react/Teardrop.js +220 -0
  939. package/dist/react/Text.js +220 -0
  940. package/dist/react/ThinFilm.js +10 -7
  941. package/dist/react/TiltShift.js +10 -7
  942. package/dist/react/Tint.js +10 -7
  943. package/dist/react/Trapezoid.js +10 -7
  944. package/dist/react/TriangularGrid.js +220 -0
  945. package/dist/react/Tritone.js +10 -7
  946. package/dist/react/Truchet.js +10 -7
  947. package/dist/react/Twirl.js +10 -7
  948. package/dist/react/VHS.js +10 -7
  949. package/dist/react/Vesica.js +10 -7
  950. package/dist/react/Vibrance.js +10 -7
  951. package/dist/react/VideoTexture.js +10 -7
  952. package/dist/react/Vignette.js +10 -7
  953. package/dist/react/Voronoi.js +10 -7
  954. package/dist/react/Water.js +220 -0
  955. package/dist/react/Watercolor.js +220 -0
  956. package/dist/react/WaveDistortion.js +10 -7
  957. package/dist/react/WaveletNoise.js +220 -0
  958. package/dist/react/Weave.js +10 -7
  959. package/dist/react/WebcamTexture.js +10 -7
  960. package/dist/react/Wool.js +220 -0
  961. package/dist/react/WorleyNoise.js +10 -7
  962. package/dist/react/ZoomBlur.js +10 -7
  963. package/dist/react/bundle.js +239 -4681
  964. package/dist/react/components/AngularBlur.d.ts +2 -1
  965. package/dist/react/components/AngularBlur.d.ts.map +1 -1
  966. package/dist/react/components/Arc.d.ts +34 -0
  967. package/dist/react/components/Arc.d.ts.map +1 -0
  968. package/dist/react/components/Ascii.d.ts +2 -1
  969. package/dist/react/components/Ascii.d.ts.map +1 -1
  970. package/dist/react/components/Aurora.d.ts +2 -1
  971. package/dist/react/components/Aurora.d.ts.map +1 -1
  972. package/dist/react/components/BarShift.d.ts +2 -1
  973. package/dist/react/components/BarShift.d.ts.map +1 -1
  974. package/dist/react/components/Beam.d.ts +2 -1
  975. package/dist/react/components/Beam.d.ts.map +1 -1
  976. package/dist/react/components/Blob.d.ts +2 -1
  977. package/dist/react/components/Blob.d.ts.map +1 -1
  978. package/dist/react/components/BlockNoise.d.ts +35 -0
  979. package/dist/react/components/BlockNoise.d.ts.map +1 -0
  980. package/dist/react/components/BlueNoise.d.ts +35 -0
  981. package/dist/react/components/BlueNoise.d.ts.map +1 -0
  982. package/dist/react/components/Blur.d.ts +2 -1
  983. package/dist/react/components/Blur.d.ts.map +1 -1
  984. package/dist/react/components/BrickPattern.d.ts +6 -3
  985. package/dist/react/components/BrickPattern.d.ts.map +1 -1
  986. package/dist/react/components/BrightnessContrast.d.ts +2 -1
  987. package/dist/react/components/BrightnessContrast.d.ts.map +1 -1
  988. package/dist/react/components/BrushedMetal.d.ts +34 -0
  989. package/dist/react/components/BrushedMetal.d.ts.map +1 -0
  990. package/dist/react/components/Bulge.d.ts +2 -1
  991. package/dist/react/components/Bulge.d.ts.map +1 -1
  992. package/dist/react/components/CRTScreen.d.ts +2 -1
  993. package/dist/react/components/CRTScreen.d.ts.map +1 -1
  994. package/dist/react/components/CarbonFiber.d.ts +34 -0
  995. package/dist/react/components/CarbonFiber.d.ts.map +1 -0
  996. package/dist/react/components/Chalkboard.d.ts +38 -0
  997. package/dist/react/components/Chalkboard.d.ts.map +1 -0
  998. package/dist/react/components/ChannelBlur.d.ts +2 -1
  999. package/dist/react/components/ChannelBlur.d.ts.map +1 -1
  1000. package/dist/react/components/Checkerboard.d.ts +2 -1
  1001. package/dist/react/components/Checkerboard.d.ts.map +1 -1
  1002. package/dist/react/components/Chevron.d.ts +2 -1
  1003. package/dist/react/components/Chevron.d.ts.map +1 -1
  1004. package/dist/react/components/ChromaFlow.d.ts +2 -1
  1005. package/dist/react/components/ChromaFlow.d.ts.map +1 -1
  1006. package/dist/react/components/ChromaticAberration.d.ts +2 -1
  1007. package/dist/react/components/ChromaticAberration.d.ts.map +1 -1
  1008. package/dist/react/components/Circle.d.ts +2 -1
  1009. package/dist/react/components/Circle.d.ts.map +1 -1
  1010. package/dist/react/components/ColorWheel.d.ts +2 -1
  1011. package/dist/react/components/ColorWheel.d.ts.map +1 -1
  1012. package/dist/react/components/CompressionArtifacts.d.ts +34 -0
  1013. package/dist/react/components/CompressionArtifacts.d.ts.map +1 -0
  1014. package/dist/react/components/ConcentricSpin.d.ts +2 -1
  1015. package/dist/react/components/ConcentricSpin.d.ts.map +1 -1
  1016. package/dist/react/components/ConicGradient.d.ts +2 -1
  1017. package/dist/react/components/ConicGradient.d.ts.map +1 -1
  1018. package/dist/react/components/ContourLines.d.ts +2 -1
  1019. package/dist/react/components/ContourLines.d.ts.map +1 -1
  1020. package/dist/react/components/CornerPin.d.ts +38 -0
  1021. package/dist/react/components/CornerPin.d.ts.map +1 -0
  1022. package/dist/react/components/Crescent.d.ts +2 -1
  1023. package/dist/react/components/Crescent.d.ts.map +1 -1
  1024. package/dist/react/components/Cross.d.ts +2 -1
  1025. package/dist/react/components/Cross.d.ts.map +1 -1
  1026. package/dist/react/components/Crystal.d.ts +2 -1
  1027. package/dist/react/components/Crystal.d.ts.map +1 -1
  1028. package/dist/react/components/CurlNoise.d.ts +35 -0
  1029. package/dist/react/components/CurlNoise.d.ts.map +1 -0
  1030. package/dist/react/components/CursorRipples.d.ts +2 -1
  1031. package/dist/react/components/CursorRipples.d.ts.map +1 -1
  1032. package/dist/react/components/CursorTrail.d.ts +2 -1
  1033. package/dist/react/components/CursorTrail.d.ts.map +1 -1
  1034. package/dist/react/components/DOMTexture.d.ts +2 -1
  1035. package/dist/react/components/DOMTexture.d.ts.map +1 -1
  1036. package/dist/react/components/DataMosh.d.ts +38 -0
  1037. package/dist/react/components/DataMosh.d.ts.map +1 -0
  1038. package/dist/react/components/DiamondGradient.d.ts +2 -1
  1039. package/dist/react/components/DiamondGradient.d.ts.map +1 -1
  1040. package/dist/react/components/DiffuseBlur.d.ts +2 -1
  1041. package/dist/react/components/DiffuseBlur.d.ts.map +1 -1
  1042. package/dist/react/components/Dither.d.ts +2 -1
  1043. package/dist/react/components/Dither.d.ts.map +1 -1
  1044. package/dist/react/components/DotGrid.d.ts +4 -2
  1045. package/dist/react/components/DotGrid.d.ts.map +1 -1
  1046. package/dist/react/components/DropShadow.d.ts +2 -1
  1047. package/dist/react/components/DropShadow.d.ts.map +1 -1
  1048. package/dist/react/components/Duotone.d.ts +2 -1
  1049. package/dist/react/components/Duotone.d.ts.map +1 -1
  1050. package/dist/react/components/Ellipse.d.ts +2 -1
  1051. package/dist/react/components/Ellipse.d.ts.map +1 -1
  1052. package/dist/react/components/Emboss.d.ts +2 -1
  1053. package/dist/react/components/Emboss.d.ts.map +1 -1
  1054. package/dist/react/components/Engraving.d.ts +39 -0
  1055. package/dist/react/components/Engraving.d.ts.map +1 -0
  1056. package/dist/react/components/ErosionNoise.d.ts +35 -0
  1057. package/dist/react/components/ErosionNoise.d.ts.map +1 -0
  1058. package/dist/react/components/Exposure.d.ts +2 -1
  1059. package/dist/react/components/Exposure.d.ts.map +1 -1
  1060. package/dist/react/components/FallingLines.d.ts +2 -1
  1061. package/dist/react/components/FallingLines.d.ts.map +1 -1
  1062. package/dist/react/components/FilmGrain.d.ts +2 -1
  1063. package/dist/react/components/FilmGrain.d.ts.map +1 -1
  1064. package/dist/react/components/Flip.d.ts +32 -0
  1065. package/dist/react/components/Flip.d.ts.map +1 -0
  1066. package/dist/react/components/FloatingParticles.d.ts +2 -1
  1067. package/dist/react/components/FloatingParticles.d.ts.map +1 -1
  1068. package/dist/react/components/FlowField.d.ts +4 -2
  1069. package/dist/react/components/FlowField.d.ts.map +1 -1
  1070. package/dist/react/components/Flower.d.ts +2 -1
  1071. package/dist/react/components/Flower.d.ts.map +1 -1
  1072. package/dist/react/components/FlowingGradient.d.ts +2 -1
  1073. package/dist/react/components/FlowingGradient.d.ts.map +1 -1
  1074. package/dist/react/components/FlutedGlass.d.ts +2 -1
  1075. package/dist/react/components/FlutedGlass.d.ts.map +1 -1
  1076. package/dist/react/components/Fog.d.ts +2 -1
  1077. package/dist/react/components/Fog.d.ts.map +1 -1
  1078. package/dist/react/components/Form3D.d.ts +2 -1
  1079. package/dist/react/components/Form3D.d.ts.map +1 -1
  1080. package/dist/react/components/FractalNoise.d.ts +2 -1
  1081. package/dist/react/components/FractalNoise.d.ts.map +1 -1
  1082. package/dist/react/components/Frost.d.ts +34 -0
  1083. package/dist/react/components/Frost.d.ts.map +1 -0
  1084. package/dist/react/components/GaborNoise.d.ts +35 -0
  1085. package/dist/react/components/GaborNoise.d.ts.map +1 -0
  1086. package/dist/react/components/Glass.d.ts +2 -1
  1087. package/dist/react/components/Glass.d.ts.map +1 -1
  1088. package/dist/react/components/GlassTiles.d.ts +2 -1
  1089. package/dist/react/components/GlassTiles.d.ts.map +1 -1
  1090. package/dist/react/components/Glitch.d.ts +2 -1
  1091. package/dist/react/components/Glitch.d.ts.map +1 -1
  1092. package/dist/react/components/Glow.d.ts +2 -1
  1093. package/dist/react/components/Glow.d.ts.map +1 -1
  1094. package/dist/react/components/Godrays.d.ts +2 -1
  1095. package/dist/react/components/Godrays.d.ts.map +1 -1
  1096. package/dist/react/components/Goo.d.ts +34 -0
  1097. package/dist/react/components/Goo.d.ts.map +1 -0
  1098. package/dist/react/components/GradientMap.d.ts +38 -0
  1099. package/dist/react/components/GradientMap.d.ts.map +1 -0
  1100. package/dist/react/components/Grayscale.d.ts +2 -1
  1101. package/dist/react/components/Grayscale.d.ts.map +1 -1
  1102. package/dist/react/components/Grid.d.ts +5 -2
  1103. package/dist/react/components/Grid.d.ts.map +1 -1
  1104. package/dist/react/components/GridDistortion.d.ts +2 -1
  1105. package/dist/react/components/GridDistortion.d.ts.map +1 -1
  1106. package/dist/react/components/Group.d.ts +2 -1
  1107. package/dist/react/components/Group.d.ts.map +1 -1
  1108. package/dist/react/components/Halftone.d.ts +2 -1
  1109. package/dist/react/components/Halftone.d.ts.map +1 -1
  1110. package/dist/react/components/Heart.d.ts +34 -0
  1111. package/dist/react/components/Heart.d.ts.map +1 -0
  1112. package/dist/react/components/Heatmap.d.ts +37 -0
  1113. package/dist/react/components/Heatmap.d.ts.map +1 -0
  1114. package/dist/react/components/HexGrid.d.ts +6 -2
  1115. package/dist/react/components/HexGrid.d.ts.map +1 -1
  1116. package/dist/react/components/Hologram.d.ts +34 -0
  1117. package/dist/react/components/Hologram.d.ts.map +1 -0
  1118. package/dist/react/components/Holographic.d.ts +34 -0
  1119. package/dist/react/components/Holographic.d.ts.map +1 -0
  1120. package/dist/react/components/HueShift.d.ts +2 -1
  1121. package/dist/react/components/HueShift.d.ts.map +1 -1
  1122. package/dist/react/components/ImageTexture.d.ts +2 -1
  1123. package/dist/react/components/ImageTexture.d.ts.map +1 -1
  1124. package/dist/react/components/Invert.d.ts +2 -1
  1125. package/dist/react/components/Invert.d.ts.map +1 -1
  1126. package/dist/react/components/IsometricCubes.d.ts +38 -0
  1127. package/dist/react/components/IsometricCubes.d.ts.map +1 -0
  1128. package/dist/react/components/Kaleidoscope.d.ts +2 -1
  1129. package/dist/react/components/Kaleidoscope.d.ts.map +1 -1
  1130. package/dist/react/components/KeyFrames.d.ts +38 -0
  1131. package/dist/react/components/KeyFrames.d.ts.map +1 -0
  1132. package/dist/react/components/LensFlare.d.ts +2 -1
  1133. package/dist/react/components/LensFlare.d.ts.map +1 -1
  1134. package/dist/react/components/LightEdge.d.ts +43 -0
  1135. package/dist/react/components/LightEdge.d.ts.map +1 -0
  1136. package/dist/react/components/LightLeak.d.ts +39 -0
  1137. package/dist/react/components/LightLeak.d.ts.map +1 -0
  1138. package/dist/react/components/LinearBlur.d.ts +2 -1
  1139. package/dist/react/components/LinearBlur.d.ts.map +1 -1
  1140. package/dist/react/components/LinearGradient.d.ts +2 -1
  1141. package/dist/react/components/LinearGradient.d.ts.map +1 -1
  1142. package/dist/react/components/LiquidMetal.d.ts +34 -0
  1143. package/dist/react/components/LiquidMetal.d.ts.map +1 -0
  1144. package/dist/react/components/Liquify.d.ts +2 -1
  1145. package/dist/react/components/Liquify.d.ts.map +1 -1
  1146. package/dist/react/components/Marble.d.ts +2 -1
  1147. package/dist/react/components/Marble.d.ts.map +1 -1
  1148. package/dist/react/components/Mirror.d.ts +2 -1
  1149. package/dist/react/components/Mirror.d.ts.map +1 -1
  1150. package/dist/react/components/MultiPointGradient.d.ts +2 -1
  1151. package/dist/react/components/MultiPointGradient.d.ts.map +1 -1
  1152. package/dist/react/components/Neon.d.ts +2 -1
  1153. package/dist/react/components/Neon.d.ts.map +1 -1
  1154. package/dist/react/components/ObjectTracker.d.ts +32 -0
  1155. package/dist/react/components/ObjectTracker.d.ts.map +1 -0
  1156. package/dist/react/components/PagePeel.d.ts +39 -0
  1157. package/dist/react/components/PagePeel.d.ts.map +1 -0
  1158. package/dist/react/components/Paper.d.ts +2 -1
  1159. package/dist/react/components/Paper.d.ts.map +1 -1
  1160. package/dist/react/components/Parallelogram.d.ts +34 -0
  1161. package/dist/react/components/Parallelogram.d.ts.map +1 -0
  1162. package/dist/react/components/Particles.d.ts +34 -0
  1163. package/dist/react/components/Particles.d.ts.map +1 -0
  1164. package/dist/react/components/PerlinNoise.d.ts +35 -0
  1165. package/dist/react/components/PerlinNoise.d.ts.map +1 -0
  1166. package/dist/react/components/Perspective.d.ts +2 -1
  1167. package/dist/react/components/Perspective.d.ts.map +1 -1
  1168. package/dist/react/components/PixelSort.d.ts +37 -0
  1169. package/dist/react/components/PixelSort.d.ts.map +1 -0
  1170. package/dist/react/components/PixelThrow.d.ts +38 -0
  1171. package/dist/react/components/PixelThrow.d.ts.map +1 -0
  1172. package/dist/react/components/Pixelate.d.ts +2 -1
  1173. package/dist/react/components/Pixelate.d.ts.map +1 -1
  1174. package/dist/react/components/Plasma.d.ts +2 -1
  1175. package/dist/react/components/Plasma.d.ts.map +1 -1
  1176. package/dist/react/components/Plastic.d.ts +34 -0
  1177. package/dist/react/components/Plastic.d.ts.map +1 -0
  1178. package/dist/react/components/PolarCoordinates.d.ts +2 -1
  1179. package/dist/react/components/PolarCoordinates.d.ts.map +1 -1
  1180. package/dist/react/components/Polygon.d.ts +2 -1
  1181. package/dist/react/components/Polygon.d.ts.map +1 -1
  1182. package/dist/react/components/Posterize.d.ts +2 -1
  1183. package/dist/react/components/Posterize.d.ts.map +1 -1
  1184. package/dist/react/components/Prism.d.ts +42 -0
  1185. package/dist/react/components/Prism.d.ts.map +1 -0
  1186. package/dist/react/components/ProgressiveBlur.d.ts +2 -1
  1187. package/dist/react/components/ProgressiveBlur.d.ts.map +1 -1
  1188. package/dist/react/components/RadialGradient.d.ts +2 -1
  1189. package/dist/react/components/RadialGradient.d.ts.map +1 -1
  1190. package/dist/react/components/RectangularCoordinates.d.ts +2 -1
  1191. package/dist/react/components/RectangularCoordinates.d.ts.map +1 -1
  1192. package/dist/react/components/ReflectivePlane.d.ts +2 -1
  1193. package/dist/react/components/ReflectivePlane.d.ts.map +1 -1
  1194. package/dist/react/components/Repeater.d.ts +58 -0
  1195. package/dist/react/components/Repeater.d.ts.map +1 -0
  1196. package/dist/react/components/Ring.d.ts +2 -1
  1197. package/dist/react/components/Ring.d.ts.map +1 -1
  1198. package/dist/react/components/Ripples.d.ts +2 -1
  1199. package/dist/react/components/Ripples.d.ts.map +1 -1
  1200. package/dist/react/components/RoundedRect.d.ts +2 -1
  1201. package/dist/react/components/RoundedRect.d.ts.map +1 -1
  1202. package/dist/react/components/Saturation.d.ts +2 -1
  1203. package/dist/react/components/Saturation.d.ts.map +1 -1
  1204. package/dist/react/components/Scratches.d.ts +32 -0
  1205. package/dist/react/components/Scratches.d.ts.map +1 -0
  1206. package/dist/react/components/Sharpness.d.ts +2 -1
  1207. package/dist/react/components/Sharpness.d.ts.map +1 -1
  1208. package/dist/react/components/Shatter.d.ts +2 -1
  1209. package/dist/react/components/Shatter.d.ts.map +1 -1
  1210. package/dist/react/components/SimplexNoise.d.ts +2 -1
  1211. package/dist/react/components/SimplexNoise.d.ts.map +1 -1
  1212. package/dist/react/components/SineWave.d.ts +2 -1
  1213. package/dist/react/components/SineWave.d.ts.map +1 -1
  1214. package/dist/react/components/Smoke.d.ts +2 -1
  1215. package/dist/react/components/Smoke.d.ts.map +1 -1
  1216. package/dist/react/components/SmokeFill.d.ts +2 -1
  1217. package/dist/react/components/SmokeFill.d.ts.map +1 -1
  1218. package/dist/react/components/SmokeFlow.d.ts +32 -0
  1219. package/dist/react/components/SmokeFlow.d.ts.map +1 -0
  1220. package/dist/react/components/Solarize.d.ts +2 -1
  1221. package/dist/react/components/Solarize.d.ts.map +1 -1
  1222. package/dist/react/components/SolidColor.d.ts +2 -1
  1223. package/dist/react/components/SolidColor.d.ts.map +1 -1
  1224. package/dist/react/components/Spherize.d.ts +2 -1
  1225. package/dist/react/components/Spherize.d.ts.map +1 -1
  1226. package/dist/react/components/Spiral.d.ts +2 -1
  1227. package/dist/react/components/Spiral.d.ts.map +1 -1
  1228. package/dist/react/components/Star.d.ts +2 -1
  1229. package/dist/react/components/Star.d.ts.map +1 -1
  1230. package/dist/react/components/Stone.d.ts +32 -0
  1231. package/dist/react/components/Stone.d.ts.map +1 -0
  1232. package/dist/react/components/Strands.d.ts +7 -2
  1233. package/dist/react/components/Strands.d.ts.map +1 -1
  1234. package/dist/react/components/Stretch.d.ts +2 -1
  1235. package/dist/react/components/Stretch.d.ts.map +1 -1
  1236. package/dist/react/components/Stripes.d.ts +2 -1
  1237. package/dist/react/components/Stripes.d.ts.map +1 -1
  1238. package/dist/react/components/StudioBackground.d.ts +2 -1
  1239. package/dist/react/components/StudioBackground.d.ts.map +1 -1
  1240. package/dist/react/components/SunBurst.d.ts +2 -1
  1241. package/dist/react/components/SunBurst.d.ts.map +1 -1
  1242. package/dist/react/components/Surface3D.d.ts +32 -0
  1243. package/dist/react/components/Surface3D.d.ts.map +1 -0
  1244. package/dist/react/components/Swirl.d.ts +2 -1
  1245. package/dist/react/components/Swirl.d.ts.map +1 -1
  1246. package/dist/react/components/Teardrop.d.ts +34 -0
  1247. package/dist/react/components/Teardrop.d.ts.map +1 -0
  1248. package/dist/react/components/Text.d.ts +34 -0
  1249. package/dist/react/components/Text.d.ts.map +1 -0
  1250. package/dist/react/components/ThinFilm.d.ts +2 -1
  1251. package/dist/react/components/ThinFilm.d.ts.map +1 -1
  1252. package/dist/react/components/TiltShift.d.ts +2 -1
  1253. package/dist/react/components/TiltShift.d.ts.map +1 -1
  1254. package/dist/react/components/Tint.d.ts +2 -1
  1255. package/dist/react/components/Tint.d.ts.map +1 -1
  1256. package/dist/react/components/Trapezoid.d.ts +2 -1
  1257. package/dist/react/components/Trapezoid.d.ts.map +1 -1
  1258. package/dist/react/components/TriangularGrid.d.ts +38 -0
  1259. package/dist/react/components/TriangularGrid.d.ts.map +1 -0
  1260. package/dist/react/components/Tritone.d.ts +2 -1
  1261. package/dist/react/components/Tritone.d.ts.map +1 -1
  1262. package/dist/react/components/Truchet.d.ts +5 -2
  1263. package/dist/react/components/Truchet.d.ts.map +1 -1
  1264. package/dist/react/components/Twirl.d.ts +2 -1
  1265. package/dist/react/components/Twirl.d.ts.map +1 -1
  1266. package/dist/react/components/VHS.d.ts +2 -1
  1267. package/dist/react/components/VHS.d.ts.map +1 -1
  1268. package/dist/react/components/Vesica.d.ts +2 -1
  1269. package/dist/react/components/Vesica.d.ts.map +1 -1
  1270. package/dist/react/components/Vibrance.d.ts +2 -1
  1271. package/dist/react/components/Vibrance.d.ts.map +1 -1
  1272. package/dist/react/components/VideoTexture.d.ts +2 -1
  1273. package/dist/react/components/VideoTexture.d.ts.map +1 -1
  1274. package/dist/react/components/Vignette.d.ts +2 -1
  1275. package/dist/react/components/Vignette.d.ts.map +1 -1
  1276. package/dist/react/components/Voronoi.d.ts +2 -1
  1277. package/dist/react/components/Voronoi.d.ts.map +1 -1
  1278. package/dist/react/components/Water.d.ts +34 -0
  1279. package/dist/react/components/Water.d.ts.map +1 -0
  1280. package/dist/react/components/Watercolor.d.ts +36 -0
  1281. package/dist/react/components/Watercolor.d.ts.map +1 -0
  1282. package/dist/react/components/WaveDistortion.d.ts +2 -1
  1283. package/dist/react/components/WaveDistortion.d.ts.map +1 -1
  1284. package/dist/react/components/WaveletNoise.d.ts +35 -0
  1285. package/dist/react/components/WaveletNoise.d.ts.map +1 -0
  1286. package/dist/react/components/Weave.d.ts +2 -1
  1287. package/dist/react/components/Weave.d.ts.map +1 -1
  1288. package/dist/react/components/WebcamTexture.d.ts +2 -1
  1289. package/dist/react/components/WebcamTexture.d.ts.map +1 -1
  1290. package/dist/react/components/Wool.d.ts +32 -0
  1291. package/dist/react/components/Wool.d.ts.map +1 -0
  1292. package/dist/react/components/WorleyNoise.d.ts +2 -1
  1293. package/dist/react/components/WorleyNoise.d.ts.map +1 -1
  1294. package/dist/react/components/ZoomBlur.d.ts +2 -1
  1295. package/dist/react/components/ZoomBlur.d.ts.map +1 -1
  1296. package/dist/react/engine/Preview.d.ts.map +1 -1
  1297. package/dist/react/engine/Shader.d.ts.map +1 -1
  1298. package/dist/react/engine/component.template.d.ts +2 -1
  1299. package/dist/react/engine/component.template.d.ts.map +1 -1
  1300. package/dist/react/index.d.ts +47 -0
  1301. package/dist/react/index.d.ts.map +1 -1
  1302. package/dist/react/index.js +48 -1
  1303. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  1304. package/dist/react/utils/generatePresetCode.js +1046 -17
  1305. package/dist/react/utils/generatePresetCode.template.d.ts.map +1 -1
  1306. package/dist/registry.js +34971 -14759
  1307. package/dist/solid/components/AngularBlur.d.ts +2 -1
  1308. package/dist/solid/components/AngularBlur.d.ts.map +1 -1
  1309. package/dist/solid/components/AngularBlur.js +9 -9
  1310. package/dist/solid/components/Arc.d.ts +31 -0
  1311. package/dist/solid/components/Arc.d.ts.map +1 -0
  1312. package/dist/solid/components/Arc.js +228 -0
  1313. package/dist/solid/components/Ascii.d.ts +2 -1
  1314. package/dist/solid/components/Ascii.d.ts.map +1 -1
  1315. package/dist/solid/components/Ascii.js +9 -9
  1316. package/dist/solid/components/Aurora.d.ts +2 -1
  1317. package/dist/solid/components/Aurora.d.ts.map +1 -1
  1318. package/dist/solid/components/Aurora.js +9 -9
  1319. package/dist/solid/components/BarShift.d.ts +2 -1
  1320. package/dist/solid/components/BarShift.d.ts.map +1 -1
  1321. package/dist/solid/components/BarShift.js +9 -9
  1322. package/dist/solid/components/Beam.d.ts +2 -1
  1323. package/dist/solid/components/Beam.d.ts.map +1 -1
  1324. package/dist/solid/components/Beam.js +9 -9
  1325. package/dist/solid/components/Blob.d.ts +2 -1
  1326. package/dist/solid/components/Blob.d.ts.map +1 -1
  1327. package/dist/solid/components/Blob.js +9 -9
  1328. package/dist/solid/components/BlockNoise.d.ts +32 -0
  1329. package/dist/solid/components/BlockNoise.d.ts.map +1 -0
  1330. package/dist/solid/components/BlockNoise.js +228 -0
  1331. package/dist/solid/components/BlueNoise.d.ts +32 -0
  1332. package/dist/solid/components/BlueNoise.d.ts.map +1 -0
  1333. package/dist/solid/components/BlueNoise.js +228 -0
  1334. package/dist/solid/components/Blur.d.ts +2 -1
  1335. package/dist/solid/components/Blur.d.ts.map +1 -1
  1336. package/dist/solid/components/Blur.js +9 -9
  1337. package/dist/solid/components/BrickPattern.d.ts +6 -3
  1338. package/dist/solid/components/BrickPattern.d.ts.map +1 -1
  1339. package/dist/solid/components/BrickPattern.js +9 -9
  1340. package/dist/solid/components/BrightnessContrast.d.ts +2 -1
  1341. package/dist/solid/components/BrightnessContrast.d.ts.map +1 -1
  1342. package/dist/solid/components/BrightnessContrast.js +9 -9
  1343. package/dist/solid/components/BrushedMetal.d.ts +31 -0
  1344. package/dist/solid/components/BrushedMetal.d.ts.map +1 -0
  1345. package/dist/solid/components/BrushedMetal.js +228 -0
  1346. package/dist/solid/components/Bulge.d.ts +2 -1
  1347. package/dist/solid/components/Bulge.d.ts.map +1 -1
  1348. package/dist/solid/components/Bulge.js +9 -9
  1349. package/dist/solid/components/CRTScreen.d.ts +2 -1
  1350. package/dist/solid/components/CRTScreen.d.ts.map +1 -1
  1351. package/dist/solid/components/CRTScreen.js +9 -9
  1352. package/dist/solid/components/CarbonFiber.d.ts +31 -0
  1353. package/dist/solid/components/CarbonFiber.d.ts.map +1 -0
  1354. package/dist/solid/components/CarbonFiber.js +228 -0
  1355. package/dist/solid/components/Chalkboard.d.ts +35 -0
  1356. package/dist/solid/components/Chalkboard.d.ts.map +1 -0
  1357. package/dist/solid/components/Chalkboard.js +228 -0
  1358. package/dist/solid/components/ChannelBlur.d.ts +2 -1
  1359. package/dist/solid/components/ChannelBlur.d.ts.map +1 -1
  1360. package/dist/solid/components/ChannelBlur.js +9 -9
  1361. package/dist/solid/components/Checkerboard.d.ts +2 -1
  1362. package/dist/solid/components/Checkerboard.d.ts.map +1 -1
  1363. package/dist/solid/components/Checkerboard.js +9 -9
  1364. package/dist/solid/components/Chevron.d.ts +2 -1
  1365. package/dist/solid/components/Chevron.d.ts.map +1 -1
  1366. package/dist/solid/components/Chevron.js +9 -9
  1367. package/dist/solid/components/ChromaFlow.d.ts +2 -1
  1368. package/dist/solid/components/ChromaFlow.d.ts.map +1 -1
  1369. package/dist/solid/components/ChromaFlow.js +9 -9
  1370. package/dist/solid/components/ChromaticAberration.d.ts +2 -1
  1371. package/dist/solid/components/ChromaticAberration.d.ts.map +1 -1
  1372. package/dist/solid/components/ChromaticAberration.js +9 -9
  1373. package/dist/solid/components/Circle.d.ts +2 -1
  1374. package/dist/solid/components/Circle.d.ts.map +1 -1
  1375. package/dist/solid/components/Circle.js +9 -9
  1376. package/dist/solid/components/ColorWheel.d.ts +2 -1
  1377. package/dist/solid/components/ColorWheel.d.ts.map +1 -1
  1378. package/dist/solid/components/ColorWheel.js +9 -9
  1379. package/dist/solid/components/CompressionArtifacts.d.ts +31 -0
  1380. package/dist/solid/components/CompressionArtifacts.d.ts.map +1 -0
  1381. package/dist/solid/components/CompressionArtifacts.js +228 -0
  1382. package/dist/solid/components/ConcentricSpin.d.ts +2 -1
  1383. package/dist/solid/components/ConcentricSpin.d.ts.map +1 -1
  1384. package/dist/solid/components/ConcentricSpin.js +9 -9
  1385. package/dist/solid/components/ConicGradient.d.ts +2 -1
  1386. package/dist/solid/components/ConicGradient.d.ts.map +1 -1
  1387. package/dist/solid/components/ConicGradient.js +9 -9
  1388. package/dist/solid/components/ContourLines.d.ts +2 -1
  1389. package/dist/solid/components/ContourLines.d.ts.map +1 -1
  1390. package/dist/solid/components/ContourLines.js +9 -9
  1391. package/dist/solid/components/CornerPin.d.ts +35 -0
  1392. package/dist/solid/components/CornerPin.d.ts.map +1 -0
  1393. package/dist/solid/components/CornerPin.js +228 -0
  1394. package/dist/solid/components/Crescent.d.ts +2 -1
  1395. package/dist/solid/components/Crescent.d.ts.map +1 -1
  1396. package/dist/solid/components/Crescent.js +9 -9
  1397. package/dist/solid/components/Cross.d.ts +2 -1
  1398. package/dist/solid/components/Cross.d.ts.map +1 -1
  1399. package/dist/solid/components/Cross.js +9 -9
  1400. package/dist/solid/components/Crystal.d.ts +2 -1
  1401. package/dist/solid/components/Crystal.d.ts.map +1 -1
  1402. package/dist/solid/components/Crystal.js +9 -9
  1403. package/dist/solid/components/CurlNoise.d.ts +32 -0
  1404. package/dist/solid/components/CurlNoise.d.ts.map +1 -0
  1405. package/dist/solid/components/CurlNoise.js +228 -0
  1406. package/dist/solid/components/CursorRipples.d.ts +2 -1
  1407. package/dist/solid/components/CursorRipples.d.ts.map +1 -1
  1408. package/dist/solid/components/CursorRipples.js +9 -9
  1409. package/dist/solid/components/CursorTrail.d.ts +2 -1
  1410. package/dist/solid/components/CursorTrail.d.ts.map +1 -1
  1411. package/dist/solid/components/CursorTrail.js +9 -9
  1412. package/dist/solid/components/DOMTexture.d.ts +2 -1
  1413. package/dist/solid/components/DOMTexture.d.ts.map +1 -1
  1414. package/dist/solid/components/DOMTexture.js +9 -9
  1415. package/dist/solid/components/DataMosh.d.ts +35 -0
  1416. package/dist/solid/components/DataMosh.d.ts.map +1 -0
  1417. package/dist/solid/components/DataMosh.js +228 -0
  1418. package/dist/solid/components/DiamondGradient.d.ts +2 -1
  1419. package/dist/solid/components/DiamondGradient.d.ts.map +1 -1
  1420. package/dist/solid/components/DiamondGradient.js +9 -9
  1421. package/dist/solid/components/DiffuseBlur.d.ts +2 -1
  1422. package/dist/solid/components/DiffuseBlur.d.ts.map +1 -1
  1423. package/dist/solid/components/DiffuseBlur.js +9 -9
  1424. package/dist/solid/components/Dither.d.ts +2 -1
  1425. package/dist/solid/components/Dither.d.ts.map +1 -1
  1426. package/dist/solid/components/Dither.js +9 -9
  1427. package/dist/solid/components/DotGrid.d.ts +4 -2
  1428. package/dist/solid/components/DotGrid.d.ts.map +1 -1
  1429. package/dist/solid/components/DotGrid.js +9 -9
  1430. package/dist/solid/components/DropShadow.d.ts +2 -1
  1431. package/dist/solid/components/DropShadow.d.ts.map +1 -1
  1432. package/dist/solid/components/DropShadow.js +9 -9
  1433. package/dist/solid/components/Duotone.d.ts +2 -1
  1434. package/dist/solid/components/Duotone.d.ts.map +1 -1
  1435. package/dist/solid/components/Duotone.js +9 -9
  1436. package/dist/solid/components/Ellipse.d.ts +2 -1
  1437. package/dist/solid/components/Ellipse.d.ts.map +1 -1
  1438. package/dist/solid/components/Ellipse.js +9 -9
  1439. package/dist/solid/components/Emboss.d.ts +2 -1
  1440. package/dist/solid/components/Emboss.d.ts.map +1 -1
  1441. package/dist/solid/components/Emboss.js +9 -9
  1442. package/dist/solid/components/Engraving.d.ts +36 -0
  1443. package/dist/solid/components/Engraving.d.ts.map +1 -0
  1444. package/dist/solid/components/Engraving.js +228 -0
  1445. package/dist/solid/components/ErosionNoise.d.ts +32 -0
  1446. package/dist/solid/components/ErosionNoise.d.ts.map +1 -0
  1447. package/dist/solid/components/ErosionNoise.js +228 -0
  1448. package/dist/solid/components/Exposure.d.ts +2 -1
  1449. package/dist/solid/components/Exposure.d.ts.map +1 -1
  1450. package/dist/solid/components/Exposure.js +9 -9
  1451. package/dist/solid/components/FallingLines.d.ts +2 -1
  1452. package/dist/solid/components/FallingLines.d.ts.map +1 -1
  1453. package/dist/solid/components/FallingLines.js +9 -9
  1454. package/dist/solid/components/FilmGrain.d.ts +2 -1
  1455. package/dist/solid/components/FilmGrain.d.ts.map +1 -1
  1456. package/dist/solid/components/FilmGrain.js +9 -9
  1457. package/dist/solid/components/Flip.d.ts +29 -0
  1458. package/dist/solid/components/Flip.d.ts.map +1 -0
  1459. package/dist/solid/components/Flip.js +228 -0
  1460. package/dist/solid/components/FloatingParticles.d.ts +2 -1
  1461. package/dist/solid/components/FloatingParticles.d.ts.map +1 -1
  1462. package/dist/solid/components/FloatingParticles.js +9 -9
  1463. package/dist/solid/components/FlowField.d.ts +4 -2
  1464. package/dist/solid/components/FlowField.d.ts.map +1 -1
  1465. package/dist/solid/components/FlowField.js +9 -9
  1466. package/dist/solid/components/Flower.d.ts +2 -1
  1467. package/dist/solid/components/Flower.d.ts.map +1 -1
  1468. package/dist/solid/components/Flower.js +9 -9
  1469. package/dist/solid/components/FlowingGradient.d.ts +2 -1
  1470. package/dist/solid/components/FlowingGradient.d.ts.map +1 -1
  1471. package/dist/solid/components/FlowingGradient.js +9 -9
  1472. package/dist/solid/components/FlutedGlass.d.ts +2 -1
  1473. package/dist/solid/components/FlutedGlass.d.ts.map +1 -1
  1474. package/dist/solid/components/FlutedGlass.js +9 -9
  1475. package/dist/solid/components/Fog.d.ts +2 -1
  1476. package/dist/solid/components/Fog.d.ts.map +1 -1
  1477. package/dist/solid/components/Fog.js +9 -9
  1478. package/dist/solid/components/Form3D.d.ts +2 -1
  1479. package/dist/solid/components/Form3D.d.ts.map +1 -1
  1480. package/dist/solid/components/Form3D.js +9 -9
  1481. package/dist/solid/components/FractalNoise.d.ts +2 -1
  1482. package/dist/solid/components/FractalNoise.d.ts.map +1 -1
  1483. package/dist/solid/components/FractalNoise.js +9 -9
  1484. package/dist/solid/components/Frost.d.ts +31 -0
  1485. package/dist/solid/components/Frost.d.ts.map +1 -0
  1486. package/dist/solid/components/Frost.js +228 -0
  1487. package/dist/solid/components/GaborNoise.d.ts +32 -0
  1488. package/dist/solid/components/GaborNoise.d.ts.map +1 -0
  1489. package/dist/solid/components/GaborNoise.js +228 -0
  1490. package/dist/solid/components/Glass.d.ts +2 -1
  1491. package/dist/solid/components/Glass.d.ts.map +1 -1
  1492. package/dist/solid/components/Glass.js +9 -9
  1493. package/dist/solid/components/GlassTiles.d.ts +2 -1
  1494. package/dist/solid/components/GlassTiles.d.ts.map +1 -1
  1495. package/dist/solid/components/GlassTiles.js +9 -9
  1496. package/dist/solid/components/Glitch.d.ts +2 -1
  1497. package/dist/solid/components/Glitch.d.ts.map +1 -1
  1498. package/dist/solid/components/Glitch.js +9 -9
  1499. package/dist/solid/components/Glow.d.ts +2 -1
  1500. package/dist/solid/components/Glow.d.ts.map +1 -1
  1501. package/dist/solid/components/Glow.js +9 -9
  1502. package/dist/solid/components/Godrays.d.ts +2 -1
  1503. package/dist/solid/components/Godrays.d.ts.map +1 -1
  1504. package/dist/solid/components/Godrays.js +9 -9
  1505. package/dist/solid/components/Goo.d.ts +31 -0
  1506. package/dist/solid/components/Goo.d.ts.map +1 -0
  1507. package/dist/solid/components/Goo.js +228 -0
  1508. package/dist/solid/components/GradientMap.d.ts +35 -0
  1509. package/dist/solid/components/GradientMap.d.ts.map +1 -0
  1510. package/dist/solid/components/GradientMap.js +228 -0
  1511. package/dist/solid/components/Grayscale.d.ts +2 -1
  1512. package/dist/solid/components/Grayscale.d.ts.map +1 -1
  1513. package/dist/solid/components/Grayscale.js +9 -9
  1514. package/dist/solid/components/Grid.d.ts +5 -2
  1515. package/dist/solid/components/Grid.d.ts.map +1 -1
  1516. package/dist/solid/components/Grid.js +9 -9
  1517. package/dist/solid/components/GridDistortion.d.ts +2 -1
  1518. package/dist/solid/components/GridDistortion.d.ts.map +1 -1
  1519. package/dist/solid/components/GridDistortion.js +9 -9
  1520. package/dist/solid/components/Group.d.ts +2 -1
  1521. package/dist/solid/components/Group.d.ts.map +1 -1
  1522. package/dist/solid/components/Group.js +9 -9
  1523. package/dist/solid/components/Halftone.d.ts +2 -1
  1524. package/dist/solid/components/Halftone.d.ts.map +1 -1
  1525. package/dist/solid/components/Halftone.js +9 -9
  1526. package/dist/solid/components/Heart.d.ts +31 -0
  1527. package/dist/solid/components/Heart.d.ts.map +1 -0
  1528. package/dist/solid/components/Heart.js +228 -0
  1529. package/dist/solid/components/Heatmap.d.ts +34 -0
  1530. package/dist/solid/components/Heatmap.d.ts.map +1 -0
  1531. package/dist/solid/components/Heatmap.js +228 -0
  1532. package/dist/solid/components/HexGrid.d.ts +6 -2
  1533. package/dist/solid/components/HexGrid.d.ts.map +1 -1
  1534. package/dist/solid/components/HexGrid.js +9 -9
  1535. package/dist/solid/components/Hologram.d.ts +31 -0
  1536. package/dist/solid/components/Hologram.d.ts.map +1 -0
  1537. package/dist/solid/components/Hologram.js +228 -0
  1538. package/dist/solid/components/Holographic.d.ts +31 -0
  1539. package/dist/solid/components/Holographic.d.ts.map +1 -0
  1540. package/dist/solid/components/Holographic.js +228 -0
  1541. package/dist/solid/components/HueShift.d.ts +2 -1
  1542. package/dist/solid/components/HueShift.d.ts.map +1 -1
  1543. package/dist/solid/components/HueShift.js +9 -9
  1544. package/dist/solid/components/ImageTexture.d.ts +2 -1
  1545. package/dist/solid/components/ImageTexture.d.ts.map +1 -1
  1546. package/dist/solid/components/ImageTexture.js +9 -9
  1547. package/dist/solid/components/Invert.d.ts +2 -1
  1548. package/dist/solid/components/Invert.d.ts.map +1 -1
  1549. package/dist/solid/components/Invert.js +9 -9
  1550. package/dist/solid/components/IsometricCubes.d.ts +35 -0
  1551. package/dist/solid/components/IsometricCubes.d.ts.map +1 -0
  1552. package/dist/solid/components/IsometricCubes.js +228 -0
  1553. package/dist/solid/components/Kaleidoscope.d.ts +2 -1
  1554. package/dist/solid/components/Kaleidoscope.d.ts.map +1 -1
  1555. package/dist/solid/components/Kaleidoscope.js +9 -9
  1556. package/dist/solid/components/KeyFrames.d.ts +35 -0
  1557. package/dist/solid/components/KeyFrames.d.ts.map +1 -0
  1558. package/dist/solid/components/KeyFrames.js +228 -0
  1559. package/dist/solid/components/LensFlare.d.ts +2 -1
  1560. package/dist/solid/components/LensFlare.d.ts.map +1 -1
  1561. package/dist/solid/components/LensFlare.js +9 -9
  1562. package/dist/solid/components/LightEdge.d.ts +40 -0
  1563. package/dist/solid/components/LightEdge.d.ts.map +1 -0
  1564. package/dist/solid/components/LightEdge.js +228 -0
  1565. package/dist/solid/components/LightLeak.d.ts +36 -0
  1566. package/dist/solid/components/LightLeak.d.ts.map +1 -0
  1567. package/dist/solid/components/LightLeak.js +228 -0
  1568. package/dist/solid/components/LinearBlur.d.ts +2 -1
  1569. package/dist/solid/components/LinearBlur.d.ts.map +1 -1
  1570. package/dist/solid/components/LinearBlur.js +9 -9
  1571. package/dist/solid/components/LinearGradient.d.ts +2 -1
  1572. package/dist/solid/components/LinearGradient.d.ts.map +1 -1
  1573. package/dist/solid/components/LinearGradient.js +9 -9
  1574. package/dist/solid/components/LiquidMetal.d.ts +31 -0
  1575. package/dist/solid/components/LiquidMetal.d.ts.map +1 -0
  1576. package/dist/solid/components/LiquidMetal.js +228 -0
  1577. package/dist/solid/components/Liquify.d.ts +2 -1
  1578. package/dist/solid/components/Liquify.d.ts.map +1 -1
  1579. package/dist/solid/components/Liquify.js +9 -9
  1580. package/dist/solid/components/Marble.d.ts +2 -1
  1581. package/dist/solid/components/Marble.d.ts.map +1 -1
  1582. package/dist/solid/components/Marble.js +9 -9
  1583. package/dist/solid/components/Mirror.d.ts +2 -1
  1584. package/dist/solid/components/Mirror.d.ts.map +1 -1
  1585. package/dist/solid/components/Mirror.js +9 -9
  1586. package/dist/solid/components/MultiPointGradient.d.ts +2 -1
  1587. package/dist/solid/components/MultiPointGradient.d.ts.map +1 -1
  1588. package/dist/solid/components/MultiPointGradient.js +9 -9
  1589. package/dist/solid/components/Neon.d.ts +2 -1
  1590. package/dist/solid/components/Neon.d.ts.map +1 -1
  1591. package/dist/solid/components/Neon.js +9 -9
  1592. package/dist/solid/components/ObjectTracker.d.ts +29 -0
  1593. package/dist/solid/components/ObjectTracker.d.ts.map +1 -0
  1594. package/dist/solid/components/ObjectTracker.js +228 -0
  1595. package/dist/solid/components/PagePeel.d.ts +36 -0
  1596. package/dist/solid/components/PagePeel.d.ts.map +1 -0
  1597. package/dist/solid/components/PagePeel.js +228 -0
  1598. package/dist/solid/components/Paper.d.ts +2 -1
  1599. package/dist/solid/components/Paper.d.ts.map +1 -1
  1600. package/dist/solid/components/Paper.js +9 -9
  1601. package/dist/solid/components/Parallelogram.d.ts +31 -0
  1602. package/dist/solid/components/Parallelogram.d.ts.map +1 -0
  1603. package/dist/solid/components/Parallelogram.js +228 -0
  1604. package/dist/solid/components/Particles.d.ts +31 -0
  1605. package/dist/solid/components/Particles.d.ts.map +1 -0
  1606. package/dist/solid/components/Particles.js +228 -0
  1607. package/dist/solid/components/PerlinNoise.d.ts +32 -0
  1608. package/dist/solid/components/PerlinNoise.d.ts.map +1 -0
  1609. package/dist/solid/components/PerlinNoise.js +228 -0
  1610. package/dist/solid/components/Perspective.d.ts +2 -1
  1611. package/dist/solid/components/Perspective.d.ts.map +1 -1
  1612. package/dist/solid/components/Perspective.js +9 -9
  1613. package/dist/solid/components/PixelSort.d.ts +34 -0
  1614. package/dist/solid/components/PixelSort.d.ts.map +1 -0
  1615. package/dist/solid/components/PixelSort.js +228 -0
  1616. package/dist/solid/components/PixelThrow.d.ts +35 -0
  1617. package/dist/solid/components/PixelThrow.d.ts.map +1 -0
  1618. package/dist/solid/components/PixelThrow.js +228 -0
  1619. package/dist/solid/components/Pixelate.d.ts +2 -1
  1620. package/dist/solid/components/Pixelate.d.ts.map +1 -1
  1621. package/dist/solid/components/Pixelate.js +9 -9
  1622. package/dist/solid/components/Plasma.d.ts +2 -1
  1623. package/dist/solid/components/Plasma.d.ts.map +1 -1
  1624. package/dist/solid/components/Plasma.js +9 -9
  1625. package/dist/solid/components/Plastic.d.ts +31 -0
  1626. package/dist/solid/components/Plastic.d.ts.map +1 -0
  1627. package/dist/solid/components/Plastic.js +228 -0
  1628. package/dist/solid/components/PolarCoordinates.d.ts +2 -1
  1629. package/dist/solid/components/PolarCoordinates.d.ts.map +1 -1
  1630. package/dist/solid/components/PolarCoordinates.js +9 -9
  1631. package/dist/solid/components/Polygon.d.ts +2 -1
  1632. package/dist/solid/components/Polygon.d.ts.map +1 -1
  1633. package/dist/solid/components/Polygon.js +9 -9
  1634. package/dist/solid/components/Posterize.d.ts +2 -1
  1635. package/dist/solid/components/Posterize.d.ts.map +1 -1
  1636. package/dist/solid/components/Posterize.js +9 -9
  1637. package/dist/solid/components/Prism.d.ts +39 -0
  1638. package/dist/solid/components/Prism.d.ts.map +1 -0
  1639. package/dist/solid/components/Prism.js +228 -0
  1640. package/dist/solid/components/ProgressiveBlur.d.ts +2 -1
  1641. package/dist/solid/components/ProgressiveBlur.d.ts.map +1 -1
  1642. package/dist/solid/components/ProgressiveBlur.js +9 -9
  1643. package/dist/solid/components/RadialGradient.d.ts +2 -1
  1644. package/dist/solid/components/RadialGradient.d.ts.map +1 -1
  1645. package/dist/solid/components/RadialGradient.js +9 -9
  1646. package/dist/solid/components/RectangularCoordinates.d.ts +2 -1
  1647. package/dist/solid/components/RectangularCoordinates.d.ts.map +1 -1
  1648. package/dist/solid/components/RectangularCoordinates.js +9 -9
  1649. package/dist/solid/components/ReflectivePlane.d.ts +2 -1
  1650. package/dist/solid/components/ReflectivePlane.d.ts.map +1 -1
  1651. package/dist/solid/components/ReflectivePlane.js +9 -9
  1652. package/dist/solid/components/Repeater.d.ts +55 -0
  1653. package/dist/solid/components/Repeater.d.ts.map +1 -0
  1654. package/dist/solid/components/Repeater.js +228 -0
  1655. package/dist/solid/components/Ring.d.ts +2 -1
  1656. package/dist/solid/components/Ring.d.ts.map +1 -1
  1657. package/dist/solid/components/Ring.js +9 -9
  1658. package/dist/solid/components/Ripples.d.ts +2 -1
  1659. package/dist/solid/components/Ripples.d.ts.map +1 -1
  1660. package/dist/solid/components/Ripples.js +9 -9
  1661. package/dist/solid/components/RoundedRect.d.ts +2 -1
  1662. package/dist/solid/components/RoundedRect.d.ts.map +1 -1
  1663. package/dist/solid/components/RoundedRect.js +9 -9
  1664. package/dist/solid/components/Saturation.d.ts +2 -1
  1665. package/dist/solid/components/Saturation.d.ts.map +1 -1
  1666. package/dist/solid/components/Saturation.js +9 -9
  1667. package/dist/solid/components/Scratches.d.ts +29 -0
  1668. package/dist/solid/components/Scratches.d.ts.map +1 -0
  1669. package/dist/solid/components/Scratches.js +228 -0
  1670. package/dist/solid/components/Sharpness.d.ts +2 -1
  1671. package/dist/solid/components/Sharpness.d.ts.map +1 -1
  1672. package/dist/solid/components/Sharpness.js +9 -9
  1673. package/dist/solid/components/Shatter.d.ts +2 -1
  1674. package/dist/solid/components/Shatter.d.ts.map +1 -1
  1675. package/dist/solid/components/Shatter.js +9 -9
  1676. package/dist/solid/components/SimplexNoise.d.ts +2 -1
  1677. package/dist/solid/components/SimplexNoise.d.ts.map +1 -1
  1678. package/dist/solid/components/SimplexNoise.js +9 -9
  1679. package/dist/solid/components/SineWave.d.ts +2 -1
  1680. package/dist/solid/components/SineWave.d.ts.map +1 -1
  1681. package/dist/solid/components/SineWave.js +9 -9
  1682. package/dist/solid/components/Smoke.d.ts +2 -1
  1683. package/dist/solid/components/Smoke.d.ts.map +1 -1
  1684. package/dist/solid/components/Smoke.js +9 -9
  1685. package/dist/solid/components/SmokeFill.d.ts +2 -1
  1686. package/dist/solid/components/SmokeFill.d.ts.map +1 -1
  1687. package/dist/solid/components/SmokeFill.js +9 -9
  1688. package/dist/solid/components/SmokeFlow.d.ts +29 -0
  1689. package/dist/solid/components/SmokeFlow.d.ts.map +1 -0
  1690. package/dist/solid/components/SmokeFlow.js +228 -0
  1691. package/dist/solid/components/Solarize.d.ts +2 -1
  1692. package/dist/solid/components/Solarize.d.ts.map +1 -1
  1693. package/dist/solid/components/Solarize.js +9 -9
  1694. package/dist/solid/components/SolidColor.d.ts +2 -1
  1695. package/dist/solid/components/SolidColor.d.ts.map +1 -1
  1696. package/dist/solid/components/SolidColor.js +9 -9
  1697. package/dist/solid/components/Spherize.d.ts +2 -1
  1698. package/dist/solid/components/Spherize.d.ts.map +1 -1
  1699. package/dist/solid/components/Spherize.js +9 -9
  1700. package/dist/solid/components/Spiral.d.ts +2 -1
  1701. package/dist/solid/components/Spiral.d.ts.map +1 -1
  1702. package/dist/solid/components/Spiral.js +9 -9
  1703. package/dist/solid/components/Star.d.ts +2 -1
  1704. package/dist/solid/components/Star.d.ts.map +1 -1
  1705. package/dist/solid/components/Star.js +9 -9
  1706. package/dist/solid/components/Stone.d.ts +29 -0
  1707. package/dist/solid/components/Stone.d.ts.map +1 -0
  1708. package/dist/solid/components/Stone.js +228 -0
  1709. package/dist/solid/components/Strands.d.ts +7 -2
  1710. package/dist/solid/components/Strands.d.ts.map +1 -1
  1711. package/dist/solid/components/Strands.js +9 -9
  1712. package/dist/solid/components/Stretch.d.ts +2 -1
  1713. package/dist/solid/components/Stretch.d.ts.map +1 -1
  1714. package/dist/solid/components/Stretch.js +9 -9
  1715. package/dist/solid/components/Stripes.d.ts +2 -1
  1716. package/dist/solid/components/Stripes.d.ts.map +1 -1
  1717. package/dist/solid/components/Stripes.js +9 -9
  1718. package/dist/solid/components/StudioBackground.d.ts +2 -1
  1719. package/dist/solid/components/StudioBackground.d.ts.map +1 -1
  1720. package/dist/solid/components/StudioBackground.js +9 -9
  1721. package/dist/solid/components/SunBurst.d.ts +2 -1
  1722. package/dist/solid/components/SunBurst.d.ts.map +1 -1
  1723. package/dist/solid/components/SunBurst.js +9 -9
  1724. package/dist/solid/components/Surface3D.d.ts +29 -0
  1725. package/dist/solid/components/Surface3D.d.ts.map +1 -0
  1726. package/dist/solid/components/Surface3D.js +228 -0
  1727. package/dist/solid/components/Swirl.d.ts +2 -1
  1728. package/dist/solid/components/Swirl.d.ts.map +1 -1
  1729. package/dist/solid/components/Swirl.js +9 -9
  1730. package/dist/solid/components/Teardrop.d.ts +31 -0
  1731. package/dist/solid/components/Teardrop.d.ts.map +1 -0
  1732. package/dist/solid/components/Teardrop.js +228 -0
  1733. package/dist/solid/components/Text.d.ts +31 -0
  1734. package/dist/solid/components/Text.d.ts.map +1 -0
  1735. package/dist/solid/components/Text.js +228 -0
  1736. package/dist/solid/components/ThinFilm.d.ts +2 -1
  1737. package/dist/solid/components/ThinFilm.d.ts.map +1 -1
  1738. package/dist/solid/components/ThinFilm.js +9 -9
  1739. package/dist/solid/components/TiltShift.d.ts +2 -1
  1740. package/dist/solid/components/TiltShift.d.ts.map +1 -1
  1741. package/dist/solid/components/TiltShift.js +9 -9
  1742. package/dist/solid/components/Tint.d.ts +2 -1
  1743. package/dist/solid/components/Tint.d.ts.map +1 -1
  1744. package/dist/solid/components/Tint.js +9 -9
  1745. package/dist/solid/components/Trapezoid.d.ts +2 -1
  1746. package/dist/solid/components/Trapezoid.d.ts.map +1 -1
  1747. package/dist/solid/components/Trapezoid.js +9 -9
  1748. package/dist/solid/components/TriangularGrid.d.ts +35 -0
  1749. package/dist/solid/components/TriangularGrid.d.ts.map +1 -0
  1750. package/dist/solid/components/TriangularGrid.js +228 -0
  1751. package/dist/solid/components/Tritone.d.ts +2 -1
  1752. package/dist/solid/components/Tritone.d.ts.map +1 -1
  1753. package/dist/solid/components/Tritone.js +9 -9
  1754. package/dist/solid/components/Truchet.d.ts +5 -2
  1755. package/dist/solid/components/Truchet.d.ts.map +1 -1
  1756. package/dist/solid/components/Truchet.js +9 -9
  1757. package/dist/solid/components/Twirl.d.ts +2 -1
  1758. package/dist/solid/components/Twirl.d.ts.map +1 -1
  1759. package/dist/solid/components/Twirl.js +9 -9
  1760. package/dist/solid/components/VHS.d.ts +2 -1
  1761. package/dist/solid/components/VHS.d.ts.map +1 -1
  1762. package/dist/solid/components/VHS.js +9 -9
  1763. package/dist/solid/components/Vesica.d.ts +2 -1
  1764. package/dist/solid/components/Vesica.d.ts.map +1 -1
  1765. package/dist/solid/components/Vesica.js +9 -9
  1766. package/dist/solid/components/Vibrance.d.ts +2 -1
  1767. package/dist/solid/components/Vibrance.d.ts.map +1 -1
  1768. package/dist/solid/components/Vibrance.js +9 -9
  1769. package/dist/solid/components/VideoTexture.d.ts +2 -1
  1770. package/dist/solid/components/VideoTexture.d.ts.map +1 -1
  1771. package/dist/solid/components/VideoTexture.js +9 -9
  1772. package/dist/solid/components/Vignette.d.ts +2 -1
  1773. package/dist/solid/components/Vignette.d.ts.map +1 -1
  1774. package/dist/solid/components/Vignette.js +9 -9
  1775. package/dist/solid/components/Voronoi.d.ts +2 -1
  1776. package/dist/solid/components/Voronoi.d.ts.map +1 -1
  1777. package/dist/solid/components/Voronoi.js +9 -9
  1778. package/dist/solid/components/Water.d.ts +31 -0
  1779. package/dist/solid/components/Water.d.ts.map +1 -0
  1780. package/dist/solid/components/Water.js +228 -0
  1781. package/dist/solid/components/Watercolor.d.ts +33 -0
  1782. package/dist/solid/components/Watercolor.d.ts.map +1 -0
  1783. package/dist/solid/components/Watercolor.js +228 -0
  1784. package/dist/solid/components/WaveDistortion.d.ts +2 -1
  1785. package/dist/solid/components/WaveDistortion.d.ts.map +1 -1
  1786. package/dist/solid/components/WaveDistortion.js +9 -9
  1787. package/dist/solid/components/WaveletNoise.d.ts +32 -0
  1788. package/dist/solid/components/WaveletNoise.d.ts.map +1 -0
  1789. package/dist/solid/components/WaveletNoise.js +228 -0
  1790. package/dist/solid/components/Weave.d.ts +2 -1
  1791. package/dist/solid/components/Weave.d.ts.map +1 -1
  1792. package/dist/solid/components/Weave.js +9 -9
  1793. package/dist/solid/components/WebcamTexture.d.ts +2 -1
  1794. package/dist/solid/components/WebcamTexture.d.ts.map +1 -1
  1795. package/dist/solid/components/WebcamTexture.js +9 -9
  1796. package/dist/solid/components/Wool.d.ts +29 -0
  1797. package/dist/solid/components/Wool.d.ts.map +1 -0
  1798. package/dist/solid/components/Wool.js +228 -0
  1799. package/dist/solid/components/WorleyNoise.d.ts +2 -1
  1800. package/dist/solid/components/WorleyNoise.d.ts.map +1 -1
  1801. package/dist/solid/components/WorleyNoise.js +9 -9
  1802. package/dist/solid/components/ZoomBlur.d.ts +2 -1
  1803. package/dist/solid/components/ZoomBlur.d.ts.map +1 -1
  1804. package/dist/solid/components/ZoomBlur.js +9 -9
  1805. package/dist/solid/engine/Preview.d.ts.map +1 -1
  1806. package/dist/solid/engine/Preview.js +328 -234
  1807. package/dist/solid/engine/Shader.d.ts.map +1 -1
  1808. package/dist/solid/engine/Shader.js +6 -10
  1809. package/dist/solid/engine/component.template.d.ts +2 -1
  1810. package/dist/solid/engine/component.template.d.ts.map +1 -1
  1811. package/dist/solid/index.d.ts +47 -0
  1812. package/dist/solid/index.d.ts.map +1 -1
  1813. package/dist/solid/index.js +334 -240
  1814. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  1815. package/dist/solid/utils/generatePresetCode.js +1066 -18
  1816. package/dist/solid/utils/generatePresetCode.template.d.ts.map +1 -1
  1817. package/dist/svelte/components/AngularBlur.svelte.d.ts +2 -1
  1818. package/dist/svelte/components/Arc.svelte.d.ts +21 -0
  1819. package/dist/svelte/components/Ascii.svelte.d.ts +2 -1
  1820. package/dist/svelte/components/Aurora.svelte.d.ts +2 -1
  1821. package/dist/svelte/components/BarShift.svelte.d.ts +2 -1
  1822. package/dist/svelte/components/Beam.svelte.d.ts +2 -1
  1823. package/dist/svelte/components/Blob.svelte.d.ts +2 -1
  1824. package/dist/svelte/components/BlockNoise.svelte.d.ts +22 -0
  1825. package/dist/svelte/components/BlueNoise.svelte.d.ts +22 -0
  1826. package/dist/svelte/components/Blur.svelte.d.ts +2 -1
  1827. package/dist/svelte/components/BrickPattern.svelte.d.ts +5 -2
  1828. package/dist/svelte/components/BrightnessContrast.svelte.d.ts +2 -1
  1829. package/dist/svelte/components/BrushedMetal.svelte.d.ts +21 -0
  1830. package/dist/svelte/components/Bulge.svelte.d.ts +2 -1
  1831. package/dist/svelte/components/CRTScreen.svelte.d.ts +2 -1
  1832. package/dist/svelte/components/CarbonFiber.svelte.d.ts +21 -0
  1833. package/dist/svelte/components/Chalkboard.svelte.d.ts +25 -0
  1834. package/dist/svelte/components/ChannelBlur.svelte.d.ts +2 -1
  1835. package/dist/svelte/components/Checkerboard.svelte.d.ts +2 -1
  1836. package/dist/svelte/components/Chevron.svelte.d.ts +2 -1
  1837. package/dist/svelte/components/ChromaFlow.svelte.d.ts +2 -1
  1838. package/dist/svelte/components/ChromaticAberration.svelte.d.ts +2 -1
  1839. package/dist/svelte/components/Circle.svelte.d.ts +2 -1
  1840. package/dist/svelte/components/ColorWheel.svelte.d.ts +2 -1
  1841. package/dist/svelte/components/CompressionArtifacts.svelte.d.ts +21 -0
  1842. package/dist/svelte/components/ConcentricSpin.svelte.d.ts +2 -1
  1843. package/dist/svelte/components/ConicGradient.svelte.d.ts +2 -1
  1844. package/dist/svelte/components/ContourLines.svelte.d.ts +2 -1
  1845. package/dist/svelte/components/CornerPin.svelte.d.ts +25 -0
  1846. package/dist/svelte/components/Crescent.svelte.d.ts +2 -1
  1847. package/dist/svelte/components/Cross.svelte.d.ts +2 -1
  1848. package/dist/svelte/components/Crystal.svelte.d.ts +2 -1
  1849. package/dist/svelte/components/CurlNoise.svelte.d.ts +22 -0
  1850. package/dist/svelte/components/CursorRipples.svelte.d.ts +2 -1
  1851. package/dist/svelte/components/CursorTrail.svelte.d.ts +2 -1
  1852. package/dist/svelte/components/DOMTexture.svelte.d.ts +2 -1
  1853. package/dist/svelte/components/DataMosh.svelte.d.ts +25 -0
  1854. package/dist/svelte/components/DiamondGradient.svelte.d.ts +2 -1
  1855. package/dist/svelte/components/DiffuseBlur.svelte.d.ts +2 -1
  1856. package/dist/svelte/components/Dither.svelte.d.ts +2 -1
  1857. package/dist/svelte/components/DotGrid.svelte.d.ts +3 -1
  1858. package/dist/svelte/components/DropShadow.svelte.d.ts +2 -1
  1859. package/dist/svelte/components/Duotone.svelte.d.ts +2 -1
  1860. package/dist/svelte/components/Ellipse.svelte.d.ts +2 -1
  1861. package/dist/svelte/components/Emboss.svelte.d.ts +2 -1
  1862. package/dist/svelte/components/Engraving.svelte.d.ts +26 -0
  1863. package/dist/svelte/components/ErosionNoise.svelte.d.ts +22 -0
  1864. package/dist/svelte/components/Exposure.svelte.d.ts +2 -1
  1865. package/dist/svelte/components/FallingLines.svelte.d.ts +2 -1
  1866. package/dist/svelte/components/FilmGrain.svelte.d.ts +2 -1
  1867. package/dist/svelte/components/Flip.svelte.d.ts +20 -0
  1868. package/dist/svelte/components/FloatingParticles.svelte.d.ts +2 -1
  1869. package/dist/svelte/components/FlowField.svelte.d.ts +3 -1
  1870. package/dist/svelte/components/Flower.svelte.d.ts +2 -1
  1871. package/dist/svelte/components/FlowingGradient.svelte.d.ts +2 -1
  1872. package/dist/svelte/components/FlutedGlass.svelte.d.ts +2 -1
  1873. package/dist/svelte/components/Fog.svelte.d.ts +2 -1
  1874. package/dist/svelte/components/Form3D.svelte.d.ts +2 -1
  1875. package/dist/svelte/components/FractalNoise.svelte.d.ts +2 -1
  1876. package/dist/svelte/components/Frost.svelte.d.ts +21 -0
  1877. package/dist/svelte/components/GaborNoise.svelte.d.ts +22 -0
  1878. package/dist/svelte/components/Glass.svelte.d.ts +2 -1
  1879. package/dist/svelte/components/GlassTiles.svelte.d.ts +2 -1
  1880. package/dist/svelte/components/Glitch.svelte.d.ts +2 -1
  1881. package/dist/svelte/components/Glow.svelte.d.ts +2 -1
  1882. package/dist/svelte/components/Godrays.svelte.d.ts +2 -1
  1883. package/dist/svelte/components/Goo.svelte.d.ts +21 -0
  1884. package/dist/svelte/components/GradientMap.svelte.d.ts +25 -0
  1885. package/dist/svelte/components/Grayscale.svelte.d.ts +2 -1
  1886. package/dist/svelte/components/Grid.svelte.d.ts +4 -1
  1887. package/dist/svelte/components/GridDistortion.svelte.d.ts +2 -1
  1888. package/dist/svelte/components/Group.svelte.d.ts +2 -1
  1889. package/dist/svelte/components/Halftone.svelte.d.ts +2 -1
  1890. package/dist/svelte/components/Heart.svelte.d.ts +21 -0
  1891. package/dist/svelte/components/Heatmap.svelte.d.ts +24 -0
  1892. package/dist/svelte/components/HexGrid.svelte.d.ts +5 -1
  1893. package/dist/svelte/components/Hologram.svelte.d.ts +21 -0
  1894. package/dist/svelte/components/Holographic.svelte.d.ts +21 -0
  1895. package/dist/svelte/components/HueShift.svelte.d.ts +2 -1
  1896. package/dist/svelte/components/ImageTexture.svelte.d.ts +2 -1
  1897. package/dist/svelte/components/Invert.svelte.d.ts +2 -1
  1898. package/dist/svelte/components/IsometricCubes.svelte.d.ts +25 -0
  1899. package/dist/svelte/components/Kaleidoscope.svelte.d.ts +2 -1
  1900. package/dist/svelte/components/KeyFrames.svelte.d.ts +25 -0
  1901. package/dist/svelte/components/LensFlare.svelte.d.ts +2 -1
  1902. package/dist/svelte/components/LightEdge.svelte.d.ts +30 -0
  1903. package/dist/svelte/components/LightLeak.svelte.d.ts +26 -0
  1904. package/dist/svelte/components/LinearBlur.svelte.d.ts +2 -1
  1905. package/dist/svelte/components/LinearGradient.svelte.d.ts +2 -1
  1906. package/dist/svelte/components/LiquidMetal.svelte.d.ts +21 -0
  1907. package/dist/svelte/components/Liquify.svelte.d.ts +2 -1
  1908. package/dist/svelte/components/Marble.svelte.d.ts +2 -1
  1909. package/dist/svelte/components/Mirror.svelte.d.ts +2 -1
  1910. package/dist/svelte/components/MultiPointGradient.svelte.d.ts +2 -1
  1911. package/dist/svelte/components/Neon.svelte.d.ts +2 -1
  1912. package/dist/svelte/components/ObjectTracker.svelte.d.ts +20 -0
  1913. package/dist/svelte/components/PagePeel.svelte.d.ts +26 -0
  1914. package/dist/svelte/components/Paper.svelte.d.ts +2 -1
  1915. package/dist/svelte/components/Parallelogram.svelte.d.ts +21 -0
  1916. package/dist/svelte/components/Particles.svelte.d.ts +21 -0
  1917. package/dist/svelte/components/PerlinNoise.svelte.d.ts +22 -0
  1918. package/dist/svelte/components/Perspective.svelte.d.ts +2 -1
  1919. package/dist/svelte/components/PixelSort.svelte.d.ts +24 -0
  1920. package/dist/svelte/components/PixelThrow.svelte.d.ts +25 -0
  1921. package/dist/svelte/components/Pixelate.svelte.d.ts +2 -1
  1922. package/dist/svelte/components/Plasma.svelte.d.ts +2 -1
  1923. package/dist/svelte/components/Plastic.svelte.d.ts +21 -0
  1924. package/dist/svelte/components/PolarCoordinates.svelte.d.ts +2 -1
  1925. package/dist/svelte/components/Polygon.svelte.d.ts +2 -1
  1926. package/dist/svelte/components/Posterize.svelte.d.ts +2 -1
  1927. package/dist/svelte/components/Prism.svelte.d.ts +29 -0
  1928. package/dist/svelte/components/ProgressiveBlur.svelte.d.ts +2 -1
  1929. package/dist/svelte/components/RadialGradient.svelte.d.ts +2 -1
  1930. package/dist/svelte/components/RectangularCoordinates.svelte.d.ts +2 -1
  1931. package/dist/svelte/components/ReflectivePlane.svelte.d.ts +2 -1
  1932. package/dist/svelte/components/Repeater.svelte.d.ts +45 -0
  1933. package/dist/svelte/components/Ring.svelte.d.ts +2 -1
  1934. package/dist/svelte/components/Ripples.svelte.d.ts +2 -1
  1935. package/dist/svelte/components/RoundedRect.svelte.d.ts +2 -1
  1936. package/dist/svelte/components/Saturation.svelte.d.ts +2 -1
  1937. package/dist/svelte/components/Scratches.svelte.d.ts +20 -0
  1938. package/dist/svelte/components/Sharpness.svelte.d.ts +2 -1
  1939. package/dist/svelte/components/Shatter.svelte.d.ts +2 -1
  1940. package/dist/svelte/components/SimplexNoise.svelte.d.ts +2 -1
  1941. package/dist/svelte/components/SineWave.svelte.d.ts +2 -1
  1942. package/dist/svelte/components/Smoke.svelte.d.ts +2 -1
  1943. package/dist/svelte/components/SmokeFill.svelte.d.ts +2 -1
  1944. package/dist/svelte/components/SmokeFlow.svelte.d.ts +20 -0
  1945. package/dist/svelte/components/Solarize.svelte.d.ts +2 -1
  1946. package/dist/svelte/components/SolidColor.svelte.d.ts +2 -1
  1947. package/dist/svelte/components/Spherize.svelte.d.ts +2 -1
  1948. package/dist/svelte/components/Spiral.svelte.d.ts +2 -1
  1949. package/dist/svelte/components/Star.svelte.d.ts +2 -1
  1950. package/dist/svelte/components/Stone.svelte.d.ts +20 -0
  1951. package/dist/svelte/components/Strands.svelte.d.ts +6 -1
  1952. package/dist/svelte/components/Stretch.svelte.d.ts +2 -1
  1953. package/dist/svelte/components/Stripes.svelte.d.ts +2 -1
  1954. package/dist/svelte/components/StudioBackground.svelte.d.ts +2 -1
  1955. package/dist/svelte/components/SunBurst.svelte.d.ts +2 -1
  1956. package/dist/svelte/components/Surface3D.svelte.d.ts +20 -0
  1957. package/dist/svelte/components/Swirl.svelte.d.ts +2 -1
  1958. package/dist/svelte/components/Teardrop.svelte.d.ts +21 -0
  1959. package/dist/svelte/components/Text.svelte.d.ts +21 -0
  1960. package/dist/svelte/components/ThinFilm.svelte.d.ts +2 -1
  1961. package/dist/svelte/components/TiltShift.svelte.d.ts +2 -1
  1962. package/dist/svelte/components/Tint.svelte.d.ts +2 -1
  1963. package/dist/svelte/components/Trapezoid.svelte.d.ts +2 -1
  1964. package/dist/svelte/components/TriangularGrid.svelte.d.ts +25 -0
  1965. package/dist/svelte/components/Tritone.svelte.d.ts +2 -1
  1966. package/dist/svelte/components/Truchet.svelte.d.ts +4 -1
  1967. package/dist/svelte/components/Twirl.svelte.d.ts +2 -1
  1968. package/dist/svelte/components/VHS.svelte.d.ts +2 -1
  1969. package/dist/svelte/components/Vesica.svelte.d.ts +2 -1
  1970. package/dist/svelte/components/Vibrance.svelte.d.ts +2 -1
  1971. package/dist/svelte/components/VideoTexture.svelte.d.ts +2 -1
  1972. package/dist/svelte/components/Vignette.svelte.d.ts +2 -1
  1973. package/dist/svelte/components/Voronoi.svelte.d.ts +2 -1
  1974. package/dist/svelte/components/Water.svelte.d.ts +21 -0
  1975. package/dist/svelte/components/Watercolor.svelte.d.ts +23 -0
  1976. package/dist/svelte/components/WaveDistortion.svelte.d.ts +2 -1
  1977. package/dist/svelte/components/WaveletNoise.svelte.d.ts +22 -0
  1978. package/dist/svelte/components/Weave.svelte.d.ts +2 -1
  1979. package/dist/svelte/components/WebcamTexture.svelte.d.ts +2 -1
  1980. package/dist/svelte/components/Wool.svelte.d.ts +20 -0
  1981. package/dist/svelte/components/WorleyNoise.svelte.d.ts +2 -1
  1982. package/dist/svelte/components/ZoomBlur.svelte.d.ts +2 -1
  1983. package/dist/svelte/index.d.ts +47 -0
  1984. package/dist/svelte/index.js +11922 -2025
  1985. package/dist/svelte/source/components/AngularBlur.svelte +29 -15
  1986. package/dist/svelte/source/components/Arc.svelte +340 -0
  1987. package/dist/svelte/source/components/Ascii.svelte +29 -15
  1988. package/dist/svelte/source/components/Aurora.svelte +29 -15
  1989. package/dist/svelte/source/components/BarShift.svelte +29 -15
  1990. package/dist/svelte/source/components/Beam.svelte +29 -15
  1991. package/dist/svelte/source/components/Blob.svelte +29 -15
  1992. package/dist/svelte/source/components/BlockNoise.svelte +341 -0
  1993. package/dist/svelte/source/components/BlueNoise.svelte +341 -0
  1994. package/dist/svelte/source/components/Blur.svelte +29 -15
  1995. package/dist/svelte/source/components/BrickPattern.svelte +32 -16
  1996. package/dist/svelte/source/components/BrightnessContrast.svelte +29 -15
  1997. package/dist/svelte/source/components/BrushedMetal.svelte +340 -0
  1998. package/dist/svelte/source/components/Bulge.svelte +29 -15
  1999. package/dist/svelte/source/components/CRTScreen.svelte +29 -15
  2000. package/dist/svelte/source/components/CarbonFiber.svelte +340 -0
  2001. package/dist/svelte/source/components/Chalkboard.svelte +344 -0
  2002. package/dist/svelte/source/components/ChannelBlur.svelte +29 -15
  2003. package/dist/svelte/source/components/Checkerboard.svelte +29 -15
  2004. package/dist/svelte/source/components/Chevron.svelte +29 -15
  2005. package/dist/svelte/source/components/ChromaFlow.svelte +29 -15
  2006. package/dist/svelte/source/components/ChromaticAberration.svelte +29 -15
  2007. package/dist/svelte/source/components/Circle.svelte +29 -15
  2008. package/dist/svelte/source/components/ColorWheel.svelte +29 -15
  2009. package/dist/svelte/source/components/CompressionArtifacts.svelte +340 -0
  2010. package/dist/svelte/source/components/ConcentricSpin.svelte +29 -15
  2011. package/dist/svelte/source/components/ConicGradient.svelte +29 -15
  2012. package/dist/svelte/source/components/ContourLines.svelte +29 -15
  2013. package/dist/svelte/source/components/CornerPin.svelte +344 -0
  2014. package/dist/svelte/source/components/Crescent.svelte +29 -15
  2015. package/dist/svelte/source/components/Cross.svelte +29 -15
  2016. package/dist/svelte/source/components/Crystal.svelte +29 -15
  2017. package/dist/svelte/source/components/CurlNoise.svelte +341 -0
  2018. package/dist/svelte/source/components/CursorRipples.svelte +29 -15
  2019. package/dist/svelte/source/components/CursorTrail.svelte +29 -15
  2020. package/dist/svelte/source/components/DOMTexture.svelte +29 -15
  2021. package/dist/svelte/source/components/DataMosh.svelte +344 -0
  2022. package/dist/svelte/source/components/DiamondGradient.svelte +29 -15
  2023. package/dist/svelte/source/components/DiffuseBlur.svelte +29 -15
  2024. package/dist/svelte/source/components/Dither.svelte +29 -15
  2025. package/dist/svelte/source/components/DotGrid.svelte +30 -15
  2026. package/dist/svelte/source/components/DropShadow.svelte +29 -15
  2027. package/dist/svelte/source/components/Duotone.svelte +29 -15
  2028. package/dist/svelte/source/components/Ellipse.svelte +29 -15
  2029. package/dist/svelte/source/components/Emboss.svelte +29 -15
  2030. package/dist/svelte/source/components/Engraving.svelte +345 -0
  2031. package/dist/svelte/source/components/ErosionNoise.svelte +341 -0
  2032. package/dist/svelte/source/components/Exposure.svelte +29 -15
  2033. package/dist/svelte/source/components/FallingLines.svelte +29 -15
  2034. package/dist/svelte/source/components/FilmGrain.svelte +29 -15
  2035. package/dist/svelte/source/components/Flip.svelte +339 -0
  2036. package/dist/svelte/source/components/FloatingParticles.svelte +29 -15
  2037. package/dist/svelte/source/components/FlowField.svelte +30 -15
  2038. package/dist/svelte/source/components/Flower.svelte +29 -15
  2039. package/dist/svelte/source/components/FlowingGradient.svelte +29 -15
  2040. package/dist/svelte/source/components/FlutedGlass.svelte +29 -15
  2041. package/dist/svelte/source/components/Fog.svelte +29 -15
  2042. package/dist/svelte/source/components/Form3D.svelte +29 -15
  2043. package/dist/svelte/source/components/FractalNoise.svelte +29 -15
  2044. package/dist/svelte/source/components/Frost.svelte +340 -0
  2045. package/dist/svelte/source/components/GaborNoise.svelte +341 -0
  2046. package/dist/svelte/source/components/Glass.svelte +29 -15
  2047. package/dist/svelte/source/components/GlassTiles.svelte +29 -15
  2048. package/dist/svelte/source/components/Glitch.svelte +29 -15
  2049. package/dist/svelte/source/components/Glow.svelte +29 -15
  2050. package/dist/svelte/source/components/Godrays.svelte +29 -15
  2051. package/dist/svelte/source/components/Goo.svelte +340 -0
  2052. package/dist/svelte/source/components/GradientMap.svelte +344 -0
  2053. package/dist/svelte/source/components/Grayscale.svelte +29 -15
  2054. package/dist/svelte/source/components/Grid.svelte +31 -15
  2055. package/dist/svelte/source/components/GridDistortion.svelte +29 -15
  2056. package/dist/svelte/source/components/Group.svelte +29 -15
  2057. package/dist/svelte/source/components/Halftone.svelte +29 -15
  2058. package/dist/svelte/source/components/Heart.svelte +340 -0
  2059. package/dist/svelte/source/components/Heatmap.svelte +343 -0
  2060. package/dist/svelte/source/components/HexGrid.svelte +32 -15
  2061. package/dist/svelte/source/components/Hologram.svelte +340 -0
  2062. package/dist/svelte/source/components/Holographic.svelte +340 -0
  2063. package/dist/svelte/source/components/HueShift.svelte +29 -15
  2064. package/dist/svelte/source/components/ImageTexture.svelte +29 -15
  2065. package/dist/svelte/source/components/Invert.svelte +29 -15
  2066. package/dist/svelte/source/components/IsometricCubes.svelte +344 -0
  2067. package/dist/svelte/source/components/Kaleidoscope.svelte +29 -15
  2068. package/dist/svelte/source/components/KeyFrames.svelte +344 -0
  2069. package/dist/svelte/source/components/LensFlare.svelte +29 -15
  2070. package/dist/svelte/source/components/LightEdge.svelte +349 -0
  2071. package/dist/svelte/source/components/LightLeak.svelte +345 -0
  2072. package/dist/svelte/source/components/LinearBlur.svelte +29 -15
  2073. package/dist/svelte/source/components/LinearGradient.svelte +29 -15
  2074. package/dist/svelte/source/components/LiquidMetal.svelte +340 -0
  2075. package/dist/svelte/source/components/Liquify.svelte +29 -15
  2076. package/dist/svelte/source/components/Marble.svelte +29 -15
  2077. package/dist/svelte/source/components/Mirror.svelte +29 -15
  2078. package/dist/svelte/source/components/MultiPointGradient.svelte +29 -15
  2079. package/dist/svelte/source/components/Neon.svelte +29 -15
  2080. package/dist/svelte/source/components/ObjectTracker.svelte +339 -0
  2081. package/dist/svelte/source/components/PagePeel.svelte +345 -0
  2082. package/dist/svelte/source/components/Paper.svelte +29 -15
  2083. package/dist/svelte/source/components/Parallelogram.svelte +340 -0
  2084. package/dist/svelte/source/components/Particles.svelte +340 -0
  2085. package/dist/svelte/source/components/PerlinNoise.svelte +341 -0
  2086. package/dist/svelte/source/components/Perspective.svelte +29 -15
  2087. package/dist/svelte/source/components/PixelSort.svelte +343 -0
  2088. package/dist/svelte/source/components/PixelThrow.svelte +344 -0
  2089. package/dist/svelte/source/components/Pixelate.svelte +29 -15
  2090. package/dist/svelte/source/components/Plasma.svelte +29 -15
  2091. package/dist/svelte/source/components/Plastic.svelte +340 -0
  2092. package/dist/svelte/source/components/PolarCoordinates.svelte +29 -15
  2093. package/dist/svelte/source/components/Polygon.svelte +29 -15
  2094. package/dist/svelte/source/components/Posterize.svelte +29 -15
  2095. package/dist/svelte/source/components/Prism.svelte +348 -0
  2096. package/dist/svelte/source/components/ProgressiveBlur.svelte +29 -15
  2097. package/dist/svelte/source/components/RadialGradient.svelte +29 -15
  2098. package/dist/svelte/source/components/RectangularCoordinates.svelte +29 -15
  2099. package/dist/svelte/source/components/ReflectivePlane.svelte +29 -15
  2100. package/dist/svelte/source/components/Repeater.svelte +364 -0
  2101. package/dist/svelte/source/components/Ring.svelte +29 -15
  2102. package/dist/svelte/source/components/Ripples.svelte +29 -15
  2103. package/dist/svelte/source/components/RoundedRect.svelte +29 -15
  2104. package/dist/svelte/source/components/Saturation.svelte +29 -15
  2105. package/dist/svelte/source/components/Scratches.svelte +339 -0
  2106. package/dist/svelte/source/components/Sharpness.svelte +29 -15
  2107. package/dist/svelte/source/components/Shatter.svelte +29 -15
  2108. package/dist/svelte/source/components/SimplexNoise.svelte +29 -15
  2109. package/dist/svelte/source/components/SineWave.svelte +29 -15
  2110. package/dist/svelte/source/components/Smoke.svelte +29 -15
  2111. package/dist/svelte/source/components/SmokeFill.svelte +29 -15
  2112. package/dist/svelte/source/components/SmokeFlow.svelte +339 -0
  2113. package/dist/svelte/source/components/Solarize.svelte +29 -15
  2114. package/dist/svelte/source/components/SolidColor.svelte +29 -15
  2115. package/dist/svelte/source/components/Spherize.svelte +29 -15
  2116. package/dist/svelte/source/components/Spiral.svelte +29 -15
  2117. package/dist/svelte/source/components/Star.svelte +29 -15
  2118. package/dist/svelte/source/components/Stone.svelte +339 -0
  2119. package/dist/svelte/source/components/Strands.svelte +33 -15
  2120. package/dist/svelte/source/components/Stretch.svelte +29 -15
  2121. package/dist/svelte/source/components/Stripes.svelte +29 -15
  2122. package/dist/svelte/source/components/StudioBackground.svelte +29 -15
  2123. package/dist/svelte/source/components/SunBurst.svelte +29 -15
  2124. package/dist/svelte/source/components/Surface3D.svelte +339 -0
  2125. package/dist/svelte/source/components/Swirl.svelte +29 -15
  2126. package/dist/svelte/source/components/Teardrop.svelte +340 -0
  2127. package/dist/svelte/source/components/Text.svelte +340 -0
  2128. package/dist/svelte/source/components/ThinFilm.svelte +29 -15
  2129. package/dist/svelte/source/components/TiltShift.svelte +29 -15
  2130. package/dist/svelte/source/components/Tint.svelte +29 -15
  2131. package/dist/svelte/source/components/Trapezoid.svelte +29 -15
  2132. package/dist/svelte/source/components/TriangularGrid.svelte +344 -0
  2133. package/dist/svelte/source/components/Tritone.svelte +29 -15
  2134. package/dist/svelte/source/components/Truchet.svelte +31 -15
  2135. package/dist/svelte/source/components/Twirl.svelte +29 -15
  2136. package/dist/svelte/source/components/VHS.svelte +29 -15
  2137. package/dist/svelte/source/components/Vesica.svelte +29 -15
  2138. package/dist/svelte/source/components/Vibrance.svelte +29 -15
  2139. package/dist/svelte/source/components/VideoTexture.svelte +29 -15
  2140. package/dist/svelte/source/components/Vignette.svelte +29 -15
  2141. package/dist/svelte/source/components/Voronoi.svelte +29 -15
  2142. package/dist/svelte/source/components/Water.svelte +340 -0
  2143. package/dist/svelte/source/components/Watercolor.svelte +342 -0
  2144. package/dist/svelte/source/components/WaveDistortion.svelte +29 -15
  2145. package/dist/svelte/source/components/WaveletNoise.svelte +341 -0
  2146. package/dist/svelte/source/components/Weave.svelte +29 -15
  2147. package/dist/svelte/source/components/WebcamTexture.svelte +29 -15
  2148. package/dist/svelte/source/components/Wool.svelte +339 -0
  2149. package/dist/svelte/source/components/WorleyNoise.svelte +29 -15
  2150. package/dist/svelte/source/components/ZoomBlur.svelte +29 -15
  2151. package/dist/svelte/source/engine/Preview.svelte +94 -0
  2152. package/dist/svelte/source/engine/Shader.svelte +9 -7
  2153. package/dist/svelte/source/index.js +47 -0
  2154. package/dist/svelte/utils/generatePresetCode.js +1060 -18
  2155. package/dist/vue/AngularBlur.vue_vue_type_script_setup_true_lang.js +14 -9
  2156. package/dist/vue/Arc.js +3 -0
  2157. package/dist/vue/Arc.vue_vue_type_script_setup_true_lang.js +228 -0
  2158. package/dist/vue/Ascii.vue_vue_type_script_setup_true_lang.js +13 -8
  2159. package/dist/vue/Aurora.vue_vue_type_script_setup_true_lang.js +13 -8
  2160. package/dist/vue/BarShift.vue_vue_type_script_setup_true_lang.js +13 -8
  2161. package/dist/vue/Beam.vue_vue_type_script_setup_true_lang.js +13 -8
  2162. package/dist/vue/Blob.vue_vue_type_script_setup_true_lang.js +15 -8
  2163. package/dist/vue/BlockNoise.js +3 -0
  2164. package/dist/vue/BlockNoise.vue_vue_type_script_setup_true_lang.js +226 -0
  2165. package/dist/vue/BlueNoise.js +3 -0
  2166. package/dist/vue/BlueNoise.vue_vue_type_script_setup_true_lang.js +225 -0
  2167. package/dist/vue/Blur.vue_vue_type_script_setup_true_lang.js +14 -9
  2168. package/dist/vue/BrickPattern.vue_vue_type_script_setup_true_lang.js +16 -9
  2169. package/dist/vue/BrightnessContrast.vue_vue_type_script_setup_true_lang.js +14 -9
  2170. package/dist/vue/BrushedMetal.js +3 -0
  2171. package/dist/vue/BrushedMetal.vue_vue_type_script_setup_true_lang.js +236 -0
  2172. package/dist/vue/Bulge.vue_vue_type_script_setup_true_lang.js +13 -8
  2173. package/dist/vue/CRTScreen.vue_vue_type_script_setup_true_lang.js +14 -9
  2174. package/dist/vue/CarbonFiber.js +3 -0
  2175. package/dist/vue/CarbonFiber.vue_vue_type_script_setup_true_lang.js +237 -0
  2176. package/dist/vue/Chalkboard.js +3 -0
  2177. package/dist/vue/Chalkboard.vue_vue_type_script_setup_true_lang.js +224 -0
  2178. package/dist/vue/ChannelBlur.vue_vue_type_script_setup_true_lang.js +14 -9
  2179. package/dist/vue/Checkerboard.vue_vue_type_script_setup_true_lang.js +13 -8
  2180. package/dist/vue/Chevron.vue_vue_type_script_setup_true_lang.js +13 -8
  2181. package/dist/vue/ChromaFlow.vue_vue_type_script_setup_true_lang.js +13 -8
  2182. package/dist/vue/ChromaticAberration.vue_vue_type_script_setup_true_lang.js +14 -9
  2183. package/dist/vue/Circle.vue_vue_type_script_setup_true_lang.js +14 -8
  2184. package/dist/vue/ColorWheel.vue_vue_type_script_setup_true_lang.js +13 -8
  2185. package/dist/vue/CompressionArtifacts.js +3 -0
  2186. package/dist/vue/CompressionArtifacts.vue_vue_type_script_setup_true_lang.js +218 -0
  2187. package/dist/vue/ConcentricSpin.vue_vue_type_script_setup_true_lang.js +13 -8
  2188. package/dist/vue/ConicGradient.vue_vue_type_script_setup_true_lang.js +14 -8
  2189. package/dist/vue/ContourLines.vue_vue_type_script_setup_true_lang.js +13 -8
  2190. package/dist/vue/CornerPin.js +3 -0
  2191. package/dist/vue/CornerPin.vue_vue_type_script_setup_true_lang.js +223 -0
  2192. package/dist/vue/Crescent.vue_vue_type_script_setup_true_lang.js +14 -8
  2193. package/dist/vue/Cross.vue_vue_type_script_setup_true_lang.js +14 -8
  2194. package/dist/vue/Crystal.vue_vue_type_script_setup_true_lang.js +15 -8
  2195. package/dist/vue/CurlNoise.js +3 -0
  2196. package/dist/vue/CurlNoise.vue_vue_type_script_setup_true_lang.js +226 -0
  2197. package/dist/vue/CursorRipples.vue_vue_type_script_setup_true_lang.js +13 -8
  2198. package/dist/vue/CursorTrail.vue_vue_type_script_setup_true_lang.js +14 -8
  2199. package/dist/vue/DOMTexture.vue_vue_type_script_setup_true_lang.js +14 -9
  2200. package/dist/vue/DataMosh.js +3 -0
  2201. package/dist/vue/DataMosh.vue_vue_type_script_setup_true_lang.js +224 -0
  2202. package/dist/vue/DiamondGradient.vue_vue_type_script_setup_true_lang.js +14 -8
  2203. package/dist/vue/DiffuseBlur.vue_vue_type_script_setup_true_lang.js +13 -8
  2204. package/dist/vue/Dither.vue_vue_type_script_setup_true_lang.js +13 -8
  2205. package/dist/vue/DotGrid.vue_vue_type_script_setup_true_lang.js +17 -9
  2206. package/dist/vue/DropShadow.vue_vue_type_script_setup_true_lang.js +13 -8
  2207. package/dist/vue/Duotone.vue_vue_type_script_setup_true_lang.js +13 -8
  2208. package/dist/vue/Ellipse.vue_vue_type_script_setup_true_lang.js +14 -8
  2209. package/dist/vue/Emboss.vue_vue_type_script_setup_true_lang.js +15 -8
  2210. package/dist/vue/Engraving.js +3 -0
  2211. package/dist/vue/Engraving.vue_vue_type_script_setup_true_lang.js +226 -0
  2212. package/dist/vue/ErosionNoise.js +3 -0
  2213. package/dist/vue/ErosionNoise.vue_vue_type_script_setup_true_lang.js +225 -0
  2214. package/dist/vue/Exposure.vue_vue_type_script_setup_true_lang.js +14 -9
  2215. package/dist/vue/FallingLines.vue_vue_type_script_setup_true_lang.js +13 -8
  2216. package/dist/vue/FilmGrain.vue_vue_type_script_setup_true_lang.js +13 -8
  2217. package/dist/vue/Flip.js +3 -0
  2218. package/dist/vue/Flip.vue_vue_type_script_setup_true_lang.js +219 -0
  2219. package/dist/vue/FloatingParticles.vue_vue_type_script_setup_true_lang.js +13 -8
  2220. package/dist/vue/FlowField.vue_vue_type_script_setup_true_lang.js +14 -8
  2221. package/dist/vue/Flower.vue_vue_type_script_setup_true_lang.js +14 -8
  2222. package/dist/vue/FlowingGradient.vue_vue_type_script_setup_true_lang.js +13 -8
  2223. package/dist/vue/FlutedGlass.vue_vue_type_script_setup_true_lang.js +13 -8
  2224. package/dist/vue/Fog.vue_vue_type_script_setup_true_lang.js +13 -8
  2225. package/dist/vue/Form3D.vue_vue_type_script_setup_true_lang.js +13 -8
  2226. package/dist/vue/FractalNoise.vue_vue_type_script_setup_true_lang.js +14 -8
  2227. package/dist/vue/Frost.js +3 -0
  2228. package/dist/vue/Frost.vue_vue_type_script_setup_true_lang.js +239 -0
  2229. package/dist/vue/GaborNoise.js +3 -0
  2230. package/dist/vue/GaborNoise.vue_vue_type_script_setup_true_lang.js +227 -0
  2231. package/dist/vue/Glass.vue_vue_type_script_setup_true_lang.js +15 -8
  2232. package/dist/vue/GlassTiles.vue_vue_type_script_setup_true_lang.js +14 -9
  2233. package/dist/vue/Glitch.vue_vue_type_script_setup_true_lang.js +13 -8
  2234. package/dist/vue/Glow.vue_vue_type_script_setup_true_lang.js +14 -9
  2235. package/dist/vue/Godrays.vue_vue_type_script_setup_true_lang.js +13 -8
  2236. package/dist/vue/Goo.js +3 -0
  2237. package/dist/vue/Goo.vue_vue_type_script_setup_true_lang.js +243 -0
  2238. package/dist/vue/GradientMap.js +3 -0
  2239. package/dist/vue/GradientMap.vue_vue_type_script_setup_true_lang.js +227 -0
  2240. package/dist/vue/Grayscale.vue_vue_type_script_setup_true_lang.js +14 -9
  2241. package/dist/vue/Grid.vue_vue_type_script_setup_true_lang.js +18 -9
  2242. package/dist/vue/GridDistortion.vue_vue_type_script_setup_true_lang.js +13 -8
  2243. package/dist/vue/Group.vue_vue_type_script_setup_true_lang.js +14 -9
  2244. package/dist/vue/Halftone.vue_vue_type_script_setup_true_lang.js +13 -8
  2245. package/dist/vue/Heart.js +3 -0
  2246. package/dist/vue/Heart.vue_vue_type_script_setup_true_lang.js +227 -0
  2247. package/dist/vue/Heatmap.js +3 -0
  2248. package/dist/vue/Heatmap.vue_vue_type_script_setup_true_lang.js +233 -0
  2249. package/dist/vue/HexGrid.vue_vue_type_script_setup_true_lang.js +16 -8
  2250. package/dist/vue/Hologram.js +3 -0
  2251. package/dist/vue/Hologram.vue_vue_type_script_setup_true_lang.js +239 -0
  2252. package/dist/vue/Holographic.js +3 -0
  2253. package/dist/vue/Holographic.vue_vue_type_script_setup_true_lang.js +233 -0
  2254. package/dist/vue/HueShift.vue_vue_type_script_setup_true_lang.js +14 -9
  2255. package/dist/vue/ImageTexture.vue_vue_type_script_setup_true_lang.js +13 -8
  2256. package/dist/vue/Invert.vue_vue_type_script_setup_true_lang.js +14 -9
  2257. package/dist/vue/IsometricCubes.js +3 -0
  2258. package/dist/vue/IsometricCubes.vue_vue_type_script_setup_true_lang.js +226 -0
  2259. package/dist/vue/Kaleidoscope.vue_vue_type_script_setup_true_lang.js +13 -8
  2260. package/dist/vue/KeyFrames.js +3 -0
  2261. package/dist/vue/KeyFrames.vue_vue_type_script_setup_true_lang.js +229 -0
  2262. package/dist/vue/LensFlare.vue_vue_type_script_setup_true_lang.js +13 -8
  2263. package/dist/vue/LightEdge.js +3 -0
  2264. package/dist/vue/LightEdge.vue_vue_type_script_setup_true_lang.js +239 -0
  2265. package/dist/vue/LightLeak.js +3 -0
  2266. package/dist/vue/LightLeak.vue_vue_type_script_setup_true_lang.js +227 -0
  2267. package/dist/vue/LinearBlur.vue_vue_type_script_setup_true_lang.js +14 -9
  2268. package/dist/vue/LinearGradient.vue_vue_type_script_setup_true_lang.js +14 -8
  2269. package/dist/vue/LiquidMetal.js +3 -0
  2270. package/dist/vue/LiquidMetal.vue_vue_type_script_setup_true_lang.js +236 -0
  2271. package/dist/vue/Liquify.vue_vue_type_script_setup_true_lang.js +13 -8
  2272. package/dist/vue/Marble.vue_vue_type_script_setup_true_lang.js +13 -8
  2273. package/dist/vue/Mirror.vue_vue_type_script_setup_true_lang.js +13 -8
  2274. package/dist/vue/MultiPointGradient.vue_vue_type_script_setup_true_lang.js +15 -9
  2275. package/dist/vue/Neon.vue_vue_type_script_setup_true_lang.js +15 -8
  2276. package/dist/vue/ObjectTracker.js +3 -0
  2277. package/dist/vue/ObjectTracker.vue_vue_type_script_setup_true_lang.js +237 -0
  2278. package/dist/vue/PagePeel.js +3 -0
  2279. package/dist/vue/PagePeel.vue_vue_type_script_setup_true_lang.js +224 -0
  2280. package/dist/vue/Paper.vue_vue_type_script_setup_true_lang.js +13 -8
  2281. package/dist/vue/Parallelogram.js +3 -0
  2282. package/dist/vue/Parallelogram.vue_vue_type_script_setup_true_lang.js +229 -0
  2283. package/dist/vue/Particles.js +3 -0
  2284. package/dist/vue/Particles.vue_vue_type_script_setup_true_lang.js +238 -0
  2285. package/dist/vue/PerlinNoise.js +3 -0
  2286. package/dist/vue/PerlinNoise.vue_vue_type_script_setup_true_lang.js +226 -0
  2287. package/dist/vue/Perspective.vue_vue_type_script_setup_true_lang.js +13 -8
  2288. package/dist/vue/PixelSort.js +3 -0
  2289. package/dist/vue/PixelSort.vue_vue_type_script_setup_true_lang.js +223 -0
  2290. package/dist/vue/PixelThrow.js +3 -0
  2291. package/dist/vue/PixelThrow.vue_vue_type_script_setup_true_lang.js +224 -0
  2292. package/dist/vue/Pixelate.vue_vue_type_script_setup_true_lang.js +14 -9
  2293. package/dist/vue/Plasma.vue_vue_type_script_setup_true_lang.js +14 -8
  2294. package/dist/vue/Plastic.js +3 -0
  2295. package/dist/vue/Plastic.vue_vue_type_script_setup_true_lang.js +242 -0
  2296. package/dist/vue/PolarCoordinates.vue_vue_type_script_setup_true_lang.js +13 -8
  2297. package/dist/vue/Polygon.vue_vue_type_script_setup_true_lang.js +14 -8
  2298. package/dist/vue/Posterize.vue_vue_type_script_setup_true_lang.js +14 -9
  2299. package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +94 -0
  2300. package/dist/vue/Prism.js +3 -0
  2301. package/dist/vue/Prism.vue_vue_type_script_setup_true_lang.js +228 -0
  2302. package/dist/vue/ProgressiveBlur.vue_vue_type_script_setup_true_lang.js +14 -9
  2303. package/dist/vue/RadialGradient.vue_vue_type_script_setup_true_lang.js +14 -8
  2304. package/dist/vue/RectangularCoordinates.vue_vue_type_script_setup_true_lang.js +13 -8
  2305. package/dist/vue/ReflectivePlane.vue_vue_type_script_setup_true_lang.js +13 -8
  2306. package/dist/vue/Repeater.js +3 -0
  2307. package/dist/vue/Repeater.vue_vue_type_script_setup_true_lang.js +246 -0
  2308. package/dist/vue/Ring.vue_vue_type_script_setup_true_lang.js +14 -8
  2309. package/dist/vue/Ripples.vue_vue_type_script_setup_true_lang.js +13 -8
  2310. package/dist/vue/RoundedRect.vue_vue_type_script_setup_true_lang.js +14 -8
  2311. package/dist/vue/Saturation.vue_vue_type_script_setup_true_lang.js +14 -9
  2312. package/dist/vue/Scratches.js +3 -0
  2313. package/dist/vue/Scratches.vue_vue_type_script_setup_true_lang.js +223 -0
  2314. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +68 -39
  2315. package/dist/vue/Sharpness.vue_vue_type_script_setup_true_lang.js +14 -9
  2316. package/dist/vue/Shatter.vue_vue_type_script_setup_true_lang.js +13 -8
  2317. package/dist/vue/SimplexNoise.vue_vue_type_script_setup_true_lang.js +14 -8
  2318. package/dist/vue/SineWave.vue_vue_type_script_setup_true_lang.js +13 -8
  2319. package/dist/vue/Smoke.vue_vue_type_script_setup_true_lang.js +14 -8
  2320. package/dist/vue/SmokeFill.vue_vue_type_script_setup_true_lang.js +15 -8
  2321. package/dist/vue/SmokeFlow.js +3 -0
  2322. package/dist/vue/SmokeFlow.vue_vue_type_script_setup_true_lang.js +228 -0
  2323. package/dist/vue/Solarize.vue_vue_type_script_setup_true_lang.js +14 -9
  2324. package/dist/vue/SolidColor.vue_vue_type_script_setup_true_lang.js +13 -8
  2325. package/dist/vue/Spherize.vue_vue_type_script_setup_true_lang.js +13 -8
  2326. package/dist/vue/Spiral.vue_vue_type_script_setup_true_lang.js +13 -8
  2327. package/dist/vue/Star.vue_vue_type_script_setup_true_lang.js +14 -8
  2328. package/dist/vue/Stone.js +3 -0
  2329. package/dist/vue/Stone.vue_vue_type_script_setup_true_lang.js +222 -0
  2330. package/dist/vue/Strands.vue_vue_type_script_setup_true_lang.js +20 -9
  2331. package/dist/vue/Stretch.vue_vue_type_script_setup_true_lang.js +13 -8
  2332. package/dist/vue/Stripes.vue_vue_type_script_setup_true_lang.js +13 -8
  2333. package/dist/vue/StudioBackground.vue_vue_type_script_setup_true_lang.js +13 -8
  2334. package/dist/vue/SunBurst.vue_vue_type_script_setup_true_lang.js +13 -8
  2335. package/dist/vue/Surface3D.js +3 -0
  2336. package/dist/vue/Surface3D.vue_vue_type_script_setup_true_lang.js +240 -0
  2337. package/dist/vue/Swirl.vue_vue_type_script_setup_true_lang.js +14 -8
  2338. package/dist/vue/Teardrop.js +3 -0
  2339. package/dist/vue/Teardrop.vue_vue_type_script_setup_true_lang.js +228 -0
  2340. package/dist/vue/Text.js +3 -0
  2341. package/dist/vue/Text.vue_vue_type_script_setup_true_lang.js +228 -0
  2342. package/dist/vue/ThinFilm.vue_vue_type_script_setup_true_lang.js +15 -8
  2343. package/dist/vue/TiltShift.vue_vue_type_script_setup_true_lang.js +14 -9
  2344. package/dist/vue/Tint.vue_vue_type_script_setup_true_lang.js +13 -8
  2345. package/dist/vue/Trapezoid.vue_vue_type_script_setup_true_lang.js +14 -8
  2346. package/dist/vue/TriangularGrid.js +3 -0
  2347. package/dist/vue/TriangularGrid.vue_vue_type_script_setup_true_lang.js +227 -0
  2348. package/dist/vue/Tritone.vue_vue_type_script_setup_true_lang.js +13 -8
  2349. package/dist/vue/Truchet.vue_vue_type_script_setup_true_lang.js +15 -8
  2350. package/dist/vue/Twirl.vue_vue_type_script_setup_true_lang.js +13 -8
  2351. package/dist/vue/VHS.vue_vue_type_script_setup_true_lang.js +13 -8
  2352. package/dist/vue/Vesica.vue_vue_type_script_setup_true_lang.js +14 -8
  2353. package/dist/vue/Vibrance.vue_vue_type_script_setup_true_lang.js +14 -9
  2354. package/dist/vue/VideoTexture.vue_vue_type_script_setup_true_lang.js +13 -8
  2355. package/dist/vue/Vignette.vue_vue_type_script_setup_true_lang.js +13 -8
  2356. package/dist/vue/Voronoi.vue_vue_type_script_setup_true_lang.js +14 -8
  2357. package/dist/vue/Water.js +3 -0
  2358. package/dist/vue/Water.vue_vue_type_script_setup_true_lang.js +240 -0
  2359. package/dist/vue/Watercolor.js +3 -0
  2360. package/dist/vue/Watercolor.vue_vue_type_script_setup_true_lang.js +222 -0
  2361. package/dist/vue/WaveDistortion.vue_vue_type_script_setup_true_lang.js +13 -8
  2362. package/dist/vue/WaveletNoise.js +3 -0
  2363. package/dist/vue/WaveletNoise.vue_vue_type_script_setup_true_lang.js +227 -0
  2364. package/dist/vue/Weave.vue_vue_type_script_setup_true_lang.js +13 -8
  2365. package/dist/vue/WebcamTexture.vue_vue_type_script_setup_true_lang.js +13 -8
  2366. package/dist/vue/Wool.js +3 -0
  2367. package/dist/vue/Wool.vue_vue_type_script_setup_true_lang.js +222 -0
  2368. package/dist/vue/WorleyNoise.vue_vue_type_script_setup_true_lang.js +13 -8
  2369. package/dist/vue/ZoomBlur.vue_vue_type_script_setup_true_lang.js +14 -9
  2370. package/dist/vue/components/AngularBlur.vue.d.ts +2 -1
  2371. package/dist/vue/components/AngularBlur.vue.d.ts.map +1 -1
  2372. package/dist/vue/components/Arc.vue.d.ts +56 -0
  2373. package/dist/vue/components/Arc.vue.d.ts.map +1 -0
  2374. package/dist/vue/components/Ascii.vue.d.ts +2 -1
  2375. package/dist/vue/components/Ascii.vue.d.ts.map +1 -1
  2376. package/dist/vue/components/Aurora.vue.d.ts +2 -1
  2377. package/dist/vue/components/Aurora.vue.d.ts.map +1 -1
  2378. package/dist/vue/components/BarShift.vue.d.ts +2 -1
  2379. package/dist/vue/components/BarShift.vue.d.ts.map +1 -1
  2380. package/dist/vue/components/Beam.vue.d.ts +2 -1
  2381. package/dist/vue/components/Beam.vue.d.ts.map +1 -1
  2382. package/dist/vue/components/Blob.vue.d.ts +2 -1
  2383. package/dist/vue/components/Blob.vue.d.ts.map +1 -1
  2384. package/dist/vue/components/BlockNoise.vue.d.ts +57 -0
  2385. package/dist/vue/components/BlockNoise.vue.d.ts.map +1 -0
  2386. package/dist/vue/components/BlueNoise.vue.d.ts +57 -0
  2387. package/dist/vue/components/BlueNoise.vue.d.ts.map +1 -0
  2388. package/dist/vue/components/Blur.vue.d.ts +2 -1
  2389. package/dist/vue/components/Blur.vue.d.ts.map +1 -1
  2390. package/dist/vue/components/BrickPattern.vue.d.ts +5 -2
  2391. package/dist/vue/components/BrickPattern.vue.d.ts.map +1 -1
  2392. package/dist/vue/components/BrightnessContrast.vue.d.ts +2 -1
  2393. package/dist/vue/components/BrightnessContrast.vue.d.ts.map +1 -1
  2394. package/dist/vue/components/BrushedMetal.vue.d.ts +56 -0
  2395. package/dist/vue/components/BrushedMetal.vue.d.ts.map +1 -0
  2396. package/dist/vue/components/Bulge.vue.d.ts +2 -1
  2397. package/dist/vue/components/Bulge.vue.d.ts.map +1 -1
  2398. package/dist/vue/components/CRTScreen.vue.d.ts +2 -1
  2399. package/dist/vue/components/CRTScreen.vue.d.ts.map +1 -1
  2400. package/dist/vue/components/CarbonFiber.vue.d.ts +56 -0
  2401. package/dist/vue/components/CarbonFiber.vue.d.ts.map +1 -0
  2402. package/dist/vue/components/Chalkboard.vue.d.ts +60 -0
  2403. package/dist/vue/components/Chalkboard.vue.d.ts.map +1 -0
  2404. package/dist/vue/components/ChannelBlur.vue.d.ts +2 -1
  2405. package/dist/vue/components/ChannelBlur.vue.d.ts.map +1 -1
  2406. package/dist/vue/components/Checkerboard.vue.d.ts +2 -1
  2407. package/dist/vue/components/Checkerboard.vue.d.ts.map +1 -1
  2408. package/dist/vue/components/Chevron.vue.d.ts +2 -1
  2409. package/dist/vue/components/Chevron.vue.d.ts.map +1 -1
  2410. package/dist/vue/components/ChromaFlow.vue.d.ts +2 -1
  2411. package/dist/vue/components/ChromaFlow.vue.d.ts.map +1 -1
  2412. package/dist/vue/components/ChromaticAberration.vue.d.ts +2 -1
  2413. package/dist/vue/components/ChromaticAberration.vue.d.ts.map +1 -1
  2414. package/dist/vue/components/Circle.vue.d.ts +2 -1
  2415. package/dist/vue/components/Circle.vue.d.ts.map +1 -1
  2416. package/dist/vue/components/ColorWheel.vue.d.ts +2 -1
  2417. package/dist/vue/components/ColorWheel.vue.d.ts.map +1 -1
  2418. package/dist/vue/components/CompressionArtifacts.vue.d.ts +56 -0
  2419. package/dist/vue/components/CompressionArtifacts.vue.d.ts.map +1 -0
  2420. package/dist/vue/components/ConcentricSpin.vue.d.ts +2 -1
  2421. package/dist/vue/components/ConcentricSpin.vue.d.ts.map +1 -1
  2422. package/dist/vue/components/ConicGradient.vue.d.ts +2 -1
  2423. package/dist/vue/components/ConicGradient.vue.d.ts.map +1 -1
  2424. package/dist/vue/components/ContourLines.vue.d.ts +2 -1
  2425. package/dist/vue/components/ContourLines.vue.d.ts.map +1 -1
  2426. package/dist/vue/components/CornerPin.vue.d.ts +60 -0
  2427. package/dist/vue/components/CornerPin.vue.d.ts.map +1 -0
  2428. package/dist/vue/components/Crescent.vue.d.ts +2 -1
  2429. package/dist/vue/components/Crescent.vue.d.ts.map +1 -1
  2430. package/dist/vue/components/Cross.vue.d.ts +2 -1
  2431. package/dist/vue/components/Cross.vue.d.ts.map +1 -1
  2432. package/dist/vue/components/Crystal.vue.d.ts +2 -1
  2433. package/dist/vue/components/Crystal.vue.d.ts.map +1 -1
  2434. package/dist/vue/components/CurlNoise.vue.d.ts +57 -0
  2435. package/dist/vue/components/CurlNoise.vue.d.ts.map +1 -0
  2436. package/dist/vue/components/CursorRipples.vue.d.ts +2 -1
  2437. package/dist/vue/components/CursorRipples.vue.d.ts.map +1 -1
  2438. package/dist/vue/components/CursorTrail.vue.d.ts +2 -1
  2439. package/dist/vue/components/CursorTrail.vue.d.ts.map +1 -1
  2440. package/dist/vue/components/DOMTexture.vue.d.ts +2 -1
  2441. package/dist/vue/components/DOMTexture.vue.d.ts.map +1 -1
  2442. package/dist/vue/components/DataMosh.vue.d.ts +60 -0
  2443. package/dist/vue/components/DataMosh.vue.d.ts.map +1 -0
  2444. package/dist/vue/components/DiamondGradient.vue.d.ts +2 -1
  2445. package/dist/vue/components/DiamondGradient.vue.d.ts.map +1 -1
  2446. package/dist/vue/components/DiffuseBlur.vue.d.ts +2 -1
  2447. package/dist/vue/components/DiffuseBlur.vue.d.ts.map +1 -1
  2448. package/dist/vue/components/Dither.vue.d.ts +2 -1
  2449. package/dist/vue/components/Dither.vue.d.ts.map +1 -1
  2450. package/dist/vue/components/DotGrid.vue.d.ts +3 -1
  2451. package/dist/vue/components/DotGrid.vue.d.ts.map +1 -1
  2452. package/dist/vue/components/DropShadow.vue.d.ts +2 -1
  2453. package/dist/vue/components/DropShadow.vue.d.ts.map +1 -1
  2454. package/dist/vue/components/Duotone.vue.d.ts +2 -1
  2455. package/dist/vue/components/Duotone.vue.d.ts.map +1 -1
  2456. package/dist/vue/components/Ellipse.vue.d.ts +2 -1
  2457. package/dist/vue/components/Ellipse.vue.d.ts.map +1 -1
  2458. package/dist/vue/components/Emboss.vue.d.ts +2 -1
  2459. package/dist/vue/components/Emboss.vue.d.ts.map +1 -1
  2460. package/dist/vue/components/Engraving.vue.d.ts +61 -0
  2461. package/dist/vue/components/Engraving.vue.d.ts.map +1 -0
  2462. package/dist/vue/components/ErosionNoise.vue.d.ts +57 -0
  2463. package/dist/vue/components/ErosionNoise.vue.d.ts.map +1 -0
  2464. package/dist/vue/components/Exposure.vue.d.ts +2 -1
  2465. package/dist/vue/components/Exposure.vue.d.ts.map +1 -1
  2466. package/dist/vue/components/FallingLines.vue.d.ts +2 -1
  2467. package/dist/vue/components/FallingLines.vue.d.ts.map +1 -1
  2468. package/dist/vue/components/FilmGrain.vue.d.ts +2 -1
  2469. package/dist/vue/components/FilmGrain.vue.d.ts.map +1 -1
  2470. package/dist/vue/components/Flip.vue.d.ts +55 -0
  2471. package/dist/vue/components/Flip.vue.d.ts.map +1 -0
  2472. package/dist/vue/components/FloatingParticles.vue.d.ts +2 -1
  2473. package/dist/vue/components/FloatingParticles.vue.d.ts.map +1 -1
  2474. package/dist/vue/components/FlowField.vue.d.ts +3 -1
  2475. package/dist/vue/components/FlowField.vue.d.ts.map +1 -1
  2476. package/dist/vue/components/Flower.vue.d.ts +2 -1
  2477. package/dist/vue/components/Flower.vue.d.ts.map +1 -1
  2478. package/dist/vue/components/FlowingGradient.vue.d.ts +2 -1
  2479. package/dist/vue/components/FlowingGradient.vue.d.ts.map +1 -1
  2480. package/dist/vue/components/FlutedGlass.vue.d.ts +2 -1
  2481. package/dist/vue/components/FlutedGlass.vue.d.ts.map +1 -1
  2482. package/dist/vue/components/Fog.vue.d.ts +2 -1
  2483. package/dist/vue/components/Fog.vue.d.ts.map +1 -1
  2484. package/dist/vue/components/Form3D.vue.d.ts +2 -1
  2485. package/dist/vue/components/Form3D.vue.d.ts.map +1 -1
  2486. package/dist/vue/components/FractalNoise.vue.d.ts +2 -1
  2487. package/dist/vue/components/FractalNoise.vue.d.ts.map +1 -1
  2488. package/dist/vue/components/Frost.vue.d.ts +56 -0
  2489. package/dist/vue/components/Frost.vue.d.ts.map +1 -0
  2490. package/dist/vue/components/GaborNoise.vue.d.ts +57 -0
  2491. package/dist/vue/components/GaborNoise.vue.d.ts.map +1 -0
  2492. package/dist/vue/components/Glass.vue.d.ts +2 -1
  2493. package/dist/vue/components/Glass.vue.d.ts.map +1 -1
  2494. package/dist/vue/components/GlassTiles.vue.d.ts +2 -1
  2495. package/dist/vue/components/GlassTiles.vue.d.ts.map +1 -1
  2496. package/dist/vue/components/Glitch.vue.d.ts +2 -1
  2497. package/dist/vue/components/Glitch.vue.d.ts.map +1 -1
  2498. package/dist/vue/components/Glow.vue.d.ts +2 -1
  2499. package/dist/vue/components/Glow.vue.d.ts.map +1 -1
  2500. package/dist/vue/components/Godrays.vue.d.ts +2 -1
  2501. package/dist/vue/components/Godrays.vue.d.ts.map +1 -1
  2502. package/dist/vue/components/Goo.vue.d.ts +56 -0
  2503. package/dist/vue/components/Goo.vue.d.ts.map +1 -0
  2504. package/dist/vue/components/GradientMap.vue.d.ts +60 -0
  2505. package/dist/vue/components/GradientMap.vue.d.ts.map +1 -0
  2506. package/dist/vue/components/Grayscale.vue.d.ts +2 -1
  2507. package/dist/vue/components/Grayscale.vue.d.ts.map +1 -1
  2508. package/dist/vue/components/Grid.vue.d.ts +4 -1
  2509. package/dist/vue/components/Grid.vue.d.ts.map +1 -1
  2510. package/dist/vue/components/GridDistortion.vue.d.ts +2 -1
  2511. package/dist/vue/components/GridDistortion.vue.d.ts.map +1 -1
  2512. package/dist/vue/components/Group.vue.d.ts +2 -1
  2513. package/dist/vue/components/Group.vue.d.ts.map +1 -1
  2514. package/dist/vue/components/Halftone.vue.d.ts +2 -1
  2515. package/dist/vue/components/Halftone.vue.d.ts.map +1 -1
  2516. package/dist/vue/components/Heart.vue.d.ts +56 -0
  2517. package/dist/vue/components/Heart.vue.d.ts.map +1 -0
  2518. package/dist/vue/components/Heatmap.vue.d.ts +59 -0
  2519. package/dist/vue/components/Heatmap.vue.d.ts.map +1 -0
  2520. package/dist/vue/components/HexGrid.vue.d.ts +5 -1
  2521. package/dist/vue/components/HexGrid.vue.d.ts.map +1 -1
  2522. package/dist/vue/components/Hologram.vue.d.ts +56 -0
  2523. package/dist/vue/components/Hologram.vue.d.ts.map +1 -0
  2524. package/dist/vue/components/Holographic.vue.d.ts +56 -0
  2525. package/dist/vue/components/Holographic.vue.d.ts.map +1 -0
  2526. package/dist/vue/components/HueShift.vue.d.ts +2 -1
  2527. package/dist/vue/components/HueShift.vue.d.ts.map +1 -1
  2528. package/dist/vue/components/ImageTexture.vue.d.ts +2 -1
  2529. package/dist/vue/components/ImageTexture.vue.d.ts.map +1 -1
  2530. package/dist/vue/components/Invert.vue.d.ts +2 -1
  2531. package/dist/vue/components/Invert.vue.d.ts.map +1 -1
  2532. package/dist/vue/components/IsometricCubes.vue.d.ts +60 -0
  2533. package/dist/vue/components/IsometricCubes.vue.d.ts.map +1 -0
  2534. package/dist/vue/components/Kaleidoscope.vue.d.ts +2 -1
  2535. package/dist/vue/components/Kaleidoscope.vue.d.ts.map +1 -1
  2536. package/dist/vue/components/KeyFrames.vue.d.ts +60 -0
  2537. package/dist/vue/components/KeyFrames.vue.d.ts.map +1 -0
  2538. package/dist/vue/components/LensFlare.vue.d.ts +2 -1
  2539. package/dist/vue/components/LensFlare.vue.d.ts.map +1 -1
  2540. package/dist/vue/components/LightEdge.vue.d.ts +65 -0
  2541. package/dist/vue/components/LightEdge.vue.d.ts.map +1 -0
  2542. package/dist/vue/components/LightLeak.vue.d.ts +61 -0
  2543. package/dist/vue/components/LightLeak.vue.d.ts.map +1 -0
  2544. package/dist/vue/components/LinearBlur.vue.d.ts +2 -1
  2545. package/dist/vue/components/LinearBlur.vue.d.ts.map +1 -1
  2546. package/dist/vue/components/LinearGradient.vue.d.ts +2 -1
  2547. package/dist/vue/components/LinearGradient.vue.d.ts.map +1 -1
  2548. package/dist/vue/components/LiquidMetal.vue.d.ts +56 -0
  2549. package/dist/vue/components/LiquidMetal.vue.d.ts.map +1 -0
  2550. package/dist/vue/components/Liquify.vue.d.ts +2 -1
  2551. package/dist/vue/components/Liquify.vue.d.ts.map +1 -1
  2552. package/dist/vue/components/Marble.vue.d.ts +2 -1
  2553. package/dist/vue/components/Marble.vue.d.ts.map +1 -1
  2554. package/dist/vue/components/Mirror.vue.d.ts +2 -1
  2555. package/dist/vue/components/Mirror.vue.d.ts.map +1 -1
  2556. package/dist/vue/components/MultiPointGradient.vue.d.ts +2 -1
  2557. package/dist/vue/components/MultiPointGradient.vue.d.ts.map +1 -1
  2558. package/dist/vue/components/Neon.vue.d.ts +2 -1
  2559. package/dist/vue/components/Neon.vue.d.ts.map +1 -1
  2560. package/dist/vue/components/ObjectTracker.vue.d.ts +55 -0
  2561. package/dist/vue/components/ObjectTracker.vue.d.ts.map +1 -0
  2562. package/dist/vue/components/PagePeel.vue.d.ts +61 -0
  2563. package/dist/vue/components/PagePeel.vue.d.ts.map +1 -0
  2564. package/dist/vue/components/Paper.vue.d.ts +2 -1
  2565. package/dist/vue/components/Paper.vue.d.ts.map +1 -1
  2566. package/dist/vue/components/Parallelogram.vue.d.ts +56 -0
  2567. package/dist/vue/components/Parallelogram.vue.d.ts.map +1 -0
  2568. package/dist/vue/components/Particles.vue.d.ts +56 -0
  2569. package/dist/vue/components/Particles.vue.d.ts.map +1 -0
  2570. package/dist/vue/components/PerlinNoise.vue.d.ts +57 -0
  2571. package/dist/vue/components/PerlinNoise.vue.d.ts.map +1 -0
  2572. package/dist/vue/components/Perspective.vue.d.ts +2 -1
  2573. package/dist/vue/components/Perspective.vue.d.ts.map +1 -1
  2574. package/dist/vue/components/PixelSort.vue.d.ts +59 -0
  2575. package/dist/vue/components/PixelSort.vue.d.ts.map +1 -0
  2576. package/dist/vue/components/PixelThrow.vue.d.ts +60 -0
  2577. package/dist/vue/components/PixelThrow.vue.d.ts.map +1 -0
  2578. package/dist/vue/components/Pixelate.vue.d.ts +2 -1
  2579. package/dist/vue/components/Pixelate.vue.d.ts.map +1 -1
  2580. package/dist/vue/components/Plasma.vue.d.ts +2 -1
  2581. package/dist/vue/components/Plasma.vue.d.ts.map +1 -1
  2582. package/dist/vue/components/Plastic.vue.d.ts +56 -0
  2583. package/dist/vue/components/Plastic.vue.d.ts.map +1 -0
  2584. package/dist/vue/components/PolarCoordinates.vue.d.ts +2 -1
  2585. package/dist/vue/components/PolarCoordinates.vue.d.ts.map +1 -1
  2586. package/dist/vue/components/Polygon.vue.d.ts +2 -1
  2587. package/dist/vue/components/Polygon.vue.d.ts.map +1 -1
  2588. package/dist/vue/components/Posterize.vue.d.ts +2 -1
  2589. package/dist/vue/components/Posterize.vue.d.ts.map +1 -1
  2590. package/dist/vue/components/Prism.vue.d.ts +64 -0
  2591. package/dist/vue/components/Prism.vue.d.ts.map +1 -0
  2592. package/dist/vue/components/ProgressiveBlur.vue.d.ts +2 -1
  2593. package/dist/vue/components/ProgressiveBlur.vue.d.ts.map +1 -1
  2594. package/dist/vue/components/RadialGradient.vue.d.ts +2 -1
  2595. package/dist/vue/components/RadialGradient.vue.d.ts.map +1 -1
  2596. package/dist/vue/components/RectangularCoordinates.vue.d.ts +2 -1
  2597. package/dist/vue/components/RectangularCoordinates.vue.d.ts.map +1 -1
  2598. package/dist/vue/components/ReflectivePlane.vue.d.ts +2 -1
  2599. package/dist/vue/components/ReflectivePlane.vue.d.ts.map +1 -1
  2600. package/dist/vue/components/Repeater.vue.d.ts +80 -0
  2601. package/dist/vue/components/Repeater.vue.d.ts.map +1 -0
  2602. package/dist/vue/components/Ring.vue.d.ts +2 -1
  2603. package/dist/vue/components/Ring.vue.d.ts.map +1 -1
  2604. package/dist/vue/components/Ripples.vue.d.ts +2 -1
  2605. package/dist/vue/components/Ripples.vue.d.ts.map +1 -1
  2606. package/dist/vue/components/RoundedRect.vue.d.ts +2 -1
  2607. package/dist/vue/components/RoundedRect.vue.d.ts.map +1 -1
  2608. package/dist/vue/components/Saturation.vue.d.ts +2 -1
  2609. package/dist/vue/components/Saturation.vue.d.ts.map +1 -1
  2610. package/dist/vue/components/Scratches.vue.d.ts +55 -0
  2611. package/dist/vue/components/Scratches.vue.d.ts.map +1 -0
  2612. package/dist/vue/components/Sharpness.vue.d.ts +2 -1
  2613. package/dist/vue/components/Sharpness.vue.d.ts.map +1 -1
  2614. package/dist/vue/components/Shatter.vue.d.ts +2 -1
  2615. package/dist/vue/components/Shatter.vue.d.ts.map +1 -1
  2616. package/dist/vue/components/SimplexNoise.vue.d.ts +2 -1
  2617. package/dist/vue/components/SimplexNoise.vue.d.ts.map +1 -1
  2618. package/dist/vue/components/SineWave.vue.d.ts +2 -1
  2619. package/dist/vue/components/SineWave.vue.d.ts.map +1 -1
  2620. package/dist/vue/components/Smoke.vue.d.ts +2 -1
  2621. package/dist/vue/components/Smoke.vue.d.ts.map +1 -1
  2622. package/dist/vue/components/SmokeFill.vue.d.ts +2 -1
  2623. package/dist/vue/components/SmokeFill.vue.d.ts.map +1 -1
  2624. package/dist/vue/components/SmokeFlow.vue.d.ts +55 -0
  2625. package/dist/vue/components/SmokeFlow.vue.d.ts.map +1 -0
  2626. package/dist/vue/components/Solarize.vue.d.ts +2 -1
  2627. package/dist/vue/components/Solarize.vue.d.ts.map +1 -1
  2628. package/dist/vue/components/SolidColor.vue.d.ts +2 -1
  2629. package/dist/vue/components/SolidColor.vue.d.ts.map +1 -1
  2630. package/dist/vue/components/Spherize.vue.d.ts +2 -1
  2631. package/dist/vue/components/Spherize.vue.d.ts.map +1 -1
  2632. package/dist/vue/components/Spiral.vue.d.ts +2 -1
  2633. package/dist/vue/components/Spiral.vue.d.ts.map +1 -1
  2634. package/dist/vue/components/Star.vue.d.ts +2 -1
  2635. package/dist/vue/components/Star.vue.d.ts.map +1 -1
  2636. package/dist/vue/components/Stone.vue.d.ts +55 -0
  2637. package/dist/vue/components/Stone.vue.d.ts.map +1 -0
  2638. package/dist/vue/components/Strands.vue.d.ts +6 -1
  2639. package/dist/vue/components/Strands.vue.d.ts.map +1 -1
  2640. package/dist/vue/components/Stretch.vue.d.ts +2 -1
  2641. package/dist/vue/components/Stretch.vue.d.ts.map +1 -1
  2642. package/dist/vue/components/Stripes.vue.d.ts +2 -1
  2643. package/dist/vue/components/Stripes.vue.d.ts.map +1 -1
  2644. package/dist/vue/components/StudioBackground.vue.d.ts +2 -1
  2645. package/dist/vue/components/StudioBackground.vue.d.ts.map +1 -1
  2646. package/dist/vue/components/SunBurst.vue.d.ts +2 -1
  2647. package/dist/vue/components/SunBurst.vue.d.ts.map +1 -1
  2648. package/dist/vue/components/Surface3D.vue.d.ts +55 -0
  2649. package/dist/vue/components/Surface3D.vue.d.ts.map +1 -0
  2650. package/dist/vue/components/Swirl.vue.d.ts +2 -1
  2651. package/dist/vue/components/Swirl.vue.d.ts.map +1 -1
  2652. package/dist/vue/components/Teardrop.vue.d.ts +56 -0
  2653. package/dist/vue/components/Teardrop.vue.d.ts.map +1 -0
  2654. package/dist/vue/components/Text.vue.d.ts +56 -0
  2655. package/dist/vue/components/Text.vue.d.ts.map +1 -0
  2656. package/dist/vue/components/ThinFilm.vue.d.ts +2 -1
  2657. package/dist/vue/components/ThinFilm.vue.d.ts.map +1 -1
  2658. package/dist/vue/components/TiltShift.vue.d.ts +2 -1
  2659. package/dist/vue/components/TiltShift.vue.d.ts.map +1 -1
  2660. package/dist/vue/components/Tint.vue.d.ts +2 -1
  2661. package/dist/vue/components/Tint.vue.d.ts.map +1 -1
  2662. package/dist/vue/components/Trapezoid.vue.d.ts +2 -1
  2663. package/dist/vue/components/Trapezoid.vue.d.ts.map +1 -1
  2664. package/dist/vue/components/TriangularGrid.vue.d.ts +60 -0
  2665. package/dist/vue/components/TriangularGrid.vue.d.ts.map +1 -0
  2666. package/dist/vue/components/Tritone.vue.d.ts +2 -1
  2667. package/dist/vue/components/Tritone.vue.d.ts.map +1 -1
  2668. package/dist/vue/components/Truchet.vue.d.ts +4 -1
  2669. package/dist/vue/components/Truchet.vue.d.ts.map +1 -1
  2670. package/dist/vue/components/Twirl.vue.d.ts +2 -1
  2671. package/dist/vue/components/Twirl.vue.d.ts.map +1 -1
  2672. package/dist/vue/components/VHS.vue.d.ts +2 -1
  2673. package/dist/vue/components/VHS.vue.d.ts.map +1 -1
  2674. package/dist/vue/components/Vesica.vue.d.ts +2 -1
  2675. package/dist/vue/components/Vesica.vue.d.ts.map +1 -1
  2676. package/dist/vue/components/Vibrance.vue.d.ts +2 -1
  2677. package/dist/vue/components/Vibrance.vue.d.ts.map +1 -1
  2678. package/dist/vue/components/VideoTexture.vue.d.ts +2 -1
  2679. package/dist/vue/components/VideoTexture.vue.d.ts.map +1 -1
  2680. package/dist/vue/components/Vignette.vue.d.ts +2 -1
  2681. package/dist/vue/components/Vignette.vue.d.ts.map +1 -1
  2682. package/dist/vue/components/Voronoi.vue.d.ts +2 -1
  2683. package/dist/vue/components/Voronoi.vue.d.ts.map +1 -1
  2684. package/dist/vue/components/Water.vue.d.ts +56 -0
  2685. package/dist/vue/components/Water.vue.d.ts.map +1 -0
  2686. package/dist/vue/components/Watercolor.vue.d.ts +58 -0
  2687. package/dist/vue/components/Watercolor.vue.d.ts.map +1 -0
  2688. package/dist/vue/components/WaveDistortion.vue.d.ts +2 -1
  2689. package/dist/vue/components/WaveDistortion.vue.d.ts.map +1 -1
  2690. package/dist/vue/components/WaveletNoise.vue.d.ts +57 -0
  2691. package/dist/vue/components/WaveletNoise.vue.d.ts.map +1 -0
  2692. package/dist/vue/components/Weave.vue.d.ts +2 -1
  2693. package/dist/vue/components/Weave.vue.d.ts.map +1 -1
  2694. package/dist/vue/components/WebcamTexture.vue.d.ts +2 -1
  2695. package/dist/vue/components/WebcamTexture.vue.d.ts.map +1 -1
  2696. package/dist/vue/components/Wool.vue.d.ts +55 -0
  2697. package/dist/vue/components/Wool.vue.d.ts.map +1 -0
  2698. package/dist/vue/components/WorleyNoise.vue.d.ts +2 -1
  2699. package/dist/vue/components/WorleyNoise.vue.d.ts.map +1 -1
  2700. package/dist/vue/components/ZoomBlur.vue.d.ts +2 -1
  2701. package/dist/vue/components/ZoomBlur.vue.d.ts.map +1 -1
  2702. package/dist/vue/engine/Shader.vue.d.ts +20 -0
  2703. package/dist/vue/engine/Shader.vue.d.ts.map +1 -1
  2704. package/dist/vue/index.d.ts +47 -0
  2705. package/dist/vue/index.d.ts.map +1 -1
  2706. package/dist/vue/index.js +48 -1
  2707. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  2708. package/dist/vue/utils/generatePresetCode.js +1066 -21
  2709. package/dist/vue/utils/generatePresetCode.template.d.ts.map +1 -1
  2710. package/package.json +349 -3
  2711. package/dist/core/AngularBlur-C1oRJ8Y9.js +0 -75
  2712. package/dist/core/Ascii-BwSMmD6Z.js +0 -421
  2713. package/dist/core/Aurora-D5Pjk4ve.js +0 -241
  2714. package/dist/core/BarShift-2XBhva1A.js +0 -141
  2715. package/dist/core/Beam-B3BX08lR.js +0 -147
  2716. package/dist/core/Blob-BT50tDXE.js +0 -246
  2717. package/dist/core/Blur-1GcG1L1y.js +0 -154
  2718. package/dist/core/BrickPattern-BfTsjp4I.js +0 -175
  2719. package/dist/core/BrightnessContrast-GppIqtkO.js +0 -45
  2720. package/dist/core/Bulge-DMOATSEs.js +0 -118
  2721. package/dist/core/CRTScreen-corekL_R.js +0 -148
  2722. package/dist/core/ChannelBlur-CxlVaYGM.js +0 -160
  2723. package/dist/core/Checkerboard-BVBGTvd-.js +0 -84
  2724. package/dist/core/Chevron-BKZjAXR_.js +0 -142
  2725. package/dist/core/ChromaFlow-C0guw_LP.js +0 -233
  2726. package/dist/core/ChromaticAberration-DZOcs-bZ.js +0 -94
  2727. package/dist/core/Circle-BycqVCMt.js +0 -149
  2728. package/dist/core/ColorWheel-BQUKQPM-.js +0 -140
  2729. package/dist/core/ConcentricSpin-CO3Kx1I1.js +0 -175
  2730. package/dist/core/ConicGradient-DRvVwiSj.js +0 -92
  2731. package/dist/core/ContourLines-s4waN3uU.js +0 -164
  2732. package/dist/core/Crescent-ppz7W7eM.js +0 -186
  2733. package/dist/core/Cross-BfNOtQ6s.js +0 -186
  2734. package/dist/core/Crystal-QsQoy8fZ.js +0 -402
  2735. package/dist/core/CursorRipples-CLP7Sinv.js +0 -290
  2736. package/dist/core/CursorTrail-CshoSM5Y.js +0 -264
  2737. package/dist/core/DOMTexture-Ec0k6AnK.js +0 -97
  2738. package/dist/core/DiamondGradient-D6eyjZOn.js +0 -123
  2739. package/dist/core/DiffuseBlur-BjvXHmJx.js +0 -68
  2740. package/dist/core/Dither-z6s-TFg7.js +0 -232
  2741. package/dist/core/DotGrid-BxAAGO4F.js +0 -86
  2742. package/dist/core/DropShadow-CR3cecIQ.js +0 -152
  2743. package/dist/core/Duotone-PwTfBBtM.js +0 -63
  2744. package/dist/core/Ellipse-sWhNvW9-.js +0 -174
  2745. package/dist/core/Emboss-DGaubb9x.js +0 -198
  2746. package/dist/core/Exposure-CFn2J_t3.js +0 -29
  2747. package/dist/core/FallingLines-9elMmSlj.js +0 -186
  2748. package/dist/core/FilmGrain-DIydVgOW.js +0 -60
  2749. package/dist/core/FloatingParticles-B068TLIi.js +0 -340
  2750. package/dist/core/FlowField-CeZjhyEo.js +0 -125
  2751. package/dist/core/Flower-DSr0JWa2.js +0 -186
  2752. package/dist/core/FlowingGradient-Bd8KBK5P.js +0 -145
  2753. package/dist/core/FlutedGlass-BJtMfV2c.js +0 -320
  2754. package/dist/core/Fog-BQuVDReH.js +0 -675
  2755. package/dist/core/Form3D-DOek31CJ.js +0 -586
  2756. package/dist/core/FractalNoise-Dyhbvx9a.js +0 -184
  2757. package/dist/core/Glass-D8DayF1P.js +0 -447
  2758. package/dist/core/GlassTiles-Bb3cuOkr.js +0 -91
  2759. package/dist/core/Glitch-zqdbCc2E.js +0 -169
  2760. package/dist/core/Glow-chsUpCyj.js +0 -204
  2761. package/dist/core/Godrays-DdSLZtBs.js +0 -155
  2762. package/dist/core/Grayscale-BC40hfXH.js +0 -18
  2763. package/dist/core/Grid-Lc4S0Hmp.js +0 -94
  2764. package/dist/core/GridDistortion-DQcPYbXS.js +0 -279
  2765. package/dist/core/Group-BeZhHbOT.js +0 -13
  2766. package/dist/core/Halftone-CsblgxnY.js +0 -287
  2767. package/dist/core/HexGrid-DWRNPMET.js +0 -85
  2768. package/dist/core/HueShift-C-p9W5sr.js +0 -50
  2769. package/dist/core/ImageTexture-bqgQxAt9.js +0 -207
  2770. package/dist/core/Invert-D-RVP34v.js +0 -18
  2771. package/dist/core/Kaleidoscope-HQNQrRP_.js +0 -103
  2772. package/dist/core/LensFlare-DtES749p.js +0 -371
  2773. package/dist/core/LinearBlur-6mCJ9fY5.js +0 -65
  2774. package/dist/core/LinearGradient-DIbCAHc7.js +0 -155
  2775. package/dist/core/Liquify-8dcdv2Sl.js +0 -352
  2776. package/dist/core/Marble-DX29RG-p.js +0 -124
  2777. package/dist/core/Mirror-BM2xf3Nr.js +0 -89
  2778. package/dist/core/MultiPointGradient-BzM24vnR.js +0 -181
  2779. package/dist/core/Neon-nPiMi3wt.js +0 -378
  2780. package/dist/core/Paper-Ddpe8-EI.js +0 -93
  2781. package/dist/core/Perspective-BIKpqd4H.js +0 -146
  2782. package/dist/core/Pixelate-Cp0-lwkG.js +0 -68
  2783. package/dist/core/Plasma-M--gLd1Q.js +0 -136
  2784. package/dist/core/PolarCoordinates-C42rlD2q.js +0 -108
  2785. package/dist/core/Polygon-CKqH0ApY.js +0 -189
  2786. package/dist/core/Posterize-B6ZhRkH2.js +0 -29
  2787. package/dist/core/ProgressiveBlur-By_PgPtK.js +0 -249
  2788. package/dist/core/RadialGradient-SHxJ9ZNF.js +0 -123
  2789. package/dist/core/RectangularCoordinates-Dw6Xr9uV.js +0 -96
  2790. package/dist/core/ReflectivePlane-VjZ1E5B0.js +0 -230
  2791. package/dist/core/Ring-V4sEHwwm.js +0 -157
  2792. package/dist/core/Ripples-DC1y3YuP.js +0 -123
  2793. package/dist/core/RoundedRect-JY2z6YEH.js +0 -186
  2794. package/dist/core/Saturation-ChJ9IWnl.js +0 -31
  2795. package/dist/core/Sharpness-C1ufX8S-.js +0 -45
  2796. package/dist/core/Shatter-Du5THcwZ.js +0 -421
  2797. package/dist/core/SimplexNoise--vwIZVu0.js +0 -117
  2798. package/dist/core/SineWave-BIVPG3oc.js +0 -128
  2799. package/dist/core/Smoke-DSBQreo0.js +0 -630
  2800. package/dist/core/SmokeFill-Dy-0kjsX.js +0 -642
  2801. package/dist/core/Solarize-BymZlSu0.js +0 -47
  2802. package/dist/core/SolidColor-D8XC4aoJ.js +0 -21
  2803. package/dist/core/Spherize-tRTB4WdO.js +0 -131
  2804. package/dist/core/Spiral-CiDp2Tg2.js +0 -142
  2805. package/dist/core/Star-Cp4dt6Fl.js +0 -186
  2806. package/dist/core/Strands-V3q8N-y1.js +0 -168
  2807. package/dist/core/Stretch-CTgtc3nG.js +0 -119
  2808. package/dist/core/Stripes-CZV6oGMy.js +0 -137
  2809. package/dist/core/StudioBackground-CWSHq6vE.js +0 -337
  2810. package/dist/core/SunBurst-CskZwXc3.js +0 -127
  2811. package/dist/core/Swirl-CyGfVZ8n.js +0 -105
  2812. package/dist/core/ThinFilm-CUsi8eSg.js +0 -305
  2813. package/dist/core/TiltShift-vG90NlLr.js +0 -278
  2814. package/dist/core/Tint-R7y5CJ4U.js +0 -64
  2815. package/dist/core/Trapezoid-BXzH--z9.js +0 -186
  2816. package/dist/core/Tritone-CF4Oj1sl.js +0 -76
  2817. package/dist/core/Truchet-BL4jzZDX.js +0 -100
  2818. package/dist/core/Twirl-BVLPHKJD.js +0 -91
  2819. package/dist/core/VHS-B2IBdQgX.js +0 -123
  2820. package/dist/core/Vesica-DzIEa3aJ.js +0 -174
  2821. package/dist/core/Vibrance-jrvT49Du.js +0 -33
  2822. package/dist/core/VideoTexture-FmV1l91c.js +0 -215
  2823. package/dist/core/Vignette-ng_5gjXc.js +0 -84
  2824. package/dist/core/Voronoi-C8iIU7AT.js +0 -152
  2825. package/dist/core/WaveDistortion-Crt9JSXN.js +0 -193
  2826. package/dist/core/Weave-CFmLkEaq.js +0 -95
  2827. package/dist/core/WebcamTexture-DlS4MCDm.js +0 -200
  2828. package/dist/core/WorleyNoise-CEZiaVAN.js +0 -323
  2829. package/dist/core/ZoomBlur-DTVSwIvc.js +0 -68
  2830. package/dist/core/alpha-C4ptedXe.js +0 -6
  2831. package/dist/core/blendModes/color.d.ts +0 -4
  2832. package/dist/core/blendModes/color.d.ts.map +0 -1
  2833. package/dist/core/blendModes/colorBurn.d.ts +0 -4
  2834. package/dist/core/blendModes/colorBurn.d.ts.map +0 -1
  2835. package/dist/core/blendModes/colorDodge.d.ts +0 -4
  2836. package/dist/core/blendModes/colorDodge.d.ts.map +0 -1
  2837. package/dist/core/blendModes/darken.d.ts +0 -4
  2838. package/dist/core/blendModes/darken.d.ts.map +0 -1
  2839. package/dist/core/blendModes/difference.d.ts +0 -4
  2840. package/dist/core/blendModes/difference.d.ts.map +0 -1
  2841. package/dist/core/blendModes/exclusion.d.ts +0 -4
  2842. package/dist/core/blendModes/exclusion.d.ts.map +0 -1
  2843. package/dist/core/blendModes/hardLight.d.ts +0 -4
  2844. package/dist/core/blendModes/hardLight.d.ts.map +0 -1
  2845. package/dist/core/blendModes/hue.d.ts +0 -4
  2846. package/dist/core/blendModes/hue.d.ts.map +0 -1
  2847. package/dist/core/blendModes/index.d.ts +0 -51
  2848. package/dist/core/blendModes/index.d.ts.map +0 -1
  2849. package/dist/core/blendModes/lighten.d.ts +0 -4
  2850. package/dist/core/blendModes/lighten.d.ts.map +0 -1
  2851. package/dist/core/blendModes/linearBurn.d.ts +0 -4
  2852. package/dist/core/blendModes/linearBurn.d.ts.map +0 -1
  2853. package/dist/core/blendModes/linearDodge.d.ts +0 -4
  2854. package/dist/core/blendModes/linearDodge.d.ts.map +0 -1
  2855. package/dist/core/blendModes/luminosity.d.ts +0 -4
  2856. package/dist/core/blendModes/luminosity.d.ts.map +0 -1
  2857. package/dist/core/blendModes/multiply.d.ts +0 -4
  2858. package/dist/core/blendModes/multiply.d.ts.map +0 -1
  2859. package/dist/core/blendModes/normal-oklab.d.ts +0 -4
  2860. package/dist/core/blendModes/normal-oklab.d.ts.map +0 -1
  2861. package/dist/core/blendModes/normal-oklch.d.ts +0 -4
  2862. package/dist/core/blendModes/normal-oklch.d.ts.map +0 -1
  2863. package/dist/core/blendModes/normal.d.ts +0 -4
  2864. package/dist/core/blendModes/normal.d.ts.map +0 -1
  2865. package/dist/core/blendModes/overlay.d.ts +0 -4
  2866. package/dist/core/blendModes/overlay.d.ts.map +0 -1
  2867. package/dist/core/blendModes/saturation.d.ts +0 -4
  2868. package/dist/core/blendModes/saturation.d.ts.map +0 -1
  2869. package/dist/core/blendModes/screen.d.ts +0 -4
  2870. package/dist/core/blendModes/screen.d.ts.map +0 -1
  2871. package/dist/core/blendModes/softLight.d.ts +0 -4
  2872. package/dist/core/blendModes/softLight.d.ts.map +0 -1
  2873. package/dist/core/blendModes/utils.d.ts +0 -4
  2874. package/dist/core/blendModes/utils.d.ts.map +0 -1
  2875. package/dist/core/browser-CDogs09U.js +0 -6
  2876. package/dist/core/colorMixing-BPpDnR5I.js +0 -217
  2877. package/dist/core/computeBlur-oxyhoztH.js +0 -216
  2878. package/dist/core/edges-CX_lJB9R.js +0 -37
  2879. package/dist/core/effects/emboss.d.ts +0 -25
  2880. package/dist/core/effects/emboss.d.ts.map +0 -1
  2881. package/dist/core/effects/glass.d.ts +0 -65
  2882. package/dist/core/effects/glass.d.ts.map +0 -1
  2883. package/dist/core/effects/neon.d.ts +0 -64
  2884. package/dist/core/effects/neon.d.ts.map +0 -1
  2885. package/dist/core/effects/raymarch3d.d.ts +0 -32
  2886. package/dist/core/effects/raymarch3d.d.ts.map +0 -1
  2887. package/dist/core/effects/thinFilm.d.ts +0 -81
  2888. package/dist/core/effects/thinFilm.d.ts.map +0 -1
  2889. package/dist/core/helpers/distort.d.ts +0 -2
  2890. package/dist/core/helpers/distort.d.ts.map +0 -1
  2891. package/dist/core/helpers/edgeMask.d.ts +0 -11
  2892. package/dist/core/helpers/edgeMask.d.ts.map +0 -1
  2893. package/dist/core/helpers/glow.d.ts +0 -5
  2894. package/dist/core/helpers/glow.d.ts.map +0 -1
  2895. package/dist/core/helpers/grain.d.ts +0 -5
  2896. package/dist/core/helpers/grain.d.ts.map +0 -1
  2897. package/dist/core/masks/alpha.d.ts +0 -11
  2898. package/dist/core/masks/alpha.d.ts.map +0 -1
  2899. package/dist/core/masks/alphaInverted.d.ts +0 -11
  2900. package/dist/core/masks/alphaInverted.d.ts.map +0 -1
  2901. package/dist/core/masks/index.d.ts +0 -13
  2902. package/dist/core/masks/index.d.ts.map +0 -1
  2903. package/dist/core/masks/luminance.d.ts +0 -12
  2904. package/dist/core/masks/luminance.d.ts.map +0 -1
  2905. package/dist/core/masks/luminanceInverted.d.ts +0 -12
  2906. package/dist/core/masks/luminanceInverted.d.ts.map +0 -1
  2907. package/dist/core/renderer.d.ts +0 -214
  2908. package/dist/core/renderer.d.ts.map +0 -1
  2909. package/dist/core/sdf-D_EAGXhN.js +0 -235
  2910. package/dist/core/shaderRegistry-BVFBmRN3.js +0 -276
  2911. package/dist/core/shaders/Form3D/shapes/box.d.ts +0 -14
  2912. package/dist/core/shaders/Form3D/shapes/box.d.ts.map +0 -1
  2913. package/dist/core/shaders/Form3D/shapes/capsule.d.ts +0 -14
  2914. package/dist/core/shaders/Form3D/shapes/capsule.d.ts.map +0 -1
  2915. package/dist/core/shaders/Form3D/shapes/mobius.d.ts +0 -15
  2916. package/dist/core/shaders/Form3D/shapes/mobius.d.ts.map +0 -1
  2917. package/dist/core/shaders/Form3D/shapes/ribbon.d.ts +0 -14
  2918. package/dist/core/shaders/Form3D/shapes/ribbon.d.ts.map +0 -1
  2919. package/dist/core/shaders/Form3D/shapes/rotation.d.ts +0 -5
  2920. package/dist/core/shaders/Form3D/shapes/rotation.d.ts.map +0 -1
  2921. package/dist/core/shaders/Form3D/shapes/sphere.d.ts +0 -13
  2922. package/dist/core/shaders/Form3D/shapes/sphere.d.ts.map +0 -1
  2923. package/dist/core/shaders/Form3D/shapes/torus.d.ts +0 -14
  2924. package/dist/core/shaders/Form3D/shapes/torus.d.ts.map +0 -1
  2925. package/dist/core/time-DUqSFWvT.js +0 -15
  2926. package/dist/core/transformations-CJcUeZIC.js +0 -4801
  2927. package/dist/core/utilities/alpha.d.ts +0 -15
  2928. package/dist/core/utilities/alpha.d.ts.map +0 -1
  2929. package/dist/core/utilities/colorMixing.d.ts +0 -19
  2930. package/dist/core/utilities/colorMixing.d.ts.map +0 -1
  2931. package/dist/core/utilities/computeBlur.d.ts +0 -50
  2932. package/dist/core/utilities/computeBlur.d.ts.map +0 -1
  2933. package/dist/core/utilities/edges.d.ts +0 -25
  2934. package/dist/core/utilities/edges.d.ts.map +0 -1
  2935. package/dist/core/utilities/renderTarget.d.ts +0 -22
  2936. package/dist/core/utilities/renderTarget.d.ts.map +0 -1
  2937. package/dist/core/utilities/sdf.d.ts +0 -137
  2938. package/dist/core/utilities/sdf.d.ts.map +0 -1
  2939. package/dist/core/utilities/time.d.ts +0 -26
  2940. package/dist/core/utilities/time.d.ts.map +0 -1
  2941. package/dist/core/utilities/uniforms.d.ts +0 -5
  2942. package/dist/core/utilities/uniforms.d.ts.map +0 -1
  2943. package/dist/core/utilities/uv.d.ts +0 -9
  2944. package/dist/core/utilities/uv.d.ts.map +0 -1
@@ -1,385 +1,899 @@
1
- import { t as applyEdgeHandling } from "./edges-CX_lJB9R.js";
2
- import { a as transformColor, l as transformPosition, n as setColorSpaceMode, s as transformColorUpdate, u as transformPositionUpdate } from "./transformations-CJcUeZIC.js";
3
- import "./alpha-C4ptedXe.js";
4
- import "./AngularBlur-C1oRJ8Y9.js";
5
- import "./Ascii-BwSMmD6Z.js";
6
- import "./colorMixing-BPpDnR5I.js";
7
- import { t as createAnimatedTime } from "./time-DUqSFWvT.js";
8
- import "./Aurora-D5Pjk4ve.js";
9
- import "./BarShift-2XBhva1A.js";
10
- import "./Beam-B3BX08lR.js";
11
- import "./Blob-BT50tDXE.js";
12
- import "./computeBlur-oxyhoztH.js";
13
- import "./Blur-1GcG1L1y.js";
14
- import "./BrickPattern-BfTsjp4I.js";
15
- import "./BrightnessContrast-GppIqtkO.js";
16
- import "./Bulge-DMOATSEs.js";
17
- import "./ChannelBlur-CxlVaYGM.js";
18
- import "./Checkerboard-BVBGTvd-.js";
19
- import "./Chevron-BKZjAXR_.js";
20
- import "./ChromaFlow-C0guw_LP.js";
21
- import "./ChromaticAberration-DZOcs-bZ.js";
22
- import "./Circle-BycqVCMt.js";
23
- import "./ColorWheel-BQUKQPM-.js";
24
- import "./ConcentricSpin-CO3Kx1I1.js";
25
- import "./ConicGradient-DRvVwiSj.js";
26
- import "./ContourLines-s4waN3uU.js";
27
- import "./sdf-D_EAGXhN.js";
28
- import "./Crescent-ppz7W7eM.js";
29
- import "./Cross-BfNOtQ6s.js";
30
- import "./CRTScreen-corekL_R.js";
31
- import "./Crystal-QsQoy8fZ.js";
32
- import "./CursorRipples-CLP7Sinv.js";
33
- import "./CursorTrail-CshoSM5Y.js";
34
- import "./DiamondGradient-D6eyjZOn.js";
35
- import "./DiffuseBlur-BjvXHmJx.js";
36
- import "./Dither-z6s-TFg7.js";
37
- import "./DOMTexture-Ec0k6AnK.js";
38
- import "./DotGrid-BxAAGO4F.js";
39
- import "./DropShadow-CR3cecIQ.js";
40
- import "./Duotone-PwTfBBtM.js";
41
- import "./Ellipse-sWhNvW9-.js";
42
- import "./Emboss-DGaubb9x.js";
43
- import "./Exposure-CFn2J_t3.js";
44
- import "./FallingLines-9elMmSlj.js";
45
- import "./FilmGrain-DIydVgOW.js";
46
- import "./FloatingParticles-B068TLIi.js";
47
- import "./Flower-DSr0JWa2.js";
48
- import "./FlowField-CeZjhyEo.js";
49
- import "./FlowingGradient-Bd8KBK5P.js";
50
- import "./FlutedGlass-BJtMfV2c.js";
51
- import "./Fog-BQuVDReH.js";
52
- import "./Form3D-DOek31CJ.js";
53
- import "./FractalNoise-Dyhbvx9a.js";
54
- import "./Glass-D8DayF1P.js";
55
- import "./GlassTiles-Bb3cuOkr.js";
56
- import "./Glitch-zqdbCc2E.js";
57
- import "./Glow-chsUpCyj.js";
58
- import "./Godrays-DdSLZtBs.js";
59
- import "./Grayscale-BC40hfXH.js";
60
- import "./Grid-Lc4S0Hmp.js";
61
- import "./GridDistortion-DQcPYbXS.js";
62
- import "./Group-BeZhHbOT.js";
63
- import "./Halftone-CsblgxnY.js";
64
- import "./HexGrid-DWRNPMET.js";
65
- import "./HueShift-C-p9W5sr.js";
66
- import "./ImageTexture-bqgQxAt9.js";
67
- import "./Invert-D-RVP34v.js";
68
- import "./Kaleidoscope-HQNQrRP_.js";
69
- import "./LensFlare-DtES749p.js";
70
- import "./LinearBlur-6mCJ9fY5.js";
71
- import "./LinearGradient-DIbCAHc7.js";
72
- import "./Liquify-8dcdv2Sl.js";
73
- import "./Marble-DX29RG-p.js";
74
- import "./Mirror-BM2xf3Nr.js";
75
- import "./MultiPointGradient-BzM24vnR.js";
76
- import "./Neon-nPiMi3wt.js";
77
- import "./Paper-Ddpe8-EI.js";
78
- import "./Perspective-BIKpqd4H.js";
79
- import "./Pixelate-Cp0-lwkG.js";
80
- import "./Plasma-M--gLd1Q.js";
81
- import "./PolarCoordinates-C42rlD2q.js";
82
- import "./Polygon-CKqH0ApY.js";
83
- import "./Posterize-B6ZhRkH2.js";
84
- import "./ProgressiveBlur-By_PgPtK.js";
85
- import "./RadialGradient-SHxJ9ZNF.js";
86
- import "./RectangularCoordinates-Dw6Xr9uV.js";
87
- import "./ReflectivePlane-VjZ1E5B0.js";
88
- import "./Ring-V4sEHwwm.js";
89
- import "./Ripples-DC1y3YuP.js";
90
- import "./RoundedRect-JY2z6YEH.js";
91
- import "./Saturation-ChJ9IWnl.js";
92
- import "./Sharpness-C1ufX8S-.js";
93
- import "./Shatter-Du5THcwZ.js";
94
- import "./SimplexNoise--vwIZVu0.js";
95
- import "./SineWave-BIVPG3oc.js";
96
- import "./Smoke-DSBQreo0.js";
97
- import "./SmokeFill-Dy-0kjsX.js";
98
- import "./Solarize-BymZlSu0.js";
99
- import "./SolidColor-D8XC4aoJ.js";
100
- import "./Spherize-tRTB4WdO.js";
101
- import "./Spiral-CiDp2Tg2.js";
102
- import "./Star-Cp4dt6Fl.js";
103
- import "./Strands-V3q8N-y1.js";
104
- import "./Stretch-CTgtc3nG.js";
105
- import "./Stripes-CZV6oGMy.js";
106
- import "./StudioBackground-CWSHq6vE.js";
107
- import "./SunBurst-CskZwXc3.js";
108
- import "./Swirl-CyGfVZ8n.js";
109
- import "./ThinFilm-CUsi8eSg.js";
110
- import "./TiltShift-vG90NlLr.js";
111
- import "./Tint-R7y5CJ4U.js";
112
- import "./Trapezoid-BXzH--z9.js";
113
- import "./Tritone-CF4Oj1sl.js";
114
- import "./Truchet-BL4jzZDX.js";
115
- import "./Twirl-BVLPHKJD.js";
116
- import "./Vesica-DzIEa3aJ.js";
117
- import "./VHS-B2IBdQgX.js";
118
- import "./Vibrance-jrvT49Du.js";
119
- import "./browser-CDogs09U.js";
120
- import "./VideoTexture-FmV1l91c.js";
121
- import "./Vignette-ng_5gjXc.js";
122
- import "./Voronoi-C8iIU7AT.js";
123
- import "./WaveDistortion-Crt9JSXN.js";
124
- import "./Weave-CFmLkEaq.js";
125
- import "./WebcamTexture-DlS4MCDm.js";
126
- import "./WorleyNoise-CEZiaVAN.js";
127
- import "./ZoomBlur-DTVSwIvc.js";
128
- import { t as getAllShaders } from "./shaderRegistry-BVFBmRN3.js";
129
- import { ACESFilmicToneMapping, AgXToneMapping, CineonToneMapping, Material, Mesh, MeshBasicNodeMaterial, NeutralToneMapping, NoToneMapping, OrthographicCamera, PlaneGeometry, ReinhardToneMapping, SRGBColorSpace, Scene, Vector2, WebGPURenderer } from "three/webgpu";
130
- import { WebGLRenderer } from "three";
131
- import { PI, abs, add, atan, clamp, convertToTexture, cos, div, dot, float, fract, max, min, mix, mul, pow, screenUV, sign, sin, smoothstep, sqrt, step, sub, time, uniform, uv, vec2, vec3, vec4 } from "three/tsl";
132
- function normal_default(base, overlay, opacity = 1) {
133
- const overlayAlpha = mul(overlay.a, opacity);
134
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
135
- return vec4(add(mul(overlay.rgb, overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
136
- }
137
- var p3ToSRGB$1 = (p3) => {
138
- return vec3(p3.x.mul(1.2249401).sub(p3.y.mul(.2249404)).sub(p3.z.mul(0)), p3.x.mul(-.0420569).add(p3.y.mul(1.0420571)).add(p3.z.mul(0)), p3.x.mul(-.0196376).sub(p3.y.mul(.0786361)).add(p3.z.mul(1.0982735)));
139
- };
140
- var sRGBToP3$1 = (srgb) => {
141
- return vec3(srgb.x.mul(.8224621).add(srgb.y.mul(.177538)).add(srgb.z.mul(0)), srgb.x.mul(.0331941).add(srgb.y.mul(.9668058)).add(srgb.z.mul(0)), srgb.x.mul(.0170826).add(srgb.y.mul(.0723974)).add(srgb.z.mul(.9105199)));
142
- };
143
- var rgbToOklab$1 = (rgb) => {
144
- const r = rgb.x;
145
- const g = rgb.y;
146
- const b = rgb.z;
147
- const l = r.mul(.4122214708).add(g.mul(.5363325363)).add(b.mul(.0514459929));
148
- const m = r.mul(.2119034982).add(g.mul(.6806995451).add(b.mul(.1073969566)));
149
- const s = r.mul(.0883024619).add(g.mul(.2817188376)).add(b.mul(.6299787005));
150
- const l_ = sign(l).mul(pow(abs(l), float(1 / 3)));
151
- const m_ = sign(m).mul(pow(abs(m), float(1 / 3)));
152
- const s_ = sign(s).mul(pow(abs(s), float(1 / 3)));
153
- return vec3(l_.mul(.2104542553).add(m_.mul(.793617785)).sub(s_.mul(.0040720468)), l_.mul(1.9779984951).sub(m_.mul(2.428592205)).add(s_.mul(.4505937099)), l_.mul(.0259040371).add(m_.mul(.7827717662)).sub(s_.mul(.808675766)));
154
- };
155
- var oklabToRgb$1 = (lab) => {
156
- const L = lab.x;
157
- const a = lab.y;
158
- const b = lab.z;
159
- const l_ = L.add(a.mul(.3963377774)).add(b.mul(.2158037573));
160
- const m_ = L.sub(a.mul(.1055613458)).sub(b.mul(.0638541728));
161
- const s_ = L.sub(a.mul(.0894841775)).sub(b.mul(1.291485548));
162
- const l = pow(l_, float(3));
163
- const m = pow(m_, float(3));
164
- const s = pow(s_, float(3));
165
- return vec3(l.mul(4.0767416621).sub(m.mul(3.3077115913)).add(s.mul(.2309699292)), l.mul(-1.2684380046).add(m.mul(2.6097574011)).sub(s.mul(.3413193965)), l.mul(-.0041960863).sub(m.mul(.7034186147)).add(s.mul(1.707614701)));
166
- };
167
- var oklabToOklch = (lab) => {
168
- const L = lab.x;
169
- const a = lab.y;
170
- const b = lab.z;
171
- return vec3(L, sqrt(a.mul(a).add(b.mul(b))), atan(b, a));
172
- };
173
- var oklchToOklab = (lch) => {
174
- const L = lch.x;
175
- const C = lch.y;
176
- const h = lch.z;
177
- return vec3(L, C.mul(cos(h)), C.mul(sin(h)));
178
- };
179
- function normal_oklch_default(base, overlay, opacity = 1) {
180
- const overlayAlpha = mul(overlay.a, opacity);
181
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
182
- const baseSRGB = p3ToSRGB$1(vec3(base.r, base.g, base.b));
183
- const overlaySRGB = p3ToSRGB$1(vec3(overlay.r, overlay.g, overlay.b));
184
- const baseOklab = rgbToOklab$1(baseSRGB);
185
- const overlayOklab = rgbToOklab$1(overlaySRGB);
186
- const baseOklch = oklabToOklch(baseOklab);
187
- return vec4(sRGBToP3$1(oklabToRgb$1(oklchToOklab(add(mul(oklabToOklch(overlayOklab), overlayAlpha), mul(baseOklch, mul(base.a, sub(1, overlayAlpha))))))), finalAlpha);
188
- }
189
- var p3ToSRGB = (p3) => {
190
- return vec3(p3.x.mul(1.2249401).sub(p3.y.mul(.2249404)).sub(p3.z.mul(0)), p3.x.mul(-.0420569).add(p3.y.mul(1.0420571)).add(p3.z.mul(0)), p3.x.mul(-.0196376).sub(p3.y.mul(.0786361)).add(p3.z.mul(1.0982735)));
191
- };
192
- var sRGBToP3 = (srgb) => {
193
- return vec3(srgb.x.mul(.8224621).add(srgb.y.mul(.177538)).add(srgb.z.mul(0)), srgb.x.mul(.0331941).add(srgb.y.mul(.9668058)).add(srgb.z.mul(0)), srgb.x.mul(.0170826).add(srgb.y.mul(.0723974)).add(srgb.z.mul(.9105199)));
194
- };
195
- var rgbToOklab = (rgb) => {
196
- const r = rgb.x;
197
- const g = rgb.y;
198
- const b = rgb.z;
199
- const l = r.mul(.4122214708).add(g.mul(.5363325363)).add(b.mul(.0514459929));
200
- const m = r.mul(.2119034982).add(g.mul(.6806995451).add(b.mul(.1073969566)));
201
- const s = r.mul(.0883024619).add(g.mul(.2817188376)).add(b.mul(.6299787005));
202
- const l_ = sign(l).mul(pow(abs(l), float(1 / 3)));
203
- const m_ = sign(m).mul(pow(abs(m), float(1 / 3)));
204
- const s_ = sign(s).mul(pow(abs(s), float(1 / 3)));
205
- return vec3(l_.mul(.2104542553).add(m_.mul(.793617785)).sub(s_.mul(.0040720468)), l_.mul(1.9779984951).sub(m_.mul(2.428592205)).add(s_.mul(.4505937099)), l_.mul(.0259040371).add(m_.mul(.7827717662)).sub(s_.mul(.808675766)));
206
- };
207
- var oklabToRgb = (lab) => {
208
- const L = lab.x;
209
- const a = lab.y;
210
- const b = lab.z;
211
- const l_ = L.add(a.mul(.3963377774)).add(b.mul(.2158037573));
212
- const m_ = L.sub(a.mul(.1055613458)).sub(b.mul(.0638541728));
213
- const s_ = L.sub(a.mul(.0894841775)).sub(b.mul(1.291485548));
214
- const l = pow(l_, float(3));
215
- const m = pow(m_, float(3));
216
- const s = pow(s_, float(3));
217
- return vec3(l.mul(4.0767416621).sub(m.mul(3.3077115913)).add(s.mul(.2309699292)), l.mul(-1.2684380046).add(m.mul(2.6097574011)).sub(s.mul(.3413193965)), l.mul(-.0041960863).sub(m.mul(.7034186147)).add(s.mul(1.707614701)));
218
- };
219
- function normal_oklab_default(base, overlay, opacity = 1) {
220
- const overlayAlpha = mul(overlay.a, opacity);
221
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
222
- const baseSRGB = p3ToSRGB(vec3(base.r, base.g, base.b));
223
- const overlaySRGB = p3ToSRGB(vec3(overlay.r, overlay.g, overlay.b));
224
- const baseOklab = rgbToOklab(baseSRGB);
225
- return vec4(sRGBToP3(oklabToRgb(add(mul(rgbToOklab(overlaySRGB), overlayAlpha), mul(baseOklab, mul(base.a, sub(1, overlayAlpha)))))), finalAlpha);
226
- }
227
- function multiply_default(base, overlay, opacity = 1) {
228
- const overlayAlpha = mul(overlay.a, opacity);
229
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
230
- return vec4(add(mul(mul(base.rgb, overlay.rgb), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
231
- }
232
- function screen_default(base, overlay, opacity = 1) {
233
- const overlayAlpha = mul(overlay.a, opacity);
234
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
235
- return vec4(add(mul(sub(1, mul(sub(1, base.rgb), sub(1, overlay.rgb))), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
236
- }
237
- function linearDodge_default(base, overlay, opacity = 1) {
238
- const overlayAlpha = mul(overlay.a, opacity);
239
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
240
- return vec4(add(mul(add(base.rgb, overlay.rgb), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
241
- }
242
- function overlay_default(base, overlay, opacity = 1) {
243
- const overlayAlpha = mul(overlay.a, opacity);
244
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
245
- return vec4(add(mul(mix(mul(2, mul(base.rgb, overlay.rgb)), sub(1, mul(2, mul(sub(1, base.rgb), sub(1, overlay.rgb)))), step(.5, base.rgb)), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
246
- }
247
- function difference_default(base, overlay, opacity = 1) {
248
- const overlayAlpha = mul(overlay.a, opacity);
249
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
250
- return vec4(add(mul(abs(sub(base.rgb, overlay.rgb)), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
251
- }
252
- function colorDodge_default(base, overlay, opacity = 1) {
253
- const overlayAlpha = mul(overlay.a, opacity);
254
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
255
- return vec4(add(mul(mix(base.rgb, min(div(base.rgb, sub(1, overlay.rgb)), 1), step(.001, sub(1, overlay.rgb))), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
1
+ import { Bt as needsTransformation, Dt as SHARED_SAMPLER_LAYOUT, Mt as composeNodeTree, Vt as screenUVToBoxLocal$1, _t as packConvertedStops, an as createUniformStore, f as maxPixelRatioForDevice, in as FieldHandle, jt as collectStructuralHashInputs, sn as updateFieldValue, t as SystemUniforms, vt as packStops, yt as getAnimatedTimeState, z as createComputeDispatcher, zt as boundingBoxToUVParams } from "./coords-BlwgBpJf.js";
2
+ import "./glass-DdgMBWkF.js";
3
+ import "./Neon-DFuPjkcF.js";
4
+ import "./Emboss-D-qOxM2u.js";
5
+ import "./Form3D-CrT8E1u5.js";
6
+ import "./ThinFilm-9l3KGv4Q.js";
7
+ import { o as transformColorSpace } from "./transformations-fqzznt4g.js";
8
+ import { _ as sortStops, a as buildDimensionalPlan, c as isDimensionalValue, d as colorToRGBA, f as setColorSpaceModeGpu, g as resolveStops, h as colorStopsTransform, i as boxHalfExtentsUV, l as resolveDimensionalProp, n as rootPassthrough, o as buildExtraSizeProps, p as MAX_COLOR_STOPS, r as createGpuUniformsMap, s as isDimensionalProp, u as setShaderCanvasDimensions } from "./porters-CoaznI7i.js";
9
+ import "./AngularBlur-CFsh0PlD.js";
10
+ import "./Arc-CUnOmySr.js";
11
+ import "./Ascii-BLLIv-3N.js";
12
+ import "./Aurora-B_5FkTB2.js";
13
+ import "./BarShift-Ca-1XYfx.js";
14
+ import "./Beam-DRdKJKir.js";
15
+ import "./Blob-BRTcopJC.js";
16
+ import "./noiseColor-Cr76BYLN.js";
17
+ import "./BlockNoise-CA933kae.js";
18
+ import "./BlueNoise-BeFfRr-o.js";
19
+ import "./Blur-l7HgDuUW.js";
20
+ import "./BrickPattern-BWK7-KwE.js";
21
+ import "./BrightnessContrast-Dh8qSRLx.js";
22
+ import { a as SVG3D_TYPES, c as isVolumetricShapeType, i as SVG3D_DEFAULTS, l as shape3dBoundingRadius, n as SHAPE3D_DEFAULTS, o as is3dShapeType, r as SHAPE3D_TYPES, s as isSvg3dShapeType } from "./shapeEffectBounds-BlxxsYMN.js";
23
+ import "./BrushedMetal-CvIXubZz.js";
24
+ import "./Bulge-d93jKEwv.js";
25
+ import "./CarbonFiber-G7vIOz5W.js";
26
+ import "./Chalkboard-C9PtcnYN.js";
27
+ import "./ChannelBlur-B1bY63Fb.js";
28
+ import "./Checkerboard-DbjFO-fF.js";
29
+ import "./Chevron-D5-x4Wwd.js";
30
+ import "./ChromaFlow-CuLYMObY.js";
31
+ import "./ChromaticAberration-Dwvzvb8a.js";
32
+ import "./Circle-BLNjdX3R.js";
33
+ import "./ColorWheel-CA_34-9I.js";
34
+ import "./CompressionArtifacts-3lIojU64.js";
35
+ import "./ConcentricSpin-FJuBPPHi.js";
36
+ import "./ConicGradient-f9jCXFuK.js";
37
+ import "./ContourLines-Clnm2pQU.js";
38
+ import "./CornerPin-ecpjb9do.js";
39
+ import "./Crescent-CO5EZzD1.js";
40
+ import "./Cross-CofGHkIn.js";
41
+ import "./CRTScreen-CSBjpbn4.js";
42
+ import "./Crystal-C_aHlQ_3.js";
43
+ import "./CurlNoise-Br5XEf1K.js";
44
+ import "./CursorRipples-CLYoq-BF.js";
45
+ import "./CursorTrail-c-t96YgV.js";
46
+ import "./DataMosh-BSYAol1u.js";
47
+ import "./DiamondGradient-uyUPtPc3.js";
48
+ import "./DiffuseBlur-Cw9duoJ7.js";
49
+ import "./Dither-B3ulhQOh.js";
50
+ import "./DOMTexture-Zxx_WTGZ.js";
51
+ import "./DotGrid-ioUj-Lim.js";
52
+ import "./DropShadow-BRL7yRmy.js";
53
+ import "./Duotone-Df34HelN.js";
54
+ import "./Ellipse-BHxcxCpl.js";
55
+ import "./Engraving-B1ebFc1E.js";
56
+ import "./ErosionNoise-ZrJulbtK.js";
57
+ import "./Exposure-D8apJapP.js";
58
+ import "./FallingLines-DsMBKjEZ.js";
59
+ import "./FilmGrain-DeW-yw_v.js";
60
+ import "./Flip-Dw194RY6.js";
61
+ import "./FloatingParticles--Y81hnnp.js";
62
+ import "./Flower-Cdg8fOzZ.js";
63
+ import "./FlowField-CiK49M8B.js";
64
+ import "./FlowingGradient-B1Iywvbd.js";
65
+ import "./FlutedGlass-Crp432sd.js";
66
+ import "./Fog-ClrsfQfj.js";
67
+ import "./FractalNoise-DeDp7KQE.js";
68
+ import "./Frost-IvGmzNqf.js";
69
+ import "./GaborNoise-Bmhmuq_Z.js";
70
+ import "./Glass-CJFR7oIt.js";
71
+ import "./GlassTiles-BSBCjkhG.js";
72
+ import "./Glitch-Bp0LbC1u.js";
73
+ import "./Glow-CVBYSMxr.js";
74
+ import "./Godrays-C0VLmrcc.js";
75
+ import "./Goo-D-X3mP-n.js";
76
+ import "./GradientMap-uRYa7Yhv.js";
77
+ import "./Grayscale-DUGCGltR.js";
78
+ import "./Grid-FtTNW6zy.js";
79
+ import "./GridDistortion-lKZ4wpxx.js";
80
+ import "./Group-BNE6w-Ls.js";
81
+ import "./Halftone-BdmAqFEa.js";
82
+ import "./Heart-iGATzBCZ.js";
83
+ import "./Heatmap-dBfHUyG-.js";
84
+ import "./HexGrid-BUe3dyym.js";
85
+ import "./Hologram-BQ1kz8M2.js";
86
+ import "./Holographic-B39ULAli.js";
87
+ import "./HueShift-DeP_0kOt.js";
88
+ import "./ImageTexture-Bzh0A17b.js";
89
+ import "./Invert-CqrJ-5l4.js";
90
+ import "./IsometricCubes-BVYfIhbb.js";
91
+ import "./Kaleidoscope-VxQtO7zA.js";
92
+ import "./KeyFrames-WFOyBjoF.js";
93
+ import "./LensFlare-2M6sCguV.js";
94
+ import "./LightEdge-CvV9PYbe.js";
95
+ import "./LightLeak-BQxRr11E.js";
96
+ import "./LinearBlur-CyNRaqj8.js";
97
+ import "./LinearGradient-RDNQes5r.js";
98
+ import "./LiquidMetal-PGUaQGV-.js";
99
+ import "./Liquify-CmkepjAk.js";
100
+ import "./Marble-D_a2ctfR.js";
101
+ import "./Mirror-B98LBGCI.js";
102
+ import "./MultiPointGradient-DBWhUtj8.js";
103
+ import "./fonts-3F3pIODs.js";
104
+ import "./ObjectTracker-Bolz91qz.js";
105
+ import "./PagePeel-CTy_-lpL.js";
106
+ import "./Paper-BE3SU_ac.js";
107
+ import "./Parallelogram-C9qwJkYa.js";
108
+ import "./Particles-x_HCygMr.js";
109
+ import "./PerlinNoise-Di7dE-hc.js";
110
+ import "./Perspective-CoYBx1wH.js";
111
+ import "./Pixelate-Dg41Ap0g.js";
112
+ import "./PixelSort-DMWTXIcO.js";
113
+ import "./PixelThrow-CiZj7iGN.js";
114
+ import "./Plasma-BpNK-Jnv.js";
115
+ import "./Plastic-CpmtjSSV.js";
116
+ import "./PolarCoordinates-CBh8MX8L.js";
117
+ import "./Polygon-KpW71r_g.js";
118
+ import "./Posterize-DPwFDwMx.js";
119
+ import "./Prism-BZcRvoMJ.js";
120
+ import "./ProgressiveBlur-BAYvLhUa.js";
121
+ import "./RadialGradient-DxIBw-EZ.js";
122
+ import "./RectangularCoordinates-DJGtXzgn.js";
123
+ import "./ReflectivePlane-C4JxzSK_.js";
124
+ import "./Repeater-1TW-fdff.js";
125
+ import "./Ring-W9djENkw.js";
126
+ import "./Ripples-Dbvh__ZY.js";
127
+ import "./RoundedRect-DXjLPZee.js";
128
+ import "./Saturation-Wct3aUol.js";
129
+ import "./Scratches-CpfAuRQw.js";
130
+ import "./Sharpness-BgWKE-3E.js";
131
+ import "./Shatter-DiBeVj4M.js";
132
+ import "./SimplexNoise-Bgiw5XJP.js";
133
+ import "./SineWave-CHygTRV-.js";
134
+ import "./Smoke-CbAIiwKG.js";
135
+ import "./SmokeFill-BnJoSbE3.js";
136
+ import "./SmokeFlow-H01ajJ5Q.js";
137
+ import "./Solarize-CUpThxJh.js";
138
+ import "./SolidColor-rdMtlNyB.js";
139
+ import "./Spherize-bBe44dU7.js";
140
+ import "./Spiral-sBR7Fn0z.js";
141
+ import "./Star-DQUfQjbf.js";
142
+ import "./noiseStylize-C2jzZv4d.js";
143
+ import "./Stone-DnY9YuMc.js";
144
+ import "./Strands-e7O0GIHI.js";
145
+ import "./Stretch-CXFrCyH_.js";
146
+ import "./Stripes-BS5Y7yeT.js";
147
+ import "./StudioBackground-D7eIlsQA.js";
148
+ import "./SunBurst-CuawxiUI.js";
149
+ import "./Surface3D-ZtGSv9V6.js";
150
+ import "./Swirl-CxRi1nI8.js";
151
+ import "./Teardrop-D_ePwja5.js";
152
+ import "./Text-C1Wjl8fJ.js";
153
+ import "./TiltShift-CBCuQwu9.js";
154
+ import "./Tint-HLecBeer.js";
155
+ import "./Trapezoid-CztpQJcb.js";
156
+ import "./TriangularGrid-BWzP25ws.js";
157
+ import "./Tritone-DczuOC88.js";
158
+ import "./Truchet-Bj0dM4pc.js";
159
+ import "./Twirl-CgT4-JNU.js";
160
+ import "./Vesica-hhR3uVm2.js";
161
+ import "./VHS-BO2ImGGx.js";
162
+ import "./Vibrance-Bxbm2XXk.js";
163
+ import "./VideoTexture-Zj56qULM.js";
164
+ import "./Vignette-DhIYUi7B.js";
165
+ import "./Voronoi-I5jNa5lH.js";
166
+ import "./Water-DcoqDm5J.js";
167
+ import "./Watercolor-DhrRCOJ_.js";
168
+ import "./WaveDistortion-DJ1itI6L.js";
169
+ import "./WaveletNoise-Cy1pQ99p.js";
170
+ import "./Weave-CPIeOoWv.js";
171
+ import "./WebcamTexture-DNCb4NqI.js";
172
+ import "./Wool-aEiSh89V.js";
173
+ import "./WorleyNoise-C9l_C4G0.js";
174
+ import "./ZoomBlur-CpM-IOSu.js";
175
+ import { t as getAllShaders } from "./shaderRegistry-BIiRyksy.js";
176
+ import * as d from "typegpu/data";
177
+ import tgpu, { common } from "typegpu";
178
+ var OPTIONAL_FEATURES = ["float32-filterable", "timestamp-query"];
179
+ var rootsByDevice = /* @__PURE__ */ new WeakMap();
180
+ var lostCallbacks = /* @__PURE__ */ new WeakMap();
181
+ var lostDevices = /* @__PURE__ */ new WeakSet();
182
+ var replacementRoots = /* @__PURE__ */ new WeakMap();
183
+ async function acquireRoot(options = {}) {
184
+ if (options.device) {
185
+ const device = options.device;
186
+ if (!lostDevices.has(device)) {
187
+ let root = rootsByDevice.get(device);
188
+ if (!root) {
189
+ root = tgpu.initFromDevice({ device });
190
+ rootsByDevice.set(device, root);
191
+ }
192
+ wireDeviceLost(root, options.onDeviceLost);
193
+ return {
194
+ root,
195
+ device,
196
+ adapter: options.adapter,
197
+ createdDevice: false
198
+ };
199
+ }
200
+ let replacement;
201
+ for (;;) {
202
+ const cached = replacementRoots.get(device);
203
+ if (!cached) break;
204
+ const cachedCtx = await cached.catch(() => null);
205
+ if (cachedCtx && !lostDevices.has(cachedCtx.device)) {
206
+ replacement = cached;
207
+ break;
208
+ }
209
+ if (replacementRoots.get(device) === cached) replacementRoots.delete(device);
210
+ }
211
+ if (!replacement) {
212
+ console.warn("[gpu] injected GPU device was lost — creating a replacement device for recovery");
213
+ replacement = createOwnRoot();
214
+ replacementRoots.set(device, replacement);
215
+ }
216
+ const ctx$1 = await replacement;
217
+ wireDeviceLost(ctx$1.root, options.onDeviceLost);
218
+ return {
219
+ root: ctx$1.root,
220
+ device: ctx$1.device,
221
+ adapter: ctx$1.adapter,
222
+ createdDevice: false
223
+ };
224
+ }
225
+ const ctx = await createOwnRoot();
226
+ wireDeviceLost(ctx.root, options.onDeviceLost);
227
+ return {
228
+ ...ctx,
229
+ adapter: options.adapter,
230
+ createdDevice: true
231
+ };
256
232
  }
257
- function exclusion_default(base, overlay, opacity = 1) {
258
- const overlayAlpha = mul(overlay.a, opacity);
259
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
260
- return vec4(add(mul(sub(add(base.rgb, overlay.rgb), mul(2, mul(base.rgb, overlay.rgb))), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
233
+ async function createOwnRoot() {
234
+ if (typeof navigator === "undefined" || !navigator.gpu) throw new Error("[gpu] WebGPU is not available in this environment (navigator.gpu is undefined). This renderer is WebGPU-only.");
235
+ const root = await tgpu.init({
236
+ adapter: { powerPreference: "high-performance" },
237
+ device: { optionalFeatures: OPTIONAL_FEATURES }
238
+ });
239
+ rootsByDevice.set(root.device, root);
240
+ return {
241
+ root,
242
+ device: root.device,
243
+ createdDevice: true
244
+ };
261
245
  }
262
- function getLuminance(rgb) {
263
- return add(add(mul(rgb.r, .2126), mul(rgb.g, .7152)), mul(rgb.b, .0722));
246
+ function configureCanvasContext(root, canvas, options = {}) {
247
+ return root.configureContext({
248
+ canvas,
249
+ alphaMode: "premultiplied",
250
+ ...options
251
+ });
264
252
  }
265
- function color_default(base, overlay, opacity = 1) {
266
- const overlayAlpha = mul(overlay.a, opacity);
267
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
268
- const lumDiff = sub(getLuminance(base.rgb), getLuminance(overlay.rgb));
269
- return vec4(add(mul(add(overlay.rgb, lumDiff), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
253
+ function wireDeviceLost(root, onDeviceLost) {
254
+ const device = root.device;
255
+ let callbacks = lostCallbacks.get(device);
256
+ if (!callbacks) {
257
+ callbacks = /* @__PURE__ */ new Set();
258
+ lostCallbacks.set(device, callbacks);
259
+ root.device.lost.then((info) => {
260
+ lostDevices.add(device);
261
+ if (info.reason === "destroyed") return;
262
+ for (const cb of lostCallbacks.get(device) ?? []) cb(info);
263
+ });
264
+ }
265
+ if (onDeviceLost) callbacks.add(onDeviceLost);
270
266
  }
271
- function luminosity_default(base, overlay, opacity = 1) {
272
- const overlayAlpha = mul(overlay.a, opacity);
273
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
274
- const baseLum = getLuminance(base.rgb);
275
- const lumRatio = getLuminance(overlay.rgb).div(add(baseLum, 1e-4));
276
- return vec4(add(mul(mul(base.rgb, lumRatio), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
267
+ function structuralHash(inputs) {
268
+ let h = 2166136261;
269
+ const joined = inputs.join("");
270
+ for (let i = 0; i < joined.length; i++) {
271
+ h ^= joined.charCodeAt(i);
272
+ h = Math.imul(h, 16777619);
273
+ }
274
+ return `${(h >>> 0).toString(16).padStart(8, "0")}:${joined.length}`;
277
275
  }
278
- function darken_default(base, overlay, opacity = 1) {
279
- const overlayAlpha = mul(overlay.a, opacity);
280
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
281
- return vec4(add(mul(min(base.rgb, overlay.rgb), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
276
+ function createPipelineCache(options = {}) {
277
+ const maxSize = options.maxSize ?? 4;
278
+ const dispose = options.dispose;
279
+ const entries = /* @__PURE__ */ new Map();
280
+ let clock = 0;
281
+ let activeHash = null;
282
+ let pendingHash = null;
283
+ function touch(entry) {
284
+ entry.lastUsed = ++clock;
285
+ }
286
+ function evictIfNeeded() {
287
+ while (entries.size > maxSize) {
288
+ let victim = null;
289
+ for (const e of entries.values()) {
290
+ if (e.hash === activeHash || e.hash === pendingHash) continue;
291
+ if (!victim || e.lastUsed < victim.lastUsed) victim = e;
292
+ }
293
+ if (!victim) break;
294
+ entries.delete(victim.hash);
295
+ dispose?.(victim.value, victim.hash);
296
+ }
297
+ }
298
+ return {
299
+ getOrBuild(hash, buildFn) {
300
+ const existing = entries.get(hash);
301
+ if (existing) {
302
+ touch(existing);
303
+ if (hash === activeHash) pendingHash = null;
304
+ else pendingHash = hash;
305
+ return existing.value;
306
+ }
307
+ const value = buildFn();
308
+ const entry = {
309
+ hash,
310
+ value,
311
+ lastUsed: ++clock
312
+ };
313
+ entries.set(hash, entry);
314
+ if (activeHash === null) {
315
+ activeHash = hash;
316
+ pendingHash = null;
317
+ } else pendingHash = hash;
318
+ evictIfNeeded();
319
+ return value;
320
+ },
321
+ markReady(hash) {
322
+ if (hash !== pendingHash) return;
323
+ const entry = entries.get(hash);
324
+ if (!entry) return;
325
+ activeHash = hash;
326
+ pendingHash = null;
327
+ touch(entry);
328
+ evictIfNeeded();
329
+ },
330
+ get renderValue() {
331
+ const hash = activeHash ?? pendingHash;
332
+ return hash ? entries.get(hash)?.value ?? null : null;
333
+ },
334
+ get activeHash() {
335
+ return activeHash;
336
+ },
337
+ get pendingHash() {
338
+ return pendingHash;
339
+ },
340
+ release(hash) {
341
+ const entry = entries.get(hash);
342
+ if (!entry) return;
343
+ entries.delete(hash);
344
+ dispose?.(entry.value, hash);
345
+ if (activeHash === hash) activeHash = null;
346
+ if (pendingHash === hash) pendingHash = null;
347
+ },
348
+ has(hash) {
349
+ return entries.has(hash);
350
+ },
351
+ get size() {
352
+ return entries.size;
353
+ },
354
+ clear() {
355
+ for (const e of entries.values()) dispose?.(e.value, e.hash);
356
+ entries.clear();
357
+ activeHash = null;
358
+ pendingHash = null;
359
+ }
360
+ };
282
361
  }
283
- function lighten_default(base, overlay, opacity = 1) {
284
- const overlayAlpha = mul(overlay.a, opacity);
285
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
286
- return vec4(add(mul(max(base.rgb, overlay.rgb), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
362
+ var LABEL = "passManager";
363
+ function createPassManager(root, options) {
364
+ const { textureManager, dispatcher } = options;
365
+ const canvasFormat = options.canvasFormat ?? preferredCanvasFormat();
366
+ const rttFormat = options.rttFormat ?? "rgba16float";
367
+ const maxSampled = options.maxSampledTextures ?? 16;
368
+ const vertex = options.fullScreenTriangle ?? common.fullScreenTriangle;
369
+ const rttTextures = /* @__PURE__ */ new Map();
370
+ const liveTextures = /* @__PURE__ */ new Set();
371
+ let current = null;
372
+ function buildSamplerBindGroup() {
373
+ const s = textureManager.samplers;
374
+ try {
375
+ return root.createBindGroup(SHARED_SAMPLER_LAYOUT, {
376
+ linearClamp: s.linearClamp,
377
+ nearestClamp: s.nearestClamp,
378
+ linearRepeat: s.linearRepeat,
379
+ nearestRepeat: s.nearestRepeat
380
+ });
381
+ } catch (e) {
382
+ console.error(`[${LABEL}] failed to build sampler bind group:`, e);
383
+ return;
384
+ }
385
+ }
386
+ function allocateRttTextures(ir, size) {
387
+ const needed = /* @__PURE__ */ new Set();
388
+ for (const t of ir.textures) {
389
+ if (t.kind !== "rtt") continue;
390
+ needed.add(t.key);
391
+ if (!rttTextures.has(t.key)) {
392
+ const rt = textureManager.createRenderTexture({
393
+ width: size.width,
394
+ height: size.height,
395
+ format: rttFormat,
396
+ label: `rtt:${t.key}`
397
+ });
398
+ rttTextures.set(t.key, rt);
399
+ liveTextures.add(rt);
400
+ } else rttTextures.get(t.key).resize(size.width, size.height);
401
+ }
402
+ for (const [key, rt] of [...rttTextures]) if (!needed.has(key)) {
403
+ rt.destroy();
404
+ liveTextures.delete(rt);
405
+ rttTextures.delete(key);
406
+ }
407
+ }
408
+ function buildTextureBindGroup(fragment, mediaResources) {
409
+ if (!fragment.textureLayout || fragment.reads.length === 0) return void 0;
410
+ const entries = {};
411
+ for (const key of fragment.reads) {
412
+ const rt = rttTextures.get(key);
413
+ const media = mediaResources?.[key];
414
+ const resource = rt ?? media;
415
+ if (!resource) {
416
+ console.error(`[${LABEL}] pass "${fragment.entry}" reads unknown texture "${key}"`);
417
+ return;
418
+ }
419
+ entries[key] = resource.texture;
420
+ }
421
+ if (fragment.reads.length > maxSampled) console.warn(`[${LABEL}] pass samples ${fragment.reads.length} textures (> device limit ~${maxSampled}); composition may fail on this device.`);
422
+ try {
423
+ return root.createBindGroup(fragment.textureLayout, entries);
424
+ } catch (e) {
425
+ console.error(`[${LABEL}] failed to build texture bind group:`, e);
426
+ return;
427
+ }
428
+ }
429
+ function buildPipeline(fragment, targetFormat) {
430
+ return root.createRenderPipeline({
431
+ vertex,
432
+ fragment: fragment.entry,
433
+ targets: { format: targetFormat }
434
+ });
435
+ }
436
+ function buildExternalBinding(fragment, externalSources) {
437
+ if (!fragment.externalLayout || fragment.externalReads.length === 0) return void 0;
438
+ const keys = fragment.externalReads;
439
+ if (keys.length === 1) {
440
+ const getSource = externalSources.get(keys[0]);
441
+ if (!getSource) {
442
+ console.error(`[${LABEL}] external read "${keys[0]}" has no registered source`);
443
+ return;
444
+ }
445
+ return textureManager.createExternalTextureBinding({
446
+ layout: fragment.externalLayout,
447
+ entryKey: keys[0],
448
+ getSource
449
+ });
450
+ }
451
+ let current$1 = null;
452
+ return {
453
+ update() {
454
+ const entries = {};
455
+ for (const key of keys) {
456
+ const source = externalSources.get(key)?.();
457
+ if (!source) {
458
+ current$1 = null;
459
+ return null;
460
+ }
461
+ try {
462
+ entries[key] = root.device.importExternalTexture({ source });
463
+ } catch {
464
+ current$1 = null;
465
+ return null;
466
+ }
467
+ }
468
+ current$1 = root.createBindGroup(fragment.externalLayout, entries);
469
+ return current$1;
470
+ },
471
+ get current() {
472
+ return current$1;
473
+ },
474
+ destroy() {
475
+ current$1 = null;
476
+ }
477
+ };
478
+ }
479
+ function buildExecutablePass(fragment, target, mediaResources, externalSources) {
480
+ const targetFormat = target.kind === "canvas" ? canvasFormat : rttFormat;
481
+ const mediaReads = fragment.reads.filter((k) => mediaResources?.[k]);
482
+ const mediaSnapshot = new Map(mediaReads.map((k) => [k, mediaResources[k].texture]));
483
+ return {
484
+ fragment,
485
+ pipeline: buildPipeline(fragment, targetFormat),
486
+ textureBindGroup: buildTextureBindGroup(fragment, mediaResources),
487
+ externalBinding: buildExternalBinding(fragment, externalSources),
488
+ target,
489
+ mediaReads,
490
+ mediaSnapshot
491
+ };
492
+ }
493
+ function setComposition(ir, uniformBindGroup, size, mediaResources) {
494
+ allocateRttTextures(ir, size);
495
+ for (const spec of ir.computeSteps) spec.bindInputs?.((key) => rttTextures.get(key) ?? mediaResources?.[key]);
496
+ const samplerBindGroup = buildSamplerBindGroup();
497
+ const externalSources = /* @__PURE__ */ new Map();
498
+ for (const e of ir.externalTextures) externalSources.set(e.key, e.getSource);
499
+ const rttPasses = ir.rttPasses.map((p) => buildExecutablePass(p.fragment, {
500
+ kind: "rtt",
501
+ key: p.textureKey
502
+ }, mediaResources, externalSources));
503
+ const finalPass = buildExecutablePass(ir.finalPass, { kind: "canvas" }, mediaResources, externalSources);
504
+ current = {
505
+ ir,
506
+ uniformBindGroup,
507
+ samplerBindGroup,
508
+ computeSteps: ir.computeSteps,
509
+ rttPasses,
510
+ finalPass,
511
+ size,
512
+ mediaResources
513
+ };
514
+ }
515
+ function execPass(pass, view) {
516
+ let p = pass.pipeline;
517
+ if (current?.uniformBindGroup) p = p.with(current.uniformBindGroup);
518
+ if (pass.mediaReads && pass.mediaReads.length > 0 && current?.mediaResources) {
519
+ let swapped = false;
520
+ for (const key of pass.mediaReads) if (current.mediaResources[key].texture !== pass.mediaSnapshot.get(key)) swapped = true;
521
+ if (swapped) {
522
+ pass.textureBindGroup = buildTextureBindGroup(pass.fragment, current.mediaResources);
523
+ for (const key of pass.mediaReads) pass.mediaSnapshot.set(key, current.mediaResources[key].texture);
524
+ }
525
+ }
526
+ if (pass.textureBindGroup) p = p.with(pass.textureBindGroup);
527
+ if (pass.fragment.usesSamplers && current?.samplerBindGroup) p = p.with(current.samplerBindGroup);
528
+ if (pass.fragment.externalReads.length > 0) {
529
+ const bg = pass.externalBinding?.update() ?? null;
530
+ if (!bg) {
531
+ if (!pass.externalSkipLogged) {
532
+ console.warn(`[${LABEL}] external texture not ready — skipping pass (${pass.fragment.externalReads.join(", ")})`);
533
+ pass.externalSkipLogged = true;
534
+ }
535
+ return;
536
+ }
537
+ p = p.with(bg);
538
+ }
539
+ p.withColorAttachment({ view }).draw(3);
540
+ }
541
+ function render(canvasView, frameParams) {
542
+ if (!current) return;
543
+ for (const step of current.computeSteps) {
544
+ const steps = step.getComputeNodes(frameParams);
545
+ if (steps && steps.length) dispatcher.dispatch(steps);
546
+ }
547
+ for (const pass of current.rttPasses) {
548
+ const rt = rttTextures.get(pass.target.key);
549
+ if (!rt) continue;
550
+ execPass(pass, renderView(rt));
551
+ }
552
+ execPass(current.finalPass, canvasView);
553
+ }
554
+ function renderView(rt) {
555
+ return root.unwrap(rt.texture).createView();
556
+ }
557
+ function rebindPassTextures(pass) {
558
+ if (!pass.fragment.textureLayout || pass.fragment.reads.length === 0) return;
559
+ pass.textureBindGroup = buildTextureBindGroup(pass.fragment, current?.mediaResources);
560
+ if (pass.mediaReads && pass.mediaSnapshot && current?.mediaResources) for (const key of pass.mediaReads) pass.mediaSnapshot.set(key, current.mediaResources[key].texture);
561
+ }
562
+ function resize(width, height) {
563
+ for (const rt of rttTextures.values()) rt.resize(width, height);
564
+ if (!current) return;
565
+ current.size = {
566
+ width,
567
+ height
568
+ };
569
+ for (const spec of current.computeSteps) spec.bindInputs?.((key) => rttTextures.get(key) ?? current.mediaResources?.[key]);
570
+ for (const pass of current.rttPasses) rebindPassTextures(pass);
571
+ rebindPassTextures(current.finalPass);
572
+ }
573
+ return {
574
+ setComposition,
575
+ render,
576
+ resize,
577
+ get textureCount() {
578
+ return liveTextures.size;
579
+ },
580
+ get passCount() {
581
+ return current ? current.rttPasses.length + 1 : 0;
582
+ },
583
+ dispose() {
584
+ for (const rt of [...liveTextures]) rt.destroy();
585
+ liveTextures.clear();
586
+ rttTextures.clear();
587
+ current = null;
588
+ }
589
+ };
287
590
  }
288
- function colorBurn_default(base, overlay, opacity = 1) {
289
- const overlayAlpha = mul(overlay.a, opacity);
290
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
291
- return vec4(add(mul(mix(vec4(0, 0, 0, 1).rgb, max(sub(1, sub(1, base.rgb).div(add(overlay.rgb, 1e-4))), 0), step(1e-4, overlay.rgb)), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
591
+ function preferredCanvasFormat() {
592
+ if (typeof navigator !== "undefined" && navigator.gpu) return navigator.gpu.getPreferredCanvasFormat();
593
+ return "bgra8unorm";
292
594
  }
293
- function linearBurn_default(base, overlay, opacity = 1) {
294
- const overlayAlpha = mul(overlay.a, opacity);
295
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
296
- return vec4(add(mul(max(add(add(base.rgb, overlay.rgb), -1), 0), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
595
+ function srgbViewFormat(format) {
596
+ return `${format}-srgb`;
297
597
  }
298
- function softLight_default(base, overlay, opacity = 1) {
299
- const overlayAlpha = mul(overlay.a, opacity);
300
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
301
- const softLightDark = add(mul(2, mul(base.rgb, overlay.rgb)), mul(mul(base.rgb, base.rgb), sub(1, mul(2, overlay.rgb))));
302
- const baseSqrt = sqrt(base.rgb);
303
- return vec4(add(mul(mix(softLightDark, add(mul(2, mul(base.rgb, sub(1, overlay.rgb))), mul(baseSqrt, sub(mul(2, overlay.rgb), 1))), step(.5, overlay.rgb)), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
598
+ function createTextureManager(root) {
599
+ const live = /* @__PURE__ */ new Set();
600
+ function createRaw(props, ...usages) {
601
+ return root.createTexture.call(root, props).$usage(...usages);
602
+ }
603
+ let linearClamp;
604
+ let nearestClamp;
605
+ let linearRepeat;
606
+ let nearestRepeat;
607
+ const samplers = {
608
+ get linearClamp() {
609
+ return linearClamp ??= root.createSampler({
610
+ magFilter: "linear",
611
+ minFilter: "linear",
612
+ mipmapFilter: "linear",
613
+ addressModeU: "clamp-to-edge",
614
+ addressModeV: "clamp-to-edge"
615
+ });
616
+ },
617
+ get nearestClamp() {
618
+ return nearestClamp ??= root.createSampler({
619
+ magFilter: "nearest",
620
+ minFilter: "nearest",
621
+ addressModeU: "clamp-to-edge",
622
+ addressModeV: "clamp-to-edge"
623
+ });
624
+ },
625
+ get linearRepeat() {
626
+ return linearRepeat ??= root.createSampler({
627
+ magFilter: "linear",
628
+ minFilter: "linear",
629
+ mipmapFilter: "linear",
630
+ addressModeU: "repeat",
631
+ addressModeV: "repeat"
632
+ });
633
+ },
634
+ get nearestRepeat() {
635
+ return nearestRepeat ??= root.createSampler({
636
+ magFilter: "nearest",
637
+ minFilter: "nearest",
638
+ addressModeU: "repeat",
639
+ addressModeV: "repeat"
640
+ });
641
+ }
642
+ };
643
+ function wrap(texture, width, height, format, srgb) {
644
+ const managed = {
645
+ texture,
646
+ width,
647
+ height,
648
+ format,
649
+ write(source) {
650
+ texture.write(source);
651
+ },
652
+ unwrap() {
653
+ return root.unwrap(texture);
654
+ },
655
+ createSrgbView() {
656
+ if (!srgb) return void 0;
657
+ return root.unwrap(texture).createView({ format: srgbViewFormat(format) });
658
+ },
659
+ generateMipmaps() {
660
+ texture.generateMipmaps?.();
661
+ },
662
+ destroy() {
663
+ if (!live.has(managed)) return;
664
+ texture.destroy();
665
+ live.delete(managed);
666
+ }
667
+ };
668
+ live.add(managed);
669
+ return managed;
670
+ }
671
+ function createMediaTexture(options) {
672
+ const { width, height, srgb = false, mipLevelCount } = options;
673
+ const format = options.format ?? "rgba8unorm";
674
+ return wrap(createRaw({
675
+ size: [width, height],
676
+ format,
677
+ ...srgb ? { viewFormats: [srgbViewFormat(format)] } : {},
678
+ ...mipLevelCount ? { mipLevelCount } : {}
679
+ }, "sampled", "render"), width, height, format, srgb);
680
+ }
681
+ function createDataTexture(options) {
682
+ const { width, height, format, data } = options;
683
+ const managed = wrap(createRaw({
684
+ size: [width, height],
685
+ format
686
+ }, "sampled"), width, height, format, false);
687
+ if (data) managed.write(data);
688
+ return managed;
689
+ }
690
+ function createRenderTexture(options) {
691
+ const format = options.format ?? "rgba16float";
692
+ const { mipLevelCount } = options;
693
+ let width = options.width;
694
+ let height = options.height;
695
+ function build(w, h) {
696
+ return wrap(createRaw({
697
+ size: [w, h],
698
+ format,
699
+ ...mipLevelCount ? { mipLevelCount } : {}
700
+ }, "sampled", "render"), w, h, format, false);
701
+ }
702
+ let inner = build(width, height);
703
+ return {
704
+ get texture() {
705
+ return inner.texture;
706
+ },
707
+ get width() {
708
+ return width;
709
+ },
710
+ get height() {
711
+ return height;
712
+ },
713
+ format,
714
+ write(source) {
715
+ inner.write(source);
716
+ },
717
+ unwrap() {
718
+ return inner.unwrap();
719
+ },
720
+ createSrgbView() {
721
+ return inner.createSrgbView();
722
+ },
723
+ generateMipmaps() {
724
+ inner.generateMipmaps();
725
+ },
726
+ resize(w, h) {
727
+ if (w === width && h === height) return;
728
+ inner.destroy();
729
+ width = w;
730
+ height = h;
731
+ inner = build(w, h);
732
+ },
733
+ destroy() {
734
+ inner.destroy();
735
+ }
736
+ };
737
+ }
738
+ function createExternalTextureBinding(options) {
739
+ const { layout, entryKey, getSource, staticEntries = {} } = options;
740
+ let current = null;
741
+ return {
742
+ update() {
743
+ const source = getSource();
744
+ if (!source) {
745
+ current = null;
746
+ return null;
747
+ }
748
+ let external;
749
+ try {
750
+ external = root.device.importExternalTexture({ source });
751
+ } catch {
752
+ current = null;
753
+ return null;
754
+ }
755
+ current = root.createBindGroup(layout, {
756
+ ...staticEntries,
757
+ [entryKey]: external
758
+ });
759
+ return current;
760
+ },
761
+ get current() {
762
+ return current;
763
+ },
764
+ destroy() {
765
+ current = null;
766
+ }
767
+ };
768
+ }
769
+ return {
770
+ samplers,
771
+ createMediaTexture,
772
+ createDataTexture,
773
+ createRenderTexture,
774
+ createExternalTextureBinding,
775
+ get textureCount() {
776
+ return live.size;
777
+ },
778
+ destroy() {
779
+ for (const t of [...live]) t.destroy();
780
+ live.clear();
781
+ }
782
+ };
304
783
  }
305
- function hardLight_default(base, overlay, opacity = 1) {
306
- const overlayAlpha = mul(overlay.a, opacity);
307
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
308
- return vec4(add(mul(mix(mul(2, mul(base.rgb, overlay.rgb)), sub(1, mul(2, mul(sub(1, base.rgb), sub(1, overlay.rgb)))), step(.5, overlay.rgb)), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
784
+ function applySpring(current, velocity, target, smoothing, momentum, dt) {
785
+ if (smoothing === 0 && momentum === 0) return [target, 0];
786
+ const stiffness = 200 * Math.pow(.01, smoothing);
787
+ const damping = 2 * Math.sqrt(stiffness) * (1 - momentum * .85);
788
+ const newVelocity = velocity + (stiffness * (target - current) - damping * velocity) * dt;
789
+ return [current + newVelocity * dt, newVelocity];
309
790
  }
310
- function hue_default(base, overlay, opacity = 1) {
311
- const overlayAlpha = mul(overlay.a, opacity);
312
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
313
- const baseLum = getLuminance(base.rgb);
314
- const overlayLum = getLuminance(overlay.rgb);
315
- const baseChromaticity = base.rgb.sub(baseLum);
316
- const overlayChromaticity = overlay.rgb.sub(overlayLum);
317
- const baseChromaLength = baseChromaticity.length();
318
- return vec4(add(mul(add(mul(overlayChromaticity.normalize(), baseChromaLength), baseLum), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
791
+ function applyBounceEase(t) {
792
+ const n1 = 7.5625, d1 = 2.75;
793
+ if (t < 1 / d1) return n1 * t * t;
794
+ if (t < 2 / d1) {
795
+ t -= 1.5 / d1;
796
+ return n1 * t * t + .75;
797
+ }
798
+ if (t < 2.5 / d1) {
799
+ t -= 2.25 / d1;
800
+ return n1 * t * t + .9375;
801
+ }
802
+ t -= 2.625 / d1;
803
+ return n1 * t * t + .984375;
319
804
  }
320
- function saturation_default(base, overlay, opacity = 1) {
321
- const overlayAlpha = mul(overlay.a, opacity);
322
- const finalAlpha = add(overlayAlpha, mul(base.a, sub(1, overlayAlpha)));
323
- const baseLum = getLuminance(base.rgb);
324
- const overlayLum = getLuminance(overlay.rgb);
325
- const baseChromaticity = base.rgb.sub(baseLum);
326
- const overlayChromaticity = overlay.rgb.sub(overlayLum);
327
- return vec4(add(mul(add(mul(baseChromaticity.normalize(), overlayChromaticity.length()), baseLum), overlayAlpha), mul(base.rgb, mul(base.a, sub(1, overlayAlpha)))), finalAlpha);
805
+ function applyEasing(t, easing) {
806
+ switch (easing) {
807
+ case "linear": return t;
808
+ case "quad": return t < .5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;
809
+ case "expo":
810
+ if (t === 0) return 0;
811
+ if (t === 1) return 1;
812
+ return t < .5 ? Math.pow(2, 20 * t - 10) / 2 : (2 - Math.pow(2, -20 * t + 10)) / 2;
813
+ case "bounce": return applyBounceEase(t);
814
+ case "sine":
815
+ default: return (1 - Math.cos(Math.PI * t)) / 2;
816
+ }
328
817
  }
329
- var blendModes = {
330
- normal: normal_default,
331
- "normal-oklch": normal_oklch_default,
332
- "normal-oklab": normal_oklab_default,
333
- multiply: multiply_default,
334
- screen: screen_default,
335
- linearDodge: linearDodge_default,
336
- overlay: overlay_default,
337
- difference: difference_default,
338
- colorDodge: colorDodge_default,
339
- exclusion: exclusion_default,
340
- color: color_default,
341
- luminosity: luminosity_default,
342
- darken: darken_default,
343
- lighten: lighten_default,
344
- colorBurn: colorBurn_default,
345
- linearBurn: linearBurn_default,
346
- softLight: softLight_default,
347
- hardLight: hardLight_default,
348
- hue: hue_default,
349
- saturation: saturation_default
350
- };
351
- function applyBlendMode(baseNode, overlayNode, blendMode = "normal", opacity = 1) {
352
- return (blendModes[blendMode] || blendModes.normal)(baseNode, overlayNode, opacity);
818
+ function clampToTextureCap(w, h, env) {
819
+ const pr = env.pixelRatio || 1;
820
+ const gpuCssCap = Math.max(1, Math.floor(env.maxTextureDim / pr) - 1);
821
+ const capW = Math.min(w, env.viewportWidth, gpuCssCap);
822
+ const capH = Math.min(h, env.viewportHeight, gpuCssCap);
823
+ const scale = Math.min(capW / w, capH / h, 1);
824
+ return {
825
+ width: Math.max(1, Math.round(w * scale)),
826
+ height: Math.max(1, Math.round(h * scale))
827
+ };
353
828
  }
354
- function alpha_default(target, mask) {
355
- const maskedAlpha = mul(target.a, mask.a);
356
- return vec4(target.rgb, maskedAlpha);
829
+ function deriveElapsedTime(sharedTimeOrigin, prevElapsed, deltaTime, now) {
830
+ if (sharedTimeOrigin != null) return (now - sharedTimeOrigin) / 1e3;
831
+ return prevElapsed + deltaTime;
357
832
  }
358
- function alphaInverted_default(target, mask) {
359
- const invertedMaskAlpha = sub(1, mask.a);
360
- const maskedAlpha = mul(target.a, invertedMaskAlpha);
361
- return vec4(target.rgb, maskedAlpha);
833
+ function frameGate(now, state) {
834
+ const { lastRenderTime, isVisible, forceFullFrameRate } = state;
835
+ const deltaTime = lastRenderTime > 0 ? (now - lastRenderTime) / 1e3 : .016;
836
+ if (lastRenderTime > 0) {
837
+ const sinceLast = now - lastRenderTime;
838
+ if (!isVisible && !forceFullFrameRate && sinceLast < 1e3) return {
839
+ render: false,
840
+ deltaTime
841
+ };
842
+ if ((isVisible || forceFullFrameRate) && sinceLast < 15.666666666666668) return {
843
+ render: false,
844
+ deltaTime
845
+ };
846
+ }
847
+ return {
848
+ render: true,
849
+ deltaTime: Math.min(deltaTime, .1)
850
+ };
362
851
  }
363
- function luminance_default(target, mask) {
364
- const luminanceWeights = vec3(.2126, .7152, .0722);
365
- const luminance = dot(mask.rgb, luminanceWeights);
366
- const maskedAlpha = mul(target.a, luminance);
367
- return vec4(target.rgb, maskedAlpha);
852
+ async function awaitGpuIdle(root) {
853
+ try {
854
+ const queue = root.device?.queue;
855
+ if (queue && typeof queue.onSubmittedWorkDone === "function") {
856
+ await queue.onSubmittedWorkDone();
857
+ return;
858
+ }
859
+ } catch {}
860
+ await new Promise((resolve) => setTimeout(resolve, 16));
368
861
  }
369
- function luminanceInverted_default(target, mask) {
370
- const luminanceWeights = vec3(.2126, .7152, .0722);
371
- const invertedLuminance = sub(1, dot(mask.rgb, luminanceWeights));
372
- const maskedAlpha = mul(target.a, invertedLuminance);
373
- return vec4(target.rgb, maskedAlpha);
862
+ function runFrameSequence(seq) {
863
+ seq.updateDrivers();
864
+ if (!seq.ensureComposition()) return;
865
+ seq.beforeRender();
866
+ seq.flush();
867
+ seq.render();
868
+ seq.markReady();
869
+ seq.afterRender();
374
870
  }
375
- var maskFunctions = {
376
- "alpha": alpha_default,
377
- "alphaInverted": alphaInverted_default,
378
- "luminance": luminance_default,
379
- "luminanceInverted": luminanceInverted_default
380
- };
381
- function applyMask(target, mask, maskType = "alpha") {
382
- return (maskFunctions[maskType] || maskFunctions["alpha"])(target, mask);
871
+ function createFrameLoop(tick) {
872
+ let rafId = null;
873
+ const raf = (cb) => typeof requestAnimationFrame === "function" ? requestAnimationFrame(cb) : setTimeout(() => cb(performance.now()), 16);
874
+ const cancel = (id) => {
875
+ if (typeof cancelAnimationFrame === "function") cancelAnimationFrame(id);
876
+ else clearTimeout(id);
877
+ };
878
+ const step = () => {
879
+ tick();
880
+ if (rafId !== null) rafId = raf(step);
881
+ };
882
+ return {
883
+ start() {
884
+ if (rafId !== null) return;
885
+ rafId = raf(step);
886
+ },
887
+ stop() {
888
+ if (rafId !== null) {
889
+ cancel(rafId);
890
+ rafId = null;
891
+ }
892
+ },
893
+ get running() {
894
+ return rafId !== null;
895
+ }
896
+ };
383
897
  }
384
898
  var PerformanceTracker = class {
385
899
  frameTimesMs = [];
@@ -599,220 +1113,121 @@ var PerformanceTracker = class {
599
1113
  this.lastGpuTime = null;
600
1114
  }
601
1115
  };
602
- const needsTransformation = (transform) => {
603
- if (!transform) return false;
604
- return transform.offsetX !== 0 || transform.offsetY !== 0 || transform.rotation !== 0 || transform.scale !== 1 || transform.anchorX !== .5 || transform.anchorY !== .5;
605
- };
606
- const applyUVTransform = (uv$1, offsetXUniform, offsetYUniform, rotationUniform, scaleUniform, anchorXUniform, anchorYUniform, aspectRatioUniform) => {
607
- const rotationRad = rotationUniform.mul(PI).div(float(180));
608
- const cosAngle = cos(rotationRad);
609
- const sinAngle = sin(rotationRad);
610
- const anchor = vec2(anchorXUniform, anchorYUniform);
611
- const scaledUV = uv$1.sub(anchor).div(scaleUniform);
612
- const squareUV = vec2(scaledUV.x.mul(aspectRatioUniform), scaledUV.y);
613
- const rotatedSquareUV = vec2(squareUV.x.mul(cosAngle).sub(squareUV.y.mul(sinAngle)), squareUV.x.mul(sinAngle).add(squareUV.y.mul(cosAngle)));
614
- return vec2(rotatedSquareUV.x.div(aspectRatioUniform), rotatedSquareUV.y).sub(vec2(offsetXUniform, offsetYUniform)).add(anchor);
615
- };
616
- var updateTransformMap = new Map([[transformColor, transformColorUpdate], [transformPosition, transformPositionUpdate]]);
617
- function createUniformsMap(component, reactiveProps, instanceId) {
618
- const uniformsMap = {};
619
- Object.entries(component.props).forEach(([propName, propConfig]) => {
620
- const initialValue = reactiveProps[propName];
621
- let uniformValue = initialValue;
622
- if (propConfig.transform) {
623
- const transformed = propConfig.transform(initialValue);
624
- uniformValue = transformed?.node ?? transformed;
625
- }
626
- if (uniformValue === null || uniformValue === void 0) {
627
- uniformValue = propConfig.default;
628
- if (propConfig.transform && uniformValue !== null && uniformValue !== void 0) {
629
- const transformed = propConfig.transform(uniformValue);
630
- uniformValue = transformed?.node ?? transformed;
631
- }
632
- }
633
- if (uniformValue === null || uniformValue === void 0) {
634
- console.error(`[Shaders] Uniform "${propName}" is null/undefined after fallback. PropConfig:`, {
635
- propName,
636
- initialValue,
637
- default: propConfig.default,
638
- hasTransform: !!propConfig.transform
639
- });
640
- uniformValue = 0;
641
- }
642
- const uniformNode = uniform(uniformValue).setName(`${propName}_${instanceId}`.replace(/[^a-zA-Z0-9_]/g, "_"));
643
- if (typeof uniformValue === "string" && uniformNode.value === null) uniformNode.value = uniformValue;
644
- uniformsMap[propName] = {
645
- uniform: uniformNode,
646
- transform: propConfig.transform || void 0,
647
- compileTime: propConfig.compileTime || false,
648
- ...propConfig.compileTimeWhen ? {
649
- compileTimeWhen: propConfig.compileTimeWhen,
650
- _lastCompiledValue: initialValue ?? propConfig.default
651
- } : {}
652
- };
653
- });
654
- return uniformsMap;
655
- }
656
- function updateUniformValue(uniform$1, newValue) {
657
- if (uniform$1?.transform) {
658
- const updateTransform = updateTransformMap.get(uniform$1.transform);
659
- if (updateTransform) {
660
- const newData = updateTransform(newValue);
661
- if (uniform$1.uniform.value && typeof uniform$1.uniform.value.copy === "function") uniform$1.uniform.value.copy(newData);
662
- else uniform$1.uniform.value = newData;
663
- } else {
664
- const transformed = uniform$1.transform(newValue);
665
- const dataValue = transformed?.data ?? transformed;
666
- if (uniform$1.uniform.value && typeof uniform$1.uniform.value.copy === "function" && dataValue && typeof dataValue.copy === "function") uniform$1.uniform.value.copy(dataValue);
667
- else uniform$1.uniform.value = dataValue;
668
- }
669
- } else uniform$1.uniform.value = newValue;
670
- }
671
1116
  var globalEventManager = (() => {
672
1117
  let instanceCount = 0;
673
1118
  const callbacks = /* @__PURE__ */ new Set();
674
- const globalMouseMoveHandler = (e) => {
675
- callbacks.forEach((cb) => {
676
- try {
677
- cb.onMouseMove(e);
678
- } catch (error) {
679
- console.error("[Shaders] Error in mouse move handler:", error);
680
- }
681
- });
682
- };
683
- const globalTouchMoveHandler = (e) => {
684
- callbacks.forEach((cb) => {
685
- try {
686
- cb.onTouchMove(e);
687
- } catch (error) {
688
- console.error("[Shaders] Error in touch move handler:", error);
689
- }
690
- });
691
- };
692
- const globalMouseUpHandler = () => {
693
- callbacks.forEach((cb) => {
694
- try {
695
- cb.onMouseUp();
696
- } catch (error) {
697
- console.error("[Shaders] Error in mouse up handler:", error);
698
- }
699
- });
700
- };
701
- const globalTouchEndHandler = () => {
1119
+ const fan = (key, arg) => {
702
1120
  callbacks.forEach((cb) => {
703
1121
  try {
704
- cb.onTouchEnd();
1122
+ cb[key](arg);
705
1123
  } catch (error) {
706
- console.error("[Shaders] Error in touch end handler:", error);
1124
+ console.error("[Shaders] Error in pointer handler:", error);
707
1125
  }
708
1126
  });
709
1127
  };
1128
+ const onMove = (e) => fan("onMouseMove", e);
1129
+ const onTouch = (e) => fan("onTouchMove", e);
1130
+ const onUp = () => fan("onMouseUp");
1131
+ const onEnd = () => fan("onTouchEnd");
710
1132
  return { register(handlers) {
711
1133
  callbacks.add(handlers);
712
1134
  instanceCount++;
713
- if (instanceCount === 1) {
714
- window.addEventListener("mousemove", globalMouseMoveHandler);
715
- window.addEventListener("touchmove", globalTouchMoveHandler);
716
- window.addEventListener("mouseup", globalMouseUpHandler);
717
- window.addEventListener("touchend", globalTouchEndHandler);
1135
+ if (instanceCount === 1 && typeof window !== "undefined") {
1136
+ window.addEventListener("mousemove", onMove);
1137
+ window.addEventListener("touchmove", onTouch);
1138
+ window.addEventListener("mouseup", onUp);
1139
+ window.addEventListener("touchend", onEnd);
718
1140
  }
719
1141
  return () => {
720
1142
  callbacks.delete(handlers);
721
1143
  instanceCount--;
722
- if (instanceCount === 0) {
723
- window.removeEventListener("mousemove", globalMouseMoveHandler);
724
- window.removeEventListener("touchmove", globalTouchMoveHandler);
725
- window.removeEventListener("mouseup", globalMouseUpHandler);
726
- window.removeEventListener("touchend", globalTouchEndHandler);
1144
+ if (instanceCount === 0 && typeof window !== "undefined") {
1145
+ window.removeEventListener("mousemove", onMove);
1146
+ window.removeEventListener("touchmove", onTouch);
1147
+ window.removeEventListener("mouseup", onUp);
1148
+ window.removeEventListener("touchend", onEnd);
727
1149
  }
728
1150
  };
729
1151
  } };
730
1152
  })();
731
- var applySpring = (current, velocity, target, smoothing, momentum, dt) => {
732
- if (smoothing === 0 && momentum === 0) return [target, 0];
733
- const stiffness = 200 * Math.pow(.01, smoothing);
734
- const damping = 2 * Math.sqrt(stiffness) * (1 - momentum * .85);
735
- const newVelocity = velocity + (stiffness * (target - current) - damping * velocity) * dt;
736
- return [current + newVelocity * dt, newVelocity];
737
- };
738
- function shaderRenderer() {
1153
+ function shapeConfigUsesMouse(raw) {
1154
+ if (!raw) return false;
1155
+ let cfg = raw;
1156
+ if (typeof raw === "string") try {
1157
+ cfg = JSON.parse(raw);
1158
+ } catch {
1159
+ return false;
1160
+ }
1161
+ if (!cfg || typeof cfg !== "object") return false;
1162
+ for (const key in cfg) {
1163
+ const v = cfg[key];
1164
+ if (v && typeof v === "object" && v.type === "mouse") return true;
1165
+ }
1166
+ return false;
1167
+ }
1168
+ function shaderRendererGPU() {
1169
+ let rootCtx = null;
1170
+ let root = null;
1171
+ let context = null;
1172
+ let textureManager = null;
1173
+ let dispatcher = null;
739
1174
  let canvasElement = null;
740
- let renderer;
741
- let rendererInitPromise = null;
742
- let rendererInitSettled = false;
743
- let camera;
744
- let scene;
745
- let mesh;
746
- let material;
747
- const nodeRegistry = {
748
- nodes: /* @__PURE__ */ new Map(),
749
- rootId: null,
750
- idToNodeId: /* @__PURE__ */ new Map()
751
- };
752
- const parentToChildren = /* @__PURE__ */ new Map();
753
- let animationFrameId = null;
754
- let resizeObserver = null;
755
- let intersectionObserver = null;
756
1175
  let isInitialized = false;
757
1176
  let isInitializing = false;
758
- let rendererColorSpace = "p3-linear";
759
- let rendererToneMapping = "linear";
760
- let hasInitialDimensions = false;
1177
+ let isRendererReady = false;
761
1178
  let initializationAbortController = null;
762
- let isVisible = false;
763
- let shouldAnimate = true;
764
- let forceFullFrameRate = false;
1179
+ const nodes = /* @__PURE__ */ new Map();
1180
+ let rootId = null;
1181
+ const parentToChildren = /* @__PURE__ */ new Map();
1182
+ let pendingRegistrationQueue = [];
1183
+ const pipelineCache = createPipelineCache({
1184
+ maxSize: 4,
1185
+ dispose: (bc) => disposeComposition(bc)
1186
+ });
1187
+ const liveCompositions = /* @__PURE__ */ new Set();
1188
+ let boundComposition = null;
1189
+ let desiredHash = null;
1190
+ let structuralDirty = true;
765
1191
  let currentWidth = 0;
766
1192
  let currentHeight = 0;
1193
+ let logicalWidth = 0;
1194
+ let logicalHeight = 0;
1195
+ let pixelRatio = 1;
1196
+ let cachedMaxTextureDim = 8192;
1197
+ let lastRequestedWidth = 0;
1198
+ let lastRequestedHeight = 0;
1199
+ let hasInitialDimensions = false;
1200
+ const pxResWidth = () => logicalWidth || currentWidth || 1;
1201
+ const pxResHeight = () => logicalHeight || currentHeight || 1;
1202
+ let shouldAnimate = true;
1203
+ let isVisible = false;
1204
+ let forceFullFrameRate = false;
767
1205
  let lastRenderTime = 0;
768
1206
  let globalElapsedTime = 0;
769
- let needsMaterialRefresh = false;
1207
+ let sharedTimeOrigin = null;
1208
+ let pendingRenderRAF = null;
770
1209
  let pointerX = .5;
771
1210
  let pointerY = .5;
772
1211
  let pointerActive = false;
773
1212
  let cachedCanvasRect = null;
774
- let isUpdatingMaterial = false;
775
- let pendingNodeRemoval = false;
1213
+ let mouseListenersNeeded = false;
776
1214
  let globalEventUnregister = null;
777
- let canvasContextLossUnregister = null;
1215
+ let resizeObserver = null;
1216
+ let intersectionObserver = null;
778
1217
  let unloadHandler = null;
779
1218
  let windowResizeHandler = null;
780
- let cachedMaxTextureDim = 8192;
781
- let lastRequestedWidth = 0;
782
- let lastRequestedHeight = 0;
783
- let enablePerformanceTracking = true;
784
- const performanceTracker = new PerformanceTracker();
785
- let pendingRegistrationQueue = [];
786
- let isRendererReady = false;
1219
+ let pendingResize = null;
1220
+ let isResizeScheduled = false;
1221
+ let rendererColorSpace = "p3-linear";
1222
+ let rendererToneMapping = "linear";
1223
+ let enablePerformanceTracking = false;
1224
+ let setColorSpaceModeFn = null;
787
1225
  let onReadyCallback = null;
788
1226
  let hasEmittedReady = false;
789
1227
  let firstRenderPending = false;
790
1228
  let onDeviceLostCallback = null;
791
1229
  let deviceLostFired = false;
792
- const fireDeviceLost = (reason) => {
793
- if (deviceLostFired) return;
794
- deviceLostFired = true;
795
- try {
796
- stopAnimation();
797
- } catch {}
798
- if (onDeviceLostCallback) queueMicrotask(() => {
799
- try {
800
- onDeviceLostCallback?.(reason);
801
- } catch (e) {
802
- console.error("[Shaders] onDeviceLost callback threw:", e);
803
- }
804
- });
805
- };
806
- let materialUpdateBatchRAF = null;
807
- let lastComposedNodes = /* @__PURE__ */ new Set();
808
- let activeRTTNodes = /* @__PURE__ */ new Set();
809
- let actualRTTOperations = 0;
810
- let currentTextures = /* @__PURE__ */ new Set();
811
- let previousTextures = /* @__PURE__ */ new Set();
812
- const activeBeforeRender = /* @__PURE__ */ new Set();
813
- const activeAfterRender = /* @__PURE__ */ new Set();
814
- const activeCompute = /* @__PURE__ */ new Set();
815
- const activeDrivers = /* @__PURE__ */ new Set();
1230
+ const performanceTracker = new PerformanceTracker();
816
1231
  const frameParams = {
817
1232
  deltaTime: 0,
818
1233
  pointer: {
@@ -825,674 +1240,579 @@ function shaderRenderer() {
825
1240
  height: 0
826
1241
  }
827
1242
  };
828
- let pendingResize = null;
829
- let isResizeScheduled = false;
830
- const clampToTextureCap = (w, h) => {
831
- const pr = renderer?.getPixelRatio?.() ?? 1;
832
- const gpuCssCap = Math.max(1, Math.floor(cachedMaxTextureDim / pr) - 1);
833
- const capW = Math.min(w, window.innerWidth, gpuCssCap);
834
- const capH = Math.min(h, window.innerHeight, gpuCssCap);
835
- const scale = Math.min(capW / w, capH / h, 1);
1243
+ const frameLoop = createFrameLoop(() => renderFrame());
1244
+ const sanitizeId = (id) => id.replace(/[^a-zA-Z0-9_]/g, "_");
1245
+ const findChildNodes = (parentId) => {
1246
+ const childIds = parentToChildren.get(parentId);
1247
+ if (!childIds) return [];
1248
+ const out = [];
1249
+ for (const cid of childIds) {
1250
+ const info = nodes.get(cid);
1251
+ if (info) out.push(info);
1252
+ }
1253
+ return out;
1254
+ };
1255
+ const findNodeByCustomId = (customId) => {
1256
+ const sanitized = sanitizeId(customId);
1257
+ for (const [nodeId, info] of nodes) if (info.metadata.id === sanitized) return nodeId;
1258
+ return null;
1259
+ };
1260
+ const computeDimExtent = (node, origin) => {
1261
+ if (origin === "center") return void 0;
1262
+ const decl = node.boundingBoxDeclaration;
1263
+ if (!decl) return void 0;
1264
+ const snap = {};
1265
+ for (const [k, u] of Object.entries(node.uniforms)) snap[k] = u._rawDimensional !== void 0 ? u._rawDimensional : u.value;
1266
+ return boxHalfExtentsUV(decl, snap, pxResWidth(), pxResHeight());
1267
+ };
1268
+ const reresolveDimensionalUniforms = (node) => {
1269
+ const decl = node.boundingBoxDeclaration;
1270
+ const extra = node.extraDimProps;
1271
+ const plan = buildDimensionalPlan(decl, extra);
1272
+ if (!plan) return;
1273
+ const origin = node.uniforms["origin"]?.value ?? "center";
1274
+ const he = computeDimExtent(node, origin);
1275
+ const names = [...plan.positionProps, ...plan.sizeProps.keys()];
1276
+ for (const name of names) {
1277
+ const u = node.uniforms[name];
1278
+ if (!u || u._rawDimensional === void 0) continue;
1279
+ const resolved = resolveDimensionalProp(decl, name, u._rawDimensional, origin, pxResWidth(), pxResHeight(), extra, he);
1280
+ u.value = resolved;
1281
+ writePropHandle(node, name, resolved);
1282
+ }
1283
+ };
1284
+ const resolveDynamicBound = (node, propName, bound) => {
1285
+ if (typeof bound === "number") return bound;
1286
+ const origin = node.uniforms["origin"]?.value ?? "center";
1287
+ const resolved = resolveDimensionalProp(node.boundingBoxDeclaration, propName, bound, origin, pxResWidth(), pxResHeight(), node.extraDimProps);
1288
+ return typeof resolved === "number" ? resolved : bound?.value ?? 0;
1289
+ };
1290
+ const aspectRatio = () => {
1291
+ const { width, height } = bufferSize();
1292
+ return width / Math.max(1, height);
1293
+ };
1294
+ const transformFieldValues = (node) => {
1295
+ const t = node.metadata.transform;
836
1296
  return {
837
- width: Math.max(1, Math.round(w * scale)),
838
- height: Math.max(1, Math.round(h * scale))
1297
+ offsetX: t?.offsetX ?? 0,
1298
+ offsetY: t?.offsetY ?? 0,
1299
+ rotation: t?.rotation ?? 0,
1300
+ scale: t?.scale ?? 1,
1301
+ anchorX: t?.anchorX ?? .5,
1302
+ anchorY: t?.anchorY ?? .5,
1303
+ aspectRatio: aspectRatio()
839
1304
  };
840
1305
  };
841
- const updateRendererDimensions = (width, height) => {
842
- if (width <= 0 || height <= 0) return;
843
- if (width === lastRequestedWidth && height === lastRequestedHeight) return;
844
- lastRequestedWidth = width;
845
- lastRequestedHeight = height;
846
- pendingResize = {
847
- width,
848
- height
1306
+ const bboxFieldValues = (node) => {
1307
+ const bbox = node.metadata.boundingBox;
1308
+ if (!bbox) return null;
1309
+ const p = boundingBoxToUVParams(bbox, pxResWidth(), pxResHeight());
1310
+ return {
1311
+ centerX: p.centerX,
1312
+ centerY: p.centerY,
1313
+ halfWidth: p.halfWidthUV,
1314
+ halfHeight: p.halfHeightUV,
1315
+ cornerRadius: p.cornerRadiusUV,
1316
+ rotation: p.rotation,
1317
+ aspectRatio: aspectRatio()
849
1318
  };
850
- if (!isResizeScheduled) {
851
- isResizeScheduled = true;
852
- requestAnimationFrame(() => {
853
- isResizeScheduled = false;
854
- if (!pendingResize) return;
855
- const raw = pendingResize;
856
- pendingResize = null;
857
- const { width: width$1, height: height$1 } = clampToTextureCap(raw.width, raw.height);
858
- currentWidth = width$1;
859
- currentHeight = height$1;
860
- if (!hasInitialDimensions) {
861
- hasInitialDimensions = true;
862
- if (nodeRegistry.nodes.size > 0 && materialUpdateBatchRAF === null) materialUpdateBatchRAF = requestAnimationFrame(() => {
863
- materialUpdateBatchRAF = null;
864
- updateMaterial();
865
- });
866
- }
867
- renderer.setSize(width$1, height$1, false);
868
- const aspectRatio = width$1 / height$1;
869
- const frustumHeight = 2;
870
- const frustumWidth = frustumHeight * aspectRatio;
871
- camera.left = -frustumWidth / 2;
872
- camera.right = frustumWidth / 2;
873
- camera.top = frustumHeight / 2;
874
- camera.bottom = -frustumHeight / 2;
875
- camera.updateProjectionMatrix();
876
- mesh.scale.set(frustumWidth, frustumHeight, 1);
877
- nodeRegistry.nodes.forEach((nodeInfo) => {
878
- if (nodeInfo.transformUniforms?.aspectRatio) nodeInfo.transformUniforms.aspectRatio.value = aspectRatio;
879
- nodeInfo.resizeCallbacks.forEach((callback) => {
880
- try {
881
- callback({
882
- width: width$1,
883
- height: height$1
884
- });
885
- } catch (error) {
886
- console.error("Error in resize callback:", error);
887
- }
888
- });
889
- });
890
- lastRenderTime = 0;
891
- renderFrame();
892
- });
1319
+ };
1320
+ const bboxActive = (node) => !!node.metadata.boundingBox && !!node.boundingBoxDeclaration;
1321
+ const computeNodeBoundsUV = (node) => {
1322
+ const decl = node.boundingBoxDeclaration;
1323
+ if (!decl || !node.uniforms) return null;
1324
+ if (!decl.computeBounds && !decl.propBindings) return null;
1325
+ const snap = {};
1326
+ for (const [k, u] of Object.entries(node.uniforms)) snap[k] = u._rawDimensional !== void 0 ? u._rawDimensional : u.value;
1327
+ const he = boxHalfExtentsUV(decl, snap, pxResWidth(), pxResHeight());
1328
+ if (he.hwx <= 0 && he.hhy <= 0) return null;
1329
+ let cx = .5;
1330
+ let cy = .5;
1331
+ const posProp = decl.propBindings?.x?.prop ?? decl.propBindings?.y?.prop;
1332
+ const posValue = posProp ? node.uniforms[posProp]?.value : void 0;
1333
+ if (posValue && typeof posValue.x === "number" && typeof posValue.y === "number") {
1334
+ cx = posValue.x;
1335
+ cy = posValue.y;
893
1336
  }
1337
+ return {
1338
+ centerX: cx,
1339
+ centerY: cy,
1340
+ halfWidth: he.hwx,
1341
+ halfHeight: he.hhy
1342
+ };
894
1343
  };
895
- const canRender = () => {
896
- return isInitialized && !!renderer && !!scene && !!camera && !!material && currentWidth > 0 && currentHeight > 0;
1344
+ const childBoundsValues = (node) => {
1345
+ if (!node.definition.wantsBoundsParams) return null;
1346
+ const children = findChildNodes(node.id).sort((a, b) => a.metadata.renderOrder - b.metadata.renderOrder);
1347
+ for (const child of children) {
1348
+ if (child.metadata.visible === false) continue;
1349
+ if (bboxActive(child)) return null;
1350
+ const b = computeNodeBoundsUV(child);
1351
+ if (b) return b;
1352
+ }
1353
+ return null;
897
1354
  };
898
- const handleResize = (entries) => {
899
- if (!renderer || !camera || !mesh) return;
900
- const entry = entries[0];
901
- if (!entry) return;
902
- let width, height;
903
- if (entry.contentBoxSize) {
904
- const boxSize = Array.isArray(entry.contentBoxSize) ? entry.contentBoxSize[0] : entry.contentBoxSize;
905
- if (boxSize) {
906
- width = Math.round(boxSize.inlineSize);
907
- height = Math.round(boxSize.blockSize);
908
- } else {
909
- width = Math.round(entry.contentRect.width);
910
- height = Math.round(entry.contentRect.height);
911
- }
912
- } else {
913
- width = Math.round(entry.contentRect.width);
914
- height = Math.round(entry.contentRect.height);
1355
+ const updateChildBounds = () => {
1356
+ for (const node of nodes.values()) {
1357
+ if (!node.definition.wantsBoundsParams) continue;
1358
+ const b = childBoundsValues(node);
1359
+ if (!b) continue;
1360
+ writeSyntheticScalar(node, "_childBounds_centerX", b.centerX);
1361
+ writeSyntheticScalar(node, "_childBounds_centerY", b.centerY);
1362
+ writeSyntheticScalar(node, "_childBounds_halfWidth", b.halfWidth);
1363
+ writeSyntheticScalar(node, "_childBounds_halfHeight", b.halfHeight);
915
1364
  }
916
- if (width === 0 || height === 0) return;
917
- updateRendererDimensions(width, height);
918
1365
  };
919
- const handleVisibilityChange = (entries) => {
920
- const entry = entries[0];
921
- if (!entry) return;
922
- isVisible = entry.isIntersecting;
1366
+ const transformActive = (node) => needsTransformation(node.metadata.transform);
1367
+ const ensureMapValues = (node, prop, driver) => {
1368
+ const mv = node.mapValues[prop] ?? {
1369
+ inputMin: 0,
1370
+ inputMax: 1,
1371
+ outputMin: 0,
1372
+ outputMax: 1,
1373
+ curve: 0
1374
+ };
1375
+ if (driver.type === "map") {
1376
+ const c = driver;
1377
+ mv.inputMin = c.inputMin;
1378
+ mv.inputMax = c.inputMax;
1379
+ mv.outputMin = resolveDynamicBound(node, prop, c.outputMin);
1380
+ mv.outputMax = resolveDynamicBound(node, prop, c.outputMax);
1381
+ mv.curve = c.curve ?? 0;
1382
+ } else if (driver.type === "mouse") {
1383
+ const c = driver;
1384
+ mv.outputMin = resolveDynamicBound(node, prop, c.outputMin);
1385
+ mv.outputMax = resolveDynamicBound(node, prop, c.outputMax);
1386
+ mv.curve = c.curve ?? 0;
1387
+ } else if (driver.type === "auto-animate") {
1388
+ const c = driver;
1389
+ mv.outputMin = resolveDynamicBound(node, prop, c.outputMin);
1390
+ mv.outputMax = resolveDynamicBound(node, prop, c.outputMax);
1391
+ }
1392
+ node.mapValues[prop] = mv;
1393
+ return mv;
923
1394
  };
924
- const setsAreEqual = (set1, set2) => {
925
- if (set1.size !== set2.size) return false;
926
- for (const item of set1) if (!set2.has(item)) return false;
927
- return true;
928
- };
929
- const rebuildActiveSets = () => {
930
- activeBeforeRender.clear();
931
- activeAfterRender.clear();
932
- activeCompute.clear();
933
- activeDrivers.clear();
934
- for (const [id, info] of nodeRegistry.nodes) {
935
- if (info.beforeRenderCallbacks.length > 0) activeBeforeRender.add(id);
936
- if (info.afterRenderCallbacks.length > 0) activeAfterRender.add(id);
937
- if (info.computeGetNodes) activeCompute.add(id);
938
- const ms = info.mouseDriverState;
939
- const as = info.autoAnimateState;
940
- const hasMouse = !!ms && Object.keys(ms).length > 0;
941
- const hasAnim = !!as && Object.keys(as).length > 0;
942
- if (hasMouse || hasAnim) activeDrivers.add(id);
943
- }
944
- };
945
- const trackConvertToTexture = (node) => {
946
- actualRTTOperations++;
947
- const texture$1 = convertToTexture(node);
948
- currentTextures.add(texture$1);
949
- return texture$1;
950
- };
951
- const disposePreviousTextures = () => {
952
- previousTextures.forEach((texture$1) => {
953
- try {
954
- if (texture$1?.renderTarget?.dispose) texture$1.renderTarget.dispose();
955
- } catch (e) {}
1395
+ const ensureMouseState = (node, prop, driver) => {
1396
+ let s = node.mouseDriverState[prop];
1397
+ if (s) return s;
1398
+ if (driver.type === "mouse-position") {
1399
+ const trackX = driver.x === void 0 || driver.x === "mouse";
1400
+ const trackY = driver.y === void 0 || driver.y === "mouse";
1401
+ s = {
1402
+ currentX: trackX ? pointerX : driver.x,
1403
+ currentY: trackY ? pointerY : driver.y,
1404
+ velocityX: 0,
1405
+ velocityY: 0
1406
+ };
1407
+ } else s = {
1408
+ currentX: Math.max(.001, driver.axis === "x" ? pointerX : pointerY),
1409
+ currentY: 0,
1410
+ velocityX: 0,
1411
+ velocityY: 0
1412
+ };
1413
+ node.mouseDriverState[prop] = s;
1414
+ return s;
1415
+ };
1416
+ const animatedTimeKey = (node) => {
1417
+ const at = node.definition.animatedTime;
1418
+ return (at ? node.uniforms[at.speed] : void 0) ?? node;
1419
+ };
1420
+ const extraAnimatedTimeKey = (node, speedProp) => node.uniforms[speedProp] ?? node;
1421
+ const buildFieldInits = (node) => {
1422
+ const inits = [];
1423
+ for (const [propName, u] of Object.entries(node.uniforms)) inits.push({
1424
+ name: propName,
1425
+ initial: u.value,
1426
+ transform: u.transform,
1427
+ cpu: u.cpu,
1428
+ schema: u.schema
956
1429
  });
957
- previousTextures.clear();
958
- };
959
- const applyHableTonemap = (node) => {
960
- const rgb = vec3(node.x, node.y, node.z);
961
- const alpha = node.w;
962
- const x = rgb.mul(16);
963
- const num = x.mul(x.mul(.15).add(.05)).add(.004);
964
- const den = x.mul(x.mul(.15).add(.5)).add(.06);
965
- const tonemapped = num.div(den).sub(.02 / .3);
966
- return vec4(tonemapped.x, tonemapped.y, tonemapped.z, alpha);
967
- };
968
- const applyUnrealTonemap = (node) => {
969
- const rgb = vec3(node.x, node.y, node.z);
970
- const alpha = node.w;
971
- const tonemapped = rgb.div(rgb.add(.155)).mul(1.019);
972
- return vec4(tonemapped.x, tonemapped.y, tonemapped.z, alpha);
973
- };
974
- const setToneMapping = (mode) => {
975
- rendererToneMapping = mode;
976
- if (!renderer) return;
977
- renderer.toneMapping = {
978
- linear: NoToneMapping,
979
- reinhard: ReinhardToneMapping,
980
- cineon: CineonToneMapping,
981
- aces: ACESFilmicToneMapping,
982
- agx: AgXToneMapping,
983
- neutral: NeutralToneMapping
984
- }[mode] ?? NoToneMapping;
985
- };
986
- let materialUpdatePending = false;
987
- const updateMaterial = () => {
988
- if (!nodeRegistry.rootId || !material || isUpdatingMaterial) return;
989
- if (!nodeRegistry.nodes.get(nodeRegistry.rootId)) return;
990
- if (currentWidth === 0 || currentHeight === 0) {
991
- if (!materialUpdatePending) {
992
- materialUpdatePending = true;
993
- requestAnimationFrame(() => {
994
- materialUpdatePending = false;
995
- if (currentWidth > 0 && currentHeight > 0) updateMaterial();
996
- });
997
- }
998
- return;
1430
+ inits.push({
1431
+ name: "_opacity",
1432
+ schema: d.f32,
1433
+ initial: node.metadata.opacity ?? 1
1434
+ });
1435
+ if (node.definition.animatedTime) inits.push({
1436
+ name: "_animTime",
1437
+ schema: d.f32,
1438
+ initial: getAnimatedTimeState(animatedTimeKey(node)).value
1439
+ });
1440
+ if (node.definition.extraAnimatedTimes) for (const [key, speedProp] of Object.entries(node.definition.extraAnimatedTimes)) inits.push({
1441
+ name: `_animTime_${key}`,
1442
+ schema: d.f32,
1443
+ initial: getAnimatedTimeState(extraAnimatedTimeKey(node, speedProp)).value
1444
+ });
1445
+ const extraFields = node.definition.extraFields;
1446
+ if (extraFields) for (const [name, f] of Object.entries(extraFields)) inits.push({
1447
+ name,
1448
+ schema: f.schema,
1449
+ initial: f.initial
1450
+ });
1451
+ if (transformActive(node)) {
1452
+ const tf = transformFieldValues(node);
1453
+ for (const [k, v] of Object.entries(tf)) inits.push({
1454
+ name: `_xform_${k}`,
1455
+ schema: d.f32,
1456
+ initial: v
1457
+ });
999
1458
  }
1000
- isUpdatingMaterial = true;
1001
- try {
1002
- previousTextures = new Set(currentTextures);
1003
- currentTextures.clear();
1004
- const currentComposedNodes = /* @__PURE__ */ new Set();
1005
- activeRTTNodes.clear();
1006
- nodeRegistry.nodes.forEach((nodeInfo, nodeId) => {
1007
- if (nodeInfo.requiresRTT || nodeInfo.transformRTTActive) activeRTTNodes.add(nodeId);
1459
+ if (bboxActive(node)) {
1460
+ const bb = bboxFieldValues(node);
1461
+ if (bb) for (const [k, v] of Object.entries(bb)) inits.push({
1462
+ name: `_bbox_${k}`,
1463
+ schema: d.f32,
1464
+ initial: v
1008
1465
  });
1009
- actualRTTOperations = 0;
1010
- const composedNode = composeNodeTree(nodeRegistry.rootId, /* @__PURE__ */ new Set(), currentComposedNodes);
1011
- if (composedNode && material) {
1012
- const compositionChanged = !setsAreEqual(lastComposedNodes, currentComposedNodes);
1013
- let finalNode = composedNode;
1014
- if (rendererToneMapping === "hable") finalNode = applyHableTonemap(composedNode);
1015
- else if (rendererToneMapping === "unreal") finalNode = applyUnrealTonemap(composedNode);
1016
- const nodeChanged = material.fragmentNode !== finalNode;
1017
- if (compositionChanged || needsMaterialRefresh || nodeChanged) {
1018
- disposePreviousTextures();
1019
- try {
1020
- material.dispose();
1021
- if (renderer.renderTarget) renderer.renderTarget.dispose();
1022
- } catch (e) {}
1023
- const newMaterial = new MeshBasicNodeMaterial({ transparent: true });
1024
- newMaterial.fragmentNode = finalNode;
1025
- newMaterial.needsUpdate = true;
1026
- mesh.material = newMaterial;
1027
- material = newMaterial;
1028
- needsMaterialRefresh = false;
1029
- lastComposedNodes = currentComposedNodes;
1030
- if (!hasEmittedReady && currentComposedNodes.size > 0) firstRenderPending = true;
1031
- }
1466
+ }
1467
+ if (node.definition.wantsBoundsParams) {
1468
+ const cb = childBoundsValues(node) ?? {
1469
+ centerX: .5,
1470
+ centerY: .5,
1471
+ halfWidth: .5,
1472
+ halfHeight: .5
1473
+ };
1474
+ for (const [k, v] of Object.entries(cb)) inits.push({
1475
+ name: `_childBounds_${k}`,
1476
+ schema: d.f32,
1477
+ initial: v
1478
+ });
1479
+ }
1480
+ const maps = node.metadata.maps;
1481
+ if (maps) for (const [prop, driver] of Object.entries(maps)) {
1482
+ if (!(prop in node.uniforms)) continue;
1483
+ if (driver.type === "map") {
1484
+ const mv = ensureMapValues(node, prop, driver);
1485
+ inits.push({
1486
+ name: `_map_${prop}_inputMin`,
1487
+ schema: d.f32,
1488
+ initial: mv.inputMin
1489
+ });
1490
+ inits.push({
1491
+ name: `_map_${prop}_inputMax`,
1492
+ schema: d.f32,
1493
+ initial: mv.inputMax
1494
+ });
1495
+ inits.push({
1496
+ name: `_map_${prop}_outputMin`,
1497
+ schema: d.f32,
1498
+ initial: mv.outputMin
1499
+ });
1500
+ inits.push({
1501
+ name: `_map_${prop}_outputMax`,
1502
+ schema: d.f32,
1503
+ initial: mv.outputMax
1504
+ });
1505
+ inits.push({
1506
+ name: `_map_${prop}_curve`,
1507
+ schema: d.f32,
1508
+ initial: mv.curve
1509
+ });
1510
+ } else if (driver.type === "mouse-position") {
1511
+ const s = ensureMouseState(node, prop, driver);
1512
+ inits.push({
1513
+ name: `_smoothed_${prop}`,
1514
+ schema: d.vec2f,
1515
+ initial: [s.currentX, 1 - s.currentY]
1516
+ });
1517
+ } else if (driver.type === "mouse") {
1518
+ ensureMouseState(node, prop, driver);
1519
+ const mv = ensureMapValues(node, prop, driver);
1520
+ inits.push({
1521
+ name: `_smoothed_${prop}`,
1522
+ schema: d.f32,
1523
+ initial: mv.outputMin
1524
+ });
1525
+ } else if (driver.type === "auto-animate") {
1526
+ if (!node.autoAnimateState[prop]) node.autoAnimateState[prop] = {};
1527
+ const mv = ensureMapValues(node, prop, driver);
1528
+ inits.push({
1529
+ name: `_smoothed_${prop}`,
1530
+ schema: d.f32,
1531
+ initial: mv.outputMin
1532
+ });
1032
1533
  }
1033
- } catch (error) {
1034
- console.error("Error composing shader tree:", error);
1035
- } finally {
1036
- isUpdatingMaterial = false;
1037
- pendingNodeRemoval = false;
1038
1534
  }
1039
- rebuildActiveSets();
1040
- if (!animationFrameId) renderFrame();
1535
+ return inits;
1041
1536
  };
1042
- const findChildNodes = (parentId) => {
1043
- const childIds = parentToChildren.get(parentId);
1044
- if (!childIds) return [];
1045
- const children = [];
1046
- for (const childId of childIds) {
1047
- const nodeInfo = nodeRegistry.nodes.get(childId);
1048
- if (nodeInfo) children.push(nodeInfo);
1049
- }
1050
- return children;
1537
+ const writePropHandle = (node, propName, value) => {
1538
+ const h = node._liveHandles?.[propName];
1539
+ if (!h) return;
1540
+ setColorSpaceModeFn?.(rendererColorSpace);
1541
+ updateFieldValue(h, value);
1051
1542
  };
1052
- const sanitizeId = (id) => id.replace(/[^a-zA-Z0-9_]/g, "_");
1053
- const findNodeByCustomId = (customId) => {
1054
- const sanitized = sanitizeId(customId);
1055
- for (const [nodeId, info] of nodeRegistry.nodes.entries()) if (info.metadata.id === sanitized) return nodeId;
1056
- return null;
1543
+ const writeSyntheticScalar = (node, field, value) => {
1544
+ const h = node._liveHandles?.[field];
1545
+ if (h instanceof FieldHandle) h.value = value;
1057
1546
  };
1058
- const applyMaskIfNeeded = (result, nodeInfo, nodeId, processedMasks, distortedUV) => {
1059
- if (!nodeInfo.metadata.mask?.source) return result;
1060
- const maskSourceId = nodeInfo.metadata.mask.source;
1061
- const maskNodeId = findNodeByCustomId(maskSourceId);
1062
- if (!maskNodeId) return result;
1063
- if (processedMasks.has(maskNodeId)) {
1064
- console.error(`Uh oh, looks like you've got a circular dependency in your shader masks.`);
1065
- return result;
1066
- }
1067
- const newProcessedMasks = new Set(processedMasks);
1068
- newProcessedMasks.add(nodeId);
1069
- const maskNode = composeNodeTree(maskNodeId, newProcessedMasks);
1070
- let finalMaskNode = maskNode;
1071
- if (distortedUV) finalMaskNode = trackConvertToTexture(maskNode).sample(distortedUV);
1072
- const maskType = nodeInfo.metadata.mask.type || "alpha";
1073
- return applyMask(result, finalMaskNode, maskType);
1074
- };
1075
- const resolveMapForProp = (mapConfig, processedMasks, currentNodeId, propName, sampleUV) => {
1076
- const sourceNodeId = findNodeByCustomId(mapConfig.source);
1077
- if (!sourceNodeId) return null;
1078
- if (processedMasks.has(sourceNodeId)) {
1079
- console.error(`[Shaders] Circular dependency detected in prop maps: node "${mapConfig.source}" is already being processed.`);
1080
- return null;
1081
- }
1082
- const newProcessedMasks = new Set(processedMasks);
1083
- newProcessedMasks.add(currentNodeId);
1084
- const mapTexture = trackConvertToTexture(composeNodeTree(sourceNodeId, newProcessedMasks));
1085
- const sampled = mapTexture.sample(sampleUV ?? screenUV);
1086
- let raw;
1087
- switch (mapConfig.channel) {
1088
- case "alpha":
1089
- raw = sampled.a;
1090
- break;
1091
- case "alphaInverted":
1092
- raw = sampled.a.oneMinus();
1093
- break;
1094
- case "luminanceInverted":
1095
- raw = dot(sampled.rgb, vec3(.2126, .7152, .0722)).oneMinus();
1096
- break;
1097
- case "luminance":
1098
- default:
1099
- raw = dot(sampled.rgb, vec3(.2126, .7152, .0722));
1100
- break;
1547
+ const writeExtraFieldValue = (node, field, value) => {
1548
+ const h = node._liveHandles?.[field];
1549
+ if (h instanceof FieldHandle) h.value = value;
1550
+ };
1551
+ const nodeColorSpaceMode = (node) => {
1552
+ for (const u of Object.values(node.uniforms)) if (u.transform === transformColorSpace) {
1553
+ const raw = u.value;
1554
+ if (typeof raw === "string") return transformColorSpace(raw);
1555
+ if (typeof raw === "number") return raw;
1101
1556
  }
1102
- const nodeInfo = nodeRegistry.nodes.get(currentNodeId);
1103
- if (!nodeInfo) return null;
1104
- if (!nodeInfo.mapUniforms) nodeInfo.mapUniforms = {};
1105
- if (!nodeInfo.mapUniforms[propName]) nodeInfo.mapUniforms[propName] = {
1106
- inputMin: uniform(mapConfig.inputMin),
1107
- inputMax: uniform(mapConfig.inputMax),
1108
- outputMin: uniform(mapConfig.outputMin),
1109
- outputMax: uniform(mapConfig.outputMax),
1110
- curve: uniform(mapConfig.curve ?? 0),
1111
- sourceTexture: mapTexture,
1112
- channel: mapConfig.channel
1557
+ return 0;
1558
+ };
1559
+ const repackColorStops = (node) => {
1560
+ if (!node.uniforms.convertedColorsArray) return;
1561
+ let stops = null;
1562
+ for (const u of Object.values(node.uniforms)) if (u.transform === colorStopsTransform) {
1563
+ stops = u.value ?? null;
1564
+ break;
1565
+ }
1566
+ const packed = packStops(stops, colorToRGBA);
1567
+ const converted = packConvertedStops(packed.colors, packed.stopCount, nodeColorSpaceMode(node));
1568
+ const write = (name, value) => {
1569
+ const u = node.uniforms[name];
1570
+ if (u) u.value = value;
1571
+ writePropHandle(node, name, value);
1113
1572
  };
1114
- else {
1115
- nodeInfo.mapUniforms[propName].inputMin.value = mapConfig.inputMin;
1116
- nodeInfo.mapUniforms[propName].inputMax.value = mapConfig.inputMax;
1117
- nodeInfo.mapUniforms[propName].outputMin.value = mapConfig.outputMin;
1118
- nodeInfo.mapUniforms[propName].outputMax.value = mapConfig.outputMax;
1119
- nodeInfo.mapUniforms[propName].curve.value = mapConfig.curve ?? 0;
1120
- nodeInfo.mapUniforms[propName].sourceTexture = mapTexture;
1121
- nodeInfo.mapUniforms[propName].channel = mapConfig.channel;
1122
- }
1123
- const { inputMin: inputMinU, inputMax: inputMaxU, outputMin: outputMinU, outputMax: outputMaxU, curve: curveU } = nodeInfo.mapUniforms[propName];
1124
- const inputRange = max(inputMaxU.sub(inputMinU), 1e-4);
1125
- return mix(outputMinU, outputMaxU, pow(clamp(raw.sub(inputMinU).div(inputRange), 0, 1), pow(float(2), curveU.negate().mul(2))));
1126
- };
1127
- const resolveMousePositionForProp = (_config, nodeId, propName) => {
1128
- const nodeInfo = nodeRegistry.nodes.get(nodeId);
1129
- if (!nodeInfo) return null;
1130
- if (!nodeInfo.mouseDriverState) nodeInfo.mouseDriverState = {};
1131
- if (!nodeInfo.mouseDriverState[propName]) {
1132
- const trackX = _config.x === void 0 || _config.x === "mouse";
1133
- const trackY = _config.y === void 0 || _config.y === "mouse";
1134
- const initX = trackX ? pointerX : _config.x;
1135
- const initY = trackY ? pointerY : _config.y;
1136
- const smoothedUniform = uniform(new Vector2(initX, 1 - initY));
1137
- nodeInfo.mouseDriverState[propName] = {
1138
- currentX: initX,
1139
- currentY: initY,
1140
- velocityX: 0,
1141
- velocityY: 0,
1142
- smoothedUniform
1143
- };
1573
+ write("colorsArray", packed.colors);
1574
+ write("positionsArray", packed.positions);
1575
+ write("convertedColorsArray", converted);
1576
+ write("stopCount", packed.stopCount);
1577
+ };
1578
+ const writeNodeSynthetic = (node) => {
1579
+ writeSyntheticScalar(node, "_opacity", node.metadata.opacity ?? 1);
1580
+ if (node.definition.animatedTime) writeSyntheticScalar(node, "_animTime", getAnimatedTimeState(animatedTimeKey(node)).value);
1581
+ if (node.definition.extraAnimatedTimes) for (const [key, speedProp] of Object.entries(node.definition.extraAnimatedTimes)) writeSyntheticScalar(node, `_animTime_${key}`, getAnimatedTimeState(extraAnimatedTimeKey(node, speedProp)).value);
1582
+ if (transformActive(node)) for (const [k, v] of Object.entries(transformFieldValues(node))) writeSyntheticScalar(node, `_xform_${k}`, v);
1583
+ if (bboxActive(node)) {
1584
+ const bb = bboxFieldValues(node);
1585
+ if (bb) for (const [k, v] of Object.entries(bb)) writeSyntheticScalar(node, `_bbox_${k}`, v);
1586
+ }
1587
+ const maps = node.metadata.maps;
1588
+ if (maps) {
1589
+ for (const [prop, driver] of Object.entries(maps)) if (driver.type === "map" && node.mapValues[prop]) {
1590
+ const mv = node.mapValues[prop];
1591
+ writeSyntheticScalar(node, `_map_${prop}_inputMin`, mv.inputMin);
1592
+ writeSyntheticScalar(node, `_map_${prop}_inputMax`, mv.inputMax);
1593
+ writeSyntheticScalar(node, `_map_${prop}_outputMin`, mv.outputMin);
1594
+ writeSyntheticScalar(node, `_map_${prop}_outputMax`, mv.outputMax);
1595
+ writeSyntheticScalar(node, `_map_${prop}_curve`, mv.curve);
1596
+ }
1144
1597
  }
1145
- return nodeInfo.mouseDriverState[propName].smoothedUniform;
1146
- };
1147
- const resolveMouseMapForProp = (config, nodeId, propName) => {
1148
- const nodeInfo = nodeRegistry.nodes.get(nodeId);
1149
- if (!nodeInfo) return null;
1150
- if (!nodeInfo.mouseDriverState) nodeInfo.mouseDriverState = {};
1151
- if (!nodeInfo.mouseDriverState[propName]) {
1152
- const initial = Math.max(.001, config.axis === "x" ? pointerX : pointerY);
1153
- const smoothedUniform = uniform(initial);
1154
- nodeInfo.mouseDriverState[propName] = {
1155
- currentX: initial,
1156
- currentY: 0,
1157
- velocityX: 0,
1158
- velocityY: 0,
1159
- smoothedUniform
1160
- };
1598
+ };
1599
+ const propHandleView = (node, handles) => {
1600
+ const out = {};
1601
+ for (const propName of Object.keys(node.uniforms)) {
1602
+ const h = handles[propName];
1603
+ if (h) out[propName] = h;
1161
1604
  }
1162
- if (!nodeInfo.mapUniforms) nodeInfo.mapUniforms = {};
1163
- if (!nodeInfo.mapUniforms[propName]) nodeInfo.mapUniforms[propName] = {
1164
- inputMin: uniform(0, "float"),
1165
- inputMax: uniform(1, "float"),
1166
- outputMin: uniform(config.outputMin, "float"),
1167
- outputMax: uniform(config.outputMax, "float"),
1168
- curve: uniform(config.curve ?? 0, "float")
1605
+ return out;
1606
+ };
1607
+ const sotHandleView = (node) => {
1608
+ const out = {};
1609
+ for (const [propName, u] of Object.entries(node.uniforms)) out[propName] = {
1610
+ accessorPath: "",
1611
+ cpu: !!u.cpu,
1612
+ value: u.value
1169
1613
  };
1170
- else {
1171
- nodeInfo.mapUniforms[propName].outputMin.value = config.outputMin;
1172
- nodeInfo.mapUniforms[propName].outputMax.value = config.outputMax;
1173
- nodeInfo.mapUniforms[propName].curve.value = config.curve ?? 0;
1174
- }
1175
- const { outputMin: outputMinU, outputMax: outputMaxU, curve: curveU } = nodeInfo.mapUniforms[propName];
1176
- const smoothedU = nodeInfo.mouseDriverState[propName].smoothedUniform;
1177
- return mix(outputMinU, outputMaxU, pow(smoothedU, pow(float(2), curveU.negate().mul(2))));
1178
- };
1179
- const resolveAutoAnimateForProp = (config, nodeId, propName) => {
1180
- const nodeInfo = nodeRegistry.nodes.get(nodeId);
1181
- if (!nodeInfo) return null;
1182
- if (!nodeInfo.autoAnimateState) nodeInfo.autoAnimateState = {};
1183
- if (!nodeInfo.autoAnimateState[propName]) nodeInfo.autoAnimateState[propName] = { smoothedUniform: uniform(config.outputMin, "float") };
1184
- return nodeInfo.autoAnimateState[propName].smoothedUniform;
1185
- };
1186
- const buildEffectiveUniforms = (baseUniforms, maps, nodeId, processedMasks) => {
1187
- if (!maps || Object.keys(maps).length === 0) return baseUniforms;
1188
- const effectiveUniforms = { ...baseUniforms };
1189
- const nodeInfo = nodeRegistry.nodes.get(nodeId);
1190
- const customSampleUVs = nodeInfo?.mapSampleUVsFunc?.(baseUniforms) ?? {};
1191
- for (const [propName, driverConfig] of Object.entries(maps)) {
1192
- let resolvedNode = null;
1193
- if (driverConfig.type === "map") {
1194
- if (!(propName in effectiveUniforms)) continue;
1195
- resolvedNode = resolveMapForProp(driverConfig, processedMasks, nodeId, propName, customSampleUVs[propName]);
1196
- } else if (driverConfig.type === "mouse-position") {
1197
- resolvedNode = resolveMousePositionForProp(driverConfig, nodeId, propName);
1198
- if (resolvedNode !== null && propName in effectiveUniforms) effectiveUniforms[propName] = {
1199
- ...effectiveUniforms[propName],
1200
- uniform: resolvedNode
1201
- };
1202
- continue;
1203
- } else if (driverConfig.type === "mouse") {
1204
- if (!(propName in effectiveUniforms)) continue;
1205
- resolvedNode = resolveMouseMapForProp(driverConfig, nodeId, propName);
1206
- } else if (driverConfig.type === "auto-animate") {
1207
- if (!(propName in effectiveUniforms)) continue;
1208
- resolvedNode = resolveAutoAnimateForProp(driverConfig, nodeId, propName);
1614
+ return out;
1615
+ };
1616
+ const makeRegistryNode = (node, handles) => ({
1617
+ id: node.id,
1618
+ customId: node.metadata.id,
1619
+ componentName: node.componentName,
1620
+ parentId: node.parentId,
1621
+ definition: node.definition,
1622
+ metadata: node.metadata,
1623
+ handles,
1624
+ domCanvas: node.domCanvas
1625
+ });
1626
+ const buildRegistryView = (store, handlesById) => {
1627
+ const cache = /* @__PURE__ */ new Map();
1628
+ const build = (node) => {
1629
+ return makeRegistryNode(node, store && handlesById ? propHandleView(node, handlesById.get(node.id) ?? {}) : sotHandleView(node));
1630
+ };
1631
+ const getNode = (id) => {
1632
+ const hit = cache.get(id);
1633
+ if (hit) return hit;
1634
+ const node = nodes.get(id);
1635
+ if (!node) return void 0;
1636
+ const rn = build(node);
1637
+ cache.set(id, rn);
1638
+ return rn;
1639
+ };
1640
+ return {
1641
+ rootId,
1642
+ getNode,
1643
+ getChildren: (pid) => findChildNodes(pid).map((n) => getNode(n.id)),
1644
+ resolveCustomId: (cid) => findNodeByCustomId(cid),
1645
+ store: {
1646
+ gpuAccessor: (h, layoutVar) => store ? store.gpuAccessor(h, layoutVar) : "",
1647
+ layout: store?.layout
1209
1648
  }
1210
- if (resolvedNode !== null && propName in effectiveUniforms) {
1211
- let mapComputeInfo = void 0;
1212
- if (driverConfig.type === "map") {
1213
- const mu = nodeInfo?.mapUniforms?.[propName];
1214
- if (mu?.sourceTexture && mu?.channel) mapComputeInfo = {
1215
- sourceTexture: mu.sourceTexture,
1216
- channel: mu.channel,
1217
- inputMin: mu.inputMin,
1218
- inputMax: mu.inputMax,
1219
- outputMin: mu.outputMin,
1220
- outputMax: mu.outputMax,
1221
- curve: mu.curve
1222
- };
1223
- }
1224
- let getCpuValue = void 0;
1225
- if (driverConfig.type === "mouse") getCpuValue = () => {
1226
- const state = nodeInfo?.mouseDriverState?.[propName];
1227
- const mu = nodeInfo?.mapUniforms?.[propName];
1228
- if (!state || !mu) return 0;
1229
- const smooth = state.smoothedUniform.value;
1230
- const oMin = mu.outputMin.value;
1231
- const oMax = mu.outputMax.value;
1232
- const exp$1 = Math.pow(2, -(mu.curve.value * 2));
1233
- return oMin + (oMax - oMin) * Math.pow(smooth, exp$1);
1234
- };
1235
- effectiveUniforms[propName] = {
1236
- ...effectiveUniforms[propName],
1237
- uniform: resolvedNode,
1238
- ...mapComputeInfo ? { mapComputeInfo } : {},
1239
- ...getCpuValue ? { getCpuValue } : {}
1649
+ };
1650
+ };
1651
+ const composeOptions = () => ({
1652
+ toneMapping: rendererToneMapping,
1653
+ flipY: false,
1654
+ premultiplyAlpha: true,
1655
+ canvas: canvasElement ?? void 0,
1656
+ dimensions: bufferSize(),
1657
+ gpu: root ? {
1658
+ device: root.device,
1659
+ root
1660
+ } : void 0,
1661
+ writeExtraField: (nodeId, name, value) => {
1662
+ const node = nodes.get(nodeId);
1663
+ if (node) writeExtraFieldValue(node, name, value);
1664
+ },
1665
+ createMediaTexture: (opts) => {
1666
+ if (!textureManager) throw new Error("[gpu] createMediaTexture before init");
1667
+ return textureManager.createMediaTexture(opts);
1668
+ },
1669
+ createDataTexture: (opts) => {
1670
+ if (!textureManager) throw new Error("[gpu] createDataTexture before init");
1671
+ return textureManager.createDataTexture(opts);
1672
+ },
1673
+ resolveMapWindow: (nodeId, prop) => {
1674
+ const node = nodes.get(nodeId);
1675
+ const driver = node?.metadata.maps?.[prop];
1676
+ if (!node || !driver || driver.type !== "map") return void 0;
1677
+ const mv = ensureMapValues(node, prop, driver);
1678
+ return {
1679
+ inputMin: mv.inputMin,
1680
+ inputMax: mv.inputMax,
1681
+ outputMin: mv.outputMin,
1682
+ outputMax: mv.outputMax,
1683
+ curve: mv.curve
1684
+ };
1685
+ },
1686
+ resolveDriverCpuValue: (nodeId, prop) => {
1687
+ const node = nodes.get(nodeId);
1688
+ const driver = node?.metadata.maps?.[prop];
1689
+ if (!node || !driver) return void 0;
1690
+ if (driver.type === "mouse-position") {
1691
+ const s = node.mouseDriverState[prop];
1692
+ if (!s || s.liveX === void 0 || s.liveY === void 0) return void 0;
1693
+ return {
1694
+ x: s.liveX,
1695
+ y: 1 - s.liveY
1240
1696
  };
1241
1697
  }
1698
+ if (driver.type === "mouse" || driver.type === "auto-animate") {
1699
+ const h = node._liveHandles?.[`_smoothed_${prop}`];
1700
+ return h instanceof FieldHandle ? h.value : void 0;
1701
+ }
1242
1702
  }
1243
- return effectiveUniforms;
1244
- };
1245
- const applyNodeTransformation = (result, nodeInfo) => {
1246
- if (!nodeInfo.metadata.transform || !nodeInfo.transformUniforms || !needsTransformation(nodeInfo.metadata.transform) && !nodeInfo.transformRTTActive) return result;
1247
- const texture$1 = trackConvertToTexture(result);
1248
- const transformedUV = applyUVTransform(screenUV, nodeInfo.transformUniforms.offsetX, nodeInfo.transformUniforms.offsetY, nodeInfo.transformUniforms.rotation, nodeInfo.transformUniforms.scale, nodeInfo.transformUniforms.anchorX, nodeInfo.transformUniforms.anchorY, nodeInfo.transformUniforms.aspectRatio);
1249
- return applyEdgeHandling(transformedUV, texture$1.sample(transformedUV), texture$1, nodeInfo.transformUniforms.edges.value);
1250
- };
1251
- const initNodeCompute = (nodeInfo, params) => {
1252
- nodeInfo.computeOutputs = void 0;
1253
- nodeInfo.computeGetNodes = void 0;
1254
- if (!(typeof window !== "undefined" && window.sessionStorage?.getItem("__shadersForceWebGL") === "1") && nodeInfo.computeNodeFunc && renderer.backend?.isWebGPUBackend === true) try {
1255
- const result = nodeInfo.computeNodeFunc(params);
1256
- if (result) {
1257
- nodeInfo.computeOutputs = result.outputs;
1258
- nodeInfo.computeGetNodes = result.getComputeNodes;
1259
- return result.outputs;
1703
+ });
1704
+ const extraHashInputs = () => {
1705
+ const parts = [];
1706
+ for (const [id, node] of nodes) {
1707
+ const m = node.metadata;
1708
+ if (node.hasUvRemap || node.acceptsUVContext) parts.push(`aopac:${id}:${(m.opacity ?? 1) < 1}`);
1709
+ const sc = node.uniforms.stopCount?.value;
1710
+ if (typeof sc === "number") parts.push(`stops:${id}:${sc > 1 ? sc : 0}`);
1711
+ for (const [prop, u] of Object.entries(node.uniforms)) {
1712
+ if (!u.compileTimeWhen) continue;
1713
+ const v = u._lastCompiledValue;
1714
+ if (v === null || typeof v === "object") continue;
1715
+ parts.push(`ctw:${id}:${prop}:${String(v)}`);
1716
+ }
1717
+ if (m.maps) {
1718
+ const fp = Object.entries(m.maps).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0).map(([p, dr]) => {
1719
+ const cfg = dr;
1720
+ return `${p}=${cfg.type}:${cfg.source ?? ""}:${cfg.channel ?? ""}:${cfg.axis ?? ""}`;
1721
+ }).join(",");
1722
+ parts.push(`mapfp:${id}:${fp}`);
1260
1723
  }
1261
- } catch (e) {
1262
- console.error(`Error initializing compute for node ${nodeInfo.id}:`, e);
1263
1724
  }
1725
+ return parts;
1264
1726
  };
1265
- const composeNodeTree = (nodeId, processedMasks = /* @__PURE__ */ new Set(), currentlyComposedNodes) => {
1266
- if (currentWidth === 0 || currentHeight === 0) return vec4(0, 0, 0, 0);
1267
- const nodeInfo = nodeRegistry.nodes.get(nodeId);
1268
- if (!nodeInfo) return vec4(0, 0, 0, 0);
1269
- const nodeSpecificOnCleanup = (callback) => {
1270
- nodeInfo.cleanupCallbacks.push(callback);
1271
- };
1272
- const nodeSpecificOnBeforeRender = (callback) => {
1273
- nodeInfo.beforeRenderCallbacks.push(callback);
1274
- };
1275
- const nodeSpecificOnAfterRender = (callback) => {
1276
- nodeInfo.afterRenderCallbacks.push(callback);
1277
- };
1278
- const nodeSpecificOnResize = (callback) => {
1279
- nodeInfo.resizeCallbacks.push(callback);
1727
+ const computeStructuralHash = () => {
1728
+ if (!rootId) return null;
1729
+ return structuralHash([...collectStructuralHashInputs(buildRegistryView(null, null), composeOptions()), ...extraHashInputs()]);
1730
+ };
1731
+ const bufferSize = () => ({
1732
+ width: Math.max(1, Math.round(currentWidth * pixelRatio)),
1733
+ height: Math.max(1, Math.round(currentHeight * pixelRatio))
1734
+ });
1735
+ const mediaResourcesFromIr = (ir) => {
1736
+ const out = {};
1737
+ for (const t of ir.textures) if (t.kind !== "rtt" && t.resource) out[t.key] = t.resource;
1738
+ return out;
1739
+ };
1740
+ const buildComposition = (hash) => {
1741
+ if (!root || !textureManager || !dispatcher) throw new Error("[gpu] buildComposition before init");
1742
+ const store = createUniformStore(root, { systemSchema: SystemUniforms });
1743
+ const handlesById = /* @__PURE__ */ new Map();
1744
+ for (const [id, node] of nodes) handlesById.set(id, store.defineNode(id, buildFieldInits(node)));
1745
+ store.defineSystem();
1746
+ store.finalize();
1747
+ const ir = composeNodeTree(buildRegistryView(store, handlesById), composeOptions());
1748
+ const pm = createPassManager(root, {
1749
+ textureManager,
1750
+ dispatcher
1751
+ });
1752
+ pm.setComposition(ir, store.bindGroup, bufferSize(), mediaResourcesFromIr(ir));
1753
+ const bc = {
1754
+ hash,
1755
+ store,
1756
+ ir,
1757
+ passManager: pm,
1758
+ handlesById,
1759
+ fresh: true
1280
1760
  };
1281
- const childNodes = findChildNodes(nodeId);
1282
- if (childNodes.length === 0) {
1283
- nodeInfo.cleanupCallbacks.forEach((callback) => {
1284
- try {
1285
- callback();
1286
- } catch (e) {
1287
- console.error("Error in cleanup callback:", e);
1288
- }
1289
- });
1290
- nodeInfo.cleanupCallbacks = [];
1291
- nodeInfo.beforeRenderCallbacks = [];
1292
- nodeInfo.afterRenderCallbacks = [];
1293
- nodeInfo.resizeCallbacks = [];
1294
- const baseParams0 = {
1295
- uniforms: buildEffectiveUniforms(nodeInfo.uniforms ?? {}, nodeInfo.metadata.maps, nodeId, processedMasks),
1296
- childNode: void 0,
1297
- onCleanup: nodeSpecificOnCleanup,
1298
- onBeforeRender: nodeSpecificOnBeforeRender,
1299
- onAfterRender: nodeSpecificOnAfterRender,
1300
- onResize: nodeSpecificOnResize,
1301
- canvas: canvasElement,
1302
- dimensions: {
1303
- width: currentWidth,
1304
- height: currentHeight
1305
- },
1306
- renderer,
1307
- domCanvas: nodeInfo.domCanvas
1308
- };
1309
- baseParams0.computeOutputs = initNodeCompute(nodeInfo, baseParams0);
1310
- return applyMaskIfNeeded(applyNodeTransformation(nodeInfo.fragmentNodeFunc(baseParams0), nodeInfo), nodeInfo, nodeId, processedMasks);
1311
- } else {
1312
- const sortedChildren = [...childNodes].sort((a, b) => a.metadata.renderOrder - b.metadata.renderOrder);
1313
- if (nodeInfo.parentId === null) {
1314
- let composedChildren = void 0;
1315
- for (let i = 0; i < sortedChildren.length; i++) {
1316
- const childInfo = sortedChildren[i];
1317
- let effectiveOpacity;
1318
- if (childInfo.metadata.opacity === void 0) {
1319
- effectiveOpacity = 1;
1320
- childInfo.opacityUniform.value = effectiveOpacity;
1321
- } else {
1322
- effectiveOpacity = childInfo.metadata.opacity;
1323
- childInfo.opacityUniform.value = effectiveOpacity;
1324
- }
1325
- if (childInfo.metadata.visible === false) continue;
1326
- if (currentlyComposedNodes) currentlyComposedNodes.add(childInfo.id);
1327
- const childHasChildren = findChildNodes(childInfo.id).length > 0;
1328
- let childResult;
1329
- if (childHasChildren) childResult = composeNodeTree(childInfo.id, processedMasks, currentlyComposedNodes);
1330
- else {
1331
- const childSpecificOnCleanup = (callback) => {
1332
- childInfo.cleanupCallbacks.push(callback);
1333
- };
1334
- const childSpecificOnBeforeRender = (callback) => {
1335
- childInfo.beforeRenderCallbacks.push(callback);
1336
- };
1337
- const childSpecificOnAfterRender = (callback) => {
1338
- childInfo.afterRenderCallbacks.push(callback);
1339
- };
1340
- const childSpecificOnResize = (callback) => {
1341
- childInfo.resizeCallbacks.push(callback);
1342
- };
1343
- let effectiveChildNode = composedChildren;
1344
- if (childInfo.requiresRTT && composedChildren !== void 0) effectiveChildNode = applyBlendMode(vec4(0, 0, 0, 0), composedChildren, "normal", 1);
1345
- childInfo.cleanupCallbacks.forEach((callback) => {
1346
- try {
1347
- callback();
1348
- } catch (e) {
1349
- console.error("Error in cleanup callback:", e);
1350
- }
1351
- });
1352
- childInfo.cleanupCallbacks = [];
1353
- childInfo.beforeRenderCallbacks = [];
1354
- childInfo.afterRenderCallbacks = [];
1355
- childInfo.resizeCallbacks = [];
1356
- const baseParams1 = {
1357
- uniforms: buildEffectiveUniforms(childInfo.uniforms ?? {}, childInfo.metadata.maps, childInfo.id, processedMasks),
1358
- childNode: effectiveChildNode,
1359
- onCleanup: childSpecificOnCleanup,
1360
- onBeforeRender: childSpecificOnBeforeRender,
1361
- onAfterRender: childSpecificOnAfterRender,
1362
- onResize: childSpecificOnResize,
1363
- canvas: canvasElement,
1364
- dimensions: {
1365
- width: currentWidth,
1366
- height: currentHeight
1367
- },
1368
- renderer,
1369
- domCanvas: childInfo.domCanvas
1370
- };
1371
- baseParams1.computeOutputs = initNodeCompute(childInfo, baseParams1);
1372
- childResult = applyMaskIfNeeded(applyNodeTransformation(childInfo.fragmentNodeFunc(baseParams1), childInfo), childInfo, childInfo.id, processedMasks);
1373
- }
1374
- if (childInfo.requiresChild && childInfo.metadata.blendMode === "normal" && !childHasChildren) composedChildren = mix(composedChildren || vec4(0, 0, 0, 0), childResult, childInfo.opacityUniform);
1375
- else if (composedChildren === void 0) if (nodeInfo.requiresRTT || effectiveOpacity !== 1) composedChildren = applyBlendMode(vec4(1, 1, 1, 0), childResult, childInfo.metadata.blendMode, childInfo.opacityUniform);
1376
- else composedChildren = childResult;
1377
- else composedChildren = applyBlendMode(composedChildren, childResult, childInfo.metadata.blendMode, childInfo.opacityUniform);
1378
- }
1379
- nodeInfo.cleanupCallbacks.forEach((callback) => {
1380
- try {
1381
- callback();
1382
- } catch (e) {
1383
- console.error("Error in cleanup callback:", e);
1384
- }
1385
- });
1386
- nodeInfo.cleanupCallbacks = [];
1387
- nodeInfo.beforeRenderCallbacks = [];
1388
- nodeInfo.afterRenderCallbacks = [];
1389
- nodeInfo.resizeCallbacks = [];
1390
- const baseParams2 = {
1391
- uniforms: buildEffectiveUniforms(nodeInfo.uniforms ?? {}, nodeInfo.metadata.maps, nodeId, processedMasks),
1392
- childNode: composedChildren,
1393
- onCleanup: nodeSpecificOnCleanup,
1394
- onBeforeRender: nodeSpecificOnBeforeRender,
1395
- onAfterRender: nodeSpecificOnAfterRender,
1396
- onResize: nodeSpecificOnResize,
1397
- canvas: canvasElement,
1398
- dimensions: {
1399
- width: currentWidth,
1400
- height: currentHeight
1401
- },
1402
- renderer,
1403
- domCanvas: nodeInfo.domCanvas
1404
- };
1405
- baseParams2.computeOutputs = initNodeCompute(nodeInfo, baseParams2);
1406
- return applyMaskIfNeeded(applyNodeTransformation(nodeInfo.fragmentNodeFunc(baseParams2), nodeInfo), nodeInfo, nodeId, processedMasks);
1407
- } else {
1408
- let composedChildrenResult = void 0;
1409
- for (let i = 0; i < sortedChildren.length; i++) {
1410
- const childInfo = sortedChildren[i];
1411
- let effectiveOpacity;
1412
- if (childInfo.metadata.opacity === void 0) {
1413
- effectiveOpacity = 1;
1414
- childInfo.opacityUniform.value = effectiveOpacity;
1415
- } else {
1416
- effectiveOpacity = childInfo.metadata.opacity;
1417
- childInfo.opacityUniform.value = effectiveOpacity;
1418
- }
1419
- if (childInfo.metadata.visible === false) continue;
1420
- if (currentlyComposedNodes) currentlyComposedNodes.add(childInfo.id);
1421
- const childHasChildren = findChildNodes(childInfo.id).length > 0;
1422
- let childResult;
1423
- if (childHasChildren) childResult = composeNodeTree(childInfo.id, processedMasks, currentlyComposedNodes);
1424
- else {
1425
- const childSpecificOnCleanup = (callback) => {
1426
- childInfo.cleanupCallbacks.push(callback);
1427
- };
1428
- const childSpecificOnBeforeRender = (callback) => {
1429
- childInfo.beforeRenderCallbacks.push(callback);
1430
- };
1431
- const childSpecificOnAfterRender = (callback) => {
1432
- childInfo.afterRenderCallbacks.push(callback);
1433
- };
1434
- const childSpecificOnResize = (callback) => {
1435
- childInfo.resizeCallbacks.push(callback);
1436
- };
1437
- let effectiveChildNode = composedChildrenResult;
1438
- if (childInfo.requiresRTT && composedChildrenResult !== void 0) effectiveChildNode = applyBlendMode(vec4(0, 0, 0, 0), composedChildrenResult, "normal", 1);
1439
- childInfo.cleanupCallbacks = [];
1440
- childInfo.beforeRenderCallbacks = [];
1441
- childInfo.afterRenderCallbacks = [];
1442
- childInfo.resizeCallbacks = [];
1443
- const baseParams3 = {
1444
- uniforms: buildEffectiveUniforms(childInfo.uniforms ?? {}, childInfo.metadata.maps, childInfo.id, processedMasks),
1445
- childNode: effectiveChildNode,
1446
- onCleanup: childSpecificOnCleanup,
1447
- onBeforeRender: childSpecificOnBeforeRender,
1448
- onAfterRender: childSpecificOnAfterRender,
1449
- onResize: childSpecificOnResize,
1450
- canvas: canvasElement,
1451
- dimensions: {
1452
- width: currentWidth,
1453
- height: currentHeight
1454
- },
1455
- renderer,
1456
- domCanvas: childInfo.domCanvas
1457
- };
1458
- baseParams3.computeOutputs = initNodeCompute(childInfo, baseParams3);
1459
- childResult = applyMaskIfNeeded(applyNodeTransformation(childInfo.fragmentNodeFunc(baseParams3), childInfo), childInfo, childInfo.id, processedMasks);
1460
- }
1461
- if (childInfo.requiresChild && childInfo.metadata.blendMode === "normal" && !childHasChildren) composedChildrenResult = mix(composedChildrenResult || vec4(0, 0, 0, 0), childResult, childInfo.opacityUniform);
1462
- else if (composedChildrenResult === void 0) if (nodeInfo.requiresRTT || effectiveOpacity !== 1) composedChildrenResult = applyBlendMode(vec4(1, 1, 1, 0), childResult, childInfo.metadata.blendMode, childInfo.opacityUniform);
1463
- else composedChildrenResult = childResult;
1464
- else composedChildrenResult = applyBlendMode(composedChildrenResult, childResult, childInfo.metadata.blendMode, childInfo.opacityUniform);
1465
- }
1466
- nodeInfo.cleanupCallbacks.forEach((callback) => {
1467
- try {
1468
- callback();
1469
- } catch (e) {
1470
- console.error("Error in cleanup callback:", e);
1471
- }
1472
- });
1473
- nodeInfo.cleanupCallbacks = [];
1474
- nodeInfo.beforeRenderCallbacks = [];
1475
- nodeInfo.afterRenderCallbacks = [];
1476
- nodeInfo.resizeCallbacks = [];
1477
- const baseParams4 = {
1478
- uniforms: buildEffectiveUniforms(nodeInfo.uniforms ?? {}, nodeInfo.metadata.maps, nodeId, processedMasks),
1479
- childNode: composedChildrenResult,
1480
- onCleanup: nodeSpecificOnCleanup,
1481
- onBeforeRender: nodeSpecificOnBeforeRender,
1482
- onAfterRender: nodeSpecificOnAfterRender,
1483
- onResize: nodeSpecificOnResize,
1484
- canvas: canvasElement,
1485
- dimensions: {
1486
- width: currentWidth,
1487
- height: currentHeight
1488
- },
1489
- renderer,
1490
- domCanvas: nodeInfo.domCanvas
1491
- };
1492
- baseParams4.computeOutputs = initNodeCompute(nodeInfo, baseParams4);
1493
- return applyMaskIfNeeded(applyNodeTransformation(nodeInfo.fragmentNodeFunc(baseParams4), nodeInfo), nodeInfo, nodeId, processedMasks);
1761
+ liveCompositions.add(bc);
1762
+ return bc;
1763
+ };
1764
+ const disposeComposition = (bc) => {
1765
+ try {
1766
+ for (const cb of bc.ir.onCleanup) cb();
1767
+ } catch (e) {
1768
+ console.error("[gpu] composition onCleanup error:", e);
1769
+ }
1770
+ try {
1771
+ bc.passManager.dispose();
1772
+ } catch (e) {
1773
+ console.error("[gpu] passManager dispose error:", e);
1774
+ }
1775
+ try {
1776
+ bc.store.destroy();
1777
+ } catch (e) {
1778
+ console.error("[gpu] store destroy error:", e);
1779
+ }
1780
+ liveCompositions.delete(bc);
1781
+ if (boundComposition === bc) boundComposition = null;
1782
+ };
1783
+ const bindComposition = (bc) => {
1784
+ let repointed = false;
1785
+ for (const [id, handles] of bc.handlesById) {
1786
+ const node = nodes.get(id);
1787
+ if (node && node._liveHandles !== handles) {
1788
+ node._liveHandles = handles;
1789
+ repointed = true;
1790
+ }
1791
+ }
1792
+ if (bc === boundComposition && !repointed) return;
1793
+ if (!bc.fresh) {
1794
+ for (const node of nodes.values()) {
1795
+ for (const [propName, u] of Object.entries(node.uniforms)) writePropHandle(node, propName, u.value);
1796
+ writeNodeSynthetic(node);
1494
1797
  }
1798
+ bc.store.writeAll();
1495
1799
  }
1800
+ bc.fresh = false;
1801
+ boundComposition = bc;
1802
+ if (!hasEmittedReady && bc.ir.composedNodeIds.size > 0) firstRenderPending = true;
1803
+ };
1804
+ const markStructuralDirty = () => {
1805
+ structuralDirty = true;
1806
+ requestRender();
1807
+ };
1808
+ const requestRender = () => {
1809
+ if (frameLoop.running) return;
1810
+ if (pendingRenderRAF !== null) return;
1811
+ if (typeof requestAnimationFrame !== "function") return;
1812
+ pendingRenderRAF = requestAnimationFrame(() => {
1813
+ pendingRenderRAF = null;
1814
+ renderFrame();
1815
+ });
1496
1816
  };
1497
1817
  const registerNode = (id, fragmentNodeFunc, parentId, metadata, uniforms = {}, componentDefinition, domCanvas) => {
1498
1818
  if (fragmentNodeFunc === null) {
@@ -1504,26 +1824,22 @@ function shaderRenderer() {
1504
1824
  removeNode(id);
1505
1825
  return;
1506
1826
  }
1827
+ if (!componentDefinition) {
1828
+ console.error(`[gpu] registerNode("${id}") requires a componentDefinition`);
1829
+ return;
1830
+ }
1507
1831
  if (!isRendererReady) {
1508
1832
  const existing = pendingRegistrationQueue.findIndex((item) => item.id === id);
1509
- if (existing !== -1) pendingRegistrationQueue[existing] = {
1833
+ const entry = {
1510
1834
  id,
1511
- fragmentNodeFunc,
1835
+ definition: componentDefinition,
1512
1836
  parentId,
1513
1837
  metadata,
1514
1838
  uniforms,
1515
- componentDefinition,
1516
1839
  domCanvas
1517
1840
  };
1518
- else pendingRegistrationQueue.push({
1519
- id,
1520
- fragmentNodeFunc,
1521
- parentId,
1522
- metadata,
1523
- uniforms,
1524
- componentDefinition,
1525
- domCanvas
1526
- });
1841
+ if (existing !== -1) pendingRegistrationQueue[existing] = entry;
1842
+ else pendingRegistrationQueue.push(entry);
1527
1843
  return;
1528
1844
  }
1529
1845
  let defaultRenderOrder = 0;
@@ -1532,144 +1848,151 @@ function shaderRenderer() {
1532
1848
  if (siblings && siblings.size > 0) {
1533
1849
  let maxOrder = 0;
1534
1850
  for (const siblingId of siblings) {
1535
- const sibling = nodeRegistry.nodes.get(siblingId);
1851
+ const sibling = nodes.get(siblingId);
1536
1852
  if (sibling && sibling.metadata.renderOrder > maxOrder) maxOrder = sibling.metadata.renderOrder;
1537
1853
  }
1538
1854
  defaultRenderOrder = maxOrder + 1;
1539
1855
  }
1540
1856
  }
1541
- const opacityUniform = uniform(metadata?.opacity !== void 0 ? metadata.opacity : 1);
1542
- let transformUniforms = void 0;
1543
- if (metadata?.transform) {
1544
- const aspectRatio = currentWidth / Math.max(1, currentHeight);
1545
- const t = metadata.transform;
1546
- transformUniforms = {
1547
- offsetX: uniform(t.offsetX ?? 0),
1548
- offsetY: uniform(t.offsetY ?? 0),
1549
- rotation: uniform(t.rotation ?? 0),
1550
- scale: uniform(t.scale ?? 1),
1551
- anchorX: uniform(t.anchorX ?? .5),
1552
- anchorY: uniform(t.anchorY ?? .5),
1553
- edges: uniform(t.edges === "stretch" ? 0 : t.edges === "transparent" ? 1 : t.edges === "mirror" ? 2 : t.edges === "wrap" ? 3 : 1),
1554
- aspectRatio: uniform(aspectRatio)
1555
- };
1556
- }
1557
- const nodeInfo = {
1857
+ const nodeMetadata = {
1858
+ blendMode: metadata?.blendMode || "normal",
1859
+ opacity: metadata?.opacity,
1860
+ visible: metadata?.visible === false ? false : true,
1861
+ id: metadata?.id ? sanitizeId(metadata.id) : metadata?.id,
1862
+ mask: metadata?.mask,
1863
+ maps: metadata?.maps,
1864
+ renderOrder: metadata?.renderOrder !== void 0 ? metadata.renderOrder : defaultRenderOrder,
1865
+ transform: metadata?.transform,
1866
+ boundingBox: metadata?.boundingBox
1867
+ };
1868
+ const decl = componentDefinition.boundingBoxDeclaration;
1869
+ const extraDimProps = componentDefinition.props ? buildExtraSizeProps(componentDefinition.props) : void 0;
1870
+ const node = {
1558
1871
  id,
1559
- componentName: componentDefinition?.name || "Unknown",
1560
- fragmentNodeFunc,
1872
+ componentName: componentDefinition.name || "Unknown",
1561
1873
  parentId,
1562
- requiresRTT: componentDefinition?.requiresRTT || false,
1563
- requiresChild: componentDefinition?.requiresChild || false,
1564
- opacityUniform,
1565
- metadata: {
1566
- blendMode: metadata?.blendMode || "normal",
1567
- opacity: metadata?.opacity,
1568
- visible: metadata?.visible === false ? false : true,
1569
- id: metadata?.id ? sanitizeId(metadata.id) : metadata?.id,
1570
- mask: metadata?.mask,
1571
- maps: metadata?.maps,
1572
- renderOrder: metadata?.renderOrder !== void 0 ? metadata?.renderOrder : defaultRenderOrder,
1573
- transform: metadata?.transform
1574
- },
1874
+ definition: componentDefinition,
1875
+ metadata: nodeMetadata,
1575
1876
  uniforms,
1576
- cleanupCallbacks: [],
1577
- beforeRenderCallbacks: [],
1578
- afterRenderCallbacks: [],
1579
- resizeCallbacks: [],
1580
- transformUniforms,
1581
- transformRTTActive: false,
1582
- mapSampleUVsFunc: componentDefinition?.mapSampleUVs,
1583
- computeNodeFunc: componentDefinition?.computeNode,
1584
- usesPointer: componentDefinition?.usesPointer,
1585
- domCanvas
1877
+ domCanvas,
1878
+ requiresRTT: !!componentDefinition.requiresRTT,
1879
+ requiresChild: !!componentDefinition.requiresChild,
1880
+ blendWithChildren: !!componentDefinition.blendWithChildren,
1881
+ acceptsUVContext: !!componentDefinition.acceptsUVContext,
1882
+ providesUVContextViaCompute: !!componentDefinition.providesUVContextViaCompute,
1883
+ usesPointer: !!componentDefinition.usesPointer,
1884
+ hasUvRemap: !!componentDefinition.uvRemap,
1885
+ boundingBoxDeclaration: decl,
1886
+ wantsBoundsParams: !!componentDefinition.wantsBoundsParams,
1887
+ extraDimProps,
1888
+ mouseDriverState: {},
1889
+ autoAnimateState: {},
1890
+ mapValues: {},
1891
+ _liveHandles: null
1586
1892
  };
1587
- nodeRegistry.nodes.set(id, nodeInfo);
1588
- if (parentId === null) nodeRegistry.rootId = id;
1589
- updateMouseListenerRegistration();
1893
+ if (decl || extraDimProps) {
1894
+ const plan = buildDimensionalPlan(decl, extraDimProps);
1895
+ if (plan) {
1896
+ const origin = uniforms["origin"]?.value ?? "center";
1897
+ const he = computeDimExtent(node, origin);
1898
+ for (const name of [...plan.positionProps, ...plan.sizeProps.keys()]) {
1899
+ const u = uniforms[name];
1900
+ if (!u) continue;
1901
+ u._rawDimensional = u.value;
1902
+ u.value = resolveDimensionalProp(decl, name, u.value, origin, pxResWidth(), pxResHeight(), extraDimProps, he);
1903
+ }
1904
+ }
1905
+ }
1906
+ for (const u of Object.values(uniforms)) if (u.compileTimeWhen && u._lastCompiledValue === void 0) u._lastCompiledValue = u.value;
1907
+ nodes.set(id, node);
1908
+ if (parentId === null) rootId = id;
1590
1909
  const childrenSet = parentToChildren.get(parentId) || /* @__PURE__ */ new Set();
1591
1910
  childrenSet.add(id);
1592
1911
  parentToChildren.set(parentId, childrenSet);
1593
- if (material && isInitialized && currentWidth > 0 && currentHeight > 0) {
1594
- if (materialUpdateBatchRAF === null) materialUpdateBatchRAF = requestAnimationFrame(() => {
1595
- materialUpdateBatchRAF = null;
1596
- updateMaterial();
1597
- });
1598
- } else if (material && isInitialized) {
1599
- if (!materialUpdatePending) {
1600
- materialUpdatePending = true;
1601
- requestAnimationFrame(() => {
1602
- materialUpdatePending = false;
1603
- if (currentWidth > 0 && currentHeight > 0) updateMaterial();
1604
- });
1912
+ updateMouseListenerRegistration();
1913
+ markStructuralDirty();
1914
+ };
1915
+ const updateUniformValue = (nodeId, uniformName, value) => {
1916
+ const node = nodes.get(nodeId);
1917
+ if (!node) return;
1918
+ const u = node.uniforms[uniformName];
1919
+ if (!u) return;
1920
+ const decl = node.boundingBoxDeclaration;
1921
+ const extra = node.extraDimProps;
1922
+ if ((decl || extra) && isDimensionalProp(decl, uniformName, extra)) {
1923
+ u._rawDimensional = value;
1924
+ const origin = node.uniforms["origin"]?.value ?? "center";
1925
+ const he = computeDimExtent(node, origin);
1926
+ value = resolveDimensionalProp(decl, uniformName, value, origin, pxResWidth(), pxResHeight(), extra, he);
1927
+ }
1928
+ u.value = value;
1929
+ writePropHandle(node, uniformName, value);
1930
+ if (u.transform === colorStopsTransform || u.transform === transformColorSpace) repackColorStops(node);
1931
+ if (uniformName === "origin" && decl) reresolveDimensionalUniforms(node);
1932
+ else if (decl) {
1933
+ if ((node.uniforms["origin"]?.value ?? "center") !== "center") {
1934
+ const plan = buildDimensionalPlan(decl, extra);
1935
+ const affectsExtent = !!decl.computeBounds || (plan?.sizeProps.has(uniformName) ?? false);
1936
+ const isPositionProp = plan?.positionProps.has(uniformName) ?? false;
1937
+ if (affectsExtent && !isPositionProp) reresolveDimensionalUniforms(node);
1605
1938
  }
1606
1939
  }
1607
- };
1608
- const updateUniformValue$1 = (nodeId, uniformName, value) => {
1609
- const nodeInfo = nodeRegistry.nodes.get(nodeId);
1610
- if (!nodeInfo || !nodeInfo.uniforms) return;
1611
- const uniformDefinition = nodeInfo.uniforms[uniformName];
1612
- if (!uniformDefinition || !uniformDefinition.uniform) return;
1613
- if (uniformDefinition.transform) {
1614
- setColorSpaceMode(rendererColorSpace);
1615
- updateUniformValue(uniformDefinition, value);
1616
- } else uniformDefinition.uniform.value = value;
1617
- if (uniformDefinition.compileTime && material && isInitialized && currentWidth > 0 && currentHeight > 0) {
1618
- if (materialUpdateBatchRAF === null) materialUpdateBatchRAF = requestAnimationFrame(() => {
1619
- materialUpdateBatchRAF = null;
1620
- updateMaterial();
1621
- });
1940
+ if (uniformName === "shape") updateMouseListenerRegistration();
1941
+ if (u.compileTime) {
1942
+ markStructuralDirty();
1622
1943
  return;
1623
1944
  }
1624
- if (uniformDefinition.compileTimeWhen && material && isInitialized && currentWidth > 0 && currentHeight > 0) {
1625
- const prev = uniformDefinition._lastCompiledValue;
1626
- if (uniformDefinition.compileTimeWhen(prev, value)) {
1627
- uniformDefinition._lastCompiledValue = value;
1628
- if (materialUpdateBatchRAF === null) materialUpdateBatchRAF = requestAnimationFrame(() => {
1629
- materialUpdateBatchRAF = null;
1630
- updateMaterial();
1631
- });
1945
+ if (u.compileTimeWhen) {
1946
+ const prev = u._lastCompiledValue;
1947
+ if (u.compileTimeWhen(prev, value)) {
1948
+ u._lastCompiledValue = value;
1949
+ markStructuralDirty();
1632
1950
  return;
1633
1951
  }
1634
1952
  }
1635
- if (!animationFrameId) renderFrame();
1953
+ requestRender();
1636
1954
  };
1637
1955
  const updateNodeMetadata = (nodeId, metadata) => {
1638
- const existingNode = nodeRegistry.nodes.get(nodeId);
1639
- if (!existingNode) return;
1956
+ const node = nodes.get(nodeId);
1957
+ if (!node) return;
1640
1958
  let needsRecompose = false;
1641
- if (metadata.blendMode !== void 0 && existingNode.metadata.blendMode !== metadata.blendMode) {
1642
- existingNode.metadata.blendMode = metadata.blendMode;
1959
+ if (metadata.blendMode !== void 0 && node.metadata.blendMode !== metadata.blendMode) {
1960
+ node.metadata.blendMode = metadata.blendMode;
1643
1961
  needsRecompose = true;
1644
1962
  }
1645
- if (metadata.opacity !== void 0 && existingNode.metadata.opacity !== metadata.opacity) {
1646
- existingNode.metadata.opacity = metadata.opacity;
1647
- existingNode.opacityUniform.value = metadata.opacity;
1963
+ if (metadata.opacity !== void 0 && node.metadata.opacity !== metadata.opacity) {
1964
+ const oldOpacity = node.metadata.opacity ?? 1;
1965
+ const newOpacity = metadata.opacity;
1966
+ node.metadata.opacity = newOpacity;
1967
+ writeSyntheticScalar(node, "_opacity", newOpacity);
1968
+ if ((node.hasUvRemap || node.acceptsUVContext) && oldOpacity >= 1 !== newOpacity >= 1) needsRecompose = true;
1648
1969
  }
1649
- if (metadata.renderOrder !== void 0 && existingNode.metadata.renderOrder !== metadata.renderOrder) {
1650
- existingNode.metadata.renderOrder = metadata.renderOrder;
1970
+ if (metadata.renderOrder !== void 0 && node.metadata.renderOrder !== metadata.renderOrder) {
1971
+ node.metadata.renderOrder = metadata.renderOrder;
1651
1972
  needsRecompose = true;
1652
1973
  }
1653
- const newVisible = metadata.visible === false ? false : true;
1654
- if (existingNode.metadata.visible !== newVisible) {
1655
- existingNode.metadata.visible = newVisible;
1656
- needsRecompose = true;
1974
+ if ("visible" in metadata) {
1975
+ const newVisible = metadata.visible === false ? false : true;
1976
+ if (node.metadata.visible !== newVisible) {
1977
+ node.metadata.visible = newVisible;
1978
+ needsRecompose = true;
1979
+ }
1657
1980
  }
1658
1981
  if (metadata.id !== void 0) {
1659
- const sanitizedId = sanitizeId(metadata.id);
1660
- if (existingNode.metadata.id !== sanitizedId) {
1661
- existingNode.metadata.id = sanitizedId;
1982
+ const sanitized = sanitizeId(metadata.id);
1983
+ if (node.metadata.id !== sanitized) {
1984
+ node.metadata.id = sanitized;
1662
1985
  needsRecompose = true;
1663
1986
  }
1664
1987
  }
1665
- if ("mask" in metadata && (existingNode.metadata.mask?.source !== metadata.mask?.source || existingNode.metadata.mask?.type !== metadata.mask?.type)) {
1666
- existingNode.metadata.mask = metadata.mask;
1988
+ if ("mask" in metadata && (node.metadata.mask?.source !== metadata.mask?.source || node.metadata.mask?.type !== metadata.mask?.type)) {
1989
+ node.metadata.mask = metadata.mask;
1667
1990
  needsRecompose = true;
1668
1991
  }
1669
- if ("maps" in metadata && JSON.stringify(existingNode.metadata.maps) !== JSON.stringify(metadata.maps)) {
1670
- const oldMaps = existingNode.metadata.maps;
1992
+ if ("maps" in metadata && JSON.stringify(node.metadata.maps) !== JSON.stringify(metadata.maps)) {
1993
+ const oldMaps = node.metadata.maps;
1671
1994
  const newMaps = metadata.maps;
1672
- existingNode.metadata.maps = newMaps;
1995
+ node.metadata.maps = newMaps;
1673
1996
  updateMouseListenerRegistration();
1674
1997
  if ((() => {
1675
1998
  if (!oldMaps || !newMaps) return true;
@@ -1681,183 +2004,96 @@ function shaderRenderer() {
1681
2004
  const newCfg = newMaps[key];
1682
2005
  if (oldCfg.type !== newCfg.type) return true;
1683
2006
  if (newCfg.type === "map") {
1684
- const nc = newCfg;
1685
2007
  const oc = oldCfg;
1686
- if (oc.source !== nc.source) return true;
1687
- if (oc.channel !== nc.channel) return true;
1688
- if (!existingNode.mapUniforms?.[key]) return true;
1689
- } else if (newCfg.type === "mouse") {
1690
2008
  const nc = newCfg;
1691
- if (oldCfg.axis !== nc.axis) return true;
1692
- if (!existingNode.mouseDriverState?.[key]) return true;
1693
- } else if (newCfg.type === "mouse-position") {
1694
- if (!existingNode.mouseDriverState?.[key]) return true;
1695
- } else if (newCfg.type === "auto-animate") {
1696
- if (!existingNode.autoAnimateState?.[key]) return true;
2009
+ if (oc.source !== nc.source || oc.channel !== nc.channel) return true;
2010
+ } else if (newCfg.type === "mouse") {
2011
+ if (oldCfg.axis !== newCfg.axis) return true;
1697
2012
  }
1698
2013
  }
1699
2014
  return false;
1700
2015
  })()) {
1701
2016
  if (oldMaps && newMaps) {
1702
2017
  for (const key of Object.keys(oldMaps)) if (key in newMaps && oldMaps[key].type !== newMaps[key].type) {
1703
- if (existingNode.autoAnimateState) delete existingNode.autoAnimateState[key];
2018
+ delete node.mouseDriverState[key];
2019
+ delete node.autoAnimateState[key];
2020
+ delete node.mapValues[key];
1704
2021
  }
1705
2022
  }
1706
- if (oldMaps && newMaps && existingNode.mouseDriverState) {
1707
- for (const key of Object.keys(oldMaps)) if (key in newMaps && oldMaps[key].type !== newMaps[key].type) delete existingNode.mouseDriverState[key];
1708
- }
1709
2023
  needsRecompose = true;
1710
- } else for (const [key, driverCfg] of Object.entries(newMaps)) if (driverCfg.type === "map") {
1711
- const mapCfg = driverCfg;
1712
- const cached = existingNode.mapUniforms[key];
1713
- if (cached) {
1714
- cached.inputMin.value = mapCfg.inputMin;
1715
- cached.inputMax.value = mapCfg.inputMax;
1716
- cached.outputMin.value = mapCfg.outputMin;
1717
- cached.outputMax.value = mapCfg.outputMax;
1718
- cached.curve.value = mapCfg.curve ?? 0;
1719
- }
1720
- } else if (driverCfg.type === "mouse") {
1721
- const mouseCfg = driverCfg;
1722
- const cached = existingNode.mapUniforms?.[key];
1723
- if (cached) {
1724
- cached.outputMin.value = mouseCfg.outputMin;
1725
- cached.outputMax.value = mouseCfg.outputMax;
1726
- cached.curve.value = mouseCfg.curve ?? 0;
1727
- }
1728
- } else if (driverCfg.type === "auto-animate") {
1729
- const animCfg = driverCfg;
1730
- const cached = existingNode.mapUniforms?.[key];
1731
- if (cached) {
1732
- cached.outputMin.value = animCfg.outputMin;
1733
- cached.outputMax.value = animCfg.outputMax;
2024
+ } else if (newMaps) for (const [key, driver] of Object.entries(newMaps)) {
2025
+ const mv = ensureMapValues(node, key, driver);
2026
+ if (driver.type === "map") {
2027
+ writeSyntheticScalar(node, `_map_${key}_inputMin`, mv.inputMin);
2028
+ writeSyntheticScalar(node, `_map_${key}_inputMax`, mv.inputMax);
2029
+ writeSyntheticScalar(node, `_map_${key}_outputMin`, mv.outputMin);
2030
+ writeSyntheticScalar(node, `_map_${key}_outputMax`, mv.outputMax);
2031
+ writeSyntheticScalar(node, `_map_${key}_curve`, mv.curve);
1734
2032
  }
1735
2033
  }
1736
2034
  }
1737
2035
  if (metadata.transform !== void 0) {
1738
- const mergedTransform = {
1739
- offsetX: metadata.transform.offsetX ?? existingNode.metadata.transform?.offsetX ?? 0,
1740
- offsetY: metadata.transform.offsetY ?? existingNode.metadata.transform?.offsetY ?? 0,
1741
- rotation: metadata.transform.rotation ?? existingNode.metadata.transform?.rotation ?? 0,
1742
- scale: metadata.transform.scale ?? existingNode.metadata.transform?.scale ?? 1,
1743
- anchorX: metadata.transform.anchorX ?? existingNode.metadata.transform?.anchorX ?? .5,
1744
- anchorY: metadata.transform.anchorY ?? existingNode.metadata.transform?.anchorY ?? .5,
1745
- edges: metadata.transform.edges ?? existingNode.metadata.transform?.edges ?? "transparent"
2036
+ const prev = node.metadata.transform;
2037
+ const merged = {
2038
+ offsetX: metadata.transform.offsetX ?? prev?.offsetX ?? 0,
2039
+ offsetY: metadata.transform.offsetY ?? prev?.offsetY ?? 0,
2040
+ rotation: metadata.transform.rotation ?? prev?.rotation ?? 0,
2041
+ scale: metadata.transform.scale ?? prev?.scale ?? 1,
2042
+ anchorX: metadata.transform.anchorX ?? prev?.anchorX ?? .5,
2043
+ anchorY: metadata.transform.anchorY ?? prev?.anchorY ?? .5,
2044
+ edges: metadata.transform.edges ?? prev?.edges ?? "transparent"
1746
2045
  };
1747
- const newTransformState = needsTransformation(mergedTransform);
1748
- existingNode.metadata.transform = mergedTransform;
1749
- if (!existingNode.transformUniforms && mergedTransform) {
1750
- const aspectRatio = currentWidth / Math.max(1, currentHeight);
1751
- existingNode.transformUniforms = {
1752
- offsetX: uniform(mergedTransform.offsetX),
1753
- offsetY: uniform(mergedTransform.offsetY),
1754
- rotation: uniform(mergedTransform.rotation),
1755
- scale: uniform(mergedTransform.scale),
1756
- anchorX: uniform(mergedTransform.anchorX),
1757
- anchorY: uniform(mergedTransform.anchorY),
1758
- edges: uniform(mergedTransform.edges === "stretch" ? 0 : mergedTransform.edges === "transparent" ? 1 : mergedTransform.edges === "mirror" ? 2 : 3),
1759
- aspectRatio: uniform(aspectRatio)
1760
- };
1761
- } else if (existingNode.transformUniforms) {
1762
- existingNode.transformUniforms.offsetX.value = mergedTransform.offsetX;
1763
- existingNode.transformUniforms.offsetY.value = mergedTransform.offsetY;
1764
- existingNode.transformUniforms.rotation.value = mergedTransform.rotation;
1765
- existingNode.transformUniforms.scale.value = mergedTransform.scale;
1766
- existingNode.transformUniforms.anchorX.value = mergedTransform.anchorX;
1767
- existingNode.transformUniforms.anchorY.value = mergedTransform.anchorY;
1768
- const oldEdgesValue = existingNode.transformUniforms.edges.value;
1769
- existingNode.transformUniforms.edges.value = mergedTransform.edges === "stretch" ? 0 : mergedTransform.edges === "transparent" ? 1 : mergedTransform.edges === "mirror" ? 2 : 3;
1770
- if (existingNode.transformUniforms.edges.value !== oldEdgesValue) needsRecompose = true;
1771
- }
1772
- if (newTransformState && !existingNode.transformRTTActive) {
1773
- existingNode.transformRTTActive = true;
2046
+ const wasActive = transformActive(node);
2047
+ node.metadata.transform = merged;
2048
+ const nowActive = needsTransformation(merged);
2049
+ if (wasActive !== nowActive || prev && prev.edges !== merged.edges) needsRecompose = true;
2050
+ else if (nowActive) for (const [k, v] of Object.entries(transformFieldValues(node))) writeSyntheticScalar(node, `_xform_${k}`, v);
2051
+ }
2052
+ if (metadata.boundingBox !== void 0 && metadata.boundingBox !== null && node.boundingBoxDeclaration !== void 0) {
2053
+ const wasActive = bboxActive(node);
2054
+ node.metadata.boundingBox = metadata.boundingBox;
2055
+ if (wasActive) {
2056
+ const bb = bboxFieldValues(node);
2057
+ if (bb) for (const [k, v] of Object.entries(bb)) writeSyntheticScalar(node, `_bbox_${k}`, v);
2058
+ } else needsRecompose = true;
2059
+ } else if (metadata.boundingBox === null) {
2060
+ if (node.metadata.boundingBox !== void 0) {
2061
+ node.metadata.boundingBox = void 0;
1774
2062
  needsRecompose = true;
1775
2063
  }
1776
2064
  }
1777
- if (needsRecompose && material && isInitialized) {
1778
- if (materialUpdateBatchRAF === null) materialUpdateBatchRAF = requestAnimationFrame(() => {
1779
- materialUpdateBatchRAF = null;
1780
- updateMaterial();
1781
- });
1782
- } else if (!animationFrameId) renderFrame();
2065
+ if (needsRecompose) markStructuralDirty();
2066
+ else requestRender();
1783
2067
  };
1784
2068
  const removeNode = (id) => {
1785
- if (!nodeRegistry.nodes.has(id)) return;
1786
- const nodeInfo = nodeRegistry.nodes.get(id);
1787
- if (nodeInfo && nodeInfo.cleanupCallbacks.length > 0) for (const callback of nodeInfo.cleanupCallbacks) try {
1788
- callback();
1789
- } catch (e) {
1790
- console.error(`Error executing cleanup callback for node ${id}:`, e);
1791
- }
1792
- const childNodes = findChildNodes(id);
1793
- for (const child of childNodes) removeNode(child.id);
1794
- if (nodeRegistry.rootId === id) nodeRegistry.rootId = null;
1795
- if (nodeInfo) {
1796
- const childrenSet = parentToChildren.get(nodeInfo.parentId);
1797
- if (childrenSet) {
1798
- childrenSet.delete(id);
1799
- if (childrenSet.size === 0) parentToChildren.delete(nodeInfo.parentId);
1800
- }
1801
- }
1802
- nodeRegistry.nodes.delete(id);
1803
- activeBeforeRender.delete(id);
1804
- activeAfterRender.delete(id);
1805
- activeCompute.delete(id);
1806
- activeDrivers.delete(id);
2069
+ const node = nodes.get(id);
2070
+ if (!node) return;
2071
+ for (const child of findChildNodes(id)) removeNode(child.id);
2072
+ if (rootId === id) rootId = null;
2073
+ const siblingSet = parentToChildren.get(node.parentId);
2074
+ if (siblingSet) {
2075
+ siblingSet.delete(id);
2076
+ if (siblingSet.size === 0) parentToChildren.delete(node.parentId);
2077
+ }
2078
+ nodes.delete(id);
1807
2079
  updateMouseListenerRegistration();
1808
- pendingNodeRemoval = true;
1809
- if (material && isInitialized) {
1810
- if (materialUpdateBatchRAF === null) materialUpdateBatchRAF = requestAnimationFrame(() => {
1811
- materialUpdateBatchRAF = null;
1812
- updateMaterial();
1813
- });
1814
- }
1815
- };
1816
- const applyBounceEase = (t) => {
1817
- const n1 = 7.5625, d1 = 2.75;
1818
- if (t < 1 / d1) return n1 * t * t;
1819
- if (t < 2 / d1) {
1820
- t -= 1.5 / d1;
1821
- return n1 * t * t + .75;
1822
- }
1823
- if (t < 2.5 / d1) {
1824
- t -= 2.25 / d1;
1825
- return n1 * t * t + .9375;
1826
- }
1827
- t -= 2.625 / d1;
1828
- return n1 * t * t + .984375;
1829
- };
1830
- const applyEasing = (t, easing) => {
1831
- switch (easing) {
1832
- case "linear": return t;
1833
- case "quad": return t < .5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;
1834
- case "expo":
1835
- if (t === 0) return 0;
1836
- if (t === 1) return 1;
1837
- return t < .5 ? Math.pow(2, 20 * t - 10) / 2 : (2 - Math.pow(2, -20 * t + 10)) / 2;
1838
- case "bounce": return applyBounceEase(t);
1839
- case "sine":
1840
- default: return (1 - Math.cos(Math.PI * t)) / 2;
1841
- }
2080
+ markStructuralDirty();
1842
2081
  };
1843
2082
  const updateMouseDrivers = () => {
1844
2083
  const deltaTime = frameParams.deltaTime;
1845
- globalElapsedTime += deltaTime;
1846
- for (const id of activeDrivers) {
1847
- const nodeInfo = nodeRegistry.nodes.get(id);
1848
- if (!nodeInfo) continue;
1849
- const maps = nodeInfo.metadata.maps;
2084
+ globalElapsedTime = deriveElapsedTime(sharedTimeOrigin, globalElapsedTime, deltaTime, performance.now());
2085
+ for (const node of nodes.values()) {
2086
+ const maps = node.metadata.maps;
1850
2087
  if (!maps) continue;
1851
- const mouseState = nodeInfo.mouseDriverState;
1852
- for (const propName in mouseState) {
1853
- const state = mouseState[propName];
1854
- const driverConfig = maps[propName];
1855
- if (!driverConfig) continue;
1856
- if (driverConfig.type === "mouse-position") {
1857
- const smoothing = driverConfig.smoothing ?? 0;
1858
- const momentum = driverConfig.momentum ?? 0;
1859
- const trackX = driverConfig.x === void 0 || driverConfig.x === "mouse";
1860
- const trackY = driverConfig.y === void 0 || driverConfig.y === "mouse";
2088
+ for (const propName in node.mouseDriverState) {
2089
+ const state = node.mouseDriverState[propName];
2090
+ const driver = maps[propName];
2091
+ if (!driver) continue;
2092
+ if (driver.type === "mouse-position") {
2093
+ const smoothing = driver.smoothing ?? 0;
2094
+ const momentum = driver.momentum ?? 0;
2095
+ const trackX = driver.x === void 0 || driver.x === "mouse";
2096
+ const trackY = driver.y === void 0 || driver.y === "mouse";
1861
2097
  let finalX;
1862
2098
  let finalY;
1863
2099
  if (trackX) {
@@ -1866,7 +2102,7 @@ function shaderRenderer() {
1866
2102
  state.velocityX = vx;
1867
2103
  finalX = nx;
1868
2104
  } else {
1869
- finalX = driverConfig.x;
2105
+ finalX = driver.x;
1870
2106
  state.velocityX = 0;
1871
2107
  }
1872
2108
  if (trackY) {
@@ -1875,274 +2111,324 @@ function shaderRenderer() {
1875
2111
  state.velocityY = vy;
1876
2112
  finalY = ny;
1877
2113
  } else {
1878
- finalY = driverConfig.y;
2114
+ finalY = driver.y;
1879
2115
  state.velocityY = 0;
1880
2116
  }
1881
- const reach = driverConfig.reach ?? 1;
1882
- const originX = driverConfig.originX ?? .5;
1883
- const originY = driverConfig.originY ?? .5;
1884
- const xSign = driverConfig.invertX ? -1 : 1;
1885
- const ySign = driverConfig.invertY ? -1 : 1;
2117
+ const reach = driver.reach ?? 1;
2118
+ const originX = driver.originX ?? .5;
2119
+ const originY = driver.originY ?? .5;
2120
+ const xSign = driver.invertX ? -1 : 1;
2121
+ const ySign = driver.invertY ? -1 : 1;
1886
2122
  const scaledX = originX + xSign * (finalX - originX) * reach;
1887
2123
  const scaledY = originY + ySign * (finalY - originY) * reach;
1888
- const gpuX = scaledX;
1889
- const gpuY = 1 - scaledY;
1890
- state.smoothedUniform.value.set(gpuX, gpuY);
1891
- } else if (driverConfig.type === "mouse") {
1892
- const smoothing = driverConfig.smoothing ?? 0;
1893
- const momentum = driverConfig.momentum ?? 0;
1894
- const target = driverConfig.axis === "x" ? pointerX : pointerY;
2124
+ let localX = scaledX;
2125
+ let localY = scaledY;
2126
+ const bb = node.metadata.boundingBox;
2127
+ if (bb && node.boundingBoxDeclaration?.supportsResizeFit && bboxActive(node)) {
2128
+ const p = boundingBoxToUVParams(bb, pxResWidth(), pxResHeight());
2129
+ const bl = screenUVToBoxLocal$1(scaledX, scaledY, {
2130
+ centerX: p.centerX,
2131
+ centerY: p.centerY,
2132
+ halfWidthUV: p.halfWidthUV,
2133
+ halfHeightUV: p.halfHeightUV,
2134
+ rotationDeg: p.rotation,
2135
+ aspectRatio: aspectRatio()
2136
+ });
2137
+ localX = bl.x;
2138
+ localY = bl.y;
2139
+ }
2140
+ state.liveX = localX;
2141
+ state.liveY = localY;
2142
+ const h = node._liveHandles?.[`_smoothed_${propName}`];
2143
+ if (h instanceof FieldHandle) h.setComponents(localX, 1 - localY);
2144
+ } else if (driver.type === "mouse") {
2145
+ const smoothing = driver.smoothing ?? 0;
2146
+ const momentum = driver.momentum ?? 0;
2147
+ const target = driver.axis === "x" ? pointerX : pointerY;
1895
2148
  const [nx, vx] = applySpring(state.currentX, state.velocityX, target, smoothing, momentum, deltaTime);
1896
2149
  state.currentX = nx;
1897
2150
  state.velocityX = vx;
1898
- state.smoothedUniform.value = Math.max(.001, nx);
2151
+ const smoothed01 = Math.max(.001, nx);
2152
+ const mv = node.mapValues[propName];
2153
+ const resolved = mv ? mv.outputMin + (mv.outputMax - mv.outputMin) * Math.pow(smoothed01, Math.pow(2, -mv.curve * 2)) : smoothed01;
2154
+ state.liveScalar = resolved;
2155
+ writeSyntheticScalar(node, `_smoothed_${propName}`, resolved);
1899
2156
  }
1900
2157
  }
1901
- const animState = nodeInfo.autoAnimateState;
1902
- if (!animState) continue;
1903
- for (const propName in animState) {
1904
- const state = animState[propName];
1905
- const driverConfig = maps[propName];
1906
- if (!driverConfig || driverConfig.type !== "auto-animate") continue;
1907
- const globalT = globalElapsedTime * (driverConfig.speed ?? 1) * .2;
2158
+ for (const propName in node.autoAnimateState) {
2159
+ const driver = maps[propName];
2160
+ if (!driver || driver.type !== "auto-animate") continue;
2161
+ const globalT = globalElapsedTime * (driver.speed ?? 1) * .2;
1908
2162
  let phase;
1909
- if (driverConfig.mode === "loop") phase = applyEasing((globalT % 1 + 1) % 1, driverConfig.easing ?? driverConfig.waveform ?? "sine");
2163
+ const easing = driver.easing ?? driver.waveform ?? "sine";
2164
+ if (driver.mode === "loop") phase = applyEasing((globalT % 1 + 1) % 1, easing);
1910
2165
  else {
1911
2166
  const t01 = (globalT % 1 + 1) % 1;
1912
- phase = applyEasing(t01 < .5 ? t01 * 2 : (1 - t01) * 2, driverConfig.easing ?? driverConfig.waveform ?? "sine");
2167
+ phase = applyEasing(t01 < .5 ? t01 * 2 : (1 - t01) * 2, easing);
1913
2168
  }
1914
- const { outputMin, outputMax } = driverConfig;
2169
+ const mv = node.mapValues[propName];
2170
+ const outputMin = mv ? mv.outputMin : resolveDynamicBound(node, propName, driver.outputMin);
2171
+ const outputMax = mv ? mv.outputMax : resolveDynamicBound(node, propName, driver.outputMax);
1915
2172
  const newValue = outputMin + phase * (outputMax - outputMin);
1916
- const uniformDefinition = nodeInfo.uniforms?.[propName];
1917
- if (uniformDefinition?.compileTimeWhen && material && isInitialized && currentWidth > 0 && currentHeight > 0) {
1918
- const prev = uniformDefinition._lastCompiledValue;
1919
- if (uniformDefinition.compileTimeWhen(prev, newValue)) {
1920
- uniformDefinition._lastCompiledValue = newValue;
1921
- if (materialUpdateBatchRAF === null) materialUpdateBatchRAF = requestAnimationFrame(() => {
1922
- materialUpdateBatchRAF = null;
1923
- updateMaterial();
1924
- });
2173
+ const u = node.uniforms[propName];
2174
+ if (u?.compileTimeWhen) {
2175
+ const prev = u._lastCompiledValue;
2176
+ if (u.compileTimeWhen(prev, newValue)) {
2177
+ u._lastCompiledValue = newValue;
2178
+ markStructuralDirty();
1925
2179
  }
1926
2180
  }
1927
- state.smoothedUniform.value = newValue;
2181
+ writeSyntheticScalar(node, `_smoothed_${propName}`, newValue);
1928
2182
  }
1929
2183
  }
1930
2184
  };
1931
- const executeComputeDispatches = () => {
1932
- for (const id of activeCompute) {
1933
- const nodeInfo = nodeRegistry.nodes.get(id);
1934
- if (!nodeInfo || !nodeInfo.computeGetNodes) continue;
1935
- try {
1936
- const nodes = nodeInfo.computeGetNodes(frameParams);
1937
- if (nodes) for (const node of nodes) renderer.compute(node);
1938
- } catch (e) {
1939
- console.error(`Error dispatching compute for node ${nodeInfo.id}:`, e);
2185
+ const updateAnimatedTime = () => {
2186
+ const dt = frameParams.deltaTime;
2187
+ for (const node of nodes.values()) {
2188
+ const at = node.definition.animatedTime;
2189
+ if (at) {
2190
+ const speedU = node.uniforms[at.speed];
2191
+ const speed = speedU ? Number(speedU.value) || 0 : 0;
2192
+ const state = getAnimatedTimeState(animatedTimeKey(node));
2193
+ state.advance(dt, speed);
2194
+ writeSyntheticScalar(node, "_animTime", state.value);
2195
+ }
2196
+ const extras = node.definition.extraAnimatedTimes;
2197
+ if (extras) for (const [key, speedProp] of Object.entries(extras)) {
2198
+ const su = node.uniforms[speedProp];
2199
+ const sp = su ? Number(su.value) || 0 : 0;
2200
+ const st = getAnimatedTimeState(extraAnimatedTimeKey(node, speedProp));
2201
+ st.advance(dt, sp);
2202
+ writeSyntheticScalar(node, `_animTime_${key}`, st.value);
1940
2203
  }
1941
2204
  }
1942
2205
  };
1943
- const executeBeforeRenderCallbacks = () => {
1944
- for (const id of activeBeforeRender) {
1945
- const nodeInfo = nodeRegistry.nodes.get(id);
1946
- if (!nodeInfo) continue;
1947
- for (const callback of nodeInfo.beforeRenderCallbacks) try {
1948
- callback(frameParams);
1949
- } catch (e) {
1950
- console.error(`Error executing before render callback for node ${nodeInfo.id}:`, e);
2206
+ const clampToTextureCap$1 = (w, h) => clampToTextureCap(w, h, {
2207
+ maxTextureDim: cachedMaxTextureDim,
2208
+ pixelRatio,
2209
+ viewportWidth: typeof window !== "undefined" ? window.innerWidth : w,
2210
+ viewportHeight: typeof window !== "undefined" ? window.innerHeight : h
2211
+ });
2212
+ const basePixelRatio = () => {
2213
+ const deviceRatio = (typeof window !== "undefined" ? window.devicePixelRatio : 1) || 1;
2214
+ return Math.min(deviceRatio, maxPixelRatioForDevice());
2215
+ };
2216
+ const applyRendererDimensions = (width, height, rawWidth, rawHeight) => {
2217
+ currentWidth = width;
2218
+ currentHeight = height;
2219
+ logicalWidth = rawWidth;
2220
+ logicalHeight = rawHeight;
2221
+ setShaderCanvasDimensions(rawWidth, rawHeight);
2222
+ if (!hasInitialDimensions) {
2223
+ hasInitialDimensions = true;
2224
+ if (nodes.size > 0) markStructuralDirty();
2225
+ }
2226
+ const { width: bufW, height: bufH } = bufferSize();
2227
+ if (canvasElement) {
2228
+ canvasElement.width = bufW;
2229
+ canvasElement.height = bufH;
2230
+ }
2231
+ for (const c of liveCompositions) c.passManager.resize(bufW, bufH);
2232
+ for (const c of liveCompositions) for (const cb of c.ir.onResize) try {
2233
+ cb({
2234
+ width: bufW,
2235
+ height: bufH
2236
+ });
2237
+ } catch (e) {
2238
+ console.error("[gpu] composition onResize error:", e);
2239
+ }
2240
+ for (const node of nodes.values()) {
2241
+ if (transformActive(node)) writeSyntheticScalar(node, "_xform_aspectRatio", aspectRatio());
2242
+ if (bboxActive(node)) {
2243
+ const bb = bboxFieldValues(node);
2244
+ if (bb) for (const [k, v] of Object.entries(bb)) writeSyntheticScalar(node, `_bbox_${k}`, v);
1951
2245
  }
2246
+ reresolveDimensionalUniforms(node);
1952
2247
  }
2248
+ lastRenderTime = 0;
2249
+ renderFrame();
1953
2250
  };
1954
- const executeAfterRenderCallbacks = () => {
1955
- for (const id of activeAfterRender) {
1956
- const nodeInfo = nodeRegistry.nodes.get(id);
1957
- if (!nodeInfo) continue;
1958
- for (const callback of nodeInfo.afterRenderCallbacks) try {
1959
- callback(frameParams);
1960
- } catch (e) {
1961
- console.error(`Error executing after render callback for node ${nodeInfo.id}:`, e);
2251
+ const updateRendererDimensions = (width, height) => {
2252
+ if (width <= 0 || height <= 0) return;
2253
+ if (width === lastRequestedWidth && height === lastRequestedHeight) return;
2254
+ lastRequestedWidth = width;
2255
+ lastRequestedHeight = height;
2256
+ pendingResize = {
2257
+ width,
2258
+ height
2259
+ };
2260
+ if (!isResizeScheduled && typeof requestAnimationFrame === "function") {
2261
+ isResizeScheduled = true;
2262
+ requestAnimationFrame(() => {
2263
+ isResizeScheduled = false;
2264
+ if (!pendingResize) return;
2265
+ const raw = pendingResize;
2266
+ pendingResize = null;
2267
+ const { width: cw, height: ch } = clampToTextureCap$1(raw.width, raw.height);
2268
+ applyRendererDimensions(cw, ch, raw.width, raw.height);
2269
+ });
2270
+ }
2271
+ };
2272
+ const handleResize = (entries) => {
2273
+ const entry = entries[0];
2274
+ if (!entry) return;
2275
+ let width, height;
2276
+ if (entry.contentBoxSize) {
2277
+ const boxSize = Array.isArray(entry.contentBoxSize) ? entry.contentBoxSize[0] : entry.contentBoxSize;
2278
+ if (boxSize) {
2279
+ width = Math.round(boxSize.inlineSize);
2280
+ height = Math.round(boxSize.blockSize);
2281
+ } else {
2282
+ width = Math.round(entry.contentRect.width);
2283
+ height = Math.round(entry.contentRect.height);
1962
2284
  }
2285
+ } else {
2286
+ width = Math.round(entry.contentRect.width);
2287
+ height = Math.round(entry.contentRect.height);
1963
2288
  }
2289
+ if (width === 0 || height === 0) return;
2290
+ updateRendererDimensions(width, height);
1964
2291
  };
1965
- const renderAndWait = async () => {
1966
- if (!canRender()) throw new Error("Renderer is not ready");
1967
- const wasAnimating = animationFrameId !== null;
1968
- if (wasAnimating) stopAnimation();
1969
- lastRenderTime = 0;
1970
- renderFrame();
1971
- if (renderer instanceof WebGPURenderer) try {
1972
- const backend = renderer.backend;
1973
- if (backend?.device) await backend.device.queue.onSubmittedWorkDone();
2292
+ const handleVisibilityChange = (entries) => {
2293
+ const entry = entries[0];
2294
+ if (!entry) return;
2295
+ isVisible = entry.isIntersecting;
2296
+ };
2297
+ const canRender = () => isInitialized && !!root && !!context && currentWidth > 0 && currentHeight > 0;
2298
+ const writeSystemUniforms = (store) => {
2299
+ const sys = store.systemHandles;
2300
+ const { width, height } = bufferSize();
2301
+ const bpr = basePixelRatio();
2302
+ const set = (name, value) => {
2303
+ const h = sys[name];
2304
+ if (h instanceof FieldHandle) h.value = value;
2305
+ };
2306
+ set("time", globalElapsedTime);
2307
+ set("viewportSize", [width, height]);
2308
+ set("logicalViewportSize", [pxResWidth() * bpr, pxResHeight() * bpr]);
2309
+ set("aspect", width / Math.max(1, height));
2310
+ set("pointer", [pointerX, pointerY]);
2311
+ set("pointerActive", pointerActive ? 1 : 0);
2312
+ };
2313
+ const runCallbacks = (callbacks) => {
2314
+ for (const cb of callbacks) try {
2315
+ cb(frameParams);
1974
2316
  } catch (e) {
1975
- await new Promise((resolve) => setTimeout(resolve, 16));
2317
+ console.error("[gpu] render callback error:", e);
1976
2318
  }
1977
- if (wasAnimating) startAnimation();
1978
2319
  };
1979
2320
  const renderFrameInternal = (overrideDeltaTime) => {
1980
- if (pendingNodeRemoval) return;
1981
2321
  if (!canRender()) return;
1982
- const frameStartTime = enablePerformanceTracking ? performance.now() : 0;
1983
- const currentTime = frameStartTime || performance.now();
1984
- let cappedDeltaTime;
1985
- if (overrideDeltaTime !== void 0) cappedDeltaTime = overrideDeltaTime;
2322
+ const now = performance.now();
2323
+ let delta;
2324
+ if (overrideDeltaTime !== void 0) delta = overrideDeltaTime;
1986
2325
  else {
1987
- const deltaTime = lastRenderTime > 0 ? (currentTime - lastRenderTime) / 1e3 : .016;
1988
- const OFF_SCREEN_FPS_INTERVAL = 1e3;
1989
- const MIN_FRAME_INTERVAL = 1e3 / 60 - 1;
1990
- if (lastRenderTime > 0) {
1991
- const timeSinceLastRender = currentTime - lastRenderTime;
1992
- if (!isVisible && !forceFullFrameRate && timeSinceLastRender < OFF_SCREEN_FPS_INTERVAL) return;
1993
- if ((isVisible || forceFullFrameRate) && timeSinceLastRender < MIN_FRAME_INTERVAL) return;
1994
- }
1995
- cappedDeltaTime = Math.min(deltaTime, .1);
2326
+ const gate = frameGate(now, {
2327
+ lastRenderTime,
2328
+ isVisible,
2329
+ forceFullFrameRate
2330
+ });
2331
+ if (!gate.render) return;
2332
+ delta = gate.deltaTime;
1996
2333
  }
1997
- lastRenderTime = currentTime;
2334
+ lastRenderTime = now;
1998
2335
  if (enablePerformanceTracking) performance.mark("shader-cpu-start");
1999
- frameParams.deltaTime = cappedDeltaTime;
2336
+ frameParams.deltaTime = delta;
2000
2337
  frameParams.pointer.x = pointerX;
2001
2338
  frameParams.pointer.y = pointerY;
2002
2339
  frameParams.pointerActive = pointerActive;
2003
2340
  frameParams.dimensions.width = currentWidth;
2004
2341
  frameParams.dimensions.height = currentHeight;
2005
- updateMouseDrivers();
2006
- executeComputeDispatches();
2007
- executeBeforeRenderCallbacks();
2008
- try {
2009
- if (isUpdatingMaterial) return;
2010
- if (enablePerformanceTracking) performance.mark("shader-gpu-start");
2011
- renderer.render(scene, camera);
2012
- if (firstRenderPending && !hasEmittedReady) {
2013
- hasEmittedReady = true;
2014
- firstRenderPending = false;
2015
- if (onReadyCallback) queueMicrotask(onReadyCallback);
2016
- }
2017
- executeAfterRenderCallbacks();
2018
- if (enablePerformanceTracking) {
2019
- performance.mark("shader-gpu-end");
2020
- let recordedTrueGpuTime = false;
2021
- if (renderer instanceof WebGPURenderer) try {
2022
- const backend = renderer.backend;
2023
- if (backend && backend.get && backend.get(renderer)) {
2024
- const renderContext = backend.get(renderer);
2025
- if (renderContext?.timestampQuery) {
2026
- const gpuTime = renderContext.timestampQuery.getResult();
2027
- if (gpuTime !== null && gpuTime !== void 0) {
2028
- performanceTracker.recordGpuTime(gpuTime / 1e6);
2029
- recordedTrueGpuTime = true;
2030
- }
2031
- }
2032
- }
2033
- } catch (e) {}
2342
+ let built = null;
2343
+ let renderComp = null;
2344
+ runFrameSequence({
2345
+ updateDrivers: () => {
2346
+ updateMouseDrivers();
2347
+ updateAnimatedTime();
2348
+ updateChildBounds();
2349
+ },
2350
+ ensureComposition: () => {
2351
+ if (structuralDirty || desiredHash === null) {
2352
+ desiredHash = computeStructuralHash();
2353
+ structuralDirty = false;
2354
+ }
2355
+ if (desiredHash === null) return false;
2356
+ built = pipelineCache.getOrBuild(desiredHash, () => buildComposition(desiredHash));
2357
+ bindComposition(built);
2358
+ return !!boundComposition;
2359
+ },
2360
+ beforeRender: () => runCallbacks(boundComposition.ir.onBeforeRender),
2361
+ flush: () => {
2362
+ writeSystemUniforms(boundComposition.store);
2363
+ boundComposition.store.flush();
2364
+ },
2365
+ render: () => {
2034
2366
  try {
2035
- if (!recordedTrueGpuTime) {
2036
- performance.measure("shader-gpu-time", "shader-gpu-start", "shader-gpu-end");
2037
- const gpuMeasure = performance.getEntriesByName("shader-gpu-time")[0];
2038
- if (gpuMeasure) performanceTracker.recordGpuTime(gpuMeasure.duration);
2039
- performance.clearMeasures("shader-gpu-time");
2367
+ if (enablePerformanceTracking) performance.mark("shader-gpu-start");
2368
+ renderComp = pipelineCache.renderValue ?? built;
2369
+ renderComp?.passManager.render(context, frameParams);
2370
+ if (enablePerformanceTracking) {
2371
+ performance.mark("shader-gpu-end");
2372
+ try {
2373
+ performance.measure("shader-gpu-time", "shader-gpu-start", "shader-gpu-end");
2374
+ const gpuMeasure = performance.getEntriesByName("shader-gpu-time")[0];
2375
+ if (gpuMeasure) performanceTracker.recordGpuTime(gpuMeasure.duration);
2376
+ performance.clearMeasures("shader-gpu-time");
2377
+ performance.clearMarks("shader-gpu-start");
2378
+ performance.clearMarks("shader-gpu-end");
2379
+ } catch {}
2040
2380
  }
2041
- performance.clearMarks("shader-gpu-start");
2042
- performance.clearMarks("shader-gpu-end");
2043
- } catch (e) {}
2044
- }
2045
- if (enablePerformanceTracking) {
2046
- performance.mark("shader-cpu-end");
2047
- try {
2048
- performance.measure("shader-cpu-time", "shader-cpu-start", "shader-cpu-end");
2049
- const cpuMeasure = performance.getEntriesByName("shader-cpu-time")[0];
2050
- if (cpuMeasure) performanceTracker.recordCpuTime(cpuMeasure.duration);
2051
- performance.clearMarks("shader-cpu-start");
2052
- performance.clearMarks("shader-cpu-end");
2053
- performance.clearMeasures("shader-cpu-time");
2054
- } catch (e) {}
2055
- const frameTime = performance.now() - frameStartTime;
2056
- performanceTracker.recordFrame(frameTime);
2057
- }
2058
- } catch (error) {
2059
- console.error("Render frame error:", error);
2060
- }
2381
+ } catch (error) {
2382
+ console.error("[gpu] render frame error:", error);
2383
+ }
2384
+ },
2385
+ markReady: () => {
2386
+ pipelineCache.markReady(desiredHash);
2387
+ if (firstRenderPending && !hasEmittedReady) {
2388
+ hasEmittedReady = true;
2389
+ firstRenderPending = false;
2390
+ if (onReadyCallback) queueMicrotask(onReadyCallback);
2391
+ }
2392
+ },
2393
+ afterRender: () => runCallbacks((renderComp ?? boundComposition).ir.onAfterRender)
2394
+ });
2395
+ if (enablePerformanceTracking) {
2396
+ performance.mark("shader-cpu-end");
2397
+ try {
2398
+ performance.measure("shader-cpu-time", "shader-cpu-start", "shader-cpu-end");
2399
+ const cpuMeasure = performance.getEntriesByName("shader-cpu-time")[0];
2400
+ if (cpuMeasure) performanceTracker.recordCpuTime(cpuMeasure.duration);
2401
+ performance.clearMarks("shader-cpu-start");
2402
+ performance.clearMarks("shader-cpu-end");
2403
+ performance.clearMeasures("shader-cpu-time");
2404
+ } catch {}
2405
+ }
2406
+ performanceTracker.recordFrame(performance.now() - now);
2061
2407
  };
2062
2408
  const renderFrame = () => renderFrameInternal(void 0);
2409
+ const renderAndWait = async () => {
2410
+ if (!canRender()) throw new Error("Renderer is not ready");
2411
+ const wasAnimating = frameLoop.running;
2412
+ if (wasAnimating) stopAnimation();
2413
+ lastRenderTime = 0;
2414
+ renderFrame();
2415
+ if (root) await awaitGpuIdle(root);
2416
+ if (wasAnimating) startAnimation();
2417
+ };
2063
2418
  const renderSyntheticFrame = async (deltaSeconds) => {
2064
2419
  renderFrameInternal(deltaSeconds);
2065
- if (renderer instanceof WebGPURenderer) {
2066
- const backend = renderer.backend;
2067
- if (backend?.device) await backend.device.queue.onSubmittedWorkDone();
2068
- }
2069
- };
2070
- const updatePerformanceNodeCounts = () => {
2071
- const nodeCount = Math.max(0, nodeRegistry.nodes.size - 1);
2072
- const rttNodeCount = actualRTTOperations;
2073
- performanceTracker.updateNodeCounts(nodeCount, rttNodeCount);
2074
- };
2075
- const getPerformanceStats = () => {
2076
- updatePerformanceNodeCounts();
2077
- const rendererInfo = renderer?.info;
2078
- return performanceTracker.getStats(rendererInfo);
2420
+ if (root) await awaitGpuIdle(root);
2079
2421
  };
2080
2422
  const startAnimation = () => {
2081
- if (animationFrameId || !shouldAnimate) return;
2423
+ if (frameLoop.running || !shouldAnimate) return;
2082
2424
  performanceTracker.setRendering(true);
2083
- if (renderer && "setAnimationLoop" in renderer && typeof renderer.setAnimationLoop === "function") {
2084
- renderer.setAnimationLoop(() => {
2085
- renderFrame();
2086
- });
2087
- animationFrameId = 1;
2088
- } else {
2089
- const animate = () => {
2090
- renderFrame();
2091
- animationFrameId = requestAnimationFrame(animate);
2092
- };
2093
- animate();
2094
- }
2425
+ frameLoop.start();
2095
2426
  };
2096
2427
  const stopAnimation = () => {
2097
- if (animationFrameId) {
2098
- if (renderer && "setAnimationLoop" in renderer && typeof renderer.setAnimationLoop === "function") renderer.setAnimationLoop(null);
2099
- else cancelAnimationFrame(animationFrameId);
2100
- animationFrameId = null;
2101
- }
2428
+ if (!frameLoop.running) return;
2429
+ frameLoop.stop();
2102
2430
  performanceTracker.setRendering(false);
2103
2431
  };
2104
- let mouseListenersNeeded = false;
2105
- const updateMouseListenerRegistration = () => {
2106
- let needsMouse = false;
2107
- for (const nodeInfo of nodeRegistry.nodes.values()) {
2108
- if (nodeInfo.usesPointer) {
2109
- needsMouse = true;
2110
- break;
2111
- }
2112
- if (!nodeInfo.metadata.maps) continue;
2113
- for (const driver of Object.values(nodeInfo.metadata.maps)) if (driver && typeof driver === "object" && "type" in driver) {
2114
- const t = driver.type;
2115
- if (t === "mouse" || t === "mouse-position") {
2116
- needsMouse = true;
2117
- break;
2118
- }
2119
- }
2120
- if (needsMouse) break;
2121
- }
2122
- if (needsMouse && !mouseListenersNeeded) {
2123
- mouseListenersNeeded = true;
2124
- if (!globalEventUnregister && canvasElement) {
2125
- globalEventUnregister = globalEventManager.register({
2126
- onMouseMove: globalMouseMoveHandler,
2127
- onTouchMove: globalTouchMoveHandler,
2128
- onMouseUp: globalMouseUpHandler,
2129
- onTouchEnd: globalTouchEndHandler
2130
- });
2131
- canvasElement.addEventListener("mousedown", canvasMouseDownHandler);
2132
- canvasElement.addEventListener("touchstart", canvasTouchStartHandler);
2133
- }
2134
- } else if (!needsMouse && mouseListenersNeeded) {
2135
- mouseListenersNeeded = false;
2136
- if (globalEventUnregister) {
2137
- globalEventUnregister();
2138
- globalEventUnregister = null;
2139
- }
2140
- if (canvasElement) {
2141
- canvasElement.removeEventListener("mousedown", canvasMouseDownHandler);
2142
- canvasElement.removeEventListener("touchstart", canvasTouchStartHandler);
2143
- }
2144
- }
2145
- };
2146
2432
  const updatePointerCoords = (event) => {
2147
2433
  if (!canvasElement) return;
2148
2434
  cachedCanvasRect = canvasElement.getBoundingClientRect();
@@ -2156,164 +2442,144 @@ function shaderRenderer() {
2156
2442
  clientX = event.clientX;
2157
2443
  clientY = event.clientY;
2158
2444
  }
2159
- const x = (clientX - cachedCanvasRect.left) / cachedCanvasRect.width;
2160
- const y = (clientY - cachedCanvasRect.top) / cachedCanvasRect.height;
2161
- pointerX = x;
2162
- pointerY = y;
2445
+ pointerX = (clientX - cachedCanvasRect.left) / cachedCanvasRect.width;
2446
+ pointerY = (clientY - cachedCanvasRect.top) / cachedCanvasRect.height;
2163
2447
  };
2164
- const globalMouseMoveHandler = (event) => {
2448
+ const onPointerMove = (event) => {
2165
2449
  if (!isInitialized || !canvasElement) return;
2166
2450
  updatePointerCoords(event);
2451
+ requestRender();
2167
2452
  };
2168
- const globalTouchMoveHandler = (event) => {
2453
+ const onTouchMove = (event) => {
2169
2454
  if (!isInitialized || !canvasElement) return;
2170
2455
  updatePointerCoords(event);
2456
+ requestRender();
2171
2457
  };
2172
- const globalMouseUpHandler = () => {
2458
+ const onPointerUp = () => {
2173
2459
  if (!isInitialized) return;
2174
2460
  pointerActive = false;
2175
- if (!animationFrameId) renderFrame();
2461
+ requestRender();
2176
2462
  };
2177
- const globalTouchEndHandler = () => {
2463
+ const onTouchEnd = () => {
2178
2464
  if (!isInitialized) return;
2179
2465
  pointerActive = false;
2180
- if (!animationFrameId) renderFrame();
2466
+ requestRender();
2181
2467
  };
2182
- const canvasMouseDownHandler = () => {
2468
+ const onPointerDown = () => {
2183
2469
  pointerActive = true;
2184
- if (!animationFrameId) renderFrame();
2470
+ requestRender();
2185
2471
  };
2186
- const canvasTouchStartHandler = () => {
2472
+ const onTouchStart = () => {
2187
2473
  pointerActive = true;
2188
- if (!animationFrameId) renderFrame();
2474
+ requestRender();
2475
+ };
2476
+ const updateMouseListenerRegistration = () => {
2477
+ let needsMouse = false;
2478
+ for (const node of nodes.values()) {
2479
+ if (node.usesPointer) {
2480
+ needsMouse = true;
2481
+ break;
2482
+ }
2483
+ if (shapeConfigUsesMouse(node.uniforms?.shape?.value)) {
2484
+ needsMouse = true;
2485
+ break;
2486
+ }
2487
+ if (!node.metadata.maps) continue;
2488
+ for (const driver of Object.values(node.metadata.maps)) if (driver && typeof driver === "object" && "type" in driver) {
2489
+ const t = driver.type;
2490
+ if (t === "mouse" || t === "mouse-position") {
2491
+ needsMouse = true;
2492
+ break;
2493
+ }
2494
+ }
2495
+ if (needsMouse) break;
2496
+ }
2497
+ if (needsMouse && !mouseListenersNeeded) {
2498
+ mouseListenersNeeded = true;
2499
+ if (!globalEventUnregister && canvasElement) {
2500
+ globalEventUnregister = globalEventManager.register({
2501
+ onMouseMove: onPointerMove,
2502
+ onTouchMove,
2503
+ onMouseUp: onPointerUp,
2504
+ onTouchEnd
2505
+ });
2506
+ canvasElement.addEventListener("mousedown", onPointerDown);
2507
+ canvasElement.addEventListener("touchstart", onTouchStart);
2508
+ }
2509
+ } else if (!needsMouse && mouseListenersNeeded) {
2510
+ mouseListenersNeeded = false;
2511
+ if (globalEventUnregister) {
2512
+ globalEventUnregister();
2513
+ globalEventUnregister = null;
2514
+ }
2515
+ if (canvasElement) {
2516
+ canvasElement.removeEventListener("mousedown", onPointerDown);
2517
+ canvasElement.removeEventListener("touchstart", onTouchStart);
2518
+ }
2519
+ }
2189
2520
  };
2190
2521
  const processQueuedRegistrations = () => {
2191
2522
  if (pendingRegistrationQueue.length === 0) return;
2192
2523
  const queue = [...pendingRegistrationQueue];
2193
2524
  pendingRegistrationQueue = [];
2194
- for (const { id, fragmentNodeFunc, parentId, metadata, uniforms, componentDefinition, domCanvas } of queue) if (fragmentNodeFunc) registerNode(id, fragmentNodeFunc, parentId, metadata, uniforms, componentDefinition, domCanvas);
2525
+ for (const q of queue) registerNode(q.id, q.definition.fragment, q.parentId, q.metadata, q.uniforms, q.definition, q.domCanvas);
2526
+ };
2527
+ const fireDeviceLost = (reason) => {
2528
+ if (deviceLostFired) return;
2529
+ deviceLostFired = true;
2530
+ try {
2531
+ stopAnimation();
2532
+ } catch {}
2533
+ if (onDeviceLostCallback) queueMicrotask(() => {
2534
+ try {
2535
+ onDeviceLostCallback?.(reason);
2536
+ } catch (e) {
2537
+ console.error("[gpu] onDeviceLost callback threw:", e);
2538
+ }
2539
+ });
2195
2540
  };
2196
- const initialize = async ({ canvas, resizeTarget, enablePerformanceTracking: enableTracking = true, colorSpace = "p3-linear", toneMapping = "linear", context, gpu, forceFullFrameRate: forceFullFps = false, observeElement: shouldObserveElement = true }) => {
2541
+ const initialize = async (options) => {
2542
+ if (options.context !== void 0) throw new Error("[gpu] initialize({ context }) is not supported — this renderer is WebGPU-only. Remove the WebGL `context` option.");
2197
2543
  if (isInitialized || isInitializing) return;
2544
+ const { canvas, resizeTarget, enablePerformanceTracking: enableTracking = false, colorSpace = "p3-linear", toneMapping = "linear", gpu, forceFullFrameRate: forceFullFps = false, observeElement: shouldObserveElement = true, timeOrigin: initialTimeOrigin } = options;
2545
+ if (initialTimeOrigin != null) sharedTimeOrigin = initialTimeOrigin;
2198
2546
  enablePerformanceTracking = enableTracking;
2199
2547
  forceFullFrameRate = forceFullFps;
2200
2548
  rendererColorSpace = colorSpace;
2201
- setColorSpaceMode(colorSpace);
2549
+ rendererToneMapping = toneMapping;
2202
2550
  isInitializing = true;
2203
2551
  initializationAbortController = new AbortController();
2204
- const localAbortController = initializationAbortController;
2552
+ const abort = initializationAbortController;
2205
2553
  try {
2554
+ setColorSpaceModeFn = setColorSpaceModeGpu;
2555
+ setColorSpaceModeFn(colorSpace);
2556
+ if (abort.signal.aborted) return;
2206
2557
  canvasElement = canvas;
2207
- scene = new Scene();
2208
- scene.background = null;
2209
- camera = new OrthographicCamera(-1, 1, 1, -1, .1, 10);
2210
- camera.position.z = 1;
2211
- camera.lookAt(0, 0, 0);
2212
- unloadHandler = () => {
2213
- cleanup();
2214
- };
2215
- window.addEventListener("beforeunload", unloadHandler);
2216
- windowResizeHandler = () => {
2217
- if (lastRequestedWidth > 0 && lastRequestedHeight > 0) {
2218
- const rawW = lastRequestedWidth;
2219
- const rawH = lastRequestedHeight;
2220
- lastRequestedWidth = 0;
2221
- lastRequestedHeight = 0;
2222
- updateRendererDimensions(rawW, rawH);
2223
- }
2224
- };
2225
- window.addEventListener("resize", windowResizeHandler, { passive: true });
2226
- if (localAbortController.signal.aborted) return;
2227
- if (context) {
2228
- console.log("[Shaders] Using provided WebGL context");
2229
- renderer = new WebGLRenderer({
2230
- canvas,
2231
- context,
2232
- antialias: true,
2233
- alpha: true,
2234
- depth: false,
2235
- stencil: true,
2236
- powerPreference: "high-performance"
2237
- });
2238
- const wglLost = (e) => {
2239
- e.preventDefault();
2240
- fireDeviceLost("webglcontextlost");
2241
- };
2242
- canvas.addEventListener("webglcontextlost", wglLost, false);
2243
- canvasContextLossUnregister = () => {
2244
- canvas.removeEventListener("webglcontextlost", wglLost, false);
2245
- };
2246
- } else try {
2247
- const rendererOptions = {
2248
- canvas,
2249
- antialias: true,
2250
- alpha: true,
2251
- depth: false,
2252
- powerPreference: "high-performance"
2558
+ rootCtx = await acquireRoot({
2559
+ device: gpu?.device,
2560
+ adapter: gpu?.adapter,
2561
+ onDeviceLost: (info) => fireDeviceLost(info.message || info.reason || "unknown")
2562
+ });
2563
+ if (abort.signal.aborted) return;
2564
+ root = rootCtx.root;
2565
+ pixelRatio = basePixelRatio();
2566
+ const lim = root.device.limits?.maxTextureDimension2D;
2567
+ if (typeof lim === "number" && lim > 0) cachedMaxTextureDim = lim;
2568
+ textureManager = createTextureManager(root);
2569
+ dispatcher = createComputeDispatcher(root);
2570
+ if (typeof window !== "undefined") {
2571
+ unloadHandler = () => cleanup();
2572
+ window.addEventListener("beforeunload", unloadHandler);
2573
+ windowResizeHandler = () => {
2574
+ if (lastRequestedWidth > 0 && lastRequestedHeight > 0) {
2575
+ const rawW = lastRequestedWidth;
2576
+ const rawH = lastRequestedHeight;
2577
+ lastRequestedWidth = 0;
2578
+ lastRequestedHeight = 0;
2579
+ updateRendererDimensions(rawW, rawH);
2580
+ }
2253
2581
  };
2254
- if (gpu?.device) rendererOptions.device = gpu.device;
2255
- renderer = new WebGPURenderer(rendererOptions);
2256
- rendererInitSettled = false;
2257
- rendererInitPromise = renderer.init();
2258
- rendererInitPromise.finally(() => {
2259
- rendererInitSettled = true;
2260
- }).catch(() => {});
2261
- await rendererInitPromise;
2262
- if (localAbortController.signal.aborted) return;
2263
- try {
2264
- const device = renderer.backend?.device;
2265
- if (device?.lost && typeof device.lost.then === "function") device.lost.then((info) => {
2266
- if (info?.reason === "destroyed") return;
2267
- fireDeviceLost(info?.message || info?.reason || "unknown");
2268
- }).catch(() => {});
2269
- } catch (hookErr) {
2270
- console.warn("[Shaders] could not attach WebGPU device.lost handler", hookErr);
2271
- }
2272
- } catch (e) {
2273
- if (localAbortController.signal.aborted) return;
2274
- console.warn("[Shaders] WebGPU initialization failed, falling back to WebGL:", e);
2275
- try {
2276
- const webglOptions = {
2277
- canvas,
2278
- antialias: true,
2279
- alpha: true,
2280
- depth: false,
2281
- stencil: true,
2282
- powerPreference: "high-performance"
2283
- };
2284
- if (context) webglOptions.context = context;
2285
- renderer = new WebGLRenderer(webglOptions);
2286
- if (localAbortController.signal.aborted) return;
2287
- const wglLost = (e$1) => {
2288
- e$1.preventDefault();
2289
- fireDeviceLost("webglcontextlost");
2290
- };
2291
- canvas.addEventListener("webglcontextlost", wglLost, false);
2292
- canvasContextLossUnregister = () => {
2293
- canvas.removeEventListener("webglcontextlost", wglLost, false);
2294
- };
2295
- } catch (webglError) {
2296
- if (localAbortController.signal.aborted) return;
2297
- console.error("[Shaders] Both WebGPU and WebGL initialization failed:", webglError);
2298
- return;
2299
- }
2300
- }
2301
- if (localAbortController.signal.aborted) return;
2302
- renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
2303
- renderer.outputColorSpace = SRGBColorSpace;
2304
- setToneMapping(toneMapping);
2305
- material = new MeshBasicNodeMaterial({ transparent: true });
2306
- material.fragmentNode = vec4(0, 0, 0, 0);
2307
- mesh = new Mesh(new PlaneGeometry(2, 2), material);
2308
- scene.add(mesh);
2309
- if (shouldObserveElement) {
2310
- const elementToObserve = resizeTarget ?? canvas.parentElement;
2311
- if (elementToObserve) {
2312
- resizeObserver = new ResizeObserver(handleResize);
2313
- resizeObserver.observe(elementToObserve);
2314
- } else console.warn("[Shaders] No element available for resize observation — use resize() manually");
2315
- intersectionObserver = new IntersectionObserver(handleVisibilityChange, { threshold: 0 });
2316
- intersectionObserver.observe(canvas);
2582
+ window.addEventListener("resize", windowResizeHandler, { passive: true });
2317
2583
  }
2318
2584
  const rect = canvas.getBoundingClientRect();
2319
2585
  cachedCanvasRect = rect;
@@ -2326,49 +2592,43 @@ function shaderRenderer() {
2326
2592
  if (roundedRawWidth > 0 && roundedRawHeight > 0) {
2327
2593
  lastRequestedWidth = roundedRawWidth;
2328
2594
  lastRequestedHeight = roundedRawHeight;
2329
- const { width: clampedWidth, height: clampedHeight } = clampToTextureCap(roundedRawWidth, roundedRawHeight);
2330
- currentWidth = clampedWidth;
2331
- currentHeight = clampedHeight;
2595
+ const { width: cw, height: ch } = clampToTextureCap$1(roundedRawWidth, roundedRawHeight);
2596
+ currentWidth = cw;
2597
+ currentHeight = ch;
2598
+ logicalWidth = roundedRawWidth;
2599
+ logicalHeight = roundedRawHeight;
2332
2600
  hasInitialDimensions = true;
2333
- renderer.setSize(clampedWidth, clampedHeight, false);
2334
- const aspectRatio = clampedWidth / clampedHeight;
2335
- const frustumHeight = 2;
2336
- const frustumWidth = frustumHeight * aspectRatio;
2337
- camera.left = -frustumWidth / 2;
2338
- camera.right = frustumWidth / 2;
2339
- camera.top = frustumHeight / 2;
2340
- camera.bottom = -frustumHeight / 2;
2341
- camera.updateProjectionMatrix();
2342
- mesh.scale.set(frustumWidth, frustumHeight, 1);
2343
- renderFrame();
2601
+ setShaderCanvasDimensions(roundedRawWidth, roundedRawHeight);
2602
+ const { width: bufW, height: bufH } = bufferSize();
2603
+ canvas.width = bufW;
2604
+ canvas.height = bufH;
2344
2605
  } else hasInitialDimensions = false;
2345
- if (shouldAnimate) startAnimation();
2346
- if (!localAbortController.signal.aborted) {
2347
- try {
2348
- if (renderer.backend?.isWebGPUBackend === true) {
2349
- const lim = (renderer.backend?.device)?.limits?.maxTextureDimension2D;
2350
- if (typeof lim === "number" && lim > 0) cachedMaxTextureDim = lim;
2351
- } else {
2352
- const lim = renderer.capabilities?.maxTextureSize;
2353
- if (typeof lim === "number" && lim > 0) cachedMaxTextureDim = lim;
2354
- }
2355
- } catch {}
2356
- if (lastRequestedWidth > 0 && lastRequestedHeight > 0) {
2357
- const rawW = lastRequestedWidth;
2358
- const rawH = lastRequestedHeight;
2359
- lastRequestedWidth = 0;
2360
- lastRequestedHeight = 0;
2361
- updateRendererDimensions(rawW, rawH);
2606
+ context = configureCanvasContext(root, canvas);
2607
+ if (shouldObserveElement && typeof ResizeObserver !== "undefined") {
2608
+ const elementToObserve = resizeTarget ?? canvas.parentElement;
2609
+ if (elementToObserve) {
2610
+ resizeObserver = new ResizeObserver(handleResize);
2611
+ resizeObserver.observe(elementToObserve);
2612
+ } else console.warn("[gpu] no element available for resize observation — use resize() manually");
2613
+ if (typeof IntersectionObserver !== "undefined") {
2614
+ intersectionObserver = new IntersectionObserver(handleVisibilityChange, {
2615
+ threshold: 0,
2616
+ rootMargin: "128px"
2617
+ });
2618
+ intersectionObserver.observe(canvas);
2362
2619
  }
2363
- isInitialized = true;
2364
- isRendererReady = true;
2365
- processQueuedRegistrations();
2366
2620
  }
2621
+ if (abort.signal.aborted) return;
2622
+ isInitialized = true;
2623
+ isRendererReady = true;
2624
+ processQueuedRegistrations();
2625
+ if (currentWidth > 0 && currentHeight > 0) renderFrame();
2626
+ if (shouldAnimate) startAnimation();
2367
2627
  } catch (error) {
2368
- console.error("[Shaders] Initialization error:", error);
2628
+ console.error("[gpu] initialization error:", error);
2369
2629
  } finally {
2370
2630
  isInitializing = false;
2371
- if (initializationAbortController === localAbortController) initializationAbortController = null;
2631
+ if (initializationAbortController === abort) initializationAbortController = null;
2372
2632
  }
2373
2633
  };
2374
2634
  const cleanup = () => {
@@ -2385,109 +2645,87 @@ function shaderRenderer() {
2385
2645
  globalEventUnregister();
2386
2646
  globalEventUnregister = null;
2387
2647
  }
2388
- if (canvasContextLossUnregister) {
2389
- canvasContextLossUnregister();
2390
- canvasContextLossUnregister = null;
2391
- }
2392
2648
  if (canvasElement) {
2393
- canvasElement.removeEventListener("mousedown", canvasMouseDownHandler);
2394
- canvasElement.removeEventListener("touchstart", canvasTouchStartHandler);
2649
+ canvasElement.removeEventListener("mousedown", onPointerDown);
2650
+ canvasElement.removeEventListener("touchstart", onTouchStart);
2395
2651
  }
2396
- if (unloadHandler) {
2652
+ if (unloadHandler && typeof window !== "undefined") {
2397
2653
  window.removeEventListener("beforeunload", unloadHandler);
2398
2654
  unloadHandler = null;
2399
2655
  }
2400
- if (windowResizeHandler) {
2656
+ if (windowResizeHandler && typeof window !== "undefined") {
2401
2657
  window.removeEventListener("resize", windowResizeHandler);
2402
2658
  windowResizeHandler = null;
2403
2659
  }
2660
+ if (pendingRenderRAF !== null && typeof cancelAnimationFrame === "function") {
2661
+ cancelAnimationFrame(pendingRenderRAF);
2662
+ pendingRenderRAF = null;
2663
+ }
2404
2664
  stopAnimation();
2405
- disposePreviousTextures();
2406
- currentTextures.forEach((texture$1) => {
2407
- try {
2408
- if (texture$1?.renderTarget?.dispose) texture$1.renderTarget.dispose();
2409
- } catch (e) {}
2410
- });
2411
- currentTextures.clear();
2412
- nodeRegistry.nodes.clear();
2413
- nodeRegistry.rootId = null;
2414
- nodeRegistry.idToNodeId.clear();
2665
+ pipelineCache.clear();
2666
+ for (const c of [...liveCompositions]) disposeComposition(c);
2667
+ boundComposition = null;
2668
+ try {
2669
+ textureManager?.destroy();
2670
+ } catch {}
2671
+ try {
2672
+ if (rootCtx?.createdDevice) root?.destroy();
2673
+ } catch {}
2674
+ nodes.clear();
2675
+ rootId = null;
2415
2676
  parentToChildren.clear();
2416
- activeBeforeRender.clear();
2417
- activeAfterRender.clear();
2418
- activeCompute.clear();
2419
- activeDrivers.clear();
2420
2677
  pendingRegistrationQueue = [];
2421
2678
  isRendererReady = false;
2422
- if (materialUpdateBatchRAF !== null) {
2423
- cancelAnimationFrame(materialUpdateBatchRAF);
2424
- materialUpdateBatchRAF = null;
2425
- }
2426
2679
  pendingResize = null;
2427
2680
  isResizeScheduled = false;
2428
- if (mesh) {
2429
- if (scene) scene.remove(mesh);
2430
- try {
2431
- if (mesh.geometry && typeof mesh.geometry.dispose === "function") mesh.geometry.dispose();
2432
- } catch (e) {}
2433
- try {
2434
- if (mesh.material instanceof Material && typeof mesh.material.dispose === "function") mesh.material.dispose();
2435
- } catch (e) {}
2436
- }
2437
- const disposeRenderer = (r) => {
2438
- try {
2439
- if (typeof r.forceContextLoss === "function") r.forceContextLoss();
2440
- } catch (e) {}
2441
- if (typeof r.dispose === "function") try {
2442
- r.dispose();
2443
- } catch (e) {}
2444
- };
2445
- if (renderer) {
2446
- const rendererToDispose = renderer;
2447
- const pendingInit = rendererInitPromise;
2448
- if (pendingInit && !rendererInitSettled) pendingInit.finally(() => disposeRenderer(rendererToDispose)).catch(() => {});
2449
- else disposeRenderer(rendererToDispose);
2450
- }
2451
- rendererInitPromise = null;
2452
- rendererInitSettled = false;
2453
2681
  canvasElement = null;
2454
- renderer = null;
2455
- camera = null;
2456
- scene = null;
2457
- mesh = null;
2458
- material = null;
2682
+ context = null;
2683
+ textureManager = null;
2684
+ dispatcher = null;
2685
+ root = null;
2686
+ rootCtx = null;
2459
2687
  isInitialized = false;
2460
2688
  isInitializing = false;
2461
2689
  hasInitialDimensions = false;
2462
2690
  initializationAbortController = null;
2463
2691
  currentWidth = 0;
2464
2692
  currentHeight = 0;
2693
+ logicalWidth = 0;
2694
+ logicalHeight = 0;
2695
+ desiredHash = null;
2696
+ structuralDirty = true;
2465
2697
  isVisible = false;
2466
2698
  shouldAnimate = true;
2467
2699
  pointerX = .5;
2468
2700
  pointerY = .5;
2469
2701
  pointerActive = false;
2470
- pendingNodeRemoval = false;
2471
2702
  onReadyCallback = null;
2472
2703
  hasEmittedReady = false;
2473
2704
  firstRenderPending = false;
2474
2705
  onDeviceLostCallback = null;
2475
2706
  deviceLostFired = false;
2476
2707
  };
2477
- const getRendererType = () => {
2478
- if (!renderer) return null;
2479
- return renderer instanceof WebGPURenderer ? "webgpu" : "webgl";
2708
+ const getPerformanceStats = () => {
2709
+ const nodeCount = Math.max(0, nodes.size - 1);
2710
+ const rttNodeCount = boundComposition ? boundComposition.ir.rttPasses.length : 0;
2711
+ performanceTracker.updateNodeCounts(nodeCount, rttNodeCount);
2712
+ const rendererInfo = {
2713
+ render: { calls: boundComposition ? boundComposition.passManager.passCount : 0 },
2714
+ programs: { length: pipelineCache.size },
2715
+ memory: { textures: textureManager ? textureManager.textureCount : 0 }
2716
+ };
2717
+ return performanceTracker.getStats(rendererInfo);
2480
2718
  };
2481
2719
  return {
2482
2720
  initialize,
2483
2721
  cleanup,
2484
2722
  registerNode,
2485
2723
  removeNode,
2486
- updateUniformValue: updateUniformValue$1,
2724
+ updateUniformValue,
2487
2725
  updateNodeMetadata,
2488
2726
  isInitialized: () => isInitialized,
2489
2727
  resize: (width, height) => {
2490
- if (!renderer || !camera || !mesh) return;
2728
+ if (!root) return;
2491
2729
  updateRendererDimensions(width, height);
2492
2730
  },
2493
2731
  startAnimation,
@@ -2495,16 +2733,75 @@ function shaderRenderer() {
2495
2733
  renderAndWait,
2496
2734
  renderSyntheticFrame,
2497
2735
  getPerformanceStats,
2498
- getNodeRegistry: () => ({ nodes: new Map(nodeRegistry.nodes) }),
2499
- getRendererType,
2500
- getInternalRenderer: () => renderer ?? null,
2736
+ getLiveDriverValue: (nodeId, propName) => {
2737
+ const state = nodes.get(nodeId)?.mouseDriverState?.[propName];
2738
+ if (!state || state.liveX === void 0 || state.liveY === void 0) return null;
2739
+ return {
2740
+ x: state.liveX,
2741
+ y: state.liveY
2742
+ };
2743
+ },
2744
+ getLiveScalarValue: (nodeId, propName) => {
2745
+ const node = nodes.get(nodeId);
2746
+ if (!node) return null;
2747
+ const driver = node.metadata.maps?.[propName];
2748
+ if (driver?.type === "auto-animate") {
2749
+ const h = node._liveHandles?.[`_smoothed_${propName}`];
2750
+ const v = h instanceof FieldHandle ? h.value : void 0;
2751
+ return typeof v === "number" ? v : null;
2752
+ }
2753
+ if (driver?.type === "mouse") return node.mouseDriverState[propName]?.liveScalar ?? null;
2754
+ return null;
2755
+ },
2756
+ getNodeRegistry: () => ({ nodes: new Map(nodes) }),
2757
+ getRendererType: () => "webgpu",
2758
+ getInternalRenderer: () => root ? {
2759
+ device: root.device,
2760
+ adapter: rootCtx?.adapter,
2761
+ root
2762
+ } : null,
2501
2763
  setForceFullFrameRate: (enabled) => {
2502
2764
  const previous = forceFullFrameRate;
2503
2765
  forceFullFrameRate = enabled;
2504
2766
  return previous;
2505
2767
  },
2768
+ beginRecordingResolution: (targetWidth, targetHeight, ratio) => {
2769
+ if (!root || targetWidth <= 0 || targetHeight <= 0) return () => {};
2770
+ const prevRatio = pixelRatio;
2771
+ const prevWidth = currentWidth;
2772
+ const prevHeight = currentHeight;
2773
+ const prevLogicalWidth = logicalWidth;
2774
+ const prevLogicalHeight = logicalHeight;
2775
+ const prevLastRequestedWidth = lastRequestedWidth;
2776
+ const prevLastRequestedHeight = lastRequestedHeight;
2777
+ pixelRatio = ratio;
2778
+ applyRendererDimensions(targetWidth, targetHeight, targetWidth, targetHeight);
2779
+ return () => {
2780
+ if (!root) return;
2781
+ pixelRatio = prevRatio;
2782
+ applyRendererDimensions(prevWidth, prevHeight, prevLogicalWidth, prevLogicalHeight);
2783
+ lastRequestedWidth = prevLastRequestedWidth;
2784
+ lastRequestedHeight = prevLastRequestedHeight;
2785
+ };
2786
+ },
2787
+ setResolutionScale: (scale) => {
2788
+ if (!root) return;
2789
+ const clampedScale = Math.max(.05, Math.min(scale, 1));
2790
+ const targetRatio = Math.max(.01, basePixelRatio() * clampedScale);
2791
+ if (Math.abs(pixelRatio - targetRatio) < .001) return;
2792
+ pixelRatio = targetRatio;
2793
+ const logicalW = logicalWidth || currentWidth;
2794
+ const logicalH = logicalHeight || currentHeight;
2795
+ if (logicalW <= 0 || logicalH <= 0) return;
2796
+ const { width, height } = clampToTextureCap$1(logicalW, logicalH);
2797
+ applyRendererDimensions(width, height, logicalW, logicalH);
2798
+ },
2799
+ setTimeOrigin: (origin) => {
2800
+ sharedTimeOrigin = origin;
2801
+ },
2506
2802
  setOnReady: (callback) => {
2507
2803
  onReadyCallback = callback;
2804
+ if (callback && hasEmittedReady) queueMicrotask(callback);
2508
2805
  },
2509
2806
  setOnDeviceLost: (callback) => {
2510
2807
  onDeviceLostCallback = callback;
@@ -2512,25 +2809,80 @@ function shaderRenderer() {
2512
2809
  __testing: {
2513
2810
  needsTransformation,
2514
2811
  findChildNodes,
2515
- applyMaskIfNeeded,
2516
- applyNodeTransformation,
2517
- getNodeRegistry: () => nodeRegistry,
2518
- getParentToChildren: () => parentToChildren
2812
+ buildFieldInits: (id) => {
2813
+ const node = nodes.get(id);
2814
+ return node ? buildFieldInits(node) : null;
2815
+ },
2816
+ stepAnimatedTime: (deltaTime) => {
2817
+ frameParams.deltaTime = deltaTime;
2818
+ updateAnimatedTime();
2819
+ },
2820
+ getAnimatedTimeValue: (id) => {
2821
+ const node = nodes.get(id);
2822
+ if (!node?.definition.animatedTime) return null;
2823
+ return getAnimatedTimeState(animatedTimeKey(node)).value;
2824
+ },
2825
+ writeExtraField: (id, name, value) => {
2826
+ const node = nodes.get(id);
2827
+ if (node) writeExtraFieldValue(node, name, value);
2828
+ },
2829
+ readExtraField: (id, name) => {
2830
+ const h = nodes.get(id)?._liveHandles?.[name];
2831
+ return h instanceof FieldHandle ? h.value : void 0;
2832
+ },
2833
+ getNodeRegistry: () => ({
2834
+ nodes,
2835
+ rootId,
2836
+ parentToChildren
2837
+ }),
2838
+ getParentToChildren: () => parentToChildren,
2839
+ getPendingRegistrations: () => [...pendingRegistrationQueue],
2840
+ getFrameDiagnostics: () => ({
2841
+ deltaTime: frameParams.deltaTime,
2842
+ pointerX,
2843
+ pointerY,
2844
+ pointerActive,
2845
+ globalElapsedTime,
2846
+ lastRenderTime,
2847
+ isVisible,
2848
+ forceFullFrameRate,
2849
+ sharedTimeOrigin,
2850
+ animating: frameLoop.running,
2851
+ mouseListenersNeeded
2852
+ }),
2853
+ computeStructuralHash,
2854
+ isStructuralDirty: () => structuralDirty,
2855
+ clearStructuralDirty: () => {
2856
+ structuralDirty = false;
2857
+ },
2858
+ setTestReady: (dims) => {
2859
+ isInitialized = true;
2860
+ isRendererReady = true;
2861
+ if (dims) {
2862
+ currentWidth = dims.width;
2863
+ currentHeight = dims.height;
2864
+ logicalWidth = dims.width;
2865
+ logicalHeight = dims.height;
2866
+ hasInitialDimensions = true;
2867
+ }
2868
+ processQueuedRegistrations();
2869
+ }
2519
2870
  }
2520
2871
  };
2521
2872
  }
2522
2873
  function createRendererFromJSON(preset, options) {
2523
- const coreRenderer = shaderRenderer();
2874
+ const coreRenderer = shaderRendererGPU();
2524
2875
  const componentRegistry = /* @__PURE__ */ new Map();
2525
2876
  const nodeIdMap = /* @__PURE__ */ new Map();
2877
+ let presetCanvas = null;
2526
2878
  getAllShaders().forEach((shader) => {
2527
2879
  componentRegistry.set(shader.definition.name, shader.definition);
2528
2880
  });
2529
2881
  async function initialize(canvas) {
2882
+ presetCanvas = canvas;
2530
2883
  await coreRenderer.initialize({
2531
2884
  canvas,
2532
2885
  enablePerformanceTracking: options?.enablePerformanceTracking || false,
2533
- context: options?.context,
2534
2886
  gpu: options?.gpu,
2535
2887
  forceFullFrameRate: options?.forceFullFrameRate || false
2536
2888
  });
@@ -2553,18 +2905,12 @@ function createRendererFromJSON(preset, options) {
2553
2905
  registerPresetNodes();
2554
2906
  }
2555
2907
  function getGPUContext() {
2556
- const rendererType = coreRenderer.getRendererType();
2557
- const internalRenderer = coreRenderer.getInternalRenderer();
2558
- if (rendererType === "webgpu") return {
2908
+ const internal = coreRenderer.getInternalRenderer();
2909
+ return {
2559
2910
  type: "webgpu",
2560
- device: internalRenderer.backend?.device,
2561
- adapter: internalRenderer.backend?.adapter,
2562
- canvas: internalRenderer.domElement
2563
- };
2564
- else return {
2565
- type: "webgl",
2566
- context: internalRenderer.getContext?.(),
2567
- canvas: internalRenderer.domElement
2911
+ device: internal?.device,
2912
+ adapter: internal?.adapter,
2913
+ canvas: presetCanvas
2568
2914
  };
2569
2915
  }
2570
2916
  function dispose() {
@@ -2572,7 +2918,7 @@ function createRendererFromJSON(preset, options) {
2572
2918
  }
2573
2919
  function registerPresetNodes() {
2574
2920
  const rootId = "preset-root";
2575
- coreRenderer.registerNode(rootId, ({ childNode }) => childNode || vec4(0, 0, 0, 0), null, null, {});
2921
+ coreRenderer.registerNode(rootId, rootPassthrough.fragment, null, null, {}, rootPassthrough);
2576
2922
  preset.components.forEach((component, index) => {
2577
2923
  registerComponent(component, rootId, index);
2578
2924
  });
@@ -2585,7 +2931,7 @@ function createRendererFromJSON(preset, options) {
2585
2931
  }
2586
2932
  const nodeId = component.id || `${component.type}_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
2587
2933
  nodeIdMap.set(nodeId, component.type);
2588
- const uniforms = createUniformsMap(componentDef, Object.fromEntries(Object.entries(componentDef.props).map(([key, propConfig]) => [key, component.props?.[key] !== void 0 ? component.props[key] : propConfig.default])), nodeId);
2934
+ const uniforms = createGpuUniformsMap(componentDef, Object.fromEntries(Object.entries(componentDef.props).map(([key, propConfig]) => [key, component.props?.[key] !== void 0 ? component.props[key] : propConfig.default])), nodeId);
2589
2935
  const metadata = {
2590
2936
  blendMode: component.props?.blendMode || "normal",
2591
2937
  opacity: component.props?.opacity,
@@ -2607,7 +2953,7 @@ function createRendererFromJSON(preset, options) {
2607
2953
  ...component.props.transform
2608
2954
  } : void 0
2609
2955
  };
2610
- coreRenderer.registerNode(nodeId, componentDef.fragmentNode, parentId, metadata, uniforms, componentDef);
2956
+ coreRenderer.registerNode(nodeId, componentDef.fragment, parentId, metadata, uniforms, componentDef);
2611
2957
  component.children?.forEach((child, index) => {
2612
2958
  registerComponent(child, nodeId, index);
2613
2959
  });
@@ -2669,29 +3015,69 @@ function topologicalSort(dependencies, circularDependencies) {
2669
3015
  for (const sourceId of allSourceNodeIds) if (!visited.has(sourceId) && !dependencies.has(sourceId)) result.push(sourceId);
2670
3016
  return result.reverse();
2671
3017
  }
2672
- const noise = (st) => fract(sin(dot(st, vec2(12.12345, 78.12345))).mul(40000.12345));
2673
- const grain = (intensity = .03) => (st) => noise(st).mul(intensity).mul(.10012345);
2674
- const distort = (uv$1 = vec2(0), intensity = .02, frequency = 1, seed = 1) => {
2675
- const phaseX = seed * 1.618033988749895;
2676
- const phaseY = seed * 2.718281828459045;
2677
- const freqMod1 = (Math.sin(seed) + 2) * 5;
2678
- const freqMod2 = (Math.cos(seed) + 2) * 5;
2679
- const flow1 = vec2(sin(uv$1.x.mul(frequency).mul(freqMod1).add(time.mul(.1)).add(phaseX)), cos(uv$1.y.mul(frequency).mul(freqMod1).add(time.mul(.1)).add(phaseY)));
2680
- const flow2 = vec2(sin(uv$1.y.mul(frequency).mul(freqMod2).add(time.mul(.05)).add(phaseY)), cos(uv$1.x.mul(frequency).mul(freqMod2).add(time.mul(.05)).add(phaseX)));
2681
- const offset = flow1.add(flow2).mul(intensity);
2682
- return uv$1.add(offset);
3018
+ const screenUVToBoxLocal = (sx, sy, g) => {
3019
+ const th = g.rotationDeg * Math.PI / 180;
3020
+ const c = Math.cos(th);
3021
+ const s = Math.sin(th);
3022
+ const sqx = (sx - g.centerX) * g.aspectRatio;
3023
+ const sqy = sy - g.centerY;
3024
+ const rx = sqx * c + sqy * s;
3025
+ const ry = sqx * -s + sqy * c;
3026
+ const hwSq = Math.max(g.halfWidthUV * g.aspectRatio, 1e-6);
3027
+ const hhSq = Math.max(g.halfHeightUV, 1e-6);
3028
+ return {
3029
+ x: rx / (2 * hwSq) + .5,
3030
+ y: ry / (2 * hhSq) + .5
3031
+ };
2683
3032
  };
2684
- const glow = (color, glowColor, threshold = .6, softness = .3, intensity = 1) => {
2685
- const brightness = max(max(color.r, color.g), color.b);
2686
- const glowAmount = smoothstep(threshold, threshold + softness, brightness).mul(intensity).mul(1);
2687
- return vec4(color.rgb.add(glowColor.rgb.mul(glowAmount)), color.a);
3033
+ const boxLocalToScreenUV = (bx, by, g) => {
3034
+ const th = g.rotationDeg * Math.PI / 180;
3035
+ const c = Math.cos(th);
3036
+ const s = Math.sin(th);
3037
+ const lx = (bx - .5) * 2 * (g.halfWidthUV * g.aspectRatio);
3038
+ const ly = (by - .5) * 2 * g.halfHeightUV;
3039
+ const sqx = lx * c - ly * s;
3040
+ const sqy = lx * s + ly * c;
3041
+ return {
3042
+ x: sqx / g.aspectRatio + g.centerX,
3043
+ y: sqy + g.centerY
3044
+ };
2688
3045
  };
2689
- const edgeMask = (options = {}) => {
2690
- const { inset = .4, softness = .5, offsetX = 0, offsetY = 0 } = options;
2691
- const rawUV = uv();
2692
- const ovalX = rawUV.x.sub(.5).sub(float(offsetX)).mul(2);
2693
- const ovalY = rawUV.y.sub(.5).add(float(offsetY)).mul(2);
2694
- const ovalDistance = ovalX.mul(ovalX).add(ovalY.mul(ovalY)).sqrt();
2695
- return float(1).sub(smoothstep(float(1).sub(float(inset)), float(1).sub(float(inset)).add(float(softness)), ovalDistance.mul(float(1).add(float(softness)))));
3046
+ const DEFAULT_BOUNDING_BOX = {
3047
+ x: {
3048
+ value: 0,
3049
+ unit: "uv"
3050
+ },
3051
+ y: {
3052
+ value: 0,
3053
+ unit: "uv"
3054
+ },
3055
+ width: {
3056
+ value: 1,
3057
+ unit: "uv"
3058
+ },
3059
+ height: {
3060
+ value: 1,
3061
+ unit: "uv"
3062
+ },
3063
+ origin: "top-left",
3064
+ rotation: 0
2696
3065
  };
2697
- export { createAnimatedTime, createRendererFromJSON, createUniformsMap, distort, edgeMask, glow, grain, resolveMaskDependencies, shaderRenderer, updateUniformValue };
3066
+ function resolveBoundingBox(bbox) {
3067
+ if (!bbox || typeof bbox !== "object") return void 0;
3068
+ const dim = (d$1, fallback) => d$1 && typeof d$1 === "object" ? {
3069
+ value: d$1.value ?? fallback.value,
3070
+ unit: d$1.unit ?? fallback.unit
3071
+ } : { ...fallback };
3072
+ return {
3073
+ x: dim(bbox.x, DEFAULT_BOUNDING_BOX.x),
3074
+ y: dim(bbox.y, DEFAULT_BOUNDING_BOX.y),
3075
+ width: dim(bbox.width, DEFAULT_BOUNDING_BOX.width),
3076
+ height: dim(bbox.height, DEFAULT_BOUNDING_BOX.height),
3077
+ origin: bbox.origin ?? "top-left",
3078
+ rotation: bbox.rotation ?? 0,
3079
+ ...bbox.cornerRadius ? { cornerRadius: bbox.cornerRadius } : {},
3080
+ ...bbox.lockAspect !== void 0 ? { lockAspect: bbox.lockAspect } : {}
3081
+ };
3082
+ }
3083
+ export { DEFAULT_BOUNDING_BOX, MAX_COLOR_STOPS, SHAPE3D_DEFAULTS, SHAPE3D_TYPES, SVG3D_DEFAULTS, SVG3D_TYPES, boxLocalToScreenUV, createGpuUniformsMap, createRendererFromJSON, is3dShapeType, isDimensionalValue, isSvg3dShapeType, isVolumetricShapeType, resolveBoundingBox, resolveMaskDependencies, resolveStops, rootPassthrough, screenUVToBoxLocal, shaderRendererGPU, shape3dBoundingRadius, sortStops };