shaders 3.0.441 → 3.0.443

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 (953) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/core/{AngularBlur-BDxGVOMQ.js → AngularBlur-CJsRS1Ri.js} +1 -1
  3. package/dist/core/{Arc-C981IGmm.js → Arc-CNesL3S9.js} +1 -1
  4. package/dist/core/{Ascii-C_-Jn2_c.js → Ascii-z7til0PQ.js} +1 -1
  5. package/dist/core/{Aurora-D66-fTnE.js → Aurora-BAuYUYGc.js} +2 -2
  6. package/dist/core/{BarShift-DLaO6DjV.js → BarShift-qVwbTMcq.js} +2 -2
  7. package/dist/core/BarnDoors-DrOAeSqj.js +448 -0
  8. package/dist/core/{Beam-mVVEXCwG.js → Beam-BW6yblZw.js} +1 -1
  9. package/dist/core/Bend-B7PMQ3T5.js +848 -0
  10. package/dist/core/{Blob-BnBDJJ84.js → Blob-CRJ5N0hK.js} +2 -2
  11. package/dist/core/BlockDissolve-D-6Wy66g.js +364 -0
  12. package/dist/core/{BlockNoise-DINAV0qg.js → BlockNoise-Ct9Fae_7.js} +3 -3
  13. package/dist/core/{BlueNoise-B9jPJ1s5.js → BlueNoise-Cu7rJuP0.js} +2 -2
  14. package/dist/core/{Blur-DDWaY0Ld.js → Blur-BrdVVSPq.js} +1 -1
  15. package/dist/core/Boids-DIzUaLGM.js +4509 -0
  16. package/dist/core/BokehBlur-yYb03spN.js +3509 -0
  17. package/dist/core/{BrickPattern-DGsAflLE.js → BrickPattern-BL_MOS_A.js} +2 -2
  18. package/dist/core/{BrightnessContrast-CEHGmtvm.js → BrightnessContrast-CiKimIcA.js} +1 -1
  19. package/dist/core/{BrushedMetal-CcpOuWtJ.js → BrushedMetal-dvYjizvg.js} +4 -4
  20. package/dist/core/{Bulge-B3noQSAj.js → Bulge-CogpoPKe.js} +1 -1
  21. package/dist/core/{CRTScreen-DL5luEsd.js → CRTScreen-X64EnHMB.js} +1 -1
  22. package/dist/core/{CarbonFiber-CSHN_f_N.js → CarbonFiber-CTy3P-Qk.js} +3 -3
  23. package/dist/core/{Chalkboard-BSLaGFyY.js → Chalkboard-CnHUOHtc.js} +1 -1
  24. package/dist/core/{ChannelBlur-CDigdYX8.js → ChannelBlur-MwnpNLSZ.js} +1 -1
  25. package/dist/core/CheckerWipe-CCNc70ye.js +432 -0
  26. package/dist/core/{Checkerboard-DlZGigj6.js → Checkerboard-C97ZiLyQ.js} +1 -1
  27. package/dist/core/{Chevron-BuOn9mA1.js → Chevron-ABT6D1wM.js} +2 -2
  28. package/dist/core/{ChromaFlow-BOB8M0bU.js → ChromaFlow-7tJQEFm9.js} +1 -1
  29. package/dist/core/{ChromaticAberration-gtezUw88.js → ChromaticAberration-D7-fxyEd.js} +1 -1
  30. package/dist/core/{Circle-Vb7e3gL-.js → Circle-I0DIAypS.js} +1 -1
  31. package/dist/core/{ColorWheel-jc1jsi5U.js → ColorWheel-CEqzzrN-.js} +2 -2
  32. package/dist/core/{CompressionArtifacts-DlwHUO-X.js → CompressionArtifacts-C24nRoC3.js} +1 -1
  33. package/dist/core/{ConcentricSpin-BLIJre0M.js → ConcentricSpin-CAu-PGNH.js} +2 -2
  34. package/dist/core/{ConicGradient-BcNQlquk.js → ConicGradient-n12K5TLj.js} +2 -2
  35. package/dist/core/{ContourLines-CkGvhac3.js → ContourLines-FOStIWDr.js} +1 -1
  36. package/dist/core/{CornerPin-DYy3m7oY.js → CornerPin-DsUVMFcX.js} +1 -1
  37. package/dist/core/{Crescent-CrWVqQDf.js → Crescent-9i_5WPA-.js} +1 -1
  38. package/dist/core/{Cross-DUznb_Y-.js → Cross-HiA69xGL.js} +1 -1
  39. package/dist/core/{Crystal-CgDpYkhN.js → Crystal-BBjEm9m4.js} +3 -3
  40. package/dist/core/{CurlNoise-DAYJuMmN.js → CurlNoise-1jifziI0.js} +3 -3
  41. package/dist/core/{CursorRipples-CNP8wzdR.js → CursorRipples-D4agAYHK.js} +1 -1
  42. package/dist/core/{CursorTrail-B1VULW3E.js → CursorTrail-C-FrY0e2.js} +2 -2
  43. package/dist/core/{DataMosh-BYwbcTxJ.js → DataMosh-DXcM1I4Y.js} +1 -1
  44. package/dist/core/{DiamondGradient-BB7ajCKo.js → DiamondGradient-CQ5jeKEc.js} +2 -2
  45. package/dist/core/DiamondWipe-B1EXgweH.js +381 -0
  46. package/dist/core/{DiffuseBlur-KE2fGEND.js → DiffuseBlur-CmD97dHb.js} +1 -1
  47. package/dist/core/DisplacementMap-JV_CNJfU.js +536 -0
  48. package/dist/core/{Dither-B8yxWNxE.js → Dither-NJDWpGb3.js} +1 -1
  49. package/dist/core/{DotGrid-Doh7yuqR.js → DotGrid-B2w7RFcv.js} +2 -2
  50. package/dist/core/{DropShadow-DhHQBpiK.js → DropShadow-CLWp-bon.js} +1 -1
  51. package/dist/core/{Duotone-DA3IudVy.js → Duotone-Be2jx-jZ.js} +1 -1
  52. package/dist/core/{Ellipse-m1D5EVjj.js → Ellipse-BR6qXidK.js} +1 -1
  53. package/dist/core/{Emboss-C3NBF44G.js → Emboss-C8ElxLo3.js} +3 -3
  54. package/dist/core/{Engraving-Bz503L4R.js → Engraving-D67DM--1.js} +1 -1
  55. package/dist/core/{ErosionNoise-DOOt5U2Z.js → ErosionNoise-FeEMQOkR.js} +2 -2
  56. package/dist/core/{Exposure-DkQ4kanv.js → Exposure-CZ1gfqpf.js} +1 -1
  57. package/dist/core/{FallingLines-BE6S1TUf.js → FallingLines-ifuQ01oA.js} +2 -2
  58. package/dist/core/{FilmGrain-9-Mgc2Ri.js → FilmGrain-p5sawa_f.js} +1 -1
  59. package/dist/core/FilmStock-BD5wv1TV.js +2029 -0
  60. package/dist/core/{Flip-Dpi0pVGo.js → Flip-MKiLH9jJ.js} +1 -1
  61. package/dist/core/FloatingParticles-Bn8CmtwG.js +2736 -0
  62. package/dist/core/{FlowField-0UUp41dK.js → FlowField-BdFeRmif.js} +2 -2
  63. package/dist/core/{Flower-DJLgm11L.js → Flower-BwDBwcSk.js} +1 -1
  64. package/dist/core/{FlowingGradient-C01NbZ16.js → FlowingGradient-RYOS36eB.js} +2 -2
  65. package/dist/core/{FlutedGlass-DIwsLgXX.js → FlutedGlass-Ong8W4Ih.js} +2 -2
  66. package/dist/core/{Fog-BwPDTYRv.js → Fog-C-X8msRb.js} +1 -1
  67. package/dist/core/{Form3D-Csuoy7Rq.js → Form3D-BZ_vaLWe.js} +2 -2
  68. package/dist/core/{FractalNoise-B9usxoBx.js → FractalNoise-BPj8RPkE.js} +2 -2
  69. package/dist/core/{Frost-Bhd3oWES.js → Frost-DmxlFu63.js} +4 -4
  70. package/dist/core/{GaborNoise-CQX_VPTg.js → GaborNoise-Boc8ieHd.js} +3 -3
  71. package/dist/core/{Glass-tFOQd3eV.js → Glass-D5p21MIw.js} +3 -3
  72. package/dist/core/{GlassTiles-C-yPKp5B.js → GlassTiles-BP4CzdI3.js} +1 -1
  73. package/dist/core/{Glitch-0i5BtHaq.js → Glitch-cJguD7jS.js} +1 -1
  74. package/dist/core/{Glow-CMz4cv5I.js → Glow-BabfcnwS.js} +1 -1
  75. package/dist/core/{Godrays-D0euidZr.js → Godrays-BpiKSlNR.js} +2 -2
  76. package/dist/core/{Goo-AMjCwSDQ.js → Goo-BaQEtOyr.js} +4 -4
  77. package/dist/core/{GradientMap-BU4kVWfH.js → GradientMap-BtKtW-4M.js} +1 -1
  78. package/dist/core/{Grayscale-iaDYz9To.js → Grayscale-Bgwugyvv.js} +1 -1
  79. package/dist/core/{Grid-BwbSPDqS.js → Grid-5cEDkyWX.js} +1 -1
  80. package/dist/core/{GridDistortion-B3S8D94q.js → GridDistortion-Byf4G720.js} +1 -1
  81. package/dist/core/{Group-0BcuiZZM.js → Group-DUEQSUir.js} +1 -1
  82. package/dist/core/{DOMTexture-DROf41BI.js → HTMLInCanvas-uW1O3Z-R.js} +17 -8
  83. package/dist/core/{Halftone-ClxolEhO.js → Halftone-BiSLVvGF.js} +1 -1
  84. package/dist/core/{Heart-BdSnsqq-.js → Heart-RAGeVEVH.js} +1 -1
  85. package/dist/core/{Heatmap-CFEEphb2.js → Heatmap-Ds65scO7.js} +4 -4
  86. package/dist/core/{HexGrid-D8CgLdgw.js → HexGrid-H1N5Y1XD.js} +1 -1
  87. package/dist/core/{Hologram-IJhpMkKa.js → Hologram-DpDfyeSz.js} +4 -4
  88. package/dist/core/{Holographic-BbrHmA39.js → Holographic-Ckubuqn8.js} +4 -4
  89. package/dist/core/{HueShift-Bv6qzKH0.js → HueShift-C_a5UVHy.js} +1 -1
  90. package/dist/core/{ImageTexture-Dh6VPuYy.js → ImageTexture-CM-dPJQ4.js} +1 -1
  91. package/dist/core/InkFlow-CY7sCKpI.js +4983 -0
  92. package/dist/core/{Invert-B8gtmw54.js → Invert-DhHrtwHQ.js} +1 -1
  93. package/dist/core/IrisWipe-BnOMUdEV.js +421 -0
  94. package/dist/core/{IsometricCubes-BL0ZvkwZ.js → IsometricCubes-CXPz62PB.js} +1 -1
  95. package/dist/core/{Kaleidoscope-D4VzDZni.js → Kaleidoscope-CSgi0E5B.js} +1 -1
  96. package/dist/core/{KeyFrames-C-nnFGBw.js → KeyFrames-C3I4poq8.js} +1 -1
  97. package/dist/core/{LensFlare-D_LFHDo0.js → LensFlare-DxvbKXgt.js} +2 -2
  98. package/dist/core/{LightEdge-Ck4lGBye.js → LightEdge-niXz_FAk.js} +4 -4
  99. package/dist/core/{LightLeak-DuaMzzKh.js → LightLeak-B7Pt1tt4.js} +2 -2
  100. package/dist/core/{LinearBlur-CHioFPql.js → LinearBlur-CXNcduWQ.js} +1 -1
  101. package/dist/core/{LinearGradient-CEz9WjgA.js → LinearGradient-CYiaWIXd.js} +2 -2
  102. package/dist/core/LinearWipe-gwLhEveK.js +424 -0
  103. package/dist/core/{LiquidMetal-CtbGXpkb.js → LiquidMetal-D0sgLjcd.js} +4 -4
  104. package/dist/core/{Liquify-B0rCOoDY.js → Liquify-h08a8S-C.js} +1 -1
  105. package/dist/core/MagneticFilings-BlNWPVwS.js +3118 -0
  106. package/dist/core/{Marble-BJp6F6BF.js → Marble-bps2lOWc.js} +2 -2
  107. package/dist/core/{Mirror-9fC_SqqB.js → Mirror-8miSUAyZ.js} +1 -1
  108. package/dist/core/{MultiPointGradient-BuDBY6Ax.js → MultiPointGradient-C-9_Q6CM.js} +1 -1
  109. package/dist/core/{Neon-CgA9zX4Y.js → Neon-RDh1tAjH.js} +3 -3
  110. package/dist/core/NoiseDissolve-DjlWGdUc.js +533 -0
  111. package/dist/core/{ObjectTracker-D1qrJe0c.js → ObjectTracker-DW4aEBRv.js} +2 -2
  112. package/dist/core/{PagePeel-YA6Q8kM0.js → PagePeel-JsbScYi4.js} +2 -2
  113. package/dist/core/{Paper-Bu3J7_h8.js → Paper-BGTU0GOF.js} +1 -1
  114. package/dist/core/{Parallelogram-8VWcTkAt.js → Parallelogram-RC3MxzlN.js} +1 -1
  115. package/dist/core/ParticleField-XypD7Eru.js +4786 -0
  116. package/dist/core/ParticleFlow-DBw7m9C6.js +6525 -0
  117. package/dist/core/{Particles-BG7Z-4in.js → Particles-CvpZvfe3.js} +728 -784
  118. package/dist/core/{PerlinNoise-gV2dOb_o.js → PerlinNoise-CHVaarmz.js} +3 -3
  119. package/dist/core/{Perspective-m70JnY4Z.js → Perspective-zyCZAb3_.js} +1 -1
  120. package/dist/core/{PixelSort-tKcoDnMz.js → PixelSort-B-zefB9S.js} +1 -1
  121. package/dist/core/{PixelThrow-CzelDKa4.js → PixelThrow-BZ6erf3G.js} +1 -1
  122. package/dist/core/{Pixelate-CcBgoqXj.js → Pixelate-D1e7buDQ.js} +1 -1
  123. package/dist/core/{Plasma-Bsei8uLa.js → Plasma-CBrx8Xu-.js} +2 -2
  124. package/dist/core/{Plastic-D9qe3OWm.js → Plastic-CcS4iAJM.js} +4 -4
  125. package/dist/core/{PolarCoordinates-C9WxI22k.js → PolarCoordinates-B9SuYLgF.js} +1 -1
  126. package/dist/core/{Polygon-D58HZRzJ.js → Polygon-N0l1KfIO.js} +1 -1
  127. package/dist/core/{Posterize-DxR6F30M.js → Posterize-u2et79Pv.js} +1 -1
  128. package/dist/core/{Prism-JLQP5dhZ.js → Prism-BnDsPBcD.js} +2 -2
  129. package/dist/core/{ProgressiveBlur-DpERTuHY.js → ProgressiveBlur-D9FiTJQy.js} +1 -1
  130. package/dist/core/{RadialGradient-N4mHVX7b.js → RadialGradient-C4oB78ya.js} +2 -2
  131. package/dist/core/RadialWipe-Dzb7i6wy.js +528 -0
  132. package/dist/core/RandomBars-DO9j43mN.js +490 -0
  133. package/dist/core/{ReactionDiffusion-BpLbPwbw.js → ReactionDiffusion-DG1NSPhM.js} +1 -1
  134. package/dist/core/{RectangularCoordinates-Bt9H7sBE.js → RectangularCoordinates-Ck1gXdGx.js} +1 -1
  135. package/dist/core/{ReflectivePlane-Cumbz3x2.js → ReflectivePlane-DFQDgLYC.js} +1 -1
  136. package/dist/core/{Repeater-DuRfWt9x.js → Repeater-CT35_BhW.js} +1 -1
  137. package/dist/core/{Ring-Cg_pZTin.js → Ring-DywDgKDv.js} +1 -1
  138. package/dist/core/RippleWipe-ePWlg-DT.js +500 -0
  139. package/dist/core/{Ripples-BtenteeG.js → Ripples-fTSMeqiE.js} +2 -2
  140. package/dist/core/{RoundedRect-C0ETFLNc.js → RoundedRect-B0lxuFfM.js} +1 -1
  141. package/dist/core/{Saturation-BbOceqP3.js → Saturation-ClaD54dk.js} +1 -1
  142. package/dist/core/{Scratches-B2Q_mgvt.js → Scratches-D8ZIBZ50.js} +3 -3
  143. package/dist/core/{Sharpness-Bhb9aDxA.js → Sharpness-CsnT4s1o.js} +1 -1
  144. package/dist/core/{Shatter-zxLD4RY8.js → Shatter-D_V7GBel.js} +1 -1
  145. package/dist/core/{SimplexNoise-DTCJ__Jt.js → SimplexNoise-tI2G3Wzn.js} +2 -2
  146. package/dist/core/{SineWave-JNTzGGXH.js → SineWave-BGsYyEFg.js} +2 -2
  147. package/dist/core/SliceWipe-s4pWdINK.js +482 -0
  148. package/dist/core/{Smoke-BX4EcQdI.js → Smoke-C3SLe_rD.js} +2 -2
  149. package/dist/core/{SmokeFill-9SqGHgJt.js → SmokeFill-BuKZtbX8.js} +3 -3
  150. package/dist/core/{SmokeFlow-Cfs5EVW_.js → SmokeFlow-5fnVH2a9.js} +2 -2
  151. package/dist/core/{Solarize-BQq15L3x.js → Solarize-TP85IPV7.js} +1 -1
  152. package/dist/core/{Spherize-Czfb_NCO.js → Spherize-C4qsnql6.js} +1 -1
  153. package/dist/core/{Spiral-CO_pymky.js → Spiral-rPHDFACm.js} +2 -2
  154. package/dist/core/{Star-CgLpQtzz.js → Star-BDFhZWLo.js} +1 -1
  155. package/dist/core/{Stone-Bl9-bI0G.js → Stone-CCXo9IgA.js} +2 -2
  156. package/dist/core/{Strands-BdSTwZXc.js → Strands-DCzYUsCX.js} +2 -2
  157. package/dist/core/{Stretch-BCZ_vkQn.js → Stretch-CjhYXAth.js} +1 -1
  158. package/dist/core/{Stripes-OLW9XYEW.js → Stripes-CN2TFWGw.js} +2 -2
  159. package/dist/core/{StudioBackground-ksKsEcWQ.js → StudioBackground-I_XxtKjr.js} +2 -2
  160. package/dist/core/{SunBurst-B_mkcjjh.js → SunBurst-CGQkdsXl.js} +2 -2
  161. package/dist/core/{Surface3D-D6D9L3et.js → Surface3D-CpCPTs0u.js} +1 -1
  162. package/dist/core/{Swirl-DMQ-Iq-_.js → Swirl-BCnlG3G8.js} +2 -2
  163. package/dist/core/{Teardrop-Dz5aCCyM.js → Teardrop-DX-YZkNC.js} +1 -1
  164. package/dist/core/{Text-9v36CCo0.js → Text-oI5d7_UD.js} +2 -2
  165. package/dist/core/{ThinFilm-C28dTgXR.js → ThinFilm-CEYaV4nn.js} +3 -3
  166. package/dist/core/{TiltShift-Df93B2bk.js → TiltShift-C8GluqAm.js} +1 -1
  167. package/dist/core/TimeTrail-CPiSo5Of.js +2847 -0
  168. package/dist/core/{Tint-e-sF3Q5L.js → Tint-NA7BO-Qk.js} +1 -1
  169. package/dist/core/{Trapezoid-B6r05rcQ.js → Trapezoid-BOGSQvW5.js} +1 -1
  170. package/dist/core/{TriangularGrid-CX7hnKpa.js → TriangularGrid-Zx3I4CqA.js} +2 -2
  171. package/dist/core/{Tritone-CccAEZZ2.js → Tritone-Bl69W4Y4.js} +1 -1
  172. package/dist/core/{Truchet-DG3fNF5b.js → Truchet-RJI0-v6x.js} +1 -1
  173. package/dist/core/{Twirl-CtFo8Cjm.js → Twirl-CrIawDs2.js} +1 -1
  174. package/dist/core/{VHS-CKc1qc0j.js → VHS-B12KbScc.js} +1 -1
  175. package/dist/core/VenetianBlinds-CGfPlhGd.js +460 -0
  176. package/dist/core/{Vesica-D1HOV75v.js → Vesica-DekjxkHL.js} +1 -1
  177. package/dist/core/{Vibrance-E9-pYAwh.js → Vibrance-DKKduAD8.js} +1 -1
  178. package/dist/core/{VideoTexture-Df7BPBe-.js → VideoTexture-1xg_a680.js} +1 -1
  179. package/dist/core/{Vignette-DOVH3O7h.js → Vignette-CDRCMNb2.js} +1 -1
  180. package/dist/core/{Voronoi-BYmYkJfN.js → Voronoi-EWj3WFqv.js} +2 -2
  181. package/dist/core/{Water-DAQnd09w.js → Water-BdGrOEuE.js} +4 -4
  182. package/dist/core/{Watercolor-B1iwfQSH.js → Watercolor-BGIcnGZu.js} +1 -1
  183. package/dist/core/{WaveDistortion-BNkgWs3D.js → WaveDistortion-BNlrOaur.js} +2 -2
  184. package/dist/core/{WaveletNoise-ByqzdG-6.js → WaveletNoise-Jv-694xX.js} +3 -3
  185. package/dist/core/{Weave-DeItcIeX.js → Weave-HNS6xvOs.js} +1 -1
  186. package/dist/core/{WebcamTexture-BAeqZ7pH.js → WebcamTexture-DVKxGpWI.js} +1 -1
  187. package/dist/core/{Wool-Br5Ajlvr.js → Wool-D7uM0JRs.js} +2 -2
  188. package/dist/core/{WorleyNoise-D1piyiG2.js → WorleyNoise-DsDWmRCp.js} +2 -2
  189. package/dist/core/{ZoomBlur-ZEtNzn4_.js → ZoomBlur-S2GfQojf.js} +1 -1
  190. package/dist/core/{coords-DLZT4HVT.js → coords-0A7CojvN.js} +1366 -347
  191. package/dist/core/{glass-CGThMEIa.js → glass-BjUqcmHP.js} +1 -1
  192. package/dist/core/gpu/composer.d.ts.map +1 -1
  193. package/dist/core/gpu/contract.d.ts +28 -7
  194. package/dist/core/gpu/contract.d.ts.map +1 -1
  195. package/dist/core/gpu/index.d.ts +4 -0
  196. package/dist/core/gpu/index.d.ts.map +1 -1
  197. package/dist/core/gpu/kit/agents.d.ts +78 -0
  198. package/dist/core/gpu/kit/agents.d.ts.map +1 -0
  199. package/dist/core/gpu/kit/index.d.ts +1 -0
  200. package/dist/core/gpu/kit/index.d.ts.map +1 -1
  201. package/dist/core/gpu/kit/tonemap.d.ts +1 -1
  202. package/dist/core/gpu/textures.d.ts +1 -1
  203. package/dist/core/gpu/textures.d.ts.map +1 -1
  204. package/dist/core/index.js +309 -252
  205. package/dist/core/{noiseColor-kVjc2DJn.js → noiseColor-w3B94vmT.js} +1 -1
  206. package/dist/core/{porters-DdcOi7BN.js → porters-B1jqpcE3.js} +1 -1
  207. package/dist/core/registry.js +197 -175
  208. package/dist/core/shaderRegistry-BrbiIqjD.js +425 -0
  209. package/dist/core/shaderRegistry.d.ts +3 -0
  210. package/dist/core/shaderRegistry.d.ts.map +1 -1
  211. package/dist/core/shaders/AngularBlur/index.js +3 -3
  212. package/dist/core/shaders/Arc/index.js +3 -3
  213. package/dist/core/shaders/Ascii/index.js +3 -3
  214. package/dist/core/shaders/Aurora/index.js +3 -3
  215. package/dist/core/shaders/BarShift/index.js +3 -3
  216. package/dist/core/shaders/BarnDoors/index.d.ts +34 -0
  217. package/dist/core/shaders/BarnDoors/index.d.ts.map +1 -0
  218. package/dist/core/shaders/BarnDoors/index.js +5 -0
  219. package/dist/core/shaders/Beam/index.js +3 -3
  220. package/dist/core/shaders/Bend/index.d.ts +34 -0
  221. package/dist/core/shaders/Bend/index.d.ts.map +1 -0
  222. package/dist/core/shaders/Bend/index.js +5 -0
  223. package/dist/core/shaders/Blob/index.js +3 -3
  224. package/dist/core/shaders/BlockDissolve/index.d.ts +34 -0
  225. package/dist/core/shaders/BlockDissolve/index.d.ts.map +1 -0
  226. package/dist/core/shaders/BlockDissolve/index.js +5 -0
  227. package/dist/core/shaders/BlockNoise/index.js +4 -4
  228. package/dist/core/shaders/BlueNoise/index.js +4 -4
  229. package/dist/core/shaders/Blur/index.js +3 -3
  230. package/dist/core/shaders/Boids/index.d.ts +152 -0
  231. package/dist/core/shaders/Boids/index.d.ts.map +1 -0
  232. package/dist/core/shaders/Boids/index.js +5 -0
  233. package/dist/core/shaders/BokehBlur/index.d.ts +187 -0
  234. package/dist/core/shaders/BokehBlur/index.d.ts.map +1 -0
  235. package/dist/core/shaders/BokehBlur/index.js +5 -0
  236. package/dist/core/shaders/BrickPattern/index.js +3 -3
  237. package/dist/core/shaders/BrightnessContrast/index.js +3 -3
  238. package/dist/core/shaders/BrushedMetal/index.js +5 -5
  239. package/dist/core/shaders/Bulge/index.js +3 -3
  240. package/dist/core/shaders/CRTScreen/index.js +3 -3
  241. package/dist/core/shaders/CarbonFiber/index.js +5 -5
  242. package/dist/core/shaders/Chalkboard/index.js +3 -3
  243. package/dist/core/shaders/ChannelBlur/index.js +3 -3
  244. package/dist/core/shaders/CheckerWipe/index.d.ts +34 -0
  245. package/dist/core/shaders/CheckerWipe/index.d.ts.map +1 -0
  246. package/dist/core/shaders/CheckerWipe/index.js +5 -0
  247. package/dist/core/shaders/Checkerboard/index.js +3 -3
  248. package/dist/core/shaders/Chevron/index.js +3 -3
  249. package/dist/core/shaders/ChromaFlow/index.js +3 -3
  250. package/dist/core/shaders/ChromaticAberration/index.js +3 -3
  251. package/dist/core/shaders/Circle/index.js +3 -3
  252. package/dist/core/shaders/ColorWheel/index.js +3 -3
  253. package/dist/core/shaders/CompressionArtifacts/index.js +3 -3
  254. package/dist/core/shaders/ConcentricSpin/index.js +3 -3
  255. package/dist/core/shaders/ConicGradient/index.js +3 -3
  256. package/dist/core/shaders/ContourLines/index.js +3 -3
  257. package/dist/core/shaders/CornerPin/index.js +3 -3
  258. package/dist/core/shaders/Crescent/index.js +3 -3
  259. package/dist/core/shaders/Cross/index.js +3 -3
  260. package/dist/core/shaders/Crystal/index.js +5 -5
  261. package/dist/core/shaders/CurlNoise/index.js +4 -4
  262. package/dist/core/shaders/CursorRipples/index.js +3 -3
  263. package/dist/core/shaders/CursorTrail/index.js +3 -3
  264. package/dist/core/shaders/DataMosh/index.js +3 -3
  265. package/dist/core/shaders/DiamondGradient/index.js +3 -3
  266. package/dist/core/shaders/DiamondWipe/index.d.ts +34 -0
  267. package/dist/core/shaders/DiamondWipe/index.d.ts.map +1 -0
  268. package/dist/core/shaders/DiamondWipe/index.js +5 -0
  269. package/dist/core/shaders/DiffuseBlur/index.js +3 -3
  270. package/dist/core/shaders/DisplacementMap/index.d.ts +44 -0
  271. package/dist/core/shaders/DisplacementMap/index.d.ts.map +1 -0
  272. package/dist/core/shaders/DisplacementMap/index.js +5 -0
  273. package/dist/core/shaders/Dither/index.js +3 -3
  274. package/dist/core/shaders/DotGrid/index.js +3 -3
  275. package/dist/core/shaders/DropShadow/index.js +3 -3
  276. package/dist/core/shaders/Duotone/index.js +3 -3
  277. package/dist/core/shaders/Ellipse/index.js +3 -3
  278. package/dist/core/shaders/Emboss/index.js +5 -5
  279. package/dist/core/shaders/Engraving/index.js +3 -3
  280. package/dist/core/shaders/ErosionNoise/index.js +4 -4
  281. package/dist/core/shaders/Exposure/index.js +3 -3
  282. package/dist/core/shaders/FallingLines/index.js +3 -3
  283. package/dist/core/shaders/FilmGrain/index.js +3 -3
  284. package/dist/core/shaders/FilmStock/index.d.ts +101 -0
  285. package/dist/core/shaders/FilmStock/index.d.ts.map +1 -0
  286. package/dist/core/shaders/FilmStock/index.js +5 -0
  287. package/dist/core/shaders/FilmStock/stockLuts.d.ts +65 -0
  288. package/dist/core/shaders/FilmStock/stockLuts.d.ts.map +1 -0
  289. package/dist/core/shaders/Flip/index.js +3 -3
  290. package/dist/core/shaders/FloatingParticles/index.d.ts +65 -39
  291. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  292. package/dist/core/shaders/FloatingParticles/index.js +4 -4
  293. package/dist/core/shaders/FlowField/index.js +3 -3
  294. package/dist/core/shaders/Flower/index.js +3 -3
  295. package/dist/core/shaders/FlowingGradient/index.js +3 -3
  296. package/dist/core/shaders/FlutedGlass/index.js +3 -3
  297. package/dist/core/shaders/Fog/index.js +3 -3
  298. package/dist/core/shaders/Form3D/index.js +3 -3
  299. package/dist/core/shaders/FractalNoise/index.js +3 -3
  300. package/dist/core/shaders/Frost/index.js +5 -5
  301. package/dist/core/shaders/GaborNoise/index.js +4 -4
  302. package/dist/core/shaders/Glass/index.js +5 -5
  303. package/dist/core/shaders/GlassTiles/index.js +3 -3
  304. package/dist/core/shaders/Glitch/index.js +3 -3
  305. package/dist/core/shaders/Glow/index.js +3 -3
  306. package/dist/core/shaders/Godrays/index.js +3 -3
  307. package/dist/core/shaders/Goo/index.js +5 -5
  308. package/dist/core/shaders/GradientMap/index.js +3 -3
  309. package/dist/core/shaders/Grayscale/index.js +3 -3
  310. package/dist/core/shaders/Grid/index.js +3 -3
  311. package/dist/core/shaders/GridDistortion/index.js +3 -3
  312. package/dist/core/shaders/Group/index.js +3 -3
  313. package/dist/core/shaders/HTMLInCanvas/index.d.ts.map +1 -0
  314. package/dist/core/shaders/HTMLInCanvas/index.js +5 -0
  315. package/dist/core/shaders/Halftone/index.js +3 -3
  316. package/dist/core/shaders/Heart/index.js +3 -3
  317. package/dist/core/shaders/Heatmap/index.js +5 -5
  318. package/dist/core/shaders/HexGrid/index.js +3 -3
  319. package/dist/core/shaders/Hologram/index.js +5 -5
  320. package/dist/core/shaders/Holographic/index.js +5 -5
  321. package/dist/core/shaders/HueShift/index.js +3 -3
  322. package/dist/core/shaders/ImageTexture/index.js +3 -3
  323. package/dist/core/shaders/InkFlow/index.d.ts +105 -0
  324. package/dist/core/shaders/InkFlow/index.d.ts.map +1 -0
  325. package/dist/core/shaders/InkFlow/index.js +5 -0
  326. package/dist/core/shaders/Invert/index.js +3 -3
  327. package/dist/core/shaders/IrisWipe/index.d.ts +36 -0
  328. package/dist/core/shaders/IrisWipe/index.d.ts.map +1 -0
  329. package/dist/core/shaders/IrisWipe/index.js +5 -0
  330. package/dist/core/shaders/IsometricCubes/index.js +3 -3
  331. package/dist/core/shaders/Kaleidoscope/index.js +3 -3
  332. package/dist/core/shaders/KeyFrames/index.js +3 -3
  333. package/dist/core/shaders/LensFlare/index.js +3 -3
  334. package/dist/core/shaders/LightEdge/index.js +5 -5
  335. package/dist/core/shaders/LightLeak/index.js +3 -3
  336. package/dist/core/shaders/LinearBlur/index.js +3 -3
  337. package/dist/core/shaders/LinearGradient/index.js +3 -3
  338. package/dist/core/shaders/LinearWipe/index.d.ts +34 -0
  339. package/dist/core/shaders/LinearWipe/index.d.ts.map +1 -0
  340. package/dist/core/shaders/LinearWipe/index.js +5 -0
  341. package/dist/core/shaders/LiquidMetal/index.js +5 -5
  342. package/dist/core/shaders/Liquify/index.js +3 -3
  343. package/dist/core/shaders/MagneticFilings/index.d.ts +113 -0
  344. package/dist/core/shaders/MagneticFilings/index.d.ts.map +1 -0
  345. package/dist/core/shaders/MagneticFilings/index.js +5 -0
  346. package/dist/core/shaders/Marble/index.js +3 -3
  347. package/dist/core/shaders/Mirror/index.js +3 -3
  348. package/dist/core/shaders/MultiPointGradient/index.js +3 -3
  349. package/dist/core/shaders/Neon/index.js +4 -4
  350. package/dist/core/shaders/NoiseDissolve/index.d.ts +40 -0
  351. package/dist/core/shaders/NoiseDissolve/index.d.ts.map +1 -0
  352. package/dist/core/shaders/NoiseDissolve/index.js +5 -0
  353. package/dist/core/shaders/ObjectTracker/index.js +4 -4
  354. package/dist/core/shaders/PagePeel/index.js +3 -3
  355. package/dist/core/shaders/Paper/index.js +3 -3
  356. package/dist/core/shaders/Parallelogram/index.js +3 -3
  357. package/dist/core/shaders/ParticleField/index.d.ts +134 -0
  358. package/dist/core/shaders/ParticleField/index.d.ts.map +1 -0
  359. package/dist/core/shaders/ParticleField/index.js +5 -0
  360. package/dist/core/shaders/ParticleFlow/index.d.ts +124 -0
  361. package/dist/core/shaders/ParticleFlow/index.d.ts.map +1 -0
  362. package/dist/core/shaders/ParticleFlow/index.js +5 -0
  363. package/dist/core/shaders/Particles/index.d.ts +14 -4
  364. package/dist/core/shaders/Particles/index.d.ts.map +1 -1
  365. package/dist/core/shaders/Particles/index.js +5 -5
  366. package/dist/core/shaders/PerlinNoise/index.js +4 -4
  367. package/dist/core/shaders/Perspective/index.js +3 -3
  368. package/dist/core/shaders/PixelSort/index.js +3 -3
  369. package/dist/core/shaders/PixelThrow/index.js +3 -3
  370. package/dist/core/shaders/Pixelate/index.js +3 -3
  371. package/dist/core/shaders/Plasma/index.js +3 -3
  372. package/dist/core/shaders/Plastic/index.js +5 -5
  373. package/dist/core/shaders/PolarCoordinates/index.js +3 -3
  374. package/dist/core/shaders/Polygon/index.js +3 -3
  375. package/dist/core/shaders/Posterize/index.js +3 -3
  376. package/dist/core/shaders/Prism/index.js +3 -3
  377. package/dist/core/shaders/ProgressiveBlur/index.js +3 -3
  378. package/dist/core/shaders/RadialGradient/index.js +3 -3
  379. package/dist/core/shaders/RadialWipe/index.d.ts +49 -0
  380. package/dist/core/shaders/RadialWipe/index.d.ts.map +1 -0
  381. package/dist/core/shaders/RadialWipe/index.js +5 -0
  382. package/dist/core/shaders/RandomBars/index.d.ts +40 -0
  383. package/dist/core/shaders/RandomBars/index.d.ts.map +1 -0
  384. package/dist/core/shaders/RandomBars/index.js +5 -0
  385. package/dist/core/shaders/ReactionDiffusion/index.js +3 -3
  386. package/dist/core/shaders/RectangularCoordinates/index.js +3 -3
  387. package/dist/core/shaders/ReflectivePlane/index.js +3 -3
  388. package/dist/core/shaders/Repeater/index.js +3 -3
  389. package/dist/core/shaders/Ring/index.js +3 -3
  390. package/dist/core/shaders/RippleWipe/index.d.ts +42 -0
  391. package/dist/core/shaders/RippleWipe/index.d.ts.map +1 -0
  392. package/dist/core/shaders/RippleWipe/index.js +5 -0
  393. package/dist/core/shaders/Ripples/index.js +3 -3
  394. package/dist/core/shaders/RoundedRect/index.js +3 -3
  395. package/dist/core/shaders/Saturation/index.js +3 -3
  396. package/dist/core/shaders/Scratches/index.js +4 -4
  397. package/dist/core/shaders/Sharpness/index.js +3 -3
  398. package/dist/core/shaders/Shatter/index.js +3 -3
  399. package/dist/core/shaders/SimplexNoise/index.js +3 -3
  400. package/dist/core/shaders/SineWave/index.js +3 -3
  401. package/dist/core/shaders/SliceWipe/index.d.ts +27 -0
  402. package/dist/core/shaders/SliceWipe/index.d.ts.map +1 -0
  403. package/dist/core/shaders/SliceWipe/index.js +5 -0
  404. package/dist/core/shaders/Smoke/index.js +3 -3
  405. package/dist/core/shaders/SmokeFill/index.js +5 -5
  406. package/dist/core/shaders/SmokeFlow/index.js +3 -3
  407. package/dist/core/shaders/Solarize/index.js +3 -3
  408. package/dist/core/shaders/SolidColor/index.js +1 -1
  409. package/dist/core/shaders/Spherize/index.js +3 -3
  410. package/dist/core/shaders/Spiral/index.js +3 -3
  411. package/dist/core/shaders/Star/index.js +3 -3
  412. package/dist/core/shaders/Stone/index.js +3 -3
  413. package/dist/core/shaders/Strands/index.js +3 -3
  414. package/dist/core/shaders/Stretch/index.js +3 -3
  415. package/dist/core/shaders/Stripes/index.js +3 -3
  416. package/dist/core/shaders/StudioBackground/index.js +3 -3
  417. package/dist/core/shaders/SunBurst/index.js +3 -3
  418. package/dist/core/shaders/Surface3D/index.js +3 -3
  419. package/dist/core/shaders/Swirl/index.js +3 -3
  420. package/dist/core/shaders/Teardrop/index.js +3 -3
  421. package/dist/core/shaders/Text/index.js +4 -4
  422. package/dist/core/shaders/ThinFilm/index.js +4 -4
  423. package/dist/core/shaders/TiltShift/index.js +3 -3
  424. package/dist/core/shaders/TimeTrail/index.d.ts +100 -0
  425. package/dist/core/shaders/TimeTrail/index.d.ts.map +1 -0
  426. package/dist/core/shaders/TimeTrail/index.js +5 -0
  427. package/dist/core/shaders/Tint/index.js +3 -3
  428. package/dist/core/shaders/Trapezoid/index.js +3 -3
  429. package/dist/core/shaders/TriangularGrid/index.js +3 -3
  430. package/dist/core/shaders/Tritone/index.js +3 -3
  431. package/dist/core/shaders/Truchet/index.js +3 -3
  432. package/dist/core/shaders/Twirl/index.js +3 -3
  433. package/dist/core/shaders/VHS/index.js +3 -3
  434. package/dist/core/shaders/VenetianBlinds/index.d.ts +40 -0
  435. package/dist/core/shaders/VenetianBlinds/index.d.ts.map +1 -0
  436. package/dist/core/shaders/VenetianBlinds/index.js +5 -0
  437. package/dist/core/shaders/Vesica/index.js +3 -3
  438. package/dist/core/shaders/Vibrance/index.js +3 -3
  439. package/dist/core/shaders/VideoTexture/index.js +3 -3
  440. package/dist/core/shaders/Vignette/index.js +3 -3
  441. package/dist/core/shaders/Voronoi/index.js +3 -3
  442. package/dist/core/shaders/Water/index.js +5 -5
  443. package/dist/core/shaders/Watercolor/index.js +3 -3
  444. package/dist/core/shaders/WaveDistortion/index.js +3 -3
  445. package/dist/core/shaders/WaveletNoise/index.js +4 -4
  446. package/dist/core/shaders/Weave/index.js +3 -3
  447. package/dist/core/shaders/WebcamTexture/index.js +3 -3
  448. package/dist/core/shaders/Wool/index.js +3 -3
  449. package/dist/core/shaders/WorleyNoise/index.js +3 -3
  450. package/dist/core/shaders/ZoomBlur/index.js +3 -3
  451. package/dist/core/{shapeEffectBounds-BglTGD4B.js → shapeEffectBounds-DRyn6AvG.js} +1 -1
  452. package/dist/core/types.d.ts +5 -1
  453. package/dist/core/types.d.ts.map +1 -1
  454. package/dist/js/bundle.js +177 -177
  455. package/dist/js/createShader.d.ts.map +1 -1
  456. package/dist/js/createShader.js +2 -1
  457. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  458. package/dist/js/utils/generatePresetCode.js +285 -12
  459. package/dist/react/BarnDoors.js +220 -0
  460. package/dist/react/Bend.js +220 -0
  461. package/dist/react/BlockDissolve.js +220 -0
  462. package/dist/react/Boids.js +220 -0
  463. package/dist/react/BokehBlur.js +220 -0
  464. package/dist/react/CheckerWipe.js +220 -0
  465. package/dist/react/DiamondWipe.js +220 -0
  466. package/dist/react/DisplacementMap.js +220 -0
  467. package/dist/react/FilmStock.js +220 -0
  468. package/dist/react/HTMLInCanvas.js +220 -0
  469. package/dist/react/InkFlow.js +220 -0
  470. package/dist/react/IrisWipe.js +220 -0
  471. package/dist/react/{DOMTexture.js → LinearWipe.js} +3 -3
  472. package/dist/react/MagneticFilings.js +220 -0
  473. package/dist/react/NoiseDissolve.js +220 -0
  474. package/dist/react/ParticleField.js +220 -0
  475. package/dist/react/ParticleFlow.js +220 -0
  476. package/dist/react/Preview.js +24 -1
  477. package/dist/react/RadialWipe.js +220 -0
  478. package/dist/react/RandomBars.js +220 -0
  479. package/dist/react/RippleWipe.js +220 -0
  480. package/dist/react/Shader.js +1 -1
  481. package/dist/react/SliceWipe.js +220 -0
  482. package/dist/react/TimeTrail.js +220 -0
  483. package/dist/react/VenetianBlinds.js +220 -0
  484. package/dist/react/bundle.js +164 -164
  485. package/dist/react/components/BarnDoors.d.ts +36 -0
  486. package/dist/react/components/BarnDoors.d.ts.map +1 -0
  487. package/dist/react/components/Bend.d.ts +36 -0
  488. package/dist/react/components/Bend.d.ts.map +1 -0
  489. package/dist/react/components/BlockDissolve.d.ts +36 -0
  490. package/dist/react/components/BlockDissolve.d.ts.map +1 -0
  491. package/dist/react/components/{DOMTexture.d.ts → Boids.d.ts} +2 -2
  492. package/dist/react/components/Boids.d.ts.map +1 -0
  493. package/dist/react/components/BokehBlur.d.ts +38 -0
  494. package/dist/react/components/BokehBlur.d.ts.map +1 -0
  495. package/dist/react/components/CheckerWipe.d.ts +36 -0
  496. package/dist/react/components/CheckerWipe.d.ts.map +1 -0
  497. package/dist/react/components/DiamondWipe.d.ts +36 -0
  498. package/dist/react/components/DiamondWipe.d.ts.map +1 -0
  499. package/dist/react/components/DisplacementMap.d.ts +35 -0
  500. package/dist/react/components/DisplacementMap.d.ts.map +1 -0
  501. package/dist/react/components/FilmStock.d.ts +36 -0
  502. package/dist/react/components/FilmStock.d.ts.map +1 -0
  503. package/dist/react/components/FloatingParticles.d.ts +3 -3
  504. package/dist/react/components/FloatingParticles.d.ts.map +1 -1
  505. package/dist/react/components/HTMLInCanvas.d.ts +32 -0
  506. package/dist/react/components/HTMLInCanvas.d.ts.map +1 -0
  507. package/dist/react/components/InkFlow.d.ts +32 -0
  508. package/dist/react/components/InkFlow.d.ts.map +1 -0
  509. package/dist/react/components/IrisWipe.d.ts +36 -0
  510. package/dist/react/components/IrisWipe.d.ts.map +1 -0
  511. package/dist/react/components/LinearWipe.d.ts +36 -0
  512. package/dist/react/components/LinearWipe.d.ts.map +1 -0
  513. package/dist/react/components/MagneticFilings.d.ts +32 -0
  514. package/dist/react/components/MagneticFilings.d.ts.map +1 -0
  515. package/dist/react/components/NoiseDissolve.d.ts +37 -0
  516. package/dist/react/components/NoiseDissolve.d.ts.map +1 -0
  517. package/dist/react/components/ParticleField.d.ts +42 -0
  518. package/dist/react/components/ParticleField.d.ts.map +1 -0
  519. package/dist/react/components/ParticleFlow.d.ts +32 -0
  520. package/dist/react/components/ParticleFlow.d.ts.map +1 -0
  521. package/dist/react/components/RadialWipe.d.ts +37 -0
  522. package/dist/react/components/RadialWipe.d.ts.map +1 -0
  523. package/dist/react/components/RandomBars.d.ts +37 -0
  524. package/dist/react/components/RandomBars.d.ts.map +1 -0
  525. package/dist/react/components/RippleWipe.d.ts +37 -0
  526. package/dist/react/components/RippleWipe.d.ts.map +1 -0
  527. package/dist/react/components/SliceWipe.d.ts +36 -0
  528. package/dist/react/components/SliceWipe.d.ts.map +1 -0
  529. package/dist/react/components/TimeTrail.d.ts +40 -0
  530. package/dist/react/components/TimeTrail.d.ts.map +1 -0
  531. package/dist/react/components/VenetianBlinds.d.ts +37 -0
  532. package/dist/react/components/VenetianBlinds.d.ts.map +1 -0
  533. package/dist/react/engine/Preview.d.ts.map +1 -1
  534. package/dist/react/index.d.ts +25 -1
  535. package/dist/react/index.d.ts.map +1 -1
  536. package/dist/react/index.js +24 -2
  537. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  538. package/dist/react/utils/generatePresetCode.js +286 -13
  539. package/dist/registry.d.ts +2 -0
  540. package/dist/registry.js +18995 -13551
  541. package/dist/solid/components/BarnDoors.d.ts +33 -0
  542. package/dist/solid/components/BarnDoors.d.ts.map +1 -0
  543. package/dist/solid/components/{DOMTexture.js → BarnDoors.js} +1 -1
  544. package/dist/solid/components/Bend.d.ts +33 -0
  545. package/dist/solid/components/Bend.d.ts.map +1 -0
  546. package/dist/solid/components/Bend.js +228 -0
  547. package/dist/solid/components/BlockDissolve.d.ts +33 -0
  548. package/dist/solid/components/BlockDissolve.d.ts.map +1 -0
  549. package/dist/solid/components/BlockDissolve.js +228 -0
  550. package/dist/solid/components/{DOMTexture.d.ts → Boids.d.ts} +2 -2
  551. package/dist/solid/components/Boids.d.ts.map +1 -0
  552. package/dist/solid/components/Boids.js +228 -0
  553. package/dist/solid/components/BokehBlur.d.ts +35 -0
  554. package/dist/solid/components/BokehBlur.d.ts.map +1 -0
  555. package/dist/solid/components/BokehBlur.js +228 -0
  556. package/dist/solid/components/CheckerWipe.d.ts +33 -0
  557. package/dist/solid/components/CheckerWipe.d.ts.map +1 -0
  558. package/dist/solid/components/CheckerWipe.js +228 -0
  559. package/dist/solid/components/DiamondWipe.d.ts +33 -0
  560. package/dist/solid/components/DiamondWipe.d.ts.map +1 -0
  561. package/dist/solid/components/DiamondWipe.js +228 -0
  562. package/dist/solid/components/DisplacementMap.d.ts +32 -0
  563. package/dist/solid/components/DisplacementMap.d.ts.map +1 -0
  564. package/dist/solid/components/DisplacementMap.js +228 -0
  565. package/dist/solid/components/FilmStock.d.ts +33 -0
  566. package/dist/solid/components/FilmStock.d.ts.map +1 -0
  567. package/dist/solid/components/FilmStock.js +228 -0
  568. package/dist/solid/components/FloatingParticles.d.ts +3 -3
  569. package/dist/solid/components/FloatingParticles.d.ts.map +1 -1
  570. package/dist/solid/components/HTMLInCanvas.d.ts +29 -0
  571. package/dist/solid/components/HTMLInCanvas.d.ts.map +1 -0
  572. package/dist/solid/components/HTMLInCanvas.js +228 -0
  573. package/dist/solid/components/InkFlow.d.ts +29 -0
  574. package/dist/solid/components/InkFlow.d.ts.map +1 -0
  575. package/dist/solid/components/InkFlow.js +228 -0
  576. package/dist/solid/components/IrisWipe.d.ts +33 -0
  577. package/dist/solid/components/IrisWipe.d.ts.map +1 -0
  578. package/dist/solid/components/IrisWipe.js +228 -0
  579. package/dist/solid/components/LinearWipe.d.ts +33 -0
  580. package/dist/solid/components/LinearWipe.d.ts.map +1 -0
  581. package/dist/solid/components/LinearWipe.js +228 -0
  582. package/dist/solid/components/MagneticFilings.d.ts +29 -0
  583. package/dist/solid/components/MagneticFilings.d.ts.map +1 -0
  584. package/dist/solid/components/MagneticFilings.js +228 -0
  585. package/dist/solid/components/NoiseDissolve.d.ts +34 -0
  586. package/dist/solid/components/NoiseDissolve.d.ts.map +1 -0
  587. package/dist/solid/components/NoiseDissolve.js +228 -0
  588. package/dist/solid/components/ParticleField.d.ts +39 -0
  589. package/dist/solid/components/ParticleField.d.ts.map +1 -0
  590. package/dist/solid/components/ParticleField.js +228 -0
  591. package/dist/solid/components/ParticleFlow.d.ts +29 -0
  592. package/dist/solid/components/ParticleFlow.d.ts.map +1 -0
  593. package/dist/solid/components/ParticleFlow.js +228 -0
  594. package/dist/solid/components/RadialWipe.d.ts +34 -0
  595. package/dist/solid/components/RadialWipe.d.ts.map +1 -0
  596. package/dist/solid/components/RadialWipe.js +228 -0
  597. package/dist/solid/components/RandomBars.d.ts +34 -0
  598. package/dist/solid/components/RandomBars.d.ts.map +1 -0
  599. package/dist/solid/components/RandomBars.js +228 -0
  600. package/dist/solid/components/RippleWipe.d.ts +34 -0
  601. package/dist/solid/components/RippleWipe.d.ts.map +1 -0
  602. package/dist/solid/components/RippleWipe.js +228 -0
  603. package/dist/solid/components/SliceWipe.d.ts +33 -0
  604. package/dist/solid/components/SliceWipe.d.ts.map +1 -0
  605. package/dist/solid/components/SliceWipe.js +228 -0
  606. package/dist/solid/components/TimeTrail.d.ts +37 -0
  607. package/dist/solid/components/TimeTrail.d.ts.map +1 -0
  608. package/dist/solid/components/TimeTrail.js +228 -0
  609. package/dist/solid/components/VenetianBlinds.d.ts +34 -0
  610. package/dist/solid/components/VenetianBlinds.d.ts.map +1 -0
  611. package/dist/solid/components/VenetianBlinds.js +228 -0
  612. package/dist/solid/engine/Preview.d.ts.map +1 -1
  613. package/dist/solid/engine/Preview.js +351 -306
  614. package/dist/solid/engine/Shader.js +1 -1
  615. package/dist/solid/index.d.ts +25 -1
  616. package/dist/solid/index.d.ts.map +1 -1
  617. package/dist/solid/index.js +373 -328
  618. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  619. package/dist/solid/utils/generatePresetCode.js +286 -13
  620. package/dist/svelte/components/BarnDoors.svelte.d.ts +23 -0
  621. package/dist/svelte/components/Bend.svelte.d.ts +23 -0
  622. package/dist/svelte/components/BlockDissolve.svelte.d.ts +23 -0
  623. package/dist/svelte/components/{DOMTexture.svelte.d.ts → Boids.svelte.d.ts} +4 -4
  624. package/dist/svelte/components/BokehBlur.svelte.d.ts +25 -0
  625. package/dist/svelte/components/CheckerWipe.svelte.d.ts +23 -0
  626. package/dist/svelte/components/DiamondWipe.svelte.d.ts +23 -0
  627. package/dist/svelte/components/DisplacementMap.svelte.d.ts +22 -0
  628. package/dist/svelte/components/FilmStock.svelte.d.ts +23 -0
  629. package/dist/svelte/components/FloatingParticles.svelte.d.ts +2 -2
  630. package/dist/svelte/components/HTMLInCanvas.svelte.d.ts +20 -0
  631. package/dist/svelte/components/InkFlow.svelte.d.ts +20 -0
  632. package/dist/svelte/components/IrisWipe.svelte.d.ts +23 -0
  633. package/dist/svelte/components/LinearWipe.svelte.d.ts +23 -0
  634. package/dist/svelte/components/MagneticFilings.svelte.d.ts +20 -0
  635. package/dist/svelte/components/NoiseDissolve.svelte.d.ts +24 -0
  636. package/dist/svelte/components/ParticleField.svelte.d.ts +29 -0
  637. package/dist/svelte/components/ParticleFlow.svelte.d.ts +20 -0
  638. package/dist/svelte/components/RadialWipe.svelte.d.ts +24 -0
  639. package/dist/svelte/components/RandomBars.svelte.d.ts +24 -0
  640. package/dist/svelte/components/RippleWipe.svelte.d.ts +24 -0
  641. package/dist/svelte/components/SliceWipe.svelte.d.ts +23 -0
  642. package/dist/svelte/components/TimeTrail.svelte.d.ts +27 -0
  643. package/dist/svelte/components/VenetianBlinds.svelte.d.ts +24 -0
  644. package/dist/svelte/index.d.ts +25 -1
  645. package/dist/svelte/index.js +5887 -1420
  646. package/dist/svelte/source/components/AngularBlur.svelte +1 -1
  647. package/dist/svelte/source/components/Arc.svelte +1 -1
  648. package/dist/svelte/source/components/Ascii.svelte +1 -1
  649. package/dist/svelte/source/components/Aurora.svelte +1 -1
  650. package/dist/svelte/source/components/BarShift.svelte +1 -1
  651. package/dist/svelte/source/components/BarnDoors.svelte +342 -0
  652. package/dist/svelte/source/components/Beam.svelte +1 -1
  653. package/dist/svelte/source/components/Bend.svelte +342 -0
  654. package/dist/svelte/source/components/Blob.svelte +1 -1
  655. package/dist/svelte/source/components/BlockDissolve.svelte +342 -0
  656. package/dist/svelte/source/components/BlockNoise.svelte +1 -1
  657. package/dist/svelte/source/components/BlueNoise.svelte +1 -1
  658. package/dist/svelte/source/components/Blur.svelte +1 -1
  659. package/dist/svelte/source/components/{DOMTexture.svelte → Boids.svelte} +2 -2
  660. package/dist/svelte/source/components/BokehBlur.svelte +344 -0
  661. package/dist/svelte/source/components/BrickPattern.svelte +1 -1
  662. package/dist/svelte/source/components/BrightnessContrast.svelte +1 -1
  663. package/dist/svelte/source/components/BrushedMetal.svelte +1 -1
  664. package/dist/svelte/source/components/Bulge.svelte +1 -1
  665. package/dist/svelte/source/components/CRTScreen.svelte +1 -1
  666. package/dist/svelte/source/components/CarbonFiber.svelte +1 -1
  667. package/dist/svelte/source/components/Chalkboard.svelte +1 -1
  668. package/dist/svelte/source/components/ChannelBlur.svelte +1 -1
  669. package/dist/svelte/source/components/CheckerWipe.svelte +342 -0
  670. package/dist/svelte/source/components/Checkerboard.svelte +1 -1
  671. package/dist/svelte/source/components/Chevron.svelte +1 -1
  672. package/dist/svelte/source/components/ChromaFlow.svelte +1 -1
  673. package/dist/svelte/source/components/ChromaticAberration.svelte +1 -1
  674. package/dist/svelte/source/components/Circle.svelte +1 -1
  675. package/dist/svelte/source/components/ColorWheel.svelte +1 -1
  676. package/dist/svelte/source/components/CompressionArtifacts.svelte +1 -1
  677. package/dist/svelte/source/components/ConcentricSpin.svelte +1 -1
  678. package/dist/svelte/source/components/ConicGradient.svelte +1 -1
  679. package/dist/svelte/source/components/ContourLines.svelte +1 -1
  680. package/dist/svelte/source/components/CornerPin.svelte +1 -1
  681. package/dist/svelte/source/components/Crescent.svelte +1 -1
  682. package/dist/svelte/source/components/Cross.svelte +1 -1
  683. package/dist/svelte/source/components/Crystal.svelte +1 -1
  684. package/dist/svelte/source/components/CurlNoise.svelte +1 -1
  685. package/dist/svelte/source/components/CursorRipples.svelte +1 -1
  686. package/dist/svelte/source/components/CursorTrail.svelte +1 -1
  687. package/dist/svelte/source/components/DataMosh.svelte +1 -1
  688. package/dist/svelte/source/components/DiamondGradient.svelte +1 -1
  689. package/dist/svelte/source/components/DiamondWipe.svelte +342 -0
  690. package/dist/svelte/source/components/DiffuseBlur.svelte +1 -1
  691. package/dist/svelte/source/components/DisplacementMap.svelte +341 -0
  692. package/dist/svelte/source/components/Dither.svelte +1 -1
  693. package/dist/svelte/source/components/DotGrid.svelte +1 -1
  694. package/dist/svelte/source/components/DropShadow.svelte +1 -1
  695. package/dist/svelte/source/components/Duotone.svelte +1 -1
  696. package/dist/svelte/source/components/Ellipse.svelte +1 -1
  697. package/dist/svelte/source/components/Emboss.svelte +1 -1
  698. package/dist/svelte/source/components/Engraving.svelte +1 -1
  699. package/dist/svelte/source/components/ErosionNoise.svelte +1 -1
  700. package/dist/svelte/source/components/Exposure.svelte +1 -1
  701. package/dist/svelte/source/components/FallingLines.svelte +1 -1
  702. package/dist/svelte/source/components/FilmGrain.svelte +1 -1
  703. package/dist/svelte/source/components/FilmStock.svelte +342 -0
  704. package/dist/svelte/source/components/Flip.svelte +1 -1
  705. package/dist/svelte/source/components/FloatingParticles.svelte +3 -3
  706. package/dist/svelte/source/components/FlowField.svelte +1 -1
  707. package/dist/svelte/source/components/Flower.svelte +1 -1
  708. package/dist/svelte/source/components/FlowingGradient.svelte +1 -1
  709. package/dist/svelte/source/components/FlutedGlass.svelte +1 -1
  710. package/dist/svelte/source/components/Fog.svelte +1 -1
  711. package/dist/svelte/source/components/Form3D.svelte +1 -1
  712. package/dist/svelte/source/components/FractalNoise.svelte +1 -1
  713. package/dist/svelte/source/components/Frost.svelte +1 -1
  714. package/dist/svelte/source/components/GaborNoise.svelte +1 -1
  715. package/dist/svelte/source/components/Glass.svelte +1 -1
  716. package/dist/svelte/source/components/GlassTiles.svelte +1 -1
  717. package/dist/svelte/source/components/Glitch.svelte +1 -1
  718. package/dist/svelte/source/components/Glow.svelte +1 -1
  719. package/dist/svelte/source/components/Godrays.svelte +1 -1
  720. package/dist/svelte/source/components/Goo.svelte +1 -1
  721. package/dist/svelte/source/components/GradientMap.svelte +1 -1
  722. package/dist/svelte/source/components/Grayscale.svelte +1 -1
  723. package/dist/svelte/source/components/Grid.svelte +1 -1
  724. package/dist/svelte/source/components/GridDistortion.svelte +1 -1
  725. package/dist/svelte/source/components/Group.svelte +1 -1
  726. package/dist/svelte/source/components/HTMLInCanvas.svelte +339 -0
  727. package/dist/svelte/source/components/Halftone.svelte +1 -1
  728. package/dist/svelte/source/components/Heart.svelte +1 -1
  729. package/dist/svelte/source/components/Heatmap.svelte +1 -1
  730. package/dist/svelte/source/components/HexGrid.svelte +1 -1
  731. package/dist/svelte/source/components/Hologram.svelte +1 -1
  732. package/dist/svelte/source/components/Holographic.svelte +1 -1
  733. package/dist/svelte/source/components/HueShift.svelte +1 -1
  734. package/dist/svelte/source/components/ImageTexture.svelte +1 -1
  735. package/dist/svelte/source/components/InkFlow.svelte +339 -0
  736. package/dist/svelte/source/components/Invert.svelte +1 -1
  737. package/dist/svelte/source/components/IrisWipe.svelte +342 -0
  738. package/dist/svelte/source/components/IsometricCubes.svelte +1 -1
  739. package/dist/svelte/source/components/Kaleidoscope.svelte +1 -1
  740. package/dist/svelte/source/components/KeyFrames.svelte +1 -1
  741. package/dist/svelte/source/components/LensFlare.svelte +1 -1
  742. package/dist/svelte/source/components/LightEdge.svelte +1 -1
  743. package/dist/svelte/source/components/LightLeak.svelte +1 -1
  744. package/dist/svelte/source/components/LinearBlur.svelte +1 -1
  745. package/dist/svelte/source/components/LinearGradient.svelte +1 -1
  746. package/dist/svelte/source/components/LinearWipe.svelte +342 -0
  747. package/dist/svelte/source/components/LiquidMetal.svelte +1 -1
  748. package/dist/svelte/source/components/Liquify.svelte +1 -1
  749. package/dist/svelte/source/components/MagneticFilings.svelte +339 -0
  750. package/dist/svelte/source/components/Marble.svelte +1 -1
  751. package/dist/svelte/source/components/Mirror.svelte +1 -1
  752. package/dist/svelte/source/components/MultiPointGradient.svelte +1 -1
  753. package/dist/svelte/source/components/Neon.svelte +1 -1
  754. package/dist/svelte/source/components/NoiseDissolve.svelte +343 -0
  755. package/dist/svelte/source/components/ObjectTracker.svelte +1 -1
  756. package/dist/svelte/source/components/PagePeel.svelte +1 -1
  757. package/dist/svelte/source/components/Paper.svelte +1 -1
  758. package/dist/svelte/source/components/Parallelogram.svelte +1 -1
  759. package/dist/svelte/source/components/ParticleField.svelte +348 -0
  760. package/dist/svelte/source/components/ParticleFlow.svelte +339 -0
  761. package/dist/svelte/source/components/Particles.svelte +1 -1
  762. package/dist/svelte/source/components/PerlinNoise.svelte +1 -1
  763. package/dist/svelte/source/components/Perspective.svelte +1 -1
  764. package/dist/svelte/source/components/PixelSort.svelte +1 -1
  765. package/dist/svelte/source/components/PixelThrow.svelte +1 -1
  766. package/dist/svelte/source/components/Pixelate.svelte +1 -1
  767. package/dist/svelte/source/components/Plasma.svelte +1 -1
  768. package/dist/svelte/source/components/Plastic.svelte +1 -1
  769. package/dist/svelte/source/components/PolarCoordinates.svelte +1 -1
  770. package/dist/svelte/source/components/Polygon.svelte +1 -1
  771. package/dist/svelte/source/components/Posterize.svelte +1 -1
  772. package/dist/svelte/source/components/Prism.svelte +1 -1
  773. package/dist/svelte/source/components/ProgressiveBlur.svelte +1 -1
  774. package/dist/svelte/source/components/RadialGradient.svelte +1 -1
  775. package/dist/svelte/source/components/RadialWipe.svelte +343 -0
  776. package/dist/svelte/source/components/RandomBars.svelte +343 -0
  777. package/dist/svelte/source/components/ReactionDiffusion.svelte +1 -1
  778. package/dist/svelte/source/components/RectangularCoordinates.svelte +1 -1
  779. package/dist/svelte/source/components/ReflectivePlane.svelte +1 -1
  780. package/dist/svelte/source/components/Repeater.svelte +1 -1
  781. package/dist/svelte/source/components/Ring.svelte +1 -1
  782. package/dist/svelte/source/components/RippleWipe.svelte +343 -0
  783. package/dist/svelte/source/components/Ripples.svelte +1 -1
  784. package/dist/svelte/source/components/RoundedRect.svelte +1 -1
  785. package/dist/svelte/source/components/Saturation.svelte +1 -1
  786. package/dist/svelte/source/components/Scratches.svelte +1 -1
  787. package/dist/svelte/source/components/Sharpness.svelte +1 -1
  788. package/dist/svelte/source/components/Shatter.svelte +1 -1
  789. package/dist/svelte/source/components/SimplexNoise.svelte +1 -1
  790. package/dist/svelte/source/components/SineWave.svelte +1 -1
  791. package/dist/svelte/source/components/SliceWipe.svelte +342 -0
  792. package/dist/svelte/source/components/Smoke.svelte +1 -1
  793. package/dist/svelte/source/components/SmokeFill.svelte +1 -1
  794. package/dist/svelte/source/components/SmokeFlow.svelte +1 -1
  795. package/dist/svelte/source/components/Solarize.svelte +1 -1
  796. package/dist/svelte/source/components/SolidColor.svelte +1 -1
  797. package/dist/svelte/source/components/Spherize.svelte +1 -1
  798. package/dist/svelte/source/components/Spiral.svelte +1 -1
  799. package/dist/svelte/source/components/Star.svelte +1 -1
  800. package/dist/svelte/source/components/Stone.svelte +1 -1
  801. package/dist/svelte/source/components/Strands.svelte +1 -1
  802. package/dist/svelte/source/components/Stretch.svelte +1 -1
  803. package/dist/svelte/source/components/Stripes.svelte +1 -1
  804. package/dist/svelte/source/components/StudioBackground.svelte +1 -1
  805. package/dist/svelte/source/components/SunBurst.svelte +1 -1
  806. package/dist/svelte/source/components/Surface3D.svelte +1 -1
  807. package/dist/svelte/source/components/Swirl.svelte +1 -1
  808. package/dist/svelte/source/components/Teardrop.svelte +1 -1
  809. package/dist/svelte/source/components/Text.svelte +1 -1
  810. package/dist/svelte/source/components/ThinFilm.svelte +1 -1
  811. package/dist/svelte/source/components/TiltShift.svelte +1 -1
  812. package/dist/svelte/source/components/TimeTrail.svelte +346 -0
  813. package/dist/svelte/source/components/Tint.svelte +1 -1
  814. package/dist/svelte/source/components/Trapezoid.svelte +1 -1
  815. package/dist/svelte/source/components/TriangularGrid.svelte +1 -1
  816. package/dist/svelte/source/components/Tritone.svelte +1 -1
  817. package/dist/svelte/source/components/Truchet.svelte +1 -1
  818. package/dist/svelte/source/components/Twirl.svelte +1 -1
  819. package/dist/svelte/source/components/VHS.svelte +1 -1
  820. package/dist/svelte/source/components/VenetianBlinds.svelte +343 -0
  821. package/dist/svelte/source/components/Vesica.svelte +1 -1
  822. package/dist/svelte/source/components/Vibrance.svelte +1 -1
  823. package/dist/svelte/source/components/VideoTexture.svelte +1 -1
  824. package/dist/svelte/source/components/Vignette.svelte +1 -1
  825. package/dist/svelte/source/components/Voronoi.svelte +1 -1
  826. package/dist/svelte/source/components/Water.svelte +1 -1
  827. package/dist/svelte/source/components/Watercolor.svelte +1 -1
  828. package/dist/svelte/source/components/WaveDistortion.svelte +1 -1
  829. package/dist/svelte/source/components/WaveletNoise.svelte +1 -1
  830. package/dist/svelte/source/components/Weave.svelte +1 -1
  831. package/dist/svelte/source/components/WebcamTexture.svelte +1 -1
  832. package/dist/svelte/source/components/Wool.svelte +1 -1
  833. package/dist/svelte/source/components/WorleyNoise.svelte +1 -1
  834. package/dist/svelte/source/components/ZoomBlur.svelte +1 -1
  835. package/dist/svelte/source/engine/Preview.svelte +47 -2
  836. package/dist/svelte/source/index.js +25 -1
  837. package/dist/svelte/utils/generatePresetCode.js +285 -12
  838. package/dist/vue/BarnDoors.js +3 -0
  839. package/dist/vue/BarnDoors.vue_vue_type_script_setup_true_lang.js +221 -0
  840. package/dist/vue/Bend.js +3 -0
  841. package/dist/vue/Bend.vue_vue_type_script_setup_true_lang.js +221 -0
  842. package/dist/vue/BlockDissolve.js +3 -0
  843. package/dist/vue/BlockDissolve.vue_vue_type_script_setup_true_lang.js +221 -0
  844. package/dist/vue/Boids.js +3 -0
  845. package/dist/vue/Boids.vue_vue_type_script_setup_true_lang.js +232 -0
  846. package/dist/vue/BokehBlur.js +3 -0
  847. package/dist/vue/BokehBlur.vue_vue_type_script_setup_true_lang.js +224 -0
  848. package/dist/vue/CheckerWipe.js +3 -0
  849. package/dist/vue/CheckerWipe.vue_vue_type_script_setup_true_lang.js +221 -0
  850. package/dist/vue/DiamondWipe.js +3 -0
  851. package/dist/vue/DiamondWipe.vue_vue_type_script_setup_true_lang.js +221 -0
  852. package/dist/vue/DisplacementMap.js +3 -0
  853. package/dist/vue/DisplacementMap.vue_vue_type_script_setup_true_lang.js +222 -0
  854. package/dist/vue/FilmStock.js +3 -0
  855. package/dist/vue/FilmStock.vue_vue_type_script_setup_true_lang.js +222 -0
  856. package/dist/vue/FloatingParticles.vue_vue_type_script_setup_true_lang.js +6 -5
  857. package/dist/vue/HTMLInCanvas.js +3 -0
  858. package/dist/vue/{DOMTexture.vue_vue_type_script_setup_true_lang.js → HTMLInCanvas.vue_vue_type_script_setup_true_lang.js} +4 -4
  859. package/dist/vue/InkFlow.js +3 -0
  860. package/dist/vue/InkFlow.vue_vue_type_script_setup_true_lang.js +229 -0
  861. package/dist/vue/IrisWipe.js +3 -0
  862. package/dist/vue/IrisWipe.vue_vue_type_script_setup_true_lang.js +221 -0
  863. package/dist/vue/LinearWipe.js +3 -0
  864. package/dist/vue/LinearWipe.vue_vue_type_script_setup_true_lang.js +221 -0
  865. package/dist/vue/MagneticFilings.js +3 -0
  866. package/dist/vue/MagneticFilings.vue_vue_type_script_setup_true_lang.js +228 -0
  867. package/dist/vue/NoiseDissolve.js +3 -0
  868. package/dist/vue/NoiseDissolve.vue_vue_type_script_setup_true_lang.js +222 -0
  869. package/dist/vue/ParticleField.js +3 -0
  870. package/dist/vue/ParticleField.vue_vue_type_script_setup_true_lang.js +233 -0
  871. package/dist/vue/ParticleFlow.js +3 -0
  872. package/dist/vue/ParticleFlow.vue_vue_type_script_setup_true_lang.js +229 -0
  873. package/dist/vue/Particles.vue_vue_type_script_setup_true_lang.js +1 -0
  874. package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +47 -2
  875. package/dist/vue/RadialWipe.js +3 -0
  876. package/dist/vue/RadialWipe.vue_vue_type_script_setup_true_lang.js +223 -0
  877. package/dist/vue/RandomBars.js +3 -0
  878. package/dist/vue/RandomBars.vue_vue_type_script_setup_true_lang.js +222 -0
  879. package/dist/vue/RippleWipe.js +3 -0
  880. package/dist/vue/RippleWipe.vue_vue_type_script_setup_true_lang.js +222 -0
  881. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  882. package/dist/vue/SliceWipe.js +3 -0
  883. package/dist/vue/SliceWipe.vue_vue_type_script_setup_true_lang.js +220 -0
  884. package/dist/vue/TimeTrail.js +3 -0
  885. package/dist/vue/TimeTrail.vue_vue_type_script_setup_true_lang.js +229 -0
  886. package/dist/vue/VenetianBlinds.js +3 -0
  887. package/dist/vue/VenetianBlinds.vue_vue_type_script_setup_true_lang.js +222 -0
  888. package/dist/vue/components/BarnDoors.vue.d.ts +58 -0
  889. package/dist/vue/components/BarnDoors.vue.d.ts.map +1 -0
  890. package/dist/vue/components/Bend.vue.d.ts +58 -0
  891. package/dist/vue/components/Bend.vue.d.ts.map +1 -0
  892. package/dist/vue/components/BlockDissolve.vue.d.ts +58 -0
  893. package/dist/vue/components/BlockDissolve.vue.d.ts.map +1 -0
  894. package/dist/vue/components/{DOMTexture.vue.d.ts → Boids.vue.d.ts} +2 -2
  895. package/dist/vue/components/Boids.vue.d.ts.map +1 -0
  896. package/dist/vue/components/BokehBlur.vue.d.ts +60 -0
  897. package/dist/vue/components/BokehBlur.vue.d.ts.map +1 -0
  898. package/dist/vue/components/CheckerWipe.vue.d.ts +58 -0
  899. package/dist/vue/components/CheckerWipe.vue.d.ts.map +1 -0
  900. package/dist/vue/components/DiamondWipe.vue.d.ts +58 -0
  901. package/dist/vue/components/DiamondWipe.vue.d.ts.map +1 -0
  902. package/dist/vue/components/DisplacementMap.vue.d.ts +57 -0
  903. package/dist/vue/components/DisplacementMap.vue.d.ts.map +1 -0
  904. package/dist/vue/components/FilmStock.vue.d.ts +58 -0
  905. package/dist/vue/components/FilmStock.vue.d.ts.map +1 -0
  906. package/dist/vue/components/FloatingParticles.vue.d.ts +2 -2
  907. package/dist/vue/components/FloatingParticles.vue.d.ts.map +1 -1
  908. package/dist/vue/components/HTMLInCanvas.vue.d.ts +55 -0
  909. package/dist/vue/components/HTMLInCanvas.vue.d.ts.map +1 -0
  910. package/dist/vue/components/InkFlow.vue.d.ts +55 -0
  911. package/dist/vue/components/InkFlow.vue.d.ts.map +1 -0
  912. package/dist/vue/components/IrisWipe.vue.d.ts +58 -0
  913. package/dist/vue/components/IrisWipe.vue.d.ts.map +1 -0
  914. package/dist/vue/components/LinearWipe.vue.d.ts +58 -0
  915. package/dist/vue/components/LinearWipe.vue.d.ts.map +1 -0
  916. package/dist/vue/components/MagneticFilings.vue.d.ts +55 -0
  917. package/dist/vue/components/MagneticFilings.vue.d.ts.map +1 -0
  918. package/dist/vue/components/NoiseDissolve.vue.d.ts +59 -0
  919. package/dist/vue/components/NoiseDissolve.vue.d.ts.map +1 -0
  920. package/dist/vue/components/ParticleField.vue.d.ts +64 -0
  921. package/dist/vue/components/ParticleField.vue.d.ts.map +1 -0
  922. package/dist/vue/components/ParticleFlow.vue.d.ts +55 -0
  923. package/dist/vue/components/ParticleFlow.vue.d.ts.map +1 -0
  924. package/dist/vue/components/RadialWipe.vue.d.ts +59 -0
  925. package/dist/vue/components/RadialWipe.vue.d.ts.map +1 -0
  926. package/dist/vue/components/RandomBars.vue.d.ts +59 -0
  927. package/dist/vue/components/RandomBars.vue.d.ts.map +1 -0
  928. package/dist/vue/components/RippleWipe.vue.d.ts +59 -0
  929. package/dist/vue/components/RippleWipe.vue.d.ts.map +1 -0
  930. package/dist/vue/components/SliceWipe.vue.d.ts +58 -0
  931. package/dist/vue/components/SliceWipe.vue.d.ts.map +1 -0
  932. package/dist/vue/components/TimeTrail.vue.d.ts +62 -0
  933. package/dist/vue/components/TimeTrail.vue.d.ts.map +1 -0
  934. package/dist/vue/components/VenetianBlinds.vue.d.ts +59 -0
  935. package/dist/vue/components/VenetianBlinds.vue.d.ts.map +1 -0
  936. package/dist/vue/index.d.ts +25 -1
  937. package/dist/vue/index.d.ts.map +1 -1
  938. package/dist/vue/index.js +24 -2
  939. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  940. package/dist/vue/utils/generatePresetCode.js +286 -13
  941. package/package.json +198 -12
  942. package/dist/core/FloatingParticles-Qh0dQBmA.js +0 -2582
  943. package/dist/core/shaderRegistry-Gsachoy8.js +0 -372
  944. package/dist/core/shaders/DOMTexture/index.d.ts.map +0 -1
  945. package/dist/core/shaders/DOMTexture/index.js +0 -5
  946. package/dist/react/components/DOMTexture.d.ts.map +0 -1
  947. package/dist/solid/components/DOMTexture.d.ts.map +0 -1
  948. package/dist/vue/DOMTexture.js +0 -3
  949. package/dist/vue/components/DOMTexture.vue.d.ts.map +0 -1
  950. /package/dist/core/{SolidColor-8aFR9Ecl.js → SolidColor-16e4q89i.js} +0 -0
  951. /package/dist/core/{fonts-3F3pIODs.js → fonts-BLmvxkGd.js} +0 -0
  952. /package/dist/core/{noiseStylize-BMnwulEm.js → noiseStylize-4za6Obes.js} +0 -0
  953. /package/dist/core/shaders/{DOMTexture → HTMLInCanvas}/index.d.ts +0 -0
