shaders 3.2.474 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (812) hide show
  1. package/LICENSE +21 -142
  2. package/README.md +192 -19
  3. package/dist/cli.js +2 -2
  4. package/dist/core/{AngularBlur-g4-fDx1N.js → AngularBlur-BEBs-lRR.js} +2 -3
  5. package/dist/core/{Arc-B4VGPOtO.js → Arc-D-WnjM7T.js} +1 -3
  6. package/dist/core/{Ascii-DxiduEzP.js → Ascii-BGPIwMc3.js} +2 -5
  7. package/dist/core/{Aurora-FgWLcSkh.js → Aurora-DqJBPdMQ.js} +2 -11
  8. package/dist/core/{BarShift-BukEd3jr.js → BarShift-BcCOweUh.js} +2 -3
  9. package/dist/core/{BarnDoors-BC0LM0aD.js → BarnDoors-B9B-AmCV.js} +2 -3
  10. package/dist/core/{Beam-CxAXVlAf.js → Beam-QG_9OS8I.js} +2 -3
  11. package/dist/core/{Bend-BfVVIo2C.js → Bend-Cy9VAowL.js} +1 -2
  12. package/dist/core/{Blob-D_IbcUCc.js → Blob-C3txJeW0.js} +2 -10
  13. package/dist/core/{BlockDissolve-C9nsgIz9.js → BlockDissolve-C1SFUys7.js} +2 -3
  14. package/dist/core/{BlockNoise-BgwbD0rx.js → BlockNoise-Cm3y8hce.js} +2 -4
  15. package/dist/core/{BlueNoise-BdwOaq4G.js → BlueNoise-BCLObOMm.js} +2 -4
  16. package/dist/core/{Blur-ceuv7ZTm.js → Blur-Dg29SnXd.js} +1 -2
  17. package/dist/core/{Boids-DEHsYo46.js → Boids-rsGsPN5h.js} +2 -5
  18. package/dist/core/{BokehBlur-C8xJ0xA8.js → BokehBlur-rFSFEnb0.js} +3 -4
  19. package/dist/core/{BrickPattern-C-6QFzp6.js → BrickPattern-DqN6JKEN.js} +2 -3
  20. package/dist/core/{BrightnessContrast-CMUaNvo0.js → BrightnessContrast-J9fCSBiC.js} +1 -3
  21. package/dist/core/{BrushedMetal-CQsu_96R.js → BrushedMetal-74wSZKjG.js} +3 -8
  22. package/dist/core/{Bulge-CgO7_0fe.js → Bulge-BIk0oq8j.js} +1 -2
  23. package/dist/core/{CRTScreen-DNqe2klB.js → CRTScreen-hEH-JNRd.js} +2 -3
  24. package/dist/core/{CarbonFiber-D0vgwlrV.js → CarbonFiber-CZdUDvRU.js} +4 -8
  25. package/dist/core/{Chalkboard-CDUJz_Ae.js → Chalkboard-CClJHqvs.js} +2 -3
  26. package/dist/core/{ChannelBlur-Z8ZvN6W3.js → ChannelBlur-BEuEwQOC.js} +1 -2
  27. package/dist/core/{CheckerWipe-DXm9kDaS.js → CheckerWipe-KuAWj2qg.js} +2 -3
  28. package/dist/core/{Checkerboard-DZAABNKo.js → Checkerboard-Rq9ze1W3.js} +2 -3
  29. package/dist/core/{Chevron-Dn1iHSiS.js → Chevron-C1j6X2Ye.js} +2 -3
  30. package/dist/core/{ChromaFlow-lnaJ4o1Y.js → ChromaFlow-BgsCUYIl.js} +2 -5
  31. package/dist/core/{ChromaticAberration-CGOQe4Pp.js → ChromaticAberration-2_4tjQ0u.js} +2 -4
  32. package/dist/core/{Chrome-DPAmErfN.js → Chrome-Be3z6C5i.js} +5 -11
  33. package/dist/core/{Circle-DVPhvXdr.js → Circle-e_qQI3tU.js} +1 -3
  34. package/dist/core/{ColorWheel-DXkVOQl2.js → ColorWheel-s5ep1H7d.js} +2 -3
  35. package/dist/core/{CompressionArtifacts-CEw9gfTu.js → CompressionArtifacts-OE9U9Qrq.js} +1 -3
  36. package/dist/core/{ConcentricSpin-GtNEq1T1.js → ConcentricSpin-CLE_5yCJ.js} +1 -2
  37. package/dist/core/{ConicGradient-DYPNJAOg.js → ConicGradient-Cji2SgVO.js} +2 -4
  38. package/dist/core/{ContourLines-DEmEepvT.js → ContourLines-wpPK00cF.js} +2 -3
  39. package/dist/core/{CornerPin-CJJeGyVf.js → CornerPin-gYU0Uf2m.js} +2 -3
  40. package/dist/core/{Crescent-C7yy9-xf.js → Crescent-viNc7Unp.js} +1 -2
  41. package/dist/core/{Cross-DyYrdTVw.js → Cross-DyQSsw_k.js} +1 -2
  42. package/dist/core/{Crystal-DQJd5oAd.js → Crystal-Vjj8azWg.js} +4 -9
  43. package/dist/core/{CurlNoise-Bjc6hhjR.js → CurlNoise-C7PHjDht.js} +2 -4
  44. package/dist/core/{CursorRipples-C1PNyYcB.js → CursorRipples-BzPPNkA3.js} +3 -39
  45. package/dist/core/{CursorTrail-C6v97bId.js → CursorTrail-cBj0AuQA.js} +2 -4
  46. package/dist/core/{DataMosh-AX4kIi4R.js → DataMosh-5Yr9TyVx.js} +1 -3
  47. package/dist/core/{DiamondGradient-Bj6mUxOy.js → DiamondGradient-DZM7HwF5.js} +2 -4
  48. package/dist/core/{DiamondWipe-BNSkpUn9.js → DiamondWipe-CqeT7lCt.js} +2 -3
  49. package/dist/core/{DiffuseBlur-C7l-5Dw3.js → DiffuseBlur-Y5hSDTZF.js} +2 -3
  50. package/dist/core/{DisplacementMap-DGpLSlxs.js → DisplacementMap-FobRx5Ie.js} +2 -3
  51. package/dist/core/{Dither-C9KDpqgP.js → Dither-50rqHpt9.js} +2 -3
  52. package/dist/core/{DotGrid-CkAtf-j_.js → DotGrid-B6AGLUbR.js} +3 -4
  53. package/dist/core/{DropShadow-BxI_a7dC.js → DropShadow-CEPpgatB.js} +2 -3
  54. package/dist/core/{Duotone-CrJ0P0SL.js → Duotone-D76Kp7Pb.js} +2 -3
  55. package/dist/core/{Ellipse-C2Tie_19.js → Ellipse-BGod1LeG.js} +1 -2
  56. package/dist/core/{Emboss-BjOlYydL.js → Emboss-DMNFb_ww.js} +3 -6
  57. package/dist/core/{Engraving-RpxXPqQq.js → Engraving-Dj7bCATQ.js} +2 -3
  58. package/dist/core/{ErosionNoise-D0qefxhq.js → ErosionNoise-4O68wJQZ.js} +2 -4
  59. package/dist/core/{Exposure-B7W7AVbY.js → Exposure-h-vapOpj.js} +1 -3
  60. package/dist/core/{FallingLines-Cxhmtqf4.js → FallingLines-Dzop_89k.js} +2 -3
  61. package/dist/core/{FilmGrain-CghUJIeK.js → FilmGrain-Bs8PCfdf.js} +1 -3
  62. package/dist/core/{FilmStock-DmOaROtC.js → FilmStock-DBjVo6rL.js} +1 -4
  63. package/dist/core/{Flip-BuOdbWjK.js → Flip-CfrS4KfZ.js} +2 -3
  64. package/dist/core/{FloatingParticles-BfFlt06Y.js → FloatingParticles-D1R2tD2J.js} +2 -5
  65. package/dist/core/{FlowField-A2njOtGx.js → FlowField-Slirm5AI.js} +2 -3
  66. package/dist/core/{Flower-CwdJOVR1.js → Flower-Ddlut7QZ.js} +1 -2
  67. package/dist/core/{FlowingGradient-D3BG2FW9.js → FlowingGradient-CwIgTtbj.js} +2 -7
  68. package/dist/core/{FlutedGlass-BWlTrLF-.js → FlutedGlass-CMMy2GJ5.js} +2 -4
  69. package/dist/core/{Fog-CpmIyRtJ.js → Fog-DjjUkcTZ.js} +2 -4
  70. package/dist/core/{Form3D-D-eUD4_k.js → Form3D-DQDOHWpC.js} +2 -4
  71. package/dist/core/{FractalNoise-DsESU8cP.js → FractalNoise-BjI3IOIj.js} +2 -4
  72. package/dist/core/{Frost-B1s1W_Qm.js → Frost-CK12HnL1.js} +4 -9
  73. package/dist/core/{GaborNoise-D3U1iz9E.js → GaborNoise-DKEIvvRJ.js} +3 -5
  74. package/dist/core/{Glass-O5o5OxlN.js → Glass-CzcOVD5Y.js} +3 -8
  75. package/dist/core/{GlassTiles-BxdT6Ee8.js → GlassTiles-gjhc563g.js} +1 -2
  76. package/dist/core/{Glitch-DQeLaNdU.js → Glitch-C_XAWltC.js} +1 -2
  77. package/dist/core/{Glow-DksG7wdu.js → Glow-CrYCanBI.js} +1 -3
  78. package/dist/core/{Godrays-D2Pzd9K9.js → Godrays-BBTMOVLP.js} +2 -3
  79. package/dist/core/{Goo-BL_ifIPI.js → Goo-Brhjk8aS.js} +3 -8
  80. package/dist/core/{GradientMap-B-5yUYjX.js → GradientMap-C5325QWw.js} +2 -4
  81. package/dist/core/{Grayscale-g7jQsxgi.js → Grayscale-dPjs-wvf.js} +1 -2
  82. package/dist/core/{Grid-DAglpJFP.js → Grid-UjEd3O76.js} +3 -4
  83. package/dist/core/{GridDistortion-CNlIESbs.js → GridDistortion-vVgYya1U.js} +1 -5
  84. package/dist/core/{Group-CeOfFv2K.js → Group-KVdmAi5g.js} +1 -1
  85. package/dist/core/{HTMLInCanvas-BgwCnbYn.js → HTMLInCanvas-CKr2u76R.js} +1 -2
  86. package/dist/core/{Halftone-DCiP4EDq.js → Halftone-pRV3TRUW.js} +4 -5
  87. package/dist/core/{Heart-CQhtzwFu.js → Heart-CX7MvvHZ.js} +1 -2
  88. package/dist/core/{Heatmap-e-lF_uZu.js → Heatmap-Dn6qyd2e.js} +3 -8
  89. package/dist/core/{HexGrid-BY_BPH8J.js → HexGrid-BIfYhkfV.js} +3 -4
  90. package/dist/core/{Hologram-BA_LJPm0.js → Hologram-ou27baPQ.js} +4 -8
  91. package/dist/core/{Holographic-CX8OG-Wa.js → Holographic-CiHdBSMg.js} +3 -7
  92. package/dist/core/{HueShift-BnwOshrg.js → HueShift-CG7pcXfg.js} +1 -3
  93. package/dist/core/{ImageTexture-Cd6vH2Z0.js → ImageTexture-BiZuU58C.js} +1 -2
  94. package/dist/core/{InkFlow-B7F9i3Kd.js → InkFlow-D9_L7opB.js} +9 -12
  95. package/dist/core/{Invert-6Q5kX8vd.js → Invert-CHEaiQZO.js} +1 -2
  96. package/dist/core/{IrisWipe-Cl5yYdEi.js → IrisWipe-x22vOQHm.js} +2 -3
  97. package/dist/core/Irradiance-7yq2K87_.js +389 -0
  98. package/dist/core/{IsometricCubes-BhK9MhCy.js → IsometricCubes-CkPGWr7M.js} +2 -3
  99. package/dist/core/{Kaleidoscope-D4X5N_qk.js → Kaleidoscope-CEC5m1Ww.js} +1 -2
  100. package/dist/core/{KeyFrames-Dv1vFfMa.js → KeyFrames-BMGEZsAZ.js} +2 -3
  101. package/dist/core/{LensDistortion-BqVp5WBS.js → LensDistortion-DKo8PiO5.js} +2 -3
  102. package/dist/core/{LensFlare-z0k68uJ1.js → LensFlare-DMS-NUtK.js} +2 -3
  103. package/dist/core/LightEdge-DxmnCRls.js +315 -0
  104. package/dist/core/{LightLeak-BgFq4bLG.js → LightLeak-yoEsZtYg.js} +2 -4
  105. package/dist/core/{Line--Ur3CJp1.js → Line-D17XDUjO.js} +2 -3
  106. package/dist/core/{LinearBlur-BkHF6lVm.js → LinearBlur-CiyjPTUH.js} +2 -3
  107. package/dist/core/{LinearGradient-DIdq_fiw.js → LinearGradient-DfjKG70q.js} +2 -4
  108. package/dist/core/{LinearWipe-DuCB9oV_.js → LinearWipe-D9CtBg6S.js} +2 -3
  109. package/dist/core/{LiquidMetal-B2Cz80Ka.js → LiquidMetal-8EG6DwV6.js} +3 -8
  110. package/dist/core/{Liquify-CvPn1ze-.js → Liquify-BySXF1OB.js} +1 -4
  111. package/dist/core/{MagneticFilings-BOgYrPhz.js → MagneticFilings-DNESH3Zs.js} +2 -5
  112. package/dist/core/{Marble-c2QGDXxB.js → Marble-C9WvdxrP.js} +2 -7
  113. package/dist/core/{MeshGradient-DMsza5tg.js → MeshGradient-d9--RXOU.js} +2 -10
  114. package/dist/core/{Mirror-Ck8qk1Km.js → Mirror-1V2FF2kD.js} +1 -2
  115. package/dist/core/{MultiPointGradient-DwO6snxn.js → MultiPointGradient-cRA9ytgL.js} +2 -3
  116. package/dist/core/{Nebula-3a9pYBDC.js → Nebula-BRV-q74y.js} +7 -90
  117. package/dist/core/{Neon-Cf95sJ7W.js → Neon-4PemK9Rj.js} +3 -6
  118. package/dist/core/{NoiseDissolve-DgvzEFOD.js → NoiseDissolve-B7LgD46G.js} +2 -3
  119. package/dist/core/{ObjectTracker-IopW8Jvf.js → ObjectTracker-CdzDxhpy.js} +3 -4
  120. package/dist/core/{Obsidian-BL_0ordp.js → Obsidian-2J1eX9kT.js} +9 -15
  121. package/dist/core/{PagePeel-BeAr_n0U.js → PagePeel-D-ziraOm.js} +1 -2
  122. package/dist/core/{Paper-BDEsyIPI.js → Paper-BxzCLyzB.js} +1 -2
  123. package/dist/core/{Parallelogram-Duj-0MLr.js → Parallelogram-D4OflTwn.js} +1 -2
  124. package/dist/core/{ParticleField-gk7JuNx4.js → ParticleField-tWNicEDO.js} +1 -4
  125. package/dist/core/{ParticleFlow-BzWOl7Hm.js → ParticleFlow-BiEYFyWR.js} +2 -6
  126. package/dist/core/{Particles-DYAtR6jZ.js → Particles-B7W4yWgo.js} +3 -7
  127. package/dist/core/{PerlinNoise-BHQ318g4.js → PerlinNoise-C-irUxp9.js} +3 -5
  128. package/dist/core/{Perspective-xBfd9BSE.js → Perspective-DlnAW-pe.js} +2 -3
  129. package/dist/core/{PixelSort-Bx9sUnGm.js → PixelSort-BBOTYuOE.js} +1 -4
  130. package/dist/core/{PixelThrow-0nJiGsmZ.js → PixelThrow-DCJb9Lxd.js} +2 -4
  131. package/dist/core/{Pixelate-CvCzoA0h.js → Pixelate-CZdwB--K.js} +1 -2
  132. package/dist/core/{Plasma-Be1yxNcP.js → Plasma-CTOQJeqy.js} +2 -4
  133. package/dist/core/{Plastic-Bom1oFFR.js → Plastic-DvyH9x-4.js} +3 -8
  134. package/dist/core/{PolarCoordinates-BGwTZ6NO.js → PolarCoordinates-XhdDAOD0.js} +1 -2
  135. package/dist/core/{Polygon-Byw5C7Qy.js → Polygon-CLohB-Ly.js} +2 -4
  136. package/dist/core/{Posterize-BHOstvyj.js → Posterize-BAQfnvmK.js} +1 -2
  137. package/dist/core/{Prism-pNsLhW8w.js → Prism-DJVCVAXX.js} +4 -8
  138. package/dist/core/{ProgressiveBlur-CR1IbvKQ.js → ProgressiveBlur-Dirva1on.js} +2 -3
  139. package/dist/core/{RadialGradient-BFOrMAK1.js → RadialGradient-DuSKR8Ds.js} +2 -4
  140. package/dist/core/{RadialWipe-BYnlbrNm.js → RadialWipe-n8tON7x2.js} +2 -3
  141. package/dist/core/{RandomBars-B7erRRHx.js → RandomBars-BYouiIgQ.js} +2 -3
  142. package/dist/core/{ReactionDiffusion-BnY40jHs.js → ReactionDiffusion-CHDd3y2q.js} +2 -5
  143. package/dist/core/{RectangularCoordinates-D9-3PQAz.js → RectangularCoordinates-CYFfCawa.js} +1 -2
  144. package/dist/core/{ReflectivePlane-BI-LIR2c.js → ReflectivePlane-DFTl5U9q.js} +2 -3
  145. package/dist/core/Repeater-CnbzXuAe.js +473 -0
  146. package/dist/core/{Ring-CvvtJYAf.js → Ring-CGkHVSVd.js} +1 -2
  147. package/dist/core/{RippleWipe-kAzZWsjR.js → RippleWipe-DLjPzY6u.js} +2 -3
  148. package/dist/core/{Ripples-BFLep1r1.js → Ripples-C2tITU62.js} +2 -3
  149. package/dist/core/{RoundedRect-DirNijIY.js → RoundedRect-sfNTUaCY.js} +1 -2
  150. package/dist/core/{Saturation-CfkRhJpe.js → Saturation-BRkifYWj.js} +1 -3
  151. package/dist/core/{Scratches-Dchfw1_5.js → Scratches-D87O5C2K.js} +2 -4
  152. package/dist/core/{Sharpness-DZzAnlsl.js → Sharpness-BGv613Zw.js} +1 -3
  153. package/dist/core/Shatter-DuyCFU1f.js +328 -0
  154. package/dist/core/{SimplexNoise-CmV42gYT.js → SimplexNoise-CQJvmqd-.js} +2 -4
  155. package/dist/core/{SineWave-TqnpIKO4.js → SineWave-BfOgSGMP.js} +2 -3
  156. package/dist/core/{SliceWipe-Dz8vj6bi.js → SliceWipe-CD_D99sl.js} +1 -2
  157. package/dist/core/{Smoke-B1TnZnG6.js → Smoke-BDQYKRP1.js} +2 -4
  158. package/dist/core/{SmokeFill-C8gSZ22X.js → SmokeFill-CPnzQtQv.js} +3 -8
  159. package/dist/core/{SmokeFlow-dd5uLztm.js → SmokeFlow-BkPMjZq8.js} +2 -4
  160. package/dist/core/{Solarize-CIQa9pKw.js → Solarize-DSiS32QS.js} +1 -3
  161. package/dist/core/{SolidColor-DuoQVKGk.js → SolidColor-DEKpgy1c.js} +2 -3
  162. package/dist/core/Sparkle-BZur6gPW.js +178 -0
  163. package/dist/core/{Spherize-FWwWEUyE.js → Spherize-D9Yg4n6O.js} +2 -3
  164. package/dist/core/{Spiral-DI1eG0E3.js → Spiral-BCacfEpT.js} +2 -3
  165. package/dist/core/{Star-DT-hnlIJ.js → Star-Dnw1ihk7.js} +1 -2
  166. package/dist/core/{Stone-oW35zD22.js → Stone-Cje-_vAg.js} +1 -3
  167. package/dist/core/{Strands-asB3fUr9.js → Strands-CFRxS1G_.js} +2 -4
  168. package/dist/core/{Stretch-Cm_B4WGY.js → Stretch-DXVhfIqO.js} +1 -2
  169. package/dist/core/{Stripes-BnJiniJY.js → Stripes-CCADWwyq.js} +2 -3
  170. package/dist/core/{StudioBackground-DwSO5KNV.js → StudioBackground-BlzYNAsu.js} +2 -6
  171. package/dist/core/{SunBurst-BL-BryZO.js → SunBurst-CmWbI18r.js} +2 -3
  172. package/dist/core/{Surface3D-DSvh7Zof.js → Surface3D-Dmh98-0V.js} +2 -6
  173. package/dist/core/{Swirl-BVPy039a.js → Swirl-CzI1qSVc.js} +2 -4
  174. package/dist/core/{Teardrop-CR1UqYaF.js → Teardrop-D24uulL0.js} +1 -2
  175. package/dist/core/{Text-fP5temat.js → Text-CrZKvBw6.js} +2 -6
  176. package/dist/core/{ThinFilm-CTQeVw7E.js → ThinFilm-D7R2dt1O.js} +11 -14
  177. package/dist/core/{TiltShift-BvYpYELk.js → TiltShift-AMMDZBvf.js} +2 -3
  178. package/dist/core/{TimeTrail-DqdYuHn7.js → TimeTrail-BCYDP2ep.js} +4 -8
  179. package/dist/core/{Tint-BXJMHYvg.js → Tint-DHb5wBN5.js} +2 -3
  180. package/dist/core/{Trapezoid--AgyKOWQ.js → Trapezoid-CL5Fxvq7.js} +1 -2
  181. package/dist/core/{TriangularGrid-CmDApxz9.js → TriangularGrid-Bp-SJS-H.js} +2 -3
  182. package/dist/core/{Tritone-DCd_IRp7.js → Tritone-C0nx7OdC.js} +2 -3
  183. package/dist/core/{Truchet-g1_jcoZ4.js → Truchet-DCetyDaq.js} +2 -3
  184. package/dist/core/{Twirl-JY-PXDS2.js → Twirl-D_mv9KEi.js} +1 -2
  185. package/dist/core/{VHS-ZWR6D4Da.js → VHS-Cp9aDjti.js} +2 -3
  186. package/dist/core/{VenetianBlinds-B7laTyPO.js → VenetianBlinds-DUyvaT5w.js} +2 -3
  187. package/dist/core/{Vesica-BTNW2p5u.js → Vesica-BpzrTPTA.js} +1 -2
  188. package/dist/core/{Vibrance-DmhtRT2D.js → Vibrance-DW3J-pvW.js} +1 -3
  189. package/dist/core/{VideoTexture-DK3EaAHY.js → VideoTexture-zoKsSrex.js} +1 -2
  190. package/dist/core/{Vignette-hyFfUS20.js → Vignette-KKbP3qdZ.js} +2 -5
  191. package/dist/core/{Voronoi-DhexPwNM.js → Voronoi-Bp2-U6lm.js} +2 -5
  192. package/dist/core/Voxels-B3e3LHH5.js +469 -0
  193. package/dist/core/{Water-BsBnXYYB.js → Water-CoYwvqKx.js} +7 -12
  194. package/dist/core/{Watercolor-C1HipGGO.js → Watercolor-DUNjSIN1.js} +2 -4
  195. package/dist/core/{WaveDistortion-VXyHFcJ3.js → WaveDistortion-Dp8ws0z1.js} +1 -2
  196. package/dist/core/{Waveform-CSP_4nZF.js → Waveform-DDBLB6zu.js} +2 -9
  197. package/dist/core/{WaveletNoise-CQqAufyv.js → WaveletNoise-CpBkzfRT.js} +2 -4
  198. package/dist/core/{Weave-DwX8T4_Q.js → Weave-cWkvSEAy.js} +2 -3
  199. package/dist/core/{WebcamTexture-B4SLwIP1.js → WebcamTexture-D484SXSE.js} +1 -2
  200. package/dist/core/{Wool-qg-z_TFC.js → Wool-C9L7O9fD.js} +1 -3
  201. package/dist/core/{WorleyNoise-CjVw20Fl.js → WorleyNoise-B5j5lDQZ.js} +2 -3
  202. package/dist/core/{ZoomBlur-Lm_pVpMf.js → ZoomBlur-bPC1dBu2.js} +2 -3
  203. package/dist/core/customShaders.d.ts +71 -0
  204. package/dist/core/customShaders.d.ts.map +1 -0
  205. package/dist/core/docs-manifest.json +29177 -0
  206. package/dist/core/gpu/composer.d.ts +2 -0
  207. package/dist/core/gpu/composer.d.ts.map +1 -1
  208. package/dist/core/gpu/contract.d.ts +17 -2
  209. package/dist/core/gpu/contract.d.ts.map +1 -1
  210. package/dist/core/gpu/frame.d.ts +5 -2
  211. package/dist/core/gpu/frame.d.ts.map +1 -1
  212. package/dist/core/gpu/index.d.ts.map +1 -1
  213. package/dist/core/gpu/kit/aa.d.ts +1 -1
  214. package/dist/core/gpu/kit/agents.d.ts +1 -1
  215. package/dist/core/gpu/kit/blur.d.ts +4 -4
  216. package/dist/core/gpu/kit/cells.d.ts +3 -3
  217. package/dist/core/gpu/kit/cellular.d.ts +1 -1
  218. package/dist/core/gpu/kit/colorOps.d.ts +6 -6
  219. package/dist/core/gpu/kit/effects/glass.d.ts +2 -2
  220. package/dist/core/gpu/kit/effects/thinFilm.d.ts +4 -4
  221. package/dist/core/gpu/kit/fields.d.ts.map +1 -1
  222. package/dist/core/gpu/kit/host/pointer.d.ts +1 -1
  223. package/dist/core/gpu/kit/lensParts.d.ts +3 -3
  224. package/dist/core/gpu/kit/lightfields.d.ts +3 -3
  225. package/dist/core/gpu/kit/materialParts.d.ts +1 -1
  226. package/dist/core/gpu/kit/materialParts.d.ts.map +1 -1
  227. package/dist/core/gpu/kit/media.d.ts +1 -1
  228. package/dist/core/gpu/kit/media.d.ts.map +1 -1
  229. package/dist/core/gpu/kit/motionBlur.d.ts +2 -2
  230. package/dist/core/gpu/kit/noiseColor.d.ts +5 -5
  231. package/dist/core/gpu/kit/noiseColor.d.ts.map +1 -1
  232. package/dist/core/gpu/kit/noisePaints.d.ts +1 -1
  233. package/dist/core/gpu/kit/sdf.d.ts +2 -2
  234. package/dist/core/gpu/kit/stylizePaints.d.ts +1 -1
  235. package/dist/core/gpu/kit/stylizePaints.d.ts.map +1 -1
  236. package/dist/core/gpu/kit/tone.d.ts +1 -1
  237. package/dist/core/gpu/kit/waves.d.ts +6 -0
  238. package/dist/core/gpu/kit/waves.d.ts.map +1 -1
  239. package/dist/core/gpu/passManager.d.ts +1 -1
  240. package/dist/core/gpu/passManager.d.ts.map +1 -1
  241. package/dist/core/gpu/scaffolds/fluids.d.ts +7 -7
  242. package/dist/core/gpu/scaffolds/fluids.d.ts.map +1 -1
  243. package/dist/core/gpu/scaffolds/gridKernels.d.ts +8 -8
  244. package/dist/core/gpu/scaffolds/gridKernels.d.ts.map +1 -1
  245. package/dist/core/gpu/scaffolds/pointwiseFilter.d.ts +5 -5
  246. package/dist/core/gpu/scaffolds/pointwiseFilter.d.ts.map +1 -1
  247. package/dist/core/gpu/scaffolds/radiance.d.ts +5 -5
  248. package/dist/core/gpu/scaffolds/radiance.d.ts.map +1 -1
  249. package/dist/core/gpu/scaffolds/rttFilter.d.ts +2 -2
  250. package/dist/core/gpu/scaffolds/rttFilter.d.ts.map +1 -1
  251. package/dist/core/gpu/scaffolds/sdfShape.d.ts +2 -2
  252. package/dist/core/gpu/scaffolds/sdfShape.d.ts.map +1 -1
  253. package/dist/core/gpu/scaffolds/uvRemapShader.d.ts +4 -4
  254. package/dist/core/gpu/support.d.ts +12 -0
  255. package/dist/core/gpu/support.d.ts.map +1 -1
  256. package/dist/core/index.d.ts +3 -2
  257. package/dist/core/index.d.ts.map +1 -1
  258. package/dist/core/index.js +238 -255
  259. package/dist/core/llms.txt +1558 -0
  260. package/dist/core/{noiseColor-DuWjYRmO.js → noiseColor-D_bPhJ4m.js} +2 -2
  261. package/dist/core/presetRenderer.d.ts +4 -0
  262. package/dist/core/presetRenderer.d.ts.map +1 -1
  263. package/dist/core/registry.js +204 -248
  264. package/dist/core/shaderRegistry-BaozBFyh.js +445 -0
  265. package/dist/core/shaderRegistry.d.ts.map +1 -1
  266. package/dist/core/shaders/AngularBlur/index.d.ts +1 -1
  267. package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
  268. package/dist/core/shaders/AngularBlur/index.js +4 -10
  269. package/dist/core/shaders/Arc/index.js +4 -6
  270. package/dist/core/shaders/Ascii/index.d.ts +1 -1
  271. package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
  272. package/dist/core/shaders/Ascii/index.js +4 -11
  273. package/dist/core/shaders/Aurora/index.js +4 -21
  274. package/dist/core/shaders/BarShift/index.js +4 -8
  275. package/dist/core/shaders/BarnDoors/index.js +4 -7
  276. package/dist/core/shaders/Beam/index.js +4 -11
  277. package/dist/core/shaders/Bend/index.js +4 -8
  278. package/dist/core/shaders/Blob/index.js +4 -18
  279. package/dist/core/shaders/BlockDissolve/index.js +4 -7
  280. package/dist/core/shaders/BlockNoise/index.d.ts +1 -1
  281. package/dist/core/shaders/BlockNoise/index.d.ts.map +1 -1
  282. package/dist/core/shaders/BlockNoise/index.js +5 -14
  283. package/dist/core/shaders/BlueNoise/index.d.ts +1 -1
  284. package/dist/core/shaders/BlueNoise/index.d.ts.map +1 -1
  285. package/dist/core/shaders/BlueNoise/index.js +5 -14
  286. package/dist/core/shaders/Blur/index.d.ts +1 -1
  287. package/dist/core/shaders/Blur/index.d.ts.map +1 -1
  288. package/dist/core/shaders/Blur/index.js +4 -10
  289. package/dist/core/shaders/Boids/index.js +4 -9
  290. package/dist/core/shaders/BokehBlur/index.d.ts +1 -1
  291. package/dist/core/shaders/BokehBlur/index.js +4 -10
  292. package/dist/core/shaders/BrickPattern/index.d.ts +1 -1
  293. package/dist/core/shaders/BrickPattern/index.d.ts.map +1 -1
  294. package/dist/core/shaders/BrickPattern/index.js +4 -13
  295. package/dist/core/shaders/BrightnessContrast/index.js +4 -7
  296. package/dist/core/shaders/BrushedMetal/index.js +4 -11
  297. package/dist/core/shaders/Bulge/index.js +4 -8
  298. package/dist/core/shaders/CRTScreen/index.d.ts +2 -2
  299. package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
  300. package/dist/core/shaders/CRTScreen/index.js +4 -10
  301. package/dist/core/shaders/CarbonFiber/index.d.ts +1 -1
  302. package/dist/core/shaders/CarbonFiber/index.js +4 -11
  303. package/dist/core/shaders/Chalkboard/index.d.ts +1 -1
  304. package/dist/core/shaders/Chalkboard/index.d.ts.map +1 -1
  305. package/dist/core/shaders/Chalkboard/index.js +4 -9
  306. package/dist/core/shaders/ChannelBlur/index.d.ts +1 -1
  307. package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
  308. package/dist/core/shaders/ChannelBlur/index.js +4 -10
  309. package/dist/core/shaders/CheckerWipe/index.js +4 -7
  310. package/dist/core/shaders/Checkerboard/index.d.ts +1 -1
  311. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  312. package/dist/core/shaders/Checkerboard/index.js +4 -13
  313. package/dist/core/shaders/Chevron/index.d.ts +1 -1
  314. package/dist/core/shaders/Chevron/index.d.ts.map +1 -1
  315. package/dist/core/shaders/Chevron/index.js +4 -13
  316. package/dist/core/shaders/ChromaFlow/index.js +4 -8
  317. package/dist/core/shaders/ChromaticAberration/index.js +4 -11
  318. package/dist/core/shaders/Chrome/index.d.ts +1 -1
  319. package/dist/core/shaders/Chrome/index.js +4 -10
  320. package/dist/core/shaders/Circle/index.js +4 -6
  321. package/dist/core/shaders/ColorWheel/index.js +4 -11
  322. package/dist/core/shaders/CompressionArtifacts/index.d.ts +2 -2
  323. package/dist/core/shaders/CompressionArtifacts/index.d.ts.map +1 -1
  324. package/dist/core/shaders/CompressionArtifacts/index.js +4 -7
  325. package/dist/core/shaders/ConcentricSpin/index.js +4 -8
  326. package/dist/core/shaders/ConicGradient/index.js +4 -11
  327. package/dist/core/shaders/ContourLines/index.js +4 -6
  328. package/dist/core/shaders/CornerPin/index.js +4 -8
  329. package/dist/core/shaders/Crescent/index.js +4 -5
  330. package/dist/core/shaders/Cross/index.js +4 -5
  331. package/dist/core/shaders/Crystal/index.js +4 -11
  332. package/dist/core/shaders/CurlNoise/index.d.ts +1 -1
  333. package/dist/core/shaders/CurlNoise/index.d.ts.map +1 -1
  334. package/dist/core/shaders/CurlNoise/index.js +5 -14
  335. package/dist/core/shaders/CursorRipples/index.js +4 -7
  336. package/dist/core/shaders/CursorTrail/index.js +4 -7
  337. package/dist/core/shaders/DataMosh/index.js +4 -7
  338. package/dist/core/shaders/DiamondGradient/index.js +4 -11
  339. package/dist/core/shaders/DiamondWipe/index.js +4 -7
  340. package/dist/core/shaders/DiffuseBlur/index.d.ts +1 -1
  341. package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
  342. package/dist/core/shaders/DiffuseBlur/index.js +4 -10
  343. package/dist/core/shaders/DisplacementMap/index.js +4 -8
  344. package/dist/core/shaders/Dither/index.d.ts +1 -1
  345. package/dist/core/shaders/Dither/index.d.ts.map +1 -1
  346. package/dist/core/shaders/Dither/index.js +4 -13
  347. package/dist/core/shaders/DotGrid/index.d.ts +2 -2
  348. package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
  349. package/dist/core/shaders/DotGrid/index.js +4 -13
  350. package/dist/core/shaders/DropShadow/index.d.ts +1 -1
  351. package/dist/core/shaders/DropShadow/index.d.ts.map +1 -1
  352. package/dist/core/shaders/DropShadow/index.js +4 -10
  353. package/dist/core/shaders/Duotone/index.js +4 -6
  354. package/dist/core/shaders/Ellipse/index.js +4 -5
  355. package/dist/core/shaders/Emboss/index.js +4 -9
  356. package/dist/core/shaders/Engraving/index.js +4 -9
  357. package/dist/core/shaders/ErosionNoise/index.d.ts +1 -1
  358. package/dist/core/shaders/ErosionNoise/index.d.ts.map +1 -1
  359. package/dist/core/shaders/ErosionNoise/index.js +5 -14
  360. package/dist/core/shaders/Exposure/index.js +4 -7
  361. package/dist/core/shaders/FallingLines/index.d.ts +1 -1
  362. package/dist/core/shaders/FallingLines/index.d.ts.map +1 -1
  363. package/dist/core/shaders/FallingLines/index.js +4 -13
  364. package/dist/core/shaders/FilmGrain/index.js +4 -7
  365. package/dist/core/shaders/FilmStock/index.js +4 -13
  366. package/dist/core/shaders/Flip/index.js +4 -8
  367. package/dist/core/shaders/FloatingParticles/index.d.ts +2 -2
  368. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  369. package/dist/core/shaders/FloatingParticles/index.js +4 -9
  370. package/dist/core/shaders/FlowField/index.js +4 -8
  371. package/dist/core/shaders/Flower/index.js +4 -5
  372. package/dist/core/shaders/FlowingGradient/index.js +4 -15
  373. package/dist/core/shaders/FlutedGlass/index.js +4 -11
  374. package/dist/core/shaders/Fog/index.js +4 -7
  375. package/dist/core/shaders/Form3D/index.js +4 -7
  376. package/dist/core/shaders/FractalNoise/index.d.ts +1 -1
  377. package/dist/core/shaders/FractalNoise/index.d.ts.map +1 -1
  378. package/dist/core/shaders/FractalNoise/index.js +4 -13
  379. package/dist/core/shaders/Frost/index.d.ts +1 -1
  380. package/dist/core/shaders/Frost/index.js +4 -11
  381. package/dist/core/shaders/GaborNoise/index.d.ts +2 -2
  382. package/dist/core/shaders/GaborNoise/index.d.ts.map +1 -1
  383. package/dist/core/shaders/GaborNoise/index.js +5 -14
  384. package/dist/core/shaders/Glass/index.js +4 -11
  385. package/dist/core/shaders/GlassTiles/index.d.ts +1 -1
  386. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  387. package/dist/core/shaders/GlassTiles/index.js +4 -8
  388. package/dist/core/shaders/Glitch/index.d.ts +1 -1
  389. package/dist/core/shaders/Glitch/index.d.ts.map +1 -1
  390. package/dist/core/shaders/Glitch/index.js +4 -10
  391. package/dist/core/shaders/Glow/index.d.ts +1 -1
  392. package/dist/core/shaders/Glow/index.d.ts.map +1 -1
  393. package/dist/core/shaders/Glow/index.js +4 -11
  394. package/dist/core/shaders/Godrays/index.js +4 -12
  395. package/dist/core/shaders/Goo/index.js +4 -11
  396. package/dist/core/shaders/GradientMap/index.js +4 -7
  397. package/dist/core/shaders/Grayscale/index.js +4 -6
  398. package/dist/core/shaders/Grid/index.d.ts +2 -2
  399. package/dist/core/shaders/Grid/index.d.ts.map +1 -1
  400. package/dist/core/shaders/Grid/index.js +4 -13
  401. package/dist/core/shaders/GridDistortion/index.js +4 -11
  402. package/dist/core/shaders/Group/index.js +4 -6
  403. package/dist/core/shaders/HTMLInCanvas/index.js +4 -7
  404. package/dist/core/shaders/Halftone/index.d.ts +3 -3
  405. package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
  406. package/dist/core/shaders/Halftone/index.js +4 -13
  407. package/dist/core/shaders/Heart/index.js +4 -5
  408. package/dist/core/shaders/Heatmap/index.js +4 -11
  409. package/dist/core/shaders/HexGrid/index.d.ts +2 -2
  410. package/dist/core/shaders/HexGrid/index.d.ts.map +1 -1
  411. package/dist/core/shaders/HexGrid/index.js +4 -13
  412. package/dist/core/shaders/Hologram/index.d.ts +1 -1
  413. package/dist/core/shaders/Hologram/index.js +4 -10
  414. package/dist/core/shaders/Holographic/index.js +4 -10
  415. package/dist/core/shaders/HueShift/index.js +4 -7
  416. package/dist/core/shaders/ImageTexture/index.js +4 -6
  417. package/dist/core/shaders/InkFlow/index.d.ts +7 -7
  418. package/dist/core/shaders/InkFlow/index.js +4 -8
  419. package/dist/core/shaders/Invert/index.js +4 -6
  420. package/dist/core/shaders/IrisWipe/index.js +4 -7
  421. package/dist/core/shaders/Irradiance/index.d.ts +1 -1
  422. package/dist/core/shaders/Irradiance/index.d.ts.map +1 -1
  423. package/dist/core/shaders/Irradiance/index.js +4 -13
  424. package/dist/core/shaders/IsometricCubes/index.d.ts +1 -1
  425. package/dist/core/shaders/IsometricCubes/index.d.ts.map +1 -1
  426. package/dist/core/shaders/IsometricCubes/index.js +4 -13
  427. package/dist/core/shaders/Kaleidoscope/index.js +4 -8
  428. package/dist/core/shaders/KeyFrames/index.js +4 -10
  429. package/dist/core/shaders/LensDistortion/index.js +4 -6
  430. package/dist/core/shaders/LensFlare/index.d.ts +1 -1
  431. package/dist/core/shaders/LensFlare/index.d.ts.map +1 -1
  432. package/dist/core/shaders/LensFlare/index.js +4 -12
  433. package/dist/core/shaders/LightEdge/index.js +4 -10
  434. package/dist/core/shaders/LightLeak/index.js +4 -12
  435. package/dist/core/shaders/Line/index.js +4 -10
  436. package/dist/core/shaders/LinearBlur/index.d.ts +1 -1
  437. package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
  438. package/dist/core/shaders/LinearBlur/index.js +4 -10
  439. package/dist/core/shaders/LinearGradient/index.js +4 -11
  440. package/dist/core/shaders/LinearWipe/index.js +4 -7
  441. package/dist/core/shaders/LiquidMetal/index.js +4 -11
  442. package/dist/core/shaders/Liquify/index.js +4 -10
  443. package/dist/core/shaders/MagneticFilings/index.js +4 -9
  444. package/dist/core/shaders/Marble/index.d.ts +1 -1
  445. package/dist/core/shaders/Marble/index.d.ts.map +1 -1
  446. package/dist/core/shaders/Marble/index.js +4 -15
  447. package/dist/core/shaders/MeshGradient/index.js +4 -17
  448. package/dist/core/shaders/Mirror/index.js +4 -8
  449. package/dist/core/shaders/MultiPointGradient/index.js +4 -11
  450. package/dist/core/shaders/Nebula/index.d.ts +3 -3
  451. package/dist/core/shaders/Nebula/index.js +4 -13
  452. package/dist/core/shaders/Neon/index.js +4 -9
  453. package/dist/core/shaders/NoiseDissolve/index.js +4 -7
  454. package/dist/core/shaders/ObjectTracker/index.d.ts +1 -1
  455. package/dist/core/shaders/ObjectTracker/index.js +4 -10
  456. package/dist/core/shaders/Obsidian/index.d.ts +5 -5
  457. package/dist/core/shaders/Obsidian/index.js +4 -15
  458. package/dist/core/shaders/PagePeel/index.js +4 -10
  459. package/dist/core/shaders/Paper/index.d.ts +1 -1
  460. package/dist/core/shaders/Paper/index.d.ts.map +1 -1
  461. package/dist/core/shaders/Paper/index.js +4 -8
  462. package/dist/core/shaders/Parallelogram/index.js +4 -5
  463. package/dist/core/shaders/ParticleField/index.js +4 -9
  464. package/dist/core/shaders/ParticleFlow/index.js +4 -10
  465. package/dist/core/shaders/Particles/index.js +4 -9
  466. package/dist/core/shaders/PerlinNoise/index.d.ts +2 -2
  467. package/dist/core/shaders/PerlinNoise/index.d.ts.map +1 -1
  468. package/dist/core/shaders/PerlinNoise/index.js +5 -14
  469. package/dist/core/shaders/Perspective/index.js +4 -8
  470. package/dist/core/shaders/PixelSort/index.js +4 -8
  471. package/dist/core/shaders/PixelThrow/index.js +4 -8
  472. package/dist/core/shaders/Pixelate/index.d.ts +1 -1
  473. package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
  474. package/dist/core/shaders/Pixelate/index.js +4 -10
  475. package/dist/core/shaders/Plasma/index.js +4 -11
  476. package/dist/core/shaders/Plastic/index.js +4 -11
  477. package/dist/core/shaders/PolarCoordinates/index.js +4 -8
  478. package/dist/core/shaders/Polygon/index.js +4 -6
  479. package/dist/core/shaders/Posterize/index.js +4 -6
  480. package/dist/core/shaders/Prism/index.d.ts +2 -2
  481. package/dist/core/shaders/Prism/index.js +4 -12
  482. package/dist/core/shaders/ProgressiveBlur/index.d.ts +1 -1
  483. package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
  484. package/dist/core/shaders/ProgressiveBlur/index.js +4 -10
  485. package/dist/core/shaders/RadialGradient/index.js +4 -11
  486. package/dist/core/shaders/RadialWipe/index.js +4 -7
  487. package/dist/core/shaders/RandomBars/index.js +4 -7
  488. package/dist/core/shaders/ReactionDiffusion/index.js +4 -8
  489. package/dist/core/shaders/RectangularCoordinates/index.js +4 -8
  490. package/dist/core/shaders/ReflectivePlane/index.js +4 -10
  491. package/dist/core/shaders/Repeater/index.js +4 -5
  492. package/dist/core/shaders/Ring/index.js +4 -5
  493. package/dist/core/shaders/RippleWipe/index.js +4 -7
  494. package/dist/core/shaders/Ripples/index.d.ts +1 -1
  495. package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
  496. package/dist/core/shaders/Ripples/index.js +4 -13
  497. package/dist/core/shaders/RoundedRect/index.js +4 -5
  498. package/dist/core/shaders/Saturation/index.js +4 -7
  499. package/dist/core/shaders/Scratches/index.d.ts +1 -1
  500. package/dist/core/shaders/Scratches/index.d.ts.map +1 -1
  501. package/dist/core/shaders/Scratches/index.js +5 -14
  502. package/dist/core/shaders/Sharpness/index.d.ts +1 -1
  503. package/dist/core/shaders/Sharpness/index.d.ts.map +1 -1
  504. package/dist/core/shaders/Sharpness/index.js +4 -11
  505. package/dist/core/shaders/Shatter/index.js +4 -6
  506. package/dist/core/shaders/SimplexNoise/index.d.ts +1 -1
  507. package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
  508. package/dist/core/shaders/SimplexNoise/index.js +5 -14
  509. package/dist/core/shaders/SineWave/index.js +4 -10
  510. package/dist/core/shaders/SliceWipe/index.js +4 -8
  511. package/dist/core/shaders/Smoke/index.js +4 -7
  512. package/dist/core/shaders/SmokeFill/index.js +4 -10
  513. package/dist/core/shaders/SmokeFlow/index.js +4 -7
  514. package/dist/core/shaders/Solarize/index.js +4 -7
  515. package/dist/core/shaders/SolidColor/index.js +4 -11
  516. package/dist/core/shaders/Sparkle/index.d.ts +57 -0
  517. package/dist/core/shaders/Sparkle/index.d.ts.map +1 -0
  518. package/dist/core/shaders/Sparkle/index.js +5 -0
  519. package/dist/core/shaders/Spherize/index.d.ts +1 -1
  520. package/dist/core/shaders/Spherize/index.d.ts.map +1 -1
  521. package/dist/core/shaders/Spherize/index.js +4 -10
  522. package/dist/core/shaders/Spiral/index.js +4 -11
  523. package/dist/core/shaders/Star/index.js +4 -5
  524. package/dist/core/shaders/Stone/index.d.ts +1 -1
  525. package/dist/core/shaders/Stone/index.d.ts.map +1 -1
  526. package/dist/core/shaders/Stone/index.js +4 -14
  527. package/dist/core/shaders/Strands/index.d.ts +1 -1
  528. package/dist/core/shaders/Strands/index.d.ts.map +1 -1
  529. package/dist/core/shaders/Strands/index.js +4 -13
  530. package/dist/core/shaders/Stretch/index.js +4 -8
  531. package/dist/core/shaders/Stripes/index.d.ts +1 -1
  532. package/dist/core/shaders/Stripes/index.d.ts.map +1 -1
  533. package/dist/core/shaders/Stripes/index.js +4 -13
  534. package/dist/core/shaders/StudioBackground/index.js +4 -14
  535. package/dist/core/shaders/SunBurst/index.js +4 -12
  536. package/dist/core/shaders/Surface3D/index.js +4 -8
  537. package/dist/core/shaders/Swirl/index.js +4 -11
  538. package/dist/core/shaders/Teardrop/index.js +4 -5
  539. package/dist/core/shaders/Text/index.js +4 -12
  540. package/dist/core/shaders/ThinFilm/index.d.ts +8 -8
  541. package/dist/core/shaders/ThinFilm/index.js +4 -9
  542. package/dist/core/shaders/TiltShift/index.d.ts +1 -1
  543. package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
  544. package/dist/core/shaders/TiltShift/index.js +4 -10
  545. package/dist/core/shaders/TimeTrail/index.d.ts +2 -2
  546. package/dist/core/shaders/TimeTrail/index.js +4 -8
  547. package/dist/core/shaders/Tint/index.js +4 -6
  548. package/dist/core/shaders/Trapezoid/index.js +4 -5
  549. package/dist/core/shaders/TriangularGrid/index.d.ts +1 -1
  550. package/dist/core/shaders/TriangularGrid/index.d.ts.map +1 -1
  551. package/dist/core/shaders/TriangularGrid/index.js +4 -13
  552. package/dist/core/shaders/Tritone/index.js +4 -6
  553. package/dist/core/shaders/Truchet/index.d.ts +1 -1
  554. package/dist/core/shaders/Truchet/index.d.ts.map +1 -1
  555. package/dist/core/shaders/Truchet/index.js +4 -13
  556. package/dist/core/shaders/Twirl/index.js +4 -8
  557. package/dist/core/shaders/VHS/index.d.ts +2 -2
  558. package/dist/core/shaders/VHS/index.d.ts.map +1 -1
  559. package/dist/core/shaders/VHS/index.js +4 -10
  560. package/dist/core/shaders/VenetianBlinds/index.js +4 -7
  561. package/dist/core/shaders/Vesica/index.js +4 -5
  562. package/dist/core/shaders/Vibrance/index.js +4 -7
  563. package/dist/core/shaders/VideoTexture/index.js +4 -6
  564. package/dist/core/shaders/Vignette/index.js +4 -8
  565. package/dist/core/shaders/Voronoi/index.d.ts +1 -1
  566. package/dist/core/shaders/Voronoi/index.d.ts.map +1 -1
  567. package/dist/core/shaders/Voronoi/index.js +4 -13
  568. package/dist/core/shaders/Voxels/index.d.ts +5 -5
  569. package/dist/core/shaders/Voxels/index.js +4 -14
  570. package/dist/core/shaders/Water/index.d.ts +3 -3
  571. package/dist/core/shaders/Water/index.js +4 -11
  572. package/dist/core/shaders/Watercolor/index.d.ts +1 -1
  573. package/dist/core/shaders/Watercolor/index.d.ts.map +1 -1
  574. package/dist/core/shaders/Watercolor/index.js +4 -10
  575. package/dist/core/shaders/WaveDistortion/index.js +4 -8
  576. package/dist/core/shaders/Waveform/index.js +4 -16
  577. package/dist/core/shaders/WaveletNoise/index.d.ts +1 -1
  578. package/dist/core/shaders/WaveletNoise/index.d.ts.map +1 -1
  579. package/dist/core/shaders/WaveletNoise/index.js +5 -14
  580. package/dist/core/shaders/Weave/index.d.ts +1 -1
  581. package/dist/core/shaders/Weave/index.d.ts.map +1 -1
  582. package/dist/core/shaders/Weave/index.js +4 -13
  583. package/dist/core/shaders/WebcamTexture/index.js +4 -6
  584. package/dist/core/shaders/Wool/index.d.ts +1 -1
  585. package/dist/core/shaders/Wool/index.d.ts.map +1 -1
  586. package/dist/core/shaders/Wool/index.js +4 -14
  587. package/dist/core/shaders/WorleyNoise/index.d.ts +1 -1
  588. package/dist/core/shaders/WorleyNoise/index.d.ts.map +1 -1
  589. package/dist/core/shaders/WorleyNoise/index.js +4 -13
  590. package/dist/core/shaders/ZoomBlur/index.d.ts +1 -1
  591. package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
  592. package/dist/core/shaders/ZoomBlur/index.js +4 -10
  593. package/dist/core/std/effects/blurs.d.ts +656 -138
  594. package/dist/core/std/effects/blurs.d.ts.map +1 -1
  595. package/dist/core/std/effects/color.d.ts +209 -32
  596. package/dist/core/std/effects/color.d.ts.map +1 -1
  597. package/dist/core/std/effects/edgeGlow.d.ts +86 -17
  598. package/dist/core/std/effects/edgeGlow.d.ts.map +1 -1
  599. package/dist/core/std/effects/fracture.d.ts +72 -8
  600. package/dist/core/std/effects/fracture.d.ts.map +1 -1
  601. package/dist/core/std/effects/index.d.ts +15 -0
  602. package/dist/core/std/effects/index.d.ts.map +1 -0
  603. package/dist/core/std/effects/instances.d.ts +87 -8
  604. package/dist/core/std/effects/instances.d.ts.map +1 -1
  605. package/dist/core/std/effects/lens.d.ts +48 -12
  606. package/dist/core/std/effects/lens.d.ts.map +1 -1
  607. package/dist/core/std/effects/overlay.d.ts +63 -22
  608. package/dist/core/std/effects/overlay.d.ts.map +1 -1
  609. package/dist/core/std/effects/pointerFields.d.ts +45 -20
  610. package/dist/core/std/effects/pointerFields.d.ts.map +1 -1
  611. package/dist/core/std/effects/reveal.d.ts +118 -40
  612. package/dist/core/std/effects/reveal.d.ts.map +1 -1
  613. package/dist/core/std/effects/stylize.d.ts +139 -70
  614. package/dist/core/std/effects/stylize.d.ts.map +1 -1
  615. package/dist/core/std/filter.d.ts +72 -12
  616. package/dist/core/std/filter.d.ts.map +1 -1
  617. package/dist/core/std/frames.d.ts +91 -24
  618. package/dist/core/std/frames.d.ts.map +1 -1
  619. package/dist/core/std/index.d.ts +46 -8
  620. package/dist/core/std/index.d.ts.map +1 -1
  621. package/dist/core/std/index.js +4 -0
  622. package/dist/core/std/invoke.d.ts +107 -12
  623. package/dist/core/std/invoke.d.ts.map +1 -1
  624. package/dist/core/std/lists.d.ts +40 -10
  625. package/dist/core/std/lists.d.ts.map +1 -1
  626. package/dist/core/std/lower.d.ts +73 -1
  627. package/dist/core/std/lower.d.ts.map +1 -1
  628. package/dist/core/std/mask.d.ts +60 -17
  629. package/dist/core/std/mask.d.ts.map +1 -1
  630. package/dist/core/std/math.d.ts +484 -9
  631. package/dist/core/std/math.d.ts.map +1 -1
  632. package/dist/core/std/motion.d.ts +130 -10
  633. package/dist/core/std/motion.d.ts.map +1 -1
  634. package/dist/core/std/paint/compose.d.ts +57 -16
  635. package/dist/core/std/paint/compose.d.ts.map +1 -1
  636. package/dist/core/std/paint/fields.d.ts +378 -95
  637. package/dist/core/std/paint/fields.d.ts.map +1 -1
  638. package/dist/core/std/paint/figures.d.ts +32 -17
  639. package/dist/core/std/paint/figures.d.ts.map +1 -1
  640. package/dist/core/std/paint/gradients.d.ts +58 -25
  641. package/dist/core/std/paint/gradients.d.ts.map +1 -1
  642. package/dist/core/std/paint/light.d.ts +501 -77
  643. package/dist/core/std/paint/light.d.ts.map +1 -1
  644. package/dist/core/std/paint/materials.d.ts +678 -151
  645. package/dist/core/std/paint/materials.d.ts.map +1 -1
  646. package/dist/core/std/paint/media.d.ts +47 -32
  647. package/dist/core/std/paint/media.d.ts.map +1 -1
  648. package/dist/core/std/paint/noise.d.ts +436 -87
  649. package/dist/core/std/paint/noise.d.ts.map +1 -1
  650. package/dist/core/std/paint/patterns.d.ts +474 -92
  651. package/dist/core/std/paint/patterns.d.ts.map +1 -1
  652. package/dist/core/std/paint/radiance.d.ts +75 -29
  653. package/dist/core/std/paint/radiance.d.ts.map +1 -1
  654. package/dist/core/std/paint/volume.d.ts +68 -27
  655. package/dist/core/std/paint/volume.d.ts.map +1 -1
  656. package/dist/core/std/paint/voxels.d.ts +46 -26
  657. package/dist/core/std/paint/voxels.d.ts.map +1 -1
  658. package/dist/core/std/shape.d.ts +195 -1
  659. package/dist/core/std/shape.d.ts.map +1 -1
  660. package/dist/core/std/signal.d.ts +55 -15
  661. package/dist/core/std/signal.d.ts.map +1 -1
  662. package/dist/core/std/sim/agentForces.d.ts +441 -99
  663. package/dist/core/std/sim/agentForces.d.ts.map +1 -1
  664. package/dist/core/std/sim/agentFrame.d.ts +94 -20
  665. package/dist/core/std/sim/agentFrame.d.ts.map +1 -1
  666. package/dist/core/std/sim/agentRender.d.ts +187 -60
  667. package/dist/core/std/sim/agentRender.d.ts.map +1 -1
  668. package/dist/core/std/sim/agents.d.ts +99 -28
  669. package/dist/core/std/sim/agents.d.ts.map +1 -1
  670. package/dist/core/std/sim/feedback.d.ts +40 -19
  671. package/dist/core/std/sim/feedback.d.ts.map +1 -1
  672. package/dist/core/std/sim/fluids.d.ts +127 -63
  673. package/dist/core/std/sim/fluids.d.ts.map +1 -1
  674. package/dist/core/std/sim/grids.d.ts +200 -48
  675. package/dist/core/std/sim/grids.d.ts.map +1 -1
  676. package/dist/core/std/sim/index.d.ts +14 -0
  677. package/dist/core/std/sim/index.d.ts.map +1 -0
  678. package/dist/core/std/sim/shapeFields.d.ts +56 -0
  679. package/dist/core/std/sim/shapeFields.d.ts.map +1 -1
  680. package/dist/core/std/sim.d.ts +112 -10
  681. package/dist/core/std/sim.d.ts.map +1 -1
  682. package/dist/core/std/slots.d.ts +72 -6
  683. package/dist/core/std/slots.d.ts.map +1 -1
  684. package/dist/core/std/types.d.ts +97 -60
  685. package/dist/core/std/types.d.ts.map +1 -1
  686. package/dist/core/std/values.d.ts +33 -14
  687. package/dist/core/std/values.d.ts.map +1 -1
  688. package/dist/core/std/warps.d.ts +221 -76
  689. package/dist/core/std/warps.d.ts.map +1 -1
  690. package/dist/core/std/wgsl.d.ts +115 -0
  691. package/dist/core/std/wgsl.d.ts.map +1 -0
  692. package/dist/core/std-ClftfWpF.js +218889 -0
  693. package/dist/core/{support-GJphyuEe.js → support-D3W86vgR.js} +11 -1
  694. package/dist/core/telemetry/index.js +1 -1
  695. package/dist/core/utilities/colorStops.d.ts +2 -2
  696. package/dist/core/utilities/listProps.d.ts +2 -2
  697. package/dist/core/utilities/listProps.d.ts.map +1 -1
  698. package/dist/core/utilities/noiseColor.d.ts +3 -3
  699. package/dist/core/utilities/transformations/index.js +1 -1
  700. package/dist/js/bundle.js +182 -180
  701. package/dist/js/createShader.d.ts.map +1 -1
  702. package/dist/js/createShader.js +4 -3
  703. package/dist/js/types.d.ts +5 -0
  704. package/dist/js/types.d.ts.map +1 -1
  705. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  706. package/dist/js/utils/generatePresetCode.js +35 -22
  707. package/dist/react/CustomShader.js +178 -0
  708. package/dist/react/Preview.js +1 -0
  709. package/dist/react/Shader.js +1 -1
  710. package/dist/react/Sparkle.js +226 -0
  711. package/dist/react/bundle.js +178 -176
  712. package/dist/react/components/Sparkle.d.ts +41 -0
  713. package/dist/react/components/Sparkle.d.ts.map +1 -0
  714. package/dist/react/engine/CustomShader.d.ts +37 -0
  715. package/dist/react/engine/CustomShader.d.ts.map +1 -0
  716. package/dist/react/engine/Preview.d.ts.map +1 -1
  717. package/dist/react/index.d.ts +5 -0
  718. package/dist/react/index.d.ts.map +1 -1
  719. package/dist/react/index.js +4 -2
  720. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  721. package/dist/react/utils/generatePresetCode.js +35 -22
  722. package/dist/registry.js +410 -158
  723. package/dist/solid/components/Sparkle.d.ts +38 -0
  724. package/dist/solid/components/Sparkle.d.ts.map +1 -0
  725. package/dist/solid/components/Sparkle.js +232 -0
  726. package/dist/solid/engine/CustomShader.d.ts +35 -0
  727. package/dist/solid/engine/CustomShader.d.ts.map +1 -0
  728. package/dist/solid/engine/CustomShader.js +160 -0
  729. package/dist/solid/engine/Preview.d.ts.map +1 -1
  730. package/dist/solid/engine/Preview.js +319 -317
  731. package/dist/solid/engine/Shader.js +1 -1
  732. package/dist/solid/index.d.ts +5 -0
  733. package/dist/solid/index.d.ts.map +1 -1
  734. package/dist/solid/index.js +95 -86
  735. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  736. package/dist/solid/utils/generatePresetCode.js +35 -22
  737. package/dist/svelte/components/Sparkle.svelte.d.ts +28 -0
  738. package/dist/svelte/engine/CustomShader.svelte.d.ts +40 -0
  739. package/dist/svelte/index.d.ts +4 -0
  740. package/dist/svelte/index.js +1237 -877
  741. package/dist/svelte/source/components/Sparkle.svelte +352 -0
  742. package/dist/svelte/source/engine/CustomShader.svelte +216 -0
  743. package/dist/svelte/source/engine/Preview.svelte +5 -3
  744. package/dist/svelte/source/index.js +4 -0
  745. package/dist/svelte/utils/generatePresetCode.js +35 -22
  746. package/dist/vue/CustomShader.js +3 -0
  747. package/dist/vue/CustomShader.vue_vue_type_script_setup_true_lang.js +173 -0
  748. package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +2 -0
  749. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  750. package/dist/vue/Sparkle.js +3 -0
  751. package/dist/vue/Sparkle.vue_vue_type_script_setup_true_lang.js +233 -0
  752. package/dist/vue/components/Sparkle.vue.d.ts +63 -0
  753. package/dist/vue/components/Sparkle.vue.d.ts.map +1 -0
  754. package/dist/vue/index.d.ts +4 -0
  755. package/dist/vue/index.d.ts.map +1 -1
  756. package/dist/vue/index.js +4 -2
  757. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  758. package/dist/vue/utils/generatePresetCode.js +35 -22
  759. package/package.json +27 -2
  760. package/dist/core/Irradiance-B36wYze9.js +0 -4191
  761. package/dist/core/LightEdge-AFfkNhDP.js +0 -2339
  762. package/dist/core/Repeater-C5LILb_Y.js +0 -762
  763. package/dist/core/Shatter-Dz3sH2ON.js +0 -1479
  764. package/dist/core/Voxels-Ca-6rRrz.js +0 -8547
  765. package/dist/core/agents-CBSp2UK_.js +0 -15709
  766. package/dist/core/agents-DXoEcto0.js +0 -5357
  767. package/dist/core/blur-7yjVyMvI.js +0 -8015
  768. package/dist/core/blurs-d4B9aUyx.js +0 -1751
  769. package/dist/core/canvasRaster-DDBkrdY8.js +0 -80
  770. package/dist/core/color-Do6tU0ry.js +0 -3619
  771. package/dist/core/compose-Dkf3v-xS.js +0 -46
  772. package/dist/core/device-m0ud8-Fn.js +0 -10
  773. package/dist/core/feedback-Dro_hxd4.js +0 -46
  774. package/dist/core/fields-DgADOKsP.js +0 -475
  775. package/dist/core/figures-B3lUGP8u.js +0 -48
  776. package/dist/core/filter-BrhpSs3Z.js +0 -23
  777. package/dist/core/fluids-umEWgdvj.js +0 -226
  778. package/dist/core/fonts-BUXTd9qb.js +0 -59
  779. package/dist/core/frames-BLqt7oaW.js +0 -78
  780. package/dist/core/glass-ABppDbYG.js +0 -2532
  781. package/dist/core/gradientPaints-5HpJVNfb.js +0 -6564
  782. package/dist/core/gradients-CIxKrfME.js +0 -159
  783. package/dist/core/grids-Cv99xcJg.js +0 -151
  784. package/dist/core/lens-DJQNJKCW.js +0 -352
  785. package/dist/core/light-D3BIVkxy.js +0 -271
  786. package/dist/core/lightfields-DvrUaH_6.js +0 -2255
  787. package/dist/core/lower-Bd2jez_2.js +0 -49452
  788. package/dist/core/mask-CeSwL79Q.js +0 -28
  789. package/dist/core/materials-4Oqvm_9m.js +0 -2944
  790. package/dist/core/math-D864seEs.js +0 -56
  791. package/dist/core/media-DXUY3ltG.js +0 -832
  792. package/dist/core/mediaLifecycle-BTPb5i1-.js +0 -320
  793. package/dist/core/motionBlur-g_WSi2iq.js +0 -6766
  794. package/dist/core/noise-d7rmP9yc.js +0 -546
  795. package/dist/core/noisePaints-CfHcXL02.js +0 -3619
  796. package/dist/core/noiseStylize-CUrW_HiC.js +0 -65
  797. package/dist/core/overlay-D5w0585O.js +0 -4712
  798. package/dist/core/patterns-Bg8lSdqH.js +0 -9723
  799. package/dist/core/pointerFields-CRecZwuZ.js +0 -2339
  800. package/dist/core/porters-OTkIMOyl.js +0 -30201
  801. package/dist/core/reveal-CfaAg-rg.js +0 -1688
  802. package/dist/core/sdf3d-2AWC_wdn.js +0 -21082
  803. package/dist/core/shaderRegistry-BUvL8ZZS.js +0 -443
  804. package/dist/core/shape-CAkSlCi8.js +0 -20
  805. package/dist/core/shapePaints-Bg2UwCZo.js +0 -3354
  806. package/dist/core/signal-emJuvOI3.js +0 -34
  807. package/dist/core/slots-BqIef2iV.js +0 -32
  808. package/dist/core/stylize-DiuoSq16.js +0 -4541
  809. package/dist/core/tone-BKhfiOBn.js +0 -763
  810. package/dist/core/warpMaps-Y8xSo-QJ.js +0 -10773
  811. package/dist/core/warps-P5O3NWLe.js +0 -276
  812. /package/dist/core/{transformations-CzFmhZww.js → transformations-P50Uo_Ju.js} +0 -0
