framefields 2.3.2 → 2.4.1

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 (428) hide show
  1. package/README.md +24 -1
  2. package/dist/audio/index.d.mts +4 -4
  3. package/dist/audio/index.mjs +10 -10
  4. package/dist/{audio-C7Kn5xBm.mjs → audio-CPApYcWF.mjs} +4 -4
  5. package/dist/{audio-C7Kn5xBm.mjs.map → audio-CPApYcWF.mjs.map} +1 -1
  6. package/dist/{audio-BNnEclHU.d.mts → audio-DHuEMOtQ.d.mts} +3 -3
  7. package/dist/{audio-BNnEclHU.d.mts.map → audio-DHuEMOtQ.d.mts.map} +1 -1
  8. package/dist/{dist-fjKpBYkc.mjs → dist-ClyC_d66.mjs} +9 -2
  9. package/dist/dist-ClyC_d66.mjs.map +1 -0
  10. package/dist/{dist-CPUIfrtw.mjs → dist-CrK3rmyN.mjs} +180 -58
  11. package/dist/dist-CrK3rmyN.mjs.map +1 -0
  12. package/dist/{dist-CturBK2Z.mjs → dist-CspOG4V1.mjs} +1210 -748
  13. package/dist/dist-CspOG4V1.mjs.map +1 -0
  14. package/dist/{dist-BY0bIWgr.mjs → dist-SB9qfAko.mjs} +2 -2
  15. package/dist/{dist-BY0bIWgr.mjs.map → dist-SB9qfAko.mjs.map} +1 -1
  16. package/dist/effects/index.d.mts +4 -4
  17. package/dist/effects/index.mjs +35 -35
  18. package/dist/{effects-CW1VgdI5.mjs → effects-DxylPSuI.mjs} +3 -3
  19. package/dist/{effects-CW1VgdI5.mjs.map → effects-DxylPSuI.mjs.map} +1 -1
  20. package/dist/fonts/index.mjs +2 -2
  21. package/dist/{fonts-EgMNL8KE.mjs → fonts-CsMDfqv9.mjs} +2 -2
  22. package/dist/{fonts-EgMNL8KE.mjs.map → fonts-CsMDfqv9.mjs.map} +1 -1
  23. package/dist/{gpu-CN14e7Bi.mjs → gpu-DtT5I4ME.mjs} +2 -2
  24. package/dist/{gpu-CN14e7Bi.mjs.map → gpu-DtT5I4ME.mjs.map} +1 -1
  25. package/dist/{index-Cg2ptXcs.d.mts → index-B1XcyMm8.d.mts} +2 -2
  26. package/dist/{index-Cg2ptXcs.d.mts.map → index-B1XcyMm8.d.mts.map} +1 -1
  27. package/dist/{index-BU51pxZO.d.mts → index-B2Xesdug.d.mts} +4 -4
  28. package/dist/{index-BU51pxZO.d.mts.map → index-B2Xesdug.d.mts.map} +1 -1
  29. package/dist/{index-QmkcUL3W.d.mts → index-BxARm93R.d.mts} +2 -2
  30. package/dist/{index-QmkcUL3W.d.mts.map → index-BxARm93R.d.mts.map} +1 -1
  31. package/dist/{index-CeRv1KC0.d.mts → index-C0o3lLyA.d.mts} +3 -3
  32. package/dist/{index-CeRv1KC0.d.mts.map → index-C0o3lLyA.d.mts.map} +1 -1
  33. package/dist/{index-B3BwLHa6.d.mts → index-D-l-yCv6.d.mts} +3 -3
  34. package/dist/{index-B3BwLHa6.d.mts.map → index-D-l-yCv6.d.mts.map} +1 -1
  35. package/dist/{index-AdrZIWT0.d.mts → index-DujpgUUq.d.mts} +19 -2
  36. package/dist/index-DujpgUUq.d.mts.map +1 -0
  37. package/dist/index.d.mts +178 -10
  38. package/dist/index.d.mts.map +1 -1
  39. package/dist/index.mjs +488 -93
  40. package/dist/index.mjs.map +1 -1
  41. package/dist/preview/index.d.mts +2 -2
  42. package/dist/preview/index.mjs +10 -10
  43. package/dist/{preview-1sjnhHQL.mjs → preview-D2dMmokw.mjs} +2 -2
  44. package/dist/{preview-1sjnhHQL.mjs.map → preview-D2dMmokw.mjs.map} +1 -1
  45. package/dist/preview-engine/audio.mjs +1 -1
  46. package/dist/preview-engine/chunk-266DECPQ.mjs +1 -0
  47. package/dist/preview-engine/{chunk-SZW5J72T.mjs → chunk-2DDBSI75.mjs} +1 -1
  48. package/dist/preview-engine/{chunk-QXCY2ATH.mjs → chunk-2GIWWDE4.mjs} +1 -1
  49. package/dist/preview-engine/{chunk-U4JIFQRR.mjs → chunk-34ACEGNW.mjs} +1 -1
  50. package/dist/preview-engine/{chunk-AY7UX37L.mjs → chunk-3ACCCPBN.mjs} +1 -1
  51. package/dist/preview-engine/{chunk-VK2CVMWJ.mjs → chunk-5E5J4KT4.mjs} +1 -1
  52. package/dist/preview-engine/{chunk-T2FE5VOW.mjs → chunk-5RQHNB6Y.mjs} +1 -1
  53. package/dist/preview-engine/{chunk-TS3JI3BH.mjs → chunk-67SSYK7D.mjs} +1 -1
  54. package/dist/preview-engine/{chunk-PL4IH5V4.mjs → chunk-6K7US2WD.mjs} +1 -1
  55. package/dist/preview-engine/{chunk-PEWYB6WP.mjs → chunk-7LVOSEGN.mjs} +1 -1
  56. package/dist/preview-engine/chunk-7QJUC6YY.mjs +1525 -0
  57. package/dist/preview-engine/{chunk-PSRQA3QW.mjs → chunk-A5OVKZ52.mjs} +1 -1
  58. package/dist/preview-engine/{chunk-PXT52LEH.mjs → chunk-C6Z7H2RZ.mjs} +1 -1
  59. package/dist/preview-engine/chunk-CPFPY35C.mjs +1 -0
  60. package/dist/preview-engine/{chunk-7EPIRODI.mjs → chunk-DOCSX45C.mjs} +1 -1
  61. package/dist/preview-engine/{chunk-GSFN4WCH.mjs → chunk-FFGBUS76.mjs} +1 -1
  62. package/dist/preview-engine/{chunk-IR5DNNWR.mjs → chunk-FFMPC7QA.mjs} +1 -1
  63. package/dist/preview-engine/{chunk-IUPDOATX.mjs → chunk-FHKBALVI.mjs} +1 -1
  64. package/dist/preview-engine/{chunk-HE4R7EZM.mjs → chunk-G4J662EL.mjs} +1 -1
  65. package/dist/preview-engine/{chunk-5W4AFQP7.mjs → chunk-GNG4YH2W.mjs} +1 -1
  66. package/dist/preview-engine/{chunk-L6BH5J4P.mjs → chunk-GQLZXCW3.mjs} +1 -1
  67. package/dist/preview-engine/{chunk-EVXWDOCL.mjs → chunk-HDGFNBYK.mjs} +1 -1
  68. package/dist/preview-engine/{chunk-JXNG2ACR.mjs → chunk-HNNIVJ2K.mjs} +1 -1
  69. package/dist/preview-engine/{chunk-FU7AIAMM.mjs → chunk-HUKAC5MJ.mjs} +1 -1
  70. package/dist/preview-engine/{chunk-44CQSOYE.mjs → chunk-JX22B2FS.mjs} +1 -1
  71. package/dist/preview-engine/{chunk-DIGIQ5MJ.mjs → chunk-KAQUNOVB.mjs} +1 -1
  72. package/dist/preview-engine/{chunk-MLY5M7Y5.mjs → chunk-KT35IPCF.mjs} +1 -1
  73. package/dist/preview-engine/{chunk-VXS5SIEC.mjs → chunk-LIQA5OOU.mjs} +1 -1
  74. package/dist/preview-engine/{chunk-SGPRLTNF.mjs → chunk-LK3T65RB.mjs} +1 -1
  75. package/dist/preview-engine/{chunk-YQZOGEPZ.mjs → chunk-LLDIDE5Q.mjs} +1 -1
  76. package/dist/preview-engine/chunk-NNQUIVTE.mjs +5 -0
  77. package/dist/preview-engine/{chunk-5AUB4Y3L.mjs → chunk-NRAZV5OA.mjs} +1 -1
  78. package/dist/preview-engine/{chunk-VGZZSPDN.mjs → chunk-NTVDL3RS.mjs} +1 -1
  79. package/dist/preview-engine/{chunk-BSOJR4JU.mjs → chunk-O6NRIXS5.mjs} +1 -1
  80. package/dist/preview-engine/{chunk-OKH2VU2U.mjs → chunk-PZF6T7DM.mjs} +1 -1
  81. package/dist/preview-engine/{chunk-OJ2PKBXE.mjs → chunk-QJZKIY4H.mjs} +1 -1
  82. package/dist/preview-engine/{chunk-WFGJXCZT.mjs → chunk-R26SY5D4.mjs} +1 -1
  83. package/dist/preview-engine/{chunk-EYWPOCZW.mjs → chunk-RDP6QROU.mjs} +1 -1
  84. package/dist/preview-engine/{chunk-J2R5R7YY.mjs → chunk-RKVB47IA.mjs} +1 -1
  85. package/dist/preview-engine/{chunk-PAQNDZQB.mjs → chunk-SWXVITCQ.mjs} +1 -1
  86. package/dist/preview-engine/{chunk-KERW7QJ4.mjs → chunk-UZBVCYRY.mjs} +1 -1
  87. package/dist/preview-engine/{chunk-Q22PJXFJ.mjs → chunk-WACWOKEP.mjs} +1 -1
  88. package/dist/preview-engine/{chunk-AXHB4J37.mjs → chunk-WCZ5DKZ4.mjs} +1 -1
  89. package/dist/preview-engine/{chunk-WH5Q2NFN.mjs → chunk-WJJIISQJ.mjs} +1 -1
  90. package/dist/preview-engine/chunk-XDMZP3E2.mjs +1 -0
  91. package/dist/preview-engine/{chunk-7G3XIOP7.mjs → chunk-Z6UKUHPU.mjs} +1 -1
  92. package/dist/preview-engine/{chunk-WUKH7BD7.mjs → chunk-ZKPQGQE3.mjs} +1 -1
  93. package/dist/preview-engine/effects.mjs +1 -1
  94. package/dist/preview-engine/framefields.mjs +32 -25
  95. package/dist/preview-engine/player.mjs +1 -1
  96. package/dist/preview-engine/{renderers-2P6KXWEZ.mjs → renderers-3CXFGRE7.mjs} +1 -1
  97. package/dist/preview-engine/{renderers-KZWGSKRF.mjs → renderers-3FC3WCJN.mjs} +1 -1
  98. package/dist/preview-engine/renderers-3S2FM33K.mjs +1 -0
  99. package/dist/preview-engine/{renderers-5FQA2DP4.mjs → renderers-4AJWVIJG.mjs} +1 -1
  100. package/dist/preview-engine/renderers-53ZTBI3C.mjs +1 -0
  101. package/dist/preview-engine/renderers-5USBVCMQ.mjs +1 -0
  102. package/dist/preview-engine/renderers-65G6BLEA.mjs +1 -0
  103. package/dist/preview-engine/{renderers-PYWXELLG.mjs → renderers-6JZ4HYIU.mjs} +1 -1
  104. package/dist/preview-engine/{renderers-3GHEWWVX.mjs → renderers-75TL7RLS.mjs} +1 -1
  105. package/dist/preview-engine/{renderers-U6KY34TP.mjs → renderers-7CPYTCNW.mjs} +1 -1
  106. package/dist/preview-engine/renderers-7XU7BXE7.mjs +1 -0
  107. package/dist/preview-engine/{renderers-2VN3AH45.mjs → renderers-AZYJFJLO.mjs} +1 -1
  108. package/dist/preview-engine/{renderers-TR2V2HZ2.mjs → renderers-BDWVXYTW.mjs} +1 -1
  109. package/dist/preview-engine/renderers-BFXM32BC.mjs +1 -0
  110. package/dist/preview-engine/renderers-CDXHCWWK.mjs +1 -0
  111. package/dist/preview-engine/{renderers-N7FR54V2.mjs → renderers-CK3ZL3GM.mjs} +1 -1
  112. package/dist/preview-engine/renderers-CLUN7WU6.mjs +1 -0
  113. package/dist/preview-engine/renderers-DTB4HEXU.mjs +1 -0
  114. package/dist/preview-engine/renderers-EFKNRLYF.mjs +1 -0
  115. package/dist/preview-engine/{renderers-UPTJJE5F.mjs → renderers-FADYGSLK.mjs} +1 -1
  116. package/dist/preview-engine/{renderers-I5E2RSV4.mjs → renderers-FKH5S64C.mjs} +1 -1
  117. package/dist/preview-engine/{renderers-BSKZXITT.mjs → renderers-FM6A5YR4.mjs} +1 -1
  118. package/dist/preview-engine/renderers-G2K7ZA5O.mjs +1 -0
  119. package/dist/preview-engine/{renderers-D6T6IPER.mjs → renderers-GAIUTII6.mjs} +1 -1
  120. package/dist/preview-engine/renderers-GTUO5LIV.mjs +1 -0
  121. package/dist/preview-engine/{renderers-A6HM64UZ.mjs → renderers-GUPEJK3O.mjs} +1 -1
  122. package/dist/preview-engine/{renderers-IWQ3V6AJ.mjs → renderers-HSJIVP57.mjs} +1 -1
  123. package/dist/preview-engine/{renderers-4GRVAW2W.mjs → renderers-HZHEGONW.mjs} +1 -1
  124. package/dist/preview-engine/{renderers-NWHS7N2L.mjs → renderers-IHACBWXI.mjs} +1 -1
  125. package/dist/preview-engine/{renderers-3YCJOINH.mjs → renderers-IHRFEZNP.mjs} +1 -1
  126. package/dist/preview-engine/{renderers-A7VH3ON5.mjs → renderers-IJDQJEE5.mjs} +1 -1
  127. package/dist/preview-engine/{renderers-OT7D3BUA.mjs → renderers-IO3BVVJ7.mjs} +1 -1
  128. package/dist/preview-engine/renderers-IR772VSN.mjs +1 -0
  129. package/dist/preview-engine/{renderers-EJWPVVQR.mjs → renderers-K7B5PQBT.mjs} +1 -1
  130. package/dist/preview-engine/renderers-L6TRJOXA.mjs +1 -0
  131. package/dist/preview-engine/{renderers-N7TS5562.mjs → renderers-LVLVJHOL.mjs} +1 -1
  132. package/dist/preview-engine/{renderers-FK72LKQC.mjs → renderers-MBSOKWKB.mjs} +1 -1
  133. package/dist/preview-engine/{renderers-NC64EQDE.mjs → renderers-N6H6RSF2.mjs} +1 -1
  134. package/dist/preview-engine/{renderers-ZHZMGMLN.mjs → renderers-NJLGPPX7.mjs} +1 -1
  135. package/dist/preview-engine/renderers-O5NFQYRQ.mjs +1 -0
  136. package/dist/preview-engine/renderers-O6V3OEKX.mjs +1 -0
  137. package/dist/preview-engine/renderers-OODA27UH.mjs +1 -0
  138. package/dist/preview-engine/{renderers-6CG7DBTB.mjs → renderers-R4WMM6IX.mjs} +1 -1
  139. package/dist/preview-engine/renderers-RIGW33ZI.mjs +1 -0
  140. package/dist/preview-engine/{renderers-RLHTNLRE.mjs → renderers-RKZGYWDG.mjs} +1 -1
  141. package/dist/preview-engine/renderers-RUZRBQ4K.mjs +1 -0
  142. package/dist/preview-engine/renderers-SKB2GGKS.mjs +1 -0
  143. package/dist/preview-engine/{renderers-6OGFUSH6.mjs → renderers-SW7FIEKO.mjs} +1 -1
  144. package/dist/preview-engine/renderers-T4D2TASM.mjs +1 -0
  145. package/dist/preview-engine/renderers-T74XV36Q.mjs +1 -0
  146. package/dist/preview-engine/{renderers-F55XFVMP.mjs → renderers-TCNPEANL.mjs} +1 -1
  147. package/dist/preview-engine/renderers-TOPW2UM3.mjs +1 -0
  148. package/dist/preview-engine/{renderers-5YEIUTVN.mjs → renderers-TY7DVI7E.mjs} +1 -1
  149. package/dist/preview-engine/{renderers-WP2LBR5U.mjs → renderers-U55KRIOV.mjs} +3 -3
  150. package/dist/preview-engine/{renderers-YMPXGYRU.mjs → renderers-UDOBX433.mjs} +1 -1
  151. package/dist/preview-engine/{renderers-CRRLV7IO.mjs → renderers-UMPOVFRA.mjs} +1 -1
  152. package/dist/preview-engine/renderers-UO5G3Y2G.mjs +1 -0
  153. package/dist/preview-engine/renderers-UOV7VOJJ.mjs +1 -0
  154. package/dist/preview-engine/{renderers-MON4QFRF.mjs → renderers-UWKSTSTA.mjs} +1 -1
  155. package/dist/preview-engine/renderers-VHPAOUTA.mjs +1 -0
  156. package/dist/preview-engine/{renderers-E76OKK66.mjs → renderers-WR6MKT5S.mjs} +1 -1
  157. package/dist/preview-engine/{renderers-MCECHPCL.mjs → renderers-XKHNBARD.mjs} +1 -1
  158. package/dist/preview-engine/renderers-YEQRQJFC.mjs +1 -0
  159. package/dist/preview-engine/{renderers-RJO6H4FC.mjs → renderers-YRZ3WODX.mjs} +1 -1
  160. package/dist/preview-engine/renderers-YUTFGVRY.mjs +1 -0
  161. package/dist/preview-engine/{renderers-3SRG77SC.mjs → renderers-YXOTRKPA.mjs} +1 -1
  162. package/dist/preview-engine/renderers-ZOU5ARVD.mjs +1 -0
  163. package/dist/preview-engine/renderers-ZW75LQTR.mjs +1 -0
  164. package/dist/preview-engine/signals.mjs +1 -1
  165. package/dist/{program-DtiNMTxO.mjs → program-C2cJayA1.mjs} +4 -4
  166. package/dist/{program-DtiNMTxO.mjs.map → program-C2cJayA1.mjs.map} +1 -1
  167. package/dist/renderer/index.d.mts +2 -2
  168. package/dist/renderer/index.mjs +2 -2
  169. package/dist/{renderer-QMGrRiab.mjs → renderer--ruTGlPo.mjs} +3 -3
  170. package/dist/{renderer-QMGrRiab.mjs.map → renderer--ruTGlPo.mjs.map} +1 -1
  171. package/dist/{renderer-BAmGO6Hj.mjs → renderer-7y5Cj8rV.mjs} +3 -3
  172. package/dist/{renderer-BAmGO6Hj.mjs.map → renderer-7y5Cj8rV.mjs.map} +1 -1
  173. package/dist/{renderer-B48vtpou.mjs → renderer-92eLJg24.mjs} +4 -4
  174. package/dist/{renderer-B48vtpou.mjs.map → renderer-92eLJg24.mjs.map} +1 -1
  175. package/dist/{renderer-ButaUWLr.mjs → renderer-B0gPTXhe.mjs} +3 -3
  176. package/dist/{renderer-ButaUWLr.mjs.map → renderer-B0gPTXhe.mjs.map} +1 -1
  177. package/dist/{renderer-BaOC1Pd1.mjs → renderer-B1QREs7J.mjs} +3 -3
  178. package/dist/{renderer-BaOC1Pd1.mjs.map → renderer-B1QREs7J.mjs.map} +1 -1
  179. package/dist/{renderer-BI1nmIqA.mjs → renderer-B3e4LSE6.mjs} +3 -3
  180. package/dist/{renderer-BI1nmIqA.mjs.map → renderer-B3e4LSE6.mjs.map} +1 -1
  181. package/dist/{renderer-C4puWDLK.mjs → renderer-B4RpSd4A.mjs} +2 -2
  182. package/dist/{renderer-C4puWDLK.mjs.map → renderer-B4RpSd4A.mjs.map} +1 -1
  183. package/dist/renderer-BAhZeUUn.mjs +5 -0
  184. package/dist/{renderer-DmOewVsB.mjs → renderer-BBAbZfBl.mjs} +4 -4
  185. package/dist/{renderer-DmOewVsB.mjs.map → renderer-BBAbZfBl.mjs.map} +1 -1
  186. package/dist/{renderer-6QAlE1Mp.mjs → renderer-BDCy8NgT.mjs} +3 -3
  187. package/dist/{renderer-6QAlE1Mp.mjs.map → renderer-BDCy8NgT.mjs.map} +1 -1
  188. package/dist/renderer-BHAE_dKq.mjs +5 -0
  189. package/dist/{renderer-Rg1BFv8B.mjs → renderer-BMKFzfSQ.mjs} +3 -3
  190. package/dist/{renderer-Rg1BFv8B.mjs.map → renderer-BMKFzfSQ.mjs.map} +1 -1
  191. package/dist/renderer-BNYZY3FE.mjs +5 -0
  192. package/dist/{renderer-D8tdGi2P.mjs → renderer-BPixWnmY.mjs} +3 -3
  193. package/dist/{renderer-D8tdGi2P.mjs.map → renderer-BPixWnmY.mjs.map} +1 -1
  194. package/dist/renderer-BSvubMvI.mjs +5 -0
  195. package/dist/{renderer-C2Ff-9u_.mjs → renderer-BTd2sWDC.mjs} +3 -3
  196. package/dist/{renderer-C2Ff-9u_.mjs.map → renderer-BTd2sWDC.mjs.map} +1 -1
  197. package/dist/{renderer-YtRSM2cv.mjs → renderer-BTigwMQp.mjs} +3 -3
  198. package/dist/{renderer-YtRSM2cv.mjs.map → renderer-BTigwMQp.mjs.map} +1 -1
  199. package/dist/renderer-B_M_yhTc.mjs +5 -0
  200. package/dist/renderer-B_xSsTuy.mjs +5 -0
  201. package/dist/renderer-BePHurAU.mjs +5 -0
  202. package/dist/renderer-BfZquJrW.mjs +5 -0
  203. package/dist/{renderer-DNhOjz6C.mjs → renderer-Bi6W4RSn.mjs} +2 -2
  204. package/dist/{renderer-DNhOjz6C.mjs.map → renderer-Bi6W4RSn.mjs.map} +1 -1
  205. package/dist/{renderer--Da6pAJ4.mjs → renderer-BjCHW9Jp.mjs} +2 -2
  206. package/dist/{renderer-S6ez0leJ.mjs → renderer-BjvNEbML.mjs} +2 -2
  207. package/dist/{renderer-S6ez0leJ.mjs.map → renderer-BjvNEbML.mjs.map} +1 -1
  208. package/dist/{renderer-BFHgl-0f.mjs → renderer-BkWd4-YO.mjs} +2 -2
  209. package/dist/{renderer-BFHgl-0f.mjs.map → renderer-BkWd4-YO.mjs.map} +1 -1
  210. package/dist/{renderer-z3YOOR3k.mjs → renderer-Bkrk0M0r.mjs} +3 -3
  211. package/dist/{renderer-z3YOOR3k.mjs.map → renderer-Bkrk0M0r.mjs.map} +1 -1
  212. package/dist/{renderer-Kj9AhRCc.mjs → renderer-BljMOvry.mjs} +3 -3
  213. package/dist/{renderer-Kj9AhRCc.mjs.map → renderer-BljMOvry.mjs.map} +1 -1
  214. package/dist/renderer-BuY5ypB2.mjs +5 -0
  215. package/dist/renderer-BvOQgFHo.mjs +5 -0
  216. package/dist/{renderer-ITtBRR4o.mjs → renderer-BwpgDLYO.mjs} +3 -3
  217. package/dist/{renderer-ITtBRR4o.mjs.map → renderer-BwpgDLYO.mjs.map} +1 -1
  218. package/dist/{renderer-B3x-uogM.mjs → renderer-BwwZB2mt.mjs} +4 -4
  219. package/dist/{renderer-B3x-uogM.mjs.map → renderer-BwwZB2mt.mjs.map} +1 -1
  220. package/dist/{renderer-GlyeFl5R.mjs → renderer-ByCX4JYg.mjs} +3 -3
  221. package/dist/{renderer-GlyeFl5R.mjs.map → renderer-ByCX4JYg.mjs.map} +1 -1
  222. package/dist/{renderer-DDBmBmQN.mjs → renderer-C1E5Rt5q.mjs} +3 -3
  223. package/dist/{renderer-DDBmBmQN.mjs.map → renderer-C1E5Rt5q.mjs.map} +1 -1
  224. package/dist/renderer-C7NkSvUz.mjs +5 -0
  225. package/dist/{renderer-DvoPplvC.mjs → renderer-CCGzT6bX.mjs} +2 -2
  226. package/dist/{renderer-DJWQWN1E.mjs → renderer-CDOobs18.mjs} +3 -3
  227. package/dist/{renderer-DJWQWN1E.mjs.map → renderer-CDOobs18.mjs.map} +1 -1
  228. package/dist/{renderer-DacnnTjY.mjs → renderer-CDUxAtsk.mjs} +4 -4
  229. package/dist/{renderer-DacnnTjY.mjs.map → renderer-CDUxAtsk.mjs.map} +1 -1
  230. package/dist/renderer-CIuxV2q1.mjs +5 -0
  231. package/dist/{renderer-BlafvK-L.mjs → renderer-CJ4bxCld.mjs} +2 -2
  232. package/dist/renderer-CKp97tSQ.mjs +5 -0
  233. package/dist/{renderer-_-MCpvGq.mjs → renderer-CNb-DG00.mjs} +71 -71
  234. package/dist/{renderer-_-MCpvGq.mjs.map → renderer-CNb-DG00.mjs.map} +1 -1
  235. package/dist/{renderer-BYj8x8YM.mjs → renderer-CNuVJ4nG.mjs} +2 -2
  236. package/dist/{renderer-BYj8x8YM.mjs.map → renderer-CNuVJ4nG.mjs.map} +1 -1
  237. package/dist/renderer-CY89dTFR.mjs +5 -0
  238. package/dist/renderer-C_B_4Bl0.mjs +5 -0
  239. package/dist/{renderer-R0sJId_6.mjs → renderer-Cbsnj9vV.mjs} +3 -3
  240. package/dist/{renderer-R0sJId_6.mjs.map → renderer-Cbsnj9vV.mjs.map} +1 -1
  241. package/dist/{renderer-CBG6ewNf.mjs → renderer-CcoUNzlQ.mjs} +3 -3
  242. package/dist/{renderer-CBG6ewNf.mjs.map → renderer-CcoUNzlQ.mjs.map} +1 -1
  243. package/dist/renderer-Cd87JOjP.mjs +5 -0
  244. package/dist/{renderer-CbNW0KHh.mjs → renderer-CeiCJCg4.mjs} +3 -3
  245. package/dist/{renderer-CbNW0KHh.mjs.map → renderer-CeiCJCg4.mjs.map} +1 -1
  246. package/dist/renderer-Cev6orIK.mjs +6 -0
  247. package/dist/renderer-Cewf6UPh.mjs +5 -0
  248. package/dist/renderer-CnHsMLIv.mjs +5 -0
  249. package/dist/renderer-CoxuAr7b.mjs +5 -0
  250. package/dist/{renderer-BqSiWRoD.mjs → renderer-CqtIbe5n.mjs} +2 -2
  251. package/dist/{renderer-BqSiWRoD.mjs.map → renderer-CqtIbe5n.mjs.map} +1 -1
  252. package/dist/renderer-CrdG7trA.mjs +5 -0
  253. package/dist/{renderer-D-eTVnDS.mjs → renderer-Csss5GFQ.mjs} +2 -2
  254. package/dist/{renderer-D-eTVnDS.mjs.map → renderer-Csss5GFQ.mjs.map} +1 -1
  255. package/dist/renderer-Cu5MFgbk.mjs +5 -0
  256. package/dist/renderer-CuOjhtoo.mjs +5 -0
  257. package/dist/{renderer-Mdyv_W8K.mjs → renderer-Cv4lchUP.mjs} +3 -3
  258. package/dist/{renderer-Mdyv_W8K.mjs.map → renderer-Cv4lchUP.mjs.map} +1 -1
  259. package/dist/{renderer-CJwgsecF.mjs → renderer-Cw6Sagih.mjs} +3 -3
  260. package/dist/{renderer-CJwgsecF.mjs.map → renderer-Cw6Sagih.mjs.map} +1 -1
  261. package/dist/{renderer-DlESyfg7.d.mts → renderer-CxqPeATd.d.mts} +2 -2
  262. package/dist/{renderer-DlESyfg7.d.mts.map → renderer-CxqPeATd.d.mts.map} +1 -1
  263. package/dist/{renderer-DYo_a5-8.mjs → renderer-CzRqzp8P.mjs} +3 -3
  264. package/dist/{renderer-DYo_a5-8.mjs.map → renderer-CzRqzp8P.mjs.map} +1 -1
  265. package/dist/{renderer-BmWH4dK1.mjs → renderer-Czxgaygb.mjs} +8 -7
  266. package/dist/{renderer-BmWH4dK1.mjs.map → renderer-Czxgaygb.mjs.map} +1 -1
  267. package/dist/{renderer-CgEMtLOL.mjs → renderer-D0vom99O.mjs} +2 -2
  268. package/dist/{renderer-CgEMtLOL.mjs.map → renderer-D0vom99O.mjs.map} +1 -1
  269. package/dist/{renderer-BebePsG7.mjs → renderer-D2-V9nQq.mjs} +3 -3
  270. package/dist/{renderer-BebePsG7.mjs.map → renderer-D2-V9nQq.mjs.map} +1 -1
  271. package/dist/renderer-D2_0g6Oi.mjs +5 -0
  272. package/dist/renderer-D62FwolD.mjs +5 -0
  273. package/dist/{renderer-CMzd3BrW.mjs → renderer-D6BXR7P4.mjs} +2 -2
  274. package/dist/{renderer-CMzd3BrW.mjs.map → renderer-D6BXR7P4.mjs.map} +1 -1
  275. package/dist/renderer-DDNY9N7I.mjs +5 -0
  276. package/dist/{renderer-MS70wrQB.mjs → renderer-DFJQ6v0F.mjs} +2 -2
  277. package/dist/{renderer-MS70wrQB.mjs.map → renderer-DFJQ6v0F.mjs.map} +1 -1
  278. package/dist/renderer-DF_ONJ3v.mjs +5 -0
  279. package/dist/{renderer-DjPC9l3w.mjs → renderer-DILUmb-e.mjs} +3 -3
  280. package/dist/{renderer-DjPC9l3w.mjs.map → renderer-DILUmb-e.mjs.map} +1 -1
  281. package/dist/{renderer-Ch1rv1XP.mjs → renderer-DKfwlE4e.mjs} +3 -3
  282. package/dist/{renderer-Ch1rv1XP.mjs.map → renderer-DKfwlE4e.mjs.map} +1 -1
  283. package/dist/{renderer-B5Icb0XW.mjs → renderer-DScyMHpJ.mjs} +2 -2
  284. package/dist/{renderer-B5Icb0XW.mjs.map → renderer-DScyMHpJ.mjs.map} +1 -1
  285. package/dist/{renderer-Fm2brScz.mjs → renderer-DTw-W0Yz.mjs} +3 -3
  286. package/dist/{renderer-Fm2brScz.mjs.map → renderer-DTw-W0Yz.mjs.map} +1 -1
  287. package/dist/{renderer-dJcu7WqI.mjs → renderer-DZJJHCtm.mjs} +3 -3
  288. package/dist/{renderer-dJcu7WqI.mjs.map → renderer-DZJJHCtm.mjs.map} +1 -1
  289. package/dist/{renderer-B6c_Rk_2.mjs → renderer-DaSxr9fM.mjs} +3 -3
  290. package/dist/{renderer-B6c_Rk_2.mjs.map → renderer-DaSxr9fM.mjs.map} +1 -1
  291. package/dist/{renderer-BRWpn3dT.mjs → renderer-DaqWTx7s.mjs} +3 -3
  292. package/dist/{renderer-BRWpn3dT.mjs.map → renderer-DaqWTx7s.mjs.map} +1 -1
  293. package/dist/renderer-DbzrVHEE.mjs +5 -0
  294. package/dist/{renderer-CPNLkir4.mjs → renderer-DcBGYN3V.mjs} +3 -3
  295. package/dist/{renderer-CPNLkir4.mjs.map → renderer-DcBGYN3V.mjs.map} +1 -1
  296. package/dist/{renderer-BkXqFmNO.mjs → renderer-DjBCWxYy.mjs} +3 -3
  297. package/dist/{renderer-BkXqFmNO.mjs.map → renderer-DjBCWxYy.mjs.map} +1 -1
  298. package/dist/{renderer-D90PpIKG.mjs → renderer-DjwITRvg.mjs} +2 -2
  299. package/dist/renderer-DlYchp1v.mjs +5 -0
  300. package/dist/renderer-DqcUNP8J.mjs +5 -0
  301. package/dist/renderer-DqvFhEQj.mjs +5 -0
  302. package/dist/{renderer-ktpusVT2.mjs → renderer-DwVOxdzC.mjs} +3 -3
  303. package/dist/{renderer-ktpusVT2.mjs.map → renderer-DwVOxdzC.mjs.map} +1 -1
  304. package/dist/{renderer-_Fh9IBlE.mjs → renderer-Dwu_zfdL.mjs} +3 -3
  305. package/dist/{renderer-_Fh9IBlE.mjs.map → renderer-Dwu_zfdL.mjs.map} +1 -1
  306. package/dist/renderer-DxBav2bE.mjs +5 -0
  307. package/dist/{renderer-DS64UaYK.mjs → renderer-DyyIXLQK.mjs} +3 -3
  308. package/dist/{renderer-DS64UaYK.mjs.map → renderer-DyyIXLQK.mjs.map} +1 -1
  309. package/dist/{renderer-DqlvbOUt.mjs → renderer-DzSMeQBC.mjs} +3 -3
  310. package/dist/{renderer-DqlvbOUt.mjs.map → renderer-DzSMeQBC.mjs.map} +1 -1
  311. package/dist/{renderer-BXCZev4l.mjs → renderer-EZp_IIPK.mjs} +3 -3
  312. package/dist/{renderer-BXCZev4l.mjs.map → renderer-EZp_IIPK.mjs.map} +1 -1
  313. package/dist/{renderer-Bf4BdBtb.mjs → renderer-G1pMJH5C.mjs} +2 -2
  314. package/dist/{renderer-Bf4BdBtb.mjs.map → renderer-G1pMJH5C.mjs.map} +1 -1
  315. package/dist/renderer-GvSRoQje.mjs +5 -0
  316. package/dist/{renderer-DQtk282o.mjs → renderer-If8JOkBi.mjs} +2 -2
  317. package/dist/{renderer-DQtk282o.mjs.map → renderer-If8JOkBi.mjs.map} +1 -1
  318. package/dist/{renderer-CRYO5HQw.mjs → renderer-JvcR1vYI.mjs} +2 -2
  319. package/dist/{renderer-CRYO5HQw.mjs.map → renderer-JvcR1vYI.mjs.map} +1 -1
  320. package/dist/renderer-KP7Ita9g.mjs +5 -0
  321. package/dist/{renderer-Cz11KJmQ.mjs → renderer-NizuhHsH.mjs} +3 -3
  322. package/dist/{renderer-Cz11KJmQ.mjs.map → renderer-NizuhHsH.mjs.map} +1 -1
  323. package/dist/renderer-Pc8dyNXt.mjs +5 -0
  324. package/dist/{renderer-ClK7_Yzz.mjs → renderer-RDCax5CK.mjs} +3 -3
  325. package/dist/{renderer-ClK7_Yzz.mjs.map → renderer-RDCax5CK.mjs.map} +1 -1
  326. package/dist/{renderer-Bq9jXYJ5.mjs → renderer-UcdqCarR.mjs} +3 -3
  327. package/dist/{renderer-Bq9jXYJ5.mjs.map → renderer-UcdqCarR.mjs.map} +1 -1
  328. package/dist/{renderer-DL4oR40b.mjs → renderer-V5uEyDFz.mjs} +3 -3
  329. package/dist/{renderer-DL4oR40b.mjs.map → renderer-V5uEyDFz.mjs.map} +1 -1
  330. package/dist/{renderer-F410V727.mjs → renderer-X0eKSD7v.mjs} +3 -3
  331. package/dist/{renderer-F410V727.mjs.map → renderer-X0eKSD7v.mjs.map} +1 -1
  332. package/dist/{renderer-Dw1e5phO.mjs → renderer-Za4D9hej.mjs} +3 -3
  333. package/dist/{renderer-Dw1e5phO.mjs.map → renderer-Za4D9hej.mjs.map} +1 -1
  334. package/dist/{renderer-CczmOPAO.mjs → renderer-apeDrNXM.mjs} +3 -3
  335. package/dist/{renderer-CczmOPAO.mjs.map → renderer-apeDrNXM.mjs.map} +1 -1
  336. package/dist/renderer-ezRCmU09.mjs +3 -0
  337. package/dist/{renderer--S2cNYXS.mjs → renderer-gRMkQabv.mjs} +3 -3
  338. package/dist/{renderer--S2cNYXS.mjs.map → renderer-gRMkQabv.mjs.map} +1 -1
  339. package/dist/renderer-h6ev1ogx.mjs +5 -0
  340. package/dist/{renderer-8k-TR_Cy.mjs → renderer-rXgqgAjw.mjs} +3 -3
  341. package/dist/{renderer-8k-TR_Cy.mjs.map → renderer-rXgqgAjw.mjs.map} +1 -1
  342. package/dist/{renderer-DjwF10p2.mjs → renderer-ut1GqW89.mjs} +3 -3
  343. package/dist/{renderer-DjwF10p2.mjs.map → renderer-ut1GqW89.mjs.map} +1 -1
  344. package/dist/{renderer-w8LKBg_5.mjs → renderer-yyUpCeWb.mjs} +2 -2
  345. package/dist/{renderer-w8LKBg_5.mjs.map → renderer-yyUpCeWb.mjs.map} +1 -1
  346. package/dist/{renderers-CP8CFWDs-DXiR_PLR.mjs → renderers-CP8CFWDs-DzGXDs5p.mjs} +3 -3
  347. package/dist/{renderers-CP8CFWDs-DXiR_PLR.mjs.map → renderers-CP8CFWDs-DzGXDs5p.mjs.map} +1 -1
  348. package/dist/signals/index.d.mts +5 -5
  349. package/dist/signals/index.mjs +6 -6
  350. package/dist/{signals-DGRs6ddH.mjs → signals-C5nOrRmn.mjs} +3 -3
  351. package/dist/{signals-DGRs6ddH.mjs.map → signals-C5nOrRmn.mjs.map} +1 -1
  352. package/package.json +57 -56
  353. package/dist/dist-CPUIfrtw.mjs.map +0 -1
  354. package/dist/dist-CturBK2Z.mjs.map +0 -1
  355. package/dist/dist-fjKpBYkc.mjs.map +0 -1
  356. package/dist/index-AdrZIWT0.d.mts.map +0 -1
  357. package/dist/preview-engine/chunk-63SFBHEH.mjs +0 -1
  358. package/dist/preview-engine/chunk-7J2FWGVD.mjs +0 -1
  359. package/dist/preview-engine/chunk-M5HZPZHQ.mjs +0 -1
  360. package/dist/preview-engine/chunk-OG62XGCT.mjs +0 -5
  361. package/dist/preview-engine/chunk-U7NIY7UC.mjs +0 -1522
  362. package/dist/preview-engine/renderers-2H7YEUTD.mjs +0 -1
  363. package/dist/preview-engine/renderers-2ILG23ED.mjs +0 -1
  364. package/dist/preview-engine/renderers-3RC5FDWX.mjs +0 -1
  365. package/dist/preview-engine/renderers-6WH7NZCC.mjs +0 -1
  366. package/dist/preview-engine/renderers-7VJN5L3Z.mjs +0 -1
  367. package/dist/preview-engine/renderers-B7DSGUMI.mjs +0 -1
  368. package/dist/preview-engine/renderers-BFNJ7VCI.mjs +0 -1
  369. package/dist/preview-engine/renderers-CGYIDAVV.mjs +0 -1
  370. package/dist/preview-engine/renderers-DXHJAMZR.mjs +0 -1
  371. package/dist/preview-engine/renderers-ECA3P4ON.mjs +0 -1
  372. package/dist/preview-engine/renderers-FWGMNPYB.mjs +0 -1
  373. package/dist/preview-engine/renderers-HUW2ZMS3.mjs +0 -1
  374. package/dist/preview-engine/renderers-HXFRTIJD.mjs +0 -1
  375. package/dist/preview-engine/renderers-JHFT27YU.mjs +0 -1
  376. package/dist/preview-engine/renderers-NQXMYNSY.mjs +0 -1
  377. package/dist/preview-engine/renderers-ORAIXUL3.mjs +0 -1
  378. package/dist/preview-engine/renderers-Q4OFCMXI.mjs +0 -1
  379. package/dist/preview-engine/renderers-QVZVEYP5.mjs +0 -1
  380. package/dist/preview-engine/renderers-RKDPX5JU.mjs +0 -1
  381. package/dist/preview-engine/renderers-SBFF7JP5.mjs +0 -1
  382. package/dist/preview-engine/renderers-TAWT3ZSS.mjs +0 -1
  383. package/dist/preview-engine/renderers-UHTO6BQA.mjs +0 -1
  384. package/dist/preview-engine/renderers-UNK6I4JJ.mjs +0 -1
  385. package/dist/preview-engine/renderers-W773SBPV.mjs +0 -1
  386. package/dist/preview-engine/renderers-XHTMRXC5.mjs +0 -1
  387. package/dist/preview-engine/renderers-YECY2YFT.mjs +0 -1
  388. package/dist/preview-engine/renderers-YMN6QXK7.mjs +0 -1
  389. package/dist/preview-engine/renderers-ZANPE3OK.mjs +0 -1
  390. package/dist/preview-engine/renderers-ZHTX73PR.mjs +0 -1
  391. package/dist/preview-engine/renderers-ZJTRANIX.mjs +0 -1
  392. package/dist/renderer-1hypa-l7.mjs +0 -5
  393. package/dist/renderer-6D8M4DRu.mjs +0 -5
  394. package/dist/renderer-APrj6tdP.mjs +0 -5
  395. package/dist/renderer-BARst3ZD.mjs +0 -3
  396. package/dist/renderer-BF8wlbN1.mjs +0 -5
  397. package/dist/renderer-BOUcMCJB.mjs +0 -5
  398. package/dist/renderer-BSwn6KmG.mjs +0 -5
  399. package/dist/renderer-BUxvuC5A.mjs +0 -5
  400. package/dist/renderer-BYOsmJ8F.mjs +0 -5
  401. package/dist/renderer-Bp7LqSTt.mjs +0 -5
  402. package/dist/renderer-CD0amH_Q.mjs +0 -5
  403. package/dist/renderer-CIJGjrt7.mjs +0 -5
  404. package/dist/renderer-CNFTl94b.mjs +0 -5
  405. package/dist/renderer-CTJ0gHPS.mjs +0 -5
  406. package/dist/renderer-Cc3INn7w.mjs +0 -5
  407. package/dist/renderer-CeHh2lKY.mjs +0 -5
  408. package/dist/renderer-CfjwkQP4.mjs +0 -5
  409. package/dist/renderer-CiuOB-Md.mjs +0 -5
  410. package/dist/renderer-Cor66Y2X.mjs +0 -5
  411. package/dist/renderer-CtIM0LWe.mjs +0 -5
  412. package/dist/renderer-CyqgTsnx.mjs +0 -5
  413. package/dist/renderer-D2QG9yIW.mjs +0 -5
  414. package/dist/renderer-D2woU27o.mjs +0 -6
  415. package/dist/renderer-DAhDiQQY.mjs +0 -5
  416. package/dist/renderer-DIjxOQFi.mjs +0 -5
  417. package/dist/renderer-DRzalGhU.mjs +0 -5
  418. package/dist/renderer-DY6S1jWp.mjs +0 -5
  419. package/dist/renderer-DeW0KNQV.mjs +0 -5
  420. package/dist/renderer-DsVSVFkl.mjs +0 -5
  421. package/dist/renderer-DxvcIgEU.mjs +0 -5
  422. package/dist/renderer-F0MKqmol.mjs +0 -5
  423. package/dist/renderer-OkbovcAc.mjs +0 -5
  424. package/dist/renderer-QyBeWMEL.mjs +0 -5
  425. package/dist/renderer-hSh5IrDp.mjs +0 -5
  426. package/dist/renderer-puLncHft.mjs +0 -5
  427. package/dist/renderer-wnFCaw7j.mjs +0 -5
  428. package/dist/renderer-xjtlyGS1.mjs +0 -5
