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,17 +1,20 @@
1
- import { $t as vec2f, Ct as floor, Dt as min, Et as max, Gt as textureStorage2d, Ht as atomic, It as sin, Lt as smoothstep, Ot as mix, Tt as length, Ut as arrayOf, Vt as data_exports, Wt as texture2d, Xt as struct, _t as clamp, an as f32, at as textureStore, bt as dot, d as ZERO, dt as atomicStore, et as src_default, in as vec4f, it as textureLoad, lt as atomicAdd, nn as vec3f, nt as std_exports, on as i32, pt as select, rt as textureDimensions, sn as u32, tn as vec2u, ut as atomicLoad, vt as cos, xt as exp } from "./edges-BXNBKxSN.js";
2
- import { p as noise_exports, s as hash12 } from "./noise-wTSHXgFz.js";
3
- import { n as createGuardedCompute, r as createStateBuffer } from "./compute-BjeJ0sIA.js";
1
+ import { At as mix, Ct as exp, Dt as length, Gt as arrayOf, Kt as texture2d, Ot as max, Qt as struct, Rt as sin, St as dot, Tt as floor, Ut as data_exports, Wt as atomic, bt as cos, cn as i32, d as ZERO, dt as atomicLoad, et as src_default, ft as atomicStore, 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, rt as textureDimensions, sn as f32, tn as vec2f, ut as atomicAdd, vt as ceil, yt as clamp, zt as smoothstep } from "./edges-BZUKQxSE.js";
2
+ import { p as noise_exports, s as hash12 } from "./noise-Cq0KUOSC.js";
3
+ import { n as createGuardedCompute, r as createStateBuffer } from "./compute-BoeIXi0l.js";
4
4
  import { t as isMobileGpuViewport } from "./device-BODv_4aH.js";
5
- import { a as makeAgentWeightFn, c as resolveAgentShape, i as cursorMagnet, n as agents_exports, r as cursorFalloff, s as pointShapeOptions, t as AGENT_SHAPES } from "./agents-Bv3--qPL.js";
5
+ import { a as makeAgentTexelWeightFn, c as pointShapeOptions, i as cursorMagnet, l as resolveAgentShape, n as agents_exports, r as cursorFalloff, t as AGENT_SHAPES } from "./agents-c-JjGH1b.js";
6
6
  var GRID_DIM_MAX = 256;
7
7
  var MAX_PARTICLES = GRID_DIM_MAX * GRID_DIM_MAX;
8
8
  var COUNT_MAX = 4e4;
9
+ var COUNT_MAX_MOBILE = 12e3;
9
10
  var OUT_MAX = isMobileGpuViewport() ? 768 : 1024;
10
11
  var OUT_CELLS = OUT_MAX * OUT_MAX;
11
12
  var SPLAT_R = 8;
12
- var SPLAT_WIN = 17;
13
+ var AA_W = .75;
14
+ var MIN_ALPHA = .002;
13
15
  var STATE_FORMAT = "rgba16float";
14
16
  var FP = 2048;
17
+ var MIN_WEIGHT = 1 / FP;
15
18
  var WOBBLE_FREQ = 1.15;
16
19
  var ALPHA_K = 2.6;
17
20
  var TAU = 6.28318530718;
@@ -370,189 +373,6 @@ var DEPTH_SOURCE_MODES = {
370
373
  saturation: 5,
371
374
  alpha: 6
372
375
  };
373
- const particleFieldClearKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
374
- "use gpu";
375
- const idx = __tsover_add(__tsover_mul(y, u32(fieldLayout.$.params.outW)), x);
376
- atomicStore(fieldLayout.$.accumR[idx], u32(0));
377
- atomicStore(fieldLayout.$.accumG[idx], u32(0));
378
- atomicStore(fieldLayout.$.accumB[idx], u32(0));
379
- atomicStore(fieldLayout.$.accumW[idx], u32(0));
380
- }), {
381
- v: 1,
382
- name: void 0,
383
- ast: {
384
- "params": [{
385
- "type": "i",
386
- "name": "x"
387
- }, {
388
- "type": "i",
389
- "name": "y"
390
- }],
391
- "body": [0, [
392
- [
393
- 13,
394
- "idx",
395
- [
396
- 1,
397
- [
398
- 1,
399
- "y",
400
- "*",
401
- [
402
- 6,
403
- [
404
- 7,
405
- "d",
406
- "u32"
407
- ],
408
- [[
409
- 7,
410
- [
411
- 7,
412
- [
413
- 7,
414
- "fieldLayout",
415
- "$"
416
- ],
417
- "params"
418
- ],
419
- "outW"
420
- ]]
421
- ]
422
- ],
423
- "+",
424
- "x"
425
- ]
426
- ],
427
- [
428
- 6,
429
- [
430
- 7,
431
- "std",
432
- "atomicStore"
433
- ],
434
- [[
435
- 8,
436
- [
437
- 7,
438
- [
439
- 7,
440
- "fieldLayout",
441
- "$"
442
- ],
443
- "accumR"
444
- ],
445
- "idx"
446
- ], [
447
- 6,
448
- [
449
- 7,
450
- "d",
451
- "u32"
452
- ],
453
- [[5, "0"]]
454
- ]]
455
- ],
456
- [
457
- 6,
458
- [
459
- 7,
460
- "std",
461
- "atomicStore"
462
- ],
463
- [[
464
- 8,
465
- [
466
- 7,
467
- [
468
- 7,
469
- "fieldLayout",
470
- "$"
471
- ],
472
- "accumG"
473
- ],
474
- "idx"
475
- ], [
476
- 6,
477
- [
478
- 7,
479
- "d",
480
- "u32"
481
- ],
482
- [[5, "0"]]
483
- ]]
484
- ],
485
- [
486
- 6,
487
- [
488
- 7,
489
- "std",
490
- "atomicStore"
491
- ],
492
- [[
493
- 8,
494
- [
495
- 7,
496
- [
497
- 7,
498
- "fieldLayout",
499
- "$"
500
- ],
501
- "accumB"
502
- ],
503
- "idx"
504
- ], [
505
- 6,
506
- [
507
- 7,
508
- "d",
509
- "u32"
510
- ],
511
- [[5, "0"]]
512
- ]]
513
- ],
514
- [
515
- 6,
516
- [
517
- 7,
518
- "std",
519
- "atomicStore"
520
- ],
521
- [[
522
- 8,
523
- [
524
- 7,
525
- [
526
- 7,
527
- "fieldLayout",
528
- "$"
529
- ],
530
- "accumW"
531
- ],
532
- "idx"
533
- ], [
534
- 6,
535
- [
536
- 7,
537
- "d",
538
- "u32"
539
- ],
540
- [[5, "0"]]
541
- ]]
542
- ]
543
- ]],
544
- "externalNames": [
545
- "d",
546
- "fieldLayout",
547
- "std"
548
- ]
549
- },
550
- externals: () => ({
551
- d: data_exports,
552
- fieldLayout,
553
- std: std_exports
554
- })
555
- }) && $.f)({})).$name("particleFieldClear");
556
376
  function makeParticleFieldSimKernel(channelMode) {
557
377
  const channelFn = channelFns[channelMode] ?? channelLuminance;
558
378
  return src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((gx, gy) => {
@@ -587,7 +407,7 @@ function makeParticleFieldSimKernel(channelMode) {
587
407
  const p4 = fieldLayout.$.pos[i];
588
408
  const v4 = fieldLayout.$.vel[i];
589
409
  const dt = P.dt;
590
- const firstFrame = P.snap > .5;
410
+ const needsSnap = P.snap > .5 || v4.w < .5;
591
411
  const homeW = vec2f(__tsover_mul(__tsover_sub(homeU, .5), P.aspect), __tsover_sub(homeV, .5));
592
412
  const off = vec2f(p4.x, p4.y);
593
413
  const pw = vec3f(__tsover_add(homeW.x, off.x), __tsover_add(homeW.y, off.y), p4.z);
@@ -607,12 +427,13 @@ function makeParticleFieldSimKernel(channelMode) {
607
427
  v3 = v3.mul(__tsover_div(min(spd, f32(MAX_SPEED)), max(spd, 1e-5)));
608
428
  let offN = off.add(vec2f(v3.x, v3.y).mul(dt));
609
429
  let curZ = __tsover_add(p4.z, __tsover_mul(v3.z, dt));
610
- offN = select(offN, vec2f(0, 0), firstFrame);
611
- curZ = select(curZ, targetZ, firstFrame);
612
- v3 = select(v3, vec3f(0, 0, 0), firstFrame);
430
+ offN = select(offN, vec2f(0, 0), needsSnap);
431
+ curZ = select(curZ, targetZ, needsSnap);
432
+ v3 = select(v3, vec3f(0, 0, 0), needsSnap);
613
433
  const seed = hash12(vec2f(__tsover_add(f32(gx), .5), __tsover_add(f32(gy), .5)));
434
+ const seenN = select(v4.w, f32(1), a > MIN_ALPHA);
614
435
  fieldLayout.$.pos[i] = vec4f(offN.x, offN.y, curZ, seed);
615
- fieldLayout.$.vel[i] = vec4f(v3.x, v3.y, v3.z, 0);
436
+ fieldLayout.$.vel[i] = vec4f(v3.x, v3.y, v3.z, seenN);
616
437
  }), {
617
438
  v: 1,
618
439
  name: void 0,
@@ -1343,16 +1164,30 @@ function makeParticleFieldSimKernel(channelMode) {
1343
1164
  ],
1344
1165
  [
1345
1166
  13,
1346
- "firstFrame",
1167
+ "needsSnap",
1347
1168
  [
1348
- 1,
1169
+ 3,
1349
1170
  [
1350
- 7,
1351
- "P",
1352
- "snap"
1171
+ 1,
1172
+ [
1173
+ 7,
1174
+ "P",
1175
+ "snap"
1176
+ ],
1177
+ ">",
1178
+ [5, "0.5"]
1353
1179
  ],
1354
- ">",
1355
- [5, "0.5"]
1180
+ "||",
1181
+ [
1182
+ 1,
1183
+ [
1184
+ 7,
1185
+ "v4",
1186
+ "w"
1187
+ ],
1188
+ "<",
1189
+ [5, "0.5"]
1190
+ ]
1356
1191
  ]
1357
1192
  ],
1358
1193
  [
@@ -2285,7 +2120,7 @@ function makeParticleFieldSimKernel(channelMode) {
2285
2120
  ],
2286
2121
  [[5, "0"], [5, "0"]]
2287
2122
  ],
2288
- "firstFrame"
2123
+ "needsSnap"
2289
2124
  ]
2290
2125
  ]
2291
2126
  ],
@@ -2303,7 +2138,7 @@ function makeParticleFieldSimKernel(channelMode) {
2303
2138
  [
2304
2139
  "curZ",
2305
2140
  "targetZ",
2306
- "firstFrame"
2141
+ "needsSnap"
2307
2142
  ]
2308
2143
  ]
2309
2144
  ],
