shaders 3.0.449 → 3.0.451

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 (477) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/core/{AngularBlur-DU1WmNHt.js → AngularBlur-4jt7bNoF.js} +1 -1
  3. package/dist/core/{Arc-C8QmYsiZ.js → Arc-DXIfbBgd.js} +2 -2
  4. package/dist/core/{Ascii-BaQ6MZTc.js → Ascii-GDof03Ca.js} +1 -1
  5. package/dist/core/{Aurora-B6lOg6M4.js → Aurora-CS4vewUW.js} +3 -3
  6. package/dist/core/{BarShift-CFK-CzF9.js → BarShift-BtnYLQ0B.js} +2 -2
  7. package/dist/core/{BarnDoors-DWs_0xtH.js → BarnDoors-Dw9K-amf.js} +1 -1
  8. package/dist/core/{Beam-Cgc4EYnj.js → Beam-D_cyaMjJ.js} +1 -1
  9. package/dist/core/{Bend-oof5pE1H.js → Bend-CSs5UIh8.js} +1 -1
  10. package/dist/core/{Blob-cfvDCv0i.js → Blob-h25zA5WH.js} +2 -2
  11. package/dist/core/{BlockDissolve-C7yJzYGZ.js → BlockDissolve-CKN_KvLP.js} +2 -2
  12. package/dist/core/{BlockNoise-DaM9YDAH.js → BlockNoise-DhKyd_F7.js} +5 -5
  13. package/dist/core/{BlueNoise-BMMRTsMw.js → BlueNoise-Auhzq4x5.js} +4 -4
  14. package/dist/core/{Blur-Be7sX4v9.js → Blur-CcxMqYsu.js} +3 -3
  15. package/dist/core/{Boids-C9S69THK.js → Boids-D51U46GF.js} +783 -656
  16. package/dist/core/{BokehBlur-DSkKZ_yy.js → BokehBlur-Cfaqbh3I.js} +3 -3
  17. package/dist/core/{BrickPattern-BY7h4hyx.js → BrickPattern-tASwilX0.js} +2 -2
  18. package/dist/core/{BrightnessContrast-DFc0gSUv.js → BrightnessContrast-ZCKqJW7i.js} +1 -1
  19. package/dist/core/{BrushedMetal-B06tUygH.js → BrushedMetal-B6gSVB28.js} +6 -6
  20. package/dist/core/{Bulge-BpSOQfH0.js → Bulge-dCYtWP4S.js} +1 -1
  21. package/dist/core/{CRTScreen-DdGcEvk2.js → CRTScreen-CVY1lOGL.js} +1 -1
  22. package/dist/core/{CarbonFiber-Dy7Osb3V.js → CarbonFiber-Do9EONKv.js} +5 -5
  23. package/dist/core/{Chalkboard-wRYj23wL.js → Chalkboard-0hyyGnYl.js} +1 -1
  24. package/dist/core/{ChannelBlur-DKD9GUpc.js → ChannelBlur-DcZKCKXi.js} +2 -2
  25. package/dist/core/{CheckerWipe-D0WmsSKg.js → CheckerWipe-BIE62tJ1.js} +1 -1
  26. package/dist/core/{Checkerboard-2sQYJks9.js → Checkerboard-CRnfu63u.js} +1 -1
  27. package/dist/core/{Chevron-D3oPw2-i.js → Chevron-Ld_v4z9T.js} +2 -2
  28. package/dist/core/{ChromaFlow-px9KG_h6.js → ChromaFlow-CTWeauIr.js} +1 -1
  29. package/dist/core/{ChromaticAberration-DLFROPJV.js → ChromaticAberration-CxuOb68m.js} +1 -1
  30. package/dist/core/{Circle-0CqIPN3a.js → Circle-XP1B5rsN.js} +2 -2
  31. package/dist/core/{ColorWheel-CMtn8slz.js → ColorWheel-CFU_OmOW.js} +2 -2
  32. package/dist/core/{CompressionArtifacts-D7dpVg47.js → CompressionArtifacts-Bc9xTdQP.js} +2 -2
  33. package/dist/core/{ConcentricSpin-BPk-_egF.js → ConcentricSpin-DTJytpAk.js} +2 -2
  34. package/dist/core/{ConicGradient-B-tEhmfR.js → ConicGradient-C-4uDmQj.js} +2 -2
  35. package/dist/core/{ContourLines-BlgCWFSy.js → ContourLines-C8p6f-1y.js} +1 -1
  36. package/dist/core/{CornerPin-DB3G2i_y.js → CornerPin-CB92kX10.js} +1 -1
  37. package/dist/core/{Crescent-CFzPQKll.js → Crescent-Dk4nlG8T.js} +2 -2
  38. package/dist/core/{Cross-Cstl9nDg.js → Cross-DsnI1U8g.js} +2 -2
  39. package/dist/core/{Crystal-CEeqF1Xa.js → Crystal-CR_sG2y7.js} +5 -5
  40. package/dist/core/{CurlNoise-uvTKk4Wa.js → CurlNoise-DJ27ih0F.js} +5 -5
  41. package/dist/core/{CursorRipples-B46VApbY.js → CursorRipples-CuO3sZga.js} +2 -2
  42. package/dist/core/{CursorTrail-DzYRTzzA.js → CursorTrail-d4xx4QpM.js} +3 -3
  43. package/dist/core/{DataMosh-Ysev5-c_.js → DataMosh-BhvE-2yC.js} +2 -2
  44. package/dist/core/{DiamondGradient-pTOwPuAl.js → DiamondGradient-CtOVKrYf.js} +2 -2
  45. package/dist/core/{DiamondWipe-D6u1P2xH.js → DiamondWipe-D-yiQBVj.js} +1 -1
  46. package/dist/core/{DiffuseBlur-BX0cfwyh.js → DiffuseBlur-BDf-Czxz.js} +1 -1
  47. package/dist/core/{DisplacementMap-DMNivtcV.js → DisplacementMap-B_jf_2lj.js} +1 -1
  48. package/dist/core/{Dither-Cxu-hSc_.js → Dither-D3P6EJU8.js} +1 -1
  49. package/dist/core/{DotGrid-CbNHebie.js → DotGrid-BnSVhJlh.js} +2 -2
  50. package/dist/core/{DropShadow-DFyuEA17.js → DropShadow-BSKVH3n3.js} +1 -1
  51. package/dist/core/{Duotone-CgueO-jZ.js → Duotone-DfjYuK2u.js} +1 -1
  52. package/dist/core/{Ellipse-DxRnSw__.js → Ellipse-D7_1QKaa.js} +2 -2
  53. package/dist/core/{Emboss-BJxzjZmZ.js → Emboss-ZiPslqzl.js} +4 -4
  54. package/dist/core/{Engraving-DmQCj8vU.js → Engraving-DsfkKajz.js} +2 -2
  55. package/dist/core/{ErosionNoise-7ekcAfBb.js → ErosionNoise-SELArv9H.js} +4 -4
  56. package/dist/core/{Exposure-avEereLn.js → Exposure-A7WlTOti.js} +1 -1
  57. package/dist/core/{FallingLines-BINyHi3N.js → FallingLines-9PRMb_Ou.js} +2 -2
  58. package/dist/core/{FilmGrain-B-pZBxiK.js → FilmGrain-SXzVDesw.js} +1 -1
  59. package/dist/core/{FilmStock-BJfso8f3.js → FilmStock-RK4fk4m0.js} +3 -3
  60. package/dist/core/{Flip-Dbwe0zh8.js → Flip-DjoNWG4v.js} +1 -1
  61. package/dist/core/{FloatingParticles-CoQ01il5.js → FloatingParticles-D7vUF5g7.js} +550 -367
  62. package/dist/core/{FlowField-CU6S3Jar.js → FlowField-tHrXhd1b.js} +3 -3
  63. package/dist/core/{Flower-R7HIopNH.js → Flower-BfehbmmG.js} +2 -2
  64. package/dist/core/{FlowingGradient-D66Y9Wgq.js → FlowingGradient-BTKjkx5F.js} +3 -3
  65. package/dist/core/{FlutedGlass-WAaeW92l.js → FlutedGlass-uFT7iy_9.js} +2 -2
  66. package/dist/core/{Fog-BChoF6fi.js → Fog-Cu1CMATa.js} +2 -2
  67. package/dist/core/{Form3D-DajWNpAi.js → Form3D-D0ji-MeC.js} +2 -2
  68. package/dist/core/{FractalNoise-DIrQ3eQj.js → FractalNoise-D9HYiOdr.js} +4 -4
  69. package/dist/core/{Frost-B_3JSI2H.js → Frost-DQZZxdTk.js} +6 -6
  70. package/dist/core/{GaborNoise-4FWeA9yr.js → GaborNoise-D7BP0K4g.js} +5 -5
  71. package/dist/core/{Glass-wOhmSf3v.js → Glass-CzCVnGn-.js} +5 -5
  72. package/dist/core/{GlassTiles-DgdAiEuy.js → GlassTiles-DJzPPqwz.js} +1 -1
  73. package/dist/core/{Glitch-BOiywFUR.js → Glitch-D1Dx8__X.js} +28 -11
  74. package/dist/core/{Glow-C2cEWdNE.js → Glow-Bd9_o_Kv.js} +3 -3
  75. package/dist/core/{Godrays-DAZB2GSn.js → Godrays-DRPRWGPm.js} +2 -2
  76. package/dist/core/{Goo-B_WAqWYW.js → Goo-28A_pNBg.js} +5 -5
  77. package/dist/core/{GradientMap-DxsOInED.js → GradientMap-D8dv-1AX.js} +1 -1
  78. package/dist/core/{Grayscale-DSHs9mZd.js → Grayscale-BlVXBVwW.js} +1 -1
  79. package/dist/core/{Grid-aO3wzf4X.js → Grid-D9vlHvs1.js} +1 -1
  80. package/dist/core/{GridDistortion-DsHsHda7.js → GridDistortion-BpqDvqj6.js} +2 -2
  81. package/dist/core/{Group-CCcDbysC.js → Group-bwQnJRec.js} +1 -1
  82. package/dist/core/{HTMLInCanvas-B2OooKKr.js → HTMLInCanvas-gCf64ozE.js} +1 -1
  83. package/dist/core/{Halftone-3a3rz4ln.js → Halftone-B_WouxiP.js} +1 -1
  84. package/dist/core/{Heart-CzO0_GoB.js → Heart-Bmt2TLNz.js} +2 -2
  85. package/dist/core/{Heatmap-DPtUc8YG.js → Heatmap-Ruef741_.js} +6 -6
  86. package/dist/core/{HexGrid-CN5A0m5j.js → HexGrid-By9k0YuI.js} +1 -1
  87. package/dist/core/{Hologram-DoKRhChe.js → Hologram-Cf25ONOE.js} +6 -6
  88. package/dist/core/{Holographic-BWyW5z_h.js → Holographic-C9RzYykt.js} +6 -6
  89. package/dist/core/{HueShift-C0p8EGk-.js → HueShift-V3gQVuIo.js} +1 -1
  90. package/dist/core/{ImageTexture-BnwkbXAW.js → ImageTexture-DAUR2N5Q.js} +2 -2
  91. package/dist/core/{InkFlow-BH86usRX.js → InkFlow-DlP1gmr4.js} +2 -2
  92. package/dist/core/{Invert-BIjy9ddK.js → Invert-K648khvD.js} +1 -1
  93. package/dist/core/{IrisWipe-lpU7lucQ.js → IrisWipe-Clkd_5CA.js} +1 -1
  94. package/dist/core/{IsometricCubes-CIieztxI.js → IsometricCubes-CzfAwpQ5.js} +1 -1
  95. package/dist/core/{Kaleidoscope-CUMvqmfN.js → Kaleidoscope-B9k6HkNn.js} +1 -1
  96. package/dist/core/{KeyFrames-mI1J02zX.js → KeyFrames-DX6JFhsy.js} +2 -2
  97. package/dist/core/LensDistortion-DG4VHEXV.js +435 -0
  98. package/dist/core/{LensFlare-ChQK_hJN.js → LensFlare-DO5lm--6.js} +2 -2
  99. package/dist/core/{LightEdge-Rg-zMpGb.js → LightEdge-CxWsQwpZ.js} +6 -6
  100. package/dist/core/{LightLeak-D1CxVo9A.js → LightLeak-tGJW6l2_.js} +3 -3
  101. package/dist/core/{LinearBlur-DJBkHfs8.js → LinearBlur-OmZcUden.js} +1 -1
  102. package/dist/core/{LinearGradient-DCRYBS4Q.js → LinearGradient-DDqFujWC.js} +2 -2
  103. package/dist/core/{LinearWipe-Cxfs1tIO.js → LinearWipe-BzthBFNb.js} +1 -1
  104. package/dist/core/{LiquidMetal-oscNnbsr.js → LiquidMetal-DpRAJ5Ne.js} +6 -6
  105. package/dist/core/{Liquify-CJwl6Wef.js → Liquify-BVzmuY6D.js} +2 -2
  106. package/dist/core/{MagneticFilings-DAOFLjAQ.js → MagneticFilings-BP1KyU2C.js} +893 -653
  107. package/dist/core/{Marble-Cr4Iaq38.js → Marble-abj97ioG.js} +3 -3
  108. package/dist/core/{Mirror-BwOuv3TP.js → Mirror-BYqbXWUj.js} +1 -1
  109. package/dist/core/{MultiPointGradient-CSowH0-7.js → MultiPointGradient-DZZSkiDv.js} +1 -1
  110. package/dist/core/{Neon-CPIvbGSB.js → Neon-DD8qY6H9.js} +4 -4
  111. package/dist/core/{NoiseDissolve-ByahROgQ.js → NoiseDissolve-DSkh5NdD.js} +2 -2
  112. package/dist/core/{ObjectTracker-DMCr6kHz.js → ObjectTracker-DvQF31-0.js} +2 -2
  113. package/dist/core/{PagePeel-Coq0hc8R.js → PagePeel-DWtgqWdt.js} +1 -1
  114. package/dist/core/{Paper-CLlhc3fn.js → Paper-DGzZsv79.js} +2 -2
  115. package/dist/core/{Parallelogram-Be8RQBV7.js → Parallelogram-Ce0Pg7DX.js} +2 -2
  116. package/dist/core/{ParticleField-DDO-Tk9X.js → ParticleField-CgCOigET.js} +1375 -1230
  117. package/dist/core/{ParticleFlow-B89PWVem.js → ParticleFlow-CRQhvYQx.js} +1264 -993
  118. package/dist/core/{Particles-D8rP46SB.js → Particles-fKk9qTkl.js} +681 -469
  119. package/dist/core/{PerlinNoise-_whB3Y3m.js → PerlinNoise-DIFK1BpN.js} +5 -5
  120. package/dist/core/{Perspective-BJuQWHOr.js → Perspective-CDNz_7y5.js} +1 -1
  121. package/dist/core/{PixelSort-CJfXD6g0.js → PixelSort-sgh5ghCc.js} +2 -2
  122. package/dist/core/{PixelThrow-BaTI5PzH.js → PixelThrow-CXtB4Am2.js} +1 -1
  123. package/dist/core/{Pixelate-D7Dto_8I.js → Pixelate-BSOzwVHo.js} +1 -1
  124. package/dist/core/{Plasma-DWIDcCnn.js → Plasma-G6Hl__3L.js} +3 -3
  125. package/dist/core/{Plastic-CWAOd2i9.js → Plastic-B6F2WeaX.js} +6 -6
  126. package/dist/core/{PolarCoordinates-DQM3dLK3.js → PolarCoordinates-Bi99omfI.js} +1 -1
  127. package/dist/core/{Polygon-CFmLohBu.js → Polygon-BFxoe-Fg.js} +2 -2
  128. package/dist/core/{Posterize-B8PHXwhy.js → Posterize-DxiCXLUL.js} +1 -1
  129. package/dist/core/{Prism-C5VS4TLU.js → Prism-D6J-acZf.js} +2 -2
  130. package/dist/core/{ProgressiveBlur-BcGcteLH.js → ProgressiveBlur-Bko6UMxQ.js} +3 -3
  131. package/dist/core/{RadialGradient-D3UoKiGu.js → RadialGradient-B_Dgxs9_.js} +2 -2
  132. package/dist/core/{RadialWipe-DXfAH0Ug.js → RadialWipe-U9n5aeiJ.js} +1 -1
  133. package/dist/core/{RandomBars-BVsp1Q7v.js → RandomBars-U_zpGDJh.js} +2 -2
  134. package/dist/core/{ReactionDiffusion-DknxOF-o.js → ReactionDiffusion-I9xj-iK_.js} +2 -2
  135. package/dist/core/{RectangularCoordinates-DFQm4y6H.js → RectangularCoordinates-DX6wutjX.js} +1 -1
  136. package/dist/core/{ReflectivePlane-BDlGBzo1.js → ReflectivePlane-DU9pf-7H.js} +3 -3
  137. package/dist/core/{Repeater-DHW6eDAm.js → Repeater-kCIaHHFy.js} +1 -1
  138. package/dist/core/{Ring-3brC5en8.js → Ring-B_tYq3KV.js} +2 -2
  139. package/dist/core/{RippleWipe-DQfXGjRv.js → RippleWipe-DCgZZ4VT.js} +1 -1
  140. package/dist/core/{Ripples-DajR3Cl5.js → Ripples-BDhMh7XC.js} +2 -2
  141. package/dist/core/{RoundedRect-CfkYNmkV.js → RoundedRect-9b3REf2d.js} +2 -2
  142. package/dist/core/{Saturation-BPTssGSs.js → Saturation-CcblT031.js} +1 -1
  143. package/dist/core/{Scratches-A-AyASZm.js → Scratches-Rzk27V6D.js} +5 -5
  144. package/dist/core/{Sharpness-Di39DpCB.js → Sharpness-ClLOnNR8.js} +1 -1
  145. package/dist/core/{Shatter-CWf3HtjN.js → Shatter-CLI896c7.js} +2 -2
  146. package/dist/core/{SimplexNoise-DpZ2jtdk.js → SimplexNoise-98RPhPzU.js} +4 -4
  147. package/dist/core/{SineWave-CZuksvHn.js → SineWave-BZPrTdYD.js} +2 -2
  148. package/dist/core/{SliceWipe-BwL2D3HR.js → SliceWipe-BR5Qr38C.js} +1 -1
  149. package/dist/core/{Smoke-BsUkbTI1.js → Smoke-DoW6Brlo.js} +3 -3
  150. package/dist/core/{SmokeFill-CaDMgNW-.js → SmokeFill-CXHhKX8u.js} +5 -5
  151. package/dist/core/{SmokeFlow-CLfsAbPS.js → SmokeFlow-mRJ_JcnZ.js} +3 -3
  152. package/dist/core/{Solarize-ALjXXAf0.js → Solarize-BNCG4TCa.js} +1 -1
  153. package/dist/core/{Spherize-SBfCc9Wk.js → Spherize-6d5WZIZV.js} +1 -1
  154. package/dist/core/{Spiral-iRrT222n.js → Spiral-IOZ-Zm0_.js} +2 -2
  155. package/dist/core/{Star-DL3d_HqY.js → Star-D9txpy4P.js} +2 -2
  156. package/dist/core/{Stone-OTsCM-rr.js → Stone-H2qLOvGJ.js} +2 -2
  157. package/dist/core/{Strands-DjoQgGnd.js → Strands-Db6_uJAi.js} +2 -2
  158. package/dist/core/{Stretch-CdzhxnbM.js → Stretch-BIFeD7-1.js} +1 -1
  159. package/dist/core/{Stripes-CsBgKYdp.js → Stripes-5YZhE4bc.js} +2 -2
  160. package/dist/core/{StudioBackground-D8EdrLg5.js → StudioBackground-B16ICQTt.js} +2 -2
  161. package/dist/core/{SunBurst-ErBFL-nF.js → SunBurst-DSUFLqjC.js} +2 -2
  162. package/dist/core/{Surface3D-CLjX61TZ.js → Surface3D-BoliMAeJ.js} +1826 -1420
  163. package/dist/core/{Swirl-DDQif_lC.js → Swirl-CozBN2cj.js} +2 -2
  164. package/dist/core/{Teardrop-CvpdElTs.js → Teardrop-D8uqqHu8.js} +2 -2
  165. package/dist/core/{Text-vyzeMvhl.js → Text-Dka9dwCa.js} +2 -2
  166. package/dist/core/{ThinFilm-CbkMTbD2.js → ThinFilm-d7IlUY62.js} +4 -4
  167. package/dist/core/{TiltShift-BVMyB8lF.js → TiltShift-CNc1M7bT.js} +3 -3
  168. package/dist/core/{TimeTrail-CuFGvzFi.js → TimeTrail-BFuqrI-l.js} +1058 -1699
  169. package/dist/core/{Tint-C6zMMsYH.js → Tint-BzCm1m93.js} +1 -1
  170. package/dist/core/{Trapezoid-kFuxWONU.js → Trapezoid-Dc6dpnCU.js} +2 -2
  171. package/dist/core/{TriangularGrid-FIrpI_qE.js → TriangularGrid-BMemTQ8X.js} +2 -2
  172. package/dist/core/{Tritone-DyLGtOug.js → Tritone-XnyfjYXL.js} +1 -1
  173. package/dist/core/{Truchet-B4NI56Zz.js → Truchet-DUbAZPvr.js} +1 -1
  174. package/dist/core/{Twirl-CuzhWXfj.js → Twirl-Dj6ZOh7V.js} +1 -1
  175. package/dist/core/{VHS-DYbzndAZ.js → VHS-DcN38Sa-.js} +1 -1
  176. package/dist/core/{VenetianBlinds-DVopy3xp.js → VenetianBlinds-Dsix9S6Y.js} +1 -1
  177. package/dist/core/{Vesica-Cd-XyG3F.js → Vesica-BvLPrNBY.js} +2 -2
  178. package/dist/core/{Vibrance-CvXatkfO.js → Vibrance-B3F1IOJC.js} +1 -1
  179. package/dist/core/{VideoTexture-C5PS6Vly.js → VideoTexture-rZnbkY1j.js} +1 -1
  180. package/dist/core/{Vignette-DtBpWWxW.js → Vignette-D747S9Un.js} +1 -1
  181. package/dist/core/{Voronoi-CRH2cGlR.js → Voronoi-tdjJp1Yz.js} +2 -2
  182. package/dist/core/{Water-CneenzRZ.js → Water-wnYFmeVF.js} +6 -6
  183. package/dist/core/{Watercolor-B343pgM-.js → Watercolor-DlrWTnkX.js} +267 -350
  184. package/dist/core/{WaveDistortion-DHz1FxLT.js → WaveDistortion-11QwOfVR.js} +2 -2
  185. package/dist/core/{WaveletNoise-CsLE9gbM.js → WaveletNoise-DWOzHG3M.js} +5 -5
  186. package/dist/core/{Weave-CQEF71nr.js → Weave-CdGwj7cZ.js} +1 -1
  187. package/dist/core/{WebcamTexture-BcsYFM_g.js → WebcamTexture-CihYSbzd.js} +2 -2
  188. package/dist/core/{Wool-BFSicimy.js → Wool-DKCBMabi.js} +2 -2
  189. package/dist/core/{WorleyNoise-BKq3es5v.js → WorleyNoise-BjD32UOl.js} +2 -2
  190. package/dist/core/{ZoomBlur-Bu1SlmS2.js → ZoomBlur-BnRTijPn.js} +1 -1
  191. package/dist/core/{agents-Bv3--qPL.js → agents-c-JjGH1b.js} +446 -3
  192. package/dist/core/{blur-tvWOoxKt.js → blur-DKmdsW6d.js} +2 -2
  193. package/dist/core/{compute-BjeJ0sIA.js → compute-BoeIXi0l.js} +1 -1
  194. package/dist/core/{edges-BXNBKxSN.js → edges-BZUKQxSE.js} +1 -1
  195. package/dist/core/{glass-IfoQ8Prf.js → glass-BVqgjSPg.js} +1 -1
  196. package/dist/core/gpu/index.d.ts.map +1 -1
  197. package/dist/core/gpu/kit/agents.d.ts +17 -1
  198. package/dist/core/gpu/kit/agents.d.ts.map +1 -1
  199. package/dist/core/gpu/passManager.d.ts +6 -2
  200. package/dist/core/gpu/passManager.d.ts.map +1 -1
  201. package/dist/core/gpu/textures.d.ts +2 -2
  202. package/dist/core/gpu/textures.d.ts.map +1 -1
  203. package/dist/core/index.js +229 -209
  204. package/dist/core/{media-B9BNeMPu.js → media-Ds6MRfGR.js} +1 -1
  205. package/dist/core/{noise-wTSHXgFz.js → noise-Cq0KUOSC.js} +1 -1
  206. package/dist/core/{noiseColor-CPakiKNF.js → noiseColor-CQyzqpVZ.js} +2 -2
  207. package/dist/core/{noiseColor-DscZM9CO.js → noiseColor-DjCUZ_8u.js} +1 -1
  208. package/dist/core/{noiseStylize-BXpflWPW.js → noiseStylize-fKVcJbGK.js} +2 -2
  209. package/dist/core/{porters-DBK1Aipq.js → porters-DogLzpKT.js} +1 -1
  210. package/dist/core/presetRenderer.d.ts.map +1 -1
  211. package/dist/core/registry.js +205 -204
  212. package/dist/core/{sdf-R0EN3EvS.js → sdf-o99ONcMJ.js} +1 -1
  213. package/dist/core/shaderRegistry-CkDrffEe.js +427 -0
  214. package/dist/core/shaderRegistry.d.ts.map +1 -1
  215. package/dist/core/shaders/AngularBlur/index.js +4 -4
  216. package/dist/core/shaders/Arc/index.js +5 -5
  217. package/dist/core/shaders/Ascii/index.js +4 -4
  218. package/dist/core/shaders/Aurora/index.js +5 -5
  219. package/dist/core/shaders/BarShift/index.js +4 -4
  220. package/dist/core/shaders/BarnDoors/index.js +4 -4
  221. package/dist/core/shaders/Beam/index.js +4 -4
  222. package/dist/core/shaders/Bend/index.js +4 -4
  223. package/dist/core/shaders/Blob/index.js +4 -4
  224. package/dist/core/shaders/BlockDissolve/index.js +5 -5
  225. package/dist/core/shaders/BlockNoise/index.js +7 -7
  226. package/dist/core/shaders/BlueNoise/index.js +7 -7
  227. package/dist/core/shaders/Blur/index.js +5 -5
  228. package/dist/core/shaders/Boids/index.d.ts +3 -3
  229. package/dist/core/shaders/Boids/index.d.ts.map +1 -1
  230. package/dist/core/shaders/Boids/index.js +8 -7
  231. package/dist/core/shaders/BokehBlur/index.js +5 -5
  232. package/dist/core/shaders/BrickPattern/index.js +4 -4
  233. package/dist/core/shaders/BrightnessContrast/index.js +4 -4
  234. package/dist/core/shaders/BrushedMetal/index.js +8 -8
  235. package/dist/core/shaders/Bulge/index.js +4 -4
  236. package/dist/core/shaders/CRTScreen/index.js +4 -4
  237. package/dist/core/shaders/CarbonFiber/index.js +8 -8
  238. package/dist/core/shaders/Chalkboard/index.js +4 -4
  239. package/dist/core/shaders/ChannelBlur/index.js +5 -5
  240. package/dist/core/shaders/CheckerWipe/index.js +4 -4
  241. package/dist/core/shaders/Checkerboard/index.js +4 -4
  242. package/dist/core/shaders/Chevron/index.js +4 -4
  243. package/dist/core/shaders/ChromaFlow/index.js +4 -4
  244. package/dist/core/shaders/ChromaticAberration/index.js +4 -4
  245. package/dist/core/shaders/Circle/index.js +5 -5
  246. package/dist/core/shaders/ColorWheel/index.js +4 -4
  247. package/dist/core/shaders/CompressionArtifacts/index.js +4 -4
  248. package/dist/core/shaders/ConcentricSpin/index.js +4 -4
  249. package/dist/core/shaders/ConicGradient/index.js +4 -4
  250. package/dist/core/shaders/ContourLines/index.js +4 -4
  251. package/dist/core/shaders/CornerPin/index.js +4 -4
  252. package/dist/core/shaders/Crescent/index.js +5 -5
  253. package/dist/core/shaders/Cross/index.js +5 -5
  254. package/dist/core/shaders/Crystal/index.js +8 -8
  255. package/dist/core/shaders/CurlNoise/index.js +7 -7
  256. package/dist/core/shaders/CursorRipples/index.js +4 -4
  257. package/dist/core/shaders/CursorTrail/index.js +4 -4
  258. package/dist/core/shaders/DataMosh/index.js +4 -4
  259. package/dist/core/shaders/DiamondGradient/index.js +4 -4
  260. package/dist/core/shaders/DiamondWipe/index.js +4 -4
  261. package/dist/core/shaders/DiffuseBlur/index.js +4 -4
  262. package/dist/core/shaders/DisplacementMap/index.js +4 -4
  263. package/dist/core/shaders/Dither/index.js +4 -4
  264. package/dist/core/shaders/DotGrid/index.js +4 -4
  265. package/dist/core/shaders/DropShadow/index.js +4 -4
  266. package/dist/core/shaders/Duotone/index.js +4 -4
  267. package/dist/core/shaders/Ellipse/index.js +5 -5
  268. package/dist/core/shaders/Emboss/index.js +7 -7
  269. package/dist/core/shaders/Engraving/index.js +5 -5
  270. package/dist/core/shaders/ErosionNoise/index.js +7 -7
  271. package/dist/core/shaders/Exposure/index.js +4 -4
  272. package/dist/core/shaders/FallingLines/index.js +4 -4
  273. package/dist/core/shaders/FilmGrain/index.js +4 -4
  274. package/dist/core/shaders/FilmStock/index.js +5 -5
  275. package/dist/core/shaders/Flip/index.js +4 -4
  276. package/dist/core/shaders/FloatingParticles/index.d.ts +9 -4
  277. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  278. package/dist/core/shaders/FloatingParticles/index.js +8 -7
  279. package/dist/core/shaders/FlowField/index.js +5 -5
  280. package/dist/core/shaders/Flower/index.js +5 -5
  281. package/dist/core/shaders/FlowingGradient/index.js +5 -5
  282. package/dist/core/shaders/FlutedGlass/index.js +4 -4
  283. package/dist/core/shaders/Fog/index.js +4 -4
  284. package/dist/core/shaders/Form3D/index.js +4 -4
  285. package/dist/core/shaders/FractalNoise/index.js +6 -6
  286. package/dist/core/shaders/Frost/index.js +8 -8
  287. package/dist/core/shaders/GaborNoise/index.js +7 -7
  288. package/dist/core/shaders/Glass/index.js +8 -8
  289. package/dist/core/shaders/GlassTiles/index.js +4 -4
  290. package/dist/core/shaders/Glitch/index.d.ts +1 -1
  291. package/dist/core/shaders/Glitch/index.d.ts.map +1 -1
  292. package/dist/core/shaders/Glitch/index.js +4 -4
  293. package/dist/core/shaders/Glow/index.js +5 -5
  294. package/dist/core/shaders/Godrays/index.js +4 -4
  295. package/dist/core/shaders/Goo/index.js +7 -7
  296. package/dist/core/shaders/GradientMap/index.js +4 -4
  297. package/dist/core/shaders/Grayscale/index.js +4 -4
  298. package/dist/core/shaders/Grid/index.js +4 -4
  299. package/dist/core/shaders/GridDistortion/index.js +4 -4
  300. package/dist/core/shaders/Group/index.js +4 -4
  301. package/dist/core/shaders/HTMLInCanvas/index.js +4 -4
  302. package/dist/core/shaders/Halftone/index.js +4 -4
  303. package/dist/core/shaders/Heart/index.js +5 -5
  304. package/dist/core/shaders/Heatmap/index.js +8 -8
  305. package/dist/core/shaders/HexGrid/index.js +4 -4
  306. package/dist/core/shaders/Hologram/index.js +8 -8
  307. package/dist/core/shaders/Holographic/index.js +8 -8
  308. package/dist/core/shaders/HueShift/index.js +4 -4
  309. package/dist/core/shaders/ImageTexture/index.js +5 -5
  310. package/dist/core/shaders/InkFlow/index.js +4 -4
  311. package/dist/core/shaders/Invert/index.js +4 -4
  312. package/dist/core/shaders/IrisWipe/index.js +4 -4
  313. package/dist/core/shaders/IsometricCubes/index.js +4 -4
  314. package/dist/core/shaders/Kaleidoscope/index.js +4 -4
  315. package/dist/core/shaders/KeyFrames/index.js +4 -4
  316. package/dist/core/shaders/LensDistortion/index.d.ts +123 -0
  317. package/dist/core/shaders/LensDistortion/index.d.ts.map +1 -0
  318. package/dist/core/shaders/LensDistortion/index.js +8 -0
  319. package/dist/core/shaders/LensFlare/index.js +4 -4
  320. package/dist/core/shaders/LightEdge/index.js +8 -8
  321. package/dist/core/shaders/LightLeak/index.js +5 -5
  322. package/dist/core/shaders/LinearBlur/index.js +4 -4
  323. package/dist/core/shaders/LinearGradient/index.js +4 -4
  324. package/dist/core/shaders/LinearWipe/index.js +4 -4
  325. package/dist/core/shaders/LiquidMetal/index.js +8 -8
  326. package/dist/core/shaders/Liquify/index.js +4 -4
  327. package/dist/core/shaders/MagneticFilings/index.d.ts +0 -2
  328. package/dist/core/shaders/MagneticFilings/index.d.ts.map +1 -1
  329. package/dist/core/shaders/MagneticFilings/index.js +8 -7
  330. package/dist/core/shaders/Marble/index.js +5 -5
  331. package/dist/core/shaders/Mirror/index.js +4 -4
  332. package/dist/core/shaders/MultiPointGradient/index.js +4 -4
  333. package/dist/core/shaders/Neon/index.js +6 -6
  334. package/dist/core/shaders/NoiseDissolve/index.js +5 -5
  335. package/dist/core/shaders/ObjectTracker/index.js +5 -5
  336. package/dist/core/shaders/PagePeel/index.js +4 -4
  337. package/dist/core/shaders/Paper/index.js +5 -5
  338. package/dist/core/shaders/Parallelogram/index.js +5 -5
  339. package/dist/core/shaders/ParticleField/index.d.ts +10 -5
  340. package/dist/core/shaders/ParticleField/index.d.ts.map +1 -1
  341. package/dist/core/shaders/ParticleField/index.js +7 -7
  342. package/dist/core/shaders/ParticleFlow/index.d.ts +10 -4
  343. package/dist/core/shaders/ParticleFlow/index.d.ts.map +1 -1
  344. package/dist/core/shaders/ParticleFlow/index.js +8 -7
  345. package/dist/core/shaders/Particles/index.d.ts +4 -3
  346. package/dist/core/shaders/Particles/index.d.ts.map +1 -1
  347. package/dist/core/shaders/Particles/index.js +9 -9
  348. package/dist/core/shaders/PerlinNoise/index.js +7 -7
  349. package/dist/core/shaders/Perspective/index.js +4 -4
  350. package/dist/core/shaders/PixelSort/index.js +4 -4
  351. package/dist/core/shaders/PixelThrow/index.js +4 -4
  352. package/dist/core/shaders/Pixelate/index.js +4 -4
  353. package/dist/core/shaders/Plasma/index.js +5 -5
  354. package/dist/core/shaders/Plastic/index.js +8 -8
  355. package/dist/core/shaders/PolarCoordinates/index.js +4 -4
  356. package/dist/core/shaders/Polygon/index.js +5 -5
  357. package/dist/core/shaders/Posterize/index.js +4 -4
  358. package/dist/core/shaders/Prism/index.js +4 -4
  359. package/dist/core/shaders/ProgressiveBlur/index.js +5 -5
  360. package/dist/core/shaders/RadialGradient/index.js +4 -4
  361. package/dist/core/shaders/RadialWipe/index.js +4 -4
  362. package/dist/core/shaders/RandomBars/index.js +5 -5
  363. package/dist/core/shaders/ReactionDiffusion/index.js +4 -4
  364. package/dist/core/shaders/RectangularCoordinates/index.js +4 -4
  365. package/dist/core/shaders/ReflectivePlane/index.js +5 -5
  366. package/dist/core/shaders/Repeater/index.js +4 -4
  367. package/dist/core/shaders/Ring/index.js +5 -5
  368. package/dist/core/shaders/RippleWipe/index.js +4 -4
  369. package/dist/core/shaders/Ripples/index.js +4 -4
  370. package/dist/core/shaders/RoundedRect/index.js +5 -5
  371. package/dist/core/shaders/Saturation/index.js +4 -4
  372. package/dist/core/shaders/Scratches/index.js +7 -7
  373. package/dist/core/shaders/Sharpness/index.js +4 -4
  374. package/dist/core/shaders/Shatter/index.js +4 -4
  375. package/dist/core/shaders/SimplexNoise/index.js +6 -6
  376. package/dist/core/shaders/SineWave/index.js +4 -4
  377. package/dist/core/shaders/SliceWipe/index.js +4 -4
  378. package/dist/core/shaders/Smoke/index.js +4 -4
  379. package/dist/core/shaders/SmokeFill/index.js +7 -7
  380. package/dist/core/shaders/SmokeFlow/index.js +4 -4
  381. package/dist/core/shaders/Solarize/index.js +4 -4
  382. package/dist/core/shaders/SolidColor/index.js +1 -1
  383. package/dist/core/shaders/Spherize/index.js +4 -4
  384. package/dist/core/shaders/Spiral/index.js +4 -4
  385. package/dist/core/shaders/Star/index.js +5 -5
  386. package/dist/core/shaders/Stone/index.js +4 -4
  387. package/dist/core/shaders/Strands/index.js +4 -4
  388. package/dist/core/shaders/Stretch/index.js +4 -4
  389. package/dist/core/shaders/Stripes/index.js +4 -4
  390. package/dist/core/shaders/StudioBackground/index.js +4 -4
  391. package/dist/core/shaders/SunBurst/index.js +4 -4
  392. package/dist/core/shaders/Surface3D/index.d.ts +4 -2
  393. package/dist/core/shaders/Surface3D/index.d.ts.map +1 -1
  394. package/dist/core/shaders/Surface3D/index.js +6 -5
  395. package/dist/core/shaders/Swirl/index.js +4 -4
  396. package/dist/core/shaders/Teardrop/index.js +5 -5
  397. package/dist/core/shaders/Text/index.js +5 -5
  398. package/dist/core/shaders/ThinFilm/index.js +6 -6
  399. package/dist/core/shaders/TiltShift/index.js +5 -5
  400. package/dist/core/shaders/TimeTrail/index.d.ts +47 -1
  401. package/dist/core/shaders/TimeTrail/index.d.ts.map +1 -1
  402. package/dist/core/shaders/TimeTrail/index.js +6 -5
  403. package/dist/core/shaders/Tint/index.js +4 -4
  404. package/dist/core/shaders/Trapezoid/index.js +5 -5
  405. package/dist/core/shaders/TriangularGrid/index.js +4 -4
  406. package/dist/core/shaders/Tritone/index.js +4 -4
  407. package/dist/core/shaders/Truchet/index.js +4 -4
  408. package/dist/core/shaders/Twirl/index.js +4 -4
  409. package/dist/core/shaders/VHS/index.js +4 -4
  410. package/dist/core/shaders/VenetianBlinds/index.js +4 -4
  411. package/dist/core/shaders/Vesica/index.js +5 -5
  412. package/dist/core/shaders/Vibrance/index.js +4 -4
  413. package/dist/core/shaders/VideoTexture/index.js +4 -4
  414. package/dist/core/shaders/Vignette/index.js +4 -4
  415. package/dist/core/shaders/Voronoi/index.js +4 -4
  416. package/dist/core/shaders/Water/index.js +8 -8
  417. package/dist/core/shaders/Watercolor/index.d.ts +1 -1
  418. package/dist/core/shaders/Watercolor/index.d.ts.map +1 -1
  419. package/dist/core/shaders/Watercolor/index.js +5 -4
  420. package/dist/core/shaders/WaveDistortion/index.js +4 -4
  421. package/dist/core/shaders/WaveletNoise/index.js +7 -7
  422. package/dist/core/shaders/Weave/index.js +4 -4
  423. package/dist/core/shaders/WebcamTexture/index.js +5 -5
  424. package/dist/core/shaders/Wool/index.js +4 -4
  425. package/dist/core/shaders/WorleyNoise/index.js +4 -4
  426. package/dist/core/shaders/ZoomBlur/index.js +4 -4
  427. package/dist/core/{shapeEffectBounds-CtKwBX8c.js → shapeEffectBounds-Dg4GQ5vW.js} +3 -3
  428. package/dist/js/bundle.js +174 -174
  429. package/dist/js/createShader.js +1 -1
  430. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  431. package/dist/js/utils/generatePresetCode.js +27 -0
  432. package/dist/react/LensDistortion.js +226 -0
  433. package/dist/react/Preview.js +1 -0
  434. package/dist/react/Shader.js +1 -1
  435. package/dist/react/bundle.js +160 -160
  436. package/dist/react/components/LensDistortion.d.ts +54 -0
  437. package/dist/react/components/LensDistortion.d.ts.map +1 -0
  438. package/dist/react/engine/Preview.d.ts.map +1 -1
  439. package/dist/react/index.d.ts +1 -0
  440. package/dist/react/index.d.ts.map +1 -1
  441. package/dist/react/index.js +2 -1
  442. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  443. package/dist/react/utils/generatePresetCode.js +27 -0
  444. package/dist/registry.js +585 -1
  445. package/dist/solid/components/LensDistortion.d.ts +51 -0
  446. package/dist/solid/components/LensDistortion.d.ts.map +1 -0
  447. package/dist/solid/components/LensDistortion.js +232 -0
  448. package/dist/solid/engine/Preview.d.ts.map +1 -1
  449. package/dist/solid/engine/Preview.js +193 -191
  450. package/dist/solid/engine/Shader.js +1 -1
  451. package/dist/solid/index.d.ts +1 -0
  452. package/dist/solid/index.d.ts.map +1 -1
  453. package/dist/solid/index.js +194 -192
  454. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  455. package/dist/solid/utils/generatePresetCode.js +27 -0
  456. package/dist/svelte/components/LensDistortion.svelte.d.ts +41 -0
  457. package/dist/svelte/index.d.ts +1 -0
  458. package/dist/svelte/index.js +2751 -2544
  459. package/dist/svelte/source/components/LensDistortion.svelte +365 -0
  460. package/dist/svelte/source/engine/Preview.svelte +2 -0
  461. package/dist/svelte/source/index.js +1 -0
  462. package/dist/svelte/utils/generatePresetCode.js +27 -0
  463. package/dist/vue/LensDistortion.js +3 -0
  464. package/dist/vue/LensDistortion.vue_vue_type_script_setup_true_lang.js +244 -0
  465. package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +2 -0
  466. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  467. package/dist/vue/components/LensDistortion.vue.d.ts +76 -0
  468. package/dist/vue/components/LensDistortion.vue.d.ts.map +1 -0
  469. package/dist/vue/index.d.ts +1 -0
  470. package/dist/vue/index.d.ts.map +1 -1
  471. package/dist/vue/index.js +2 -1
  472. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  473. package/dist/vue/utils/generatePresetCode.js +27 -0
  474. package/package.json +9 -1
  475. package/dist/core/shaderRegistry-CcvE7wN0.js +0 -425
  476. /package/dist/core/{SolidColor-Cu_9b_my.js → SolidColor-dYxjV0YF.js} +0 -0
  477. /package/dist/core/{fonts-v_F1SFl9.js → fonts-DFuXI3Hk.js} +0 -0
