framefields 2.9.2 → 2.10.0-canary.0

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 (518) hide show
  1. package/NOTICE.md +18 -0
  2. package/README.md +10 -7
  3. package/dist/audio/index.d.mts +5 -4
  4. package/dist/audio/index.mjs +13 -13
  5. package/dist/{audio-Ccpl9mjV.d.mts → audio-1X5qNNmk.d.mts} +4 -3
  6. package/dist/audio-1X5qNNmk.d.mts.map +1 -0
  7. package/dist/{audio-a0MFkK6J.mjs → audio-KHBadECb.mjs} +1 -1
  8. package/dist/{audio-a0MFkK6J.mjs.map → audio-KHBadECb.mjs.map} +1 -1
  9. package/dist/{audio-BfQg37MW.mjs → audio-YpBRdI7r.mjs} +4 -4
  10. package/dist/{audio-BfQg37MW.mjs.map → audio-YpBRdI7r.mjs.map} +1 -1
  11. package/dist/{check-result-C3jlgV2i.mjs → check-result-Culfu7Nx.mjs} +1 -1
  12. package/dist/{check-result-C3jlgV2i.mjs.map → check-result-Culfu7Nx.mjs.map} +1 -1
  13. package/dist/cli/check-worker.mjs +50 -50
  14. package/dist/cli.mjs +179 -3
  15. package/dist/cli.mjs.map +1 -1
  16. package/dist/cloud/index.d.mts +118 -0
  17. package/dist/cloud/index.d.mts.map +1 -0
  18. package/dist/cloud/index.mjs +3 -0
  19. package/dist/cloud-xcfV4J03.mjs +233 -0
  20. package/dist/cloud-xcfV4J03.mjs.map +1 -0
  21. package/dist/components/index.d.mts +14 -11
  22. package/dist/components/index.mjs +47 -47
  23. package/dist/dist-2_lT3Dwc.mjs +1434 -0
  24. package/dist/dist-2_lT3Dwc.mjs.map +1 -0
  25. package/dist/{dist-Buaaj-Ul.mjs → dist-BIE8fvlv.mjs} +1 -1
  26. package/dist/{dist-Buaaj-Ul.mjs.map → dist-BIE8fvlv.mjs.map} +1 -1
  27. package/dist/{dist-BlIrsfcn.mjs → dist-Bf2_efYP.mjs} +1 -1
  28. package/dist/{dist-BlIrsfcn.mjs.map → dist-Bf2_efYP.mjs.map} +1 -1
  29. package/dist/dist-BwtxciN4.mjs +3 -0
  30. package/dist/{dist-C1cCW7Bt.mjs → dist-C4Vxgm0Q.mjs} +275 -78
  31. package/dist/dist-C4Vxgm0Q.mjs.map +1 -0
  32. package/dist/{dist-C8Xq3zgx.mjs → dist-Cu1fZ9Uy.mjs} +4 -4
  33. package/dist/{dist-C8Xq3zgx.mjs.map → dist-Cu1fZ9Uy.mjs.map} +1 -1
  34. package/dist/{dist-DVMepKaO.mjs → dist-CySGkG54.mjs} +2 -2
  35. package/dist/dist-CySGkG54.mjs.map +1 -0
  36. package/dist/effects/index.d.mts +6 -4
  37. package/dist/effects/index.mjs +36 -36
  38. package/dist/{effects-CemgqEPv.mjs → effects-DiWYouOK.mjs} +3 -3
  39. package/dist/{effects-CemgqEPv.mjs.map → effects-DiWYouOK.mjs.map} +1 -1
  40. package/dist/fonts/index.d.mts +1 -1
  41. package/dist/fonts/index.mjs +3 -3
  42. package/dist/{fonts-BW0pPcvJ.mjs → fonts-BnV-GB1o.mjs} +2 -2
  43. package/dist/{fonts-BW0pPcvJ.mjs.map → fonts-BnV-GB1o.mjs.map} +1 -1
  44. package/dist/{gpu-CMaa63nz.mjs → gpu-Bw35AMwY.mjs} +11 -3
  45. package/dist/gpu-Bw35AMwY.mjs.map +1 -0
  46. package/dist/{index-D5UDyVMb.d.mts → index-B7WqFBZA.d.mts} +35 -2401
  47. package/dist/index-B7WqFBZA.d.mts.map +1 -0
  48. package/dist/{index-BfDFmIBE.d.mts → index-BW0Q1ygn.d.mts} +1 -1
  49. package/dist/{index-BfDFmIBE.d.mts.map → index-BW0Q1ygn.d.mts.map} +1 -1
  50. package/dist/{index-CQ-bbZk3.d.mts → index-Bbv0VtxJ.d.mts} +7 -1165
  51. package/dist/index-Bbv0VtxJ.d.mts.map +1 -0
  52. package/dist/{index-CFoAmh7q.d.mts → index-CDQrdZ0J.d.mts} +3 -3
  53. package/dist/{index-CFoAmh7q.d.mts.map → index-CDQrdZ0J.d.mts.map} +1 -1
  54. package/dist/index-COYNQ_mf.d.mts +2402 -0
  55. package/dist/index-COYNQ_mf.d.mts.map +1 -0
  56. package/dist/{index-BIjMAW1h.d.mts → index-CdCrae-I.d.mts} +2 -2
  57. package/dist/{index-BIjMAW1h.d.mts.map → index-CdCrae-I.d.mts.map} +1 -1
  58. package/dist/index-DQa7mhzq.d.mts +330 -0
  59. package/dist/index-DQa7mhzq.d.mts.map +1 -0
  60. package/dist/{index-Bnh42ouE.d.mts → index-Dyt4yS-x.d.mts} +376 -287
  61. package/dist/index-Dyt4yS-x.d.mts.map +1 -0
  62. package/dist/index-WwuuX8ZJ.d.mts +1165 -0
  63. package/dist/index-WwuuX8ZJ.d.mts.map +1 -0
  64. package/dist/{index-CJL0JAU8.d.mts → index-gOVtTm-P.d.mts} +125 -3
  65. package/dist/index-gOVtTm-P.d.mts.map +1 -0
  66. package/dist/{index-7Z9_a_iB.d.mts → index-h7m8QgcL.d.mts} +3 -3
  67. package/dist/{index-7Z9_a_iB.d.mts.map → index-h7m8QgcL.d.mts.map} +1 -1
  68. package/dist/index.d.mts +16 -13
  69. package/dist/index.mjs +59 -58
  70. package/dist/preview/index.d.mts +4 -3
  71. package/dist/preview/index.mjs +12 -12
  72. package/dist/{preview-DvP8AZuV.mjs → preview-BW7ilNWk.mjs} +3 -3
  73. package/dist/{preview-DvP8AZuV.mjs.map → preview-BW7ilNWk.mjs.map} +1 -1
  74. package/dist/preview-engine/audio.mjs +1 -1
  75. package/dist/preview-engine/chunk-44V4V5LD.mjs +1 -0
  76. package/dist/preview-engine/{chunk-5AWAOMBR.mjs → chunk-4BWBX2HM.mjs} +1 -1
  77. package/dist/preview-engine/{chunk-BEYA25UZ.mjs → chunk-4DSOZ5QG.mjs} +1 -1
  78. package/dist/preview-engine/{chunk-VVE2QHVG.mjs → chunk-4FACCLLE.mjs} +1 -1
  79. package/dist/preview-engine/{chunk-DMSZXG56.mjs → chunk-4N25ZU43.mjs} +1 -1
  80. package/dist/preview-engine/{chunk-FTCEG3SF.mjs → chunk-4RLKHFV6.mjs} +1 -1
  81. package/dist/preview-engine/chunk-4TPXZNVR.mjs +483 -0
  82. package/dist/preview-engine/chunk-4YT5YJIF.mjs +1 -0
  83. package/dist/preview-engine/{chunk-CC4NNNIY.mjs → chunk-57WXGYEV.mjs} +1 -1
  84. package/dist/preview-engine/{chunk-C4M3B2Q2.mjs → chunk-5SLBE2FX.mjs} +1 -1
  85. package/dist/preview-engine/{chunk-PM2W4VLT.mjs → chunk-5Y7SO37Q.mjs} +1 -1
  86. package/dist/preview-engine/{chunk-BJXNKMSY.mjs → chunk-64L4GUOF.mjs} +20 -6
  87. package/dist/preview-engine/{chunk-Y5K5LVOR.mjs → chunk-6BE3IL7L.mjs} +1 -1
  88. package/dist/preview-engine/{chunk-GA4HNR44.mjs → chunk-6LBFSGCI.mjs} +1 -1
  89. package/dist/preview-engine/{chunk-IB6GZJOL.mjs → chunk-6O55UROD.mjs} +1 -1
  90. package/dist/preview-engine/{chunk-SPJPM43P.mjs → chunk-6SLCECHG.mjs} +1 -1
  91. package/dist/preview-engine/chunk-77MT33VR.mjs +1 -0
  92. package/dist/preview-engine/{chunk-QCSVT73T.mjs → chunk-7A3BNAWY.mjs} +84 -25
  93. package/dist/preview-engine/{chunk-CN2VLYLB.mjs → chunk-7HW7GA76.mjs} +1 -1
  94. package/dist/preview-engine/chunk-A6OAPDIA.mjs +1 -0
  95. package/dist/preview-engine/chunk-ADLIF544.mjs +39 -0
  96. package/dist/preview-engine/{chunk-LVYVXVZO.mjs → chunk-C2GX5L5S.mjs} +1 -1
  97. package/dist/preview-engine/{chunk-4WYM72ZN.mjs → chunk-CHXR5XZK.mjs} +1 -1
  98. package/dist/preview-engine/chunk-CSLSWUUT.mjs +1 -0
  99. package/dist/preview-engine/{chunk-JSYG6OWZ.mjs → chunk-D7OMXGIZ.mjs} +1 -1
  100. package/dist/preview-engine/{chunk-RJIAES3X.mjs → chunk-EKEKYGXE.mjs} +1 -1
  101. package/dist/preview-engine/{chunk-TNJEZKXM.mjs → chunk-FH72KTSM.mjs} +1 -1
  102. package/dist/preview-engine/{chunk-P5FKRQFU.mjs → chunk-FW2UDDUT.mjs} +1 -1
  103. package/dist/preview-engine/{chunk-S2ABWY5G.mjs → chunk-GTMZOMAN.mjs} +1 -1
  104. package/dist/preview-engine/{chunk-6R3UJBL5.mjs → chunk-HGWT3RVQ.mjs} +10 -10
  105. package/dist/preview-engine/{chunk-34RJ7GAS.mjs → chunk-HKYENGC5.mjs} +1 -1
  106. package/dist/preview-engine/{chunk-7U34VKNO.mjs → chunk-HO7FXISJ.mjs} +1 -1
  107. package/dist/preview-engine/{chunk-73CNXGAK.mjs → chunk-HPQDCC4S.mjs} +1 -1
  108. package/dist/preview-engine/{chunk-ZY47XIRK.mjs → chunk-IVAA5X5H.mjs} +1 -1
  109. package/dist/preview-engine/chunk-JAAFSVAG.mjs +1 -0
  110. package/dist/preview-engine/{chunk-UXYM2G6J.mjs → chunk-JFBSNFN6.mjs} +1 -1
  111. package/dist/preview-engine/{chunk-GIICZZQI.mjs → chunk-JSKEVYKD.mjs} +1 -1
  112. package/dist/preview-engine/{chunk-EJJITH6U.mjs → chunk-K3TJJXVC.mjs} +1 -1
  113. package/dist/preview-engine/{chunk-GZWA5QJS.mjs → chunk-L2NTIWW5.mjs} +1 -1
  114. package/dist/preview-engine/{chunk-VN36PRVD.mjs → chunk-LBP7E7SJ.mjs} +1 -1
  115. package/dist/preview-engine/{chunk-34DL53D5.mjs → chunk-LTR5FXGU.mjs} +1 -1
  116. package/dist/preview-engine/{chunk-GRJJVSOV.mjs → chunk-ML7WO27M.mjs} +1 -1
  117. package/dist/preview-engine/{chunk-GN3NDRLI.mjs → chunk-NCQHOGZK.mjs} +1 -1
  118. package/dist/preview-engine/{chunk-OH5W5EL6.mjs → chunk-NTTEGJD6.mjs} +1 -1
  119. package/dist/preview-engine/{chunk-2B722GXM.mjs → chunk-OD4CSXZL.mjs} +15 -15
  120. package/dist/preview-engine/{chunk-AHQCDTD6.mjs → chunk-OOUDE4XL.mjs} +1 -1
  121. package/dist/preview-engine/chunk-PH3UUX6A.mjs +138 -0
  122. package/dist/preview-engine/chunk-PIHG6HJO.mjs +1 -0
  123. package/dist/preview-engine/{chunk-ZJ5SWTCW.mjs → chunk-RAW2I27S.mjs} +1 -1
  124. package/dist/preview-engine/{chunk-BJV2LBII.mjs → chunk-RMHL4XZ3.mjs} +1 -1
  125. package/dist/preview-engine/chunk-T6L3DO3H.mjs +1 -0
  126. package/dist/preview-engine/{chunk-2PYTDN2C.mjs → chunk-V5HU6NIW.mjs} +1 -1
  127. package/dist/preview-engine/{chunk-DVZITDQS.mjs → chunk-VRJBOFFY.mjs} +1 -1
  128. package/dist/preview-engine/{chunk-SF37HXAH.mjs → chunk-WVIDORLK.mjs} +1 -1
  129. package/dist/preview-engine/{chunk-35HMRW4I.mjs → chunk-XCQ7KN4S.mjs} +1 -1
  130. package/dist/preview-engine/{chunk-KHJZMTOS.mjs → chunk-Y2SWIWIU.mjs} +1 -1
  131. package/dist/preview-engine/{chunk-H7BSN7V7.mjs → chunk-YS3ROS25.mjs} +1 -1
  132. package/dist/preview-engine/{chunk-2DWY7UBV.mjs → chunk-YXCTOCQ2.mjs} +1 -1
  133. package/dist/preview-engine/{chunk-BVDWS3D2.mjs → chunk-ZA5LWHRM.mjs} +1 -1
  134. package/dist/preview-engine/chunk-ZGEKF34E.mjs +1974 -0
  135. package/dist/preview-engine/components.mjs +1 -1
  136. package/dist/preview-engine/effects.mjs +1 -1
  137. package/dist/preview-engine/fonts.mjs +1 -1
  138. package/dist/preview-engine/framefields.mjs +1 -1
  139. package/dist/preview-engine/player.mjs +1 -1
  140. package/dist/preview-engine/renderers-33PIDDZC.mjs +1 -0
  141. package/dist/preview-engine/{renderers-ZACSHGNZ.mjs → renderers-36P2TKPC.mjs} +1 -1
  142. package/dist/preview-engine/{renderers-TSBV4KPE.mjs → renderers-37Y5LR2S.mjs} +1 -1
  143. package/dist/preview-engine/renderers-3AZ3HY53.mjs +1 -0
  144. package/dist/preview-engine/renderers-3FGKW52B.mjs +1 -0
  145. package/dist/preview-engine/renderers-4A2FBS3Y.mjs +1 -0
  146. package/dist/preview-engine/{renderers-5TO2SXFR.mjs → renderers-4MW4NW6O.mjs} +1 -1
  147. package/dist/preview-engine/{renderers-ENMY4DKF.mjs → renderers-4SNAK77B.mjs} +1 -1
  148. package/dist/preview-engine/{renderers-Y22VSOXF.mjs → renderers-4WFRXGMR.mjs} +1 -1
  149. package/dist/preview-engine/{renderers-5KANN7XF.mjs → renderers-5K3BSBI6.mjs} +1 -1
  150. package/dist/preview-engine/renderers-65DU2F5W.mjs +1 -0
  151. package/dist/preview-engine/renderers-6CTPYQR6.mjs +1 -0
  152. package/dist/preview-engine/{renderers-NUAI4TO5.mjs → renderers-6RRWA33X.mjs} +1 -1
  153. package/dist/preview-engine/{renderers-4F7WLQD5.mjs → renderers-6RYIPQ7W.mjs} +1 -1
  154. package/dist/preview-engine/{renderers-U4M7ZCV4.mjs → renderers-AUYCQNSS.mjs} +1 -1
  155. package/dist/preview-engine/renderers-AWODRI3B.mjs +1 -0
  156. package/dist/preview-engine/renderers-BO6HHGMZ.mjs +1 -0
  157. package/dist/preview-engine/renderers-BSXYDEV7.mjs +1 -0
  158. package/dist/preview-engine/{renderers-FSI5KNGZ.mjs → renderers-CMBI4JOC.mjs} +1 -1
  159. package/dist/preview-engine/{renderers-6Z7DWAPH.mjs → renderers-CQIPHCIW.mjs} +1 -1
  160. package/dist/preview-engine/renderers-DU7KPFVV.mjs +1 -0
  161. package/dist/preview-engine/renderers-ECW2CGNU.mjs +1 -0
  162. package/dist/preview-engine/renderers-EEX22FUO.mjs +1 -0
  163. package/dist/preview-engine/{renderers-MOEC2XZZ.mjs → renderers-EILFSWSJ.mjs} +1 -1
  164. package/dist/preview-engine/{renderers-NCGH2WWJ.mjs → renderers-G2FL3IFD.mjs} +1 -1
  165. package/dist/preview-engine/{renderers-5XRKZHVT.mjs → renderers-GCQKGJ7W.mjs} +1 -1
  166. package/dist/preview-engine/{renderers-77PDUMYI.mjs → renderers-HXNSDJBY.mjs} +1 -1
  167. package/dist/preview-engine/renderers-HZBXLDKG.mjs +1 -0
  168. package/dist/preview-engine/renderers-IOXNQPQK.mjs +1 -0
  169. package/dist/preview-engine/renderers-IR44E4ZZ.mjs +1 -0
  170. package/dist/preview-engine/{renderers-TGJSOKDY.mjs → renderers-JALV3B3A.mjs} +1 -1
  171. package/dist/preview-engine/{renderers-IHGAWLUF.mjs → renderers-JMSAW7VY.mjs} +1 -1
  172. package/dist/preview-engine/{renderers-CUMVIVHI.mjs → renderers-JZYHX4XI.mjs} +1 -1
  173. package/dist/preview-engine/renderers-JZZ3ODOZ.mjs +1 -0
  174. package/dist/preview-engine/renderers-K37YL3Z7.mjs +1 -0
  175. package/dist/preview-engine/{renderers-RN2MHIFK.mjs → renderers-KICDB5Y6.mjs} +1 -1
  176. package/dist/preview-engine/renderers-KUJQV3K6.mjs +1 -0
  177. package/dist/preview-engine/renderers-KXVKLSSX.mjs +1 -0
  178. package/dist/preview-engine/{renderers-WEYAHOBK.mjs → renderers-LF6U4MR5.mjs} +1 -1
  179. package/dist/preview-engine/renderers-N4RVFX3G.mjs +1 -0
  180. package/dist/preview-engine/{renderers-PPZK6VEW.mjs → renderers-NQC4DPX4.mjs} +1 -1
  181. package/dist/preview-engine/renderers-NZWWEAYA.mjs +1 -0
  182. package/dist/preview-engine/{renderers-5UZ3YFBD.mjs → renderers-OPRXVIGT.mjs} +1 -1
  183. package/dist/preview-engine/{renderers-7C5RA3R5.mjs → renderers-OZKPOUMW.mjs} +1 -1
  184. package/dist/preview-engine/renderers-P4JJEDZB.mjs +1 -0
  185. package/dist/preview-engine/{renderers-V3AQO7AR.mjs → renderers-PGZDFDSC.mjs} +1 -1
  186. package/dist/preview-engine/renderers-Q4572F5C.mjs +1 -0
  187. package/dist/preview-engine/{renderers-PIIEUKFE.mjs → renderers-Q5YCUPYE.mjs} +1 -1
  188. package/dist/preview-engine/renderers-QAX2QWWQ.mjs +1 -0
  189. package/dist/preview-engine/{renderers-SEIAUKJF.mjs → renderers-RQ3JZE3L.mjs} +1 -1
  190. package/dist/preview-engine/renderers-SRFIEVWL.mjs +1 -0
  191. package/dist/preview-engine/renderers-SYC6WFTM.mjs +1 -0
  192. package/dist/preview-engine/{renderers-QA2HKUJJ.mjs → renderers-TKHQRERE.mjs} +1 -1
  193. package/dist/preview-engine/{renderers-A24KZK2Q.mjs → renderers-U4S577ON.mjs} +1 -1
  194. package/dist/preview-engine/{renderers-KC6ZSKCW.mjs → renderers-UBIFSF37.mjs} +1 -1
  195. package/dist/preview-engine/renderers-UH4WN3QN.mjs +1 -0
  196. package/dist/preview-engine/renderers-V4FFCAS7.mjs +1 -0
  197. package/dist/preview-engine/renderers-VGDEOZUU.mjs +1 -0
  198. package/dist/preview-engine/renderers-VJJKBX5K.mjs +1 -0
  199. package/dist/preview-engine/renderers-VJOKVDYW.mjs +1 -0
  200. package/dist/preview-engine/renderers-VUUWZUOH.mjs +1 -0
  201. package/dist/preview-engine/renderers-WG756VF3.mjs +228 -0
  202. package/dist/preview-engine/renderers-WOP5GOZP.mjs +1 -0
  203. package/dist/preview-engine/{renderers-T74CQCEN.mjs → renderers-XZ3XDQIN.mjs} +1 -1
  204. package/dist/preview-engine/renderers-Y4MGN2FR.mjs +1 -0
  205. package/dist/preview-engine/renderers-YAMYH7IK.mjs +1 -0
  206. package/dist/preview-engine/{renderers-MD3PRFZL.mjs → renderers-YJ4PJEPG.mjs} +1 -1
  207. package/dist/preview-engine/renderers-ZNLSAWW3.mjs +1 -0
  208. package/dist/preview-engine/{renderers-L6YDX6GS.mjs → renderers-ZQVKE5AO.mjs} +1 -1
  209. package/dist/preview-engine/signals.mjs +1 -1
  210. package/dist/preview-engine/{src-4IUYUKIZ.mjs → src-GPF7RIBU.mjs} +1 -1
  211. package/dist/{program-CKpKkllV.mjs → program-BUjUTdxq.mjs} +44 -17
  212. package/dist/program-BUjUTdxq.mjs.map +1 -0
  213. package/dist/registry/focus-zoom.json +9 -2
  214. package/dist/renderer/index.d.mts +4 -3
  215. package/dist/renderer/index.mjs +4 -4
  216. package/dist/{renderer-BF0hx_iJ.mjs → renderer--f8JHHyT.mjs} +5 -5
  217. package/dist/{renderer-BF0hx_iJ.mjs.map → renderer--f8JHHyT.mjs.map} +1 -1
  218. package/dist/{renderer-CHr7MiYW.mjs → renderer-1KgHl_ls.mjs} +5 -5
  219. package/dist/{renderer-CHr7MiYW.mjs.map → renderer-1KgHl_ls.mjs.map} +1 -1
  220. package/dist/renderer-6sNr6ZRJ.mjs +6 -0
  221. package/dist/{renderer-BgO6BA_z.mjs → renderer-7c0ecb-L.mjs} +74 -21
  222. package/dist/renderer-7c0ecb-L.mjs.map +1 -0
  223. package/dist/{renderer-D61B9bXF.mjs → renderer-7w9PZmWJ.mjs} +4 -4
  224. package/dist/{renderer-D61B9bXF.mjs.map → renderer-7w9PZmWJ.mjs.map} +1 -1
  225. package/dist/{renderer-DVCJjVn7.mjs → renderer-B3WHDQeB.mjs} +5 -5
  226. package/dist/{renderer-DVCJjVn7.mjs.map → renderer-B3WHDQeB.mjs.map} +1 -1
  227. package/dist/{renderer-C7eFJf0_.mjs → renderer-B84T5I98.mjs} +5 -5
  228. package/dist/{renderer-C7eFJf0_.mjs.map → renderer-B84T5I98.mjs.map} +1 -1
  229. package/dist/{renderer-EaLUCobW.mjs → renderer-B8i4d1Rc.mjs} +4 -4
  230. package/dist/{renderer-EaLUCobW.mjs.map → renderer-B8i4d1Rc.mjs.map} +1 -1
  231. package/dist/renderer-BDHGxD6p.mjs +5 -0
  232. package/dist/{renderer-WCZu2Rf5.mjs → renderer-BFmVDdVs.mjs} +4 -4
  233. package/dist/{renderer-WCZu2Rf5.mjs.map → renderer-BFmVDdVs.mjs.map} +1 -1
  234. package/dist/{renderer-bAKUeHF3.mjs → renderer-BG_cnGbF.mjs} +5 -5
  235. package/dist/{renderer-bAKUeHF3.mjs.map → renderer-BG_cnGbF.mjs.map} +1 -1
  236. package/dist/{renderer-BPWDsufX.mjs → renderer-BIToh0CA.mjs} +3 -3
  237. package/dist/{renderer-BPWDsufX.mjs.map → renderer-BIToh0CA.mjs.map} +1 -1
  238. package/dist/{renderer-mNSyac1V.mjs → renderer-BOg8i8eF.mjs} +11 -2
  239. package/dist/{renderer-mNSyac1V.mjs.map → renderer-BOg8i8eF.mjs.map} +1 -1
  240. package/dist/{renderer-BlPqTEii.mjs → renderer-BSW4CGZF.mjs} +4 -4
  241. package/dist/{renderer-BlPqTEii.mjs.map → renderer-BSW4CGZF.mjs.map} +1 -1
  242. package/dist/{renderer-D7Al3_-5.mjs → renderer-BT4im6c0.mjs} +5 -5
  243. package/dist/{renderer-D7Al3_-5.mjs.map → renderer-BT4im6c0.mjs.map} +1 -1
  244. package/dist/renderer-BT9dvpk2.mjs +5 -0
  245. package/dist/{renderer-BpIF1QIE.mjs → renderer-BTLZBD63.mjs} +5 -5
  246. package/dist/{renderer-BpIF1QIE.mjs.map → renderer-BTLZBD63.mjs.map} +1 -1
  247. package/dist/{renderer-CcvvoKiZ.mjs → renderer-Bb_HHUQ0.mjs} +5 -5
  248. package/dist/{renderer-CcvvoKiZ.mjs.map → renderer-Bb_HHUQ0.mjs.map} +1 -1
  249. package/dist/renderer-Bd-NuU3M.mjs +3 -0
  250. package/dist/{renderer-sCovEubT.mjs → renderer-BdRwbLLV.mjs} +4 -4
  251. package/dist/{renderer-sCovEubT.mjs.map → renderer-BdRwbLLV.mjs.map} +1 -1
  252. package/dist/{renderer-DNQvOrkY.mjs → renderer-BeJoW-nG.mjs} +5 -5
  253. package/dist/{renderer-DNQvOrkY.mjs.map → renderer-BeJoW-nG.mjs.map} +1 -1
  254. package/dist/renderer-BfaRh0qy.mjs +5 -0
  255. package/dist/{renderer-B522Dkdk.mjs → renderer-BhNZn2DU.mjs} +4 -4
  256. package/dist/{renderer-B522Dkdk.mjs.map → renderer-BhNZn2DU.mjs.map} +1 -1
  257. package/dist/{renderer-D47AEJE_.mjs → renderer-Bif8bwCq.mjs} +3 -3
  258. package/dist/{renderer-D47AEJE_.mjs.map → renderer-Bif8bwCq.mjs.map} +1 -1
  259. package/dist/renderer-BlwXKV7Y.mjs +5 -0
  260. package/dist/{renderer-CwFqqpWY.mjs → renderer-Bm91Xv6l.mjs} +4 -4
  261. package/dist/{renderer-CwFqqpWY.mjs.map → renderer-Bm91Xv6l.mjs.map} +1 -1
  262. package/dist/{renderer-SSBL4M1o.mjs → renderer-BnN3JH9u.mjs} +20 -7
  263. package/dist/renderer-BnN3JH9u.mjs.map +1 -0
  264. package/dist/{renderer-8QIwXh7O.mjs → renderer-Bo5GwErU.mjs} +6 -6
  265. package/dist/{renderer-8QIwXh7O.mjs.map → renderer-Bo5GwErU.mjs.map} +1 -1
  266. package/dist/{renderer-DF-yvIrV.mjs → renderer-Br_aJ_b7.mjs} +4 -4
  267. package/dist/{renderer-DF-yvIrV.mjs.map → renderer-Br_aJ_b7.mjs.map} +1 -1
  268. package/dist/{renderer-DmkWrWAk.mjs → renderer-BvRaVByi.mjs} +3 -3
  269. package/dist/{renderer-DmkWrWAk.mjs.map → renderer-BvRaVByi.mjs.map} +1 -1
  270. package/dist/renderer-C40yZK3x.mjs +5 -0
  271. package/dist/renderer-C5MjQ7L8.mjs +5 -0
  272. package/dist/renderer-C8LjKYnS.mjs +5 -0
  273. package/dist/renderer-C9q9H_qa.mjs +5 -0
  274. package/dist/renderer-CC4fhNup.mjs +3 -0
  275. package/dist/{renderer-GBmWjBvy.mjs → renderer-CDfCaqV4.mjs} +3 -3
  276. package/dist/{renderer-GBmWjBvy.mjs.map → renderer-CDfCaqV4.mjs.map} +1 -1
  277. package/dist/renderer-CF9ta9Rm.mjs +5 -0
  278. package/dist/{renderer-DkRSZg5g.mjs → renderer-CKlNHDKI.mjs} +5 -5
  279. package/dist/{renderer-DkRSZg5g.mjs.map → renderer-CKlNHDKI.mjs.map} +1 -1
  280. package/dist/{renderer-CYC32bDW.mjs → renderer-CLRrcT_3.mjs} +5 -5
  281. package/dist/{renderer-CYC32bDW.mjs.map → renderer-CLRrcT_3.mjs.map} +1 -1
  282. package/dist/{renderer-DpruWmZU.mjs → renderer-CO1PwItH.mjs} +4 -4
  283. package/dist/{renderer-DpruWmZU.mjs.map → renderer-CO1PwItH.mjs.map} +1 -1
  284. package/dist/renderer-CO205Gr9.mjs +5 -0
  285. package/dist/renderer-CSm8UXLP.mjs +5 -0
  286. package/dist/renderer-CSy8HRtF.mjs +5 -0
  287. package/dist/{renderer-pHWEHDnM.mjs → renderer-CTSvHf6g.mjs} +5 -5
  288. package/dist/{renderer-pHWEHDnM.mjs.map → renderer-CTSvHf6g.mjs.map} +1 -1
  289. package/dist/{renderer-hSCfnvaK.mjs → renderer-CWmlfdLb.mjs} +5 -5
  290. package/dist/{renderer-hSCfnvaK.mjs.map → renderer-CWmlfdLb.mjs.map} +1 -1
  291. package/dist/{renderer--fkmiVjl.mjs → renderer-CanNjQuL.mjs} +4 -4
  292. package/dist/{renderer--fkmiVjl.mjs.map → renderer-CanNjQuL.mjs.map} +1 -1
  293. package/dist/renderer-CdNRWDsA.mjs +5 -0
  294. package/dist/{renderer-DFzI3yI_.mjs → renderer-CeNAgCE2.mjs} +3 -3
  295. package/dist/{renderer-DFzI3yI_.mjs.map → renderer-CeNAgCE2.mjs.map} +1 -1
  296. package/dist/{renderer-BdyopiLC.mjs → renderer-Ch1qZ2PT.mjs} +4 -4
  297. package/dist/{renderer-BdyopiLC.mjs.map → renderer-Ch1qZ2PT.mjs.map} +1 -1
  298. package/dist/{renderer-CQvmbRQ5.mjs → renderer-Chfo4G9t.mjs} +5 -5
  299. package/dist/{renderer-CQvmbRQ5.mjs.map → renderer-Chfo4G9t.mjs.map} +1 -1
  300. package/dist/{renderer-DEmYyaqj.mjs → renderer-Ck-NLzz0.mjs} +4 -4
  301. package/dist/{renderer-DEmYyaqj.mjs.map → renderer-Ck-NLzz0.mjs.map} +1 -1
  302. package/dist/renderer-CkAjiGRB.mjs +5 -0
  303. package/dist/renderer-CmryuPBm.mjs +5 -0
  304. package/dist/renderer-CnEwne4L.mjs +5 -0
  305. package/dist/{renderer-BlvGcyAN.mjs → renderer-CsRuEpR2.mjs} +3 -3
  306. package/dist/{renderer-BlvGcyAN.mjs.map → renderer-CsRuEpR2.mjs.map} +1 -1
  307. package/dist/{renderer-SWr3vbrV.mjs → renderer-CtulmkqT.mjs} +3 -3
  308. package/dist/{renderer-SWr3vbrV.mjs.map → renderer-CtulmkqT.mjs.map} +1 -1
  309. package/dist/{renderer-DTqDy2m9.mjs → renderer-CwAuWLWm.mjs} +3 -3
  310. package/dist/{renderer-DTqDy2m9.mjs.map → renderer-CwAuWLWm.mjs.map} +1 -1
  311. package/dist/{renderer-B2jjxsjO.mjs → renderer-CxabOSkk.mjs} +4 -4
  312. package/dist/{renderer-B2jjxsjO.mjs.map → renderer-CxabOSkk.mjs.map} +1 -1
  313. package/dist/{renderer-DPAD6fL1.mjs → renderer-CybBR8AL.mjs} +425 -115
  314. package/dist/renderer-CybBR8AL.mjs.map +1 -0
  315. package/dist/{renderer-DO-KbpYZ.mjs → renderer-D1tDMuD0.mjs} +5 -5
  316. package/dist/{renderer-DO-KbpYZ.mjs.map → renderer-D1tDMuD0.mjs.map} +1 -1
  317. package/dist/renderer-D4QDoqOG.mjs +5 -0
  318. package/dist/{renderer-Bfk6A7UO.mjs → renderer-D7DlNOVi.mjs} +5 -5
  319. package/dist/{renderer-Bfk6A7UO.mjs.map → renderer-D7DlNOVi.mjs.map} +1 -1
  320. package/dist/renderer-D7cS2a8z.mjs +5 -0
  321. package/dist/{renderer-g_vrrAQU.mjs → renderer-D7lApyWZ.mjs} +3 -3
  322. package/dist/{renderer-g_vrrAQU.mjs.map → renderer-D7lApyWZ.mjs.map} +1 -1
  323. package/dist/renderer-D85CNC-b.mjs +5 -0
  324. package/dist/{renderer-DqvoMLca.mjs → renderer-DAfCcnCz.mjs} +5 -5
  325. package/dist/{renderer-DqvoMLca.mjs.map → renderer-DAfCcnCz.mjs.map} +1 -1
  326. package/dist/{renderer-D7r6onRT.mjs → renderer-DAug14gu.mjs} +4 -4
  327. package/dist/{renderer-D7r6onRT.mjs.map → renderer-DAug14gu.mjs.map} +1 -1
  328. package/dist/{renderer-DMvmf3T2.mjs → renderer-DBfx6QX1.mjs} +3 -3
  329. package/dist/renderer-DC9IoJNz.mjs +5 -0
  330. package/dist/renderer-DCMoBppL.mjs +1062 -0
  331. package/dist/renderer-DCMoBppL.mjs.map +1 -0
  332. package/dist/renderer-DIDh0gFm.mjs +5 -0
  333. package/dist/{renderer-DKgPVOLL.d.mts → renderer-DJuVX3c5.d.mts} +2 -2
  334. package/dist/{renderer-DKgPVOLL.d.mts.map → renderer-DJuVX3c5.d.mts.map} +1 -1
  335. package/dist/{renderer-sYSkIUfo.mjs → renderer-DKptrHeL.mjs} +5 -5
  336. package/dist/{renderer-sYSkIUfo.mjs.map → renderer-DKptrHeL.mjs.map} +1 -1
  337. package/dist/renderer-DLmJ9GWE.mjs +5 -0
  338. package/dist/renderer-DM7PUWP9.mjs +5 -0
  339. package/dist/{renderer-C41U1tK6.mjs → renderer-DMtzPqYo.mjs} +211 -72
  340. package/dist/renderer-DMtzPqYo.mjs.map +1 -0
  341. package/dist/renderer-DPWFDxIO.mjs +5 -0
  342. package/dist/renderer-DUCByhAk.mjs +5 -0
  343. package/dist/renderer-DVOtnCKH.mjs +5 -0
  344. package/dist/renderer-DVrN2bW8.mjs +5 -0
  345. package/dist/{renderer-zXPVLRlD.mjs → renderer-D_rEtJAH.mjs} +5 -5
  346. package/dist/{renderer-zXPVLRlD.mjs.map → renderer-D_rEtJAH.mjs.map} +1 -1
  347. package/dist/{renderer-BIGFP1cF.mjs → renderer-Dak_wVh9.mjs} +2 -2
  348. package/dist/{renderer-BIGFP1cF.mjs.map → renderer-Dak_wVh9.mjs.map} +1 -1
  349. package/dist/{renderer-DX41niRU.mjs → renderer-Dd2XrdqA.mjs} +4 -4
  350. package/dist/{renderer-DX41niRU.mjs.map → renderer-Dd2XrdqA.mjs.map} +1 -1
  351. package/dist/renderer-DdOVwfG4.mjs +5 -0
  352. package/dist/{renderer-1r-Uq-Ae.mjs → renderer-Dih1rtT6.mjs} +3 -3
  353. package/dist/{renderer-1r-Uq-Ae.mjs.map → renderer-Dih1rtT6.mjs.map} +1 -1
  354. package/dist/{renderer-BXJXziIt.mjs → renderer-DjiebKHO.mjs} +3 -3
  355. package/dist/{renderer-BXJXziIt.mjs.map → renderer-DjiebKHO.mjs.map} +1 -1
  356. package/dist/{renderer-DIw3UtEU.mjs → renderer-DkAFIpzB.mjs} +5 -5
  357. package/dist/{renderer-DIw3UtEU.mjs.map → renderer-DkAFIpzB.mjs.map} +1 -1
  358. package/dist/{renderer-DDEkFbVI.mjs → renderer-DlbSqOJR.mjs} +5 -5
  359. package/dist/{renderer-DDEkFbVI.mjs.map → renderer-DlbSqOJR.mjs.map} +1 -1
  360. package/dist/{renderer-C7L8Ceqr.mjs → renderer-DrExCXnp.mjs} +4 -4
  361. package/dist/{renderer-C7L8Ceqr.mjs.map → renderer-DrExCXnp.mjs.map} +1 -1
  362. package/dist/{renderer-_iMAO698.mjs → renderer-DsPLMzy1.mjs} +2 -2
  363. package/dist/{renderer-_iMAO698.mjs.map → renderer-DsPLMzy1.mjs.map} +1 -1
  364. package/dist/{renderer-BAYTI6jj.mjs → renderer-Dswrn-yi.mjs} +4 -4
  365. package/dist/{renderer-BAYTI6jj.mjs.map → renderer-Dswrn-yi.mjs.map} +1 -1
  366. package/dist/renderer-DtCe9ouu.mjs +5 -0
  367. package/dist/{renderer-DXEWbnRF.mjs → renderer-DtCmG-tT.mjs} +4 -4
  368. package/dist/{renderer-DXEWbnRF.mjs.map → renderer-DtCmG-tT.mjs.map} +1 -1
  369. package/dist/{renderer-B39I6CQw.mjs → renderer-DxiF4O6X.mjs} +4 -4
  370. package/dist/{renderer-B39I6CQw.mjs.map → renderer-DxiF4O6X.mjs.map} +1 -1
  371. package/dist/{renderer-BAusZ6Vu.mjs → renderer-DxkvDAA6.mjs} +4 -4
  372. package/dist/{renderer-BAusZ6Vu.mjs.map → renderer-DxkvDAA6.mjs.map} +1 -1
  373. package/dist/{renderer-ktWXVYka.mjs → renderer-FFLnACY-.mjs} +6 -6
  374. package/dist/{renderer-ktWXVYka.mjs.map → renderer-FFLnACY-.mjs.map} +1 -1
  375. package/dist/{renderer-Lth37j17.mjs → renderer-H4CZt3Z5.mjs} +3 -3
  376. package/dist/{renderer-B-ur0Ej8.mjs → renderer-JASAZUyY.mjs} +4 -4
  377. package/dist/{renderer-B-ur0Ej8.mjs.map → renderer-JASAZUyY.mjs.map} +1 -1
  378. package/dist/renderer-Mg0kr9Fm.mjs +5 -0
  379. package/dist/{renderer-CCycwCEB.mjs → renderer-R2kLaNuR.mjs} +3 -3
  380. package/dist/{renderer-CCycwCEB.mjs.map → renderer-R2kLaNuR.mjs.map} +1 -1
  381. package/dist/renderer-T35PsSw5.mjs +5 -0
  382. package/dist/{renderer-cod5Ona9.mjs → renderer-fWW0bsVl.mjs} +3 -3
  383. package/dist/renderer-iSZ5NT-J.mjs +5 -0
  384. package/dist/{renderer-oKRF4A0M.mjs → renderer-jBKpX3Xg.mjs} +4 -4
  385. package/dist/{renderer-oKRF4A0M.mjs.map → renderer-jBKpX3Xg.mjs.map} +1 -1
  386. package/dist/{renderer-Xv6GfNUI.mjs → renderer-kFx1_MmK.mjs} +3 -3
  387. package/dist/{renderer-Xv6GfNUI.mjs.map → renderer-kFx1_MmK.mjs.map} +1 -1
  388. package/dist/{renderer-DbRZe0Re.mjs → renderer-muB4slsV.mjs} +5 -5
  389. package/dist/{renderer-DbRZe0Re.mjs.map → renderer-muB4slsV.mjs.map} +1 -1
  390. package/dist/renderer-nEmMjQ1a.mjs +5 -0
  391. package/dist/{renderer-CpUJBOfb.mjs → renderer-oiDoNzhv.mjs} +3 -3
  392. package/dist/renderer-pG1nyfjE.mjs +5 -0
  393. package/dist/{renderer-BX7jS14r.d.mts → renderer-tcypOFaB.d.mts} +23 -4
  394. package/dist/renderer-tcypOFaB.d.mts.map +1 -0
  395. package/dist/{renderer-CiQhD8Gg.mjs → renderer-vPxMXiv8.mjs} +5 -5
  396. package/dist/{renderer-CiQhD8Gg.mjs.map → renderer-vPxMXiv8.mjs.map} +1 -1
  397. package/dist/renderer-vbb9e3E3.mjs +5 -0
  398. package/dist/{renderer-D8bBHrWC.mjs → renderer-vpsU_4XW.mjs} +5 -5
  399. package/dist/{renderer-D8bBHrWC.mjs.map → renderer-vpsU_4XW.mjs.map} +1 -1
  400. package/dist/{renderer-DiY70S8S.mjs → renderer-w7mlMSC-.mjs} +4 -4
  401. package/dist/{renderer-DiY70S8S.mjs.map → renderer-w7mlMSC-.mjs.map} +1 -1
  402. package/dist/{renderers-CP8CFWDs-DH2oktaC.mjs → renderers-CP8CFWDs-OgyUiyrr.mjs} +4 -4
  403. package/dist/{renderers-CP8CFWDs-DH2oktaC.mjs.map → renderers-CP8CFWDs-OgyUiyrr.mjs.map} +1 -1
  404. package/dist/sam/index.d.mts +4 -0
  405. package/dist/sam/index.mjs +3 -0
  406. package/dist/signals/index.d.mts +7 -6
  407. package/dist/signals/index.mjs +8 -8
  408. package/dist/{signals-CXwgAUp-.mjs → signals-BfJ1aqpT.mjs} +4 -4
  409. package/dist/{signals-CXwgAUp-.mjs.map → signals-BfJ1aqpT.mjs.map} +1 -1
  410. package/dist/{renderer-B2P1vgb7.mjs → src-BU6vm9sP-DFJ3phW0.mjs} +81 -1016
  411. package/dist/src-BU6vm9sP-DFJ3phW0.mjs.map +1 -0
  412. package/dist/{src-DFEqficI.mjs → src-C3f3zXYg.mjs} +251 -37
  413. package/dist/src-C3f3zXYg.mjs.map +1 -0
  414. package/package.json +75 -69
  415. package/dist/audio-Ccpl9mjV.d.mts.map +0 -1
  416. package/dist/dist-C1cCW7Bt.mjs.map +0 -1
  417. package/dist/dist-DVMepKaO.mjs.map +0 -1
  418. package/dist/gpu-CMaa63nz.mjs.map +0 -1
  419. package/dist/index-Bnh42ouE.d.mts.map +0 -1
  420. package/dist/index-CJL0JAU8.d.mts.map +0 -1
  421. package/dist/index-CQ-bbZk3.d.mts.map +0 -1
  422. package/dist/index-D5UDyVMb.d.mts.map +0 -1
  423. package/dist/preview-engine/chunk-4FY4TNST.mjs +0 -1
  424. package/dist/preview-engine/chunk-7LDSMOO3.mjs +0 -1
  425. package/dist/preview-engine/chunk-AGAZJZWI.mjs +0 -1
  426. package/dist/preview-engine/chunk-BXPM5SJ3.mjs +0 -1
  427. package/dist/preview-engine/chunk-D73ZKPFN.mjs +0 -138
  428. package/dist/preview-engine/chunk-FKG27DVO.mjs +0 -4
  429. package/dist/preview-engine/chunk-KOVN277Z.mjs +0 -1
  430. package/dist/preview-engine/chunk-KXLXP66K.mjs +0 -1974
  431. package/dist/preview-engine/chunk-MIEH74UH.mjs +0 -480
  432. package/dist/preview-engine/chunk-XYGDTPO7.mjs +0 -39
  433. package/dist/preview-engine/chunk-YGKO4NIU.mjs +0 -1
  434. package/dist/preview-engine/renderers-3BOQOUEU.mjs +0 -1
  435. package/dist/preview-engine/renderers-3M2FESR2.mjs +0 -1
  436. package/dist/preview-engine/renderers-6LHIWKMZ.mjs +0 -1
  437. package/dist/preview-engine/renderers-7XHO6M3B.mjs +0 -228
  438. package/dist/preview-engine/renderers-A43VCJ7X.mjs +0 -1
  439. package/dist/preview-engine/renderers-AKY464RY.mjs +0 -1
  440. package/dist/preview-engine/renderers-C5UO6PL5.mjs +0 -1
  441. package/dist/preview-engine/renderers-C64QSZO4.mjs +0 -1
  442. package/dist/preview-engine/renderers-CIRCR6NG.mjs +0 -1
  443. package/dist/preview-engine/renderers-CIWOPETY.mjs +0 -1
  444. package/dist/preview-engine/renderers-CZEZCELP.mjs +0 -1
  445. package/dist/preview-engine/renderers-FSQMWHQM.mjs +0 -1
  446. package/dist/preview-engine/renderers-FZEW5C23.mjs +0 -1
  447. package/dist/preview-engine/renderers-HCET2IML.mjs +0 -1
  448. package/dist/preview-engine/renderers-IUOOC6K7.mjs +0 -1
  449. package/dist/preview-engine/renderers-KYYJLVIJ.mjs +0 -1
  450. package/dist/preview-engine/renderers-L4GE7WV3.mjs +0 -1
  451. package/dist/preview-engine/renderers-LRAFWKCO.mjs +0 -1
  452. package/dist/preview-engine/renderers-LU3XZWEB.mjs +0 -1
  453. package/dist/preview-engine/renderers-MDHPQY6D.mjs +0 -1
  454. package/dist/preview-engine/renderers-ND2WV4K3.mjs +0 -1
  455. package/dist/preview-engine/renderers-NJ5CWVVH.mjs +0 -1
  456. package/dist/preview-engine/renderers-NKXYPR3V.mjs +0 -1
  457. package/dist/preview-engine/renderers-NWR66CGK.mjs +0 -1
  458. package/dist/preview-engine/renderers-O22WTBRM.mjs +0 -1
  459. package/dist/preview-engine/renderers-PBBA7LQB.mjs +0 -1
  460. package/dist/preview-engine/renderers-Q6LJRZ7R.mjs +0 -1
  461. package/dist/preview-engine/renderers-RMEACSRL.mjs +0 -1
  462. package/dist/preview-engine/renderers-SP42LCSI.mjs +0 -1
  463. package/dist/preview-engine/renderers-T7SZA3BX.mjs +0 -1
  464. package/dist/preview-engine/renderers-VADTDAHD.mjs +0 -1
  465. package/dist/preview-engine/renderers-VNNWI5C3.mjs +0 -1
  466. package/dist/preview-engine/renderers-WZ75MLP3.mjs +0 -1
  467. package/dist/preview-engine/renderers-XB5R4UQA.mjs +0 -1
  468. package/dist/preview-engine/renderers-YBIUZDGQ.mjs +0 -1
  469. package/dist/preview-engine/renderers-YESJR4O7.mjs +0 -1
  470. package/dist/preview-engine/renderers-YKSRZRRT.mjs +0 -1
  471. package/dist/program-CKpKkllV.mjs.map +0 -1
  472. package/dist/renderer--Ac-dg4A.mjs +0 -5
  473. package/dist/renderer--N7TMqzU.mjs +0 -5
  474. package/dist/renderer-2ecmdOae.mjs +0 -5
  475. package/dist/renderer-B2P1vgb7.mjs.map +0 -1
  476. package/dist/renderer-B5RJp5g-.mjs +0 -5
  477. package/dist/renderer-B7xyT1Vb.mjs +0 -5
  478. package/dist/renderer-BBeArN_x.mjs +0 -5
  479. package/dist/renderer-BCAZDu-r.mjs +0 -5
  480. package/dist/renderer-BJnhik7Y.mjs +0 -5
  481. package/dist/renderer-BX7jS14r.d.mts.map +0 -1
  482. package/dist/renderer-BgO6BA_z.mjs.map +0 -1
  483. package/dist/renderer-BxRW8MZO.mjs +0 -5
  484. package/dist/renderer-C-lfsEAN.mjs +0 -5
  485. package/dist/renderer-C41U1tK6.mjs.map +0 -1
  486. package/dist/renderer-C6nOFN4-.mjs +0 -5
  487. package/dist/renderer-C84TSQmS.mjs +0 -5
  488. package/dist/renderer-C8_6YofT.mjs +0 -5
  489. package/dist/renderer-COb3tOPG.mjs +0 -5
  490. package/dist/renderer-CSCIzaLy.mjs +0 -5
  491. package/dist/renderer-CmI4c8MS.mjs +0 -5
  492. package/dist/renderer-CqVltdX9.mjs +0 -5
  493. package/dist/renderer-D-FpMzLY.mjs +0 -5
  494. package/dist/renderer-D-Oyn9mG.mjs +0 -5
  495. package/dist/renderer-D2QrkA8_.mjs +0 -5
  496. package/dist/renderer-D5bjOx83.mjs +0 -3
  497. package/dist/renderer-D64r4iN-.mjs +0 -5
  498. package/dist/renderer-DCq6YkgP.mjs +0 -5
  499. package/dist/renderer-DDHG3GdR.mjs +0 -5
  500. package/dist/renderer-DMdNfcud.mjs +0 -6
  501. package/dist/renderer-DPAD6fL1.mjs.map +0 -1
  502. package/dist/renderer-DZQXZ4lK.mjs +0 -5
  503. package/dist/renderer-DczJJLA1.mjs +0 -5
  504. package/dist/renderer-DfqJj9oe.mjs +0 -5
  505. package/dist/renderer-DgO9ihVJ.mjs +0 -5
  506. package/dist/renderer-DhgnQZYb.mjs +0 -5
  507. package/dist/renderer-DjxKjHMf.mjs +0 -5
  508. package/dist/renderer-DnRDW2Oz.mjs +0 -3
  509. package/dist/renderer-DqLA5cdR.mjs +0 -5
  510. package/dist/renderer-Dudp6ZlH.mjs +0 -5
  511. package/dist/renderer-SSBL4M1o.mjs.map +0 -1
  512. package/dist/renderer-_jC5KIT1.mjs +0 -5
  513. package/dist/renderer-cTgAuVmJ.mjs +0 -5
  514. package/dist/renderer-nVKDvDLO.mjs +0 -5
  515. package/dist/renderer-pZ6_pUo1.mjs +0 -5
  516. package/dist/src-DFEqficI.mjs.map +0 -1
  517. /package/dist/{chunk-BcJoO4Nm.mjs → chunk-W71TSjRM.mjs} +0 -0
  518. /package/dist/{renderer-COqFNSfV.mjs → renderer-B6rZUBwE.mjs} +0 -0