@@ -2333,7 +2168,7 @@ function makeParticleFieldSimKernel(channelMode) {
2333
2168
  [5, "0"]
2334
2169
  ]
2335
2170
  ],
2336
- "firstFrame"
2171
+ "needsSnap"
2337
2172
  ]
2338
2173
  ]
2339
2174
  ],
@@ -2384,6 +2219,40 @@ function makeParticleFieldSimKernel(channelMode) {
2384
2219
  ]]
2385
2220
  ]
2386
2221
  ],
2222
+ [
2223
+ 13,
2224
+ "seenN",
2225
+ [
2226
+ 6,
2227
+ [
2228
+ 7,
2229
+ "std",
2230
+ "select"
2231
+ ],
2232
+ [
2233
+ [
2234
+ 7,
2235
+ "v4",
2236
+ "w"
2237
+ ],
2238
+ [
2239
+ 6,
2240
+ [
2241
+ 7,
2242
+ "d",
2243
+ "f32"
2244
+ ],
2245
+ [[5, "1"]]
2246
+ ],
2247
+ [
2248
+ 1,
2249
+ "a",
2250
+ ">",
2251
+ "MIN_ALPHA"
2252
+ ]
2253
+ ]
2254
+ ]
2255
+ ],
2387
2256
  [
2388
2257
  2,
2389
2258
  [
@@ -2462,7 +2331,7 @@ function makeParticleFieldSimKernel(channelMode) {
2462
2331
  "v3",
2463
2332
  "z"
2464
2333
  ],
2465
- [5, "0"]
2334
+ "seenN"
2466
2335
  ]
2467
2336
  ]
2468
2337
  ]
@@ -2476,7 +2345,8 @@ function makeParticleFieldSimKernel(channelMode) {
2476
2345
  "agents",
2477
2346
  "STIFF",
2478
2347
  "MAX_SPEED",
2479
- "noise"
2348
+ "noise",
2349
+ "MIN_ALPHA"
2480
2350
  ]
2481
2351
  },
2482
2352
  externals: () => ({
@@ -2488,16 +2358,16 @@ function makeParticleFieldSimKernel(channelMode) {
2488
2358
  agents: agents_exports,
2489
2359
  STIFF,
2490
2360
  MAX_SPEED,
2491
- noise: noise_exports
2361
+ noise: noise_exports,
2362
+ MIN_ALPHA
2492
2363
  })
2493
2364
  }) && $.f)({})).$name("particleFieldSim");
2494
2365
  }
