shaders 3.0.449 → 3.0.451

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/core/{AngularBlur-DU1WmNHt.js → AngularBlur-4jt7bNoF.js} +1 -1
  3. package/dist/core/{Arc-C8QmYsiZ.js → Arc-DXIfbBgd.js} +2 -2
  4. package/dist/core/{Ascii-BaQ6MZTc.js → Ascii-GDof03Ca.js} +1 -1
  5. package/dist/core/{Aurora-B6lOg6M4.js → Aurora-CS4vewUW.js} +3 -3
  6. package/dist/core/{BarShift-CFK-CzF9.js → BarShift-BtnYLQ0B.js} +2 -2
  7. package/dist/core/{BarnDoors-DWs_0xtH.js → BarnDoors-Dw9K-amf.js} +1 -1
  8. package/dist/core/{Beam-Cgc4EYnj.js → Beam-D_cyaMjJ.js} +1 -1
  9. package/dist/core/{Bend-oof5pE1H.js → Bend-CSs5UIh8.js} +1 -1
  10. package/dist/core/{Blob-cfvDCv0i.js → Blob-h25zA5WH.js} +2 -2
  11. package/dist/core/{BlockDissolve-C7yJzYGZ.js → BlockDissolve-CKN_KvLP.js} +2 -2
  12. package/dist/core/{BlockNoise-DaM9YDAH.js → BlockNoise-DhKyd_F7.js} +5 -5
  13. package/dist/core/{BlueNoise-BMMRTsMw.js → BlueNoise-Auhzq4x5.js} +4 -4
  14. package/dist/core/{Blur-Be7sX4v9.js → Blur-CcxMqYsu.js} +3 -3
  15. package/dist/core/{Boids-C9S69THK.js → Boids-D51U46GF.js} +783 -656
  16. package/dist/core/{BokehBlur-DSkKZ_yy.js → BokehBlur-Cfaqbh3I.js} +3 -3
  17. package/dist/core/{BrickPattern-BY7h4hyx.js → BrickPattern-tASwilX0.js} +2 -2
  18. package/dist/core/{BrightnessContrast-DFc0gSUv.js → BrightnessContrast-ZCKqJW7i.js} +1 -1
  19. package/dist/core/{BrushedMetal-B06tUygH.js → BrushedMetal-B6gSVB28.js} +6 -6
  20. package/dist/core/{Bulge-BpSOQfH0.js → Bulge-dCYtWP4S.js} +1 -1
  21. package/dist/core/{CRTScreen-DdGcEvk2.js → CRTScreen-CVY1lOGL.js} +1 -1
  22. package/dist/core/{CarbonFiber-Dy7Osb3V.js → CarbonFiber-Do9EONKv.js} +5 -5
  23. package/dist/core/{Chalkboard-wRYj23wL.js → Chalkboard-0hyyGnYl.js} +1 -1
  24. package/dist/core/{ChannelBlur-DKD9GUpc.js → ChannelBlur-DcZKCKXi.js} +2 -2
  25. package/dist/core/{CheckerWipe-D0WmsSKg.js → CheckerWipe-BIE62tJ1.js} +1 -1
  26. package/dist/core/{Checkerboard-2sQYJks9.js → Checkerboard-CRnfu63u.js} +1 -1
  27. package/dist/core/{Chevron-D3oPw2-i.js → Chevron-Ld_v4z9T.js} +2 -2
  28. package/dist/core/{ChromaFlow-px9KG_h6.js → ChromaFlow-CTWeauIr.js} +1 -1
  29. package/dist/core/{ChromaticAberration-DLFROPJV.js → ChromaticAberration-CxuOb68m.js} +1 -1
  30. package/dist/core/{Circle-0CqIPN3a.js → Circle-XP1B5rsN.js} +2 -2
  31. package/dist/core/{ColorWheel-CMtn8slz.js → ColorWheel-CFU_OmOW.js} +2 -2
  32. package/dist/core/{CompressionArtifacts-D7dpVg47.js → CompressionArtifacts-Bc9xTdQP.js} +2 -2
  33. package/dist/core/{ConcentricSpin-BPk-_egF.js → ConcentricSpin-DTJytpAk.js} +2 -2
  34. package/dist/core/{ConicGradient-B-tEhmfR.js → ConicGradient-C-4uDmQj.js} +2 -2
  35. package/dist/core/{ContourLines-BlgCWFSy.js → ContourLines-C8p6f-1y.js} +1 -1
  36. package/dist/core/{CornerPin-DB3G2i_y.js → CornerPin-CB92kX10.js} +1 -1
  37. package/dist/core/{Crescent-CFzPQKll.js → Crescent-Dk4nlG8T.js} +2 -2
  38. package/dist/core/{Cross-Cstl9nDg.js → Cross-DsnI1U8g.js} +2 -2
  39. package/dist/core/{Crystal-CEeqF1Xa.js → Crystal-CR_sG2y7.js} +5 -5
  40. package/dist/core/{CurlNoise-uvTKk4Wa.js → CurlNoise-DJ27ih0F.js} +5 -5
  41. package/dist/core/{CursorRipples-B46VApbY.js → CursorRipples-CuO3sZga.js} +2 -2
  42. package/dist/core/{CursorTrail-DzYRTzzA.js → CursorTrail-d4xx4QpM.js} +3 -3
  43. package/dist/core/{DataMosh-Ysev5-c_.js → DataMosh-BhvE-2yC.js} +2 -2
  44. package/dist/core/{DiamondGradient-pTOwPuAl.js → DiamondGradient-CtOVKrYf.js} +2 -2
  45. package/dist/core/{DiamondWipe-D6u1P2xH.js → DiamondWipe-D-yiQBVj.js} +1 -1
  46. package/dist/core/{DiffuseBlur-BX0cfwyh.js → DiffuseBlur-BDf-Czxz.js} +1 -1
  47. package/dist/core/{DisplacementMap-DMNivtcV.js → DisplacementMap-B_jf_2lj.js} +1 -1
  48. package/dist/core/{Dither-Cxu-hSc_.js → Dither-D3P6EJU8.js} +1 -1
  49. package/dist/core/{DotGrid-CbNHebie.js → DotGrid-BnSVhJlh.js} +2 -2
  50. package/dist/core/{DropShadow-DFyuEA17.js → DropShadow-BSKVH3n3.js} +1 -1
  51. package/dist/core/{Duotone-CgueO-jZ.js → Duotone-DfjYuK2u.js} +1 -1
  52. package/dist/core/{Ellipse-DxRnSw__.js → Ellipse-D7_1QKaa.js} +2 -2
  53. package/dist/core/{Emboss-BJxzjZmZ.js → Emboss-ZiPslqzl.js} +4 -4
  54. package/dist/core/{Engraving-DmQCj8vU.js → Engraving-DsfkKajz.js} +2 -2
  55. package/dist/core/{ErosionNoise-7ekcAfBb.js → ErosionNoise-SELArv9H.js} +4 -4
  56. package/dist/core/{Exposure-avEereLn.js → Exposure-A7WlTOti.js} +1 -1
  57. package/dist/core/{FallingLines-BINyHi3N.js → FallingLines-9PRMb_Ou.js} +2 -2
  58. package/dist/core/{FilmGrain-B-pZBxiK.js → FilmGrain-SXzVDesw.js} +1 -1
  59. package/dist/core/{FilmStock-BJfso8f3.js → FilmStock-RK4fk4m0.js} +3 -3
  60. package/dist/core/{Flip-Dbwe0zh8.js → Flip-DjoNWG4v.js} +1 -1
  61. package/dist/core/{FloatingParticles-CoQ01il5.js → FloatingParticles-D7vUF5g7.js} +550 -367
  62. package/dist/core/{FlowField-CU6S3Jar.js → FlowField-tHrXhd1b.js} +3 -3
  63. package/dist/core/{Flower-R7HIopNH.js → Flower-BfehbmmG.js} +2 -2
  64. package/dist/core/{FlowingGradient-D66Y9Wgq.js → FlowingGradient-BTKjkx5F.js} +3 -3
  65. package/dist/core/{FlutedGlass-WAaeW92l.js → FlutedGlass-uFT7iy_9.js} +2 -2
  66. package/dist/core/{Fog-BChoF6fi.js → Fog-Cu1CMATa.js} +2 -2
  67. package/dist/core/{Form3D-DajWNpAi.js → Form3D-D0ji-MeC.js} +2 -2
  68. package/dist/core/{FractalNoise-DIrQ3eQj.js → FractalNoise-D9HYiOdr.js} +4 -4
  69. package/dist/core/{Frost-B_3JSI2H.js → Frost-DQZZxdTk.js} +6 -6
  70. package/dist/core/{GaborNoise-4FWeA9yr.js → GaborNoise-D7BP0K4g.js} +5 -5
  71. package/dist/core/{Glass-wOhmSf3v.js → Glass-CzCVnGn-.js} +5 -5
  72. package/dist/core/{GlassTiles-DgdAiEuy.js → GlassTiles-DJzPPqwz.js} +1 -1
  73. package/dist/core/{Glitch-BOiywFUR.js → Glitch-D1Dx8__X.js} +28 -11
  74. package/dist/core/{Glow-C2cEWdNE.js → Glow-Bd9_o_Kv.js} +3 -3
  75. package/dist/core/{Godrays-DAZB2GSn.js → Godrays-DRPRWGPm.js} +2 -2
  76. package/dist/core/{Goo-B_WAqWYW.js → Goo-28A_pNBg.js} +5 -5
  77. package/dist/core/{GradientMap-DxsOInED.js → GradientMap-D8dv-1AX.js} +1 -1
  78. package/dist/core/{Grayscale-DSHs9mZd.js → Grayscale-BlVXBVwW.js} +1 -1
  79. package/dist/core/{Grid-aO3wzf4X.js → Grid-D9vlHvs1.js} +1 -1
  80. package/dist/core/{GridDistortion-DsHsHda7.js → GridDistortion-BpqDvqj6.js} +2 -2
  81. package/dist/core/{Group-CCcDbysC.js → Group-bwQnJRec.js} +1 -1
  82. package/dist/core/{HTMLInCanvas-B2OooKKr.js → HTMLInCanvas-gCf64ozE.js} +1 -1
  83. package/dist/core/{Halftone-3a3rz4ln.js → Halftone-B_WouxiP.js} +1 -1
  84. package/dist/core/{Heart-CzO0_GoB.js → Heart-Bmt2TLNz.js} +2 -2
  85. package/dist/core/{Heatmap-DPtUc8YG.js → Heatmap-Ruef741_.js} +6 -6
  86. package/dist/core/{HexGrid-CN5A0m5j.js → HexGrid-By9k0YuI.js} +1 -1
  87. package/dist/core/{Hologram-DoKRhChe.js → Hologram-Cf25ONOE.js} +6 -6
  88. package/dist/core/{Holographic-BWyW5z_h.js → Holographic-C9RzYykt.js} +6 -6
  89. package/dist/core/{HueShift-C0p8EGk-.js → HueShift-V3gQVuIo.js} +1 -1
  90. package/dist/core/{ImageTexture-BnwkbXAW.js → ImageTexture-DAUR2N5Q.js} +2 -2
  91. package/dist/core/{InkFlow-BH86usRX.js → InkFlow-DlP1gmr4.js} +2 -2
  92. package/dist/core/{Invert-BIjy9ddK.js → Invert-K648khvD.js} +1 -1
  93. package/dist/core/{IrisWipe-lpU7lucQ.js → IrisWipe-Clkd_5CA.js} +1 -1
  94. package/dist/core/{IsometricCubes-CIieztxI.js → IsometricCubes-CzfAwpQ5.js} +1 -1
  95. package/dist/core/{Kaleidoscope-CUMvqmfN.js → Kaleidoscope-B9k6HkNn.js} +1 -1
  96. package/dist/core/{KeyFrames-mI1J02zX.js → KeyFrames-DX6JFhsy.js} +2 -2
  97. package/dist/core/LensDistortion-DG4VHEXV.js +435 -0
  98. package/dist/core/{LensFlare-ChQK_hJN.js → LensFlare-DO5lm--6.js} +2 -2
  99. package/dist/core/{LightEdge-Rg-zMpGb.js → LightEdge-CxWsQwpZ.js} +6 -6
  100. package/dist/core/{LightLeak-D1CxVo9A.js → LightLeak-tGJW6l2_.js} +3 -3
  101. package/dist/core/{LinearBlur-DJBkHfs8.js → LinearBlur-OmZcUden.js} +1 -1
  102. package/dist/core/{LinearGradient-DCRYBS4Q.js → LinearGradient-DDqFujWC.js} +2 -2
  103. package/dist/core/{LinearWipe-Cxfs1tIO.js → LinearWipe-BzthBFNb.js} +1 -1
  104. package/dist/core/{LiquidMetal-oscNnbsr.js → LiquidMetal-DpRAJ5Ne.js} +6 -6
  105. package/dist/core/{Liquify-CJwl6Wef.js → Liquify-BVzmuY6D.js} +2 -2
  106. package/dist/core/{MagneticFilings-DAOFLjAQ.js → MagneticFilings-BP1KyU2C.js} +893 -653
  107. package/dist/core/{Marble-Cr4Iaq38.js → Marble-abj97ioG.js} +3 -3
  108. package/dist/core/{Mirror-BwOuv3TP.js → Mirror-BYqbXWUj.js} +1 -1
  109. package/dist/core/{MultiPointGradient-CSowH0-7.js → MultiPointGradient-DZZSkiDv.js} +1 -1
  110. package/dist/core/{Neon-CPIvbGSB.js → Neon-DD8qY6H9.js} +4 -4
  111. package/dist/core/{NoiseDissolve-ByahROgQ.js → NoiseDissolve-DSkh5NdD.js} +2 -2
  112. package/dist/core/{ObjectTracker-DMCr6kHz.js → ObjectTracker-DvQF31-0.js} +2 -2
  113. package/dist/core/{PagePeel-Coq0hc8R.js → PagePeel-DWtgqWdt.js} +1 -1
  114. package/dist/core/{Paper-CLlhc3fn.js → Paper-DGzZsv79.js} +2 -2
  115. package/dist/core/{Parallelogram-Be8RQBV7.js → Parallelogram-Ce0Pg7DX.js} +2 -2
  116. package/dist/core/{ParticleField-DDO-Tk9X.js → ParticleField-CgCOigET.js} +1375 -1230
  117. package/dist/core/{ParticleFlow-B89PWVem.js → ParticleFlow-CRQhvYQx.js} +1264 -993
  118. package/dist/core/{Particles-D8rP46SB.js → Particles-fKk9qTkl.js} +681 -469
  119. package/dist/core/{PerlinNoise-_whB3Y3m.js → PerlinNoise-DIFK1BpN.js} +5 -5
  120. package/dist/core/{Perspective-BJuQWHOr.js → Perspective-CDNz_7y5.js} +1 -1
  121. package/dist/core/{PixelSort-CJfXD6g0.js → PixelSort-sgh5ghCc.js} +2 -2
  122. package/dist/core/{PixelThrow-BaTI5PzH.js → PixelThrow-CXtB4Am2.js} +1 -1
  123. package/dist/core/{Pixelate-D7Dto_8I.js → Pixelate-BSOzwVHo.js} +1 -1
  124. package/dist/core/{Plasma-DWIDcCnn.js → Plasma-G6Hl__3L.js} +3 -3
  125. package/dist/core/{Plastic-CWAOd2i9.js → Plastic-B6F2WeaX.js} +6 -6
  126. package/dist/core/{PolarCoordinates-DQM3dLK3.js → PolarCoordinates-Bi99omfI.js} +1 -1
  127. package/dist/core/{Polygon-CFmLohBu.js → Polygon-BFxoe-Fg.js} +2 -2
  128. package/dist/core/{Posterize-B8PHXwhy.js → Posterize-DxiCXLUL.js} +1 -1
  129. package/dist/core/{Prism-C5VS4TLU.js → Prism-D6J-acZf.js} +2 -2
  130. package/dist/core/{ProgressiveBlur-BcGcteLH.js → ProgressiveBlur-Bko6UMxQ.js} +3 -3
  131. package/dist/core/{RadialGradient-D3UoKiGu.js → RadialGradient-B_Dgxs9_.js} +2 -2
  132. package/dist/core/{RadialWipe-DXfAH0Ug.js → RadialWipe-U9n5aeiJ.js} +1 -1
  133. package/dist/core/{RandomBars-BVsp1Q7v.js → RandomBars-U_zpGDJh.js} +2 -2
  134. package/dist/core/{ReactionDiffusion-DknxOF-o.js → ReactionDiffusion-I9xj-iK_.js} +2 -2
  135. package/dist/core/{RectangularCoordinates-DFQm4y6H.js → RectangularCoordinates-DX6wutjX.js} +1 -1
  136. package/dist/core/{ReflectivePlane-BDlGBzo1.js → ReflectivePlane-DU9pf-7H.js} +3 -3
  137. package/dist/core/{Repeater-DHW6eDAm.js → Repeater-kCIaHHFy.js} +1 -1
  138. package/dist/core/{Ring-3brC5en8.js → Ring-B_tYq3KV.js} +2 -2
  139. package/dist/core/{RippleWipe-DQfXGjRv.js → RippleWipe-DCgZZ4VT.js} +1 -1
  140. package/dist/core/{Ripples-DajR3Cl5.js → Ripples-BDhMh7XC.js} +2 -2
  141. package/dist/core/{RoundedRect-CfkYNmkV.js → RoundedRect-9b3REf2d.js} +2 -2
  142. package/dist/core/{Saturation-BPTssGSs.js → Saturation-CcblT031.js} +1 -1
  143. package/dist/core/{Scratches-A-AyASZm.js → Scratches-Rzk27V6D.js} +5 -5
  144. package/dist/core/{Sharpness-Di39DpCB.js → Sharpness-ClLOnNR8.js} +1 -1
  145. package/dist/core/{Shatter-CWf3HtjN.js → Shatter-CLI896c7.js} +2 -2
  146. package/dist/core/{SimplexNoise-DpZ2jtdk.js → SimplexNoise-98RPhPzU.js} +4 -4
  147. package/dist/core/{SineWave-CZuksvHn.js → SineWave-BZPrTdYD.js} +2 -2
  148. package/dist/core/{SliceWipe-BwL2D3HR.js → SliceWipe-BR5Qr38C.js} +1 -1
  149. package/dist/core/{Smoke-BsUkbTI1.js → Smoke-DoW6Brlo.js} +3 -3
  150. package/dist/core/{SmokeFill-CaDMgNW-.js → SmokeFill-CXHhKX8u.js} +5 -5
  151. package/dist/core/{SmokeFlow-CLfsAbPS.js → SmokeFlow-mRJ_JcnZ.js} +3 -3
  152. package/dist/core/{Solarize-ALjXXAf0.js → Solarize-BNCG4TCa.js} +1 -1
  153. package/dist/core/{Spherize-SBfCc9Wk.js → Spherize-6d5WZIZV.js} +1 -1
  154. package/dist/core/{Spiral-iRrT222n.js → Spiral-IOZ-Zm0_.js} +2 -2
  155. package/dist/core/{Star-DL3d_HqY.js → Star-D9txpy4P.js} +2 -2
  156. package/dist/core/{Stone-OTsCM-rr.js → Stone-H2qLOvGJ.js} +2 -2
  157. package/dist/core/{Strands-DjoQgGnd.js → Strands-Db6_uJAi.js} +2 -2
  158. package/dist/core/{Stretch-CdzhxnbM.js → Stretch-BIFeD7-1.js} +1 -1
  159. package/dist/core/{Stripes-CsBgKYdp.js → Stripes-5YZhE4bc.js} +2 -2
  160. package/dist/core/{StudioBackground-D8EdrLg5.js → StudioBackground-B16ICQTt.js} +2 -2
  161. package/dist/core/{SunBurst-ErBFL-nF.js → SunBurst-DSUFLqjC.js} +2 -2
  162. package/dist/core/{Surface3D-CLjX61TZ.js → Surface3D-BoliMAeJ.js} +1826 -1420
  163. package/dist/core/{Swirl-DDQif_lC.js → Swirl-CozBN2cj.js} +2 -2
  164. package/dist/core/{Teardrop-CvpdElTs.js → Teardrop-D8uqqHu8.js} +2 -2
  165. package/dist/core/{Text-vyzeMvhl.js → Text-Dka9dwCa.js} +2 -2
  166. package/dist/core/{ThinFilm-CbkMTbD2.js → ThinFilm-d7IlUY62.js} +4 -4
  167. package/dist/core/{TiltShift-BVMyB8lF.js → TiltShift-CNc1M7bT.js} +3 -3
  168. package/dist/core/{TimeTrail-CuFGvzFi.js → TimeTrail-BFuqrI-l.js} +1058 -1699
  169. package/dist/core/{Tint-C6zMMsYH.js → Tint-BzCm1m93.js} +1 -1
  170. package/dist/core/{Trapezoid-kFuxWONU.js → Trapezoid-Dc6dpnCU.js} +2 -2
  171. package/dist/core/{TriangularGrid-FIrpI_qE.js → TriangularGrid-BMemTQ8X.js} +2 -2
  172. package/dist/core/{Tritone-DyLGtOug.js → Tritone-XnyfjYXL.js} +1 -1
  173. package/dist/core/{Truchet-B4NI56Zz.js → Truchet-DUbAZPvr.js} +1 -1
  174. package/dist/core/{Twirl-CuzhWXfj.js → Twirl-Dj6ZOh7V.js} +1 -1
  175. package/dist/core/{VHS-DYbzndAZ.js → VHS-DcN38Sa-.js} +1 -1
  176. package/dist/core/{VenetianBlinds-DVopy3xp.js → VenetianBlinds-Dsix9S6Y.js} +1 -1
  177. package/dist/core/{Vesica-Cd-XyG3F.js → Vesica-BvLPrNBY.js} +2 -2
  178. package/dist/core/{Vibrance-CvXatkfO.js → Vibrance-B3F1IOJC.js} +1 -1
  179. package/dist/core/{VideoTexture-C5PS6Vly.js → VideoTexture-rZnbkY1j.js} +1 -1
  180. package/dist/core/{Vignette-DtBpWWxW.js → Vignette-D747S9Un.js} +1 -1
  181. package/dist/core/{Voronoi-CRH2cGlR.js → Voronoi-tdjJp1Yz.js} +2 -2
  182. package/dist/core/{Water-CneenzRZ.js → Water-wnYFmeVF.js} +6 -6
  183. package/dist/core/{Watercolor-B343pgM-.js → Watercolor-DlrWTnkX.js} +267 -350
  184. package/dist/core/{WaveDistortion-DHz1FxLT.js → WaveDistortion-11QwOfVR.js} +2 -2
  185. package/dist/core/{WaveletNoise-CsLE9gbM.js → WaveletNoise-DWOzHG3M.js} +5 -5
  186. package/dist/core/{Weave-CQEF71nr.js → Weave-CdGwj7cZ.js} +1 -1
  187. package/dist/core/{WebcamTexture-BcsYFM_g.js → WebcamTexture-CihYSbzd.js} +2 -2
  188. package/dist/core/{Wool-BFSicimy.js → Wool-DKCBMabi.js} +2 -2
  189. package/dist/core/{WorleyNoise-BKq3es5v.js → WorleyNoise-BjD32UOl.js} +2 -2
  190. package/dist/core/{ZoomBlur-Bu1SlmS2.js → ZoomBlur-BnRTijPn.js} +1 -1
  191. package/dist/core/{agents-Bv3--qPL.js → agents-c-JjGH1b.js} +446 -3
  192. package/dist/core/{blur-tvWOoxKt.js → blur-DKmdsW6d.js} +2 -2
  193. package/dist/core/{compute-BjeJ0sIA.js → compute-BoeIXi0l.js} +1 -1
  194. package/dist/core/{edges-BXNBKxSN.js → edges-BZUKQxSE.js} +1 -1
  195. package/dist/core/{glass-IfoQ8Prf.js → glass-BVqgjSPg.js} +1 -1
  196. package/dist/core/gpu/index.d.ts.map +1 -1
  197. package/dist/core/gpu/kit/agents.d.ts +17 -1
  198. package/dist/core/gpu/kit/agents.d.ts.map +1 -1
  199. package/dist/core/gpu/passManager.d.ts +6 -2
  200. package/dist/core/gpu/passManager.d.ts.map +1 -1
  201. package/dist/core/gpu/textures.d.ts +2 -2
  202. package/dist/core/gpu/textures.d.ts.map +1 -1
  203. package/dist/core/index.js +229 -209
  204. package/dist/core/{media-B9BNeMPu.js → media-Ds6MRfGR.js} +1 -1
  205. package/dist/core/{noise-wTSHXgFz.js → noise-Cq0KUOSC.js} +1 -1
  206. package/dist/core/{noiseColor-CPakiKNF.js → noiseColor-CQyzqpVZ.js} +2 -2
  207. package/dist/core/{noiseColor-DscZM9CO.js → noiseColor-DjCUZ_8u.js} +1 -1
  208. package/dist/core/{noiseStylize-BXpflWPW.js → noiseStylize-fKVcJbGK.js} +2 -2
  209. package/dist/core/{porters-DBK1Aipq.js → porters-DogLzpKT.js} +1 -1
  210. package/dist/core/presetRenderer.d.ts.map +1 -1
  211. package/dist/core/registry.js +205 -204
  212. package/dist/core/{sdf-R0EN3EvS.js → sdf-o99ONcMJ.js} +1 -1
  213. package/dist/core/shaderRegistry-CkDrffEe.js +427 -0
  214. package/dist/core/shaderRegistry.d.ts.map +1 -1
  215. package/dist/core/shaders/AngularBlur/index.js +4 -4
  216. package/dist/core/shaders/Arc/index.js +5 -5
  217. package/dist/core/shaders/Ascii/index.js +4 -4
  218. package/dist/core/shaders/Aurora/index.js +5 -5
  219. package/dist/core/shaders/BarShift/index.js +4 -4
  220. package/dist/core/shaders/BarnDoors/index.js +4 -4
  221. package/dist/core/shaders/Beam/index.js +4 -4
  222. package/dist/core/shaders/Bend/index.js +4 -4
  223. package/dist/core/shaders/Blob/index.js +4 -4
  224. package/dist/core/shaders/BlockDissolve/index.js +5 -5
  225. package/dist/core/shaders/BlockNoise/index.js +7 -7
  226. package/dist/core/shaders/BlueNoise/index.js +7 -7
  227. package/dist/core/shaders/Blur/index.js +5 -5
  228. package/dist/core/shaders/Boids/index.d.ts +3 -3
  229. package/dist/core/shaders/Boids/index.d.ts.map +1 -1
  230. package/dist/core/shaders/Boids/index.js +8 -7
  231. package/dist/core/shaders/BokehBlur/index.js +5 -5
  232. package/dist/core/shaders/BrickPattern/index.js +4 -4
  233. package/dist/core/shaders/BrightnessContrast/index.js +4 -4
  234. package/dist/core/shaders/BrushedMetal/index.js +8 -8
  235. package/dist/core/shaders/Bulge/index.js +4 -4
  236. package/dist/core/shaders/CRTScreen/index.js +4 -4
  237. package/dist/core/shaders/CarbonFiber/index.js +8 -8
  238. package/dist/core/shaders/Chalkboard/index.js +4 -4
  239. package/dist/core/shaders/ChannelBlur/index.js +5 -5
  240. package/dist/core/shaders/CheckerWipe/index.js +4 -4
  241. package/dist/core/shaders/Checkerboard/index.js +4 -4
  242. package/dist/core/shaders/Chevron/index.js +4 -4
  243. package/dist/core/shaders/ChromaFlow/index.js +4 -4
  244. package/dist/core/shaders/ChromaticAberration/index.js +4 -4
  245. package/dist/core/shaders/Circle/index.js +5 -5
  246. package/dist/core/shaders/ColorWheel/index.js +4 -4
  247. package/dist/core/shaders/CompressionArtifacts/index.js +4 -4
  248. package/dist/core/shaders/ConcentricSpin/index.js +4 -4
  249. package/dist/core/shaders/ConicGradient/index.js +4 -4
  250. package/dist/core/shaders/ContourLines/index.js +4 -4
  251. package/dist/core/shaders/CornerPin/index.js +4 -4
  252. package/dist/core/shaders/Crescent/index.js +5 -5
  253. package/dist/core/shaders/Cross/index.js +5 -5
  254. package/dist/core/shaders/Crystal/index.js +8 -8
  255. package/dist/core/shaders/CurlNoise/index.js +7 -7
  256. package/dist/core/shaders/CursorRipples/index.js +4 -4
  257. package/dist/core/shaders/CursorTrail/index.js +4 -4
  258. package/dist/core/shaders/DataMosh/index.js +4 -4
  259. package/dist/core/shaders/DiamondGradient/index.js +4 -4
  260. package/dist/core/shaders/DiamondWipe/index.js +4 -4
  261. package/dist/core/shaders/DiffuseBlur/index.js +4 -4
  262. package/dist/core/shaders/DisplacementMap/index.js +4 -4
  263. package/dist/core/shaders/Dither/index.js +4 -4
  264. package/dist/core/shaders/DotGrid/index.js +4 -4
  265. package/dist/core/shaders/DropShadow/index.js +4 -4
  266. package/dist/core/shaders/Duotone/index.js +4 -4
  267. package/dist/core/shaders/Ellipse/index.js +5 -5
  268. package/dist/core/shaders/Emboss/index.js +7 -7
  269. package/dist/core/shaders/Engraving/index.js +5 -5
  270. package/dist/core/shaders/ErosionNoise/index.js +7 -7
  271. package/dist/core/shaders/Exposure/index.js +4 -4
  272. package/dist/core/shaders/FallingLines/index.js +4 -4
  273. package/dist/core/shaders/FilmGrain/index.js +4 -4
  274. package/dist/core/shaders/FilmStock/index.js +5 -5
  275. package/dist/core/shaders/Flip/index.js +4 -4
  276. package/dist/core/shaders/FloatingParticles/index.d.ts +9 -4
  277. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  278. package/dist/core/shaders/FloatingParticles/index.js +8 -7
  279. package/dist/core/shaders/FlowField/index.js +5 -5
  280. package/dist/core/shaders/Flower/index.js +5 -5
  281. package/dist/core/shaders/FlowingGradient/index.js +5 -5
  282. package/dist/core/shaders/FlutedGlass/index.js +4 -4
  283. package/dist/core/shaders/Fog/index.js +4 -4
  284. package/dist/core/shaders/Form3D/index.js +4 -4
  285. package/dist/core/shaders/FractalNoise/index.js +6 -6
  286. package/dist/core/shaders/Frost/index.js +8 -8
  287. package/dist/core/shaders/GaborNoise/index.js +7 -7
  288. package/dist/core/shaders/Glass/index.js +8 -8
  289. package/dist/core/shaders/GlassTiles/index.js +4 -4
  290. package/dist/core/shaders/Glitch/index.d.ts +1 -1
  291. package/dist/core/shaders/Glitch/index.d.ts.map +1 -1
  292. package/dist/core/shaders/Glitch/index.js +4 -4
  293. package/dist/core/shaders/Glow/index.js +5 -5
  294. package/dist/core/shaders/Godrays/index.js +4 -4
  295. package/dist/core/shaders/Goo/index.js +7 -7
  296. package/dist/core/shaders/GradientMap/index.js +4 -4
  297. package/dist/core/shaders/Grayscale/index.js +4 -4
  298. package/dist/core/shaders/Grid/index.js +4 -4
  299. package/dist/core/shaders/GridDistortion/index.js +4 -4
  300. package/dist/core/shaders/Group/index.js +4 -4
  301. package/dist/core/shaders/HTMLInCanvas/index.js +4 -4
  302. package/dist/core/shaders/Halftone/index.js +4 -4
  303. package/dist/core/shaders/Heart/index.js +5 -5
  304. package/dist/core/shaders/Heatmap/index.js +8 -8
  305. package/dist/core/shaders/HexGrid/index.js +4 -4
  306. package/dist/core/shaders/Hologram/index.js +8 -8
  307. package/dist/core/shaders/Holographic/index.js +8 -8
  308. package/dist/core/shaders/HueShift/index.js +4 -4
  309. package/dist/core/shaders/ImageTexture/index.js +5 -5
  310. package/dist/core/shaders/InkFlow/index.js +4 -4
  311. package/dist/core/shaders/Invert/index.js +4 -4
  312. package/dist/core/shaders/IrisWipe/index.js +4 -4
  313. package/dist/core/shaders/IsometricCubes/index.js +4 -4
  314. package/dist/core/shaders/Kaleidoscope/index.js +4 -4
  315. package/dist/core/shaders/KeyFrames/index.js +4 -4
  316. package/dist/core/shaders/LensDistortion/index.d.ts +123 -0
  317. package/dist/core/shaders/LensDistortion/index.d.ts.map +1 -0
  318. package/dist/core/shaders/LensDistortion/index.js +8 -0
  319. package/dist/core/shaders/LensFlare/index.js +4 -4
  320. package/dist/core/shaders/LightEdge/index.js +8 -8
  321. package/dist/core/shaders/LightLeak/index.js +5 -5
  322. package/dist/core/shaders/LinearBlur/index.js +4 -4
  323. package/dist/core/shaders/LinearGradient/index.js +4 -4
  324. package/dist/core/shaders/LinearWipe/index.js +4 -4
  325. package/dist/core/shaders/LiquidMetal/index.js +8 -8
  326. package/dist/core/shaders/Liquify/index.js +4 -4
  327. package/dist/core/shaders/MagneticFilings/index.d.ts +0 -2
  328. package/dist/core/shaders/MagneticFilings/index.d.ts.map +1 -1
  329. package/dist/core/shaders/MagneticFilings/index.js +8 -7
  330. package/dist/core/shaders/Marble/index.js +5 -5
  331. package/dist/core/shaders/Mirror/index.js +4 -4
  332. package/dist/core/shaders/MultiPointGradient/index.js +4 -4
  333. package/dist/core/shaders/Neon/index.js +6 -6
  334. package/dist/core/shaders/NoiseDissolve/index.js +5 -5
  335. package/dist/core/shaders/ObjectTracker/index.js +5 -5
  336. package/dist/core/shaders/PagePeel/index.js +4 -4
  337. package/dist/core/shaders/Paper/index.js +5 -5
  338. package/dist/core/shaders/Parallelogram/index.js +5 -5
  339. package/dist/core/shaders/ParticleField/index.d.ts +10 -5
  340. package/dist/core/shaders/ParticleField/index.d.ts.map +1 -1
  341. package/dist/core/shaders/ParticleField/index.js +7 -7
  342. package/dist/core/shaders/ParticleFlow/index.d.ts +10 -4
  343. package/dist/core/shaders/ParticleFlow/index.d.ts.map +1 -1
  344. package/dist/core/shaders/ParticleFlow/index.js +8 -7
  345. package/dist/core/shaders/Particles/index.d.ts +4 -3
  346. package/dist/core/shaders/Particles/index.d.ts.map +1 -1
  347. package/dist/core/shaders/Particles/index.js +9 -9
  348. package/dist/core/shaders/PerlinNoise/index.js +7 -7
  349. package/dist/core/shaders/Perspective/index.js +4 -4
  350. package/dist/core/shaders/PixelSort/index.js +4 -4
  351. package/dist/core/shaders/PixelThrow/index.js +4 -4
  352. package/dist/core/shaders/Pixelate/index.js +4 -4
  353. package/dist/core/shaders/Plasma/index.js +5 -5
  354. package/dist/core/shaders/Plastic/index.js +8 -8
  355. package/dist/core/shaders/PolarCoordinates/index.js +4 -4
  356. package/dist/core/shaders/Polygon/index.js +5 -5
  357. package/dist/core/shaders/Posterize/index.js +4 -4
  358. package/dist/core/shaders/Prism/index.js +4 -4
  359. package/dist/core/shaders/ProgressiveBlur/index.js +5 -5
  360. package/dist/core/shaders/RadialGradient/index.js +4 -4
  361. package/dist/core/shaders/RadialWipe/index.js +4 -4
  362. package/dist/core/shaders/RandomBars/index.js +5 -5
  363. package/dist/core/shaders/ReactionDiffusion/index.js +4 -4
  364. package/dist/core/shaders/RectangularCoordinates/index.js +4 -4
  365. package/dist/core/shaders/ReflectivePlane/index.js +5 -5
  366. package/dist/core/shaders/Repeater/index.js +4 -4
  367. package/dist/core/shaders/Ring/index.js +5 -5
  368. package/dist/core/shaders/RippleWipe/index.js +4 -4
  369. package/dist/core/shaders/Ripples/index.js +4 -4
  370. package/dist/core/shaders/RoundedRect/index.js +5 -5
  371. package/dist/core/shaders/Saturation/index.js +4 -4
  372. package/dist/core/shaders/Scratches/index.js +7 -7
  373. package/dist/core/shaders/Sharpness/index.js +4 -4
  374. package/dist/core/shaders/Shatter/index.js +4 -4
  375. package/dist/core/shaders/SimplexNoise/index.js +6 -6
  376. package/dist/core/shaders/SineWave/index.js +4 -4
  377. package/dist/core/shaders/SliceWipe/index.js +4 -4
  378. package/dist/core/shaders/Smoke/index.js +4 -4
  379. package/dist/core/shaders/SmokeFill/index.js +7 -7
  380. package/dist/core/shaders/SmokeFlow/index.js +4 -4
  381. package/dist/core/shaders/Solarize/index.js +4 -4
  382. package/dist/core/shaders/SolidColor/index.js +1 -1
  383. package/dist/core/shaders/Spherize/index.js +4 -4
  384. package/dist/core/shaders/Spiral/index.js +4 -4
  385. package/dist/core/shaders/Star/index.js +5 -5
  386. package/dist/core/shaders/Stone/index.js +4 -4
  387. package/dist/core/shaders/Strands/index.js +4 -4
  388. package/dist/core/shaders/Stretch/index.js +4 -4
  389. package/dist/core/shaders/Stripes/index.js +4 -4
  390. package/dist/core/shaders/StudioBackground/index.js +4 -4
  391. package/dist/core/shaders/SunBurst/index.js +4 -4
  392. package/dist/core/shaders/Surface3D/index.d.ts +4 -2
  393. package/dist/core/shaders/Surface3D/index.d.ts.map +1 -1
  394. package/dist/core/shaders/Surface3D/index.js +6 -5
  395. package/dist/core/shaders/Swirl/index.js +4 -4
  396. package/dist/core/shaders/Teardrop/index.js +5 -5
  397. package/dist/core/shaders/Text/index.js +5 -5
  398. package/dist/core/shaders/ThinFilm/index.js +6 -6
  399. package/dist/core/shaders/TiltShift/index.js +5 -5
  400. package/dist/core/shaders/TimeTrail/index.d.ts +47 -1
  401. package/dist/core/shaders/TimeTrail/index.d.ts.map +1 -1
  402. package/dist/core/shaders/TimeTrail/index.js +6 -5
  403. package/dist/core/shaders/Tint/index.js +4 -4
  404. package/dist/core/shaders/Trapezoid/index.js +5 -5
  405. package/dist/core/shaders/TriangularGrid/index.js +4 -4
  406. package/dist/core/shaders/Tritone/index.js +4 -4
  407. package/dist/core/shaders/Truchet/index.js +4 -4
  408. package/dist/core/shaders/Twirl/index.js +4 -4
  409. package/dist/core/shaders/VHS/index.js +4 -4
  410. package/dist/core/shaders/VenetianBlinds/index.js +4 -4
  411. package/dist/core/shaders/Vesica/index.js +5 -5
  412. package/dist/core/shaders/Vibrance/index.js +4 -4
  413. package/dist/core/shaders/VideoTexture/index.js +4 -4
  414. package/dist/core/shaders/Vignette/index.js +4 -4
  415. package/dist/core/shaders/Voronoi/index.js +4 -4
  416. package/dist/core/shaders/Water/index.js +8 -8
  417. package/dist/core/shaders/Watercolor/index.d.ts +1 -1
  418. package/dist/core/shaders/Watercolor/index.d.ts.map +1 -1
  419. package/dist/core/shaders/Watercolor/index.js +5 -4
  420. package/dist/core/shaders/WaveDistortion/index.js +4 -4
  421. package/dist/core/shaders/WaveletNoise/index.js +7 -7
  422. package/dist/core/shaders/Weave/index.js +4 -4
  423. package/dist/core/shaders/WebcamTexture/index.js +5 -5
  424. package/dist/core/shaders/Wool/index.js +4 -4
  425. package/dist/core/shaders/WorleyNoise/index.js +4 -4
  426. package/dist/core/shaders/ZoomBlur/index.js +4 -4
  427. package/dist/core/{shapeEffectBounds-CtKwBX8c.js → shapeEffectBounds-Dg4GQ5vW.js} +3 -3
  428. package/dist/js/bundle.js +174 -174
  429. package/dist/js/createShader.js +1 -1
  430. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  431. package/dist/js/utils/generatePresetCode.js +27 -0
  432. package/dist/react/LensDistortion.js +226 -0
  433. package/dist/react/Preview.js +1 -0
  434. package/dist/react/Shader.js +1 -1
  435. package/dist/react/bundle.js +160 -160
  436. package/dist/react/components/LensDistortion.d.ts +54 -0
  437. package/dist/react/components/LensDistortion.d.ts.map +1 -0
  438. package/dist/react/engine/Preview.d.ts.map +1 -1
  439. package/dist/react/index.d.ts +1 -0
  440. package/dist/react/index.d.ts.map +1 -1
  441. package/dist/react/index.js +2 -1
  442. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  443. package/dist/react/utils/generatePresetCode.js +27 -0
  444. package/dist/registry.js +585 -1
  445. package/dist/solid/components/LensDistortion.d.ts +51 -0
  446. package/dist/solid/components/LensDistortion.d.ts.map +1 -0
  447. package/dist/solid/components/LensDistortion.js +232 -0
  448. package/dist/solid/engine/Preview.d.ts.map +1 -1
  449. package/dist/solid/engine/Preview.js +193 -191
  450. package/dist/solid/engine/Shader.js +1 -1
  451. package/dist/solid/index.d.ts +1 -0
  452. package/dist/solid/index.d.ts.map +1 -1
  453. package/dist/solid/index.js +194 -192
  454. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  455. package/dist/solid/utils/generatePresetCode.js +27 -0
  456. package/dist/svelte/components/LensDistortion.svelte.d.ts +41 -0
  457. package/dist/svelte/index.d.ts +1 -0
  458. package/dist/svelte/index.js +2751 -2544
  459. package/dist/svelte/source/components/LensDistortion.svelte +365 -0
  460. package/dist/svelte/source/engine/Preview.svelte +2 -0
  461. package/dist/svelte/source/index.js +1 -0
  462. package/dist/svelte/utils/generatePresetCode.js +27 -0
  463. package/dist/vue/LensDistortion.js +3 -0
  464. package/dist/vue/LensDistortion.vue_vue_type_script_setup_true_lang.js +244 -0
  465. package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +2 -0
  466. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  467. package/dist/vue/components/LensDistortion.vue.d.ts +76 -0
  468. package/dist/vue/components/LensDistortion.vue.d.ts.map +1 -0
  469. package/dist/vue/index.d.ts +1 -0
  470. package/dist/vue/index.d.ts.map +1 -1
  471. package/dist/vue/index.js +2 -1
  472. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  473. package/dist/vue/utils/generatePresetCode.js +27 -0
  474. package/package.json +9 -1
  475. package/dist/core/shaderRegistry-CcvE7wN0.js +0 -425
  476. /package/dist/core/{SolidColor-Cu_9b_my.js → SolidColor-dYxjV0YF.js} +0 -0
  477. /package/dist/core/{fonts-v_F1SFl9.js → fonts-DFuXI3Hk.js} +0 -0
