shaders 3.0.448 → 3.0.450

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 (443) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/core/{AngularBlur-xU811GPM.js → AngularBlur-4jt7bNoF.js} +15 -15
  3. package/dist/core/{Arc-DYvFxtGy.js → Arc-DXIfbBgd.js} +13 -12
  4. package/dist/core/{Ascii-ChE4BP7J.js → Ascii-GDof03Ca.js} +51 -53
  5. package/dist/core/{Aurora-BThE6pbb.js → Aurora-CS4vewUW.js} +63 -68
  6. package/dist/core/{BarShift-DdjkPSk3.js → BarShift-BtnYLQ0B.js} +31 -32
  7. package/dist/core/{BarnDoors-B_kxVuec.js → BarnDoors-Dw9K-amf.js} +21 -22
  8. package/dist/core/{Beam-C7zPHuIU.js → Beam-D_cyaMjJ.js} +32 -39
  9. package/dist/core/{Bend-CFcEjifF.js → Bend-CSs5UIh8.js} +27 -28
  10. package/dist/core/{Blob-CgUolAhz.js → Blob-h25zA5WH.js} +54 -60
  11. package/dist/core/{BlockDissolve-CLSxXB4e.js → BlockDissolve-CKN_KvLP.js} +21 -20
  12. package/dist/core/{BlockNoise-BgEJOicU.js → BlockNoise-DhKyd_F7.js} +16 -14
  13. package/dist/core/{BlueNoise-BqMtBLxM.js → BlueNoise-Auhzq4x5.js} +12 -10
  14. package/dist/core/{Blur-Xaa6jVPT.js → Blur-CcxMqYsu.js} +27 -27
  15. package/dist/core/{Boids-B8QUNxRL.js → Boids-D51U46GF.js} +916 -787
  16. package/dist/core/{BokehBlur-B5fql96U.js → BokehBlur-Cfaqbh3I.js} +104 -104
  17. package/dist/core/{BrickPattern-EAD5HD4e.js → BrickPattern-tASwilX0.js} +34 -38
  18. package/dist/core/{BrightnessContrast-mbv32DkA.js → BrightnessContrast-ZCKqJW7i.js} +9 -10
  19. package/dist/core/{BrushedMetal-B10fDdGt.js → BrushedMetal-B6gSVB28.js} +81 -84
  20. package/dist/core/{Bulge-C1Pq4DHk.js → Bulge-dCYtWP4S.js} +19 -19
  21. package/dist/core/{CRTScreen-Ctx0Mxtb.js → CRTScreen-CVY1lOGL.js} +35 -37
  22. package/dist/core/{CarbonFiber-DSSARe6R.js → CarbonFiber-Do9EONKv.js} +81 -84
  23. package/dist/core/{Chalkboard-C7srb54u.js → Chalkboard-0hyyGnYl.js} +59 -61
  24. package/dist/core/{ChannelBlur-DE3T4-pj.js → ChannelBlur-DcZKCKXi.js} +13 -15
  25. package/dist/core/{CheckerWipe-Dp49-iaT.js → CheckerWipe-BIE62tJ1.js} +23 -23
  26. package/dist/core/{Checkerboard-oVWtS0rz.js → Checkerboard-CRnfu63u.js} +31 -31
  27. package/dist/core/{Chevron-CCD5JTRA.js → Chevron-Ld_v4z9T.js} +20 -20
  28. package/dist/core/{ChromaFlow-BiE9Mes0.js → ChromaFlow-CTWeauIr.js} +32 -33
  29. package/dist/core/{ChromaticAberration-XEasUrD3.js → ChromaticAberration-CxuOb68m.js} +13 -13
  30. package/dist/core/{Circle-CvQ9duDU.js → Circle-XP1B5rsN.js} +14 -13
  31. package/dist/core/{ColorWheel-CXvfWAjN.js → ColorWheel-CFU_OmOW.js} +30 -34
  32. package/dist/core/{CompressionArtifacts-BDaP7XI6.js → CompressionArtifacts-Bc9xTdQP.js} +64 -66
  33. package/dist/core/{ConcentricSpin-D06hFXEb.js → ConcentricSpin-DTJytpAk.js} +39 -41
  34. package/dist/core/{ConicGradient-Cg6vy3gl.js → ConicGradient-C-4uDmQj.js} +17 -18
  35. package/dist/core/{ContourLines-Cg2Dlmcr.js → ContourLines-C8p6f-1y.js} +29 -30
  36. package/dist/core/{CornerPin-wtqiMUCa.js → CornerPin-CB92kX10.js} +55 -57
  37. package/dist/core/{Crescent-Co__JqEE.js → Crescent-Dk4nlG8T.js} +14 -13
  38. package/dist/core/{Cross-CFytbdrZ.js → Cross-DsnI1U8g.js} +14 -13
  39. package/dist/core/{Crystal-U7VqhbHy.js → Crystal-CR_sG2y7.js} +143 -152
  40. package/dist/core/{CurlNoise-BXWYh1Qi.js → CurlNoise-DJ27ih0F.js} +16 -14
  41. package/dist/core/{CursorRipples-APbH7SVR.js → CursorRipples-CuO3sZga.js} +59 -58
  42. package/dist/core/{CursorTrail-D5Fj0wGp.js → CursorTrail-d4xx4QpM.js} +72 -71
  43. package/dist/core/{DataMosh-CWRLpjU3.js → DataMosh-BhvE-2yC.js} +71 -73
  44. package/dist/core/{DiamondGradient-C_2VoEiQ.js → DiamondGradient-CtOVKrYf.js} +23 -25
  45. package/dist/core/{DiamondWipe-BkdNODD1.js → DiamondWipe-D-yiQBVj.js} +22 -22
  46. package/dist/core/{DiffuseBlur-Dl7S4KBW.js → DiffuseBlur-BDf-Czxz.js} +11 -12
  47. package/dist/core/{DisplacementMap-lv-qoLem.js → DisplacementMap-B_jf_2lj.js} +26 -26
  48. package/dist/core/{Dither-B33J_gJU.js → Dither-D3P6EJU8.js} +116 -119
  49. package/dist/core/{DotGrid-DaOhiRaL.js → DotGrid-BnSVhJlh.js} +37 -39
  50. package/dist/core/{DropShadow-C5Z2Rs2C.js → DropShadow-BSKVH3n3.js} +37 -37
  51. package/dist/core/{Duotone-x4cywJbU.js → Duotone-DfjYuK2u.js} +7 -7
  52. package/dist/core/{Ellipse-CrQ1XYjx.js → Ellipse-D7_1QKaa.js} +13 -12
  53. package/dist/core/{Emboss-DNwO5JcE.js → Emboss-ZiPslqzl.js} +76 -78
  54. package/dist/core/{Engraving-FsaRQiyI.js → Engraving-DsfkKajz.js} +57 -59
  55. package/dist/core/{ErosionNoise-CloHpdFT.js → ErosionNoise-SELArv9H.js} +13 -11
  56. package/dist/core/{Exposure-mO6KjYvc.js → Exposure-A7WlTOti.js} +4 -5
  57. package/dist/core/{FallingLines-D_1wHUkx.js → FallingLines-9PRMb_Ou.js} +40 -42
  58. package/dist/core/{FilmGrain-DDhrsw94.js → FilmGrain-SXzVDesw.js} +17 -18
  59. package/dist/core/{FilmStock-BaP2aTLu.js → FilmStock-RK4fk4m0.js} +74 -74
  60. package/dist/core/{Flip-DYuqyJva.js → Flip-DjoNWG4v.js} +10 -12
  61. package/dist/core/{FloatingParticles-DJwNpHtZ.js → FloatingParticles-D7vUF5g7.js} +637 -451
  62. package/dist/core/{FlowField-D4iGiDic.js → FlowField-tHrXhd1b.js} +24 -23
  63. package/dist/core/{Flower-D0MqoayS.js → Flower-BfehbmmG.js} +14 -13
  64. package/dist/core/{FlowingGradient-9Zu0Pu4a.js → FlowingGradient-BTKjkx5F.js} +38 -39
  65. package/dist/core/{FlutedGlass-C_clmShu.js → FlutedGlass-uFT7iy_9.js} +43 -43
  66. package/dist/core/{Fog-C_kY5pWB.js → Fog-Cu1CMATa.js} +172 -171
  67. package/dist/core/{Form3D-D4aXZGoJ.js → Form3D-D0ji-MeC.js} +259 -267
  68. package/dist/core/{FractalNoise-mMVLGmIv.js → FractalNoise-D9HYiOdr.js} +30 -28
  69. package/dist/core/{Frost-M53tZlcf.js → Frost-DQZZxdTk.js} +70 -73
  70. package/dist/core/{GaborNoise-BhXywN1d.js → GaborNoise-D7BP0K4g.js} +16 -14
  71. package/dist/core/{Glass-B9D_52op.js → Glass-CzCVnGn-.js} +6 -4
  72. package/dist/core/{GlassTiles-DIkGYgVE.js → GlassTiles-DJzPPqwz.js} +23 -26
  73. package/dist/core/{Glitch-CUOJt5VX.js → Glitch-D1Dx8__X.js} +84 -72
  74. package/dist/core/{Glow-D5AdnLvU.js → Glow-Bd9_o_Kv.js} +76 -77
  75. package/dist/core/{Godrays-BeQCWVw7.js → Godrays-DRPRWGPm.js} +52 -56
  76. package/dist/core/{Goo-C0_0QYne.js → Goo-28A_pNBg.js} +64 -65
  77. package/dist/core/{GradientMap-DOVK05_a.js → GradientMap-D8dv-1AX.js} +47 -50
  78. package/dist/core/{Grayscale-Uv_6LYA9.js → Grayscale-BlVXBVwW.js} +6 -6
  79. package/dist/core/{Grid-Dbp4DoXZ.js → Grid-D9vlHvs1.js} +46 -48
  80. package/dist/core/{GridDistortion-D_21zIrm.js → GridDistortion-BpqDvqj6.js} +63 -62
  81. package/dist/core/{Group-DXiB5Qrx.js → Group-bwQnJRec.js} +1 -1
  82. package/dist/core/{HTMLInCanvas-xXPLTYIv.js → HTMLInCanvas-gCf64ozE.js} +1 -1
  83. package/dist/core/{Halftone-DszIQsyx.js → Halftone-B_WouxiP.js} +59 -62
  84. package/dist/core/{Heart-COpnSJPD.js → Heart-Bmt2TLNz.js} +12 -11
  85. package/dist/core/{Heatmap-CMm8SD-P.js → Heatmap-Ruef741_.js} +57 -55
  86. package/dist/core/{HexGrid-B6wNW-45.js → HexGrid-By9k0YuI.js} +32 -35
  87. package/dist/core/{Hologram-XejRN51V.js → Hologram-Cf25ONOE.js} +62 -66
  88. package/dist/core/{Holographic-D1G_Ou1y.js → Holographic-C9RzYykt.js} +58 -61
  89. package/dist/core/{HueShift-BCDgYfJs.js → HueShift-V3gQVuIo.js} +7 -10
  90. package/dist/core/{ImageTexture-BE2Jlkg6.js → ImageTexture-DAUR2N5Q.js} +3 -2
  91. package/dist/core/{InkFlow-DJaJqula.js → InkFlow-DlP1gmr4.js} +156 -156
  92. package/dist/core/{Invert-DDmITZjt.js → Invert-K648khvD.js} +4 -4
  93. package/dist/core/{IrisWipe-BFs5DDSa.js → IrisWipe-Clkd_5CA.js} +20 -23
  94. package/dist/core/{IsometricCubes-ChKqYTIw.js → IsometricCubes-CzfAwpQ5.js} +37 -42
  95. package/dist/core/{Kaleidoscope-C8_-tC6T.js → Kaleidoscope-B9k6HkNn.js} +21 -21
  96. package/dist/core/{KeyFrames-xR9ZzHKj.js → KeyFrames-DX6JFhsy.js} +130 -129
  97. package/dist/core/{LensFlare-DHGNEDIX.js → LensFlare-G73cvrIG.js} +82 -84
  98. package/dist/core/{LightEdge-DYfhB3-7.js → LightEdge-D3i7HUR9.js} +106 -107
  99. package/dist/core/{LightLeak-CYjuMURe.js → LightLeak-B8yGreP-.js} +58 -59
  100. package/dist/core/{LinearBlur-CV7gKYHV.js → LinearBlur-BEzNPe0e.js} +14 -14
  101. package/dist/core/{LinearGradient-DAzw65UB.js → LinearGradient-XjXyaoii.js} +36 -37
  102. package/dist/core/{LinearWipe-DoDZF7y0.js → LinearWipe-Doj9aS5n.js} +20 -21
  103. package/dist/core/{LiquidMetal-C9OxRyE4.js → LiquidMetal-CWV_RQip.js} +70 -73
  104. package/dist/core/{Liquify-gNsuR7aA.js → Liquify-DWrgFruC.js} +67 -66
  105. package/dist/core/{MagneticFilings-CQ7zHEow.js → MagneticFilings-Co0V07-1.js} +996 -756
  106. package/dist/core/{Marble-BSSMSrv8.js → Marble-D13mDBvL.js} +22 -21
  107. package/dist/core/{Mirror-BZAUA2jk.js → Mirror-DvukM_eG.js} +18 -18
  108. package/dist/core/{MultiPointGradient-HSfAYB-u.js → MultiPointGradient-CyK_Ty9a.js} +30 -31
  109. package/dist/core/{Neon-D9d6Osal.js → Neon-DD8qY6H9.js} +102 -113
  110. package/dist/core/{NoiseDissolve-CnELvUG_.js → NoiseDissolve-CeX3VO8J.js} +23 -22
  111. package/dist/core/{ObjectTracker-COh35yTh.js → ObjectTracker-BWo8H1kh.js} +3 -3
  112. package/dist/core/{PagePeel-B6sjmvZ1.js → PagePeel-BL5IeBeD.js} +54 -58
  113. package/dist/core/{Paper-LfukraJk.js → Paper-BAq9MqtG.js} +16 -15
  114. package/dist/core/{Parallelogram-DBi0yAG3.js → Parallelogram-DYzFG9ci.js} +14 -13
  115. package/dist/core/{ParticleField-q7COY9YT.js → ParticleField-Bl4uztO7.js} +1489 -1340
  116. package/dist/core/{ParticleFlow-DiHWbIon.js → ParticleFlow-RPxLP8HC.js} +1422 -1149
  117. package/dist/core/{Particles-BFsKUAPx.js → Particles-BDEX4Fw2.js} +866 -656
  118. package/dist/core/{PerlinNoise-KV2GG0ts.js → PerlinNoise-BtXlaEd8.js} +16 -14
  119. package/dist/core/{Perspective-CJSrtEy5.js → Perspective-CdU5nAEn.js} +23 -25
  120. package/dist/core/{PixelSort-WD-Y6ZFu.js → PixelSort-C7TX1ClH.js} +109 -109
  121. package/dist/core/{PixelThrow-CnOXm7Hv.js → PixelThrow-DpKEZPMK.js} +35 -35
  122. package/dist/core/{Pixelate-XJI9f1oT.js → Pixelate-C2OQUtqr.js} +19 -19
  123. package/dist/core/{Plasma-C0dnSaw1.js → Plasma-DLq9HroF.js} +33 -32
  124. package/dist/core/{Plastic-DBv_6A7q.js → Plastic-C2hiOaXw.js} +82 -84
  125. package/dist/core/{PolarCoordinates-B8Cq2bzT.js → PolarCoordinates-Bumv-Hi3.js} +16 -18
  126. package/dist/core/{Polygon-ORM35JKg.js → Polygon-DOpR58g4.js} +16 -17
  127. package/dist/core/{Posterize-Dn-Vv2S1.js → Posterize-CVNOkDme.js} +5 -8
  128. package/dist/core/{Prism-CYLsGJHY.js → Prism-CCQ1BsBL.js} +36 -40
  129. package/dist/core/{ProgressiveBlur-BXUumCm5.js → ProgressiveBlur-Cprr1XSE.js} +63 -65
  130. package/dist/core/{RadialGradient-j6T56q1W.js → RadialGradient-CsmCSySC.js} +22 -23
  131. package/dist/core/{RadialWipe-Bz19qvls.js → RadialWipe-BAnsqol4.js} +25 -25
  132. package/dist/core/{RandomBars-3RlhwDYG.js → RandomBars-DdhtxO8o.js} +23 -23
  133. package/dist/core/{ReactionDiffusion-DdXavIVw.js → ReactionDiffusion-Bih4xEtV.js} +173 -175
  134. package/dist/core/{RectangularCoordinates-p3250IKV.js → RectangularCoordinates-CKKA2oY1.js} +14 -14
  135. package/dist/core/{ReflectivePlane-BOl9AEoO.js → ReflectivePlane-u3Tje37M.js} +35 -37
  136. package/dist/core/{Repeater-BMXmN95R.js → Repeater-C-agsqBS.js} +2 -2
  137. package/dist/core/{Ring-DKcROHDs.js → Ring-Cj7bR89h.js} +15 -14
  138. package/dist/core/{RippleWipe-QH8D0Y-2.js → RippleWipe-VL1MMd5o.js} +24 -27
  139. package/dist/core/{Ripples-8fFdo6aq.js → Ripples-B88TeopS.js} +18 -21
  140. package/dist/core/{RoundedRect-Cr76tP9o.js → RoundedRect-jn8_QLrT.js} +14 -13
  141. package/dist/core/{Saturation-Dqifs1x7.js → Saturation-dCNIhHq2.js} +8 -9
  142. package/dist/core/{Scratches-sa8JU4Eb.js → Scratches-Dz_1Ptk0.js} +16 -14
  143. package/dist/core/{Sharpness-IRuPd9nn.js → Sharpness-Bxq4YiRL.js} +21 -22
  144. package/dist/core/{Shatter-BYaxMvyd.js → Shatter-DsuYUr-1.js} +73 -72
  145. package/dist/core/{SimplexNoise-C2vmRzgy.js → SimplexNoise-CvalBPNF.js} +19 -17
  146. package/dist/core/{SineWave-BGAJyGFr.js → SineWave-XPK5BsPB.js} +20 -20
  147. package/dist/core/{SliceWipe-BOcCk5Se.js → SliceWipe-gSs_VRwf.js} +19 -19
  148. package/dist/core/{Smoke-B1twbhQ4.js → Smoke-kzRXFLW9.js} +156 -155
  149. package/dist/core/{SmokeFill-CAayneM2.js → SmokeFill-DQZeqiwX.js} +233 -231
  150. package/dist/core/{SmokeFlow-Ug8difAz.js → SmokeFlow-n23YvKoI.js} +143 -142
  151. package/dist/core/{Solarize-205KKROH.js → Solarize-DINiQSz1.js} +12 -14
  152. package/dist/core/{SolidColor-B4pj8onb.js → SolidColor-Cu_9b_my.js} +1 -1
  153. package/dist/core/{Spherize-DUQxwwCL.js → Spherize-BLY2eqBV.js} +31 -37
  154. package/dist/core/{Spiral-DY1c-N4F.js → Spiral-CWCmvI3m.js} +36 -36
  155. package/dist/core/{Star-DRxNaHHo.js → Star-9WSeF-vW.js} +14 -13
  156. package/dist/core/{Stone-CUdcvOWd.js → Stone-CVO2Ey8i.js} +2 -2
  157. package/dist/core/{Strands-CFxYJMFu.js → Strands-D9Sz1vX9.js} +47 -49
  158. package/dist/core/{Stretch-DYrVdt8A.js → Stretch-DMT2Y6kN.js} +19 -19
  159. package/dist/core/{Stripes-BvnoWdwn.js → Stripes-DPVbOQkX.js} +39 -39
  160. package/dist/core/{StudioBackground-srQGUpfZ.js → StudioBackground-5JgYClrr.js} +67 -68
  161. package/dist/core/{SunBurst-COsVDZ4e.js → SunBurst-Din5CIAU.js} +18 -20
  162. package/dist/core/{Surface3D-TsGPzdGm.js → Surface3D-CW2ApEgt.js} +1934 -1528
  163. package/dist/core/{Swirl-nXMWVY2X.js → Swirl-DrchXPfh.js} +18 -21
  164. package/dist/core/{Teardrop-Bjtkigk4.js → Teardrop-CDt_XA4d.js} +13 -12
  165. package/dist/core/{Text-BGdsqRl5.js → Text-o_dubJeo.js} +20 -21
  166. package/dist/core/{ThinFilm-DhMKI5e2.js → ThinFilm-d7IlUY62.js} +59 -67
  167. package/dist/core/{TiltShift-BwuYyXB6.js → TiltShift-DJVcMb_M.js} +66 -67
  168. package/dist/core/{TimeTrail-CE2XumxR.js → TimeTrail-D1Gir7BK.js} +1003 -1647
  169. package/dist/core/{Tint-BTmcGjEl.js → Tint-Cak_PyOJ.js} +25 -26
  170. package/dist/core/{Trapezoid-CiZCh8QS.js → Trapezoid-DnFhlKCD.js} +14 -13
  171. package/dist/core/{TriangularGrid-BnQOEljy.js → TriangularGrid-BE9CgVlb.js} +34 -36
  172. package/dist/core/{Tritone-Ta084wlF.js → Tritone-mqU9b4YZ.js} +7 -10
  173. package/dist/core/{Truchet-BxCh_IIp.js → Truchet-yLdaw6z4.js} +31 -33
  174. package/dist/core/{Twirl-Cw4jm59Q.js → Twirl-SA6uh8pI.js} +16 -16
  175. package/dist/core/{VHS-Nwk0E-tf.js → VHS-Ch-bVeit.js} +68 -69
  176. package/dist/core/{VenetianBlinds-BZ0sS97G.js → VenetianBlinds-CboEoPIZ.js} +22 -23
  177. package/dist/core/{Vesica-Cf1KiSzK.js → Vesica-DmJWzk7E.js} +13 -12
  178. package/dist/core/{Vibrance-qWGvLkrW.js → Vibrance-7rW_G3qT.js} +7 -8
  179. package/dist/core/{VideoTexture-48ylVDvN.js → VideoTexture-Ctk5_1F8.js} +34 -39
  180. package/dist/core/{Vignette-CK_Li7v2.js → Vignette-DXtlR5LT.js} +20 -22
  181. package/dist/core/{Voronoi-DMYFDwIS.js → Voronoi-B0ZrQ6QO.js} +33 -37
  182. package/dist/core/{Water-D74wbHmn.js → Water-DfwGqSnM.js} +101 -108
  183. package/dist/core/{Watercolor-zo8-4Vqx.js → Watercolor-BAShYSu7.js} +305 -389
  184. package/dist/core/{WaveDistortion-BLrvGOzF.js → WaveDistortion-Cj4QBBKm.js} +80 -82
  185. package/dist/core/{WaveletNoise-a5OpO8-D.js → WaveletNoise-DYiU_ziD.js} +16 -14
  186. package/dist/core/{Weave-D1D3kuUg.js → Weave-DVefdB9i.js} +28 -31
  187. package/dist/core/{WebcamTexture-pBETyQYG.js → WebcamTexture-BO9jNxcP.js} +7 -7
  188. package/dist/core/{Wool-CMnWPdy9.js → Wool-D304TmpD.js} +2 -2
  189. package/dist/core/{WorleyNoise-BAEo0duh.js → WorleyNoise-B5FBTklZ.js} +69 -70
  190. package/dist/core/{ZoomBlur-CnBNmcfx.js → ZoomBlur-DxySopLs.js} +12 -12
  191. package/dist/core/agents-c-JjGH1b.js +1440 -0
  192. package/dist/core/blur-DKmdsW6d.js +2247 -0
  193. package/dist/core/compute-BoeIXi0l.js +31 -0
  194. package/dist/core/dataEncoding-CEmpiitu.js +24 -0
  195. package/dist/core/device-BODv_4aH.js +10 -0
  196. package/dist/core/edges-BZUKQxSE.js +29857 -0
  197. package/dist/core/{glass-sOqjtPJD.js → glass-BVqgjSPg.js} +164 -172
  198. package/dist/core/gpu/index.d.ts.map +1 -1
  199. package/dist/core/gpu/kit/agents.d.ts +17 -1
  200. package/dist/core/gpu/kit/agents.d.ts.map +1 -1
  201. package/dist/core/gpu/passManager.d.ts +6 -2
  202. package/dist/core/gpu/passManager.d.ts.map +1 -1
  203. package/dist/core/gpu/textures.d.ts +2 -2
  204. package/dist/core/gpu/textures.d.ts.map +1 -1
  205. package/dist/core/index.js +324 -226
  206. package/dist/core/media-Ds6MRfGR.js +757 -0
  207. package/dist/core/noise-Cq0KUOSC.js +12033 -0
  208. package/dist/core/noiseColor-CQyzqpVZ.js +103 -0
  209. package/dist/core/{noiseColor-CRpf22bk.js → noiseColor-DjCUZ_8u.js} +2 -2
  210. package/dist/core/noiseStylize-fKVcJbGK.js +359 -0
  211. package/dist/core/porters-DogLzpKT.js +991 -0
  212. package/dist/core/presetRenderer.d.ts.map +1 -1
  213. package/dist/core/registry.js +208 -199
  214. package/dist/core/sdf-o99ONcMJ.js +5174 -0
  215. package/dist/core/shaderRegistry-BSrnuqx-.js +425 -0
  216. package/dist/core/shaders/AngularBlur/index.js +5 -4
  217. package/dist/core/shaders/Arc/index.js +7 -4
  218. package/dist/core/shaders/Ascii/index.js +5 -4
  219. package/dist/core/shaders/Aurora/index.js +6 -4
  220. package/dist/core/shaders/BarShift/index.js +5 -4
  221. package/dist/core/shaders/BarnDoors/index.js +5 -4
  222. package/dist/core/shaders/Beam/index.js +5 -4
  223. package/dist/core/shaders/Bend/index.js +5 -4
  224. package/dist/core/shaders/Blob/index.js +5 -4
  225. package/dist/core/shaders/BlockDissolve/index.js +6 -4
  226. package/dist/core/shaders/BlockNoise/index.js +8 -5
  227. package/dist/core/shaders/BlueNoise/index.js +8 -5
  228. package/dist/core/shaders/Blur/index.js +6 -4
  229. package/dist/core/shaders/Boids/index.d.ts +3 -3
  230. package/dist/core/shaders/Boids/index.d.ts.map +1 -1
  231. package/dist/core/shaders/Boids/index.js +9 -5
  232. package/dist/core/shaders/BokehBlur/index.js +6 -4
  233. package/dist/core/shaders/BrickPattern/index.js +5 -4
  234. package/dist/core/shaders/BrightnessContrast/index.js +5 -4
  235. package/dist/core/shaders/BrushedMetal/index.js +11 -6
  236. package/dist/core/shaders/Bulge/index.js +5 -4
  237. package/dist/core/shaders/CRTScreen/index.js +5 -4
  238. package/dist/core/shaders/CarbonFiber/index.js +11 -6
  239. package/dist/core/shaders/Chalkboard/index.js +5 -4
  240. package/dist/core/shaders/ChannelBlur/index.js +6 -4
  241. package/dist/core/shaders/CheckerWipe/index.js +5 -4
  242. package/dist/core/shaders/Checkerboard/index.js +5 -4
  243. package/dist/core/shaders/Chevron/index.js +5 -4
  244. package/dist/core/shaders/ChromaFlow/index.js +6 -4
  245. package/dist/core/shaders/ChromaticAberration/index.js +5 -4
  246. package/dist/core/shaders/Circle/index.js +7 -4
  247. package/dist/core/shaders/ColorWheel/index.js +5 -4
  248. package/dist/core/shaders/CompressionArtifacts/index.js +5 -4
  249. package/dist/core/shaders/ConcentricSpin/index.js +5 -4
  250. package/dist/core/shaders/ConicGradient/index.js +5 -4
  251. package/dist/core/shaders/ContourLines/index.js +5 -4
  252. package/dist/core/shaders/CornerPin/index.js +5 -4
  253. package/dist/core/shaders/Crescent/index.js +7 -4
  254. package/dist/core/shaders/Cross/index.js +7 -4
  255. package/dist/core/shaders/Crystal/index.js +11 -6
  256. package/dist/core/shaders/CurlNoise/index.js +8 -5
  257. package/dist/core/shaders/CursorRipples/index.js +5 -4
  258. package/dist/core/shaders/CursorTrail/index.js +5 -4
  259. package/dist/core/shaders/DataMosh/index.js +5 -4
  260. package/dist/core/shaders/DiamondGradient/index.js +5 -4
  261. package/dist/core/shaders/DiamondWipe/index.js +5 -4
  262. package/dist/core/shaders/DiffuseBlur/index.js +5 -4
  263. package/dist/core/shaders/DisplacementMap/index.js +5 -4
  264. package/dist/core/shaders/Dither/index.js +5 -4
  265. package/dist/core/shaders/DotGrid/index.js +5 -4
  266. package/dist/core/shaders/DropShadow/index.js +5 -4
  267. package/dist/core/shaders/Duotone/index.js +5 -4
  268. package/dist/core/shaders/Ellipse/index.js +7 -4
  269. package/dist/core/shaders/Emboss/index.js +10 -6
  270. package/dist/core/shaders/Engraving/index.js +6 -4
  271. package/dist/core/shaders/ErosionNoise/index.js +8 -5
  272. package/dist/core/shaders/Exposure/index.js +5 -4
  273. package/dist/core/shaders/FallingLines/index.js +5 -4
  274. package/dist/core/shaders/FilmGrain/index.js +5 -4
  275. package/dist/core/shaders/FilmStock/index.js +6 -4
  276. package/dist/core/shaders/Flip/index.js +5 -4
  277. package/dist/core/shaders/FloatingParticles/index.d.ts +9 -4
  278. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  279. package/dist/core/shaders/FloatingParticles/index.js +9 -5
  280. package/dist/core/shaders/FlowField/index.js +6 -4
  281. package/dist/core/shaders/Flower/index.js +7 -4
  282. package/dist/core/shaders/FlowingGradient/index.js +6 -4
  283. package/dist/core/shaders/FlutedGlass/index.js +5 -4
  284. package/dist/core/shaders/Fog/index.js +5 -4
  285. package/dist/core/shaders/Form3D/index.js +5 -4
  286. package/dist/core/shaders/FractalNoise/index.js +7 -4
  287. package/dist/core/shaders/Frost/index.js +11 -6
  288. package/dist/core/shaders/GaborNoise/index.js +8 -5
  289. package/dist/core/shaders/Glass/index.js +11 -6
  290. package/dist/core/shaders/GlassTiles/index.js +5 -4
  291. package/dist/core/shaders/Glitch/index.d.ts +1 -1
  292. package/dist/core/shaders/Glitch/index.d.ts.map +1 -1
  293. package/dist/core/shaders/Glitch/index.js +5 -4
  294. package/dist/core/shaders/Glow/index.js +6 -4
  295. package/dist/core/shaders/Godrays/index.js +5 -4
  296. package/dist/core/shaders/Goo/index.js +10 -6
  297. package/dist/core/shaders/GradientMap/index.js +5 -4
  298. package/dist/core/shaders/Grayscale/index.js +5 -4
  299. package/dist/core/shaders/Grid/index.js +5 -4
  300. package/dist/core/shaders/GridDistortion/index.js +5 -4
  301. package/dist/core/shaders/Group/index.js +5 -4
  302. package/dist/core/shaders/HTMLInCanvas/index.js +5 -4
  303. package/dist/core/shaders/Halftone/index.js +5 -4
  304. package/dist/core/shaders/Heart/index.js +7 -4
  305. package/dist/core/shaders/Heatmap/index.js +11 -6
  306. package/dist/core/shaders/HexGrid/index.js +5 -4
  307. package/dist/core/shaders/Hologram/index.js +11 -6
  308. package/dist/core/shaders/Holographic/index.js +11 -6
  309. package/dist/core/shaders/HueShift/index.js +5 -4
  310. package/dist/core/shaders/ImageTexture/index.js +7 -5
  311. package/dist/core/shaders/InkFlow/index.js +5 -4
  312. package/dist/core/shaders/Invert/index.js +5 -4
  313. package/dist/core/shaders/IrisWipe/index.js +5 -4
  314. package/dist/core/shaders/IsometricCubes/index.js +5 -4
  315. package/dist/core/shaders/Kaleidoscope/index.js +5 -4
  316. package/dist/core/shaders/KeyFrames/index.js +5 -4
  317. package/dist/core/shaders/LensFlare/index.js +5 -4
  318. package/dist/core/shaders/LightEdge/index.js +11 -6
  319. package/dist/core/shaders/LightLeak/index.js +6 -4
  320. package/dist/core/shaders/LinearBlur/index.js +5 -4
  321. package/dist/core/shaders/LinearGradient/index.js +5 -4
  322. package/dist/core/shaders/LinearWipe/index.js +5 -4
  323. package/dist/core/shaders/LiquidMetal/index.js +11 -6
  324. package/dist/core/shaders/Liquify/index.js +5 -4
  325. package/dist/core/shaders/MagneticFilings/index.d.ts +0 -2
  326. package/dist/core/shaders/MagneticFilings/index.d.ts.map +1 -1
  327. package/dist/core/shaders/MagneticFilings/index.js +9 -5
  328. package/dist/core/shaders/Marble/index.js +6 -4
  329. package/dist/core/shaders/Mirror/index.js +5 -4
  330. package/dist/core/shaders/MultiPointGradient/index.js +5 -4
  331. package/dist/core/shaders/Neon/index.js +9 -5
  332. package/dist/core/shaders/NoiseDissolve/index.js +6 -4
  333. package/dist/core/shaders/ObjectTracker/index.js +6 -5
  334. package/dist/core/shaders/PagePeel/index.js +5 -4
  335. package/dist/core/shaders/Paper/index.js +6 -4
  336. package/dist/core/shaders/Parallelogram/index.js +7 -4
  337. package/dist/core/shaders/ParticleField/index.d.ts +10 -5
  338. package/dist/core/shaders/ParticleField/index.d.ts.map +1 -1
  339. package/dist/core/shaders/ParticleField/index.js +9 -5
  340. package/dist/core/shaders/ParticleFlow/index.d.ts +10 -4
  341. package/dist/core/shaders/ParticleFlow/index.d.ts.map +1 -1
  342. package/dist/core/shaders/ParticleFlow/index.js +9 -5
  343. package/dist/core/shaders/Particles/index.d.ts +4 -3
  344. package/dist/core/shaders/Particles/index.d.ts.map +1 -1
  345. package/dist/core/shaders/Particles/index.js +12 -6
  346. package/dist/core/shaders/PerlinNoise/index.js +8 -5
  347. package/dist/core/shaders/Perspective/index.js +5 -4
  348. package/dist/core/shaders/PixelSort/index.js +5 -4
  349. package/dist/core/shaders/PixelThrow/index.js +6 -4
  350. package/dist/core/shaders/Pixelate/index.js +5 -4
  351. package/dist/core/shaders/Plasma/index.js +6 -4
  352. package/dist/core/shaders/Plastic/index.js +11 -6
  353. package/dist/core/shaders/PolarCoordinates/index.js +5 -4
  354. package/dist/core/shaders/Polygon/index.js +7 -4
  355. package/dist/core/shaders/Posterize/index.js +5 -4
  356. package/dist/core/shaders/Prism/index.js +5 -4
  357. package/dist/core/shaders/ProgressiveBlur/index.js +6 -4
  358. package/dist/core/shaders/RadialGradient/index.js +5 -4
  359. package/dist/core/shaders/RadialWipe/index.js +5 -4
  360. package/dist/core/shaders/RandomBars/index.js +6 -4
  361. package/dist/core/shaders/ReactionDiffusion/index.js +5 -4
  362. package/dist/core/shaders/RectangularCoordinates/index.js +5 -4
  363. package/dist/core/shaders/ReflectivePlane/index.js +6 -4
  364. package/dist/core/shaders/Repeater/index.js +5 -4
  365. package/dist/core/shaders/Ring/index.js +7 -4
  366. package/dist/core/shaders/RippleWipe/index.js +5 -4
  367. package/dist/core/shaders/Ripples/index.js +5 -4
  368. package/dist/core/shaders/RoundedRect/index.js +7 -4
  369. package/dist/core/shaders/Saturation/index.js +5 -4
  370. package/dist/core/shaders/Scratches/index.js +8 -5
  371. package/dist/core/shaders/Sharpness/index.js +5 -4
  372. package/dist/core/shaders/Shatter/index.js +6 -4
  373. package/dist/core/shaders/SimplexNoise/index.js +7 -4
  374. package/dist/core/shaders/SineWave/index.js +5 -4
  375. package/dist/core/shaders/SliceWipe/index.js +5 -4
  376. package/dist/core/shaders/Smoke/index.js +5 -4
  377. package/dist/core/shaders/SmokeFill/index.js +10 -6
  378. package/dist/core/shaders/SmokeFlow/index.js +5 -4
  379. package/dist/core/shaders/Solarize/index.js +5 -4
  380. package/dist/core/shaders/SolidColor/index.js +2 -2
  381. package/dist/core/shaders/Spherize/index.js +5 -4
  382. package/dist/core/shaders/Spiral/index.js +5 -4
  383. package/dist/core/shaders/Star/index.js +7 -4
  384. package/dist/core/shaders/Stone/index.js +4 -3
  385. package/dist/core/shaders/Strands/index.js +5 -4
  386. package/dist/core/shaders/Stretch/index.js +5 -4
  387. package/dist/core/shaders/Stripes/index.js +5 -4
  388. package/dist/core/shaders/StudioBackground/index.js +5 -4
  389. package/dist/core/shaders/SunBurst/index.js +5 -4
  390. package/dist/core/shaders/Surface3D/index.d.ts +4 -2
  391. package/dist/core/shaders/Surface3D/index.d.ts.map +1 -1
  392. package/dist/core/shaders/Surface3D/index.js +7 -4
  393. package/dist/core/shaders/Swirl/index.js +5 -4
  394. package/dist/core/shaders/Teardrop/index.js +7 -4
  395. package/dist/core/shaders/Text/index.js +6 -5
  396. package/dist/core/shaders/ThinFilm/index.js +9 -5
  397. package/dist/core/shaders/TiltShift/index.js +6 -4
  398. package/dist/core/shaders/TimeTrail/index.d.ts +47 -1
  399. package/dist/core/shaders/TimeTrail/index.d.ts.map +1 -1
  400. package/dist/core/shaders/TimeTrail/index.js +7 -5
  401. package/dist/core/shaders/Tint/index.js +5 -4
  402. package/dist/core/shaders/Trapezoid/index.js +7 -4
  403. package/dist/core/shaders/TriangularGrid/index.js +5 -4
  404. package/dist/core/shaders/Tritone/index.js +5 -4
  405. package/dist/core/shaders/Truchet/index.js +5 -4
  406. package/dist/core/shaders/Twirl/index.js +5 -4
  407. package/dist/core/shaders/VHS/index.js +5 -4
  408. package/dist/core/shaders/VenetianBlinds/index.js +5 -4
  409. package/dist/core/shaders/Vesica/index.js +7 -4
  410. package/dist/core/shaders/Vibrance/index.js +5 -4
  411. package/dist/core/shaders/VideoTexture/index.js +6 -5
  412. package/dist/core/shaders/Vignette/index.js +5 -4
  413. package/dist/core/shaders/Voronoi/index.js +5 -4
  414. package/dist/core/shaders/Water/index.js +11 -6
  415. package/dist/core/shaders/Watercolor/index.d.ts +1 -1
  416. package/dist/core/shaders/Watercolor/index.d.ts.map +1 -1
  417. package/dist/core/shaders/Watercolor/index.js +6 -4
  418. package/dist/core/shaders/WaveDistortion/index.js +5 -4
  419. package/dist/core/shaders/WaveletNoise/index.js +8 -5
  420. package/dist/core/shaders/Weave/index.js +5 -4
  421. package/dist/core/shaders/WebcamTexture/index.js +7 -5
  422. package/dist/core/shaders/Wool/index.js +4 -3
  423. package/dist/core/shaders/WorleyNoise/index.js +5 -4
  424. package/dist/core/shaders/ZoomBlur/index.js +5 -4
  425. package/dist/core/shapeEffectBounds-Dg4GQ5vW.js +19213 -0
  426. package/dist/core/utilities/transformations/index.js +1 -1
  427. package/dist/js/bundle.js +188 -184
  428. package/dist/js/createShader.js +1 -1
  429. package/dist/react/Shader.js +1 -1
  430. package/dist/react/bundle.js +197 -193
  431. package/dist/registry.js +0 -1
  432. package/dist/solid/engine/Shader.js +1 -1
  433. package/dist/svelte/index.js +1 -1
  434. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  435. package/package.json +1 -1
  436. package/dist/core/coords-BkIjixe_.js +0 -55724
  437. package/dist/core/noiseStylize-J6sFKoTh.js +0 -65
  438. package/dist/core/porters-BmU6G9TR.js +0 -321
  439. package/dist/core/shaderRegistry-D75z2sND.js +0 -425
  440. package/dist/core/shapeEffectBounds-PQqKLQXO.js +0 -406
  441. /package/dist/core/{fonts-DwhbVe2B.js → fonts-v_F1SFl9.js} +0 -0
  442. /package/dist/core/{naturalSize-Caz3-kRv.js → naturalSize-B679wTgN.js} +0 -0
  443. /package/dist/core/{transformations-t0d2-uSX.js → transformations-CsPUHppB.js} +0 -0