2495
2366
  function makeParticleFieldSplatKernel(shape) {
2496
2367
  const name = resolveAgentShape(shape, "dot");
2497
2368
  const s = AGENT_SHAPES[name];
2498
- const weightFn = makeAgentWeightFn(name);
2499
- const SOFT = s.soft;
2500
- const EXTQ = s.ext * s.ext + .75;
2369
+ const weightFn = makeAgentTexelWeightFn(name);
2370
+ const EXT_SHAPE = s.soft === 1 ? Math.max(s.ext, 2.4) : s.ext;
2501
2371
  return src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((gx, gy) => {
2502
2372
  "use gpu";
2503
2373
  const P = fieldLayout.$.params;
@@ -2505,48 +2375,57 @@ function makeParticleFieldSplatKernel(shape) {
2505
2375
  const p4 = fieldLayout.$.pos[i];
2506
2376
  const col = fieldLayout.$.col[i];
2507
2377
  const childA = col.w;
2508
- const homeU = __tsover_div(__tsover_add(f32(gx), .5), P.gridW);
2509
- const homeV = __tsover_div(__tsover_add(f32(gy), .5), P.gridH);
2510
- const ph = __tsover_mul(p4.w, TAU);
2511
- const wob = P.wobbleAmp;
2512
- const wx = __tsover_mul(__tsover_mul(sin(__tsover_add(__tsover_mul(P.time, WOBBLE_FREQ), ph)), wob), .012);
2513
- const wy = __tsover_mul(__tsover_mul(cos(__tsover_add(__tsover_mul(__tsover_mul(P.time, WOBBLE_FREQ), 1.13), __tsover_mul(ph, 1.7))), wob), .012);
2514
- const wz = __tsover_mul(__tsover_mul(sin(__tsover_add(__tsover_mul(__tsover_mul(P.time, WOBBLE_FREQ), .87), __tsover_mul(ph, 2.3))), wob), .06);
2515
- const pw = vec3f(__tsover_add(__tsover_add(__tsover_mul(__tsover_sub(homeU, .5), P.aspect), p4.x), wx), __tsover_add(__tsover_add(__tsover_sub(homeV, .5), p4.y), wy), __tsover_add(p4.z, wz));
2516
- const rx = __tsover_add(__tsover_add(__tsover_mul(P.rowX.x, pw.x), __tsover_mul(P.rowX.y, pw.y)), __tsover_mul(P.rowX.z, pw.z));
2517
- const ry = __tsover_add(__tsover_add(__tsover_mul(P.rowY.x, pw.x), __tsover_mul(P.rowY.y, pw.y)), __tsover_mul(P.rowY.z, pw.z));
2518
- const rz = __tsover_add(__tsover_add(__tsover_mul(P.rowZ.x, pw.x), __tsover_mul(P.rowZ.y, pw.y)), __tsover_mul(P.rowZ.z, pw.z));
2519
- const persp0 = __tsover_div(1, clamp(__tsover_sub(1, __tsover_mul(rz, PERSP_K)), .35, 2.6));
2520
- const persp = __tsover_mul(persp0, P.zoom);
2521
- const su = __tsover_add(__tsover_add(.5, __tsover_div(__tsover_mul(rx, persp), P.aspect)), P.transX);
2522
- const sv = __tsover_add(__tsover_add(.5, __tsover_mul(ry, persp)), P.transY);
2523
- const tx = __tsover_mul(su, P.outW);
2524
- const ty = __tsover_mul(sv, P.outH);
2525
- const dotR = clamp(__tsover_mul(__tsover_mul(__tsover_mul(P.particleSize, P.spacing), .5), persp), .5, f32(SPLAT_R));
2526
- const dr = max(P.depth, .001);
2527
- const near = smoothstep(__tsover_mul(dr, -1), dr, rz);
2528
- const shade = mix(f32(1), __tsover_add(.35, __tsover_mul(.65, near)), P.depthShading);
2529
- const depthWeight = __tsover_mul(__tsover_mul(persp0, persp0), shade);
2530
- const owI = i32(P.outW);
2531
- const ohI = i32(P.outH);
2532
- const owU = u32(P.outW);
2533
- const cxi = i32(floor(tx));
2534
- const cyi = i32(floor(ty));
2535
- for (let ky = 0; ky < SPLAT_WIN; ky++) for (let kx = 0; kx < SPLAT_WIN; kx++) {
2536
- const px = __tsover_sub(__tsover_add(cxi, kx), SPLAT_R);
2537
- const py = __tsover_sub(__tsover_add(cyi, ky), SPLAT_R);
2538
- if (px >= 0 && px < owI && py >= 0 && py < ohI) {
2539
- const ddx = __tsover_sub(__tsover_add(f32(px), .5), tx);
2540
- const ddy = __tsover_sub(__tsover_add(f32(py), .5), ty);
2541
- if (__tsover_div(__tsover_add(__tsover_mul(ddx, ddx), __tsover_mul(ddy, ddy)), max(__tsover_mul(dotR, dotR), .01)) < f32(EXTQ)) {
2542
- const w = weightFn(ddx, ddy, dotR, .75, f32(SOFT));
2543
- const wc = __tsover_mul(__tsover_mul(w, childA), depthWeight);
2544
- if (wc > 0) {
2545
- const idx = __tsover_add(__tsover_mul(u32(py), owU), u32(px));
2546
- atomicAdd(fieldLayout.$.accumR[idx], u32(__tsover_mul(__tsover_mul(col.x, wc), FP)));
2547
- atomicAdd(fieldLayout.$.accumG[idx], u32(__tsover_mul(__tsover_mul(col.y, wc), FP)));
2548
- atomicAdd(fieldLayout.$.accumB[idx], u32(__tsover_mul(__tsover_mul(col.z, wc), FP)));
2549
- atomicAdd(fieldLayout.$.accumW[idx], u32(__tsover_mul(wc, FP)));
2378
+ if (childA > MIN_ALPHA) {
2379
+ const homeU = __tsover_div(__tsover_add(f32(gx), .5), P.gridW);
2380
+ const homeV = __tsover_div(__tsover_add(f32(gy), .5), P.gridH);
2381
+ const ph = __tsover_mul(p4.w, TAU);
2382
+ const wob = P.wobbleAmp;
2383
+ const wx = __tsover_mul(__tsover_mul(sin(__tsover_add(__tsover_mul(P.time, WOBBLE_FREQ), ph)), wob), .012);
2384
+ const wy = __tsover_mul(__tsover_mul(cos(__tsover_add(__tsover_mul(__tsover_mul(P.time, WOBBLE_FREQ), 1.13), __tsover_mul(ph, 1.7))), wob), .012);
2385
+ const wz = __tsover_mul(__tsover_mul(sin(__tsover_add(__tsover_mul(__tsover_mul(P.time, WOBBLE_FREQ), .87), __tsover_mul(ph, 2.3))), wob), .06);
2386
+ const pw = vec3f(__tsover_add(__tsover_add(__tsover_mul(__tsover_sub(homeU, .5), P.aspect), p4.x), wx), __tsover_add(__tsover_add(__tsover_sub(homeV, .5), p4.y), wy), __tsover_add(p4.z, wz));
2387
+ const rx = __tsover_add(__tsover_add(__tsover_mul(P.rowX.x, pw.x), __tsover_mul(P.rowX.y, pw.y)), __tsover_mul(P.rowX.z, pw.z));
2388
+ const ry = __tsover_add(__tsover_add(__tsover_mul(P.rowY.x, pw.x), __tsover_mul(P.rowY.y, pw.y)), __tsover_mul(P.rowY.z, pw.z));
2389
+ const rz = __tsover_add(__tsover_add(__tsover_mul(P.rowZ.x, pw.x), __tsover_mul(P.rowZ.y, pw.y)), __tsover_mul(P.rowZ.z, pw.z));
2390
+ const persp0 = __tsover_div(1, clamp(__tsover_sub(1, __tsover_mul(rz, PERSP_K)), .35, 2.6));
2391
+ const persp = __tsover_mul(persp0, P.zoom);
2392
+ const su = __tsover_add(__tsover_add(.5, __tsover_div(__tsover_mul(rx, persp), P.aspect)), P.transX);
2393
+ const sv = __tsover_add(__tsover_add(.5, __tsover_mul(ry, persp)), P.transY);
2394
+ const tx = __tsover_mul(su, P.outW);
2395
+ const ty = __tsover_mul(sv, P.outH);
2396
+ const dotR = clamp(__tsover_mul(__tsover_mul(__tsover_mul(P.particleSize, P.spacing), .5), persp), .5, f32(SPLAT_R));
2397
+ const dr = max(P.depth, .001);
2398
+ const near = smoothstep(__tsover_mul(dr, -1), dr, rz);
2399
+ const shade = mix(f32(1), __tsover_add(.35, __tsover_mul(.65, near)), P.depthShading);
2400
+ const depthWeight = __tsover_mul(__tsover_mul(persp0, persp0), shade);
2401
+ const cw = __tsover_mul(childA, depthWeight);
2402
+ const extR = __tsover_add(f32(EXT_SHAPE), __tsover_div(f32(AA_W), dotR));
2403
+ const rad = i32(ceil(__tsover_mul(dotR, extR)));
2404
+ const radF = f32(rad);
2405
+ const onTarget = tx > __tsover_mul(radF, -1) && tx < __tsover_add(P.outW, radF) && ty > __tsover_mul(radF, -1) && ty < __tsover_add(P.outH, radF);
2406
+ if (cw > MIN_WEIGHT && onTarget) {
2407
+ const owU = u32(P.outW);
2408
+ const cxi = i32(floor(tx));
2409
+ const cyi = i32(floor(ty));
2410
+ const x0 = max(__tsover_sub(cxi, rad), 0);
2411
+ const x1 = min(__tsover_add(cxi, rad), __tsover_sub(i32(P.outW), 1));
2412
+ const y0 = max(__tsover_sub(cyi, rad), 0);
2413
+ const y1 = min(__tsover_add(cyi, rad), __tsover_sub(i32(P.outH), 1));
2414
+ for (let py = y0; py <= y1; py++) {
2415
+ const ddy = __tsover_sub(__tsover_add(f32(py), .5), ty);
2416
+ for (let px = x0; px <= x1; px++) {
2417
+ const ddx = __tsover_sub(__tsover_add(f32(px), .5), tx);
2418
+ const q = __tsover_div(__tsover_add(__tsover_mul(ddx, ddx), __tsover_mul(ddy, ddy)), max(__tsover_mul(dotR, dotR), .01));
2419
+ if (q < __tsover_mul(extR, extR)) {
2420
+ const wc = __tsover_mul(weightFn(q, ddx, ddy, dotR, f32(AA_W)), cw);
2421
+ if (wc > 0) {
2422
+ const idx = __tsover_add(__tsover_mul(u32(py), owU), u32(px));
2423
+ atomicAdd(fieldLayout.$.accumR[idx], u32(__tsover_mul(__tsover_mul(col.x, wc), FP)));
2424
+ atomicAdd(fieldLayout.$.accumG[idx], u32(__tsover_mul(__tsover_mul(col.y, wc), FP)));
2425
+ atomicAdd(fieldLayout.$.accumB[idx], u32(__tsover_mul(__tsover_mul(col.z, wc), FP)));
2426
+ atomicAdd(fieldLayout.$.accumW[idx], u32(__tsover_mul(wc, FP)));
2427
+ }
2428
+ }
2550
2429
  }
2551
2430
  }
2552
2431
  }
@@ -2647,224 +2526,298 @@ function makeParticleFieldSplatKernel(shape) {
2647
2526
  ]
2648
2527
  ],
2649
2528
  [
2650
- 13,
2651
- "homeU",
2529
+ 11,
2652
2530
  [
2653
2531
  1,
2532
+ "childA",
2533
+ ">",
2534
+ "MIN_ALPHA"
2535
+ ],
2536
+ [0, [
2654
2537
  [
2655
- 1,
2538
+ 13,
2539
+ "homeU",
2656
2540
  [
2657
- 6,
2541
+ 1,
2658
2542
  [
2659
- 7,
2660
- "d",
2661
- "f32"
2543
+ 1,
2544
+ [
2545
+ 6,
2546
+ [
2547
+ 7,
2548
+ "d",
2549
+ "f32"
2550
+ ],
2551
+ ["gx"]
2552
+ ],
2553
+ "+",
2554
+ [5, "0.5"]
2662
2555
  ],
2663
- ["gx"]
2664
- ],
2665
- "+",
2666
- [5, "0.5"]
2667
- ],
2668
- "/",
2669
- [
2670
- 7,
2671
- "P",
2672
- "gridW"
2673
- ]
2674
- ]
2675
- ],
2676
- [
2677
- 13,
2678
- "homeV",
2679
- [
2680
- 1,
2556
+ "/",
2557
+ [
2558
+ 7,
2559
+ "P",
2560
+ "gridW"
2561
+ ]
2562
+ ]
2563
+ ],
2681
2564
  [
2682
- 1,
2565
+ 13,
2566
+ "homeV",
2683
2567
  [
2684
- 6,
2568
+ 1,
2685
2569
  [
2686
- 7,
2687
- "d",
2688
- "f32"
2570
+ 1,
2571
+ [
2572
+ 6,
2573
+ [
2574
+ 7,
2575
+ "d",
2576
+ "f32"
2577
+ ],
2578
+ ["gy"]
2579
+ ],
2580
+ "+",
2581
+ [5, "0.5"]
2689
2582
  ],
2690
- ["gy"]
2691
- ],
2692
- "+",
2693
- [5, "0.5"]
2583
+ "/",
2584
+ [
2585
+ 7,
2586
+ "P",
2587
+ "gridH"
2588
+ ]
2589
+ ]
2694
2590
  ],
2695
- "/",
2696
2591
  [
2697
- 7,
2698
- "P",
2699
- "gridH"
2700
- ]
2701
- ]
2702
- ],
2703
- [
2704
- 13,
2705
- "ph",
2706
- [
2707
- 1,
2592
+ 13,
2593
+ "ph",
2594
+ [
2595
+ 1,
2596
+ [
2597
+ 7,
2598
+ "p4",
2599
+ "w"
2600
+ ],
2601
+ "*",
2602
+ "TAU"
2603
+ ]
2604
+ ],
2708
2605
  [
2709
- 7,
2710
- "p4",
2711
- "w"
2606
+ 13,
2607
+ "wob",
2608
+ [
2609
+ 7,
2610
+ "P",
2611
+ "wobbleAmp"
2612
+ ]
2712
2613
  ],
2713
- "*",
2714
- "TAU"
2715
- ]
2716
- ],
2717
- [
2718
- 13,
2719
- "wob",
2720
- [
2721
- 7,
2722
- "P",
2723
- "wobbleAmp"
2724
- ]
2725
- ],
2726
- [
2727
- 13,
2728
- "wx",
2729
- [
2730
- 1,
2731
2614
  [
2732
- 1,
2615
+ 13,
2616
+ "wx",
2733
2617
  [
2734
- 6,
2618
+ 1,
2735
2619
  [
2736
- 7,
2737
- "std",
2738
- "sin"
2739
- ],
2740
- [[
2741
2620
  1,
2742
2621
  [
2743
- 1,
2622
+ 6,
2744
2623
  [
2745
2624
  7,
2746
- "P",
2747
- "time"
2625
+ "std",
2626
+ "sin"
2748
2627
  ],
2749
- "*",
2750
- "WOBBLE_FREQ"
2628
+ [[
2629
+ 1,
2630
+ [
2631
+ 1,
2632
+ [
2633
+ 7,
2634
+ "P",
2635
+ "time"
2636
+ ],
2637
+ "*",
2638
+ "WOBBLE_FREQ"
2639
+ ],
2640
+ "+",
2641
+ "ph"
2642
+ ]]
2751
2643
  ],
2752
- "+",
2753
- "ph"
2754
- ]]
2755
- ],
2756
- "*",
2757
- "wob"
2644
+ "*",
2645
+ "wob"
2646
+ ],
2647
+ "*",
2648
+ [5, "0.012"]
2649
+ ]
2758
2650
  ],
2759
- "*",
2760
- [5, "0.012"]
2761
- ]
2762
- ],
2763
- [
2764
- 13,
2765
- "wy",
2766
- [
2767
- 1,
2768
2651
  [
2769
- 1,
2652
+ 13,
2653
+ "wy",
2770
2654
  [
2771
- 6,
2655
+ 1,
2772
2656
  [
2773
- 7,
2774
- "std",
2775
- "cos"
2776
- ],
2777
- [[
2778
2657
  1,
2779
2658
  [
2780
- 1,
2659
+ 6,
2781
2660
  [
2661
+ 7,
2662
+ "std",
2663
+ "cos"
2664
+ ],
2665
+ [[
2782
2666
  1,
2783
2667
  [
2784
- 7,
2785
- "P",
2786
- "time"
2668
+ 1,
2669
+ [
2670
+ 1,
2671
+ [
2672
+ 7,
2673
+ "P",
2674
+ "time"
2675
+ ],
2676
+ "*",
2677
+ "WOBBLE_FREQ"
2678
+ ],
2679
+ "*",
2680
+ [5, "1.13"]
2787
2681
  ],
2788
- "*",
2789
- "WOBBLE_FREQ"
2790
- ],
2791
- "*",
2792
- [5, "1.13"]
2682
+ "+",
2683
+ [
2684
+ 1,
2685
+ "ph",
2686
+ "*",
2687
+ [5, "1.7"]
2688
+ ]
2689
+ ]]
2793
2690
  ],
2794
- "+",
2691
+ "*",
2692
+ "wob"
2693
+ ],
2694
+ "*",
2695
+ [5, "0.012"]
2696
+ ]
2697
+ ],
2698
+ [
2699
+ 13,
2700
+ "wz",
2701
+ [
2702
+ 1,
2703
+ [
2704
+ 1,
2795
2705
  [
2796
- 1,
2797
- "ph",
2798
- "*",
2799
- [5, "1.7"]
2800
- ]
2801
- ]]
2802
- ],
2803
- "*",
2804
- "wob"
2706
+ 6,
2707
+ [
2708
+ 7,
2709
+ "std",
2710
+ "sin"
2711
+ ],
2712
+ [[
2713
+ 1,
2714
+ [
2715
+ 1,
2716
+ [
2717
+ 1,
2718
+ [
2719
+ 7,
2720
+ "P",
2721
+ "time"
2722
+ ],
2723
+ "*",
2724
+ "WOBBLE_FREQ"
2725
+ ],
2726
+ "*",
2727
+ [5, "0.87"]
2728
+ ],
2729
+ "+",
2730
+ [
2731
+ 1,
2732
+ "ph",
2733
+ "*",
2734
+ [5, "2.3"]
2735
+ ]
2736
+ ]]
2737
+ ],
2738
+ "*",
2739
+ "wob"
2740
+ ],
2741
+ "*",
2742
+ [5, "0.06"]
2743
+ ]
2805
2744
  ],
2806
- "*",
2807
- [5, "0.012"]
2808
- ]
2809
- ],
2810
- [
2811
- 13,
2812
- "wz",
2813
- [
2814
- 1,
2815
2745
  [
2816
- 1,
2746
+ 13,
2747
+ "pw",
2817
2748
  [
2818
2749
  6,
2819
2750
  [
2820
2751
  7,
2821
- "std",
2822
- "sin"
2752
+ "d",
2753
+ "vec3f"
2823
2754
  ],
2824
- [[
2825
- 1,
2755
+ [
2826
2756
  [
2827
2757
  1,
2828
2758
  [
2829
2759
  1,
2760
+ [
2761
+ 1,
2762
+ [
2763
+ 1,
2764
+ "homeU",
2765
+ "-",
2766
+ [5, "0.5"]
2767
+ ],
2768
+ "*",
2769
+ [
2770
+ 7,
2771
+ "P",
2772
+ "aspect"
2773
+ ]
2774
+ ],
2775
+ "+",
2830
2776
  [
2831
2777
  7,
2832
- "P",
2833
- "time"
2778
+ "p4",
2779
+ "x"
2780
+ ]
2781
+ ],
2782
+ "+",
2783
+ "wx"
2784
+ ],
2785
+ [
2786
+ 1,
2787
+ [
2788
+ 1,
2789
+ [
2790
+ 1,
2791
+ "homeV",
2792
+ "-",
2793
+ [5, "0.5"]
2834
2794
  ],
2835
- "*",
2836
- "WOBBLE_FREQ"
2795
+ "+",
2796
+ [
2797
+ 7,
2798
+ "p4",
2799
+ "y"
2800
+ ]
2837
2801
  ],
2838
- "*",
2839
- [5, "0.87"]
2802
+ "+",
2803
+ "wy"
2840
2804
  ],
2841
- "+",
2842
2805
  [
2843
2806
  1,
2844
- "ph",
2845
- "*",
2846
- [5, "2.3"]
2807
+ [
2808
+ 7,
2809
+ "p4",
2810
+ "z"
2811
+ ],
2812
+ "+",
2813
+ "wz"
2847
2814
  ]
2848
- ]]
2849
- ],
2850
- "*",
2851
- "wob"
2852
- ],
2853
- "*",
2854
- [5, "0.06"]
2855
- ]
2856
- ],
2857
- [
2858
- 13,
2859
- "pw",
2860
- [
2861
- 6,
2862
- [
2863
- 7,
2864
- "d",
2865
- "vec3f"
2815
+ ]
2816
+ ]
2866
2817
  ],
2867
2818
  [
2819
+ 13,
2820
+ "rx",
2868
2821
  [
2869
2822
  1,
2870
2823
  [
@@ -2872,492 +2825,540 @@ function makeParticleFieldSplatKernel(shape) {
2872
2825
  [
2873
2826
  1,
2874
2827
  [
2875
- 1,
2876
- "homeU",
2877
- "-",
2878
- [5, "0.5"]
2828
+ 7,
2829
+ [
2830
+ 7,
2831
+ "P",
2832
+ "rowX"
2833
+ ],
2834
+ "x"
2879
2835
  ],
2880
2836
  "*",
2881
2837
  [
2882
2838
  7,
2883
- "P",
2884
- "aspect"
2839
+ "pw",
2840
+ "x"
2885
2841
  ]
2886
2842
  ],
2887
2843
  "+",
2888
2844
  [
2889
- 7,
2890
- "p4",
2891
- "x"
2845
+ 1,
2846
+ [
2847
+ 7,
2848
+ [
2849
+ 7,
2850
+ "P",
2851
+ "rowX"
2852
+ ],
2853
+ "y"
2854
+ ],
2855
+ "*",
2856
+ [
2857
+ 7,
2858
+ "pw",
2859
+ "y"
2860
+ ]
2892
2861
  ]
2893
2862
  ],
2894
2863
  "+",
2895
- "wx"
2896
- ],
2864
+ [
2865
+ 1,
2866
+ [
2867
+ 7,
2868
+ [
2869
+ 7,
2870
+ "P",
2871
+ "rowX"
2872
+ ],
2873
+ "z"
2874
+ ],
2875
+ "*",
2876
+ [
2877
+ 7,
2878
+ "pw",
2879
+ "z"
2880
+ ]
2881
+ ]
2882
+ ]
2883
+ ],
2884
+ [
2885
+ 13,
2886
+ "ry",
2897
2887
  [
2898
2888
  1,
2899
2889
  [
2900
2890
  1,
2901
2891
  [
2902
2892
  1,
2903
- "homeV",
2904
- "-",
2905
- [5, "0.5"]
2893
+ [
2894
+ 7,
2895
+ [
2896
+ 7,
2897
+ "P",
2898
+ "rowY"
2899
+ ],
2900
+ "x"
2901
+ ],
2902
+ "*",
2903
+ [
2904
+ 7,
2905
+ "pw",
2906
+ "x"
2907
+ ]
2906
2908
  ],
2907
2909
  "+",
2908
2910
  [
2909
- 7,
2910
- "p4",
2911
- "y"
2911
+ 1,
2912
+ [
2913
+ 7,
2914
+ [
2915
+ 7,
2916
+ "P",
2917
+ "rowY"
2918
+ ],
2919
+ "y"
2920
+ ],
2921
+ "*",
2922
+ [
2923
+ 7,
2924
+ "pw",
2925
+ "y"
2926
+ ]
2912
2927
  ]
2913
2928
  ],
2914
2929
  "+",
2915
- "wy"
2916
- ],
2917
- [
2918
- 1,
2919
2930
  [
2920
- 7,
2921
- "p4",
2922
- "z"
2923
- ],
2924
- "+",
2925
- "wz"
2931
+ 1,
2932
+ [
2933
+ 7,
2934
+ [
2935
+ 7,
2936
+ "P",
2937
+ "rowY"
2938
+ ],
2939
+ "z"
2940
+ ],
2941
+ "*",
2942
+ [
2943
+ 7,
2944
+ "pw",
2945
+ "z"
2946
+ ]
2947
+ ]
2926
2948
  ]
2927
- ]
2928
- ]
2929
- ],
2930
- [
2931
- 13,
2932
- "rx",
2933
- [
2934
- 1,
2949
+ ],
2935
2950
  [
2936
- 1,
2951
+ 13,
2952
+ "rz",
2937
2953
  [
2938
2954
  1,
2939
2955
  [
2940
- 7,
2956
+ 1,
2941
2957
  [
2942
- 7,
2943
- "P",
2944
- "rowX"
2958
+ 1,
2959
+ [
2960
+ 7,
2961
+ [
2962
+ 7,
2963
+ "P",
2964
+ "rowZ"
2965
+ ],
2966
+ "x"
2967
+ ],
2968
+ "*",
2969
+ [
2970
+ 7,
2971
+ "pw",
2972
+ "x"
2973
+ ]
2945
2974
  ],
2946
- "x"
2975
+ "+",
2976
+ [
2977
+ 1,
2978
+ [
2979
+ 7,
2980
+ [
2981
+ 7,
2982
+ "P",
2983
+ "rowZ"
2984
+ ],
2985
+ "y"
2986
+ ],
2987
+ "*",
2988
+ [
2989
+ 7,
2990
+ "pw",
2991
+ "y"
2992
+ ]
2993
+ ]
2947
2994
  ],
2948
- "*",
2995
+ "+",
2949
2996
  [
2950
- 7,
2951
- "pw",
2952
- "x"
2997
+ 1,
2998
+ [
2999
+ 7,
3000
+ [
3001
+ 7,
3002
+ "P",
3003
+ "rowZ"
3004
+ ],
3005
+ "z"
3006
+ ],
3007
+ "*",
3008
+ [
3009
+ 7,
3010
+ "pw",
3011
+ "z"
3012
+ ]
2953
3013
  ]
2954
- ],
2955
- "+",
3014
+ ]
3015
+ ],
3016
+ [
3017
+ 13,
3018
+ "persp0",
2956
3019
  [
2957
3020
  1,
3021
+ [5, "1"],
3022
+ "/",
2958
3023
  [
2959
- 7,
3024
+ 6,
2960
3025
  [
2961
3026
  7,
2962
- "P",
2963
- "rowX"
3027
+ "std",
3028
+ "clamp"
2964
3029
  ],
2965
- "y"
2966
- ],
2967
- "*",
2968
- [
2969
- 7,
2970
- "pw",
2971
- "y"
3030
+ [
3031
+ [
3032
+ 1,
3033
+ [5, "1"],
3034
+ "-",
3035
+ [
3036
+ 1,
3037
+ "rz",
3038
+ "*",
3039
+ "PERSP_K"
3040
+ ]
3041
+ ],
3042
+ [5, "0.35"],
3043
+ [5, "2.6"]
3044
+ ]
2972
3045
  ]
2973
3046
  ]
2974
3047
  ],
