shaders 3.0.443 → 3.0.445

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 (468) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/core/{AngularBlur-CJsRS1Ri.js → AngularBlur-D33jrcZd.js} +2 -2
  3. package/dist/core/{Arc-CNesL3S9.js → Arc-BG8Bpknl.js} +2 -2
  4. package/dist/core/{Ascii-z7til0PQ.js → Ascii-DE0vAAOX.js} +2 -2
  5. package/dist/core/{Aurora-BAuYUYGc.js → Aurora-Cu4JGjCD.js} +3 -3
  6. package/dist/core/{BarShift-qVwbTMcq.js → BarShift-o_IvV0t_.js} +5 -5
  7. package/dist/core/{BarnDoors-DrOAeSqj.js → BarnDoors-JraHuTwe.js} +2 -2
  8. package/dist/core/{Beam-BW6yblZw.js → Beam-DshQatlM.js} +2 -2
  9. package/dist/core/{Bend-B7PMQ3T5.js → Bend-KJzYWEJV.js} +4 -4
  10. package/dist/core/{Blob-CRJ5N0hK.js → Blob-BJxkqvOO.js} +3 -3
  11. package/dist/core/{BlockDissolve-D-6Wy66g.js → BlockDissolve-CsIQWUpY.js} +2 -2
  12. package/dist/core/{BlockNoise-Ct9Fae_7.js → BlockNoise-DVI-0PnC.js} +3 -3
  13. package/dist/core/{BlueNoise-Cu7rJuP0.js → BlueNoise-CzBN6i38.js} +2 -2
  14. package/dist/core/{Blur-BrdVVSPq.js → Blur-W95k4Lxz.js} +1 -1
  15. package/dist/core/{Boids-DIzUaLGM.js → Boids-BJ6wxFC8.js} +2 -2
  16. package/dist/core/{BokehBlur-yYb03spN.js → BokehBlur-CbOO__cN.js} +2 -2
  17. package/dist/core/{BrickPattern-BL_MOS_A.js → BrickPattern-eQv5DrKE.js} +3 -3
  18. package/dist/core/{BrightnessContrast-CiKimIcA.js → BrightnessContrast-CmH2DvaZ.js} +1 -1
  19. package/dist/core/{BrushedMetal-dvYjizvg.js → BrushedMetal-D-7M7ZuM.js} +5 -5
  20. package/dist/core/{Bulge-CogpoPKe.js → Bulge-KmBnaVMx.js} +4 -4
  21. package/dist/core/{CRTScreen-X64EnHMB.js → CRTScreen-t7dyfO5u.js} +1 -1
  22. package/dist/core/{CarbonFiber-CTy3P-Qk.js → CarbonFiber-D4jap49E.js} +4 -4
  23. package/dist/core/{Chalkboard-CnHUOHtc.js → Chalkboard-H6-0OXC3.js} +2 -2
  24. package/dist/core/{ChannelBlur-MwnpNLSZ.js → ChannelBlur-BKJfnu91.js} +1 -1
  25. package/dist/core/{CheckerWipe-CCNc70ye.js → CheckerWipe-acIaflfK.js} +2 -2
  26. package/dist/core/{Checkerboard-C97ZiLyQ.js → Checkerboard-NwKMLVHe.js} +2 -2
  27. package/dist/core/{Chevron-ABT6D1wM.js → Chevron-eBbFV2ud.js} +3 -3
  28. package/dist/core/{ChromaFlow-7tJQEFm9.js → ChromaFlow-ex7l4tTK.js} +2 -2
  29. package/dist/core/{ChromaticAberration-D7-fxyEd.js → ChromaticAberration-Bbi9vNxS.js} +2 -2
  30. package/dist/core/{Circle-I0DIAypS.js → Circle-DdFWEti1.js} +2 -2
  31. package/dist/core/{ColorWheel-CEqzzrN-.js → ColorWheel-BqcyPqcj.js} +3 -3
  32. package/dist/core/{CompressionArtifacts-C24nRoC3.js → CompressionArtifacts-DqWq-4h8.js} +1 -1
  33. package/dist/core/{ConcentricSpin-CAu-PGNH.js → ConcentricSpin-CtI1hKio.js} +5 -5
  34. package/dist/core/{ConicGradient-n12K5TLj.js → ConicGradient-HmImN4LO.js} +3 -3
  35. package/dist/core/{ContourLines-FOStIWDr.js → ContourLines-BMom2vMu.js} +2 -2
  36. package/dist/core/{CornerPin-DsUVMFcX.js → CornerPin-D_-luriU.js} +3 -3
  37. package/dist/core/{Crescent-9i_5WPA-.js → Crescent-CY6MeN9V.js} +2 -2
  38. package/dist/core/{Cross-HiA69xGL.js → Cross-ClImej9a.js} +2 -2
  39. package/dist/core/{Crystal-BBjEm9m4.js → Crystal-CMrqHLFD.js} +4 -4
  40. package/dist/core/{CurlNoise-1jifziI0.js → CurlNoise-C_QZBT5m.js} +3 -3
  41. package/dist/core/{CursorRipples-D4agAYHK.js → CursorRipples-Bmlex_IF.js} +2 -2
  42. package/dist/core/{CursorTrail-C-FrY0e2.js → CursorTrail-B68x1Cv-.js} +3 -3
  43. package/dist/core/{DataMosh-DXcM1I4Y.js → DataMosh-FZQWg5Ui.js} +1 -1
  44. package/dist/core/{DiamondGradient-CQ5jeKEc.js → DiamondGradient-C0hD1lNN.js} +3 -3
  45. package/dist/core/{DiamondWipe-B1EXgweH.js → DiamondWipe-B8rFSwsV.js} +2 -2
  46. package/dist/core/{DiffuseBlur-CmD97dHb.js → DiffuseBlur--Gn4bDwC.js} +2 -2
  47. package/dist/core/{DisplacementMap-JV_CNJfU.js → DisplacementMap-DQk8S4sK.js} +4 -4
  48. package/dist/core/{Dither-NJDWpGb3.js → Dither-rB9M7FS7.js} +2 -2
  49. package/dist/core/{DotGrid-B2w7RFcv.js → DotGrid-DszAbmy5.js} +3 -3
  50. package/dist/core/{DropShadow-CLWp-bon.js → DropShadow-BS3S178o.js} +2 -2
  51. package/dist/core/{Duotone-Be2jx-jZ.js → Duotone-Cf_ybegD.js} +2 -2
  52. package/dist/core/{Ellipse-BR6qXidK.js → Ellipse-DY8FgSSx.js} +2 -2
  53. package/dist/core/{Emboss-C8ElxLo3.js → Emboss-RxgVyKyU.js} +4 -4
  54. package/dist/core/{Engraving-D67DM--1.js → Engraving-C0OuioUr.js} +2 -2
  55. package/dist/core/{ErosionNoise-FeEMQOkR.js → ErosionNoise-B-I3VFiY.js} +2 -2
  56. package/dist/core/{Exposure-CZ1gfqpf.js → Exposure-360tdOrT.js} +1 -1
  57. package/dist/core/{FallingLines-ifuQ01oA.js → FallingLines-4sVKJMDj.js} +3 -3
  58. package/dist/core/{FilmGrain-p5sawa_f.js → FilmGrain-CgzuRidb.js} +1 -1
  59. package/dist/core/{FilmStock-BD5wv1TV.js → FilmStock-BW9k3EPE.js} +1 -1
  60. package/dist/core/{Flip-MKiLH9jJ.js → Flip-DqdxtYHS.js} +2 -2
  61. package/dist/core/{FloatingParticles-Bn8CmtwG.js → FloatingParticles-BI8Y9Gcv.js} +2 -2
  62. package/dist/core/{FlowField-BdFeRmif.js → FlowField-CV0Is569.js} +5 -5
  63. package/dist/core/{Flower-BwDBwcSk.js → Flower-IaNzANoa.js} +2 -2
  64. package/dist/core/{FlowingGradient-RYOS36eB.js → FlowingGradient-CEAAa11t.js} +3 -3
  65. package/dist/core/{FlutedGlass-Ong8W4Ih.js → FlutedGlass-CF6mZMq4.js} +3 -3
  66. package/dist/core/{Fog-C-X8msRb.js → Fog-D9OYGwhY.js} +2 -2
  67. package/dist/core/{Form3D-BZ_vaLWe.js → Form3D-CJKutcFA.js} +3 -3
  68. package/dist/core/{FractalNoise-BPj8RPkE.js → FractalNoise-DelBWQyb.js} +3 -3
  69. package/dist/core/{Frost-DmxlFu63.js → Frost-Br7b9n4L.js} +5 -5
  70. package/dist/core/{GaborNoise-Boc8ieHd.js → GaborNoise-DViNgIse.js} +3 -3
  71. package/dist/core/{Glass-D5p21MIw.js → Glass-IwPea9h1.js} +4 -4
  72. package/dist/core/{GlassTiles-BP4CzdI3.js → GlassTiles-DpPHPKv7.js} +3 -5
  73. package/dist/core/{Glitch-cJguD7jS.js → Glitch-CKmX-agV.js} +1 -1
  74. package/dist/core/{Glow-BabfcnwS.js → Glow-CVcVetaa.js} +1 -1
  75. package/dist/core/{Godrays-BpiKSlNR.js → Godrays-CNNHJzNz.js} +3 -3
  76. package/dist/core/{Goo-BaQEtOyr.js → Goo-BUXnhwTk.js} +5 -5
  77. package/dist/core/{GradientMap-BtKtW-4M.js → GradientMap-DqGEXRl9.js} +2 -2
  78. package/dist/core/{Grayscale-Bgwugyvv.js → Grayscale-DiJAjdx3.js} +1 -1
  79. package/dist/core/{Grid-5cEDkyWX.js → Grid-utmP7uyR.js} +2 -2
  80. package/dist/core/{GridDistortion-Byf4G720.js → GridDistortion-Bn6D5dfC.js} +3 -3
  81. package/dist/core/{Group-DUEQSUir.js → Group-u-o7qE0Y.js} +1 -1
  82. package/dist/core/{HTMLInCanvas-uW1O3Z-R.js → HTMLInCanvas-sK9HN-gI.js} +1 -1
  83. package/dist/core/{Halftone-BiSLVvGF.js → Halftone-C5La06l6.js} +2 -2
  84. package/dist/core/{Heart-RAGeVEVH.js → Heart-CGLx1F8D.js} +2 -2
  85. package/dist/core/{Heatmap-Ds65scO7.js → Heatmap-CE5DLeJp.js} +5 -5
  86. package/dist/core/{HexGrid-H1N5Y1XD.js → HexGrid-CqB-yMWN.js} +2 -2
  87. package/dist/core/{Hologram-DpDfyeSz.js → Hologram-CctodmpA.js} +5 -5
  88. package/dist/core/{Holographic-Ckubuqn8.js → Holographic-DSz4qfkn.js} +5 -5
  89. package/dist/core/{HueShift-C_a5UVHy.js → HueShift-Cfq-ijQP.js} +1 -1
  90. package/dist/core/{ImageTexture-CM-dPJQ4.js → ImageTexture-DdzAYFTi.js} +1 -1
  91. package/dist/core/{InkFlow-CY7sCKpI.js → InkFlow-CCPfoQXs.js} +2 -2
  92. package/dist/core/{Invert-DhHrtwHQ.js → Invert-CtUHcYmv.js} +1 -1
  93. package/dist/core/{IrisWipe-BnOMUdEV.js → IrisWipe-DWVFMn81.js} +2 -2
  94. package/dist/core/{IsometricCubes-CXPz62PB.js → IsometricCubes-m-mYnbqN.js} +2 -2
  95. package/dist/core/{Kaleidoscope-CSgi0E5B.js → Kaleidoscope-DMNLVgx6.js} +4 -4
  96. package/dist/core/{KeyFrames-C3I4poq8.js → KeyFrames-jgrfR3Hj.js} +2 -2
  97. package/dist/core/{LensFlare-DxvbKXgt.js → LensFlare-CuWJsfwE.js} +3 -3
  98. package/dist/core/{LightEdge-niXz_FAk.js → LightEdge-WMxb-xKB.js} +5 -5
  99. package/dist/core/{LightLeak-B7Pt1tt4.js → LightLeak-DfOngFp7.js} +3 -3
  100. package/dist/core/{LinearBlur-CXNcduWQ.js → LinearBlur-iLXYGof_.js} +2 -2
  101. package/dist/core/{LinearGradient-CYiaWIXd.js → LinearGradient-DLrJban6.js} +3 -3
  102. package/dist/core/{LinearWipe-gwLhEveK.js → LinearWipe-C_fWBl4i.js} +2 -2
  103. package/dist/core/{LiquidMetal-D0sgLjcd.js → LiquidMetal-DHM8kVNr.js} +5 -5
  104. package/dist/core/{Liquify-h08a8S-C.js → Liquify-FQWL8j4t.js} +4 -4
  105. package/dist/core/{MagneticFilings-BlNWPVwS.js → MagneticFilings-BUzSkycD.js} +2 -2
  106. package/dist/core/{Marble-bps2lOWc.js → Marble-BnHffB3C.js} +3 -3
  107. package/dist/core/{Mirror-8miSUAyZ.js → Mirror-B_v4FunG.js} +3 -3
  108. package/dist/core/{MultiPointGradient-C-9_Q6CM.js → MultiPointGradient-5NGBm90u.js} +2 -2
  109. package/dist/core/{Neon-RDh1tAjH.js → Neon-BjBSg2FR.js} +4 -4
  110. package/dist/core/{NoiseDissolve-DjlWGdUc.js → NoiseDissolve-kDP6-h9F.js} +2 -2
  111. package/dist/core/{ObjectTracker-DW4aEBRv.js → ObjectTracker-vU1bVmIJ.js} +3 -3
  112. package/dist/core/{PagePeel-JsbScYi4.js → PagePeel-BgDvgtIV.js} +1 -1
  113. package/dist/core/{Paper-BGTU0GOF.js → Paper-_alN4JdS.js} +1 -1
  114. package/dist/core/{Parallelogram-RC3MxzlN.js → Parallelogram--Cil139y.js} +2 -2
  115. package/dist/core/{ParticleField-XypD7Eru.js → ParticleField-DZ7um7tu.js} +1 -1
  116. package/dist/core/{ParticleFlow-DBw7m9C6.js → ParticleFlow-CmRP2S8W.js} +2 -2
  117. package/dist/core/{Particles-CvpZvfe3.js → Particles-DFw2E9SE.js} +3 -3
  118. package/dist/core/{PerlinNoise-CHVaarmz.js → PerlinNoise-BmNpwJtM.js} +3 -3
  119. package/dist/core/{Perspective-zyCZAb3_.js → Perspective-DVcUW7jR.js} +4 -4
  120. package/dist/core/{PixelSort-B-zefB9S.js → PixelSort-Bz5dIrqH.js} +1 -1
  121. package/dist/core/{PixelThrow-BZ6erf3G.js → PixelThrow-DEMX8VOw.js} +2 -2
  122. package/dist/core/{Pixelate-D1e7buDQ.js → Pixelate-D-eWrHTE.js} +1 -1
  123. package/dist/core/{Plasma-CBrx8Xu-.js → Plasma-C_EIkpQi.js} +3 -3
  124. package/dist/core/{Plastic-CcS4iAJM.js → Plastic-CYeefb91.js} +5 -5
  125. package/dist/core/{PolarCoordinates-B9SuYLgF.js → PolarCoordinates-DmpUBdGX.js} +3 -3
  126. package/dist/core/{Polygon-N0l1KfIO.js → Polygon-DEEUdZd6.js} +2 -2
  127. package/dist/core/{Posterize-u2et79Pv.js → Posterize-B8oVbNZL.js} +1 -1
  128. package/dist/core/{Prism-BnDsPBcD.js → Prism-Btijlm0t.js} +3 -3
  129. package/dist/core/{ProgressiveBlur-D9FiTJQy.js → ProgressiveBlur-BoRFh6Tn.js} +2 -2
  130. package/dist/core/{RadialGradient-C4oB78ya.js → RadialGradient-CNDiMPZM.js} +3 -3
  131. package/dist/core/{RadialWipe-Dzb7i6wy.js → RadialWipe-C213vCrJ.js} +2 -2
  132. package/dist/core/{RandomBars-DO9j43mN.js → RandomBars-hOY9hNS7.js} +2 -2
  133. package/dist/core/{ReactionDiffusion-DG1NSPhM.js → ReactionDiffusion--UjME4_r.js} +2 -2
  134. package/dist/core/{RectangularCoordinates-Ck1gXdGx.js → RectangularCoordinates-DB7rPJ2Z.js} +3 -3
  135. package/dist/core/{ReflectivePlane-DFQDgLYC.js → ReflectivePlane-D92GjNLR.js} +2 -2
  136. package/dist/core/{Repeater-CT35_BhW.js → Repeater-CJjylN6O.js} +2 -2
  137. package/dist/core/{Ring-DywDgKDv.js → Ring-CJYQP2Qm.js} +2 -2
  138. package/dist/core/{RippleWipe-ePWlg-DT.js → RippleWipe-DJlrObO0.js} +2 -2
  139. package/dist/core/{Ripples-fTSMeqiE.js → Ripples-Brj67b7H.js} +3 -3
  140. package/dist/core/{RoundedRect-B0lxuFfM.js → RoundedRect-3vfFsHAl.js} +2 -2
  141. package/dist/core/{Saturation-ClaD54dk.js → Saturation-lx3DV3Up.js} +1 -1
  142. package/dist/core/{Scratches-D8ZIBZ50.js → Scratches-CMFr8AfL.js} +3 -3
  143. package/dist/core/{Sharpness-CsnT4s1o.js → Sharpness-ByZbUAd0.js} +1 -1
  144. package/dist/core/{Shatter-D_V7GBel.js → Shatter-B1_rLacw.js} +2 -2
  145. package/dist/core/{SimplexNoise-tI2G3Wzn.js → SimplexNoise-zItLLG1j.js} +3 -3
  146. package/dist/core/{SineWave-BGsYyEFg.js → SineWave-BvrhRcvv.js} +3 -3
  147. package/dist/core/{SliceWipe-s4pWdINK.js → SliceWipe-9bUWTClo.js} +1 -1
  148. package/dist/core/{Smoke-C3SLe_rD.js → Smoke-YixCTJbh.js} +3 -3
  149. package/dist/core/{SmokeFill-BuKZtbX8.js → SmokeFill-Cccbyi4g.js} +4 -4
  150. package/dist/core/{SmokeFlow-5fnVH2a9.js → SmokeFlow-DJ3sQPH1.js} +3 -3
  151. package/dist/core/{Solarize-TP85IPV7.js → Solarize-CZeTsJG8.js} +1 -1
  152. package/dist/core/{SolidColor-16e4q89i.js → SolidColor-DB8l6xRl.js} +1 -1
  153. package/dist/core/{Spherize-C4qsnql6.js → Spherize-BdYP0Auv.js} +3 -3
  154. package/dist/core/{Spiral-rPHDFACm.js → Spiral-PPqgFMRM.js} +3 -3
  155. package/dist/core/{Star-BDFhZWLo.js → Star-mgLhY4e_.js} +2 -2
  156. package/dist/core/{Stone-CCXo9IgA.js → Stone-CehIcoVu.js} +2 -2
  157. package/dist/core/{Strands-DCzYUsCX.js → Strands-Dzj-5h31.js} +3 -3
  158. package/dist/core/{Stretch-CjhYXAth.js → Stretch-C82iJhQu.js} +4 -4
  159. package/dist/core/{Stripes-CN2TFWGw.js → Stripes-C3XL9mWC.js} +3 -3
  160. package/dist/core/{StudioBackground-I_XxtKjr.js → StudioBackground-CDpLmvMH.js} +3 -3
  161. package/dist/core/{SunBurst-CGQkdsXl.js → SunBurst-fFeTV8O4.js} +3 -3
  162. package/dist/core/{Surface3D-CpCPTs0u.js → Surface3D-BFGuR3YZ.js} +2 -2
  163. package/dist/core/{Swirl-BCnlG3G8.js → Swirl-DGZs_YDx.js} +3 -3
  164. package/dist/core/{Teardrop-DX-YZkNC.js → Teardrop-DN7t-3HU.js} +2 -2
  165. package/dist/core/{Text-oI5d7_UD.js → Text-DuQnSDiW.js} +6 -5
  166. package/dist/core/{ThinFilm-CEYaV4nn.js → ThinFilm-DhQXCGw9.js} +4 -4
  167. package/dist/core/{TiltShift-C8GluqAm.js → TiltShift-CpHBxw5I.js} +2 -2
  168. package/dist/core/{TimeTrail-CPiSo5Of.js → TimeTrail-j89dMqNU.js} +2 -2
  169. package/dist/core/{Tint-NA7BO-Qk.js → Tint-WmBROyUm.js} +2 -2
  170. package/dist/core/{Trapezoid-BOGSQvW5.js → Trapezoid-RrEwHfyH.js} +2 -2
  171. package/dist/core/{TriangularGrid-Zx3I4CqA.js → TriangularGrid-D7r3Nhss.js} +3 -3
  172. package/dist/core/{Tritone-Bl69W4Y4.js → Tritone-BREi33uL.js} +2 -2
  173. package/dist/core/{Truchet-RJI0-v6x.js → Truchet-CTjP4x60.js} +2 -2
  174. package/dist/core/{Twirl-CrIawDs2.js → Twirl-Bvk8-3JT.js} +4 -4
  175. package/dist/core/{VHS-B12KbScc.js → VHS-et86dWDU.js} +1 -1
  176. package/dist/core/{VenetianBlinds-CGfPlhGd.js → VenetianBlinds-Bv0f2lFw.js} +2 -2
  177. package/dist/core/{Vesica-DekjxkHL.js → Vesica-BV2Sz5VV.js} +2 -2
  178. package/dist/core/{Vibrance-DKKduAD8.js → Vibrance-Q9Mrvfs-.js} +1 -1
  179. package/dist/core/{VideoTexture-1xg_a680.js → VideoTexture-BUY69Gqp.js} +1 -1
  180. package/dist/core/{Vignette-CDRCMNb2.js → Vignette-DyScJQWj.js} +2 -2
  181. package/dist/core/{Voronoi-EWj3WFqv.js → Voronoi-DxoT7iRa.js} +3 -3
  182. package/dist/core/{Water-BdGrOEuE.js → Water-CE1rY4LR.js} +5 -5
  183. package/dist/core/{Watercolor-BGIcnGZu.js → Watercolor-Buk5FkKR.js} +2 -2
  184. package/dist/core/{WaveDistortion-BNlrOaur.js → WaveDistortion-Ca6y77xt.js} +5 -5
  185. package/dist/core/{WaveletNoise-Jv-694xX.js → WaveletNoise-Y7LdptK_.js} +3 -3
  186. package/dist/core/{Weave-HNS6xvOs.js → Weave-CTpPvAhK.js} +2 -2
  187. package/dist/core/{WebcamTexture-DVKxGpWI.js → WebcamTexture-85gdzpo_.js} +3 -2
  188. package/dist/core/{Wool-D7uM0JRs.js → Wool-DJJkx7S2.js} +2 -2
  189. package/dist/core/{WorleyNoise-DsDWmRCp.js → WorleyNoise-C_CHhfMF.js} +3 -3
  190. package/dist/core/{ZoomBlur-S2GfQojf.js → ZoomBlur-8tmVWx1n.js} +2 -2
  191. package/dist/core/{coords-0A7CojvN.js → coords-BkIjixe_.js} +717 -44
  192. package/dist/core/{glass-BjUqcmHP.js → glass-sOqjtPJD.js} +1 -1
  193. package/dist/core/gpu/composer.d.ts +7 -0
  194. package/dist/core/gpu/composer.d.ts.map +1 -1
  195. package/dist/core/gpu/index.d.ts +22 -3
  196. package/dist/core/gpu/index.d.ts.map +1 -1
  197. package/dist/core/gpu/kit/edges.d.ts +19 -1
  198. package/dist/core/gpu/kit/edges.d.ts.map +1 -1
  199. package/dist/core/gpu/kit/index.d.ts +1 -0
  200. package/dist/core/gpu/kit/index.d.ts.map +1 -1
  201. package/dist/core/gpu/kit/sampling.d.ts +34 -0
  202. package/dist/core/gpu/kit/sampling.d.ts.map +1 -0
  203. package/dist/core/gpu/kit/sdf.d.ts.map +1 -1
  204. package/dist/core/gpu/kit/uvTransform.d.ts +13 -3
  205. package/dist/core/gpu/kit/uvTransform.d.ts.map +1 -1
  206. package/dist/core/gpu/passManager.d.ts +5 -1
  207. package/dist/core/gpu/passManager.d.ts.map +1 -1
  208. package/dist/core/gpu/porters.d.ts +1 -0
  209. package/dist/core/gpu/porters.d.ts.map +1 -1
  210. package/dist/core/gpu/root.d.ts +26 -4
  211. package/dist/core/gpu/root.d.ts.map +1 -1
  212. package/dist/core/gpu/support.d.ts +119 -0
  213. package/dist/core/gpu/support.d.ts.map +1 -0
  214. package/dist/core/gpu/uniformStore.d.ts.map +1 -1
  215. package/dist/core/index.d.ts +3 -0
  216. package/dist/core/index.d.ts.map +1 -1
  217. package/dist/core/index.js +457 -358
  218. package/dist/core/{noiseColor-w3B94vmT.js → noiseColor-CY6QVFgB.js} +2 -2
  219. package/dist/core/{porters-B1jqpcE3.js → porters-Bl3WB9VW.js} +2 -2
  220. package/dist/core/presetRenderer.d.ts +13 -1
  221. package/dist/core/presetRenderer.d.ts.map +1 -1
  222. package/dist/core/registry.js +199 -198
  223. package/dist/core/shaderRegistry-CSTwovjI.js +425 -0
  224. package/dist/core/shaders/AngularBlur/index.js +5 -4
  225. package/dist/core/shaders/Arc/index.js +5 -4
  226. package/dist/core/shaders/Ascii/index.js +5 -4
  227. package/dist/core/shaders/Aurora/index.js +5 -4
  228. package/dist/core/shaders/BarShift/index.js +5 -4
  229. package/dist/core/shaders/BarnDoors/index.js +5 -4
  230. package/dist/core/shaders/Beam/index.js +5 -4
  231. package/dist/core/shaders/Bend/index.js +5 -4
  232. package/dist/core/shaders/Blob/index.js +5 -4
  233. package/dist/core/shaders/BlockDissolve/index.js +5 -4
  234. package/dist/core/shaders/BlockNoise/index.js +6 -5
  235. package/dist/core/shaders/BlueNoise/index.js +6 -5
  236. package/dist/core/shaders/Blur/index.js +5 -4
  237. package/dist/core/shaders/Boids/index.js +5 -4
  238. package/dist/core/shaders/BokehBlur/index.js +5 -4
  239. package/dist/core/shaders/BrickPattern/index.js +5 -4
  240. package/dist/core/shaders/BrightnessContrast/index.js +5 -4
  241. package/dist/core/shaders/BrushedMetal/index.js +7 -6
  242. package/dist/core/shaders/Bulge/index.js +5 -4
  243. package/dist/core/shaders/CRTScreen/index.js +5 -4
  244. package/dist/core/shaders/CarbonFiber/index.js +7 -6
  245. package/dist/core/shaders/Chalkboard/index.js +5 -4
  246. package/dist/core/shaders/ChannelBlur/index.js +5 -4
  247. package/dist/core/shaders/CheckerWipe/index.js +5 -4
  248. package/dist/core/shaders/Checkerboard/index.js +5 -4
  249. package/dist/core/shaders/Chevron/index.js +5 -4
  250. package/dist/core/shaders/ChromaFlow/index.js +5 -4
  251. package/dist/core/shaders/ChromaticAberration/index.js +5 -4
  252. package/dist/core/shaders/Circle/index.js +5 -4
  253. package/dist/core/shaders/ColorWheel/index.js +5 -4
  254. package/dist/core/shaders/CompressionArtifacts/index.js +5 -4
  255. package/dist/core/shaders/ConcentricSpin/index.js +5 -4
  256. package/dist/core/shaders/ConicGradient/index.js +5 -4
  257. package/dist/core/shaders/ContourLines/index.js +5 -4
  258. package/dist/core/shaders/CornerPin/index.js +5 -4
  259. package/dist/core/shaders/Crescent/index.js +5 -4
  260. package/dist/core/shaders/Cross/index.js +5 -4
  261. package/dist/core/shaders/Crystal/index.js +7 -6
  262. package/dist/core/shaders/CurlNoise/index.js +6 -5
  263. package/dist/core/shaders/CursorRipples/index.js +5 -4
  264. package/dist/core/shaders/CursorTrail/index.js +5 -4
  265. package/dist/core/shaders/DataMosh/index.js +5 -4
  266. package/dist/core/shaders/DiamondGradient/index.js +5 -4
  267. package/dist/core/shaders/DiamondWipe/index.js +5 -4
  268. package/dist/core/shaders/DiffuseBlur/index.js +5 -4
  269. package/dist/core/shaders/DisplacementMap/index.js +5 -4
  270. package/dist/core/shaders/Dither/index.js +5 -4
  271. package/dist/core/shaders/DotGrid/index.js +5 -4
  272. package/dist/core/shaders/DropShadow/index.js +5 -4
  273. package/dist/core/shaders/Duotone/index.js +5 -4
  274. package/dist/core/shaders/Ellipse/index.js +5 -4
  275. package/dist/core/shaders/Emboss/index.js +7 -6
  276. package/dist/core/shaders/Engraving/index.js +5 -4
  277. package/dist/core/shaders/ErosionNoise/index.js +6 -5
  278. package/dist/core/shaders/Exposure/index.js +5 -4
  279. package/dist/core/shaders/FallingLines/index.js +5 -4
  280. package/dist/core/shaders/FilmGrain/index.js +5 -4
  281. package/dist/core/shaders/FilmStock/index.js +5 -4
  282. package/dist/core/shaders/Flip/index.js +5 -4
  283. package/dist/core/shaders/FloatingParticles/index.js +5 -4
  284. package/dist/core/shaders/FlowField/index.js +5 -4
  285. package/dist/core/shaders/Flower/index.js +5 -4
  286. package/dist/core/shaders/FlowingGradient/index.js +5 -4
  287. package/dist/core/shaders/FlutedGlass/index.js +5 -4
  288. package/dist/core/shaders/Fog/index.js +5 -4
  289. package/dist/core/shaders/Form3D/index.js +5 -4
  290. package/dist/core/shaders/FractalNoise/index.js +5 -4
  291. package/dist/core/shaders/Frost/index.js +7 -6
  292. package/dist/core/shaders/GaborNoise/index.js +6 -5
  293. package/dist/core/shaders/Glass/index.js +7 -6
  294. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  295. package/dist/core/shaders/GlassTiles/index.js +5 -4
  296. package/dist/core/shaders/Glitch/index.js +5 -4
  297. package/dist/core/shaders/Glow/index.js +5 -4
  298. package/dist/core/shaders/Godrays/index.js +5 -4
  299. package/dist/core/shaders/Goo/index.js +7 -6
  300. package/dist/core/shaders/GradientMap/index.js +5 -4
  301. package/dist/core/shaders/Grayscale/index.js +5 -4
  302. package/dist/core/shaders/Grid/index.js +5 -4
  303. package/dist/core/shaders/GridDistortion/index.js +5 -4
  304. package/dist/core/shaders/Group/index.js +5 -4
  305. package/dist/core/shaders/HTMLInCanvas/index.js +5 -4
  306. package/dist/core/shaders/Halftone/index.js +5 -4
  307. package/dist/core/shaders/Heart/index.js +5 -4
  308. package/dist/core/shaders/Heatmap/index.js +7 -6
  309. package/dist/core/shaders/HexGrid/index.js +5 -4
  310. package/dist/core/shaders/Hologram/index.js +7 -6
  311. package/dist/core/shaders/Holographic/index.js +7 -6
  312. package/dist/core/shaders/HueShift/index.js +5 -4
  313. package/dist/core/shaders/ImageTexture/index.js +5 -4
  314. package/dist/core/shaders/InkFlow/index.js +5 -4
  315. package/dist/core/shaders/Invert/index.js +5 -4
  316. package/dist/core/shaders/IrisWipe/index.js +5 -4
  317. package/dist/core/shaders/IsometricCubes/index.js +5 -4
  318. package/dist/core/shaders/Kaleidoscope/index.js +5 -4
  319. package/dist/core/shaders/KeyFrames/index.js +5 -4
  320. package/dist/core/shaders/LensFlare/index.js +5 -4
  321. package/dist/core/shaders/LightEdge/index.js +7 -6
  322. package/dist/core/shaders/LightLeak/index.js +5 -4
  323. package/dist/core/shaders/LinearBlur/index.js +5 -4
  324. package/dist/core/shaders/LinearGradient/index.js +5 -4
  325. package/dist/core/shaders/LinearWipe/index.js +5 -4
  326. package/dist/core/shaders/LiquidMetal/index.js +7 -6
  327. package/dist/core/shaders/Liquify/index.js +5 -4
  328. package/dist/core/shaders/MagneticFilings/index.js +5 -4
  329. package/dist/core/shaders/Marble/index.js +5 -4
  330. package/dist/core/shaders/Mirror/index.js +5 -4
  331. package/dist/core/shaders/MultiPointGradient/index.js +5 -4
  332. package/dist/core/shaders/Neon/index.js +6 -5
  333. package/dist/core/shaders/NoiseDissolve/index.js +5 -4
  334. package/dist/core/shaders/ObjectTracker/index.js +6 -5
  335. package/dist/core/shaders/PagePeel/index.js +5 -4
  336. package/dist/core/shaders/Paper/index.js +5 -4
  337. package/dist/core/shaders/Parallelogram/index.js +5 -4
  338. package/dist/core/shaders/ParticleField/index.js +5 -4
  339. package/dist/core/shaders/ParticleFlow/index.js +5 -4
  340. package/dist/core/shaders/Particles/index.js +6 -5
  341. package/dist/core/shaders/PerlinNoise/index.js +6 -5
  342. package/dist/core/shaders/Perspective/index.js +5 -4
  343. package/dist/core/shaders/PixelSort/index.js +5 -4
  344. package/dist/core/shaders/PixelThrow/index.js +5 -4
  345. package/dist/core/shaders/Pixelate/index.js +5 -4
  346. package/dist/core/shaders/Plasma/index.js +5 -4
  347. package/dist/core/shaders/Plastic/index.js +7 -6
  348. package/dist/core/shaders/PolarCoordinates/index.js +5 -4
  349. package/dist/core/shaders/Polygon/index.js +5 -4
  350. package/dist/core/shaders/Posterize/index.js +5 -4
  351. package/dist/core/shaders/Prism/index.js +5 -4
  352. package/dist/core/shaders/ProgressiveBlur/index.js +5 -4
  353. package/dist/core/shaders/RadialGradient/index.js +5 -4
  354. package/dist/core/shaders/RadialWipe/index.js +5 -4
  355. package/dist/core/shaders/RandomBars/index.js +5 -4
  356. package/dist/core/shaders/ReactionDiffusion/index.js +5 -4
  357. package/dist/core/shaders/RectangularCoordinates/index.js +5 -4
  358. package/dist/core/shaders/ReflectivePlane/index.js +5 -4
  359. package/dist/core/shaders/Repeater/index.js +5 -4
  360. package/dist/core/shaders/Ring/index.js +5 -4
  361. package/dist/core/shaders/RippleWipe/index.js +5 -4
  362. package/dist/core/shaders/Ripples/index.js +5 -4
  363. package/dist/core/shaders/RoundedRect/index.js +5 -4
  364. package/dist/core/shaders/Saturation/index.js +5 -4
  365. package/dist/core/shaders/Scratches/index.js +6 -5
  366. package/dist/core/shaders/Sharpness/index.js +5 -4
  367. package/dist/core/shaders/Shatter/index.js +5 -4
  368. package/dist/core/shaders/SimplexNoise/index.js +5 -4
  369. package/dist/core/shaders/SineWave/index.js +5 -4
  370. package/dist/core/shaders/SliceWipe/index.js +5 -4
  371. package/dist/core/shaders/Smoke/index.js +5 -4
  372. package/dist/core/shaders/SmokeFill/index.js +7 -6
  373. package/dist/core/shaders/SmokeFlow/index.js +5 -4
  374. package/dist/core/shaders/Solarize/index.js +5 -4
  375. package/dist/core/shaders/SolidColor/index.js +2 -2
  376. package/dist/core/shaders/Spherize/index.d.ts.map +1 -1
  377. package/dist/core/shaders/Spherize/index.js +5 -4
  378. package/dist/core/shaders/Spiral/index.js +5 -4
  379. package/dist/core/shaders/Star/index.js +5 -4
  380. package/dist/core/shaders/Stone/index.js +4 -3
  381. package/dist/core/shaders/Strands/index.js +5 -4
  382. package/dist/core/shaders/Stretch/index.js +5 -4
  383. package/dist/core/shaders/Stripes/index.js +5 -4
  384. package/dist/core/shaders/StudioBackground/index.js +5 -4
  385. package/dist/core/shaders/SunBurst/index.js +5 -4
  386. package/dist/core/shaders/Surface3D/index.js +5 -4
  387. package/dist/core/shaders/Swirl/index.js +5 -4
  388. package/dist/core/shaders/Teardrop/index.js +5 -4
  389. package/dist/core/shaders/Text/index.d.ts.map +1 -1
  390. package/dist/core/shaders/Text/index.js +6 -5
  391. package/dist/core/shaders/ThinFilm/index.js +6 -5
  392. package/dist/core/shaders/TiltShift/index.js +5 -4
  393. package/dist/core/shaders/TimeTrail/index.js +5 -4
  394. package/dist/core/shaders/Tint/index.js +5 -4
  395. package/dist/core/shaders/Trapezoid/index.js +5 -4
  396. package/dist/core/shaders/TriangularGrid/index.js +5 -4
  397. package/dist/core/shaders/Tritone/index.js +5 -4
  398. package/dist/core/shaders/Truchet/index.js +5 -4
  399. package/dist/core/shaders/Twirl/index.js +5 -4
  400. package/dist/core/shaders/VHS/index.js +5 -4
  401. package/dist/core/shaders/VenetianBlinds/index.js +5 -4
  402. package/dist/core/shaders/Vesica/index.js +5 -4
  403. package/dist/core/shaders/Vibrance/index.js +5 -4
  404. package/dist/core/shaders/VideoTexture/index.js +5 -4
  405. package/dist/core/shaders/Vignette/index.js +5 -4
  406. package/dist/core/shaders/Voronoi/index.js +5 -4
  407. package/dist/core/shaders/Water/index.js +7 -6
  408. package/dist/core/shaders/Watercolor/index.js +5 -4
  409. package/dist/core/shaders/WaveDistortion/index.js +5 -4
  410. package/dist/core/shaders/WaveletNoise/index.js +6 -5
  411. package/dist/core/shaders/Weave/index.js +5 -4
  412. package/dist/core/shaders/WebcamTexture/index.js +5 -4
  413. package/dist/core/shaders/Wool/index.js +4 -3
  414. package/dist/core/shaders/WorleyNoise/index.js +5 -4
  415. package/dist/core/shaders/ZoomBlur/index.js +5 -4
  416. package/dist/core/{shapeEffectBounds-DRyn6AvG.js → shapeEffectBounds-Cl58vRlg.js} +1 -1
  417. package/dist/core/support-6QRFK3xB.js +74 -0
  418. package/dist/core/telemetry/collector.d.ts.map +1 -1
  419. package/dist/core/telemetry/index.js +6 -5
  420. package/dist/core/utilities/boundingBox.d.ts +14 -0
  421. package/dist/core/utilities/boundingBox.d.ts.map +1 -1
  422. package/dist/core/utilities/transformations/index.js +1 -1
  423. package/dist/js/bundle.js +162 -162
  424. package/dist/js/createShader.d.ts.map +1 -1
  425. package/dist/js/createShader.js +43 -13
  426. package/dist/js/createSharedDevice.d.ts +11 -9
  427. package/dist/js/createSharedDevice.d.ts.map +1 -1
  428. package/dist/js/createSharedDevice.js +2 -1
  429. package/dist/js/index.d.ts +2 -0
  430. package/dist/js/index.d.ts.map +1 -1
  431. package/dist/js/index.js +2 -1
  432. package/dist/js/types.d.ts +40 -10
  433. package/dist/js/types.d.ts.map +1 -1
  434. package/dist/react/Shader.js +27 -11
  435. package/dist/react/bundle.js +159 -159
  436. package/dist/react/engine/Shader.d.ts +7 -0
  437. package/dist/react/engine/Shader.d.ts.map +1 -1
  438. package/dist/react/index.d.ts +2 -0
  439. package/dist/react/index.d.ts.map +1 -1
  440. package/dist/react/index.js +2 -1
  441. package/dist/solid/engine/Preview.js +1 -0
  442. package/dist/solid/engine/Shader.d.ts +7 -0
  443. package/dist/solid/engine/Shader.d.ts.map +1 -1
  444. package/dist/solid/engine/Shader.js +29 -10
  445. package/dist/solid/index.d.ts +2 -0
  446. package/dist/solid/index.d.ts.map +1 -1
  447. package/dist/solid/index.js +6 -1
  448. package/dist/svelte/engine/Shader.svelte.d.ts +7 -0
  449. package/dist/svelte/index.d.ts +2 -0
  450. package/dist/svelte/index.js +27 -11
  451. package/dist/svelte/source/engine/Shader.svelte +49 -13
  452. package/dist/svelte/source/index.js +2 -0
  453. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +41 -24
  454. package/dist/vue/engine/Shader.vue.d.ts +9 -1
  455. package/dist/vue/engine/Shader.vue.d.ts.map +1 -1
  456. package/dist/vue/index.d.ts +2 -0
  457. package/dist/vue/index.d.ts.map +1 -1
  458. package/dist/vue/index.js +2 -1
  459. package/package.json +1 -13
  460. package/dist/core/shaderRegistry-BrbiIqjD.js +0 -425
  461. package/dist/pixi/createShaderSprite.d.ts +0 -54
  462. package/dist/pixi/createShaderSprite.d.ts.map +0 -1
  463. package/dist/pixi/index.d.ts +0 -20
  464. package/dist/pixi/index.d.ts.map +0 -1
  465. package/dist/pixi/index.js +0 -153
  466. /package/dist/core/{fonts-BLmvxkGd.js → fonts-BtGjHq1w.js} +0 -0
  467. /package/dist/core/{noiseStylize-4za6Obes.js → noiseStylize-BsZQT7ig.js} +0 -0
  468. /package/dist/core/{transformations-P50Uo_Ju.js → transformations-t0d2-uSX.js} +0 -0