@@ -1,19 +1,21 @@
1
- import { $t as vec2f, Ct as floor, Et as max, Gt as textureStorage2d, H as mixColorsLinear, Ht as atomic, Ot as mix, Rt as sqrt, Tt as length, U as mixColorsVariants, Ut as arrayOf, Vt as data_exports, Wt as texture2d, Xt as struct, _t as clamp, an as f32, at as textureStore, d as ZERO, dt as atomicStore, et as src_default, in as vec4f, it as textureLoad, lt as atomicAdd, mt as abs, nn as vec3f, nt as std_exports, on as i32, pt as select, sn as u32, tn as vec2u, ut as atomicLoad, wt as fract, xt as exp } from "./edges-BXNBKxSN.js";
2
- import { l as hash33, p as noise_exports, r as curl22z } from "./noise-wTSHXgFz.js";
3
- import { n as createGuardedCompute, r as createStateBuffer } from "./compute-BjeJ0sIA.js";
4
- import { a as makeAgentWeightFn, c as resolveAgentShape, o as orientedShapeOptions, t as AGENT_SHAPES } from "./agents-Bv3--qPL.js";
1
+ import { At as mix, Bt as sqrt, Ct as exp, Dt as length, Et as fract, Gt as arrayOf, H as mixColorsLinear, Kt as texture2d, Ot as max, Qt as struct, Tt as floor, U as mixColorsVariants, Ut as data_exports, Wt as atomic, cn as i32, d as ZERO, dt as atomicLoad, et as src_default, ft as atomicStore, ht as abs, in as vec3f, it as textureLoad, kt as min, ln as u32, mt as select, nt as std_exports, on as vec4f, ot as textureStore, qt as textureStorage2d, rn as vec2u, sn as f32, tn as vec2f, ut as atomicAdd, vt as ceil, yt as clamp } from "./edges-BZUKQxSE.js";
2
+ import { l as hash33, p as noise_exports, r as curl22z } from "./noise-Cq0KUOSC.js";
3
+ import { n as createGuardedCompute, r as createStateBuffer } from "./compute-BoeIXi0l.js";
4
+ import { t as isMobileGpuViewport } from "./device-BODv_4aH.js";
5
+ import { a as makeAgentTexelWeightFn, l as resolveAgentShape, s as orientedShapeOptions, t as AGENT_SHAPES } from "./agents-c-JjGH1b.js";
5
6
  import { a as transformColor, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-CsPUHppB.js";
6
7
  var N = 256;
7
8
  var FLUID_COUNT = N * N;
8
- var JACOBI_ITERS = 10;
9
+ var JACOBI_ITERS = isMobileGpuViewport() ? 6 : 10;
9
10
  var PRESSURE_DISSIPATION = .8;
10
11
  var VEL_FORMAT = "rgba16float";
11
- var RES = 1024;
12
+ var RES = isMobileGpuViewport() ? 512 : 1024;
12
13
  var INV_RES = 1 / RES;
14
+ var SIZE_REF_RES = 1024;
13
15
  var STATE_FORMAT = "rgba16float";
14
16
  var MAX_PARTICLES = 16384;
17
+ var COUNT_MAX_MOBILE = 6e3;
15
18
  var SPLAT_R = 14;
16
- var SPLAT_WIN = 29;
17
19
  var AA_W = .75 * INV_RES;
18
20
  var HARD_GAIN = 637;
19
21
  var SOFT_GAIN = 255;
@@ -836,12 +838,18 @@ const particleFlowVorticityKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (
836
838
  const gl = max(sqrt(__tsover_add(__tsover_mul(gx, gx), __tsover_mul(gy, gy))), f32(1e-5));
837
839
  const fx = __tsover_mul(__tsover_mul(__tsover_mul(__tsover_div(gy, gl), cc), p.curlStrength), p.dt);
838
840
  const fy = __tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_div(gx, gl), -1), cc), p.curlStrength), p.dt);