@@ -1,6 +1,10 @@
1
- import { Bt as ZERO, F as sdf_exports, J as std, Tn as d, X as createGuardedCompute, Z as createStateBuffer, gn as mixColorsVariants, hn as mixColorsLinear, i as agents_exports, l as pointShapeOptions, lt as hash33, n as tgpu, o as cursorMagnet, ot as hash11, pt as noise_exports, r as AGENT_SHAPES, s as makeAgentWeightFn, u as resolveAgentShape, y as sdf3d_exports } from "./coords-BkIjixe_.js";
2
- import { a as transformColor, c as transformPosition, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-t0d2-uSX.js";
3
- import { n as shapeEffectBoundingBoxDeclaration, t as resolveShapeType } from "./shapeEffectBounds-PQqKLQXO.js";
1
+ import { At as mix, Bt as sqrt, Ct as exp, Dt as length, Gt as arrayOf, H as mixColorsLinear, Kt as texture2d, Mt as pow, 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, jt as normalize, kt as min, ln as u32, 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, xt as cross, yt as clamp, zt as smoothstep } from "./edges-BZUKQxSE.js";
2
+ import { l as hash33, o as hash11, p as noise_exports } from "./noise-Cq0KUOSC.js";
3
+ import { n as createGuardedCompute, r as createStateBuffer } from "./compute-BoeIXi0l.js";
4
+ import { h as sdf_exports } from "./sdf-o99ONcMJ.js";
5
+ import { f as sdf3d_exports, n as shapeEffectBoundingBoxDeclaration, t as resolveShapeType } from "./shapeEffectBounds-Dg4GQ5vW.js";
6
+ import { a as makeAgentTexelWeightFn, c as pointShapeOptions, i as cursorMagnet, l as resolveAgentShape, n as agents_exports, t as AGENT_SHAPES } from "./agents-c-JjGH1b.js";
7
+ import { a as transformColor, c as transformPosition, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-CsPUHppB.js";
4
8
  var { buildAnalyticSdfFn, createSdfDataTexture, SVG_SDF_SIZE } = sdf_exports;
5
9
  var { createAnalytic3dSdfSetup, createSvg3dSdfSetup, rotateVec3, rotateVecCpu, is3dShapeType, isSvg3dShapeType, isMobileGpuViewport, resolveShapeSubProp, SHAPE3D_DEFAULTS, SVG3D_DEFAULTS, VOLUMETRIC_FIELD_FORMAT } = sdf3d_exports;
6
10
  var DEG_TO_RAD = .017453292519943295;
@@ -18,92 +22,95 @@ function parseShapeConfig(raw) {
18
22
  return {};
19
23
  }
20
24
  var MAX_PARTICLES = 16e3;
25
+ var COUNT_CAP = isMobileGpuViewport() ? 6e3 : MAX_PARTICLES;
21
26
  var DGRID = 32;
22
27
  var DCELLS = DGRID * DGRID * DGRID;
23
28
  var DOMAIN = 1;
24
29
  var OUT_RES = isMobileGpuViewport() ? 768 : 1024;
25
- var SPLAT_R = 6;
26
- var SPLAT_WIN = 13;
30
+ var SIZE_SCALE = OUT_RES / 1024;
31
+ var EXTQ = 2.6;
32
+ var EXT = Math.sqrt(EXTQ);
33
+ var MAX_SPLAT_SIZE = 6;
27
34
  var MAX_SPEED = 3;
28
35
  var STATE_FORMAT = "rgba16float";
29
- var SimParams = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(d.struct({
30
- colA: d.vec4f,
31
- colB: d.vec4f,
32
- dt: d.f32,
33
- time: d.f32,
34
- spread: d.f32,
35
- agitation: d.f32,
36
- dragMul: d.f32,
37
- gravX: d.f32,
38
- gravY: d.f32,
39
- halfDepth: d.f32,
40
- mouseX: d.f32,
41
- mouseY: d.f32,
42
- mouseForce: d.f32,
43
- mouseRadSq: d.f32,
44
- saRadius: d.f32,
45
- saSides: d.f32,
46
- saRounding: d.f32,
47
- saInnerRatio: d.f32,
48
- saRotation: d.f32,
49
- saHeight: d.f32,
50
- saOffset: d.f32,
51
- saAperture: d.f32,
52
- centerX: d.f32,
53
- centerYv: d.f32,
54
- scale: d.f32,
55
- rotC: d.f32,
56
- rotS: d.f32,
57
- aspect: d.f32,
58
- size: d.f32,
59
- exposure: d.f32,
60
- softness: d.f32,
61
- speedColorK: d.f32,
62
- omegaX: d.f32,
63
- omegaY: d.f32,
64
- omegaZ: d.f32,
65
- entrain: d.f32,
66
- gridOffX: d.f32,
67
- gridOffY: d.f32,
68
- gridOffZ: d.f32
36
+ var SimParams = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(struct({
37
+ colA: vec4f,
38
+ colB: vec4f,
39
+ dt: f32,
40
+ time: f32,
41
+ spread: f32,
42
+ agitation: f32,
43
+ dragMul: f32,
44
+ gravX: f32,
45
+ gravY: f32,
46
+ halfDepth: f32,
47
+ mouseX: f32,
48
+ mouseY: f32,
49
+ mouseForce: f32,
50
+ mouseRadSq: f32,
51
+ saRadius: f32,
52
+ saSides: f32,
53
+ saRounding: f32,
54
+ saInnerRatio: f32,
55
+ saRotation: f32,
56
+ saHeight: f32,
57
+ saOffset: f32,
58
+ saAperture: f32,
59
+ centerX: f32,
60
+ centerYv: f32,
61
+ scale: f32,
62
+ rotC: f32,
63
+ rotS: f32,
64
+ aspect: f32,
65
+ size: f32,
66
+ exposure: f32,
67
+ softness: f32,
68
+ speedColorK: f32,
69
+ omegaX: f32,
70
+ omegaY: f32,
71
+ omegaZ: f32,
72
+ entrain: f32,
73
+ gridOffX: f32,
74
+ gridOffY: f32,
75
+ gridOffZ: f32
69
76
  }), "SimParams");
70
- var simLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(tgpu.bindGroupLayout({
77
+ var simLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(src_default.bindGroupLayout({
71
78
  pos: {
72
- storage: d.arrayOf(d.vec4f, MAX_PARTICLES),
79
+ storage: arrayOf(vec4f, MAX_PARTICLES),
73
80
  access: "mutable"
74
81
  },
75
82
  vel: {
76
- storage: d.arrayOf(d.vec4f, MAX_PARTICLES),
83
+ storage: arrayOf(vec4f, MAX_PARTICLES),
77
84
  access: "mutable"
78
85
  },
79
86
  dens: {
80
- storage: d.arrayOf(d.atomic(d.u32), DCELLS),
87
+ storage: arrayOf(atomic(u32), DCELLS),
81
88
  access: "mutable"
82
89
  },
83
90
  accumE: {
84
- storage: d.arrayOf(d.atomic(d.u32), OUT_RES * OUT_RES),
91
+ storage: arrayOf(atomic(u32), OUT_RES * OUT_RES),
85
92
  access: "mutable"
86
93
  },
87
94
  accumS: {
88
- storage: d.arrayOf(d.atomic(d.u32), OUT_RES * OUT_RES),
95
+ storage: arrayOf(atomic(u32), OUT_RES * OUT_RES),
89
96
  access: "mutable"
90
97
  },
91
98
  params: { uniform: SimParams },
92
- outTex: { storageTexture: d.textureStorage2d(STATE_FORMAT, "write-only") }
99
+ outTex: { storageTexture: textureStorage2d(STATE_FORMAT, "write-only") }
93
100
  }), "simLayout");
94
- var svgSdfLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(tgpu.bindGroupLayout({ sdfSource: { texture: d.texture2d(d.f32) } }), "svgSdfLayout");
95
- var densAt = tgpu.fn([
96
- d.i32,
97
- d.i32,
98
- d.i32
99
- ], d.f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy, cz) => {
101
+ var svgSdfLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(src_default.bindGroupLayout({ sdfSource: { texture: texture2d(f32) } }), "svgSdfLayout");
102
+ var densAt = src_default.fn([
103
+ i32,
104
+ i32,
105
+ i32
106
+ ], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy, cz) => {
100
107
  "use gpu";
101
- const g = d.i32(DGRID);
102
- const x = std.clamp(cx, 0, __tsover_sub(g, 1));
103
- const y = std.clamp(cy, 0, __tsover_sub(g, 1));
104
- const z = std.clamp(cz, 0, __tsover_sub(g, 1));
105
- const idx = d.u32(__tsover_add(__tsover_mul(__tsover_add(__tsover_mul(z, g), y), g), x));
106
- return __tsover_mul(d.f32(std.atomicLoad(simLayout.$.dens[idx])), __tsover_div(1, 64));
108
+ const g = i32(DGRID);
109
+ const x = clamp(cx, 0, __tsover_sub(g, 1));
110
+ const y = clamp(cy, 0, __tsover_sub(g, 1));
111
+ const z = clamp(cz, 0, __tsover_sub(g, 1));
112
+ const idx = u32(__tsover_add(__tsover_mul(__tsover_add(__tsover_mul(z, g), y), g), x));
113
+ return __tsover_mul(f32(atomicLoad(simLayout.$.dens[idx])), __tsover_div(1, 64));
107
114
  }), {
108
115
  v: 1,
109
116
  name: void 0,
@@ -283,25 +290,25 @@ var densAt = tgpu.fn([
283
290
  ]
284
291
  },
285
292
  externals: () => ({
286
- d,
293
+ d: data_exports,
287
294
  DGRID,
288
- std,
295
+ std: std_exports,
289
296
  simLayout
290
297
  })
291
298
  }) && $.f)({}));
292
- var densTrilinear = tgpu.fn([d.vec3f], d.f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((pos) => {
299
+ var densTrilinear = src_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((pos) => {
293
300
  "use gpu";
294
301
  const prm = simLayout.$.params;
295
- const g = d.f32(DGRID);
296
- const c = d.vec3f(__tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.x, prm.gridOffX), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5), __tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.y, prm.gridOffY), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5), __tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.z, prm.gridOffZ), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5));
297
- const base = std.clamp(std.floor(c), d.vec3f(0, 0, 0), d.vec3f(__tsover_sub(g, 2), __tsover_sub(g, 2), __tsover_sub(g, 2)));
298
- const f = std.clamp(c.sub(base), d.vec3f(0, 0, 0), d.vec3f(1, 1, 1));
299
- const bi = d.i32(base.x);
300
- const bj = d.i32(base.y);
301
- const bk = d.i32(base.z);
302
- let acc = d.f32(0);
302
+ const g = f32(DGRID);
303
+ const c = vec3f(__tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.x, prm.gridOffX), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5), __tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.y, prm.gridOffY), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5), __tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.z, prm.gridOffZ), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5));
304
+ const base = clamp(floor(c), vec3f(0, 0, 0), vec3f(__tsover_sub(g, 2), __tsover_sub(g, 2), __tsover_sub(g, 2)));
305
+ const f = clamp(c.sub(base), vec3f(0, 0, 0), vec3f(1, 1, 1));
306
+ const bi = i32(base.x);
307
+ const bj = i32(base.y);
308
+ const bk = i32(base.z);
309
+ let acc = f32(0);
303
310
  for (let dz = 0; dz < 2; dz++) for (let dy = 0; dy < 2; dy++) for (let dx = 0; dx < 2; dx++) {
304
- const w = __tsover_mul(__tsover_mul(std.mix(__tsover_sub(1, f.x), f.x, d.f32(dx)), std.mix(__tsover_sub(1, f.y), f.y, d.f32(dy))), std.mix(__tsover_sub(1, f.z), f.z, d.f32(dz)));
311
+ const w = __tsover_mul(__tsover_mul(mix(__tsover_sub(1, f.x), f.x, f32(dx)), mix(__tsover_sub(1, f.y), f.y, f32(dy))), mix(__tsover_sub(1, f.z), f.z, f32(dz)));
305
312
  acc = __tsover_add(acc, __tsover_mul(densAt(__tsover_add(bi, dx), __tsover_add(bj, dy), __tsover_add(bk, dz)), w));
306
313
  }