package/dist/index.mjs CHANGED
@@ -1,65 +1,460 @@
1
1
  import "./chunk-GBe2k3y8.mjs";
2
- import { $ as TimelineTransformSchema, $t as serializeSignalData, A as MIME_TYPES, At as gradientStopsToOklab, B as OutputItemSchema, Bt as parseCssColor, C as FileDataSchema, Ct as generateId, D as HandleTypeVal, Dt as getLeafMediaType, E as Gradient, Et as getFingerprint, F as ModerationUnrefundableError, Ft as isVirtualMediaData, G as SignalGateDataSchema, Gt as reportRenderDiagnostic, H as Signal, Ht as programmaticSignal, I as MultiOutputGenericSchema, It as limitGradientStops, J as SingleOutputGenericSchema, Jt as resolveNumber, K as SignalMathDataSchema, Kt as resolveBoolean, L as NodeMetadataSchema, Lt as mixColors, M as MediaOperationSchema, Mt as isCssGradient, N as MediaSourceSchema, Nt as isEqual, O as JsonValueSchema, Ot as getMediaType, P as ModerationError, Pt as isSignal, Q as TimelineSegmentSchema, Qt as sampleColorStops, R as NodeResultSchema, Rt as normalizeColorStops, S as FileAssetSchema, St as frameSignal, T as GlobalCompositeOperation, Tt as getFileDataMetadata, U as SignalChannelMetaSchema, Ut as progressSignal, V as ProgrammaticSignal, Vt as parseCssGradient, W as SignalDataSchema, Wt as registerSignalDependency, X as TEXT_LAYER_DEFAULTS, Xt as resolveString, Y as SourceOperationSchema, Yt as resolveParam, Z as TextOperationSchema, Zt as rgbToOklab, _ as DataTypeVal, _t as deserializeSignalData, a as BaseVideoLayerPropsSchema, an as timeSignal, at as VideoStylePropsSchema, b as ExportResultSchema, bt as formatHex, c as COMPOSITOR_DEFAULTS, ct as VirtualMediaDataSchema, d as ConfigSchemaRegistry, dt as computeVideoCropRenderProps, en as signal, et as TransitionSchema, f as DATA_TYPE_EXTENSIONS, ft as computed, g as DataType, gt as dataTypeColors, h as DEFAULT_MEDIA_DIMENSION, ht as createVirtualMedia, i as BaseMediaOperationPropsSchema, in as takeRenderDiagnostics, it as VideoSpatialPropsSchema, j as MediaMetadataSchema, jt as hasOnlySingleSource, k as MAX_GRADIENT_STOPS, kt as getRenderFingerprint, l as Color, lt as appendOperation, m as DEFAULT_FPS, mt as createOutputItemSchema, n as AnyOutputUnionSchema, nn as sineSignal, nt as VideoAnimationSchema, o as CAPTION_LAYER_DEFAULTS, on as updateClockSignals, ot as VideoTextPropsSchema, p as DEFAULT_DURATION_MS, pt as cosineSignal, q as SignalStatsSchema, qt as resolveMediaMimeType, r as AudioExtractorSignalDataSchema, rn as stampResult, rt as VideoLayerTypeSchema, s as COMPOSITE_OPERATIONS, st as VideoTimingPropsSchema, t as AnimationTypeSchema, tn as signalBuilder, tt as TransitionTypeSchema, u as ConfigHandleSchema, ut as checkNodeResultCache, v as DataTypes, vt as extractSvgDimensions, w as GeneratorSignalDataSchema, wt as getActiveMediaMetadata, x as ExtendedLayerSchema, xt as frameArraySignal, y as Effect$1, yt as findSourceAsset, z as NodeVisualConfigSchema, zt as oklabToRgb } from "./dist-fjKpBYkc.mjs";
3
- import { $t as TextSelectorSchema, A as ensureDevice, An as sampleAudioSpectrumScale, At as GlyphAnchorGroupingSchema, B as loadModel3D, Cn as evaluateTypewriterState, Ct as AudioSpectrumTypographySchema, Dn as getScramblePool, Dt as EnhancedTextNodeSchema, En as generatePathSegments, Et as DynamicStrokePropertiesSchema, Ft as ParticleDissolveConfigSchema, G as parseColor, Gt as TextAnimatorBuilder, H as lutStore, Ht as Spatial3DPropertiesSchema, It as SelectorBasedOnSchema, J as parseOBJ, Jt as TextPathBuilder, K as parseFBX, Kt as TextCursorConfigSchema, L as inputStore, Lt as SelectorModeSchema, M as generateExtrudedTextGeometry, Mn as samplePathChainGeometry, Mt as KineticMarqueeConfigSchema, Nn as signalRegistry, Nt as LineSpacingDynamicsSchema, On as getShuffledOrder, Ot as ExpressionSelectorSchema, P as getPrimitiveGeometry, Pn as waveToCubicBeziers, Pt as LongShadowConfigSchema, Qt as TextScrambleConfigSchema, Rt as SelectorShapeSchema, Sn as evaluateSpringProgress, Tn as generateArcLengthLUT, Tt as CubicBezierSegmentSchema, Ut as SpringPhysicsSchema, V as loadOBJ, Vt as SkewPropertiesSchema, W as mediaDecoderCache, Wt as TextAnchorConfigSchema, Xt as TextPathSourceSchema, Y as parseSvgPathToSegments, Yt as TextPathOptionsSchema, Zt as TextRangeSelectorSchema, _ as buildShapeSvgPath, _n as evaluateCubicBezierDerivative, _t as AdvancedTextAnimatorBuilder, a as GlassPipeline, an as Vec2Schema, bn as evaluateSelectorCombination, bt as AnchorPresetSchema, c as Renderer2D, cn as buildPathLUT, ct as LIGHT_UNIFORM_SIZE_BYTES, dn as computeLineLeadingDisplacement, dt as Matrix4Math, en as TextSignalSelectorSchema, et as shaderStore, f as ShadowPipeline, fn as computeRangeSelectorWeight, ft as Path3D, gn as evaluateCubicBezier, gt as AETextAnimatorSchema, h as SlugPipeline, hn as ellipseToCubicBeziers, ht as resolveEnvironment, i as EffectPipeline, in as VariableFontAxesSchema, jn as sampleCurveGeometry, jt as GlyphAnchorPointSchema, kn as parseSvgPathToCubicBeziers, kt as ExtendedGlyphPropertiesSchema, l as Renderer3D, lt as Light3D, mn as distanceToCurveParameter, mt as parseColorToRgb, n as AudioLatentTrackCache, nn as TypewriterAnimatorSchema, o as MotionBlurPipeline, on as VolumetricFormationConfigSchema, ot as Camera3D, p as SlugFontCache, pn as deterministicWigglyNoise, pt as Vector3Math, q as parseMTL, qt as TextCursorStyleSchema, r as AudioMeshDeformPipeline, rn as TypingCadenceSchema, rt as textureCache, sn as VolumetricFormationModeSchema, st as ENVIRONMENT_PRESETS, t as AudioLatentEngine, tn as TextWigglySelectorSchema, u as SSAOPipeline, un as computeAnchorPivotOffset, ut as MAX_LIGHTS, vn as evaluateExpressionSelector, vt as AdvancedTextAnimatorSchema, wn as evaluateVolumetricFormation, wt as ChromaticGlitchConfigSchema, x as describeGpu, xn as evaluateSkewMatrix, xt as AnimatableGlyphPropsSchema, yn as evaluateMarqueeOffset, yt as AnchorGroupingSchema, z as loadFBX, zt as SelectorUnitsSchema } from "./dist-CturBK2Z.mjs";
4
- import "./renderers-CP8CFWDs-DXiR_PLR.mjs";
5
- import "./signals-DGRs6ddH.mjs";
6
- import "./renderer-CbNW0KHh.mjs";
2
+ import { $ as TimelineTransformSchema, $t as sampleColorStops, A as MIME_TYPES, At as gradientStopsToOklab, B as OutputItemSchema, Bt as oklabToRgb, C as FileDataSchema, Ct as generateId, D as HandleTypeVal, Dt as getLeafMediaType, E as Gradient, Et as getFingerprint, F as ModerationUnrefundableError, Ft as isValueSignal, G as SignalGateDataSchema, Gt as registerSignalDependency, H as Signal, Ht as parseCssGradient, I as MultiOutputGenericSchema, It as isVirtualMediaData, J as SingleOutputGenericSchema, Jt as resolveMediaMimeType, K as SignalMathDataSchema, Kt as reportRenderDiagnostic, L as NodeMetadataSchema, Lt as limitGradientStops, M as MediaOperationSchema, Mt as isCssGradient, N as MediaSourceSchema, Nt as isEqual, O as JsonValueSchema, Ot as getMediaType, P as ModerationError, Pt as isSignal, Q as TimelineSegmentSchema, Qt as rgbToOklab, R as NodeResultSchema, Rt as mixColors, S as FileAssetSchema, St as frameSignal, T as GlobalCompositeOperation, Tt as getFileDataMetadata, U as SignalChannelMetaSchema, Ut as programmaticSignal, V as ProgrammaticSignal, Vt as parseCssColor, W as SignalDataSchema, Wt as progressSignal, X as TEXT_LAYER_DEFAULTS, Xt as resolveParam, Y as SourceOperationSchema, Yt as resolveNumber, Z as TextOperationSchema, Zt as resolveString, _ as DataTypeVal, _t as deserializeSignalData, a as BaseVideoLayerPropsSchema, an as takeRenderDiagnostics, at as VideoStylePropsSchema, b as ExportResultSchema, bt as formatHex, c as COMPOSITOR_DEFAULTS, ct as VirtualMediaDataSchema, d as ConfigSchemaRegistry, dt as computeVideoCropRenderProps, en as serializeSignalData, et as TransitionSchema, f as DATA_TYPE_EXTENSIONS, ft as computed, g as DataType, gt as dataTypeColors, h as DEFAULT_MEDIA_DIMENSION, ht as createVirtualMedia, i as BaseMediaOperationPropsSchema, in as stampResult, it as VideoSpatialPropsSchema, j as MediaMetadataSchema, jt as hasOnlySingleSource, k as MAX_GRADIENT_STOPS, kt as getRenderFingerprint, l as Color, lt as appendOperation, m as DEFAULT_FPS, mt as createOutputItemSchema, n as AnyOutputUnionSchema, nn as signalBuilder, nt as VideoAnimationSchema, o as CAPTION_LAYER_DEFAULTS, on as timeSignal, ot as VideoTextPropsSchema, p as DEFAULT_DURATION_MS, pt as cosineSignal, q as SignalStatsSchema, qt as resolveBoolean, r as AudioExtractorSignalDataSchema, rn as sineSignal, rt as VideoLayerTypeSchema, s as COMPOSITE_OPERATIONS, sn as updateClockSignals, st as VideoTimingPropsSchema, t as AnimationTypeSchema, tn as signal, tt as TransitionTypeSchema, u as ConfigHandleSchema, ut as checkNodeResultCache, v as DataTypes, vt as extractSvgDimensions, w as GeneratorSignalDataSchema, wt as getActiveMediaMetadata, x as ExtendedLayerSchema, xt as frameArraySignal, y as Effect$1, yt as findSourceAsset, z as NodeVisualConfigSchema, zt as normalizeColorStops } from "./dist-ClyC_d66.mjs";
3
+ import { $t as TextSelectorSchema, A as ensureDevice, An as sampleAudioSpectrumScale, At as GlyphAnchorGroupingSchema, B as loadModel3D, Cn as evaluateTypewriterState, Ct as AudioSpectrumTypographySchema, Dn as getScramblePool, Dt as EnhancedTextNodeSchema, En as generatePathSegments, Et as DynamicStrokePropertiesSchema, Ft as ParticleDissolveConfigSchema, G as parseColor, Gt as TextAnimatorBuilder, H as lutStore, Ht as Spatial3DPropertiesSchema, It as SelectorBasedOnSchema, J as parseOBJ, Jt as TextPathBuilder, K as parseFBX, Kt as TextCursorConfigSchema, L as inputStore, Lt as SelectorModeSchema, M as generateExtrudedTextGeometry, Mn as samplePathChainGeometry, Mt as KineticMarqueeConfigSchema, Nn as signalRegistry, Nt as LineSpacingDynamicsSchema, On as getShuffledOrder, Ot as ExpressionSelectorSchema, P as getPrimitiveGeometry, Pn as waveToCubicBeziers, Pt as LongShadowConfigSchema, Qt as TextScrambleConfigSchema, Rt as SelectorShapeSchema, Sn as evaluateSpringProgress, Tn as generateArcLengthLUT, Tt as CubicBezierSegmentSchema, Ut as SpringPhysicsSchema, V as loadOBJ, Vt as SkewPropertiesSchema, W as mediaDecoderCache, Wt as TextAnchorConfigSchema, Xt as TextPathSourceSchema, Y as parseSvgPathToSegments, Yt as TextPathOptionsSchema, Zt as TextRangeSelectorSchema, _ as buildShapeSvgPath, _n as evaluateCubicBezierDerivative, _t as AdvancedTextAnimatorBuilder, a as GlassPipeline, an as Vec2Schema, bn as evaluateSelectorCombination, bt as AnchorPresetSchema, c as Renderer2D, cn as buildPathLUT, ct as LIGHT_UNIFORM_SIZE_BYTES, dn as computeLineLeadingDisplacement, dt as Matrix4Math, en as TextSignalSelectorSchema, et as shaderStore, f as ShadowPipeline, fn as computeRangeSelectorWeight, ft as Path3D, gn as evaluateCubicBezier, gt as AETextAnimatorSchema, h as SlugPipeline, hn as ellipseToCubicBeziers, ht as resolveEnvironment, i as EffectPipeline, in as VariableFontAxesSchema, jn as sampleCurveGeometry, jt as GlyphAnchorPointSchema, kn as parseSvgPathToCubicBeziers, kt as ExtendedGlyphPropertiesSchema, l as Renderer3D, lt as Light3D, mn as distanceToCurveParameter, mt as parseColorToRgb, n as AudioLatentTrackCache, nn as TypewriterAnimatorSchema, o as MotionBlurPipeline, on as VolumetricFormationConfigSchema, ot as Camera3D, p as SlugFontCache, pn as deterministicWigglyNoise, pt as Vector3Math, q as parseMTL, qt as TextCursorStyleSchema, r as AudioMeshDeformPipeline, rn as TypingCadenceSchema, rt as textureCache, sn as VolumetricFormationModeSchema, st as ENVIRONMENT_PRESETS, t as AudioLatentEngine, tn as TextWigglySelectorSchema, u as SSAOPipeline, un as computeAnchorPivotOffset, ut as MAX_LIGHTS, vn as evaluateExpressionSelector, vt as AdvancedTextAnimatorSchema, wn as evaluateVolumetricFormation, wt as ChromaticGlitchConfigSchema, x as describeGpu, xn as evaluateSkewMatrix, xt as AnimatableGlyphPropsSchema, yn as evaluateMarqueeOffset, yt as AnchorGroupingSchema, z as loadFBX, zt as SelectorUnitsSchema } from "./dist-CspOG4V1.mjs";
4
+ import "./renderers-CP8CFWDs-DzGXDs5p.mjs";
5
+ import "./signals-C5nOrRmn.mjs";
6
+ import "./renderer-CeiCJCg4.mjs";
7
7
  import "./renderer-BajIOuZH.mjs";