@@ -1,9 +1,10 @@
1
- import { Ct as floor, Et as max, F as colorMixing_exports, Gt as textureStorage2d, Lt as smoothstep, N as unpremultiplyAlpha, Ot as mix, R as hslToRgb, Vt as data_exports, Wt as texture2d, Xt as struct, Y as rgbToHsl, _ as floatE, _t as clamp, an as f32, at as textureStore, bt as dot, d as ZERO, et as src_default, in as vec4f, it as textureLoad, j as blendModes, mt as abs, nn as vec3f, nt as std_exports, p as call, pt as select, rt as textureDimensions, sn as u32, tn as vec2u, wt as fract } from "./edges-BXNBKxSN.js";
2
- import { n as createGuardedCompute } from "./compute-BjeJ0sIA.js";
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";
3
4
  import { a as transformColor } from "./transformations-CsPUHppB.js";
4
- var STATE_RES = 768;
5
+ var STATE_RES = isMobileGpuViewport() ? 384 : 640;
5
6
  var STATE_FORMAT = "rgba16float";
6
- var DIFFUSE_TEXELS = 2.5;
7
+ var DIFFUSE_HALF_UV = 2.5 * .5 / STATE_RES;
7
8
  var DRIFT_SCALE = .5;
8
9
  var RAINBOW_RATE = .35;
