shaders 3.0.453 → 3.1.455

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 (776) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/core/{AngularBlur-B0m-LKoD.js → AngularBlur-CIw_xeFr.js} +25 -31
  3. package/dist/core/Arc-Dh0gjBrJ.js +183 -0
  4. package/dist/core/{Ascii-BiFuRRQ1.js → Ascii-CUk527uY.js} +34 -46
  5. package/dist/core/{Aurora-B35I8qRz.js → Aurora-CTWNhlNr.js} +14 -15
  6. package/dist/core/{BarShift-C_waFkRO.js → BarShift-BrOamln6.js} +24 -122
  7. package/dist/core/BarnDoors-D_lVAMPJ.js +170 -0
  8. package/dist/core/{Beam-BPBmQMGD.js → Beam-CgpfMTUq.js} +45 -461
  9. package/dist/core/{Bend-Bq1Qlhq4.js → Bend-CRuu6NuH.js} +13 -57
  10. package/dist/core/{Blob-BtInePsq.js → Blob-1mhEIcv5.js} +3 -3
  11. package/dist/core/BlockDissolve-DwWPjla0.js +178 -0
  12. package/dist/core/{BlockNoise-BfDNfyBP.js → BlockNoise-BMt760_p.js} +36 -113
  13. package/dist/core/{BlueNoise-CNLIGPMW.js → BlueNoise-Cfo_HthN.js} +24 -46
  14. package/dist/core/Blur-Bc8evwsz.js +428 -0
  15. package/dist/core/{Boids-D51ZdvH0.js → Boids-CtvT1VsV.js} +105 -427
  16. package/dist/core/{BokehBlur-DO4V8nZ-.js → BokehBlur-CWQm00ut.js} +37 -214
  17. package/dist/core/{BrickPattern-D21Nqxcj.js → BrickPattern-DomddM0C.js} +89 -335
  18. package/dist/core/{BrightnessContrast-QxVeVMih.js → BrightnessContrast-Bs8AV0he.js} +16 -15
  19. package/dist/core/{BrushedMetal-Xq4jMVz1.js → BrushedMetal-BAgNgeo1.js} +342 -1001
  20. package/dist/core/{Bulge-CdCqTfrp.js → Bulge-CdhRTWSH.js} +13 -71
  21. package/dist/core/{CRTScreen-D7WSk5fJ.js → CRTScreen-BxnPxDw9.js} +1 -1
  22. package/dist/core/{CarbonFiber-Dg-XleHg.js → CarbonFiber-mK6eHIpy.js} +281 -935
  23. package/dist/core/{Chalkboard-B_YRavSR.js → Chalkboard-BizZEHlC.js} +2 -2
  24. package/dist/core/{ChannelBlur-BmEILWdn.js → ChannelBlur-Oz40DKPZ.js} +15 -39
  25. package/dist/core/{CheckerWipe-Dbt7TTDK.js → CheckerWipe-yv4dK6n5.js} +83 -211
  26. package/dist/core/Checkerboard-Ynfnt3oJ.js +158 -0
  27. package/dist/core/{Chevron-DsJK3THV.js → Chevron-CEwNP2vt.js} +46 -117
  28. package/dist/core/{ChromaFlow-Bj4rfeWl.js → ChromaFlow-BXw1jQkn.js} +3 -3
  29. package/dist/core/{ChromaticAberration-C2UtSgN3.js → ChromaticAberration-CWhYEGDU.js} +2 -2
  30. package/dist/core/{Chrome-CSrC5yk_.js → Chrome-DoPYr4Kd.js} +97 -351
  31. package/dist/core/Circle-DGvP0Svo.js +267 -0
  32. package/dist/core/{ColorWheel-C_YLOL93.js → ColorWheel-BCReEdLZ.js} +48 -63
  33. package/dist/core/{CompressionArtifacts-BXto-pLr.js → CompressionArtifacts-Cm0iOzys.js} +2 -2
  34. package/dist/core/{ConcentricSpin-1tArUXYX.js → ConcentricSpin-B3GHzoS1.js} +37 -146
  35. package/dist/core/{ConicGradient-Tw-pg593.js → ConicGradient-C3zzgyV4.js} +25 -143
  36. package/dist/core/{ContourLines-CBFm0hjl.js → ContourLines-DDzxvg9k.js} +5 -66
  37. package/dist/core/{CornerPin-BNgPHIHY.js → CornerPin-VFPI_Jzq.js} +9 -54
  38. package/dist/core/Crescent-DL6EeZZp.js +187 -0
  39. package/dist/core/Cross-DQIgZt-C.js +188 -0
  40. package/dist/core/{Crystal-DN2WgBrm.js → Crystal-B9DIgDD7.js} +81 -262
  41. package/dist/core/{CurlNoise-RsATuC8w.js → CurlNoise-D6kSV8PJ.js} +40 -98
  42. package/dist/core/{CursorRipples-DbtJtDDl.js → CursorRipples-C1hLNWzZ.js} +63 -60
  43. package/dist/core/{CursorTrail-yoPFtwk9.js → CursorTrail-CPW8orHG.js} +66 -52
  44. package/dist/core/{DataMosh-DabFQ-B5.js → DataMosh-CjVK_gxL.js} +23 -56
  45. package/dist/core/{DiamondGradient-DbaUt2tC.js → DiamondGradient-BkrLPdAd.js} +43 -186
  46. package/dist/core/{DiamondWipe-Jth0vS7V.js → DiamondWipe-Cscn7Dyy.js} +45 -205
  47. package/dist/core/{DiffuseBlur-BZxj-iAt.js → DiffuseBlur-DUBfHpUN.js} +8 -11
  48. package/dist/core/{DisplacementMap-31H7QPQl.js → DisplacementMap-B-cVoGbC.js} +4 -3
  49. package/dist/core/{Dither-BN-zSZ0l.js → Dither-B4lhnNLA.js} +9 -12
  50. package/dist/core/{DotGrid-BRDFAkBz.js → DotGrid-CJJXTOk6.js} +78 -355
  51. package/dist/core/{DropShadow-_lFvglPh.js → DropShadow-B4msUftn.js} +31 -32
  52. package/dist/core/{Duotone-BhxXqh0S.js → Duotone-DF3dn0kC.js} +11 -8
  53. package/dist/core/Ellipse-WuGsM7Gr.js +168 -0
  54. package/dist/core/{Emboss--yOZdnyf.js → Emboss-D5RYAc-U.js} +14 -35
  55. package/dist/core/{Engraving-B26NgnCE.js → Engraving-DNNHKvIr.js} +12 -12
  56. package/dist/core/{ErosionNoise-_uC5Hx2q.js → ErosionNoise-w1aTuwY4.js} +35 -98
  57. package/dist/core/{Exposure-BM3eE3ol.js → Exposure-BSsbosYN.js} +15 -11
  58. package/dist/core/{FallingLines-BuczyepF.js → FallingLines-C1YT49dj.js} +13 -14
  59. package/dist/core/{FilmGrain-Dyy76ena.js → FilmGrain-BeZQzxdU.js} +21 -15
  60. package/dist/core/{FilmStock-mi-H3Ul9.js → FilmStock-Bgn9OyQY.js} +9 -734
  61. package/dist/core/{Flip-rZzkYscj.js → Flip-DJuox9qR.js} +11 -25
  62. package/dist/core/{FloatingParticles-BbbTJldX.js → FloatingParticles-Ch5OJjCc.js} +128 -447
  63. package/dist/core/{FlowField-u0qYoqV2.js → FlowField-Cime_Fqy.js} +6 -5
  64. package/dist/core/Flower--1qeeCuA.js +187 -0
  65. package/dist/core/{FlowingGradient-_zyM9KQn.js → FlowingGradient-DL1e3OKu.js} +12 -17
  66. package/dist/core/{FlutedGlass-C9-K6UQ7.js → FlutedGlass-CqSVa4kd.js} +5 -4
  67. package/dist/core/Fog-DvOvVKbF.js +2261 -0
  68. package/dist/core/{Form3D-Dmvpcqp1.js → Form3D-CabM27VZ.js} +152 -838
  69. package/dist/core/{FractalNoise-C8uudMNt.js → FractalNoise-Bu8FbMYX.js} +57 -321
  70. package/dist/core/{Frost-DV2zJSAL.js → Frost-BnE3EI6s.js} +77 -170
  71. package/dist/core/{GaborNoise-Bty1hWmn.js → GaborNoise-BZFyQbDr.js} +36 -99
  72. package/dist/core/{Glass-CYmFGP1b.js → Glass-DPa3OWjZ.js} +15 -27
  73. package/dist/core/{GlassTiles-B3vyGos-.js → GlassTiles-B4Y8x78X.js} +3 -2
  74. package/dist/core/{Glitch-DcjdwJep.js → Glitch-nokyLk8Q.js} +1 -1
  75. package/dist/core/Glow-C3VfGUb6.js +198 -0
  76. package/dist/core/{Godrays-lPn_O_W-.js → Godrays-fglKeS0z.js} +37 -72
  77. package/dist/core/{Goo-DxEB8kMF.js → Goo-BPaUKk1S.js} +13 -42
  78. package/dist/core/{GradientMap-7G6EOwy8.js → GradientMap-DQ4IbzIx.js} +23 -17
  79. package/dist/core/{Grayscale-BJz0olll.js → Grayscale-Bpp1Q2KT.js} +9 -11
  80. package/dist/core/Grid-BneV9T3T.js +684 -0
  81. package/dist/core/{GridDistortion-CSBRousF.js → GridDistortion-CAKSKhII.js} +8 -53
  82. package/dist/core/{Group-BSg6a8Ro.js → Group-UvbIuzy-.js} +1 -1
  83. package/dist/core/{HTMLInCanvas-DnQ0ZY38.js → HTMLInCanvas-CMxSuq5H.js} +16 -27
  84. package/dist/core/{Halftone-B2C55h6_.js → Halftone-SiFx0wAg.js} +4 -3
  85. package/dist/core/Heart-DLQnxsbQ.js +144 -0
  86. package/dist/core/{Heatmap-BdExXQBU.js → Heatmap-Bp0wi8r1.js} +14 -31
  87. package/dist/core/{HexGrid-B6UygS6q.js → HexGrid-LGx240mZ.js} +82 -486
  88. package/dist/core/{Hologram-D_eqqb8P.js → Hologram-B-090nzV.js} +14 -48
  89. package/dist/core/{Holographic-Ctrsya3k.js → Holographic-CSIQUm1_.js} +90 -298
  90. package/dist/core/{HueShift-CFXxhPpm.js → HueShift-B7l4vcZP.js} +17 -14
  91. package/dist/core/ImageTexture-D41xKACO.js +58 -0
  92. package/dist/core/InkFlow-Bd4RXQmm.js +1159 -0
  93. package/dist/core/{Invert-Bya7lBpK.js → Invert-CEfJB0WN.js} +9 -11
  94. package/dist/core/IrisWipe-O6dc-Aq2.js +163 -0
  95. package/dist/core/{IsometricCubes-CC-l8cnR.js → IsometricCubes-BQFwe-5s.js} +106 -473
  96. package/dist/core/{Kaleidoscope-DhvQTJdp.js → Kaleidoscope-DQFV4-lX.js} +15 -71
  97. package/dist/core/{KeyFrames-ZTsc7rtN.js → KeyFrames-BjH6gHSf.js} +32 -67
  98. package/dist/core/{LensDistortion-KiZJXFKC.js → LensDistortion-BcodYk7_.js} +3 -3
  99. package/dist/core/{LensFlare-D5fr8RPA.js → LensFlare-B4F0dq7O.js} +106 -348
  100. package/dist/core/{LightEdge-D0NOWDh7.js → LightEdge-l2zPIeMQ.js} +14 -31
  101. package/dist/core/{LightLeak-DdaidQ1D.js → LightLeak-BSy19CB6.js} +49 -333
  102. package/dist/core/{Line-B5DIIWBz.js → Line-CRGYWOyW.js} +2 -2
  103. package/dist/core/{LinearBlur-CyQxSLS2.js → LinearBlur-DGfbbIWb.js} +20 -31
  104. package/dist/core/{LinearGradient-B8tyawJy.js → LinearGradient-DOWwm0bP.js} +59 -110
  105. package/dist/core/LinearWipe-0nTDgTcZ.js +162 -0
  106. package/dist/core/{LiquidMetal-vARkyRL2.js → LiquidMetal-BbyxqZoO.js} +90 -446
  107. package/dist/core/{Liquify-Djnk6ryT.js → Liquify-Bg2tEc64.js} +10 -54
  108. package/dist/core/{MagneticFilings-BfTe8-Jn.js → MagneticFilings-5NVqpsrW.js} +123 -416
  109. package/dist/core/{Marble-3s7VS-tT.js → Marble-CzoJcXvo.js} +14 -15
  110. package/dist/core/{Mirror-Ck4Hzdd8.js → Mirror-B_2eQT6d.js} +11 -67
  111. package/dist/core/{MultiPointGradient-CdzqMTN9.js → MultiPointGradient-NJZfFGVb.js} +27 -140
  112. package/dist/core/{Neon-B8iSfL5s.js → Neon-m8PtEGdE.js} +14 -33
  113. package/dist/core/{NoiseDissolve-Df70NgHI.js → NoiseDissolve-DxvqR71w.js} +21 -129
  114. package/dist/core/{ObjectTracker-CFpotAyg.js → ObjectTracker-DlVNN9LJ.js} +41 -51
  115. package/dist/core/{PagePeel-Bmc4hBhO.js → PagePeel-BZOvdHFV.js} +3 -2
  116. package/dist/core/{Paper-af7JgKOt.js → Paper-Bn3DETI2.js} +2 -2
  117. package/dist/core/Parallelogram-a6zB6mY9.js +187 -0
  118. package/dist/core/{ParticleField-FPUBkJmo.js → ParticleField-CUtlCqxz.js} +172 -385
  119. package/dist/core/{ParticleFlow-DfdDvN-j.js → ParticleFlow-Ck5Ta_Rj.js} +250 -2572
  120. package/dist/core/{Particles-DZaTzOZP.js → Particles-rnTAu4Mr.js} +366 -475
  121. package/dist/core/{PerlinNoise-DPaPG55C.js → PerlinNoise-BUbmE_JA.js} +36 -113
  122. package/dist/core/{Perspective-DBzb7DC9.js → Perspective-S94umCQn.js} +17 -71
  123. package/dist/core/{PixelSort-sqoLBmqR.js → PixelSort-CF0-TpU7.js} +2 -2
  124. package/dist/core/{PixelThrow-arRYRlCO.js → PixelThrow-2WPijuDY.js} +17 -652
  125. package/dist/core/{Pixelate-Ba_iNPwv.js → Pixelate-BLdO8qAT.js} +1 -1
  126. package/dist/core/Plasma-DOH9gxWt.js +355 -0
  127. package/dist/core/{Plastic-C-NBXCG-.js → Plastic-CQNoTl22.js} +86 -271
  128. package/dist/core/{PolarCoordinates-CjV_EFpN.js → PolarCoordinates-DZNOyHmN.js} +15 -72
  129. package/dist/core/Polygon-BM3xGxOC.js +231 -0
  130. package/dist/core/{Posterize-BUt2MAqY.js → Posterize-BJl7Irml.js} +51 -18
  131. package/dist/core/{Prism-BBSdqnRm.js → Prism-CaJyExNA.js} +3 -3
  132. package/dist/core/{ProgressiveBlur-CQhyaOwl.js → ProgressiveBlur-B1Ur87dm.js} +56 -368
  133. package/dist/core/{RadialGradient-BXLBHnCC.js → RadialGradient-C1Fb8TaL.js} +44 -185
  134. package/dist/core/RadialWipe-CA5xWWPN.js +222 -0
  135. package/dist/core/RandomBars-B7ZwitL3.js +238 -0
  136. package/dist/core/{ReactionDiffusion-r1qHYWoB.js → ReactionDiffusion--54drNkY.js} +403 -1270
  137. package/dist/core/{RectangularCoordinates-CFGiELUv.js → RectangularCoordinates-BEOFurXt.js} +14 -70
  138. package/dist/core/{ReflectivePlane-BbKUjtUs.js → ReflectivePlane-wERmyiKx.js} +12 -77
  139. package/dist/core/{Repeater-DZhhgwMr.js → Repeater-Cy8up7cj.js} +2 -2
  140. package/dist/core/{Ring-DFxV0XzX.js → Ring-Cogdtn-0.js} +19 -134
  141. package/dist/core/{RippleWipe-DFh-8SmT.js → RippleWipe-fJwyE4vj.js} +24 -273
  142. package/dist/core/{Ripples-BG24IcNH.js → Ripples-BSHfhVG1.js} +3 -3
  143. package/dist/core/RoundedRect-D3intNNI.js +188 -0
  144. package/dist/core/{Saturation-DKbtxVNf.js → Saturation-D42Bfc5P.js} +14 -12
  145. package/dist/core/{Scratches-C40D6A1_.js → Scratches-Ih3Kx_UW.js} +5 -5
  146. package/dist/core/{Sharpness-DygCiVsY.js → Sharpness-Dyh6312-.js} +11 -11
  147. package/dist/core/{Shatter-eVP3Mt9W.js → Shatter-Qc5aMkWj.js} +3 -4
  148. package/dist/core/{SimplexNoise-HorjLzId.js → SimplexNoise-E7ssgWPN.js} +37 -179
  149. package/dist/core/{SineWave-CTIhqhO-.js → SineWave-CnPtZLSs.js} +6 -5
  150. package/dist/core/{SliceWipe-D3yX3CAm.js → SliceWipe-Byb46V6I.js} +15 -25
  151. package/dist/core/Smoke-5x6IAk2_.js +1265 -0
  152. package/dist/core/SmokeFill-DOQpTlCv.js +3192 -0
  153. package/dist/core/SmokeFlow-B4fdM2M-.js +903 -0
  154. package/dist/core/{Solarize-wvgIpPSb.js → Solarize-BB0bXhP0.js} +15 -15
  155. package/dist/core/{SolidColor-CQ9bQ-k6.js → SolidColor-D-6N9JmI.js} +1 -1
  156. package/dist/core/{Spherize-N33ACzeM.js → Spherize-aWpru70e.js} +2 -2
  157. package/dist/core/{Spiral-NeLWfZ6k.js → Spiral-Dbm2j7mM.js} +5 -4
  158. package/dist/core/Star-XtB9FBhQ.js +187 -0
  159. package/dist/core/{Stone-mVzuC5SK.js → Stone-i7v3RIb9.js} +2 -2
  160. package/dist/core/{Strands-C19HsqO_.js → Strands-BFaZBnNo.js} +6 -5
  161. package/dist/core/{Stretch-CAGlZjVf.js → Stretch-BKg0gjm4.js} +15 -72
  162. package/dist/core/{Stripes-DH9wZV3F.js → Stripes-B_SkTR2m.js} +83 -378
  163. package/dist/core/{StudioBackground-DPsj_N10.js → StudioBackground-CUsUWJ2L.js} +14 -133
  164. package/dist/core/{SunBurst-D5p0QAnh.js → SunBurst-DiqSzz5A.js} +34 -52
  165. package/dist/core/{Surface3D-HSAAGomd.js → Surface3D-DxzfMHn2.js} +15 -21
  166. package/dist/core/{Swirl-C1lH2gAk.js → Swirl-DBxZ6Wud.js} +3 -3
  167. package/dist/core/Teardrop-CnhwMyQx.js +168 -0
  168. package/dist/core/{Text-DPjLa6Eh.js → Text-Cb6QJNWo.js} +51 -70
  169. package/dist/core/{ThinFilm-DhpK-SoR.js → ThinFilm-B7CTONK1.js} +28 -176
  170. package/dist/core/{TiltShift-e57KIilk.js → TiltShift-DqEFOoJG.js} +62 -368
  171. package/dist/core/{TimeTrail-CYofyeeE.js → TimeTrail-G_JamlY8.js} +28 -73
  172. package/dist/core/{Tint-DBM82OkZ.js → Tint-Dj1rSoJ0.js} +14 -21
  173. package/dist/core/{Trapezoid-DaIBhsop.js → Trapezoid-D2PMU9G3.js} +40 -160
  174. package/dist/core/{TriangularGrid-CBOVJOcR.js → TriangularGrid-C3DBCmaj.js} +69 -349
  175. package/dist/core/{Tritone-D6Dur2eo.js → Tritone-DfULv51I.js} +11 -8
  176. package/dist/core/{Truchet-sunCQd_E.js → Truchet-yjZm8xe3.js} +73 -172
  177. package/dist/core/{Twirl-D3-3HSuS.js → Twirl-DfRsql00.js} +11 -67
  178. package/dist/core/{VHS-DtyeGxi8.js → VHS-Z23X9XD6.js} +1 -1
  179. package/dist/core/VenetianBlinds-CCucT73e.js +188 -0
  180. package/dist/core/Vesica-BIGpXjWv.js +168 -0
  181. package/dist/core/{Vibrance-B8gBhQS7.js → Vibrance-CtlvCONz.js} +15 -11
  182. package/dist/core/VideoTexture-DW6bQduh.js +58 -0
  183. package/dist/core/{Vignette-yIXlpfCE.js → Vignette-Dz3pPnPR.js} +24 -21
  184. package/dist/core/Voronoi-5QA-0zme.js +363 -0
  185. package/dist/core/{Water-uLbQQrt-.js → Water-DlvNrnrU.js} +84 -269
  186. package/dist/core/{Watercolor-CcZ0fVEu.js → Watercolor-BWx4xdwk.js} +3 -3
  187. package/dist/core/{WaveDistortion-DasSsVxv.js → WaveDistortion-CRQzZDLP.js} +18 -66
  188. package/dist/core/{WaveletNoise-DpRWc5Qw.js → WaveletNoise-CZS67VBU.js} +36 -99
  189. package/dist/core/{Weave-CLGYIcmf.js → Weave-DpwAU5Rn.js} +77 -254
  190. package/dist/core/WebcamTexture-DauLQjCl.js +130 -0
  191. package/dist/core/{Wool-uy61uieK.js → Wool-CEaWGZB1.js} +2 -2
  192. package/dist/core/WorleyNoise-CjRMr7xP.js +558 -0
  193. package/dist/core/{ZoomBlur-OQP2jw3F.js → ZoomBlur-DgG9JA7a.js} +18 -29
  194. package/dist/core/aa-C8WSqiNB.js +1094 -0
  195. package/dist/core/{agents-BVhq_Z2T.js → agents-C_kohsYu.js} +1 -1
  196. package/dist/core/{bevel-BGAb1fb2.js → bevel-ogqjoZKV.js} +1 -1
  197. package/dist/core/{blur-cLcFzL4x.js → blur-CZuIxzX6.js} +1782 -3
  198. package/dist/core/canvasRaster-BB2bNhS7.js +80 -0
  199. package/dist/core/cells-CM9mfnTr.js +1042 -0
  200. package/dist/core/cellular-qYnxKdPx.js +1593 -0
  201. package/dist/core/constants-DoOzbl5b.js +9 -0
  202. package/dist/core/{sdf-B8rPE1PG.js → device-B0ZwBfOg.js} +107 -6
  203. package/dist/core/{edges-B7Yet3LV.js → edges-CD7gCAto.js} +665 -1
  204. package/dist/core/fields-CC0756V2.js +1311 -0
  205. package/dist/core/geom-90G-d_hc.js +1036 -0
  206. package/dist/core/{glass-CNFJB2On.js → glass-D8xs_kIG.js} +1 -1
  207. package/dist/core/gpu/compute.d.ts +80 -9
  208. package/dist/core/gpu/compute.d.ts.map +1 -1
  209. package/dist/core/gpu/contract.d.ts +22 -1
  210. package/dist/core/gpu/contract.d.ts.map +1 -1
  211. package/dist/core/gpu/index.d.ts.map +1 -1
  212. package/dist/core/gpu/kit/aa.d.ts +111 -0
  213. package/dist/core/gpu/kit/aa.d.ts.map +1 -0
  214. package/dist/core/gpu/kit/blur.d.ts +288 -9
  215. package/dist/core/gpu/kit/blur.d.ts.map +1 -1
  216. package/dist/core/gpu/kit/cells.d.ts +136 -0
  217. package/dist/core/gpu/kit/cells.d.ts.map +1 -0
  218. package/dist/core/gpu/kit/cellular.d.ts +102 -0
  219. package/dist/core/gpu/kit/cellular.d.ts.map +1 -0
  220. package/dist/core/gpu/kit/constants.d.ts +52 -0
  221. package/dist/core/gpu/kit/constants.d.ts.map +1 -0
  222. package/dist/core/gpu/kit/effects/index.d.ts +2 -3
  223. package/dist/core/gpu/kit/effects/index.d.ts.map +1 -1
  224. package/dist/core/gpu/kit/effects/raymarch3d.d.ts +17 -34
  225. package/dist/core/gpu/kit/effects/raymarch3d.d.ts.map +1 -1
  226. package/dist/core/gpu/kit/effects/thinFilm.d.ts +3 -1
  227. package/dist/core/gpu/kit/effects/thinFilm.d.ts.map +1 -1
  228. package/dist/core/gpu/kit/fields.d.ts +143 -0
  229. package/dist/core/gpu/kit/fields.d.ts.map +1 -0
  230. package/dist/core/gpu/kit/geom.d.ts +129 -0
  231. package/dist/core/gpu/kit/geom.d.ts.map +1 -0
  232. package/dist/core/gpu/kit/host/canvasRaster.d.ts +104 -0
  233. package/dist/core/gpu/kit/host/canvasRaster.d.ts.map +1 -0
  234. package/dist/core/gpu/kit/host/mediaLifecycle.d.ts +173 -0
  235. package/dist/core/gpu/kit/host/mediaLifecycle.d.ts.map +1 -0
  236. package/dist/core/gpu/kit/host/pointer.d.ts +155 -0
  237. package/dist/core/gpu/kit/host/pointer.d.ts.map +1 -0
  238. package/dist/core/gpu/kit/index.d.ts +10 -0
  239. package/dist/core/gpu/kit/index.d.ts.map +1 -1
  240. package/dist/core/gpu/kit/lightfields.d.ts +114 -0
  241. package/dist/core/gpu/kit/lightfields.d.ts.map +1 -0
  242. package/dist/core/gpu/kit/lighting.d.ts +115 -0
  243. package/dist/core/gpu/kit/lighting.d.ts.map +1 -0
  244. package/dist/core/gpu/kit/media.d.ts +44 -0
  245. package/dist/core/gpu/kit/media.d.ts.map +1 -1
  246. package/dist/core/gpu/kit/noiseColor.d.ts +19 -4
  247. package/dist/core/gpu/kit/noiseColor.d.ts.map +1 -1
  248. package/dist/core/gpu/kit/reveal.d.ts +75 -0
  249. package/dist/core/gpu/kit/reveal.d.ts.map +1 -0
  250. package/dist/core/gpu/kit/sampling.d.ts +43 -0
  251. package/dist/core/gpu/kit/sampling.d.ts.map +1 -1
  252. package/dist/core/gpu/kit/sdf.d.ts +23 -0
  253. package/dist/core/gpu/kit/sdf.d.ts.map +1 -1
  254. package/dist/core/gpu/kit/sdf3d.d.ts +54 -1
  255. package/dist/core/gpu/kit/sdf3d.d.ts.map +1 -1
  256. package/dist/core/gpu/kit/tone.d.ts +100 -0
  257. package/dist/core/gpu/kit/tone.d.ts.map +1 -0
  258. package/dist/core/gpu/porters.d.ts +11 -1
  259. package/dist/core/gpu/porters.d.ts.map +1 -1
  260. package/dist/core/gpu/scaffolds/agentSystem.d.ts +244 -0
  261. package/dist/core/gpu/scaffolds/agentSystem.d.ts.map +1 -0
  262. package/dist/core/gpu/scaffolds/feedbackSim.d.ts +102 -0
  263. package/dist/core/gpu/scaffolds/feedbackSim.d.ts.map +1 -0
  264. package/dist/core/gpu/scaffolds/fluids.d.ts +170 -0
  265. package/dist/core/gpu/scaffolds/fluids.d.ts.map +1 -0
  266. package/dist/core/gpu/scaffolds/lateBoundChild.d.ts +51 -0
  267. package/dist/core/gpu/scaffolds/lateBoundChild.d.ts.map +1 -0
  268. package/dist/core/gpu/scaffolds/pointwiseFilter.d.ts +77 -0
  269. package/dist/core/gpu/scaffolds/pointwiseFilter.d.ts.map +1 -0
  270. package/dist/core/gpu/scaffolds/rttFilter.d.ts +35 -0
  271. package/dist/core/gpu/scaffolds/rttFilter.d.ts.map +1 -0
  272. package/dist/core/gpu/scaffolds/sdfShape.d.ts +98 -0
  273. package/dist/core/gpu/scaffolds/sdfShape.d.ts.map +1 -0
  274. package/dist/core/gpu/scaffolds/shared.d.ts +16 -0
  275. package/dist/core/gpu/scaffolds/shared.d.ts.map +1 -0
  276. package/dist/core/gpu/scaffolds/simShared.d.ts +61 -0
  277. package/dist/core/gpu/scaffolds/simShared.d.ts.map +1 -0
  278. package/dist/core/gpu/scaffolds/uvRemapShader.d.ts +134 -0
  279. package/dist/core/gpu/scaffolds/uvRemapShader.d.ts.map +1 -0
  280. package/dist/core/index.js +230 -217
  281. package/dist/core/lightfields-ffHoLyJn.js +1550 -0
  282. package/dist/core/lighting-D3jc6qOc.js +1270 -0
  283. package/dist/core/{media-Y-WxQcQD.js → media-fQMXfvXd.js} +31 -2
  284. package/dist/core/mediaLifecycle-yHZ8w5aj.js +314 -0
  285. package/dist/core/{noise-B-PI7JUx.js → noise-Bd6IGS0W.js} +1 -1
  286. package/dist/core/{noiseColor-Cgx-FS2o.js → noiseColor-DRDY44sf.js} +2 -2
  287. package/dist/core/noiseColor-DYhX5Js1.js +28 -0
  288. package/dist/core/{noiseStylize-BN5zji1E.js → noiseStylize-CkeVSB9C.js} +2 -2
  289. package/dist/core/pointer-DGDGF-yO.js +88 -0
  290. package/dist/core/porters-DUtQounc.js +12220 -0
  291. package/dist/core/presetRenderer.d.ts.map +1 -1
  292. package/dist/core/propConfigs-k3hs8KYL.js +190 -0
  293. package/dist/core/registry.js +222 -212
  294. package/dist/core/reveal-DhktaT1C.js +1071 -0
  295. package/dist/core/{shapeEffectBounds-Svfd_R5a.js → sdf3d-CP87OlsQ.js} +18752 -18710
  296. package/dist/core/shaderRegistry-DLSuwWtO.js +431 -0
  297. package/dist/core/shaders/AngularBlur/index.d.ts +8 -4
  298. package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
  299. package/dist/core/shaders/AngularBlur/index.js +7 -5
  300. package/dist/core/shaders/Arc/index.d.ts +0 -65
  301. package/dist/core/shaders/Arc/index.d.ts.map +1 -1
  302. package/dist/core/shaders/Arc/index.js +6 -7
  303. package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
  304. package/dist/core/shaders/Ascii/index.js +8 -5
  305. package/dist/core/shaders/Aurora/index.d.ts.map +1 -1
  306. package/dist/core/shaders/Aurora/index.js +9 -6
  307. package/dist/core/shaders/BarShift/index.d.ts +1 -7
  308. package/dist/core/shaders/BarShift/index.d.ts.map +1 -1
  309. package/dist/core/shaders/BarShift/index.js +8 -6
  310. package/dist/core/shaders/BarnDoors/index.d.ts.map +1 -1
  311. package/dist/core/shaders/BarnDoors/index.js +8 -5
  312. package/dist/core/shaders/Beam/index.d.ts.map +1 -1
  313. package/dist/core/shaders/Beam/index.js +9 -5
  314. package/dist/core/shaders/Bend/index.d.ts +0 -6
  315. package/dist/core/shaders/Bend/index.d.ts.map +1 -1
  316. package/dist/core/shaders/Bend/index.js +7 -5
  317. package/dist/core/shaders/Blob/index.js +6 -5
  318. package/dist/core/shaders/BlockDissolve/index.d.ts.map +1 -1
  319. package/dist/core/shaders/BlockDissolve/index.js +9 -6
  320. package/dist/core/shaders/BlockNoise/index.d.ts.map +1 -1
  321. package/dist/core/shaders/BlockNoise/index.js +13 -8
  322. package/dist/core/shaders/BlueNoise/index.d.ts.map +1 -1
  323. package/dist/core/shaders/BlueNoise/index.js +13 -8
  324. package/dist/core/shaders/Blur/index.d.ts +6 -6
  325. package/dist/core/shaders/Blur/index.d.ts.map +1 -1
  326. package/dist/core/shaders/Blur/index.js +7 -6
  327. package/dist/core/shaders/Boids/index.d.ts.map +1 -1
  328. package/dist/core/shaders/Boids/index.js +9 -8
  329. package/dist/core/shaders/BokehBlur/index.d.ts +16 -16
  330. package/dist/core/shaders/BokehBlur/index.d.ts.map +1 -1
  331. package/dist/core/shaders/BokehBlur/index.js +8 -6
  332. package/dist/core/shaders/BrickPattern/index.d.ts.map +1 -1
  333. package/dist/core/shaders/BrickPattern/index.js +10 -5
  334. package/dist/core/shaders/BrightnessContrast/index.d.ts.map +1 -1
  335. package/dist/core/shaders/BrightnessContrast/index.js +6 -5
  336. package/dist/core/shaders/BrushedMetal/index.d.ts.map +1 -1
  337. package/dist/core/shaders/BrushedMetal/index.js +12 -12
  338. package/dist/core/shaders/Bulge/index.d.ts +2 -16
  339. package/dist/core/shaders/Bulge/index.d.ts.map +1 -1
  340. package/dist/core/shaders/Bulge/index.js +6 -5
  341. package/dist/core/shaders/CRTScreen/index.js +6 -5
  342. package/dist/core/shaders/CarbonFiber/index.d.ts.map +1 -1
  343. package/dist/core/shaders/CarbonFiber/index.js +12 -12
  344. package/dist/core/shaders/Chalkboard/index.js +6 -5
  345. package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
  346. package/dist/core/shaders/ChannelBlur/index.js +7 -6
  347. package/dist/core/shaders/CheckerWipe/index.d.ts.map +1 -1
  348. package/dist/core/shaders/CheckerWipe/index.js +8 -5
  349. package/dist/core/shaders/Checkerboard/index.d.ts +0 -2
  350. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  351. package/dist/core/shaders/Checkerboard/index.js +9 -6
  352. package/dist/core/shaders/Chevron/index.d.ts.map +1 -1
  353. package/dist/core/shaders/Chevron/index.js +8 -5
  354. package/dist/core/shaders/ChromaFlow/index.js +6 -6
  355. package/dist/core/shaders/ChromaticAberration/index.js +6 -5
  356. package/dist/core/shaders/Chrome/index.d.ts.map +1 -1
  357. package/dist/core/shaders/Chrome/index.js +12 -12
  358. package/dist/core/shaders/Circle/index.d.ts +0 -50
  359. package/dist/core/shaders/Circle/index.d.ts.map +1 -1
  360. package/dist/core/shaders/Circle/index.js +6 -7
  361. package/dist/core/shaders/ColorWheel/index.d.ts.map +1 -1
  362. package/dist/core/shaders/ColorWheel/index.js +8 -5
  363. package/dist/core/shaders/CompressionArtifacts/index.js +6 -5
  364. package/dist/core/shaders/ConcentricSpin/index.d.ts +3 -17
  365. package/dist/core/shaders/ConcentricSpin/index.d.ts.map +1 -1
  366. package/dist/core/shaders/ConcentricSpin/index.js +8 -6
  367. package/dist/core/shaders/ConicGradient/index.d.ts.map +1 -1
  368. package/dist/core/shaders/ConicGradient/index.js +10 -5
  369. package/dist/core/shaders/ContourLines/index.d.ts +1 -1
  370. package/dist/core/shaders/ContourLines/index.d.ts.map +1 -1
  371. package/dist/core/shaders/ContourLines/index.js +7 -5
  372. package/dist/core/shaders/CornerPin/index.d.ts +0 -6
  373. package/dist/core/shaders/CornerPin/index.d.ts.map +1 -1
  374. package/dist/core/shaders/CornerPin/index.js +6 -5
  375. package/dist/core/shaders/Crescent/index.d.ts +0 -71
  376. package/dist/core/shaders/Crescent/index.d.ts.map +1 -1
  377. package/dist/core/shaders/Crescent/index.js +6 -7
  378. package/dist/core/shaders/Cross/index.d.ts +0 -71
  379. package/dist/core/shaders/Cross/index.d.ts.map +1 -1
  380. package/dist/core/shaders/Cross/index.js +6 -7
  381. package/dist/core/shaders/Crystal/index.d.ts.map +1 -1
  382. package/dist/core/shaders/Crystal/index.js +11 -11
  383. package/dist/core/shaders/CurlNoise/index.d.ts.map +1 -1
  384. package/dist/core/shaders/CurlNoise/index.js +13 -8
  385. package/dist/core/shaders/CursorRipples/index.d.ts.map +1 -1
  386. package/dist/core/shaders/CursorRipples/index.js +7 -5
  387. package/dist/core/shaders/CursorTrail/index.d.ts.map +1 -1
  388. package/dist/core/shaders/CursorTrail/index.js +7 -5
  389. package/dist/core/shaders/DataMosh/index.d.ts.map +1 -1
  390. package/dist/core/shaders/DataMosh/index.js +6 -5
  391. package/dist/core/shaders/DiamondGradient/index.d.ts.map +1 -1
  392. package/dist/core/shaders/DiamondGradient/index.js +10 -5
  393. package/dist/core/shaders/DiamondWipe/index.d.ts.map +1 -1
  394. package/dist/core/shaders/DiamondWipe/index.js +8 -5
  395. package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
  396. package/dist/core/shaders/DiffuseBlur/index.js +6 -5
  397. package/dist/core/shaders/DisplacementMap/index.d.ts.map +1 -1
  398. package/dist/core/shaders/DisplacementMap/index.js +7 -5
  399. package/dist/core/shaders/Dither/index.d.ts.map +1 -1
  400. package/dist/core/shaders/Dither/index.js +6 -5
  401. package/dist/core/shaders/DotGrid/index.d.ts +0 -1
  402. package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
  403. package/dist/core/shaders/DotGrid/index.js +11 -6
  404. package/dist/core/shaders/DropShadow/index.d.ts.map +1 -1
  405. package/dist/core/shaders/DropShadow/index.js +8 -5
  406. package/dist/core/shaders/Duotone/index.d.ts.map +1 -1
  407. package/dist/core/shaders/Duotone/index.js +6 -5
  408. package/dist/core/shaders/Ellipse/index.d.ts +0 -65
  409. package/dist/core/shaders/Ellipse/index.d.ts.map +1 -1
  410. package/dist/core/shaders/Ellipse/index.js +6 -7
  411. package/dist/core/shaders/Emboss/index.d.ts.map +1 -1
  412. package/dist/core/shaders/Emboss/index.js +8 -10
  413. package/dist/core/shaders/Engraving/index.d.ts.map +1 -1
  414. package/dist/core/shaders/Engraving/index.js +8 -6
  415. package/dist/core/shaders/ErosionNoise/index.d.ts.map +1 -1
  416. package/dist/core/shaders/ErosionNoise/index.js +13 -8
  417. package/dist/core/shaders/Exposure/index.d.ts.map +1 -1
  418. package/dist/core/shaders/Exposure/index.js +6 -5
  419. package/dist/core/shaders/FallingLines/index.d.ts.map +1 -1
  420. package/dist/core/shaders/FallingLines/index.js +8 -5
  421. package/dist/core/shaders/FilmGrain/index.d.ts.map +1 -1
  422. package/dist/core/shaders/FilmGrain/index.js +6 -5
  423. package/dist/core/shaders/FilmStock/index.d.ts +9 -10
  424. package/dist/core/shaders/FilmStock/index.d.ts.map +1 -1
  425. package/dist/core/shaders/FilmStock/index.js +7 -6
  426. package/dist/core/shaders/Flip/index.d.ts.map +1 -1
  427. package/dist/core/shaders/Flip/index.js +6 -5
  428. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  429. package/dist/core/shaders/FloatingParticles/index.js +9 -8
  430. package/dist/core/shaders/FlowField/index.d.ts.map +1 -1
  431. package/dist/core/shaders/FlowField/index.js +8 -6
  432. package/dist/core/shaders/Flower/index.d.ts +0 -71
  433. package/dist/core/shaders/Flower/index.d.ts.map +1 -1
  434. package/dist/core/shaders/Flower/index.js +6 -7
  435. package/dist/core/shaders/FlowingGradient/index.d.ts.map +1 -1
  436. package/dist/core/shaders/FlowingGradient/index.js +8 -6
  437. package/dist/core/shaders/FlutedGlass/index.d.ts.map +1 -1
  438. package/dist/core/shaders/FlutedGlass/index.js +7 -5
  439. package/dist/core/shaders/Fog/index.d.ts +1 -9
  440. package/dist/core/shaders/Fog/index.d.ts.map +1 -1
  441. package/dist/core/shaders/Fog/index.js +8 -5
  442. package/dist/core/shaders/Form3D/index.d.ts.map +1 -1
  443. package/dist/core/shaders/Form3D/index.js +7 -5
  444. package/dist/core/shaders/FractalNoise/index.d.ts.map +1 -1
  445. package/dist/core/shaders/FractalNoise/index.js +12 -7
  446. package/dist/core/shaders/Frost/index.d.ts.map +1 -1
  447. package/dist/core/shaders/Frost/index.js +11 -11
  448. package/dist/core/shaders/GaborNoise/index.d.ts.map +1 -1
  449. package/dist/core/shaders/GaborNoise/index.js +13 -8
  450. package/dist/core/shaders/Glass/index.d.ts.map +1 -1
  451. package/dist/core/shaders/Glass/index.js +9 -11
  452. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  453. package/dist/core/shaders/GlassTiles/index.js +7 -5
  454. package/dist/core/shaders/Glitch/index.js +6 -5
  455. package/dist/core/shaders/Glow/index.d.ts +22 -26
  456. package/dist/core/shaders/Glow/index.d.ts.map +1 -1
  457. package/dist/core/shaders/Glow/index.js +7 -6
  458. package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
  459. package/dist/core/shaders/Godrays/index.js +9 -5
  460. package/dist/core/shaders/Goo/index.d.ts.map +1 -1
  461. package/dist/core/shaders/Goo/index.js +9 -10
  462. package/dist/core/shaders/GradientMap/index.d.ts.map +1 -1
  463. package/dist/core/shaders/GradientMap/index.js +7 -5
  464. package/dist/core/shaders/Grayscale/index.d.ts.map +1 -1
  465. package/dist/core/shaders/Grayscale/index.js +6 -5
  466. package/dist/core/shaders/Grid/index.d.ts +0 -1
  467. package/dist/core/shaders/Grid/index.d.ts.map +1 -1
  468. package/dist/core/shaders/Grid/index.js +11 -6
  469. package/dist/core/shaders/GridDistortion/index.d.ts +0 -6
  470. package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
  471. package/dist/core/shaders/GridDistortion/index.js +6 -5
  472. package/dist/core/shaders/Group/index.js +6 -5
  473. package/dist/core/shaders/HTMLInCanvas/index.d.ts.map +1 -1
  474. package/dist/core/shaders/HTMLInCanvas/index.js +7 -5
  475. package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
  476. package/dist/core/shaders/Halftone/index.js +7 -5
  477. package/dist/core/shaders/Heart/index.d.ts +0 -59
  478. package/dist/core/shaders/Heart/index.d.ts.map +1 -1
  479. package/dist/core/shaders/Heart/index.js +6 -7
  480. package/dist/core/shaders/Heatmap/index.d.ts.map +1 -1
  481. package/dist/core/shaders/Heatmap/index.js +10 -11
  482. package/dist/core/shaders/HexGrid/index.d.ts.map +1 -1
  483. package/dist/core/shaders/HexGrid/index.js +10 -5
  484. package/dist/core/shaders/Hologram/index.d.ts.map +1 -1
  485. package/dist/core/shaders/Hologram/index.js +10 -11
  486. package/dist/core/shaders/Holographic/index.d.ts.map +1 -1
  487. package/dist/core/shaders/Holographic/index.js +11 -11
  488. package/dist/core/shaders/HueShift/index.d.ts.map +1 -1
  489. package/dist/core/shaders/HueShift/index.js +7 -5
  490. package/dist/core/shaders/ImageTexture/index.d.ts +0 -6
  491. package/dist/core/shaders/ImageTexture/index.d.ts.map +1 -1
  492. package/dist/core/shaders/ImageTexture/index.js +6 -7
  493. package/dist/core/shaders/InkFlow/index.d.ts +1 -9
  494. package/dist/core/shaders/InkFlow/index.d.ts.map +1 -1
  495. package/dist/core/shaders/InkFlow/index.js +7 -5
  496. package/dist/core/shaders/Invert/index.d.ts.map +1 -1
  497. package/dist/core/shaders/Invert/index.js +6 -5
  498. package/dist/core/shaders/IrisWipe/index.d.ts.map +1 -1
  499. package/dist/core/shaders/IrisWipe/index.js +8 -5
  500. package/dist/core/shaders/IsometricCubes/index.d.ts.map +1 -1
  501. package/dist/core/shaders/IsometricCubes/index.js +10 -5
  502. package/dist/core/shaders/Kaleidoscope/index.d.ts +2 -16
  503. package/dist/core/shaders/Kaleidoscope/index.d.ts.map +1 -1
  504. package/dist/core/shaders/Kaleidoscope/index.js +7 -5
  505. package/dist/core/shaders/KeyFrames/index.d.ts.map +1 -1
  506. package/dist/core/shaders/KeyFrames/index.js +7 -5
  507. package/dist/core/shaders/LensDistortion/index.js +6 -6
  508. package/dist/core/shaders/LensFlare/index.d.ts.map +1 -1
  509. package/dist/core/shaders/LensFlare/index.js +10 -5
  510. package/dist/core/shaders/LightEdge/index.d.ts.map +1 -1
  511. package/dist/core/shaders/LightEdge/index.js +10 -11
  512. package/dist/core/shaders/LightLeak/index.d.ts.map +1 -1
  513. package/dist/core/shaders/LightLeak/index.js +10 -6
  514. package/dist/core/shaders/Line/index.js +6 -5
  515. package/dist/core/shaders/LinearBlur/index.d.ts +2 -1
  516. package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
  517. package/dist/core/shaders/LinearBlur/index.js +8 -5
  518. package/dist/core/shaders/LinearGradient/index.d.ts.map +1 -1
  519. package/dist/core/shaders/LinearGradient/index.js +8 -5
  520. package/dist/core/shaders/LinearWipe/index.d.ts.map +1 -1
  521. package/dist/core/shaders/LinearWipe/index.js +8 -5
  522. package/dist/core/shaders/LiquidMetal/index.d.ts.map +1 -1
  523. package/dist/core/shaders/LiquidMetal/index.js +12 -12
  524. package/dist/core/shaders/Liquify/index.d.ts +0 -6
  525. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  526. package/dist/core/shaders/Liquify/index.js +6 -5
  527. package/dist/core/shaders/MagneticFilings/index.d.ts.map +1 -1
  528. package/dist/core/shaders/MagneticFilings/index.js +9 -8
  529. package/dist/core/shaders/Marble/index.d.ts.map +1 -1
  530. package/dist/core/shaders/Marble/index.js +9 -6
  531. package/dist/core/shaders/Mirror/index.d.ts +2 -16
  532. package/dist/core/shaders/Mirror/index.d.ts.map +1 -1
  533. package/dist/core/shaders/Mirror/index.js +7 -5
  534. package/dist/core/shaders/MultiPointGradient/index.d.ts.map +1 -1
  535. package/dist/core/shaders/MultiPointGradient/index.js +7 -5
  536. package/dist/core/shaders/Neon/index.d.ts.map +1 -1
  537. package/dist/core/shaders/Neon/index.js +6 -9
  538. package/dist/core/shaders/NoiseDissolve/index.d.ts.map +1 -1
  539. package/dist/core/shaders/NoiseDissolve/index.js +9 -6
  540. package/dist/core/shaders/ObjectTracker/index.d.ts.map +1 -1
  541. package/dist/core/shaders/ObjectTracker/index.js +9 -6
  542. package/dist/core/shaders/PagePeel/index.d.ts.map +1 -1
  543. package/dist/core/shaders/PagePeel/index.js +7 -5
  544. package/dist/core/shaders/Paper/index.js +7 -6
  545. package/dist/core/shaders/Parallelogram/index.d.ts +0 -71
  546. package/dist/core/shaders/Parallelogram/index.d.ts.map +1 -1
  547. package/dist/core/shaders/Parallelogram/index.js +6 -7
  548. package/dist/core/shaders/ParticleField/index.d.ts.map +1 -1
  549. package/dist/core/shaders/ParticleField/index.js +9 -8
  550. package/dist/core/shaders/ParticleFlow/index.d.ts +1 -6
  551. package/dist/core/shaders/ParticleFlow/index.d.ts.map +1 -1
  552. package/dist/core/shaders/ParticleFlow/index.js +9 -8
  553. package/dist/core/shaders/Particles/index.d.ts.map +1 -1
  554. package/dist/core/shaders/Particles/index.js +10 -11
  555. package/dist/core/shaders/PerlinNoise/index.d.ts.map +1 -1
  556. package/dist/core/shaders/PerlinNoise/index.js +13 -8
  557. package/dist/core/shaders/Perspective/index.d.ts +0 -12
  558. package/dist/core/shaders/Perspective/index.d.ts.map +1 -1
  559. package/dist/core/shaders/Perspective/index.js +7 -5
  560. package/dist/core/shaders/PixelSort/index.js +6 -5
  561. package/dist/core/shaders/PixelThrow/index.d.ts +8 -9
  562. package/dist/core/shaders/PixelThrow/index.d.ts.map +1 -1
  563. package/dist/core/shaders/PixelThrow/index.js +6 -6
  564. package/dist/core/shaders/Pixelate/index.js +6 -5
  565. package/dist/core/shaders/Plasma/index.d.ts +2 -2
  566. package/dist/core/shaders/Plasma/index.d.ts.map +1 -1
  567. package/dist/core/shaders/Plasma/index.js +12 -6
  568. package/dist/core/shaders/Plastic/index.d.ts.map +1 -1
  569. package/dist/core/shaders/Plastic/index.js +11 -11
  570. package/dist/core/shaders/PolarCoordinates/index.d.ts +2 -16
  571. package/dist/core/shaders/PolarCoordinates/index.d.ts.map +1 -1
  572. package/dist/core/shaders/PolarCoordinates/index.js +7 -5
  573. package/dist/core/shaders/Polygon/index.d.ts +0 -71
  574. package/dist/core/shaders/Polygon/index.d.ts.map +1 -1
  575. package/dist/core/shaders/Polygon/index.js +6 -7
  576. package/dist/core/shaders/Posterize/index.d.ts.map +1 -1
  577. package/dist/core/shaders/Posterize/index.js +6 -5
  578. package/dist/core/shaders/Prism/index.d.ts +2 -1
  579. package/dist/core/shaders/Prism/index.d.ts.map +1 -1
  580. package/dist/core/shaders/Prism/index.js +6 -5
  581. package/dist/core/shaders/ProgressiveBlur/index.d.ts +16 -16
  582. package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
  583. package/dist/core/shaders/ProgressiveBlur/index.js +8 -6
  584. package/dist/core/shaders/RadialGradient/index.d.ts.map +1 -1
  585. package/dist/core/shaders/RadialGradient/index.js +10 -5
  586. package/dist/core/shaders/RadialWipe/index.d.ts.map +1 -1
  587. package/dist/core/shaders/RadialWipe/index.js +8 -5
  588. package/dist/core/shaders/RandomBars/index.d.ts.map +1 -1
  589. package/dist/core/shaders/RandomBars/index.js +9 -6
  590. package/dist/core/shaders/ReactionDiffusion/index.d.ts.map +1 -1
  591. package/dist/core/shaders/ReactionDiffusion/index.js +8 -5
  592. package/dist/core/shaders/RectangularCoordinates/index.d.ts +2 -16
  593. package/dist/core/shaders/RectangularCoordinates/index.d.ts.map +1 -1
  594. package/dist/core/shaders/RectangularCoordinates/index.js +7 -5
  595. package/dist/core/shaders/ReflectivePlane/index.d.ts.map +1 -1
  596. package/dist/core/shaders/ReflectivePlane/index.js +7 -6
  597. package/dist/core/shaders/Repeater/index.js +6 -5
  598. package/dist/core/shaders/Ring/index.d.ts +0 -59
  599. package/dist/core/shaders/Ring/index.d.ts.map +1 -1
  600. package/dist/core/shaders/Ring/index.js +6 -7
  601. package/dist/core/shaders/RippleWipe/index.d.ts.map +1 -1
  602. package/dist/core/shaders/RippleWipe/index.js +8 -5
  603. package/dist/core/shaders/Ripples/index.js +6 -5
  604. package/dist/core/shaders/RoundedRect/index.d.ts +0 -71
  605. package/dist/core/shaders/RoundedRect/index.d.ts.map +1 -1
  606. package/dist/core/shaders/RoundedRect/index.js +6 -7
  607. package/dist/core/shaders/Saturation/index.d.ts.map +1 -1
  608. package/dist/core/shaders/Saturation/index.js +6 -5
  609. package/dist/core/shaders/Scratches/index.js +10 -8
  610. package/dist/core/shaders/Sharpness/index.d.ts.map +1 -1
  611. package/dist/core/shaders/Sharpness/index.js +6 -5
  612. package/dist/core/shaders/Shatter/index.js +6 -6
  613. package/dist/core/shaders/SimplexNoise/index.d.ts +0 -18
  614. package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
  615. package/dist/core/shaders/SimplexNoise/index.js +13 -7
  616. package/dist/core/shaders/SineWave/index.d.ts.map +1 -1
  617. package/dist/core/shaders/SineWave/index.js +7 -5
  618. package/dist/core/shaders/SliceWipe/index.d.ts.map +1 -1
  619. package/dist/core/shaders/SliceWipe/index.js +7 -5
  620. package/dist/core/shaders/Smoke/index.d.ts +1 -9
  621. package/dist/core/shaders/Smoke/index.d.ts.map +1 -1
  622. package/dist/core/shaders/Smoke/index.js +7 -5
  623. package/dist/core/shaders/SmokeFill/index.d.ts +1 -9
  624. package/dist/core/shaders/SmokeFill/index.d.ts.map +1 -1
  625. package/dist/core/shaders/SmokeFill/index.js +9 -10
  626. package/dist/core/shaders/SmokeFlow/index.d.ts +1 -9
  627. package/dist/core/shaders/SmokeFlow/index.d.ts.map +1 -1
  628. package/dist/core/shaders/SmokeFlow/index.js +7 -5
  629. package/dist/core/shaders/Solarize/index.d.ts.map +1 -1
  630. package/dist/core/shaders/Solarize/index.js +6 -5
  631. package/dist/core/shaders/SolidColor/index.js +2 -2
  632. package/dist/core/shaders/Spherize/index.js +6 -5
  633. package/dist/core/shaders/Spiral/index.d.ts.map +1 -1
  634. package/dist/core/shaders/Spiral/index.js +7 -5
  635. package/dist/core/shaders/Star/index.d.ts +0 -71
  636. package/dist/core/shaders/Star/index.d.ts.map +1 -1
  637. package/dist/core/shaders/Star/index.js +6 -7
  638. package/dist/core/shaders/Stone/index.js +4 -4
  639. package/dist/core/shaders/Strands/index.d.ts.map +1 -1
  640. package/dist/core/shaders/Strands/index.js +7 -5
  641. package/dist/core/shaders/Stretch/index.d.ts +2 -16
  642. package/dist/core/shaders/Stretch/index.d.ts.map +1 -1
  643. package/dist/core/shaders/Stretch/index.js +7 -5
  644. package/dist/core/shaders/Stripes/index.d.ts +0 -1
  645. package/dist/core/shaders/Stripes/index.d.ts.map +1 -1
  646. package/dist/core/shaders/Stripes/index.js +10 -6
  647. package/dist/core/shaders/StudioBackground/index.d.ts.map +1 -1
  648. package/dist/core/shaders/StudioBackground/index.js +9 -5
  649. package/dist/core/shaders/SunBurst/index.d.ts.map +1 -1
  650. package/dist/core/shaders/SunBurst/index.js +9 -5
  651. package/dist/core/shaders/Surface3D/index.d.ts.map +1 -1
  652. package/dist/core/shaders/Surface3D/index.js +8 -7
  653. package/dist/core/shaders/Swirl/index.js +6 -5
  654. package/dist/core/shaders/Teardrop/index.d.ts +0 -65
  655. package/dist/core/shaders/Teardrop/index.d.ts.map +1 -1
  656. package/dist/core/shaders/Teardrop/index.js +6 -7
  657. package/dist/core/shaders/Text/index.d.ts.map +1 -1
  658. package/dist/core/shaders/Text/index.js +10 -6
  659. package/dist/core/shaders/ThinFilm/index.d.ts.map +1 -1
  660. package/dist/core/shaders/ThinFilm/index.js +8 -9
  661. package/dist/core/shaders/TiltShift/index.d.ts +16 -16
  662. package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
  663. package/dist/core/shaders/TiltShift/index.js +8 -6
  664. package/dist/core/shaders/TimeTrail/index.d.ts.map +1 -1
  665. package/dist/core/shaders/TimeTrail/index.js +6 -6
  666. package/dist/core/shaders/Tint/index.d.ts.map +1 -1
  667. package/dist/core/shaders/Tint/index.js +6 -5
  668. package/dist/core/shaders/Trapezoid/index.d.ts +0 -71
  669. package/dist/core/shaders/Trapezoid/index.d.ts.map +1 -1
  670. package/dist/core/shaders/Trapezoid/index.js +6 -7
  671. package/dist/core/shaders/TriangularGrid/index.d.ts.map +1 -1
  672. package/dist/core/shaders/TriangularGrid/index.js +10 -5
  673. package/dist/core/shaders/Tritone/index.d.ts.map +1 -1
  674. package/dist/core/shaders/Tritone/index.js +6 -5
  675. package/dist/core/shaders/Truchet/index.d.ts.map +1 -1
  676. package/dist/core/shaders/Truchet/index.js +10 -5
  677. package/dist/core/shaders/Twirl/index.d.ts +2 -16
  678. package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
  679. package/dist/core/shaders/Twirl/index.js +6 -5
  680. package/dist/core/shaders/VHS/index.js +6 -5
  681. package/dist/core/shaders/VenetianBlinds/index.d.ts.map +1 -1
  682. package/dist/core/shaders/VenetianBlinds/index.js +8 -5
  683. package/dist/core/shaders/Vesica/index.d.ts +0 -65
  684. package/dist/core/shaders/Vesica/index.d.ts.map +1 -1
  685. package/dist/core/shaders/Vesica/index.js +6 -7
  686. package/dist/core/shaders/Vibrance/index.d.ts.map +1 -1
  687. package/dist/core/shaders/Vibrance/index.js +6 -5
  688. package/dist/core/shaders/VideoTexture/index.d.ts +0 -25
  689. package/dist/core/shaders/VideoTexture/index.d.ts.map +1 -1
  690. package/dist/core/shaders/VideoTexture/index.js +7 -7
  691. package/dist/core/shaders/Vignette/index.d.ts.map +1 -1
  692. package/dist/core/shaders/Vignette/index.js +6 -5
  693. package/dist/core/shaders/Voronoi/index.d.ts.map +1 -1
  694. package/dist/core/shaders/Voronoi/index.js +11 -5
  695. package/dist/core/shaders/Water/index.d.ts.map +1 -1
  696. package/dist/core/shaders/Water/index.js +11 -11
  697. package/dist/core/shaders/Watercolor/index.js +7 -6
  698. package/dist/core/shaders/WaveDistortion/index.d.ts +0 -6
  699. package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
  700. package/dist/core/shaders/WaveDistortion/index.js +7 -5
  701. package/dist/core/shaders/WaveletNoise/index.d.ts.map +1 -1
  702. package/dist/core/shaders/WaveletNoise/index.js +13 -8
  703. package/dist/core/shaders/Weave/index.d.ts.map +1 -1
  704. package/dist/core/shaders/Weave/index.js +10 -5
  705. package/dist/core/shaders/WebcamTexture/index.d.ts +0 -6
  706. package/dist/core/shaders/WebcamTexture/index.d.ts.map +1 -1
  707. package/dist/core/shaders/WebcamTexture/index.js +8 -7
  708. package/dist/core/shaders/Wool/index.js +4 -4
  709. package/dist/core/shaders/WorleyNoise/index.d.ts +2 -2
  710. package/dist/core/shaders/WorleyNoise/index.d.ts.map +1 -1
  711. package/dist/core/shaders/WorleyNoise/index.js +12 -5
  712. package/dist/core/shaders/ZoomBlur/index.d.ts +2 -1
  713. package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
  714. package/dist/core/shaders/ZoomBlur/index.js +7 -5
  715. package/dist/core/tone-DPUvX6X0.js +705 -0
  716. package/dist/core/utilities/halfUvProps.d.ts +35 -0
  717. package/dist/core/utilities/halfUvProps.d.ts.map +1 -0
  718. package/dist/core/utilities/measure.d.ts.map +1 -1
  719. package/dist/core/utilities/propConfigs.d.ts +106 -0
  720. package/dist/core/utilities/propConfigs.d.ts.map +1 -0
  721. package/dist/core/utilities/transformations/index.js +1 -1
  722. package/dist/js/bundle.js +176 -176
  723. package/dist/js/createShader.js +1 -1
  724. package/dist/react/Shader.js +1 -1
  725. package/dist/react/bundle.js +176 -176
  726. package/dist/registry.js +99 -90
  727. package/dist/solid/engine/Shader.js +1 -1
  728. package/dist/svelte/index.js +1 -1
  729. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  730. package/package.json +1 -1
  731. package/dist/core/Arc-DhhcsMqr.js +0 -331
  732. package/dist/core/BarnDoors-Cnyfsla8.js +0 -447
  733. package/dist/core/BlockDissolve-i8V6gmZw.js +0 -365
  734. package/dist/core/Blur-B8NcZJdr.js +0 -701
  735. package/dist/core/Checkerboard-BnWdSZLM.js +0 -709
  736. package/dist/core/Circle-CJ4IbgBH.js +0 -358
  737. package/dist/core/Crescent-BKcpTzwd.js +0 -335
  738. package/dist/core/Cross-CDUSIOgx.js +0 -335
  739. package/dist/core/Ellipse-NdZQjjl7.js +0 -316
  740. package/dist/core/Flower--rN6c2HY.js +0 -335
  741. package/dist/core/Fog-2iNe3zZl.js +0 -5667
  742. package/dist/core/Glow-D_nSsYo1.js +0 -2051
  743. package/dist/core/Grid-D8ewrixy.js +0 -1346
  744. package/dist/core/Heart-0eDZ50ZK.js +0 -297
  745. package/dist/core/ImageTexture-B5oPuXeI.js +0 -183
  746. package/dist/core/InkFlow-C7l_qlaJ.js +0 -4983
  747. package/dist/core/IrisWipe-Dg9iiTjF.js +0 -418
  748. package/dist/core/LinearWipe-D5UkI1cK.js +0 -423
  749. package/dist/core/Parallelogram-D7bW1gMV.js +0 -335
  750. package/dist/core/Plasma-zC1y0At6.js +0 -715
  751. package/dist/core/Polygon-0kVtkdec.js +0 -379
  752. package/dist/core/RadialWipe-DfJ3dL7p.js +0 -528
  753. package/dist/core/RandomBars-B-EaAz9c.js +0 -490
  754. package/dist/core/RoundedRect-B2EDoIqT.js +0 -336
  755. package/dist/core/Smoke-CFr-A3JD.js +0 -5003
  756. package/dist/core/SmokeFill-DglhxF4x.js +0 -7118
  757. package/dist/core/SmokeFlow-CC1tfLRh.js +0 -4610
  758. package/dist/core/Star-DqkPHXlP.js +0 -335
  759. package/dist/core/Teardrop-b8XQR6NO.js +0 -316
  760. package/dist/core/VenetianBlinds-H8OVGxhT.js +0 -459
  761. package/dist/core/Vesica-C8MrL_up.js +0 -316
  762. package/dist/core/VideoTexture--U8aiyP1.js +0 -927
  763. package/dist/core/Voronoi-BW4RE3MQ.js +0 -935
  764. package/dist/core/WebcamTexture--GTVU-Bm.js +0 -220
  765. package/dist/core/WorleyNoise-i7i0azT8.js +0 -1667
  766. package/dist/core/compute-Ax-p6Ubc.js +0 -31
  767. package/dist/core/dataEncoding-CEmpiitu.js +0 -24
  768. package/dist/core/device-BODv_4aH.js +0 -10
  769. package/dist/core/gpu/kit/effects/prism.d.ts +0 -111
  770. package/dist/core/gpu/kit/effects/prism.d.ts.map +0 -1
  771. package/dist/core/naturalSize-BPCi_I-Z.js +0 -24
  772. package/dist/core/noiseColor-BQAO-Rjk.js +0 -103
  773. package/dist/core/porters-D_xmIPz2.js +0 -991
  774. package/dist/core/shaderRegistry-DFRVhoj2.js +0 -431
  775. /package/dist/core/{fonts-DxVn9e-I.js → fonts-ScBvKolx.js} +0 -0
  776. /package/dist/core/{transformations-C7gn_5rF.js → transformations-B-zNWNdd.js} +0 -0