307
314
  return acc;
@@ -870,18 +877,18 @@ var densTrilinear = tgpu.fn([d.vec3f], d.f32)(/* @__PURE__ */ (($) => (globalThi
870
877
  },
871
878
  externals: () => ({
872
879
  simLayout,
873
- d,
880
+ d: data_exports,
874
881
  DGRID,
875
882
  DOMAIN,
876
- std,
883
+ std: std_exports,
877
884
  densAt
878
885
  })
879
886
  }) && $.f)({}));
880
- var extrudeSdf = tgpu.fn([d.f32, d.f32], d.f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((d2, wz) => {
887
+ var extrudeSdf = src_default.fn([f32, f32], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((d2, wz) => {
881
888
  "use gpu";
882
- const ox = std.max(d2, 0);
883
- const oz = std.max(wz, 0);
884
- return __tsover_add(std.min(std.max(d2, wz), 0), std.sqrt(__tsover_add(__tsover_mul(ox, ox), __tsover_mul(oz, oz))));
889
+ const ox = max(d2, 0);
890
+ const oz = max(wz, 0);
891
+ return __tsover_add(min(max(d2, wz), 0), sqrt(__tsover_add(__tsover_mul(ox, ox), __tsover_mul(oz, oz))));
885
892
  }), {
886
893
  v: 1,
887
894
  name: void 0,
@@ -968,17 +975,16 @@ var extrudeSdf = tgpu.fn([d.f32, d.f32], d.f32)(/* @__PURE__ */ (($) => (globalT
968
975
  ]],
969
976
  "externalNames": ["std"]
970
977
  },
971
- externals: () => ({ std })
978
+ externals: () => ({ std: std_exports })
972
979
  }) && $.f)({}));
973
- const particleInitKernel = tgpu.fn([d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
980
+ const particleInitKernel = src_default.fn([u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
974
981
  "use gpu";
975
- const fi = d.f32(i);
976
- const h3 = hash33(d.vec3f(__tsover_add(__tsover_mul(fi, 1.6180339), .71), __tsover_add(__tsover_mul(fi, 2.7182818), 4.17), __tsover_add(__tsover_mul(fi, 3.1415926), 9.03)));
977
- const dir = std.normalize(h3.sub(d.vec3f(.5, .5, .5)).add(d.vec3f(1e-4, 2e-4, 3e-4)));
978
- const rad = __tsover_mul(std.pow(hash11(__tsover_add(__tsover_mul(fi, 2.2360679), 1.7)), d.f32(.3333)), .55);
982
+ const fi = f32(i);
983
+ const dir = normalize(hash33(vec3f(__tsover_add(__tsover_mul(fi, 1.6180339), .71), __tsover_add(__tsover_mul(fi, 2.7182818), 4.17), __tsover_add(__tsover_mul(fi, 3.1415926), 9.03))).sub(vec3f(.5, .5, .5)).add(vec3f(1e-4, 2e-4, 3e-4)));
984
+ const rad = __tsover_mul(pow(hash11(__tsover_add(__tsover_mul(fi, 2.2360679), 1.7)), f32(.3333)), .55);
979
985
  const seed = hash11(__tsover_add(__tsover_mul(fi, 1.7320508), .37));
980
- simLayout.$.pos[i] = d.vec4f(__tsover_mul(dir.x, rad), __tsover_mul(dir.y, rad), __tsover_mul(__tsover_mul(dir.z, rad), .8), seed);
981
- simLayout.$.vel[i] = d.vec4f(0, 0, 0, 0);
986
+ simLayout.$.pos[i] = vec4f(__tsover_mul(dir.x, rad), __tsover_mul(dir.y, rad), __tsover_mul(__tsover_mul(dir.z, rad), .8), seed);
987
+ simLayout.$.vel[i] = vec4f(0, 0, 0, 0);
982
988
  }), {
983
989
  v: 1,
984
990
  name: void 0,
@@ -1279,15 +1285,15 @@ const particleInitKernel = tgpu.fn([d.u32])(/* @__PURE__ */ (($) => (globalThis.
1279
1285
  ]
1280
1286
  },
1281
1287
  externals: () => ({
1282
- d,
1288
+ d: data_exports,
1283
1289
  noise: noise_exports,
1284
- std,
1290
+ std: std_exports,
1285
1291
  simLayout
1286
1292
  })
1287
1293
  }) && $.f)({})).$name("particlesInit");
1288
- const particleClearDensityKernel = tgpu.fn([d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
1294
+ const particleClearDensityKernel = src_default.fn([u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
1289
1295
  "use gpu";
1290
- std.atomicStore(simLayout.$.dens[i], d.u32(0));
1296
+ atomicStore(simLayout.$.dens[i], u32(0));
1291
1297
  }), {
1292
1298
  v: 1,
1293
1299
  name: void 0,
@@ -1332,30 +1338,30 @@ const particleClearDensityKernel = tgpu.fn([d.u32])(/* @__PURE__ */ (($) => (glo
1332
1338
  ]
1333
1339
  },
1334
1340
  externals: () => ({
1335
- std,
1341
+ std: std_exports,
1336
1342
  simLayout,
1337
- d
1343
+ d: data_exports
1338
1344
  })
1339
1345
  }) && $.f)({})).$name("particlesClearDensity");
1340
- const particleDensityKernel = tgpu.fn([d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
1346
+ const particleDensityKernel = src_default.fn([u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
1341
1347
  "use gpu";
1342
1348
  const prm = simLayout.$.params;
1343
1349
  const pos = simLayout.$.pos[i];
1344
- const g = d.f32(DGRID);
1345
- const c = d.vec3f(__tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.x, prm.gridOffX), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5), __tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.y, prm.gridOffY), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5), __tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.z, prm.gridOffZ), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5));
1346
- const base = std.clamp(std.floor(c), d.vec3f(0, 0, 0), d.vec3f(__tsover_sub(g, 2), __tsover_sub(g, 2), __tsover_sub(g, 2)));
1347
- const f = std.clamp(c.sub(base), d.vec3f(0, 0, 0), d.vec3f(1, 1, 1));
1348
- const bi = d.i32(base.x);
1349
- const bj = d.i32(base.y);
1350
- const bk = d.i32(base.z);
1351
- const gi = d.i32(DGRID);
1350
+ const g = f32(DGRID);
1351
+ const c = vec3f(__tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.x, prm.gridOffX), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5), __tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.y, prm.gridOffY), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5), __tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.z, prm.gridOffZ), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5));
1352
+ const base = clamp(floor(c), vec3f(0, 0, 0), vec3f(__tsover_sub(g, 2), __tsover_sub(g, 2), __tsover_sub(g, 2)));
1353
+ const f = clamp(c.sub(base), vec3f(0, 0, 0), vec3f(1, 1, 1));
1354
+ const bi = i32(base.x);
1355
+ const bj = i32(base.y);
1356
+ const bk = i32(base.z);
1357
+ const gi = i32(DGRID);
1352
1358
  for (let dz = 0; dz < 2; dz++) for (let dy = 0; dy < 2; dy++) for (let dx = 0; dx < 2; dx++) {
1353
- const wx = std.mix(__tsover_sub(1, f.x), f.x, d.f32(dx));
1354
- const wy = std.mix(__tsover_sub(1, f.y), f.y, d.f32(dy));
1355
- const wz = std.mix(__tsover_sub(1, f.z), f.z, d.f32(dz));
1359
+ const wx = mix(__tsover_sub(1, f.x), f.x, f32(dx));
1360
+ const wy = mix(__tsover_sub(1, f.y), f.y, f32(dy));
1361
+ const wz = mix(__tsover_sub(1, f.z), f.z, f32(dz));
1356
1362
  const w = __tsover_mul(__tsover_mul(wx, wy), wz);
1357
- const idx = d.u32(__tsover_add(__tsover_mul(__tsover_add(__tsover_mul(__tsover_add(bk, dz), gi), __tsover_add(bj, dy)), gi), __tsover_add(bi, dx)));
1358
- std.atomicAdd(simLayout.$.dens[idx], d.u32(__tsover_add(__tsover_mul(w, 64), .5)));
1363
+ const idx = u32(__tsover_add(__tsover_mul(__tsover_add(__tsover_mul(__tsover_add(bk, dz), gi), __tsover_add(bj, dy)), gi), __tsover_add(bi, dx)));
1364
+ atomicAdd(simLayout.$.dens[idx], u32(__tsover_add(__tsover_mul(w, 64), .5)));
1359
1365
  }
