shaders 3.2.474 → 4.0.0

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 (812) hide show
  1. package/LICENSE +21 -142
  2. package/README.md +192 -19
  3. package/dist/cli.js +2 -2
  4. package/dist/core/{AngularBlur-g4-fDx1N.js → AngularBlur-BEBs-lRR.js} +2 -3
  5. package/dist/core/{Arc-B4VGPOtO.js → Arc-D-WnjM7T.js} +1 -3
  6. package/dist/core/{Ascii-DxiduEzP.js → Ascii-BGPIwMc3.js} +2 -5
  7. package/dist/core/{Aurora-FgWLcSkh.js → Aurora-DqJBPdMQ.js} +2 -11
  8. package/dist/core/{BarShift-BukEd3jr.js → BarShift-BcCOweUh.js} +2 -3
  9. package/dist/core/{BarnDoors-BC0LM0aD.js → BarnDoors-B9B-AmCV.js} +2 -3
  10. package/dist/core/{Beam-CxAXVlAf.js → Beam-QG_9OS8I.js} +2 -3
  11. package/dist/core/{Bend-BfVVIo2C.js → Bend-Cy9VAowL.js} +1 -2
  12. package/dist/core/{Blob-D_IbcUCc.js → Blob-C3txJeW0.js} +2 -10
  13. package/dist/core/{BlockDissolve-C9nsgIz9.js → BlockDissolve-C1SFUys7.js} +2 -3
  14. package/dist/core/{BlockNoise-BgwbD0rx.js → BlockNoise-Cm3y8hce.js} +2 -4
  15. package/dist/core/{BlueNoise-BdwOaq4G.js → BlueNoise-BCLObOMm.js} +2 -4
  16. package/dist/core/{Blur-ceuv7ZTm.js → Blur-Dg29SnXd.js} +1 -2
  17. package/dist/core/{Boids-DEHsYo46.js → Boids-rsGsPN5h.js} +2 -5
  18. package/dist/core/{BokehBlur-C8xJ0xA8.js → BokehBlur-rFSFEnb0.js} +3 -4
  19. package/dist/core/{BrickPattern-C-6QFzp6.js → BrickPattern-DqN6JKEN.js} +2 -3
  20. package/dist/core/{BrightnessContrast-CMUaNvo0.js → BrightnessContrast-J9fCSBiC.js} +1 -3
  21. package/dist/core/{BrushedMetal-CQsu_96R.js → BrushedMetal-74wSZKjG.js} +3 -8
  22. package/dist/core/{Bulge-CgO7_0fe.js → Bulge-BIk0oq8j.js} +1 -2
  23. package/dist/core/{CRTScreen-DNqe2klB.js → CRTScreen-hEH-JNRd.js} +2 -3
  24. package/dist/core/{CarbonFiber-D0vgwlrV.js → CarbonFiber-CZdUDvRU.js} +4 -8
  25. package/dist/core/{Chalkboard-CDUJz_Ae.js → Chalkboard-CClJHqvs.js} +2 -3
  26. package/dist/core/{ChannelBlur-Z8ZvN6W3.js → ChannelBlur-BEuEwQOC.js} +1 -2
  27. package/dist/core/{CheckerWipe-DXm9kDaS.js → CheckerWipe-KuAWj2qg.js} +2 -3
  28. package/dist/core/{Checkerboard-DZAABNKo.js → Checkerboard-Rq9ze1W3.js} +2 -3
  29. package/dist/core/{Chevron-Dn1iHSiS.js → Chevron-C1j6X2Ye.js} +2 -3
  30. package/dist/core/{ChromaFlow-lnaJ4o1Y.js → ChromaFlow-BgsCUYIl.js} +2 -5
  31. package/dist/core/{ChromaticAberration-CGOQe4Pp.js → ChromaticAberration-2_4tjQ0u.js} +2 -4
  32. package/dist/core/{Chrome-DPAmErfN.js → Chrome-Be3z6C5i.js} +5 -11
  33. package/dist/core/{Circle-DVPhvXdr.js → Circle-e_qQI3tU.js} +1 -3
  34. package/dist/core/{ColorWheel-DXkVOQl2.js → ColorWheel-s5ep1H7d.js} +2 -3
  35. package/dist/core/{CompressionArtifacts-CEw9gfTu.js → CompressionArtifacts-OE9U9Qrq.js} +1 -3
  36. package/dist/core/{ConcentricSpin-GtNEq1T1.js → ConcentricSpin-CLE_5yCJ.js} +1 -2
  37. package/dist/core/{ConicGradient-DYPNJAOg.js → ConicGradient-Cji2SgVO.js} +2 -4
  38. package/dist/core/{ContourLines-DEmEepvT.js → ContourLines-wpPK00cF.js} +2 -3
  39. package/dist/core/{CornerPin-CJJeGyVf.js → CornerPin-gYU0Uf2m.js} +2 -3
  40. package/dist/core/{Crescent-C7yy9-xf.js → Crescent-viNc7Unp.js} +1 -2
  41. package/dist/core/{Cross-DyYrdTVw.js → Cross-DyQSsw_k.js} +1 -2
  42. package/dist/core/{Crystal-DQJd5oAd.js → Crystal-Vjj8azWg.js} +4 -9
  43. package/dist/core/{CurlNoise-Bjc6hhjR.js → CurlNoise-C7PHjDht.js} +2 -4
  44. package/dist/core/{CursorRipples-C1PNyYcB.js → CursorRipples-BzPPNkA3.js} +3 -39
  45. package/dist/core/{CursorTrail-C6v97bId.js → CursorTrail-cBj0AuQA.js} +2 -4
  46. package/dist/core/{DataMosh-AX4kIi4R.js → DataMosh-5Yr9TyVx.js} +1 -3
  47. package/dist/core/{DiamondGradient-Bj6mUxOy.js → DiamondGradient-DZM7HwF5.js} +2 -4
  48. package/dist/core/{DiamondWipe-BNSkpUn9.js → DiamondWipe-CqeT7lCt.js} +2 -3
  49. package/dist/core/{DiffuseBlur-C7l-5Dw3.js → DiffuseBlur-Y5hSDTZF.js} +2 -3
  50. package/dist/core/{DisplacementMap-DGpLSlxs.js → DisplacementMap-FobRx5Ie.js} +2 -3
  51. package/dist/core/{Dither-C9KDpqgP.js → Dither-50rqHpt9.js} +2 -3
  52. package/dist/core/{DotGrid-CkAtf-j_.js → DotGrid-B6AGLUbR.js} +3 -4
  53. package/dist/core/{DropShadow-BxI_a7dC.js → DropShadow-CEPpgatB.js} +2 -3
  54. package/dist/core/{Duotone-CrJ0P0SL.js → Duotone-D76Kp7Pb.js} +2 -3
  55. package/dist/core/{Ellipse-C2Tie_19.js → Ellipse-BGod1LeG.js} +1 -2
  56. package/dist/core/{Emboss-BjOlYydL.js → Emboss-DMNFb_ww.js} +3 -6
  57. package/dist/core/{Engraving-RpxXPqQq.js → Engraving-Dj7bCATQ.js} +2 -3
  58. package/dist/core/{ErosionNoise-D0qefxhq.js → ErosionNoise-4O68wJQZ.js} +2 -4
  59. package/dist/core/{Exposure-B7W7AVbY.js → Exposure-h-vapOpj.js} +1 -3
  60. package/dist/core/{FallingLines-Cxhmtqf4.js → FallingLines-Dzop_89k.js} +2 -3
  61. package/dist/core/{FilmGrain-CghUJIeK.js → FilmGrain-Bs8PCfdf.js} +1 -3
  62. package/dist/core/{FilmStock-DmOaROtC.js → FilmStock-DBjVo6rL.js} +1 -4
  63. package/dist/core/{Flip-BuOdbWjK.js → Flip-CfrS4KfZ.js} +2 -3
  64. package/dist/core/{FloatingParticles-BfFlt06Y.js → FloatingParticles-D1R2tD2J.js} +2 -5
  65. package/dist/core/{FlowField-A2njOtGx.js → FlowField-Slirm5AI.js} +2 -3
  66. package/dist/core/{Flower-CwdJOVR1.js → Flower-Ddlut7QZ.js} +1 -2
  67. package/dist/core/{FlowingGradient-D3BG2FW9.js → FlowingGradient-CwIgTtbj.js} +2 -7
  68. package/dist/core/{FlutedGlass-BWlTrLF-.js → FlutedGlass-CMMy2GJ5.js} +2 -4
  69. package/dist/core/{Fog-CpmIyRtJ.js → Fog-DjjUkcTZ.js} +2 -4
  70. package/dist/core/{Form3D-D-eUD4_k.js → Form3D-DQDOHWpC.js} +2 -4
  71. package/dist/core/{FractalNoise-DsESU8cP.js → FractalNoise-BjI3IOIj.js} +2 -4
  72. package/dist/core/{Frost-B1s1W_Qm.js → Frost-CK12HnL1.js} +4 -9
  73. package/dist/core/{GaborNoise-D3U1iz9E.js → GaborNoise-DKEIvvRJ.js} +3 -5
  74. package/dist/core/{Glass-O5o5OxlN.js → Glass-CzcOVD5Y.js} +3 -8
  75. package/dist/core/{GlassTiles-BxdT6Ee8.js → GlassTiles-gjhc563g.js} +1 -2
  76. package/dist/core/{Glitch-DQeLaNdU.js → Glitch-C_XAWltC.js} +1 -2
  77. package/dist/core/{Glow-DksG7wdu.js → Glow-CrYCanBI.js} +1 -3
  78. package/dist/core/{Godrays-D2Pzd9K9.js → Godrays-BBTMOVLP.js} +2 -3
  79. package/dist/core/{Goo-BL_ifIPI.js → Goo-Brhjk8aS.js} +3 -8
  80. package/dist/core/{GradientMap-B-5yUYjX.js → GradientMap-C5325QWw.js} +2 -4
  81. package/dist/core/{Grayscale-g7jQsxgi.js → Grayscale-dPjs-wvf.js} +1 -2
  82. package/dist/core/{Grid-DAglpJFP.js → Grid-UjEd3O76.js} +3 -4
  83. package/dist/core/{GridDistortion-CNlIESbs.js → GridDistortion-vVgYya1U.js} +1 -5
  84. package/dist/core/{Group-CeOfFv2K.js → Group-KVdmAi5g.js} +1 -1
  85. package/dist/core/{HTMLInCanvas-BgwCnbYn.js → HTMLInCanvas-CKr2u76R.js} +1 -2
  86. package/dist/core/{Halftone-DCiP4EDq.js → Halftone-pRV3TRUW.js} +4 -5
  87. package/dist/core/{Heart-CQhtzwFu.js → Heart-CX7MvvHZ.js} +1 -2
  88. package/dist/core/{Heatmap-e-lF_uZu.js → Heatmap-Dn6qyd2e.js} +3 -8
  89. package/dist/core/{HexGrid-BY_BPH8J.js → HexGrid-BIfYhkfV.js} +3 -4
  90. package/dist/core/{Hologram-BA_LJPm0.js → Hologram-ou27baPQ.js} +4 -8
  91. package/dist/core/{Holographic-CX8OG-Wa.js → Holographic-CiHdBSMg.js} +3 -7
  92. package/dist/core/{HueShift-BnwOshrg.js → HueShift-CG7pcXfg.js} +1 -3
  93. package/dist/core/{ImageTexture-Cd6vH2Z0.js → ImageTexture-BiZuU58C.js} +1 -2
  94. package/dist/core/{InkFlow-B7F9i3Kd.js → InkFlow-D9_L7opB.js} +9 -12
  95. package/dist/core/{Invert-6Q5kX8vd.js → Invert-CHEaiQZO.js} +1 -2
  96. package/dist/core/{IrisWipe-Cl5yYdEi.js → IrisWipe-x22vOQHm.js} +2 -3
  97. package/dist/core/Irradiance-7yq2K87_.js +389 -0
  98. package/dist/core/{IsometricCubes-BhK9MhCy.js → IsometricCubes-CkPGWr7M.js} +2 -3
  99. package/dist/core/{Kaleidoscope-D4X5N_qk.js → Kaleidoscope-CEC5m1Ww.js} +1 -2
  100. package/dist/core/{KeyFrames-Dv1vFfMa.js → KeyFrames-BMGEZsAZ.js} +2 -3
  101. package/dist/core/{LensDistortion-BqVp5WBS.js → LensDistortion-DKo8PiO5.js} +2 -3
  102. package/dist/core/{LensFlare-z0k68uJ1.js → LensFlare-DMS-NUtK.js} +2 -3
  103. package/dist/core/LightEdge-DxmnCRls.js +315 -0
  104. package/dist/core/{LightLeak-BgFq4bLG.js → LightLeak-yoEsZtYg.js} +2 -4
  105. package/dist/core/{Line--Ur3CJp1.js → Line-D17XDUjO.js} +2 -3
  106. package/dist/core/{LinearBlur-BkHF6lVm.js → LinearBlur-CiyjPTUH.js} +2 -3
  107. package/dist/core/{LinearGradient-DIdq_fiw.js → LinearGradient-DfjKG70q.js} +2 -4
  108. package/dist/core/{LinearWipe-DuCB9oV_.js → LinearWipe-D9CtBg6S.js} +2 -3
  109. package/dist/core/{LiquidMetal-B2Cz80Ka.js → LiquidMetal-8EG6DwV6.js} +3 -8
  110. package/dist/core/{Liquify-CvPn1ze-.js → Liquify-BySXF1OB.js} +1 -4
  111. package/dist/core/{MagneticFilings-BOgYrPhz.js → MagneticFilings-DNESH3Zs.js} +2 -5
  112. package/dist/core/{Marble-c2QGDXxB.js → Marble-C9WvdxrP.js} +2 -7
  113. package/dist/core/{MeshGradient-DMsza5tg.js → MeshGradient-d9--RXOU.js} +2 -10
  114. package/dist/core/{Mirror-Ck8qk1Km.js → Mirror-1V2FF2kD.js} +1 -2
  115. package/dist/core/{MultiPointGradient-DwO6snxn.js → MultiPointGradient-cRA9ytgL.js} +2 -3
  116. package/dist/core/{Nebula-3a9pYBDC.js → Nebula-BRV-q74y.js} +7 -90
  117. package/dist/core/{Neon-Cf95sJ7W.js → Neon-4PemK9Rj.js} +3 -6
  118. package/dist/core/{NoiseDissolve-DgvzEFOD.js → NoiseDissolve-B7LgD46G.js} +2 -3
  119. package/dist/core/{ObjectTracker-IopW8Jvf.js → ObjectTracker-CdzDxhpy.js} +3 -4
  120. package/dist/core/{Obsidian-BL_0ordp.js → Obsidian-2J1eX9kT.js} +9 -15
  121. package/dist/core/{PagePeel-BeAr_n0U.js → PagePeel-D-ziraOm.js} +1 -2
  122. package/dist/core/{Paper-BDEsyIPI.js → Paper-BxzCLyzB.js} +1 -2
  123. package/dist/core/{Parallelogram-Duj-0MLr.js → Parallelogram-D4OflTwn.js} +1 -2
  124. package/dist/core/{ParticleField-gk7JuNx4.js → ParticleField-tWNicEDO.js} +1 -4
  125. package/dist/core/{ParticleFlow-BzWOl7Hm.js → ParticleFlow-BiEYFyWR.js} +2 -6
  126. package/dist/core/{Particles-DYAtR6jZ.js → Particles-B7W4yWgo.js} +3 -7
  127. package/dist/core/{PerlinNoise-BHQ318g4.js → PerlinNoise-C-irUxp9.js} +3 -5
  128. package/dist/core/{Perspective-xBfd9BSE.js → Perspective-DlnAW-pe.js} +2 -3
  129. package/dist/core/{PixelSort-Bx9sUnGm.js → PixelSort-BBOTYuOE.js} +1 -4
  130. package/dist/core/{PixelThrow-0nJiGsmZ.js → PixelThrow-DCJb9Lxd.js} +2 -4
  131. package/dist/core/{Pixelate-CvCzoA0h.js → Pixelate-CZdwB--K.js} +1 -2
  132. package/dist/core/{Plasma-Be1yxNcP.js → Plasma-CTOQJeqy.js} +2 -4
  133. package/dist/core/{Plastic-Bom1oFFR.js → Plastic-DvyH9x-4.js} +3 -8
  134. package/dist/core/{PolarCoordinates-BGwTZ6NO.js → PolarCoordinates-XhdDAOD0.js} +1 -2
  135. package/dist/core/{Polygon-Byw5C7Qy.js → Polygon-CLohB-Ly.js} +2 -4
  136. package/dist/core/{Posterize-BHOstvyj.js → Posterize-BAQfnvmK.js} +1 -2
  137. package/dist/core/{Prism-pNsLhW8w.js → Prism-DJVCVAXX.js} +4 -8
  138. package/dist/core/{ProgressiveBlur-CR1IbvKQ.js → ProgressiveBlur-Dirva1on.js} +2 -3
  139. package/dist/core/{RadialGradient-BFOrMAK1.js → RadialGradient-DuSKR8Ds.js} +2 -4
  140. package/dist/core/{RadialWipe-BYnlbrNm.js → RadialWipe-n8tON7x2.js} +2 -3
  141. package/dist/core/{RandomBars-B7erRRHx.js → RandomBars-BYouiIgQ.js} +2 -3
  142. package/dist/core/{ReactionDiffusion-BnY40jHs.js → ReactionDiffusion-CHDd3y2q.js} +2 -5
  143. package/dist/core/{RectangularCoordinates-D9-3PQAz.js → RectangularCoordinates-CYFfCawa.js} +1 -2
  144. package/dist/core/{ReflectivePlane-BI-LIR2c.js → ReflectivePlane-DFTl5U9q.js} +2 -3
  145. package/dist/core/Repeater-CnbzXuAe.js +473 -0
  146. package/dist/core/{Ring-CvvtJYAf.js → Ring-CGkHVSVd.js} +1 -2
  147. package/dist/core/{RippleWipe-kAzZWsjR.js → RippleWipe-DLjPzY6u.js} +2 -3
  148. package/dist/core/{Ripples-BFLep1r1.js → Ripples-C2tITU62.js} +2 -3
  149. package/dist/core/{RoundedRect-DirNijIY.js → RoundedRect-sfNTUaCY.js} +1 -2
  150. package/dist/core/{Saturation-CfkRhJpe.js → Saturation-BRkifYWj.js} +1 -3
  151. package/dist/core/{Scratches-Dchfw1_5.js → Scratches-D87O5C2K.js} +2 -4
  152. package/dist/core/{Sharpness-DZzAnlsl.js → Sharpness-BGv613Zw.js} +1 -3
  153. package/dist/core/Shatter-DuyCFU1f.js +328 -0
  154. package/dist/core/{SimplexNoise-CmV42gYT.js → SimplexNoise-CQJvmqd-.js} +2 -4
  155. package/dist/core/{SineWave-TqnpIKO4.js → SineWave-BfOgSGMP.js} +2 -3
  156. package/dist/core/{SliceWipe-Dz8vj6bi.js → SliceWipe-CD_D99sl.js} +1 -2
  157. package/dist/core/{Smoke-B1TnZnG6.js → Smoke-BDQYKRP1.js} +2 -4
  158. package/dist/core/{SmokeFill-C8gSZ22X.js → SmokeFill-CPnzQtQv.js} +3 -8
  159. package/dist/core/{SmokeFlow-dd5uLztm.js → SmokeFlow-BkPMjZq8.js} +2 -4
  160. package/dist/core/{Solarize-CIQa9pKw.js → Solarize-DSiS32QS.js} +1 -3
  161. package/dist/core/{SolidColor-DuoQVKGk.js → SolidColor-DEKpgy1c.js} +2 -3
  162. package/dist/core/Sparkle-BZur6gPW.js +178 -0
  163. package/dist/core/{Spherize-FWwWEUyE.js → Spherize-D9Yg4n6O.js} +2 -3
  164. package/dist/core/{Spiral-DI1eG0E3.js → Spiral-BCacfEpT.js} +2 -3
  165. package/dist/core/{Star-DT-hnlIJ.js → Star-Dnw1ihk7.js} +1 -2
  166. package/dist/core/{Stone-oW35zD22.js → Stone-Cje-_vAg.js} +1 -3
  167. package/dist/core/{Strands-asB3fUr9.js → Strands-CFRxS1G_.js} +2 -4
  168. package/dist/core/{Stretch-Cm_B4WGY.js → Stretch-DXVhfIqO.js} +1 -2
  169. package/dist/core/{Stripes-BnJiniJY.js → Stripes-CCADWwyq.js} +2 -3
  170. package/dist/core/{StudioBackground-DwSO5KNV.js → StudioBackground-BlzYNAsu.js} +2 -6
  171. package/dist/core/{SunBurst-BL-BryZO.js → SunBurst-CmWbI18r.js} +2 -3
  172. package/dist/core/{Surface3D-DSvh7Zof.js → Surface3D-Dmh98-0V.js} +2 -6
  173. package/dist/core/{Swirl-BVPy039a.js → Swirl-CzI1qSVc.js} +2 -4
  174. package/dist/core/{Teardrop-CR1UqYaF.js → Teardrop-D24uulL0.js} +1 -2
  175. package/dist/core/{Text-fP5temat.js → Text-CrZKvBw6.js} +2 -6
  176. package/dist/core/{ThinFilm-CTQeVw7E.js → ThinFilm-D7R2dt1O.js} +11 -14
  177. package/dist/core/{TiltShift-BvYpYELk.js → TiltShift-AMMDZBvf.js} +2 -3
  178. package/dist/core/{TimeTrail-DqdYuHn7.js → TimeTrail-BCYDP2ep.js} +4 -8
  179. package/dist/core/{Tint-BXJMHYvg.js → Tint-DHb5wBN5.js} +2 -3
  180. package/dist/core/{Trapezoid--AgyKOWQ.js → Trapezoid-CL5Fxvq7.js} +1 -2
  181. package/dist/core/{TriangularGrid-CmDApxz9.js → TriangularGrid-Bp-SJS-H.js} +2 -3
  182. package/dist/core/{Tritone-DCd_IRp7.js → Tritone-C0nx7OdC.js} +2 -3
  183. package/dist/core/{Truchet-g1_jcoZ4.js → Truchet-DCetyDaq.js} +2 -3
  184. package/dist/core/{Twirl-JY-PXDS2.js → Twirl-D_mv9KEi.js} +1 -2
  185. package/dist/core/{VHS-ZWR6D4Da.js → VHS-Cp9aDjti.js} +2 -3
  186. package/dist/core/{VenetianBlinds-B7laTyPO.js → VenetianBlinds-DUyvaT5w.js} +2 -3
  187. package/dist/core/{Vesica-BTNW2p5u.js → Vesica-BpzrTPTA.js} +1 -2
  188. package/dist/core/{Vibrance-DmhtRT2D.js → Vibrance-DW3J-pvW.js} +1 -3
  189. package/dist/core/{VideoTexture-DK3EaAHY.js → VideoTexture-zoKsSrex.js} +1 -2
  190. package/dist/core/{Vignette-hyFfUS20.js → Vignette-KKbP3qdZ.js} +2 -5
  191. package/dist/core/{Voronoi-DhexPwNM.js → Voronoi-Bp2-U6lm.js} +2 -5
  192. package/dist/core/Voxels-B3e3LHH5.js +469 -0
  193. package/dist/core/{Water-BsBnXYYB.js → Water-CoYwvqKx.js} +7 -12
  194. package/dist/core/{Watercolor-C1HipGGO.js → Watercolor-DUNjSIN1.js} +2 -4
  195. package/dist/core/{WaveDistortion-VXyHFcJ3.js → WaveDistortion-Dp8ws0z1.js} +1 -2
  196. package/dist/core/{Waveform-CSP_4nZF.js → Waveform-DDBLB6zu.js} +2 -9
  197. package/dist/core/{WaveletNoise-CQqAufyv.js → WaveletNoise-CpBkzfRT.js} +2 -4
  198. package/dist/core/{Weave-DwX8T4_Q.js → Weave-cWkvSEAy.js} +2 -3
  199. package/dist/core/{WebcamTexture-B4SLwIP1.js → WebcamTexture-D484SXSE.js} +1 -2
  200. package/dist/core/{Wool-qg-z_TFC.js → Wool-C9L7O9fD.js} +1 -3
  201. package/dist/core/{WorleyNoise-CjVw20Fl.js → WorleyNoise-B5j5lDQZ.js} +2 -3
  202. package/dist/core/{ZoomBlur-Lm_pVpMf.js → ZoomBlur-bPC1dBu2.js} +2 -3
  203. package/dist/core/customShaders.d.ts +71 -0
  204. package/dist/core/customShaders.d.ts.map +1 -0
  205. package/dist/core/docs-manifest.json +29177 -0
  206. package/dist/core/gpu/composer.d.ts +2 -0
  207. package/dist/core/gpu/composer.d.ts.map +1 -1
  208. package/dist/core/gpu/contract.d.ts +17 -2
  209. package/dist/core/gpu/contract.d.ts.map +1 -1
  210. package/dist/core/gpu/frame.d.ts +5 -2
  211. package/dist/core/gpu/frame.d.ts.map +1 -1
  212. package/dist/core/gpu/index.d.ts.map +1 -1
  213. package/dist/core/gpu/kit/aa.d.ts +1 -1
  214. package/dist/core/gpu/kit/agents.d.ts +1 -1
  215. package/dist/core/gpu/kit/blur.d.ts +4 -4
  216. package/dist/core/gpu/kit/cells.d.ts +3 -3
  217. package/dist/core/gpu/kit/cellular.d.ts +1 -1
  218. package/dist/core/gpu/kit/colorOps.d.ts +6 -6
  219. package/dist/core/gpu/kit/effects/glass.d.ts +2 -2
  220. package/dist/core/gpu/kit/effects/thinFilm.d.ts +4 -4
  221. package/dist/core/gpu/kit/fields.d.ts.map +1 -1
  222. package/dist/core/gpu/kit/host/pointer.d.ts +1 -1
  223. package/dist/core/gpu/kit/lensParts.d.ts +3 -3
  224. package/dist/core/gpu/kit/lightfields.d.ts +3 -3
  225. package/dist/core/gpu/kit/materialParts.d.ts +1 -1
  226. package/dist/core/gpu/kit/materialParts.d.ts.map +1 -1
  227. package/dist/core/gpu/kit/media.d.ts +1 -1
  228. package/dist/core/gpu/kit/media.d.ts.map +1 -1
  229. package/dist/core/gpu/kit/motionBlur.d.ts +2 -2
  230. package/dist/core/gpu/kit/noiseColor.d.ts +5 -5
  231. package/dist/core/gpu/kit/noiseColor.d.ts.map +1 -1
  232. package/dist/core/gpu/kit/noisePaints.d.ts +1 -1
  233. package/dist/core/gpu/kit/sdf.d.ts +2 -2
  234. package/dist/core/gpu/kit/stylizePaints.d.ts +1 -1
  235. package/dist/core/gpu/kit/stylizePaints.d.ts.map +1 -1
  236. package/dist/core/gpu/kit/tone.d.ts +1 -1
  237. package/dist/core/gpu/kit/waves.d.ts +6 -0
  238. package/dist/core/gpu/kit/waves.d.ts.map +1 -1
  239. package/dist/core/gpu/passManager.d.ts +1 -1
  240. package/dist/core/gpu/passManager.d.ts.map +1 -1
  241. package/dist/core/gpu/scaffolds/fluids.d.ts +7 -7
  242. package/dist/core/gpu/scaffolds/fluids.d.ts.map +1 -1
  243. package/dist/core/gpu/scaffolds/gridKernels.d.ts +8 -8
  244. package/dist/core/gpu/scaffolds/gridKernels.d.ts.map +1 -1
  245. package/dist/core/gpu/scaffolds/pointwiseFilter.d.ts +5 -5
  246. package/dist/core/gpu/scaffolds/pointwiseFilter.d.ts.map +1 -1
  247. package/dist/core/gpu/scaffolds/radiance.d.ts +5 -5
  248. package/dist/core/gpu/scaffolds/radiance.d.ts.map +1 -1
  249. package/dist/core/gpu/scaffolds/rttFilter.d.ts +2 -2
  250. package/dist/core/gpu/scaffolds/rttFilter.d.ts.map +1 -1
  251. package/dist/core/gpu/scaffolds/sdfShape.d.ts +2 -2
  252. package/dist/core/gpu/scaffolds/sdfShape.d.ts.map +1 -1
  253. package/dist/core/gpu/scaffolds/uvRemapShader.d.ts +4 -4
  254. package/dist/core/gpu/support.d.ts +12 -0
  255. package/dist/core/gpu/support.d.ts.map +1 -1
  256. package/dist/core/index.d.ts +3 -2
  257. package/dist/core/index.d.ts.map +1 -1
  258. package/dist/core/index.js +238 -255
  259. package/dist/core/llms.txt +1558 -0
  260. package/dist/core/{noiseColor-DuWjYRmO.js → noiseColor-D_bPhJ4m.js} +2 -2
  261. package/dist/core/presetRenderer.d.ts +4 -0
  262. package/dist/core/presetRenderer.d.ts.map +1 -1
  263. package/dist/core/registry.js +204 -248
  264. package/dist/core/shaderRegistry-BaozBFyh.js +445 -0
  265. package/dist/core/shaderRegistry.d.ts.map +1 -1
  266. package/dist/core/shaders/AngularBlur/index.d.ts +1 -1
  267. package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
  268. package/dist/core/shaders/AngularBlur/index.js +4 -10
  269. package/dist/core/shaders/Arc/index.js +4 -6
  270. package/dist/core/shaders/Ascii/index.d.ts +1 -1
  271. package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
  272. package/dist/core/shaders/Ascii/index.js +4 -11
  273. package/dist/core/shaders/Aurora/index.js +4 -21
  274. package/dist/core/shaders/BarShift/index.js +4 -8
  275. package/dist/core/shaders/BarnDoors/index.js +4 -7
  276. package/dist/core/shaders/Beam/index.js +4 -11
  277. package/dist/core/shaders/Bend/index.js +4 -8
  278. package/dist/core/shaders/Blob/index.js +4 -18
  279. package/dist/core/shaders/BlockDissolve/index.js +4 -7
  280. package/dist/core/shaders/BlockNoise/index.d.ts +1 -1
  281. package/dist/core/shaders/BlockNoise/index.d.ts.map +1 -1
  282. package/dist/core/shaders/BlockNoise/index.js +5 -14
  283. package/dist/core/shaders/BlueNoise/index.d.ts +1 -1
  284. package/dist/core/shaders/BlueNoise/index.d.ts.map +1 -1
  285. package/dist/core/shaders/BlueNoise/index.js +5 -14
  286. package/dist/core/shaders/Blur/index.d.ts +1 -1
  287. package/dist/core/shaders/Blur/index.d.ts.map +1 -1
  288. package/dist/core/shaders/Blur/index.js +4 -10
  289. package/dist/core/shaders/Boids/index.js +4 -9
  290. package/dist/core/shaders/BokehBlur/index.d.ts +1 -1
  291. package/dist/core/shaders/BokehBlur/index.js +4 -10
  292. package/dist/core/shaders/BrickPattern/index.d.ts +1 -1
  293. package/dist/core/shaders/BrickPattern/index.d.ts.map +1 -1
  294. package/dist/core/shaders/BrickPattern/index.js +4 -13
  295. package/dist/core/shaders/BrightnessContrast/index.js +4 -7
  296. package/dist/core/shaders/BrushedMetal/index.js +4 -11
  297. package/dist/core/shaders/Bulge/index.js +4 -8
  298. package/dist/core/shaders/CRTScreen/index.d.ts +2 -2
  299. package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
  300. package/dist/core/shaders/CRTScreen/index.js +4 -10
  301. package/dist/core/shaders/CarbonFiber/index.d.ts +1 -1
  302. package/dist/core/shaders/CarbonFiber/index.js +4 -11
  303. package/dist/core/shaders/Chalkboard/index.d.ts +1 -1
  304. package/dist/core/shaders/Chalkboard/index.d.ts.map +1 -1
  305. package/dist/core/shaders/Chalkboard/index.js +4 -9
  306. package/dist/core/shaders/ChannelBlur/index.d.ts +1 -1
  307. package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
  308. package/dist/core/shaders/ChannelBlur/index.js +4 -10
  309. package/dist/core/shaders/CheckerWipe/index.js +4 -7
  310. package/dist/core/shaders/Checkerboard/index.d.ts +1 -1
  311. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  312. package/dist/core/shaders/Checkerboard/index.js +4 -13
  313. package/dist/core/shaders/Chevron/index.d.ts +1 -1
  314. package/dist/core/shaders/Chevron/index.d.ts.map +1 -1
  315. package/dist/core/shaders/Chevron/index.js +4 -13
  316. package/dist/core/shaders/ChromaFlow/index.js +4 -8
  317. package/dist/core/shaders/ChromaticAberration/index.js +4 -11
  318. package/dist/core/shaders/Chrome/index.d.ts +1 -1
  319. package/dist/core/shaders/Chrome/index.js +4 -10
  320. package/dist/core/shaders/Circle/index.js +4 -6
  321. package/dist/core/shaders/ColorWheel/index.js +4 -11
  322. package/dist/core/shaders/CompressionArtifacts/index.d.ts +2 -2
  323. package/dist/core/shaders/CompressionArtifacts/index.d.ts.map +1 -1
  324. package/dist/core/shaders/CompressionArtifacts/index.js +4 -7
  325. package/dist/core/shaders/ConcentricSpin/index.js +4 -8
  326. package/dist/core/shaders/ConicGradient/index.js +4 -11
  327. package/dist/core/shaders/ContourLines/index.js +4 -6
  328. package/dist/core/shaders/CornerPin/index.js +4 -8
  329. package/dist/core/shaders/Crescent/index.js +4 -5
  330. package/dist/core/shaders/Cross/index.js +4 -5
  331. package/dist/core/shaders/Crystal/index.js +4 -11
  332. package/dist/core/shaders/CurlNoise/index.d.ts +1 -1
  333. package/dist/core/shaders/CurlNoise/index.d.ts.map +1 -1
  334. package/dist/core/shaders/CurlNoise/index.js +5 -14
  335. package/dist/core/shaders/CursorRipples/index.js +4 -7
  336. package/dist/core/shaders/CursorTrail/index.js +4 -7
  337. package/dist/core/shaders/DataMosh/index.js +4 -7
  338. package/dist/core/shaders/DiamondGradient/index.js +4 -11
  339. package/dist/core/shaders/DiamondWipe/index.js +4 -7
  340. package/dist/core/shaders/DiffuseBlur/index.d.ts +1 -1
  341. package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
  342. package/dist/core/shaders/DiffuseBlur/index.js +4 -10
  343. package/dist/core/shaders/DisplacementMap/index.js +4 -8
  344. package/dist/core/shaders/Dither/index.d.ts +1 -1
  345. package/dist/core/shaders/Dither/index.d.ts.map +1 -1
  346. package/dist/core/shaders/Dither/index.js +4 -13
  347. package/dist/core/shaders/DotGrid/index.d.ts +2 -2
  348. package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
  349. package/dist/core/shaders/DotGrid/index.js +4 -13
  350. package/dist/core/shaders/DropShadow/index.d.ts +1 -1
  351. package/dist/core/shaders/DropShadow/index.d.ts.map +1 -1
  352. package/dist/core/shaders/DropShadow/index.js +4 -10
  353. package/dist/core/shaders/Duotone/index.js +4 -6
  354. package/dist/core/shaders/Ellipse/index.js +4 -5
  355. package/dist/core/shaders/Emboss/index.js +4 -9
  356. package/dist/core/shaders/Engraving/index.js +4 -9
  357. package/dist/core/shaders/ErosionNoise/index.d.ts +1 -1
  358. package/dist/core/shaders/ErosionNoise/index.d.ts.map +1 -1
  359. package/dist/core/shaders/ErosionNoise/index.js +5 -14
  360. package/dist/core/shaders/Exposure/index.js +4 -7
  361. package/dist/core/shaders/FallingLines/index.d.ts +1 -1
  362. package/dist/core/shaders/FallingLines/index.d.ts.map +1 -1
  363. package/dist/core/shaders/FallingLines/index.js +4 -13
  364. package/dist/core/shaders/FilmGrain/index.js +4 -7
  365. package/dist/core/shaders/FilmStock/index.js +4 -13
  366. package/dist/core/shaders/Flip/index.js +4 -8
  367. package/dist/core/shaders/FloatingParticles/index.d.ts +2 -2
  368. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  369. package/dist/core/shaders/FloatingParticles/index.js +4 -9
  370. package/dist/core/shaders/FlowField/index.js +4 -8
  371. package/dist/core/shaders/Flower/index.js +4 -5
  372. package/dist/core/shaders/FlowingGradient/index.js +4 -15
  373. package/dist/core/shaders/FlutedGlass/index.js +4 -11
  374. package/dist/core/shaders/Fog/index.js +4 -7
  375. package/dist/core/shaders/Form3D/index.js +4 -7
  376. package/dist/core/shaders/FractalNoise/index.d.ts +1 -1
  377. package/dist/core/shaders/FractalNoise/index.d.ts.map +1 -1
  378. package/dist/core/shaders/FractalNoise/index.js +4 -13
  379. package/dist/core/shaders/Frost/index.d.ts +1 -1
  380. package/dist/core/shaders/Frost/index.js +4 -11
  381. package/dist/core/shaders/GaborNoise/index.d.ts +2 -2
  382. package/dist/core/shaders/GaborNoise/index.d.ts.map +1 -1
  383. package/dist/core/shaders/GaborNoise/index.js +5 -14
  384. package/dist/core/shaders/Glass/index.js +4 -11
  385. package/dist/core/shaders/GlassTiles/index.d.ts +1 -1
  386. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  387. package/dist/core/shaders/GlassTiles/index.js +4 -8
  388. package/dist/core/shaders/Glitch/index.d.ts +1 -1
  389. package/dist/core/shaders/Glitch/index.d.ts.map +1 -1
  390. package/dist/core/shaders/Glitch/index.js +4 -10
  391. package/dist/core/shaders/Glow/index.d.ts +1 -1
  392. package/dist/core/shaders/Glow/index.d.ts.map +1 -1
  393. package/dist/core/shaders/Glow/index.js +4 -11
  394. package/dist/core/shaders/Godrays/index.js +4 -12
  395. package/dist/core/shaders/Goo/index.js +4 -11
  396. package/dist/core/shaders/GradientMap/index.js +4 -7
  397. package/dist/core/shaders/Grayscale/index.js +4 -6
  398. package/dist/core/shaders/Grid/index.d.ts +2 -2
  399. package/dist/core/shaders/Grid/index.d.ts.map +1 -1
  400. package/dist/core/shaders/Grid/index.js +4 -13
  401. package/dist/core/shaders/GridDistortion/index.js +4 -11
  402. package/dist/core/shaders/Group/index.js +4 -6
  403. package/dist/core/shaders/HTMLInCanvas/index.js +4 -7
  404. package/dist/core/shaders/Halftone/index.d.ts +3 -3
  405. package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
  406. package/dist/core/shaders/Halftone/index.js +4 -13
  407. package/dist/core/shaders/Heart/index.js +4 -5
  408. package/dist/core/shaders/Heatmap/index.js +4 -11
  409. package/dist/core/shaders/HexGrid/index.d.ts +2 -2
  410. package/dist/core/shaders/HexGrid/index.d.ts.map +1 -1
  411. package/dist/core/shaders/HexGrid/index.js +4 -13
  412. package/dist/core/shaders/Hologram/index.d.ts +1 -1
  413. package/dist/core/shaders/Hologram/index.js +4 -10
  414. package/dist/core/shaders/Holographic/index.js +4 -10
  415. package/dist/core/shaders/HueShift/index.js +4 -7
  416. package/dist/core/shaders/ImageTexture/index.js +4 -6
  417. package/dist/core/shaders/InkFlow/index.d.ts +7 -7
  418. package/dist/core/shaders/InkFlow/index.js +4 -8
  419. package/dist/core/shaders/Invert/index.js +4 -6
  420. package/dist/core/shaders/IrisWipe/index.js +4 -7
  421. package/dist/core/shaders/Irradiance/index.d.ts +1 -1
  422. package/dist/core/shaders/Irradiance/index.d.ts.map +1 -1
  423. package/dist/core/shaders/Irradiance/index.js +4 -13
  424. package/dist/core/shaders/IsometricCubes/index.d.ts +1 -1
  425. package/dist/core/shaders/IsometricCubes/index.d.ts.map +1 -1
  426. package/dist/core/shaders/IsometricCubes/index.js +4 -13
  427. package/dist/core/shaders/Kaleidoscope/index.js +4 -8
  428. package/dist/core/shaders/KeyFrames/index.js +4 -10
  429. package/dist/core/shaders/LensDistortion/index.js +4 -6
  430. package/dist/core/shaders/LensFlare/index.d.ts +1 -1
  431. package/dist/core/shaders/LensFlare/index.d.ts.map +1 -1
  432. package/dist/core/shaders/LensFlare/index.js +4 -12
  433. package/dist/core/shaders/LightEdge/index.js +4 -10
  434. package/dist/core/shaders/LightLeak/index.js +4 -12
  435. package/dist/core/shaders/Line/index.js +4 -10
  436. package/dist/core/shaders/LinearBlur/index.d.ts +1 -1
  437. package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
  438. package/dist/core/shaders/LinearBlur/index.js +4 -10
  439. package/dist/core/shaders/LinearGradient/index.js +4 -11
  440. package/dist/core/shaders/LinearWipe/index.js +4 -7
  441. package/dist/core/shaders/LiquidMetal/index.js +4 -11
  442. package/dist/core/shaders/Liquify/index.js +4 -10
  443. package/dist/core/shaders/MagneticFilings/index.js +4 -9
  444. package/dist/core/shaders/Marble/index.d.ts +1 -1
  445. package/dist/core/shaders/Marble/index.d.ts.map +1 -1
  446. package/dist/core/shaders/Marble/index.js +4 -15
  447. package/dist/core/shaders/MeshGradient/index.js +4 -17
  448. package/dist/core/shaders/Mirror/index.js +4 -8
  449. package/dist/core/shaders/MultiPointGradient/index.js +4 -11
  450. package/dist/core/shaders/Nebula/index.d.ts +3 -3
  451. package/dist/core/shaders/Nebula/index.js +4 -13
  452. package/dist/core/shaders/Neon/index.js +4 -9
  453. package/dist/core/shaders/NoiseDissolve/index.js +4 -7
  454. package/dist/core/shaders/ObjectTracker/index.d.ts +1 -1
  455. package/dist/core/shaders/ObjectTracker/index.js +4 -10
  456. package/dist/core/shaders/Obsidian/index.d.ts +5 -5
  457. package/dist/core/shaders/Obsidian/index.js +4 -15
  458. package/dist/core/shaders/PagePeel/index.js +4 -10
  459. package/dist/core/shaders/Paper/index.d.ts +1 -1
  460. package/dist/core/shaders/Paper/index.d.ts.map +1 -1
  461. package/dist/core/shaders/Paper/index.js +4 -8
  462. package/dist/core/shaders/Parallelogram/index.js +4 -5
  463. package/dist/core/shaders/ParticleField/index.js +4 -9
  464. package/dist/core/shaders/ParticleFlow/index.js +4 -10
  465. package/dist/core/shaders/Particles/index.js +4 -9
  466. package/dist/core/shaders/PerlinNoise/index.d.ts +2 -2
  467. package/dist/core/shaders/PerlinNoise/index.d.ts.map +1 -1
  468. package/dist/core/shaders/PerlinNoise/index.js +5 -14
  469. package/dist/core/shaders/Perspective/index.js +4 -8
  470. package/dist/core/shaders/PixelSort/index.js +4 -8
  471. package/dist/core/shaders/PixelThrow/index.js +4 -8
  472. package/dist/core/shaders/Pixelate/index.d.ts +1 -1
  473. package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
  474. package/dist/core/shaders/Pixelate/index.js +4 -10
  475. package/dist/core/shaders/Plasma/index.js +4 -11
  476. package/dist/core/shaders/Plastic/index.js +4 -11
  477. package/dist/core/shaders/PolarCoordinates/index.js +4 -8
  478. package/dist/core/shaders/Polygon/index.js +4 -6
  479. package/dist/core/shaders/Posterize/index.js +4 -6
  480. package/dist/core/shaders/Prism/index.d.ts +2 -2
  481. package/dist/core/shaders/Prism/index.js +4 -12
  482. package/dist/core/shaders/ProgressiveBlur/index.d.ts +1 -1
  483. package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
  484. package/dist/core/shaders/ProgressiveBlur/index.js +4 -10
  485. package/dist/core/shaders/RadialGradient/index.js +4 -11
  486. package/dist/core/shaders/RadialWipe/index.js +4 -7
  487. package/dist/core/shaders/RandomBars/index.js +4 -7
  488. package/dist/core/shaders/ReactionDiffusion/index.js +4 -8
  489. package/dist/core/shaders/RectangularCoordinates/index.js +4 -8
  490. package/dist/core/shaders/ReflectivePlane/index.js +4 -10
  491. package/dist/core/shaders/Repeater/index.js +4 -5
  492. package/dist/core/shaders/Ring/index.js +4 -5
  493. package/dist/core/shaders/RippleWipe/index.js +4 -7
  494. package/dist/core/shaders/Ripples/index.d.ts +1 -1
  495. package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
  496. package/dist/core/shaders/Ripples/index.js +4 -13
  497. package/dist/core/shaders/RoundedRect/index.js +4 -5
  498. package/dist/core/shaders/Saturation/index.js +4 -7
  499. package/dist/core/shaders/Scratches/index.d.ts +1 -1
  500. package/dist/core/shaders/Scratches/index.d.ts.map +1 -1
  501. package/dist/core/shaders/Scratches/index.js +5 -14
  502. package/dist/core/shaders/Sharpness/index.d.ts +1 -1
  503. package/dist/core/shaders/Sharpness/index.d.ts.map +1 -1
  504. package/dist/core/shaders/Sharpness/index.js +4 -11
  505. package/dist/core/shaders/Shatter/index.js +4 -6
  506. package/dist/core/shaders/SimplexNoise/index.d.ts +1 -1
  507. package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
  508. package/dist/core/shaders/SimplexNoise/index.js +5 -14
  509. package/dist/core/shaders/SineWave/index.js +4 -10
  510. package/dist/core/shaders/SliceWipe/index.js +4 -8
  511. package/dist/core/shaders/Smoke/index.js +4 -7
  512. package/dist/core/shaders/SmokeFill/index.js +4 -10
  513. package/dist/core/shaders/SmokeFlow/index.js +4 -7
  514. package/dist/core/shaders/Solarize/index.js +4 -7
  515. package/dist/core/shaders/SolidColor/index.js +4 -11
  516. package/dist/core/shaders/Sparkle/index.d.ts +57 -0
  517. package/dist/core/shaders/Sparkle/index.d.ts.map +1 -0
  518. package/dist/core/shaders/Sparkle/index.js +5 -0
  519. package/dist/core/shaders/Spherize/index.d.ts +1 -1
  520. package/dist/core/shaders/Spherize/index.d.ts.map +1 -1
  521. package/dist/core/shaders/Spherize/index.js +4 -10
  522. package/dist/core/shaders/Spiral/index.js +4 -11
  523. package/dist/core/shaders/Star/index.js +4 -5
  524. package/dist/core/shaders/Stone/index.d.ts +1 -1
  525. package/dist/core/shaders/Stone/index.d.ts.map +1 -1
  526. package/dist/core/shaders/Stone/index.js +4 -14
  527. package/dist/core/shaders/Strands/index.d.ts +1 -1
  528. package/dist/core/shaders/Strands/index.d.ts.map +1 -1
  529. package/dist/core/shaders/Strands/index.js +4 -13
  530. package/dist/core/shaders/Stretch/index.js +4 -8
  531. package/dist/core/shaders/Stripes/index.d.ts +1 -1
  532. package/dist/core/shaders/Stripes/index.d.ts.map +1 -1
  533. package/dist/core/shaders/Stripes/index.js +4 -13
  534. package/dist/core/shaders/StudioBackground/index.js +4 -14
  535. package/dist/core/shaders/SunBurst/index.js +4 -12
  536. package/dist/core/shaders/Surface3D/index.js +4 -8
  537. package/dist/core/shaders/Swirl/index.js +4 -11
  538. package/dist/core/shaders/Teardrop/index.js +4 -5
  539. package/dist/core/shaders/Text/index.js +4 -12
  540. package/dist/core/shaders/ThinFilm/index.d.ts +8 -8
  541. package/dist/core/shaders/ThinFilm/index.js +4 -9
  542. package/dist/core/shaders/TiltShift/index.d.ts +1 -1
  543. package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
  544. package/dist/core/shaders/TiltShift/index.js +4 -10
  545. package/dist/core/shaders/TimeTrail/index.d.ts +2 -2
  546. package/dist/core/shaders/TimeTrail/index.js +4 -8
  547. package/dist/core/shaders/Tint/index.js +4 -6
  548. package/dist/core/shaders/Trapezoid/index.js +4 -5
  549. package/dist/core/shaders/TriangularGrid/index.d.ts +1 -1
  550. package/dist/core/shaders/TriangularGrid/index.d.ts.map +1 -1
  551. package/dist/core/shaders/TriangularGrid/index.js +4 -13
  552. package/dist/core/shaders/Tritone/index.js +4 -6
  553. package/dist/core/shaders/Truchet/index.d.ts +1 -1
  554. package/dist/core/shaders/Truchet/index.d.ts.map +1 -1
  555. package/dist/core/shaders/Truchet/index.js +4 -13
  556. package/dist/core/shaders/Twirl/index.js +4 -8
  557. package/dist/core/shaders/VHS/index.d.ts +2 -2
  558. package/dist/core/shaders/VHS/index.d.ts.map +1 -1
  559. package/dist/core/shaders/VHS/index.js +4 -10
  560. package/dist/core/shaders/VenetianBlinds/index.js +4 -7
  561. package/dist/core/shaders/Vesica/index.js +4 -5
  562. package/dist/core/shaders/Vibrance/index.js +4 -7
  563. package/dist/core/shaders/VideoTexture/index.js +4 -6
  564. package/dist/core/shaders/Vignette/index.js +4 -8
  565. package/dist/core/shaders/Voronoi/index.d.ts +1 -1
  566. package/dist/core/shaders/Voronoi/index.d.ts.map +1 -1
  567. package/dist/core/shaders/Voronoi/index.js +4 -13
  568. package/dist/core/shaders/Voxels/index.d.ts +5 -5
  569. package/dist/core/shaders/Voxels/index.js +4 -14
  570. package/dist/core/shaders/Water/index.d.ts +3 -3
  571. package/dist/core/shaders/Water/index.js +4 -11
  572. package/dist/core/shaders/Watercolor/index.d.ts +1 -1
  573. package/dist/core/shaders/Watercolor/index.d.ts.map +1 -1
  574. package/dist/core/shaders/Watercolor/index.js +4 -10
  575. package/dist/core/shaders/WaveDistortion/index.js +4 -8
  576. package/dist/core/shaders/Waveform/index.js +4 -16
  577. package/dist/core/shaders/WaveletNoise/index.d.ts +1 -1
  578. package/dist/core/shaders/WaveletNoise/index.d.ts.map +1 -1
  579. package/dist/core/shaders/WaveletNoise/index.js +5 -14
  580. package/dist/core/shaders/Weave/index.d.ts +1 -1
  581. package/dist/core/shaders/Weave/index.d.ts.map +1 -1
  582. package/dist/core/shaders/Weave/index.js +4 -13
  583. package/dist/core/shaders/WebcamTexture/index.js +4 -6
  584. package/dist/core/shaders/Wool/index.d.ts +1 -1
  585. package/dist/core/shaders/Wool/index.d.ts.map +1 -1
  586. package/dist/core/shaders/Wool/index.js +4 -14
  587. package/dist/core/shaders/WorleyNoise/index.d.ts +1 -1
  588. package/dist/core/shaders/WorleyNoise/index.d.ts.map +1 -1
  589. package/dist/core/shaders/WorleyNoise/index.js +4 -13
  590. package/dist/core/shaders/ZoomBlur/index.d.ts +1 -1
  591. package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
  592. package/dist/core/shaders/ZoomBlur/index.js +4 -10
  593. package/dist/core/std/effects/blurs.d.ts +656 -138
  594. package/dist/core/std/effects/blurs.d.ts.map +1 -1
  595. package/dist/core/std/effects/color.d.ts +209 -32
  596. package/dist/core/std/effects/color.d.ts.map +1 -1
  597. package/dist/core/std/effects/edgeGlow.d.ts +86 -17
  598. package/dist/core/std/effects/edgeGlow.d.ts.map +1 -1
  599. package/dist/core/std/effects/fracture.d.ts +72 -8
  600. package/dist/core/std/effects/fracture.d.ts.map +1 -1
  601. package/dist/core/std/effects/index.d.ts +15 -0
  602. package/dist/core/std/effects/index.d.ts.map +1 -0
  603. package/dist/core/std/effects/instances.d.ts +87 -8
  604. package/dist/core/std/effects/instances.d.ts.map +1 -1
  605. package/dist/core/std/effects/lens.d.ts +48 -12
  606. package/dist/core/std/effects/lens.d.ts.map +1 -1
  607. package/dist/core/std/effects/overlay.d.ts +63 -22
  608. package/dist/core/std/effects/overlay.d.ts.map +1 -1
  609. package/dist/core/std/effects/pointerFields.d.ts +45 -20
  610. package/dist/core/std/effects/pointerFields.d.ts.map +1 -1
  611. package/dist/core/std/effects/reveal.d.ts +118 -40
  612. package/dist/core/std/effects/reveal.d.ts.map +1 -1
  613. package/dist/core/std/effects/stylize.d.ts +139 -70
  614. package/dist/core/std/effects/stylize.d.ts.map +1 -1
  615. package/dist/core/std/filter.d.ts +72 -12
  616. package/dist/core/std/filter.d.ts.map +1 -1
  617. package/dist/core/std/frames.d.ts +91 -24
  618. package/dist/core/std/frames.d.ts.map +1 -1
  619. package/dist/core/std/index.d.ts +46 -8
  620. package/dist/core/std/index.d.ts.map +1 -1
  621. package/dist/core/std/index.js +4 -0
  622. package/dist/core/std/invoke.d.ts +107 -12
  623. package/dist/core/std/invoke.d.ts.map +1 -1
  624. package/dist/core/std/lists.d.ts +40 -10
  625. package/dist/core/std/lists.d.ts.map +1 -1
  626. package/dist/core/std/lower.d.ts +73 -1
  627. package/dist/core/std/lower.d.ts.map +1 -1
  628. package/dist/core/std/mask.d.ts +60 -17
  629. package/dist/core/std/mask.d.ts.map +1 -1
  630. package/dist/core/std/math.d.ts +484 -9
  631. package/dist/core/std/math.d.ts.map +1 -1
  632. package/dist/core/std/motion.d.ts +130 -10
  633. package/dist/core/std/motion.d.ts.map +1 -1
  634. package/dist/core/std/paint/compose.d.ts +57 -16
  635. package/dist/core/std/paint/compose.d.ts.map +1 -1
  636. package/dist/core/std/paint/fields.d.ts +378 -95
  637. package/dist/core/std/paint/fields.d.ts.map +1 -1
  638. package/dist/core/std/paint/figures.d.ts +32 -17
  639. package/dist/core/std/paint/figures.d.ts.map +1 -1
  640. package/dist/core/std/paint/gradients.d.ts +58 -25
  641. package/dist/core/std/paint/gradients.d.ts.map +1 -1
  642. package/dist/core/std/paint/light.d.ts +501 -77
  643. package/dist/core/std/paint/light.d.ts.map +1 -1
  644. package/dist/core/std/paint/materials.d.ts +678 -151
  645. package/dist/core/std/paint/materials.d.ts.map +1 -1
  646. package/dist/core/std/paint/media.d.ts +47 -32
  647. package/dist/core/std/paint/media.d.ts.map +1 -1
  648. package/dist/core/std/paint/noise.d.ts +436 -87
  649. package/dist/core/std/paint/noise.d.ts.map +1 -1
  650. package/dist/core/std/paint/patterns.d.ts +474 -92
  651. package/dist/core/std/paint/patterns.d.ts.map +1 -1
  652. package/dist/core/std/paint/radiance.d.ts +75 -29
  653. package/dist/core/std/paint/radiance.d.ts.map +1 -1
  654. package/dist/core/std/paint/volume.d.ts +68 -27
  655. package/dist/core/std/paint/volume.d.ts.map +1 -1
  656. package/dist/core/std/paint/voxels.d.ts +46 -26
  657. package/dist/core/std/paint/voxels.d.ts.map +1 -1
  658. package/dist/core/std/shape.d.ts +195 -1
  659. package/dist/core/std/shape.d.ts.map +1 -1
  660. package/dist/core/std/signal.d.ts +55 -15
  661. package/dist/core/std/signal.d.ts.map +1 -1
  662. package/dist/core/std/sim/agentForces.d.ts +441 -99
  663. package/dist/core/std/sim/agentForces.d.ts.map +1 -1
  664. package/dist/core/std/sim/agentFrame.d.ts +94 -20
  665. package/dist/core/std/sim/agentFrame.d.ts.map +1 -1
  666. package/dist/core/std/sim/agentRender.d.ts +187 -60
  667. package/dist/core/std/sim/agentRender.d.ts.map +1 -1
  668. package/dist/core/std/sim/agents.d.ts +99 -28
  669. package/dist/core/std/sim/agents.d.ts.map +1 -1
  670. package/dist/core/std/sim/feedback.d.ts +40 -19
  671. package/dist/core/std/sim/feedback.d.ts.map +1 -1
  672. package/dist/core/std/sim/fluids.d.ts +127 -63
  673. package/dist/core/std/sim/fluids.d.ts.map +1 -1
  674. package/dist/core/std/sim/grids.d.ts +200 -48
  675. package/dist/core/std/sim/grids.d.ts.map +1 -1
  676. package/dist/core/std/sim/index.d.ts +14 -0
  677. package/dist/core/std/sim/index.d.ts.map +1 -0
  678. package/dist/core/std/sim/shapeFields.d.ts +56 -0
  679. package/dist/core/std/sim/shapeFields.d.ts.map +1 -1
  680. package/dist/core/std/sim.d.ts +112 -10
  681. package/dist/core/std/sim.d.ts.map +1 -1
  682. package/dist/core/std/slots.d.ts +72 -6
  683. package/dist/core/std/slots.d.ts.map +1 -1
  684. package/dist/core/std/types.d.ts +97 -60
  685. package/dist/core/std/types.d.ts.map +1 -1
  686. package/dist/core/std/values.d.ts +33 -14
  687. package/dist/core/std/values.d.ts.map +1 -1
  688. package/dist/core/std/warps.d.ts +221 -76
  689. package/dist/core/std/warps.d.ts.map +1 -1
  690. package/dist/core/std/wgsl.d.ts +115 -0
  691. package/dist/core/std/wgsl.d.ts.map +1 -0
  692. package/dist/core/std-ClftfWpF.js +218889 -0
  693. package/dist/core/{support-GJphyuEe.js → support-D3W86vgR.js} +11 -1
  694. package/dist/core/telemetry/index.js +1 -1
  695. package/dist/core/utilities/colorStops.d.ts +2 -2
  696. package/dist/core/utilities/listProps.d.ts +2 -2
  697. package/dist/core/utilities/listProps.d.ts.map +1 -1
  698. package/dist/core/utilities/noiseColor.d.ts +3 -3
  699. package/dist/core/utilities/transformations/index.js +1 -1
  700. package/dist/js/bundle.js +182 -180
  701. package/dist/js/createShader.d.ts.map +1 -1
  702. package/dist/js/createShader.js +4 -3
  703. package/dist/js/types.d.ts +5 -0
  704. package/dist/js/types.d.ts.map +1 -1
  705. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  706. package/dist/js/utils/generatePresetCode.js +35 -22
  707. package/dist/react/CustomShader.js +178 -0
  708. package/dist/react/Preview.js +1 -0
  709. package/dist/react/Shader.js +1 -1
  710. package/dist/react/Sparkle.js +226 -0
  711. package/dist/react/bundle.js +178 -176
  712. package/dist/react/components/Sparkle.d.ts +41 -0
  713. package/dist/react/components/Sparkle.d.ts.map +1 -0
  714. package/dist/react/engine/CustomShader.d.ts +37 -0
  715. package/dist/react/engine/CustomShader.d.ts.map +1 -0
  716. package/dist/react/engine/Preview.d.ts.map +1 -1
  717. package/dist/react/index.d.ts +5 -0
  718. package/dist/react/index.d.ts.map +1 -1
  719. package/dist/react/index.js +4 -2
  720. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  721. package/dist/react/utils/generatePresetCode.js +35 -22
  722. package/dist/registry.js +410 -158
  723. package/dist/solid/components/Sparkle.d.ts +38 -0
  724. package/dist/solid/components/Sparkle.d.ts.map +1 -0
  725. package/dist/solid/components/Sparkle.js +232 -0
  726. package/dist/solid/engine/CustomShader.d.ts +35 -0
  727. package/dist/solid/engine/CustomShader.d.ts.map +1 -0
  728. package/dist/solid/engine/CustomShader.js +160 -0
  729. package/dist/solid/engine/Preview.d.ts.map +1 -1
  730. package/dist/solid/engine/Preview.js +319 -317
  731. package/dist/solid/engine/Shader.js +1 -1
  732. package/dist/solid/index.d.ts +5 -0
  733. package/dist/solid/index.d.ts.map +1 -1
  734. package/dist/solid/index.js +95 -86
  735. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  736. package/dist/solid/utils/generatePresetCode.js +35 -22
  737. package/dist/svelte/components/Sparkle.svelte.d.ts +28 -0
  738. package/dist/svelte/engine/CustomShader.svelte.d.ts +40 -0
  739. package/dist/svelte/index.d.ts +4 -0
  740. package/dist/svelte/index.js +1237 -877
  741. package/dist/svelte/source/components/Sparkle.svelte +352 -0
  742. package/dist/svelte/source/engine/CustomShader.svelte +216 -0
  743. package/dist/svelte/source/engine/Preview.svelte +5 -3
  744. package/dist/svelte/source/index.js +4 -0
  745. package/dist/svelte/utils/generatePresetCode.js +35 -22
  746. package/dist/vue/CustomShader.js +3 -0
  747. package/dist/vue/CustomShader.vue_vue_type_script_setup_true_lang.js +173 -0
  748. package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +2 -0
  749. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  750. package/dist/vue/Sparkle.js +3 -0
  751. package/dist/vue/Sparkle.vue_vue_type_script_setup_true_lang.js +233 -0
  752. package/dist/vue/components/Sparkle.vue.d.ts +63 -0
  753. package/dist/vue/components/Sparkle.vue.d.ts.map +1 -0
  754. package/dist/vue/index.d.ts +4 -0
  755. package/dist/vue/index.d.ts.map +1 -1
  756. package/dist/vue/index.js +4 -2
  757. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  758. package/dist/vue/utils/generatePresetCode.js +35 -22
  759. package/package.json +27 -2
  760. package/dist/core/Irradiance-B36wYze9.js +0 -4191
  761. package/dist/core/LightEdge-AFfkNhDP.js +0 -2339
  762. package/dist/core/Repeater-C5LILb_Y.js +0 -762
  763. package/dist/core/Shatter-Dz3sH2ON.js +0 -1479
  764. package/dist/core/Voxels-Ca-6rRrz.js +0 -8547
  765. package/dist/core/agents-CBSp2UK_.js +0 -15709
  766. package/dist/core/agents-DXoEcto0.js +0 -5357
  767. package/dist/core/blur-7yjVyMvI.js +0 -8015
  768. package/dist/core/blurs-d4B9aUyx.js +0 -1751
  769. package/dist/core/canvasRaster-DDBkrdY8.js +0 -80
  770. package/dist/core/color-Do6tU0ry.js +0 -3619
  771. package/dist/core/compose-Dkf3v-xS.js +0 -46
  772. package/dist/core/device-m0ud8-Fn.js +0 -10
  773. package/dist/core/feedback-Dro_hxd4.js +0 -46
  774. package/dist/core/fields-DgADOKsP.js +0 -475
  775. package/dist/core/figures-B3lUGP8u.js +0 -48
  776. package/dist/core/filter-BrhpSs3Z.js +0 -23
  777. package/dist/core/fluids-umEWgdvj.js +0 -226
  778. package/dist/core/fonts-BUXTd9qb.js +0 -59
  779. package/dist/core/frames-BLqt7oaW.js +0 -78
  780. package/dist/core/glass-ABppDbYG.js +0 -2532
  781. package/dist/core/gradientPaints-5HpJVNfb.js +0 -6564
  782. package/dist/core/gradients-CIxKrfME.js +0 -159
  783. package/dist/core/grids-Cv99xcJg.js +0 -151
  784. package/dist/core/lens-DJQNJKCW.js +0 -352
  785. package/dist/core/light-D3BIVkxy.js +0 -271
  786. package/dist/core/lightfields-DvrUaH_6.js +0 -2255
  787. package/dist/core/lower-Bd2jez_2.js +0 -49452
  788. package/dist/core/mask-CeSwL79Q.js +0 -28
  789. package/dist/core/materials-4Oqvm_9m.js +0 -2944
  790. package/dist/core/math-D864seEs.js +0 -56
  791. package/dist/core/media-DXUY3ltG.js +0 -832
  792. package/dist/core/mediaLifecycle-BTPb5i1-.js +0 -320
  793. package/dist/core/motionBlur-g_WSi2iq.js +0 -6766
  794. package/dist/core/noise-d7rmP9yc.js +0 -546
  795. package/dist/core/noisePaints-CfHcXL02.js +0 -3619
  796. package/dist/core/noiseStylize-CUrW_HiC.js +0 -65
  797. package/dist/core/overlay-D5w0585O.js +0 -4712
  798. package/dist/core/patterns-Bg8lSdqH.js +0 -9723
  799. package/dist/core/pointerFields-CRecZwuZ.js +0 -2339
  800. package/dist/core/porters-OTkIMOyl.js +0 -30201
  801. package/dist/core/reveal-CfaAg-rg.js +0 -1688
  802. package/dist/core/sdf3d-2AWC_wdn.js +0 -21082
  803. package/dist/core/shaderRegistry-BUvL8ZZS.js +0 -443
  804. package/dist/core/shape-CAkSlCi8.js +0 -20
  805. package/dist/core/shapePaints-Bg2UwCZo.js +0 -3354
  806. package/dist/core/signal-emJuvOI3.js +0 -34
  807. package/dist/core/slots-BqIef2iV.js +0 -32
  808. package/dist/core/stylize-DiuoSq16.js +0 -4541
  809. package/dist/core/tone-BKhfiOBn.js +0 -763
  810. package/dist/core/warpMaps-Y8xSo-QJ.js +0 -10773
  811. package/dist/core/warps-P5O3NWLe.js +0 -276
  812. /package/dist/core/{transformations-CzFmhZww.js → transformations-P50Uo_Ju.js} +0 -0
