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
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../../src/std/paint/patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../../src/std/paint/patterns.ts"],"names":[],"mappings":"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"}
@@ -1,55 +1,87 @@
1
1
  import { Expr, GpuComputeNode, GpuFragmentParams } from '../../gpu/contract';
2
2
 
3
+ /** What `gatherIrradiance` needs. */
3
4
  export interface GatherSpec {
4
- /** The pixel, in the field's coordinates (vec2). */
5
+ /** The pixel, as a 2D point in the shape field's coordinates. */
5
6
  origin: Expr;
6
- /** Signed distance at any point of the field's coordinates. */
7
+ /** The shape as a signed distance: given a point, how far it is from the edge (negative inside). */
7
8
  field: (at: Expr) => Expr;
8
- /** Number of cones tiling the circle (compile-time: the fan is a WGSL loop of this count). */
9
+ /** How many directions to look in. 16 is nearly noise-free. Fixed when the shader compiles. */
9
10
  cones: number;
10
- /** Maximum sphere-trace steps per cone. */
11
+ /** The most steps each direction may take toward the shape. */
11
12
  steps: number;
12
- /** Distance beyond which a cone has escaped. */
13
+ /** The distance beyond which light no longer counts, in field units. */
13
14
  reach: Expr | number;
14
- /** Where along each cone the trace begins (the pixel's own distance is the natural start). */
15
+ /** Where each direction starts looking. The pixel's own distance to the shape is the natural start. */
15
16
  start: Expr | number;
16
- /** Hit threshold and minimum step — about one device pixel in field units. */
17
+ /** How close counts as touching the edge, about one device pixel in field units. */
17
18
  surfaceEps: Expr | number;
18
- /** Per-pixel [0, 1) rotation of the fan, in cones. */
19
+ /** A per-pixel 0–1 value that turns the fan of directions so its structure becomes fine grain. */
19
20
  jitter: Expr | number;
20
- /** Radiance leaving the boundary toward the pixel at a cone's closest boundary point (scalar). */
21
+ /** How bright the edge is where a direction touches it, as a single number. */
21
22
  emission: (hit: {
22
23
  point: Expr;
23
24
  normal: Expr;
24
25
  distance: Expr;
25
26
  coverage: Expr;
26
27
  }) => Expr;
27
- /** Locals the emission shares with the enclosing recipe — emitted before the loop. */
28
+ /** Values from outside that `emission` also uses. List them here or they are out of scope. */
28
29
  deps?: Expr[];
29
30
  hint?: string;
30
31
  }
31
- /** Irradiance at a pixel from an emitting, occluding boundary — the coverage-weighted mean over the cone fan. */
32
+ /**
33
+ * The light arriving at a pixel from a glowing shape edge, with the shape's body blocking it.
34
+ *
35
+ * Looks out from the pixel in `cones` directions, finds where each touches the shape, and
36
+ * averages the `emission` there. Edges facing away or hidden behind the body contribute
37
+ * nothing. Returns one number: the brightness at this pixel. It runs per pixel per frame, so
38
+ * prefer `irradianceField` unless the light must be live.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * const light = gatherIrradiance({origin: frame.sdfUV!, field: far.at, cones: 16, steps: 24, reach: 3, start: far.sdf, surfaceEps: px, jitter: hash, emission: ({normal}) => math.max(math.dot(normal, lightDir), 0), deps: [lightDir]})
43
+ * ```
44
+ * @tip Any value computed outside `emission` and read inside it must be listed in `deps`.
45
+ * @see irradianceField, shadowVisibility
46
+ */
32
47
  export declare function gatherIrradiance(spec: GatherSpec): Expr;
48
+ /** What `shadowVisibility` needs. */
33
49
  export interface ShadowSpec {
34
- /** The lit point, already stepped off the surface along its normal. */
50
+ /** The point being lit, moved a couple of pixels off the shape's edge along its normal. */
35
51
  from: Expr;
36
- /** The light position. */
52
+ /** Where the light is, in the same coordinates. */
37
53
  toward: Expr;
54
+ /** The shape as a signed distance: given a point, how far it is from the edge (negative inside). */
38
55
  field: (at: Expr) => Expr;
56
+ /** The most steps the ray may take. 12 is typical. */
39
57
  steps: number;
58
+ /** How close counts as hitting the shape, about one device pixel in field units. */
40
59
  surfaceEps: Expr | number;
41
- /** Penumbra width: how much a near-miss dims the light (0 = hard shadow). */
60
+ /** How wide the soft edge of the shadow is, 0–1. 0 is a hard shadow. */
42
61
  softness?: Expr | number;
43
62
  hint?: string;
44
63
  }