8
- import { _ as spring, c as computeStrokeRect, d as measureSpring, f as measureText, g as requiresIsolation, h as preloadFont, i as mixAudioTracks, l as interpolate, m as preloadCompositionFonts, o as Easing, p as measureTextAsync, s as bezier, u as mapBlendModeToSkia, v as springCalculation } from "./dist-CPUIfrtw.mjs";
9
- import { t as AudioSignal } from "./audio-C7Kn5xBm.mjs";
10
- import { t as FontManager } from "./fonts-EgMNL8KE.mjs";
11
- import "./renderer-Rg1BFv8B.mjs";
12
- import "./renderer-BebePsG7.mjs";
13
- import "./renderer-DYo_a5-8.mjs";
14
- import "./renderer-QMGrRiab.mjs";
15
- import "./renderer-BkXqFmNO.mjs";
16
- import "./renderer-Cz11KJmQ.mjs";
8
+ import { _ as spring, c as computeStrokeRect, d as measureSpring, f as measureText, g as requiresIsolation, h as preloadFont, i as mixAudioTracks, l as interpolate, m as preloadCompositionFonts, o as Easing, p as measureTextAsync, s as bezier, u as mapBlendModeToSkia, v as springCalculation } from "./dist-CrK3rmyN.mjs";
9
+ import { t as AudioSignal } from "./audio-CPApYcWF.mjs";
10
+ import { t as FontManager } from "./fonts-CsMDfqv9.mjs";
11
+ import "./renderer-BMKFzfSQ.mjs";
12
+ import "./renderer-D2-V9nQq.mjs";
13
+ import "./renderer-CzRqzp8P.mjs";
14
+ import "./renderer--ruTGlPo.mjs";
15
+ import "./renderer-DjBCWxYy.mjs";
16
+ import "./renderer-NizuhHsH.mjs";
17
17
  import "./renderer-B-BcgA6d.mjs";
