shaders 3.0.448 → 3.0.450

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/core/{AngularBlur-xU811GPM.js → AngularBlur-4jt7bNoF.js} +15 -15
  3. package/dist/core/{Arc-DYvFxtGy.js → Arc-DXIfbBgd.js} +13 -12
  4. package/dist/core/{Ascii-ChE4BP7J.js → Ascii-GDof03Ca.js} +51 -53
  5. package/dist/core/{Aurora-BThE6pbb.js → Aurora-CS4vewUW.js} +63 -68
  6. package/dist/core/{BarShift-DdjkPSk3.js → BarShift-BtnYLQ0B.js} +31 -32
  7. package/dist/core/{BarnDoors-B_kxVuec.js → BarnDoors-Dw9K-amf.js} +21 -22
  8. package/dist/core/{Beam-C7zPHuIU.js → Beam-D_cyaMjJ.js} +32 -39
  9. package/dist/core/{Bend-CFcEjifF.js → Bend-CSs5UIh8.js} +27 -28
  10. package/dist/core/{Blob-CgUolAhz.js → Blob-h25zA5WH.js} +54 -60
  11. package/dist/core/{BlockDissolve-CLSxXB4e.js → BlockDissolve-CKN_KvLP.js} +21 -20
  12. package/dist/core/{BlockNoise-BgEJOicU.js → BlockNoise-DhKyd_F7.js} +16 -14
  13. package/dist/core/{BlueNoise-BqMtBLxM.js → BlueNoise-Auhzq4x5.js} +12 -10
  14. package/dist/core/{Blur-Xaa6jVPT.js → Blur-CcxMqYsu.js} +27 -27
  15. package/dist/core/{Boids-B8QUNxRL.js → Boids-D51U46GF.js} +916 -787
  16. package/dist/core/{BokehBlur-B5fql96U.js → BokehBlur-Cfaqbh3I.js} +104 -104
  17. package/dist/core/{BrickPattern-EAD5HD4e.js → BrickPattern-tASwilX0.js} +34 -38
  18. package/dist/core/{BrightnessContrast-mbv32DkA.js → BrightnessContrast-ZCKqJW7i.js} +9 -10
  19. package/dist/core/{BrushedMetal-B10fDdGt.js → BrushedMetal-B6gSVB28.js} +81 -84
  20. package/dist/core/{Bulge-C1Pq4DHk.js → Bulge-dCYtWP4S.js} +19 -19
  21. package/dist/core/{CRTScreen-Ctx0Mxtb.js → CRTScreen-CVY1lOGL.js} +35 -37
  22. package/dist/core/{CarbonFiber-DSSARe6R.js → CarbonFiber-Do9EONKv.js} +81 -84
  23. package/dist/core/{Chalkboard-C7srb54u.js → Chalkboard-0hyyGnYl.js} +59 -61
  24. package/dist/core/{ChannelBlur-DE3T4-pj.js → ChannelBlur-DcZKCKXi.js} +13 -15
  25. package/dist/core/{CheckerWipe-Dp49-iaT.js → CheckerWipe-BIE62tJ1.js} +23 -23
  26. package/dist/core/{Checkerboard-oVWtS0rz.js → Checkerboard-CRnfu63u.js} +31 -31
  27. package/dist/core/{Chevron-CCD5JTRA.js → Chevron-Ld_v4z9T.js} +20 -20
  28. package/dist/core/{ChromaFlow-BiE9Mes0.js → ChromaFlow-CTWeauIr.js} +32 -33
  29. package/dist/core/{ChromaticAberration-XEasUrD3.js → ChromaticAberration-CxuOb68m.js} +13 -13
  30. package/dist/core/{Circle-CvQ9duDU.js → Circle-XP1B5rsN.js} +14 -13
  31. package/dist/core/{ColorWheel-CXvfWAjN.js → ColorWheel-CFU_OmOW.js} +30 -34
  32. package/dist/core/{CompressionArtifacts-BDaP7XI6.js → CompressionArtifacts-Bc9xTdQP.js} +64 -66
  33. package/dist/core/{ConcentricSpin-D06hFXEb.js → ConcentricSpin-DTJytpAk.js} +39 -41
  34. package/dist/core/{ConicGradient-Cg6vy3gl.js → ConicGradient-C-4uDmQj.js} +17 -18
  35. package/dist/core/{ContourLines-Cg2Dlmcr.js → ContourLines-C8p6f-1y.js} +29 -30
  36. package/dist/core/{CornerPin-wtqiMUCa.js → CornerPin-CB92kX10.js} +55 -57
  37. package/dist/core/{Crescent-Co__JqEE.js → Crescent-Dk4nlG8T.js} +14 -13
  38. package/dist/core/{Cross-CFytbdrZ.js → Cross-DsnI1U8g.js} +14 -13
  39. package/dist/core/{Crystal-U7VqhbHy.js → Crystal-CR_sG2y7.js} +143 -152
  40. package/dist/core/{CurlNoise-BXWYh1Qi.js → CurlNoise-DJ27ih0F.js} +16 -14
  41. package/dist/core/{CursorRipples-APbH7SVR.js → CursorRipples-CuO3sZga.js} +59 -58
  42. package/dist/core/{CursorTrail-D5Fj0wGp.js → CursorTrail-d4xx4QpM.js} +72 -71
  43. package/dist/core/{DataMosh-CWRLpjU3.js → DataMosh-BhvE-2yC.js} +71 -73
  44. package/dist/core/{DiamondGradient-C_2VoEiQ.js → DiamondGradient-CtOVKrYf.js} +23 -25
  45. package/dist/core/{DiamondWipe-BkdNODD1.js → DiamondWipe-D-yiQBVj.js} +22 -22
  46. package/dist/core/{DiffuseBlur-Dl7S4KBW.js → DiffuseBlur-BDf-Czxz.js} +11 -12
  47. package/dist/core/{DisplacementMap-lv-qoLem.js → DisplacementMap-B_jf_2lj.js} +26 -26
  48. package/dist/core/{Dither-B33J_gJU.js → Dither-D3P6EJU8.js} +116 -119
  49. package/dist/core/{DotGrid-DaOhiRaL.js → DotGrid-BnSVhJlh.js} +37 -39
  50. package/dist/core/{DropShadow-C5Z2Rs2C.js → DropShadow-BSKVH3n3.js} +37 -37
  51. package/dist/core/{Duotone-x4cywJbU.js → Duotone-DfjYuK2u.js} +7 -7
  52. package/dist/core/{Ellipse-CrQ1XYjx.js → Ellipse-D7_1QKaa.js} +13 -12
  53. package/dist/core/{Emboss-DNwO5JcE.js → Emboss-ZiPslqzl.js} +76 -78
  54. package/dist/core/{Engraving-FsaRQiyI.js → Engraving-DsfkKajz.js} +57 -59
  55. package/dist/core/{ErosionNoise-CloHpdFT.js → ErosionNoise-SELArv9H.js} +13 -11
  56. package/dist/core/{Exposure-mO6KjYvc.js → Exposure-A7WlTOti.js} +4 -5
  57. package/dist/core/{FallingLines-D_1wHUkx.js → FallingLines-9PRMb_Ou.js} +40 -42
  58. package/dist/core/{FilmGrain-DDhrsw94.js → FilmGrain-SXzVDesw.js} +17 -18
  59. package/dist/core/{FilmStock-BaP2aTLu.js → FilmStock-RK4fk4m0.js} +74 -74
  60. package/dist/core/{Flip-DYuqyJva.js → Flip-DjoNWG4v.js} +10 -12
  61. package/dist/core/{FloatingParticles-DJwNpHtZ.js → FloatingParticles-D7vUF5g7.js} +637 -451
  62. package/dist/core/{FlowField-D4iGiDic.js → FlowField-tHrXhd1b.js} +24 -23
  63. package/dist/core/{Flower-D0MqoayS.js → Flower-BfehbmmG.js} +14 -13
  64. package/dist/core/{FlowingGradient-9Zu0Pu4a.js → FlowingGradient-BTKjkx5F.js} +38 -39
  65. package/dist/core/{FlutedGlass-C_clmShu.js → FlutedGlass-uFT7iy_9.js} +43 -43
  66. package/dist/core/{Fog-C_kY5pWB.js → Fog-Cu1CMATa.js} +172 -171
  67. package/dist/core/{Form3D-D4aXZGoJ.js → Form3D-D0ji-MeC.js} +259 -267
  68. package/dist/core/{FractalNoise-mMVLGmIv.js → FractalNoise-D9HYiOdr.js} +30 -28
  69. package/dist/core/{Frost-M53tZlcf.js → Frost-DQZZxdTk.js} +70 -73
  70. package/dist/core/{GaborNoise-BhXywN1d.js → GaborNoise-D7BP0K4g.js} +16 -14
  71. package/dist/core/{Glass-B9D_52op.js → Glass-CzCVnGn-.js} +6 -4
  72. package/dist/core/{GlassTiles-DIkGYgVE.js → GlassTiles-DJzPPqwz.js} +23 -26
  73. package/dist/core/{Glitch-CUOJt5VX.js → Glitch-D1Dx8__X.js} +84 -72
  74. package/dist/core/{Glow-D5AdnLvU.js → Glow-Bd9_o_Kv.js} +76 -77
  75. package/dist/core/{Godrays-BeQCWVw7.js → Godrays-DRPRWGPm.js} +52 -56
  76. package/dist/core/{Goo-C0_0QYne.js → Goo-28A_pNBg.js} +64 -65
  77. package/dist/core/{GradientMap-DOVK05_a.js → GradientMap-D8dv-1AX.js} +47 -50
  78. package/dist/core/{Grayscale-Uv_6LYA9.js → Grayscale-BlVXBVwW.js} +6 -6
  79. package/dist/core/{Grid-Dbp4DoXZ.js → Grid-D9vlHvs1.js} +46 -48
  80. package/dist/core/{GridDistortion-D_21zIrm.js → GridDistortion-BpqDvqj6.js} +63 -62
  81. package/dist/core/{Group-DXiB5Qrx.js → Group-bwQnJRec.js} +1 -1
  82. package/dist/core/{HTMLInCanvas-xXPLTYIv.js → HTMLInCanvas-gCf64ozE.js} +1 -1
  83. package/dist/core/{Halftone-DszIQsyx.js → Halftone-B_WouxiP.js} +59 -62
  84. package/dist/core/{Heart-COpnSJPD.js → Heart-Bmt2TLNz.js} +12 -11
  85. package/dist/core/{Heatmap-CMm8SD-P.js → Heatmap-Ruef741_.js} +57 -55
  86. package/dist/core/{HexGrid-B6wNW-45.js → HexGrid-By9k0YuI.js} +32 -35
  87. package/dist/core/{Hologram-XejRN51V.js → Hologram-Cf25ONOE.js} +62 -66
  88. package/dist/core/{Holographic-D1G_Ou1y.js → Holographic-C9RzYykt.js} +58 -61
  89. package/dist/core/{HueShift-BCDgYfJs.js → HueShift-V3gQVuIo.js} +7 -10
  90. package/dist/core/{ImageTexture-BE2Jlkg6.js → ImageTexture-DAUR2N5Q.js} +3 -2
  91. package/dist/core/{InkFlow-DJaJqula.js → InkFlow-DlP1gmr4.js} +156 -156
  92. package/dist/core/{Invert-DDmITZjt.js → Invert-K648khvD.js} +4 -4
  93. package/dist/core/{IrisWipe-BFs5DDSa.js → IrisWipe-Clkd_5CA.js} +20 -23
  94. package/dist/core/{IsometricCubes-ChKqYTIw.js → IsometricCubes-CzfAwpQ5.js} +37 -42
  95. package/dist/core/{Kaleidoscope-C8_-tC6T.js → Kaleidoscope-B9k6HkNn.js} +21 -21
  96. package/dist/core/{KeyFrames-xR9ZzHKj.js → KeyFrames-DX6JFhsy.js} +130 -129
  97. package/dist/core/{LensFlare-DHGNEDIX.js → LensFlare-G73cvrIG.js} +82 -84
  98. package/dist/core/{LightEdge-DYfhB3-7.js → LightEdge-D3i7HUR9.js} +106 -107
  99. package/dist/core/{LightLeak-CYjuMURe.js → LightLeak-B8yGreP-.js} +58 -59
  100. package/dist/core/{LinearBlur-CV7gKYHV.js → LinearBlur-BEzNPe0e.js} +14 -14
  101. package/dist/core/{LinearGradient-DAzw65UB.js → LinearGradient-XjXyaoii.js} +36 -37
  102. package/dist/core/{LinearWipe-DoDZF7y0.js → LinearWipe-Doj9aS5n.js} +20 -21
  103. package/dist/core/{LiquidMetal-C9OxRyE4.js → LiquidMetal-CWV_RQip.js} +70 -73
  104. package/dist/core/{Liquify-gNsuR7aA.js → Liquify-DWrgFruC.js} +67 -66
  105. package/dist/core/{MagneticFilings-CQ7zHEow.js → MagneticFilings-Co0V07-1.js} +996 -756
  106. package/dist/core/{Marble-BSSMSrv8.js → Marble-D13mDBvL.js} +22 -21
  107. package/dist/core/{Mirror-BZAUA2jk.js → Mirror-DvukM_eG.js} +18 -18
  108. package/dist/core/{MultiPointGradient-HSfAYB-u.js → MultiPointGradient-CyK_Ty9a.js} +30 -31
  109. package/dist/core/{Neon-D9d6Osal.js → Neon-DD8qY6H9.js} +102 -113
  110. package/dist/core/{NoiseDissolve-CnELvUG_.js → NoiseDissolve-CeX3VO8J.js} +23 -22
  111. package/dist/core/{ObjectTracker-COh35yTh.js → ObjectTracker-BWo8H1kh.js} +3 -3
  112. package/dist/core/{PagePeel-B6sjmvZ1.js → PagePeel-BL5IeBeD.js} +54 -58
  113. package/dist/core/{Paper-LfukraJk.js → Paper-BAq9MqtG.js} +16 -15
  114. package/dist/core/{Parallelogram-DBi0yAG3.js → Parallelogram-DYzFG9ci.js} +14 -13
  115. package/dist/core/{ParticleField-q7COY9YT.js → ParticleField-Bl4uztO7.js} +1489 -1340
  116. package/dist/core/{ParticleFlow-DiHWbIon.js → ParticleFlow-RPxLP8HC.js} +1422 -1149
  117. package/dist/core/{Particles-BFsKUAPx.js → Particles-BDEX4Fw2.js} +866 -656
  118. package/dist/core/{PerlinNoise-KV2GG0ts.js → PerlinNoise-BtXlaEd8.js} +16 -14
  119. package/dist/core/{Perspective-CJSrtEy5.js → Perspective-CdU5nAEn.js} +23 -25
  120. package/dist/core/{PixelSort-WD-Y6ZFu.js → PixelSort-C7TX1ClH.js} +109 -109
  121. package/dist/core/{PixelThrow-CnOXm7Hv.js → PixelThrow-DpKEZPMK.js} +35 -35
  122. package/dist/core/{Pixelate-XJI9f1oT.js → Pixelate-C2OQUtqr.js} +19 -19
  123. package/dist/core/{Plasma-C0dnSaw1.js → Plasma-DLq9HroF.js} +33 -32
  124. package/dist/core/{Plastic-DBv_6A7q.js → Plastic-C2hiOaXw.js} +82 -84
  125. package/dist/core/{PolarCoordinates-B8Cq2bzT.js → PolarCoordinates-Bumv-Hi3.js} +16 -18
  126. package/dist/core/{Polygon-ORM35JKg.js → Polygon-DOpR58g4.js} +16 -17
  127. package/dist/core/{Posterize-Dn-Vv2S1.js → Posterize-CVNOkDme.js} +5 -8
  128. package/dist/core/{Prism-CYLsGJHY.js → Prism-CCQ1BsBL.js} +36 -40
  129. package/dist/core/{ProgressiveBlur-BXUumCm5.js → ProgressiveBlur-Cprr1XSE.js} +63 -65
  130. package/dist/core/{RadialGradient-j6T56q1W.js → RadialGradient-CsmCSySC.js} +22 -23
  131. package/dist/core/{RadialWipe-Bz19qvls.js → RadialWipe-BAnsqol4.js} +25 -25
  132. package/dist/core/{RandomBars-3RlhwDYG.js → RandomBars-DdhtxO8o.js} +23 -23
  133. package/dist/core/{ReactionDiffusion-DdXavIVw.js → ReactionDiffusion-Bih4xEtV.js} +173 -175
  134. package/dist/core/{RectangularCoordinates-p3250IKV.js → RectangularCoordinates-CKKA2oY1.js} +14 -14
  135. package/dist/core/{ReflectivePlane-BOl9AEoO.js → ReflectivePlane-u3Tje37M.js} +35 -37
  136. package/dist/core/{Repeater-BMXmN95R.js → Repeater-C-agsqBS.js} +2 -2
  137. package/dist/core/{Ring-DKcROHDs.js → Ring-Cj7bR89h.js} +15 -14
  138. package/dist/core/{RippleWipe-QH8D0Y-2.js → RippleWipe-VL1MMd5o.js} +24 -27
  139. package/dist/core/{Ripples-8fFdo6aq.js → Ripples-B88TeopS.js} +18 -21
  140. package/dist/core/{RoundedRect-Cr76tP9o.js → RoundedRect-jn8_QLrT.js} +14 -13
  141. package/dist/core/{Saturation-Dqifs1x7.js → Saturation-dCNIhHq2.js} +8 -9
  142. package/dist/core/{Scratches-sa8JU4Eb.js → Scratches-Dz_1Ptk0.js} +16 -14
  143. package/dist/core/{Sharpness-IRuPd9nn.js → Sharpness-Bxq4YiRL.js} +21 -22
  144. package/dist/core/{Shatter-BYaxMvyd.js → Shatter-DsuYUr-1.js} +73 -72
  145. package/dist/core/{SimplexNoise-C2vmRzgy.js → SimplexNoise-CvalBPNF.js} +19 -17
  146. package/dist/core/{SineWave-BGAJyGFr.js → SineWave-XPK5BsPB.js} +20 -20
  147. package/dist/core/{SliceWipe-BOcCk5Se.js → SliceWipe-gSs_VRwf.js} +19 -19
  148. package/dist/core/{Smoke-B1twbhQ4.js → Smoke-kzRXFLW9.js} +156 -155
  149. package/dist/core/{SmokeFill-CAayneM2.js → SmokeFill-DQZeqiwX.js} +233 -231
  150. package/dist/core/{SmokeFlow-Ug8difAz.js → SmokeFlow-n23YvKoI.js} +143 -142
  151. package/dist/core/{Solarize-205KKROH.js → Solarize-DINiQSz1.js} +12 -14
  152. package/dist/core/{SolidColor-B4pj8onb.js → SolidColor-Cu_9b_my.js} +1 -1
  153. package/dist/core/{Spherize-DUQxwwCL.js → Spherize-BLY2eqBV.js} +31 -37
  154. package/dist/core/{Spiral-DY1c-N4F.js → Spiral-CWCmvI3m.js} +36 -36
  155. package/dist/core/{Star-DRxNaHHo.js → Star-9WSeF-vW.js} +14 -13
  156. package/dist/core/{Stone-CUdcvOWd.js → Stone-CVO2Ey8i.js} +2 -2
  157. package/dist/core/{Strands-CFxYJMFu.js → Strands-D9Sz1vX9.js} +47 -49
  158. package/dist/core/{Stretch-DYrVdt8A.js → Stretch-DMT2Y6kN.js} +19 -19
  159. package/dist/core/{Stripes-BvnoWdwn.js → Stripes-DPVbOQkX.js} +39 -39
  160. package/dist/core/{StudioBackground-srQGUpfZ.js → StudioBackground-5JgYClrr.js} +67 -68
  161. package/dist/core/{SunBurst-COsVDZ4e.js → SunBurst-Din5CIAU.js} +18 -20
  162. package/dist/core/{Surface3D-TsGPzdGm.js → Surface3D-CW2ApEgt.js} +1934 -1528
  163. package/dist/core/{Swirl-nXMWVY2X.js → Swirl-DrchXPfh.js} +18 -21
  164. package/dist/core/{Teardrop-Bjtkigk4.js → Teardrop-CDt_XA4d.js} +13 -12
  165. package/dist/core/{Text-BGdsqRl5.js → Text-o_dubJeo.js} +20 -21
  166. package/dist/core/{ThinFilm-DhMKI5e2.js → ThinFilm-d7IlUY62.js} +59 -67
  167. package/dist/core/{TiltShift-BwuYyXB6.js → TiltShift-DJVcMb_M.js} +66 -67
  168. package/dist/core/{TimeTrail-CE2XumxR.js → TimeTrail-D1Gir7BK.js} +1003 -1647
  169. package/dist/core/{Tint-BTmcGjEl.js → Tint-Cak_PyOJ.js} +25 -26
  170. package/dist/core/{Trapezoid-CiZCh8QS.js → Trapezoid-DnFhlKCD.js} +14 -13
  171. package/dist/core/{TriangularGrid-BnQOEljy.js → TriangularGrid-BE9CgVlb.js} +34 -36
  172. package/dist/core/{Tritone-Ta084wlF.js → Tritone-mqU9b4YZ.js} +7 -10
  173. package/dist/core/{Truchet-BxCh_IIp.js → Truchet-yLdaw6z4.js} +31 -33
  174. package/dist/core/{Twirl-Cw4jm59Q.js → Twirl-SA6uh8pI.js} +16 -16
  175. package/dist/core/{VHS-Nwk0E-tf.js → VHS-Ch-bVeit.js} +68 -69
  176. package/dist/core/{VenetianBlinds-BZ0sS97G.js → VenetianBlinds-CboEoPIZ.js} +22 -23
  177. package/dist/core/{Vesica-Cf1KiSzK.js → Vesica-DmJWzk7E.js} +13 -12
  178. package/dist/core/{Vibrance-qWGvLkrW.js → Vibrance-7rW_G3qT.js} +7 -8
  179. package/dist/core/{VideoTexture-48ylVDvN.js → VideoTexture-Ctk5_1F8.js} +34 -39
  180. package/dist/core/{Vignette-CK_Li7v2.js → Vignette-DXtlR5LT.js} +20 -22
  181. package/dist/core/{Voronoi-DMYFDwIS.js → Voronoi-B0ZrQ6QO.js} +33 -37
  182. package/dist/core/{Water-D74wbHmn.js → Water-DfwGqSnM.js} +101 -108
  183. package/dist/core/{Watercolor-zo8-4Vqx.js → Watercolor-BAShYSu7.js} +305 -389
  184. package/dist/core/{WaveDistortion-BLrvGOzF.js → WaveDistortion-Cj4QBBKm.js} +80 -82
  185. package/dist/core/{WaveletNoise-a5OpO8-D.js → WaveletNoise-DYiU_ziD.js} +16 -14
  186. package/dist/core/{Weave-D1D3kuUg.js → Weave-DVefdB9i.js} +28 -31
  187. package/dist/core/{WebcamTexture-pBETyQYG.js → WebcamTexture-BO9jNxcP.js} +7 -7
  188. package/dist/core/{Wool-CMnWPdy9.js → Wool-D304TmpD.js} +2 -2
  189. package/dist/core/{WorleyNoise-BAEo0duh.js → WorleyNoise-B5FBTklZ.js} +69 -70
  190. package/dist/core/{ZoomBlur-CnBNmcfx.js → ZoomBlur-DxySopLs.js} +12 -12
  191. package/dist/core/agents-c-JjGH1b.js +1440 -0
  192. package/dist/core/blur-DKmdsW6d.js +2247 -0
  193. package/dist/core/compute-BoeIXi0l.js +31 -0
  194. package/dist/core/dataEncoding-CEmpiitu.js +24 -0
  195. package/dist/core/device-BODv_4aH.js +10 -0
  196. package/dist/core/edges-BZUKQxSE.js +29857 -0
  197. package/dist/core/{glass-sOqjtPJD.js → glass-BVqgjSPg.js} +164 -172
  198. package/dist/core/gpu/index.d.ts.map +1 -1
  199. package/dist/core/gpu/kit/agents.d.ts +17 -1
  200. package/dist/core/gpu/kit/agents.d.ts.map +1 -1
  201. package/dist/core/gpu/passManager.d.ts +6 -2
  202. package/dist/core/gpu/passManager.d.ts.map +1 -1
  203. package/dist/core/gpu/textures.d.ts +2 -2
  204. package/dist/core/gpu/textures.d.ts.map +1 -1
  205. package/dist/core/index.js +324 -226
  206. package/dist/core/media-Ds6MRfGR.js +757 -0
  207. package/dist/core/noise-Cq0KUOSC.js +12033 -0
  208. package/dist/core/noiseColor-CQyzqpVZ.js +103 -0
  209. package/dist/core/{noiseColor-CRpf22bk.js → noiseColor-DjCUZ_8u.js} +2 -2
  210. package/dist/core/noiseStylize-fKVcJbGK.js +359 -0
  211. package/dist/core/porters-DogLzpKT.js +991 -0
  212. package/dist/core/presetRenderer.d.ts.map +1 -1
  213. package/dist/core/registry.js +208 -199
  214. package/dist/core/sdf-o99ONcMJ.js +5174 -0
  215. package/dist/core/shaderRegistry-BSrnuqx-.js +425 -0
  216. package/dist/core/shaders/AngularBlur/index.js +5 -4
  217. package/dist/core/shaders/Arc/index.js +7 -4
  218. package/dist/core/shaders/Ascii/index.js +5 -4
  219. package/dist/core/shaders/Aurora/index.js +6 -4
  220. package/dist/core/shaders/BarShift/index.js +5 -4
  221. package/dist/core/shaders/BarnDoors/index.js +5 -4
  222. package/dist/core/shaders/Beam/index.js +5 -4
  223. package/dist/core/shaders/Bend/index.js +5 -4
  224. package/dist/core/shaders/Blob/index.js +5 -4
  225. package/dist/core/shaders/BlockDissolve/index.js +6 -4
  226. package/dist/core/shaders/BlockNoise/index.js +8 -5
  227. package/dist/core/shaders/BlueNoise/index.js +8 -5
  228. package/dist/core/shaders/Blur/index.js +6 -4
  229. package/dist/core/shaders/Boids/index.d.ts +3 -3
  230. package/dist/core/shaders/Boids/index.d.ts.map +1 -1
  231. package/dist/core/shaders/Boids/index.js +9 -5
  232. package/dist/core/shaders/BokehBlur/index.js +6 -4
  233. package/dist/core/shaders/BrickPattern/index.js +5 -4
  234. package/dist/core/shaders/BrightnessContrast/index.js +5 -4
  235. package/dist/core/shaders/BrushedMetal/index.js +11 -6
  236. package/dist/core/shaders/Bulge/index.js +5 -4
  237. package/dist/core/shaders/CRTScreen/index.js +5 -4
  238. package/dist/core/shaders/CarbonFiber/index.js +11 -6
  239. package/dist/core/shaders/Chalkboard/index.js +5 -4
  240. package/dist/core/shaders/ChannelBlur/index.js +6 -4
  241. package/dist/core/shaders/CheckerWipe/index.js +5 -4
  242. package/dist/core/shaders/Checkerboard/index.js +5 -4
  243. package/dist/core/shaders/Chevron/index.js +5 -4
  244. package/dist/core/shaders/ChromaFlow/index.js +6 -4
  245. package/dist/core/shaders/ChromaticAberration/index.js +5 -4
  246. package/dist/core/shaders/Circle/index.js +7 -4
  247. package/dist/core/shaders/ColorWheel/index.js +5 -4
  248. package/dist/core/shaders/CompressionArtifacts/index.js +5 -4
  249. package/dist/core/shaders/ConcentricSpin/index.js +5 -4
  250. package/dist/core/shaders/ConicGradient/index.js +5 -4
  251. package/dist/core/shaders/ContourLines/index.js +5 -4
  252. package/dist/core/shaders/CornerPin/index.js +5 -4
  253. package/dist/core/shaders/Crescent/index.js +7 -4
  254. package/dist/core/shaders/Cross/index.js +7 -4
  255. package/dist/core/shaders/Crystal/index.js +11 -6
  256. package/dist/core/shaders/CurlNoise/index.js +8 -5
  257. package/dist/core/shaders/CursorRipples/index.js +5 -4
  258. package/dist/core/shaders/CursorTrail/index.js +5 -4
  259. package/dist/core/shaders/DataMosh/index.js +5 -4
  260. package/dist/core/shaders/DiamondGradient/index.js +5 -4
  261. package/dist/core/shaders/DiamondWipe/index.js +5 -4
  262. package/dist/core/shaders/DiffuseBlur/index.js +5 -4
  263. package/dist/core/shaders/DisplacementMap/index.js +5 -4
  264. package/dist/core/shaders/Dither/index.js +5 -4
  265. package/dist/core/shaders/DotGrid/index.js +5 -4
  266. package/dist/core/shaders/DropShadow/index.js +5 -4
  267. package/dist/core/shaders/Duotone/index.js +5 -4
  268. package/dist/core/shaders/Ellipse/index.js +7 -4
  269. package/dist/core/shaders/Emboss/index.js +10 -6
  270. package/dist/core/shaders/Engraving/index.js +6 -4
  271. package/dist/core/shaders/ErosionNoise/index.js +8 -5
  272. package/dist/core/shaders/Exposure/index.js +5 -4
  273. package/dist/core/shaders/FallingLines/index.js +5 -4
  274. package/dist/core/shaders/FilmGrain/index.js +5 -4
  275. package/dist/core/shaders/FilmStock/index.js +6 -4
  276. package/dist/core/shaders/Flip/index.js +5 -4
  277. package/dist/core/shaders/FloatingParticles/index.d.ts +9 -4
  278. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  279. package/dist/core/shaders/FloatingParticles/index.js +9 -5
  280. package/dist/core/shaders/FlowField/index.js +6 -4
  281. package/dist/core/shaders/Flower/index.js +7 -4
  282. package/dist/core/shaders/FlowingGradient/index.js +6 -4
  283. package/dist/core/shaders/FlutedGlass/index.js +5 -4
  284. package/dist/core/shaders/Fog/index.js +5 -4
  285. package/dist/core/shaders/Form3D/index.js +5 -4
  286. package/dist/core/shaders/FractalNoise/index.js +7 -4
  287. package/dist/core/shaders/Frost/index.js +11 -6
  288. package/dist/core/shaders/GaborNoise/index.js +8 -5
  289. package/dist/core/shaders/Glass/index.js +11 -6
  290. package/dist/core/shaders/GlassTiles/index.js +5 -4
  291. package/dist/core/shaders/Glitch/index.d.ts +1 -1
  292. package/dist/core/shaders/Glitch/index.d.ts.map +1 -1
  293. package/dist/core/shaders/Glitch/index.js +5 -4
  294. package/dist/core/shaders/Glow/index.js +6 -4
  295. package/dist/core/shaders/Godrays/index.js +5 -4
  296. package/dist/core/shaders/Goo/index.js +10 -6
  297. package/dist/core/shaders/GradientMap/index.js +5 -4
  298. package/dist/core/shaders/Grayscale/index.js +5 -4
  299. package/dist/core/shaders/Grid/index.js +5 -4
  300. package/dist/core/shaders/GridDistortion/index.js +5 -4
  301. package/dist/core/shaders/Group/index.js +5 -4
  302. package/dist/core/shaders/HTMLInCanvas/index.js +5 -4
  303. package/dist/core/shaders/Halftone/index.js +5 -4
  304. package/dist/core/shaders/Heart/index.js +7 -4
  305. package/dist/core/shaders/Heatmap/index.js +11 -6
  306. package/dist/core/shaders/HexGrid/index.js +5 -4
  307. package/dist/core/shaders/Hologram/index.js +11 -6
  308. package/dist/core/shaders/Holographic/index.js +11 -6
  309. package/dist/core/shaders/HueShift/index.js +5 -4
  310. package/dist/core/shaders/ImageTexture/index.js +7 -5
  311. package/dist/core/shaders/InkFlow/index.js +5 -4
  312. package/dist/core/shaders/Invert/index.js +5 -4
  313. package/dist/core/shaders/IrisWipe/index.js +5 -4
  314. package/dist/core/shaders/IsometricCubes/index.js +5 -4
  315. package/dist/core/shaders/Kaleidoscope/index.js +5 -4
  316. package/dist/core/shaders/KeyFrames/index.js +5 -4
  317. package/dist/core/shaders/LensFlare/index.js +5 -4
  318. package/dist/core/shaders/LightEdge/index.js +11 -6
  319. package/dist/core/shaders/LightLeak/index.js +6 -4
  320. package/dist/core/shaders/LinearBlur/index.js +5 -4
  321. package/dist/core/shaders/LinearGradient/index.js +5 -4
  322. package/dist/core/shaders/LinearWipe/index.js +5 -4
  323. package/dist/core/shaders/LiquidMetal/index.js +11 -6
  324. package/dist/core/shaders/Liquify/index.js +5 -4
  325. package/dist/core/shaders/MagneticFilings/index.d.ts +0 -2
  326. package/dist/core/shaders/MagneticFilings/index.d.ts.map +1 -1
  327. package/dist/core/shaders/MagneticFilings/index.js +9 -5
  328. package/dist/core/shaders/Marble/index.js +6 -4
  329. package/dist/core/shaders/Mirror/index.js +5 -4
  330. package/dist/core/shaders/MultiPointGradient/index.js +5 -4
  331. package/dist/core/shaders/Neon/index.js +9 -5
  332. package/dist/core/shaders/NoiseDissolve/index.js +6 -4
  333. package/dist/core/shaders/ObjectTracker/index.js +6 -5
  334. package/dist/core/shaders/PagePeel/index.js +5 -4
  335. package/dist/core/shaders/Paper/index.js +6 -4
  336. package/dist/core/shaders/Parallelogram/index.js +7 -4
  337. package/dist/core/shaders/ParticleField/index.d.ts +10 -5
  338. package/dist/core/shaders/ParticleField/index.d.ts.map +1 -1
  339. package/dist/core/shaders/ParticleField/index.js +9 -5
  340. package/dist/core/shaders/ParticleFlow/index.d.ts +10 -4
  341. package/dist/core/shaders/ParticleFlow/index.d.ts.map +1 -1
  342. package/dist/core/shaders/ParticleFlow/index.js +9 -5
  343. package/dist/core/shaders/Particles/index.d.ts +4 -3
  344. package/dist/core/shaders/Particles/index.d.ts.map +1 -1
  345. package/dist/core/shaders/Particles/index.js +12 -6
  346. package/dist/core/shaders/PerlinNoise/index.js +8 -5
  347. package/dist/core/shaders/Perspective/index.js +5 -4
  348. package/dist/core/shaders/PixelSort/index.js +5 -4
  349. package/dist/core/shaders/PixelThrow/index.js +6 -4
  350. package/dist/core/shaders/Pixelate/index.js +5 -4
  351. package/dist/core/shaders/Plasma/index.js +6 -4
  352. package/dist/core/shaders/Plastic/index.js +11 -6
  353. package/dist/core/shaders/PolarCoordinates/index.js +5 -4
  354. package/dist/core/shaders/Polygon/index.js +7 -4
  355. package/dist/core/shaders/Posterize/index.js +5 -4
  356. package/dist/core/shaders/Prism/index.js +5 -4
  357. package/dist/core/shaders/ProgressiveBlur/index.js +6 -4
  358. package/dist/core/shaders/RadialGradient/index.js +5 -4
  359. package/dist/core/shaders/RadialWipe/index.js +5 -4
  360. package/dist/core/shaders/RandomBars/index.js +6 -4
  361. package/dist/core/shaders/ReactionDiffusion/index.js +5 -4
  362. package/dist/core/shaders/RectangularCoordinates/index.js +5 -4
  363. package/dist/core/shaders/ReflectivePlane/index.js +6 -4
  364. package/dist/core/shaders/Repeater/index.js +5 -4
  365. package/dist/core/shaders/Ring/index.js +7 -4
  366. package/dist/core/shaders/RippleWipe/index.js +5 -4
  367. package/dist/core/shaders/Ripples/index.js +5 -4
  368. package/dist/core/shaders/RoundedRect/index.js +7 -4
  369. package/dist/core/shaders/Saturation/index.js +5 -4
  370. package/dist/core/shaders/Scratches/index.js +8 -5
  371. package/dist/core/shaders/Sharpness/index.js +5 -4
  372. package/dist/core/shaders/Shatter/index.js +6 -4
  373. package/dist/core/shaders/SimplexNoise/index.js +7 -4
  374. package/dist/core/shaders/SineWave/index.js +5 -4
  375. package/dist/core/shaders/SliceWipe/index.js +5 -4
  376. package/dist/core/shaders/Smoke/index.js +5 -4
  377. package/dist/core/shaders/SmokeFill/index.js +10 -6
  378. package/dist/core/shaders/SmokeFlow/index.js +5 -4
  379. package/dist/core/shaders/Solarize/index.js +5 -4
  380. package/dist/core/shaders/SolidColor/index.js +2 -2
  381. package/dist/core/shaders/Spherize/index.js +5 -4
  382. package/dist/core/shaders/Spiral/index.js +5 -4
  383. package/dist/core/shaders/Star/index.js +7 -4
  384. package/dist/core/shaders/Stone/index.js +4 -3
  385. package/dist/core/shaders/Strands/index.js +5 -4
  386. package/dist/core/shaders/Stretch/index.js +5 -4
  387. package/dist/core/shaders/Stripes/index.js +5 -4
  388. package/dist/core/shaders/StudioBackground/index.js +5 -4
  389. package/dist/core/shaders/SunBurst/index.js +5 -4
  390. package/dist/core/shaders/Surface3D/index.d.ts +4 -2
  391. package/dist/core/shaders/Surface3D/index.d.ts.map +1 -1
  392. package/dist/core/shaders/Surface3D/index.js +7 -4
  393. package/dist/core/shaders/Swirl/index.js +5 -4
  394. package/dist/core/shaders/Teardrop/index.js +7 -4
  395. package/dist/core/shaders/Text/index.js +6 -5
  396. package/dist/core/shaders/ThinFilm/index.js +9 -5
  397. package/dist/core/shaders/TiltShift/index.js +6 -4
  398. package/dist/core/shaders/TimeTrail/index.d.ts +47 -1
  399. package/dist/core/shaders/TimeTrail/index.d.ts.map +1 -1
  400. package/dist/core/shaders/TimeTrail/index.js +7 -5
  401. package/dist/core/shaders/Tint/index.js +5 -4
  402. package/dist/core/shaders/Trapezoid/index.js +7 -4
  403. package/dist/core/shaders/TriangularGrid/index.js +5 -4
  404. package/dist/core/shaders/Tritone/index.js +5 -4
  405. package/dist/core/shaders/Truchet/index.js +5 -4
  406. package/dist/core/shaders/Twirl/index.js +5 -4
  407. package/dist/core/shaders/VHS/index.js +5 -4
  408. package/dist/core/shaders/VenetianBlinds/index.js +5 -4
  409. package/dist/core/shaders/Vesica/index.js +7 -4
  410. package/dist/core/shaders/Vibrance/index.js +5 -4
  411. package/dist/core/shaders/VideoTexture/index.js +6 -5
  412. package/dist/core/shaders/Vignette/index.js +5 -4
  413. package/dist/core/shaders/Voronoi/index.js +5 -4
  414. package/dist/core/shaders/Water/index.js +11 -6
  415. package/dist/core/shaders/Watercolor/index.d.ts +1 -1
  416. package/dist/core/shaders/Watercolor/index.d.ts.map +1 -1
  417. package/dist/core/shaders/Watercolor/index.js +6 -4
  418. package/dist/core/shaders/WaveDistortion/index.js +5 -4
  419. package/dist/core/shaders/WaveletNoise/index.js +8 -5
  420. package/dist/core/shaders/Weave/index.js +5 -4
  421. package/dist/core/shaders/WebcamTexture/index.js +7 -5
  422. package/dist/core/shaders/Wool/index.js +4 -3
  423. package/dist/core/shaders/WorleyNoise/index.js +5 -4
  424. package/dist/core/shaders/ZoomBlur/index.js +5 -4
  425. package/dist/core/shapeEffectBounds-Dg4GQ5vW.js +19213 -0
  426. package/dist/core/utilities/transformations/index.js +1 -1
  427. package/dist/js/bundle.js +188 -184
  428. package/dist/js/createShader.js +1 -1
  429. package/dist/react/Shader.js +1 -1
  430. package/dist/react/bundle.js +197 -193
  431. package/dist/registry.js +0 -1
  432. package/dist/solid/engine/Shader.js +1 -1
  433. package/dist/svelte/index.js +1 -1
  434. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  435. package/package.json +1 -1
  436. package/dist/core/coords-BkIjixe_.js +0 -55724
  437. package/dist/core/noiseStylize-J6sFKoTh.js +0 -65
  438. package/dist/core/porters-BmU6G9TR.js +0 -321
  439. package/dist/core/shaderRegistry-D75z2sND.js +0 -425
  440. package/dist/core/shapeEffectBounds-PQqKLQXO.js +0 -406
  441. /package/dist/core/{fonts-DwhbVe2B.js → fonts-v_F1SFl9.js} +0 -0
  442. /package/dist/core/{naturalSize-Caz3-kRv.js → naturalSize-B679wTgN.js} +0 -0
  443. /package/dist/core/{transformations-t0d2-uSX.js → transformations-CsPUHppB.js} +0 -0