@@ -0,0 +1,173 @@
1
+ import { GpuFragmentParams, KitTexture } from '../../contract';
2
+
3
+ export interface SwappableMediaTextureOptions {
4
+ /** Texture label (shows up in WebGPU error messages / the texture manager's accounting). */
5
+ label: string;
6
+ /**
7
+ * Size of the initial placeholder. Default 1×1 — a transparent texel, so the pass always has
8
+ * something valid to bind and the layer renders transparent until content lands. Text and
9
+ * HTMLInCanvas start larger only because their first write is imminent.
10
+ */
11
+ initial?: {
12
+ width: number;
13
+ height: number;
14
+ };
15
+ /** Base format, forwarded to `createMediaTexture`. Default `rgba8unorm`. */
16
+ format?: GPUTextureFormat;
17
+ }
18
+ export interface SwappableMediaTexture {
19
+ /** The registered `KitTexture` for the fragment builder. Follows swaps — register it ONCE. */
20
+ readonly kit: KitTexture;
21
+ /**
22
+ * Ensure the backing texture is exactly `width`×`height` (each floored at 1), allocating and
23
+ * swapping when it is not. Destroying the old texture is safe: WebGPU keeps it alive for frames
24
+ * already submitted. No-op after cleanup.
25
+ */
26
+ ensureSize(width: number, height: number): void;
27
+ /** Upload pixel content (ImageBitmap / HTMLCanvasElement / ImageData / TypedArray). */
28
+ write(source: unknown): void;
29
+ /** The raw `GPUTexture`, for `queue.copyElementImageToTexture` (HTMLInCanvas). */
30
+ unwrap(): GPUTexture;
31
+ readonly width: number;
32
+ readonly height: number;
33
+ /** True once the shader has been cleaned up — check it after an await before writing. */
34
+ readonly disposed: boolean;
35
+ }
36
+ /**
37
+ * A media texture that can change size: allocate → swap the getter → destroy the previous one, with
38
+ * the placeholder and the cleanup wired up.
39
+ *
40
+ * Media textures are STATIC-sized, so a new image at its native resolution, a re-rastered text run
41
+ * or a resized DOM capture means a NEW texture. The pass manager notices the backing texture's
42
+ * identity changed and rebuilds only the sampling pass's bind group — no recompose, no pipeline
43
+ * rebuild. Shaders whose texture never changes size (Ascii's and ObjectTracker's glyph atlases) use
44
+ * this too and simply never call `ensureSize`; they get the dispose-guarded `write` for free.
45
+ */
46
+ export declare function createSwappableMediaTexture(params: GpuFragmentParams, opts: SwappableMediaTextureOptions): SwappableMediaTexture;
47
+ /** What a `load` callback is handed alongside the URL. */
48
+ export interface UrlLoadContext {
49
+ /**
50
+ * True once the shader has been cleaned up. Check it after EVERY await and bail — the textures
51
+ * the load would write into are gone.
52
+ */
53
+ isDisposed(): boolean;
54
+ /**
55
+ * Mark this URL as loaded, which stops the per-frame watch from re-requesting it. Call it after
56
+ * the last await that could fail, so a failed load stays retryable (see the module note).
57
+ */
58
+ commit(): void;
59
+ }
60
+ export interface UrlSourceLoaderOptions {
61
+ /** Name of the URL prop, read live via `getCpuValue`. */
62
+ prop: string;
63
+ /** Do the load. Owns its own decode/apply; the loader owns only the state machine. */
64
+ load(url: string, ctx: UrlLoadContext): Promise<void>;
65
+ /** Reported for anything `load` throws. Error TAXONOMY stays per-shader by design. */
66
+ onError?(error: unknown, url: string): void;
67
+ }
68
+ export interface UrlSourceLoader {
69
+ /** The URL currently loaded (empty until the first `commit`). */
70
+ currentUrl(): string;
71
+ /** A load is in flight — the per-frame watch stands down while it is. */
72
+ isLoading(): boolean;
73
+ /** Force a load of `url` now, bypassing the per-frame watch. Used by the kickoff and by tests. */
74
+ request(url: string): void;
75
+ }
76
+ /**
77
+ * The URL-prop state machine: kick off the initial load, watch the prop for changes each frame, and
78
+ * keep exactly one load in flight.
79
+ *
80
+ * NOTE the `setTimeout(…, 0)` kickoff: the load must not start until the node's uniforms are
81
+ * populated, because `getCpuValue` reads the live handle. Deferring by a macrotask is the workaround,
82
+ * not the fix — the fix is an `onUniformsReady` hook on `GpuFragmentParams` (PRIMITIVES_PLAN.md
83
+ * Phase 12 item 3), at which point this function is the single site that changes.
84
+ */
85
+ export declare function createUrlSourceLoader(params: GpuFragmentParams, opts: UrlSourceLoaderOptions): UrlSourceLoader;
86
+ /**
87
+ * A decoded image ready to upload. The two size pairs are NOT interchangeable:
88
+ *
89
+ * - `width`/`height` are the RASTER size — what the GPU texture must be.
90
+ * - `naturalWidth`/`naturalHeight` are the INTRINSIC size — the layout-facing "how big is this
91
+ * element" answer that goes to the natural-size registry. For a bitmap they are the same; for an
92
+ * SVG they differ, and conflating them makes a 32px logo slot at 2048px in a layout column.
93
+ */
94
+ export interface DecodedImageSource {
95
+ source: ImageBitmap | HTMLCanvasElement;
96
+ width: number;
97
+ height: number;
98
+ naturalWidth: number;
99
+ naturalHeight: number;
100
+ /** Release transient decode resources (closes an `ImageBitmap`). Safe to call twice. */
101
+ close(): void;
102
+ }
103
+ /**
104
+ * Fetch + decode an image URL to something uploadable. SVGs go through a canvas rasterization (with
105
+ * the intrinsic/raster split above); everything else is a CORS fetch → blob → `createImageBitmap`.
106
+ */
107
+ export declare function decodeImageSource(url: string): Promise<DecodedImageSource>;
108
+ /** Where the video frames come from. */
109
+ export type VideoSourceSpec = {
110
+ kind: 'url';
111
+ prop: string;
112
+ } | {
113
+ kind: 'webcam';
114
+ constraints?: MediaStreamConstraints;
115
+ };
116
+ /**
117
+ * Which step failed, so a shader's `onError` can keep its own message taxonomy. `'acquire'` covers
118
+ * everything up to and including metadata (a bad URL, a load timeout, a denied camera) and is
119
+ * reported ONCE per attempt; `'autoplay'` is the browser refusing to start playback, which is not
120
+ * necessarily fatal — see `autoplayRequired`.
121
+ */
122
+ export type VideoLoadStage = 'acquire' | 'autoplay';
123
+ export interface VideoElementSourceOptions {
124
+ source: VideoSourceSpec;
125
+ /**
126
+ * Keep `video.loop` synced to a boolean prop each frame (URL sources only). The prop packs to an
127
+ * f32 field (1 = true), and an UNSET value reads as true — both current consumers default their
128
+ * loop prop to true.
129
+ */
130
+ loop?: {
131
+ prop: string;
132
+ };
133
+ /**
134
+ * Key the source's pixel dimensions are published under in the natural-size registry. Defaults
135
+ * to the URL for a URL source; a webcam has no URL and must pass its own fixed key.
136
+ */
137
+ naturalSizeKey?: string;
138
+ /**
139
+ * Milliseconds to wait for `loadedmetadata` before giving up. Default 0 = wait indefinitely
140
+ * (the webcam's behaviour — a permission prompt can legitimately take a while).
141
+ */
142
+ metadataTimeoutMs?: number;
143
+ /**
144
+ * Whether a rejected `play()` aborts the load. False (VideoTexture) reports it and keeps the
145
+ * element, since a browser autoplay block still leaves a decodable first frame; true
146
+ * (WebcamTexture) discards it. The two consumers genuinely differ here, so there is no default
147
+ * winner beyond the more forgiving one.
148
+ */
149
+ autoplayRequired?: boolean;
150
+ onError?(error: unknown, info: {
151
+ url: string | null;
152
+ stage: VideoLoadStage;
153
+ }): void;
154
+ }
155
+ export interface VideoElementSource {
156
+ /**
157
+ * The readiness-gated getter to hand `registerExternalTexture`. Returns the element only when it
158
+ * has a decodable frame; the pass manager skips the pass for a frame where it is null.
159
+ */
160
+ getSource(): HTMLVideoElement | null;
161
+ /** The live element, or null before the first successful load. */
162
+ element(): HTMLVideoElement | null;
163
+ }
164
+ /**
165
+ * The video-element half of VideoTexture and WebcamTexture: acquire a source (a URL or
166
+ * `getUserMedia`), wait for metadata, start playback, publish the frame size for layout, and gate
167
+ * the element behind a readiness check so the renderer never imports an undecodable frame.
168
+ *
169
+ * The GPU side is identical for both consumers — a per-frame zero-copy `importExternalTexture` — so
170
+ * only the acquisition differs, and both paths live here rather than in the two shaders.
171
+ */
172
+ export declare function createVideoElementSource(params: GpuFragmentParams, opts: VideoElementSourceOptions): VideoElementSource;
173
+ //# sourceMappingURL=mediaLifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediaLifecycle.d.ts","sourceRoot":"","sources":["../../../../src/gpu/kit/host/mediaLifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ import { ComputeStep } from '../../compute';
2
+
3
+ /** What a pointer looks like in the per-frame params the renderer hands a compute hook. */
4
+ export interface PointerLike {
5
+ x?: number;
6
+ y?: number;
7
+ }
8
+ /** One frame of resolved pointer motion. All positions are in [0, 1] viewport UV. */
9
+ export interface PointerFrame {
10
+ /** Current position (the previous position when the renderer reports no pointer). */
11
+ x: number;
12
+ y: number;
13
+ /** Position at the previous update. */
14
+ prevX: number;
15
+ prevY: number;
16
+ /** Per-frame delta, ZEROED on a teleport frame so downstream forces see no impulse. */
17
+ dx: number;
18
+ dy: number;
19
+ /** `|delta|` — the RAW distance, reported even on a teleport frame. */
20
+ dragDist: number;
21
+ /** Delta per second (`dx / dt`), zeroed on a teleport frame. */
22
+ velX: number;
23
+ velY: number;
24
+ /** Exponentially smoothed `velX`/`velY`. A teleport frame decays it rather than spiking it. */
25
+ smoothVelX: number;
26
+ smoothVelY: number;
27
+ /** `|smoothVel|`. */
28
+ smoothSpeed: number;
29
+ /** The drag jumped further than `teleportGuard` in one frame — treat it as a discontinuity. */
30
+ teleport: boolean;
31
+ /** A real stroke this frame: moved more than `minDrag` and did not teleport. */
32
+ moving: boolean;
33
+ }
34
+ export interface PointerVelocityTrackerOptions {
35
+ /** Blend factor for the smoothed velocity, per frame. Default 0.2 (SmokeFlow's value). */
36
+ smoothing?: number;
37
+ /**
38
+ * A one-frame jump beyond this UV distance is a pointer teleport — the cursor entering the
39
+ * canvas, a tab switch, a window focus change — not a stroke. Without the guard the sim receives
40
+ * a single enormous impulse and lays a splat ribbon or a force wake clean across the field.
41
+ * Default 0.25 (a quarter of the viewport), ParticleFlow's original value.
42
+ */
43
+ teleportGuard?: number;
44
+ /** Below this per-frame UV distance, `moving` stays false. Default 0.0006 (InkFlow's value). */
45
+ minDrag?: number;
46
+ /** Initial pointer position, used until the renderer reports one. Default centre. */
47
+ initialX?: number;
48
+ initialY?: number;
49
+ }
50
+ export interface PointerVelocityTracker {
51
+ /** Advance the tracker one frame. `dt` is in seconds and is floored at 1 ms for the divide. */
52
+ update(pointer: PointerLike | undefined, dt: number): PointerFrame;
53
+ }
54
+ /**
55
+ * Track pointer position, per-frame delta, per-second velocity and a smoothed velocity, with the
56
+ * teleport guard applied.
57
+ *
58
+ * Structural vs runtime does not apply here (this is all CPU), but note the guard's semantics: on a
59
+ * teleport frame the tracker still ADVANCES its previous position — the jump is absorbed, not
60
+ * deferred — and reports zero motion. The next frame therefore measures from where the pointer
61
+ * actually is.
62
+ */
63
+ export declare function createPointerVelocityTracker(opts?: PointerVelocityTrackerOptions): PointerVelocityTracker;
64
+ export interface IdleGateOptions {
65
+ /**
66
+ * How many frames must have been dispatched (counted via `tickFrame`) before the gate is allowed
67
+ * to report a skip. A sim whose first frames initialize state and let it settle must not freeze
68
+ * mid-warm-up, or it freezes on garbage. Default 0 — no warm-up requirement.
69
+ */
70
+ warmupFrames?: number;
71
+ }
72
+ export interface IdleGate {
73
+ /**
74
+ * Record that something is driving the sim right now. `now` is a MILLISECOND timestamp on the same
75
+ * clock the caller passes to {@link IdleGate.shouldSkip} (`performance.now()` in practice), and
76
+ * `0` is a legitimate value — the gate tracks never-active separately.
77
+ */
78
+ markActive(now: number): void;
79
+ /** Count one dispatched frame toward the warm-up. Call it once the frame is committed. */
80
+ tickFrame(): void;
81
+ /** Nothing has ever driven the sim — there is no state worth advancing. */
82
+ readonly neverActive: boolean;
83
+ /** The warm-up has elapsed (always true when `warmupFrames` is 0). */
84
+ readonly warmedUp: boolean;
85
+ /**
86
+ * Whether this frame can be skipped entirely: nothing is driving the sim AND either it has never
87
+ * been driven or the last input is older than `fadeSeconds`.
88
+ *
89
+ * `driving` is the caller's own "something wants this frame" signal (a stroke in progress, an
90
+ * ambient force, a pending init). Pass `false` when the only driver is the pointer.
91
+ */
92
+ shouldSkip(now: number, fadeSeconds: number, driving?: boolean): boolean;
93
+ }
94
+ /**
95
+ * The "settle then freeze" gate: once the last input is far enough in the past that the field has
96
+ * decayed to invisibility, stop dispatching. The previously rendered texture persists on screen, so
97
+ * a settled sim costs zero GPU time.
98
+ *
99
+ * TimeTrail's reasoning is worth restating because it is the trap here: pointer *speed* being zero is
100
+ * NOT a valid skip condition. A stationary cursor over a field that is still evolving must keep
101
+ * dispatching — the gate is about elapsed time since the last input, never about instantaneous
102
+ * speed.
103
+ */
104
+ export declare function createIdleGate(opts?: IdleGateOptions): IdleGate;
105
+ /**
106
+ * Seconds for an exponentially decaying field to fall by a factor of `ratio` at `rate` per second —
107
+ * `ln(ratio) / max(rate, minRate)`. The floor keeps a near-zero dissipation rate from producing an
108
+ * infinite (or negative) fade window.
109
+ *
110
+ * `ratio` is the visibility budget: 255 means "wait until the field is 1/255 of its peak" (below one
111
+ * 8-bit level), 64 is a coarser, cheaper choice.
112
+ */
113
+ export declare function decayFadeSeconds(ratio: number, rate: number, minRate?: number): number;
114
+ export interface PathStampRibbonOptions<T> {
115
+ /** Stroke start, in the same units as `dx`/`dy` (viewport UV for every current consumer). */
116
+ fromX: number;
117
+ fromY: number;
118
+ /** Stroke delta for this frame. */
119
+ dx: number;
120
+ dy: number;
121
+ /** `|delta|`, in the same units as `stepSize`. */
122
+ dragDist: number;
123
+ /** Spacing between stamps. Typically a fraction of the brush radius. */
124
+ stepSize: number;
125
+ /** Hard cap on stamps per frame, so a huge flick cannot blow out the dispatch count. */
126
+ maxSteps: number;
127
+ /** Multiplier applied to the interpolated position before it reaches `write`. Default 1. */
128
+ scale?: number;
129
+ /**
130
+ * Optional per-stamp state resolved at BUILD time, in stamp order. Use this for anything that
131
+ * must advance once per stamp regardless of dispatch (InkFlow's colour cycle).
132
+ */
133
+ prepare?: (t: number) => T;
134
+ /**
135
+ * Write the stamp's uniform. Runs inside a thunk at DISPATCH time — the pass manager runs the
136
+ * thunk then the dispatch in `device.queue` order, which is what lets a single uniform buffer
137
+ * carry a different value per stamp.
138
+ */
139
+ write: (posX: number, posY: number, t: number, prepared: T) => void;
140
+ /** The splat/force pass dispatched after each write. */
141
+ pass: ComputeStep;
142
+ }
143
+ /**
144
+ * Append an interpolated ribbon of stamps along this frame's drag path to `nodes`, as alternating
145
+ * write-thunk / dispatch pairs.
146
+ *
147
+ * A fast flick covers a lot of ground in one frame; stamping only at the current pointer position
148
+ * leaves dotted gaps. Interpolating along the path at `stepSize` spacing lays a continuous ribbon.
149
+ * Stamps are placed at cell centres (`t = (s + 0.5) / n`) so a one-stamp frame lands mid-stroke
150
+ * rather than at either end.
151
+ *
152
+ * Returns the number of stamps appended.
153
+ */
154
+ export declare function pathStampRibbon<T = undefined>(nodes: ComputeStep[], opts: PathStampRibbonOptions<T>): number;
155
+ //# sourceMappingURL=pointer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../../../src/gpu/kit/host/pointer.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,14 @@ export declare function select<T extends AnyVecInstance>(cond: boolean | AnyVecI
26
26
  * magnitudes.