@@ -1,3 +1,4 @@
1
+ import { n as debugError, r as debugWarn, t as GpuUnavailableError } from "./support-6QRFK3xB.js";
1
2
  import * as d from "typegpu/data";
2
3
  import tgpu, { default as tgpu$1 } from "typegpu";
3
4
  import * as std from "typegpu/std";
@@ -660,6 +661,10 @@ function createUniformStore(root, options = {}) {
660
661
  for (const [key, struct] of nodeStructs) combinedProps[key] = padTo16(key, struct);
661
662
  combinedProps._sys = padTo16("_sys", systemStruct);
662
663
  const combined = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(d.struct(combinedProps), "combined");
664
+ const combinedSize = d.sizeOf(combined);
665
+ const bindingCap = root.device?.limits?.maxUniformBufferBindingSize;
666
+ const cap = typeof bindingCap === "number" && bindingCap > 0 ? bindingCap : 65536;
667
+ if (combinedSize > cap) throw new GpuUnavailableError("limit-exceeded", `[gpu] this composition needs ${combinedSize} bytes of uniform data across ${nodeStructs.size} nodes, but the device caps a uniform binding at ${cap} bytes. Reduce the number of layers.`);
663
668
  const buffer = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createBuffer(combined).$usage("uniform"), "buffer");