@@ -1,50 +1,36 @@
1
- import { Bt as ZERO, Ht as call, J as std, Kt as floatE, Tn as d, X as createGuardedCompute, cn as unpremultiplyAlpha, dn as hslToRgb, ln as colorMixing_exports, n as tgpu, on as blendModes, xn as rgbToHsl } from "./coords-BkIjixe_.js";
2
- import { a as transformColor } from "./transformations-t0d2-uSX.js";
3
- var STATE_RES = 768;
1
+ import { Et as fract, F as colorMixing_exports, Kt as texture2d, N as unpremultiplyAlpha, Ot as max, Qt as struct, R as hslToRgb, St as dot, Ut as data_exports, Y as rgbToHsl, _ as floatE, at as textureSampleLevel, d as ZERO, et as src_default, ht as abs, in as vec3f, it as textureLoad, j as blendModes, ln as u32, mt as select, nt as std_exports, on as vec4f, ot as textureStore, p as call, qt as textureStorage2d, rn as vec2u, sn as f32, tn as vec2f, zt as smoothstep } from "./edges-BZUKQxSE.js";
2
+ import { n as createGuardedCompute } from "./compute-BoeIXi0l.js";
3
+ import { t as isMobileGpuViewport } from "./device-BODv_4aH.js";
4
+ import { a as transformColor } from "./transformations-CsPUHppB.js";
5
+ var STATE_RES = isMobileGpuViewport() ? 384 : 640;
4
6
  var STATE_FORMAT = "rgba16float";