9
10
  var TrailParams = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(struct({
@@ -15,7 +16,6 @@ var TrailParams = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a)
15
16
  zoom: f32,
16
17
  hueRate: f32,
17
18
  blendMode: f32,
18
- motionMode: f32,
19
19
  motionThreshold: f32
20
20
  }), "TrailParams");
21
21
  var trailLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(src_default.bindGroupLayout({
@@ -25,27 +25,12 @@ var trailLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a)
25
25
  display: { storageTexture: textureStorage2d(STATE_FORMAT, "write-only") },
26
26
  prevLive: { texture: texture2d(f32) },
27
27
  prevLiveOut: { storageTexture: textureStorage2d(STATE_FORMAT, "write-only") },
28
+ samp: { sampler: "filtering" },
28
29
  params: { uniform: TrailParams }
29
30
  }), "trailLayout");
30
31
  const timeTrailSampleHistory = src_default.fn([f32, f32], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uvx, uvy) => {
31
32
  "use gpu";
32
- const res = f32(STATE_RES);
33
- const maxT = __tsover_sub(res, 1);
34
- const su = __tsover_sub(__tsover_mul(clamp(uvx, f32(0), f32(1)), res), .5);
35
- const sv = __tsover_sub(__tsover_mul(clamp(uvy, f32(0), f32(1)), res), .5);
36
- const x0 = floor(su);
37
- const y0 = floor(sv);
38
- const fx = __tsover_sub(su, x0);
39
- const fy = __tsover_sub(sv, y0);
40
- const ix0 = u32(clamp(x0, f32(0), maxT));
41
- const ix1 = u32(clamp(__tsover_add(x0, 1), f32(0), maxT));
42
- const iy0 = u32(clamp(y0, f32(0), maxT));
43
- const iy1 = u32(clamp(__tsover_add(y0, 1), f32(0), maxT));
44
- const p00 = textureLoad(trailLayout.$.prev, vec2u(ix0, iy0), 0);
45
- const p10 = textureLoad(trailLayout.$.prev, vec2u(ix1, iy0), 0);
46
- const p01 = textureLoad(trailLayout.$.prev, vec2u(ix0, iy1), 0);
47
- const p11 = textureLoad(trailLayout.$.prev, vec2u(ix1, iy1), 0);
48
- return mix(mix(p00, p10, fx), mix(p01, p11, fx), fy);
33
+ return textureSampleLevel(trailLayout.$.prev, trailLayout.$.samp, vec2f(uvx, uvy), f32(0));
49
34
  }), {
50
35
  v: 1,
51
36
  name: void 0,
@@ -57,10 +42,41 @@ const timeTrailSampleHistory = src_default.fn([f32, f32], vec4f)(/* @__PURE__ */
57
42
  "type": "i",
58
43
  "name": "uvy"
59
44
  }],
