shaders 3.0.447 → 3.0.449

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 (416) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/core/{AngularBlur-xU811GPM.js → AngularBlur-DU1WmNHt.js} +15 -15
  3. package/dist/core/{Arc-DYvFxtGy.js → Arc-C8QmYsiZ.js} +13 -12
  4. package/dist/core/{Ascii-ChE4BP7J.js → Ascii-BaQ6MZTc.js} +51 -53
  5. package/dist/core/{Aurora-BThE6pbb.js → Aurora-B6lOg6M4.js} +63 -68
  6. package/dist/core/{BarShift-DdjkPSk3.js → BarShift-CFK-CzF9.js} +31 -32
  7. package/dist/core/{BarnDoors-B_kxVuec.js → BarnDoors-DWs_0xtH.js} +21 -22
  8. package/dist/core/{Beam-C7zPHuIU.js → Beam-Cgc4EYnj.js} +32 -39
  9. package/dist/core/{Bend-CFcEjifF.js → Bend-oof5pE1H.js} +27 -28
  10. package/dist/core/{Blob-CgUolAhz.js → Blob-cfvDCv0i.js} +54 -60
  11. package/dist/core/{BlockDissolve-CLSxXB4e.js → BlockDissolve-C7yJzYGZ.js} +21 -20
  12. package/dist/core/{BlockNoise-BgEJOicU.js → BlockNoise-DaM9YDAH.js} +16 -14
  13. package/dist/core/{BlueNoise-BqMtBLxM.js → BlueNoise-BMMRTsMw.js} +12 -10
  14. package/dist/core/{Blur-Xaa6jVPT.js → Blur-Be7sX4v9.js} +27 -27
  15. package/dist/core/{Boids-B8QUNxRL.js → Boids-C9S69THK.js} +151 -149
  16. package/dist/core/{BokehBlur-B5fql96U.js → BokehBlur-DSkKZ_yy.js} +104 -104
  17. package/dist/core/{BrickPattern-EAD5HD4e.js → BrickPattern-BY7h4hyx.js} +34 -38
  18. package/dist/core/{BrightnessContrast-mbv32DkA.js → BrightnessContrast-DFc0gSUv.js} +9 -10
  19. package/dist/core/{BrushedMetal-B10fDdGt.js → BrushedMetal-B06tUygH.js} +81 -84
  20. package/dist/core/{Bulge-C1Pq4DHk.js → Bulge-BpSOQfH0.js} +19 -19
  21. package/dist/core/{CRTScreen-Ctx0Mxtb.js → CRTScreen-DdGcEvk2.js} +35 -37
  22. package/dist/core/{CarbonFiber-DSSARe6R.js → CarbonFiber-Dy7Osb3V.js} +81 -84
  23. package/dist/core/{Chalkboard-C7srb54u.js → Chalkboard-wRYj23wL.js} +59 -61
  24. package/dist/core/{ChannelBlur-DE3T4-pj.js → ChannelBlur-DKD9GUpc.js} +13 -15
  25. package/dist/core/{CheckerWipe-Dp49-iaT.js → CheckerWipe-D0WmsSKg.js} +23 -23
  26. package/dist/core/{Checkerboard-oVWtS0rz.js → Checkerboard-2sQYJks9.js} +31 -31
  27. package/dist/core/{Chevron-CCD5JTRA.js → Chevron-D3oPw2-i.js} +20 -20
  28. package/dist/core/{ChromaFlow-BiE9Mes0.js → ChromaFlow-px9KG_h6.js} +32 -33
  29. package/dist/core/{ChromaticAberration-XEasUrD3.js → ChromaticAberration-DLFROPJV.js} +13 -13
  30. package/dist/core/{Circle-CvQ9duDU.js → Circle-0CqIPN3a.js} +14 -13
  31. package/dist/core/{ColorWheel-CXvfWAjN.js → ColorWheel-CMtn8slz.js} +30 -34
  32. package/dist/core/{CompressionArtifacts-BDaP7XI6.js → CompressionArtifacts-D7dpVg47.js} +64 -66
  33. package/dist/core/{ConcentricSpin-D06hFXEb.js → ConcentricSpin-BPk-_egF.js} +39 -41
  34. package/dist/core/{ConicGradient-Cg6vy3gl.js → ConicGradient-B-tEhmfR.js} +17 -18
  35. package/dist/core/{ContourLines-Cg2Dlmcr.js → ContourLines-BlgCWFSy.js} +29 -30
  36. package/dist/core/{CornerPin-wtqiMUCa.js → CornerPin-DB3G2i_y.js} +55 -57
  37. package/dist/core/{Crescent-Co__JqEE.js → Crescent-CFzPQKll.js} +14 -13
  38. package/dist/core/{Cross-CFytbdrZ.js → Cross-Cstl9nDg.js} +14 -13
  39. package/dist/core/{Crystal-U7VqhbHy.js → Crystal-CEeqF1Xa.js} +143 -152
  40. package/dist/core/{CurlNoise-BXWYh1Qi.js → CurlNoise-uvTKk4Wa.js} +16 -14
  41. package/dist/core/{CursorRipples-APbH7SVR.js → CursorRipples-B46VApbY.js} +59 -58
  42. package/dist/core/{CursorTrail-D5Fj0wGp.js → CursorTrail-DzYRTzzA.js} +72 -71
  43. package/dist/core/{DataMosh-CWRLpjU3.js → DataMosh-Ysev5-c_.js} +71 -73
  44. package/dist/core/{DiamondGradient-C_2VoEiQ.js → DiamondGradient-pTOwPuAl.js} +23 -25
  45. package/dist/core/{DiamondWipe-BkdNODD1.js → DiamondWipe-D6u1P2xH.js} +22 -22
  46. package/dist/core/{DiffuseBlur-Dl7S4KBW.js → DiffuseBlur-BX0cfwyh.js} +11 -12
  47. package/dist/core/{DisplacementMap-lv-qoLem.js → DisplacementMap-DMNivtcV.js} +26 -26
  48. package/dist/core/{Dither-B33J_gJU.js → Dither-Cxu-hSc_.js} +116 -119
  49. package/dist/core/{DotGrid-DaOhiRaL.js → DotGrid-CbNHebie.js} +37 -39
  50. package/dist/core/{DropShadow-C5Z2Rs2C.js → DropShadow-DFyuEA17.js} +37 -37
  51. package/dist/core/{Duotone-x4cywJbU.js → Duotone-CgueO-jZ.js} +7 -7
  52. package/dist/core/{Ellipse-CrQ1XYjx.js → Ellipse-DxRnSw__.js} +13 -12
  53. package/dist/core/{Emboss-DNwO5JcE.js → Emboss-BJxzjZmZ.js} +76 -78
  54. package/dist/core/{Engraving-FsaRQiyI.js → Engraving-DmQCj8vU.js} +57 -59
  55. package/dist/core/{ErosionNoise-CloHpdFT.js → ErosionNoise-7ekcAfBb.js} +13 -11
  56. package/dist/core/{Exposure-mO6KjYvc.js → Exposure-avEereLn.js} +4 -5
  57. package/dist/core/{FallingLines-D_1wHUkx.js → FallingLines-BINyHi3N.js} +40 -42
  58. package/dist/core/{FilmGrain-DDhrsw94.js → FilmGrain-B-pZBxiK.js} +17 -18
  59. package/dist/core/{FilmStock-BaP2aTLu.js → FilmStock-BJfso8f3.js} +74 -74
  60. package/dist/core/{Flip-DYuqyJva.js → Flip-Dbwe0zh8.js} +10 -12
  61. package/dist/core/{FloatingParticles-DJwNpHtZ.js → FloatingParticles-CoQ01il5.js} +97 -94
  62. package/dist/core/{FlowField-D4iGiDic.js → FlowField-CU6S3Jar.js} +24 -23
  63. package/dist/core/{Flower-D0MqoayS.js → Flower-R7HIopNH.js} +14 -13
  64. package/dist/core/{FlowingGradient-9Zu0Pu4a.js → FlowingGradient-D66Y9Wgq.js} +38 -39
  65. package/dist/core/{FlutedGlass-C_clmShu.js → FlutedGlass-WAaeW92l.js} +43 -43
  66. package/dist/core/{Fog-C_kY5pWB.js → Fog-BChoF6fi.js} +172 -171
  67. package/dist/core/{Form3D-D4aXZGoJ.js → Form3D-DajWNpAi.js} +259 -267
  68. package/dist/core/{FractalNoise-mMVLGmIv.js → FractalNoise-DIrQ3eQj.js} +30 -28
  69. package/dist/core/{Frost-M53tZlcf.js → Frost-B_3JSI2H.js} +70 -73
  70. package/dist/core/{GaborNoise-BhXywN1d.js → GaborNoise-4FWeA9yr.js} +16 -14
  71. package/dist/core/{Glass-B9D_52op.js → Glass-wOhmSf3v.js} +6 -4
  72. package/dist/core/{GlassTiles-DIkGYgVE.js → GlassTiles-DgdAiEuy.js} +23 -26
  73. package/dist/core/{Glitch-CUOJt5VX.js → Glitch-BOiywFUR.js} +60 -65
  74. package/dist/core/{Glow-D5AdnLvU.js → Glow-C2cEWdNE.js} +76 -77
  75. package/dist/core/{Godrays-BeQCWVw7.js → Godrays-DAZB2GSn.js} +52 -56
  76. package/dist/core/{Goo-C0_0QYne.js → Goo-B_WAqWYW.js} +64 -65
  77. package/dist/core/{GradientMap-DOVK05_a.js → GradientMap-DxsOInED.js} +47 -50
  78. package/dist/core/{Grayscale-Uv_6LYA9.js → Grayscale-DSHs9mZd.js} +6 -6
  79. package/dist/core/{Grid-Dbp4DoXZ.js → Grid-aO3wzf4X.js} +46 -48
  80. package/dist/core/{GridDistortion-D_21zIrm.js → GridDistortion-DsHsHda7.js} +63 -62
  81. package/dist/core/{Group-DXiB5Qrx.js → Group-CCcDbysC.js} +1 -1
  82. package/dist/core/{HTMLInCanvas-xXPLTYIv.js → HTMLInCanvas-B2OooKKr.js} +1 -1
  83. package/dist/core/{Halftone-DszIQsyx.js → Halftone-3a3rz4ln.js} +59 -62
  84. package/dist/core/{Heart-COpnSJPD.js → Heart-CzO0_GoB.js} +12 -11
  85. package/dist/core/{Heatmap-CMm8SD-P.js → Heatmap-DPtUc8YG.js} +57 -55
  86. package/dist/core/{HexGrid-B6wNW-45.js → HexGrid-CN5A0m5j.js} +32 -35
  87. package/dist/core/{Hologram-XejRN51V.js → Hologram-DoKRhChe.js} +62 -66
  88. package/dist/core/{Holographic-D1G_Ou1y.js → Holographic-BWyW5z_h.js} +58 -61
  89. package/dist/core/{HueShift-BCDgYfJs.js → HueShift-C0p8EGk-.js} +7 -10
  90. package/dist/core/{ImageTexture-BE2Jlkg6.js → ImageTexture-BnwkbXAW.js} +3 -2
  91. package/dist/core/{InkFlow-DJaJqula.js → InkFlow-BH86usRX.js} +156 -156
  92. package/dist/core/{Invert-DDmITZjt.js → Invert-BIjy9ddK.js} +4 -4
  93. package/dist/core/{IrisWipe-BFs5DDSa.js → IrisWipe-lpU7lucQ.js} +20 -23
  94. package/dist/core/{IsometricCubes-ChKqYTIw.js → IsometricCubes-CIieztxI.js} +37 -42
  95. package/dist/core/{Kaleidoscope-C8_-tC6T.js → Kaleidoscope-CUMvqmfN.js} +21 -21
  96. package/dist/core/{KeyFrames-xR9ZzHKj.js → KeyFrames-mI1J02zX.js} +130 -129
  97. package/dist/core/{LensFlare-DHGNEDIX.js → LensFlare-ChQK_hJN.js} +82 -84
  98. package/dist/core/{LightEdge-DYfhB3-7.js → LightEdge-Rg-zMpGb.js} +106 -107
  99. package/dist/core/{LightLeak-CYjuMURe.js → LightLeak-D1CxVo9A.js} +58 -59
  100. package/dist/core/{LinearBlur-CV7gKYHV.js → LinearBlur-DJBkHfs8.js} +14 -14
  101. package/dist/core/{LinearGradient-DAzw65UB.js → LinearGradient-DCRYBS4Q.js} +36 -37
  102. package/dist/core/{LinearWipe-DoDZF7y0.js → LinearWipe-Cxfs1tIO.js} +20 -21
  103. package/dist/core/{LiquidMetal-C9OxRyE4.js → LiquidMetal-oscNnbsr.js} +70 -73
  104. package/dist/core/{Liquify-gNsuR7aA.js → Liquify-CJwl6Wef.js} +67 -66
  105. package/dist/core/{MagneticFilings-CQ7zHEow.js → MagneticFilings-DAOFLjAQ.js} +125 -125
  106. package/dist/core/{Marble-BSSMSrv8.js → Marble-Cr4Iaq38.js} +22 -21
  107. package/dist/core/{Mirror-BZAUA2jk.js → Mirror-BwOuv3TP.js} +18 -18
  108. package/dist/core/{MultiPointGradient-HSfAYB-u.js → MultiPointGradient-CSowH0-7.js} +30 -31
  109. package/dist/core/{Neon-D9d6Osal.js → Neon-CPIvbGSB.js} +102 -113
  110. package/dist/core/{NoiseDissolve-CnELvUG_.js → NoiseDissolve-ByahROgQ.js} +23 -22
  111. package/dist/core/{ObjectTracker-COh35yTh.js → ObjectTracker-DMCr6kHz.js} +3 -3
  112. package/dist/core/{PagePeel-B6sjmvZ1.js → PagePeel-Coq0hc8R.js} +54 -58
  113. package/dist/core/{Paper-LfukraJk.js → Paper-CLlhc3fn.js} +16 -15
  114. package/dist/core/{Parallelogram-DBi0yAG3.js → Parallelogram-Be8RQBV7.js} +14 -13
  115. package/dist/core/{ParticleField-q7COY9YT.js → ParticleField-DDO-Tk9X.js} +154 -150
  116. package/dist/core/{ParticleFlow-DiHWbIon.js → ParticleFlow-B89PWVem.js} +210 -208
  117. package/dist/core/{Particles-BFsKUAPx.js → Particles-D8rP46SB.js} +207 -209
  118. package/dist/core/{PerlinNoise-KV2GG0ts.js → PerlinNoise-_whB3Y3m.js} +16 -14
  119. package/dist/core/{Perspective-CJSrtEy5.js → Perspective-BJuQWHOr.js} +23 -25
  120. package/dist/core/{PixelSort-WD-Y6ZFu.js → PixelSort-CJfXD6g0.js} +109 -109
  121. package/dist/core/{PixelThrow-CnOXm7Hv.js → PixelThrow-BaTI5PzH.js} +35 -35
  122. package/dist/core/{Pixelate-XJI9f1oT.js → Pixelate-D7Dto_8I.js} +19 -19
  123. package/dist/core/{Plasma-C0dnSaw1.js → Plasma-DWIDcCnn.js} +33 -32
  124. package/dist/core/{Plastic-DBv_6A7q.js → Plastic-CWAOd2i9.js} +82 -84
  125. package/dist/core/{PolarCoordinates-B8Cq2bzT.js → PolarCoordinates-DQM3dLK3.js} +16 -18
  126. package/dist/core/{Polygon-ORM35JKg.js → Polygon-CFmLohBu.js} +16 -17
  127. package/dist/core/{Posterize-Dn-Vv2S1.js → Posterize-B8PHXwhy.js} +5 -8
  128. package/dist/core/{Prism-CYLsGJHY.js → Prism-C5VS4TLU.js} +36 -40
  129. package/dist/core/{ProgressiveBlur-BXUumCm5.js → ProgressiveBlur-BcGcteLH.js} +63 -65
  130. package/dist/core/{RadialGradient-j6T56q1W.js → RadialGradient-D3UoKiGu.js} +22 -23
  131. package/dist/core/{RadialWipe-Bz19qvls.js → RadialWipe-DXfAH0Ug.js} +25 -25
  132. package/dist/core/{RandomBars-3RlhwDYG.js → RandomBars-BVsp1Q7v.js} +23 -23
  133. package/dist/core/{ReactionDiffusion-DdXavIVw.js → ReactionDiffusion-DknxOF-o.js} +173 -175
  134. package/dist/core/{RectangularCoordinates-p3250IKV.js → RectangularCoordinates-DFQm4y6H.js} +14 -14
  135. package/dist/core/{ReflectivePlane-BOl9AEoO.js → ReflectivePlane-BDlGBzo1.js} +35 -37
  136. package/dist/core/{Repeater-BMXmN95R.js → Repeater-DHW6eDAm.js} +2 -2
  137. package/dist/core/{Ring-DKcROHDs.js → Ring-3brC5en8.js} +15 -14
  138. package/dist/core/{RippleWipe-QH8D0Y-2.js → RippleWipe-DQfXGjRv.js} +24 -27
  139. package/dist/core/{Ripples-8fFdo6aq.js → Ripples-DajR3Cl5.js} +18 -21
  140. package/dist/core/{RoundedRect-Cr76tP9o.js → RoundedRect-CfkYNmkV.js} +14 -13
  141. package/dist/core/{Saturation-Dqifs1x7.js → Saturation-BPTssGSs.js} +8 -9
  142. package/dist/core/{Scratches-sa8JU4Eb.js → Scratches-A-AyASZm.js} +16 -14
  143. package/dist/core/{Sharpness-IRuPd9nn.js → Sharpness-Di39DpCB.js} +21 -22
  144. package/dist/core/{Shatter-BYaxMvyd.js → Shatter-CWf3HtjN.js} +73 -72
  145. package/dist/core/{SimplexNoise-C2vmRzgy.js → SimplexNoise-DpZ2jtdk.js} +19 -17
  146. package/dist/core/{SineWave-BGAJyGFr.js → SineWave-CZuksvHn.js} +20 -20
  147. package/dist/core/{SliceWipe-BOcCk5Se.js → SliceWipe-BwL2D3HR.js} +19 -19
  148. package/dist/core/{Smoke-B1twbhQ4.js → Smoke-BsUkbTI1.js} +156 -155
  149. package/dist/core/{SmokeFill-CAayneM2.js → SmokeFill-CaDMgNW-.js} +233 -231
  150. package/dist/core/{SmokeFlow-Ug8difAz.js → SmokeFlow-CLfsAbPS.js} +143 -142
  151. package/dist/core/{Solarize-205KKROH.js → Solarize-ALjXXAf0.js} +12 -14
  152. package/dist/core/{SolidColor-B4pj8onb.js → SolidColor-Cu_9b_my.js} +1 -1
  153. package/dist/core/{Spherize-DUQxwwCL.js → Spherize-SBfCc9Wk.js} +31 -37
  154. package/dist/core/{Spiral-DY1c-N4F.js → Spiral-iRrT222n.js} +36 -36
  155. package/dist/core/{Star-DRxNaHHo.js → Star-DL3d_HqY.js} +14 -13
  156. package/dist/core/{Stone-CUdcvOWd.js → Stone-OTsCM-rr.js} +2 -2
  157. package/dist/core/{Strands-CFxYJMFu.js → Strands-DjoQgGnd.js} +47 -49
  158. package/dist/core/{Stretch-DYrVdt8A.js → Stretch-CdzhxnbM.js} +19 -19
  159. package/dist/core/{Stripes-BvnoWdwn.js → Stripes-CsBgKYdp.js} +39 -39
  160. package/dist/core/{StudioBackground-srQGUpfZ.js → StudioBackground-D8EdrLg5.js} +67 -68
  161. package/dist/core/{SunBurst-COsVDZ4e.js → SunBurst-ErBFL-nF.js} +18 -20
  162. package/dist/core/{Surface3D-TsGPzdGm.js → Surface3D-CLjX61TZ.js} +144 -144
  163. package/dist/core/{Swirl-nXMWVY2X.js → Swirl-DDQif_lC.js} +18 -21
  164. package/dist/core/{Teardrop-Bjtkigk4.js → Teardrop-CvpdElTs.js} +13 -12
  165. package/dist/core/{Text-BGdsqRl5.js → Text-vyzeMvhl.js} +20 -21
  166. package/dist/core/{ThinFilm-DhMKI5e2.js → ThinFilm-CbkMTbD2.js} +59 -67
  167. package/dist/core/{TiltShift-BwuYyXB6.js → TiltShift-BVMyB8lF.js} +66 -67
  168. package/dist/core/{TimeTrail-CE2XumxR.js → TimeTrail-CuFGvzFi.js} +91 -94
  169. package/dist/core/{Tint-BTmcGjEl.js → Tint-C6zMMsYH.js} +25 -26
  170. package/dist/core/{Trapezoid-CiZCh8QS.js → Trapezoid-kFuxWONU.js} +14 -13
  171. package/dist/core/{TriangularGrid-BnQOEljy.js → TriangularGrid-FIrpI_qE.js} +34 -36
  172. package/dist/core/{Tritone-Ta084wlF.js → Tritone-DyLGtOug.js} +7 -10
  173. package/dist/core/{Truchet-BxCh_IIp.js → Truchet-B4NI56Zz.js} +31 -33
  174. package/dist/core/{Twirl-Cw4jm59Q.js → Twirl-CuzhWXfj.js} +16 -16
  175. package/dist/core/{VHS-Nwk0E-tf.js → VHS-DYbzndAZ.js} +68 -69
  176. package/dist/core/{VenetianBlinds-BZ0sS97G.js → VenetianBlinds-DVopy3xp.js} +22 -23
  177. package/dist/core/{Vesica-Cf1KiSzK.js → Vesica-Cd-XyG3F.js} +13 -12
  178. package/dist/core/{Vibrance-qWGvLkrW.js → Vibrance-CvXatkfO.js} +7 -8
  179. package/dist/core/{VideoTexture-48ylVDvN.js → VideoTexture-C5PS6Vly.js} +34 -39
  180. package/dist/core/{Vignette-CK_Li7v2.js → Vignette-DtBpWWxW.js} +20 -22
  181. package/dist/core/{Voronoi-DMYFDwIS.js → Voronoi-CRH2cGlR.js} +33 -37
  182. package/dist/core/{Water-D74wbHmn.js → Water-CneenzRZ.js} +101 -108
  183. package/dist/core/{Watercolor-zo8-4Vqx.js → Watercolor-B343pgM-.js} +63 -64
  184. package/dist/core/{WaveDistortion-BLrvGOzF.js → WaveDistortion-DHz1FxLT.js} +80 -82
  185. package/dist/core/{WaveletNoise-a5OpO8-D.js → WaveletNoise-CsLE9gbM.js} +16 -14
  186. package/dist/core/{Weave-D1D3kuUg.js → Weave-CQEF71nr.js} +28 -31
  187. package/dist/core/{WebcamTexture-pBETyQYG.js → WebcamTexture-BcsYFM_g.js} +7 -7
  188. package/dist/core/{Wool-CMnWPdy9.js → Wool-BFSicimy.js} +2 -2
  189. package/dist/core/{WorleyNoise-BAEo0duh.js → WorleyNoise-BKq3es5v.js} +69 -70
  190. package/dist/core/{ZoomBlur-CnBNmcfx.js → ZoomBlur-Bu1SlmS2.js} +12 -12
  191. package/dist/core/agents-Bv3--qPL.js +997 -0
  192. package/dist/core/blur-tvWOoxKt.js +2247 -0
  193. package/dist/core/compute-BjeJ0sIA.js +31 -0
  194. package/dist/core/dataEncoding-CEmpiitu.js +24 -0
  195. package/dist/core/device-BODv_4aH.js +10 -0
  196. package/dist/core/edges-BXNBKxSN.js +29857 -0
  197. package/dist/core/{glass-sOqjtPJD.js → glass-IfoQ8Prf.js} +164 -172
  198. package/dist/core/gpu/index.d.ts.map +1 -1
  199. package/dist/core/index.js +320 -229
  200. package/dist/core/media-B9BNeMPu.js +757 -0
  201. package/dist/core/noise-wTSHXgFz.js +12033 -0
  202. package/dist/core/noiseColor-CPakiKNF.js +103 -0
  203. package/dist/core/{noiseColor-CRpf22bk.js → noiseColor-DscZM9CO.js} +2 -2
  204. package/dist/core/noiseStylize-BXpflWPW.js +359 -0
  205. package/dist/core/porters-DBK1Aipq.js +991 -0
  206. package/dist/core/presetRenderer.d.ts.map +1 -1
  207. package/dist/core/registry.js +208 -199
  208. package/dist/core/sdf-R0EN3EvS.js +5174 -0
  209. package/dist/core/shaderRegistry-CcvE7wN0.js +425 -0
  210. package/dist/core/shaders/AngularBlur/index.js +5 -4
  211. package/dist/core/shaders/Arc/index.js +7 -4
  212. package/dist/core/shaders/Ascii/index.js +5 -4
  213. package/dist/core/shaders/Aurora/index.js +6 -4
  214. package/dist/core/shaders/BarShift/index.js +5 -4
  215. package/dist/core/shaders/BarnDoors/index.js +5 -4
  216. package/dist/core/shaders/Beam/index.js +5 -4
  217. package/dist/core/shaders/Bend/index.js +5 -4
  218. package/dist/core/shaders/Blob/index.js +5 -4
  219. package/dist/core/shaders/BlockDissolve/index.js +6 -4
  220. package/dist/core/shaders/BlockNoise/index.js +8 -5
  221. package/dist/core/shaders/BlueNoise/index.js +8 -5
  222. package/dist/core/shaders/Blur/index.js +6 -4
  223. package/dist/core/shaders/Boids/index.js +7 -4
  224. package/dist/core/shaders/BokehBlur/index.js +6 -4
  225. package/dist/core/shaders/BrickPattern/index.js +5 -4
  226. package/dist/core/shaders/BrightnessContrast/index.js +5 -4
  227. package/dist/core/shaders/BrushedMetal/index.js +11 -6
  228. package/dist/core/shaders/Bulge/index.js +5 -4
  229. package/dist/core/shaders/CRTScreen/index.js +5 -4
  230. package/dist/core/shaders/CarbonFiber/index.js +11 -6
  231. package/dist/core/shaders/Chalkboard/index.js +5 -4
  232. package/dist/core/shaders/ChannelBlur/index.js +6 -4
  233. package/dist/core/shaders/CheckerWipe/index.js +5 -4
  234. package/dist/core/shaders/Checkerboard/index.js +5 -4
  235. package/dist/core/shaders/Chevron/index.js +5 -4
  236. package/dist/core/shaders/ChromaFlow/index.js +6 -4
  237. package/dist/core/shaders/ChromaticAberration/index.js +5 -4
  238. package/dist/core/shaders/Circle/index.js +7 -4
  239. package/dist/core/shaders/ColorWheel/index.js +5 -4
  240. package/dist/core/shaders/CompressionArtifacts/index.js +5 -4
  241. package/dist/core/shaders/ConcentricSpin/index.js +5 -4
  242. package/dist/core/shaders/ConicGradient/index.js +5 -4
  243. package/dist/core/shaders/ContourLines/index.js +5 -4
  244. package/dist/core/shaders/CornerPin/index.js +5 -4
  245. package/dist/core/shaders/Crescent/index.js +7 -4
  246. package/dist/core/shaders/Cross/index.js +7 -4
  247. package/dist/core/shaders/Crystal/index.js +11 -6
  248. package/dist/core/shaders/CurlNoise/index.js +8 -5
  249. package/dist/core/shaders/CursorRipples/index.js +5 -4
  250. package/dist/core/shaders/CursorTrail/index.js +5 -4
  251. package/dist/core/shaders/DataMosh/index.js +5 -4
  252. package/dist/core/shaders/DiamondGradient/index.js +5 -4
  253. package/dist/core/shaders/DiamondWipe/index.js +5 -4
  254. package/dist/core/shaders/DiffuseBlur/index.js +5 -4
  255. package/dist/core/shaders/DisplacementMap/index.js +5 -4
  256. package/dist/core/shaders/Dither/index.js +5 -4
  257. package/dist/core/shaders/DotGrid/index.js +5 -4
  258. package/dist/core/shaders/DropShadow/index.js +5 -4
  259. package/dist/core/shaders/Duotone/index.js +5 -4
  260. package/dist/core/shaders/Ellipse/index.js +7 -4
  261. package/dist/core/shaders/Emboss/index.js +10 -6
  262. package/dist/core/shaders/Engraving/index.js +6 -4
  263. package/dist/core/shaders/ErosionNoise/index.js +8 -5
  264. package/dist/core/shaders/Exposure/index.js +5 -4
  265. package/dist/core/shaders/FallingLines/index.js +5 -4
  266. package/dist/core/shaders/FilmGrain/index.js +5 -4
  267. package/dist/core/shaders/FilmStock/index.js +6 -4
  268. package/dist/core/shaders/Flip/index.js +5 -4
  269. package/dist/core/shaders/FloatingParticles/index.js +7 -4
  270. package/dist/core/shaders/FlowField/index.js +6 -4
  271. package/dist/core/shaders/Flower/index.js +7 -4
  272. package/dist/core/shaders/FlowingGradient/index.js +6 -4
  273. package/dist/core/shaders/FlutedGlass/index.js +5 -4
  274. package/dist/core/shaders/Fog/index.js +5 -4
  275. package/dist/core/shaders/Form3D/index.js +5 -4
  276. package/dist/core/shaders/FractalNoise/index.js +7 -4
  277. package/dist/core/shaders/Frost/index.js +11 -6
  278. package/dist/core/shaders/GaborNoise/index.js +8 -5
  279. package/dist/core/shaders/Glass/index.js +11 -6
  280. package/dist/core/shaders/GlassTiles/index.js +5 -4
  281. package/dist/core/shaders/Glitch/index.js +5 -4
  282. package/dist/core/shaders/Glow/index.js +6 -4
  283. package/dist/core/shaders/Godrays/index.js +5 -4
  284. package/dist/core/shaders/Goo/index.js +10 -6
  285. package/dist/core/shaders/GradientMap/index.js +5 -4
  286. package/dist/core/shaders/Grayscale/index.js +5 -4
  287. package/dist/core/shaders/Grid/index.js +5 -4
  288. package/dist/core/shaders/GridDistortion/index.js +5 -4
  289. package/dist/core/shaders/Group/index.js +5 -4
  290. package/dist/core/shaders/HTMLInCanvas/index.js +5 -4
  291. package/dist/core/shaders/Halftone/index.js +5 -4
  292. package/dist/core/shaders/Heart/index.js +7 -4
  293. package/dist/core/shaders/Heatmap/index.js +11 -6
  294. package/dist/core/shaders/HexGrid/index.js +5 -4
  295. package/dist/core/shaders/Hologram/index.js +11 -6
  296. package/dist/core/shaders/Holographic/index.js +11 -6
  297. package/dist/core/shaders/HueShift/index.js +5 -4
  298. package/dist/core/shaders/ImageTexture/index.js +7 -5
  299. package/dist/core/shaders/InkFlow/index.js +5 -4
  300. package/dist/core/shaders/Invert/index.js +5 -4
  301. package/dist/core/shaders/IrisWipe/index.js +5 -4
  302. package/dist/core/shaders/IsometricCubes/index.js +5 -4
  303. package/dist/core/shaders/Kaleidoscope/index.js +5 -4
  304. package/dist/core/shaders/KeyFrames/index.js +5 -4
  305. package/dist/core/shaders/LensFlare/index.js +5 -4
  306. package/dist/core/shaders/LightEdge/index.js +11 -6
  307. package/dist/core/shaders/LightLeak/index.js +6 -4
  308. package/dist/core/shaders/LinearBlur/index.js +5 -4
  309. package/dist/core/shaders/LinearGradient/index.js +5 -4
  310. package/dist/core/shaders/LinearWipe/index.js +5 -4
  311. package/dist/core/shaders/LiquidMetal/index.js +11 -6
  312. package/dist/core/shaders/Liquify/index.js +5 -4
  313. package/dist/core/shaders/MagneticFilings/index.js +7 -4
  314. package/dist/core/shaders/Marble/index.js +6 -4
  315. package/dist/core/shaders/Mirror/index.js +5 -4
  316. package/dist/core/shaders/MultiPointGradient/index.js +5 -4
  317. package/dist/core/shaders/Neon/index.js +9 -5
  318. package/dist/core/shaders/NoiseDissolve/index.js +6 -4
  319. package/dist/core/shaders/ObjectTracker/index.js +6 -5
  320. package/dist/core/shaders/PagePeel/index.js +5 -4
  321. package/dist/core/shaders/Paper/index.js +6 -4
  322. package/dist/core/shaders/Parallelogram/index.js +7 -4
  323. package/dist/core/shaders/ParticleField/index.js +8 -4
  324. package/dist/core/shaders/ParticleFlow/index.js +7 -4
  325. package/dist/core/shaders/Particles/index.js +11 -5
  326. package/dist/core/shaders/PerlinNoise/index.js +8 -5
  327. package/dist/core/shaders/Perspective/index.js +5 -4
  328. package/dist/core/shaders/PixelSort/index.js +5 -4
  329. package/dist/core/shaders/PixelThrow/index.js +6 -4
  330. package/dist/core/shaders/Pixelate/index.js +5 -4
  331. package/dist/core/shaders/Plasma/index.js +6 -4
  332. package/dist/core/shaders/Plastic/index.js +11 -6
  333. package/dist/core/shaders/PolarCoordinates/index.js +5 -4
  334. package/dist/core/shaders/Polygon/index.js +7 -4
  335. package/dist/core/shaders/Posterize/index.js +5 -4
  336. package/dist/core/shaders/Prism/index.js +5 -4
  337. package/dist/core/shaders/ProgressiveBlur/index.js +6 -4
  338. package/dist/core/shaders/RadialGradient/index.js +5 -4
  339. package/dist/core/shaders/RadialWipe/index.js +5 -4
  340. package/dist/core/shaders/RandomBars/index.js +6 -4
  341. package/dist/core/shaders/ReactionDiffusion/index.js +5 -4
  342. package/dist/core/shaders/RectangularCoordinates/index.js +5 -4
  343. package/dist/core/shaders/ReflectivePlane/index.js +6 -4
  344. package/dist/core/shaders/Repeater/index.js +5 -4
  345. package/dist/core/shaders/Ring/index.js +7 -4
  346. package/dist/core/shaders/RippleWipe/index.js +5 -4
  347. package/dist/core/shaders/Ripples/index.js +5 -4
  348. package/dist/core/shaders/RoundedRect/index.js +7 -4
  349. package/dist/core/shaders/Saturation/index.js +5 -4
  350. package/dist/core/shaders/Scratches/index.js +8 -5
  351. package/dist/core/shaders/Sharpness/index.js +5 -4
  352. package/dist/core/shaders/Shatter/index.js +6 -4
  353. package/dist/core/shaders/SimplexNoise/index.js +7 -4
  354. package/dist/core/shaders/SineWave/index.js +5 -4
  355. package/dist/core/shaders/SliceWipe/index.js +5 -4
  356. package/dist/core/shaders/Smoke/index.js +5 -4
  357. package/dist/core/shaders/SmokeFill/index.js +10 -6
  358. package/dist/core/shaders/SmokeFlow/index.js +5 -4
  359. package/dist/core/shaders/Solarize/index.js +5 -4
  360. package/dist/core/shaders/SolidColor/index.js +2 -2
  361. package/dist/core/shaders/Spherize/index.js +5 -4
  362. package/dist/core/shaders/Spiral/index.js +5 -4
  363. package/dist/core/shaders/Star/index.js +7 -4
  364. package/dist/core/shaders/Stone/index.js +4 -3
  365. package/dist/core/shaders/Strands/index.js +5 -4
  366. package/dist/core/shaders/Stretch/index.js +5 -4
  367. package/dist/core/shaders/Stripes/index.js +5 -4
  368. package/dist/core/shaders/StudioBackground/index.js +5 -4
  369. package/dist/core/shaders/SunBurst/index.js +5 -4
  370. package/dist/core/shaders/Surface3D/index.js +6 -4
  371. package/dist/core/shaders/Swirl/index.js +5 -4
  372. package/dist/core/shaders/Teardrop/index.js +7 -4
  373. package/dist/core/shaders/Text/index.js +6 -5
  374. package/dist/core/shaders/ThinFilm/index.js +9 -5
  375. package/dist/core/shaders/TiltShift/index.js +6 -4
  376. package/dist/core/shaders/TimeTrail/index.js +5 -4
  377. package/dist/core/shaders/Tint/index.js +5 -4
  378. package/dist/core/shaders/Trapezoid/index.js +7 -4
  379. package/dist/core/shaders/TriangularGrid/index.js +5 -4
  380. package/dist/core/shaders/Tritone/index.js +5 -4
  381. package/dist/core/shaders/Truchet/index.js +5 -4
  382. package/dist/core/shaders/Twirl/index.js +5 -4
  383. package/dist/core/shaders/VHS/index.js +5 -4
  384. package/dist/core/shaders/VenetianBlinds/index.js +5 -4
  385. package/dist/core/shaders/Vesica/index.js +7 -4
  386. package/dist/core/shaders/Vibrance/index.js +5 -4
  387. package/dist/core/shaders/VideoTexture/index.js +6 -5
  388. package/dist/core/shaders/Vignette/index.js +5 -4
  389. package/dist/core/shaders/Voronoi/index.js +5 -4
  390. package/dist/core/shaders/Water/index.js +11 -6
  391. package/dist/core/shaders/Watercolor/index.js +5 -4
  392. package/dist/core/shaders/WaveDistortion/index.js +5 -4
  393. package/dist/core/shaders/WaveletNoise/index.js +8 -5
  394. package/dist/core/shaders/Weave/index.js +5 -4
  395. package/dist/core/shaders/WebcamTexture/index.js +7 -5
  396. package/dist/core/shaders/Wool/index.js +4 -3
  397. package/dist/core/shaders/WorleyNoise/index.js +5 -4
  398. package/dist/core/shaders/ZoomBlur/index.js +5 -4
  399. package/dist/core/shapeEffectBounds-CtKwBX8c.js +19213 -0
  400. package/dist/core/utilities/transformations/index.js +1 -1
  401. package/dist/js/bundle.js +188 -184
  402. package/dist/js/createShader.js +1 -1
  403. package/dist/react/Shader.js +1 -1
  404. package/dist/react/bundle.js +197 -193
  405. package/dist/solid/engine/Shader.js +1 -1
  406. package/dist/svelte/index.js +1 -1
  407. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  408. package/package.json +1 -1
  409. package/dist/core/coords-BkIjixe_.js +0 -55724
  410. package/dist/core/noiseStylize-J6sFKoTh.js +0 -65
  411. package/dist/core/porters-BmU6G9TR.js +0 -321
  412. package/dist/core/shaderRegistry-D75z2sND.js +0 -425
  413. package/dist/core/shapeEffectBounds-PQqKLQXO.js +0 -406
  414. /package/dist/core/{fonts-DwhbVe2B.js → fonts-v_F1SFl9.js} +0 -0
  415. /package/dist/core/{naturalSize-Caz3-kRv.js → naturalSize-B679wTgN.js} +0 -0
  416. /package/dist/core/{transformations-t0d2-uSX.js → transformations-CsPUHppB.js} +0 -0