5
- var DIFFUSE_TEXELS = 2.5;
7
+ var DIFFUSE_HALF_UV = 2.5 * .5 / STATE_RES;
6
8
  var DRIFT_SCALE = .5;
7
9
  var RAINBOW_RATE = .35;
8
- var TrailParams = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(d.struct({
9
- persistence: d.f32,
10
- diffusion: d.f32,
11
- driftX: d.f32,
12
- driftY: d.f32,
13
- dt: d.f32,
14
- zoom: d.f32,
15
- hueRate: d.f32,
16
- blendMode: d.f32,
17
- motionMode: d.f32,
18
- motionThreshold: d.f32
10
+ var TrailParams = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(struct({
11
+ persistence: f32,
12
+ diffusion: f32,
13
+ driftX: f32,
14
+ driftY: f32,
15
+ dt: f32,
16
+ zoom: f32,
17
+ hueRate: f32,
18
+ blendMode: f32,
19
+ motionThreshold: f32
19
20
  }), "TrailParams");
20
- var trailLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(tgpu.bindGroupLayout({
21
- src: { texture: d.texture2d(d.f32) },
22
- prev: { texture: d.texture2d(d.f32) },
23
- next: { storageTexture: d.textureStorage2d(STATE_FORMAT, "write-only") },
24
- display: { storageTexture: d.textureStorage2d(STATE_FORMAT, "write-only") },
25
- prevLive: { texture: d.texture2d(d.f32) },
26
- prevLiveOut: { storageTexture: d.textureStorage2d(STATE_FORMAT, "write-only") },
21
+ var trailLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(src_default.bindGroupLayout({
22
+ src: { texture: texture2d(f32) },
23
+ prev: { texture: texture2d(f32) },
24
+ next: { storageTexture: textureStorage2d(STATE_FORMAT, "write-only") },
25
+ display: { storageTexture: textureStorage2d(STATE_FORMAT, "write-only") },
26
+ prevLive: { texture: texture2d(f32) },
27
+ prevLiveOut: { storageTexture: textureStorage2d(STATE_FORMAT, "write-only") },
28
+ samp: { sampler: "filtering" },
27
29
  params: { uniform: TrailParams }
28
30
  }), "trailLayout");
29
- const timeTrailSampleHistory = tgpu.fn([d.f32, d.f32], d.vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uvx, uvy) => {
31
+ const timeTrailSampleHistory = src_default.fn([f32, f32], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uvx, uvy) => {
30
32
  "use gpu";
31
- const res = d.f32(STATE_RES);
32
- const maxT = __tsover_sub(res, 1);
33
- const su = __tsover_sub(__tsover_mul(std.clamp(uvx, d.f32(0), d.f32(1)), res), .5);
34
- const sv = __tsover_sub(__tsover_mul(std.clamp(uvy, d.f32(0), d.f32(1)), res), .5);
35
- const x0 = std.floor(su);
36
- const y0 = std.floor(sv);
37
- const fx = __tsover_sub(su, x0);
38
- const fy = __tsover_sub(sv, y0);
39
- const ix0 = d.u32(std.clamp(x0, d.f32(0), maxT));
40
- const ix1 = d.u32(std.clamp(__tsover_add(x0, 1), d.f32(0), maxT));
41
- const iy0 = d.u32(std.clamp(y0, d.f32(0), maxT));
42
- const iy1 = d.u32(std.clamp(__tsover_add(y0, 1), d.f32(0), maxT));
43
- const p00 = std.textureLoad(trailLayout.$.prev, d.vec2u(ix0, iy0), 0);
44
- const p10 = std.textureLoad(trailLayout.$.prev, d.vec2u(ix1, iy0), 0);
45
- const p01 = std.textureLoad(trailLayout.$.prev, d.vec2u(ix0, iy1), 0);
46
- const p11 = std.textureLoad(trailLayout.$.prev, d.vec2u(ix1, iy1), 0);
47
- return std.mix(std.mix(p00, p10, fx), std.mix(p01, p11, fx), fy);
33
+ return textureSampleLevel(trailLayout.$.prev, trailLayout.$.samp, vec2f(uvx, uvy), f32(0));
48
34
  }), {
49
35
  v: 1,
50
36
  name: void 0,
@@ -56,10 +42,41 @@ const timeTrailSampleHistory = tgpu.fn([d.f32, d.f32], d.vec4f)(/* @__PURE__ */
56
42
  "type": "i",
57
43
  "name": "uvy"
58
44
  }],
59
- "body": [0, [
45
+ "body": [0, [[10, [
46
+ 6,
60
47
  [
61
- 13,
62
- "res",
48
+ 7,
49
+ "std",
50
+ "textureSampleLevel"
51
+ ],
52
+ [
53
+ [
54
+ 7,
55
+ [
56
+ 7,
57
+ "trailLayout",
58
+ "$"
59
+ ],
60
+ "prev"
61
+ ],
62
+ [
63
+ 7,
64
+ [
65
+ 7,
66
+ "trailLayout",
67
+ "$"
68
+ ],
69
+ "samp"
70
+ ],
71
+ [
72
+ 6,
73
+ [
74
+ 7,
75
+ "d",
76
+ "vec2f"
77
+ ],
78
+ ["uvx", "uvy"]
79
+ ],
63
80
  [
64
81
  6,
65
82
  [
@@ -67,422 +84,307 @@ const timeTrailSampleHistory = tgpu.fn([d.f32, d.f32], d.vec4f)(/* @__PURE__ */
67
84
  "d",
68
85
  "f32"
69
86
  ],
70
- ["STATE_RES"]
87
+ [[5, "0"]]
71
88
  ]
72
- ],
89
+ ]
90
+ ]]]],
91
+ "externalNames": [
92
+ "std",
93
+ "trailLayout",
94
+ "d"
95
+ ]
96
+ },
97
+ externals: () => ({
98
+ std: std_exports,
99
+ trailLayout,
100
+ d: data_exports
101
+ })
102
+ }) && $.f)({}));
103
+ const timeTrailSampleLive = src_default.fn([f32, f32], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uvx, uvy) => {
104
+ "use gpu";
105
+ return textureSampleLevel(trailLayout.$.src, trailLayout.$.samp, vec2f(uvx, uvy), f32(0));
106
+ }), {
107
+ v: 1,
108
+ name: void 0,
109
+ ast: {
110
+ "params": [{
111
+ "type": "i",
112
+ "name": "uvx"
113
+ }, {
114
+ "type": "i",
115
+ "name": "uvy"
116
+ }],
117
+ "body": [0, [[10, [
118
+ 6,
73
119
  [
74
- 13,
75
- "maxT",
76
- [
77
- 1,
78
- "res",
79
- "-",
80
- [5, "1"]
81
- ]
120
+ 7,
121
+ "std",
122
+ "textureSampleLevel"
82
123
  ],
83
124
  [
84
- 13,
85
- "su",
86
125
  [
87
- 1,
126
+ 7,
88
127
  [
89
- 1,
90
- [
91
- 6,
92
- [
93
- 7,
94
- "std",
95
- "clamp"
96
- ],
97
- [
98
- "uvx",
99
- [
100
- 6,
101
- [
102
- 7,
103
- "d",
104
- "f32"
105
- ],
106
- [[5, "0"]]
107
- ],
108
- [
109
- 6,
110
- [
111
- 7,
112
- "d",
113
- "f32"
114
- ],
115
- [[5, "1"]]
116
- ]
117
- ]
118
- ],
119
- "*",
120
- "res"
128
+ 7,
129
+ "trailLayout",
130
+ "$"
121
131
  ],
122
- "-",
123
- [5, "0.5"]
124
- ]
125
- ],
126
- [
127
- 13,
128
- "sv",
132
+ "src"
133
+ ],
129
134
  [
130
- 1,
135
+ 7,
131
136
  [
132
- 1,
133
- [
134
- 6,
135
- [
136
- 7,
137
- "std",
138
- "clamp"
139
- ],
140
- [
141
- "uvy",
142
- [
143
- 6,
144
- [
145
- 7,
146
- "d",
147
- "f32"
148
- ],
149
- [[5, "0"]]
150
- ],
151
- [
152
- 6,
153
- [
154
- 7,
155
- "d",
156
- "f32"
157
- ],
158
- [[5, "1"]]
159
- ]
160
- ]
161
- ],
162
- "*",
163
- "res"
137
+ 7,
138
+ "trailLayout",
139
+ "$"
164
140
  ],
165
- "-",
166
- [5, "0.5"]
167
- ]
168
- ],
169
- [
170
- 13,
171
- "x0",
141
+ "samp"
142
+ ],
172
143
  [
173
144
  6,
174
145
  [
175
146
  7,
176
- "std",
177
- "floor"
147
+ "d",
148
+ "vec2f"
178
149
  ],
179
- ["su"]
180
- ]
181
- ],
182
- [
183
- 13,
184
- "y0",
150
+ ["uvx", "uvy"]
151
+ ],
185
152
  [
186
153
  6,
187
154
  [
188
155
  7,
189
- "std",
190
- "floor"
156
+ "d",
157
+ "f32"
191
158
  ],
192
- ["sv"]
193
- ]
194
- ],
195
- [
196
- 13,
197
- "fx",
198
- [
199
- 1,
200
- "su",
201
- "-",
202
- "x0"
203
- ]
204
- ],
205
- [
206
- 13,
207
- "fy",
208
- [
209
- 1,
210
- "sv",
211
- "-",
212
- "y0"
159
+ [[5, "0"]]
213
160
  ]
214
- ],
161
+ ]
162
+ ]]]],
163
+ "externalNames": [
164
+ "std",
165
+ "trailLayout",
166
+ "d"
167
+ ]
168
+ },
169
+ externals: () => ({
170
+ std: std_exports,
171
+ trailLayout,
172
+ d: data_exports
173
+ })
174
+ }) && $.f)({}));
175
+ const timeTrailMotionMask = src_default.fn([
176
+ vec4f,
177
+ vec4f,
178
+ f32
179
+ ], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((live, prev, threshold) => {
180
+ "use gpu";
181
+ const dRgb = abs(live.xyz.sub(prev.xyz));
182
+ const dA = abs(__tsover_sub(live.w, prev.w));
183
+ const diff = __tsover_add(dot(dRgb, vec3f(.299, .587, .114)), dA);
184
+ return smoothstep(threshold, __tsover_add(__tsover_mul(threshold, 2), .001), diff);
185
+ }), {
186
+ v: 1,
187
+ name: void 0,
188
+ ast: {
189
+ "params": [
190
+ {
191
+ "type": "i",
192
+ "name": "live"
193
+ },
194
+ {
195
+ "type": "i",
196
+ "name": "prev"
197
+ },
198
+ {
199
+ "type": "i",
200
+ "name": "threshold"
201
+ }
202
+ ],
203
+ "body": [0, [
215
204
  [
216
205
  13,
217
- "ix0",
206
+ "dRgb",
218
207
  [
219
208
  6,
220
209
  [
221
210
  7,
222
- "d",
223
- "u32"
211
+ "std",
212
+ "abs"
224
213
  ],
225
214
  [[
226
215
  6,
227
216
  [
228
217
  7,
229
- "std",
230
- "clamp"
231
- ],
232
- [
233
- "x0",
234
218
  [
235
- 6,
236
- [
237
- 7,
238
- "d",
239
- "f32"
240
- ],
241
- [[5, "0"]]
219
+ 7,
220
+ "live",
221
+ "xyz"
242
222
  ],
243
- "maxT"
244
- ]
223
+ "sub"
224
+ ],
225
+ [[
226
+ 7,
227
+ "prev",
228
+ "xyz"
229
+ ]]
245
230
  ]]
246
231
  ]
247
232
  ],
248
233
  [
249
234
  13,
250
- "ix1",
235
+ "dA",
251
236
  [
252
237
  6,
253
238
  [
254
239
  7,
255
- "d",
256
- "u32"
240
+ "std",
241
+ "abs"
257
242
  ],
258
243
  [[
259
- 6,
244
+ 1,
260
245
  [
261
246
  7,
262
- "std",
263
- "clamp"
247
+ "live",
248
+ "w"
264
249
  ],
250
+ "-",
265
251
  [
266
- [
267
- 1,
268
- "x0",
269
- "+",
270
- [5, "1"]
271
- ],
272
- [
273
- 6,
274
- [
275
- 7,
276
- "d",
277
- "f32"
278
- ],
279
- [[5, "0"]]
280
- ],
281
- "maxT"
252
+ 7,
253
+ "prev",
254
+ "w"
282
255
  ]
283
256
  ]]
284
257
  ]
285
258
  ],
286
259
  [
287
260
  13,
288
- "iy0",
261
+ "diff",
289
262
  [
290
- 6,
263
+ 1,
291
264
  [
292
- 7,
293
- "d",
294
- "u32"
295
- ],
296
- [[
297
265
  6,
298
266
  [
299
267
  7,
300
268
  "std",
301
- "clamp"
269
+ "dot"
302
270
  ],
303
- [
304
- "y0",
271
+ ["dRgb", [
272
+ 6,
305
273
  [
306
- 6,
307
- [
308
- 7,
309
- "d",
310
- "f32"
311
- ],
312
- [[5, "0"]]
313
- ],
314
- "maxT"
315
- ]
316
- ]]
317
- ]
318
- ],
319
- [
320
- 13,
321
- "iy1",
322
- [
323
- 6,
324
- [
325
- 7,
326
- "d",
327
- "u32"
328
- ],
329
- [[
330
- 6,
331
- [
332
- 7,
333
- "std",
334
- "clamp"
335
- ],
336
- [
337
- [
338
- 1,
339
- "y0",
340
- "+",
341
- [5, "1"]
274
+ 7,
275
+ "d",
276
+ "vec3f"
342
277
  ],
343
278
  [
344
- 6,
345
- [
346
- 7,
347
- "d",
348
- "f32"
349
- ],
350
- [[5, "0"]]
351
- ],
352
- "maxT"
353
- ]
354
- ]]
279
+ [5, "0.299"],
280
+ [5, "0.587"],
281
+ [5, "0.114"]
282
+ ]
283
+ ]]
284
+ ],
285
+ "+",
286
+ "dA"
355
287
  ]
356
288
  ],
357
- [
358
- 13,
359
- "p00",
289
+ [10, [
290
+ 6,
360
291
  [
361
- 6,
362
- [
363
- 7,
364
- "std",
365
- "textureLoad"
366
- ],
292
+ 7,
293
+ "std",
294
+ "smoothstep"
295
+ ],
296
+ [
297
+ "threshold",
367
298
  [
299
+ 1,
368
300
  [
369
- 7,
370
- [
371
- 7,
372
- "trailLayout",
373
- "$"
374
- ],
375
- "prev"
376
- ],
377
- [
378
- 6,
379
- [
380
- 7,
381
- "d",
382
- "vec2u"
383
- ],
384
- ["ix0", "iy0"]
301
+ 1,
302
+ "threshold",
303
+ "*",
304
+ [5, "2"]
385
305
  ],
386
- [5, "0"]
387
- ]
306
+ "+",
307
+ [5, "0.001"]
308
+ ],
309
+ "diff"
388
310
  ]
389
- ],
311
+ ]]
312
+ ]],
313
+ "externalNames": ["std", "d"]
314
+ },
315
+ externals: () => ({
316
+ std: std_exports,
317
+ d: data_exports
318
+ })
319
+ }) && $.f)({}));
320
+ const timeTrailRotateHue = src_default.fn([vec3f, f32], vec3f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((rgb, amount) => {
321
+ "use gpu";
322
+ const hsl = rgbToHsl(rgb);
323
+ return hslToRgb(vec3f(fract(__tsover_add(hsl.x, amount)), hsl.y, hsl.z));
324
+ }), {
325
+ v: 1,
326
+ name: void 0,
327
+ ast: {
328
+ "params": [{
329
+ "type": "i",
330
+ "name": "rgb"
331
+ }, {
332
+ "type": "i",
333
+ "name": "amount"
334
+ }],
335
+ "body": [0, [
390
336
  [
391
337
  13,
392
- "p10",
338
+ "hsl",
393
339
  [
394
340
  6,
395
341
  [
396
342
  7,
397
- "std",
398
- "textureLoad"
343
+ "colorMixing",
344
+ "rgbToHsl"
399
345
  ],
400
- [
401
- [
402
- 7,
403
- [
404
- 7,
405
- "trailLayout",
406
- "$"
407
- ],
408
- "prev"
409
- ],
410
- [
411
- 6,
412
- [
413
- 7,
414
- "d",
415
- "vec2u"
416
- ],
417
- ["ix1", "iy0"]
418
- ],
419
- [5, "0"]
420
- ]
346
+ ["rgb"]
421
347
  ]
422
348
  ],
423
349
  [
424
350
  13,
425
- "p01",
351
+ "rotated",
426
352
  [
427
353
  6,
428
354
  [
429
355
  7,
430
- "std",
431
- "textureLoad"
356
+ "d",
357
+ "vec3f"
432
358
  ],
433
359
  [
434
- [
435
- 7,
436
- [
437
- 7,
438
- "trailLayout",
439
- "$"
440
- ],
441
- "prev"
442
- ],
443
360
  [
444
361
  6,
445
362
  [
446
363
  7,
447
- "d",
448
- "vec2u"
364
+ "std",
365
+ "fract"
449
366
  ],
450
- ["ix0", "iy1"]
367
+ [[
368
+ 1,
369
+ [
370
+ 7,
371
+ "hsl",
372
+ "x"
373
+ ],
374
+ "+",
375
+ "amount"
376
+ ]]
451
377
  ],
452
- [5, "0"]
453
- ]
454
- ]
455
- ],
456
- [
457
- 13,
458
- "p11",
459
- [
460
- 6,
461
- [
462
- 7,
463
- "std",
464
- "textureLoad"
465
- ],
466
- [
467
378
  [
468
379
  7,
469
- [
470
- 7,
471
- "trailLayout",
472
- "$"
473
- ],
474
- "prev"
380
+ "hsl",
381
+ "y"
475
382
  ],
476
383
  [
477
- 6,
478
- [
479
- 7,
480
- "d",
481
- "vec2u"
482
- ],
483
- ["ix1", "iy1"]
484
- ],
485
- [5, "0"]
384
+ 7,
385
+ "hsl",
386
+ "z"
387
+ ]
486
388
  ]
487
389
  ]
488
390
  ],
@@ -490,351 +392,270 @@ const timeTrailSampleHistory = tgpu.fn([d.f32, d.f32], d.vec4f)(/* @__PURE__ */
490
392
  6,
491
393
  [
492
394
  7,
493
- "std",
494
- "mix"
395
+ "colorMixing",
396
+ "hslToRgb"
397
+ ],
398
+ ["rotated"]
399
+ ]]
400
+ ]],
401
+ "externalNames": [
402
+ "colorMixing",
403
+ "d",
404
+ "std"
405
+ ]
406
+ },
407
+ externals: () => ({
408
+ colorMixing: colorMixing_exports,
409
+ d: data_exports,
410
+ std: std_exports
411
+ })
412
+ }) && $.f)({}));
413
+ const timeTrailTexelUv = src_default.fn([u32, u32], vec2f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
414
+ "use gpu";
415
+ const res = f32(STATE_RES);
416
+ return vec2f(__tsover_div(__tsover_add(f32(cx), .5), res), __tsover_div(__tsover_add(f32(cy), .5), res));
417
+ }), {
418
+ v: 1,
419
+ name: void 0,
420
+ ast: {
421
+ "params": [{
422
+ "type": "i",
423
+ "name": "cx"
424
+ }, {
425
+ "type": "i",
426
+ "name": "cy"
427
+ }],
428
+ "body": [0, [[
429
+ 13,
430
+ "res",
431
+ [
432
+ 6,
433
+ [
434
+ 7,
435
+ "d",
436
+ "f32"
495
437
  ],
438
+ ["STATE_RES"]
439
+ ]
440
+ ], [10, [
441
+ 6,
442
+ [
443
+ 7,
444
+ "d",
445
+ "vec2f"
446
+ ],
447
+ [[
448
+ 1,
496
449
  [
450
+ 1,
497
451
  [
498
452
  6,
499
453
  [
500
454
  7,
501
- "std",
502
- "mix"
455
+ "d",
456
+ "f32"
503
457
  ],
504
- [
505
- "p00",
506
- "p10",
507
- "fx"
508
- ]
458
+ ["cx"]
509
459
  ],
460
+ "+",
461
+ [5, "0.5"]
462
+ ],
463
+ "/",
464
+ "res"
465
+ ], [
466
+ 1,
467
+ [
468
+ 1,
510
469
  [
511
470
  6,
512
471
  [
513
472
  7,
514
- "std",
515
- "mix"
473
+ "d",
474
+ "f32"
516
475
  ],
517
- [
518
- "p01",
519
- "p11",
520
- "fx"
521
- ]
476
+ ["cy"]
522
477
  ],
523
- "fy"
524
- ]
478
+ "+",
479
+ [5, "0.5"]
480
+ ],
481
+ "/",
482
+ "res"
525
483
  ]]
526
- ]],
527
- "externalNames": [
528
- "d",
529
- "STATE_RES",
530
- "std",
531
- "trailLayout"
532
- ]
484
+ ]]]],
485
+ "externalNames": ["d", "STATE_RES"]
533
486
  },