2975
- "+",
2976
3048
  [
2977
- 1,
3049
+ 13,
3050
+ "persp",
2978
3051
  [
2979
- 7,
3052
+ 1,
3053
+ "persp0",
3054
+ "*",
2980
3055
  [
2981
3056
  7,
2982
3057
  "P",
2983
- "rowX"
2984
- ],
2985
- "z"
2986
- ],
2987
- "*",
2988
- [
2989
- 7,
2990
- "pw",
2991
- "z"
3058
+ "zoom"
3059
+ ]
2992
3060
  ]
2993
- ]
2994
- ]
2995
- ],
2996
- [
2997
- 13,
2998
- "ry",
2999
- [
3000
- 1,
3061
+ ],
3001
3062
  [
3002
- 1,
3063
+ 13,
3064
+ "su",
3003
3065
  [
3004
3066
  1,
3005
3067
  [
3006
- 7,
3068
+ 1,
3069
+ [5, "0.5"],
3070
+ "+",
3007
3071
  [
3008
- 7,
3009
- "P",
3010
- "rowY"
3011
- ],
3012
- "x"
3072
+ 1,
3073
+ [
3074
+ 1,
3075
+ "rx",
3076
+ "*",
3077
+ "persp"
3078
+ ],
3079
+ "/",
3080
+ [
3081
+ 7,
3082
+ "P",
3083
+ "aspect"
3084
+ ]
3085
+ ]
3013
3086
  ],
3014
- "*",
3087
+ "+",
3015
3088
  [
3016
3089
  7,
3017
- "pw",
3018
- "x"
3090
+ "P",
3091
+ "transX"
3019
3092
  ]
3020
- ],
3021
- "+",
3093
+ ]
3094
+ ],
3095
+ [
3096
+ 13,
3097
+ "sv",
3022
3098
  [
3023
3099
  1,
3024
3100
  [
3025
- 7,
3101
+ 1,
3102
+ [5, "0.5"],
3103
+ "+",
3026
3104
  [
3027
- 7,
3028
- "P",
3029
- "rowY"
3030
- ],
3031
- "y"
3105
+ 1,
3106
+ "ry",
3107
+ "*",
3108
+ "persp"
3109
+ ]
3032
3110
  ],
3033
- "*",
3111
+ "+",
3034
3112
  [
3035
3113
  7,
3036
- "pw",
3037
- "y"
3114
+ "P",
3115
+ "transY"
3038
3116
  ]
3039
3117
  ]