839
- const uvx = __tsover_div(__tsover_add(f32(cx), .5), f32(N));
840
- const uvy = __tsover_div(__tsover_add(f32(cy), .5), f32(N));
841
- const amb = curl22z(vec2f(__tsover_mul(uvx, p.ambientFreq), __tsover_mul(uvy, p.ambientFreq)), p.ambientTime);
842
- const af = __tsover_mul(__tsover_mul(p.ambient, AMBIENT_K), p.dt);
841
+ let ax = f32(0);
842
+ let ay = f32(0);
843
+ if (p.ambient > 0) {
844
+ const uvx = __tsover_div(__tsover_add(f32(cx), .5), f32(N));
845
+ const uvy = __tsover_div(__tsover_add(f32(cy), .5), f32(N));
846
+ const amb = curl22z(vec2f(__tsover_mul(uvx, p.ambientFreq), __tsover_mul(uvy, p.ambientFreq)), p.ambientTime);
847
+ const af = __tsover_mul(__tsover_mul(p.ambient, AMBIENT_K), p.dt);
848
+ ax = __tsover_mul(amb.x, af);
849
+ ay = __tsover_mul(amb.y, af);
850
+ }
843
851
  const vel = fluidLayout.$.velA[idx];
844
- fluidLayout.$.velA[idx] = vec4f(__tsover_add(__tsover_add(vel.x, fx), __tsover_mul(amb.x, af)), __tsover_add(__tsover_add(vel.y, fy), __tsover_mul(amb.y, af)), vel.z, 0);
852
+ fluidLayout.$.velA[idx] = vec4f(__tsover_add(__tsover_add(vel.x, fx), ax), __tsover_add(__tsover_add(vel.y, fy), ay), vel.z, 0);
845
853
  }), {
846
854
  v: 1,
847
855
  name: void 0,
@@ -1247,132 +1255,203 @@ const particleFlowVorticityKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (
1247
1255
  ]
1248
1256
  ],