18
- import "./renderer-DDBmBmQN.mjs";
18
+ import "./renderer-C1E5Rt5q.mjs";
19
19
  import { i as softLimit, n as mixSfxInto, r as renderSfx, t as encodeStereoWav } from "./audio-DJeVoE8b.mjs";
20
20
  import { i as OpticalFlowComputePipeline, n as ControlNetMultiplexer, o as TemporalDeflickerPipeline, r as DepthNormalsComputePipeline, s as TensorPipeline, t as CannyComputePipeline } from "./dist-0QGroRYZ.mjs";
21
- import { _ as COCO_CLASSES, a as COCO17_KEYPOINT_NAMES, c as SpatialLandmarkTransformer, d as VisionNode, f as VisionRunner, g as pinNodeToObject, h as pinNodeToLandmark, i as COCO17_KEYPOINTS, l as TemporalObjectTracker, m as mergeSubjectMask, n as CLIP_SUBJECT, o as PoseSkeletonRenderer, p as analyzeSequence, r as COCO17_BONES, s as SegmentationTexturePool, u as VisionBundle } from "./renderer-DQtk282o.mjs";
22
- import { A as applyStaggerToChildren, B as evaluateTrackAtFrame, C as ShapeNodeSchema, D as TextSpanMarkSchema, E as TextNodeSchema, F as computeLayout, I as computeLayoutSync, L as computeStaggerDelay, M as collectNodeOps, N as compositorToProgram, O as TextSpanSchema, P as computeCarrierContinuity, R as evaluateAnimationAtFrame, S as Sequence, T as TextAnimatorSchema, U as lintComposition, V as hoistMattes, W as mergeAnimationTracks, _ as MediaNodeSchema, a as CarrierHandoffConfigSchema, b as SceneDefinitionSchema, c as EnvironmentFogSchema, d as LayerAnimation, f as LayoutNodeSchema, g as MatteModeSchema, h as MaterialTypeSchema, i as CameraNodeSchema, j as calculateSequenceTimeline, k as ToneMappingSchema, l as EnvironmentPresetSchema, m as LightTypeSchema, n as BoxNodeSchema, o as ColorStopSchema, p as LightNodeSchema, r as CameraAnimation, s as CompositorProgramSchema, t as BloomConfigSchema, u as FlexNodeSchema, v as Model3DNodeSchema, w as TextAnimator, x as SceneTransitionTypeSchema, y as Scene } from "./program-DtiNMTxO.mjs";
23
- import "./renderer-DacnnTjY.mjs";
24
- import "./renderer-CMzd3BrW.mjs";
25
- import "./renderer-DjwF10p2.mjs";
26
- import "./renderer-BYj8x8YM.mjs";
27
- import "./renderer-Bf4BdBtb.mjs";
28
- import "./renderer-S6ez0leJ.mjs";
29
- import "./renderer-BqSiWRoD.mjs";
30
- import "./renderer-dJcu7WqI.mjs";
31
- import "./renderer-6QAlE1Mp.mjs";
32
- import "./renderer-CRYO5HQw.mjs";
33
- import "./renderer-8k-TR_Cy.mjs";
34
- import "./renderer-BAmGO6Hj.mjs";
35
- import "./renderer-DL4oR40b.mjs";
36
- import "./renderer-CgEMtLOL.mjs";
37
- import "./renderer-ClK7_Yzz.mjs";
38
- import "./renderer-B48vtpou.mjs";
39
- import "./renderer-DNhOjz6C.mjs";
40
- import "./renderer-Kj9AhRCc.mjs";
41
- import "./renderer-CJwgsecF.mjs";
42
- import "./renderer-D-eTVnDS.mjs";
43
- import "./renderer-C4puWDLK.mjs";
44
- import "./renderer-R0sJId_6.mjs";
45
- import "./renderer-YtRSM2cv.mjs";
46
- import "./renderer-CBG6ewNf.mjs";
47
- import "./renderer-B3x-uogM.mjs";
48
- import "./renderer-Bq9jXYJ5.mjs";
49
- import "./renderer-B5Icb0XW.mjs";
50
- import "./renderer-CPNLkir4.mjs";
51
- import "./renderer-w8LKBg_5.mjs";
52
- import "./renderer-C2Ff-9u_.mjs";
53
- import "./renderer-MS70wrQB.mjs";
54
- import { $ as NoiseGenerator, A as AudioParametricEq, B as Datamosh, C as effectFactories, D as AudioDelay, E as AudioCompressor, F as ChannelSplitter, G as Gooey, H as Dither, I as ColorBalance, J as KenBurns, K as Iridescence, L as ColorKey, M as CRT, N as CameraParallax3D, O as AudioFade, P as ChannelMerger, Q as MeshWarp, R as Contour, S as Vision, T as Ascii, U as ExtractLUT, V as DisplacementMap, W as Flip, X as Liquify, Y as LayerStyle, Z as MaskMath, _ as SelectiveColor, a as CustomEffect, at as Posterize, b as TileOffset, c as GradientMap, ct as RefineEdge, d as Levels, dt as Rotate, et as OpArt, f as Modulate, ft as StereoPanning, g as SSAO, gt as effectMeta, h as Relight3D, ht as Vignette, i as Curves, it as Pixelate, j as AudioReverb, k as AudioNoiseGate, l as HalftoneScreen, lt as RefractionCaustics3D, m as PBRGlass, mt as Trails, n as AudioSignalExtractor, nt as Painterly, o as DepthOfField, ot as ProceduralVFX, p as MotionBlur, pt as Toon, q as Kaleidoscope, r as Crop, rt as PatchHeal, s as FilmGrain, st as RGBSplit, t as ApplyLUT, tt as Paint, u as HighPass, ut as ResizerScaler, v as ShadowsHighlights, w as Blur, x as UnsharpMask, y as TemporalDeflicker, z as CornerPin } from "./effects-CW1VgdI5.mjs";
55
- import { a as HeadlessMediaRenderer, c as renderSemaphore, i as resetRenderCaches, n as renderFrameGrid, o as HeadlessWebGPURenderer, r as resolveSamplePoints, s as formatQaReport, t as computeGridLayout } from "./renderer-_-MCpvGq.mjs";
56
- import { t as startPreview } from "./preview-1sjnhHQL.mjs";
21
+ import { _ as COCO_CLASSES, a as COCO17_KEYPOINT_NAMES, c as SpatialLandmarkTransformer, d as VisionNode, f as VisionRunner, g as pinNodeToObject, h as pinNodeToLandmark, i as COCO17_KEYPOINTS, l as TemporalObjectTracker, m as mergeSubjectMask, n as CLIP_SUBJECT, o as PoseSkeletonRenderer, p as analyzeSequence, r as COCO17_BONES, s as SegmentationTexturePool, u as VisionBundle } from "./renderer-If8JOkBi.mjs";
22
+ import { A as applyStaggerToChildren, B as evaluateTrackAtFrame, C as ShapeNodeSchema, D as TextSpanMarkSchema, E as TextNodeSchema, F as computeLayout, I as computeLayoutSync, L as computeStaggerDelay, M as collectNodeOps, N as compositorToProgram, O as TextSpanSchema, P as computeCarrierContinuity, R as evaluateAnimationAtFrame, S as Sequence, T as TextAnimatorSchema, U as lintComposition, V as hoistMattes, W as mergeAnimationTracks, _ as MediaNodeSchema, a as CarrierHandoffConfigSchema, b as SceneDefinitionSchema, c as EnvironmentFogSchema, d as LayerAnimation, f as LayoutNodeSchema, g as MatteModeSchema, h as MaterialTypeSchema, i as CameraNodeSchema, j as calculateSequenceTimeline, k as ToneMappingSchema, l as EnvironmentPresetSchema, m as LightTypeSchema, n as BoxNodeSchema, o as ColorStopSchema, p as LightNodeSchema, r as CameraAnimation, s as CompositorProgramSchema, t as BloomConfigSchema, u as FlexNodeSchema, v as Model3DNodeSchema, w as TextAnimator, x as SceneTransitionTypeSchema, y as Scene } from "./program-C2cJayA1.mjs";
23
+ import "./renderer-CDUxAtsk.mjs";
24
+ import "./renderer-D6BXR7P4.mjs";
25
+ import "./renderer-ut1GqW89.mjs";
26
+ import "./renderer-CNuVJ4nG.mjs";
27
+ import "./renderer-G1pMJH5C.mjs";
28
+ import "./renderer-BjvNEbML.mjs";
29
+ import "./renderer-CqtIbe5n.mjs";
30
+ import "./renderer-DZJJHCtm.mjs";
31
+ import "./renderer-BDCy8NgT.mjs";
32
+ import "./renderer-JvcR1vYI.mjs";
33
+ import "./renderer-rXgqgAjw.mjs";
34
+ import "./renderer-7y5Cj8rV.mjs";
35
+ import "./renderer-V5uEyDFz.mjs";
36
+ import "./renderer-D0vom99O.mjs";
37
+ import "./renderer-RDCax5CK.mjs";
38
+ import "./renderer-92eLJg24.mjs";
39
+ import "./renderer-Bi6W4RSn.mjs";
40
+ import "./renderer-BljMOvry.mjs";
41
+ import "./renderer-Cw6Sagih.mjs";
42
+ import "./renderer-Csss5GFQ.mjs";
43
+ import "./renderer-B4RpSd4A.mjs";
44
+ import "./renderer-Cbsnj9vV.mjs";
45
+ import "./renderer-BTigwMQp.mjs";
46
+ import "./renderer-CcoUNzlQ.mjs";
47
+ import "./renderer-BwwZB2mt.mjs";
48
+ import "./renderer-UcdqCarR.mjs";
49
+ import "./renderer-DScyMHpJ.mjs";
50
+ import "./renderer-DcBGYN3V.mjs";
51
+ import "./renderer-yyUpCeWb.mjs";
52
+ import "./renderer-BTd2sWDC.mjs";
53
+ import "./renderer-DFJQ6v0F.mjs";
54
+ import { $ as NoiseGenerator, A as AudioParametricEq, B as Datamosh, C as effectFactories, D as AudioDelay, E as AudioCompressor, F as ChannelSplitter, G as Gooey, H as Dither, I as ColorBalance, J as KenBurns, K as Iridescence, L as ColorKey, M as CRT, N as CameraParallax3D, O as AudioFade, P as ChannelMerger, Q as MeshWarp, R as Contour, S as Vision, T as Ascii, U as ExtractLUT, V as DisplacementMap, W as Flip, X as Liquify, Y as LayerStyle, Z as MaskMath, _ as SelectiveColor, a as CustomEffect, at as Posterize, b as TileOffset, c as GradientMap, ct as RefineEdge, d as Levels, dt as Rotate, et as OpArt, f as Modulate, ft as StereoPanning, g as SSAO, gt as effectMeta, h as Relight3D, ht as Vignette, i as Curves, it as Pixelate, j as AudioReverb, k as AudioNoiseGate, l as HalftoneScreen, lt as RefractionCaustics3D, m as PBRGlass, mt as Trails, n as AudioSignalExtractor, nt as Painterly, o as DepthOfField, ot as ProceduralVFX, p as MotionBlur, pt as Toon, q as Kaleidoscope, r as Crop, rt as PatchHeal, s as FilmGrain, st as RGBSplit, t as ApplyLUT, tt as Paint, u as HighPass, ut as ResizerScaler, v as ShadowsHighlights, w as Blur, x as UnsharpMask, y as TemporalDeflicker, z as CornerPin } from "./effects-DxylPSuI.mjs";
55
+ import { a as HeadlessMediaRenderer, c as renderSemaphore, i as resetRenderCaches, n as renderFrameGrid, o as HeadlessWebGPURenderer, r as resolveSamplePoints, s as formatQaReport, t as computeGridLayout } from "./renderer-CNb-DG00.mjs";
56
+ import { t as startPreview } from "./preview-D2dMmokw.mjs";
57
57
  import path from "node:path";
