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.
- package/README.md +24 -1
- package/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-C7Kn5xBm.mjs → audio-CPApYcWF.mjs} +4 -4
- package/dist/{audio-C7Kn5xBm.mjs.map → audio-CPApYcWF.mjs.map} +1 -1
- package/dist/{audio-BNnEclHU.d.mts → audio-DHuEMOtQ.d.mts} +3 -3
- package/dist/{audio-BNnEclHU.d.mts.map → audio-DHuEMOtQ.d.mts.map} +1 -1
- package/dist/{dist-fjKpBYkc.mjs → dist-ClyC_d66.mjs} +9 -2
- package/dist/dist-ClyC_d66.mjs.map +1 -0
- package/dist/{dist-CPUIfrtw.mjs → dist-CrK3rmyN.mjs} +180 -58
- package/dist/dist-CrK3rmyN.mjs.map +1 -0
- package/dist/{dist-CturBK2Z.mjs → dist-CspOG4V1.mjs} +1210 -748
- package/dist/dist-CspOG4V1.mjs.map +1 -0
- package/dist/{dist-BY0bIWgr.mjs → dist-SB9qfAko.mjs} +2 -2
- package/dist/{dist-BY0bIWgr.mjs.map → dist-SB9qfAko.mjs.map} +1 -1
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +35 -35
- package/dist/{effects-CW1VgdI5.mjs → effects-DxylPSuI.mjs} +3 -3
- package/dist/{effects-CW1VgdI5.mjs.map → effects-DxylPSuI.mjs.map} +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-EgMNL8KE.mjs → fonts-CsMDfqv9.mjs} +2 -2
- package/dist/{fonts-EgMNL8KE.mjs.map → fonts-CsMDfqv9.mjs.map} +1 -1
- package/dist/{gpu-CN14e7Bi.mjs → gpu-DtT5I4ME.mjs} +2 -2
- package/dist/{gpu-CN14e7Bi.mjs.map → gpu-DtT5I4ME.mjs.map} +1 -1
- package/dist/{index-Cg2ptXcs.d.mts → index-B1XcyMm8.d.mts} +2 -2
- package/dist/{index-Cg2ptXcs.d.mts.map → index-B1XcyMm8.d.mts.map} +1 -1
- package/dist/{index-BU51pxZO.d.mts → index-B2Xesdug.d.mts} +4 -4
- package/dist/{index-BU51pxZO.d.mts.map → index-B2Xesdug.d.mts.map} +1 -1
- package/dist/{index-QmkcUL3W.d.mts → index-BxARm93R.d.mts} +2 -2
- package/dist/{index-QmkcUL3W.d.mts.map → index-BxARm93R.d.mts.map} +1 -1
- package/dist/{index-CeRv1KC0.d.mts → index-C0o3lLyA.d.mts} +3 -3
- package/dist/{index-CeRv1KC0.d.mts.map → index-C0o3lLyA.d.mts.map} +1 -1
- package/dist/{index-B3BwLHa6.d.mts → index-D-l-yCv6.d.mts} +3 -3
- package/dist/{index-B3BwLHa6.d.mts.map → index-D-l-yCv6.d.mts.map} +1 -1
- package/dist/{index-AdrZIWT0.d.mts → index-DujpgUUq.d.mts} +19 -2
- package/dist/index-DujpgUUq.d.mts.map +1 -0
- package/dist/index.d.mts +178 -10
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +488 -93
- package/dist/index.mjs.map +1 -1
- package/dist/preview/index.d.mts +2 -2
- package/dist/preview/index.mjs +10 -10
- package/dist/{preview-1sjnhHQL.mjs → preview-D2dMmokw.mjs} +2 -2
- package/dist/{preview-1sjnhHQL.mjs.map → preview-D2dMmokw.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/chunk-266DECPQ.mjs +1 -0
- package/dist/preview-engine/{chunk-SZW5J72T.mjs → chunk-2DDBSI75.mjs} +1 -1
- package/dist/preview-engine/{chunk-QXCY2ATH.mjs → chunk-2GIWWDE4.mjs} +1 -1
- package/dist/preview-engine/{chunk-U4JIFQRR.mjs → chunk-34ACEGNW.mjs} +1 -1
- package/dist/preview-engine/{chunk-AY7UX37L.mjs → chunk-3ACCCPBN.mjs} +1 -1
- package/dist/preview-engine/{chunk-VK2CVMWJ.mjs → chunk-5E5J4KT4.mjs} +1 -1
- package/dist/preview-engine/{chunk-T2FE5VOW.mjs → chunk-5RQHNB6Y.mjs} +1 -1
- package/dist/preview-engine/{chunk-TS3JI3BH.mjs → chunk-67SSYK7D.mjs} +1 -1
- package/dist/preview-engine/{chunk-PL4IH5V4.mjs → chunk-6K7US2WD.mjs} +1 -1
- package/dist/preview-engine/{chunk-PEWYB6WP.mjs → chunk-7LVOSEGN.mjs} +1 -1
- package/dist/preview-engine/chunk-7QJUC6YY.mjs +1525 -0
- package/dist/preview-engine/{chunk-PSRQA3QW.mjs → chunk-A5OVKZ52.mjs} +1 -1
- package/dist/preview-engine/{chunk-PXT52LEH.mjs → chunk-C6Z7H2RZ.mjs} +1 -1
- package/dist/preview-engine/chunk-CPFPY35C.mjs +1 -0
- package/dist/preview-engine/{chunk-7EPIRODI.mjs → chunk-DOCSX45C.mjs} +1 -1
- package/dist/preview-engine/{chunk-GSFN4WCH.mjs → chunk-FFGBUS76.mjs} +1 -1
- package/dist/preview-engine/{chunk-IR5DNNWR.mjs → chunk-FFMPC7QA.mjs} +1 -1
- package/dist/preview-engine/{chunk-IUPDOATX.mjs → chunk-FHKBALVI.mjs} +1 -1
- package/dist/preview-engine/{chunk-HE4R7EZM.mjs → chunk-G4J662EL.mjs} +1 -1
- package/dist/preview-engine/{chunk-5W4AFQP7.mjs → chunk-GNG4YH2W.mjs} +1 -1
- package/dist/preview-engine/{chunk-L6BH5J4P.mjs → chunk-GQLZXCW3.mjs} +1 -1
- package/dist/preview-engine/{chunk-EVXWDOCL.mjs → chunk-HDGFNBYK.mjs} +1 -1
- package/dist/preview-engine/{chunk-JXNG2ACR.mjs → chunk-HNNIVJ2K.mjs} +1 -1
- package/dist/preview-engine/{chunk-FU7AIAMM.mjs → chunk-HUKAC5MJ.mjs} +1 -1
- package/dist/preview-engine/{chunk-44CQSOYE.mjs → chunk-JX22B2FS.mjs} +1 -1
- package/dist/preview-engine/{chunk-DIGIQ5MJ.mjs → chunk-KAQUNOVB.mjs} +1 -1
- package/dist/preview-engine/{chunk-MLY5M7Y5.mjs → chunk-KT35IPCF.mjs} +1 -1
- package/dist/preview-engine/{chunk-VXS5SIEC.mjs → chunk-LIQA5OOU.mjs} +1 -1
- package/dist/preview-engine/{chunk-SGPRLTNF.mjs → chunk-LK3T65RB.mjs} +1 -1
- package/dist/preview-engine/{chunk-YQZOGEPZ.mjs → chunk-LLDIDE5Q.mjs} +1 -1
- package/dist/preview-engine/chunk-NNQUIVTE.mjs +5 -0
- package/dist/preview-engine/{chunk-5AUB4Y3L.mjs → chunk-NRAZV5OA.mjs} +1 -1
- package/dist/preview-engine/{chunk-VGZZSPDN.mjs → chunk-NTVDL3RS.mjs} +1 -1
- package/dist/preview-engine/{chunk-BSOJR4JU.mjs → chunk-O6NRIXS5.mjs} +1 -1
- package/dist/preview-engine/{chunk-OKH2VU2U.mjs → chunk-PZF6T7DM.mjs} +1 -1
- package/dist/preview-engine/{chunk-OJ2PKBXE.mjs → chunk-QJZKIY4H.mjs} +1 -1
- package/dist/preview-engine/{chunk-WFGJXCZT.mjs → chunk-R26SY5D4.mjs} +1 -1
- package/dist/preview-engine/{chunk-EYWPOCZW.mjs → chunk-RDP6QROU.mjs} +1 -1
- package/dist/preview-engine/{chunk-J2R5R7YY.mjs → chunk-RKVB47IA.mjs} +1 -1
- package/dist/preview-engine/{chunk-PAQNDZQB.mjs → chunk-SWXVITCQ.mjs} +1 -1
- package/dist/preview-engine/{chunk-KERW7QJ4.mjs → chunk-UZBVCYRY.mjs} +1 -1
- package/dist/preview-engine/{chunk-Q22PJXFJ.mjs → chunk-WACWOKEP.mjs} +1 -1
- package/dist/preview-engine/{chunk-AXHB4J37.mjs → chunk-WCZ5DKZ4.mjs} +1 -1
- package/dist/preview-engine/{chunk-WH5Q2NFN.mjs → chunk-WJJIISQJ.mjs} +1 -1
- package/dist/preview-engine/chunk-XDMZP3E2.mjs +1 -0
- package/dist/preview-engine/{chunk-7G3XIOP7.mjs → chunk-Z6UKUHPU.mjs} +1 -1
- package/dist/preview-engine/{chunk-WUKH7BD7.mjs → chunk-ZKPQGQE3.mjs} +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +32 -25
- package/dist/preview-engine/player.mjs +1 -1
- package/dist/preview-engine/{renderers-2P6KXWEZ.mjs → renderers-3CXFGRE7.mjs} +1 -1
- package/dist/preview-engine/{renderers-KZWGSKRF.mjs → renderers-3FC3WCJN.mjs} +1 -1
- package/dist/preview-engine/renderers-3S2FM33K.mjs +1 -0
- package/dist/preview-engine/{renderers-5FQA2DP4.mjs → renderers-4AJWVIJG.mjs} +1 -1
- package/dist/preview-engine/renderers-53ZTBI3C.mjs +1 -0
- package/dist/preview-engine/renderers-5USBVCMQ.mjs +1 -0
- package/dist/preview-engine/renderers-65G6BLEA.mjs +1 -0
- package/dist/preview-engine/{renderers-PYWXELLG.mjs → renderers-6JZ4HYIU.mjs} +1 -1
- package/dist/preview-engine/{renderers-3GHEWWVX.mjs → renderers-75TL7RLS.mjs} +1 -1
- package/dist/preview-engine/{renderers-U6KY34TP.mjs → renderers-7CPYTCNW.mjs} +1 -1
- package/dist/preview-engine/renderers-7XU7BXE7.mjs +1 -0
- package/dist/preview-engine/{renderers-2VN3AH45.mjs → renderers-AZYJFJLO.mjs} +1 -1
- package/dist/preview-engine/{renderers-TR2V2HZ2.mjs → renderers-BDWVXYTW.mjs} +1 -1
- package/dist/preview-engine/renderers-BFXM32BC.mjs +1 -0
- package/dist/preview-engine/renderers-CDXHCWWK.mjs +1 -0
- package/dist/preview-engine/{renderers-N7FR54V2.mjs → renderers-CK3ZL3GM.mjs} +1 -1
- package/dist/preview-engine/renderers-CLUN7WU6.mjs +1 -0
- package/dist/preview-engine/renderers-DTB4HEXU.mjs +1 -0
- package/dist/preview-engine/renderers-EFKNRLYF.mjs +1 -0
- package/dist/preview-engine/{renderers-UPTJJE5F.mjs → renderers-FADYGSLK.mjs} +1 -1
- package/dist/preview-engine/{renderers-I5E2RSV4.mjs → renderers-FKH5S64C.mjs} +1 -1
- package/dist/preview-engine/{renderers-BSKZXITT.mjs → renderers-FM6A5YR4.mjs} +1 -1
- package/dist/preview-engine/renderers-G2K7ZA5O.mjs +1 -0
- package/dist/preview-engine/{renderers-D6T6IPER.mjs → renderers-GAIUTII6.mjs} +1 -1
- package/dist/preview-engine/renderers-GTUO5LIV.mjs +1 -0
- package/dist/preview-engine/{renderers-A6HM64UZ.mjs → renderers-GUPEJK3O.mjs} +1 -1
- package/dist/preview-engine/{renderers-IWQ3V6AJ.mjs → renderers-HSJIVP57.mjs} +1 -1
- package/dist/preview-engine/{renderers-4GRVAW2W.mjs → renderers-HZHEGONW.mjs} +1 -1
- package/dist/preview-engine/{renderers-NWHS7N2L.mjs → renderers-IHACBWXI.mjs} +1 -1
- package/dist/preview-engine/{renderers-3YCJOINH.mjs → renderers-IHRFEZNP.mjs} +1 -1
- package/dist/preview-engine/{renderers-A7VH3ON5.mjs → renderers-IJDQJEE5.mjs} +1 -1
- package/dist/preview-engine/{renderers-OT7D3BUA.mjs → renderers-IO3BVVJ7.mjs} +1 -1
- package/dist/preview-engine/renderers-IR772VSN.mjs +1 -0
- package/dist/preview-engine/{renderers-EJWPVVQR.mjs → renderers-K7B5PQBT.mjs} +1 -1
- package/dist/preview-engine/renderers-L6TRJOXA.mjs +1 -0
- package/dist/preview-engine/{renderers-N7TS5562.mjs → renderers-LVLVJHOL.mjs} +1 -1
- package/dist/preview-engine/{renderers-FK72LKQC.mjs → renderers-MBSOKWKB.mjs} +1 -1
- package/dist/preview-engine/{renderers-NC64EQDE.mjs → renderers-N6H6RSF2.mjs} +1 -1
- package/dist/preview-engine/{renderers-ZHZMGMLN.mjs → renderers-NJLGPPX7.mjs} +1 -1
- package/dist/preview-engine/renderers-O5NFQYRQ.mjs +1 -0
- package/dist/preview-engine/renderers-O6V3OEKX.mjs +1 -0
- package/dist/preview-engine/renderers-OODA27UH.mjs +1 -0
- package/dist/preview-engine/{renderers-6CG7DBTB.mjs → renderers-R4WMM6IX.mjs} +1 -1
- package/dist/preview-engine/renderers-RIGW33ZI.mjs +1 -0
- package/dist/preview-engine/{renderers-RLHTNLRE.mjs → renderers-RKZGYWDG.mjs} +1 -1
- package/dist/preview-engine/renderers-RUZRBQ4K.mjs +1 -0
- package/dist/preview-engine/renderers-SKB2GGKS.mjs +1 -0
- package/dist/preview-engine/{renderers-6OGFUSH6.mjs → renderers-SW7FIEKO.mjs} +1 -1
- package/dist/preview-engine/renderers-T4D2TASM.mjs +1 -0
- package/dist/preview-engine/renderers-T74XV36Q.mjs +1 -0
- package/dist/preview-engine/{renderers-F55XFVMP.mjs → renderers-TCNPEANL.mjs} +1 -1
- package/dist/preview-engine/renderers-TOPW2UM3.mjs +1 -0
- package/dist/preview-engine/{renderers-5YEIUTVN.mjs → renderers-TY7DVI7E.mjs} +1 -1
- package/dist/preview-engine/{renderers-WP2LBR5U.mjs → renderers-U55KRIOV.mjs} +3 -3
- package/dist/preview-engine/{renderers-YMPXGYRU.mjs → renderers-UDOBX433.mjs} +1 -1
- package/dist/preview-engine/{renderers-CRRLV7IO.mjs → renderers-UMPOVFRA.mjs} +1 -1
- package/dist/preview-engine/renderers-UO5G3Y2G.mjs +1 -0
- package/dist/preview-engine/renderers-UOV7VOJJ.mjs +1 -0
- package/dist/preview-engine/{renderers-MON4QFRF.mjs → renderers-UWKSTSTA.mjs} +1 -1
- package/dist/preview-engine/renderers-VHPAOUTA.mjs +1 -0
- package/dist/preview-engine/{renderers-E76OKK66.mjs → renderers-WR6MKT5S.mjs} +1 -1
- package/dist/preview-engine/{renderers-MCECHPCL.mjs → renderers-XKHNBARD.mjs} +1 -1
- package/dist/preview-engine/renderers-YEQRQJFC.mjs +1 -0
- package/dist/preview-engine/{renderers-RJO6H4FC.mjs → renderers-YRZ3WODX.mjs} +1 -1
- package/dist/preview-engine/renderers-YUTFGVRY.mjs +1 -0
- package/dist/preview-engine/{renderers-3SRG77SC.mjs → renderers-YXOTRKPA.mjs} +1 -1
- package/dist/preview-engine/renderers-ZOU5ARVD.mjs +1 -0
- package/dist/preview-engine/renderers-ZW75LQTR.mjs +1 -0
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/{program-DtiNMTxO.mjs → program-C2cJayA1.mjs} +4 -4
- package/dist/{program-DtiNMTxO.mjs.map → program-C2cJayA1.mjs.map} +1 -1
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +2 -2
- package/dist/{renderer-QMGrRiab.mjs → renderer--ruTGlPo.mjs} +3 -3
- package/dist/{renderer-QMGrRiab.mjs.map → renderer--ruTGlPo.mjs.map} +1 -1
- package/dist/{renderer-BAmGO6Hj.mjs → renderer-7y5Cj8rV.mjs} +3 -3
- package/dist/{renderer-BAmGO6Hj.mjs.map → renderer-7y5Cj8rV.mjs.map} +1 -1
- package/dist/{renderer-B48vtpou.mjs → renderer-92eLJg24.mjs} +4 -4
- package/dist/{renderer-B48vtpou.mjs.map → renderer-92eLJg24.mjs.map} +1 -1
- package/dist/{renderer-ButaUWLr.mjs → renderer-B0gPTXhe.mjs} +3 -3
- package/dist/{renderer-ButaUWLr.mjs.map → renderer-B0gPTXhe.mjs.map} +1 -1
- package/dist/{renderer-BaOC1Pd1.mjs → renderer-B1QREs7J.mjs} +3 -3
- package/dist/{renderer-BaOC1Pd1.mjs.map → renderer-B1QREs7J.mjs.map} +1 -1
- package/dist/{renderer-BI1nmIqA.mjs → renderer-B3e4LSE6.mjs} +3 -3
- package/dist/{renderer-BI1nmIqA.mjs.map → renderer-B3e4LSE6.mjs.map} +1 -1
- package/dist/{renderer-C4puWDLK.mjs → renderer-B4RpSd4A.mjs} +2 -2
- package/dist/{renderer-C4puWDLK.mjs.map → renderer-B4RpSd4A.mjs.map} +1 -1
- package/dist/renderer-BAhZeUUn.mjs +5 -0
- package/dist/{renderer-DmOewVsB.mjs → renderer-BBAbZfBl.mjs} +4 -4
- package/dist/{renderer-DmOewVsB.mjs.map → renderer-BBAbZfBl.mjs.map} +1 -1
- package/dist/{renderer-6QAlE1Mp.mjs → renderer-BDCy8NgT.mjs} +3 -3
- package/dist/{renderer-6QAlE1Mp.mjs.map → renderer-BDCy8NgT.mjs.map} +1 -1
- package/dist/renderer-BHAE_dKq.mjs +5 -0
- package/dist/{renderer-Rg1BFv8B.mjs → renderer-BMKFzfSQ.mjs} +3 -3
- package/dist/{renderer-Rg1BFv8B.mjs.map → renderer-BMKFzfSQ.mjs.map} +1 -1
- package/dist/renderer-BNYZY3FE.mjs +5 -0
- package/dist/{renderer-D8tdGi2P.mjs → renderer-BPixWnmY.mjs} +3 -3
- package/dist/{renderer-D8tdGi2P.mjs.map → renderer-BPixWnmY.mjs.map} +1 -1
- package/dist/renderer-BSvubMvI.mjs +5 -0
- package/dist/{renderer-C2Ff-9u_.mjs → renderer-BTd2sWDC.mjs} +3 -3
- package/dist/{renderer-C2Ff-9u_.mjs.map → renderer-BTd2sWDC.mjs.map} +1 -1
- package/dist/{renderer-YtRSM2cv.mjs → renderer-BTigwMQp.mjs} +3 -3
- package/dist/{renderer-YtRSM2cv.mjs.map → renderer-BTigwMQp.mjs.map} +1 -1
- package/dist/renderer-B_M_yhTc.mjs +5 -0
- package/dist/renderer-B_xSsTuy.mjs +5 -0
- package/dist/renderer-BePHurAU.mjs +5 -0
- package/dist/renderer-BfZquJrW.mjs +5 -0
- package/dist/{renderer-DNhOjz6C.mjs → renderer-Bi6W4RSn.mjs} +2 -2
- package/dist/{renderer-DNhOjz6C.mjs.map → renderer-Bi6W4RSn.mjs.map} +1 -1
- package/dist/{renderer--Da6pAJ4.mjs → renderer-BjCHW9Jp.mjs} +2 -2
- package/dist/{renderer-S6ez0leJ.mjs → renderer-BjvNEbML.mjs} +2 -2
- package/dist/{renderer-S6ez0leJ.mjs.map → renderer-BjvNEbML.mjs.map} +1 -1
- package/dist/{renderer-BFHgl-0f.mjs → renderer-BkWd4-YO.mjs} +2 -2
- package/dist/{renderer-BFHgl-0f.mjs.map → renderer-BkWd4-YO.mjs.map} +1 -1
- package/dist/{renderer-z3YOOR3k.mjs → renderer-Bkrk0M0r.mjs} +3 -3
- package/dist/{renderer-z3YOOR3k.mjs.map → renderer-Bkrk0M0r.mjs.map} +1 -1
- package/dist/{renderer-Kj9AhRCc.mjs → renderer-BljMOvry.mjs} +3 -3
- package/dist/{renderer-Kj9AhRCc.mjs.map → renderer-BljMOvry.mjs.map} +1 -1
- package/dist/renderer-BuY5ypB2.mjs +5 -0
- package/dist/renderer-BvOQgFHo.mjs +5 -0
- package/dist/{renderer-ITtBRR4o.mjs → renderer-BwpgDLYO.mjs} +3 -3
- package/dist/{renderer-ITtBRR4o.mjs.map → renderer-BwpgDLYO.mjs.map} +1 -1
- package/dist/{renderer-B3x-uogM.mjs → renderer-BwwZB2mt.mjs} +4 -4
- package/dist/{renderer-B3x-uogM.mjs.map → renderer-BwwZB2mt.mjs.map} +1 -1
- package/dist/{renderer-GlyeFl5R.mjs → renderer-ByCX4JYg.mjs} +3 -3
- package/dist/{renderer-GlyeFl5R.mjs.map → renderer-ByCX4JYg.mjs.map} +1 -1
- package/dist/{renderer-DDBmBmQN.mjs → renderer-C1E5Rt5q.mjs} +3 -3
- package/dist/{renderer-DDBmBmQN.mjs.map → renderer-C1E5Rt5q.mjs.map} +1 -1
- package/dist/renderer-C7NkSvUz.mjs +5 -0
- package/dist/{renderer-DvoPplvC.mjs → renderer-CCGzT6bX.mjs} +2 -2
- package/dist/{renderer-DJWQWN1E.mjs → renderer-CDOobs18.mjs} +3 -3
- package/dist/{renderer-DJWQWN1E.mjs.map → renderer-CDOobs18.mjs.map} +1 -1
- package/dist/{renderer-DacnnTjY.mjs → renderer-CDUxAtsk.mjs} +4 -4
- package/dist/{renderer-DacnnTjY.mjs.map → renderer-CDUxAtsk.mjs.map} +1 -1
- package/dist/renderer-CIuxV2q1.mjs +5 -0
- package/dist/{renderer-BlafvK-L.mjs → renderer-CJ4bxCld.mjs} +2 -2
- package/dist/renderer-CKp97tSQ.mjs +5 -0
- package/dist/{renderer-_-MCpvGq.mjs → renderer-CNb-DG00.mjs} +71 -71
- package/dist/{renderer-_-MCpvGq.mjs.map → renderer-CNb-DG00.mjs.map} +1 -1
- package/dist/{renderer-BYj8x8YM.mjs → renderer-CNuVJ4nG.mjs} +2 -2
- package/dist/{renderer-BYj8x8YM.mjs.map → renderer-CNuVJ4nG.mjs.map} +1 -1
- package/dist/renderer-CY89dTFR.mjs +5 -0
- package/dist/renderer-C_B_4Bl0.mjs +5 -0
- package/dist/{renderer-R0sJId_6.mjs → renderer-Cbsnj9vV.mjs} +3 -3
- package/dist/{renderer-R0sJId_6.mjs.map → renderer-Cbsnj9vV.mjs.map} +1 -1
- package/dist/{renderer-CBG6ewNf.mjs → renderer-CcoUNzlQ.mjs} +3 -3
- package/dist/{renderer-CBG6ewNf.mjs.map → renderer-CcoUNzlQ.mjs.map} +1 -1
- package/dist/renderer-Cd87JOjP.mjs +5 -0
- package/dist/{renderer-CbNW0KHh.mjs → renderer-CeiCJCg4.mjs} +3 -3
- package/dist/{renderer-CbNW0KHh.mjs.map → renderer-CeiCJCg4.mjs.map} +1 -1
- package/dist/renderer-Cev6orIK.mjs +6 -0
- package/dist/renderer-Cewf6UPh.mjs +5 -0
- package/dist/renderer-CnHsMLIv.mjs +5 -0
- package/dist/renderer-CoxuAr7b.mjs +5 -0
- package/dist/{renderer-BqSiWRoD.mjs → renderer-CqtIbe5n.mjs} +2 -2
- package/dist/{renderer-BqSiWRoD.mjs.map → renderer-CqtIbe5n.mjs.map} +1 -1
- package/dist/renderer-CrdG7trA.mjs +5 -0
- package/dist/{renderer-D-eTVnDS.mjs → renderer-Csss5GFQ.mjs} +2 -2
- package/dist/{renderer-D-eTVnDS.mjs.map → renderer-Csss5GFQ.mjs.map} +1 -1
- package/dist/renderer-Cu5MFgbk.mjs +5 -0
- package/dist/renderer-CuOjhtoo.mjs +5 -0
- package/dist/{renderer-Mdyv_W8K.mjs → renderer-Cv4lchUP.mjs} +3 -3
- package/dist/{renderer-Mdyv_W8K.mjs.map → renderer-Cv4lchUP.mjs.map} +1 -1
- package/dist/{renderer-CJwgsecF.mjs → renderer-Cw6Sagih.mjs} +3 -3
- package/dist/{renderer-CJwgsecF.mjs.map → renderer-Cw6Sagih.mjs.map} +1 -1
- package/dist/{renderer-DlESyfg7.d.mts → renderer-CxqPeATd.d.mts} +2 -2
- package/dist/{renderer-DlESyfg7.d.mts.map → renderer-CxqPeATd.d.mts.map} +1 -1
- package/dist/{renderer-DYo_a5-8.mjs → renderer-CzRqzp8P.mjs} +3 -3
- package/dist/{renderer-DYo_a5-8.mjs.map → renderer-CzRqzp8P.mjs.map} +1 -1
- package/dist/{renderer-BmWH4dK1.mjs → renderer-Czxgaygb.mjs} +8 -7
- package/dist/{renderer-BmWH4dK1.mjs.map → renderer-Czxgaygb.mjs.map} +1 -1
- package/dist/{renderer-CgEMtLOL.mjs → renderer-D0vom99O.mjs} +2 -2
- package/dist/{renderer-CgEMtLOL.mjs.map → renderer-D0vom99O.mjs.map} +1 -1
- package/dist/{renderer-BebePsG7.mjs → renderer-D2-V9nQq.mjs} +3 -3
- package/dist/{renderer-BebePsG7.mjs.map → renderer-D2-V9nQq.mjs.map} +1 -1
- package/dist/renderer-D2_0g6Oi.mjs +5 -0
- package/dist/renderer-D62FwolD.mjs +5 -0
- package/dist/{renderer-CMzd3BrW.mjs → renderer-D6BXR7P4.mjs} +2 -2
- package/dist/{renderer-CMzd3BrW.mjs.map → renderer-D6BXR7P4.mjs.map} +1 -1
- package/dist/renderer-DDNY9N7I.mjs +5 -0
- package/dist/{renderer-MS70wrQB.mjs → renderer-DFJQ6v0F.mjs} +2 -2
- package/dist/{renderer-MS70wrQB.mjs.map → renderer-DFJQ6v0F.mjs.map} +1 -1
- package/dist/renderer-DF_ONJ3v.mjs +5 -0
- package/dist/{renderer-DjPC9l3w.mjs → renderer-DILUmb-e.mjs} +3 -3
- package/dist/{renderer-DjPC9l3w.mjs.map → renderer-DILUmb-e.mjs.map} +1 -1
- package/dist/{renderer-Ch1rv1XP.mjs → renderer-DKfwlE4e.mjs} +3 -3
- package/dist/{renderer-Ch1rv1XP.mjs.map → renderer-DKfwlE4e.mjs.map} +1 -1
- package/dist/{renderer-B5Icb0XW.mjs → renderer-DScyMHpJ.mjs} +2 -2
- package/dist/{renderer-B5Icb0XW.mjs.map → renderer-DScyMHpJ.mjs.map} +1 -1
- package/dist/{renderer-Fm2brScz.mjs → renderer-DTw-W0Yz.mjs} +3 -3
- package/dist/{renderer-Fm2brScz.mjs.map → renderer-DTw-W0Yz.mjs.map} +1 -1
- package/dist/{renderer-dJcu7WqI.mjs → renderer-DZJJHCtm.mjs} +3 -3
- package/dist/{renderer-dJcu7WqI.mjs.map → renderer-DZJJHCtm.mjs.map} +1 -1
- package/dist/{renderer-B6c_Rk_2.mjs → renderer-DaSxr9fM.mjs} +3 -3
- package/dist/{renderer-B6c_Rk_2.mjs.map → renderer-DaSxr9fM.mjs.map} +1 -1
- package/dist/{renderer-BRWpn3dT.mjs → renderer-DaqWTx7s.mjs} +3 -3
- package/dist/{renderer-BRWpn3dT.mjs.map → renderer-DaqWTx7s.mjs.map} +1 -1
- package/dist/renderer-DbzrVHEE.mjs +5 -0
- package/dist/{renderer-CPNLkir4.mjs → renderer-DcBGYN3V.mjs} +3 -3
- package/dist/{renderer-CPNLkir4.mjs.map → renderer-DcBGYN3V.mjs.map} +1 -1
- package/dist/{renderer-BkXqFmNO.mjs → renderer-DjBCWxYy.mjs} +3 -3
- package/dist/{renderer-BkXqFmNO.mjs.map → renderer-DjBCWxYy.mjs.map} +1 -1
- package/dist/{renderer-D90PpIKG.mjs → renderer-DjwITRvg.mjs} +2 -2
- package/dist/renderer-DlYchp1v.mjs +5 -0
- package/dist/renderer-DqcUNP8J.mjs +5 -0
- package/dist/renderer-DqvFhEQj.mjs +5 -0
- package/dist/{renderer-ktpusVT2.mjs → renderer-DwVOxdzC.mjs} +3 -3
- package/dist/{renderer-ktpusVT2.mjs.map → renderer-DwVOxdzC.mjs.map} +1 -1
- package/dist/{renderer-_Fh9IBlE.mjs → renderer-Dwu_zfdL.mjs} +3 -3
- package/dist/{renderer-_Fh9IBlE.mjs.map → renderer-Dwu_zfdL.mjs.map} +1 -1
- package/dist/renderer-DxBav2bE.mjs +5 -0
- package/dist/{renderer-DS64UaYK.mjs → renderer-DyyIXLQK.mjs} +3 -3
- package/dist/{renderer-DS64UaYK.mjs.map → renderer-DyyIXLQK.mjs.map} +1 -1
- package/dist/{renderer-DqlvbOUt.mjs → renderer-DzSMeQBC.mjs} +3 -3
- package/dist/{renderer-DqlvbOUt.mjs.map → renderer-DzSMeQBC.mjs.map} +1 -1
- package/dist/{renderer-BXCZev4l.mjs → renderer-EZp_IIPK.mjs} +3 -3
- package/dist/{renderer-BXCZev4l.mjs.map → renderer-EZp_IIPK.mjs.map} +1 -1
- package/dist/{renderer-Bf4BdBtb.mjs → renderer-G1pMJH5C.mjs} +2 -2
- package/dist/{renderer-Bf4BdBtb.mjs.map → renderer-G1pMJH5C.mjs.map} +1 -1
- package/dist/renderer-GvSRoQje.mjs +5 -0
- package/dist/{renderer-DQtk282o.mjs → renderer-If8JOkBi.mjs} +2 -2
- package/dist/{renderer-DQtk282o.mjs.map → renderer-If8JOkBi.mjs.map} +1 -1
- package/dist/{renderer-CRYO5HQw.mjs → renderer-JvcR1vYI.mjs} +2 -2
- package/dist/{renderer-CRYO5HQw.mjs.map → renderer-JvcR1vYI.mjs.map} +1 -1
- package/dist/renderer-KP7Ita9g.mjs +5 -0
- package/dist/{renderer-Cz11KJmQ.mjs → renderer-NizuhHsH.mjs} +3 -3
- package/dist/{renderer-Cz11KJmQ.mjs.map → renderer-NizuhHsH.mjs.map} +1 -1
- package/dist/renderer-Pc8dyNXt.mjs +5 -0
- package/dist/{renderer-ClK7_Yzz.mjs → renderer-RDCax5CK.mjs} +3 -3
- package/dist/{renderer-ClK7_Yzz.mjs.map → renderer-RDCax5CK.mjs.map} +1 -1
- package/dist/{renderer-Bq9jXYJ5.mjs → renderer-UcdqCarR.mjs} +3 -3
- package/dist/{renderer-Bq9jXYJ5.mjs.map → renderer-UcdqCarR.mjs.map} +1 -1
- package/dist/{renderer-DL4oR40b.mjs → renderer-V5uEyDFz.mjs} +3 -3
- package/dist/{renderer-DL4oR40b.mjs.map → renderer-V5uEyDFz.mjs.map} +1 -1
- package/dist/{renderer-F410V727.mjs → renderer-X0eKSD7v.mjs} +3 -3
- package/dist/{renderer-F410V727.mjs.map → renderer-X0eKSD7v.mjs.map} +1 -1
- package/dist/{renderer-Dw1e5phO.mjs → renderer-Za4D9hej.mjs} +3 -3
- package/dist/{renderer-Dw1e5phO.mjs.map → renderer-Za4D9hej.mjs.map} +1 -1
- package/dist/{renderer-CczmOPAO.mjs → renderer-apeDrNXM.mjs} +3 -3
- package/dist/{renderer-CczmOPAO.mjs.map → renderer-apeDrNXM.mjs.map} +1 -1
- package/dist/renderer-ezRCmU09.mjs +3 -0
- package/dist/{renderer--S2cNYXS.mjs → renderer-gRMkQabv.mjs} +3 -3
- package/dist/{renderer--S2cNYXS.mjs.map → renderer-gRMkQabv.mjs.map} +1 -1
- package/dist/renderer-h6ev1ogx.mjs +5 -0
- package/dist/{renderer-8k-TR_Cy.mjs → renderer-rXgqgAjw.mjs} +3 -3
- package/dist/{renderer-8k-TR_Cy.mjs.map → renderer-rXgqgAjw.mjs.map} +1 -1
- package/dist/{renderer-DjwF10p2.mjs → renderer-ut1GqW89.mjs} +3 -3
- package/dist/{renderer-DjwF10p2.mjs.map → renderer-ut1GqW89.mjs.map} +1 -1
- package/dist/{renderer-w8LKBg_5.mjs → renderer-yyUpCeWb.mjs} +2 -2
- package/dist/{renderer-w8LKBg_5.mjs.map → renderer-yyUpCeWb.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-DXiR_PLR.mjs → renderers-CP8CFWDs-DzGXDs5p.mjs} +3 -3
- package/dist/{renderers-CP8CFWDs-DXiR_PLR.mjs.map → renderers-CP8CFWDs-DzGXDs5p.mjs.map} +1 -1
- package/dist/signals/index.d.mts +5 -5
- package/dist/signals/index.mjs +6 -6
- package/dist/{signals-DGRs6ddH.mjs → signals-C5nOrRmn.mjs} +3 -3
- package/dist/{signals-DGRs6ddH.mjs.map → signals-C5nOrRmn.mjs.map} +1 -1
- package/package.json +57 -56
- package/dist/dist-CPUIfrtw.mjs.map +0 -1
- package/dist/dist-CturBK2Z.mjs.map +0 -1
- package/dist/dist-fjKpBYkc.mjs.map +0 -1
- package/dist/index-AdrZIWT0.d.mts.map +0 -1
- package/dist/preview-engine/chunk-63SFBHEH.mjs +0 -1
- package/dist/preview-engine/chunk-7J2FWGVD.mjs +0 -1
- package/dist/preview-engine/chunk-M5HZPZHQ.mjs +0 -1
- package/dist/preview-engine/chunk-OG62XGCT.mjs +0 -5
- package/dist/preview-engine/chunk-U7NIY7UC.mjs +0 -1522
- package/dist/preview-engine/renderers-2H7YEUTD.mjs +0 -1
- package/dist/preview-engine/renderers-2ILG23ED.mjs +0 -1
- package/dist/preview-engine/renderers-3RC5FDWX.mjs +0 -1
- package/dist/preview-engine/renderers-6WH7NZCC.mjs +0 -1
- package/dist/preview-engine/renderers-7VJN5L3Z.mjs +0 -1
- package/dist/preview-engine/renderers-B7DSGUMI.mjs +0 -1
- package/dist/preview-engine/renderers-BFNJ7VCI.mjs +0 -1
- package/dist/preview-engine/renderers-CGYIDAVV.mjs +0 -1
- package/dist/preview-engine/renderers-DXHJAMZR.mjs +0 -1
- package/dist/preview-engine/renderers-ECA3P4ON.mjs +0 -1
- package/dist/preview-engine/renderers-FWGMNPYB.mjs +0 -1
- package/dist/preview-engine/renderers-HUW2ZMS3.mjs +0 -1
- package/dist/preview-engine/renderers-HXFRTIJD.mjs +0 -1
- package/dist/preview-engine/renderers-JHFT27YU.mjs +0 -1
- package/dist/preview-engine/renderers-NQXMYNSY.mjs +0 -1
- package/dist/preview-engine/renderers-ORAIXUL3.mjs +0 -1
- package/dist/preview-engine/renderers-Q4OFCMXI.mjs +0 -1
- package/dist/preview-engine/renderers-QVZVEYP5.mjs +0 -1
- package/dist/preview-engine/renderers-RKDPX5JU.mjs +0 -1
- package/dist/preview-engine/renderers-SBFF7JP5.mjs +0 -1
- package/dist/preview-engine/renderers-TAWT3ZSS.mjs +0 -1
- package/dist/preview-engine/renderers-UHTO6BQA.mjs +0 -1
- package/dist/preview-engine/renderers-UNK6I4JJ.mjs +0 -1
- package/dist/preview-engine/renderers-W773SBPV.mjs +0 -1
- package/dist/preview-engine/renderers-XHTMRXC5.mjs +0 -1
- package/dist/preview-engine/renderers-YECY2YFT.mjs +0 -1
- package/dist/preview-engine/renderers-YMN6QXK7.mjs +0 -1
- package/dist/preview-engine/renderers-ZANPE3OK.mjs +0 -1
- package/dist/preview-engine/renderers-ZHTX73PR.mjs +0 -1
- package/dist/preview-engine/renderers-ZJTRANIX.mjs +0 -1
- package/dist/renderer-1hypa-l7.mjs +0 -5
- package/dist/renderer-6D8M4DRu.mjs +0 -5
- package/dist/renderer-APrj6tdP.mjs +0 -5
- package/dist/renderer-BARst3ZD.mjs +0 -3
- package/dist/renderer-BF8wlbN1.mjs +0 -5
- package/dist/renderer-BOUcMCJB.mjs +0 -5
- package/dist/renderer-BSwn6KmG.mjs +0 -5
- package/dist/renderer-BUxvuC5A.mjs +0 -5
- package/dist/renderer-BYOsmJ8F.mjs +0 -5
- package/dist/renderer-Bp7LqSTt.mjs +0 -5
- package/dist/renderer-CD0amH_Q.mjs +0 -5
- package/dist/renderer-CIJGjrt7.mjs +0 -5
- package/dist/renderer-CNFTl94b.mjs +0 -5
- package/dist/renderer-CTJ0gHPS.mjs +0 -5
- package/dist/renderer-Cc3INn7w.mjs +0 -5
- package/dist/renderer-CeHh2lKY.mjs +0 -5
- package/dist/renderer-CfjwkQP4.mjs +0 -5
- package/dist/renderer-CiuOB-Md.mjs +0 -5
- package/dist/renderer-Cor66Y2X.mjs +0 -5
- package/dist/renderer-CtIM0LWe.mjs +0 -5
- package/dist/renderer-CyqgTsnx.mjs +0 -5
- package/dist/renderer-D2QG9yIW.mjs +0 -5
- package/dist/renderer-D2woU27o.mjs +0 -6
- package/dist/renderer-DAhDiQQY.mjs +0 -5
- package/dist/renderer-DIjxOQFi.mjs +0 -5
- package/dist/renderer-DRzalGhU.mjs +0 -5
- package/dist/renderer-DY6S1jWp.mjs +0 -5
- package/dist/renderer-DeW0KNQV.mjs +0 -5
- package/dist/renderer-DsVSVFkl.mjs +0 -5
- package/dist/renderer-DxvcIgEU.mjs +0 -5
- package/dist/renderer-F0MKqmol.mjs +0 -5
- package/dist/renderer-OkbovcAc.mjs +0 -5
- package/dist/renderer-QyBeWMEL.mjs +0 -5
- package/dist/renderer-hSh5IrDp.mjs +0 -5
- package/dist/renderer-puLncHft.mjs +0 -5
- package/dist/renderer-wnFCaw7j.mjs +0 -5
- 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
|
|
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-
|
|
4
|
-
import "./renderers-CP8CFWDs-
|
|
5
|
-
import "./signals-
|
|
6
|
-
import "./renderer-
|
|
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-
|
|
9
|
-
import { t as AudioSignal } from "./audio-
|
|
10
|
-
import { t as FontManager } from "./fonts-
|
|
11
|
-
import "./renderer-
|
|
12
|
-
import "./renderer-
|
|
13
|
-
import "./renderer-
|
|
14
|
-
import "./renderer
|
|
15
|
-
import "./renderer-
|
|
16
|
-
import "./renderer-
|
|
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-
|
|
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-
|
|
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-
|
|
23
|
-
import "./renderer-
|
|
24
|
-
import "./renderer-
|
|
25
|
-
import "./renderer-
|
|
26
|
-
import "./renderer-
|
|
27
|
-
import "./renderer-
|
|
28
|
-
import "./renderer-
|
|
29
|
-
import "./renderer-
|
|
30
|
-
import "./renderer-
|
|
31
|
-
import "./renderer-
|
|
32
|
-
import "./renderer-
|
|
33
|
-
import "./renderer-
|
|
34
|
-
import "./renderer-
|
|
35
|
-
import "./renderer-
|
|
36
|
-
import "./renderer-
|
|
37
|
-
import "./renderer-
|
|
38
|
-
import "./renderer-
|
|
39
|
-
import "./renderer-
|
|
40
|
-
import "./renderer-
|
|
41
|
-
import "./renderer-
|
|
42
|
-
import "./renderer-
|
|
43
|
-
import "./renderer-
|
|
44
|
-
import "./renderer-
|
|
45
|
-
import "./renderer-
|
|
46
|
-
import "./renderer-
|
|
47
|
-
import "./renderer-
|
|
48
|
-
import "./renderer-
|
|
49
|
-
import "./renderer-
|
|
50
|
-
import "./renderer-
|
|
51
|
-
import "./renderer-
|
|
52
|
-
import "./renderer-
|
|
53
|
-
import "./renderer-
|
|
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-
|
|
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-
|
|
56
|
-
import { t as startPreview } from "./preview-
|
|
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
|