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
@@ -3,35 +3,47 @@ import { Field, Paint, Palette } from './fields';
3
3
  import { PropRef } from '../values';
4
4
 
5
5
  /**
6
- * One wave: coefficients on the named axes (frequency along x/y, drift speed along t) plus
7
- * an optional phase. Every field is serializable data — a wave is `{x: 3.2, t: 0.8}`:
8
- * "a wave across x at frequency 3.2, drifting at speed 0.8". Negative coefficients reverse
9
- * direction. Coefficient `1` emits the bare axis (no `× 1`).
6
+ * One traveling sine wave, written as plain data.
7
+ *
8
+ * `x`, `y` and `t` are the wave's frequency along that axis: larger is tighter, and `t` is
9
+ * its drift speed along the layer's clock. Leave an axis out to ignore it. A negative value
10
+ * runs the wave the other way. `phase` shifts the wave, in radians.
10
11
  */
11
12
  export interface Wave {
12
13
  x?: number;
13
14
  y?: number;
14
15
  t?: number;
15
- /** Radians, or a `hashPhase(...)` Expr for seeded decorrelation. */
16
+ /** Radians, or `hashPhase(...)` for a seeded random phase. */
16
17
  phase?: Expr | number;
17
18
  }
18
19
  /**
19
- * One term of a schedule: a single wave, or a product of waves (the "organic" move — an
20
- * x-wave × a y-wave interferes instead of striping). `weight` scales the term (default 1,
21
- * emitted only when ≠ 1).
20
+ * One term of a wave schedule: a single wave, or several multiplied together.
21
+ *
22
+ * Multiplying an x-wave by a y-wave gives an interference pattern instead of stripes.
23
+ * `weight` scales the term, default 1.
22
24
  */
23
25
  export interface WaveTerm {
24
26
  waves: Wave[];
25
27
  weight?: number;
26
28
  }
27
29
  /**
28
- * `waves` — overlapping traveling sine waves, schedule as data. The engine under every
29
- * "organic wobble": evaluates `Σ weightᵢ · Π sin(x·kx + y·ky + t·kt + phase)` over the
30
- * named axes, SIGNED output (tone words shape it; `warped` coords warp it — both stay
31
- * outside, deliberately). Emission is deterministic — terms sum in schedule order, waves
32
- * multiply in wave order, axes emit x → y → t → phase — so a ported schedule reproduces
33
- * its original arithmetic. Schedules are the caller's look; `organicWaves` generates one
34
- * from intent when nobody has hand-tuned constants to preserve.
30
+ * Overlapping traveling sine waves from a schedule written as data: the organic wobble
31
+ * behind blob edges, water lines and drifting fills.
32
+ *
33
+ * Pass the coordinates to wave over (`x`, optionally `y`, and `t` for the layer's clock)
34
+ * and a list of terms. Each term multiplies its waves and the terms add up. The result is
35
+ * signed: one wave runs −1 to 1, a schedule runs within about ±(sum of weights). It returns
36
+ * an expression, not a field, so it slots into `paint: (params) => …` recipes and math.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * const wobble = waves({x: delta.member('x'), y: delta.member('y'), t: time}, [
41
+ * {waves: [{x: 3, t: 0.8}, {y: 2.2, t: -0.5}]},
42
+ * {waves: [{x: 5.1, y: -3.3, t: 0.6}], weight: 0.5},
43
+ * ])
44
+ * ```
45
+ * @tip Keep the schedule as constants next to the definition. It is the look, so keep it where you can tune it.
46
+ * @see wavyLine, organicWaves, hashPhase
35
47
  */
