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,4 +1,4 @@
1
- import { Bt as call, J as std, Kt as vec4, Sn as __export, Wt as floatE, bn as d, n as tgpu, rn as unpremultiplyAlpha } from "./coords-0A7CojvN.js";
1
+ import { Dn as __export, Ht as call, J as std, Jt as vec4, Kt as floatE, Tn as d, cn as unpremultiplyAlpha, n as tgpu } from "./coords-BkIjixe_.js";
2
2
  var glass_exports = /* @__PURE__ */ __export({
3
3
  BLUR_DISK: () => BLUR_DISK,
4
4
  GlassLensUVs: () => GlassLensUVs,
@@ -202,6 +202,13 @@ export declare function composeNodeTree(registry: RegistryView, options?: Compos
202
202
  * Collect the exact recompile-trigger set, in registry order. pipelineCache digests this into
203
203
  * the cache key. Any change here that alters emitted WGSL MUST change the hash (that is the
204
204
  * invariant the cache tests assert).
205
+ *
206
+ * The walk is pre-order, and pre-order ALONE does not identify a tree — `parent > [A > [B], C]`
207
+ * and `parent > [A > [B, C]]` visit the same four nodes in the same sequence, with the same
208
+ * renderOrder on each. That is a real editing move (drag a layer into a filter, below its existing
209
+ * child): every line would be byte-identical, the cache would serve the pre-move composition, and
210
+ * the dragged layer would keep rendering as if it were still outside. So each line names its own
211
+ * PARENT — with that, the sequence plus the parent links pin the tree exactly.
205
212
  */
206
213
  export declare function collectStructuralHashInputs(registry: RegistryView, options?: ComposeOptions): string[];
207
214
  //# sourceMappingURL=composer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/gpu/composer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/gpu/composer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAa,EAAC,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAC,MAAM,SAAS,CAAA;AAE3E,OAAO,EAAyD,KAAK,SAAS,EAAC,MAAM,aAAa,CAAA;AAClG,OAAO,EAAgB,KAAK,QAAQ,EAAC,MAAM,YAAY,CAAA;AACvD,OAAO,EAA2B,KAAK,eAAe,EAAC,MAAM,eAAe,CAAA;AAK5E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AAC1C,OAAO,EACH,IAAI,EAQJ,KAAK,eAAe,EAIpB,KAAK,YAAY,EACpB,MAAM,YAAY,CAAA;AAOnB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;EAOtB,CAAA;AAEZ,uFAAuF;AACvF,eAAO,MAAM,WAAW;;;;;CAAgE,CAAA;AAMxF,0EAA0E;AAC1E,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEvC;AAED,gDAAgD;AAChD,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED,2FAA2F;AAC3F,wBAAgB,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAKlE;AAED,8CAA8C;AAC9C,wBAAgB,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAEtD;AAED,mDAAmD;AACnD,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAE/D;AAED,qDAAqD;AACrD,eAAO,MAAM,IAAI,MAAoC,CAAA;AACrD,gEAAgE;AAChE,eAAO,MAAM,MAAM,MAAoC,CAAA;AAQvD,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,CAG1F;AAED,2CAA2C;AAC3C,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAG1E;AAUD,6FAA6F;AAC7F,MAAM,WAAW,YAAY;IACzB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAA;IACZ,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,uEAAuE;IACvE,KAAK,EAAE,cAAc,CAAA;IACrB,6FAA6F;IAC7F,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,8DAA8D;IAC9D,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAA;IACrB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,wFAAwF;IACxF,cAAc,CAAC,EAAE,mBAAmB,CAAA;CACvC;AAED,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;CACzB;AAED,2FAA2F;AAC3F,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAAA;IACjC,kGAAkG;IAClG,QAAQ,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,0EAA0E;IAC1E,SAAS,EAAE,MAAM,OAAO,CAAA;CAC3B;AAED,0FAA0F;AAC1F,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,WAAW,EAAE,GAAG,IAAI,CAAA;IAC/D;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,GAAG,SAAS,KAAK,IAAI,CAAA;CAClF;AAED,MAAM,WAAW,aAAa;IAC1B,uEAAuE;IACvE,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,2EAA2E;IAC3E,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,0EAA0E;IAC1E,SAAS,EAAE,YAAY,CAAA;IACvB,gFAAgF;IAChF,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,gDAAgD;IAChD,gBAAgB,EAAE,sBAAsB,EAAE,CAAA;IAC1C;;;;OAIG;IACH,OAAO,EAAE;QACL,QAAQ,CAAC,EAAE,mBAAmB,CAAA;QAC9B,QAAQ,EAAE,mBAAmB,CAAA;KAChC,CAAA;IACD,gFAAgF;IAChF,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,EAAE,CAAA;IACxC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,EAAE,CAAA;IACvC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,EAAE,CAAA;IAClC,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IACzB,sFAAsF;IACtF,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,cAAc;IAC3B,uFAAuF;IACvF,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,iFAAiF;IACjF,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,UAAU,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAA;IAC5C,GAAG,CAAC,EAAE;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,OAAO,SAAS,EAAE,QAAQ,CAAA;KAAC,CAAA;IAC3D;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAA;IAClF;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,YAAY,EAAE,sBAAsB,KAAK,eAAe,CAAA;IAC9F;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,YAAY,EAAE,qBAAqB,KAAK,eAAe,CAAA;IAC5F;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,YAAY,EAAE,YAAY,GAAG,SAAS,CAAA;IAClG;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CACpE;AAkFD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CAuoCnG;AAiID;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,EAAE,CAyD1G"}
@@ -1,12 +1,15 @@
1
1
  import { TgpuRoot } from 'typegpu';
2
+ import { GpuFailureReason } from './support';
2
3
  import { NodeHandles, FieldInit } from './uniformStore';
3
4
  import { GpuShaderDefinition } from './contract';
4
5
  import { SizeConversion } from '../utilities/dimensionalProps';
5
6
  import { PerformanceStats } from '../performanceTracker';
6
7
  import { NodeMetadata, ToneMappingMode } from '../types';
7
8
 
8
- export { acquireRoot, configureCanvasContext, getRootForDevice } from './root';
9
+ export { acquireRoot, configureCanvasContext, getRootForDevice, destroyDefaultGpuDevice } from './root';
9
10
  export type { AcquireRootOptions, RootContext } from './root';
11
+ export { isWebGPUSupported, getWebGPUSupport, setShadersDebug, isShadersDebug, GpuUnavailableError, isGpuUnavailableError } from './support';
12
+ export type { GpuFailureReason, WebGPUSupportInfo } from './support';
10
13
  /**
11
14
  * One prop's registration input. Carries the plain current `value` plus the CPU `transform`
12
15
  * and the compile-time flags. The uniform store applies the transform when seeding/patching the
@@ -121,8 +124,12 @@ export declare function shaderRendererGPU(): {
121
124
  resize: (width: number, height: number) => void;
122
125
  startAnimation: () => void;
123
126
  stopAnimation: () => void;
124
- renderAndWait: () => Promise<void>;
125
- renderSyntheticFrame: (deltaSeconds: number) => Promise<void>;
127
+ renderAndWait: (options?: {
128
+ waitForGpu?: boolean;
129
+ }) => Promise<void>;
130
+ renderSyntheticFrame: (deltaSeconds: number, options?: {
131
+ waitForGpu?: boolean;
132
+ }) => Promise<void>;
126
133
  getPerformanceStats: () => PerformanceStats;
127
134
  getLiveDriverValue: (nodeId: string, propName: string) => {
128
135
  x: number;
@@ -146,6 +153,18 @@ export declare function shaderRendererGPU(): {
146
153
  setTimeOrigin: (origin: number | null) => void;
147
154
  setOnReady: (callback: (() => void) | null) => void;
148
155
  setOnDeviceLost: (callback: ((reason: string) => void) | null) => void;
156
+ /**
157
+ * Subscribe to "this renderer can never draw" — WebGPU missing, no adapter, device
158
+ * refused/lost, or the GPU proving unusable at runtime. Fires at most once. A late
159
+ * subscriber (registered after the failure) is still notified, so hosts can attach
160
+ * this after `initialize()` has already resolved.
161
+ *
162
+ * By the time it fires every GPU resource has been released and the frame loop is
163
+ * stopped. This is the hook for swapping in a static fallback.
164
+ */
165
+ setOnUnavailable: (callback: ((reason: GpuFailureReason, error?: unknown) => void) | null) => void;
166
+ /** Why this renderer gave up, or `null` while it is healthy. */
167
+ getFailureReason: () => GpuFailureReason | null;
149
168
  __testing: {
150
169
  needsTransformation: (transform: import('./kit/uvTransform').TransformConfig | undefined) => boolean;
151
170
  findChildNodes: (parentId: string) => GpuNodeInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gpu/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gpu/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { d } from './index';
2
2
  import { v2f, v4f } from 'typegpu/data';
3
- import { Expr } from '../contract';
3
+ import { Expr, KitTexture } from '../contract';
4
4
 
5
5
  /** Stretch (mode 0): clamp UV into [0,1] (`clamp(uv, vec2(0), vec2(1))`). */
6
6
  export declare const edgeClampUV: import('typegpu').TgpuFn<(uv: d.Vec2f) => d.Vec2f>;
@@ -73,4 +73,22 @@ export declare const composeEdgeRemapExpr: (distortedUV: Expr, mask: Expr, edgeM
73
73
  * - stretch (0): sample straight (the linearClamp sampler clamps out-of-range UVs to the edge).
74
74
  */
75
75
  export declare const applyEdgeHandlingExpr: (distortedUV: Expr, sample: (uv: Expr) => Expr, edgeMode: number) => Expr;
76
+ /**
77
+ * `applyEdgeHandlingExpr` with the best RECONSTRUCTION FILTER for the mode — the one-liner a
78
+ * geometric distortion's RTT path should use instead of hand-rolling `(uv) => tex.sample(uv)`.
79
+ *
80
+ * A distortion that scales content up is resampling a texture at less than one texel per pixel,
81
+ * and a single bilinear tap reconstructs hard edges (text, logos, clip boundaries) as visible
82
+ * facets. Catmull-Rom (kit/sampling) fixes that for 9 taps. Per mode:
83
+ * - stretch (0) / transparent (1): Catmull-Rom through `linearClamp` — the footprint clamps at
84
+ * the border, which is exactly what both modes want.
85
+ * - wrap (3): Catmull-Rom through `linearRepeat`, so taps that reach past the edge tile instead
86
+ * of clamping (no seam).
87
+ * - mirror (2): plain bilinear. There is no mirror-repeat sampler in the shared kit set, so a
88
+ * wide footprint would clamp across the reflection seam; not worth a sampler for the one mode.
89
+ *
90
+ * Distortions that are deliberately blocky (Pixelate), already low-pass (DiffuseBlur), or take
91
+ * many taps per pixel (chromatic splits) should keep the plain bilinear path.
92
+ */
93
+ export declare const sampleRemappedExpr: (tex: KitTexture, distortedUV: Expr, edgeMode: number) => Expr;
76
94
  //# sourceMappingURL=edges.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/edges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAO,CAAC,EAAM,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAC,GAAG,EAAE,GAAG,EAAC,MAAM,cAAc,CAAA;AAK1C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAIrC,6EAA6E;AAC7E,eAAO,MAAM,WAAW,oDAGtB,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,oDAQvB,CAAA;AAEF,8CAA8C;AAC9C,eAAO,MAAM,UAAU,oDAGrB,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,kDAK9B,CAAA;AAUF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,OAAQ,GAAG,YAAY,MAAM,KAAG,GAWzD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,gBACZ,GAAG,QACV,MAAM,YACF,MAAM,KACjB;IAAC,EAAE,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAKxB,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,gBACb,GAAG,gBACF,GAAG,UACT,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,YACvB,MAAM,KACjB,GAcF,CAAA;AAgBD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,OAAQ,IAAI,YAAY,MAAM,KAAG,IAW9D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,gBAAiB,IAAI,QAAQ,IAAI,YAAY,MAAM,KAAG;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAM3G,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,gBAAiB,IAAI,UAAU,CAAC,EAAE,EAAE,IAAI,KAAK,IAAI,YAAY,MAAM,KAAG,IASvG,CAAA"}
1
+ {"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/edges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAO,CAAC,EAAM,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAC,GAAG,EAAE,GAAG,EAAC,MAAM,cAAc,CAAA;AAM1C,OAAO,KAAK,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,aAAa,CAAA;AAIjD,6EAA6E;AAC7E,eAAO,MAAM,WAAW,oDAGtB,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,oDAQvB,CAAA;AAEF,8CAA8C;AAC9C,eAAO,MAAM,UAAU,oDAGrB,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,kDAK9B,CAAA;AAUF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,OAAQ,GAAG,YAAY,MAAM,KAAG,GAWzD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,gBACZ,GAAG,QACV,MAAM,YACF,MAAM,KACjB;IAAC,EAAE,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAKxB,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,gBACb,GAAG,gBACF,GAAG,UACT,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,YACvB,MAAM,KACjB,GAcF,CAAA;AAgBD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,OAAQ,IAAI,YAAY,MAAM,KAAG,IAW9D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,gBAAiB,IAAI,QAAQ,IAAI,YAAY,MAAM,KAAG;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAM3G,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,gBAAiB,IAAI,UAAU,CAAC,EAAE,EAAE,IAAI,KAAK,IAAI,YAAY,MAAM,KAAG,IASvG,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,QAAS,UAAU,eAAe,IAAI,YAAY,MAAM,KAAG,IAMzF,CAAA"}
@@ -32,6 +32,7 @@ export * as colorMixing from './colorMixing';
32
32
  export * as tonemap from './tonemap';
33
33
  export * as coords from './coords';
34
34
  export * as edges from './edges';
35
+ export * as sampling from './sampling';
35
36
  export * as uvTransform from './uvTransform';
36
37
  export * as kitTime from './time';
37
38
  export * as colorStops from './colorStops';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,cAAc,CAAA;AAK7D,OAAO,EAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAC,CAAA;AAErB;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,CAAA;AAE3D;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;AAC3C,wBAAgB,QAAQ,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;AAM3D;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAA;AACjF,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;AAC9E,wBAAgB,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;AAM1G;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAGlD;AAMD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,QAAQ,CAAA;AACjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAGhC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,cAAc,CAAA;AAK7D,OAAO,EAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAC,CAAA;AAErB;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,CAAA;AAE3D;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;AAC3C,wBAAgB,QAAQ,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;AAM3D;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAA;AACjF,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;AAC9E,wBAAgB,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;AAM1G;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAGlD;AAMD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,QAAQ,CAAA;AACjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAGhC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { d } from './index';
2
+ import { Expr, KitTexture, SharedSamplerName } from '../contract';
3
+
4
+ /**
5
+ * Catmull-Rom tap POSITIONS for one axis, in normalised (UV) space: `(pos0, pos12, pos3)`.
6
+ * `pos12` is offset off the texel centre so one bilinear tap covers the inner texel pair with the
7
+ * correct ratio. `uv` is that axis's UV; `texSize` that axis's size in texels.
8
+ */
9
+ export declare const catmullRomAxisPositions: import('typegpu').TgpuFn<(uv: d.F32, texSize: d.F32) => d.Vec3f>;
10
+ /**
11
+ * Catmull-Rom tap WEIGHTS for one axis: `(w0, w1 + w2, w3)`, matching
12
+ * `catmullRomAxisPositions`. Sums to 1 (the cubic is a partition of unity), so a 3×3 product
13
+ * of two axes' weights also sums to 1 — no renormalisation needed.
14
+ */
15
+ export declare const catmullRomAxisWeights: import('typegpu').TgpuFn<(uv: d.F32, texSize: d.F32) => d.Vec3f>;
16
+ /**
17
+ * Expr-level Catmull-Rom sample of `tex` at `uv` — a drop-in replacement for `tex.sample(uv)`
18
+ * on the RTT path of a distortion that can scale content up.
19
+ *
20
+ * Costs 9 bilinear taps instead of 1, so use it where reconstruction quality is the point (a
21
+ * magnifying distortion resampling composed content) and keep the plain bilinear sample
22
+ * everywhere content is moved around at ~1:1.
23
+ *
24
+ * Taps reach up to 1.5 texels beyond `uv`, and they go through the SAME sampler as `uv` itself
25
+ * — with `linearClamp` that means the footprint clamps at the texture border rather than
26
+ * wrapping, which is why the callers below only use this for the clamp/transparent edge modes.
27
+ *
28
+ * `range` bounds the cubic's ringing. `'positive'` (default) only kills undershoot below zero,
29
+ * which is all an HDR premultiplied RTT needs — overshoot there is the edge acutance we want, and
30
+ * the tonemap deals with the range. `'unit'` also clips overshoot above 1, for an LDR source whose
31
+ * channels are consumed as-is (a glyph atlas's alpha, where >1 would over-brighten the blend).
32
+ */
33
+ export declare const sampleCatmullRomExpr: (tex: KitTexture, uv: Expr, sampler?: SharedSamplerName, range?: "positive" | "unit") => Expr;
34
+ //# sourceMappingURL=sampling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sampling.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/sampling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAO,CAAC,EAAM,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAC,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAC,MAAM,aAAa,CAAA;AAGpE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,kEAYlC,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,kEAUhC,CAAA;AAKF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,QACxB,UAAU,MACX,IAAI,YACC,iBAAiB,UACnB,UAAU,GAAG,MAAM,KAC3B,IA2CF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"sdf.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/sdf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdf.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/sdf.ts"],"names":[],"mappings":"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"}
@@ -46,10 +46,20 @@ export interface BoundingBoxUVParams {
46
46
  */
47
47
  export declare const boundingBoxToUVParams: (bbox: BoundingBoxConfig, canvasWidth: number, canvasHeight: number) => BoundingBoxUVParams;
48
48
  /**
49
- * Returns 1 inside the rotated bounding-box rectangle, 0 outside (rounded-rect SDF, hard
50
- * edges). Rotation is aspect-corrected. The screen UV is the explicit `uv` arg.
49
+ * Returns 1 inside the rotated bounding-box rectangle, 0 outside (rounded-rect SDF).
50
+ * Rotation is aspect-corrected. The screen UV is the explicit `uv` arg.
51
+ *
52
+ * `aaFeather` is the HALF-WIDTH of the coverage ramp, in the same square space the SDF is
53
+ * measured in (x aspect-corrected, y = canvas-height UV) — so half a device pixel is
54
+ * `0.5 / viewportHeightPx`. The ramp is centred on the true edge, which means a pixel whose
55
+ * centre sits half a pixel inside reads a full 1.0 (no darkened border row on a box whose edge
56
+ * lands on the canvas edge) while a partially covered edge pixel gets fractional alpha instead
57
+ * of a binary one. `aaFeather <= 0` selects the legacy binary step exactly — including 1.0 ON the
58
+ * edge (`sdf == 0`), which the ramp reports as half coverage. Only worth asking for when the caller
59
+ * genuinely wants a binary mask, since a hard edge visibly stair-steps as soon as anything
60
+ * downstream (a distortion, a layer transform) magnifies it.
51
61
  */
52
- export declare const applyRectangularClipMask: import('typegpu').TgpuFn<(uv: d.Vec2f, centerX: d.F32, centerY: d.F32, halfWidth: d.F32, halfHeight: d.F32, cornerRadius: d.F32, rotation: d.F32, aspectRatio: d.F32) => d.F32>;
62
+ export declare const applyRectangularClipMask: import('typegpu').TgpuFn<(uv: d.Vec2f, centerX: d.F32, centerY: d.F32, halfWidth: d.F32, halfHeight: d.F32, cornerRadius: d.F32, rotation: d.F32, aspectRatio: d.F32, aaFeather: d.F32) => d.F32>;
53
63
  /**
54
64
  * Maps screen UV into the bounding box's local [0,1] space for the generator "resize" fit
55
65
  * mode (non-uniform fill of both axes, box centre → local 0.5,0.5, rotation applied).
@@ -1 +1 @@
1
- {"version":3,"file":"uvTransform.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/uvTransform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAO,CAAC,EAAM,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAA;AAElD,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAA;CACvD;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,cAAe,eAAe,GAAG,SAAS,KAAG,OAW5E,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,uKAyB3B,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,uKAwBlC,CAAA;AAEF;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,SACxB,iBAAiB,eACV,MAAM,gBACL,MAAM,KACrB,mBAuCF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,iLA2BnC,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,8JAqB1C,CAAA;AAEF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,OAAQ,MAAM,MAAM,MAAM,KAAK,gBAAgB,KAAG;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAWrG,CAAA;AAED,mGAAmG;AACnG,eAAO,MAAM,kBAAkB,OAAQ,MAAM,MAAM,MAAM,KAAK,gBAAgB,KAAG;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CASrG,CAAA"}
1
+ {"version":3,"file":"uvTransform.d.ts","sourceRoot":"","sources":["../../../src/gpu/kit/uvTransform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAO,CAAC,EAAM,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAA;AAElD,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAA;CACvD;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,cAAe,eAAe,GAAG,SAAS,KAAG,OAW5E,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,uKAyB3B,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,uKAwBlC,CAAA;AAEF;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,SACxB,iBAAiB,eACV,MAAM,gBACL,MAAM,KACrB,mBAuCF,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,mMAkCnC,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,8JAqB1C,CAAA;AAEF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,OAAQ,MAAM,MAAM,MAAM,KAAK,gBAAgB,KAAG;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAWrG,CAAA;AAED,mGAAmG;AACnG,eAAO,MAAM,kBAAkB,OAAQ,MAAM,MAAM,MAAM,KAAK,gBAAgB,KAAG;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CASrG,CAAA"}
@@ -12,7 +12,11 @@ export interface PassManagerOptions {
12
12
  canvasFormat?: GPUTextureFormat;
13
13
  /** RTT target format. Default `rgba16float`. */
14
14
  rttFormat?: GPUTextureFormat;
15
- /** Device sampled-texture-per-stage ceiling (assert + log, never throw). Default 16. */
15
+ /**
16
+ * Device sampled-texture-per-stage ceiling (assert + log, never throw). Defaults to the
17
+ * live `maxSampledTexturesPerShaderStage` limit, falling back to 16 — the WebGPU core
18
+ * MINIMUM — when the device doesn't report one.
19
+ */
16
20
  maxSampledTextures?: number;
17
21
  /** Vertex entry for the fullscreen pass. Default `common.fullScreenTriangle`. */
18
22
  fullScreenTriangle?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"passManager.d.ts","sourceRoot":"","sources":["../../src/gpu/passManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAS,KAAK,QAAQ,EAAE,KAAK,aAAa,EAA0B,MAAM,SAAS,CAAA;AAC1F,OAAO,KAAK,EAAC,aAAa,EAAe,MAAM,YAAY,CAAA;AAE3D,OAAO,KAAK,EAAC,cAAc,EAAE,aAAa,EAAyB,MAAM,YAAY,CAAA;AACrF,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAA;AA0BhD,MAAM,WAAW,kBAAkB;IAC/B,6CAA6C;IAC7C,cAAc,EAAE,cAAc,CAAA;IAC9B,gDAAgD;IAChD,UAAU,EAAE,iBAAiB,CAAA;IAC7B,2FAA2F;IAC3F,YAAY,CAAC,EAAE,gBAAgB,CAAA;IAC/B,gDAAgD;IAChD,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,wFAAwF;IACxF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,WAAW,WAAW;IACxB;;;;OAIG;IACH,cAAc,CACV,EAAE,EAAE,aAAa,EACjB,gBAAgB,EAAE,aAAa,GAAG,SAAS,EAC3C,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,EACrC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,CAAC,GACpE,IAAI,CAAA;IACP,0FAA0F;IAC1F,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;IACvD;;;;;;OAMG;IACH,UAAU,IAAI,IAAI,CAAA;IAClB,8DAA8D;IAC9D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,kDAAkD;IAClD,OAAO,IAAI,IAAI,CAAA;CAClB;AAID,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CA8U1F"}
1
+ {"version":3,"file":"passManager.d.ts","sourceRoot":"","sources":["../../src/gpu/passManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAS,KAAK,QAAQ,EAAE,KAAK,aAAa,EAA0B,MAAM,SAAS,CAAA;AAC1F,OAAO,KAAK,EAAC,aAAa,EAAe,MAAM,YAAY,CAAA;AAE3D,OAAO,KAAK,EAAC,cAAc,EAAE,aAAa,EAAyB,MAAM,YAAY,CAAA;AACrF,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAA;AA2BhD,MAAM,WAAW,kBAAkB;IAC/B,6CAA6C;IAC7C,cAAc,EAAE,cAAc,CAAA;IAC9B,gDAAgD;IAChD,UAAU,EAAE,iBAAiB,CAAA;IAC7B,2FAA2F;IAC3F,YAAY,CAAC,EAAE,gBAAgB,CAAA;IAC/B,gDAAgD;IAChD,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,WAAW,WAAW;IACxB;;;;OAIG;IACH,cAAc,CACV,EAAE,EAAE,aAAa,EACjB,gBAAgB,EAAE,aAAa,GAAG,SAAS,EAC3C,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,EACrC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,CAAC,GACpE,IAAI,CAAA;IACP,0FAA0F;IAC1F,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;IACvD;;;;;;OAMG;IACH,UAAU,IAAI,IAAI,CAAA;IAClB,8DAA8D;IAC9D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,kDAAkD;IAClD,OAAO,IAAI,IAAI,CAAA;CAClB;AAID,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAmV1F"}
@@ -22,6 +22,7 @@ export type { GpuUniformsMap, GpuUniformInput } from './index';
22
22
  export { expr, floatE, call, vec4, mixExpr, arrayExpr, ZERO, WHITE0 } from './composer';
23
23
  export { createGuardedCompute, type ComputeStep, type KitComputePipeline } from './compute';
24
24
  export { createStateBuffer, createPingPong, type PingPong } from './compute';
25
+ export { debugWarn, debugError } from './support';
25
26
  /**
26
27
  * The invisible ROOT node's definition — the shared passthrough every runtime entry point
27
28
  * (framework engines, js `createShader`, `presetRenderer`) registers as the tree root.
@@ -1 +1 @@
1
- {"version":3,"file":"porters.d.ts","sourceRoot":"","sources":["../../src/gpu/porters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAC,oBAAoB,EAAE,KAAK,sBAAsB,EAAC,MAAM,iBAAiB,CAAA;AACjF,YAAY,EAAC,cAAc,EAAE,eAAe,EAAC,MAAM,SAAS,CAAA;AAK5D,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,YAAY,CAAA;AAKrF,OAAO,EAAC,oBAAoB,EAAE,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAC,MAAM,WAAW,CAAA;AAIzF,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAC,MAAM,WAAW,CAAA;AAG1E,OAAO,KAAK,EAAC,IAAI,EAAE,mBAAmB,EAAoB,MAAM,YAAY,CAAA;AAE5E;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,mBAI7B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CACxB,MAAM,EAAE;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;CAAC,EACrD,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,GAAE,MAAoB,GAChC,IAAI,CAON"}
1
+ {"version":3,"file":"porters.d.ts","sourceRoot":"","sources":["../../src/gpu/porters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAC,oBAAoB,EAAE,KAAK,sBAAsB,EAAC,MAAM,iBAAiB,CAAA;AACjF,YAAY,EAAC,cAAc,EAAE,eAAe,EAAC,MAAM,SAAS,CAAA;AAK5D,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,YAAY,CAAA;AAKrF,OAAO,EAAC,oBAAoB,EAAE,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAC,MAAM,WAAW,CAAA;AAIzF,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAC,MAAM,WAAW,CAAA;AAO1E,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,MAAM,WAAW,CAAA;AAG/C,OAAO,KAAK,EAAC,IAAI,EAAE,mBAAmB,EAAoB,MAAM,YAAY,CAAA;AAE5E;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,mBAI7B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CACxB,MAAM,EAAE;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;CAAC,EACrD,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,GAAE,MAAoB,GAChC,IAAI,CAON"}
@@ -22,17 +22,39 @@ export interface RootContext {
22
22
  root: TgpuRoot;
23
23
  device: GPUDevice;
24
24
  adapter?: GPUAdapter;
25
- /** True when we requested the device (cleanup may destroy it); false for adopted devices. */
25
+ /**
26
+ * True only when this renderer EXCLUSIVELY owns the device and its `cleanup()` may
27
+ * destroy it. Always false today: an injected device belongs to the caller, and the
28
+ * default device is shared page-wide and must outlive any one renderer. Kept because it
29
+ * is part of the public `RootContext` shape and guards the destroy path.
30
+ */
26
31
  createdDevice: boolean;
32
+ /**
33
+ * Unsubscribe this renderer's device-loss callback. MUST be called from `cleanup()`: the
34
+ * default device outlives every renderer on it, so a missed release leaks the callback
35
+ * (and later fires it on a torn-down renderer) for the life of the page.
36
+ */
37
+ release?: () => void;
27
38
  }
28
39
  /**
29
- * Acquire a TgpuRoot, either around an injected device (shared-device path) or a freshly
30
- * requested one. SSR-safe: no `navigator.gpu` access happens until this is called.
40
+ * Acquire a TgpuRoot: around an injected device when the caller supplies one, otherwise
41
+ * around the shared page-wide default (see the module header). SSR-safe: no `navigator.gpu`
42
+ * access happens until this is called.
31
43
  *
32
- * @throws when creating our own device and WebGPU is unavailable — this renderer is
44
+ * @throws {GpuUnavailableError} when a device can't be obtained — this renderer is
33
45
  * WebGPU-only, there is no fallback.
34
46
  */
35
47
  export declare function acquireRoot(options?: AcquireRootOptions): Promise<RootContext>;
48
+ /**
49
+ * Destroy the shared default device and forget it, so the next acquire builds a fresh one.
50
+ *
51
+ * Nothing in the library calls this — the default device is meant to outlive components (see
52
+ * the module header). It exists for tests and for hosts that genuinely want to reclaim GPU
53
+ * memory when they know no shader will mount again.
54
+ */
55
+ export declare function destroyDefaultGpuDevice(): void;
56
+ /** Testing seam — drop the cached default root WITHOUT destroying it. */
57
+ export declare function __resetDefaultRoot(): void;
36
58
  /**
37
59
  * Create and configure a WebGPU context for a canvas. Each canvas gets its own context
38
60
  * even when several share a device. Output is `premultiplied` by default; shaders
@@ -1 +1 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/gpu/root.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAa,EAAC,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAA;AA2C3C,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;CACnD;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,6FAA6F;IAC7F,aAAa,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAgDxF;AAiBD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAM,GAC1E,gBAAgB,CAMlB;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAExE"}
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/gpu/root.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAa,EAAC,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAA;AA2D3C,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;CACnD;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB;;;;;OAKG;IACH,aAAa,EAAE,OAAO,CAAA;IACtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAwBxF;AAyCD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAuB9C;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAqCD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAM,GAC1E,gBAAgB,CAMlB;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAExE"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * WebGPU availability probing + the library's quiet-by-default diagnostics channel.
3
+ *
4
+ * Shaders is WebGPU-only. On a browser/driver that can't provide a working device the
5
+ * ONLY acceptable outcome is a transparent canvas and a silent console — a decorative
6
+ * background must never break the page it decorates, and must never fill a partner's
7
+ * console with errors they can do nothing about. Every "the GPU can't do this" path in
8
+ * the renderer therefore funnels through here:
9
+ *
10
+ * - {@link isWebGPUSupported} / {@link getWebGPUSupport} let hosts branch BEFORE mounting.
11
+ * - {@link GpuUnavailableError} carries a machine-readable {@link GpuFailureReason}.
12
+ * - {@link debugWarn} / {@link debugError} are no-ops unless debugging is explicitly
13
+ * switched on, so production consoles stay clean while developers keep a way in.
14
+ *
15
+ * SSR-safe: nothing here touches `navigator` / `localStorage` at import time.
16
+ */
17
+ /**
18
+ * Why the renderer can't (or can no longer) draw. Surfaced to hosts via
19
+ * `setOnUnavailable` and to `createShader`'s `onError`.
20
+ */
21
+ export type GpuFailureReason =
22
+ /** The browser has no WebGPU at all (`navigator.gpu` is undefined). */
23
+ 'unsupported'
24
+ /** WebGPU exists but no adapter was granted (blocklisted driver, headless, no GPU). */
25
+ | 'no-adapter'
26
+ /** An adapter exists but `requestDevice` failed or returned a dead device. */
27
+ | 'no-device'
28
+ /** Anything else threw while starting the renderer. */
29
+ | 'init-failed'
30
+ /** The device was lost after a successful start and no host recovery is wired up. */
31
+ | 'device-lost'
32
+ /** The GPU refused an allocation (`GPUOutOfMemoryError`). */
33
+ | 'out-of-memory'
34
+ /** Sustained uncaptured/internal device errors — the device is not usable. */
35
+ | 'gpu-error'
36
+ /** Repeated exceptions while composing or drawing. */
37
+ | 'render-failed'
38
+ /**
39
+ * The composition needs more of some GPU resource than this device allows (today: more
40
+ * uniform bytes than `maxUniformBufferBindingSize`). Unlike the other reasons this one is
41
+ * about the CONTENT, not the browser — a smaller composition would run fine here.
42
+ */
43
+ | 'limit-exceeded';
44
+ /** An error whose cause is "this environment cannot run WebGPU", not "we have a bug". */
45
+ export declare class GpuUnavailableError extends Error {
46
+ readonly reason: GpuFailureReason;
47
+ constructor(reason: GpuFailureReason, message?: string, options?: {
48
+ cause?: unknown;
49
+ });
50
+ }
51
+ /**
52
+ * Structural test for {@link GpuUnavailableError}, used instead of `instanceof`.
53
+ *
54
+ * `instanceof` compares class identity, which silently breaks whenever the same source file
55
+ * ends up as two module records — a bundler splitting `support` into its own chunk, or a
56
+ * test/build alias resolving `./support` and `@coreroot/gpu/support` to different specifiers.
57
+ * The failure mode is nasty: a definite "this device can't do it" verdict gets misread as a
58
+ * generic error and retried. Duck-typing the shape is stable across all of that.
59
+ */
60
+ export declare function isGpuUnavailableError(error: unknown): error is GpuUnavailableError;
61
+ /**
62
+ * Turn Shaders' diagnostic logging on/off at runtime. Off by default — a page that can't
63
+ * run WebGPU gets a transparent canvas and NOTHING in the console.
64
+ *
65
+ * Also enabled (without calling this) by either of:
66
+ * - `globalThis.__SHADERS_DEBUG__ = true`
67
+ * - `localStorage.setItem('shaders:debug', '1')`
68
+ *
69
+ * @param enabled `true`/`false` to force, `null` to fall back to the globals above.
70
+ */
71
+ export declare function setShadersDebug(enabled: boolean | null): void;
72
+ /** Whether diagnostic logging is currently switched on. */
73
+ export declare function isShadersDebug(): boolean;
74
+ /** `console.warn` that only speaks when debugging is on. */
75
+ export declare function debugWarn(...args: unknown[]): void;
76
+ /** `console.error` that only speaks when debugging is on. */
77
+ export declare function debugError(...args: unknown[]): void;
78
+ /**
79
+ * Cheap synchronous check: does this browser expose the WebGPU API at all?
80
+ *
81
+ * `true` here does NOT guarantee a device can be created (a driver may be blocklisted, or
82
+ * the adapter request may be denied) — it only rules out browsers with no WebGPU. Use it
83
+ * to skip mounting shader UI entirely; use {@link getWebGPUSupport} when you need
84
+ * certainty before committing to a layout.
85
+ *
86
+ * SSR → `false`.
87
+ */
88
+ export declare function isWebGPUSupported(): boolean;
89
+ /** Result of the full async support probe. */
90
+ export interface WebGPUSupportInfo {
91
+ /** True only when an adapter was actually granted. */
92
+ supported: boolean;
93
+ /** Why not, when `supported` is false. */
94
+ reason?: GpuFailureReason;
95
+ }
96
+ /**
97
+ * Full availability probe — asks the browser for an adapter and caches the answer for the
98
+ * lifetime of the page. Requesting an adapter is cheap and side-effect-free (it does not
99
+ * create a device), and browsers memoize it internally.
100
+ *
101
+ * Use this when a host needs to decide between a shader and a static fallback before
102
+ * painting. The renderer itself only calls it on the failure path, to attribute a reason.
103
+ */
104
+ export declare function getWebGPUSupport(): Promise<WebGPUSupportInfo>;
105
+ /** Testing seam — drop the cached probe result. */
106
+ export declare function __resetWebGPUSupportProbe(): void;
107
+ /**
108
+ * Record a failure that rules out WebGPU for the whole page. No-op for reasons that are
109
+ * specific to a single renderer.
110
+ */
111
+ export declare function markGpuUnusable(reason: GpuFailureReason): void;
112
+ /**
113
+ * Why WebGPU is off the table for this page, or `null`. Renderers check this before asking
114
+ * for a device — already-running renderers are untouched, we simply stop starting new ones.
115
+ */
116
+ export declare function getGpuUnusableReason(): GpuFailureReason | null;
117
+ /** Testing seam — clear the page-level latch. */
118
+ export declare function __resetGpuUnusable(): void;
119
+ //# sourceMappingURL=support.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../src/gpu/support.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;GAGG;AACH,MAAM,MAAM,gBAAgB;AACxB,uEAAuE;AACrE,aAAa;AACf,uFAAuF;GACrF,YAAY;AACd,8EAA8E;GAC5E,WAAW;AACb,uDAAuD;GACrD,aAAa;AACf,qFAAqF;GACnF,aAAa;AACf,6DAA6D;GAC3D,eAAe;AACjB,8EAA8E;GAC5E,WAAW;AACb,sDAAsD;GACpD,eAAe;AACjB;;;;GAIG;GACD,gBAAgB,CAAA;AAEtB,yFAAyF;AACzF,qBAAa,mBAAoB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;gBACrB,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAC;CAMtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAOlF;AAQD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAE7D;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,IAAI,OAAO,CAUxC;AAED,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAElD;AAED,6DAA6D;AAC7D,wBAAgB,UAAU,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAEnD;AAMD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAC9B,sDAAsD;IACtD,SAAS,EAAE,OAAO,CAAA;IAClB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,gBAAgB,CAAA;CAC5B;AAID;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAgB7D;AAED,mDAAmD;AACnD,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AA0BD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAG9D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,GAAG,IAAI,CAE9D;AAED,iDAAiD;AACjD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"uniformStore.d.ts","sourceRoot":"","sources":["../../src/gpu/uniformStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uniformStore.d.ts","sourceRoot":"","sources":["../../src/gpu/uniformStore.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,13 @@
5
5
  * You may use Shaders freely for personal or production usage, but redistribution, creating competing tools, SaaS use without an OEM agreement, and publishing exported code as public libraries are prohibited (see [LICENSE](./LICENSE) Section 4 for full terms).
6
6
  */
7
7
  export { shaderRendererGPU } from './gpu/index';
8
+ export { destroyDefaultGpuDevice } from './gpu/root';
8
9
  export { createGpuUniformsMap } from './gpu/uniformBridge';
9
10
  export { rootPassthrough } from './gpu/porters';
10
11
  export type { GpuUniformsMap, GpuUniformInput } from './gpu/index';
11
12
  export type { GpuShaderDefinition } from './gpu/contract';
13
+ export { isWebGPUSupported, getWebGPUSupport, setShadersDebug, isShadersDebug, GpuUnavailableError, isGpuUnavailableError, debugWarn, debugError } from './gpu/support';
14
+ export type { GpuFailureReason, WebGPUSupportInfo } from './gpu/support';
12
15
  export { createRendererFromJSON } from './presetRenderer';
13
16
  export type { PresetConfig, ComponentConfig, PresetRendererOptions, GPUContext } from './presetRenderer';
14
17
  export { resolveMaskDependencies } from './maskResolution';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,UAAU,EACX,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAChF,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC/K,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACjF,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGlF,YAAY,EAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,uBAAuB,EAAC,MAAM,SAAS,CAAA;AAC/Y,YAAY,EAAC,SAAS,EAAC,MAAM,SAAS,CAAA;AACtC,YAAY,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAG/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAKzD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EAGrB,SAAS,EACT,UAAU,EACX,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,UAAU,EACX,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAChF,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC/K,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACjF,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGlF,YAAY,EAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,uBAAuB,EAAC,MAAM,SAAS,CAAA;AAC/Y,YAAY,EAAC,SAAS,EAAC,MAAM,SAAS,CAAA;AACtC,YAAY,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAA"}