3040
3118
  ],
3041
- "+",
3042
3119
  [
3043
- 1,
3120
+ 13,
3121
+ "tx",
3044
3122
  [
3045
- 7,
3123
+ 1,
3124
+ "su",
3125
+ "*",
3046
3126
  [
3047
3127
  7,
3048
3128
  "P",
3049
- "rowY"
3050
- ],
3051
- "z"
3052
- ],
3053
- "*",
3054
- [
3055
- 7,
3056
- "pw",
3057
- "z"
3129
+ "outW"
3130
+ ]
3058
3131
  ]
3059
- ]
3060
- ]
3061
- ],
3062
- [
3063
- 13,
3064
- "rz",
3065
- [
3066
- 1,
3132
+ ],
3067
3133
  [
3068
- 1,
3134
+ 13,
3135
+ "ty",
3069
3136
  [
3070
3137
  1,
3071
- [
3072
- 7,
3073
- [
3074
- 7,
3075
- "P",
3076
- "rowZ"
3077
- ],
3078
- "x"
3079
- ],
3138
+ "sv",
3080
3139
  "*",
3081
3140
  [
3082
3141
  7,
3083
- "pw",
3084
- "x"
3142
+ "P",
3143
+ "outH"
3085
3144
  ]
3086
- ],
3087
- "+",
3145
+ ]
3146
+ ],
3147
+ [
3148
+ 13,
3149
+ "dotR",
3088
3150
  [
3089
- 1,
3151
+ 6,
3090
3152
  [
3091
3153
  7,
3092
- [
3093
- 7,
3094
- "P",
3095
- "rowZ"
3096
- ],
3097
- "y"
3154
+ "std",
3155
+ "clamp"
3098
3156
  ],
3099
- "*",
3100
3157
  [
3101
- 7,
3102
- "pw",
3103
- "y"
3158
+ [
3159
+ 1,
3160
+ [
3161
+ 1,
3162
+ [
3163
+ 1,
3164
+ [
3165
+ 7,
3166
+ "P",
3167
+ "particleSize"
3168
+ ],
3169
+ "*",
3170
+ [
3171
+ 7,
3172
+ "P",
3173
+ "spacing"
3174
+ ]
3175
+ ],
3176
+ "*",
3177
+ [5, "0.5"]
3178
+ ],
3179
+ "*",
3180
+ "persp"
3181
+ ],
3182
+ [5, "0.5"],
3183
+ [
3184
+ 6,
3185
+ [
3186
+ 7,
3187
+ "d",
3188
+ "f32"
3189
+ ],
3190
+ ["SPLAT_R"]
3191
+ ]
3104
3192
  ]
3105
3193
  ]
3106
3194
  ],
3107
- "+",
3108
3195
  [
3109
- 1,
3196
+ 13,
3197
+ "dr",
3110
3198
  [
3111
- 7,
3199
+ 6,
3112
3200
  [
3113
3201
  7,
3114
- "P",
3115
- "rowZ"
3202
+ "std",
3203
+ "max"
3116
3204
  ],
3117
- "z"
3118
- ],
3119
- "*",
3120
- [
3121
- 7,
3122
- "pw",
3123
- "z"
3205
+ [[
3206
+ 7,
3207
+ "P",
3208
+ "depth"
3209
+ ], [5, "0.001"]]
3124
3210
  ]
3125
- ]
3126
- ]
3127
- ],
3128
- [
3129
- 13,
3130
- "persp0",
3131
- [
3132
- 1,
3133
- [5, "1"],
3134
- "/",
3211
+ ],
3135
3212
  [
3136
- 6,
3137
- [
3138
- 7,
3139
- "std",
3140
- "clamp"
3141
- ],
3213
+ 13,
3214
+ "near",
3142
3215
  [
3216
+ 6,
3217
+ [
3218
+ 7,
3219
+ "std",
3220
+ "smoothstep"
3221
+ ],
3143
3222
  [
3144
- 1,
3145
- [5, "1"],
3146
- "-",
3147
3223
  [
3148
3224
  1,
3149
- "rz",
3225
+ "dr",
3150
3226
  "*",
3151
- "PERSP_K"
3152
- ]
3153
- ],
3154
- [5, "0.35"],
3155
- [5, "2.6"]
3227
+ [
3228
+ 4,
3229
+ "-",
3230
+ [5, "1"]
3231
+ ]
3232
+ ],
3233
+ "dr",
3234
+ "rz"
3235
+ ]
3156
3236
  ]