1249
1257
  [
1250
- 13,
1251
- "uvx",
1258
+ 12,
1259
+ "ax",
1252
1260
  [
1253
- 1,
1261
+ 6,
1254
1262
  [
1255
- 1,
1256
- [
1257
- 6,
1258
- [
1259
- 7,
1260
- "d",
1261
- "f32"
1262
- ],
1263
- ["cx"]
1264
- ],
1265
- "+",
1266
- [5, "0.5"]
1263
+ 7,
1264
+ "d",
1265
+ "f32"
1267
1266
  ],
1268
- "/",
1269
- [
1270
- 6,
1271
- [
1272
- 7,
1273
- "d",
1274
- "f32"
1275
- ],
1276
- ["N"]
1277
- ]
1267
+ [[5, "0"]]
1278
1268
  ]
1279
1269
  ],
1280
1270
  [
1281
- 13,
1282
- "uvy",
1271
+ 12,
1272
+ "ay",
1283
1273
  [
1284
- 1,
1274
+ 6,
1285
1275
  [
1286
- 1,
1287
- [
1288
- 6,
1289
- [
1290
- 7,
1291
- "d",
1292
- "f32"
1293
- ],
1294
- ["cy"]
1295
- ],
1296
- "+",
1297
- [5, "0.5"]
1276
+ 7,
1277
+ "d",
1278
+ "f32"
1298
1279
  ],
1299
- "/",
1300
- [
1301
- 6,
1302
- [
1303
- 7,
1304
- "d",
1305
- "f32"
1306
- ],
1307
- ["N"]
1308
- ]
1280
+ [[5, "0"]]
1309
1281
  ]
1310
1282
  ],
1311
1283
  [
1312
- 13,
1313
- "amb",
1284
+ 11,
1314
1285
  [
1315
- 6,
1286
+ 1,
1316
1287
  [
1317
1288
  7,
1318
- "noise",
1319
- "curl22z"
1289
+ "p",
1290
+ "ambient"
1320
1291
  ],
1321
- [[
1322
- 6,
1292
+ ">",
1293
+ [5, "0"]
1294
+ ],
1295
+ [0, [
1296
+ [
1297
+ 13,
1298
+ "uvx",
1323
1299
  [
1324
- 7,
1325
- "d",
1326
- "vec2f"
1327
- ],
1328
- [[
1329
1300
  1,
1330
- "uvx",
1331
- "*",
1332
1301
  [
1302
+ 1,
1303
+ [
1304
+ 6,
1305
+ [
1306
+ 7,
1307
+ "d",
1308
+ "f32"
1309
+ ],
1310
+ ["cx"]
1311
+ ],
1312
+ "+",
1313
+ [5, "0.5"]
1314
+ ],
1315
+ "/",
1316
+ [
1317
+ 6,
1318
+ [
1319
+ 7,
1320
+ "d",
1321
+ "f32"
1322
+ ],
1323
+ ["N"]
1324
+ ]
1325
+ ]
1326
+ ],
1327
+ [
1328
+ 13,
1329
+ "uvy",
1330
+ [
1331
+ 1,
1332
+ [
1333
+ 1,
1334
+ [
1335
+ 6,
1336
+ [
1337
+ 7,
1338
+ "d",
1339
+ "f32"
1340
+ ],
1341
+ ["cy"]
1342
+ ],
1343
+ "+",
1344
+ [5, "0.5"]
1345
+ ],
1346
+ "/",
1347
+ [
1348
+ 6,
1349
+ [
1350
+ 7,
1351
+ "d",
1352
+ "f32"
1353
+ ],
1354
+ ["N"]
1355
+ ]
1356
+ ]
1357
+ ],
1358
+ [
1359
+ 13,
1360
+ "amb",
1361
+ [
1362
+ 6,
1363
+ [
1364
+ 7,
1365
+ "noise",
1366
+ "curl22z"
1367
+ ],
1368
+ [[
1369
+ 6,
1370
+ [
1371
+ 7,
1372
+ "d",
1373
+ "vec2f"
1374
+ ],
1375
+ [[
1376
+ 1,
1377
+ "uvx",
1378
+ "*",
1379
+ [
1380
+ 7,
1381
+ "p",
1382
+ "ambientFreq"
1383
+ ]
1384
+ ], [
1385
+ 1,
1386
+ "uvy",
1387
+ "*",
1388
+ [
1389
+ 7,
1390
+ "p",
1391
+ "ambientFreq"
1392
+ ]
1393
+ ]]
1394
+ ], [
1333
1395
  7,
1334
1396
  "p",
1335
- "ambientFreq"
1336
- ]
1337
- ], [
1397
+ "ambientTime"
1398
+ ]]
1399
+ ]
1400
+ ],
1401
+ [
1402
+ 13,
1403
+ "af",
1404
+ [
1338
1405
  1,
1339
- "uvy",
1406
+ [
1407
+ 1,
1408
+ [
1409
+ 7,
1410
+ "p",
1411
+ "ambient"
1412
+ ],
1413
+ "*",
1414
+ "AMBIENT_K"
1415
+ ],
1340
1416
  "*",
1341
1417
  [
1342
1418
  7,
1343
1419
  "p",
1344
- "ambientFreq"
1420
+ "dt"
1345
1421
  ]
1346
- ]]
1347
- ], [
1348
- 7,
1349
- "p",
1350
- "ambientTime"
1351
- ]]
1352
- ]
1353
- ],
1354
- [
1355
- 13,
1356
- "af",
1357
- [
1358
- 1,
1422
+ ]
1423
+ ],
1359
1424
  [
1360
- 1,
1425
+ 2,
1426
+ "ax",
1427
+ "=",
1361
1428
  [
1362
- 7,
1363
- "p",
1364
- "ambient"
1365
- ],
1366
- "*",
1367
- "AMBIENT_K"
1429
+ 1,
1430
+ [
1431
+ 7,
1432
+ "amb",
1433
+ "x"
1434
+ ],
1435
+ "*",
1436
+ "af"
1437
+ ]
1368
1438
  ],
1369
- "*",
1370
1439
  [
1371
- 7,
1372
- "p",
1373
- "dt"
1440
+ 2,
1441
+ "ay",
1442
+ "=",
1443
+ [
1444
+ 1,
1445
+ [
1446
+ 7,
1447
+ "amb",
1448
+ "y"
1449
+ ],
1450
+ "*",
1451
+ "af"
1452
+ ]
1374
1453
  ]
1375
- ]
1454
+ ]]
1376
1455
  ],
1377
1456
  [
1378
1457
  13,
@@ -1428,16 +1507,7 @@ const particleFlowVorticityKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (
1428
1507
  "fx"
1429
1508
  ],
1430
1509
  "+",
1431
- [
1432
- 1,
1433
- [
1434
- 7,
1435
- "amb",
1436
- "x"
1437
- ],
1438
- "*",
1439
- "af"
1440
- ]
1510
+ "ax"
1441
1511
  ],
1442
1512
  [
1443
1513
  1,
@@ -1452,16 +1522,7 @@ const particleFlowVorticityKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (
1452
1522
  "fy"
1453
1523
  ],
1454
1524
  "+",
1455
- [
1456
- 1,
1457
- [
1458
- 7,
1459
- "amb",
1460
- "y"
1461
- ],
1462
- "*",
1463
- "af"
1464
- ]
1525
+ "ay"
1465
1526
  ],
1466
1527
  [
1467
1528
  7,
@@ -3535,160 +3596,47 @@ const particleFlowInitKernel = src_default.fn([u32])(/* @__PURE__ */ (($) => (gl
3535
3596
  noise: noise_exports
3536
3597
  })
3537
3598
  }) && $.f)({})).$name("particleFlowInit");