1360
1366
  }), {
1361
1367
  v: 1,
@@ -2003,166 +2009,212 @@ const particleDensityKernel = tgpu.fn([d.u32])(/* @__PURE__ */ (($) => (globalTh
2003
2009
  },
2004
2010
  externals: () => ({
2005
2011
  simLayout,
2006
- d,
2012
+ d: data_exports,
2007
2013
  DGRID,
2008
2014
  DOMAIN,
2009
- std
2015
+ std: std_exports
2010
2016
  })
2011
2017
  }) && $.f)({})).$name("particlesDensity");
2012
- const particleClearAccumKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
2018
+ var glowProfile = src_default.fn([
2019
+ f32,
2020
+ f32,
2021
+ f32,
2022
+ f32,
2023
+ f32
2024
+ ], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((q, _ddx, _ddy, _size, _soft) => {
2013
2025
  "use gpu";
2014
- const idx = __tsover_add(__tsover_mul(y, d.u32(OUT_RES)), x);
2015
- std.atomicStore(simLayout.$.accumE[idx], d.u32(0));
2016
- std.atomicStore(simLayout.$.accumS[idx], d.u32(0));
2026
+ return exp(__tsover_mul(q, -2.5));
2017
2027
  }), {
2018
2028
  v: 1,
2019
2029
  name: void 0,
2020
2030
  ast: {
2021
- "params": [{
2022
- "type": "i",
2023
- "name": "x"
2024
- }, {
2025
- "type": "i",
2026
- "name": "y"
2027
- }],
2028
- "body": [0, [
2031
+ "params": [
2032
+ {
2033
+ "type": "i",
2034
+ "name": "q"
2035
+ },
2036
+ {
2037
+ "type": "i",
2038
+ "name": "_ddx"
2039
+ },
2040
+ {
2041
+ "type": "i",
2042
+ "name": "_ddy"
2043
+ },
2044
+ {
2045
+ "type": "i",
2046
+ "name": "_size"
2047
+ },
2048
+ {
2049
+ "type": "i",
2050
+ "name": "_soft"
2051
+ }
2052
+ ],
2053
+ "body": [0, [[10, [
2054
+ 6,
2029
2055
  [
2030
- 13,
2031
- "idx",
2056
+ 7,
2057
+ "std",
2058
+ "exp"
2059
+ ],
2060
+ [[
2061
+ 1,
2062
+ "q",
2063
+ "*",
2032
2064
  [
2033
- 1,
2034
- [
2035
- 1,
2036
- "y",
2037
- "*",
2038
- [
2039
- 6,
2040
- [
2041
- 7,
2042
- "d",
2043
- "u32"
2044
- ],
2045
- ["OUT_RES"]
2046
- ]
2047
- ],
2048
- "+",
2049
- "x"
2065
+ 4,
2066
+ "-",
2067
+ [5, "2.5"]
2050
2068
  ]
2069
+ ]]
2070
+ ]]]],
2071
+ "externalNames": ["std"]
2072
+ },
2073
+ externals: () => ({ std: std_exports })
2074
+ }) && $.f)({})).$name("particlesGlowProfile");
2075
+ function makeParticleProfileFn(name) {
2076
+ if (AGENT_SHAPES[name].soft === 1) return glowProfile;
2077
+ const weightFn = makeAgentTexelWeightFn(name);
2078
+ return src_default.fn([
2079
+ f32,
2080
+ f32,
2081
+ f32,
2082
+ f32,
2083
+ f32
2084
+ ], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((q, ddx, ddy, size, soft) => {
2085
+ "use gpu";
2086
+ return mix(weightFn(q, ddx, ddy, size, .9), exp(__tsover_mul(q, -2.5)), soft);
2087
+ }), {
2088
+ v: 1,
2089
+ name: void 0,
2090
+ ast: {
2091
+ "params": [
2092
+ {
2093
+ "type": "i",
2094
+ "name": "q"
2095
+ },
2096
+ {
2097
+ "type": "i",
2098
+ "name": "ddx"
2099
+ },
2100
+ {
2101
+ "type": "i",
2102
+ "name": "ddy"
2103
+ },
2104
+ {
2105
+ "type": "i",
2106
+ "name": "size"
2107
+ },
2108
+ {
2109
+ "type": "i",
2110
+ "name": "soft"
2111
+ }
2051
2112
  ],
2052
- [
2053
- 6,
2113
+ "body": [0, [
2054
2114
  [
2055
- 7,
2056
- "std",
2057
- "atomicStore"
2058
- ],
2059
- [[
2060
- 8,
2115
+ 13,
2116
+ "wHard",
2061
2117
  [
2062
- 7,
2118
+ 6,
2119
+ "weightFn",
2063
2120
  [
2064
- 7,
2065
- "simLayout",
2066
- "$"
2067
- ],
2068
- "accumE"
2069
- ],
2070
- "idx"
2071
- ], [
2072
- 6,
2073
- [
2074
- 7,
2075
- "d",
2076
- "u32"
2077
- ],
2078
- [[5, "0"]]
2079
- ]]
2080
- ],
2081
- [
2082
- 6,
2083
- [
2084
- 7,
2085
- "std",
2086
- "atomicStore"
2121
+ "q",
2122
+ "ddx",
2123
+ "ddy",
2124
+ "size",
2125
+ [5, "0.9"]
2126
+ ]
2127
+ ]
2087
2128
  ],
2088
- [[
2089
- 8,
2129
+ [
2130
+ 13,
2131
+ "wSoft",
2090
2132
  [
2091
- 7,
2133
+ 6,
2092
2134
  [
2093
2135
  7,
2094
- "simLayout",
2095
- "$"
2136
+ "std",
2137
+ "exp"
2096
2138
  ],
2097
- "accumS"
2098
- ],
2099
- "idx"
2100
- ], [
2139
+ [[
2140
+ 1,
2141
+ "q",
2142
+ "*",
2143
+ [
2144
+ 4,
2145
+ "-",
2146
+ [5, "2.5"]
2147
+ ]
2148
+ ]]
2149
+ ]
2150
+ ],
2151
+ [10, [
2101
2152
  6,
2102
2153
  [
2103
2154
  7,
2104
- "d",
2105
- "u32"
2155
+ "std",
2156
+ "mix"
2106
2157
  ],
2107
- [[5, "0"]]
2158
+ [
2159
+ "wHard",
2160
+ "wSoft",
2161
+ "soft"
2162
+ ]
2108
2163
  ]]
2109
- ]
2110
- ]],
2111
- "externalNames": [
2112
- "d",
2113
- "OUT_RES",
2114
- "std",
2115
- "simLayout"
2116
- ]
2117
- },
2118
- externals: () => ({
2119
- d,
2120
- OUT_RES,
2121
- std,
2122
- simLayout
2123
- })
2124
- }) && $.f)({})).$name("particlesClearAccum");
2164
+ ]],
2165
+ "externalNames": ["weightFn", "std"]
2166
+ },
2167
+ externals: () => ({
2168
+ weightFn,
2169
+ std: std_exports
2170
+ })
2171
+ }) && $.f)({})).$name("particlesProfile");
2172
+ }
2125
2173
  function makeParticleSplatKernel(shape) {
2126
- const name = resolveAgentShape(shape, "dot");
2127
- const weightFn = makeAgentWeightFn(name);
2128
- const FORCE_SOFT = AGENT_SHAPES[name].soft;
2129
- return tgpu.fn([d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
2174
+ const profileFn = makeParticleProfileFn(resolveAgentShape(shape, "dot"));
2175
+ return src_default.fn([u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
2130
2176
  "use gpu";
2131
2177
  const prm = simLayout.$.params;
2132
2178
  const pos = simLayout.$.pos[i];
2133
2179
  const vel = simLayout.$.vel[i];
2134
- const persp = __tsover_div(1, std.clamp(__tsover_sub(1, __tsover_mul(pos.z, .35)), .45, 2));
2180
+ const persp = __tsover_div(1, clamp(__tsover_sub(1, __tsover_mul(pos.z, .35)), .45, 2));
2135
2181
  const xs = __tsover_mul(pos.x, persp);
2136
2182
  const ys = __tsover_mul(__tsover_mul(pos.y, persp), -1);
2137
2183
  const rx = __tsover_sub(__tsover_mul(xs, prm.rotC), __tsover_mul(ys, prm.rotS));
2138
2184
  const ry = __tsover_add(__tsover_mul(ys, prm.rotC), __tsover_mul(xs, prm.rotS));
2139
2185
  const u = __tsover_add(prm.centerX, __tsover_div(__tsover_mul(rx, prm.scale), prm.aspect));
2140
2186
  const v = __tsover_add(prm.centerYv, __tsover_mul(ry, prm.scale));
2141
- const outF = d.f32(OUT_RES);
2187
+ const outF = f32(OUT_RES);
2142
2188
  const tx = __tsover_mul(u, outF);
2143
2189
  const ty = __tsover_mul(v, outF);
2144
- const size = std.clamp(__tsover_mul(__tsover_mul(__tsover_mul(prm.size, __tsover_add(.65, __tsover_mul(.7, pos.w))), persp), prm.scale), .6, d.f32(SPLAT_R));
2190
+ const size = clamp(__tsover_mul(__tsover_mul(__tsover_mul(prm.size, __tsover_add(.65, __tsover_mul(.7, pos.w))), persp), prm.scale), .6, f32(MAX_SPLAT_SIZE));
2145
2191
  const bright = __tsover_mul(__tsover_mul(__tsover_add(.7, __tsover_mul(.6, pos.w)), persp), persp);
2146
- const speedNorm = std.clamp(__tsover_mul(vel.w, prm.speedColorK), 0, 1);
2147
- const softV = std.max(prm.softness, d.f32(FORCE_SOFT));
2148
- const cxi = d.i32(std.floor(tx));
2149
- const cyi = d.i32(std.floor(ty));
2150
- for (let ky = 0; ky < SPLAT_WIN; ky++) for (let kx = 0; kx < SPLAT_WIN; kx++) {
2151
- const px = __tsover_sub(__tsover_add(cxi, kx), SPLAT_R);
2152
- const py = __tsover_sub(__tsover_add(cyi, ky), SPLAT_R);
2153
- if (px >= 0 && px < OUT_RES && py >= 0 && py < OUT_RES) {
2154
- const ddx = __tsover_sub(__tsover_add(d.f32(px), .5), tx);
2155
- const ddy = __tsover_sub(__tsover_add(d.f32(py), .5), ty);
2156
- const q = __tsover_div(__tsover_add(__tsover_mul(ddx, ddx), __tsover_mul(ddy, ddy)), std.max(__tsover_mul(size, size), .01));
2157
- if (q < 2.6) {
2158
- const wHard = weightFn(ddx, ddy, size, .9, d.f32(0));
2159
- const wSoft = std.exp(__tsover_mul(q, -2.5));
2160
- const w = std.mix(wHard, wSoft, softV);
2161
- const e = d.u32(__tsover_mul(__tsover_mul(w, bright), 256));
2162
- if (e > d.u32(0)) {
2163
- const idx = d.u32(__tsover_add(__tsover_mul(py, OUT_RES), px));
2164
- std.atomicAdd(simLayout.$.accumE[idx], e);
2165
- std.atomicAdd(simLayout.$.accumS[idx], d.u32(__tsover_mul(__tsover_mul(__tsover_mul(w, bright), speedNorm), 256)));
2192
+ const speedNorm = clamp(__tsover_mul(vel.w, prm.speedColorK), 0, 1);
2193
+ const doSpeed = __tsover_mul(__tsover_mul(bright, speedNorm), 256) >= 1;
2194
+ const cxi = i32(floor(tx));
2195
+ const cyi = i32(floor(ty));
2196
+ const rad = i32(ceil(__tsover_mul(size, f32(EXT))));
2197
+ const radF = f32(rad);
2198
+ if (tx > __tsover_mul(radF, -1) && tx < __tsover_add(outF, radF) && ty > __tsover_mul(radF, -1) && ty < __tsover_add(outF, radF)) {
2199
+ const x0 = max(__tsover_sub(cxi, rad), 0);
2200
+ const x1 = min(__tsover_add(cxi, rad), i32(__tsover_sub(OUT_RES, 1)));
2201
+ const y0 = max(__tsover_sub(cyi, rad), 0);
2202
+ const y1 = min(__tsover_add(cyi, rad), i32(__tsover_sub(OUT_RES, 1)));
2203
+ const sizeSq = max(__tsover_mul(size, size), .01);
2204
+ for (let py = y0; py <= y1; py++) {
2205
+ const ddy = __tsover_sub(__tsover_add(f32(py), .5), ty);
2206
+ const ddySq = __tsover_mul(ddy, ddy);
2207
+ for (let px = x0; px <= x1; px++) {
2208
+ const ddx = __tsover_sub(__tsover_add(f32(px), .5), tx);
2209
+ const q = __tsover_div(__tsover_add(__tsover_mul(ddx, ddx), ddySq), sizeSq);
2210
+ if (q < EXTQ) {
2211
+ const w = profileFn(q, ddx, ddy, size, prm.softness);
2212
+ const e = u32(__tsover_mul(__tsover_mul(w, bright), 256));
2213
+ if (e > u32(0)) {
2214
+ const idx = u32(__tsover_add(__tsover_mul(py, i32(OUT_RES)), px));
2215
+ atomicAdd(simLayout.$.accumE[idx], e);
2216
+ if (doSpeed) atomicAdd(simLayout.$.accumS[idx], u32(__tsover_mul(__tsover_mul(__tsover_mul(w, bright), speedNorm), 256)));
2217
+ }
2166
2218
  }
2167
2219
  }
2168
2220
  }
@@ -2497,7 +2549,7 @@ function makeParticleSplatKernel(shape) {
2497
2549
  "d",
2498
2550
  "f32"
2499
2551
  ],
2500
- ["SPLAT_R"]
2552
+ ["MAX_SPLAT_SIZE"]
2501
2553
  ]
2502
2554
  ]
2503
2555
  ]
@@ -2563,32 +2615,48 @@ function makeParticleSplatKernel(shape) {
2563
2615
  ],
2564
2616
  [
2565
2617
  13,
2566
- "softV",
2618
+ "doSpeed",
2619
+ [
2620
+ 1,
2621
+ [
2622
+ 1,
2623
+ [
2624
+ 1,
2625
+ "bright",
2626
+ "*",
2627
+ "speedNorm"
2628
+ ],
2629
+ "*",
2630
+ [5, "256"]
2631
+ ],
2632
+ ">=",
2633
+ [5, "1"]
2634
+ ]
2635
+ ],
2636
+ [
2637
+ 13,
2638
+ "cxi",
2567
2639
  [
2568
2640
  6,
2569
2641
  [
2570
2642
  7,
2571
- "std",
2572
- "max"
2643
+ "d",
2644
+ "i32"
2573
2645
  ],
2574
2646
  [[
2575
- 7,
2576
- "prm",
2577
- "softness"
2578
- ], [
2579
2647
  6,
2580
2648
  [
2581
2649
  7,
2582
- "d",
2583
- "f32"
2650
+ "std",
2651
+ "floor"
2584
2652
  ],
2585
- ["FORCE_SOFT"]
2653
+ ["tx"]
2586
2654
  ]]
2587
2655
  ]
2588
2656
  ],
2589
2657
  [
2590
2658
  13,
2591
- "cxi",
2659
+ "cyi",
2592
2660
  [
2593
2661
  6,
2594
2662
  [
@@ -2603,13 +2671,13 @@ function makeParticleSplatKernel(shape) {
2603
2671
  "std",
2604
2672
  "floor"
2605
2673
  ],
2606
- ["tx"]
2674
+ ["ty"]
2607
2675
  ]]
2608
2676
  ]
2609
2677
  ],
2610
2678
  [
2611
2679
  13,
2612
- "cyi",
2680
+ "rad",
2613
2681
  [
2614
2682
  6,
2615
2683
  [
@@ -2622,302 +2690,371 @@ function makeParticleSplatKernel(shape) {
2622
2690
  [
2623
2691
  7,
2624
2692
  "std",
2625
- "floor"
2693
+ "ceil"
2626
2694
  ],
2627
- ["ty"]
2695
+ [[
2696
+ 1,
2697
+ "size",
2698
+ "*",
2699
+ [
2700
+ 6,
2701
+ [
2702
+ 7,
2703
+ "d",
2704
+ "f32"
2705
+ ],
2706
+ ["EXT"]
2707
+ ]
2708
+ ]]
2628
2709
  ]]
2629
2710
  ]
2630
2711
  ],
2631
2712
  [
2632
- 14,
2633
- [
2634
- 12,
2635
- "ky",
2636
- [5, "0"]
2637
- ],
2713
+ 13,
2714
+ "radF",
2638
2715
  [
2639
- 1,
2640
- "ky",
2641
- "<",
2642
- "SPLAT_WIN"
2643
- ],
2716
+ 6,
2717
+ [
2718
+ 7,
2719
+ "d",
2720
+ "f32"
2721
+ ],
2722
+ ["rad"]
2723
+ ]
2724
+ ],
2725
+ [
2726
+ 13,
2727
+ "onTarget",
2644
2728
  [
2645
- 102,
2646
- "++",
2647
- "ky"
2648
- ],
2649
- [0, [[
2650
- 14,
2729
+ 3,
2651
2730
  [
2652
- 12,
2653
- "kx",
2654
- [5, "0"]
2731
+ 3,
2732
+ [
2733
+ 3,
2734
+ [
2735
+ 1,
2736
+ "tx",
2737
+ ">",
2738
+ [
2739
+ 1,
2740
+ "radF",
2741
+ "*",
2742
+ [
2743
+ 4,
2744
+ "-",
2745
+ [5, "1"]
2746
+ ]
2747
+ ]
2748
+ ],
2749
+ "&&",
2750
+ [
2751
+ 1,
2752
+ "tx",
2753
+ "<",
2754
+ [
2755
+ 1,
2756
+ "outF",
2757
+ "+",
2758
+ "radF"
2759
+ ]
2760
+ ]
2761
+ ],
2762
+ "&&",
2763
+ [
2764
+ 1,
2765
+ "ty",
2766
+ ">",
2767
+ [
2768
+ 1,
2769
+ "radF",
2770
+ "*",
2771
+ [
2772
+ 4,
2773
+ "-",
2774
+ [5, "1"]
2775
+ ]
2776
+ ]
2777
+ ]
2655
2778
  ],
2779
+ "&&",
2656
2780
  [
2657
2781
  1,
2658
- "kx",
2782
+ "ty",
2659
2783
  "<",
2660
- "SPLAT_WIN"
2661
- ],
2784
+ [
2785
+ 1,
2786
+ "outF",
2787
+ "+",
2788
+ "radF"
2789
+ ]
2790
+ ]
2791
+ ]
2792
+ ],
2793
+ [
2794
+ 11,
2795
+ "onTarget",
2796
+ [0, [
2662
2797
  [
2663
- 102,
2664
- "++",
2665
- "kx"
2798
+ 13,
2799
+ "x0",
2800
+ [
2801
+ 6,
2802
+ [
2803
+ 7,
2804
+ "std",
2805
+ "max"
2806
+ ],
2807
+ [[
2808
+ 1,
2809
+ "cxi",
2810
+ "-",
2811
+ "rad"
2812
+ ], [5, "0"]]
2813
+ ]
2666
2814
  ],
2667
- [0, [
2815
+ [
2816
+ 13,
2817
+ "x1",
2668
2818
  [
2669
- 13,
2670
- "px",
2819
+ 6,
2671
2820
  [
2821
+ 7,
2822
+ "std",
2823
+ "min"
2824
+ ],
2825
+ [[
2672
2826
  1,
2827
+ "cxi",
2828
+ "+",
2829
+ "rad"
2830
+ ], [
2831
+ 6,
2673
2832
  [
2674
- 1,
2675
- "cxi",
2676
- "+",
2677
- "kx"
2833
+ 7,
2834
+ "d",
2835
+ "i32"
2678
2836
  ],
2837
+ [[
2838
+ 1,
2839
+ "OUT_RES",
2840
+ "-",
2841
+ [5, "1"]
2842
+ ]]
2843
+ ]]
2844
+ ]
2845
+ ],
2846
+ [
2847
+ 13,
2848
+ "y0",
2849
+ [
2850
+ 6,
2851
+ [
2852
+ 7,
2853
+ "std",
2854
+ "max"
2855
+ ],
2856
+ [[
2857
+ 1,
2858
+ "cyi",
2679
2859
  "-",
2680
- "SPLAT_R"
2681
- ]
2682
- ],
2860
+ "rad"
2861
+ ], [5, "0"]]
2862
+ ]
2863
+ ],
2864
+ [
2865
+ 13,
2866
+ "y1",
2683
2867
  [
2684
- 13,
2685
- "py",
2868
+ 6,
2686
2869
  [
2870
+ 7,
2871
+ "std",
2872
+ "min"
2873
+ ],
2874
+ [[
2687
2875
  1,
2876
+ "cyi",
2877
+ "+",
2878
+ "rad"
2879
+ ], [
2880
+ 6,
2688
2881
  [
2689
- 1,
2690
- "cyi",
2691
- "+",
2692
- "ky"
2882
+ 7,
2883
+ "d",
2884
+ "i32"
2693
2885
  ],
2694
- "-",
2695
- "SPLAT_R"
2696
- ]
2886
+ [[
2887
+ 1,
2888
+ "OUT_RES",
2889
+ "-",
2890
+ [5, "1"]
2891
+ ]]
2892
+ ]]
2893
+ ]
2894
+ ],
2895
+ [
2896
+ 13,
2897
+ "sizeSq",
2898
+ [
2899
+ 6,
2900
+ [
2901
+ 7,
2902
+ "std",
2903
+ "max"
2904
+ ],
2905
+ [[
2906
+ 1,
2907
+ "size",
2908
+ "*",
2909
+ "size"
2910
+ ], [5, "0.01"]]
2911
+ ]
2912
+ ],
2913
+ [
2914
+ 14,
2915
+ [
2916
+ 12,
2917
+ "py",
2918
+ "y0"
2919
+ ],
2920
+ [
2921
+ 1,
2922
+ "py",
2923
+ "<=",
2924
+ "y1"
2697
2925
  ],
2698
2926
  [
2699
- 11,
2927
+ 102,
2928
+ "++",
2929
+ "py"
2930
+ ],
2931
+ [0, [
2700
2932
  [
2701
- 3,
2933
+ 13,
2934
+ "ddy",
2702
2935
  [
2703
- 3,
2936
+ 1,
2704
2937
  [
2705
- 3,
2938
+ 1,
2706
2939
  [
2707
- 1,
2708
- "px",
2709
- ">=",
2710
- [5, "0"]
2940
+ 6,
2941
+ [
2942
+ 7,
2943
+ "d",
2944
+ "f32"
2945
+ ],
2946
+ ["py"]
2711
2947
  ],
2712
- "&&",
2713
- [
2714
- 1,
2715
- "px",
2716
- "<",
2717
- "OUT_RES"
2718
- ]
2948
+ "+",
2949
+ [5, "0.5"]
2719
2950
  ],
2720
- "&&",
2721
- [
2722
- 1,
2723
- "py",
2724
- ">=",
2725
- [5, "0"]
2726
- ]
2727
- ],
2728
- "&&",
2951
+ "-",
2952
+ "ty"
2953
+ ]
2954
+ ],
2955
+ [
2956
+ 13,
2957
+ "ddySq",
2729
2958
  [
2730
2959
  1,
2731
- "py",
2732
- "<",
2733
- "OUT_RES"
2960
+ "ddy",
2961
+ "*",
2962
+ "ddy"
2734
2963
  ]
2735
2964
  ],
2736
- [0, [
2965
+ [
2966
+ 14,
2737
2967
  [
2738
- 13,
2739
- "ddx",
2740
- [
2741
- 1,
2742
- [
2743
- 1,
2744
- [
2745
- 6,
2746
- [
2747
- 7,
2748
- "d",
2749
- "f32"
2750
- ],
2751
- ["px"]
2752
- ],
2753
- "+",
2754
- [5, "0.5"]
2755
- ],
2756
- "-",
2757
- "tx"
2758
- ]
2968
+ 12,
2969
+ "px",
2970
+ "x0"
2759
2971
  ],
2760
2972
  [
2761
- 13,
2762
- "ddy",
2973
+ 1,
2974
+ "px",
2975
+ "<=",
2976
+ "x1"
2977
+ ],
2978
+ [
2979
+ 102,
2980
+ "++",
2981
+ "px"
2982
+ ],
2983
+ [0, [
2763
2984
  [
2764
- 1,
2985
+ 13,
2986
+ "ddx",
2765
2987
  [
2766
2988
  1,
2767
2989
  [
2768
- 6,
2990
+ 1,
2769
2991
  [
2770
- 7,
2771
- "d",
2772
- "f32"
2992
+ 6,
2993
+ [
2994
+ 7,
2995
+ "d",
2996
+ "f32"
2997
+ ],
2998
+ ["px"]
2773
2999
  ],
2774
- ["py"]
3000
+ "+",
3001
+ [5, "0.5"]
2775
3002
  ],
2776
- "+",
2777
- [5, "0.5"]
2778
- ],
2779
- "-",
2780
- "ty"
2781
- ]
2782
- ],
2783
- [
2784
- 13,
2785
- "q",
3003
+ "-",
3004
+ "tx"
3005
+ ]
3006
+ ],
2786
3007
  [
2787
- 1,
3008
+ 13,
3009
+ "q",
2788
3010
  [
2789
3011
  1,
2790
3012
  [
2791
3013
  1,
2792
- "ddx",
2793
- "*",
2794
- "ddx"
2795
- ],
2796
- "+",
2797
- [
2798
- 1,
2799
- "ddy",
2800
- "*",
2801
- "ddy"
2802
- ]
2803
- ],
2804
- "/",
2805
- [
2806
- 6,
2807
- [
2808
- 7,
2809
- "std",
2810
- "max"
3014
+ [
3015
+ 1,
3016
+ "ddx",
3017
+ "*",
3018
+ "ddx"
3019
+ ],
3020
+ "+",
3021
+ "ddySq"
2811
3022
  ],
2812
- [[
2813
- 1,
2814
- "size",
2815
- "*",
2816
- "size"
2817
- ], [5, "0.01"]]
3023
+ "/",
3024
+ "sizeSq"
2818
3025
  ]
2819
- ]
2820
- ],
2821
- [
2822
- 11,
2823
- [
2824
- 1,
2825
- "q",
2826
- "<",
2827
- [5, "2.6"]
2828
3026
  ],
2829
- [0, [
3027
+ [
3028
+ 11,
2830
3029
  [
2831
- 13,
2832
- "wHard",
3030
+ 1,
3031
+ "q",
3032
+ "<",
3033
+ "EXTQ"
3034
+ ],
3035
+ [0, [
2833
3036
  [
2834
- 6,
2835
- "weightFn",
3037
+ 13,
3038
+ "w",
2836
3039
  [
2837
- "ddx",
2838
- "ddy",
2839
- "size",
2840
- [5, "0.9"],
3040
+ 6,
3041
+ "profileFn",
2841
3042
  [
2842
- 6,
3043
+ "q",
3044
+ "ddx",
3045
+ "ddy",
3046
+ "size",
2843
3047
  [
2844
3048
  7,
2845
- "d",
2846
- "f32"
2847
- ],
2848
- [[5, "0"]]
2849
- ]
2850
- ]
2851
- ]
2852
- ],
2853
- [
2854
- 13,
2855
- "wSoft",
2856
- [
2857
- 6,
2858
- [
2859
- 7,
2860
- "std",
2861
- "exp"
2862
- ],
2863
- [[
2864
- 1,
2865
- "q",
2866
- "*",
2867
- [
2868
- 4,
2869
- "-",
2870
- [5, "2.5"]
3049
+ "prm",
3050
+ "softness"
3051
+ ]
2871
3052
  ]
2872
- ]]
2873
- ]
2874
- ],
2875
- [
2876
- 13,
2877
- "w",
2878
- [
2879
- 6,
2880
- [
2881
- 7,
2882
- "std",
2883
- "mix"
2884
- ],
2885
- [
2886
- "wHard",
2887
- "wSoft",
2888
- "softV"
2889
3053
  ]
2890
- ]
2891
- ],
2892
- [
2893
- 13,
2894
- "e",
2895
- [
2896
- 6,
2897
- [
2898
- 7,
2899
- "d",
2900
- "u32"
2901
- ],
2902
- [[
2903
- 1,
2904
- [
2905
- 1,
2906
- "w",
2907
- "*",
2908
- "bright"
2909
- ],
2910
- "*",
2911
- [5, "256"]
2912
- ]]
2913
- ]
2914
- ],
2915
- [
2916
- 11,
3054
+ ],
2917
3055
  [
2918
- 1,
3056
+ 13,
2919
3057
  "e",
2920
- ">",
2921
3058
  [
2922
3059
  6,
2923
3060
  [
@@ -2925,13 +3062,25 @@ function makeParticleSplatKernel(shape) {
2925
3062
  "d",
2926
3063
  "u32"
2927
3064
  ],
2928
- [[5, "0"]]
3065
+ [[
3066
+ 1,
3067
+ [
3068
+ 1,
3069
+ "w",
3070
+ "*",
3071
+ "bright"
3072
+ ],
3073
+ "*",
3074
+ [5, "256"]
3075
+ ]]
2929
3076
  ]
2930
3077
  ],
2931
- [0, [
3078
+ [
3079
+ 11,
2932
3080
  [
2933
- 13,
2934
- "idx",
3081
+ 1,
3082
+ "e",
3083
+ ">",
2935
3084
  [
2936
3085
  6,
2937
3086
  [
@@ -2939,92 +3088,119 @@ function makeParticleSplatKernel(shape) {
2939
3088
  "d",
2940
3089
  "u32"
2941
3090
  ],
2942
- [[
2943
- 1,
2944
- [
2945
- 1,
2946
- "py",
2947
- "*",
2948
- "OUT_RES"
2949
- ],
2950
- "+",
2951
- "px"
2952
- ]]
3091
+ [[5, "0"]]
2953
3092
  ]
2954
3093
  ],
2955
- [
2956
- 6,
3094
+ [0, [
2957
3095
  [
2958
- 7,
2959
- "std",
2960
- "atomicAdd"
2961
- ],
2962
- [[
2963
- 8,
3096
+ 13,
3097
+ "idx",
2964
3098
  [
2965
- 7,
3099
+ 6,
2966
3100
  [
2967
3101
  7,
2968
- "simLayout",
2969
- "$"
3102
+ "d",
3103
+ "u32"
2970
3104
  ],
2971
- "accumE"
2972
- ],
2973
- "idx"
2974
- ], "e"]
2975
- ],
2976
- [
2977
- 6,
2978
- [
2979
- 7,
2980
- "std",
2981
- "atomicAdd"
3105
+ [[
3106
+ 1,
3107
+ [
3108
+ 1,
3109
+ "py",
3110
+ "*",
3111
+ [
3112
+ 6,
3113
+ [
3114
+ 7,
3115
+ "d",
3116
+ "i32"
3117
+ ],
3118
+ ["OUT_RES"]
3119
+ ]
3120
+ ],
3121
+ "+",
3122
+ "px"
3123
+ ]]
3124
+ ]
2982
3125
  ],
2983
- [[
2984
- 8,
3126
+ [
3127
+ 6,
2985
3128
  [
2986
3129
  7,
3130
+ "std",
3131
+ "atomicAdd"
3132
+ ],
3133
+ [[
3134
+ 8,
2987
3135
  [
2988
3136
  7,
2989
- "simLayout",
2990
- "$"
3137
+ [
3138
+ 7,
3139
+ "simLayout",
3140
+ "$"
3141
+ ],
3142
+ "accumE"
2991
3143
  ],
2992
- "accumS"
2993
- ],
2994
- "idx"
2995
- ], [
2996
- 6,
3144
+ "idx"
3145
+ ], "e"]
3146
+ ],
3147
+ [
3148
+ 11,
3149
+ "doSpeed",
2997
3150
  [
2998
- 7,
2999
- "d",
3000
- "u32"
3001
- ],
3002
- [[
3003
- 1,
3151
+ 6,
3004
3152
  [
3005
- 1,
3153
+ 7,
3154
+ "std",
3155
+ "atomicAdd"
3156
+ ],
3157
+ [[
3158
+ 8,
3159
+ [
3160
+ 7,
3161
+ [
3162
+ 7,
3163
+ "simLayout",
3164
+ "$"
3165
+ ],
3166
+ "accumS"
3167
+ ],
3168
+ "idx"
3169
+ ], [
3170
+ 6,
3006
3171
  [
3172
+ 7,
3173
+ "d",
3174
+ "u32"
3175
+ ],
3176
+ [[
3007
3177
  1,
3008
- "w",
3178
+ [
3179
+ 1,
3180
+ [
3181
+ 1,
3182
+ "w",
3183
+ "*",
3184
+ "bright"
3185
+ ],
3186
+ "*",
3187
+ "speedNorm"
3188
+ ],
3009
3189
  "*",
3010
- "bright"
3011
- ],
3012
- "*",
3013
- "speedNorm"
3014
- ],
3015
- "*",
3016
- [5, "256"]
3017
- ]]
3018
- ]]
3019
- ]
3020
- ]]
3021
- ]
3022
- ]]
3023
- ]
3024
- ]]
3025
- ]
3026
- ]]
3027
- ]]]
3190
+ [5, "256"]
3191
+ ]]
3192
+ ]]
3193
+ ]
3194
+ ]
3195
+ ]]
3196
+ ]
3197
+ ]]
3198
+ ]
3199
+ ]]
3200
+ ]
3201
+ ]]
3202
+ ]
3203
+ ]]
3028
3204
  ]