3157
- ]
3158
- ]
3159
- ],
3160
- [
3161
- 13,
3162
- "persp",
3163
- [
3164
- 1,
3165
- "persp0",
3166
- "*",
3167
- [
3168
- 7,
3169
- "P",
3170
- "zoom"
3171
- ]
3172
- ]
3173
- ],
3174
- [
3175
- 13,
3176
- "su",
3177
- [
3178
- 1,
3237
+ ],
3179
3238
  [
3180
- 1,
3181
- [5, "0.5"],
3182
- "+",
3239
+ 13,
3240
+ "shade",
3183
3241
  [
3184
- 1,
3242
+ 6,
3185
3243
  [
3186
- 1,
3187
- "rx",
3188
- "*",
3189
- "persp"
3244
+ 7,
3245
+ "std",
3246
+ "mix"
3190
3247
  ],
3191
- "/",
3192
3248
  [
3193
- 7,
3194
- "P",
3195
- "aspect"
3249
+ [
3250
+ 6,
3251
+ [
3252
+ 7,
3253
+ "d",
3254
+ "f32"
3255
+ ],
3256
+ [[5, "1"]]
3257
+ ],
3258
+ [
3259
+ 1,
3260
+ [5, "0.35"],
3261
+ "+",
3262
+ [
3263
+ 1,
3264
+ [5, "0.65"],
3265
+ "*",
3266
+ "near"
3267
+ ]
3268
+ ],
3269
+ [
3270
+ 7,
3271
+ "P",
3272
+ "depthShading"
3273
+ ]
3196
3274
  ]
3197
3275
  ]
3198
3276
  ],
3199
- "+",
3200
3277
  [
3201
- 7,
3202
- "P",
3203
- "transX"
3204
- ]
3205
- ]
3206
- ],
3207
- [
3208
- 13,
3209
- "sv",
3210
- [
3211
- 1,
3212
- [
3213
- 1,
3214
- [5, "0.5"],
3215
- "+",
3278
+ 13,
3279
+ "depthWeight",
3216
3280
  [
3217
3281
  1,
3218
- "ry",
3282
+ [
3283
+ 1,
3284
+ "persp0",
3285
+ "*",
3286
+ "persp0"
3287
+ ],
3219
3288
  "*",
3220
- "persp"
3289
+ "shade"
3221
3290
  ]
3222
3291
  ],
3223
- "+",
3224
- [
3225
- 7,
3226
- "P",
3227
- "transY"
3228
- ]
3229
- ]
3230
- ],
3231
- [
3232
- 13,
3233
- "tx",
3234
- [
3235
- 1,
3236
- "su",
3237
- "*",
3238
- [
3239
- 7,
3240
- "P",
3241
- "outW"
3242
- ]
3243
- ]
3244
- ],
3245
- [
3246
- 13,
3247
- "ty",
3248
- [
3249
- 1,
3250
- "sv",
3251
- "*",
3252
- [
3253
- 7,
3254
- "P",
3255
- "outH"
3256
- ]
3257
- ]
3258
- ],
3259
- [
3260
- 13,
3261
- "dotR",
3262
- [
3263
- 6,
3264
3292
  [
3265
- 7,
3266
- "std",
3267
- "clamp"
3293
+ 13,
3294
+ "cw",
3295
+ [
3296
+ 1,
3297
+ "childA",
3298
+ "*",
3299
+ "depthWeight"
3300
+ ]
3268
3301
  ],
3269
3302
  [
3303
+ 13,
3304
+ "extR",
3270
3305
  [
3271
3306
  1,
3307
+ [
3308
+ 6,
3309
+ [
3310
+ 7,
3311
+ "d",
3312
+ "f32"
3313
+ ],
3314
+ ["EXT_SHAPE"]
3315
+ ],
3316
+ "+",
3272
3317
  [
3273
3318
  1,
3274
3319
  [
3275
- 1,
3320
+ 6,
3276
3321
  [
3277
3322
  7,
3278
- "P",
3279
- "particleSize"
3323
+ "d",
3324
+ "f32"
3280
3325
  ],
3281
- "*",
3282
- [
3283
- 7,
3284
- "P",
3285
- "spacing"
3286
- ]
3326
+ ["AA_W"]
3287
3327
  ],
3288
- "*",
3289
- [5, "0.5"]
3290
- ],
3291
- "*",
3292
- "persp"
3293
- ],
3294
- [5, "0.5"],
3328
+ "/",
3329
+ "dotR"
3330
+ ]
3331
+ ]
3332
+ ],
3333
+ [
3334
+ 13,
3335
+ "rad",
3295
3336
  [
3296
3337
  6,
3297
3338
  [
3298
3339
  7,
3299
3340
  "d",
3300
- "f32"
3341
+ "i32"
3301
3342
  ],
3302
- ["SPLAT_R"]
3343
+ [[
3344
+ 6,
3345
+ [
3346
+ 7,
3347
+ "std",
3348
+ "ceil"
3349
+ ],
3350
+ [[
3351
+ 1,
3352
+ "dotR",
3353
+ "*",
3354
+ "extR"
3355
+ ]]
3356
+ ]]
3303
3357
  ]
3304
- ]
3305
- ]
3306
- ],
3307
- [
3308
- 13,
3309
- "dr",
3310
- [
3311
- 6,
3312
- [
3313
- 7,
3314
- "std",
3315
- "max"
3316
- ],
3317
- [[
3318
- 7,
3319
- "P",
3320
- "depth"
3321
- ], [5, "0.001"]]
3322
- ]
3323
- ],
3324
- [
3325
- 13,
3326
- "near",
3327
- [
3328
- 6,
3329
- [
3330
- 7,
3331
- "std",
3332
- "smoothstep"
3333
- ],
3334
- [
3335
- [
3336
- 1,
3337
- "dr",
3338
- "*",
3339
- [
3340
- 4,
3341
- "-",
3342
- [5, "1"]
3343
- ]
3344
- ],
3345
- "dr",
3346
- "rz"
3347
- ]
3348
- ]
3349
- ],
3350
- [
3351
- 13,
3352
- "shade",
3353
- [
3354
- 6,
3355
- [
3356
- 7,
3357
- "std",
3358
- "mix"
3359
3358
  ],
3360
3359
  [
3360
+ 13,
3361
+ "radF",
3361
3362
  [
3362
3363
  6,
3363
3364
  [
@@ -3365,265 +3366,283 @@ function makeParticleFieldSplatKernel(shape) {
3365
3366
  "d",
3366
3367
  "f32"
3367
3368
  ],
3368
- [[5, "1"]]
3369
- ],
3370
- [
3371
- 1,
3372
- [5, "0.35"],
3373
- "+",
3374
- [
3375
- 1,
3376
- [5, "0.65"],
3377
- "*",
3378
- "near"
3379
- ]
3380
- ],
3381
- [
3382
- 7,
3383
- "P",
3384
- "depthShading"
3369
+ ["rad"]
3385
3370
  ]
3386
- ]
3387
- ]
3388
- ],
3389
- [
3390
- 13,
3391
- "depthWeight",
3392
- [
3393
- 1,
3394
- [
3395
- 1,
3396
- "persp0",
3397
- "*",
3398
- "persp0"
3399
3371
  ],
3400
- "*",
3401
- "shade"
3402
- ]
3403
- ],
3404
- [
3405
- 13,
3406
- "owI",
3407
- [
3408
- 6,
3409
3372
  [
3410
- 7,
3411
- "d",
3412
- "i32"
3413
- ],
3414
- [[
3415
- 7,
3416
- "P",
3417
- "outW"
3418
- ]]
3419
- ]
3420
- ],
3421
- [
3422
- 13,
3423
- "ohI",
3424
- [
3425
- 6,
3426
- [
3427
- 7,
3428
- "d",
3429
- "i32"
3430
- ],
3431
- [[
3432
- 7,
3433
- "P",
3434
- "outH"
3435
- ]]
3436
- ]
3437
- ],
3438
- [
3439
- 13,
3440
- "owU",
3441
- [
3442
- 6,
3443
- [
3444
- 7,
3445
- "d",
3446
- "u32"
3447
- ],
3448
- [[
3449
- 7,
3450
- "P",
3451
- "outW"
3452
- ]]
3453
- ]
3454
- ],
3455
- [
3456
- 13,
3457
- "cxi",
3458
- [
3459
- 6,
3460
- [
3461
- 7,
3462
- "d",
3463
- "i32"
3464
- ],
3465
- [[
3466
- 6,
3467
- [
3468
- 7,
3469
- "std",
3470
- "floor"
3471
- ],
3472
- ["tx"]
3473
- ]]
3474
- ]
3475
- ],
3476
- [
3477
- 13,
3478
- "cyi",
3479
- [
3480
- 6,
3481
- [
3482
- 7,
3483
- "d",
3484
- "i32"
3485
- ],
3486
- [[
3487
- 6,
3488
- [
3489
- 7,
3490
- "std",
3491
- "floor"
3492
- ],
3493
- ["ty"]
3494
- ]]
3495
- ]
3496
- ],
3497
- [
3498
- 14,
3499
- [
3500
- 12,
3501
- "ky",
3502
- [5, "0"]
3503
- ],
3504
- [
3505
- 1,
3506
- "ky",
3507
- "<",
3508
- "SPLAT_WIN"
3509
- ],
3510
- [
3511
- 102,
3512
- "++",
3513
- "ky"
3514
- ],
3515
- [0, [[
3516
- 14,
3517
- [
3518
- 12,
3519
- "kx",
3520
- [5, "0"]
3521
- ],
3522
- [
3523
- 1,
3524
- "kx",
3525
- "<",
3526
- "SPLAT_WIN"
3527
- ],
3528
- [
3529
- 102,
3530
- "++",
3531
- "kx"
3532
- ],
3533
- [0, [
3373
+ 13,
3374
+ "onTarget",
3534
3375
  [
3535
- 13,
3536
- "px",
3376
+ 3,
3377
+ [
3378
+ 3,
3379
+ [
3380
+ 3,
3381
+ [
3382
+ 1,
3383
+ "tx",
3384
+ ">",
3385
+ [
3386
+ 1,
3387
+ "radF",
3388
+ "*",
3389
+ [
3390
+ 4,
3391
+ "-",
3392
+ [5, "1"]
3393
+ ]
3394
+ ]
3395
+ ],
3396
+ "&&",
3397
+ [
3398
+ 1,
3399
+ "tx",
3400
+ "<",
3401
+ [
3402
+ 1,
3403
+ [
3404
+ 7,
3405
+ "P",
3406
+ "outW"
3407
+ ],
3408
+ "+",
3409
+ "radF"
3410
+ ]
3411
+ ]
3412
+ ],
3413
+ "&&",
3414
+ [
3415
+ 1,
3416
+ "ty",
3417
+ ">",
3418
+ [
3419
+ 1,
3420
+ "radF",
3421
+ "*",
3422
+ [
3423
+ 4,
3424
+ "-",
3425
+ [5, "1"]
3426
+ ]
3427
+ ]
3428
+ ]
3429
+ ],
3430
+ "&&",
3537
3431
  [
3538
3432
  1,
3433
+ "ty",
3434
+ "<",
3539
3435
  [
3540
3436
  1,
3541
- "cxi",
3437
+ [
3438
+ 7,
3439
+ "P",
3440
+ "outH"
3441
+ ],
3542
3442
  "+",
3543
- "kx"
3544
- ],
3545
- "-",
3546
- "SPLAT_R"
3443
+ "radF"
3444
+ ]
3547
3445
  ]
3548
- ],
3446
+ ]
3447
+ ],
3448
+ [
3449
+ 11,
3549
3450
  [
3550
- 13,
3551
- "py",
3451
+ 3,
3552
3452
  [
3553
3453
  1,
3554
- [
3555
- 1,
3556
- "cyi",
3557
- "+",
3558
- "ky"
3559
- ],
3560
- "-",
3561
- "SPLAT_R"
3562
- ]
3454
+ "cw",
3455
+ ">",
3456
+ "MIN_WEIGHT"
3457
+ ],
3458
+ "&&",
3459
+ "onTarget"
3563
3460
  ],
3564
- [
3565
- 11,
3461
+ [0, [
3566
3462
  [
3567
- 3,
3463
+ 13,
3464
+ "owU",
3568
3465
  [
3569
- 3,
3466
+ 6,
3467
+ [
3468
+ 7,
3469
+ "d",
3470
+ "u32"
3471
+ ],
3472
+ [[
3473
+ 7,
3474
+ "P",
3475
+ "outW"
3476
+ ]]
3477
+ ]
3478
+ ],
3479
+ [
3480
+ 13,
3481
+ "cxi",
3482
+ [
3483
+ 6,
3570
3484
  [
3571
- 3,
3485
+ 7,
3486
+ "d",
3487
+ "i32"
3488
+ ],
3489
+ [[
3490
+ 6,
3572
3491
  [
3573
- 1,
3574
- "px",
3575
- ">=",
3576
- [5, "0"]
3492
+ 7,
3493
+ "std",
3494
+ "floor"
3577
3495
  ],
3578
- "&&",
3496
+ ["tx"]
3497
+ ]]
3498
+ ]
3499
+ ],
3500
+ [
3501
+ 13,
3502
+ "cyi",
3503
+ [
3504
+ 6,
3505
+ [
3506
+ 7,
3507
+ "d",
3508
+ "i32"
3509
+ ],
3510
+ [[
3511
+ 6,
3579
3512
  [
3580
- 1,
3581
- "px",
3582
- "<",
3583
- "owI"
3584
- ]
3513
+ 7,
3514
+ "std",
3515
+ "floor"
3516
+ ],
3517
+ ["ty"]
3518
+ ]]
3519
+ ]
3520
+ ],
3521
+ [
3522
+ 13,
3523
+ "x0",
3524
+ [
3525
+ 6,
3526
+ [
3527
+ 7,
3528
+ "std",
3529
+ "max"
3585
3530
  ],
3586
- "&&",
3531
+ [[
3532
+ 1,
3533
+ "cxi",
3534
+ "-",
3535
+ "rad"
3536
+ ], [5, "0"]]
3537
+ ]
3538
+ ],
3539
+ [
3540
+ 13,
3541
+ "x1",
3542
+ [
3543
+ 6,
3587
3544
  [
3545
+ 7,
3546
+ "std",
3547
+ "min"
3548
+ ],
3549
+ [[
3588
3550
  1,
3589
- "py",
3590
- ">=",
3591
- [5, "0"]
3592
- ]
3593
- ],
3594
- "&&",
3551
+ "cxi",
3552
+ "+",
3553
+ "rad"
3554
+ ], [
3555
+ 1,
3556
+ [
3557
+ 6,
3558
+ [
3559
+ 7,
3560
+ "d",
3561
+ "i32"
3562
+ ],
3563
+ [[
3564
+ 7,
3565
+ "P",
3566
+ "outW"
3567
+ ]]
3568
+ ],
3569
+ "-",
3570
+ [5, "1"]
3571
+ ]]
3572
+ ]
3573
+ ],
3574
+ [
3575
+ 13,
3576
+ "y0",
3595
3577
  [
3596
- 1,
3597
- "py",
3598
- "<",
3599
- "ohI"
3578
+ 6,
3579
+ [
3580
+ 7,
3581
+ "std",
3582
+ "max"
3583
+ ],
3584
+ [[
3585
+ 1,
3586
+ "cyi",
3587
+ "-",
3588
+ "rad"
3589
+ ], [5, "0"]]
3600
3590
  ]
3601
3591
  ],
3602
- [0, [
3592
+ [
3593
+ 13,
3594
+ "y1",
3603
3595
  [
3604
- 13,
3605
- "ddx",
3596
+ 6,
3606
3597
  [
3598
+ 7,
3599
+ "std",
3600
+ "min"
3601
+ ],
3602
+ [[
3603
+ 1,
3604
+ "cyi",
3605
+ "+",
3606
+ "rad"
3607
+ ], [
3607
3608
  1,
3608
3609
  [
3609
- 1,
3610
+ 6,
3610
3611
  [
3611
- 6,
3612
- [
3613
- 7,
3614
- "d",
3615
- "f32"
3616
- ],
3617
- ["px"]
3612
+ 7,
3613
+ "d",
3614
+ "i32"
3618
3615
  ],
3619
- "+",
3620
- [5, "0.5"]
3616
+ [[
3617
+ 7,
3618
+ "P",
3619
+ "outH"
3620
+ ]]
3621
3621
  ],
3622
3622
  "-",
3623
- "tx"
3624
- ]
3623
+ [5, "1"]
3624
+ ]]
3625
+ ]
3626
+ ],
3627
+ [
3628
+ 14,
3629
+ [
3630
+ 12,
3631
+ "py",
3632
+ "y0"
3633
+ ],
3634
+ [
3635
+ 1,
3636
+ "py",
3637
+ "<=",
3638
+ "y1"
3625
3639
  ],
3626
3640
  [
3641
+ 102,
3642
+ "++",
3643
+ "py"
3644
+ ],
3645
+ [0, [[
3627
3646
  13,
3628
3647
  "ddy",
3629
3648
  [
@@ -3645,73 +3664,32 @@ function makeParticleFieldSplatKernel(shape) {
3645
3664
  "-",
3646
3665
  "ty"
3647
3666
  ]
3648
- ],
3649
- [
3650
- 13,
3651
- "q",
3667
+ ], [
3668
+ 14,
3652
3669
  [
3653
- 1,
3654
- [
3655
- 1,
3656
- [
3657
- 1,
3658
- "ddx",
3659
- "*",
3660
- "ddx"
3661
- ],
3662
- "+",
3663
- [
3664
- 1,
3665
- "ddy",
3666
- "*",
3667
- "ddy"
3668
- ]
3669
- ],
3670
- "/",
3671
- [
3672
- 6,
3673
- [
3674
- 7,
3675
- "std",
3676
- "max"
3677
- ],
3678
- [[
3679
- 1,
3680
- "dotR",
3681
- "*",
3682
- "dotR"
3683
- ], [5, "0.01"]]
3684
- ]
3685
- ]
3686
- ],
3687
- [
3688
- 11,
3670
+ 12,
3671
+ "px",
3672
+ "x0"
3673
+ ],
3689
3674
  [
3690
3675
  1,
3691
- "q",
3692
- "<",
3693
- [
3694
- 6,
3695
- [
3696
- 7,
3697
- "d",
3698
- "f32"
3699
- ],
3700
- ["EXTQ"]
3701
- ]
3676
+ "px",
3677
+ "<=",
3678
+ "x1"
3679
+ ],
3680
+ [
3681
+ 102,
3682
+ "++",
3683
+ "px"
3702
3684
  ],
3703
3685
  [0, [
3704
3686
  [
3705
3687
  13,
3706
- "w",
3688
+ "ddx",
3707
3689
  [
3708
- 6,
3709
- "weightFn",
3690
+ 1,
3710
3691
  [
3711
- "ddx",
3712
- "ddy",
3713
- "dotR",
3714
- [5, "0.75"],
3692
+ 1,
3715
3693
  [
3716
3694
  6,
3717
3695
  [
@@ -3719,42 +3697,122 @@ function makeParticleFieldSplatKernel(shape) {
3719
3697
  "d",
3720
3698
  "f32"
3721
3699
  ],
3722
- ["SOFT"]
3723
- ]
3724
- ]
3700
+ ["px"]
3701
+ ],
3702
+ "+",
3703
+ [5, "0.5"]
3704
+ ],
3705
+ "-",
3706
+ "tx"
3725
3707
  ]
3726
3708
  ],
3727
3709
  [
3728
3710
  13,
3729
- "wc",
3711
+ "q",
3730
3712
  [
3731
3713
  1,
3732
3714
  [
3733
3715
  1,
3734
- "w",
3735
- "*",
3736
- "childA"
3716
+ [
3717
+ 1,
3718
+ "ddx",
3719
+ "*",
3720
+ "ddx"
3721
+ ],
3722
+ "+",
3723
+ [
3724
+ 1,
3725
+ "ddy",
3726
+ "*",
3727
+ "ddy"
3728
+ ]
3737
3729
  ],
3738
- "*",
3739
- "depthWeight"
3730
+ "/",
3731
+ [
3732
+ 6,
3733
+ [
3734
+ 7,
3735
+ "std",
3736
+ "max"
3737
+ ],
3738
+ [[
3739
+ 1,
3740
+ "dotR",
3741
+ "*",
3742
+ "dotR"
3743
+ ], [5, "0.01"]]
3744
+ ]
3740
3745
  ]
3741
3746
  ],
3742
3747
  [
3743
3748
  11,
3744
3749
  [
3745
3750
  1,
3746
- "wc",
3747
- ">",
3748
- [5, "0"]
3751
+ "q",
3752
+ "<",
3753
+ [
3754
+ 1,
3755
+ "extR",
3756
+ "*",
3757
+ "extR"
3758
+ ]
3749
3759
  ],
3750
- [0, [
3760
+ [0, [[
3761
+ 13,
3762
+ "wc",
3751
3763
  [
3752
- 13,
3753
- "idx",
3764
+ 1,
3754
3765
  [
3755
- 1,
3766
+ 6,
3767
+ "weightFn",
3768
+ [
3769
+ "q",
3770
+ "ddx",
3771
+ "ddy",
3772
+ "dotR",
3773
+ [
3774
+ 6,
3775
+ [
3776
+ 7,
3777
+ "d",
3778
+ "f32"
3779
+ ],
3780
+ ["AA_W"]
3781
+ ]
3782
+ ]
3783
+ ],
3784
+ "*",
3785
+ "cw"
3786
+ ]
3787
+ ], [
3788
+ 11,
3789
+ [
3790
+ 1,
3791
+ "wc",
3792
+ ">",
3793
+ [5, "0"]
3794
+ ],
3795
+ [0, [
3796
+ [
3797
+ 13,
3798
+ "idx",
3756
3799
  [
3757
3800
  1,
3801
+ [
3802
+ 1,
3803
+ [
3804
+ 6,
3805
+ [
3806
+ 7,
3807
+ "d",
3808
+ "u32"
3809
+ ],
3810
+ ["py"]
3811
+ ],
3812
+ "*",
3813
+ "owU"
3814
+ ],
3815
+ "+",
3758
3816
  [
3759
3817
  6,
3760
3818
  [
@@ -3762,223 +3820,213 @@ function makeParticleFieldSplatKernel(shape) {
3762
3820
  "d",
3763
3821
  "u32"
3764
3822
  ],
3765
- ["py"]
3823
+ ["px"]
3824
+ ]
3825
+ ]
3826
+ ],
3827
+ [
3828
+ 6,
3829
+ [
3830
+ 7,
3831
+ "std",
3832
+ "atomicAdd"
3833
+ ],
3834
+ [[
3835
+ 8,
3836
+ [
3837
+ 7,
3838
+ [
3839
+ 7,
3840
+ "fieldLayout",
3841
+ "$"
3842
+ ],
3843
+ "accumR"
3766
3844
  ],
3767
- "*",
3768
- "owU"
3769
- ],
3770
- "+",
3771
- [
3845
+ "idx"
3846
+ ], [
3772
3847
  6,
3773
3848
  [
3774
3849
  7,
3775
3850
  "d",
3776
3851
  "u32"
3777
3852
  ],
3778
- ["px"]
3779
- ]
3780
- ]
3781
- ],
3782
- [
3783
- 6,
3784
- [
3785
- 7,
3786
- "std",
3787
- "atomicAdd"
3853
+ [[
3854
+ 1,
3855
+ [
3856
+ 1,
3857
+ [
3858
+ 7,
3859
+ "col",
3860
+ "x"
3861
+ ],
3862
+ "*",
3863
+ "wc"
3864
+ ],
3865
+ "*",
3866
+ "FP"
3867
+ ]]
3868
+ ]]
3788
3869
  ],
3789
- [[
3790
- 8,
3791
- [
3792
- 7,
3793
- [
3794
- 7,
3795
- "fieldLayout",
3796
- "$"
3797
- ],
3798
- "accumR"
3799
- ],
3800
- "idx"
3801
- ], [
3870
+ [
3802
3871
  6,
3803
3872
  [
3804
3873
  7,
3805
- "d",
3806
- "u32"
3874
+ "std",
3875
+ "atomicAdd"
3807
3876
  ],
3808
3877
  [[
3809
- 1,
3878
+ 8,
3810
3879
  [
3811
- 1,
3880
+ 7,
3812
3881
  [
3813
3882
  7,
3814
- "col",
3815
- "x"
3883
+ "fieldLayout",
3884
+ "$"
3816
3885
  ],
3817
- "*",
3818
- "wc"
3886
+ "accumG"
3819
3887
  ],
3820
- "*",
3821
- "FP"
3822
- ]]
3823
- ]]
3824
- ],
3825
- [
3826
- 6,
3827
- [
3828
- 7,
3829
- "std",
3830
- "atomicAdd"
3831
- ],
3832
- [[
3833
- 8,
3834
- [
3835
- 7,
3888
+ "idx"
3889
+ ], [
3890
+ 6,
3836
3891
  [
3837
3892
  7,
3838
- "fieldLayout",
3839
- "$"
3893
+ "d",
3894
+ "u32"
3840
3895
  ],
3841
- "accumG"
3842
- ],
3843
- "idx"
3844
- ], [
3896
+ [[
3897
+ 1,
3898
+ [
3899
+ 1,
3900
+ [
3901
+ 7,
3902
+ "col",
3903
+ "y"
3904
+ ],
3905
+ "*",
3906
+ "wc"
3907
+ ],
3908
+ "*",
3909
+ "FP"
3910
+ ]]
3911
+ ]]
3912
+ ],
3913
+ [
3845
3914
  6,
3846
3915
  [
3847
3916
  7,
3848
- "d",
3849
- "u32"
3917
+ "std",
3918
+ "atomicAdd"
3850
3919
  ],
3851
3920
  [[
3852
- 1,
3921
+ 8,
3853
3922
  [
3854
- 1,
3923
+ 7,
3855
3924
  [
3856
3925
  7,
3857
- "col",
3858
- "y"
3926
+ "fieldLayout",
3927
+ "$"
3859
3928
  ],
3860
- "*",
3861
- "wc"
3929
+ "accumB"
3862
3930
  ],
3863
- "*",
3864
- "FP"
3865
- ]]
3866
- ]]
3867
- ],
3868
- [
3869
- 6,
3870
- [
3871
- 7,
3872
- "std",
3873
- "atomicAdd"
3874
- ],
3875
- [[
3876
- 8,
3877
- [
3878
- 7,
3931
+ "idx"
3932
+ ], [
3933
+ 6,
3879
3934
  [
3880
3935
  7,
3881
- "fieldLayout",
3882
- "$"
3936
+ "d",
3937
+ "u32"
3883
3938
  ],
3884
- "accumB"
3885
- ],
3886
- "idx"
3887
- ], [
3939
+ [[
3940
+ 1,
3941
+ [
3942
+ 1,
3943
+ [
3944
+ 7,
3945
+ "col",
3946
+ "z"
3947
+ ],
3948
+ "*",
3949
+ "wc"
3950
+ ],
3951
+ "*",
3952
+ "FP"
3953
+ ]]
3954
+ ]]
3955
+ ],
3956
+ [
3888
3957
  6,
3889
3958
  [
3890
3959
  7,
3891
- "d",
3892
- "u32"
3960
+ "std",
3961
+ "atomicAdd"
3893
3962
  ],
3894
3963
  [[
3895
- 1,
3964
+ 8,
3896
3965
  [
3897
- 1,
3966
+ 7,
3898
3967
  [
3899
3968
  7,
3900
- "col",
3901
- "z"
3969
+ "fieldLayout",
3970
+ "$"
3902
3971
  ],
3903
- "*",
3904
- "wc"
3972
+ "accumW"
3905
3973
  ],
3906
- "*",
3907
- "FP"
3908
- ]]
3909
- ]]
3910
- ],
3911
- [
3912
- 6,
3913
- [
3914
- 7,
3915
- "std",
3916
- "atomicAdd"
3917
- ],
3918
- [[
3919
- 8,
3920
- [
3921
- 7,
3974
+ "idx"
3975
+ ], [
3976
+ 6,
3922
3977
  [
3923
3978
  7,
3924
- "fieldLayout",
3925
- "$"
3979
+ "d",
3980
+ "u32"
3926
3981
  ],
3927
- "accumW"
3928
- ],
3929
- "idx"
3930
- ], [
3931
- 6,
3932
- [
3933
- 7,
3934
- "d",
3935
- "u32"
3936
- ],
3937
- [[
3938
- 1,
3939
- "wc",
3940
- "*",
3941
- "FP"
3982
+ [[
3983
+ 1,
3984
+ "wc",
3985
+ "*",
3986
+ "FP"
3987
+ ]]
3942
3988
  ]]
3943
- ]]
3944
- ]
3945
- ]]
3989
+ ]
3990
+ ]]
3991
+ ]]]
3946
3992
  ]
3947
3993
  ]]
3948
- ]
3949
- ]]
3950
- ]
3951
- ]]
3952
- ]]]
3994
+ ]]]
3995
+ ]
3996
+ ]]
3997
+ ]
3998
+ ]]
3953
3999
  ]
