framefields 2.2.0-beta.2 → 2.2.0-beta.4

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 (261) hide show
  1. package/dist/audio/index.d.mts +4 -4
  2. package/dist/audio/index.mjs +10 -10
  3. package/dist/{audio-1QquqDJs.d.mts → audio-BvYmTu5T.d.mts} +3 -3
  4. package/dist/{audio-1QquqDJs.d.mts.map → audio-BvYmTu5T.d.mts.map} +1 -1
  5. package/dist/{audio-BYqbtdH8.mjs → audio-DMUr01vS.mjs} +3 -3
  6. package/dist/{audio-BYqbtdH8.mjs.map → audio-DMUr01vS.mjs.map} +1 -1
  7. package/dist/{dist-BLbXEC6V.mjs → dist-CT___nEU.mjs} +3 -5
  8. package/dist/dist-CT___nEU.mjs.map +1 -0
  9. package/dist/{dist-DQlYw4eG.mjs → dist-cjxDXQdx.mjs} +49 -48
  10. package/dist/dist-cjxDXQdx.mjs.map +1 -0
  11. package/dist/effects/index.d.mts +4 -4
  12. package/dist/effects/index.mjs +35 -35
  13. package/dist/{effects-DgpPr38s.mjs → effects-C06-AOge.mjs} +2 -2
  14. package/dist/{effects-DgpPr38s.mjs.map → effects-C06-AOge.mjs.map} +1 -1
  15. package/dist/fonts/index.mjs +2 -2
  16. package/dist/{fonts-DakFEiDw.mjs → fonts-C0UuLQvr.mjs} +2 -2
  17. package/dist/{fonts-DakFEiDw.mjs.map → fonts-C0UuLQvr.mjs.map} +1 -1
  18. package/dist/{gpu-AbcLcr1f.mjs → gpu-Du7GpVFW.mjs} +2 -2
  19. package/dist/{gpu-AbcLcr1f.mjs.map → gpu-Du7GpVFW.mjs.map} +1 -1
  20. package/dist/{index--1jnkoBj.d.mts → index-B-oUlLoO.d.mts} +7 -1
  21. package/dist/index-B-oUlLoO.d.mts.map +1 -0
  22. package/dist/{index-CaZfxDXx.d.mts → index-CdyE1tst.d.mts} +3 -3
  23. package/dist/{index-CaZfxDXx.d.mts.map → index-CdyE1tst.d.mts.map} +1 -1
  24. package/dist/{index-HyzpJrHe.d.mts → index-CwbszPDG.d.mts} +5 -5
  25. package/dist/index-CwbszPDG.d.mts.map +1 -0
  26. package/dist/{index-BqzHDFkU.d.mts → index-D-Iek5sq.d.mts} +3 -3
  27. package/dist/{index-BqzHDFkU.d.mts.map → index-D-Iek5sq.d.mts.map} +1 -1
  28. package/dist/{index-D6_KcajH.d.mts → index-DXfp_T-3.d.mts} +2 -2
  29. package/dist/{index-D6_KcajH.d.mts.map → index-DXfp_T-3.d.mts.map} +1 -1
  30. package/dist/{index-DgJIBC_N.d.mts → index-XdQPNJnq.d.mts} +3 -3
  31. package/dist/index-XdQPNJnq.d.mts.map +1 -0
  32. package/dist/index.d.mts +63 -63
  33. package/dist/index.d.mts.map +1 -1
  34. package/dist/index.mjs +49 -49
  35. package/dist/preview/index.d.mts +2 -2
  36. package/dist/preview/index.mjs +10 -10
  37. package/dist/{preview-BXu7FyvN.mjs → preview-M0TsUzC6.mjs} +2 -2
  38. package/dist/{preview-BXu7FyvN.mjs.map → preview-M0TsUzC6.mjs.map} +1 -1
  39. package/dist/preview-engine/audio.mjs +1 -1
  40. package/dist/preview-engine/chunk-2SJ4BBMT.mjs +1 -0
  41. package/dist/preview-engine/{chunk-N4OG2BHX.mjs → chunk-3T4LB4ZH.mjs} +1 -1
  42. package/dist/preview-engine/{chunk-FJH5A2PV.mjs → chunk-7B5S5D4N.mjs} +1 -1
  43. package/dist/preview-engine/{chunk-2W4BMOAZ.mjs → chunk-G4K6TLNA.mjs} +1 -1
  44. package/dist/preview-engine/{chunk-6RSP766E.mjs → chunk-HVCAOHNI.mjs} +1 -1
  45. package/dist/preview-engine/{chunk-5MSAA3DL.mjs → chunk-KBO6EX3M.mjs} +1 -1
  46. package/dist/preview-engine/{chunk-AKMCLVJ6.mjs → chunk-LQBDZSQD.mjs} +1 -1
  47. package/dist/preview-engine/chunk-NECOKNHA.mjs +174 -0
  48. package/dist/preview-engine/chunk-NIRW77QA.mjs +58 -0
  49. package/dist/preview-engine/{chunk-MOW55DX2.mjs → chunk-QXCY2ATH.mjs} +1 -1
  50. package/dist/preview-engine/chunk-XN56POGE.mjs +1 -0
  51. package/dist/preview-engine/{chunk-3NXJVSZY.mjs → chunk-ZTHWCQ2A.mjs} +2 -2
  52. package/dist/preview-engine/effects.mjs +1 -1
  53. package/dist/preview-engine/fonts.mjs +1 -1
  54. package/dist/preview-engine/framefields.mjs +1 -1
  55. package/dist/preview-engine/player.mjs +5 -5
  56. package/dist/preview-engine/{renderers-UHYNEWQD.mjs → renderers-3SRG77SC.mjs} +1 -1
  57. package/dist/preview-engine/{renderers-NYK2NDZJ.mjs → renderers-VFV5QWO3.mjs} +1 -1
  58. package/dist/preview-engine/{renderers-OZYUGZG7.mjs → renderers-VUL4HBX3.mjs} +2 -2
  59. package/dist/preview-engine/signals.mjs +1 -1
  60. package/dist/{program-Cc_2_YXn.mjs → program-DzknMiY0.mjs} +2 -2
  61. package/dist/{program-Cc_2_YXn.mjs.map → program-DzknMiY0.mjs.map} +1 -1
  62. package/dist/renderer/index.d.mts +2 -2
  63. package/dist/renderer/index.mjs +2 -2
  64. package/dist/renderer--IDyGdqT.mjs +5 -0
  65. package/dist/{renderer-CZ9gHx-4.mjs → renderer-0gY4IQhM.mjs} +2 -2
  66. package/dist/{renderer-CZ9gHx-4.mjs.map → renderer-0gY4IQhM.mjs.map} +1 -1
  67. package/dist/renderer-17K4tjid.mjs +5 -0
  68. package/dist/{renderer-Dqdega0-.mjs → renderer-1vhaKMeg.mjs} +56 -55
  69. package/dist/{renderer-Dqdega0-.mjs.map → renderer-1vhaKMeg.mjs.map} +1 -1
  70. package/dist/{renderer-Bfrwo_It.mjs → renderer-57ATc_mQ.mjs} +2 -2
  71. package/dist/{renderer-Bfrwo_It.mjs.map → renderer-57ATc_mQ.mjs.map} +1 -1
  72. package/dist/{renderer-CSfLMXN8.mjs → renderer-AF884a7T.mjs} +3 -3
  73. package/dist/{renderer-CSfLMXN8.mjs.map → renderer-AF884a7T.mjs.map} +1 -1
  74. package/dist/renderer-Ab9Ttn_m.mjs +5 -0
  75. package/dist/renderer-B-roDBBo.mjs +5 -0
  76. package/dist/renderer-B03uwoUX.mjs +5 -0
  77. package/dist/renderer-B3BI_7YJ.mjs +5 -0
  78. package/dist/{renderer-B4cnT3ce.mjs → renderer-BC8XOVl5.mjs} +3 -3
  79. package/dist/{renderer-B4cnT3ce.mjs.map → renderer-BC8XOVl5.mjs.map} +1 -1
  80. package/dist/renderer-BGD4lQ74.mjs +5 -0
  81. package/dist/renderer-BHXhYfeC.mjs +5 -0
  82. package/dist/{renderer-ClWgdN2v.mjs → renderer-BHskWZNG.mjs} +2 -2
  83. package/dist/{renderer-C4UqxwcT.mjs → renderer-BNqwn0gZ.mjs} +2 -2
  84. package/dist/{renderer-C4UqxwcT.mjs.map → renderer-BNqwn0gZ.mjs.map} +1 -1
  85. package/dist/renderer-BRsTIMFa.mjs +5 -0
  86. package/dist/{renderer-BO-7bYa5.d.mts → renderer-BT-_EoXw.d.mts} +2 -2
  87. package/dist/{renderer-BO-7bYa5.d.mts.map → renderer-BT-_EoXw.d.mts.map} +1 -1
  88. package/dist/{renderer-CB87_0vL.mjs → renderer-BbdZ0YHR.mjs} +3 -3
  89. package/dist/{renderer-CB87_0vL.mjs.map → renderer-BbdZ0YHR.mjs.map} +1 -1
  90. package/dist/{renderer-sHDPBywo.mjs → renderer-BeIUgp1r.mjs} +2 -2
  91. package/dist/{renderer-sHDPBywo.mjs.map → renderer-BeIUgp1r.mjs.map} +1 -1
  92. package/dist/{renderer-FgcNOe1R.mjs → renderer-Beg7FLt2.mjs} +5 -5
  93. package/dist/{renderer-FgcNOe1R.mjs.map → renderer-Beg7FLt2.mjs.map} +1 -1
  94. package/dist/{renderer-Cv1wmjhA.mjs → renderer-BerD3T-X.mjs} +2 -2
  95. package/dist/{renderer-Cv1wmjhA.mjs.map → renderer-BerD3T-X.mjs.map} +1 -1
  96. package/dist/{renderer-CK0u3Psf.mjs → renderer-BiwIh_w4.mjs} +3 -3
  97. package/dist/{renderer-CK0u3Psf.mjs.map → renderer-BiwIh_w4.mjs.map} +1 -1
  98. package/dist/renderer-BjMTtYZw.mjs +5 -0
  99. package/dist/{renderer-dwTzrQ2G.mjs → renderer-BmGPTWwV.mjs} +3 -3
  100. package/dist/{renderer-dwTzrQ2G.mjs.map → renderer-BmGPTWwV.mjs.map} +1 -1
  101. package/dist/{renderer-DfSRmz7q.mjs → renderer-Bn2eQE-t.mjs} +3 -3
  102. package/dist/{renderer-DfSRmz7q.mjs.map → renderer-Bn2eQE-t.mjs.map} +1 -1
  103. package/dist/renderer-BoCh3Yts.mjs +5 -0
  104. package/dist/renderer-BqPbR8c4.mjs +5 -0
  105. package/dist/{renderer-BPMywsr4.mjs → renderer-Br6KyRO_.mjs} +3 -3
  106. package/dist/{renderer-BPMywsr4.mjs.map → renderer-Br6KyRO_.mjs.map} +1 -1
  107. package/dist/{renderer-DU3216cx.mjs → renderer-BteUC_7n.mjs} +3 -3
  108. package/dist/{renderer-DU3216cx.mjs.map → renderer-BteUC_7n.mjs.map} +1 -1
  109. package/dist/{renderer-DwCg5pXn.mjs → renderer-Bvx56GR6.mjs} +2 -2
  110. package/dist/{renderer-DwCg5pXn.mjs.map → renderer-Bvx56GR6.mjs.map} +1 -1
  111. package/dist/renderer-Bxa4SDm9.mjs +3 -0
  112. package/dist/{renderer-4GYrnTfw.mjs → renderer-BzDjy1_x.mjs} +2 -2
  113. package/dist/{renderer-4GYrnTfw.mjs.map → renderer-BzDjy1_x.mjs.map} +1 -1
  114. package/dist/renderer-C4Da2I1-.mjs +5 -0
  115. package/dist/{renderer-CD38wGmN.mjs → renderer-C6md3msE.mjs} +2 -2
  116. package/dist/{renderer-CD38wGmN.mjs.map → renderer-C6md3msE.mjs.map} +1 -1
  117. package/dist/{renderer-CHkqgIOL.mjs → renderer-C8uKdelk.mjs} +2 -2
  118. package/dist/{renderer-CHkqgIOL.mjs.map → renderer-C8uKdelk.mjs.map} +1 -1
  119. package/dist/renderer-C93X6dgl.mjs +5 -0
  120. package/dist/{renderer-CqT2vxa4.mjs → renderer-CE7fwGgw.mjs} +29 -12
  121. package/dist/renderer-CE7fwGgw.mjs.map +1 -0
  122. package/dist/{renderer-CciB_sav.mjs → renderer-CJB9nU1x.mjs} +3 -3
  123. package/dist/{renderer-CciB_sav.mjs.map → renderer-CJB9nU1x.mjs.map} +1 -1
  124. package/dist/renderer-CMAwFfGx.mjs +6 -0
  125. package/dist/{renderer-CPW9o3Lc.mjs → renderer-CMT4QcpV.mjs} +3 -3
  126. package/dist/{renderer-CPW9o3Lc.mjs.map → renderer-CMT4QcpV.mjs.map} +1 -1
  127. package/dist/renderer-CRXeSuX2.mjs +5 -0
  128. package/dist/renderer-CSp6WYBN.mjs +5 -0
  129. package/dist/renderer-CUXX7HTL.mjs +5 -0
  130. package/dist/renderer-CUgThpka.mjs +5 -0
  131. package/dist/{renderer-BKd2nRnO.mjs → renderer-CWBHVCvA.mjs} +2 -2
  132. package/dist/{renderer-BKd2nRnO.mjs.map → renderer-CWBHVCvA.mjs.map} +1 -1
  133. package/dist/{renderer-B5PFBOjv.mjs → renderer-Cce2fgpX.mjs} +3 -3
  134. package/dist/{renderer-B5PFBOjv.mjs.map → renderer-Cce2fgpX.mjs.map} +1 -1
  135. package/dist/renderer-CeVtufiT.mjs +5 -0
  136. package/dist/{renderer-egZPy7vq.mjs → renderer-CebB0v1y.mjs} +2 -2
  137. package/dist/{renderer-egZPy7vq.mjs.map → renderer-CebB0v1y.mjs.map} +1 -1
  138. package/dist/renderer-CespkZUk.mjs +5 -0
  139. package/dist/{renderer-Dyh8c41v.mjs → renderer-CeyAgJnw.mjs} +2 -2
  140. package/dist/{renderer-CGZqCmf2.mjs → renderer-CrABA3lB.mjs} +2 -2
  141. package/dist/{renderer-CGZqCmf2.mjs.map → renderer-CrABA3lB.mjs.map} +1 -1
  142. package/dist/{renderer-DU6i7shO.mjs → renderer-CuVPo-wP.mjs} +2 -2
  143. package/dist/{renderer-DU6i7shO.mjs.map → renderer-CuVPo-wP.mjs.map} +1 -1
  144. package/dist/{renderer-DEQ09sg7.mjs → renderer-CursFKUf.mjs} +2 -2
  145. package/dist/{renderer-DEQ09sg7.mjs.map → renderer-CursFKUf.mjs.map} +1 -1
  146. package/dist/{renderer-DT3QVVht.mjs → renderer-D-vRKssW.mjs} +2 -2
  147. package/dist/{renderer-DT3QVVht.mjs.map → renderer-D-vRKssW.mjs.map} +1 -1
  148. package/dist/{renderer-DqhZTIiC.mjs → renderer-D1Cm21eq.mjs} +2 -2
  149. package/dist/{renderer-DqhZTIiC.mjs.map → renderer-D1Cm21eq.mjs.map} +1 -1
  150. package/dist/renderer-D1l47xhL.mjs +5 -0
  151. package/dist/{renderer-PbJk25JW.mjs → renderer-D8thCpS7.mjs} +3 -3
  152. package/dist/{renderer-PbJk25JW.mjs.map → renderer-D8thCpS7.mjs.map} +1 -1
  153. package/dist/{renderer-BNcsS03m.mjs → renderer-DD8napek.mjs} +2 -2
  154. package/dist/{renderer-BNcsS03m.mjs.map → renderer-DD8napek.mjs.map} +1 -1
  155. package/dist/renderer-DDuG18J8.mjs +5 -0
  156. package/dist/{renderer-gwV6hyYm.mjs → renderer-DEuIwr-t.mjs} +2 -2
  157. package/dist/{renderer-gwV6hyYm.mjs.map → renderer-DEuIwr-t.mjs.map} +1 -1
  158. package/dist/renderer-DFhrFSMn.mjs +5 -0
  159. package/dist/{renderer-DlqDnh-8.mjs → renderer-DHGTzype.mjs} +2 -2
  160. package/dist/{renderer-DlqDnh-8.mjs.map → renderer-DHGTzype.mjs.map} +1 -1
  161. package/dist/{renderer-DkGODUgE.mjs → renderer-DJfFc-XW.mjs} +3 -3
  162. package/dist/{renderer-DkGODUgE.mjs.map → renderer-DJfFc-XW.mjs.map} +1 -1
  163. package/dist/renderer-DO48vQ7Y.mjs +5 -0
  164. package/dist/renderer-DTC39B_n.mjs +5 -0
  165. package/dist/{renderer-L7UTxwZT.mjs → renderer-DXqIslFk.mjs} +2 -2
  166. package/dist/{renderer-L7UTxwZT.mjs.map → renderer-DXqIslFk.mjs.map} +1 -1
  167. package/dist/{renderer-C2eBC0FB.mjs → renderer-DZXbgVMK.mjs} +3 -3
  168. package/dist/{renderer-C2eBC0FB.mjs.map → renderer-DZXbgVMK.mjs.map} +1 -1
  169. package/dist/{renderer-Cxh7j423.mjs → renderer-Db3JIF1K.mjs} +3 -3
  170. package/dist/{renderer-Cxh7j423.mjs.map → renderer-Db3JIF1K.mjs.map} +1 -1
  171. package/dist/renderer-DbyU3hNF.mjs +5 -0
  172. package/dist/renderer-DftVpmfu.mjs +5 -0
  173. package/dist/renderer-Dj5jm63K.mjs +5 -0
  174. package/dist/renderer-Dju57ZaF.mjs +5 -0
  175. package/dist/renderer-Dn8TQCw7.mjs +5 -0
  176. package/dist/{renderer-C6u-XrH-.mjs → renderer-DpW_LxLO.mjs} +3 -3
  177. package/dist/{renderer-C6u-XrH-.mjs.map → renderer-DpW_LxLO.mjs.map} +1 -1
  178. package/dist/{renderer-CSoyJ8GH.mjs → renderer-DqdhsSwS.mjs} +2 -2
  179. package/dist/{renderer-CSoyJ8GH.mjs.map → renderer-DqdhsSwS.mjs.map} +1 -1
  180. package/dist/{renderer-2DjggBBS.mjs → renderer-DtgMsjyL.mjs} +2 -2
  181. package/dist/{renderer-2DjggBBS.mjs.map → renderer-DtgMsjyL.mjs.map} +1 -1
  182. package/dist/{renderer-DppnY7RT.mjs → renderer-DupsdRIw.mjs} +3 -3
  183. package/dist/{renderer-DppnY7RT.mjs.map → renderer-DupsdRIw.mjs.map} +1 -1
  184. package/dist/{renderer-BN0CzoG_.mjs → renderer-DvFaC_-7.mjs} +2 -2
  185. package/dist/{renderer-BN0CzoG_.mjs.map → renderer-DvFaC_-7.mjs.map} +1 -1
  186. package/dist/renderer-ETF46K0D.mjs +5 -0
  187. package/dist/{renderer-dj3f8cMg.mjs → renderer-EemDpvv3.mjs} +3 -3
  188. package/dist/{renderer-dj3f8cMg.mjs.map → renderer-EemDpvv3.mjs.map} +1 -1
  189. package/dist/{renderer-n2kYIGtb.mjs → renderer-KnCcN_Nz.mjs} +2 -2
  190. package/dist/{renderer-n2kYIGtb.mjs.map → renderer-KnCcN_Nz.mjs.map} +1 -1
  191. package/dist/{renderer-scbJx-Dx.mjs → renderer-PKQNH21k.mjs} +2 -2
  192. package/dist/{renderer-CO4theVJ.mjs → renderer-YbaCzPcG.mjs} +2 -2
  193. package/dist/{renderer-BhxQzrHF.mjs → renderer-aArb4RwJ.mjs} +2 -2
  194. package/dist/{renderer-BhxQzrHF.mjs.map → renderer-aArb4RwJ.mjs.map} +1 -1
  195. package/dist/renderer-azYzWGC3.mjs +5 -0
  196. package/dist/renderer-dxNoRW59.mjs +5 -0
  197. package/dist/renderer-fdfelx_I.mjs +5 -0
  198. package/dist/{renderer-BEzUirF0.mjs → renderer-id8TbKBY.mjs} +2 -2
  199. package/dist/{renderer-BEzUirF0.mjs.map → renderer-id8TbKBY.mjs.map} +1 -1
  200. package/dist/{renderer-Dnm_SVy6.mjs → renderer-jYxN4mHn.mjs} +3 -3
  201. package/dist/{renderer-Dnm_SVy6.mjs.map → renderer-jYxN4mHn.mjs.map} +1 -1
  202. package/dist/{renderer-lXmtdrdI.mjs → renderer-jqByPgkD.mjs} +2 -2
  203. package/dist/{renderer-lXmtdrdI.mjs.map → renderer-jqByPgkD.mjs.map} +1 -1
  204. package/dist/{renderer-DRpIQFAK.mjs → renderer-p_C_T9Kn.mjs} +2 -2
  205. package/dist/{renderer-DRpIQFAK.mjs.map → renderer-p_C_T9Kn.mjs.map} +1 -1
  206. package/dist/renderer-snwEKwMw.mjs +5 -0
  207. package/dist/{renderer-D0enmulV.mjs → renderer-u8ynJtAC.mjs} +2 -2
  208. package/dist/{renderer-D0enmulV.mjs.map → renderer-u8ynJtAC.mjs.map} +1 -1
  209. package/dist/{renderers-CP8CFWDs-B8HIr3kj.mjs → renderers-CP8CFWDs-BA-4l6By.mjs} +2 -2
  210. package/dist/{renderers-CP8CFWDs-B8HIr3kj.mjs.map → renderers-CP8CFWDs-BA-4l6By.mjs.map} +1 -1
  211. package/dist/signals/index.d.mts +5 -5
  212. package/dist/signals/index.mjs +4 -4
  213. package/package.json +58 -58
  214. package/dist/dist-BLbXEC6V.mjs.map +0 -1
  215. package/dist/dist-DQlYw4eG.mjs.map +0 -1
  216. package/dist/index--1jnkoBj.d.mts.map +0 -1
  217. package/dist/index-DgJIBC_N.d.mts.map +0 -1
  218. package/dist/index-HyzpJrHe.d.mts.map +0 -1
  219. package/dist/preview-engine/chunk-4VOHF3FF.mjs +0 -1
  220. package/dist/preview-engine/chunk-ATLWPS6N.mjs +0 -1
  221. package/dist/preview-engine/chunk-HCZCEOV5.mjs +0 -174
  222. package/dist/preview-engine/chunk-HYBAPT6I.mjs +0 -1
  223. package/dist/preview-engine/chunk-XETMNJVV.mjs +0 -58
  224. package/dist/renderer-9ETXaINw.mjs +0 -5
  225. package/dist/renderer-B3MVDN_e.mjs +0 -5
  226. package/dist/renderer-B6iUuWcx.mjs +0 -6
  227. package/dist/renderer-B8IdU-7S.mjs +0 -5
  228. package/dist/renderer-BEGJCxuL.mjs +0 -5
  229. package/dist/renderer-BLAkNFx7.mjs +0 -5
  230. package/dist/renderer-BVNhv2ft.mjs +0 -5
  231. package/dist/renderer-BaXTEIe0.mjs +0 -5
  232. package/dist/renderer-BjeA7s36.mjs +0 -5
  233. package/dist/renderer-BkV_xpMb.mjs +0 -3
  234. package/dist/renderer-BtGNxEay.mjs +0 -5
  235. package/dist/renderer-BvZg2RJG.mjs +0 -5
  236. package/dist/renderer-CLW6tUUn.mjs +0 -5
  237. package/dist/renderer-CS-ojgJk.mjs +0 -5
  238. package/dist/renderer-CUQtKECw.mjs +0 -5
  239. package/dist/renderer-CV-l8wMq.mjs +0 -5
  240. package/dist/renderer-CV7_ALA5.mjs +0 -5
  241. package/dist/renderer-CVR6T6Lp.mjs +0 -5
  242. package/dist/renderer-CqT2vxa4.mjs.map +0 -1
  243. package/dist/renderer-CtUF95UW.mjs +0 -5
  244. package/dist/renderer-D8ymQoTB.mjs +0 -5
  245. package/dist/renderer-D9x3UE1Y.mjs +0 -5
  246. package/dist/renderer-DAEXqa2Q.mjs +0 -5
  247. package/dist/renderer-DDhU9Goq.mjs +0 -5
  248. package/dist/renderer-DcCKath2.mjs +0 -5
  249. package/dist/renderer-DiBphLzn.mjs +0 -5
  250. package/dist/renderer-Diq9Z7gZ.mjs +0 -5
  251. package/dist/renderer-DjZiO7iA.mjs +0 -5
  252. package/dist/renderer-Dtj6o-74.mjs +0 -5
  253. package/dist/renderer-Duaam6bJ.mjs +0 -5
  254. package/dist/renderer-FHqZe3K1.mjs +0 -5
  255. package/dist/renderer-FTKfOejk.mjs +0 -5
  256. package/dist/renderer-LmbkN82X.mjs +0 -5
  257. package/dist/renderer-SDspl6p-.mjs +0 -5
  258. package/dist/renderer-SWVUDypd.mjs +0 -5
  259. package/dist/renderer-WhpTBwDM.mjs +0 -5
  260. package/dist/renderer-WrpQEVdv.mjs +0 -5
  261. package/dist/renderer-r4ney0FZ.mjs +0 -5