3538
- const particleFlowClearKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
3599
+ var R2A = .7548776662466927;
3600
+ var R2B = .5698402909980532;
3601
+ var HOME_RATE = 1.8;
3602
+ const particleFlowIntegrateKernel = src_default.fn([u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
3539
3603
  "use gpu";
3540
- const idx = __tsover_add(__tsover_mul(y, u32(RES)), x);
3541
- atomicStore(pfLayout.$.accumE[idx], u32(0));
3542
- atomicStore(pfLayout.$.accumS[idx], u32(0));
3543
- }), {
3544
- v: 1,
3545
- name: void 0,
3546
- ast: {
3547
- "params": [{
3548
- "type": "i",
3549
- "name": "x"
3550
- }, {
3551
- "type": "i",
3552
- "name": "y"
3553
- }],
3554
- "body": [0, [
3555
- [
3556
- 13,
3557
- "idx",
3558
- [
3559
- 1,
3560
- [
3561
- 1,
3562
- "y",
3563
- "*",
3564
- [
3565
- 6,
3566
- [
3567
- 7,
3568
- "d",
3569
- "u32"
3570
- ],
3571
- ["RES"]
3572
- ]
3573
- ],
3574
- "+",
3575
- "x"
3576
- ]
3577
- ],
3578
- [
3579
- 6,
3580
- [
3581
- 7,
3582
- "std",
3583
- "atomicStore"
3584
- ],
3585
- [[
3586
- 8,
3587
- [
3588
- 7,
3589
- [
3590
- 7,
3591
- "pfLayout",
3592
- "$"
3593
- ],
3594
- "accumE"
3595
- ],
3596
- "idx"
3597
- ], [
3598
- 6,
3599
- [
3600
- 7,
3601
- "d",
3602
- "u32"
3603
- ],
3604
- [[5, "0"]]
3605
- ]]
3606
- ],
3607
- [
3608
- 6,
3609
- [
3610
- 7,
3611
- "std",
3612
- "atomicStore"
3613
- ],
3614
- [[
3615
- 8,
3616
- [
3617
- 7,
3618
- [
3619
- 7,
3620
- "pfLayout",
3621
- "$"
3622
- ],
3623
- "accumS"
3624
- ],
3625
- "idx"
3626
- ], [
3627
- 6,
3628
- [
3629
- 7,
3630
- "d",
3631
- "u32"
3632
- ],
3633
- [[5, "0"]]
3634
- ]]
3635
- ]
3636
- ]],
3637
- "externalNames": [
3638
- "d",
3639
- "RES",
3640
- "std",
3641
- "pfLayout"
3642
- ]
3643
- },
3644
- externals: () => ({
3645
- d: data_exports,
3646
- RES,
3647
- std: std_exports,
3648
- pfLayout
3649
- })
3650
- }) && $.f)({})).$name("particleFlowClear");
3651
- var R2A = .7548776662466927;
3652
- var R2B = .5698402909980532;
3653
- var HOME_RATE = 1.8;
3654
- const particleFlowIntegrateKernel = src_default.fn([u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
3655
- "use gpu";
3656
- const prm = pfLayout.$.params;
3657
- const a = pfLayout.$.particles[i];
3658
- const pos = vec2f(a.x, a.y);
3659
- const dt = prm.dt;
3660
- const aspect = max(prm.aspect, 1e-5);
3661
- const uvx = __tsover_div(pos.x, aspect);
3662
- const uvy = pos.y;
3663
- const NF = f32(N);
3664
- const su = __tsover_sub(__tsover_mul(uvx, NF), .5);
3665
- const sv = __tsover_sub(__tsover_mul(uvy, NF), .5);
3666
- const x0 = floor(su);
3667
- const y0 = floor(sv);
3668
- const fx = __tsover_sub(su, x0);
3669
- const fy = __tsover_sub(sv, y0);
3670
- const maxT = __tsover_sub(NF, 1);
3671
- const ix0 = u32(clamp(x0, 0, maxT));
3672
- const ix1 = u32(clamp(__tsover_add(x0, 1), 0, maxT));
3673
- const iy0 = u32(clamp(y0, 0, maxT));
3674
- const iy1 = u32(clamp(__tsover_add(y0, 1), 0, maxT));
3675
- const v00 = textureLoad(pfLayout.$.velTex, vec2u(ix0, iy0), 0);
3676
- const v10 = textureLoad(pfLayout.$.velTex, vec2u(ix1, iy0), 0);
3677
- const v01 = textureLoad(pfLayout.$.velTex, vec2u(ix0, iy1), 0);
3678
- const v11 = textureLoad(pfLayout.$.velTex, vec2u(ix1, iy1), 0);
3679
- const gvx = mix(mix(v00.x, v10.x, fx), mix(v01.x, v11.x, fx), fy);
3680
- const gvy = mix(mix(v00.y, v10.y, fx), mix(v01.y, v11.y, fx), fy);
3681
- const fieldVx = __tsover_mul(__tsover_mul(__tsover_div(gvx, NF), aspect), prm.advect);
3682
- const fieldVy = __tsover_mul(__tsover_div(gvy, NF), prm.advect);
3683
- const blend = __tsover_sub(1, exp(__tsover_mul(__tsover_mul(dt, INERTIA_RATE), -1)));
3684
- const fi = f32(i);
3685
- const homeX = __tsover_mul(fract(__tsover_add(.5, __tsover_mul(fi, R2A))), aspect);
3686
- const homeY = fract(__tsover_add(.5, __tsover_mul(fi, R2B)));
3687
- const velX = __tsover_add(mix(a.z, fieldVx, blend), __tsover_mul(__tsover_sub(homeX, pos.x), __tsover_mul(HOME_RATE, dt)));
3688
- const velY = __tsover_add(mix(a.w, fieldVy, blend), __tsover_mul(__tsover_sub(homeY, pos.y), __tsover_mul(HOME_RATE, dt)));
3689
- const nposX = clamp(__tsover_add(pos.x, __tsover_mul(velX, dt)), 0, aspect);
3690
- const nposY = clamp(__tsover_add(pos.y, __tsover_mul(velY, dt)), 0, 1);
3691
- pfLayout.$.particles[i] = vec4f(nposX, nposY, velX, velY);
3604
+ const prm = pfLayout.$.params;
3605
+ const a = pfLayout.$.particles[i];
3606
+ const pos = vec2f(a.x, a.y);
3607
+ const dt = prm.dt;
3608
+ const aspect = max(prm.aspect, 1e-5);
3609
+ const uvx = __tsover_div(pos.x, aspect);
3610
+ const uvy = pos.y;
3611
+ const NF = f32(N);
3612
+ const su = __tsover_sub(__tsover_mul(uvx, NF), .5);
3613
+ const sv = __tsover_sub(__tsover_mul(uvy, NF), .5);
3614
+ const x0 = floor(su);
3615
+ const y0 = floor(sv);
3616
+ const fx = __tsover_sub(su, x0);
3617
+ const fy = __tsover_sub(sv, y0);
3618
+ const maxT = __tsover_sub(NF, 1);
3619
+ const ix0 = u32(clamp(x0, 0, maxT));
3620
+ const ix1 = u32(clamp(__tsover_add(x0, 1), 0, maxT));
3621
+ const iy0 = u32(clamp(y0, 0, maxT));
3622
+ const iy1 = u32(clamp(__tsover_add(y0, 1), 0, maxT));
3623
+ const v00 = textureLoad(pfLayout.$.velTex, vec2u(ix0, iy0), 0);
3624
+ const v10 = textureLoad(pfLayout.$.velTex, vec2u(ix1, iy0), 0);
3625
+ const v01 = textureLoad(pfLayout.$.velTex, vec2u(ix0, iy1), 0);
3626
+ const v11 = textureLoad(pfLayout.$.velTex, vec2u(ix1, iy1), 0);
3627
+ const gvx = mix(mix(v00.x, v10.x, fx), mix(v01.x, v11.x, fx), fy);
3628
+ const gvy = mix(mix(v00.y, v10.y, fx), mix(v01.y, v11.y, fx), fy);
3629
+ const fieldVx = __tsover_mul(__tsover_mul(__tsover_div(gvx, NF), aspect), prm.advect);
3630
+ const fieldVy = __tsover_mul(__tsover_div(gvy, NF), prm.advect);
3631
+ const blend = __tsover_sub(1, exp(__tsover_mul(__tsover_mul(dt, INERTIA_RATE), -1)));
3632
+ const fi = f32(i);
3633
+ const homeX = __tsover_mul(fract(__tsover_add(.5, __tsover_mul(fi, R2A))), aspect);
3634
+ const homeY = fract(__tsover_add(.5, __tsover_mul(fi, R2B)));
3635
+ const velX = __tsover_add(mix(a.z, fieldVx, blend), __tsover_mul(__tsover_sub(homeX, pos.x), __tsover_mul(HOME_RATE, dt)));
3636
+ const velY = __tsover_add(mix(a.w, fieldVy, blend), __tsover_mul(__tsover_sub(homeY, pos.y), __tsover_mul(HOME_RATE, dt)));
3637
+ const nposX = clamp(__tsover_add(pos.x, __tsover_mul(velX, dt)), 0, aspect);
3638
+ const nposY = clamp(__tsover_add(pos.y, __tsover_mul(velY, dt)), 0, 1);
3639
+ pfLayout.$.particles[i] = vec4f(nposX, nposY, velX, velY);
3692
3640
  }), {
3693
3641
  v: 1,
3694
3642
  name: void 0,
@@ -4601,7 +4549,7 @@ const particleFlowIntegrateKernel = src_default.fn([u32])(/* @__PURE__ */ (($) =
4601
4549
  function makeParticleFlowSplatKernel(shape) {
4602
4550
  const name = resolveAgentShape(shape, "streak");
4603
4551
  const s = AGENT_SHAPES[name];
4604
- const weightFn = makeAgentWeightFn(name);
4552
+ const weightFn = makeAgentTexelWeightFn(name);
4605
4553
  const HL = name === "glow" ? 1 : s.hl;
4606
4554
  const SOFT = s.soft;
4607
4555
  const EXT = name === "glow" ? s.ext + 1 : s.ext;
@@ -4615,29 +4563,38 @@ function makeParticleFlowSplatKernel(shape) {
4615
4563
  const spd = length(vel);
4616
4564
  const dir = select(vec2f(1, 0), vel.div(max(spd, 1e-5)), spd > 1e-5);
4617
4565
  const agitI = clamp(__tsover_div(spd, max(prm.speedNorm, 1e-5)), 0, 1);
4618
- const bodyR = max(prm.bodyR, 1e-6);
4566
+ const aspect = max(prm.aspect, 1e-5);
4567
+ const bodyR = clamp(prm.bodyR, 1e-6, __tsover_mul(f32(SPLAT_R), INV_RES));
4619
4568
  const hl = __tsover_mul(bodyR, HL);
4620
- const extSq = __tsover_mul(__tsover_add(__tsover_mul(bodyR, EXT), __tsover_mul(AA_W, 2)), __tsover_add(__tsover_mul(bodyR, EXT), __tsover_mul(AA_W, 2)));
4621
- const txf = __tsover_mul(__tsover_div(pos.x, max(prm.aspect, 1e-5)), f32(RES));
4569
+ const invR2 = __tsover_div(1, __tsover_mul(bodyR, bodyR));
4570
+ const radW = __tsover_add(__tsover_mul(bodyR, EXT), __tsover_mul(AA_W, 2));
4571
+ const extSq = __tsover_mul(radW, radW);
4572
+ const txf = __tsover_mul(__tsover_div(pos.x, aspect), f32(RES));
4622
4573
  const tyf = __tsover_mul(pos.y, f32(RES));
4623
4574
  const cxi = i32(floor(txf));
4624
4575
  const cyi = i32(floor(tyf));
4625
- for (let ky = 0; ky < SPLAT_WIN; ky++) for (let kx = 0; kx < SPLAT_WIN; kx++) {
4626
- const px = __tsover_sub(__tsover_add(cxi, kx), SPLAT_R);
4627
- const py = __tsover_sub(__tsover_add(cyi, ky), SPLAT_R);
4628
- if (px >= 0 && px < RES && py >= 0 && py < RES) {
4629
- const offX = __tsover_sub(__tsover_mul(__tsover_mul(__tsover_add(f32(px), .5), INV_RES), prm.aspect), pos.x);
4630
- const offY = __tsover_sub(__tsover_mul(__tsover_add(f32(py), .5), INV_RES), pos.y);
4631
- if (__tsover_add(__tsover_mul(offX, offX), __tsover_mul(offY, offY)) < extSq) {
4576
+ const radY = i32(ceil(__tsover_mul(radW, f32(RES))));
4577
+ const radX = i32(ceil(__tsover_div(__tsover_mul(radW, f32(RES)), aspect)));
4578
+ const x0 = max(__tsover_sub(cxi, radX), 0);
4579
+ const x1 = min(__tsover_add(cxi, radX), __tsover_sub(i32(RES), 1));
4580
+ const y0 = max(__tsover_sub(cyi, radY), 0);
4581
+ const y1 = min(__tsover_add(cyi, radY), __tsover_sub(i32(RES), 1));
4582
+ for (let py = y0; py <= y1; py++) {
4583
+ const offY = __tsover_sub(__tsover_mul(__tsover_add(f32(py), .5), INV_RES), pos.y);
4584
+ const offYSq = __tsover_mul(offY, offY);
4585
+ for (let px = x0; px <= x1; px++) {
4586
+ const offX = __tsover_sub(__tsover_mul(__tsover_mul(__tsover_add(f32(px), .5), INV_RES), aspect), pos.x);
4587
+ if (__tsover_add(__tsover_mul(offX, offX), offYSq) < extSq) {
4632
4588
  const t = __tsover_add(__tsover_mul(offX, dir.x), __tsover_mul(offY, dir.y));
4633
4589
  const n = __tsover_add(__tsover_mul(offX, -dir.y), __tsover_mul(offY, dir.x));
4634
4590
  const tEval = select(t, __tsover_sub(t, clamp(t, -hl, hl)), f32(SOFT) > .5);
4635
4591
  const tk = clamp(__tsover_div(__tsover_sub(hl, t), max(__tsover_mul(hl, 2), 1e-6)), 0, 1);
4636
4592
  const bright = __tsover_sub(1, __tsover_mul(__tsover_mul(.55, tk), f32(SOFT)));
4637
- const w = __tsover_mul(weightFn(tEval, n, bodyR, AA_W, f32(SOFT)), bright);
4593
+ const qEval = __tsover_mul(__tsover_add(__tsover_mul(tEval, tEval), __tsover_mul(n, n)), invR2);
4594
+ const w = __tsover_mul(weightFn(qEval, tEval, n, bodyR, AA_W), bright);
4638
4595
  const e = u32(__tsover_mul(w, f32(GAIN)));
4639
4596
  if (e > u32(0)) {
4640
- const idx = u32(__tsover_add(__tsover_mul(py, RES), px));
4597
+ const idx = u32(__tsover_add(__tsover_mul(py, i32(RES)), px));
4641
4598
  atomicAdd(pfLayout.$.accumE[idx], e);
4642
4599
  atomicAdd(pfLayout.$.accumS[idx], u32(__tsover_mul(__tsover_mul(w, agitI), f32(GAIN))));
4643
4600
  }
@@ -4820,7 +4777,7 @@ function makeParticleFlowSplatKernel(shape) {
4820
4777
  ],
4821
4778
  [
4822
4779
  13,
4823
- "bodyR",
4780
+ "aspect",
4824
4781
  [
4825
4782
  6,
4826
4783
  [
@@ -4831,8 +4788,42 @@ function makeParticleFlowSplatKernel(shape) {
4831
4788
  [[
4832
4789
  7,
4833
4790
  "prm",
4834
- "bodyR"
4835
- ], [5, "0.000001"]]
4791
+ "aspect"
4792
+ ], [5, "0.00001"]]
4793
+ ]
4794
+ ],
4795
+ [
4796
+ 13,
4797
+ "bodyR",
4798
+ [
4799
+ 6,
4800
+ [
4801
+ 7,
4802
+ "std",
4803
+ "clamp"
4804
+ ],
4805
+ [
4806
+ [
4807
+ 7,
4808
+ "prm",
4809
+ "bodyR"
4810
+ ],
4811
+ [5, "0.000001"],
4812
+ [
4813
+ 1,
4814
+ [
4815
+ 6,
4816
+ [
4817
+ 7,
4818
+ "d",
4819
+ "f32"
4820
+ ],
4821
+ ["SPLAT_R"]
4822
+ ],
4823
+ "*",
4824
+ "INV_RES"
4825
+ ]
4826
+ ]
4836
4827
  ]
4837
4828
  ],
4838
4829
  [
@@ -4847,44 +4838,49 @@ function makeParticleFlowSplatKernel(shape) {
4847
4838
  ],
4848
4839
  [
4849
4840
  13,
4850
- "extSq",
4841
+ "invR2",
4851
4842
  [
4852
4843
  1,
4844
+ [5, "1"],
4845
+ "/",
4853
4846
  [
4854
4847
  1,
4855
- [
4856
- 1,
4857
- "bodyR",
4858
- "*",
4859
- "EXT"
4860
- ],
4861
- "+",
4862
- [
4863
- 1,
4864
- "AA_W",
4865
- "*",
4866
- [5, "2"]
4867
- ]
4848
+ "bodyR",
4849
+ "*",
4850
+ "bodyR"
4851
+ ]
4852
+ ]
4853
+ ],
4854
+ [
4855
+ 13,
4856
+ "radW",
4857
+ [
4858
+ 1,
4859
+ [
4860
+ 1,
4861
+ "bodyR",
4862
+ "*",
4863
+ "EXT"
4868
4864
  ],
4869
- "*",
4865
+ "+",
4870
4866
  [
4871
4867
  1,
4872
- [
4873
- 1,
4874
- "bodyR",
4875
- "*",
4876
- "EXT"
4877
- ],
4878
- "+",
4879
- [
4880
- 1,
4881
- "AA_W",
4882
- "*",
4883
- [5, "2"]
4884
- ]
4868
+ "AA_W",
4869
+ "*",
4870
+ [5, "2"]
4885
4871
  ]
4886
4872
  ]
4887
4873
  ],
4874
+ [
4875
+ 13,
4876
+ "extSq",
4877
+ [
4878
+ 1,
4879
+ "radW",
4880
+ "*",
4881
+ "radW"
4882
+ ]
4883
+ ],
4888
4884
  [
4889
4885
  13,
4890
4886
  "txf",
@@ -4898,19 +4894,7 @@ function makeParticleFlowSplatKernel(shape) {
4898
4894
  "x"
4899
4895
  ],
4900
4896
  "/",
4901
- [
4902
- 6,
4903
- [
4904
- 7,
4905
- "std",
4906
- "max"
4907
- ],
4908
- [[
4909
- 7,
4910
- "prm",
4911
- "aspect"
4912
- ], [5, "0.00001"]]
4913
- ]
4897
+ "aspect"
4914
4898
  ],
4915
4899
  "*",
4916
4900
  [
@@ -4989,424 +4973,654 @@ function makeParticleFlowSplatKernel(shape) {
4989
4973
  ]
4990
4974
  ],
4991
4975
  [
4992
- 14,
4993
- [
4994
- 12,
4995
- "ky",
4996
- [5, "0"]
4997
- ],
4998
- [
4999
- 1,
5000
- "ky",
5001
- "<",
5002
- "SPLAT_WIN"
5003
- ],
4976
+ 13,
4977
+ "radY",
5004
4978
  [
5005
- 102,
5006
- "++",
5007
- "ky"
5008
- ],
5009
- [0, [[
5010
- 14,
5011
- [
5012
- 12,
5013
- "kx",
5014
- [5, "0"]
5015
- ],
5016
- [
5017
- 1,
5018
- "kx",
5019
- "<",
5020
- "SPLAT_WIN"
5021
- ],
4979
+ 6,
5022
4980
  [
5023
- 102,
5024
- "++",
5025
- "kx"
4981
+ 7,
4982
+ "d",
4983
+ "i32"
5026
4984
  ],
5027
- [0, [
4985
+ [[
4986
+ 6,
5028
4987
  [
5029
- 13,
5030
- "px",
4988
+ 7,
4989
+ "std",
4990
+ "ceil"
4991
+ ],
4992
+ [[
4993
+ 1,
4994
+ "radW",
4995
+ "*",
5031
4996
  [
5032
- 1,
4997
+ 6,
5033
4998
  [
5034
- 1,
5035
- "cxi",
5036
- "+",
5037
- "kx"
4999
+ 7,
5000
+ "d",
5001
+ "f32"
5038
5002
  ],
5039
- "-",
5040
- "SPLAT_R"
5003
+ ["RES"]
5041
5004
  ]
5005
+ ]]
5006
+ ]]
5007
+ ]
5008
+ ],
5009
+ [
5010
+ 13,
5011
+ "radX",
5012
+ [
5013
+ 6,
5014
+ [
5015
+ 7,
5016
+ "d",
5017
+ "i32"
5018
+ ],
5019
+ [[
5020
+ 6,
5021
+ [
5022
+ 7,
5023
+ "std",
5024
+ "ceil"
5042
5025
  ],
5026
+ [[
5027
+ 1,
5028
+ [
5029
+ 1,
5030
+ "radW",
5031
+ "*",
5032
+ [
5033
+ 6,
5034
+ [
5035
+ 7,
5036
+ "d",
5037
+ "f32"
5038
+ ],
5039
+ ["RES"]
5040
+ ]
5041
+ ],
5042
+ "/",
5043
+ "aspect"
5044
+ ]]
5045
+ ]]
5046
+ ]
5047
+ ],
5048
+ [
5049
+ 13,
5050
+ "x0",
5051
+ [
5052
+ 6,
5053
+ [
5054
+ 7,
5055
+ "std",
5056
+ "max"
5057
+ ],
5058
+ [[
5059
+ 1,
5060
+ "cxi",
5061
+ "-",
5062
+ "radX"
5063
+ ], [5, "0"]]
5064
+ ]
5065
+ ],
5066
+ [
5067
+ 13,
5068
+ "x1",
5069
+ [
5070
+ 6,
5071
+ [
5072
+ 7,
5073
+ "std",
5074
+ "min"
5075
+ ],
5076
+ [[
5077
+ 1,
5078
+ "cxi",
5079
+ "+",
5080
+ "radX"
5081
+ ], [
5082
+ 1,
5043
5083
  [
5044
- 13,
5045
- "py",
5084
+ 6,
5085
+ [
5086
+ 7,
5087
+ "d",
5088
+ "i32"
5089
+ ],
5090
+ ["RES"]
5091
+ ],
5092
+ "-",
5093
+ [5, "1"]
5094
+ ]]
5095
+ ]
5096
+ ],
5097
+ [
5098
+ 13,
5099
+ "y0",
5100
+ [
5101
+ 6,
5102
+ [
5103
+ 7,
5104
+ "std",
5105
+ "max"
5106
+ ],
5107
+ [[
5108
+ 1,
5109
+ "cyi",
5110
+ "-",
5111
+ "radY"
5112
+ ], [5, "0"]]
5113
+ ]
5114
+ ],
5115
+ [
5116
+ 13,
5117
+ "y1",
5118
+ [
5119
+ 6,
5120
+ [
5121
+ 7,
5122
+ "std",
5123
+ "min"
5124
+ ],
5125
+ [[
5126
+ 1,
5127
+ "cyi",
5128
+ "+",
5129
+ "radY"
5130
+ ], [
5131
+ 1,
5132
+ [
5133
+ 6,
5134
+ [
5135
+ 7,
5136
+ "d",
5137
+ "i32"
5138
+ ],
5139
+ ["RES"]
5140
+ ],
5141
+ "-",
5142
+ [5, "1"]
5143
+ ]]
5144
+ ]
5145
+ ],
5146
+ [
5147
+ 14,
5148
+ [
5149
+ 12,
5150
+ "py",
5151
+ "y0"
5152
+ ],
5153
+ [
5154
+ 1,
5155
+ "py",
5156
+ "<=",
5157
+ "y1"
5158
+ ],
5159
+ [
5160
+ 102,
5161
+ "++",
5162
+ "py"
5163
+ ],
5164
+ [0, [
5165
+ [
5166
+ 13,
5167
+ "offY",
5168
+ [
5169
+ 1,
5046
5170
  [
5047
5171
  1,
5048
5172
  [
5049
5173
  1,
5050
- "cyi",
5174
+ [
5175
+ 6,
5176
+ [
5177
+ 7,
5178
+ "d",
5179
+ "f32"
5180
+ ],
5181
+ ["py"]
5182
+ ],
5051
5183
  "+",
5052
- "ky"
5184
+ [5, "0.5"]
5053
5185
  ],
5054
- "-",
5055
- "SPLAT_R"
5186
+ "*",
5187
+ "INV_RES"
5188
+ ],
5189
+ "-",
5190
+ [
5191
+ 7,
5192
+ "pos",
5193
+ "y"
5056
5194
  ]
5195
+ ]
5196
+ ],
5197
+ [
5198
+ 13,
5199
+ "offYSq",
5200
+ [
5201
+ 1,
5202
+ "offY",
5203
+ "*",
5204
+ "offY"
5205
+ ]
5206
+ ],
5207
+ [
5208
+ 14,
5209
+ [
5210
+ 12,
5211
+ "px",
5212
+ "x0"
5213
+ ],
5214
+ [
5215
+ 1,
5216
+ "px",
5217
+ "<=",
5218
+ "x1"
5057
5219
  ],
5058
5220
  [
5221
+ 102,
5222
+ "++",
5223
+ "px"
5224
+ ],
5225
+ [0, [[
5226
+ 13,
5227
+ "offX",
5228
+ [
5229
+ 1,
5230
+ [
5231
+ 1,
5232
+ [
5233
+ 1,
5234
+ [
5235
+ 1,
5236
+ [
5237
+ 6,
5238
+ [
5239
+ 7,
5240
+ "d",
5241
+ "f32"
5242
+ ],
5243
+ ["px"]
5244
+ ],
5245
+ "+",
5246
+ [5, "0.5"]
5247
+ ],
5248
+ "*",
5249
+ "INV_RES"
5250
+ ],
5251
+ "*",
5252
+ "aspect"
5253
+ ],
5254
+ "-",
5255
+ [
5256
+ 7,
5257
+ "pos",
5258
+ "x"
5259
+ ]
5260
+ ]
5261
+ ], [
5059
5262
  11,
5060
5263
  [
5061
- 3,
5264
+ 1,
5265
+ [
5266
+ 1,
5267
+ [
5268
+ 1,
5269
+ "offX",
5270
+ "*",
5271
+ "offX"
5272
+ ],
5273
+ "+",
5274
+ "offYSq"
5275
+ ],
5276
+ "<",
5277
+ "extSq"
5278
+ ],
5279
+ [0, [
5062
5280
  [
5063
- 3,
5281
+ 13,
5282
+ "t",
5064
5283
  [
5065
- 3,
5284
+ 1,
5066
5285
  [
5067
5286
  1,
5068
- "px",
5069
- ">=",
5070
- [5, "0"]
5287
+ "offX",
5288
+ "*",
5289
+ [
5290
+ 7,
5291
+ "dir",
5292
+ "x"
5293
+ ]
5071
5294
  ],
5072
- "&&",
5295
+ "+",
5073
5296
  [
5074
5297
  1,
5075
- "px",
5076
- "<",
5077
- "RES"
5298
+ "offY",
5299
+ "*",
5300
+ [
5301
+ 7,
5302
+ "dir",
5303
+ "y"
5304
+ ]
5078
5305
  ]
5079
- ],
5080
- "&&",
5306
+ ]
5307
+ ],
5308
+ [
5309
+ 13,
5310
+ "n",
5081
5311
  [
5082
5312
  1,
5083
- "py",
5084
- ">=",
5085
- [5, "0"]
5313
+ [
5314
+ 1,
5315
+ "offX",
5316
+ "*",
5317
+ [
5318
+ 4,
5319
+ "-",
5320
+ [
5321
+ 7,
5322
+ "dir",
5323
+ "y"
5324
+ ]
5325
+ ]
5326
+ ],
5327
+ "+",
5328
+ [
5329
+ 1,
5330
+ "offY",
5331
+ "*",
5332
+ [
5333
+ 7,
5334
+ "dir",
5335
+ "x"
5336
+ ]
5337
+ ]
5086
5338
  ]
5087
5339
  ],
5088
- "&&",
5089
- [
5090
- 1,
5091
- "py",
5092
- "<",
5093
- "RES"
5094
- ]
5095
- ],
5096
- [0, [
5097
5340
  [
5098
5341
  13,
5099
- "offX",
5342
+ "tGlow",
5100
5343
  [
5101
5344
  1,
5345
+ "t",
5346
+ "-",
5102
5347
  [
5103
- 1,
5348
+ 6,
5349
+ [
5350
+ 7,
5351
+ "std",
5352
+ "clamp"
5353
+ ],
5354
+ [
5355
+ "t",
5356
+ [
5357
+ 4,
5358
+ "-",
5359
+ "hl"
5360
+ ],
5361
+ "hl"
5362
+ ]
5363
+ ]
5364
+ ]
5365
+ ],
5366
+ [
5367
+ 13,
5368
+ "tEval",
5369
+ [
5370
+ 6,
5371
+ [
5372
+ 7,
5373
+ "std",
5374
+ "select"
5375
+ ],
5376
+ [
5377
+ "t",
5378
+ "tGlow",
5104
5379
  [
5105
5380
  1,
5106
5381
  [
5107
- 1,
5382
+ 6,
5108
5383
  [
5109
- 6,
5110
- [
5111
- 7,
5112
- "d",
5113
- "f32"
5114
- ],
5115
- ["px"]
5384
+ 7,
5385
+ "d",
5386
+ "f32"
5116
5387
  ],
5117
- "+",
5118
- [5, "0.5"]
5388
+ ["SOFT"]
5119
5389
  ],
5120
- "*",
5121
- "INV_RES"
5390
+ ">",
5391
+ [5, "0.5"]
5392
+ ]
5393
+ ]
5394
+ ]
5395
+ ],
5396
+ [
5397
+ 13,
5398
+ "tk",
5399
+ [
5400
+ 6,
5401
+ [
5402
+ 7,
5403
+ "std",
5404
+ "clamp"
5405
+ ],
5406
+ [
5407
+ [
5408
+ 1,
5409
+ [
5410
+ 1,
5411
+ "hl",
5412
+ "-",
5413
+ "t"
5414
+ ],
5415
+ "/",
5416
+ [
5417
+ 6,
5418
+ [
5419
+ 7,
5420
+ "std",
5421
+ "max"
5422
+ ],
5423
+ [[
5424
+ 1,
5425
+ "hl",
5426
+ "*",
5427
+ [5, "2"]
5428
+ ], [5, "0.000001"]]
5429
+ ]
5122
5430
  ],
5123
- "*",
5124
- [
5125
- 7,
5126
- "prm",
5127
- "aspect"
5128
- ]
5129
- ],
5130
- "-",
5131
- [
5132
- 7,
5133
- "pos",
5134
- "x"
5431
+ [5, "0"],
5432
+ [5, "1"]
5135
5433
  ]
5136
5434
  ]
5137
5435
  ],
5138
5436
  [
5139
5437
  13,
5140
- "offY",
5438
+ "bright",
5141
5439
  [
5142
5440
  1,
5441
+ [5, "1"],
5442
+ "-",
5143
5443
  [
5144
5444
  1,
5145
5445
  [
5146
5446
  1,
5147
- [
5148
- 6,
5149
- [
5150
- 7,
5151
- "d",
5152
- "f32"
5153
- ],
5154
- ["py"]
5155
- ],
5156
- "+",
5157
- [5, "0.5"]
5447
+ [5, "0.55"],
5448
+ "*",
5449
+ "tk"
5158
5450
  ],
5159
5451
  "*",
5160
- "INV_RES"
5161
- ],
5162
- "-",
5163
- [
5164
- 7,
5165
- "pos",
5166
- "y"
5452
+ [
5453
+ 6,
5454
+ [
5455
+ 7,
5456
+ "d",
5457
+ "f32"
5458
+ ],
5459
+ ["SOFT"]
5460
+ ]
5167
5461
  ]
5168
5462
  ]
5169
5463
  ],
5170
5464
  [
5171
- 11,
5465
+ 13,
5466
+ "qEval",
5172
5467
  [
5173
5468
  1,
5174
5469
  [
5175
5470
  1,
5176
5471
  [
5177
5472
  1,
5178
- "offX",
5473
+ "tEval",
5179
5474
  "*",
5180
- "offX"
5475
+ "tEval"
5181
5476
  ],
5182
5477
  "+",
5183
5478
  [
5184
5479
  1,
5185
- "offY",
5480
+ "n",
5186
5481
  "*",
5187
- "offY"
5188
- ]
5189
- ],
5190
- "<",
5191
- "extSq"
5192
- ],
5193
- [0, [
5194
- [
5195
- 13,
5196
- "t",
5197
- [
5198
- 1,
5199
- [
5200
- 1,
5201
- "offX",
5202
- "*",
5203
- [
5204
- 7,
5205
- "dir",
5206
- "x"
5207
- ]
5208
- ],
5209
- "+",
5210
- [
5211
- 1,
5212
- "offY",
5213
- "*",
5214
- [
5215
- 7,
5216
- "dir",
5217
- "y"
5218
- ]
5219
- ]
5482
+ "n"
5220
5483
  ]
5221
5484
  ],
5485
+ "*",
5486
+ "invR2"
5487
+ ]
5488
+ ],
5489
+ [
5490
+ 13,
5491
+ "w",
5492
+ [
5493
+ 1,
5222
5494
  [
5223
- 13,
5224
- "n",
5495
+ 6,
5496
+ "weightFn",
5225
5497
  [
5226
- 1,
5227
- [
5228
- 1,
5229
- "offX",
5230
- "*",
5231
- [
5232
- 4,
5233
- "-",
5234
- [
5235
- 7,
5236
- "dir",
5237
- "y"
5238
- ]
5239
- ]
5240
- ],
5241
- "+",
5242
- [
5243
- 1,
5244
- "offY",
5245
- "*",
5246
- [
5247
- 7,
5248
- "dir",
5249
- "x"
5250
- ]
5251
- ]
5498
+ "qEval",
5499
+ "tEval",
5500
+ "n",
5501
+ "bodyR",
5502
+ "AA_W"
5252
5503
  ]
5253
5504
  ],
5505
+ "*",
5506
+ "bright"
5507
+ ]
5508
+ ],
5509
+ [
5510
+ 13,
5511
+ "e",
5512
+ [
5513
+ 6,
5254
5514
  [
5255
- 13,
5256
- "tGlow",
5257
- [
5258
- 1,
5259
- "t",
5260
- "-",
5261
- [
5262
- 6,
5263
- [
5264
- 7,
5265
- "std",
5266
- "clamp"
5267
- ],
5268
- [
5269
- "t",
5270
- [
5271
- 4,
5272
- "-",
5273
- "hl"
5274
- ],
5275
- "hl"
5276
- ]
5277
- ]
5278
- ]
5515
+ 7,
5516
+ "d",
5517
+ "u32"
5279
5518
  ],
5280
- [
5281
- 13,
5282
- "tEval",
5519
+ [[
5520
+ 1,
5521
+ "w",
5522
+ "*",
5283
5523
  [
5284
5524
  6,
5285
5525
  [
5286
5526
  7,
5287
- "std",
5288
- "select"
5527
+ "d",
5528
+ "f32"
5289
5529
  ],
5290
- [
5291
- "t",
5292
- "tGlow",
5293
- [
5294
- 1,
5295
- [
5296
- 6,
5297
- [
5298
- 7,
5299
- "d",
5300
- "f32"
5301
- ],
5302
- ["SOFT"]
5303
- ],
5304
- ">",
5305
- [5, "0.5"]
5306
- ]
5307
- ]
5530
+ ["GAIN"]
5308
5531
  ]
5309
- ],
5532
+ ]]
5533
+ ]
5534
+ ],
5535
+ [
5536
+ 11,
5537
+ [
5538
+ 1,
5539
+ "e",
5540
+ ">",
5541
+ [
5542
+ 6,
5543
+ [
5544
+ 7,
5545
+ "d",
5546
+ "u32"
5547
+ ],
5548
+ [[5, "0"]]
5549
+ ]
5550
+ ],
5551
+ [0, [
5310
5552
  [
5311
5553
  13,
5312
- "tk",
5554
+ "idx",
5313
5555
  [
5314
5556
  6,
5315
5557
  [
5316
5558
  7,
5317
- "std",
5318
- "clamp"
5559
+ "d",
5560
+ "u32"
5319
5561
  ],
5320
- [
5562
+ [[
5563
+ 1,
5321
5564
  [
5322
5565
  1,
5323
- [
5324
- 1,
5325
- "hl",
5326
- "-",
5327
- "t"
5328
- ],
5329
- "/",
5566
+ "py",
5567
+ "*",
5330
5568
  [
5331
5569
  6,
5332
5570
  [
5333
5571
  7,
5334
- "std",
5335
- "max"
5572
+ "d",
5573
+ "i32"
5336
5574
  ],
5337
- [[
5338
- 1,
5339
- "hl",
5340
- "*",
5341
- [5, "2"]
5342
- ], [5, "0.000001"]]
5575
+ ["RES"]
5343
5576
  ]
5344
5577
  ],
5345
- [5, "0"],
5346
- [5, "1"]
5347
- ]
5578
+ "+",
5579
+ "px"
5580
+ ]]
5348
5581
  ]
5349
5582
  ],
5350
5583
  [
5351
- 13,
5352
- "bright",
5584
+ 6,
5353
5585
  [
5354
- 1,
5355
- [5, "1"],
5356
- "-",
5586
+ 7,
5587
+ "std",
5588
+ "atomicAdd"
5589
+ ],
5590
+ [[
5591
+ 8,
5357
5592
  [
5358
- 1,
5593
+ 7,
5359
5594
  [
5360
- 1,
5361
- [5, "0.55"],
5362
- "*",
5363
- "tk"
5595
+ 7,
5596
+ "pfLayout",
5597
+ "$"
5364
5598
  ],
5365
- "*",
5366
- [
5367
- 6,
5368
- [
5369
- 7,
5370
- "d",
5371
- "f32"
5372
- ],
5373
- ["SOFT"]
5374
- ]
5375
- ]
5376
- ]
5599
+ "accumE"
5600
+ ],
5601
+ "idx"
5602
+ ], "e"]
5377
5603
  ],
5378
5604
  [
5379
- 13,
5380
- "w",
5605
+ 6,
5381
5606
  [
5382
- 1,
5607
+ 7,
5608
+ "std",
5609
+ "atomicAdd"
5610
+ ],
5611
+ [[
5612
+ 8,
5383
5613
  [
5384
- 6,
5385
- "weightFn",
5614
+ 7,
5386
5615
  [
5387
- "tEval",
5388
- "n",
5389
- "bodyR",
5390
- "AA_W",
5391
- [
5392
- 6,
5393
- [
5394
- 7,
5395
- "d",
5396
- "f32"
5397
- ],
5398
- ["SOFT"]
5399
- ]
5400
- ]
5616
+ 7,
5617
+ "pfLayout",
5618
+ "$"
5619
+ ],
5620
+ "accumS"
5401
5621
  ],
5402
- "*",
5403
- "bright"
5404
- ]
5405
- ],
5406
- [
5407
- 13,
5408
- "e",
5409
- [
5622
+ "idx"
5623
+ ], [
5410
5624
  6,
5411
5625
  [
5412
5626
  7,
@@ -5415,149 +5629,43 @@ function makeParticleFlowSplatKernel(shape) {
5415
5629
  ],
5416
5630
  [[
5417
5631
  1,
5418
- "w",
5419
- "*",
5420
- [
5421
- 6,
5422
- [
5423
- 7,
5424
- "d",
5425
- "f32"
5426
- ],
5427
- ["GAIN"]
5428
- ]
5429
- ]]
5430
- ]
5431
- ],
5432
- [
5433
- 11,
5434
- [
5435
- 1,
5436
- "e",
5437
- ">",
5438
- [
5439
- 6,
5440
- [
5441
- 7,
5442
- "d",
5443
- "u32"
5444
- ],
5445
- [[5, "0"]]
5446
- ]
5447
- ],
5448
- [0, [
5449
- [
5450
- 13,
5451
- "idx",
5452
- [
5453
- 6,
5454
- [
5455
- 7,
5456
- "d",
5457
- "u32"
5458
- ],
5459
- [[
5460
- 1,
5461
- [
5462
- 1,
5463
- "py",
5464
- "*",
5465
- "RES"
5466
- ],
5467
- "+",
5468
- "px"
5469
- ]]
5470
- ]
5471
- ],
5472
- [
5473
- 6,
5474
- [
5475
- 7,
5476
- "std",
5477
- "atomicAdd"
5478
- ],
5479
- [[
5480
- 8,
5481
- [
5482
- 7,
5483
- [
5484
- 7,
5485
- "pfLayout",
5486
- "$"
5487
- ],
5488
- "accumE"
5489
- ],
5490
- "idx"
5491
- ], "e"]
5492
- ],
5493
- [
5494
- 6,
5495
5632
  [
5496
- 7,
5497
- "std",
5498
- "atomicAdd"
5633
+ 1,
5634
+ "w",
5635
+ "*",
5636
+ "agitI"
5499
5637
  ],
5500
- [[
5501
- 8,
5502
- [
5503
- 7,
5504
- [
5505
- 7,
5506
- "pfLayout",
5507
- "$"
5508
- ],
5509
- "accumS"
5510
- ],
5511
- "idx"
5512
- ], [
5638
+ "*",
5639
+ [
5513
5640
  6,
5514
5641
  [
5515
5642
  7,
5516
5643
  "d",
5517
- "u32"
5644
+ "f32"
5518
5645
  ],
5519
- [[
5520
- 1,
5521
- [
5522
- 1,
5523
- "w",
5524
- "*",
5525
- "agitI"
5526
- ],
5527
- "*",
5528
- [
5529
- 6,
5530
- [
5531
- 7,
5532
- "d",
5533
- "f32"
5534
- ],
5535
- ["GAIN"]
5536
- ]
5537
- ]]
5538
- ]]
5539
- ]
5646
+ ["GAIN"]
5647
+ ]
5648
+ ]]
5540
5649
  ]]
5541
5650
  ]
5542
5651
  ]]
5543
5652
  ]
5544
5653
  ]]
5545
- ]
5546
- ]]
5547
- ]]]
5654
+ ]]]
5655
+ ]
5656
+ ]]
5548
5657
  ]
5549
5658
  ]],
5550
5659
  "externalNames": [
5551
5660
  "pfLayout",
5552
5661
  "d",
5553
5662
  "std",
5663
+ "SPLAT_R",
5664
+ "INV_RES",
5554
5665
  "HL",
5555
5666
  "EXT",
5556
5667
  "AA_W",
5557
5668
  "RES",
5558
- "SPLAT_WIN",
5559
- "SPLAT_R",
5560
- "INV_RES",
5561
5669
  "SOFT",
5562
5670
  "weightFn",
5563
5671
  "GAIN"
@@ -5567,13 +5675,12 @@ function makeParticleFlowSplatKernel(shape) {
5567
5675
  pfLayout,
5568
5676
  d: data_exports,
5569
5677
  std: std_exports,
5678
+ SPLAT_R,
5679
+ INV_RES,
5570
5680
  HL,
5571
5681
  EXT,
5572
5682
  AA_W,
5573
5683
  RES,
5574
- SPLAT_WIN,
5575
- SPLAT_R,
5576
- INV_RES,
5577
5684
  SOFT,
5578
5685
  weightFn,
5579
5686
  GAIN
@@ -5581,25 +5688,275 @@ function makeParticleFlowSplatKernel(shape) {
5581
5688
  }) && $.f)({})).$name("particleFlowSplat");
5582
5689
  }
5583
5690
  const particleFlowSplatKernel = makeParticleFlowSplatKernel("streak");
5584
- function makeParticleFlowResolveKernel(colorSpaceMode) {
5691
+ function makeParticleFlowResolveKernel(colorSpaceMode, trailsOn) {
5585
5692
  const mixFn = mixColorsVariants[colorSpaceMode] ?? mixColorsLinear;
5693
+ const composite = trailsOn ? src_default.fn([
5694
+ vec4f,
5695
+ f32,
5696
+ u32
5697
+ ], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((col, curA, idx) => {
5698
+ "use gpu";
5699
+ const prev = pfLayout.$.trailBuf[idx];
5700
+ const prevA = __tsover_mul(prev.w, pfLayout.$.params.trails);
5701
+ const win = curA >= prevA;
5702
+ const rgb = select(vec3f(prev.x, prev.y, prev.z), vec3f(col.x, col.y, col.z), win);
5703
+ return vec4f(rgb.x, rgb.y, rgb.z, max(curA, prevA));
5704
+ }), {
5705
+ v: 1,
5706
+ name: void 0,
5707
+ ast: {
5708
+ "params": [
5709
+ {
5710
+ "type": "i",
5711
+ "name": "col"
5712
+ },
5713
+ {
5714
+ "type": "i",
5715
+ "name": "curA"
5716
+ },
5717
+ {
5718
+ "type": "i",
5719
+ "name": "idx"
5720
+ }
5721
+ ],
5722
+ "body": [0, [
5723
+ [
5724
+ 13,
5725
+ "prev",
5726
+ [
5727
+ 8,
5728
+ [
5729
+ 7,
5730
+ [
5731
+ 7,
5732
+ "pfLayout",
5733
+ "$"
5734
+ ],
5735
+ "trailBuf"
5736
+ ],
5737
+ "idx"
5738
+ ]
5739
+ ],
5740
+ [
5741
+ 13,
5742
+ "prevA",
5743
+ [
5744
+ 1,
5745
+ [
5746
+ 7,
5747
+ "prev",
5748
+ "w"
5749
+ ],
5750
+ "*",
5751
+ [
5752
+ 7,
5753
+ [
5754
+ 7,
5755
+ [
5756
+ 7,
5757
+ "pfLayout",
5758
+ "$"
5759
+ ],
5760
+ "params"
5761
+ ],
5762
+ "trails"
5763
+ ]
5764
+ ]
5765
+ ],
5766
+ [
5767
+ 13,
5768
+ "win",
5769
+ [
5770
+ 1,
5771
+ "curA",
5772
+ ">=",
5773
+ "prevA"
5774
+ ]
5775
+ ],
5776
+ [
5777
+ 13,
5778
+ "rgb",
5779
+ [
5780
+ 6,
5781
+ [
5782
+ 7,
5783
+ "std",
5784
+ "select"
5785
+ ],
5786
+ [
5787
+ [
5788
+ 6,
5789
+ [
5790
+ 7,
5791
+ "d",
5792
+ "vec3f"
5793
+ ],
5794
+ [
5795
+ [
5796
+ 7,
5797
+ "prev",
5798
+ "x"
5799
+ ],
5800
+ [
5801
+ 7,
5802
+ "prev",
5803
+ "y"
5804
+ ],
5805
+ [
5806
+ 7,
5807
+ "prev",
5808
+ "z"
5809
+ ]
5810
+ ]
5811
+ ],
5812
+ [
5813
+ 6,
5814
+ [
5815
+ 7,
5816
+ "d",
5817
+ "vec3f"
5818
+ ],
5819
+ [
5820
+ [
5821
+ 7,
5822
+ "col",
5823
+ "x"
5824
+ ],
5825
+ [
5826
+ 7,
5827
+ "col",
5828
+ "y"
5829
+ ],
5830
+ [
5831
+ 7,
5832
+ "col",
5833
+ "z"
5834
+ ]
5835
+ ]
5836
+ ],
5837
+ "win"
5838
+ ]
5839
+ ]
5840
+ ],
5841
+ [10, [
5842
+ 6,
5843
+ [
5844
+ 7,
5845
+ "d",
5846
+ "vec4f"
5847
+ ],
5848
+ [
5849
+ [
5850
+ 7,
5851
+ "rgb",
5852
+ "x"
5853
+ ],
5854
+ [
5855
+ 7,
5856
+ "rgb",
5857
+ "y"
5858
+ ],
5859
+ [
5860
+ 7,
5861
+ "rgb",
5862
+ "z"
5863
+ ],
5864
+ [
5865
+ 6,
5866
+ [
5867
+ 7,
5868
+ "std",
5869
+ "max"
5870
+ ],
5871
+ ["curA", "prevA"]
5872
+ ]
5873
+ ]
5874
+ ]]
5875
+ ]],
5876
+ "externalNames": [
5877
+ "pfLayout",
5878
+ "std",
5879
+ "d"
5880
+ ]
5881
+ },
5882
+ externals: () => ({
5883
+ pfLayout,
5884
+ std: std_exports,
5885
+ d: data_exports
5886
+ })
5887
+ }) && $.f)({})).$name("particleFlowTrailComposite") : src_default.fn([
5888
+ vec4f,
5889
+ f32,
5890
+ u32
5891
+ ], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((col, curA, _idx) => {
5892
+ "use gpu";
5893
+ return vec4f(col.x, col.y, col.z, curA);
5894
+ }), {
5895
+ v: 1,
5896
+ name: void 0,
5897
+ ast: {
5898
+ "params": [
5899
+ {
5900
+ "type": "i",
5901
+ "name": "col"
5902
+ },
5903
+ {
5904
+ "type": "i",
5905
+ "name": "curA"
5906
+ },
5907
+ {
5908
+ "type": "i",
5909
+ "name": "_idx"
5910
+ }
5911
+ ],
5912
+ "body": [0, [[10, [
5913
+ 6,
5914
+ [
5915
+ 7,
5916
+ "d",
5917
+ "vec4f"
5918
+ ],
5919
+ [
5920
+ [
5921
+ 7,
5922
+ "col",
5923
+ "x"
5924
+ ],
5925
+ [
5926
+ 7,
5927
+ "col",
5928
+ "y"
5929
+ ],
5930
+ [
5931
+ 7,
5932
+ "col",
5933
+ "z"
5934
+ ],
5935
+ "curA"
5936
+ ]
5937
+ ]]]],
5938
+ "externalNames": ["d"]
5939
+ },
5940
+ externals: () => ({ d: data_exports })
5941
+ }) && $.f)({})).$name("particleFlowTrailComposite");
5586
5942
  return src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
5587
5943
  "use gpu";
5588
5944
  const prm = pfLayout.$.params;
5589
5945
  const idx = __tsover_add(__tsover_mul(y, u32(RES)), x);
5590
5946
  const eRaw = f32(atomicLoad(pfLayout.$.accumE[idx]));
5947
+ atomicStore(pfLayout.$.accumE[idx], u32(0));
5591
5948
  const sRaw = f32(atomicLoad(pfLayout.$.accumS[idx]));
5949
+ atomicStore(pfLayout.$.accumS[idx], u32(0));
5592
5950
  const energy = __tsover_mul(eRaw, __tsover_div(1, 255));
5593
- const agitAvg = __tsover_div(sRaw, max(eRaw, 1));
5594
- const col = mixFn(prm.colA, prm.colB, clamp(agitAvg, 0, 1));
5951
+ let col = vec4f(prm.colA);
5952
+ if (eRaw > 0) {
5953
+ const agitAvg = __tsover_div(sRaw, max(eRaw, 1));
5954
+ col = mixFn(prm.colA, prm.colB, clamp(agitAvg, 0, 1));
5955
+ }
5595
5956
  const curA = __tsover_mul(__tsover_sub(1, exp(__tsover_mul(energy, -1.6))), col.w);
5596
- const prev = pfLayout.$.trailBuf[idx];
5597
- const prevA = __tsover_mul(prev.w, prm.trails);
5598
- const win = curA >= prevA;
5599
- const outA = max(curA, prevA);
5600
- const outRGB = select(vec3f(prev.x, prev.y, prev.z), vec3f(col.x, col.y, col.z), win);
5601
- pfLayout.$.trailBuf[idx] = vec4f(outRGB.x, outRGB.y, outRGB.z, outA);
5602
- textureStore(pfLayout.$.outTex, vec2u(x, y), vec4f(outRGB.x, outRGB.y, outRGB.z, outA));
5957
+ const out = composite(col, curA, idx);
5958
+ pfLayout.$.trailBuf[idx] = vec4f(out);
5959
+ textureStore(pfLayout.$.outTex, vec2u(x, y), out);
5603
5960
  }), {
5604
5961
  v: 1,
5605
5962
  name: void 0,
@@ -5681,6 +6038,35 @@ function makeParticleFlowResolveKernel(colorSpaceMode) {
5681
6038
  ]]