36
48
  export declare function waves(axes: {
37
49
  x: Expr | number;
@@ -39,10 +51,18 @@ export declare function waves(axes: {
39
51
  t?: Expr | number;
40
52
  }, schedule: WaveTerm[]): Expr;
41
53
  /**
42
- * `wavyLine` — an animated organic curve: the offset of a line at coordinate `along`, as a
43
- * weighted stack of traveling sines. Sugar over {@link waves} on one axis; give each wave a
44
- * `hashPhase` to decorrelate a family of lines. Curtain paths, water horizons, wavy
45
- * baselines, cloth edges.
54
+ * The height of an animated wavy line at a point along it: a stack of traveling sines.
55
+ *
56
+ * `along` is the coordinate along the line and `time` the layer's clock. Each wave has a
57
+ * `freq` (tightness), a `speed` (drift along the clock), an `amount` (height) and an
58
+ * optional `phase` in radians. Signed, within ±(sum of amounts). Add it to a baseline to get
59
+ * the curve. Give each line of a family its own `hashPhase` so they do not move in step.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * const arc = wavyLine({along: x, time: t, waves: [{freq: 1.4, speed: 0.3, amount: 0.5}, {freq: 3.1, speed: -0.2, amount: 0.2}]})
64
+ * ```
65
+ * @see waves, hashPhase
46
66
  */
47
67
  export declare function wavyLine(opts: {
48
68
  along: Expr | number;
@@ -55,12 +75,19 @@ export declare function wavyLine(opts: {
55
75
  }[];
56
76
  }): Expr;
57
77
  /**
58
- * `organicWaves` — generate a {@link waves} schedule from intent, for authors (human or AI)
59
- * who don't have hand-tuned constants to preserve. Three knobs + seed, deliberately
60
- * (knobs grow under pressure from real use, never speculatively): `frequency` sets the base
61
- * scale, `detail` the number of product-pair layers (each ~1.8× finer, half the weight),
62
- * `drift` the animation speed. Deterministic per seed. TUNING CANDIDATE — constants pending
63
- * an eye pass; treat the output as a starting point, not a spec.
78
+ * A ready-made `waves` schedule from three knobs, for when you have no hand-tuned constants.
79
+ *
80
+ * `frequency` sets the size of the largest waves. `detail` is how many finer layers stack on
81
+ * top (default 3, each about 1.8× finer and half as strong). `drift` is the animation speed
82
+ * (default 0.5). The same `seed` always gives the same schedule. Weights are normalized so
83
+ * the summed wave stays within about −1 to 1. Treat the result as a starting point to tune.
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * const wobble = waves({x: delta.member('x'), y: delta.member('y'), t: time}, organicWaves({frequency: 3, detail: 3, drift: 0.4}))
88
+ * ```
89
+ * @tip The schedule uses x, y and t, so the axes you pass to `waves` must provide all three.
90
+ * @see waves
64
91
  */
65
92
  export declare function organicWaves(opts: {
66
93
  frequency: number;
@@ -69,96 +96,273 @@ export declare function organicWaves(opts: {
69
96
  seed?: number;
70
97
  }): WaveTerm[];
71
98
  /**
72
- * The exponential-scale noise framing: aspect-correct the UV, scale by `exp(scale)` (each +1
73
- * on the slider doubles-ish the frequency), offset by `seed`. Hands the inner field a vec2
74
- * pattern position.
99
+ * Frames a field on a zoomable plane: how big the pattern is and where it starts.
100
+ *
101
+ * Takes the canvas position, corrects it for aspect ratio, zooms it by `scale` and slides it
102
+ * by `seed`, then hands a 2D pattern position to the field inside. `scale` is exponential:
103
+ * each +1 makes the pattern about 2.7× finer, so a slider from −2 to 5 runs from coarse to
104
+ * fine. A different `seed` shows a different part of the pattern. The framing every noise
105
+ * texture opens with.
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * paint: rampOver(noiseTone(seededPlane(unitized(gaborGrains({frequency: p('frequency')})), {scale: p('scale'), seed: p('seed')})), stops(p('colorSpace')))
110
+ * ```
111
+ * @tip `noiseField` bases take a 3D position. Put `evolving` between `seededPlane` and the basis, even at `rate: 0`, to supply the third axis.
112
+ * @see evolving, pixelGrid, scaledPlane
75
113
  */
76
114
  export declare function seededPlane(field: Field, slots: {
77
115
  scale: PropRef;
78
116
  seed: PropRef;
79
117
  }): Field;
80
118
  /**
81
- * The RAW-divide exponential-scale framing (Scratches' historical domain — the unguarded
82
- * aspect divide is part of its exact arithmetic).
119
+ * @internal Scratches' historical framing: `seededPlane` with an unguarded aspect divide,
120
+ * kept so that shader's exact arithmetic is preserved. Authors use `seededPlane`.
83
121
  */
84
122
  export declare function rawPlane(field: Field, slots: {
85
123
  scale: PropRef;
86
124
  seed: PropRef;
87
125
  }): Field;
88
126
  /**
89
- * The per-pixel framing: floor the device-pixel position into `grain`-sized cells, offset by
90
- * `seed` — for patterns defined on the pixel grid (blue noise) rather than in UV space.
127
+ * Frames a field on the pixel grid: one value per block of `grain` device pixels.
128
+ *
129
+ * For patterns that live on pixels rather than on the canvas (blue noise, dither). `grain`
130
+ * is the block size in pixels (1 = every pixel), `seed` picks a different block of the
131
+ * pattern. The field inside gets whole-number pixel coordinates.
132
+ *
133
+ * @example
134
+ * ```ts
135
+ * paint: rampOver(noiseTone(pixelGrid(blueSpeckle(), {grain: p('grain'), seed: p('seed')}), {contrast: p('contrast'), balance: p('balance')}), stops(p('colorSpace')))
136
+ * ```
137
+ * @see blueSpeckle, seededPlane
91
138
  */
92
139
  export declare function pixelGrid(field: Field, slots: {
93
140
  grain: PropRef;
94
141
  seed: PropRef;
95
142
  }): Field;
96
143
  /**
97
- * The linear-scale noise framing: aspect-correct the UV and multiply by `scale` directly (no
98
- * exponential remap), bound as a local — for recipes whose parts read the same plane position
99
- * several times.
144
+ * Frames a field on the aspect-corrected canvas plane, zoomed by a plain multiplier.
145
+ *
146
+ * Unlike `seededPlane`, `scale` is linear: roughly the number of pattern cells across the
147
+ * canvas height. There is no seed. The position is computed once, so a recipe whose parts
148
+ * read it several times pays for it once.
149
+ *
150
+ * @example
151
+ * ```ts
152
+ * paint: rampOver(unitized(scaledPlane(waveletBands({detail: p('detail')}), {scale: p('scale')})), stops(p('colorSpace')))
153
+ * ```
154
+ * @see seededPlane, cellDistances
100
155
  */
101
156
  export declare function scaledPlane(field: Field, slots: {
102
157
  scale: PropRef;
103
158
  }): Field;
104
159
  /**
105
- * Lift a vec2 pattern position into 3D by walking the third axis with time — the difference
106
- * between noise that MORPHS in place (this) and noise that slides. `rate` scales the
107
- * evolution independently of the node's `speed` prop.
160
+ * Makes a 3D noise basis morph in place over time instead of sliding across the canvas.
161
+ *
162
+ * Wraps a basis that takes a 3D position (`noiseField`): the 2D pattern position from the
163
+ * framing outside becomes `(x, y, time × rate)`. `rate` multiplies the layer's clock, on top
164
+ * of the definition's `speed` prop. It sits between the framing and the basis.
165
+ *
166
+ * @example
167
+ * ```ts
168
+ * paint: rampOver(noiseTone(seededPlane(evolving(noiseField('perlin'), {rate: 0.3}), {scale: p('scale'), seed: p('seed')}), {contrast: p('contrast'), balance: p('balance')}), stops(p('colorSpace')))
169
+ * ```
170
+ * @tip The clock is the definition's `animatedTime: {speed: 'speed'}`. Without it nothing moves.
171
+ * @see seededPlane, curlSpeed
108
172
  */
109
173
  export declare function evolving(field: Field, opts: {
110
174
  rate: number;
111
175
  }): Field;
112
- /** Oriented sine grains at `frequency` waves per cell, phase-driven by the node's clock. Signed. */
176
+ /**
177
+ * Oriented sine grains: short striped patches, each facing a random way, like brushed metal
178
+ * or wood grain.
179
+ *
180
+ * `frequency` is how many stripes fit in one grain (1 to 24, default 8). The stripes slide
181
+ * along their grain on the layer's clock. Signed, −1 to 1: wrap it in `unitized` before a
182
+ * tone word. Takes a 2D position, so frame it with `seededPlane`.
183
+ *
184
+ * @example
185
+ * ```ts
186
+ * paint: rampOver(noiseTone(seededPlane(unitized(gaborGrains({frequency: p('frequency')})), {scale: p('scale'), seed: p('seed')}), {contrast: p('contrast'), balance: p('balance')}), stops(p('colorSpace')))
187
+ * ```
188
+ * @see waveletBands, unitized
189
+ */
113
190
  export declare function gaborGrains(slots: {
114
191
  frequency: PropRef;
115
192
  }): Field;
116
- /** Rotating banded wavelets; `detail` is the per-octave frequency ratio. Phase-animated, signed. */
193
+ /**
194
+ * Rotating bands of wavelets: layered ripples that turn against each other, a watery
195
+ * interference look.
196
+ *
197
+ * `detail` is the frequency ratio between the four layers (1.05 to 2, default 1.24; higher
198
+ * adds finer ripples). The bands slide on the layer's clock. Signed, about −1 to 1: wrap it
199
+ * in `unitized` before a tone word. Takes a 2D position.
200
+ *
201
+ * @example
202
+ * ```ts
203
+ * paint: rampOver(noiseTone(seededPlane(unitized(waveletBands({detail: p('detail')})), {scale: p('scale'), seed: p('seed')}), {contrast: p('contrast'), balance: p('balance')}), stops(p('colorSpace')))
204
+ * ```
205
+ * @see gaborGrains, unitized
206
+ */
117
207
  export declare function waveletBands(slots: {
118
208
  detail: PropRef;
119
209
  }): Field;
120
- /** Spatial-high-pass blue-noise speckle over a pixel-grid coordinate. Static, unit range. */
210
+ /**
211
+ * Fine, even speckle with no clumps: blue noise, one random value per pixel block.
212
+ *
213
+ * Still (no animation). Unit range, about 0 to 1, so it feeds `noiseTone` directly. Only
214
+ * makes sense over `pixelGrid`, which gives it the pixel coordinates it expects.
215
+ *
216
+ * @example
217
+ * ```ts
218
+ * paint: rampOver(noiseTone(pixelGrid(blueSpeckle(), {grain: p('grain'), seed: p('seed')})), stops(p('colorSpace')))
219
+ * ```
220
+ * @tip A good dither or film-grain layer over another shader at low opacity.
221
+ * @see pixelGrid
222
+ */
121
223
  export declare function blueSpeckle(): Field;
122
- /** Branching hydraulic-erosion ridge height (the `.x` of the erosion field). Static, signed. */
224
+ /**
225
+ * Terrain eroded by water: sharp branching ridges with gullies running off them.
226
+ *
227
+ * Still (no animation). Signed, centred on 0: wrap it in `unitized` before a tone word.
228
+ * Takes a 2D position, so frame it with `seededPlane`.
229
+ *
230
+ * @example
231
+ * ```ts
232
+ * paint: rampOver(noiseTone(seededPlane(unitized(erosionRidges()), {scale: p('scale'), seed: p('seed')}), {contrast: p('contrast'), balance: p('balance')}), stops(p('colorSpace')))
233
+ * ```
234
+ * @see unitized, seededPlane
235
+ */
123
236
  export declare function erosionRidges(): Field;
124
- /** Swirling curl-flow speed (√2-normalized magnitude), morphing in place at `rate` × the clock. */
237
+ /**
238
+ * How fast a swirling flow moves at each point: soft eddies and streams that morph in place.
239
+ *
240
+ * `rate` multiplies the layer's clock. Never negative and mostly 0 to 1, so it feeds
241
+ * `noiseTone` directly. Takes a 2D position, so frame it with `seededPlane`.
242
+ *
243
+ * @example
244
+ * ```ts
245
+ * paint: rampOver(noiseTone(seededPlane(curlSpeed({rate: 0.2}), {scale: p('scale'), seed: p('seed')}), {contrast: p('contrast'), balance: p('balance')}), stops(p('colorSpace')))
246
+ * ```
247
+ * @see evolving, noiseTone
248
+ */
125
249
  export declare function curlSpeed(opts: {
126
250
  rate: number;
127
251
  }): Field;
128
- /** Fine hairline streaks at `thickness`, flickering on the node's clock. Fragment-only (fwidth). */
252
+ /**
253
+ * Fine hairline scratches, like a scuffed surface, flickering on the layer's clock.
254
+ *
255
+ * `thickness` widens the bright core of each streak (0.2 to 5, default 1). The value is 0
256
+ * off a streak and rises well past 1 on one, so send it through `noiseTone`, which clamps.
257
+ * Takes a 2D position. Works in a `paint:` only, not in a compute pass.
258
+ *
259
+ * @example
260
+ * ```ts
261
+ * paint: rampOver(noiseTone(seededPlane(scratchStreaks({thickness: p('thickness')}), {scale: p('scale'), seed: p('seed')})), linearPair(p('colorA'), p('colorB')))
262
+ * ```
263
+ * @see noiseTone, linearPair
264
+ */
129
265
  export declare function scratchStreaks(slots: {
130
266
  thickness: PropRef;
131
267
  }): Field;
132
- /** Remap a signed [-1,1] field to the unit range (`v · 0.5 + 0.5`). */
268
+ /**
269
+ * Turns a signed field (−1 to 1) into a unit field (0 to 1).
270
+ *
271
+ * Put it directly around a signed basis (`gaborGrains`, `waveletBands`, `erosionRidges`,
272
+ * `noiseField('mx3signed')`) so `noiseTone` and the palette see 0 to 1. Or skip it and use
273
+ * `signedTone`, which takes the signed value itself.
274
+ *
275
+ * @example
276
+ * ```ts
277
+ * seededPlane(unitized(gaborGrains({frequency: p('frequency')})), {scale: p('scale'), seed: p('seed')})
278
+ * ```
279
+ * @see signedTone, noiseTone
280
+ */
133
281
  export declare function unitized(field: Field): Field;
134
282
  /**
135
- * The shared noise tone tail: additive contrast about mid-grey + balance shift, inverted so a
136
- * ramp's colorA reads as the LOW end. `contrast`/`balance` omitted = 0 (identity) for
137
- * textures without tone controls.
283
+ * The standard contrast and balance controls of a noise texture, turning a 0–1 field into
284
+ * the ramp position.
285
+ *
286
+ * `contrast` steepens the field around mid-grey (0 = unchanged, positive = sharper, negative
287
+ * = flatter). `balance` shifts the whole range (positive = more of the first color). Leave
288
+ * the slots out for a texture without those controls. The result is flipped: where the
289
+ * field is high the ramp shows its first color. Expects a unit field, so put `unitized`
290
+ * around a signed basis first.
291
+ *
292
+ * @example
293
+ * ```ts
294
+ * paint: rampOver(noiseTone(seededPlane(evolving(noiseField('perlin'), {rate: 0.3}), {scale: p('scale'), seed: p('seed')}), {contrast: p('contrast'), balance: p('balance')}), stops(p('colorSpace')))
295
+ * ```
296
+ * @tip Contrast here is additive: 0 is the identity, not 1. Default the prop to 0.
297
+ * @see signedTone, gainTone, unitized
138
298
  */
139
299
  export declare function noiseTone(field: Field, slots?: {
140
300
  contrast?: PropRef;
141
301
  balance?: PropRef;
142
302
  }): Field;
143
303
  /**
144
- * The signed tone tail: contrast/balance applied to the RAW [-1,1] field BEFORE the squash to
145
- * [0,1] (then inverted), so high contrast rides further before clipping.
304
+ * Contrast and balance for a signed field (−1 to 1), applied before it is squashed to 0–1.
305
+ *
306
+ * The same controls as `noiseTone` (`contrast` 0 = unchanged, `balance` shifts), but working
307
+ * on the raw signed value lets high contrast push further before it clips. Flipped like
308
+ * `noiseTone`: a high field shows the first color. Use it in place of `unitized` plus
309
+ * `noiseTone`.
310
+ *
311
+ * @example
312
+ * ```ts
313
+ * paint: rampOver(signedTone(seededPlane(evolving(noiseField('mx3signed'), {rate: 0.5}), {scale: p('scale'), seed: p('seed')}), {contrast: p('contrast'), balance: p('balance')}), stops(p('colorSpace')))
314
+ * ```
315
+ * @see noiseTone, unitized
146
316
  */
147
317
  export declare function signedTone(field: Field, slots: {
148
318
  contrast: PropRef;
149
319
  balance: PropRef;
150
320
  }): Field;
151
- /** The multiplicative tone tail (contrast is a gain, 1 = identity), non-inverted — Worley's shape. */
321
+ /**
322
+ * Contrast as a multiplier and balance as a shift over a 0–1 field, not flipped.
323
+ *
324
+ * `contrast` 1 leaves the field alone (a slider from 0.25 to 4 works well) and `balance`
325
+ * shifts it. Low field values read the first color. The tone inside `worleyNoise`. Reach for
326
+ * it when a "1 = normal" contrast slider fits better than `noiseTone`'s "0 = normal".
327
+ *
328
+ * @example
329
+ * ```ts
330
+ * paint: rampOver(gainTone(cellFill(cellDistances({scale: p('scale'), seed: p('seed')}), {edgeIntensity: p('edgeIntensity')}), {contrast: p('contrast'), balance: p('balance')}), stops(p('colorSpace')))
331
+ * ```
332
+ * @see noiseTone, worleyNoise
333
+ */
152
334
  export declare function gainTone(field: Field, slots: {
153
335
  contrast: PropRef;
154
336
  balance: PropRef;
155
337
  }): Field;
156
- /** Two endpoint color props mixed in LINEAR space — for definitions without a color-space prop. */
338
+ /**
339
+ * A two-color palette mixed in linear RGB, for a definition with no color-space prop.
340
+ *
341
+ * Reads two color props. Use `pair` or `stops` from paint when the definition has a
342
+ * `colorSpace` prop.
343
+ *
344
+ * @example
345
+ * ```ts
346
+ * paint: rampOver(noiseTone(seededPlane(scratchStreaks({thickness: p('thickness')}), {scale: p('scale'), seed: p('seed')})), linearPair(p('colorA'), p('colorB')))
347
+ * ```
348
+ * @see pair, stops
349
+ */
157
350
  export declare function linearPair(a: PropRef, b: PropRef): Palette;
158
351
  /**
159
- * Multi-octave fractal Brownian motion: rotated centred plane → gated 8-octave golden-angle
160
- * fBm over MaterialX simplex → weight-normalized unit field → stop ramp. `octaves` gates the
161
- * fixed loop at runtime, so the slider does not recompile.
352
+ * A complete fractal-noise paint: layered simplex noise that morphs over time, read through
353
+ * the color ramp.
354
+ *
355
+ * `angle` rotates the pattern (degrees). `octaves` is how many layers stack (1 to 8, changed
356
+ * live without a recompile), `detail` how much finer each layer is (1 to 4) and `contrast`
357
+ * how much weaker (0.1 to 1). `seed` re-mixes the layers. `space` is the color-space prop.
358
+ * Reads the definition's `colorA`, `colorB` and, when present, `stops` props.
359
+ *
360
+ * @example
361
+ * ```ts
362
+ * paint: fractalNoise({angle: p('angle'), detail: p('detail'), contrast: p('contrast'), octaves: p('octaves'), seed: p('seed'), space: p('colorSpace')})
363
+ * ```
364
+ * @tip Declare `animatedTime: {speed: 'speed'}` on the definition. The morphing runs on the layer's clock.
365
+ * @see worleyNoise, noiseField
162
366
  */
163
367
  export declare function fractalNoise(slots: {
164
368
  angle: PropRef;
@@ -169,9 +373,24 @@ export declare function fractalNoise(slots: {
169
373
  space: PropRef;
170
374
  }): Paint;
171
375
  /**
172
- * Cellular (Worley) noise: aspect plane → gated 4-octave cellular sum (nearest-2 distances
173
- * under a selectable metric, reduced per `mode`) → per-mode normalization → gain tone → ramp.
174
- * `mode`/`distance`/`octaves` are compile-time props read as CPU values and folded to literals.
376
+ * A complete cellular-noise paint: distances to drifting cell points, read through the
377
+ * color ramp.
378
+ *
379
+ * `scale` is the number of cells across (1 to 30) and `jitter` how far the points wander
380
+ * from a grid (0 = rigid grid, 1 = random). `mode` picks the distance field: `'f1'`
381
+ * (cells), `'f2'`, `'f2MinusF1'` (edges), `'f1PlusF2'`, `'f1TimesF2'`. `distance` picks the
382
+ * cell shape: `'euclidean'` (round), `'manhattan'` (diamond), `'chebyshev'` (square).
383
+ * `octaves` (1 to 4) stacks finer layers, with `lacunarity` and `persistence` setting how
384
+ * much finer and weaker. `contrast` is a multiplier (1 = unchanged) and `balance` a shift.
385
+ * Low values read the first color. `mode`, `distance` and `octaves` are compile-time props.
386
+ * Reads the definition's `colorA`, `colorB` and, when present, `stops` props.
387
+ *
388
+ * @example
389
+ * ```ts
390
+ * paint: worleyNoise({scale: p('scale'), jitter: p('jitter'), lacunarity: p('lacunarity'), persistence: p('persistence'), contrast: p('contrast'), balance: p('balance'), seed: p('seed'), mode: p('mode'), distance: p('distance'), octaves: p('octaves'), space: p('colorSpace')})
391
+ * ```
392
+ * @tip Give the `mode` and `distance` props `transformWorleyMode` and `transformWorleyDistance` as their `transform`.
393
+ * @see cellDistances, transformWorleyMode, transformWorleyDistance, fractalNoise
175
394
  */
176
395
  export declare function worleyNoise(slots: {
177
396
  scale: PropRef;
@@ -181,59 +400,144 @@ export declare function worleyNoise(slots: {
181
400
  contrast: PropRef;
182
401
  balance: PropRef;
183
402
  seed: PropRef;
184
- /** Compile-time: the field reduction (f1/f2/…), read from prop values. */
403
+ /** Compile-time prop: `'f1' | 'f2' | 'f2MinusF1' | 'f1PlusF2' | 'f1TimesF2'`. */
185
404
  mode: PropRef;
186
- /** Compile-time: the distance metric, read from prop values. */
405
+ /** Compile-time prop: `'euclidean' | 'manhattan' | 'chebyshev'`. */
187
406
  distance: PropRef;
188
- /** Compile-time: the octave gate (1–4), read from prop values. */
407
+ /** Compile-time prop: 1 to 4. */
189
408
  octaves: PropRef;
190
409
  space: PropRef;
191
410
  }): Paint;
192
411
  /**
193
- * Nearest-two cellular distances `vec2(d1, d2)` over the aspect plane at `scale`, the cell
194
- * points drifting on the node's clock. Wrap in `share` when a fill and a border mask read
195
- * the same evaluation.
412
+ * Distances from each pixel to its nearest two cell points, as `(d1, d2)`: the raw material
413
+ * for Voronoi fills and borders.
414
+ *
415
+ * `scale` is the number of cells across and `seed` picks a different set of points. The
416
+ * points drift on the layer's clock. Feed it to `cellFill` or `cellBorders`, and wrap it in
417
+ * `share` when both read it.
418
+ *
419
+ * @example
420
+ * ```ts
421
+ * const cells = share(cellDistances({scale: p('scale'), seed: p('seed')}))
422
+ * ```
423
+ * @see cellFill, cellBorders, share
196
424
  */
197
425
  export declare function cellDistances(slots: {
198
426
  scale: PropRef;
199
427
  seed: PropRef;
200
428
  }): Field;
201
- /** The F1/F2 fill gradient: `edgeIntensity` sets how far the edge color reaches into each cell. */
429
+ /**
430
+ * A 0–1 fill for each cell: 0 at the cell's point, 1 at its boundary, whatever the cell size.
431
+ *
432
+ * `edgeIntensity` (0 to 1) is how far the boundary color reaches into the cell. Takes the
433
+ * `(d1, d2)` field from `cellDistances`. Ramp it directly: the first color lands at the cell
434
+ * centres.
435
+ *
436
+ * @example
437
+ * ```ts
438
+ * paint: rampOver(cellFill(cells, {edgeIntensity: p('edgeIntensity')}), stops(p('colorSpace')))
439
+ * ```
440
+ * @see cellDistances, cellBorders
441
+ */
202
442
  export declare function cellFill(cells: Field, slots: {
203
443
  edgeIntensity: PropRef;
204
444
  }): Field;
205
445
  /**
206
- * The cell boundary-line mask (0 on a boundary, 1 inside a cell); `scale` compensates the
207
- * line width for the cell count.
446
+ * A mask of the lines between cells: 0 on a boundary, 1 inside a cell.
447
+ *
448
+ * `softness` is the line width (0 to about 0.4). Pass the same `scale` as `cellDistances`
449
+ * so the lines keep their width when the cell count changes. Takes the `(d1, d2)` field.
450
+ * Use it as the `mask` of `borderOverlay`.
451
+ *
452
+ * @example
453
+ * ```ts
454
+ * cellBorders(cells, {softness: p('edgeSoftness'), scale: p('scale')})
455
+ * ```
456
+ * @see cellDistances, borderOverlay
208
457
  */
209
458
  export declare function cellBorders(cells: Field, slots: {
210
459
  softness: PropRef;
211
460
  scale: PropRef;
212
461
  }): Field;
213
462
  /**
214
- * Overlay `color` on a paint's rgb where `mask` falls to 0; the base paint keeps its alpha.
215
- * The base binds as a local: both the overlay mix and the alpha read it.
463
+ * Draws a color over a paint wherever a mask falls to 0, keeping the paint's alpha.
464
+ *
465
+ * `mask` is 1 where the paint shows through and 0 where `color` covers it. The Voronoi
466
+ * border move: fill the cells, then overlay the border lines.
467
+ *
468
+ * @example
469
+ * ```ts
470
+ * paint: borderOverlay(rampOver(cellFill(cells, {edgeIntensity: p('edgeIntensity')}), stops(p('colorSpace'))), cellBorders(cells, {softness: p('edgeSoftness'), scale: p('scale')}), {color: p('colorBorder')})
471
+ * ```
472
+ * @see cellBorders, cellFill
216
473
  */
217
474
  export declare function borderOverlay(paint: Paint, mask: Field, slots: {
218
475
  color: PropRef;
219
476
  }): Paint;
220
- /** An rgb-only stage for {@link overRgb} — maps a paint's rgb; alpha passes through. */
477
+ /** A color-only step for `overRgb`: takes a paint's rgb and returns new rgb. Alpha is not touched. */
221
478
  export type RgbStage = (rgb: Expr, params: GpuFragmentParams) => Expr;
222
- /** Apply rgb-only stages over a paint, threading the base alpha through unchanged. */
479
+ /**
480
+ * Runs color-only steps over a paint, in order, leaving its alpha alone.
481
+ *
482
+ * This is how `ribbons` is closed: the ribbons come out in the working color space,
483
+ * `backToP3` brings them to display color and `tonePow` lifts them.
484
+ *
485
+ * @example
486
+ * ```ts
487
+ * const strands = ribbons({from: p('start'), to: p('end'), count: p('lineCount'), width: p('lineWidth'), amplitude: p('amplitude'), frequency: p('frequency'), softness: p('softness'), spread: p('spread'), pinEdges: p('pinEdges'), colorScale: p('colorScale'), colorVariance: p('colorVariance')})
488
+ * paint: overRgb(strands, backToP3({space: p('colorSpace')}), tonePow())
489
+ * ```
490
+ * @see ribbons, backToP3, tonePow
491
+ */
223
492
  export declare function overRgb(paint: Paint, ...stages: RgbStage[]): Paint;
224
- /** The closing working-space → P3-linear back-conversion at the compile-time `space` mode. */
493
+ /**
494
+ * Brings `ribbons` color from its working color space back to display color.
495
+ *
496
+ * `space` is the definition's compile-time color-space prop; leave it out for linear. Put it
497
+ * first in `overRgb`, right after the ribbons.
498
+ *
499
+ * @example
500
+ * ```ts
501
+ * paint: overRgb(strands, backToP3({space: p('colorSpace')}), tonePow())
502
+ * ```
503
+ * @see overRgb, ribbons
504
+ */
225
505
  export declare function backToP3(slots: {
226
506
  space?: PropRef;
227
507
  }): RgbStage;
228
- /** The `pow(rgb, 0.85)` tone lift. */
508
+ /**
509
+ * A gentle lift of the mid-tones (rgb to the power 0.85), as an `overRgb` step.
510
+ *
511
+ * @example
512
+ * ```ts
513
+ * paint: overRgb(strands, backToP3({space: p('colorSpace')}), tonePow())
514
+ * ```
515
+ * @see overRgb
516
+ */
229
517
  export declare function tonePow(): RgbStage;
230
518
  /**
231
- * `ribbons` — flowing, gradient-colored ribbons between two anchors (the ribbons genre
232
- * primitive): an ATOMIC runtime-count reduce — each ribbon's working-space gradient lookup
233
- * lives inside the loop — returning working-space rgba. Close it with {@link backToP3} (and
234
- * {@link tonePow}) via {@link overRgb}. Reads BOTH of the definition's clocks: the main one
235
- * drives the wave motion, the `color` extra clock
236
- * (`extraAnimatedTimes: {color: ...}` stays declared on the definition) scrolls the colors.
519
+ * Flowing gradient-colored ribbons between two points: the Strands look.
520
+ *
521
+ * `from` and `to` are position props. `count` is how many ribbons, `width` and `softness`
522
+ * their thickness and edge (0 to 1), `spread` how far apart they sit (0 to 1), `amplitude`
523
+ * and `frequency` the size and tightness of the wave (0 to 5). `pinEdges` is a boolean prop
524
+ * that gathers the ribbons at both ends. `colorScale` (1 to 6) is how many times the
525
+ * gradient repeats along a ribbon and `colorVariance` (0 to 1) how far each ribbon is offset
526
+ * in it. The gradient comes from the definition's `stops` prop. The color comes out in the
527
+ * working color space, so close it with `overRgb(ribbons(…), backToP3({space}), tonePow())`.
528
+ * The wave runs on `animatedTime: {speed: 'speed'}` and the colors scroll on a second clock,
529
+ * `extraAnimatedTimes: {color: 'colorSpeed'}`. Declare both on the definition.
530
+ *
531
+ * @example
532
+ * ```ts
533
+ * paint: overRgb(
534
+ * ribbons({from: p('start'), to: p('end'), count: p('lineCount'), width: p('lineWidth'), amplitude: p('amplitude'), frequency: p('frequency'), softness: p('softness'), spread: p('spread'), pinEdges: p('pinEdges'), colorScale: p('colorScale'), colorVariance: p('colorVariance')}),
535
+ * backToP3({space: p('colorSpace')}),
536
+ * tonePow(),
537
+ * )
538
+ * ```
539
+ * @tip Add `stops: colorStopsPropConfig()` to the props. The ribbons read the stop list, not `colorA` / `colorB`.
540
+ * @see overRgb, backToP3, tonePow
237
541
  */
238
542
  export declare function ribbons(slots: {
239
543
  from: PropRef;
@@ -248,14 +552,23 @@ export declare function ribbons(slots: {
248
552
  colorScale: PropRef;
249
553
  colorVariance: PropRef;
250
554
  }): Paint;
251
- /** One entry of {@link reliefBases}: a kit height-field basis for {@link noiseRelief}. */
555
+ /** A height field `noiseRelief` can emboss a layer with. Pick one from `reliefBases`. */
252
556
  export interface ReliefBasis {
253
- /** The `(vec2f) → f32` height field sampled by the relief filter. */
557
+ /** The height function: a 2D position in, a height out. */
254
558
  readonly fn: unknown;
255
- /** The emitted WGSL height-fn name. */
559
+ /** Its name in the compiled shader. */
256
560
  readonly hint: string;
257
561
  }
258
- /** The height fields {@link noiseRelief} accepts. */
562
+ /**
563
+ * The height fields `noiseRelief` accepts: `stone` (marbled stone) and `wool` (interwoven
564
+ * fibres).
565
+ *
566
+ * @example
567
+ * ```ts
568
+ * gpu: {fragment: noiseRelief(reliefBases.wool)}
569
+ * ```
570
+ * @see noiseRelief
571
+ */
259
572
  export declare const reliefBases: {
260
573
  /** Marbled stone height field. */
261
574
  readonly stone: {
@@ -269,13 +582,49 @@ export declare const reliefBases: {
269
582
  };
270
583
  };
271
584
  /**
272
- * Relief filter over child content: sample the child texture through a Perlin-gradient surface
273
- * distortion, then modulate its brightness by the `basis` height field (an RTT filter — the
274
- * definition keeps `requiresRTT`/`requiresChild` and the shared `reliefStylizeProps` block).
585
+ * Embosses the layer inside with a textured surface: the child is slightly distorted, then
586
+ * lit by a height field so it reads as carved stone or woven cloth.
587
+ *
588
+ * A filter, not a paint. Set it as the definition's fragment with `requiresRTT` and
589
+ * `requiresChild`, and give the definition props named `intensity`, `scale`, `contrast`,
590
+ * `distortion` and `seed`. `basis` is an entry of `reliefBases`.
591
+ *
592
+ * @example
593
+ * ```ts
594
+ * export const Stone = defineShader({
595
+ * name: 'Stone',
596
+ * requiresRTT: true,
597
+ * requiresChild: true,
598
+ * props: {intensity: {default: 0.5}, scale: {default: 1}, contrast: {default: 0}, distortion: {default: 0.15}, seed: {default: 0}},
599
+ * gpu: {fragment: noiseRelief(reliefBases.stone)},
600
+ * })
601
+ * ```
602
+ * @tip The library shaders build those five props with `reliefStylizeProps` from the utilities, which also sets their sliders.
603
+ * @see reliefBases
275
604
  */
276
605
  export declare function noiseRelief(basis: ReliefBasis): (params: GpuFragmentParams) => Expr;
277
- /** The Worley prop enum transforms + the historical hash alias, for the shader definition. */
606
+ /**
607
+ * The `transform` for a `worleyNoise` `mode` prop: maps `'f1'`, `'f2'`, `'f2MinusF1'`,
608
+ * `'f1PlusF2'` or `'f1TimesF2'` to the number the paint reads.
609
+ *
610
+ * @example
611
+ * ```ts
612
+ * mode: {default: 'f1', transform: transformWorleyMode, compileTime: true}
613
+ * ```
614
+ * @see worleyNoise, transformWorleyDistance
615
+ */
278
616
  export declare const transformWorleyMode: (value: string) => number;
617
+ /**
618
+ * The `transform` for a `worleyNoise` `distance` prop: maps `'euclidean'`, `'manhattan'` or
619
+ * `'chebyshev'` to the number the paint reads.
620
+ *
621
+ * @example
622
+ * ```ts
623
+ * distance: {default: 'euclidean', transform: transformWorleyDistance, compileTime: true}
624
+ * ```
625
+ * @see worleyNoise, transformWorleyMode
626
+ */
279
627
  export declare const transformWorleyDistance: (value: string) => number;
628
+ /** @internal The raw cell hash under WorleyNoise's historical name, re-exported for an external importer. */
280
629
  export declare const worleyHash: import('typegpu').TgpuFn<(p: import('typegpu/data').Vec2f) => import('typegpu/data').Vec2f>;
281
630
  //# sourceMappingURL=noise.d.ts.map