3029
3205
  ]],
3030
3206
  "externalNames": [
@@ -3032,38 +3208,40 @@ function makeParticleSplatKernel(shape) {
3032
3208
  "std",
3033
3209
  "d",
3034
3210
  "OUT_RES",
3035
- "SPLAT_R",
3036
- "FORCE_SOFT",
3037
- "SPLAT_WIN",
3038
- "weightFn"
3211
+ "MAX_SPLAT_SIZE",
3212
+ "EXT",
3213
+ "EXTQ",
3214
+ "profileFn"
3039
3215
  ]
3040
3216
  },
3041
3217
  externals: () => ({
3042
3218
  simLayout,
3043
- std,
3044
- d,
3219
+ std: std_exports,
3220
+ d: data_exports,
3045
3221
  OUT_RES,
3046
- SPLAT_R,
3047
- FORCE_SOFT,
3048
- SPLAT_WIN,
3049
- weightFn
3222
+ MAX_SPLAT_SIZE,
3223
+ EXT,
3224
+ EXTQ,
3225
+ profileFn
3050
3226
  })
3051
3227
  }) && $.f)({})).$name("particlesSplat");
3052
3228
  }
3053
3229
  const particleSplatKernel = makeParticleSplatKernel("dot");
3054
3230
  function makeParticleResolveKernel(colorSpaceMode) {
3055
3231
  const mixFn = mixColorsVariants[colorSpaceMode] ?? mixColorsLinear;
3056
- return tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
3232
+ return src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
3057
3233
  "use gpu";
3058
3234
  const prm = simLayout.$.params;
3059
- const idx = __tsover_add(__tsover_mul(y, d.u32(OUT_RES)), x);
3060
- const eRaw = d.f32(std.atomicLoad(simLayout.$.accumE[idx]));
3061
- const sRaw = d.f32(std.atomicLoad(simLayout.$.accumS[idx]));
3235
+ const idx = __tsover_add(__tsover_mul(y, u32(OUT_RES)), x);
3236
+ const eRaw = f32(atomicLoad(simLayout.$.accumE[idx]));
3237
+ const sRaw = f32(atomicLoad(simLayout.$.accumS[idx]));
3238
+ atomicStore(simLayout.$.accumE[idx], u32(0));
3239
+ atomicStore(simLayout.$.accumS[idx], u32(0));
3062
3240
  const energy = __tsover_mul(__tsover_mul(eRaw, __tsover_div(1, 256)), prm.exposure);
3063
- const speedAvg = __tsover_div(sRaw, std.max(eRaw, 1));
3064
- const col = mixFn(prm.colA, prm.colB, std.clamp(speedAvg, 0, 1));
3065
- const alpha = __tsover_sub(1, std.exp(__tsover_mul(energy, -1.6)));
3066
- std.textureStore(simLayout.$.outTex, d.vec2u(x, y), d.vec4f(col.x, col.y, col.z, __tsover_mul(alpha, col.w)));
3241
+ const speedAvg = __tsover_div(sRaw, max(eRaw, 1));
3242
+ const col = mixFn(prm.colA, prm.colB, clamp(speedAvg, 0, 1));
3243
+ const alpha = __tsover_sub(1, exp(__tsover_mul(energy, -1.6)));
3244
+ textureStore(simLayout.$.outTex, vec2u(x, y), vec4f(col.x, col.y, col.z, __tsover_mul(alpha, col.w)));
3067
3245
  }), {
3068
3246
  v: 1,
3069
3247
  name: void 0,
@@ -3178,6 +3356,64 @@ function makeParticleResolveKernel(colorSpaceMode) {
3178
3356
  ]]
