framefields 2.9.3 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -2
- package/dist/audio/index.d.mts +5 -5
- package/dist/audio/index.mjs +13 -13
- package/dist/{audio-B6RmYOPe.mjs → audio-BuCVk1IQ.mjs} +32 -6
- package/dist/audio-BuCVk1IQ.mjs.map +1 -0
- package/dist/audio-CYZkDwae.d.mts +62 -0
- package/dist/audio-CYZkDwae.d.mts.map +1 -0
- package/dist/{audio-BlDbnteH.mjs → audio-KHBadECb.mjs} +1 -1
- package/dist/{audio-BlDbnteH.mjs.map → audio-KHBadECb.mjs.map} +1 -1
- package/dist/{check-result-Bj7g62ka.mjs → check-result-Culfu7Nx.mjs} +1 -1
- package/dist/{check-result-Bj7g62ka.mjs.map → check-result-Culfu7Nx.mjs.map} +1 -1
- package/dist/cli/check-worker.mjs +50 -50
- package/dist/cli.mjs +179 -3
- package/dist/cli.mjs.map +1 -1
- package/dist/cloud/index.d.mts +118 -0
- package/dist/cloud/index.d.mts.map +1 -0
- package/dist/cloud/index.mjs +3 -0
- package/dist/cloud-xcfV4J03.mjs +233 -0
- package/dist/cloud-xcfV4J03.mjs.map +1 -0
- package/dist/components/index.d.mts +14 -14
- package/dist/components/index.mjs +47 -47
- package/dist/{dist-Cn8bDsQF.mjs → dist-BIE8fvlv.mjs} +1 -1
- package/dist/{dist-Cn8bDsQF.mjs.map → dist-BIE8fvlv.mjs.map} +1 -1
- package/dist/{dist-ByxHoMQI.mjs → dist-Bf2_efYP.mjs} +1 -1
- package/dist/{dist-ByxHoMQI.mjs.map → dist-Bf2_efYP.mjs.map} +1 -1
- package/dist/{dist-BlulwErl.mjs → dist-CNGv-JTX.mjs} +1 -1
- package/dist/{dist-D12-a3-x.mjs → dist-CWLLnigL.mjs} +375 -15
- package/dist/dist-CWLLnigL.mjs.map +1 -0
- package/dist/{dist-DL1GwJvs.mjs → dist-CySGkG54.mjs} +2 -2
- package/dist/{dist-DL1GwJvs.mjs.map → dist-CySGkG54.mjs.map} +1 -1
- package/dist/{dist-Dq5TkNDI.mjs → dist-Dg9LMWoX.mjs} +2 -2
- package/dist/{dist-Dq5TkNDI.mjs.map → dist-Dg9LMWoX.mjs.map} +1 -1
- package/dist/{dist-DEUU6sNe.mjs → dist-EQX3TUUl.mjs} +4 -4
- package/dist/{dist-DEUU6sNe.mjs.map → dist-EQX3TUUl.mjs.map} +1 -1
- package/dist/effects/index.d.mts +6 -6
- package/dist/effects/index.mjs +36 -36
- package/dist/{effects-CViUoQSV.mjs → effects-DKLbLXF7.mjs} +3 -3
- package/dist/{effects-CViUoQSV.mjs.map → effects-DKLbLXF7.mjs.map} +1 -1
- package/dist/fonts/index.d.mts +1 -1
- package/dist/fonts/index.mjs +3 -3
- package/dist/{fonts-B0U2KO5I.mjs → fonts-gPbGbShD.mjs} +2 -2
- package/dist/{fonts-B0U2KO5I.mjs.map → fonts-gPbGbShD.mjs.map} +1 -1
- package/dist/{gpu-zFNrvhV9.mjs → gpu-CpkJJLQP.mjs} +2 -2
- package/dist/{gpu-zFNrvhV9.mjs.map → gpu-CpkJJLQP.mjs.map} +1 -1
- package/dist/{index-BuYtrhzL.d.mts → index-BW0Q1ygn.d.mts} +1 -1
- package/dist/{index-BuYtrhzL.d.mts.map → index-BW0Q1ygn.d.mts.map} +1 -1
- package/dist/{index-f4IF1vRH.d.mts → index-Bly-7YM1.d.mts} +3 -3
- package/dist/{index-f4IF1vRH.d.mts.map → index-Bly-7YM1.d.mts.map} +1 -1
- package/dist/{index-Bzo1uj8h.d.mts → index-BuiZzc6i.d.mts} +23 -3
- package/dist/index-BuiZzc6i.d.mts.map +1 -0
- package/dist/{index-DBhswLMO.d.mts → index-C8YwZ6k1.d.mts} +2 -2
- package/dist/{index-DBhswLMO.d.mts.map → index-C8YwZ6k1.d.mts.map} +1 -1
- package/dist/{index-svAgwTY_.d.mts → index-CEU_Zsb9.d.mts} +2 -2
- package/dist/{index-svAgwTY_.d.mts.map → index-CEU_Zsb9.d.mts.map} +1 -1
- package/dist/{index-9_4X2ro1.d.mts → index-COYNQ_mf.d.mts} +1 -1
- package/dist/{index-9_4X2ro1.d.mts.map → index-COYNQ_mf.d.mts.map} +1 -1
- package/dist/{index-CgGM31I9.d.mts → index-CdCrae-I.d.mts} +2 -2
- package/dist/{index-CgGM31I9.d.mts.map → index-CdCrae-I.d.mts.map} +1 -1
- package/dist/{index-B9Lm1x8i.d.mts → index-Cro-818i.d.mts} +297 -283
- package/dist/index-Cro-818i.d.mts.map +1 -0
- package/dist/{index-w28KUM9A.d.mts → index-D2i9J9Zq.d.mts} +3 -3
- package/dist/{index-w28KUM9A.d.mts.map → index-D2i9J9Zq.d.mts.map} +1 -1
- package/dist/{index-V0ZQ4JN6.d.mts → index-gOVtTm-P.d.mts} +125 -3
- package/dist/index-gOVtTm-P.d.mts.map +1 -0
- package/dist/{index-C6GcuYVA.d.mts → index-jSDEM-uE.d.mts} +5 -5
- package/dist/{index-C6GcuYVA.d.mts.map → index-jSDEM-uE.d.mts.map} +1 -1
- package/dist/index.d.mts +16 -16
- package/dist/index.mjs +59 -59
- package/dist/preview/index.d.mts +4 -4
- package/dist/preview/index.mjs +12 -12
- package/dist/{preview-ZKJ_zTmd.mjs → preview-BToKUTtZ.mjs} +3 -3
- package/dist/{preview-ZKJ_zTmd.mjs.map → preview-BToKUTtZ.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-VN36PRVD.mjs → chunk-26XWIHW3.mjs} +1 -1
- package/dist/preview-engine/{chunk-BVDWS3D2.mjs → chunk-4AGQN53P.mjs} +1 -1
- package/dist/preview-engine/{chunk-IB6GZJOL.mjs → chunk-54Q5CKSV.mjs} +1 -1
- package/dist/preview-engine/{chunk-Y5K5LVOR.mjs → chunk-5KSBS3AL.mjs} +1 -1
- package/dist/preview-engine/{chunk-ZJ5SWTCW.mjs → chunk-65NANVQL.mjs} +1 -1
- package/dist/preview-engine/{chunk-34RJ7GAS.mjs → chunk-6LTINEA4.mjs} +1 -1
- package/dist/preview-engine/{chunk-SPJPM43P.mjs → chunk-7GMHSTRP.mjs} +1 -1
- package/dist/preview-engine/{chunk-BEYA25UZ.mjs → chunk-ACBBBOUM.mjs} +1 -1
- package/dist/preview-engine/{chunk-7U34VKNO.mjs → chunk-BRV7TQDV.mjs} +1 -1
- package/dist/preview-engine/{chunk-KHJZMTOS.mjs → chunk-CCORQLMR.mjs} +1 -1
- package/dist/preview-engine/{chunk-5AWAOMBR.mjs → chunk-CIVEZJYF.mjs} +1 -1
- package/dist/preview-engine/{chunk-FKG27DVO.mjs → chunk-CIVJXFWH.mjs} +1 -1
- package/dist/preview-engine/{chunk-JIPMF42Z.mjs → chunk-D6LM7DTJ.mjs} +2 -2
- package/dist/preview-engine/{chunk-GA4HNR44.mjs → chunk-DNNGWS2C.mjs} +1 -1
- package/dist/preview-engine/{chunk-ZY47XIRK.mjs → chunk-EAWJXW4J.mjs} +1 -1
- package/dist/preview-engine/{chunk-6R3UJBL5.mjs → chunk-EPRINA4V.mjs} +1 -1
- package/dist/preview-engine/{chunk-GRJJVSOV.mjs → chunk-EXEO245X.mjs} +1 -1
- package/dist/preview-engine/{chunk-DVZITDQS.mjs → chunk-FQL4IJZN.mjs} +1 -1
- package/dist/preview-engine/{chunk-QCSVT73T.mjs → chunk-GHTG5XV6.mjs} +1 -1
- package/dist/preview-engine/{chunk-VVY4PG5E.mjs → chunk-GXFYRMJZ.mjs} +25 -25
- package/dist/preview-engine/{chunk-AHQCDTD6.mjs → chunk-IBPYV6HF.mjs} +1 -1
- package/dist/preview-engine/{chunk-PM2W4VLT.mjs → chunk-IKVJ4MW5.mjs} +1 -1
- package/dist/preview-engine/{chunk-GZWA5QJS.mjs → chunk-JDB7PMRI.mjs} +1 -1
- package/dist/preview-engine/{chunk-CC4NNNIY.mjs → chunk-KVOFO273.mjs} +1 -1
- package/dist/preview-engine/{chunk-RJIAES3X.mjs → chunk-LFNCWMKS.mjs} +1 -1
- package/dist/preview-engine/{chunk-FTCEG3SF.mjs → chunk-LMXMBX4J.mjs} +1 -1
- package/dist/preview-engine/{chunk-MIEH74UH.mjs → chunk-M4QANUJI.mjs} +1 -1
- package/dist/preview-engine/{chunk-VVE2QHVG.mjs → chunk-NOKPBMIP.mjs} +1 -1
- package/dist/preview-engine/{chunk-P5FKRQFU.mjs → chunk-O63FLYWC.mjs} +1 -1
- package/dist/preview-engine/chunk-OELPPLML.mjs +107 -0
- package/dist/preview-engine/{chunk-GIICZZQI.mjs → chunk-OLB4TQLQ.mjs} +1 -1
- package/dist/preview-engine/{chunk-CN2VLYLB.mjs → chunk-PKNUTHPI.mjs} +1 -1
- package/dist/preview-engine/{chunk-2B722GXM.mjs → chunk-QF4JWVO3.mjs} +1 -1
- package/dist/preview-engine/{chunk-EJJITH6U.mjs → chunk-RDWLLITE.mjs} +1 -1
- package/dist/preview-engine/{chunk-K3C6GUQD.mjs → chunk-SE2C623Z.mjs} +1 -1
- package/dist/preview-engine/{chunk-34DL53D5.mjs → chunk-TEWRQKX3.mjs} +1 -1
- package/dist/preview-engine/{chunk-H7BSN7V7.mjs → chunk-UGB6JKVS.mjs} +1 -1
- package/dist/preview-engine/{chunk-BJV2LBII.mjs → chunk-UI3VH33L.mjs} +1 -1
- package/dist/preview-engine/{chunk-UXYM2G6J.mjs → chunk-UMJ3VGKN.mjs} +1 -1
- package/dist/preview-engine/{chunk-2DWY7UBV.mjs → chunk-VFQH5KVS.mjs} +1 -1
- package/dist/preview-engine/{chunk-73CNXGAK.mjs → chunk-VQA4DYZU.mjs} +1 -1
- package/dist/preview-engine/{chunk-LVYVXVZO.mjs → chunk-VZLIRYAL.mjs} +1 -1
- package/dist/preview-engine/{chunk-4WYM72ZN.mjs → chunk-WFMUDL55.mjs} +1 -1
- package/dist/preview-engine/{chunk-Q62GPWGD.mjs → chunk-XF6DYP6B.mjs} +11 -11
- package/dist/preview-engine/{chunk-35HMRW4I.mjs → chunk-YHMBGJP6.mjs} +1 -1
- package/dist/preview-engine/{chunk-DMSZXG56.mjs → chunk-YKM7JDQY.mjs} +1 -1
- package/dist/preview-engine/{chunk-SF37HXAH.mjs → chunk-YVZTRH4Y.mjs} +1 -1
- package/dist/preview-engine/{chunk-TNJEZKXM.mjs → chunk-Z24UEN4P.mjs} +1 -1
- package/dist/preview-engine/{chunk-2PYTDN2C.mjs → chunk-ZF2MEFKO.mjs} +1 -1
- package/dist/preview-engine/{chunk-OH5W5EL6.mjs → chunk-ZIXPWP2B.mjs} +1 -1
- package/dist/preview-engine/components.mjs +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +1 -1
- package/dist/preview-engine/player.mjs +1 -1
- package/dist/preview-engine/renderers-2NGIILMI.mjs +1 -0
- package/dist/preview-engine/{renderers-5TO2SXFR.mjs → renderers-33FCFHDR.mjs} +1 -1
- package/dist/preview-engine/renderers-466Z77BH.mjs +1 -0
- package/dist/preview-engine/{renderers-PIIEUKFE.mjs → renderers-4IBFDW2S.mjs} +1 -1
- package/dist/preview-engine/renderers-4KRENGZA.mjs +1 -0
- package/dist/preview-engine/renderers-4W52BQEU.mjs +1 -0
- package/dist/preview-engine/{renderers-ZACSHGNZ.mjs → renderers-53EI26GL.mjs} +1 -1
- package/dist/preview-engine/renderers-55PRAS7G.mjs +1 -0
- package/dist/preview-engine/renderers-5LLYINHW.mjs +1 -0
- package/dist/preview-engine/{renderers-A24KZK2Q.mjs → renderers-5XLGCEOA.mjs} +1 -1
- package/dist/preview-engine/renderers-63N3Y2XO.mjs +1 -0
- package/dist/preview-engine/{renderers-V3AQO7AR.mjs → renderers-6LNDAO4B.mjs} +1 -1
- package/dist/preview-engine/renderers-6ROVFDIN.mjs +1 -0
- package/dist/preview-engine/{renderers-CUMVIVHI.mjs → renderers-6YVZUQOH.mjs} +1 -1
- package/dist/preview-engine/renderers-7CAHX35U.mjs +1 -0
- package/dist/preview-engine/renderers-A4RVLPMG.mjs +1 -0
- package/dist/preview-engine/renderers-A53P4J6O.mjs +1 -0
- package/dist/preview-engine/{renderers-WEYAHOBK.mjs → renderers-ACUJMDEK.mjs} +1 -1
- package/dist/preview-engine/renderers-AFJ3373L.mjs +1 -0
- package/dist/preview-engine/renderers-ATFWTA3U.mjs +1 -0
- package/dist/preview-engine/{renderers-TSBV4KPE.mjs → renderers-BOBVXYAA.mjs} +1 -1
- package/dist/preview-engine/renderers-BPYJXHBU.mjs +1 -0
- package/dist/preview-engine/{renderers-NCGH2WWJ.mjs → renderers-C7SI3NIE.mjs} +1 -1
- package/dist/preview-engine/{renderers-FSI5KNGZ.mjs → renderers-CCRZNGVK.mjs} +1 -1
- package/dist/preview-engine/{renderers-NUAI4TO5.mjs → renderers-CYJAVWHT.mjs} +1 -1
- package/dist/preview-engine/renderers-D3ZF7FXT.mjs +1 -0
- package/dist/preview-engine/renderers-D7YN6B4B.mjs +1 -0
- package/dist/preview-engine/renderers-DBLASKF5.mjs +1 -0
- package/dist/preview-engine/renderers-DC5ZYYHM.mjs +1 -0
- package/dist/preview-engine/{renderers-5UZ3YFBD.mjs → renderers-EN7LXJLG.mjs} +1 -1
- package/dist/preview-engine/{renderers-L6YDX6GS.mjs → renderers-FY2HOQCS.mjs} +1 -1
- package/dist/preview-engine/{renderers-6Z7DWAPH.mjs → renderers-GQM3KMV3.mjs} +1 -1
- package/dist/preview-engine/{renderers-QA2HKUJJ.mjs → renderers-H6PBHEYU.mjs} +1 -1
- package/dist/preview-engine/{renderers-MD3PRFZL.mjs → renderers-HKLCB4U6.mjs} +1 -1
- package/dist/preview-engine/{renderers-TGJSOKDY.mjs → renderers-HSFQIILN.mjs} +1 -1
- package/dist/preview-engine/{renderers-7C5RA3R5.mjs → renderers-I6QKZ7CH.mjs} +1 -1
- package/dist/preview-engine/renderers-J6ZEXW5L.mjs +1 -0
- package/dist/preview-engine/renderers-JV4MF46Q.mjs +1 -0
- package/dist/preview-engine/{renderers-SEIAUKJF.mjs → renderers-KCGK33Y2.mjs} +1 -1
- package/dist/preview-engine/renderers-KQKH4ZIX.mjs +1 -0
- package/dist/preview-engine/renderers-MEITHN4N.mjs +1 -0
- package/dist/preview-engine/renderers-MN3HSBTJ.mjs +1 -0
- package/dist/preview-engine/renderers-NTG3QGNH.mjs +1 -0
- package/dist/preview-engine/{renderers-KC6ZSKCW.mjs → renderers-OGOW3NA4.mjs} +1 -1
- package/dist/preview-engine/renderers-OU4SFMB2.mjs +1 -0
- package/dist/preview-engine/{renderers-ENMY4DKF.mjs → renderers-P2HORBZ6.mjs} +1 -1
- package/dist/preview-engine/renderers-P6TIBJIG.mjs +1 -0
- package/dist/preview-engine/renderers-POJWQ7L3.mjs +1 -0
- package/dist/preview-engine/renderers-RJ7S6VHD.mjs +1 -0
- package/dist/preview-engine/renderers-RJJAJZYN.mjs +1 -0
- package/dist/preview-engine/renderers-UEQ733VK.mjs +1 -0
- package/dist/preview-engine/{renderers-T74CQCEN.mjs → renderers-UG2C3C7T.mjs} +1 -1
- package/dist/preview-engine/renderers-ULO2AW2U.mjs +1 -0
- package/dist/preview-engine/renderers-UPVHGHCK.mjs +1 -0
- package/dist/preview-engine/renderers-UZHSNNIM.mjs +1 -0
- package/dist/preview-engine/renderers-V5KWZL2C.mjs +1 -0
- package/dist/preview-engine/{renderers-5KANN7XF.mjs → renderers-VIGZYJYX.mjs} +1 -1
- package/dist/preview-engine/{renderers-4F7WLQD5.mjs → renderers-VVP5WQOY.mjs} +1 -1
- package/dist/preview-engine/{renderers-7XHO6M3B.mjs → renderers-WL372W36.mjs} +1 -1
- package/dist/preview-engine/{renderers-U4M7ZCV4.mjs → renderers-WSABL3QO.mjs} +1 -1
- package/dist/preview-engine/{renderers-Y22VSOXF.mjs → renderers-X6CORAES.mjs} +1 -1
- package/dist/preview-engine/renderers-YMXKYOHQ.mjs +1 -0
- package/dist/preview-engine/renderers-YWDAZ2NZ.mjs +1 -0
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/{program-xjIwjKb6.mjs → program-Bc860ko5.mjs} +4 -4
- package/dist/{program-xjIwjKb6.mjs.map → program-Bc860ko5.mjs.map} +1 -1
- package/dist/registry/focus-zoom.json +9 -2
- package/dist/renderer/index.d.mts +4 -4
- package/dist/renderer/index.mjs +4 -4
- package/dist/renderer--Ymc_4XJ.mjs +5 -0
- package/dist/{renderer-Dee8ksIV.mjs → renderer-1uoKiILq.mjs} +3 -3
- package/dist/{renderer-Dee8ksIV.mjs.map → renderer-1uoKiILq.mjs.map} +1 -1
- package/dist/{renderer-CIB5L_C4.mjs → renderer-4ZUv3X1I.mjs} +5 -5
- package/dist/{renderer-CIB5L_C4.mjs.map → renderer-4ZUv3X1I.mjs.map} +1 -1
- package/dist/{renderer-BPYIqtNg.mjs → renderer-50JEMaVo.mjs} +5 -5
- package/dist/{renderer-BPYIqtNg.mjs.map → renderer-50JEMaVo.mjs.map} +1 -1
- package/dist/{renderer-BdbI_u9w.mjs → renderer-7ow5Acsg.mjs} +3 -3
- package/dist/{renderer-BdbI_u9w.mjs.map → renderer-7ow5Acsg.mjs.map} +1 -1
- package/dist/{renderer-B-inTgyb.d.mts → renderer-88C3QpKL.d.mts} +2 -2
- package/dist/{renderer-B-inTgyb.d.mts.map → renderer-88C3QpKL.d.mts.map} +1 -1
- package/dist/{renderer-DH7l5WFr.mjs → renderer-B-CMRUag.mjs} +4 -4
- package/dist/{renderer-DH7l5WFr.mjs.map → renderer-B-CMRUag.mjs.map} +1 -1
- package/dist/renderer-B-OdV-eq.mjs +5 -0
- package/dist/{renderer-NTCk1Srf.mjs → renderer-B1LD29TV.mjs} +3 -3
- package/dist/{renderer-NTCk1Srf.mjs.map → renderer-B1LD29TV.mjs.map} +1 -1
- package/dist/{renderer-ESkPj6pk.mjs → renderer-B1esRxGy.mjs} +4 -4
- package/dist/{renderer-ESkPj6pk.mjs.map → renderer-B1esRxGy.mjs.map} +1 -1
- package/dist/{renderer-g7fF2AYk.mjs → renderer-B3Dme2es.mjs} +5 -5
- package/dist/{renderer-g7fF2AYk.mjs.map → renderer-B3Dme2es.mjs.map} +1 -1
- package/dist/renderer-B65fwoA2.mjs +5 -0
- package/dist/{renderer-CDVb4OfJ.mjs → renderer-B6Oeahe_.mjs} +5 -5
- package/dist/{renderer-CDVb4OfJ.mjs.map → renderer-B6Oeahe_.mjs.map} +1 -1
- package/dist/renderer-B92Ahkcv.mjs +5 -0
- package/dist/renderer-B9z2AK31.mjs +5 -0
- package/dist/{renderer-BZmmekE8.mjs → renderer-BDZC3o3N.mjs} +4 -4
- package/dist/{renderer-BZmmekE8.mjs.map → renderer-BDZC3o3N.mjs.map} +1 -1
- package/dist/renderer-BIF3Dg3Z.mjs +5 -0
- package/dist/{renderer-C06U4c9k.mjs → renderer-BJ-7WRgO.mjs} +3 -3
- package/dist/{renderer-C06U4c9k.mjs.map → renderer-BJ-7WRgO.mjs.map} +1 -1
- package/dist/renderer-BJUVaIAT.mjs +5 -0
- package/dist/renderer-BKRDMbI-.mjs +5 -0
- package/dist/{renderer-HnSiwSW8.mjs → renderer-BNHcwxw9.mjs} +4 -4
- package/dist/{renderer-HnSiwSW8.mjs.map → renderer-BNHcwxw9.mjs.map} +1 -1
- package/dist/{renderer-B78W9uad.mjs → renderer-BNJ6Jk7-.mjs} +4 -4
- package/dist/{renderer-B78W9uad.mjs.map → renderer-BNJ6Jk7-.mjs.map} +1 -1
- package/dist/{renderer-BVql26Ay.mjs → renderer-BOrMBwQS.mjs} +2 -2
- package/dist/{renderer-BVql26Ay.mjs.map → renderer-BOrMBwQS.mjs.map} +1 -1
- package/dist/{renderer-Cl8r1LJe.mjs → renderer-BQetXCcZ.mjs} +4 -4
- package/dist/{renderer-Cl8r1LJe.mjs.map → renderer-BQetXCcZ.mjs.map} +1 -1
- package/dist/{renderer-C4yKI8MT.mjs → renderer-BSELd5vU.mjs} +3 -3
- package/dist/{renderer-C4yKI8MT.mjs.map → renderer-BSELd5vU.mjs.map} +1 -1
- package/dist/renderer-BSwhyVWa.mjs +5 -0
- package/dist/{renderer-CcJyD9Q5.mjs → renderer-BURhYcpA.mjs} +4 -4
- package/dist/{renderer-CcJyD9Q5.mjs.map → renderer-BURhYcpA.mjs.map} +1 -1
- package/dist/renderer-BUqSZn2X.mjs +5 -0
- package/dist/{renderer-DoPEPlbG.d.mts → renderer-BVKOQarx.d.mts} +3 -3
- package/dist/{renderer-DoPEPlbG.d.mts.map → renderer-BVKOQarx.d.mts.map} +1 -1
- package/dist/{renderer-CwVbHki6.mjs → renderer-BaIJIfJ6.mjs} +5 -5
- package/dist/{renderer-CwVbHki6.mjs.map → renderer-BaIJIfJ6.mjs.map} +1 -1
- package/dist/renderer-BbmvjqK9.mjs +3 -0
- package/dist/{renderer-Be5hfwSd.mjs → renderer-Bbxh4N8Y.mjs} +425 -115
- package/dist/renderer-Bbxh4N8Y.mjs.map +1 -0
- package/dist/{renderer-BG6bkKtY.mjs → renderer-Bf4-N7k7.mjs} +5 -5
- package/dist/{renderer-BG6bkKtY.mjs.map → renderer-Bf4-N7k7.mjs.map} +1 -1
- package/dist/{renderer-CpedZNEG.mjs → renderer-BhsrlGKp.mjs} +3 -3
- package/dist/{renderer-CpedZNEG.mjs.map → renderer-BhsrlGKp.mjs.map} +1 -1
- package/dist/{renderer-AUK_ZS3p.mjs → renderer-Bo7shNdU.mjs} +4 -4
- package/dist/{renderer-AUK_ZS3p.mjs.map → renderer-Bo7shNdU.mjs.map} +1 -1
- package/dist/renderer-Bpe4k_x6.mjs +5 -0
- package/dist/{renderer-BfbSvElt.mjs → renderer-BwrfKKqw.mjs} +4 -4
- package/dist/{renderer-BfbSvElt.mjs.map → renderer-BwrfKKqw.mjs.map} +1 -1
- package/dist/{renderer-CWLF6cAz.mjs → renderer-Bx14Wnxl.mjs} +3 -3
- package/dist/{renderer-CWLF6cAz.mjs.map → renderer-Bx14Wnxl.mjs.map} +1 -1
- package/dist/{renderer-CCFHnafT.mjs → renderer-Bxjb0HYU.mjs} +4 -4
- package/dist/{renderer-CCFHnafT.mjs.map → renderer-Bxjb0HYU.mjs.map} +1 -1
- package/dist/{renderer-5qJPGvVL.mjs → renderer-ByjaseAo.mjs} +5 -5
- package/dist/{renderer-5qJPGvVL.mjs.map → renderer-ByjaseAo.mjs.map} +1 -1
- package/dist/renderer-C1NjG0CJ.mjs +5 -0
- package/dist/renderer-C7Puyst9.mjs +5 -0
- package/dist/{renderer-CYX9vKZ-.mjs → renderer-C9BSXyrq.mjs} +4 -4
- package/dist/{renderer-CYX9vKZ-.mjs.map → renderer-C9BSXyrq.mjs.map} +1 -1
- package/dist/{renderer-CUBDxuxh.mjs → renderer-CAWnCsQc.mjs} +5 -5
- package/dist/{renderer-CUBDxuxh.mjs.map → renderer-CAWnCsQc.mjs.map} +1 -1
- package/dist/renderer-CGA_7320.mjs +5 -0
- package/dist/{renderer-CEfVvcw-.mjs → renderer-CLAvn9c6.mjs} +4 -4
- package/dist/{renderer-CEfVvcw-.mjs.map → renderer-CLAvn9c6.mjs.map} +1 -1
- package/dist/renderer-CLnFkXO7.mjs +5 -0
- package/dist/renderer-CMQIT1Kh.mjs +5 -0
- package/dist/{renderer-BYqrtBvd.mjs → renderer-COcKhouz.mjs} +5 -5
- package/dist/{renderer-BYqrtBvd.mjs.map → renderer-COcKhouz.mjs.map} +1 -1
- package/dist/renderer-CQ1rwjIh.mjs +5 -0
- package/dist/{renderer-US4GsamT.mjs → renderer-CR0mDPYY.mjs} +3 -3
- package/dist/renderer-CT8h0boY.mjs +5 -0
- package/dist/{renderer-VhkubIx_.mjs → renderer-CU8v-LxD.mjs} +5 -5
- package/dist/{renderer-VhkubIx_.mjs.map → renderer-CU8v-LxD.mjs.map} +1 -1
- package/dist/renderer-Cb0lszt3.mjs +5 -0
- package/dist/renderer-Ci7oLye9.mjs +5 -0
- package/dist/renderer-CjqXB3CZ.mjs +5 -0
- package/dist/{renderer-DIEmK57T.mjs → renderer-Co6UFbZB.mjs} +5 -5
- package/dist/{renderer-DIEmK57T.mjs.map → renderer-Co6UFbZB.mjs.map} +1 -1
- package/dist/renderer-CqTV04zQ.mjs +5 -0
- package/dist/{renderer-xDV2cCkX.mjs → renderer-CrR8Mpxq.mjs} +5 -5
- package/dist/{renderer-xDV2cCkX.mjs.map → renderer-CrR8Mpxq.mjs.map} +1 -1
- package/dist/renderer-CtWeRtHK.mjs +5 -0
- package/dist/{renderer-BRWjLiHX.mjs → renderer-CxGx1Lhi.mjs} +3 -3
- package/dist/{renderer-BRWjLiHX.mjs.map → renderer-CxGx1Lhi.mjs.map} +1 -1
- package/dist/{renderer-BQOeeXTr.mjs → renderer-Cz-n883J.mjs} +5 -5
- package/dist/{renderer-BQOeeXTr.mjs.map → renderer-Cz-n883J.mjs.map} +1 -1
- package/dist/renderer-CzolnwCo.mjs +5 -0
- package/dist/{renderer-sPI7aY6c.mjs → renderer-D-QVGphn.mjs} +4 -4
- package/dist/{renderer-sPI7aY6c.mjs.map → renderer-D-QVGphn.mjs.map} +1 -1
- package/dist/{renderer-C3tVrzyT.mjs → renderer-D06HxSXO.mjs} +3 -3
- package/dist/{renderer-CXLugAe8.mjs → renderer-D0aAZHC7.mjs} +4 -4
- package/dist/{renderer-CXLugAe8.mjs.map → renderer-D0aAZHC7.mjs.map} +1 -1
- package/dist/{renderer-mLlgfM7X.mjs → renderer-D4f8f66C.mjs} +4 -4
- package/dist/{renderer-mLlgfM7X.mjs.map → renderer-D4f8f66C.mjs.map} +1 -1
- package/dist/renderer-D6qhcx_C.mjs +5 -0
- package/dist/{renderer-C7MAqpIS.mjs → renderer-DAn9xiQT.mjs} +4 -4
- package/dist/{renderer-C7MAqpIS.mjs.map → renderer-DAn9xiQT.mjs.map} +1 -1
- package/dist/renderer-DDfEf0jt.mjs +5 -0
- package/dist/renderer-DDpa8ztp.mjs +5 -0
- package/dist/{renderer-DW7hbluw.mjs → renderer-DE9Jik9K.mjs} +3 -3
- package/dist/{renderer-DW7hbluw.mjs.map → renderer-DE9Jik9K.mjs.map} +1 -1
- package/dist/{renderer-C6st34I6.mjs → renderer-DFJWPqOJ.mjs} +3 -3
- package/dist/{renderer-C6st34I6.mjs.map → renderer-DFJWPqOJ.mjs.map} +1 -1
- package/dist/{renderer-D2TTDcgh.mjs → renderer-DLPhfwbR.mjs} +3 -3
- package/dist/{renderer-D2TTDcgh.mjs.map → renderer-DLPhfwbR.mjs.map} +1 -1
- package/dist/{renderer-D1VsqFf4.mjs → renderer-DOkbn1ot.mjs} +5 -5
- package/dist/{renderer-D1VsqFf4.mjs.map → renderer-DOkbn1ot.mjs.map} +1 -1
- package/dist/{renderer-BWMzjSgf.mjs → renderer-DaXQgGg3.mjs} +5 -5
- package/dist/{renderer-BWMzjSgf.mjs.map → renderer-DaXQgGg3.mjs.map} +1 -1
- package/dist/renderer-DbQBqzmx.mjs +5 -0
- package/dist/{renderer-DrWeb39d.mjs → renderer-DcvjSolU.mjs} +1 -1
- package/dist/{renderer-DrWeb39d.mjs.map → renderer-DcvjSolU.mjs.map} +1 -1
- package/dist/renderer-DfUcwMKa.mjs +5 -0
- package/dist/renderer-DgIjNANM.mjs +6 -0
- package/dist/{renderer-DOKHd37M.mjs → renderer-DgPn_SOC.mjs} +4 -4
- package/dist/{renderer-DOKHd37M.mjs.map → renderer-DgPn_SOC.mjs.map} +1 -1
- package/dist/{renderer-BgDLCCuq.mjs → renderer-DkqZmfm8.mjs} +5 -5
- package/dist/{renderer-BgDLCCuq.mjs.map → renderer-DkqZmfm8.mjs.map} +1 -1
- package/dist/{renderer-q4zMFfnY.mjs → renderer-Dpl6poqD.mjs} +2 -2
- package/dist/{renderer-q4zMFfnY.mjs.map → renderer-Dpl6poqD.mjs.map} +1 -1
- package/dist/renderer-Dsh6Tgu0.mjs +3 -0
- package/dist/renderer-DuIwR9GT.mjs +5 -0
- package/dist/renderer-Dv4u2c14.mjs +5 -0
- package/dist/{renderer-BJKzZwyn.mjs → renderer-DwK9jsER.mjs} +4 -4
- package/dist/{renderer-BJKzZwyn.mjs.map → renderer-DwK9jsER.mjs.map} +1 -1
- package/dist/{renderer-mQt-y49D.mjs → renderer-HDj9Zb-O.mjs} +5 -5
- package/dist/{renderer-mQt-y49D.mjs.map → renderer-HDj9Zb-O.mjs.map} +1 -1
- package/dist/renderer-IE1yu3lZ.mjs +5 -0
- package/dist/{renderer-B7kOF_Az.mjs → renderer-JHByuUNb.mjs} +3 -3
- package/dist/{renderer-B7kOF_Az.mjs.map → renderer-JHByuUNb.mjs.map} +1 -1
- package/dist/{renderer-B3IRvukr.mjs → renderer-KKk7myX1.mjs} +5 -5
- package/dist/{renderer-B3IRvukr.mjs.map → renderer-KKk7myX1.mjs.map} +1 -1
- package/dist/renderer-PY_wnEN0.mjs +5 -0
- package/dist/{renderer-BcO7LUla.mjs → renderer-Ros7XQg2.mjs} +3 -3
- package/dist/{renderer-BcO7LUla.mjs.map → renderer-Ros7XQg2.mjs.map} +1 -1
- package/dist/{renderer-bbaMOD4I.mjs → renderer-RvI3qRUI.mjs} +5 -5
- package/dist/{renderer-bbaMOD4I.mjs.map → renderer-RvI3qRUI.mjs.map} +1 -1
- package/dist/{renderer-CPTXJs0n.mjs → renderer-Rw87u1Cr.mjs} +6 -6
- package/dist/{renderer-CPTXJs0n.mjs.map → renderer-Rw87u1Cr.mjs.map} +1 -1
- package/dist/{renderer-Du-GnKLb.mjs → renderer-TKZCA0B9.mjs} +9 -9
- package/dist/{renderer-Du-GnKLb.mjs.map → renderer-TKZCA0B9.mjs.map} +1 -1
- package/dist/{renderer-C_2UDMEG.mjs → renderer-V4dhrf_h.mjs} +6 -6
- package/dist/{renderer-C_2UDMEG.mjs.map → renderer-V4dhrf_h.mjs.map} +1 -1
- package/dist/{renderer-eT7Gp7FS.mjs → renderer-_9gbYS-3.mjs} +5 -5
- package/dist/{renderer-eT7Gp7FS.mjs.map → renderer-_9gbYS-3.mjs.map} +1 -1
- package/dist/{renderer-IQ97z2rw.mjs → renderer-celhuAL7.mjs} +3 -3
- package/dist/{renderer-IQ97z2rw.mjs.map → renderer-celhuAL7.mjs.map} +1 -1
- package/dist/{renderer-DIqkhsLI.mjs → renderer-eMCTAa9e.mjs} +4 -4
- package/dist/{renderer-DIqkhsLI.mjs.map → renderer-eMCTAa9e.mjs.map} +1 -1
- package/dist/{renderer-B6TjJi1g.mjs → renderer-fs8f1QeE.mjs} +5 -5
- package/dist/{renderer-B6TjJi1g.mjs.map → renderer-fs8f1QeE.mjs.map} +1 -1
- package/dist/{renderer-BJQt0RiZ.mjs → renderer-fwKnV9zs.mjs} +5 -5
- package/dist/{renderer-BJQt0RiZ.mjs.map → renderer-fwKnV9zs.mjs.map} +1 -1
- package/dist/{renderer-F1D9ZJ8I.mjs → renderer-g_1t2je9.mjs} +3 -3
- package/dist/renderer-gv24VyzO.mjs +5 -0
- package/dist/{renderer-C3Iev6zu.mjs → renderer-h62QaJYz.mjs} +4 -4
- package/dist/{renderer-C3Iev6zu.mjs.map → renderer-h62QaJYz.mjs.map} +1 -1
- package/dist/{renderer-BNbMi9CI.mjs → renderer-jnAIhWn_.mjs} +5 -5
- package/dist/{renderer-BNbMi9CI.mjs.map → renderer-jnAIhWn_.mjs.map} +1 -1
- package/dist/{renderer-CyCtm0UV.mjs → renderer-lHNTgiOM.mjs} +3 -3
- package/dist/{renderer-CyCtm0UV.mjs.map → renderer-lHNTgiOM.mjs.map} +1 -1
- package/dist/renderer-nN6lPZf9.mjs +5 -0
- package/dist/{renderer-Dat8opUZ.mjs → renderer-o68mVeyk.mjs} +4 -4
- package/dist/{renderer-Dat8opUZ.mjs.map → renderer-o68mVeyk.mjs.map} +1 -1
- package/dist/{renderer-Dss7T71q.mjs → renderer-pNmI-A9o.mjs} +5 -5
- package/dist/{renderer-Dss7T71q.mjs.map → renderer-pNmI-A9o.mjs.map} +1 -1
- package/dist/{renderer-CbhnJi_8.mjs → renderer-q7q6k_cD.mjs} +4 -4
- package/dist/{renderer-CbhnJi_8.mjs.map → renderer-q7q6k_cD.mjs.map} +1 -1
- package/dist/{renderer-OsQRvOle.mjs → renderer-riIFosX6.mjs} +5 -5
- package/dist/{renderer-OsQRvOle.mjs.map → renderer-riIFosX6.mjs.map} +1 -1
- package/dist/{renderer-BMP_lYMk.mjs → renderer-sfqZK6L5.mjs} +4 -4
- package/dist/{renderer-BMP_lYMk.mjs.map → renderer-sfqZK6L5.mjs.map} +1 -1
- package/dist/{renderer-DEQeONTd.mjs → renderer-ynFRJh7G.mjs} +3 -3
- package/dist/{renderers-CP8CFWDs-BH1gUTYa.mjs → renderers-CP8CFWDs-DRoslK4F.mjs} +4 -4
- package/dist/{renderers-CP8CFWDs-BH1gUTYa.mjs.map → renderers-CP8CFWDs-DRoslK4F.mjs.map} +1 -1
- package/dist/sam/index.d.mts +3 -3
- package/dist/sam/index.mjs +1 -1
- package/dist/signals/index.d.mts +8 -8
- package/dist/signals/index.mjs +8 -8
- package/dist/{signals-gOd0Ui9B.mjs → signals-BfJ1aqpT.mjs} +4 -4
- package/dist/{signals-gOd0Ui9B.mjs.map → signals-BfJ1aqpT.mjs.map} +1 -1
- package/dist/{src-BU1VOWSk.mjs → src-BYp6r-cS.mjs} +11 -11
- package/dist/{src-BU1VOWSk.mjs.map → src-BYp6r-cS.mjs.map} +1 -1
- package/dist/{src-Bnr8DUC--DzkRGA62.mjs → src-Bnr8DUC--BRDqRF6I.mjs} +3 -3
- package/dist/{src-Bnr8DUC--DzkRGA62.mjs.map → src-Bnr8DUC--BRDqRF6I.mjs.map} +1 -1
- package/package.json +65 -59
- package/dist/audio-B6RmYOPe.mjs.map +0 -1
- package/dist/audio-D6tBMbHh.d.mts +0 -38
- package/dist/audio-D6tBMbHh.d.mts.map +0 -1
- package/dist/dist-D12-a3-x.mjs.map +0 -1
- package/dist/index-B9Lm1x8i.d.mts.map +0 -1
- package/dist/index-Bzo1uj8h.d.mts.map +0 -1
- package/dist/index-V0ZQ4JN6.d.mts.map +0 -1
- package/dist/preview-engine/chunk-S2ABWY5G.mjs +0 -1
- package/dist/preview-engine/renderers-3BOQOUEU.mjs +0 -1
- package/dist/preview-engine/renderers-3M2FESR2.mjs +0 -1
- package/dist/preview-engine/renderers-5XRKZHVT.mjs +0 -1
- package/dist/preview-engine/renderers-6LHIWKMZ.mjs +0 -1
- package/dist/preview-engine/renderers-A43VCJ7X.mjs +0 -1
- package/dist/preview-engine/renderers-AKY464RY.mjs +0 -1
- package/dist/preview-engine/renderers-C5UO6PL5.mjs +0 -1
- package/dist/preview-engine/renderers-C64QSZO4.mjs +0 -1
- package/dist/preview-engine/renderers-CIRCR6NG.mjs +0 -1
- package/dist/preview-engine/renderers-CIWOPETY.mjs +0 -1
- package/dist/preview-engine/renderers-CZEZCELP.mjs +0 -1
- package/dist/preview-engine/renderers-FSQMWHQM.mjs +0 -1
- package/dist/preview-engine/renderers-FZEW5C23.mjs +0 -1
- package/dist/preview-engine/renderers-HCET2IML.mjs +0 -1
- package/dist/preview-engine/renderers-IUOOC6K7.mjs +0 -1
- package/dist/preview-engine/renderers-KYYJLVIJ.mjs +0 -1
- package/dist/preview-engine/renderers-L4GE7WV3.mjs +0 -1
- package/dist/preview-engine/renderers-LRAFWKCO.mjs +0 -1
- package/dist/preview-engine/renderers-LU3XZWEB.mjs +0 -1
- package/dist/preview-engine/renderers-ND2WV4K3.mjs +0 -1
- package/dist/preview-engine/renderers-NJ5CWVVH.mjs +0 -1
- package/dist/preview-engine/renderers-NKXYPR3V.mjs +0 -1
- package/dist/preview-engine/renderers-NWR66CGK.mjs +0 -1
- package/dist/preview-engine/renderers-O22WTBRM.mjs +0 -1
- package/dist/preview-engine/renderers-PBBA7LQB.mjs +0 -1
- package/dist/preview-engine/renderers-Q6LJRZ7R.mjs +0 -1
- package/dist/preview-engine/renderers-RMEACSRL.mjs +0 -1
- package/dist/preview-engine/renderers-SP42LCSI.mjs +0 -1
- package/dist/preview-engine/renderers-T7SZA3BX.mjs +0 -1
- package/dist/preview-engine/renderers-VADTDAHD.mjs +0 -1
- package/dist/preview-engine/renderers-VNNWI5C3.mjs +0 -1
- package/dist/preview-engine/renderers-WZ75MLP3.mjs +0 -1
- package/dist/preview-engine/renderers-XB5R4UQA.mjs +0 -1
- package/dist/preview-engine/renderers-YBIUZDGQ.mjs +0 -1
- package/dist/preview-engine/renderers-YESJR4O7.mjs +0 -1
- package/dist/preview-engine/renderers-YKSRZRRT.mjs +0 -1
- package/dist/renderer-129U3pc9.mjs +0 -5
- package/dist/renderer-2phFTFxQ.mjs +0 -5
- package/dist/renderer-9muKpDeE.mjs +0 -5
- package/dist/renderer-B5Dhv6j9.mjs +0 -5
- package/dist/renderer-BBUgCS3C.mjs +0 -5
- package/dist/renderer-BKXM28Mx.mjs +0 -5
- package/dist/renderer-BKqm6xdf.mjs +0 -5
- package/dist/renderer-BMfMMf0R.mjs +0 -5
- package/dist/renderer-BPsjEnnl.mjs +0 -5
- package/dist/renderer-Be5hfwSd.mjs.map +0 -1
- package/dist/renderer-Bofr6f88.mjs +0 -6
- package/dist/renderer-BqoGcujR.mjs +0 -5
- package/dist/renderer-BvuBt2aH.mjs +0 -5
- package/dist/renderer-BxTgXHu1.mjs +0 -5
- package/dist/renderer-Bz2Rrz60.mjs +0 -5
- package/dist/renderer-CBjG8rjE.mjs +0 -5
- package/dist/renderer-CS2zyPyZ.mjs +0 -5
- package/dist/renderer-CXnbl_jR.mjs +0 -5
- package/dist/renderer-CaF9vod_.mjs +0 -5
- package/dist/renderer-CbSBH3lp.mjs +0 -5
- package/dist/renderer-CdjuGRbO.mjs +0 -5
- package/dist/renderer-CoLbxC13.mjs +0 -5
- package/dist/renderer-Cr9G0dXB.mjs +0 -5
- package/dist/renderer-D63l6_UC.mjs +0 -5
- package/dist/renderer-DCJqnzER.mjs +0 -5
- package/dist/renderer-DFBOR5J3.mjs +0 -5
- package/dist/renderer-DGAZSzw6.mjs +0 -5
- package/dist/renderer-DPLGk1Qk.mjs +0 -5
- package/dist/renderer-DTCUzByS.mjs +0 -5
- package/dist/renderer-DdGahYi1.mjs +0 -5
- package/dist/renderer-DhL4nNPk.mjs +0 -5
- package/dist/renderer-DkyTbiVz.mjs +0 -3
- package/dist/renderer-DnAZweRX.mjs +0 -5
- package/dist/renderer-DpisVnT2.mjs +0 -5
- package/dist/renderer-Ds7pAKnE.mjs +0 -3
- package/dist/renderer-DxZD5B54.mjs +0 -5
- package/dist/renderer-PMHOnbnA.mjs +0 -5
- package/dist/renderer-STufNpMx.mjs +0 -5
- package/dist/renderer-SdrgfCxH.mjs +0 -5
- /package/dist/{chunk-D8S17ehY.mjs → chunk-W71TSjRM.mjs} +0 -0
- /package/dist/{renderer-Cputd36d.mjs → renderer-B6rZUBwE.mjs} +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { C as sam3Run, E as validateSam3Prompts, S as sam3Revision, T as validateSam2Prompts, _ as sam3EncoderFiles, a as SAM_MODELS, b as sam3Position, c as Sam3MemoryBank, d as assertSamLicenseAccepted, f as decodeSam2Mask, g as sam3DenseDecoder, h as sam2Tokens, i as SAM_LICENSE_TERMS_URL, l as Sam3TextSelector, m as sam2Revision, n as SAM3_ENCODER, o as Sam2MemoryBank, p as ensureSamModelsRegistered, r as SAM_LICENSE, s as Sam2Tracker, t as SAM2_EXPORTS, u as Sam3Tracker, v as sam3Floats, w as sam3SupportGraphs, x as sam3Precision, y as sam3Mask } from "./dist-
|
|
1
|
+
import { C as sam3Run, E as validateSam3Prompts, S as sam3Revision, T as validateSam2Prompts, _ as sam3EncoderFiles, a as SAM_MODELS, b as sam3Position, c as Sam3MemoryBank, d as assertSamLicenseAccepted, f as decodeSam2Mask, g as sam3DenseDecoder, h as sam2Tokens, i as SAM_LICENSE_TERMS_URL, l as Sam3TextSelector, m as sam2Revision, n as SAM3_ENCODER, o as Sam2MemoryBank, p as ensureSamModelsRegistered, r as SAM_LICENSE, s as Sam2Tracker, t as SAM2_EXPORTS, u as Sam3Tracker, v as sam3Floats, w as sam3SupportGraphs, x as sam3Precision, y as sam3Mask } from "./dist-Dg9LMWoX.mjs";
|
|
2
2
|
|
|
3
3
|
export { SAM2_EXPORTS, SAM3_ENCODER, SAM_LICENSE, SAM_LICENSE_TERMS_URL, SAM_MODELS, Sam2MemoryBank, Sam2Tracker, Sam3MemoryBank, Sam3TextSelector, Sam3Tracker, assertSamLicenseAccepted, decodeSam2Mask, ensureSamModelsRegistered, sam2Revision, sam2Tokens, sam3DenseDecoder, sam3EncoderFiles, sam3Floats, sam3Mask, sam3Position, sam3Precision, sam3Revision, sam3Run, sam3SupportGraphs, validateSam2Prompts, validateSam3Prompts };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-
|
|
2
|
-
import { $t as limitGradientStops, Et as emojiPresentation, Ht as gradientStopsToOklab, Xt as isSignal, Zt as isValueSignal, dn as parseCssGradient, un as parseCssColor } from "./dist-
|
|
1
|
+
import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-W71TSjRM.mjs";
|
|
2
|
+
import { $t as limitGradientStops, Et as emojiPresentation, Ht as gradientStopsToOklab, Xt as isSignal, Zt as isValueSignal, dn as parseCssGradient, un as parseCssColor } from "./dist-Bf2_efYP.mjs";
|
|
3
3
|
import { ALL_FORMATS, AudioBufferSink, CanvasSink, FilePathSource, Input, UrlSource, VideoSampleSink } from "mediabunny";
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
import path from "node:path";
|
|
@@ -10,7 +10,7 @@ import { DotLottie } from "@lottiefiles/dotlottie-web";
|
|
|
10
10
|
import earcut from "earcut";
|
|
11
11
|
import { Path2D } from "skia-canvas";
|
|
12
12
|
|
|
13
|
-
//#region ../webgpu-renderers/dist/text-animations-
|
|
13
|
+
//#region ../webgpu-renderers/dist/text-animations-COSsiLBc.mjs
|
|
14
14
|
/**
|
|
15
15
|
* 1. Biquad IIR Filter Bank Compute Shader
|
|
16
16
|
* Applies resonant bandpass/lowpass/highpass filtering on PCM audio buffer.
|
|
@@ -293,6 +293,12 @@ fn main(@builtin(global_invocation_id) gid : vec3<u32>) {
|
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
295
|
`;
|
|
296
|
+
/** Averages every channel into one mono buffer for storage buffer upload. */
|
|
297
|
+
function downmixToMono(channels) {
|
|
298
|
+
const mono = new Float32Array(channels[0]?.length ?? 0);
|
|
299
|
+
for (const ch of channels) for (let i = 0; i < mono.length; i++) mono[i] += ch[i] / channels.length;
|
|
300
|
+
return mono;
|
|
301
|
+
}
|
|
296
302
|
function calculateBiquadBandpassCoeffs(sampleRate, centerFreq, Q) {
|
|
297
303
|
const w0 = 2 * Math.PI * centerFreq / sampleRate;
|
|
298
304
|
const alpha = Math.sin(w0) / (2 * Q);
|
|
@@ -363,18 +369,13 @@ var AudioSignalComputePipeline = class AudioSignalComputePipeline$1 {
|
|
|
363
369
|
* Processes raw PCM audio channels on the GPU and outputs extracted feature buffers and textures.
|
|
364
370
|
*/
|
|
365
371
|
static async extractFeatures(device, audioChannels, sampleRate, fps, config$1 = {}, targetWidth = 512) {
|
|
366
|
-
|
|
367
|
-
if (numChannels === 0 || audioChannels[0].length === 0) throw new Error("Empty audio buffer supplied to AudioSignalComputePipeline.");
|
|
372
|
+
if (audioChannels.length === 0 || audioChannels[0].length === 0) throw new Error("Empty audio buffer supplied to AudioSignalComputePipeline.");
|
|
368
373
|
const numAudioSamples = audioChannels[0].length;
|
|
369
374
|
const durationSec = numAudioSamples / sampleRate;
|
|
370
375
|
const numFrames = Math.max(1, Math.ceil(durationSec * fps));
|
|
371
376
|
const hopSize = Math.max(1, Math.round(sampleRate / fps));
|
|
372
377
|
const windowSize = Math.max(32, Math.round(hopSize * 2));
|
|
373
|
-
const monoPcm =
|
|
374
|
-
for (let c = 0; c < numChannels; c++) {
|
|
375
|
-
const ch = audioChannels[c];
|
|
376
|
-
for (let i = 0; i < numAudioSamples; i++) monoPcm[i] += ch[i] / numChannels;
|
|
377
|
-
}
|
|
378
|
+
const monoPcm = downmixToMono(audioChannels);
|
|
378
379
|
const rawAudioBuffer = device.createBuffer({
|
|
379
380
|
size: numAudioSamples * 4,
|
|
380
381
|
usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST,
|
|
@@ -26443,9 +26444,9 @@ async function drawSignalNode(ctx, encoder, pass, props) {
|
|
|
26443
26444
|
const elapsedTimeSec = elapsedMs / 1e3;
|
|
26444
26445
|
await signalRegistry.ensureAudioSourcesExtracted(ctx.device, config$1, fps, props.renderId);
|
|
26445
26446
|
const signalView = signalRegistry.getOrCreate2DTextureView(ctx.device, encoder, nodeId, elapsedTimeSec, durationSec, config$1, width, height, props.renderId, frame, fps);
|
|
26446
|
-
const pipelines = getDevicePipelines(ctx.device);
|
|
26447
|
+
const pipelines$1 = getDevicePipelines(ctx.device);
|
|
26447
26448
|
const cacheKey = `preview_${ctx.renderer.format}`;
|
|
26448
|
-
let pipeline = pipelines.get(cacheKey);
|
|
26449
|
+
let pipeline = pipelines$1.get(cacheKey);
|
|
26449
26450
|
if (!pipeline) {
|
|
26450
26451
|
const shaderModule = ctx.device.createShaderModule({
|
|
26451
26452
|
label: `signal_preview_static.wgsl`,
|
|
@@ -26465,7 +26466,7 @@ async function drawSignalNode(ctx, encoder, pass, props) {
|
|
|
26465
26466
|
},
|
|
26466
26467
|
primitive: { topology: "triangle-strip" }
|
|
26467
26468
|
});
|
|
26468
|
-
pipelines.set(cacheKey, pipeline);
|
|
26469
|
+
pipelines$1.set(cacheKey, pipeline);
|
|
26469
26470
|
}
|
|
26470
26471
|
let previewModeInt = 0;
|
|
26471
26472
|
if (!isMathNode && !isGateNode) {
|
|
@@ -40950,6 +40951,365 @@ struct VSOut {
|
|
|
40950
40951
|
return vec4<f32>(outRgb, outAlpha);
|
|
40951
40952
|
}
|
|
40952
40953
|
`;
|
|
40954
|
+
const MAX_PITCH_LAG = 2048;
|
|
40955
|
+
const PITCH_CANDIDATES = 8;
|
|
40956
|
+
const EMPTY_CANDIDATE = 2;
|
|
40957
|
+
/** Cost of switching between voiced and unvoiced from one frame to the next. */
|
|
40958
|
+
const VOICING_SWITCH_COST = .6;
|
|
40959
|
+
/** Extra cost of a dip that echoes a shorter candidate's period. */
|
|
40960
|
+
const SUBHARMONIC_COST = .5;
|
|
40961
|
+
/** How many times shallower the shorter dip may be and still explain a longer one. */
|
|
40962
|
+
const SUBHARMONIC_DEPTH_RATIO = 1.25;
|
|
40963
|
+
/** Relative lag error allowed when matching a period multiple. */
|
|
40964
|
+
const PERIOD_MULTIPLE_TOLERANCE = .03;
|
|
40965
|
+
/** Relative lag distance under which two local minima are one noisy dip. */
|
|
40966
|
+
const RIPPLE_MERGE = .03;
|
|
40967
|
+
const WORKGROUP_SIZE = 128;
|
|
40968
|
+
const MAX_GRID_X = 65535;
|
|
40969
|
+
const AUDIO_PITCH_CANDIDATES_SHADER = `
|
|
40970
|
+
struct PitchUniforms {
|
|
40971
|
+
sampleRate : f32,
|
|
40972
|
+
numSamples : u32,
|
|
40973
|
+
numFrames : u32,
|
|
40974
|
+
windowSize : u32,
|
|
40975
|
+
lagMin : u32,
|
|
40976
|
+
lagMax : u32,
|
|
40977
|
+
gridX : u32,
|
|
40978
|
+
fps : f32,
|
|
40979
|
+
};
|
|
40980
|
+
|
|
40981
|
+
const K : u32 = ${PITCH_CANDIDATES}u;
|
|
40982
|
+
const WG : u32 = ${WORKGROUP_SIZE}u;
|
|
40983
|
+
const EMPTY : f32 = ${EMPTY_CANDIDATE}.0f;
|
|
40984
|
+
const MERGE : f32 = ${RIPPLE_MERGE}f;
|
|
40985
|
+
|
|
40986
|
+
@group(0) @binding(0) var<uniform> u : PitchUniforms;
|
|
40987
|
+
@group(0) @binding(1) var<storage, read> pcm : array<f32>;
|
|
40988
|
+
@group(0) @binding(2) var<storage, read_write> candidates : array<vec2f>;
|
|
40989
|
+
|
|
40990
|
+
var<workgroup> yin : array<f32, ${MAX_PITCH_LAG + 1}>;
|
|
40991
|
+
|
|
40992
|
+
fn sampleAt(i : u32) -> f32 {
|
|
40993
|
+
if (i >= u.numSamples) { return 0.0f; }
|
|
40994
|
+
return pcm[i];
|
|
40995
|
+
}
|
|
40996
|
+
|
|
40997
|
+
// Keeps the K deepest dips sorted by value, shallowest last. A dip within
|
|
40998
|
+
// MERGE of an existing candidate's lag is the same broad dip: only the
|
|
40999
|
+
// deeper of the two survives.
|
|
41000
|
+
fn insertCandidate(lags : ptr<function, array<f32, K>>, vals : ptr<function, array<f32, K>>, lag : f32, val : f32) {
|
|
41001
|
+
var slot = K - 1u;
|
|
41002
|
+
for (var k = 0u; k < K; k = k + 1u) {
|
|
41003
|
+
if ((*vals)[k] < EMPTY && abs((*lags)[k] - lag) <= MERGE * lag) {
|
|
41004
|
+
if ((*vals)[k] <= val) { return; }
|
|
41005
|
+
slot = k;
|
|
41006
|
+
break;
|
|
41007
|
+
}
|
|
41008
|
+
}
|
|
41009
|
+
if ((*vals)[slot] <= val) { return; }
|
|
41010
|
+
var i = slot;
|
|
41011
|
+
loop {
|
|
41012
|
+
if (i == 0u || (*vals)[i - 1u] <= val) { break; }
|
|
41013
|
+
(*vals)[i] = (*vals)[i - 1u];
|
|
41014
|
+
(*lags)[i] = (*lags)[i - 1u];
|
|
41015
|
+
i = i - 1u;
|
|
41016
|
+
}
|
|
41017
|
+
(*vals)[i] = val;
|
|
41018
|
+
(*lags)[i] = lag;
|
|
41019
|
+
}
|
|
41020
|
+
|
|
41021
|
+
@compute @workgroup_size(${WORKGROUP_SIZE})
|
|
41022
|
+
fn main(@builtin(workgroup_id) wid : vec3<u32>, @builtin(local_invocation_index) lid : u32) {
|
|
41023
|
+
let frame = wid.x + wid.y * u.gridX;
|
|
41024
|
+
if (frame >= u.numFrames) { return; }
|
|
41025
|
+
|
|
41026
|
+
// Center the analysed span (window + longest lag) on the frame time.
|
|
41027
|
+
let span = u.windowSize + u.lagMax;
|
|
41028
|
+
let center = i32(round(f32(frame) * u.sampleRate / u.fps));
|
|
41029
|
+
let maxStart = max(i32(u.numSamples) - i32(span), 0);
|
|
41030
|
+
let start = u32(clamp(center - i32(span / 2u), 0, maxStart));
|
|
41031
|
+
|
|
41032
|
+
// YIN difference function, one lag per invocation per stride.
|
|
41033
|
+
for (var tau = lid; tau <= u.lagMax; tau = tau + WG) {
|
|
41034
|
+
var acc = 0.0f;
|
|
41035
|
+
for (var j = 0u; j < u.windowSize; j = j + 1u) {
|
|
41036
|
+
let d = sampleAt(start + j) - sampleAt(start + j + tau);
|
|
41037
|
+
acc = acc + d * d;
|
|
41038
|
+
}
|
|
41039
|
+
yin[tau] = acc;
|
|
41040
|
+
}
|
|
41041
|
+
workgroupBarrier();
|
|
41042
|
+
if (lid != 0u) { return; }
|
|
41043
|
+
|
|
41044
|
+
// Cumulative mean normalized difference, in place.
|
|
41045
|
+
var running = 0.0f;
|
|
41046
|
+
yin[0] = 1.0f;
|
|
41047
|
+
for (var tau = 1u; tau <= u.lagMax; tau = tau + 1u) {
|
|
41048
|
+
running = running + yin[tau];
|
|
41049
|
+
yin[tau] = select(1.0f, yin[tau] * f32(tau) / running, running > 0.0f);
|
|
41050
|
+
}
|
|
41051
|
+
|
|
41052
|
+
var lags : array<f32, K>;
|
|
41053
|
+
var vals : array<f32, K>;
|
|
41054
|
+
for (var k = 0u; k < K; k = k + 1u) {
|
|
41055
|
+
lags[k] = 0.0f;
|
|
41056
|
+
vals[k] = EMPTY;
|
|
41057
|
+
}
|
|
41058
|
+
for (var tau = max(u.lagMin, 1u); tau < u.lagMax; tau = tau + 1u) {
|
|
41059
|
+
let prev = yin[tau - 1u];
|
|
41060
|
+
let cur = yin[tau];
|
|
41061
|
+
let next = yin[tau + 1u];
|
|
41062
|
+
if (cur < prev && cur <= next) {
|
|
41063
|
+
// Parabolic interpolation of the dip for sub-sample period.
|
|
41064
|
+
let den = prev - 2.0f * cur + next;
|
|
41065
|
+
let offset = select(0.0f, 0.5f * (prev - next) / den, den > 0.0f);
|
|
41066
|
+
insertCandidate(&lags, &vals, f32(tau) + offset, cur);
|
|
41067
|
+
}
|
|
41068
|
+
}
|
|
41069
|
+
|
|
41070
|
+
let base = frame * K;
|
|
41071
|
+
for (var k = 0u; k < K; k = k + 1u) {
|
|
41072
|
+
candidates[base + k] = vec2f(lags[k], vals[k]);
|
|
41073
|
+
}
|
|
41074
|
+
}
|
|
41075
|
+
`;
|
|
41076
|
+
function resolvePitchConfig(sampleRate, config$1) {
|
|
41077
|
+
const minHz = config$1.minHz ?? 50;
|
|
41078
|
+
const maxHz = config$1.maxHz ?? 1e3;
|
|
41079
|
+
if (!(minHz > 0 && maxHz > minHz)) throw new Error(`Pitch range needs 0 < minHz < maxHz (got ${minHz}..${maxHz}).`);
|
|
41080
|
+
const lagMax = Math.ceil(sampleRate / minHz) + 1;
|
|
41081
|
+
if (lagMax > MAX_PITCH_LAG) throw new Error(`minHz ${minHz} needs a ${lagMax}-sample period at ${sampleRate} Hz; the limit is ${MAX_PITCH_LAG} (minHz >= ${Math.ceil(sampleRate / (MAX_PITCH_LAG - 1))}).`);
|
|
41082
|
+
const lagMin = Math.max(2, Math.floor(sampleRate / maxHz));
|
|
41083
|
+
const windowMs = config$1.windowMs ?? 45;
|
|
41084
|
+
return {
|
|
41085
|
+
lagMin,
|
|
41086
|
+
lagMax,
|
|
41087
|
+
windowSize: Math.max(lagMax, Math.round(windowMs / 1e3 * sampleRate)),
|
|
41088
|
+
voicingThreshold: config$1.voicingThreshold ?? .8,
|
|
41089
|
+
octaveJumpCost: config$1.octaveJumpCost ?? 8
|
|
41090
|
+
};
|
|
41091
|
+
}
|
|
41092
|
+
function transitionCost(prevLag, lag, octaveJumpCost) {
|
|
41093
|
+
const prevVoiced = prevLag > 0;
|
|
41094
|
+
const voiced = lag > 0;
|
|
41095
|
+
if (prevVoiced !== voiced) return VOICING_SWITCH_COST;
|
|
41096
|
+
if (!voiced) return 0;
|
|
41097
|
+
return octaveJumpCost * Math.abs(Math.log2(lag / prevLag));
|
|
41098
|
+
}
|
|
41099
|
+
/**
|
|
41100
|
+
* True when `lag` is an integer multiple (2x, 3x, ...) of a shorter candidate
|
|
41101
|
+
* that is about as deep. YIN's normalized difference dips at every multiple
|
|
41102
|
+
* of the true period, often slightly deeper, so such a dip is an echo.
|
|
41103
|
+
*/
|
|
41104
|
+
function isPeriodMultiple(data, base, lag, depth) {
|
|
41105
|
+
for (let j = 0; j < PITCH_CANDIDATES; j++) {
|
|
41106
|
+
const shorter = data[(base + j) * 2];
|
|
41107
|
+
const shorterDepth = data[(base + j) * 2 + 1];
|
|
41108
|
+
if (shorterDepth >= EMPTY_CANDIDATE || shorter <= 0 || shorter >= lag) continue;
|
|
41109
|
+
const m = Math.round(lag / shorter);
|
|
41110
|
+
if (m >= 2 && Math.abs(lag - m * shorter) <= PERIOD_MULTIPLE_TOLERANCE * lag && shorterDepth <= depth * SUBHARMONIC_DEPTH_RATIO) return true;
|
|
41111
|
+
}
|
|
41112
|
+
return false;
|
|
41113
|
+
}
|
|
41114
|
+
/**
|
|
41115
|
+
* Writes each state's lag and emission cost for frame `f`. A candidate costs
|
|
41116
|
+
* its YIN dip depth, plus `SUBHARMONIC_COST` when it is a period multiple;
|
|
41117
|
+
* the unvoiced state (index K, lag 0) costs the voicing threshold.
|
|
41118
|
+
*/
|
|
41119
|
+
function observeFrame(data, f, voicingThreshold, lags, costs) {
|
|
41120
|
+
const K = PITCH_CANDIDATES;
|
|
41121
|
+
const base = f * K;
|
|
41122
|
+
const row = f * (K + 1);
|
|
41123
|
+
for (let k = 0; k < K; k++) {
|
|
41124
|
+
const lag = data[(base + k) * 2];
|
|
41125
|
+
const depth = data[(base + k) * 2 + 1];
|
|
41126
|
+
const valid = depth < EMPTY_CANDIDATE && lag > 0;
|
|
41127
|
+
lags[row + k] = valid ? lag : 0;
|
|
41128
|
+
costs[row + k] = !valid ? Number.POSITIVE_INFINITY : depth + (isPeriodMultiple(data, base, lag, depth) ? SUBHARMONIC_COST : 0);
|
|
41129
|
+
}
|
|
41130
|
+
lags[row + K] = 0;
|
|
41131
|
+
costs[row + K] = voicingThreshold;
|
|
41132
|
+
}
|
|
41133
|
+
/** Most likely state per frame given per-state lags and -log emission costs. */
|
|
41134
|
+
function viterbi(lags, costs, numFrames, octaveJumpCost) {
|
|
41135
|
+
const S = PITCH_CANDIDATES + 1;
|
|
41136
|
+
const back = new Uint8Array(numFrames * S);
|
|
41137
|
+
let total = costs.slice(0, S);
|
|
41138
|
+
for (let f = 1; f < numFrames; f++) {
|
|
41139
|
+
const next = new Float64Array(S);
|
|
41140
|
+
for (let s = 0; s < S; s++) {
|
|
41141
|
+
let best = Number.POSITIVE_INFINITY;
|
|
41142
|
+
for (let p = 0; p < S; p++) {
|
|
41143
|
+
const c = total[p] + transitionCost(lags[(f - 1) * S + p], lags[f * S + s], octaveJumpCost);
|
|
41144
|
+
if (c < best) {
|
|
41145
|
+
best = c;
|
|
41146
|
+
back[f * S + s] = p;
|
|
41147
|
+
}
|
|
41148
|
+
}
|
|
41149
|
+
next[s] = best + costs[f * S + s];
|
|
41150
|
+
}
|
|
41151
|
+
total = next;
|
|
41152
|
+
}
|
|
41153
|
+
const path$1 = new Uint8Array(numFrames);
|
|
41154
|
+
let state = total.indexOf(Math.min(...total));
|
|
41155
|
+
for (let f = numFrames - 1; f >= 0; f--) {
|
|
41156
|
+
path$1[f] = state;
|
|
41157
|
+
state = back[f * S + state];
|
|
41158
|
+
}
|
|
41159
|
+
return path$1;
|
|
41160
|
+
}
|
|
41161
|
+
/**
|
|
41162
|
+
* Viterbi decode over each frame's period candidates plus one unvoiced state,
|
|
41163
|
+
* emissions from `observeFrame`, transitions costing `octaveJumpCost` per
|
|
41164
|
+
* octave and a fixed voicing switch.
|
|
41165
|
+
*/
|
|
41166
|
+
function decodePitchTrack(candidates, config$1) {
|
|
41167
|
+
const { data, numFrames, sampleRate } = candidates;
|
|
41168
|
+
const K = PITCH_CANDIDATES;
|
|
41169
|
+
const S = K + 1;
|
|
41170
|
+
const lags = new Float64Array(numFrames * S);
|
|
41171
|
+
const costs = new Float64Array(numFrames * S);
|
|
41172
|
+
for (let f = 0; f < numFrames; f++) observeFrame(data, f, config$1.voicingThreshold ?? .8, lags, costs);
|
|
41173
|
+
const path$1 = viterbi(lags, costs, numFrames, config$1.octaveJumpCost ?? 8);
|
|
41174
|
+
const hz = new Float32Array(numFrames);
|
|
41175
|
+
const confidence = new Float32Array(numFrames);
|
|
41176
|
+
const voiced = new Float32Array(numFrames);
|
|
41177
|
+
for (let f = 0; f < numFrames; f++) {
|
|
41178
|
+
const s = path$1[f];
|
|
41179
|
+
if (lags[f * S + s] === 0) continue;
|
|
41180
|
+
hz[f] = sampleRate / lags[f * S + s];
|
|
41181
|
+
confidence[f] = Math.min(1, Math.max(0, 1 - data[(f * K + s) * 2 + 1]));
|
|
41182
|
+
voiced[f] = 1;
|
|
41183
|
+
}
|
|
41184
|
+
fillUnvoiced(hz, voiced);
|
|
41185
|
+
return {
|
|
41186
|
+
hz,
|
|
41187
|
+
confidence,
|
|
41188
|
+
voiced,
|
|
41189
|
+
numFrames
|
|
41190
|
+
};
|
|
41191
|
+
}
|
|
41192
|
+
/** Linearly interpolates `hz` across unvoiced runs; holds the nearest voiced value at the ends. */
|
|
41193
|
+
function fillUnvoiced(hz, voiced) {
|
|
41194
|
+
let prev = -1;
|
|
41195
|
+
for (let f = 0; f <= hz.length; f++) {
|
|
41196
|
+
if (f < hz.length && voiced[f] === 0) continue;
|
|
41197
|
+
const from = prev >= 0 ? hz[prev] : f < hz.length ? hz[f] : 0;
|
|
41198
|
+
const to = f < hz.length ? hz[f] : from;
|
|
41199
|
+
for (let g$1 = prev + 1; g$1 < f; g$1++) {
|
|
41200
|
+
const t = prev >= 0 && f < hz.length ? (g$1 - prev) / (f - prev) : 0;
|
|
41201
|
+
hz[g$1] = from + (to - from) * t;
|
|
41202
|
+
}
|
|
41203
|
+
prev = f;
|
|
41204
|
+
}
|
|
41205
|
+
}
|
|
41206
|
+
const pipelines = /* @__PURE__ */ new WeakMap();
|
|
41207
|
+
function getPipeline(device) {
|
|
41208
|
+
let pipeline = pipelines.get(device);
|
|
41209
|
+
if (!pipeline) {
|
|
41210
|
+
pipeline = device.createComputePipeline({
|
|
41211
|
+
label: "AudioPitchCandidatesPipeline",
|
|
41212
|
+
layout: "auto",
|
|
41213
|
+
compute: {
|
|
41214
|
+
module: device.createShaderModule({
|
|
41215
|
+
label: "AudioPitchCandidatesPipeline.wgsl",
|
|
41216
|
+
code: AUDIO_PITCH_CANDIDATES_SHADER
|
|
41217
|
+
}),
|
|
41218
|
+
entryPoint: "main"
|
|
41219
|
+
}
|
|
41220
|
+
});
|
|
41221
|
+
pipelines.set(device, pipeline);
|
|
41222
|
+
}
|
|
41223
|
+
return pipeline;
|
|
41224
|
+
}
|
|
41225
|
+
/** Runs the YIN candidate pass on the GPU: `PITCH_CANDIDATES` periods per frame. */
|
|
41226
|
+
async function extractPitchCandidates(device, audioChannels, sampleRate, fps, config$1 = {}) {
|
|
41227
|
+
if (audioChannels.length === 0 || audioChannels[0].length === 0) throw new Error("Empty audio buffer supplied to the pitch tracker.");
|
|
41228
|
+
const { lagMin, lagMax, windowSize } = resolvePitchConfig(sampleRate, config$1);
|
|
41229
|
+
const mono = downmixToMono(audioChannels);
|
|
41230
|
+
const numFrames = Math.max(1, Math.ceil(mono.length / sampleRate * fps));
|
|
41231
|
+
const gridX = Math.min(numFrames, MAX_GRID_X);
|
|
41232
|
+
const outBytes = numFrames * PITCH_CANDIDATES * 2 * 4;
|
|
41233
|
+
const uniforms = /* @__PURE__ */ new ArrayBuffer(32);
|
|
41234
|
+
const f32 = new Float32Array(uniforms);
|
|
41235
|
+
const u32 = new Uint32Array(uniforms);
|
|
41236
|
+
f32[0] = sampleRate;
|
|
41237
|
+
u32[1] = mono.length;
|
|
41238
|
+
u32[2] = numFrames;
|
|
41239
|
+
u32[3] = windowSize;
|
|
41240
|
+
u32[4] = lagMin;
|
|
41241
|
+
u32[5] = lagMax;
|
|
41242
|
+
u32[6] = gridX;
|
|
41243
|
+
f32[7] = fps;
|
|
41244
|
+
const uniformBuffer = device.createBuffer({
|
|
41245
|
+
size: uniforms.byteLength,
|
|
41246
|
+
usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,
|
|
41247
|
+
label: "audio_pitch_uniforms"
|
|
41248
|
+
});
|
|
41249
|
+
device.queue.writeBuffer(uniformBuffer, 0, uniforms);
|
|
41250
|
+
const pcmBuffer = device.createBuffer({
|
|
41251
|
+
size: mono.byteLength,
|
|
41252
|
+
usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST,
|
|
41253
|
+
label: "audio_pitch_pcm"
|
|
41254
|
+
});
|
|
41255
|
+
device.queue.writeBuffer(pcmBuffer, 0, mono);
|
|
41256
|
+
const candidateBuffer = device.createBuffer({
|
|
41257
|
+
size: outBytes,
|
|
41258
|
+
usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC,
|
|
41259
|
+
label: "audio_pitch_candidates"
|
|
41260
|
+
});
|
|
41261
|
+
const readback = device.createBuffer({
|
|
41262
|
+
size: outBytes,
|
|
41263
|
+
usage: GPUBufferUsage.MAP_READ | GPUBufferUsage.COPY_DST,
|
|
41264
|
+
label: "audio_pitch_candidates_readback"
|
|
41265
|
+
});
|
|
41266
|
+
const pipeline = getPipeline(device);
|
|
41267
|
+
const encoder = device.createCommandEncoder({ label: "audio_pitch_encoder" });
|
|
41268
|
+
const pass = encoder.beginComputePass({ label: "audio_pitch_candidates_pass" });
|
|
41269
|
+
pass.setPipeline(pipeline);
|
|
41270
|
+
pass.setBindGroup(0, device.createBindGroup({
|
|
41271
|
+
layout: pipeline.getBindGroupLayout(0),
|
|
41272
|
+
entries: [
|
|
41273
|
+
{
|
|
41274
|
+
binding: 0,
|
|
41275
|
+
resource: { buffer: uniformBuffer }
|
|
41276
|
+
},
|
|
41277
|
+
{
|
|
41278
|
+
binding: 1,
|
|
41279
|
+
resource: { buffer: pcmBuffer }
|
|
41280
|
+
},
|
|
41281
|
+
{
|
|
41282
|
+
binding: 2,
|
|
41283
|
+
resource: { buffer: candidateBuffer }
|
|
41284
|
+
}
|
|
41285
|
+
]
|
|
41286
|
+
}));
|
|
41287
|
+
pass.dispatchWorkgroups(gridX, Math.ceil(numFrames / gridX));
|
|
41288
|
+
pass.end();
|
|
41289
|
+
encoder.copyBufferToBuffer(candidateBuffer, 0, readback, 0, outBytes);
|
|
41290
|
+
device.queue.submit([encoder.finish()]);
|
|
41291
|
+
await readback.mapAsync(GPUMapMode.READ);
|
|
41292
|
+
const data = new Float32Array(readback.getMappedRange().slice(0));
|
|
41293
|
+
readback.unmap();
|
|
41294
|
+
for (const b of [
|
|
41295
|
+
readback,
|
|
41296
|
+
candidateBuffer,
|
|
41297
|
+
pcmBuffer,
|
|
41298
|
+
uniformBuffer
|
|
41299
|
+
]) b.destroy();
|
|
41300
|
+
return {
|
|
41301
|
+
data,
|
|
41302
|
+
numFrames,
|
|
41303
|
+
sampleRate
|
|
41304
|
+
};
|
|
41305
|
+
}
|
|
41306
|
+
/** Tracks the fundamental frequency of the downmixed channels at `fps` frames per second. */
|
|
41307
|
+
async function trackAudioPitch(device, audioChannels, sampleRate, fps, config$1 = {}) {
|
|
41308
|
+
return {
|
|
41309
|
+
...decodePitchTrack(await extractPitchCandidates(device, audioChannels, sampleRate, fps, config$1), config$1),
|
|
41310
|
+
durationSec: audioChannels[0].length / sampleRate
|
|
41311
|
+
};
|
|
41312
|
+
}
|
|
40953
41313
|
const GLOBAL_WEBGPU_REGISTRY_KEY = Symbol.for("gatewai.webgpuRegistry");
|
|
40954
41314
|
const GLOBAL_ANALYSIS_STORE_KEY = Symbol.for("gatewai.videoAnalysisStore");
|
|
40955
41315
|
var NodeSurfaceProvider = class {
|
|
@@ -41017,5 +41377,5 @@ var NodeSurfaceProvider = class {
|
|
|
41017
41377
|
if (typeof globalThis !== "undefined") globalThis.__GATEWAI_DELAYS__ = globalThis.__GATEWAI_DELAYS__ || /* @__PURE__ */ new Set();
|
|
41018
41378
|
|
|
41019
41379
|
//#endregion
|
|
41020
|
-
export { probeVideoSize as $,
|
|
41021
|
-
//# sourceMappingURL=dist-
|
|
41380
|
+
export { probeVideoSize as $, TextCursorStyleSchema as $t, emojiGraphemes as A, evaluateVolumetricFormation as An, ChromaticGlitchConfigSchema as At, jointMatrices as B, waveToCubicBeziers as Bn, LongShadowConfigSchema as Bt, drawGifNode as C, evaluateCubicBezierDerivative as Cn, AdvancedTextAnimatorBuilder as Ct, drawSignalNode as D, evaluateSkewMatrix as Dn, AnimatableGlyphPropsSchema as Dt, drawParagraphNode as E, evaluateSelectorCombination as En, AnchorPresetSchema as Et, getPrimitiveGeometry as F, parseSvgPathToCubicBeziers as Fn, ExtendedGlyphPropertiesSchema as Ft, measureMaxCaptionHeight as G, SelectorUnitsSchema as Gt, loadModel3D as H, SelectorBasedOnSchema as Ht, getRegisteredFontSource as I, sampleAudioSpectrumScale as In, GlyphAnchorGroupingSchema as It, parseFBX as J, Spatial3DPropertiesSchema as Jt, mediaDecoderCache as K, SignalRegistry as Kt, getRenderer2D as L, sampleCurveGeometry as Ln, GlyphAnchorPointSchema as Lt, fitSpansToText as M, generatePathSegments as Mn, DynamicStrokePropertiesSchema as Mt, generateExtrudedTextGeometry as N, getScramblePool as Nn, EnhancedTextNodeSchema as Nt, drawSvgNode as O, evaluateSpringProgress as On, AudioSignalComputePipeline as Ot, getHeadlessFontPath as P, getShuffledOrder as Pn, ExpressionSelectorSchema as Pt, poseNodes as Q, TextCursorConfigSchema as Qt, initHeadlessWebGPU as R, samplePathChainGeometry as Rn, KineticMarqueeConfigSchema as Rt, drawCaptionNode as S, evaluateCubicBezier as Sn, AETextAnimatorSchema as St, drawLottieNode as T, evaluateMarqueeOffset as Tn, AnchorGroupingSchema as Tt, loadOBJ as U, SelectorModeSchema as Ut, loadFBX as V, ParticleDissolveConfigSchema as Vt, lutStore as W, SelectorShapeSchema as Wt, parseOBJ as X, TextAnchorConfigSchema as Xt, parseMTL as Y, SpringPhysicsSchema as Yt, parseSvgPathToSegments as Z, TextAnimatorBuilder as Zt, buildShapeSvgPath as _, computeLineLeadingDisplacement as _n, Path3D as _t, GlassPipeline as a, TextSelectorSchema as an, spansText as at, colorMatrixWgsl as b, distanceToCurveParameter as bn, parseColorToRgb as bt, Renderer2D as c, TypewriterAnimatorSchema as cn, trackAudioPitch as ct, ScreenSpaceRelightPipeline as d, Vec2Schema as dn, Camera3D as dt, TextPathBuilder as en, registerHeadlessFont as et, ShadowPipeline as f, VolumetricFormationConfigSchema as fn, ENVIRONMENT_PRESETS as ft, WebGPUAudioProcessor as g, computeAnchorPivotOffset as gn, Matrix4Math as gt, SlugPipeline as h, buildWGSLSignalFn as hn, MAX_LIGHTS as ht, EffectPipeline as i, TextScrambleConfigSchema as in, shaderStore as it, ensureDevice as j, generateArcLengthLUT as jn, CubicBezierSegmentSchema as jt, drawVideoNode as k, evaluateTypewriterState as kn, AudioSpectrumTypographySchema as kt, Renderer3D as l, TypingCadenceSchema as ln, GetFontAssetUrl as lt, SlugGeometry as m, buildPathLUT as mn, Light3D as mt, AudioLatentTrackCache as n, TextPathSourceSchema as nn, sampleMorphWeights as nt, MotionBlurPipeline as o, TextSignalSelectorSchema as on, srtLoader as ot, SlugFontCache as p, VolumetricFormationModeSchema as pn, LIGHT_UNIFORM_SIZE_BYTES as pt, parseColor as q, SkewPropertiesSchema as qt, AudioMeshDeformPipeline as r, TextRangeSelectorSchema as rn, setRegisteredFontSource as rt, NodeSurfaceProvider as s, TextWigglySelectorSchema as sn, textureCache as st, AudioLatentEngine as t, TextPathOptionsSchema as tn, resolveTextSpans as tt, SSAOPipeline as u, VariableFontAxesSchema as un, resolveMediaSourceUrl as ut, clearAllVideoCache as v, computeRangeSelectorWeight as vn, Vector3Math as vt, drawImageNode as w, evaluateExpressionSelector as wn, AdvancedTextAnimatorSchema as wt, describeGpu as x, ellipseToCubicBeziers as xn, resolveEnvironment as xt, clearHeadlessFonts as y, deterministicWigglyNoise as yn, linearRgb as yt, inputStore as z, signalRegistry as zn, LineSpacingDynamicsSchema as zt };
|
|
41381
|
+
//# sourceMappingURL=dist-CWLLnigL.mjs.map
|