@@ -2,16 +2,31 @@ import { Expr, GpuFragmentParams } from '../../gpu/contract';
2
2
  import { PropRef } from '../values';
3
3
  import { ArgSpec } from '../invoke';
4
4
 
5
- /** A generator paint — what a `role: 'generator'` definition's `paint:` field takes. */
5
+ /** What a generator's `paint:` field takes: a function that returns the color at this pixel. */
6
6
  export type Paint = (params: GpuFragmentParams) => Expr;
7
- /** A scalar field over a coordinate. Metric fields take a vec2 UV; domain combinators may pass vec3. */
7
+ /**
8
+ * A number per pixel, computed from a coordinate.
9
+ *
10
+ * Distance fields (`dist.*`) and `flowField` take a uv coordinate (0–1 across the canvas, y
11
+ * down). Noise fields take a 3D coordinate, so wrap them in `scaledVolume`.
12
+ */
8
13
  export type Field = (params: GpuFragmentParams, coord: Expr) => Expr;
9
- /** A colour lookup at a field parameter t ∈ [0,1]. Build via {@link pair} or {@link stops}. */
14
+ /**
15
+ * A color for a field value between 0 and 1.
16
+ *
17
+ * Build one with `pair` (two colors) or `stops` (a multi-stop ramp), then hand it to `rampOver`.
18
+ */
10
19
  export type Palette = (t: Expr, params: GpuFragmentParams) => Expr;
