framefields 2.1.3 → 2.2.0-beta.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 +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-DqaHxtG3.mjs → audio-BYqbtdH8.mjs} +3 -3
- package/dist/{audio-DqaHxtG3.mjs.map → audio-BYqbtdH8.mjs.map} +1 -1
- package/dist/{dist-BgFYDCoL.mjs → dist-BLbXEC6V.mjs} +2 -2
- package/dist/{dist-BgFYDCoL.mjs.map → dist-BLbXEC6V.mjs.map} +1 -1
- package/dist/{dist-Cog5jyVI.mjs → dist-DQlYw4eG.mjs} +44 -4
- package/dist/dist-DQlYw4eG.mjs.map +1 -0
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +35 -35
- package/dist/{effects-CXrmO68D.mjs → effects-DgpPr38s.mjs} +2 -2
- package/dist/{effects-CXrmO68D.mjs.map → effects-DgpPr38s.mjs.map} +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-BUVSUWXJ.mjs → fonts-DakFEiDw.mjs} +2 -2
- package/dist/{fonts-BUVSUWXJ.mjs.map → fonts-DakFEiDw.mjs.map} +1 -1
- package/dist/{gpu-Bj08zUc5.mjs → gpu-AbcLcr1f.mjs} +2 -2
- package/dist/{gpu-Bj08zUc5.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-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-D__HdInU.d.mts → index-DLbtJPrc.d.mts} +23 -12
- package/dist/index-DLbtJPrc.d.mts.map +1 -0
- 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 +16 -9
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +50 -50
- 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-BOqCRCgp.mjs → preview-BQ3BhcVX.mjs} +2 -2
- package/dist/{preview-BOqCRCgp.mjs.map → preview-BQ3BhcVX.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-JJ5EF3EY.mjs → chunk-2W4BMOAZ.mjs} +1 -1
- package/dist/preview-engine/chunk-7OMK352W.mjs +1 -0
- package/dist/preview-engine/chunk-FJH5A2PV.mjs +1 -0
- package/dist/preview-engine/{chunk-USM33CF5.mjs → chunk-HFUA47QH.mjs} +1 -1
- package/dist/preview-engine/chunk-K7M5EIFC.mjs +98 -0
- package/dist/preview-engine/{chunk-5DOD2NVY.mjs → chunk-MOW55DX2.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/{chunk-AE2336RK.mjs → chunk-Z457JJCO.mjs} +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +21 -21
- package/dist/preview-engine/player.mjs +1 -1
- package/dist/preview-engine/{renderers-57WDL6XN.mjs → renderers-HVTQ2B3H.mjs} +1 -1
- package/dist/preview-engine/{renderers-BH5MXUTT.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-D8JoVobr.mjs → program-Cc_2_YXn.mjs} +2 -2
- package/dist/{program-D8JoVobr.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-B9ProG0Z.mjs → renderer-2DjggBBS.mjs} +2 -2
- package/dist/{renderer-B9ProG0Z.mjs.map → renderer-2DjggBBS.mjs.map} +1 -1
- package/dist/{renderer-CBBhVrwO.mjs → renderer-4GYrnTfw.mjs} +2 -2
- package/dist/{renderer-CBBhVrwO.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-CZ7-42SE.mjs → renderer-B4cnT3ce.mjs} +3 -3
- package/dist/{renderer-CZ7-42SE.mjs.map → renderer-B4cnT3ce.mjs.map} +1 -1
- package/dist/{renderer-0dD1VQsz.mjs → renderer-B5PFBOjv.mjs} +3 -3
- package/dist/{renderer-0dD1VQsz.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-BlTPu9QT.mjs → renderer-BEzUirF0.mjs} +2 -2
- package/dist/{renderer-BlTPu9QT.mjs.map → renderer-BEzUirF0.mjs.map} +1 -1
- package/dist/{renderer-ByGPFIu2.mjs → renderer-BKd2nRnO.mjs} +2 -2
- package/dist/{renderer-ByGPFIu2.mjs.map → renderer-BKd2nRnO.mjs.map} +1 -1
- package/dist/renderer-BLAkNFx7.mjs +5 -0
- package/dist/{renderer--2bwnzBi.mjs → renderer-BN0CzoG_.mjs} +2 -2
- package/dist/{renderer--2bwnzBi.mjs.map → renderer-BN0CzoG_.mjs.map} +1 -1
- package/dist/{renderer-aw8EsrS9.mjs → renderer-BNcsS03m.mjs} +2 -2
- package/dist/{renderer-aw8EsrS9.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--JBbEfTc.mjs → renderer-BPMywsr4.mjs} +3 -3
- package/dist/{renderer--JBbEfTc.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-BeuG4dyz.mjs → renderer-Bfrwo_It.mjs} +2 -2
- package/dist/{renderer-BeuG4dyz.mjs.map → renderer-Bfrwo_It.mjs.map} +1 -1
- package/dist/{renderer-DT1bySqu.mjs → renderer-BhxQzrHF.mjs} +2 -2
- package/dist/{renderer-DT1bySqu.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-BaYEXoS3.mjs → renderer-C2eBC0FB.mjs} +3 -3
- package/dist/{renderer-BaYEXoS3.mjs.map → renderer-C2eBC0FB.mjs.map} +1 -1
- package/dist/{renderer-B7jZuO6k.mjs → renderer-C4UqxwcT.mjs} +2 -2
- package/dist/{renderer-B7jZuO6k.mjs.map → renderer-C4UqxwcT.mjs.map} +1 -1
- package/dist/{renderer-Bm0W9qgc.mjs → renderer-C6u-XrH-.mjs} +3 -3
- package/dist/{renderer-Bm0W9qgc.mjs.map → renderer-C6u-XrH-.mjs.map} +1 -1
- package/dist/{renderer-BNyDJZzl.mjs → renderer-CB87_0vL.mjs} +3 -3
- package/dist/{renderer-BNyDJZzl.mjs.map → renderer-CB87_0vL.mjs.map} +1 -1
- package/dist/{renderer-FSCTtHrt.mjs → renderer-CD38wGmN.mjs} +2 -2
- package/dist/{renderer-FSCTtHrt.mjs.map → renderer-CD38wGmN.mjs.map} +1 -1
- package/dist/{renderer-ClIXn9ZU.mjs → renderer-CGZqCmf2.mjs} +2 -2
- package/dist/{renderer-ClIXn9ZU.mjs.map → renderer-CGZqCmf2.mjs.map} +1 -1
- package/dist/{renderer-CVD0oPsf.mjs → renderer-CHkqgIOL.mjs} +2 -2
- package/dist/{renderer-CVD0oPsf.mjs.map → renderer-CHkqgIOL.mjs.map} +1 -1
- package/dist/{renderer-Dj_K1f1T.mjs → renderer-CK0u3Psf.mjs} +3 -3
- package/dist/{renderer-Dj_K1f1T.mjs.map → renderer-CK0u3Psf.mjs.map} +1 -1
- package/dist/renderer-CLW6tUUn.mjs +5 -0
- package/dist/{renderer-BJ_GtjUk.mjs → renderer-CO4theVJ.mjs} +2 -2
- package/dist/{renderer-KcV0gCO5.mjs → renderer-CPW9o3Lc.mjs} +3 -3
- package/dist/{renderer-KcV0gCO5.mjs.map → renderer-CPW9o3Lc.mjs.map} +1 -1
- package/dist/renderer-CS-ojgJk.mjs +5 -0
- package/dist/{renderer-BwBc5xNu.mjs → renderer-CSfLMXN8.mjs} +3 -3
- package/dist/{renderer-BwBc5xNu.mjs.map → renderer-CSfLMXN8.mjs.map} +1 -1
- package/dist/{renderer-0fRv8mc5.mjs → renderer-CSoyJ8GH.mjs} +2 -2
- package/dist/{renderer-0fRv8mc5.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-B-QXAPY0.mjs → renderer-CZ9gHx-4.mjs} +2 -2
- package/dist/{renderer-B-QXAPY0.mjs.map → renderer-CZ9gHx-4.mjs.map} +1 -1
- package/dist/renderer-CZKFEf_6.mjs +3 -0
- package/dist/{renderer-C-BjN5HM.mjs → renderer-CciB_sav.mjs} +3 -3
- package/dist/{renderer-C-BjN5HM.mjs.map → renderer-CciB_sav.mjs.map} +1 -1
- package/dist/{renderer-hIbXvzPu.mjs → renderer-ClWgdN2v.mjs} +2 -2
- package/dist/renderer-CtUF95UW.mjs +5 -0
- package/dist/{renderer-BJD6Ouon.mjs → renderer-Cv1wmjhA.mjs} +2 -2
- package/dist/{renderer-BJD6Ouon.mjs.map → renderer-Cv1wmjhA.mjs.map} +1 -1
- package/dist/{renderer-CJnIeI0m.mjs → renderer-Cxh7j423.mjs} +3 -3
- package/dist/{renderer-CJnIeI0m.mjs.map → renderer-Cxh7j423.mjs.map} +1 -1
- package/dist/{renderer-cjiONTY_.mjs → renderer-D0enmulV.mjs} +2 -2
- package/dist/{renderer-cjiONTY_.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-CgFs_3gW.mjs → renderer-DEQ09sg7.mjs} +2 -2
- package/dist/{renderer-CgFs_3gW.mjs.map → renderer-DEQ09sg7.mjs.map} +1 -1
- package/dist/{renderer-CATBdL9s.mjs → renderer-DRpIQFAK.mjs} +2 -2
- package/dist/{renderer-CATBdL9s.mjs.map → renderer-DRpIQFAK.mjs.map} +1 -1
- package/dist/{renderer-Dd9NUd_I.mjs → renderer-DT3QVVht.mjs} +2 -2
- package/dist/{renderer-Dd9NUd_I.mjs.map → renderer-DT3QVVht.mjs.map} +1 -1
- package/dist/{renderer-BqCx28Zb.mjs → renderer-DU3216cx.mjs} +3 -3
- package/dist/{renderer-BqCx28Zb.mjs.map → renderer-DU3216cx.mjs.map} +1 -1
- package/dist/{renderer-BXZo84vM.mjs → renderer-DU6i7shO.mjs} +2 -2
- package/dist/{renderer-BXZo84vM.mjs.map → renderer-DU6i7shO.mjs.map} +1 -1
- package/dist/renderer-DcCKath2.mjs +5 -0
- package/dist/{renderer-CmEvkdNL.mjs → renderer-DfSRmz7q.mjs} +3 -3
- package/dist/{renderer-CmEvkdNL.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-Ba7Rc8DE.mjs → renderer-DkGODUgE.mjs} +3 -3
- package/dist/{renderer-Ba7Rc8DE.mjs.map → renderer-DkGODUgE.mjs.map} +1 -1
- package/dist/{renderer-DKmV8F6L.mjs → renderer-DlqDnh-8.mjs} +2 -2
- package/dist/{renderer-DKmV8F6L.mjs.map → renderer-DlqDnh-8.mjs.map} +1 -1
- package/dist/{renderer-CMOAtGdC.mjs → renderer-Dnm_SVy6.mjs} +3 -3
- package/dist/{renderer-CMOAtGdC.mjs.map → renderer-Dnm_SVy6.mjs.map} +1 -1
- package/dist/{renderer-Cun5J3z9.mjs → renderer-DppnY7RT.mjs} +3 -3
- package/dist/{renderer-Cun5J3z9.mjs.map → renderer-DppnY7RT.mjs.map} +1 -1
- package/dist/{renderer-CmpV4YNd.mjs → renderer-DqhZTIiC.mjs} +2 -2
- package/dist/{renderer-CmpV4YNd.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-CxE5__5p.mjs → renderer-DwCg5pXn.mjs} +2 -2
- package/dist/{renderer-CxE5__5p.mjs.map → renderer-DwCg5pXn.mjs.map} +1 -1
- package/dist/{renderer-B8Wjov5-.mjs → renderer-Dyh8c41v.mjs} +2 -2
- package/dist/{renderer-B6x_Mmpf.mjs → renderer-DzDZlez7.mjs} +247 -63
- package/dist/renderer-DzDZlez7.mjs.map +1 -0
- package/dist/renderer-FHqZe3K1.mjs +5 -0
- package/dist/renderer-FTKfOejk.mjs +5 -0
- package/dist/{renderer-BPDita2c.mjs → renderer-FgcNOe1R.mjs} +5 -5
- package/dist/{renderer-BPDita2c.mjs.map → renderer-FgcNOe1R.mjs.map} +1 -1
- package/dist/{renderer-58bVJfZx.mjs → renderer-L7UTxwZT.mjs} +2 -2
- package/dist/{renderer-58bVJfZx.mjs.map → renderer-L7UTxwZT.mjs.map} +1 -1
- package/dist/renderer-LmbkN82X.mjs +5 -0
- package/dist/{renderer-C-AzyBir.mjs → renderer-PbJk25JW.mjs} +3 -3
- package/dist/{renderer-C-AzyBir.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-mp1NN5zk.mjs → renderer-dc39dBVA.mjs} +283 -79
- package/dist/renderer-dc39dBVA.mjs.map +1 -0
- package/dist/{renderer-Br1OuXr_.mjs → renderer-dj3f8cMg.mjs} +3 -3
- package/dist/{renderer-Br1OuXr_.mjs.map → renderer-dj3f8cMg.mjs.map} +1 -1
- package/dist/{renderer-BcFdZx4j.mjs → renderer-dwTzrQ2G.mjs} +3 -3
- package/dist/{renderer-BcFdZx4j.mjs.map → renderer-dwTzrQ2G.mjs.map} +1 -1
- package/dist/{renderer-Cd5BLFnS.mjs → renderer-egZPy7vq.mjs} +2 -2
- package/dist/{renderer-Cd5BLFnS.mjs.map → renderer-egZPy7vq.mjs.map} +1 -1
- package/dist/{renderer-ChO8NNw9.mjs → renderer-gwV6hyYm.mjs} +2 -2
- package/dist/{renderer-ChO8NNw9.mjs.map → renderer-gwV6hyYm.mjs.map} +1 -1
- package/dist/{renderer-pNxZ_lV2.mjs → renderer-lXmtdrdI.mjs} +2 -2
- package/dist/{renderer-pNxZ_lV2.mjs.map → renderer-lXmtdrdI.mjs.map} +1 -1
- package/dist/{renderer-D_2Y_tdA.mjs → renderer-n2kYIGtb.mjs} +2 -2
- package/dist/{renderer-D_2Y_tdA.mjs.map → renderer-n2kYIGtb.mjs.map} +1 -1
- package/dist/renderer-r4ney0FZ.mjs +5 -0
- package/dist/{renderer-Bos8nRhT.mjs → renderer-sHDPBywo.mjs} +2 -2
- package/dist/{renderer-Bos8nRhT.mjs.map → renderer-sHDPBywo.mjs.map} +1 -1
- package/dist/{renderer-D9mf-msP.mjs → renderer-scbJx-Dx.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-ZKjdDfYg.mjs → renderers-CP8CFWDs-B8HIr3kj.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-ZKjdDfYg.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 +58 -55
- package/dist/dist-Cog5jyVI.mjs.map +0 -1
- package/dist/index-Cpkzy5XR.d.mts.map +0 -1
- package/dist/index-D__HdInU.d.mts.map +0 -1
- package/dist/index-DpWia6iH.d.mts.map +0 -1
- package/dist/preview-engine/chunk-3GNP7TJH.mjs +0 -98
- package/dist/preview-engine/chunk-CYY366IE.mjs +0 -1
- package/dist/preview-engine/chunk-NI577OMQ.mjs +0 -1
- package/dist/preview-engine/chunk-VRGREB3V.mjs +0 -1
- package/dist/renderer-3MuT2oZO.mjs +0 -5
- package/dist/renderer-AX_fHrXM.mjs +0 -5
- package/dist/renderer-B2-LQreV.mjs +0 -5
- package/dist/renderer-B2QhkksW.mjs +0 -5
- package/dist/renderer-B5CoE2Cv.mjs +0 -5
- package/dist/renderer-B6Au6f82.mjs +0 -5
- package/dist/renderer-B6qAMLXh.mjs +0 -5
- package/dist/renderer-B6x_Mmpf.mjs.map +0 -1
- package/dist/renderer-BEfvyxL_.mjs +0 -5
- package/dist/renderer-BH4j4urG.mjs +0 -5
- package/dist/renderer-BH4zfzus.mjs +0 -5
- package/dist/renderer-BRjW_pgJ.mjs +0 -6
- package/dist/renderer-BVo6W_BO.mjs +0 -5
- package/dist/renderer-BbxBM7Vh.mjs +0 -5
- package/dist/renderer-C07CnYVd.mjs +0 -5
- package/dist/renderer-C2Z3vJCu.mjs +0 -5
- package/dist/renderer-C31qkFvm.mjs +0 -5
- package/dist/renderer-C3FV8cYm.mjs +0 -5
- package/dist/renderer-CQXszrAF.mjs +0 -5
- package/dist/renderer-CWK41ajp.mjs +0 -5
- package/dist/renderer-C_U225ub.mjs +0 -5
- package/dist/renderer-C_nPzKwZ.mjs +0 -5
- package/dist/renderer-Cd6I_dsC.mjs +0 -5
- package/dist/renderer-Ceb06HuN.mjs +0 -5
- package/dist/renderer-D3P5SLcx.mjs +0 -5
- package/dist/renderer-D9R8QXS7.mjs +0 -5
- package/dist/renderer-D9SJ4Fg9.mjs +0 -5
- package/dist/renderer-DGAypVNj.mjs +0 -5
- package/dist/renderer-DLAAfwg0.mjs +0 -5
- package/dist/renderer-DTkBPkBu.mjs +0 -5
- package/dist/renderer-DbaTMTuo.mjs +0 -5
- package/dist/renderer-DsxhQdCp.mjs +0 -5
- package/dist/renderer-GSFP7v2z.mjs +0 -3
- package/dist/renderer-Hf1pCqoN.mjs +0 -5
- package/dist/renderer-V0UuIniZ.mjs +0 -5
- package/dist/renderer-VCnMXWqE.mjs +0 -5
- package/dist/renderer-lifu3xIt.mjs +0 -5
- package/dist/renderer-mPDgLBi4.mjs +0 -5
- package/dist/renderer-mp1NN5zk.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-Bos8nRhT.mjs","names":[],"sources":["../../../nodes/node-color-balance/dist/renderers-BaZtHi33.mjs"],"sourcesContent":["import { resolveHandleParam } from \"@framefields/node-sdk\";\nimport { FULLSCREEN_QUAD_WGSL, createFullscreenPipeline, drawChildToTexture, drawFullscreenPass, drawTextureToTarget, fragmentBindGroupLayout, signalTextureView, signalTiming } from \"@framefields/node-sdk/gpu\";\n\n//#region src/renderers/webgpu-renderer.ts\nconst deviceResourceCache = /* @__PURE__ */ new WeakMap();\nconst WGSL_COLOR_BALANCE_SHADER = `\nstruct ColorBalanceUniforms {\n\tshadows : vec4<f32>,\n\tmidtones : vec4<f32>,\n\thighlights : vec4<f32>,\n\tpreserveLuminosity : f32,\n\thasShadowsCyanRedSig : f32,\n\thasShadowsMagentaGreenSig : f32,\n\thasShadowsYellowBlueSig : f32,\n\n\thasMidtonesCyanRedSig : f32,\n\thasMidtonesMagentaGreenSig : f32,\n\thasMidtonesYellowBlueSig : f32,\n\thasHighlightsCyanRedSig : f32,\n\n\thasHighlightsMagentaGreenSig : f32,\n\thasHighlightsYellowBlueSig : f32,\n\t_pad0 : f32,\n\t_pad1 : f32,\n};\n\n@group(0) @binding(0) var<uniform> u : ColorBalanceUniforms;\n@group(1) @binding(0) var tex : texture_2d<f32>;\n@group(1) @binding(1) var samp : sampler;\n\n@group(2) @binding(0) var shadowsCyanRedSigTex : texture_2d<f32>;\n@group(2) @binding(1) var shadowsMagentaGreenSigTex : texture_2d<f32>;\n@group(2) @binding(2) var shadowsYellowBlueSigTex : texture_2d<f32>;\n@group(2) @binding(3) var midtonesCyanRedSigTex : texture_2d<f32>;\n@group(2) @binding(4) var midtonesMagentaGreenSigTex: texture_2d<f32>;\n@group(2) @binding(5) var midtonesYellowBlueSigTex : texture_2d<f32>;\n@group(2) @binding(6) var highlightsCyanRedSigTex : texture_2d<f32>;\n@group(2) @binding(7) var highlightsMagentaGreenSigTex: texture_2d<f32>;\n@group(2) @binding(8) var highlightsYellowBlueSigTex: texture_2d<f32>;\n@group(2) @binding(9) var signalSamp : sampler;\n${FULLSCREEN_QUAD_WGSL}\n\nfn get_luminance(c: vec3<f32>) -> f32 {\n\treturn dot(c, vec3<f32>(0.2126, 0.7152, 0.0722));\n}\n\nfn set_luminance(c: vec3<f32>, l: f32) -> vec3<f32> {\n\tlet d = l - get_luminance(c);\n\tvar res = c + vec3<f32>(d);\n\tlet min_c = min(res.r, min(res.g, res.b));\n\tlet max_c = max(res.r, max(res.g, res.b));\n\tif (min_c < 0.0) {\n\t\tres = l + ((res - vec3<f32>(l)) * l) / max(l - min_c, 1e-5);\n\t}\n\tif (max_c > 1.0) {\n\t\tres = l + ((res - vec3<f32>(l)) * (1.0 - l)) / max(max_c - l, 1e-5);\n\t}\n\treturn clamp(res, vec3<f32>(0.0), vec3<f32>(1.0));\n}\n\n@fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {\n\tlet color = textureSampleLevel(tex, samp, in.uv, 0.0);\n\tif (color.a <= 0.00001) {\n\t\treturn color;\n\t}\n\n\tlet alpha = color.a;\n\tlet rgb = color.rgb / max(alpha, 0.0001);\n\n\tvar sShift = u.shadows.rgb;\n\tif (u.hasShadowsCyanRedSig > 0.5) {\n\t\tsShift.r = clamp(textureSampleLevel(shadowsCyanRedSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\tif (u.hasShadowsMagentaGreenSig > 0.5) {\n\t\tsShift.g = clamp(textureSampleLevel(shadowsMagentaGreenSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\tif (u.hasShadowsYellowBlueSig > 0.5) {\n\t\tsShift.b = clamp(textureSampleLevel(shadowsYellowBlueSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\n\tvar mShift = u.midtones.rgb;\n\tif (u.hasMidtonesCyanRedSig > 0.5) {\n\t\tmShift.r = clamp(textureSampleLevel(midtonesCyanRedSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\tif (u.hasMidtonesMagentaGreenSig > 0.5) {\n\t\tmShift.g = clamp(textureSampleLevel(midtonesMagentaGreenSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\tif (u.hasMidtonesYellowBlueSig > 0.5) {\n\t\tmShift.b = clamp(textureSampleLevel(midtonesYellowBlueSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\n\tvar hShift = u.highlights.rgb;\n\tif (u.hasHighlightsCyanRedSig > 0.5) {\n\t\thShift.r = clamp(textureSampleLevel(highlightsCyanRedSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\tif (u.hasHighlightsMagentaGreenSig > 0.5) {\n\t\thShift.g = clamp(textureSampleLevel(highlightsMagentaGreenSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\tif (u.hasHighlightsYellowBlueSig > 0.5) {\n\t\thShift.b = clamp(textureSampleLevel(highlightsYellowBlueSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\n\tlet origLum = get_luminance(rgb);\n\n\t// Tonal range weighting curves\n\tlet wShadows = clamp((1.0 - origLum) * (1.0 - origLum * 1.5), 0.0, 1.0);\n\tlet wMidtones = clamp(1.0 - 4.0 * (origLum - 0.5) * (origLum - 0.5), 0.0, 1.0);\n\tlet wHighlights = clamp(origLum * (origLum * 1.5 - 0.5), 0.0, 1.0);\n\n\tlet delta = wShadows * sShift + wMidtones * mShift + wHighlights * hShift;\n\tvar adjustedRgb = clamp(rgb + delta, vec3<f32>(0.0), vec3<f32>(1.0));\n\n\tif (u.preserveLuminosity > 0.5) {\n\t\tadjustedRgb = set_luminance(adjustedRgb, origLum);\n\t}\n\n\treturn vec4<f32>(adjustedRgb * alpha, alpha);\n}\n`;\nfunction getColorBalanceResources(device, format) {\n\tlet res = deviceResourceCache.get(device);\n\tif (res) return res;\n\tconst uniformLayout = fragmentBindGroupLayout(device, [\"uniform\"], \"ColorBalanceUniformLayout\");\n\tconst textureLayout = fragmentBindGroupLayout(device, [\"texture\", \"sampler\"], \"ColorBalanceTextureLayout\");\n\tconst signalTextureLayout = fragmentBindGroupLayout(device, [\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"sampler\"\n\t], \"ColorBalanceSignalTextureLayout\");\n\tres = {\n\t\tpipeline: createFullscreenPipeline(device, {\n\t\t\tlabel: \"ColorBalancePipeline\",\n\t\t\tmodule: device.createShaderModule({\n\t\t\t\tlabel: \"ColorBalanceShaderModule\",\n\t\t\t\tcode: WGSL_COLOR_BALANCE_SHADER\n\t\t\t}),\n\t\t\tlayouts: [\n\t\t\t\tuniformLayout,\n\t\t\t\ttextureLayout,\n\t\t\t\tsignalTextureLayout\n\t\t\t],\n\t\t\tformat\n\t\t}),\n\t\tuniformLayout,\n\t\ttextureLayout,\n\t\tsignalTextureLayout\n\t};\n\tdeviceResourceCache.set(device, res);\n\treturn res;\n}\nconst uniformBufferData = new Float32Array(24);\nconst ColorBalanceWebGPURenderer = async (args) => {\n\tconst { ctx, encoder, pass, targetTexture, targetWidth, targetHeight, props } = args;\n\tconst op = props.virtualMedia?.operation;\n\tif (op?.op !== \"ColorBalance\" || !props.virtualMedia?.children?.[0]) return;\n\tpass.end();\n\tconst frame = props.frame ?? 0;\n\tconst compositionFrame = props.compositionFrame ?? frame;\n\tconst fps = props.fps || 30;\n\tconst childMedia = props.virtualMedia.children[0];\n\tconst width = targetWidth;\n\tconst height = targetHeight;\n\tconst nodeId = (props.virtualMedia?.metadata)?.id || (op.inputs ? Object.keys(op.inputs)[0] : null) || props.renderId || \"colorbalance_node\";\n\tconst resolveField = (handleId, fallbackVal, clampMin = -100, clampMax = 100) => resolveHandleParam(op.inputs, handleId, fallbackVal, clampMin, clampMax);\n\tconst resolveVal = (val) => {\n\t\tif (val !== void 0 && val !== null) {\n\t\t\tif (typeof val === \"object\" && val !== null) {\n\t\t\t\tif (\"get\" in val && typeof val.get === \"function\") val = val.get({\n\t\t\t\t\tframe: compositionFrame,\n\t\t\t\t\tfps\n\t\t\t\t});\n\t\t\t\telse if (\"value\" in val) val = val.value;\n\t\t\t} else if (typeof val === \"function\") val = val(compositionFrame, fps);\n\t\t}\n\t\tconst n = Number(val ?? 0);\n\t\treturn isNaN(n) ? 0 : n;\n\t};\n\tconst sCR = resolveField(op.shadows_cyanRedHandleId, resolveVal(op.shadows?.cyanRed));\n\tconst sMG = resolveField(op.shadows_magentaGreenHandleId, resolveVal(op.shadows?.magentaGreen));\n\tconst sYB = resolveField(op.shadows_yellowBlueHandleId, resolveVal(op.shadows?.yellowBlue));\n\tconst mCR = resolveField(op.midtones_cyanRedHandleId, resolveVal(op.midtones?.cyanRed));\n\tconst mMG = resolveField(op.midtones_magentaGreenHandleId, resolveVal(op.midtones?.magentaGreen));\n\tconst mYB = resolveField(op.midtones_yellowBlueHandleId, resolveVal(op.midtones?.yellowBlue));\n\tconst hCR = resolveField(op.highlights_cyanRedHandleId, resolveVal(op.highlights?.cyanRed));\n\tconst hMG = resolveField(op.highlights_magentaGreenHandleId, resolveVal(op.highlights?.magentaGreen));\n\tconst hYB = resolveField(op.highlights_yellowBlueHandleId, resolveVal(op.highlights?.yellowBlue));\n\tconst { texture: tmpTex } = await drawChildToTexture(args, childMedia);\n\tconst { pipeline, uniformLayout, textureLayout, signalTextureLayout } = getColorBalanceResources(ctx.device, ctx.renderer.format);\n\tconst sampler = ctx.renderer.samplerCache.getSampler(ctx.device);\n\tconst { elapsedSeconds, durationSeconds } = signalTiming(props, frame, fps);\n\tconst signalContext = {\n\t\targs,\n\t\twidth,\n\t\theight,\n\t\tframe,\n\t\tfps,\n\t\telapsedSeconds,\n\t\tdurationSeconds\n\t};\n\tconst getSignalView = (res, suffix) => signalTextureView(signalContext, res, `${nodeId}_${suffix}`);\n\tconst sCRView = getSignalView(sCR, \"shadows_cyanRed_sig\");\n\tconst sMGView = getSignalView(sMG, \"shadows_magentaGreen_sig\");\n\tconst sYBView = getSignalView(sYB, \"shadows_yellowBlue_sig\");\n\tconst mCRView = getSignalView(mCR, \"midtones_cyanRed_sig\");\n\tconst mMGView = getSignalView(mMG, \"midtones_magentaGreen_sig\");\n\tconst mYBView = getSignalView(mYB, \"midtones_yellowBlue_sig\");\n\tconst hCRView = getSignalView(hCR, \"highlights_cyanRed_sig\");\n\tconst hMGView = getSignalView(hMG, \"highlights_magentaGreen_sig\");\n\tconst hYBView = getSignalView(hYB, \"highlights_yellowBlue_sig\");\n\tconst preserveLum = op.preserveLuminosity === false ? 0 : 1;\n\tuniformBufferData[0] = sCR.val / 100;\n\tuniformBufferData[1] = sMG.val / 100;\n\tuniformBufferData[2] = sYB.val / 100;\n\tuniformBufferData[3] = 0;\n\tuniformBufferData[4] = mCR.val / 100;\n\tuniformBufferData[5] = mMG.val / 100;\n\tuniformBufferData[6] = mYB.val / 100;\n\tuniformBufferData[7] = 0;\n\tuniformBufferData[8] = hCR.val / 100;\n\tuniformBufferData[9] = hMG.val / 100;\n\tuniformBufferData[10] = hYB.val / 100;\n\tuniformBufferData[11] = 0;\n\tuniformBufferData[12] = preserveLum;\n\tuniformBufferData[13] = sCR.hasStaticSig ? 1 : 0;\n\tuniformBufferData[14] = sMG.hasStaticSig ? 1 : 0;\n\tuniformBufferData[15] = sYB.hasStaticSig ? 1 : 0;\n\tuniformBufferData[16] = mCR.hasStaticSig ? 1 : 0;\n\tuniformBufferData[17] = mMG.hasStaticSig ? 1 : 0;\n\tuniformBufferData[18] = mYB.hasStaticSig ? 1 : 0;\n\tuniformBufferData[19] = hCR.hasStaticSig ? 1 : 0;\n\tuniformBufferData[20] = hMG.hasStaticSig ? 1 : 0;\n\tuniformBufferData[21] = hYB.hasStaticSig ? 1 : 0;\n\tuniformBufferData[22] = 0;\n\tuniformBufferData[23] = 0;\n\tconst buffer = ctx.renderer.getTemporaryBuffer(uniformBufferData);\n\tconst outTex = ctx.renderer.getTemporaryTexture(width, height, [\n\t\ttmpTex,\n\t\ttargetTexture,\n\t\t...props.excludeTextures || []\n\t]);\n\tconst sigBindGroup = ctx.device.createBindGroup({\n\t\tlayout: signalTextureLayout,\n\t\tentries: [\n\t\t\t{\n\t\t\t\tbinding: 0,\n\t\t\t\tresource: sCRView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 1,\n\t\t\t\tresource: sMGView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 2,\n\t\t\t\tresource: sYBView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 3,\n\t\t\t\tresource: mCRView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 4,\n\t\t\t\tresource: mMGView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 5,\n\t\t\t\tresource: mYBView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 6,\n\t\t\t\tresource: hCRView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 7,\n\t\t\t\tresource: hMGView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 8,\n\t\t\t\tresource: hYBView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 9,\n\t\t\t\tresource: sampler\n\t\t\t}\n\t\t]\n\t});\n\tdrawFullscreenPass(encoder, outTex.createView(), pipeline, [\n\t\tctx.device.createBindGroup({\n\t\t\tlayout: uniformLayout,\n\t\t\tentries: [{\n\t\t\t\tbinding: 0,\n\t\t\t\tresource: { buffer }\n\t\t\t}]\n\t\t}),\n\t\tctx.renderer.bindGroupCache.getBindGroup(ctx.device, textureLayout, tmpTex, sampler),\n\t\tsigBindGroup\n\t]);\n\tdrawTextureToTarget(args, outTex, props.opacity ?? 1);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = { WebGPURenderer: ColorBalanceWebGPURenderer };\n\n//#endregion\nexport { ColorBalanceWebGPURenderer as n, renderers_default as t };\n//# sourceMappingURL=renderers-BaZtHi33.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer-sHDPBywo.mjs","names":[],"sources":["../../../nodes/node-color-balance/dist/renderers-BaZtHi33.mjs"],"sourcesContent":["import { resolveHandleParam } from \"@framefields/node-sdk\";\nimport { FULLSCREEN_QUAD_WGSL, createFullscreenPipeline, drawChildToTexture, drawFullscreenPass, drawTextureToTarget, fragmentBindGroupLayout, signalTextureView, signalTiming } from \"@framefields/node-sdk/gpu\";\n\n//#region src/renderers/webgpu-renderer.ts\nconst deviceResourceCache = /* @__PURE__ */ new WeakMap();\nconst WGSL_COLOR_BALANCE_SHADER = `\nstruct ColorBalanceUniforms {\n\tshadows : vec4<f32>,\n\tmidtones : vec4<f32>,\n\thighlights : vec4<f32>,\n\tpreserveLuminosity : f32,\n\thasShadowsCyanRedSig : f32,\n\thasShadowsMagentaGreenSig : f32,\n\thasShadowsYellowBlueSig : f32,\n\n\thasMidtonesCyanRedSig : f32,\n\thasMidtonesMagentaGreenSig : f32,\n\thasMidtonesYellowBlueSig : f32,\n\thasHighlightsCyanRedSig : f32,\n\n\thasHighlightsMagentaGreenSig : f32,\n\thasHighlightsYellowBlueSig : f32,\n\t_pad0 : f32,\n\t_pad1 : f32,\n};\n\n@group(0) @binding(0) var<uniform> u : ColorBalanceUniforms;\n@group(1) @binding(0) var tex : texture_2d<f32>;\n@group(1) @binding(1) var samp : sampler;\n\n@group(2) @binding(0) var shadowsCyanRedSigTex : texture_2d<f32>;\n@group(2) @binding(1) var shadowsMagentaGreenSigTex : texture_2d<f32>;\n@group(2) @binding(2) var shadowsYellowBlueSigTex : texture_2d<f32>;\n@group(2) @binding(3) var midtonesCyanRedSigTex : texture_2d<f32>;\n@group(2) @binding(4) var midtonesMagentaGreenSigTex: texture_2d<f32>;\n@group(2) @binding(5) var midtonesYellowBlueSigTex : texture_2d<f32>;\n@group(2) @binding(6) var highlightsCyanRedSigTex : texture_2d<f32>;\n@group(2) @binding(7) var highlightsMagentaGreenSigTex: texture_2d<f32>;\n@group(2) @binding(8) var highlightsYellowBlueSigTex: texture_2d<f32>;\n@group(2) @binding(9) var signalSamp : sampler;\n${FULLSCREEN_QUAD_WGSL}\n\nfn get_luminance(c: vec3<f32>) -> f32 {\n\treturn dot(c, vec3<f32>(0.2126, 0.7152, 0.0722));\n}\n\nfn set_luminance(c: vec3<f32>, l: f32) -> vec3<f32> {\n\tlet d = l - get_luminance(c);\n\tvar res = c + vec3<f32>(d);\n\tlet min_c = min(res.r, min(res.g, res.b));\n\tlet max_c = max(res.r, max(res.g, res.b));\n\tif (min_c < 0.0) {\n\t\tres = l + ((res - vec3<f32>(l)) * l) / max(l - min_c, 1e-5);\n\t}\n\tif (max_c > 1.0) {\n\t\tres = l + ((res - vec3<f32>(l)) * (1.0 - l)) / max(max_c - l, 1e-5);\n\t}\n\treturn clamp(res, vec3<f32>(0.0), vec3<f32>(1.0));\n}\n\n@fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {\n\tlet color = textureSampleLevel(tex, samp, in.uv, 0.0);\n\tif (color.a <= 0.00001) {\n\t\treturn color;\n\t}\n\n\tlet alpha = color.a;\n\tlet rgb = color.rgb / max(alpha, 0.0001);\n\n\tvar sShift = u.shadows.rgb;\n\tif (u.hasShadowsCyanRedSig > 0.5) {\n\t\tsShift.r = clamp(textureSampleLevel(shadowsCyanRedSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\tif (u.hasShadowsMagentaGreenSig > 0.5) {\n\t\tsShift.g = clamp(textureSampleLevel(shadowsMagentaGreenSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\tif (u.hasShadowsYellowBlueSig > 0.5) {\n\t\tsShift.b = clamp(textureSampleLevel(shadowsYellowBlueSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\n\tvar mShift = u.midtones.rgb;\n\tif (u.hasMidtonesCyanRedSig > 0.5) {\n\t\tmShift.r = clamp(textureSampleLevel(midtonesCyanRedSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\tif (u.hasMidtonesMagentaGreenSig > 0.5) {\n\t\tmShift.g = clamp(textureSampleLevel(midtonesMagentaGreenSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\tif (u.hasMidtonesYellowBlueSig > 0.5) {\n\t\tmShift.b = clamp(textureSampleLevel(midtonesYellowBlueSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\n\tvar hShift = u.highlights.rgb;\n\tif (u.hasHighlightsCyanRedSig > 0.5) {\n\t\thShift.r = clamp(textureSampleLevel(highlightsCyanRedSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\tif (u.hasHighlightsMagentaGreenSig > 0.5) {\n\t\thShift.g = clamp(textureSampleLevel(highlightsMagentaGreenSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\tif (u.hasHighlightsYellowBlueSig > 0.5) {\n\t\thShift.b = clamp(textureSampleLevel(highlightsYellowBlueSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;\n\t}\n\n\tlet origLum = get_luminance(rgb);\n\n\t// Tonal range weighting curves\n\tlet wShadows = clamp((1.0 - origLum) * (1.0 - origLum * 1.5), 0.0, 1.0);\n\tlet wMidtones = clamp(1.0 - 4.0 * (origLum - 0.5) * (origLum - 0.5), 0.0, 1.0);\n\tlet wHighlights = clamp(origLum * (origLum * 1.5 - 0.5), 0.0, 1.0);\n\n\tlet delta = wShadows * sShift + wMidtones * mShift + wHighlights * hShift;\n\tvar adjustedRgb = clamp(rgb + delta, vec3<f32>(0.0), vec3<f32>(1.0));\n\n\tif (u.preserveLuminosity > 0.5) {\n\t\tadjustedRgb = set_luminance(adjustedRgb, origLum);\n\t}\n\n\treturn vec4<f32>(adjustedRgb * alpha, alpha);\n}\n`;\nfunction getColorBalanceResources(device, format) {\n\tlet res = deviceResourceCache.get(device);\n\tif (res) return res;\n\tconst uniformLayout = fragmentBindGroupLayout(device, [\"uniform\"], \"ColorBalanceUniformLayout\");\n\tconst textureLayout = fragmentBindGroupLayout(device, [\"texture\", \"sampler\"], \"ColorBalanceTextureLayout\");\n\tconst signalTextureLayout = fragmentBindGroupLayout(device, [\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"texture\",\n\t\t\"sampler\"\n\t], \"ColorBalanceSignalTextureLayout\");\n\tres = {\n\t\tpipeline: createFullscreenPipeline(device, {\n\t\t\tlabel: \"ColorBalancePipeline\",\n\t\t\tmodule: device.createShaderModule({\n\t\t\t\tlabel: \"ColorBalanceShaderModule\",\n\t\t\t\tcode: WGSL_COLOR_BALANCE_SHADER\n\t\t\t}),\n\t\t\tlayouts: [\n\t\t\t\tuniformLayout,\n\t\t\t\ttextureLayout,\n\t\t\t\tsignalTextureLayout\n\t\t\t],\n\t\t\tformat\n\t\t}),\n\t\tuniformLayout,\n\t\ttextureLayout,\n\t\tsignalTextureLayout\n\t};\n\tdeviceResourceCache.set(device, res);\n\treturn res;\n}\nconst uniformBufferData = new Float32Array(24);\nconst ColorBalanceWebGPURenderer = async (args) => {\n\tconst { ctx, encoder, pass, targetTexture, targetWidth, targetHeight, props } = args;\n\tconst op = props.virtualMedia?.operation;\n\tif (op?.op !== \"ColorBalance\" || !props.virtualMedia?.children?.[0]) return;\n\tpass.end();\n\tconst frame = props.frame ?? 0;\n\tconst compositionFrame = props.compositionFrame ?? frame;\n\tconst fps = props.fps || 30;\n\tconst childMedia = props.virtualMedia.children[0];\n\tconst width = targetWidth;\n\tconst height = targetHeight;\n\tconst nodeId = (props.virtualMedia?.metadata)?.id || (op.inputs ? Object.keys(op.inputs)[0] : null) || props.renderId || \"colorbalance_node\";\n\tconst resolveField = (handleId, fallbackVal, clampMin = -100, clampMax = 100) => resolveHandleParam(op.inputs, handleId, fallbackVal, clampMin, clampMax);\n\tconst resolveVal = (val) => {\n\t\tif (val !== void 0 && val !== null) {\n\t\t\tif (typeof val === \"object\" && val !== null) {\n\t\t\t\tif (\"get\" in val && typeof val.get === \"function\") val = val.get({\n\t\t\t\t\tframe: compositionFrame,\n\t\t\t\t\tfps\n\t\t\t\t});\n\t\t\t\telse if (\"value\" in val) val = val.value;\n\t\t\t} else if (typeof val === \"function\") val = val(compositionFrame, fps);\n\t\t}\n\t\tconst n = Number(val ?? 0);\n\t\treturn isNaN(n) ? 0 : n;\n\t};\n\tconst sCR = resolveField(op.shadows_cyanRedHandleId, resolveVal(op.shadows?.cyanRed));\n\tconst sMG = resolveField(op.shadows_magentaGreenHandleId, resolveVal(op.shadows?.magentaGreen));\n\tconst sYB = resolveField(op.shadows_yellowBlueHandleId, resolveVal(op.shadows?.yellowBlue));\n\tconst mCR = resolveField(op.midtones_cyanRedHandleId, resolveVal(op.midtones?.cyanRed));\n\tconst mMG = resolveField(op.midtones_magentaGreenHandleId, resolveVal(op.midtones?.magentaGreen));\n\tconst mYB = resolveField(op.midtones_yellowBlueHandleId, resolveVal(op.midtones?.yellowBlue));\n\tconst hCR = resolveField(op.highlights_cyanRedHandleId, resolveVal(op.highlights?.cyanRed));\n\tconst hMG = resolveField(op.highlights_magentaGreenHandleId, resolveVal(op.highlights?.magentaGreen));\n\tconst hYB = resolveField(op.highlights_yellowBlueHandleId, resolveVal(op.highlights?.yellowBlue));\n\tconst { texture: tmpTex } = await drawChildToTexture(args, childMedia);\n\tconst { pipeline, uniformLayout, textureLayout, signalTextureLayout } = getColorBalanceResources(ctx.device, ctx.renderer.format);\n\tconst sampler = ctx.renderer.samplerCache.getSampler(ctx.device);\n\tconst { elapsedSeconds, durationSeconds } = signalTiming(props, frame, fps);\n\tconst signalContext = {\n\t\targs,\n\t\twidth,\n\t\theight,\n\t\tframe,\n\t\tfps,\n\t\telapsedSeconds,\n\t\tdurationSeconds\n\t};\n\tconst getSignalView = (res, suffix) => signalTextureView(signalContext, res, `${nodeId}_${suffix}`);\n\tconst sCRView = getSignalView(sCR, \"shadows_cyanRed_sig\");\n\tconst sMGView = getSignalView(sMG, \"shadows_magentaGreen_sig\");\n\tconst sYBView = getSignalView(sYB, \"shadows_yellowBlue_sig\");\n\tconst mCRView = getSignalView(mCR, \"midtones_cyanRed_sig\");\n\tconst mMGView = getSignalView(mMG, \"midtones_magentaGreen_sig\");\n\tconst mYBView = getSignalView(mYB, \"midtones_yellowBlue_sig\");\n\tconst hCRView = getSignalView(hCR, \"highlights_cyanRed_sig\");\n\tconst hMGView = getSignalView(hMG, \"highlights_magentaGreen_sig\");\n\tconst hYBView = getSignalView(hYB, \"highlights_yellowBlue_sig\");\n\tconst preserveLum = op.preserveLuminosity === false ? 0 : 1;\n\tuniformBufferData[0] = sCR.val / 100;\n\tuniformBufferData[1] = sMG.val / 100;\n\tuniformBufferData[2] = sYB.val / 100;\n\tuniformBufferData[3] = 0;\n\tuniformBufferData[4] = mCR.val / 100;\n\tuniformBufferData[5] = mMG.val / 100;\n\tuniformBufferData[6] = mYB.val / 100;\n\tuniformBufferData[7] = 0;\n\tuniformBufferData[8] = hCR.val / 100;\n\tuniformBufferData[9] = hMG.val / 100;\n\tuniformBufferData[10] = hYB.val / 100;\n\tuniformBufferData[11] = 0;\n\tuniformBufferData[12] = preserveLum;\n\tuniformBufferData[13] = sCR.hasStaticSig ? 1 : 0;\n\tuniformBufferData[14] = sMG.hasStaticSig ? 1 : 0;\n\tuniformBufferData[15] = sYB.hasStaticSig ? 1 : 0;\n\tuniformBufferData[16] = mCR.hasStaticSig ? 1 : 0;\n\tuniformBufferData[17] = mMG.hasStaticSig ? 1 : 0;\n\tuniformBufferData[18] = mYB.hasStaticSig ? 1 : 0;\n\tuniformBufferData[19] = hCR.hasStaticSig ? 1 : 0;\n\tuniformBufferData[20] = hMG.hasStaticSig ? 1 : 0;\n\tuniformBufferData[21] = hYB.hasStaticSig ? 1 : 0;\n\tuniformBufferData[22] = 0;\n\tuniformBufferData[23] = 0;\n\tconst buffer = ctx.renderer.getTemporaryBuffer(uniformBufferData);\n\tconst outTex = ctx.renderer.getTemporaryTexture(width, height, [\n\t\ttmpTex,\n\t\ttargetTexture,\n\t\t...props.excludeTextures || []\n\t]);\n\tconst sigBindGroup = ctx.device.createBindGroup({\n\t\tlayout: signalTextureLayout,\n\t\tentries: [\n\t\t\t{\n\t\t\t\tbinding: 0,\n\t\t\t\tresource: sCRView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 1,\n\t\t\t\tresource: sMGView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 2,\n\t\t\t\tresource: sYBView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 3,\n\t\t\t\tresource: mCRView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 4,\n\t\t\t\tresource: mMGView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 5,\n\t\t\t\tresource: mYBView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 6,\n\t\t\t\tresource: hCRView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 7,\n\t\t\t\tresource: hMGView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 8,\n\t\t\t\tresource: hYBView\n\t\t\t},\n\t\t\t{\n\t\t\t\tbinding: 9,\n\t\t\t\tresource: sampler\n\t\t\t}\n\t\t]\n\t});\n\tdrawFullscreenPass(encoder, outTex.createView(), pipeline, [\n\t\tctx.device.createBindGroup({\n\t\t\tlayout: uniformLayout,\n\t\t\tentries: [{\n\t\t\t\tbinding: 0,\n\t\t\t\tresource: { buffer }\n\t\t\t}]\n\t\t}),\n\t\tctx.renderer.bindGroupCache.getBindGroup(ctx.device, textureLayout, tmpTex, sampler),\n\t\tsigBindGroup\n\t]);\n\tdrawTextureToTarget(args, outTex, props.opacity ?? 1);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = { WebGPURenderer: ColorBalanceWebGPURenderer };\n\n//#endregion\nexport { ColorBalanceWebGPURenderer as n, renderers_default as t };\n//# sourceMappingURL=renderers-BaZtHi33.mjs.map"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./chunk-GBe2k3y8.mjs";
|
|
2
|
-
import "./dist-
|
|
3
|
-
import { n as renderers_default, t as RefractionCaustics3DWebGPURenderer } from "./renderer-
|
|
2
|
+
import "./dist-DQlYw4eG.mjs";
|
|
3
|
+
import { n as renderers_default, t as RefractionCaustics3DWebGPURenderer } from "./renderer-Cxh7j423.mjs";
|
|
4
4
|
|
|
5
5
|
export { RefractionCaustics3DWebGPURenderer, renderers_default as default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Jt as resolveNumber, Xt as resolveString } from "./dist-fjKpBYkc.mjs";
|
|
2
2
|
import { n as defineRenderer } from "./renderer-BSitV56h.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { Z as shaderStore, bt as AudioSignalComputePipeline, jn as signalRegistry } from "./dist-DQlYw4eG.mjs";
|
|
4
4
|
|
|
5
5
|
//#region ../../nodes/node-audio-signal-extractor/dist/renderers-CP8CFWDs.mjs
|
|
6
6
|
const audioSignalExtractorAudioProcessor = async (channels, sampleRate, virtualMedia, ctx) => {
|
|
@@ -49,4 +49,4 @@ var renderers_default = defineRenderer({ audioProcessor: audioSignalExtractorAud
|
|
|
49
49
|
|
|
50
50
|
//#endregion
|
|
51
51
|
export { renderers_default as t };
|
|
52
|
-
//# sourceMappingURL=renderers-CP8CFWDs-
|
|
52
|
+
//# sourceMappingURL=renderers-CP8CFWDs-B8HIr3kj.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers-CP8CFWDs-
|
|
1
|
+
{"version":3,"file":"renderers-CP8CFWDs-B8HIr3kj.mjs","names":[],"sources":["../../../nodes/node-audio-signal-extractor/dist/renderers-CP8CFWDs.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { resolveNumber, resolveString } from \"@framefields/node-sdk\";\nimport { AudioSignalComputePipeline, shaderStore, signalRegistry } from \"@framefields/webgpu-renderers\";\n\n//#region src/renderers/audio-processor.ts\nconst audioSignalExtractorAudioProcessor = async (channels, sampleRate, virtualMedia, ctx) => {\n\tif (!ctx?.device) return;\n\tif (!channels || channels.length === 0 || channels[0].length === 0) return;\n\tconst op = virtualMedia.operation || {};\n\tconst nodeId = op.nodeId || op.id || \"audio-signal-extractor\";\n\tconst fps = ctx.fps ?? 24;\n\tconst mode = resolveString(op.extractionMode, \"\");\n\tconst curveStr = resolveString(op.curve, \"\");\n\tconst config = {\n\t\textractionMode: mode || void 0,\n\t\tattackMs: resolveNumber(op.attackMs, 10),\n\t\treleaseMs: resolveNumber(op.releaseMs, 120),\n\t\tsensitivity: resolveNumber(op.sensitivity, 1),\n\t\tnoiseFloorDb: resolveNumber(op.noiseFloorDb, -45),\n\t\tdynamicRangeDb: resolveNumber(op.dynamicRangeDb, 36),\n\t\tsmoothing: resolveNumber(op.smoothing, .15),\n\t\tcurve: curveStr || void 0,\n\t\tbeatThreshold: resolveNumber(op.beatThreshold, .55),\n\t\tbeatDecayMs: resolveNumber(op.beatDecayMs, 80)\n\t};\n\tconst signals = await AudioSignalComputePipeline.extractFeatures(ctx.device, channels, sampleRate, fps, config, 512);\n\tsignalRegistry.registerBuffer(ctx.device, nodeId, signals.primaryBuffer, ctx.renderId);\n\tsignalRegistry.registerBuffer(ctx.device, `${nodeId}_beat`, signals.beatBuffer, ctx.renderId);\n\tsignalRegistry.registerBuffer(ctx.device, `${nodeId}_bass`, signals.bassBuffer, ctx.renderId);\n\tsignalRegistry.registerBuffer(ctx.device, `${nodeId}_energy`, signals.energyBuffer, ctx.renderId);\n\tsignalRegistry.registerTexture(ctx.device, nodeId, signals.texture, signals.textureView, ctx.renderId);\n\tsignalRegistry.registerTexture(ctx.device, `${nodeId}_beat`, signals.texture, signals.textureView, ctx.renderId);\n\tsignalRegistry.registerTexture(ctx.device, `${nodeId}_bass`, signals.texture, signals.textureView, ctx.renderId);\n\tsignalRegistry.registerTexture(ctx.device, `${nodeId}_energy`, signals.texture, signals.textureView, ctx.renderId);\n\tconst fnName = `signal_${nodeId.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n\tconst wgsl = `\nfn ${fnName}(t: f32, x: f32, y: f32, z: f32, i: u32, n: u32, frame: u32, color: vec4f, t_elapsed: f32, duration: f32) -> f32 {\n return 0.0f;\n}\n`;\n\tshaderStore.register(nodeId, {\n\t\twgsl,\n\t\tname: fnName,\n\t\toutputType: \"f32\",\n\t\tfnParams: []\n\t}, ctx.renderId);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = defineRenderer({ audioProcessor: audioSignalExtractorAudioProcessor });\n\n//#endregion\nexport { renderers_default as t };\n//# sourceMappingURL=renderers-CP8CFWDs.mjs.map"],"mappings":";;;;;AAKA,MAAM,qCAAqC,OAAO,UAAU,YAAY,cAAc,QAAQ;AAC7F,KAAI,CAAC,KAAK,OAAQ;AAClB,KAAI,CAAC,YAAY,SAAS,WAAW,KAAK,SAAS,GAAG,WAAW,EAAG;CACpE,MAAM,KAAK,aAAa,aAAa,EAAE;CACvC,MAAM,SAAS,GAAG,UAAU,GAAG,MAAM;CACrC,MAAM,MAAM,IAAI,OAAO;CACvB,MAAM,OAAO,cAAc,GAAG,gBAAgB,GAAG;CACjD,MAAM,WAAW,cAAc,GAAG,OAAO,GAAG;CAC5C,MAAM,SAAS;EACd,gBAAgB,QAAQ,KAAK;EAC7B,UAAU,cAAc,GAAG,UAAU,GAAG;EACxC,WAAW,cAAc,GAAG,WAAW,IAAI;EAC3C,aAAa,cAAc,GAAG,aAAa,EAAE;EAC7C,cAAc,cAAc,GAAG,cAAc,IAAI;EACjD,gBAAgB,cAAc,GAAG,gBAAgB,GAAG;EACpD,WAAW,cAAc,GAAG,WAAW,IAAI;EAC3C,OAAO,YAAY,KAAK;EACxB,eAAe,cAAc,GAAG,eAAe,IAAI;EACnD,aAAa,cAAc,GAAG,aAAa,GAAG;EAC9C;CACD,MAAM,UAAU,MAAM,2BAA2B,gBAAgB,IAAI,QAAQ,UAAU,YAAY,KAAK,QAAQ,IAAI;AACpH,gBAAe,eAAe,IAAI,QAAQ,QAAQ,QAAQ,eAAe,IAAI,SAAS;AACtF,gBAAe,eAAe,IAAI,QAAQ,GAAG,OAAO,QAAQ,QAAQ,YAAY,IAAI,SAAS;AAC7F,gBAAe,eAAe,IAAI,QAAQ,GAAG,OAAO,QAAQ,QAAQ,YAAY,IAAI,SAAS;AAC7F,gBAAe,eAAe,IAAI,QAAQ,GAAG,OAAO,UAAU,QAAQ,cAAc,IAAI,SAAS;AACjG,gBAAe,gBAAgB,IAAI,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,aAAa,IAAI,SAAS;AACtG,gBAAe,gBAAgB,IAAI,QAAQ,GAAG,OAAO,QAAQ,QAAQ,SAAS,QAAQ,aAAa,IAAI,SAAS;AAChH,gBAAe,gBAAgB,IAAI,QAAQ,GAAG,OAAO,QAAQ,QAAQ,SAAS,QAAQ,aAAa,IAAI,SAAS;AAChH,gBAAe,gBAAgB,IAAI,QAAQ,GAAG,OAAO,UAAU,QAAQ,SAAS,QAAQ,aAAa,IAAI,SAAS;CAClH,MAAM,SAAS,UAAU,OAAO,QAAQ,iBAAiB,IAAI;CAC7D,MAAM,OAAO;KACT,OAAO;;;;AAIX,aAAY,SAAS,QAAQ;EAC5B;EACA,MAAM;EACN,YAAY;EACZ,UAAU,EAAE;EACZ,EAAE,IAAI,SAAS;;AAKjB,IAAI,oBAAoB,eAAe,EAAE,gBAAgB,oCAAoC,CAAC"}
|
package/dist/signals/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../chunk-GBe2k3y8.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import "../index-
|
|
4
|
-
import "../renderer-
|
|
5
|
-
import { i as _default, n as AudioSignalOptions, r as ExtractedAudioSignalsBundle, t as AudioSignal } from "../audio-
|
|
6
|
-
import { i as index_d_exports, n as index_d_exports$1, r as index_d_exports$3, t as index_d_exports$2 } from "../index-
|
|
2
|
+
import { Ci as FrameSignal, D as SignalRegistry, La as SignalValue, O as SignalRegistryResource, Oa as SignalContext, P as buildWGSLSignalFn, Ra as SineSignalOptions, To as cosineSignal, fs as signal, h as MasterAudioEntry, ms as sineSignal, ps as signalBuilder, q as signalRegistry, s as AudioSignalComputePipeline, wa as Signal, wo as computed } from "../index--1jnkoBj.mjs";
|
|
3
|
+
import "../index-D6_KcajH.mjs";
|
|
4
|
+
import "../renderer-BO-7bYa5.mjs";
|
|
5
|
+
import { i as _default, n as AudioSignalOptions, r as ExtractedAudioSignalsBundle, t as AudioSignal } from "../audio-1QquqDJs.mjs";
|
|
6
|
+
import { i as index_d_exports, n as index_d_exports$1, r as index_d_exports$3, t as index_d_exports$2 } from "../index-BqzHDFkU.mjs";
|
|
7
7
|
export { AudioSignal, AudioSignalComputePipeline, index_d_exports as AudioSignalExtractorNode, AudioSignalOptions, ExtractedAudioSignalsBundle, FrameSignal, MasterAudioEntry, Signal, SignalContext, index_d_exports$1 as SignalGateNode, index_d_exports$2 as SignalMathNode, index_d_exports$3 as SignalNode, SignalRegistry, SignalRegistryResource, SignalValue, SineSignalOptions, buildWGSLSignalFn, computed, cosineSignal, _default as modulateRenderer, signal, signalBuilder, signalRegistry, sineSignal };
|
package/dist/signals/index.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import "../chunk-GBe2k3y8.mjs";
|
|
2
2
|
import { H as Signal, en as signal, ft as computed, nn as sineSignal, pt as cosineSignal, tn as signalBuilder } from "../dist-fjKpBYkc.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import "../renderers-CP8CFWDs-
|
|
3
|
+
import { Rt as SignalRegistry, bt as AudioSignalComputePipeline, jn as signalRegistry, sn as buildWGSLSignalFn } from "../dist-DQlYw4eG.mjs";
|
|
4
|
+
import "../renderers-CP8CFWDs-B8HIr3kj.mjs";
|
|
5
5
|
import { i as dist_exports, n as dist_exports$1, r as dist_exports$3, t as dist_exports$2 } from "../signals-DGRs6ddH.mjs";
|
|
6
|
-
import { t as renderers_default } from "../renderer-
|
|
6
|
+
import { t as renderers_default } from "../renderer-dwTzrQ2G.mjs";
|
|
7
7
|
import "../renderer-BajIOuZH.mjs";
|
|
8
|
-
import { t as AudioSignal } from "../audio-
|
|
8
|
+
import { t as AudioSignal } from "../audio-BYqbtdH8.mjs";
|
|
9
9
|
|
|
10
10
|
export { AudioSignal, AudioSignalComputePipeline, dist_exports as AudioSignalExtractorNode, Signal, dist_exports$1 as SignalGateNode, dist_exports$2 as SignalMathNode, dist_exports$3 as SignalNode, SignalRegistry, buildWGSLSignalFn, computed, cosineSignal, renderers_default as modulateRenderer, signal, signalBuilder, signalRegistry, sineSignal };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "framefields",
|
|
3
|
-
"version": "2.1
|
|
3
|
+
"version": "2.2.0-beta.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "High-performance WebGPU rendering SDK for video composition, Photoshop-grade 2D VFX, audio DSP, and reactive signals. Built for AI Agents.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -101,6 +101,9 @@
|
|
|
101
101
|
"yoga-layout": "^3.2.1",
|
|
102
102
|
"zod": "^4.3.6"
|
|
103
103
|
},
|
|
104
|
+
"optionalDependencies": {
|
|
105
|
+
"onnxruntime-web": "^1.24.0"
|
|
106
|
+
},
|
|
104
107
|
"devDependencies": {
|
|
105
108
|
"@types/d3-format": "^3.0.4",
|
|
106
109
|
"@types/d3-scale": "^4.0.9",
|
|
@@ -110,60 +113,60 @@
|
|
|
110
113
|
"tsdown": "^0.19.0",
|
|
111
114
|
"typescript": "^5.8.3",
|
|
112
115
|
"vitest": "4.1.5",
|
|
113
|
-
"@framefields/
|
|
114
|
-
"@framefields/
|
|
115
|
-
"@framefields/
|
|
116
|
-
"@framefields/node-audio-fade": "2.1
|
|
117
|
-
"@framefields/
|
|
118
|
-
"@framefields/node-audio-
|
|
119
|
-
"@framefields/node-
|
|
120
|
-
"@framefields/node-
|
|
121
|
-
"@framefields/node-
|
|
122
|
-
"@framefields/node-
|
|
123
|
-
"@framefields/node-
|
|
124
|
-
"@framefields/node-
|
|
125
|
-
"@framefields/node-
|
|
126
|
-
"@framefields/node-
|
|
127
|
-
"@framefields/node-
|
|
128
|
-
"@framefields/node-
|
|
129
|
-
"@framefields/node-
|
|
130
|
-
"@framefields/node-
|
|
131
|
-
"@framefields/node-
|
|
132
|
-
"@framefields/node-
|
|
133
|
-
"@framefields/node-
|
|
134
|
-
"@framefields/node-
|
|
135
|
-
"@framefields/node-
|
|
136
|
-
"@framefields/node-
|
|
137
|
-
"@framefields/node-levels": "2.1
|
|
138
|
-
"@framefields/node-
|
|
139
|
-
"@framefields/node-
|
|
140
|
-
"@framefields/node-mask-math": "2.1
|
|
141
|
-
"@framefields/node-
|
|
142
|
-
"@framefields/node-modulate": "2.1
|
|
143
|
-
"@framefields/node-
|
|
144
|
-
"@framefields/node-
|
|
145
|
-
"@framefields/node-
|
|
146
|
-
"@framefields/node-
|
|
147
|
-
"@framefields/node-
|
|
148
|
-
"@framefields/node-
|
|
149
|
-
"@framefields/node-
|
|
150
|
-
"@framefields/node-
|
|
151
|
-
"@framefields/node-
|
|
152
|
-
"@framefields/node-signal": "2.1
|
|
153
|
-
"@framefields/node-signal-math": "2.1
|
|
154
|
-
"@framefields/node-
|
|
155
|
-
"@framefields/node-
|
|
156
|
-
"@framefields/node-
|
|
157
|
-
"@framefields/node-
|
|
158
|
-
"@framefields/
|
|
159
|
-
"@framefields/
|
|
160
|
-
"@framefields/
|
|
161
|
-
"@framefields/
|
|
162
|
-
"@framefields/
|
|
163
|
-
"@framefields/
|
|
164
|
-
"@framefields/
|
|
165
|
-
"@framefields/
|
|
166
|
-
"@framefields/
|
|
116
|
+
"@framefields/client-utils": "2.2.0-beta.1",
|
|
117
|
+
"@framefields/node-audio-compressor": "2.2.0-beta.1",
|
|
118
|
+
"@framefields/compositions": "2.2.0-beta.1",
|
|
119
|
+
"@framefields/node-audio-fade": "2.2.0-beta.1",
|
|
120
|
+
"@framefields/core": "2.2.0-beta.1",
|
|
121
|
+
"@framefields/node-audio-parametric-eq": "2.2.0-beta.1",
|
|
122
|
+
"@framefields/node-blur": "2.2.0-beta.1",
|
|
123
|
+
"@framefields/node-color-balance": "2.2.0-beta.1",
|
|
124
|
+
"@framefields/node-audio-reverb": "2.2.0-beta.1",
|
|
125
|
+
"@framefields/node-crop": "2.2.0-beta.1",
|
|
126
|
+
"@framefields/node-audio-noise-gate": "2.2.0-beta.1",
|
|
127
|
+
"@framefields/node-colorkey": "2.2.0-beta.1",
|
|
128
|
+
"@framefields/node-curves": "2.2.0-beta.1",
|
|
129
|
+
"@framefields/node-audio-signal-extractor": "2.2.0-beta.1",
|
|
130
|
+
"@framefields/node-corner-pin": "2.2.0-beta.1",
|
|
131
|
+
"@framefields/node-displacement-map": "2.2.0-beta.1",
|
|
132
|
+
"@framefields/node-deflicker": "2.2.0-beta.1",
|
|
133
|
+
"@framefields/node-audio-delay": "2.2.0-beta.1",
|
|
134
|
+
"@framefields/node-film-grain": "2.2.0-beta.1",
|
|
135
|
+
"@framefields/node-halftone-screen": "2.2.0-beta.1",
|
|
136
|
+
"@framefields/node-high-pass": "2.2.0-beta.1",
|
|
137
|
+
"@framefields/node-flip": "2.2.0-beta.1",
|
|
138
|
+
"@framefields/node-gradient-map": "2.2.0-beta.1",
|
|
139
|
+
"@framefields/node-layer-style": "2.2.0-beta.1",
|
|
140
|
+
"@framefields/node-levels": "2.2.0-beta.1",
|
|
141
|
+
"@framefields/node-kenburns": "2.2.0-beta.1",
|
|
142
|
+
"@framefields/node-lut": "2.2.0-beta.1",
|
|
143
|
+
"@framefields/node-mask-math": "2.2.0-beta.1",
|
|
144
|
+
"@framefields/node-liquify": "2.2.0-beta.1",
|
|
145
|
+
"@framefields/node-modulate": "2.2.0-beta.1",
|
|
146
|
+
"@framefields/node-mesh-warp": "2.2.0-beta.1",
|
|
147
|
+
"@framefields/node-paint": "2.2.0-beta.1",
|
|
148
|
+
"@framefields/node-patch-heal": "2.2.0-beta.1",
|
|
149
|
+
"@framefields/node-rotate": "2.2.0-beta.1",
|
|
150
|
+
"@framefields/node-sdk": "2.2.0-beta.1",
|
|
151
|
+
"@framefields/node-refraction-caustics": "2.2.0-beta.1",
|
|
152
|
+
"@framefields/node-selective-color": "2.2.0-beta.1",
|
|
153
|
+
"@framefields/node-shadows-highlights": "2.2.0-beta.1",
|
|
154
|
+
"@framefields/node-signal-gate": "2.2.0-beta.1",
|
|
155
|
+
"@framefields/node-signal": "2.2.0-beta.1",
|
|
156
|
+
"@framefields/node-signal-math": "2.2.0-beta.1",
|
|
157
|
+
"@framefields/node-vignette": "2.2.0-beta.1",
|
|
158
|
+
"@framefields/node-unsharp-mask": "2.2.0-beta.1",
|
|
159
|
+
"@framefields/node-vision": "2.2.0-beta.1",
|
|
160
|
+
"@framefields/node-refine-edge": "2.2.0-beta.1",
|
|
161
|
+
"@framefields/renderer": "2.2.0-beta.1",
|
|
162
|
+
"@framefields/node-relight-3d": "2.2.0-beta.1",
|
|
163
|
+
"@framefields/tensor-webgpu": "2.2.0-beta.1",
|
|
164
|
+
"@framefields/vision": "2.2.0-beta.1",
|
|
165
|
+
"@framefields/tsconfig": "2.2.0-beta.1",
|
|
166
|
+
"@framefields/renderers": "2.2.0-beta.1",
|
|
167
|
+
"@framefields/node-tile-offset": "2.2.0-beta.1",
|
|
168
|
+
"@framefields/node-stereo-panning": "2.2.0-beta.1",
|
|
169
|
+
"@framefields/webgpu-renderers": "2.2.0-beta.1"
|
|
167
170
|
},
|
|
168
171
|
"scripts": {
|
|
169
172
|
"build": "tsdown && node ../../scripts/sync-readme.mjs && node scripts/check-dts-bundle.mjs",
|