3179
3357
  ]
3180
3358
  ],
3359
+ [
3360
+ 6,
3361
+ [
3362
+ 7,
3363
+ "std",
3364
+ "atomicStore"
3365
+ ],
3366
+ [[
3367
+ 8,
3368
+ [
3369
+ 7,
3370
+ [
3371
+ 7,
3372
+ "simLayout",
3373
+ "$"
3374
+ ],
3375
+ "accumE"
3376
+ ],
3377
+ "idx"
3378
+ ], [
3379
+ 6,
3380
+ [
3381
+ 7,
3382
+ "d",
3383
+ "u32"
3384
+ ],
3385
+ [[5, "0"]]
3386
+ ]]
3387
+ ],
3388
+ [
3389
+ 6,
3390
+ [
3391
+ 7,
3392
+ "std",
3393
+ "atomicStore"
3394
+ ],
3395
+ [[
3396
+ 8,
3397
+ [
3398
+ 7,
3399
+ [
3400
+ 7,
3401
+ "simLayout",
3402
+ "$"
3403
+ ],
3404
+ "accumS"
3405
+ ],
3406
+ "idx"
3407
+ ], [
3408
+ 6,
3409
+ [
3410
+ 7,
3411
+ "d",
3412
+ "u32"
3413
+ ],
3414
+ [[5, "0"]]
3415
+ ]]
3416
+ ],
3181
3417
  [
3182
3418
  13,
3183
3419
  "energy",
@@ -3354,58 +3590,55 @@ function makeParticleResolveKernel(colorSpaceMode) {
3354
3590
  },
3355
3591
  externals: () => ({
3356
3592
  simLayout,
3357
- d,
3593
+ d: data_exports,
3358
3594
  OUT_RES,
3359
- std,
3595
+ std: std_exports,
3360
3596
  mixFn
3361
3597
  })
3362
3598
  }) && $.f)({})).$name("particlesResolve");