@@ -0,0 +1,2247 @@
1
+ import { Gt as textureStorage2d, Pt as round, Ut as arrayOf, Vt as data_exports, Wt as texture2d, Xt as struct, _t as clamp, an as f32, at as textureStore, et as src_default, in as vec4f, it as textureLoad, nt as std_exports, on as i32, sn as u32, tn as vec2u, wt as fract } from "./edges-BXNBKxSN.js";
2
+ import { n as createGuardedCompute } from "./compute-BjeJ0sIA.js";
3
+ var DEFAULT_HALF_KERNEL = 24;
4
+ const DEFAULT_COMPUTE_WIDTH = 1024;
5
+ const DEFAULT_COMPUTE_HEIGHT = 640;
6
+ var PASSTHROUGH_THRESHOLD = .5;
7
+ var INTERMEDIATE_FORMAT = "rgba32float";
8
+ var OUTPUT_FORMAT = "rgba16float";
9
+ const BLUR_MAP_FORMAT = "rgba32float";
10
+ function buildFixedWeights(halfKernel) {
11
+ const sigma = halfKernel / 3;
12
+ const size = halfKernel * 2 + 1;
13
+ const weights = [];
14
+ let sum = 0;
15
+ for (let i = -halfKernel; i <= halfKernel; i++) {
16
+ const w = Math.exp(-(i * i) / (2 * sigma * sigma));
17
+ weights.push(w);
18
+ sum += w;
19
+ }
20
+ for (let i = 0; i < size; i++) weights[i] /= sum;
21
+ return weights;
22
+ }
23
+ function buildTruncatedWeights(halfKernel, sigma) {
24
+ const size = halfKernel * 2 + 1;
25
+ const activeHalf = Math.max(1, Math.min(halfKernel, Math.ceil(sigma * 3)));
26
+ const weights = new Array(size).fill(0);
27
+ let total = 0;
28
+ for (let i = -halfKernel; i <= halfKernel; i++) if (Math.abs(i) <= activeHalf) {
29
+ const w = Math.exp(-(i * i) / (2 * sigma * sigma));
30
+ weights[i + halfKernel] = w;
31
+ total += w;
32
+ }
33
+ for (let i = 0; i < size; i++) weights[i] /= total;
34
+ return {
35
+ weights,
36
+ activeHalf
37
+ };
38
+ }
39
+ function fixedHParams() {
40
+ return struct({
41
+ activeHalf: i32,
42
+ inputWidth: f32,
43
+ inputHeight: f32
44
+ });
45
+ }
46
+ function fixedVParams() {
47
+ return struct({ activeHalf: i32 });
48
+ }
49
+ function buildFixedBlurGraph(halfKernel, computeWidth, computeHeight) {
50
+ const KERNEL_SIZE = halfKernel * 2 + 1;
51
+ const HALF_KERNEL = halfKernel;
52
+ const HParams = fixedHParams();
53
+ const VParams = fixedVParams();
54
+ const hLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(src_default.bindGroupLayout({
55
+ input: { texture: texture2d(f32) },
56
+ intermediate: { storageTexture: textureStorage2d(INTERMEDIATE_FORMAT, "write-only") },
57
+ weights: {
58
+ storage: arrayOf(f32, KERNEL_SIZE),
59
+ access: "readonly"
60
+ },
61
+ params: { uniform: HParams }
62
+ }), "hLayout");
63
+ const vLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(src_default.bindGroupLayout({
64
+ src: { storageTexture: textureStorage2d(INTERMEDIATE_FORMAT, "read-only") },
65
+ output: { storageTexture: textureStorage2d(OUTPUT_FORMAT, "write-only") },
66
+ weights: {
67
+ storage: arrayOf(f32, KERNEL_SIZE),
68
+ access: "readonly"
69
+ },
70
+ params: { uniform: VParams }
71
+ }), "vLayout");
72
+ return {
73
+ hLayout,
74
+ vLayout,
75
+ kernelH: src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
76
+ "use gpu";
77
+ const p = hLayout.$.params;
78
+ const inputCx = __tsover_sub(__tsover_div(__tsover_mul(__tsover_add(f32(cx), .5), p.inputWidth), computeWidth), .5);
79
+ const inputCy = __tsover_sub(__tsover_div(__tsover_mul(__tsover_add(f32(cy), .5), p.inputHeight), computeHeight), .5);
80
+ const inputWm1 = i32(__tsover_sub(p.inputWidth, 1));
81
+ const inputHm1 = i32(__tsover_sub(p.inputHeight, 1));
82
+ const inputCxI = i32(round(inputCx));
83
+ const inputCyI = clamp(i32(round(inputCy)), 0, inputHm1);
84
+ const ah = p.activeHalf;
85
+ const count = __tsover_add(__tsover_mul(ah, 2), 1);
86
+ let sum = vec4f(0, 0, 0, 0);
87
+ for (let i = 0; i < count; i++) {
88
+ const off = __tsover_sub(i, ah);
89
+ const sampleX = clamp(__tsover_add(inputCxI, off), 0, inputWm1);
90
+ const texel = textureLoad(hLayout.$.input, vec2u(u32(sampleX), u32(inputCyI)), 0);
91
+ sum = sum.add(texel.mul(hLayout.$.weights[__tsover_add(off, HALF_KERNEL)]));
92
+ }
93
+ textureStore(hLayout.$.intermediate, vec2u(cx, cy), sum);
94
+ }), {
95
+ v: 1,
96
+ name: void 0,
97
+ ast: {
98
+ "params": [{
99
+ "type": "i",
100
+ "name": "cx"
101
+ }, {
102
+ "type": "i",
103
+ "name": "cy"
104
+ }],
105
+ "body": [0, [
106
+ [
107
+ 13,
108
+ "p",
109
+ [
110
+ 7,
111
+ [
112
+ 7,
113
+ "hLayout",
114
+ "$"
115
+ ],
116
+ "params"
117
+ ]
118
+ ],
119
+ [
120
+ 13,
121
+ "inputCx",
122
+ [
123
+ 1,
124
+ [
125
+ 1,
126
+ [
127
+ 1,
128
+ [
129
+ 1,
130
+ [
131
+ 6,
132
+ [
133
+ 7,
134
+ "d",
135
+ "f32"
136
+ ],
137
+ ["cx"]
138
+ ],
139
+ "+",
140
+ [5, "0.5"]
141
+ ],
142
+ "*",
143
+ [
144
+ 7,
145
+ "p",
146
+ "inputWidth"
147
+ ]
148
+ ],
149
+ "/",
150
+ "computeWidth"
151
+ ],
152
+ "-",
153
+ [5, "0.5"]
154
+ ]
155
+ ],
156
+ [
157
+ 13,
158
+ "inputCy",
159
+ [
160
+ 1,
161
+ [
162
+ 1,
163
+ [
164
+ 1,
165
+ [
166
+ 1,
167
+ [
168
+ 6,
169
+ [
170
+ 7,
171
+ "d",
172
+ "f32"
173
+ ],
174
+ ["cy"]
175
+ ],
176
+ "+",
177
+ [5, "0.5"]
178
+ ],
179
+ "*",
180
+ [
181
+ 7,
182
+ "p",
183
+ "inputHeight"
184
+ ]
185
+ ],
186
+ "/",
187
+ "computeHeight"
188
+ ],
189
+ "-",
190
+ [5, "0.5"]
191
+ ]
192
+ ],
193
+ [
194
+ 13,
195
+ "inputWm1",
196
+ [
197
+ 6,
198
+ [
199
+ 7,
200
+ "d",
201
+ "i32"
202
+ ],
203
+ [[
204
+ 1,
205
+ [
206
+ 7,
207
+ "p",
208
+ "inputWidth"
209
+ ],
210
+ "-",
211
+ [5, "1"]
212
+ ]]
213
+ ]
214
+ ],
215
+ [
216
+ 13,
217
+ "inputHm1",
218
+ [
219
+ 6,
220
+ [
221
+ 7,
222
+ "d",
223
+ "i32"
224
+ ],
225
+ [[
226
+ 1,
227
+ [
228
+ 7,
229
+ "p",
230
+ "inputHeight"
231
+ ],
232
+ "-",
233
+ [5, "1"]
234
+ ]]
235
+ ]
236
+ ],
237
+ [
238
+ 13,
239
+ "inputCxI",
240
+ [
241
+ 6,
242
+ [
243
+ 7,
244
+ "d",
245
+ "i32"
246
+ ],
247
+ [[
248
+ 6,
249
+ [
250
+ 7,
251
+ "std",
252
+ "round"
253
+ ],
254
+ ["inputCx"]
255
+ ]]
256
+ ]
257
+ ],
258
+ [
259
+ 13,
260
+ "inputCyI",
261
+ [
262
+ 6,
263
+ [
264
+ 7,
265
+ "std",
266
+ "clamp"
267
+ ],
268
+ [
269
+ [
270
+ 6,
271
+ [
272
+ 7,
273
+ "d",
274
+ "i32"
275
+ ],
276
+ [[
277
+ 6,
278
+ [
279
+ 7,
280
+ "std",
281
+ "round"
282
+ ],
283
+ ["inputCy"]
284
+ ]]
285
+ ],
286
+ [5, "0"],
287
+ "inputHm1"
288
+ ]
289
+ ]
290
+ ],
291
+ [
292
+ 13,
293
+ "ah",
294
+ [
295
+ 7,
296
+ "p",
297
+ "activeHalf"
298
+ ]
299
+ ],
300
+ [
301
+ 13,
302
+ "count",
303
+ [
304
+ 1,
305
+ [
306
+ 1,
307
+ "ah",
308
+ "*",
309
+ [5, "2"]
310
+ ],
311
+ "+",
312
+ [5, "1"]
313
+ ]
314
+ ],
315
+ [
316
+ 12,
317
+ "sum",
318
+ [
319
+ 6,
320
+ [
321
+ 7,
322
+ "d",
323
+ "vec4f"
324
+ ],
325
+ [
326
+ [5, "0"],
327
+ [5, "0"],
328
+ [5, "0"],
329
+ [5, "0"]
330
+ ]
331
+ ]
332
+ ],
333
+ [
334
+ 14,
335
+ [
336
+ 12,
337
+ "i",
338
+ [5, "0"]
339
+ ],
340
+ [
341
+ 1,
342
+ "i",
343
+ "<",
344
+ "count"
345
+ ],
346
+ [
347
+ 102,
348
+ "++",
349
+ "i"
350
+ ],
351
+ [0, [
352
+ [
353
+ 13,
354
+ "off",
355
+ [
356
+ 1,
357
+ "i",
358
+ "-",
359
+ "ah"
360
+ ]
361
+ ],
362
+ [
363
+ 13,
364
+ "sampleX",
365
+ [
366
+ 6,
367
+ [
368
+ 7,
369
+ "std",
370
+ "clamp"
371
+ ],
372
+ [
373
+ [
374
+ 1,
375
+ "inputCxI",
376
+ "+",
377
+ "off"
378
+ ],
379
+ [5, "0"],
380
+ "inputWm1"
381
+ ]
382
+ ]
383
+ ],
384
+ [
385
+ 13,
386
+ "texel",
387
+ [
388
+ 6,
389
+ [
390
+ 7,
391
+ "std",
392
+ "textureLoad"
393
+ ],
394
+ [
395
+ [
396
+ 7,
397
+ [
398
+ 7,
399
+ "hLayout",
400
+ "$"
401
+ ],
402
+ "input"
403
+ ],
404
+ [
405
+ 6,
406
+ [
407
+ 7,
408
+ "d",
409
+ "vec2u"
410
+ ],
411
+ [[
412
+ 6,
413
+ [
414
+ 7,
415
+ "d",
416
+ "u32"
417
+ ],
418
+ ["sampleX"]
419
+ ], [
420
+ 6,
421
+ [
422
+ 7,
423
+ "d",
424
+ "u32"
425
+ ],
426
+ ["inputCyI"]
427
+ ]]
428
+ ],
429
+ [5, "0"]
430
+ ]
431
+ ]
432
+ ],
433
+ [
434
+ 2,
435
+ "sum",
436
+ "=",
437
+ [
438
+ 6,
439
+ [
440
+ 7,
441
+ "sum",
442
+ "add"
443
+ ],
444
+ [[
445
+ 6,
446
+ [
447
+ 7,
448
+ "texel",
449
+ "mul"
450
+ ],
451
+ [[
452
+ 8,
453
+ [
454
+ 7,
455
+ [
456
+ 7,
457
+ "hLayout",
458
+ "$"
459
+ ],
460
+ "weights"
461
+ ],
462
+ [
463
+ 1,
464
+ "off",
465
+ "+",
466
+ "HALF_KERNEL"
467
+ ]
468
+ ]]
469
+ ]]
470
+ ]
471
+ ]
472
+ ]]
473
+ ],
474
+ [
475
+ 6,
476
+ [
477
+ 7,
478
+ "std",
479
+ "textureStore"
480
+ ],
481
+ [
482
+ [
483
+ 7,
484
+ [
485
+ 7,
486
+ "hLayout",
487
+ "$"
488
+ ],
489
+ "intermediate"
490
+ ],
491
+ [
492
+ 6,
493
+ [
494
+ 7,
495
+ "d",
496
+ "vec2u"
497
+ ],
498
+ ["cx", "cy"]
499
+ ],
500
+ "sum"
501
+ ]
502
+ ]
503
+ ]],
504
+ "externalNames": [
505
+ "hLayout",
506
+ "d",
507
+ "computeWidth",
508
+ "computeHeight",
509
+ "std",
510
+ "HALF_KERNEL"
511
+ ]
512
+ },
513
+ externals: () => ({
514
+ hLayout,
515
+ d: data_exports,
516
+ computeWidth,
517
+ computeHeight,
518
+ std: std_exports,
519
+ HALF_KERNEL
520
+ })
521
+ }) && $.f)({})).$name("gaussianBlurH"),
522
+ kernelV: src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
523
+ "use gpu";
524
+ const av = vLayout.$.params.activeHalf;
525
+ const count = __tsover_add(__tsover_mul(av, 2), 1);
526
+ const cyi = i32(cy);
527
+ let sum = vec4f(0, 0, 0, 0);
528
+ for (let i = 0; i < count; i++) {
529
+ const off = __tsover_sub(i, av);
530
+ const sampleY = clamp(__tsover_add(cyi, off), 0, __tsover_sub(computeHeight, 1));
531
+ const texel = textureLoad(vLayout.$.src, vec2u(cx, u32(sampleY)));
532
+ sum = sum.add(texel.mul(vLayout.$.weights[__tsover_add(off, HALF_KERNEL)]));
533
+ }
534
+ textureStore(vLayout.$.output, vec2u(cx, cy), sum);
535
+ }), {
536
+ v: 1,
537
+ name: void 0,
538
+ ast: {
539
+ "params": [{
540
+ "type": "i",
541
+ "name": "cx"
542
+ }, {
543
+ "type": "i",
544
+ "name": "cy"
545
+ }],
546
+ "body": [0, [
547
+ [
548
+ 13,
549
+ "av",
550
+ [
551
+ 7,
552
+ [
553
+ 7,
554
+ [
555
+ 7,
556
+ "vLayout",
557
+ "$"
558
+ ],
559
+ "params"
560
+ ],
561
+ "activeHalf"
562
+ ]
563
+ ],
564
+ [
565
+ 13,
566
+ "count",
567
+ [
568
+ 1,
569
+ [
570
+ 1,
571
+ "av",
572
+ "*",
573
+ [5, "2"]
574
+ ],
575
+ "+",
576
+ [5, "1"]
577
+ ]
578
+ ],
579
+ [
580
+ 13,
581
+ "cyi",
582
+ [
583
+ 6,
584
+ [
585
+ 7,
586
+ "d",
587
+ "i32"
588
+ ],
589
+ ["cy"]
590
+ ]
591
+ ],
592
+ [
593
+ 12,
594
+ "sum",
595
+ [
596
+ 6,
597
+ [
598
+ 7,
599
+ "d",
600
+ "vec4f"
601
+ ],
602
+ [
603
+ [5, "0"],
604
+ [5, "0"],
605
+ [5, "0"],
606
+ [5, "0"]
607
+ ]
608
+ ]
609
+ ],
610
+ [
611
+ 14,
612
+ [
613
+ 12,
614
+ "i",
615
+ [5, "0"]
616
+ ],
617
+ [
618
+ 1,
619
+ "i",
620
+ "<",
621
+ "count"
622
+ ],
623
+ [
624
+ 102,
625
+ "++",
626
+ "i"
627
+ ],
628
+ [0, [
629
+ [
630
+ 13,
631
+ "off",
632
+ [
633
+ 1,
634
+ "i",
635
+ "-",
636
+ "av"
637
+ ]
638
+ ],
639
+ [
640
+ 13,
641
+ "sampleY",
642
+ [
643
+ 6,
644
+ [
645
+ 7,
646
+ "std",
647
+ "clamp"
648
+ ],
649
+ [
650
+ [
651
+ 1,
652
+ "cyi",
653
+ "+",
654
+ "off"
655
+ ],
656
+ [5, "0"],
657
+ [
658
+ 1,
659
+ "computeHeight",
660
+ "-",
661
+ [5, "1"]
662
+ ]
663
+ ]
664
+ ]
665
+ ],
666
+ [
667
+ 13,
668
+ "texel",
669
+ [
670
+ 6,
671
+ [
672
+ 7,
673
+ "std",
674
+ "textureLoad"
675
+ ],
676
+ [[
677
+ 7,
678
+ [
679
+ 7,
680
+ "vLayout",
681
+ "$"
682
+ ],
683
+ "src"
684
+ ], [
685
+ 6,
686
+ [
687
+ 7,
688
+ "d",
689
+ "vec2u"
690
+ ],
691
+ ["cx", [
692
+ 6,
693
+ [
694
+ 7,
695
+ "d",
696
+ "u32"
697
+ ],
698
+ ["sampleY"]
699
+ ]]
700
+ ]]
701
+ ]
702
+ ],
703
+ [
704
+ 2,
705
+ "sum",
706
+ "=",
707
+ [
708
+ 6,
709
+ [
710
+ 7,
711
+ "sum",
712
+ "add"
713
+ ],
714
+ [[
715
+ 6,
716
+ [
717
+ 7,
718
+ "texel",
719
+ "mul"
720
+ ],
721
+ [[
722
+ 8,
723
+ [
724
+ 7,
725
+ [
726
+ 7,
727
+ "vLayout",
728
+ "$"
729
+ ],
730
+ "weights"
731
+ ],
732
+ [
733
+ 1,
734
+ "off",
735
+ "+",
736
+ "HALF_KERNEL"
737
+ ]
738
+ ]]
739
+ ]]
740
+ ]
741
+ ]
742
+ ]]
743
+ ],
744
+ [
745
+ 6,
746
+ [
747
+ 7,
748
+ "std",
749
+ "textureStore"
750
+ ],
751
+ [
752
+ [
753
+ 7,
754
+ [
755
+ 7,
756
+ "vLayout",
757
+ "$"
758
+ ],
759
+ "output"
760
+ ],
761
+ [
762
+ 6,
763
+ [
764
+ 7,
765
+ "d",
766
+ "vec2u"
767
+ ],
768
+ ["cx", "cy"]
769
+ ],
770
+ "sum"
771
+ ]
772
+ ]
773
+ ]],
774
+ "externalNames": [
775
+ "vLayout",
776
+ "d",
777
+ "std",
778
+ "computeHeight",
779
+ "HALF_KERNEL"
780
+ ]
781
+ },
782
+ externals: () => ({
783
+ vLayout,
784
+ d: data_exports,
785
+ std: std_exports,
786
+ computeHeight,
787
+ HALF_KERNEL
788
+ })
789
+ }) && $.f)({})).$name("gaussianBlurV"),
790
+ HParams,
791
+ VParams,
792
+ KERNEL_SIZE
793
+ };
794
+ }
795
+ function createGaussianBlurCompute(root, inputTexture, inputWidth, inputHeight, onCleanup, halfKernel = DEFAULT_HALF_KERNEL, computeWidth = DEFAULT_COMPUTE_WIDTH, computeHeight = 640) {
796
+ const HALF_KERNEL = halfKernel;
797
+ const graph = buildFixedBlurGraph(halfKernel, computeWidth, computeHeight);
798
+ const { hLayout, vLayout, kernelH, kernelV, KERNEL_SIZE } = graph;
799
+ const intermediateTex = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
800
+ size: [computeWidth, computeHeight],
801
+ format: INTERMEDIATE_FORMAT
802
+ }).$usage("storage"), "intermediateTex");
803
+ const outputTex = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
804
+ size: [computeWidth, computeHeight],
805
+ format: OUTPUT_FORMAT
806
+ }).$usage("storage", "sampled"), "outputTex");
807
+ const weightsHBuf = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createBuffer(arrayOf(f32, KERNEL_SIZE)).$usage("storage"), "weightsHBuf");
808
+ const weightsVBuf = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createBuffer(arrayOf(f32, KERNEL_SIZE)).$usage("storage"), "weightsVBuf");
809
+ const paramsH = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createUniform(graph.HParams), "paramsH");
810
+ const paramsV = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createUniform(graph.VParams), "paramsV");
811
+ onCleanup(() => {
812
+ intermediateTex.destroy();
813
+ outputTex.destroy();
814
+ });
815
+ const vBindGroup = root.createBindGroup(vLayout, {
816
+ src: intermediateTex,
817
+ output: outputTex,
818
+ weights: weightsVBuf,
819
+ params: paramsV.buffer
820
+ });
821
+ const hPipeline = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
822
+ "use gpu";
823
+ kernelH(cx, cy);
824
+ }), {
825
+ v: 1,
826
+ name: void 0,
827
+ ast: {
828
+ "params": [{
829
+ "type": "i",
830
+ "name": "cx"
831
+ }, {
832
+ "type": "i",
833
+ "name": "cy"
834
+ }],
835
+ "body": [0, [[
836
+ 6,
837
+ "kernelH",
838
+ ["cx", "cy"]
839
+ ]]],
840
+ "externalNames": ["kernelH"]
841
+ },
842
+ externals: () => ({ kernelH })
843
+ }) && $.f)({}), { size: [computeWidth, computeHeight] });
844
+ const computeSteps = [hPipeline, createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
845
+ "use gpu";
846
+ kernelV(cx, cy);
847
+ }), {
848
+ v: 1,
849
+ name: void 0,
850
+ ast: {
851
+ "params": [{
852
+ "type": "i",
853
+ "name": "cx"
854
+ }, {
855
+ "type": "i",
856
+ "name": "cy"
857
+ }],
858
+ "body": [0, [[
859
+ 6,
860
+ "kernelV",
861
+ ["cx", "cy"]
862
+ ]]],
863
+ "externalNames": ["kernelV"]
864
+ },
865
+ externals: () => ({ kernelV })
866
+ }) && $.f)({}), {
867
+ size: [computeWidth, computeHeight],
868
+ bindGroup: vBindGroup
869
+ })];
870
+ function setInputTexture(input) {
871
+ const hBindGroup = root.createBindGroup(hLayout, {
872
+ input,
873
+ intermediate: intermediateTex,
874
+ weights: weightsHBuf,
875
+ params: paramsH.buffer
876
+ });
877
+ computeSteps[0] = hPipeline.with(hBindGroup);
878
+ }
879
+ if (inputTexture != null) setInputTexture(inputTexture);
880
+ let scaleY = inputHeight / computeHeight;
881
+ let curInputWidth = inputWidth;
882
+ let curInputHeight = inputHeight;
883
+ let lastRadius = -1;
884
+ function updateWeights() {
885
+ const pixelRadius = lastRadius < 0 ? 4 : lastRadius;
886
+ const sigmaH = Math.max(pixelRadius * .5, .001);
887
+ const sigmaV = Math.max(sigmaH / scaleY, .001);
888
+ const h = buildTruncatedWeights(HALF_KERNEL, sigmaH);
889
+ const v = buildTruncatedWeights(HALF_KERNEL, sigmaV);
890
+ weightsHBuf.write(h.weights);
891
+ weightsVBuf.write(v.weights);
892
+ paramsH.write({
893
+ activeHalf: h.activeHalf,
894
+ inputWidth: curInputWidth,
895
+ inputHeight: curInputHeight
896
+ });
897
+ paramsV.write({ activeHalf: v.activeHalf });
898
+ }
899
+ function updateRadius(pixelRadius) {
900
+ if (Math.abs(pixelRadius - lastRadius) < .01) return;
901
+ lastRadius = pixelRadius;
902
+ updateWeights();
903
+ }
904
+ updateRadius(4);
905
+ return {
906
+ computeSteps,
907
+ outputTexture: outputTex,
908
+ updateRadius,
909
+ computeWidth,
910
+ computeHeight,
911
+ setInputTexture,
912
+ setInputDimensions: (newW, newH) => {
913
+ curInputWidth = newW;
914
+ curInputHeight = newH;
915
+ paramsH.patch({
916
+ inputWidth: newW,
917
+ inputHeight: newH
918
+ });
919
+ const newScaleY = newH / computeHeight;
920
+ if (Math.abs(newScaleY - scaleY) > .001) {
921
+ scaleY = newScaleY;
922
+ updateWeights();
923
+ }
924
+ }
925
+ };
926
+ }
927
+ function variableHParams() {
928
+ return struct({
929
+ inputWidth: f32,
930
+ inputHeight: f32
931
+ });
932
+ }
933
+ function variableVParams() {
934
+ return struct({ scaleY: f32 });
935
+ }
936
+ function buildVariableBlurGraph(halfKernel, computeWidth, computeHeight, jitterTaps) {
937
+ const KERNEL_SIZE = halfKernel * 2 + 1;
938
+ const HALF_KERNEL = halfKernel;
939
+ const invHalf = 1 / HALF_KERNEL;
940
+ const HParams = variableHParams();
941
+ const VParams = variableVParams();
942
+ const hLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(src_default.bindGroupLayout({
943
+ blurMap: { storageTexture: textureStorage2d(BLUR_MAP_FORMAT, "read-only") },
944
+ input: { texture: texture2d(f32) },
945
+ intermediate: { storageTexture: textureStorage2d(INTERMEDIATE_FORMAT, "write-only") },
946
+ weights: {
947
+ storage: arrayOf(f32, KERNEL_SIZE),
948
+ access: "readonly"
949
+ },
950
+ params: { uniform: HParams }
951
+ }), "hLayout");
952
+ const vLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(src_default.bindGroupLayout({
953
+ blurMap: { storageTexture: textureStorage2d(BLUR_MAP_FORMAT, "read-only") },
954
+ src: { storageTexture: textureStorage2d(INTERMEDIATE_FORMAT, "read-only") },
955
+ output: { storageTexture: textureStorage2d(OUTPUT_FORMAT, "write-only") },
956
+ weights: {
957
+ storage: arrayOf(f32, KERNEL_SIZE),
958
+ access: "readonly"
959
+ },
960
+ params: { uniform: VParams }
961
+ }), "vLayout");
962
+ return {
963
+ hLayout,
964
+ vLayout,
965
+ kernelH: src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
966
+ "use gpu";
967
+ const p = hLayout.$.params;
968
+ const blurRadius = textureLoad(hLayout.$.blurMap, vec2u(cx, cy)).r;
969
+ const inputCx = __tsover_sub(__tsover_div(__tsover_mul(__tsover_add(f32(cx), .5), p.inputWidth), computeWidth), .5);
970
+ const inputCy = __tsover_sub(__tsover_div(__tsover_mul(__tsover_add(f32(cy), .5), p.inputHeight), computeHeight), .5);
971
+ const inputWm1 = i32(__tsover_sub(p.inputWidth, 1));
972
+ const inputHm1 = i32(__tsover_sub(p.inputHeight, 1));
973
+ const inputCyI = clamp(i32(round(inputCy)), 0, inputHm1);
974
+ if (blurRadius < PASSTHROUGH_THRESHOLD) {
975
+ const cxClamp = clamp(i32(round(inputCx)), 0, inputWm1);
976
+ const texel = textureLoad(hLayout.$.input, vec2u(u32(cxClamp), u32(inputCyI)), 0);
977
+ textureStore(hLayout.$.intermediate, vec2u(cx, cy), texel);
978
+ } else {
979
+ const jitterH = jitterTaps ? __tsover_sub(fract(__tsover_mul(52.9829189, fract(__tsover_add(__tsover_mul(f32(cx), .06711056), __tsover_mul(f32(cy), .00583715))))), .5) : f32(0);
980
+ let sum = vec4f(0, 0, 0, 0);
981
+ for (let i = -HALF_KERNEL; i <= HALF_KERNEL; i++) {
982
+ const offset = __tsover_mul(__tsover_mul(__tsover_add(f32(i), jitterH), invHalf), blurRadius);
983
+ const sampleX = clamp(i32(round(__tsover_add(inputCx, offset))), 0, inputWm1);
984
+ const texel = textureLoad(hLayout.$.input, vec2u(u32(sampleX), u32(inputCyI)), 0);
985
+ sum = sum.add(texel.mul(hLayout.$.weights[__tsover_add(i, HALF_KERNEL)]));
986
+ }
987
+ textureStore(hLayout.$.intermediate, vec2u(cx, cy), sum);
988
+ }
989
+ }), {
990
+ v: 1,
991
+ name: void 0,
992
+ ast: {
993
+ "params": [{
994
+ "type": "i",
995
+ "name": "cx"
996
+ }, {
997
+ "type": "i",
998
+ "name": "cy"
999
+ }],
1000
+ "body": [0, [
1001
+ [
1002
+ 13,
1003
+ "p",
1004
+ [
1005
+ 7,
1006
+ [
1007
+ 7,
1008
+ "hLayout",
1009
+ "$"
1010
+ ],
1011
+ "params"
1012
+ ]
1013
+ ],
1014
+ [
1015
+ 13,
1016
+ "blurRadius",
1017
+ [
1018
+ 7,
1019
+ [
1020
+ 6,
1021
+ [
1022
+ 7,
1023
+ "std",
1024
+ "textureLoad"
1025
+ ],
1026
+ [[
1027
+ 7,
1028
+ [
1029
+ 7,
1030
+ "hLayout",
1031
+ "$"
1032
+ ],
1033
+ "blurMap"
1034
+ ], [
1035
+ 6,
1036
+ [
1037
+ 7,
1038
+ "d",
1039
+ "vec2u"
1040
+ ],
1041
+ ["cx", "cy"]
1042
+ ]]
1043
+ ],
1044
+ "r"
1045
+ ]
1046
+ ],
1047
+ [
1048
+ 13,
1049
+ "inputCx",
1050
+ [
1051
+ 1,
1052
+ [
1053
+ 1,
1054
+ [
1055
+ 1,
1056
+ [
1057
+ 1,
1058
+ [
1059
+ 6,
1060
+ [
1061
+ 7,
1062
+ "d",
1063
+ "f32"
1064
+ ],
1065
+ ["cx"]
1066
+ ],
1067
+ "+",
1068
+ [5, "0.5"]
1069
+ ],
1070
+ "*",
1071
+ [
1072
+ 7,
1073
+ "p",
1074
+ "inputWidth"
1075
+ ]
1076
+ ],
1077
+ "/",
1078
+ "computeWidth"
1079
+ ],
1080
+ "-",
1081
+ [5, "0.5"]
1082
+ ]
1083
+ ],
1084
+ [
1085
+ 13,
1086
+ "inputCy",
1087
+ [
1088
+ 1,
1089
+ [
1090
+ 1,
1091
+ [
1092
+ 1,
1093
+ [
1094
+ 1,
1095
+ [
1096
+ 6,
1097
+ [
1098
+ 7,
1099
+ "d",
1100
+ "f32"
1101
+ ],
1102
+ ["cy"]
1103
+ ],
1104
+ "+",
1105
+ [5, "0.5"]
1106
+ ],
1107
+ "*",
1108
+ [
1109
+ 7,
1110
+ "p",
1111
+ "inputHeight"
1112
+ ]
1113
+ ],
1114
+ "/",
1115
+ "computeHeight"
1116
+ ],
1117
+ "-",
1118
+ [5, "0.5"]
1119
+ ]
1120
+ ],
1121
+ [
1122
+ 13,
1123
+ "inputWm1",
1124
+ [
1125
+ 6,
1126
+ [
1127
+ 7,
1128
+ "d",
1129
+ "i32"
1130
+ ],
1131
+ [[
1132
+ 1,
1133
+ [
1134
+ 7,
1135
+ "p",
1136
+ "inputWidth"
1137
+ ],
1138
+ "-",
1139
+ [5, "1"]
1140
+ ]]
1141
+ ]
1142
+ ],
1143
+ [
1144
+ 13,
1145
+ "inputHm1",
1146
+ [
1147
+ 6,
1148
+ [
1149
+ 7,
1150
+ "d",
1151
+ "i32"
1152
+ ],
1153
+ [[
1154
+ 1,
1155
+ [
1156
+ 7,
1157
+ "p",
1158
+ "inputHeight"
1159
+ ],
1160
+ "-",
1161
+ [5, "1"]
1162
+ ]]
1163
+ ]
1164
+ ],
1165
+ [
1166
+ 13,
1167
+ "inputCyI",
1168
+ [
1169
+ 6,
1170
+ [
1171
+ 7,
1172
+ "std",
1173
+ "clamp"
1174
+ ],
1175
+ [
1176
+ [
1177
+ 6,
1178
+ [
1179
+ 7,
1180
+ "d",
1181
+ "i32"
1182
+ ],
1183
+ [[
1184
+ 6,
1185
+ [
1186
+ 7,
1187
+ "std",
1188
+ "round"
1189
+ ],
1190
+ ["inputCy"]
1191
+ ]]
1192
+ ],
1193
+ [5, "0"],
1194
+ "inputHm1"
1195
+ ]
1196
+ ]
1197
+ ],
1198
+ [
1199
+ 11,
1200
+ [
1201
+ 1,
1202
+ "blurRadius",
1203
+ "<",
1204
+ "PASSTHROUGH_THRESHOLD"
1205
+ ],
1206
+ [0, [
1207
+ [
1208
+ 13,
1209
+ "cxClamp",
1210
+ [
1211
+ 6,
1212
+ [
1213
+ 7,
1214
+ "std",
1215
+ "clamp"
1216
+ ],
1217
+ [
1218
+ [
1219
+ 6,
1220
+ [
1221
+ 7,
1222
+ "d",
1223
+ "i32"
1224
+ ],
1225
+ [[
1226
+ 6,
1227
+ [
1228
+ 7,
1229
+ "std",
1230
+ "round"
1231
+ ],
1232
+ ["inputCx"]
1233
+ ]]
1234
+ ],
1235
+ [5, "0"],
1236
+ "inputWm1"
1237
+ ]
1238
+ ]
1239
+ ],
1240
+ [
1241
+ 13,
1242
+ "texel",
1243
+ [
1244
+ 6,
1245
+ [
1246
+ 7,
1247
+ "std",
1248
+ "textureLoad"
1249
+ ],
1250
+ [
1251
+ [
1252
+ 7,
1253
+ [
1254
+ 7,
1255
+ "hLayout",
1256
+ "$"
1257
+ ],
1258
+ "input"
1259
+ ],
1260
+ [
1261
+ 6,
1262
+ [
1263
+ 7,
1264
+ "d",
1265
+ "vec2u"
1266
+ ],
1267
+ [[
1268
+ 6,
1269
+ [
1270
+ 7,
1271
+ "d",
1272
+ "u32"
1273
+ ],
1274
+ ["cxClamp"]
1275
+ ], [
1276
+ 6,
1277
+ [
1278
+ 7,
1279
+ "d",
1280
+ "u32"
1281
+ ],
1282
+ ["inputCyI"]
1283
+ ]]
1284
+ ],
1285
+ [5, "0"]
1286
+ ]
1287
+ ]
1288
+ ],
1289
+ [
1290
+ 6,
1291
+ [
1292
+ 7,
1293
+ "std",
1294
+ "textureStore"
1295
+ ],
1296
+ [
1297
+ [
1298
+ 7,
1299
+ [
1300
+ 7,
1301
+ "hLayout",
1302
+ "$"
1303
+ ],
1304
+ "intermediate"
1305
+ ],
1306
+ [
1307
+ 6,
1308
+ [
1309
+ 7,
1310
+ "d",
1311
+ "vec2u"
1312
+ ],
1313
+ ["cx", "cy"]
1314
+ ],
1315
+ "texel"
1316
+ ]
1317
+ ]
1318
+ ]],
1319
+ [0, [
1320
+ [
1321
+ 13,
1322
+ "jitterH",
1323
+ [
1324
+ 105,
1325
+ "jitterTaps",
1326
+ [
1327
+ 1,
1328
+ [
1329
+ 6,
1330
+ [
1331
+ 7,
1332
+ "std",
1333
+ "fract"
1334
+ ],
1335
+ [[
1336
+ 1,
1337
+ [5, "52.9829189"],
1338
+ "*",
1339
+ [
1340
+ 6,
1341
+ [
1342
+ 7,
1343
+ "std",
1344
+ "fract"
1345
+ ],
1346
+ [[
1347
+ 1,
1348
+ [
1349
+ 1,
1350
+ [
1351
+ 6,
1352
+ [
1353
+ 7,
1354
+ "d",
1355
+ "f32"
1356
+ ],
1357
+ ["cx"]
1358
+ ],
1359
+ "*",
1360
+ [5, "0.06711056"]
1361
+ ],
1362
+ "+",
1363
+ [
1364
+ 1,
1365
+ [
1366
+ 6,
1367
+ [
1368
+ 7,
1369
+ "d",
1370
+ "f32"
1371
+ ],
1372
+ ["cy"]
1373
+ ],
1374
+ "*",
1375
+ [5, "0.00583715"]
1376
+ ]
1377
+ ]]
1378
+ ]
1379
+ ]]
1380
+ ],
1381
+ "-",
1382
+ [5, "0.5"]
1383
+ ],
1384
+ [
1385
+ 6,
1386
+ [
1387
+ 7,
1388
+ "d",
1389
+ "f32"
1390
+ ],
1391
+ [[5, "0"]]
1392
+ ]
1393
+ ]
1394
+ ],
1395
+ [
1396
+ 12,
1397
+ "sum",
1398
+ [
1399
+ 6,
1400
+ [
1401
+ 7,
1402
+ "d",
1403
+ "vec4f"
1404
+ ],
1405
+ [
1406
+ [5, "0"],
1407
+ [5, "0"],
1408
+ [5, "0"],
1409
+ [5, "0"]
1410
+ ]
1411
+ ]
1412
+ ],
1413
+ [
1414
+ 14,
1415
+ [
1416
+ 12,
1417
+ "i",
1418
+ [
1419
+ 4,
1420
+ "-",
1421
+ "HALF_KERNEL"
1422
+ ]
1423
+ ],
1424
+ [
1425
+ 1,
1426
+ "i",
1427
+ "<=",
1428
+ "HALF_KERNEL"
1429
+ ],
1430
+ [
1431
+ 102,
1432
+ "++",
1433
+ "i"
1434
+ ],
1435
+ [0, [
1436
+ [
1437
+ 13,
1438
+ "offset",
1439
+ [
1440
+ 1,
1441
+ [
1442
+ 1,
1443
+ [
1444
+ 1,
1445
+ [
1446
+ 6,
1447
+ [
1448
+ 7,
1449
+ "d",
1450
+ "f32"
1451
+ ],
1452
+ ["i"]
1453
+ ],
1454
+ "+",
1455
+ "jitterH"
1456
+ ],
1457
+ "*",
1458
+ "invHalf"
1459
+ ],
1460
+ "*",
1461
+ "blurRadius"
1462
+ ]
1463
+ ],
1464
+ [
1465
+ 13,
1466
+ "sampleX",
1467
+ [
1468
+ 6,
1469
+ [
1470
+ 7,
1471
+ "std",
1472
+ "clamp"
1473
+ ],
1474
+ [
1475
+ [
1476
+ 6,
1477
+ [
1478
+ 7,
1479
+ "d",
1480
+ "i32"
1481
+ ],
1482
+ [[
1483
+ 6,
1484
+ [
1485
+ 7,
1486
+ "std",
1487
+ "round"
1488
+ ],
1489
+ [[
1490
+ 1,
1491
+ "inputCx",
1492
+ "+",
1493
+ "offset"
1494
+ ]]
1495
+ ]]
1496
+ ],
1497
+ [5, "0"],
1498
+ "inputWm1"
1499
+ ]
1500
+ ]
1501
+ ],
1502
+ [
1503
+ 13,
1504
+ "texel",
1505
+ [
1506
+ 6,
1507
+ [
1508
+ 7,
1509
+ "std",
1510
+ "textureLoad"
1511
+ ],
1512
+ [
1513
+ [
1514
+ 7,
1515
+ [
1516
+ 7,
1517
+ "hLayout",
1518
+ "$"
1519
+ ],
1520
+ "input"
1521
+ ],
1522
+ [
1523
+ 6,
1524
+ [
1525
+ 7,
1526
+ "d",
1527
+ "vec2u"
1528
+ ],
1529
+ [[
1530
+ 6,
1531
+ [
1532
+ 7,
1533
+ "d",
1534
+ "u32"
1535
+ ],
1536
+ ["sampleX"]
1537
+ ], [
1538
+ 6,
1539
+ [
1540
+ 7,
1541
+ "d",
1542
+ "u32"
1543
+ ],
1544
+ ["inputCyI"]
1545
+ ]]
1546
+ ],
1547
+ [5, "0"]
1548
+ ]
1549
+ ]
1550
+ ],
1551
+ [
1552
+ 2,
1553
+ "sum",
1554
+ "=",
1555
+ [
1556
+ 6,
1557
+ [
1558
+ 7,
1559
+ "sum",
1560
+ "add"
1561
+ ],
1562
+ [[
1563
+ 6,
1564
+ [
1565
+ 7,
1566
+ "texel",
1567
+ "mul"
1568
+ ],
1569
+ [[
1570
+ 8,
1571
+ [
1572
+ 7,
1573
+ [
1574
+ 7,
1575
+ "hLayout",
1576
+ "$"
1577
+ ],
1578
+ "weights"
1579
+ ],
1580
+ [
1581
+ 1,
1582
+ "i",
1583
+ "+",
1584
+ "HALF_KERNEL"
1585
+ ]
1586
+ ]]
1587
+ ]]
1588
+ ]
1589
+ ]
1590
+ ]]
1591
+ ],
1592
+ [
1593
+ 6,
1594
+ [
1595
+ 7,
1596
+ "std",
1597
+ "textureStore"
1598
+ ],
1599
+ [
1600
+ [
1601
+ 7,
1602
+ [
1603
+ 7,
1604
+ "hLayout",
1605
+ "$"
1606
+ ],
1607
+ "intermediate"
1608
+ ],
1609
+ [
1610
+ 6,
1611
+ [
1612
+ 7,
1613
+ "d",
1614
+ "vec2u"
1615
+ ],
1616
+ ["cx", "cy"]
1617
+ ],
1618
+ "sum"
1619
+ ]
1620
+ ]
1621
+ ]]
1622
+ ]
1623
+ ]],
1624
+ "externalNames": [
1625
+ "hLayout",
1626
+ "std",
1627
+ "d",
1628
+ "computeWidth",
1629
+ "computeHeight",
1630
+ "PASSTHROUGH_THRESHOLD",
1631
+ "jitterTaps",
1632
+ "HALF_KERNEL",
1633
+ "invHalf"
1634
+ ]
1635
+ },
1636
+ externals: () => ({
1637
+ hLayout,
1638
+ std: std_exports,
1639
+ d: data_exports,
1640
+ computeWidth,
1641
+ computeHeight,
1642
+ PASSTHROUGH_THRESHOLD,
1643
+ jitterTaps,
1644
+ HALF_KERNEL,
1645
+ invHalf
1646
+ })
1647
+ }) && $.f)({})).$name("variableBlurH"),
1648
+ kernelV: src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
1649
+ "use gpu";
1650
+ const blurRadius = textureLoad(vLayout.$.blurMap, vec2u(cx, cy)).r;
1651
+ if (blurRadius < PASSTHROUGH_THRESHOLD) {
1652
+ const texel = textureLoad(vLayout.$.src, vec2u(cx, cy));
1653
+ textureStore(vLayout.$.output, vec2u(cx, cy), texel);
1654
+ } else {
1655
+ const yi = i32(cy);
1656
+ const radiusComputeY = __tsover_div(blurRadius, vLayout.$.params.scaleY);
1657
+ const jitterV = jitterTaps ? __tsover_sub(fract(__tsover_mul(52.9829189, fract(__tsover_add(__tsover_mul(f32(cx), .00583715), __tsover_mul(f32(cy), .06711056))))), .5) : f32(0);
1658
+ let sum = vec4f(0, 0, 0, 0);
1659
+ for (let i = -HALF_KERNEL; i <= HALF_KERNEL; i++) {
1660
+ const offset = __tsover_mul(__tsover_mul(__tsover_add(f32(i), jitterV), invHalf), radiusComputeY);
1661
+ const sampleY = clamp(__tsover_add(yi, i32(round(offset))), 0, __tsover_sub(computeHeight, 1));
1662
+ const texel = textureLoad(vLayout.$.src, vec2u(cx, u32(sampleY)));
1663
+ sum = sum.add(texel.mul(vLayout.$.weights[__tsover_add(i, HALF_KERNEL)]));
1664
+ }
1665
+ textureStore(vLayout.$.output, vec2u(cx, cy), sum);
1666
+ }
1667
+ }), {
1668
+ v: 1,
1669
+ name: void 0,
1670
+ ast: {
1671
+ "params": [{
1672
+ "type": "i",
1673
+ "name": "cx"
1674
+ }, {
1675
+ "type": "i",
1676
+ "name": "cy"
1677
+ }],
1678
+ "body": [0, [[
1679
+ 13,
1680
+ "blurRadius",
1681
+ [
1682
+ 7,
1683
+ [
1684
+ 6,
1685
+ [
1686
+ 7,
1687
+ "std",
1688
+ "textureLoad"
1689
+ ],
1690
+ [[
1691
+ 7,
1692
+ [
1693
+ 7,
1694
+ "vLayout",
1695
+ "$"
1696
+ ],
1697
+ "blurMap"
1698
+ ], [
1699
+ 6,
1700
+ [
1701
+ 7,
1702
+ "d",
1703
+ "vec2u"
1704
+ ],
1705
+ ["cx", "cy"]
1706
+ ]]
1707
+ ],
1708
+ "r"
1709
+ ]
1710
+ ], [
1711
+ 11,
1712
+ [
1713
+ 1,
1714
+ "blurRadius",
1715
+ "<",
1716
+ "PASSTHROUGH_THRESHOLD"
1717
+ ],
1718
+ [0, [[
1719
+ 13,
1720
+ "texel",
1721
+ [
1722
+ 6,
1723
+ [
1724
+ 7,
1725
+ "std",
1726
+ "textureLoad"
1727
+ ],
1728
+ [[
1729
+ 7,
1730
+ [
1731
+ 7,
1732
+ "vLayout",
1733
+ "$"
1734
+ ],
1735
+ "src"
1736
+ ], [
1737
+ 6,
1738
+ [
1739
+ 7,
1740
+ "d",
1741
+ "vec2u"
1742
+ ],
1743
+ ["cx", "cy"]
1744
+ ]]
1745
+ ]
1746
+ ], [
1747
+ 6,
1748
+ [
1749
+ 7,
1750
+ "std",
1751
+ "textureStore"
1752
+ ],
1753
+ [
1754
+ [
1755
+ 7,
1756
+ [
1757
+ 7,
1758
+ "vLayout",
1759
+ "$"
1760
+ ],
1761
+ "output"
1762
+ ],
1763
+ [
1764
+ 6,
1765
+ [
1766
+ 7,
1767
+ "d",
1768
+ "vec2u"
1769
+ ],
1770
+ ["cx", "cy"]
1771
+ ],
1772
+ "texel"
1773
+ ]
1774
+ ]]],
1775
+ [0, [
1776
+ [
1777
+ 13,
1778
+ "yi",
1779
+ [
1780
+ 6,
1781
+ [
1782
+ 7,
1783
+ "d",
1784
+ "i32"
1785
+ ],
1786
+ ["cy"]
1787
+ ]
1788
+ ],
1789
+ [
1790
+ 13,
1791
+ "radiusComputeY",
1792
+ [
1793
+ 1,
1794
+ "blurRadius",
1795
+ "/",
1796
+ [
1797
+ 7,
1798
+ [
1799
+ 7,
1800
+ [
1801
+ 7,
1802
+ "vLayout",
1803
+ "$"
1804
+ ],
1805
+ "params"
1806
+ ],
1807
+ "scaleY"
1808
+ ]
1809
+ ]
1810
+ ],
1811
+ [
1812
+ 13,
1813
+ "jitterV",
1814
+ [
1815
+ 105,
1816
+ "jitterTaps",
1817
+ [
1818
+ 1,
1819
+ [
1820
+ 6,
1821
+ [
1822
+ 7,
1823
+ "std",
1824
+ "fract"
1825
+ ],
1826
+ [[
1827
+ 1,
1828
+ [5, "52.9829189"],
1829
+ "*",
1830
+ [
1831
+ 6,
1832
+ [
1833
+ 7,
1834
+ "std",
1835
+ "fract"
1836
+ ],
1837
+ [[
1838
+ 1,
1839
+ [
1840
+ 1,
1841
+ [
1842
+ 6,
1843
+ [
1844
+ 7,
1845
+ "d",
1846
+ "f32"
1847
+ ],
1848
+ ["cx"]
1849
+ ],
1850
+ "*",
1851
+ [5, "0.00583715"]
1852
+ ],
1853
+ "+",
1854
+ [
1855
+ 1,
1856
+ [
1857
+ 6,
1858
+ [
1859
+ 7,
1860
+ "d",
1861
+ "f32"
1862
+ ],
1863
+ ["cy"]
1864
+ ],
1865
+ "*",
1866
+ [5, "0.06711056"]
1867
+ ]
1868
+ ]]
1869
+ ]
1870
+ ]]
1871
+ ],
1872
+ "-",
1873
+ [5, "0.5"]
1874
+ ],
1875
+ [
1876
+ 6,
1877
+ [
1878
+ 7,
1879
+ "d",
1880
+ "f32"
1881
+ ],
1882
+ [[5, "0"]]
1883
+ ]
1884
+ ]
1885
+ ],
1886
+ [
1887
+ 12,
1888
+ "sum",
1889
+ [
1890
+ 6,
1891
+ [
1892
+ 7,
1893
+ "d",
1894
+ "vec4f"
1895
+ ],
1896
+ [
1897
+ [5, "0"],
1898
+ [5, "0"],
1899
+ [5, "0"],
1900
+ [5, "0"]
1901
+ ]
1902
+ ]
1903
+ ],
1904
+ [
1905
+ 14,
1906
+ [
1907
+ 12,
1908
+ "i",
1909
+ [
1910
+ 4,
1911
+ "-",
1912
+ "HALF_KERNEL"
1913
+ ]
1914
+ ],
1915
+ [
1916
+ 1,
1917
+ "i",
1918
+ "<=",
1919
+ "HALF_KERNEL"
1920
+ ],
1921
+ [
1922
+ 102,
1923
+ "++",
1924
+ "i"
1925
+ ],
1926
+ [0, [
1927
+ [
1928
+ 13,
1929
+ "offset",
1930
+ [
1931
+ 1,
1932
+ [
1933
+ 1,
1934
+ [
1935
+ 1,
1936
+ [
1937
+ 6,
1938
+ [
1939
+ 7,
1940
+ "d",
1941
+ "f32"
1942
+ ],
1943
+ ["i"]
1944
+ ],
1945
+ "+",
1946
+ "jitterV"
1947
+ ],
1948
+ "*",
1949
+ "invHalf"
1950
+ ],
1951
+ "*",
1952
+ "radiusComputeY"
1953
+ ]
1954
+ ],
1955
+ [
1956
+ 13,
1957
+ "sampleY",
1958
+ [
1959
+ 6,
1960
+ [
1961
+ 7,
1962
+ "std",
1963
+ "clamp"
1964
+ ],
1965
+ [
1966
+ [
1967
+ 1,
1968
+ "yi",
1969
+ "+",
1970
+ [
1971
+ 6,
1972
+ [
1973
+ 7,
1974
+ "d",
1975
+ "i32"
1976
+ ],
1977
+ [[
1978
+ 6,
1979
+ [
1980
+ 7,
1981
+ "std",
1982
+ "round"
1983
+ ],
1984
+ ["offset"]
1985
+ ]]
1986
+ ]
1987
+ ],
1988
+ [5, "0"],
1989
+ [
1990
+ 1,
1991
+ "computeHeight",
1992
+ "-",
1993
+ [5, "1"]
1994
+ ]
1995
+ ]
1996
+ ]
1997
+ ],
1998
+ [
1999
+ 13,
2000
+ "texel",
2001
+ [
2002
+ 6,
2003
+ [
2004
+ 7,
2005
+ "std",
2006
+ "textureLoad"
2007
+ ],
2008
+ [[
2009
+ 7,
2010
+ [
2011
+ 7,
2012
+ "vLayout",
2013
+ "$"
2014
+ ],
2015
+ "src"
2016
+ ], [
2017
+ 6,
2018
+ [
2019
+ 7,
2020
+ "d",
2021
+ "vec2u"
2022
+ ],
2023
+ ["cx", [
2024
+ 6,
2025
+ [
2026
+ 7,
2027
+ "d",
2028
+ "u32"
2029
+ ],
2030
+ ["sampleY"]
2031
+ ]]
2032
+ ]]
2033
+ ]
2034
+ ],
2035
+ [
2036
+ 2,
2037
+ "sum",
2038
+ "=",
2039
+ [
2040
+ 6,
2041
+ [
2042
+ 7,
2043
+ "sum",
2044
+ "add"
2045
+ ],
2046
+ [[
2047
+ 6,
2048
+ [
2049
+ 7,
2050
+ "texel",
2051
+ "mul"
2052
+ ],
2053
+ [[
2054
+ 8,
2055
+ [
2056
+ 7,
2057
+ [
2058
+ 7,
2059
+ "vLayout",
2060
+ "$"
2061
+ ],
2062
+ "weights"
2063
+ ],
2064
+ [
2065
+ 1,
2066
+ "i",
2067
+ "+",
2068
+ "HALF_KERNEL"
2069
+ ]
2070
+ ]]
2071
+ ]]
2072
+ ]
2073
+ ]
2074
+ ]]
2075
+ ],
2076
+ [
2077
+ 6,
2078
+ [
2079
+ 7,
2080
+ "std",
2081
+ "textureStore"
2082
+ ],
2083
+ [
2084
+ [
2085
+ 7,
2086
+ [
2087
+ 7,
2088
+ "vLayout",
2089
+ "$"
2090
+ ],
2091
+ "output"
2092
+ ],
2093
+ [
2094
+ 6,
2095
+ [
2096
+ 7,
2097
+ "d",
2098
+ "vec2u"
2099
+ ],
2100
+ ["cx", "cy"]
2101
+ ],
2102
+ "sum"
2103
+ ]
2104
+ ]
2105
+ ]]
2106
+ ]]],
2107
+ "externalNames": [
2108
+ "std",
2109
+ "vLayout",
2110
+ "d",
2111
+ "PASSTHROUGH_THRESHOLD",
2112
+ "jitterTaps",
2113
+ "HALF_KERNEL",
2114
+ "invHalf",
2115
+ "computeHeight"
2116
+ ]
2117
+ },
2118
+ externals: () => ({
2119
+ std: std_exports,
2120
+ vLayout,
2121
+ d: data_exports,
2122
+ PASSTHROUGH_THRESHOLD,
2123
+ jitterTaps,
2124
+ HALF_KERNEL,
2125
+ invHalf,
2126
+ computeHeight
2127
+ })
2128
+ }) && $.f)({})).$name("variableBlurV"),
2129
+ HParams,
2130
+ VParams,
2131
+ KERNEL_SIZE
2132
+ };
2133
+ }
2134
+ function createVariableGaussianBlurCompute(root, inputTexture, inputWidth, inputHeight, onCleanup, halfKernel = DEFAULT_HALF_KERNEL, computeWidth = DEFAULT_COMPUTE_WIDTH, computeHeight = 640, options) {
2135
+ const HALF_KERNEL = halfKernel;
2136
+ const graph = buildVariableBlurGraph(halfKernel, computeWidth, computeHeight, options?.jitterTaps === true);
2137
+ const { hLayout, vLayout, kernelH, kernelV, KERNEL_SIZE } = graph;
2138
+ const blurMapTex = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
2139
+ size: [computeWidth, computeHeight],
2140
+ format: BLUR_MAP_FORMAT
2141
+ }).$usage("storage"), "blurMapTex");
2142
+ const intermediateTex = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
2143
+ size: [computeWidth, computeHeight],
2144
+ format: INTERMEDIATE_FORMAT
2145
+ }).$usage("storage"), "intermediateTex");
2146
+ const outputTex = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
2147
+ size: [computeWidth, computeHeight],
2148
+ format: OUTPUT_FORMAT
2149
+ }).$usage("storage", "sampled"), "outputTex");
2150
+ const weightsBuf = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createBuffer(arrayOf(f32, KERNEL_SIZE)).$usage("storage"), "weightsBuf");
2151
+ weightsBuf.write(buildFixedWeights(HALF_KERNEL));
2152
+ const paramsH = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createUniform(graph.HParams), "paramsH");
2153
+ const paramsV = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createUniform(graph.VParams), "paramsV");
2154
+ paramsH.write({
2155
+ inputWidth,
2156
+ inputHeight
2157
+ });
2158
+ paramsV.write({ scaleY: inputHeight / computeHeight });
2159
+ onCleanup(() => {
2160
+ blurMapTex.destroy();
2161
+ intermediateTex.destroy();
2162
+ outputTex.destroy();
2163
+ });
2164
+ const vBindGroup = root.createBindGroup(vLayout, {
2165
+ blurMap: blurMapTex,
2166
+ src: intermediateTex,
2167
+ output: outputTex,
2168
+ weights: weightsBuf,
2169
+ params: paramsV.buffer
2170
+ });
2171
+ const hPipeline = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
2172
+ "use gpu";
2173
+ kernelH(cx, cy);
2174
+ }), {
2175
+ v: 1,
2176
+ name: void 0,
2177
+ ast: {
2178
+ "params": [{
2179
+ "type": "i",
2180
+ "name": "cx"
2181
+ }, {
2182
+ "type": "i",
2183
+ "name": "cy"
2184
+ }],
2185
+ "body": [0, [[
2186
+ 6,
2187
+ "kernelH",
2188
+ ["cx", "cy"]
2189
+ ]]],
2190
+ "externalNames": ["kernelH"]
2191
+ },
2192
+ externals: () => ({ kernelH })
2193
+ }) && $.f)({}), { size: [computeWidth, computeHeight] });
2194
+ const computeSteps = [hPipeline, createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
2195
+ "use gpu";
2196
+ kernelV(cx, cy);
2197
+ }), {
2198
+ v: 1,
2199
+ name: void 0,
2200
+ ast: {
2201
+ "params": [{
2202
+ "type": "i",
2203
+ "name": "cx"
2204
+ }, {
2205
+ "type": "i",
2206
+ "name": "cy"
2207
+ }],
2208
+ "body": [0, [[
2209
+ 6,
2210
+ "kernelV",
2211
+ ["cx", "cy"]
2212
+ ]]],
2213
+ "externalNames": ["kernelV"]
2214
+ },
2215
+ externals: () => ({ kernelV })
2216
+ }) && $.f)({}), {
2217
+ size: [computeWidth, computeHeight],
2218
+ bindGroup: vBindGroup
2219
+ })];
2220
+ function setInputTexture(input) {
2221
+ const hBindGroup = root.createBindGroup(hLayout, {
2222
+ blurMap: blurMapTex,
2223
+ input,
2224
+ intermediate: intermediateTex,
2225
+ weights: weightsBuf,
2226
+ params: paramsH.buffer
2227
+ });
2228
+ computeSteps[0] = hPipeline.with(hBindGroup);
2229
+ }
2230
+ if (inputTexture != null) setInputTexture(inputTexture);
2231
+ return {
2232
+ computeSteps,
2233
+ outputTexture: outputTex,
2234
+ blurMapTexture: blurMapTex,
2235
+ computeWidth,
2236
+ computeHeight,
2237
+ setInputTexture,
2238
+ setInputDimensions: (newW, newH) => {
2239
+ paramsH.patch({
2240
+ inputWidth: newW,
2241
+ inputHeight: newH
2242
+ });
2243
+ paramsV.patch({ scaleY: newH / computeHeight });
2244
+ }
2245
+ };
2246
+ }
2247
+ export { createVariableGaussianBlurCompute as a, createGaussianBlurCompute as i, DEFAULT_COMPUTE_HEIGHT as n, DEFAULT_COMPUTE_WIDTH as r, BLUR_MAP_FORMAT as t };