3954
4000
  ]],
3955
4001
  "externalNames": [
3956
4002
  "fieldLayout",
3957
4003
  "d",
4004
+ "MIN_ALPHA",
3958
4005
  "TAU",
3959
4006
  "std",
3960
4007
  "WOBBLE_FREQ",
3961
4008
  "PERSP_K",
3962
4009
  "SPLAT_R",
3963
- "SPLAT_WIN",
3964
- "EXTQ",
4010
+ "EXT_SHAPE",
4011
+ "AA_W",
4012
+ "MIN_WEIGHT",
3965
4013
  "weightFn",
3966
- "SOFT",
3967
4014
  "FP"
3968
4015
  ]
3969
4016
  },
3970
4017
  externals: () => ({
3971
4018
  fieldLayout,
3972
4019
  d: data_exports,
4020
+ MIN_ALPHA,
3973
4021
  TAU,
3974
4022
  std: std_exports,
3975
4023
  WOBBLE_FREQ,
3976
4024
  PERSP_K,
3977
4025
  SPLAT_R,
3978
- SPLAT_WIN,
3979
- EXTQ,
4026
+ EXT_SHAPE,
4027
+ AA_W,
4028
+ MIN_WEIGHT,
3980
4029
  weightFn,
3981
- SOFT,
3982
4030
  FP
3983
4031
  })