3363
3599
  }
3364
3600
  function makeParticleUpdateKernel(evalSdf) {
3365
- return tgpu.fn([d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
3601
+ return src_default.fn([u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
3366
3602
  "use gpu";
3367
3603
  const prm = simLayout.$.params;
3368
3604
  const p4 = simLayout.$.pos[i];
3369
3605
  const v4 = simLayout.$.vel[i];
3370
- let pos = d.vec3f(p4.x, p4.y, p4.z);
3606
+ let pos = vec3f(p4.x, p4.y, p4.z);
3371
3607
  const dt = prm.dt;
3372
3608
  const sd = evalSdf(pos);
3373
- const e = d.f32(.02);
3374
- const gx = __tsover_sub(evalSdf(d.vec3f(__tsover_add(pos.x, e), pos.y, pos.z)), evalSdf(d.vec3f(__tsover_sub(pos.x, e), pos.y, pos.z)));
3375
- const gy = __tsover_sub(evalSdf(d.vec3f(pos.x, __tsover_add(pos.y, e), pos.z)), evalSdf(d.vec3f(pos.x, __tsover_sub(pos.y, e), pos.z)));
3376
- const gz = __tsover_sub(evalSdf(d.vec3f(pos.x, pos.y, __tsover_add(pos.z, e))), evalSdf(d.vec3f(pos.x, pos.y, __tsover_sub(pos.z, e))));
3377
- const gv = d.vec3f(gx, gy, gz);
3378
- const gn = gv.div(std.max(std.length(gv), 1e-4));
3379
- const he = d.f32(__tsover_div(DOMAIN, DGRID));
3609
+ const e = f32(.02);
3610
+ const gv = vec3f(__tsover_sub(evalSdf(vec3f(__tsover_add(pos.x, e), pos.y, pos.z)), evalSdf(vec3f(__tsover_sub(pos.x, e), pos.y, pos.z))), __tsover_sub(evalSdf(vec3f(pos.x, __tsover_add(pos.y, e), pos.z)), evalSdf(vec3f(pos.x, __tsover_sub(pos.y, e), pos.z))), __tsover_sub(evalSdf(vec3f(pos.x, pos.y, __tsover_add(pos.z, e))), evalSdf(vec3f(pos.x, pos.y, __tsover_sub(pos.z, e)))));
3611
+ const gn = gv.div(max(length(gv), 1e-4));
3612
+ const he = f32(__tsover_div(DOMAIN, DGRID));
3380
3613
  const c0 = densTrilinear(pos);
3381
- const dgx = __tsover_sub(densTrilinear(d.vec3f(__tsover_add(pos.x, he), pos.y, pos.z)), densTrilinear(d.vec3f(__tsover_sub(pos.x, he), pos.y, pos.z)));
3382
- const dgy = __tsover_sub(densTrilinear(d.vec3f(pos.x, __tsover_add(pos.y, he), pos.z)), densTrilinear(d.vec3f(pos.x, __tsover_sub(pos.y, he), pos.z)));
3383
- const dgz = __tsover_sub(densTrilinear(d.vec3f(pos.x, pos.y, __tsover_add(pos.z, he))), densTrilinear(d.vec3f(pos.x, pos.y, __tsover_sub(pos.z, he))));
3384
- const pressNorm = __tsover_div(__tsover_mul(prm.spread, 4.4), std.max(__tsover_add(__tsover_mul(c0, 2), 6), 6));
3385
- let F = d.vec3f(__tsover_mul(__tsover_mul(dgx, -1), pressNorm), __tsover_mul(__tsover_mul(dgy, -1), pressNorm), __tsover_mul(__tsover_mul(dgz, -1), pressNorm));
3386
- const out = std.max(sd, 0);
3387
- const wall = __tsover_add(__tsover_mul(std.smoothstep(-.1, .01, sd), 1.1), __tsover_mul(out, 22));
3614
+ const dgx = __tsover_sub(densTrilinear(vec3f(__tsover_add(pos.x, he), pos.y, pos.z)), densTrilinear(vec3f(__tsover_sub(pos.x, he), pos.y, pos.z)));
3615
+ const dgy = __tsover_sub(densTrilinear(vec3f(pos.x, __tsover_add(pos.y, he), pos.z)), densTrilinear(vec3f(pos.x, __tsover_sub(pos.y, he), pos.z)));
3616
+ const dgz = __tsover_sub(densTrilinear(vec3f(pos.x, pos.y, __tsover_add(pos.z, he))), densTrilinear(vec3f(pos.x, pos.y, __tsover_sub(pos.z, he))));
3617
+ const pressNorm = __tsover_div(__tsover_mul(prm.spread, 4.4), max(__tsover_add(__tsover_mul(c0, 2), 6), 6));
3618
+ let F = vec3f(__tsover_mul(__tsover_mul(dgx, -1), pressNorm), __tsover_mul(__tsover_mul(dgy, -1), pressNorm), __tsover_mul(__tsover_mul(dgz, -1), pressNorm));
3619
+ const out = max(sd, 0);
3620
+ const wall = __tsover_add(__tsover_mul(smoothstep(-.1, .01, sd), 1.1), __tsover_mul(out, 22));
3388
3621
  F = F.sub(gn.mul(wall));
3389
- const rl = std.length(pos);
3390
- const recall = __tsover_mul(std.smoothstep(__tsover_mul(DOMAIN, .85), __tsover_mul(DOMAIN, 1.1), rl), 9);
3391
- F = F.sub(pos.mul(__tsover_div(recall, std.max(rl, 1e-4))));
3392
- const homing = __tsover_mul(std.smoothstep(.12, .45, sd), 5);
3393
- F = F.sub(pos.mul(__tsover_div(homing, std.max(rl, 1e-4))));
3394
- const vPrev = d.vec3f(v4.x, v4.y, v4.z);
3395
- const featureVel = std.cross(d.vec3f(prm.omegaX, prm.omegaY, prm.omegaZ), pos);
3396
- const insideM = __tsover_sub(1, std.smoothstep(-.05, .05, sd));
3622
+ const rl = length(pos);
3623
+ const recall = __tsover_mul(smoothstep(__tsover_mul(DOMAIN, .85), __tsover_mul(DOMAIN, 1.1), rl), 9);
3624
+ F = F.sub(pos.mul(__tsover_div(recall, max(rl, 1e-4))));
3625
+ const homing = __tsover_mul(smoothstep(.12, .45, sd), 5);
3626
+ F = F.sub(pos.mul(__tsover_div(homing, max(rl, 1e-4))));
3627
+ const vPrev = vec3f(v4.x, v4.y, v4.z);
3628
+ const featureVel = cross(vec3f(prm.omegaX, prm.omegaY, prm.omegaZ), pos);
3629
+ const insideM = __tsover_sub(1, smoothstep(-.05, .05, sd));
3397
3630
  F = F.add(featureVel.sub(vPrev).mul(__tsover_mul(prm.entrain, insideM)));
3398
- const mxy = cursorMagnet(d.vec2f(__tsover_sub(pos.x, prm.mouseX), __tsover_sub(pos.y, prm.mouseY)), prm.mouseRadSq, prm.mouseForce);
3399
- F = F.add(d.vec3f(mxy.x, mxy.y, 0));
3400
- F = F.add(d.vec3f(prm.gravX, prm.gravY, 0));
3401
- const rnd = hash33(pos.mul(193).add(d.vec3f(__tsover_mul(prm.time, 31.7), __tsover_mul(prm.time, 27.3), __tsover_mul(p4.w, 997)))).sub(d.vec3f(.5, .5, .5));
3631
+ const mxy = cursorMagnet(vec2f(__tsover_sub(pos.x, prm.mouseX), __tsover_sub(pos.y, prm.mouseY)), prm.mouseRadSq, prm.mouseForce);
3632
+ F = F.add(vec3f(mxy.x, mxy.y, 0));
3633
+ F = F.add(vec3f(prm.gravX, prm.gravY, 0));
3634
+ const rnd = hash33(pos.mul(193).add(vec3f(__tsover_mul(prm.time, 31.7), __tsover_mul(prm.time, 27.3), __tsover_mul(p4.w, 997)))).sub(vec3f(.5, .5, .5));
3402
3635
  F = F.add(rnd.mul(__tsover_mul(prm.agitation, 5)));
3403
3636
  let v3 = vPrev.add(F.mul(dt)).mul(prm.dragMul);
3404
- const spd = std.length(v3);
3405
- v3 = v3.mul(__tsover_div(std.min(spd, d.f32(MAX_SPEED)), std.max(spd, 1e-5)));
3406
- pos = std.clamp(pos.add(v3.mul(dt)), d.vec3f(-1.9, -1.9, -1.9), d.vec3f(1.9, 1.9, 1.9));
3407
- simLayout.$.pos[i] = d.vec4f(pos.x, pos.y, pos.z, p4.w);
3408
- simLayout.$.vel[i] = d.vec4f(v3.x, v3.y, v3.z, std.length(v3));
3637
+ const spd = length(v3);
3638
+ v3 = v3.mul(__tsover_div(min(spd, f32(MAX_SPEED)), max(spd, 1e-5)));
3639
+ pos = clamp(pos.add(v3.mul(dt)), vec3f(-1.9, -1.9, -1.9), vec3f(1.9, 1.9, 1.9));
3640
+ simLayout.$.pos[i] = vec4f(pos.x, pos.y, pos.z, p4.w);
3641
+ simLayout.$.vel[i] = vec4f(v3.x, v3.y, v3.z, length(v3));
3409
3642
  }), {
3410
3643
  v: 1,
3411
3644
  name: void 0,
@@ -5005,9 +5238,9 @@ function makeParticleUpdateKernel(evalSdf) {
5005
5238
  },
5006
5239
  externals: () => ({
5007
5240
  simLayout,
5008
- d,
5241
+ d: data_exports,
5009
5242
  evalSdf,
5010
- std,
5243
+ std: std_exports,
5011
5244
  DOMAIN,
5012
5245
  DGRID,
5013
5246
  densTrilinear,
@@ -5274,11 +5507,11 @@ const componentDefinition = {
5274
5507
  if (!root) return null;
5275
5508
  const shapeSdfUrl = getCpuValue("shapeSdfUrl") || "";
5276
5509
  const shapeType = resolveShapeType(getCpuValue("shapeType") || "", getCpuValue("shape"));
5277
- const posBuf = createStateBuffer(root, d.vec4f, MAX_PARTICLES);
5278
- const velBuf = createStateBuffer(root, d.vec4f, MAX_PARTICLES);
5279
- const densBuf = createStateBuffer(root, d.atomic(d.u32), DCELLS);
5280
- const accumE = createStateBuffer(root, d.atomic(d.u32), OUT_RES * OUT_RES);
5281
- const accumS = createStateBuffer(root, d.atomic(d.u32), OUT_RES * OUT_RES);
5510
+ const posBuf = createStateBuffer(root, vec4f, MAX_PARTICLES);
5511
+ const velBuf = createStateBuffer(root, vec4f, MAX_PARTICLES);
5512
+ const densBuf = createStateBuffer(root, atomic(u32), DCELLS);
5513
+ const accumE = createStateBuffer(root, atomic(u32), OUT_RES * OUT_RES);
5514
+ const accumS = createStateBuffer(root, atomic(u32), OUT_RES * OUT_RES);
5282
5515
  const outTex = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
5283
5516
  size: [OUT_RES, OUT_RES],
5284
5517
  format: STATE_FORMAT
@@ -5312,12 +5545,12 @@ const componentDefinition = {
5312
5545
  });
5313
5546
  const baked = setup3d.sdfFn;
5314
5547
  const layoutSvg = setup3d.layout;
5315
- evalSdf = tgpu.fn([d.vec3f], d.f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p3) => {
5548
+ evalSdf = src_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p3) => {
5316
5549
  "use gpu";
5317
5550
  const ps = rotateVec3(p3, layoutSvg.$.params.rot);
5318
- const exX = std.max(__tsover_sub(std.abs(ps.x), .5), 0);
5319
- const exY = std.max(__tsover_sub(std.abs(ps.y), .5), 0);
5320
- return __tsover_add(baked(ps), std.sqrt(__tsover_add(__tsover_mul(exX, exX), __tsover_mul(exY, exY))));
5551
+ const exX = max(__tsover_sub(abs(ps.x), .5), 0);
5552
+ const exY = max(__tsover_sub(abs(ps.y), .5), 0);
5553
+ return __tsover_add(baked(ps), sqrt(__tsover_add(__tsover_mul(exX, exX), __tsover_mul(exY, exY))));
5321
5554
  }), {
5322
5555
  v: 1,
5323
5556
  name: void 0,
@@ -5452,23 +5685,23 @@ const componentDefinition = {
5452
5685
  externals: () => ({
5453
5686
  rotateVec3,
5454
5687
  layoutSvg,
5455
- std,
5688
+ std: std_exports,
5456
5689
  baked
5457
5690
  })
5458
5691
  }) && $.f)({}));
5459
5692
  } else if (shapeSdfUrl) {
5460
5693
  const sdfTex = createSdfDataTexture(params, shapeSdfUrl);
5461
5694
  extraBg = root.createBindGroup(svgSdfLayout, { sdfSource: sdfTex.texture.texture });
5462
- evalSdf = tgpu.fn([d.vec3f], d.f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p3) => {
5695
+ evalSdf = src_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p3) => {
5463
5696
  "use gpu";
5464
5697
  const prm = simLayout.$.params;
5465
5698
  const sizeM1 = __tsover_sub(SVG_SDF_SIZE, 1);
5466
- const tx = std.clamp(d.i32(__tsover_mul(__tsover_add(p3.x, .5), SVG_SDF_SIZE)), 0, sizeM1);
5467
- const ty = std.clamp(d.i32(__tsover_mul(__tsover_sub(.5, p3.y), SVG_SDF_SIZE)), 0, sizeM1);
5468
- const d2 = std.textureLoad(svgSdfLayout.$.sdfSource, d.vec2u(d.u32(tx), d.u32(ty)), 0).x;
5469
- const exX = std.max(__tsover_sub(std.abs(p3.x), .5), 0);
5470
- const exY = std.max(__tsover_sub(std.abs(p3.y), .5), 0);
5471
- return extrudeSdf(__tsover_add(d2, std.sqrt(__tsover_add(__tsover_mul(exX, exX), __tsover_mul(exY, exY)))), __tsover_sub(std.abs(p3.z), prm.halfDepth));
5699
+ const tx = clamp(i32(__tsover_mul(__tsover_add(p3.x, .5), SVG_SDF_SIZE)), 0, sizeM1);
5700
+ const ty = clamp(i32(__tsover_mul(__tsover_sub(.5, p3.y), SVG_SDF_SIZE)), 0, sizeM1);
5701
+ const d2 = textureLoad(svgSdfLayout.$.sdfSource, vec2u(u32(tx), u32(ty)), 0).x;
5702
+ const exX = max(__tsover_sub(abs(p3.x), .5), 0);
5703
+ const exY = max(__tsover_sub(abs(p3.y), .5), 0);
5704
+ return extrudeSdf(__tsover_add(d2, sqrt(__tsover_add(__tsover_mul(exX, exX), __tsover_mul(exY, exY)))), __tsover_sub(abs(p3.z), prm.halfDepth));
5472
5705
  }), {
5473
5706
  v: 1,
5474
5707
  name: void 0,
@@ -5764,8 +5997,8 @@ const componentDefinition = {
5764
5997
  externals: () => ({
5765
5998
  simLayout,
5766
5999
  SVG_SDF_SIZE,
5767
- std,
5768
- d,
6000
+ std: std_exports,
6001
+ d: data_exports,
5769
6002
  svgSdfLayout,
5770
6003
  extrudeSdf
5771
6004
  })
@@ -5783,7 +6016,7 @@ const componentDefinition = {
5783
6016
  });
5784
6017
  const baked = setup3d.sdfFn;
5785
6018
  const layout3d = setup3d.layout;
5786
- evalSdf = tgpu.fn([d.vec3f], d.f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p3) => {
6019
+ evalSdf = src_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p3) => {
5787
6020
  "use gpu";
5788
6021
  return baked(rotateVec3(p3, layout3d.$.params.rot));
5789
6022
  }), {
@@ -5829,11 +6062,11 @@ const componentDefinition = {
5829
6062
  }) && $.f)({}));