534
487
  externals: () => ({
535
- d,
536
- STATE_RES,
537
- std,
538
- trailLayout
488
+ d: data_exports,
489
+ STATE_RES
539
490
  })
540
491
  }) && $.f)({}));
541
- const timeTrailMotionMask = tgpu.fn([
542
- d.vec4f,
543
- d.vec4f,
544
- d.f32
545
- ], d.f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((live, prev, threshold) => {
492
+ const timeTrailFeedbackUv = src_default.fn([vec2f], vec2f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uv) => {
546
493
  "use gpu";
547
- const dRgb = std.abs(live.xyz.sub(prev.xyz));
548
- const dA = std.abs(__tsover_sub(live.w, prev.w));
549
- const diff = __tsover_add(std.dot(dRgb, d.vec3f(.299, .587, .114)), dA);
550
- return std.smoothstep(threshold, __tsover_add(__tsover_mul(threshold, 2), .001), diff);
494
+ const P = trailLayout.$.params;
495
+ const zoom = max(P.zoom, .01);
496
+ return vec2f(__tsover_sub(__tsover_add(__tsover_div(__tsover_sub(uv.x, .5), zoom), .5), __tsover_mul(__tsover_mul(P.driftX, P.dt), DRIFT_SCALE)), __tsover_sub(__tsover_add(__tsover_div(__tsover_sub(uv.y, .5), zoom), .5), __tsover_mul(__tsover_mul(P.driftY, P.dt), DRIFT_SCALE)));
551
497
  }), {
552
498
  v: 1,
553
499
  name: void 0,
554
500
  ast: {
555
- "params": [
556
- {
557
- "type": "i",
558
- "name": "live"
559
- },
560
- {
561
- "type": "i",
562
- "name": "prev"
563
- },
564
- {
565
- "type": "i",
566
- "name": "threshold"
567
- }
568
- ],
501
+ "params": [{
502
+ "type": "i",
503
+ "name": "uv"
504
+ }],
569
505
  "body": [0, [
570
506
  [
571
507
  13,
572
- "dRgb",
508
+ "P",
573
509
  [
574
- 6,
510
+ 7,
575
511
  [
576
512
  7,
577
- "std",
578
- "abs"
513
+ "trailLayout",
514
+ "$"
579
515
  ],
580
- [[
581
- 6,
582
- [
583
- 7,
584
- [
585
- 7,
586
- "live",
587
- "xyz"
588
- ],
589
- "sub"
590
- ],
591
- [[
592
- 7,
593
- "prev",
594
- "xyz"
595
- ]]
596
- ]]
516
+ "params"
597
517
  ]
598
518
  ],
599
519
  [
600
520
  13,
601
- "dA",
521
+ "zoom",
602
522
  [
603
523
  6,
604
524
  [
605
525
  7,
606
526
  "std",
607
- "abs"
527
+ "max"
608
528
  ],
609
529
  [[
610
- 1,
611
- [
612
- 7,
613
- "live",
614
- "w"
615
- ],
616
- "-",
617
- [
618
- 7,
619
- "prev",
620
- "w"
621
- ]
622
- ]]
623
- ]
624
- ],
625
- [
626
- 13,
627
- "diff",
628
- [
629
- 1,
630
- [
631
- 6,
632
- [
633
- 7,
634
- "std",
635
- "dot"
636
- ],
637
- ["dRgb", [
638
- 6,
639
- [
640
- 7,
641
- "d",
642
- "vec3f"
643
- ],
644
- [
645
- [5, "0.299"],
646
- [5, "0.587"],
647
- [5, "0.114"]
648
- ]
649
- ]]
650
- ],
651
- "+",
652
- "dA"
530
+ 7,
531
+ "P",
532
+ "zoom"
533
+ ], [5, "0.01"]]
653
534
  ]
654
535
  ],
655
536
  [10, [
656
537
  6,
657
538
  [
658
539
  7,
659
- "std",
660
- "smoothstep"
540
+ "d",
541
+ "vec2f"
661
542
  ],
662
- [
663
- "threshold",
543
+ [[
544
+ 1,
664
545
  [
665
546
  1,
666
547
  [
667
548
  1,
668
- "threshold",
669
- "*",
670
- [5, "2"]
549
+ [
550
+ 1,
551
+ [
552
+ 7,
553
+ "uv",
554
+ "x"
555
+ ],
556
+ "-",
557
+ [5, "0.5"]
558
+ ],
559
+ "/",
560
+ "zoom"
671
561
  ],
672
562
  "+",
673
- [5, "0.001"]
674
- ],
675
- "diff"
676
- ]
677
- ]]
678
- ]],
679
- "externalNames": ["std", "d"]
680
- },
681
- externals: () => ({
682
- std,
683
- d
684
- })
685
- }) && $.f)({}));
686
- const timeTrailRotateHue = tgpu.fn([d.vec3f, d.f32], d.vec3f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((rgb, amount) => {
687
- "use gpu";
688
- const hsl = rgbToHsl(rgb);
689
- return hslToRgb(d.vec3f(std.fract(__tsover_add(hsl.x, amount)), hsl.y, hsl.z));
690
- }), {
691
- v: 1,
692
- name: void 0,
693
- ast: {
694
- "params": [{
695
- "type": "i",
696
- "name": "rgb"
697
- }, {
698
- "type": "i",
699
- "name": "amount"
700
- }],
701
- "body": [0, [
702
- [
703
- 13,
704
- "hsl",
705
- [
706
- 6,
707
- [
708
- 7,
709
- "colorMixing",
710
- "rgbToHsl"
711
- ],
712
- ["rgb"]
713
- ]
714
- ],
715
- [
716
- 13,
717
- "rotated",
718
- [
719
- 6,
720
- [
721
- 7,
722
- "d",
723
- "vec3f"
563
+ [5, "0.5"]
724
564
  ],
565
+ "-",
725
566
  [
567
+ 1,
726
568
  [
727
- 6,
569
+ 1,
728
570
  [
729
571
  7,
730
- "std",
731
- "fract"
572
+ "P",
573
+ "driftX"
732
574
  ],
733
- [[
575
+ "*",
576
+ [
577
+ 7,
578
+ "P",
579
+ "dt"
580
+ ]
581
+ ],
582
+ "*",
583
+ "DRIFT_SCALE"
584
+ ]
585
+ ], [
586
+ 1,
587
+ [
588
+ 1,
589
+ [
590
+ 1,
591
+ [
734
592
  1,
735
593
  [
736
594
  7,
737
- "hsl",
738
- "x"
595
+ "uv",
596
+ "y"
739
597
  ],
740
- "+",
741
- "amount"
742
- ]]
598
+ "-",
599
+ [5, "0.5"]
600
+ ],
601
+ "/",
602
+ "zoom"
743
603
  ],
604
+ "+",
605
+ [5, "0.5"]
606
+ ],
607
+ "-",
608
+ [
609
+ 1,
744
610
  [
745
- 7,
746
- "hsl",
747
- "y"
611
+ 1,
612
+ [
613
+ 7,
614
+ "P",
615
+ "driftY"
616
+ ],
617
+ "*",
618
+ [
619
+ 7,
620
+ "P",
621
+ "dt"
622
+ ]
748
623
  ],
749
- [
750
- 7,
751
- "hsl",
752
- "z"
753
- ]
624
+ "*",
625
+ "DRIFT_SCALE"
754
626
  ]
755
- ]
756
- ],
757
- [10, [
758
- 6,
759
- [
760
- 7,
761
- "colorMixing",
762
- "hslToRgb"
763
- ],
764
- ["rotated"]
627
+ ]]
765
628
  ]]
766
629
  ]],
767
630
  "externalNames": [
768
- "colorMixing",
631
+ "trailLayout",
632
+ "std",
769
633
  "d",
770
- "std"
634
+ "DRIFT_SCALE"
771
635
  ]
772
636
  },
