framefields 2.5.1 → 2.5.3
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/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-C1A4N3Wh.d.mts → audio-2ew5y0Bl.d.mts} +3 -3
- package/dist/{audio-C1A4N3Wh.d.mts.map → audio-2ew5y0Bl.d.mts.map} +1 -1
- package/dist/{audio-CZwVENqB.mjs → audio-DrUskzwZ.mjs} +4 -4
- package/dist/{audio-CZwVENqB.mjs.map → audio-DrUskzwZ.mjs.map} +1 -1
- package/dist/components/index.d.mts +10 -10
- package/dist/components/index.mjs +44 -44
- package/dist/{dist-CQZ5_60A.mjs → dist-BPOi5xb_.mjs} +2 -2
- package/dist/{dist-CQZ5_60A.mjs.map → dist-BPOi5xb_.mjs.map} +1 -1
- package/dist/{dist-DBWkkSvJ.mjs → dist-Bf0H4lp1.mjs} +66 -28
- package/dist/dist-Bf0H4lp1.mjs.map +1 -0
- package/dist/{dist-DFeF-ygz.mjs → dist-D021IFfp.mjs} +3 -1
- package/dist/{dist-DFeF-ygz.mjs.map → dist-D021IFfp.mjs.map} +1 -1
- package/dist/{dist-DHQVWaV2.mjs → dist-DG65RDhc.mjs} +3 -3
- package/dist/{dist-DHQVWaV2.mjs.map → dist-DG65RDhc.mjs.map} +1 -1
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +35 -35
- package/dist/{effects-DZvq-nWT.mjs → effects-Z-brb-n7.mjs} +3 -3
- package/dist/{effects-DZvq-nWT.mjs.map → effects-Z-brb-n7.mjs.map} +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-DcsxFpyU.mjs → fonts-DqYgk_1a.mjs} +2 -2
- package/dist/{fonts-DcsxFpyU.mjs.map → fonts-DqYgk_1a.mjs.map} +1 -1
- package/dist/{gpu-Dq_uI_00.mjs → gpu-CevnCkZC.mjs} +2 -2
- package/dist/{gpu-Dq_uI_00.mjs.map → gpu-CevnCkZC.mjs.map} +1 -1
- package/dist/{index-C2f4Hm-p.d.mts → index-COQTaniR.d.mts} +2 -2
- package/dist/{index-C2f4Hm-p.d.mts.map → index-COQTaniR.d.mts.map} +1 -1
- package/dist/{index-fymoeGNW.d.mts → index-CZK6CFLy.d.mts} +22 -19
- package/dist/index-CZK6CFLy.d.mts.map +1 -0
- package/dist/{index-BpdVOlsV.d.mts → index-CfMylY3O.d.mts} +3 -3
- package/dist/{index-BpdVOlsV.d.mts.map → index-CfMylY3O.d.mts.map} +1 -1
- package/dist/{index-DNKM3to5.d.mts → index-D1C735Wp.d.mts} +3 -3
- package/dist/{index-DNKM3to5.d.mts.map → index-D1C735Wp.d.mts.map} +1 -1
- package/dist/{index-D6-lH1Mx.d.mts → index-DSGFMpwL.d.mts} +4 -4
- package/dist/{index-D6-lH1Mx.d.mts.map → index-DSGFMpwL.d.mts.map} +1 -1
- package/dist/{index-B-KVpJMb.d.mts → index-KqW22NHL.d.mts} +2 -2
- package/dist/{index-B-KVpJMb.d.mts.map → index-KqW22NHL.d.mts.map} +1 -1
- package/dist/{index-DKssQ_wn.d.mts → index-tCKz9Tku.d.mts} +231 -233
- package/dist/index-tCKz9Tku.d.mts.map +1 -0
- package/dist/index.d.mts +11 -11
- package/dist/index.mjs +52 -52
- package/dist/preview/index.d.mts +3 -3
- package/dist/preview/index.mjs +10 -10
- package/dist/{preview-CYI4i4m3.mjs → preview-DVw2jLDh.mjs} +2 -2
- package/dist/{preview-CYI4i4m3.mjs.map → preview-DVw2jLDh.mjs.map} +1 -1
- package/dist/preview-engine/{chunk-3I6B3YPF.mjs → chunk-2WOCQNZX.mjs} +3 -3
- package/dist/preview-engine/{chunk-PDM3TJ45.mjs → chunk-45XGWIOY.mjs} +1 -1
- package/dist/preview-engine/{chunk-XUPZBI3Y.mjs → chunk-5FTCPTOX.mjs} +13 -7
- package/dist/preview-engine/{chunk-Z4TKEI3I.mjs → chunk-B555EGEU.mjs} +1 -1
- package/dist/preview-engine/{chunk-6GMEF2QB.mjs → chunk-FAEWI3LF.mjs} +1 -1
- package/dist/preview-engine/{chunk-W4HIVUUA.mjs → chunk-I3ZTDIVM.mjs} +1 -1
- package/dist/preview-engine/{chunk-CT2WFPYG.mjs → chunk-MCFYUKAJ.mjs} +8 -8
- package/dist/preview-engine/{chunk-AB5VITYM.mjs → chunk-PR37RCNO.mjs} +1 -1
- package/dist/preview-engine/{chunk-NAISBHLR.mjs → chunk-QP24X77K.mjs} +1 -1
- package/dist/preview-engine/chunk-SYP4AJMF.mjs +1 -0
- package/dist/preview-engine/{chunk-SNASF7OM.mjs → chunk-YSXMXD3F.mjs} +1 -1
- package/dist/preview-engine/components.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 +1 -1
- package/dist/preview-engine/player.mjs +1 -1
- package/dist/preview-engine/renderers-BILNWTUC.mjs +228 -0
- package/dist/preview-engine/{renderers-HJ6NO5ZD.mjs → renderers-EJATUIUP.mjs} +1 -1
- package/dist/preview-engine/renderers-SKT7AGGE.mjs +1 -0
- package/dist/{program-BdPDtfVv.mjs → program-4mAVgg3c.mjs} +4 -4
- package/dist/{program-BdPDtfVv.mjs.map → program-4mAVgg3c.mjs.map} +1 -1
- package/dist/registry/captions.json +1 -1
- package/dist/registry/lower-third.json +1 -1
- package/dist/registry/meter.json +1 -1
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +2 -2
- package/dist/renderer-1ymN1FIT.mjs +5 -0
- package/dist/{renderer-VdTs-dqH.mjs → renderer-4P-DCjk2.mjs} +3 -3
- package/dist/{renderer-VdTs-dqH.mjs.map → renderer-4P-DCjk2.mjs.map} +1 -1
- package/dist/{renderer-B4blg067.mjs → renderer-5-9DPis6.mjs} +3 -3
- package/dist/{renderer-B4blg067.mjs.map → renderer-5-9DPis6.mjs.map} +1 -1
- package/dist/{renderer-COXKPofU.d.mts → renderer-92IAZzBU.d.mts} +2 -2
- package/dist/{renderer-COXKPofU.d.mts.map → renderer-92IAZzBU.d.mts.map} +1 -1
- package/dist/{renderer-o_JK4YfO.mjs → renderer-9gjn790a.mjs} +3 -3
- package/dist/{renderer-o_JK4YfO.mjs.map → renderer-9gjn790a.mjs.map} +1 -1
- package/dist/renderer-B-43EuKb.mjs +5 -0
- package/dist/renderer-B-v5ZboU.mjs +5 -0
- package/dist/{renderer-IMg0dK6K.mjs → renderer-B8PNlKEM.mjs} +3 -3
- package/dist/{renderer-IMg0dK6K.mjs.map → renderer-B8PNlKEM.mjs.map} +1 -1
- package/dist/{renderer-Db_wphHH.mjs → renderer-B9AZ6R1U.mjs} +64 -21
- package/dist/renderer-B9AZ6R1U.mjs.map +1 -0
- package/dist/{renderer-7DyjqxEj.mjs → renderer-B9iVE2GG.mjs} +3 -3
- package/dist/{renderer-7DyjqxEj.mjs.map → renderer-B9iVE2GG.mjs.map} +1 -1
- package/dist/{renderer-ChCUad83.mjs → renderer-B9m7xIPo.mjs} +3 -3
- package/dist/{renderer-ChCUad83.mjs.map → renderer-B9m7xIPo.mjs.map} +1 -1
- package/dist/{renderer-BAkPq8qo.mjs → renderer-B9yv3R1y.mjs} +2 -2
- package/dist/{renderer-BAkPq8qo.mjs.map → renderer-B9yv3R1y.mjs.map} +1 -1
- package/dist/{renderer-DuQMzR3v.mjs → renderer-BBA-iCi-.mjs} +8 -417
- package/dist/renderer-BBA-iCi-.mjs.map +1 -0
- package/dist/{renderer-l_U6kA8K.mjs → renderer-BIYJKdwA.mjs} +2 -2
- package/dist/{renderer-l_U6kA8K.mjs.map → renderer-BIYJKdwA.mjs.map} +1 -1
- package/dist/{renderer-DQuKNgIx.mjs → renderer-BIt-At3v.mjs} +4 -4
- package/dist/{renderer-DQuKNgIx.mjs.map → renderer-BIt-At3v.mjs.map} +1 -1
- package/dist/renderer-BKF8Sfbg.mjs +3 -0
- package/dist/{renderer-D2ru2Afi.mjs → renderer-BKayVZhL.mjs} +3 -3
- package/dist/{renderer-D2ru2Afi.mjs.map → renderer-BKayVZhL.mjs.map} +1 -1
- package/dist/renderer-BTB8ifgH.mjs +5 -0
- package/dist/{renderer-fH9SCJC2.mjs → renderer-BVtQzjgT.mjs} +2 -2
- package/dist/{renderer-fH9SCJC2.mjs.map → renderer-BVtQzjgT.mjs.map} +1 -1
- package/dist/{renderer-DBjV6C2u.mjs → renderer-BWqQxZNk.mjs} +2 -2
- package/dist/renderer-BYxzR6Hp.mjs +5 -0
- package/dist/renderer-BcGhO_Mw.mjs +5 -0
- package/dist/{renderer-DK34NH92.mjs → renderer-BcSSAzc4.mjs} +3 -3
- package/dist/{renderer-DK34NH92.mjs.map → renderer-BcSSAzc4.mjs.map} +1 -1
- package/dist/{renderer-BBTkfhL8.mjs → renderer-Bh0dwc8n.mjs} +3 -3
- package/dist/{renderer-BBTkfhL8.mjs.map → renderer-Bh0dwc8n.mjs.map} +1 -1
- package/dist/{renderer-CDX2f82b.mjs → renderer-BjxceNBj.mjs} +3 -3
- package/dist/{renderer-CDX2f82b.mjs.map → renderer-BjxceNBj.mjs.map} +1 -1
- package/dist/renderer-Bk3RgiFg.mjs +5 -0
- package/dist/{renderer-Bmj7AyJP.mjs → renderer-Bk7vVfTu.mjs} +3 -3
- package/dist/{renderer-Bmj7AyJP.mjs.map → renderer-Bk7vVfTu.mjs.map} +1 -1
- package/dist/{renderer-Ch7qwjH9.mjs → renderer-BmX2CmyO.mjs} +3 -3
- package/dist/{renderer-Ch7qwjH9.mjs.map → renderer-BmX2CmyO.mjs.map} +1 -1
- package/dist/{renderer-Bo1PY0zW.mjs → renderer-BpBhvMi1.mjs} +2 -2
- package/dist/{renderer-ZjSP5jw6.mjs → renderer-Bt_j2Zi6.mjs} +2 -2
- package/dist/{renderer-ZjSP5jw6.mjs.map → renderer-Bt_j2Zi6.mjs.map} +1 -1
- package/dist/renderer-BvItCxkw.mjs +5 -0
- package/dist/{renderer-Bw5YP2Db.mjs → renderer-BwRLXhxJ.mjs} +3 -3
- package/dist/{renderer-Bw5YP2Db.mjs.map → renderer-BwRLXhxJ.mjs.map} +1 -1
- package/dist/{renderer-CWSM0IGG.mjs → renderer-C0P8ZRiC.mjs} +2 -2
- package/dist/{renderer-CWSM0IGG.mjs.map → renderer-C0P8ZRiC.mjs.map} +1 -1
- package/dist/{renderer-Z39F9QK5.mjs → renderer-C1sFg34Y.mjs} +3 -3
- package/dist/{renderer-Z39F9QK5.mjs.map → renderer-C1sFg34Y.mjs.map} +1 -1
- package/dist/{renderer-BGNdwdCR.mjs → renderer-C4f_X1Qc.mjs} +3 -3
- package/dist/{renderer-BGNdwdCR.mjs.map → renderer-C4f_X1Qc.mjs.map} +1 -1
- package/dist/{renderer-DyMEAZIm.mjs → renderer-C4pS7aAI.mjs} +4 -4
- package/dist/{renderer-DyMEAZIm.mjs.map → renderer-C4pS7aAI.mjs.map} +1 -1
- package/dist/{renderer-BWa3CLK7.mjs → renderer-C5h2TSjH.mjs} +2 -2
- package/dist/{renderer-BWa3CLK7.mjs.map → renderer-C5h2TSjH.mjs.map} +1 -1
- package/dist/{renderer-BN_n6O6P.mjs → renderer-C7HIJcJK.mjs} +3 -3
- package/dist/{renderer-BN_n6O6P.mjs.map → renderer-C7HIJcJK.mjs.map} +1 -1
- package/dist/{renderer-G3px5ODP.mjs → renderer-C8-NmotX.mjs} +3 -3
- package/dist/{renderer-G3px5ODP.mjs.map → renderer-C8-NmotX.mjs.map} +1 -1
- package/dist/renderer-CCnfPHqk.mjs +5 -0
- package/dist/{renderer-Dx28wTi1.d.mts → renderer-CE9N4EEI.d.mts} +2 -2
- package/dist/{renderer-Dx28wTi1.d.mts.map → renderer-CE9N4EEI.d.mts.map} +1 -1
- package/dist/{renderer-CLO8QHWE.mjs → renderer-CGKKjJ5Q.mjs} +3 -3
- package/dist/{renderer-CLO8QHWE.mjs.map → renderer-CGKKjJ5Q.mjs.map} +1 -1
- package/dist/renderer-CIoWQNaA.mjs +5 -0
- package/dist/{renderer-2bipMLqz.mjs → renderer-CJ2-jEy7.mjs} +2 -2
- package/dist/{renderer-2bipMLqz.mjs.map → renderer-CJ2-jEy7.mjs.map} +1 -1
- package/dist/renderer-CMwQtIIq.mjs +5 -0
- package/dist/renderer-CN8kRB90.mjs +6 -0
- package/dist/renderer-CPKBDif1.mjs +5 -0
- package/dist/{renderer-Cj1giMd0.mjs → renderer-CPl1wOrj.mjs} +2 -2
- package/dist/{renderer-Cj1giMd0.mjs.map → renderer-CPl1wOrj.mjs.map} +1 -1
- package/dist/{renderer-BmoQJUJO.mjs → renderer-CT_3Fegr.mjs} +3 -3
- package/dist/{renderer-BmoQJUJO.mjs.map → renderer-CT_3Fegr.mjs.map} +1 -1
- package/dist/{renderer-BfrzKmRh.mjs → renderer-CTvPNRMH.mjs} +2 -2
- package/dist/{renderer-BfrzKmRh.mjs.map → renderer-CTvPNRMH.mjs.map} +1 -1
- package/dist/{renderer-DWaqF7-6.mjs → renderer-CWnhRMOq.mjs} +3 -3
- package/dist/{renderer-DWaqF7-6.mjs.map → renderer-CWnhRMOq.mjs.map} +1 -1
- package/dist/{renderer-BBTdHKH7.mjs → renderer-CXa6SWXy.mjs} +3 -3
- package/dist/{renderer-BBTdHKH7.mjs.map → renderer-CXa6SWXy.mjs.map} +1 -1
- package/dist/renderer-CamsHxEP.mjs +5 -0
- package/dist/{renderer-CMEqUhrW.mjs → renderer-Cb5uDZm0.mjs} +3 -3
- package/dist/{renderer-CMEqUhrW.mjs.map → renderer-Cb5uDZm0.mjs.map} +1 -1
- package/dist/renderer-CeQormOH.mjs +5 -0
- package/dist/renderer-Cex4eMtv.mjs +5 -0
- package/dist/{renderer-kP5Y282J.mjs → renderer-CgMnZYTM.mjs} +4 -4
- package/dist/{renderer-kP5Y282J.mjs.map → renderer-CgMnZYTM.mjs.map} +1 -1
- package/dist/{renderer-B5YYBBDq.mjs → renderer-CjcrhBB2.mjs} +2 -2
- package/dist/{renderer-B5YYBBDq.mjs.map → renderer-CjcrhBB2.mjs.map} +1 -1
- package/dist/{renderer-CXbXF7Dh.mjs → renderer-Cjw6lyaK.mjs} +3 -3
- package/dist/{renderer-CXbXF7Dh.mjs.map → renderer-Cjw6lyaK.mjs.map} +1 -1
- package/dist/renderer-CjyTrNlr.mjs +5 -0
- package/dist/{renderer-D6p8b6ql.mjs → renderer-CkJXq4bD.mjs} +3 -3
- package/dist/{renderer-D6p8b6ql.mjs.map → renderer-CkJXq4bD.mjs.map} +1 -1
- package/dist/renderer-Clv9TO6C.mjs +5 -0
- package/dist/{renderer-gjT5v76-.mjs → renderer-Cm9fEQsw.mjs} +2 -2
- package/dist/{renderer-gjT5v76-.mjs.map → renderer-Cm9fEQsw.mjs.map} +1 -1
- package/dist/{renderer-CJoa4H2G.mjs → renderer-CuwVuVKG.mjs} +2 -2
- package/dist/{renderer-CJoa4H2G.mjs.map → renderer-CuwVuVKG.mjs.map} +1 -1
- package/dist/{renderer-D5u3GVtD.mjs → renderer-CvYxxS_X.mjs} +71 -71
- package/dist/{renderer-D5u3GVtD.mjs.map → renderer-CvYxxS_X.mjs.map} +1 -1
- package/dist/{renderer-VxVi_0c7.mjs → renderer-CxOaqnho.mjs} +2 -2
- package/dist/{renderer-VxVi_0c7.mjs.map → renderer-CxOaqnho.mjs.map} +1 -1
- package/dist/{renderer-DkPDYtD3.mjs → renderer-CxkUI9s_.mjs} +3 -3
- package/dist/{renderer-DkPDYtD3.mjs.map → renderer-CxkUI9s_.mjs.map} +1 -1
- package/dist/{renderer-BYJS2lhn.mjs → renderer-Cz5SOnJr.mjs} +3 -3
- package/dist/{renderer-BYJS2lhn.mjs.map → renderer-Cz5SOnJr.mjs.map} +1 -1
- package/dist/{renderer-WVrUeiLZ.mjs → renderer-D-FwaV1R.mjs} +2 -2
- package/dist/{renderer-BWnFh7NO.mjs → renderer-D0iSbNza.mjs} +3 -3
- package/dist/{renderer-BWnFh7NO.mjs.map → renderer-D0iSbNza.mjs.map} +1 -1
- package/dist/{renderer-DHqicGgT.mjs → renderer-D22g6ION.mjs} +3 -3
- package/dist/{renderer-DHqicGgT.mjs.map → renderer-D22g6ION.mjs.map} +1 -1
- package/dist/renderer-D4LnJk-M.mjs +5 -0
- package/dist/renderer-D5OfQ8Ut.mjs +5 -0
- package/dist/renderer-DBYssktC.mjs +5 -0
- package/dist/renderer-DC-Aj3me.mjs +5 -0
- package/dist/renderer-DG97_Aoc.mjs +5 -0
- package/dist/{renderer-Cjs1OeBu.mjs → renderer-DPVEs5ME.mjs} +3 -3
- package/dist/{renderer-Cjs1OeBu.mjs.map → renderer-DPVEs5ME.mjs.map} +1 -1
- package/dist/{renderer-COtZ315B.mjs → renderer-DPzair18.mjs} +2 -2
- package/dist/renderer-DS4UGjcS.mjs +5 -0
- package/dist/{renderer-PLoGrFGz.mjs → renderer-DTXAa2pL.mjs} +3 -3
- package/dist/{renderer-PLoGrFGz.mjs.map → renderer-DTXAa2pL.mjs.map} +1 -1
- package/dist/{renderer-ChjkppUz.mjs → renderer-DYdll3xW.mjs} +3 -3
- package/dist/{renderer-ChjkppUz.mjs.map → renderer-DYdll3xW.mjs.map} +1 -1
- package/dist/{renderer-BhhweLr_.mjs → renderer-Datqywo_.mjs} +3 -3
- package/dist/{renderer-BhhweLr_.mjs.map → renderer-Datqywo_.mjs.map} +1 -1
- package/dist/renderer-DdG6ibtM.mjs +5 -0
- package/dist/{renderer-D0X7Eh-T.mjs → renderer-Ddg3dJmu.mjs} +3 -3
- package/dist/{renderer-D0X7Eh-T.mjs.map → renderer-Ddg3dJmu.mjs.map} +1 -1
- package/dist/{renderer-CmKdr2nA.mjs → renderer-De7gno9X.mjs} +3 -3
- package/dist/{renderer-CmKdr2nA.mjs.map → renderer-De7gno9X.mjs.map} +1 -1
- package/dist/renderer-DhZi4f3t.mjs +5 -0
- package/dist/{renderer-BJwOM1Dq.mjs → renderer-Dkt1oh9H.mjs} +3 -3
- package/dist/{renderer-BJwOM1Dq.mjs.map → renderer-Dkt1oh9H.mjs.map} +1 -1
- package/dist/{renderer-DqO9gBAi.mjs → renderer-DnT62IDK.mjs} +3 -3
- package/dist/{renderer-DqO9gBAi.mjs.map → renderer-DnT62IDK.mjs.map} +1 -1
- package/dist/{renderer-vwoyR8pW.mjs → renderer-Du8z4UrN.mjs} +2 -2
- package/dist/{renderer-vwoyR8pW.mjs.map → renderer-Du8z4UrN.mjs.map} +1 -1
- package/dist/{renderer-B8LXXvHi.mjs → renderer-MQPiZQXN.mjs} +3 -3
- package/dist/{renderer-B8LXXvHi.mjs.map → renderer-MQPiZQXN.mjs.map} +1 -1
- package/dist/renderer-MgLekf6d.mjs +5 -0
- package/dist/{renderer-FCqOfN6n.mjs → renderer-NL2IZShC.mjs} +3 -3
- package/dist/{renderer-FCqOfN6n.mjs.map → renderer-NL2IZShC.mjs.map} +1 -1
- package/dist/renderer-Qvs-1lWh.mjs +5 -0
- package/dist/{renderer-B31zMDE8.mjs → renderer-RiWi7y5C.mjs} +4 -4
- package/dist/{renderer-B31zMDE8.mjs.map → renderer-RiWi7y5C.mjs.map} +1 -1
- package/dist/{renderer-Fsdod0yZ.mjs → renderer-T2dd9a2L.mjs} +3 -3
- package/dist/{renderer-Fsdod0yZ.mjs.map → renderer-T2dd9a2L.mjs.map} +1 -1
- package/dist/{renderer-1VKN5j2C.mjs → renderer-Y5JmTL8J.mjs} +3 -3
- package/dist/{renderer-1VKN5j2C.mjs.map → renderer-Y5JmTL8J.mjs.map} +1 -1
- package/dist/{renderer-CdUf7ZDJ.mjs → renderer-_vcT__tW.mjs} +3 -3
- package/dist/{renderer-CdUf7ZDJ.mjs.map → renderer-_vcT__tW.mjs.map} +1 -1
- package/dist/renderer-bN7dOErt.mjs +5 -0
- package/dist/renderer-jWKVmReU.mjs +5 -0
- package/dist/{renderer-kkDfQ56G.mjs → renderer-khVVYoVF.mjs} +3 -3
- package/dist/{renderer-kkDfQ56G.mjs.map → renderer-khVVYoVF.mjs.map} +1 -1
- package/dist/renderer-lk-At57G.mjs +5 -0
- package/dist/renderer-qi8Slwfo.mjs +5 -0
- package/dist/renderer-qxOH4JH1.mjs +5 -0
- package/dist/renderer-t30NpmIl.mjs +5 -0
- package/dist/{renderer-Bo_d7h86.mjs → renderer-vc8t_z-y.mjs} +3 -3
- package/dist/{renderer-Bo_d7h86.mjs.map → renderer-vc8t_z-y.mjs.map} +1 -1
- package/dist/{renderer-0cHsK6xR.mjs → renderer-wEXBnlr1.mjs} +3 -3
- package/dist/{renderer-0cHsK6xR.mjs.map → renderer-wEXBnlr1.mjs.map} +1 -1
- package/dist/{renderer-CNs1vBUy.mjs → renderer-wIsJb2eO.mjs} +2 -2
- package/dist/{renderer-CNs1vBUy.mjs.map → renderer-wIsJb2eO.mjs.map} +1 -1
- package/dist/renderer-wKW4HWRx.mjs +5 -0
- package/dist/renderer-ydjPm8bp.mjs +5 -0
- package/dist/{renderer-DP41Fokp.mjs → renderer-zdpn1Hkk.mjs} +3 -3
- package/dist/{renderer-DP41Fokp.mjs.map → renderer-zdpn1Hkk.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-DiX2Y4Qp.mjs → renderers-CP8CFWDs-BbLkcJTN.mjs} +3 -3
- package/dist/{renderers-CP8CFWDs-DiX2Y4Qp.mjs.map → renderers-CP8CFWDs-BbLkcJTN.mjs.map} +1 -1
- package/dist/signals/index.d.mts +5 -5
- package/dist/signals/index.mjs +6 -6
- package/dist/{signals-Cf9mfNGE.mjs → signals-BrNF9l9s.mjs} +3 -3
- package/dist/{signals-Cf9mfNGE.mjs.map → signals-BrNF9l9s.mjs.map} +1 -1
- package/dist/{src-Ds9IAk5S.mjs → src-WAnxhDYD.mjs} +9 -9
- package/dist/{src-Ds9IAk5S.mjs.map → src-WAnxhDYD.mjs.map} +1 -1
- package/package.json +58 -58
- package/dist/dist-DBWkkSvJ.mjs.map +0 -1
- package/dist/index-DKssQ_wn.d.mts.map +0 -1
- package/dist/index-fymoeGNW.d.mts.map +0 -1
- package/dist/preview-engine/chunk-X6HUH6K4.mjs +0 -1
- package/dist/preview-engine/renderers-KSQM7EM5.mjs +0 -1
- package/dist/preview-engine/renderers-XLBHSQZJ.mjs +0 -228
- package/dist/renderer-B-D_VZg3.mjs +0 -5
- package/dist/renderer-B64dhpDX.mjs +0 -5
- package/dist/renderer-BA2Ko4H1.mjs +0 -3
- package/dist/renderer-BDL4jyrb.mjs +0 -5
- package/dist/renderer-BKCZGKkl.mjs +0 -5
- package/dist/renderer-BKs3jI7-.mjs +0 -5
- package/dist/renderer-BW74Zf-u.mjs +0 -5
- package/dist/renderer-BXuQN61O.mjs +0 -5
- package/dist/renderer-BY1pPvzx.mjs +0 -6
- package/dist/renderer-Bahthqvq.mjs +0 -5
- package/dist/renderer-BbaiQG8h.mjs +0 -5
- package/dist/renderer-BhHF-08y.mjs +0 -5
- package/dist/renderer-BnrMcw6C.mjs +0 -5
- package/dist/renderer-BsS61z5l.mjs +0 -5
- package/dist/renderer-Btuq2Eq8.mjs +0 -5
- package/dist/renderer-BxmsEl2x.mjs +0 -5
- package/dist/renderer-CGOyHdKs.mjs +0 -5
- package/dist/renderer-CJjmpmpu.mjs +0 -5
- package/dist/renderer-CQvDDAIu.mjs +0 -5
- package/dist/renderer-CYxigw7S.mjs +0 -5
- package/dist/renderer-CgDofO5z.mjs +0 -5
- package/dist/renderer-CgmQchab.mjs +0 -5
- package/dist/renderer-CjzrLwW_.mjs +0 -5
- package/dist/renderer-ClnYWADT.mjs +0 -5
- package/dist/renderer-CwAd71C6.mjs +0 -5
- package/dist/renderer-D3Z9t-xT.mjs +0 -5
- package/dist/renderer-DKH1oSlW.mjs +0 -5
- package/dist/renderer-DTkf_hwG.mjs +0 -5
- package/dist/renderer-DU0bmOS7.mjs +0 -5
- package/dist/renderer-D_vJHQt5.mjs +0 -5
- package/dist/renderer-Db_wphHH.mjs.map +0 -1
- package/dist/renderer-Dc5n0M6P.mjs +0 -5
- package/dist/renderer-Ddfn0Dha.mjs +0 -5
- package/dist/renderer-DeSoNQeG.mjs +0 -5
- package/dist/renderer-DuQMzR3v.mjs.map +0 -1
- package/dist/renderer-Dzca9Qba.mjs +0 -5
- package/dist/renderer-HRVvtc9c.mjs +0 -5
- package/dist/renderer-M3Qs4f1K.mjs +0 -5
- package/dist/renderer-NDHJt_Ae.mjs +0 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { cn as resolveNumber } from "./dist-
|
|
1
|
+
import { cn as resolveNumber } from "./dist-D021IFfp.mjs";
|
|
2
2
|
import { n as defineRenderer, r as isHandleConnected } from "./renderer-C9r0-KY4.mjs";
|
|
3
|
-
import { g as WebGPUAudioProcessor } from "./dist-
|
|
3
|
+
import { g as WebGPUAudioProcessor } from "./dist-Bf0H4lp1.mjs";
|
|
4
4
|
|
|
5
5
|
//#region ../../nodes/node-audio-reverb/dist/renderers-DCFjIwTB.mjs
|
|
6
6
|
const PARAM_ORDER = [
|
|
@@ -370,4 +370,4 @@ var renderers_default = defineRenderer({ audioProcessor: reverbAudioProcessor })
|
|
|
370
370
|
|
|
371
371
|
//#endregion
|
|
372
372
|
export { renderers_default as t };
|
|
373
|
-
//# sourceMappingURL=renderer-
|
|
373
|
+
//# sourceMappingURL=renderer-zdpn1Hkk.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-DP41Fokp.mjs","names":[],"sources":["../../../nodes/node-audio-reverb/dist/renderers-DCFjIwTB.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { isHandleConnected, resolveNumber } from \"@framefields/node-sdk\";\nimport { WebGPUAudioProcessor } from \"@framefields/webgpu-renderers\";\n\n//#region src/renderers/audio-processor.ts\nconst PARAM_ORDER = [\n\t\"roomSize\",\n\t\"damping\",\n\t\"wet\",\n\t\"dry\",\n\t\"width\"\n];\nconst REVERB_SHADER_TEMPLATE = () => `\nstruct Uniforms {\n sampleRate : f32,\n roomSize : f32,\n damping : f32,\n wet : f32,\n dry : f32,\n width : f32,\n hasRoomSizeSig : f32,\n hasDampingSig : f32,\n hasWetSig : f32,\n hasDrySig : f32,\n hasWidthSig : f32,\n baseTime : f32,\n frame : f32,\n numSamples : f32,\n numChannels : f32,\n pad1 : f32,\n};\n\n@group(0) @binding(0) var<uniform> u : Uniforms;\n@group(0) @binding(1) var<storage, read> inputChannels : array<f32>;\n@group(0) @binding(2) var<storage, read_write> outputChannels : array<f32>;\n@group(0) @binding(3) var<storage, read_write> state : array<f32>;\n@group(0) @binding(4) var<storage, read> roomSizeSignal : array<f32>;\n@group(0) @binding(5) var<storage, read> dampingSignal : array<f32>;\n@group(0) @binding(6) var<storage, read> wetSignal : array<f32>;\n@group(0) @binding(7) var<storage, read> drySignal : array<f32>;\n@group(0) @binding(8) var<storage, read> widthSignal : array<f32>;\n\nfn tanh(x: f32) -> f32 {\n let exp2x = exp(2.0f * x);\n return (exp2x - 1.0f) / (exp2x + 1.0f);\n}\n\nfn is_nan_or_inf(v: f32) -> bool {\n return (v != v) || (abs(v) > 3.402823466e+38f);\n}\n\n@compute @workgroup_size(1)\nfn main(@builtin(global_invocation_id) gid : vec3<u32>) {\n if (gid.x != 0u) { return; }\n\n let numSamples = u32(u.numSamples);\n let numChannels = u32(u.numChannels);\n let fixedgain: f32 = 0.015f;\n\n var bufIndices: array<u32, 24>;\n var filterStores: array<f32, 24>;\n var sizes: array<u32, 24>;\n var startOffsets: array<u32, 24>;\n\n for (var f = 0u; f < 24u; f = f + 1u) {\n let metaOffset = f * 4u;\n sizes[f] = u32(state[metaOffset]);\n startOffsets[f] = u32(state[metaOffset + 1u]);\n bufIndices[f] = u32(state[metaOffset + 2u]);\n var fs = state[metaOffset + 3u];\n if (is_nan_or_inf(fs)) { fs = 0.0f; }\n filterStores[f] = fs;\n }\n\n if (numChannels == 1u) {\n for (var index = 0u; index < numSamples; index = index + 1u) {\n // Dynamic parameter signal evaluation\n var effRoomSize = u.roomSize;\n if (u.hasRoomSizeSig > 0.5f) { effRoomSize = roomSizeSignal[index]; }\n effRoomSize = clamp(effRoomSize, 0.0f, 0.98f);\n\n var effDamping = u.damping;\n if (u.hasDampingSig > 0.5f) { effDamping = dampingSignal[index]; }\n effDamping = clamp(effDamping, 0.0f, 1.0f) * 0.4f;\n\n var effWet = u.wet;\n if (u.hasWetSig > 0.5f) { effWet = wetSignal[index]; }\n effWet = clamp(effWet, 0.0f, 1.0f) * 3.0f;\n\n var effDry = u.dry;\n if (u.hasDrySig > 0.5f) { effDry = drySignal[index]; }\n effDry = clamp(effDry, 0.0f, 2.0f);\n\n var x = inputChannels[index];\n if (is_nan_or_inf(x)) { x = 0.0f; }\n let inputVal = x * fixedgain;\n\n var combSum = 0.0f;\n for (var j = 0u; j < 8u; j = j + 1u) {\n let size = sizes[j];\n let startOffset = startOffsets[j];\n let bufferIndex = bufIndices[j];\n var fs = filterStores[j];\n\n var output = state[startOffset + bufferIndex];\n if (is_nan_or_inf(output)) { output = 0.0f; }\n\n fs = output * (1.0f - effDamping) + fs * effDamping;\n var nextVal = inputVal + fs * effRoomSize;\n if (is_nan_or_inf(nextVal)) { nextVal = 0.0f; }\n state[startOffset + bufferIndex] = clamp(nextVal, -4.0f, 4.0f);\n\n bufIndices[j] = (bufferIndex + 1u) % size;\n filterStores[j] = fs;\n combSum = combSum + output;\n }\n\n var revOut = combSum;\n for (var j = 0u; j < 4u; j = j + 1u) {\n let f = 8u + j;\n let size = sizes[f];\n let startOffset = startOffsets[f];\n let bufferIndex = bufIndices[f];\n\n var bufOut = state[startOffset + bufferIndex];\n if (is_nan_or_inf(bufOut)) { bufOut = 0.0f; }\n\n var nextVal = revOut + bufOut * 0.5f;\n if (is_nan_or_inf(nextVal)) { nextVal = 0.0f; }\n state[startOffset + bufferIndex] = clamp(nextVal, -4.0f, 4.0f);\n\n let output = bufOut - revOut;\n bufIndices[f] = (bufferIndex + 1u) % size;\n revOut = output;\n }\n\n var outVal = x * effDry + revOut * effWet;\n if (is_nan_or_inf(outVal)) { outVal = 0.0f; }\n\n if (outVal > 1.0f) { outVal = 1.0f; }\n else if (outVal < -1.0f) { outVal = -1.0f; }\n else if (outVal > 0.9f) { outVal = 0.9f + 0.1f * tanh((outVal - 0.9f) / 0.1f); }\n else if (outVal < -0.9f) { outVal = -0.9f + 0.1f * tanh((outVal + 0.9f) / 0.1f); }\n\n outputChannels[index] = outVal;\n }\n } else {\n for (var index = 0u; index < numSamples; index = index + 1u) {\n // Dynamic parameter signal evaluation\n var effRoomSize = u.roomSize;\n if (u.hasRoomSizeSig > 0.5f) { effRoomSize = roomSizeSignal[index]; }\n effRoomSize = clamp(effRoomSize, 0.0f, 0.98f);\n\n var effDamping = u.damping;\n if (u.hasDampingSig > 0.5f) { effDamping = dampingSignal[index]; }\n effDamping = clamp(effDamping, 0.0f, 1.0f) * 0.4f;\n\n var effWet = u.wet;\n if (u.hasWetSig > 0.5f) { effWet = wetSignal[index]; }\n effWet = clamp(effWet, 0.0f, 1.0f) * 3.0f;\n\n var effDry = u.dry;\n if (u.hasDrySig > 0.5f) { effDry = drySignal[index]; }\n effDry = clamp(effDry, 0.0f, 2.0f);\n\n var effWidth = u.width;\n if (u.hasWidthSig > 0.5f) { effWidth = widthSignal[index]; }\n effWidth = clamp(effWidth, 0.0f, 1.0f);\n\n let wet1 = effWet * (effWidth / 2.0f + 0.5f);\n let wet2 = effWet * ((1.0f - effWidth) / 2.0f);\n\n var inputL = inputChannels[index];\n if (is_nan_or_inf(inputL)) { inputL = 0.0f; }\n var inputR = inputChannels[numSamples + index];\n if (is_nan_or_inf(inputR)) { inputR = 0.0f; }\n\n let inputVal = (inputL + inputR) * fixedgain;\n\n // Left channel (Filters 0-11)\n var combSumL = 0.0f;\n for (var j = 0u; j < 8u; j = j + 1u) {\n let size = sizes[j];\n let startOffset = startOffsets[j];\n let bufferIndex = bufIndices[j];\n var fs = filterStores[j];\n\n var output = state[startOffset + bufferIndex];\n if (is_nan_or_inf(output)) { output = 0.0f; }\n\n fs = output * (1.0f - effDamping) + fs * effDamping;\n var nextVal = inputVal + fs * effRoomSize;\n if (is_nan_or_inf(nextVal)) { nextVal = 0.0f; }\n state[startOffset + bufferIndex] = clamp(nextVal, -4.0f, 4.0f);\n\n bufIndices[j] = (bufferIndex + 1u) % size;\n filterStores[j] = fs;\n combSumL = combSumL + output;\n }\n var revOutL = combSumL;\n for (var j = 0u; j < 4u; j = j + 1u) {\n let f = 8u + j;\n let size = sizes[f];\n let startOffset = startOffsets[f];\n let bufferIndex = bufIndices[f];\n\n var bufOut = state[startOffset + bufferIndex];\n if (is_nan_or_inf(bufOut)) { bufOut = 0.0f; }\n\n var nextVal = revOutL + bufOut * 0.5f;\n if (is_nan_or_inf(nextVal)) { nextVal = 0.0f; }\n state[startOffset + bufferIndex] = clamp(nextVal, -4.0f, 4.0f);\n\n let output = bufOut - revOutL;\n bufIndices[f] = (bufferIndex + 1u) % size;\n revOutL = output;\n }\n\n // Right channel (Filters 12-23)\n var combSumR = 0.0f;\n for (var j = 0u; j < 8u; j = j + 1u) {\n let f = 12u + j;\n let size = sizes[f];\n let startOffset = startOffsets[f];\n let bufferIndex = bufIndices[f];\n var fs = filterStores[f];\n\n var output = state[startOffset + bufferIndex];\n if (is_nan_or_inf(output)) { output = 0.0f; }\n\n fs = output * (1.0f - effDamping) + fs * effDamping;\n var nextVal = inputVal + fs * effRoomSize;\n if (is_nan_or_inf(nextVal)) { nextVal = 0.0f; }\n state[startOffset + bufferIndex] = clamp(nextVal, -4.0f, 4.0f);\n\n bufIndices[f] = (bufferIndex + 1u) % size;\n filterStores[f] = fs;\n combSumR = combSumR + output;\n }\n var revOutR = combSumR;\n for (var j = 0u; j < 4u; j = j + 1u) {\n let f = 20u + j;\n let size = sizes[f];\n let startOffset = startOffsets[f];\n let bufferIndex = bufIndices[f];\n\n var bufOut = state[startOffset + bufferIndex];\n if (is_nan_or_inf(bufOut)) { bufOut = 0.0f; }\n\n var nextVal = revOutR + bufOut * 0.5f;\n if (is_nan_or_inf(nextVal)) { nextVal = 0.0f; }\n state[startOffset + bufferIndex] = clamp(nextVal, -4.0f, 4.0f);\n\n let output = bufOut - revOutR;\n bufIndices[f] = (bufferIndex + 1u) % size;\n revOutR = output;\n }\n\n var outL = inputL * effDry + revOutL * wet1 + revOutR * wet2;\n var outR = inputR * effDry + revOutR * wet1 + revOutL * wet2;\n if (is_nan_or_inf(outL)) { outL = 0.0f; }\n if (is_nan_or_inf(outR)) { outR = 0.0f; }\n\n if (outL > 1.0f) { outL = 1.0f; } else if (outL < -1.0f) { outL = -1.0f; }\n else if (outL > 0.9f) { outL = 0.9f + 0.1f * tanh((outL - 0.9f) / 0.1f); }\n else if (outL < -0.9f) { outL = -0.9f + 0.1f * tanh((outL + 0.9f) / 0.1f); }\n\n if (outR > 1.0f) { outR = 1.0f; } else if (outR < -1.0f) { outR = -1.0f; }\n else if (outR > 0.9f) { outR = 0.9f + 0.1f * tanh((outR - 0.9f) / 0.1f); }\n else if (outR < -0.9f) { outR = -0.9f + 0.1f * tanh((outR + 0.9f) / 0.1f); }\n\n outputChannels[index] = outL;\n outputChannels[numSamples + index] = outR;\n }\n }\n\n for (var f = 0u; f < 24u; f = f + 1u) {\n let metaOffset = f * 4u;\n state[metaOffset + 2u] = f32(bufIndices[f]);\n state[metaOffset + 3u] = filterStores[f];\n }\n}\n`;\nconst leftCombLengths = [\n\t1116,\n\t1188,\n\t1277,\n\t1356,\n\t1422,\n\t1491,\n\t1557,\n\t1617\n];\nconst leftAllpassLengths = [\n\t556,\n\t441,\n\t341,\n\t225\n];\nconst reverbAudioProcessor = async (channels, sampleRate, virtualMedia, ctx) => {\n\tif (!ctx?.device) throw new Error(\"GPUDevice is required for WebGPU Reverb.\");\n\tconst op = virtualMedia.operation || {};\n\tconst numChannels = channels.length;\n\tif (numChannels === 0) return;\n\tconst numSamples = channels[0].length;\n\tif (numSamples === 0) return;\n\tconst roomSizeInternal = Math.max(0, Math.min(resolveNumber(op.roomSize, .5), .98));\n\tconst dampingInternal = Math.max(0, Math.min(resolveNumber(op.damping, .5), 1));\n\tconst wetInternal = Math.max(0, Math.min(resolveNumber(op.wet, .3), 1));\n\tconst dryInternal = Math.max(0, Math.min(resolveNumber(op.dry, 1), 1));\n\tconst widthInternal = Math.max(0, Math.min(resolveNumber(op.width, 1), 1));\n\tconst hasRoomSizeSig = isHandleConnected(op, \"roomSizeHandleId\") ? 1 : 0;\n\tconst hasDampingSig = isHandleConnected(op, \"dampingHandleId\") ? 1 : 0;\n\tconst hasWetSig = isHandleConnected(op, \"wetHandleId\") ? 1 : 0;\n\tconst hasDrySig = isHandleConnected(op, \"dryHandleId\") ? 1 : 0;\n\tconst hasWidthSig = isHandleConnected(op, \"widthHandleId\") ? 1 : 0;\n\tconst scale = sampleRate / 44100;\n\tconst nodeId = op.id || \"audio-reverb\";\n\tconst frame = ctx.frame ?? 0;\n\tconst fps = ctx.fps ?? 24;\n\tconst sizesL = [];\n\tconst sizesR = [];\n\tleftCombLengths.forEach((len) => {\n\t\tsizesL.push(Math.round(len * scale));\n\t});\n\tleftCombLengths.forEach((len) => {\n\t\tsizesR.push(Math.round((len + 23) * scale));\n\t});\n\tleftAllpassLengths.forEach((len) => {\n\t\tsizesL.push(Math.round(len * scale));\n\t});\n\tleftAllpassLengths.forEach((len) => {\n\t\tsizesR.push(Math.round((len + 23) * scale));\n\t});\n\tconst totalMetadataFloats = 96;\n\tlet totalDelaySamples = 0;\n\tconst filterSizes = [...sizesL, ...sizesR];\n\tfor (const size of filterSizes) totalDelaySamples += size;\n\tconst stateFloatCount = totalMetadataFloats + totalDelaySamples;\n\tconst metaData = new Float32Array(totalMetadataFloats);\n\tlet currentOffset = totalMetadataFloats;\n\tfor (let f = 0; f < 24; f++) {\n\t\tconst size = filterSizes[f];\n\t\tmetaData[f * 4] = size;\n\t\tmetaData[f * 4 + 1] = currentOffset;\n\t\tmetaData[f * 4 + 2] = 0;\n\t\tmetaData[f * 4 + 3] = 0;\n\t\tcurrentOffset += size;\n\t}\n\tawait WebGPUAudioProcessor.process(ctx.device, nodeId, channels, sampleRate, virtualMedia, frame, fps, REVERB_SHADER_TEMPLATE, () => [\n\t\tsampleRate,\n\t\troomSizeInternal,\n\t\tdampingInternal,\n\t\twetInternal,\n\t\tdryInternal,\n\t\twidthInternal,\n\t\thasRoomSizeSig,\n\t\thasDampingSig,\n\t\thasWetSig,\n\t\thasDrySig,\n\t\thasWidthSig,\n\t\t0,\n\t\tframe,\n\t\tnumSamples,\n\t\tnumChannels,\n\t\t0\n\t], 16, stateFloatCount, ctx?.renderId, true, ctx?.elapsedMs, ctx?.durationMs, metaData, void 0, PARAM_ORDER);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = defineRenderer({ audioProcessor: reverbAudioProcessor });\n\n//#endregion\nexport { renderers_default as t };\n//# sourceMappingURL=renderers-DCFjIwTB.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer-zdpn1Hkk.mjs","names":[],"sources":["../../../nodes/node-audio-reverb/dist/renderers-DCFjIwTB.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { isHandleConnected, resolveNumber } from \"@framefields/node-sdk\";\nimport { WebGPUAudioProcessor } from \"@framefields/webgpu-renderers\";\n\n//#region src/renderers/audio-processor.ts\nconst PARAM_ORDER = [\n\t\"roomSize\",\n\t\"damping\",\n\t\"wet\",\n\t\"dry\",\n\t\"width\"\n];\nconst REVERB_SHADER_TEMPLATE = () => `\nstruct Uniforms {\n sampleRate : f32,\n roomSize : f32,\n damping : f32,\n wet : f32,\n dry : f32,\n width : f32,\n hasRoomSizeSig : f32,\n hasDampingSig : f32,\n hasWetSig : f32,\n hasDrySig : f32,\n hasWidthSig : f32,\n baseTime : f32,\n frame : f32,\n numSamples : f32,\n numChannels : f32,\n pad1 : f32,\n};\n\n@group(0) @binding(0) var<uniform> u : Uniforms;\n@group(0) @binding(1) var<storage, read> inputChannels : array<f32>;\n@group(0) @binding(2) var<storage, read_write> outputChannels : array<f32>;\n@group(0) @binding(3) var<storage, read_write> state : array<f32>;\n@group(0) @binding(4) var<storage, read> roomSizeSignal : array<f32>;\n@group(0) @binding(5) var<storage, read> dampingSignal : array<f32>;\n@group(0) @binding(6) var<storage, read> wetSignal : array<f32>;\n@group(0) @binding(7) var<storage, read> drySignal : array<f32>;\n@group(0) @binding(8) var<storage, read> widthSignal : array<f32>;\n\nfn tanh(x: f32) -> f32 {\n let exp2x = exp(2.0f * x);\n return (exp2x - 1.0f) / (exp2x + 1.0f);\n}\n\nfn is_nan_or_inf(v: f32) -> bool {\n return (v != v) || (abs(v) > 3.402823466e+38f);\n}\n\n@compute @workgroup_size(1)\nfn main(@builtin(global_invocation_id) gid : vec3<u32>) {\n if (gid.x != 0u) { return; }\n\n let numSamples = u32(u.numSamples);\n let numChannels = u32(u.numChannels);\n let fixedgain: f32 = 0.015f;\n\n var bufIndices: array<u32, 24>;\n var filterStores: array<f32, 24>;\n var sizes: array<u32, 24>;\n var startOffsets: array<u32, 24>;\n\n for (var f = 0u; f < 24u; f = f + 1u) {\n let metaOffset = f * 4u;\n sizes[f] = u32(state[metaOffset]);\n startOffsets[f] = u32(state[metaOffset + 1u]);\n bufIndices[f] = u32(state[metaOffset + 2u]);\n var fs = state[metaOffset + 3u];\n if (is_nan_or_inf(fs)) { fs = 0.0f; }\n filterStores[f] = fs;\n }\n\n if (numChannels == 1u) {\n for (var index = 0u; index < numSamples; index = index + 1u) {\n // Dynamic parameter signal evaluation\n var effRoomSize = u.roomSize;\n if (u.hasRoomSizeSig > 0.5f) { effRoomSize = roomSizeSignal[index]; }\n effRoomSize = clamp(effRoomSize, 0.0f, 0.98f);\n\n var effDamping = u.damping;\n if (u.hasDampingSig > 0.5f) { effDamping = dampingSignal[index]; }\n effDamping = clamp(effDamping, 0.0f, 1.0f) * 0.4f;\n\n var effWet = u.wet;\n if (u.hasWetSig > 0.5f) { effWet = wetSignal[index]; }\n effWet = clamp(effWet, 0.0f, 1.0f) * 3.0f;\n\n var effDry = u.dry;\n if (u.hasDrySig > 0.5f) { effDry = drySignal[index]; }\n effDry = clamp(effDry, 0.0f, 2.0f);\n\n var x = inputChannels[index];\n if (is_nan_or_inf(x)) { x = 0.0f; }\n let inputVal = x * fixedgain;\n\n var combSum = 0.0f;\n for (var j = 0u; j < 8u; j = j + 1u) {\n let size = sizes[j];\n let startOffset = startOffsets[j];\n let bufferIndex = bufIndices[j];\n var fs = filterStores[j];\n\n var output = state[startOffset + bufferIndex];\n if (is_nan_or_inf(output)) { output = 0.0f; }\n\n fs = output * (1.0f - effDamping) + fs * effDamping;\n var nextVal = inputVal + fs * effRoomSize;\n if (is_nan_or_inf(nextVal)) { nextVal = 0.0f; }\n state[startOffset + bufferIndex] = clamp(nextVal, -4.0f, 4.0f);\n\n bufIndices[j] = (bufferIndex + 1u) % size;\n filterStores[j] = fs;\n combSum = combSum + output;\n }\n\n var revOut = combSum;\n for (var j = 0u; j < 4u; j = j + 1u) {\n let f = 8u + j;\n let size = sizes[f];\n let startOffset = startOffsets[f];\n let bufferIndex = bufIndices[f];\n\n var bufOut = state[startOffset + bufferIndex];\n if (is_nan_or_inf(bufOut)) { bufOut = 0.0f; }\n\n var nextVal = revOut + bufOut * 0.5f;\n if (is_nan_or_inf(nextVal)) { nextVal = 0.0f; }\n state[startOffset + bufferIndex] = clamp(nextVal, -4.0f, 4.0f);\n\n let output = bufOut - revOut;\n bufIndices[f] = (bufferIndex + 1u) % size;\n revOut = output;\n }\n\n var outVal = x * effDry + revOut * effWet;\n if (is_nan_or_inf(outVal)) { outVal = 0.0f; }\n\n if (outVal > 1.0f) { outVal = 1.0f; }\n else if (outVal < -1.0f) { outVal = -1.0f; }\n else if (outVal > 0.9f) { outVal = 0.9f + 0.1f * tanh((outVal - 0.9f) / 0.1f); }\n else if (outVal < -0.9f) { outVal = -0.9f + 0.1f * tanh((outVal + 0.9f) / 0.1f); }\n\n outputChannels[index] = outVal;\n }\n } else {\n for (var index = 0u; index < numSamples; index = index + 1u) {\n // Dynamic parameter signal evaluation\n var effRoomSize = u.roomSize;\n if (u.hasRoomSizeSig > 0.5f) { effRoomSize = roomSizeSignal[index]; }\n effRoomSize = clamp(effRoomSize, 0.0f, 0.98f);\n\n var effDamping = u.damping;\n if (u.hasDampingSig > 0.5f) { effDamping = dampingSignal[index]; }\n effDamping = clamp(effDamping, 0.0f, 1.0f) * 0.4f;\n\n var effWet = u.wet;\n if (u.hasWetSig > 0.5f) { effWet = wetSignal[index]; }\n effWet = clamp(effWet, 0.0f, 1.0f) * 3.0f;\n\n var effDry = u.dry;\n if (u.hasDrySig > 0.5f) { effDry = drySignal[index]; }\n effDry = clamp(effDry, 0.0f, 2.0f);\n\n var effWidth = u.width;\n if (u.hasWidthSig > 0.5f) { effWidth = widthSignal[index]; }\n effWidth = clamp(effWidth, 0.0f, 1.0f);\n\n let wet1 = effWet * (effWidth / 2.0f + 0.5f);\n let wet2 = effWet * ((1.0f - effWidth) / 2.0f);\n\n var inputL = inputChannels[index];\n if (is_nan_or_inf(inputL)) { inputL = 0.0f; }\n var inputR = inputChannels[numSamples + index];\n if (is_nan_or_inf(inputR)) { inputR = 0.0f; }\n\n let inputVal = (inputL + inputR) * fixedgain;\n\n // Left channel (Filters 0-11)\n var combSumL = 0.0f;\n for (var j = 0u; j < 8u; j = j + 1u) {\n let size = sizes[j];\n let startOffset = startOffsets[j];\n let bufferIndex = bufIndices[j];\n var fs = filterStores[j];\n\n var output = state[startOffset + bufferIndex];\n if (is_nan_or_inf(output)) { output = 0.0f; }\n\n fs = output * (1.0f - effDamping) + fs * effDamping;\n var nextVal = inputVal + fs * effRoomSize;\n if (is_nan_or_inf(nextVal)) { nextVal = 0.0f; }\n state[startOffset + bufferIndex] = clamp(nextVal, -4.0f, 4.0f);\n\n bufIndices[j] = (bufferIndex + 1u) % size;\n filterStores[j] = fs;\n combSumL = combSumL + output;\n }\n var revOutL = combSumL;\n for (var j = 0u; j < 4u; j = j + 1u) {\n let f = 8u + j;\n let size = sizes[f];\n let startOffset = startOffsets[f];\n let bufferIndex = bufIndices[f];\n\n var bufOut = state[startOffset + bufferIndex];\n if (is_nan_or_inf(bufOut)) { bufOut = 0.0f; }\n\n var nextVal = revOutL + bufOut * 0.5f;\n if (is_nan_or_inf(nextVal)) { nextVal = 0.0f; }\n state[startOffset + bufferIndex] = clamp(nextVal, -4.0f, 4.0f);\n\n let output = bufOut - revOutL;\n bufIndices[f] = (bufferIndex + 1u) % size;\n revOutL = output;\n }\n\n // Right channel (Filters 12-23)\n var combSumR = 0.0f;\n for (var j = 0u; j < 8u; j = j + 1u) {\n let f = 12u + j;\n let size = sizes[f];\n let startOffset = startOffsets[f];\n let bufferIndex = bufIndices[f];\n var fs = filterStores[f];\n\n var output = state[startOffset + bufferIndex];\n if (is_nan_or_inf(output)) { output = 0.0f; }\n\n fs = output * (1.0f - effDamping) + fs * effDamping;\n var nextVal = inputVal + fs * effRoomSize;\n if (is_nan_or_inf(nextVal)) { nextVal = 0.0f; }\n state[startOffset + bufferIndex] = clamp(nextVal, -4.0f, 4.0f);\n\n bufIndices[f] = (bufferIndex + 1u) % size;\n filterStores[f] = fs;\n combSumR = combSumR + output;\n }\n var revOutR = combSumR;\n for (var j = 0u; j < 4u; j = j + 1u) {\n let f = 20u + j;\n let size = sizes[f];\n let startOffset = startOffsets[f];\n let bufferIndex = bufIndices[f];\n\n var bufOut = state[startOffset + bufferIndex];\n if (is_nan_or_inf(bufOut)) { bufOut = 0.0f; }\n\n var nextVal = revOutR + bufOut * 0.5f;\n if (is_nan_or_inf(nextVal)) { nextVal = 0.0f; }\n state[startOffset + bufferIndex] = clamp(nextVal, -4.0f, 4.0f);\n\n let output = bufOut - revOutR;\n bufIndices[f] = (bufferIndex + 1u) % size;\n revOutR = output;\n }\n\n var outL = inputL * effDry + revOutL * wet1 + revOutR * wet2;\n var outR = inputR * effDry + revOutR * wet1 + revOutL * wet2;\n if (is_nan_or_inf(outL)) { outL = 0.0f; }\n if (is_nan_or_inf(outR)) { outR = 0.0f; }\n\n if (outL > 1.0f) { outL = 1.0f; } else if (outL < -1.0f) { outL = -1.0f; }\n else if (outL > 0.9f) { outL = 0.9f + 0.1f * tanh((outL - 0.9f) / 0.1f); }\n else if (outL < -0.9f) { outL = -0.9f + 0.1f * tanh((outL + 0.9f) / 0.1f); }\n\n if (outR > 1.0f) { outR = 1.0f; } else if (outR < -1.0f) { outR = -1.0f; }\n else if (outR > 0.9f) { outR = 0.9f + 0.1f * tanh((outR - 0.9f) / 0.1f); }\n else if (outR < -0.9f) { outR = -0.9f + 0.1f * tanh((outR + 0.9f) / 0.1f); }\n\n outputChannels[index] = outL;\n outputChannels[numSamples + index] = outR;\n }\n }\n\n for (var f = 0u; f < 24u; f = f + 1u) {\n let metaOffset = f * 4u;\n state[metaOffset + 2u] = f32(bufIndices[f]);\n state[metaOffset + 3u] = filterStores[f];\n }\n}\n`;\nconst leftCombLengths = [\n\t1116,\n\t1188,\n\t1277,\n\t1356,\n\t1422,\n\t1491,\n\t1557,\n\t1617\n];\nconst leftAllpassLengths = [\n\t556,\n\t441,\n\t341,\n\t225\n];\nconst reverbAudioProcessor = async (channels, sampleRate, virtualMedia, ctx) => {\n\tif (!ctx?.device) throw new Error(\"GPUDevice is required for WebGPU Reverb.\");\n\tconst op = virtualMedia.operation || {};\n\tconst numChannels = channels.length;\n\tif (numChannels === 0) return;\n\tconst numSamples = channels[0].length;\n\tif (numSamples === 0) return;\n\tconst roomSizeInternal = Math.max(0, Math.min(resolveNumber(op.roomSize, .5), .98));\n\tconst dampingInternal = Math.max(0, Math.min(resolveNumber(op.damping, .5), 1));\n\tconst wetInternal = Math.max(0, Math.min(resolveNumber(op.wet, .3), 1));\n\tconst dryInternal = Math.max(0, Math.min(resolveNumber(op.dry, 1), 1));\n\tconst widthInternal = Math.max(0, Math.min(resolveNumber(op.width, 1), 1));\n\tconst hasRoomSizeSig = isHandleConnected(op, \"roomSizeHandleId\") ? 1 : 0;\n\tconst hasDampingSig = isHandleConnected(op, \"dampingHandleId\") ? 1 : 0;\n\tconst hasWetSig = isHandleConnected(op, \"wetHandleId\") ? 1 : 0;\n\tconst hasDrySig = isHandleConnected(op, \"dryHandleId\") ? 1 : 0;\n\tconst hasWidthSig = isHandleConnected(op, \"widthHandleId\") ? 1 : 0;\n\tconst scale = sampleRate / 44100;\n\tconst nodeId = op.id || \"audio-reverb\";\n\tconst frame = ctx.frame ?? 0;\n\tconst fps = ctx.fps ?? 24;\n\tconst sizesL = [];\n\tconst sizesR = [];\n\tleftCombLengths.forEach((len) => {\n\t\tsizesL.push(Math.round(len * scale));\n\t});\n\tleftCombLengths.forEach((len) => {\n\t\tsizesR.push(Math.round((len + 23) * scale));\n\t});\n\tleftAllpassLengths.forEach((len) => {\n\t\tsizesL.push(Math.round(len * scale));\n\t});\n\tleftAllpassLengths.forEach((len) => {\n\t\tsizesR.push(Math.round((len + 23) * scale));\n\t});\n\tconst totalMetadataFloats = 96;\n\tlet totalDelaySamples = 0;\n\tconst filterSizes = [...sizesL, ...sizesR];\n\tfor (const size of filterSizes) totalDelaySamples += size;\n\tconst stateFloatCount = totalMetadataFloats + totalDelaySamples;\n\tconst metaData = new Float32Array(totalMetadataFloats);\n\tlet currentOffset = totalMetadataFloats;\n\tfor (let f = 0; f < 24; f++) {\n\t\tconst size = filterSizes[f];\n\t\tmetaData[f * 4] = size;\n\t\tmetaData[f * 4 + 1] = currentOffset;\n\t\tmetaData[f * 4 + 2] = 0;\n\t\tmetaData[f * 4 + 3] = 0;\n\t\tcurrentOffset += size;\n\t}\n\tawait WebGPUAudioProcessor.process(ctx.device, nodeId, channels, sampleRate, virtualMedia, frame, fps, REVERB_SHADER_TEMPLATE, () => [\n\t\tsampleRate,\n\t\troomSizeInternal,\n\t\tdampingInternal,\n\t\twetInternal,\n\t\tdryInternal,\n\t\twidthInternal,\n\t\thasRoomSizeSig,\n\t\thasDampingSig,\n\t\thasWetSig,\n\t\thasDrySig,\n\t\thasWidthSig,\n\t\t0,\n\t\tframe,\n\t\tnumSamples,\n\t\tnumChannels,\n\t\t0\n\t], 16, stateFloatCount, ctx?.renderId, true, ctx?.elapsedMs, ctx?.durationMs, metaData, void 0, PARAM_ORDER);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = defineRenderer({ audioProcessor: reverbAudioProcessor });\n\n//#endregion\nexport { renderers_default as t };\n//# sourceMappingURL=renderers-DCFjIwTB.mjs.map"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { cn as resolveNumber, un as resolveString } from "./dist-
|
|
1
|
+
import { cn as resolveNumber, un as resolveString } from "./dist-D021IFfp.mjs";
|
|
2
2
|
import { n as defineRenderer } from "./renderer-C9r0-KY4.mjs";
|
|
3
|
-
import { Fn as signalRegistry, nt as shaderStore, wt as AudioSignalComputePipeline } from "./dist-
|
|
3
|
+
import { Fn as signalRegistry, nt as shaderStore, wt as AudioSignalComputePipeline } from "./dist-Bf0H4lp1.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-BbLkcJTN.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers-CP8CFWDs-
|
|
1
|
+
{"version":3,"file":"renderers-CP8CFWDs-BbLkcJTN.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-D7gtBK74.mjs";
|
|
2
|
-
import { $a as
|
|
3
|
-
import "../renderer-
|
|
4
|
-
import "../renderer-
|
|
5
|
-
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-
|
|
6
|
-
import { i as _default, n as AudioSignalOptions, r as ExtractedAudioSignalsBundle, t as AudioSignal } from "../audio-
|
|
2
|
+
import { $a as SignalValue, Ba as Signal, D as SignalRegistry, Gs as sineSignal, Ho as cosineSignal, O as SignalRegistryResource, Oi as FrameSignal, P as buildWGSLSignalFn, Us as signal, Vo as computed, Wa as SignalContext, Ws as signalBuilder, eo as SineSignalOptions, h as MasterAudioEntry, q as signalRegistry, s as AudioSignalComputePipeline } from "../index-CZK6CFLy.mjs";
|
|
3
|
+
import "../renderer-92IAZzBU.mjs";
|
|
4
|
+
import "../renderer-CE9N4EEI.mjs";
|
|
5
|
+
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-CfMylY3O.mjs";
|
|
6
|
+
import { i as _default, n as AudioSignalOptions, r as ExtractedAudioSignalsBundle, t as AudioSignal } from "../audio-2ew5y0Bl.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-D7gtBK74.mjs";
|
|
2
|
-
import { H as Signal, _n as sineSignal, gn as signalBuilder, hn as signal, mt as cosineSignal, pt as computed } from "../dist-
|
|
3
|
-
import { Fn as signalRegistry, Ht as SignalRegistry, dn as buildWGSLSignalFn, wt as AudioSignalComputePipeline } from "../dist-
|
|
4
|
-
import "../renderers-CP8CFWDs-
|
|
5
|
-
import { i as dist_exports, n as dist_exports$1, r as dist_exports$3, t as dist_exports$2 } from "../signals-
|
|
6
|
-
import { t as renderers_default } from "../renderer-
|
|
2
|
+
import { H as Signal, _n as sineSignal, gn as signalBuilder, hn as signal, mt as cosineSignal, pt as computed } from "../dist-D021IFfp.mjs";
|
|
3
|
+
import { Fn as signalRegistry, Ht as SignalRegistry, dn as buildWGSLSignalFn, wt as AudioSignalComputePipeline } from "../dist-Bf0H4lp1.mjs";
|
|
4
|
+
import "../renderers-CP8CFWDs-BbLkcJTN.mjs";
|
|
5
|
+
import { i as dist_exports, n as dist_exports$1, r as dist_exports$3, t as dist_exports$2 } from "../signals-BrNF9l9s.mjs";
|
|
6
|
+
import { t as renderers_default } from "../renderer-DTXAa2pL.mjs";
|
|
7
7
|
import "../renderer-nLPfvY3-.mjs";
|
|
8
|
-
import { t as AudioSignal } from "../audio-
|
|
8
|
+
import { t as AudioSignal } from "../audio-DrUskzwZ.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 };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __exportAll } from "./chunk-D7gtBK74.mjs";
|
|
2
|
-
import { I as MultiOutputGenericSchema, W as SignalDataSchema, ht as createOutputItemSchema } from "./dist-
|
|
3
|
-
import { r as SignalResultSchema } from "./dist-
|
|
2
|
+
import { I as MultiOutputGenericSchema, W as SignalDataSchema, ht as createOutputItemSchema } from "./dist-D021IFfp.mjs";
|
|
3
|
+
import { r as SignalResultSchema } from "./dist-BPOi5xb_.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
|
|
6
6
|
//#region ../../nodes/node-audio-signal-extractor/dist/index.mjs
|
|
@@ -221,4 +221,4 @@ const SignalMathResultSchema = MultiOutputGenericSchema(createOutputItemSchema(z
|
|
|
221
221
|
|
|
222
222
|
//#endregion
|
|
223
223
|
export { dist_exports$3 as i, dist_exports$1 as n, dist_exports$2 as r, dist_exports as t };
|
|
224
|
-
//# sourceMappingURL=signals-
|
|
224
|
+
//# sourceMappingURL=signals-BrNF9l9s.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signals-Cf9mfNGE.mjs","names":[],"sources":["../../../nodes/node-audio-signal-extractor/dist/index.mjs","../../../nodes/node-signal/dist/index.mjs","../../../nodes/node-signal-gate/dist/index.mjs","../../../nodes/node-signal-math/dist/index.mjs"],"sourcesContent":["import \"./renderers-CP8CFWDs.mjs\";\nimport { MultiOutputGenericSchema, createOutputItemSchema } from \"@framefields/node-sdk\";\nimport { z } from \"zod\";\n\n//#region src/shared/config.ts\nconst ExtractionModeEnum = z.enum([\n\t\"rms_envelope\",\n\t\"transient_beat\",\n\t\"sub_bass\",\n\t\"bass\",\n\t\"mid\",\n\t\"high\",\n\t\"spectral_flux\"\n]);\nconst SignalCurveEnum = z.enum([\n\t\"linear\",\n\t\"exponential\",\n\t\"logarithmic\",\n\t\"square\",\n\t\"smoothstep\"\n]);\nconst AudioSignalExtractorConfigSchema = z.object({\n\textractionMode: ExtractionModeEnum.default(\"rms_envelope\"),\n\tattackMs: z.number().min(.5).max(1e3).default(10),\n\treleaseMs: z.number().min(1).max(5e3).default(120),\n\tsensitivity: z.number().min(.1).max(10).default(1),\n\tnoiseFloorDb: z.number().min(-90).max(0).default(-48),\n\tdynamicRangeDb: z.number().min(6).max(80).default(48),\n\tautoRange: z.boolean().default(true),\n\tsmoothing: z.number().min(0).max(1).default(.15),\n\tcurve: SignalCurveEnum.default(\"linear\"),\n\tbeatThreshold: z.number().min(.01).max(1).default(.08),\n\tbeatDecayMs: z.number().min(10).max(1e3).default(80),\n\tpreviewMode: z.enum([\n\t\t\"waveform\",\n\t\t\"envelope\",\n\t\t\"beat_markers\",\n\t\t\"spectrum\"\n\t]).default(\"envelope\")\n});\nconst AudioSignalExtractorResultSchema = MultiOutputGenericSchema(createOutputItemSchema(z.literal(\"Signal\"), z.any()));\n\n//#endregion\nexport { AudioSignalExtractorConfigSchema, AudioSignalExtractorResultSchema, ExtractionModeEnum, SignalCurveEnum };\n//# sourceMappingURL=index.mjs.map","import { SignalResultSchema } from \"@framefields/node-sdk\";\nimport { z } from \"zod\";\n\n//#region src/shared/config.ts\nconst WGSL_OUTPUT_TYPES = [\"f32\"];\nconst WGSL_PARAM_TYPES = [\n\t\"f32\",\n\t\"i32\",\n\t\"u32\",\n\t\"vec2f\",\n\t\"vec3f\",\n\t\"vec4f\"\n];\nconst FnParamSchema = z.object({\n\tname: z.string().regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/, \"Must be a valid WGSL identifier\"),\n\ttype: z.enum(WGSL_PARAM_TYPES),\n\tdefaultValue: z.number()\n});\nconst SignalNodeConfigSchema = z.object({\n\tamplitude: z.number().min(0).default(1),\n\tfrequency: z.number().min(0).default(1),\n\tphase: z.number().min(-2 * Math.PI).max(2 * Math.PI).default(0),\n\toffset: z.number().default(0),\n\tamplitudeMin: z.number().default(-1),\n\tamplitudeMax: z.number().default(1),\n\tspatialScale: z.number().min(0).default(1),\n\tspatialSpeed: z.number().default(1),\n\tfmAmplitude: z.number().min(0).default(1),\n\tfmFrequency: z.number().min(0).default(.5),\n\tgateEnabled: z.boolean().default(false),\n\tgateStartFrame: z.number().int().min(0).default(0),\n\tgateEndFrame: z.number().int().min(0).default(100),\n\tgateIdleValue: z.number().default(0),\n\tenvelopeUseFrame: z.boolean().default(true),\n\tbaseEnabled: z.boolean().default(true),\n\tbaseType: z.enum([\n\t\t\"sine\",\n\t\t\"triangle\",\n\t\t\"sawtooth\",\n\t\t\"square\",\n\t\t\"constant\",\n\t\t\"noise_smooth\",\n\t\t\"noise_white\",\n\t\t\"pulse\",\n\t\t\"bounce\",\n\t\t\"staircase\",\n\t\t\"custom\"\n\t]).default(\"sine\"),\n\tfmEnabled: z.boolean().default(false),\n\tenvelopeEnabled: z.boolean().default(false),\n\tenvelopeFamily: z.enum([\n\t\t\"linear\",\n\t\t\"sine\",\n\t\t\"quad\",\n\t\t\"cubic\",\n\t\t\"quart\",\n\t\t\"quint\",\n\t\t\"expo\",\n\t\t\"circ\",\n\t\t\"back\",\n\t\t\"elastic\",\n\t\t\"bounce\",\n\t\t\"smoothstep\",\n\t\t\"smootherstep\"\n\t]).default(\"sine\"),\n\tenvelopeMode: z.enum([\n\t\t\"in\",\n\t\t\"out\",\n\t\t\"in_out\"\n\t]).default(\"in_out\"),\n\tenvelopePattern: z.enum([\n\t\t\"ramp_up\",\n\t\t\"ramp_down\",\n\t\t\"bell\",\n\t\t\"loop\"\n\t]).default(\"ramp_up\"),\n\tenvelopeCycles: z.number().int().min(1).default(2),\n\tfnBody: z.string().default([\n\t\t\"// Bindings: t: f32 | x y z: f32 | i n frame: u32\",\n\t\t\"// Constants: PI, TAU, E\",\n\t\t\"return u.amplitude * sin(t * u.frequency * TAU + u.phase) + u.offset;\"\n\t].join(\"\\n\")),\n\tfnOutputType: z.enum(WGSL_OUTPUT_TYPES).default(\"f32\"),\n\tfnParams: z.array(FnParamSchema).default([]),\n\tpreviewMode: z.enum([\n\t\t\"pattern\",\n\t\t\"cartesian\",\n\t\t\"3d\"\n\t]).default(\"cartesian\")\n}).superRefine((data, ctx) => {\n\tif (data.amplitudeMax <= data.amplitudeMin) ctx.addIssue({\n\t\tcode: z.ZodIssueCode.custom,\n\t\tpath: [\"amplitudeMax\"],\n\t\tmessage: \"amplitudeMax must be greater than amplitudeMin\"\n\t});\n\tif (data.gateEndFrame <= data.gateStartFrame) ctx.addIssue({\n\t\tcode: z.ZodIssueCode.custom,\n\t\tpath: [\"gateEndFrame\"],\n\t\tmessage: \"gateEndFrame must be greater than gateStartFrame\"\n\t});\n});\n\n//#endregion\nexport { FnParamSchema, SignalNodeConfigSchema, SignalResultSchema, WGSL_OUTPUT_TYPES, WGSL_PARAM_TYPES };\n//# sourceMappingURL=index.mjs.map","import \"./renderer.mjs\";\nimport { SignalDataSchema } from \"@framefields/core\";\nimport { MultiOutputGenericSchema, createOutputItemSchema } from \"@framefields/node-sdk\";\nimport { z } from \"zod\";\n\n//#region src/shared/config.ts\nconst GateModeSchema = z.enum([\n\t\"gate\",\n\t\"trigger\",\n\t\"toggle\"\n]);\nconst SignalGateConfigSchema = z.object({\n\tthreshold: z.number().min(0).max(1).default(.5),\n\tdebounceMs: z.number().min(0).max(5e3).default(100),\n\tmode: GateModeSchema.default(\"gate\"),\n\tholdFrames: z.number().min(1).max(120).default(4),\n\tinvert: z.boolean().default(false)\n});\nconst SignalGateResultSchema = MultiOutputGenericSchema(createOutputItemSchema(z.literal(\"Signal\"), SignalDataSchema));\n\n//#endregion\nexport { GateModeSchema, SignalGateConfigSchema, SignalGateResultSchema };\n//# sourceMappingURL=index.mjs.map","import { MultiOutputGenericSchema, createOutputItemSchema } from \"@framefields/node-sdk\";\nimport { z } from \"zod\";\n\n//#region src/shared/config.ts\nconst SignalMathOperationEnum = z.enum([\n\t\"remap\",\n\t\"normalize\",\n\t\"add\",\n\t\"subtract\",\n\t\"multiply\",\n\t\"divide\",\n\t\"invert\",\n\t\"clamp\",\n\t\"power\",\n\t\"smoothstep\",\n\t\"custom\"\n]);\nconst SignalMathConfigSchema = z.object({\n\toperation: SignalMathOperationEnum.default(\"remap\"),\n\tbValue: z.number().default(1),\n\tinMin: z.number().default(0),\n\tinMax: z.number().default(1),\n\toutMin: z.number().default(0),\n\toutMax: z.number().default(1),\n\tclampMin: z.number().default(0),\n\tclampMax: z.number().default(1),\n\texponent: z.number().default(2),\n\tedge0: z.number().default(0),\n\tedge1: z.number().default(1),\n\tcustomWGSL: z.string().default([\n\t\t\"// Variables in scope:\",\n\t\t\"// a: f32 (Signal A)\",\n\t\t\"// b: f32 (Signal B or uniform bValue)\",\n\t\t\"// a_min: f32, a_max: f32 (Signal A min/max stats)\",\n\t\t\"// t: f32 (seconds), t_norm: f32 [0..1], frame: u32\",\n\t\t\"// Constants: PI, TAU, E\",\n\t\t\"return a;\"\n\t].join(\"\\n\"))\n});\nconst SignalMathResultSchema = MultiOutputGenericSchema(createOutputItemSchema(z.literal(\"Signal\"), z.record(z.string(), z.unknown())));\n\n//#endregion\nexport { SignalMathConfigSchema, SignalMathOperationEnum, SignalMathResultSchema };\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"signals-BrNF9l9s.mjs","names":[],"sources":["../../../nodes/node-audio-signal-extractor/dist/index.mjs","../../../nodes/node-signal/dist/index.mjs","../../../nodes/node-signal-gate/dist/index.mjs","../../../nodes/node-signal-math/dist/index.mjs"],"sourcesContent":["import \"./renderers-CP8CFWDs.mjs\";\nimport { MultiOutputGenericSchema, createOutputItemSchema } from \"@framefields/node-sdk\";\nimport { z } from \"zod\";\n\n//#region src/shared/config.ts\nconst ExtractionModeEnum = z.enum([\n\t\"rms_envelope\",\n\t\"transient_beat\",\n\t\"sub_bass\",\n\t\"bass\",\n\t\"mid\",\n\t\"high\",\n\t\"spectral_flux\"\n]);\nconst SignalCurveEnum = z.enum([\n\t\"linear\",\n\t\"exponential\",\n\t\"logarithmic\",\n\t\"square\",\n\t\"smoothstep\"\n]);\nconst AudioSignalExtractorConfigSchema = z.object({\n\textractionMode: ExtractionModeEnum.default(\"rms_envelope\"),\n\tattackMs: z.number().min(.5).max(1e3).default(10),\n\treleaseMs: z.number().min(1).max(5e3).default(120),\n\tsensitivity: z.number().min(.1).max(10).default(1),\n\tnoiseFloorDb: z.number().min(-90).max(0).default(-48),\n\tdynamicRangeDb: z.number().min(6).max(80).default(48),\n\tautoRange: z.boolean().default(true),\n\tsmoothing: z.number().min(0).max(1).default(.15),\n\tcurve: SignalCurveEnum.default(\"linear\"),\n\tbeatThreshold: z.number().min(.01).max(1).default(.08),\n\tbeatDecayMs: z.number().min(10).max(1e3).default(80),\n\tpreviewMode: z.enum([\n\t\t\"waveform\",\n\t\t\"envelope\",\n\t\t\"beat_markers\",\n\t\t\"spectrum\"\n\t]).default(\"envelope\")\n});\nconst AudioSignalExtractorResultSchema = MultiOutputGenericSchema(createOutputItemSchema(z.literal(\"Signal\"), z.any()));\n\n//#endregion\nexport { AudioSignalExtractorConfigSchema, AudioSignalExtractorResultSchema, ExtractionModeEnum, SignalCurveEnum };\n//# sourceMappingURL=index.mjs.map","import { SignalResultSchema } from \"@framefields/node-sdk\";\nimport { z } from \"zod\";\n\n//#region src/shared/config.ts\nconst WGSL_OUTPUT_TYPES = [\"f32\"];\nconst WGSL_PARAM_TYPES = [\n\t\"f32\",\n\t\"i32\",\n\t\"u32\",\n\t\"vec2f\",\n\t\"vec3f\",\n\t\"vec4f\"\n];\nconst FnParamSchema = z.object({\n\tname: z.string().regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/, \"Must be a valid WGSL identifier\"),\n\ttype: z.enum(WGSL_PARAM_TYPES),\n\tdefaultValue: z.number()\n});\nconst SignalNodeConfigSchema = z.object({\n\tamplitude: z.number().min(0).default(1),\n\tfrequency: z.number().min(0).default(1),\n\tphase: z.number().min(-2 * Math.PI).max(2 * Math.PI).default(0),\n\toffset: z.number().default(0),\n\tamplitudeMin: z.number().default(-1),\n\tamplitudeMax: z.number().default(1),\n\tspatialScale: z.number().min(0).default(1),\n\tspatialSpeed: z.number().default(1),\n\tfmAmplitude: z.number().min(0).default(1),\n\tfmFrequency: z.number().min(0).default(.5),\n\tgateEnabled: z.boolean().default(false),\n\tgateStartFrame: z.number().int().min(0).default(0),\n\tgateEndFrame: z.number().int().min(0).default(100),\n\tgateIdleValue: z.number().default(0),\n\tenvelopeUseFrame: z.boolean().default(true),\n\tbaseEnabled: z.boolean().default(true),\n\tbaseType: z.enum([\n\t\t\"sine\",\n\t\t\"triangle\",\n\t\t\"sawtooth\",\n\t\t\"square\",\n\t\t\"constant\",\n\t\t\"noise_smooth\",\n\t\t\"noise_white\",\n\t\t\"pulse\",\n\t\t\"bounce\",\n\t\t\"staircase\",\n\t\t\"custom\"\n\t]).default(\"sine\"),\n\tfmEnabled: z.boolean().default(false),\n\tenvelopeEnabled: z.boolean().default(false),\n\tenvelopeFamily: z.enum([\n\t\t\"linear\",\n\t\t\"sine\",\n\t\t\"quad\",\n\t\t\"cubic\",\n\t\t\"quart\",\n\t\t\"quint\",\n\t\t\"expo\",\n\t\t\"circ\",\n\t\t\"back\",\n\t\t\"elastic\",\n\t\t\"bounce\",\n\t\t\"smoothstep\",\n\t\t\"smootherstep\"\n\t]).default(\"sine\"),\n\tenvelopeMode: z.enum([\n\t\t\"in\",\n\t\t\"out\",\n\t\t\"in_out\"\n\t]).default(\"in_out\"),\n\tenvelopePattern: z.enum([\n\t\t\"ramp_up\",\n\t\t\"ramp_down\",\n\t\t\"bell\",\n\t\t\"loop\"\n\t]).default(\"ramp_up\"),\n\tenvelopeCycles: z.number().int().min(1).default(2),\n\tfnBody: z.string().default([\n\t\t\"// Bindings: t: f32 | x y z: f32 | i n frame: u32\",\n\t\t\"// Constants: PI, TAU, E\",\n\t\t\"return u.amplitude * sin(t * u.frequency * TAU + u.phase) + u.offset;\"\n\t].join(\"\\n\")),\n\tfnOutputType: z.enum(WGSL_OUTPUT_TYPES).default(\"f32\"),\n\tfnParams: z.array(FnParamSchema).default([]),\n\tpreviewMode: z.enum([\n\t\t\"pattern\",\n\t\t\"cartesian\",\n\t\t\"3d\"\n\t]).default(\"cartesian\")\n}).superRefine((data, ctx) => {\n\tif (data.amplitudeMax <= data.amplitudeMin) ctx.addIssue({\n\t\tcode: z.ZodIssueCode.custom,\n\t\tpath: [\"amplitudeMax\"],\n\t\tmessage: \"amplitudeMax must be greater than amplitudeMin\"\n\t});\n\tif (data.gateEndFrame <= data.gateStartFrame) ctx.addIssue({\n\t\tcode: z.ZodIssueCode.custom,\n\t\tpath: [\"gateEndFrame\"],\n\t\tmessage: \"gateEndFrame must be greater than gateStartFrame\"\n\t});\n});\n\n//#endregion\nexport { FnParamSchema, SignalNodeConfigSchema, SignalResultSchema, WGSL_OUTPUT_TYPES, WGSL_PARAM_TYPES };\n//# sourceMappingURL=index.mjs.map","import \"./renderer.mjs\";\nimport { SignalDataSchema } from \"@framefields/core\";\nimport { MultiOutputGenericSchema, createOutputItemSchema } from \"@framefields/node-sdk\";\nimport { z } from \"zod\";\n\n//#region src/shared/config.ts\nconst GateModeSchema = z.enum([\n\t\"gate\",\n\t\"trigger\",\n\t\"toggle\"\n]);\nconst SignalGateConfigSchema = z.object({\n\tthreshold: z.number().min(0).max(1).default(.5),\n\tdebounceMs: z.number().min(0).max(5e3).default(100),\n\tmode: GateModeSchema.default(\"gate\"),\n\tholdFrames: z.number().min(1).max(120).default(4),\n\tinvert: z.boolean().default(false)\n});\nconst SignalGateResultSchema = MultiOutputGenericSchema(createOutputItemSchema(z.literal(\"Signal\"), SignalDataSchema));\n\n//#endregion\nexport { GateModeSchema, SignalGateConfigSchema, SignalGateResultSchema };\n//# sourceMappingURL=index.mjs.map","import { MultiOutputGenericSchema, createOutputItemSchema } from \"@framefields/node-sdk\";\nimport { z } from \"zod\";\n\n//#region src/shared/config.ts\nconst SignalMathOperationEnum = z.enum([\n\t\"remap\",\n\t\"normalize\",\n\t\"add\",\n\t\"subtract\",\n\t\"multiply\",\n\t\"divide\",\n\t\"invert\",\n\t\"clamp\",\n\t\"power\",\n\t\"smoothstep\",\n\t\"custom\"\n]);\nconst SignalMathConfigSchema = z.object({\n\toperation: SignalMathOperationEnum.default(\"remap\"),\n\tbValue: z.number().default(1),\n\tinMin: z.number().default(0),\n\tinMax: z.number().default(1),\n\toutMin: z.number().default(0),\n\toutMax: z.number().default(1),\n\tclampMin: z.number().default(0),\n\tclampMax: z.number().default(1),\n\texponent: z.number().default(2),\n\tedge0: z.number().default(0),\n\tedge1: z.number().default(1),\n\tcustomWGSL: z.string().default([\n\t\t\"// Variables in scope:\",\n\t\t\"// a: f32 (Signal A)\",\n\t\t\"// b: f32 (Signal B or uniform bValue)\",\n\t\t\"// a_min: f32, a_max: f32 (Signal A min/max stats)\",\n\t\t\"// t: f32 (seconds), t_norm: f32 [0..1], frame: u32\",\n\t\t\"// Constants: PI, TAU, E\",\n\t\t\"return a;\"\n\t].join(\"\\n\"))\n});\nconst SignalMathResultSchema = MultiOutputGenericSchema(createOutputItemSchema(z.literal(\"Signal\"), z.record(z.string(), z.unknown())));\n\n//#endregion\nexport { SignalMathConfigSchema, SignalMathOperationEnum, SignalMathResultSchema };\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { H as Signal, Tt as frameArraySignal, V as ProgrammaticSignal, gt as createVirtualMedia, lt as appendOperation, y as Effect$1 } from "./dist-
|
|
2
|
-
import { G as mediaDecoderCache, K as parseColor, M as generateExtrudedTextGeometry, P as getPrimitiveGeometry, R as inputStore, X as parseSvgPathToSegments, _ as buildShapeSvgPath, p as SlugFontCache } from "./dist-
|
|
3
|
-
import { n as decodeAudioSource } from "./dist-
|
|
4
|
-
import { t as FontManager } from "./fonts-
|
|
1
|
+
import { H as Signal, Tt as frameArraySignal, V as ProgrammaticSignal, gt as createVirtualMedia, lt as appendOperation, y as Effect$1 } from "./dist-D021IFfp.mjs";
|
|
2
|
+
import { G as mediaDecoderCache, K as parseColor, M as generateExtrudedTextGeometry, P as getPrimitiveGeometry, R as inputStore, X as parseSvgPathToSegments, _ as buildShapeSvgPath, p as SlugFontCache } from "./dist-Bf0H4lp1.mjs";
|
|
3
|
+
import { n as decodeAudioSource } from "./dist-DG65RDhc.mjs";
|
|
4
|
+
import { t as FontManager } from "./fonts-DqYgk_1a.mjs";
|
|
5
5
|
import { s as TensorPipeline } from "./dist-C_SMBmHr.mjs";
|
|
6
|
-
import { a as COCO17_KEYPOINT_NAMES, d as VisionNode, f as VisionRunner, g as pinNodeToObject, h as pinNodeToLandmark, m as mergeSubjectMask, n as CLIP_SUBJECT, p as analyzeSequence, u as VisionBundle } from "./renderer-
|
|
7
|
-
import { N as compositorToProgram, U as lintComposition, W as mergeAnimationTracks, d as LayerAnimation } from "./program-
|
|
8
|
-
import { C as effectFactories, H as Dither, I as ColorBalance, K as Iridescence, L as ColorKey, M as CRT, R as Contour, S as Vision, T as Ascii, Y as LayerStyle, _ as SelectiveColor, a as CustomEffect, at as Posterize, b as TileOffset, c as GradientMap, d as Levels, et as OpArt, f as Modulate, g as SSAO, h as Relight3D, ht as Vignette, i as Curves, it as Pixelate, l as HalftoneScreen, m as PBRGlass, nt as Painterly, o as DepthOfField, ot as ProceduralVFX, p as MotionBlur, pt as Toon, q as Kaleidoscope, r as Crop, s as FilmGrain, st as RGBSplit, t as ApplyLUT, u as HighPass, v as ShadowsHighlights, w as Blur, x as UnsharpMask, y as TemporalDeflicker } from "./effects-
|
|
9
|
-
import { a as HeadlessMediaRenderer, n as renderFrameGrid } from "./renderer-
|
|
6
|
+
import { a as COCO17_KEYPOINT_NAMES, d as VisionNode, f as VisionRunner, g as pinNodeToObject, h as pinNodeToLandmark, m as mergeSubjectMask, n as CLIP_SUBJECT, p as analyzeSequence, u as VisionBundle } from "./renderer-wIsJb2eO.mjs";
|
|
7
|
+
import { N as compositorToProgram, U as lintComposition, W as mergeAnimationTracks, d as LayerAnimation } from "./program-4mAVgg3c.mjs";
|
|
8
|
+
import { C as effectFactories, H as Dither, I as ColorBalance, K as Iridescence, L as ColorKey, M as CRT, R as Contour, S as Vision, T as Ascii, Y as LayerStyle, _ as SelectiveColor, a as CustomEffect, at as Posterize, b as TileOffset, c as GradientMap, d as Levels, et as OpArt, f as Modulate, g as SSAO, h as Relight3D, ht as Vignette, i as Curves, it as Pixelate, l as HalftoneScreen, m as PBRGlass, nt as Painterly, o as DepthOfField, ot as ProceduralVFX, p as MotionBlur, pt as Toon, q as Kaleidoscope, r as Crop, s as FilmGrain, st as RGBSplit, t as ApplyLUT, u as HighPass, v as ShadowsHighlights, w as Blur, x as UnsharpMask, y as TemporalDeflicker } from "./effects-Z-brb-n7.mjs";
|
|
9
|
+
import { a as HeadlessMediaRenderer, n as renderFrameGrid } from "./renderer-CvYxxS_X.mjs";
|
|
10
10
|
import { z, z as z$2 } from "zod";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import fs from "node:fs/promises";
|
|
@@ -8370,4 +8370,4 @@ const Effect = Object.assign(Effect$1, effectFactories, {
|
|
|
8370
8370
|
|
|
8371
8371
|
//#endregion
|
|
8372
8372
|
export { offsetCues as $, rich as $t, constantExpression as A, wobblePoints as At, enterAnimation as B, Layer3D as Bt, beats as C, toFrames as Ct, boxPath as D, typingFrames as Dt, boundsOf as E, transformPathData as Et, defineTheme as F, PhysicsWorld3D as Ft, frameSpan as G, accent as Gt, evaluateGlyphExpression as H, ClipVision as Ht, dist as I, PhysicsBody2D as It, hashString as J, color as Jt, glyphAnimator as K, bold as Kt, drawOnKeys as L, PhysicsWorld2D as Lt, cover as M, Styles as Mt, defineComponent as N, Physics as Nt, catmullRom as O, windowExpression as Ot, defineMeta as P, PhysicsBody3D as Pt, lineShift as Q, parseMarkup as Qt, ease as R, Lighting as Rt, basePropsSchema as S, themes as St, boilKeys as T, toSeconds as Tt, exitAnimation as U, PersonTrack as Ut, evaluateEase as V, Particles as Vt, findRange as W, DEFAULT_CHART_COLORS as Wt, lerp2 as X, mark as Xt, holdFirstKeys as Y, italic as Yt, linePath as Z, normalizeTextSpans as Zt, arrowPaths as _, stepExpression as _t, Media as a, FRAMEFIELDS_AI_PROXY_URL as an, resolveMotion as at, bakeSamples as b, textLayout as bt, section as c, scaleFrames as ct, analyzeAudio as d, springAt as dt, size as en, pulseKeys as et, MOTION_PRESETS as f, springKeys as ft, arcPath as g, staggerRanks as gt, anchorPoint as h, staggerOffsets as ht, Light as i, ApiError as in, resampleBands as it, contrastRatio as j, wordRanges as jt, chain as k, within as kt, bindComponent as l, scheduleExpression as lt, analyzeChannels as m, squigglePath as mt, Effect as n, sub as nn, rangeRects as nt, blurRegion as o, ValidationError as on, resolveTarget as ot, UNIT_INDEX as p, springSettleFrames as pt, hashRng as q, code as qt, Layer as r, sup as rn, rendererChars as rt, editTrackedRegion as s, ai as sn, rng as st, Composition as t, span as tn, quantize as tt, z$2 as u, smoothRelease as ut, audioLevelsSchema as v, targetPoint as vt, bind as w, toPathData as wt, bandEdges as x, themeFrames as xt, bakeFunction as y, targetSchema as yt, ellipsePath as z, Transition as zt };
|
|
8373
|
-
//# sourceMappingURL=src-
|
|
8373
|
+
//# sourceMappingURL=src-WAnxhDYD.mjs.map
|