3984
4032
  }) && $.f)({})).$name("particleFieldSplat");
@@ -3992,6 +4040,10 @@ const particleFieldResolveKernel = src_default.fn([u32, u32])(/* @__PURE__ */ ((
3992
4040
  const rRaw = f32(atomicLoad(fieldLayout.$.accumR[idx]));
3993
4041
  const gRaw = f32(atomicLoad(fieldLayout.$.accumG[idx]));
3994
4042
  const bRaw = f32(atomicLoad(fieldLayout.$.accumB[idx]));
4043
+ atomicStore(fieldLayout.$.accumR[idx], u32(0));
4044
+ atomicStore(fieldLayout.$.accumG[idx], u32(0));
4045
+ atomicStore(fieldLayout.$.accumB[idx], u32(0));
4046
+ atomicStore(fieldLayout.$.accumW[idx], u32(0));
3995
4047
  const denom = max(wRaw, f32(1));
3996
4048
  const r = __tsover_div(rRaw, denom);
3997
4049
  const g = __tsover_div(gRaw, denom);
@@ -4182,6 +4234,122 @@ const particleFieldResolveKernel = src_default.fn([u32, u32])(/* @__PURE__ */ ((
4182
4234
  ]]
4183
4235
  ]
4184
4236
  ],
4237
+ [
4238
+ 6,
4239
+ [
4240
+ 7,
4241
+ "std",
4242
+ "atomicStore"
4243
+ ],
4244
+ [[
4245
+ 8,
4246
+ [
4247
+ 7,
4248
+ [
4249
+ 7,
4250
+ "fieldLayout",
4251
+ "$"
4252
+ ],
4253
+ "accumR"
4254
+ ],
4255
+ "idx"
4256
+ ], [
4257
+ 6,
4258
+ [
4259
+ 7,
4260
+ "d",
4261
+ "u32"
4262
+ ],
4263
+ [[5, "0"]]
4264
+ ]]
4265
+ ],
4266
+ [
4267
+ 6,
4268
+ [
4269
+ 7,
4270
+ "std",
4271
+ "atomicStore"
4272
+ ],
4273
+ [[
4274
+ 8,
4275
+ [
4276
+ 7,
4277
+ [
4278
+ 7,
4279
+ "fieldLayout",
4280
+ "$"
4281
+ ],
4282
+ "accumG"
4283
+ ],
4284
+ "idx"
4285
+ ], [
4286
+ 6,
4287
+ [
4288
+ 7,
4289
+ "d",
4290
+ "u32"
4291
+ ],
4292
+ [[5, "0"]]
4293
+ ]]
4294
+ ],
4295
+ [
4296
+ 6,
4297
+ [
4298
+ 7,
4299
+ "std",
4300
+ "atomicStore"
4301
+ ],
4302
+ [[
4303
+ 8,
4304
+ [
4305
+ 7,
4306
+ [
4307
+ 7,
4308
+ "fieldLayout",
4309
+ "$"
4310
+ ],
4311
+ "accumB"
4312
+ ],
4313
+ "idx"
4314
+ ], [
4315
+ 6,
4316
+ [
4317
+ 7,
4318
+ "d",
4319
+ "u32"
4320
+ ],
4321
+ [[5, "0"]]
4322
+ ]]
4323
+ ],
4324
+ [
4325
+ 6,
4326
+ [
4327
+ 7,
4328
+ "std",
4329
+ "atomicStore"
4330
+ ],
4331
+ [[
4332
+ 8,
4333
+ [
4334
+ 7,
4335
+ [
4336
+ 7,
4337
+ "fieldLayout",
4338
+ "$"
4339
+ ],
4340
+ "accumW"
4341
+ ],
4342
+ "idx"
4343
+ ], [
4344
+ 6,
4345
+ [
4346
+ 7,
4347
+ "d",
4348
+ "u32"
4349
+ ],
4350
+ [[5, "0"]]
4351
+ ]]
4352
+ ],
4185
4353
  [
4186
4354
  13,
4187
4355
  "denom",
@@ -4596,29 +4764,6 @@ const componentDefinition = {
4596
4764
  const paramsU = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createUniform(SimParams), "paramsU");
4597
4765
  const simKernel = makeParticleFieldSimKernel(DEPTH_SOURCE_MODES[getCpuValue("depthSource") || "luminance"] ?? 0);
4598
4766
  const splatKernel = makeParticleFieldSplatKernel(getCpuValue("particleShape") || "dot");
4599
- const clearPipe = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
4600
- "use gpu";
4601
- particleFieldClearKernel(x, y);
4602
- }), {
4603
- v: 1,
4604
- name: void 0,
4605
- ast: {
4606
- "params": [{
4607
- "type": "i",
4608
- "name": "x"
4609
- }, {
4610
- "type": "i",
4611
- "name": "y"
4612
- }],
4613
- "body": [0, [[
4614
- 6,
4615
- "particleFieldClearKernel",
4616
- ["x", "y"]
4617
- ]]],
4618
- "externalNames": ["particleFieldClearKernel"]
4619
- },
4620
- externals: () => ({ particleFieldClearKernel })
4621
- }) && $.f)({}), { size: [OUT_W, OUT_H] });
4622
4767
  const simPipe = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((gx, gy) => {
4623
4768
  "use gpu";
4624
4769
  simKernel(gx, gy);
@@ -4692,6 +4837,7 @@ const componentDefinition = {
4692
4837
  let localTime = 0;
4693
4838
  let frameIdx = 0;
4694
4839
  const DEG_TO_RAD = .017453292519943295;
4840
+ const countCap = isMobileGpuViewport() ? COUNT_MAX_MOBILE : COUNT_MAX;
4695
4841
  return {
4696
4842
  outputs: {
4697
4843
  childTexture,
@@ -4724,7 +4870,7 @@ const componentDefinition = {
4724
4870
  };
4725
4871
  const h = fp.dimensions?.height ?? dimensions.height;
4726
4872
  const aspect = h > 0 ? (fp.dimensions?.width ?? dimensions.width) / h : 1;
4727
- const count = Math.min(Math.max(Math.round(g("count", 15e3)), 500), COUNT_MAX);
4873
+ const count = Math.min(Math.max(Math.round(g("count", 15e3)), 500), countCap);
4728
4874
  let GW = Math.round(Math.sqrt(count * aspect));
4729
4875
  GW = Math.min(Math.max(GW, 8), GRID_DIM_MAX);
4730
4876
  let GH = Math.round(count / GW);
@@ -4757,7 +4903,7 @@ const componentDefinition = {
4757
4903
  dragMul: Math.exp(-DRAG * dt),
4758
4904
  wobbleAmp: g("wobble", .35),
4759
4905
  depthShading: Math.min(Math.max(g("depthShading", .6), 0), 1),
4760
- spacing: OUT_W / GW,
4906
+ spacing: Math.min(OUT_W / GW, OUT_H / GH),
4761
4907
  particleSize: g("particleSize", 1.3),
4762
4908
  aspect,
4763
4909
  zoom: Math.min(Math.max(g("zoom", 1), .05), 10),
@@ -4771,7 +4917,6 @@ const componentDefinition = {
4771
4917
  });
4772
4918
  frameIdx++;
4773
4919
  return [
4774
- () => clearPipe.with(bg).dispatch(),
4775
4920
  () => simPipe.with(bg).dispatchThreads(GW, GH),
4776
4921
  () => splatPipe.with(bg).dispatchThreads(GW, GH),
4777
4922
  () => resolvePipe.with(bg).dispatch()
@@ -4787,4 +4932,4 @@ const componentDefinition = {
4787
4932
  }
4788
4933
  };
4789
4934
  var ParticleField_default = componentDefinition;
4790
- export { particleFieldClearKernel as a, makeParticleFieldSplatKernel as i, componentDefinition as n, particleFieldResolveKernel as o, makeParticleFieldSimKernel as r, particleFieldSplatKernel as s, ParticleField_default as t };
4935
+ export { particleFieldResolveKernel as a, makeParticleFieldSplatKernel as i, componentDefinition as n, particleFieldSplatKernel as o, makeParticleFieldSimKernel as r, ParticleField_default as t };