773
637
  externals: () => ({
774
- colorMixing: colorMixing_exports,
775
- d,
776
- std
638
+ trailLayout,
639
+ std: std_exports,
640
+ d: data_exports,
641
+ DRIFT_SCALE
777
642
  })
778
643
  }) && $.f)({}));
779
- const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
644
+ const timeTrailDecayed = src_default.fn([f32, f32], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((bx, by) => {
780
645
  "use gpu";
781
646
  const P = trailLayout.$.params;
782
- const res = d.f32(STATE_RES);
783
- const fx = __tsover_div(__tsover_add(d.f32(cx), .5), res);
784
- const fy = __tsover_div(__tsover_add(d.f32(cy), .5), res);
785
- const zoom = std.max(P.zoom, .01);
786
- const bx = __tsover_sub(__tsover_add(__tsover_div(__tsover_sub(fx, .5), zoom), .5), __tsover_mul(__tsover_mul(P.driftX, P.dt), DRIFT_SCALE));
787
- const by = __tsover_sub(__tsover_add(__tsover_div(__tsover_sub(fy, .5), zoom), .5), __tsover_mul(__tsover_mul(P.driftY, P.dt), DRIFT_SCALE));
788
- const o = __tsover_mul(P.diffusion, __tsover_div(DIFFUSE_TEXELS, res));
789
- const c = timeTrailSampleHistory(bx, by).mul(4);
790
- const edgesSum = timeTrailSampleHistory(__tsover_sub(bx, o), by).add(timeTrailSampleHistory(__tsover_add(bx, o), by)).add(timeTrailSampleHistory(bx, __tsover_sub(by, o))).add(timeTrailSampleHistory(bx, __tsover_add(by, o))).mul(2);
791
- const cornersSum = timeTrailSampleHistory(__tsover_sub(bx, o), __tsover_sub(by, o)).add(timeTrailSampleHistory(__tsover_add(bx, o), __tsover_sub(by, o))).add(timeTrailSampleHistory(__tsover_sub(bx, o), __tsover_add(by, o))).add(timeTrailSampleHistory(__tsover_add(bx, o), __tsover_add(by, o)));
792
- const decayed = c.add(edgesSum).add(cornersSum).div(16).mul(P.persistence);
793
- const a = std.max(decayed.w, 1e-4);
794
- const rotated = timeTrailRotateHue(decayed.xyz.div(a), P.hueRate).mul(decayed.w);
795
- const trail = d.vec4f(std.select(decayed.xyz, rotated, std.abs(P.hueRate) > 1e-4), decayed.w);
796
- const srcDims = std.textureDimensions(trailLayout.$.src);
797
- const srcW = d.f32(srcDims.x);
798
- const srcH = d.f32(srcDims.y);
799
- const cu = __tsover_sub(__tsover_mul(fx, srcW), .5);
800
- const cv = __tsover_sub(__tsover_mul(fy, srcH), .5);
801
- const cx0 = std.floor(cu);
802
- const cy0 = std.floor(cv);
803
- const cfx = __tsover_sub(cu, cx0);
804
- const cfy = __tsover_sub(cv, cy0);
805
- const jx0 = d.u32(std.clamp(cx0, d.f32(0), __tsover_sub(srcW, 1)));
806
- const jx1 = d.u32(std.clamp(__tsover_add(cx0, 1), d.f32(0), __tsover_sub(srcW, 1)));
807
- const jy0 = d.u32(std.clamp(cy0, d.f32(0), __tsover_sub(srcH, 1)));
808
- const jy1 = d.u32(std.clamp(__tsover_add(cy0, 1), d.f32(0), __tsover_sub(srcH, 1)));
809
- const s00 = std.textureLoad(trailLayout.$.src, d.vec2u(jx0, jy0), 0);
810
- const s10 = std.textureLoad(trailLayout.$.src, d.vec2u(jx1, jy0), 0);
811
- const s01 = std.textureLoad(trailLayout.$.src, d.vec2u(jx0, jy1), 0);
812
- const s11 = std.textureLoad(trailLayout.$.src, d.vec2u(jx1, jy1), 0);
813
- const live = std.mix(std.mix(s00, s10, cfx), std.mix(s01, s11, cfx), cfy);
814
- const mMotion = timeTrailMotionMask(live, std.textureLoad(trailLayout.$.prevLive, d.vec2u(cx, cy), 0), P.motionThreshold);
815
- const m = std.select(d.f32(1), mMotion, P.motionMode > .5);
816
- const stamp = d.vec4f(live.xyz.mul(m), __tsover_mul(live.w, m));
817
- const outA = __tsover_add(stamp.w, __tsover_mul(trail.w, __tsover_sub(1, stamp.w)));
818
- const rgbNormal = stamp.xyz.add(trail.xyz.mul(__tsover_sub(1, stamp.w)));
819
- const rgbScreen = stamp.xyz.add(trail.xyz).sub(stamp.xyz.mul(trail.xyz));
820
- const rgbAdd = stamp.xyz.add(trail.xyz);
821
- const rgbSN = std.select(rgbNormal, rgbScreen, P.blendMode > .5);
822
- const rgb = std.select(rgbSN, rgbAdd, P.blendMode > 1.5);
823
- const outC = d.vec4f(rgb, outA);
824
- const disp = std.select(outC, trail, P.motionMode > .5);
825
- std.textureStore(trailLayout.$.next, d.vec2u(cx, cy), outC);
826
- std.textureStore(trailLayout.$.display, d.vec2u(cx, cy), disp);
827
- std.textureStore(trailLayout.$.prevLiveOut, d.vec2u(cx, cy), live);
647
+ const h = __tsover_mul(P.diffusion, DIFFUSE_HALF_UV);
648
+ return timeTrailSampleHistory(__tsover_sub(bx, h), __tsover_sub(by, h)).add(timeTrailSampleHistory(__tsover_add(bx, h), __tsover_sub(by, h))).add(timeTrailSampleHistory(__tsover_sub(bx, h), __tsover_add(by, h))).add(timeTrailSampleHistory(__tsover_add(bx, h), __tsover_add(by, h))).mul(__tsover_mul(P.persistence, .25));
828
649
  }), {
829
650
  v: 1,
830
651
  name: void 0,
831
652
  ast: {
832
653
  "params": [{
833
654
  "type": "i",
834
- "name": "cx"
655
+ "name": "bx"
835
656
  }, {
836
657
  "type": "i",
837
- "name": "cy"
658
+ "name": "by"
838
659
  }],
839
660
  "body": [0, [
840
661
  [
@@ -852,282 +673,25 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
852
673
  ],
853
674
  [
854
675
  13,
855
- "res",
676
+ "h",
856
677
  [
857
- 6,
678
+ 1,
858
679
  [
859
680
  7,
860
- "d",
861
- "f32"
681
+ "P",
682
+ "diffusion"
862
683
  ],
863
- ["STATE_RES"]
684
+ "*",
685
+ "DIFFUSE_HALF_UV"
864
686
  ]
865
687
  ],
866
688
  [
867
689
  13,
868
- "fx",
690
+ "sum",
869
691
  [
870
- 1,
692
+ 6,
871
693
  [
872
- 1,
873
- [
874
- 6,
875
- [
876
- 7,
877
- "d",
878
- "f32"
879
- ],
880
- ["cx"]
881
- ],
882
- "+",
883
- [5, "0.5"]
884
- ],
885
- "/",
886
- "res"
887
- ]
888
- ],
889
- [
890
- 13,
891
- "fy",
892
- [
893
- 1,
894
- [
895
- 1,
896
- [
897
- 6,
898
- [
899
- 7,
900
- "d",
901
- "f32"
902
- ],
903
- ["cy"]
904
- ],
905
- "+",
906
- [5, "0.5"]
907
- ],
908
- "/",
909
- "res"
910
- ]
911
- ],
912
- [
913
- 13,
914
- "zoom",
915
- [
916
- 6,
917
- [
918
- 7,
919
- "std",
920
- "max"
921
- ],
922
- [[
923
- 7,
924
- "P",
925
- "zoom"
926
- ], [5, "0.01"]]
927
- ]
928
- ],
929
- [
930
- 13,
931
- "bx",
932
- [
933
- 1,
934
- [
935
- 1,
936
- [
937
- 1,
938
- [
939
- 1,
940
- "fx",
941
- "-",
942
- [5, "0.5"]
943
- ],
944
- "/",
945
- "zoom"
946
- ],
947
- "+",
948
- [5, "0.5"]
949
- ],
950
- "-",
951
- [
952
- 1,
953
- [
954
- 1,
955
- [
956
- 7,
957
- "P",
958
- "driftX"
959
- ],
960
- "*",
961
- [
962
- 7,
963
- "P",
964
- "dt"
965
- ]
966
- ],
967
- "*",
968
- "DRIFT_SCALE"
969
- ]
970
- ]
971
- ],
972
- [
973
- 13,
974
- "by",
975
- [
976
- 1,
977
- [
978
- 1,
979
- [
980
- 1,
981
- [
982
- 1,
983
- "fy",
984
- "-",
985
- [5, "0.5"]
986
- ],
987
- "/",
988
- "zoom"
989
- ],
990
- "+",
991
- [5, "0.5"]
992
- ],
993
- "-",
994
- [
995
- 1,
996
- [
997
- 1,
998
- [
999
- 7,
1000
- "P",
1001
- "driftY"
1002
- ],
1003
- "*",
1004
- [
1005
- 7,
1006
- "P",
1007
- "dt"
1008
- ]
1009
- ],
1010
- "*",
1011
- "DRIFT_SCALE"
1012
- ]
1013
- ]
1014
- ],
1015
- [
1016
- 13,
1017
- "o",
1018
- [
1019
- 1,
1020
- [
1021
- 7,
1022
- "P",
1023
- "diffusion"
1024
- ],
1025
- "*",
1026
- [
1027
- 1,
1028
- "DIFFUSE_TEXELS",
1029
- "/",
1030
- "res"
1031
- ]
1032
- ]
1033
- ],
1034
- [
1035
- 13,
1036
- "c",
1037
- [
1038
- 6,
1039
- [
1040
- 7,
1041
- [
1042
- 6,
1043
- "timeTrailSampleHistory",
1044
- ["bx", "by"]
1045
- ],
1046
- "mul"
1047
- ],
1048
- [[5, "4"]]
1049
- ]
1050
- ],
1051
- [
1052
- 13,
1053
- "edgesSum",
1054
- [
1055
- 6,
1056
- [
1057
- 7,
1058
- [
1059
- 6,
1060
- [
1061
- 7,
1062
- [
1063
- 6,
1064
- [
1065
- 7,
1066
- [
1067
- 6,
1068
- [
1069
- 7,
1070
- [
1071
- 6,
1072
- "timeTrailSampleHistory",
1073
- [[
1074
- 1,
1075
- "bx",
1076
- "-",
1077
- "o"
1078
- ], "by"]
1079
- ],
1080
- "add"
1081
- ],
1082
- [[
1083
- 6,
1084
- "timeTrailSampleHistory",
1085
- [[
1086
- 1,
1087
- "bx",
1088
- "+",
1089
- "o"
1090
- ], "by"]
1091
- ]]
1092
- ],
1093
- "add"
1094
- ],
1095
- [[
1096
- 6,
1097
- "timeTrailSampleHistory",
1098
- ["bx", [
1099
- 1,
1100
- "by",
1101
- "-",
1102
- "o"
1103
- ]]
1104
- ]]
1105
- ],
1106
- "add"
1107
- ],
1108
- [[
1109
- 6,
1110
- "timeTrailSampleHistory",
1111
- ["bx", [
1112
- 1,
1113
- "by",
1114
- "+",
1115
- "o"
1116
- ]]
1117
- ]]
1118
- ],
1119
- "mul"
1120
- ],
1121
- [[5, "2"]]
1122
- ]
1123
- ],
1124
- [
1125
- 13,
1126
- "cornersSum",
1127
- [
1128
- 6,
1129
- [
1130
- 7,
694
+ 7,
1131
695
  [
1132
696
  6,
1133
697
  [
@@ -1143,12 +707,12 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
1143
707
  1,
1144
708
  "bx",
1145
709
  "-",
1146
- "o"
710
+ "h"
1147
711
  ], [
1148
712
  1,
1149
713
  "by",
1150
714
  "-",
1151
- "o"
715
+ "h"
1152
716
  ]]
1153
717
  ],
1154
718
  "add"
@@ -1160,12 +724,12 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
1160
724
  1,
1161
725
  "bx",
1162
726
  "+",
1163
- "o"
727
+ "h"
1164
728
  ], [
1165
729
  1,
1166
730
  "by",
1167
731
  "-",
1168
- "o"
732
+ "h"
1169
733
  ]]
1170
734
  ]]
1171
735
  ],
@@ -1178,12 +742,12 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
1178
742
  1,
1179
743
  "bx",
1180
744
  "-",
1181
- "o"
745
+ "h"
1182
746
  ], [
1183
747
  1,
1184
748
  "by",
1185
749
  "+",
1186
- "o"
750
+ "h"
1187
751
  ]]