664
669
  const layout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(tgpu.bindGroupLayout({ [UNIFORM_ENTRY_KEY]: { uniform: combined } }), "layout");
665
670
  finalized = {
@@ -11775,8 +11780,9 @@ const applyRectangularClipMask = tgpu$1.fn([
11775
11780
  d.f32,
11776
11781
  d.f32,
11777
11782
  d.f32,
11783
+ d.f32,
11778
11784
  d.f32
11779
- ], d.f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uv, centerX, centerY, halfWidth, halfHeight, cornerRadius, rotation, aspectRatio) => {
11785
+ ], d.f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uv, centerX, centerY, halfWidth, halfHeight, cornerRadius, rotation, aspectRatio, aaFeather) => {
11780
11786
  "use gpu";
11781
11787
  const centeredX = __tsover_sub(uv.x, centerX);
11782
11788
  const centeredY = __tsover_sub(uv.y, centerY);
@@ -11795,7 +11801,10 @@ const applyRectangularClipMask = tgpu$1.fn([
11795
11801
  const qy = __tsover_sub(std.abs(rotatedY), innerHalfH);
11796
11802
  const qClamped = d.vec2f(std.max(qx, 0), std.max(qy, 0));
11797
11803
  const sdf = __tsover_sub(__tsover_add(std.length(qClamped), std.min(std.max(qx, qy), 0)), cornerRadius);
11798
- return std.select(d.f32(0), d.f32(1), sdf <= 0);
11804
+ const feather = std.max(aaFeather, 1e-7);
11805
+ const ramp = __tsover_sub(1, std.smoothstep(-feather, feather, sdf));
11806
+ const binary = std.select(d.f32(0), d.f32(1), sdf <= 0);
11807
+ return std.select(ramp, binary, aaFeather <= 0);
11799
11808
  }), {
11800
11809
  v: 1,
11801
11810
  name: void 0,
@@ -11832,6 +11841,10 @@ const applyRectangularClipMask = tgpu$1.fn([
11832
11841
  {
11833
11842
  "type": "i",
11834
11843
  "name": "aspectRatio"
11844
+ },
11845
+ {
11846
+ "type": "i",
11847
+ "name": "aaFeather"
11835
11848
  }
11836
11849
  ],
11837
11850
  "body": [0, [
@@ -12106,35 +12119,96 @@ const applyRectangularClipMask = tgpu$1.fn([
12106
12119
  "cornerRadius"
12107
12120
  ]
12108
12121
  ],
12109
- [10, [
12110
- 6,
12122
+ [
12123
+ 13,
12124
+ "feather",
12111
12125
  [
12112
- 7,
12113
- "std",
12114
- "select"
12115
- ],
12126
+ 6,
12127
+ [
12128
+ 7,
12129
+ "std",
12130
+ "max"
12131
+ ],
12132
+ ["aaFeather", [5, "1e-7"]]
12133
+ ]
12134
+ ],
12135
+ [
12136
+ 13,
12137
+ "ramp",
12116
12138
  [
12139
+ 1,
12140
+ [5, "1"],
12141
+ "-",
12117
12142
  [
12118
12143
  6,
12119
12144
  [
12120
12145
  7,
12121
- "d",
12122
- "f32"
12146
+ "std",
12147
+ "smoothstep"
12123
12148
  ],
12124
- [[5, "0"]]
12149
+ [
12150
+ [
12151
+ 4,
12152
+ "-",
12153
+ "feather"
12154
+ ],
12155
+ "feather",
12156
+ "sdf"
12157
+ ]
12158
+ ]
12159
+ ]
12160
+ ],
12161
+ [
12162
+ 13,
12163
+ "binary",
12164
+ [
12165
+ 6,
12166
+ [
12167
+ 7,
12168
+ "std",
12169
+ "select"
12125
12170
  ],
12126
12171
  [
12127
- 6,
12128
12172
  [
12129
- 7,
12130
- "d",
12131
- "f32"
12173
+ 6,
12174
+ [
12175
+ 7,
12176
+ "d",
12177
+ "f32"
12178
+ ],
12179
+ [[5, "0"]]
12132
12180
  ],
12133
- [[5, "1"]]
12134
- ],
12181
+ [
12182
+ 6,
12183
+ [
12184
+ 7,
12185
+ "d",
12186
+ "f32"
12187
+ ],
12188
+ [[5, "1"]]
12189
+ ],
12190
+ [
12191
+ 1,
12192
+ "sdf",
12193
+ "<=",
12194
+ [5, "0"]
12195
+ ]
12196
+ ]
12197
+ ]
12198
+ ],
12199
+ [10, [
12200
+ 6,
12201
+ [
12202
+ 7,
12203
+ "std",
12204
+ "select"
12205
+ ],
12206
+ [
12207
+ "ramp",
12208
+ "binary",
12135
12209
  [
12136
12210
  1,
12137
- "sdf",
12211
+ "aaFeather",
12138
12212
  "<=",
12139
12213
  [5, "0"]
12140
12214
  ]
@@ -12452,6 +12526,48 @@ const screenUVToBoxLocal = (sx, sy, g) => {
12452
12526
  y: ry / (2 * hhSq) + .5
12453
12527
  };
12454
12528
  };
12529
+ const DEFAULT_BOUNDING_BOX = {
12530
+ x: {
12531
+ value: 0,
12532
+ unit: "uv"
12533
+ },
12534
+ y: {
12535
+ value: 0,
12536
+ unit: "uv"
12537
+ },
12538
+ width: {
12539
+ value: 1,
12540
+ unit: "uv"
12541
+ },
12542
+ height: {
12543
+ value: 1,
12544
+ unit: "uv"
12545
+ },
12546
+ origin: "top-left",
12547
+ rotation: 0
12548
+ };
12549
+ function resolveBoundingBox(bbox) {
12550
+ if (!bbox || typeof bbox !== "object") return void 0;
12551
+ const dim = (d$1, fallback) => d$1 && typeof d$1 === "object" ? {
12552
+ value: d$1.value ?? fallback.value,
12553
+ unit: d$1.unit ?? fallback.unit
12554
+ } : { ...fallback };
12555
+ return {
12556
+ x: dim(bbox.x, DEFAULT_BOUNDING_BOX.x),
12557
+ y: dim(bbox.y, DEFAULT_BOUNDING_BOX.y),
12558
+ width: dim(bbox.width, DEFAULT_BOUNDING_BOX.width),
12559
+ height: dim(bbox.height, DEFAULT_BOUNDING_BOX.height),
12560
+ origin: bbox.origin ?? "top-left",
12561
+ rotation: bbox.rotation ?? 0,
12562
+ ...bbox.cornerRadius ? { cornerRadius: bbox.cornerRadius } : {},
12563
+ ...bbox.lockAspect !== void 0 ? { lockAspect: bbox.lockAspect } : {}
12564
+ };
12565
+ }
12566
+ function isIdentityBoundingBox(bbox) {
12567
+ if (!bbox || typeof bbox !== "object") return false;
12568
+ const isUV = (d$1, value) => !!d$1 && d$1.unit === "uv" && d$1.value === value;
12569
+ return isUV(bbox.x, 0) && isUV(bbox.y, 0) && isUV(bbox.width, 1) && isUV(bbox.height, 1) && (bbox.rotation ?? 0) === 0 && (bbox.cornerRadius?.value ?? 0) === 0;
12570
+ }
12455
12571
  var Expr = class Expr {
12456
12572
  _emit;
12457
12573
  constructor(emit) {
@@ -12734,23 +12850,34 @@ function composeNodeTree(registry, options = {}) {
12734
12850
  return applyMaskFn(result, maskExpr, maskCfg.type ?? "alpha");
12735
12851
  };
12736
12852
  const opacityExpr = (node) => uniAccessor(`${nodeKey(node.id)}._opacity`);
12737
- const hasBox = (node) => !!node.metadata.boundingBox && !!node.definition.boundingBoxDeclaration;
12853
+ const hasBox = (node) => !!node.metadata.boundingBox && !!node.definition.boundingBoxDeclaration && !isIdentityBoundingBox(node.metadata.boundingBox);
12738
12854
  const cutoutActive = (node) => node.handles.cutout?.value === 1;
12739
12855
  const requiresChild = (node) => !!node.definition.requiresChild;
12740
12856
  const blendWithChildren = (node) => !!node.definition.blendWithChildren;
12741
12857
  const usesBoxClipWindow = (node) => hasBox(node) && !node.definition.boundingBoxDeclaration?.boxResamplesContent && requiresChild(node) && node.metadata.blendMode === "normal" && !cutoutActive(node) && !blendWithChildren(node);
12742
- const clipMaskExpr = (node) => {
12858
+ const halfPixelSq = () => new Expr((ctx) => `(0.5 / max(${sysCtx.viewportSize.member("y")._emit(ctx)}, 1.0))`);
12859
+ let hoistCounter = 0;
12860
+ const asLocal = (e, hint) => {
12861
+ const id = hoistCounter++;
12862
+ return new Expr((ctx) => ctx.memo(`local:${id}`, () => {
12863
+ const name = ctx.freshLocal(hint);
12864
+ ctx.statement(`let ${name} = ${e._emit(ctx)};`);
12865
+ return name;
12866
+ }));
12867
+ };
12868
+ const clipMaskExpr = (node, uv = sysCtx.uv) => {
12743
12869
  const key = nodeKey(node.id);
12744
12870
  const bu = (f) => uniAccessor(`${key}._bbox_${f}`);
12745
12871
  return call(applyRectangularClipMask, "bboxClipMask", [
12746
- sysCtx.uv,
12872
+ uv,
12747
12873
  bu("centerX"),
12748
12874
  bu("centerY"),
12749
12875
  bu("halfWidth"),
12750
12876
  bu("halfHeight"),
12751
12877
  bu("cornerRadius"),
12752
12878
  bu("rotation"),
12753
- bu("aspectRatio")
12879
+ bu("aspectRatio"),
12880
+ halfPixelSq()
12754
12881
  ]);
12755
12882
  };
12756
12883
  const applyBoxTransform = (result, node) => {
@@ -12827,7 +12954,7 @@ function composeNodeTree(registry, options = {}) {
12827
12954
  return result.outputs;
12828
12955
  }
12829
12956
  } catch (e) {
12830
- console.error(`[gpu] error initializing compute for node ${node.id}:`, e);
12957
+ debugError(`[gpu] error initializing compute for node ${node.id}:`, e);
12831
12958
  }
12832
12959
  };
12833
12960
  const boundsFromBboxFields = (n) => {
@@ -12977,6 +13104,8 @@ function composeNodeTree(registry, options = {}) {
12977
13104
  if (uvResult !== null) return uvResult;
12978
13105
  }
12979
13106
  if (children.length > 0 && node.definition.uvRemap) {
13107
+ const pushed = tryComposeViaAnalyticPushdown(node, children);
13108
+ if (pushed !== null) return pushed;
12980
13109
  const nested = tryComposeViaAnalyticUVRemapNested(node, children, processedMasks);
12981
13110
  if (nested !== null) return nested;
12982
13111
  }
@@ -13045,14 +13174,14 @@ function composeNodeTree(registry, options = {}) {
13045
13174
  }
13046
13175
  return composed;
13047
13176
  }
13048
- function genResizeFitParams(node) {
13177
+ function genResizeFitParams(node, uv = sysCtx.uv) {
13049
13178
  if (!hasBox(node)) return {};
13050
13179
  if (!node.definition.boundingBoxDeclaration?.supportsResizeFit) return {};
13051
13180
  const key = nodeKey(node.id);
13052
13181
  const bu = (f) => uniAccessor(`${key}._bbox_${f}`);
13053
13182
  return {
13054
13183
  uvContext: call(boundingBoxToGeneratorUVContext, "bboxGenUVContext", [
13055
- sysCtx.uv,
13184
+ uv,
13056
13185
  bu("centerX"),
13057
13186
  bu("centerY"),
13058
13187
  bu("halfWidth"),
@@ -13070,23 +13199,25 @@ function composeNodeTree(registry, options = {}) {
13070
13199
  }
13071
13200
  const analyticHasFallbackTriggers = (n) => !!n.metadata.mask || n.metadata.opacity !== void 0 && n.metadata.opacity < 1 || (n.metadata.blendMode ?? "normal") !== "normal" || needsTransformation(n.metadata.transform) || hasBox(n);
13072
13201
  const analyticRunEligible = (n) => !!n.definition.uvRemap && registry.getChildren(n.id).length === 0 && !analyticHasFallbackTriggers(n);
13202
+ function remapAt(dNode, uv, mask) {
13203
+ composedNodeIds.add(dNode.id);
13204
+ const computeOutputs = initNodeCompute(dNode, makeParams(dNode, void 0));
13205
+ return dNode.definition.uvRemap({
13206
+ uv,
13207
+ mask,
13208
+ uniforms: uniformExprs(dNode),
13209
+ propValues: propValuesFor(dNode),
13210
+ props: propsAccessor(dNode),
13211
+ aspect: sysCtx.aspect,
13212
+ onBeforeRender: (cb) => onBeforeRender.push(cb),
13213
+ computeOutputs
13214
+ });
13215
+ }
13073
13216
  function foldAnalyticRun(run) {
13074
13217
  let uv = sysCtx.uv;
13075
13218
  let mask = floatE(1);
13076
13219
  for (let i = run.length - 1; i >= 0; i--) {
13077
- const dNode = run[i];
13078
- composedNodeIds.add(dNode.id);
13079
- const computeOutputs = initNodeCompute(dNode, makeParams(dNode, void 0));
13080
- const remapped = dNode.definition.uvRemap({
13081
- uv,
13082
- mask,
13083
- uniforms: uniformExprs(dNode),
13084
- propValues: propValuesFor(dNode),
13085
- props: propsAccessor(dNode),
13086
- aspect: sysCtx.aspect,
13087
- onBeforeRender: (cb) => onBeforeRender.push(cb),
13088
- computeOutputs
13089
- });
13220
+ const remapped = remapAt(run[i], uv, mask);
13090
13221
  uv = remapped.uv;
13091
13222
  mask = remapped.mask;
13092
13223
  }
@@ -13095,6 +13226,75 @@ function composeNodeTree(registry, options = {}) {
13095
13226
  mask
13096
13227
  };
13097
13228
  }
13229
+ const PUSHDOWN_MAX_NODES = 24;
13230
+ const fullCoverage = floatE(1);
13231
+ const pushdownEligible = (n, budget) => {
13232
+ if (budget.left-- <= 0) return false;
13233
+ if (n.metadata.mask) return false;
13234
+ if (needsTransformation(n.metadata.transform)) return false;
13235
+ const children = registry.getChildren(n.id).filter((c) => c.metadata.visible !== false);
13236
+ if (children.length === 0) {
13237
+ if (hasBox(n) && n.definition.boundingBoxDeclaration?.boxResamplesContent) return false;
13238
+ return !!n.definition.acceptsUVContext && !n.definition.requiresChild;
13239
+ }
13240
+ if (!n.definition.uvRemap) return false;
13241
+ if (hasBox(n)) return false;
13242
+ return children.every((c) => pushdownEligible(c, budget));
13243
+ };
13244
+ function remapCoverage(dNode, uv, mask) {
13245
+ const incoming = mask ?? fullCoverage;
13246
+ const out = remapAt(dNode, uv, incoming);
13247
+ return {
13248
+ uv: out.uv,
13249
+ mask: out.mask === incoming ? mask : out.mask
13250
+ };
13251
+ }
13252
+ const combineCoverage = (a, b) => a === void 0 ? b : b === void 0 ? a : a.mul(b);
13253
+ function composeAtUV(node, uv, mask) {
13254
+ const children = registry.getChildren(node.id).filter((c) => c.metadata.visible !== false);
13255
+ if (children.length > 0) {
13256
+ if (!node.definition.uvRemap) return null;
13257
+ const next = remapCoverage(node, uv, mask);
13258
+ return composeChildrenAtUV(children, asLocal(next.uv, "foldUV"), next.mask);
13259
+ }
13260
+ if (!node.definition.acceptsUVContext) return null;
13261
+ composedNodeIds.add(node.id);
13262
+ const resizeFit = genResizeFitParams(node, uv);
13263
+ const params = makeParams(node, void 0, Object.keys(resizeFit).length > 0 ? resizeFit : { uvContext: uv });
13264
+ params.computeOutputs = initNodeCompute(node, params);
13265
+ const fragmentResult = node.definition.fragment(params);
13266
+ const coverage = combineCoverage(mask, hasBox(node) ? clipMaskExpr(node, uv) : void 0);
13267
+ if (coverage === void 0) return fragmentResult;
13268
+ const result = asLocal(fragmentResult, "gen");
13269
+ return vec4(result.member("rgb"), result.member("a").mul(coverage));
13270
+ }
13271
+ function composeChildrenAtUV(children, uv, mask) {
13272
+ const sorted = [...children].sort((a, b) => a.metadata.renderOrder - b.metadata.renderOrder);
13273
+ let composed;
13274
+ for (const child of sorted) {
13275
+ const childResult = composeAtUV(child, uv, void 0);
13276
+ if (childResult === null) return null;
13277
+ const blendMode = child.metadata.blendMode ?? "normal";
13278
+ const effectiveOpacity = child.metadata.opacity ?? 1;
13279
+ if (composed === void 0) composed = blendMode === "normal" && effectiveOpacity === 1 ? childResult : applyBlend(WHITE0, childResult, blendMode, opacityExpr(child));
13280
+ else composed = applyBlend(composed, childResult, blendMode, opacityExpr(child));
13281
+ }
13282
+ if (composed === void 0) return null;
13283
+ if (mask === void 0) return composed;
13284
+ const sibs = asLocal(composed, "sibs");
13285
+ return vec4(sibs.member("rgb"), sibs.member("a").mul(mask));
13286
+ }
13287
+ function tryComposeViaAnalyticPushdown(parent, children) {
13288
+ if (!parent.definition.uvRemap) return null;
13289
+ if (analyticHasFallbackTriggers(parent)) return null;
13290
+ const visible = children.filter((c) => c.metadata.visible !== false);
13291
+ if (visible.length === 0) return null;
13292
+ const budget = { left: PUSHDOWN_MAX_NODES };
13293
+ if (!visible.every((c) => pushdownEligible(c, budget))) return null;
13294
+ composedNodeIds.add(parent.id);
13295
+ const { uv, mask } = remapCoverage(parent, sysCtx.uv, void 0);
13296
+ return composeChildrenAtUV(visible, asLocal(uv, "foldUV"), mask);
13297
+ }
13098
13298
  function tryComposeViaAnalyticUVRemap(sorted, _processedMasks) {
13099
13299
  const visible = sorted.filter((c) => c.metadata.visible !== false);
13100
13300
  if (!visible.some((c) => !!c.definition.uvRemap)) return null;
@@ -13178,7 +13378,7 @@ function composeNodeTree(registry, options = {}) {
13178
13378
  const gen = terminusGenerator.definition.fragment(params);
13179
13379
  result = vec4(gen.member("rgb"), gen.member("a").mul(mask));
13180
13380
  } else {
13181
- const sampled = convertToTexture(applyBlend(ZERO, composeNode(terminusComposite.id, processedMasks), "normal", floatE(1))).sample(uv);
13381
+ const sampled = convertToTexture(applyBlend(WHITE0, composeNode(terminusComposite.id, processedMasks), terminusComposite.metadata.blendMode ?? "normal", opacityExpr(terminusComposite))).sample(uv);
13182
13382
  result = vec4(sampled.member("rgb"), sampled.member("a").mul(mask));
13183
13383
  }
13184
13384
  return applyMaskIfNeeded(hasBox(parent) ? applyBoxTransform(result, parent) : applyNodeTransform(result, parent), parent, processedMasks);
@@ -13354,7 +13554,7 @@ function collectStructuralHashInputs(registry, options = {}) {
13354
13554
  const m = node.metadata;
13355
13555
  const def = node.definition;
13356
13556
  const transformActive = needsTransformation(m.transform);
13357
- const bboxActive = !!m.boundingBox && !!def.boundingBoxDeclaration;
13557
+ const bboxActive = !!m.boundingBox && !!def.boundingBoxDeclaration && !isIdentityBoundingBox(m.boundingBox);
13358
13558
  const opacityBucket = (m.opacity ?? 1) === 0 ? "zero" : "nonzero";
13359
13559
  const maskCfg = m.mask ? `${m.mask.source}:${m.mask.type}` : "none";
13360
13560
  const compileTimeProps = [];
@@ -13364,6 +13564,7 @@ function collectStructuralHashInputs(registry, options = {}) {
13364
13564
  }
13365
13565
  parts.push([
13366
13566
  `id:${node.id}`,
13567
+ `parent:${node.parentId ?? ""}`,
13367
13568
  `name:${node.componentName}`,
13368
13569
  `blend:${m.blendMode ?? "normal"}`,
13369
13570
  `mask:${maskCfg}`,
@@ -13381,6 +13582,474 @@ function collectStructuralHashInputs(registry, options = {}) {
13381
13582
  if (registry.rootId) visit(registry.rootId);
13382
13583
  return parts;
13383
13584
  }
13585
+ const catmullRomAxisPositions = tgpu$1.fn([d.f32, d.f32], d.vec3f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uv, texSize) => {
13586
+ "use gpu";
13587
+ const samplePos = __tsover_mul(uv, texSize);
13588
+ const texPos1 = __tsover_add(std.floor(__tsover_sub(samplePos, .5)), .5);
13589
+ const f = __tsover_sub(samplePos, texPos1);
13590
+ const w1 = __tsover_add(1, __tsover_mul(__tsover_mul(f, f), __tsover_add(-2.5, __tsover_mul(1.5, f))));
13591
+ const w2 = __tsover_mul(f, __tsover_add(.5, __tsover_mul(f, __tsover_sub(2, __tsover_mul(1.5, f)))));
13592
+ const w12 = std.max(__tsover_add(w1, w2), 1e-6);
13593
+ const offset12 = __tsover_div(w2, w12);
13594
+ return d.vec3f(__tsover_div(__tsover_sub(texPos1, 1), texSize), __tsover_div(__tsover_add(texPos1, offset12), texSize), __tsover_div(__tsover_add(texPos1, 2), texSize));
13595
+ }), {
13596
+ v: 1,
13597
+ name: void 0,
13598
+ ast: {
13599
+ "params": [{
13600
+ "type": "i",
13601
+ "name": "uv"
13602
+ }, {
13603
+ "type": "i",
13604
+ "name": "texSize"
13605
+ }],
13606
+ "body": [0, [
13607
+ [
13608
+ 13,
13609
+ "samplePos",
13610
+ [
13611
+ 1,
13612
+ "uv",
13613
+ "*",
13614
+ "texSize"
13615
+ ]
13616
+ ],
13617
+ [
13618
+ 13,
13619
+ "texPos1",
13620
+ [
13621
+ 1,
13622
+ [
13623
+ 6,
13624
+ [
13625
+ 7,
13626
+ "std",
13627
+ "floor"
13628
+ ],
13629
+ [[
13630
+ 1,
13631
+ "samplePos",
13632
+ "-",
13633
+ [5, "0.5"]
13634
+ ]]
13635
+ ],
13636
+ "+",
13637
+ [5, "0.5"]
13638
+ ]
13639
+ ],
13640
+ [
13641
+ 13,
13642
+ "f",
13643
+ [
13644
+ 1,
13645
+ "samplePos",
13646
+ "-",
13647
+ "texPos1"
13648
+ ]
13649
+ ],
13650
+ [
13651
+ 13,
13652
+ "w1",
13653
+ [
13654
+ 1,
13655
+ [5, "1"],
13656
+ "+",
13657
+ [
13658
+ 1,
13659
+ [
13660
+ 1,
13661
+ "f",
13662
+ "*",
13663
+ "f"
13664
+ ],
13665
+ "*",
13666
+ [
13667
+ 1,
13668
+ [
13669
+ 4,
13670
+ "-",
13671
+ [5, "2.5"]
13672
+ ],
13673
+ "+",
13674
+ [
13675
+ 1,
13676
+ [5, "1.5"],
13677
+ "*",
13678
+ "f"
13679
+ ]
13680
+ ]
13681
+ ]
13682
+ ]
13683
+ ],
13684
+ [
13685
+ 13,
13686
+ "w2",
13687
+ [
13688
+ 1,
13689
+ "f",
13690
+ "*",
13691
+ [
13692
+ 1,
13693
+ [5, "0.5"],
13694
+ "+",
13695
+ [
13696
+ 1,
13697
+ "f",
13698
+ "*",
13699
+ [
13700
+ 1,
13701
+ [5, "2"],
13702
+ "-",
13703
+ [
13704
+ 1,
13705
+ [5, "1.5"],
13706
+ "*",
13707
+ "f"
13708
+ ]
13709
+ ]
13710
+ ]
13711
+ ]
13712
+ ]
13713
+ ],
13714
+ [
13715
+ 13,
13716
+ "w12",
13717
+ [
13718
+ 6,
13719
+ [
13720
+ 7,
13721
+ "std",
13722
+ "max"
13723
+ ],
13724
+ [[
13725
+ 1,
13726
+ "w1",
13727
+ "+",
13728
+ "w2"
13729
+ ], [5, "0.000001"]]
13730
+ ]
13731
+ ],
13732
+ [
13733
+ 13,
13734
+ "offset12",
13735
+ [
13736
+ 1,
13737
+ "w2",
13738
+ "/",
13739
+ "w12"
13740
+ ]
13741
+ ],
13742
+ [10, [
13743
+ 6,
13744
+ [
13745
+ 7,
13746
+ "d",
13747
+ "vec3f"
13748
+ ],
13749
+ [
13750
+ [
13751
+ 1,
13752
+ [
13753
+ 1,
13754
+ "texPos1",
13755
+ "-",
13756
+ [5, "1"]
13757
+ ],
13758
+ "/",
13759
+ "texSize"
13760
+ ],
13761
+ [
13762
+ 1,
13763
+ [
13764
+ 1,
13765
+ "texPos1",
13766
+ "+",
13767
+ "offset12"
13768
+ ],
13769
+ "/",
13770
+ "texSize"
13771
+ ],
13772
+ [
13773
+ 1,
13774
+ [
13775
+ 1,
13776
+ "texPos1",
13777
+ "+",
13778
+ [5, "2"]
13779
+ ],
13780
+ "/",
13781
+ "texSize"
13782
+ ]
13783
+ ]
13784
+ ]]
13785
+ ]],
13786
+ "externalNames": ["std", "d"]
13787
+ },
13788
+ externals: () => ({
13789
+ std,
13790
+ d
13791
+ })
13792
+ }) && $.f)({}));
13793
+ const catmullRomAxisWeights = tgpu$1.fn([d.f32, d.f32], d.vec3f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uv, texSize) => {
13794
+ "use gpu";
13795
+ const samplePos = __tsover_mul(uv, texSize);
13796
+ const texPos1 = __tsover_add(std.floor(__tsover_sub(samplePos, .5)), .5);
13797
+ const f = __tsover_sub(samplePos, texPos1);
13798
+ const w0 = __tsover_mul(f, __tsover_add(-.5, __tsover_mul(f, __tsover_sub(1, __tsover_mul(.5, f)))));
13799
+ const w1 = __tsover_add(1, __tsover_mul(__tsover_mul(f, f), __tsover_add(-2.5, __tsover_mul(1.5, f))));
13800
+ const w2 = __tsover_mul(f, __tsover_add(.5, __tsover_mul(f, __tsover_sub(2, __tsover_mul(1.5, f)))));
13801
+ const w3 = __tsover_mul(__tsover_mul(f, f), __tsover_add(-.5, __tsover_mul(.5, f)));
13802
+ return d.vec3f(w0, __tsover_add(w1, w2), w3);
13803
+ }), {
13804
+ v: 1,
13805
+ name: void 0,
13806
+ ast: {
13807
+ "params": [{
13808
+ "type": "i",
13809
+ "name": "uv"
13810
+ }, {
13811
+ "type": "i",
13812
+ "name": "texSize"
13813
+ }],
13814
+ "body": [0, [
13815
+ [
13816
+ 13,
13817
+ "samplePos",
13818
+ [
13819
+ 1,
13820
+ "uv",
13821
+ "*",
13822
+ "texSize"
13823
+ ]
13824
+ ],
13825
+ [
13826
+ 13,
13827
+ "texPos1",
13828
+ [
13829
+ 1,
13830
+ [
13831
+ 6,
13832
+ [
13833
+ 7,
13834
+ "std",
13835
+ "floor"
13836
+ ],
13837
+ [[
13838
+ 1,
13839
+ "samplePos",
13840
+ "-",
13841
+ [5, "0.5"]
13842
+ ]]
13843
+ ],
13844
+ "+",
13845
+ [5, "0.5"]
13846
+ ]
13847
+ ],
13848
+ [
13849
+ 13,
13850
+ "f",
13851
+ [
13852
+ 1,
13853
+ "samplePos",
13854
+ "-",
13855
+ "texPos1"
13856
+ ]
13857
+ ],
13858
+ [
13859
+ 13,
13860
+ "w0",
13861
+ [
13862
+ 1,
13863
+ "f",
13864
+ "*",
13865
+ [
13866
+ 1,
13867
+ [
13868
+ 4,
13869
+ "-",
13870
+ [5, "0.5"]
13871
+ ],
13872
+ "+",
13873
+ [
13874
+ 1,
13875
+ "f",
13876
+ "*",
13877
+ [
13878
+ 1,
13879
+ [5, "1"],
13880
+ "-",
13881
+ [
13882
+ 1,
13883
+ [5, "0.5"],
13884
+ "*",
13885
+ "f"
13886
+ ]
13887
+ ]
13888
+ ]
13889
+ ]
13890
+ ]
13891
+ ],
13892
+ [
13893
+ 13,
13894
+ "w1",
13895
+ [
13896
+ 1,
13897
+ [5, "1"],
13898
+ "+",
13899
+ [
13900
+ 1,
13901
+ [
13902
+ 1,
13903
+ "f",
13904
+ "*",
13905
+ "f"
13906
+ ],
13907
+ "*",
13908
+ [
13909
+ 1,
13910
+ [
13911
+ 4,
13912
+ "-",
13913
+ [5, "2.5"]
13914
+ ],
13915
+ "+",
13916
+ [
13917
+ 1,
13918
+ [5, "1.5"],
13919
+ "*",
13920
+ "f"
13921
+ ]
13922
+ ]
13923
+ ]
13924
+ ]
13925
+ ],
13926
+ [
13927
+ 13,
13928
+ "w2",
13929
+ [
13930
+ 1,
13931
+ "f",
13932
+ "*",
13933
+ [
13934
+ 1,
13935
+ [5, "0.5"],
13936
+ "+",
13937
+ [
13938
+ 1,
13939
+ "f",
13940
+ "*",
13941
+ [
13942
+ 1,
13943
+ [5, "2"],
13944
+ "-",
13945
+ [
13946
+ 1,
13947
+ [5, "1.5"],
13948
+ "*",
13949
+ "f"
13950
+ ]
13951
+ ]
13952
+ ]
13953
+ ]
13954
+ ]
13955
+ ],
13956
+ [
13957
+ 13,
13958
+ "w3",
13959
+ [
13960
+ 1,
13961
+ [
13962
+ 1,
13963
+ "f",
13964
+ "*",
13965
+ "f"
13966
+ ],
13967
+ "*",
13968
+ [
13969
+ 1,
13970
+ [
13971
+ 4,
13972
+ "-",
13973
+ [5, "0.5"]
13974
+ ],
13975
+ "+",
13976
+ [
13977
+ 1,
13978
+ [5, "0.5"],
13979
+ "*",
13980
+ "f"
13981
+ ]
13982
+ ]
13983
+ ]
13984
+ ],
13985
+ [10, [
13986
+ 6,
13987
+ [
13988
+ 7,
13989
+ "d",
13990
+ "vec3f"
13991
+ ],
13992
+ [
13993
+ "w0",
13994
+ [
13995
+ 1,
13996
+ "w1",
13997
+ "+",
13998
+ "w2"
13999
+ ],
14000
+ "w3"
14001
+ ]
14002
+ ]]
14003
+ ]],
14004
+ "externalNames": ["std", "d"]
14005
+ },
14006
+ externals: () => ({
14007
+ std,
14008
+ d
14009
+ })
14010
+ }) && $.f)({}));
14011
+ var bicubicCounter = 0;
14012
+ const sampleCatmullRomExpr = (tex, uv, sampler = "linearClamp", range = "positive") => {
14013
+ const id = bicubicCounter++;
14014
+ return new Expr((ctx) => ctx.memo(`catmullRom:${id}`, () => {
14015
+ const uvL = ctx.freshLocal("crUV");
14016
+ const sizeL = ctx.freshLocal("crSize");
14017
+ const pxL = ctx.freshLocal("crPosX");
14018
+ const pyL = ctx.freshLocal("crPosY");
14019
+ const wxL = ctx.freshLocal("crWx");
14020
+ const wyL = ctx.freshLocal("crWy");
14021
+ const outL = ctx.freshLocal("crOut");
14022
+ ctx.statement(`let ${uvL} = ${uv._emit(ctx)};`);
14023
+ ctx.statement(`let ${sizeL} = ${tex.dimensions()._emit(ctx)};`);
14024
+ const posFn = ctx.external(catmullRomAxisPositions, "catmullRomAxisPositions");
14025
+ const wFn = ctx.external(catmullRomAxisWeights, "catmullRomAxisWeights");
14026
+ ctx.statement(`let ${pxL} = ${posFn}(${uvL}.x, ${sizeL}.x);`);
14027
+ ctx.statement(`let ${pyL} = ${posFn}(${uvL}.y, ${sizeL}.y);`);
14028
+ ctx.statement(`let ${wxL} = ${wFn}(${uvL}.x, ${sizeL}.x);`);
14029
+ ctx.statement(`let ${wyL} = ${wFn}(${uvL}.y, ${sizeL}.y);`);
14030
+ ctx.statement(`var ${outL} = vec4f(0.0, 0.0, 0.0, 0.0);`);
14031
+ const axis = [
14032
+ "x",
14033
+ "y",
14034
+ "z"
14035
+ ];
14036
+ for (const yi of [
14037
+ 0,
14038
+ 1,
14039
+ 2
14040
+ ]) for (const xi of [
14041
+ 0,
14042
+ 1,
14043
+ 2
14044
+ ]) {
14045
+ const tapUV = new Expr(() => `vec2f(${pxL}.${axis[xi]}, ${pyL}.${axis[yi]})`);
14046
+ const weight = `(${wxL}.${axis[xi]} * ${wyL}.${axis[yi]})`;
14047
+ ctx.statement(`${outL} += ${tex.sample(tapUV, sampler)._emit(ctx)} * ${weight};`);
14048
+ }
14049
+ ctx.statement(range === "unit" ? `${outL} = clamp(${outL}, vec4f(0.0, 0.0, 0.0, 0.0), vec4f(1.0, 1.0, 1.0, 1.0));` : `${outL} = max(${outL}, vec4f(0.0, 0.0, 0.0, 0.0));`);
14050
+ return outL;
14051
+ }));
14052
+ };
13384
14053
  var edges_exports = /* @__PURE__ */ __export({
13385
14054
  applyEdgeHandling: () => applyEdgeHandling,
13386
14055
  applyEdgeHandlingExpr: () => applyEdgeHandlingExpr,
@@ -13391,7 +14060,8 @@ var edges_exports = /* @__PURE__ */ __export({
13391
14060
  edgeClampUV: () => edgeClampUV,
13392
14061
  edgeMirrorUV: () => edgeMirrorUV,
13393
14062
  edgeTransparentMask: () => edgeTransparentMask,
13394
- edgeWrapUV: () => edgeWrapUV
14063
+ edgeWrapUV: () => edgeWrapUV,
14064
+ sampleRemappedExpr: () => sampleRemappedExpr
13395
14065
  });
13396
14066
  const edgeClampUV = tgpu$1.fn([d.vec2f], d.vec2f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uv) => {
13397
14067
  "use gpu";
@@ -13799,6 +14469,9 @@ const applyEdgeHandlingExpr = (distortedUV, sample, edgeMode) => {
13799
14469
  if (edgeMode === WRAP) return sample(call(edgeWrapUV, "edgeWrapUV", [distortedUV]));
13800
14470
  return sample(distortedUV);
13801
14471
  };
14472
+ const sampleRemappedExpr = (tex, distortedUV, edgeMode) => {
14473
+ return applyEdgeHandlingExpr(distortedUV, edgeMode === MIRROR ? (uv) => tex.sample(uv) : (uv) => sampleCatmullRomExpr(tex, uv, edgeMode === WRAP ? "linearRepeat" : "linearClamp"), edgeMode);
14474
+ };
13802
14475
  function createAnimatedTimeState() {
13803
14476
  const state = {
13804
14477
  value: 0,
@@ -33567,7 +34240,7 @@ function createSdfDataTexture(params, shapeSdfUrl) {
33567
34240
  if (shapeSdfUrl) loadSdfFromUrl(shapeSdfUrl, sdfData).then(() => {
33568
34241
  for (let i = 0; i < count; i++) texData[i] = toHalfFloat(sdfData[i]);
33569
34242
  needsUpload = true;
33570
- }).catch((err) => console.warn("[SDF] Failed to load SDF texture:", err));
34243
+ }).catch((err) => debugWarn("[SDF] Failed to load SDF texture:", err));
33571
34244
  params.onBeforeRender(() => {
33572
34245
  if (needsUpload) {
33573
34246
  needsUpload = false;
@@ -33629,7 +34302,7 @@ function createSvgSdfSamplerWithGradients(params, shapeSdfUrl) {
33629
34302
  if (shapeSdfUrl) loadSdfFromUrl(shapeSdfUrl, sdfData).then(() => {
33630
34303
  bake();
33631
34304
  needsUpload = true;
33632
- }).catch((err) => console.warn("[SDF] Failed to load SDF texture:", err));
34305
+ }).catch((err) => debugWarn("[SDF] Failed to load SDF texture:", err));
33633
34306
  params.onBeforeRender(() => {
33634
34307
  if (needsUpload) {
33635
34308
  needsUpload = false;
@@ -55048,4 +55721,4 @@ tgpu$1.fn([d.vec2f], d.f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__
55048
55721
  },
55049
55722
  externals: () => ({})
55050
55723
  }) && $.f)({}));
55051
- export { mixStopsOrColorsExpr as $, srgbToLinear as $t, heartSdf as A, applyEdgeHandlingExpr as At, trapezoidSdf as B, call as Bt, ShapeMask as C, MAX_COLOR_STOPS as Ct, crossSdf as D, packConvertedStops as Dt, crescentSdf as E, mixColorStopsRuntime as Et, sdf_exports as F, edgeWrapUV as Ft, DEFAULT_COMPUTE_WIDTH as G, mixExpr as Gt, toHalfFloat as H, composeNodeTree as Ht, shapeLocalCoords as I, edges_exports as It, std as J, formatFloat as Jt, createGaussianBlurCompute as K, vec4 as Kt, starSdf as L, SHARED_SAMPLER_LAYOUT as Lt, polygonSdf as M, edgeClampUV as Mt, ringSdf as N, edgeMirrorUV as Nt, ellipseSdf as O, packStops as Ot, roundedRectSdf as P, edgeTransparentMask as Pt, applyNoiseReliefExpr as Q, linearToSrgb as Qt, strokeMaskFromSdf as R, ZERO as Rt, maxPixelRatioForDevice as S, __export as Sn, wool12 as St, circleSdf as T, gradientStopsInSpace as Tt, BLUR_MAP_FORMAT as U, expr as Ut, vesicaSdf as V, collectStructuralHashInputs as Vt, DEFAULT_COMPUTE_HEIGHT as W, floatE as Wt, createGuardedCompute as X, needsTransformation as Xt, createComputeDispatcher as Y, boundingBoxToUVParams as Yt, createStateBuffer as Z, screenUVToBoxLocal as Zt, scaleScaleDown as _, sRGBToP3 as _n, scratches12 as _t, cursorFalloff as a, convertP3ToMixSpaceCPU as an, gabor12 as at, getSdfContentBounds as b, d as bn, value13 as bt, orientedShapeOptions as c, labToRgb as cn, hash22 as ct, alphaCutLinear as d, mixColorsVariants as dn, mxNoiseFloat3 as dt, tonemap_exports as en, toneAndColorExpr as et, sampleUV as f, mixPreconvertedLinear as fn, mxWorleyNoiseFloat2Pub as ft, scaleNone as g, rgbToHsl as gn, perlin13 as gt, scaleFill as h, oklchToOklab as hn, perlin12d as ht, agents_exports as i, colorMixing_exports as in, erosion12 as it, parallelogramSdf as j, composeEdgeRemapExpr as jt, flowerSdf as k, getAnimatedTimeState as kt, pointShapeOptions as l, lchToLab as ln, hash33 as lt, scaleCover as m, oklabToRgb as mn, paper12 as mt, tgpu$1 as n, blend_exports as nn, curl22 as nt, cursorMagnet as o, hslToRgb as on, hash11 as ot, scaleContain as p, mixPreconvertedVariants as pn, noise_exports as pt, createVariableGaussianBlurCompute as q, Expr as qt, AGENT_SHAPES as r, unpremultiplyAlpha as rn, curl22z as rt, makeAgentWeightFn as s, hsvToRgb as sn, hash12 as st, SystemUniforms as t, blendModes as tn, blue12 as tt, resolveAgentShape as u, mixColorsLinear as un, mxNoiseFloat2 as ut, VOLUMETRIC_FIELD_EXTRA_FIELDS as v, FieldHandle as vn, stone12 as vt, arcSdf as w, colorStops_exports as wt, isMobileGpuViewport as x, updateFieldValue as xn, wavelet12 as xt, sdf3d_exports as y, createUniformStore as yn, value12 as yt, teardropSdf as z, arrayExpr as zt };
55724
+ export { mixStopsOrColorsExpr as $, resolveBoundingBox as $t, heartSdf as A, applyEdgeHandlingExpr as At, trapezoidSdf as B, ZERO as Bt, ShapeMask as C, FieldHandle as Cn, MAX_COLOR_STOPS as Ct, crossSdf as D, __export as Dn, packConvertedStops as Dt, crescentSdf as E, updateFieldValue as En, mixColorStopsRuntime as Et, sdf_exports as F, edgeWrapUV as Ft, DEFAULT_COMPUTE_WIDTH as G, expr as Gt, toHalfFloat as H, call as Ht, shapeLocalCoords as I, edges_exports as It, std as J, vec4 as Jt, createGaussianBlurCompute as K, floatE as Kt, starSdf as L, sampleRemappedExpr as Lt, polygonSdf as M, edgeClampUV as Mt, ringSdf as N, edgeMirrorUV as Nt, ellipseSdf as O, packStops as Ot, roundedRectSdf as P, edgeTransparentMask as Pt, applyNoiseReliefExpr as Q, isIdentityBoundingBox as Qt, strokeMaskFromSdf as R, sampleCatmullRomExpr as Rt, maxPixelRatioForDevice as S, sRGBToP3 as Sn, wool12 as St, circleSdf as T, d as Tn, gradientStopsInSpace as Tt, BLUR_MAP_FORMAT as U, collectStructuralHashInputs as Ut, vesicaSdf as V, arrayExpr as Vt, DEFAULT_COMPUTE_HEIGHT as W, composeNodeTree as Wt, createGuardedCompute as X, formatFloat as Xt, createComputeDispatcher as Y, Expr as Yt, createStateBuffer as Z, DEFAULT_BOUNDING_BOX as Zt, scaleScaleDown as _, mixPreconvertedLinear as _n, scratches12 as _t, cursorFalloff as a, tonemap_exports as an, gabor12 as at, getSdfContentBounds as b, oklchToOklab as bn, value13 as bt, orientedShapeOptions as c, unpremultiplyAlpha as cn, hash22 as ct, alphaCutLinear as d, hslToRgb as dn, mxNoiseFloat3 as dt, boundingBoxToUVParams as en, toneAndColorExpr as et, sampleUV as f, hsvToRgb as fn, mxWorleyNoiseFloat2Pub as ft, scaleNone as g, mixColorsVariants as gn, perlin13 as gt, scaleFill as h, mixColorsLinear as hn, perlin12d as ht, agents_exports as i, srgbToLinear as in, erosion12 as it, parallelogramSdf as j, composeEdgeRemapExpr as jt, flowerSdf as k, getAnimatedTimeState as kt, pointShapeOptions as l, colorMixing_exports as ln, hash33 as lt, scaleCover as m, lchToLab as mn, paper12 as mt, tgpu$1 as n, screenUVToBoxLocal as nn, curl22 as nt, cursorMagnet as o, blendModes as on, hash11 as ot, scaleContain as p, labToRgb as pn, noise_exports as pt, createVariableGaussianBlurCompute as q, mixExpr as qt, AGENT_SHAPES as r, linearToSrgb as rn, curl22z as rt, makeAgentWeightFn as s, blend_exports as sn, hash12 as st, SystemUniforms as t, needsTransformation as tn, blue12 as tt, resolveAgentShape as u, convertP3ToMixSpaceCPU as un, mxNoiseFloat2 as ut, VOLUMETRIC_FIELD_EXTRA_FIELDS as v, mixPreconvertedVariants as vn, stone12 as vt, arcSdf as w, createUniformStore as wn, colorStops_exports as wt, isMobileGpuViewport as x, rgbToHsl as xn, wavelet12 as xt, sdf3d_exports as y, oklabToRgb as yn, value12 as yt, teardropSdf as z, SHARED_SAMPLER_LAYOUT as zt };