60
- "body": [0, [
45
+ "body": [0, [[10, [
46
+ 6,
61
47
  [
62
- 13,
63
- "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
+ ],
64
80
  [
65
81
  6,
66
82
  [
@@ -68,422 +84,307 @@ const timeTrailSampleHistory = src_default.fn([f32, f32], vec4f)(/* @__PURE__ */
68
84
  "d",
69
85
  "f32"
70
86
  ],
71
- ["STATE_RES"]
87
+ [[5, "0"]]
72
88
  ]
73
- ],
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,
74
119
  [
75
- 13,
76
- "maxT",
77
- [
78
- 1,
79
- "res",
80
- "-",
81
- [5, "1"]
82
- ]
120
+ 7,
121
+ "std",
122
+ "textureSampleLevel"
83
123
  ],
84
124
  [
85
- 13,
86
- "su",
87
125
  [
88
- 1,
126
+ 7,
89
127
  [
90
- 1,
91
- [
92
- 6,
93
- [
94
- 7,
95
- "std",
96
- "clamp"
97
- ],
98
- [
99
- "uvx",
100
- [
101
- 6,
102
- [
103
- 7,
104
- "d",
105
- "f32"
106
- ],
107
- [[5, "0"]]
108
- ],
109
- [
110
- 6,
111
- [
112
- 7,
113
- "d",
114
- "f32"
115
- ],
116
- [[5, "1"]]
117
- ]
118
- ]
119
- ],
120
- "*",
121
- "res"
128
+ 7,
129
+ "trailLayout",
130
+ "$"
122
131
  ],
123
- "-",
124
- [5, "0.5"]
125
- ]
126
- ],
127
- [
128
- 13,
129
- "sv",
132
+ "src"
133
+ ],
130
134
  [
131
- 1,
135
+ 7,
132
136
  [
133
- 1,
134
- [
135
- 6,
136
- [
137
- 7,
138
- "std",
139
- "clamp"
140
- ],
141
- [
142
- "uvy",
143
- [
144
- 6,
145
- [
146
- 7,
147
- "d",
148
- "f32"
149
- ],
150
- [[5, "0"]]
151
- ],
152
- [
153
- 6,
154
- [
155
- 7,
156
- "d",
157
- "f32"
158
- ],
159
- [[5, "1"]]
160
- ]
161
- ]
162
- ],
163
- "*",
164
- "res"
137
+ 7,
138
+ "trailLayout",
139
+ "$"
165
140
  ],
166
- "-",
167
- [5, "0.5"]
168
- ]
169
- ],
170
- [
171
- 13,
172
- "x0",
141
+ "samp"
142
+ ],
173
143
  [
174
144
  6,
175
145
  [
176
146
  7,
177
- "std",
178
- "floor"
147
+ "d",
148
+ "vec2f"
179
149
  ],
180
- ["su"]
181
- ]
182
- ],
183
- [
184
- 13,
185
- "y0",
150
+ ["uvx", "uvy"]
151
+ ],
186
152
  [
187
153
  6,
188
154
  [
189
155
  7,
190
- "std",
191
- "floor"
156
+ "d",
157
+ "f32"
192
158
  ],
193
- ["sv"]
159
+ [[5, "0"]]
194
160
  ]
195
- ],
196
- [
197
- 13,
198
- "fx",
199
- [
200
- 1,
201
- "su",
202
- "-",
203
- "x0"
204
- ]
205
- ],
206
- [
207
- 13,
208
- "fy",
209
- [
210
- 1,
211
- "sv",
212
- "-",
213
- "y0"
214
- ]
215
- ],
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, [
216
204
  [
217
205
  13,
218
- "ix0",
206
+ "dRgb",
219
207
  [
220
208
  6,
221
209
  [
222
210
  7,
223
- "d",
224
- "u32"
211
+ "std",
212
+ "abs"
225
213
  ],
226
214
  [[
227
215
  6,
228
216
  [
229
217
  7,
230
- "std",
231
- "clamp"
232
- ],
233
- [
234
- "x0",
235
218
  [
236
- 6,
237
- [
238
- 7,
239
- "d",
240
- "f32"
241
- ],
242
- [[5, "0"]]
219
+ 7,
220
+ "live",
221
+ "xyz"
243
222
  ],
244
- "maxT"
245
- ]
223
+ "sub"
224
+ ],
225
+ [[
226
+ 7,
227
+ "prev",
228
+ "xyz"
229
+ ]]
246
230
  ]]
247
231
  ]
248
232
  ],
249
233
  [
250
234
  13,
251
- "ix1",
235
+ "dA",
252
236
  [
253
237
  6,
254
238
  [
255
239
  7,
256
- "d",
257
- "u32"
240
+ "std",
241
+ "abs"
258
242
  ],
259
243
  [[
260
- 6,
244
+ 1,
261
245
  [
262
246
  7,
263
- "std",
264
- "clamp"
247
+ "live",
248
+ "w"
265
249
  ],
250
+ "-",
266
251
  [
267
- [
268
- 1,
269
- "x0",
270
- "+",
271
- [5, "1"]
272
- ],
273
- [
274
- 6,
275
- [
276
- 7,
277
- "d",
278
- "f32"
279
- ],
280
- [[5, "0"]]
281
- ],
282
- "maxT"
252
+ 7,
253
+ "prev",
254
+ "w"
283
255
  ]
284
256
  ]]
285
257
  ]
286
258
  ],
287
259
  [
288
260
  13,
289
- "iy0",
261
+ "diff",
290
262
  [
291
- 6,
263
+ 1,
292
264
  [
293
- 7,
294
- "d",
295
- "u32"
296
- ],
297
- [[
298
265
  6,
299
266
  [
300
267
  7,
301
268
  "std",
302
- "clamp"
269
+ "dot"
303
270
  ],
304
- [
305
- "y0",
306
- [
307
- 6,
308
- [
309
- 7,
310
- "d",
311
- "f32"
312
- ],
313
- [[5, "0"]]
314
- ],
315
- "maxT"
316
- ]
317
- ]]
318
- ]
319
- ],
320
- [
321
- 13,
322
- "iy1",
323
- [
324
- 6,
325
- [
326
- 7,
327
- "d",
328
- "u32"
329
- ],
330
- [[
331
- 6,
332
- [
333
- 7,
334
- "std",
335
- "clamp"
336
- ],
337
- [
271
+ ["dRgb", [
272
+ 6,
338
273
  [
339
- 1,
340
- "y0",
341
- "+",
342
- [5, "1"]
274
+ 7,
275
+ "d",
276
+ "vec3f"
343
277
  ],
344
278
  [
345
- 6,
346
- [
347
- 7,
348
- "d",
349
- "f32"
350
- ],
351
- [[5, "0"]]
352
- ],
353
- "maxT"
354
- ]
355
- ]]
279
+ [5, "0.299"],
280
+ [5, "0.587"],
281
+ [5, "0.114"]
282
+ ]
283
+ ]]
284
+ ],
285
+ "+",
286
+ "dA"
356
287
  ]
357
288
  ],
358
- [
359
- 13,
360
- "p00",
289
+ [10, [
290
+ 6,
361
291
  [
362
- 6,
363
- [
364
- 7,
365
- "std",
366
- "textureLoad"
367
- ],
292
+ 7,
293
+ "std",
294
+ "smoothstep"
295
+ ],
296
+ [
297
+ "threshold",
368
298
  [
299
+ 1,
369
300
  [
370
- 7,
371
- [
372
- 7,
373
- "trailLayout",
374
- "$"
375
- ],
376
- "prev"
377
- ],
378
- [
379
- 6,
380
- [
381
- 7,
382
- "d",
383
- "vec2u"
384
- ],
385
- ["ix0", "iy0"]
301
+ 1,
302
+ "threshold",
303
+ "*",
304
+ [5, "2"]
386
305
  ],
387
- [5, "0"]
388
- ]
306
+ "+",
307
+ [5, "0.001"]
308
+ ],
309
+ "diff"
389
310
  ]
390
- ],
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, [
391
336
  [
392
337
  13,
393
- "p10",
338
+ "hsl",
394
339
  [
395
340
  6,
396
341
  [
397
342
  7,
398
- "std",
399
- "textureLoad"
343
+ "colorMixing",
344
+ "rgbToHsl"
400
345
  ],
401
- [
402
- [
403
- 7,
404
- [
405
- 7,
406
- "trailLayout",
407
- "$"
408
- ],
409
- "prev"
410
- ],
411
- [
412
- 6,
413
- [
414
- 7,
415
- "d",
416
- "vec2u"
417
- ],
418
- ["ix1", "iy0"]
419
- ],
420
- [5, "0"]
421
- ]
346
+ ["rgb"]
422
347
  ]
423
348
  ],
424
349
  [
425
350
  13,
426
- "p01",
351
+ "rotated",
427
352
  [
428
353
  6,
429
354
  [
430
355
  7,
431
- "std",
432
- "textureLoad"
356
+ "d",
357
+ "vec3f"
433
358
  ],
434
359
  [
435
- [
436
- 7,
437
- [
438
- 7,
439
- "trailLayout",
440
- "$"
441
- ],
442
- "prev"
443
- ],
444
360
  [
445
361
  6,
446
362
  [
447
363
  7,
448
- "d",
449
- "vec2u"
364
+ "std",
365
+ "fract"
450
366
  ],
451
- ["ix0", "iy1"]
367
+ [[
368
+ 1,
369
+ [
370
+ 7,
371
+ "hsl",
372
+ "x"
373
+ ],
374
+ "+",
375
+ "amount"
376
+ ]]
452
377
  ],
453
- [5, "0"]
454
- ]
455
- ]
456
- ],
457
- [
458
- 13,
459
- "p11",
460
- [
461
- 6,
462
- [
463
- 7,
464
- "std",
465
- "textureLoad"
466
- ],
467
- [
468
378
  [
469
379
  7,
470
- [
471
- 7,
472
- "trailLayout",
473
- "$"
474
- ],
475
- "prev"
380
+ "hsl",
381
+ "y"
476
382
  ],
477
383
  [
478
- 6,
479
- [
480
- 7,
481
- "d",
482
- "vec2u"
483
- ],
484
- ["ix1", "iy1"]
485
- ],
486
- [5, "0"]
384
+ 7,
385
+ "hsl",
386
+ "z"
387
+ ]
487
388
  ]
488
389
  ]
489
390
  ],
@@ -491,1423 +392,576 @@ const timeTrailSampleHistory = src_default.fn([f32, f32], vec4f)(/* @__PURE__ */
491
392
  6,
492
393
  [
493
394
  7,
494
- "std",
495
- "mix"
395
+ "colorMixing",
396
+ "hslToRgb"
496
397
  ],
497
- [
498
- [
499
- 6,
500
- [
501
- 7,
502
- "std",
503
- "mix"
504
- ],
505
- [
506
- "p00",
507
- "p10",
508
- "fx"
509
- ]
510
- ],
511
- [
512
- 6,
513
- [
514
- 7,
515
- "std",
516
- "mix"
517
- ],
518
- [
519
- "p01",
520
- "p11",
521
- "fx"
522
- ]
523
- ],
524
- "fy"
525
- ]
398
+ ["rotated"]
526
399
  ]]
527
400
  ]],