@@ -1,4 +1,4 @@
1
- import{a as F}from"./chunk-XOEEGC4Z.mjs";import{b as I,c as B}from"./chunk-FLPSWDX4.mjs";import{a as p}from"./chunk-NQZKBFC6.mjs";import{a as L,d as y,g as N,h as V,j as D,m as k}from"./chunk-ENKKLU7B.mjs";import{e as b}from"./chunk-XETMNJVV.mjs";import{z as U}from"./chunk-63SFBHEH.mjs";import{e as c}from"./chunk-BVF64D6H.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-XOEEGC4Z.mjs";import{b as I,c as B}from"./chunk-FLPSWDX4.mjs";import{a as p}from"./chunk-NQZKBFC6.mjs";import{a as L,d as y,g as N,h as V,j as D,m as k}from"./chunk-ENKKLU7B.mjs";import{e as b}from"./chunk-NIRW77QA.mjs";import{z as U}from"./chunk-63SFBHEH.mjs";import{e as c}from"./chunk-BVF64D6H.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{a as h}from"./chunk-LQENNFBA.mjs";import{d as w,e as u}from"./chunk-BVF64D6H.mjs";u();var l=null,i=new Map,H=new Set,c=new Map,p=new Map;async function v(e,r){let t=r;if(r.startsWith("/")){let s=await import("./shims/fs-promises.mjs");try{await s.access(r)}catch{throw new Error(`Font file "${r}" not found.`)}}if(i.has(t))return i.get(t);if(t.startsWith("file://"))try{let s=new URL(t).pathname;return w.platform==="win32"&&s.startsWith("/")&&(s=s.slice(1)),i.set(t,s),s}catch{let s=t.replace(/^file:\/\//,"");return i.set(t,s),s}if(!t.startsWith("http://")&&!t.startsWith("https://"))return t;let n=await import("./shims/fs-promises.mjs"),a=await import("./shims/path.mjs"),o=await import("./shims/os.mjs");l??=n.mkdtemp(a.join(o.tmpdir(),"gatewai-fonts-")).catch(s=>{throw l=null,s});let F=await l,m=e.replace(/[^a-zA-Z0-9_-]/g,"_"),$=new URL(t),f=a.extname($.pathname);(!f||f.length>5)&&(f=".ttf");let d=a.join(F,`${m}-${Date.now()}${f}`),g=await fetch(t);if(!g.ok)throw new Error(`Failed to fetch font from ${t}: ${g.statusText}`);let P=await g.arrayBuffer();return await n.writeFile(d,Buffer.from(P)),i.set(t,d),d}async function x(e,r){if(c.has(e))return c.get(e);let t=globalThis;try{let n=await v(e,r);c.set(e,n),h(n===r?`[registerHeadlessFont] Registered "${e}" from ${n}`:`[registerHeadlessFont] Registered "${e}" from ${r} (cached at ${n})`);try{t.OffscreenCanvas&&typeof t.OffscreenCanvas.registerFont=="function"&&(t.OffscreenCanvas.registerFont(n,{family:e}),H.add(e))}catch(a){console.warn(`[registerHeadlessFont] SkiaCanvas registration failed for "${e}" (non-fatal):`,a)}return n}catch(n){console.warn(`[registerHeadlessFont] Failed to download font "${e}" from ${r}:`,n)}}function y(e){return c.get(e)}async function C(e){let r=p.get(e);if(r)return r;let t=c.get(e);if(t)try{let a=await(await import("./shims/fs-promises.mjs")).readFile(t),o=new Uint8Array(a.length);return o.set(a),h(`[getHeadlessFontData] Read local font binary for "${e}" from: ${t} (${o.length} bytes)`),p.set(e,o),o}catch(n){console.warn(`[getHeadlessFontData] Failed to read font file from ${t}:`,n)}}export{x as a,y as b,C as c};
@@ -1,4 +1,4 @@
1
- import{a as ot}from"./chunk-LKYN3BM2.mjs";import{o as Ut,p as C,q as T,r as Mt}from"./chunk-RQLMW6MA.mjs";import{c as yt,d as xt,e as $}from"./chunk-X6HUH6K4.mjs";import{a as St,b as it,d as wt,e as A}from"./chunk-XETMNJVV.mjs";import{a as vt,b as bt}from"./chunk-ATLWPS6N.mjs";import{e as O,s as G,t as M,v as Gt}from"./chunk-LQENNFBA.mjs";import{a as D,b as gt}from"./chunk-IQC2I5A5.mjs";import{d as Pt}from"./chunk-HYBAPT6I.mjs";import{e as x}from"./chunk-BVF64D6H.mjs";x();var E=class{constructor(t,e){this.url=t;this.isHeadless=e}url;isHeadless;input=null;initPromise=null;iterator=null;iteratorStartTimestamp=-1;currentFetchId=0;fetchLock=Promise.resolve();destroyed=!1;async init(){if(!this.input)return this.initPromise?this.initPromise:(this.destroyed=!1,this.initPromise=(async()=>{try{let t=await A.acquire(this.url);this.destroyed?A.release(this.url):this.input=t}catch(t){throw this.initPromise=null,t}})(),this.initPromise)}destroy(){this.destroyed=!0,this.iterator?.return(),this.input&&(A.release(this.url),this.input=null),this.initPromise=null,this.onDestroy()}},st=class extends E{canvasSink=null;videoSampleSink=null;currentFrame=null;nextFrame=null;currentSample=null;nextSample=null;headlessQueue=[];isDecoding=!1;decodeBuffer=null;nextRequest=null;pushHeadlessQueue(t){let e=this.headlessQueue.findIndex(r=>r.timestamp>t.timestamp);e===-1?this.headlessQueue.push(t):this.headlessQueue.splice(e,0,t)}async fillHeadlessQueue(t){if(this.iterator)for(;this.headlessQueue.length<2;){let e=await this.iterator.next();if(this.currentFetchId!==t){e.value?.close?.();return}if(e.done||!e.value)break;this.pushHeadlessQueue(e.value)}}async closeIterator(t){if(t)try{await t.return()}catch{}}resetSinks(){let t=this.iterator;if(this.iterator=null,t)try{t.return()}catch{}this.canvasSink=null,this.videoSampleSink=null,this.currentFrame=null,this.nextFrame=null,this.currentSample?.close(),this.currentSample=null,this.nextSample?.close(),this.nextSample=null;for(let e of this.headlessQueue)try{e.close()}catch{}this.headlessQueue=[],this.decodeBuffer=null,this.iteratorStartTimestamp=-1}onDestroy(){this.resetSinks()}async startIterator(t,e){if(!this.canvasSink)return;let r=Math.max(0,Number.isFinite(t)?t:0),i=this.iterator;if(this.iterator=null,await this.closeIterator(i),this.currentFetchId!==e||this.destroyed)return;this.iterator=this.canvasSink.canvases(r);let n=await this.iterator.next();if(this.currentFetchId!==e||this.destroyed)return;this.currentFrame=n.value??null;let s=await this.iterator.next();this.currentFetchId!==e||this.destroyed||(this.nextFrame=s.value??null,this.iteratorStartTimestamp=r)}async startIteratorHeadless(t,e){if(!this.videoSampleSink)return;let r=Math.max(0,Number.isFinite(t)?t:0),i=this.iterator;if(this.iterator=null,await this.closeIterator(i),this.currentFetchId!==e||this.destroyed)return;for(let s of this.headlessQueue)s.close();this.headlessQueue=[];let n=Math.max(0,r-.1);this.iterator=this.videoSampleSink.samples(n),await this.fillHeadlessQueue(e),!(this.currentFetchId!==e||this.destroyed)&&(this.iteratorStartTimestamp=r)}async getFrame(t){if(await this.init(),this.destroyed||!this.input)return null;let e=Math.max(0,Number.isFinite(t)?t:0);return this.isDecoding?(this.nextRequest&&this.nextRequest.resolve(null),new Promise((r,i)=>{this.nextRequest={timestampSec:e,resolve:r,reject:i}})):this.executeDecode(e)}async executeDecode(t){this.isDecoding=!0;try{return await this.performDecode(t)}finally{if(this.isDecoding=!1,this.nextRequest){let e=this.nextRequest;this.nextRequest=null,this.executeDecode(e.timestampSec).then(e.resolve).catch(e.reject)}}}async performDecodeHeadless(t,e){if(!this.videoSampleSink){if(this.destroyed||!this.input)return null;let h=await this.input.getPrimaryVideoTrack();if(!h)return null;this.videoSampleSink=new St(h)}let r=1e-4;if((!this.iterator||t<this.iteratorStartTimestamp-r||this.headlessQueue.length>0&&t<this.headlessQueue[0].timestamp-.01||this.headlessQueue.length>0&&t-this.headlessQueue[0].timestamp>1)&&(await this.startIteratorHeadless(t,e),this.currentFetchId!==e||this.destroyed||!this.input))return null;for(;;){if(await this.fillHeadlessQueue(e),this.currentFetchId!==e||this.destroyed||!this.input)return null;if(this.headlessQueue.length>=2&&this.headlessQueue[1].timestamp<=t+r){this.headlessQueue.shift()?.close();continue}break}let s=this.headlessQueue[0];if(!s)return null;let a=s.displayWidth,o=s.displayHeight,c=a*o*4,l=this.decodeBuffer;return(!l||l.length!==c)&&(l=new Uint8Array(c),this.decodeBuffer=l),await s.copyTo(l,{format:"RGBA"}),this.currentFetchId!==e||this.destroyed||!this.input?null:(gt(l),{width:a,height:o,buffer:l})}async performDecodeInternal(t){this.currentFetchId++;let e=this.currentFetchId;if(this.isHeadless)return this.performDecodeHeadless(t,e);if(!this.canvasSink){if(this.destroyed||!this.input)return null;let a=await this.input.getPrimaryVideoTrack();if(!a)return null;this.canvasSink=new it(a,{poolSize:3,alpha:!0})}let r=1e-4;if((!this.iterator||t<this.iteratorStartTimestamp-r||this.currentFrame&&t<this.currentFrame.timestamp-.01||this.currentFrame&&t-this.currentFrame.timestamp>1)&&(await this.startIterator(t,e),this.currentFetchId!==e||this.destroyed||!this.input))return null;for(;this.nextFrame&&this.nextFrame.timestamp<=t+r;)if(this.currentFrame=this.nextFrame,this.nextFrame=null,this.iterator){let a=await this.iterator.next();if(this.currentFetchId!==e||this.destroyed||!this.input)return null;this.nextFrame=a.value??null}if(!this.currentFrame)return null;let s=this.currentFrame.canvas;return{width:s.width,height:s.height,canvas:s}}async performDecode(t){let e=Math.max(0,Number.isFinite(t)?t:0);try{return await this.performDecodeInternal(e)}catch(r){let i=r;if(i?.name==="InputDisposedError"||i?.message?.includes("disposed")||this.destroyed||!this.input)return null;this.resetSinks();try{if(!this.isHeadless&&this.input&&!this.destroyed){let n=await this.input.getPrimaryVideoTrack();if(n&&!this.destroyed)return this.canvasSink=new it(n,{poolSize:3,alpha:!0,decoderOptions:{hardwareAcceleration:"prefer-software"}}),await this.performDecodeInternal(e)}}catch{}throw r}}},nt=class extends E{audioSink=null;onDestroy(){this.audioSink=null}async startIterator(t,e){this.audioSink&&(this.iterator?.return(),this.iterator=this.audioSink.buffers(t),this.iteratorStartTimestamp=t)}async*getBuffers(t){try{if(await this.init(),this.destroyed||!this.input)return;if(!this.audioSink){let i=await this.input.getPrimaryAudioTrack();if(!i)return;this.audioSink=new wt(i)}(!this.iterator||Math.abs(t-this.iteratorStartTimestamp)>.05)&&(this.currentFetchId++,await this.startIterator(t,this.currentFetchId));let r=this.currentFetchId;if(!this.iterator)return;for await(let i of this.iterator){if(this.currentFetchId!==r||this.destroyed||!this.input)break;this.iteratorStartTimestamp=i.timestamp+i.duration,yield i}}catch(e){let r=e;if(r?.name==="InputDisposedError"||r?.message?.includes("disposed")||this.destroyed||!this.input)return;throw e}finally{let e=this.currentFetchId;this.currentFetchId===e&&(this.iterator=null)}}},at=class{videoDecoders=new Map;audioDecoders=new Map;lastAccessed=new Map;touchKey(t){this.lastAccessed.set(t,Date.now())}destroy(){for(let t of this.videoDecoders.values())try{t.destroy()}catch{}this.videoDecoders.clear();for(let t of this.audioDecoders.values())try{t.destroy()}catch{}this.audioDecoders.clear(),this.lastAccessed.clear()}prune(t=3e5){let e=Date.now();for(let[r,i]of this.lastAccessed.entries())if(e-i>t){let n=this.videoDecoders.get(r);n&&(n.destroy(),this.videoDecoders.delete(r));let s=this.audioDecoders.get(r);s&&(s.destroy(),this.audioDecoders.delete(r)),this.lastAccessed.delete(r)}}getVideo(t,e,r){let i=`${t}-${e}-${r??"default"}`,n=this.videoDecoders.get(i);return n||(n=new st(t,e),this.videoDecoders.set(i,n)),this.touchKey(i),this.prune(),n}getAudio(t,e){let r=`${t}-${e??"default"}`,i=this.audioDecoders.get(r);return i||(i=new nt(t,!1),this.audioDecoders.set(r,i)),this.touchKey(r),this.prune(),i}clearNode(t){for(let[e,r]of this.videoDecoders)e.includes(t)&&(r.destroy(),this.videoDecoders.delete(e),this.lastAccessed.delete(e));for(let[e,r]of this.audioDecoders)e.includes(t)&&(r.destroy(),this.audioDecoders.delete(e),this.lastAccessed.delete(e))}},te=new at;x();x();var Bt=`
1
+ import{a as ot}from"./chunk-LKYN3BM2.mjs";import{o as Ut,p as C,q as T,r as Mt}from"./chunk-RQLMW6MA.mjs";import{c as yt,d as xt,e as $}from"./chunk-X6HUH6K4.mjs";import{b as wt}from"./chunk-2SJ4BBMT.mjs";import{a as bt,b as it,d as St,e as A}from"./chunk-NIRW77QA.mjs";import{a as Pt,b as vt}from"./chunk-XN56POGE.mjs";import{e as O,s as G,t as M,v as Gt}from"./chunk-LQENNFBA.mjs";import{a as D,b as gt}from"./chunk-IQC2I5A5.mjs";import{e as x}from"./chunk-BVF64D6H.mjs";x();var E=class{constructor(t,e){this.url=t;this.isHeadless=e}url;isHeadless;input=null;initPromise=null;iterator=null;iteratorStartTimestamp=-1;currentFetchId=0;fetchLock=Promise.resolve();destroyed=!1;async init(){if(!this.input)return this.initPromise?this.initPromise:(this.destroyed=!1,this.initPromise=(async()=>{try{let t=await A.acquire(this.url);this.destroyed?A.release(this.url):this.input=t}catch(t){throw this.initPromise=null,t}})(),this.initPromise)}destroy(){this.destroyed=!0,this.iterator?.return(),this.input&&(A.release(this.url),this.input=null),this.initPromise=null,this.onDestroy()}},st=class extends E{canvasSink=null;videoSampleSink=null;currentFrame=null;nextFrame=null;currentSample=null;nextSample=null;headlessQueue=[];isDecoding=!1;decodeBuffer=null;nextRequest=null;pushHeadlessQueue(t){let e=this.headlessQueue.findIndex(r=>r.timestamp>t.timestamp);e===-1?this.headlessQueue.push(t):this.headlessQueue.splice(e,0,t)}async fillHeadlessQueue(t){if(this.iterator)for(;this.headlessQueue.length<2;){let e=await this.iterator.next();if(this.currentFetchId!==t){e.value?.close?.();return}if(e.done||!e.value)break;this.pushHeadlessQueue(e.value)}}async closeIterator(t){if(t)try{await t.return()}catch{}}resetSinks(){let t=this.iterator;if(this.iterator=null,t)try{t.return()}catch{}this.canvasSink=null,this.videoSampleSink=null,this.currentFrame=null,this.nextFrame=null,this.currentSample?.close(),this.currentSample=null,this.nextSample?.close(),this.nextSample=null;for(let e of this.headlessQueue)try{e.close()}catch{}this.headlessQueue=[],this.decodeBuffer=null,this.iteratorStartTimestamp=-1}onDestroy(){this.resetSinks()}async startIterator(t,e){if(!this.canvasSink)return;let r=Math.max(0,Number.isFinite(t)?t:0),i=this.iterator;if(this.iterator=null,await this.closeIterator(i),this.currentFetchId!==e||this.destroyed)return;this.iterator=this.canvasSink.canvases(r);let n=await this.iterator.next();if(this.currentFetchId!==e||this.destroyed)return;this.currentFrame=n.value??null;let s=await this.iterator.next();this.currentFetchId!==e||this.destroyed||(this.nextFrame=s.value??null,this.iteratorStartTimestamp=r)}async startIteratorHeadless(t,e){if(!this.videoSampleSink)return;let r=Math.max(0,Number.isFinite(t)?t:0),i=this.iterator;if(this.iterator=null,await this.closeIterator(i),this.currentFetchId!==e||this.destroyed)return;for(let s of this.headlessQueue)s.close();this.headlessQueue=[];let n=Math.max(0,r-.1);this.iterator=this.videoSampleSink.samples(n),await this.fillHeadlessQueue(e),!(this.currentFetchId!==e||this.destroyed)&&(this.iteratorStartTimestamp=r)}async getFrame(t){if(await this.init(),this.destroyed||!this.input)return null;let e=Math.max(0,Number.isFinite(t)?t:0);return this.isDecoding?(this.nextRequest&&this.nextRequest.resolve(null),new Promise((r,i)=>{this.nextRequest={timestampSec:e,resolve:r,reject:i}})):this.executeDecode(e)}async executeDecode(t){this.isDecoding=!0;try{return await this.performDecode(t)}finally{if(this.isDecoding=!1,this.nextRequest){let e=this.nextRequest;this.nextRequest=null,this.executeDecode(e.timestampSec).then(e.resolve).catch(e.reject)}}}async performDecodeHeadless(t,e){if(!this.videoSampleSink){if(this.destroyed||!this.input)return null;let h=await this.input.getPrimaryVideoTrack();if(!h)return null;this.videoSampleSink=new bt(h)}let r=1e-4;if((!this.iterator||t<this.iteratorStartTimestamp-r||this.headlessQueue.length>0&&t<this.headlessQueue[0].timestamp-.01||this.headlessQueue.length>0&&t-this.headlessQueue[0].timestamp>1)&&(await this.startIteratorHeadless(t,e),this.currentFetchId!==e||this.destroyed||!this.input))return null;for(;;){if(await this.fillHeadlessQueue(e),this.currentFetchId!==e||this.destroyed||!this.input)return null;if(this.headlessQueue.length>=2&&this.headlessQueue[1].timestamp<=t+r){this.headlessQueue.shift()?.close();continue}break}let s=this.headlessQueue[0];if(!s)return null;let a=s.displayWidth,o=s.displayHeight,c=a*o*4,l=this.decodeBuffer;return(!l||l.length!==c)&&(l=new Uint8Array(c),this.decodeBuffer=l),await s.copyTo(l,{format:"RGBA"}),this.currentFetchId!==e||this.destroyed||!this.input?null:(gt(l),{width:a,height:o,buffer:l})}async performDecodeInternal(t){this.currentFetchId++;let e=this.currentFetchId;if(this.isHeadless)return this.performDecodeHeadless(t,e);if(!this.canvasSink){if(this.destroyed||!this.input)return null;let a=await this.input.getPrimaryVideoTrack();if(!a)return null;this.canvasSink=new it(a,{poolSize:3,alpha:!0})}let r=1e-4;if((!this.iterator||t<this.iteratorStartTimestamp-r||this.currentFrame&&t<this.currentFrame.timestamp-.01||this.currentFrame&&t-this.currentFrame.timestamp>1)&&(await this.startIterator(t,e),this.currentFetchId!==e||this.destroyed||!this.input))return null;for(;this.nextFrame&&this.nextFrame.timestamp<=t+r;)if(this.currentFrame=this.nextFrame,this.nextFrame=null,this.iterator){let a=await this.iterator.next();if(this.currentFetchId!==e||this.destroyed||!this.input)return null;this.nextFrame=a.value??null}if(!this.currentFrame)return null;let s=this.currentFrame.canvas;return{width:s.width,height:s.height,canvas:s}}async performDecode(t){let e=Math.max(0,Number.isFinite(t)?t:0);try{return await this.performDecodeInternal(e)}catch(r){let i=r;if(i?.name==="InputDisposedError"||i?.message?.includes("disposed")||this.destroyed||!this.input)return null;this.resetSinks();try{if(!this.isHeadless&&this.input&&!this.destroyed){let n=await this.input.getPrimaryVideoTrack();if(n&&!this.destroyed)return this.canvasSink=new it(n,{poolSize:3,alpha:!0,decoderOptions:{hardwareAcceleration:"prefer-software"}}),await this.performDecodeInternal(e)}}catch{}throw r}}},nt=class extends E{audioSink=null;onDestroy(){this.audioSink=null}async startIterator(t,e){this.audioSink&&(this.iterator?.return(),this.iterator=this.audioSink.buffers(t),this.iteratorStartTimestamp=t)}async*getBuffers(t){try{if(await this.init(),this.destroyed||!this.input)return;if(!this.audioSink){let i=await this.input.getPrimaryAudioTrack();if(!i)return;this.audioSink=new St(i)}(!this.iterator||Math.abs(t-this.iteratorStartTimestamp)>.05)&&(this.currentFetchId++,await this.startIterator(t,this.currentFetchId));let r=this.currentFetchId;if(!this.iterator)return;for await(let i of this.iterator){if(this.currentFetchId!==r||this.destroyed||!this.input)break;this.iteratorStartTimestamp=i.timestamp+i.duration,yield i}}catch(e){let r=e;if(r?.name==="InputDisposedError"||r?.message?.includes("disposed")||this.destroyed||!this.input)return;throw e}finally{let e=this.currentFetchId;this.currentFetchId===e&&(this.iterator=null)}}},at=class{videoDecoders=new Map;audioDecoders=new Map;lastAccessed=new Map;touchKey(t){this.lastAccessed.set(t,Date.now())}destroy(){for(let t of this.videoDecoders.values())try{t.destroy()}catch{}this.videoDecoders.clear();for(let t of this.audioDecoders.values())try{t.destroy()}catch{}this.audioDecoders.clear(),this.lastAccessed.clear()}prune(t=3e5){let e=Date.now();for(let[r,i]of this.lastAccessed.entries())if(e-i>t){let n=this.videoDecoders.get(r);n&&(n.destroy(),this.videoDecoders.delete(r));let s=this.audioDecoders.get(r);s&&(s.destroy(),this.audioDecoders.delete(r)),this.lastAccessed.delete(r)}}getVideo(t,e,r){let i=`${t}-${e}-${r??"default"}`,n=this.videoDecoders.get(i);return n||(n=new st(t,e),this.videoDecoders.set(i,n)),this.touchKey(i),this.prune(),n}getAudio(t,e){let r=`${t}-${e??"default"}`,i=this.audioDecoders.get(r);return i||(i=new nt(t,!1),this.audioDecoders.set(r,i)),this.touchKey(r),this.prune(),i}clearNode(t){for(let[e,r]of this.videoDecoders)e.includes(t)&&(r.destroy(),this.videoDecoders.delete(e),this.lastAccessed.delete(e));for(let[e,r]of this.audioDecoders)e.includes(t)&&(r.destroy(),this.audioDecoders.delete(e),this.lastAccessed.delete(e))}},te=new at;x();x();var Bt=`
2
2
  struct CompositeUniforms {
3
3
  blendMode : u32,
4
4
  padding1 : u32,
@@ -471,4 +471,4 @@ fn sdRoundedRect(p: vec2<f32>, b: vec2<f32>, r: f32) -> f32 {
471
471
 
472
472
  return vec4<f32>(fill.rgb * alpha, alpha);
473
473
  }
474
- `;var Z=class{device;pipeline;uniformLayout;uniformPool;vertexPool;uniformBindGroupCache=new M;uniformData=new Float32Array(72);vertexData=new Float32Array(8);constructor(t,e){this.device=t,this.uniformPool=new G(1024,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new G(256,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"solid.wgsl",code:Ot});this.uniformLayout=C(t),this.pipeline=T(t,{label:"SolidPipeline",module:r,uniformLayout:this.uniformLayout,format:e,topology:"triangle-strip"})}resetPools(){this.uniformPool.reset(),this.vertexPool.reset()}draw(t,e,r,i,n,s,a=0,o){let c=Y(i),l=c?{r:0,g:0,b:0,a:1}:D(i),h=o?.opacity??1;e.packIntoBuffer(this.uniformData,h,n,s,o?.transform),this.uniformData[15]=a,this.uniformData[16]=l.r,this.uniformData[17]=l.g,this.uniformData[18]=l.b,this.uniformData[19]=l.a,this.uniformData[20]=r.x,this.uniformData[21]=r.y,this.uniformData[22]=r.width,this.uniformData[23]=r.height,X(c,r,this.uniformData,24);let p=this.uniformPool.getBuffer(this.device,this.uniformData);this.vertexData[0]=r.x,this.vertexData[1]=r.y,this.vertexData[2]=r.x+r.width,this.vertexData[3]=r.y,this.vertexData[4]=r.x,this.vertexData[5]=r.y+r.height,this.vertexData[6]=r.x+r.width,this.vertexData[7]=r.y+r.height;let d=this.vertexPool.getBuffer(this.device,this.vertexData);t.setPipeline(this.pipeline);let f=this.uniformBindGroupCache.getBindGroup(this.device,this.uniformLayout,p);t.setBindGroup(0,f),t.setVertexBuffer(0,d),t.draw(4)}destroy(){this.uniformPool.destroy(),this.vertexPool.destroy(),this.uniformBindGroupCache.destroy()}};x();var J=class{stack=[new DOMMatrix];push(t){let r=this.stack[this.stack.length-1].multiply(t);this.stack.push(r)}pop(){this.stack.length>1&&this.stack.pop()}getCurrent(){return this.stack[this.stack.length-1]}packIntoBuffer(t,e,r,i,n,s){let a=this.getCurrent();n&&(a=a.multiply(n)),t[0]=a.a,t[1]=a.b,t[2]=0,t[3]=0,t[4]=a.c,t[5]=a.d,t[6]=0,t[7]=0,t[8]=a.e,t[9]=a.f,t[10]=1,t[11]=0,t[12]=e,t[13]=r,t[14]=i,t[15]=s??0}destroy(){this.stack=[new DOMMatrix]}};function Yt(u){if(Array.isArray(u)){let r=u[3]??1;return[u[0]*r,u[1]*r,u[2]*r,r]}if("r"in u){let r=u.a??1;return{r:u.r*r,g:u.g*r,b:u.b*r,a:r}}let t=Array.from(u),e=t[3]??1;return[t[0]*e,t[1]*e,t[2]*e,e]}var $t=new WeakMap;function vr(u,t){let e=$t.get(u);return(!e||e.format!==t||e.isDestroyed)&&(e=new pt(u,t),$t.set(u,e)),e.resetPools(),e}var pt=class{device;transformStack=new J;clipStack=new W;quadPipeline;solidPipeline;shapeFillPipeline;pathPipeline;effectPipeline;slugPipeline;bindGroupCache=new V;samplerCache=new Mt;format;isDestroyed=!1;rasterDrawCount=0;surfaceWidth=0;surfaceHeight=0;lastEncoder=null;constructor(t,e){this.device=t,this.format=e,this.quadPipeline=new q(t,e),this.solidPipeline=new Z(t,e),this.shapeFillPipeline=new K(t,e),this.pathPipeline=new H(t,e),this.effectPipeline=new I(t,e),this.slugPipeline=new Gt(t,e)}beginFrame(t,e,r={r:0,g:0,b:0,a:0},i,n,s="clear"){this.surfaceWidth=i,this.surfaceHeight=n,t!==this.lastEncoder&&(this.lastEncoder=t,this.resetPools());let a=t.beginRenderPass({colorAttachments:[{view:e,clearValue:Yt(r),loadOp:s,storeOp:"store"}]});return this.clipStack.applyScissorToPass(a,i,n),a}endFrame(t){}resetPools(){this.quadPipeline.resetPools(),this.solidPipeline.resetPools(),this.shapeFillPipeline.resetPools(),this.pathPipeline.resetPools(),this.effectPipeline&&this.effectPipeline.resetPools(),this.slugPipeline.resetPools(),ot.flushRetired(this.device),ot.prune(this.device)}drawTexture(t,e,r,i){let n=this.samplerCache.getSampler(this.device),s={x:0,y:0,width:e.width,height:e.height};this.rasterDrawCount++,this.quadPipeline.draw(t,this.bindGroupCache,this.transformStack,e,n,s,r,this.surfaceWidth,this.surfaceHeight,i)}drawTextureRegion(t,e,r,i,n){let s=this.samplerCache.getSampler(this.device);this.rasterDrawCount++,this.quadPipeline.draw(t,this.bindGroupCache,this.transformStack,e,s,r,i,this.surfaceWidth,this.surfaceHeight,n)}drawRect(t,e,r,i=0,n){let s=0,a=n;typeof i=="object"&&i!==null?(a=i,s=0):typeof i=="number"&&(s=i),this.rasterDrawCount++,this.solidPipeline.draw(t,this.transformStack,e,r,this.surfaceWidth,this.surfaceHeight,s,a)}drawPath(t,e,r,i,n){this.rasterDrawCount++,this.pathPipeline.drawPath(t,this.transformStack,e,r,i,this.surfaceWidth,this.surfaceHeight,n)}drawShapeFill(t,e,r,i,n){this.rasterDrawCount++,this.shapeFillPipeline.draw(t,this.transformStack,e,r,i,this.surfaceWidth,this.surfaceHeight,n)}drawShape(t,e,r,i,n){let s={x:0,y:0,width:e.width,height:e.height};if(r&&r.type!=="none"){let a=Ft(e);if(a.length>0&&(this.drawShapeFill(t,a,r,s,n),(!i||!i.width||i.width<=0)&&(r.type??"solid")==="solid"&&r.color)){let o=ct(e);o&&this.drawPath(t,o,r.color,1,{...n,strokeLineCap:"round"})}}if(i&&i.width&&i.width>0&&i.color){let a=ct(e);a&&this.drawPath(t,a,i.color,i.width,{...n,strokeLineCap:i.cap,trimStart:i.trimStart,trimEnd:i.trimEnd,trimOffset:i.trimOffset,strokeDashArray:i.dashArray,strokeDashOffset:i.dashOffset})}}drawRRect(t,e,r,i){this.drawRect(t,e.rect,r,e.rx,i)}getTemporaryTexture(t,e,r){return this.effectPipeline.getTexture(this.device,t,e,this.format,r)}getTemporaryBuffer(t){return this.effectPipeline.getBuffer(this.device,t)}composite(t,e,r,i,n){return this.effectPipeline.composite(t,this.bindGroupCache,this.samplerCache,e,r,i,this.format,n)}applyMotionBlur(t,e,r,i,n=180,s=16,a){return this.effectPipeline.applyMotionBlur(t,this.bindGroupCache,this.samplerCache,e,r,i,n,s,this.format,a)}getCurrentTransform(){return this.transformStack.getCurrent()}getTransformStack(){return this.transformStack}getSurfaceWidth(){return this.surfaceWidth}getSurfaceHeight(){return this.surfaceHeight}pushIdentity(){let t=this.transformStack.getCurrent();this.pushTransform(t.inverse())}pushTransform(t){this.transformStack.push(t)}popTransform(){this.transformStack.pop()}pushScissor(t){this.clipStack.pushScissor(t,this.surfaceWidth,this.surfaceHeight)}pushScissorLocal(t){let e=this.transformStack.getCurrent(),r=[e.transformPoint(new DOMPoint(t.x,t.y)),e.transformPoint(new DOMPoint(t.x+t.width,t.y)),e.transformPoint(new DOMPoint(t.x,t.y+t.height)),e.transformPoint(new DOMPoint(t.x+t.width,t.y+t.height))],i=r.map(h=>h.x),n=r.map(h=>h.y),s=Math.min(...i),a=Math.min(...n),o=Math.max(...i)-s,c=Math.max(...n)-a,l=this.clipStack.getCurrentScissor(this.surfaceWidth,this.surfaceHeight);if(l){let h=Math.max(s,l.x),p=Math.max(a,l.y),d=Math.min(s+o,l.x+l.width),f=Math.min(a+c,l.y+l.height);s=h,a=p,o=Math.max(0,d-h),c=Math.max(0,f-p)}this.clipStack.pushScissor({x:s,y:a,width:o,height:c},this.surfaceWidth,this.surfaceHeight)}popScissor(){this.clipStack.popScissor()}suspendScissors(){let t=this.clipStack.saveScissors();return this.clipStack.clearScissors(),t}resumeScissors(t){this.clipStack.restoreScissors(t)}pushStencilClip(t){this.clipStack.pushStencilClip(t)}popStencilClip(){this.clipStack.popStencilClip()}destroy(){this.isDestroyed=!0,this.transformStack.destroy(),this.clipStack.destroy(),this.bindGroupCache.destroy(),this.samplerCache.destroy(),this.quadPipeline.destroy(),this.solidPipeline.destroy(),this.shapeFillPipeline.destroy(),this.pathPipeline.destroy(),this.effectPipeline.destroy(),this.slugPipeline.destroy(),this.lastEncoder=null}};x();async function At(u,t){if(typeof window<"u"&&typeof FontFace<"u")try{let r=await new FontFace(u,`url(${t})`).load();document.fonts.add(r),await document.fonts.ready}catch(e){console.warn(`[preloadFont] Failed to load font "${u}" from ${t}:`,e)}else await vt(u,t)}x();var Xt=/\p{Extended_Pictographic}/gu,Et=!1;async function Tr(u,t,e=(r,i)=>console.warn(`[framefields] ${i}`,r)){let r=new Set,i=new Map;(function s(a){let o=a.operation;if(o){let c=o.op==="text"||o.kind==="text"||o.op==="caption"||o.kind==="caption"||typeof o.text=="string",l=o.fontFamily||(c?"Inter":"");if(l&&r.add(l),o.op==="text"&&typeof o.text=="string"){let h=o.fontSize??48;for(let p of o.text.match(Xt)??[])i.set(`${p}-${h}`,h)}}for(let c of a.children??[])s(c)})(u);let n=[];for(let s of r){let a=bt(s)??Pt(s);n.push(At(s,a).catch(o=>e(o,`font "${s}" from ${a}`))),t&&n.push(O.preloadSlugFont(t,s,a).catch(o=>e(o,`Slug font "${s}" from ${a}`)))}if(t&&i.size>0){!O.hasEmojiFont()&&!Et&&(Et=!0,console.warn("[framefields] Text uses emoji but no emoji font is registered, so exports draw nothing for them. Register a color emoji font (e.g. Noto Color Emoji) with FontManager.registerEmojiFont(path)."));for(let[s,a]of i){let o=s.slice(0,s.lastIndexOf("-"));n.push(O.preloadEmoji(t,o,a).catch(c=>{O.hasEmojiFont()&&e(c,`emoji "${o}"`)}))}}await Promise.all(n)}export{te as a,I as b,vr as c,pt as d,At as e,Tr as f};
474
+ `;var Z=class{device;pipeline;uniformLayout;uniformPool;vertexPool;uniformBindGroupCache=new M;uniformData=new Float32Array(72);vertexData=new Float32Array(8);constructor(t,e){this.device=t,this.uniformPool=new G(1024,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new G(256,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"solid.wgsl",code:Ot});this.uniformLayout=C(t),this.pipeline=T(t,{label:"SolidPipeline",module:r,uniformLayout:this.uniformLayout,format:e,topology:"triangle-strip"})}resetPools(){this.uniformPool.reset(),this.vertexPool.reset()}draw(t,e,r,i,n,s,a=0,o){let c=Y(i),l=c?{r:0,g:0,b:0,a:1}:D(i),h=o?.opacity??1;e.packIntoBuffer(this.uniformData,h,n,s,o?.transform),this.uniformData[15]=a,this.uniformData[16]=l.r,this.uniformData[17]=l.g,this.uniformData[18]=l.b,this.uniformData[19]=l.a,this.uniformData[20]=r.x,this.uniformData[21]=r.y,this.uniformData[22]=r.width,this.uniformData[23]=r.height,X(c,r,this.uniformData,24);let p=this.uniformPool.getBuffer(this.device,this.uniformData);this.vertexData[0]=r.x,this.vertexData[1]=r.y,this.vertexData[2]=r.x+r.width,this.vertexData[3]=r.y,this.vertexData[4]=r.x,this.vertexData[5]=r.y+r.height,this.vertexData[6]=r.x+r.width,this.vertexData[7]=r.y+r.height;let d=this.vertexPool.getBuffer(this.device,this.vertexData);t.setPipeline(this.pipeline);let f=this.uniformBindGroupCache.getBindGroup(this.device,this.uniformLayout,p);t.setBindGroup(0,f),t.setVertexBuffer(0,d),t.draw(4)}destroy(){this.uniformPool.destroy(),this.vertexPool.destroy(),this.uniformBindGroupCache.destroy()}};x();var J=class{stack=[new DOMMatrix];push(t){let r=this.stack[this.stack.length-1].multiply(t);this.stack.push(r)}pop(){this.stack.length>1&&this.stack.pop()}getCurrent(){return this.stack[this.stack.length-1]}packIntoBuffer(t,e,r,i,n,s){let a=this.getCurrent();n&&(a=a.multiply(n)),t[0]=a.a,t[1]=a.b,t[2]=0,t[3]=0,t[4]=a.c,t[5]=a.d,t[6]=0,t[7]=0,t[8]=a.e,t[9]=a.f,t[10]=1,t[11]=0,t[12]=e,t[13]=r,t[14]=i,t[15]=s??0}destroy(){this.stack=[new DOMMatrix]}};function Yt(u){if(Array.isArray(u)){let r=u[3]??1;return[u[0]*r,u[1]*r,u[2]*r,r]}if("r"in u){let r=u.a??1;return{r:u.r*r,g:u.g*r,b:u.b*r,a:r}}let t=Array.from(u),e=t[3]??1;return[t[0]*e,t[1]*e,t[2]*e,e]}var $t=new WeakMap;function vr(u,t){let e=$t.get(u);return(!e||e.format!==t||e.isDestroyed)&&(e=new pt(u,t),$t.set(u,e)),e.resetPools(),e}var pt=class{device;transformStack=new J;clipStack=new W;quadPipeline;solidPipeline;shapeFillPipeline;pathPipeline;effectPipeline;slugPipeline;bindGroupCache=new V;samplerCache=new Mt;format;isDestroyed=!1;rasterDrawCount=0;surfaceWidth=0;surfaceHeight=0;lastEncoder=null;constructor(t,e){this.device=t,this.format=e,this.quadPipeline=new q(t,e),this.solidPipeline=new Z(t,e),this.shapeFillPipeline=new K(t,e),this.pathPipeline=new H(t,e),this.effectPipeline=new I(t,e),this.slugPipeline=new Gt(t,e)}beginFrame(t,e,r={r:0,g:0,b:0,a:0},i,n,s="clear"){this.surfaceWidth=i,this.surfaceHeight=n,t!==this.lastEncoder&&(this.lastEncoder=t,this.resetPools());let a=t.beginRenderPass({colorAttachments:[{view:e,clearValue:Yt(r),loadOp:s,storeOp:"store"}]});return this.clipStack.applyScissorToPass(a,i,n),a}endFrame(t){}resetPools(){this.quadPipeline.resetPools(),this.solidPipeline.resetPools(),this.shapeFillPipeline.resetPools(),this.pathPipeline.resetPools(),this.effectPipeline&&this.effectPipeline.resetPools(),this.slugPipeline.resetPools(),ot.flushRetired(this.device),ot.prune(this.device)}drawTexture(t,e,r,i){let n=this.samplerCache.getSampler(this.device),s={x:0,y:0,width:e.width,height:e.height};this.rasterDrawCount++,this.quadPipeline.draw(t,this.bindGroupCache,this.transformStack,e,n,s,r,this.surfaceWidth,this.surfaceHeight,i)}drawTextureRegion(t,e,r,i,n){let s=this.samplerCache.getSampler(this.device);this.rasterDrawCount++,this.quadPipeline.draw(t,this.bindGroupCache,this.transformStack,e,s,r,i,this.surfaceWidth,this.surfaceHeight,n)}drawRect(t,e,r,i=0,n){let s=0,a=n;typeof i=="object"&&i!==null?(a=i,s=0):typeof i=="number"&&(s=i),this.rasterDrawCount++,this.solidPipeline.draw(t,this.transformStack,e,r,this.surfaceWidth,this.surfaceHeight,s,a)}drawPath(t,e,r,i,n){this.rasterDrawCount++,this.pathPipeline.drawPath(t,this.transformStack,e,r,i,this.surfaceWidth,this.surfaceHeight,n)}drawShapeFill(t,e,r,i,n){this.rasterDrawCount++,this.shapeFillPipeline.draw(t,this.transformStack,e,r,i,this.surfaceWidth,this.surfaceHeight,n)}drawShape(t,e,r,i,n){let s={x:0,y:0,width:e.width,height:e.height};if(r&&r.type!=="none"){let a=Ft(e);if(a.length>0&&(this.drawShapeFill(t,a,r,s,n),(!i||!i.width||i.width<=0)&&(r.type??"solid")==="solid"&&r.color)){let o=ct(e);o&&this.drawPath(t,o,r.color,1,{...n,strokeLineCap:"round"})}}if(i&&i.width&&i.width>0&&i.color){let a=ct(e);a&&this.drawPath(t,a,i.color,i.width,{...n,strokeLineCap:i.cap,trimStart:i.trimStart,trimEnd:i.trimEnd,trimOffset:i.trimOffset,strokeDashArray:i.dashArray,strokeDashOffset:i.dashOffset})}}drawRRect(t,e,r,i){this.drawRect(t,e.rect,r,e.rx,i)}getTemporaryTexture(t,e,r){return this.effectPipeline.getTexture(this.device,t,e,this.format,r)}getTemporaryBuffer(t){return this.effectPipeline.getBuffer(this.device,t)}composite(t,e,r,i,n){return this.effectPipeline.composite(t,this.bindGroupCache,this.samplerCache,e,r,i,this.format,n)}applyMotionBlur(t,e,r,i,n=180,s=16,a){return this.effectPipeline.applyMotionBlur(t,this.bindGroupCache,this.samplerCache,e,r,i,n,s,this.format,a)}getCurrentTransform(){return this.transformStack.getCurrent()}getTransformStack(){return this.transformStack}getSurfaceWidth(){return this.surfaceWidth}getSurfaceHeight(){return this.surfaceHeight}pushIdentity(){let t=this.transformStack.getCurrent();this.pushTransform(t.inverse())}pushTransform(t){this.transformStack.push(t)}popTransform(){this.transformStack.pop()}pushScissor(t){this.clipStack.pushScissor(t,this.surfaceWidth,this.surfaceHeight)}pushScissorLocal(t){let e=this.transformStack.getCurrent(),r=[e.transformPoint(new DOMPoint(t.x,t.y)),e.transformPoint(new DOMPoint(t.x+t.width,t.y)),e.transformPoint(new DOMPoint(t.x,t.y+t.height)),e.transformPoint(new DOMPoint(t.x+t.width,t.y+t.height))],i=r.map(h=>h.x),n=r.map(h=>h.y),s=Math.min(...i),a=Math.min(...n),o=Math.max(...i)-s,c=Math.max(...n)-a,l=this.clipStack.getCurrentScissor(this.surfaceWidth,this.surfaceHeight);if(l){let h=Math.max(s,l.x),p=Math.max(a,l.y),d=Math.min(s+o,l.x+l.width),f=Math.min(a+c,l.y+l.height);s=h,a=p,o=Math.max(0,d-h),c=Math.max(0,f-p)}this.clipStack.pushScissor({x:s,y:a,width:o,height:c},this.surfaceWidth,this.surfaceHeight)}popScissor(){this.clipStack.popScissor()}suspendScissors(){let t=this.clipStack.saveScissors();return this.clipStack.clearScissors(),t}resumeScissors(t){this.clipStack.restoreScissors(t)}pushStencilClip(t){this.clipStack.pushStencilClip(t)}popStencilClip(){this.clipStack.popStencilClip()}destroy(){this.isDestroyed=!0,this.transformStack.destroy(),this.clipStack.destroy(),this.bindGroupCache.destroy(),this.samplerCache.destroy(),this.quadPipeline.destroy(),this.solidPipeline.destroy(),this.shapeFillPipeline.destroy(),this.pathPipeline.destroy(),this.effectPipeline.destroy(),this.slugPipeline.destroy(),this.lastEncoder=null}};x();async function At(u,t){if(typeof window<"u"&&typeof FontFace<"u")try{let r=await new FontFace(u,`url(${t})`).load();document.fonts.add(r),await document.fonts.ready}catch(e){console.warn(`[preloadFont] Failed to load font "${u}" from ${t}:`,e)}else await Pt(u,t)}x();var Xt=/\p{Extended_Pictographic}/gu,Et=!1;async function Tr(u,t,e=(r,i)=>console.warn(`[framefields] ${i}`,r)){let r=new Set,i=new Map;(function s(a){let o=a.operation;if(o){let c=o.op==="text"||o.kind==="text"||o.op==="caption"||o.kind==="caption"||typeof o.text=="string",l=o.fontFamily||(c?"Inter":"");if(l&&r.add(l),o.op==="text"&&typeof o.text=="string"){let h=o.fontSize??48;for(let p of o.text.match(Xt)??[])i.set(`${p}-${h}`,h)}}for(let c of a.children??[])s(c)})(u);let n=[];for(let s of r){let a=vt(s)??wt(s);n.push(At(s,a).catch(o=>e(o,`font "${s}" from ${a}`))),t&&n.push(O.preloadSlugFont(t,s,a).catch(o=>e(o,`Slug font "${s}" from ${a}`)))}if(t&&i.size>0){!O.hasEmojiFont()&&!Et&&(Et=!0,console.warn("[framefields] Text uses emoji but no emoji font is registered, so exports draw nothing for them. Register a color emoji font (e.g. Noto Color Emoji) with FontManager.registerEmojiFont(path)."));for(let[s,a]of i){let o=s.slice(0,s.lastIndexOf("-"));n.push(O.preloadEmoji(t,o,a).catch(c=>{O.hasEmojiFont()&&e(c,`emoji "${o}"`)}))}}await Promise.all(n)}export{te as a,I as b,vr as c,pt as d,At as e,Tr as f};
@@ -1 +1 @@
1
- import{$ as Ga,A as fa,B as ga,C as ha,D as ia,E as ja,F as ka,G as la,H as ma,I as na,J as oa,K as pa,L as qa,M as ra,N as sa,O as ta,P as ua,Q as va,R as wa,S as xa,T as ya,U as za,V as Aa,W as Ba,X as Ca,Y as Da,Z as Ea,_ as Fa,a as H,aa as Ha,b as I,c as J,d as K,e as L,f as M,g as N,h as O,i as P,j as Q,k as R,l as S,m as T,n as U,o as V,p as W,q as X,r as Y,s as Z,t as _,u as $,v as aa,w as ba,x as ca,y as da,z as ea}from"./chunk-6RSP766E.mjs";import{a as D}from"./chunk-GSFN4WCH.mjs";import{a as E}from"./chunk-5W4AFQP7.mjs";import{a as F}from"./chunk-OKH2VU2U.mjs";import{S as G}from"./chunk-HCZCEOV5.mjs";import{b as y}from"./chunk-L3CHEZMZ.mjs";import{a as z}from"./chunk-E3HC4GRQ.mjs";import{a as A}from"./chunk-MOW55DX2.mjs";import{a as B}from"./chunk-7EPIRODI.mjs";import{b as C}from"./chunk-VXS5SIEC.mjs";import{b as r}from"./chunk-PAQNDZQB.mjs";import{b as s}from"./chunk-SZW5J72T.mjs";import{a as t}from"./chunk-PL4IH5V4.mjs";import{a as v}from"./chunk-WUKH7BD7.mjs";import{b as w}from"./chunk-YQZOGEPZ.mjs";import{b as x}from"./chunk-J2R5R7YY.mjs";import{a as j}from"./chunk-WSIURGP2.mjs";import{a as k}from"./chunk-WFGJXCZT.mjs";import{b as l}from"./chunk-RW2F3XLQ.mjs";import{a as m}from"./chunk-PXT52LEH.mjs";import{a as n}from"./chunk-FU7AIAMM.mjs";import{a as o}from"./chunk-OJ2PKBXE.mjs";import{a as p}from"./chunk-5AUB4Y3L.mjs";import{a as q}from"./chunk-SGPRLTNF.mjs";import"./chunk-YKMBRUAE.mjs";import{a as e}from"./chunk-WH5Q2NFN.mjs";import{a as f}from"./chunk-PEWYB6WP.mjs";import{b as g}from"./chunk-AXHB4J37.mjs";import{a as h}from"./chunk-RSMO7NPN.mjs";import"./chunk-N4LHIPHZ.mjs";import{a as i}from"./chunk-LBRVQ4GE.mjs";import"./chunk-VXUJWPIK.mjs";import{a as b}from"./chunk-AXQZX3TC.mjs";import"./chunk-XOEEGC4Z.mjs";import{b as c}from"./chunk-IUPDOATX.mjs";import{a as d}from"./chunk-2MZXSWVT.mjs";import{a}from"./chunk-3UPI4EPV.mjs";import"./chunk-XKO4RYKN.mjs";import"./chunk-X6HUH6K4.mjs";import"./chunk-JAJOZG5P.mjs";import"./chunk-FJH5A2PV.mjs";import{a as u}from"./chunk-PFA427ZC.mjs";import"./chunk-FLPSWDX4.mjs";import"./chunk-NQZKBFC6.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-VUFDQJ2B.mjs";import"./chunk-2W4BMOAZ.mjs";import"./chunk-37EFVZWT.mjs";import"./chunk-4VOHF3FF.mjs";import"./chunk-24P6DAB3.mjs";import"./chunk-XETMNJVV.mjs";import"./chunk-Q4Z54DQ7.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-63SFBHEH.mjs";import"./chunk-4GEWSUX5.mjs";import"./chunk-MTJHQATU.mjs";import"./chunk-IQC2I5A5.mjs";import"./chunk-IQKIHFNZ.mjs";import"./chunk-HYBAPT6I.mjs";import"./chunk-YAQFFQPG.mjs";import"./chunk-BVF64D6H.mjs";export{ua as ApplyLUT,I as AudioCompressor,J as AudioDelay,K as AudioFade,L as AudioNoiseGate,M as AudioParametricEq,N as AudioReverb,pa as AudioSignalExtractor,ka as Blur,O as CameraParallax3D,P as ChannelMerger,Q as ChannelSplitter,R as ColorBalance,S as ColorKey,T as CornerPin,Da as Crop,qa as Curves,oa as CustomEffect,Ca as DepthOfField,U as DisplacementMap,V as ExtractLUT,na as FilmGrain,W as Flip,sa as GradientMap,xa as HalftoneScreen,wa as HighPass,X as KenBurns,Y as LayerStyle,ma as Levels,Z as Liquify,_ as MaskMath,$ as MeshWarp,Ha as Modulate,za as MotionBlur,aa as NoiseGenerator,Ba as PBRGlass,ba as Paint,ca as PatchHeal,da as ProceduralVFX,ea as RefineEdge,fa as RefractionCaustics3D,Fa as Relight3D,ga as ResizerScaler,ha as Rotate,Aa as SSAO,ra as SelectiveColor,ta as ShadowsHighlights,ia as StereoPanning,Ga as TemporalDeflicker,ya as TileOffset,va as UnsharpMask,ja as Vignette,Ea as Vision,a as applyLutRenderer,b as blurRenderer,c as colorBalanceRenderer,d as colorkeyRenderer,e as cornerPinRenderer,f as cropRenderer,g as curvesRenderer,h as deflickerRenderer,i as displacementMapRenderer,la as effectFactories,H as effectMeta,j as filmGrainRenderer,k as flipRenderer,l as gradientMapRenderer,m as halftoneScreenRenderer,n as highPassRenderer,o as kenBurnsRenderer,p as layerStyleRenderer,q as levelsRenderer,r as liquifyRenderer,s as maskMathRenderer,t as meshWarpRenderer,u as modulateRenderer,v as paintRenderer,w as patchHealRenderer,x as refineEdgeRenderer,y as refractionCausticsRenderer,z as relight3dRenderer,A as rotateRenderer,B as selectiveColorRenderer,C as shadowsHighlightsRenderer,D as tileOffsetRenderer,E as unsharpMaskRenderer,F as vignetteRenderer,G as visionRenderer};
1
+ import{$ as Ga,A as fa,B as ga,C as ha,D as ia,E as ja,F as ka,G as la,H as ma,I as na,J as oa,K as pa,L as qa,M as ra,N as sa,O as ta,P as ua,Q as va,R as wa,S as xa,T as ya,U as za,V as Aa,W as Ba,X as Ca,Y as Da,Z as Ea,_ as Fa,a as H,aa as Ha,b as I,c as J,d as K,e as L,f as M,g as N,h as O,i as P,j as Q,k as R,l as S,m as T,n as U,o as V,p as W,q as X,r as Y,s as Z,t as _,u as $,v as aa,w as ba,x as ca,y as da,z as ea}from"./chunk-HVCAOHNI.mjs";import{a as D}from"./chunk-GSFN4WCH.mjs";import{a as E}from"./chunk-5W4AFQP7.mjs";import{a as F}from"./chunk-OKH2VU2U.mjs";import{S as G}from"./chunk-NECOKNHA.mjs";import{b as y}from"./chunk-L3CHEZMZ.mjs";import{a as z}from"./chunk-E3HC4GRQ.mjs";import{a as A}from"./chunk-QXCY2ATH.mjs";import{a as B}from"./chunk-7EPIRODI.mjs";import{b as C}from"./chunk-VXS5SIEC.mjs";import{b as r}from"./chunk-PAQNDZQB.mjs";import{b as s}from"./chunk-SZW5J72T.mjs";import{a as t}from"./chunk-PL4IH5V4.mjs";import{a as v}from"./chunk-WUKH7BD7.mjs";import{b as w}from"./chunk-YQZOGEPZ.mjs";import{b as x}from"./chunk-J2R5R7YY.mjs";import{a as j}from"./chunk-WSIURGP2.mjs";import{a as k}from"./chunk-WFGJXCZT.mjs";import{b as l}from"./chunk-RW2F3XLQ.mjs";import{a as m}from"./chunk-PXT52LEH.mjs";import{a as n}from"./chunk-FU7AIAMM.mjs";import{a as o}from"./chunk-OJ2PKBXE.mjs";import{a as p}from"./chunk-5AUB4Y3L.mjs";import{a as q}from"./chunk-SGPRLTNF.mjs";import"./chunk-YKMBRUAE.mjs";import{a as e}from"./chunk-WH5Q2NFN.mjs";import{a as f}from"./chunk-PEWYB6WP.mjs";import{b as g}from"./chunk-AXHB4J37.mjs";import{a as h}from"./chunk-RSMO7NPN.mjs";import"./chunk-N4LHIPHZ.mjs";import{a as i}from"./chunk-LBRVQ4GE.mjs";import"./chunk-VXUJWPIK.mjs";import{a as b}from"./chunk-AXQZX3TC.mjs";import"./chunk-XOEEGC4Z.mjs";import{b as c}from"./chunk-IUPDOATX.mjs";import{a as d}from"./chunk-2MZXSWVT.mjs";import{a}from"./chunk-3UPI4EPV.mjs";import"./chunk-XKO4RYKN.mjs";import"./chunk-X6HUH6K4.mjs";import"./chunk-JAJOZG5P.mjs";import"./chunk-7B5S5D4N.mjs";import{a as u}from"./chunk-PFA427ZC.mjs";import"./chunk-FLPSWDX4.mjs";import"./chunk-NQZKBFC6.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-VUFDQJ2B.mjs";import"./chunk-G4K6TLNA.mjs";import"./chunk-37EFVZWT.mjs";import"./chunk-2SJ4BBMT.mjs";import"./chunk-24P6DAB3.mjs";import"./chunk-NIRW77QA.mjs";import"./chunk-Q4Z54DQ7.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-63SFBHEH.mjs";import"./chunk-4GEWSUX5.mjs";import"./chunk-MTJHQATU.mjs";import"./chunk-IQC2I5A5.mjs";import"./chunk-IQKIHFNZ.mjs";import"./chunk-YAQFFQPG.mjs";import"./chunk-BVF64D6H.mjs";export{ua as ApplyLUT,I as AudioCompressor,J as AudioDelay,K as AudioFade,L as AudioNoiseGate,M as AudioParametricEq,N as AudioReverb,pa as AudioSignalExtractor,ka as Blur,O as CameraParallax3D,P as ChannelMerger,Q as ChannelSplitter,R as ColorBalance,S as ColorKey,T as CornerPin,Da as Crop,qa as Curves,oa as CustomEffect,Ca as DepthOfField,U as DisplacementMap,V as ExtractLUT,na as FilmGrain,W as Flip,sa as GradientMap,xa as HalftoneScreen,wa as HighPass,X as KenBurns,Y as LayerStyle,ma as Levels,Z as Liquify,_ as MaskMath,$ as MeshWarp,Ha as Modulate,za as MotionBlur,aa as NoiseGenerator,Ba as PBRGlass,ba as Paint,ca as PatchHeal,da as ProceduralVFX,ea as RefineEdge,fa as RefractionCaustics3D,Fa as Relight3D,ga as ResizerScaler,ha as Rotate,Aa as SSAO,ra as SelectiveColor,ta as ShadowsHighlights,ia as StereoPanning,Ga as TemporalDeflicker,ya as TileOffset,va as UnsharpMask,ja as Vignette,Ea as Vision,a as applyLutRenderer,b as blurRenderer,c as colorBalanceRenderer,d as colorkeyRenderer,e as cornerPinRenderer,f as cropRenderer,g as curvesRenderer,h as deflickerRenderer,i as displacementMapRenderer,la as effectFactories,H as effectMeta,j as filmGrainRenderer,k as flipRenderer,l as gradientMapRenderer,m as halftoneScreenRenderer,n as highPassRenderer,o as kenBurnsRenderer,p as layerStyleRenderer,q as levelsRenderer,r as liquifyRenderer,s as maskMathRenderer,t as meshWarpRenderer,u as modulateRenderer,v as paintRenderer,w as patchHealRenderer,x as refineEdgeRenderer,y as refractionCausticsRenderer,z as relight3dRenderer,A as rotateRenderer,B as selectiveColorRenderer,C as shadowsHighlightsRenderer,D as tileOffsetRenderer,E as unsharpMaskRenderer,F as vignetteRenderer,G as visionRenderer};
@@ -1 +1 @@
1
- import{a}from"./chunk-N4OG2BHX.mjs";import"./chunk-ATLWPS6N.mjs";import"./chunk-LQENNFBA.mjs";import"./chunk-4GEWSUX5.mjs";import"./chunk-MTJHQATU.mjs";import"./chunk-IQC2I5A5.mjs";import"./chunk-IQKIHFNZ.mjs";import"./chunk-HYBAPT6I.mjs";import"./chunk-YAQFFQPG.mjs";import"./chunk-BVF64D6H.mjs";export{a as FontManager};
1
+ import{a}from"./chunk-3T4LB4ZH.mjs";import"./chunk-XN56POGE.mjs";import"./chunk-LQENNFBA.mjs";import"./chunk-4GEWSUX5.mjs";import"./chunk-MTJHQATU.mjs";import"./chunk-IQC2I5A5.mjs";import"./chunk-IQKIHFNZ.mjs";import"./chunk-YAQFFQPG.mjs";import"./chunk-BVF64D6H.mjs";export{a as FontManager};
@@ -1,4 +1,4 @@
1
- import{A as nb,B as ob,C as sb,D as ub,E as lb,F as cb,H as Sc,I as kc,J as _n,K as In,L as Tc,M as Pc,N as Mc,O as Cc,P as Nc,Q as Gr,R as Ac,a as Nl,b as Al,c as Y,d as Qe,e as Fl,f as Zg,g as Kg,h as Jg,i as Qg,j as eb,k as Rl,l as Bl,m as El,n as Ul,o as _l,p as Il,s as bc,t as to,u as ro,v as no,w as yc,x as xc,y as tb,z as rb}from"./chunk-5MSAA3DL.mjs";import{a as vc}from"./chunk-PIAJWALT.mjs";import{a as En,b as Ja}from"./chunk-PJ3DVG45.mjs";import{a as pc}from"./chunk-OCX5AD23.mjs";import{a as Qa,b as fc,d as gc,e as ib,f as ab}from"./chunk-3NXJVSZY.mjs";import{a as mc}from"./chunk-LKYN3BM2.mjs";import{a as Jl,b as Ql,c as ec,d as tc,e as rc,f as nc,g as ic,h as ac,i as oc,j as sc,k as uc,l as lc,m as cc,n as dc,o as eo}from"./chunk-RQLMW6MA.mjs";import{$ as hi,A as pd,B as fd,C as hd,D as gd,E as Zn,F as ct,G as Kn,H as Jn,I as Qn,J as ei,K as bd,L as ti,M as ri,N as ni,O as ii,P as ai,Q as oi,R as si,S as ui,T as li,U as ci,V as di,W as mi,X as pi,Y as ar,Z as dt,_ as fi,a as jc,aa as gi,b as Vc,c as Wc,d as Hc,e as Yc,f as Xc,g as qc,h as Zc,i as Kc,j as Jc,k as Xn,l as qn,m as Qc,n as ed,o as td,p as rd,q as nd,r as id,s as ad,t as od,u as sd,v as ud,w as ld,x as cd,y as dd,z as md}from"./chunk-6RSP766E.mjs";import"./chunk-GSFN4WCH.mjs";import"./chunk-5W4AFQP7.mjs";import"./chunk-OKH2VU2U.mjs";import{A as Xg,B as qg,C as io,D as Oc,E as Dc,F as $n,G as Lc,H as Fc,I as Rc,J as Bc,K as Ec,L as Uc,M as jn,N as _c,O as Vn,P as Wn,Q as Hn,R as ir,a as Ya,b as hh,c as gh,d as bh,e as yh,f as xh,g as Ah,h as Oh,i as Dh,j as Lh,k as Fh,l as Rh,m as Bh,n as Qh,o as eg,p as tg,q as rg,r as ng,s as ig,t as ag,u as og,v as sg,w as ug,x as yg,y as zg,z as Yg}from"./chunk-HCZCEOV5.mjs";import"./chunk-L3CHEZMZ.mjs";import"./chunk-E3HC4GRQ.mjs";import"./chunk-MOW55DX2.mjs";import"./chunk-7EPIRODI.mjs";import"./chunk-VXS5SIEC.mjs";import"./chunk-PAQNDZQB.mjs";import"./chunk-SZW5J72T.mjs";import"./chunk-PL4IH5V4.mjs";import"./chunk-WUKH7BD7.mjs";import"./chunk-YQZOGEPZ.mjs";import"./chunk-J2R5R7YY.mjs";import"./chunk-WSIURGP2.mjs";import"./chunk-WFGJXCZT.mjs";import"./chunk-RW2F3XLQ.mjs";import"./chunk-PXT52LEH.mjs";import"./chunk-FU7AIAMM.mjs";import"./chunk-OJ2PKBXE.mjs";import"./chunk-5AUB4Y3L.mjs";import"./chunk-SGPRLTNF.mjs";import{a as vh,b as wh}from"./chunk-YKMBRUAE.mjs";import"./chunk-WH5Q2NFN.mjs";import"./chunk-PEWYB6WP.mjs";import"./chunk-AXHB4J37.mjs";import"./chunk-RSMO7NPN.mjs";import{a as Gn,b as zn}from"./chunk-N4LHIPHZ.mjs";import"./chunk-LBRVQ4GE.mjs";import{a as $g,b as jg,c as Vg,d as Wg,e as Hg}from"./chunk-VXUJWPIK.mjs";import"./chunk-AXQZX3TC.mjs";import"./chunk-XOEEGC4Z.mjs";import"./chunk-IUPDOATX.mjs";import"./chunk-2MZXSWVT.mjs";import"./chunk-3UPI4EPV.mjs";import{i as Rn}from"./chunk-XKO4RYKN.mjs";import{a as Eg,b as Ug,c as Za,d as _g,e as Ig,f as Gg}from"./chunk-X6HUH6K4.mjs";import{a as Gl}from"./chunk-JAJOZG5P.mjs";import{a as Gc,b as zc,c as $c,d as Yn}from"./chunk-CURR5X7D.mjs";import"./chunk-O2RNIQXT.mjs";import"./chunk-FPRXK2WD.mjs";import"./chunk-VO2R3DWV.mjs";import"./chunk-Q2DPNVIA.mjs";import"./chunk-ZNL4W4DK.mjs";import"./chunk-NEE3KQTX.mjs";import"./chunk-K773AOF3.mjs";import"./chunk-ZH5MZQTZ.mjs";import"./chunk-GMGGDADT.mjs";import"./chunk-7J2FWGVD.mjs";import{a as Ic}from"./chunk-FJH5A2PV.mjs";import"./chunk-PFA427ZC.mjs";import{a as se}from"./chunk-FLPSWDX4.mjs";import{A as lg,B as cg,C as dg,D as mg,E as pg,F as fg,G as hg,H as gg,I as bg,a as o,c as Sh,d as kh,e as Th,f as Ph,g as Mh,h as Ch,i as Nh,j as Eh,k as Uh,l as _h,m as Ih,n as Gh,o as zh,p as $h,q as jh,r as Vh,s as Wh,t as Hh,u as Yh,v as Xh,w as qh,x as Zh,y as Kh,z as Jh}from"./chunk-NQZKBFC6.mjs";import"./chunk-ENKKLU7B.mjs";import{a as Ka,c as Ll}from"./chunk-VUFDQJ2B.mjs";import"./chunk-PR2BUYCL.mjs";import{b as wc}from"./chunk-2W4BMOAZ.mjs";import{a as Ol}from"./chunk-37EFVZWT.mjs";import"./chunk-4VOHF3FF.mjs";import{a as xg,b as vg,c as wg,d as Sg,e as kg,f as Tg,g as Pg,h as Xa,i as Mg,j as qa,k as Cg,l as Ng,m as Ag}from"./chunk-24P6DAB3.mjs";import{e as Bn}from"./chunk-XETMNJVV.mjs";import"./chunk-Q4Z54DQ7.mjs";import{d as Dl}from"./chunk-6YJP57MZ.mjs";import{a as Dt,b as nh,c as ih,d as ah,e as oh,f as sh,g as uh,h as lh,i as Sl,j as kl,k as ch,l as dh,m as mh,n as ph,o as fh,p as Tl,q as Pl,r as Ml,s as Cl}from"./chunk-63SFBHEH.mjs";import{a as lt}from"./chunk-N4OG2BHX.mjs";import"./chunk-ATLWPS6N.mjs";import{e as Lt,f as zl,g as $l,h as jl,i as Vl,j as Wl,k as Hl,l as Yl,m as Xl,n as ql,o as Zl,p as Kl,s as Un,v as hc}from"./chunk-LQENNFBA.mjs";import{m as nr}from"./chunk-4GEWSUX5.mjs";import{r as he}from"./chunk-MTJHQATU.mjs";import"./chunk-IQC2I5A5.mjs";import{a as Og,b as Dg,c as Ln,d as Lg,e as Fg,f as Rg,g as Bg,h as Fn}from"./chunk-IQKIHFNZ.mjs";import"./chunk-HYBAPT6I.mjs";import{o as z}from"./chunk-YAQFFQPG.mjs";import{a as _r,b as Ir}from"./chunk-ZEYUXJIV.mjs";import{a as Ha,c as rr,d as x,e as h}from"./chunk-BVF64D6H.mjs";var Yu=Ha((ck,Hu)=>{h();var Sn=()=>new Proxy(function(){},{get:(e,t)=>t==="__esModule"?!0:t===Symbol.toPrimitive?()=>"":Sn(),apply:()=>Sn(),construct:()=>Sn()});Hu.exports=Sn()});var Ju=Ha((Bk,Ku)=>{h();var Cn=()=>new Proxy(function(){},{get:(e,t)=>t==="__esModule"?!0:t===Symbol.toPrimitive?()=>"":Cn(),apply:()=>Cn(),construct:()=>Cn()});Ku.exports=Cn()});h();h();var bi=class e{samples=[];frames=[];totalLength=0;constructor(t){if(t.length<2)throw new Error("Path3D requires at least 2 coordinate samples");this.samples=t,this.totalLength=t[t.length-1].distance,this.computeRotationMinimizingFrames()}computeRotationMinimizingFrames(){let t=this.samples.length;this.frames=new Array(t);let r=this.samples[0].tangent,n=[0,-1,0];Math.abs(Y.dot(r,n))>.95&&(n=[0,0,1]);let i=Y.normalize(Y.subtract(n,Y.multiplyScalar(r,Y.dot(n,r))));Y.lengthSq(i)<1e-4&&(i=[1,0,0]);let a=Y.normalize(Y.cross(r,i));this.frames[0]={normal:i,binormal:a,rotation:this.eulerFromFrame(r,i,a)};for(let s=0;s<t-1;s++){let u=this.samples[s].position,c=this.samples[s+1].position,l=this.samples[s].tangent,m=this.samples[s+1].tangent,d=this.frames[s].normal,p=Y.subtract(c,u),f=Y.dot(p,p),y;if(f>1e-8){let b=Y.subtract(l,Y.multiplyScalar(p,2*Y.dot(p,l)/f)),P=Y.subtract(d,Y.multiplyScalar(p,2*Y.dot(p,d)/f)),N=Y.subtract(m,b),M=Y.dot(N,N);M>1e-8?y=Y.subtract(P,Y.multiplyScalar(N,2*Y.dot(N,P)/M)):y=P}else y=d;y=Y.normalize(Y.subtract(y,Y.multiplyScalar(m,Y.dot(m,y))));let g=Y.normalize(Y.cross(m,y));this.frames[s+1]={normal:y,binormal:g,rotation:this.eulerFromFrame(m,y,g)}}}eulerFromFrame(t,r,n){let i=Math.asin(Math.max(-1,Math.min(1,-t[1])))*(180/Math.PI),a=Math.atan2(t[0],t[2])*(180/Math.PI),s=Math.atan2(r[0],r[1])*(180/Math.PI);return[i,a,s]}getPointAt(t){let n=Math.max(0,Math.min(1,t))*this.totalLength;return this.getPointAtDistance(n)}getPointAtDistance(t){let r=Math.max(0,Math.min(this.totalLength,t)),n=this.samples.length,i=0,a=n-1;for(;i<a;){let M=i+a>>1;this.samples[M].distance<r?i=M+1:a=M}let s=Math.max(1,i),u=s-1,c=this.samples[u],l=this.samples[s],m=l.distance-c.distance,d=m>1e-6?(r-c.distance)/m:0,p=Y.lerp(c.position,l.position,d),f=Y.normalize(Y.lerp(c.tangent,l.tangent,d)),y=this.frames[u],g=this.frames[s],b=Y.normalize(Y.lerp(y.normal,g.normal,d)),P=Y.normalize(Y.cross(f,b)),N=[y.rotation[0]+(g.rotation[0]-y.rotation[0])*d,y.rotation[1]+(g.rotation[1]-y.rotation[1])*d,y.rotation[2]+(g.rotation[2]-y.rotation[2])*d];return{position:p,tangent:f,normal:b,binormal:P,distance:r,t:this.totalLength>0?r/this.totalLength:0,rotation:N}}static catmullRom(t,r={}){if(t.length<2)throw new Error("Catmull-Rom spline requires at least 2 waypoints");let n=!!r.closed,i=r.samplesPerSegment??40,a=[];if(n)a.push(t[t.length-1]),a.push(...t),a.push(t[0]),a.push(t[1]);else{let c=t[0],l=t[1],m=t[t.length-1],d=t[t.length-2];a.push(Y.subtract(c,Y.subtract(l,c))),a.push(...t),a.push(Y.add(m,Y.subtract(m,d)))}let s=n?t.length:t.length-1,u=[];for(let c=0;c<s;c++){let l=a[c],m=a[c+1],d=a[c+2],p=a[c+3],f=c===s-1?i:i-1;for(let y=0;y<=f;y++){let g=y/i,b=g*g,P=b*g,N=-.5*P+b-.5*g,M=1.5*P-2.5*b+1,k=-1.5*P+2*b+.5*g,A=.5*P-.5*b,v=[N*l[0]+M*m[0]+k*d[0]+A*p[0],N*l[1]+M*m[1]+k*d[1]+A*p[1],N*l[2]+M*m[2]+k*d[2]+A*p[2]],R=-1.5*b+2*g-.5,G=4.5*b-5*g,Z=-4.5*b+4*g+.5,te=1.5*b-1*g,ae=[R*l[0]+G*m[0]+Z*d[0]+te*p[0],R*l[1]+G*m[1]+Z*d[1]+te*p[1],R*l[2]+G*m[2]+Z*d[2]+te*p[2]],E=Y.normalize(ae);u.push({position:v,tangent:E})}}return e.fromRawSamples(u)}static fromRawSamples(t){let r=0,n=t.map((i,a)=>(a>0&&(r+=Y.distance(i.position,t[a-1].position)),{position:i.position,tangent:i.tangent,distance:r}));if(n.length===0)throw new TypeError("Path3D needs samples");return new e(n)}static bezier(t,r=50){if(t.length===0)throw new Error("Bezier path requires at least 1 segment");let n=[];for(let i=0;i<t.length;i++){let a=t[i],s=i===t.length-1?r:r-1;for(let u=0;u<=s;u++){let c=u/r,l=1-c,m=l*l,d=m*l,p=c*c,f=p*c,y=[d*a.p0[0]+3*m*c*a.p1[0]+3*l*p*a.p2[0]+f*a.p3[0],d*a.p0[1]+3*m*c*a.p1[1]+3*l*p*a.p2[1]+f*a.p3[1],d*a.p0[2]+3*m*c*a.p1[2]+3*l*p*a.p2[2]+f*a.p3[2]],g=[3*m*(a.p1[0]-a.p0[0])+6*l*c*(a.p2[0]-a.p1[0])+3*p*(a.p3[0]-a.p2[0]),3*m*(a.p1[1]-a.p0[1])+6*l*c*(a.p2[1]-a.p1[1])+3*p*(a.p3[1]-a.p2[1]),3*m*(a.p1[2]-a.p0[2])+6*l*c*(a.p2[2]-a.p1[2])+3*p*(a.p3[2]-a.p2[2])],b=Y.normalize(g);n.push({position:y,tangent:b})}}return e.fromRawSamples(n)}static helix(t){let{center:r,radius:n,pitch:i,turns:a,axis:s="z",samplesPerTurn:u=60}=t,c=Math.max(10,Math.round(a*u)),l=[];for(let m=0;m<=c;m++){let d=m/c,p=d*a*Math.PI*2,f=(d-.5)*i*a,y=Math.cos(p),g=Math.sin(p),b,P;s==="z"?(b=[r[0]+n*y,r[1]+n*g,r[2]+f],P=[-n*g,n*y,i*a/(a*Math.PI*2)]):s==="y"?(b=[r[0]+n*y,r[1]+f,r[2]+n*g],P=[-n*g,i*a/(a*Math.PI*2),n*y]):(b=[r[0]+f,r[1]+n*y,r[2]+n*g],P=[i*a/(a*Math.PI*2),-n*g,n*y]),l.push({position:b,tangent:Y.normalize(P)})}return e.fromRawSamples(l)}static circle(t){let{center:r,radius:n,startAngleDeg:i=0,endAngleDeg:a=360,samples:s=128}=t,u=i*Math.PI/180,c=a*Math.PI/180,l=[];for(let m=0;m<=s;m++){let d=u+(c-u)*(m/s),p=Math.cos(d),f=Math.sin(d),y=[r[0]+n*p,r[1],r[2]+n*f],g=[-n*f,0,n*p];l.push({position:y,tangent:Y.normalize(g)})}return e.fromRawSamples(l)}};h();var yi=class e{name;props={};selectors=[];constructor(t){this.name=t}static create(t){return new e(t)}skew(t,r=0){return this.props.skew=t,this.props.skewAxis=r,this}anchor(t,r="character",n=0,i=0){return this.props.anchor={grouping:r,preset:t,anchorX:.5,anchorY:.5,offsetX:n,offsetY:i},this}anchorNormalized(t,r,n="character"){return this.props.anchor={grouping:n,preset:"custom",anchorX:t,anchorY:r,offsetX:0,offsetY:0},this}translateZ(t){return this.props.translateZ=t,this}tilt3D(t=0,r=0,n=0){return this.props.rotationX=t,this.props.rotationY=r,this.props.rotationZ=n,this}rotationX(t){return this.props.rotationX=t,this}rotationY(t){return this.props.rotationY=t,this}rotationZ(t){return this.props.rotationZ=t,this}volumetricFormation(t="cylinder",r=300,n=120,i=360,a=1200,s="y"){return this.props.formation={mode:t,radius:r,pitch:n,totalAngle:i,perspective:a,axis:s},this}lineSpacing(t,r=0){return this.props.lineSpacing=t,this.props.lineAnchor=r,this}lineAnchor(t){return this.props.lineAnchor=t,this}spring(t=180,r=12,n=1,i=0){return this.props.spring={stiffness:t,damping:r,mass:n,initialVelocity:i,overshootMultiplier:1},this}stroke(t,r="#ffffff",n=1){return this.props.stroke={strokeWidth:t,strokeColor:r,strokeAlign:"center",fillOpacity:n,dashOffset:0},this}variableFont(t){return this.props.variableAxes=t,this}chromaticGlitch(t,r=0,n=-t,i=0){return this.props.chromaticGlitch={redShiftX:t,redShiftY:r,blueShiftX:n,blueShiftY:i,sliceProbability:0,sliceAmplitude:0},this}audioSpectrum(t,r=60,n=16e3,i=2.5){return this.props.audioSpectrum={signalChannel:t,minFreqHz:r,maxFreqHz:n,scaleAxis:"scaleY",minScale:.2,maxScale:i,peakDecay:.8},this}longShadow(t=45,r=40,n="#000000",i=.8,a=0,s=16){return this.props.longShadow={angle:t,length:r,color:n,startOpacity:i,endOpacity:a,steps:s},this}particleDissolve(t=0,r=90,n=120){return this.props.particleDissolve={progress:t,dispersalAngle:r,maxDisplacement:n,turbulence:.5,particleSize:2},this}addExpressionSelector(t,r="add"){return this.selectors.push({type:"expression",expression:t,mode:r,amount:1}),this}expressionSelector(t,r="add"){return this.addExpressionSelector(t,r)}x(t){return this.props.x=t,this}y(t){return this.props.y=t,this}scale(t){return this.props.scale=t,this}scaleX(t){return this.props.scaleX=t,this}scaleY(t){return this.props.scaleY=t,this}rotation(t){return this.props.rotation=t,this}opacity(t){return this.props.opacity=t,this}blur(t){return this.props.blur=t,this}fillColor(t){return this.props.fillColor=t,this}build(){return{name:this.name,selectors:this.selectors,props:this.props}}};h();var ao=o.enum(["character","word","line","all"]),oo=o.enum(["center","baseline","bottom_left","bottom_center","bottom_right","top_left","top_center","top_right","custom"]),so=o.object({grouping:ao.default("character"),preset:oo.default("center"),anchorX:o.number().default(.5),anchorY:o.number().default(.5),offsetX:o.number().default(0),offsetY:o.number().default(0)}),yd=o.object({skew:o.number().min(-90).max(90),skewAxis:o.number().default(0)}),xd=o.object({lineSpacing:o.number(),lineAnchor:o.number().min(0).max(1).default(0)}),uo=o.enum(["planar","vortex","cylinder","helix"]),xi=o.object({mode:uo.default("planar"),radius:o.number().default(300),pitch:o.number().default(120),totalAngle:o.number().default(360),axis:o.enum(["x","y","z"]).default("y"),perspective:o.number().positive().default(1200)}),vd=o.object({translateZ:o.number().optional(),rotationX:o.number().optional(),rotationY:o.number().optional(),rotationZ:o.number().optional(),formation:xi.optional()}),lo=o.object({stiffness:o.number().positive().default(180),damping:o.number().positive().default(12),mass:o.number().positive().default(1),initialVelocity:o.number().default(0),overshootMultiplier:o.number().min(.5).max(3).default(1)}),wd=o.object({type:o.literal("expression"),name:o.string().optional(),expression:o.string(),mode:o.enum(["add","subtract","intersect","min","max","difference"]).default("add"),amount:o.number().default(1)}),co=o.object({strokeWidth:o.number().min(0).default(0),strokeColor:o.string().default("#ffffff"),strokeAlign:o.enum(["center","inside","outside"]).default("center"),fillOpacity:o.number().min(0).max(1).default(1),dashArray:o.tuple([o.number(),o.number()]).optional(),dashOffset:o.number().default(0)}),vi=o.object({direction:o.enum(["left","right","up","down"]).default("left"),velocity:o.number().default(120),loop:o.boolean().default(!0),repeatGap:o.number().default(80),snap:o.object({enabled:o.boolean().default(!1),granularity:o.enum(["character","word","line"]).default("word"),stopIndex:o.number().default(0),decelEase:o.string().default("cubic.out")}).optional()}),mo=o.object({weight:o.number().min(100).max(1e3).optional(),width:o.number().min(50).max(200).optional(),slant:o.number().min(-25).max(25).optional(),italic:o.number().min(0).max(1).optional(),opticalSize:o.number().min(6).max(144).optional()}),po=o.object({redShiftX:o.number().default(0),redShiftY:o.number().default(0),blueShiftX:o.number().default(0),blueShiftY:o.number().default(0),sliceProbability:o.number().min(0).max(1).default(0),sliceAmplitude:o.number().default(0)}),fo=o.object({signalChannel:o.string(),minFreqHz:o.number().default(60),maxFreqHz:o.number().default(16e3),scaleAxis:o.enum(["scaleY","scaleX","scale","y"]).default("scaleY"),minScale:o.number().default(.2),maxScale:o.number().default(2.5),peakDecay:o.number().min(0).max(.99).default(.8)}),ho=o.object({angle:o.number().default(45),length:o.number().min(0).default(0),color:o.string().default("#000000"),startOpacity:o.number().min(0).max(1).default(.8),endOpacity:o.number().min(0).max(1).default(0),steps:o.number().int().min(4).max(64).default(16)}),go=o.object({progress:o.number().min(0).max(1).default(0),dispersalAngle:o.number().default(90),maxDisplacement:o.number().default(120),turbulence:o.number().default(.5),particleSize:o.number().default(2)}),bo=o.object({x:o.number().optional(),y:o.number().optional(),translateZ:o.number().optional(),scale:o.number().optional(),scaleX:o.number().optional(),scaleY:o.number().optional(),rotation:o.number().optional(),rotationX:o.number().optional(),rotationY:o.number().optional(),rotationZ:o.number().optional(),formation:xi.optional(),skew:o.number().optional(),skewAxis:o.number().optional(),tracking:o.number().optional(),lineSpacing:o.number().optional(),lineAnchor:o.number().optional(),anchor:so.optional(),opacity:o.number().optional(),blur:o.number().optional(),fillColor:o.string().optional(),stroke:co.optional(),variableAxes:mo.optional(),chromaticGlitch:po.optional(),longShadow:ho.optional(),particleDissolve:go.optional(),audioSpectrum:fo.optional(),spring:lo.optional()}),wi=o.object({name:o.string().default("AdvancedAnimator"),selectors:o.array(o.record(o.string(),o.unknown())).default([]),props:bo});h();h();var or=o.object({x:o.number(),y:o.number()}),yo=o.object({p0:or,p1:or,p2:or,p3:or}),xo=o.discriminatedUnion("type",[o.object({type:o.literal("svg"),d:o.string().min(1,"SVG path string cannot be empty")}),o.object({type:o.literal("bezier"),segments:o.array(yo).min(1)}),o.object({type:o.literal("ellipse"),cx:o.number(),cy:o.number(),rx:o.number().positive(),ry:o.number().positive(),startAngleDeg:o.number().default(0),endAngleDeg:o.number().default(360)}),o.object({type:o.literal("wave"),startX:o.number(),startY:o.number(),length:o.number().positive(),amplitude:o.number(),frequency:o.number().positive(),phaseDeg:o.number().default(0)})]),Ft=o.object({path:xo,firstMargin:o.number().default(0),lastMargin:o.number().default(0),reversePath:o.boolean().default(!1),perpendicularToPath:o.boolean().default(!0),forceAlignment:o.boolean().default(!1),loop:o.boolean().default(!1),baselineOffset:o.enum(["baseline","center","ascender","descender"]).default("baseline"),baselineShift:o.number().default(0)}),vo=o.enum(["bar","underscore","block","custom"]),wo=o.object({enabled:o.boolean().default(!0),style:vo.default("bar"),customChar:o.string().default("|"),color:o.string().optional(),blinkFrequency:o.number().min(0).default(2),hideOnComplete:o.boolean().default(!1),width:o.number().positive().default(2.5),spacing:o.number().default(3)}),So=o.discriminatedUnion("mode",[o.object({mode:o.literal("constant")}),o.object({mode:o.literal("human"),jitter:o.number().min(0).max(1).default(.35),commaPauseMultiplier:o.number().min(1).default(3),sentencePauseMultiplier:o.number().min(1).default(5.5),paragraphPauseMultiplier:o.number().min(1).default(7)})]),ko=o.object({enabled:o.boolean().default(!1),charset:o.enum(["ascii","alphanumeric","matrix","binary","hex","custom"]).default("alphanumeric"),customCharset:o.string().optional(),scrambleFramesPerChar:o.number().int().min(1).default(8),highlightProbability:o.number().min(0).max(1).default(.25),scrambleColor:o.string().optional()}),zr=o.object({granularity:o.enum(["character","word","line"]).default("character"),cursor:wo.default({enabled:!0,style:"bar",customChar:"|",blinkFrequency:2,hideOnComplete:!1,width:2.5,spacing:3}),cadence:So.default({mode:"human",jitter:.35,commaPauseMultiplier:3,sentencePauseMultiplier:5.5,paragraphPauseMultiplier:7}),scramble:ko.default({enabled:!1,charset:"alphanumeric",scrambleFramesPerChar:8,highlightProbability:.25}),soundSync:o.boolean().default(!1)}),$r=o.enum(["characters","characters_excluding_spaces","words","lines"]),To=o.enum(["percentage","index"]),Po=o.enum(["square","ramp_up","ramp_down","triangle","round","smooth"]),jr=o.enum(["add","subtract","intersect","min","max","difference"]),Mo=o.object({type:o.literal("range"),start:o.number().default(0),end:o.number().default(1),offset:o.number().default(0),units:To.default("percentage"),basedOn:$r.default("characters"),shape:Po.default("square"),mode:jr.default("add"),amount:o.number().min(-1).max(1).default(1),easeHigh:o.number().min(-1).max(1).default(0),easeLow:o.number().min(-1).max(1).default(0),randomizeOrder:o.boolean().default(!1),randomSeed:o.number().int().default(12345)}),Co=o.object({type:o.literal("wiggly"),wigglesPerSecond:o.number().positive().default(2),correlation:o.number().min(0).max(1).default(.5),temporalPhaseDeg:o.number().default(0),spatialPhaseDeg:o.number().default(0),minAmount:o.number().min(-1).max(1).default(-1),maxAmount:o.number().min(-1).max(1).default(1),randomSeed:o.number().int().default(42),basedOn:$r.default("characters"),mode:jr.default("intersect")}),No=o.object({type:o.literal("signal"),signalId:o.string(),multiplier:o.number().default(1),offset:o.number().default(0),phaseSpread:o.number().default(0),basedOn:$r.default("characters"),mode:jr.default("add")}),Ao=o.discriminatedUnion("type",[Mo,Co,No]),Oo=o.object({x:o.number().optional(),y:o.number().optional(),z:o.number().optional(),scale:o.number().optional(),scaleX:o.number().optional(),scaleY:o.number().optional(),rotation:o.number().optional(),rotationX:o.number().optional(),rotationY:o.number().optional(),skew:o.number().optional(),skewAxis:o.number().optional(),tracking:o.number().optional(),lineSpacing:o.number().optional(),opacity:o.number().min(0).max(1).optional(),fillColor:o.string().optional(),strokeColor:o.string().optional(),strokeWidth:o.number().min(0).optional(),blur:o.number().min(0).optional(),characterOffset:o.number().int().optional()}),Do=o.enum(["character","word","line","all"]),Lo=o.object({grouping:Do.default("character"),anchorX:o.number().default(.5),anchorY:o.number().default(.8)}),Rt=o.object({name:o.string().default("Animator"),selectors:o.array(Ao).min(1),props:Oo,anchor:Lo.default({grouping:"character",anchorX:.5,anchorY:.8})}),Sd=o.object({text:o.string(),fontFamily:o.string().default("Inter"),fontSize:o.number().positive().default(24),fontWeight:o.union([o.number(),o.string()]).default(400),fill:o.string().default("#ffffff"),letterSpacing:o.number().default(0),lineHeight:o.number().positive().default(1.2),textAlign:o.enum(["left","center","right"]).default("left"),pathOptions:Ft.optional(),typewriter:zr.optional(),animators:o.array(Rt).default([])});var Si=class e{options={firstMargin:0,lastMargin:0,reversePath:!1,perpendicularToPath:!0,forceAlignment:!1,loop:!1,baselineOffset:"baseline",baselineShift:0};static fromSvg(t){let r=new e;return r.options.path={type:"svg",d:t},r}static fromBezier(t){let r=new e;return r.options.path={type:"bezier",segments:t},r}static fromCurve(t){return e.fromBezier([t])}static circularBadge(t,r,n){let i=new e;return i.options.path={type:"ellipse",cx:t,cy:r,rx:n,ry:n,startAngleDeg:0,endAngleDeg:360},i.options.loop=!0,i}static ellipse(t,r,n,i,a=0,s=360){let u=new e;return u.options.path={type:"ellipse",cx:t,cy:r,rx:n,ry:i,startAngleDeg:a,endAngleDeg:s},u.options.loop=Math.abs(s-a)>=360,u}static wave(t,r,n,i,a,s=0){let u=new e;return u.options.path={type:"wave",startX:t,startY:r,length:n,amplitude:i,frequency:a,phaseDeg:s},u}firstMargin(t){return this.options.firstMargin=t,this}lastMargin(t){return this.options.lastMargin=t,this}reversePath(t){return this.options.reversePath=t,this}perpendicularToPath(t){return this.options.perpendicularToPath=t,this}forceAlignment(t){return this.options.forceAlignment=t,this}loop(t){return this.options.loop=t,this}baselineOffset(t){return this.options.baselineOffset=t,this}baselineShift(t){return this.options.baselineShift=t,this}build(){return Ft.parse(this.options)}},ki=class e{name="Animator";selectors=[];props={};anchor={grouping:"character",anchorX:.5,anchorY:.8};static create(t){let r=new e;return r.name=t,r}addRangeSelector(t){let r=t.easeHigh??0,n=Math.abs(r)>1?r/100:r,i=t.easeLow??0,a=Math.abs(i)>1?i/100:i;return this.selectors.push({type:"range",start:t.start??0,end:t.end??1,offset:t.offset??0,units:"percentage",basedOn:t.basedOn??"characters",shape:t.shape??"smooth",mode:t.mode??"add",amount:1,easeHigh:Math.max(-1,Math.min(1,n)),easeLow:Math.max(-1,Math.min(1,a)),randomizeOrder:t.randomizeOrder??!1,randomSeed:t.randomSeed??12345}),this}addWigglySelector(t){return this.selectors.push({type:"wiggly",wigglesPerSecond:t.wigglesPerSecond??2,correlation:t.correlation??.5,temporalPhaseDeg:0,spatialPhaseDeg:0,minAmount:t.minAmount??-1,maxAmount:t.maxAmount??1,randomSeed:t.randomSeed??42,basedOn:"characters",mode:t.mode??"intersect"}),this}addSignalSelector(t,r=1,n=0,i=0,a="add"){return this.selectors.push({type:"signal",signalId:t,multiplier:r,offset:i,phaseSpread:n,basedOn:"characters",mode:a}),this}x(t){return this.props.x=t,this}y(t){return this.props.y=t,this}z(t){return this.props.z=t,this}scale(t){return this.props.scale=t,this}scaleX(t){return this.props.scaleX=t,this}scaleY(t){return this.props.scaleY=t,this}rotation(t){return this.props.rotation=t,this}rotationX(t){return this.props.rotationX=t,this}rotationY(t){return this.props.rotationY=t,this}skew(t){return this.props.skew=t,this}skewAxis(t){return this.props.skewAxis=t,this}opacity(t){return this.props.opacity=t,this}blur(t){return this.props.blur=t,this}fill(t){return this.fillColor(t)}fillColor(t){return this.props.fillColor=t,this}strokeColor(t){return this.props.strokeColor=t,this}strokeWidth(t){return this.props.strokeWidth=t,this}tracking(t){return this.props.tracking=t,this}lineSpacing(t){return this.props.lineSpacing=t,this}characterOffset(t){return this.props.characterOffset=t,this}anchorGrouping(t,r=.5,n=.8){return this.anchor={grouping:t,anchorX:r,anchorY:n},this}build(){return Rt.parse({name:this.name,selectors:this.selectors,props:this.props,anchor:this.anchor})}};h();h();var Fo=`
1
+ import{A as nb,B as ob,C as sb,D as ub,E as lb,F as cb,H as Sc,I as kc,J as _n,K as In,L as Tc,M as Pc,N as Mc,O as Cc,P as Nc,Q as Gr,R as Ac,a as Nl,b as Al,c as Y,d as Qe,e as Fl,f as Zg,g as Kg,h as Jg,i as Qg,j as eb,k as Rl,l as Bl,m as El,n as Ul,o as _l,p as Il,s as bc,t as to,u as ro,v as no,w as yc,x as xc,y as tb,z as rb}from"./chunk-KBO6EX3M.mjs";import{a as vc}from"./chunk-PIAJWALT.mjs";import{a as En,b as Ja}from"./chunk-PJ3DVG45.mjs";import{a as pc}from"./chunk-OCX5AD23.mjs";import{a as Qa,b as fc,d as gc,e as ib,f as ab}from"./chunk-ZTHWCQ2A.mjs";import{a as mc}from"./chunk-LKYN3BM2.mjs";import{a as Jl,b as Ql,c as ec,d as tc,e as rc,f as nc,g as ic,h as ac,i as oc,j as sc,k as uc,l as lc,m as cc,n as dc,o as eo}from"./chunk-RQLMW6MA.mjs";import{$ as hi,A as pd,B as fd,C as hd,D as gd,E as Zn,F as ct,G as Kn,H as Jn,I as Qn,J as ei,K as bd,L as ti,M as ri,N as ni,O as ii,P as ai,Q as oi,R as si,S as ui,T as li,U as ci,V as di,W as mi,X as pi,Y as ar,Z as dt,_ as fi,a as jc,aa as gi,b as Vc,c as Wc,d as Hc,e as Yc,f as Xc,g as qc,h as Zc,i as Kc,j as Jc,k as Xn,l as qn,m as Qc,n as ed,o as td,p as rd,q as nd,r as id,s as ad,t as od,u as sd,v as ud,w as ld,x as cd,y as dd,z as md}from"./chunk-HVCAOHNI.mjs";import"./chunk-GSFN4WCH.mjs";import"./chunk-5W4AFQP7.mjs";import"./chunk-OKH2VU2U.mjs";import{A as Xg,B as qg,C as io,D as Oc,E as Dc,F as $n,G as Lc,H as Fc,I as Rc,J as Bc,K as Ec,L as Uc,M as jn,N as _c,O as Vn,P as Wn,Q as Hn,R as ir,a as Ya,b as hh,c as gh,d as bh,e as yh,f as xh,g as Ah,h as Oh,i as Dh,j as Lh,k as Fh,l as Rh,m as Bh,n as Qh,o as eg,p as tg,q as rg,r as ng,s as ig,t as ag,u as og,v as sg,w as ug,x as yg,y as zg,z as Yg}from"./chunk-NECOKNHA.mjs";import"./chunk-L3CHEZMZ.mjs";import"./chunk-E3HC4GRQ.mjs";import"./chunk-QXCY2ATH.mjs";import"./chunk-7EPIRODI.mjs";import"./chunk-VXS5SIEC.mjs";import"./chunk-PAQNDZQB.mjs";import"./chunk-SZW5J72T.mjs";import"./chunk-PL4IH5V4.mjs";import"./chunk-WUKH7BD7.mjs";import"./chunk-YQZOGEPZ.mjs";import"./chunk-J2R5R7YY.mjs";import"./chunk-WSIURGP2.mjs";import"./chunk-WFGJXCZT.mjs";import"./chunk-RW2F3XLQ.mjs";import"./chunk-PXT52LEH.mjs";import"./chunk-FU7AIAMM.mjs";import"./chunk-OJ2PKBXE.mjs";import"./chunk-5AUB4Y3L.mjs";import"./chunk-SGPRLTNF.mjs";import{a as vh,b as wh}from"./chunk-YKMBRUAE.mjs";import"./chunk-WH5Q2NFN.mjs";import"./chunk-PEWYB6WP.mjs";import"./chunk-AXHB4J37.mjs";import"./chunk-RSMO7NPN.mjs";import{a as Gn,b as zn}from"./chunk-N4LHIPHZ.mjs";import"./chunk-LBRVQ4GE.mjs";import{a as $g,b as jg,c as Vg,d as Wg,e as Hg}from"./chunk-VXUJWPIK.mjs";import"./chunk-AXQZX3TC.mjs";import"./chunk-XOEEGC4Z.mjs";import"./chunk-IUPDOATX.mjs";import"./chunk-2MZXSWVT.mjs";import"./chunk-3UPI4EPV.mjs";import{i as Rn}from"./chunk-XKO4RYKN.mjs";import{a as Eg,b as Ug,c as Za,d as _g,e as Ig,f as Gg}from"./chunk-X6HUH6K4.mjs";import{a as Gl}from"./chunk-JAJOZG5P.mjs";import{a as Gc,b as zc,c as $c,d as Yn}from"./chunk-CURR5X7D.mjs";import"./chunk-O2RNIQXT.mjs";import"./chunk-FPRXK2WD.mjs";import"./chunk-VO2R3DWV.mjs";import"./chunk-Q2DPNVIA.mjs";import"./chunk-ZNL4W4DK.mjs";import"./chunk-NEE3KQTX.mjs";import"./chunk-K773AOF3.mjs";import"./chunk-ZH5MZQTZ.mjs";import"./chunk-GMGGDADT.mjs";import"./chunk-7J2FWGVD.mjs";import{a as Ic}from"./chunk-7B5S5D4N.mjs";import"./chunk-PFA427ZC.mjs";import{a as se}from"./chunk-FLPSWDX4.mjs";import{A as lg,B as cg,C as dg,D as mg,E as pg,F as fg,G as hg,H as gg,I as bg,a as o,c as Sh,d as kh,e as Th,f as Ph,g as Mh,h as Ch,i as Nh,j as Eh,k as Uh,l as _h,m as Ih,n as Gh,o as zh,p as $h,q as jh,r as Vh,s as Wh,t as Hh,u as Yh,v as Xh,w as qh,x as Zh,y as Kh,z as Jh}from"./chunk-NQZKBFC6.mjs";import"./chunk-ENKKLU7B.mjs";import{a as Ka,c as Ll}from"./chunk-VUFDQJ2B.mjs";import"./chunk-PR2BUYCL.mjs";import{b as wc}from"./chunk-G4K6TLNA.mjs";import{a as Ol}from"./chunk-37EFVZWT.mjs";import"./chunk-2SJ4BBMT.mjs";import{a as xg,b as vg,c as wg,d as Sg,e as kg,f as Tg,g as Pg,h as Xa,i as Mg,j as qa,k as Cg,l as Ng,m as Ag}from"./chunk-24P6DAB3.mjs";import{e as Bn}from"./chunk-NIRW77QA.mjs";import"./chunk-Q4Z54DQ7.mjs";import{d as Dl}from"./chunk-6YJP57MZ.mjs";import{a as Dt,b as nh,c as ih,d as ah,e as oh,f as sh,g as uh,h as lh,i as Sl,j as kl,k as ch,l as dh,m as mh,n as ph,o as fh,p as Tl,q as Pl,r as Ml,s as Cl}from"./chunk-63SFBHEH.mjs";import{a as lt}from"./chunk-3T4LB4ZH.mjs";import"./chunk-XN56POGE.mjs";import{e as Lt,f as zl,g as $l,h as jl,i as Vl,j as Wl,k as Hl,l as Yl,m as Xl,n as ql,o as Zl,p as Kl,s as Un,v as hc}from"./chunk-LQENNFBA.mjs";import{m as nr}from"./chunk-4GEWSUX5.mjs";import{r as he}from"./chunk-MTJHQATU.mjs";import"./chunk-IQC2I5A5.mjs";import{a as Og,b as Dg,c as Ln,d as Lg,e as Fg,f as Rg,g as Bg,h as Fn}from"./chunk-IQKIHFNZ.mjs";import{o as z}from"./chunk-YAQFFQPG.mjs";import{a as _r,b as Ir}from"./chunk-ZEYUXJIV.mjs";import{a as Ha,c as rr,d as x,e as h}from"./chunk-BVF64D6H.mjs";var Yu=Ha((ck,Hu)=>{h();var Sn=()=>new Proxy(function(){},{get:(e,t)=>t==="__esModule"?!0:t===Symbol.toPrimitive?()=>"":Sn(),apply:()=>Sn(),construct:()=>Sn()});Hu.exports=Sn()});var Ju=Ha((Bk,Ku)=>{h();var Cn=()=>new Proxy(function(){},{get:(e,t)=>t==="__esModule"?!0:t===Symbol.toPrimitive?()=>"":Cn(),apply:()=>Cn(),construct:()=>Cn()});Ku.exports=Cn()});h();h();var bi=class e{samples=[];frames=[];totalLength=0;constructor(t){if(t.length<2)throw new Error("Path3D requires at least 2 coordinate samples");this.samples=t,this.totalLength=t[t.length-1].distance,this.computeRotationMinimizingFrames()}computeRotationMinimizingFrames(){let t=this.samples.length;this.frames=new Array(t);let r=this.samples[0].tangent,n=[0,-1,0];Math.abs(Y.dot(r,n))>.95&&(n=[0,0,1]);let i=Y.normalize(Y.subtract(n,Y.multiplyScalar(r,Y.dot(n,r))));Y.lengthSq(i)<1e-4&&(i=[1,0,0]);let a=Y.normalize(Y.cross(r,i));this.frames[0]={normal:i,binormal:a,rotation:this.eulerFromFrame(r,i,a)};for(let s=0;s<t-1;s++){let u=this.samples[s].position,c=this.samples[s+1].position,l=this.samples[s].tangent,m=this.samples[s+1].tangent,d=this.frames[s].normal,p=Y.subtract(c,u),f=Y.dot(p,p),y;if(f>1e-8){let b=Y.subtract(l,Y.multiplyScalar(p,2*Y.dot(p,l)/f)),P=Y.subtract(d,Y.multiplyScalar(p,2*Y.dot(p,d)/f)),N=Y.subtract(m,b),M=Y.dot(N,N);M>1e-8?y=Y.subtract(P,Y.multiplyScalar(N,2*Y.dot(N,P)/M)):y=P}else y=d;y=Y.normalize(Y.subtract(y,Y.multiplyScalar(m,Y.dot(m,y))));let g=Y.normalize(Y.cross(m,y));this.frames[s+1]={normal:y,binormal:g,rotation:this.eulerFromFrame(m,y,g)}}}eulerFromFrame(t,r,n){let i=Math.asin(Math.max(-1,Math.min(1,-t[1])))*(180/Math.PI),a=Math.atan2(t[0],t[2])*(180/Math.PI),s=Math.atan2(r[0],r[1])*(180/Math.PI);return[i,a,s]}getPointAt(t){let n=Math.max(0,Math.min(1,t))*this.totalLength;return this.getPointAtDistance(n)}getPointAtDistance(t){let r=Math.max(0,Math.min(this.totalLength,t)),n=this.samples.length,i=0,a=n-1;for(;i<a;){let M=i+a>>1;this.samples[M].distance<r?i=M+1:a=M}let s=Math.max(1,i),u=s-1,c=this.samples[u],l=this.samples[s],m=l.distance-c.distance,d=m>1e-6?(r-c.distance)/m:0,p=Y.lerp(c.position,l.position,d),f=Y.normalize(Y.lerp(c.tangent,l.tangent,d)),y=this.frames[u],g=this.frames[s],b=Y.normalize(Y.lerp(y.normal,g.normal,d)),P=Y.normalize(Y.cross(f,b)),N=[y.rotation[0]+(g.rotation[0]-y.rotation[0])*d,y.rotation[1]+(g.rotation[1]-y.rotation[1])*d,y.rotation[2]+(g.rotation[2]-y.rotation[2])*d];return{position:p,tangent:f,normal:b,binormal:P,distance:r,t:this.totalLength>0?r/this.totalLength:0,rotation:N}}static catmullRom(t,r={}){if(t.length<2)throw new Error("Catmull-Rom spline requires at least 2 waypoints");let n=!!r.closed,i=r.samplesPerSegment??40,a=[];if(n)a.push(t[t.length-1]),a.push(...t),a.push(t[0]),a.push(t[1]);else{let c=t[0],l=t[1],m=t[t.length-1],d=t[t.length-2];a.push(Y.subtract(c,Y.subtract(l,c))),a.push(...t),a.push(Y.add(m,Y.subtract(m,d)))}let s=n?t.length:t.length-1,u=[];for(let c=0;c<s;c++){let l=a[c],m=a[c+1],d=a[c+2],p=a[c+3],f=c===s-1?i:i-1;for(let y=0;y<=f;y++){let g=y/i,b=g*g,P=b*g,N=-.5*P+b-.5*g,M=1.5*P-2.5*b+1,k=-1.5*P+2*b+.5*g,A=.5*P-.5*b,v=[N*l[0]+M*m[0]+k*d[0]+A*p[0],N*l[1]+M*m[1]+k*d[1]+A*p[1],N*l[2]+M*m[2]+k*d[2]+A*p[2]],R=-1.5*b+2*g-.5,G=4.5*b-5*g,Z=-4.5*b+4*g+.5,te=1.5*b-1*g,ae=[R*l[0]+G*m[0]+Z*d[0]+te*p[0],R*l[1]+G*m[1]+Z*d[1]+te*p[1],R*l[2]+G*m[2]+Z*d[2]+te*p[2]],E=Y.normalize(ae);u.push({position:v,tangent:E})}}return e.fromRawSamples(u)}static fromRawSamples(t){let r=0,n=t.map((i,a)=>(a>0&&(r+=Y.distance(i.position,t[a-1].position)),{position:i.position,tangent:i.tangent,distance:r}));if(n.length===0)throw new TypeError("Path3D needs samples");return new e(n)}static bezier(t,r=50){if(t.length===0)throw new Error("Bezier path requires at least 1 segment");let n=[];for(let i=0;i<t.length;i++){let a=t[i],s=i===t.length-1?r:r-1;for(let u=0;u<=s;u++){let c=u/r,l=1-c,m=l*l,d=m*l,p=c*c,f=p*c,y=[d*a.p0[0]+3*m*c*a.p1[0]+3*l*p*a.p2[0]+f*a.p3[0],d*a.p0[1]+3*m*c*a.p1[1]+3*l*p*a.p2[1]+f*a.p3[1],d*a.p0[2]+3*m*c*a.p1[2]+3*l*p*a.p2[2]+f*a.p3[2]],g=[3*m*(a.p1[0]-a.p0[0])+6*l*c*(a.p2[0]-a.p1[0])+3*p*(a.p3[0]-a.p2[0]),3*m*(a.p1[1]-a.p0[1])+6*l*c*(a.p2[1]-a.p1[1])+3*p*(a.p3[1]-a.p2[1]),3*m*(a.p1[2]-a.p0[2])+6*l*c*(a.p2[2]-a.p1[2])+3*p*(a.p3[2]-a.p2[2])],b=Y.normalize(g);n.push({position:y,tangent:b})}}return e.fromRawSamples(n)}static helix(t){let{center:r,radius:n,pitch:i,turns:a,axis:s="z",samplesPerTurn:u=60}=t,c=Math.max(10,Math.round(a*u)),l=[];for(let m=0;m<=c;m++){let d=m/c,p=d*a*Math.PI*2,f=(d-.5)*i*a,y=Math.cos(p),g=Math.sin(p),b,P;s==="z"?(b=[r[0]+n*y,r[1]+n*g,r[2]+f],P=[-n*g,n*y,i*a/(a*Math.PI*2)]):s==="y"?(b=[r[0]+n*y,r[1]+f,r[2]+n*g],P=[-n*g,i*a/(a*Math.PI*2),n*y]):(b=[r[0]+f,r[1]+n*y,r[2]+n*g],P=[i*a/(a*Math.PI*2),-n*g,n*y]),l.push({position:b,tangent:Y.normalize(P)})}return e.fromRawSamples(l)}static circle(t){let{center:r,radius:n,startAngleDeg:i=0,endAngleDeg:a=360,samples:s=128}=t,u=i*Math.PI/180,c=a*Math.PI/180,l=[];for(let m=0;m<=s;m++){let d=u+(c-u)*(m/s),p=Math.cos(d),f=Math.sin(d),y=[r[0]+n*p,r[1],r[2]+n*f],g=[-n*f,0,n*p];l.push({position:y,tangent:Y.normalize(g)})}return e.fromRawSamples(l)}};h();var yi=class e{name;props={};selectors=[];constructor(t){this.name=t}static create(t){return new e(t)}skew(t,r=0){return this.props.skew=t,this.props.skewAxis=r,this}anchor(t,r="character",n=0,i=0){return this.props.anchor={grouping:r,preset:t,anchorX:.5,anchorY:.5,offsetX:n,offsetY:i},this}anchorNormalized(t,r,n="character"){return this.props.anchor={grouping:n,preset:"custom",anchorX:t,anchorY:r,offsetX:0,offsetY:0},this}translateZ(t){return this.props.translateZ=t,this}tilt3D(t=0,r=0,n=0){return this.props.rotationX=t,this.props.rotationY=r,this.props.rotationZ=n,this}rotationX(t){return this.props.rotationX=t,this}rotationY(t){return this.props.rotationY=t,this}rotationZ(t){return this.props.rotationZ=t,this}volumetricFormation(t="cylinder",r=300,n=120,i=360,a=1200,s="y"){return this.props.formation={mode:t,radius:r,pitch:n,totalAngle:i,perspective:a,axis:s},this}lineSpacing(t,r=0){return this.props.lineSpacing=t,this.props.lineAnchor=r,this}lineAnchor(t){return this.props.lineAnchor=t,this}spring(t=180,r=12,n=1,i=0){return this.props.spring={stiffness:t,damping:r,mass:n,initialVelocity:i,overshootMultiplier:1},this}stroke(t,r="#ffffff",n=1){return this.props.stroke={strokeWidth:t,strokeColor:r,strokeAlign:"center",fillOpacity:n,dashOffset:0},this}variableFont(t){return this.props.variableAxes=t,this}chromaticGlitch(t,r=0,n=-t,i=0){return this.props.chromaticGlitch={redShiftX:t,redShiftY:r,blueShiftX:n,blueShiftY:i,sliceProbability:0,sliceAmplitude:0},this}audioSpectrum(t,r=60,n=16e3,i=2.5){return this.props.audioSpectrum={signalChannel:t,minFreqHz:r,maxFreqHz:n,scaleAxis:"scaleY",minScale:.2,maxScale:i,peakDecay:.8},this}longShadow(t=45,r=40,n="#000000",i=.8,a=0,s=16){return this.props.longShadow={angle:t,length:r,color:n,startOpacity:i,endOpacity:a,steps:s},this}particleDissolve(t=0,r=90,n=120){return this.props.particleDissolve={progress:t,dispersalAngle:r,maxDisplacement:n,turbulence:.5,particleSize:2},this}addExpressionSelector(t,r="add"){return this.selectors.push({type:"expression",expression:t,mode:r,amount:1}),this}expressionSelector(t,r="add"){return this.addExpressionSelector(t,r)}x(t){return this.props.x=t,this}y(t){return this.props.y=t,this}scale(t){return this.props.scale=t,this}scaleX(t){return this.props.scaleX=t,this}scaleY(t){return this.props.scaleY=t,this}rotation(t){return this.props.rotation=t,this}opacity(t){return this.props.opacity=t,this}blur(t){return this.props.blur=t,this}fillColor(t){return this.props.fillColor=t,this}build(){return{name:this.name,selectors:this.selectors,props:this.props}}};h();var ao=o.enum(["character","word","line","all"]),oo=o.enum(["center","baseline","bottom_left","bottom_center","bottom_right","top_left","top_center","top_right","custom"]),so=o.object({grouping:ao.default("character"),preset:oo.default("center"),anchorX:o.number().default(.5),anchorY:o.number().default(.5),offsetX:o.number().default(0),offsetY:o.number().default(0)}),yd=o.object({skew:o.number().min(-90).max(90),skewAxis:o.number().default(0)}),xd=o.object({lineSpacing:o.number(),lineAnchor:o.number().min(0).max(1).default(0)}),uo=o.enum(["planar","vortex","cylinder","helix"]),xi=o.object({mode:uo.default("planar"),radius:o.number().default(300),pitch:o.number().default(120),totalAngle:o.number().default(360),axis:o.enum(["x","y","z"]).default("y"),perspective:o.number().positive().default(1200)}),vd=o.object({translateZ:o.number().optional(),rotationX:o.number().optional(),rotationY:o.number().optional(),rotationZ:o.number().optional(),formation:xi.optional()}),lo=o.object({stiffness:o.number().positive().default(180),damping:o.number().positive().default(12),mass:o.number().positive().default(1),initialVelocity:o.number().default(0),overshootMultiplier:o.number().min(.5).max(3).default(1)}),wd=o.object({type:o.literal("expression"),name:o.string().optional(),expression:o.string(),mode:o.enum(["add","subtract","intersect","min","max","difference"]).default("add"),amount:o.number().default(1)}),co=o.object({strokeWidth:o.number().min(0).default(0),strokeColor:o.string().default("#ffffff"),strokeAlign:o.enum(["center","inside","outside"]).default("center"),fillOpacity:o.number().min(0).max(1).default(1),dashArray:o.tuple([o.number(),o.number()]).optional(),dashOffset:o.number().default(0)}),vi=o.object({direction:o.enum(["left","right","up","down"]).default("left"),velocity:o.number().default(120),loop:o.boolean().default(!0),repeatGap:o.number().default(80),snap:o.object({enabled:o.boolean().default(!1),granularity:o.enum(["character","word","line"]).default("word"),stopIndex:o.number().default(0),decelEase:o.string().default("cubic.out")}).optional()}),mo=o.object({weight:o.number().min(100).max(1e3).optional(),width:o.number().min(50).max(200).optional(),slant:o.number().min(-25).max(25).optional(),italic:o.number().min(0).max(1).optional(),opticalSize:o.number().min(6).max(144).optional()}),po=o.object({redShiftX:o.number().default(0),redShiftY:o.number().default(0),blueShiftX:o.number().default(0),blueShiftY:o.number().default(0),sliceProbability:o.number().min(0).max(1).default(0),sliceAmplitude:o.number().default(0)}),fo=o.object({signalChannel:o.string(),minFreqHz:o.number().default(60),maxFreqHz:o.number().default(16e3),scaleAxis:o.enum(["scaleY","scaleX","scale","y"]).default("scaleY"),minScale:o.number().default(.2),maxScale:o.number().default(2.5),peakDecay:o.number().min(0).max(.99).default(.8)}),ho=o.object({angle:o.number().default(45),length:o.number().min(0).default(0),color:o.string().default("#000000"),startOpacity:o.number().min(0).max(1).default(.8),endOpacity:o.number().min(0).max(1).default(0),steps:o.number().int().min(4).max(64).default(16)}),go=o.object({progress:o.number().min(0).max(1).default(0),dispersalAngle:o.number().default(90),maxDisplacement:o.number().default(120),turbulence:o.number().default(.5),particleSize:o.number().default(2)}),bo=o.object({x:o.number().optional(),y:o.number().optional(),translateZ:o.number().optional(),scale:o.number().optional(),scaleX:o.number().optional(),scaleY:o.number().optional(),rotation:o.number().optional(),rotationX:o.number().optional(),rotationY:o.number().optional(),rotationZ:o.number().optional(),formation:xi.optional(),skew:o.number().optional(),skewAxis:o.number().optional(),tracking:o.number().optional(),lineSpacing:o.number().optional(),lineAnchor:o.number().optional(),anchor:so.optional(),opacity:o.number().optional(),blur:o.number().optional(),fillColor:o.string().optional(),stroke:co.optional(),variableAxes:mo.optional(),chromaticGlitch:po.optional(),longShadow:ho.optional(),particleDissolve:go.optional(),audioSpectrum:fo.optional(),spring:lo.optional()}),wi=o.object({name:o.string().default("AdvancedAnimator"),selectors:o.array(o.record(o.string(),o.unknown())).default([]),props:bo});h();h();var or=o.object({x:o.number(),y:o.number()}),yo=o.object({p0:or,p1:or,p2:or,p3:or}),xo=o.discriminatedUnion("type",[o.object({type:o.literal("svg"),d:o.string().min(1,"SVG path string cannot be empty")}),o.object({type:o.literal("bezier"),segments:o.array(yo).min(1)}),o.object({type:o.literal("ellipse"),cx:o.number(),cy:o.number(),rx:o.number().positive(),ry:o.number().positive(),startAngleDeg:o.number().default(0),endAngleDeg:o.number().default(360)}),o.object({type:o.literal("wave"),startX:o.number(),startY:o.number(),length:o.number().positive(),amplitude:o.number(),frequency:o.number().positive(),phaseDeg:o.number().default(0)})]),Ft=o.object({path:xo,firstMargin:o.number().default(0),lastMargin:o.number().default(0),reversePath:o.boolean().default(!1),perpendicularToPath:o.boolean().default(!0),forceAlignment:o.boolean().default(!1),loop:o.boolean().default(!1),baselineOffset:o.enum(["baseline","center","ascender","descender"]).default("baseline"),baselineShift:o.number().default(0)}),vo=o.enum(["bar","underscore","block","custom"]),wo=o.object({enabled:o.boolean().default(!0),style:vo.default("bar"),customChar:o.string().default("|"),color:o.string().optional(),blinkFrequency:o.number().min(0).default(2),hideOnComplete:o.boolean().default(!1),width:o.number().positive().default(2.5),spacing:o.number().default(3)}),So=o.discriminatedUnion("mode",[o.object({mode:o.literal("constant")}),o.object({mode:o.literal("human"),jitter:o.number().min(0).max(1).default(.35),commaPauseMultiplier:o.number().min(1).default(3),sentencePauseMultiplier:o.number().min(1).default(5.5),paragraphPauseMultiplier:o.number().min(1).default(7)})]),ko=o.object({enabled:o.boolean().default(!1),charset:o.enum(["ascii","alphanumeric","matrix","binary","hex","custom"]).default("alphanumeric"),customCharset:o.string().optional(),scrambleFramesPerChar:o.number().int().min(1).default(8),highlightProbability:o.number().min(0).max(1).default(.25),scrambleColor:o.string().optional()}),zr=o.object({granularity:o.enum(["character","word","line"]).default("character"),cursor:wo.default({enabled:!0,style:"bar",customChar:"|",blinkFrequency:2,hideOnComplete:!1,width:2.5,spacing:3}),cadence:So.default({mode:"human",jitter:.35,commaPauseMultiplier:3,sentencePauseMultiplier:5.5,paragraphPauseMultiplier:7}),scramble:ko.default({enabled:!1,charset:"alphanumeric",scrambleFramesPerChar:8,highlightProbability:.25}),soundSync:o.boolean().default(!1)}),$r=o.enum(["characters","characters_excluding_spaces","words","lines"]),To=o.enum(["percentage","index"]),Po=o.enum(["square","ramp_up","ramp_down","triangle","round","smooth"]),jr=o.enum(["add","subtract","intersect","min","max","difference"]),Mo=o.object({type:o.literal("range"),start:o.number().default(0),end:o.number().default(1),offset:o.number().default(0),units:To.default("percentage"),basedOn:$r.default("characters"),shape:Po.default("square"),mode:jr.default("add"),amount:o.number().min(-1).max(1).default(1),easeHigh:o.number().min(-1).max(1).default(0),easeLow:o.number().min(-1).max(1).default(0),randomizeOrder:o.boolean().default(!1),randomSeed:o.number().int().default(12345)}),Co=o.object({type:o.literal("wiggly"),wigglesPerSecond:o.number().positive().default(2),correlation:o.number().min(0).max(1).default(.5),temporalPhaseDeg:o.number().default(0),spatialPhaseDeg:o.number().default(0),minAmount:o.number().min(-1).max(1).default(-1),maxAmount:o.number().min(-1).max(1).default(1),randomSeed:o.number().int().default(42),basedOn:$r.default("characters"),mode:jr.default("intersect")}),No=o.object({type:o.literal("signal"),signalId:o.string(),multiplier:o.number().default(1),offset:o.number().default(0),phaseSpread:o.number().default(0),basedOn:$r.default("characters"),mode:jr.default("add")}),Ao=o.discriminatedUnion("type",[Mo,Co,No]),Oo=o.object({x:o.number().optional(),y:o.number().optional(),z:o.number().optional(),scale:o.number().optional(),scaleX:o.number().optional(),scaleY:o.number().optional(),rotation:o.number().optional(),rotationX:o.number().optional(),rotationY:o.number().optional(),skew:o.number().optional(),skewAxis:o.number().optional(),tracking:o.number().optional(),lineSpacing:o.number().optional(),opacity:o.number().min(0).max(1).optional(),fillColor:o.string().optional(),strokeColor:o.string().optional(),strokeWidth:o.number().min(0).optional(),blur:o.number().min(0).optional(),characterOffset:o.number().int().optional()}),Do=o.enum(["character","word","line","all"]),Lo=o.object({grouping:Do.default("character"),anchorX:o.number().default(.5),anchorY:o.number().default(.8)}),Rt=o.object({name:o.string().default("Animator"),selectors:o.array(Ao).min(1),props:Oo,anchor:Lo.default({grouping:"character",anchorX:.5,anchorY:.8})}),Sd=o.object({text:o.string(),fontFamily:o.string().default("Inter"),fontSize:o.number().positive().default(24),fontWeight:o.union([o.number(),o.string()]).default(400),fill:o.string().default("#ffffff"),letterSpacing:o.number().default(0),lineHeight:o.number().positive().default(1.2),textAlign:o.enum(["left","center","right"]).default("left"),pathOptions:Ft.optional(),typewriter:zr.optional(),animators:o.array(Rt).default([])});var Si=class e{options={firstMargin:0,lastMargin:0,reversePath:!1,perpendicularToPath:!0,forceAlignment:!1,loop:!1,baselineOffset:"baseline",baselineShift:0};static fromSvg(t){let r=new e;return r.options.path={type:"svg",d:t},r}static fromBezier(t){let r=new e;return r.options.path={type:"bezier",segments:t},r}static fromCurve(t){return e.fromBezier([t])}static circularBadge(t,r,n){let i=new e;return i.options.path={type:"ellipse",cx:t,cy:r,rx:n,ry:n,startAngleDeg:0,endAngleDeg:360},i.options.loop=!0,i}static ellipse(t,r,n,i,a=0,s=360){let u=new e;return u.options.path={type:"ellipse",cx:t,cy:r,rx:n,ry:i,startAngleDeg:a,endAngleDeg:s},u.options.loop=Math.abs(s-a)>=360,u}static wave(t,r,n,i,a,s=0){let u=new e;return u.options.path={type:"wave",startX:t,startY:r,length:n,amplitude:i,frequency:a,phaseDeg:s},u}firstMargin(t){return this.options.firstMargin=t,this}lastMargin(t){return this.options.lastMargin=t,this}reversePath(t){return this.options.reversePath=t,this}perpendicularToPath(t){return this.options.perpendicularToPath=t,this}forceAlignment(t){return this.options.forceAlignment=t,this}loop(t){return this.options.loop=t,this}baselineOffset(t){return this.options.baselineOffset=t,this}baselineShift(t){return this.options.baselineShift=t,this}build(){return Ft.parse(this.options)}},ki=class e{name="Animator";selectors=[];props={};anchor={grouping:"character",anchorX:.5,anchorY:.8};static create(t){let r=new e;return r.name=t,r}addRangeSelector(t){let r=t.easeHigh??0,n=Math.abs(r)>1?r/100:r,i=t.easeLow??0,a=Math.abs(i)>1?i/100:i;return this.selectors.push({type:"range",start:t.start??0,end:t.end??1,offset:t.offset??0,units:"percentage",basedOn:t.basedOn??"characters",shape:t.shape??"smooth",mode:t.mode??"add",amount:1,easeHigh:Math.max(-1,Math.min(1,n)),easeLow:Math.max(-1,Math.min(1,a)),randomizeOrder:t.randomizeOrder??!1,randomSeed:t.randomSeed??12345}),this}addWigglySelector(t){return this.selectors.push({type:"wiggly",wigglesPerSecond:t.wigglesPerSecond??2,correlation:t.correlation??.5,temporalPhaseDeg:0,spatialPhaseDeg:0,minAmount:t.minAmount??-1,maxAmount:t.maxAmount??1,randomSeed:t.randomSeed??42,basedOn:"characters",mode:t.mode??"intersect"}),this}addSignalSelector(t,r=1,n=0,i=0,a="add"){return this.selectors.push({type:"signal",signalId:t,multiplier:r,offset:i,phaseSpread:n,basedOn:"characters",mode:a}),this}x(t){return this.props.x=t,this}y(t){return this.props.y=t,this}z(t){return this.props.z=t,this}scale(t){return this.props.scale=t,this}scaleX(t){return this.props.scaleX=t,this}scaleY(t){return this.props.scaleY=t,this}rotation(t){return this.props.rotation=t,this}rotationX(t){return this.props.rotationX=t,this}rotationY(t){return this.props.rotationY=t,this}skew(t){return this.props.skew=t,this}skewAxis(t){return this.props.skewAxis=t,this}opacity(t){return this.props.opacity=t,this}blur(t){return this.props.blur=t,this}fill(t){return this.fillColor(t)}fillColor(t){return this.props.fillColor=t,this}strokeColor(t){return this.props.strokeColor=t,this}strokeWidth(t){return this.props.strokeWidth=t,this}tracking(t){return this.props.tracking=t,this}lineSpacing(t){return this.props.lineSpacing=t,this}characterOffset(t){return this.props.characterOffset=t,this}anchorGrouping(t,r=.5,n=.8){return this.anchor={grouping:t,anchorX:r,anchorY:n},this}build(){return Rt.parse({name:this.name,selectors:this.selectors,props:this.props,anchor:this.anchor})}};h();h();var Fo=`
2
2
  struct CameraUniforms {
3
3
  viewMatrix: mat4x4<f32>,
4
4
  projMatrix: mat4x4<f32>,