1188
752
  ]]
1189
753
  ],
@@ -1196,60 +760,71 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
1196
760
  1,
1197
761
  "bx",
1198
762
  "+",
1199
- "o"
763
+ "h"
1200
764
  ], [
1201
765
  1,
1202
766
  "by",
1203
767
  "+",
1204
- "o"
768
+ "h"
1205
769
  ]]
1206
770
  ]]
1207
771
  ]
1208
772
  ],
1209
- [
1210
- 13,
1211
- "blurred",
773
+ [10, [
774
+ 6,
1212
775
  [
1213
- 6,
776
+ 7,
777
+ "sum",
778
+ "mul"
779
+ ],
780
+ [[
781
+ 1,
1214
782
  [
1215
783
  7,
1216
- [
1217
- 6,
1218
- [
1219
- 7,
1220
- [
1221
- 6,
1222
- [
1223
- 7,
1224
- "c",
1225
- "add"
1226
- ],
1227
- ["edgesSum"]
1228
- ],
1229
- "add"
1230
- ],
1231
- ["cornersSum"]
1232
- ],
1233
- "div"
784
+ "P",
785
+ "persistence"
1234
786
  ],
1235
- [[5, "16"]]
1236
- ]
1237
- ],
787
+ "*",
788
+ [5, "0.25"]
789
+ ]]
790
+ ]]
791
+ ]],
792
+ "externalNames": [
793
+ "trailLayout",
794
+ "DIFFUSE_HALF_UV",
795
+ "timeTrailSampleHistory"
796
+ ]
797
+ },
798
+ externals: () => ({
799
+ trailLayout,
800
+ DIFFUSE_HALF_UV,
801
+ timeTrailSampleHistory
802
+ })
803
+ }) && $.f)({})).$name("timeTrailDecayed");
804
+ const timeTrailDecayedTinted = src_default.fn([f32, f32], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((bx, by) => {
805
+ "use gpu";
806
+ const decayed = timeTrailDecayed(bx, by);
807
+ const a = max(decayed.w, 1e-4);
808
+ return vec4f(timeTrailRotateHue(decayed.xyz.div(a), trailLayout.$.params.hueRate).mul(decayed.w), decayed.w);
809
+ }), {
810
+ v: 1,
811
+ name: void 0,
812
+ ast: {
813
+ "params": [{
814
+ "type": "i",
815
+ "name": "bx"
816
+ }, {
817
+ "type": "i",
818
+ "name": "by"
819
+ }],
820
+ "body": [0, [
1238
821
  [
1239
822
  13,
1240
823
  "decayed",
1241
824
  [
1242
825
  6,
1243
- [
1244
- 7,
1245
- "blurred",
1246
- "mul"
1247
- ],
1248
- [[
1249
- 7,
1250
- "P",
1251
- "persistence"
1252
- ]]
826
+ "timeTrailDecayed",
827
+ ["bx", "by"]
1253
828
  ]
1254
829
  ],
1255
830
  [
@@ -1260,655 +835,133 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
1260
835
  [
1261
836
  7,
1262
837
  "std",
1263
- "max"
1264
- ],
1265
- [[
1266
- 7,
1267
- "decayed",
1268
- "w"
1269
- ], [5, "0.0001"]]
1270
- ]
1271
- ],
1272
- [
1273
- 13,
1274
- "straight",
1275
- [
1276
- 6,
1277
- [
1278
- 7,
1279
- [
1280
- 7,
1281
- "decayed",
1282
- "xyz"
1283
- ],
1284
- "div"
1285
- ],
1286
- ["a"]
1287
- ]
1288
- ],
1289
- [
1290
- 13,
1291
- "rotated",
1292
- [
1293
- 6,
1294
- [
1295
- 7,
1296
- [
1297
- 6,
1298
- "timeTrailRotateHue",
1299
- ["straight", [
1300
- 7,
1301
- "P",
1302
- "hueRate"
1303
- ]]
1304
- ],
1305
- "mul"
1306
- ],
1307
- [[
1308
- 7,
1309
- "decayed",
1310
- "w"
1311
- ]]
1312
- ]
1313
- ],
1314
- [
1315
- 13,
1316
- "trail",
1317
- [
1318
- 6,
1319
- [
1320
- 7,
1321
- "d",
1322
- "vec4f"
1323
- ],
1324
- [[
1325
- 6,
1326
- [
1327
- 7,
1328
- "std",
1329
- "select"
1330
- ],
1331
- [
1332
- [
1333
- 7,
1334
- "decayed",
1335
- "xyz"
1336
- ],
1337
- "rotated",
1338
- [
1339
- 1,
1340
- [
1341
- 6,
1342
- [
1343
- 7,
1344
- "std",
1345
- "abs"
1346
- ],
1347
- [[
1348
- 7,
1349
- "P",
1350
- "hueRate"
1351
- ]]
1352
- ],
1353
- ">",
1354
- [5, "0.0001"]
1355
- ]
1356
- ]
1357
- ], [
1358
- 7,
1359
- "decayed",
1360
- "w"
1361
- ]]
1362
- ]
1363
- ],
1364
- [
1365
- 13,
1366
- "srcDims",
1367
- [
1368
- 6,
1369
- [
1370
- 7,
1371
- "std",
1372
- "textureDimensions"
1373
- ],
1374
- [[
1375
- 7,
1376
- [
1377
- 7,
1378
- "trailLayout",
1379
- "$"
1380
- ],
1381
- "src"
1382
- ]]
1383
- ]
1384
- ],
1385
- [
1386
- 13,
1387
- "srcW",
1388
- [
1389
- 6,
1390
- [
1391
- 7,
1392
- "d",
1393
- "f32"
1394
- ],
1395
- [[
1396
- 7,
1397
- "srcDims",
1398
- "x"
1399
- ]]
1400
- ]
1401
- ],
1402
- [
1403
- 13,
1404
- "srcH",
1405
- [
1406
- 6,
1407
- [
1408
- 7,
1409
- "d",
1410
- "f32"
1411
- ],
1412
- [[
1413
- 7,
1414
- "srcDims",
1415
- "y"
1416
- ]]
1417
- ]
1418
- ],
1419
- [
1420
- 13,
1421
- "cu",
1422
- [
1423
- 1,
1424
- [
1425
- 1,
1426
- "fx",
1427
- "*",
1428
- "srcW"
1429
- ],
1430
- "-",
1431
- [5, "0.5"]
1432
- ]
1433
- ],
1434
- [
1435
- 13,
1436
- "cv",
1437
- [
1438
- 1,
1439
- [
1440
- 1,
1441
- "fy",
1442
- "*",
1443
- "srcH"
1444
- ],
1445
- "-",
1446
- [5, "0.5"]
1447
- ]
1448
- ],
1449
- [
1450
- 13,
1451
- "cx0",
1452
- [
1453
- 6,
1454
- [
1455
- 7,
1456
- "std",
1457
- "floor"
1458
- ],
1459
- ["cu"]
1460
- ]
1461
- ],
1462
- [
1463
- 13,
1464
- "cy0",
1465
- [
1466
- 6,
1467
- [
1468
- 7,
1469
- "std",
1470
- "floor"
1471
- ],
1472
- ["cv"]
1473
- ]
1474
- ],
1475
- [
1476
- 13,
1477
- "cfx",
1478
- [
1479
- 1,
1480
- "cu",
1481
- "-",
1482
- "cx0"
1483
- ]
1484
- ],
1485
- [
1486
- 13,
1487
- "cfy",
1488
- [
1489
- 1,
1490
- "cv",
1491
- "-",
1492
- "cy0"
1493
- ]
1494
- ],
1495
- [
1496
- 13,
1497
- "jx0",
1498
- [
1499
- 6,
1500
- [
1501
- 7,
1502
- "d",
1503
- "u32"
1504
- ],
1505
- [[
1506
- 6,
1507
- [
1508
- 7,
1509
- "std",
1510
- "clamp"
1511
- ],
1512
- [
1513
- "cx0",
1514
- [
1515
- 6,
1516
- [
1517
- 7,
1518
- "d",
1519
- "f32"
1520
- ],
1521
- [[5, "0"]]
1522
- ],
1523
- [
1524
- 1,
1525
- "srcW",
1526
- "-",
1527
- [5, "1"]
1528
- ]
1529
- ]
1530
- ]]
1531
- ]
1532
- ],
1533
- [
1534
- 13,
1535
- "jx1",
1536
- [
1537
- 6,
1538
- [
1539
- 7,
1540
- "d",
1541
- "u32"
1542
- ],
1543
- [[
1544
- 6,
1545
- [
1546
- 7,
1547
- "std",
1548
- "clamp"
1549
- ],
1550
- [
1551
- [
1552
- 1,
1553
- "cx0",
1554
- "+",
1555
- [5, "1"]
1556
- ],
1557
- [
1558
- 6,
1559
- [
1560
- 7,
1561
- "d",
1562
- "f32"
1563
- ],
1564
- [[5, "0"]]
1565
- ],
1566
- [
1567
- 1,
1568
- "srcW",
1569
- "-",
1570
- [5, "1"]
1571
- ]
1572
- ]
1573
- ]]
1574
- ]
1575
- ],
1576
- [
1577
- 13,
1578
- "jy0",
1579
- [
1580
- 6,
1581
- [
1582
- 7,
1583
- "d",
1584
- "u32"
1585
- ],
1586
- [[
1587
- 6,
1588
- [
1589
- 7,
1590
- "std",
1591
- "clamp"
1592
- ],
1593
- [
1594
- "cy0",
1595
- [
1596
- 6,
1597
- [
1598
- 7,
1599
- "d",
1600
- "f32"
1601
- ],
1602
- [[5, "0"]]
1603
- ],
1604
- [
1605
- 1,
1606
- "srcH",
1607
- "-",
1608
- [5, "1"]
1609
- ]
1610
- ]
1611
- ]]
1612
- ]
1613
- ],
1614
- [
1615
- 13,
1616
- "jy1",
1617
- [
1618
- 6,
1619
- [
1620
- 7,
1621
- "d",
1622
- "u32"
1623
- ],
1624
- [[
1625
- 6,
1626
- [
1627
- 7,
1628
- "std",
1629
- "clamp"
1630
- ],
1631
- [
1632
- [
1633
- 1,
1634
- "cy0",
1635
- "+",
1636
- [5, "1"]
1637
- ],
1638
- [
1639
- 6,
1640
- [
1641
- 7,
1642
- "d",
1643
- "f32"
1644
- ],
1645
- [[5, "0"]]
1646
- ],
1647
- [
1648
- 1,
1649
- "srcH",
1650
- "-",
1651
- [5, "1"]
1652
- ]
1653
- ]
1654
- ]]
1655
- ]
1656
- ],
1657
- [
1658
- 13,
1659
- "s00",
1660
- [
1661
- 6,
1662
- [
1663
- 7,
1664
- "std",
1665
- "textureLoad"
1666
- ],
1667
- [
1668
- [
1669
- 7,
1670
- [
1671
- 7,
1672
- "trailLayout",
1673
- "$"
1674
- ],
1675
- "src"
1676
- ],
1677
- [
1678
- 6,
1679
- [
1680
- 7,
1681
- "d",
1682
- "vec2u"
1683
- ],
1684
- ["jx0", "jy0"]
1685
- ],
1686
- [5, "0"]
1687
- ]
1688
- ]
1689
- ],
1690
- [
1691
- 13,
1692
- "s10",
1693
- [
1694
- 6,
1695
- [
1696
- 7,
1697
- "std",
1698
- "textureLoad"
1699
- ],
1700
- [
1701
- [
1702
- 7,
1703
- [
1704
- 7,
1705
- "trailLayout",
1706
- "$"
1707
- ],
1708
- "src"
1709
- ],
1710
- [
1711
- 6,
1712
- [
1713
- 7,
1714
- "d",
1715
- "vec2u"
1716
- ],
1717
- ["jx1", "jy0"]
1718
- ],
1719
- [5, "0"]
1720
- ]
1721
- ]
1722
- ],
1723
- [
1724
- 13,
1725
- "s01",
1726
- [
1727
- 6,
1728
- [
1729
- 7,
1730
- "std",
1731
- "textureLoad"
1732
- ],
1733
- [
1734
- [
1735
- 7,
1736
- [
1737
- 7,
1738
- "trailLayout",
1739
- "$"
1740
- ],
1741
- "src"
1742
- ],
1743
- [
1744
- 6,
1745
- [
1746
- 7,
1747
- "d",
1748
- "vec2u"
1749
- ],
1750
- ["jx0", "jy1"]
1751
- ],
1752
- [5, "0"]
1753
- ]
1754
- ]
1755
- ],
1756
- [
1757
- 13,
1758
- "s11",
1759
- [
1760
- 6,
1761
- [
1762
- 7,
1763
- "std",
1764
- "textureLoad"
1765
- ],
1766
- [
1767
- [
1768
- 7,
1769
- [
1770
- 7,
1771
- "trailLayout",
1772
- "$"
1773
- ],
1774
- "src"
1775
- ],
1776
- [
1777
- 6,
1778
- [
1779
- 7,
1780
- "d",
1781
- "vec2u"
1782
- ],
1783
- ["jx1", "jy1"]
1784
- ],
1785
- [5, "0"]
1786
- ]
1787
- ]
1788
- ],
1789
- [
1790
- 13,
1791
- "live",
1792
- [
1793
- 6,
1794
- [
1795
- 7,
1796
- "std",
1797
- "mix"
838
+ "max"
1798
839
  ],
1799
- [
1800
- [
1801
- 6,
1802
- [
1803
- 7,
1804
- "std",
1805
- "mix"
1806
- ],
1807
- [
1808
- "s00",
1809
- "s10",
1810
- "cfx"
1811
- ]
1812
- ],
1813
- [
1814
- 6,
1815
- [
1816
- 7,
1817
- "std",
1818
- "mix"
1819
- ],
1820
- [
1821
- "s01",
1822
- "s11",
1823
- "cfx"
1824
- ]
1825
- ],
1826
- "cfy"
1827
- ]
840
+ [[
841
+ 7,
842
+ "decayed",
843
+ "w"
844
+ ], [5, "0.0001"]]
1828
845
  ]
1829
846
  ],
1830
847
  [
1831
848
  13,
1832
- "pl",
849
+ "rotated",
1833
850
  [
1834
851
  6,
1835
- [
1836
- 7,
1837
- "std",
1838
- "textureLoad"
1839
- ],
1840
- [
852
+ "timeTrailRotateHue",
853
+ [[
854
+ 6,
1841
855
  [
1842
856
  7,
1843
857
  [
1844
858
  7,
1845
- "trailLayout",
1846
- "$"
859
+ "decayed",
860
+ "xyz"
1847
861
  ],
1848
- "prevLive"
862
+ "div"
1849
863
  ],
864
+ ["a"]
865
+ ], [
866
+ 7,
1850
867
  [
1851
- 6,
868
+ 7,
1852
869
  [
1853
870
  7,
1854
- "d",
1855
- "vec2u"
871
+ "trailLayout",
872
+ "$"
1856
873
  ],
1857
- ["cx", "cy"]
874
+ "params"
1858
875
  ],
1859
- [5, "0"]
1860
- ]
876
+ "hueRate"
877
+ ]]
1861
878
  ]
1862
879
  ],
1863
- [
1864
- 13,
1865
- "mMotion",
880
+ [10, [
881
+ 6,
1866
882
  [
883
+ 7,
884
+ "d",
885
+ "vec4f"
886
+ ],
887
+ [[
1867
888
  6,
1868
- "timeTrailMotionMask",
1869
889
  [
1870
- "live",
1871
- "pl",
1872
- [
1873
- 7,
1874
- "P",
1875
- "motionThreshold"
1876
- ]
1877
- ]
1878
- ]
1879
- ],
890
+ 7,
891
+ "rotated",
892
+ "mul"
893
+ ],
894
+ [[
895
+ 7,
896
+ "decayed",
897
+ "w"
898
+ ]]
899
+ ], [
900
+ 7,
901
+ "decayed",
902
+ "w"
903
+ ]]
904
+ ]]
905
+ ]],
906
+ "externalNames": [
907
+ "timeTrailDecayed",
908
+ "std",
909
+ "timeTrailRotateHue",
910
+ "trailLayout",
911
+ "d"
912
+ ]
913
+ },
914
+ externals: () => ({
915
+ timeTrailDecayed,
916
+ std: std_exports,
917
+ timeTrailRotateHue,
918
+ trailLayout,
919
+ d: data_exports
920
+ })
921
+ }) && $.f)({})).$name("timeTrailDecayedTinted");
922
+ const timeTrailStamp = src_default.fn([
923
+ vec4f,
924
+ f32,
925
+ vec4f
926
+ ], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((live, m, trail) => {
927
+ "use gpu";
928
+ const P = trailLayout.$.params;
929
+ const stamp = vec4f(live.xyz.mul(m), __tsover_mul(live.w, m));
930
+ const outA = __tsover_add(stamp.w, __tsover_mul(trail.w, __tsover_sub(1, stamp.w)));
931
+ const rgbNormal = stamp.xyz.add(trail.xyz.mul(__tsover_sub(1, stamp.w)));
932
+ const rgbScreen = stamp.xyz.add(trail.xyz).sub(stamp.xyz.mul(trail.xyz));
933
+ const rgbAdd = stamp.xyz.add(trail.xyz);
934
+ return vec4f(select(select(rgbNormal, rgbScreen, P.blendMode > .5), rgbAdd, P.blendMode > 1.5), outA);
935
+ }), {
936
+ v: 1,
937
+ name: void 0,
938
+ ast: {
939
+ "params": [
940
+ {
941
+ "type": "i",
942
+ "name": "live"
943
+ },
944
+ {
945
+ "type": "i",
946
+ "name": "m"
947
+ },
948
+ {
949
+ "type": "i",
950
+ "name": "trail"
951
+ }
952
+ ],
953
+ "body": [0, [
1880
954
  [
1881
955
  13,
1882
- "m",
956
+ "P",
1883
957
  [
1884
- 6,
958
+ 7,
1885
959
  [
1886
960
  7,
1887
- "std",
1888
- "select"
961
+ "trailLayout",
962
+ "$"
1889
963
  ],
1890
- [
1891
- [
1892
- 6,
1893
- [
1894
- 7,
1895
- "d",
1896
- "f32"
1897
- ],
1898
- [[5, "1"]]
1899
- ],
1900
- "mMotion",
1901
- [
1902
- 1,
1903
- [
1904
- 7,
1905
- "P",
1906
- "motionMode"
1907
- ],
1908
- ">",
1909
- [5, "0.5"]
1910
- ]
1911
- ]
964
+ "params"
1912
965
  ]
1913
966
  ],
1914
967
  [
@@ -2062,114 +1115,290 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
2062
1115
  ],
2063
1116
  [
2064
1117
  13,
2065
- "rgbAdd",
1118
+ "rgbAdd",
1119
+ [
1120
+ 6,
1121
+ [
1122
+ 7,
1123
+ [
1124
+ 7,
1125
+ "stamp",
1126
+ "xyz"
1127
+ ],
1128
+ "add"
1129
+ ],
1130
+ [[
1131
+ 7,
1132
+ "trail",
1133
+ "xyz"
1134
+ ]]
1135
+ ]
1136
+ ],
1137
+ [
1138
+ 13,
1139
+ "rgbSN",
1140
+ [
1141
+ 6,
1142
+ [
1143
+ 7,
1144
+ "std",
1145
+ "select"
1146
+ ],
1147
+ [
1148
+ "rgbNormal",
1149
+ "rgbScreen",
1150
+ [
1151
+ 1,
1152
+ [
1153
+ 7,
1154
+ "P",
1155
+ "blendMode"
1156
+ ],
1157
+ ">",
1158
+ [5, "0.5"]
1159
+ ]
1160
+ ]
1161
+ ]
1162
+ ],
1163
+ [10, [
1164
+ 6,
1165
+ [
1166
+ 7,
1167
+ "d",
1168
+ "vec4f"
1169
+ ],
1170
+ [[
1171
+ 6,
1172
+ [
1173
+ 7,
1174
+ "std",
1175
+ "select"
1176
+ ],
1177
+ [
1178
+ "rgbSN",
1179
+ "rgbAdd",
1180
+ [
1181
+ 1,
1182
+ [
1183
+ 7,
1184
+ "P",
1185
+ "blendMode"
1186
+ ],
1187
+ ">",
1188
+ [5, "1.5"]
1189
+ ]
1190
+ ]
1191
+ ], "outA"]
1192
+ ]]
1193
+ ]],
1194
+ "externalNames": [
1195
+ "trailLayout",
1196
+ "d",
1197
+ "std"
1198
+ ]
1199
+ },
1200
+ externals: () => ({
1201
+ trailLayout,
1202
+ d: data_exports,
1203
+ std: std_exports
1204
+ })
1205
+ }) && $.f)({}));
1206
+ const makeTimeTrailKernel = (trailFn) => src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
1207
+ "use gpu";
1208
+ const uv = timeTrailTexelUv(cx, cy);
1209
+ const b = timeTrailFeedbackUv(uv);
1210
+ const trail = trailFn(b.x, b.y);
1211
+ const live = timeTrailSampleLive(uv.x, uv.y);
1212
+ const m = timeTrailMotionMask(live, textureLoad(trailLayout.$.prevLive, vec2u(cx, cy), 0), trailLayout.$.params.motionThreshold);
1213
+ textureStore(trailLayout.$.next, vec2u(cx, cy), timeTrailStamp(live, m, trail));
1214
+ textureStore(trailLayout.$.display, vec2u(cx, cy), trail);
1215
+ textureStore(trailLayout.$.prevLiveOut, vec2u(cx, cy), live);
1216
+ }), {
1217
+ v: 1,
1218
+ name: void 0,
1219
+ ast: {
1220
+ "params": [{
1221
+ "type": "i",
1222
+ "name": "cx"
1223
+ }, {
1224
+ "type": "i",
1225
+ "name": "cy"
1226
+ }],
1227
+ "body": [0, [
1228
+ [
1229
+ 13,
1230
+ "uv",
1231
+ [
1232
+ 6,
1233
+ "timeTrailTexelUv",
1234
+ ["cx", "cy"]
1235
+ ]
1236
+ ],
1237
+ [
1238
+ 13,
1239
+ "b",
1240
+ [
1241
+ 6,
1242
+ "timeTrailFeedbackUv",
1243
+ ["uv"]
1244
+ ]
1245
+ ],
1246
+ [
1247
+ 13,
1248
+ "trail",
2066
1249
  [
2067
1250
  6,
2068
- [
1251
+ "trailFn",
1252
+ [[
2069
1253
  7,
2070
- [
2071
- 7,
2072
- "stamp",
2073
- "xyz"
2074
- ],
2075
- "add"
2076
- ],
1254
+ "b",
1255
+ "x"
1256
+ ], [
1257
+ 7,
1258
+ "b",
1259
+ "y"
1260
+ ]]
1261
+ ]
1262
+ ],
1263
+ [
1264
+ 13,
1265
+ "live",
1266
+ [
1267
+ 6,
1268
+ "timeTrailSampleLive",
2077
1269
  [[
2078
1270
  7,
2079
- "trail",
2080
- "xyz"
1271
+ "uv",
1272
+ "x"
1273
+ ], [
1274
+ 7,
1275
+ "uv",
1276
+ "y"
2081
1277
  ]]
2082
1278
  ]
2083
1279
  ],
2084
1280
  [
2085
1281
  13,
2086
- "rgbSN",
1282
+ "pl",
2087
1283
  [
2088
1284
  6,
2089
1285
  [
2090
1286
  7,
2091
1287
  "std",
2092
- "select"
1288
+ "textureLoad"
2093
1289
  ],
2094
1290
  [
2095
- "rgbNormal",
2096
- "rgbScreen",
2097
1291
  [
2098
- 1,
1292
+ 7,
2099
1293
  [
2100
1294
  7,
2101
- "P",
2102
- "blendMode"
1295
+ "trailLayout",
1296
+ "$"
2103
1297
  ],
2104
- ">",
2105
- [5, "0.5"]
2106
- ]
1298
+ "prevLive"
1299
+ ],
1300
+ [
1301
+ 6,
1302
+ [
1303
+ 7,
1304
+ "d",
1305
+ "vec2u"
1306
+ ],
1307
+ ["cx", "cy"]
1308
+ ],
1309
+ [5, "0"]
2107
1310
  ]
2108
1311
  ]
2109
1312
  ],
2110
1313
  [
2111
1314
  13,
2112
- "rgb",
1315
+ "m",
2113
1316
  [
2114
1317
  6,
1318
+ "timeTrailMotionMask",
2115
1319
  [
2116
- 7,
2117
- "std",
2118
- "select"
2119
- ],
2120
- [
2121
- "rgbSN",
2122
- "rgbAdd",
1320
+ "live",
1321
+ "pl",
2123
1322
  [
2124
- 1,
1323
+ 7,
2125
1324
  [
2126
1325
  7,
2127
- "P",
2128
- "blendMode"
1326
+ [
1327
+ 7,
1328
+ "trailLayout",
1329
+ "$"
1330
+ ],
1331
+ "params"
2129
1332
  ],
2130
- ">",
2131
- [5, "1.5"]
1333
+ "motionThreshold"
2132
1334
  ]
2133
1335
  ]
2134
1336
  ]
2135
1337
  ],
2136
1338
  [
2137
- 13,
2138
- "outC",
1339
+ 6,
1340
+ [
1341
+ 7,
1342
+ "std",
1343
+ "textureStore"
1344
+ ],
2139
1345
  [
2140
- 6,
2141
1346
  [
2142
1347
  7,
2143
- "d",
2144
- "vec4f"
1348
+ [
1349
+ 7,
1350
+ "trailLayout",
1351
+ "$"
1352
+ ],
1353
+ "next"
1354
+ ],
1355
+ [
1356
+ 6,
1357
+ [
1358
+ 7,
1359
+ "d",
1360
+ "vec2u"
1361
+ ],
1362
+ ["cx", "cy"]
2145
1363
  ],
2146
- ["rgb", "outA"]
1364
+ [
1365
+ 6,
1366
+ "timeTrailStamp",
1367
+ [
1368
+ "live",
1369
+ "m",
1370
+ "trail"
1371
+ ]
1372
+ ]
2147
1373
  ]
2148
1374
  ],
2149
1375
  [
2150
- 13,
2151
- "disp",
1376
+ 6,
1377
+ [
1378
+ 7,
1379
+ "std",
1380
+ "textureStore"
1381
+ ],
2152
1382
  [
2153
- 6,
2154
1383
  [
2155
1384
  7,
2156
- "std",
2157
- "select"
1385
+ [
1386
+ 7,
1387
+ "trailLayout",
1388
+ "$"
1389
+ ],
1390
+ "display"
2158
1391
  ],
2159
1392
  [
2160
- "outC",
2161
- "trail",
1393
+ 6,
2162
1394
  [
2163
- 1,
2164
- [
2165
- 7,
2166
- "P",
2167
- "motionMode"
2168
- ],
2169
- ">",
2170
- [5, "0.5"]
2171
- ]
2172
- ]
1395
+ 7,
1396
+ "d",
1397
+ "vec2u"
1398
+ ],
1399
+ ["cx", "cy"]
1400
+ ],
1401
+ "trail"
2173
1402
  ]
2174
1403
  ],
2175
1404
  [
@@ -2187,7 +1416,7 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
2187
1416
  "trailLayout",
2188
1417
  "$"
2189
1418
  ],
2190
- "next"
1419
+ "prevLiveOut"
2191
1420
  ],