528
401
  "externalNames": [
402
+ "colorMixing",
529
403
  "d",
530
- "STATE_RES",
531
- "std",
532
- "trailLayout"
404
+ "std"
533
405
  ]
534
406
  },
535
407
  externals: () => ({
408
+ colorMixing: colorMixing_exports,
536
409
  d: data_exports,
537
- STATE_RES,
538
- std: std_exports,
539
- trailLayout
410
+ std: std_exports
540
411
  })
541
412
  }) && $.f)({}));
542
- const timeTrailMotionMask = src_default.fn([
543
- vec4f,
544
- vec4f,
545
- f32
546
- ], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((live, prev, threshold) => {
413
+ const timeTrailTexelUv = src_default.fn([u32, u32], vec2f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
547
414
  "use gpu";
548
- const dRgb = abs(live.xyz.sub(prev.xyz));
549
- const dA = abs(__tsover_sub(live.w, prev.w));
550
- const diff = __tsover_add(dot(dRgb, vec3f(.299, .587, .114)), dA);
551
- return smoothstep(threshold, __tsover_add(__tsover_mul(threshold, 2), .001), diff);
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));
552
417
  }), {
553
418
  v: 1,
554
419
  name: void 0,
555
420
  ast: {
556
- "params": [
557
- {
558
- "type": "i",
559
- "name": "live"
560
- },
561
- {
562
- "type": "i",
563
- "name": "prev"
564
- },
565
- {
566
- "type": "i",
567
- "name": "threshold"
568
- }
569
- ],
570
- "body": [0, [
571
- [
572
- 13,
573
- "dRgb",
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,
574
433
  [
575
- 6,
434
+ 7,
435
+ "d",
436
+ "f32"
437
+ ],
438
+ ["STATE_RES"]
439
+ ]
440
+ ], [10, [
441
+ 6,
442
+ [
443
+ 7,
444
+ "d",
445
+ "vec2f"
446
+ ],
447
+ [[
448
+ 1,
449
+ [
450
+ 1,
576
451
  [
577
- 7,
578
- "std",
579
- "abs"
580
- ],
581
- [[
582
452
  6,
583
453
  [
584
454
  7,
585
- [
586
- 7,
587
- "live",
588
- "xyz"
589
- ],
590
- "sub"
455
+ "d",
456
+ "f32"
591
457
  ],
592
- [[
458
+ ["cx"]
459
+ ],
460
+ "+",
461
+ [5, "0.5"]
462
+ ],
463
+ "/",
464
+ "res"
465
+ ], [
466
+ 1,
467
+ [
468
+ 1,
469
+ [
470
+ 6,
471
+ [
593
472
  7,
594
- "prev",
595
- "xyz"
596
- ]]
597
- ]]
473
+ "d",
474
+ "f32"
475
+ ],
476
+ ["cy"]
477
+ ],
478
+ "+",
479
+ [5, "0.5"]
480
+ ],
481
+ "/",
482
+ "res"
483
+ ]]
484
+ ]]]],
485
+ "externalNames": ["d", "STATE_RES"]
486
+ },
487
+ externals: () => ({
488
+ d: data_exports,
489
+ STATE_RES
490
+ })
491
+ }) && $.f)({}));
492
+ const timeTrailFeedbackUv = src_default.fn([vec2f], vec2f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uv) => {
493
+ "use gpu";
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)));
497
+ }), {
498
+ v: 1,
499
+ name: void 0,
500
+ ast: {
501
+ "params": [{
502
+ "type": "i",
503
+ "name": "uv"
504
+ }],
505
+ "body": [0, [
506
+ [
507
+ 13,
508
+ "P",
509
+ [
510
+ 7,
511
+ [
512
+ 7,
513
+ "trailLayout",
514
+ "$"
515
+ ],
516
+ "params"
598
517
  ]
599
518
  ],
600
519
  [
601
520
  13,
602
- "dA",
521
+ "zoom",
603
522
  [
604
523
  6,
605
524
  [
606
525
  7,
607
526
  "std",
608
- "abs"
527
+ "max"
609
528
  ],
610
529
  [[
611
- 1,
612
- [
613
- 7,
614
- "live",
615
- "w"
616
- ],
617
- "-",
618
- [
619
- 7,
620
- "prev",
621
- "w"
622
- ]
623
- ]]
530
+ 7,
531
+ "P",
532
+ "zoom"
533
+ ], [5, "0.01"]]
624
534
  ]
625
535
  ],
626
- [
627
- 13,
628
- "diff",
536
+ [10, [
537
+ 6,
629
538
  [
539
+ 7,
540
+ "d",
541
+ "vec2f"
542
+ ],
543
+ [[
630
544
  1,
631
545
  [
632
- 6,
546
+ 1,
633
547
  [
634
- 7,
635
- "std",
636
- "dot"
548
+ 1,
549
+ [
550
+ 1,
551
+ [
552
+ 7,
553
+ "uv",
554
+ "x"
555
+ ],
556
+ "-",
557
+ [5, "0.5"]
558
+ ],
559
+ "/",
560
+ "zoom"
637
561
  ],
638
- ["dRgb", [
639
- 6,
562
+ "+",
563
+ [5, "0.5"]
564
+ ],
565
+ "-",
566
+ [
567
+ 1,
568
+ [
569
+ 1,
640
570
  [
641
571
  7,
642
- "d",
643
- "vec3f"
572
+ "P",
573
+ "driftX"
644
574
  ],
575
+ "*",
645
576
  [
646
- [5, "0.299"],
647
- [5, "0.587"],
648
- [5, "0.114"]
577
+ 7,
578
+ "P",
579
+ "dt"
649
580
  ]
650
- ]]
651
- ],
652
- "+",
653
- "dA"
654
- ]
655
- ],
656
- [10, [
657
- 6,
658
- [
659
- 7,
660
- "std",
661
- "smoothstep"
662
- ],
663
- [
664
- "threshold",
581
+ ],
582
+ "*",
583
+ "DRIFT_SCALE"
584
+ ]
585
+ ], [
586
+ 1,
665
587
  [
666
588
  1,
667
589
  [
668
590
  1,
669
- "threshold",
670
- "*",
671
- [5, "2"]
591
+ [
592
+ 1,
593
+ [
594
+ 7,
595
+ "uv",
596
+ "y"
597
+ ],
598
+ "-",
599
+ [5, "0.5"]
600
+ ],
601
+ "/",
602
+ "zoom"
672
603
  ],
673
604
  "+",
674
- [5, "0.001"]
605
+ [5, "0.5"]
675
606
  ],
676
- "diff"
677
- ]
607
+ "-",
608
+ [
609
+ 1,
610
+ [
611
+ 1,
612
+ [
613
+ 7,
614
+ "P",
615
+ "driftY"
616
+ ],
617
+ "*",
618
+ [
619
+ 7,
620
+ "P",
621
+ "dt"
622
+ ]
623
+ ],
624
+ "*",
625
+ "DRIFT_SCALE"
626
+ ]
627
+ ]]
678
628
  ]]
679
629
  ]],
680
- "externalNames": ["std", "d"]
630
+ "externalNames": [
631
+ "trailLayout",
632
+ "std",
633
+ "d",
634
+ "DRIFT_SCALE"
635
+ ]
681
636
  },
682
637
  externals: () => ({
638
+ trailLayout,
683
639
  std: std_exports,
684
- d: data_exports
640
+ d: data_exports,
641
+ DRIFT_SCALE
685
642
  })
686
643
  }) && $.f)({}));
