shaders 3.0.451 → 3.0.453

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 (519) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/core/{AngularBlur-4jt7bNoF.js → AngularBlur-B0m-LKoD.js} +2 -2
  3. package/dist/core/{Arc-DXIfbBgd.js → Arc-DhhcsMqr.js} +3 -3
  4. package/dist/core/{Ascii-GDof03Ca.js → Ascii-BiFuRRQ1.js} +2 -2
  5. package/dist/core/{Aurora-CS4vewUW.js → Aurora-B35I8qRz.js} +4 -4
  6. package/dist/core/{BarShift-BtnYLQ0B.js → BarShift-C_waFkRO.js} +3 -3
  7. package/dist/core/{BarnDoors-Dw9K-amf.js → BarnDoors-Cnyfsla8.js} +2 -2
  8. package/dist/core/{Beam-D_cyaMjJ.js → Beam-BPBmQMGD.js} +2 -2
  9. package/dist/core/{Bend-CSs5UIh8.js → Bend-Bq1Qlhq4.js} +2 -2
  10. package/dist/core/{Blob-h25zA5WH.js → Blob-BtInePsq.js} +3 -3
  11. package/dist/core/{BlockDissolve-CKN_KvLP.js → BlockDissolve-i8V6gmZw.js} +3 -3
  12. package/dist/core/{BlockNoise-DhKyd_F7.js → BlockNoise-BfDNfyBP.js} +5 -5
  13. package/dist/core/{BlueNoise-Auhzq4x5.js → BlueNoise-CNLIGPMW.js} +4 -4
  14. package/dist/core/{Blur-CcxMqYsu.js → Blur-B8NcZJdr.js} +3 -3
  15. package/dist/core/{Boids-D51U46GF.js → Boids-D51ZdvH0.js} +5 -5
  16. package/dist/core/{BokehBlur-Cfaqbh3I.js → BokehBlur-DO4V8nZ-.js} +4 -4
  17. package/dist/core/{BrickPattern-tASwilX0.js → BrickPattern-D21Nqxcj.js} +3 -3
  18. package/dist/core/{BrightnessContrast-ZCKqJW7i.js → BrightnessContrast-QxVeVMih.js} +1 -1
  19. package/dist/core/{BrushedMetal-B6gSVB28.js → BrushedMetal-Xq4jMVz1.js} +142 -35
  20. package/dist/core/{Bulge-dCYtWP4S.js → Bulge-CdCqTfrp.js} +2 -2
  21. package/dist/core/{CRTScreen-CVY1lOGL.js → CRTScreen-D7WSk5fJ.js} +1 -1
  22. package/dist/core/{CarbonFiber-Do9EONKv.js → CarbonFiber-Dg-XleHg.js} +141 -34
  23. package/dist/core/{Chalkboard-0hyyGnYl.js → Chalkboard-B_YRavSR.js} +2 -2
  24. package/dist/core/{ChannelBlur-DcZKCKXi.js → ChannelBlur-BmEILWdn.js} +2 -2
  25. package/dist/core/{CheckerWipe-BIE62tJ1.js → CheckerWipe-Dbt7TTDK.js} +2 -2
  26. package/dist/core/{Checkerboard-CRnfu63u.js → Checkerboard-BnWdSZLM.js} +2 -2
  27. package/dist/core/{Chevron-Ld_v4z9T.js → Chevron-DsJK3THV.js} +3 -3
  28. package/dist/core/{ChromaFlow-CTWeauIr.js → ChromaFlow-Bj4rfeWl.js} +2 -2
  29. package/dist/core/{ChromaticAberration-CxuOb68m.js → ChromaticAberration-C2UtSgN3.js} +2 -2
  30. package/dist/core/Chrome-CSrC5yk_.js +3692 -0
  31. package/dist/core/{Circle-XP1B5rsN.js → Circle-CJ4IbgBH.js} +3 -3
  32. package/dist/core/{ColorWheel-CFU_OmOW.js → ColorWheel-C_YLOL93.js} +3 -3
  33. package/dist/core/{CompressionArtifacts-Bc9xTdQP.js → CompressionArtifacts-BXto-pLr.js} +2 -2
  34. package/dist/core/{ConcentricSpin-DTJytpAk.js → ConcentricSpin-1tArUXYX.js} +3 -3
  35. package/dist/core/{ConicGradient-C-4uDmQj.js → ConicGradient-Tw-pg593.js} +3 -3
  36. package/dist/core/{ContourLines-C8p6f-1y.js → ContourLines-CBFm0hjl.js} +2 -2
  37. package/dist/core/{CornerPin-CB92kX10.js → CornerPin-BNgPHIHY.js} +2 -2
  38. package/dist/core/{Crescent-Dk4nlG8T.js → Crescent-BKcpTzwd.js} +3 -3
  39. package/dist/core/{Cross-DsnI1U8g.js → Cross-CDUSIOgx.js} +3 -3
  40. package/dist/core/{Crystal-CR_sG2y7.js → Crystal-DN2WgBrm.js} +6 -6
  41. package/dist/core/{CurlNoise-DJ27ih0F.js → CurlNoise-RsATuC8w.js} +5 -5
  42. package/dist/core/{CursorRipples-CuO3sZga.js → CursorRipples-DbtJtDDl.js} +3 -3
  43. package/dist/core/{CursorTrail-d4xx4QpM.js → CursorTrail-yoPFtwk9.js} +4 -4
  44. package/dist/core/{DataMosh-BhvE-2yC.js → DataMosh-DabFQ-B5.js} +2 -2
  45. package/dist/core/{DiamondGradient-CtOVKrYf.js → DiamondGradient-DbaUt2tC.js} +3 -3
  46. package/dist/core/{DiamondWipe-D-yiQBVj.js → DiamondWipe-Jth0vS7V.js} +2 -2
  47. package/dist/core/{DiffuseBlur-BDf-Czxz.js → DiffuseBlur-BZxj-iAt.js} +2 -2
  48. package/dist/core/{DisplacementMap-B_jf_2lj.js → DisplacementMap-31H7QPQl.js} +2 -2
  49. package/dist/core/{Dither-D3P6EJU8.js → Dither-BN-zSZ0l.js} +2 -2
  50. package/dist/core/{DotGrid-BnSVhJlh.js → DotGrid-BRDFAkBz.js} +3 -3
  51. package/dist/core/{DropShadow-BSKVH3n3.js → DropShadow-_lFvglPh.js} +2 -2
  52. package/dist/core/{Duotone-DfjYuK2u.js → Duotone-BhxXqh0S.js} +2 -2
  53. package/dist/core/{Ellipse-D7_1QKaa.js → Ellipse-NdZQjjl7.js} +3 -3
  54. package/dist/core/{Emboss-ZiPslqzl.js → Emboss--yOZdnyf.js} +5 -5
  55. package/dist/core/{Engraving-DsfkKajz.js → Engraving-B26NgnCE.js} +3 -3
  56. package/dist/core/{ErosionNoise-SELArv9H.js → ErosionNoise-_uC5Hx2q.js} +4 -4
  57. package/dist/core/{Exposure-A7WlTOti.js → Exposure-BM3eE3ol.js} +1 -1
  58. package/dist/core/{FallingLines-9PRMb_Ou.js → FallingLines-BuczyepF.js} +3 -3
  59. package/dist/core/{FilmGrain-SXzVDesw.js → FilmGrain-Dyy76ena.js} +1 -1
  60. package/dist/core/{FilmStock-RK4fk4m0.js → FilmStock-mi-H3Ul9.js} +3 -3
  61. package/dist/core/{Flip-DjoNWG4v.js → Flip-rZzkYscj.js} +2 -2
  62. package/dist/core/{FloatingParticles-D7vUF5g7.js → FloatingParticles-BbbTJldX.js} +5 -5
  63. package/dist/core/{FlowField-tHrXhd1b.js → FlowField-u0qYoqV2.js} +4 -4
  64. package/dist/core/{Flower-BfehbmmG.js → Flower--rN6c2HY.js} +3 -3
  65. package/dist/core/{FlowingGradient-BTKjkx5F.js → FlowingGradient-_zyM9KQn.js} +98 -13
  66. package/dist/core/{FlutedGlass-uFT7iy_9.js → FlutedGlass-C9-K6UQ7.js} +3 -3
  67. package/dist/core/{Fog-Cu1CMATa.js → Fog-2iNe3zZl.js} +3 -3
  68. package/dist/core/{Form3D-D0ji-MeC.js → Form3D-Dmvpcqp1.js} +3 -3
  69. package/dist/core/{FractalNoise-D9HYiOdr.js → FractalNoise-C8uudMNt.js} +5 -5
  70. package/dist/core/{Frost-DQZZxdTk.js → Frost-DV2zJSAL.js} +7 -7
  71. package/dist/core/{GaborNoise-D7BP0K4g.js → GaborNoise-Bty1hWmn.js} +5 -5
  72. package/dist/core/{Glass-CzCVnGn-.js → Glass-CYmFGP1b.js} +6 -6
  73. package/dist/core/{GlassTiles-DJzPPqwz.js → GlassTiles-B3vyGos-.js} +1 -1
  74. package/dist/core/{Glitch-D1Dx8__X.js → Glitch-DcjdwJep.js} +1 -1
  75. package/dist/core/{Glow-Bd9_o_Kv.js → Glow-D_nSsYo1.js} +3 -3
  76. package/dist/core/{Godrays-DRPRWGPm.js → Godrays-lPn_O_W-.js} +3 -3
  77. package/dist/core/{Goo-28A_pNBg.js → Goo-DxEB8kMF.js} +6 -6
  78. package/dist/core/{GradientMap-D8dv-1AX.js → GradientMap-7G6EOwy8.js} +2 -2
  79. package/dist/core/{Grayscale-BlVXBVwW.js → Grayscale-BJz0olll.js} +1 -1
  80. package/dist/core/{Grid-D9vlHvs1.js → Grid-D8ewrixy.js} +2 -2
  81. package/dist/core/{GridDistortion-BpqDvqj6.js → GridDistortion-CSBRousF.js} +3 -3
  82. package/dist/core/{Group-bwQnJRec.js → Group-BSg6a8Ro.js} +1 -1
  83. package/dist/core/{HTMLInCanvas-gCf64ozE.js → HTMLInCanvas-DnQ0ZY38.js} +1 -1
  84. package/dist/core/{Halftone-B_WouxiP.js → Halftone-B2C55h6_.js} +2 -2
  85. package/dist/core/{Heart-Bmt2TLNz.js → Heart-0eDZ50ZK.js} +3 -3
  86. package/dist/core/{Heatmap-Ruef741_.js → Heatmap-BdExXQBU.js} +7 -7
  87. package/dist/core/{HexGrid-By9k0YuI.js → HexGrid-B6UygS6q.js} +2 -2
  88. package/dist/core/{Hologram-Cf25ONOE.js → Hologram-D_eqqb8P.js} +7 -7
  89. package/dist/core/{Holographic-C9RzYykt.js → Holographic-Ctrsya3k.js} +7 -7
  90. package/dist/core/{HueShift-V3gQVuIo.js → HueShift-CFXxhPpm.js} +1 -1
  91. package/dist/core/{ImageTexture-DAUR2N5Q.js → ImageTexture-B5oPuXeI.js} +3 -3
  92. package/dist/core/{InkFlow-DlP1gmr4.js → InkFlow-C7l_qlaJ.js} +3 -3
  93. package/dist/core/{Invert-K648khvD.js → Invert-Bya7lBpK.js} +1 -1
  94. package/dist/core/{IrisWipe-Clkd_5CA.js → IrisWipe-Dg9iiTjF.js} +2 -2
  95. package/dist/core/{IsometricCubes-CzfAwpQ5.js → IsometricCubes-CC-l8cnR.js} +2 -2
  96. package/dist/core/{Kaleidoscope-B9k6HkNn.js → Kaleidoscope-DhvQTJdp.js} +2 -2
  97. package/dist/core/{KeyFrames-DX6JFhsy.js → KeyFrames-ZTsc7rtN.js} +3 -3
  98. package/dist/core/{LensDistortion-DG4VHEXV.js → LensDistortion-KiZJXFKC.js} +2 -2
  99. package/dist/core/{LensFlare-DO5lm--6.js → LensFlare-D5fr8RPA.js} +3 -3
  100. package/dist/core/{LightEdge-CxWsQwpZ.js → LightEdge-D0NOWDh7.js} +7 -7
  101. package/dist/core/{LightLeak-tGJW6l2_.js → LightLeak-DdaidQ1D.js} +4 -4
  102. package/dist/core/Line-B5DIIWBz.js +1428 -0
  103. package/dist/core/{LinearBlur-OmZcUden.js → LinearBlur-CyQxSLS2.js} +2 -2
  104. package/dist/core/{LinearGradient-DDqFujWC.js → LinearGradient-B8tyawJy.js} +3 -3
  105. package/dist/core/{LinearWipe-BzthBFNb.js → LinearWipe-D5UkI1cK.js} +2 -2
  106. package/dist/core/{LiquidMetal-DpRAJ5Ne.js → LiquidMetal-vARkyRL2.js} +230 -41
  107. package/dist/core/{Liquify-BVzmuY6D.js → Liquify-Djnk6ryT.js} +3 -3
  108. package/dist/core/{MagneticFilings-BP1KyU2C.js → MagneticFilings-BfTe8-Jn.js} +5 -5
  109. package/dist/core/{Marble-abj97ioG.js → Marble-3s7VS-tT.js} +4 -4
  110. package/dist/core/{Mirror-BYqbXWUj.js → Mirror-Ck4Hzdd8.js} +2 -2
  111. package/dist/core/{MultiPointGradient-DZZSkiDv.js → MultiPointGradient-CdzqMTN9.js} +2 -2
  112. package/dist/core/{Neon-DD8qY6H9.js → Neon-B8iSfL5s.js} +5 -5
  113. package/dist/core/{NoiseDissolve-DSkh5NdD.js → NoiseDissolve-Df70NgHI.js} +3 -3
  114. package/dist/core/{ObjectTracker-DvQF31-0.js → ObjectTracker-CFpotAyg.js} +3 -3
  115. package/dist/core/{PagePeel-DWtgqWdt.js → PagePeel-Bmc4hBhO.js} +1 -1
  116. package/dist/core/{Paper-DGzZsv79.js → Paper-af7JgKOt.js} +2 -2
  117. package/dist/core/{Parallelogram-Ce0Pg7DX.js → Parallelogram-D7bW1gMV.js} +3 -3
  118. package/dist/core/{ParticleField-CgCOigET.js → ParticleField-FPUBkJmo.js} +4 -4
  119. package/dist/core/{ParticleFlow-CRQhvYQx.js → ParticleFlow-DfdDvN-j.js} +5 -5
  120. package/dist/core/{Particles-fKk9qTkl.js → Particles-DZaTzOZP.js} +7 -7
  121. package/dist/core/{PerlinNoise-DIFK1BpN.js → PerlinNoise-DPaPG55C.js} +5 -5
  122. package/dist/core/{Perspective-CDNz_7y5.js → Perspective-DBzb7DC9.js} +2 -2
  123. package/dist/core/{PixelSort-sgh5ghCc.js → PixelSort-sqoLBmqR.js} +2 -2
  124. package/dist/core/{PixelThrow-CXtB4Am2.js → PixelThrow-arRYRlCO.js} +2 -2
  125. package/dist/core/{Pixelate-BSOzwVHo.js → Pixelate-Ba_iNPwv.js} +1 -1
  126. package/dist/core/{Plasma-G6Hl__3L.js → Plasma-zC1y0At6.js} +4 -4
  127. package/dist/core/{Plastic-B6F2WeaX.js → Plastic-C-NBXCG-.js} +7 -7
  128. package/dist/core/{PolarCoordinates-Bi99omfI.js → PolarCoordinates-CjV_EFpN.js} +2 -2
  129. package/dist/core/{Polygon-BFxoe-Fg.js → Polygon-0kVtkdec.js} +3 -3
  130. package/dist/core/{Posterize-DxiCXLUL.js → Posterize-BUt2MAqY.js} +1 -1
  131. package/dist/core/{Prism-D6J-acZf.js → Prism-BBSdqnRm.js} +3 -3
  132. package/dist/core/{ProgressiveBlur-Bko6UMxQ.js → ProgressiveBlur-CQhyaOwl.js} +4 -4
  133. package/dist/core/{RadialGradient-B_Dgxs9_.js → RadialGradient-BXLBHnCC.js} +3 -3
  134. package/dist/core/{RadialWipe-U9n5aeiJ.js → RadialWipe-DfJ3dL7p.js} +2 -2
  135. package/dist/core/{RandomBars-U_zpGDJh.js → RandomBars-B-EaAz9c.js} +3 -3
  136. package/dist/core/{ReactionDiffusion-I9xj-iK_.js → ReactionDiffusion-r1qHYWoB.js} +3 -3
  137. package/dist/core/{RectangularCoordinates-DX6wutjX.js → RectangularCoordinates-CFGiELUv.js} +2 -2
  138. package/dist/core/{ReflectivePlane-DU9pf-7H.js → ReflectivePlane-BbKUjtUs.js} +4 -4
  139. package/dist/core/{Repeater-kCIaHHFy.js → Repeater-DZhhgwMr.js} +2 -2
  140. package/dist/core/{Ring-B_tYq3KV.js → Ring-DFxV0XzX.js} +3 -3
  141. package/dist/core/{RippleWipe-DCgZZ4VT.js → RippleWipe-DFh-8SmT.js} +2 -2
  142. package/dist/core/{Ripples-BDhMh7XC.js → Ripples-BG24IcNH.js} +3 -3
  143. package/dist/core/{RoundedRect-9b3REf2d.js → RoundedRect-B2EDoIqT.js} +3 -3
  144. package/dist/core/{Saturation-CcblT031.js → Saturation-DKbtxVNf.js} +1 -1
  145. package/dist/core/{Scratches-Rzk27V6D.js → Scratches-C40D6A1_.js} +5 -5
  146. package/dist/core/{Sharpness-ClLOnNR8.js → Sharpness-DygCiVsY.js} +1 -1
  147. package/dist/core/{Shatter-CLI896c7.js → Shatter-eVP3Mt9W.js} +3 -3
  148. package/dist/core/{SimplexNoise-98RPhPzU.js → SimplexNoise-HorjLzId.js} +5 -5
  149. package/dist/core/{SineWave-BZPrTdYD.js → SineWave-CTIhqhO-.js} +3 -3
  150. package/dist/core/{SliceWipe-BR5Qr38C.js → SliceWipe-D3yX3CAm.js} +1 -1
  151. package/dist/core/{Smoke-DoW6Brlo.js → Smoke-CFr-A3JD.js} +4 -4
  152. package/dist/core/{SmokeFill-CXHhKX8u.js → SmokeFill-DglhxF4x.js} +6 -6
  153. package/dist/core/{SmokeFlow-mRJ_JcnZ.js → SmokeFlow-CC1tfLRh.js} +4 -4
  154. package/dist/core/{Solarize-BNCG4TCa.js → Solarize-wvgIpPSb.js} +1 -1
  155. package/dist/core/{SolidColor-dYxjV0YF.js → SolidColor-CQ9bQ-k6.js} +1 -1
  156. package/dist/core/{Spherize-6d5WZIZV.js → Spherize-N33ACzeM.js} +2 -2
  157. package/dist/core/{Spiral-IOZ-Zm0_.js → Spiral-NeLWfZ6k.js} +3 -3
  158. package/dist/core/{Star-D9txpy4P.js → Star-DqkPHXlP.js} +3 -3
  159. package/dist/core/{Stone-H2qLOvGJ.js → Stone-mVzuC5SK.js} +2 -2
  160. package/dist/core/{Strands-Db6_uJAi.js → Strands-C19HsqO_.js} +3 -3
  161. package/dist/core/{Stretch-BIFeD7-1.js → Stretch-CAGlZjVf.js} +2 -2
  162. package/dist/core/{Stripes-5YZhE4bc.js → Stripes-DH9wZV3F.js} +3 -3
  163. package/dist/core/{StudioBackground-B16ICQTt.js → StudioBackground-DPsj_N10.js} +352 -403
  164. package/dist/core/{SunBurst-DSUFLqjC.js → SunBurst-D5p0QAnh.js} +3 -3
  165. package/dist/core/{Surface3D-BoliMAeJ.js → Surface3D-HSAAGomd.js} +4 -4
  166. package/dist/core/{Swirl-CozBN2cj.js → Swirl-C1lH2gAk.js} +3 -3
  167. package/dist/core/{Teardrop-D8uqqHu8.js → Teardrop-b8XQR6NO.js} +3 -3
  168. package/dist/core/{Text-Dka9dwCa.js → Text-DPjLa6Eh.js} +3 -3
  169. package/dist/core/{ThinFilm-d7IlUY62.js → ThinFilm-DhpK-SoR.js} +5 -5
  170. package/dist/core/{TiltShift-CNc1M7bT.js → TiltShift-e57KIilk.js} +4 -4
  171. package/dist/core/{TimeTrail-BFuqrI-l.js → TimeTrail-CYofyeeE.js} +3 -3
  172. package/dist/core/{Tint-BzCm1m93.js → Tint-DBM82OkZ.js} +2 -2
  173. package/dist/core/{Trapezoid-Dc6dpnCU.js → Trapezoid-DaIBhsop.js} +3 -3
  174. package/dist/core/{TriangularGrid-BMemTQ8X.js → TriangularGrid-CBOVJOcR.js} +3 -3
  175. package/dist/core/{Tritone-XnyfjYXL.js → Tritone-D6Dur2eo.js} +2 -2
  176. package/dist/core/{Truchet-DUbAZPvr.js → Truchet-sunCQd_E.js} +2 -2
  177. package/dist/core/{Twirl-Dj6ZOh7V.js → Twirl-D3-3HSuS.js} +2 -2
  178. package/dist/core/{VHS-DcN38Sa-.js → VHS-DtyeGxi8.js} +1 -1
  179. package/dist/core/{VenetianBlinds-Dsix9S6Y.js → VenetianBlinds-H8OVGxhT.js} +2 -2
  180. package/dist/core/{Vesica-BvLPrNBY.js → Vesica-C8MrL_up.js} +3 -3
  181. package/dist/core/{Vibrance-B3F1IOJC.js → Vibrance-B8gBhQS7.js} +1 -1
  182. package/dist/core/{VideoTexture-rZnbkY1j.js → VideoTexture--U8aiyP1.js} +2 -2
  183. package/dist/core/{Vignette-D747S9Un.js → Vignette-yIXlpfCE.js} +2 -2
  184. package/dist/core/{Voronoi-tdjJp1Yz.js → Voronoi-BW4RE3MQ.js} +3 -3
  185. package/dist/core/{Water-wnYFmeVF.js → Water-uLbQQrt-.js} +7 -7
  186. package/dist/core/{Watercolor-DlrWTnkX.js → Watercolor-CcZ0fVEu.js} +3 -3
  187. package/dist/core/{WaveDistortion-11QwOfVR.js → WaveDistortion-DasSsVxv.js} +3 -3
  188. package/dist/core/{WaveletNoise-DWOzHG3M.js → WaveletNoise-DpRWc5Qw.js} +5 -5
  189. package/dist/core/{Weave-CdGwj7cZ.js → Weave-CLGYIcmf.js} +2 -2
  190. package/dist/core/{WebcamTexture-CihYSbzd.js → WebcamTexture--GTVU-Bm.js} +3 -3
  191. package/dist/core/{Wool-DKCBMabi.js → Wool-uy61uieK.js} +2 -2
  192. package/dist/core/{WorleyNoise-BjD32UOl.js → WorleyNoise-i7i0azT8.js} +3 -3
  193. package/dist/core/{ZoomBlur-BnRTijPn.js → ZoomBlur-OQP2jw3F.js} +2 -2
  194. package/dist/core/{agents-c-JjGH1b.js → agents-BVhq_Z2T.js} +1 -1
  195. package/dist/core/bevel-BGAb1fb2.js +121 -0
  196. package/dist/core/{blur-DKmdsW6d.js → blur-cLcFzL4x.js} +3 -3
  197. package/dist/core/{compute-BoeIXi0l.js → compute-Ax-p6Ubc.js} +1 -1
  198. package/dist/core/{edges-BZUKQxSE.js → edges-B7Yet3LV.js} +10 -10
  199. package/dist/core/{glass-BVqgjSPg.js → glass-CNFJB2On.js} +8 -8
  200. package/dist/core/gpu/composer.d.ts +1 -0
  201. package/dist/core/gpu/composer.d.ts.map +1 -1
  202. package/dist/core/gpu/kit/blur.d.ts +7 -7
  203. package/dist/core/gpu/kit/blur.d.ts.map +1 -1
  204. package/dist/core/gpu/kit/effects/bevel.d.ts +5 -0
  205. package/dist/core/gpu/kit/effects/bevel.d.ts.map +1 -0
  206. package/dist/core/gpu/kit/effects/glass.d.ts.map +1 -1
  207. package/dist/core/gpu/kit/effects/index.d.ts +1 -0
  208. package/dist/core/gpu/kit/effects/index.d.ts.map +1 -1
  209. package/dist/core/gpu/porters.d.ts +1 -1
  210. package/dist/core/gpu/porters.d.ts.map +1 -1
  211. package/dist/core/index.js +210 -207
  212. package/dist/core/{media-Ds6MRfGR.js → media-Y-WxQcQD.js} +1 -1
  213. package/dist/core/{noise-Cq0KUOSC.js → noise-B-PI7JUx.js} +1 -1
  214. package/dist/core/{noiseColor-CQyzqpVZ.js → noiseColor-BQAO-Rjk.js} +2 -2
  215. package/dist/core/{noiseColor-DjCUZ_8u.js → noiseColor-Cgx-FS2o.js} +2 -2
  216. package/dist/core/{noiseStylize-fKVcJbGK.js → noiseStylize-BN5zji1E.js} +2 -2
  217. package/dist/core/{porters-DogLzpKT.js → porters-D_xmIPz2.js} +2 -2
  218. package/dist/core/registry.js +210 -207
  219. package/dist/core/{sdf-o99ONcMJ.js → sdf-B8rPE1PG.js} +1 -1
  220. package/dist/core/shaderRegistry-DFRVhoj2.js +431 -0
  221. package/dist/core/shaderRegistry.d.ts.map +1 -1
  222. package/dist/core/shaders/AngularBlur/index.js +5 -5
  223. package/dist/core/shaders/Arc/index.js +6 -6
  224. package/dist/core/shaders/Ascii/index.js +5 -5
  225. package/dist/core/shaders/Aurora/index.js +6 -6
  226. package/dist/core/shaders/BarShift/index.js +5 -5
  227. package/dist/core/shaders/BarnDoors/index.js +5 -5
  228. package/dist/core/shaders/Beam/index.js +5 -5
  229. package/dist/core/shaders/Bend/index.js +5 -5
  230. package/dist/core/shaders/Blob/index.js +5 -5
  231. package/dist/core/shaders/BlockDissolve/index.js +6 -6
  232. package/dist/core/shaders/BlockNoise/index.js +8 -8
  233. package/dist/core/shaders/BlueNoise/index.js +8 -8
  234. package/dist/core/shaders/Blur/index.js +6 -6
  235. package/dist/core/shaders/Boids/index.js +7 -7
  236. package/dist/core/shaders/BokehBlur/index.js +6 -6
  237. package/dist/core/shaders/BrickPattern/index.js +5 -5
  238. package/dist/core/shaders/BrightnessContrast/index.js +5 -5
  239. package/dist/core/shaders/BrushedMetal/index.d.ts +13 -1
  240. package/dist/core/shaders/BrushedMetal/index.d.ts.map +1 -1
  241. package/dist/core/shaders/BrushedMetal/index.js +10 -9
  242. package/dist/core/shaders/Bulge/index.js +5 -5
  243. package/dist/core/shaders/CRTScreen/index.js +5 -5
  244. package/dist/core/shaders/CarbonFiber/index.d.ts +13 -1
  245. package/dist/core/shaders/CarbonFiber/index.d.ts.map +1 -1
  246. package/dist/core/shaders/CarbonFiber/index.js +10 -9
  247. package/dist/core/shaders/Chalkboard/index.js +5 -5
  248. package/dist/core/shaders/ChannelBlur/index.js +6 -6
  249. package/dist/core/shaders/CheckerWipe/index.js +5 -5
  250. package/dist/core/shaders/Checkerboard/index.js +5 -5
  251. package/dist/core/shaders/Chevron/index.js +5 -5
  252. package/dist/core/shaders/ChromaFlow/index.js +5 -5
  253. package/dist/core/shaders/ChromaticAberration/index.js +5 -5
  254. package/dist/core/shaders/Chrome/index.d.ts +152 -0
  255. package/dist/core/shaders/Chrome/index.d.ts.map +1 -0
  256. package/dist/core/shaders/Chrome/index.js +14 -0
  257. package/dist/core/shaders/Circle/index.js +6 -6
  258. package/dist/core/shaders/ColorWheel/index.js +5 -5
  259. package/dist/core/shaders/CompressionArtifacts/index.js +5 -5
  260. package/dist/core/shaders/ConcentricSpin/index.js +5 -5
  261. package/dist/core/shaders/ConicGradient/index.js +5 -5
  262. package/dist/core/shaders/ContourLines/index.js +5 -5
  263. package/dist/core/shaders/CornerPin/index.js +5 -5
  264. package/dist/core/shaders/Crescent/index.js +6 -6
  265. package/dist/core/shaders/Cross/index.js +6 -6
  266. package/dist/core/shaders/Crystal/index.js +9 -9
  267. package/dist/core/shaders/CurlNoise/index.js +8 -8
  268. package/dist/core/shaders/CursorRipples/index.js +5 -5
  269. package/dist/core/shaders/CursorTrail/index.js +5 -5
  270. package/dist/core/shaders/DataMosh/index.js +5 -5
  271. package/dist/core/shaders/DiamondGradient/index.js +5 -5
  272. package/dist/core/shaders/DiamondWipe/index.js +5 -5
  273. package/dist/core/shaders/DiffuseBlur/index.js +5 -5
  274. package/dist/core/shaders/DisplacementMap/index.js +5 -5
  275. package/dist/core/shaders/Dither/index.js +5 -5
  276. package/dist/core/shaders/DotGrid/index.js +5 -5
  277. package/dist/core/shaders/DropShadow/index.js +5 -5
  278. package/dist/core/shaders/Duotone/index.js +5 -5
  279. package/dist/core/shaders/Ellipse/index.js +6 -6
  280. package/dist/core/shaders/Emboss/index.js +8 -8
  281. package/dist/core/shaders/Engraving/index.js +6 -6
  282. package/dist/core/shaders/ErosionNoise/index.js +8 -8
  283. package/dist/core/shaders/Exposure/index.js +5 -5
  284. package/dist/core/shaders/FallingLines/index.js +5 -5
  285. package/dist/core/shaders/FilmGrain/index.js +5 -5
  286. package/dist/core/shaders/FilmStock/index.js +6 -6
  287. package/dist/core/shaders/Flip/index.js +5 -5
  288. package/dist/core/shaders/FloatingParticles/index.js +7 -7
  289. package/dist/core/shaders/FlowField/index.js +6 -6
  290. package/dist/core/shaders/Flower/index.js +6 -6
  291. package/dist/core/shaders/FlowingGradient/index.d.ts.map +1 -1
  292. package/dist/core/shaders/FlowingGradient/index.js +6 -6
  293. package/dist/core/shaders/FlutedGlass/index.js +5 -5
  294. package/dist/core/shaders/Fog/index.js +5 -5
  295. package/dist/core/shaders/Form3D/index.js +5 -5
  296. package/dist/core/shaders/FractalNoise/index.js +7 -7
  297. package/dist/core/shaders/Frost/index.js +9 -9
  298. package/dist/core/shaders/GaborNoise/index.js +8 -8
  299. package/dist/core/shaders/Glass/index.js +9 -9
  300. package/dist/core/shaders/GlassTiles/index.js +5 -5
  301. package/dist/core/shaders/Glitch/index.js +5 -5
  302. package/dist/core/shaders/Glow/index.js +6 -6
  303. package/dist/core/shaders/Godrays/index.js +5 -5
  304. package/dist/core/shaders/Goo/index.js +8 -8
  305. package/dist/core/shaders/GradientMap/index.js +5 -5
  306. package/dist/core/shaders/Grayscale/index.js +5 -5
  307. package/dist/core/shaders/Grid/index.js +5 -5
  308. package/dist/core/shaders/GridDistortion/index.js +5 -5
  309. package/dist/core/shaders/Group/index.js +5 -5
  310. package/dist/core/shaders/HTMLInCanvas/index.js +5 -5
  311. package/dist/core/shaders/Halftone/index.js +5 -5
  312. package/dist/core/shaders/Heart/index.js +6 -6
  313. package/dist/core/shaders/Heatmap/index.js +9 -9
  314. package/dist/core/shaders/HexGrid/index.js +5 -5
  315. package/dist/core/shaders/Hologram/index.js +9 -9
  316. package/dist/core/shaders/Holographic/index.js +9 -9
  317. package/dist/core/shaders/HueShift/index.js +5 -5
  318. package/dist/core/shaders/ImageTexture/index.js +7 -7
  319. package/dist/core/shaders/InkFlow/index.js +5 -5
  320. package/dist/core/shaders/Invert/index.js +5 -5
  321. package/dist/core/shaders/IrisWipe/index.js +5 -5
  322. package/dist/core/shaders/IsometricCubes/index.js +5 -5
  323. package/dist/core/shaders/Kaleidoscope/index.js +5 -5
  324. package/dist/core/shaders/KeyFrames/index.js +5 -5
  325. package/dist/core/shaders/LensDistortion/index.js +5 -5
  326. package/dist/core/shaders/LensFlare/index.js +5 -5
  327. package/dist/core/shaders/LightEdge/index.js +9 -9
  328. package/dist/core/shaders/LightLeak/index.js +6 -6
  329. package/dist/core/shaders/Line/index.d.ts +72 -0
  330. package/dist/core/shaders/Line/index.d.ts.map +1 -0
  331. package/dist/core/shaders/Line/index.js +7 -0
  332. package/dist/core/shaders/LinearBlur/index.js +5 -5
  333. package/dist/core/shaders/LinearGradient/index.js +5 -5
  334. package/dist/core/shaders/LinearWipe/index.js +5 -5
  335. package/dist/core/shaders/LiquidMetal/index.d.ts +13 -1
  336. package/dist/core/shaders/LiquidMetal/index.d.ts.map +1 -1
  337. package/dist/core/shaders/LiquidMetal/index.js +10 -9
  338. package/dist/core/shaders/Liquify/index.js +5 -5
  339. package/dist/core/shaders/MagneticFilings/index.js +7 -7
  340. package/dist/core/shaders/Marble/index.js +6 -6
  341. package/dist/core/shaders/Mirror/index.js +5 -5
  342. package/dist/core/shaders/MultiPointGradient/index.js +5 -5
  343. package/dist/core/shaders/Neon/index.js +7 -7
  344. package/dist/core/shaders/NoiseDissolve/index.js +6 -6
  345. package/dist/core/shaders/ObjectTracker/index.js +6 -6
  346. package/dist/core/shaders/PagePeel/index.js +5 -5
  347. package/dist/core/shaders/Paper/index.js +6 -6
  348. package/dist/core/shaders/Parallelogram/index.js +6 -6
  349. package/dist/core/shaders/ParticleField/index.js +7 -7
  350. package/dist/core/shaders/ParticleFlow/index.js +7 -7
  351. package/dist/core/shaders/Particles/index.js +9 -9
  352. package/dist/core/shaders/PerlinNoise/index.js +8 -8
  353. package/dist/core/shaders/Perspective/index.js +5 -5
  354. package/dist/core/shaders/PixelSort/index.js +5 -5
  355. package/dist/core/shaders/PixelThrow/index.js +5 -5
  356. package/dist/core/shaders/Pixelate/index.js +5 -5
  357. package/dist/core/shaders/Plasma/index.js +6 -6
  358. package/dist/core/shaders/Plastic/index.js +9 -9
  359. package/dist/core/shaders/PolarCoordinates/index.js +5 -5
  360. package/dist/core/shaders/Polygon/index.js +6 -6
  361. package/dist/core/shaders/Posterize/index.js +5 -5
  362. package/dist/core/shaders/Prism/index.js +5 -5
  363. package/dist/core/shaders/ProgressiveBlur/index.js +6 -6
  364. package/dist/core/shaders/RadialGradient/index.js +5 -5
  365. package/dist/core/shaders/RadialWipe/index.js +5 -5
  366. package/dist/core/shaders/RandomBars/index.js +6 -6
  367. package/dist/core/shaders/ReactionDiffusion/index.js +5 -5
  368. package/dist/core/shaders/RectangularCoordinates/index.js +5 -5
  369. package/dist/core/shaders/ReflectivePlane/index.js +6 -6
  370. package/dist/core/shaders/Repeater/index.js +5 -5
  371. package/dist/core/shaders/Ring/index.js +6 -6
  372. package/dist/core/shaders/RippleWipe/index.js +5 -5
  373. package/dist/core/shaders/Ripples/index.js +5 -5
  374. package/dist/core/shaders/RoundedRect/index.js +6 -6
  375. package/dist/core/shaders/Saturation/index.js +5 -5
  376. package/dist/core/shaders/Scratches/index.js +8 -8
  377. package/dist/core/shaders/Sharpness/index.js +5 -5
  378. package/dist/core/shaders/Shatter/index.js +5 -5
  379. package/dist/core/shaders/SimplexNoise/index.js +7 -7
  380. package/dist/core/shaders/SineWave/index.js +5 -5
  381. package/dist/core/shaders/SliceWipe/index.js +5 -5
  382. package/dist/core/shaders/Smoke/index.js +5 -5
  383. package/dist/core/shaders/SmokeFill/index.js +8 -8
  384. package/dist/core/shaders/SmokeFlow/index.js +5 -5
  385. package/dist/core/shaders/Solarize/index.js +5 -5
  386. package/dist/core/shaders/SolidColor/index.js +2 -2
  387. package/dist/core/shaders/Spherize/index.js +5 -5
  388. package/dist/core/shaders/Spiral/index.js +5 -5
  389. package/dist/core/shaders/Star/index.js +6 -6
  390. package/dist/core/shaders/Stone/index.js +4 -4
  391. package/dist/core/shaders/Strands/index.js +5 -5
  392. package/dist/core/shaders/Stretch/index.js +5 -5
  393. package/dist/core/shaders/Stripes/index.js +5 -5
  394. package/dist/core/shaders/StudioBackground/index.d.ts +1 -1
  395. package/dist/core/shaders/StudioBackground/index.d.ts.map +1 -1
  396. package/dist/core/shaders/StudioBackground/index.js +5 -5
  397. package/dist/core/shaders/SunBurst/index.js +5 -5
  398. package/dist/core/shaders/Surface3D/index.js +6 -6
  399. package/dist/core/shaders/Swirl/index.js +5 -5
  400. package/dist/core/shaders/Teardrop/index.js +6 -6
  401. package/dist/core/shaders/Text/index.js +6 -6
  402. package/dist/core/shaders/ThinFilm/index.js +7 -7
  403. package/dist/core/shaders/TiltShift/index.js +6 -6
  404. package/dist/core/shaders/TimeTrail/index.js +5 -5
  405. package/dist/core/shaders/Tint/index.js +5 -5
  406. package/dist/core/shaders/Trapezoid/index.js +6 -6
  407. package/dist/core/shaders/TriangularGrid/index.js +5 -5
  408. package/dist/core/shaders/Tritone/index.js +5 -5
  409. package/dist/core/shaders/Truchet/index.js +5 -5
  410. package/dist/core/shaders/Twirl/index.js +5 -5
  411. package/dist/core/shaders/VHS/index.js +5 -5
  412. package/dist/core/shaders/VenetianBlinds/index.js +5 -5
  413. package/dist/core/shaders/Vesica/index.js +6 -6
  414. package/dist/core/shaders/Vibrance/index.js +5 -5
  415. package/dist/core/shaders/VideoTexture/index.js +6 -6
  416. package/dist/core/shaders/Vignette/index.js +5 -5
  417. package/dist/core/shaders/Voronoi/index.js +5 -5
  418. package/dist/core/shaders/Water/index.js +9 -9
  419. package/dist/core/shaders/Watercolor/index.js +6 -6
  420. package/dist/core/shaders/WaveDistortion/index.js +5 -5
  421. package/dist/core/shaders/WaveletNoise/index.js +8 -8
  422. package/dist/core/shaders/Weave/index.js +5 -5
  423. package/dist/core/shaders/WebcamTexture/index.js +7 -7
  424. package/dist/core/shaders/Wool/index.js +4 -4
  425. package/dist/core/shaders/WorleyNoise/index.js +5 -5
  426. package/dist/core/shaders/ZoomBlur/index.js +5 -5
  427. package/dist/core/{shapeEffectBounds-Dg4GQ5vW.js → shapeEffectBounds-Svfd_R5a.js} +13 -9
  428. package/dist/core/utilities/shapeEffectBounds.d.ts.map +1 -1
  429. package/dist/core/utilities/transformations/index.js +1 -1
  430. package/dist/js/bundle.js +166 -166
  431. package/dist/js/createShader.js +1 -1
  432. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  433. package/dist/js/utils/generatePresetCode.js +54 -0
  434. package/dist/react/Chrome.js +226 -0
  435. package/dist/react/Line.js +226 -0
  436. package/dist/react/Preview.js +2 -0
  437. package/dist/react/Shader.js +1 -1
  438. package/dist/react/bundle.js +153 -153
  439. package/dist/react/components/BrushedMetal.d.ts +3 -1
  440. package/dist/react/components/BrushedMetal.d.ts.map +1 -1
  441. package/dist/react/components/CarbonFiber.d.ts +3 -1
  442. package/dist/react/components/CarbonFiber.d.ts.map +1 -1
  443. package/dist/react/components/Chrome.d.ts +46 -0
  444. package/dist/react/components/Chrome.d.ts.map +1 -0
  445. package/dist/react/components/Line.d.ts +40 -0
  446. package/dist/react/components/Line.d.ts.map +1 -0
  447. package/dist/react/components/LiquidMetal.d.ts +3 -1
  448. package/dist/react/components/LiquidMetal.d.ts.map +1 -1
  449. package/dist/react/engine/Preview.d.ts.map +1 -1
  450. package/dist/react/index.d.ts +2 -0
  451. package/dist/react/index.d.ts.map +1 -1
  452. package/dist/react/index.js +3 -1
  453. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  454. package/dist/react/utils/generatePresetCode.js +54 -0
  455. package/dist/registry.js +1179 -2
  456. package/dist/solid/components/BrushedMetal.d.ts +3 -1
  457. package/dist/solid/components/BrushedMetal.d.ts.map +1 -1
  458. package/dist/solid/components/CarbonFiber.d.ts +3 -1
  459. package/dist/solid/components/CarbonFiber.d.ts.map +1 -1
  460. package/dist/solid/components/Chrome.d.ts +43 -0
  461. package/dist/solid/components/Chrome.d.ts.map +1 -0
  462. package/dist/solid/components/Chrome.js +232 -0
  463. package/dist/solid/components/Line.d.ts +37 -0
  464. package/dist/solid/components/Line.d.ts.map +1 -0
  465. package/dist/solid/components/Line.js +232 -0
  466. package/dist/solid/components/LiquidMetal.d.ts +3 -1
  467. package/dist/solid/components/LiquidMetal.d.ts.map +1 -1
  468. package/dist/solid/engine/Preview.d.ts.map +1 -1
  469. package/dist/solid/engine/Preview.js +203 -199
  470. package/dist/solid/engine/Shader.js +1 -1
  471. package/dist/solid/index.d.ts +2 -0
  472. package/dist/solid/index.d.ts.map +1 -1
  473. package/dist/solid/index.js +333 -329
  474. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  475. package/dist/solid/utils/generatePresetCode.js +54 -0
  476. package/dist/svelte/components/BrushedMetal.svelte.d.ts +2 -0
  477. package/dist/svelte/components/CarbonFiber.svelte.d.ts +2 -0
  478. package/dist/svelte/components/Chrome.svelte.d.ts +33 -0
  479. package/dist/svelte/components/Line.svelte.d.ts +27 -0
  480. package/dist/svelte/components/LiquidMetal.svelte.d.ts +2 -0
  481. package/dist/svelte/index.d.ts +2 -0
  482. package/dist/svelte/index.js +2313 -1899
  483. package/dist/svelte/source/components/BrushedMetal.svelte +2 -0
  484. package/dist/svelte/source/components/CarbonFiber.svelte +2 -0
  485. package/dist/svelte/source/components/Chrome.svelte +357 -0
  486. package/dist/svelte/source/components/Line.svelte +351 -0
  487. package/dist/svelte/source/components/LiquidMetal.svelte +2 -0
  488. package/dist/svelte/source/engine/Preview.svelte +4 -0
  489. package/dist/svelte/source/index.js +2 -0
  490. package/dist/svelte/utils/generatePresetCode.js +54 -0
  491. package/dist/vue/BrushedMetal.vue_vue_type_script_setup_true_lang.js +2 -0
  492. package/dist/vue/CarbonFiber.vue_vue_type_script_setup_true_lang.js +2 -0
  493. package/dist/vue/Chrome.js +3 -0
  494. package/dist/vue/Chrome.vue_vue_type_script_setup_true_lang.js +247 -0
  495. package/dist/vue/Line.js +3 -0
  496. package/dist/vue/Line.vue_vue_type_script_setup_true_lang.js +234 -0
  497. package/dist/vue/LiquidMetal.vue_vue_type_script_setup_true_lang.js +2 -0
  498. package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +4 -0
  499. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  500. package/dist/vue/components/BrushedMetal.vue.d.ts +2 -0
  501. package/dist/vue/components/BrushedMetal.vue.d.ts.map +1 -1
  502. package/dist/vue/components/CarbonFiber.vue.d.ts +2 -0
  503. package/dist/vue/components/CarbonFiber.vue.d.ts.map +1 -1
  504. package/dist/vue/components/Chrome.vue.d.ts +68 -0
  505. package/dist/vue/components/Chrome.vue.d.ts.map +1 -0
  506. package/dist/vue/components/Line.vue.d.ts +62 -0
  507. package/dist/vue/components/Line.vue.d.ts.map +1 -0
  508. package/dist/vue/components/LiquidMetal.vue.d.ts +2 -0
  509. package/dist/vue/components/LiquidMetal.vue.d.ts.map +1 -1
  510. package/dist/vue/index.d.ts +2 -0
  511. package/dist/vue/index.d.ts.map +1 -1
  512. package/dist/vue/index.js +3 -1
  513. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  514. package/dist/vue/utils/generatePresetCode.js +54 -0
  515. package/package.json +17 -1
  516. package/dist/core/shaderRegistry-CkDrffEe.js +0 -427
  517. /package/dist/core/{fonts-DFuXI3Hk.js → fonts-DxVn9e-I.js} +0 -0
  518. /package/dist/core/{naturalSize-B679wTgN.js → naturalSize-BPCi_I-Z.js} +0 -0
  519. /package/dist/core/{transformations-CsPUHppB.js → transformations-C7gn_5rF.js} +0 -0