5682
6039
  ]
5683
6040
  ],
6041
+ [
6042
+ 6,
6043
+ [
6044
+ 7,
6045
+ "std",
6046
+ "atomicStore"
6047
+ ],
6048
+ [[
6049
+ 8,
6050
+ [
6051
+ 7,
6052
+ [
6053
+ 7,
6054
+ "pfLayout",
6055
+ "$"
6056
+ ],
6057
+ "accumE"
6058
+ ],
6059
+ "idx"
6060
+ ], [
6061
+ 6,
6062
+ [
6063
+ 7,
6064
+ "d",
6065
+ "u32"
6066
+ ],
6067
+ [[5, "0"]]
6068
+ ]]
6069
+ ],
5684
6070
  [
5685
6071
  13,
5686
6072
  "sRaw",
@@ -5714,6 +6100,35 @@ function makeParticleFlowResolveKernel(colorSpaceMode) {
5714
6100
  ]]
5715
6101
  ]
5716
6102
  ],
6103
+ [
6104
+ 6,
6105
+ [
6106
+ 7,
6107
+ "std",
6108
+ "atomicStore"
6109
+ ],
6110
+ [[
6111
+ 8,
6112
+ [
6113
+ 7,
6114
+ [
6115
+ 7,
6116
+ "pfLayout",
6117
+ "$"
6118
+ ],
6119
+ "accumS"
6120
+ ],
6121
+ "idx"
6122
+ ], [
6123
+ 6,
6124
+ [
6125
+ 7,
6126
+ "d",
6127
+ "u32"
6128
+ ],
6129
+ [[5, "0"]]
6130
+ ]]
6131
+ ],
5717
6132
  [
5718
6133
  13,
5719
6134
  "energy",
@@ -5730,55 +6145,81 @@ function makeParticleFlowResolveKernel(colorSpaceMode) {
5730
6145
  ]
5731
6146
  ],