687
- const timeTrailRotateHue = src_default.fn([vec3f, f32], vec3f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((rgb, amount) => {
644
+ const timeTrailDecayed = src_default.fn([f32, f32], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((bx, by) => {
688
645
  "use gpu";
689
- const hsl = rgbToHsl(rgb);
690
- return hslToRgb(vec3f(fract(__tsover_add(hsl.x, amount)), hsl.y, hsl.z));
646
+ const P = trailLayout.$.params;
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));
691
649
  }), {
692
650
  v: 1,
693
651
  name: void 0,
694
652
  ast: {
695
653
  "params": [{
696
654
  "type": "i",
697
- "name": "rgb"
655
+ "name": "bx"
698
656
  }, {
699
657
  "type": "i",
700
- "name": "amount"
658
+ "name": "by"
701
659
  }],
702
660
  "body": [0, [
703
661
  [
704
662
  13,
705
- "hsl",
663
+ "P",
706
664
  [
707
- 6,
665
+ 7,
708
666
  [
709
667
  7,
710
- "colorMixing",
711
- "rgbToHsl"
668
+ "trailLayout",
669
+ "$"
712
670
  ],
713
- ["rgb"]
671
+ "params"
714
672
  ]
715
673
  ],
716
674
  [
717
675
  13,
718
- "rotated",
676
+ "h",
719
677
  [
720
- 6,
678
+ 1,
721
679
  [
722
680
  7,
723
- "d",
724
- "vec3f"
681
+ "P",
682
+ "diffusion"
725
683
  ],
684
+ "*",
685
+ "DIFFUSE_HALF_UV"
686
+ ]
687
+ ],
688
+ [
689
+ 13,
690
+ "sum",
691
+ [
692
+ 6,
726
693
  [
694
+ 7,
727
695
  [
728
696
  6,
729
697
  [
730
698
  7,
731
- "std",
732
- "fract"
733
- ],
734
- [[
735
- 1,
736
699
  [
737
- 7,
738
- "hsl",
739
- "x"
700
+ 6,
701
+ [
702
+ 7,
703
+ [
704
+ 6,
705
+ "timeTrailSampleHistory",
706
+ [[
707
+ 1,
708
+ "bx",
709
+ "-",
710
+ "h"
711
+ ], [
712
+ 1,
713
+ "by",
714
+ "-",
715
+ "h"
716
+ ]]
717
+ ],
718
+ "add"
719
+ ],
720
+ [[
721
+ 6,
722
+ "timeTrailSampleHistory",
723
+ [[
724
+ 1,
725
+ "bx",
726
+ "+",
727
+ "h"
728
+ ], [
729
+ 1,
730
+ "by",
731
+ "-",
732
+ "h"
733
+ ]]
734
+ ]]
740
735
  ],
741
- "+",
742
- "amount"
736
+ "add"
737
+ ],
738
+ [[
739
+ 6,
740
+ "timeTrailSampleHistory",
741
+ [[
742
+ 1,
743
+ "bx",
744
+ "-",
745
+ "h"
746
+ ], [
747
+ 1,
748
+ "by",
749
+ "+",
750
+ "h"
751
+ ]]
743
752
  ]]
744
753
  ],
745
- [
746
- 7,
747
- "hsl",
748
- "y"
749
- ],
750
- [
751
- 7,
752
- "hsl",
753
- "z"
754
- ]
755
- ]
754
+ "add"
755
+ ],
756
+ [[
757
+ 6,
758
+ "timeTrailSampleHistory",
759
+ [[
760
+ 1,
761
+ "bx",
762
+ "+",
763
+ "h"
764
+ ], [
765
+ 1,
766
+ "by",
767
+ "+",
768
+ "h"
769
+ ]]
770
+ ]]
756
771
  ]
757
772
  ],
758
773
  [10, [
759
774
  6,
760
775
  [
761
776
  7,
762
- "colorMixing",
763
- "hslToRgb"
777
+ "sum",
778
+ "mul"
764
779
  ],
765
- ["rotated"]
780
+ [[
781
+ 1,
782
+ [
783
+ 7,
784
+ "P",
785
+ "persistence"
786
+ ],
787
+ "*",
788
+ [5, "0.25"]
789
+ ]]
766
790
  ]]
767
791
  ]],
768
792
  "externalNames": [
769
- "colorMixing",
770
- "d",
771
- "std"
793
+ "trailLayout",
794
+ "DIFFUSE_HALF_UV",
795
+ "timeTrailSampleHistory"
772
796
  ]
773
797
  },
774
798
  externals: () => ({
775
- colorMixing: colorMixing_exports,
776
- d: data_exports,
777
- std: std_exports
799
+ trailLayout,
800
+ DIFFUSE_HALF_UV,
801
+ timeTrailSampleHistory
778
802
  })
779
- }) && $.f)({}));
780
- const timeTrailKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
803
+ }) && $.f)({})).$name("timeTrailDecayed");
804
+ const timeTrailDecayedTinted = src_default.fn([f32, f32], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((bx, by) => {
781
805
  "use gpu";
782
- const P = trailLayout.$.params;
783
- const res = f32(STATE_RES);
784
- const fx = __tsover_div(__tsover_add(f32(cx), .5), res);
785
- const fy = __tsover_div(__tsover_add(f32(cy), .5), res);
786
- const zoom = max(P.zoom, .01);
787
- const bx = __tsover_sub(__tsover_add(__tsover_div(__tsover_sub(fx, .5), zoom), .5), __tsover_mul(__tsover_mul(P.driftX, P.dt), DRIFT_SCALE));
788
- const by = __tsover_sub(__tsover_add(__tsover_div(__tsover_sub(fy, .5), zoom), .5), __tsover_mul(__tsover_mul(P.driftY, P.dt), DRIFT_SCALE));
789
- const o = __tsover_mul(P.diffusion, __tsover_div(DIFFUSE_TEXELS, res));
790
- const c = timeTrailSampleHistory(bx, by).mul(4);
791
- 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);
792
- 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)));
793
- const decayed = c.add(edgesSum).add(cornersSum).div(16).mul(P.persistence);
806
+ const decayed = timeTrailDecayed(bx, by);
794
807
  const a = max(decayed.w, 1e-4);