2192
1421
  [
2193
1422
  6,
@@ -2198,7 +1427,125 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
2198
1427
  ],
2199
1428
  ["cx", "cy"]
2200
1429
  ],
2201
- "outC"
1430
+ "live"
1431
+ ]
1432
+ ]
1433
+ ]],
1434
+ "externalNames": [
1435
+ "timeTrailTexelUv",
1436
+ "timeTrailFeedbackUv",
1437
+ "trailFn",
1438
+ "timeTrailSampleLive",
1439
+ "std",
1440
+ "trailLayout",
1441
+ "d",
1442
+ "timeTrailMotionMask",
1443
+ "timeTrailStamp"
1444
+ ]
1445
+ },
1446
+ externals: () => ({
1447
+ timeTrailTexelUv,
1448
+ timeTrailFeedbackUv,
1449
+ trailFn,
1450
+ timeTrailSampleLive,
1451
+ std: std_exports,
1452
+ trailLayout,
1453
+ d: data_exports,
1454
+ timeTrailMotionMask,
1455
+ timeTrailStamp
1456
+ })
1457
+ }) && $.f)({})).$name("timeTrailStep");
1458
+ const makeTimeTrailAlphaKernel = (trailFn) => src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
1459
+ "use gpu";
1460
+ const uv = timeTrailTexelUv(cx, cy);
1461
+ const b = timeTrailFeedbackUv(uv);
1462
+ const trail = trailFn(b.x, b.y);
1463
+ const outC = timeTrailStamp(timeTrailSampleLive(uv.x, uv.y), f32(1), trail);
1464
+ textureStore(trailLayout.$.next, vec2u(cx, cy), outC);
1465
+ textureStore(trailLayout.$.display, vec2u(cx, cy), outC);
1466
+ }), {
1467
+ v: 1,
1468
+ name: void 0,
1469
+ ast: {
1470
+ "params": [{
1471
+ "type": "i",
1472
+ "name": "cx"
1473
+ }, {
1474
+ "type": "i",
1475
+ "name": "cy"
1476
+ }],
1477
+ "body": [0, [
1478
+ [
1479
+ 13,
1480
+ "uv",
1481
+ [
1482
+ 6,
1483
+ "timeTrailTexelUv",
1484
+ ["cx", "cy"]
1485
+ ]
1486
+ ],
1487
+ [
1488
+ 13,
1489
+ "b",
1490
+ [
1491
+ 6,
1492
+ "timeTrailFeedbackUv",
1493
+ ["uv"]
1494
+ ]
1495
+ ],
1496
+ [
1497
+ 13,
1498
+ "trail",
1499
+ [
1500
+ 6,
1501
+ "trailFn",
1502
+ [[
1503
+ 7,
1504
+ "b",
1505
+ "x"
1506
+ ], [
1507
+ 7,
1508
+ "b",
1509
+ "y"
1510
+ ]]
1511
+ ]
1512
+ ],
1513
+ [
1514
+ 13,
1515
+ "live",
1516
+ [
1517
+ 6,
1518
+ "timeTrailSampleLive",
1519
+ [[
1520
+ 7,
1521
+ "uv",
1522
+ "x"
1523
+ ], [
1524
+ 7,
1525
+ "uv",
1526
+ "y"
1527
+ ]]
1528
+ ]
1529
+ ],
1530
+ [
1531
+ 13,
1532
+ "outC",
1533
+ [
1534
+ 6,
1535
+ "timeTrailStamp",
1536
+ [
1537
+ "live",
1538
+ [
1539
+ 6,
1540
+ [
1541
+ 7,
1542
+ "d",
1543
+ "f32"
1544
+ ],
1545
+ [[5, "1"]]
1546
+ ],
1547
+ "trail"
1548
+ ]
2202
1549
  ]
2203
1550
  ],
2204
1551
  [
@@ -2216,7 +1563,7 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
2216
1563
  "trailLayout",
2217
1564
  "$"
2218
1565
  ],
2219
- "display"
1566
+ "next"
2220
1567
  ],
2221
1568
  [
2222
1569
  6,
@@ -2227,7 +1574,7 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
2227
1574
  ],
2228
1575
  ["cx", "cy"]
2229
1576
  ],
2230
- "disp"
1577
+ "outC"
2231
1578
  ]
2232
1579
  ],