@@ -31,6 +31,8 @@
31
31
  */
32
32
  interface ExtendedComponentProps extends Partial<ComponentProps> {
33
33
  center?: ComponentProps['center'] | PropDriver;
34
+ bevelWidth?: ComponentProps['bevelWidth'] | PropDriver;
35
+ bevelShape?: ComponentProps['bevelShape'] | PropDriver;
34
36
  blendMode?: BlendMode;
35
37
  opacity?: number;
36
38
  visible?: boolean;
@@ -31,6 +31,8 @@
31
31
  */
32
32
  interface ExtendedComponentProps extends Partial<ComponentProps> {
33
33
  center?: ComponentProps['center'] | PropDriver;
34
+ bevelWidth?: ComponentProps['bevelWidth'] | PropDriver;
35
+ bevelShape?: ComponentProps['bevelShape'] | PropDriver;
34
36
  blendMode?: BlendMode;
35
37
  opacity?: number;
36
38
  visible?: boolean;
@@ -0,0 +1,357 @@
1
+ <script lang="ts">
2
+ import { getContext, setContext, onMount, onDestroy } from 'svelte';
3
+ import {
4
+ createGpuUniformsMap,
5
+ resolveBoundingBox,
6
+ type GpuUniformsMap,
7
+ type BlendMode,
8
+ type NodeMetadata,
9
+ type PropConfig,
10
+ type MaskConfig,
11
+ type PropDriver,
12
+ type TransformConfig,
13
+ type BoundingBoxConfig,
14
+ type LayoutConfig
15
+ } from '../../../core/index.js';
16
+ import {setColorSpaceMode} from '../../../core/utilities/transformations/index.js';
17
+
18
+ // @ts-ignore - this import is replaced at build time
19
+ import { componentDefinition, type ComponentProps } from '../../../core/shaders/Chrome/index.js';
20
+
21
+ // Warn once per page load if this is an experimental component
22
+ let _experimentalWarnedOnce = false;
23
+ if ((componentDefinition as any).experimental && !_experimentalWarnedOnce) {
24
+ _experimentalWarnedOnce = true;
25
+ const _e = (componentDefinition as any).experimental;
26
+ console.info(`%c⚠ [Shaders] ${componentDefinition.name} is experimental: ${_e.message}`, 'color: #f59e0b; font-weight: bold');
27
+ }
28
+
29
+ /**
30
+ * Define component props including blend mode, opacity, visibility, masking, and transformation
31
+ */
32
+ interface ExtendedComponentProps extends Partial<ComponentProps> {
33
+ center?: ComponentProps['center'] | PropDriver;
34
+ bevelWidth?: ComponentProps['bevelWidth'] | PropDriver;
35
+ bevelShape?: ComponentProps['bevelShape'] | PropDriver;
36
+ curvature?: ComponentProps['curvature'] | PropDriver;
37
+ waviness?: ComponentProps['waviness'] | PropDriver;
38
+ environment?: ComponentProps['environment'] | PropDriver;
39
+ envRotation?: ComponentProps['envRotation'] | PropDriver;
40
+ softness?: ComponentProps['softness'] | PropDriver;
41
+ spectral?: ComponentProps['spectral'] | PropDriver;
42
+ dispersion?: ComponentProps['dispersion'] | PropDriver;
43
+ shadows?: ComponentProps['shadows'] | PropDriver;
44
+ blendMode?: BlendMode;
45
+ opacity?: number;
46
+ visible?: boolean;
47
+ id?: string;
48
+ maskSource?: string;
49
+ maskType?: string;
50
+ renderOrder?: number;
51
+ transform?: Partial<TransformConfig>;
52
+ boundingBox?: Partial<BoundingBoxConfig>;
53
+ flow?: LayoutConfig;
54
+ absolute?: boolean;
55
+ children?: import('svelte').Snippet;
56
+ }
57
+
58
+ function isPropDriver(value: unknown): value is PropDriver {
59
+ return typeof value === 'object' && value !== null && 'type' in value &&
60
+ ((value as any).type === 'map' || (value as any).type === 'mouse' || (value as any).type === 'mouse-position' || (value as any).type === 'auto-animate');
61
+ }
62
+
63
+ /**
64
+ * Default transform configuration (optimized for zero overhead)
65
+ */
66
+ const DEFAULT_TRANSFORM: TransformConfig = {
67
+ offsetX: 0,
68
+ offsetY: 0,
69
+ rotation: 0,
70
+ scale: 1,
71
+ anchorX: 0.5,
72
+ anchorY: 0.5,
73
+ edges: 'transparent'
74
+ };
75
+
76
+ // Define the component props and their default values from the shader definition
77
+ const componentDefaults = {
78
+ blendMode: 'normal' as BlendMode,
79
+ visible: true,
80
+ // opacity intentionally has no default - handled by renderer
81
+ // transform intentionally has no default - handled by effectiveTransform
82
+ ...Object.entries(componentDefinition.props).reduce(
83
+ (acc, [key, config]) => {
84
+ acc[key] = (config as unknown as PropConfig<typeof config>).default;
85
+ return acc;
86
+ },
87
+ {} as Record<string, any>
88
+ )
89
+ };
90
+
91
+ // Declare props using Svelte 5's syntax
92
+ const props: ExtendedComponentProps = $props();
93
+
94
+ // Apply defaults manually since Svelte 5 doesn't have withDefaults equivalent
95
+ // Use $derived so the metadata $effect re-runs when any of these change at runtime
96
+ const blendMode = $derived(props.blendMode ?? componentDefaults.blendMode);
97
+ const opacity = $derived(props.opacity); // No default - handled by renderer
98
+ const visible = $derived(props.visible ?? componentDefaults.visible); // Default to true
99
+ const id = $derived(props.id);
100
+ const maskSource = $derived(props.maskSource);
101
+ const maskType = $derived(props.maskType);
102
+ const renderOrder = $derived(props.renderOrder);
103
+ const { children } = props;
104
+
105
+ // Collect PropDriver values from shader props into the maps metadata structure
106
+ const mapsFromProps = $derived.by(() => {
107
+ const maps: Record<string, PropDriver> = {};
108
+ for (const key of Object.keys(componentDefinition.props)) {
109
+ const val = (props as any)[key];
110
+ if (isPropDriver(val)) maps[key] = val as PropDriver;
111
+ }
112
+ return Object.keys(maps).length > 0 ? maps : undefined;
113
+ });
114
+
115
+ /**
116
+ * Computed transform that merges user-provided values with defaults
117
+ */
118
+ const effectiveTransform = $derived({
119
+ ...DEFAULT_TRANSFORM,
120
+ ...props.transform
121
+ });
122
+
123
+ /**
124
+ * Effective bounding box — partial configs merge with full-frame defaults,
125
+ * absent stays undefined so the bbox render path is not activated
126
+ */
127
+ const effectiveBoundingBox = $derived(resolveBoundingBox(props.boundingBox));
128
+
129
+ /**
130
+ * FIRST: Get the parent ID from context BEFORE setting our own context
131
+ */
132
+ const parentId = getContext<string>('shaderParentId');
133
+ if (parentId === undefined) {
134
+ throw new Error('Shader components must be used inside an <Shader> component or another shader component');
135
+ }
136
+
137
+ /**
138
+ * Use the provided ID or generate a unique identifier for this component instance
139
+ */
140
+ const instanceId = (id ? id.replace(/[^a-zA-Z0-9_]/g, '_') : null) || Math.random().toString(36).substring(2, 10);
141
+
142
+ /**
143
+ * THEN: Provide our unique identifier to child components
144
+ */
145
+ setContext('shaderParentId', instanceId);
146
+
147
+ /**
148
+ * Creates a non-reactive object containing only props that differ from defaults
149
+ * This optimization prevents unnecessary GPU uniform updates for unchanged values
150
+ * Special props like blendMode and opacity are handled separately
151
+ */
152
+ const shaderReadyProps = $derived.by(() => {
153
+ let baseProps = { ...componentDefaults };
154
+
155
+ // Only include props that differ from defaults (excluding special props and PropDrivers)
156
+ for (const key in props) {
157
+ if (key !== 'blendMode' && key !== 'opacity' && key !== 'visible' &&
158
+ key !== 'id' && key !== 'maskSource' && key !== 'maskType' && key !== 'renderOrder' &&
159
+ key !== 'transform' && key !== 'boundingBox' && key !== 'flow' && key !== 'absolute' && key !== 'children') {
160
+ const propValue = (props as any)[key];
161
+ if (isPropDriver(propValue)) continue; // PropDrivers go to metadata.maps, not uniforms
162
+ const defaultValue = (componentDefaults as any)[key];
163
+ if (propValue !== undefined && propValue !== defaultValue) {
164
+ (baseProps as any)[key] = propValue;
165
+ }
166
+ }
167
+ }
168
+ return baseProps;
169
+ });
170
+
171
+ /**
172
+ * Get the color space from the root Shader component.
173
+ * Used to set the global color space mode before creating uniforms.
174
+ */
175
+ const shaderColorSpace = getContext<() => 'p3-linear' | 'srgb'>('shaderColorSpace');
176
+
177
+ /**
178
+ * Creates the GPU uniform values map using only the changed props
179
+ * Set the global color space mode before creating uniforms so colors are transformed correctly
180
+ * Note: Intentionally captures initial value - props are immutable after initialization
181
+ */
182
+ if (shaderColorSpace) {
183
+ setColorSpaceMode(shaderColorSpace());
184
+ }
185
+ // svelte-ignore state_referenced_locally
186
+ const uniforms: GpuUniformsMap = createGpuUniformsMap(componentDefinition, shaderReadyProps, instanceId);
187
+
188
+ /**
189
+ * Get the node registration function from parent context
190
+ */
191
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: GpuUniformsMap | null, componentDefinition: any, domCanvas?: HTMLCanvasElement) => void>('shaderNodeRegister');
192
+ if (parentRegister === undefined) {
193
+ throw new Error('Shader components must be used inside an <Shader> component or another shader component');
194
+ }
195
+
196
+ /**
197
+ * Get the uniform update function from parent context
198
+ */
199
+ const parentUniformUpdate = getContext<(nodeId: string, uniformName: string, value: any) => void>('shaderUniformUpdate');
200
+ if (parentUniformUpdate === undefined) {
201
+ throw new Error('Shader components require shaderUniformUpdate from parent');
202
+ }
203
+
204
+ /**
205
+ * Get the metadata update function from parent context
206
+ */
207
+ const parentMetadataUpdate = getContext<(nodeId: string, metadata: NodeMetadata) => void>('shaderMetadataUpdate');
208
+ if (parentMetadataUpdate === undefined) {
209
+ throw new Error('Shader components require shaderMetadataUpdate from parent');
210
+ }
211
+
212
+ // capturesDOM — canvas layoutsubtree portal for HTMLInCanvas-style shaders
213
+ const isCapturesDOM = !!(componentDefinition as any).capturesDOM;
214
+ let captureCanvas: HTMLCanvasElement | undefined;
215
+ let captureW = $state(typeof window !== 'undefined' ? Math.round(window.innerWidth * Math.min(window.devicePixelRatio, 2)) : 0);
216
+ let captureH = $state(typeof window !== 'undefined' ? Math.round(window.innerHeight * Math.min(window.devicePixelRatio, 2)) : 0);
217
+
218
+ function teleportToBody(node: HTMLElement) {
219
+ document.body.appendChild(node);
220
+ return { destroy() { node.remove(); } };
221
+ }
222
+
223
+ if (isCapturesDOM) {
224
+ const onWinResize = () => {
225
+ const d = Math.min(window.devicePixelRatio, 2);
226
+ captureW = Math.round(window.innerWidth * d);
227
+ captureH = Math.round(window.innerHeight * d);
228
+ };
229
+ onMount(() => { window.addEventListener('resize', onWinResize); });
230
+ onDestroy(() => { window.removeEventListener('resize', onWinResize); });
231
+ }
232
+
233
+ // DOM marker ref for determining render order from template position
234
+ let orderMarker: HTMLSpanElement;
235
+
236
+ // Stores the DOM-detected render order
237
+ let detectedRenderOrder: number | undefined = undefined;
238
+
239
+ // Flag to track when component is registered
240
+ let isRegistered = $state(false);
241
+
242
+ // Setup uniform watchers with registration guard
243
+ Object.entries(uniforms).forEach(([propName, entry]) => {
244
+ $effect(() => {
245
+ // Only run after component is registered
246
+ if (!isRegistered) return;
247
+
248
+ // GPU bridge entries carry `.value` (no v1 `.uniform` node). colorStops expands into
249
+ // extra array fields (colorsArray/…) that aren't component props — their `props[name]`
250
+ // is always undefined, so the guard below skips them.
251
+ if (entry && entry.value !== undefined) {
252
+ const newValue = (props as any)[propName];
253
+ if (newValue !== undefined && !isPropDriver(newValue)) {
254
+ // Send raw value - renderer will handle transformation
255
+ // PropDriver values go to metadata.maps, not uniforms
256
+ parentUniformUpdate(instanceId, propName, newValue);
257
+ }
258
+ }
259
+ });
260
+ });
261
+
262
+ // Watch blend mode, opacity, visibility, masking, transformations, and prop maps changes
263
+ $effect(() => {
264
+ // Only run after component is registered
265
+ if (!isRegistered) return;
266
+
267
+ const metadata: NodeMetadata = {
268
+ blendMode,
269
+ opacity,
270
+ visible: visible === false ? false : true,
271
+ id,
272
+ mask: maskSource ? {
273
+ source: maskSource,
274
+ type: (maskType || 'alpha') as MaskConfig['type']
275
+ } : undefined,
276
+ maps: mapsFromProps,
277
+ renderOrder: renderOrder ?? detectedRenderOrder,
278
+ transform: effectiveTransform,
279
+ boundingBox: effectiveBoundingBox,
280
+ flow: props.flow,
281
+ absolute: props.absolute
282
+ };
283
+ parentMetadataUpdate(instanceId, metadata);
284
+ });
285
+
286
+ // Register this component after mount to ensure parent is ready
287
+ onMount(() => {
288
+ // Register this component with safety check
289
+ if (componentDefinition && typeof componentDefinition.fragment === 'function') {
290
+ parentRegister(
291
+ instanceId,
292
+ componentDefinition.fragment,
293
+ parentId,
294
+ {
295
+ blendMode,
296
+ opacity,
297
+ visible: visible !== false ? true : false,
298
+ id,
299
+ mask: maskSource ? {
300
+ source: maskSource,
301
+ type: (maskType || 'alpha') as MaskConfig['type']
302
+ } as MaskConfig : undefined,
303
+ maps: mapsFromProps,
304
+ renderOrder: renderOrder ?? detectedRenderOrder,
305
+ transform: effectiveTransform,
306
+ boundingBox: effectiveBoundingBox,
307
+ flow: props.flow,
308
+ absolute: props.absolute
309
+ },
310
+ uniforms,
311
+ componentDefinition,
312
+ isCapturesDOM ? captureCanvas : undefined
313
+ );
314
+
315
+ // Set flag to enable effects after successful registration
316
+ isRegistered = true;
317
+
318
+ // Detect DOM position for correct render ordering
319
+ if (renderOrder === undefined && orderMarker) {
320
+ const parent = orderMarker.parentElement;
321
+ if (parent) {
322
+ const siblings = parent.querySelectorAll(':scope > [data-shader-id]');
323
+ const position = Array.from(siblings).indexOf(orderMarker);
324
+ if (position >= 0) {
325
+ detectedRenderOrder = position;
326
+ parentMetadataUpdate(instanceId, { renderOrder: position } as NodeMetadata);
327
+ }
328
+ }
329
+ }
330
+ } else {
331
+ console.error('componentDefinition.fragment is not a function:', {
332
+ componentDefinition,
333
+ fragment: componentDefinition?.fragment,
334
+ type: typeof componentDefinition?.fragment
335
+ });
336
+ }
337
+ });
338
+
339
+ // Clean up node from registry when component is unmounted
340
+ onDestroy(() => {
341
+ isRegistered = false;
342
+ parentRegister(instanceId, null, null, null, null);
343
+ });
344
+ </script>
345
+
346
+ <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
347
+ {#if !isCapturesDOM}
348
+ {@render children?.()}
349
+ {/if}
350
+ </span>
351
+ {#if isCapturesDOM}
352
+ <canvas use:teleportToBody bind:this={captureCanvas} layoutsubtree
353
+ width={captureW} height={captureH}
354
+ style="position:fixed;inset:0;width:100vw;height:100vh;z-index:-9999">
355
+ {@render children?.()}
356
+ </canvas>
357
+ {/if}