@@ -1 +1 @@
1
- import{a as k,b as l,c as m,d as n}from"./chunk-2CECZN67.mjs";import{a as j}from"./chunk-P5FKRQFU.mjs";import{a as g}from"./chunk-34RJ7GAS.mjs";import{a as b}from"./chunk-BEYA25UZ.mjs";import{a as c}from"./chunk-ZJ5SWTCW.mjs";import{a as d}from"./chunk-TNJEZKXM.mjs";import{a as e}from"./chunk-73CNXGAK.mjs";import{a as f}from"./chunk-GRJJVSOV.mjs";import{a}from"./chunk-K3C6GUQD.mjs";import{a as h}from"./chunk-ZY47XIRK.mjs";import{b as i}from"./chunk-C4M3B2Q2.mjs";import"./chunk-HOV6DDBZ.mjs";import"./chunk-6FULVULN.mjs";import"./chunk-UZTA2EUU.mjs";import"./chunk-P4Y3PMJF.mjs";import"./chunk-RECQ74RP.mjs";import"./chunk-32WC4FRR.mjs";import"./chunk-XOF6UTZX.mjs";import"./chunk-VVY4PG5E.mjs";import"./chunk-KOVN277Z.mjs";import"./chunk-ULOFDFHJ.mjs";import"./chunk-Y4NIR77Z.mjs";export{a as WebGPUAudioProcessor,d as audioFadeRenderer,h as audioSignalExtractorRenderer,b as compressorRenderer,c as delayRenderer,n as encodeStereoWav,i as mixAudioTracks,l as mixSfxInto,e as noiseGateRenderer,f as parametricEqRenderer,k as renderSfx,g as reverbRenderer,m as softLimit,j as stereoPanningRenderer};
1
+ import{a as k,b as l,c as m,d as n}from"./chunk-2CECZN67.mjs";import{a as j}from"./chunk-FW2UDDUT.mjs";import{a as g}from"./chunk-HKYENGC5.mjs";import{a as b}from"./chunk-4DSOZ5QG.mjs";import{a as c}from"./chunk-RAW2I27S.mjs";import{a as d}from"./chunk-FH72KTSM.mjs";import{a as e}from"./chunk-HPQDCC4S.mjs";import{a as f}from"./chunk-ML7WO27M.mjs";import{a}from"./chunk-K3C6GUQD.mjs";import{a as h}from"./chunk-IVAA5X5H.mjs";import{b as i}from"./chunk-5SLBE2FX.mjs";import"./chunk-HOV6DDBZ.mjs";import"./chunk-6FULVULN.mjs";import"./chunk-UZTA2EUU.mjs";import"./chunk-P4Y3PMJF.mjs";import"./chunk-RECQ74RP.mjs";import"./chunk-32WC4FRR.mjs";import"./chunk-XOF6UTZX.mjs";import"./chunk-VVY4PG5E.mjs";import"./chunk-77MT33VR.mjs";import"./chunk-ULOFDFHJ.mjs";import"./chunk-Y4NIR77Z.mjs";export{a as WebGPUAudioProcessor,d as audioFadeRenderer,h as audioSignalExtractorRenderer,b as compressorRenderer,c as delayRenderer,n as encodeStereoWav,i as mixAudioTracks,l as mixSfxInto,e as noiseGateRenderer,f as parametricEqRenderer,k as renderSfx,g as reverbRenderer,m as softLimit,j as stereoPanningRenderer};
@@ -0,0 +1 @@
1
+ import{a as u,b}from"./chunk-JAAFSVAG.mjs";import{g as f}from"./chunk-Y4NIR77Z.mjs";f();f();function p(i,e){let t=i.createTexture({size:[e.width,e.height],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return e.bitmap?i.queue.copyExternalImageToTexture({source:e.bitmap},{texture:t,premultipliedAlpha:!0},[e.width,e.height]):e.buffer&&i.queue.writeTexture({texture:t},e.buffer,{bytesPerRow:e.width*4},[e.width,e.height]),t}var w=class{cache=new Map;async load(e,t,l,m){let c=Math.max(1,Math.ceil(t)),h=Math.max(1,Math.ceil(l)),s=`${e}-${c}-${h}-${m}`,a=this.cache.get(s);return a||(a=(async()=>{let o;if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith("data:")||!m){let r=await fetch(e);if(!r.ok)throw new Error(`Failed to fetch SVG: ${e}`);o=await r.text()}else{let r=e;if(r.startsWith("file://"))try{r=new URL(r).pathname}catch{r=r.replace(/^file:\/\//,"")}try{o=await(await import("./shims/fs-promises.mjs")).readFile(r,"utf-8")}catch{let n=await fetch(e);if(!n.ok)throw new Error(`Failed to fetch SVG: ${e}`);o=await n.text()}}if(m){let{renderAsync:r}=await import("./resvg-js-U6G4MNRZ.mjs"),n=await r(o,{fitTo:{mode:"width",value:c}});return{width:n.width,height:n.height,buffer:new Uint8Array(n.pixels)}}let y=new Blob([o],{type:"image/svg+xml"}),g=URL.createObjectURL(y),d=new Image;await new Promise((r,n)=>{d.onload=()=>r(),d.onerror=()=>n(new Error(`Failed to load SVG image: ${e}`)),d.src=g});let x=new OffscreenCanvas(c,h);x.getContext("2d").drawImage(d,0,0,c,h),URL.revokeObjectURL(g);let T=await createImageBitmap(x);return{width:c,height:h,bitmap:T}})(),this.cache.set(s,a),a.catch(()=>this.cache.delete(s))),a}},U=new w;async function E(i,e,t){let l=i.renderer.getCurrentTransform(),m=b(t.matrix?l.multiply(t.matrix):l),c=Math.max(1,Math.ceil(t.dstRect.width*m)),h=Math.max(1,Math.ceil(t.dstRect.height*m)),s=`${t.src}-${c}-${h}`,a=u.acquire(s);if(!a)try{let o=await U.load(t.src,c,h,t.isHeadless??!1);a=u.acquire(s),a||(a=p(i.device,o),u.set(s,a,i.device))}catch(o){console.error("Failed to load SVG texture:",o);return}i.renderer.drawTexture(e,a,t.dstRect,{opacity:t.opacity??1,transform:t.matrix}),u.release(s)}export{p as a,E as b};
@@ -1,4 +1,4 @@
1
- import{a as W,d as V,e as $,f as j,g as E,h as F,j as A,k as Y,m as q}from"./chunk-IB6GZJOL.mjs";import{d as p}from"./chunk-VVY4PG5E.mjs";import{g as O}from"./chunk-KOVN277Z.mjs";import{g as C}from"./chunk-Y4NIR77Z.mjs";C();C();var ne=`
1
+ import{a as W,d as V,e as $,f as j,g as E,h as F,k as A,l as Y,n as q}from"./chunk-6O55UROD.mjs";import{d as p}from"./chunk-VVY4PG5E.mjs";import{g as O}from"./chunk-77MT33VR.mjs";import{g as C}from"./chunk-Y4NIR77Z.mjs";C();C();var ne=`
2
2
  struct ColorKeyUniforms {
3
3
  similarity : f32,
4
4
  smoothness : f32,
@@ -1,4 +1,4 @@
1
- import{a as p}from"./chunk-K3C6GUQD.mjs";import{f,g as u}from"./chunk-KOVN277Z.mjs";import{c as n}from"./chunk-ULOFDFHJ.mjs";import{g as t}from"./chunk-Y4NIR77Z.mjs";t();t();var P=["threshold","ratio","attack","release","knee","makeupGain"],y=()=>`
1
+ import{a as p}from"./chunk-K3C6GUQD.mjs";import{f,g as u}from"./chunk-77MT33VR.mjs";import{c as n}from"./chunk-ULOFDFHJ.mjs";import{g as t}from"./chunk-Y4NIR77Z.mjs";t();t();var P=["threshold","ratio","attack","release","knee","makeupGain"],y=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  threshold : f32,
@@ -1,4 +1,4 @@
1
- import{a as V,d as p,g as D,h as I,j as k,k as W,l as F,m as O}from"./chunk-IB6GZJOL.mjs";import{d as U}from"./chunk-KOVN277Z.mjs";import{g as f}from"./chunk-Y4NIR77Z.mjs";f();f();var j=new WeakMap,me=`
1
+ import{a as V,d as p,g as D,h as I,k,l as W,m as F,n as O}from"./chunk-6O55UROD.mjs";import{d as U}from"./chunk-77MT33VR.mjs";import{g as f}from"./chunk-Y4NIR77Z.mjs";f();f();var j=new WeakMap,me=`
2
2
  struct ColorBalanceUniforms {
3
3
  shadows : vec4<f32>,
4
4
  midtones : vec4<f32>,
@@ -1,4 +1,4 @@
1
- import{a as m}from"./chunk-IB56SYTG.mjs";import{a as U,d as c,f as A,g as M,h as V,j as D,k as B,m as H}from"./chunk-IB6GZJOL.mjs";import{d as h}from"./chunk-VVY4PG5E.mjs";import{g as P}from"./chunk-KOVN277Z.mjs";import{g as L}from"./chunk-Y4NIR77Z.mjs";L();L();var Q=`
1
+ import{a as m}from"./chunk-IB56SYTG.mjs";import{a as U,d as c,f as A,g as M,h as V,k as D,l as B,n as H}from"./chunk-6O55UROD.mjs";import{d as h}from"./chunk-VVY4PG5E.mjs";import{g as P}from"./chunk-77MT33VR.mjs";import{g as L}from"./chunk-Y4NIR77Z.mjs";L();L();var Q=`
2
2
  struct LutUniforms {
3
3
  intensity : f32,
4
4
  lutSize : f32,
@@ -1,4 +1,4 @@
1
- import{a as N,d as K,e as $,f as z,g as E,h as j,j as Q,k as J,l as X,m as Z}from"./chunk-IB6GZJOL.mjs";import{c as F,g as W}from"./chunk-KOVN277Z.mjs";import{a as w}from"./chunk-354GX6IB.mjs";import{g as S}from"./chunk-Y4NIR77Z.mjs";S();S();var Me=`
1
+ import{a as N,d as K,e as $,f as z,g as E,h as j,k as Q,l as J,m as X,n as Z}from"./chunk-6O55UROD.mjs";import{c as F,g as W}from"./chunk-77MT33VR.mjs";import{a as w}from"./chunk-354GX6IB.mjs";import{g as S}from"./chunk-Y4NIR77Z.mjs";S();S();var Me=`
2
2
  struct HalftoneUniforms {
3
3
  mode : f32, // 0 = Monochrome, 1 = CMYK
4
4
  dotShape : f32, // 0 = Circle, 1 = Diamond, 2 = Line, 3 = Square
@@ -0,0 +1,483 @@
1
+ import{a as et,b as rt,c as yt}from"./chunk-JAAFSVAG.mjs";import{c as mt,d as pt,e as A}from"./chunk-CSLSWUUT.mjs";import{b as tt}from"./chunk-P4Y3PMJF.mjs";import{d as ft}from"./chunk-VVY4PG5E.mjs";import{B as gt,c as dt,e as xt,y as U,z as C}from"./chunk-64L4GUOF.mjs";import{a as D}from"./chunk-354GX6IB.mjs";import{g as b}from"./chunk-Y4NIR77Z.mjs";b();function Nt(s,t=180,e=12,r=1,i=0){if(s<=0)return 0;let a=Math.sqrt(Math.max(1e-4,t)/Math.max(1e-4,r)),o=e/(2*Math.sqrt(Math.max(1e-4,t*r)));if(o<1){let l=a*Math.sqrt(1-o*o),n=Math.exp(-o*a*s),u=-1,c=(i-o*a*-1)/Math.max(1e-6,l),m=n*(u*Math.cos(l*s)+c*Math.sin(l*s));return Math.min(2,Math.max(-1,1+m))}else if(Math.abs(o-1)<1e-4){let l=Math.exp(-a*s);return 1+(-1+(i-a)*s)*l}else{let l=-a*(o-Math.sqrt(o*o-1)),n=-a*(o+Math.sqrt(o*o-1)),u=(i+n)/Math.max(1e-6,l-n),c=-1-u;return 1+(u*Math.exp(l*s)+c*Math.exp(n*s))}}function jt(s,t=0){if(s===0)return[1,0,0,1];let e=s*Math.PI/180,r=t*Math.PI/180,i=Math.cos(r),a=Math.sin(r),o=Math.tan(e),l=1-o*i*a,n=o*i*i,u=-o*a*a,c=1+o*a*i;return[l,n,u,c]}function Ht(s,t){let e=t.anchorX,r=t.anchorY;switch(t.preset){case"center":e=.5,r=.5;break;case"baseline":e=.5,r=s.height>0?s.ascender/s.height:.8;break;case"bottom_left":e=0,r=1;break;case"bottom_center":e=.5,r=1;break;case"bottom_right":e=1,r=1;break;case"top_left":e=0,r=0;break;case"top_center":e=.5,r=0;break;case"top_right":e=1,r=0;break;default:e=.5,r=.5;break}let i=(e-.5)*s.width+t.offsetX,a=(r-.5)*s.height+t.offsetY;return{px:i,py:a}}function Yt(s,t,e,r=0){if(e===0||t<=1)return 0;let i=r*(t-1);return(s-i)*e}function Xt(s,t){try{let e={textIndex:t.charIndex,textTotal:Math.max(1,t.totalChars),wordIndex:t.wordIndex,wordTotal:Math.max(1,t.totalWords),lineIndex:t.lineIndex,lineTotal:Math.max(1,t.totalLines),time:t.time,frame:t.frame,fps:t.fps,sin:Math.sin,cos:Math.cos,tan:Math.tan,exp:Math.exp,log:Math.log,abs:Math.abs,min:Math.min,max:Math.max,sqrt:Math.sqrt,pow:Math.pow,floor:Math.floor,ceil:Math.ceil,round:Math.round,PI:Math.PI,clamp:(l,n,u)=>Math.max(n,Math.min(u,l)),noise:l=>{let n=Math.sin(l*12.9898+t.frame*.1)*43758.5453;return(n-Math.floor(n))*2-1},signals:t.signals??{}},r=Object.keys(e),i=Object.values(e),a=new Function(...r,`return (${s});`),o=Number(a(...i));return Number.isFinite(o)?Math.max(-1,Math.min(1,o)):0}catch{return 0}}function Qt(s,t,e){let r=Math.max(1,t),i=r>1?s/(r-1):0,a=e.totalAngle*Math.PI/180,o=i*a,l=0,n=0,u=0,c=0,m=0,h=0,d=1;switch(e.mode){case"cylinder":{let y=e.totalAngle<360?(i-.5)*a:o;e.axis==="y"?(l=e.radius*Math.sin(y),u=e.radius*Math.cos(y)-e.radius,m=y*180/Math.PI):e.axis==="x"?(n=e.radius*Math.sin(y),u=e.radius*Math.cos(y)-e.radius,c=y*180/Math.PI):(l=e.radius*Math.sin(y),n=e.radius*Math.cos(y),h=y*180/Math.PI);let g=Math.cos(y);d=Math.max(.25,(g+1)*.5);break}case"vortex":{let g=-Math.PI/2+o,P=e.radius*(1-i*.35);l=P*Math.cos(g),n=P*Math.sin(g),u=-s*e.pitch||0;let v=-.35*e.radius/(a||1),M=v*Math.cos(g)-P*Math.sin(g),G=v*Math.sin(g)+P*Math.cos(g);h=Math.atan2(G,M)*180/Math.PI,d=Math.max(.65,1-i*.35);break}case"helix":{if(e.axis==="x"){let y=e.pitch>10?e.pitch:28;l=(s-(r-1)/2)*y,n=e.radius*Math.sin(o),u=e.radius*Math.cos(o)-e.radius,c=Math.sin(o)*22,d=.75+.25*((Math.cos(o)+1)*.5)}else{let y=(i-.5)*a;l=e.radius*Math.sin(y),n=(s-(r-1)/2)*e.pitch,u=e.radius*Math.cos(y)-e.radius,m=y*180/Math.PI;let g=Math.cos(y);d=Math.max(.65,(g+1)*.5)}break}default:{u=0;break}}let p=Math.max(100,e.perspective??1200),f=p-u,x=f>1?p/f:1;return{x:l*x,y:n*x,z:u,rotX:c,rotY:m,rotZ:h,scaleMult:Math.max(.1,x),depthOpacity:d}}function Kt(s,t,e,r,i){let o=(t>0?Math.max(t,e):e)+r.repeatGap;if(o<=0)return s;let l=r.velocity*i;if(r.snap?.enabled){let n=r.snap.stopIndex??0,u=r.snap.granularity==="character"?40:120,c=n*u,m=Math.min(1,i*1.5);l=l*(1-m)+c*m}if((r.direction==="right"||r.direction==="down")&&(l=-l),r.loop){let n=(s-l)%o;return n<-e?n+o:n}return s-l}function Zt(s,t,e,r,i,a){let o=Math.max(1,t),l=o>1?s/(o-1):.5,n=Math.max(20,e.minFreqHz),u=Math.max(n+100,e.maxFreqHz),c=n*(u/n)**l,m=0,h=ft.getChannelSamples(e.signalChannel,"primary");if(h&&h.length>0){let p=a>0?a:24,f=Math.max(0,Math.min(h.length-1,Math.round(i/p*24)));m=Number(h[f])||0}else if(r){let p=r[e.signalChannel];if(typeof p=="number")m=p;else if(typeof p=="function")m=Number(p(i,a,c))||0;else if(typeof p=="object"&&p!==null){let f=p;if(typeof f.get=="function")m=Number(f.get({frame:i,fps:a,freq:c}))||0;else if(Array.isArray(f.samples)||ArrayBuffer.isView(f.samples)){let x=f.samples,y=Math.floor(l*(x.length-1));m=Number(x[y])||0}}}let d=Math.max(0,Math.min(1,m));return e.minScale+d*(e.maxScale-e.minScale)}b();function ee(s,t,e,r,i,a=0,o=0){let l=t+r,n=e+r;if(n<=l)return 0;let u=(s-l)/(n-l),c=0;switch(i){case"square":c=u>=0&&u<=1?1:0;break;case"ramp_up":c=Math.max(0,Math.min(1,u));break;case"ramp_down":c=1-Math.max(0,Math.min(1,u));break;case"triangle":{u<0||u>1?c=0:u<.5?c=u*2:c=(1-u)*2;break}case"round":{u<0||u>1?c=0:c=.5-.5*Math.cos(u*2*Math.PI);break}case"smooth":{u<=0?c=0:u>=1?c=1:c=u*u*(3-2*u);break}}if(c>0&&c<1){if(a!==0&&c>.5){let m=(c-.5)*2,h=a>0?1+a*3:1/(1-a*3);c=.5+.5*m**h}if(o!==0&&c<=.5){let m=c*2,h=o>0?1+o*3:1/(1-o*3);c=.5*m**h}}return Math.max(0,Math.min(1,c))}function re(s,t,e,r){let i=(t*(1-r)+r)*12.9898+e+s*78.233,a=Math.sin(i)*43758.5453;return(a-Math.floor(a))*2-1}function ie(s,t){let e=t,r=()=>(e=(e*9301+49297)%233280,e/233280),i=Array.from({length:s},(a,o)=>o);for(let a=i.length-1;a>0;a--){let o=Math.floor(r()*(a+1)),l=i[a];i[a]=i[o],i[o]=l}return i}function ne(s,t,e){switch(e){case"add":return Math.max(0,Math.min(1,s+t));case"subtract":return Math.max(0,Math.min(1,s-t));case"intersect":return s*t;case"min":return Math.min(s,t);case"max":return Math.max(s,t);case"difference":return Math.abs(s-t)}}b();var Pt={ascii:"!@#$%^&*()_+{}[]:;<>,.?",alphanumeric:"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",matrix:"010101<>[]{}+=*~#%&!?/\\:;|X0123456789",binary:"01",hex:"0123456789ABCDEF"};function kt(s,t){return s==="custom"&&t&&t.length>0?t:Pt[s]??Pt.alphanumeric}function se(s,t,e,r,i={mode:"human",jitter:.35,commaPauseMultiplier:3,sentencePauseMultiplier:5.5,paragraphPauseMultiplier:7},a={enabled:!1,charset:"alphanumeric",scrambleFramesPerChar:8,highlightProbability:.25},o=2,l="character",n){if(n===void 0&&t<e)return{visibleChars:0,currentDisplayString:"",isCursorVisible:!1};let u=n!==void 0?Math.max(0,Math.min(1,n)):Math.min(1,(t-e)/Math.max(1,r)),c=n!==void 0?u*r:t-e,m=s.length,h=Math.floor(u*m);if(l==="word"){let f=s.split(/(\s+)/),x=[];f.forEach((g,P)=>{g.trim().length>0&&x.push(P)});let y=Math.min(x.length,Math.floor(u*(x.length+1)));if(y<=0)h=0;else{let g=x[Math.min(x.length-1,y-1)];h=f.slice(0,g+1).join("").length}}else if(l==="line"){let f=s.split(`
2
+ `),x=Math.min(f.length,Math.floor(u*(f.length+1)));h=f.slice(0,x).join(`
3
+ `).length}else if(i.mode==="human"&&u<1){let f=0,x=0,y=r/Math.max(1,m);for(let g=0;g<m;g++){let P=s[g],v=1,M=i.commaPauseMultiplier??3,G=i.sentencePauseMultiplier??5.5,B=i.paragraphPauseMultiplier??7,R=i.jitter??.35;P===","||P===";"?v=M:P==="."||P==="!"||P==="?"?v=G:P===`
4
+ `&&(v=B);let L=1+Math.sin(g*17.3+42)*.5*R,w=y*v*L;if(x+=w,x<=c)f=g+1;else break}h=Math.min(m,f)}let d=s.slice(0,h);if(a.enabled&&h<m&&h>0){let f=kt(a.charset,a.customCharset),x=Math.min(h,Math.max(1,a.scrambleFramesPerChar>4?3:2)),y="";for(let g=0;g<x;g++){let P=Math.floor(Math.abs(Math.sin(t*7+g*13))*f.length)%f.length;y+=f[P]}d=d.slice(0,d.length-x)+y}let p=!0;if(o>0){let f=Math.max(1,Math.round(30/(2*o)));p=Math.floor(c/f)%2===0}return{visibleChars:h,currentDisplayString:d,isCursorVisible:p}}b();b();var bt=`
5
+ struct CompositeUniforms {
6
+ blendMode : u32,
7
+ padding1 : u32,
8
+ padding2 : u32,
9
+ padding3 : u32,
10
+ };
11
+
12
+ @group(0) @binding(0) var<uniform> u : CompositeUniforms;
13
+ @group(1) @binding(0) var baseTex : texture_2d<f32>;
14
+ @group(1) @binding(1) var overlayTex : texture_2d<f32>;
15
+ @group(1) @binding(2) var samp : sampler;
16
+
17
+ struct VSOut {
18
+ @builtin(position) pos : vec4<f32>,
19
+ @location(0) uv : vec2<f32>,
20
+ };
21
+
22
+ @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
23
+ var pos = array<vec2<f32>, 4>(
24
+ vec2<f32>(-1.0, 1.0),
25
+ vec2<f32>(1.0, 1.0),
26
+ vec2<f32>(-1.0, -1.0),
27
+ vec2<f32>(1.0, -1.0)
28
+ );
29
+ var uv = array<vec2<f32>, 4>(
30
+ vec2<f32>(0.0, 0.0),
31
+ vec2<f32>(1.0, 0.0),
32
+ vec2<f32>(0.0, 1.0),
33
+ vec2<f32>(1.0, 1.0)
34
+ );
35
+ return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
36
+ }
37
+
38
+ fn lum(c: vec3<f32>) -> f32 {
39
+ return 0.3 * c.r + 0.59 * c.g + 0.11 * c.b;
40
+ }
41
+
42
+ fn clip_color(c: vec3<f32>) -> vec3<f32> {
43
+ let l = lum(c);
44
+ let n = min(min(c.r, c.g), c.b);
45
+ let x = max(max(c.r, c.g), c.b);
46
+ var res = c;
47
+ if (n < 0.0) {
48
+ res = l + (((res - l) * l) / (l - n));
49
+ }
50
+ if (x > 1.0) {
51
+ res = l + (((res - l) * (1.0 - l)) / (x - l));
52
+ }
53
+ return res;
54
+ }
55
+
56
+ fn set_lum(c: vec3<f32>, l: f32) -> vec3<f32> {
57
+ let diff = l - lum(c);
58
+ return clip_color(c + vec3<f32>(diff));
59
+ }
60
+
61
+ fn sat(c: vec3<f32>) -> f32 {
62
+ return max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b);
63
+ }
64
+
65
+ fn set_sat(c: vec3<f32>, s: f32) -> vec3<f32> {
66
+ let c_min = min(min(c.r, c.g), c.b);
67
+ let c_max = max(max(c.r, c.g), c.b);
68
+ if (c_max <= c_min) {
69
+ return vec3<f32>(0.0);
70
+ }
71
+ return (c - vec3<f32>(c_min)) * s / (c_max - c_min);
72
+ }
73
+
74
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
75
+ let d = textureSample(baseTex, samp, in.uv);
76
+ let s = textureSample(overlayTex, samp, in.uv);
77
+ let sa = s.a;
78
+ let da = d.a;
79
+
80
+ switch (u.blendMode) {
81
+ case 16u: { return d * sa; } // mask-in / destination-in
82
+ case 17u: { return d * (1.0 - sa); } // mask-out / destination-out
83
+ case 18u: { return s * da; } // source-in
84
+ case 19u: { return s * (1.0 - da); } // source-out
85
+ case 20u: { return s * da + d * (1.0 - sa); } // source-atop
86
+ case 21u: { return d + s * (1.0 - da); } // destination-over
87
+ case 22u: { return d * sa + s * (1.0 - da); } // destination-atop
88
+ case 23u: { return s + d; } // lighter
89
+ case 24u: { return s; } // copy
90
+ case 25u: { return s * (1.0 - da) + d * (1.0 - sa); } // xor
91
+ // Luma mattes: the overlay's brightness (premultiplied, so transparent = black) masks the base.
92
+ case 26u: { return d * clamp(dot(s.rgb, vec3<f32>(0.2126, 0.7152, 0.0722)), 0.0, 1.0); } // luma-in
93
+ case 27u: { return d * (1.0 - clamp(dot(s.rgb, vec3<f32>(0.2126, 0.7152, 0.0722)), 0.0, 1.0)); } // luma-out
94
+ default: {
95
+ if (sa <= 0.0) { return d; }
96
+ if (da <= 0.0) { return s; }
97
+ }
98
+ }
99
+
100
+ let s_rgb = select(s.rgb / sa, vec3<f32>(0.0), sa < 0.001);
101
+ let d_rgb = select(d.rgb / da, vec3<f32>(0.0), da < 0.001);
102
+
103
+ var b_rgb = s_rgb;
104
+
105
+ switch (u.blendMode) {
106
+ case 1u: { b_rgb = s_rgb * d_rgb; } // multiply
107
+ case 2u: { b_rgb = s_rgb + d_rgb - s_rgb * d_rgb; } // screen
108
+ case 3u: { // overlay
109
+ b_rgb = select(1.0 - 2.0 * (1.0 - s_rgb) * (1.0 - d_rgb), 2.0 * s_rgb * d_rgb, d_rgb < vec3<f32>(0.5));
110
+ }
111
+ case 4u: { b_rgb = min(s_rgb, d_rgb); } // darken
112
+ case 5u: { b_rgb = max(s_rgb, d_rgb); } // lighten
113
+ case 6u: { // color-dodge
114
+ b_rgb = select(min(d_rgb / (1.0 - s_rgb), vec3<f32>(1.0)), vec3<f32>(0.0), s_rgb == vec3<f32>(1.0));
115
+ }
116
+ case 7u: { // color-burn
117
+ b_rgb = select(1.0 - min((1.0 - d_rgb) / s_rgb, vec3<f32>(1.0)), vec3<f32>(1.0), s_rgb == vec3<f32>(0.0));
118
+ }
119
+ case 8u: { // hard-light
120
+ b_rgb = select(1.0 - 2.0 * (1.0 - s_rgb) * (1.0 - d_rgb), 2.0 * s_rgb * d_rgb, s_rgb < vec3<f32>(0.5));
121
+ }
122
+ case 9u: { // soft-light
123
+ b_rgb = select(
124
+ d_rgb + (2.0 * s_rgb - 1.0) * (sqrt(d_rgb) - d_rgb),
125
+ d_rgb - (1.0 - 2.0 * s_rgb) * d_rgb * (1.0 - d_rgb),
126
+ s_rgb <= vec3<f32>(0.5)
127
+ );
128
+ }
129
+ case 10u: { b_rgb = abs(d_rgb - s_rgb); } // difference
130
+ case 11u: { b_rgb = s_rgb + d_rgb - 2.0 * s_rgb * d_rgb; } // exclusion
131
+ case 12u: { b_rgb = set_lum(set_sat(s_rgb, sat(d_rgb)), lum(d_rgb)); } // hue
132
+ case 13u: { b_rgb = set_lum(set_sat(d_rgb, sat(s_rgb)), lum(d_rgb)); } // saturation
133
+ case 14u: { b_rgb = set_lum(s_rgb, lum(d_rgb)); } // color
134
+ case 15u: { b_rgb = set_lum(d_rgb, lum(s_rgb)); } // luminosity
135
+ case 16u: { return d * s.a; } // mask-in
136
+ case 17u: { return d * (1.0 - s.a); } // mask-out
137
+ default: { b_rgb = s_rgb; } // normal
138
+ }
139
+
140
+ let out_a = sa + da * (1.0 - sa);
141
+ let out_rgb = (1.0 - da) * s.rgb + (1.0 - sa) * d.rgb + sa * da * b_rgb;
142
+
143
+ return vec4<f32>(out_rgb, out_a);
144
+ }
145
+ `;var _t=`
146
+ struct MotionBlur2DUniforms {
147
+ vel: vec2<f32>,
148
+ _pad: vec2<f32>,
149
+ shutterFraction: f32,
150
+ samples: f32,
151
+ viewportWidth: f32,
152
+ viewportHeight: f32,
153
+ };
154
+
155
+ @group(0) @binding(0) var<uniform> u: MotionBlur2DUniforms;
156
+ @group(1) @binding(0) var sourceTexture: texture_2d<f32>;
157
+ @group(1) @binding(1) var colorSampler: sampler;
158
+
159
+ @vertex
160
+ fn vs(@builtin(vertex_index) vertexIndex: u32) -> @builtin(position) vec4<f32> {
161
+ var pos = array<vec2<f32>, 3>(
162
+ vec2<f32>(-1.0, -3.0),
163
+ vec2<f32>( 3.0, 1.0),
164
+ vec2<f32>(-1.0, 1.0)
165
+ );
166
+ return vec4<f32>(pos[vertexIndex], 0.0, 1.0);
167
+ }
168
+
169
+ @fragment
170
+ fn fs(@builtin(position) pos: vec4<f32>) -> @location(0) vec4<f32> {
171
+ let uv = pos.xy / vec2<f32>(u.viewportWidth, u.viewportHeight);
172
+ let sampleCount = u32(max(u.samples, 1.0));
173
+ let velUV = u.vel * u.shutterFraction;
174
+ let halfSamples = f32(sampleCount) * 0.5;
175
+
176
+ var accum = vec4<f32>(0.0);
177
+ var totalWeight = 0.0;
178
+
179
+ for (var i = 0u; i < sampleCount; i = i + 1u) {
180
+ let t = (f32(i) - halfSamples) / max(halfSamples, 1.0);
181
+ let sampleUV = clamp(uv + velUV * t, vec2<f32>(0.0), vec2<f32>(1.0));
182
+ let w = exp(-2.5 * t * t);
183
+ accum += textureSampleLevel(sourceTexture, colorSampler, sampleUV, 0.0) * w;
184
+ totalWeight += w;
185
+ }
186
+
187
+ return accum / max(totalWeight, 0.0001);
188
+ }
189
+ `,it=class{textures=[];texturesByKey=new Map;index=0;getTexture(t,e,r,i,a){let o=new Set(Array.isArray(a)?a:a?[a]:[]),l=`${e}x${r}:${i}`,n=this.texturesByKey.get(l);if(n)for(let c=0;c<n.length;c++){let m=n[c];if(!o.has(m)){n.splice(c,1),n.unshift(m);let h=this.textures.indexOf(m);return h>=this.index&&(this.textures.splice(h,1),this.textures.splice(this.index,0,m),this.index++),m}}let u=t.createTexture({size:[e,r],format:i,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC});return this.texturesByKey.has(l)||this.texturesByKey.set(l,[]),this.texturesByKey.get(l).unshift(u),this.textures.splice(this.index,0,u),this.index++,u}reset(){this.index=0}destroy(){for(let t of this.textures)t.destroy();this.textures=[],this.texturesByKey.clear(),this.index=0}},Rt={normal:0,"source-over":0,multiply:1,screen:2,overlay:3,darken:4,lighten:5,"color-dodge":6,"color-burn":7,"hard-light":8,"soft-light":9,difference:10,exclusion:11,hue:12,saturation:13,color:14,luminosity:15,"mask-in":16,"destination-in":16,"mask-out":17,"destination-out":17,"source-in":18,"source-out":19,"source-atop":20,"destination-over":21,"destination-atop":22,lighter:23,copy:24,xor:25,"luma-in":26,"luma-out":27},E=class{device;compositeUniformLayout;dualTextureLayout;motionBlurUniformLayout;singleTextureLayout;compositePipeline;motionBlurPipeline;compositePool;motionBlurPool;texturePool;compositeUniformBindGroupCache=new C;motionBlurUniformBindGroupCache=new C;compositeData=new Uint32Array(4);motionBlurData=new Float32Array(8);constructor(t,e){this.device=t,this.compositePool=new U(1024,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.motionBlurPool=new U(1024,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.texturePool=new it,this.compositeUniformLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),this.dualTextureLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),this.motionBlurUniformLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),this.singleTextureLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});let r=t.createPipelineLayout({bindGroupLayouts:[this.compositeUniformLayout,this.dualTextureLayout]}),i=t.createShaderModule({label:"composite.wgsl",code:bt});this.compositePipeline=t.createRenderPipeline({label:"CompositePipeline",layout:r,vertex:{module:i,entryPoint:"vs"},fragment:{module:i,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}});let a=t.createPipelineLayout({bindGroupLayouts:[this.motionBlurUniformLayout,this.singleTextureLayout]}),o=t.createShaderModule({label:"motion-blur-2d.wgsl",code:_t});this.motionBlurPipeline=t.createRenderPipeline({label:"MotionBlurPipeline",layout:a,vertex:{module:o,entryPoint:"vs"},fragment:{module:o,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-list"}})}resetPools(){this.compositePool.reset(),this.motionBlurPool.reset(),this.texturePool.reset()}getTexture(t,e,r,i,a){return this.texturePool.getTexture(t,e,r,i,a)}getBuffer(t,e){return this.compositePool.getBuffer(t,e)}composite(t,e,r,i,a,o,l,n){let u=r.getSampler(this.device),c=[i,a];n&&(Array.isArray(n)?c.push(...n):c.push(n));let m=this.texturePool.getTexture(this.device,i.width,i.height,l,c);this.compositeData[0]=Rt[o]??0;let h=this.compositePool.getBuffer(this.device,this.compositeData),d=t.beginRenderPass({colorAttachments:[{view:m.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});d.setPipeline(this.compositePipeline);let p=this.compositeUniformBindGroupCache.getBindGroup(this.device,this.compositeUniformLayout,h);d.setBindGroup(0,p);let f=e.getCompositeBindGroup(this.device,this.dualTextureLayout,i,a,u);return d.setBindGroup(1,f),d.draw(4),d.end(),m}applyMotionBlur(t,e,r,i,a,o,l=180,n=16,u,c){if(Math.abs(a)<.1&&Math.abs(o)<.1||l<=0)return i;let m=r.getSampler(this.device),h=[i];c&&(Array.isArray(c)?h.push(...c):h.push(c));let d=this.texturePool.getTexture(this.device,i.width,i.height,u,h);this.motionBlurData[0]=a/i.width,this.motionBlurData[1]=o/i.height,this.motionBlurData[2]=0,this.motionBlurData[3]=0,this.motionBlurData[4]=l/360,this.motionBlurData[5]=n,this.motionBlurData[6]=i.width,this.motionBlurData[7]=i.height;let p=this.motionBlurPool.getBuffer(this.device,this.motionBlurData),f=t.beginRenderPass({colorAttachments:[{view:d.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});f.setPipeline(this.motionBlurPipeline);let x=this.motionBlurUniformBindGroupCache.getBindGroup(this.device,this.motionBlurUniformLayout,p);return f.setBindGroup(0,x),f.setBindGroup(1,e.getBindGroup(this.device,this.singleTextureLayout,i,m)),f.draw(3),f.end(),d}destroy(){this.compositePool.destroy(),this.motionBlurPool.destroy(),this.texturePool.destroy(),this.compositeUniformBindGroupCache.destroy(),this.motionBlurUniformBindGroupCache.destroy()}};b();b();var I=class{cache=new WeakMap;dualCache=new WeakMap;getBindGroup(t,e,r,i){let a=this.cache.get(r);a||(a=new Map,this.cache.set(r,a));let o=a.get(e);return o||(o=t.createBindGroup({layout:e,entries:[{binding:0,resource:r.createView()},{binding:1,resource:i}]}),a.set(e,o)),o}getCompositeBindGroup(t,e,r,i,a){let o=this.dualCache.get(r);o||(o=new WeakMap,this.dualCache.set(r,o));let l=o.get(i);l||(l=new Map,o.set(i,l));let n=l.get(e);return n||(n=t.createBindGroup({layout:e,entries:[{binding:0,resource:r.createView()},{binding:1,resource:i.createView()},{binding:2,resource:a}]}),l.set(e,n)),n}destroy(){this.cache=new WeakMap,this.dualCache=new WeakMap}};b();var V=class{scissorStack=[];stencilStack=[];pushScissor(t,e,r){this.scissorStack.push({rect:t,surfaceWidth:e,surfaceHeight:r})}popScissor(){this.scissorStack.length>0&&this.scissorStack.pop()}saveScissors(){return[...this.scissorStack]}restoreScissors(t){this.scissorStack=[...t]}clearScissors(){this.scissorStack=[]}getCurrentScissor(t,e){let r=this.scissorStack[this.scissorStack.length-1];if(r&&!(t!==void 0&&e!==void 0&&r.surfaceWidth!==void 0&&r.surfaceHeight!==void 0&&r.surfaceWidth!==0&&r.surfaceHeight!==0&&(r.surfaceWidth!==t||r.surfaceHeight!==e)))return r.rect}pushStencilClip(t){this.stencilStack.push(t)}popStencilClip(){this.stencilStack.length>0&&this.stencilStack.pop()}getCurrentStencil(){return this.stencilStack[this.stencilStack.length-1]}applyScissorToPass(t,e,r){let i=this.getCurrentScissor(e,r);if(!i){t.setScissorRect(0,0,Math.max(1,Math.floor(e)),Math.max(1,Math.floor(r)));return}let a=Math.max(0,Math.floor(i.x)),o=Math.max(0,Math.floor(i.y)),l=Math.min(e,Math.ceil(i.x+i.width)),n=Math.min(r,Math.ceil(i.y+i.height)),u=Math.max(0,l-a),c=Math.max(0,n-o);if(!Number.isFinite(a)||!Number.isFinite(o)||!Number.isFinite(u)||!Number.isFinite(c)||u<=0||c<=0)t.setScissorRect(0,0,1,1);else{let m=Math.min(u,Math.max(0,e-a)),h=Math.min(c,Math.max(0,r-o));m<=0||h<=0?t.setScissorRect(0,0,1,1):t.setScissorRect(Math.floor(a),Math.floor(o),Math.floor(m),Math.floor(h))}}destroy(){this.scissorStack=[],this.stencilStack=[]}};b();function vt(s,t,e,r,i=24){let a=[],o=s;for(let l=1;l<=i;l++){let n=l/i,u=1-n,c=u*u,m=c*u,h=n*n,d=h*n,p={x:m*s.x+3*c*n*t.x+3*u*h*e.x+d*r.x,y:m*s.y+3*c*n*t.y+3*u*h*e.y+d*r.y};a.push({p0:o,p1:p}),o=p}return a}function Mt(s,t,e,r=16){let i=[],a=s;for(let o=1;o<=r;o++){let l=o/r,n=1-l,u=n*n,c=l*l,m={x:u*s.x+2*n*l*t.x+c*e.x,y:u*s.y+2*n*l*t.y+c*e.y};i.push({p0:a,p1:m}),a=m}return i}function Lt(s,t,e,r,i,a,o){let l=Math.abs(t),n=Math.abs(e);if(l<1e-9||n<1e-9)return[{p0:s,p1:o}];if(Math.hypot(o.x-s.x,o.y-s.y)<1e-9)return[];let u=r*Math.PI/180,c=Math.cos(u),m=Math.sin(u),h=(s.x-o.x)/2,d=(s.y-o.y)/2,p=c*h+m*d,f=-m*h+c*d,x=p*p/(l*l)+f*f/(n*n);x>1&&(l*=Math.sqrt(x),n*=Math.sqrt(x));let y=l*l*n*n-l*l*f*f-n*n*p*p,g=l*l*f*f+n*n*p*p,P=(i===a?-1:1)*Math.sqrt(Math.max(0,y/g)),v=P*l*f/n,M=-P*n*p/l,G=c*v-m*M+(s.x+o.x)/2,B=m*v+c*M+(s.y+o.y)/2,R=(k,F,O,$)=>Math.atan2(k*$-F*O,k*O+F*$),L=R(1,0,(p-v)/l,(f-M)/n),w=R((p-v)/l,(f-M)/n,(-p-v)/l,(-f-M)/n);!a&&w>0&&(w-=2*Math.PI),a&&w<0&&(w+=2*Math.PI);let J=Math.max(4,Math.ceil(Math.abs(w)/(2*Math.PI)*64)),ut=[],ct=s;for(let k=1;k<=J;k++){let F=L+w*k/J,O=l*Math.cos(F),$=n*Math.sin(F),ht=k===J?o:{x:c*O-m*$+G,y:m*O+c*$+B};ut.push({p0:ct,p1:ht}),ct=ht}return ut}function z(s){let t=[];if(!s||typeof s!="string")return t;let e=[],r=/([a-df-z])|([-+]?(?:\d*\.\d+|\d+)(?:[eE][-+]?\d+)?)/gi,i;for(;(i=r.exec(s))!==null;)i[1]?e.push(i[1]):i[2]&&e.push(parseFloat(i[2]));let a=0,o={x:0,y:0},l={x:0,y:0},n=null,u=null;for(;a<e.length;){let c=e[a++];if(typeof c!="string")continue;let m=c,h=m===m.toLowerCase(),d=m.toUpperCase(),p=()=>a<e.length&&typeof e[a]=="number"?e[a++]:0;switch(d){case"M":{let f=!0;for(;a<e.length&&typeof e[a]=="number";){let x=p(),y=p();h&&(x+=o.x,y+=o.y),f?(o={x,y},l={x,y},f=!1):(t.push({p0:o,p1:{x,y}}),o={x,y})}n=null,u=null;break}case"L":{for(;a<e.length&&typeof e[a]=="number";){let f=p(),x=p();h&&(f+=o.x,x+=o.y),t.push({p0:o,p1:{x:f,y:x}}),o={x:f,y:x}}n=null,u=null;break}case"H":{for(;a<e.length&&typeof e[a]=="number";){let f=p();h&&(f+=o.x);let x={x:f,y:o.y};t.push({p0:o,p1:x}),o=x}n=null,u=null;break}case"V":{for(;a<e.length&&typeof e[a]=="number";){let f=p();h&&(f+=o.y);let x={x:o.x,y:f};t.push({p0:o,p1:x}),o=x}n=null,u=null;break}case"C":{for(;a<e.length&&typeof e[a]=="number";){let f=p(),x=p(),y=p(),g=p(),P=p(),v=p();h&&(f+=o.x,x+=o.y,y+=o.x,g+=o.y,P+=o.x,v+=o.y);let M={x:f,y:x},G={x:y,y:g},B={x:P,y:v};t.push(...vt(o,M,G,B)),o=B,n=G}u=null;break}case"S":{for(;a<e.length&&typeof e[a]=="number";){let f=p(),x=p(),y=p(),g=p();h&&(f+=o.x,x+=o.y,y+=o.x,g+=o.y);let P;n?P={x:2*o.x-n.x,y:2*o.y-n.y}:P={x:o.x,y:o.y};let v={x:f,y:x},M={x:y,y:g};t.push(...vt(o,P,v,M)),o=M,n=v}u=null;break}case"Q":{for(;a<e.length&&typeof e[a]=="number";){let f=p(),x=p(),y=p(),g=p();h&&(f+=o.x,x+=o.y,y+=o.x,g+=o.y);let P={x:f,y:x},v={x:y,y:g};t.push(...Mt(o,P,v)),o=v,u=P}n=null;break}case"T":{for(;a<e.length&&typeof e[a]=="number";){let f=p(),x=p();h&&(f+=o.x,x+=o.y);let y;u?y={x:2*o.x-u.x,y:2*o.y-u.y}:y={x:o.x,y:o.y};let g={x:f,y:x};t.push(...Mt(o,y,g)),o=g,u=y}n=null;break}case"A":{for(;a<e.length&&typeof e[a]=="number";){let f=p(),x=p(),y=p(),g=p()!==0,P=p()!==0,v=p(),M=p();h&&(v+=o.x,M+=o.y);let G={x:v,y:M};t.push(...Lt(o,f,x,y,g,P,G)),o=G}n=null,u=null;break}case"Z":{Math.hypot(o.x-l.x,o.y-l.y)>1e-5&&t.push({p0:o,p1:l}),o=l,n=null,u=null;break}default:break}}return t}function W(s,t,e,r=0){if(s.length===0)return[];let i=[],a=0;for(let c of s){let m=Math.hypot(c.p1.x-c.p0.x,c.p1.y-c.p0.y);i.push(m),a+=m}if(a<1e-6)return[];let o=Math.abs(r)>1?r%360/360:r,l=(t+o)%1,n=(e+o)%1;l<0&&(l+=1),n<0&&(n+=1);let u=(c,m)=>{if(c>=m)return[];let h=[],d=0;for(let p=0;p<s.length;p++){let f=s[p],x=i[p],y=d,g=d+x;if(d=g,g<=c||y>=m||x<1e-6)continue;let P=Math.max(0,(c-y)/x),v=Math.min(1,(m-y)/x);if(v>P){let M={x:f.p0.x+(f.p1.x-f.p0.x)*P,y:f.p0.y+(f.p1.y-f.p0.y)*P},G={x:f.p0.x+(f.p1.x-f.p0.x)*v,y:f.p0.y+(f.p1.y-f.p0.y)*v};h.push({p0:M,p1:G})}}return h};if(t===0&&e===1&&r===0)return[...s];if(Math.abs(l-n)<1e-5)return[];if(l<=n)return u(l*a,n*a);{let c=u(l*a,a),m=u(0,n*a);return[...c,...m]}}function nt(s,t,e=0){if(s.length===0||t.length===0)return s;let r=0;for(let d of t)r+=d;if(r<1e-5)return s;let i=0,a=[];for(let d of s){let p=Math.hypot(d.p1.x-d.p0.x,d.p1.y-d.p0.y);a.push(p),i+=p}let o=[],l=(e%r+r)%r,n=0,u=!0,c=l;for(;c>t[n];)c-=t[n],n=(n+1)%t.length,u=!u;let m=t[n]-c,h=0;for(;h<i;){let d=Math.min(m,i-h);if(u&&d>1e-4){let p=W(s,h/i,(h+d)/i);o.push(...p)}h+=d,n=(n+1)%t.length,u=!u,m=t[n]}return o}function Gt(s,t,e=0,r=0,i=0,a=0){let o=Math.min(s/2,t/2),l=Math.min(e,o),n=Math.min(r,o),u=Math.min(i,o),c=Math.min(a,o);return l===0&&n===0&&u===0&&c===0?`M 0 0 L ${s} 0 L ${s} ${t} L 0 ${t} Z`:[`M ${l} 0`,`L ${s-n} 0`,n>0?`Q ${s} 0 ${s} ${n}`:`L ${s} 0`,`L ${s} ${t-u}`,u>0?`Q ${s} ${t} ${s-u} ${t}`:`L ${s} ${t}`,`L ${c} ${t}`,c>0?`Q 0 ${t} 0 ${t-c}`:`L 0 ${t}`,`L 0 ${l}`,l>0?`Q 0 0 ${l} 0`:"L 0 0","Z"].join(" ")}function Ft(s,t){let e=Math.min(s,t)/2,r=s/2,i=t/2,a=e*.5522847498;return[`M ${r} ${i-e}`,`C ${r+a} ${i-e} ${r+e} ${i-a} ${r+e} ${i}`,`C ${r+e} ${i+a} ${r+a} ${i+e} ${r} ${i+e}`,`C ${r-a} ${i+e} ${r-e} ${i+a} ${r-e} ${i}`,`C ${r-e} ${i-a} ${r-a} ${i-e} ${r} ${i-e}`,"Z"].join(" ")}function Ot(s,t){let e=s/2,r=t/2,i=e,a=r,o=e*.5522847498,l=r*.5522847498;return[`M ${i} ${a-r}`,`C ${i+o} ${a-r} ${i+e} ${a-l} ${i+e} ${a}`,`C ${i+e} ${a+l} ${i+o} ${a+r} ${i} ${a+r}`,`C ${i-o} ${a+r} ${i-e} ${a+l} ${i-e} ${a}`,`C ${i-e} ${a-l} ${i-o} ${a-r} ${i} ${a-r}`,"Z"].join(" ")}function $t(s,t,e=5){let r=Math.max(3,e),i=Math.min(s,t)/2,a=s/2,o=t/2,l=[];for(let n=0;n<r;n++){let u=-Math.PI/2+n*2*Math.PI/r;l.push({x:a+i*Math.cos(u),y:o+i*Math.sin(u)})}return l.map((n,u)=>`${u===0?"M":"L"} ${n.x} ${n.y}`).join(" ")+" Z"}function At(s,t,e=5,r=.5){let i=Math.max(3,e),a=Math.min(s,t)/2,o=a*Math.max(.01,Math.min(.99,r)),l=s/2,n=t/2,u=[];for(let c=0;c<i*2;c++){let m=-Math.PI/2+c*Math.PI/i,h=c%2===0?a:o;u.push({x:l+h*Math.cos(m),y:n+h*Math.sin(m)})}return u.map((c,m)=>`${m===0?"M":"L"} ${c.x} ${c.y}`).join(" ")+" Z"}function Et(s,t,e=40,r=40,i=20){let a=Math.min(e,t),o=Math.min(r,s),l=Math.min(i,a),n=t/2;return[`M 0 ${n-l/2}`,`L ${s-o} ${n-l/2}`,`L ${s-o} ${n-a/2}`,`L ${s} ${n}`,`L ${s-o} ${n+a/2}`,`L ${s-o} ${n+l/2}`,`L 0 ${n+l/2}`,"Z"].join(" ")}function ot(s){let{shapeType:t,width:e,height:r}=s;switch(t){case"rect":return Gt(e,r,s.cornerRadius??0,s.cornerRadius??0,s.cornerRadius??0,s.cornerRadius??0);case"circle":return Ft(e,r);case"ellipse":return Ot(e,r);case"polygon":return $t(e,r,s.polygonSides??5);case"star":return At(e,r,s.starPoints??5,s.starInnerRadiusRatio??.5);case"arrow":return Et(e,r,s.arrowHeadWidth??40,s.arrowHeadLength??40,s.arrowShaftWidth??20);case"path":return s.path??"";default:return""}}function St(s){if(s.length<3)return[];if(s.length===3)return[s[0],s[1],s[2]];let t=[...s],e=t[t.length-1],r=t[0];if(Math.hypot(e.x-r.x,e.y-r.y)<1e-5&&t.pop(),t.length<3)return[];let i=0;for(let m=0;m<t.length;m++){let h=(m+1)%t.length;i+=t[m].x*t[h].y-t[h].x*t[m].y}i<0&&t.reverse();let a=(m,h,d,p)=>{let f=(d.x-h.x)*(m.y-h.y)-(d.y-h.y)*(m.x-h.x),x=(p.x-d.x)*(m.y-d.y)-(p.y-d.y)*(m.x-d.x),y=(h.x-p.x)*(m.y-p.y)-(h.y-p.y)*(m.x-p.x);return f>=-1e-6&&x>=-1e-6&&y>=-1e-6},o=(m,h,d,p)=>{if((h.x-m.x)*(d.y-m.y)-(h.y-m.y)*(d.x-m.x)<=1e-7)return!1;for(let x of p)if(!(x===m||x===h||x===d)&&a(x,m,h,d))return!1;return!0},l=[],n=[...t],u=0,c=n.length*n.length*2;for(;n.length>3&&u<c;){u++;let m=!1;for(let h=0;h<n.length;h++){let d=n[(h-1+n.length)%n.length],p=n[h],f=n[(h+1)%n.length];if(o(d,p,f,n)){l.push(d,p,f),n.splice(h,1),m=!0;break}}m||(l.push(n[0],n[1],n[2]),n.splice(1,1))}return n.length===3&&l.push(n[0],n[1],n[2]),l}function Ut(s){let{shapeType:t,width:e,height:r}=s;if(t==="rect"){let i=s.cornerRadius??0;if(i<=0)return new Float32Array([0,0,e,0,e,r,0,0,e,r,0,r]);let a=Gt(e,r,i,i,i,i),l=z(a).map(c=>c.p0),n=St(l),u=new Float32Array(n.length*2);for(let c=0;c<n.length;c++)u[c*2]=n[c].x,u[c*2+1]=n[c].y;return u}if(t==="circle"||t==="ellipse"){let i=e/2,a=r/2,o=t==="circle"?Math.min(e,r)/2:e/2,l=t==="circle"?o:r/2,n=48,u=new Float32Array(n*3*2),c=0;for(let m=0;m<n;m++){let h=m*2*Math.PI/n,d=(m+1)*2*Math.PI/n;u[c++]=i,u[c++]=a,u[c++]=i+o*Math.cos(h),u[c++]=a+l*Math.sin(h),u[c++]=i+o*Math.cos(d),u[c++]=a+l*Math.sin(d)}return u}if(t==="polygon"){let i=Math.max(3,s.polygonSides??5),a=Math.min(e,r)/2,o=e/2,l=r/2,n=new Float32Array(i*3*2),u=0;for(let c=0;c<i;c++){let m=-Math.PI/2+c*2*Math.PI/i,h=-Math.PI/2+(c+1)*2*Math.PI/i;n[u++]=o,n[u++]=l,n[u++]=o+a*Math.cos(m),n[u++]=l+a*Math.sin(m),n[u++]=o+a*Math.cos(h),n[u++]=l+a*Math.sin(h)}return n}if(t==="star"){let i=Math.max(3,s.starPoints??5),a=Math.min(e,r)/2,o=a*Math.max(.01,Math.min(.99,s.starInnerRadiusRatio??.5)),l=e/2,n=r/2,u=i*2,c=new Float32Array(u*3*2),m=0;for(let h=0;h<u;h++){let d=-Math.PI/2+h*Math.PI/i,p=-Math.PI/2+(h+1)*Math.PI/i,f=h%2===0?a:o,x=(h+1)%2===0?a:o;c[m++]=l,c[m++]=n,c[m++]=l+f*Math.cos(d),c[m++]=n+f*Math.sin(d),c[m++]=l+x*Math.cos(p),c[m++]=n+x*Math.sin(p)}return c}if(t==="arrow"){let i=Math.min(s.arrowHeadWidth??40,r),a=Math.min(s.arrowHeadLength??40,e),o=Math.min(s.arrowShaftWidth??20,i),l=r/2,n=0,u=e-a,c=e,m=l-o/2,h=l+o/2,d=l-i/2,p=l+i/2;return new Float32Array([n,m,u,m,u,h,n,m,u,h,n,h,u,d,c,l,u,p])}if(t==="path"&&s.path){let i=z(s.path);if(i.length===0)return new Float32Array(0);let a=i.map(n=>n.p0),o=St(a),l=new Float32Array(o.length*2);for(let n=0;n<o.length;n++)l[n*2]=o[n].x,l[n*2+1]=o[n].y;return l}return new Float32Array(0)}b();b();var wt=`
190
+ struct Uniforms {
191
+ transformCol0 : vec4<f32>,
192
+ transformCol1 : vec4<f32>,
193
+ transformCol2 : vec4<f32>,
194
+ params : vec4<f32>, // x = opacity, y = surfaceWidth, z = surfaceHeight, w = strokeWidth
195
+ color : vec4<f32>,
196
+ style : vec4<f32>, // x = capType (0 = round, 1 = butt, 2 = square)
197
+ p0 : vec2<f32>,
198
+ p1 : vec2<f32>,
199
+ };
200
+
201
+ @group(0) @binding(0) var<uniform> u : Uniforms;
202
+
203
+ struct VSOut {
204
+ @builtin(position) pos : vec4<f32>,
205
+ @location(0) localPos : vec2<f32>,
206
+ };
207
+
208
+ @vertex fn vs(@location(0) xy : vec2<f32>) -> VSOut {
209
+ let transform = mat3x3<f32>(u.transformCol0.xyz, u.transformCol1.xyz, u.transformCol2.xyz);
210
+ let p = transform * vec3<f32>(xy, 1.0);
211
+
212
+ let surfaceSize = u.params.yz;
213
+ let clipX = (p.x / surfaceSize.x) * 2.0 - 1.0;
214
+ let clipY = 1.0 - (p.y / surfaceSize.y) * 2.0;
215
+
216
+ return VSOut(vec4<f32>(clipX, clipY, 0.0, 1.0), xy);
217
+ }
218
+
219
+ fn sdSegmentWithCap(p: vec2<f32>, a: vec2<f32>, b: vec2<f32>, radius: f32, capType: f32) -> f32 {
220
+ let ba = b - a;
221
+ let len = length(ba);
222
+ if (len < 1e-6) {
223
+ return length(p - a) - radius;
224
+ }
225
+ let dir = ba / len;
226
+ let normal = vec2<f32>(-dir.y, dir.x);
227
+ let pa = p - a;
228
+
229
+ let proj = dot(pa, dir);
230
+ let perp = abs(dot(pa, normal));
231
+
232
+ if (capType > 0.5 && capType < 1.5) {
233
+ // Butt cap: terminates strictly at endpoints a and b
234
+ let dx = max(-proj, proj - len);
235
+ let dy = perp - radius;
236
+ let outside = length(max(vec2<f32>(dx, dy), vec2<f32>(0.0, 0.0)));
237
+ let inside = min(max(dx, dy), 0.0);
238
+ return outside + inside;
239
+ } else if (capType >= 1.5) {
240
+ // Square cap: extends past endpoints a and b by radius
241
+ let dx = max(-proj - radius, proj - (len + radius));
242
+ let dy = perp - radius;
243
+ let outside = length(max(vec2<f32>(dx, dy), vec2<f32>(0.0, 0.0)));
244
+ let inside = min(max(dx, dy), 0.0);
245
+ return outside + inside;
246
+ } else {
247
+ // Round cap (default)
248
+ let h = clamp(proj / len, 0.0, 1.0);
249
+ return length(pa - ba * h) - radius;
250
+ }
251
+ }
252
+
253
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
254
+ let radius = u.params.w * 0.5;
255
+ let d = sdSegmentWithCap(in.localPos, u.p0, u.p1, radius, u.style.x);
256
+
257
+ let fw = max(fwidth(d), 1e-5);
258
+ let edgeAlpha = clamp(0.5 - d / fw, 0.0, 1.0);
259
+ let alpha = u.color.a * u.params.x * edgeAlpha;
260
+ if (alpha <= 0.0) {
261
+ discard;
262
+ }
263
+
264
+ return vec4<f32>(u.color.rgb * alpha, alpha);
265
+ }
266
+ `;b();var at={color:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"}};function T(s){return s.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX|GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]})}function _(s,t){let{module:e}=t;return s.createRenderPipeline({label:t.label,layout:s.createPipelineLayout({bindGroupLayouts:[t.uniformLayout]}),vertex:{module:e,entryPoint:"vs",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:e,entryPoint:"fs",targets:[{format:t.format,blend:t.blend??at}]},primitive:{topology:t.topology}})}var q=class{device;pipeline;maxPipeline;uniformLayout;uniformPool;vertexPool;uniformBindGroupCache=new C;scratchData=new Float32Array(28);constructor(t,e){this.device=t,this.uniformPool=new U(4096,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new U(4096,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"path.wgsl",code:wt});this.uniformLayout=T(t),this.pipeline=_(t,{label:"PathPipeline",module:r,uniformLayout:this.uniformLayout,format:e,topology:"triangle-strip"}),this.maxPipeline=_(t,{label:"PathPipeline.max",module:r,uniformLayout:this.uniformLayout,format:e,topology:"triangle-strip",blend:{color:{srcFactor:"one",dstFactor:"one",operation:"max"},alpha:{srcFactor:"one",dstFactor:"one",operation:"max"}}})}resetPools(){this.uniformPool.reset(),this.vertexPool.reset()}drawPath(t,e,r,i,a,o,l,n){let u=z(r);if(u.length===0||((n?.trimStart!==void 0||n?.trimEnd!==void 0||n?.trimOffset!==void 0)&&(u=W(u,n.trimStart??0,n.trimEnd??1,n.trimOffset??0)),n?.strokeDashArray&&n.strokeDashArray.length>0&&(u=nt(u,n.strokeDashArray,n.strokeDashOffset??0)),u.length===0))return;let c=D(i),m=n?.opacity??1,h=0;n?.strokeLineCap==="butt"?h=1:n?.strokeLineCap==="square"&&(h=2);for(let d of u)this.drawSegment(t,e,d.p0,d.p1,c,a,h,o,l,m,n)}drawSegments(t,e,r,i,a,o,l,n){let u=r;if((n?.trimStart!==void 0||n?.trimEnd!==void 0||n?.trimOffset!==void 0)&&(u=W(u,n.trimStart??0,n.trimEnd??1,n.trimOffset??0)),n?.strokeDashArray&&n.strokeDashArray.length>0&&(u=nt(u,n.strokeDashArray,n.strokeDashOffset??0)),u.length===0)return;let c=D(i),m=n?.opacity??1,h=0;n?.strokeLineCap==="butt"?h=1:n?.strokeLineCap==="square"&&(h=2);for(let d of u)this.drawSegment(t,e,d.p0,d.p1,c,a,h,o,l,m,n)}drawSegment(t,e,r,i,a,o,l,n,u,c,m){let h=this.scratchData;e.packIntoBuffer(h,c,n,u,m?.transform),h[15]=o,h[16]=a.r,h[17]=a.g,h[18]=a.b,h[19]=a.a,h[20]=l,h[21]=0,h[22]=0,h[23]=0,h[24]=r.x,h[25]=r.y,h[26]=i.x,h[27]=i.y;let d=this.uniformPool.getBuffer(this.device,h),p=i.x-r.x,f=i.y-r.y,x=Math.sqrt(p*p+f*f);if(x<1e-6)return;let y=o*.5+2,g=p/x*y,P=f/x*y,v=-P,M=g,G=new Float32Array([r.x-g-v,r.y-P-M,r.x-g+v,r.y-P+M,i.x+g-v,i.y+P-M,i.x+g+v,i.y+P+M]),B=this.vertexPool.getBuffer(this.device,G),L=m?.blendMode==="max"?this.maxPipeline:this.pipeline;t.setPipeline(L);let w=this.uniformBindGroupCache.getBindGroup(this.device,this.uniformLayout,d);t.setBindGroup(0,w),t.setVertexBuffer(0,B),t.draw(4)}destroy(){this.uniformPool.destroy(),this.vertexPool.destroy(),this.uniformBindGroupCache.destroy()}};b();b();var Ct=`
267
+ struct Uniforms {
268
+ transformCol0 : vec4<f32>,
269
+ transformCol1 : vec4<f32>,
270
+ transformCol2 : vec4<f32>,
271
+ params : vec4<f32>, // x = opacity, y = surfaceWidth, z = surfaceHeight, w = blurAmount
272
+ };
273
+
274
+ @group(0) @binding(0) var<uniform> u : Uniforms;
275
+ @group(1) @binding(0) var tex : texture_2d<f32>;
276
+ @group(1) @binding(1) var samp : sampler;
277
+
278
+ struct VSOut {
279
+ @builtin(position) pos : vec4<f32>,
280
+ @location(0) uv : vec2<f32>,
281
+ };
282
+
283
+ @vertex fn vs(@location(0) xy : vec2<f32>, @location(1) uv : vec2<f32>) -> VSOut {
284
+ let transform = mat3x3<f32>(u.transformCol0.xyz, u.transformCol1.xyz, u.transformCol2.xyz);
285
+ let p = transform * vec3<f32>(xy, 1.0);
286
+
287
+ let surfaceSize = u.params.yz;
288
+ let clipX = (p.x / surfaceSize.x) * 2.0 - 1.0;
289
+ let clipY = 1.0 - (p.y / surfaceSize.y) * 2.0;
290
+
291
+ return VSOut(vec4<f32>(clipX, clipY, 0.0, 1.0), uv);
292
+ }
293
+
294
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
295
+ let opacity = u.params.x;
296
+ let blurAmount = u.params.w;
297
+
298
+ if (blurAmount > 0.01) {
299
+ let fdx = dpdx(in.uv);
300
+ let fdy = dpdy(in.uv);
301
+ let fw = max(max(abs(fdx), abs(fdy)), vec2<f32>(0.000001));
302
+ let step = fw * blurAmount * 0.3;
303
+
304
+ var color = vec4<f32>(0.0);
305
+ var totalWeight = 0.0;
306
+ for (var y_offset = -1.0; y_offset <= 1.0; y_offset = y_offset + 1.0) {
307
+ for (var x_offset = -1.0; x_offset <= 1.0; x_offset = x_offset + 1.0) {
308
+ let offset = vec2<f32>(x_offset, y_offset) * step;
309
+ let sampleColor = textureSample(tex, samp, in.uv + offset);
310
+ color = color + sampleColor;
311
+ totalWeight = totalWeight + 1.0;
312
+ }
313
+ }
314
+ return (color / totalWeight) * opacity;
315
+ } else {
316
+ let color = textureSample(tex, samp, in.uv);
317
+ return color * opacity;
318
+ }
319
+ }
320
+ `;var N=class{buffers=[];index=0;size;usage;constructor(t,e){this.size=t,this.usage=e}getBuffer(t,e){if(this.index>=this.buffers.length){let i=t.createBuffer({size:this.size,usage:this.usage});this.buffers.push(i)}let r=this.buffers[this.index++];return t.queue.writeBuffer(r,0,e),r}reset(){this.index=0}destroy(){for(let t of this.buffers)t.destroy();this.buffers=[]}},j=class{device;pipeline;uniformLayout;textureLayout;uniformPool;vertexPool;uniformBindGroupCache=new C;uniformData=new Float32Array(16);vertexData=new Float32Array(16);constructor(t,e){this.device=t,this.uniformPool=new N(64,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new N(64,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"quad.wgsl",code:Ct});this.uniformLayout=T(t),this.textureLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});let i=t.createPipelineLayout({bindGroupLayouts:[this.uniformLayout,this.textureLayout]});this.pipeline=t.createRenderPipeline({label:"QuadPipeline",layout:i,vertex:{module:r,entryPoint:"vs",buffers:[{arrayStride:16,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}]}]},fragment:{module:r,entryPoint:"fs",targets:[{format:e,blend:at}]},primitive:{topology:"triangle-strip"}})}resetPools(){this.uniformPool.reset(),this.vertexPool.reset()}draw(t,e,r,i,a,o,l,n,u,c){let m=c?.opacity??1;r.packIntoBuffer(this.uniformData,m,n,u,c?.transform);let h=this.uniformPool.getBuffer(this.device,this.uniformData),d=o.x/i.width,p=o.y/i.height,f=(o.x+o.width)/i.width,x=(o.y+o.height)/i.height;this.vertexData[0]=l.x,this.vertexData[1]=l.y,this.vertexData[2]=d,this.vertexData[3]=p,this.vertexData[4]=l.x+l.width,this.vertexData[5]=l.y,this.vertexData[6]=f,this.vertexData[7]=p,this.vertexData[8]=l.x,this.vertexData[9]=l.y+l.height,this.vertexData[10]=d,this.vertexData[11]=x,this.vertexData[12]=l.x+l.width,this.vertexData[13]=l.y+l.height,this.vertexData[14]=f,this.vertexData[15]=x;let y=this.vertexPool.getBuffer(this.device,this.vertexData),g=this.uniformBindGroupCache.getBindGroup(this.device,this.uniformLayout,h),P=e.getBindGroup(this.device,this.textureLayout,i,a);t.setPipeline(this.pipeline),t.setBindGroup(0,g),t.setBindGroup(1,P),t.setVertexBuffer(0,y),t.draw(4)}destroy(){this.uniformPool.destroy(),this.vertexPool.destroy(),this.uniformBindGroupCache.destroy()}};b();var H=class{samplers=new Map;lru=[];maxCapacity;constructor(t=32){this.maxCapacity=t}getSampler(t,e={}){let r=Math.max(1,Math.min(16,e.maxAnisotropy??4)),i=`${e.magFilter??"linear"}:${e.minFilter??"linear"}:${e.mipmapFilter??"linear"}:${e.addressModeU??"clamp-to-edge"}:${e.addressModeV??"clamp-to-edge"}:${r}`,a=this.samplers.get(i);if(a)this.lru=this.lru.filter(o=>o!==i);else{if(a=t.createSampler({magFilter:e.magFilter??"linear",minFilter:e.minFilter??"linear",mipmapFilter:e.mipmapFilter??"linear",addressModeU:e.addressModeU??"clamp-to-edge",addressModeV:e.addressModeV??"clamp-to-edge",maxAnisotropy:r}),this.samplers.size>=this.maxCapacity){let o=this.lru.pop();o&&this.samplers.delete(o)}this.samplers.set(i,a)}return this.lru.unshift(i),a}destroy(){this.samplers.clear(),this.lru=[]}};b();b();var Y=`
321
+ struct GradientUniforms {
322
+ info : vec4<f32>, // x = type (0 none, 1 linear, 2 radial, 3 conic), y = stop count
323
+ geom : vec4<f32>, // linear: cx, cy, dir.x / len, dir.y / len; radial: cx, cy, rx, ry; conic: cx, cy, from (rad)
324
+ offsets : array<vec4<f32>, 2>,
325
+ stops : array<vec4<f32>, 8>, // OKLab + alpha
326
+ };
327
+
328
+ fn gradientOklabToSrgb(lab: vec3<f32>) -> vec3<f32> {
329
+ let l = pow(lab.x + 0.3963377774 * lab.y + 0.2158037573 * lab.z, 3.0);
330
+ let m = pow(lab.x - 0.1055613458 * lab.y - 0.0638541728 * lab.z, 3.0);
331
+ let s = pow(lab.x - 0.0894841775 * lab.y - 1.291485548 * lab.z, 3.0);
332
+ let lin = clamp(vec3<f32>(
333
+ 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s,
334
+ -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s,
335
+ -0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s,
336
+ ), vec3<f32>(0.0), vec3<f32>(1.0));
337
+ let lo = lin * 12.92;
338
+ let hi = 1.055 * pow(lin, vec3<f32>(1.0 / 2.4)) - 0.055;
339
+ return select(hi, lo, lin <= vec3<f32>(0.0031308));
340
+ }
341
+
342
+ /// Position along the gradient (0..1, unclamped for linear/radial) at local point p.
343
+ fn gradientT(g: GradientUniforms, p: vec2<f32>) -> f32 {
344
+ let d = p - g.geom.xy;
345
+ let kind = g.info.x;
346
+ if (kind < 1.5) {
347
+ return dot(d, g.geom.zw) + 0.5;
348
+ }
349
+ if (kind < 2.5) {
350
+ return length(d / max(g.geom.zw, vec2<f32>(1e-4)));
351
+ }
352
+ let a = atan2(d.x, -d.y) - g.geom.z;
353
+ return fract(a / 6.28318530718);
354
+ }
355
+
356
+ /// Straight sRGB color + alpha of the gradient at local point p.
357
+ fn evalGradient(g: GradientUniforms, p: vec2<f32>) -> vec4<f32> {
358
+ var offs = g.offsets;
359
+ var stops = g.stops;
360
+ let n = i32(g.info.y);
361
+ let t = gradientT(g, p);
362
+ var lab = stops[0];
363
+ if (t > offs[0].x) {
364
+ lab = stops[n - 1];
365
+ for (var i = 1; i < 8; i++) {
366
+ if (i >= n) {
367
+ break;
368
+ }
369
+ let b = offs[i / 4][i % 4];
370
+ if (t <= b) {
371
+ let a = offs[(i - 1) / 4][(i - 1) % 4];
372
+ let f = select(1.0, (t - a) / (b - a), b - a > 1e-5);
373
+ lab = mix(stops[i - 1], stops[i], clamp(f, 0.0, 1.0));
374
+ break;
375
+ }
376
+ }
377
+ }
378
+ return vec4<f32>(gradientOklabToSrgb(lab.xyz), lab.w);
379
+ }
380
+ `;b();var Bt=`
381
+ ${Y}
382
+
383
+ struct Uniforms {
384
+ transformCol0 : vec4<f32>,
385
+ transformCol1 : vec4<f32>,
386
+ transformCol2 : vec4<f32>,
387
+ params : vec4<f32>, // x = opacity, y = surfaceWidth, z = surfaceHeight, w = unused
388
+ color : vec4<f32>, // solid color (gradient.info.x = 0)
389
+ gradient : GradientUniforms,
390
+ };
391
+
392
+ @group(0) @binding(0) var<uniform> u : Uniforms;
393
+
394
+ struct VSOut {
395
+ @builtin(position) pos : vec4<f32>,
396
+ @location(0) localPos : vec2<f32>,
397
+ };
398
+
399
+ @vertex fn vs(@location(0) xy : vec2<f32>) -> VSOut {
400
+ let transform = mat3x3<f32>(u.transformCol0.xyz, u.transformCol1.xyz, u.transformCol2.xyz);
401
+ let p = transform * vec3<f32>(xy, 1.0);
402
+
403
+ let surfaceSize = u.params.yz;
404
+ let clipX = (p.x / surfaceSize.x) * 2.0 - 1.0;
405
+ let clipY = 1.0 - (p.y / surfaceSize.y) * 2.0;
406
+
407
+ return VSOut(vec4<f32>(clipX, clipY, 0.0, 1.0), xy);
408
+ }
409
+
410
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
411
+ var outColor = u.color;
412
+ if (u.gradient.info.x > 0.5) {
413
+ outColor = evalGradient(u.gradient, in.localPos);
414
+ }
415
+
416
+ let alpha = outColor.a * u.params.x;
417
+ if (alpha <= 0.0) {
418
+ discard;
419
+ }
420
+
421
+ return vec4<f32>(outColor.rgb * alpha, alpha);
422
+ }
423
+ `;b();var It={linear:1,radial:2,conic:3};function X(s){return typeof s=="string"&&s.includes("gradient(")?mt(s):null}function Q(s,t,e,r){if(e.fill(0,r,r+48),!s)return;let i=pt(s.stops),a=Math.max(t.width,.001),o=Math.max(t.height,.001),l=t.x+s.center[0]*a,n=t.y+s.center[1]*o;if(e[r]=It[s.type],e[r+1]=i.length,e[r+4]=s.type==="linear"?t.x+a/2:l,e[r+5]=s.type==="linear"?t.y+o/2:n,s.type==="linear"){let u=s.angle*Math.PI/180,c=Math.sin(u),m=-Math.cos(u),h=Math.abs(a*c)+Math.abs(o*m);e[r+6]=c/h,e[r+7]=m/h}else if(s.type==="radial"){let u,c;s.radius?[u,c]=s.radius:[u,c]=Vt(s,l-t.x,t.x+a-l,n-t.y,t.y+o-n),e[r+6]=u,e[r+7]=c}else e[r+6]=s.from*Math.PI/180;i.forEach((u,c)=>{e[r+8+c]=u.offset}),A(i).forEach((u,c)=>{e.set(u,r+16+c*4)})}function Vt(s,t,e,r,i){let a=s.extent??"farthest-corner",o=a.startsWith("farthest"),l=o?Math.max(t,e):Math.min(t,e),n=o?Math.max(r,i):Math.min(r,i),u=s.shape==="circle";if(a.endsWith("side")){if(!u)return[l,n];let c=o?Math.max(l,n):Math.min(l,n);return[c,c]}if(u){let c=Math.hypot(l,n);return[c,c]}return[l*Math.SQRT2,n*Math.SQRT2]}var K=class{device;pipeline;uniformLayout;uniformPool;vertexPool;uniformData=new Float32Array(68);constructor(t,e){this.device=t,this.uniformPool=new U(2048,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new U(8192,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"shape-fill.wgsl",code:Bt});this.uniformLayout=T(t),this.pipeline=_(t,{label:"ShapeFillPipeline",module:r,uniformLayout:this.uniformLayout,format:e,topology:"triangle-list"})}resetPools(){this.uniformPool.reset(),this.vertexPool.reset()}draw(t,e,r,i,a,o,l,n){if(r.length<6||i.type==="none")return;let u=n?.opacity??1;e.packIntoBuffer(this.uniformData,u,o,l,n?.transform),this.uniformData[15]=0;let c=X(i.color);if(c)this.uniformData.fill(0,16,20),Q(c,a,this.uniformData,20);else{let d=D(i.color??"#ffffff");this.uniformData[16]=d.r,this.uniformData[17]=d.g,this.uniformData[18]=d.b,this.uniformData[19]=d.a,this.packTwoColorGradient(i,a,d)}let m=this.uniformPool.getBuffer(this.device,this.uniformData),h=this.vertexPool.getBuffer(this.device,r);t.setPipeline(this.pipeline),t.setBindGroup(0,this.device.createBindGroup({layout:this.uniformLayout,entries:[{binding:0,resource:{buffer:m}}]})),t.setVertexBuffer(0,h),t.draw(r.length/2)}packTwoColorGradient(t,e,r){if(this.uniformData.fill(0,20,68),t.type!=="linear"&&t.type!=="radial")return;let a=D(t.color2??t.color??"#ffffff"),o=this.uniformData;if(t.type==="linear"){let n=t.startX??e.x,u=t.startY??e.y,c=t.endX??e.x+e.width,m=t.endY??e.y+e.height,h=c-n,d=m-u,p=Math.max(h*h+d*d,1e-6);o.set([1,2,0,0,(n+c)/2,(u+m)/2,h/p,d/p],20)}else{let n=t.radius??Math.max(e.width,e.height)/2;o.set([2,2,0,0,t.cx??e.x+e.width/2,t.cy??e.y+e.height/2,n,n],20)}o[28]=0,o[29]=1;let l=A([{offset:0,color:[r.r,r.g,r.b,r.a]},{offset:1,color:[a.r,a.g,a.b,a.a]}]);o.set(l[0],36),o.set(l[1],40)}destroy(){this.uniformPool.destroy(),this.vertexPool.destroy()}};b();b();var Dt=`
424
+ ${Y}
425
+
426
+ struct Uniforms {
427
+ transformCol0 : vec4<f32>,
428
+ transformCol1 : vec4<f32>,
429
+ transformCol2 : vec4<f32>,
430
+ params : vec4<f32>, // x = opacity, y = surfaceWidth, z = surfaceHeight, w = cornerRadius
431
+ color : vec4<f32>,
432
+ rect : vec4<f32>, // x, y, width, height
433
+ gradient : GradientUniforms, // info.x = 0: solid \`color\`
434
+ };
435
+
436
+ @group(0) @binding(0) var<uniform> u : Uniforms;
437
+
438
+ struct VSOut {
439
+ @builtin(position) pos : vec4<f32>,
440
+ @location(0) localPos : vec2<f32>,
441
+ };
442
+
443
+ @vertex fn vs(@location(0) xy : vec2<f32>) -> VSOut {
444
+ let transform = mat3x3<f32>(u.transformCol0.xyz, u.transformCol1.xyz, u.transformCol2.xyz);
445
+ let p = transform * vec3<f32>(xy, 1.0);
446
+
447
+ let surfaceSize = u.params.yz;
448
+ let clipX = (p.x / surfaceSize.x) * 2.0 - 1.0;
449
+ let clipY = 1.0 - (p.y / surfaceSize.y) * 2.0;
450
+
451
+ return VSOut(vec4<f32>(clipX, clipY, 0.0, 1.0), xy);
452
+ }
453
+
454
+ fn sdRoundedRect(p: vec2<f32>, b: vec2<f32>, r: f32) -> f32 {
455
+ let q = abs(p) - b + r;
456
+ return min(max(q.x, q.y), 0.0) + length(max(q, vec2<f32>(0.0))) - r;
457
+ }
458
+
459
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
460
+ let center = u.rect.xy + u.rect.zw * 0.5;
461
+ let halfSize = u.rect.zw * 0.5;
462
+ let radius = u.params.w;
463
+
464
+ let d = sdRoundedRect(in.localPos - center, halfSize, radius);
465
+ // Rounded shapes: one device pixel of coverage centred on the edge (the
466
+ // quad has room for its outer half). Square ones keep their exact edge.
467
+ let fw = max(fwidth(d), 1e-4);
468
+ var edgeAlpha = 1.0 - smoothstep(0.0, 1.0, d);
469
+ if (radius > 0.0) {
470
+ edgeAlpha = clamp(0.5 - d / fw, 0.0, 1.0);
471
+ }
472
+ var fill = u.color;
473
+ if (u.gradient.info.x > 0.5) {
474
+ fill = evalGradient(u.gradient, in.localPos);
475
+ }
476
+ let alpha = fill.a * u.params.x * edgeAlpha;
477
+ if (alpha <= 0.0) {
478
+ discard;
479
+ }
480
+
481
+ return vec4<f32>(fill.rgb * alpha, alpha);
482
+ }
483
+ `;var Z=class{device;pipeline;uniformLayout;uniformPool;vertexPool;uniformBindGroupCache=new C;uniformData=new Float32Array(72);vertexData=new Float32Array(8);constructor(t,e){this.device=t,this.uniformPool=new U(1024,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new U(256,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"solid.wgsl",code:Dt});this.uniformLayout=T(t),this.pipeline=_(t,{label:"SolidPipeline",module:r,uniformLayout:this.uniformLayout,format:e,topology:"triangle-strip"})}resetPools(){this.uniformPool.reset(),this.vertexPool.reset()}draw(t,e,r,i,a,o,l=0,n){let u=X(i),c=u?{r:0,g:0,b:0,a:1}:D(i),m=n?.opacity??1;e.packIntoBuffer(this.uniformData,m,a,o,n?.transform),this.uniformData[15]=l,this.uniformData[16]=c.r,this.uniformData[17]=c.g,this.uniformData[18]=c.b,this.uniformData[19]=c.a,this.uniformData[20]=r.x,this.uniformData[21]=r.y,this.uniformData[22]=r.width,this.uniformData[23]=r.height,Q(u,r,this.uniformData,24);let h=this.uniformPool.getBuffer(this.device,this.uniformData),d=0;if(l>0){let v=n?.transform?e.getCurrent().multiply(n.transform):e.getCurrent(),M=Math.min(Math.hypot(v.a,v.b),Math.hypot(v.c,v.d));d=2/Math.max(M,.001)}let p=r.x-d,f=r.y-d,x=r.x+r.width+d,y=r.y+r.height+d;this.vertexData[0]=p,this.vertexData[1]=f,this.vertexData[2]=x,this.vertexData[3]=f,this.vertexData[4]=p,this.vertexData[5]=y,this.vertexData[6]=x,this.vertexData[7]=y;let g=this.vertexPool.getBuffer(this.device,this.vertexData);t.setPipeline(this.pipeline);let P=this.uniformBindGroupCache.getBindGroup(this.device,this.uniformLayout,h);t.setBindGroup(0,P),t.setVertexBuffer(0,g),t.draw(4)}destroy(){this.uniformPool.destroy(),this.vertexPool.destroy(),this.uniformBindGroupCache.destroy()}};function zt(s){if(Array.isArray(s)){let r=s[3]??1;return[s[0]*r,s[1]*r,s[2]*r,r]}if("r"in s){let r=s.a??1;return{r:s.r*r,g:s.g*r,b:s.b*r,a:r}}let t=Array.from(s),e=t[3]??1;return[t[0]*e,t[1]*e,t[2]*e,e]}var Tt=new WeakMap;function Dr(s,t){let e=Tt.get(s);return(!e||e.format!==t||e.isDestroyed)&&(e=new lt(s,t),Tt.set(s,e)),e.resetPools(),e}var lt=class{device;transformStack=new yt;clipStack=new V;quadPipeline;solidPipeline;shapeFillPipeline;pathPipeline;effectPipeline;slugPipeline;bindGroupCache=new I;samplerCache=new H;format;isDestroyed=!1;rasterDrawCount=0;surfaceWidth=0;surfaceHeight=0;lastEncoder=null;constructor(t,e){this.device=t,this.format=e,this.quadPipeline=new j(t,e),this.solidPipeline=new Z(t,e),this.shapeFillPipeline=new K(t,e),this.pathPipeline=new q(t,e),this.effectPipeline=new E(t,e),this.slugPipeline=new gt(t,e)}beginFrame(t,e,r={r:0,g:0,b:0,a:0},i,a,o="clear"){this.surfaceWidth=i,this.surfaceHeight=a,t!==this.lastEncoder&&(this.lastEncoder=t,this.resetPools());let l=t.beginRenderPass({colorAttachments:[{view:e,clearValue:zt(r),loadOp:o,storeOp:"store"}]});return this.clipStack.applyScissorToPass(l,i,a),l}endFrame(t){}resetPools(){this.quadPipeline.resetPools(),this.solidPipeline.resetPools(),this.shapeFillPipeline.resetPools(),this.pathPipeline.resetPools(),this.effectPipeline&&this.effectPipeline.resetPools(),this.slugPipeline.resetPools(),et.flushRetired(this.device),et.prune(this.device)}drawTexture(t,e,r,i){let a=this.samplerCache.getSampler(this.device),o={x:0,y:0,width:e.width,height:e.height};this.rasterDrawCount++,this.quadPipeline.draw(t,this.bindGroupCache,this.transformStack,e,a,o,r,this.surfaceWidth,this.surfaceHeight,i)}drawTextureRegion(t,e,r,i,a){let o=this.samplerCache.getSampler(this.device);this.rasterDrawCount++,this.quadPipeline.draw(t,this.bindGroupCache,this.transformStack,e,o,r,i,this.surfaceWidth,this.surfaceHeight,a)}drawRect(t,e,r,i=0,a){let o=0,l=a;typeof i=="object"&&i!==null?(l=i,o=0):typeof i=="number"&&(o=i),this.rasterDrawCount++,this.solidPipeline.draw(t,this.transformStack,e,r,this.surfaceWidth,this.surfaceHeight,o,l)}drawPath(t,e,r,i,a){this.rasterDrawCount++,this.pathPipeline.drawPath(t,this.transformStack,e,r,i,this.surfaceWidth,this.surfaceHeight,a)}drawShapeFill(t,e,r,i,a){this.rasterDrawCount++,this.shapeFillPipeline.draw(t,this.transformStack,e,r,i,this.surfaceWidth,this.surfaceHeight,a)}drawShape(t,e,r,i,a){let o={x:0,y:0,width:e.width,height:e.height};if(r&&r.type!=="none"){let l=Ut(e);if(l.length>0&&(this.drawShapeFill(t,l,r,o,a),(!i||!i.width||i.width<=0)&&(r.type??"solid")==="solid"&&r.color)){let n=ot(e);if(n){let u=this.transformStack.getCurrent(),c=1/rt(a?.transform?u.multiply(a.transform):u);this.drawPath(t,n,r.color,c,{...a,strokeLineCap:"round"})}}}if(i&&i.width&&i.width>0&&i.color){let l=ot(e);l&&this.drawPath(t,l,i.color,i.width,{...a,strokeLineCap:i.cap,trimStart:i.trimStart,trimEnd:i.trimEnd,trimOffset:i.trimOffset,strokeDashArray:i.dashArray,strokeDashOffset:i.dashOffset})}}drawRRect(t,e,r,i){this.drawRect(t,e.rect,r,e.rx,i)}getTemporaryTexture(t,e,r){return this.effectPipeline.getTexture(this.device,t,e,this.format,r)}getTemporaryBuffer(t){return this.effectPipeline.getBuffer(this.device,t)}composite(t,e,r,i,a){return this.effectPipeline.composite(t,this.bindGroupCache,this.samplerCache,e,r,i,this.format,a)}applyMotionBlur(t,e,r,i,a=180,o=16,l){return this.effectPipeline.applyMotionBlur(t,this.bindGroupCache,this.samplerCache,e,r,i,a,o,this.format,l)}getCurrentTransform(){return this.transformStack.getCurrent()}getTransformStack(){return this.transformStack}getSurfaceWidth(){return this.surfaceWidth}getSurfaceHeight(){return this.surfaceHeight}pushIdentity(){let t=this.transformStack.getCurrent();this.pushTransform(t.inverse())}pushTransform(t){this.transformStack.push(t)}popTransform(){this.transformStack.pop()}pushScissor(t){this.clipStack.pushScissor(t,this.surfaceWidth,this.surfaceHeight)}pushScissorIntersect(t){let e=this.clipStack.getCurrentScissor(this.surfaceWidth,this.surfaceHeight);if(!e){this.pushScissor(t);return}let r=Math.max(t.x,e.x),i=Math.max(t.y,e.y),a=Math.min(t.x+t.width,e.x+e.width),o=Math.min(t.y+t.height,e.y+e.height);this.pushScissor({x:r,y:i,width:Math.max(0,a-r),height:Math.max(0,o-i)})}pushScissorLocal(t){let e=this.transformStack.getCurrent(),r=[e.transformPoint(new DOMPoint(t.x,t.y)),e.transformPoint(new DOMPoint(t.x+t.width,t.y)),e.transformPoint(new DOMPoint(t.x,t.y+t.height)),e.transformPoint(new DOMPoint(t.x+t.width,t.y+t.height))],i=r.map(m=>m.x),a=r.map(m=>m.y),o=Math.min(...i),l=Math.min(...a),n=Math.max(...i)-o,u=Math.max(...a)-l,c=this.clipStack.getCurrentScissor(this.surfaceWidth,this.surfaceHeight);if(c){let m=Math.max(o,c.x),h=Math.max(l,c.y),d=Math.min(o+n,c.x+c.width),p=Math.min(l+u,c.y+c.height);o=m,l=h,n=Math.max(0,d-m),u=Math.max(0,p-h)}this.clipStack.pushScissor({x:o,y:l,width:n,height:u},this.surfaceWidth,this.surfaceHeight)}popScissor(){this.clipStack.popScissor()}suspendScissors(){let t=this.clipStack.saveScissors();return this.clipStack.clearScissors(),t}resumeScissors(t){this.clipStack.restoreScissors(t)}pushStencilClip(t){this.clipStack.pushStencilClip(t)}popStencilClip(){this.clipStack.popStencilClip()}destroy(){this.isDestroyed=!0,this.transformStack.destroy(),this.clipStack.destroy(),this.bindGroupCache.destroy(),this.samplerCache.destroy(),this.quadPipeline.destroy(),this.solidPipeline.destroy(),this.shapeFillPipeline.destroy(),this.pathPipeline.destroy(),this.effectPipeline.destroy(),this.slugPipeline.destroy(),this.lastEncoder=null}};b();function Wt(s){return xt(s)??dt(s)??tt(s)}function $r(s){let t=Wt(s);return typeof t=="string"?t:tt(s)}export{Nt as a,jt as b,Ht as c,Yt as d,Xt as e,Qt as f,Kt as g,Zt as h,ee as i,re as j,ie as k,ne as l,kt as m,se as n,E as o,Lt as p,z as q,ot as r,at as s,H as t,Dr as u,lt as v,Wt as w,$r as x};
@@ -0,0 +1 @@
1
+ import{g as r}from"./chunk-77MT33VR.mjs";import{g as e}from"./chunk-Y4NIR77Z.mjs";e();var o=r({});export{o as a};
@@ -1,4 +1,4 @@
1
- import{b as S,c as G}from"./chunk-3DXMWDQ3.mjs";import{d as g,g as M,h as C,j as R,m as P}from"./chunk-IB6GZJOL.mjs";import{a}from"./chunk-6FULVULN.mjs";import{g as k}from"./chunk-KOVN277Z.mjs";import{g as c}from"./chunk-Y4NIR77Z.mjs";c();c();c();var w=`
1
+ import{b as S,c as G}from"./chunk-3DXMWDQ3.mjs";import{d as g,g as M,h as C,k as R,n as P}from"./chunk-6O55UROD.mjs";import{a}from"./chunk-6FULVULN.mjs";import{g as k}from"./chunk-77MT33VR.mjs";import{g as c}from"./chunk-Y4NIR77Z.mjs";c();c();c();var w=`
2
2
  struct ColorMatrixUniforms {
3
3
  row0 : vec4<f32>,
4
4
  row1 : vec4<f32>,