27
27
  */
28
28
  export declare function lengthSq(v: AnyVecInstance): number;
29
+ export * as constants from './constants';
30
+ export * as tone from './tone';
31
+ export * as geom from './geom';
32
+ export * as cells from './cells';
33
+ export * as aa from './aa';
34
+ export * as fields from './fields';
35
+ export * as cellular from './cellular';
36
+ export * as lightfields from './lightfields';
29
37
  export * as blend from './blend';
30
38
  export * as mask from './mask';
31
39
  export * as colorMixing from './colorMixing';
@@ -40,6 +48,8 @@ export * as noise from './noise';
40
48
  export * as noiseColor from './noiseColor';
41
49
  export * as noiseStylize from './noiseStylize';
42
50
  export * as blur from './blur';
51
+ export * as reveal from './reveal';
52
+ export * as lighting from './lighting';
43
53
  export * as sdf from './sdf';
44
54
  export * as sdf3d from './sdf3d';
45
55
  export { toHalfFloat } from './dataEncoding';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,cAAc,CAAA;AAK7D,OAAO,EAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAC,CAAA;AAErB;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,CAAA;AAE3D;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;AAC3C,wBAAgB,QAAQ,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;AAM3D;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAA;AACjF,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;AAC9E,wBAAgB,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;AAM1G;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAGlD;AAMD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,QAAQ,CAAA;AACjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAGhC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,cAAc,CAAA;AAK7D,OAAO,EAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAC,CAAA;AAErB;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,CAAA;AAE3D;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;AAC3C,wBAAgB,QAAQ,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;AAM3D;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAA;AACjF,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;AAC9E,wBAAgB,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;AAM1G;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAGlD;AAMD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAA;AAC1B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,QAAQ,CAAA;AACjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAGhC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA"}