5830
6063
  } else {
5831
6064
  const sdf2d = buildAnalyticSdfFn(shapeType);
5832
- evalSdf = tgpu.fn([d.vec3f], d.f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p3) => {
6065
+ evalSdf = src_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p3) => {
5833
6066
  "use gpu";
5834
6067
  const prm = simLayout.$.params;
5835
- const d2 = sdf2d(d.vec2f(__tsover_add(p3.x, .5), __tsover_sub(.5, p3.y)), prm.saRadius, prm.saSides, prm.saRounding, prm.saInnerRatio, prm.saRotation, prm.saHeight, prm.saOffset, prm.saAperture).x;
5836
- return extrudeSdf(d2, __tsover_sub(std.abs(p3.z), prm.halfDepth));
6068
+ const d2 = sdf2d(vec2f(__tsover_add(p3.x, .5), __tsover_sub(.5, p3.y)), prm.saRadius, prm.saSides, prm.saRounding, prm.saInnerRatio, prm.saRotation, prm.saHeight, prm.saOffset, prm.saAperture).x;
6069
+ return extrudeSdf(d2, __tsover_sub(abs(p3.z), prm.halfDepth));
5837
6070
  }), {
5838
6071
  v: 1,
5839
6072
  name: void 0,
@@ -5979,10 +6212,10 @@ const componentDefinition = {
5979
6212
  },
5980
6213
  externals: () => ({
5981
6214
  simLayout,
5982
- d,
6215
+ d: data_exports,
5983
6216
  sdf2d,
5984
6217
  extrudeSdf,
5985
- std
6218
+ std: std_exports
5986
6219
  })
5987
6220
  }) && $.f)({}));
5988
6221
  }
@@ -6036,29 +6269,6 @@ const componentDefinition = {
6036
6269
  }) && $.f)({}), { size: [DCELLS] }).with(simBg);
6037
6270
  const density = mk1(particleDensityKernel);
6038
6271
  const update = mk1(updateKernel);
6039
- const clearAccum = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
6040
- "use gpu";
6041
- particleClearAccumKernel(x, y);
6042
- }), {
6043
- v: 1,
6044
- name: void 0,
6045
- ast: {
6046
- "params": [{
6047
- "type": "i",
6048
- "name": "x"
6049
- }, {
6050
- "type": "i",
6051
- "name": "y"
6052
- }],
6053
- "body": [0, [[
6054
- 6,
6055
- "particleClearAccumKernel",
6056
- ["x", "y"]
6057
- ]]],
6058
- "externalNames": ["particleClearAccumKernel"]
6059
- },
6060
- externals: () => ({ particleClearAccumKernel })
6061
- }) && $.f)({}), { size: [OUT_RES, OUT_RES] }).with(simBg);
6062
6272
  const splat = mk1(splatKernel);
6063
6273
  const resolve = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
6064
6274
  "use gpu";
@@ -6183,8 +6393,8 @@ const componentDefinition = {
6183
6393
  const colA = getCpuValue("colorA");
6184
6394
  const colB = getCpuValue("colorB");
6185
6395
  paramsU.write({
6186
- colA: d.vec4f(colA?.x ?? 1, colA?.y ?? 1, colA?.z ?? 1, colA?.w ?? 1),
6187
- colB: d.vec4f(colB?.x ?? 1, colB?.y ?? 1, colB?.z ?? 1, colB?.w ?? 1),
6396
+ colA: vec4f(colA?.x ?? 1, colA?.y ?? 1, colA?.z ?? 1, colA?.w ?? 1),
6397
+ colB: vec4f(colB?.x ?? 1, colB?.y ?? 1, colB?.z ?? 1, colB?.w ?? 1),
6188
6398
  dt,
6189
6399
  time,
6190
6400
  spread: g("spread", 1),
@@ -6211,7 +6421,7 @@ const componentDefinition = {
6211
6421
  rotC,
6212
6422
  rotS,
6213
6423
  aspect,
6214
- size: g("size", 2.2),
6424
+ size: g("size", 2.2) * SIZE_SCALE,
6215
6425
  exposure: g("exposure", 1),
6216
6426
  softness: Math.min(Math.max(g("softness", .5), 0), 1),
6217
6427
  speedColorK: 2 / MAX_SPEED,
@@ -6228,13 +6438,13 @@ const componentDefinition = {
6228
6438
  deltaTime: dt,
6229
6439
  pointer: fp.pointer
6230
6440
  });
6231
- const count = Math.min(Math.max(Math.round(g("count", 4e3)), 16), MAX_PARTICLES);
6441
+ const count = Math.min(Math.max(Math.round(g("count", 4e3)), 16), COUNT_CAP);
6232
6442
  const nodes = [];
6233
6443
  if (!initialized) {
6234
6444
  initialized = true;
6235
6445
  nodes.push(() => init.dispatchThreads(MAX_PARTICLES));
6236
6446
  }
6237
- nodes.push(clearDensity, () => density.dispatchThreads(count), () => update.dispatchThreads(count), clearAccum, () => splat.dispatchThreads(count), resolve);
6447
+ nodes.push(clearDensity, () => density.dispatchThreads(count), () => update.dispatchThreads(count), () => splat.dispatchThreads(count), resolve);
6238
6448
  return nodes;
6239
6449
  }
6240
6450
  };
@@ -6246,4 +6456,4 @@ const componentDefinition = {
6246
6456
  }
6247
6457
  };
6248
6458
  var Particles_default = componentDefinition;
6249
- export { makeParticleUpdateKernel as a, particleDensityKernel as c, makeParticleSplatKernel as i, particleInitKernel as l, componentDefinition as n, particleClearAccumKernel as o, makeParticleResolveKernel as r, particleClearDensityKernel as s, Particles_default as t, particleSplatKernel as u };
6459
+ export { makeParticleUpdateKernel as a, particleInitKernel as c, makeParticleSplatKernel as i, particleSplatKernel as l, componentDefinition as n, particleClearDensityKernel as o, makeParticleResolveKernel as r, particleDensityKernel as s, Particles_default as t };