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,4 +1,4 @@
1
- import{a as F}from"./chunk-2GA735OZ.mjs";import{b as I,c as B}from"./chunk-3DXMWDQ3.mjs";import{a as L,d as y,g as N,h as V,j as D,m as k}from"./chunk-IB6GZJOL.mjs";import{a as p}from"./chunk-6FULVULN.mjs";import{e as b}from"./chunk-32WC4FRR.mjs";import{g as U}from"./chunk-KOVN277Z.mjs";import{g as c}from"./chunk-Y4NIR77Z.mjs";c();c();c();var C=new Map;function _(e){let t=C.get(e);return t||(t=(async()=>{try{let r=await b.acquire(e);try{let o=await r.getPrimaryVideoTrack();return o?{width:o.displayWidth,height:o.displayHeight}:null}finally{b.release(e)}}catch{return null}})(),C.set(e,t)),t}c();var J=F().field("angle",p.number().default(90),{bindable:!0,dataTypes:["Number","Signal"],label:"Angle Signal",description:"Rotation in degrees about the frame center, clockwise. Any value; 90 / 180 / 270 fix footage shot sideways or upside down."}).field("fit",p.enum(["cover","contain","fill"]).default("cover"),{description:"How the rotated source sits in the output: cover fills it (cropping the overhang), contain shows all of it (transparent margins), fill keeps the unrotated source stretched to the output and only turns it."}).field("scale",p.number().min(.01).max(20).default(1),{bindable:!0,dataTypes:["Number","Signal"],label:"Scale Signal",description:"Extra zoom applied after the fit (1 = exactly fitted)."}).build(),ie=J.schema,ae=p.union([I,B]);function A(e,t,r,o,i,a){if(a==="fill")return{width:r,height:o};let d=i*Math.PI/180,n=Math.abs(Math.cos(d)),u=Math.abs(Math.sin(d)),s=a==="cover"?Math.max((n*r+u*o)/e,(u*r+n*o)/t):Math.min(r/(n*e+u*t),o/(u*e+n*t));return{width:e*s,height:t*s}}var K=`
1
+ import{a as F}from"./chunk-2GA735OZ.mjs";import{b as I,c as B}from"./chunk-3DXMWDQ3.mjs";import{a as L,d as y,g as N,h as V,k as D,n as k}from"./chunk-6O55UROD.mjs";import{a as p}from"./chunk-6FULVULN.mjs";import{e as b}from"./chunk-32WC4FRR.mjs";import{g as U}from"./chunk-77MT33VR.mjs";import{g as c}from"./chunk-Y4NIR77Z.mjs";c();c();c();var C=new Map;function _(e){let t=C.get(e);return t||(t=(async()=>{try{let r=await b.acquire(e);try{let o=await r.getPrimaryVideoTrack();return o?{width:o.displayWidth,height:o.displayHeight}:null}finally{b.release(e)}}catch{return null}})(),C.set(e,t)),t}c();var J=F().field("angle",p.number().default(90),{bindable:!0,dataTypes:["Number","Signal"],label:"Angle Signal",description:"Rotation in degrees about the frame center, clockwise. Any value; 90 / 180 / 270 fix footage shot sideways or upside down."}).field("fit",p.enum(["cover","contain","fill"]).default("cover"),{description:"How the rotated source sits in the output: cover fills it (cropping the overhang), contain shows all of it (transparent margins), fill keeps the unrotated source stretched to the output and only turns it."}).field("scale",p.number().min(.01).max(20).default(1),{bindable:!0,dataTypes:["Number","Signal"],label:"Scale Signal",description:"Extra zoom applied after the fit (1 = exactly fitted)."}).build(),ie=J.schema,ae=p.union([I,B]);function A(e,t,r,o,i,a){if(a==="fill")return{width:r,height:o};let d=i*Math.PI/180,n=Math.abs(Math.cos(d)),u=Math.abs(Math.sin(d)),s=a==="cover"?Math.max((n*r+u*o)/e,(u*r+n*o)/t):Math.min(r/(n*e+u*t),o/(u*e+n*t));return{width:e*s,height:t*s}}var K=`
2
2
  struct RotateUniforms {
3
3
  outSize: vec2<f32>,
4
4
  size : vec2<f32>,
@@ -0,0 +1 @@
1
+ import{f as l,g as p}from"./chunk-Y4NIR77Z.mjs";p();var u=null,n=null,c=null,d=/llvmpipe|lavapipe|softpipe|swiftshader|\bwarp\b|software/i;function g(t){let r=t.info??{},e={vendor:String(r.vendor??""),architecture:String(r.architecture??""),device:String(r.device??""),description:String(r.description??"")},o=r.isFallbackAdapter===!0||t.isFallbackAdapter===!0||d.test(`${e.vendor} ${e.architecture} ${e.device} ${e.description}`);return{...e,software:o}}async function P(){if(await b(),!c)throw new Error("WebGPU adapter unknown");return c}async function m(t){if(typeof l<"u"&&l.versions?.node&&!globalThis.navigator?.gpu){let{create:a,globals:s}=await import("./webgpu-OC6ZJ2EV.mjs");Object.assign(globalThis,s);let f=[];typeof globalThis.navigator>"u"?globalThis.navigator={gpu:a(f)}:Object.defineProperty(globalThis.navigator,"gpu",{value:a(f),configurable:!0,writable:!0})}let r=globalThis.navigator.gpu,e=await r.requestAdapter({powerPreference:"high-performance",...t})??(t?.forceFallbackAdapter?null:await r.requestAdapter({...t,forceFallbackAdapter:!0}));if(!e)throw new Error("WebGPU not available");c=g(e);let o=[];e.features.has("float32-filterable")&&o.push("float32-filterable");let i={};e.limits&&Number.isInteger(e.limits.maxTextureDimension2D)&&(i.maxTextureDimension2D=Math.min(8192,e.limits.maxTextureDimension2D)),e.limits&&Number.isInteger(e.limits.maxStorageBuffersPerShaderStage)&&(i.maxStorageBuffersPerShaderStage=Math.min(16,e.limits.maxStorageBuffersPerShaderStage)),e.limits&&Number.isInteger(e.limits.maxStorageBuffersPerPipelineLayout)&&(i.maxStorageBuffersPerPipelineLayout=Math.min(16,e.limits.maxStorageBuffersPerPipelineLayout));for(let a of["maxStorageBufferBindingSize","maxBufferSize"]){let s=e.limits?.[a];Number.isFinite(s)&&(i[a]=s)}return e.requestDevice({requiredFeatures:o,requiredLimits:i})}function v(){u=null,n=null}var b=async t=>u||n||(n=(async()=>{let r=await m(t);return u=r,r.lost.then(e=>{e.reason!=="destroyed"&&v()}),r})(),n);export{P as a,b};
@@ -0,0 +1,39 @@
1
+ import{W as xe,Z as Te,ba as ke,ea as we,fa as Me,ga as Ue,ha as Pe,ka as Re}from"./chunk-PH3UUX6A.mjs";import{k as ve}from"./chunk-PIHG6HJO.mjs";import{g as ye}from"./chunk-77MT33VR.mjs";import{g as j}from"./chunk-Y4NIR77Z.mjs";j();j();j();var re=new Uint8Array(0),Ge=new Uint32Array(0);function Ee(t,e,n){re.length<t.length&&(re=new Uint8Array(t.length),Ge=new Uint32Array(t.length));let r=re,c=Ge,i=0,s=0;for(let u=1;u<=t.length;u++)(u===t.length||t[u]!==t[s])&&(r[i]=t[s],c[i]=u-s,i++,s=u);return{width:e,height:n,values:r.slice(0,i),lengths:c.slice(0,i)}}function De(t){let e=new Uint8Array(t.width*t.height),n=0;for(let r=0;r<t.values.length;r++){let c=n+t.lengths[r];t.values[r]!==0&&e.fill(t.values[r],n,c),n=c}return e}function Se(t){return t.values.byteLength+t.lengths.byteLength}function oe(t){let{mask:e,...n}=t;return{...n,rle:Ee(e,t.width,t.height)}}function ae(t){let{rle:e,...n}=t;return{...n,mask:De(e)}}function se(t){let e=512+t.detections.length*128+t.objects.length*256;for(let n of t.masks??[])e+=Se(n.rle);return t.subject&&(e+=Se(t.subject.mask.rle)),e}var $=class{constructor(e=256*1024*1024){this.maxBytes=e}maxBytes;entries=new Map;bytes=0;get(e,n){let r=`${e}#${n}`,c=this.entries.get(r);return c&&(this.entries.delete(r),this.entries.set(r,c)),c}set(e,n,r){let c=`${e}#${n}`,i=this.entries.get(c);i&&(this.bytes-=se(i),this.entries.delete(c)),this.entries.set(c,r),this.bytes+=se(r);for(let[s,u]of this.entries){if(this.bytes<=this.maxBytes)break;this.entries.delete(s),this.bytes-=se(u)}}clear(){this.entries.clear(),this.bytes=0}get size(){return this.entries.size}};j();var Ne=`
2
+ struct Params {
3
+ mode: u32, // 0 matte, 1 mask, 2 crop
4
+ _pad: u32,
5
+ cropMin: vec2<f32>, // uv of the subject bounds (crop)
6
+ cropMax: vec2<f32>,
7
+ _pad2: vec2<f32>,
8
+ };
9
+
10
+ @group(0) @binding(0) var<uniform> params: Params;
11
+ @group(0) @binding(1) var picture: texture_2d<f32>;
12
+ @group(0) @binding(2) var mask: texture_2d<f32>;
13
+ @group(0) @binding(3) var samp: sampler;
14
+
15
+ struct VSOut {
16
+ @builtin(position) pos: vec4<f32>,
17
+ @location(0) uv: vec2<f32>,
18
+ };
19
+
20
+ @vertex fn vs(@builtin(vertex_index) i: u32) -> VSOut {
21
+ var p = array<vec2<f32>, 3>(vec2(-1.0, -1.0), vec2(3.0, -1.0), vec2(-1.0, 3.0));
22
+ var out: VSOut;
23
+ out.pos = vec4(p[i], 0.0, 1.0);
24
+ out.uv = vec2(p[i].x * 0.5 + 0.5, 0.5 - p[i].y * 0.5);
25
+ return out;
26
+ }
27
+
28
+ @fragment fn fs(in: VSOut) -> @location(0) vec4<f32> {
29
+ var uv = in.uv;
30
+ if (params.mode == 2u) {
31
+ uv = mix(params.cropMin, params.cropMax, uv);
32
+ }
33
+ let m = textureSampleLevel(mask, samp, uv, 0.0).r;
34
+ if (params.mode == 1u) {
35
+ return vec4(m, m, m, 1.0);
36
+ }
37
+ return textureSampleLevel(picture, samp, uv, 0.0) * m;
38
+ }
39
+ `,L=class{constructor(e,n){this.device=e;let r=e.createShaderModule({label:"vision_matte_composite",code:Ne});this.pipeline=e.createRenderPipeline({label:"vision_matte_composite",layout:"auto",vertex:{module:r,entryPoint:"vs"},fragment:{module:r,entryPoint:"fs",targets:[{format:n}]},primitive:{topology:"triangle-list"}}),this.sampler=e.createSampler({magFilter:"linear",minFilter:"linear"})}device;pipeline;sampler;uniforms=[];uniformIndex=0;masks=new Map;uploadMask(e,n,r,c){let i=this.masks.get(e);(!i||i.width!==r||i.height!==c)&&(i?.destroy(),i=this.device.createTexture({label:`vision_mask_${e}`,size:[r,c],format:"r8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST}),this.masks.set(e,i));let s=Math.ceil(r/256)*256,u=n;if(s!==r){u=new Uint8Array(s*c);for(let f=0;f<c;f++)u.set(n.subarray(f*r,(f+1)*r),f*s)}return this.device.queue.writeTexture({texture:i},u.buffer,{offset:u.byteOffset,bytesPerRow:s,rowsPerImage:c},{width:r,height:c}),i}draw(e,n,r,c,i,s){let u=c.width,f=c.height,o=new Float32Array(8),h=new Uint32Array(o.buffer);h[0]=i==="matte"?0:i==="mask"?1:2,i==="crop"&&s?(o[2]=s.x0/u,o[3]=s.y0/f,o[4]=(s.x1+1)/u,o[5]=(s.y1+1)/f):(o[2]=0,o[3]=0,o[4]=1,o[5]=1,i==="crop"&&(h[0]=0)),this.uniformIndex>=this.uniforms.length&&this.uniforms.push(this.device.createBuffer({size:o.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}));let a=this.uniforms[this.uniformIndex];this.uniformIndex=(this.uniformIndex+1)%16,this.device.queue.writeBuffer(a,0,o);let p=this.device.createBindGroup({layout:this.pipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:a}},{binding:1,resource:r.createView()},{binding:2,resource:c.createView()},{binding:3,resource:this.sampler}]}),g=e.beginRenderPass({label:"vision_matte_composite",colorAttachments:[{view:n,loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});g.setPipeline(this.pipeline),g.setBindGroup(0,p),g.draw(3),g.end()}};var E=new Map,Ye=4,ce=null,K=null,je=null,Ie=new $,_e=new Map,Xe=new Map,$e=new Map,Le=new Map,Ce=new Map,ue=new WeakMap,_=new Map,D=new Map,Ke=3;function de(t,e,n,r,c,i){let s=t.get(n);return(!s||s.width!==r.width||s.height!==r.height||s.format!==r.format)&&(s?.destroy(),s=e.createTexture({size:[r.width,r.height],format:r.format,usage:c,label:i}),t.set(n,s)),s}var ze=(t,e,n)=>de(Xe,t,e,n,GPUTextureUsage.COPY_DST|GPUTextureUsage.TEXTURE_BINDING,"vision_held_frame"),We=(t,e,n)=>de($e,t,e,n,GPUTextureUsage.COPY_DST|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC,"vision_analysis_frame"),qe=(t,e,n)=>de(Le,t,e,n,GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC,"vision_matte");function He(t,e,n,r,c){let i=e;return JSON.stringify([t,i?.operation?.id??i?.id??null,r,c,n.mode??"passthrough",n.variant,n.confidence,n.classes,n.maskThreshold,n.featherRadius,n.matteSource,n.keyBackground===!0,n.maxMissedFrames])}function Je(t,e,n){let r=t.backgroundKeyThreshold;return typeof r=="number"?r:typeof r?.get=="function"?Number(r.get({frame:e,fps:n})):typeof r?._value=="number"?Number(r._value):70}function Qe(t,e,n){if(t)return D.set(e,{mask:t,frame:n}),t;let r=D.get(e);if(r&&n-r.frame<=Ke)return r.mask}function Oe(t){let e={variant:t.variant,modelsDir:t.modelsDir,baseUrl:t.baseUrl},n=JSON.stringify(e),r=E.get(n);if(!r){if(E.size>=Ye){let[u,f]=E.entries().next().value;f.runner.close(),E.delete(u)}r={runner:we.create(e),derived:new Map},E.set(n,r)}let c={confidence:t.confidence,classes:t.classes,maskThreshold:t.maskThreshold,featherRadius:t.featherRadius},i=JSON.stringify(c),s=r.derived.get(i);return s||(s=r.runner.derive(c),r.derived.set(i,s)),s}function Ze(t,e){let n=Ce.get(t);return n||(n=new xe({maxMissedFrames:e.maxMissedFrames??15}),Ce.set(t,n)),n}function et(t,e,n){return e<=0||n<=0?t:{people:t.people.map(r=>({...r,keypoints:r.keypoints.map(c=>({x:c.x/e,y:c.y/n,visibility:c.visibility}))}))}}function tt(t,e){if(!e)return!0;let n=t.toLowerCase();return e.some(r=>r.toLowerCase()===n)}function nt(t,e){return t.map(n=>{let{cx:r,cy:c}=ot(n),i=null;for(let s of e){let u=s.centerX-r,f=s.centerY-c,o=u*u+f*f;(!i||o<i.distance)&&(i={trackId:s.trackId,distance:o})}return i?{...n,trackId:i.trackId}:n})}function rt(t,e,n){let r=e*n,c=new Uint8Array(r),i=new Int32Array(r),s=0,u=o=>{c[o]||t[o]>0||(c[o]=1,i[s++]=o)};for(let o=0;o<e;o++)u(o),u((n-1)*e+o);for(let o=0;o<n;o++)u(o*e),u(o*e+e-1);let f=0;for(;f<s;){let o=i[f++],h=o%e,a=o+1;h+1<e&&!c[a]&&t[a]===0&&(c[a]=1,i[s++]=a),a=o-1,h>0&&!c[a]&&t[a]===0&&(c[a]=1,i[s++]=a),a=o+e,a<r&&!c[a]&&t[a]===0&&(c[a]=1,i[s++]=a),a=o-e,a>=0&&!c[a]&&t[a]===0&&(c[a]=1,i[s++]=a)}for(let o=0;o<r;o++)t[o]===0&&c[o]===0&&(t[o]=255)}function st(t,e,n,r=2){if(r<=0)return t;let c=new Uint8Array(e*n),i=new Uint8Array(e*n),s=2*r+1;for(let f=0;f<n;f++){let o=f*e,h=0;for(let a=-r;a<=r;a++){let p=Math.max(0,Math.min(e-1,a));h+=t[o+p]}for(let a=0;a<e;a++){c[o+a]=Math.round(h/s);let p=Math.max(0,a-r),g=Math.min(e-1,a+r+1);h+=t[o+g]-t[o+p]}}let u=new Float64Array(e);for(let f=-r;f<=r;f++){let o=Math.max(0,Math.min(n-1,f))*e;for(let h=0;h<e;h++)u[h]+=c[o+h]}for(let f=0;f<n;f++){let o=f*e,h=Math.max(0,f-r)*e,a=Math.min(n-1,f+r+1)*e;for(let p=0;p<e;p++)i[o+p]=Math.round(u[p]/s),u[p]+=c[a+p]-c[h+p]}return i}function it(t,e,n,r,c,i){let s=0,u=0,f=0,o=0,h=(d,U)=>{let l=U*e+d;if(t[l])return;let B=l*4;s+=r[B],u+=r[B+1],f+=r[B+2],o++};for(let d=0;d<e;d+=4)h(d,0),h(d,n-1);for(let d=0;d<n;d+=4)h(0,d),h(e-1,d);if(o===0)return t;s/=o,u/=o,f/=o;let a=e*n,p=new Uint8Array(a);for(let d=0,U=0;d<a;d++,U+=4)p[d]=Math.max(Math.abs(r[U]-s),Math.abs(r[U+1]-u),Math.abs(r[U+2]-f))>c?1:0;let g=new Int32Array(a),M=0;for(let d=0;d<a;d++)t[d]>0&&(p[d]&&(t[d]=255),g[M++]=d);let k=0;for(;k<M;){let d=g[k++],U=d%e,l=d+1;U+1<e&&t[l]!==255&&p[l]&&(t[l]=255,g[M++]=l),l=d-1,U>0&&t[l]!==255&&p[l]&&(t[l]=255,g[M++]=l),l=d+e,l<a&&t[l]!==255&&p[l]&&(t[l]=255,g[M++]=l),l=d-e,l>=0&&t[l]!==255&&p[l]&&(t[l]=255,g[M++]=l)}rt(t,e,n);let C=i!==void 0&&i>0?Math.max(1,Math.min(8,Math.round(i*50))):2;return st(t,e,n,C)}function ot(t){let{mask:e,width:n,height:r}=t,c=0,i=0,s=0;for(let u=0;u<r;u++){let f=u*n;for(let o=0;o<n;o++)e[f+o]>0&&(c+=o,i+=u,s++)}return s===0?{cx:0,cy:0}:{cx:c/s,cy:i/s}}var Ve=async t=>{let{ctx:e,encoder:n,pass:r,targetView:c,targetWidth:i,targetHeight:s,props:u,drawChild:f}=t,{virtualMedia:o}=u;ve(e.device);let h=o?.operation;if(h?.op!=="Vision")return;let a=h;r.end();let p=o?.children?.[0];if(!p)return;if(a.mode==="depth"){ut(e,n,c,i,s,a.effect,u.sourceTimeSec===void 0?u.frame??0:u.sourceTimeSec*(u.fps??24),u.fps??24);return}let g=a.effect,M=g!=null,k=o?.id??h?.id??`${i}x${s}_${a.mode}_${a.variant}_${a.keyBackground}_${a.backgroundKeyThreshold}`,C=`vision-${k}`,d=M?ue.get(g):_.get(C);d&&(d.width!==i||d.height!==s)&&(d.destroy(),d=void 0,M?ue.delete(g):_.delete(C));let U=d!==void 0;if(!d&&(d=e.device.createTexture({size:[i,s],format:e.renderer.format,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC,label:"vision_child_persistent"}),M?ue.set(g,d):_.set(C,d),_.size>4)){let m=_.keys().next().value;m&&m!==C&&(_.get(m)?.destroy(),_.delete(m))}let l=u.frame??0,B=u.compositionFrame??l,O=u.fps??24,P=a.mode??"passthrough",G=P==="mask"||P==="matte"||P==="crop",v=a.visionBundle??o.visionBundle,z=a.enableDetection!==!1||P==="boxes"||P==="tracking",N=a.enableSegmentation===!0||G&&a.matteSource!=="selfie",W=a.enableMatte===!0||G&&a.matteSource==="selfie",q=a.enablePose===!0||P==="skeleton",fe=G&&!v&&!q&&!W&&a.keyBackground!==!0?at(g,u.sourceTimeSec===void 0?l:u.sourceTimeSec*O,O,i,s):void 0,H=P==="skeleton"&&!v?ct(g,u.sourceTimeSec===void 0?l:u.sourceTimeSec*O,O,i,s):void 0,Y=fe!==void 0||H!==void 0,J=!Y&&!W&&!q&&(z||N),me=J?He(k,p,a,i,s):"",Q=m=>a.keyBackground===!0?Je(a,B-(l-m),O):void 0,he=m=>{if(!J||m===void 0)return;let y=Ie.get(me,m);if(!(!y||y.keyThreshold!==Q(m))&&!(N&&v&&!y.masks))return y},F=U?_e.get(k):void 0,R=he(l),pe=Y||R!==void 0;R||(R=he(F));let Z;G&&U&&!pe&&(Z=ze(e.device,k,d),n.copyTextureToTexture({texture:d},{texture:Z},[i,s,1]));let X,ee=null;if(U&&!R&&!Y){let m=We(e.device,k,d),y=e.device.createCommandEncoder({label:"vision_analysis_copy"});y.copyTextureToTexture({texture:d},{texture:m},[i,s,1]),e.device.queue.submit([y.finish()]),X={texture:m,device:e.device,width:i,height:s},G&&a.keyBackground===!0&&(ee=(await Te(X)).data)}let ge=d.createView();e.renderer.beginFrame(n,ge,{r:0,g:0,b:0,a:0},i,s,"clear").end(),await f(p,{...u},ge,d,i,s),_e.set(k,l);let S=[],A=[],te,ne,x;if(Y)x=fe??void 0,x?D.set(k,{mask:x,frame:l}):D.delete(k);else if(R)S=R.objects,z&&v?.setObjectResult(l,{objects:R.objects,rawDetections:R.detections}),N&&v&&R.masks&&(A=R.masks.map(ae),v.setMaskResult(l,A)),R.subject&&(x=ae(R.subject.mask),D.set(k,{mask:x,frame:l}));else if(X){let m=Oe(a),y=X,w=[];if(z){w=await m.detect(y);let T=Ze(k,a);l===0&&T.reset(),S=T.update(w,l,O),v?.setObjectResult(l,{objects:S,rawDetections:w})}let I=[];if(N){let T=G&&a.matteSource!=="selfie"&&a.classes!==void 0,V=await(T?Oe({...a,classes:void 0}):m).segment(y);A=nt(T?V.masks.filter(Fe=>tt(Fe.category,a.classes)):V.masks,S),I=T?V.masks:A,v?.setMaskResult(l,A)}if(W&&(te=await m.matte(y),v?.setMatteResult(l,te)),q){let T=await m.pose(y),b=et(T,y.width,y.height);ne={people:Re(b.people,S)},v?.setPoseResult(l,ne)}if(G){x=Qe(a.matteSource==="selfie"?dt(te):Pe(I.length>0?I:v?.getMaskResult(l)??[],{classes:a.classes}),k,l);let T=Q(F??l);x&&T!==void 0&&ee&&(x={...x,mask:it(x.mask,x.width,x.height,ee,T,a.featherRadius)})}J&&F!==void 0&&Ie.set(me,F,{detections:w,objects:S,masks:v?A.map(oe):null,subject:x?{mask:oe(x)}:null,keyThreshold:Q(F)})}if(G){let m=pe?d:Z;if(!x||!m){e.renderer.beginFrame(n,c,{r:0,g:0,b:0,a:0},i,s,"clear").end();return}(!K||je!==e.renderer.format)&&(K=new L(e.device,e.renderer.format),je=e.renderer.format);let y=K.uploadMask(k,x.mask,x.width,x.height),w=qe(e.device,k,d);K.draw(n,w.createView(),m,y,P,P==="crop"?Ue(x)??void 0:void 0),v?.setStencilTexture(w);let I=e.renderer.beginFrame(n,c,{r:0,g:0,b:0,a:0},i,s,"clear");e.renderer.drawTexture(I,w,{x:0,y:0,width:i,height:s}),I.end();return}if(P==="skeleton"){ce||(ce=new ke(e.device));let m=H!==void 0?H:(v?.getPoseResult(l)??ne)?.people[0]?.keypoints,y=e.renderer.beginFrame(n,c,{r:0,g:0,b:0,a:0},i,s,"clear");if(m&&m.length>0){let w=ce.renderToTexture(m,{width:i,height:s});e.renderer.drawTexture(y,w,{x:0,y:0,width:i,height:s})}y.end();return}if(P==="boxes"||P==="tracking"){let m=e.renderer.beginFrame(n,c,{r:0,g:0,b:0,a:0},i,s,"clear");e.renderer.drawTexture(m,d,{x:0,y:0,width:i,height:s});let y=S.length>0?S:v?.getObjectResult(l).objects??[];if(y.length>0){let w="#38bdf8";for(let T of y){if(!T.active)continue;let b=T.boundingBox;e.renderer.drawRect(m,{x:b.originX,y:b.originY,width:b.width,height:2},w),e.renderer.drawRect(m,{x:b.originX,y:b.originY+b.height-2,width:b.width,height:2},w),e.renderer.drawRect(m,{x:b.originX,y:b.originY,width:2,height:b.height},w),e.renderer.drawRect(m,{x:b.originX+b.width-2,y:b.originY,width:2,height:b.height},w);let V=Math.min(16,b.width/4,b.height/4);e.renderer.drawRect(m,{x:b.originX,y:b.originY,width:V,height:4},"#ffffff"),e.renderer.drawRect(m,{x:b.originX,y:b.originY,width:4,height:V},"#ffffff"),P==="tracking"&&e.renderer.drawRect(m,{x:T.centerX-3,y:T.centerY-3,width:6,height:6},"#ef4444",3)}}m.end();return}let be=e.renderer.beginFrame(n,c,{r:0,g:0,b:0,a:0},i,s,"clear");e.renderer.drawTexture(be,d,{x:0,y:0,width:i,height:s}),be.end()};function at(t,e,n,r,c){let i=le(t),s=i?.subject(e,n);return!s||!i||Be(i,s.width/s.height,r/c)?s:void 0}function ct(t,e,n,r,c){let i=le(t),s=i?.pose?.(e,n);return!s||!i?s===null?null:void 0:Be(i,s.width/s.height,r/c)?s.keypoints:void 0}var Ae=new WeakMap;function ut(t,e,n,r,c,i,s,u){let f=le(i);if(!f?.depth)throw new Error("A depth layer reads its clip's depth: add the video to the composition (framefields links it to a `comp.vision(src, { depth: true })` clip).");let o=f.depth(s,u),h=t.renderer.beginFrame(e,n,{r:0,g:0,b:0,a:0},r,c,"clear");if(o){if(Math.abs(o.width/o.height/(r/c)-1)>.02)throw new Error(`A depth layer keeps its clip's aspect ratio (${o.width}\xD7${o.height} source vs a ${r}\xD7${c} layer); crop after the depth layer instead.`);let a=i?Ae.get(i):void 0;(!a||a.width!==o.width||a.height!==o.height)&&(a?.destroy(),a=t.device.createTexture({size:[o.width,o.height],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST,label:"vision_depth"}),i&&Ae.set(i,a));let p=new Uint8Array(o.width*o.height*4);for(let g=0;g<o.data.length;g++){let M=Math.round(o.data[g]*255);p.set([M,M,M,255],g*4)}t.device.queue.writeTexture({texture:a},p,{bytesPerRow:o.width*4},[o.width,o.height]),t.renderer.drawTexture(h,a,{x:0,y:0,width:r,height:c})}h.end()}function le(t){return t?.[Me]}function Be(t,e,n){if(Math.abs(e/n-1)<.01)return!0;if(t.exact)throw new Error("A prompted clip matte requires the source aspect ratio. Apply layout cropping after the source matte.");return!1}function dt(t){if(!t||t.coverage<=0)return;let e=Math.round(t.coverage*t.width*t.height);return{category:"person",mask:t.mask,width:t.width,height:t.height,area:e,coverage:t.coverage,detectionIndex:-1}}var wt=ye({WebGPURenderer:Ve});export{wt as a};
@@ -1,4 +1,4 @@
1
- import{a as R,c as P,d as h,g as D,h as U,j as w,m as B}from"./chunk-IB6GZJOL.mjs";import{g as F}from"./chunk-KOVN277Z.mjs";import{g as y}from"./chunk-Y4NIR77Z.mjs";y();y();var N=`
1
+ import{a as R,c as P,d as h,g as D,h as U,k as w,n as B}from"./chunk-6O55UROD.mjs";import{g as F}from"./chunk-77MT33VR.mjs";import{g as y}from"./chunk-Y4NIR77Z.mjs";y();y();var N=`
2
2
  struct FlipUniforms {
3
3
  flipH : f32,
4
4
  flipV : f32,
@@ -1,4 +1,4 @@
1
- import{a as X,d as f,e as _,f as P,g as Y,h as D,j as U,k as V,m as B}from"./chunk-IB6GZJOL.mjs";import{d}from"./chunk-VVY4PG5E.mjs";import{g as R}from"./chunk-KOVN277Z.mjs";import{g}from"./chunk-Y4NIR77Z.mjs";g();g();var j=0,Q=500;function q(t,e,r){return Math.min(r,Math.max(e,t))}var z=`
1
+ import{a as X,d as f,e as _,f as P,g as Y,h as D,k as U,l as V,n as B}from"./chunk-6O55UROD.mjs";import{d}from"./chunk-VVY4PG5E.mjs";import{g as R}from"./chunk-77MT33VR.mjs";import{g}from"./chunk-Y4NIR77Z.mjs";g();g();var j=0,Q=500;function q(t,e,r){return Math.min(r,Math.max(e,t))}var z=`
2
2
  struct DisplacementUniforms {
3
3
  strengthX : f32,
4
4
  strengthY : f32,
@@ -0,0 +1 @@
1
+ import{a as S,c as G}from"./chunk-5RRKGN2U.mjs";import{g as y}from"./chunk-Y4NIR77Z.mjs";y();var b=8,R=/^\s*(linear|radial|conic)-gradient\(\s*([\s\S]*)\)\s*$/i;function I(r){return typeof r=="string"&&R.test(r)}function v(r){let t=[],n=0,o="";for(let e of r)e==="("&&n++,e===")"&&n--,e===","&&n===0?(t.push(o.trim()),o=""):o+=e;return o.trim()&&t.push(o.trim()),t}function x(r){let t=/^(-?[\d.]+)(deg|turn|rad|grad)?$/i.exec(r.trim());if(!t)return null;let n=parseFloat(t[1]);switch((t[2]??"deg").toLowerCase()){case"turn":return n*360;case"rad":return n*180/Math.PI;case"grad":return n*.9;default:return n}}var $={top:0,right:90,bottom:180,left:270,"top right":45,"right top":45,"bottom right":135,"right bottom":135,"bottom left":225,"left bottom":225,"top left":315,"left top":315},P={left:0,top:0,center:.5,right:1,bottom:1};function T(r){let t=r.map(e=>e in P?{v:P[e],axis:e==="top"||e==="bottom"?"y":e==="left"||e==="right"?"x":"any"}:{v:e.endsWith("%")?parseFloat(e)/100:.5,axis:"any"}),n=.5,o=.5;return t.length===1?t[0].axis==="y"?o=t[0].v:n=t[0].v:t.length>=2&&(t[0].axis==="y"||t[1].axis==="x"?(o=t[0].v,n=t[1].v):(n=t[0].v,o=t[1].v)),[n,o]}function C(r){let t=/^((?:[a-z]+\([^)]*\))|#[0-9a-f]+|[a-z]+)\s*(.*)$/i.exec(r.trim());if(!t)return null;let n=G(t[1]);if(!n)return null;let o=[];for(let e of t[2].split(/\s+/).filter(Boolean))if(e.endsWith("%"))o.push(parseFloat(e)/100);else if(e==="0")o.push(0);else if(/(deg|turn|rad|grad)$/i.test(e)){let s=x(e);s!==null&&o.push(s/360)}return{color:n,positions:o.filter(e=>Number.isFinite(e))}}function E(r){let t=r.length;if(t===0)return[];let n=r.map(e=>e.position);n[0]===void 0&&(n[0]=0),n[t-1]===void 0&&(n[t-1]=1);let o=-1/0;for(let e=0;e<t;e++){let s=n[e];s!==void 0&&(n[e]=Math.max(s,o),o=n[e])}for(let e=1;e<t;e++){if(n[e]!==void 0)continue;let s=e;for(;n[s]===void 0;)s++;let c=n[e-1],l=n[s];for(let i=e;i<s;i++)n[i]=c+(l-c)*(i-e+1)/(s-e+1)}return r.map((e,s)=>({offset:n[s],color:e.color}))}var m=new Map;function A(r){let t=m.get(r);if(t!==void 0)return t;let n=O(r);return m.size>512&&m.clear(),m.set(r,n),n}function O(r){let t=R.exec(r);if(!t)return null;let n=t[1].toLowerCase(),o=v(t[2]),e={type:n,angle:180,center:[.5,.5],shape:"ellipse",from:0,stops:[]},s=o[0]?.toLowerCase().trim()??"",c=!1;if(n==="linear")if(s.startsWith("to ")){let i=s.slice(3).trim().replace(/\s+/g," ");i in $&&(e.angle=$[i],c=!0)}else{let i=x(s);i!==null&&(e.angle=i,c=!0)}else{let i=s.split(/\s+/).filter(Boolean),a=i.indexOf("at"),f=a>=0?i.slice(0,a):i;if(a>=0||f.some(u=>u==="circle"||u==="ellipse"||u==="from"||/^closest|^farthest/.test(u)||n==="radial"&&/px$/.test(u)))if(c=!0,a>=0&&(e.center=T(i.slice(a+1))),n==="radial"){f.includes("circle")&&(e.shape="circle");let u=f.find(d=>/^(closest|farthest)-(side|corner)$/.test(d));u&&(e.extent=u);let p=f.filter(d=>/px$/.test(d)).map(d=>parseFloat(d));p.length===1?(e.shape="circle",e.radius=[p[0],p[0]]):p.length>=2&&(e.radius=[p[0],p[1]])}else{let u=f.indexOf("from");u>=0&&f[u+1]&&(e.from=x(f[u+1])??0)}}let l=[];for(let i of c?o.slice(1):o){let a=C(i);if(!a)return null;a.positions.length===0&&l.push({color:a.color});for(let f of a.positions)l.push({color:a.color,position:f})}return l.length===0?null:(l.length===1&&l.push({...l[0]}),e.stops=E(l),e)}function M(r){if(r.length<=b)return r;let t=[],n=r[0].offset,o=r[r.length-1].offset;for(let e=0;e<b;e++){let s=n+(o-n)*e/(b-1),c=1;for(;c<r.length-1&&r[c].offset<s;)c++;let l=r[c-1],i=r[c],a=i.offset-l.offset,f=a>0?Math.min(1,Math.max(0,(s-l.offset)/a)):1;t.push({offset:s,color:l.color.map((g,u)=>g+(i.color[u]-g)*f)})}return t}function k(r){let t=r.map(n=>S(n.color[0],n.color[1],n.color[2]));return r.map((n,o)=>{let e=t[o];if(n.color[3]<1e-4){let s=r.slice(0,o).reverse().findIndex(a=>a.color[3]>1e-4),c=r.slice(o+1).findIndex(a=>a.color[3]>1e-4),l=s>=0?o-1-s:-1,i=c>=0?o+1+c:-1;if(l>=0&&i>=0){let a=t[l],f=t[i];e=[(a[0]+f[0])/2,(a[1]+f[1])/2,(a[2]+f[2])/2]}else l>=0?e=t[l]:i>=0&&(e=t[i])}return[e[0],e[1],e[2],n.color[3]]})}function h(r){return r.map(t=>typeof t=="string"?t:`${t.color} ${Math.round(t.offset*1e4)/100}%`).join(", ")}var L={linear(r,t=180){return`linear-gradient(${t}deg, ${h(r)})`},radial(r,t={}){let n=t.at??[.5,.5];return`radial-gradient(${t.radius!==void 0?`${t.radius}px`:t.circle?"circle":"ellipse"} at ${n[0]*100}% ${n[1]*100}%, ${h(r)})`},conic(r,t={}){let n=t.at??[.5,.5];return`conic-gradient(from ${t.from??0}deg at ${n[0]*100}% ${n[1]*100}%, ${h(r)})`},parse:A,is:I};export{b as a,I as b,A as c,M as d,k as e,L as f};
@@ -1 +1 @@
1
- import{g as F}from"./chunk-KOVN277Z.mjs";import{a as H}from"./chunk-354GX6IB.mjs";import{g as u}from"./chunk-Y4NIR77Z.mjs";u();u();var N=async P=>{let{ctx:e,pass:L,targetView:z,targetTexture:f,targetWidth:w,targetHeight:T,encoder:o,props:n,drawChild:E}=P,{virtualMedia:b}=n;if(b.operation?.op!=="Paint")return;let c=b?.children?.[0],a=n.containerWidth??c?.metadata?.width??w,t=n.containerHeight??c?.metadata?.height??T,g=b.operation,y=g.mode==="mask",k=g.strokes??[];L.end(),e.renderer.pushIdentity();let s=e.renderer.getTemporaryTexture(a,t,[...n.excludeTextures||[],f]),h=s.createView();if(y)e.renderer.beginFrame(o,h,{r:0,g:0,b:0,a:1},a,t,"clear").end();else if(c)await E(c,n,h,s,a,t);else{let l=e.renderer.beginFrame(o,h,{r:0,g:0,b:0,a:0},a,t,"clear");g.backgroundColor&&e.renderer.drawRect(l,{x:0,y:0,width:a,height:t},g.backgroundColor),l.end()}let R=s;if(k.length>0){let l=c?.metadata?.width??a,C=c?.metadata?.height??t,M=l>0?a/l:1,V=C>0?t/C:1,G=!1;(M!==1||V!==1)&&(e.renderer.pushTransform(new DOMMatrix().scale(M,V)),G=!0);let p=e.renderer.getTemporaryTexture(a,t,[s,f,...n.excludeTextures||[]]),j=p.createView();e.renderer.beginFrame(o,j,{r:0,g:0,b:0,a:0},a,t,"clear").end();let v=k,m=p,d=null;for(let i of v)if(i.tool==="brush"){d||(d=e.renderer.beginFrame(o,m.createView(),{r:0,g:0,b:0,a:0},a,t,"load"));let r=H(i.color),x=y?{r:r.a,g:r.a,b:r.a,a:r.a}:{r:r.r*r.a,g:r.g*r.a,b:r.b*r.a,a:r.a};e.renderer.drawPath(d,i.path,x,i.size,{opacity:i.opacity??1,blendMode:"max"})}else if(i.tool==="eraser"){d&&(d.end(),d=null);let r=e.renderer.getTemporaryTexture(a,t,[s,p,f,...n.excludeTextures||[]]),x=r.createView(),U=e.renderer.beginFrame(o,x,{r:0,g:0,b:0,a:0},a,t,"clear");e.renderer.drawPath(U,i.path,"#ffffff",i.size,{blendMode:"max"}),U.end(),m=e.renderer.composite(o,m,r,"mask-out",[s,p,f,...n.excludeTextures||[]])}d&&d.end(),R=e.renderer.composite(o,s,m,"normal",[s,m,f,...n.excludeTextures||[]]),G&&e.renderer.popTransform()}e.renderer.popTransform();let W=e.renderer.beginFrame(o,z,{r:0,g:0,b:0,a:0},w,T,"load");e.renderer.drawTexture(W,R,{x:0,y:0,width:a,height:t}),P.pass=W};var A=F({WebGPURenderer:N});export{A as a};
1
+ import{g as F}from"./chunk-77MT33VR.mjs";import{a as H}from"./chunk-354GX6IB.mjs";import{g as u}from"./chunk-Y4NIR77Z.mjs";u();u();var N=async P=>{let{ctx:e,pass:L,targetView:z,targetTexture:f,targetWidth:w,targetHeight:T,encoder:o,props:n,drawChild:E}=P,{virtualMedia:b}=n;if(b.operation?.op!=="Paint")return;let c=b?.children?.[0],a=n.containerWidth??c?.metadata?.width??w,t=n.containerHeight??c?.metadata?.height??T,g=b.operation,y=g.mode==="mask",k=g.strokes??[];L.end(),e.renderer.pushIdentity();let s=e.renderer.getTemporaryTexture(a,t,[...n.excludeTextures||[],f]),h=s.createView();if(y)e.renderer.beginFrame(o,h,{r:0,g:0,b:0,a:1},a,t,"clear").end();else if(c)await E(c,n,h,s,a,t);else{let l=e.renderer.beginFrame(o,h,{r:0,g:0,b:0,a:0},a,t,"clear");g.backgroundColor&&e.renderer.drawRect(l,{x:0,y:0,width:a,height:t},g.backgroundColor),l.end()}let R=s;if(k.length>0){let l=c?.metadata?.width??a,C=c?.metadata?.height??t,M=l>0?a/l:1,V=C>0?t/C:1,G=!1;(M!==1||V!==1)&&(e.renderer.pushTransform(new DOMMatrix().scale(M,V)),G=!0);let p=e.renderer.getTemporaryTexture(a,t,[s,f,...n.excludeTextures||[]]),j=p.createView();e.renderer.beginFrame(o,j,{r:0,g:0,b:0,a:0},a,t,"clear").end();let v=k,m=p,d=null;for(let i of v)if(i.tool==="brush"){d||(d=e.renderer.beginFrame(o,m.createView(),{r:0,g:0,b:0,a:0},a,t,"load"));let r=H(i.color),x=y?{r:r.a,g:r.a,b:r.a,a:r.a}:{r:r.r*r.a,g:r.g*r.a,b:r.b*r.a,a:r.a};e.renderer.drawPath(d,i.path,x,i.size,{opacity:i.opacity??1,blendMode:"max"})}else if(i.tool==="eraser"){d&&(d.end(),d=null);let r=e.renderer.getTemporaryTexture(a,t,[s,p,f,...n.excludeTextures||[]]),x=r.createView(),U=e.renderer.beginFrame(o,x,{r:0,g:0,b:0,a:0},a,t,"clear");e.renderer.drawPath(U,i.path,"#ffffff",i.size,{blendMode:"max"}),U.end(),m=e.renderer.composite(o,m,r,"mask-out",[s,p,f,...n.excludeTextures||[]])}d&&d.end(),R=e.renderer.composite(o,s,m,"normal",[s,m,f,...n.excludeTextures||[]]),G&&e.renderer.popTransform()}e.renderer.popTransform();let W=e.renderer.beginFrame(o,z,{r:0,g:0,b:0,a:0},w,T,"load");e.renderer.drawTexture(W,R,{x:0,y:0,width:a,height:t}),P.pass=W};var A=F({WebGPURenderer:N});export{A as a};
@@ -1,4 +1,4 @@
1
- import{a as q}from"./chunk-2GA735OZ.mjs";import{b as Q,c as Z}from"./chunk-3DXMWDQ3.mjs";import{a as j,d as y,e as E,g as K,h as X,j as P,k as Y,l as $,m as _}from"./chunk-IB6GZJOL.mjs";import{a as o}from"./chunk-6FULVULN.mjs";import{d as z}from"./chunk-KOVN277Z.mjs";import{g as r}from"./chunk-Y4NIR77Z.mjs";r();r();r();var V=250,I=1,N=100,ve=q().field("shadowAmount",o.number().min(0).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Shadow Boost (%)",description:"Percentage to lift and recover crushed shadow details (0\u2013100%)."}).field("shadowTonalWidth",o.number().min(0).max(100).default(50),{bindable:!0,dataTypes:["Number","Signal"],label:"Shadow Range (%)",description:"Range of dark tones affected by shadow adjustments (0\u2013100%)."}).field("shadowRadius",o.number().min(1).max(250).default(30),{bindable:!0,dataTypes:["Number","Signal"],label:"Shadow Radius (px)",description:"Local neighborhood radius in pixels to determine shadow illumination (1\u2013250px)."}).field("highlightAmount",o.number().min(0).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Highlight Suppression (%)",description:"Percentage to suppress and recover blown highlight details (0\u2013100%)."}).field("highlightTonalWidth",o.number().min(0).max(100).default(50),{bindable:!0,dataTypes:["Number","Signal"],label:"Highlight Range (%)",description:"Range of bright tones affected by highlight adjustments (0\u2013100%)."}).field("highlightRadius",o.number().min(1).max(250).default(30),{bindable:!0,dataTypes:["Number","Signal"],label:"Highlight Radius (px)",description:"Local neighborhood radius in pixels to determine highlight exposure (1\u2013250px)."}).field("colorCorrection",o.number().min(-100).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Color Correction (%)",description:"Fine-tunes color saturation in recovered shadow/highlight zones (-100 to +100%)."}).field("midtoneContrast",o.number().min(-100).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Midtone Contrast (%)",description:"Adjusts contrast centered on the midtones (-100 to +100%)."}).build(),ee=ve.schema,We=o.union([Q,Z]),Le=ee.extend({op:o.literal("ShadowsHighlights"),metadata:o.unknown().optional()}),ye=ee.parse({});var Te=`
1
+ import{a as q}from"./chunk-2GA735OZ.mjs";import{b as Q,c as Z}from"./chunk-3DXMWDQ3.mjs";import{a as j,d as y,e as E,g as K,h as X,k as P,l as Y,m as $,n as _}from"./chunk-6O55UROD.mjs";import{a as o}from"./chunk-6FULVULN.mjs";import{d as z}from"./chunk-77MT33VR.mjs";import{g as r}from"./chunk-Y4NIR77Z.mjs";r();r();r();var V=250,I=1,N=100,ve=q().field("shadowAmount",o.number().min(0).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Shadow Boost (%)",description:"Percentage to lift and recover crushed shadow details (0\u2013100%)."}).field("shadowTonalWidth",o.number().min(0).max(100).default(50),{bindable:!0,dataTypes:["Number","Signal"],label:"Shadow Range (%)",description:"Range of dark tones affected by shadow adjustments (0\u2013100%)."}).field("shadowRadius",o.number().min(1).max(250).default(30),{bindable:!0,dataTypes:["Number","Signal"],label:"Shadow Radius (px)",description:"Local neighborhood radius in pixels to determine shadow illumination (1\u2013250px)."}).field("highlightAmount",o.number().min(0).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Highlight Suppression (%)",description:"Percentage to suppress and recover blown highlight details (0\u2013100%)."}).field("highlightTonalWidth",o.number().min(0).max(100).default(50),{bindable:!0,dataTypes:["Number","Signal"],label:"Highlight Range (%)",description:"Range of bright tones affected by highlight adjustments (0\u2013100%)."}).field("highlightRadius",o.number().min(1).max(250).default(30),{bindable:!0,dataTypes:["Number","Signal"],label:"Highlight Radius (px)",description:"Local neighborhood radius in pixels to determine highlight exposure (1\u2013250px)."}).field("colorCorrection",o.number().min(-100).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Color Correction (%)",description:"Fine-tunes color saturation in recovered shadow/highlight zones (-100 to +100%)."}).field("midtoneContrast",o.number().min(-100).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Midtone Contrast (%)",description:"Adjusts contrast centered on the midtones (-100 to +100%)."}).build(),ee=ve.schema,We=o.union([Q,Z]),Le=ee.extend({op:o.literal("ShadowsHighlights"),metadata:o.unknown().optional()}),ye=ee.parse({});var Te=`
2
2
  struct ShadowsHighlightsUniforms {
3
3
  dirX : f32,
4
4
  dirY : f32,
@@ -1,4 +1,4 @@
1
- import{a as h}from"./chunk-K3C6GUQD.mjs";import{f as g,g as I}from"./chunk-KOVN277Z.mjs";import{c as m,d as c}from"./chunk-ULOFDFHJ.mjs";import{g as i}from"./chunk-Y4NIR77Z.mjs";i();i();var w=["fadeInDuration","fadeOutDuration"],E=()=>`
1
+ import{a as h}from"./chunk-K3C6GUQD.mjs";import{f as g,g as I}from"./chunk-77MT33VR.mjs";import{c as m,d as c}from"./chunk-ULOFDFHJ.mjs";import{g as i}from"./chunk-Y4NIR77Z.mjs";i();i();var w=["fadeInDuration","fadeOutDuration"],E=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  fadeInDuration : f32,
@@ -1,4 +1,4 @@
1
- import{a as g}from"./chunk-K3C6GUQD.mjs";import{g as l}from"./chunk-KOVN277Z.mjs";import{c as m,h as u}from"./chunk-ULOFDFHJ.mjs";import{g as t}from"./chunk-Y4NIR77Z.mjs";t();t();var x=["pan"],w=()=>`
1
+ import{a as g}from"./chunk-K3C6GUQD.mjs";import{g as l}from"./chunk-77MT33VR.mjs";import{c as m,h as u}from"./chunk-ULOFDFHJ.mjs";import{g as t}from"./chunk-Y4NIR77Z.mjs";t();t();var x=["pan"],w=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  pan : f32,
@@ -1 +1 @@
1
- import{b}from"./chunk-7LDSMOO3.mjs";import{a as l}from"./chunk-C4M3B2Q2.mjs";import{a as g}from"./chunk-VVY4PG5E.mjs";import{l as n}from"./chunk-ULOFDFHJ.mjs";import{g as c}from"./chunk-Y4NIR77Z.mjs";c();var S={async extractFromChannels(a,u,r={}){let x=await b(),t=r.fps??24,p=r.targetWidth??512,e=await g.extractFeatures(x,a,u,t,r,p),i=e.channelSamples??{primary:new Float32Array(e.numFrames),beat:new Float32Array(e.numFrames),bass:new Float32Array(e.numFrames),energy:new Float32Array(e.numFrames)},y={nodeId:"audio_primary",channel:"primary",textureView:e.textureView,texture:e.texture,buffer:e.primaryBuffer,stats:e.stats.primary},w={nodeId:"audio_beat",channel:"beat",textureView:e.textureView,texture:e.texture,buffer:e.beatBuffer,stats:e.stats.beat},B={nodeId:"audio_bass",channel:"bass",textureView:e.textureView,texture:e.texture,buffer:e.bassBuffer,stats:e.stats.bass},F={nodeId:"audio_energy",channel:"energy",textureView:e.textureView,texture:e.texture,buffer:e.energyBuffer,stats:e.stats.energy},o=n(i.primary,t,y),m=n(i.beat,t,w),d=n(i.bass,t,B),f=n(i.energy,t,F);return{primary:o,beat:m,bass:d,energy:f,durationSec:e.durationSec,numFrames:e.numFrames,sampleRate:u,textureView:e.textureView,texture:e.texture,primaryBuffer:e.primaryBuffer,beatBuffer:e.beatBuffer,bassBuffer:e.bassBuffer,energyBuffer:e.energyBuffer,seekFrame(s){o.seekFrame?.(s),m.seekFrame?.(s),d.seekFrame?.(s),f.seekFrame?.(s)}}},async extract(a,u={}){let r=await l(a);if(!r||r.channels.length===0)throw new Error(`Failed to decode audio source for feature extraction: ${a}`);return S.extractFromChannels(r.channels,r.sampleRate,u)}};export{S as a};
1
+ import{b}from"./chunk-A6OAPDIA.mjs";import{a as l}from"./chunk-5SLBE2FX.mjs";import{a as g}from"./chunk-VVY4PG5E.mjs";import{l as n}from"./chunk-ULOFDFHJ.mjs";import{g as c}from"./chunk-Y4NIR77Z.mjs";c();var S={async extractFromChannels(a,u,r={}){let x=await b(),t=r.fps??24,p=r.targetWidth??512,e=await g.extractFeatures(x,a,u,t,r,p),i=e.channelSamples??{primary:new Float32Array(e.numFrames),beat:new Float32Array(e.numFrames),bass:new Float32Array(e.numFrames),energy:new Float32Array(e.numFrames)},y={nodeId:"audio_primary",channel:"primary",textureView:e.textureView,texture:e.texture,buffer:e.primaryBuffer,stats:e.stats.primary},w={nodeId:"audio_beat",channel:"beat",textureView:e.textureView,texture:e.texture,buffer:e.beatBuffer,stats:e.stats.beat},B={nodeId:"audio_bass",channel:"bass",textureView:e.textureView,texture:e.texture,buffer:e.bassBuffer,stats:e.stats.bass},F={nodeId:"audio_energy",channel:"energy",textureView:e.textureView,texture:e.texture,buffer:e.energyBuffer,stats:e.stats.energy},o=n(i.primary,t,y),m=n(i.beat,t,w),d=n(i.bass,t,B),f=n(i.energy,t,F);return{primary:o,beat:m,bass:d,energy:f,durationSec:e.durationSec,numFrames:e.numFrames,sampleRate:u,textureView:e.textureView,texture:e.texture,primaryBuffer:e.primaryBuffer,beatBuffer:e.beatBuffer,bassBuffer:e.bassBuffer,energyBuffer:e.energyBuffer,seekFrame(s){o.seekFrame?.(s),m.seekFrame?.(s),d.seekFrame?.(s),f.seekFrame?.(s)}}},async extract(a,u={}){let r=await l(a);if(!r||r.channels.length===0)throw new Error(`Failed to decode audio source for feature extraction: ${a}`);return S.extractFromChannels(r.channels,r.sampleRate,u)}};export{S as a};
@@ -1,4 +1,4 @@
1
- import{a as X,b as J,d as U,g as Z,j as ee,m as ae}from"./chunk-IB6GZJOL.mjs";import{g as Q}from"./chunk-KOVN277Z.mjs";import{g as W}from"./chunk-Y4NIR77Z.mjs";W();W();function h(l){if(!l)return[1,1,1,1];let t=l.trim().replace(/^#/,"");if(t.length===3)t=t.split("").map(m=>m+m).join("")+"ff";else if(t.length===6)t=t+"ff";else if(t.length!==8)return[1,1,1,1];let s=parseInt(t.slice(0,2),16)/255,u=parseInt(t.slice(2,4),16)/255,n=parseInt(t.slice(4,6),16)/255,c=parseInt(t.slice(6,8),16)/255;return[Number.isFinite(s)?s:1,Number.isFinite(u)?u:1,Number.isFinite(n)?n:1,Number.isFinite(c)?c:1]}var A={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},ea={InnerBevel:0,OuterBevel:1,Emboss:2,PillowEmboss:3},aa={Smooth:0,ChiselHard:1,ChiselSoft:2},ta={outside:0,center:1,inside:2},z=24,ra=`
1
+ import{a as ae,b as te,d as Y,g as re,j as se,k as oe,n as le}from"./chunk-6O55UROD.mjs";import{g as ee}from"./chunk-77MT33VR.mjs";import{g as F}from"./chunk-Y4NIR77Z.mjs";F();F();function y(r){if(!r)return[1,1,1,1];let a=r.trim().replace(/^#/,"");if(a.length===3)a=a.split("").map(l=>l+l).join("")+"ff";else if(a.length===6)a=a+"ff";else if(a.length!==8)return[1,1,1,1];let o=parseInt(a.slice(0,2),16)/255,m=parseInt(a.slice(2,4),16)/255,c=parseInt(a.slice(4,6),16)/255,n=parseInt(a.slice(6,8),16)/255;return[Number.isFinite(o)?o:1,Number.isFinite(m)?m:1,Number.isFinite(c)?c:1,Number.isFinite(n)?n:1]}var R={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},oa={InnerBevel:0,OuterBevel:1,Emboss:2,PillowEmboss:3},la={Smooth:0,ChiselHard:1,ChiselSoft:2},ia={outside:0,center:1,inside:2},p=24,V=16,na=`
2
2
  struct LayerStyleUniforms {
3
3
  // Drop Shadow (vec4 x 3)
4
4
  dropShadowColor : vec4<f32>,
@@ -40,7 +40,7 @@ struct LayerStyleUniforms {
40
40
  @group(0) @binding(0) var<uniform> u : LayerStyleUniforms;
41
41
  @group(1) @binding(0) var tex : texture_2d<f32>;
42
42
  @group(1) @binding(1) var samp : sampler;
43
- ${X}
43
+ ${ae}
44
44
 
45
45
  fn sampleAlpha(uv: vec2<f32>) -> f32 {
46
46
  if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) {
@@ -211,7 +211,7 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
211
211
  var shadowWeightSum = 0.0;
212
212
 
213
213
  let sigma = max(0.5, size * 0.4);
214
- let sampleRadius = min(i32(ceil(size)), ${z});
214
+ let sampleRadius = min(i32(ceil(size)), ${p});
215
215
 
216
216
  if (size <= 0.5) {
217
217
  shadowAccum = sampleAlpha(shadowCenterUv);
@@ -251,7 +251,7 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
251
251
  var glowAccum = 0.0;
252
252
  var glowWeightSum = 0.0;
253
253
  let sigma = max(0.5, size * 0.4);
254
- let sampleRadius = min(i32(ceil(size)), ${z});
254
+ let sampleRadius = min(i32(ceil(size)), ${p});
255
255
 
256
256
  if (size <= 0.5) {
257
257
  glowAccum = origA;
@@ -289,7 +289,7 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
289
289
  let blendMode = u32(u.strokeParams2.x);
290
290
 
291
291
  var maxAlpha = 0.0;
292
- let sampleRadius = min(i32(ceil(size)), ${z});
292
+ let sampleRadius = min(i32(ceil(size)), ${p});
293
293
  let sizeSq = size * size;
294
294
 
295
295
  for (var y = -sampleRadius; y <= sampleRadius; y++) {
@@ -378,7 +378,7 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
378
378
  var innerAccum = 0.0;
379
379
  var innerWeight = 0.0;
380
380
  let sigma = max(0.5, igSize * 0.4);
381
- let sampleRadius = min(i32(ceil(igSize)), 16);
381
+ let sampleRadius = min(i32(ceil(igSize)), ${V});
382
382
  let stepVal = max(1, sampleRadius / 6);
383
383
 
384
384
  for (var y = -sampleRadius; y <= sampleRadius; y += stepVal) {
@@ -416,7 +416,7 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
416
416
  var isAccum = 0.0;
417
417
  var isWeight = 0.0;
418
418
  let sigma = max(0.5, isSize * 0.4);
419
- let sampleRadius = min(i32(ceil(isSize)), 16);
419
+ let sampleRadius = min(i32(ceil(isSize)), ${V});
420
420
  let stepVal = max(1, sampleRadius / 6);
421
421
 
422
422
  for (var y = -sampleRadius; y <= sampleRadius; y += stepVal) {
@@ -447,7 +447,7 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
447
447
  let blendMode = u32(u.strokeParams2.x);
448
448
 
449
449
  var minAlpha = 1.0;
450
- let sampleRadius = min(i32(ceil(size)), ${z});
450
+ let sampleRadius = min(i32(ceil(size)), ${p});
451
451
  let sizeSq = size * size;
452
452
 
453
453
  for (var y = -sampleRadius; y <= sampleRadius; y++) {
@@ -482,7 +482,7 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
482
482
  var maxAlpha = 0.0;
483
483
  var minAlpha = 1.0;
484
484
  let halfSize = max(0.5, size * 0.5);
485
- let sampleRadius = min(i32(ceil(halfSize)), ${z});
485
+ let sampleRadius = min(i32(ceil(halfSize)), ${p});
486
486
  let halfSizeSq = halfSize * halfSize;
487
487
 
488
488
  for (var y = -sampleRadius; y <= sampleRadius; y++) {
@@ -506,4 +506,4 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
506
506
  // Output premultiplied alpha for QuadPipeline / WebGPU rendering
507
507
  return vec4<f32>(result.rgb * result.a, result.a);
508
508
  }
509
- `,te=new WeakMap;function sa(l,t){let s=te.get(l);if(s)return s;let u=l.createShaderModule({code:ra}),n=U(l,["uniform"]),c=U(l,["texture","sampler"]),m=l.createPipelineLayout({bindGroupLayouts:[n,c]});return s={pipeline:Z(l,{module:u,layouts:m,format:t,blend:J}),uniformLayout:n,textureLayout:c},te.set(l,s),s}var e=new Float32Array(88),V=async l=>{let{ctx:t,encoder:s,pass:u,targetTexture:n,targetWidth:c,targetHeight:m,props:i,drawChild:p}=l,a=i.virtualMedia?.operation;if(a?.op!=="LayerStyle"||!a)return;let q=i.virtualMedia.children?.[0];if(!q)return;u.end();let G=c,O=m,re=i.elapsedMs!==void 0?i.elapsedMs/1e3:(i.frame??0)/(i.fps||30),r=(F,D,w=0,S=1e3)=>{if(F&&a.inputs?.[F]?.connectionValid){let g=a.inputs[F].outputItem;if(!g)return Math.max(w,Math.min(S,D));if(g.type==="Number"){let o=typeof g.data=="number"?g.data:g.data?.value??D;return Math.max(w,Math.min(S,o))}if(g.type==="Signal"){let o=g.data;if(typeof o=="number")return Math.max(w,Math.min(S,o));if(o&&typeof o=="object"){if(typeof o.value=="number")return Math.max(w,Math.min(S,o.value));let je=typeof o.amplitude=="number"?o.amplitude:1,Ke=typeof o.frequency=="number"?o.frequency:1,Ye=typeof o.phase=="number"?o.phase:0,Qe=typeof o.offset=="number"?o.offset:D,Xe=re,Je=Qe+je*Math.sin(2*Math.PI*Ke*Xe+Ye);return Math.max(w,Math.min(S,Je))}}}return Math.max(w,Math.min(S,D))},P=G,R=O,_=t.renderer.getTemporaryTexture(P,R,[...i.excludeTextures||[],n]),N=_.createView();t.renderer.beginFrame(s,N,{r:0,g:0,b:0,a:0},P,R,"clear").end(),await p(q,{...i,virtualMedia:q,containerWidth:P,containerHeight:R},N,_,P,R);let $=t.renderer.getTemporaryTexture(G,O,[_,n,...i.excludeTextures||[]]),j=$.createView(),K=t.renderer.beginFrame(s,j,{r:0,g:0,b:0,a:0},G,O,"clear");t.renderer.drawTexture(K,_,{x:0,y:0,width:P,height:R},{opacity:1}),K.end();let{pipeline:se,uniformLayout:oe,textureLayout:le}=sa(t.device,t.renderer.format),ie=t.renderer.samplerCache.getSampler(t.device),f=a.dropShadow??{},b=a.innerShadow??{},y=a.outerGlow??{},v=a.innerGlow??{},x=a.stroke??{},d=a.bevelEmboss??{},C=a.colorOverlay??{},k=h(f.color??"#000000"),ne=r(a.dropShadowOpacityHandleId,f.opacity??.75,0,1),de=r(a.dropShadowAngleHandleId,f.angle??120,0,360)*Math.PI/180,ce=r(a.dropShadowDistanceHandleId,f.distance??10,0,500),ue=r(a.dropShadowSpreadHandleId,f.spread??0,0,100),me=r(a.dropShadowSizeHandleId,f.size??10,0,250),pe=A[f.blendMode??"multiply"]??1,I=h(b.color??"#000000"),fe=r(a.innerShadowOpacityHandleId,b.opacity??.75,0,1),be=r(a.innerShadowAngleHandleId,b.angle??120,0,360)*Math.PI/180,he=r(a.innerShadowDistanceHandleId,b.distance??5,0,500),ge=r(a.innerShadowChokeHandleId,b.choke??0,0,100),ye=r(a.innerShadowSizeHandleId,b.size??5,0,250),ve=A[b.blendMode??"multiply"]??1,M=h(y.color??"#ffffff"),xe=r(a.outerGlowOpacityHandleId,y.opacity??.75,0,1),we=r(a.outerGlowSizeHandleId,y.size??15,0,250),Se=r(a.outerGlowSpreadHandleId,y.spread??0,0,100),Ae=A[y.blendMode??"screen"]??2,L=h(v.color??"#ffffff"),ze=r(a.innerGlowOpacityHandleId,v.opacity??.75,0,1),Pe=r(a.innerGlowSizeHandleId,v.size??15,0,250),Re=r(a.innerGlowSpreadHandleId,v.spread??0,0,100),_e=A[v.blendMode??"screen"]??2,E=h(x.color??"#ffffff"),Ge=r(a.strokeSizeHandleId,x.size??2,0,100),Oe=ta[x.position??"outside"]??0,Ce=r(a.strokeOpacityHandleId,x.opacity??1,0,1),ke=A[x.blendMode??"normal"]??0,H=h(d.highlightColor??"#ffffff"),B=h(d.shadowColor??"#000000"),Ie=ea[d.style??"InnerBevel"]??0,Me=aa[d.technique??"Smooth"]??0,Le=r(a.bevelEmbossDepthHandleId,d.depth??100,1,1e3),Ee=d.direction==="Down"?-1:1,He=r(a.bevelEmbossSizeHandleId,d.size??5,0,250),Be=r(a.bevelEmbossSoftenHandleId,d.soften??0,0,50),Te=r(a.bevelEmbossAngleHandleId,d.angle??120,0,360)*Math.PI/180,De=r(a.bevelEmbossAltitudeHandleId,d.altitude??30,0,90)*Math.PI/180,We=r(a.bevelEmbossHighlightOpacityHandleId,d.highlightOpacity??.75,0,1),qe=r(a.bevelEmbossShadowOpacityHandleId,d.shadowOpacity??.75,0,1),T=h(C.color??"#ff0000"),Fe=r(a.colorOverlayOpacityHandleId,C.opacity??1,0,1),Ue=A[C.blendMode??"normal"]??0;e.fill(0),e[0]=k[0],e[1]=k[1],e[2]=k[2],e[3]=k[3],e[4]=f.enabled?1:0,e[5]=ne,e[6]=de,e[7]=ce,e[8]=ue,e[9]=me,e[10]=pe,e[11]=0,e[12]=I[0],e[13]=I[1],e[14]=I[2],e[15]=I[3],e[16]=b.enabled?1:0,e[17]=fe,e[18]=be,e[19]=he,e[20]=ge,e[21]=ye,e[22]=ve,e[23]=0,e[24]=M[0],e[25]=M[1],e[26]=M[2],e[27]=M[3],e[28]=y.enabled?1:0,e[29]=xe,e[30]=we,e[31]=Se,e[32]=Ae,e[33]=0,e[34]=0,e[35]=0,e[36]=L[0],e[37]=L[1],e[38]=L[2],e[39]=L[3],e[40]=v.enabled?1:0,e[41]=ze,e[42]=Pe,e[43]=Re,e[44]=_e,e[45]=0,e[46]=0,e[47]=0,e[48]=E[0],e[49]=E[1],e[50]=E[2],e[51]=E[3],e[52]=x.enabled?1:0,e[53]=Ge,e[54]=Oe,e[55]=Ce,e[56]=ke,e[57]=0,e[58]=0,e[59]=0,e[60]=H[0],e[61]=H[1],e[62]=H[2],e[63]=H[3],e[64]=B[0],e[65]=B[1],e[66]=B[2],e[67]=B[3],e[68]=d.enabled?1:0,e[69]=Ie,e[70]=Me,e[71]=Le,e[72]=Ee,e[73]=He,e[74]=Be,e[75]=Te,e[76]=De,e[77]=We,e[78]=qe,e[79]=0,e[80]=T[0],e[81]=T[1],e[82]=T[2],e[83]=T[3],e[84]=C.enabled?1:0,e[85]=Fe,e[86]=Ue,e[87]=0;let Ve=t.renderer.getTemporaryBuffer(e),Ne=t.device.createBindGroup({layout:oe,entries:[{binding:0,resource:{buffer:Ve}}]}),$e=t.device.createBindGroup({layout:le,entries:[{binding:0,resource:j},{binding:1,resource:ie}]}),Y=t.renderer.getTemporaryTexture(G,O,[$,_,n,...i.excludeTextures||[]]);ae(s,Y.createView(),se,[Ne,$e]),ee(l,Y,a.opacity??1)},oa=l=>{let t=l,s=a=>typeof a=="string"&&t.inputs?.[a]?.connectionValid===!0;if(s(t.dropShadowDistanceHandleId)||s(t.dropShadowSizeHandleId)||s(t.outerGlowSizeHandleId)||s(t.strokeSizeHandleId))return null;let u=a=>a&&typeof a=="object"&&"_value"in a?a._value:a,n=a=>Math.min(Math.ceil(a??0),z),c=u(t.dropShadow),m=u(t.outerGlow),i=u(t.stroke),p=0;return c?.enabled&&(p=Math.max(p,(c.distance??0)+n(c.size))),m?.enabled&&(p=Math.max(p,n(m.size))),i?.enabled&&i.position!=="inside"&&(p=Math.max(p,n(i.size))),Math.ceil(p)+2};V.reach=oa;var ma=Q({WebGPURenderer:V});export{ma as a};
509
+ `,ie=new WeakMap;function da(r,a){let o=ie.get(r);if(o)return o;let m=r.createShaderModule({code:na}),c=Y(r,["uniform"]),n=Y(r,["texture","sampler"]),l=r.createPipelineLayout({bindGroupLayouts:[c,n]});return o={pipeline:re(r,{module:m,layouts:l,format:a,blend:te}),uniformLayout:c,textureLayout:n},ie.set(r,o),o}var e=new Float32Array(88),U=async r=>{let{ctx:a,encoder:o,pass:m,targetTexture:c,targetWidth:n,targetHeight:l,props:d,drawChild:N}=r,t=d.virtualMedia?.operation;if(t?.op!=="LayerStyle"||!t)return;let $=d.virtualMedia.children?.[0];if(!$)return;m.end();let G=n,k=l,f=se(r),ne=d.elapsedMs!==void 0?d.elapsedMs/1e3:(d.frame??0)/(d.fps||30),s=(K,q,A=0,P=1e3)=>{if(K&&t.inputs?.[K]?.connectionValid){let v=t.inputs[K].outputItem;if(!v)return Math.max(A,Math.min(P,q));if(v.type==="Number"){let i=typeof v.data=="number"?v.data:v.data?.value??q;return Math.max(A,Math.min(P,i))}if(v.type==="Signal"){let i=v.data;if(typeof i=="number")return Math.max(A,Math.min(P,i));if(i&&typeof i=="object"){if(typeof i.value=="number")return Math.max(A,Math.min(P,i.value));let Je=typeof i.amplitude=="number"?i.amplitude:1,Ze=typeof i.frequency=="number"?i.frequency:1,ea=typeof i.phase=="number"?i.phase:0,aa=typeof i.offset=="number"?i.offset:q,ta=ne,ra=aa+Je*Math.sin(2*Math.PI*Ze*ta+ea);return Math.max(A,Math.min(P,ra))}}}return Math.max(A,Math.min(P,q))},_=G,I=k,O=a.renderer.getTemporaryTexture(_,I,[...d.excludeTextures||[],c]),j=O.createView();a.renderer.beginFrame(o,j,{r:0,g:0,b:0,a:0},_,I,"clear").end(),await N($,{...d,virtualMedia:$,containerWidth:_,containerHeight:I},j,O,_,I);let Q=a.renderer.getTemporaryTexture(G,k,[O,c,...d.excludeTextures||[]]),X=Q.createView(),J=a.renderer.beginFrame(o,X,{r:0,g:0,b:0,a:0},G,k,"clear");a.renderer.drawTexture(J,O,{x:0,y:0,width:_,height:I},{opacity:1}),J.end();let{pipeline:de,uniformLayout:ce,textureLayout:ue}=da(a.device,a.renderer.format),me=a.renderer.samplerCache.getSampler(a.device),h=t.dropShadow??{},g=t.innerShadow??{},S=t.outerGlow??{},w=t.innerGlow??{},z=t.stroke??{},u=t.bevelEmboss??{},M=t.colorOverlay??{},C=y(h.color??"#000000"),pe=s(t.dropShadowOpacityHandleId,h.opacity??.75,0,1),fe=s(t.dropShadowAngleHandleId,h.angle??120,0,360)*Math.PI/180,be=s(t.dropShadowDistanceHandleId,h.distance??10,0,500)*f,he=s(t.dropShadowSpreadHandleId,h.spread??0,0,100),ge=s(t.dropShadowSizeHandleId,h.size??10,0,250)*f,ye=R[h.blendMode??"multiply"]??1,L=y(g.color??"#000000"),xe=s(t.innerShadowOpacityHandleId,g.opacity??.75,0,1),ve=s(t.innerShadowAngleHandleId,g.angle??120,0,360)*Math.PI/180,Se=s(t.innerShadowDistanceHandleId,g.distance??5,0,500)*f,we=s(t.innerShadowChokeHandleId,g.choke??0,0,100),ze=s(t.innerShadowSizeHandleId,g.size??5,0,250)*f,Ae=R[g.blendMode??"multiply"]??1,E=y(S.color??"#ffffff"),Pe=s(t.outerGlowOpacityHandleId,S.opacity??.75,0,1),Re=s(t.outerGlowSizeHandleId,S.size??15,0,250)*f,_e=s(t.outerGlowSpreadHandleId,S.spread??0,0,100),Ie=R[S.blendMode??"screen"]??2,H=y(w.color??"#ffffff"),Oe=s(t.innerGlowOpacityHandleId,w.opacity??.75,0,1),Ge=s(t.innerGlowSizeHandleId,w.size??15,0,250)*f,ke=s(t.innerGlowSpreadHandleId,w.spread??0,0,100),Me=R[w.blendMode??"screen"]??2,B=y(z.color??"#ffffff"),Ce=s(t.strokeSizeHandleId,z.size??2,0,100)*f,Le=ia[z.position??"outside"]??0,Ee=s(t.strokeOpacityHandleId,z.opacity??1,0,1),He=R[z.blendMode??"normal"]??0,T=y(u.highlightColor??"#ffffff"),D=y(u.shadowColor??"#000000"),Be=oa[u.style??"InnerBevel"]??0,Te=la[u.technique??"Smooth"]??0,De=s(t.bevelEmbossDepthHandleId,u.depth??100,1,1e3),We=u.direction==="Down"?-1:1,qe=s(t.bevelEmbossSizeHandleId,u.size??5,0,250)*f,Fe=s(t.bevelEmbossSoftenHandleId,u.soften??0,0,50)*f,Ve=s(t.bevelEmbossAngleHandleId,u.angle??120,0,360)*Math.PI/180,Ue=s(t.bevelEmbossAltitudeHandleId,u.altitude??30,0,90)*Math.PI/180,Ne=s(t.bevelEmbossHighlightOpacityHandleId,u.highlightOpacity??.75,0,1),$e=s(t.bevelEmbossShadowOpacityHandleId,u.shadowOpacity??.75,0,1),W=y(M.color??"#ff0000"),Ke=s(t.colorOverlayOpacityHandleId,M.opacity??1,0,1),Ye=R[M.blendMode??"normal"]??0;e.fill(0),e[0]=C[0],e[1]=C[1],e[2]=C[2],e[3]=C[3],e[4]=h.enabled?1:0,e[5]=pe,e[6]=fe,e[7]=be,e[8]=he,e[9]=ge,e[10]=ye,e[11]=0,e[12]=L[0],e[13]=L[1],e[14]=L[2],e[15]=L[3],e[16]=g.enabled?1:0,e[17]=xe,e[18]=ve,e[19]=Se,e[20]=we,e[21]=ze,e[22]=Ae,e[23]=0,e[24]=E[0],e[25]=E[1],e[26]=E[2],e[27]=E[3],e[28]=S.enabled?1:0,e[29]=Pe,e[30]=Re,e[31]=_e,e[32]=Ie,e[33]=0,e[34]=0,e[35]=0,e[36]=H[0],e[37]=H[1],e[38]=H[2],e[39]=H[3],e[40]=w.enabled?1:0,e[41]=Oe,e[42]=Ge,e[43]=ke,e[44]=Me,e[45]=0,e[46]=0,e[47]=0,e[48]=B[0],e[49]=B[1],e[50]=B[2],e[51]=B[3],e[52]=z.enabled?1:0,e[53]=Ce,e[54]=Le,e[55]=Ee,e[56]=He,e[57]=0,e[58]=0,e[59]=0,e[60]=T[0],e[61]=T[1],e[62]=T[2],e[63]=T[3],e[64]=D[0],e[65]=D[1],e[66]=D[2],e[67]=D[3],e[68]=u.enabled?1:0,e[69]=Be,e[70]=Te,e[71]=De,e[72]=We,e[73]=qe,e[74]=Fe,e[75]=Ve,e[76]=Ue,e[77]=Ne,e[78]=$e,e[79]=0,e[80]=W[0],e[81]=W[1],e[82]=W[2],e[83]=W[3],e[84]=M.enabled?1:0,e[85]=Ke,e[86]=Ye,e[87]=0;let je=a.renderer.getTemporaryBuffer(e),Qe=a.device.createBindGroup({layout:ce,entries:[{binding:0,resource:{buffer:je}}]}),Xe=a.device.createBindGroup({layout:ue,entries:[{binding:0,resource:X},{binding:1,resource:me}]}),Z=a.renderer.getTemporaryTexture(G,k,[Q,O,c,...d.excludeTextures||[]]);le(o,Z.createView(),de,[Qe,Xe]),oe(r,Z,t.opacity??1)},b=(r,a)=>typeof a=="string"&&r.inputs?.[a]?.connectionValid===!0,x=r=>r&&typeof r=="object"&&"_value"in r?r._value:r,ca=r=>{let a=r;if(b(a,a.dropShadowDistanceHandleId)||b(a,a.dropShadowSizeHandleId)||b(a,a.outerGlowSizeHandleId)||b(a,a.strokeSizeHandleId))return null;let o=d=>Math.min(Math.ceil(d??0),p),m=x(a.dropShadow),c=x(a.outerGlow),n=x(a.stroke),l=0;return m?.enabled&&(l=Math.max(l,(m.distance??0)+o(m.size))),c?.enabled&&(l=Math.max(l,o(c.size))),n?.enabled&&n.position!=="inside"&&(l=Math.max(l,o(n.size))),Math.ceil(l)+2},ua=r=>{let a=r;if(b(a,a.dropShadowSizeHandleId)||b(a,a.innerShadowSizeHandleId)||b(a,a.outerGlowSizeHandleId)||b(a,a.innerGlowSizeHandleId)||b(a,a.strokeSizeHandleId))return 1;let o=x(a.stroke),m=o?.position==="center"?2*p:p,c=[[x(a.dropShadow),10,p],[x(a.outerGlow),15,p],[x(a.innerGlow),15,V],[x(a.innerShadow),5,V],[o,2,m]],n=Number.POSITIVE_INFINITY;for(let[l,d,N]of c){if(!l?.enabled)continue;let t=l.size??d;t>0&&(n=Math.min(n,N/t))}return n};U.reach=ca;U.maxPixelScale=ua;var ya=ee({WebGPURenderer:U});export{ya as a};
@@ -1,4 +1,4 @@
1
- import{a as _}from"./chunk-K3C6GUQD.mjs";import{f as n,g as O}from"./chunk-KOVN277Z.mjs";import{c as a}from"./chunk-ULOFDFHJ.mjs";import{g as u}from"./chunk-Y4NIR77Z.mjs";u();u();var U=["roomSize","damping","wet","dry","width"],G=()=>`
1
+ import{a as _}from"./chunk-K3C6GUQD.mjs";import{f as n,g as O}from"./chunk-77MT33VR.mjs";import{c as a}from"./chunk-ULOFDFHJ.mjs";import{g as u}from"./chunk-Y4NIR77Z.mjs";u();u();var U=["roomSize","damping","wet","dry","width"],G=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  roomSize : f32,
@@ -1,4 +1,4 @@
1
- import{a as $e,b as lt,c as ut,d as dt,e as ft,f as ht,g as mt,h as gt,i as xt,j as yt,k as bt,l as wt,n as St}from"./chunk-FKG27DVO.mjs";import{b as Ge}from"./chunk-P4Y3PMJF.mjs";import{d as at}from"./chunk-VVY4PG5E.mjs";import{h as st,i as ct,j as L,x as be}from"./chunk-BJXNKMSY.mjs";import{a as de}from"./chunk-354GX6IB.mjs";import{f as Re,g as we}from"./chunk-Y4NIR77Z.mjs";we();function Et(t){return typeof t=="object"&&t!==null&&typeof t.get=="function"}function Fe(t,n){return Et(t)?t.get(n):t}function Ct(t,n){return t.map(e=>{let i={...e,text:String(Fe(e.text,n)??"")};return e.fontSize!==void 0&&(i.fontSize=Number(Fe(e.fontSize,n))),e.fill!==void 0&&(i.fill=String(Fe(e.fill,n))),e.opacity!==void 0&&(i.opacity=Number(Fe(e.opacity,n))),e.mark&&(i.mark={...e.mark,background:String(Fe(e.mark.background,n))}),i})}function zt(t){let n="";for(let e of t)n+=typeof e.text=="string"?e.text:"";return n}function Mt(t,n){let e=[],i=0;for(let[r,c]of t.entries()){if(i>=n.length)break;let d=typeof c.text=="string"?c.text.length:0,u=r===t.length-1?n.length:i+d;u>i&&e.push({...c,text:n.slice(i,u)}),i=u}return e}we();function Xt(t,n,e,i,r=0,c=0){let d=at.getChannelSamples(n,"primary");if(d&&d.length>0){let m=i>0?i:24,C=e/m,h=r!==0?c*r/(2*Math.PI):0,k=Math.max(0,C+h),a=Math.max(0,Math.min(d.length-1,Math.round(k*m)));return Number(d[a])||0}if(!t)return 0;let u=t[n];if(u==null)return 0;if(typeof u=="number")return u;if(typeof u=="function")return Number(u(e,i))||0;if(typeof u=="object"){let m=u;if(typeof m.get=="function"){let C=i>0?e/i:0,h=r!==0?c*r/(2*Math.PI):0;return Number(m.get({frame:e,fps:i,time:C+h}))||0}if(Array.isArray(m.samples)||ArrayBuffer.isView(m.samples)){let C=m.samples,h=Math.max(0,Math.min(C.length-1,Math.round(e)));return Number(C[h])||0}}return 0}function It(t){return t<.5?2*t*t:1-(-2*t+2)**2/2}function Yt(t){let n=0;for(let e=0;e<t.length;e++)n=t.charCodeAt(e)+((n<<5)-n);return()=>{let e=Math.sin(n++)*1e4;return e-Math.floor(e)}}function Gt(t,n){let e=Yt(n),i=Array.from({length:t},(r,c)=>c);for(let r=i.length-1;r>0;r--){let c=Math.floor(e()*(r+1)),d=i[r];i[r]=i[c],i[c]=d}return i}function jt(t,n,e){let i=`${n}-${e}`,r=L.emojiTextureCache.get(i);if(r)return r;let c=4,d=Math.max(16,Math.ceil(e*1.5*c)),u=Math.ceil(d/4)*4;if(!!globalThis.__IS_HEADLESS_RENDERER__||typeof window>"u"||typeof globalThis.document>"u")return L.hasEmojiFont()&&console.warn(`[getOrCreateEmojiTexture] Emoji "${n}" not preloaded. Returning fallback dummy texture.`),r=t.createTexture({label:`Emoji-Dummy-${n}`,size:[1,1],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING}),L.emojiTextureCache.set(i,r),r;let C=new OffscreenCanvas(u,u),h=C.getContext("2d");return h&&(h.font=`${e*c}px "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif`,h.textBaseline="middle",h.textAlign="center",h.fillText(n,u/2,u/2)),r=t.createTexture({label:`Emoji-${n}`,size:[u,u],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT}),t.queue.copyExternalImageToTexture({source:C},{texture:r,premultipliedAlpha:!0},[u,u]),L.emojiTextureCache.set(i,r),r}function je(t,n,e,i,r,c,d){if(!d)return{p_in:1,p_out:1};let u=1;if(e>0){let C=e*.5,h=c>1?e*.5/(c-1):0,k=r*h,a=k+C;t<k?u=0:t>a?u=1:u=(t-k)/(a-k)}let m=1;if(i>0){let C=n-i;if(t>C){let h=i*.5,k=c>1?i*.5/(c-1):0,a=C+r*k,A=a+h;t<a?m=1:t>A?m=0:m=1-(t-a)/(A-a)}}return{p_in:u,p_out:m}}function _e(t,n,e,i,r,c,d,u,m,C,h,k,a){let A=e?It(t):t,w=e?It(n):n,v=A*w;if(A<=0&&i!=="blur"||w<=0&&r!=="blur")return{opacity:0,transX:0,transY:0,rot:0,scale:1,blurAmount:0,visible:!1};let X=k;if(i==="fade"||i==="slideUp"||i==="blur"?X*=A:i==="appear"&&A<.5&&(X=0),r==="fade"||r==="slideUp"||r==="blur"?X*=w:r==="appear"&&w<.5&&(X=0),X<.001)return{opacity:0,transX:0,transY:0,rot:0,scale:1,blurAmount:0,visible:!1};let j=0,P=0,H=0,ee=1;i==="slideUp"&&d<m&&(P+=(1-A)*30),r==="slideUp"&&d>u-C&&(P-=(1-w)*30);let oe=a?1:Math.PI/180;c==="stack"?(ee=.8+.2*v,H=(1-v)*15*oe):c==="wave"?P+=10*Math.sin(d*.005-h*.5):c==="wiggle"?(j+=5*Math.sin(d*.008+h*1.7),P+=5*Math.cos(d*.006+h*1.3),H+=4*Math.sin(d*.005+h*2.1)*oe):c==="shuffle"&&(j+=3*Math.sin(d*.015+h*3.1),P+=3*Math.cos(d*.012+h*2.3),H+=8*Math.sin(d*.02+h*1.1)*oe);let x=0;return i==="blur"&&(x=Math.max(x,(1-A)*20)),r==="blur"&&(x=Math.max(x,(1-w)*20)),{opacity:X,transX:j,transY:P,rot:H,scale:ee,blurAmount:x,visible:!0}}var _t={linear:t=>t,none:t=>t,smoothstep:t=>t,"power1.out":t=>1-(1-t)**2,"quad.out":t=>1-(1-t)**2,"power1.in":t=>t**2,"quad.in":t=>t**2,"power1.inout":t=>t<.5?2*t*t:1-(-2*t+2)**2/2,"quad.inout":t=>t<.5?2*t*t:1-(-2*t+2)**2/2,"power2.out":t=>1-(1-t)**3,"cubic.out":t=>1-(1-t)**3,"power2.in":t=>t**3,"cubic.in":t=>t**3,"power2.inout":t=>t<.5?4*t**3:1-(-2*t+2)**3/2,"cubic.inout":t=>t<.5?4*t**3:1-(-2*t+2)**3/2,"power3.out":t=>1-(1-t)**4,"quart.out":t=>1-(1-t)**4,"power3.in":t=>t**4,"quart.in":t=>t**4,"power3.inout":t=>t<.5?8*t**4:1-(-2*t+2)**4/2,"quart.inout":t=>t<.5?8*t**4:1-(-2*t+2)**4/2,"power4.out":t=>1-(1-t)**5,"quint.out":t=>1-(1-t)**5,"power4.in":t=>t**5,"quint.in":t=>t**5,"sine.out":t=>Math.sin(t*Math.PI/2),"sine.in":t=>1-Math.cos(t*Math.PI/2),"sine.inout":t=>-(Math.cos(Math.PI*t)-1)/2,"expo.out":t=>t===1?1:1-2**(-10*t),"back.out":t=>1+2.70158*(t-1)**3+1.70158*(t-1)**2};function Ot(t,n){let e=Math.max(0,Math.min(1,n));if(!t)return e;let i=_t[t.toLowerCase().trim()];return i?i(e):e}function Ht(t,n,e){if(e<=0)return 0;let i=e>1?n/(e-1):.5,r=t.offset??0,c=(t.rangeStart??0)+r,d=(t.rangeEnd??1)+r,u=0;d<=c?u=i>=c?1:0:u=Math.max(0,Math.min(1,(i-c)/(d-c)));let m=u*u*(3-2*u);return Ot(t.easing??"power2.out",m)}function kt(t,n,e,i,r,c){let d=Math.max(1,e.charsCount??1),u=Math.max(1,e.wordsCount??1),m=Math.max(1,e.linesCount??1),C=t.selectors??[];if(C.length===0)return 1;let h=0;for(let k=0;k<C.length;k++){let a=C[k],A=0;if(a.type==="range"){let w=d,v=n.charIndex??0;a.basedOn==="words"?(w=u,v=n.wordIndex??0):a.basedOn==="lines"&&(w=m,v=n.lineIndex??0),a.randomizeOrder&&(v=bt(w,a.randomSeed??12345)[v%w]??v);let X=a.units==="index"?v:w>1?v/(w-1):.5,j=a.start??t.rangeStart??0,P=a.end??t.rangeEnd??(a.units==="index"?w:1),H=a.offset??t.offset??0;A=xt(X,j,P,H,a.shape??"smooth",a.easeHigh??0,a.easeLow??0)*(a.amount??1)}else if(a.type==="wiggly"){let w=c>0?r/c:0,v=(a.temporalPhaseDeg??0)*Math.PI/180,X=(a.spatialPhaseDeg??0)*Math.PI/180,j=w*(a.wigglesPerSecond??2)*2*Math.PI+v+X,P=yt(a.randomSeed??42,n.charIndex??0,j,a.correlation??.5),H=a.minAmount??-1,ee=a.maxAmount??1;A=H+(P*.5+.5)*(ee-H)}else if(a.type==="signal")A=Xt(i,a.signalId,r,c,a.phaseSpread??0,n.charIndex??0)*(a.multiplier??1)+(a.offset??0);else if(a.type==="expression"){let w=a,v=c>0?r/c:0,X={charIndex:n.charIndex??0,wordIndex:n.wordIndex??0,lineIndex:n.lineIndex??0,totalChars:d,totalWords:u,totalLines:m,frame:r,fps:c,time:v,signals:i};A=ft(w.expression,X)*(w.amount??1)}k===0?h=A:h=wt(h,A,a.mode??"add")}return h}function At(t,n,e,i,r=!1,c=0,d=24,u){if(!t||t.length===0)return i;let{transX:m,transY:C,rot:h,scale:k,scaleX:a,scaleY:A,opacity:w,blurAmount:v}=i,X=i.transZ??0,j=i.color,P=i.chromaticShift??0,H=i.dissolveProgress??0,ee=i.vfxParam??0,oe=i.skewM01??0,x=i.skewM10??0,fe=i.anchorConfig,le=i.fillOpacity??1,re=i.strokeWidth,U=i.strokeColor,ue=i.longShadow,he=i.lineSpacing,Z=i.lineAnchor,me=r?1:Math.PI/180,z=Math.max(1,e.charsCount??1),K=Math.max(1,e.wordsCount??1),ae=Math.max(1,e.linesCount??1);for(let ne of t)if("selectors"in ne&&Array.isArray(ne.selectors)){let ie=ne,l=ie.props??{},te=kt(ie,n,{charsCount:z,wordsCount:K,linesCount:ae},u,c,d),f=te,Y=1,q=1;if(l.spring){let b=(n.charIndex??0)*.035,D=Math.max(0,(d>0?c/d:0)-b);q=$e(D,l.spring.stiffness,l.spring.damping,l.spring.mass,l.spring.initialVelocity),Y=1-q,f=te*Y}if(f!==0||te!==0){if(l.x!==void 0&&(m+=l.x*f),l.y!==void 0&&(C+=l.y*f),l.scale!==void 0&&(k*=1+(l.scale-1)*f),l.scaleX!==void 0&&(a*=1+(l.scaleX-1)*f),l.scaleY!==void 0&&(A*=1+(l.scaleY-1)*f),l.rotation!==void 0&&(h+=l.rotation*me*f),l.rotationX!==void 0){let b=l.rotationX*f*Math.PI/180;A*=Math.max(.08,Math.abs(Math.cos(b)))}if(l.rotationY!==void 0){let b=l.rotationY*f*Math.PI/180;a*=Math.max(.08,Math.abs(Math.cos(b)))}if(l.rotationZ!==void 0&&(h+=l.rotationZ*me*f),l.translateZ!==void 0&&(X+=l.translateZ*f),l.skew!==void 0){let[,b,D]=lt(l.skew*f,l.skewAxis??0);oe+=b,x+=D}if(l.formation!==void 0){let b=ht(n.charIndex??0,z,l.formation),D=e.layoutCenter?.x??0,Q=e.layoutCenter?.y??0,xe=n.x??0,We=n.y??0,Ee=D+b.x,Xe=Q+b.y;if(m+=(Ee-xe)*f,C+=(Xe-We)*f,X+=b.z*f,b.rotX){let ye=b.rotX*f*Math.PI/180;A*=Math.max(.5,Math.abs(Math.cos(ye)))}if(b.rotY){let ye=b.rotY*f*Math.PI/180;a*=Math.max(.5,Math.abs(Math.cos(ye)))}b.rotZ&&(h+=b.rotZ*Math.PI/180*f),b.depthOpacity!==void 0&&(w*=1+(b.depthOpacity-1)*f)}if(l.anchor!==void 0&&(fe=l.anchor),l.opacity!==void 0&&(w*=1+(l.opacity-1)*f),l.blur!==void 0&&(v=Math.max(v,l.blur*f)),l.chromaticGlitch!==void 0){let b=(l.chromaticGlitch.redShiftX??0)*Math.max(0,f),D=l.chromaticGlitch.sliceProbability??.35,Q=Math.sin(c*17.13+(n.charIndex??0)*43.17),xe=Math.abs(Q-Math.floor(Q));xe<D&&(b+=(l.chromaticGlitch.sliceAmplitude??12)*(xe*2-1)),P+=b}if(l.particleDissolve!==void 0&&(H=Math.max(H,(l.particleDissolve.progress??0)*(l.spring?q:Math.max(0,f)))),l.longShadow!==void 0&&(ue=l.longShadow),l.audioSpectrum!==void 0){let b=gt(n.charIndex??0,z,l.audioSpectrum,u,c,d);l.audioSpectrum.scaleAxis==="scaleY"?A*=b:l.audioSpectrum.scaleAxis==="scaleX"?a*=b:k*=b}if(l.stroke!==void 0&&(l.stroke.fillOpacity!==void 0&&(le*=1-f+l.stroke.fillOpacity*f),l.stroke.strokeWidth!==void 0&&(re=(l.stroke.strokeWidth??0)*f),l.stroke.strokeColor&&(U=l.stroke.strokeColor)),l.lineSpacing!==void 0&&(he=l.lineSpacing*(l.spring?q:f),Z=l.lineAnchor??0),l.fillColor){let b=de(l.fillColor),D=j??{r:1,g:1,b:1,a:1},Q=te;j={r:D.r*(1-Q)+b.r*Q,g:D.g*(1-Q)+b.g*Q,b:D.b*(1-Q)+b.b*Q,a:D.a*(1-Q)+b.a*Q}}}}else{let ie=ne,l=n.charIndex??n.unitIndex??0,te=Math.max(1,e.charsCount??1);ie.unit==="word"?(l=n.wordIndex??0,te=Math.max(1,e.wordsCount??1)):ie.unit==="line"&&(l=n.lineIndex??0,te=Math.max(1,e.linesCount??1));let f=Ht(ie,l,te),Y=ie.transform;if(!Y||f<=0)continue;Y.x!==void 0&&(m+=Y.x*f),Y.y!==void 0&&(C+=Y.y*f),Y.rotation!==void 0&&(h+=Y.rotation*me*f),Y.scale!==void 0&&(k*=1+(Y.scale-1)*f),Y.scaleX!==void 0&&(a*=1+(Y.scaleX-1)*f);let q=1+((Y.scaleY??1)-1)*f;if(Y.rotationX){let b=Y.rotationX*f*Math.PI/180;q*=Math.cos(b)}if(A*=q,Y.opacity!==void 0&&(w*=1+(Y.opacity-1)*f),Y.blur!==void 0&&(v=Math.max(v,Y.blur*f)),Y.color){let b=de(Y.color),D=j??{r:1,g:1,b:1,a:1};j={r:D.r*(1-f)+b.r*f,g:D.g*(1-f)+b.g*f,b:D.b*(1-f)+b.b*f,a:D.a*(1-f)+b.a*f}}}return{transX:m,transY:C,transZ:X,rot:h,scale:k,scaleX:a,scaleY:A,opacity:Math.max(0,Math.min(1,w)),blurAmount:v,color:j,chromaticShift:P,dissolveProgress:H,vfxParam:ee,skewM01:oe,skewM10:x,anchorConfig:fe,fillOpacity:Math.max(0,Math.min(1,le)),strokeWidth:re,strokeColor:U,longShadow:ue,lineSpacing:he,lineAnchor:Z}}function pt(t,n,e){let i=e.fontFamily??"Inter";if(L.isFailed(i)&&(i="Inter"),L.isFailed(i))return;let r=e.fontSize??48,c=L.getFont(i,e.fontWeight,t.device,void 0,r,e.variableAxes),d=e.stroke&&e.strokeWidth&&e.strokeWidth>0,u=null;if(c&&d&&t.device){let o=e.strokeAlign==="outside"?2:1,y=(e.strokeWidth??0)*o*(c.unitsPerEm/r);u=L.getFont(i,e.fontWeight,t.device,y,r,e.variableAxes)??null}if(!c?.curvesTex||d&&!u?.curvesTex){let o=Ge(i);L.preloadSlugFont(t.device,i,o,void 0,e.renderId).catch(s=>{console.warn(`[drawParagraphNode] Failed to load Slug font for ${i}:`,s)});return}let m=e.letterSpacing??0,C=e.lineHeight!==void 0&&e.lineHeight<10?e.lineHeight*r:e.lineHeight??r*1.2,h=e.align??"start",k=e.direction??"auto",a=e.isCaption?0:e.textBackgroundColor?e.padding??0:0,A=e.text,w;if(e.typewriter){let o=e.fps??24,s=e.durationMs!==void 0?Math.round(e.durationMs/1e3*o):60;w=St(e.text,e.frame??0,0,s,e.typewriter.cadence,e.typewriter.scramble,e.typewriter.cursor?.blinkFrequency??2,e.typewriter.granularity??"character",e.textProgress),A=w.currentDisplayString}let v=w&&e.spans?.length?Mt(Ct(e.spans),A):e.spans,X=e.pathOptions?{...e.pathOptions,firstMargin:e.firstMargin!==void 0?e.firstMargin:e.pathOptions.firstMargin,lastMargin:e.lastMargin!==void 0?e.lastMargin:e.pathOptions.lastMargin,baselineShift:e.baselineShift!==void 0?e.baselineShift:e.pathOptions.baselineShift}:void 0,j,P;e.width!=null?(j=Math.max(0,e.width-a*2),P=be.measure(A,c,r,m,C,j,v,k)):(P=be.measure(A,c,r,m,C,void 0,v,k),j=P.width);let H=e.isCaption?e.dstRect.width:j,ee=e.animation?.applyBy??"word",x=(h==="left"||h==="start"&&!P.layout?.hasRtl)&&(H===void 0||H===j)&&!X&&ee==="word"&&!!P?.layout&&P.layout?P.layout:be.layout(A,c,r,m,C,j,h,ee,H,X,v,k),fe=e.verticalAlign??"top",le=e.height!=null&&!X&&!e.isCaption?e.height-(P.height+a*2):0,re={...e.dstRect,y:e.dstRect.y+(fe==="middle"?le/2:fe==="bottom"?le:0)},U=e.animation,ue=e.fontWeight==="bold"||typeof e.fontWeight=="number"&&e.fontWeight>=600||typeof e.fontWeight=="string"&&parseInt(e.fontWeight,10)>=600,he="hasTrueWeight"in c&&!!c.hasTrueWeight,Z=c;if(ue&&!he&&t.device){let o=ct(e.fontWeight),s=Math.max(0,(o-400)/500)*.055*r;if(s>0){let y=s*(c.unitsPerEm/r),S=L.getFont(i,400,t.device,y,r,e.variableAxes);S?.curvesTex&&(Z=S)}}let me=x.glyphs.length,z=e.elapsedMs!==void 0?e.elapsedMs:e.frame!==void 0&&e.fps!==void 0?e.frame/e.fps*1e3:0,K=e.durationMs!==void 0?e.durationMs:3e3,ae=e.isCaption?U?.in==="none"||!U?.in?0:K:U?.entranceMs?U.entranceMs:U?.in==="none"||!U?.in?0:K,ne=e.isCaption?0:U?.exitMs?U.exitMs:U?.out==="none"||!U?.out?0:K,ie=U?.in||"none",l=U?.out||"none",te=U?.kinetic||"none",f=U?.smoothing!==!1,Y=0;for(let o of x.glyphs)!o.isSpace&&o.unitIndex>Y&&(Y=o.unitIndex);let q=Y+1,b=te==="shuffle"||ie==="shuffle"?Gt(q,e.text):Array.from({length:q},(o,s)=>s);if(e.textBackgroundColor){let o=e.strokeRadius??e.borderRadius??8,s=0,y=e.opacity??1;if(e.isVideoMode===!1)s=y;else{for(let S of x.glyphs){if(S.isSpace)continue;let I=S.unitIndex,T=b[I]??I,{p_in:M,p_out:g}=je(z,K,ae,ne,T,q,!0),_=_e(M,g,f,ie,l,te,z,K,ae,ne,T,y,!1);_.visible&&_.opacity>s&&(s=_.opacity)}for(let S of x.emojis){let I=e.animation?.applyBy==="line"?0:Math.floor(S.x/(r+m)),T=b[I%q]??0,{p_in:M,p_out:g}=je(z,K,ae,ne,T,q,!0),_=_e(M,g,f,ie,l,te,z,K,ae,ne,T,y,!0);_.visible&&_.opacity>s&&(s=_.opacity)}}if(s>.001){let S=e.width!=null?e.width:P.width+a*2,I=e.height!=null?e.height:P.height+a*2;t.renderer.drawRRect(n,{rect:{x:e.dstRect.x,y:e.dstRect.y,width:S,height:I},rx:o,ry:o},e.textBackgroundColor,{opacity:s})}}if(x.marks&&x.marks.length>0)for(let o of x.marks){let s=o.borderRadius??4;t.renderer.drawRRect(n,{rect:{x:e.dstRect.x+a+o.x,y:re.y+a+o.y,width:o.width,height:o.height},rx:s,ry:s},o.background,{opacity:e.opacity??1})}let D=de(e.color??"white"),Q=de(e.highlightColor??"yellow"),xe=new Float32Array(x.glyphs.length),We=0,Ee=0;if(x.glyphs.length>0){let o=x.glyphs.filter(s=>!s.isSpace);o.length>0&&(We=(o[0].x+o[o.length-1].x)/2,Ee=(o[0].y+o[o.length-1].y)/2)}let Xe={charsCount:x.charsCount,wordsCount:x.wordsCount,linesCount:x.linesCount,layoutCenter:{x:We,y:Ee}};if(e.animators&&e.animators.length>0){for(let o of e.animators)if("selectors"in o&&Array.isArray(o.selectors)){let s=o;if(s.props?.tracking!==void 0&&s.props.tracking!==0){let y=s.props.tracking,S=new Map;for(let I=0;I<x.glyphs.length;I++){let M=x.glyphs[I].lineIndex??0,g=S.get(M);g||(g=[],S.set(M,g)),g.push(I)}for(let I of S.values()){let T=new Map;for(let F of I){let O=x.glyphs[F].charIndex,$=T.get(O);$?$.push(F):T.set(O,[F])}let M=Array.from(T.values()),g=F=>{let O=x.glyphs[F[0]];return O.clusterX??O.x};M.sort((F,O)=>g(F)-g(O));let _=[];for(let F of M){let O=x.glyphs[F[0]],$=kt(s,O,Xe,e.signals,e.frame??0,e.fps??24);_.push($)}let G=0;for(let F=0;F<M.length-1;F++)G+=y*_[F];let p=x.glyphs[I[0]]?.baseRtl??!1,R=h==="start"?p?"right":"left":h==="end"?p?"left":"right":h,N=0;for(let F=0;F<M.length;F++){let O=N;R==="center"?O-=G*.5:R==="right"&&(O-=G);for(let $ of M[F])xe[$]+=O;F<M.length-1&&(N+=y*_[F])}}}}}let ye=new Float32Array(Math.max(1024,me*24)),Ke=(o,s)=>s.cp.glyphId!==void 0&&(s.font??c).fontFamily===o.fontFamily,Qe=new Set,vt=o=>{if(Qe.has(o))return;Qe.add(o);let s=[];for(let y of x.glyphs){let S=y.cp.glyphId;S!==void 0&&(y.font??c)!==o&&Ke(o,y)&&!o.glyphs?.has(S)&&s.push(S)}s.length>0&&st.ensureGlyphs(o,s)},Pt=(o,s)=>{if((s.font??c)===o)return s.cp;if(Ke(o,s)){let y=o.glyphs?.get(s.cp.glyphId);if(y)return y}return o.codePoints.get(s.cp.codePoint)||s.cp},Se=(o,s,y=0,S=0,I,T)=>{let M=me*24;ye.length<M&&(ye=new Float32Array(M));let g=ye,_=0;vt(o);for(let G=0;G<x.glyphs.length;G++){let p=x.glyphs[G];if(p.isSpace||T&&!T(p))continue;let R=Pt(o,p);if(!R||R.width===0||R.height===0)continue;let N=p.unitIndex,F=b[N]??N,O=e.opacity??1,$=0,J=0,se=0,V=1,Ce=I!==void 0?I:0;if(e.isVideoMode!==!1){let{p_in:W,p_out:E}=je(z,K,ae,ne,F,q,!0),B=_e(W,E,f,ie,l,te,z,K,ae,ne,F,e.opacity??1,!1);if(!B.visible)continue;O=B.opacity,$=B.transX,J=B.transY,se=B.rot,V=B.scale,I===void 0&&(Ce=B.blurAmount)}let Me=1,Ue=1,tt,De=0,nt=0,it=0,ot=0,Ne=0,Le=0,Be,rt=1;if(e.animators&&e.animators.length>0){let W=At(e.animators,p,Xe,{transX:$,transY:J,rot:se,scale:V,scaleX:Me,scaleY:Ue,opacity:O,blurAmount:Ce,color:D},!1,e.frame??0,e.fps??24,e.signals);$=W.transX,J=W.transY,se=W.rot,V=W.scale,Me=W.scaleX,Ue=W.scaleY,O=W.opacity,I===void 0&&(Ce=W.blurAmount),W.color&&(tt=W.color),W.lineSpacing!==void 0&&(J+=dt(p.lineIndex,x.linesCount,W.lineSpacing,W.lineAnchor??0)),De=W.transZ??0,nt=W.chromaticShift??0,it=W.dissolveProgress??0,ot=W.vfxParam??0,Ne=W.skewM01??0,Le=W.skewM10??0,Be=W.anchorConfig,rt=W.fillOpacity??1}$+=xe[G];let ze=p.x;if(e.marquee){let W=(e.frame??0)/(e.fps??24),E=x.glyphs.length>0?x.glyphs[x.glyphs.length-1].x+r:e.dstRect.width;ze=mt(p.x,e.dstRect.width,E,e.marquee,W)}let Rt=e.highlightWordIndex!==void 0&&p.wordIndex===e.highlightWordIndex,Ft=p.fill?de(p.fill):void 0,Ye=tt??s??(Rt?Q:Ft??D);(W=>{let E=_*24,B=p.fontScale??r/o.unitsPerEm,Ie=R.width*B/2*Me,Ae=R.height*B/2*Ue;if(De!==0){let ce=Math.max(100,1200-De),ge=ce>1?1200/ce:1;Ie*=ge,Ae*=ge}let ke=se+(p.pathTangentAngleRad??0),pe,Te;if(p.pathTangentAngleRad!==void 0){let ve=R.bearingX*B+Ie,ce=-R.bearingY*B+Ae,ge=Math.cos(ke),Pe=Math.sin(ke),Ve=ve*ge-ce*Pe,qe=ve*Pe+ce*ge;pe=ze+Ve+e.dstRect.x+a+y+W,Te=p.y+qe+re.y+a+S}else pe=ze+R.bearingX*B+Ie+e.dstRect.x+a+y+W,Te=p.y-R.bearingY*B+Ae+re.y+a+S;if(Be){let ve={width:R.width*B,height:R.height*B,ascender:(o.ascender??800)*B,descender:(o.descender??-200)*B},ce=ut(ve,Be),ge=Math.cos(ke),Pe=Math.sin(ke),Ve=ce.px*(1-ge*V)+ce.py*(Pe*V),qe=-ce.px*(Pe*V)+ce.py*(1-ge*V);pe+=Ve,Te+=qe}(Ne!==0||Le!==0)&&(pe+=Ae*Ne,Te+=Ie*Le),g[E+0]=Ie,g[E+1]=Ae,g[E+2]=pe,g[E+3]=Te,g[E+4]=R.width,g[E+5]=R.height,g[E+6]=R.width/R.bandDimX,g[E+7]=R.height/R.bandDimY,g[E+8]=R.bandCount-1,g[E+9]=R.bandCount-1,g[E+10]=R.bandsTexCoordX,g[E+11]=R.bandsTexCoordY,g[E+12]=ke,g[E+13]=V,g[E+14]=$,g[E+15]=J,g[E+16]=Ye.r,g[E+17]=Ye.g,g[E+18]=Ye.b;let Wt=p.opacity??1;g[E+19]=Ye.a*O*rt*Wt,g[E+20]=Ce,g[E+21]=nt,g[E+22]=it,g[E+23]=ot,_++})(0)}return{data:g,visibleCount:_}};if(e.shadows&&e.shadows.length>0)for(let o of e.shadows){let s=de(o.color),y=o.offset?.x??0,S=o.offset?.y??0,I=o.blurRadius??0,{data:T,visibleCount:M}=Se(Z,s,y,S,I);if(M>0){let g=T.subarray(0,M*24),G=e.fontStyle==="italic"?.21:0;t.renderer.slugPipeline.draw(n,t.renderer.getTransformStack(),Z,g,M,o.color,t.renderer.getSurfaceWidth(),t.renderer.getSurfaceHeight(),{opacity:e.opacity??1,transform:e.matrix,customParam:G})}}let Oe=e.animators?.find(o=>"props"in o&&o.props?.longShadow&&(o.props?.longShadow?.length??0)>0);if(Oe&&"props"in Oe){let o=Oe,s=o.props?.longShadow;if(s){let y=o.props?.spring,S=s.length,I=s.angle;if(y){let G=(e.frame??0)/(e.fps??30),p=$e(G,y.stiffness,y.damping,y.mass,y.initialVelocity);S=Math.max(0,s.length*p),I=s.angle+(1-Math.min(1,p))*25}else{let p=1-(1-Math.min(1,(e.frame??0)/36))**3;S=s.length*p}let T=I*Math.PI/180,M=Math.max(4,Math.min(64,s.steps??16)),g=S/M,_=de(s.color??"#000000");for(let G=1;G<=M;G++){let p=G*g,R=p*Math.cos(T),N=p*Math.sin(T),F=G/M,O=(s.startOpacity??.8)*(1-F)+(s.endOpacity??0)*F,$={..._,a:_.a*O},{data:J,visibleCount:se}=Se(c,$,R,N,0);if(se>0){let V=J.subarray(0,se*24),Me=e.fontStyle==="italic"?.21:0;t.renderer.slugPipeline.draw(n,t.renderer.getTransformStack(),Z,V,se,s.color??"black",t.renderer.getSurfaceWidth(),t.renderer.getSurfaceHeight(),{opacity:(e.opacity??1)*O,transform:e.matrix,customParam:Me})}}}}if(d&&u){let o=de(e.stroke),{data:s,visibleCount:y}=Se(u,o);if(y>0){let S=s.subarray(0,y*24),T=e.fontStyle==="italic"?.21:0;t.renderer.slugPipeline.draw(n,t.renderer.getTransformStack(),u,S,y,e.stroke??"#000000",t.renderer.getSurfaceWidth(),t.renderer.getSurfaceHeight(),{opacity:e.opacity??1,transform:e.matrix,customParam:T})}}let He=new Set,Je=!1;for(let o of x.glyphs)o.font&&o.font!==Z&&(He.add(o.font),Je=!0);let et=e.fontStyle==="italic"?.21:0;if(Je){He.add(Z);for(let o of He){if(t.device&&!o.curvesTex&&L.ensureTextures(t.device,o),!o.curvesTex)continue;let{data:s,visibleCount:y}=Se(o,void 0,0,0,void 0,S=>(S.font??Z)===o);if(y>0){let S=s.subarray(0,y*24);t.renderer.slugPipeline.draw(n,t.renderer.getTransformStack(),o,S,y,e.color??"white",t.renderer.getSurfaceWidth(),t.renderer.getSurfaceHeight(),{opacity:e.opacity??1,transform:e.matrix,customParam:et})}}}else{let{data:o,visibleCount:s}=Se(Z);if(s>0){let y=o.subarray(0,s*24);t.renderer.slugPipeline.draw(n,t.renderer.getTransformStack(),Z,y,s,e.color??"white",t.renderer.getSurfaceWidth(),t.renderer.getSurfaceHeight(),{opacity:e.opacity??1,transform:e.matrix,customParam:et})}}for(let o of x.emojis){let s=e.animation?.applyBy==="line"?0:Math.floor(o.x/(r+m)),y=b[s%q]??0,S=e.opacity??1,I=0,T=0,M=0,g=1;if(e.isVideoMode!==!1){let{p_in:J,p_out:se}=je(z,K,ae,ne,y,q,!0),V=_e(J,se,f,ie,l,te,z,K,ae,ne,y,e.opacity??1,!0);if(!V.visible)continue;S=V.opacity,I=V.transX,T=V.transY,M=V.rot,g=V.scale}if(e.animators&&e.animators.length>0){let J=At(e.animators,{charIndex:s,wordIndex:0,lineIndex:o.lineIndex},{charsCount:x.charsCount,wordsCount:x.wordsCount,linesCount:x.linesCount},{transX:I,transY:T,rot:M,scale:g,scaleX:1,scaleY:1,opacity:S,blurAmount:0},!0);I=J.transX,T=J.transY,M=J.rot,g=J.scale,S=J.opacity}let _=jt(t.device,o.char,o.size),G=o.size*1.15,p=(G-o.size)/2,R={x:e.dstRect.x+o.x+a-p,y:re.y+o.y+a-p,width:G,height:G},N=new DOMMatrix,F=R.x+G/2,O=R.y+G/2;N=N.translate(F,O),(I!==0||T!==0)&&(N=N.translate(I,T)),M!==0&&(N=N.rotate(M)),g!==1&&(N=N.scale(g)),N=N.translate(-F,-O);let $=e.matrix?e.matrix.multiply(N):N;t.renderer.drawTextureRegion(n,_,{x:0,y:0,width:_.width,height:_.height},R,{opacity:S,transform:$})}if(e.typewriter?.cursor?.enabled&&w&&w.isCursorVisible&&(!e.typewriter.cursor.hideOnComplete||w.visibleChars<e.text.length)){let o=e.typewriter.cursor,s=o.color??e.color??"white",y=o.width??2.5,S=o.spacing??3,I=e.dstRect.x+a,T=re.y+a;if(x.glyphs.length>0){let M=x.glyphs[x.glyphs.length-1],g=r/c.unitsPerEm,_=M.clusterAdvance??(M.cp?.advanceWidth||0)*g,G=M.clusterX??M.x,p=o.style==="underscore"||o.style==="block"?r*.5:y;I=e.dstRect.x+a+(M.rtl?G-S-p:G+_+S),T=M.y+re.y+a}o.style==="underscore"?t.renderer.drawRect(n,{x:I,y:T,width:r*.5,height:y},s,0,{opacity:e.opacity??1}):o.style==="block"?t.renderer.drawRect(n,{x:I,y:T-r*.8,width:r*.5,height:r},s,0,{opacity:e.opacity??1}):t.renderer.drawRect(n,{x:I,y:T-r*.8,width:y,height:r},s,0,{opacity:e.opacity??1})}}we();function Tt(t){let e=t.trim().replace(",",".").split(":");if(e.length<2||e.length>3)throw new Error(`Invalid timestamp: ${t}`);if(e.length===2){let[d,u]=e;return parseInt(d,10)*60+parseFloat(u)}let[i,r,c]=e;return parseInt(i,10)*3600+parseInt(r,10)*60+parseFloat(c)}function Ut(t){let n=t.replace(/\r\n/g,`
1
+ import{a as $e,b as lt,c as ut,d as dt,e as ft,f as ht,g as mt,h as gt,i as xt,j as yt,k as bt,l as wt,n as St}from"./chunk-4TPXZNVR.mjs";import{b as Ge}from"./chunk-P4Y3PMJF.mjs";import{d as at}from"./chunk-VVY4PG5E.mjs";import{h as st,i as ct,j as L,x as be}from"./chunk-64L4GUOF.mjs";import{a as de}from"./chunk-354GX6IB.mjs";import{f as Re,g as we}from"./chunk-Y4NIR77Z.mjs";we();function Et(t){return typeof t=="object"&&t!==null&&typeof t.get=="function"}function Fe(t,n){return Et(t)?t.get(n):t}function Ct(t,n){return t.map(e=>{let i={...e,text:String(Fe(e.text,n)??"")};return e.fontSize!==void 0&&(i.fontSize=Number(Fe(e.fontSize,n))),e.fill!==void 0&&(i.fill=String(Fe(e.fill,n))),e.opacity!==void 0&&(i.opacity=Number(Fe(e.opacity,n))),e.mark&&(i.mark={...e.mark,background:String(Fe(e.mark.background,n))}),i})}function zt(t){let n="";for(let e of t)n+=typeof e.text=="string"?e.text:"";return n}function Mt(t,n){let e=[],i=0;for(let[r,c]of t.entries()){if(i>=n.length)break;let d=typeof c.text=="string"?c.text.length:0,u=r===t.length-1?n.length:i+d;u>i&&e.push({...c,text:n.slice(i,u)}),i=u}return e}we();function Xt(t,n,e,i,r=0,c=0){let d=at.getChannelSamples(n,"primary");if(d&&d.length>0){let m=i>0?i:24,C=e/m,h=r!==0?c*r/(2*Math.PI):0,k=Math.max(0,C+h),a=Math.max(0,Math.min(d.length-1,Math.round(k*m)));return Number(d[a])||0}if(!t)return 0;let u=t[n];if(u==null)return 0;if(typeof u=="number")return u;if(typeof u=="function")return Number(u(e,i))||0;if(typeof u=="object"){let m=u;if(typeof m.get=="function"){let C=i>0?e/i:0,h=r!==0?c*r/(2*Math.PI):0;return Number(m.get({frame:e,fps:i,time:C+h}))||0}if(Array.isArray(m.samples)||ArrayBuffer.isView(m.samples)){let C=m.samples,h=Math.max(0,Math.min(C.length-1,Math.round(e)));return Number(C[h])||0}}return 0}function It(t){return t<.5?2*t*t:1-(-2*t+2)**2/2}function Yt(t){let n=0;for(let e=0;e<t.length;e++)n=t.charCodeAt(e)+((n<<5)-n);return()=>{let e=Math.sin(n++)*1e4;return e-Math.floor(e)}}function Gt(t,n){let e=Yt(n),i=Array.from({length:t},(r,c)=>c);for(let r=i.length-1;r>0;r--){let c=Math.floor(e()*(r+1)),d=i[r];i[r]=i[c],i[c]=d}return i}function jt(t,n,e){let i=`${n}-${e}`,r=L.emojiTextureCache.get(i);if(r)return r;let c=4,d=Math.max(16,Math.ceil(e*1.5*c)),u=Math.ceil(d/4)*4;if(!!globalThis.__IS_HEADLESS_RENDERER__||typeof window>"u"||typeof globalThis.document>"u")return L.hasEmojiFont()&&console.warn(`[getOrCreateEmojiTexture] Emoji "${n}" not preloaded. Returning fallback dummy texture.`),r=t.createTexture({label:`Emoji-Dummy-${n}`,size:[1,1],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING}),L.emojiTextureCache.set(i,r),r;let C=new OffscreenCanvas(u,u),h=C.getContext("2d");return h&&(h.font=`${e*c}px "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif`,h.textBaseline="middle",h.textAlign="center",h.fillText(n,u/2,u/2)),r=t.createTexture({label:`Emoji-${n}`,size:[u,u],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT}),t.queue.copyExternalImageToTexture({source:C},{texture:r,premultipliedAlpha:!0},[u,u]),L.emojiTextureCache.set(i,r),r}function je(t,n,e,i,r,c,d){if(!d)return{p_in:1,p_out:1};let u=1;if(e>0){let C=e*.5,h=c>1?e*.5/(c-1):0,k=r*h,a=k+C;t<k?u=0:t>a?u=1:u=(t-k)/(a-k)}let m=1;if(i>0){let C=n-i;if(t>C){let h=i*.5,k=c>1?i*.5/(c-1):0,a=C+r*k,A=a+h;t<a?m=1:t>A?m=0:m=1-(t-a)/(A-a)}}return{p_in:u,p_out:m}}function _e(t,n,e,i,r,c,d,u,m,C,h,k,a){let A=e?It(t):t,w=e?It(n):n,v=A*w;if(A<=0&&i!=="blur"||w<=0&&r!=="blur")return{opacity:0,transX:0,transY:0,rot:0,scale:1,blurAmount:0,visible:!1};let X=k;if(i==="fade"||i==="slideUp"||i==="blur"?X*=A:i==="appear"&&A<.5&&(X=0),r==="fade"||r==="slideUp"||r==="blur"?X*=w:r==="appear"&&w<.5&&(X=0),X<.001)return{opacity:0,transX:0,transY:0,rot:0,scale:1,blurAmount:0,visible:!1};let j=0,P=0,H=0,ee=1;i==="slideUp"&&d<m&&(P+=(1-A)*30),r==="slideUp"&&d>u-C&&(P-=(1-w)*30);let oe=a?1:Math.PI/180;c==="stack"?(ee=.8+.2*v,H=(1-v)*15*oe):c==="wave"?P+=10*Math.sin(d*.005-h*.5):c==="wiggle"?(j+=5*Math.sin(d*.008+h*1.7),P+=5*Math.cos(d*.006+h*1.3),H+=4*Math.sin(d*.005+h*2.1)*oe):c==="shuffle"&&(j+=3*Math.sin(d*.015+h*3.1),P+=3*Math.cos(d*.012+h*2.3),H+=8*Math.sin(d*.02+h*1.1)*oe);let x=0;return i==="blur"&&(x=Math.max(x,(1-A)*20)),r==="blur"&&(x=Math.max(x,(1-w)*20)),{opacity:X,transX:j,transY:P,rot:H,scale:ee,blurAmount:x,visible:!0}}var _t={linear:t=>t,none:t=>t,smoothstep:t=>t,"power1.out":t=>1-(1-t)**2,"quad.out":t=>1-(1-t)**2,"power1.in":t=>t**2,"quad.in":t=>t**2,"power1.inout":t=>t<.5?2*t*t:1-(-2*t+2)**2/2,"quad.inout":t=>t<.5?2*t*t:1-(-2*t+2)**2/2,"power2.out":t=>1-(1-t)**3,"cubic.out":t=>1-(1-t)**3,"power2.in":t=>t**3,"cubic.in":t=>t**3,"power2.inout":t=>t<.5?4*t**3:1-(-2*t+2)**3/2,"cubic.inout":t=>t<.5?4*t**3:1-(-2*t+2)**3/2,"power3.out":t=>1-(1-t)**4,"quart.out":t=>1-(1-t)**4,"power3.in":t=>t**4,"quart.in":t=>t**4,"power3.inout":t=>t<.5?8*t**4:1-(-2*t+2)**4/2,"quart.inout":t=>t<.5?8*t**4:1-(-2*t+2)**4/2,"power4.out":t=>1-(1-t)**5,"quint.out":t=>1-(1-t)**5,"power4.in":t=>t**5,"quint.in":t=>t**5,"sine.out":t=>Math.sin(t*Math.PI/2),"sine.in":t=>1-Math.cos(t*Math.PI/2),"sine.inout":t=>-(Math.cos(Math.PI*t)-1)/2,"expo.out":t=>t===1?1:1-2**(-10*t),"back.out":t=>1+2.70158*(t-1)**3+1.70158*(t-1)**2};function Ot(t,n){let e=Math.max(0,Math.min(1,n));if(!t)return e;let i=_t[t.toLowerCase().trim()];return i?i(e):e}function Ht(t,n,e){if(e<=0)return 0;let i=e>1?n/(e-1):.5,r=t.offset??0,c=(t.rangeStart??0)+r,d=(t.rangeEnd??1)+r,u=0;d<=c?u=i>=c?1:0:u=Math.max(0,Math.min(1,(i-c)/(d-c)));let m=u*u*(3-2*u);return Ot(t.easing??"power2.out",m)}function kt(t,n,e,i,r,c){let d=Math.max(1,e.charsCount??1),u=Math.max(1,e.wordsCount??1),m=Math.max(1,e.linesCount??1),C=t.selectors??[];if(C.length===0)return 1;let h=0;for(let k=0;k<C.length;k++){let a=C[k],A=0;if(a.type==="range"){let w=d,v=n.charIndex??0;a.basedOn==="words"?(w=u,v=n.wordIndex??0):a.basedOn==="lines"&&(w=m,v=n.lineIndex??0),a.randomizeOrder&&(v=bt(w,a.randomSeed??12345)[v%w]??v);let X=a.units==="index"?v:w>1?v/(w-1):.5,j=a.start??t.rangeStart??0,P=a.end??t.rangeEnd??(a.units==="index"?w:1),H=a.offset??t.offset??0;A=xt(X,j,P,H,a.shape??"smooth",a.easeHigh??0,a.easeLow??0)*(a.amount??1)}else if(a.type==="wiggly"){let w=c>0?r/c:0,v=(a.temporalPhaseDeg??0)*Math.PI/180,X=(a.spatialPhaseDeg??0)*Math.PI/180,j=w*(a.wigglesPerSecond??2)*2*Math.PI+v+X,P=yt(a.randomSeed??42,n.charIndex??0,j,a.correlation??.5),H=a.minAmount??-1,ee=a.maxAmount??1;A=H+(P*.5+.5)*(ee-H)}else if(a.type==="signal")A=Xt(i,a.signalId,r,c,a.phaseSpread??0,n.charIndex??0)*(a.multiplier??1)+(a.offset??0);else if(a.type==="expression"){let w=a,v=c>0?r/c:0,X={charIndex:n.charIndex??0,wordIndex:n.wordIndex??0,lineIndex:n.lineIndex??0,totalChars:d,totalWords:u,totalLines:m,frame:r,fps:c,time:v,signals:i};A=ft(w.expression,X)*(w.amount??1)}k===0?h=A:h=wt(h,A,a.mode??"add")}return h}function At(t,n,e,i,r=!1,c=0,d=24,u){if(!t||t.length===0)return i;let{transX:m,transY:C,rot:h,scale:k,scaleX:a,scaleY:A,opacity:w,blurAmount:v}=i,X=i.transZ??0,j=i.color,P=i.chromaticShift??0,H=i.dissolveProgress??0,ee=i.vfxParam??0,oe=i.skewM01??0,x=i.skewM10??0,fe=i.anchorConfig,le=i.fillOpacity??1,re=i.strokeWidth,U=i.strokeColor,ue=i.longShadow,he=i.lineSpacing,Z=i.lineAnchor,me=r?1:Math.PI/180,z=Math.max(1,e.charsCount??1),K=Math.max(1,e.wordsCount??1),ae=Math.max(1,e.linesCount??1);for(let ne of t)if("selectors"in ne&&Array.isArray(ne.selectors)){let ie=ne,l=ie.props??{},te=kt(ie,n,{charsCount:z,wordsCount:K,linesCount:ae},u,c,d),f=te,Y=1,q=1;if(l.spring){let b=(n.charIndex??0)*.035,D=Math.max(0,(d>0?c/d:0)-b);q=$e(D,l.spring.stiffness,l.spring.damping,l.spring.mass,l.spring.initialVelocity),Y=1-q,f=te*Y}if(f!==0||te!==0){if(l.x!==void 0&&(m+=l.x*f),l.y!==void 0&&(C+=l.y*f),l.scale!==void 0&&(k*=1+(l.scale-1)*f),l.scaleX!==void 0&&(a*=1+(l.scaleX-1)*f),l.scaleY!==void 0&&(A*=1+(l.scaleY-1)*f),l.rotation!==void 0&&(h+=l.rotation*me*f),l.rotationX!==void 0){let b=l.rotationX*f*Math.PI/180;A*=Math.max(.08,Math.abs(Math.cos(b)))}if(l.rotationY!==void 0){let b=l.rotationY*f*Math.PI/180;a*=Math.max(.08,Math.abs(Math.cos(b)))}if(l.rotationZ!==void 0&&(h+=l.rotationZ*me*f),l.translateZ!==void 0&&(X+=l.translateZ*f),l.skew!==void 0){let[,b,D]=lt(l.skew*f,l.skewAxis??0);oe+=b,x+=D}if(l.formation!==void 0){let b=ht(n.charIndex??0,z,l.formation),D=e.layoutCenter?.x??0,Q=e.layoutCenter?.y??0,xe=n.x??0,We=n.y??0,Ee=D+b.x,Xe=Q+b.y;if(m+=(Ee-xe)*f,C+=(Xe-We)*f,X+=b.z*f,b.rotX){let ye=b.rotX*f*Math.PI/180;A*=Math.max(.5,Math.abs(Math.cos(ye)))}if(b.rotY){let ye=b.rotY*f*Math.PI/180;a*=Math.max(.5,Math.abs(Math.cos(ye)))}b.rotZ&&(h+=b.rotZ*Math.PI/180*f),b.depthOpacity!==void 0&&(w*=1+(b.depthOpacity-1)*f)}if(l.anchor!==void 0&&(fe=l.anchor),l.opacity!==void 0&&(w*=1+(l.opacity-1)*f),l.blur!==void 0&&(v=Math.max(v,l.blur*f)),l.chromaticGlitch!==void 0){let b=(l.chromaticGlitch.redShiftX??0)*Math.max(0,f),D=l.chromaticGlitch.sliceProbability??.35,Q=Math.sin(c*17.13+(n.charIndex??0)*43.17),xe=Math.abs(Q-Math.floor(Q));xe<D&&(b+=(l.chromaticGlitch.sliceAmplitude??12)*(xe*2-1)),P+=b}if(l.particleDissolve!==void 0&&(H=Math.max(H,(l.particleDissolve.progress??0)*(l.spring?q:Math.max(0,f)))),l.longShadow!==void 0&&(ue=l.longShadow),l.audioSpectrum!==void 0){let b=gt(n.charIndex??0,z,l.audioSpectrum,u,c,d);l.audioSpectrum.scaleAxis==="scaleY"?A*=b:l.audioSpectrum.scaleAxis==="scaleX"?a*=b:k*=b}if(l.stroke!==void 0&&(l.stroke.fillOpacity!==void 0&&(le*=1-f+l.stroke.fillOpacity*f),l.stroke.strokeWidth!==void 0&&(re=(l.stroke.strokeWidth??0)*f),l.stroke.strokeColor&&(U=l.stroke.strokeColor)),l.lineSpacing!==void 0&&(he=l.lineSpacing*(l.spring?q:f),Z=l.lineAnchor??0),l.fillColor){let b=de(l.fillColor),D=j??{r:1,g:1,b:1,a:1},Q=te;j={r:D.r*(1-Q)+b.r*Q,g:D.g*(1-Q)+b.g*Q,b:D.b*(1-Q)+b.b*Q,a:D.a*(1-Q)+b.a*Q}}}}else{let ie=ne,l=n.charIndex??n.unitIndex??0,te=Math.max(1,e.charsCount??1);ie.unit==="word"?(l=n.wordIndex??0,te=Math.max(1,e.wordsCount??1)):ie.unit==="line"&&(l=n.lineIndex??0,te=Math.max(1,e.linesCount??1));let f=Ht(ie,l,te),Y=ie.transform;if(!Y||f<=0)continue;Y.x!==void 0&&(m+=Y.x*f),Y.y!==void 0&&(C+=Y.y*f),Y.rotation!==void 0&&(h+=Y.rotation*me*f),Y.scale!==void 0&&(k*=1+(Y.scale-1)*f),Y.scaleX!==void 0&&(a*=1+(Y.scaleX-1)*f);let q=1+((Y.scaleY??1)-1)*f;if(Y.rotationX){let b=Y.rotationX*f*Math.PI/180;q*=Math.cos(b)}if(A*=q,Y.opacity!==void 0&&(w*=1+(Y.opacity-1)*f),Y.blur!==void 0&&(v=Math.max(v,Y.blur*f)),Y.color){let b=de(Y.color),D=j??{r:1,g:1,b:1,a:1};j={r:D.r*(1-f)+b.r*f,g:D.g*(1-f)+b.g*f,b:D.b*(1-f)+b.b*f,a:D.a*(1-f)+b.a*f}}}return{transX:m,transY:C,transZ:X,rot:h,scale:k,scaleX:a,scaleY:A,opacity:Math.max(0,Math.min(1,w)),blurAmount:v,color:j,chromaticShift:P,dissolveProgress:H,vfxParam:ee,skewM01:oe,skewM10:x,anchorConfig:fe,fillOpacity:Math.max(0,Math.min(1,le)),strokeWidth:re,strokeColor:U,longShadow:ue,lineSpacing:he,lineAnchor:Z}}function pt(t,n,e){let i=e.fontFamily??"Inter";if(L.isFailed(i)&&(i="Inter"),L.isFailed(i))return;let r=e.fontSize??48,c=L.getFont(i,e.fontWeight,t.device,void 0,r,e.variableAxes),d=e.stroke&&e.strokeWidth&&e.strokeWidth>0,u=null;if(c&&d&&t.device){let o=e.strokeAlign==="outside"?2:1,y=(e.strokeWidth??0)*o*(c.unitsPerEm/r);u=L.getFont(i,e.fontWeight,t.device,y,r,e.variableAxes)??null}if(!c?.curvesTex||d&&!u?.curvesTex){let o=Ge(i);L.preloadSlugFont(t.device,i,o,void 0,e.renderId).catch(s=>{console.warn(`[drawParagraphNode] Failed to load Slug font for ${i}:`,s)});return}let m=e.letterSpacing??0,C=e.lineHeight!==void 0&&e.lineHeight<10?e.lineHeight*r:e.lineHeight??r*1.2,h=e.align??"start",k=e.direction??"auto",a=e.isCaption?0:e.textBackgroundColor?e.padding??0:0,A=e.text,w;if(e.typewriter){let o=e.fps??24,s=e.durationMs!==void 0?Math.round(e.durationMs/1e3*o):60;w=St(e.text,e.frame??0,0,s,e.typewriter.cadence,e.typewriter.scramble,e.typewriter.cursor?.blinkFrequency??2,e.typewriter.granularity??"character",e.textProgress),A=w.currentDisplayString}let v=w&&e.spans?.length?Mt(Ct(e.spans),A):e.spans,X=e.pathOptions?{...e.pathOptions,firstMargin:e.firstMargin!==void 0?e.firstMargin:e.pathOptions.firstMargin,lastMargin:e.lastMargin!==void 0?e.lastMargin:e.pathOptions.lastMargin,baselineShift:e.baselineShift!==void 0?e.baselineShift:e.pathOptions.baselineShift}:void 0,j,P;e.width!=null?(j=Math.max(0,e.width-a*2),P=be.measure(A,c,r,m,C,j,v,k)):(P=be.measure(A,c,r,m,C,void 0,v,k),j=P.width);let H=e.isCaption?e.dstRect.width:j,ee=e.animation?.applyBy??"word",x=(h==="left"||h==="start"&&!P.layout?.hasRtl)&&(H===void 0||H===j)&&!X&&ee==="word"&&!!P?.layout&&P.layout?P.layout:be.layout(A,c,r,m,C,j,h,ee,H,X,v,k),fe=e.verticalAlign??"top",le=e.height!=null&&!X&&!e.isCaption?e.height-(P.height+a*2):0,re={...e.dstRect,y:e.dstRect.y+(fe==="middle"?le/2:fe==="bottom"?le:0)},U=e.animation,ue=e.fontWeight==="bold"||typeof e.fontWeight=="number"&&e.fontWeight>=600||typeof e.fontWeight=="string"&&parseInt(e.fontWeight,10)>=600,he="hasTrueWeight"in c&&!!c.hasTrueWeight,Z=c;if(ue&&!he&&t.device){let o=ct(e.fontWeight),s=Math.max(0,(o-400)/500)*.055*r;if(s>0){let y=s*(c.unitsPerEm/r),S=L.getFont(i,400,t.device,y,r,e.variableAxes);S?.curvesTex&&(Z=S)}}let me=x.glyphs.length,z=e.elapsedMs!==void 0?e.elapsedMs:e.frame!==void 0&&e.fps!==void 0?e.frame/e.fps*1e3:0,K=e.durationMs!==void 0?e.durationMs:3e3,ae=e.isCaption?U?.in==="none"||!U?.in?0:K:U?.entranceMs?U.entranceMs:U?.in==="none"||!U?.in?0:K,ne=e.isCaption?0:U?.exitMs?U.exitMs:U?.out==="none"||!U?.out?0:K,ie=U?.in||"none",l=U?.out||"none",te=U?.kinetic||"none",f=U?.smoothing!==!1,Y=0;for(let o of x.glyphs)!o.isSpace&&o.unitIndex>Y&&(Y=o.unitIndex);let q=Y+1,b=te==="shuffle"||ie==="shuffle"?Gt(q,e.text):Array.from({length:q},(o,s)=>s);if(e.textBackgroundColor){let o=e.strokeRadius??e.borderRadius??8,s=0,y=e.opacity??1;if(e.isVideoMode===!1)s=y;else{for(let S of x.glyphs){if(S.isSpace)continue;let I=S.unitIndex,T=b[I]??I,{p_in:M,p_out:g}=je(z,K,ae,ne,T,q,!0),_=_e(M,g,f,ie,l,te,z,K,ae,ne,T,y,!1);_.visible&&_.opacity>s&&(s=_.opacity)}for(let S of x.emojis){let I=e.animation?.applyBy==="line"?0:Math.floor(S.x/(r+m)),T=b[I%q]??0,{p_in:M,p_out:g}=je(z,K,ae,ne,T,q,!0),_=_e(M,g,f,ie,l,te,z,K,ae,ne,T,y,!0);_.visible&&_.opacity>s&&(s=_.opacity)}}if(s>.001){let S=e.width!=null?e.width:P.width+a*2,I=e.height!=null?e.height:P.height+a*2;t.renderer.drawRRect(n,{rect:{x:e.dstRect.x,y:e.dstRect.y,width:S,height:I},rx:o,ry:o},e.textBackgroundColor,{opacity:s})}}if(x.marks&&x.marks.length>0)for(let o of x.marks){let s=o.borderRadius??4;t.renderer.drawRRect(n,{rect:{x:e.dstRect.x+a+o.x,y:re.y+a+o.y,width:o.width,height:o.height},rx:s,ry:s},o.background,{opacity:e.opacity??1})}let D=de(e.color??"white"),Q=de(e.highlightColor??"yellow"),xe=new Float32Array(x.glyphs.length),We=0,Ee=0;if(x.glyphs.length>0){let o=x.glyphs.filter(s=>!s.isSpace);o.length>0&&(We=(o[0].x+o[o.length-1].x)/2,Ee=(o[0].y+o[o.length-1].y)/2)}let Xe={charsCount:x.charsCount,wordsCount:x.wordsCount,linesCount:x.linesCount,layoutCenter:{x:We,y:Ee}};if(e.animators&&e.animators.length>0){for(let o of e.animators)if("selectors"in o&&Array.isArray(o.selectors)){let s=o;if(s.props?.tracking!==void 0&&s.props.tracking!==0){let y=s.props.tracking,S=new Map;for(let I=0;I<x.glyphs.length;I++){let M=x.glyphs[I].lineIndex??0,g=S.get(M);g||(g=[],S.set(M,g)),g.push(I)}for(let I of S.values()){let T=new Map;for(let F of I){let O=x.glyphs[F].charIndex,$=T.get(O);$?$.push(F):T.set(O,[F])}let M=Array.from(T.values()),g=F=>{let O=x.glyphs[F[0]];return O.clusterX??O.x};M.sort((F,O)=>g(F)-g(O));let _=[];for(let F of M){let O=x.glyphs[F[0]],$=kt(s,O,Xe,e.signals,e.frame??0,e.fps??24);_.push($)}let G=0;for(let F=0;F<M.length-1;F++)G+=y*_[F];let p=x.glyphs[I[0]]?.baseRtl??!1,R=h==="start"?p?"right":"left":h==="end"?p?"left":"right":h,N=0;for(let F=0;F<M.length;F++){let O=N;R==="center"?O-=G*.5:R==="right"&&(O-=G);for(let $ of M[F])xe[$]+=O;F<M.length-1&&(N+=y*_[F])}}}}}let ye=new Float32Array(Math.max(1024,me*24)),Ke=(o,s)=>s.cp.glyphId!==void 0&&(s.font??c).fontFamily===o.fontFamily,Qe=new Set,vt=o=>{if(Qe.has(o))return;Qe.add(o);let s=[];for(let y of x.glyphs){let S=y.cp.glyphId;S!==void 0&&(y.font??c)!==o&&Ke(o,y)&&!o.glyphs?.has(S)&&s.push(S)}s.length>0&&st.ensureGlyphs(o,s)},Pt=(o,s)=>{if((s.font??c)===o)return s.cp;if(Ke(o,s)){let y=o.glyphs?.get(s.cp.glyphId);if(y)return y}return o.codePoints.get(s.cp.codePoint)||s.cp},Se=(o,s,y=0,S=0,I,T)=>{let M=me*24;ye.length<M&&(ye=new Float32Array(M));let g=ye,_=0;vt(o);for(let G=0;G<x.glyphs.length;G++){let p=x.glyphs[G];if(p.isSpace||T&&!T(p))continue;let R=Pt(o,p);if(!R||R.width===0||R.height===0)continue;let N=p.unitIndex,F=b[N]??N,O=e.opacity??1,$=0,J=0,se=0,V=1,Ce=I!==void 0?I:0;if(e.isVideoMode!==!1){let{p_in:W,p_out:E}=je(z,K,ae,ne,F,q,!0),B=_e(W,E,f,ie,l,te,z,K,ae,ne,F,e.opacity??1,!1);if(!B.visible)continue;O=B.opacity,$=B.transX,J=B.transY,se=B.rot,V=B.scale,I===void 0&&(Ce=B.blurAmount)}let Me=1,Ue=1,tt,De=0,nt=0,it=0,ot=0,Ne=0,Le=0,Be,rt=1;if(e.animators&&e.animators.length>0){let W=At(e.animators,p,Xe,{transX:$,transY:J,rot:se,scale:V,scaleX:Me,scaleY:Ue,opacity:O,blurAmount:Ce,color:D},!1,e.frame??0,e.fps??24,e.signals);$=W.transX,J=W.transY,se=W.rot,V=W.scale,Me=W.scaleX,Ue=W.scaleY,O=W.opacity,I===void 0&&(Ce=W.blurAmount),W.color&&(tt=W.color),W.lineSpacing!==void 0&&(J+=dt(p.lineIndex,x.linesCount,W.lineSpacing,W.lineAnchor??0)),De=W.transZ??0,nt=W.chromaticShift??0,it=W.dissolveProgress??0,ot=W.vfxParam??0,Ne=W.skewM01??0,Le=W.skewM10??0,Be=W.anchorConfig,rt=W.fillOpacity??1}$+=xe[G];let ze=p.x;if(e.marquee){let W=(e.frame??0)/(e.fps??24),E=x.glyphs.length>0?x.glyphs[x.glyphs.length-1].x+r:e.dstRect.width;ze=mt(p.x,e.dstRect.width,E,e.marquee,W)}let Rt=e.highlightWordIndex!==void 0&&p.wordIndex===e.highlightWordIndex,Ft=p.fill?de(p.fill):void 0,Ye=tt??s??(Rt?Q:Ft??D);(W=>{let E=_*24,B=p.fontScale??r/o.unitsPerEm,Ie=R.width*B/2*Me,Ae=R.height*B/2*Ue;if(De!==0){let ce=Math.max(100,1200-De),ge=ce>1?1200/ce:1;Ie*=ge,Ae*=ge}let ke=se+(p.pathTangentAngleRad??0),pe,Te;if(p.pathTangentAngleRad!==void 0){let ve=R.bearingX*B+Ie,ce=-R.bearingY*B+Ae,ge=Math.cos(ke),Pe=Math.sin(ke),Ve=ve*ge-ce*Pe,qe=ve*Pe+ce*ge;pe=ze+Ve+e.dstRect.x+a+y+W,Te=p.y+qe+re.y+a+S}else pe=ze+R.bearingX*B+Ie+e.dstRect.x+a+y+W,Te=p.y-R.bearingY*B+Ae+re.y+a+S;if(Be){let ve={width:R.width*B,height:R.height*B,ascender:(o.ascender??800)*B,descender:(o.descender??-200)*B},ce=ut(ve,Be),ge=Math.cos(ke),Pe=Math.sin(ke),Ve=ce.px*(1-ge*V)+ce.py*(Pe*V),qe=-ce.px*(Pe*V)+ce.py*(1-ge*V);pe+=Ve,Te+=qe}(Ne!==0||Le!==0)&&(pe+=Ae*Ne,Te+=Ie*Le),g[E+0]=Ie,g[E+1]=Ae,g[E+2]=pe,g[E+3]=Te,g[E+4]=R.width,g[E+5]=R.height,g[E+6]=R.width/R.bandDimX,g[E+7]=R.height/R.bandDimY,g[E+8]=R.bandCount-1,g[E+9]=R.bandCount-1,g[E+10]=R.bandsTexCoordX,g[E+11]=R.bandsTexCoordY,g[E+12]=ke,g[E+13]=V,g[E+14]=$,g[E+15]=J,g[E+16]=Ye.r,g[E+17]=Ye.g,g[E+18]=Ye.b;let Wt=p.opacity??1;g[E+19]=Ye.a*O*rt*Wt,g[E+20]=Ce,g[E+21]=nt,g[E+22]=it,g[E+23]=ot,_++})(0)}return{data:g,visibleCount:_}};if(e.shadows&&e.shadows.length>0)for(let o of e.shadows){let s=de(o.color),y=o.offset?.x??0,S=o.offset?.y??0,I=o.blurRadius??0,{data:T,visibleCount:M}=Se(Z,s,y,S,I);if(M>0){let g=T.subarray(0,M*24),G=e.fontStyle==="italic"?.21:0;t.renderer.slugPipeline.draw(n,t.renderer.getTransformStack(),Z,g,M,o.color,t.renderer.getSurfaceWidth(),t.renderer.getSurfaceHeight(),{opacity:e.opacity??1,transform:e.matrix,customParam:G})}}let Oe=e.animators?.find(o=>"props"in o&&o.props?.longShadow&&(o.props?.longShadow?.length??0)>0);if(Oe&&"props"in Oe){let o=Oe,s=o.props?.longShadow;if(s){let y=o.props?.spring,S=s.length,I=s.angle;if(y){let G=(e.frame??0)/(e.fps??30),p=$e(G,y.stiffness,y.damping,y.mass,y.initialVelocity);S=Math.max(0,s.length*p),I=s.angle+(1-Math.min(1,p))*25}else{let p=1-(1-Math.min(1,(e.frame??0)/36))**3;S=s.length*p}let T=I*Math.PI/180,M=Math.max(4,Math.min(64,s.steps??16)),g=S/M,_=de(s.color??"#000000");for(let G=1;G<=M;G++){let p=G*g,R=p*Math.cos(T),N=p*Math.sin(T),F=G/M,O=(s.startOpacity??.8)*(1-F)+(s.endOpacity??0)*F,$={..._,a:_.a*O},{data:J,visibleCount:se}=Se(c,$,R,N,0);if(se>0){let V=J.subarray(0,se*24),Me=e.fontStyle==="italic"?.21:0;t.renderer.slugPipeline.draw(n,t.renderer.getTransformStack(),Z,V,se,s.color??"black",t.renderer.getSurfaceWidth(),t.renderer.getSurfaceHeight(),{opacity:(e.opacity??1)*O,transform:e.matrix,customParam:Me})}}}}if(d&&u){let o=de(e.stroke),{data:s,visibleCount:y}=Se(u,o);if(y>0){let S=s.subarray(0,y*24),T=e.fontStyle==="italic"?.21:0;t.renderer.slugPipeline.draw(n,t.renderer.getTransformStack(),u,S,y,e.stroke??"#000000",t.renderer.getSurfaceWidth(),t.renderer.getSurfaceHeight(),{opacity:e.opacity??1,transform:e.matrix,customParam:T})}}let He=new Set,Je=!1;for(let o of x.glyphs)o.font&&o.font!==Z&&(He.add(o.font),Je=!0);let et=e.fontStyle==="italic"?.21:0;if(Je){He.add(Z);for(let o of He){if(t.device&&!o.curvesTex&&L.ensureTextures(t.device,o),!o.curvesTex)continue;let{data:s,visibleCount:y}=Se(o,void 0,0,0,void 0,S=>(S.font??Z)===o);if(y>0){let S=s.subarray(0,y*24);t.renderer.slugPipeline.draw(n,t.renderer.getTransformStack(),o,S,y,e.color??"white",t.renderer.getSurfaceWidth(),t.renderer.getSurfaceHeight(),{opacity:e.opacity??1,transform:e.matrix,customParam:et})}}}else{let{data:o,visibleCount:s}=Se(Z);if(s>0){let y=o.subarray(0,s*24);t.renderer.slugPipeline.draw(n,t.renderer.getTransformStack(),Z,y,s,e.color??"white",t.renderer.getSurfaceWidth(),t.renderer.getSurfaceHeight(),{opacity:e.opacity??1,transform:e.matrix,customParam:et})}}for(let o of x.emojis){let s=e.animation?.applyBy==="line"?0:Math.floor(o.x/(r+m)),y=b[s%q]??0,S=e.opacity??1,I=0,T=0,M=0,g=1;if(e.isVideoMode!==!1){let{p_in:J,p_out:se}=je(z,K,ae,ne,y,q,!0),V=_e(J,se,f,ie,l,te,z,K,ae,ne,y,e.opacity??1,!0);if(!V.visible)continue;S=V.opacity,I=V.transX,T=V.transY,M=V.rot,g=V.scale}if(e.animators&&e.animators.length>0){let J=At(e.animators,{charIndex:s,wordIndex:0,lineIndex:o.lineIndex},{charsCount:x.charsCount,wordsCount:x.wordsCount,linesCount:x.linesCount},{transX:I,transY:T,rot:M,scale:g,scaleX:1,scaleY:1,opacity:S,blurAmount:0},!0);I=J.transX,T=J.transY,M=J.rot,g=J.scale,S=J.opacity}let _=jt(t.device,o.char,o.size),G=o.size*1.15,p=(G-o.size)/2,R={x:e.dstRect.x+o.x+a-p,y:re.y+o.y+a-p,width:G,height:G},N=new DOMMatrix,F=R.x+G/2,O=R.y+G/2;N=N.translate(F,O),(I!==0||T!==0)&&(N=N.translate(I,T)),M!==0&&(N=N.rotate(M)),g!==1&&(N=N.scale(g)),N=N.translate(-F,-O);let $=e.matrix?e.matrix.multiply(N):N;t.renderer.drawTextureRegion(n,_,{x:0,y:0,width:_.width,height:_.height},R,{opacity:S,transform:$})}if(e.typewriter?.cursor?.enabled&&w&&w.isCursorVisible&&(!e.typewriter.cursor.hideOnComplete||w.visibleChars<e.text.length)){let o=e.typewriter.cursor,s=o.color??e.color??"white",y=o.width??2.5,S=o.spacing??3,I=e.dstRect.x+a,T=re.y+a;if(x.glyphs.length>0){let M=x.glyphs[x.glyphs.length-1],g=r/c.unitsPerEm,_=M.clusterAdvance??(M.cp?.advanceWidth||0)*g,G=M.clusterX??M.x,p=o.style==="underscore"||o.style==="block"?r*.5:y;I=e.dstRect.x+a+(M.rtl?G-S-p:G+_+S),T=M.y+re.y+a}o.style==="underscore"?t.renderer.drawRect(n,{x:I,y:T,width:r*.5,height:y},s,0,{opacity:e.opacity??1}):o.style==="block"?t.renderer.drawRect(n,{x:I,y:T-r*.8,width:r*.5,height:r},s,0,{opacity:e.opacity??1}):t.renderer.drawRect(n,{x:I,y:T-r*.8,width:y,height:r},s,0,{opacity:e.opacity??1})}}we();function Tt(t){let e=t.trim().replace(",",".").split(":");if(e.length<2||e.length>3)throw new Error(`Invalid timestamp: ${t}`);if(e.length===2){let[d,u]=e;return parseInt(d,10)*60+parseFloat(u)}let[i,r,c]=e;return parseInt(i,10)*3600+parseInt(r,10)*60+parseFloat(c)}function Ut(t){let n=t.replace(/\r\n/g,`
2
2
  `).split(`
3
3
  `),e=[];for(let i=0;i<n.length;i++){let r=n[i],c=n[i+1];if(r?.match(/([0-9]+)/)&&c?.includes(" --> ")){let d=c.split(" --> "),u=Tt(d[0]),m=Tt(d[1]);e.push({text:"",startMs:u*1e3,endMs:m*1e3,confidence:1,timestampMs:(u+m)/2*1e3})}else r?.includes(" --> ")||(r?.trim()===""?e.length>0&&(e[e.length-1].text=e[e.length-1].text.trim()):e.length>0&&(e[e.length-1].text+=r+`
4
4
  `))}return{captions:e.map(i=>({...i,text:i.text.trimEnd()}))}}function Dt(t,n,e=!0){if(!t||t.length===0)return null;let i=t.find(r=>n>=r.startMs&&n<r.endMs);return i||(!e&&t.length>0?t[0]:null)}function un(t,n,e){if(!t||t.length===0)return 160;let i=n.fontSize??48,r=n.letterSpacing??0,c=n.lineHeight!==void 0&&n.lineHeight<10?n.lineHeight*i:n.lineHeight??i*1.2,d=n.padding??(n.background?12:0),u=e?Math.max(10,e-d*2):void 0,m=n.fontFamily??"Inter";L.isFailed(m)&&(m="Inter");let C=L.getFont(m,n.fontWeight,null,void 0,i),h=0;for(let k of t){if(!k.text)continue;let a=0;if(C&&C.codePoints){let w=be.measure(k.text,C,i,r,c,u);a=Math.ceil(w.height)}else{let w=k.text.split(`
@@ -1,4 +1,4 @@
1
- import{a as p}from"./chunk-K3C6GUQD.mjs";import{f as n,g as m}from"./chunk-KOVN277Z.mjs";import{c as t}from"./chunk-ULOFDFHJ.mjs";import{g as s}from"./chunk-Y4NIR77Z.mjs";s();s();var C=["threshold","attack","hold","release","range"],I=()=>`
1
+ import{a as p}from"./chunk-K3C6GUQD.mjs";import{f as n,g as m}from"./chunk-77MT33VR.mjs";import{c as t}from"./chunk-ULOFDFHJ.mjs";import{g as s}from"./chunk-Y4NIR77Z.mjs";s();s();var C=["threshold","attack","hold","release","range"],I=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  threshold : f32,
@@ -1,4 +1,4 @@
1
- import{a as g}from"./chunk-UZTA2EUU.mjs";import{a as c,d as s}from"./chunk-VVY4PG5E.mjs";import{g as f}from"./chunk-KOVN277Z.mjs";import{c as t,d as a}from"./chunk-ULOFDFHJ.mjs";import{g as d}from"./chunk-Y4NIR77Z.mjs";d();d();var l=async(n,m,p,e)=>{if(!e?.device||!n||n.length===0||n[0].length===0)return;let r=p.operation||{},i=r.nodeId||r.id||"audio-signal-extractor",v=e.fps??24,y=a(r.extractionMode,""),b=a(r.curve,""),I={extractionMode:y||void 0,attackMs:t(r.attackMs,10),releaseMs:t(r.releaseMs,120),sensitivity:t(r.sensitivity,1),noiseFloorDb:t(r.noiseFloorDb,-45),dynamicRangeDb:t(r.dynamicRangeDb,36),smoothing:t(r.smoothing,.15),curve:b||void 0,beatThreshold:t(r.beatThreshold,.55),beatDecayMs:t(r.beatDecayMs,80)},o=await c.extractFeatures(e.device,n,m,v,I,512);s.registerBuffer(e.device,i,o.primaryBuffer,e.renderId),s.registerBuffer(e.device,`${i}_beat`,o.beatBuffer,e.renderId),s.registerBuffer(e.device,`${i}_bass`,o.bassBuffer,e.renderId),s.registerBuffer(e.device,`${i}_energy`,o.energyBuffer,e.renderId),s.registerTexture(e.device,i,o.texture,o.textureView,e.renderId),s.registerTexture(e.device,`${i}_beat`,o.texture,o.textureView,e.renderId),s.registerTexture(e.device,`${i}_bass`,o.texture,o.textureView,e.renderId),s.registerTexture(e.device,`${i}_energy`,o.texture,o.textureView,e.renderId);let u=`signal_${i.replace(/[^a-zA-Z0-9]/g,"_")}`,A=`
1
+ import{a as g}from"./chunk-UZTA2EUU.mjs";import{a as c,d as s}from"./chunk-VVY4PG5E.mjs";import{g as f}from"./chunk-77MT33VR.mjs";import{c as t,d as a}from"./chunk-ULOFDFHJ.mjs";import{g as d}from"./chunk-Y4NIR77Z.mjs";d();d();var l=async(n,m,p,e)=>{if(!e?.device||!n||n.length===0||n[0].length===0)return;let r=p.operation||{},i=r.nodeId||r.id||"audio-signal-extractor",v=e.fps??24,y=a(r.extractionMode,""),b=a(r.curve,""),I={extractionMode:y||void 0,attackMs:t(r.attackMs,10),releaseMs:t(r.releaseMs,120),sensitivity:t(r.sensitivity,1),noiseFloorDb:t(r.noiseFloorDb,-45),dynamicRangeDb:t(r.dynamicRangeDb,36),smoothing:t(r.smoothing,.15),curve:b||void 0,beatThreshold:t(r.beatThreshold,.55),beatDecayMs:t(r.beatDecayMs,80)},o=await c.extractFeatures(e.device,n,m,v,I,512);s.registerBuffer(e.device,i,o.primaryBuffer,e.renderId),s.registerBuffer(e.device,`${i}_beat`,o.beatBuffer,e.renderId),s.registerBuffer(e.device,`${i}_bass`,o.bassBuffer,e.renderId),s.registerBuffer(e.device,`${i}_energy`,o.energyBuffer,e.renderId),s.registerTexture(e.device,i,o.texture,o.textureView,e.renderId),s.registerTexture(e.device,`${i}_beat`,o.texture,o.textureView,e.renderId),s.registerTexture(e.device,`${i}_bass`,o.texture,o.textureView,e.renderId),s.registerTexture(e.device,`${i}_energy`,o.texture,o.textureView,e.renderId);let u=`signal_${i.replace(/[^a-zA-Z0-9]/g,"_")}`,A=`
2
2
  fn ${u}(t: f32, x: f32, y: f32, z: f32, i: u32, n: u32, frame: u32, color: vec4f, t_elapsed: f32, duration: f32) -> f32 {
3
3
  return 0.0f;
4
4
  }
@@ -0,0 +1 @@
1
+ import{g as h}from"./chunk-Y4NIR77Z.mjs";h();var c=class{textures=new Map;refs=new Map;lruMap=new Map;activeKeys=new Set;retired=[];acquire(t){let e=this.textures.get(t);if(e){let s=this.refs.get(t)??0;this.refs.set(t,s+1),this.updateLru(t)}return e}has(t){return this.textures.has(t)}hasPrefix(t){for(let e of this.textures.keys())if(e.startsWith(t))return!0;return!1}contains(t){for(let e of this.textures.keys())if(e.includes(t))return!0;return!1}set(t,e,s){this.textures.has(t)&&this.evict(t,s),this.textures.set(t,e),this.refs.set(t,1),this.updateLru(t)}create(t,e,s,r,u="rgba8unorm"){let n=e.createTexture({size:[s,r],format:u,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return this.set(t,n,e),n}release(t){let e=this.refs.get(t);if(e!==void 0&&e>0){let s=e-1;this.refs.set(t,s)}}evict(t,e){let s=this.textures.get(t);s&&(this.retire(s,e),this.textures.delete(t)),this.refs.delete(t),this.lruMap.delete(t)}prune(t,e=30){let s=0;for(let r of this.textures.keys())(this.refs.get(r)??0)===0&&!this.activeKeys.has(r)&&s++;for(let r of Array.from(this.lruMap.keys())){if(s<=e)break;if((this.refs.get(r)??0)===0&&!this.activeKeys.has(r)){let n=this.textures.get(r);n&&(this.retire(n,t),this.textures.delete(r)),this.refs.delete(r),this.lruMap.delete(r),s--}}}retire(t,e){if(!e){try{t.destroy()}catch{}return}this.retired.push(t)}flushRetired(t){if(this.retired.length===0)return;let e=this.retired;this.retired=[],t.queue.onSubmittedWorkDone().then(()=>{for(let s of e)try{s.destroy()}catch{}}).catch(()=>{})}updateLru(t){this.lruMap.delete(t),this.lruMap.set(t,!0)}destroy(){for(let t of this.retired.splice(0))try{t.destroy()}catch{}for(let[t,e]of this.textures)try{e.destroy()}catch{}this.textures.clear(),this.refs.clear(),this.lruMap.clear()}},d=new c;h();function g(o){return Math.max(Math.hypot(o.a,o.b),Math.hypot(o.c,o.d))}var a=class{stack=[new DOMMatrix];push(t){let s=this.stack[this.stack.length-1].multiply(t);this.stack.push(s)}pop(){this.stack.length>1&&this.stack.pop()}getCurrent(){return this.stack[this.stack.length-1]}packIntoBuffer(t,e,s,r,u,n){let i=this.getCurrent();u&&(i=i.multiply(u)),t[0]=i.a,t[1]=i.b,t[2]=0,t[3]=0,t[4]=i.c,t[5]=i.d,t[6]=0,t[7]=0,t[8]=i.e,t[9]=i.f,t[10]=1,t[11]=0,t[12]=e,t[13]=s,t[14]=r,t[15]=n??0}destroy(){this.stack=[new DOMMatrix]}};export{d as a,g as b,a as c};
@@ -1,4 +1,4 @@
1
- import{a as U,c as T,d as L,g as v,h as A,i as C}from"./chunk-IB6GZJOL.mjs";import{g as x}from"./chunk-KOVN277Z.mjs";import{g as p}from"./chunk-Y4NIR77Z.mjs";p();p();var G=1024,_=`
1
+ import{a as U,c as T,d as L,g as v,h as A,i as C}from"./chunk-6O55UROD.mjs";import{g as x}from"./chunk-77MT33VR.mjs";import{g as p}from"./chunk-Y4NIR77Z.mjs";p();p();var G=1024,_=`
2
2
  struct LiquifyOpData {
3
3
  opType : f32, // 0=Push, 1=Pull, 2=Bloat, 3=Pucker, 4=TwirlCW, 5=TwirlCCW
4
4
  x : f32,
@@ -1,4 +1,4 @@
1
- import{a as P,d as y,e as F,f as N,g as k,h as C,j as H,k as D,m as O}from"./chunk-IB6GZJOL.mjs";import{d as x}from"./chunk-VVY4PG5E.mjs";import{g as G}from"./chunk-KOVN277Z.mjs";import{g as h}from"./chunk-Y4NIR77Z.mjs";h();h();function Y(e,t,r,u){if(e==null)return t;if(typeof e=="object"&&e!==null){if("get"in e&&typeof e.get=="function")try{let o=e.get({frame:r,fps:u,time:u>0?r/u:0,duration:0,durationMs:0,progress:0,deltaTime:u>0?1/u:0}),p=Number(o);if(Number.isFinite(p))return p}catch{}if("value"in e){let o=Number(e.value);if(Number.isFinite(o))return o}}else if(typeof e=="function")try{let o=e(r,u),p=Number(o);if(Number.isFinite(p))return p}catch{}let s=Number(e);return Number.isFinite(s)?s:t}function b(e,t,r,u,s,o=0,p=30){let i=`${t}HandleId`,d=e[i],a=d?e.inputs?.[d]:null,l=!!(a?.connectionValid&&a.outputItem?.type==="Signal"),n=l?a?.outputItem?.data:null,c=r;if(l)n&&typeof n=="object"&&"offset"in n&&(c=Number(n.offset??r));else if(a?.connectionValid&&a.outputItem?.type==="Number")c=Number(a.outputItem.data??r);else{let v=e[t]??e.signals?.[t];c=Y(v,r,o,p)}return c=Math.max(u,Math.min(s,c)),{hasSignal:l,sd:n,value:c}}var Z=`
1
+ import{a as P,d as y,e as F,f as N,g as k,h as C,k as H,l as D,n as O}from"./chunk-6O55UROD.mjs";import{d as x}from"./chunk-VVY4PG5E.mjs";import{g as G}from"./chunk-77MT33VR.mjs";import{g as h}from"./chunk-Y4NIR77Z.mjs";h();h();function Y(e,t,r,u){if(e==null)return t;if(typeof e=="object"&&e!==null){if("get"in e&&typeof e.get=="function")try{let o=e.get({frame:r,fps:u,time:u>0?r/u:0,duration:0,durationMs:0,progress:0,deltaTime:u>0?1/u:0}),p=Number(o);if(Number.isFinite(p))return p}catch{}if("value"in e){let o=Number(e.value);if(Number.isFinite(o))return o}}else if(typeof e=="function")try{let o=e(r,u),p=Number(o);if(Number.isFinite(p))return p}catch{}let s=Number(e);return Number.isFinite(s)?s:t}function b(e,t,r,u,s,o=0,p=30){let i=`${t}HandleId`,d=e[i],a=d?e.inputs?.[d]:null,l=!!(a?.connectionValid&&a.outputItem?.type==="Signal"),n=l?a?.outputItem?.data:null,c=r;if(l)n&&typeof n=="object"&&"offset"in n&&(c=Number(n.offset??r));else if(a?.connectionValid&&a.outputItem?.type==="Number")c=Number(a.outputItem.data??r);else{let v=e[t]??e.signals?.[t];c=Y(v,r,o,p)}return c=Math.max(u,Math.min(s,c)),{hasSignal:l,sd:n,value:c}}var Z=`
2
2
  struct ModulateUniforms {
3
3
  hue : f32,
4
4
  brightness : f32,