45
- /** Fraction of the light at `toward` that reaches `from` through the field (1 = unblocked). */
64
+ /**
65
+ * How much of a light reaches a point, 1 when nothing is in the way and 0 when the shape blocks it.
66
+ *
67
+ * Casts a ray from `from` toward the light and stops at the shape. Values between 0 and 1
68
+ * are the soft edge of the shadow, wider with `softness`. Multiply a light's contribution by
69
+ * it.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * const lit = math.mul(strength, shadowVisibility({from: math.add(edge.point, math.mul(edge.normal, math.mul(px, 2))), toward: light.uv, field: far.at, steps: 12, surfaceEps: px, softness: u.shadowSoftness}))
74
+ * ```
75
+ * @tip Start `from` two pixels off the edge along its normal or the point shadows itself.
76
+ * @see gatherIrradiance, irradianceField
77
+ */
46
78
  export declare function shadowVisibility(spec: ShadowSpec): Expr;
79
+ /** What `irradianceField` needs. Every string is the name of one of your props. */
47
80
  export interface IrradianceFieldSpec {
48
81
  /**
49
- * The per-frame ray budget (stratified rays per texel): `burst` on the first frame after a
50
- * change (what a nudge or a still shows), `motion` while changes keep coming (motion masks the
51
- * noise), `refine` for each of `refineFrames` extra gathers folded into the running mean once
52
- * the scene is still — then the node idles.
82
+ * How many rays each texel casts per frame: `burst` on the first frame after something
83
+ * changes, `motion` while changes keep coming, then `refine` for each of `refineFrames`
84
+ * frames once the scene is still. After that nothing runs until the next change.
53
85
  */
54
86
  rays: {
55
87
  burst: number;
@@ -57,15 +89,15 @@ export interface IrradianceFieldSpec {
57
89
  refine: number;
58
90
  refineFrames: number;
59
91
  };
60
- /** Sphere-trace step cap per ray (default 32). */
92
+ /** The most steps a ray may take toward the shape (default 32). */
61
93
  steps?: number;
62
- /** Shadow-ray step cap; 0 compiles the shadow rays out (default 12). */
94
+ /** The most steps a shadow ray may take. 0 turns shadows off entirely (default 12). */
63
95
  shadowSteps?: number;
64
- /** Texels per side of the square irradiance texture. */
96
+ /** The size of the square light texture, in texels per side. 512 is plenty; it is a smooth field. */
65
97
  resolution: number;
66
98
  /**
67
- * The light LIST prop (`listPropConfig`, `getCpuValue`-resolved so per-light mouse drivers work)
68
- * and its item field names: a `position`, a `color`, and a `number` intensity.
99
+ * Your list prop of lights (made with `listPropConfig`) and the names of its item fields: a
100
+ * `position`, a `color` and a `number` for intensity. A light's position may be driven by the mouse.
69
101
  */
70
102
  lights: {
71
103
  prop: string;
@@ -73,19 +105,33 @@ export interface IrradianceFieldSpec {
73
105
  color: string;
74
106
  intensity: string;
75
107
  };
76
- /** Prop names the gather reads (all `getCpuValue`-resolved). */
108
+ /** The prop holding how far from the shape light is gathered, relative to the shape. */
77
109
  reach: string;
110
+ /** The prop holding how far light wraps around edges facing away from it, 0–1. */
78
111
  wrap: string;
112
+ /** The prop holding each light's range: the distance at which it falls to half strength. */
79
113
  lightRange: string;
114
+ /** The prop holding the shadow's soft-edge width, 0–1. */
80
115
  shadowSoftness: string;
81
- /** Key the texture is published under in `computeOutputs` (default 'irradianceTexture'). */
116
+ /** The name the texture is published under for other compute passes (default 'irradianceTexture'). */
82
117
  outputKey?: string;
83
118
  namePrefix?: string;
84
119
  }
85
120
  /**
86
- * The irradiance-field compute node. Returns the `compute` half for the definition and `sample`,
87
- * the fragment's bilinear read of the gathered field at the composed UV (undefined when no compute
88
- * ran — GPU-free resolve — so the recipe can fall back).
121
+ * The light spilling from a shape's edges, gathered once into a texture and read per pixel.
122
+ *
123
+ * Returns two halves. Put `compute` on your definition's `compute:` field. In your material,
124
+ * call `sample(params)` for the rgb light at the pixel. It returns `undefined` when there is no
125
+ * GPU to gather on, so write `sample(params) ?? splat3(0)`. It reads your standard shape props
126
+ * (`center`, `scale`, `rotation`, `shape`, `shapeSdfUrl`, `shapeType`) plus the props named in
127
+ * the spec. The texture only re-gathers when a light or the shape changes.
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * const spill = irradianceField(GATHER).sample(params) ?? math.splat3(0)
132
+ * ```
133
+ * @tip Build the spec once as a constant and use it for both `compute:` and `sample`.
134
+ * @see gatherIrradiance, shadowVisibility
89
135
  */
90
136
  export declare function irradianceField(spec: IrradianceFieldSpec): {
91
137
  compute: GpuComputeNode;
@@ -1 +1 @@
1
- {"version":3,"file":"radiance.d.ts","sourceRoot":"","sources":["../../../src/std/paint/radiance.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAA;AAsBvC,MAAM,WAAW,UAAU;IACvB,oDAAoD;IACpD,MAAM,EAAE,IAAI,CAAA;IACZ,+DAA+D;IAC/D,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,KAAK,IAAI,CAAA;IACzB,8FAA8F;IAC9F,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,KAAK,EAAE,IAAI,GAAG,MAAM,CAAA;IACpB,8FAA8F;IAC9F,KAAK,EAAE,IAAI,GAAG,MAAM,CAAA;IACpB,8EAA8E;IAC9E,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,sDAAsD;IACtD,MAAM,EAAE,IAAI,GAAG,MAAM,CAAA;IACrB,kGAAkG;IAClG,QAAQ,EAAE,CAAC,GAAG,EAAE;QAAC,KAAK,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAC,KAAK,IAAI,CAAA;IACpF,sFAAsF;IACtF,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,iHAAiH;AACjH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAgFvD;AAED,MAAM,WAAW,UAAU;IACvB,uEAAuE;IACvE,IAAI,EAAE,IAAI,CAAA;IACV,0BAA0B;IAC1B,MAAM,EAAE,IAAI,CAAA;IACZ,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,KAAK,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CA+CvD;AAeD,OAAO,KAAK,EAAC,cAAc,EAAE,iBAAiB,EAAa,MAAM,oBAAoB,CAAA;AAyDrF,MAAM,WAAW,mBAAmB;IAChC;;;;;OAKG;IACH,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAC,CAAA;IAC3E,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAA;IAC1E,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG;IACxD,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,GAAG,SAAS,CAAA;CAC1D,CA6MA"}
1
+ {"version":3,"file":"radiance.d.ts","sourceRoot":"","sources":["../../../src/std/paint/radiance.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,34 @@
1
1
  import { Expr } from '../../gpu/contract';
2
2
  import { SurfaceFrame, SurfaceField } from './materials';
3
3
 
4
+ /** The line of sight through a shape's interior, from `interiorRay`. */
4
5
  export interface InteriorRay {
5
- /** Chord entry depth along the view (volumetric taps carry it in `.w`; flat shapes enter at 0). */
6
+ /** The depth at which the ray enters the shape. 0 for flat shapes. */
6
7
  entry: Expr;
7
- /** Chord length (the shared optical-thickness reading, scaled by the material's factor). */
8
+ /** How far the ray travels inside the shape, roughly 0–1. */
8
9
  length: Expr;
9
- /** The in-plane interior position at chord depth `z` — origin sheared along the view. */
10
+ /** The position inside the shape at depth `z` along the ray. */
10
11
  at(z: Expr): {
11
12
  x: Expr;
12
13
  y: Expr;
13
14
  };
14
15
  }
15
16
  /**
16
- * The ray a shape's interior is sampled along: entry depth + chord length, and `at(z)` —
17
- * the position any interior content (gas samples, star planes, backdrops) lives at for a
18
- * given depth. `shear` sets how strongly deeper samples slide along the view ray's
19
- * in-plane direction (the perspective parallax of looking INTO a solid).
17
+ * The line of sight through a shape: where it enters, how far it travels inside, and where it is at any depth.
18
+ *
19
+ * Pass the material's `field` and `frame`, the point the ray enters at (`origin`, usually the
20
+ * shape's centred placement coordinates) and optionally the `view` ray. `shear` (default 1)
21
+ * sets how far deeper samples slide sideways along the view, which is what makes an interior
22
+ * read as deep rather than flat. `lengthScale` stretches or shortens the travel. On a 3D shape
23
+ * `length` is the real chord through it. On a flat shape it stands in for depth, growing
24
+ * toward the middle of the shape.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const ray = interiorRay(field, frame, {origin: interior, view, shear: 0.55})
29
+ * ```
30
+ * @tip Refract `origin` through the shell first (`shellRefract`) and the interior bends at the glass walls.
31
+ * @see volumeMarch, parallaxPlane, turbulentMedium
20
32
  */
21
33
  export declare function interiorRay(field: SurfaceField, frame: SurfaceFrame, opts: {
22
34
  origin: {
@@ -28,9 +40,19 @@ export declare function interiorRay(field: SurfaceField, frame: SurfaceFrame, op
28
40
  lengthScale?: number;
29
41
  }): InteriorRay;
30
42
  /**
31
- * A content plane at a fixed depth along an interior ray, counter-panned by a rotation
32
- * sensor so it parallaxes like scenery behind a window: rotating the shape pans the
33
- * plane, deeper planes drifting further (`panRate`).
43
+ * A flat layer at a fixed depth inside the shape, like scenery seen through a window.
44
+ *
45
+ * `depth` is a fraction of the ray's length: 0 at the entry, 1 at the far side, beyond 1 for a
46
+ * backdrop behind the shape. Give it a `pan` (the `rotationSensor` of the frame) and the layer
47
+ * slides as the shape rotates, `panRate` times as far. Deeper layers with higher rates give
48
+ * the parallax of real depth. Returns the position to sample content at, plus its depth `z`.
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * const far = parallaxPlane(ray, {depth: 1.1, pan: rotationSensor(frame), panRate: 1.3, hint: 'far'})
53
+ * ```
54
+ * @tip Two planes at different depths and rates are enough to sell a starfield.
55
+ * @see interiorRay, volumeMarch
34
56
  */
35
57
  export declare function parallaxPlane(ray: InteriorRay, opts: {
36
58
  depth: number;
@@ -46,10 +68,20 @@ export declare function parallaxPlane(ray: InteriorRay, opts: {
46
68
  z: Expr;
47
69
  };
48
70
  /**
49
- * The house turbulence: a billowing 3D cloud density at an interior point — one-octave
50
- * domain warp (the folds) over a 3-octave fbm, drifting on `drift` and decorrelated per
51
- * axis by `seed`. Returns the composed `density` plus the raw `mid`/`fine` octaves, which
52
- * double as free detail fields (dust bands, ridge filaments) at zero extra noise cost.
71
+ * A billowing cloud density at a point inside the shape.
72
+ *
73
+ * `frequency` sets how many cloud cells fit across the shape. `drift` is a time value that
74
+ * moves the clouds. `seed` moves to a different part of the cloud so two instances differ.
75
+ * `billow` (0–1) folds the clouds over themselves for a cumulus look. `density` is signed,
76
+ * roughly −1 to 1: threshold it with `smoothstep` to make clouds with clear gaps. `mid` and
77
+ * `fine` are two finer layers of the same cloud, free to use for dust bands or wisps.
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * const gas = turbulentMedium({x: pos.x, y: pos.y, z}, {frequency: math.mul(u.gasScale, 3), drift: t, billow: math.float(0.4)})
82
+ * ```
83
+ * @tip Inside a `volumeMarch`, pass the step number as `hint` so each step gets its own values.
84
+ * @see volumeMarch, interiorRay
53
85
  */
54
86
  export declare function turbulentMedium(p: {
55
87
  x: Expr;
@@ -66,32 +98,41 @@ export declare function turbulentMedium(p: {
66
98
  mid: Expr;
67
99
  fine: Expr;
68
100
  };
101
+ /** One sample along a `volumeMarch`, handed to its callback. */
69
102
  export interface VolumeMarchStep {
70
- /** Step index (build-time). */
103
+ /** The step number, 0 first. A plain number, handy for naming per-step values. */
71
104
  i: number;
72
- /** Chord fraction at the step centre, 0..1 (build-time). */
105
+ /** How far along the ray this step sits, 0–1. A plain number. */
73
106
  t: number;
74
- /** Depth along the chord (entry + length·(t + jitter)), locals-bound. */
107
+ /** The depth of this sample along the ray, to pass to `ray.at`. */
75
108
  z: Expr;
76
109
  }
77
110
  /**
78
- * Front-to-back emission/absorption march: `steps` samples along the chord, each
79
- * contributing `emit · transmittance (· emissionGain)` and attenuating the transmittance
80
- * by `exp(−absorb)`. Absorption is per-channel (a vec3 `absorb` tints what lies behind —
81
- * interstellar reddening, colored glass, murky water). The unrolled loop costs exactly
82
- * what the sample callback costs; banding is bought off with `jitter` (a per-pixel hash
83
- * offset in chord-fraction units), not more steps.
111
+ * Walk a ray through the medium front to back, adding up what glows and what dims.
112
+ *
113
+ * `steps` is how many samples to take (4–8 is typical; it is fixed when the shader compiles).
114
+ * `entry` and `length` come from `interiorRay`. For each step your callback returns `emit`, the
115
+ * rgb light this sample gives off, and `absorb`, the rgb amount it blocks. Absorption is per
116
+ * channel, so a medium can dim blue more than red. Returns the accumulated `color` and the
117
+ * `transmittance` left at the far side: multiply anything behind the medium by it. `jitter`
118
+ * is a small per-pixel offset along the ray, as a fraction of its length (a hash times
119
+ * `1 / steps` works), that trades banding for fine grain. `emissionGain` scales every
120
+ * sample's glow; use `k / steps` so brightness does not change with the step count.
84
121
  *
85
- * Returns the accumulated color and the surviving transmittance — multiply anything
86
- * BEHIND the medium (backgrounds, star planes) by the latter.
122
+ * @example
123
+ * ```ts
124
+ * const march = volumeMarch({steps: 6, entry: ray.entry, length: ray.length, jitter}, ({z, i}) => ({emit: math.mul(rgb, dens), absorb: math.splat3(math.mul(dens, u.density))}))
125
+ * ```
126
+ * @tip Fewer steps plus `jitter` beats more steps: the noise becomes grain instead of bands.
127
+ * @see interiorRay, turbulentMedium, parallaxPlane
87
128
  */
88
129
  export declare function volumeMarch(opts: {
89
130
  steps: number;
90
131
  entry: Expr;
91
132
  length: Expr;
92
- /** Per-pixel offset added to each step's chord fraction (banding → grain). */
133
+ /** A per-pixel offset added to each step's position along the ray, as a fraction of the ray. */
93
134
  jitter?: Expr;
94
- /** Per-step emission normalizer (typically `k / steps` so tiers match in brightness). */
135
+ /** A multiplier on every sample's `emit`. */
95
136
  emissionGain?: Expr;
96
137
  hint?: string;
97
138
  }, sample: (step: VolumeMarchStep) => {
@@ -1 +1 @@
1
- {"version":3,"file":"volume.d.ts","sourceRoot":"","sources":["../../../src/std/paint/volume.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAA;AAG5C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,aAAa,CAAA;AAG3D,MAAM,WAAW,WAAW;IACxB,mGAAmG;IACnG,KAAK,EAAE,IAAI,CAAA;IACX,4FAA4F;IAC5F,MAAM,EAAE,IAAI,CAAA;IACZ,yFAAyF;IACzF,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG;QAAC,CAAC,EAAE,IAAI,CAAC;QAAC,CAAC,EAAE,IAAI,CAAA;KAAC,CAAA;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACvB,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE;IAAC,MAAM,EAAE;QAAC,CAAC,EAAE,IAAI,CAAC;QAAC,CAAC,EAAE,IAAI,CAAA;KAAC,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAC,GACtF,WAAW,CAoBb;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CACzB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE;QAAC,CAAC,EAAE,IAAI,CAAC;QAAC,CAAC,EAAE,IAAI,CAAA;KAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,GACjF;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAA;CAAC,CAW7B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC3B,CAAC,EAAE;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAA;CAAC,EAC9B,IAAI,EAAE;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,GACjF;IAAC,OAAO,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,CA8BxC;AAED,MAAM,WAAW,eAAe;IAC5B,+BAA+B;IAC/B,CAAC,EAAE,MAAM,CAAA;IACT,4DAA4D;IAC5D,CAAC,EAAE,MAAM,CAAA;IACT,yEAAyE;IACzE,CAAC,EAAE,IAAI,CAAA;CACV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACvB,IAAI,EAAE;IACF,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,IAAI,CAAA;IACX,MAAM,EAAE,IAAI,CAAA;IACZ,8EAA8E;IAC9E,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,yFAAyF;IACzF,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,MAAM,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAC,GAC9D;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,IAAI,CAAA;CAAC,CAepC"}
1
+ {"version":3,"file":"volume.d.ts","sourceRoot":"","sources":["../../../src/std/paint/volume.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAA;AAG5C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,aAAa,CAAA;AAG3D,wEAAwE;AACxE,MAAM,WAAW,WAAW;IACxB,sEAAsE;IACtE,KAAK,EAAE,IAAI,CAAA;IACX,6DAA6D;IAC7D,MAAM,EAAE,IAAI,CAAA;IACZ,gEAAgE;IAChE,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG;QAAC,CAAC,EAAE,IAAI,CAAC;QAAC,CAAC,EAAE,IAAI,CAAA;KAAC,CAAA;CAClC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CACvB,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE;IAAC,MAAM,EAAE;QAAC,CAAC,EAAE,IAAI,CAAC;QAAC,CAAC,EAAE,IAAI,CAAA;KAAC,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAC,GACtF,WAAW,CAyBb;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CACzB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE;QAAC,CAAC,EAAE,IAAI,CAAC;QAAC,CAAC,EAAE,IAAI,CAAA;KAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,GACjF;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAA;CAAC,CAY7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC3B,CAAC,EAAE;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAA;CAAC,EAC9B,IAAI,EAAE;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,GACjF;IAAC,OAAO,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,CAiCxC;AAED,gEAAgE;AAChE,MAAM,WAAW,eAAe;IAC5B,kFAAkF;IAClF,CAAC,EAAE,MAAM,CAAA;IACT,iEAAiE;IACjE,CAAC,EAAE,MAAM,CAAA;IACT,mEAAmE;IACnE,CAAC,EAAE,IAAI,CAAA;CACV;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CACvB,IAAI,EAAE;IACF,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,IAAI,CAAA;IACX,MAAM,EAAE,IAAI,CAAA;IACZ,gGAAgG;IAChG,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,6CAA6C;IAC7C,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,MAAM,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAC,GAC9D;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,IAAI,CAAA;CAAC,CAmBpC"}
@@ -3,63 +3,83 @@ import { voxels as voxelKit } from '../../gpu/kit/index';
3
3
  import { PropRef } from '../values';
4
4
  import { ShapedSurfaceEffect, SurfaceFrame, SurfaceField } from './materials';
5
5
 
6
+ /** What each block is: `'cube'`, `'sphere'` or `'rounded'` (a cube with rounded corners). */
6
7
  export type VoxelStyle = voxelKit.VoxelStyle;
8
+ /** Where the grid sits: `'shape'` turns with the shape like a built model, `'view'` stays fixed to the canvas. */
7
9
  export type VoxelGridSpace = voxelKit.VoxelGridSpace;
10
+ /** What `voxelSurface` needs. Every field but `surface` is a prop ref, `p('name')`. */
8
11
  export interface VoxelSurfaceSpec {
9
- /** Compile-time selects: `'cube' | 'sphere' | 'rounded'` and `'shape' | 'view'`. */
12
+ /** The block style, `'cube' | 'sphere' | 'rounded'`. Mark the prop `compileTime: true`. */
10
13
  style: PropRef;
14
+ /** Where the grid sits, `'shape' | 'view'`. Mark the prop `compileTime: true`. */
11
15
  gridSpace: PropRef;
16
+ /** The edge length of one block, relative to the shape. 0.035 is about a tenth of the default sphere. */
12
17
  voxelSize: PropRef;
18
+ /** How eagerly cells along the surface fill in, −0.5 to 0.5. Negative carves the model thinner, positive puffs it out. */
13
19
  fill: PropRef;
20
+ /** The size of each block inside its cell, 0.3–1. 1 touches its neighbours, less opens gaps. */
14
21
  voxelScale: PropRef;
22
+ /** Corner rounding as a fraction of the block size, 0–1. A hairline chamfer on cubes, the corner radius of rounded cubes. */
15
23
  bevel: PropRef;
16
- /** Penumbra softness of the shadow-map lookup (fragment-side — drivable). */
24
+ /** The soft-edge width of cast shadows, 0–1. 0 is razor sharp. */
17
25
  shadowSoftness: PropRef;
18
- /** Optional camera tilt/turn (degrees) applied to the view ray before the shape rotation. */
26
+ /** Optional camera tilt, in degrees. */
19
27
  pitch?: PropRef;
28
+ /** Optional camera turn, in degrees. */
20
29
  yaw?: PropRef;
21
- /** Optional turntable: rides the node's `animatedTime` clock (declare `animatedTime: {speed:
22
- * spin}`); one unit of speed = one turn per ten seconds. */
30
+ /** Optional turntable speed. Declare `animatedTime: {speed: 'spin'}` too. A speed of 1 is one turn every ten seconds. */
23
31
  spin?: PropRef;
24
- /** Key light azimuth / elevation (degrees). Mouse and auto drivers are honoured by the shadow
25
- * map too (`getCpuValue` resolves them); a texture MAP driver only reaches the fragment
26
- * lighting, the shadow direction then stays at the prop's static value. */
32
+ /** The direction the key light comes from, in degrees around the canvas. Shadows fall away from it. */
27
33
  lightAngle: PropRef;
34
+ /** How high the key light sits above the canvas, in degrees. Low for long shadows, high for flat top light. */
28
35
  lightElevation: PropRef;
29
- /** Slab thickness for flat shapes. */
36
+ /** The thickness given to flat shapes so they become a slab of blocks, relative to the shape. 3D shapes ignore it. */
30
37
  depth: PropRef;
31
- /** THE MATERIAL over one candidate voxel: return `vec4(rgb, coverage)`; the spine resolves
32
- * visibility and coverage itself from the analytic hits, so only `.rgb` is consumed. */
38
+ /** Your material: the color of one block. Return `vec4(rgb, vox.coverage)`. */
33
39
  surface: (vox: VoxelFrame, frame: SurfaceFrame, params: GpuFragmentParams) => Expr;
34
40
  }
35
- /** The decoded frame of ONE candidate voxel the `surface:` slot shades. */
41
+ /** One block, as `voxelSurface` hands it to your `surface`. */
36
42
  export interface VoxelFrame {
37
- /** The spine's field basics (`sdf`, `pxH`, `aspect`). */
43
+ /** The shape field basics: `sdf`, `pxH` (one pixel in uv) and `aspect`. */
38
44
  field: SurfaceField;
39
- /** 1 for a real candidate (its texel hit a voxel), 0 for an empty texel slot. */
45
+ /** 1 when this is a real block, 0 for an empty slot. Return it as your alpha. */
40
46
  coverage: Expr;
41
- /** Unit normal in the material convention (x right, y down, z negative toward the viewer). */
47
+ /** The block's unit normal at this pixel. x right, y down, z negative toward the viewer. */
42
48
  normal: Expr;
43
- /** Baked smooth ambient occlusion, 1 = open. */
49
+ /** How open the block's surroundings are, 1 in the open and lower in creases. Multiply ambient light by it. */
44
50
  ao: Expr;
45
- /** Cast-shadow amount from the shadow map (contact-hardening soft shadow), 1 = fully shadowed.
46
- * Shared across the pixel's candidates (evaluated at the nearest hit). */
51
+ /** How much shadow other blocks cast here, 0 in the light and 1 fully shadowed. */
47
52
  shadow: Expr;
48
- /** Grid cell indices (vec3f, integer-valued). */
53
+ /** The block's grid position as three whole numbers in a vec3. */
49
54
  cell: Expr;
50
- /** Stable 0..1 hash per voxel. */
55
+ /** A random 0–1 number that stays the same for this block every frame. Use it for per-block color variation. */
51
56
  cellHash: Expr;
52
- /** Cell height across the grid (0 bottom → 1 top of the bounding volume). */
57
+ /** How high the block sits, 0 at the bottom of the model and 1 at the top. */
53
58
  heightT: Expr;
54
- /** View depth across the bounding volume (0 nearest → 1 farthest). */
59
+ /** How deep the block sits, 0 nearest the viewer and 1 farthest. */
55
60
  depthT: Expr;
56
- /** Distance from the face centre toward its edge, 0 → 1 (the seam band lives near 1). */
61
+ /** How far this pixel is from the centre of its face toward the edge, 0–1. Seams live near 1. */
57
62
  edge: Expr;
58
- /** The perspective view ray (material convention, into the scene). */
63
+ /** The view ray into the scene, in the same convention as `normal`. */
59
64
  view: Expr;
60
- /** Build-time: the chosen sub-shape style. */
65
+ /** The block style in force, known when the shader compiles. */
61
66
  style: VoxelStyle;
62
67
  }
63
- /** The voxel spine noun. See the module header. */
68
+ /**
69
+ * Rebuild the shape from blocks and shade each block with your `surface`.
70
+ *
71
+ * Returns `{extraFields, compute, gpu}` to spread into a shape-effect definition. Your props
72
+ * must include the standard shape props (`center`, `scale`, `rotation`, `shape`, `shapeSdfUrl`,
73
+ * `shapeType`), a `shadows` amount (0–1) and everything the spec names. Your `surface` gets a
74
+ * `VoxelFrame` per block and returns `vec4(rgb, vox.coverage)`. Geometry props re-build the
75
+ * model when they change. Color and light props never do.
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * ...voxelSurface({style: p('voxelShape'), gridSpace: p('gridSpace'), voxelSize: p('voxelSize'), fill: p('fill'), voxelScale: p('voxelScale'), bevel: p('bevel'), shadowSoftness: p('shadowSoftness'), lightAngle: p('lightAngle'), lightElevation: p('lightElevation'), depth: p('depth'), surface: (vox, frame, params) => math.vec4(shade(vox), vox.coverage)})
80
+ * ```
81
+ * @tip Light with `materials.lambert(vox.normal, L, {wrap: 0.12})` times `1 − vox.shadow · shadows` and the blocks read as solid.
82
+ * @see shapedSurface, lambert
83
+ */
64
84
  export declare function voxelSurface(spec: VoxelSurfaceSpec): ShapedSurfaceEffect;
65
85
  //# sourceMappingURL=voxels.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"voxels.d.ts","sourceRoot":"","sources":["../../../src/std/paint/voxels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAC,IAAI,EAAE,iBAAiB,EAA6B,MAAM,oBAAoB,CAAA;AAE3F,OAAO,EAAQ,MAAM,IAAI,QAAQ,EAAC,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEtC,OAAO,EAEH,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EACjE,MAAM,aAAa,CAAA;AAKpB,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;AAC5C,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAA;AASpD,MAAM,WAAW,gBAAgB;IAC7B,oFAAoF;IACpF,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,6EAA6E;IAC7E,cAAc,EAAE,OAAO,CAAA;IACvB,6FAA6F;IAC7F,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,GAAG,CAAC,EAAE,OAAO,CAAA;IACb;iEAC6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;gFAE4E;IAC5E,UAAU,EAAE,OAAO,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,sCAAsC;IACtC,KAAK,EAAE,OAAO,CAAA;IACd;6FACyF;IACzF,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAA;CACrF;AAED,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IACvB,yDAAyD;IACzD,KAAK,EAAE,YAAY,CAAA;IACnB,iFAAiF;IACjF,QAAQ,EAAE,IAAI,CAAA;IACd,8FAA8F;IAC9F,MAAM,EAAE,IAAI,CAAA;IACZ,gDAAgD;IAChD,EAAE,EAAE,IAAI,CAAA;IACR;+EAC2E;IAC3E,MAAM,EAAE,IAAI,CAAA;IACZ,iDAAiD;IACjD,IAAI,EAAE,IAAI,CAAA;IACV,kCAAkC;IAClC,QAAQ,EAAE,IAAI,CAAA;IACd,6EAA6E;IAC7E,OAAO,EAAE,IAAI,CAAA;IACb,sEAAsE;IACtE,MAAM,EAAE,IAAI,CAAA;IACZ,yFAAyF;IACzF,IAAI,EAAE,IAAI,CAAA;IACV,sEAAsE;IACtE,IAAI,EAAE,IAAI,CAAA;IACV,8CAA8C;IAC9C,KAAK,EAAE,UAAU,CAAA;CACpB;AAKD,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,mBAAmB,CAwNxE"}
1
+ {"version":3,"file":"voxels.d.ts","sourceRoot":"","sources":["../../../src/std/paint/voxels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkBH,OAAO,KAAK,EAAC,IAAI,EAAE,iBAAiB,EAA6B,MAAM,oBAAoB,CAAA;AAE3F,OAAO,EAAQ,MAAM,IAAI,QAAQ,EAAC,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEtC,OAAO,EAEH,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EACjE,MAAM,aAAa,CAAA;AAKpB,6FAA6F;AAC7F,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;AAC5C,kHAAkH;AAClH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAA;AASpD,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAC7B,2FAA2F;IAC3F,KAAK,EAAE,OAAO,CAAA;IACd,kFAAkF;IAClF,SAAS,EAAE,OAAO,CAAA;IAClB,yGAAyG;IACzG,SAAS,EAAE,OAAO,CAAA;IAClB,0HAA0H;IAC1H,IAAI,EAAE,OAAO,CAAA;IACb,gGAAgG;IAChG,UAAU,EAAE,OAAO,CAAA;IACnB,6HAA6H;IAC7H,KAAK,EAAE,OAAO,CAAA;IACd,kEAAkE;IAClE,cAAc,EAAE,OAAO,CAAA;IACvB,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,wCAAwC;IACxC,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,yHAAyH;IACzH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,uGAAuG;IACvG,UAAU,EAAE,OAAO,CAAA;IACnB,+GAA+G;IAC/G,cAAc,EAAE,OAAO,CAAA;IACvB,sHAAsH;IACtH,KAAK,EAAE,OAAO,CAAA;IACd,+EAA+E;IAC/E,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAA;CACrF;AAQD,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACvB,2EAA2E;IAC3E,KAAK,EAAE,YAAY,CAAA;IACnB,iFAAiF;IACjF,QAAQ,EAAE,IAAI,CAAA;IACd,4FAA4F;IAC5F,MAAM,EAAE,IAAI,CAAA;IACZ,+GAA+G;IAC/G,EAAE,EAAE,IAAI,CAAA;IACR,mFAAmF;IACnF,MAAM,EAAE,IAAI,CAAA;IACZ,kEAAkE;IAClE,IAAI,EAAE,IAAI,CAAA;IACV,gHAAgH;IAChH,QAAQ,EAAE,IAAI,CAAA;IACd,8EAA8E;IAC9E,OAAO,EAAE,IAAI,CAAA;IACb,oEAAoE;IACpE,MAAM,EAAE,IAAI,CAAA;IACZ,iGAAiG;IACjG,IAAI,EAAE,IAAI,CAAA;IACV,uEAAuE;IACvE,IAAI,EAAE,IAAI,CAAA;IACV,gEAAgE;IAChE,KAAK,EAAE,UAAU,CAAA;CACpB;AASD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,mBAAmB,CA0NxE"}