shaders 3.2.475 → 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 (753) 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-Cx1HVeYk.js → AngularBlur-BEBs-lRR.js} +2 -3
  5. package/dist/core/{Arc-D3FuqnDL.js → Arc-D-WnjM7T.js} +1 -3
  6. package/dist/core/{Ascii-Dhn0H0LB.js → Ascii-BGPIwMc3.js} +2 -5
  7. package/dist/core/{Aurora-BUfyvIyq.js → Aurora-DqJBPdMQ.js} +2 -11
  8. package/dist/core/{BarShift-v3D-9Lx4.js → BarShift-BcCOweUh.js} +2 -3
  9. package/dist/core/{BarnDoors-C5g6Sbze.js → BarnDoors-B9B-AmCV.js} +2 -3
  10. package/dist/core/{Beam-CV5g8m92.js → Beam-QG_9OS8I.js} +2 -3
  11. package/dist/core/{Bend-BFWQSHF7.js → Bend-Cy9VAowL.js} +1 -2
  12. package/dist/core/{Blob-CLvqov4O.js → Blob-C3txJeW0.js} +2 -10
  13. package/dist/core/{BlockDissolve-DER9y4PE.js → BlockDissolve-C1SFUys7.js} +2 -3
  14. package/dist/core/{BlockNoise-DpXWJkDL.js → BlockNoise-Cm3y8hce.js} +2 -4
  15. package/dist/core/{BlueNoise-CSQPDpkm.js → BlueNoise-BCLObOMm.js} +2 -4
  16. package/dist/core/{Blur-B-Tg7Sfr.js → Blur-Dg29SnXd.js} +1 -2
  17. package/dist/core/{Boids-BZo85-QR.js → Boids-rsGsPN5h.js} +2 -5
  18. package/dist/core/{BokehBlur-B1tY-T6q.js → BokehBlur-rFSFEnb0.js} +2 -3
  19. package/dist/core/{BrickPattern-DVhe3RgK.js → BrickPattern-DqN6JKEN.js} +2 -3
  20. package/dist/core/{BrightnessContrast-DBLjHzyE.js → BrightnessContrast-J9fCSBiC.js} +1 -3
  21. package/dist/core/{BrushedMetal-CpXTd3nZ.js → BrushedMetal-74wSZKjG.js} +3 -8
  22. package/dist/core/{Bulge-CHcE-9Oo.js → Bulge-BIk0oq8j.js} +1 -2
  23. package/dist/core/{CRTScreen-CyBtBJS4.js → CRTScreen-hEH-JNRd.js} +2 -3
  24. package/dist/core/{CarbonFiber-DK-0jUEs.js → CarbonFiber-CZdUDvRU.js} +3 -7
  25. package/dist/core/{Chalkboard-PmgH_OhS.js → Chalkboard-CClJHqvs.js} +2 -3
  26. package/dist/core/{ChannelBlur-J3MHHcGy.js → ChannelBlur-BEuEwQOC.js} +1 -2
  27. package/dist/core/{CheckerWipe-Dj2kjjDA.js → CheckerWipe-KuAWj2qg.js} +2 -3
  28. package/dist/core/{Checkerboard-eFWETR1S.js → Checkerboard-Rq9ze1W3.js} +2 -3
  29. package/dist/core/{Chevron-ColsT0Fy.js → Chevron-C1j6X2Ye.js} +2 -3
  30. package/dist/core/{ChromaFlow-DrdCgPGz.js → ChromaFlow-BgsCUYIl.js} +2 -5
  31. package/dist/core/{ChromaticAberration-C_It6mLf.js → ChromaticAberration-2_4tjQ0u.js} +2 -4
  32. package/dist/core/{Chrome-2WZpUHiT.js → Chrome-Be3z6C5i.js} +4 -10
  33. package/dist/core/{Circle-C-AKxSw4.js → Circle-e_qQI3tU.js} +1 -3
  34. package/dist/core/{ColorWheel-DfF0tqXE.js → ColorWheel-s5ep1H7d.js} +2 -3
  35. package/dist/core/{CompressionArtifacts-Zvwlutd7.js → CompressionArtifacts-OE9U9Qrq.js} +1 -3
  36. package/dist/core/{ConcentricSpin-tC8mylMA.js → ConcentricSpin-CLE_5yCJ.js} +1 -2
  37. package/dist/core/{ConicGradient-CNYvyjSs.js → ConicGradient-Cji2SgVO.js} +2 -4
  38. package/dist/core/{ContourLines-C4642NJd.js → ContourLines-wpPK00cF.js} +2 -3
  39. package/dist/core/{CornerPin-BF5gFRv9.js → CornerPin-gYU0Uf2m.js} +2 -3
  40. package/dist/core/{Crescent-wC0IwPjx.js → Crescent-viNc7Unp.js} +1 -2
  41. package/dist/core/{Cross-BO7JQKSq.js → Cross-DyQSsw_k.js} +1 -2
  42. package/dist/core/{Crystal-BK3ifbmV.js → Crystal-Vjj8azWg.js} +4 -9
  43. package/dist/core/{CurlNoise-UbI-Zda_.js → CurlNoise-C7PHjDht.js} +2 -4
  44. package/dist/core/{CursorRipples-rJlfKhyh.js → CursorRipples-BzPPNkA3.js} +3 -39
  45. package/dist/core/{CursorTrail-BuyQdFKJ.js → CursorTrail-cBj0AuQA.js} +2 -4
  46. package/dist/core/{DataMosh-C_ZI55Qq.js → DataMosh-5Yr9TyVx.js} +1 -3
  47. package/dist/core/{DiamondGradient-CPhUCUoq.js → DiamondGradient-DZM7HwF5.js} +2 -4
  48. package/dist/core/{DiamondWipe-y6uIpJM4.js → DiamondWipe-CqeT7lCt.js} +2 -3
  49. package/dist/core/{DiffuseBlur-BNxowfOL.js → DiffuseBlur-Y5hSDTZF.js} +2 -3
  50. package/dist/core/{DisplacementMap-BuM2b1nC.js → DisplacementMap-FobRx5Ie.js} +2 -3
  51. package/dist/core/{Dither-Bt1qdRag.js → Dither-50rqHpt9.js} +2 -3
  52. package/dist/core/{DotGrid-DJFnwMVS.js → DotGrid-B6AGLUbR.js} +3 -4
  53. package/dist/core/{DropShadow-C-IfgfyH.js → DropShadow-CEPpgatB.js} +2 -3
  54. package/dist/core/{Duotone-DML_9JhJ.js → Duotone-D76Kp7Pb.js} +2 -3
  55. package/dist/core/{Ellipse-BuNUnN8D.js → Ellipse-BGod1LeG.js} +1 -2
  56. package/dist/core/{Emboss-DvKk4zwp.js → Emboss-DMNFb_ww.js} +3 -6
  57. package/dist/core/{Engraving-DPFVnIjD.js → Engraving-Dj7bCATQ.js} +2 -3
  58. package/dist/core/{ErosionNoise-j_b7a5cl.js → ErosionNoise-4O68wJQZ.js} +2 -4
  59. package/dist/core/{Exposure-DALA5K55.js → Exposure-h-vapOpj.js} +1 -3
  60. package/dist/core/{FallingLines-CeMOKpxK.js → FallingLines-Dzop_89k.js} +2 -3
  61. package/dist/core/{FilmGrain-DsDYCjjs.js → FilmGrain-Bs8PCfdf.js} +1 -3
  62. package/dist/core/{FilmStock-DtDMkwF6.js → FilmStock-DBjVo6rL.js} +1 -4
  63. package/dist/core/{Flip-B9Av9MVn.js → Flip-CfrS4KfZ.js} +2 -3
  64. package/dist/core/{FloatingParticles-BcMOBX1m.js → FloatingParticles-D1R2tD2J.js} +2 -5
  65. package/dist/core/{FlowField-BunLIU80.js → FlowField-Slirm5AI.js} +2 -3
  66. package/dist/core/{Flower-CvqBYUCU.js → Flower-Ddlut7QZ.js} +1 -2
  67. package/dist/core/{FlowingGradient-DQ284uMb.js → FlowingGradient-CwIgTtbj.js} +2 -7
  68. package/dist/core/{FlutedGlass-BP7av96Y.js → FlutedGlass-CMMy2GJ5.js} +2 -4
  69. package/dist/core/{Fog-DyyljY9e.js → Fog-DjjUkcTZ.js} +2 -4
  70. package/dist/core/{Form3D-x-G-Lz4z.js → Form3D-DQDOHWpC.js} +2 -4
  71. package/dist/core/{FractalNoise-DTgEv-Hq.js → FractalNoise-BjI3IOIj.js} +2 -4
  72. package/dist/core/{Frost-BhMELsXw.js → Frost-CK12HnL1.js} +3 -8
  73. package/dist/core/{GaborNoise-B7kmxcRZ.js → GaborNoise-DKEIvvRJ.js} +3 -5
  74. package/dist/core/{Glass-BMCOKCUL.js → Glass-CzcOVD5Y.js} +3 -8
  75. package/dist/core/{GlassTiles-DgVooh8h.js → GlassTiles-gjhc563g.js} +1 -2
  76. package/dist/core/{Glitch-D0pvMdGd.js → Glitch-C_XAWltC.js} +1 -2
  77. package/dist/core/{Glow-CJ3i0al6.js → Glow-CrYCanBI.js} +1 -3
  78. package/dist/core/{Godrays-DOV1VQ9x.js → Godrays-BBTMOVLP.js} +2 -3
  79. package/dist/core/{Goo-sMwsU21Y.js → Goo-Brhjk8aS.js} +3 -8
  80. package/dist/core/{GradientMap-CCuimQDS.js → GradientMap-C5325QWw.js} +2 -4
  81. package/dist/core/{Grayscale-DR1xnpde.js → Grayscale-dPjs-wvf.js} +1 -2
  82. package/dist/core/{Grid-CCUodqje.js → Grid-UjEd3O76.js} +3 -4
  83. package/dist/core/{GridDistortion-DUnC2Z_Y.js → GridDistortion-vVgYya1U.js} +1 -5
  84. package/dist/core/{Group--MS8ZNKg.js → Group-KVdmAi5g.js} +1 -1
  85. package/dist/core/{HTMLInCanvas-D_Rc6bs1.js → HTMLInCanvas-CKr2u76R.js} +1 -2
  86. package/dist/core/{Halftone-CG1LNQkk.js → Halftone-pRV3TRUW.js} +2 -3
  87. package/dist/core/{Heart-qPxh2CWp.js → Heart-CX7MvvHZ.js} +1 -2
  88. package/dist/core/{Heatmap-BZDfR2vC.js → Heatmap-Dn6qyd2e.js} +3 -8
  89. package/dist/core/{HexGrid-DquaiXLF.js → HexGrid-BIfYhkfV.js} +3 -4
  90. package/dist/core/{Hologram-JAXPZFx0.js → Hologram-ou27baPQ.js} +3 -7
  91. package/dist/core/{Holographic-BBHJp93D.js → Holographic-CiHdBSMg.js} +3 -7
  92. package/dist/core/{HueShift-a1Hl7gFy.js → HueShift-CG7pcXfg.js} +1 -3
  93. package/dist/core/{ImageTexture-CLW3uX1b.js → ImageTexture-BiZuU58C.js} +1 -2
  94. package/dist/core/{InkFlow-Dfd_5vYf.js → InkFlow-D9_L7opB.js} +2 -5
  95. package/dist/core/{Invert-DBEURmcL.js → Invert-CHEaiQZO.js} +1 -2
  96. package/dist/core/{IrisWipe-DTlGb8v-.js → IrisWipe-x22vOQHm.js} +2 -3
  97. package/dist/core/Irradiance-7yq2K87_.js +389 -0
  98. package/dist/core/{IsometricCubes-BgmQXJXU.js → IsometricCubes-CkPGWr7M.js} +2 -3
  99. package/dist/core/{Kaleidoscope-0adfaQ5F.js → Kaleidoscope-CEC5m1Ww.js} +1 -2
  100. package/dist/core/{KeyFrames-BqANGVzW.js → KeyFrames-BMGEZsAZ.js} +2 -3
  101. package/dist/core/{LensDistortion-DVRKCZv8.js → LensDistortion-DKo8PiO5.js} +2 -3
  102. package/dist/core/{LensFlare-C41jY4jH.js → LensFlare-DMS-NUtK.js} +2 -3
  103. package/dist/core/LightEdge-DxmnCRls.js +315 -0
  104. package/dist/core/{LightLeak-GWrDFcI_.js → LightLeak-yoEsZtYg.js} +2 -4
  105. package/dist/core/{Line-DuV7dLdM.js → Line-D17XDUjO.js} +2 -3
  106. package/dist/core/{LinearBlur-Bft2CjmO.js → LinearBlur-CiyjPTUH.js} +2 -3
  107. package/dist/core/{LinearGradient-BzIE4ReW.js → LinearGradient-DfjKG70q.js} +2 -4
  108. package/dist/core/{LinearWipe-ArRG9OCp.js → LinearWipe-D9CtBg6S.js} +2 -3
  109. package/dist/core/{LiquidMetal-BgvfhyiQ.js → LiquidMetal-8EG6DwV6.js} +3 -8
  110. package/dist/core/{Liquify-B6EigQqP.js → Liquify-BySXF1OB.js} +1 -4
  111. package/dist/core/{MagneticFilings-Dj35dlIq.js → MagneticFilings-DNESH3Zs.js} +2 -5
  112. package/dist/core/{Marble-0kfSSCDj.js → Marble-C9WvdxrP.js} +2 -7
  113. package/dist/core/{MeshGradient-DY_rUhFv.js → MeshGradient-d9--RXOU.js} +2 -10
  114. package/dist/core/{Mirror-C1AIyKmb.js → Mirror-1V2FF2kD.js} +1 -2
  115. package/dist/core/{MultiPointGradient-B9z1J-d8.js → MultiPointGradient-cRA9ytgL.js} +2 -3
  116. package/dist/core/{Nebula-mZDwq-yl.js → Nebula-BRV-q74y.js} +4 -87
  117. package/dist/core/{Neon-CyQE26dS.js → Neon-4PemK9Rj.js} +3 -6
  118. package/dist/core/{NoiseDissolve-DQbBbxlP.js → NoiseDissolve-B7LgD46G.js} +2 -3
  119. package/dist/core/{ObjectTracker-CZd20LeZ.js → ObjectTracker-CdzDxhpy.js} +2 -3
  120. package/dist/core/{Obsidian-CjKezopV.js → Obsidian-2J1eX9kT.js} +3 -9
  121. package/dist/core/{PagePeel-ulnjqZzc.js → PagePeel-D-ziraOm.js} +1 -2
  122. package/dist/core/{Paper-c_1INiUk.js → Paper-BxzCLyzB.js} +1 -2
  123. package/dist/core/{Parallelogram-CnjzV4-0.js → Parallelogram-D4OflTwn.js} +1 -2
  124. package/dist/core/{ParticleField-yJztI6Ts.js → ParticleField-tWNicEDO.js} +1 -4
  125. package/dist/core/{ParticleFlow-DJYrNrb8.js → ParticleFlow-BiEYFyWR.js} +2 -6
  126. package/dist/core/{Particles-kT-8Aj5V.js → Particles-B7W4yWgo.js} +3 -7
  127. package/dist/core/{PerlinNoise-C_Pczp28.js → PerlinNoise-C-irUxp9.js} +3 -5
  128. package/dist/core/{Perspective-BrbfuYVk.js → Perspective-DlnAW-pe.js} +2 -3
  129. package/dist/core/{PixelSort-DoTMcLz4.js → PixelSort-BBOTYuOE.js} +1 -4
  130. package/dist/core/{PixelThrow-B8pxI6sI.js → PixelThrow-DCJb9Lxd.js} +2 -4
  131. package/dist/core/{Pixelate-DCU9U9Wb.js → Pixelate-CZdwB--K.js} +1 -2
  132. package/dist/core/{Plasma-Xe1I1Mmb.js → Plasma-CTOQJeqy.js} +2 -4
  133. package/dist/core/{Plastic-Ce9dVqPq.js → Plastic-DvyH9x-4.js} +3 -8
  134. package/dist/core/{PolarCoordinates-mtOsxdGf.js → PolarCoordinates-XhdDAOD0.js} +1 -2
  135. package/dist/core/{Polygon-Cv63keGU.js → Polygon-CLohB-Ly.js} +2 -4
  136. package/dist/core/{Posterize-QhGDzUuf.js → Posterize-BAQfnvmK.js} +1 -2
  137. package/dist/core/{Prism-DOXMcTrS.js → Prism-DJVCVAXX.js} +2 -6
  138. package/dist/core/{ProgressiveBlur-sSQrxqcr.js → ProgressiveBlur-Dirva1on.js} +2 -3
  139. package/dist/core/{RadialGradient-DWTDAQnq.js → RadialGradient-DuSKR8Ds.js} +2 -4
  140. package/dist/core/{RadialWipe-HfofRhY0.js → RadialWipe-n8tON7x2.js} +2 -3
  141. package/dist/core/{RandomBars-DspX9Utc.js → RandomBars-BYouiIgQ.js} +2 -3
  142. package/dist/core/{ReactionDiffusion-GsRfnqUY.js → ReactionDiffusion-CHDd3y2q.js} +2 -5
  143. package/dist/core/{RectangularCoordinates-DhPRrTPT.js → RectangularCoordinates-CYFfCawa.js} +1 -2
  144. package/dist/core/{ReflectivePlane-ej7XTkZ-.js → ReflectivePlane-DFTl5U9q.js} +2 -3
  145. package/dist/core/Repeater-CnbzXuAe.js +473 -0
  146. package/dist/core/{Ring-CC1LC05E.js → Ring-CGkHVSVd.js} +1 -2
  147. package/dist/core/{RippleWipe-CmmIx59a.js → RippleWipe-DLjPzY6u.js} +2 -3
  148. package/dist/core/{Ripples-ColS9_ej.js → Ripples-C2tITU62.js} +2 -3
  149. package/dist/core/{RoundedRect-BCL_4FLA.js → RoundedRect-sfNTUaCY.js} +1 -2
  150. package/dist/core/{Saturation-E77lSl0T.js → Saturation-BRkifYWj.js} +1 -3
  151. package/dist/core/{Scratches-ZHohp7K4.js → Scratches-D87O5C2K.js} +2 -4
  152. package/dist/core/{Sharpness-CgNxIvCA.js → Sharpness-BGv613Zw.js} +1 -3
  153. package/dist/core/Shatter-DuyCFU1f.js +328 -0
  154. package/dist/core/{SimplexNoise-CZf812YP.js → SimplexNoise-CQJvmqd-.js} +2 -4
  155. package/dist/core/{SineWave-CVHPlsdX.js → SineWave-BfOgSGMP.js} +2 -3
  156. package/dist/core/{SliceWipe-4Y_DLO0N.js → SliceWipe-CD_D99sl.js} +1 -2
  157. package/dist/core/{Smoke-CzjvGgBl.js → Smoke-BDQYKRP1.js} +2 -4
  158. package/dist/core/{SmokeFill-DkMjXE-D.js → SmokeFill-CPnzQtQv.js} +3 -8
  159. package/dist/core/{SmokeFlow-DQMNHV2s.js → SmokeFlow-BkPMjZq8.js} +2 -4
  160. package/dist/core/{Solarize-DmhOkKoO.js → Solarize-DSiS32QS.js} +1 -3
  161. package/dist/core/{SolidColor-CyYoqgG3.js → SolidColor-DEKpgy1c.js} +2 -3
  162. package/dist/core/Sparkle-BZur6gPW.js +178 -0
  163. package/dist/core/{Spherize-D2gNetxE.js → Spherize-D9Yg4n6O.js} +2 -3
  164. package/dist/core/{Spiral-BCO6OJXU.js → Spiral-BCacfEpT.js} +2 -3
  165. package/dist/core/{Star-9JERbdHT.js → Star-Dnw1ihk7.js} +1 -2
  166. package/dist/core/{Stone-92McvPwz.js → Stone-Cje-_vAg.js} +1 -3
  167. package/dist/core/{Strands-B6NfRExJ.js → Strands-CFRxS1G_.js} +2 -4
  168. package/dist/core/{Stretch-DbUOkCav.js → Stretch-DXVhfIqO.js} +1 -2
  169. package/dist/core/{Stripes-BG2zbwGV.js → Stripes-CCADWwyq.js} +2 -3
  170. package/dist/core/{StudioBackground-tpZpD080.js → StudioBackground-BlzYNAsu.js} +2 -6
  171. package/dist/core/{SunBurst-BMH4MKRL.js → SunBurst-CmWbI18r.js} +2 -3
  172. package/dist/core/{Surface3D-DUZMTBel.js → Surface3D-Dmh98-0V.js} +2 -6
  173. package/dist/core/{Swirl-CzOPAKx8.js → Swirl-CzI1qSVc.js} +2 -4
  174. package/dist/core/{Teardrop-aOr2VYQI.js → Teardrop-D24uulL0.js} +1 -2
  175. package/dist/core/{Text-CV3Lr3m0.js → Text-CrZKvBw6.js} +2 -6
  176. package/dist/core/{ThinFilm-CYOodpsx.js → ThinFilm-D7R2dt1O.js} +3 -6
  177. package/dist/core/{TiltShift-Cv80ZHW3.js → TiltShift-AMMDZBvf.js} +2 -3
  178. package/dist/core/{TimeTrail-fvJO2a1q.js → TimeTrail-BCYDP2ep.js} +2 -6
  179. package/dist/core/{Tint-D4m85tFF.js → Tint-DHb5wBN5.js} +2 -3
  180. package/dist/core/{Trapezoid-B-PkXCCJ.js → Trapezoid-CL5Fxvq7.js} +1 -2
  181. package/dist/core/{TriangularGrid-hMfK10up.js → TriangularGrid-Bp-SJS-H.js} +2 -3
  182. package/dist/core/{Tritone-n1wNQ1dI.js → Tritone-C0nx7OdC.js} +2 -3
  183. package/dist/core/{Truchet-BhmcbIE9.js → Truchet-DCetyDaq.js} +2 -3
  184. package/dist/core/{Twirl-D8gALHXr.js → Twirl-D_mv9KEi.js} +1 -2
  185. package/dist/core/{VHS-CaqSB2Op.js → VHS-Cp9aDjti.js} +1 -2
  186. package/dist/core/{VenetianBlinds-B1-WjIeY.js → VenetianBlinds-DUyvaT5w.js} +2 -3
  187. package/dist/core/{Vesica-Gh1CMA7n.js → Vesica-BpzrTPTA.js} +1 -2
  188. package/dist/core/{Vibrance-ixBSdj4B.js → Vibrance-DW3J-pvW.js} +1 -3
  189. package/dist/core/{VideoTexture-DVQ1YsW2.js → VideoTexture-zoKsSrex.js} +1 -2
  190. package/dist/core/{Vignette-B9v8l0So.js → Vignette-KKbP3qdZ.js} +2 -5
  191. package/dist/core/{Voronoi-CIHogO9V.js → Voronoi-Bp2-U6lm.js} +2 -5
  192. package/dist/core/Voxels-B3e3LHH5.js +469 -0
  193. package/dist/core/{Water-Dh4UB4UF.js → Water-CoYwvqKx.js} +3 -8
  194. package/dist/core/{Watercolor-C70_K8Lv.js → Watercolor-DUNjSIN1.js} +2 -4
  195. package/dist/core/{WaveDistortion-BCKxUa-p.js → WaveDistortion-Dp8ws0z1.js} +1 -2
  196. package/dist/core/{Waveform-BKMFhH8R.js → Waveform-DDBLB6zu.js} +2 -9
  197. package/dist/core/{WaveletNoise-CFpncHiR.js → WaveletNoise-CpBkzfRT.js} +2 -4
  198. package/dist/core/{Weave-CYgbepeB.js → Weave-cWkvSEAy.js} +2 -3
  199. package/dist/core/{WebcamTexture-B0vkMk_l.js → WebcamTexture-D484SXSE.js} +1 -2
  200. package/dist/core/{Wool-CLkJUMng.js → Wool-C9L7O9fD.js} +1 -3
  201. package/dist/core/{WorleyNoise-BxznxOxV.js → WorleyNoise-B5j5lDQZ.js} +2 -3
  202. package/dist/core/{ZoomBlur-DtujxMsW.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 +15 -0
  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/waves.d.ts +6 -0
  214. package/dist/core/gpu/kit/waves.d.ts.map +1 -1
  215. package/dist/core/gpu/scaffolds/sdfShape.d.ts +1 -1
  216. package/dist/core/gpu/scaffolds/sdfShape.d.ts.map +1 -1
  217. package/dist/core/gpu/support.d.ts +12 -0
  218. package/dist/core/gpu/support.d.ts.map +1 -1
  219. package/dist/core/index.d.ts +3 -2
  220. package/dist/core/index.d.ts.map +1 -1
  221. package/dist/core/index.js +238 -255
  222. package/dist/core/llms.txt +1558 -0
  223. package/dist/core/{noiseColor-_P7nIu_L.js → noiseColor-D_bPhJ4m.js} +2 -2
  224. package/dist/core/presetRenderer.d.ts +4 -0
  225. package/dist/core/presetRenderer.d.ts.map +1 -1
  226. package/dist/core/registry.js +204 -248
  227. package/dist/core/shaderRegistry-BaozBFyh.js +445 -0
  228. package/dist/core/shaderRegistry.d.ts.map +1 -1
  229. package/dist/core/shaders/AngularBlur/index.d.ts +1 -1
  230. package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
  231. package/dist/core/shaders/AngularBlur/index.js +4 -10
  232. package/dist/core/shaders/Arc/index.js +4 -6
  233. package/dist/core/shaders/Ascii/index.d.ts +1 -1
  234. package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
  235. package/dist/core/shaders/Ascii/index.js +4 -11
  236. package/dist/core/shaders/Aurora/index.js +4 -21
  237. package/dist/core/shaders/BarShift/index.js +4 -8
  238. package/dist/core/shaders/BarnDoors/index.js +4 -7
  239. package/dist/core/shaders/Beam/index.js +4 -11
  240. package/dist/core/shaders/Bend/index.js +4 -8
  241. package/dist/core/shaders/Blob/index.js +4 -18
  242. package/dist/core/shaders/BlockDissolve/index.js +4 -7
  243. package/dist/core/shaders/BlockNoise/index.d.ts +1 -1
  244. package/dist/core/shaders/BlockNoise/index.d.ts.map +1 -1
  245. package/dist/core/shaders/BlockNoise/index.js +5 -14
  246. package/dist/core/shaders/BlueNoise/index.d.ts +1 -1
  247. package/dist/core/shaders/BlueNoise/index.d.ts.map +1 -1
  248. package/dist/core/shaders/BlueNoise/index.js +5 -14
  249. package/dist/core/shaders/Blur/index.d.ts +1 -1
  250. package/dist/core/shaders/Blur/index.d.ts.map +1 -1
  251. package/dist/core/shaders/Blur/index.js +4 -10
  252. package/dist/core/shaders/Boids/index.js +4 -9
  253. package/dist/core/shaders/BokehBlur/index.js +4 -10
  254. package/dist/core/shaders/BrickPattern/index.d.ts +1 -1
  255. package/dist/core/shaders/BrickPattern/index.d.ts.map +1 -1
  256. package/dist/core/shaders/BrickPattern/index.js +4 -13
  257. package/dist/core/shaders/BrightnessContrast/index.js +4 -7
  258. package/dist/core/shaders/BrushedMetal/index.js +4 -11
  259. package/dist/core/shaders/Bulge/index.js +4 -8
  260. package/dist/core/shaders/CRTScreen/index.d.ts +2 -2
  261. package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
  262. package/dist/core/shaders/CRTScreen/index.js +4 -10
  263. package/dist/core/shaders/CarbonFiber/index.js +4 -11
  264. package/dist/core/shaders/Chalkboard/index.d.ts +1 -1
  265. package/dist/core/shaders/Chalkboard/index.d.ts.map +1 -1
  266. package/dist/core/shaders/Chalkboard/index.js +4 -9
  267. package/dist/core/shaders/ChannelBlur/index.d.ts +1 -1
  268. package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
  269. package/dist/core/shaders/ChannelBlur/index.js +4 -10
  270. package/dist/core/shaders/CheckerWipe/index.js +4 -7
  271. package/dist/core/shaders/Checkerboard/index.d.ts +1 -1
  272. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  273. package/dist/core/shaders/Checkerboard/index.js +4 -13
  274. package/dist/core/shaders/Chevron/index.d.ts +1 -1
  275. package/dist/core/shaders/Chevron/index.d.ts.map +1 -1
  276. package/dist/core/shaders/Chevron/index.js +4 -13
  277. package/dist/core/shaders/ChromaFlow/index.js +4 -8
  278. package/dist/core/shaders/ChromaticAberration/index.js +4 -11
  279. package/dist/core/shaders/Chrome/index.js +4 -10
  280. package/dist/core/shaders/Circle/index.js +4 -6
  281. package/dist/core/shaders/ColorWheel/index.js +4 -11
  282. package/dist/core/shaders/CompressionArtifacts/index.js +4 -7
  283. package/dist/core/shaders/ConcentricSpin/index.js +4 -8
  284. package/dist/core/shaders/ConicGradient/index.js +4 -11
  285. package/dist/core/shaders/ContourLines/index.js +4 -6
  286. package/dist/core/shaders/CornerPin/index.js +4 -8
  287. package/dist/core/shaders/Crescent/index.js +4 -5
  288. package/dist/core/shaders/Cross/index.js +4 -5
  289. package/dist/core/shaders/Crystal/index.js +4 -11
  290. package/dist/core/shaders/CurlNoise/index.d.ts +1 -1
  291. package/dist/core/shaders/CurlNoise/index.d.ts.map +1 -1
  292. package/dist/core/shaders/CurlNoise/index.js +5 -14
  293. package/dist/core/shaders/CursorRipples/index.js +4 -7
  294. package/dist/core/shaders/CursorTrail/index.js +4 -7
  295. package/dist/core/shaders/DataMosh/index.js +4 -7
  296. package/dist/core/shaders/DiamondGradient/index.js +4 -11
  297. package/dist/core/shaders/DiamondWipe/index.js +4 -7
  298. package/dist/core/shaders/DiffuseBlur/index.d.ts +1 -1
  299. package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
  300. package/dist/core/shaders/DiffuseBlur/index.js +4 -10
  301. package/dist/core/shaders/DisplacementMap/index.js +4 -8
  302. package/dist/core/shaders/Dither/index.d.ts +1 -1
  303. package/dist/core/shaders/Dither/index.d.ts.map +1 -1
  304. package/dist/core/shaders/Dither/index.js +4 -13
  305. package/dist/core/shaders/DotGrid/index.d.ts +2 -2
  306. package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
  307. package/dist/core/shaders/DotGrid/index.js +4 -13
  308. package/dist/core/shaders/DropShadow/index.d.ts +1 -1
  309. package/dist/core/shaders/DropShadow/index.d.ts.map +1 -1
  310. package/dist/core/shaders/DropShadow/index.js +4 -10
  311. package/dist/core/shaders/Duotone/index.js +4 -6
  312. package/dist/core/shaders/Ellipse/index.js +4 -5
  313. package/dist/core/shaders/Emboss/index.js +4 -9
  314. package/dist/core/shaders/Engraving/index.js +4 -9
  315. package/dist/core/shaders/ErosionNoise/index.d.ts +1 -1
  316. package/dist/core/shaders/ErosionNoise/index.d.ts.map +1 -1
  317. package/dist/core/shaders/ErosionNoise/index.js +5 -14
  318. package/dist/core/shaders/Exposure/index.js +4 -7
  319. package/dist/core/shaders/FallingLines/index.d.ts +1 -1
  320. package/dist/core/shaders/FallingLines/index.d.ts.map +1 -1
  321. package/dist/core/shaders/FallingLines/index.js +4 -13
  322. package/dist/core/shaders/FilmGrain/index.js +4 -7
  323. package/dist/core/shaders/FilmStock/index.js +4 -13
  324. package/dist/core/shaders/Flip/index.js +4 -8
  325. package/dist/core/shaders/FloatingParticles/index.d.ts +1 -1
  326. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  327. package/dist/core/shaders/FloatingParticles/index.js +4 -9
  328. package/dist/core/shaders/FlowField/index.js +4 -8
  329. package/dist/core/shaders/Flower/index.js +4 -5
  330. package/dist/core/shaders/FlowingGradient/index.js +4 -15
  331. package/dist/core/shaders/FlutedGlass/index.js +4 -11
  332. package/dist/core/shaders/Fog/index.js +4 -7
  333. package/dist/core/shaders/Form3D/index.js +4 -7
  334. package/dist/core/shaders/FractalNoise/index.d.ts +1 -1
  335. package/dist/core/shaders/FractalNoise/index.d.ts.map +1 -1
  336. package/dist/core/shaders/FractalNoise/index.js +4 -13
  337. package/dist/core/shaders/Frost/index.js +4 -11
  338. package/dist/core/shaders/GaborNoise/index.d.ts +2 -2
  339. package/dist/core/shaders/GaborNoise/index.d.ts.map +1 -1
  340. package/dist/core/shaders/GaborNoise/index.js +5 -14
  341. package/dist/core/shaders/Glass/index.js +4 -11
  342. package/dist/core/shaders/GlassTiles/index.d.ts +1 -1
  343. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  344. package/dist/core/shaders/GlassTiles/index.js +4 -8
  345. package/dist/core/shaders/Glitch/index.d.ts +1 -1
  346. package/dist/core/shaders/Glitch/index.d.ts.map +1 -1
  347. package/dist/core/shaders/Glitch/index.js +4 -10
  348. package/dist/core/shaders/Glow/index.d.ts +1 -1
  349. package/dist/core/shaders/Glow/index.d.ts.map +1 -1
  350. package/dist/core/shaders/Glow/index.js +4 -11
  351. package/dist/core/shaders/Godrays/index.js +4 -12
  352. package/dist/core/shaders/Goo/index.js +4 -11
  353. package/dist/core/shaders/GradientMap/index.js +4 -7
  354. package/dist/core/shaders/Grayscale/index.js +4 -6
  355. package/dist/core/shaders/Grid/index.d.ts +2 -2
  356. package/dist/core/shaders/Grid/index.d.ts.map +1 -1
  357. package/dist/core/shaders/Grid/index.js +4 -13
  358. package/dist/core/shaders/GridDistortion/index.js +4 -11
  359. package/dist/core/shaders/Group/index.js +4 -6
  360. package/dist/core/shaders/HTMLInCanvas/index.js +4 -7
  361. package/dist/core/shaders/Halftone/index.d.ts +1 -1
  362. package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
  363. package/dist/core/shaders/Halftone/index.js +4 -13
  364. package/dist/core/shaders/Heart/index.js +4 -5
  365. package/dist/core/shaders/Heatmap/index.js +4 -11
  366. package/dist/core/shaders/HexGrid/index.d.ts +2 -2
  367. package/dist/core/shaders/HexGrid/index.d.ts.map +1 -1
  368. package/dist/core/shaders/HexGrid/index.js +4 -13
  369. package/dist/core/shaders/Hologram/index.js +4 -10
  370. package/dist/core/shaders/Holographic/index.js +4 -10
  371. package/dist/core/shaders/HueShift/index.js +4 -7
  372. package/dist/core/shaders/ImageTexture/index.js +4 -6
  373. package/dist/core/shaders/InkFlow/index.js +4 -8
  374. package/dist/core/shaders/Invert/index.js +4 -6
  375. package/dist/core/shaders/IrisWipe/index.js +4 -7
  376. package/dist/core/shaders/Irradiance/index.js +4 -13
  377. package/dist/core/shaders/IsometricCubes/index.d.ts +1 -1
  378. package/dist/core/shaders/IsometricCubes/index.d.ts.map +1 -1
  379. package/dist/core/shaders/IsometricCubes/index.js +4 -13
  380. package/dist/core/shaders/Kaleidoscope/index.js +4 -8
  381. package/dist/core/shaders/KeyFrames/index.js +4 -10
  382. package/dist/core/shaders/LensDistortion/index.js +4 -6
  383. package/dist/core/shaders/LensFlare/index.d.ts +1 -1
  384. package/dist/core/shaders/LensFlare/index.d.ts.map +1 -1
  385. package/dist/core/shaders/LensFlare/index.js +4 -12
  386. package/dist/core/shaders/LightEdge/index.js +4 -10
  387. package/dist/core/shaders/LightLeak/index.js +4 -12
  388. package/dist/core/shaders/Line/index.js +4 -10
  389. package/dist/core/shaders/LinearBlur/index.d.ts +1 -1
  390. package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
  391. package/dist/core/shaders/LinearBlur/index.js +4 -10
  392. package/dist/core/shaders/LinearGradient/index.js +4 -11
  393. package/dist/core/shaders/LinearWipe/index.js +4 -7
  394. package/dist/core/shaders/LiquidMetal/index.js +4 -11
  395. package/dist/core/shaders/Liquify/index.js +4 -10
  396. package/dist/core/shaders/MagneticFilings/index.js +4 -9
  397. package/dist/core/shaders/Marble/index.d.ts +1 -1
  398. package/dist/core/shaders/Marble/index.d.ts.map +1 -1
  399. package/dist/core/shaders/Marble/index.js +4 -15
  400. package/dist/core/shaders/MeshGradient/index.js +4 -17
  401. package/dist/core/shaders/Mirror/index.js +4 -8
  402. package/dist/core/shaders/MultiPointGradient/index.js +4 -11
  403. package/dist/core/shaders/Nebula/index.js +4 -13
  404. package/dist/core/shaders/Neon/index.js +4 -9
  405. package/dist/core/shaders/NoiseDissolve/index.js +4 -7
  406. package/dist/core/shaders/ObjectTracker/index.js +4 -10
  407. package/dist/core/shaders/Obsidian/index.js +4 -15
  408. package/dist/core/shaders/PagePeel/index.js +4 -10
  409. package/dist/core/shaders/Paper/index.d.ts +1 -1
  410. package/dist/core/shaders/Paper/index.d.ts.map +1 -1
  411. package/dist/core/shaders/Paper/index.js +4 -8
  412. package/dist/core/shaders/Parallelogram/index.js +4 -5
  413. package/dist/core/shaders/ParticleField/index.js +4 -9
  414. package/dist/core/shaders/ParticleFlow/index.js +4 -10
  415. package/dist/core/shaders/Particles/index.js +4 -9
  416. package/dist/core/shaders/PerlinNoise/index.d.ts +2 -2
  417. package/dist/core/shaders/PerlinNoise/index.d.ts.map +1 -1
  418. package/dist/core/shaders/PerlinNoise/index.js +5 -14
  419. package/dist/core/shaders/Perspective/index.js +4 -8
  420. package/dist/core/shaders/PixelSort/index.js +4 -8
  421. package/dist/core/shaders/PixelThrow/index.js +4 -8
  422. package/dist/core/shaders/Pixelate/index.d.ts +1 -1
  423. package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
  424. package/dist/core/shaders/Pixelate/index.js +4 -10
  425. package/dist/core/shaders/Plasma/index.js +4 -11
  426. package/dist/core/shaders/Plastic/index.js +4 -11
  427. package/dist/core/shaders/PolarCoordinates/index.js +4 -8
  428. package/dist/core/shaders/Polygon/index.js +4 -6
  429. package/dist/core/shaders/Posterize/index.js +4 -6
  430. package/dist/core/shaders/Prism/index.js +4 -12
  431. package/dist/core/shaders/ProgressiveBlur/index.d.ts +1 -1
  432. package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
  433. package/dist/core/shaders/ProgressiveBlur/index.js +4 -10
  434. package/dist/core/shaders/RadialGradient/index.js +4 -11
  435. package/dist/core/shaders/RadialWipe/index.js +4 -7
  436. package/dist/core/shaders/RandomBars/index.js +4 -7
  437. package/dist/core/shaders/ReactionDiffusion/index.js +4 -8
  438. package/dist/core/shaders/RectangularCoordinates/index.js +4 -8
  439. package/dist/core/shaders/ReflectivePlane/index.js +4 -10
  440. package/dist/core/shaders/Repeater/index.js +4 -5
  441. package/dist/core/shaders/Ring/index.js +4 -5
  442. package/dist/core/shaders/RippleWipe/index.js +4 -7
  443. package/dist/core/shaders/Ripples/index.d.ts +1 -1
  444. package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
  445. package/dist/core/shaders/Ripples/index.js +4 -13
  446. package/dist/core/shaders/RoundedRect/index.js +4 -5
  447. package/dist/core/shaders/Saturation/index.js +4 -7
  448. package/dist/core/shaders/Scratches/index.d.ts +1 -1
  449. package/dist/core/shaders/Scratches/index.d.ts.map +1 -1
  450. package/dist/core/shaders/Scratches/index.js +5 -14
  451. package/dist/core/shaders/Sharpness/index.d.ts +1 -1
  452. package/dist/core/shaders/Sharpness/index.d.ts.map +1 -1
  453. package/dist/core/shaders/Sharpness/index.js +4 -11
  454. package/dist/core/shaders/Shatter/index.js +4 -6
  455. package/dist/core/shaders/SimplexNoise/index.d.ts +1 -1
  456. package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
  457. package/dist/core/shaders/SimplexNoise/index.js +5 -14
  458. package/dist/core/shaders/SineWave/index.js +4 -10
  459. package/dist/core/shaders/SliceWipe/index.js +4 -8
  460. package/dist/core/shaders/Smoke/index.js +4 -7
  461. package/dist/core/shaders/SmokeFill/index.js +4 -10
  462. package/dist/core/shaders/SmokeFlow/index.js +4 -7
  463. package/dist/core/shaders/Solarize/index.js +4 -7
  464. package/dist/core/shaders/SolidColor/index.js +4 -11
  465. package/dist/core/shaders/Sparkle/index.d.ts +57 -0
  466. package/dist/core/shaders/Sparkle/index.d.ts.map +1 -0
  467. package/dist/core/shaders/Sparkle/index.js +5 -0
  468. package/dist/core/shaders/Spherize/index.d.ts +1 -1
  469. package/dist/core/shaders/Spherize/index.d.ts.map +1 -1
  470. package/dist/core/shaders/Spherize/index.js +4 -10
  471. package/dist/core/shaders/Spiral/index.js +4 -11
  472. package/dist/core/shaders/Star/index.js +4 -5
  473. package/dist/core/shaders/Stone/index.d.ts +1 -1
  474. package/dist/core/shaders/Stone/index.d.ts.map +1 -1
  475. package/dist/core/shaders/Stone/index.js +4 -14
  476. package/dist/core/shaders/Strands/index.d.ts +1 -1
  477. package/dist/core/shaders/Strands/index.d.ts.map +1 -1
  478. package/dist/core/shaders/Strands/index.js +4 -13
  479. package/dist/core/shaders/Stretch/index.js +4 -8
  480. package/dist/core/shaders/Stripes/index.d.ts +1 -1
  481. package/dist/core/shaders/Stripes/index.d.ts.map +1 -1
  482. package/dist/core/shaders/Stripes/index.js +4 -13
  483. package/dist/core/shaders/StudioBackground/index.js +4 -14
  484. package/dist/core/shaders/SunBurst/index.js +4 -12
  485. package/dist/core/shaders/Surface3D/index.js +4 -8
  486. package/dist/core/shaders/Swirl/index.js +4 -11
  487. package/dist/core/shaders/Teardrop/index.js +4 -5
  488. package/dist/core/shaders/Text/index.js +4 -12
  489. package/dist/core/shaders/ThinFilm/index.js +4 -9
  490. package/dist/core/shaders/TiltShift/index.d.ts +1 -1
  491. package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
  492. package/dist/core/shaders/TiltShift/index.js +4 -10
  493. package/dist/core/shaders/TimeTrail/index.js +4 -8
  494. package/dist/core/shaders/Tint/index.js +4 -6
  495. package/dist/core/shaders/Trapezoid/index.js +4 -5
  496. package/dist/core/shaders/TriangularGrid/index.d.ts +1 -1
  497. package/dist/core/shaders/TriangularGrid/index.d.ts.map +1 -1
  498. package/dist/core/shaders/TriangularGrid/index.js +4 -13
  499. package/dist/core/shaders/Tritone/index.js +4 -6
  500. package/dist/core/shaders/Truchet/index.d.ts +1 -1
  501. package/dist/core/shaders/Truchet/index.d.ts.map +1 -1
  502. package/dist/core/shaders/Truchet/index.js +4 -13
  503. package/dist/core/shaders/Twirl/index.js +4 -8
  504. package/dist/core/shaders/VHS/index.d.ts +1 -1
  505. package/dist/core/shaders/VHS/index.d.ts.map +1 -1
  506. package/dist/core/shaders/VHS/index.js +4 -10
  507. package/dist/core/shaders/VenetianBlinds/index.js +4 -7
  508. package/dist/core/shaders/Vesica/index.js +4 -5
  509. package/dist/core/shaders/Vibrance/index.js +4 -7
  510. package/dist/core/shaders/VideoTexture/index.js +4 -6
  511. package/dist/core/shaders/Vignette/index.js +4 -8
  512. package/dist/core/shaders/Voronoi/index.d.ts +1 -1
  513. package/dist/core/shaders/Voronoi/index.d.ts.map +1 -1
  514. package/dist/core/shaders/Voronoi/index.js +4 -13
  515. package/dist/core/shaders/Voxels/index.js +4 -14
  516. package/dist/core/shaders/Water/index.js +4 -11
  517. package/dist/core/shaders/Watercolor/index.d.ts +1 -1
  518. package/dist/core/shaders/Watercolor/index.d.ts.map +1 -1
  519. package/dist/core/shaders/Watercolor/index.js +4 -10
  520. package/dist/core/shaders/WaveDistortion/index.js +4 -8
  521. package/dist/core/shaders/Waveform/index.js +4 -16
  522. package/dist/core/shaders/WaveletNoise/index.d.ts +1 -1
  523. package/dist/core/shaders/WaveletNoise/index.d.ts.map +1 -1
  524. package/dist/core/shaders/WaveletNoise/index.js +5 -14
  525. package/dist/core/shaders/Weave/index.d.ts +1 -1
  526. package/dist/core/shaders/Weave/index.d.ts.map +1 -1
  527. package/dist/core/shaders/Weave/index.js +4 -13
  528. package/dist/core/shaders/WebcamTexture/index.js +4 -6
  529. package/dist/core/shaders/Wool/index.d.ts +1 -1
  530. package/dist/core/shaders/Wool/index.d.ts.map +1 -1
  531. package/dist/core/shaders/Wool/index.js +4 -14
  532. package/dist/core/shaders/WorleyNoise/index.d.ts +1 -1
  533. package/dist/core/shaders/WorleyNoise/index.d.ts.map +1 -1
  534. package/dist/core/shaders/WorleyNoise/index.js +4 -13
  535. package/dist/core/shaders/ZoomBlur/index.d.ts +1 -1
  536. package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
  537. package/dist/core/shaders/ZoomBlur/index.js +4 -10
  538. package/dist/core/std/effects/blurs.d.ts +656 -138
  539. package/dist/core/std/effects/blurs.d.ts.map +1 -1
  540. package/dist/core/std/effects/color.d.ts +209 -32
  541. package/dist/core/std/effects/color.d.ts.map +1 -1
  542. package/dist/core/std/effects/edgeGlow.d.ts +86 -17
  543. package/dist/core/std/effects/edgeGlow.d.ts.map +1 -1
  544. package/dist/core/std/effects/fracture.d.ts +72 -8
  545. package/dist/core/std/effects/fracture.d.ts.map +1 -1
  546. package/dist/core/std/effects/index.d.ts +15 -0
  547. package/dist/core/std/effects/index.d.ts.map +1 -0
  548. package/dist/core/std/effects/instances.d.ts +87 -8
  549. package/dist/core/std/effects/instances.d.ts.map +1 -1
  550. package/dist/core/std/effects/lens.d.ts +48 -12
  551. package/dist/core/std/effects/lens.d.ts.map +1 -1
  552. package/dist/core/std/effects/overlay.d.ts +63 -22
  553. package/dist/core/std/effects/overlay.d.ts.map +1 -1
  554. package/dist/core/std/effects/pointerFields.d.ts +45 -20
  555. package/dist/core/std/effects/pointerFields.d.ts.map +1 -1
  556. package/dist/core/std/effects/reveal.d.ts +118 -40
  557. package/dist/core/std/effects/reveal.d.ts.map +1 -1
  558. package/dist/core/std/effects/stylize.d.ts +139 -70
  559. package/dist/core/std/effects/stylize.d.ts.map +1 -1
  560. package/dist/core/std/filter.d.ts +72 -12
  561. package/dist/core/std/filter.d.ts.map +1 -1
  562. package/dist/core/std/frames.d.ts +91 -24
  563. package/dist/core/std/frames.d.ts.map +1 -1
  564. package/dist/core/std/index.d.ts +46 -8
  565. package/dist/core/std/index.d.ts.map +1 -1
  566. package/dist/core/std/index.js +4 -0
  567. package/dist/core/std/invoke.d.ts +107 -12
  568. package/dist/core/std/invoke.d.ts.map +1 -1
  569. package/dist/core/std/lists.d.ts +40 -10
  570. package/dist/core/std/lists.d.ts.map +1 -1
  571. package/dist/core/std/lower.d.ts +73 -1
  572. package/dist/core/std/lower.d.ts.map +1 -1
  573. package/dist/core/std/mask.d.ts +60 -17
  574. package/dist/core/std/mask.d.ts.map +1 -1
  575. package/dist/core/std/math.d.ts +484 -9
  576. package/dist/core/std/math.d.ts.map +1 -1
  577. package/dist/core/std/motion.d.ts +130 -10
  578. package/dist/core/std/motion.d.ts.map +1 -1
  579. package/dist/core/std/paint/compose.d.ts +57 -16
  580. package/dist/core/std/paint/compose.d.ts.map +1 -1
  581. package/dist/core/std/paint/fields.d.ts +376 -93
  582. package/dist/core/std/paint/fields.d.ts.map +1 -1
  583. package/dist/core/std/paint/figures.d.ts +32 -17
  584. package/dist/core/std/paint/figures.d.ts.map +1 -1
  585. package/dist/core/std/paint/gradients.d.ts +58 -25
  586. package/dist/core/std/paint/gradients.d.ts.map +1 -1
  587. package/dist/core/std/paint/light.d.ts +501 -77
  588. package/dist/core/std/paint/light.d.ts.map +1 -1
  589. package/dist/core/std/paint/materials.d.ts +678 -151
  590. package/dist/core/std/paint/materials.d.ts.map +1 -1
  591. package/dist/core/std/paint/media.d.ts +47 -32
  592. package/dist/core/std/paint/media.d.ts.map +1 -1
  593. package/dist/core/std/paint/noise.d.ts +436 -87
  594. package/dist/core/std/paint/noise.d.ts.map +1 -1
  595. package/dist/core/std/paint/patterns.d.ts +473 -91
  596. package/dist/core/std/paint/patterns.d.ts.map +1 -1
  597. package/dist/core/std/paint/radiance.d.ts +75 -29
  598. package/dist/core/std/paint/radiance.d.ts.map +1 -1
  599. package/dist/core/std/paint/volume.d.ts +68 -27
  600. package/dist/core/std/paint/volume.d.ts.map +1 -1
  601. package/dist/core/std/paint/voxels.d.ts +46 -26
  602. package/dist/core/std/paint/voxels.d.ts.map +1 -1
  603. package/dist/core/std/shape.d.ts +195 -1
  604. package/dist/core/std/shape.d.ts.map +1 -1
  605. package/dist/core/std/signal.d.ts +55 -15
  606. package/dist/core/std/signal.d.ts.map +1 -1
  607. package/dist/core/std/sim/agentForces.d.ts +441 -99
  608. package/dist/core/std/sim/agentForces.d.ts.map +1 -1
  609. package/dist/core/std/sim/agentFrame.d.ts +94 -20
  610. package/dist/core/std/sim/agentFrame.d.ts.map +1 -1
  611. package/dist/core/std/sim/agentRender.d.ts +187 -60
  612. package/dist/core/std/sim/agentRender.d.ts.map +1 -1
  613. package/dist/core/std/sim/agents.d.ts +99 -28
  614. package/dist/core/std/sim/agents.d.ts.map +1 -1
  615. package/dist/core/std/sim/feedback.d.ts +40 -19
  616. package/dist/core/std/sim/feedback.d.ts.map +1 -1
  617. package/dist/core/std/sim/fluids.d.ts +127 -63
  618. package/dist/core/std/sim/fluids.d.ts.map +1 -1
  619. package/dist/core/std/sim/grids.d.ts +200 -48
  620. package/dist/core/std/sim/grids.d.ts.map +1 -1
  621. package/dist/core/std/sim/index.d.ts +14 -0
  622. package/dist/core/std/sim/index.d.ts.map +1 -0
  623. package/dist/core/std/sim/shapeFields.d.ts +56 -0
  624. package/dist/core/std/sim/shapeFields.d.ts.map +1 -1
  625. package/dist/core/std/sim.d.ts +112 -10
  626. package/dist/core/std/sim.d.ts.map +1 -1
  627. package/dist/core/std/slots.d.ts +72 -6
  628. package/dist/core/std/slots.d.ts.map +1 -1
  629. package/dist/core/std/types.d.ts +97 -60
  630. package/dist/core/std/types.d.ts.map +1 -1
  631. package/dist/core/std/values.d.ts +33 -14
  632. package/dist/core/std/values.d.ts.map +1 -1
  633. package/dist/core/std/warps.d.ts +221 -76
  634. package/dist/core/std/warps.d.ts.map +1 -1
  635. package/dist/core/std/wgsl.d.ts +115 -0
  636. package/dist/core/std/wgsl.d.ts.map +1 -0
  637. package/dist/core/std-ClftfWpF.js +218889 -0
  638. package/dist/core/{support-GJphyuEe.js → support-D3W86vgR.js} +11 -1
  639. package/dist/core/telemetry/index.js +1 -1
  640. package/dist/core/utilities/transformations/index.js +1 -1
  641. package/dist/js/bundle.js +182 -180
  642. package/dist/js/createShader.d.ts.map +1 -1
  643. package/dist/js/createShader.js +4 -3
  644. package/dist/js/types.d.ts +5 -0
  645. package/dist/js/types.d.ts.map +1 -1
  646. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  647. package/dist/js/utils/generatePresetCode.js +35 -22
  648. package/dist/react/CustomShader.js +178 -0
  649. package/dist/react/Preview.js +1 -0
  650. package/dist/react/Shader.js +1 -1
  651. package/dist/react/Sparkle.js +226 -0
  652. package/dist/react/bundle.js +178 -176
  653. package/dist/react/components/Sparkle.d.ts +41 -0
  654. package/dist/react/components/Sparkle.d.ts.map +1 -0
  655. package/dist/react/engine/CustomShader.d.ts +37 -0
  656. package/dist/react/engine/CustomShader.d.ts.map +1 -0
  657. package/dist/react/engine/Preview.d.ts.map +1 -1
  658. package/dist/react/index.d.ts +5 -0
  659. package/dist/react/index.d.ts.map +1 -1
  660. package/dist/react/index.js +4 -2
  661. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  662. package/dist/react/utils/generatePresetCode.js +35 -22
  663. package/dist/registry.js +310 -58
  664. package/dist/solid/components/Sparkle.d.ts +38 -0
  665. package/dist/solid/components/Sparkle.d.ts.map +1 -0
  666. package/dist/solid/components/Sparkle.js +232 -0
  667. package/dist/solid/engine/CustomShader.d.ts +35 -0
  668. package/dist/solid/engine/CustomShader.d.ts.map +1 -0
  669. package/dist/solid/engine/CustomShader.js +160 -0
  670. package/dist/solid/engine/Preview.d.ts.map +1 -1
  671. package/dist/solid/engine/Preview.js +319 -317
  672. package/dist/solid/engine/Shader.js +1 -1
  673. package/dist/solid/index.d.ts +5 -0
  674. package/dist/solid/index.d.ts.map +1 -1
  675. package/dist/solid/index.js +95 -86
  676. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  677. package/dist/solid/utils/generatePresetCode.js +35 -22
  678. package/dist/svelte/components/Sparkle.svelte.d.ts +28 -0
  679. package/dist/svelte/engine/CustomShader.svelte.d.ts +40 -0
  680. package/dist/svelte/index.d.ts +4 -0
  681. package/dist/svelte/index.js +1237 -877
  682. package/dist/svelte/source/components/Sparkle.svelte +352 -0
  683. package/dist/svelte/source/engine/CustomShader.svelte +216 -0
  684. package/dist/svelte/source/engine/Preview.svelte +5 -3
  685. package/dist/svelte/source/index.js +4 -0
  686. package/dist/svelte/utils/generatePresetCode.js +35 -22
  687. package/dist/vue/CustomShader.js +3 -0
  688. package/dist/vue/CustomShader.vue_vue_type_script_setup_true_lang.js +173 -0
  689. package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +2 -0
  690. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  691. package/dist/vue/Sparkle.js +3 -0
  692. package/dist/vue/Sparkle.vue_vue_type_script_setup_true_lang.js +233 -0
  693. package/dist/vue/components/Sparkle.vue.d.ts +63 -0
  694. package/dist/vue/components/Sparkle.vue.d.ts.map +1 -0
  695. package/dist/vue/index.d.ts +4 -0
  696. package/dist/vue/index.d.ts.map +1 -1
  697. package/dist/vue/index.js +4 -2
  698. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  699. package/dist/vue/utils/generatePresetCode.js +35 -22
  700. package/package.json +27 -2
  701. package/dist/core/Irradiance-DtC4tqNu.js +0 -4191
  702. package/dist/core/LightEdge-BV9bO8YB.js +0 -2339
  703. package/dist/core/Repeater-DU_EhoxD.js +0 -762
  704. package/dist/core/Shatter-DYKKCVD8.js +0 -1479
  705. package/dist/core/Voxels-LEG0c9YC.js +0 -8547
  706. package/dist/core/agents-CdLlm-5E.js +0 -5357
  707. package/dist/core/agents-DZaZ4n9_.js +0 -15709
  708. package/dist/core/blur-CrEChFnm.js +0 -8015
  709. package/dist/core/blurs-D5a6ad3o.js +0 -1751
  710. package/dist/core/canvasRaster-DDBkrdY8.js +0 -80
  711. package/dist/core/color-CY5teMWa.js +0 -3619
  712. package/dist/core/compose-DNU_Ut36.js +0 -46
  713. package/dist/core/device-m0ud8-Fn.js +0 -10
  714. package/dist/core/feedback-yfT0pT6A.js +0 -46
  715. package/dist/core/fields-CXwmEUsd.js +0 -475
  716. package/dist/core/figures-BRYcB-p2.js +0 -48
  717. package/dist/core/filter-BrhpSs3Z.js +0 -23
  718. package/dist/core/fluids-CBhAiGAx.js +0 -226
  719. package/dist/core/fonts-BUXTd9qb.js +0 -59
  720. package/dist/core/frames-Clw8-BpA.js +0 -78
  721. package/dist/core/glass-DIEus1UY.js +0 -2532
  722. package/dist/core/gradientPaints-Cx2bT20T.js +0 -6564
  723. package/dist/core/gradients-C15o7_xy.js +0 -159
  724. package/dist/core/grids-Cv99xcJg.js +0 -151
  725. package/dist/core/lens-ChO_HVpe.js +0 -352
  726. package/dist/core/light-Bba_Pie_.js +0 -271
  727. package/dist/core/lightfields-D120ZvMt.js +0 -2255
  728. package/dist/core/lower-DtoDQ7hV.js +0 -49452
  729. package/dist/core/mask-6rnSCir2.js +0 -28
  730. package/dist/core/materials-BjsiWqS0.js +0 -2944
  731. package/dist/core/math-7PlusTFx.js +0 -56
  732. package/dist/core/media-CgWmWvGq.js +0 -832
  733. package/dist/core/mediaLifecycle-BTPb5i1-.js +0 -320
  734. package/dist/core/motionBlur-DzaHMq9p.js +0 -6766
  735. package/dist/core/noise-G7a5U0ar.js +0 -546
  736. package/dist/core/noisePaints-B_axPpuv.js +0 -3619
  737. package/dist/core/noiseStylize-CUrW_HiC.js +0 -65
  738. package/dist/core/overlay-W4DAsSzP.js +0 -4712
  739. package/dist/core/patterns-RTt6Fek8.js +0 -9723
  740. package/dist/core/pointerFields-Ch_-cbCV.js +0 -2339
  741. package/dist/core/porters-CQwDd2t4.js +0 -30201
  742. package/dist/core/reveal-dbBiS7gE.js +0 -1688
  743. package/dist/core/sdf3d-BMqCSSPB.js +0 -21082
  744. package/dist/core/shaderRegistry-Bs0XOv9A.js +0 -443
  745. package/dist/core/shape-B2CoDi6l.js +0 -20
  746. package/dist/core/shapePaints-7HrXeLYX.js +0 -3354
  747. package/dist/core/signal-emJuvOI3.js +0 -34
  748. package/dist/core/slots-BqIef2iV.js +0 -32
  749. package/dist/core/stylize-CiN0ZaMu.js +0 -4541
  750. package/dist/core/tone-CsRho9qb.js +0 -763
  751. package/dist/core/warpMaps-Dbuleg2M.js +0 -10773
  752. package/dist/core/warps-gIr3RmZV.js +0 -276
  753. /package/dist/core/{transformations-CzFmhZww.js → transformations-P50Uo_Ju.js} +0 -0
@@ -4,12 +4,24 @@ import { PointwiseEffect } from '../types';
4
4
  import { PropRef } from '../values';
5
5
  import { ArgSpec } from '../invoke';
6
6
 
7
- /** A lowered light value — evaluate against the composition params. */
7
+ /**
8
+ * A light or a frame waiting for the shader's params. Call it with `params` inside a
9
+ * `paint` or `effect` function to get its value at this pixel.
10
+ */
8
11
  export type LightValue = (params: GpuFragmentParams) => Expr;
9
12
  /**
10
- * `rayBands` — banded shimmer along an axis: a traveling sine over `along`, lifted to
11
- * [0, 1] and sharpened by a power curve. Higher `sharpness` narrows the bright bands.
12
- * Feed a noise-warped `along` for organic rays (aurora curtains, godray shimmer, fabric).
13
+ * Bright bands that travel along a coordinate, for aurora curtains or shimmering rays.
14
+ *
15
+ * Returns a 0–1 field. `along` is the coordinate the bands cross (a uv axis, or a
16
+ * noise-warped one for organic rays), `frequency` the band count per unit of it, and
17
+ * `time` × `speed` how fast they travel. `sharpness` above 1 narrows the bright bands.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const rays = rayBands({along: params.ctx.uv.member('x'), frequency: 12, time: animatedTime(params), speed: 0.3, sharpness: 2})
22
+ * ```
23
+ * @tip Add a noise field to `along` before passing it and the straight bands turn into curtains.
24
+ * @see rayLobes, streakBand
13
25
  */
14
26
  export declare function rayBands(opts: {
15
27
  along: Expr;
@@ -20,19 +32,35 @@ export declare function rayBands(opts: {
20
32
  sharpness: Expr | number;
21
33
  }): Expr;
22
34
  /**
23
- * `emitterFalloff` — how light spilling from an emitter dims with distance `d` from it:
24
- * `(radius / (radius + d))^power` — 1 at the emitter, softened over `radius`, then a 1/d
25
- * line-emitter tail at power 1 tightening toward a 1/d² point-emitter tail at power 2. The
26
- * long-tailed cousin of the gaussian {@link glowSpot}: real irradiance, not a soft blob.
35
+ * How light spilling from an emitter dims with distance, with a long realistic tail.
36
+ *
37
+ * Returns 1 at the emitter, softened over `radius`, then fading like real light. `d` and
38
+ * `radius` share a unit (usually aspect-corrected uv). `power` 1 fades like a line of light,
39
+ * `power` 2 like a point. Use it where `glowPoint` looks too much like a soft blob.
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * const spill = emitterFalloff(frame.member('x'), {radius: p('radius'), power: 2})
44
+ * ```
45
+ * @see glowPoint, glowSpot
27
46
  */
28
47
  export declare function emitterFalloff(d: Expr, opts: {
29
48
  radius: Expr | number;
30
49
  power: Expr | number;
31
50
  }): Expr;
32
51
  /**
33
- * `glowAt` — a round gaussian glow at a position in aspect-corrected UV space:
34
- * `exp(−0.5·dist²/sizeSq)`. Takes the SQUARED radius (callers usually drive several glows from
35
- * CPU-computed data). The positional cousin of {@link glowSpot}.
52
+ * A soft round glow at a position on the canvas.
53
+ *
54
+ * Returns a 0–1 field, 1 at the position. `x` and `y` are in uv (0–1, y down), `aspect` is
55
+ * the canvas width over height so the glow stays round, and `sizeSq` is the glow radius
56
+ * squared. Pass several with different positions and sum them with `additive`.
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * const glow = glowAt({uv: params.ctx.uv, aspect: params.ctx.aspect, x: 0.5, y: 0.4, sizeSq: 0.02})
61
+ * ```
62
+ * @tip The radius goes in squared: a glow 0.15 across the canvas is `sizeSq: 0.0225`.
63
+ * @see glowSpot, glowPoint, radialFrame
36
64
  */
37
65
  export declare function glowAt(opts: {
38
66
  uv: Expr;
@@ -42,10 +70,17 @@ export declare function glowAt(opts: {
42
70
  sizeSq: Expr | number;
43
71
  }): Expr;
44
72
  /**
45
- * `domeNormal` — a fake surface: the normal field of a flat disc treated as a bulging dome
46
- * ("make it look puffy" — the Bevel & Emboss family's opening move). Geometry only; light
47
- * it with {@link shine}. `bulge.tilt` sets how far normals lean outward at the rim,
48
- * `bulge.drop` how much the dome flattens toward the edge. Defaults are the house dome.
73
+ * The surface normals of a flat disc treated as a puffy dome, ready to light with `shine`.
74
+ *
75
+ * `delta` is the offset from the disc center, `dist` its length and `radius` the disc size,
76
+ * all in the same unit. `bulge.tilt` (default 0.2) sets how far the normals lean outward at
77
+ * the rim and `bulge.drop` (default 0.1) how much the dome flattens toward its edge.
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * const highlight = shine({normal: domeNormal({delta, dist, radius}), light: vec3(0.3, -0.5, 0.8), gloss: 32})
82
+ * ```
83
+ * @see shine
49
84
  */
50
85
  export declare function domeNormal(opts: {
51
86
  delta: Expr;
@@ -57,10 +92,18 @@ export declare function domeNormal(opts: {
57
92
  };
58
93
  }): Expr;
59
94
  /**
60
- * `shine` — light a normal field: the specular lobe of a unit light direction against
61
- * `normal`, viewed along +z (the 2.5D worldview). Returns the RAW lobe — scale by
62
- * intensity × coverage at the call site. Shines anything that yields a normal: a
63
- * {@link domeNormal}, a bevel, a heightfield slope, a material surface.
95
+ * A specular highlight on any surface that gives you a normal.
96
+ *
97
+ * Returns the raw 0–1 highlight, viewed straight on. Multiply it by your intensity and the
98
+ * shape's coverage yourself. `light` is a unit direction toward the light and `gloss` sets
99
+ * the highlight's tightness (8 is broad, 32 is a small hot spot). Works with `domeNormal`,
100
+ * a bevel, or a heightfield slope.
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * const highlight = mul(shine({normal, light: vec3(0.3, -0.5, 0.8), gloss: p('gloss')}), mask)
105
+ * ```
106
+ * @see domeNormal
64
107
  */
65
108
  export declare function shine(opts: {
66
109
  normal: Expr;
@@ -68,74 +111,194 @@ export declare function shine(opts: {
68
111
  gloss: Expr | number;
69
112
  }): Expr;
70
113
  /**
71
- * A light part over a frame's local coordinates. Radial-frame parts read
72
- * `vec2(dist, angle)`; beam-frame parts read `vec2(u, v)`.
114
+ * A light shaped over a frame's coordinates. Parts for `radialFrame` read distance and
115
+ * angle (`vec2(dist, angle)`); parts for `beamFrame` read distance along and across the
116
+ * beam (`vec2(u, v)`). Evaluate one with `withFrame`, combine several with `modulate`.
73
117
  */
74
118
  export type LightPart = (frame: Expr, params: GpuFragmentParams) => Expr;
75
119
  /**
76
- * Distance + angle (`vec2(dist, angle)`) around an unflipped centre prop in aspect-corrected
77
- * space — the radial frame of a burst, halo or sweep.
120
+ * The frame for a burst, halo or sweep around a center prop.
121
+ *
122
+ * Gives each pixel its distance and angle from the center as `vec2(dist, angle)`. Distance
123
+ * is in aspect-corrected uv (0.5 is half the canvas height), the angle in radians. `center`
124
+ * is a position prop. Evaluate parts in it with `withFrame`.
125
+ *
126
+ * @example
127
+ * ```ts
128
+ * coverage: withFrame(radialFrame(p('center')), modulate(rayLobes({count: p('rays'), spin: -1, sharpness: 4}), featherMask({radius: p('radius'), feather: 0.5})), 'burst')
129
+ * ```
130
+ * @see withFrame, seamlessRadialFrame, beamFrame
78
131
  */
79
132
  export declare function radialFrame(center: PropRef): LightValue;
80
133
  /**
81
- * The seam-free radial frame volumetric rays march in — distance plus a wrap-free angular
82
- * coordinate around `center`.
134
+ * The frame `noiseRays` needs: a radial frame around a center prop with no visible seam.
135
+ *
136
+ * Patterns that repeat around an angle show a line where the angle wraps. This frame carries
137
+ * what a part needs to hide it. Only `noiseRays` reads it. `center` is a position prop.
138
+ *
139
+ * @example
140
+ * ```ts
141
+ * coverage: withFrame(seamlessRadialFrame(p('center')), noiseRays({density: p('density'), intensity: p('intensity'), spotty: p('spotty')}))
142
+ * ```
143
+ * @tip The other radial parts (`glowPoint`, `rayLobes`, `featherMask`) read `radialFrame`, not this one. Its layout is different.
144
+ * @see noiseRays, radialFrame
83
145
  */
84
146
  export declare function seamlessRadialFrame(center: PropRef): LightValue;
85
147
  /**
86
- * The local frame of a beam anchored at a point and aimed at the canvas centre:
87
- * `vec2(u, v)` — distance along the beam and lateral offset — in aspect-corrected space.
88
- * Reads the raw filter context (a pointwise effect's frame, not a generator's).
148
+ * The frame of a beam that starts at an anchor prop and points at the canvas center.
149
+ *
150
+ * Gives each pixel its distance along the beam and its sideways offset from it as
151
+ * `vec2(u, v)`, in aspect-corrected uv. Drag the anchor anywhere and the beam still points
152
+ * inward. Built for filters over a child (a light leak inside `screenGlow`), where it reads
153
+ * the child's uv.
154
+ *
155
+ * @example
156
+ * ```ts
157
+ * const frame = local(beamFrame(p('position'))(params), 'leakFrame')
158
+ * ```
159
+ * @see beamBloom, beamStreaks, screenGlow
89
160
  */
90
161
  export declare function beamFrame(anchor: PropRef): LightValue;
91
162
  /**
92
- * Evaluate a light part in a frame — the composition root of a framed light recipe. A `hint`
93
- * names the stage and binds the frame as a WGSL local (required when the part reads the frame
94
- * more than once).
163
+ * Evaluate a light part in a frame.
164
+ *
165
+ * This is where a framed light starts: a frame, then the part (or `modulate` of several)
166
+ * drawn in it. Pass a name as the third argument when the part reads the frame more than
167
+ * once, so the frame is computed once per pixel. `modulate` always reads it more than once.
168
+ *
169
+ * @example
170
+ * ```ts
171
+ * coverage: withFrame(radialFrame(p('center')), modulate(softRayLobes({count: p('rayCount'), softness: p('softness'), spin: -1}), featherMask({radius: p('radius'), feather: p('feather')})), 'burstFrame')
172
+ * ```
173
+ * @tip Without the name, a `modulate` of two parts computes the frame twice.
174
+ * @see radialFrame, beamFrame, modulate
95
175
  */
96
176
  export declare function withFrame(frame: LightValue, part: LightPart, hint?: string): LightValue;
97
- /** Multiply light parts over one frame (a mask over a pattern). */
177
+ /**
178
+ * Multiply light parts drawn in the same frame, such as a mask over a pattern.
179
+ *
180
+ * @example
181
+ * ```ts
182
+ * modulate(rayLobes({count: 12, spin: -1, sharpness: 4}), glowPoint({sharpness: 6}), featherMask({radius: p('radius'), feather: 0.4}))
183
+ * ```
184
+ * @see withFrame, additive
185
+ */
98
186
  export declare function modulate(first: LightPart, ...rest: LightPart[]): LightPart;
99
- /** Rotating sine ray lobes around the frame angle — `count` lobes, spun by the animated clock × `spin`, narrowed by `sharpness`. */
187
+ /**
188
+ * Soft rays fanning out from the center of a radial frame, turning with the layer's clock.
189
+ *
190
+ * Returns a 0–1 field with `count` rays. `spin` is a plain number that scales the clock:
191
+ * 1 turns counter-clockwise, -1 clockwise, 0 holds still. `sharpness` above 1 narrows the
192
+ * bright rays, below 1 widens them.
193
+ *
194
+ * @example
195
+ * ```ts
196
+ * coverage: withFrame(radialFrame(p('center')), rayLobes({count: p('rays'), spin: -1, sharpness: 4}))
197
+ * ```
198
+ * @see softRayLobes, raySpikes, radialFrame
199
+ */
100
200
  export declare function rayLobes(slots: {
101
201
  count: ArgSpec;
102
202
  spin: number;
103
203
  sharpness: ArgSpec;
104
204
  }): LightPart;
105
205
  /**
106
- * {@link rayLobes} driven by a designer-facing softness slider (softness inverts into the lobe
107
- * exponent, so soft rays widen without moving their centres). `spin` scales the animated clock
108
- * (negative = clockwise).
206
+ * `rayLobes` with a softness slider instead of a sharpness.
207
+ *
208
+ * `softness` 0 gives crisp rays and 1 gives wide soft ones. The rays widen without moving.
209
+ * `spin` is a plain number scaling the layer's clock: negative turns clockwise.
210
+ *
211
+ * @example
212
+ * ```ts
213
+ * coverage: withFrame(radialFrame(p('center')), softRayLobes({count: p('rayCount'), softness: p('softness'), spin: -1}))
214
+ * ```
215
+ * @see rayLobes, featherMask
109
216
  */
110
217
  export declare function softRayLobes(slots: {
111
218
  count: ArgSpec;
112
219
  softness: ArgSpec;
113
220
  spin: number;
114
221
  }): LightPart;
115
- /** Diffraction-style spikes with hard nulls — pass `blades / 2` as `halfCount`; high power thins. */
222
+ /**
223
+ * Thin star spikes with dark gaps between them, like light through a camera aperture.
224
+ *
225
+ * Returns a 0–1 field with twice `halfCount` spikes, so pass half the spike count you want.
226
+ * `power` from 3 to 8 makes them thinner. The spikes do not turn.
227
+ *
228
+ * @example
229
+ * ```ts
230
+ * coverage: withFrame(radialFrame(p('center')), modulate(raySpikes({halfCount: 3, power: 5}), glowPoint({sharpness: 12})))
231
+ * ```
232
+ * @see rayLobes, flareStarburst
233
+ */
116
234
  export declare function raySpikes(slots: {
117
235
  halfCount: ArgSpec;
118
236
  power: ArgSpec;
119
237
  }): LightPart;
120
- /** Three concentric chromatic ring bands (R outside, B inside for positive spread) as an RGB. */
238
+ /**
239
+ * Three thin colored rings around the center, the rainbow edge of a lens or a halo.
240
+ *
241
+ * Returns an RGB, not a field. The red ring sits at `center` + `spread`, green at `center`,
242
+ * blue at `center` - `spread`, each `width` wide, all in the frame's distance unit. A
243
+ * positive `spread` puts red outside, as a real lens does.
244
+ *
245
+ * @example
246
+ * ```ts
247
+ * const rings = withFrame(radialFrame(p('center')), ringBand({center: p('radius'), spread: 0.01, width: 0.02}))(params)
248
+ * ```
249
+ * @see flareHalo, glowPoint
250
+ */
121
251
  export declare function ringBand(slots: {
122
252
  center: ArgSpec;
123
253
  spread: ArgSpec;
124
254
  width: ArgSpec;
125
255
  }): LightPart;
126
- /** An isotropic Gaussian falloff over the frame distance: `exp(-(dist² · sharpness))`. */
256
+ /**
257
+ * A soft glow at the center of a radial frame with no hard edge.
258
+ *
259
+ * Returns a 0–1 field, 1 at the center. `sharpness` is one over the radius squared, so a
260
+ * larger value gives a tighter glow: for a glow that reaches radius `r`, pass `1 / (r * r)`.
261
+ *
262
+ * @example
263
+ * ```ts
264
+ * coverage: withFrame(radialFrame(p('center')), glowPoint({sharpness: 8}))
265
+ * ```
266
+ * @tip Sharpness is not a radius. Turning it up makes the glow smaller.
267
+ * @see featherMask, emitterFalloff, glowAt
268
+ */
127
269
  export declare function glowPoint(slots: {
128
270
  sharpness: ArgSpec;
129
271
  }): LightPart;
130
- /** The outer fade of a bounded radial light: 1 inside `radius`, fading over the last `feather` fraction. */
272
+ /**
273
+ * A round mask that is solid inside a radius and fades out at its edge.
274
+ *
275
+ * Returns 1 inside, fading to 0 at `radius` (in the frame's distance unit). `feather` is the
276
+ * fraction of the radius spent fading: 0 is a hard edge, 1 fades all the way from the
277
+ * center. Multiply it with a pattern in `modulate` to give a light an outer edge.
278
+ *
279
+ * @example
280
+ * ```ts
281
+ * modulate(rayLobes({count: 12, spin: -1, sharpness: 4}), featherMask({radius: p('radius'), feather: p('feather')}))
282
+ * ```
283
+ * @see glowPoint, modulate
284
+ */
131
285
  export declare function featherMask(slots: {
132
286
  radius: ArgSpec;
133
287
  feather: ArgSpec;
134
288
  }): LightPart;
135
289
  /**
136
- * Two seam-free noise layers accumulated into a volumetric ray coverage over the frame,
137
- * animated on the definition's clock: `density` sets sector frequency, `intensity` ray
138
- * visibility, `spotty` the spot density along each ray.
290
+ * Volumetric god rays: shafts of light drifting outward from the center, moving on the
291
+ * layer's clock.
292
+ *
293
+ * Returns a 0–1 coverage. `density` sets how many shafts, `intensity` (0–1) how visible they
294
+ * are, and `spotty` breaks each shaft into drifting spots along its length. Draw it in
295
+ * `seamlessRadialFrame`, not `radialFrame`.
296
+ *
297
+ * @example
298
+ * ```ts
299
+ * coverage: withFrame(seamlessRadialFrame(p('center')), noiseRays({density: p('density'), intensity: p('intensity'), spotty: p('spotty')}))
300
+ * ```
301
+ * @see seamlessRadialFrame, coverageOver
139
302
  */
140
303
  export declare function noiseRays(slots: {
141
304
  density: ArgSpec;
@@ -143,36 +306,150 @@ export declare function noiseRays(slots: {
143
306
  spotty: ArgSpec;
144
307
  }): LightPart;
145
308
  /**
146
- * The slow drift/breathing signal pack of a bleeding light: breath gain in `.x`, streak drift
147
- * offsets in the rest. `flicker` sets the breathing depth, `seed` re-rolls the pattern.
309
+ * The slow breathing and drifting signals that keep a light leak alive.
310
+ *
311
+ * Call the result with a clock and the params. It returns four numbers: `.x` is a
312
+ * brightness gain to multiply your light by (1 with `flicker` at 0, breathing between 0.25
313
+ * and 1.75 at 1), and the rest are the slow drifts `beamBloom` and `beamStreaks` read. Pass
314
+ * the whole value to them as `drift`. `seed` re-rolls the pattern.
315
+ *
316
+ * @example
317
+ * ```ts
318
+ * const drift = local(slowDrift({seed: p('seed'), flicker: p('flicker')})(animatedTime(params), params), 'leakDrift')
319
+ * ```
320
+ * @see beamBloom, beamStreaks, beamFrame
148
321
  */
149
322
  export declare function slowDrift(slots: {
150
323
  seed: ArgSpec;
151
324
  flicker: ArgSpec;
152
325
  }): (clock: Expr, params: GpuFragmentParams) => Expr;
153
- /** The main anisotropic glow pool (`.x`) and its wider shoulder (`.y`) along a beam frame. */
326
+ /**
327
+ * The soft pool of light at the start of a beam, with a wider faint shoulder around it.
328
+ *
329
+ * Call the result with a `beamFrame` value, a `slowDrift` value and the params. It returns
330
+ * `vec2(main, shoulder)`, two 0–1 fields you usually add together. `spread` is the pool's
331
+ * size in the frame's unit (aspect-corrected uv), at least 0.05.
332
+ *
333
+ * @example
334
+ * ```ts
335
+ * const bloom = beamBloom({spread: p('spread')})(frame, drift, params)
336
+ * const heat = add(mul(bloom.member('x'), 1.25), bloom.member('y'))
337
+ * ```
338
+ * @see beamFrame, slowDrift, beamStreaks
339
+ */
154
340
  export declare function beamBloom(slots: {
155
341
  spread: ArgSpec;
156
342
  }): (frame: Expr, drift: Expr, params: GpuFragmentParams) => Expr;
157
- /** Drifting parallel streak bands further into the frame along the beam. */
343
+ /**
344
+ * Two bright bands crossing a beam further along it, slowly drifting, like light bouncing
345
+ * inside a film camera.
346
+ *
347
+ * Call the result with a `beamFrame` value, a `slowDrift` value and the params. It returns
348
+ * a field scaled by `strength` (0 turns the bands off). `spread` is the same value you gave
349
+ * `beamBloom`, so the bands sit past the pool.
350
+ *
351
+ * @example
352
+ * ```ts
353
+ * const streaks = beamStreaks({spread: p('spread'), strength: p('streaks')})(frame, drift, params)
354
+ * ```
355
+ * @see beamBloom, slowDrift, streakBand
356
+ */
158
357
  export declare function beamStreaks(slots: {
159
358
  spread: ArgSpec;
160
359
  strength: ArgSpec;
161
360
  }): (frame: Expr, drift: Expr, params: GpuFragmentParams) => Expr;
162
- /** Hash dither over a heat field to hide ramp banding. */
361
+ /**
362
+ * Adds a trace of noise to a heat field so long soft ramps do not show bands.
363
+ *
364
+ * Pass the summed heat, the pixel's uv and a clock. Use it right before `heatRamp`. This is
365
+ * for a heat field, not a color: use `compose.dithered` for a finished color.
366
+ *
367
+ * @example
368
+ * ```ts
369
+ * return heatRamp({hot: p('colorHot'), mid: p('colorMid'), fringe: p('colorFringe')}).taps(dithered(heat, params.ctx.uv, animatedTime(params)), params)
370
+ * ```
371
+ * @see heatRamp
372
+ */
163
373
  export declare function dithered(heat: Expr, uv: Expr, clock: Expr): Expr;
164
374
  /**
165
- * An elliptical Gaussian glow over a pre-normalized 2D offset (each axis already divided by its
166
- * own radius): `exp(-(du² + dv²) · sharpness)`. The core of a bloom, a glare, or a soft pool.
375
+ * A soft oval glow over an offset you have already scaled, the core of a bloom or a glare.
376
+ *
377
+ * Returns a 0–1 field. Divide each axis of the offset by its own radius first: `du` and
378
+ * `dv` at different radii make the glow oval. `sharpness` larger gives a tighter glow.
379
+ *
380
+ * @example
381
+ * ```ts
382
+ * const pool = glowSpot(div(dx, p('width')), div(dy, p('height')), 2)
383
+ * ```
384
+ * @see glowAt, glowPoint, beamBloom
167
385
  */
168
386
  export declare function glowSpot(du: Expr, dv: Expr, sharpness: Expr): Expr;
169
- /** One soft Gaussian band across a 1D coordinate, peaking at `center` with the given `width`. */
387
+ /**
388
+ * A four-point star of light: a round core with a thin ray along each axis, like a glint
389
+ * off glitter or a star in a photograph.
390
+ *
391
+ * `offset` is the pixel's position relative to the star's centre, as a `vec2`, in whatever
392
+ * unit you measure the star in (CSS pixels suit small glints). Returns the brightness: 1 at
393
+ * the centre, falling off along the rays and faster everywhere else. `core` is the core's
394
+ * sharpness (larger is a smaller dot). `rayLength` and `rayWidth` are falloff rates along and
395
+ * across each ray (smaller rayLength is a longer ray). `rays` is the rays' brightness
396
+ * relative to the core.
397
+ *
398
+ * @example
399
+ * ```ts
400
+ * const glint = starGlint(offset, {core: 0.9, rayLength: 0.45, rayWidth: 1.6, rays: 0.25})
401
+ * ```
402
+ * @tip Multiply by a `flashes` blink for a sparkle that comes and goes. Set `reach` to half
403
+ * the cell size when the glints sit on a `scatterPoints` grid, so long rays never hit a cell edge.
404
+ * @see glowSpot, raySpikes, flareStarburst
405
+ */
406
+ export declare function starGlint(offset: Expr, opts: {
407
+ core: Expr | number;
408
+ rayLength: Expr | number;
409
+ rayWidth: Expr | number;
410
+ rays: Expr | number;
411
+ /** Optional: the glint fades to nothing by this distance from its centre (measured along the larger axis). */
412
+ reach?: Expr | number;
413
+ }): Expr;
414
+ /**
415
+ * One soft band across a single coordinate, peaking at `center`.
416
+ *
417
+ * Returns a 0–1 field, 1 at `center`, fading over `width` on each side. `u`, `center` and
418
+ * `width` share a unit. Multiply or add several for a stack of parallel bands.
419
+ *
420
+ * @example
421
+ * ```ts
422
+ * const bar = streakBand(params.ctx.uv.member('y'), 0.5, p('width'))
423
+ * ```
424
+ * @see rayBands, beamStreaks
425
+ */
170
426
  export declare function streakBand(u: Expr, center: Expr, width: Expr): Expr;
171
- /** Project a point onto a segment: `vec2(t, distance)` with `t` clamped to [0,1]. */
427
+ /**
428
+ * Where a pixel falls along a line from `a` to `b`, and how far it is from that line.
429
+ *
430
+ * Returns `vec2(t, distance)`. `t` runs 0 at `a` to 1 at `b` and is clamped, so the ends
431
+ * are rounded. All three points share a unit. Feed both values to `lightBeam`.
432
+ *
433
+ * @example
434
+ * ```ts
435
+ * const seg = segmentProject(uv, p('start'), p('end'))
436
+ * ```
437
+ * @see lightBeam
438
+ */
172
439
  export declare function segmentProject(p: Expr, a: Expr, b: Expr): Expr;
173
440
  /**
174
- * The glow cross-section of a tapered beam: thickness/softness interpolate end-to-end along the
175
- * segment parameter; returns `vec2(colorT, alpha)`.
441
+ * The glow of a beam that can be thicker or softer at one end than the other.
442
+ *
443
+ * Give it the distance from the line and the position along it from `segmentProject`.
444
+ * Thickness and softness blend from `start` to `end` along the beam, in the distance unit.
445
+ * Returns `vec2(colorT, alpha)`: `alpha` is 1 inside the beam and fades to 0 outside, and
446
+ * `colorT` runs 0 at the core to 1 at the edge so you can shade the two differently.
447
+ *
448
+ * @example
449
+ * ```ts
450
+ * const beam = lightBeam(seg.member('y'), seg.member('x'), {start: p('startThickness'), end: p('endThickness')}, {start: p('startSoftness'), end: p('endSoftness')})
451
+ * ```
452
+ * @see segmentProject
176
453
  */
177
454
  export declare function lightBeam(dist: Expr, t: Expr, thickness: {
178
455
  start: Expr;
@@ -182,8 +459,17 @@ export declare function lightBeam(dist: Expr, t: Expr, thickness: {
182
459
  end: Expr;
183
460
  }): Expr;
184
461
  /**
185
- * The shared frame of a camera flare: light position, flare axis, master fade (intensity ×
186
- * edge fade × shimmer), and the pixel's polar coordinates about the light.
462
+ * The shared frame of a camera lens flare, which every `flare*` part reads.
463
+ *
464
+ * `position` is the light's position prop. `intensity` scales the whole flare and
465
+ * `edgeFade` (0–1) dims it as the light nears the canvas edge. Bind it once with a name and
466
+ * hand the same value to each part, then close the stack with `flareComposite`.
467
+ *
468
+ * @example
469
+ * ```ts
470
+ * const flare = local(flareFrame({position: p('lightPosition'), intensity: p('intensity'), edgeFade: p('edgeFade')})(params), 'flare')
471
+ * ```
472
+ * @see flareCore, flareGlare, flareHalo, flareStarburst, flareStreak, lensGhost, flareComposite
187
473
  */
188
474
  export declare function flareFrame(slots: {
189
475
  position: PropRef;
@@ -191,56 +477,163 @@ export declare function flareFrame(slots: {
191
477
  edgeFade: ArgSpec;
192
478
  }): LightValue;
193
479
  /**
194
- * One internal-reflection ghost disc along the flare axis: `disc` = offset/size/bright/hollow,
195
- * `tint` = r/g/b/gPhase.
480
+ * One ghost disc of a lens flare, the faint circles that line up across from the light.
481
+ *
482
+ * Call the result once per ghost with the flare frame, a `disc` and a `tint`, and sum the
483
+ * calls with `additive`. `disc` is `[offset, size, brightness, hollow]`: how far along the
484
+ * axis from the light (scaled by `spread`), radius in aspect-corrected uv, brightness, and
485
+ * 0–1 for a solid disc to a ring. `tint` is `[r, g, b, phase]`, the color and a shimmer
486
+ * offset. `chroma` (0–1) adds a rainbow rim. Returns an RGB.
487
+ *
488
+ * @example
489
+ * ```ts
490
+ * const ghost = lensGhost({intensity: p('ghostIntensity'), spread: p('ghostSpread'), chroma: p('ghostChroma')})
491
+ * const ghosts = additive(ghost(flare, [0.15, 0.20, 0.30, 0.10], [1.0, 0.95, 0.90, 0.0], params), ghost(flare, [0.30, 0.12, 0.25, 0.65], [1.0, 0.85, 0.55, 2.17], params))
492
+ * ```
493
+ * @see flareFrame, additive, flareHalo
196
494
  */
197
495
  export declare function lensGhost(slots: {
198
496
  intensity: ArgSpec;
199
497
  spread: ArgSpec;
200
498
  chroma: ArgSpec;
201
499
  }): (flare: Expr, disc: [number, number, number, number], tint: [number, number, number, number], params: GpuFragmentParams) => Expr;
202
- /** The chromatic halo ring about the light. */
500
+ /**
501
+ * The rainbow halo ring of a lens flare, drawn across the canvas from the light.
502
+ *
503
+ * Call the result with the flare frame and the params. The ring centers on the point
504
+ * opposite the light through the canvas center. `radius` is in aspect-corrected uv,
505
+ * `chroma` (0–1) splits it into colors and `softness` widens it. Returns an RGB.
506
+ *
507
+ * @example
508
+ * ```ts
509
+ * flareHalo({intensity: p('haloIntensity'), radius: p('haloRadius'), chroma: p('haloChroma'), softness: p('haloSoftness')})(flare, params)
510
+ * ```
511
+ * @see flareFrame, ringBand, lensGhost
512
+ */
203
513
  export declare function flareHalo(slots: {
204
514
  intensity: ArgSpec;
205
515
  radius: ArgSpec;
206
516
  chroma: ArgSpec;
207
517
  softness: ArgSpec;
208
518
  }): (flare: Expr, params: GpuFragmentParams) => Expr;
209
- /** The diffraction-spike starburst about the light. */
519
+ /**
520
+ * The star of thin spikes around the light in a lens flare.
521
+ *
522
+ * Call the result with the flare frame and the params. `points` is the number of spikes.
523
+ * They turn slowly with the layer's clock and carry a faint rainbow tint. Returns an RGB.
524
+ *
525
+ * @example
526
+ * ```ts
527
+ * flareStarburst({intensity: p('starburstIntensity'), points: p('starburstPoints')})(flare, params)
528
+ * ```
529
+ * @see flareFrame, raySpikes
530
+ */
210
531
  export declare function flareStarburst(slots: {
211
532
  intensity: ArgSpec;
212
533
  points: ArgSpec;
213
534
  }): (flare: Expr, params: GpuFragmentParams) => Expr;
214
- /** The anamorphic horizontal streak through the light. */
535
+ /**
536
+ * The horizontal widescreen streak through the light in a lens flare.
537
+ *
538
+ * Call the result with the flare frame and the params. `length` is the streak's reach in
539
+ * uv. Blue spreads furthest, giving the streak its cyan edges. Returns an RGB.
540
+ *
541
+ * @example
542
+ * ```ts
543
+ * flareStreak({intensity: p('streakIntensity'), length: p('streakLength')})(flare, params)
544
+ * ```
545
+ * @see flareFrame, streakBand
546
+ */
215
547
  export declare function flareStreak(slots: {
216
548
  intensity: ArgSpec;
217
549
  length: ArgSpec;
218
550
  }): (flare: Expr, params: GpuFragmentParams) => Expr;
219
- /** The broad veiling glare about the light. */
551
+ /**
552
+ * The broad warm-white wash around the light that lifts contrast near it.
553
+ *
554
+ * Call the result with the flare frame and the params. `size` is the wash radius in
555
+ * aspect-corrected uv. Returns an RGB.
556
+ *
557
+ * @example
558
+ * ```ts
559
+ * flareGlare({intensity: p('glareIntensity'), size: p('glareSize')})(flare, params)
560
+ * ```
561
+ * @see flareFrame, flareCore
562
+ */
220
563
  export declare function flareGlare(slots: {
221
564
  intensity: ArgSpec;
222
565
  size: ArgSpec;
223
566
  }): (flare: Expr, params: GpuFragmentParams) => Expr;
224
- /** The bright core at the light itself. */
567
+ /**
568
+ * The bright point at the light itself: a hard pinpoint inside a small soft glow.
569
+ *
570
+ * Call the result with the flare frame and the params. Returns an RGB.
571
+ *
572
+ * @example
573
+ * ```ts
574
+ * flareCore({intensity: p('intensity')})(flare, params)
575
+ * ```
576
+ * @see flareFrame, flareGlare
577
+ */
225
578
  export declare function flareCore(slots: {
226
579
  intensity: ArgSpec;
227
580
  }): (flare: Expr, params: GpuFragmentParams) => Expr;
228
- /** Finish an additive light stack: scale by the frame's master fade with a luminance-derived alpha. */
581
+ /**
582
+ * Closes a lens flare: turns the summed flare parts into the color to return from `paint`.
583
+ *
584
+ * Pass the `additive` sum of the parts and the flare frame. The frame's intensity, edge fade
585
+ * and shimmer are applied here, and alpha comes from how bright the flare is.
586
+ *
587
+ * @example
588
+ * ```ts
589
+ * return flareComposite(additive(ghosts, halo, starburst, streak, glare, core), flare)
590
+ * ```
591
+ * @see additive, flareFrame
592
+ */
229
593
  export declare function flareComposite(total: Expr, flare: Expr): Expr;
230
594
  /**
231
- * Quadratic corner-darkening mask about the frame centre, aspect-corrected from the effective
232
- * viewport. `strength` 0 disables it; `scale` remaps a designer-range slider into mask units.
595
+ * Darkens the corners of the canvas.
596
+ *
597
+ * Returns a field that is 1 at the center and falls toward 0 in the corners, kept round on
598
+ * any canvas shape. Multiply your color by it. `strength` 0 leaves the image alone and
599
+ * about 2 takes the corners to black. `scale` multiplies `strength`, for mapping a 0–100
600
+ * slider onto that range.
601
+ *
602
+ * @example
603
+ * ```ts
604
+ * const vig = vignetteMask({strength: p('vignette'), scale: 0.025})(params)
605
+ * return vec4(mul(rgb, vig), 1)
606
+ * ```
607
+ * @see featherMask
233
608
  */
234
609
  export declare function vignetteMask(slots: {
235
610
  strength: ArgSpec;
236
611
  scale?: number;
237
612
  }): LightValue;
238
- /** Sum additive light contributions: `a + b + c + …` in the given order. */
613
+ /**
614
+ * Adds lights together, since light from several sources simply sums.
615
+ *
616
+ * @example
617
+ * ```ts
618
+ * const total = additive(glare, halo, core)
619
+ * ```
620
+ * @see modulate, flareComposite
621
+ */
239
622
  export declare function additive(first: Expr, ...rest: Expr[]): Expr;
240
623
  /**
241
- * A slot-bound overexposure ramp (fringe → mid → hot, with chromatic per-channel taps): binds the
242
- * three ramp color props and yields the RGB of any heat field. The visible "color story" part
243
- * of a light leak or glow.
624
+ * The colors of overexposed light, from a dim fringe through a mid tone to a hot core.
625
+ *
626
+ * Pass three color props. Call `.taps(heat, params)` on the result to turn a heat field into
627
+ * RGB: heat 0 is black, the fringe color shows first, the mid color by 0.5, the hot color
628
+ * above 1, and the light keeps getting brighter up to a heat of 1.6. Each channel reads a
629
+ * slightly different heat, which gives bright edges their color fringing.
630
+ *
631
+ * @example
632
+ * ```ts
633
+ * return heatRamp({hot: p('colorHot'), mid: p('colorMid'), fringe: p('colorFringe')}).taps(heat, params)
634
+ * ```
635
+ * @tip Run the heat through `dithered` first on long soft ramps.
636
+ * @see dithered, screenGlow
244
637
  */
245
638
  export declare function heatRamp(colors: {
246
639
  hot: PropRef;
@@ -248,15 +641,26 @@ export declare function heatRamp(colors: {
248
641
  fringe: PropRef;
249
642
  }): {
250
643
  kind: "heatRamp";
251
- /** The chromatic RGB of a heat field (three offset ramp taps). */
644
+ /** The RGB of a heat field through this ramp. */
252
645
  taps: (heat: Expr, params: {
253
646
  uniforms: Record<string, Expr>;
254
647
  }) => Expr;
255
648
  };
649
+ /** What `heatRamp` returns: call its `taps(heat, params)` to color a heat field. */
256
650
  export type HeatRamp = ReturnType<typeof heatRamp>;
257
651
  /**
258
- * Mix `color` over `background` component-wise (rgb AND alpha) by a coverage field; `hint`
259
- * names the coverage stage's WGSL local.
652
+ * Blends from a background color to a light color by a coverage field, as a finished paint.
653
+ *
654
+ * `color` and `background` are color props, `coverage` a 0–1 light such as a `withFrame`
655
+ * result. Both the color and the alpha blend, so a transparent background gives a light that
656
+ * fades to nothing. Pass a `hint` name when the coverage is expensive. Use `coverageOver`
657
+ * when you want real layer compositing instead of a plain blend.
658
+ *
659
+ * @example
660
+ * ```ts
661
+ * paint: coverageMix({color: p('color'), background: p('background'), coverage: withFrame(radialFrame(p('center')), glowPoint({sharpness: 6}), 'glow'), hint: 'glowAlpha'})
662
+ * ```
663
+ * @see coverageOver, withFrame
260
664
  */
261
665
  export declare function coverageMix(slots: {
262
666
  color: PropRef;
@@ -264,16 +668,36 @@ export declare function coverageMix(slots: {
264
668
  coverage: LightValue;
265
669
  hint?: string;
266
670
  }): LightValue;
267
- /** Straight-alpha composite of `color` over `background` by a coverage field (linear RGB). */
671
+ /**
672
+ * Lays a light color over a background color by a coverage field, like a layer with an
673
+ * opacity mask, as a finished paint.
674
+ *
675
+ * `color` and `background` are color props, `coverage` a 0–1 light. The color's own alpha
676
+ * counts as opacity, so a half-transparent ray color shows the background through it.
677
+ *
678
+ * @example
679
+ * ```ts
680
+ * paint: coverageOver({color: p('rayColor'), background: p('backgroundColor'), coverage: withFrame(seamlessRadialFrame(p('center')), noiseRays({density: p('density'), intensity: p('intensity'), spotty: p('spotty')}))})
681
+ * ```
682
+ * @see coverageMix, noiseRays
683
+ */
268
684
  export declare function coverageOver(slots: {
269
685
  color: PropRef;
270
686
  background: PropRef;
271
687
  coverage: LightValue;
272
688
  }): LightValue;
273
689
  /**
274
- * Screen-composite an emitted glow RGB over the child, exposure-style: screen blend +
275
- * overexposure push + a slight halation lift; emitted light raises alpha over transparent
276
- * areas too. The pointwise composition root of a light-bleed filter.
690
+ * An `effect` that shines emitted light onto the layer inside it, the way light hits film.
691
+ *
692
+ * Pass a function that builds the light's RGB from the params. The light is screened over
693
+ * the child, pushed toward overexposure where it is bright, and shows even over transparent
694
+ * areas. Build the light with `beamFrame`, `beamBloom`, `beamStreaks` and `heatRamp`.
695
+ *
696
+ * @example
697
+ * ```ts
698
+ * effect: screenGlow((params) => heatRamp({hot: p('colorHot'), mid: p('colorMid'), fringe: p('colorFringe')}).taps(heat, params))
699
+ * ```
700
+ * @see heatRamp, beamFrame
277
701
  */
278
702
  export declare function screenGlow(glow: (params: FilterParams) => Expr): PointwiseEffect;
279
703
  //# sourceMappingURL=light.d.ts.map