5732
6147
  [
5733
- 13,
5734
- "agitAvg",
6148
+ 12,
6149
+ "col",
5735
6150
  [
5736
- 1,
5737
- "sRaw",
5738
- "/",
6151
+ 6,
5739
6152
  [
5740
- 6,
5741
- [
5742
- 7,
5743
- "std",
5744
- "max"
5745
- ],
5746
- ["eRaw", [5, "1"]]
5747
- ]
6153
+ 7,
6154
+ "d",
6155
+ "vec4f"
6156
+ ],
6157
+ [[
6158
+ 7,
6159
+ "prm",
6160
+ "colA"
6161
+ ]]
5748
6162
  ]
5749
6163
  ],
5750
6164
  [
5751
- 13,
5752
- "col",
6165
+ 11,
5753
6166
  [
5754
- 6,
5755
- "mixFn",
6167
+ 1,
6168
+ "eRaw",
6169
+ ">",
6170
+ [5, "0"]
6171
+ ],
6172
+ [0, [[
6173
+ 13,
6174
+ "agitAvg",
5756
6175
  [
5757
- [
5758
- 7,
5759
- "prm",
5760
- "colA"
5761
- ],
5762
- [
5763
- 7,
5764
- "prm",
5765
- "colB"
5766
- ],
6176
+ 1,
6177
+ "sRaw",
6178
+ "/",
5767
6179
  [
5768
6180
  6,
5769
6181
  [
5770
6182
  7,
5771
6183
  "std",
5772
- "clamp"
6184
+ "max"
5773
6185
  ],
6186
+ ["eRaw", [5, "1"]]
6187
+ ]
6188
+ ]
6189
+ ], [
6190
+ 2,
6191
+ "col",
6192
+ "=",
6193
+ [
6194
+ 6,
6195
+ "mixFn",
6196
+ [
5774
6197
  [
5775
- "agitAvg",
5776
- [5, "0"],
5777
- [5, "1"]
6198
+ 7,
6199
+ "prm",
6200
+ "colA"
6201
+ ],
6202
+ [
6203
+ 7,
6204
+ "prm",
6205
+ "colB"
6206
+ ],
6207
+ [
6208
+ 6,
6209
+ [
6210
+ 7,
6211
+ "std",
6212
+ "clamp"
6213
+ ],
6214
+ [
6215
+ "agitAvg",
6216
+ [5, "0"],
6217
+ [5, "1"]
6218
+ ]
5778
6219
  ]
5779
6220
  ]
5780
6221
  ]
5781
- ]
6222
+ ]]]
5782
6223
  ],