2233
1580
  [
@@ -2245,7 +1592,7 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
2245
1592
  "trailLayout",
2246
1593
  "$"
2247
1594
  ],
2248
- "prevLiveOut"
1595
+ "display"
2249
1596
  ],
2250
1597
  [
2251
1598
  6,
@@ -2256,41 +1603,38 @@ const timeTrailKernel = tgpu.fn([d.u32, d.u32])(/* @__PURE__ */ (($) => (globalT
2256
1603
  ],
2257
1604
  ["cx", "cy"]
2258
1605
  ],
2259
- "live"
1606
+ "outC"
2260
1607
  ]
2261
1608
  ]
2262
1609
  ]],
2263
1610
  "externalNames": [
2264
- "trailLayout",
1611
+ "timeTrailTexelUv",
1612
+ "timeTrailFeedbackUv",
1613
+ "trailFn",
1614
+ "timeTrailSampleLive",
1615
+ "timeTrailStamp",
2265
1616
  "d",
2266
- "STATE_RES",
2267
1617
  "std",
2268
- "DRIFT_SCALE",
2269
- "DIFFUSE_TEXELS",
2270
- "timeTrailSampleHistory",
2271
- "timeTrailRotateHue",
2272
- "timeTrailMotionMask"
1618
+ "trailLayout"
2273
1619
  ]
2274
1620
  },
2275
1621
  externals: () => ({
2276
- trailLayout,
2277
- d,
2278
- STATE_RES,
2279
- std,
2280
- DRIFT_SCALE,
2281
- DIFFUSE_TEXELS,
2282
- timeTrailSampleHistory,
2283
- timeTrailRotateHue,
2284
- timeTrailMotionMask
1622
+ timeTrailTexelUv,
1623
+ timeTrailFeedbackUv,
1624
+ trailFn,
1625
+ timeTrailSampleLive,
1626
+ timeTrailStamp,
1627
+ d: data_exports,
1628
+ std: std_exports,
1629
+ trailLayout
2285
1630
  })
2286
- }) && $.f)({})).$name("timeTrailStep");
2287
- const timeTrailColorize = tgpu.fn([d.vec4f, d.vec4f], d.vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((trail, tint) => {
1631
+ }) && $.f)({})).$name("timeTrailStepAlpha");
1632
+ const timeTrailKernel = makeTimeTrailKernel(timeTrailDecayed);
1633
+ const timeTrailColorize = src_default.fn([vec4f, vec4f], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((trail, tint) => {
2288
1634
  "use gpu";
2289
- const a = std.max(trail.w, 1e-4);
2290
- const straight = trail.xyz.div(a);
2291
- const lum = std.dot(straight, d.vec3f(.299, .587, .114));
2292
- const colored = tint.xyz.mul(__tsover_mul(lum, 1.5));
2293
- return d.vec4f(colored.mul(trail.w), trail.w);
1635
+ const a = max(trail.w, 1e-4);
1636
+ const lum = dot(trail.xyz.div(a), vec3f(.299, .587, .114));
1637
+ return vec4f(tint.xyz.mul(__tsover_mul(lum, 1.5)).mul(trail.w), trail.w);
2294
1638
  }), {
2295
1639
  v: 1,
2296
1640
  name: void 0,
@@ -2413,11 +1757,11 @@ const timeTrailColorize = tgpu.fn([d.vec4f, d.vec4f], d.vec4f)(/* @__PURE__ */ (
2413
1757
  "externalNames": ["std", "d"]
2414
1758
  },
2415
1759
  externals: () => ({
2416
- std,
2417
- d
1760
+ std: std_exports,
1761
+ d: data_exports
2418
1762
  })
2419
1763
  }) && $.f)({}));
2420
- const timeTrailScaleTrail = tgpu.fn([d.vec4f, d.f32], d.vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((trail, k) => {
1764
+ const timeTrailScaleTrail = src_default.fn([vec4f, f32], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((trail, k) => {
2421
1765
  "use gpu";
2422
1766
  return trail.mul(k);
2423
1767
  }), {
@@ -2706,6 +2050,9 @@ const componentDefinition = {
2706
2050
  const root = gpu?.root;
2707
2051
  if (!root) return null;
2708
2052
  const childTexture = convertToTexture(childNode);
2053
+ const tintMode = Number(propValues.tintMode) || 0;
2054
+ const blendMode = stampModeFor(resolveBlendKey(propValues.trailBlend));
2055
+ const isMotion = (propValues.trailSource == null ? 1 : Number(propValues.trailSource)) > .5;
2709
2056
  const stateA = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
2710
2057
  size: [STATE_RES, STATE_RES],
2711
2058
  format: STATE_FORMAT
@@ -2718,12 +2065,13 @@ const componentDefinition = {
2718
2065
  size: [STATE_RES, STATE_RES],
2719
2066
  format: STATE_FORMAT
2720
2067
  }).$usage("storage", "sampled"), "displayTex");
2068
+ const liveSize = isMotion ? [STATE_RES, STATE_RES] : [1, 1];
2721
2069
  const prevLiveA = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
2722
- size: [STATE_RES, STATE_RES],
2070
+ size: liveSize,
2723
2071
  format: STATE_FORMAT
2724
2072
  }).$usage("storage", "sampled"), "prevLiveA");
2725
2073
  const prevLiveB = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
2726
- size: [STATE_RES, STATE_RES],
2074
+ size: liveSize,
2727
2075
  format: STATE_FORMAT
2728
2076
  }).$usage("storage", "sampled"), "prevLiveB");
2729
2077
  onCleanup(() => {
@@ -2734,10 +2082,18 @@ const componentDefinition = {
2734
2082
  prevLiveB.destroy();
2735
2083
  });
2736
2084
  const display = registerComputeTexture(displayTex);
2085
+ const trailSampler = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createSampler({
2086
+ magFilter: "linear",
2087
+ minFilter: "linear",
2088
+ addressModeU: "clamp-to-edge",
2089
+ addressModeV: "clamp-to-edge"
2090
+ }), "trailSampler");
2737
2091
  const paramsBuf = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createUniform(TrailParams), "paramsBuf");
2092
+ const trailFn = tintMode === 2 ? timeTrailDecayedTinted : timeTrailDecayed;
2093
+ const kernel = isMotion ? makeTimeTrailKernel(trailFn) : makeTimeTrailAlphaKernel(trailFn);
2738
2094
  const pipeline = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
2739
2095
  "use gpu";
2740
- timeTrailKernel(cx, cy);
2096
+ kernel(cx, cy);
2741
2097
  }), {
2742
2098
  v: 1,
2743
2099
  name: void 0,
@@ -2751,16 +2107,13 @@ const componentDefinition = {
2751
2107
  }],
2752
2108
  "body": [0, [[
2753
2109
  6,
2754
- "timeTrailKernel",
2110
+ "kernel",
2755
2111
  ["cx", "cy"]
2756
2112
  ]]],
2757
- "externalNames": ["timeTrailKernel"]
2113
+ "externalNames": ["kernel"]
2758
2114
  },
2759
- externals: () => ({ timeTrailKernel })
2115
+ externals: () => ({ kernel })
2760
2116
  }) && $.f)({}), { size: [STATE_RES, STATE_RES] });
2761
- const tintMode = Number(propValues.tintMode) || 0;
2762
- const blendMode = stampModeFor(resolveBlendKey(propValues.trailBlend));
2763
- const sourceMode = propValues.trailSource == null ? 1 : Number(propValues.trailSource);
2764
2117
  let bgAB = null;
2765
2118
  let bgBA = null;
2766
2119
  let direction = 0;
@@ -2779,6 +2132,7 @@ const componentDefinition = {
2779
2132
  display: displayTex,
2780
2133
  prevLive: prevLiveA,
2781
2134
  prevLiveOut: prevLiveB,
2135
+ samp: trailSampler,
2782
2136
  params: paramsBuf.buffer
2783
2137
  });
2784
2138
  bgBA = root.createBindGroup(trailLayout, {
@@ -2788,6 +2142,7 @@ const componentDefinition = {
2788
2142
  display: displayTex,
2789
2143
  prevLive: prevLiveB,
2790
2144
  prevLiveOut: prevLiveA,
2145
+ samp: trailSampler,
2791
2146
  params: paramsBuf.buffer
2792
2147
  });
2793
2148
  },
@@ -2795,6 +2150,8 @@ const componentDefinition = {
2795
2150
  if (!bgAB || !bgBA) return null;
2796
2151
  const fp = frameParams;
2797
2152
  const speed = getCpuValue("speed") ?? 1;
2153
+ const zoom = getCpuValue("zoom") ?? 1;
2154
+ if ((getCpuValue("trailOpacity") ?? 1) === 0) return null;
2798
2155
  const dt = Math.min(fp.deltaTime ?? .016, .05) * speed;
2799
2156
  const trailLength = Math.max(getCpuValue("trailLength") ?? .6, .001);
2800
2157
  paramsBuf.write({
@@ -2803,10 +2160,9 @@ const componentDefinition = {
2803
2160
  driftX: getCpuValue("driftX") ?? 0,
2804
2161
  driftY: getCpuValue("driftY") ?? 0,
2805
2162
  dt,
2806
- zoom: getCpuValue("zoom") ?? 1,
2163
+ zoom: Math.pow(zoom, dt * 60),
2807
2164
  hueRate: tintMode === 2 ? RAINBOW_RATE * dt : 0,
2808
2165
  blendMode,
2809
- motionMode: sourceMode,
2810
2166
  motionThreshold: getCpuValue("motionThreshold") ?? .06
2811
2167
  });
2812
2168
  const nodes = [pipeline.with(direction === 0 ? bgAB : bgBA)];
@@ -2844,4 +2200,4 @@ const componentDefinition = {
2844
2200
  }
2845
2201
  };
2846
2202
  var TimeTrail_default = componentDefinition;
2847
- export { timeTrailMotionMask as a, timeTrailScaleTrail as c, timeTrailKernel as i, componentDefinition as n, timeTrailRotateHue as o, timeTrailColorize as r, timeTrailSampleHistory as s, TimeTrail_default as t };
2203
+ export { timeTrailColorize as a, timeTrailFeedbackUv as c, timeTrailRotateHue as d, timeTrailSampleHistory as f, timeTrailTexelUv as g, timeTrailStamp as h, makeTimeTrailKernel as i, timeTrailKernel as l, timeTrailScaleTrail as m, componentDefinition as n, timeTrailDecayed as o, timeTrailSampleLive as p, makeTimeTrailAlphaKernel as r, timeTrailDecayedTinted as s, TimeTrail_default as t, timeTrailMotionMask as u };