795
- const rotated = timeTrailRotateHue(decayed.xyz.div(a), P.hueRate).mul(decayed.w);
796
- const trail = vec4f(select(decayed.xyz, rotated, abs(P.hueRate) > 1e-4), decayed.w);
797
- const srcDims = textureDimensions(trailLayout.$.src);
798
- const srcW = f32(srcDims.x);
799
- const srcH = f32(srcDims.y);
800
- const cu = __tsover_sub(__tsover_mul(fx, srcW), .5);
801
- const cv = __tsover_sub(__tsover_mul(fy, srcH), .5);
802
- const cx0 = floor(cu);
803
- const cy0 = floor(cv);
804
- const cfx = __tsover_sub(cu, cx0);
805
- const cfy = __tsover_sub(cv, cy0);
806
- const jx0 = u32(clamp(cx0, f32(0), __tsover_sub(srcW, 1)));
807
- const jx1 = u32(clamp(__tsover_add(cx0, 1), f32(0), __tsover_sub(srcW, 1)));
808
- const jy0 = u32(clamp(cy0, f32(0), __tsover_sub(srcH, 1)));
809
- const jy1 = u32(clamp(__tsover_add(cy0, 1), f32(0), __tsover_sub(srcH, 1)));
810
- const s00 = textureLoad(trailLayout.$.src, vec2u(jx0, jy0), 0);
811
- const s10 = textureLoad(trailLayout.$.src, vec2u(jx1, jy0), 0);
812
- const s01 = textureLoad(trailLayout.$.src, vec2u(jx0, jy1), 0);
813
- const s11 = textureLoad(trailLayout.$.src, vec2u(jx1, jy1), 0);
814
- const live = mix(mix(s00, s10, cfx), mix(s01, s11, cfx), cfy);
815
- const mMotion = timeTrailMotionMask(live, textureLoad(trailLayout.$.prevLive, vec2u(cx, cy), 0), P.motionThreshold);
816
- const m = select(f32(1), mMotion, P.motionMode > .5);
817
- const stamp = vec4f(live.xyz.mul(m), __tsover_mul(live.w, m));
818
- const outA = __tsover_add(stamp.w, __tsover_mul(trail.w, __tsover_sub(1, stamp.w)));
819
- const rgbNormal = stamp.xyz.add(trail.xyz.mul(__tsover_sub(1, stamp.w)));
820
- const rgbScreen = stamp.xyz.add(trail.xyz).sub(stamp.xyz.mul(trail.xyz));
821
- const rgbAdd = stamp.xyz.add(trail.xyz);
822
- const outC = vec4f(select(select(rgbNormal, rgbScreen, P.blendMode > .5), rgbAdd, P.blendMode > 1.5), outA);
823
- const disp = select(outC, trail, P.motionMode > .5);
824
- textureStore(trailLayout.$.next, vec2u(cx, cy), outC);
825
- textureStore(trailLayout.$.display, vec2u(cx, cy), disp);
826
- textureStore(trailLayout.$.prevLiveOut, vec2u(cx, cy), live);
808
+ return vec4f(timeTrailRotateHue(decayed.xyz.div(a), trailLayout.$.params.hueRate).mul(decayed.w), decayed.w);
827
809
  }), {
828
810
  v: 1,
829
811
  name: void 0,
830
812
  ast: {
831
813
  "params": [{
832
814
  "type": "i",
833
- "name": "cx"
815
+ "name": "bx"
834
816
  }, {
835
817
  "type": "i",
836
- "name": "cy"
837
- }],
838
- "body": [0, [
839
- [
840
- 13,
841
- "P",
842
- [
843
- 7,
844
- [
845
- 7,
846
- "trailLayout",
847
- "$"
848
- ],
849
- "params"
850
- ]
851
- ],
852
- [
853
- 13,
854
- "res",
855
- [
856
- 6,
857
- [
858
- 7,
859
- "d",
860
- "f32"
861
- ],
862
- ["STATE_RES"]
863
- ]
864
- ],
865
- [
866
- 13,
867
- "fx",
868
- [
869
- 1,
870
- [
871
- 1,
872
- [
873
- 6,
874
- [
875
- 7,
876
- "d",
877
- "f32"
878
- ],
879
- ["cx"]
880
- ],
881
- "+",
882
- [5, "0.5"]
883
- ],
884
- "/",
885
- "res"
886
- ]
887
- ],
888
- [
889
- 13,
890
- "fy",
891
- [
892
- 1,
893
- [
894
- 1,
895
- [
896
- 6,
897
- [
898
- 7,
899
- "d",
900
- "f32"
901
- ],
902
- ["cy"]
903
- ],
904
- "+",
905
- [5, "0.5"]
906
- ],
907
- "/",
908
- "res"
909
- ]
910
- ],
911
- [
912
- 13,
913
- "zoom",
914
- [
915
- 6,
916
- [
917
- 7,
918
- "std",
919
- "max"
920
- ],
921
- [[
922
- 7,
923
- "P",
924
- "zoom"
925
- ], [5, "0.01"]]
926
- ]
927
- ],
928
- [
929
- 13,
930
- "bx",
931
- [
932
- 1,
933
- [
934
- 1,
935
- [
936
- 1,
937
- [
938
- 1,
939
- "fx",
940
- "-",
941
- [5, "0.5"]
942
- ],
943
- "/",
944
- "zoom"
945
- ],
946
- "+",
947
- [5, "0.5"]
948
- ],
949
- "-",
950
- [
951
- 1,
952
- [
953
- 1,
954
- [
955
- 7,
956
- "P",
957
- "driftX"
958
- ],
959
- "*",
960
- [
961
- 7,
962
- "P",
963
- "dt"
964
- ]
965
- ],
966
- "*",
967
- "DRIFT_SCALE"
968
- ]
969
- ]
970
- ],
971
- [
972
- 13,
973
- "by",
974
- [
975
- 1,
976
- [
977
- 1,
978
- [
979
- 1,
980
- [
981
- 1,
982
- "fy",
983
- "-",
984
- [5, "0.5"]
985
- ],
986
- "/",
987
- "zoom"
988
- ],
989
- "+",
990
- [5, "0.5"]
991
- ],
992
- "-",
993
- [
994
- 1,
995
- [
996
- 1,
997
- [
998
- 7,
999
- "P",
1000
- "driftY"
1001
- ],
1002
- "*",
1003
- [
1004
- 7,
1005
- "P",
1006
- "dt"
1007
- ]
1008
- ],
1009
- "*",
1010
- "DRIFT_SCALE"
1011
- ]
1012
- ]
1013
- ],
1014
- [
1015
- 13,
1016
- "o",
1017
- [
1018
- 1,
1019
- [
1020
- 7,
1021
- "P",
1022
- "diffusion"
1023
- ],
1024
- "*",
1025
- [
1026
- 1,
1027
- "DIFFUSE_TEXELS",
1028
- "/",
1029
- "res"
1030
- ]
1031
- ]
1032
- ],
1033
- [
1034
- 13,
1035
- "c",
1036
- [
1037
- 6,
1038
- [
1039
- 7,
1040
- [
1041
- 6,
1042
- "timeTrailSampleHistory",
1043
- ["bx", "by"]
1044
- ],
1045
- "mul"
1046
- ],
1047
- [[5, "4"]]
1048
- ]
1049
- ],
1050
- [
1051
- 13,
1052
- "edgesSum",
1053
- [
1054
- 6,
1055
- [
1056
- 7,
1057
- [
1058
- 6,
1059
- [
1060
- 7,
1061
- [
1062
- 6,
1063
- [
1064
- 7,
1065
- [
1066
- 6,
1067
- [
1068
- 7,
1069
- [
1070
- 6,
1071
- "timeTrailSampleHistory",
1072
- [[
1073
- 1,
1074
- "bx",
1075
- "-",
1076
- "o"
1077
- ], "by"]
1078
- ],
1079
- "add"
1080
- ],
1081
- [[
1082
- 6,
1083
- "timeTrailSampleHistory",
1084
- [[
1085
- 1,
1086
- "bx",
1087
- "+",
1088
- "o"
1089
- ], "by"]
1090
- ]]
1091
- ],
1092
- "add"
1093
- ],
1094
- [[
1095
- 6,
1096
- "timeTrailSampleHistory",
1097
- ["bx", [
1098
- 1,
1099
- "by",
1100
- "-",
1101
- "o"
1102
- ]]
1103
- ]]
1104
- ],
1105
- "add"
1106
- ],
1107
- [[
1108
- 6,
1109
- "timeTrailSampleHistory",
1110
- ["bx", [
1111
- 1,
1112
- "by",
1113
- "+",
1114
- "o"
1115
- ]]
1116
- ]]
1117
- ],
1118
- "mul"
1119
- ],
1120
- [[5, "2"]]
1121
- ]
1122
- ],
1123
- [
1124
- 13,
1125
- "cornersSum",
1126
- [
1127
- 6,
1128
- [
1129
- 7,
1130
- [
1131
- 6,
1132
- [
1133
- 7,
1134
- [
1135
- 6,
1136
- [
1137
- 7,
1138
- [
1139
- 6,
1140
- "timeTrailSampleHistory",
1141
- [[
1142
- 1,
1143
- "bx",
1144
- "-",
1145
- "o"
1146
- ], [
1147
- 1,
1148
- "by",
1149
- "-",
1150
- "o"
1151
- ]]
1152
- ],
1153
- "add"
1154
- ],
1155
- [[
1156
- 6,
1157
- "timeTrailSampleHistory",
1158
- [[
1159
- 1,
1160
- "bx",
1161
- "+",
1162
- "o"
1163
- ], [
1164
- 1,
1165
- "by",
1166
- "-",
1167
- "o"
1168
- ]]
1169
- ]]
1170
- ],
1171
- "add"
1172
- ],
1173
- [[
1174
- 6,
1175
- "timeTrailSampleHistory",
1176
- [[
1177
- 1,
1178
- "bx",
1179
- "-",
1180
- "o"
1181
- ], [
1182
- 1,
1183
- "by",
1184
- "+",
1185
- "o"
1186
- ]]
1187
- ]]
1188
- ],
1189
- "add"
1190
- ],
1191
- [[
1192
- 6,
1193
- "timeTrailSampleHistory",
1194
- [[
1195
- 1,
1196
- "bx",
1197
- "+",
1198
- "o"
1199
- ], [
1200
- 1,
1201
- "by",
1202
- "+",
1203
- "o"
1204
- ]]
1205
- ]]
1206
- ]
1207
- ],
1208
- [
1209
- 13,
1210
- "blurred",
1211
- [
1212
- 6,
1213
- [
1214
- 7,
1215
- [
1216
- 6,
1217
- [
1218
- 7,
1219
- [
1220
- 6,
1221
- [
1222
- 7,
1223
- "c",
1224
- "add"
1225
- ],
1226
- ["edgesSum"]
1227
- ],
1228
- "add"
1229
- ],
1230
- ["cornersSum"]
1231
- ],
1232
- "div"
1233
- ],
1234
- [[5, "16"]]
1235
- ]
1236
- ],
1237
- [
1238
- 13,
1239
- "decayed",
1240
- [
1241
- 6,
1242
- [
1243
- 7,
1244
- "blurred",
1245
- "mul"
1246
- ],
1247
- [[
1248
- 7,
1249
- "P",
1250
- "persistence"
1251
- ]]
1252
- ]
1253
- ],
1254
- [
1255
- 13,
1256
- "a",
1257
- [
1258
- 6,
1259
- [
1260
- 7,
1261
- "std",
1262
- "max"
1263
- ],
1264
- [[
1265
- 7,
1266
- "decayed",
1267
- "w"
1268
- ], [5, "0.0001"]]
1269
- ]
1270
- ],
1271
- [
1272
- 13,
1273
- "straight",
1274
- [
1275
- 6,
1276
- [
1277
- 7,
1278
- [
1279
- 7,
1280
- "decayed",
1281
- "xyz"
1282
- ],
1283
- "div"
1284
- ],
1285
- ["a"]
1286
- ]
1287
- ],
1288
- [
1289
- 13,
1290
- "rotated",
1291
- [
1292
- 6,
1293
- [
1294
- 7,
1295
- [
1296
- 6,
1297
- "timeTrailRotateHue",
1298
- ["straight", [
1299
- 7,
1300
- "P",
1301
- "hueRate"
1302
- ]]
1303
- ],
1304
- "mul"
1305
- ],
1306
- [[
1307
- 7,
1308
- "decayed",
1309
- "w"
1310
- ]]
1311
- ]
1312
- ],
1313
- [
1314
- 13,
1315
- "trail",
1316
- [
1317
- 6,
1318
- [
1319
- 7,
1320
- "d",
1321
- "vec4f"
1322
- ],
1323
- [[
1324
- 6,
1325
- [
1326
- 7,
1327
- "std",
1328
- "select"
1329
- ],
1330
- [
1331
- [
1332
- 7,
1333
- "decayed",
1334
- "xyz"
1335
- ],
1336
- "rotated",
1337
- [
1338
- 1,
1339
- [
1340
- 6,
1341
- [
1342
- 7,
1343
- "std",
1344
- "abs"
1345
- ],
1346
- [[
1347
- 7,
1348
- "P",
1349
- "hueRate"
1350
- ]]
1351
- ],
1352
- ">",
1353
- [5, "0.0001"]
1354
- ]
1355
- ]
1356
- ], [
1357
- 7,
1358
- "decayed",
1359
- "w"
1360
- ]]
1361
- ]
1362
- ],
1363
- [
1364
- 13,
1365
- "srcDims",
1366
- [
1367
- 6,
1368
- [
1369
- 7,
1370
- "std",
1371
- "textureDimensions"
1372
- ],
1373
- [[
1374
- 7,
1375
- [
1376
- 7,
1377
- "trailLayout",
1378
- "$"
1379
- ],
1380
- "src"
1381
- ]]
1382
- ]
1383
- ],
1384
- [
1385
- 13,
1386
- "srcW",
1387
- [
1388
- 6,
1389
- [
1390
- 7,
1391
- "d",
1392
- "f32"
1393
- ],
1394
- [[
1395
- 7,
1396
- "srcDims",
1397
- "x"
1398
- ]]
1399
- ]
1400
- ],
1401
- [
1402
- 13,
1403
- "srcH",
1404
- [
1405
- 6,
1406
- [
1407
- 7,
1408
- "d",
1409
- "f32"
1410
- ],
1411
- [[
1412
- 7,
1413
- "srcDims",
1414
- "y"
1415
- ]]
1416
- ]
1417
- ],
1418
- [
1419
- 13,
1420
- "cu",
1421
- [
1422
- 1,
1423
- [
1424
- 1,
1425
- "fx",
1426
- "*",
1427
- "srcW"
1428
- ],
1429
- "-",
1430
- [5, "0.5"]
1431
- ]
1432
- ],
1433
- [
1434
- 13,
1435
- "cv",
1436
- [
1437
- 1,
1438
- [
1439
- 1,
1440
- "fy",
1441
- "*",
1442
- "srcH"
1443
- ],
1444
- "-",
1445
- [5, "0.5"]
1446
- ]
1447
- ],
1448
- [
1449
- 13,
1450
- "cx0",
1451
- [
1452
- 6,
1453
- [
1454
- 7,
1455
- "std",
1456
- "floor"
1457
- ],
1458
- ["cu"]
1459
- ]
1460
- ],
1461
- [
1462
- 13,
1463
- "cy0",
1464
- [
1465
- 6,
1466
- [
1467
- 7,
1468
- "std",
1469
- "floor"
1470
- ],
1471
- ["cv"]
1472
- ]
1473
- ],
1474
- [
1475
- 13,
1476
- "cfx",
1477
- [
1478
- 1,
1479
- "cu",
1480
- "-",
1481
- "cx0"
1482
- ]
1483
- ],
1484
- [
1485
- 13,
1486
- "cfy",
1487
- [
1488
- 1,
1489
- "cv",
1490
- "-",
1491
- "cy0"
1492
- ]
1493
- ],
1494
- [
1495
- 13,
1496
- "jx0",
1497
- [
1498
- 6,
1499
- [
1500
- 7,
1501
- "d",
1502
- "u32"
1503
- ],
1504
- [[
1505
- 6,
1506
- [
1507
- 7,
1508
- "std",
1509
- "clamp"
1510
- ],
1511
- [
1512
- "cx0",
1513
- [
1514
- 6,
1515
- [
1516
- 7,
1517
- "d",
1518
- "f32"
1519
- ],
1520
- [[5, "0"]]
1521
- ],
1522
- [
1523
- 1,
1524
- "srcW",
1525
- "-",
1526
- [5, "1"]
1527
- ]
1528
- ]
1529
- ]]
1530
- ]
1531
- ],
1532
- [
1533
- 13,
1534
- "jx1",
1535
- [
1536
- 6,
1537
- [
1538
- 7,
1539
- "d",
1540
- "u32"
1541
- ],
1542
- [[
1543
- 6,
1544
- [
1545
- 7,
1546
- "std",
1547
- "clamp"
1548
- ],
1549
- [
1550
- [
1551
- 1,
1552
- "cx0",
1553
- "+",
1554
- [5, "1"]
1555
- ],
1556
- [
1557
- 6,
1558
- [
1559
- 7,
1560
- "d",
1561
- "f32"
1562
- ],
1563
- [[5, "0"]]
1564
- ],
1565
- [
1566
- 1,
1567
- "srcW",
1568
- "-",
1569
- [5, "1"]
1570
- ]
1571
- ]
1572
- ]]
1573
- ]
1574
- ],
1575
- [
1576
- 13,
1577
- "jy0",
1578
- [
1579
- 6,
1580
- [
1581
- 7,
1582
- "d",
1583
- "u32"
1584
- ],
1585
- [[
1586
- 6,
1587
- [
1588
- 7,
1589
- "std",
1590
- "clamp"
1591
- ],
1592
- [
1593
- "cy0",
1594
- [
1595
- 6,
1596
- [
1597
- 7,
1598
- "d",
1599
- "f32"
1600
- ],
1601
- [[5, "0"]]
1602
- ],
1603
- [
1604
- 1,
1605
- "srcH",
1606
- "-",
1607
- [5, "1"]
1608
- ]
1609
- ]
1610
- ]]
1611
- ]
1612
- ],
1613
- [
1614
- 13,
1615
- "jy1",
1616
- [
1617
- 6,
1618
- [
1619
- 7,
1620
- "d",
1621
- "u32"
1622
- ],
1623
- [[
1624
- 6,
1625
- [
1626
- 7,
1627
- "std",
1628
- "clamp"
1629
- ],
1630
- [
1631
- [
1632
- 1,
1633
- "cy0",
1634
- "+",
1635
- [5, "1"]
1636
- ],
1637
- [
1638
- 6,
1639
- [
1640
- 7,
1641
- "d",
1642
- "f32"
1643
- ],
1644
- [[5, "0"]]
1645
- ],
1646
- [
1647
- 1,
1648
- "srcH",
1649
- "-",
1650
- [5, "1"]
1651
- ]
1652
- ]
1653
- ]]
1654
- ]
1655
- ],
1656
- [
1657
- 13,
1658
- "s00",
1659
- [
1660
- 6,
1661
- [
1662
- 7,
1663
- "std",
1664
- "textureLoad"
1665
- ],
1666
- [
1667
- [
1668
- 7,
1669
- [
1670
- 7,
1671
- "trailLayout",
1672
- "$"
1673
- ],
1674
- "src"
1675
- ],
1676
- [
1677
- 6,
1678
- [
1679
- 7,
1680
- "d",
1681
- "vec2u"
1682
- ],
1683
- ["jx0", "jy0"]
1684
- ],
1685
- [5, "0"]
1686
- ]
1687
- ]
1688
- ],
1689
- [
1690
- 13,
1691
- "s10",
1692
- [
1693
- 6,
1694
- [
1695
- 7,
1696
- "std",
1697
- "textureLoad"
1698
- ],
1699
- [
1700
- [
1701
- 7,
1702
- [
1703
- 7,
1704
- "trailLayout",
1705
- "$"
1706
- ],
1707
- "src"
1708
- ],
1709
- [
1710
- 6,
1711
- [
1712
- 7,
1713
- "d",
1714
- "vec2u"
1715
- ],
1716
- ["jx1", "jy0"]
1717
- ],
1718
- [5, "0"]
1719
- ]
1720
- ]
1721
- ],
1722
- [
1723
- 13,
1724
- "s01",
1725
- [
1726
- 6,
1727
- [
1728
- 7,
1729
- "std",
1730
- "textureLoad"
1731
- ],
1732
- [
1733
- [
1734
- 7,
1735
- [
1736
- 7,
1737
- "trailLayout",
1738
- "$"
1739
- ],
1740
- "src"
1741
- ],
1742
- [
1743
- 6,
1744
- [
1745
- 7,
1746
- "d",
1747
- "vec2u"
1748
- ],
1749
- ["jx0", "jy1"]
1750
- ],
1751
- [5, "0"]
1752
- ]
1753
- ]
1754
- ],
1755
- [
1756
- 13,
1757
- "s11",
1758
- [
1759
- 6,
1760
- [
1761
- 7,
1762
- "std",
1763
- "textureLoad"
1764
- ],
1765
- [
1766
- [
1767
- 7,
1768
- [
1769
- 7,
1770
- "trailLayout",
1771
- "$"
1772
- ],
1773
- "src"
1774
- ],
1775
- [
1776
- 6,
1777
- [
1778
- 7,
1779
- "d",
1780
- "vec2u"
1781
- ],
1782
- ["jx1", "jy1"]
1783
- ],
1784
- [5, "0"]
1785
- ]
1786
- ]
1787
- ],
1788
- [
1789
- 13,
1790
- "live",
1791
- [
1792
- 6,
1793
- [
1794
- 7,
1795
- "std",
1796
- "mix"
1797
- ],
1798
- [
1799
- [
1800
- 6,
1801
- [
1802
- 7,
1803
- "std",
1804
- "mix"
1805
- ],
1806
- [
1807
- "s00",
1808
- "s10",
1809
- "cfx"
1810
- ]
1811
- ],
1812
- [
1813
- 6,
1814
- [
1815
- 7,
1816
- "std",
1817
- "mix"
1818
- ],
1819
- [
1820
- "s01",
1821
- "s11",
1822
- "cfx"
1823
- ]
1824
- ],
1825
- "cfy"
1826
- ]
818
+ "name": "by"
819
+ }],
820
+ "body": [0, [
821
+ [
822
+ 13,
823
+ "decayed",
824
+ [
825
+ 6,
826
+ "timeTrailDecayed",
827
+ ["bx", "by"]
1827
828
  ]
1828
829
  ],
1829
830
  [
1830
831
  13,
1831
- "pl",
832
+ "a",
1832
833
  [
1833
834
  6,
1834
835
  [
1835
836
  7,
1836
837
  "std",
1837
- "textureLoad"
838
+ "max"
1838
839
  ],
1839
- [
840
+ [[
841
+ 7,
842
+ "decayed",
843
+ "w"
844
+ ], [5, "0.0001"]]
845
+ ]
846
+ ],
847
+ [
848
+ 13,
849
+ "rotated",
850
+ [
851
+ 6,
852
+ "timeTrailRotateHue",
853
+ [[
854
+ 6,
1840
855
  [
1841
856
  7,
1842
857
  [
1843
858
  7,
1844
- "trailLayout",
1845
- "$"
859
+ "decayed",
860
+ "xyz"
1846
861
  ],
1847
- "prevLive"
862
+ "div"
1848
863
  ],
864
+ ["a"]
865
+ ], [
866
+ 7,
1849
867
  [
1850
- 6,
868
+ 7,
1851
869
  [
1852
870
  7,
1853
- "d",
1854
- "vec2u"
871
+ "trailLayout",
872
+ "$"
1855
873
  ],
1856
- ["cx", "cy"]
874
+ "params"
1857
875
  ],
1858
- [5, "0"]
1859
- ]
876
+ "hueRate"
877
+ ]]
1860
878
  ]
1861
879
  ],
1862
- [
1863
- 13,
1864
- "mMotion",
880
+ [10, [
881
+ 6,
1865
882
  [
883
+ 7,
884
+ "d",
885
+ "vec4f"
886
+ ],
887
+ [[
1866
888
  6,
1867
- "timeTrailMotionMask",
1868
889
  [
1869
- "live",
1870
- "pl",
1871
- [
1872
- 7,
1873
- "P",
1874
- "motionThreshold"
1875
- ]
1876
- ]
1877
- ]
1878
- ],
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, [
1879
954
  [
1880
955
  13,
1881
- "m",
956
+ "P",
1882
957
  [
1883
- 6,
958
+ 7,
1884
959
  [
1885
960
  7,
1886
- "std",
1887
- "select"
961
+ "trailLayout",
962
+ "$"
1888
963
  ],
1889
- [
1890
- [
1891
- 6,
1892
- [
1893
- 7,
1894
- "d",
1895
- "f32"
1896
- ],
1897
- [[5, "1"]]
1898
- ],
1899
- "mMotion",
1900
- [
1901
- 1,
1902
- [
1903
- 7,
1904
- "P",
1905
- "motionMode"
1906
- ],
1907
- ">",
1908
- [5, "0.5"]
1909
- ]
1910
- ]
964
+ "params"
1911
965
  ]
1912
966
  ],
1913
967
  [
@@ -2061,114 +1115,290 @@ const timeTrailKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (glob
2061
1115
  ],
2062
1116
  [
2063
1117
  13,
2064
- "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",
2065
1249
  [
2066
1250
  6,
2067
- [
1251
+ "trailFn",
1252
+ [[
2068
1253
  7,
2069
- [
2070
- 7,
2071
- "stamp",
2072
- "xyz"
2073
- ],
2074
- "add"
2075
- ],
1254
+ "b",
1255
+ "x"
1256
+ ], [
1257
+ 7,
1258
+ "b",
1259
+ "y"
1260
+ ]]
1261
+ ]
1262
+ ],
1263
+ [
1264
+ 13,
1265
+ "live",
1266
+ [
1267
+ 6,
1268
+ "timeTrailSampleLive",
2076
1269
  [[
2077
1270
  7,
2078
- "trail",
2079
- "xyz"
1271
+ "uv",
1272
+ "x"
1273
+ ], [
1274
+ 7,
1275
+ "uv",
1276
+ "y"
2080
1277
  ]]
2081
1278
  ]
2082
1279
  ],
2083
1280
  [
2084
1281
  13,
2085
- "rgbSN",
1282
+ "pl",
2086
1283
  [
2087
1284
  6,
2088
1285
  [
2089
1286
  7,
2090
1287
  "std",
2091
- "select"
1288
+ "textureLoad"
2092
1289
  ],
2093
1290
  [
2094
- "rgbNormal",
2095
- "rgbScreen",
2096
1291
  [
2097
- 1,
1292
+ 7,
2098
1293
  [
2099
1294
  7,
2100
- "P",
2101
- "blendMode"
1295
+ "trailLayout",
1296
+ "$"
2102
1297
  ],
2103
- ">",
2104
- [5, "0.5"]
2105
- ]
1298
+ "prevLive"
1299
+ ],
1300
+ [
1301
+ 6,
1302
+ [
1303
+ 7,
1304
+ "d",
1305
+ "vec2u"
1306
+ ],
1307
+ ["cx", "cy"]
1308
+ ],
1309
+ [5, "0"]
2106
1310
  ]
2107
1311
  ]
2108
1312
  ],
2109
1313
  [
2110
1314
  13,
2111
- "rgb",
1315
+ "m",
2112
1316
  [
2113
1317
  6,
1318
+ "timeTrailMotionMask",
2114
1319
  [
2115
- 7,
2116
- "std",
2117
- "select"
2118
- ],
2119
- [
2120
- "rgbSN",
2121
- "rgbAdd",
1320
+ "live",
1321
+ "pl",
2122
1322
  [
2123
- 1,
1323
+ 7,
2124
1324
  [
2125
1325
  7,
2126
- "P",
2127
- "blendMode"
1326
+ [
1327
+ 7,
1328
+ "trailLayout",
1329
+ "$"
1330
+ ],
1331
+ "params"
2128
1332
  ],
2129
- ">",
2130
- [5, "1.5"]
1333
+ "motionThreshold"
2131
1334
  ]
2132
1335
  ]
2133
1336
  ]
2134
1337
  ],
2135
1338
  [
2136
- 13,
2137
- "outC",
1339
+ 6,
1340
+ [
1341
+ 7,
1342
+ "std",
1343
+ "textureStore"
1344
+ ],
2138
1345
  [
2139
- 6,
2140
1346
  [
2141
1347
  7,
2142
- "d",
2143
- "vec4f"
1348
+ [
1349
+ 7,
1350
+ "trailLayout",
1351
+ "$"
1352
+ ],
1353
+ "next"
2144
1354
  ],
2145
- ["rgb", "outA"]
1355
+ [
1356
+ 6,
1357
+ [
1358
+ 7,
1359
+ "d",
1360
+ "vec2u"
1361
+ ],
1362
+ ["cx", "cy"]
1363
+ ],
1364
+ [
1365
+ 6,
1366
+ "timeTrailStamp",
1367
+ [
1368
+ "live",
1369
+ "m",
1370
+ "trail"
1371
+ ]
1372
+ ]
2146
1373
  ]
2147
1374
  ],
2148
1375
  [
2149
- 13,
2150
- "disp",
1376
+ 6,
1377
+ [
1378
+ 7,
1379
+ "std",
1380
+ "textureStore"
1381
+ ],
2151
1382
  [
2152
- 6,
2153
1383
  [
2154
1384
  7,
2155
- "std",
2156
- "select"
1385
+ [
1386
+ 7,
1387
+ "trailLayout",
1388
+ "$"
1389
+ ],
1390
+ "display"
2157
1391
  ],
2158
1392
  [
2159
- "outC",
2160
- "trail",
1393
+ 6,
2161
1394
  [
2162
- 1,
2163
- [
2164
- 7,
2165
- "P",
2166
- "motionMode"
2167
- ],
2168
- ">",
2169
- [5, "0.5"]
2170
- ]
2171
- ]
1395
+ 7,
1396
+ "d",
1397
+ "vec2u"
1398
+ ],
1399
+ ["cx", "cy"]
1400
+ ],
1401
+ "trail"
2172
1402
  ]
2173
1403
  ],
2174
1404
  [
@@ -2186,7 +1416,7 @@ const timeTrailKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (glob
2186
1416
  "trailLayout",
2187
1417
  "$"
2188
1418
  ],
2189
- "next"
1419
+ "prevLiveOut"
2190
1420
  ],
2191
1421
  [
2192
1422
  6,
@@ -2197,7 +1427,125 @@ const timeTrailKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (glob
2197
1427
  ],
2198
1428
  ["cx", "cy"]
2199
1429
  ],
2200
- "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
+ ]
2201
1549
  ]
2202
1550
  ],
2203
1551
  [
@@ -2215,7 +1563,7 @@ const timeTrailKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (glob
2215
1563
  "trailLayout",
2216
1564
  "$"
2217
1565
  ],
2218
- "display"
1566
+ "next"
2219
1567
  ],
2220
1568
  [
2221
1569
  6,
@@ -2226,7 +1574,7 @@ const timeTrailKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (glob
2226
1574
  ],
2227
1575
  ["cx", "cy"]
2228
1576
  ],
2229
- "disp"
1577
+ "outC"
2230
1578
  ]
2231
1579
  ],
2232
1580
  [
@@ -2244,7 +1592,7 @@ const timeTrailKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (glob
2244
1592
  "trailLayout",
2245
1593
  "$"
2246
1594
  ],
2247
- "prevLiveOut"
1595
+ "display"
2248
1596
  ],
2249
1597
  [
2250
1598
  6,
@@ -2255,34 +1603,33 @@ const timeTrailKernel = src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (glob
2255
1603
  ],
2256
1604
  ["cx", "cy"]
2257
1605
  ],
2258
- "live"
1606
+ "outC"
2259
1607
  ]
2260
1608
  ]
2261
1609
  ]],
