framefields 2.3.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -1
- package/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-BNnEclHU.d.mts → audio-C6toT7F3.d.mts} +3 -3
- package/dist/{audio-BNnEclHU.d.mts.map → audio-C6toT7F3.d.mts.map} +1 -1
- package/dist/{audio-CS104aUj.mjs → audio-DXwNhi1z.mjs} +3 -3
- package/dist/{audio-CS104aUj.mjs.map → audio-DXwNhi1z.mjs.map} +1 -1
- package/dist/{dist-BOdxAhOT.mjs → dist-Cl0mvShy.mjs} +2 -2
- package/dist/{dist-BOdxAhOT.mjs.map → dist-Cl0mvShy.mjs.map} +1 -1
- package/dist/{dist-jU289ehm.mjs → dist-DRB6Vg5u.mjs} +1395 -878
- package/dist/dist-DRB6Vg5u.mjs.map +1 -0
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +34 -34
- package/dist/{effects-BzOlVD-w.mjs → effects-lBqG-vd1.mjs} +2 -2
- package/dist/{effects-BzOlVD-w.mjs.map → effects-lBqG-vd1.mjs.map} +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-BhlV_3Qt.mjs → fonts-DlRJD6NS.mjs} +2 -2
- package/dist/{fonts-BhlV_3Qt.mjs.map → fonts-DlRJD6NS.mjs.map} +1 -1
- package/dist/{gpu-BA1Wz_mS.mjs → gpu-DOQX1W2q.mjs} +2 -2
- package/dist/{gpu-BA1Wz_mS.mjs.map → gpu-DOQX1W2q.mjs.map} +1 -1
- package/dist/{index-QmkcUL3W.d.mts → index-BHqdtJbN.d.mts} +2 -2
- package/dist/{index-QmkcUL3W.d.mts.map → index-BHqdtJbN.d.mts.map} +1 -1
- package/dist/{index-CeRv1KC0.d.mts → index-BONyHjZX.d.mts} +3 -3
- package/dist/{index-CeRv1KC0.d.mts.map → index-BONyHjZX.d.mts.map} +1 -1
- package/dist/{index-Cg2ptXcs.d.mts → index-CaiZ5p6q.d.mts} +2 -2
- package/dist/{index-Cg2ptXcs.d.mts.map → index-CaiZ5p6q.d.mts.map} +1 -1
- package/dist/{index-BU51pxZO.d.mts → index-Cf1pVxn0.d.mts} +4 -4
- package/dist/{index-BU51pxZO.d.mts.map → index-Cf1pVxn0.d.mts.map} +1 -1
- package/dist/{index-AdrZIWT0.d.mts → index-DEODKaL6.d.mts} +13 -1
- package/dist/index-DEODKaL6.d.mts.map +1 -0
- package/dist/{index-B3BwLHa6.d.mts → index-DN9oXO-X.d.mts} +3 -3
- package/dist/{index-B3BwLHa6.d.mts.map → index-DN9oXO-X.d.mts.map} +1 -1
- package/dist/index.d.mts +177 -9
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +485 -90
- 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-BVyG76gO.mjs → preview-Ca4tF5Ro.mjs} +2 -2
- package/dist/{preview-BVyG76gO.mjs.map → preview-Ca4tF5Ro.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-VO2R3DWV.mjs → chunk-44CQSOYE.mjs} +1 -1
- package/dist/preview-engine/{chunk-FNE22WGA.mjs → chunk-6AEU4DC7.mjs} +4 -4
- package/dist/preview-engine/{chunk-PR2BUYCL.mjs → chunk-7G3XIOP7.mjs} +1 -1
- package/dist/preview-engine/chunk-7QJUC6YY.mjs +1525 -0
- package/dist/preview-engine/{chunk-AXQZX3TC.mjs → chunk-AY7UX37L.mjs} +1 -1
- package/dist/preview-engine/{chunk-FPRXK2WD.mjs → chunk-DIGIQ5MJ.mjs} +1 -1
- package/dist/preview-engine/{chunk-K773AOF3.mjs → chunk-EVXWDOCL.mjs} +1 -1
- package/dist/preview-engine/{chunk-ZNL4W4DK.mjs → chunk-EYWPOCZW.mjs} +1 -1
- package/dist/preview-engine/{chunk-WSIURGP2.mjs → chunk-HE4R7EZM.mjs} +1 -1
- package/dist/preview-engine/{chunk-L3CHEZMZ.mjs → chunk-IR5DNNWR.mjs} +1 -1
- package/dist/preview-engine/{chunk-2MZXSWVT.mjs → chunk-JXNG2ACR.mjs} +1 -1
- package/dist/preview-engine/{chunk-O2RNIQXT.mjs → chunk-L6BH5J4P.mjs} +1 -1
- package/dist/preview-engine/{chunk-BVA5NGSH.mjs → chunk-M5HZPZHQ.mjs} +1 -1
- package/dist/preview-engine/{chunk-PFA427ZC.mjs → chunk-MLY5M7Y5.mjs} +1 -1
- package/dist/preview-engine/{chunk-ZH5MZQTZ.mjs → chunk-OG62XGCT.mjs} +1 -1
- package/dist/preview-engine/{chunk-LBRVQ4GE.mjs → chunk-PSRQA3QW.mjs} +1 -1
- package/dist/preview-engine/{chunk-3UPI4EPV.mjs → chunk-Q22PJXFJ.mjs} +1 -1
- package/dist/preview-engine/{chunk-E3HC4GRQ.mjs → chunk-T2FE5VOW.mjs} +1 -1
- package/dist/preview-engine/{chunk-Q2DPNVIA.mjs → chunk-TS3JI3BH.mjs} +1 -1
- package/dist/preview-engine/{chunk-NEE3KQTX.mjs → chunk-U4JIFQRR.mjs} +1 -1
- package/dist/preview-engine/{chunk-BQY4BUMN.mjs → chunk-VGZZSPDN.mjs} +1 -1
- package/dist/preview-engine/{chunk-TPAEN6VV.mjs → chunk-VK2CVMWJ.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 +5 -5
- package/dist/preview-engine/renderers-2H7YEUTD.mjs +1 -1
- package/dist/preview-engine/renderers-2ILG23ED.mjs +1 -0
- package/dist/preview-engine/renderers-2P6KXWEZ.mjs +1 -1
- package/dist/preview-engine/{renderers-P4S7GL64.mjs → renderers-2VN3AH45.mjs} +1 -1
- package/dist/preview-engine/{renderers-LLUEOW5T.mjs → renderers-3GHEWWVX.mjs} +1 -1
- package/dist/preview-engine/renderers-3SRG77SC.mjs +1 -1
- package/dist/preview-engine/{renderers-YNFKFM7D.mjs → renderers-3YCJOINH.mjs} +1 -1
- package/dist/preview-engine/{renderers-WP67KK5K.mjs → renderers-4GRVAW2W.mjs} +1 -1
- package/dist/preview-engine/{renderers-BGGRPAVV.mjs → renderers-5FQA2DP4.mjs} +1 -1
- package/dist/preview-engine/{renderers-FGHOLJJK.mjs → renderers-5YEIUTVN.mjs} +1 -1
- package/dist/preview-engine/{renderers-JLFGBYN4.mjs → renderers-6CG7DBTB.mjs} +1 -1
- package/dist/preview-engine/{renderers-O2DZPBOJ.mjs → renderers-6OGFUSH6.mjs} +1 -1
- package/dist/preview-engine/renderers-6WH7NZCC.mjs +1 -1
- package/dist/preview-engine/renderers-7VJN5L3Z.mjs +1 -1
- package/dist/preview-engine/{renderers-7JTNJE7M.mjs → renderers-A6HM64UZ.mjs} +1 -1
- package/dist/preview-engine/renderers-B7DSGUMI.mjs +1 -0
- package/dist/preview-engine/renderers-BFNJ7VCI.mjs +1 -0
- package/dist/preview-engine/{renderers-XCMVZ2XG.mjs → renderers-BSKZXITT.mjs} +1 -1
- package/dist/preview-engine/renderers-CGYIDAVV.mjs +1 -0
- package/dist/preview-engine/{renderers-LVDUZZ75.mjs → renderers-CRRLV7IO.mjs} +1 -1
- package/dist/preview-engine/{renderers-TFZST6WW.mjs → renderers-D6T6IPER.mjs} +1 -1
- package/dist/preview-engine/renderers-DXHJAMZR.mjs +1 -1
- package/dist/preview-engine/{renderers-6ODPWZ2R.mjs → renderers-E76OKK66.mjs} +1 -1
- package/dist/preview-engine/renderers-ECA3P4ON.mjs +1 -0
- package/dist/preview-engine/{renderers-7NCG6BYS.mjs → renderers-EJWPVVQR.mjs} +1 -1
- package/dist/preview-engine/renderers-FWGMNPYB.mjs +1 -1
- package/dist/preview-engine/{renderers-3F5AIDEL.mjs → renderers-HQEKSUNR.mjs} +3 -3
- package/dist/preview-engine/renderers-HUW2ZMS3.mjs +1 -1
- package/dist/preview-engine/renderers-HXFRTIJD.mjs +1 -1
- package/dist/preview-engine/{renderers-ZSENYGIY.mjs → renderers-I5E2RSV4.mjs} +1 -1
- package/dist/preview-engine/renderers-IWQ3V6AJ.mjs +1 -1
- package/dist/preview-engine/renderers-JHFT27YU.mjs +1 -0
- package/dist/preview-engine/renderers-KZWGSKRF.mjs +1 -1
- package/dist/preview-engine/{renderers-FQWWAETX.mjs → renderers-MCECHPCL.mjs} +1 -1
- package/dist/preview-engine/renderers-MON4QFRF.mjs +1 -0
- package/dist/preview-engine/{renderers-UJ4YVJZT.mjs → renderers-N7FR54V2.mjs} +1 -1
- package/dist/preview-engine/{renderers-PVYP2ONH.mjs → renderers-N7TS5562.mjs} +1 -1
- package/dist/preview-engine/renderers-NQXMYNSY.mjs +1 -0
- package/dist/preview-engine/renderers-NWHS7N2L.mjs +1 -1
- package/dist/preview-engine/renderers-ORAIXUL3.mjs +1 -0
- package/dist/preview-engine/renderers-OT7D3BUA.mjs +1 -1
- package/dist/preview-engine/{renderers-WHBDHTRI.mjs → renderers-PYWXELLG.mjs} +1 -1
- package/dist/preview-engine/renderers-Q4OFCMXI.mjs +1 -1
- package/dist/preview-engine/renderers-QVZVEYP5.mjs +1 -0
- package/dist/preview-engine/renderers-RJO6H4FC.mjs +1 -1
- package/dist/preview-engine/renderers-RKDPX5JU.mjs +1 -0
- package/dist/preview-engine/{renderers-D2EJULOJ.mjs → renderers-RLHTNLRE.mjs} +1 -1
- package/dist/preview-engine/renderers-SBFF7JP5.mjs +1 -0
- package/dist/preview-engine/renderers-TAWT3ZSS.mjs +1 -1
- package/dist/preview-engine/{renderers-HMR2NAD7.mjs → renderers-TR2V2HZ2.mjs} +1 -1
- package/dist/preview-engine/{renderers-UPKB5OLS.mjs → renderers-U6KY34TP.mjs} +1 -1
- package/dist/preview-engine/renderers-UHTO6BQA.mjs +1 -1
- package/dist/preview-engine/renderers-UNK6I4JJ.mjs +1 -0
- package/dist/preview-engine/renderers-W773SBPV.mjs +1 -0
- package/dist/preview-engine/renderers-XHTMRXC5.mjs +1 -1
- package/dist/preview-engine/renderers-YECY2YFT.mjs +1 -1
- package/dist/preview-engine/renderers-YMN6QXK7.mjs +1 -1
- package/dist/preview-engine/{renderers-DN2GF3I7.mjs → renderers-YMPXGYRU.mjs} +1 -1
- package/dist/preview-engine/renderers-ZANPE3OK.mjs +1 -1
- package/dist/preview-engine/renderers-ZHTX73PR.mjs +1 -0
- package/dist/preview-engine/{renderers-TPBPNXWH.mjs → renderers-ZHZMGMLN.mjs} +1 -1
- package/dist/preview-engine/renderers-ZJTRANIX.mjs +1 -1
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/{program-CCSfHMfh.mjs → program-CJEg2wMa.mjs} +2 -2
- package/dist/{program-CCSfHMfh.mjs.map → program-CJEg2wMa.mjs.map} +1 -1
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +2 -2
- package/dist/renderer--IHe-yqK.mjs +5 -0
- package/dist/{renderer-DukD7S3w.mjs → renderer-445i0uxs.mjs} +2 -2
- package/dist/{renderer-DukD7S3w.mjs.map → renderer-445i0uxs.mjs.map} +1 -1
- package/dist/{renderer-CNYfB5cC.mjs → renderer-5tQ7ImPk.mjs} +2 -2
- package/dist/{renderer-CNYfB5cC.mjs.map → renderer-5tQ7ImPk.mjs.map} +1 -1
- package/dist/{renderer-g-ui08Lh.mjs → renderer-Ai5nZsof.mjs} +3 -3
- package/dist/{renderer-g-ui08Lh.mjs.map → renderer-Ai5nZsof.mjs.map} +1 -1
- package/dist/renderer-B16iwR0_.mjs +5 -0
- package/dist/renderer-B3EEYpx6.mjs +5 -0
- package/dist/renderer-B3Si5IB4.mjs +5 -0
- package/dist/{renderer-BetA_iVd.mjs → renderer-B4JmNa_T.mjs} +3 -3
- package/dist/{renderer-BetA_iVd.mjs.map → renderer-B4JmNa_T.mjs.map} +1 -1
- package/dist/{renderer-BvvuGfZk.mjs → renderer-B6UqWjtH.mjs} +3 -3
- package/dist/{renderer-BvvuGfZk.mjs.map → renderer-B6UqWjtH.mjs.map} +1 -1
- package/dist/{renderer-D1wd0FhZ.mjs → renderer-B8v8iEkB.mjs} +7 -6
- package/dist/{renderer-D1wd0FhZ.mjs.map → renderer-B8v8iEkB.mjs.map} +1 -1
- package/dist/{renderer-FXUCKps6.mjs → renderer-BFWRUTov.mjs} +3 -3
- package/dist/{renderer-FXUCKps6.mjs.map → renderer-BFWRUTov.mjs.map} +1 -1
- package/dist/renderer-BH8vZKmX.mjs +5 -0
- package/dist/renderer-BHZie6Pa.mjs +5 -0
- package/dist/renderer-BHpJ1e15.mjs +5 -0
- package/dist/{renderer-CMdtUn5o.mjs → renderer-BL36f2IQ.mjs} +2 -2
- package/dist/{renderer-CMdtUn5o.mjs.map → renderer-BL36f2IQ.mjs.map} +1 -1
- package/dist/{renderer-BonWt8jF.mjs → renderer-BOvCstdU.mjs} +3 -3
- package/dist/{renderer-BonWt8jF.mjs.map → renderer-BOvCstdU.mjs.map} +1 -1
- package/dist/renderer-BPJ79b47.mjs +5 -0
- package/dist/renderer-BPbM_6WR.mjs +5 -0
- package/dist/{renderer-BmDpyiII.mjs → renderer-BPsi7Q7Z.mjs} +3 -3
- package/dist/{renderer-BmDpyiII.mjs.map → renderer-BPsi7Q7Z.mjs.map} +1 -1
- package/dist/{renderer-CuphUktB.mjs → renderer-BTJyO6ov.mjs} +2 -2
- package/dist/{renderer-CuphUktB.mjs.map → renderer-BTJyO6ov.mjs.map} +1 -1
- package/dist/{renderer-Celrh689.mjs → renderer-BZCLdb8F.mjs} +3 -3
- package/dist/{renderer-Celrh689.mjs.map → renderer-BZCLdb8F.mjs.map} +1 -1
- package/dist/{renderer-D7ss6fLB.mjs → renderer-BZF48o1T.mjs} +3 -3
- package/dist/{renderer-D7ss6fLB.mjs.map → renderer-BZF48o1T.mjs.map} +1 -1
- package/dist/{renderer-DOWekunR.mjs → renderer-BZWiY6Jw.mjs} +3 -3
- package/dist/{renderer-DOWekunR.mjs.map → renderer-BZWiY6Jw.mjs.map} +1 -1
- package/dist/{renderer-dUkOBfGB.mjs → renderer-BZvWlGsa.mjs} +3 -3
- package/dist/{renderer-dUkOBfGB.mjs.map → renderer-BZvWlGsa.mjs.map} +1 -1
- package/dist/{renderer-D26S5hUh.mjs → renderer-BaBluD-r.mjs} +2 -2
- package/dist/{renderer-D26S5hUh.mjs.map → renderer-BaBluD-r.mjs.map} +1 -1
- package/dist/{renderer-BD7Lmb8h.mjs → renderer-BaHEN_Kv.mjs} +3 -3
- package/dist/{renderer-BD7Lmb8h.mjs.map → renderer-BaHEN_Kv.mjs.map} +1 -1
- package/dist/{renderer-Cn6VlWHZ.mjs → renderer-BhZutM8K.mjs} +3 -3
- package/dist/{renderer-Cn6VlWHZ.mjs.map → renderer-BhZutM8K.mjs.map} +1 -1
- package/dist/renderer-Bn-WnRh9.mjs +5 -0
- package/dist/renderer-BqHvDAUe.mjs +5 -0
- package/dist/{renderer-PknbdJyL.mjs → renderer-BtJ6XYN7.mjs} +3 -3
- package/dist/{renderer-PknbdJyL.mjs.map → renderer-BtJ6XYN7.mjs.map} +1 -1
- package/dist/{renderer-C39GD6jP.mjs → renderer-BzgnTEvf.mjs} +3 -3
- package/dist/{renderer-C39GD6jP.mjs.map → renderer-BzgnTEvf.mjs.map} +1 -1
- package/dist/{renderer-c-bwxMde.mjs → renderer-C-La-IAt.mjs} +2 -2
- package/dist/{renderer-c-bwxMde.mjs.map → renderer-C-La-IAt.mjs.map} +1 -1
- package/dist/{renderer-pPiQwFYh.mjs → renderer-C2ZIAhdJ.mjs} +2 -2
- package/dist/{renderer-pPiQwFYh.mjs.map → renderer-C2ZIAhdJ.mjs.map} +1 -1
- package/dist/{renderer-C6cF5seJ.mjs → renderer-C9pl21Zb.mjs} +2 -2
- package/dist/{renderer-C6cF5seJ.mjs.map → renderer-C9pl21Zb.mjs.map} +1 -1
- package/dist/renderer-CAtXDNsh.mjs +5 -0
- package/dist/{renderer-CLdwOhST.mjs → renderer-CCCitH4J.mjs} +2 -2
- package/dist/{renderer-CLdwOhST.mjs.map → renderer-CCCitH4J.mjs.map} +1 -1
- package/dist/{renderer-Dq4aO7az.mjs → renderer-CCu1Q8ib.mjs} +2 -2
- package/dist/{renderer-Dq4aO7az.mjs.map → renderer-CCu1Q8ib.mjs.map} +1 -1
- package/dist/{renderer-Bel1UHA5.mjs → renderer-CG4TmDWH.mjs} +2 -2
- package/dist/{renderer-CiMpdh0s.mjs → renderer-CJmZURPQ.mjs} +2 -2
- package/dist/{renderer-CiMpdh0s.mjs.map → renderer-CJmZURPQ.mjs.map} +1 -1
- package/dist/{renderer-B93zd3sx.mjs → renderer-CN3iCli4.mjs} +2 -2
- package/dist/{renderer-B93zd3sx.mjs.map → renderer-CN3iCli4.mjs.map} +1 -1
- package/dist/{renderer-BFRI5alp.mjs → renderer-CNS8LA2_.mjs} +3 -3
- package/dist/{renderer-BFRI5alp.mjs.map → renderer-CNS8LA2_.mjs.map} +1 -1
- package/dist/renderer-C_5nfVce.mjs +5 -0
- package/dist/{renderer-kSs8VtY7.mjs → renderer-CduDa1qf.mjs} +3 -3
- package/dist/{renderer-kSs8VtY7.mjs.map → renderer-CduDa1qf.mjs.map} +1 -1
- package/dist/{renderer-CFe9pZFN.mjs → renderer-CduL1AOK.mjs} +2 -2
- package/dist/{renderer-CFe9pZFN.mjs.map → renderer-CduL1AOK.mjs.map} +1 -1
- package/dist/{renderer-BRwp1kV-.mjs → renderer-Cfto0m0-.mjs} +3 -3
- package/dist/{renderer-BRwp1kV-.mjs.map → renderer-Cfto0m0-.mjs.map} +1 -1
- package/dist/{renderer-DCYabwlC.mjs → renderer-CgZ1G37H.mjs} +2 -2
- package/dist/{renderer-DCYabwlC.mjs.map → renderer-CgZ1G37H.mjs.map} +1 -1
- package/dist/renderer-Cie7KKeQ.mjs +5 -0
- package/dist/{renderer-C8GZ0pCV.mjs → renderer-CjTxu89O.mjs} +3 -3
- package/dist/{renderer-C8GZ0pCV.mjs.map → renderer-CjTxu89O.mjs.map} +1 -1
- package/dist/{renderer-4VpA7LfU.mjs → renderer-CoN2JgLO.mjs} +2 -2
- package/dist/{renderer-4VpA7LfU.mjs.map → renderer-CoN2JgLO.mjs.map} +1 -1
- package/dist/{renderer-YJ3Yukou.mjs → renderer-CoO2j8AC.mjs} +3 -3
- package/dist/{renderer-YJ3Yukou.mjs.map → renderer-CoO2j8AC.mjs.map} +1 -1
- package/dist/{renderer-DpwlN4LH.mjs → renderer-CoX23zo_.mjs} +3 -3
- package/dist/{renderer-DpwlN4LH.mjs.map → renderer-CoX23zo_.mjs.map} +1 -1
- package/dist/renderer-CuoxvPsX.mjs +5 -0
- package/dist/renderer-Cvd3oIJQ.mjs +5 -0
- package/dist/renderer-CxAgpBrJ.mjs +5 -0
- package/dist/{renderer-BvBIHi6N.mjs → renderer-CxSH3F_n.mjs} +2 -2
- package/dist/{renderer-BvBIHi6N.mjs.map → renderer-CxSH3F_n.mjs.map} +1 -1
- package/dist/{renderer-DUBb7D17.mjs → renderer-Cz9fzS11.mjs} +3 -3
- package/dist/{renderer-DUBb7D17.mjs.map → renderer-Cz9fzS11.mjs.map} +1 -1
- package/dist/{renderer-C3lPwajT.mjs → renderer-D-IcBLT0.mjs} +3 -3
- package/dist/{renderer-C3lPwajT.mjs.map → renderer-D-IcBLT0.mjs.map} +1 -1
- package/dist/renderer-D-cWBX0r.mjs +5 -0
- package/dist/{renderer-HMl2V4iM.mjs → renderer-D-e3vDnO.mjs} +3 -3
- package/dist/{renderer-HMl2V4iM.mjs.map → renderer-D-e3vDnO.mjs.map} +1 -1
- package/dist/renderer-D0q2VyJR.mjs +5 -0
- package/dist/{renderer-AtLlZMQ9.mjs → renderer-D4E8Yf61.mjs} +2 -2
- package/dist/{renderer-AtLlZMQ9.mjs.map → renderer-D4E8Yf61.mjs.map} +1 -1
- package/dist/renderer-D6NXn3Ky.mjs +5 -0
- package/dist/renderer-D9bp2jor.mjs +5 -0
- package/dist/{renderer-BpEsZG3t.mjs → renderer-DA1brg35.mjs} +3 -3
- package/dist/{renderer-BpEsZG3t.mjs.map → renderer-DA1brg35.mjs.map} +1 -1
- package/dist/{renderer-D1Jt-c3F.mjs → renderer-DAFi5TC_.mjs} +2 -2
- package/dist/{renderer-D1Jt-c3F.mjs.map → renderer-DAFi5TC_.mjs.map} +1 -1
- package/dist/renderer-DEzIOIB7.mjs +5 -0
- package/dist/{renderer-Cu5k5D9N.mjs → renderer-DFX2V9Dp.mjs} +2 -2
- package/dist/{renderer-Cu5k5D9N.mjs.map → renderer-DFX2V9Dp.mjs.map} +1 -1
- package/dist/{renderer-8BM6sJUR.mjs → renderer-DH0wkQkR.mjs} +2 -2
- package/dist/{renderer-8BM6sJUR.mjs.map → renderer-DH0wkQkR.mjs.map} +1 -1
- package/dist/{renderer-DerDxKK3.mjs → renderer-DOZJeWM4.mjs} +3 -3
- package/dist/{renderer-DerDxKK3.mjs.map → renderer-DOZJeWM4.mjs.map} +1 -1
- package/dist/{renderer-BVUTOGHs.mjs → renderer-DOkEalxy.mjs} +2 -2
- package/dist/{renderer-BVUTOGHs.mjs.map → renderer-DOkEalxy.mjs.map} +1 -1
- package/dist/renderer-DSSTVulw.mjs +5 -0
- package/dist/renderer-DUmTURPu.mjs +5 -0
- package/dist/{renderer-LM_XIKl1.mjs → renderer-DVaVVz-D.mjs} +3 -3
- package/dist/{renderer-LM_XIKl1.mjs.map → renderer-DVaVVz-D.mjs.map} +1 -1
- package/dist/renderer-DXCAgI9m.mjs +5 -0
- package/dist/{renderer-O1b-oYJE.mjs → renderer-DY8fPeH3.mjs} +2 -2
- package/dist/renderer-DZ9j3fQj.mjs +5 -0
- package/dist/{renderer-CWx3Kg79.mjs → renderer-DZndEvZN.mjs} +3 -3
- package/dist/{renderer-CWx3Kg79.mjs.map → renderer-DZndEvZN.mjs.map} +1 -1
- package/dist/{renderer-DPWeKe_x.mjs → renderer-DaV95CAd.mjs} +3 -3
- package/dist/{renderer-DPWeKe_x.mjs.map → renderer-DaV95CAd.mjs.map} +1 -1
- package/dist/{renderer-Dh-OF6aH.mjs → renderer-DautVsW4.mjs} +2 -2
- package/dist/{renderer-Dh-OF6aH.mjs.map → renderer-DautVsW4.mjs.map} +1 -1
- package/dist/renderer-Dd1G_VKM.mjs +5 -0
- package/dist/renderer-Dee8079X.mjs +5 -0
- package/dist/{renderer-BG5sbTXt.mjs → renderer-Dg5yLAM9.mjs} +3 -3
- package/dist/{renderer-BG5sbTXt.mjs.map → renderer-Dg5yLAM9.mjs.map} +1 -1
- package/dist/renderer-DgWh5noB.mjs +5 -0
- package/dist/{renderer-DlESyfg7.d.mts → renderer-Dim2ZlfK.d.mts} +2 -2
- package/dist/{renderer-DlESyfg7.d.mts.map → renderer-Dim2ZlfK.d.mts.map} +1 -1
- package/dist/{renderer-DMZ5aLU1.mjs → renderer-Dk0dnuHr.mjs} +2 -2
- package/dist/{renderer-DMZ5aLU1.mjs.map → renderer-Dk0dnuHr.mjs.map} +1 -1
- package/dist/{renderer-Bzl0s07U.mjs → renderer-DkM_wN8j.mjs} +2 -2
- package/dist/{renderer-Bzl0s07U.mjs.map → renderer-DkM_wN8j.mjs.map} +1 -1
- package/dist/{renderer-CqewgazK.mjs → renderer-DkYiOWPJ.mjs} +3 -3
- package/dist/{renderer-CqewgazK.mjs.map → renderer-DkYiOWPJ.mjs.map} +1 -1
- package/dist/{renderer-Dk-THZHp.mjs → renderer-DqgduGiO.mjs} +3 -3
- package/dist/{renderer-Dk-THZHp.mjs.map → renderer-DqgduGiO.mjs.map} +1 -1
- package/dist/renderer-DuD9QRix.mjs +5 -0
- package/dist/{renderer-DCGLXnYW.mjs → renderer-Edn9xltT.mjs} +2 -2
- package/dist/renderer-KtG5p44R.mjs +5 -0
- package/dist/{renderer-DcAfp1Er.mjs → renderer-Tf1AS1aO.mjs} +2 -2
- package/dist/{renderer-DcAfp1Er.mjs.map → renderer-Tf1AS1aO.mjs.map} +1 -1
- package/dist/{renderer-1uLtqb74.mjs → renderer-TyZu7nQ2.mjs} +91 -73
- package/dist/renderer-TyZu7nQ2.mjs.map +1 -0
- package/dist/{renderer-DdlaBsk_.mjs → renderer-eWBBsCv2.mjs} +2 -2
- package/dist/{renderer-DdlaBsk_.mjs.map → renderer-eWBBsCv2.mjs.map} +1 -1
- package/dist/{renderer-YdLL2o6d.mjs → renderer-fXRwAdO2.mjs} +2 -2
- package/dist/{renderer-YdLL2o6d.mjs.map → renderer-fXRwAdO2.mjs.map} +1 -1
- package/dist/renderer-fdVdNIhL.mjs +5 -0
- package/dist/renderer-gBKWL0_E.mjs +5 -0
- package/dist/{renderer-DfkWYUTX.mjs → renderer-gbBgGPNL.mjs} +2 -2
- package/dist/{renderer-DaCsT-XU.mjs → renderer-h9sJnoxw.mjs} +3 -3
- package/dist/{renderer-DaCsT-XU.mjs.map → renderer-h9sJnoxw.mjs.map} +1 -1
- package/dist/renderer-hmWhsR6C.mjs +5 -0
- package/dist/{renderer-CdOy3EBJ.mjs → renderer-i4RJ-_sx.mjs} +2 -2
- package/dist/{renderer-CdOy3EBJ.mjs.map → renderer-i4RJ-_sx.mjs.map} +1 -1
- package/dist/renderer-jkL9FU2W.mjs +6 -0
- package/dist/{renderer-wL-ly4fT.mjs → renderer-nMnE_T2y.mjs} +3 -3
- package/dist/{renderer-wL-ly4fT.mjs.map → renderer-nMnE_T2y.mjs.map} +1 -1
- package/dist/{renderer-DpWRj6zF.mjs → renderer-q971j1BW.mjs} +3 -3
- package/dist/{renderer-DpWRj6zF.mjs.map → renderer-q971j1BW.mjs.map} +1 -1
- package/dist/{renderer-ChloaI6P.mjs → renderer-wFyrVuuj.mjs} +3 -3
- package/dist/{renderer-ChloaI6P.mjs.map → renderer-wFyrVuuj.mjs.map} +1 -1
- package/dist/renderer-yAWv-daq.mjs +5 -0
- package/dist/{renderer-BI4OMlEx.mjs → renderer-yGARXwV0.mjs} +2 -2
- package/dist/{renderer-BI4OMlEx.mjs.map → renderer-yGARXwV0.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-CVHwMTiz.mjs → renderers-CP8CFWDs-DoVn7dbW.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-CVHwMTiz.mjs.map → renderers-CP8CFWDs-DoVn7dbW.mjs.map} +1 -1
- package/dist/signals/index.d.mts +5 -5
- package/dist/signals/index.mjs +4 -4
- package/package.json +57 -56
- package/dist/dist-jU289ehm.mjs.map +0 -1
- package/dist/index-AdrZIWT0.d.mts.map +0 -1
- package/dist/preview-engine/chunk-GCTVRM7J.mjs +0 -1522
- package/dist/preview-engine/chunk-OCX5AD23.mjs +0 -1
- package/dist/preview-engine/renderers-3T7Q4SPP.mjs +0 -1
- package/dist/preview-engine/renderers-4DV4REGM.mjs +0 -1
- package/dist/preview-engine/renderers-CQXQHOW2.mjs +0 -1
- package/dist/preview-engine/renderers-IXGM55XK.mjs +0 -1
- package/dist/preview-engine/renderers-KVHUVWSN.mjs +0 -1
- package/dist/preview-engine/renderers-M7R2ZJUP.mjs +0 -1
- package/dist/preview-engine/renderers-PMOO7DLX.mjs +0 -1
- package/dist/preview-engine/renderers-QCCPCH73.mjs +0 -1
- package/dist/preview-engine/renderers-RRXFJRGI.mjs +0 -1
- package/dist/preview-engine/renderers-VLMQR3DW.mjs +0 -1
- package/dist/preview-engine/renderers-WVTTRCVI.mjs +0 -1
- package/dist/preview-engine/renderers-X5PUIPU5.mjs +0 -1
- package/dist/preview-engine/renderers-YDCDY3BR.mjs +0 -1
- package/dist/preview-engine/renderers-YJNQ4B7B.mjs +0 -1
- package/dist/preview-engine/renderers-Z7YQUFAY.mjs +0 -1
- package/dist/preview-engine/skia-canvas-QBXAOGPB.mjs +0 -1
- package/dist/renderer-1Kv7oA86.mjs +0 -5
- package/dist/renderer-1uLtqb74.mjs.map +0 -1
- package/dist/renderer-AVHJ33nv.mjs +0 -5
- package/dist/renderer-B8dJGf8R.mjs +0 -6
- package/dist/renderer-BEA6nknY.mjs +0 -5
- package/dist/renderer-BOfi06L2.mjs +0 -5
- package/dist/renderer-BOhvtAGL.mjs +0 -5
- package/dist/renderer-BQT3GI9g.mjs +0 -5
- package/dist/renderer-BXmStgeT.mjs +0 -5
- package/dist/renderer-Bajxo7Nt.mjs +0 -5
- package/dist/renderer-BzRR0KMm.mjs +0 -5
- package/dist/renderer-C3Gjy2iE.mjs +0 -5
- package/dist/renderer-C5hQgkz-.mjs +0 -5
- package/dist/renderer-CLF-MiOA.mjs +0 -5
- package/dist/renderer-CLa43fCd.mjs +0 -5
- package/dist/renderer-CMK1d6w_.mjs +0 -5
- package/dist/renderer-CPEQOe3u.mjs +0 -5
- package/dist/renderer-CemfjOM9.mjs +0 -5
- package/dist/renderer-CkcrScs9.mjs +0 -5
- package/dist/renderer-CwrLihY6.mjs +0 -5
- package/dist/renderer-D4S6i2MC.mjs +0 -5
- package/dist/renderer-DB8F0XoP.mjs +0 -5
- package/dist/renderer-DGpVLJOn.mjs +0 -5
- package/dist/renderer-DGxibeSa.mjs +0 -5
- package/dist/renderer-DJQm3bAW.mjs +0 -5
- package/dist/renderer-DMftVSfX.mjs +0 -5
- package/dist/renderer-DNpovOd8.mjs +0 -5
- package/dist/renderer-DSHlvKQk.mjs +0 -5
- package/dist/renderer-DYtrdR2p.mjs +0 -5
- package/dist/renderer-DuSImLUz.mjs +0 -5
- package/dist/renderer-FbyMYKXe.mjs +0 -5
- package/dist/renderer-NMFv7Auz.mjs +0 -5
- package/dist/renderer-P3vpdUnb.mjs +0 -5
- package/dist/renderer-QTOm26Lg.mjs +0 -5
- package/dist/renderer-ahzhMa5q.mjs +0 -5
- package/dist/renderer-dThfTNge.mjs +0 -5
- package/dist/renderer-dgAS_k7B.mjs +0 -5
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
### Compositing, motion graphics, and 3D for code-first video — one npm package that AI agents drive with code.
|
|
8
8
|
|
|
9
|
-
[**Documentation**](https://framefields.dev/docs)  ·  [**Website**](https://framefields.dev)  ·  [**Discord**](https://discord.gg/cbqMGGme5)  ·  [**Examples**](https://github.com/gatewai-dev/framefields/blob/main/examples)
|
|
9
|
+
[**Documentation**](https://framefields.dev/docs)  ·  [**Website**](https://framefields.dev)  ·  [**Models**](https://framefields.dev/models)  ·  [**Discord**](https://discord.gg/cbqMGGme5)  ·  [**Examples**](https://github.com/gatewai-dev/framefields/blob/main/examples)
|
|
10
10
|
|
|
11
11
|
[](https://www.npmjs.com/package/framefields)
|
|
12
12
|
[](https://framefields.dev/docs)
|
|
@@ -165,10 +165,33 @@ process.exit(0);
|
|
|
165
165
|
|
|
166
166
|
---
|
|
167
167
|
|
|
168
|
+
## AI Gateway
|
|
169
|
+
|
|
170
|
+
Framefields includes optional, built-in access to the [**framefields.dev AI Gateway**](https://framefields.dev/models), letting agents and developers generate creative media—cinematic images, video footage, background music, voiceovers, and sound effects—directly from code. Authenticated via `FRAMEFIELDS_API_KEY` (an `ff_live_…` key from your [dashboard](https://framefields.dev/dashboard/keys)), the built-in `ai` client provides a unified interface (`run`, `subscribe`, `stream`, and `queue`) across hundreds of creative foundation models like Flux, Seedance, OpenAI, Nano Banana, Kling, Minimax, Suno, and ElevenLabs without configuring separate provider accounts or billing.
|
|
171
|
+
|
|
172
|
+
To get started, store your API key in `.env` and create a dedicated script (such as `src/generate.ts`) that calls `ai.subscribe()` to render media into `assets/`. Because AI generation is asynchronous and billed per execution, assets are generated once, saved locally, and tracked with Git LFS—ready to be loaded cleanly into `Layer.image()`, `Layer.video()`, or `Layer.audio()` inside your frame-accurate compositions without recurring cost or latency during previews and renders. Browse the full model catalog and schemas at [**framefields.dev/models**](https://framefields.dev/models).
|
|
173
|
+
|
|
174
|
+
```typescript
|
|
175
|
+
import { ai } from "framefields";
|
|
176
|
+
|
|
177
|
+
// 1. Generate an image asset with Flux Schnell
|
|
178
|
+
const still = await ai.subscribe<{ images: { url: string }[] }>("flux/schnell", {
|
|
179
|
+
input: { prompt: "Cyberpunk alley in the rain, volumetric neon, 35mm", image_size: "landscape_16_9" },
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
// 2. Animate it into video with Kling or generate music & voiceovers
|
|
183
|
+
const clip = await ai.subscribe<{ video: { url: string } }>("kling-video/v2.1/standard/image-to-video", {
|
|
184
|
+
input: { prompt: "Slow forward tracking shot through neon rain", image_url: still.data.images[0].url, duration: "5" },
|
|
185
|
+
});
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
168
190
|
## Documentation
|
|
169
191
|
|
|
170
192
|
Everything else—including full API references, interactive tutorials, and guides—is available at [**framefields.dev/docs**](https://framefields.dev/docs):
|
|
171
193
|
|
|
194
|
+
- **[AI Gateway & Asset Generation](https://framefields.dev/models)** — Unified SDK for generating images, video clips, music, and voice via hundreds of hosted models
|
|
172
195
|
- **[Typography & Animators](https://framefields.dev/docs)** — Slug analytic vector text, After Effects-style range animators, and typewriter cadence
|
|
173
196
|
- **[WebGPU 2D VFX](https://framefields.dev/docs)** — 50+ shaders: 3D LUTs, Curves, Film Grain, Glassmorphism, and Blur
|
|
174
197
|
- **[Unified 3D Scenes](https://framefields.dev/docs)** — LookAt cameras, PBR materials, studio lighting, shadows, and glTF/GLB models
|
package/dist/audio/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as WebGPUAudioProcessor } from "../index-
|
|
2
|
-
import { a as SfxTrigger, c as softLimit, d as _default$5, f as _default$4, g as mixAudioTracks, h as _default$2, i as SfxRenderContext, l as _default$7, m as _default$3, n as encodeStereoWav, o as mixSfxInto, p as _default, r as RenderedSfx, s as renderSfx, t as EncodeWavOptions, u as _default$6 } from "../index-
|
|
3
|
-
import "../index-
|
|
4
|
-
import { t as _default$1 } from "../renderer-
|
|
1
|
+
import { N as WebGPUAudioProcessor } from "../index-DEODKaL6.mjs";
|
|
2
|
+
import { a as SfxTrigger, c as softLimit, d as _default$5, f as _default$4, g as mixAudioTracks, h as _default$2, i as SfxRenderContext, l as _default$7, m as _default$3, n as encodeStereoWav, o as mixSfxInto, p as _default, r as RenderedSfx, s as renderSfx, t as EncodeWavOptions, u as _default$6 } from "../index-BONyHjZX.mjs";
|
|
3
|
+
import "../index-CaiZ5p6q.mjs";
|
|
4
|
+
import { t as _default$1 } from "../renderer-Dim2ZlfK.mjs";
|
|
5
5
|
export { EncodeWavOptions, RenderedSfx, SfxRenderContext, SfxTrigger, WebGPUAudioProcessor, _default as audioFadeRenderer, _default$1 as audioSignalExtractorRenderer, _default$2 as compressorRenderer, _default$3 as delayRenderer, encodeStereoWav, mixAudioTracks, mixSfxInto, _default$4 as noiseGateRenderer, _default$5 as parametricEqRenderer, renderSfx, _default$6 as reverbRenderer, softLimit, _default$7 as stereoPanningRenderer };
|
package/dist/audio/index.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import "../chunk-GBe2k3y8.mjs";
|
|
2
|
-
import { g as WebGPUAudioProcessor } from "../dist-
|
|
3
|
-
import { t as renderers_default$1 } from "../renderers-CP8CFWDs-
|
|
4
|
-
import { i as mixAudioTracks } from "../dist-
|
|
5
|
-
import { t as renderers_default$2 } from "../renderer-
|
|
6
|
-
import { t as renderers_default$3 } from "../renderer-
|
|
7
|
-
import { t as renderers_default } from "../renderer-
|
|
8
|
-
import { t as renderers_default$4 } from "../renderer-
|
|
9
|
-
import { t as renderers_default$5 } from "../renderer-
|
|
10
|
-
import { t as renderers_default$6 } from "../renderer-
|
|
2
|
+
import { g as WebGPUAudioProcessor } from "../dist-DRB6Vg5u.mjs";
|
|
3
|
+
import { t as renderers_default$1 } from "../renderers-CP8CFWDs-DoVn7dbW.mjs";
|
|
4
|
+
import { i as mixAudioTracks } from "../dist-Cl0mvShy.mjs";
|
|
5
|
+
import { t as renderers_default$2 } from "../renderer-i4RJ-_sx.mjs";
|
|
6
|
+
import { t as renderers_default$3 } from "../renderer-C9pl21Zb.mjs";
|
|
7
|
+
import { t as renderers_default } from "../renderer-yGARXwV0.mjs";
|
|
8
|
+
import { t as renderers_default$4 } from "../renderer-CCu1Q8ib.mjs";
|
|
9
|
+
import { t as renderers_default$5 } from "../renderer-CCCitH4J.mjs";
|
|
10
|
+
import { t as renderers_default$6 } from "../renderer-DOkEalxy.mjs";
|
|
11
11
|
import "../renderer-B-BcgA6d.mjs";
|
|
12
|
-
import { t as renderers_default$7 } from "../renderer-
|
|
12
|
+
import { t as renderers_default$7 } from "../renderer-Tf1AS1aO.mjs";
|
|
13
13
|
import { i as softLimit, n as mixSfxInto, r as renderSfx, t as encodeStereoWav } from "../audio-DJeVoE8b.mjs";
|
|
14
14
|
|
|
15
15
|
export { WebGPUAudioProcessor, renderers_default as audioFadeRenderer, renderers_default$1 as audioSignalExtractorRenderer, renderers_default$2 as compressorRenderer, renderers_default$3 as delayRenderer, encodeStereoWav, mixAudioTracks, mixSfxInto, renderers_default$4 as noiseGateRenderer, renderers_default$5 as parametricEqRenderer, renderSfx, renderers_default$6 as reverbRenderer, softLimit, renderers_default$7 as stereoPanningRenderer };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Ci as FrameSignal, o as AudioSignalComputeConfig } from "./index-
|
|
2
|
-
import { n as NodeRendererPlugin } from "./index-
|
|
1
|
+
import { Ci as FrameSignal, o as AudioSignalComputeConfig } from "./index-DEODKaL6.mjs";
|
|
2
|
+
import { n as NodeRendererPlugin } from "./index-CaiZ5p6q.mjs";
|
|
3
3
|
|
|
4
4
|
//#region ../../nodes/node-modulate/dist/renderer.d.mts
|
|
5
5
|
//#region src/renderers/index.d.ts
|
|
@@ -34,4 +34,4 @@ declare const AudioSignal: {
|
|
|
34
34
|
};
|
|
35
35
|
//#endregion
|
|
36
36
|
export { _default as i, AudioSignalOptions as n, ExtractedAudioSignalsBundle as r, AudioSignal as t };
|
|
37
|
-
//# sourceMappingURL=audio-
|
|
37
|
+
//# sourceMappingURL=audio-C6toT7F3.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-
|
|
1
|
+
{"version":3,"file":"audio-C6toT7F3.d.mts","names":["_framefields_node_sdk_renderer0","_default","NodeRendererPlugin","Readonly","default"],"sources":["../../../nodes/node-modulate/dist/renderer.d.mts","../src/signals/audio.ts"],"sourcesContent":["import * as _framefields_node_sdk_renderer0 from \"@framefields/node-sdk/renderer\";\n\n//#region src/renderers/index.d.ts\ndeclare const _default: Readonly<_framefields_node_sdk_renderer0.NodeRendererPlugin>;\n//#endregion\nexport { _default as default };\n//# sourceMappingURL=renderer.d.mts.map"],"mappings":";;;;;cAGcC,UAAUE,SAASH;AAHiD;;;UCYjE,kBAAA,SAA2B;;EDT9BC,WAAsE,CAAA,EAAA,MAAA;;;UCenE,2BAAA;EANA,OAAA,EAOP,WAPO,CAAmB,MAAA,CAAA;EAMnB,IAAA,EAEV,WAFU,CAAA,MAAA,CAAA;EACP,IAAA,EAEH,WAFG,CAAA,MAAA,CAAA;EACH,MAAA,EAEE,WAFF,CAAA,MAAA,CAAA;EACA,WAAA,EAAA,MAAA;EACE,SAAA,EAAA,MAAA;EAAW,UAAA,EAAA,MAAA;EAaP,WAAA,EAAA,OAuGZ;EArGW,OAAA,EAAA,OAAA;EAED,aAAA,EAAA,OAAA;EACC,UAAA,EAAA,OAAA;EAAR,UAAA,EAAA,OAAA;EAoFO,YAAA,EAAA,OAAA;EACC,SAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAAA,IAAA;;AAAD,cA1FE,WA0FF,EAAA;gCAxFC,8CAED,qBACP,QAAQ;oCAoFD,qBACP,QAAQ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { xt as frameArraySignal } from "./dist-fjKpBYkc.mjs";
|
|
2
|
-
import { A as ensureDevice, St as AudioSignalComputePipeline } from "./dist-
|
|
3
|
-
import { n as decodeAudioSource } from "./dist-
|
|
2
|
+
import { A as ensureDevice, St as AudioSignalComputePipeline } from "./dist-DRB6Vg5u.mjs";
|
|
3
|
+
import { n as decodeAudioSource } from "./dist-Cl0mvShy.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/signals/audio.ts
|
|
6
6
|
const AudioSignal = {
|
|
@@ -82,4 +82,4 @@ const AudioSignal = {
|
|
|
82
82
|
|
|
83
83
|
//#endregion
|
|
84
84
|
export { AudioSignal as t };
|
|
85
|
-
//# sourceMappingURL=audio-
|
|
85
|
+
//# sourceMappingURL=audio-DXwNhi1z.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-
|
|
1
|
+
{"version":3,"file":"audio-DXwNhi1z.mjs","names":[],"sources":["../src/signals/audio.ts"],"sourcesContent":["import { decodeAudioSource } from \"@framefields/compositions\";\nimport {\n\ttype FrameSignal,\n\tframeArraySignal,\n\ttype GPUTextureBinding,\n} from \"@framefields/core\";\nimport {\n\ttype AudioSignalComputeConfig,\n\tAudioSignalComputePipeline,\n\tensureDevice,\n} from \"@framefields/webgpu-renderers\";\n\nexport interface AudioSignalOptions extends AudioSignalComputeConfig {\n\tfps?: number;\n\ttargetWidth?: number;\n\tpreviewMode?: \"waveform\" | \"envelope\" | \"beat_markers\" | \"spectrum\";\n}\n\nexport interface ExtractedAudioSignalsBundle {\n\tprimary: FrameSignal<number>;\n\tbeat: FrameSignal<number>;\n\tbass: FrameSignal<number>;\n\tenergy: FrameSignal<number>;\n\tdurationSec: number;\n\tnumFrames: number;\n\tsampleRate: number;\n\ttextureView: unknown;\n\ttexture: unknown;\n\tprimaryBuffer: unknown;\n\tbeatBuffer: unknown;\n\tbassBuffer: unknown;\n\tenergyBuffer: unknown;\n\tseekFrame(frame: number): void;\n}\n\nexport const AudioSignal = {\n\tasync extractFromChannels(\n\t\tchannels: Float32Array[],\n\t\tsampleRate: number,\n\t\toptions: AudioSignalOptions = {},\n\t): Promise<ExtractedAudioSignalsBundle> {\n\t\tconst device = await ensureDevice();\n\t\tconst fps = options.fps ?? 24;\n\t\tconst targetWidth = options.targetWidth ?? 512;\n\n\t\tconst extracted = await AudioSignalComputePipeline.extractFeatures(\n\t\t\tdevice,\n\t\t\tchannels,\n\t\t\tsampleRate,\n\t\t\tfps,\n\t\t\toptions,\n\t\t\ttargetWidth,\n\t\t);\n\n\t\tconst samples = extracted.channelSamples ?? {\n\t\t\tprimary: new Float32Array(extracted.numFrames),\n\t\t\tbeat: new Float32Array(extracted.numFrames),\n\t\t\tbass: new Float32Array(extracted.numFrames),\n\t\t\tenergy: new Float32Array(extracted.numFrames),\n\t\t};\n\n\t\tconst primaryBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_primary\",\n\t\t\tchannel: \"primary\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.primaryBuffer,\n\t\t\tstats: extracted.stats.primary,\n\t\t};\n\t\tconst beatBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_beat\",\n\t\t\tchannel: \"beat\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.beatBuffer,\n\t\t\tstats: extracted.stats.beat,\n\t\t};\n\t\tconst bassBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_bass\",\n\t\t\tchannel: \"bass\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.bassBuffer,\n\t\t\tstats: extracted.stats.bass,\n\t\t};\n\t\tconst energyBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_energy\",\n\t\t\tchannel: \"energy\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.energyBuffer,\n\t\t\tstats: extracted.stats.energy,\n\t\t};\n\n\t\tconst primary = frameArraySignal(samples.primary, fps, primaryBinding);\n\t\tconst beat = frameArraySignal(samples.beat, fps, beatBinding);\n\t\tconst bass = frameArraySignal(samples.bass, fps, bassBinding);\n\t\tconst energy = frameArraySignal(samples.energy, fps, energyBinding);\n\n\t\treturn {\n\t\t\tprimary,\n\t\t\tbeat,\n\t\t\tbass,\n\t\t\tenergy,\n\t\t\tdurationSec: extracted.durationSec,\n\t\t\tnumFrames: extracted.numFrames,\n\t\t\tsampleRate,\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tprimaryBuffer: extracted.primaryBuffer,\n\t\t\tbeatBuffer: extracted.beatBuffer,\n\t\t\tbassBuffer: extracted.bassBuffer,\n\t\t\tenergyBuffer: extracted.energyBuffer,\n\t\t\tseekFrame(frame: number) {\n\t\t\t\tprimary.seekFrame?.(frame);\n\t\t\t\tbeat.seekFrame?.(frame);\n\t\t\t\tbass.seekFrame?.(frame);\n\t\t\t\tenergy.seekFrame?.(frame);\n\t\t\t},\n\t\t};\n\t},\n\n\tasync extract(\n\t\tsource: string,\n\t\toptions: AudioSignalOptions = {},\n\t): Promise<ExtractedAudioSignalsBundle> {\n\t\tconst decoded = await decodeAudioSource(source);\n\t\tif (!decoded || decoded.channels.length === 0) {\n\t\t\tthrow new Error(\n\t\t\t\t`Failed to decode audio source for feature extraction: ${source}`,\n\t\t\t);\n\t\t}\n\t\treturn AudioSignal.extractFromChannels(\n\t\t\tdecoded.channels,\n\t\t\tdecoded.sampleRate,\n\t\t\toptions,\n\t\t);\n\t},\n};\n"],"mappings":";;;;;AAmCA,MAAa,cAAc;CAC1B,MAAM,oBACL,UACA,YACA,UAA8B,EAAE,EACO;EACvC,MAAM,SAAS,MAAM,cAAc;EACnC,MAAM,MAAM,QAAQ,OAAO;EAC3B,MAAM,cAAc,QAAQ,eAAe;EAE3C,MAAM,YAAY,MAAM,2BAA2B,gBAClD,QACA,UACA,YACA,KACA,SACA,YACA;EAED,MAAM,UAAU,UAAU,kBAAkB;GAC3C,SAAS,IAAI,aAAa,UAAU,UAAU;GAC9C,MAAM,IAAI,aAAa,UAAU,UAAU;GAC3C,MAAM,IAAI,aAAa,UAAU,UAAU;GAC3C,QAAQ,IAAI,aAAa,UAAU,UAAU;GAC7C;EAED,MAAM,iBAAoC;GACzC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EACD,MAAM,cAAiC;GACtC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EACD,MAAM,cAAiC;GACtC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EACD,MAAM,gBAAmC;GACxC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EAED,MAAM,UAAU,iBAAiB,QAAQ,SAAS,KAAK,eAAe;EACtE,MAAM,OAAO,iBAAiB,QAAQ,MAAM,KAAK,YAAY;EAC7D,MAAM,OAAO,iBAAiB,QAAQ,MAAM,KAAK,YAAY;EAC7D,MAAM,SAAS,iBAAiB,QAAQ,QAAQ,KAAK,cAAc;AAEnE,SAAO;GACN;GACA;GACA;GACA;GACA,aAAa,UAAU;GACvB,WAAW,UAAU;GACrB;GACA,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,eAAe,UAAU;GACzB,YAAY,UAAU;GACtB,YAAY,UAAU;GACtB,cAAc,UAAU;GACxB,UAAU,OAAe;AACxB,YAAQ,YAAY,MAAM;AAC1B,SAAK,YAAY,MAAM;AACvB,SAAK,YAAY,MAAM;AACvB,WAAO,YAAY,MAAM;;GAE1B;;CAGF,MAAM,QACL,QACA,UAA8B,EAAE,EACO;EACvC,MAAM,UAAU,MAAM,kBAAkB,OAAO;AAC/C,MAAI,CAAC,WAAW,QAAQ,SAAS,WAAW,EAC3C,OAAM,IAAI,MACT,yDAAyD,SACzD;AAEF,SAAO,YAAY,oBAClB,QAAQ,UACR,QAAQ,YACR,QACA;;CAEF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Ot as getMediaType, Pt as isSignal, on as updateClockSignals, p as DEFAULT_DURATION_MS, qt as resolveMediaMimeType, wt as getActiveMediaMetadata } from "./dist-fjKpBYkc.mjs";
|
|
2
2
|
import { t as audioRegistry, u as webgpuRegistry } from "./renderer-BSitV56h.mjs";
|
|
3
|
-
import { C as drawGifNode, D as drawSignalNode, E as drawParagraphNode, L as inputStore, N as getHeadlessFontPath, Nn as signalRegistry, O as drawSvgNode, Q as registerHeadlessFont, S as drawCaptionNode, T as drawLottieNode, at as resolveMediaSourceUrl, et as shaderStore, it as GetFontAssetUrl, k as drawVideoNode, m as SlugGeometry, p as SlugFontCache, w as drawImageNode } from "./dist-
|
|
3
|
+
import { C as drawGifNode, D as drawSignalNode, E as drawParagraphNode, L as inputStore, N as getHeadlessFontPath, Nn as signalRegistry, O as drawSvgNode, Q as registerHeadlessFont, S as drawCaptionNode, T as drawLottieNode, at as resolveMediaSourceUrl, et as shaderStore, it as GetFontAssetUrl, k as drawVideoNode, m as SlugGeometry, p as SlugFontCache, w as drawImageNode } from "./dist-DRB6Vg5u.mjs";
|
|
4
4
|
import { AudioSampleSink } from "mediabunny";
|
|
5
5
|
|
|
6
6
|
//#region ../renderers/dist/index.mjs
|
|
@@ -1361,4 +1361,4 @@ async function mixAudioTracks(virtualMedia, fps, targetSampleRate = 48e3, device
|
|
|
1361
1361
|
|
|
1362
1362
|
//#endregion
|
|
1363
1363
|
export { spring as _, resolveLayerDuration as a, computeStrokeRect as c, measureSpring as d, measureText as f, requiresIsolation as g, preloadFont as h, mixAudioTracks as i, interpolate as l, preloadCompositionFonts as m, decodeAudioSource as n, Easing as o, measureTextAsync as p, drawCompositionTree as r, bezier as s, compositionStateStore as t, mapBlendModeToSkia as u, springCalculation as v };
|
|
1364
|
-
//# sourceMappingURL=dist-
|
|
1364
|
+
//# sourceMappingURL=dist-Cl0mvShy.mjs.map
|