@@ -0,0 +1,114 @@
1
+ import { d } from './index';
2
+
3
+ /**
4
+ * Gaussian radial falloff: `exp(-(dist² · sharpness))`. 1 at the centre, decaying smoothly with no
5
+ * hard cutoff — the shape of a glare, a bloom core, or a soft light pool.
6
+ *
7
+ * `sharpness` is an inverse squared radius, not a radius: larger is TIGHTER. A light whose size is
8
+ * authored as a radius should pass `1 / (r² + ε)`, which is why the callers that expose a size
9
+ * slider compute their sharpness rather than passing the slider through.
10
+ */
11
+ export declare const radialGaussianFalloff: import('typegpu').TgpuFn<(dist: d.F32, sharpness: d.F32) => d.F32>;
12
+ /**
13
+ * Gaussian falloff over an already-normalized 2D offset: `exp((du² + dv²) · -sharpness)`.
14
+ *
15
+ * "Normalized" means each axis has been divided by its own radius before the call, which is what
16
+ * makes the spot ELLIPTICAL — pass `u/su, v/sv` with different radii and the falloff stretches along
17
+ * the wider axis. Callers layering several spots at different sharpnesses over the same `du, dv`
18
+ * (a core plus a wide shoulder) get the anisotropy for free.
19
+ */
20
+ export declare const anisotropicGaussianSpot: import('typegpu').TgpuFn<(du: d.F32, dv: d.F32, sharpness: d.F32) => d.F32>;
21
+ /**
22
+ * A round glow at a point in aspect-corrected UV space: `exp(-0.5 · dist² / sizeSq)`.
23
+ *
24
+ * Takes the light position as loose scalars and `sizeSq` as a SQUARED radius because the callers
25
+ * that place several of these per frame compute the positions and radii on the CPU (they are
26
+ * pixel-invariant) and pass them in packed vec4 extraFields — squaring on the GPU would be per-pixel
27
+ * work for a per-frame value.
28
+ */
29
+ export declare const radialGaussianGlow: import('typegpu').TgpuFn<(uv: d.Vec2f, aspect: d.F32, lx: d.F32, ly: d.F32, sizeSq: d.F32) => d.F32>;
30
+ /**
31
+ * Rotating sine lobes around an angle: `pow(sin(angle · count + phase) · 0.5 + 0.5, sharpness)`.
32
+ *
33
+ * The `·0.5 + 0.5` before the `pow` is what makes this read as rays rather than alternating bands:
34
+ * the sine's negative half becomes the gap between lobes, and raising the whole [0,1] wave to a
35
+ * power narrows the bright part without moving the lobe centres. `sharpness` below 1 widens.
36
+ *
37
+ * `phase` is signed time in practice — NEGATE the accumulated time to rotate clockwise.
38
+ */
39
+ export declare const angularSineLobes: import('typegpu').TgpuFn<(angle: d.F32, count: d.F32, phase: d.F32, sharpness: d.F32) => d.F32>;
40
+ /**
41
+ * Diffraction-style spikes around an angle: `pow(abs(cos(angle · halfCount)), power)`.
42
+ *
43
+ * `abs` (rather than the `·0.5 + 0.5` of {@link angularSineLobes}) is why this gives 2·halfCount
44
+ * spikes with hard nulls between them, the signature of an aperture's blade count — pass
45
+ * `blades / 2`. High `power` (3–8) is what makes them thin. Layering two calls at different powers
46
+ * and a small angular offset is the standard way to get a primary/secondary spike pattern.
47
+ */
48
+ export declare const angularCosineSpikes: import('typegpu').TgpuFn<(angle: d.F32, halfCount: d.F32, power: d.F32) => d.F32>;
49
+ /**
50
+ * Seam-free angular coordinates for a radial field, returned as
51
+ * `vec3(angle, angleWrapped, blend)`.
52
+ *
53
+ * THE PROBLEM THIS SOLVES: `atan2` returns [−π, π], so any pattern periodic in the angle has a
54
+ * discontinuity along the −x axis where the value jumps by 2π. Wrapping the angle into [0, 2π)
55
+ * moves the seam but does not remove it. The fix is to evaluate the pattern TWICE — once on each
56
+ * branch — and cross-fade between them across the seam, using a blend that is 0/1 well away from it.
57
+ * A conditional branch instead of a blend puts the seam back.
58
+ *
59
+ * Callers evaluate their pattern at `.x` and `.y` and `mix(atWrapped, atAngle, .z)`. Both
60
+ * evaluations must stay unconditional.
61
+ */
62
+ export declare const seamlessAngularField: import('typegpu').TgpuFn<(delta: d.Vec2f) => d.Vec3f>;
63
+ /**
64
+ * Three concentric ring bands at radii `center + spread`, `center`, `center − spread`, returned as
65
+ * an RGB triple — the prismatic edge of a lens element or a dispersed halo.
66
+ *
67
+ * Each channel is `1 − smoothstep(0, width, abs(dist − r))`, i.e. a band peaking ON its radius. The
68
+ * red channel takes the OUTER radius by convention (longer wavelength refracts less), so a positive
69
+ * `spread` gives the physically-expected red-outside/blue-inside fringe; pass a negative spread to
70
+ * invert it.
71
+ *
72
+ * `width` is floored at 1e-4 because callers derive it from a size slider (LensFlare's ring width is
73
+ * `size · 0.10`), and a zero width makes `smoothstep(0, 0, ·)` undefined.
74
+ */
75
+ export declare const chromaticRingBand: import('typegpu').TgpuFn<(dist: d.F32, center: d.F32, spread: d.F32, width: d.F32) => d.Vec3f>;
76
+ /**
77
+ * Project a point onto a segment: returns `vec2(t, distance)` where `t` ∈ [0,1] is the clamped
78
+ * parameter of the closest point along `a → b`.
79
+ *
80
+ * Returning BOTH values is the point — a tapered beam needs the parameter to interpolate its
81
+ * thickness and the distance to shade its cross-section, and recomputing either costs the same as
82
+ * the whole projection. The `max(lengthSq, 1e-4)` guard keeps a degenerate (zero-length) segment
83
+ * finite rather than NaN, which matters because a UI lets both endpoints sit on the same pixel.
84
+ */
85
+ export declare const pointToSegment: import('typegpu').TgpuFn<(p: d.Vec2f, a: d.Vec2f, b: d.Vec2f) => d.Vec2f>;
86
+ /**
87
+ * The glow cross-section of a tapered beam: given the perpendicular `dist` and the along-beam
88
+ * parameter `t` from {@link pointToSegment}, interpolate thickness and softness end-to-end and
89
+ * return `vec2(colorT, alpha)`.
90
+ *
91
+ * `alpha` is a smoothstep shoulder from the beam edge outward, raised to `1 + softness · 1.5` so a
92
+ * soft beam does not merely get wider but also fades non-linearly — a linear ramp reads as a flat
93
+ * band with a visible outer edge. `colorT` is the inside→outside colour parameter over the same
94
+ * transition zone, so a caller can shade the core and the falloff differently.
95
+ *
96
+ * The interpolated softness is floored at 1e-4 for the same reason `thickness` is: the softness props
97
+ * bottom out at 0 (Beam's do), and a zero softness collapses both transition zones to
98
+ * `smoothstep(1, 1, ·)`, which is undefined.
99
+ */
100
+ export declare const taperedSegmentGlow: import('typegpu').TgpuFn<(dist: d.F32, t: d.F32, startThickness: d.F32, endThickness: d.F32, startSoftness: d.F32, endSoftness: d.F32) => d.Vec2f>;
101
+ /**
102
+ * The local frame of a beam anchored at a point and aimed at the canvas centre: returns
103
+ * `vec2(u, v)` — distance ALONG the beam and LATERAL offset from it, in aspect-corrected space.
104
+ *
105
+ * `anchorRaw` is a TRANSFORMED position prop (`transformPosition` stores `1 − y`), so this recovers
106
+ * the authored y itself. The direction degenerates when the anchor sits at the centre; below a 0.02
107
+ * length it falls back to +x rather than normalizing near-zero, which would make the frame spin
108
+ * wildly as the anchor crosses the middle.
109
+ *
110
+ * Everything downstream (bloom, streak bands, falloff) is authored in this frame, which is what lets
111
+ * a light leak be dragged anywhere on the canvas and still point inward.
112
+ */
113
+ export declare const beamLocalFrame: import('typegpu').TgpuFn<(uv: d.Vec2f, aspect: d.F32, anchorRaw: d.Vec2f) => d.Vec2f>;
114
+ //# sourceMappingURL=lightfields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightfields.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/lightfields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAO,CAAC,EAAM,MAAM,SAAS,CAAA;AAKpC;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,oEAGhC,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,6EAGlC,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,sGAOzB,CAAA;AAIN;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,iGAKvB,CAAA;AAEN;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,mFAG9B,CAAA;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,uDAO/B,CAAA;AAIF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,gGAQxB,CAAA;AAIN;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,2EAUzB,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,oJAmBzB,CAAA;AAEN;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,uFAWzB,CAAA"}
@@ -0,0 +1,115 @@
1
+ import { d } from './index';
2
+
3
+ /**
4
+ * The in-plane SDF gradient from the `.x` channel by forward difference:
5
+ * `((surfX.x − surf0.x)/eps, (surfY.x − surf0.x)/eps)`. Points OUTWARD (distance grows outward),
6
+ * with magnitude ≈ 1 for a true 2D distance field and ≫ 1 across a volumetric chord discontinuity —
7
+ * callers that build a direction from it must normalize with a guarded length. Pure.
8
+ */
9
+ export declare const fieldGradient: import('typegpu').TgpuFn<(surf0: d.Vec4f, surfX: d.Vec4f, surfY: d.Vec4f, eps: d.F32) => d.Vec2f>;
10
+ /**
11
+ * Surface normal of a VOLUMETRIC field: the marched depth in `.w` differentiated by forward
12
+ * difference and clamped, with `z = −1` (the renderer's view direction) before normalizing.
13
+ *
14
+ * `gradClamp` is the per-shader slope bound and is load-bearing, not decorative. A chord field is
15
+ * discontinuous where one lobe occludes another, so an unclamped slope spikes for a texel or two at
16
+ * every overlap and the normal there points nearly sideways — which reads as a bright seam. Tighter
17
+ * bounds give flatter, calmer surfaces; the fleet's current values are ±5 (LiquidMetal, Chrome,
18
+ * Water, BrushedMetal, CarbonFiber), ±4 (Plastic, Frost, Crystal) and ±6 (Goo). Pure.
19
+ */
20
+ export declare const volumetricNormal: import('typegpu').TgpuFn<(surf0: d.Vec4f, surfX: d.Vec4f, surfY: d.Vec4f, eps: d.F32, gradClamp: d.F32) => d.Vec3f>;
21
+ /**
22
+ * Flat-path normal for a bevelled 2D shape: tilt away from the face along the in-plane field
23
+ * gradient by `sinTilt` (the sine of the tilt angle, from a bevel profile such as
24
+ * `effects.bevel.bevelSin`), then complete the unit vector with `z = −cos`.
25
+ *
26
+ * `sinTilt` is CLAMPED to ≤ 0.9995 here — at exactly 1 the `z` term is 0 and the normal lies in the
27
+ * plane, which makes the reflected ray graze to infinity. Pure.
28
+ */
29
+ export declare const bevelledFlatNormal: import('typegpu').TgpuFn<(grad: d.Vec2f, sinTilt: d.F32) => d.Vec3f>;
30
+ /**
31
+ * Shape-local pattern coordinates: `sdfUV − 0.5` on the flat path, the sampler's surface-locked
32
+ * `.g/.b` coords on the volumetric path. This is what makes a surface pattern (molten relief,
33
+ * brush grain, weave, foil crinkle) STICK to a 3D shape instead of sliding across it in screen
34
+ * space. `volumetric` is the runtime 0/1 flag. Pure.
35
+ */
36
+ export declare const patternCoords: import('typegpu').TgpuFn<(sdfUV: d.Vec2f, surf0: d.Vec4f, volumetric: d.F32) => d.Vec2f>;
37
+ /**
38
+ * `true` when the fragment is outside the shape by more than two device pixels — the early-exit
39
+ * test at the top of a shape-effect composite body (`if (outsideShape(sdf, pxH)) return vec4(0)`).
40
+ * The two-pixel slack keeps the anti-aliased edge inside the shaded region. Pure.
41
+ */
42
+ export declare const outsideShape: import('typegpu').TgpuFn<(sdf: d.F32, pxH: d.F32) => d.Bool>;
43
+ /**
44
+ * The inside coverage mask: `clamp(−sdf / w, 0, 1)` over a transition width `w` derived from the
45
+ * shader's `sharpEdge` (`max(edgeSoftness · 0.5, 0.001)`) as `sharpEdge / 32`.
46
+ *
47
+ * The width is CLAMPED to at least `minPixels` device pixels. That clamp is the point of this fn:
48
+ * without it, `edgeSoftness → 0` collapses the transition below a pixel and the silhouette resolves
49
+ * as a raw aliased step. At the house value of 1.5 px the edge is anti-aliased and the extra half
50
+ * pixel also hides sub-pixel contour noise from the field's texel lattice (`glassComposite` set the
51
+ * precedent; D-7 propagated it to the metals). Pure.
52
+ */
53
+ export declare const insideMask: import('typegpu').TgpuFn<(sdf: d.F32, sharpEdge: d.F32, pxH: d.F32, minPixels: d.F32) => d.F32>;
54
+ /**
55
+ * The perspective view ray through a screen UV, pointing INTO the scene (`+z`), aspect-corrected
56
+ * and normalized. `fov` scales the off-axis spread: the fleet uses 0.6 (LiquidMetal, BrushedMetal,
57
+ * CarbonFiber, Water) and 0.55 (Chrome). A perspective ray is what lets a flat face sweep the
58
+ * environment across the canvas instead of reflecting one constant direction. Pure.
59
+ */
60
+ export declare const perspectiveViewRay: import('typegpu').TgpuFn<(uv: d.Vec2f, aspect: d.F32, fov: d.F32) => d.Vec3f>;
61
+ /** An orthonormal surface frame: `tangent` projected into the plane of `normal`, plus their cross
62
+ * product. The basis anisotropic shading needs. */
63
+ export declare const TangentFrame: d.WgslStruct<{
64
+ tangent: d.Vec3f;
65
+ bitangent: d.Vec3f;
66
+ }>;
67
+ /**
68
+ * Gram–Schmidt an arbitrary direction into the surface plane and complete the frame:
69
+ * `T = normalize(dir − n·(n·dir))`, `B = n × T`. `dir` supplies the anisotropy axis — the brush
70
+ * direction, or the per-cell tow direction of a weave. Pure.
71
+ */
72
+ export declare const orthonormalTangentFrame: import('typegpu').TgpuFn<(normal: d.Vec3f, dir: d.Vec3f) => d.WgslStruct<{
73
+ tangent: d.Vec3f;
74
+ bitangent: d.Vec3f;
75
+ }>>;
76
+ /** Inputs to {@link wardAnisotropicSpecular} — a struct per C1 (six values). `view` points INTO
77
+ * the scene (the `perspectiveViewRay` convention), `light` points at the light. */
78
+ export declare const WardSpecularInput: d.WgslStruct<{
79
+ normal: d.Vec3f;
80
+ /** The anisotropy axis (brush / tow direction). Need not lie in the surface plane. */
81
+ tangent: d.Vec3f;
82
+ light: d.Vec3f;
83
+ view: d.Vec3f;
84
+ /** Roughness along the tangent. Larger → the highlight smears further along the grain. */
85
+ alphaAlong: d.F32;
86
+ /** Roughness across the tangent. Smaller → a tighter streak. */
87
+ alphaAcross: d.F32;
88
+ }>;
89
+ /**
90
+ * Ward anisotropic specular lobe, unit gain: `exp(−((h·T/αT)² + (h·B/αB)²) / ((h·N + 1)/2))` for
91
+ * the half-vector `h = normalize(L − V)`. Multiply by the material's specular gain at the call
92
+ * site. This is the streak that runs ALONG a brushed grain or a carbon tow — an isotropic
93
+ * Blinn–Phong lobe cannot produce it. Pure. */
94
+ export declare const wardAnisotropicSpecular: import('typegpu').TgpuFn<(p: d.WgslStruct<{
95
+ normal: d.Vec3f;
96
+ /** The anisotropy axis (brush / tow direction). Need not lie in the surface plane. */
97
+ tangent: d.Vec3f;
98
+ light: d.Vec3f;
99
+ view: d.Vec3f;
100
+ /** Roughness along the tangent. Larger → the highlight smears further along the grain. */
101
+ alphaAlong: d.F32;
102
+ /** Roughness across the tangent. Smaller → a tighter streak. */
103
+ alphaAcross: d.F32;
104
+ }>) => d.F32>;
105
+ /**
106
+ * IQ cosine palette: `cos((t + phase)·2π)·0.5 + 0.5` per channel. The smooth spectral cycle behind
107
+ * every diffraction look in the library (holographic foil, thin-film iridescence). `t` wraps every
108
+ * 1.0.
109
+ *
110
+ * The phases are ARGUMENTS rather than baked thirds because the fleet's copies disagree in the 4th
111
+ * decimal (`1/3, 2/3` in Holographic vs `0.3333, 0.6667` in thinFilm). Unifying them would be a
112
+ * pixel change; passing each caller's current values keeps adoption pixel-neutral. Pure.
113
+ */
114
+ export declare const cosinePalette: import('typegpu').TgpuFn<(t: d.F32, phaseR: d.F32, phaseG: d.F32, phaseB: d.F32) => d.Vec3f>;
115
+ //# sourceMappingURL=lighting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lighting.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/lighting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAO,CAAC,EAAM,MAAM,SAAS,CAAA;AAKpC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,mGAGxB,CAAA;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,qHAMvB,CAAA;AAEN;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,sEAK7B,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,0FAMxB,CAAA;AAIF;;;;GAIG;AACH,eAAO,MAAM,YAAY,8DAGvB,CAAA;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,iGAIrB,CAAA;AAIF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,+EAG7B,CAAA;AAIF;oDACoD;AACpD,eAAO,MAAM,YAAY;;;EAAmD,CAAA;AAE5E;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;GASlC,CAAA;AAEF;oFACoF;AACpF,eAAO,MAAM,iBAAiB;;IAE1B,sFAAsF;;;;IAItF,0FAA0F;;IAE1F,gEAAgE;;EAElE,CAAA;AAEF;;;;+CAI+C;AAC/C,eAAO,MAAM,uBAAuB;;IAfhC,sFAAsF;;;;IAItF,0FAA0F;;IAE1F,gEAAgE;;aAsBlE,CAAA;AAIF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,8FAOxB,CAAA"}