5783
6224
  [
5784
6225
  13,
@@ -5818,124 +6259,14 @@ function makeParticleFlowResolveKernel(colorSpaceMode) {
5818
6259
  ],
5819
6260
  [
5820
6261
  13,
5821
- "prev",
5822
- [
5823
- 8,
5824
- [
5825
- 7,
5826
- [
5827
- 7,
5828
- "pfLayout",
5829
- "$"
5830
- ],
5831
- "trailBuf"
5832
- ],
5833
- "idx"
5834
- ]
5835
- ],
5836
- [
5837
- 13,
5838
- "prevA",
5839
- [
5840
- 1,
5841
- [
5842
- 7,
5843
- "prev",
5844
- "w"
5845
- ],
5846
- "*",
5847
- [
5848
- 7,
5849
- "prm",
5850
- "trails"
5851
- ]
5852
- ]
5853
- ],
5854
- [
5855
- 13,
5856
- "win",
5857
- [
5858
- 1,
5859
- "curA",
5860
- ">=",
5861
- "prevA"
5862
- ]
5863
- ],
5864
- [
5865
- 13,
5866
- "outA",
5867
- [
5868
- 6,
5869
- [
5870
- 7,
5871
- "std",
5872
- "max"
5873
- ],
5874
- ["curA", "prevA"]
5875
- ]
5876
- ],
5877
- [
5878
- 13,
5879
- "outRGB",
6262
+ "out",
5880
6263
  [
5881
6264
  6,
6265
+ "composite",
5882
6266
  [
5883
- 7,
5884
- "std",
5885
- "select"
5886
- ],
5887
- [
5888
- [
5889
- 6,
5890
- [
5891
- 7,
5892
- "d",
5893
- "vec3f"
5894
- ],
5895
- [
5896
- [
5897
- 7,
5898
- "prev",
5899
- "x"
5900
- ],
5901
- [
5902
- 7,
5903
- "prev",
5904
- "y"
5905
- ],
5906
- [
5907
- 7,
5908
- "prev",
5909
- "z"
5910
- ]
5911
- ]
5912
- ],
5913
- [
5914
- 6,
5915
- [
5916
- 7,
5917
- "d",
5918
- "vec3f"
5919
- ],
5920
- [
5921
- [
5922
- 7,
5923
- "col",
5924
- "x"
5925
- ],
5926
- [
5927
- 7,
5928
- "col",
5929
- "y"
5930
- ],
5931
- [
5932
- 7,
5933
- "col",
5934
- "z"
5935
- ]
5936
- ]
5937
- ],
5938
- "win"
6267
+ "col",
6268
+ "curA",
6269
+ "idx"
5939
6270
  ]
5940
6271
  ]
5941
6272
  ],
@@ -5962,24 +6293,7 @@ function makeParticleFlowResolveKernel(colorSpaceMode) {
5962
6293
  "d",
5963
6294
  "vec4f"
5964
6295
  ],
5965
- [
5966
- [
5967
- 7,
5968
- "outRGB",
5969
- "x"
5970
- ],
5971
- [
5972
- 7,
5973
- "outRGB",
5974
- "y"
5975
- ],
5976
- [
5977
- 7,
5978
- "outRGB",
5979
- "z"
5980
- ],
5981
- "outA"
5982
- ]
6296
+ ["out"]
5983
6297
  ]
5984
6298
  ],
5985
6299
  [
@@ -6008,32 +6322,7 @@ function makeParticleFlowResolveKernel(colorSpaceMode) {
6008
6322
  ],
6009
6323
  ["x", "y"]
6010
6324
  ],
6011
- [
6012
- 6,
6013
- [
6014
- 7,
6015
- "d",
6016
- "vec4f"
6017
- ],
6018
- [
6019
- [
6020
- 7,
6021
- "outRGB",
6022
- "x"
6023
- ],
6024
- [
6025
- 7,
6026
- "outRGB",
6027
- "y"
6028
- ],
6029
- [
6030
- 7,
6031
- "outRGB",
6032
- "z"
6033
- ],
6034
- "outA"
6035
- ]
6036
- ]
6325
+ "out"
6037
6326
  ]
6038
6327
  ]
6039
6328
  ]],
@@ -6042,7 +6331,8 @@ function makeParticleFlowResolveKernel(colorSpaceMode) {
6042
6331
  "d",
6043
6332
  "RES",
6044
6333
  "std",
6045
- "mixFn"
6334
+ "mixFn",
6335
+ "composite"
6046
6336
  ]
6047
6337
  },
6048
6338
  externals: () => ({
@@ -6050,11 +6340,12 @@ function makeParticleFlowResolveKernel(colorSpaceMode) {
6050
6340
  d: data_exports,
6051
6341
  RES,
6052
6342
  std: std_exports,
6053
- mixFn
6343
+ mixFn,
6344
+ composite
6054
6345
  })
6055
6346
  }) && $.f)({})).$name("particleFlowResolve");
6056
6347
  }
6057
- const particleFlowResolveKernel = makeParticleFlowResolveKernel(2);
6348
+ const particleFlowResolveKernel = makeParticleFlowResolveKernel(2, false);
6058
6349
  const componentDefinition = {
6059
6350
  name: "ParticleFlow",
6060
6351
  boundingBoxDeclaration: { aspectRatio: null },
@@ -6133,6 +6424,7 @@ const componentDefinition = {
6133
6424
  },
6134
6425
  trails: {
6135
6426
  default: 0,
6427
+ compileTimeWhen: (previousValue, newValue) => previousValue > 0 !== newValue > 0,
6136
6428
  description: "How long each particle's motion trail persists — 0 draws crisp dust, 1 leaves long flowing ribbons",
6137
6429
  ui: {
6138
6430
  type: "range",
@@ -6310,8 +6602,9 @@ const componentDefinition = {
6310
6602
  const gradSubtract = mkFluid(particleFlowGradSubtractKernel);
6311
6603
  const advectVel = mkFluid(particleFlowAdvectVelKernel);
6312
6604
  const copyVel = mkFluid(particleFlowCopyVelKernel);
6605
+ const trailsCpu = getCpuValue("trails");
6313
6606
  const splatKernel = makeParticleFlowSplatKernel(getCpuValue("shape") || "streak");
6314
- const resolveKernel = makeParticleFlowResolveKernel(getCpuValue("colorSpace") ?? 2);
6607
+ const resolveKernel = makeParticleFlowResolveKernel(getCpuValue("colorSpace") ?? 2, typeof trailsCpu === "number" && trailsCpu > 0);
6315
6608
  const init = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
6316
6609
  "use gpu";
6317
6610
  particleFlowInitKernel(i);
@@ -6332,29 +6625,6 @@ const componentDefinition = {
6332
6625
  },
6333
6626
  externals: () => ({ particleFlowInitKernel })
6334
6627
  }) && $.f)({})).with(pfBg);
6335
- const clearAccum = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
6336
- "use gpu";
6337
- particleFlowClearKernel(x, y);
6338
- }), {
6339
- v: 1,
6340
- name: void 0,
6341
- ast: {
6342
- "params": [{
6343
- "type": "i",
6344
- "name": "x"
6345
- }, {
6346
- "type": "i",
6347
- "name": "y"
6348
- }],
6349
- "body": [0, [[
6350
- 6,
6351
- "particleFlowClearKernel",
6352
- ["x", "y"]
6353
- ]]],
6354
- "externalNames": ["particleFlowClearKernel"]
6355
- },
6356
- externals: () => ({ particleFlowClearKernel })
6357
- }) && $.f)({}), { size: [RES, RES] }).with(pfBg);
6358
6628
  const integrate = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
6359
6629
  "use gpu";
6360
6630
  particleFlowIntegrateKernel(i);
@@ -6425,6 +6695,7 @@ const componentDefinition = {
6425
6695
  let ambientTime = 0;
6426
6696
  let warmup = 0;
6427
6697
  let initialized = false;
6698
+ const countCap = isMobileGpuViewport() ? COUNT_MAX_MOBILE : MAX_PARTICLES;
6428
6699
  const num = (key, fallback) => {
6429
6700
  const v = getCpuValue(key);
6430
6701
  return typeof v === "number" ? v : fallback;
@@ -6445,8 +6716,8 @@ const componentDefinition = {
6445
6716
  const ambient = Math.min(Math.max(num("ambient", .15), 0), 1);
6446
6717
  const momentum = Math.min(Math.max(num("momentum", .6), 0), 1);
6447
6718
  const advect = num("speed", 1);
6448
- const count = Math.min(Math.max(Math.round(num("count", 6e3)), 100), MAX_PARTICLES);
6449
- const bodyR = Math.min(Math.max(num("size", 1.2), .3), 3) * 1.3 * INV_RES;
6719
+ const count = Math.min(Math.max(Math.round(num("count", 6e3)), 100), countCap);
6720
+ const bodyR = Math.min(Math.max(num("size", 1.2), .3), 3) * 1.3 / SIZE_REF_RES;
6450
6721
  const oldMx = prevMx;
6451
6722
  const oldMy = prevMy;
6452
6723
  const mx = fp.pointer?.x ?? prevMx;
@@ -6512,7 +6783,7 @@ const componentDefinition = {
6512
6783
  nodes.push(curl, vorticity, divergencePass);
6513
6784
  for (let iter = 0; iter < JACOBI_ITERS; iter++) nodes.push(jacobi);
6514
6785
  nodes.push(gradSubtract, advectVel, copyVel);
6515
- nodes.push(clearAccum, () => integrate.dispatchThreads(count), () => splat.dispatchThreads(count), resolve);
6786
+ nodes.push(() => integrate.dispatchThreads(count), () => splat.dispatchThreads(count), resolve);
6516
6787
  return nodes;
6517
6788
  }
6518
6789
  };
@@ -6524,4 +6795,4 @@ const componentDefinition = {
6524
6795
  }
6525
6796
  };
6526
6797
  var ParticleFlow_default = componentDefinition;
6527
- export { particleFlowVorticityKernel as _, particleFlowAdvectVelKernel as a, particleFlowCurlKernel as c, particleFlowGradSubtractKernel as d, particleFlowInitKernel as f, particleFlowSplatKernel as g, particleFlowResolveKernel as h, makeParticleFlowSplatKernel as i, particleFlowDivergenceKernel as l, particleFlowJacobiKernel as m, componentDefinition as n, particleFlowClearKernel as o, particleFlowIntegrateKernel as p, makeParticleFlowResolveKernel as r, particleFlowCopyVelKernel as s, ParticleFlow_default as t, particleFlowForceKernel as u };
6798
+ export { particleFlowAdvectVelKernel as a, particleFlowDivergenceKernel as c, particleFlowInitKernel as d, particleFlowIntegrateKernel as f, particleFlowVorticityKernel as g, particleFlowSplatKernel as h, makeParticleFlowSplatKernel as i, particleFlowForceKernel as l, particleFlowResolveKernel as m, componentDefinition as n, particleFlowCopyVelKernel as o, particleFlowJacobiKernel as p, makeParticleFlowResolveKernel as r, particleFlowCurlKernel as s, ParticleFlow_default as t, particleFlowGradSubtractKernel as u };