11
20
  /**
12
- * A scalar slot: a prop/scalar/number, optionally affine-mapped — `{base, add, mul}`
13
- * resolves to `(base + add) * mul` (for props whose UI range needs remapping into the
14
- * field's own units, e.g. a 0–100 balance slider to a ±0.3 bias).
21
+ * A number input: a prop `p('name')`, a plain number, or a prop remapped as `{base, add, mul}`.
22
+ *
23
+ * The remapped form resolves to `(base + add) * mul`. Use it when a slider's range is not the
24
+ * unit the word wants, such as a 0–100 slider that should become a small bias.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * threshold(field, {low: 0.3, high: 0.7, bias: {base: p('blend'), add: -50, mul: 0.006}})
29
+ * ```
15
30
  */
16
31
  export type FieldScalar = ArgSpec | {
17
32
  base: ArgSpec;
@@ -19,19 +34,29 @@ export type FieldScalar = ArgSpec | {
19
34
  mul?: number;
20
35
  };
21
36
  /**
22
- * Compile-time colour-space mode reader — robust to a raw string (a preset loaded before the
37
+ * @internal
38
+ * Compile-time color-space mode reader — robust to a raw string (a preset loaded before the
23
39
  * prop transform ran) as well as the bridge-mapped number.
24
40
  */
25
41
  export declare function colorSpaceModeOf(raw: unknown): number;
26
42
  /**
27
- * Pick the colour-mix body for the compile-time colour space bound by `space` (linear when
43
+ * @internal
44
+ * Pick the color-mix body for the compile-time color space bound by `space` (linear when
28
45
  * absent). The mode is a compile-time prop value, so it JS-branches to a specialised variant
29
46
  * and participates in the structural hash.
30
47
  */
31
48
  export declare function mixColorsIn(space: PropRef | undefined, params: GpuFragmentParams): import('typegpu').TgpuFn<(colorA: import('typegpu/data').Vec4f, colorB: import('typegpu/data').Vec4f, t: import('typegpu/data').F32) => import('typegpu/data').Vec4f> | import('typegpu').TgpuFn<(colorA: import('typegpu/data').Vec4f, colorB: import('typegpu/data').Vec4f, t: import('typegpu/data').F32) => import('typegpu/data').Vec4f> | import('typegpu').TgpuFn<(colorA: import('typegpu/data').Vec4f, colorB: import('typegpu/data').Vec4f, t: import('typegpu/data').F32) => import('typegpu/data').Vec4f> | import('typegpu').TgpuFn<(colorA: import('typegpu/data').Vec4f, colorB: import('typegpu/data').Vec4f, t: import('typegpu/data').F32) => import('typegpu/data').Vec4f> | import('typegpu').TgpuFn<(colorA: import('typegpu/data').Vec4f, colorB: import('typegpu/data').Vec4f, t: import('typegpu/data').F32) => import('typegpu/data').Vec4f> | import('typegpu').TgpuFn<(colorA: import('typegpu/data').Vec4f, colorB: import('typegpu/data').Vec4f, t: import('typegpu/data').F32) => import('typegpu/data').Vec4f>;
32
49
  /**
33
- * A 3-colour ladder A → B (by `t1`) → C (by `t2`) in the compile-time colour `space`, chaining
34
- * the space's mix variant.
50
+ * A three-color blend: `a` to `b` by the first value, then on to `c` by the second.
51
+ *
52
+ * Returns a function you call with two 0–1 values and the params. Both mixes happen in the
53
+ * color space named by the `space` prop (mark it `compileTime`).
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * paint: (params) => colorLadder3({a: p('colorA'), b: p('colorB'), c: p('colorC'), space: p('colorSpace')})(t1, t2, params)
58
+ * ```
59
+ * @see pair, quadBlend
35
60
  */
36
61
  export declare function colorLadder3(slots: {
37
62
  a: PropRef;
@@ -39,46 +64,122 @@ export declare function colorLadder3(slots: {
39
64
  c: PropRef;
40
65
  space: PropRef;
41
66
  }): (t1: Expr, t2: Expr, params: GpuFragmentParams) => Expr;
42
- /** Two endpoint colour props mixed in the structural `space`. */
67
+ /**
68
+ * A palette of two color props, mixed in the color space named by the `space` prop.
69
+ *
70
+ * Mark the `space` prop `compileTime`. Field value 0 gives `a`, 1 gives `b`.
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * paint: rampOver(dist.radial({center: p('center'), radius: p('radius'), aspect: 1, skew: 0}), pair(p('colorA'), p('colorB'), p('colorSpace')))
75
+ * ```
76
+ * @see stops, standardPalette
77
+ */
43
78
  export declare function pair(a: PropRef, b: PropRef, space: PropRef): Palette;
44
79
  /**
45
- * The standard stop ramp: when the `stops` prop packs >1 active stops (the fixed
46
- * `colorsArray`/`positionsArray`/`convertedColorsArray`/`stopCount` uniforms from
47
- * `colorStopsPropConfig`), the working-space accumulation loop runs; otherwise it falls
48
- * back to the `colorA`/`colorB` pair. Both in the structural `space`.
80
+ * The standard multi-stop palette, read from the `stops`, `colorA` and `colorB` props.
81
+ *
82
+ * Declare `stops: colorStopsPropConfig()` plus `colorA` and `colorB` on the definition. When
83
+ * the user has set two or more stops the ramp uses them, otherwise it mixes `colorA` to
84
+ * `colorB`. Both mix in the color space named by the `space` prop (mark it `compileTime`).
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * paint: rampOver(dist.linear({from: p('start'), to: p('end'), angle: p('angle')}), stops(p('colorSpace')), {edges: p('edges')})
89
+ * ```
90
+ * @tip The prop names are fixed: `stops`, `colorA`, `colorB`. Use `pair` when yours differ.
91
+ * @see pair, standardPalette
49
92
  */
50
93
  export declare function stops(space: PropRef): Palette;
51
94
  /**
52
- * The generator paint: evaluate `field` at the composed UV and look its parameter up in
53
- * `palette`. With an `edges` slot (a structural prop) the parameter is edge-handled first —
54
- * stretch (clamp), transparent (alpha fades to 0 outside the [0,1] band), mirror, or wrap —
55
- * and clamped for the colour lookup. Without one, the field's parameter feeds the palette
56
- * raw (fields that bound themselves — rings, sweeps, tone — need no clamp).
95
+ * A paint that colors each pixel by looking its field value up in a palette.
96
+ *
97
+ * Pass an `edges` prop (values `stretch`, `transparent`, `mirror`, `wrap`, marked
98
+ * `compileTime`) to choose what happens where the field runs past 0–1: hold the end colors,
99
+ * fade to transparent, bounce back, or repeat. Without it the value goes to the palette as
100
+ * is, which is right for fields that already stay in range such as `rings` or `tone`.
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * paint: rampOver(dist.linear({from: p('start'), to: p('end'), angle: p('angle')}), stops(p('colorSpace')), {edges: p('edges')})
105
+ * ```
106
+ * @tip This is the whole recipe for a gradient: a `dist.*` field, a palette, done.
107
+ * @see dist, pair, stops, rings, tiles
57
108
  */
58
109
  export declare function rampOver(field: Field, palette: Palette, opts?: {
59
110
  edges?: PropRef;
60
111
  }): Paint;
61
- /** Metric-distance field producers — each maps the screen UV to a raw gradient parameter. */
112
+ /**
113
+ * Distance fields: the shape of a gradient, as a number that grows away from a line or point.
114
+ *
115
+ * Each takes position props made with `transformPosition` and returns 0 at the start and 1
116
+ * at the end, unbounded beyond. Feed one to `rampOver`.
117
+ *
118
+ * @see rampOver, rings, tiles
119
+ */
62
120
  export declare const dist: {
63
- /** Projection onto the `from`→`to` axis, rotated by `angle` (degrees) about the midpoint. */
121
+ /**
122
+ * A straight gradient from one point to another.
123
+ *
124
+ * 0 at `from`, 1 at `to`. `angle` in degrees turns the whole gradient about the midpoint.
125
+ *
126
+ * @example
127
+ * ```ts
128
+ * paint: rampOver(dist.linear({from: p('start'), to: p('end'), angle: p('angle')}), stops(p('colorSpace')), {edges: p('edges')})
129
+ * ```
130
+ * @see rampOver
131
+ */
64
132
  linear(slots: {
65
133
  from: PropRef;
66
134
  to: PropRef;
67
135
  angle: FieldScalar;
68
136
  }): Field;
69
- /** Elliptical radial distance from `center`, normalized by `radius`; `aspect` stretches, `skew` rotates the axis. */
137
+ /**
138
+ * A round or elliptical gradient spreading out from a center.
139
+ *
140
+ * 0 at `center`, 1 at `radius` (a fraction of the canvas height). `aspect` 1 is a circle,
141
+ * larger values squeeze it horizontally. `skew` in degrees tilts the ellipse.
142
+ *
143
+ * @example
144
+ * ```ts
145
+ * paint: rampOver(rings(dist.radial({center: p('center'), radius: p('radius'), aspect: p('aspect'), skew: p('skewAngle')}), p('repeat')), stops(p('colorSpace')))
146
+ * ```
147
+ * @see rings
148
+ */
70
149
  radial(slots: {
71
150
  center: PropRef;
72
151
  radius: FieldScalar;
73
152
  aspect: FieldScalar;
74
153
  skew: FieldScalar;
75
154
  }): Field;
76
- /** Angular sweep around `center`, CCW from 3-o'clock, shifted by `rotation` (degrees). */
155
+ /**
156
+ * A sweep around a center, like a clock hand: 0 to 1 once around.
157
+ *
158
+ * The sweep starts at the left of the center and runs counter-clockwise. `rotation` in
159
+ * degrees moves the start. Wrap it in `tiles` to repeat the sweep.
160
+ *
161
+ * @example
162
+ * ```ts
163
+ * paint: rampOver(tiles(dist.conic({center: p('center'), rotation: p('rotation')}), p('repeat')), stops(p('colorSpace')))
164
+ * ```
165
+ * @see tiles
166
+ */
77
167
  conic(slots: {
78
168
  center: PropRef;
79
169
  rotation: FieldScalar;
80
170
  }): Field;
81
- /** Diamond (L1 → L∞ via `roundness`) distance from `center`, tilted by `rotation`, normalized by `size`. */
171
+ /**
172
+ * A diamond-shaped gradient spreading out from a center.
173
+ *
174
+ * 0 at `center`, 1 at `size` (a fraction of the canvas height). `roundness` 0 is a sharp
175
+ * diamond and 1 is a square. `rotation` in degrees tilts it.
176
+ *
177
+ * @example
178
+ * ```ts
179
+ * paint: rampOver(rings(dist.diamond({center: p('center'), size: p('size'), rotation: p('rotation'), roundness: p('roundness')}), p('repeat')), stops(p('colorSpace')))
180
+ * ```
181
+ * @see rings
182
+ */
82
183
  diamond(slots: {
83
184
  center: PropRef;
84
185
  size: FieldScalar;
@@ -86,10 +187,17 @@ export declare const dist: {
86
187
  roundness: FieldScalar;
87
188
  }): Field;
88
189
  /**
89
- * Animated spiral stripe coverage around `center` (0 = background, 1 = stroke), spun by
90
- * the definition's `animatedTime` clock. Stays a fused kit body: its anti-aliasing reads
91
- * `fwidth` of the spiral parameter, so the offset must be derived inside the same
92
- * fragment-scope function the derivatives sample.
190
+ * A turning spiral stripe: 0 on the background, 1 on the stroke.
191
+ *
192
+ * It spins on the layer's clock, so declare `animatedTime: {speed: 'speed'}`. `scale` sets
193
+ * how many turns fit, `width` (0–2) the stroke thickness, `falloff` (0–1) thins the stroke
194
+ * away from the center, `softness` (0–1) blurs its edge. Unlike the other distance fields
195
+ * this one is already 0–1, so pair it with a palette of background and stroke colors.
196
+ *
197
+ * @example
198
+ * ```ts
199
+ * paint: rampOver(dist.spiral({center: p('center'), scale: p('scale'), width: p('strokeWidth'), falloff: p('strokeFalloff'), softness: p('softness')}), pair(p('background'), p('stroke'), p('colorSpace')))
200
+ * ```
93
201
  */
94
202
  spiral(slots: {
95
203
  center: PropRef;
@@ -99,15 +207,47 @@ export declare const dist: {
99
207
  softness: FieldScalar;
100
208
  }): Field;
101
209
  };
102
- /** Concentric repetition: `count` ≤ 1 clamps, above 1 tiles rings via fract (a runtime select). */
210
+ /**
211
+ * Repeats a field as concentric bands.
212
+ *
213
+ * `count` above 1 restarts the field every 1/count, so a radial gradient becomes rings. At 1
214
+ * or below the field is clamped to 0–1, and values under 1 stretch the gradient further out.
215
+ *
216
+ * @example
217
+ * ```ts
218
+ * paint: rampOver(rings(dist.radial({center: p('center'), radius: p('radius'), aspect: 1, skew: 0}), p('repeat')), stops(p('colorSpace')))
219
+ * ```
220
+ * @tip Each band restarts at the first color rather than bouncing back. For a mirrored repeat, pass `edges` to `rampOver` instead.
221
+ * @see tiles, rampOver
222
+ */
103
223
  export declare function rings(field: Field, count: FieldScalar): Field;
104
- /** Wrapped repetition: every cycle tiles via fract (angular sweeps, starbursts). */
224
+ /**
225
+ * Repeats a field `count` times, always wrapping.
226
+ *
227
+ * Made for sweeps: `tiles(dist.conic(...), 4)` gives four sectors. Any count works, including
228
+ * fractions.
229
+ *
230
+ * @example
231
+ * ```ts
232
+ * paint: rampOver(tiles(dist.conic({center: p('center'), rotation: p('rotation')}), p('repeat')), stops(p('colorSpace')))
233
+ * ```
234
+ * @see rings
235
+ */
105
236
  export declare function tiles(field: Field, count: FieldScalar): Field;
106
237
  /**
107
- * Tone-shape a unit field: `glow` spreads via pow, `contrast` is multiplicative around
108
- * mid-grey, `balance` is a percent-centred (0–100) shift, `invert` flips the result so a
109
- * multi-stop ramp's stop0…stopN reads in the expected direction. Currently the glow-gamma
110
- * inverted shape (the one the kit tone library implements for unit fields).
238
+ * Reshapes a 0–1 field with glow, contrast and balance controls, then flips it.
239
+ *
240
+ * `glow` is a spread control: 5 leaves the field alone, lower values pull the bright parts
241
+ * into tight cores, higher values spread them into a wash. `contrast` scales around the
242
+ * middle, 1 is neutral. `balance` is 0–100 with 50 neutral. `invert` is always true: the
243
+ * result is flipped so the palette's first color lands where the field is high.
244
+ *
245
+ * @example
246
+ * ```ts
247
+ * paint: rampOver(tone(scaledVolume(noiseField('mx3'), {scale: p('scale')}), {glow: p('intensity'), contrast: p('contrast'), balance: p('balance'), invert: true}), stops(p('colorSpace')))
248
+ * ```
249
+ * @tip Raising `balance` pushes more of the canvas toward the first color.
250
+ * @see threshold, noiseField
111
251
  */
112
252
  export declare function tone(field: Field, opts: {
113
253
  glow: FieldScalar;
@@ -115,16 +255,35 @@ export declare function tone(field: Field, opts: {
115
255
  balance: FieldScalar;
116
256
  invert: true;
117
257
  }): Field;
118
- /** Soft threshold over a signed [-1,1] field: normalize to [0,1], add `bias`, smoothstep `low`→`high`. */
258
+ /**
259
+ * Turns a signed field (−1 to 1) into a soft 0–1 mask.
260
+ *
261
+ * The field is first mapped to 0–1 and shifted by `bias`, then eased from 0 at `low` to 1 at
262
+ * `high`. Bring `low` and `high` together for a hard edge.
263
+ *
264
+ * @example
265
+ * ```ts
266
+ * paint: rampOver(threshold(flowField({detail: p('detail')}), {low: 0.3, high: 0.7, bias: {base: p('blend'), add: -50, mul: 0.006}}), stops(p('colorSpace')))
267
+ * ```
268
+ * @see flowField, tone
269
+ */
119
270
  export declare function threshold(field: Field, opts: {
120
271
  low: number;
121
272
  high: number;
122
273
  bias?: FieldScalar;
123
274
  }): Field;
124
275
  /**
125
- * Share one field evaluation between consumers: the first read binds a WGSL local, later
126
- * reads reuse it (a threshold and a shimmer reading the same flow pattern must not
127
- * re-derive it). Cached per composition.
276
+ * Evaluates a field once and lets several words read the same result.
277
+ *
278
+ * Wrap a field in `share` when it feeds two places, such as a `threshold` and a `pulse`.
279
+ *
280
+ * @example
281
+ * ```ts
282
+ * const pattern = share(flowField({detail: p('detail')}))
283
+ * // then: threshold(pattern, ...) and pulse(pattern, ...)
284
+ * ```
285
+ * @tip One result per layer, whatever coordinate it is asked for. Do not use it to sample the same field at two offsets.
286
+ * @see flowField, pulse
128
287
  */
129
288
  export declare function share(field: Field): Field;
130
289
  /** Noise bases usable as a {@link noiseField} — unit-range ([0,1]) samples over a vec3 coordinate. */
@@ -150,52 +309,131 @@ declare const NOISE_BASES: {
150
309
  readonly hint: "mxNoiseFloat3";
151
310
  };
152
311
  };
312
+ /**
313
+ * The noise flavors `noiseField` can sample.
314
+ *
315
+ * `mx3` is smooth all-purpose noise, `perlin` classic gradient noise, `value` softer and
316
+ * blockier. All three return 0–1. `mx3signed` returns −1 to 1 for use with `threshold`.
317
+ */
153
318
  export type NoiseBasis = keyof typeof NOISE_BASES;
154
- /** Sample a noise basis at the incoming (vec3) coordinate. Compose under a domain producer. */
319
+ /**
320
+ * A field of smooth noise in the chosen flavor.
321
+ *
322
+ * Noise needs a 3D coordinate, so put it inside `scaledVolume` (and `warped` for motion).
323
+ *
324
+ * @example
325
+ * ```ts
326
+ * paint: rampOver(scaledVolume(noiseField('mx3'), {scale: p('scale')}), stops(p('colorSpace')))
327
+ * ```
328
+ * @see scaledVolume, warped, tone
329
+ */
155
330
  export declare function noiseField(basis: NoiseBasis): Field;
156
331
  /**
157
- * Domain-warp the inner field's coordinate (Inigo-Quilez two-level warp over the given
158
- * noise basis): noise displaces the sampling position before feeding the field, which is
159
- * what turns smooth noise into flowing plasma. `amount` (optionally pre-scaled by
160
- * `amountScale`) sets the displacement; the warp evolves on the definition's
161
- * `animatedTime` clock scaled by `timeScale`.
332
+ * Makes a field flow like liquid by bending its coordinate with moving noise.
333
+ *
334
+ * `amount` sets how far the coordinate is pushed (0 is off), `amountScale` multiplies it so
335
+ * a 0–1 slider can reach further. The motion runs on the layer's clock times `timeScale`, so
336
+ * declare `animatedTime: {speed: 'speed'}`. Needs a 3D coordinate: put it inside `scaledVolume`.
337
+ *
338
+ * @example
339
+ * ```ts
340
+ * scaledVolume(warped(noiseField('mx3'), {amount: p('warp'), amountScale: 4, timeScale: 0.125}), {scale: p('scale')})
341
+ * ```
342
+ * @see noiseField, scaledVolume, warpedPoint
162
343
  */
163
344
  export declare function warped(field: Field, opts: {
164
345
  amount: FieldScalar;
165
346
  amountScale?: number;
166
347
  timeScale?: number;
167
348
  }): Field;
168
- /** Lift a vec3-coordinate field onto the screen: aspect-corrected z=0 slab, zoomed exponentially by `scale`. */
349
+ /**
350
+ * Gives a noise field a zoomable, aspect-correct coordinate.
351
+ *
352
+ * Turns the pixel's uv into a 3D point so `noiseField` and `warped` can read it. `scale` zooms
353
+ * exponentially: 1 is neutral and each step up magnifies about 2.7 times. A 0–4 slider works
354
+ * well.
355
+ *
356
+ * @example
357
+ * ```ts
358
+ * paint: rampOver(scaledVolume(noiseField('perlin'), {scale: p('scale')}), stops(p('colorSpace')))
359
+ * ```
360
+ * @see noiseField, warped
361
+ */
169
362
  export declare function scaledVolume(field: Field, opts: {
170
363
  scale: FieldScalar;
171
364
  }): Field;
172
365
  /**
173
- * The layered trig flow pattern: three nested sin/cos layers, each domain-warping the
174
- * previous, combined into one signed [-1,1] field. Animated by the definition's
175
- * `animatedTime` clock; reads the raw coordinate it is given (no aspect correction — the
176
- * pattern is viewport-relative by design).
366
+ * A swirling, animated wave pattern from −1 to 1.
367
+ *
368
+ * `detail` sets how fine the swirls are. It moves on the layer's clock, so declare
369
+ * `animatedTime: {speed: 'speed'}`. Feed it to `threshold` for color bands or to `pulse` for
370
+ * a shimmer.
371
+ *
372
+ * @example
373
+ * ```ts
374
+ * paint: rampOver(threshold(flowField({detail: p('detail')}), {low: 0.3, high: 0.7}), stops(p('colorSpace')))
375
+ * ```
376
+ * @see threshold, pulse, share
177
377
  */
178
378
  export declare function flowField(slots: {
179
379
  detail: FieldScalar;
180
380
  }): Field;
181
- /** A subtle brightness pulse from a pattern field: `sin(t·speed + pattern·span)·depth + 1`. */
381
+ /**
382
+ * A gentle brightness pulse that follows a pattern field, hovering around 1.
383
+ *
384
+ * The result swings between 1 − `depth` and 1 + `depth`, so `depth` around 0.02 is subtle.
385
+ * `speed` is how fast it breathes, `span` how much the pattern staggers the phase. Use it as
386
+ * the gain in `shimmered`.
387
+ *
388
+ * @example
389
+ * ```ts
390
+ * paint: shimmered(rampOver(threshold(pattern, {low: 0.3, high: 0.7}), stops(p('colorSpace'))), pulse(pattern, {speed: 2.5, span: 8, depth: 0.015}))
391
+ * ```
392
+ * @see shimmered, flowField
393
+ */
182
394
  export declare function pulse(field: Field, opts: {
183
395
  speed: number;
184
396
  span: number;
185
397
  depth: number;
186
398
  }): Field;
187
399
  /**
188
- * The classic six-segment hue wheel: a cyclic hue coordinate (any real; wraps) → rgb.
189
- * The rotating-rainbow palette (Prism's fan, ColorWheel-class effects).
400
+ * A rainbow color for a hue value: 0 is red, cycling through the spectrum and back every 1.
401
+ *
402
+ * Takes any number and wraps it. Returns an rgb color with no alpha.
403
+ *
404
+ * @example
405
+ * ```ts
406
+ * const rgb = hueWheel(math.add(math.mul(angle, 0.42), animatedTime(params)))
407
+ * ```
190
408
  */
191
409
  export declare function hueWheel(h: Expr): Expr;
192
- /** Scale a paint's whole colour (rgb AND alpha) by a gain field evaluated at the raw canvas UV. */
410
+ /**
411
+ * Multiplies a paint's color and alpha by a gain field, for a slow shimmer over a pattern.
412
+ *
413
+ * The gain is read at the raw canvas uv. Build it with `pulse`.
414
+ *
415
+ * @example
416
+ * ```ts
417
+ * paint: shimmered(rampOver(field, stops(p('colorSpace'))), pulse(field, {speed: 2.5, span: 8, depth: 0.015}))
418
+ * ```
419
+ * @see pulse
420
+ */
193
421
  export declare function shimmered(paint: Paint, gain: Field): Paint;
194
422
  /**
195
- * `scatterField` — a smooth scalar field blending unit values scattered organically across the
196
- * canvas (the mesh-gradient genre primitive): golden-spiral points, gently drifting, blended by
197
- * inverse distance. `softness` is the IDW exponent (higher = crisper cells); `count` gates the
198
- * fixed-8 GPU loop at runtime.
423
+ * A mesh-gradient field: up to 8 drifting points scattered across the canvas, blended by nearness.
424
+ *
425
+ * Each point carries a fixed 0–1 value and the result is their distance-weighted average, so
426
+ * a palette lookup gives soft patches of color. `at` is an aspect-corrected coordinate (x runs
427
+ * 0 to the aspect ratio, y 0–1). `count` is 1–8, `seed` reshuffles the layout, `drift` (0–1)
428
+ * sets how far points wander on `time`, `softness` sharpens the patches as it rises. Pass
429
+ * `anchors` from `scatteredAnchors` to skip recomputing the points per pixel.
430
+ *
431
+ * @example
432
+ * ```ts
433
+ * const t = scatterField({at: uv, count: uniformOf(p('count'), params), seed, drift: uniformOf(p('drift'), params), aspect, time, softness: 3})
434
+ * return standardPalette(t, params)
435
+ * ```
436
+ * @see scatteredAnchors, wrapRamp, standardPalette
199
437
  */
200
438
  export declare function scatterField(opts: {
201
439
  at: Expr;
@@ -205,24 +443,22 @@ export declare function scatterField(opts: {
205
443
  aspect: Expr | number;
206
444
  time: Expr | number;
207
445
  softness: Expr | number;
208
- /**
209
- * The constellation pre-computed on the CPU (see {@link scatteredAnchors}) — an
210
- * `array<vec4f, 4>` extraField holding the 8 anchors packed 4-per-vec4. When given, the GPU
211
- * skips re-deriving every anchor per pixel (`drift`/`aspect`/`time` are then read on the CPU
212
- * side and ignored here).
213
- */
446
+ /** The points precomputed each frame by `scatteredAnchors`. When given, `drift`, `aspect` and `time` are ignored here. */
214
447
  anchors?: Expr;
215
448
  }): Expr;
216
449
  /**
217
- * `scatteredAnchors` — drive an `array<vec4f, 4>` extraField with the {@link scatterField}
218
- * constellation, computed ONCE per frame on the CPU (the pixel-invariant half of the field:
219
- * 8 anchor positions from count/seed/drift/aspect/animated time). The definition declares
220
- * `extraFields: {<field>: {schema: schema.arrayOf(schema.vec4f, 4), initial: 16 zeros}}`; this word
221
- * registers the per-frame writer and returns the field's GPU accessor to pass as
222
- * `scatterField({anchors})`. Reads the node's live `_animTime` (the same accumulator the GPU
223
- * warp reads), so anchors and warp stay on one clock. Dirty-keyed: a static composition (speed 0,
224
- * no edits) writes nothing. In a GPU-free composition (tests) `_animTime` is unavailable and the
225
- * field keeps its initial value.
450
+ * Computes the `scatterField` points once per frame instead of once per pixel.
451
+ *
452
+ * Declare a field on the definition, `extraFields: {meshAnchors: {schema: schema.arrayOf(schema.vec4f, 4), initial: new Array(16).fill(0)}}`,
453
+ * name it in `field`, and pass the result as `anchors` to `scatterField`. The points follow
454
+ * the layer's clock, so declare `animatedTime`.
455
+ *
456
+ * @example
457
+ * ```ts
458
+ * const anchors = scatteredAnchors(params, {count: p('count'), seed: p('seed'), drift: p('drift'), field: 'meshAnchors'})
459
+ * const t = scatterField({at: uv, count: uniformOf(p('count'), params), seed, drift: 0, aspect: 1, time: 0, softness: 3, anchors})
460
+ * ```
461
+ * @see scatterField
226
462
  */
227
463
  export declare function scatteredAnchors(params: GpuFragmentParams, slots: {
228
464
  count: PropRef;
@@ -231,25 +467,48 @@ export declare function scatteredAnchors(params: GpuFragmentParams, slots: {
231
467
  field: string;
232
468
  }): Expr;
233
469
  /**
234
- * `wrapRamp` — traverse a palette through `cycles` half-cycles as `t` rises, folding back at the
235
- * ends (seam-free triangle wave; identity at cycles = 1); sub-pixel bands fade to the palette
236
- * mid instead of shimmering. Fragment-only (fwidth).
470
+ * Runs a palette value back and forth `cycles` times so a ramp repeats without a seam.
471
+ *
472
+ * At `cycles` 1 the value passes through unchanged. Where the bands get thinner than a pixel
473
+ * they fade to the palette's middle instead of flickering. Use it on the value before the
474
+ * palette lookup, in a `paint:` function.
475
+ *
476
+ * @example
477
+ * ```ts
478
+ * return standardPalette(wrapRamp({t: field, cycles: math.add(1, math.mul(uniformOf(p('wrapping'), params), 6))}), params)
479
+ * ```
480
+ * @tip Not for use inside a `guarded` branch. Reach for `foldRamp` there.
481
+ * @see foldRamp, scatterField
237
482
  */
238
483
  export declare function wrapRamp(opts: {
239
484
  t: Expr;
240
485
  cycles: Expr | number;
241
486
  }): Expr;
242
487
  /**
243
- * `foldRamp` — fold an unbounded palette parameter back into [0, 1] as a seam-free triangle
244
- * wave (0→1→0 every 2 units of `t`). The derivative-free cousin of {@link wrapRamp}: no
245
- * sub-pixel fade, so it is safe inside a `guarded` branch (non-uniform control flow, where
246
- * `fwidth` is not). Scale `t` first to set the cycle length.
488
+ * Folds any number into 0–1 as a seamless zigzag: up from 0 to 1, back down, every 2 units.
489
+ *
490
+ * Scale the value first to set the cycle length. Safe anywhere, including inside a `guarded`
491
+ * branch.
492
+ *
493
+ * @example
494
+ * ```ts
495
+ * const rgb = stops(p('colorSpace'))(foldRamp(phase), params).member('rgb')
496
+ * ```
497
+ * @see wrapRamp
247
498
  */
248
499
  export declare function foldRamp(t: Expr): Expr;
249
500
  /**
250
- * `warpedPoint` — the domain-warped position itself (two Inigo-Quilez warp levels over MaterialX
251
- * noise), for recipes that need the warped COORDINATE (to feed several fields) rather than one
252
- * warped field sample (`warped`). Same memoized 'warpDomain' instance as {@link warped}.
501
+ * A 3D position pushed around by moving noise, for reading several fields at one warped spot.
502
+ *
503
+ * `at` is the 3D point to warp, `time` drives the motion, `amount` how far it is pushed.
504
+ * `levels` 2 (default) is the full warp, 1 is a cheaper single pass for low-power devices.
505
+ * Use `warped` instead when one field is enough.
506
+ *
507
+ * @example
508
+ * ```ts
509
+ * const q = warpedPoint({at: math.vec3(x, y, seed), time: math.mul(t, 0.3), amount: 0.5, levels: isMobileGpuViewport() ? 1 : 2})
510
+ * ```
511
+ * @see warped, warpStep
253
512
  */
254
513
  export declare function warpedPoint(opts: {
255
514
  at: Expr;
@@ -258,10 +517,19 @@ export declare function warpedPoint(opts: {
258
517
  levels?: 1 | 2;
259
518
  }): Expr;
260
519
  /**
261
- * `warpStep` — one chained Inigo-Quilez domain-warp level: displace a position by two
262
- * decorrelated noise reads (returned as `.z`/`.w` for tail stages to shade with). Chain steps
263
- * by feeding one step's `.xy` to the next. `offsets` are the two decorrelation offsets — the
264
- * caller's look data.
520
+ * One step of a chained warp: pushes a 2D position by two noise reads and hands them back.
521
+ *
522
+ * Returns a vec4: `xy` is the warped position, `zw` the two noise values, useful for shading
523
+ * later. Chain steps by feeding one step's `xy` into the next. `scale` sets the noise
524
+ * frequency, `z` is a time or seed slice, `offsets` two fixed 2D offsets that keep the reads
525
+ * apart, and the push distance is `reach` times `strength`.
526
+ *
527
+ * @example
528
+ * ```ts
529
+ * const level1 = warpStep({at: uv, scale: 1.2, z: math.mul(t, 0.5), offsets: [[5.2, 1.3], [1.7, 9.2]], reach: 0.4, strength: uniformOf(p('warp'), params)})
530
+ * const level2 = warpStep({at: level1.member('xy'), scale: 2.4, z: t, offsets: [[8.3, 2.8], [2.1, 6.4]], reach: 0.25, strength: uniformOf(p('warp'), params)})
531
+ * ```
532
+ * @see warpedPoint, quadBlend
265
533
  */
266
534
  export declare function warpStep(opts: {
267
535
  at: Expr;
@@ -272,17 +540,32 @@ export declare function warpStep(opts: {
272
540
  strength: Expr | number;
273
541
  }): Expr;
274
542
  /**
275
- * The standard multi-stop / two-colour palette, read from the definition's standard palette
276
- * props (colorA/colorB/stops/colorSpace). The coordinate is consumed once — the stops loop
277
- * takes it as a fn parameter.
543
+ * The color for a 0–1 value from the standard palette props: `colorA`, `colorB`, `stops`, `colorSpace`.
544
+ *
545
+ * Declare those four props (`stops: colorStopsPropConfig()`, `colorSpace` marked `compileTime`).
546
+ * It has the shape of a `Palette`, so it drops straight into `rampOver`, or call it yourself
547
+ * inside a `paint:` function.
548
+ *
549
+ * @example
550
+ * ```ts
551
+ * paint: rampOver(scaledVolume(noiseField('mx3'), {scale: p('scale')}), standardPalette)
552
+ * ```
553
+ * @see stops, pair
278
554
  */
279
555
  export declare function standardPalette(t: Expr, params: GpuFragmentParams): Expr;
280
556
  /**
281
- * A 2D 4-colour blend: row1 = A→B by `t1`, row2 = C→D by `t1`, base = row1→row2 by `t2`, in
282
- * the compile-time colour `space`. For a non-linear space the four endpoint conversions are
283
- * pixel-invariant, so the word's per-frame driver preconverts them (dirty-keyed) into the
284
- * `convA`–`convD` vec3 extraFields the definition declares, and the GPU mixes the
285
- * preconverted values with a single back-conversion.
557
+ * A four-color blend on a square: `a` to `b` across the top, `c` to `d` across the bottom, then top to bottom.
558
+ *
559
+ * Returns a function you call with two 0–1 values (across, then down) and the params. Mixes
560
+ * in the color space named by the `space` prop (mark it `compileTime`). For any space other
561
+ * than linear, declare `extraFields` named `convA`, `convB`, `convC`, `convD`, each
562
+ * `{schema: schema.vec3f, initial: [0, 0, 0]}`.
563
+ *
564
+ * @example
565
+ * ```ts
566
+ * const base = quadBlend({a: p('colorA'), b: p('colorB'), c: p('colorC'), d: p('colorD'), space: p('colorSpace')})(t1, t2, params)
567
+ * ```
568
+ * @see colorLadder3, pair
286
569
  */
287
570
  export declare function quadBlend(slots: {
288
571
  a: PropRef;