@@ -0,0 +1,352 @@
1
+ <script lang="ts">
2
+ import { getContext, setContext, onMount, onDestroy } from 'svelte';
3
+ import {
4
+ createGpuUniformsMap,
5
+ resolveBoundingBox,
6
+ type GpuUniformsMap,
7
+ type BlendMode,
8
+ type NodeMetadata,
9
+ type PropConfig,
10
+ type MaskConfig,
11
+ type PropDriver,
12
+ type TransformConfig,
13
+ type BoundingBoxConfig,
14
+ type LayoutConfig
15
+ } from '../../../core/index.js';
16
+ import {setColorSpaceMode} from '../../../core/utilities/transformations/index.js';
17
+
18
+ // @ts-ignore - this import is replaced at build time
19
+ import { componentDefinition, type ComponentProps } from '../../../core/shaders/Sparkle/index.js';
20
+
21
+ // Warn once per page load if this is an experimental component
22
+ let _experimentalWarnedOnce = false;
23
+ if ((componentDefinition as any).experimental && !_experimentalWarnedOnce) {
24
+ _experimentalWarnedOnce = true;
25
+ const _e = (componentDefinition as any).experimental;
26
+ console.info(`%c⚠ [Shaders] ${componentDefinition.name} is experimental: ${_e.message}`, 'color: #f59e0b; font-weight: bold');
27
+ }
28
+
29
+ /**
30
+ * Define component props including blend mode, opacity, visibility, masking, and transformation
31
+ */
32
+ interface ExtendedComponentProps extends Partial<ComponentProps> {
33
+ size?: ComponentProps['size'] | PropDriver;
34
+ intensity?: ComponentProps['intensity'] | PropDriver;
35
+ threshold?: ComponentProps['threshold'] | PropDriver;
36
+ expand?: ComponentProps['expand'] | PropDriver;
37
+ rayLength?: ComponentProps['rayLength'] | PropDriver;
38
+ colorize?: ComponentProps['colorize'] | PropDriver;
39
+ blendMode?: BlendMode;
40
+ opacity?: number;
41
+ visible?: boolean;
42
+ id?: string;
43
+ maskSource?: string;
44
+ maskType?: string;
45
+ renderOrder?: number;
46
+ transform?: Partial<TransformConfig>;
47
+ boundingBox?: Partial<BoundingBoxConfig>;
48
+ flow?: LayoutConfig;
49
+ absolute?: boolean;
50
+ children?: import('svelte').Snippet;
51
+ }
52
+
53
+ function isPropDriver(value: unknown): value is PropDriver {
54
+ return typeof value === 'object' && value !== null && 'type' in value &&
55
+ ((value as any).type === 'map' || (value as any).type === 'mouse' || (value as any).type === 'mouse-position' || (value as any).type === 'auto-animate');
56
+ }
57
+
58
+ /**
59
+ * Default transform configuration (optimized for zero overhead)
60
+ */
61
+ const DEFAULT_TRANSFORM: TransformConfig = {
62
+ offsetX: 0,
63
+ offsetY: 0,
64
+ rotation: 0,
65
+ scale: 1,
66
+ anchorX: 0.5,
67
+ anchorY: 0.5,
68
+ edges: 'transparent'
69
+ };
70
+
71
+ // Define the component props and their default values from the shader definition
72
+ const componentDefaults = {
73
+ blendMode: 'normal' as BlendMode,
74
+ visible: true,
75
+ // opacity intentionally has no default - handled by renderer
76
+ // transform intentionally has no default - handled by effectiveTransform
77
+ ...Object.entries(componentDefinition.props).reduce(
78
+ (acc, [key, config]) => {
79
+ acc[key] = (config as unknown as PropConfig<typeof config>).default;
80
+ return acc;
81
+ },
82
+ {} as Record<string, any>
83
+ )
84
+ };
85
+
86
+ // Declare props using Svelte 5's syntax
87
+ const props: ExtendedComponentProps = $props();
88
+
89
+ // Apply defaults manually since Svelte 5 doesn't have withDefaults equivalent
90
+ // Use $derived so the metadata $effect re-runs when any of these change at runtime
91
+ const blendMode = $derived(props.blendMode ?? componentDefaults.blendMode);
92
+ const opacity = $derived(props.opacity); // No default - handled by renderer
93
+ const visible = $derived(props.visible ?? componentDefaults.visible); // Default to true
94
+ const id = $derived(props.id);
95
+ const maskSource = $derived(props.maskSource);
96
+ const maskType = $derived(props.maskType);
97
+ const renderOrder = $derived(props.renderOrder);
98
+ const { children } = props;
99
+
100
+ // Collect PropDriver values from shader props into the maps metadata structure
101
+ const mapsFromProps = $derived.by(() => {
102
+ const maps: Record<string, PropDriver> = {};
103
+ for (const key of Object.keys(componentDefinition.props)) {
104
+ const val = (props as any)[key];
105
+ if (isPropDriver(val)) maps[key] = val as PropDriver;
106
+ }
107
+ return Object.keys(maps).length > 0 ? maps : undefined;
108
+ });
109
+
110
+ /**
111
+ * Computed transform that merges user-provided values with defaults
112
+ */
113
+ const effectiveTransform = $derived({
114
+ ...DEFAULT_TRANSFORM,
115
+ ...props.transform
116
+ });
117
+
118
+ /**
119
+ * Effective bounding box — partial configs merge with full-frame defaults,
120
+ * absent stays undefined so the bbox render path is not activated
121
+ */
122
+ const effectiveBoundingBox = $derived(resolveBoundingBox(props.boundingBox));
123
+
124
+ /**
125
+ * FIRST: Get the parent ID from context BEFORE setting our own context
126
+ */
127
+ const parentId = getContext<string>('shaderParentId');
128
+ if (parentId === undefined) {
129
+ throw new Error('Shader components must be used inside an <Shader> component or another shader component');
130
+ }
131
+
132
+ /**
133
+ * Use the provided ID or generate a unique identifier for this component instance
134
+ */
135
+ const instanceId = (id ? id.replace(/[^a-zA-Z0-9_]/g, '_') : null) || Math.random().toString(36).substring(2, 10);
136
+
137
+ /**
138
+ * THEN: Provide our unique identifier to child components
139
+ */
140
+ setContext('shaderParentId', instanceId);
141
+
142
+ /**
143
+ * Creates a non-reactive object containing only props that differ from defaults
144
+ * This optimization prevents unnecessary GPU uniform updates for unchanged values
145
+ * Special props like blendMode and opacity are handled separately
146
+ */
147
+ const shaderReadyProps = $derived.by(() => {
148
+ let baseProps = { ...componentDefaults };
149
+
150
+ // Only include props that differ from defaults (excluding special props and PropDrivers)
151
+ for (const key in props) {
152
+ if (key !== 'blendMode' && key !== 'opacity' && key !== 'visible' &&
153
+ key !== 'id' && key !== 'maskSource' && key !== 'maskType' && key !== 'renderOrder' &&
154
+ key !== 'transform' && key !== 'boundingBox' && key !== 'flow' && key !== 'absolute' && key !== 'children') {
155
+ const propValue = (props as any)[key];
156
+ if (isPropDriver(propValue)) continue; // PropDrivers go to metadata.maps, not uniforms
157
+ const defaultValue = (componentDefaults as any)[key];
158
+ if (propValue !== undefined && propValue !== defaultValue) {
159
+ (baseProps as any)[key] = propValue;
160
+ }
161
+ }
162
+ }
163
+ return baseProps;
164
+ });
165
+
166
+ /**
167
+ * Get the color space from the root Shader component.
168
+ * Used to set the global color space mode before creating uniforms.
169
+ */
170
+ const shaderColorSpace = getContext<() => 'p3-linear' | 'srgb'>('shaderColorSpace');
171
+
172
+ /**
173
+ * Creates the GPU uniform values map using only the changed props
174
+ * Set the global color space mode before creating uniforms so colors are transformed correctly
175
+ * Note: Intentionally captures initial value - props are immutable after initialization
176
+ */
177
+ if (shaderColorSpace) {
178
+ setColorSpaceMode(shaderColorSpace());
179
+ }
180
+ // svelte-ignore state_referenced_locally
181
+ const uniforms: GpuUniformsMap = createGpuUniformsMap(componentDefinition, shaderReadyProps, instanceId);
182
+
183
+ /**
184
+ * Get the node registration function from parent context
185
+ */
186
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: GpuUniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
187
+ if (parentRegister === undefined) {
188
+ throw new Error('Shader components must be used inside an <Shader> component or another shader component');
189
+ }
190
+
191
+ /**
192
+ * Get the uniform update function from parent context
193
+ */
194
+ const parentUniformUpdate = getContext<(nodeId: string, uniformName: string, value: any) => void>('shaderUniformUpdate');
195
+ if (parentUniformUpdate === undefined) {
196
+ throw new Error('Shader components require shaderUniformUpdate from parent');
197
+ }
198
+
199
+ /**
200
+ * Get the metadata update function from parent context
201
+ */
202
+ const parentMetadataUpdate = getContext<(nodeId: string, metadata: NodeMetadata) => void>('shaderMetadataUpdate');
203
+ if (parentMetadataUpdate === undefined) {
204
+ throw new Error('Shader components require shaderMetadataUpdate from parent');
205
+ }
206
+
207
+ // capturesDOM — canvas layoutsubtree portal for HTMLInCanvas-style shaders
208
+ const isCapturesDOM = !!(componentDefinition as any).capturesDOM;
209
+ let captureCanvas: HTMLCanvasElement | undefined;
210
+ let captureW = $state(typeof window !== 'undefined' ? Math.round(window.innerWidth * Math.min(window.devicePixelRatio, 2)) : 0);
211
+ let captureH = $state(typeof window !== 'undefined' ? Math.round(window.innerHeight * Math.min(window.devicePixelRatio, 2)) : 0);
212
+
213
+ function teleportToBody(node: HTMLElement) {
214
+ document.body.appendChild(node);
215
+ return { destroy() { node.remove(); } };
216
+ }
217
+
218
+ if (isCapturesDOM) {
219
+ const onWinResize = () => {
220
+ const d = Math.min(window.devicePixelRatio, 2);
221
+ captureW = Math.round(window.innerWidth * d);
222
+ captureH = Math.round(window.innerHeight * d);
223
+ };
224
+ onMount(() => { window.addEventListener('resize', onWinResize); });
225
+ onDestroy(() => { window.removeEventListener('resize', onWinResize); });
226
+ }
227
+
228
+ // DOM marker ref for determining render order from template position
229
+ let orderMarker: HTMLSpanElement;
230
+
231
+ // Stores the DOM-detected render order
232
+ let detectedRenderOrder: number | undefined = undefined;
233
+
234
+ // Flag to track when component is registered
235
+ let isRegistered = $state(false);
236
+
237
+ // Setup uniform watchers with registration guard
238
+ Object.entries(uniforms).forEach(([propName, entry]) => {
239
+ $effect(() => {
240
+ // Only run after component is registered
241
+ if (!isRegistered) return;
242
+
243
+ // GPU bridge entries carry `.value` (no v1 `.uniform` node). colorStops expands into
244
+ // extra array fields (colorsArray/…) that aren't component props — their `props[name]`
245
+ // is always undefined, so the guard below skips them.
246
+ if (entry && entry.value !== undefined) {
247
+ const newValue = (props as any)[propName];
248
+ if (newValue !== undefined && !isPropDriver(newValue)) {
249
+ // Send raw value - renderer will handle transformation
250
+ // PropDriver values go to metadata.maps, not uniforms
251
+ parentUniformUpdate(instanceId, propName, newValue);
252
+ }
253
+ }
254
+ });
255
+ });
256
+
257
+ // Watch blend mode, opacity, visibility, masking, transformations, and prop maps changes
258
+ $effect(() => {
259
+ // Only run after component is registered
260
+ if (!isRegistered) return;
261
+
262
+ const metadata: NodeMetadata = {
263
+ blendMode,
264
+ opacity,
265
+ visible: visible === false ? false : true,
266
+ id,
267
+ mask: maskSource ? {
268
+ source: maskSource,
269
+ type: (maskType || 'alpha') as MaskConfig['type']
270
+ } : undefined,
271
+ maps: mapsFromProps,
272
+ renderOrder: renderOrder ?? detectedRenderOrder,
273
+ transform: effectiveTransform,
274
+ boundingBox: effectiveBoundingBox,
275
+ flow: props.flow,
276
+ absolute: props.absolute
277
+ };
278
+ parentMetadataUpdate(instanceId, metadata);
279
+ });
280
+
281
+ // Register this component after mount to ensure parent is ready
282
+ onMount(() => {
283
+ // Register this component with safety check
284
+ if (componentDefinition && typeof componentDefinition.fragment === 'function') {
285
+ parentRegister(
286
+ instanceId,
287
+ componentDefinition.fragment,
288
+ parentId,
289
+ {
290
+ blendMode,
291
+ opacity,
292
+ visible: visible !== false ? true : false,
293
+ id,
294
+ mask: maskSource ? {
295
+ source: maskSource,
296
+ type: (maskType || 'alpha') as MaskConfig['type']
297
+ } as MaskConfig : undefined,
298
+ maps: mapsFromProps,
299
+ renderOrder: renderOrder ?? detectedRenderOrder,
300
+ transform: effectiveTransform,
301
+ boundingBox: effectiveBoundingBox,
302
+ flow: props.flow,
303
+ absolute: props.absolute
304
+ },
305
+ uniforms,
306
+ componentDefinition,
307
+ isCapturesDOM ? captureCanvas : undefined
308
+ );
309
+
310
+ // Set flag to enable effects after successful registration
311
+ isRegistered = true;
312
+
313
+ // Detect DOM position for correct render ordering
314
+ if (renderOrder === undefined && orderMarker) {
315
+ const parent = orderMarker.parentElement;
316
+ if (parent) {
317
+ const siblings = parent.querySelectorAll(':scope > [data-shader-id]');
318
+ const position = Array.from(siblings).indexOf(orderMarker);
319
+ if (position >= 0) {
320
+ detectedRenderOrder = position;
321
+ parentMetadataUpdate(instanceId, { renderOrder: position } as NodeMetadata);
322
+ }
323
+ }
324
+ }
325
+ } else {
326
+ console.error('componentDefinition.fragment is not a function:', {
327
+ componentDefinition,
328
+ fragment: componentDefinition?.fragment,
329
+ type: typeof componentDefinition?.fragment
330
+ });
331
+ }
332
+ });
333
+
334
+ // Clean up node from registry when component is unmounted
335
+ onDestroy(() => {
336
+ isRegistered = false;
337
+ parentRegister(instanceId, null, null, null, null);
338
+ });
339
+ </script>
340
+
341
+ <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
342
+ {#if !isCapturesDOM}
343
+ {@render children?.()}
344
+ {/if}
345
+ </span>
346
+ {#if isCapturesDOM}
347
+ <canvas use:teleportToBody bind:this={captureCanvas} layoutsubtree
348
+ width={captureW} height={captureH}
349
+ style="position:fixed;inset:0;width:100vw;height:100vh;z-index:-9999">
350
+ {@render children?.()}
351
+ </canvas>
352
+ {/if}
@@ -0,0 +1,216 @@
1
+ <script lang="ts" generics="T extends Record<string, any> = Record<string, any>">
2
+ /**
3
+ * <CustomShader src={definition} …props />
4
+ *
5
+ * Mounts a user-defined shader (a `defineShader` result from `shaders/std`) as a node in
6
+ * the shader tree — the same registration, uniform bridge, metadata and child slot the
7
+ * generated library components use, with the definition supplied at runtime instead of
8
+ * imported at build time. Shader props are passed as ordinary props, typed from the
9
+ * definition.
10
+ *
11
+ * Swapping `src` for a new definition object re-registers the node in place (children
12
+ * stay attached); the definition's `revision` makes the renderer recompose.
13
+ */
14
+ import { getContext, setContext, onMount, onDestroy, untrack } from 'svelte';
15
+ import {
16
+ createGpuUniformsMap,
17
+ resolveBoundingBox,
18
+ registerShader,
19
+ type GpuShaderDefinition,
20
+ type GpuUniformsMap,
21
+ type BlendMode,
22
+ type NodeMetadata,
23
+ type PropConfig,
24
+ type MaskConfig,
25
+ type PropDriver,
26
+ type TransformConfig,
27
+ type BoundingBoxConfig,
28
+ type LayoutConfig
29
+ } from '../../../core/index.js';
30
+ import {setColorSpaceMode} from '../../../core/utilities/transformations/index.js';
31
+
32
+ type Props = {
33
+ /** The shader definition (`defineShader({...})`). */
34
+ src: GpuShaderDefinition<T>;
35
+ blendMode?: BlendMode;
36
+ opacity?: number;
37
+ visible?: boolean;
38
+ id?: string;
39
+ maskSource?: string;
40
+ maskType?: string;
41
+ renderOrder?: number;
42
+ transform?: Partial<TransformConfig>;
43
+ boundingBox?: Partial<BoundingBoxConfig>;
44
+ flow?: LayoutConfig;
45
+ absolute?: boolean;
46
+ children?: import('svelte').Snippet;
47
+ } & {
48
+ [K in keyof T]?: T[K] | PropDriver;
49
+ };
50
+
51
+ function isPropDriver(value: unknown): value is PropDriver {
52
+ return typeof value === 'object' && value !== null && 'type' in value &&
53
+ ((value as any).type === 'map' || (value as any).type === 'mouse' || (value as any).type === 'mouse-position' || (value as any).type === 'auto-animate');
54
+ }
55
+
56
+ const DEFAULT_TRANSFORM: TransformConfig = {
57
+ offsetX: 0,
58
+ offsetY: 0,
59
+ rotation: 0,
60
+ scale: 1,
61
+ anchorX: 0.5,
62
+ anchorY: 0.5,
63
+ edges: 'transparent'
64
+ };
65
+
66
+ const {
67
+ src,
68
+ blendMode = 'normal',
69
+ opacity,
70
+ visible = true,
71
+ id,
72
+ maskSource,
73
+ maskType,
74
+ renderOrder,
75
+ transform,
76
+ boundingBox,
77
+ flow,
78
+ absolute,
79
+ children,
80
+ ...shaderProps
81
+ }: Props = $props();
82
+
83
+ /** The definition's props → their current authored values (props over defaults), drivers included. */
84
+ function readShaderProps(definition: GpuShaderDefinition<any>): Record<string, unknown> {
85
+ const out: Record<string, unknown> = {};
86
+ for (const [key, config] of Object.entries(definition.props as Record<string, PropConfig<unknown>>)) {
87
+ const value = (shaderProps as Record<string, unknown>)[key];
88
+ out[key] = value === undefined ? config.default : value;
89
+ }
90
+ return out;
91
+ }
92
+
93
+ function uniformValues(definition: GpuShaderDefinition<any>, values: Record<string, unknown>): Record<string, unknown> {
94
+ const out: Record<string, unknown> = {};
95
+ for (const [key, value] of Object.entries(values)) {
96
+ out[key] = isPropDriver(value) ? (definition.props as Record<string, PropConfig<unknown>>)[key]?.default : value;
97
+ }
98
+ return out;
99
+ }
100
+
101
+ function mapsOf(values: Record<string, unknown>): Record<string, PropDriver> | undefined {
102
+ const maps: Record<string, PropDriver> = {};
103
+ for (const [key, value] of Object.entries(values)) if (isPropDriver(value)) maps[key] = value;
104
+ return Object.keys(maps).length > 0 ? maps : undefined;
105
+ }
106
+
107
+ const effectiveTransform = $derived({...DEFAULT_TRANSFORM, ...transform});
108
+ const effectiveBoundingBox = $derived(resolveBoundingBox(boundingBox));
109
+
110
+ const parentId = getContext<string>('shaderParentId');
111
+ if (parentId === undefined) {
112
+ throw new Error('<CustomShader> must be used inside a <Shader> component or another shader component');
113
+ }
114
+ // svelte-ignore state_referenced_locally
115
+ const instanceId = (id ? id.replace(/[^a-zA-Z0-9_]/g, '_') : null) || Math.random().toString(36).substring(2, 10);
116
+ setContext('shaderParentId', instanceId);
117
+
118
+ const shaderColorSpace = getContext<() => 'p3-linear' | 'srgb'>('shaderColorSpace');
119
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: GpuUniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
120
+ const parentUniformUpdate = getContext<(nodeId: string, uniformName: string, value: any) => void>('shaderUniformUpdate');
121
+ const parentMetadataUpdate = getContext<(nodeId: string, metadata: NodeMetadata) => void>('shaderMetadataUpdate');
122
+ if (!parentRegister || !parentUniformUpdate || !parentMetadataUpdate) {
123
+ throw new Error('<CustomShader> must be used inside a <Shader> component or another shader component');
124
+ }
125
+
126
+ let orderMarker: HTMLSpanElement;
127
+ let detectedRenderOrder: number | undefined = undefined;
128
+ let isRegistered = $state(false);
129
+ let definition: GpuShaderDefinition<any> | null = null;
130
+ let uniforms: GpuUniformsMap | null = null;
131
+ let lastValues: Record<string, unknown> = {};
132
+
133
+ function metadata(values: Record<string, unknown>): NodeMetadata {
134
+ return {
135
+ blendMode,
136
+ opacity,
137
+ visible: visible === false ? false : true,
138
+ id,
139
+ mask: maskSource ? {source: maskSource, type: (maskType || 'alpha') as MaskConfig['type']} : undefined,
140
+ maps: mapsOf(values),
141
+ renderOrder: renderOrder ?? detectedRenderOrder,
142
+ transform: effectiveTransform,
143
+ boundingBox: effectiveBoundingBox,
144
+ flow,
145
+ absolute
146
+ } as NodeMetadata;
147
+ }
148
+
149
+ function register(next: GpuShaderDefinition<any>) {
150
+ if (!next || typeof next.fragment !== 'function') {
151
+ console.error('<CustomShader> needs a `src` shader definition (the result of defineShader())');
152
+ return;
153
+ }
154
+ definition = next;
155
+ const values = readShaderProps(next);
156
+ if (shaderColorSpace) setColorSpaceMode(shaderColorSpace());
157
+ uniforms = createGpuUniformsMap(next as any, uniformValues(next, values), instanceId);
158
+ lastValues = values;
159
+ registerShader(next);
160
+ parentRegister(instanceId, next.fragment, parentId, metadata(values), uniforms, next);
161
+ isRegistered = true;
162
+ }
163
+
164
+ // Register on mount and again whenever a NEW definition object arrives (same node id).
165
+ $effect(() => {
166
+ const next = src;
167
+ untrack(() => register(next));
168
+ });
169
+
170
+ // Forward changed shader-prop values as uniform updates (drivers → metadata).
171
+ $effect(() => {
172
+ if (!isRegistered || !definition || !uniforms) return;
173
+ const values = readShaderProps(definition);
174
+ untrack(() => {
175
+ let mapsChanged = false;
176
+ for (const [key, value] of Object.entries(values)) {
177
+ const prev = lastValues[key];
178
+ if (value === prev) continue;
179
+ if (isPropDriver(value) || isPropDriver(prev)) mapsChanged = true;
180
+ else if (uniforms![key] && uniforms![key].value !== undefined) parentUniformUpdate(instanceId, key, value);
181
+ }
182
+ lastValues = values;
183
+ if (mapsChanged) parentMetadataUpdate(instanceId, metadata(values));
184
+ });
185
+ });
186
+
187
+ // Layer metadata (blend, opacity, masks, transform).
188
+ $effect(() => {
189
+ const next = metadata(lastValues);
190
+ if (!isRegistered) return;
191
+ parentMetadataUpdate(instanceId, next);
192
+ });
193
+
194
+ onMount(() => {
195
+ if (renderOrder === undefined && orderMarker) {
196
+ const parent = orderMarker.parentElement;
197
+ if (parent) {
198
+ const siblings = parent.querySelectorAll(':scope > [data-shader-id]');
199
+ const position = Array.from(siblings).indexOf(orderMarker);
200
+ if (position >= 0) {
201
+ detectedRenderOrder = position;
202
+ parentMetadataUpdate(instanceId, { renderOrder: position } as NodeMetadata);
203
+ }
204
+ }
205
+ }
206
+ });
207
+
208
+ onDestroy(() => {
209
+ isRegistered = false;
210
+ parentRegister(instanceId, null, null, null, null, null);
211
+ });
212
+ </script>
213
+
214
+ <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
215
+ {@render children?.()}
216
+ </span>
@@ -163,6 +163,7 @@ import SmokeFill from '../components/SmokeFill.svelte'
163
163
  import SmokeFlow from '../components/SmokeFlow.svelte'
164
164
  import Solarize from '../components/Solarize.svelte'
165
165
  import SolidColor from '../components/SolidColor.svelte'
166
+ import Sparkle from '../components/Sparkle.svelte'
166
167
  import Spherize from '../components/Spherize.svelte'
167
168
  import Spiral from '../components/Spiral.svelte'
168
169
  import Star from '../components/Star.svelte'
@@ -366,6 +367,7 @@ const componentMap: Record<string, any> = {
366
367
  SmokeFlow,
367
368
  Solarize,
368
369
  SolidColor,
370
+ Sparkle,
369
371
  Spherize,
370
372
  Spiral,
371
373
  Star,
@@ -496,9 +498,9 @@ function fetchAndDecode(url: string, key: string): Promise<FetchResult> {
496
498
  }
497
499
 
498
500
  // --- Configuration apply ---
499
- // Source of truth: dotcom/utils/keyPropsIdentifier.ts. Inlined per framework
500
- // because the build pipeline copies framework dist into the published npm
501
- // package and won't carry a cross-package import.
501
+ // Mirrors the key-prop identification the design editor uses when it saves a
502
+ // preset. Inlined per framework because the build copies each framework dist
503
+ // into the published npm package and won't carry a cross-package import.
502
504
 
503
505
  const RESERVED_IDENTIFIERS = new Set([
504
506
  'break', 'case', 'catch', 'class', 'const', 'continue', 'default',
@@ -158,6 +158,7 @@ export { default as SmokeFill } from './components/SmokeFill.svelte';
158
158
  export { default as SmokeFlow } from './components/SmokeFlow.svelte';
159
159
  export { default as Solarize } from './components/Solarize.svelte';
160
160
  export { default as SolidColor } from './components/SolidColor.svelte';
161
+ export { default as Sparkle } from './components/Sparkle.svelte';
161
162
  export { default as Spherize } from './components/Spherize.svelte';
162
163
  export { default as Spiral } from './components/Spiral.svelte';
163
164
  export { default as Star } from './components/Star.svelte';
@@ -200,4 +201,7 @@ export { default as WorleyNoise } from './components/WorleyNoise.svelte';
200
201
  export { default as ZoomBlur } from './components/ZoomBlur.svelte';
201
202
  export { default as Shader } from './engine/Shader.svelte';
202
203
  export { default as Preview } from './engine/Preview.svelte';
204
+ export { default as CustomShader } from './engine/CustomShader.svelte';
203
205
  export { isWebGPUSupported, getWebGPUSupport, setShadersDebug, isShadersDebug } from '../../core/index.js';
206
+
207
+ export { registerShader, unregisterShader, getRegisteredShader, getRegisteredShaders, onShaderRegistered } from '../../core/index.js';