2262
1610
  "externalNames": [
2263
- "trailLayout",
1611
+ "timeTrailTexelUv",
1612
+ "timeTrailFeedbackUv",
1613
+ "trailFn",
1614
+ "timeTrailSampleLive",
1615
+ "timeTrailStamp",
2264
1616
  "d",
2265
- "STATE_RES",
2266
1617
  "std",
2267
- "DRIFT_SCALE",
2268
- "DIFFUSE_TEXELS",
2269
- "timeTrailSampleHistory",
2270
- "timeTrailRotateHue",
2271
- "timeTrailMotionMask"
1618
+ "trailLayout"
2272
1619
  ]
2273
1620
  },
2274
1621
  externals: () => ({
2275
- trailLayout,
1622
+ timeTrailTexelUv,
1623
+ timeTrailFeedbackUv,
1624
+ trailFn,
1625
+ timeTrailSampleLive,
1626
+ timeTrailStamp,
2276
1627
  d: data_exports,
2277
- STATE_RES,
2278
1628
  std: std_exports,
2279
- DRIFT_SCALE,
2280
- DIFFUSE_TEXELS,
2281
- timeTrailSampleHistory,
2282
- timeTrailRotateHue,
2283
- timeTrailMotionMask
1629
+ trailLayout
2284
1630
  })
2285
- }) && $.f)({})).$name("timeTrailStep");
1631
+ }) && $.f)({})).$name("timeTrailStepAlpha");
1632
+ const timeTrailKernel = makeTimeTrailKernel(timeTrailDecayed);
2286
1633
  const timeTrailColorize = src_default.fn([vec4f, vec4f], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((trail, tint) => {
2287
1634
  "use gpu";
2288
1635
  const a = max(trail.w, 1e-4);
@@ -2703,6 +2050,9 @@ const componentDefinition = {
2703
2050
  const root = gpu?.root;
2704
2051
  if (!root) return null;
2705
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;
2706
2056
  const stateA = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
2707
2057
  size: [STATE_RES, STATE_RES],
2708
2058
  format: STATE_FORMAT
@@ -2715,12 +2065,13 @@ const componentDefinition = {
2715
2065
  size: [STATE_RES, STATE_RES],
2716
2066
  format: STATE_FORMAT
2717
2067
  }).$usage("storage", "sampled"), "displayTex");
2068
+ const liveSize = isMotion ? [STATE_RES, STATE_RES] : [1, 1];
2718
2069
  const prevLiveA = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
2719
- size: [STATE_RES, STATE_RES],
2070
+ size: liveSize,
2720
2071
  format: STATE_FORMAT
2721
2072
  }).$usage("storage", "sampled"), "prevLiveA");
2722
2073
  const prevLiveB = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
2723
- size: [STATE_RES, STATE_RES],
2074
+ size: liveSize,
2724
2075
  format: STATE_FORMAT
2725
2076
  }).$usage("storage", "sampled"), "prevLiveB");
2726
2077
  onCleanup(() => {
@@ -2731,10 +2082,18 @@ const componentDefinition = {
2731
2082
  prevLiveB.destroy();
2732
2083
  });
2733
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");
2734
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);
2735
2094
  const pipeline = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
2736
2095
  "use gpu";
2737
- timeTrailKernel(cx, cy);
2096
+ kernel(cx, cy);
2738
2097
  }), {
2739
2098
  v: 1,
2740
2099
  name: void 0,
@@ -2748,16 +2107,13 @@ const componentDefinition = {
2748
2107
  }],
2749
2108
  "body": [0, [[
2750
2109
  6,
2751
- "timeTrailKernel",
2110
+ "kernel",
2752
2111
  ["cx", "cy"]
2753
2112
  ]]],
2754
- "externalNames": ["timeTrailKernel"]
2113
+ "externalNames": ["kernel"]
2755
2114
  },
2756
- externals: () => ({ timeTrailKernel })
2115
+ externals: () => ({ kernel })
2757
2116
  }) && $.f)({}), { size: [STATE_RES, STATE_RES] });
2758
- const tintMode = Number(propValues.tintMode) || 0;
2759
- const blendMode = stampModeFor(resolveBlendKey(propValues.trailBlend));
2760
- const sourceMode = propValues.trailSource == null ? 1 : Number(propValues.trailSource);
2761
2117
  let bgAB = null;
2762
2118
  let bgBA = null;
2763
2119
  let direction = 0;
@@ -2776,6 +2132,7 @@ const componentDefinition = {
2776
2132
  display: displayTex,
2777
2133
  prevLive: prevLiveA,
2778
2134
  prevLiveOut: prevLiveB,
2135
+ samp: trailSampler,
2779
2136
  params: paramsBuf.buffer
2780
2137
  });
2781
2138
  bgBA = root.createBindGroup(trailLayout, {
@@ -2785,6 +2142,7 @@ const componentDefinition = {
2785
2142
  display: displayTex,
2786
2143
  prevLive: prevLiveB,
2787
2144
  prevLiveOut: prevLiveA,
2145
+ samp: trailSampler,
2788
2146
  params: paramsBuf.buffer
2789
2147
  });
2790
2148
  },
@@ -2792,6 +2150,8 @@ const componentDefinition = {
2792
2150
  if (!bgAB || !bgBA) return null;
2793
2151
  const fp = frameParams;
2794
2152
  const speed = getCpuValue("speed") ?? 1;
2153
+ const zoom = getCpuValue("zoom") ?? 1;
2154
+ if ((getCpuValue("trailOpacity") ?? 1) === 0) return null;
2795
2155
  const dt = Math.min(fp.deltaTime ?? .016, .05) * speed;
2796
2156
  const trailLength = Math.max(getCpuValue("trailLength") ?? .6, .001);
2797
2157
  paramsBuf.write({
@@ -2800,10 +2160,9 @@ const componentDefinition = {
2800
2160
  driftX: getCpuValue("driftX") ?? 0,
2801
2161
  driftY: getCpuValue("driftY") ?? 0,
2802
2162
  dt,
2803
- zoom: getCpuValue("zoom") ?? 1,
2163
+ zoom: Math.pow(zoom, dt * 60),
2804
2164
  hueRate: tintMode === 2 ? RAINBOW_RATE * dt : 0,
2805
2165
  blendMode,
2806
- motionMode: sourceMode,
2807
2166
  motionThreshold: getCpuValue("motionThreshold") ?? .06
2808
2167
  });
2809
2168
  const nodes = [pipeline.with(direction === 0 ? bgAB : bgBA)];
@@ -2841,4 +2200,4 @@ const componentDefinition = {
2841
2200
  }
2842
2201
  };
2843
2202
  var TimeTrail_default = componentDefinition;
2844
- 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 };