framefields 2.1.2 → 2.2.0-beta.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 +48 -618
- package/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-CfBpzxn9.d.mts → audio-1QquqDJs.d.mts} +3 -3
- package/dist/{audio-CfBpzxn9.d.mts.map → audio-1QquqDJs.d.mts.map} +1 -1
- package/dist/{audio-GGuQ_JI0.mjs → audio-BYqbtdH8.mjs} +3 -3
- package/dist/{audio-GGuQ_JI0.mjs.map → audio-BYqbtdH8.mjs.map} +1 -1
- package/dist/{dist-Bb8BoMiw.mjs → dist-BLbXEC6V.mjs} +5 -3
- package/dist/dist-BLbXEC6V.mjs.map +1 -0
- package/dist/{dist-DkuDAIrG.mjs → dist-DQlYw4eG.mjs} +85 -43
- package/dist/dist-DQlYw4eG.mjs.map +1 -0
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +34 -34
- package/dist/{effects-D6wFg2FR.mjs → effects-DgpPr38s.mjs} +2 -2
- package/dist/{effects-D6wFg2FR.mjs.map → effects-DgpPr38s.mjs.map} +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-CZMYtbP7.mjs → fonts-DakFEiDw.mjs} +3 -3
- package/dist/fonts-DakFEiDw.mjs.map +1 -0
- package/dist/{gpu-DG3gI88-.mjs → gpu-AbcLcr1f.mjs} +2 -2
- package/dist/{gpu-DG3gI88-.mjs.map → gpu-AbcLcr1f.mjs.map} +1 -1
- package/dist/{index-Cpkzy5XR.d.mts → index--1jnkoBj.d.mts} +20 -2
- package/dist/index--1jnkoBj.d.mts.map +1 -0
- package/dist/index-BcA8rep0.d.mts.map +1 -1
- package/dist/{index-D__HdInU.d.mts → index-Bg8HIYAO.d.mts} +4 -4
- package/dist/{index-D__HdInU.d.mts.map → index-Bg8HIYAO.d.mts.map} +1 -1
- package/dist/{index-BzQc812z.d.mts → index-BqzHDFkU.d.mts} +3 -3
- package/dist/{index-BzQc812z.d.mts.map → index-BqzHDFkU.d.mts.map} +1 -1
- package/dist/{index-DpWia6iH.d.mts → index-CaZfxDXx.d.mts} +27 -3
- package/dist/index-CaZfxDXx.d.mts.map +1 -0
- package/dist/{index-Fciq8bcC.d.mts → index-D6_KcajH.d.mts} +2 -2
- package/dist/{index-Fciq8bcC.d.mts.map → index-D6_KcajH.d.mts.map} +1 -1
- package/dist/{index--0vVZDPM.d.mts → index-DgJIBC_N.d.mts} +3 -3
- package/dist/{index--0vVZDPM.d.mts.map → index-DgJIBC_N.d.mts.map} +1 -1
- package/dist/index.d.mts +72 -65
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +49 -49
- 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--rOXbBxl.mjs → preview-RdaP0Rfv.mjs} +2 -2
- package/dist/{preview--rOXbBxl.mjs.map → preview-RdaP0Rfv.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/chunk-2W4BMOAZ.mjs +1 -0
- package/dist/preview-engine/{chunk-XC5WZNOY.mjs → chunk-5MSAA3DL.mjs} +2 -2
- package/dist/preview-engine/chunk-AKMCLVJ6.mjs +5 -0
- package/dist/preview-engine/{chunk-E4RAFHZM.mjs → chunk-ATLWPS6N.mjs} +1 -1
- package/dist/preview-engine/{chunk-5FC7GOWW.mjs → chunk-FFQ3K5FW.mjs} +1 -1
- package/dist/preview-engine/chunk-FJH5A2PV.mjs +1 -0
- package/dist/preview-engine/{chunk-BWJS6G7R.mjs → chunk-LQENNFBA.mjs} +6 -6
- package/dist/preview-engine/{chunk-5DOD2NVY.mjs → chunk-MOW55DX2.mjs} +1 -1
- package/dist/preview-engine/chunk-N4OG2BHX.mjs +3 -0
- package/dist/preview-engine/{chunk-QY7MHWZW.mjs → chunk-UKBUEM3G.mjs} +1 -1
- package/dist/preview-engine/chunk-VUFDQJ2B.mjs +1 -0
- package/dist/preview-engine/{chunk-ZIIFTWDH.mjs → chunk-XETMNJVV.mjs} +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/fonts.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +21 -21
- package/dist/preview-engine/player.mjs +5 -5
- package/dist/preview-engine/{renderers-YZEVPHPQ.mjs → renderers-OZYUGZG7.mjs} +1 -1
- package/dist/preview-engine/{renderers-2SVWAB42.mjs → renderers-UHYNEWQD.mjs} +1 -1
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/{program-Cc5AsBHz.mjs → program-Cc_2_YXn.mjs} +2 -2
- package/dist/{program-Cc5AsBHz.mjs.map → program-Cc_2_YXn.mjs.map} +1 -1
- package/dist/renderer/index.d.mts +3 -3
- package/dist/renderer/index.mjs +3 -3
- package/dist/{renderer-Br9BOkQs.mjs → renderer-2DjggBBS.mjs} +2 -2
- package/dist/{renderer-Br9BOkQs.mjs.map → renderer-2DjggBBS.mjs.map} +1 -1
- package/dist/{renderer-DyzNM721.mjs → renderer-4GYrnTfw.mjs} +2 -2
- package/dist/{renderer-DyzNM721.mjs.map → renderer-4GYrnTfw.mjs.map} +1 -1
- package/dist/renderer-9ETXaINw.mjs +5 -0
- package/dist/renderer-B3MVDN_e.mjs +5 -0
- package/dist/{renderer-qsg-JMuN.mjs → renderer-B4cnT3ce.mjs} +3 -3
- package/dist/{renderer-qsg-JMuN.mjs.map → renderer-B4cnT3ce.mjs.map} +1 -1
- package/dist/{renderer-NXdm6HLb.mjs → renderer-B5PFBOjv.mjs} +3 -3
- package/dist/{renderer-NXdm6HLb.mjs.map → renderer-B5PFBOjv.mjs.map} +1 -1
- package/dist/renderer-B6iUuWcx.mjs +6 -0
- package/dist/renderer-B8IdU-7S.mjs +5 -0
- package/dist/renderer-BEGJCxuL.mjs +5 -0
- package/dist/{renderer-CoGP4Mvf.mjs → renderer-BEzUirF0.mjs} +2 -2
- package/dist/{renderer-CoGP4Mvf.mjs.map → renderer-BEzUirF0.mjs.map} +1 -1
- package/dist/{renderer-CydWqyf0.mjs → renderer-BKd2nRnO.mjs} +2 -2
- package/dist/{renderer-CydWqyf0.mjs.map → renderer-BKd2nRnO.mjs.map} +1 -1
- package/dist/renderer-BLAkNFx7.mjs +5 -0
- package/dist/{renderer-C7UZLOYk.mjs → renderer-BN0CzoG_.mjs} +2 -2
- package/dist/{renderer-C7UZLOYk.mjs.map → renderer-BN0CzoG_.mjs.map} +1 -1
- package/dist/{renderer-D2BRlqof.mjs → renderer-BNcsS03m.mjs} +2 -2
- package/dist/{renderer-D2BRlqof.mjs.map → renderer-BNcsS03m.mjs.map} +1 -1
- package/dist/{renderer-Bs_f_App.d.mts → renderer-BO-7bYa5.d.mts} +2 -2
- package/dist/{renderer-Bs_f_App.d.mts.map → renderer-BO-7bYa5.d.mts.map} +1 -1
- package/dist/{renderer-DzrM1KMN.mjs → renderer-BPMywsr4.mjs} +3 -3
- package/dist/{renderer-DzrM1KMN.mjs.map → renderer-BPMywsr4.mjs.map} +1 -1
- package/dist/renderer-BVNhv2ft.mjs +5 -0
- package/dist/renderer-BaXTEIe0.mjs +5 -0
- package/dist/{renderer-Dno-fujw.mjs → renderer-Bfrwo_It.mjs} +2 -2
- package/dist/{renderer-Dno-fujw.mjs.map → renderer-Bfrwo_It.mjs.map} +1 -1
- package/dist/{renderer-Bc6J0iVG.mjs → renderer-BhxQzrHF.mjs} +2 -2
- package/dist/{renderer-Bc6J0iVG.mjs.map → renderer-BhxQzrHF.mjs.map} +1 -1
- package/dist/renderer-BjeA7s36.mjs +5 -0
- package/dist/renderer-BtGNxEay.mjs +5 -0
- package/dist/renderer-BvZg2RJG.mjs +5 -0
- package/dist/{renderer-BKf1qDwL.mjs → renderer-C2eBC0FB.mjs} +3 -3
- package/dist/{renderer-BKf1qDwL.mjs.map → renderer-C2eBC0FB.mjs.map} +1 -1
- package/dist/{renderer-BWVsBB3t.mjs → renderer-C4UqxwcT.mjs} +2 -2
- package/dist/{renderer-BWVsBB3t.mjs.map → renderer-C4UqxwcT.mjs.map} +1 -1
- package/dist/{renderer-BI5rvAyo.mjs → renderer-C6u-XrH-.mjs} +3 -3
- package/dist/{renderer-BI5rvAyo.mjs.map → renderer-C6u-XrH-.mjs.map} +1 -1
- package/dist/{renderer-D2FFvxsq.mjs → renderer-CB87_0vL.mjs} +3 -3
- package/dist/{renderer-D2FFvxsq.mjs.map → renderer-CB87_0vL.mjs.map} +1 -1
- package/dist/{renderer-CAJe9eLS.mjs → renderer-CD38wGmN.mjs} +2 -2
- package/dist/{renderer-CAJe9eLS.mjs.map → renderer-CD38wGmN.mjs.map} +1 -1
- package/dist/{renderer-C92mwhZz.mjs → renderer-CGZqCmf2.mjs} +2 -2
- package/dist/{renderer-C92mwhZz.mjs.map → renderer-CGZqCmf2.mjs.map} +1 -1
- package/dist/{renderer-DqjITuT-.mjs → renderer-CHkqgIOL.mjs} +2 -2
- package/dist/{renderer-DqjITuT-.mjs.map → renderer-CHkqgIOL.mjs.map} +1 -1
- package/dist/{renderer-BXQQxeNC.mjs → renderer-CK0u3Psf.mjs} +3 -3
- package/dist/{renderer-BXQQxeNC.mjs.map → renderer-CK0u3Psf.mjs.map} +1 -1
- package/dist/renderer-CLW6tUUn.mjs +5 -0
- package/dist/{renderer-9L0p8IT3.mjs → renderer-CO4theVJ.mjs} +2 -2
- package/dist/{renderer-DoYdfDEA.mjs → renderer-CPW9o3Lc.mjs} +3 -3
- package/dist/{renderer-DoYdfDEA.mjs.map → renderer-CPW9o3Lc.mjs.map} +1 -1
- package/dist/renderer-CS-ojgJk.mjs +5 -0
- package/dist/{renderer-timEC0Gl.mjs → renderer-CSfLMXN8.mjs} +3 -3
- package/dist/{renderer-timEC0Gl.mjs.map → renderer-CSfLMXN8.mjs.map} +1 -1
- package/dist/{renderer-BygIYH8s.mjs → renderer-CSoyJ8GH.mjs} +2 -2
- package/dist/{renderer-BygIYH8s.mjs.map → renderer-CSoyJ8GH.mjs.map} +1 -1
- package/dist/renderer-CUQtKECw.mjs +5 -0
- package/dist/renderer-CV-l8wMq.mjs +5 -0
- package/dist/renderer-CV7_ALA5.mjs +5 -0
- package/dist/renderer-CVR6T6Lp.mjs +5 -0
- package/dist/{renderer-DkyXqrQ6.mjs → renderer-CZ9gHx-4.mjs} +2 -2
- package/dist/{renderer-DkyXqrQ6.mjs.map → renderer-CZ9gHx-4.mjs.map} +1 -1
- package/dist/{renderer-D0aZNkQE.mjs → renderer-CciB_sav.mjs} +3 -3
- package/dist/{renderer-D0aZNkQE.mjs.map → renderer-CciB_sav.mjs.map} +1 -1
- package/dist/{renderer-DX2qEJTL.mjs → renderer-CfR0GeQL.mjs} +246 -62
- package/dist/renderer-CfR0GeQL.mjs.map +1 -0
- package/dist/{renderer-BhhSyHKF.mjs → renderer-ClWgdN2v.mjs} +2 -2
- package/dist/renderer-CtUF95UW.mjs +5 -0
- package/dist/{renderer-D8-zNjyz.mjs → renderer-Cv1wmjhA.mjs} +2 -2
- package/dist/{renderer-D8-zNjyz.mjs.map → renderer-Cv1wmjhA.mjs.map} +1 -1
- package/dist/{renderer-DUhXH5Tz.mjs → renderer-Cxh7j423.mjs} +3 -3
- package/dist/{renderer-DUhXH5Tz.mjs.map → renderer-Cxh7j423.mjs.map} +1 -1
- package/dist/{renderer-C5caYAA3.mjs → renderer-D0enmulV.mjs} +2 -2
- package/dist/{renderer-C5caYAA3.mjs.map → renderer-D0enmulV.mjs.map} +1 -1
- package/dist/renderer-D8ymQoTB.mjs +5 -0
- package/dist/renderer-D9x3UE1Y.mjs +5 -0
- package/dist/renderer-DAEXqa2Q.mjs +5 -0
- package/dist/renderer-DDhU9Goq.mjs +5 -0
- package/dist/{renderer-BhKIZDsm.mjs → renderer-DEQ09sg7.mjs} +2 -2
- package/dist/{renderer-BhKIZDsm.mjs.map → renderer-DEQ09sg7.mjs.map} +1 -1
- package/dist/{renderer-DX8aBDqR.mjs → renderer-DRpIQFAK.mjs} +2 -2
- package/dist/{renderer-DX8aBDqR.mjs.map → renderer-DRpIQFAK.mjs.map} +1 -1
- package/dist/{renderer-CrAqu3Rg.mjs → renderer-DT3QVVht.mjs} +2 -2
- package/dist/{renderer-CrAqu3Rg.mjs.map → renderer-DT3QVVht.mjs.map} +1 -1
- package/dist/{renderer-C27RfwXN.mjs → renderer-DU3216cx.mjs} +3 -3
- package/dist/{renderer-C27RfwXN.mjs.map → renderer-DU3216cx.mjs.map} +1 -1
- package/dist/{renderer-Dy-DBU0X.mjs → renderer-DU6i7shO.mjs} +2 -2
- package/dist/{renderer-Dy-DBU0X.mjs.map → renderer-DU6i7shO.mjs.map} +1 -1
- package/dist/renderer-DcCKath2.mjs +5 -0
- package/dist/{renderer-C--Dqe-3.mjs → renderer-DfSRmz7q.mjs} +3 -3
- package/dist/{renderer-C--Dqe-3.mjs.map → renderer-DfSRmz7q.mjs.map} +1 -1
- package/dist/renderer-DiBphLzn.mjs +5 -0
- package/dist/renderer-Diq9Z7gZ.mjs +5 -0
- package/dist/renderer-DjZiO7iA.mjs +5 -0
- package/dist/{renderer-Bg7647VN.mjs → renderer-DkGODUgE.mjs} +3 -3
- package/dist/{renderer-Bg7647VN.mjs.map → renderer-DkGODUgE.mjs.map} +1 -1
- package/dist/{renderer-FHyZn0em.mjs → renderer-DlqDnh-8.mjs} +2 -2
- package/dist/{renderer-FHyZn0em.mjs.map → renderer-DlqDnh-8.mjs.map} +1 -1
- package/dist/{renderer-DYIPWN_B.mjs → renderer-Dnm_SVy6.mjs} +3 -3
- package/dist/{renderer-DYIPWN_B.mjs.map → renderer-Dnm_SVy6.mjs.map} +1 -1
- package/dist/{renderer-CzBQgGD2.mjs → renderer-DppnY7RT.mjs} +3 -3
- package/dist/{renderer-CzBQgGD2.mjs.map → renderer-DppnY7RT.mjs.map} +1 -1
- package/dist/{renderer-DVnVnS3c.mjs → renderer-DqhZTIiC.mjs} +2 -2
- package/dist/{renderer-DVnVnS3c.mjs.map → renderer-DqhZTIiC.mjs.map} +1 -1
- package/dist/renderer-Dtj6o-74.mjs +5 -0
- package/dist/renderer-Duaam6bJ.mjs +5 -0
- package/dist/{renderer-DZD2G76E.mjs → renderer-DwCg5pXn.mjs} +2 -2
- package/dist/{renderer-DZD2G76E.mjs.map → renderer-DwCg5pXn.mjs.map} +1 -1
- package/dist/{renderer-c4AorKyw.mjs → renderer-Dyh8c41v.mjs} +2 -2
- package/dist/renderer-FHqZe3K1.mjs +5 -0
- package/dist/renderer-FTKfOejk.mjs +5 -0
- package/dist/{renderer-_1xGBbxn.mjs → renderer-FgcNOe1R.mjs} +5 -5
- package/dist/{renderer-_1xGBbxn.mjs.map → renderer-FgcNOe1R.mjs.map} +1 -1
- package/dist/{renderer-Bb8T5eRX.mjs → renderer-L7UTxwZT.mjs} +2 -2
- package/dist/{renderer-Bb8T5eRX.mjs.map → renderer-L7UTxwZT.mjs.map} +1 -1
- package/dist/renderer-LmbkN82X.mjs +5 -0
- package/dist/{renderer-B1Zn91xt.mjs → renderer-PbJk25JW.mjs} +3 -3
- package/dist/{renderer-B1Zn91xt.mjs.map → renderer-PbJk25JW.mjs.map} +1 -1
- package/dist/renderer-SDspl6p-.mjs +5 -0
- package/dist/renderer-SWVUDypd.mjs +5 -0
- package/dist/renderer-WhpTBwDM.mjs +5 -0
- package/dist/renderer-WrpQEVdv.mjs +5 -0
- package/dist/{renderer-CMsjnZ0G.mjs → renderer-dj3f8cMg.mjs} +3 -3
- package/dist/{renderer-CMsjnZ0G.mjs.map → renderer-dj3f8cMg.mjs.map} +1 -1
- package/dist/{renderer-DWEvQ-hQ.mjs → renderer-dwTzrQ2G.mjs} +3 -3
- package/dist/{renderer-DWEvQ-hQ.mjs.map → renderer-dwTzrQ2G.mjs.map} +1 -1
- package/dist/{renderer-C5zpaQed.mjs → renderer-egZPy7vq.mjs} +2 -2
- package/dist/{renderer-C5zpaQed.mjs.map → renderer-egZPy7vq.mjs.map} +1 -1
- package/dist/{renderer-DKqG9Lek.mjs → renderer-gwV6hyYm.mjs} +2 -2
- package/dist/{renderer-DKqG9Lek.mjs.map → renderer-gwV6hyYm.mjs.map} +1 -1
- package/dist/{renderer-BaaOR3Ao.mjs → renderer-lXmtdrdI.mjs} +2 -2
- package/dist/{renderer-BaaOR3Ao.mjs.map → renderer-lXmtdrdI.mjs.map} +1 -1
- package/dist/{renderer-Da06_9FZ.mjs → renderer-n2kYIGtb.mjs} +2 -2
- package/dist/{renderer-Da06_9FZ.mjs.map → renderer-n2kYIGtb.mjs.map} +1 -1
- package/dist/renderer-r4ney0FZ.mjs +5 -0
- package/dist/{renderer-DDqwds9R.mjs → renderer-sHDPBywo.mjs} +2 -2
- package/dist/{renderer-DDqwds9R.mjs.map → renderer-sHDPBywo.mjs.map} +1 -1
- package/dist/{renderer-DGtBOdst.mjs → renderer-scbJx-Dx.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-CMYe4kvZ.mjs → renderers-CP8CFWDs-B8HIr3kj.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-CMYe4kvZ.mjs.map → renderers-CP8CFWDs-B8HIr3kj.mjs.map} +1 -1
- package/dist/signals/index.d.mts +5 -5
- package/dist/signals/index.mjs +4 -4
- package/package.json +55 -55
- package/dist/dist-Bb8BoMiw.mjs.map +0 -1
- package/dist/dist-DkuDAIrG.mjs.map +0 -1
- package/dist/fonts-CZMYtbP7.mjs.map +0 -1
- package/dist/index-Cpkzy5XR.d.mts.map +0 -1
- package/dist/index-DpWia6iH.d.mts.map +0 -1
- package/dist/preview-engine/chunk-7EPDVSCL.mjs +0 -1
- package/dist/preview-engine/chunk-B43Z3J7J.mjs +0 -5
- package/dist/preview-engine/chunk-CYY366IE.mjs +0 -1
- package/dist/preview-engine/chunk-LGVEFPOG.mjs +0 -3
- package/dist/preview-engine/chunk-PNB3ERR3.mjs +0 -1
- package/dist/renderer-1VSi7Vum.mjs +0 -5
- package/dist/renderer-4BlpUHQT.mjs +0 -5
- package/dist/renderer-AzSX2-mZ.mjs +0 -5
- package/dist/renderer-B-cxK24t.mjs +0 -5
- package/dist/renderer-B5d5oM_D.mjs +0 -5
- package/dist/renderer-B8BdNjaN.mjs +0 -5
- package/dist/renderer-BKEfeg-4.mjs +0 -5
- package/dist/renderer-BLLOkeFB.mjs +0 -5
- package/dist/renderer-BTvov1NH.mjs +0 -5
- package/dist/renderer-BVun05IK.mjs +0 -5
- package/dist/renderer-B_3h5nhy.mjs +0 -5
- package/dist/renderer-BaZjoFYK.mjs +0 -5
- package/dist/renderer-BcApaCVe.mjs +0 -5
- package/dist/renderer-C14mKYCw.mjs +0 -5
- package/dist/renderer-CFqhAXkH.mjs +0 -5
- package/dist/renderer-CK-spD4j.mjs +0 -5
- package/dist/renderer-CLLzQTIk.mjs +0 -5
- package/dist/renderer-COwa6xlF.mjs +0 -5
- package/dist/renderer-CQPuuoVf.mjs +0 -6
- package/dist/renderer-CRd-cDqZ.mjs +0 -5
- package/dist/renderer-CTVnQAUm.mjs +0 -5
- package/dist/renderer-CbiEBSGx.mjs +0 -5
- package/dist/renderer-Cl7PruQ1.mjs +0 -5
- package/dist/renderer-CmuGGUDR.mjs +0 -5
- package/dist/renderer-CoNRrfqx.mjs +0 -5
- package/dist/renderer-CvIGa0mE.mjs +0 -5
- package/dist/renderer-CwMDPv0p.mjs +0 -5
- package/dist/renderer-DOHbhGPu.mjs +0 -5
- package/dist/renderer-DOmA6IKc.mjs +0 -5
- package/dist/renderer-DX2qEJTL.mjs.map +0 -1
- package/dist/renderer-DmCWc4JL.mjs +0 -5
- package/dist/renderer-OLaYikwi.mjs +0 -5
- package/dist/renderer-Q75RC5Uz.mjs +0 -5
- package/dist/renderer-T0LJ4Po3.mjs +0 -5
- package/dist/renderer-VuXt1hfq.mjs +0 -5
- package/dist/renderer-hY_2WLt3.mjs +0 -5
- package/dist/renderer-y4EqE06a.mjs +0 -5
|
@@ -12113,6 +12113,28 @@ function premultiplyPixels(pixels) {
|
|
|
12113
12113
|
}
|
|
12114
12114
|
let deviceInstance = null;
|
|
12115
12115
|
let loadPromise = null;
|
|
12116
|
+
let adapterInfo = null;
|
|
12117
|
+
const SOFTWARE_ADAPTER = /llvmpipe|lavapipe|softpipe|swiftshader|\bwarp\b|software/i;
|
|
12118
|
+
function readAdapterInfo(adapter) {
|
|
12119
|
+
const info = adapter.info ?? {};
|
|
12120
|
+
const out = {
|
|
12121
|
+
vendor: String(info.vendor ?? ""),
|
|
12122
|
+
architecture: String(info.architecture ?? ""),
|
|
12123
|
+
device: String(info.device ?? ""),
|
|
12124
|
+
description: String(info.description ?? "")
|
|
12125
|
+
};
|
|
12126
|
+
const software = info.isFallbackAdapter === true || adapter.isFallbackAdapter === true || SOFTWARE_ADAPTER.test(`${out.vendor} ${out.architecture} ${out.device} ${out.description}`);
|
|
12127
|
+
return {
|
|
12128
|
+
...out,
|
|
12129
|
+
software
|
|
12130
|
+
};
|
|
12131
|
+
}
|
|
12132
|
+
/** Initialises the rendering device if needed and describes its adapter. */
|
|
12133
|
+
async function describeGpu() {
|
|
12134
|
+
await ensureDevice();
|
|
12135
|
+
if (!adapterInfo) throw new Error("WebGPU adapter unknown");
|
|
12136
|
+
return adapterInfo;
|
|
12137
|
+
}
|
|
12116
12138
|
async function acquireDevice(opts) {
|
|
12117
12139
|
if (typeof process !== "undefined" && !!process.versions?.node && !globalThis.navigator?.gpu) {
|
|
12118
12140
|
const { create, globals } = await import(
|
|
@@ -12128,11 +12150,16 @@ async function acquireDevice(opts) {
|
|
|
12128
12150
|
writable: true
|
|
12129
12151
|
});
|
|
12130
12152
|
}
|
|
12131
|
-
const
|
|
12153
|
+
const gpu = globalThis.navigator.gpu;
|
|
12154
|
+
const adapter = await gpu.requestAdapter({
|
|
12132
12155
|
powerPreference: "high-performance",
|
|
12133
12156
|
...opts
|
|
12134
|
-
})
|
|
12157
|
+
}) ?? (opts?.forceFallbackAdapter ? null : await gpu.requestAdapter({
|
|
12158
|
+
...opts,
|
|
12159
|
+
forceFallbackAdapter: true
|
|
12160
|
+
}));
|
|
12135
12161
|
if (!adapter) throw new Error("WebGPU not available");
|
|
12162
|
+
adapterInfo = readAdapterInfo(adapter);
|
|
12136
12163
|
const requiredFeatures = [];
|
|
12137
12164
|
if (adapter.features.has("float32-filterable")) requiredFeatures.push("float32-filterable");
|
|
12138
12165
|
const requiredLimits = {};
|
|
@@ -12611,6 +12638,19 @@ var InputStore = class {
|
|
|
12611
12638
|
shared.refCount++;
|
|
12612
12639
|
return shared.promise;
|
|
12613
12640
|
}
|
|
12641
|
+
/**
|
|
12642
|
+
* Drops every cached input, including ones a failed render never released.
|
|
12643
|
+
* Used between jobs, when the same path may now hold a different file.
|
|
12644
|
+
*/
|
|
12645
|
+
clear() {
|
|
12646
|
+
const entries = [...this.store.values()];
|
|
12647
|
+
this.store.clear();
|
|
12648
|
+
for (const shared of entries) shared.promise.then((input) => {
|
|
12649
|
+
try {
|
|
12650
|
+
input.dispose();
|
|
12651
|
+
} catch (_) {}
|
|
12652
|
+
}, () => {});
|
|
12653
|
+
}
|
|
12614
12654
|
release(url) {
|
|
12615
12655
|
if (!url) return;
|
|
12616
12656
|
const resolvedUrl = resolveInputUrl(url, isNodeRuntime());
|
|
@@ -18173,14 +18213,14 @@ var SlugGeometry = class SlugGeometry$1 {
|
|
|
18173
18213
|
for (let sIdx = 0; sIdx < spans.length; sIdx++) {
|
|
18174
18214
|
const s = spans[sIdx];
|
|
18175
18215
|
const rawText = String(resolveValue(s.text) ?? "");
|
|
18216
|
+
const sizeValue = resolveValue(s.fontSize);
|
|
18217
|
+
const spanFontSize = typeof sizeValue === "number" ? sizeValue : sizeValue !== void 0 ? Number(sizeValue) : defaultFontSize;
|
|
18176
18218
|
let spanFont = defaultFont;
|
|
18177
18219
|
if (s.fontFamily || s.fontWeight !== void 0) {
|
|
18178
18220
|
const family = s.fontFamily ?? defaultFont.fontFamily ?? "Inter";
|
|
18179
|
-
const resolved = SlugFontCache.getFont(family, s.fontWeight, null);
|
|
18221
|
+
const resolved = SlugFontCache.getFont(family, s.fontWeight, null, void 0, spanFontSize);
|
|
18180
18222
|
if (resolved) spanFont = resolved;
|
|
18181
18223
|
}
|
|
18182
|
-
const sizeValue = resolveValue(s.fontSize);
|
|
18183
|
-
const spanFontSize = typeof sizeValue === "number" ? sizeValue : sizeValue !== void 0 ? Number(sizeValue) : defaultFontSize;
|
|
18184
18224
|
const fillValue = resolveValue(s.fill);
|
|
18185
18225
|
const opacityValue = resolveValue(s.opacity);
|
|
18186
18226
|
const style = {
|
|
@@ -19628,7 +19668,7 @@ function measureMaxCaptionHeight(captions, style, maxWidth) {
|
|
|
19628
19668
|
const availableW = maxWidth ? Math.max(10, maxWidth - padding * 2) : void 0;
|
|
19629
19669
|
let fontFamily = style.fontFamily ?? "Inter";
|
|
19630
19670
|
if (SlugFontCache.isFailed(fontFamily)) fontFamily = "Inter";
|
|
19631
|
-
const slugFont = SlugFontCache.getFont(fontFamily, style.fontWeight, null);
|
|
19671
|
+
const slugFont = SlugFontCache.getFont(fontFamily, style.fontWeight, null, void 0, fontSize);
|
|
19632
19672
|
let maxH = 0;
|
|
19633
19673
|
for (const cue of captions) {
|
|
19634
19674
|
if (!cue.text) continue;
|
|
@@ -19737,7 +19777,7 @@ async function drawCaptionNode(ctx, pass, props) {
|
|
|
19737
19777
|
if (SlugFontCache.isFailed(fontFamily)) fontFamily = "Inter";
|
|
19738
19778
|
if (SlugFontCache.isFailed(fontFamily)) return;
|
|
19739
19779
|
const letterSpacing = props.letterSpacing ?? 0;
|
|
19740
|
-
const slugFont = SlugFontCache.getFont(fontFamily, props.fontWeight, ctx.device);
|
|
19780
|
+
const slugFont = SlugFontCache.getFont(fontFamily, props.fontWeight, ctx.device, void 0, fontSize);
|
|
19741
19781
|
if (!slugFont || !slugFont.curvesTex) {
|
|
19742
19782
|
const fontUrl = GetFontAssetUrl(fontFamily);
|
|
19743
19783
|
SlugFontCache.preloadSlugFont(ctx.device, fontFamily, fontUrl, void 0, props.renderId).catch((err) => {
|
|
@@ -20029,7 +20069,7 @@ var ImageLoader = class {
|
|
|
20029
20069
|
const filePath = await toLocalPath(src) ?? src;
|
|
20030
20070
|
const fileBuf = await (await import(
|
|
20031
20071
|
/* webpackIgnore: true */
|
|
20032
|
-
"fs/promises"
|
|
20072
|
+
"node:fs/promises"
|
|
20033
20073
|
)).readFile(filePath);
|
|
20034
20074
|
arrayBuffer = fileBuf.buffer.slice(fileBuf.byteOffset, fileBuf.byteOffset + fileBuf.byteLength);
|
|
20035
20075
|
}
|
|
@@ -20066,8 +20106,8 @@ const imageLoader = new ImageLoader();
|
|
|
20066
20106
|
async function drawImageNode(ctx, pass, props) {
|
|
20067
20107
|
if (typeof props.src === "string" && (/\.(json|lottie)(\?.*)?$/i.test(props.src) || props.src.startsWith("data:application/json"))) console.warn(`[ImageRenderer] '${props.src}' is a Lottie vector animation, not a static image. Use Layer.lottie() instead.`);
|
|
20068
20108
|
let tex = textureCache.acquire(props.src);
|
|
20109
|
+
const isHeadless = props.isHeadless ?? (typeof window === "undefined" || Boolean(globalThis.__IS_HEADLESS_RENDERER__));
|
|
20069
20110
|
if (!tex) try {
|
|
20070
|
-
const isHeadless = props.isHeadless ?? (typeof window === "undefined" || globalThis.__IS_HEADLESS_RENDERER__);
|
|
20071
20111
|
const data = await imageLoader.load(props.src, isHeadless);
|
|
20072
20112
|
tex = textureCache.acquire(props.src);
|
|
20073
20113
|
if (!tex) {
|
|
@@ -20075,6 +20115,7 @@ async function drawImageNode(ctx, pass, props) {
|
|
|
20075
20115
|
textureCache.set(props.src, tex, ctx.device);
|
|
20076
20116
|
}
|
|
20077
20117
|
} catch (err) {
|
|
20118
|
+
if (isHeadless) throw err;
|
|
20078
20119
|
console.error("Failed to load image texture:", err);
|
|
20079
20120
|
return;
|
|
20080
20121
|
}
|
|
@@ -21251,6 +21292,7 @@ function updateLastGoodFrame(nodeId, newKey, device) {
|
|
|
21251
21292
|
textureCache.activeKeys.add(newKey);
|
|
21252
21293
|
}
|
|
21253
21294
|
const drawVideoNode = async (ctx, pass, props) => {
|
|
21295
|
+
const isHeadless = props.isHeadless ?? (typeof window === "undefined" || Boolean(globalThis.__IS_HEADLESS_RENDERER__));
|
|
21254
21296
|
try {
|
|
21255
21297
|
const nodeId = props.nodeId ?? "default";
|
|
21256
21298
|
const currentSourceUrl = props.sourceUrl;
|
|
@@ -21262,45 +21304,44 @@ const drawVideoNode = async (ctx, pass, props) => {
|
|
|
21262
21304
|
lastGoodFrameKey.delete(nodeId);
|
|
21263
21305
|
}
|
|
21264
21306
|
}
|
|
21265
|
-
const isHeadless = props.isHeadless ?? (typeof window === "undefined" || globalThis.__IS_HEADLESS_RENDERER__);
|
|
21266
21307
|
const decoder = mediaDecoderCache.getVideo(props.sourceUrl, isHeadless, nodeId);
|
|
21267
21308
|
const exactKey = props.frameKey;
|
|
21268
21309
|
let exactTex = textureCache.acquire(exactKey);
|
|
21269
|
-
|
|
21270
|
-
|
|
21271
|
-
|
|
21272
|
-
|
|
21273
|
-
|
|
21274
|
-
|
|
21275
|
-
|
|
21276
|
-
|
|
21277
|
-
|
|
21278
|
-
|
|
21279
|
-
|
|
21310
|
+
const isPlaying = props.isPlaying ?? true;
|
|
21311
|
+
const shouldWait = isHeadless || props.forceWait || !isPlaying;
|
|
21312
|
+
const isFirstFrame = !lastGoodFrameKey.has(nodeId);
|
|
21313
|
+
if (!exactTex) {
|
|
21314
|
+
if (!pendingDecodes.has(exactKey)) {
|
|
21315
|
+
const delayHandle = `${nodeId}-${Math.random()}`;
|
|
21316
|
+
const delays = globalThis.__GATEWAI_DELAYS__ || /* @__PURE__ */ new Set();
|
|
21317
|
+
globalThis.__GATEWAI_DELAYS__ = delays;
|
|
21318
|
+
delays.add(delayHandle);
|
|
21319
|
+
const safeTimestampSec = Math.max(0, Number.isFinite(props.timestampSec) ? props.timestampSec : 0);
|
|
21320
|
+
const decodePromise = (async () => {
|
|
21321
|
+
const frame = await decoder.getFrame(safeTimestampSec);
|
|
21322
|
+
if (!frame) return;
|
|
21323
|
+
if (textureCache.acquire(exactKey)) {
|
|
21324
|
+
textureCache.release(exactKey);
|
|
21325
|
+
return;
|
|
21326
|
+
}
|
|
21327
|
+
if (uploadFrameToTexture(ctx, exactKey, frame, isHeadless)) updateLastGoodFrame(nodeId, exactKey, ctx.device);
|
|
21328
|
+
})().finally(() => {
|
|
21329
|
+
pendingDecodes.delete(exactKey);
|
|
21330
|
+
delays.delete(delayHandle);
|
|
21331
|
+
});
|
|
21332
|
+
decodePromise.catch((err) => {
|
|
21333
|
+
if (!shouldWait && !isFirstFrame) console.error("[VideoNode] decode error:", err);
|
|
21334
|
+
});
|
|
21335
|
+
pendingDecodes.set(exactKey, decodePromise);
|
|
21336
|
+
if (isFirstFrame || shouldWait) {
|
|
21337
|
+
await decodePromise;
|
|
21338
|
+
exactTex = textureCache.acquire(exactKey);
|
|
21280
21339
|
}
|
|
21281
|
-
|
|
21282
|
-
}).catch((err) => {
|
|
21283
|
-
console.error("[VideoNode] decode error:", err);
|
|
21284
|
-
}).finally(() => {
|
|
21285
|
-
pendingDecodes.delete(exactKey);
|
|
21286
|
-
delays.delete(delayHandle);
|
|
21287
|
-
});
|
|
21288
|
-
pendingDecodes.set(exactKey, decodePromise);
|
|
21289
|
-
const isPlaying = props.isPlaying ?? true;
|
|
21290
|
-
const shouldWait = isHeadless || props.forceWait || !isPlaying;
|
|
21291
|
-
if (!lastGoodFrameKey.has(nodeId) || shouldWait) {
|
|
21292
|
-
await decodePromise;
|
|
21293
|
-
exactTex = textureCache.acquire(exactKey);
|
|
21294
|
-
}
|
|
21295
|
-
} else {
|
|
21296
|
-
const isPlaying = props.isPlaying ?? true;
|
|
21297
|
-
const shouldWait = isHeadless || props.forceWait || !isPlaying;
|
|
21298
|
-
if (!lastGoodFrameKey.has(nodeId) || shouldWait) {
|
|
21340
|
+
} else if (isFirstFrame || shouldWait) {
|
|
21299
21341
|
await pendingDecodes.get(exactKey);
|
|
21300
21342
|
exactTex = textureCache.acquire(exactKey);
|
|
21301
21343
|
}
|
|
21302
|
-
}
|
|
21303
|
-
else updateLastGoodFrame(nodeId, exactKey, ctx.device);
|
|
21344
|
+
} else updateLastGoodFrame(nodeId, exactKey, ctx.device);
|
|
21304
21345
|
let activeKey = null;
|
|
21305
21346
|
let texToDraw = null;
|
|
21306
21347
|
if (exactTex) {
|
|
@@ -21320,6 +21361,7 @@ const drawVideoNode = async (ctx, pass, props) => {
|
|
|
21320
21361
|
});
|
|
21321
21362
|
if (activeKey) textureCache.release(activeKey);
|
|
21322
21363
|
} catch (err) {
|
|
21364
|
+
if (isHeadless) throw err;
|
|
21323
21365
|
console.error("[VideoNode] drawVideoNode error:", err);
|
|
21324
21366
|
}
|
|
21325
21367
|
};
|
|
@@ -30913,5 +30955,5 @@ var NodeSurfaceProvider = class {
|
|
|
30913
30955
|
if (typeof globalThis !== "undefined") globalThis.__GATEWAI_DELAYS__ = globalThis.__GATEWAI_DELAYS__ || /* @__PURE__ */ new Set();
|
|
30914
30956
|
|
|
30915
30957
|
//#endregion
|
|
30916
|
-
export {
|
|
30917
|
-
//# sourceMappingURL=dist-
|
|
30958
|
+
export { srtLoader as $, TextWigglySelectorSchema as $t, generateExtrudedTextGeometry as A, samplePathChainGeometry as An, KineticMarqueeConfigSchema as At, lutStore as B, Spatial3DPropertiesSchema as Bt, drawLottieNode as C, generateArcLengthLUT as Cn, CubicBezierSegmentSchema as Ct, drawVideoNode as D, parseSvgPathToCubicBeziers as Dn, ExtendedGlyphPropertiesSchema as Dt, drawSvgNode as E, getShuffledOrder as En, ExpressionSelectorSchema as Et, inputStore as F, SelectorModeSchema as Ft, parseMTL as G, TextCursorStyleSchema as Gt, mediaDecoderCache as H, TextAnchorConfigSchema as Ht, jointMatrices as I, SelectorShapeSchema as It, probeVideoSize as J, TextPathSourceSchema as Jt, parseOBJ as K, TextPathBuilder as Kt, loadFBX as L, SelectorUnitsSchema as Lt, getPrimitiveGeometry as M, waveToCubicBeziers as Mn, LongShadowConfigSchema as Mt, getRenderer2D as N, ParticleDissolveConfigSchema as Nt, ensureDevice as O, sampleAudioSpectrumScale as On, GlyphAnchorGroupingSchema as Ot, initHeadlessWebGPU as P, SelectorBasedOnSchema as Pt, spansText as Q, TextSignalSelectorSchema as Qt, loadModel3D as R, SignalRegistry as Rt, drawImageNode as S, evaluateVolumetricFormation as Sn, ChromaticGlitchConfigSchema as St, drawSignalNode as T, getScramblePool as Tn, EnhancedTextNodeSchema as Tt, parseColor as U, TextAnimatorBuilder as Ut, measureMaxCaptionHeight as V, SpringPhysicsSchema as Vt, parseFBX as W, TextCursorConfigSchema as Wt, resolveTextSpans as X, TextScrambleConfigSchema as Xt, registerHeadlessFont as Y, TextRangeSelectorSchema as Yt, shaderStore as Z, TextSelectorSchema as Zt, clearAllVideoCache as _, evaluateMarqueeOffset as _n, AnchorGroupingSchema as _t, GlassPipeline as a, VolumetricFormationModeSchema as an, ENVIRONMENT_PRESETS as at, drawCaptionNode as b, evaluateSpringProgress as bn, AudioSignalComputePipeline as bt, Renderer2D as c, computeAnchorPivotOffset as cn, MAX_LIGHTS as ct, ScreenSpaceRelightPipeline as d, deterministicWigglyNoise as dn, Vector3Math as dt, TypewriterAnimatorSchema as en, textureCache as et, ShadowPipeline as f, distanceToCurveParameter as fn, parseColorToRgb as ft, WebGPUAudioProcessor as g, evaluateExpressionSelector as gn, AdvancedTextAnimatorSchema as gt, SlugPipeline as h, evaluateCubicBezierDerivative as hn, AdvancedTextAnimatorBuilder as ht, EffectPipeline as i, VolumetricFormationConfigSchema as in, Camera3D as it, getHeadlessFontPath as j, signalRegistry as jn, LineSpacingDynamicsSchema as jt, fitSpansToText as k, sampleCurveGeometry as kn, GlyphAnchorPointSchema as kt, Renderer3D as l, computeLineLeadingDisplacement as ln, Matrix4Math as lt, SlugGeometry as m, evaluateCubicBezier as mn, AETextAnimatorSchema as mt, AudioLatentTrackCache as n, VariableFontAxesSchema as nn, getEnv as nt, MotionBlurPipeline as o, buildPathLUT as on, LIGHT_UNIFORM_SIZE_BYTES as ot, SlugFontCache as p, ellipseToCubicBeziers as pn, resolveEnvironment as pt, poseNodes as q, TextPathOptionsSchema as qt, AudioMeshDeformPipeline as r, Vec2Schema as rn, resolveMediaSourceUrl as rt, NodeSurfaceProvider as s, buildWGSLSignalFn as sn, Light3D as st, AudioLatentEngine as t, TypingCadenceSchema as tn, GetFontAssetUrl as tt, SSAOPipeline as u, computeRangeSelectorWeight as un, Path3D as ut, colorMatrixWgsl as v, evaluateSelectorCombination as vn, AnchorPresetSchema as vt, drawParagraphNode as w, generatePathSegments as wn, DynamicStrokePropertiesSchema as wt, drawGifNode as x, evaluateTypewriterState as xn, AudioSpectrumTypographySchema as xt, describeGpu as y, evaluateSkewMatrix as yn, AnimatableGlyphPropsSchema as yt, loadOBJ as z, SkewPropertiesSchema as zt };
|
|
30959
|
+
//# sourceMappingURL=dist-DQlYw4eG.mjs.map
|