58
58
  import fs from "node:fs/promises";
59
59
  import { format } from "d3-format";
60
60
  import { scaleBand, scaleLinear, scaleUtc } from "d3-scale";
61
61
  import { arc, area, curveLinear, curveMonotoneX, curveStepAfter, line, pie, stack, stackOffsetDiverging } from "d3-shape";
62
62
 
63
+ //#region ../ai/dist/index.mjs
64
+ /**
65
+ * A non-2xx answer from the gateway or the model. `type` is the gateway's error code
66
+ * (`insufficient_credits`, `rate_limited`, `key_limit_reached`, …) when the gateway refused
67
+ * the call; it is unset when the model itself failed.
68
+ */
69
+ var ApiError = class extends Error {
70
+ status;
71
+ body;
72
+ requestId;
73
+ type;
74
+ constructor({ message, status: status$1, body, requestId, type }) {
75
+ super(message);
76
+ this.name = "ApiError";
77
+ this.status = status$1;
78
+ this.body = body;
79
+ this.requestId = requestId ?? "";
80
+ this.type = type;
81
+ }
82
+ };
83
+ /** A `422`: the input did not match the model's schema. `fieldErrors` says which fields. */
84
+ var ValidationError = class extends ApiError {
85
+ constructor(args) {
86
+ super(args);
87
+ this.name = "ValidationError";
88
+ }
89
+ get fieldErrors() {
90
+ return Array.isArray(this.body?.detail) ? this.body.detail : [];
91
+ }
92
+ getFieldErrors(field) {
93
+ return this.fieldErrors.filter((e) => e.loc[e.loc.length - 1] === field);
94
+ }
95
+ };
96
+ function messageOf(body, fallback) {
97
+ if (body?.error?.message) return body.error.message;
98
+ if (typeof body?.detail === "string") return body.detail;
99
+ if (Array.isArray(body?.detail)) {
100
+ const first = body.detail[0];
101
+ if (first?.msg) return `${first.msg} (${(first.loc ?? []).join(".")})`;
102
+ }
103
+ if (typeof body?.message === "string") return body.message;
104
+ return fallback;
105
+ }
106
+ /** Builds the error for a failed response; the body is read here, once. */
107
+ async function errorFromResponse(response) {
108
+ const text = await response.text().catch(() => "");
109
+ let body = text || void 0;
110
+ try {
111
+ body = text ? JSON.parse(text) : void 0;
112
+ } catch {}
113
+ const parsed = typeof body === "object" && body !== null ? body : void 0;
114
+ const args = {
115
+ message: messageOf(parsed, `${response.status} ${response.statusText}`.trim()),
116
+ status: response.status,
117
+ body,
118
+ requestId: response.headers.get("x-framefields-request-id") ?? void 0,
119
+ type: parsed?.error?.type
120
+ };
121
+ return response.status === 422 && Array.isArray(parsed?.detail) ? new ValidationError(args) : new ApiError(args);
122
+ }
123
+ /** The framefields AI gateway. Every request goes here, authenticated with a framefields key. */
124
+ const FRAMEFIELDS_AI_PROXY_URL = "https://api.framefields.dev/v1/ai/proxy";
125
+ let configuredKey;
126
+ const env = (name) => typeof process !== "undefined" ? process.env?.[name] : void 0;
127
+ function setApiKey(key) {
128
+ configuredKey = key;
129
+ }
130
+ function apiKey() {
131
+ const key = configuredKey ?? env("FRAMEFIELDS_API_KEY");
132
+ if (!key) throw new Error("framefields ai: no API key. Set FRAMEFIELDS_API_KEY or call ai.config({ apiKey }). Create a key at https://framefields.dev/dashboard/keys");
133
+ return key;
134
+ }
135
+ function targetOf({ service, path: path$1, query }) {
136
+ const params = new URLSearchParams();
137
+ for (const [name, value] of Object.entries(query ?? {})) if (value !== void 0) params.set(name, value);
138
+ const search = params.size ? `?${params}` : "";
139
+ return `${service}/${path$1.replace(/^\/+/, "")}${search}`;
140
+ }
141
+ /**
142
+ * Sends one call through the gateway and returns the response, or throws `ApiError` /
143
+ * `ValidationError` for a non-2xx answer. The key is checked before anything is sent.
144
+ */
145
+ async function gatewayFetch(request) {
146
+ const headers = {
147
+ Authorization: `Key ${apiKey()}`,
148
+ Accept: request.accept ?? "application/json",
149
+ "x-framefields-target": targetOf(request)
150
+ };
151
+ const hasBody = request.body !== void 0;
152
+ if (hasBody) headers["Content-Type"] = "application/json";
153
+ const response = await fetch(env("FRAMEFIELDS_AI_PROXY_URL") ?? FRAMEFIELDS_AI_PROXY_URL, {
154
+ method: request.method ?? (hasBody ? "POST" : "GET"),
155
+ headers,
156
+ body: hasBody ? JSON.stringify(request.body) : void 0,
157
+ signal: request.signal
158
+ });
159
+ if (!response.ok) throw await errorFromResponse(response);
160
+ return response;
161
+ }
162
+ /** `gatewayFetch` for JSON answers, with the gateway's request id alongside. */
163
+ async function gatewayJson(request) {
164
+ const response = await gatewayFetch(request);
165
+ return {
166
+ data: await response.json(),
167
+ requestId: response.headers.get("x-framefields-request-id") ?? ""
168
+ };
169
+ }
170
+ /** Files above this size upload in parts. */
171
+ const MULTIPART_THRESHOLD = 90 * 1024 * 1024;
172
+ const PART_SIZE = 10 * 1024 * 1024;
173
+ const PART_TRIES = 3;
174
+ const EXTENSIONS = {
175
+ "image/jpeg": "jpg",
176
+ "image/png": "png",
177
+ "image/webp": "webp",
178
+ "video/mp4": "mp4",
179
+ "audio/mpeg": "mp3",
180
+ "audio/wav": "wav"
181
+ };
182
+ function fileName(file, contentType) {
183
+ if ("name" in file && typeof file.name === "string" && file.name) return file.name;
184
+ return `${Date.now()}.${EXTENSIONS[contentType] ?? "bin"}`;
185
+ }
186
+ function initiate(file, multipart) {
187
+ const contentType = file.type || "application/octet-stream";
188
+ return gatewayJson({
189
+ service: "storage",
190
+ path: multipart ? "upload/initiate-multipart" : "upload/initiate",
191
+ body: {
192
+ content_type: contentType,
193
+ file_name: fileName(file, contentType)
194
+ }
195
+ }).then((r) => r.data);
196
+ }
197
+ async function put(url, init) {
198
+ const response = await fetch(url, init);
199
+ if (!response.ok) throw await errorFromResponse(response);
200
+ return response;
201
+ }
202
+ async function uploadPart(url, chunk) {
203
+ for (let attempt = 1;; attempt++) try {
204
+ return await (await put(url, {
205
+ method: "PUT",
206
+ body: chunk
207
+ })).json();
208
+ } catch (err) {
209
+ if (attempt >= PART_TRIES) throw err;
210
+ }
211
+ }
212
+ async function uploadMultipart(file) {
213
+ const ticket = await initiate(file, true);
214
+ const base = new URL(ticket.upload_url);
215
+ const partUrl = (suffix) => `${base.origin}${base.pathname}/${suffix}${base.search}`;
216
+ const parts = [];
217
+ for (let start = 0; start < file.size; start += PART_SIZE) {
218
+ const chunk = file.slice(start, Math.min(start + PART_SIZE, file.size));
219
+ parts.push(await uploadPart(partUrl(parts.length + 1), chunk));
220
+ }
221
+ await put(partUrl("complete"), {
222
+ method: "POST",
223
+ headers: { "Content-Type": "application/json" },
224
+ body: JSON.stringify({ parts: parts.map(({ partNumber, etag }) => ({
225
+ partNumber,
226
+ etag
227
+ })) })
228
+ });
229
+ return ticket.file_url;
230
+ }
231
+ async function upload(file) {
232
+ if (file.size > MULTIPART_THRESHOLD) return uploadMultipart(file);
233
+ const ticket = await initiate(file, false);
234
+ await put(ticket.upload_url, {
235
+ method: "PUT",
236
+ body: file,
237
+ headers: { "Content-Type": file.type || "application/octet-stream" }
238
+ });
239
+ return ticket.file_url;
240
+ }
241
+ const isPlainObject = (value) => typeof value === "object" && value !== null && Object.getPrototypeOf(value) === Object.prototype;
242
+ async function transformInput(input) {
243
+ if (input instanceof Blob) return await upload(input);
244
+ if (Array.isArray(input)) return await Promise.all(input.map((item) => transformInput(item)));
245
+ if (isPlainObject(input)) {
246
+ const entries = await Promise.all(Object.entries(input).map(async ([key, value]) => [key, await transformInput(value)]));
247
+ return Object.fromEntries(entries);
248
+ }
249
+ return input;
250
+ }
251
+ const storage = {
252
+ upload,
253
+ transformInput
254
+ };
255
+ /** Statuses worth asking again for: rate limits and a gateway or model service hiccup. */
256
+ const TRANSIENT = new Set([
257
+ 429,
258
+ 502,
259
+ 503,
260
+ 504
261
+ ]);
262
+ const READ_TRIES = 4;
263
+ const sleep = (ms, signal$1) => new Promise((resolve$1, reject) => {
264
+ signal$1?.throwIfAborted();
265
+ const timer = setTimeout(resolve$1, ms);
266
+ signal$1?.addEventListener("abort", () => {
267
+ clearTimeout(timer);
268
+ reject(signal$1.reason);
269
+ }, { once: true });
270
+ });
271
+ /** Reads (status, result) are free and idempotent, so transient failures are retried. */
272
+ async function read(run$1, signal$1) {
273
+ for (let attempt = 1;; attempt++) try {
274
+ return await run$1();
275
+ } catch (err) {
276
+ if (!(err instanceof ApiError && TRANSIENT.has(err.status)) || attempt >= READ_TRIES) throw err;
277
+ await sleep(500 * 2 ** attempt, signal$1);
278
+ }
279
+ }
280
+ const requestPath = (model, requestId, suffix = "") => `${model}/requests/${encodeURIComponent(requestId)}${suffix}`;
281
+ async function submit(model, { input, abortSignal }) {
282
+ const { data } = await gatewayJson({
283
+ service: "queue",
284
+ path: model,
285
+ body: await storage.transformInput(input) ?? {},
286
+ signal: abortSignal
287
+ });
288
+ return data;
289
+ }
290
+ function status(model, { requestId, logs, abortSignal }) {
291
+ return read(async () => {
292
+ const { data } = await gatewayJson({
293
+ service: "queue",
294
+ path: requestPath(model, requestId, "/status"),
295
+ query: { logs: logs ? "1" : void 0 },
296
+ signal: abortSignal
297
+ });
298
+ return data;
299
+ }, abortSignal);
300
+ }
301
+ function result(model, { requestId, abortSignal }) {
302
+ return read(async () => {
303
+ const { data } = await gatewayJson({
304
+ service: "queue",
305
+ path: requestPath(model, requestId),
306
+ signal: abortSignal
307
+ });
308
+ return {
309
+ data,
310
+ requestId
311
+ };
312
+ }, abortSignal);
313
+ }
314
+ async function cancel(model, { requestId, abortSignal }) {
315
+ await gatewayJson({
316
+ service: "queue",
317
+ path: requestPath(model, requestId, "/cancel"),
318
+ method: "PUT",
319
+ signal: abortSignal
320
+ });
321
+ }
322
+ async function subscribeToStatus(model, options) {
323
+ const interval = options.pollInterval ?? 500;
324
+ for (;;) {
325
+ const current = await status(model, options);
326
+ options.onQueueUpdate?.(current);
327
+ if (current.status === "COMPLETED") return current;
328
+ await sleep(interval, options.abortSignal);
329
+ }
330
+ }
331
+ const queue = {
332
+ submit,
333
+ status,
334
+ result,
335
+ cancel,
336
+ subscribeToStatus
337
+ };
338
+ /** Queues the job, waits for it, and returns its output. */
339
+ async function subscribe(model, options) {
340
+ const { request_id: requestId } = await submit(model, options);
341
+ options.onEnqueue?.(requestId);
342
+ await subscribeToStatus(model, {
343
+ ...options,
344
+ requestId
345
+ });
346
+ return result(model, {
347
+ requestId,
348
+ abortSignal: options.abortSignal
349
+ });
350
+ }
351
+ /** Yields each `data:` payload of a server-sent event stream, joined across lines. */
352
+ async function* serverSentEvents(body) {
353
+ const decoder = new TextDecoder();
354
+ let buffer = "";
355
+ for await (const chunk of body) {
356
+ buffer += decoder.decode(chunk, { stream: true }).replace(/\r\n?/g, "\n");
357
+ let end = buffer.indexOf("\n\n");
358
+ while (end !== -1) {
359
+ const block = buffer.slice(0, end);
360
+ buffer = buffer.slice(end + 2);
361
+ const parsed = parseBlock(block);
362
+ if (parsed) yield parsed;
363
+ end = buffer.indexOf("\n\n");
364
+ }
365
+ }
366
+ const last = parseBlock(buffer);
367
+ if (last) yield last;
368
+ }
369
+ function parseBlock(block) {
370
+ let event = "message";
371
+ const data = [];
372
+ for (const line$1 of block.split("\n")) if (line$1.startsWith("data:")) data.push(line$1.slice(5).replace(/^ /, ""));
373
+ else if (line$1.startsWith("event:")) event = line$1.slice(6).trim();
374
+ return data.length ? {
375
+ event,
376
+ data: data.join("\n")
377
+ } : null;
378
+ }
379
+ async function* outputs(body, requestId) {
380
+ for await (const { event, data } of serverSentEvents(body)) {
381
+ const payload = JSON.parse(data);
382
+ if (event === "error") throw new ApiError({
383
+ message: "The model stream ended with an error",
384
+ status: 500,
385
+ body: payload,
386
+ requestId
387
+ });
388
+ yield payload;
389
+ }
390
+ }
391
+ /** Runs a streaming model; resolves once the stream is open. */
392
+ async function stream(model, { input, abortSignal }) {
393
+ const controller = new AbortController();
394
+ const signal$1 = abortSignal ? AbortSignal.any([abortSignal, controller.signal]) : controller.signal;
395
+ const response = await gatewayFetch({
396
+ service: "run",
397
+ path: `${model}/stream`,
398
+ body: await storage.transformInput(input) ?? {},
399
+ accept: "text/event-stream",
400
+ signal: signal$1
401
+ });
402
+ const requestId = response.headers.get("x-framefields-request-id") ?? "";
403
+ if (!response.body) throw new ApiError({
404
+ message: "Empty stream",
405
+ status: 502,
406
+ requestId
407
+ });
408
+ const source = outputs(response.body, requestId);
409
+ let last;
410
+ let finished;
411
+ async function* tracked() {
412
+ for await (const value of source) {
413
+ last = value;
414
+ yield value;
415
+ }
416
+ }
417
+ const iterator = tracked();
418
+ const drain = async () => {
419
+ let step = await iterator.next();
420
+ while (!step.done) step = await iterator.next();
421
+ if (last === void 0) throw new ApiError({
422
+ message: "Stream had no output",
423
+ status: 502,
424
+ requestId
425
+ });
426
+ return last;
427
+ };
428
+ return {
429
+ requestId,
430
+ [Symbol.asyncIterator]: () => iterator,
431
+ done: () => {
432
+ finished ??= drain();
433
+ return finished;
434
+ },
435
+ abort: () => controller.abort()
436
+ };
437
+ }
438
+ async function run(model, { input, abortSignal }) {
439
+ return gatewayJson({
440
+ service: "run",
441
+ path: model,
442
+ body: await storage.transformInput(input) ?? {},
443
+ signal: abortSignal
444
+ });
445
+ }
446
+ const ai = {
447
+ config(options) {
448
+ setApiKey(options.apiKey);
449
+ },
450
+ run,
451
+ subscribe,
452
+ stream,
453
+ queue,
454
+ storage
455
+ };
456
+
457
+ //#endregion
63
458
  //#region src/ids.ts
