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
@@ -1,5 +1,6 @@
1
- import { TgpuRoot, TgpuTexture, TgpuTextureView } from 'typegpu';
1
+ import { TgpuRoot, TgpuTexture, TgpuTextureView, TgpuBindGroupLayout, TgpuFn } from 'typegpu';
2
2
  import { ComputeStep } from '../compute';
3
+ import { Expr, GpuComputeNode, GpuFragmentParams, GpuMapInfo, GpuMapWindow } from '../contract';
3
4
 
4
5
  import * as d from 'typegpu/data';
5
6
  /** Default compute resolution. ~655k pixels — comparable to 0.5× of a 1080p canvas.
@@ -77,7 +78,7 @@ export interface VariableBlurComputeResult {
77
78
  * BlurCompute` calls this and then allocates the resources + pipelines.
78
79
  */
79
80
  export declare function buildFixedBlurGraph(halfKernel: number, computeWidth: number, computeHeight: number): {
80
- hLayout: import('typegpu').TgpuBindGroupLayout<{
81
+ hLayout: TgpuBindGroupLayout<{
81
82
  input: {
82
83
  texture: d.WgslTexture2d<d.F32>;
83
84
  };
@@ -96,7 +97,7 @@ export declare function buildFixedBlurGraph(halfKernel: number, computeWidth: nu
96
97
  }>;
97
98
  };
98
99
  }>;
99
- vLayout: import('typegpu').TgpuBindGroupLayout<{
100
+ vLayout: TgpuBindGroupLayout<{
100
101
  src: {
101
102
  storageTexture: d.WgslStorageTexture2d<"rgba16float", string>;
102
103
  };
@@ -113,8 +114,8 @@ export declare function buildFixedBlurGraph(halfKernel: number, computeWidth: nu
113
114
  }>;
114
115
  };
115
116
  }>;
116
- kernelH: import('typegpu').TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
117
- kernelV: import('typegpu').TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
117
+ kernelH: TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
118
+ kernelV: TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
118
119
  HParams: d.WgslStruct<{
119
120
  activeHalf: d.I32;
120
121
  inputWidth: d.F32;
@@ -142,7 +143,7 @@ export declare function createGaussianBlurCompute(root: TgpuRoot, inputTexture:
142
143
  * baked into the kernel bodies (comptime), so enabling it changes the emitted WGSL.
143
144
  */
144
145
  export declare function buildVariableBlurGraph(halfKernel: number, computeWidth: number, computeHeight: number, jitterTaps: boolean): {
145
- hLayout: import('typegpu').TgpuBindGroupLayout<{
146
+ hLayout: TgpuBindGroupLayout<{
146
147
  blurMap: {
147
148
  storageTexture: d.WgslStorageTexture2d<"rgba32float", string>;
148
149
  };
@@ -163,7 +164,7 @@ export declare function buildVariableBlurGraph(halfKernel: number, computeWidth:
163
164
  }>;
164
165
  };
165
166
  }>;
166
- vLayout: import('typegpu').TgpuBindGroupLayout<{
167
+ vLayout: TgpuBindGroupLayout<{
167
168
  blurMap: {
168
169
  storageTexture: d.WgslStorageTexture2d<"rgba32float", string>;
169
170
  };
@@ -183,8 +184,8 @@ export declare function buildVariableBlurGraph(halfKernel: number, computeWidth:
183
184
  }>;
184
185
  };
185
186
  }>;
186
- kernelH: import('typegpu').TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
187
- kernelV: import('typegpu').TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
187
+ kernelH: TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
188
+ kernelV: TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
188
189
  HParams: d.WgslStruct<{
189
190
  inputWidth: d.F32;
190
191
  inputHeight: d.F32;
@@ -206,4 +207,282 @@ export declare function buildVariableBlurGraph(halfKernel: number, computeWidth:
206
207
  export declare function createVariableGaussianBlurCompute(root: TgpuRoot, inputTexture: BlurInputTexture | null, inputWidth: number, inputHeight: number, onCleanup: (cb: () => void) => void, halfKernel?: number, computeWidth?: number, computeHeight?: number, options?: {
207
208
  jitterTaps?: boolean;
208
209
  }): VariableBlurComputeResult;
210
+ /**
211
+ * Normalized Gaussian weights for `count` taps spread over ±1 of a Gaussian with std-dev `sigma`,
212
+ * i.e. tap `i` sits at `t = (i/(count-1) - 0.5) * 2`. Computed on the CPU at build time so the
213
+ * emitted WGSL carries literal weights instead of `exp()` per tap per pixel.
214
+ *
215
+ * σ² is rounded to 15 significant digits before the divide. `0.8 * 0.8` is `0.6400000000000001` in
216
+ * float64, and these weights land in the WGSL as FULL-PRECISION literals — the un-rounded product
217
+ * would move every consumer's snapshot for a one-ULP difference. 15 digits is lossless for any
218
+ * decimal σ an author writes, and reproduces the hand-written `/ 0.64` tables bit-for-bit.
219
+ */
220
+ export declare function gaussianTapWeights(count: number, sigma: number): number[];
221
+ export interface UnrolledTapGatherConfig {
222
+ /** One weight per tap; its length IS the tap count. Typically {@link gaussianTapWeights}. */
223
+ weights: number[];
224
+ /** Sample coordinate for tap `i` (0-based). */
225
+ tapCoord: (tapIndex: number) => Expr;
226
+ /** Sample the source at a coordinate — usually `(uv) => texture.sample(uv)`. */
227
+ sample: (coord: Expr) => Expr;
228
+ /**
229
+ * Reduce each sample to one channel before weighting (`'a'`, `'r'`, …). Omit to gather the
230
+ * whole vec4. Used by the alpha-silhouette blurs (DropShadow) that only carry one channel.
231
+ */
232
+ component?: string;
233
+ }
234
+ /**
235
+ * Build the weighted sum of N unrolled taps: `Σ sample(tapCoord(i)) * weights[i]`.
236
+ *
237
+ * WHY UNROLLED. `textureSample` is illegal under non-uniform control flow, so a runtime loop over
238
+ * taps is not available in a fragment shader. The builder emits a flat expression tree instead —
239
+ * one `textureSample` per tap, no control flow at all. The tree is left-folded in tap order
240
+ * (`((t0 + t1) + t2) …`) because float addition is not associative: any other grouping is a
241
+ * different result.
242
+ *
243
+ * The caller owns the alpha convention. When the source is a premultiplied RTT (the normal case
244
+ * for a filter) the result is premultiplied — finish with `blend.unpremultiplyAlpha`, or let
245
+ * `defineRttFilter` append that tail.
246
+ */
247
+ export declare function unrolledTapGather(config: UnrolledTapGatherConfig): Expr;
248
+ /**
249
+ * The four map-source channels a blur radius can be driven by — the same set the fragment path's
250
+ * `resolveMapForProp` supports. A BUILD-TIME constant at every consumer: the channel selects one
251
+ * of the memoized fns below, so each channel emits its own specialised WGSL.
252
+ */
253
+ export type BlurMapChannel = 'luminance' | 'luminanceInverted' | 'alpha' | 'alphaInverted';
254
+ /**
255
+ * Struct fields for the map-source canvas dimensions. Spread into a fill kernel's params struct so
256
+ * the kernel can map its compute pixel onto the source's canvas pixel. Spread ORDER is
257
+ * load-bearing (it is the uniform struct's member order) — these go before the remap window, which
258
+ * is the order all six kernels already used.
259
+ */
260
+ export declare const MAP_SOURCE_DIM_FIELDS: {
261
+ readonly inputWidth: d.F32;
262
+ readonly inputHeight: d.F32;
263
+ };
264
+ /** Struct fields for the remap window — the CPU side of these is {@link GpuMapWindow}. */
265
+ export declare const REMAP_WINDOW_FIELDS: {
266
+ readonly inputMin: d.F32;
267
+ readonly inputMax: d.F32;
268
+ readonly outputMin: d.F32;
269
+ readonly outputMax: d.F32;
270
+ readonly curve: d.F32;
271
+ };
272
+ /**
273
+ * The driving scalar a map source contributes at one texel, for `channel`. Memoized and `$name`d
274
+ * per channel (C3): a shader picks one at graph-build time and calls it from its kernel body.
275
+ *
276
+ * Deliberately `dot(rgb, vec3(0.2126, 0.7152, 0.0722))` rather than `tone.luma709`, which spells
277
+ * the same weights as a multiply-add chain. Same standard, different instruction sequence — and
278
+ * these kernels are gated byte-identical.
279
+ */
280
+ export declare function mapSourceScalar(channel: BlurMapChannel): TgpuFn<(sample: d.Vec4f) => d.F32>;
281
+ /**
282
+ * The map remap window, identical to the fragment path's: normalise `raw` into the input window,
283
+ * apply the curve as an exponent (`2^(-curve·2)`, so 0 is linear and the sign flips the bend), and
284
+ * mix across the output window. The input range is guarded against a zero-width window.
285
+ *
286
+ * Six scalar args rather than a struct (C1's threshold is "about five") because every consumer
287
+ * reads these straight off its own uniform struct — a struct param here would either force a
288
+ * per-kernel uniform-layout change or an inline struct construction, and these kernels are gated
289
+ * byte-identical below the call.
290
+ */
291
+ export declare const applyRemapWindow: TgpuFn<(raw: d.F32, inputMin: d.F32, inputMax: d.F32, outputMin: d.F32, outputMax: d.F32, curve: d.F32) => d.F32>;
292
+ /** Spread a live {@link GpuMapWindow} into a fill kernel's params write. */
293
+ export declare function remapWindowValues(window: GpuMapWindow): GpuMapWindow;
294
+ /**
295
+ * Bright-pixel extraction for a bloom, at one compute pixel.
296
+ *
297
+ * Two things are happening. First, the canvas-pixel FOOTPRINT of this compute pixel is
298
+ * area-averaged over a 4×4 stratified grid rather than point-sampled: that is energy-preserving, so
299
+ * a hairline or a dither dot contributes in proportion to its coverage instead of shimmering on and
300
+ * off as the grids slide past each other. Second, the threshold has a quadratic soft knee (the
301
+ * Unity / Call-of-Duty bloom curve) so brightness ramps INTO the bloom around the threshold instead
302
+ * of popping, and the mask is luminance-normalised so the extracted colour keeps its hue.
303
+ *
304
+ * Returns the extracted (premultiplied) colour to store in the bright buffer. The texture arrives
305
+ * as an fn argument per C6.
306
+ */
307
+ export declare const bloomExtractSoftKnee: TgpuFn<(childTexture: d.WgslTexture2d<d.F32>, cx: d.U32, cy: d.U32, inputSize: d.Vec2f, computeSize: d.Vec2f, threshold: d.F32) => d.Vec4f>;
308
+ /**
309
+ * A fill graph: the bind-group layout, the kernel that writes the radius map (and, for a bloom, the
310
+ * bright buffer), and the params struct. Built GPU-free so the kernel `tgpu.resolve`s for snapshots.
311
+ */
312
+ export interface BlurFillGraph {
313
+ layout: TgpuBindGroupLayout;
314
+ kernel: (cx: number, cy: number) => void;
315
+ Params: d.AnyWgslStruct;
316
+ }
317
+ /**
318
+ * The bloom pre-pass graph with a UNIFORM blur radius: bright-extract the canvas-res child RTT into
319
+ * `brightMap` and write `params.size` into every texel of `blurMap`.
320
+ *
321
+ * `kernelName` is the emitted WGSL fn name — pass the consumer's existing name so its snapshot
322
+ * doesn't move.
323
+ */
324
+ export declare function buildBloomExtractGraph(computeWidth: number, computeHeight: number, kernelName: string): {
325
+ layout: TgpuBindGroupLayout<{
326
+ childTexture: {
327
+ texture: d.WgslTexture2d<d.F32>;
328
+ };
329
+ brightMap: {
330
+ storageTexture: d.WgslStorageTexture2d<"rgba16float", string>;
331
+ };
332
+ blurMap: {
333
+ storageTexture: d.WgslStorageTexture2d<"rgba32float", string>;
334
+ };
335
+ params: {
336
+ uniform: d.WgslStruct<{
337
+ inputWidth: d.F32;
338
+ inputHeight: d.F32;
339
+ threshold: d.F32;
340
+ size: d.F32;
341
+ }>;
342
+ };
343
+ }>;
344
+ kernel: TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
345
+ Params: d.WgslStruct<{
346
+ inputWidth: d.F32;
347
+ inputHeight: d.F32;
348
+ threshold: d.F32;
349
+ size: d.F32;
350
+ }>;
351
+ };
352
+ /**
353
+ * The bloom pre-pass graph with a MAP-DRIVEN blur radius. Bright extraction is identical to
354
+ * {@link buildBloomExtractGraph}; the radius comes from a nearest tap on the map SOURCE (a
355
+ * canvas-resolution RTT, bound late) pushed through the shared remap window. No `× 0.36` scaling —
356
+ * a bloom's size prop is already in pixels.
357
+ */
358
+ export declare function buildBloomExtractMapGraph(computeWidth: number, computeHeight: number, kernelName: string, channel: BlurMapChannel): {
359
+ layout: TgpuBindGroupLayout<{
360
+ childTexture: {
361
+ texture: d.WgslTexture2d<d.F32>;
362
+ };
363
+ source: {
364
+ texture: d.WgslTexture2d<d.F32>;
365
+ };
366
+ brightMap: {
367
+ storageTexture: d.WgslStorageTexture2d<"rgba16float", string>;
368
+ };
369
+ blurMap: {
370
+ storageTexture: d.WgslStorageTexture2d<"rgba32float", string>;
371
+ };
372
+ params: {
373
+ uniform: d.WgslStruct<{
374
+ inputMin: d.F32;
375
+ inputMax: d.F32;
376
+ outputMin: d.F32;
377
+ outputMax: d.F32;
378
+ curve: d.F32;
379
+ inputWidth: d.F32;
380
+ inputHeight: d.F32;
381
+ threshold: d.F32;
382
+ }>;
383
+ };
384
+ }>;
385
+ kernel: TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
386
+ Params: d.WgslStruct<{
387
+ inputMin: d.F32;
388
+ inputMax: d.F32;
389
+ outputMin: d.F32;
390
+ outputMax: d.F32;
391
+ curve: d.F32;
392
+ inputWidth: d.F32;
393
+ inputHeight: d.F32;
394
+ threshold: d.F32;
395
+ }>;
396
+ };
397
+ /**
398
+ * Compute resolution for a bloom: cap the LONGER edge at the default long edge and derive the other
399
+ * from the canvas aspect. A fixed 1024×640 grid stretches the glow kernel on any other aspect —
400
+ * the blur works in compute pixels, so non-square compute pixels smear it directionally.
401
+ */
402
+ export declare function aspectAwareComputeRes(canvasWidth: number, canvasHeight: number): {
403
+ width: number;
404
+ height: number;
405
+ };
406
+ /** What a `compute` hook returns. */
407
+ type BlurComputeNode = NonNullable<ReturnType<GpuComputeNode>>;
408
+ export interface FixedBlurComputeConfig {
409
+ /** Per-frame Gaussian radius in INPUT (canvas) pixels. Read live so mouse/auto drivers pull through. */
410
+ radius: () => number;
411
+ halfKernel?: number;
412
+ outputKey?: string;
413
+ }
414
+ /**
415
+ * A uniform-radius separable Gaussian over the composed child. Blur's static path and ChannelBlur.
416
+ */
417
+ export declare function withFixedBlurCompute(params: GpuFragmentParams, config: FixedBlurComputeConfig): BlurComputeNode | null;
418
+ export interface VariableBlurComputeConfig {
419
+ /**
420
+ * Build the radius-map fill graph at the blur's compute resolution. Its layout MUST bind
421
+ * `blurMap` (write-only, {@link BLUR_MAP_FORMAT}) and `params`; with `source` set it must also
422
+ * bind a `source` sampled texture.
423
+ */
424
+ buildFill: (computeWidth: number, computeHeight: number) => BlurFillGraph;
425
+ /**
426
+ * Per-frame values for the fill params. `dims` is the live canvas size in device pixels;
427
+ * `window` is the live remap window, present only on the map-driven path.
428
+ */
429
+ fillValues: (dims: {
430
+ width: number;
431
+ height: number;
432
+ }, window?: GpuMapWindow) => Record<string, number>;
433
+ /** Map-driven radius: pass `getMapInfo(prop)`. Its source RTT is bound late, like the child. */
434
+ source?: GpuMapInfo;
435
+ halfKernel?: number;
436
+ outputKey?: string;
437
+ }
438
+ /**
439
+ * A per-pixel-radius Gaussian whose radius map is filled by a caller-supplied kernel each frame.
440
+ * ProgressiveBlur, TiltShift, and Blur's map-driven path.
441
+ */
442
+ export declare function withVariableBlurCompute(params: GpuFragmentParams, config: VariableBlurComputeConfig): BlurComputeNode | null;
443
+ export interface BloomComputeConfig {
444
+ /**
445
+ * Build the extract graph at the bloom's compute resolution — normally a one-line delegate to
446
+ * {@link buildBloomExtractGraph} carrying the shader's own kernel name (so its snapshot is
447
+ * stable and its GPU-free resolve test has something to import).
448
+ */
449
+ buildExtract: (computeWidth: number, computeHeight: number) => BlurFillGraph;
450
+ /** The map-driven twin, via {@link buildBloomExtractMapGraph}. Required when `mapInfo` is given. */
451
+ buildExtractMap?: (computeWidth: number, computeHeight: number, channel: BlurMapChannel) => BlurFillGraph;
452
+ /** Map-driven radius: pass `getMapInfo(sizeProp)`, or null for the uniform path. */
453
+ mapInfo?: GpuMapInfo | null;
454
+ /** Per-frame soft-knee threshold in [0, 1]. */
455
+ threshold: () => number;
456
+ /** Per-frame uniform bloom radius in canvas pixels (uniform path only). */
457
+ radius: () => number;
458
+ /** Key the blurred bright buffer is published under (Glow: default; FilmStock: `halationTexture`). */
459
+ outputKey?: string;
460
+ }
461
+ /**
462
+ * A bloom: bright-extract the child at aspect-aware compute resolution, then blur the extract.
463
+ *
464
+ * The blur's input dimensions ARE its compute dimensions here (scaleY 1), so the H pass maps 1:1 and
465
+ * the blur never needs `setInputDimensions` — only the extract kernel's canvas dims change on
466
+ * resize. Tap jitter is on: the bloom radius is large and a fixed tap comb beats against periodic
467
+ * content as halo moiré.
468
+ */
469
+ export declare function withBloomCompute(params: GpuFragmentParams, config: BloomComputeConfig): BlurComputeNode | null;
470
+ /**
471
+ * The fragment tail every compute-backed blur shares: composite the canvas-resolution SHARP child
472
+ * against the compute-resolution BLURRED buffer, and unpremultiply on the way back into the
473
+ * straight-alpha blend pipeline (both textures hold premultiplied data — the child RTT always does).
474
+ *
475
+ * `compose` receives `(blurred, sharp)` samples at `ctx.uv` and returns the premultiplied result:
476
+ * `vec4(blurred.rgb, sharp.a)` for a plain blur, a mix by the shader's own blur-amount field for a
477
+ * selective one, a bloom add for a glow.
478
+ *
479
+ * When compute did not run — no device, or a shader's own bypass returned `null` from its `compute`
480
+ * hook — this falls back to a sharp passthrough of the child RTT. That fallback is what makes the
481
+ * GPU-free resolve gates work, so every consumer needs it and none should write it again.
482
+ */
483
+ export declare function composeBlurredOverSharp(params: GpuFragmentParams, compose: (blurred: Expr, sharp: Expr) => Expr, options?: {
484
+ blurredKey?: string;
485
+ sharpKey?: string;
486
+ }): Expr;
487
+ export {};
209
488
  //# sourceMappingURL=blur.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blur.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/blur.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blur.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/blur.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAa,EAAC,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,MAAM,EAAC,MAAM,SAAS,CAAA;AAC1H,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,EAAuB,KAAK,WAAW,EAA0B,MAAM,YAAY,CAAA;AAE1F,OAAO,KAAK,EAAC,IAAI,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAa,MAAM,aAAa,CAAA;AAK9G;;;gDAGgD;AAChD,eAAO,MAAM,qBAAqB,OAAO,CAAA;AACzC,eAAO,MAAM,sBAAsB,MAAM,CAAA;AAazC,uEAAuE;AACvE,eAAO,MAAM,eAAe,EAAG,aAAsB,CAAA;AAErD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,WAAW,GAAG,cAAc,CAAA;AAE7E;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAY9D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,CAchH;AAED,MAAM,WAAW,yBAAyB;IACtC;;;;;OAKG;IACH,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,iGAAiG;IACjG,aAAa,EAAE,WAAW,CAAA;IAC1B,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,kFAAkF;IAClF,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3D;;;;;OAKG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;CACrD;AAED,MAAM,WAAW,yBAAyB;IACtC,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,aAAa,EAAE,WAAW,CAAA;IAC1B;;;;OAIG;IACH,cAAc,EAAE,WAAW,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3D,8FAA8F;IAC9F,eAAe,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;CACrD;AAWD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgElG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACrC,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,gBAAgB,GAAG,IAAI,EACrC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,EACnC,UAAU,GAAE,MAA4B,EACxC,YAAY,GAAE,MAA8B,EAC5C,aAAa,GAAE,MAA+B,GAC/C,yBAAyB,CAmG3B;AAUD;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmFtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC7C,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,gBAAgB,GAAG,IAAI,EACrC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,EACnC,UAAU,GAAE,MAA4B,EACxC,YAAY,GAAE,MAA8B,EAC5C,aAAa,GAAE,MAA+B,EAC9C,OAAO,CAAC,EAAE;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAC,GACjC,yBAAyB,CAqE3B;AAUD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CASzE;AAED,MAAM,WAAW,uBAAuB;IACpC,6FAA6F;IAC7F,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,gFAAgF;IAChF,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAA;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAUvE;AAYD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,mBAAmB,GAAG,OAAO,GAAG,eAAe,CAAA;AAE1F;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;CAAmD,CAAA;AAErF,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAA;AAIV;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAe3F;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,mHASF,CAAA;AAE3B,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAQpE;AAWD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,6IA4BD,CAAA;AAEhC;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,mBAAmB,CAAA;IAC3B,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAA;CAC1B;AAOD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBrG;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACrC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmC1B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAOhH;AAeD,qCAAqC;AACrC,KAAK,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;AAS9D,MAAM,WAAW,sBAAsB;IACnC,wGAAwG;IACxG,MAAM,EAAE,MAAM,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,sBAAsB,GAAG,eAAe,GAAG,IAAI,CA6BtH;AAED,MAAM,WAAW,yBAAyB;IACtC;;;;OAIG;IACH,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,aAAa,CAAA;IACzE;;;OAGG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,EAAE,MAAM,CAAC,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpG,gGAAgG;IAChG,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,yBAAyB,GAAG,eAAe,GAAG,IAAI,CA0D5H;AAED,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,aAAa,CAAA;IAC5E,oGAAoG;IACpG,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,aAAa,CAAA;IACzG,oFAAoF;IACpF,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC3B,+CAA+C;IAC/C,SAAS,EAAE,MAAM,MAAM,CAAA;IACvB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,MAAM,CAAA;IACpB,sGAAsG;IACtG,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,kBAAkB,GAAG,eAAe,GAAG,IAAI,CA+D9G;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,IAAI,EAC7C,OAAO,CAAC,EAAE;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,GACnD,IAAI,CAYN"}
@@ -0,0 +1,136 @@
1
+ import { d } from './index';
2
+
3
+ /** One square cell: its integer index and the `[0,1)²` coordinate within it. */
4
+ export declare const CellTile: d.WgslStruct<{
5
+ /** Integer cell index — `floor(p)`. Stable per cell, so it is what you hash. */
6
+ cell: d.Vec2f;
7
+ /** Position within the cell, `[0,1)²` — `fract(p)`. What you draw against. */
8
+ local: d.Vec2f;
9
+ }>;
10
+ /**
11
+ * Split a scaled UV into its square cell index and in-cell coordinate.
12
+ *
13
+ * Both halves come back because a pattern needs both: `local` draws the cell's content, `cell`
14
+ * seeds its randomness. Splitting them at the call site is where sign bugs creep in — `fract` is
15
+ * floored in WGSL and `floor` matches it, so this pair is consistent for negative coordinates
16
+ * (which a rotation or an upstream distortion's `uvContext` will produce).
17
+ */
18
+ export declare const squareTiling: import('typegpu').TgpuFn<(p: d.Vec2f) => d.WgslStruct<{
19
+ /** Integer cell index — `floor(p)`. Stable per cell, so it is what you hash. */
20
+ cell: d.Vec2f;
21
+ /** Position within the cell, `[0,1)²` — `fract(p)`. What you draw against. */
22
+ local: d.Vec2f;
23
+ }>>;
24
+ /** One hexagonal cell: the local vector from its centre, and the centre's own coordinate. */
25
+ export declare const HexCell: d.WgslStruct<{
26
+ /** Vector from the nearest hex centre to the sample point. Drives edge distance and face cuts. */
27
+ gv: d.Vec2f;
28
+ /** The hex centre in lattice space (`p - gv`). Snap and round this to get a hashable index. */
29
+ id: d.Vec2f;
30
+ }>;
31
+ /**
32
+ * Hexagonal lattice lookup: find the nearest hex centre to `p` and return the local offset.
33
+ *
34
+ * The standard two-offset-grids trick — a hex lattice is two interleaved rectangular grids, so
35
+ * folding `p` into both and keeping whichever candidate centre is nearer lands on the correct hex
36
+ * without any branching. The fold uses {@link geom.flooredMod2} (not WGSL `%`, which is truncated)
37
+ * so it stays periodic for negative coordinates.
38
+ *
39
+ * `s` is the lattice period and picks the ORIENTATION:
40
+ *
41
+ * - `vec2f(SQRT3, 1)` — pointy-top hexagons (flat sides left/right). HexGrid's honeycomb.
42
+ * - `vec2f(1, SQRT3)` — the transpose, flat-top hexagons. What a rhombille / isometric-cube cut
43
+ * needs, because the three rhombus faces have to meet at a vertical vertex.
44
+ *
45
+ * Those two really are the same code with `s` transposed, which is why the orientation is a
46
+ * parameter and not two functions.
47
+ */
48
+ export declare const hexTiling: import('typegpu').TgpuFn<(p: d.Vec2f, s: d.Vec2f) => d.WgslStruct<{
49
+ /** Vector from the nearest hex centre to the sample point. Drives edge distance and face cuts. */
50
+ gv: d.Vec2f;
51
+ /** The hex centre in lattice space (`p - gv`). Snap and round this to get a hashable index. */
52
+ id: d.Vec2f;
53
+ }>>;
54
+ /**
55
+ * Skew an equilateral-triangle lattice onto a unit-square integer grid:
56
+ * `M · p` where `M = [[1, -1/√3], [0, 2/√3]]`.
57
+ *
58
+ * Equilateral triangles are awkward to index directly; after this skew each unit square holds
59
+ * exactly two triangles, split by the anti-diagonal, so `floor`/`fract` indexing works and the
60
+ * anti-diagonal test (`fract.x + fract.y > 1`) picks which of the pair you are in.
61
+ *
62
+ * The result is a sheared space: distances in it are NOT the distances in the original lattice, so
63
+ * take anti-aliasing footprints from this coordinate (which is what the derivative sees) and read
64
+ * edge distances in it too, consistently.
65
+ *
66
+ * The X term divides by `SQRT3` rather than multiplying by a folded `1/√3`: the two differ in the
67
+ * last bit, and the division is what the shipped lattice was authored against.
68
+ */
69
+ export declare const triLattice: import('typegpu').TgpuFn<(p: d.Vec2f) => d.Vec2f>;
70
+ /**
71
+ * Screen UV of the CENTRE of the cell containing `uv`, for a `cells`-per-shortest-edge lattice
72
+ * (aspect-corrected, Y-flipped, guarded aspect).
73
+ *
74
+ * This is what a pattern generator returns from `mapSampleUVs` so that mapped props are sampled
75
+ * once per cell rather than once per fragment. Without it, a mapped `thickness` or `dotSize` varies
76
+ * *within* a cell, which clips the cell's content against the map source's boundaries instead of
77
+ * transitioning whole cells — the difference between dots that grow and dots that get shaved.
78
+ *
79
+ * The round trip is deliberate: correct → snap → un-correct, so the returned value is a screen UV
80
+ * the composer can sample a map texture with directly.
81
+ *
82
+ * See {@link cellCentreUVRotated} for the lattice-with-rotation form. There are two functions
83
+ * rather than one with a rotation argument because a rotation of zero still costs a `cos`, a `sin`,
84
+ * and a second un-rotate in the unrotated case.
85
+ */
86
+ export declare const cellCentreUV: import('typegpu').TgpuFn<(uv: d.Vec2f, viewport: d.Vec2f, cells: d.F32) => d.Vec2f>;
87
+ /**
88
+ * {@link cellCentreUV} for a lattice rotated by `rotationRad` about the canvas centre: correct +
89
+ * flip, rotate, snap to the cell centre in rotated space, un-rotate, un-correct.
90
+ *
91
+ * The angle arrives in RADIANS — the caller converts, so the degrees-to-radians constant stays at
92
+ * the shader's own module scope where the rest of its rotation math reads it.
93
+ */
94
+ export declare const cellCentreUVRotated: import('typegpu').TgpuFn<(uv: d.Vec2f, viewport: d.Vec2f, cells: d.F32, rotationRad: d.F32) => d.Vec2f>;
95
+ /**
96
+ * Per-cell pseudo-random scalar in `[0, 1)` from an integer cell index.
97
+ *
98
+ * The legacy fract-only chain (NO `sin` — unlike {@link rowSpeedHash} below), byte-identical across
99
+ * the pattern fleet: scale the index by `(123.34, 345.45)` and take the fractional part, cross-couple
100
+ * the two components through `q + dot(q, q + 34.345)`, then fract their product. It is not a good
101
+ * hash — it has visible structure at large indices and is sensitive to float precision — but it is
102
+ * the hash every shipped preset's cell randomness was authored against, so it is frozen (D-6).
103
+ *
104
+ * Hash INTEGER indices. Feeding a continuous coordinate produces sub-pixel jitter within a cell
105
+ * instead of one value per cell; lattices whose centres fall on non-integers (hex, rhombille) must
106
+ * `round` them onto integers first.
107
+ *
108
+ * New shaders: use `noise.hash*` instead.
109
+ */
110
+ export declare const cellHash: import('typegpu').TgpuFn<(id: d.Vec2f) => d.F32>;
111
+ /**
112
+ * Per-ROW pseudo-random scalar in `[0, 1)` from a row index — the 1D member of the same legacy
113
+ * family, and the one that genuinely is a sin-fract chain
114
+ * (`fract(sin(row * 127.1) * 43758.5453)`), frozen for the same reason (D-6).
115
+ *
116
+ * Used to give each row of a pattern its own drift speed. Pass a floored row index.
117
+ */
118
+ export declare const rowSpeedHash: import('typegpu').TgpuFn<(row: d.F32) => d.F32>;
119
+ /**
120
+ * Turn a `[0,1)` row hash into a speed multiplier centred on 1: `1 + (hash - 0.5) * 4 * variance`.
121
+ *
122
+ * Centred on 1 so `variance = 0` leaves every row at the base speed, and scaled by 4 so a variance
123
+ * of 1 spans `[-1, 3]` — wide enough that some rows reverse, which is what makes the motion read as
124
+ * irregular rather than as a single sheared drift.
125
+ */
126
+ export declare const rowSpeedMultiplier: import('typegpu').TgpuFn<(rowHash: d.F32, variance: d.F32) => d.F32>;
127
+ /**
128
+ * Turn a `[0,1)` cell hash into a brightness multiplier: `max(1 + (rand - 0.5) * 2 * variation, 0)`.
129
+ *
130
+ * Centred on 1 so `variation = 0` is exactly the unmodified colour, spanning `[0, 2]` at full
131
+ * variation (some cells doubled, some black). The `max(_, 0)` floor matters because the multiplier
132
+ * is applied to a colour: a negative factor would flip the sign of the RGB and, once blended,
133
+ * produce colours that are not in the authored palette at all.
134
+ */
135
+ export declare const variationFactor: import('typegpu').TgpuFn<(rand: d.F32, variation: d.F32) => d.F32>;
136
+ //# sourceMappingURL=cells.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cells.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/cells.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAO,CAAC,EAAM,MAAM,SAAS,CAAA;AAUpC,gFAAgF;AAChF,eAAO,MAAM,QAAQ;IACjB,gFAAgF;;IAEhF,8EAA8E;;EAE9D,CAAA;AAEpB;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;IAdrB,gFAAgF;;IAEhF,8EAA8E;;GAehF,CAAA;AAIF,6FAA6F;AAC7F,eAAO,MAAM,OAAO;IAChB,kGAAkG;;IAElG,+FAA+F;;EAEhF,CAAA;AAEnB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS;IAvBlB,kGAAkG;;IAElG,+FAA+F;;GA4BjG,CAAA;AAIF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,UAAU,mDAGrB,CAAA;AAIF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,qFAQvB,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,yGAqB9B,CAAA;AAIF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,kDAKnB,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,iDAGvB,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,sEAG7B,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,oEAG1B,CAAA"}
@@ -0,0 +1,102 @@
1
+ import { d } from './index';
2
+
3
+ /**
4
+ * Cell coordinate → feature point in [0,1]², via the classic sin-fract hash
5
+ * (`fract(sin(vec2(dot(p, k1), dot(p, k2))) · 43758.5453)`).
6
+ *
7
+ * GPU-only: `sin` at these argument magnitudes is driver-approximate and diverges from JS `Math.sin`,
8
+ * so this cannot be golden-tested on the CPU.
9
+ */
10
+ export declare const cellHash2: import('typegpu').TgpuFn<(p: d.Vec2f) => d.Vec2f>;
11
+ /**
12
+ * {@link nearest2Cells}'s options, as a discriminated union: only the two pairings the builder
13
+ * actually implements are expressible. `distance` and `jitter` are NOT independent — pairing
14
+ * `length` with `mix` (or `selectableSquared` with `none`) has no branch and would silently fall
15
+ * through to the other form's emitted signature, so the type forbids it.
16
+ *
17
+ * - `{distance: 'length', jitter: 'none'}` — `length(delta)`, a true Euclidean distance per tap, and
18
+ * the drifted feature point clamped into the cell interior and used directly. The fold carries real
19
+ * distances, which is what a ratio reduction needs.
20
+ * - `{distance: 'selectableSquared', jitter: 'mix'}` — computes Euclidean-SQUARED, Manhattan and
21
+ * Chebyshev and selects between them on a runtime `metric` argument (Euclidean stays squared
22
+ * through the fold; the sqrt is deferred to {@link cellReduceSelectable}), and lerps from the cell
23
+ * centre (0.5, 0.5) toward the clamped point by a runtime `jitter` argument, so 0 gives a rigid
24
+ * lattice and 1 full randomness. All three metric branches are always computed — see the note on
25
+ * branchlessness below.
26
+ */
27
+ export type Nearest2Options = {
28
+ distance: 'length';
29
+ jitter: 'none';
30
+ /** Emitted WGSL identifier base. The option key is appended, so configs cannot collide. */
31
+ name?: string;
32
+ } | {
33
+ distance: 'selectableSquared';
34
+ jitter: 'mix';
35
+ /** Emitted WGSL identifier base. The option key is appended, so configs cannot collide. */
36
+ name?: string;
37
+ };
38
+ /**
39
+ * The 3×3 nearest-two-features fold, as a builder. Emits a `tgpu.fn` taking the SCALED cell-space
40
+ * position and returning `vec2(d1, d2)` — the nearest and second-nearest feature distances (squared,
41
+ * for `distance: 'selectableSquared'`).
42
+ *
43
+ * Emitted signature, by options:
44
+ * - `{distance: 'length', jitter: 'none'}` → `(scaledUV: vec2f, animT: f32, seed: f32) → vec2f`
45
+ * - `{distance: 'selectableSquared', jitter: 'mix'}` →
46
+ * `(scaledUV: vec2f, animT: f32, seed: f32, jitter: f32, metric: f32) → vec2f`
47
+ * (`metric`: 0 Euclidean-squared, 1 Manhattan, 2 Chebyshev)
48
+ *
49
+ * The feature points DRIFT: each is displaced by `sin/cos` of its own hash plus `animT` (the y axis
50
+ * at 0.7× the rate, so the motion is not diagonal), then clamped away from the cell walls so a point
51
+ * cannot cross into a neighbour and pop the topology. The phase constant is the full-precision TAU;
52
+ * one consumer shipped a truncated `6.28` here and was corrected on adoption (Gate C).
53
+ *
54
+ * THE FOLD IS BRANCHLESS AND THAT IS DELIBERATE. `d2 = min(d2, max(dd, d1))` followed by
55
+ * `d1 = min(d1, dd)` maintains the sorted pair without a conditional, because the d2 update reads
56
+ * the PRE-update d1. It is exactly equivalent to the nested-select spelling — case `dd < d1` gives
57
+ * `(d1, dd)`, case `dd ≥ d1` gives `(min(d2, dd), d1)` — and both spellings only ever SELECT
58
+ * existing values, never arithmetic on them, so the choice is bit-neutral. The unified spelling is
59
+ * why a consumer that only wants F1 can still use this fold: the extra d2 work leaves d1 untouched.
60
+ *
61
+ * Likewise `selectableSquared` computes all three metrics and selects, rather than JS-branching per
62
+ * compile-time metric. That looks like waste but is not: the metric is a compile-time prop, so a
63
+ * branch would recompile the pipeline on every change, and the dead arithmetic is a handful of ALU
64
+ * ops the driver's dead-code pass largely removes. It is the FractalNoise "harmless waste" pattern.
65
+ */
66
+ export declare function nearest2Cells(options: Nearest2Options): Nearest2Fn;
67
+ /** {@link nearest2Cells}'s output. Trailing arguments exist only for the `selectableSquared` form. */
68
+ export type Nearest2Fn = (scaledUV: d.v2f, animT: number, seed: number, jitterAmount?: number, metric?: number) => d.v2f;
69
+ /** Feature-combination modes for {@link cellReduceSelectable}, and the enum a `mode` prop maps to. */
70
+ export declare const CELL_MODES: Record<string, number>;
71
+ /** Distance metrics for `nearest2Cells({distance: 'selectableSquared'})`, and the prop enum. */
72
+ export declare const CELL_METRICS: Record<string, number>;
73
+ /**
74
+ * Reduce a `(d1, d2)` pair to a scalar by {@link CELL_MODES} mode, taking the deferred Euclidean
75
+ * square root when `metric` is 0.
76
+ *
77
+ * The sqrt lives HERE rather than in the fold so the fold can keep squared distances (one multiply
78
+ * per tap instead of a sqrt), and taking it after the min-fold is exact: `sqrt` is monotonic and
79
+ * correctly rounded, so `sqrt(min(a, b)) == min(sqrt a, sqrt b)`.
80
+ *
81
+ * `sd1`/`sd2` unify the squared and linear cases so every mode is one expression for both — e.g.
82
+ * F1×F2 is `sd1·sd2`, which is `sqrt(d1·d2)`-equivalent for Euclidean and `d1·d2` otherwise.
83
+ */
84
+ export declare const cellReduceSelectable: import('typegpu').TgpuFn<(d1: d.F32, d2: d.F32, metric: d.F32, mode: d.F32) => d.F32>;
85
+ /**
86
+ * The scale-invariant cell gradient: `pow(clamp(2·d1 / (d1 + d2)), power)`.
87
+ *
88
+ * The `2·d1/(d1+d2)` ratio is the reason to compute d2 at all for a fill gradient — it maps 0 at a
89
+ * feature point to 1 at a cell boundary REGARDLESS of cell size, where a raw F1 would make large
90
+ * cells read darker than small ones. `power` shapes how much of the interior the far colour claims.
91
+ */
92
+ export declare const cellRatio: import('typegpu').TgpuFn<(d1: d.F32, d2: d.F32, power: d.F32) => d.F32>;
93
+ /**
94
+ * The cell-boundary line mask: `smoothstep(0, softness, (d2 − d1) / (d1 + d2))`, 0 ON the boundary
95
+ * and 1 in the interior.
96
+ *
97
+ * `(d2 − d1)` alone would give boundary lines whose apparent width scales with cell size; dividing
98
+ * by the sum normalizes it, so `softness` reads as a constant line width across the field. Callers
99
+ * that expose softness in cell units should pre-scale it by the cell count.
100
+ */
101
+ export declare const cellEdgeMask: import('typegpu').TgpuFn<(d1: d.F32, d2: d.F32, softness: d.F32) => d.F32>;
102
+ //# sourceMappingURL=cellular.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cellular.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/cellular.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAO,CAAC,EAAM,MAAM,SAAS,CAAA;AAGpC;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,mDAIpB,CAAA;AAIF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,eAAe,GACrB;IACE,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,GACC;IACE,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,MAAM,EAAE,KAAK,CAAA;IACb,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,UAAU,CAmElE;AAED,sGAAsG;AACtG,MAAM,MAAM,UAAU,GAAG,CACrB,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KACnF,CAAC,CAAC,GAAG,CAAA;AAMV,sGAAsG;AACtG,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM7C,CAAA;AAED,gGAAgG;AAChG,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI/C,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,uFAa3B,CAAA;AAEN;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,yEAKpB,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,4EAKvB,CAAA"}