@@ -0,0 +1,4983 @@
1
+ import { Bt as call, J as std, Kt as vec4, Rt as ZERO, Wt as floatE, X as createGuardedCompute, Z as createStateBuffer, an as convertP3ToMixSpaceCPU, bn as d, fn as mixPreconvertedLinear, n as tgpu, pn as mixPreconvertedVariants } from "./coords-0A7CojvN.js";
2
+ import { a as transformColor, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-P50Uo_Ju.js";
3
+ var N = 256;
4
+ var COUNT = N * N;
5
+ var JACOBI_ITERS = 10;
6
+ var PRESSURE_DISSIPATION = .8;
7
+ var STATE_FORMAT = "rgba16float";
8
+ var IMPULSE_K = .16;
9
+ var MAX_STEPS = 16;
10
+ var CYCLE_PER_SPLAT = .006;
11
+ var CYCLE_TIME_RATE = .06;
12
+ var VEL_FADE_MAX = 4;
13
+ var VEL_FADE_MIN = .05;
14
+ var GAIN = 1.35;
15
+ var FlowParams = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(d.struct({
16
+ dt: d.f32,
17
+ curlStrength: d.f32,
18
+ velFade: d.f32,
19
+ dyeFade: d.f32
20
+ }), "FlowParams");
21
+ var SplatParams = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(d.struct({
22
+ posX: d.f32,
23
+ posY: d.f32,
24
+ velX: d.f32,
25
+ velY: d.f32,
26
+ colR: d.f32,
27
+ colG: d.f32,
28
+ colB: d.f32,
29
+ col2R: d.f32,
30
+ col2G: d.f32,
31
+ col2B: d.f32,
32
+ mixT: d.f32,
33
+ radius: d.f32,
34
+ strength: d.f32
35
+ }), "SplatParams");
36
+ var fluidLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(tgpu.bindGroupLayout({
37
+ velA: {
38
+ storage: d.arrayOf(d.vec4f, COUNT),
39
+ access: "mutable"
40
+ },
41
+ velB: {
42
+ storage: d.arrayOf(d.vec4f, COUNT),
43
+ access: "mutable"
44
+ },
45
+ dyeA: {
46
+ storage: d.arrayOf(d.vec4f, COUNT),
47
+ access: "mutable"
48
+ },
49
+ dyeB: {
50
+ storage: d.arrayOf(d.vec4f, COUNT),
51
+ access: "mutable"
52
+ },
53
+ pressure: {
54
+ storage: d.arrayOf(d.f32, COUNT),
55
+ access: "mutable"
56
+ },
57
+ divergence: {
58
+ storage: d.arrayOf(d.f32, COUNT),
59
+ access: "mutable"
60
+ },
61
+ params: { uniform: FlowParams }
62
+ }), "fluidLayout");
63
+ var splatLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(tgpu.bindGroupLayout({
64
+ velA: {
65
+ storage: d.arrayOf(d.vec4f, COUNT),
66
+ access: "mutable"
67
+ },
68
+ dyeA: {
69
+ storage: d.arrayOf(d.vec4f, COUNT),
70
+ access: "mutable"
71
+ },
72
+ sparams: { uniform: SplatParams }
73
+ }), "splatLayout");
74
+ var outputLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(tgpu.bindGroupLayout({
75
+ dyeA: {
76
+ storage: d.arrayOf(d.vec4f, COUNT),
77
+ access: "readonly"
78
+ },
79
+ outTex: { storageTexture: d.textureStorage2d(STATE_FORMAT, "write-only") }
80
+ }), "outputLayout");
81
+ var nidx = tgpu.fn([
82
+ d.i32,
83
+ d.i32,
84
+ d.i32,
85
+ d.i32
86
+ ], d.u32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((ii, ji, di, dj) => {
87
+ "use gpu";
88
+ const row = std.clamp(__tsover_add(ii, di), 0, __tsover_sub(N, 1));
89
+ const col = std.clamp(__tsover_add(ji, dj), 0, __tsover_sub(N, 1));
90
+ return d.u32(__tsover_add(__tsover_mul(row, N), col));
91
+ }), {
92
+ v: 1,
93
+ name: void 0,
94
+ ast: {
95
+ "params": [
96
+ {
97
+ "type": "i",
98
+ "name": "ii"
99
+ },
100
+ {
101
+ "type": "i",
102
+ "name": "ji"
103
+ },
104
+ {
105
+ "type": "i",
106
+ "name": "di"
107
+ },
108
+ {
109
+ "type": "i",
110
+ "name": "dj"
111
+ }
112
+ ],
113
+ "body": [0, [
114
+ [
115
+ 13,
116
+ "row",
117
+ [
118
+ 6,
119
+ [
120
+ 7,
121
+ "std",
122
+ "clamp"
123
+ ],
124
+ [
125
+ [
126
+ 1,
127
+ "ii",
128
+ "+",
129
+ "di"
130
+ ],
131
+ [5, "0"],
132
+ [
133
+ 1,
134
+ "N",
135
+ "-",
136
+ [5, "1"]
137
+ ]
138
+ ]
139
+ ]
140
+ ],
141
+ [
142
+ 13,
143
+ "col",
144
+ [
145
+ 6,
146
+ [
147
+ 7,
148
+ "std",
149
+ "clamp"
150
+ ],
151
+ [
152
+ [
153
+ 1,
154
+ "ji",
155
+ "+",
156
+ "dj"
157
+ ],
158
+ [5, "0"],
159
+ [
160
+ 1,
161
+ "N",
162
+ "-",
163
+ [5, "1"]
164
+ ]
165
+ ]
166
+ ]
167
+ ],
168
+ [10, [
169
+ 6,
170
+ [
171
+ 7,
172
+ "d",
173
+ "u32"
174
+ ],
175
+ [[
176
+ 1,
177
+ [
178
+ 1,
179
+ "row",
180
+ "*",
181
+ "N"
182
+ ],
183
+ "+",
184
+ "col"
185
+ ]]
186
+ ]]
187
+ ]],
188
+ "externalNames": [
189
+ "std",
190
+ "N",
191
+ "d"
192
+ ]
193
+ },
194
+ externals: () => ({
195
+ std,
196
+ N,
197
+ d
198
+ })
199
+ }) && $.f)({}));
200
+ var makeSplatKernel = (colorSpaceMode) => {
201
+ const mixFn = mixPreconvertedVariants[colorSpaceMode] ?? mixPreconvertedLinear;
202
+ return tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
203
+ "use gpu";
204
+ const p = splatLayout.$.sparams;
205
+ const idx = __tsover_add(__tsover_mul(cy, d.u32(N)), cx);
206
+ const cellX = __tsover_add(d.f32(cx), .5);
207
+ const cellY = __tsover_add(d.f32(cy), .5);
208
+ const dx = __tsover_sub(cellX, p.posX);
209
+ const dy = __tsover_sub(cellY, p.posY);
210
+ const distSq = __tsover_add(__tsover_mul(dx, dx), __tsover_mul(dy, dy));
211
+ const radSq = std.max(__tsover_mul(p.radius, p.radius), d.f32(1));
212
+ const inf = std.exp(__tsover_mul(__tsover_div(distSq, radSq), -1));
213
+ const w = std.clamp(__tsover_mul(inf, p.strength), d.f32(0), d.f32(1));
214
+ const brush = mixFn(d.vec3f(p.colR, p.colG, p.colB), d.vec3f(p.col2R, p.col2G, p.col2B), 1, 1, p.mixT);
215
+ const cell = splatLayout.$.dyeA[idx];
216
+ splatLayout.$.dyeA[idx] = d.vec4f(std.mix(cell.x, brush.x, w), std.mix(cell.y, brush.y, w), std.mix(cell.z, brush.z, w), 0);
217
+ const vel = splatLayout.$.velA[idx];
218
+ splatLayout.$.velA[idx] = d.vec4f(__tsover_add(vel.x, __tsover_mul(p.velX, inf)), __tsover_add(vel.y, __tsover_mul(p.velY, inf)), vel.z, 0);
219
+ }), {
220
+ v: 1,
221
+ name: void 0,
222
+ ast: {
223
+ "params": [{
224
+ "type": "i",
225
+ "name": "cx"
226
+ }, {
227
+ "type": "i",
228
+ "name": "cy"
229
+ }],
230
+ "body": [0, [
231
+ [
232
+ 13,
233
+ "p",
234
+ [
235
+ 7,
236
+ [
237
+ 7,
238
+ "splatLayout",
239
+ "$"
240
+ ],
241
+ "sparams"
242
+ ]
243
+ ],
244
+ [
245
+ 13,
246
+ "idx",
247
+ [
248
+ 1,
249
+ [
250
+ 1,
251
+ "cy",
252
+ "*",
253
+ [
254
+ 6,
255
+ [
256
+ 7,
257
+ "d",
258
+ "u32"
259
+ ],
260
+ ["N"]
261
+ ]
262
+ ],
263
+ "+",
264
+ "cx"
265
+ ]
266
+ ],
267
+ [
268
+ 13,
269
+ "cellX",
270
+ [
271
+ 1,
272
+ [
273
+ 6,
274
+ [
275
+ 7,
276
+ "d",
277
+ "f32"
278
+ ],
279
+ ["cx"]
280
+ ],
281
+ "+",
282
+ [5, "0.5"]
283
+ ]
284
+ ],
285
+ [
286
+ 13,
287
+ "cellY",
288
+ [
289
+ 1,
290
+ [
291
+ 6,
292
+ [
293
+ 7,
294
+ "d",
295
+ "f32"
296
+ ],
297
+ ["cy"]
298
+ ],
299
+ "+",
300
+ [5, "0.5"]
301
+ ]
302
+ ],
303
+ [
304
+ 13,
305
+ "dx",
306
+ [
307
+ 1,
308
+ "cellX",
309
+ "-",
310
+ [
311
+ 7,
312
+ "p",
313
+ "posX"
314
+ ]
315
+ ]
316
+ ],
317
+ [
318
+ 13,
319
+ "dy",
320
+ [
321
+ 1,
322
+ "cellY",
323
+ "-",
324
+ [
325
+ 7,
326
+ "p",
327
+ "posY"
328
+ ]
329
+ ]
330
+ ],
331
+ [
332
+ 13,
333
+ "distSq",
334
+ [
335
+ 1,
336
+ [
337
+ 1,
338
+ "dx",
339
+ "*",
340
+ "dx"
341
+ ],
342
+ "+",
343
+ [
344
+ 1,
345
+ "dy",
346
+ "*",
347
+ "dy"
348
+ ]
349
+ ]
350
+ ],
351
+ [
352
+ 13,
353
+ "radSq",
354
+ [
355
+ 6,
356
+ [
357
+ 7,
358
+ "std",
359
+ "max"
360
+ ],
361
+ [[
362
+ 1,
363
+ [
364
+ 7,
365
+ "p",
366
+ "radius"
367
+ ],
368
+ "*",
369
+ [
370
+ 7,
371
+ "p",
372
+ "radius"
373
+ ]
374
+ ], [
375
+ 6,
376
+ [
377
+ 7,
378
+ "d",
379
+ "f32"
380
+ ],
381
+ [[5, "1"]]
382
+ ]]
383
+ ]
384
+ ],
385
+ [
386
+ 13,
387
+ "inf",
388
+ [
389
+ 6,
390
+ [
391
+ 7,
392
+ "std",
393
+ "exp"
394
+ ],
395
+ [[
396
+ 1,
397
+ [
398
+ 1,
399
+ "distSq",
400
+ "/",
401
+ "radSq"
402
+ ],
403
+ "*",
404
+ [
405
+ 4,
406
+ "-",
407
+ [5, "1"]
408
+ ]
409
+ ]]
410
+ ]
411
+ ],
412
+ [
413
+ 13,
414
+ "w",
415
+ [
416
+ 6,
417
+ [
418
+ 7,
419
+ "std",
420
+ "clamp"
421
+ ],
422
+ [
423
+ [
424
+ 1,
425
+ "inf",
426
+ "*",
427
+ [
428
+ 7,
429
+ "p",
430
+ "strength"
431
+ ]
432
+ ],
433
+ [
434
+ 6,
435
+ [
436
+ 7,
437
+ "d",
438
+ "f32"
439
+ ],
440
+ [[5, "0"]]
441
+ ],
442
+ [
443
+ 6,
444
+ [
445
+ 7,
446
+ "d",
447
+ "f32"
448
+ ],
449
+ [[5, "1"]]
450
+ ]
451
+ ]
452
+ ]
453
+ ],
454
+ [
455
+ 13,
456
+ "brush",
457
+ [
458
+ 6,
459
+ "mixFn",
460
+ [
461
+ [
462
+ 6,
463
+ [
464
+ 7,
465
+ "d",
466
+ "vec3f"
467
+ ],
468
+ [
469
+ [
470
+ 7,
471
+ "p",
472
+ "colR"
473
+ ],
474
+ [
475
+ 7,
476
+ "p",
477
+ "colG"
478
+ ],
479
+ [
480
+ 7,
481
+ "p",
482
+ "colB"
483
+ ]
484
+ ]
485
+ ],
486
+ [
487
+ 6,
488
+ [
489
+ 7,
490
+ "d",
491
+ "vec3f"
492
+ ],
493
+ [
494
+ [
495
+ 7,
496
+ "p",
497
+ "col2R"
498
+ ],
499
+ [
500
+ 7,
501
+ "p",
502
+ "col2G"
503
+ ],
504
+ [
505
+ 7,
506
+ "p",
507
+ "col2B"
508
+ ]
509
+ ]
510
+ ],
511
+ [5, "1"],
512
+ [5, "1"],
513
+ [
514
+ 7,
515
+ "p",
516
+ "mixT"
517
+ ]
518
+ ]
519
+ ]
520
+ ],
521
+ [
522
+ 13,
523
+ "cell",
524
+ [
525
+ 8,
526
+ [
527
+ 7,
528
+ [
529
+ 7,
530
+ "splatLayout",
531
+ "$"
532
+ ],
533
+ "dyeA"
534
+ ],
535
+ "idx"
536
+ ]
537
+ ],
538
+ [
539
+ 2,
540
+ [
541
+ 8,
542
+ [
543
+ 7,
544
+ [
545
+ 7,
546
+ "splatLayout",
547
+ "$"
548
+ ],
549
+ "dyeA"
550
+ ],
551
+ "idx"
552
+ ],
553
+ "=",
554
+ [
555
+ 6,
556
+ [
557
+ 7,
558
+ "d",
559
+ "vec4f"
560
+ ],
561
+ [
562
+ [
563
+ 6,
564
+ [
565
+ 7,
566
+ "std",
567
+ "mix"
568
+ ],
569
+ [
570
+ [
571
+ 7,
572
+ "cell",
573
+ "x"
574
+ ],
575
+ [
576
+ 7,
577
+ "brush",
578
+ "x"
579
+ ],
580
+ "w"
581
+ ]
582
+ ],
583
+ [
584
+ 6,
585
+ [
586
+ 7,
587
+ "std",
588
+ "mix"
589
+ ],
590
+ [
591
+ [
592
+ 7,
593
+ "cell",
594
+ "y"
595
+ ],
596
+ [
597
+ 7,
598
+ "brush",
599
+ "y"
600
+ ],
601
+ "w"
602
+ ]
603
+ ],
604
+ [
605
+ 6,
606
+ [
607
+ 7,
608
+ "std",
609
+ "mix"
610
+ ],
611
+ [
612
+ [
613
+ 7,
614
+ "cell",
615
+ "z"
616
+ ],
617
+ [
618
+ 7,
619
+ "brush",
620
+ "z"
621
+ ],
622
+ "w"
623
+ ]
624
+ ],
625
+ [5, "0"]
626
+ ]
627
+ ]
628
+ ],
629
+ [
630
+ 13,
631
+ "vel",
632
+ [
633
+ 8,
634
+ [
635
+ 7,
636
+ [
637
+ 7,
638
+ "splatLayout",
639
+ "$"
640
+ ],
641
+ "velA"
642
+ ],
643
+ "idx"
644
+ ]
645
+ ],
646
+ [
647
+ 2,
648
+ [
649
+ 8,
650
+ [
651
+ 7,
652
+ [
653
+ 7,
654
+ "splatLayout",
655
+ "$"
656
+ ],
657
+ "velA"
658
+ ],
659
+ "idx"
660
+ ],
661
+ "=",
662
+ [
663
+ 6,
664
+ [
665
+ 7,
666
+ "d",
667
+ "vec4f"
668
+ ],
669
+ [
670
+ [
671
+ 1,
672
+ [
673
+ 7,
674
+ "vel",
675
+ "x"
676
+ ],
677
+ "+",
678
+ [
679
+ 1,
680
+ [
681
+ 7,
682
+ "p",
683
+ "velX"
684
+ ],
685
+ "*",
686
+ "inf"
687
+ ]
688
+ ],
689
+ [
690
+ 1,
691
+ [
692
+ 7,
693
+ "vel",
694
+ "y"
695
+ ],
696
+ "+",
697
+ [
698
+ 1,
699
+ [
700
+ 7,
701
+ "p",
702
+ "velY"
703
+ ],
704
+ "*",
705
+ "inf"
706
+ ]
707
+ ],
708
+ [
709
+ 7,
710
+ "vel",
711
+ "z"
712
+ ],
713
+ [5, "0"]
714
+ ]
715
+ ]
716
+ ]
717
+ ]],
718
+ "externalNames": [
719
+ "splatLayout",
720
+ "d",
721
+ "N",
722
+ "std",
723
+ "mixFn"
724
+ ]
725
+ },
726
+ externals: () => ({
727
+ splatLayout,
728
+ d,
729
+ N,
730
+ std,
731
+ mixFn
732
+ })
733
+ }) && $.f)({})).$name(`inkFlowSplat${colorSpaceMode}`);
734
+ };
735
+ var splatKernelVariants = {
736
+ 0: makeSplatKernel(0),
737
+ 1: makeSplatKernel(1),
738
+ 2: makeSplatKernel(2),
739
+ 3: makeSplatKernel(3),
740
+ 4: makeSplatKernel(4),
741
+ 5: makeSplatKernel(5)
742
+ };
743
+ const splatKernel = splatKernelVariants[2];
744
+ const curlKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
745
+ "use gpu";
746
+ const idx = __tsover_add(__tsover_mul(cy, d.u32(N)), cx);
747
+ const ii = d.i32(cy);
748
+ const ji = d.i32(cx);
749
+ const vL = fluidLayout.$.velA[nidx(ii, ji, 0, -1)];
750
+ const vR = fluidLayout.$.velA[nidx(ii, ji, 0, 1)];
751
+ const vU = fluidLayout.$.velA[nidx(ii, ji, -1, 0)];
752
+ const vD = fluidLayout.$.velA[nidx(ii, ji, 1, 0)];
753
+ const curl = __tsover_mul(__tsover_sub(__tsover_sub(vR.y, vL.y), __tsover_sub(vD.x, vU.x)), .5);
754
+ const vel = fluidLayout.$.velA[idx];
755
+ fluidLayout.$.velA[idx] = d.vec4f(vel.x, vel.y, curl, 0);
756
+ }), {
757
+ v: 1,
758
+ name: void 0,
759
+ ast: {
760
+ "params": [{
761
+ "type": "i",
762
+ "name": "cx"
763
+ }, {
764
+ "type": "i",
765
+ "name": "cy"
766
+ }],
767
+ "body": [0, [
768
+ [
769
+ 13,
770
+ "idx",
771
+ [
772
+ 1,
773
+ [
774
+ 1,
775
+ "cy",
776
+ "*",
777
+ [
778
+ 6,
779
+ [
780
+ 7,
781
+ "d",
782
+ "u32"
783
+ ],
784
+ ["N"]
785
+ ]
786
+ ],
787
+ "+",
788
+ "cx"
789
+ ]
790
+ ],
791
+ [
792
+ 13,
793
+ "ii",
794
+ [
795
+ 6,
796
+ [
797
+ 7,
798
+ "d",
799
+ "i32"
800
+ ],
801
+ ["cy"]
802
+ ]
803
+ ],
804
+ [
805
+ 13,
806
+ "ji",
807
+ [
808
+ 6,
809
+ [
810
+ 7,
811
+ "d",
812
+ "i32"
813
+ ],
814
+ ["cx"]
815
+ ]
816
+ ],
817
+ [
818
+ 13,
819
+ "vL",
820
+ [
821
+ 8,
822
+ [
823
+ 7,
824
+ [
825
+ 7,
826
+ "fluidLayout",
827
+ "$"
828
+ ],
829
+ "velA"
830
+ ],
831
+ [
832
+ 6,
833
+ "nidx",
834
+ [
835
+ "ii",
836
+ "ji",
837
+ [5, "0"],
838
+ [
839
+ 4,
840
+ "-",
841
+ [5, "1"]
842
+ ]
843
+ ]
844
+ ]
845
+ ]
846
+ ],
847
+ [
848
+ 13,
849
+ "vR",
850
+ [
851
+ 8,
852
+ [
853
+ 7,
854
+ [
855
+ 7,
856
+ "fluidLayout",
857
+ "$"
858
+ ],
859
+ "velA"
860
+ ],
861
+ [
862
+ 6,
863
+ "nidx",
864
+ [
865
+ "ii",
866
+ "ji",
867
+ [5, "0"],
868
+ [5, "1"]
869
+ ]
870
+ ]
871
+ ]
872
+ ],
873
+ [
874
+ 13,
875
+ "vU",
876
+ [
877
+ 8,
878
+ [
879
+ 7,
880
+ [
881
+ 7,
882
+ "fluidLayout",
883
+ "$"
884
+ ],
885
+ "velA"
886
+ ],
887
+ [
888
+ 6,
889
+ "nidx",
890
+ [
891
+ "ii",
892
+ "ji",
893
+ [
894
+ 4,
895
+ "-",
896
+ [5, "1"]
897
+ ],
898
+ [5, "0"]
899
+ ]
900
+ ]
901
+ ]
902
+ ],
903
+ [
904
+ 13,
905
+ "vD",
906
+ [
907
+ 8,
908
+ [
909
+ 7,
910
+ [
911
+ 7,
912
+ "fluidLayout",
913
+ "$"
914
+ ],
915
+ "velA"
916
+ ],
917
+ [
918
+ 6,
919
+ "nidx",
920
+ [
921
+ "ii",
922
+ "ji",
923
+ [5, "1"],
924
+ [5, "0"]
925
+ ]
926
+ ]
927
+ ]
928
+ ],
929
+ [
930
+ 13,
931
+ "curl",
932
+ [
933
+ 1,
934
+ [
935
+ 1,
936
+ [
937
+ 1,
938
+ [
939
+ 7,
940
+ "vR",
941
+ "y"
942
+ ],
943
+ "-",
944
+ [
945
+ 7,
946
+ "vL",
947
+ "y"
948
+ ]
949
+ ],
950
+ "-",
951
+ [
952
+ 1,
953
+ [
954
+ 7,
955
+ "vD",
956
+ "x"
957
+ ],
958
+ "-",
959
+ [
960
+ 7,
961
+ "vU",
962
+ "x"
963
+ ]
964
+ ]
965
+ ],
966
+ "*",
967
+ [5, "0.5"]
968
+ ]
969
+ ],
970
+ [
971
+ 13,
972
+ "vel",
973
+ [
974
+ 8,
975
+ [
976
+ 7,
977
+ [
978
+ 7,
979
+ "fluidLayout",
980
+ "$"
981
+ ],
982
+ "velA"
983
+ ],
984
+ "idx"
985
+ ]
986
+ ],
987
+ [
988
+ 2,
989
+ [
990
+ 8,
991
+ [
992
+ 7,
993
+ [
994
+ 7,
995
+ "fluidLayout",
996
+ "$"
997
+ ],
998
+ "velA"
999
+ ],
1000
+ "idx"
1001
+ ],
1002
+ "=",
1003
+ [
1004
+ 6,
1005
+ [
1006
+ 7,
1007
+ "d",
1008
+ "vec4f"
1009
+ ],
1010
+ [
1011
+ [
1012
+ 7,
1013
+ "vel",
1014
+ "x"
1015
+ ],
1016
+ [
1017
+ 7,
1018
+ "vel",
1019
+ "y"
1020
+ ],
1021
+ "curl",
1022
+ [5, "0"]
1023
+ ]
1024
+ ]
1025
+ ]
1026
+ ]],
1027
+ "externalNames": [
1028
+ "d",
1029
+ "N",
1030
+ "fluidLayout",
1031
+ "nidx"
1032
+ ]
1033
+ },
1034
+ externals: () => ({
1035
+ d,
1036
+ N,
1037
+ fluidLayout,
1038
+ nidx
1039
+ })
1040
+ }) && $.f)({})).$name("inkFlowCurl");
1041
+ const vorticityKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
1042
+ "use gpu";
1043
+ const p = fluidLayout.$.params;
1044
+ const idx = __tsover_add(__tsover_mul(cy, d.u32(N)), cx);
1045
+ const ii = d.i32(cy);
1046
+ const ji = d.i32(cx);
1047
+ const cL = std.abs(fluidLayout.$.velA[nidx(ii, ji, 0, -1)].z);
1048
+ const cR = std.abs(fluidLayout.$.velA[nidx(ii, ji, 0, 1)].z);
1049
+ const cU = std.abs(fluidLayout.$.velA[nidx(ii, ji, -1, 0)].z);
1050
+ const cD = std.abs(fluidLayout.$.velA[nidx(ii, ji, 1, 0)].z);
1051
+ const cc = fluidLayout.$.velA[idx].z;
1052
+ const gx = __tsover_mul(__tsover_sub(cR, cL), .5);
1053
+ const gy = __tsover_mul(__tsover_sub(cD, cU), .5);
1054
+ const gl = std.max(std.sqrt(__tsover_add(__tsover_mul(gx, gx), __tsover_mul(gy, gy))), d.f32(1e-5));
1055
+ const fx = __tsover_mul(__tsover_mul(__tsover_mul(__tsover_div(gy, gl), cc), p.curlStrength), p.dt);
1056
+ const fy = __tsover_mul(__tsover_mul(__tsover_mul(__tsover_mul(__tsover_div(gx, gl), -1), cc), p.curlStrength), p.dt);
1057
+ const vel = fluidLayout.$.velA[idx];
1058
+ fluidLayout.$.velA[idx] = d.vec4f(__tsover_add(vel.x, fx), __tsover_add(vel.y, fy), vel.z, 0);
1059
+ }), {
1060
+ v: 1,
1061
+ name: void 0,
1062
+ ast: {
1063
+ "params": [{
1064
+ "type": "i",
1065
+ "name": "cx"
1066
+ }, {
1067
+ "type": "i",
1068
+ "name": "cy"
1069
+ }],
1070
+ "body": [0, [
1071
+ [
1072
+ 13,
1073
+ "p",
1074
+ [
1075
+ 7,
1076
+ [
1077
+ 7,
1078
+ "fluidLayout",
1079
+ "$"
1080
+ ],
1081
+ "params"
1082
+ ]
1083
+ ],
1084
+ [
1085
+ 13,
1086
+ "idx",
1087
+ [
1088
+ 1,
1089
+ [
1090
+ 1,
1091
+ "cy",
1092
+ "*",
1093
+ [
1094
+ 6,
1095
+ [
1096
+ 7,
1097
+ "d",
1098
+ "u32"
1099
+ ],
1100
+ ["N"]
1101
+ ]
1102
+ ],
1103
+ "+",
1104
+ "cx"
1105
+ ]
1106
+ ],
1107
+ [
1108
+ 13,
1109
+ "ii",
1110
+ [
1111
+ 6,
1112
+ [
1113
+ 7,
1114
+ "d",
1115
+ "i32"
1116
+ ],
1117
+ ["cy"]
1118
+ ]
1119
+ ],
1120
+ [
1121
+ 13,
1122
+ "ji",
1123
+ [
1124
+ 6,
1125
+ [
1126
+ 7,
1127
+ "d",
1128
+ "i32"
1129
+ ],
1130
+ ["cx"]
1131
+ ]
1132
+ ],
1133
+ [
1134
+ 13,
1135
+ "cL",
1136
+ [
1137
+ 6,
1138
+ [
1139
+ 7,
1140
+ "std",
1141
+ "abs"
1142
+ ],
1143
+ [[
1144
+ 7,
1145
+ [
1146
+ 8,
1147
+ [
1148
+ 7,
1149
+ [
1150
+ 7,
1151
+ "fluidLayout",
1152
+ "$"
1153
+ ],
1154
+ "velA"
1155
+ ],
1156
+ [
1157
+ 6,
1158
+ "nidx",
1159
+ [
1160
+ "ii",
1161
+ "ji",
1162
+ [5, "0"],
1163
+ [
1164
+ 4,
1165
+ "-",
1166
+ [5, "1"]
1167
+ ]
1168
+ ]
1169
+ ]
1170
+ ],
1171
+ "z"
1172
+ ]]
1173
+ ]
1174
+ ],
1175
+ [
1176
+ 13,
1177
+ "cR",
1178
+ [
1179
+ 6,
1180
+ [
1181
+ 7,
1182
+ "std",
1183
+ "abs"
1184
+ ],
1185
+ [[
1186
+ 7,
1187
+ [
1188
+ 8,
1189
+ [
1190
+ 7,
1191
+ [
1192
+ 7,
1193
+ "fluidLayout",
1194
+ "$"
1195
+ ],
1196
+ "velA"
1197
+ ],
1198
+ [
1199
+ 6,
1200
+ "nidx",
1201
+ [
1202
+ "ii",
1203
+ "ji",
1204
+ [5, "0"],
1205
+ [5, "1"]
1206
+ ]
1207
+ ]
1208
+ ],
1209
+ "z"
1210
+ ]]
1211
+ ]
1212
+ ],
1213
+ [
1214
+ 13,
1215
+ "cU",
1216
+ [
1217
+ 6,
1218
+ [
1219
+ 7,
1220
+ "std",
1221
+ "abs"
1222
+ ],
1223
+ [[
1224
+ 7,
1225
+ [
1226
+ 8,
1227
+ [
1228
+ 7,
1229
+ [
1230
+ 7,
1231
+ "fluidLayout",
1232
+ "$"
1233
+ ],
1234
+ "velA"
1235
+ ],
1236
+ [
1237
+ 6,
1238
+ "nidx",
1239
+ [
1240
+ "ii",
1241
+ "ji",
1242
+ [
1243
+ 4,
1244
+ "-",
1245
+ [5, "1"]
1246
+ ],
1247
+ [5, "0"]
1248
+ ]
1249
+ ]
1250
+ ],
1251
+ "z"
1252
+ ]]
1253
+ ]
1254
+ ],
1255
+ [
1256
+ 13,
1257
+ "cD",
1258
+ [
1259
+ 6,
1260
+ [
1261
+ 7,
1262
+ "std",
1263
+ "abs"
1264
+ ],
1265
+ [[
1266
+ 7,
1267
+ [
1268
+ 8,
1269
+ [
1270
+ 7,
1271
+ [
1272
+ 7,
1273
+ "fluidLayout",
1274
+ "$"
1275
+ ],
1276
+ "velA"
1277
+ ],
1278
+ [
1279
+ 6,
1280
+ "nidx",
1281
+ [
1282
+ "ii",
1283
+ "ji",
1284
+ [5, "1"],
1285
+ [5, "0"]
1286
+ ]
1287
+ ]
1288
+ ],
1289
+ "z"
1290
+ ]]
1291
+ ]
1292
+ ],
1293
+ [
1294
+ 13,
1295
+ "cc",
1296
+ [
1297
+ 7,
1298
+ [
1299
+ 8,
1300
+ [
1301
+ 7,
1302
+ [
1303
+ 7,
1304
+ "fluidLayout",
1305
+ "$"
1306
+ ],
1307
+ "velA"
1308
+ ],
1309
+ "idx"
1310
+ ],
1311
+ "z"
1312
+ ]
1313
+ ],
1314
+ [
1315
+ 13,
1316
+ "gx",
1317
+ [
1318
+ 1,
1319
+ [
1320
+ 1,
1321
+ "cR",
1322
+ "-",
1323
+ "cL"
1324
+ ],
1325
+ "*",
1326
+ [5, "0.5"]
1327
+ ]
1328
+ ],
1329
+ [
1330
+ 13,
1331
+ "gy",
1332
+ [
1333
+ 1,
1334
+ [
1335
+ 1,
1336
+ "cD",
1337
+ "-",
1338
+ "cU"
1339
+ ],
1340
+ "*",
1341
+ [5, "0.5"]
1342
+ ]
1343
+ ],
1344
+ [
1345
+ 13,
1346
+ "gl",
1347
+ [
1348
+ 6,
1349
+ [
1350
+ 7,
1351
+ "std",
1352
+ "max"
1353
+ ],
1354
+ [[
1355
+ 6,
1356
+ [
1357
+ 7,
1358
+ "std",
1359
+ "sqrt"
1360
+ ],
1361
+ [[
1362
+ 1,
1363
+ [
1364
+ 1,
1365
+ "gx",
1366
+ "*",
1367
+ "gx"
1368
+ ],
1369
+ "+",
1370
+ [
1371
+ 1,
1372
+ "gy",
1373
+ "*",
1374
+ "gy"
1375
+ ]
1376
+ ]]
1377
+ ], [
1378
+ 6,
1379
+ [
1380
+ 7,
1381
+ "d",
1382
+ "f32"
1383
+ ],
1384
+ [[5, "0.00001"]]
1385
+ ]]
1386
+ ]
1387
+ ],
1388
+ [
1389
+ 13,
1390
+ "fx",
1391
+ [
1392
+ 1,
1393
+ [
1394
+ 1,
1395
+ [
1396
+ 1,
1397
+ [
1398
+ 1,
1399
+ "gy",
1400
+ "/",
1401
+ "gl"
1402
+ ],
1403
+ "*",
1404
+ "cc"
1405
+ ],
1406
+ "*",
1407
+ [
1408
+ 7,
1409
+ "p",
1410
+ "curlStrength"
1411
+ ]
1412
+ ],
1413
+ "*",
1414
+ [
1415
+ 7,
1416
+ "p",
1417
+ "dt"
1418
+ ]
1419
+ ]
1420
+ ],
1421
+ [
1422
+ 13,
1423
+ "fy",
1424
+ [
1425
+ 1,
1426
+ [
1427
+ 1,
1428
+ [
1429
+ 1,
1430
+ [
1431
+ 1,
1432
+ [
1433
+ 1,
1434
+ "gx",
1435
+ "/",
1436
+ "gl"
1437
+ ],
1438
+ "*",
1439
+ [
1440
+ 4,
1441
+ "-",
1442
+ [5, "1"]
1443
+ ]
1444
+ ],
1445
+ "*",
1446
+ "cc"
1447
+ ],
1448
+ "*",
1449
+ [
1450
+ 7,
1451
+ "p",
1452
+ "curlStrength"
1453
+ ]
1454
+ ],
1455
+ "*",
1456
+ [
1457
+ 7,
1458
+ "p",
1459
+ "dt"
1460
+ ]
1461
+ ]
1462
+ ],
1463
+ [
1464
+ 13,
1465
+ "vel",
1466
+ [
1467
+ 8,
1468
+ [
1469
+ 7,
1470
+ [
1471
+ 7,
1472
+ "fluidLayout",
1473
+ "$"
1474
+ ],
1475
+ "velA"
1476
+ ],
1477
+ "idx"
1478
+ ]
1479
+ ],
1480
+ [
1481
+ 2,
1482
+ [
1483
+ 8,
1484
+ [
1485
+ 7,
1486
+ [
1487
+ 7,
1488
+ "fluidLayout",
1489
+ "$"
1490
+ ],
1491
+ "velA"
1492
+ ],
1493
+ "idx"
1494
+ ],
1495
+ "=",
1496
+ [
1497
+ 6,
1498
+ [
1499
+ 7,
1500
+ "d",
1501
+ "vec4f"
1502
+ ],
1503
+ [
1504
+ [
1505
+ 1,
1506
+ [
1507
+ 7,
1508
+ "vel",
1509
+ "x"
1510
+ ],
1511
+ "+",
1512
+ "fx"
1513
+ ],
1514
+ [
1515
+ 1,
1516
+ [
1517
+ 7,
1518
+ "vel",
1519
+ "y"
1520
+ ],
1521
+ "+",
1522
+ "fy"
1523
+ ],
1524
+ [
1525
+ 7,
1526
+ "vel",
1527
+ "z"
1528
+ ],
1529
+ [5, "0"]
1530
+ ]
1531
+ ]
1532
+ ]
1533
+ ]],
1534
+ "externalNames": [
1535
+ "fluidLayout",
1536
+ "d",
1537
+ "N",
1538
+ "std",
1539
+ "nidx"
1540
+ ]
1541
+ },
1542
+ externals: () => ({
1543
+ fluidLayout,
1544
+ d,
1545
+ N,
1546
+ std,
1547
+ nidx
1548
+ })
1549
+ }) && $.f)({})).$name("inkFlowVorticity");
1550
+ const divergenceKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
1551
+ "use gpu";
1552
+ const idx = __tsover_add(__tsover_mul(cy, d.u32(N)), cx);
1553
+ const ii = d.i32(cy);
1554
+ const ji = d.i32(cx);
1555
+ const jf = d.f32(cx);
1556
+ const iF = d.f32(cy);
1557
+ const selfVel = fluidLayout.$.velA[idx];
1558
+ const normalL = fluidLayout.$.velA[nidx(ii, ji, 0, -1)].x;
1559
+ const normalR = fluidLayout.$.velA[nidx(ii, ji, 0, 1)].x;
1560
+ const normalU = fluidLayout.$.velA[nidx(ii, ji, -1, 0)].y;
1561
+ const normalD = fluidLayout.$.velA[nidx(ii, ji, 1, 0)].y;
1562
+ const L = std.select(normalL, __tsover_mul(selfVel.x, -1), jf < .5);
1563
+ const R = std.select(normalR, __tsover_mul(selfVel.x, -1), jf > d.f32(__tsover_sub(N, 1.5)));
1564
+ const T = std.select(normalU, __tsover_mul(selfVel.y, -1), iF < .5);
1565
+ const B = std.select(normalD, __tsover_mul(selfVel.y, -1), iF > d.f32(__tsover_sub(N, 1.5)));
1566
+ const div = __tsover_mul(__tsover_add(__tsover_sub(R, L), __tsover_sub(B, T)), .5);
1567
+ fluidLayout.$.pressure[idx] = __tsover_mul(fluidLayout.$.pressure[idx], PRESSURE_DISSIPATION);
1568
+ fluidLayout.$.divergence[idx] = div;
1569
+ }), {
1570
+ v: 1,
1571
+ name: void 0,
1572
+ ast: {
1573
+ "params": [{
1574
+ "type": "i",
1575
+ "name": "cx"
1576
+ }, {
1577
+ "type": "i",
1578
+ "name": "cy"
1579
+ }],
1580
+ "body": [0, [
1581
+ [
1582
+ 13,
1583
+ "idx",
1584
+ [
1585
+ 1,
1586
+ [
1587
+ 1,
1588
+ "cy",
1589
+ "*",
1590
+ [
1591
+ 6,
1592
+ [
1593
+ 7,
1594
+ "d",
1595
+ "u32"
1596
+ ],
1597
+ ["N"]
1598
+ ]
1599
+ ],
1600
+ "+",
1601
+ "cx"
1602
+ ]
1603
+ ],
1604
+ [
1605
+ 13,
1606
+ "ii",
1607
+ [
1608
+ 6,
1609
+ [
1610
+ 7,
1611
+ "d",
1612
+ "i32"
1613
+ ],
1614
+ ["cy"]
1615
+ ]
1616
+ ],
1617
+ [
1618
+ 13,
1619
+ "ji",
1620
+ [
1621
+ 6,
1622
+ [
1623
+ 7,
1624
+ "d",
1625
+ "i32"
1626
+ ],
1627
+ ["cx"]
1628
+ ]
1629
+ ],
1630
+ [
1631
+ 13,
1632
+ "jf",
1633
+ [
1634
+ 6,
1635
+ [
1636
+ 7,
1637
+ "d",
1638
+ "f32"
1639
+ ],
1640
+ ["cx"]
1641
+ ]
1642
+ ],
1643
+ [
1644
+ 13,
1645
+ "iF",
1646
+ [
1647
+ 6,
1648
+ [
1649
+ 7,
1650
+ "d",
1651
+ "f32"
1652
+ ],
1653
+ ["cy"]
1654
+ ]
1655
+ ],
1656
+ [
1657
+ 13,
1658
+ "selfVel",
1659
+ [
1660
+ 8,
1661
+ [
1662
+ 7,
1663
+ [
1664
+ 7,
1665
+ "fluidLayout",
1666
+ "$"
1667
+ ],
1668
+ "velA"
1669
+ ],
1670
+ "idx"
1671
+ ]
1672
+ ],
1673
+ [
1674
+ 13,
1675
+ "normalL",
1676
+ [
1677
+ 7,
1678
+ [
1679
+ 8,
1680
+ [
1681
+ 7,
1682
+ [
1683
+ 7,
1684
+ "fluidLayout",
1685
+ "$"
1686
+ ],
1687
+ "velA"
1688
+ ],
1689
+ [
1690
+ 6,
1691
+ "nidx",
1692
+ [
1693
+ "ii",
1694
+ "ji",
1695
+ [5, "0"],
1696
+ [
1697
+ 4,
1698
+ "-",
1699
+ [5, "1"]
1700
+ ]
1701
+ ]
1702
+ ]
1703
+ ],
1704
+ "x"
1705
+ ]
1706
+ ],
1707
+ [
1708
+ 13,
1709
+ "normalR",
1710
+ [
1711
+ 7,
1712
+ [
1713
+ 8,
1714
+ [
1715
+ 7,
1716
+ [
1717
+ 7,
1718
+ "fluidLayout",
1719
+ "$"
1720
+ ],
1721
+ "velA"
1722
+ ],
1723
+ [
1724
+ 6,
1725
+ "nidx",
1726
+ [
1727
+ "ii",
1728
+ "ji",
1729
+ [5, "0"],
1730
+ [5, "1"]
1731
+ ]
1732
+ ]
1733
+ ],
1734
+ "x"
1735
+ ]
1736
+ ],
1737
+ [
1738
+ 13,
1739
+ "normalU",
1740
+ [
1741
+ 7,
1742
+ [
1743
+ 8,
1744
+ [
1745
+ 7,
1746
+ [
1747
+ 7,
1748
+ "fluidLayout",
1749
+ "$"
1750
+ ],
1751
+ "velA"
1752
+ ],
1753
+ [
1754
+ 6,
1755
+ "nidx",
1756
+ [
1757
+ "ii",
1758
+ "ji",
1759
+ [
1760
+ 4,
1761
+ "-",
1762
+ [5, "1"]
1763
+ ],
1764
+ [5, "0"]
1765
+ ]
1766
+ ]
1767
+ ],
1768
+ "y"
1769
+ ]
1770
+ ],
1771
+ [
1772
+ 13,
1773
+ "normalD",
1774
+ [
1775
+ 7,
1776
+ [
1777
+ 8,
1778
+ [
1779
+ 7,
1780
+ [
1781
+ 7,
1782
+ "fluidLayout",
1783
+ "$"
1784
+ ],
1785
+ "velA"
1786
+ ],
1787
+ [
1788
+ 6,
1789
+ "nidx",
1790
+ [
1791
+ "ii",
1792
+ "ji",
1793
+ [5, "1"],
1794
+ [5, "0"]
1795
+ ]
1796
+ ]
1797
+ ],
1798
+ "y"
1799
+ ]
1800
+ ],
1801
+ [
1802
+ 13,
1803
+ "L",
1804
+ [
1805
+ 6,
1806
+ [
1807
+ 7,
1808
+ "std",
1809
+ "select"
1810
+ ],
1811
+ [
1812
+ "normalL",
1813
+ [
1814
+ 1,
1815
+ [
1816
+ 7,
1817
+ "selfVel",
1818
+ "x"
1819
+ ],
1820
+ "*",
1821
+ [
1822
+ 4,
1823
+ "-",
1824
+ [5, "1"]
1825
+ ]
1826
+ ],
1827
+ [
1828
+ 1,
1829
+ "jf",
1830
+ "<",
1831
+ [5, "0.5"]
1832
+ ]
1833
+ ]
1834
+ ]
1835
+ ],
1836
+ [
1837
+ 13,
1838
+ "R",
1839
+ [
1840
+ 6,
1841
+ [
1842
+ 7,
1843
+ "std",
1844
+ "select"
1845
+ ],
1846
+ [
1847
+ "normalR",
1848
+ [
1849
+ 1,
1850
+ [
1851
+ 7,
1852
+ "selfVel",
1853
+ "x"
1854
+ ],
1855
+ "*",
1856
+ [
1857
+ 4,
1858
+ "-",
1859
+ [5, "1"]
1860
+ ]
1861
+ ],
1862
+ [
1863
+ 1,
1864
+ "jf",
1865
+ ">",
1866
+ [
1867
+ 6,
1868
+ [
1869
+ 7,
1870
+ "d",
1871
+ "f32"
1872
+ ],
1873
+ [[
1874
+ 1,
1875
+ "N",
1876
+ "-",
1877
+ [5, "1.5"]
1878
+ ]]
1879
+ ]
1880
+ ]
1881
+ ]
1882
+ ]
1883
+ ],
1884
+ [
1885
+ 13,
1886
+ "T",
1887
+ [
1888
+ 6,
1889
+ [
1890
+ 7,
1891
+ "std",
1892
+ "select"
1893
+ ],
1894
+ [
1895
+ "normalU",
1896
+ [
1897
+ 1,
1898
+ [
1899
+ 7,
1900
+ "selfVel",
1901
+ "y"
1902
+ ],
1903
+ "*",
1904
+ [
1905
+ 4,
1906
+ "-",
1907
+ [5, "1"]
1908
+ ]
1909
+ ],
1910
+ [
1911
+ 1,
1912
+ "iF",
1913
+ "<",
1914
+ [5, "0.5"]
1915
+ ]
1916
+ ]
1917
+ ]
1918
+ ],
1919
+ [
1920
+ 13,
1921
+ "B",
1922
+ [
1923
+ 6,
1924
+ [
1925
+ 7,
1926
+ "std",
1927
+ "select"
1928
+ ],
1929
+ [
1930
+ "normalD",
1931
+ [
1932
+ 1,
1933
+ [
1934
+ 7,
1935
+ "selfVel",
1936
+ "y"
1937
+ ],
1938
+ "*",
1939
+ [
1940
+ 4,
1941
+ "-",
1942
+ [5, "1"]
1943
+ ]
1944
+ ],
1945
+ [
1946
+ 1,
1947
+ "iF",
1948
+ ">",
1949
+ [
1950
+ 6,
1951
+ [
1952
+ 7,
1953
+ "d",
1954
+ "f32"
1955
+ ],
1956
+ [[
1957
+ 1,
1958
+ "N",
1959
+ "-",
1960
+ [5, "1.5"]
1961
+ ]]
1962
+ ]
1963
+ ]
1964
+ ]
1965
+ ]
1966
+ ],
1967
+ [
1968
+ 13,
1969
+ "div",
1970
+ [
1971
+ 1,
1972
+ [
1973
+ 1,
1974
+ [
1975
+ 1,
1976
+ "R",
1977
+ "-",
1978
+ "L"
1979
+ ],
1980
+ "+",
1981
+ [
1982
+ 1,
1983
+ "B",
1984
+ "-",
1985
+ "T"
1986
+ ]
1987
+ ],
1988
+ "*",
1989
+ [5, "0.5"]
1990
+ ]
1991
+ ],
1992
+ [
1993
+ 2,
1994
+ [
1995
+ 8,
1996
+ [
1997
+ 7,
1998
+ [
1999
+ 7,
2000
+ "fluidLayout",
2001
+ "$"
2002
+ ],
2003
+ "pressure"
2004
+ ],
2005
+ "idx"
2006
+ ],
2007
+ "=",
2008
+ [
2009
+ 1,
2010
+ [
2011
+ 8,
2012
+ [
2013
+ 7,
2014
+ [
2015
+ 7,
2016
+ "fluidLayout",
2017
+ "$"
2018
+ ],
2019
+ "pressure"
2020
+ ],
2021
+ "idx"
2022
+ ],
2023
+ "*",
2024
+ "PRESSURE_DISSIPATION"
2025
+ ]
2026
+ ],
2027
+ [
2028
+ 2,
2029
+ [
2030
+ 8,
2031
+ [
2032
+ 7,
2033
+ [
2034
+ 7,
2035
+ "fluidLayout",
2036
+ "$"
2037
+ ],
2038
+ "divergence"
2039
+ ],
2040
+ "idx"
2041
+ ],
2042
+ "=",
2043
+ "div"
2044
+ ]
2045
+ ]],
2046
+ "externalNames": [
2047
+ "d",
2048
+ "N",
2049
+ "fluidLayout",
2050
+ "nidx",
2051
+ "std",
2052
+ "PRESSURE_DISSIPATION"
2053
+ ]
2054
+ },
2055
+ externals: () => ({
2056
+ d,
2057
+ N,
2058
+ fluidLayout,
2059
+ nidx,
2060
+ std,
2061
+ PRESSURE_DISSIPATION
2062
+ })
2063
+ }) && $.f)({})).$name("inkFlowDivergence");
2064
+ const jacobiKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
2065
+ "use gpu";
2066
+ const idx = __tsover_add(__tsover_mul(cy, d.u32(N)), cx);
2067
+ const ii = d.i32(cy);
2068
+ const ji = d.i32(cx);
2069
+ const pL = fluidLayout.$.pressure[nidx(ii, ji, 0, -1)];
2070
+ const pR = fluidLayout.$.pressure[nidx(ii, ji, 0, 1)];
2071
+ const pU = fluidLayout.$.pressure[nidx(ii, ji, -1, 0)];
2072
+ const pD = fluidLayout.$.pressure[nidx(ii, ji, 1, 0)];
2073
+ const div = fluidLayout.$.divergence[idx];
2074
+ fluidLayout.$.pressure[idx] = __tsover_mul(__tsover_sub(__tsover_add(__tsover_add(__tsover_add(pL, pR), pU), pD), div), .25);
2075
+ }), {
2076
+ v: 1,
2077
+ name: void 0,
2078
+ ast: {
2079
+ "params": [{
2080
+ "type": "i",
2081
+ "name": "cx"
2082
+ }, {
2083
+ "type": "i",
2084
+ "name": "cy"
2085
+ }],
2086
+ "body": [0, [
2087
+ [
2088
+ 13,
2089
+ "idx",
2090
+ [
2091
+ 1,
2092
+ [
2093
+ 1,
2094
+ "cy",
2095
+ "*",
2096
+ [
2097
+ 6,
2098
+ [
2099
+ 7,
2100
+ "d",
2101
+ "u32"
2102
+ ],
2103
+ ["N"]
2104
+ ]
2105
+ ],
2106
+ "+",
2107
+ "cx"
2108
+ ]
2109
+ ],
2110
+ [
2111
+ 13,
2112
+ "ii",
2113
+ [
2114
+ 6,
2115
+ [
2116
+ 7,
2117
+ "d",
2118
+ "i32"
2119
+ ],
2120
+ ["cy"]
2121
+ ]
2122
+ ],
2123
+ [
2124
+ 13,
2125
+ "ji",
2126
+ [
2127
+ 6,
2128
+ [
2129
+ 7,
2130
+ "d",
2131
+ "i32"
2132
+ ],
2133
+ ["cx"]
2134
+ ]
2135
+ ],
2136
+ [
2137
+ 13,
2138
+ "pL",
2139
+ [
2140
+ 8,
2141
+ [
2142
+ 7,
2143
+ [
2144
+ 7,
2145
+ "fluidLayout",
2146
+ "$"
2147
+ ],
2148
+ "pressure"
2149
+ ],
2150
+ [
2151
+ 6,
2152
+ "nidx",
2153
+ [
2154
+ "ii",
2155
+ "ji",
2156
+ [5, "0"],
2157
+ [
2158
+ 4,
2159
+ "-",
2160
+ [5, "1"]
2161
+ ]
2162
+ ]
2163
+ ]
2164
+ ]
2165
+ ],
2166
+ [
2167
+ 13,
2168
+ "pR",
2169
+ [
2170
+ 8,
2171
+ [
2172
+ 7,
2173
+ [
2174
+ 7,
2175
+ "fluidLayout",
2176
+ "$"
2177
+ ],
2178
+ "pressure"
2179
+ ],
2180
+ [
2181
+ 6,
2182
+ "nidx",
2183
+ [
2184
+ "ii",
2185
+ "ji",
2186
+ [5, "0"],
2187
+ [5, "1"]
2188
+ ]
2189
+ ]
2190
+ ]
2191
+ ],
2192
+ [
2193
+ 13,
2194
+ "pU",
2195
+ [
2196
+ 8,
2197
+ [
2198
+ 7,
2199
+ [
2200
+ 7,
2201
+ "fluidLayout",
2202
+ "$"
2203
+ ],
2204
+ "pressure"
2205
+ ],
2206
+ [
2207
+ 6,
2208
+ "nidx",
2209
+ [
2210
+ "ii",
2211
+ "ji",
2212
+ [
2213
+ 4,
2214
+ "-",
2215
+ [5, "1"]
2216
+ ],
2217
+ [5, "0"]
2218
+ ]
2219
+ ]
2220
+ ]
2221
+ ],
2222
+ [
2223
+ 13,
2224
+ "pD",
2225
+ [
2226
+ 8,
2227
+ [
2228
+ 7,
2229
+ [
2230
+ 7,
2231
+ "fluidLayout",
2232
+ "$"
2233
+ ],
2234
+ "pressure"
2235
+ ],
2236
+ [
2237
+ 6,
2238
+ "nidx",
2239
+ [
2240
+ "ii",
2241
+ "ji",
2242
+ [5, "1"],
2243
+ [5, "0"]
2244
+ ]
2245
+ ]
2246
+ ]
2247
+ ],
2248
+ [
2249
+ 13,
2250
+ "div",
2251
+ [
2252
+ 8,
2253
+ [
2254
+ 7,
2255
+ [
2256
+ 7,
2257
+ "fluidLayout",
2258
+ "$"
2259
+ ],
2260
+ "divergence"
2261
+ ],
2262
+ "idx"
2263
+ ]
2264
+ ],
2265
+ [
2266
+ 2,
2267
+ [
2268
+ 8,
2269
+ [
2270
+ 7,
2271
+ [
2272
+ 7,
2273
+ "fluidLayout",
2274
+ "$"
2275
+ ],
2276
+ "pressure"
2277
+ ],
2278
+ "idx"
2279
+ ],
2280
+ "=",
2281
+ [
2282
+ 1,
2283
+ [
2284
+ 1,
2285
+ [
2286
+ 1,
2287
+ [
2288
+ 1,
2289
+ [
2290
+ 1,
2291
+ "pL",
2292
+ "+",
2293
+ "pR"
2294
+ ],
2295
+ "+",
2296
+ "pU"
2297
+ ],
2298
+ "+",
2299
+ "pD"
2300
+ ],
2301
+ "-",
2302
+ "div"
2303
+ ],
2304
+ "*",
2305
+ [5, "0.25"]
2306
+ ]
2307
+ ]
2308
+ ]],
2309
+ "externalNames": [
2310
+ "d",
2311
+ "N",
2312
+ "fluidLayout",
2313
+ "nidx"
2314
+ ]
2315
+ },
2316
+ externals: () => ({
2317
+ d,
2318
+ N,
2319
+ fluidLayout,
2320
+ nidx
2321
+ })
2322
+ }) && $.f)({})).$name("inkFlowJacobi");
2323
+ const gradSubtractKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
2324
+ "use gpu";
2325
+ const idx = __tsover_add(__tsover_mul(cy, d.u32(N)), cx);
2326
+ const ii = d.i32(cy);
2327
+ const ji = d.i32(cx);
2328
+ const pL = fluidLayout.$.pressure[nidx(ii, ji, 0, -1)];
2329
+ const pR = fluidLayout.$.pressure[nidx(ii, ji, 0, 1)];
2330
+ const pU = fluidLayout.$.pressure[nidx(ii, ji, -1, 0)];
2331
+ const pD = fluidLayout.$.pressure[nidx(ii, ji, 1, 0)];
2332
+ const vel = fluidLayout.$.velA[idx];
2333
+ fluidLayout.$.velA[idx] = d.vec4f(__tsover_sub(vel.x, __tsover_mul(__tsover_sub(pR, pL), .5)), __tsover_sub(vel.y, __tsover_mul(__tsover_sub(pD, pU), .5)), vel.z, 0);
2334
+ }), {
2335
+ v: 1,
2336
+ name: void 0,
2337
+ ast: {
2338
+ "params": [{
2339
+ "type": "i",
2340
+ "name": "cx"
2341
+ }, {
2342
+ "type": "i",
2343
+ "name": "cy"
2344
+ }],
2345
+ "body": [0, [
2346
+ [
2347
+ 13,
2348
+ "idx",
2349
+ [
2350
+ 1,
2351
+ [
2352
+ 1,
2353
+ "cy",
2354
+ "*",
2355
+ [
2356
+ 6,
2357
+ [
2358
+ 7,
2359
+ "d",
2360
+ "u32"
2361
+ ],
2362
+ ["N"]
2363
+ ]
2364
+ ],
2365
+ "+",
2366
+ "cx"
2367
+ ]
2368
+ ],
2369
+ [
2370
+ 13,
2371
+ "ii",
2372
+ [
2373
+ 6,
2374
+ [
2375
+ 7,
2376
+ "d",
2377
+ "i32"
2378
+ ],
2379
+ ["cy"]
2380
+ ]
2381
+ ],
2382
+ [
2383
+ 13,
2384
+ "ji",
2385
+ [
2386
+ 6,
2387
+ [
2388
+ 7,
2389
+ "d",
2390
+ "i32"
2391
+ ],
2392
+ ["cx"]
2393
+ ]
2394
+ ],
2395
+ [
2396
+ 13,
2397
+ "pL",
2398
+ [
2399
+ 8,
2400
+ [
2401
+ 7,
2402
+ [
2403
+ 7,
2404
+ "fluidLayout",
2405
+ "$"
2406
+ ],
2407
+ "pressure"
2408
+ ],
2409
+ [
2410
+ 6,
2411
+ "nidx",
2412
+ [
2413
+ "ii",
2414
+ "ji",
2415
+ [5, "0"],
2416
+ [
2417
+ 4,
2418
+ "-",
2419
+ [5, "1"]
2420
+ ]
2421
+ ]
2422
+ ]
2423
+ ]
2424
+ ],
2425
+ [
2426
+ 13,
2427
+ "pR",
2428
+ [
2429
+ 8,
2430
+ [
2431
+ 7,
2432
+ [
2433
+ 7,
2434
+ "fluidLayout",
2435
+ "$"
2436
+ ],
2437
+ "pressure"
2438
+ ],
2439
+ [
2440
+ 6,
2441
+ "nidx",
2442
+ [
2443
+ "ii",
2444
+ "ji",
2445
+ [5, "0"],
2446
+ [5, "1"]
2447
+ ]
2448
+ ]
2449
+ ]
2450
+ ],
2451
+ [
2452
+ 13,
2453
+ "pU",
2454
+ [
2455
+ 8,
2456
+ [
2457
+ 7,
2458
+ [
2459
+ 7,
2460
+ "fluidLayout",
2461
+ "$"
2462
+ ],
2463
+ "pressure"
2464
+ ],
2465
+ [
2466
+ 6,
2467
+ "nidx",
2468
+ [
2469
+ "ii",
2470
+ "ji",
2471
+ [
2472
+ 4,
2473
+ "-",
2474
+ [5, "1"]
2475
+ ],
2476
+ [5, "0"]
2477
+ ]
2478
+ ]
2479
+ ]
2480
+ ],
2481
+ [
2482
+ 13,
2483
+ "pD",
2484
+ [
2485
+ 8,
2486
+ [
2487
+ 7,
2488
+ [
2489
+ 7,
2490
+ "fluidLayout",
2491
+ "$"
2492
+ ],
2493
+ "pressure"
2494
+ ],
2495
+ [
2496
+ 6,
2497
+ "nidx",
2498
+ [
2499
+ "ii",
2500
+ "ji",
2501
+ [5, "1"],
2502
+ [5, "0"]
2503
+ ]
2504
+ ]
2505
+ ]
2506
+ ],
2507
+ [
2508
+ 13,
2509
+ "vel",
2510
+ [
2511
+ 8,
2512
+ [
2513
+ 7,
2514
+ [
2515
+ 7,
2516
+ "fluidLayout",
2517
+ "$"
2518
+ ],
2519
+ "velA"
2520
+ ],
2521
+ "idx"
2522
+ ]
2523
+ ],
2524
+ [
2525
+ 2,
2526
+ [
2527
+ 8,
2528
+ [
2529
+ 7,
2530
+ [
2531
+ 7,
2532
+ "fluidLayout",
2533
+ "$"
2534
+ ],
2535
+ "velA"
2536
+ ],
2537
+ "idx"
2538
+ ],
2539
+ "=",
2540
+ [
2541
+ 6,
2542
+ [
2543
+ 7,
2544
+ "d",
2545
+ "vec4f"
2546
+ ],
2547
+ [
2548
+ [
2549
+ 1,
2550
+ [
2551
+ 7,
2552
+ "vel",
2553
+ "x"
2554
+ ],
2555
+ "-",
2556
+ [
2557
+ 1,
2558
+ [
2559
+ 1,
2560
+ "pR",
2561
+ "-",
2562
+ "pL"
2563
+ ],
2564
+ "*",
2565
+ [5, "0.5"]
2566
+ ]
2567
+ ],
2568
+ [
2569
+ 1,
2570
+ [
2571
+ 7,
2572
+ "vel",
2573
+ "y"
2574
+ ],
2575
+ "-",
2576
+ [
2577
+ 1,
2578
+ [
2579
+ 1,
2580
+ "pD",
2581
+ "-",
2582
+ "pU"
2583
+ ],
2584
+ "*",
2585
+ [5, "0.5"]
2586
+ ]
2587
+ ],
2588
+ [
2589
+ 7,
2590
+ "vel",
2591
+ "z"
2592
+ ],
2593
+ [5, "0"]
2594
+ ]
2595
+ ]
2596
+ ]
2597
+ ]],
2598
+ "externalNames": [
2599
+ "d",
2600
+ "N",
2601
+ "fluidLayout",
2602
+ "nidx"
2603
+ ]
2604
+ },
2605
+ externals: () => ({
2606
+ d,
2607
+ N,
2608
+ fluidLayout,
2609
+ nidx
2610
+ })
2611
+ }) && $.f)({})).$name("inkFlowGradSubtract");
2612
+ const advectVelKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
2613
+ "use gpu";
2614
+ const p = fluidLayout.$.params;
2615
+ const idx = __tsover_add(__tsover_mul(cy, d.u32(N)), cx);
2616
+ const vel = fluidLayout.$.velA[idx];
2617
+ const srcX = std.clamp(__tsover_sub(d.f32(cx), __tsover_mul(vel.x, p.dt)), 0, d.f32(__tsover_sub(N, 1)));
2618
+ const srcY = std.clamp(__tsover_sub(d.f32(cy), __tsover_mul(vel.y, p.dt)), 0, d.f32(__tsover_sub(N, 1)));
2619
+ const x0 = std.clamp(std.floor(srcX), 0, d.f32(__tsover_sub(N, 2)));
2620
+ const y0 = std.clamp(std.floor(srcY), 0, d.f32(__tsover_sub(N, 2)));
2621
+ const sx = __tsover_sub(srcX, x0);
2622
+ const sy = __tsover_sub(srcY, y0);
2623
+ const ix0 = d.i32(x0);
2624
+ const iy0 = d.i32(y0);
2625
+ const v00 = fluidLayout.$.velA[d.u32(__tsover_add(__tsover_mul(iy0, N), ix0))];
2626
+ const v10 = fluidLayout.$.velA[d.u32(__tsover_add(__tsover_add(__tsover_mul(iy0, N), ix0), 1))];
2627
+ const v01 = fluidLayout.$.velA[d.u32(__tsover_add(__tsover_mul(__tsover_add(iy0, 1), N), ix0))];
2628
+ const v11 = fluidLayout.$.velA[d.u32(__tsover_add(__tsover_add(__tsover_mul(__tsover_add(iy0, 1), N), ix0), 1))];
2629
+ const decay = __tsover_add(1, __tsover_mul(p.velFade, p.dt));
2630
+ fluidLayout.$.velB[idx] = d.vec4f(__tsover_div(std.mix(std.mix(v00.x, v10.x, sx), std.mix(v01.x, v11.x, sx), sy), decay), __tsover_div(std.mix(std.mix(v00.y, v10.y, sx), std.mix(v01.y, v11.y, sx), sy), decay), 0, 0);
2631
+ }), {
2632
+ v: 1,
2633
+ name: void 0,
2634
+ ast: {
2635
+ "params": [{
2636
+ "type": "i",
2637
+ "name": "cx"
2638
+ }, {
2639
+ "type": "i",
2640
+ "name": "cy"
2641
+ }],
2642
+ "body": [0, [
2643
+ [
2644
+ 13,
2645
+ "p",
2646
+ [
2647
+ 7,
2648
+ [
2649
+ 7,
2650
+ "fluidLayout",
2651
+ "$"
2652
+ ],
2653
+ "params"
2654
+ ]
2655
+ ],
2656
+ [
2657
+ 13,
2658
+ "idx",
2659
+ [
2660
+ 1,
2661
+ [
2662
+ 1,
2663
+ "cy",
2664
+ "*",
2665
+ [
2666
+ 6,
2667
+ [
2668
+ 7,
2669
+ "d",
2670
+ "u32"
2671
+ ],
2672
+ ["N"]
2673
+ ]
2674
+ ],
2675
+ "+",
2676
+ "cx"
2677
+ ]
2678
+ ],
2679
+ [
2680
+ 13,
2681
+ "vel",
2682
+ [
2683
+ 8,
2684
+ [
2685
+ 7,
2686
+ [
2687
+ 7,
2688
+ "fluidLayout",
2689
+ "$"
2690
+ ],
2691
+ "velA"
2692
+ ],
2693
+ "idx"
2694
+ ]
2695
+ ],
2696
+ [
2697
+ 13,
2698
+ "srcX",
2699
+ [
2700
+ 6,
2701
+ [
2702
+ 7,
2703
+ "std",
2704
+ "clamp"
2705
+ ],
2706
+ [
2707
+ [
2708
+ 1,
2709
+ [
2710
+ 6,
2711
+ [
2712
+ 7,
2713
+ "d",
2714
+ "f32"
2715
+ ],
2716
+ ["cx"]
2717
+ ],
2718
+ "-",
2719
+ [
2720
+ 1,
2721
+ [
2722
+ 7,
2723
+ "vel",
2724
+ "x"
2725
+ ],
2726
+ "*",
2727
+ [
2728
+ 7,
2729
+ "p",
2730
+ "dt"
2731
+ ]
2732
+ ]
2733
+ ],
2734
+ [5, "0"],
2735
+ [
2736
+ 6,
2737
+ [
2738
+ 7,
2739
+ "d",
2740
+ "f32"
2741
+ ],
2742
+ [[
2743
+ 1,
2744
+ "N",
2745
+ "-",
2746
+ [5, "1"]
2747
+ ]]
2748
+ ]
2749
+ ]
2750
+ ]
2751
+ ],
2752
+ [
2753
+ 13,
2754
+ "srcY",
2755
+ [
2756
+ 6,
2757
+ [
2758
+ 7,
2759
+ "std",
2760
+ "clamp"
2761
+ ],
2762
+ [
2763
+ [
2764
+ 1,
2765
+ [
2766
+ 6,
2767
+ [
2768
+ 7,
2769
+ "d",
2770
+ "f32"
2771
+ ],
2772
+ ["cy"]
2773
+ ],
2774
+ "-",
2775
+ [
2776
+ 1,
2777
+ [
2778
+ 7,
2779
+ "vel",
2780
+ "y"
2781
+ ],
2782
+ "*",
2783
+ [
2784
+ 7,
2785
+ "p",
2786
+ "dt"
2787
+ ]
2788
+ ]
2789
+ ],
2790
+ [5, "0"],
2791
+ [
2792
+ 6,
2793
+ [
2794
+ 7,
2795
+ "d",
2796
+ "f32"
2797
+ ],
2798
+ [[
2799
+ 1,
2800
+ "N",
2801
+ "-",
2802
+ [5, "1"]
2803
+ ]]
2804
+ ]
2805
+ ]
2806
+ ]
2807
+ ],
2808
+ [
2809
+ 13,
2810
+ "x0",
2811
+ [
2812
+ 6,
2813
+ [
2814
+ 7,
2815
+ "std",
2816
+ "clamp"
2817
+ ],
2818
+ [
2819
+ [
2820
+ 6,
2821
+ [
2822
+ 7,
2823
+ "std",
2824
+ "floor"
2825
+ ],
2826
+ ["srcX"]
2827
+ ],
2828
+ [5, "0"],
2829
+ [
2830
+ 6,
2831
+ [
2832
+ 7,
2833
+ "d",
2834
+ "f32"
2835
+ ],
2836
+ [[
2837
+ 1,
2838
+ "N",
2839
+ "-",
2840
+ [5, "2"]
2841
+ ]]
2842
+ ]
2843
+ ]
2844
+ ]
2845
+ ],
2846
+ [
2847
+ 13,
2848
+ "y0",
2849
+ [
2850
+ 6,
2851
+ [
2852
+ 7,
2853
+ "std",
2854
+ "clamp"
2855
+ ],
2856
+ [
2857
+ [
2858
+ 6,
2859
+ [
2860
+ 7,
2861
+ "std",
2862
+ "floor"
2863
+ ],
2864
+ ["srcY"]
2865
+ ],
2866
+ [5, "0"],
2867
+ [
2868
+ 6,
2869
+ [
2870
+ 7,
2871
+ "d",
2872
+ "f32"
2873
+ ],
2874
+ [[
2875
+ 1,
2876
+ "N",
2877
+ "-",
2878
+ [5, "2"]
2879
+ ]]
2880
+ ]
2881
+ ]
2882
+ ]
2883
+ ],
2884
+ [
2885
+ 13,
2886
+ "sx",
2887
+ [
2888
+ 1,
2889
+ "srcX",
2890
+ "-",
2891
+ "x0"
2892
+ ]
2893
+ ],
2894
+ [
2895
+ 13,
2896
+ "sy",
2897
+ [
2898
+ 1,
2899
+ "srcY",
2900
+ "-",
2901
+ "y0"
2902
+ ]
2903
+ ],
2904
+ [
2905
+ 13,
2906
+ "ix0",
2907
+ [
2908
+ 6,
2909
+ [
2910
+ 7,
2911
+ "d",
2912
+ "i32"
2913
+ ],
2914
+ ["x0"]
2915
+ ]
2916
+ ],
2917
+ [
2918
+ 13,
2919
+ "iy0",
2920
+ [
2921
+ 6,
2922
+ [
2923
+ 7,
2924
+ "d",
2925
+ "i32"
2926
+ ],
2927
+ ["y0"]
2928
+ ]
2929
+ ],
2930
+ [
2931
+ 13,
2932
+ "v00",
2933
+ [
2934
+ 8,
2935
+ [
2936
+ 7,
2937
+ [
2938
+ 7,
2939
+ "fluidLayout",
2940
+ "$"
2941
+ ],
2942
+ "velA"
2943
+ ],
2944
+ [
2945
+ 6,
2946
+ [
2947
+ 7,
2948
+ "d",
2949
+ "u32"
2950
+ ],
2951
+ [[
2952
+ 1,
2953
+ [
2954
+ 1,
2955
+ "iy0",
2956
+ "*",
2957
+ "N"
2958
+ ],
2959
+ "+",
2960
+ "ix0"
2961
+ ]]
2962
+ ]
2963
+ ]
2964
+ ],
2965
+ [
2966
+ 13,
2967
+ "v10",
2968
+ [
2969
+ 8,
2970
+ [
2971
+ 7,
2972
+ [
2973
+ 7,
2974
+ "fluidLayout",
2975
+ "$"
2976
+ ],
2977
+ "velA"
2978
+ ],
2979
+ [
2980
+ 6,
2981
+ [
2982
+ 7,
2983
+ "d",
2984
+ "u32"
2985
+ ],
2986
+ [[
2987
+ 1,
2988
+ [
2989
+ 1,
2990
+ [
2991
+ 1,
2992
+ "iy0",
2993
+ "*",
2994
+ "N"
2995
+ ],
2996
+ "+",
2997
+ "ix0"
2998
+ ],
2999
+ "+",
3000
+ [5, "1"]
3001
+ ]]
3002
+ ]
3003
+ ]
3004
+ ],
3005
+ [
3006
+ 13,
3007
+ "v01",
3008
+ [
3009
+ 8,
3010
+ [
3011
+ 7,
3012
+ [
3013
+ 7,
3014
+ "fluidLayout",
3015
+ "$"
3016
+ ],
3017
+ "velA"
3018
+ ],
3019
+ [
3020
+ 6,
3021
+ [
3022
+ 7,
3023
+ "d",
3024
+ "u32"
3025
+ ],
3026
+ [[
3027
+ 1,
3028
+ [
3029
+ 1,
3030
+ [
3031
+ 1,
3032
+ "iy0",
3033
+ "+",
3034
+ [5, "1"]
3035
+ ],
3036
+ "*",
3037
+ "N"
3038
+ ],
3039
+ "+",
3040
+ "ix0"
3041
+ ]]
3042
+ ]
3043
+ ]
3044
+ ],
3045
+ [
3046
+ 13,
3047
+ "v11",
3048
+ [
3049
+ 8,
3050
+ [
3051
+ 7,
3052
+ [
3053
+ 7,
3054
+ "fluidLayout",
3055
+ "$"
3056
+ ],
3057
+ "velA"
3058
+ ],
3059
+ [
3060
+ 6,
3061
+ [
3062
+ 7,
3063
+ "d",
3064
+ "u32"
3065
+ ],
3066
+ [[
3067
+ 1,
3068
+ [
3069
+ 1,
3070
+ [
3071
+ 1,
3072
+ [
3073
+ 1,
3074
+ "iy0",
3075
+ "+",
3076
+ [5, "1"]
3077
+ ],
3078
+ "*",
3079
+ "N"
3080
+ ],
3081
+ "+",
3082
+ "ix0"
3083
+ ],
3084
+ "+",
3085
+ [5, "1"]
3086
+ ]]
3087
+ ]
3088
+ ]
3089
+ ],
3090
+ [
3091
+ 13,
3092
+ "decay",
3093
+ [
3094
+ 1,
3095
+ [5, "1"],
3096
+ "+",
3097
+ [
3098
+ 1,
3099
+ [
3100
+ 7,
3101
+ "p",
3102
+ "velFade"
3103
+ ],
3104
+ "*",
3105
+ [
3106
+ 7,
3107
+ "p",
3108
+ "dt"
3109
+ ]
3110
+ ]
3111
+ ]
3112
+ ],
3113
+ [
3114
+ 2,
3115
+ [
3116
+ 8,
3117
+ [
3118
+ 7,
3119
+ [
3120
+ 7,
3121
+ "fluidLayout",
3122
+ "$"
3123
+ ],
3124
+ "velB"
3125
+ ],
3126
+ "idx"
3127
+ ],
3128
+ "=",
3129
+ [
3130
+ 6,
3131
+ [
3132
+ 7,
3133
+ "d",
3134
+ "vec4f"
3135
+ ],
3136
+ [
3137
+ [
3138
+ 1,
3139
+ [
3140
+ 6,
3141
+ [
3142
+ 7,
3143
+ "std",
3144
+ "mix"
3145
+ ],
3146
+ [
3147
+ [
3148
+ 6,
3149
+ [
3150
+ 7,
3151
+ "std",
3152
+ "mix"
3153
+ ],
3154
+ [
3155
+ [
3156
+ 7,
3157
+ "v00",
3158
+ "x"
3159
+ ],
3160
+ [
3161
+ 7,
3162
+ "v10",
3163
+ "x"
3164
+ ],
3165
+ "sx"
3166
+ ]
3167
+ ],
3168
+ [
3169
+ 6,
3170
+ [
3171
+ 7,
3172
+ "std",
3173
+ "mix"
3174
+ ],
3175
+ [
3176
+ [
3177
+ 7,
3178
+ "v01",
3179
+ "x"
3180
+ ],
3181
+ [
3182
+ 7,
3183
+ "v11",
3184
+ "x"
3185
+ ],
3186
+ "sx"
3187
+ ]
3188
+ ],
3189
+ "sy"
3190
+ ]
3191
+ ],
3192
+ "/",
3193
+ "decay"
3194
+ ],
3195
+ [
3196
+ 1,
3197
+ [
3198
+ 6,
3199
+ [
3200
+ 7,
3201
+ "std",
3202
+ "mix"
3203
+ ],
3204
+ [
3205
+ [
3206
+ 6,
3207
+ [
3208
+ 7,
3209
+ "std",
3210
+ "mix"
3211
+ ],
3212
+ [
3213
+ [
3214
+ 7,
3215
+ "v00",
3216
+ "y"
3217
+ ],
3218
+ [
3219
+ 7,
3220
+ "v10",
3221
+ "y"
3222
+ ],
3223
+ "sx"
3224
+ ]
3225
+ ],
3226
+ [
3227
+ 6,
3228
+ [
3229
+ 7,
3230
+ "std",
3231
+ "mix"
3232
+ ],
3233
+ [
3234
+ [
3235
+ 7,
3236
+ "v01",
3237
+ "y"
3238
+ ],
3239
+ [
3240
+ 7,
3241
+ "v11",
3242
+ "y"
3243
+ ],
3244
+ "sx"
3245
+ ]
3246
+ ],
3247
+ "sy"
3248
+ ]
3249
+ ],
3250
+ "/",
3251
+ "decay"
3252
+ ],
3253
+ [5, "0"],
3254
+ [5, "0"]
3255
+ ]
3256
+ ]
3257
+ ]
3258
+ ]],
3259
+ "externalNames": [
3260
+ "fluidLayout",
3261
+ "d",
3262
+ "N",
3263
+ "std"
3264
+ ]
3265
+ },
3266
+ externals: () => ({
3267
+ fluidLayout,
3268
+ d,
3269
+ N,
3270
+ std
3271
+ })
3272
+ }) && $.f)({})).$name("inkFlowAdvectVel");
3273
+ const copyVelKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
3274
+ "use gpu";
3275
+ const idx = __tsover_add(__tsover_mul(cy, d.u32(N)), cx);
3276
+ const v = fluidLayout.$.velB[idx];
3277
+ fluidLayout.$.velA[idx] = d.vec4f(v.x, v.y, 0, 0);
3278
+ }), {
3279
+ v: 1,
3280
+ name: void 0,
3281
+ ast: {
3282
+ "params": [{
3283
+ "type": "i",
3284
+ "name": "cx"
3285
+ }, {
3286
+ "type": "i",
3287
+ "name": "cy"
3288
+ }],
3289
+ "body": [0, [
3290
+ [
3291
+ 13,
3292
+ "idx",
3293
+ [
3294
+ 1,
3295
+ [
3296
+ 1,
3297
+ "cy",
3298
+ "*",
3299
+ [
3300
+ 6,
3301
+ [
3302
+ 7,
3303
+ "d",
3304
+ "u32"
3305
+ ],
3306
+ ["N"]
3307
+ ]
3308
+ ],
3309
+ "+",
3310
+ "cx"
3311
+ ]
3312
+ ],
3313
+ [
3314
+ 13,
3315
+ "v",
3316
+ [
3317
+ 8,
3318
+ [
3319
+ 7,
3320
+ [
3321
+ 7,
3322
+ "fluidLayout",
3323
+ "$"
3324
+ ],
3325
+ "velB"
3326
+ ],
3327
+ "idx"
3328
+ ]
3329
+ ],
3330
+ [
3331
+ 2,
3332
+ [
3333
+ 8,
3334
+ [
3335
+ 7,
3336
+ [
3337
+ 7,
3338
+ "fluidLayout",
3339
+ "$"
3340
+ ],
3341
+ "velA"
3342
+ ],
3343
+ "idx"
3344
+ ],
3345
+ "=",
3346
+ [
3347
+ 6,
3348
+ [
3349
+ 7,
3350
+ "d",
3351
+ "vec4f"
3352
+ ],
3353
+ [
3354
+ [
3355
+ 7,
3356
+ "v",
3357
+ "x"
3358
+ ],
3359
+ [
3360
+ 7,
3361
+ "v",
3362
+ "y"
3363
+ ],
3364
+ [5, "0"],
3365
+ [5, "0"]
3366
+ ]
3367
+ ]
3368
+ ]
3369
+ ]],
3370
+ "externalNames": [
3371
+ "d",
3372
+ "N",
3373
+ "fluidLayout"
3374
+ ]
3375
+ },
3376
+ externals: () => ({
3377
+ d,
3378
+ N,
3379
+ fluidLayout
3380
+ })
3381
+ }) && $.f)({})).$name("inkFlowCopyVel");
3382
+ const advectDyeKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
3383
+ "use gpu";
3384
+ const p = fluidLayout.$.params;
3385
+ const idx = __tsover_add(__tsover_mul(cy, d.u32(N)), cx);
3386
+ const vel = fluidLayout.$.velA[idx];
3387
+ const srcX = std.clamp(__tsover_sub(d.f32(cx), __tsover_mul(vel.x, p.dt)), 0, d.f32(__tsover_sub(N, 1)));
3388
+ const srcY = std.clamp(__tsover_sub(d.f32(cy), __tsover_mul(vel.y, p.dt)), 0, d.f32(__tsover_sub(N, 1)));
3389
+ const x0 = std.clamp(std.floor(srcX), 0, d.f32(__tsover_sub(N, 2)));
3390
+ const y0 = std.clamp(std.floor(srcY), 0, d.f32(__tsover_sub(N, 2)));
3391
+ const sx = __tsover_sub(srcX, x0);
3392
+ const sy = __tsover_sub(srcY, y0);
3393
+ const ix0 = d.i32(x0);
3394
+ const iy0 = d.i32(y0);
3395
+ const c00 = fluidLayout.$.dyeA[d.u32(__tsover_add(__tsover_mul(iy0, N), ix0))];
3396
+ const c10 = fluidLayout.$.dyeA[d.u32(__tsover_add(__tsover_add(__tsover_mul(iy0, N), ix0), 1))];
3397
+ const c01 = fluidLayout.$.dyeA[d.u32(__tsover_add(__tsover_mul(__tsover_add(iy0, 1), N), ix0))];
3398
+ const c11 = fluidLayout.$.dyeA[d.u32(__tsover_add(__tsover_add(__tsover_mul(__tsover_add(iy0, 1), N), ix0), 1))];
3399
+ const r = std.mix(std.mix(c00.x, c10.x, sx), std.mix(c01.x, c11.x, sx), sy);
3400
+ const g = std.mix(std.mix(c00.y, c10.y, sx), std.mix(c01.y, c11.y, sx), sy);
3401
+ const b = std.mix(std.mix(c00.z, c10.z, sx), std.mix(c01.z, c11.z, sx), sy);
3402
+ const decay = __tsover_add(1, __tsover_mul(p.dyeFade, p.dt));
3403
+ fluidLayout.$.dyeB[idx] = d.vec4f(std.max(__tsover_div(r, decay), d.f32(0)), std.max(__tsover_div(g, decay), d.f32(0)), std.max(__tsover_div(b, decay), d.f32(0)), 0);
3404
+ }), {
3405
+ v: 1,
3406
+ name: void 0,
3407
+ ast: {
3408
+ "params": [{
3409
+ "type": "i",
3410
+ "name": "cx"
3411
+ }, {
3412
+ "type": "i",
3413
+ "name": "cy"
3414
+ }],
3415
+ "body": [0, [
3416
+ [
3417
+ 13,
3418
+ "p",
3419
+ [
3420
+ 7,
3421
+ [
3422
+ 7,
3423
+ "fluidLayout",
3424
+ "$"
3425
+ ],
3426
+ "params"
3427
+ ]
3428
+ ],
3429
+ [
3430
+ 13,
3431
+ "idx",
3432
+ [
3433
+ 1,
3434
+ [
3435
+ 1,
3436
+ "cy",
3437
+ "*",
3438
+ [
3439
+ 6,
3440
+ [
3441
+ 7,
3442
+ "d",
3443
+ "u32"
3444
+ ],
3445
+ ["N"]
3446
+ ]
3447
+ ],
3448
+ "+",
3449
+ "cx"
3450
+ ]
3451
+ ],
3452
+ [
3453
+ 13,
3454
+ "vel",
3455
+ [
3456
+ 8,
3457
+ [
3458
+ 7,
3459
+ [
3460
+ 7,
3461
+ "fluidLayout",
3462
+ "$"
3463
+ ],
3464
+ "velA"
3465
+ ],
3466
+ "idx"
3467
+ ]
3468
+ ],
3469
+ [
3470
+ 13,
3471
+ "srcX",
3472
+ [
3473
+ 6,
3474
+ [
3475
+ 7,
3476
+ "std",
3477
+ "clamp"
3478
+ ],
3479
+ [
3480
+ [
3481
+ 1,
3482
+ [
3483
+ 6,
3484
+ [
3485
+ 7,
3486
+ "d",
3487
+ "f32"
3488
+ ],
3489
+ ["cx"]
3490
+ ],
3491
+ "-",
3492
+ [
3493
+ 1,
3494
+ [
3495
+ 7,
3496
+ "vel",
3497
+ "x"
3498
+ ],
3499
+ "*",
3500
+ [
3501
+ 7,
3502
+ "p",
3503
+ "dt"
3504
+ ]
3505
+ ]
3506
+ ],
3507
+ [5, "0"],
3508
+ [
3509
+ 6,
3510
+ [
3511
+ 7,
3512
+ "d",
3513
+ "f32"
3514
+ ],
3515
+ [[
3516
+ 1,
3517
+ "N",
3518
+ "-",
3519
+ [5, "1"]
3520
+ ]]
3521
+ ]
3522
+ ]
3523
+ ]
3524
+ ],
3525
+ [
3526
+ 13,
3527
+ "srcY",
3528
+ [
3529
+ 6,
3530
+ [
3531
+ 7,
3532
+ "std",
3533
+ "clamp"
3534
+ ],
3535
+ [
3536
+ [
3537
+ 1,
3538
+ [
3539
+ 6,
3540
+ [
3541
+ 7,
3542
+ "d",
3543
+ "f32"
3544
+ ],
3545
+ ["cy"]
3546
+ ],
3547
+ "-",
3548
+ [
3549
+ 1,
3550
+ [
3551
+ 7,
3552
+ "vel",
3553
+ "y"
3554
+ ],
3555
+ "*",
3556
+ [
3557
+ 7,
3558
+ "p",
3559
+ "dt"
3560
+ ]
3561
+ ]
3562
+ ],
3563
+ [5, "0"],
3564
+ [
3565
+ 6,
3566
+ [
3567
+ 7,
3568
+ "d",
3569
+ "f32"
3570
+ ],
3571
+ [[
3572
+ 1,
3573
+ "N",
3574
+ "-",
3575
+ [5, "1"]
3576
+ ]]
3577
+ ]
3578
+ ]
3579
+ ]
3580
+ ],
3581
+ [
3582
+ 13,
3583
+ "x0",
3584
+ [
3585
+ 6,
3586
+ [
3587
+ 7,
3588
+ "std",
3589
+ "clamp"
3590
+ ],
3591
+ [
3592
+ [
3593
+ 6,
3594
+ [
3595
+ 7,
3596
+ "std",
3597
+ "floor"
3598
+ ],
3599
+ ["srcX"]
3600
+ ],
3601
+ [5, "0"],
3602
+ [
3603
+ 6,
3604
+ [
3605
+ 7,
3606
+ "d",
3607
+ "f32"
3608
+ ],
3609
+ [[
3610
+ 1,
3611
+ "N",
3612
+ "-",
3613
+ [5, "2"]
3614
+ ]]
3615
+ ]
3616
+ ]
3617
+ ]
3618
+ ],
3619
+ [
3620
+ 13,
3621
+ "y0",
3622
+ [
3623
+ 6,
3624
+ [
3625
+ 7,
3626
+ "std",
3627
+ "clamp"
3628
+ ],
3629
+ [
3630
+ [
3631
+ 6,
3632
+ [
3633
+ 7,
3634
+ "std",
3635
+ "floor"
3636
+ ],
3637
+ ["srcY"]
3638
+ ],
3639
+ [5, "0"],
3640
+ [
3641
+ 6,
3642
+ [
3643
+ 7,
3644
+ "d",
3645
+ "f32"
3646
+ ],
3647
+ [[
3648
+ 1,
3649
+ "N",
3650
+ "-",
3651
+ [5, "2"]
3652
+ ]]
3653
+ ]
3654
+ ]
3655
+ ]
3656
+ ],
3657
+ [
3658
+ 13,
3659
+ "sx",
3660
+ [
3661
+ 1,
3662
+ "srcX",
3663
+ "-",
3664
+ "x0"
3665
+ ]
3666
+ ],
3667
+ [
3668
+ 13,
3669
+ "sy",
3670
+ [
3671
+ 1,
3672
+ "srcY",
3673
+ "-",
3674
+ "y0"
3675
+ ]
3676
+ ],
3677
+ [
3678
+ 13,
3679
+ "ix0",
3680
+ [
3681
+ 6,
3682
+ [
3683
+ 7,
3684
+ "d",
3685
+ "i32"
3686
+ ],
3687
+ ["x0"]
3688
+ ]
3689
+ ],
3690
+ [
3691
+ 13,
3692
+ "iy0",
3693
+ [
3694
+ 6,
3695
+ [
3696
+ 7,
3697
+ "d",
3698
+ "i32"
3699
+ ],
3700
+ ["y0"]
3701
+ ]
3702
+ ],
3703
+ [
3704
+ 13,
3705
+ "c00",
3706
+ [
3707
+ 8,
3708
+ [
3709
+ 7,
3710
+ [
3711
+ 7,
3712
+ "fluidLayout",
3713
+ "$"
3714
+ ],
3715
+ "dyeA"
3716
+ ],
3717
+ [
3718
+ 6,
3719
+ [
3720
+ 7,
3721
+ "d",
3722
+ "u32"
3723
+ ],
3724
+ [[
3725
+ 1,
3726
+ [
3727
+ 1,
3728
+ "iy0",
3729
+ "*",
3730
+ "N"
3731
+ ],
3732
+ "+",
3733
+ "ix0"
3734
+ ]]
3735
+ ]
3736
+ ]
3737
+ ],
3738
+ [
3739
+ 13,
3740
+ "c10",
3741
+ [
3742
+ 8,
3743
+ [
3744
+ 7,
3745
+ [
3746
+ 7,
3747
+ "fluidLayout",
3748
+ "$"
3749
+ ],
3750
+ "dyeA"
3751
+ ],
3752
+ [
3753
+ 6,
3754
+ [
3755
+ 7,
3756
+ "d",
3757
+ "u32"
3758
+ ],
3759
+ [[
3760
+ 1,
3761
+ [
3762
+ 1,
3763
+ [
3764
+ 1,
3765
+ "iy0",
3766
+ "*",
3767
+ "N"
3768
+ ],
3769
+ "+",
3770
+ "ix0"
3771
+ ],
3772
+ "+",
3773
+ [5, "1"]
3774
+ ]]
3775
+ ]
3776
+ ]
3777
+ ],
3778
+ [
3779
+ 13,
3780
+ "c01",
3781
+ [
3782
+ 8,
3783
+ [
3784
+ 7,
3785
+ [
3786
+ 7,
3787
+ "fluidLayout",
3788
+ "$"
3789
+ ],
3790
+ "dyeA"
3791
+ ],
3792
+ [
3793
+ 6,
3794
+ [
3795
+ 7,
3796
+ "d",
3797
+ "u32"
3798
+ ],
3799
+ [[
3800
+ 1,
3801
+ [
3802
+ 1,
3803
+ [
3804
+ 1,
3805
+ "iy0",
3806
+ "+",
3807
+ [5, "1"]
3808
+ ],
3809
+ "*",
3810
+ "N"
3811
+ ],
3812
+ "+",
3813
+ "ix0"
3814
+ ]]
3815
+ ]
3816
+ ]
3817
+ ],
3818
+ [
3819
+ 13,
3820
+ "c11",
3821
+ [
3822
+ 8,
3823
+ [
3824
+ 7,
3825
+ [
3826
+ 7,
3827
+ "fluidLayout",
3828
+ "$"
3829
+ ],
3830
+ "dyeA"
3831
+ ],
3832
+ [
3833
+ 6,
3834
+ [
3835
+ 7,
3836
+ "d",
3837
+ "u32"
3838
+ ],
3839
+ [[
3840
+ 1,
3841
+ [
3842
+ 1,
3843
+ [
3844
+ 1,
3845
+ [
3846
+ 1,
3847
+ "iy0",
3848
+ "+",
3849
+ [5, "1"]
3850
+ ],
3851
+ "*",
3852
+ "N"
3853
+ ],
3854
+ "+",
3855
+ "ix0"
3856
+ ],
3857
+ "+",
3858
+ [5, "1"]
3859
+ ]]
3860
+ ]
3861
+ ]
3862
+ ],
3863
+ [
3864
+ 13,
3865
+ "r",
3866
+ [
3867
+ 6,
3868
+ [
3869
+ 7,
3870
+ "std",
3871
+ "mix"
3872
+ ],
3873
+ [
3874
+ [
3875
+ 6,
3876
+ [
3877
+ 7,
3878
+ "std",
3879
+ "mix"
3880
+ ],
3881
+ [
3882
+ [
3883
+ 7,
3884
+ "c00",
3885
+ "x"
3886
+ ],
3887
+ [
3888
+ 7,
3889
+ "c10",
3890
+ "x"
3891
+ ],
3892
+ "sx"
3893
+ ]
3894
+ ],
3895
+ [
3896
+ 6,
3897
+ [
3898
+ 7,
3899
+ "std",
3900
+ "mix"
3901
+ ],
3902
+ [
3903
+ [
3904
+ 7,
3905
+ "c01",
3906
+ "x"
3907
+ ],
3908
+ [
3909
+ 7,
3910
+ "c11",
3911
+ "x"
3912
+ ],
3913
+ "sx"
3914
+ ]
3915
+ ],
3916
+ "sy"
3917
+ ]
3918
+ ]
3919
+ ],
3920
+ [
3921
+ 13,
3922
+ "g",
3923
+ [
3924
+ 6,
3925
+ [
3926
+ 7,
3927
+ "std",
3928
+ "mix"
3929
+ ],
3930
+ [
3931
+ [
3932
+ 6,
3933
+ [
3934
+ 7,
3935
+ "std",
3936
+ "mix"
3937
+ ],
3938
+ [
3939
+ [
3940
+ 7,
3941
+ "c00",
3942
+ "y"
3943
+ ],
3944
+ [
3945
+ 7,
3946
+ "c10",
3947
+ "y"
3948
+ ],
3949
+ "sx"
3950
+ ]
3951
+ ],
3952
+ [
3953
+ 6,
3954
+ [
3955
+ 7,
3956
+ "std",
3957
+ "mix"
3958
+ ],
3959
+ [
3960
+ [
3961
+ 7,
3962
+ "c01",
3963
+ "y"
3964
+ ],
3965
+ [
3966
+ 7,
3967
+ "c11",
3968
+ "y"
3969
+ ],
3970
+ "sx"
3971
+ ]
3972
+ ],
3973
+ "sy"
3974
+ ]
3975
+ ]
3976
+ ],
3977
+ [
3978
+ 13,
3979
+ "b",
3980
+ [
3981
+ 6,
3982
+ [
3983
+ 7,
3984
+ "std",
3985
+ "mix"
3986
+ ],
3987
+ [
3988
+ [
3989
+ 6,
3990
+ [
3991
+ 7,
3992
+ "std",
3993
+ "mix"
3994
+ ],
3995
+ [
3996
+ [
3997
+ 7,
3998
+ "c00",
3999
+ "z"
4000
+ ],
4001
+ [
4002
+ 7,
4003
+ "c10",
4004
+ "z"
4005
+ ],
4006
+ "sx"
4007
+ ]
4008
+ ],
4009
+ [
4010
+ 6,
4011
+ [
4012
+ 7,
4013
+ "std",
4014
+ "mix"
4015
+ ],
4016
+ [
4017
+ [
4018
+ 7,
4019
+ "c01",
4020
+ "z"
4021
+ ],
4022
+ [
4023
+ 7,
4024
+ "c11",
4025
+ "z"
4026
+ ],
4027
+ "sx"
4028
+ ]
4029
+ ],
4030
+ "sy"
4031
+ ]
4032
+ ]
4033
+ ],
4034
+ [
4035
+ 13,
4036
+ "decay",
4037
+ [
4038
+ 1,
4039
+ [5, "1"],
4040
+ "+",
4041
+ [
4042
+ 1,
4043
+ [
4044
+ 7,
4045
+ "p",
4046
+ "dyeFade"
4047
+ ],
4048
+ "*",
4049
+ [
4050
+ 7,
4051
+ "p",
4052
+ "dt"
4053
+ ]
4054
+ ]
4055
+ ]
4056
+ ],
4057
+ [
4058
+ 2,
4059
+ [
4060
+ 8,
4061
+ [
4062
+ 7,
4063
+ [
4064
+ 7,
4065
+ "fluidLayout",
4066
+ "$"
4067
+ ],
4068
+ "dyeB"
4069
+ ],
4070
+ "idx"
4071
+ ],
4072
+ "=",
4073
+ [
4074
+ 6,
4075
+ [
4076
+ 7,
4077
+ "d",
4078
+ "vec4f"
4079
+ ],
4080
+ [
4081
+ [
4082
+ 6,
4083
+ [
4084
+ 7,
4085
+ "std",
4086
+ "max"
4087
+ ],
4088
+ [[
4089
+ 1,
4090
+ "r",
4091
+ "/",
4092
+ "decay"
4093
+ ], [
4094
+ 6,
4095
+ [
4096
+ 7,
4097
+ "d",
4098
+ "f32"
4099
+ ],
4100
+ [[5, "0"]]
4101
+ ]]
4102
+ ],
4103
+ [
4104
+ 6,
4105
+ [
4106
+ 7,
4107
+ "std",
4108
+ "max"
4109
+ ],
4110
+ [[
4111
+ 1,
4112
+ "g",
4113
+ "/",
4114
+ "decay"
4115
+ ], [
4116
+ 6,
4117
+ [
4118
+ 7,
4119
+ "d",
4120
+ "f32"
4121
+ ],
4122
+ [[5, "0"]]
4123
+ ]]
4124
+ ],
4125
+ [
4126
+ 6,
4127
+ [
4128
+ 7,
4129
+ "std",
4130
+ "max"
4131
+ ],
4132
+ [[
4133
+ 1,
4134
+ "b",
4135
+ "/",
4136
+ "decay"
4137
+ ], [
4138
+ 6,
4139
+ [
4140
+ 7,
4141
+ "d",
4142
+ "f32"
4143
+ ],
4144
+ [[5, "0"]]
4145
+ ]]
4146
+ ],
4147
+ [5, "0"]
4148
+ ]
4149
+ ]
4150
+ ]
4151
+ ]],
4152
+ "externalNames": [
4153
+ "fluidLayout",
4154
+ "d",
4155
+ "N",
4156
+ "std"
4157
+ ]
4158
+ },
4159
+ externals: () => ({
4160
+ fluidLayout,
4161
+ d,
4162
+ N,
4163
+ std
4164
+ })
4165
+ }) && $.f)({})).$name("inkFlowAdvectDye");
4166
+ const copyDyeKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
4167
+ "use gpu";
4168
+ const idx = __tsover_add(__tsover_mul(cy, d.u32(N)), cx);
4169
+ const c = fluidLayout.$.dyeB[idx];
4170
+ fluidLayout.$.dyeA[idx] = d.vec4f(c.x, c.y, c.z, 0);
4171
+ }), {
4172
+ v: 1,
4173
+ name: void 0,
4174
+ ast: {
4175
+ "params": [{
4176
+ "type": "i",
4177
+ "name": "cx"
4178
+ }, {
4179
+ "type": "i",
4180
+ "name": "cy"
4181
+ }],
4182
+ "body": [0, [
4183
+ [
4184
+ 13,
4185
+ "idx",
4186
+ [
4187
+ 1,
4188
+ [
4189
+ 1,
4190
+ "cy",
4191
+ "*",
4192
+ [
4193
+ 6,
4194
+ [
4195
+ 7,
4196
+ "d",
4197
+ "u32"
4198
+ ],
4199
+ ["N"]
4200
+ ]
4201
+ ],
4202
+ "+",
4203
+ "cx"
4204
+ ]
4205
+ ],
4206
+ [
4207
+ 13,
4208
+ "c",
4209
+ [
4210
+ 8,
4211
+ [
4212
+ 7,
4213
+ [
4214
+ 7,
4215
+ "fluidLayout",
4216
+ "$"
4217
+ ],
4218
+ "dyeB"
4219
+ ],
4220
+ "idx"
4221
+ ]
4222
+ ],
4223
+ [
4224
+ 2,
4225
+ [
4226
+ 8,
4227
+ [
4228
+ 7,
4229
+ [
4230
+ 7,
4231
+ "fluidLayout",
4232
+ "$"
4233
+ ],
4234
+ "dyeA"
4235
+ ],
4236
+ "idx"
4237
+ ],
4238
+ "=",
4239
+ [
4240
+ 6,
4241
+ [
4242
+ 7,
4243
+ "d",
4244
+ "vec4f"
4245
+ ],
4246
+ [
4247
+ [
4248
+ 7,
4249
+ "c",
4250
+ "x"
4251
+ ],
4252
+ [
4253
+ 7,
4254
+ "c",
4255
+ "y"
4256
+ ],
4257
+ [
4258
+ 7,
4259
+ "c",
4260
+ "z"
4261
+ ],
4262
+ [5, "0"]
4263
+ ]
4264
+ ]
4265
+ ]
4266
+ ]],
4267
+ "externalNames": [
4268
+ "d",
4269
+ "N",
4270
+ "fluidLayout"
4271
+ ]
4272
+ },
4273
+ externals: () => ({
4274
+ d,
4275
+ N,
4276
+ fluidLayout
4277
+ })
4278
+ }) && $.f)({})).$name("inkFlowCopyDye");
4279
+ const outputKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
4280
+ "use gpu";
4281
+ const idx = __tsover_add(__tsover_mul(cy, d.u32(N)), cx);
4282
+ const c = outputLayout.$.dyeA[idx];
4283
+ std.textureStore(outputLayout.$.outTex, d.vec2u(cx, cy), d.vec4f(c.x, c.y, c.z, 1));
4284
+ }), {
4285
+ v: 1,
4286
+ name: void 0,
4287
+ ast: {
4288
+ "params": [{
4289
+ "type": "i",
4290
+ "name": "cx"
4291
+ }, {
4292
+ "type": "i",
4293
+ "name": "cy"
4294
+ }],
4295
+ "body": [0, [
4296
+ [
4297
+ 13,
4298
+ "idx",
4299
+ [
4300
+ 1,
4301
+ [
4302
+ 1,
4303
+ "cy",
4304
+ "*",
4305
+ [
4306
+ 6,
4307
+ [
4308
+ 7,
4309
+ "d",
4310
+ "u32"
4311
+ ],
4312
+ ["N"]
4313
+ ]
4314
+ ],
4315
+ "+",
4316
+ "cx"
4317
+ ]
4318
+ ],
4319
+ [
4320
+ 13,
4321
+ "c",
4322
+ [
4323
+ 8,
4324
+ [
4325
+ 7,
4326
+ [
4327
+ 7,
4328
+ "outputLayout",
4329
+ "$"
4330
+ ],
4331
+ "dyeA"
4332
+ ],
4333
+ "idx"
4334
+ ]
4335
+ ],
4336
+ [
4337
+ 6,
4338
+ [
4339
+ 7,
4340
+ "std",
4341
+ "textureStore"
4342
+ ],
4343
+ [
4344
+ [
4345
+ 7,
4346
+ [
4347
+ 7,
4348
+ "outputLayout",
4349
+ "$"
4350
+ ],
4351
+ "outTex"
4352
+ ],
4353
+ [
4354
+ 6,
4355
+ [
4356
+ 7,
4357
+ "d",
4358
+ "vec2u"
4359
+ ],
4360
+ ["cx", "cy"]
4361
+ ],
4362
+ [
4363
+ 6,
4364
+ [
4365
+ 7,
4366
+ "d",
4367
+ "vec4f"
4368
+ ],
4369
+ [
4370
+ [
4371
+ 7,
4372
+ "c",
4373
+ "x"
4374
+ ],
4375
+ [
4376
+ 7,
4377
+ "c",
4378
+ "y"
4379
+ ],
4380
+ [
4381
+ 7,
4382
+ "c",
4383
+ "z"
4384
+ ],
4385
+ [5, "1"]
4386
+ ]
4387
+ ]
4388
+ ]
4389
+ ]
4390
+ ]],
4391
+ "externalNames": [
4392
+ "d",
4393
+ "N",
4394
+ "outputLayout",
4395
+ "std"
4396
+ ]
4397
+ },
4398
+ externals: () => ({
4399
+ d,
4400
+ N,
4401
+ outputLayout,
4402
+ std
4403
+ })
4404
+ }) && $.f)({})).$name("inkFlowOutput");
4405
+ const inkFlowComposite = tgpu.fn([d.vec3f, d.f32], d.vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((dye, gain) => {
4406
+ "use gpu";
4407
+ const lum = std.max(dye.x, std.max(dye.y, dye.z));
4408
+ const coverage = std.clamp(__tsover_mul(lum, gain), d.f32(0), d.f32(1));
4409
+ return d.vec4f(dye, coverage);
4410
+ }), {
4411
+ v: 1,
4412
+ name: void 0,
4413
+ ast: {
4414
+ "params": [{
4415
+ "type": "i",
4416
+ "name": "dye"
4417
+ }, {
4418
+ "type": "i",
4419
+ "name": "gain"
4420
+ }],
4421
+ "body": [0, [
4422
+ [
4423
+ 13,
4424
+ "lum",
4425
+ [
4426
+ 6,
4427
+ [
4428
+ 7,
4429
+ "std",
4430
+ "max"
4431
+ ],
4432
+ [[
4433
+ 7,
4434
+ "dye",
4435
+ "x"
4436
+ ], [
4437
+ 6,
4438
+ [
4439
+ 7,
4440
+ "std",
4441
+ "max"
4442
+ ],
4443
+ [[
4444
+ 7,
4445
+ "dye",
4446
+ "y"
4447
+ ], [
4448
+ 7,
4449
+ "dye",
4450
+ "z"
4451
+ ]]
4452
+ ]]
4453
+ ]
4454
+ ],
4455
+ [
4456
+ 13,
4457
+ "coverage",
4458
+ [
4459
+ 6,
4460
+ [
4461
+ 7,
4462
+ "std",
4463
+ "clamp"
4464
+ ],
4465
+ [
4466
+ [
4467
+ 1,
4468
+ "lum",
4469
+ "*",
4470
+ "gain"
4471
+ ],
4472
+ [
4473
+ 6,
4474
+ [
4475
+ 7,
4476
+ "d",
4477
+ "f32"
4478
+ ],
4479
+ [[5, "0"]]
4480
+ ],
4481
+ [
4482
+ 6,
4483
+ [
4484
+ 7,
4485
+ "d",
4486
+ "f32"
4487
+ ],
4488
+ [[5, "1"]]
4489
+ ]
4490
+ ]
4491
+ ]
4492
+ ],
4493
+ [10, [
4494
+ 6,
4495
+ [
4496
+ 7,
4497
+ "d",
4498
+ "vec4f"
4499
+ ],
4500
+ ["dye", "coverage"]
4501
+ ]]
4502
+ ]],
4503
+ "externalNames": ["std", "d"]
4504
+ },
4505
+ externals: () => ({
4506
+ std,
4507
+ d
4508
+ })
4509
+ }) && $.f)({})).$name("inkFlowComposite");
4510
+ function srgbToLinear(c) {
4511
+ return c <= .04045 ? c / 12.92 : Math.pow((c + .055) / 1.055, 2.4);
4512
+ }
4513
+ function hueToLinearRgb(hue) {
4514
+ const h = (hue % 1 + 1) % 1;
4515
+ const i = Math.floor(h * 6);
4516
+ const f = h * 6 - i;
4517
+ const q = 1 - f;
4518
+ let r = 0;
4519
+ let g = 0;
4520
+ let b = 0;
4521
+ if (i === 0) {
4522
+ r = 1;
4523
+ g = f;
4524
+ b = 0;
4525
+ } else if (i === 1) {
4526
+ r = q;
4527
+ g = 1;
4528
+ b = 0;
4529
+ } else if (i === 2) {
4530
+ r = 0;
4531
+ g = 1;
4532
+ b = f;
4533
+ } else if (i === 3) {
4534
+ r = 0;
4535
+ g = q;
4536
+ b = 1;
4537
+ } else if (i === 4) {
4538
+ r = f;
4539
+ g = 0;
4540
+ b = 1;
4541
+ } else {
4542
+ r = 1;
4543
+ g = 0;
4544
+ b = q;
4545
+ }
4546
+ return [
4547
+ srgbToLinear(r),
4548
+ srgbToLinear(g),
4549
+ srgbToLinear(b)
4550
+ ];
4551
+ }
4552
+ const componentDefinition = {
4553
+ name: "InkFlow",
4554
+ boundingBoxDeclaration: { aspectRatio: null },
4555
+ category: "Interactive",
4556
+ description: "Drag to paint swirling ribbons of ink through a real fluid field — eddies keep evolving after you let go",
4557
+ requiresRTT: false,
4558
+ requiresChild: false,
4559
+ usesPointer: true,
4560
+ props: {
4561
+ colorMode: {
4562
+ default: "rainbow",
4563
+ description: "How the brush colour is chosen: an ever-cycling rainbow, a single fixed colour, or a custom three-colour cycle",
4564
+ ui: {
4565
+ type: "select",
4566
+ options: [
4567
+ {
4568
+ label: "Rainbow",
4569
+ value: "rainbow"
4570
+ },
4571
+ {
4572
+ label: "Single Color",
4573
+ value: "single"
4574
+ },
4575
+ {
4576
+ label: "Custom Colors",
4577
+ value: "custom"
4578
+ }
4579
+ ],
4580
+ label: "Color Mode",
4581
+ group: "Color"
4582
+ }
4583
+ },
4584
+ colorSpeed: {
4585
+ default: 1,
4586
+ description: "How quickly the brush cycles through the rainbow or the custom colours as you paint",
4587
+ ui: {
4588
+ type: "range",
4589
+ min: 0,
4590
+ max: 4,
4591
+ step: .05,
4592
+ label: "Color Speed",
4593
+ group: "Color",
4594
+ condition: { colorMode: ["rainbow", "custom"] }
4595
+ }
4596
+ },
4597
+ color: {
4598
+ default: "#ff2d7e",
4599
+ transform: transformColor,
4600
+ description: "Brush colour used when Color Mode is Single",
4601
+ ui: {
4602
+ type: "color",
4603
+ label: "Brush Color",
4604
+ group: "Color",
4605
+ condition: { colorMode: "single" }
4606
+ }
4607
+ },
4608
+ color1: {
4609
+ default: "#4338ff",
4610
+ transform: transformColor,
4611
+ description: "First colour of the custom brush cycle",
4612
+ ui: {
4613
+ type: "color",
4614
+ label: "Color 1",
4615
+ group: "Color",
4616
+ condition: { colorMode: "custom" }
4617
+ }
4618
+ },
4619
+ color2: {
4620
+ default: "#ff2d7e",
4621
+ transform: transformColor,
4622
+ description: "Second colour of the custom brush cycle",
4623
+ ui: {
4624
+ type: "color",
4625
+ label: "Color 2",
4626
+ group: "Color",
4627
+ condition: { colorMode: "custom" }
4628
+ }
4629
+ },
4630
+ color3: {
4631
+ default: "#19e3ff",
4632
+ transform: transformColor,
4633
+ description: "Third colour of the custom brush cycle",
4634
+ ui: {
4635
+ type: "color",
4636
+ label: "Color 3",
4637
+ group: "Color",
4638
+ condition: { colorMode: "custom" }
4639
+ }
4640
+ },
4641
+ colorSpace: {
4642
+ default: "oklab",
4643
+ transform: transformColorSpace,
4644
+ compileTime: true,
4645
+ description: "Colour space the custom colours blend through as the brush cycles between them",
4646
+ ui: {
4647
+ type: "select",
4648
+ options: colorSpaceOptions,
4649
+ label: "Color Space",
4650
+ group: "Color",
4651
+ condition: { colorMode: "custom" }
4652
+ }
4653
+ },
4654
+ radius: {
4655
+ default: .3,
4656
+ description: "Size of the ink splat painted under the cursor",
4657
+ ui: {
4658
+ type: "range",
4659
+ min: .1,
4660
+ max: 5,
4661
+ step: .05,
4662
+ label: "Radius",
4663
+ group: "Brush"
4664
+ }
4665
+ },
4666
+ force: {
4667
+ default: 1,
4668
+ description: "How hard the cursor's motion pushes the fluid — higher throws faster, more violent jets and curls",
4669
+ ui: {
4670
+ type: "range",
4671
+ min: 0,
4672
+ max: 3,
4673
+ step: .05,
4674
+ label: "Force",
4675
+ group: "Brush"
4676
+ }
4677
+ },
4678
+ curl: {
4679
+ default: 0,
4680
+ description: "Vorticity confinement — swirl energy that spins the ink into persistent eddies and curls",
4681
+ ui: {
4682
+ type: "range",
4683
+ min: 0,
4684
+ max: 60,
4685
+ step: 1,
4686
+ label: "Swirl",
4687
+ group: "Dynamics"
4688
+ }
4689
+ },
4690
+ decay: {
4691
+ default: .5,
4692
+ description: "How fast the ink fades away — low values leave long, lingering trails",
4693
+ ui: {
4694
+ type: "range",
4695
+ min: .05,
4696
+ max: 4,
4697
+ step: .05,
4698
+ label: "Decay",
4699
+ group: "Dynamics"
4700
+ }
4701
+ },
4702
+ momentum: {
4703
+ default: .6,
4704
+ description: "How long the fluid keeps flowing after a stroke — high momentum lets the motion carry on and on",
4705
+ ui: {
4706
+ type: "range",
4707
+ min: 0,
4708
+ max: 1,
4709
+ step: .01,
4710
+ label: "Momentum",
4711
+ group: "Dynamics"
4712
+ }
4713
+ }
4714
+ },
4715
+ compute: (params) => {
4716
+ const { gpu, getCpuValue, propValues, registerComputeTexture, onCleanup } = params;
4717
+ const root = gpu?.root;
4718
+ if (!root) return null;
4719
+ const velA = createStateBuffer(root, d.vec4f, COUNT);
4720
+ const velB = createStateBuffer(root, d.vec4f, COUNT);
4721
+ const dyeA = createStateBuffer(root, d.vec4f, COUNT);
4722
+ const dyeB = createStateBuffer(root, d.vec4f, COUNT);
4723
+ const pressure = createStateBuffer(root, d.f32, COUNT);
4724
+ const divergence = createStateBuffer(root, d.f32, COUNT);
4725
+ const outTex = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
4726
+ size: [N, N],
4727
+ format: STATE_FORMAT
4728
+ }).$usage("storage", "sampled"), "outTex");
4729
+ onCleanup(() => outTex.destroy());
4730
+ const dyeTexture = registerComputeTexture(outTex);
4731
+ const paramsU = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createUniform(FlowParams), "paramsU");
4732
+ const splatU = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createUniform(SplatParams), "splatU");
4733
+ const size = [N, N];
4734
+ const fluidBg = root.createBindGroup(fluidLayout, {
4735
+ velA,
4736
+ velB,
4737
+ dyeA,
4738
+ dyeB,
4739
+ pressure,
4740
+ divergence,
4741
+ params: paramsU.buffer
4742
+ });
4743
+ const splatBg = root.createBindGroup(splatLayout, {
4744
+ velA,
4745
+ dyeA,
4746
+ sparams: splatU.buffer
4747
+ });
4748
+ const outputBg = root.createBindGroup(outputLayout, {
4749
+ dyeA,
4750
+ outTex
4751
+ });
4752
+ const mk = (kernel) => createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
4753
+ "use gpu";
4754
+ kernel(cx, cy);
4755
+ }), {
4756
+ v: 1,
4757
+ name: void 0,
4758
+ ast: {
4759
+ "params": [{
4760
+ "type": "i",
4761
+ "name": "cx"
4762
+ }, {
4763
+ "type": "i",
4764
+ "name": "cy"
4765
+ }],
4766
+ "body": [0, [[
4767
+ 6,
4768
+ "kernel",
4769
+ ["cx", "cy"]
4770
+ ]]],
4771
+ "externalNames": ["kernel"]
4772
+ },
4773
+ externals: () => ({ kernel })
4774
+ }) && $.f)({}), {
4775
+ size,
4776
+ bindGroup: fluidBg
4777
+ });
4778
+ const spaceMode = propValues.colorSpace ?? 2;
4779
+ const activeSplatKernel = splatKernelVariants[spaceMode] ?? splatKernelVariants[2];
4780
+ const splat = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
4781
+ "use gpu";
4782
+ activeSplatKernel(cx, cy);
4783
+ }), {
4784
+ v: 1,
4785
+ name: void 0,
4786
+ ast: {
4787
+ "params": [{
4788
+ "type": "i",
4789
+ "name": "cx"
4790
+ }, {
4791
+ "type": "i",
4792
+ "name": "cy"
4793
+ }],
4794
+ "body": [0, [[
4795
+ 6,
4796
+ "activeSplatKernel",
4797
+ ["cx", "cy"]
4798
+ ]]],
4799
+ "externalNames": ["activeSplatKernel"]
4800
+ },
4801
+ externals: () => ({ activeSplatKernel })
4802
+ }) && $.f)({}), {
4803
+ size,
4804
+ bindGroup: splatBg
4805
+ });
4806
+ const curl = mk(curlKernel);
4807
+ const vorticity = mk(vorticityKernel);
4808
+ const divergencePass = mk(divergenceKernel);
4809
+ const jacobi = mk(jacobiKernel);
4810
+ const gradSubtract = mk(gradSubtractKernel);
4811
+ const advectVel = mk(advectVelKernel);
4812
+ const copyVel = mk(copyVelKernel);
4813
+ const advectDye = mk(advectDyeKernel);
4814
+ const copyDye = mk(copyDyeKernel);
4815
+ const output = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
4816
+ "use gpu";
4817
+ outputKernel(cx, cy);
4818
+ }), {
4819
+ v: 1,
4820
+ name: void 0,
4821
+ ast: {
4822
+ "params": [{
4823
+ "type": "i",
4824
+ "name": "cx"
4825
+ }, {
4826
+ "type": "i",
4827
+ "name": "cy"
4828
+ }],
4829
+ "body": [0, [[
4830
+ 6,
4831
+ "outputKernel",
4832
+ ["cx", "cy"]
4833
+ ]]],
4834
+ "externalNames": ["outputKernel"]
4835
+ },
4836
+ externals: () => ({ outputKernel })
4837
+ }) && $.f)({}), {
4838
+ size,
4839
+ bindGroup: outputBg
4840
+ });
4841
+ let lastTime = Date.now();
4842
+ let prevMx = .5;
4843
+ let prevMy = .5;
4844
+ let lastActiveAt = 0;
4845
+ let hueCursor = 0;
4846
+ const num = (key, fallback) => {
4847
+ const v = getCpuValue(key);
4848
+ return typeof v === "number" ? v : fallback;
4849
+ };
4850
+ return {
4851
+ outputs: { dyeTexture },
4852
+ getComputeNodes: (frameParams) => {
4853
+ const fp = frameParams;
4854
+ const now = Date.now();
4855
+ const dt = Math.min(fp.deltaTime ?? (now - lastTime) / 1e3, .033);
4856
+ lastTime = now;
4857
+ if (dt < .001) return null;
4858
+ const force = num("force", 1);
4859
+ const radiusGrid = Math.max(num("radius", .3) * .1 * N, 1);
4860
+ const colorSpeed = num("colorSpeed", 1);
4861
+ const mode = getCpuValue("colorMode") || "rainbow";
4862
+ hueCursor += dt * CYCLE_TIME_RATE * colorSpeed;
4863
+ const toRgb = (v, fallback) => {
4864
+ const c = v;
4865
+ return c && typeof c.r === "number" ? [
4866
+ c.r,
4867
+ c.g ?? 0,
4868
+ c.b ?? 0
4869
+ ] : fallback;
4870
+ };
4871
+ const conv = (c) => convertP3ToMixSpaceCPU(c[0], c[1], c[2], spaceMode);
4872
+ const customStops = mode === "custom" ? [
4873
+ conv(toRgb(getCpuValue("color1"), [
4874
+ .26,
4875
+ .22,
4876
+ 1
4877
+ ])),
4878
+ conv(toRgb(getCpuValue("color2"), [
4879
+ 1,
4880
+ .18,
4881
+ .49
4882
+ ])),
4883
+ conv(toRgb(getCpuValue("color3"), [
4884
+ .1,
4885
+ .89,
4886
+ 1
4887
+ ]))
4888
+ ] : null;
4889
+ const brushSplat = () => {
4890
+ hueCursor += CYCLE_PER_SPLAT * colorSpeed;
4891
+ if (customStops) {
4892
+ const h = (hueCursor % 1 + 1) % 1;
4893
+ const seg = Math.min(2, Math.floor(h * 3));
4894
+ return {
4895
+ a: customStops[seg],
4896
+ b: customStops[(seg + 1) % 3],
4897
+ t: h * 3 - seg
4898
+ };
4899
+ }
4900
+ if (mode === "single") {
4901
+ const c$1 = conv(toRgb(getCpuValue("color"), [
4902
+ 1,
4903
+ .18,
4904
+ .49
4905
+ ]));
4906
+ return {
4907
+ a: c$1,
4908
+ b: c$1,
4909
+ t: 0
4910
+ };
4911
+ }
4912
+ const c = conv(hueToLinearRgb(hueCursor));
4913
+ return {
4914
+ a: c,
4915
+ b: c,
4916
+ t: 0
4917
+ };
4918
+ };
4919
+ const oldMx = prevMx;
4920
+ const oldMy = prevMy;
4921
+ const mx = fp.pointer?.x ?? prevMx;
4922
+ const my = fp.pointer?.y ?? prevMy;
4923
+ const dxp = mx - oldMx;
4924
+ const dyp = my - oldMy;
4925
+ prevMx = mx;
4926
+ prevMy = my;
4927
+ const dragDist = Math.sqrt(dxp * dxp + dyp * dyp);
4928
+ const moving = dragDist > 6e-4 && dragDist < .25;
4929
+ if (moving) lastActiveAt = now;
4930
+ const idleFadeSecs = Math.log(64) / Math.max(num("decay", .5), .05);
4931
+ if (lastActiveAt === 0 || (now - lastActiveAt) / 1e3 > idleFadeSecs) return null;
4932
+ const momentum = Math.min(Math.max(num("momentum", .6), 0), 1);
4933
+ paramsU.write({
4934
+ dt,
4935
+ curlStrength: num("curl", 0),
4936
+ velFade: VEL_FADE_MAX * Math.pow(VEL_FADE_MIN / VEL_FADE_MAX, momentum),
4937
+ dyeFade: num("decay", .5)
4938
+ });
4939
+ const nodes = [];
4940
+ if (moving) {
4941
+ const velX = dxp / dt * N * force * IMPULSE_K;
4942
+ const velY = dyp / dt * N * force * IMPULSE_K;
4943
+ const stepSize = Math.max(.004, radiusGrid / N * .6);
4944
+ const numSteps = Math.min(MAX_STEPS, Math.max(1, Math.ceil(dragDist / stepSize)));
4945
+ for (let s = 0; s < numSteps; s++) {
4946
+ const t = (s + .5) / numSteps;
4947
+ const posX = (oldMx + dxp * t) * N;
4948
+ const posY = (oldMy + dyp * t) * N;
4949
+ const bc = brushSplat();
4950
+ nodes.push(() => splatU.write({
4951
+ posX,
4952
+ posY,
4953
+ velX,
4954
+ velY,
4955
+ colR: bc.a[0],
4956
+ colG: bc.a[1],
4957
+ colB: bc.a[2],
4958
+ col2R: bc.b[0],
4959
+ col2G: bc.b[1],
4960
+ col2B: bc.b[2],
4961
+ mixT: bc.t,
4962
+ radius: radiusGrid,
4963
+ strength: 1
4964
+ }));
4965
+ nodes.push(splat);
4966
+ }
4967
+ }
4968
+ nodes.push(curl, vorticity, divergencePass);
4969
+ for (let iter = 0; iter < JACOBI_ITERS; iter++) nodes.push(jacobi);
4970
+ nodes.push(gradSubtract, advectVel, copyVel, advectDye, copyDye, output);
4971
+ return nodes;
4972
+ }
4973
+ };
4974
+ },
4975
+ fragment: ({ ctx, computeOutputs }) => {
4976
+ const dyeField = computeOutputs?.dyeTexture;
4977
+ if (!dyeField) return ZERO;
4978
+ const out = call(inkFlowComposite, "inkFlowComposite", [dyeField.sample(ctx.uv, "linearClamp").member("rgb"), floatE(GAIN)]);
4979
+ return vec4(out.member("rgb"), out.member("a"));
4980
+ }
4981
+ };
4982
+ var InkFlow_default = componentDefinition;
4983
+ export { copyDyeKernel as a, divergenceKernel as c, jacobiKernel as d, outputKernel as f, componentDefinition as i, gradSubtractKernel as l, vorticityKernel as m, advectDyeKernel as n, copyVelKernel as o, splatKernel as p, advectVelKernel as r, curlKernel as s, InkFlow_default as t, inkFlowComposite as u };