64
459
  /**
65
460
  * Default ids for nodes created without one. A counter per prefix rather than
@@ -1423,14 +1818,14 @@ var PersonTrack = class PersonTrack {
1423
1818
  }
1424
1819
  /** Signals for a keypoint, for `.signal("x", …)`; read while rendering. */
1425
1820
  signals(name) {
1426
- const read = (axis) => Signal.builder({
1821
+ const read$1 = (axis) => Signal.builder({
1427
1822
  type: "custom",
1428
1823
  fn: (ctx) => this.point(name, ctx.frame)[axis]
1429
1824
  });
1430
1825
  return {
1431
- x: read("x"),
1432
- y: read("y"),
1433
- visibility: read("visibility")
1826
+ x: read$1("x"),
1827
+ y: read$1("y"),
1828
+ visibility: read$1("visibility")
1434
1829
  };
1435
1830
  }
1436
1831
  /**
@@ -1469,14 +1864,14 @@ var PersonTrack = class PersonTrack {
1469
1864
  const t = this.transform();
1470
1865
  const cx = (x - t.ox) / t.sx / cell - .5;
1471
1866
  const cy = (y - t.oy) / t.sy / cell - .5;
1472
- const read = (gx, gy) => gx < 0 || gy < 0 || gx >= w || gy >= h ? 0 : grid[gy * w + gx];
1867
+ const read$1 = (gx, gy) => gx < 0 || gy < 0 || gx >= w || gy >= h ? 0 : grid[gy * w + gx];
1473
1868
  const bil = (px, py) => {
1474
1869
  const x0 = Math.floor(px);
1475
1870
  const y0 = Math.floor(py);
1476
1871
  const ux = px - x0;
1477
1872
  const uy = py - y0;
1478
- const a = read(x0, y0) + (read(x0 + 1, y0) - read(x0, y0)) * ux;
1479
- return a + (read(x0, y0 + 1) + (read(x0 + 1, y0 + 1) - read(x0, y0 + 1)) * ux - a) * uy;
1873
+ const a = read$1(x0, y0) + (read$1(x0 + 1, y0) - read$1(x0, y0)) * ux;
1874
+ return a + (read$1(x0, y0 + 1) + (read$1(x0 + 1, y0 + 1) - read$1(x0, y0 + 1)) * ux - a) * uy;
1480
1875
  };
1481
1876
  return {
1482
1877
  alpha: bil(cx, cy),
@@ -2093,15 +2488,15 @@ var Particles = class extends Effect$1 {
2093
2488
  }
2094
2489
  particleFrame(frame, fps) {
2095
2490
  const o = this.options;
2096
- const read = (d, fallback) => d === void 0 ? fallback : sampleDriver(d, frame, fps);
2491
+ const read$1 = (d, fallback) => d === void 0 ? fallback : sampleDriver(d, frame, fps);
2097
2492
  const layerFrame = frame - (o.startFrame ?? 0);
2098
2493
  const burst = (o.emitter?.bursts ?? []).filter((b) => Math.round(b.frame) === layerFrame).reduce((n, b) => n + b.count, 0);
2099
2494
  const g = o.gravity;
2100
- const gravity = Array.isArray(g) ? [read(g[0], 0), read(g[1], 0)] : [0, read(g, 0)];
2495
+ const gravity = Array.isArray(g) ? [read$1(g[0], 0), read$1(g[1], 0)] : [0, read$1(g, 0)];
2101
2496
  let push = null;
2102
2497
  if (o.push) push = {
2103
- strength: read(o.push.strength, 6e3),
2104
- sweep: read(o.push.sweep, 6e4),
2498
+ strength: read$1(o.push.strength, 6e3),
2499
+ sweep: read$1(o.push.sweep, 6e4),
2105
2500
  mask: o.push.person.silhouetteGrid(frame),
2106
2501
  previous: o.push.person.silhouetteGrid(Math.max(0, frame - 1))
2107
2502
  };
@@ -2125,19 +2520,19 @@ var Particles = class extends Effect$1 {
2125
2520
  }
2126
2521
  return {
2127
2522
  ...emitter && { emitter },
2128
- rate: read(o.emitter?.rate, 1e3),
2523
+ rate: read$1(o.emitter?.rate, 1e3),
2129
2524
  burst,
2130
2525
  gravity,
2131
- drag: read(o.drag, .4),
2526
+ drag: read$1(o.drag, .4),
2132
2527
  noise: {
2133
- strength: read(o.noise?.strength, 0),
2528
+ strength: read$1(o.noise?.strength, 0),
2134
2529
  scale: o.noise?.scale ?? 300,
2135
2530
  speed: o.noise?.speed ?? .3
2136
2531
  },
2137
2532
  attractors: (o.attractors ?? []).map((a) => ({
2138
- x: read(a.x, 0),
2139
- y: read(a.y, 0),
2140
- strength: read(a.strength, 0),
2533
+ x: read$1(a.x, 0),
2534
+ y: read$1(a.y, 0),
2535
+ strength: read$1(a.strength, 0),
2141
2536
  radius: a.radius ?? 200
2142
2537
  })),
2143
2538
  push
@@ -3648,7 +4043,7 @@ var PhysicsWorld2D = class extends WorldCore {
3648
4043
  restitution: options.restitution ?? .2
3649
4044
  };
3650
4045
  const tall = H * 4 + t;
3651
- const result = {
4046
+ const result$1 = {
3652
4047
  floor: this.body({
3653
4048
  x: x - t,
3654
4049
  y: y + H,
@@ -3669,13 +4064,13 @@ var PhysicsWorld2D = class extends WorldCore {
3669
4064
  }, mat),
3670
4065
  ceiling: void 0
3671
4066
  };
3672
- if (options.ceiling) result.ceiling = this.body({
4067
+ if (options.ceiling) result$1.ceiling = this.body({
3673
4068
  x: x - t,
3674
4069
  y: y - t,
3675
4070
  width: W + 2 * t,
3676
4071
  height: t
3677
4072
  }, mat);
3678
- return result;
4073
+ return result$1;
3679
4074
  }
3680
4075
  /** Pins a body to the world at a point (default its center); it can still swing around it. */
3681
4076
  pin(body, at) {
@@ -4083,17 +4478,17 @@ var PhysicsBody3D = class {
4083
4478
  const follow = this.options.follow;
4084
4479
  if (this.type !== "kinematic" || !follow) return void 0;
4085
4480
  const fps = this.world.fps;
4086
- const read = (d, fallback) => d === void 0 ? fallback : sampleDriver(d, frame, fps);
4481
+ const read$1 = (d, fallback) => d === void 0 ? fallback : sampleDriver(d, frame, fps);
4087
4482
  const p = this.start.position;
4088
4483
  const r = this.start.rotation;
4089
4484
  const ppm = this.world.pixelsPerMeter;
4090
4485
  return {
4091
4486
  position: [
4092
- read(follow.x, p[0]) / ppm,
4093
- read(follow.y, p[1]) / ppm,
4094
- read(follow.z, p[2]) / ppm
4487
+ read$1(follow.x, p[0]) / ppm,
4488
+ read$1(follow.y, p[1]) / ppm,
4489
+ read$1(follow.z, p[2]) / ppm
4095
4490
  ],
4096
- rotation: quatFromEuler(read(follow.rotateX, r[0]), read(follow.rotateY, r[1]), read(follow.rotateZ, r[2]))
4491
+ rotation: quatFromEuler(read$1(follow.rotateX, r[0]), read$1(follow.rotateY, r[1]), read$1(follow.rotateZ, r[2]))
4097
4492
  };
4098
4493
  }
4099
4494
  /** @internal */
@@ -4422,11 +4817,11 @@ var PhysicsWorld3D = class extends WorldCore {
4422
4817
  /** A steady push, px/s² (mass-independent). Drivers are read every frame. */
4423
4818
  force(body, accel) {
4424
4819
  const ppm = this.pixelsPerMeter;
4425
- const read = (d, frame) => d === void 0 ? 0 : sampleDriver(d, frame, this.fps) / ppm;
4820
+ const read$1 = (d, frame) => d === void 0 ? 0 : sampleDriver(d, frame, this.fps) / ppm;
4426
4821
  this.addForce(body, (frame) => [
4427
- read(accel.x, frame),
4428
- read(accel.y, frame),
4429
- read(accel.z, frame)
4822
+ read$1(accel.x, frame),
4823
+ read$1(accel.y, frame),
4824
+ read$1(accel.z, frame)
4430
4825
  ]);
4431
4826
  return this;
4432
4827
  }
@@ -4985,14 +5380,14 @@ var Media = class Media {
4985
5380
  * Copies a rendered temp file to `outputPath` and drops the temp, so the
4986
5381
  * returned `filePath` is where the video actually lives.
4987
5382
  */
4988
- async function deliverToOutputPath(result, outputPath) {
4989
- if (!outputPath) return result;
5383
+ async function deliverToOutputPath(result$1, outputPath) {
5384
+ if (!outputPath) return result$1;
4990
5385
  const target = path.resolve(outputPath);
4991
5386
  await fs.mkdir(path.dirname(target), { recursive: true });
4992
- await fs.copyFile(result.filePath, target);
4993
- await result.cleanup();
5387
+ await fs.copyFile(result$1.filePath, target);
5388
+ await result$1.cleanup();
4994
5389
  return {
4995
- ...result,
5390
+ ...result$1,
4996
5391
  filePath: target,
4997
5392
  cleanup: async () => {}
4998
5393
  };
@@ -5579,22 +5974,22 @@ var Composition = class Composition {
5579
5974
  ...options,
5580
5975
  outputPath: outputPathOrOptions
5581
5976
  } : outputPathOrOptions;
5582
- const result = await (opts.renderer ?? new HeadlessMediaRenderer()).renderVideo(this.toVirtualMedia(), opts);
5583
- if (result.qa) {
5977
+ const result$1 = await (opts.renderer ?? new HeadlessMediaRenderer()).renderVideo(this.toVirtualMedia(), opts);
5978
+ if (result$1.qa) {
5584
5979
  const lint = this.lint();
5585
- const issues = [...result.qa.issues, ...lint.map((d) => ({
5980
+ const issues = [...result$1.qa.issues, ...lint.map((d) => ({
5586
5981
  severity: d.severity,
5587
5982
  code: d.code,
5588
5983
  message: d.message,
5589
5984
  ...d.layerId !== void 0 && { layerId: d.layerId }
5590
5985
  }))];
5591
- result.qa = {
5592
- ...result.qa,
5986
+ result$1.qa = {
5987
+ ...result$1.qa,
5593
5988
  issues,
5594
- passed: result.qa.passed && !lint.some((d) => d.severity === "error")
5989
+ passed: result$1.qa.passed && !lint.some((d) => d.severity === "error")
5595
5990
  };
5596
5991
  }
5597
- return deliverToOutputPath(result, opts.outputPath);
5992
+ return deliverToOutputPath(result$1, opts.outputPath);
5598
5993
  }
5599
5994
  /**
5600
5995
  * Checks the document for things that render without error but not as
@@ -6255,5 +6650,5 @@ const Effect = Object.assign(Effect$1, effectFactories, {
6255
6650
  });
6256
6651
 
6257
6652
  //#endregion
6258
- export { AETextAnimatorSchema, AdvancedTextAnimatorBuilder, AdvancedTextAnimatorSchema, AnchorGroupingSchema, AnchorPresetSchema, AnimatableGlyphPropsSchema, AnimationTypeSchema, AnyOutputUnionSchema, ApplyLUT, Ascii, AudioCompressor, AudioDelay, AudioExtractorSignalDataSchema, AudioFade, AudioLatentEngine, AudioLatentTrackCache, AudioMeshDeformPipeline, AudioNoiseGate, AudioParametricEq, AudioReverb, AudioSignal, AudioSignalExtractor, AudioSpectrumTypographySchema, BaseMediaOperationPropsSchema, BaseVideoLayerPropsSchema, BloomConfigSchema, Blur, BoxNodeSchema, CAPTION_LAYER_DEFAULTS, COCO17_BONES, COCO17_KEYPOINTS, COCO17_KEYPOINT_NAMES, COCO_CLASSES, COMPOSITE_OPERATIONS, COMPOSITOR_DEFAULTS, CRT, Camera3D, CameraAnimation, CameraNodeSchema, CameraParallax3D, CannyComputePipeline, CarrierHandoffConfigSchema, ChannelMerger, ChannelSplitter, ChromaticGlitchConfigSchema, ClipVision, Color, ColorBalance, ColorKey, ColorStopSchema, Composition, CompositorProgramSchema, ConfigHandleSchema, ConfigSchemaRegistry, Contour, ControlNetMultiplexer, CornerPin, Crop, CubicBezierSegmentSchema, Curves, CustomEffect, DATA_TYPE_EXTENSIONS, DEFAULT_CHART_COLORS, DEFAULT_DURATION_MS, DEFAULT_FPS, DEFAULT_MEDIA_DIMENSION, DataType, DataTypeVal, DataTypes, Datamosh, DepthNormalsComputePipeline, DepthOfField, DisplacementMap, Dither, DynamicStrokePropertiesSchema, ENVIRONMENT_PRESETS, Easing, Effect, EffectPipeline, EnhancedTextNodeSchema, EnvironmentFogSchema, EnvironmentPresetSchema, ExportResultSchema, ExpressionSelectorSchema, ExtendedGlyphPropertiesSchema, ExtendedLayerSchema, ExtractLUT, FileAssetSchema, FileDataSchema, FilmGrain, FlexNodeSchema, Flip, FontManager, GeneratorSignalDataSchema, GlassPipeline, GlobalCompositeOperation, GlyphAnchorGroupingSchema, GlyphAnchorPointSchema, Gooey, Gradient, GradientMap, HalftoneScreen, HandleTypeVal, HeadlessMediaRenderer, HeadlessWebGPURenderer, HighPass, Iridescence, JsonValueSchema, Kaleidoscope, KenBurns, KineticMarqueeConfigSchema, LIGHT_UNIFORM_SIZE_BYTES, Layer, Layer3D, LayerAnimation, LayerStyle, LayoutNodeSchema, Levels, Light, Light3D, LightNodeSchema, LightTypeSchema, Lighting, LineSpacingDynamicsSchema, Liquify, LongShadowConfigSchema, MAX_GRADIENT_STOPS, MAX_LIGHTS, MIME_TYPES, MaskMath, MaterialTypeSchema, Matrix4Math, MatteModeSchema, Media, MediaMetadataSchema, MediaNodeSchema, MediaOperationSchema, MediaSourceSchema, MeshWarp, Model3DNodeSchema, ModerationError, ModerationUnrefundableError, Modulate, MotionBlur, MotionBlurPipeline, MultiOutputGenericSchema, NodeMetadataSchema, NodeResultSchema, NodeVisualConfigSchema, NoiseGenerator, OpArt, OpticalFlowComputePipeline, OutputItemSchema, PBRGlass, Paint, Painterly, ParticleDissolveConfigSchema, Particles, PatchHeal, Path3D, PersonTrack, Physics, PhysicsBody2D, PhysicsBody3D, PhysicsWorld2D, PhysicsWorld3D, Pixelate, PoseSkeletonRenderer, Posterize, ProceduralVFX, ProgrammaticSignal, RGBSplit, RefineEdge, RefractionCaustics3D, Relight3D, Renderer2D, Renderer3D, ResizerScaler, Rotate, SSAO, SSAOPipeline, Scene, SceneDefinitionSchema, SceneTransitionTypeSchema, SegmentationTexturePool, SelectiveColor, SelectorBasedOnSchema, SelectorModeSchema, SelectorShapeSchema, SelectorUnitsSchema, Sequence, ShadowPipeline, ShadowsHighlights, ShapeNodeSchema, Signal, SignalChannelMetaSchema, SignalDataSchema, SignalGateDataSchema, SignalMathDataSchema, SignalStatsSchema, SingleOutputGenericSchema, SkewPropertiesSchema, SlugFontCache, SlugPipeline, SourceOperationSchema, Spatial3DPropertiesSchema, SpatialLandmarkTransformer, SpringPhysicsSchema, StereoPanning, Styles, TEXT_LAYER_DEFAULTS, TemporalDeflicker, TemporalDeflickerPipeline, TemporalObjectTracker, TensorPipeline, TextAnchorConfigSchema, TextAnimator, TextAnimatorBuilder, TextAnimatorSchema, TextCursorConfigSchema, TextCursorStyleSchema, TextNodeSchema, TextOperationSchema, TextPathBuilder, TextPathOptionsSchema, TextPathSourceSchema, TextRangeSelectorSchema, TextScrambleConfigSchema, TextSelectorSchema, TextSignalSelectorSchema, TextSpanMarkSchema, TextSpanSchema, TextWigglySelectorSchema, TileOffset, TimelineSegmentSchema, TimelineTransformSchema, ToneMappingSchema, Toon, Trails, Transition, TransitionSchema, TransitionTypeSchema, TypewriterAnimatorSchema, TypingCadenceSchema, UnsharpMask, VariableFontAxesSchema, Vec2Schema, Vector3Math, VideoAnimationSchema, VideoLayerTypeSchema, VideoSpatialPropsSchema, VideoStylePropsSchema, VideoTextPropsSchema, VideoTimingPropsSchema, Vignette, VirtualMediaDataSchema, Vision, VisionBundle, VisionNode, VisionRunner, VolumetricFormationConfigSchema, VolumetricFormationModeSchema, accent, analyzeSequence, appendOperation, applyStaggerToChildren, bezier, blurRegion, bold, buildPathLUT, calculateSequenceTimeline, checkNodeResultCache, code, collectNodeOps, color, compositorToProgram, computeAnchorPivotOffset, computeCarrierContinuity, computeGridLayout, computeLayout, computeLayoutSync, computeLineLeadingDisplacement, computeRangeSelectorWeight, computeStaggerDelay, computeStrokeRect, computeVideoCropRenderProps, computed, cosineSignal, createOutputItemSchema, createVirtualMedia, dataTypeColors, describeGpu, deserializeSignalData, deterministicWigglyNoise, distanceToCurveParameter, editTrackedRegion, effectFactories, effectMeta, ellipseToCubicBeziers, encodeStereoWav, ensureDevice, evaluateAnimationAtFrame, evaluateCubicBezier, evaluateCubicBezierDerivative, evaluateExpressionSelector, evaluateMarqueeOffset, evaluateSelectorCombination, evaluateSkewMatrix, evaluateSpringProgress, evaluateTrackAtFrame, evaluateTypewriterState, evaluateVolumetricFormation, extractSvgDimensions, findSourceAsset, formatHex, formatQaReport, frameArraySignal, frameSignal, generateArcLengthLUT, generateId, generatePathSegments, getActiveMediaMetadata, getFileDataMetadata, getFingerprint, getLeafMediaType, getMediaType, getRenderFingerprint, getScramblePool, getShuffledOrder, gradientStopsToOklab, hasOnlySingleSource, hoistMattes, inputStore, interpolate, isCssGradient, isEqual, isSignal, isVirtualMediaData, italic, limitGradientStops, lintComposition, loadFBX, loadModel3D, loadOBJ, lutStore, mapBlendModeToSkia, mark, measureSpring, measureText, measureTextAsync, mergeAnimationTracks, mixAudioTracks, mixColors, mixSfxInto, normalizeColorStops, normalizeTextSpans, oklabToRgb, parseColorToRgb, parseCssColor, parseCssGradient, parseFBX, parseMTL, parseMarkup, parseOBJ, parseSvgPathToCubicBeziers, pinNodeToLandmark, pinNodeToObject, preloadCompositionFonts, preloadFont, programmaticSignal, progressSignal, registerSignalDependency, renderFrameGrid, renderSemaphore, renderSfx, reportRenderDiagnostic, requiresIsolation, resetRenderCaches, resolveBoolean, resolveEnvironment, resolveMediaMimeType, resolveNumber, resolveParam, resolveSamplePoints, resolveString, rgbToOklab, rich, sampleAudioSpectrumScale, sampleColorStops, sampleCurveGeometry, samplePathChainGeometry, section, serializeSignalData, shaderStore, signal, signalBuilder, signalRegistry, sineSignal, size, softLimit, span, spring, springCalculation, stampResult, startPreview, sub, sup, takeRenderDiagnostics, textureCache, timeSignal, updateClockSignals, waveToCubicBeziers };
6653
+ export { AETextAnimatorSchema, AdvancedTextAnimatorBuilder, AdvancedTextAnimatorSchema, AnchorGroupingSchema, AnchorPresetSchema, AnimatableGlyphPropsSchema, AnimationTypeSchema, AnyOutputUnionSchema, ApiError, ApplyLUT, Ascii, AudioCompressor, AudioDelay, AudioExtractorSignalDataSchema, AudioFade, AudioLatentEngine, AudioLatentTrackCache, AudioMeshDeformPipeline, AudioNoiseGate, AudioParametricEq, AudioReverb, AudioSignal, AudioSignalExtractor, AudioSpectrumTypographySchema, BaseMediaOperationPropsSchema, BaseVideoLayerPropsSchema, BloomConfigSchema, Blur, BoxNodeSchema, CAPTION_LAYER_DEFAULTS, COCO17_BONES, COCO17_KEYPOINTS, COCO17_KEYPOINT_NAMES, COCO_CLASSES, COMPOSITE_OPERATIONS, COMPOSITOR_DEFAULTS, CRT, Camera3D, CameraAnimation, CameraNodeSchema, CameraParallax3D, CannyComputePipeline, CarrierHandoffConfigSchema, ChannelMerger, ChannelSplitter, ChromaticGlitchConfigSchema, ClipVision, Color, ColorBalance, ColorKey, ColorStopSchema, Composition, CompositorProgramSchema, ConfigHandleSchema, ConfigSchemaRegistry, Contour, ControlNetMultiplexer, CornerPin, Crop, CubicBezierSegmentSchema, Curves, CustomEffect, DATA_TYPE_EXTENSIONS, DEFAULT_CHART_COLORS, DEFAULT_DURATION_MS, DEFAULT_FPS, DEFAULT_MEDIA_DIMENSION, DataType, DataTypeVal, DataTypes, Datamosh, DepthNormalsComputePipeline, DepthOfField, DisplacementMap, Dither, DynamicStrokePropertiesSchema, ENVIRONMENT_PRESETS, Easing, Effect, EffectPipeline, EnhancedTextNodeSchema, EnvironmentFogSchema, EnvironmentPresetSchema, ExportResultSchema, ExpressionSelectorSchema, ExtendedGlyphPropertiesSchema, ExtendedLayerSchema, ExtractLUT, FRAMEFIELDS_AI_PROXY_URL, FileAssetSchema, FileDataSchema, FilmGrain, FlexNodeSchema, Flip, FontManager, GeneratorSignalDataSchema, GlassPipeline, GlobalCompositeOperation, GlyphAnchorGroupingSchema, GlyphAnchorPointSchema, Gooey, Gradient, GradientMap, HalftoneScreen, HandleTypeVal, HeadlessMediaRenderer, HeadlessWebGPURenderer, HighPass, Iridescence, JsonValueSchema, Kaleidoscope, KenBurns, KineticMarqueeConfigSchema, LIGHT_UNIFORM_SIZE_BYTES, Layer, Layer3D, LayerAnimation, LayerStyle, LayoutNodeSchema, Levels, Light, Light3D, LightNodeSchema, LightTypeSchema, Lighting, LineSpacingDynamicsSchema, Liquify, LongShadowConfigSchema, MAX_GRADIENT_STOPS, MAX_LIGHTS, MIME_TYPES, MaskMath, MaterialTypeSchema, Matrix4Math, MatteModeSchema, Media, MediaMetadataSchema, MediaNodeSchema, MediaOperationSchema, MediaSourceSchema, MeshWarp, Model3DNodeSchema, ModerationError, ModerationUnrefundableError, Modulate, MotionBlur, MotionBlurPipeline, MultiOutputGenericSchema, NodeMetadataSchema, NodeResultSchema, NodeVisualConfigSchema, NoiseGenerator, OpArt, OpticalFlowComputePipeline, OutputItemSchema, PBRGlass, Paint, Painterly, ParticleDissolveConfigSchema, Particles, PatchHeal, Path3D, PersonTrack, Physics, PhysicsBody2D, PhysicsBody3D, PhysicsWorld2D, PhysicsWorld3D, Pixelate, PoseSkeletonRenderer, Posterize, ProceduralVFX, ProgrammaticSignal, RGBSplit, RefineEdge, RefractionCaustics3D, Relight3D, Renderer2D, Renderer3D, ResizerScaler, Rotate, SSAO, SSAOPipeline, Scene, SceneDefinitionSchema, SceneTransitionTypeSchema, SegmentationTexturePool, SelectiveColor, SelectorBasedOnSchema, SelectorModeSchema, SelectorShapeSchema, SelectorUnitsSchema, Sequence, ShadowPipeline, ShadowsHighlights, ShapeNodeSchema, Signal, SignalChannelMetaSchema, SignalDataSchema, SignalGateDataSchema, SignalMathDataSchema, SignalStatsSchema, SingleOutputGenericSchema, SkewPropertiesSchema, SlugFontCache, SlugPipeline, SourceOperationSchema, Spatial3DPropertiesSchema, SpatialLandmarkTransformer, SpringPhysicsSchema, StereoPanning, Styles, TEXT_LAYER_DEFAULTS, TemporalDeflicker, TemporalDeflickerPipeline, TemporalObjectTracker, TensorPipeline, TextAnchorConfigSchema, TextAnimator, TextAnimatorBuilder, TextAnimatorSchema, TextCursorConfigSchema, TextCursorStyleSchema, TextNodeSchema, TextOperationSchema, TextPathBuilder, TextPathOptionsSchema, TextPathSourceSchema, TextRangeSelectorSchema, TextScrambleConfigSchema, TextSelectorSchema, TextSignalSelectorSchema, TextSpanMarkSchema, TextSpanSchema, TextWigglySelectorSchema, TileOffset, TimelineSegmentSchema, TimelineTransformSchema, ToneMappingSchema, Toon, Trails, Transition, TransitionSchema, TransitionTypeSchema, TypewriterAnimatorSchema, TypingCadenceSchema, UnsharpMask, ValidationError, VariableFontAxesSchema, Vec2Schema, Vector3Math, VideoAnimationSchema, VideoLayerTypeSchema, VideoSpatialPropsSchema, VideoStylePropsSchema, VideoTextPropsSchema, VideoTimingPropsSchema, Vignette, VirtualMediaDataSchema, Vision, VisionBundle, VisionNode, VisionRunner, VolumetricFormationConfigSchema, VolumetricFormationModeSchema, accent, ai, analyzeSequence, appendOperation, applyStaggerToChildren, bezier, blurRegion, bold, buildPathLUT, calculateSequenceTimeline, checkNodeResultCache, code, collectNodeOps, color, compositorToProgram, computeAnchorPivotOffset, computeCarrierContinuity, computeGridLayout, computeLayout, computeLayoutSync, computeLineLeadingDisplacement, computeRangeSelectorWeight, computeStaggerDelay, computeStrokeRect, computeVideoCropRenderProps, computed, cosineSignal, createOutputItemSchema, createVirtualMedia, dataTypeColors, describeGpu, deserializeSignalData, deterministicWigglyNoise, distanceToCurveParameter, editTrackedRegion, effectFactories, effectMeta, ellipseToCubicBeziers, encodeStereoWav, ensureDevice, evaluateAnimationAtFrame, evaluateCubicBezier, evaluateCubicBezierDerivative, evaluateExpressionSelector, evaluateMarqueeOffset, evaluateSelectorCombination, evaluateSkewMatrix, evaluateSpringProgress, evaluateTrackAtFrame, evaluateTypewriterState, evaluateVolumetricFormation, extractSvgDimensions, findSourceAsset, formatHex, formatQaReport, frameArraySignal, frameSignal, generateArcLengthLUT, generateId, generatePathSegments, getActiveMediaMetadata, getFileDataMetadata, getFingerprint, getLeafMediaType, getMediaType, getRenderFingerprint, getScramblePool, getShuffledOrder, gradientStopsToOklab, hasOnlySingleSource, hoistMattes, inputStore, interpolate, isCssGradient, isEqual, isSignal, isValueSignal, isVirtualMediaData, italic, limitGradientStops, lintComposition, loadFBX, loadModel3D, loadOBJ, lutStore, mapBlendModeToSkia, mark, measureSpring, measureText, measureTextAsync, mergeAnimationTracks, mixAudioTracks, mixColors, mixSfxInto, normalizeColorStops, normalizeTextSpans, oklabToRgb, parseColorToRgb, parseCssColor, parseCssGradient, parseFBX, parseMTL, parseMarkup, parseOBJ, parseSvgPathToCubicBeziers, pinNodeToLandmark, pinNodeToObject, preloadCompositionFonts, preloadFont, programmaticSignal, progressSignal, registerSignalDependency, renderFrameGrid, renderSemaphore, renderSfx, reportRenderDiagnostic, requiresIsolation, resetRenderCaches, resolveBoolean, resolveEnvironment, resolveMediaMimeType, resolveNumber, resolveParam, resolveSamplePoints, resolveString, rgbToOklab, rich, sampleAudioSpectrumScale, sampleColorStops, sampleCurveGeometry, samplePathChainGeometry, section, serializeSignalData, shaderStore, signal, signalBuilder, signalRegistry, sineSignal, size, softLimit, span, spring, springCalculation, stampResult, startPreview, sub, sup, takeRenderDiagnostics, textureCache, timeSignal, updateClockSignals, waveToCubicBeziers };
6259
6654
  //# sourceMappingURL=index.mjs.map