framefields 2.9.0 → 2.9.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/NOTICE.md +14 -0
- package/README.md +1 -5
- package/dist/audio/index.d.mts +5 -4
- package/dist/audio/index.mjs +13 -13
- package/dist/{audio-BfQg37MW.mjs → audio-B6RmYOPe.mjs} +4 -4
- package/dist/{audio-BfQg37MW.mjs.map → audio-B6RmYOPe.mjs.map} +1 -1
- package/dist/{audio-a0MFkK6J.mjs → audio-BlDbnteH.mjs} +1 -1
- package/dist/{audio-a0MFkK6J.mjs.map → audio-BlDbnteH.mjs.map} +1 -1
- package/dist/{audio-Ccpl9mjV.d.mts → audio-D6tBMbHh.d.mts} +4 -3
- package/dist/audio-D6tBMbHh.d.mts.map +1 -0
- package/dist/{check-result-C3jlgV2i.mjs → check-result-Bj7g62ka.mjs} +1 -1
- package/dist/{check-result-C3jlgV2i.mjs.map → check-result-Bj7g62ka.mjs.map} +1 -1
- package/dist/cli/check-worker.mjs +50 -50
- package/dist/cli.mjs +1 -1
- package/dist/components/index.d.mts +14 -11
- package/dist/components/index.mjs +47 -47
- package/dist/dist-BlulwErl.mjs +3 -0
- package/dist/{dist-BlIrsfcn.mjs → dist-ByxHoMQI.mjs} +1 -1
- package/dist/{dist-BlIrsfcn.mjs.map → dist-ByxHoMQI.mjs.map} +1 -1
- package/dist/{dist-Buaaj-Ul.mjs → dist-Cn8bDsQF.mjs} +1 -1
- package/dist/{dist-Buaaj-Ul.mjs.map → dist-Cn8bDsQF.mjs.map} +1 -1
- package/dist/{dist-C1cCW7Bt.mjs → dist-D12-a3-x.mjs} +3 -3
- package/dist/{dist-C1cCW7Bt.mjs.map → dist-D12-a3-x.mjs.map} +1 -1
- package/dist/{dist-C8Xq3zgx.mjs → dist-DEUU6sNe.mjs} +4 -4
- package/dist/{dist-C8Xq3zgx.mjs.map → dist-DEUU6sNe.mjs.map} +1 -1
- package/dist/{dist-DVMepKaO.mjs → dist-DL1GwJvs.mjs} +2 -2
- package/dist/{dist-DVMepKaO.mjs.map → dist-DL1GwJvs.mjs.map} +1 -1
- package/dist/dist-Dq5TkNDI.mjs +1434 -0
- package/dist/dist-Dq5TkNDI.mjs.map +1 -0
- package/dist/effects/index.d.mts +6 -4
- package/dist/effects/index.mjs +36 -36
- package/dist/{effects-CemgqEPv.mjs → effects-CViUoQSV.mjs} +3 -3
- package/dist/{effects-CemgqEPv.mjs.map → effects-CViUoQSV.mjs.map} +1 -1
- package/dist/fonts/index.d.mts +1 -1
- package/dist/fonts/index.mjs +3 -3
- package/dist/{fonts-BW0pPcvJ.mjs → fonts-B0U2KO5I.mjs} +2 -2
- package/dist/{fonts-BW0pPcvJ.mjs.map → fonts-B0U2KO5I.mjs.map} +1 -1
- package/dist/{gpu-CMaa63nz.mjs → gpu-zFNrvhV9.mjs} +2 -2
- package/dist/{gpu-CMaa63nz.mjs.map → gpu-zFNrvhV9.mjs.map} +1 -1
- package/dist/index-9_4X2ro1.d.mts +2402 -0
- package/dist/index-9_4X2ro1.d.mts.map +1 -0
- package/dist/{index-CZjrnylh.d.mts → index-B9Lm1x8i.d.mts} +662 -640
- package/dist/index-B9Lm1x8i.d.mts.map +1 -0
- package/dist/{index-BfDFmIBE.d.mts → index-BuYtrhzL.d.mts} +1 -1
- package/dist/{index-BfDFmIBE.d.mts.map → index-BuYtrhzL.d.mts.map} +1 -1
- package/dist/{index-D5UDyVMb.d.mts → index-Bzo1uj8h.d.mts} +4 -2401
- package/dist/index-Bzo1uj8h.d.mts.map +1 -0
- package/dist/{index-Du5YgdzM.d.mts → index-C6GcuYVA.d.mts} +6 -1151
- package/dist/index-C6GcuYVA.d.mts.map +1 -0
- package/dist/{index-BIjMAW1h.d.mts → index-CgGM31I9.d.mts} +2 -2
- package/dist/{index-BIjMAW1h.d.mts.map → index-CgGM31I9.d.mts.map} +1 -1
- package/dist/index-DBhswLMO.d.mts +330 -0
- package/dist/index-DBhswLMO.d.mts.map +1 -0
- package/dist/{index-CJL0JAU8.d.mts → index-V0ZQ4JN6.d.mts} +2 -2
- package/dist/{index-CJL0JAU8.d.mts.map → index-V0ZQ4JN6.d.mts.map} +1 -1
- package/dist/{index-7Z9_a_iB.d.mts → index-f4IF1vRH.d.mts} +3 -3
- package/dist/{index-7Z9_a_iB.d.mts.map → index-f4IF1vRH.d.mts.map} +1 -1
- package/dist/index-svAgwTY_.d.mts +1163 -0
- package/dist/index-svAgwTY_.d.mts.map +1 -0
- package/dist/{index-CFoAmh7q.d.mts → index-w28KUM9A.d.mts} +3 -3
- package/dist/{index-CFoAmh7q.d.mts.map → index-w28KUM9A.d.mts.map} +1 -1
- package/dist/index.d.mts +15 -12
- package/dist/index.mjs +58 -57
- package/dist/preview/index.d.mts +4 -3
- package/dist/preview/index.mjs +12 -12
- package/dist/{preview-BQVgn6Ho.mjs → preview-ZKJ_zTmd.mjs} +3 -3
- package/dist/{preview-BQVgn6Ho.mjs.map → preview-ZKJ_zTmd.mjs.map} +1 -1
- package/dist/preview-engine/{chunk-GEUUXTDL.mjs → chunk-D73ZKPFN.mjs} +4 -4
- package/dist/preview-engine/{chunk-UQKPDGEH.mjs → chunk-EJJITH6U.mjs} +1 -1
- package/dist/preview-engine/{chunk-374QY63R.mjs → chunk-Q62GPWGD.mjs} +23 -23
- package/dist/preview-engine/chunk-XYGDTPO7.mjs +39 -0
- 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-O55BEDQZ.mjs → renderers-MDHPQY6D.mjs} +1 -1
- package/dist/preview-engine/src-4IUYUKIZ.mjs +8 -0
- package/dist/{program-CKpKkllV.mjs → program-xjIwjKb6.mjs} +4 -4
- package/dist/{program-CKpKkllV.mjs.map → program-xjIwjKb6.mjs.map} +1 -1
- package/dist/renderer/index.d.mts +3 -2
- package/dist/renderer/index.mjs +3 -3
- package/dist/renderer-129U3pc9.mjs +5 -0
- package/dist/renderer-2phFTFxQ.mjs +5 -0
- package/dist/{renderer-Bfk6A7UO.mjs → renderer-5qJPGvVL.mjs} +5 -5
- package/dist/{renderer-Bfk6A7UO.mjs.map → renderer-5qJPGvVL.mjs.map} +1 -1
- package/dist/renderer-9muKpDeE.mjs +5 -0
- package/dist/{renderer-B522Dkdk.mjs → renderer-AUK_ZS3p.mjs} +4 -4
- package/dist/{renderer-B522Dkdk.mjs.map → renderer-AUK_ZS3p.mjs.map} +1 -1
- package/dist/{renderer-DKgPVOLL.d.mts → renderer-B-inTgyb.d.mts} +2 -2
- package/dist/{renderer-DKgPVOLL.d.mts.map → renderer-B-inTgyb.d.mts.map} +1 -1
- package/dist/{renderer-BF0hx_iJ.mjs → renderer-B3IRvukr.mjs} +5 -5
- package/dist/{renderer-BF0hx_iJ.mjs.map → renderer-B3IRvukr.mjs.map} +1 -1
- package/dist/renderer-B5Dhv6j9.mjs +5 -0
- package/dist/{renderer-DO-KbpYZ.mjs → renderer-B6TjJi1g.mjs} +5 -5
- package/dist/{renderer-DO-KbpYZ.mjs.map → renderer-B6TjJi1g.mjs.map} +1 -1
- package/dist/{renderer-D61B9bXF.mjs → renderer-B78W9uad.mjs} +4 -4
- package/dist/{renderer-D61B9bXF.mjs.map → renderer-B78W9uad.mjs.map} +1 -1
- package/dist/{renderer-BPWDsufX.mjs → renderer-B7kOF_Az.mjs} +3 -3
- package/dist/{renderer-BPWDsufX.mjs.map → renderer-B7kOF_Az.mjs.map} +1 -1
- package/dist/renderer-BBUgCS3C.mjs +5 -0
- package/dist/{renderer-C7eFJf0_.mjs → renderer-BG6bkKtY.mjs} +5 -5
- package/dist/{renderer-C7eFJf0_.mjs.map → renderer-BG6bkKtY.mjs.map} +1 -1
- package/dist/{renderer-B39I6CQw.mjs → renderer-BJKzZwyn.mjs} +4 -4
- package/dist/{renderer-B39I6CQw.mjs.map → renderer-BJKzZwyn.mjs.map} +1 -1
- package/dist/{renderer-DqvoMLca.mjs → renderer-BJQt0RiZ.mjs} +5 -5
- package/dist/{renderer-DqvoMLca.mjs.map → renderer-BJQt0RiZ.mjs.map} +1 -1
- package/dist/renderer-BKXM28Mx.mjs +5 -0
- package/dist/renderer-BKqm6xdf.mjs +5 -0
- package/dist/{renderer-DiY70S8S.mjs → renderer-BMP_lYMk.mjs} +4 -4
- package/dist/{renderer-DiY70S8S.mjs.map → renderer-BMP_lYMk.mjs.map} +1 -1
- package/dist/renderer-BMfMMf0R.mjs +5 -0
- package/dist/{renderer-DkRSZg5g.mjs → renderer-BNbMi9CI.mjs} +5 -5
- package/dist/{renderer-DkRSZg5g.mjs.map → renderer-BNbMi9CI.mjs.map} +1 -1
- package/dist/{renderer-D7Al3_-5.mjs → renderer-BPYIqtNg.mjs} +5 -5
- package/dist/{renderer-D7Al3_-5.mjs.map → renderer-BPYIqtNg.mjs.map} +1 -1
- package/dist/renderer-BPsjEnnl.mjs +5 -0
- package/dist/{renderer-DDEkFbVI.mjs → renderer-BQOeeXTr.mjs} +5 -5
- package/dist/{renderer-DDEkFbVI.mjs.map → renderer-BQOeeXTr.mjs.map} +1 -1
- package/dist/{renderer-GBmWjBvy.mjs → renderer-BRWjLiHX.mjs} +3 -3
- package/dist/{renderer-GBmWjBvy.mjs.map → renderer-BRWjLiHX.mjs.map} +1 -1
- package/dist/{renderer-_iMAO698.mjs → renderer-BVql26Ay.mjs} +2 -2
- package/dist/{renderer-_iMAO698.mjs.map → renderer-BVql26Ay.mjs.map} +1 -1
- package/dist/{renderer-CHr7MiYW.mjs → renderer-BWMzjSgf.mjs} +5 -5
- package/dist/{renderer-CHr7MiYW.mjs.map → renderer-BWMzjSgf.mjs.map} +1 -1
- package/dist/{renderer-pHWEHDnM.mjs → renderer-BYqrtBvd.mjs} +5 -5
- package/dist/{renderer-pHWEHDnM.mjs.map → renderer-BYqrtBvd.mjs.map} +1 -1
- package/dist/{renderer-CwFqqpWY.mjs → renderer-BZmmekE8.mjs} +4 -4
- package/dist/{renderer-CwFqqpWY.mjs.map → renderer-BZmmekE8.mjs.map} +1 -1
- package/dist/{renderer-D47AEJE_.mjs → renderer-BcO7LUla.mjs} +3 -3
- package/dist/{renderer-D47AEJE_.mjs.map → renderer-BcO7LUla.mjs.map} +1 -1
- package/dist/{renderer-BlvGcyAN.mjs → renderer-BdbI_u9w.mjs} +3 -3
- package/dist/{renderer-BlvGcyAN.mjs.map → renderer-BdbI_u9w.mjs.map} +1 -1
- package/dist/{renderer-DsEyjwfT.mjs → renderer-Be5hfwSd.mjs} +74 -74
- package/dist/{renderer-DsEyjwfT.mjs.map → renderer-Be5hfwSd.mjs.map} +1 -1
- package/dist/{renderer-BAYTI6jj.mjs → renderer-BfbSvElt.mjs} +4 -4
- package/dist/{renderer-BAYTI6jj.mjs.map → renderer-BfbSvElt.mjs.map} +1 -1
- package/dist/{renderer-BpIF1QIE.mjs → renderer-BgDLCCuq.mjs} +5 -5
- package/dist/{renderer-BpIF1QIE.mjs.map → renderer-BgDLCCuq.mjs.map} +1 -1
- package/dist/renderer-Bofr6f88.mjs +6 -0
- package/dist/renderer-BqoGcujR.mjs +5 -0
- package/dist/renderer-BvuBt2aH.mjs +5 -0
- package/dist/renderer-BxTgXHu1.mjs +5 -0
- package/dist/renderer-Bz2Rrz60.mjs +5 -0
- package/dist/{renderer-g_vrrAQU.mjs → renderer-C06U4c9k.mjs} +3 -3
- package/dist/{renderer-g_vrrAQU.mjs.map → renderer-C06U4c9k.mjs.map} +1 -1
- package/dist/{renderer-D7r6onRT.mjs → renderer-C3Iev6zu.mjs} +4 -4
- package/dist/{renderer-D7r6onRT.mjs.map → renderer-C3Iev6zu.mjs.map} +1 -1
- package/dist/{renderer-CpUJBOfb.mjs → renderer-C3tVrzyT.mjs} +3 -3
- package/dist/{renderer-SWr3vbrV.mjs → renderer-C4yKI8MT.mjs} +3 -3
- package/dist/{renderer-SWr3vbrV.mjs.map → renderer-C4yKI8MT.mjs.map} +1 -1
- package/dist/{renderer-Xv6GfNUI.mjs → renderer-C6st34I6.mjs} +3 -3
- package/dist/{renderer-Xv6GfNUI.mjs.map → renderer-C6st34I6.mjs.map} +1 -1
- package/dist/{renderer-sCovEubT.mjs → renderer-C7MAqpIS.mjs} +4 -4
- package/dist/{renderer-sCovEubT.mjs.map → renderer-C7MAqpIS.mjs.map} +1 -1
- package/dist/renderer-CBjG8rjE.mjs +5 -0
- package/dist/{renderer-BAusZ6Vu.mjs → renderer-CCFHnafT.mjs} +4 -4
- package/dist/{renderer-BAusZ6Vu.mjs.map → renderer-CCFHnafT.mjs.map} +1 -1
- package/dist/{renderer-DVCJjVn7.mjs → renderer-CDVb4OfJ.mjs} +5 -5
- package/dist/{renderer-DVCJjVn7.mjs.map → renderer-CDVb4OfJ.mjs.map} +1 -1
- package/dist/{renderer-DpruWmZU.mjs → renderer-CEfVvcw-.mjs} +4 -4
- package/dist/{renderer-DpruWmZU.mjs.map → renderer-CEfVvcw-.mjs.map} +1 -1
- package/dist/{renderer-DbRZe0Re.mjs → renderer-CIB5L_C4.mjs} +5 -5
- package/dist/{renderer-DbRZe0Re.mjs.map → renderer-CIB5L_C4.mjs.map} +1 -1
- package/dist/{renderer-ktWXVYka.mjs → renderer-CPTXJs0n.mjs} +6 -6
- package/dist/{renderer-ktWXVYka.mjs.map → renderer-CPTXJs0n.mjs.map} +1 -1
- package/dist/renderer-CS2zyPyZ.mjs +5 -0
- package/dist/{renderer-CcvvoKiZ.mjs → renderer-CUBDxuxh.mjs} +5 -5
- package/dist/{renderer-CcvvoKiZ.mjs.map → renderer-CUBDxuxh.mjs.map} +1 -1
- package/dist/renderer-CWLF6cAz.mjs +1008 -0
- package/dist/renderer-CWLF6cAz.mjs.map +1 -0
- package/dist/{renderer-EaLUCobW.mjs → renderer-CXLugAe8.mjs} +4 -4
- package/dist/{renderer-EaLUCobW.mjs.map → renderer-CXLugAe8.mjs.map} +1 -1
- package/dist/renderer-CXnbl_jR.mjs +5 -0
- package/dist/{renderer-C7L8Ceqr.mjs → renderer-CYX9vKZ-.mjs} +4 -4
- package/dist/{renderer-C7L8Ceqr.mjs.map → renderer-CYX9vKZ-.mjs.map} +1 -1
- package/dist/{renderer-8QIwXh7O.mjs → renderer-C_2UDMEG.mjs} +6 -6
- package/dist/{renderer-8QIwXh7O.mjs.map → renderer-C_2UDMEG.mjs.map} +1 -1
- package/dist/renderer-CaF9vod_.mjs +5 -0
- package/dist/renderer-CbSBH3lp.mjs +5 -0
- package/dist/{renderer-B2jjxsjO.mjs → renderer-CbhnJi_8.mjs} +4 -4
- package/dist/{renderer-B2jjxsjO.mjs.map → renderer-CbhnJi_8.mjs.map} +1 -1
- package/dist/{renderer-BdyopiLC.mjs → renderer-CcJyD9Q5.mjs} +4 -4
- package/dist/{renderer-BdyopiLC.mjs.map → renderer-CcJyD9Q5.mjs.map} +1 -1
- package/dist/renderer-CdjuGRbO.mjs +5 -0
- package/dist/{renderer-DF-yvIrV.mjs → renderer-Cl8r1LJe.mjs} +4 -4
- package/dist/{renderer-DF-yvIrV.mjs.map → renderer-Cl8r1LJe.mjs.map} +1 -1
- package/dist/renderer-CoLbxC13.mjs +5 -0
- package/dist/{renderer-BgO6BA_z.mjs → renderer-CpedZNEG.mjs} +3 -3
- package/dist/{renderer-BgO6BA_z.mjs.map → renderer-CpedZNEG.mjs.map} +1 -1
- package/dist/renderer-Cr9G0dXB.mjs +5 -0
- package/dist/{renderer-bAKUeHF3.mjs → renderer-CwVbHki6.mjs} +5 -5
- package/dist/{renderer-bAKUeHF3.mjs.map → renderer-CwVbHki6.mjs.map} +1 -1
- package/dist/{renderer-DTqDy2m9.mjs → renderer-CyCtm0UV.mjs} +3 -3
- package/dist/{renderer-DTqDy2m9.mjs.map → renderer-CyCtm0UV.mjs.map} +1 -1
- package/dist/{renderer-CYC32bDW.mjs → renderer-D1VsqFf4.mjs} +5 -5
- package/dist/{renderer-CYC32bDW.mjs.map → renderer-D1VsqFf4.mjs.map} +1 -1
- package/dist/{renderer-CCycwCEB.mjs → renderer-D2TTDcgh.mjs} +3 -3
- package/dist/{renderer-CCycwCEB.mjs.map → renderer-D2TTDcgh.mjs.map} +1 -1
- package/dist/renderer-D63l6_UC.mjs +5 -0
- package/dist/renderer-DCJqnzER.mjs +5 -0
- package/dist/{renderer-cod5Ona9.mjs → renderer-DEQeONTd.mjs} +3 -3
- package/dist/renderer-DFBOR5J3.mjs +5 -0
- package/dist/renderer-DGAZSzw6.mjs +5 -0
- package/dist/{renderer-oKRF4A0M.mjs → renderer-DH7l5WFr.mjs} +4 -4
- package/dist/{renderer-oKRF4A0M.mjs.map → renderer-DH7l5WFr.mjs.map} +1 -1
- package/dist/{renderer-DNQvOrkY.mjs → renderer-DIEmK57T.mjs} +5 -5
- package/dist/{renderer-DNQvOrkY.mjs.map → renderer-DIEmK57T.mjs.map} +1 -1
- package/dist/{renderer-DEmYyaqj.mjs → renderer-DIqkhsLI.mjs} +4 -4
- package/dist/{renderer-DEmYyaqj.mjs.map → renderer-DIqkhsLI.mjs.map} +1 -1
- package/dist/{renderer-DX41niRU.mjs → renderer-DOKHd37M.mjs} +4 -4
- package/dist/{renderer-DX41niRU.mjs.map → renderer-DOKHd37M.mjs.map} +1 -1
- package/dist/renderer-DPLGk1Qk.mjs +5 -0
- package/dist/renderer-DTCUzByS.mjs +5 -0
- package/dist/{renderer-BXJXziIt.mjs → renderer-DW7hbluw.mjs} +3 -3
- package/dist/{renderer-BXJXziIt.mjs.map → renderer-DW7hbluw.mjs.map} +1 -1
- package/dist/{renderer--fkmiVjl.mjs → renderer-Dat8opUZ.mjs} +4 -4
- package/dist/{renderer--fkmiVjl.mjs.map → renderer-Dat8opUZ.mjs.map} +1 -1
- package/dist/renderer-DdGahYi1.mjs +5 -0
- package/dist/{renderer-DmkWrWAk.mjs → renderer-Dee8ksIV.mjs} +3 -3
- package/dist/{renderer-DmkWrWAk.mjs.map → renderer-Dee8ksIV.mjs.map} +1 -1
- package/dist/renderer-DhL4nNPk.mjs +5 -0
- package/dist/renderer-DkyTbiVz.mjs +3 -0
- package/dist/renderer-DnAZweRX.mjs +5 -0
- package/dist/{renderer-BX7jS14r.d.mts → renderer-DoPEPlbG.d.mts} +3 -2
- package/dist/{renderer-BX7jS14r.d.mts.map → renderer-DoPEPlbG.d.mts.map} +1 -1
- package/dist/renderer-DpisVnT2.mjs +5 -0
- package/dist/{renderer-mNSyac1V.mjs → renderer-DrWeb39d.mjs} +1 -1
- package/dist/{renderer-mNSyac1V.mjs.map → renderer-DrWeb39d.mjs.map} +1 -1
- package/dist/renderer-Ds7pAKnE.mjs +3 -0
- package/dist/{renderer-CiQhD8Gg.mjs → renderer-Dss7T71q.mjs} +5 -5
- package/dist/{renderer-CiQhD8Gg.mjs.map → renderer-Dss7T71q.mjs.map} +1 -1
- package/dist/{renderer-C41U1tK6.mjs → renderer-Du-GnKLb.mjs} +9 -9
- package/dist/{renderer-C41U1tK6.mjs.map → renderer-Du-GnKLb.mjs.map} +1 -1
- package/dist/renderer-DxZD5B54.mjs +5 -0
- package/dist/{renderer-WCZu2Rf5.mjs → renderer-ESkPj6pk.mjs} +4 -4
- package/dist/{renderer-WCZu2Rf5.mjs.map → renderer-ESkPj6pk.mjs.map} +1 -1
- package/dist/{renderer-DMvmf3T2.mjs → renderer-F1D9ZJ8I.mjs} +3 -3
- package/dist/{renderer-BlPqTEii.mjs → renderer-HnSiwSW8.mjs} +4 -4
- package/dist/{renderer-BlPqTEii.mjs.map → renderer-HnSiwSW8.mjs.map} +1 -1
- package/dist/{renderer-1r-Uq-Ae.mjs → renderer-IQ97z2rw.mjs} +3 -3
- package/dist/{renderer-1r-Uq-Ae.mjs.map → renderer-IQ97z2rw.mjs.map} +1 -1
- package/dist/{renderer-DFzI3yI_.mjs → renderer-NTCk1Srf.mjs} +3 -3
- package/dist/{renderer-DFzI3yI_.mjs.map → renderer-NTCk1Srf.mjs.map} +1 -1
- package/dist/{renderer-D8bBHrWC.mjs → renderer-OsQRvOle.mjs} +5 -5
- package/dist/{renderer-D8bBHrWC.mjs.map → renderer-OsQRvOle.mjs.map} +1 -1
- package/dist/renderer-PMHOnbnA.mjs +5 -0
- package/dist/renderer-STufNpMx.mjs +5 -0
- package/dist/renderer-SdrgfCxH.mjs +5 -0
- package/dist/{renderer-Lth37j17.mjs → renderer-US4GsamT.mjs} +3 -3
- package/dist/{renderer-zXPVLRlD.mjs → renderer-VhkubIx_.mjs} +5 -5
- package/dist/{renderer-zXPVLRlD.mjs.map → renderer-VhkubIx_.mjs.map} +1 -1
- package/dist/{renderer-DIw3UtEU.mjs → renderer-bbaMOD4I.mjs} +5 -5
- package/dist/{renderer-DIw3UtEU.mjs.map → renderer-bbaMOD4I.mjs.map} +1 -1
- package/dist/{renderer-hSCfnvaK.mjs → renderer-eT7Gp7FS.mjs} +5 -5
- package/dist/{renderer-hSCfnvaK.mjs.map → renderer-eT7Gp7FS.mjs.map} +1 -1
- package/dist/{renderer-CQvmbRQ5.mjs → renderer-g7fF2AYk.mjs} +5 -5
- package/dist/{renderer-CQvmbRQ5.mjs.map → renderer-g7fF2AYk.mjs.map} +1 -1
- package/dist/{renderer-B-ur0Ej8.mjs → renderer-mLlgfM7X.mjs} +4 -4
- package/dist/{renderer-B-ur0Ej8.mjs.map → renderer-mLlgfM7X.mjs.map} +1 -1
- package/dist/{renderer-SSBL4M1o.mjs → renderer-mQt-y49D.mjs} +5 -5
- package/dist/{renderer-SSBL4M1o.mjs.map → renderer-mQt-y49D.mjs.map} +1 -1
- package/dist/{renderer-BIGFP1cF.mjs → renderer-q4zMFfnY.mjs} +2 -2
- package/dist/{renderer-BIGFP1cF.mjs.map → renderer-q4zMFfnY.mjs.map} +1 -1
- package/dist/{renderer-DXEWbnRF.mjs → renderer-sPI7aY6c.mjs} +4 -4
- package/dist/{renderer-DXEWbnRF.mjs.map → renderer-sPI7aY6c.mjs.map} +1 -1
- package/dist/{renderer-sYSkIUfo.mjs → renderer-xDV2cCkX.mjs} +5 -5
- package/dist/{renderer-sYSkIUfo.mjs.map → renderer-xDV2cCkX.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-DH2oktaC.mjs → renderers-CP8CFWDs-BH1gUTYa.mjs} +4 -4
- package/dist/{renderers-CP8CFWDs-DH2oktaC.mjs.map → renderers-CP8CFWDs-BH1gUTYa.mjs.map} +1 -1
- package/dist/sam/index.d.mts +4 -0
- package/dist/sam/index.mjs +3 -0
- package/dist/signals/index.d.mts +7 -6
- package/dist/signals/index.mjs +8 -8
- package/dist/{signals-CXwgAUp-.mjs → signals-gOd0Ui9B.mjs} +4 -4
- package/dist/{signals-CXwgAUp-.mjs.map → signals-gOd0Ui9B.mjs.map} +1 -1
- package/dist/{src-CK5rGVbh.mjs → src-BU1VOWSk.mjs} +81 -39
- package/dist/src-BU1VOWSk.mjs.map +1 -0
- package/dist/{renderer-B0piZg9r.mjs → src-Bnr8DUC--DzkRGA62.mjs} +12 -993
- package/dist/src-Bnr8DUC--DzkRGA62.mjs.map +1 -0
- package/package.json +69 -69
- package/dist/audio-Ccpl9mjV.d.mts.map +0 -1
- package/dist/index-CZjrnylh.d.mts.map +0 -1
- package/dist/index-D5UDyVMb.d.mts.map +0 -1
- package/dist/index-Du5YgdzM.d.mts.map +0 -1
- package/dist/preview-engine/chunk-CCB3VTY2.mjs +0 -39
- package/dist/preview-engine/src-NGVAJYHC.mjs +0 -8
- package/dist/renderer--Ac-dg4A.mjs +0 -5
- package/dist/renderer--N7TMqzU.mjs +0 -5
- package/dist/renderer-2ecmdOae.mjs +0 -5
- package/dist/renderer-B0piZg9r.mjs.map +0 -1
- package/dist/renderer-B5RJp5g-.mjs +0 -5
- package/dist/renderer-B7xyT1Vb.mjs +0 -5
- package/dist/renderer-BBeArN_x.mjs +0 -5
- package/dist/renderer-BCAZDu-r.mjs +0 -5
- package/dist/renderer-BJnhik7Y.mjs +0 -5
- package/dist/renderer-BxRW8MZO.mjs +0 -5
- package/dist/renderer-C-lfsEAN.mjs +0 -5
- package/dist/renderer-C6nOFN4-.mjs +0 -5
- package/dist/renderer-C84TSQmS.mjs +0 -5
- package/dist/renderer-C8_6YofT.mjs +0 -5
- package/dist/renderer-COR66Sby.mjs +0 -3
- package/dist/renderer-COb3tOPG.mjs +0 -5
- package/dist/renderer-CSCIzaLy.mjs +0 -5
- package/dist/renderer-CmI4c8MS.mjs +0 -5
- package/dist/renderer-CqVltdX9.mjs +0 -5
- package/dist/renderer-D-FpMzLY.mjs +0 -5
- package/dist/renderer-D-Oyn9mG.mjs +0 -5
- package/dist/renderer-D2QrkA8_.mjs +0 -5
- package/dist/renderer-D64r4iN-.mjs +0 -5
- package/dist/renderer-DCq6YkgP.mjs +0 -5
- package/dist/renderer-DDHG3GdR.mjs +0 -5
- package/dist/renderer-DMdNfcud.mjs +0 -6
- package/dist/renderer-DZQXZ4lK.mjs +0 -5
- package/dist/renderer-DczJJLA1.mjs +0 -5
- package/dist/renderer-DfqJj9oe.mjs +0 -5
- package/dist/renderer-DgO9ihVJ.mjs +0 -5
- package/dist/renderer-DhgnQZYb.mjs +0 -5
- package/dist/renderer-DjxKjHMf.mjs +0 -5
- package/dist/renderer-DnRDW2Oz.mjs +0 -3
- package/dist/renderer-DqLA5cdR.mjs +0 -5
- package/dist/renderer-Dudp6ZlH.mjs +0 -5
- package/dist/renderer-_jC5KIT1.mjs +0 -5
- package/dist/renderer-cTgAuVmJ.mjs +0 -5
- package/dist/renderer-nVKDvDLO.mjs +0 -5
- package/dist/renderer-pZ6_pUo1.mjs +0 -5
- package/dist/src-CK5rGVbh.mjs.map +0 -1
- /package/dist/{chunk-BcJoO4Nm.mjs → chunk-D8S17ehY.mjs} +0 -0
- /package/dist/{renderer-COqFNSfV.mjs → renderer-Cputd36d.mjs} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as on}from"./chunk-BREZX5L5.mjs";import{a as Ce}from"./chunk-EAHJZDOJ.mjs";import{a as st}from"./chunk-6ISHV73H.mjs";import{h as Ae,i as it,j as Fe,k as fe,m as ae,n as pe,s as at}from"./chunk-BXPM5SJ3.mjs";import{G as Je}from"./chunk-GH77FX2Y.mjs";import{a as _,b as L}from"./chunk-6FULVULN.mjs";import{b as Qe,h as de,i as Oe,m as W}from"./chunk-ULOFDFHJ.mjs";import{a as nt,e as rt,i as Re,j as ot}from"./chunk-VEDMJBJV.mjs";import{b as ue,c as et,e as tt,t as rn}from"./chunk-QEWDIPJ7.mjs";import{d as Ee,e as me,g as Le}from"./chunk-BDZ3TSOT.mjs";import{d as nn,f as A,g as y}from"./chunk-Y4NIR77Z.mjs";y();var ct=class{domain="visual";signals;config;_frameHooks=[];constructor(e){this.config={...e},this.signals={};for(let[t,r]of Object.entries(e))de(r)?this.signals[t]=r:this.signals[t]=Oe(r);return new Proxy(this,{get(t,r,o){if(typeof r=="string"&&r in t.signals){let i=t.signals[r];return i?i.value:void 0}return Reflect.get(t,r,o)},set(t,r,o,i){if(typeof r=="string"&&r in t.signals){let s=t.signals[r];return de(o)?(t.signals[r]=o,t.config[r]=o):s&&typeof s.set=="function"?(s.set(o),t.config[r]=o):(t.signals[r]=Oe(o),t.config[r]=o),!0}return Reflect.set(t,r,o,i)}})}onRequestFrame(e){return this._frameHooks.push(e),this}notifyFrame(e){for(let t of this._frameHooks)t(e)}resolveUniforms(e){let t={};for(let[r,o]of Object.entries(this.signals))t[r]=o.get(e);return t}resolveTextures(){let e={};for(let[t,r]of Object.entries(this.signals)){let o=r.gpuBinding;o?.textureView&&(e[`${t}TextureView`]=o.textureView),o?.texture&&(e[`${t}Texture`]=o.texture)}return e}toOperation(){let e={op:this.op,effect:this,onRequestFrame:t=>this.notifyFrame(t),signals:this.signals,...this.config};for(let[t,r]of Object.entries(this.signals)){let o=this.config[t];!de(o)&&(typeof o=="string"||typeof o=="boolean")?e[t]=r.value:e[t]=r}return e}};y();var lt=class extends Error{constructor(e){super(e),this.name="ModerationError"}},dt=class extends Error{constructor(e){super(e),this.name="ModerationUnrefundableError"}};y();function Kn(n,e){if(ut(e),!Number.isFinite(n)||n<=0)throw new Error("durationMs must be finite and positive");let t=Math.max(1,Math.round(n/1e3*e));if(!Number.isSafeInteger(t))throw new Error("Duration exceeds the safe frame range");return t}function ut(n){if(!Number.isFinite(n)||n<=0)throw new Error(`Invalid fps: ${n}. Must be finite and > 0.`)}function qn(n,e){if(ut(e),n.atMs!==void 0&&(!Number.isFinite(n.atMs)||n.atMs<0))throw new Error("atMs must be finite and nonnegative");let t=n.atMs!==void 0?Math.round(n.atMs/1e3*e):n.frame??0;if(!Number.isSafeInteger(t)||t<0)throw new Error(`Invalid frame index: ${t}. Must be a nonnegative safe integer.`);let r=t/e*1e3;if(!Number.isFinite(r))throw new Error("Frame timestamp exceeds the finite range");return{frame:t,timeMs:r}}y();y();y();var mt="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var ft=(n=21)=>{let e="",t=crypto.getRandomValues(new Uint8Array(n|=0));for(;n--;)e+=mt[t[n]&63];return e};var sr=n=>ft(n);y();var pt=L.object({dataTypes:L.custom(),label:L.string(),required:L.boolean().optional(),order:L.number(),description:L.string().optional()}),sn=L.object({configKey:L.string(),dataTypes:L.custom(),label:L.string(),description:L.string().optional()}),lr=L.object({type:L.string().min(1),version:L.number().int().positive().optional(),baseType:L.string().optional(),displayName:L.string().min(1),description:L.string().optional(),showInQuickAccess:L.boolean().optional(),showInSidebar:L.boolean().optional(),advanced:L.boolean().optional(),category:L.string().min(1),subcategory:L.string().optional(),defaultDimensions:L.object({width:L.number().positive().optional(),height:L.number().positive().optional()}).optional(),handles:L.object({inputs:L.array(pt),outputs:L.array(pt)}),variableInputs:L.discriminatedUnion("enabled",[L.object({enabled:L.literal(!0),dataTypes:L.custom()}),L.object({enabled:L.literal(!1),dataTypes:L.custom().optional()})]).optional(),variableOutputs:L.discriminatedUnion("enabled",[L.object({enabled:L.literal(!0),dataTypes:L.custom()}),L.object({enabled:L.literal(!1),dataTypes:L.custom().optional()})]).optional(),isTerminal:L.boolean().optional(),isTransient:L.boolean().optional(),configSchema:L.custom().optional(),defaultConfig:L.record(L.string(),L.unknown()).optional(),validation:L.any().optional(),resultSchema:L.custom().optional(),configHandles:L.array(sn).optional()});y();function mr(n){if(!Number.isFinite(n)||!Number.isInteger(n)||n<0)throw new RangeError(`FrameIndex must be a non-negative finite integer, got ${n}`);return n}function fr(n){if(!Number.isFinite(n))throw new TypeError(`Seconds must be a finite number, got ${n}`);return n}function pr(n){if(!Number.isFinite(n))throw new TypeError(`Milliseconds must be a finite number, got ${n}`);return n}function hr(n){if(!Number.isFinite(n)||n<=0)throw new RangeError(`Fps must be a positive finite number, got ${n}`);return n}function gr(n){if(!Number.isFinite(n))throw new TypeError(`Normalized must be a finite number, got ${n}`);return Math.max(0,Math.min(1,n))}function br(n){if(!Number.isFinite(n))throw new TypeError(`Degrees must be a finite number, got ${n}`);return n}function yr(n){if(!Number.isFinite(n))throw new TypeError(`Radians must be a finite number, got ${n}`);return n}function xr(n){if(!Number.isFinite(n))throw new TypeError(`Pixels must be a finite number, got ${n}`);return n}function kr(n){if(!n)throw new TypeError("HandleId cannot be empty");return n}function Sr(n){if(!n)throw new TypeError("HandleLabel cannot be empty");return n}function _r(n){if(!n)throw new TypeError("NodeId cannot be empty");return n}function Tr(n){return typeof n=="number"&&Number.isInteger(n)&&n>=0}function wr(n){return typeof n=="number"&&Number.isFinite(n)&&n>=0&&n<=1}y();var Mr={Text:{bg:"bg-blue-500",stroke:"stroke-blue-500",hex:"#3b82f6",text:"text-blue-500",border:"border-blue-500"},Image:{bg:"bg-purple-500",stroke:"stroke-purple-500",hex:"#a855f7",text:"text-purple-500",border:"border-purple-500"},Video:{bg:"bg-teal-500",stroke:"stroke-teal-500",hex:"oklch(60% 0.118 184.704)",text:"text-teal-500",border:"border-teal-500"},Audio:{bg:"bg-orange-500",stroke:"stroke-orange-500",hex:"#f97316",text:"text-orange-500",border:"border-orange-500"},Number:{bg:"bg-green-600",stroke:"stroke-green-600",hex:"#16a34a",text:"text-green-600",border:"border-green-600"},Boolean:{bg:"bg-amber-600",stroke:"stroke-amber-600",hex:"#d97706",text:"text-amber-600",border:"border-amber-600"},SVG:{bg:"bg-lime-600",stroke:"stroke-lime-600",hex:"#65a30d",text:"text-lime-600",border:"border-lime-600"},Caption:{bg:"bg-rose-500",stroke:"stroke-rose-500",hex:"#f43f5e",text:"text-rose-500",border:"border-rose-500"},GIF:{bg:"bg-pink-500",stroke:"stroke-pink-500",hex:"#ec4899",text:"text-pink-500",border:"border-pink-500"},Lottie:{bg:"bg-indigo-500",stroke:"stroke-indigo-500",hex:"#6366f1",text:"text-indigo-500",border:"border-indigo-500"},Signal:{bg:"bg-fuchsia-500",stroke:"stroke-fuchsia-500",hex:"#d946ef",text:"text-fuchsia-500",border:"border-fuchsia-500"},LUT:{bg:"bg-cyan-600",stroke:"stroke-cyan-600",hex:"#0891b2",text:"text-cyan-600",border:"border-cyan-600"}};y();var Rr={Image:"png",Video:"mp4",Audio:"mp3",Text:"txt",Number:"txt",Boolean:"txt",SVG:"svg",Caption:"srt",Lottie:"json",ThreeD:"glb",GIF:"gif",Signal:"txt",LUT:"cube"},Er={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",pdf:"application/pdf",json:"application/json",txt:"text/plain",srt:"text/srt",aac:"audio/aac",flac:"audio/flac"},an=["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","copy","xor","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],gt=_.enum(an),ht=class n{static schemas=new Map;static register(e,t){n.schemas.set(e,t)}static get(e){return n.schemas.get(e)}static clear(){n.schemas.clear()}};y();var Fr={FONT_FAMILY:"Inter",FONT_SIZE:64,FILL:"#ffffff",LINE_HEIGHT:1.1,ALIGN:"left",VERTICAL_ALIGN:"top",LETTER_SPACING:0,STROKE_WIDTH:0,STROKE:"#000000",CORNER_RADIUS:0,PADDING:0};y();var cn=_.enum(["fade-in","fade-out","slide-in-left","slide-in-right","slide-in-top","slide-in-bottom","zoom-in","zoom-out","rotate-cw","rotate-ccw","bounce","shake"]),ln=_.object({id:_.string(),type:cn,value:_.number()}),dn=_.object({x:_.number().default(0),y:_.number().default(0),width:_.number().optional(),height:_.number().optional(),rotation:_.number().default(0),scale:_.number().min(0).default(1),opacity:_.number().min(0).max(1).default(1),zIndex:_.number().int().optional(),blendMode:gt.optional()}),un=_.object({startFrame:_.number().int().min(0).default(0),durationInMS:_.number().int().min(1).optional(),trimStart:_.number().int().min(0).optional(),trimEnd:_.number().int().min(0).optional(),speed:_.number().min(.25).max(4).optional()}),mn=_.object({text:_.string().optional(),fontSize:_.number().optional(),fontFamily:_.string().optional(),fontStyle:_.string().optional(),fontWeight:_.union([_.number(),_.string()]).optional(),fill:_.string().optional(),align:_.string().optional(),direction:_.enum(["ltr","rtl","auto"]).optional(),verticalAlign:_.string().optional(),letterSpacing:_.number().optional(),lineHeight:_.number().optional(),padding:_.number().optional(),stroke:_.string().optional(),strokeWidth:_.number().optional(),strokeAlign:_.enum(["inside","center","outside"]).optional(),textShadow:_.string().optional(),textBackgroundColor:_.string().optional(),shadows:_.array(_.object({color:_.string(),offset:_.object({x:_.number(),y:_.number()}).optional(),blurRadius:_.number().optional()})).optional(),textAnimation:_.any().optional(),bottomPadding:_.number().optional(),maxWidth:_.number().optional()}),fn=_.object({backgroundColor:_.string().optional(),borderColor:_.string().optional(),borderWidth:_.number().optional(),strokeRadius:_.number().optional(),autoDimensions:_.boolean().optional()}),Ve=_.enum(["Video","Image","Audio","Text","Caption","SVG","GIF","Lottie"]),bt=dn.merge(un).merge(mn).merge(fn).extend({type:Ve.optional(),animations:_.array(ln).optional()});y();var pn=_.enum(["none","crossfade","wipe-left","wipe-right","slide-up","slide-down"]),je=_.object({type:pn,durationFrames:_.number().min(1)});y();var Kr=bt.extend({id:_.string(),name:_.string().optional(),type:Ve,virtualMedia:Je.optional(),transitionIn:je.optional(),transitionOut:je.optional(),durationInMS:_.number(),maxDurationInMS:_.number().optional(),src:_.string().optional(),volume:_.number().default(1),inputHandleId:_.string().optional(),isPlaceholder:_.boolean().optional(),lockAspect:_.boolean().optional(),lockRatio:_.boolean().optional(),zIndex:_.number().optional()}).strict();y();function yt(n,e){if(n===e||typeof n=="number"&&typeof e=="number"&&Number.isNaN(n)&&Number.isNaN(e))return!0;if(n&&e&&typeof n=="object"&&typeof e=="object"){if(n.constructor!==e.constructor)return!1;if(Array.isArray(n)){if(n.length!==e.length)return!1;for(let r=0;r<n.length;r++)if(!yt(n[r],e[r]))return!1;return!0}if(n instanceof Date)return n.getTime()===e.getTime();if(n instanceof RegExp)return n.toString()===e.toString();let t=Object.keys(n);if(t.length!==Object.keys(e).length)return!1;for(let r of t)if(!Object.hasOwn(e,r)||!yt(n[r],e[r]))return!1;return!0}return!1}y();function to(n,e){if(!n?.sourceFingerprint)return null;let t=Ce(e);return n.sourceFingerprint!==t?null:n}function no(n,e){return{...n,sourceFingerprint:Ce(e)}}y();function so(n){try{let t=n.toString("utf-8").match(/<svg[^>]*>/i);if(!t)return null;let r=t[0],o=a=>{let p=r.match(new RegExp(`${a}=["']([^"']+)["']`,"i"));if(!p)return null;let c=parseFloat(p[1].replace(/[a-z%]/gi,""));return isNaN(c)?null:c},i=o("width"),s=o("height"),f=r.match(/viewBox=["']([^"']+)["']/i);if(f){let a=f[1].split(/[\s,]+/).map(parseFloat);if(a.length>=4&&!isNaN(a[2])&&!isNaN(a[3])){let p=a[2],c=a[3];i==null&&s==null?(i=p,s=c):i!=null&&s==null?s=i*(c/p):s!=null&&i==null&&(i=s*(p/c))}}return i!=null&&s!=null&&i>0&&s>0?{w:i,h:s}:null}catch(e){return console.error("Error parsing SVG dimensions",e),null}}y();var te=(n,e,t)=>`https://huggingface.co/${n}/resolve/${e}/${t}`,De="tori29umai/rtmdet-ins-onnx-person-masks",Be="e5218e8d47d7c50077f27f9893a28e0ef2ad5656",He="RTMDet-Ins (OpenMMLab mmdetection, Apache-2.0), mmdeploy ONNX export",Ne="RTMO (OpenMMLab mmpose, Apache-2.0), ONNX export",xt="MediaPipe Selfie Segmenter (Google, Apache-2.0), ONNX export",kt={"rtmdet-ins-t":{key:"rtmdet-ins-t",family:"rtmdet-ins",filename:"rtmdet-ins-t.onnx",url:te(De,Be,"models/tiny/rtmdet-ins_tiny_640x640.onnx"),bytes:24032356,sha256:"99ee670820c4493aa13e20578b6a8e39781c319846dc41796a77765734beac5c",input:[640,640],source:He},"rtmdet-ins-s":{key:"rtmdet-ins-s",family:"rtmdet-ins",filename:"rtmdet-ins-s.onnx",url:te(De,Be,"models/s/rtmdet-ins_s_640x640.onnx"),bytes:43236976,sha256:"9cd1787fbf3eb2bd64cc2d8154f41c036f5484b85599e1cbe0227a2dc5a4a08b",input:[640,640],source:He},"rtmdet-ins-m":{key:"rtmdet-ins-m",family:"rtmdet-ins",filename:"rtmdet-ins-m.onnx",url:te(De,Be,"models/m/rtmdet-ins_m_640x640.onnx"),bytes:115735979,sha256:"a003bce80316e03467c2c2b483df2d5c0398220c2357a44f9bf985929f7eb052",input:[640,640],source:He},"rtmo-t":{key:"rtmo-t",family:"rtmo",filename:"rtmo-t.onnx",url:te("Xenova/RTMO-t","f29d13ce5ee291fbe505e9d06a049992f05699dc","onnx/model.onnx"),bytes:27360569,sha256:"cb54dd042bf997df86d938721c94238940f2bff98ba8d2ccc834430de5c65c13",input:[416,416],source:Ne},"rtmo-s":{key:"rtmo-s",family:"rtmo",filename:"rtmo-s.onnx",url:te("Xenova/RTMO-s","d8c526187f341d287753831c9c8b1ecc4855bba1","onnx/model.onnx"),bytes:39636400,sha256:"1cd6a3517658903233e9ccb78666554862f57f0944b6886e2048093594aef4e7",input:[640,640],source:Ne},"rtmo-m":{key:"rtmo-m",family:"rtmo",filename:"rtmo-m.onnx",url:te("Xenova/RTMO-m","3aba1280472b98ee2bf663482e27e243038d23fe","onnx/model.onnx"),bytes:89291929,sha256:"76d82c45e5c4810baf587ecf2638d15cbf7ed196afb2055e977382532021b59e",input:[640,640],source:Ne},"selfie-square":{key:"selfie-square",family:"selfie",filename:"selfie-square.onnx",url:te("onnx-community/mediapipe_selfie_segmentation","be49485c8e027524be38591817fc5cd31bd9d00e","onnx/model.onnx"),bytes:462352,sha256:"3241ac4ad8aa35bdaf33946776db29f7c283a413aa0b0dacb9483594b4531aad",input:[256,256],source:xt},"selfie-landscape":{key:"selfie-landscape",family:"selfie",filename:"selfie-landscape.onnx",url:te("onnx-community/mediapipe_selfie_segmentation_landscape","2497d5bec26c626c7b3c4edc6e1fefc21b64f6c3","onnx/model.onnx"),bytes:462338,sha256:"7a0adcfdb1715d3b0ff0f61486d8a181c33f4a208343a5abfccbc6540e872d24",input:[256,144],source:xt}},Z=kt;function co(n){kt[n.key]=n}function St(n,e="s",t=1){return n==="pose"?`rtmo-${e}`:n==="matte"?t>1.3?"selfie-landscape":"selfie-square":`rtmdet-ins-${e}`}var he=["person","bicycle","car","motorcycle","airplane","bus","train","truck","boat","traffic light","fire hydrant","stop sign","parking meter","bench","bird","cat","dog","horse","sheep","cow","elephant","bear","zebra","giraffe","backpack","umbrella","handbag","tie","suitcase","frisbee","skis","snowboard","sports ball","kite","baseball bat","baseball glove","skateboard","surfboard","tennis racket","bottle","wine glass","cup","fork","knife","spoon","bowl","banana","apple","sandwich","orange","broccoli","carrot","hot dog","pizza","donut","cake","chair","couch","potted plant","bed","dining table","toilet","tv","laptop","mouse","remote","keyboard","cell phone","microwave","oven","toaster","sink","refrigerator","book","clock","vase","scissors","teddy bear","hair drier","toothbrush"];y();function re(n,e){let t=Math.max(n.originX,e.originX),r=Math.max(n.originY,e.originY),o=Math.min(n.originX+n.width,e.originX+e.width),i=Math.min(n.originY+n.height,e.originY+e.height),s=Math.max(0,o-t),f=Math.max(0,i-r),a=s*f;if(a<=0)return 0;let p=n.width*n.height,c=e.width*e.height,u=p+c-a;return u>0?a/u:0}var ge=class{_nextTrackId=1;_tracks=[];_iouThreshold;_maxMissedFrames;_minHits;_positionSmoothing;_activeDuringCoast;constructor(e={}){this._iouThreshold=e.iouThreshold??.25,this._maxMissedFrames=e.maxMissedFrames??15,this._minHits=e.minHits??1,this._positionSmoothing=Math.max(.1,Math.min(1,e.positionSmoothing??.75)),this._activeDuringCoast=e.activeDuringCoast!==!1}update(e,t,r=24){let o=r>0?1/r:.0416;for(let a of this._tracks)if(a.age++,a.timeSinceUpdate++,a.timeSinceUpdate>0){let p=a.centerX+a.vx*o,c=a.centerY+a.vy*o;a.centerX=p,a.centerY=c;let u=a.box.width,h=a.box.height,b=a.box.normalizedWidth,g=a.box.normalizedHeight,C=a.box.normalizedX+b/2+a.vx*o/Math.max(1,a.box.width/b),R=a.box.normalizedY+g/2+a.vy*o/Math.max(1,a.box.height/g);a.box={originX:p-u/2,originY:c-h/2,width:u,height:h,normalizedX:C-b/2,normalizedY:R-g/2,normalizedWidth:b,normalizedHeight:g},a.vx*=.92,a.vy*=.92,a.isCoasting=!0}let i=new Set,s=new Set,f=[];for(let a=0;a<this._tracks.length;a++){let p=this._tracks[a];for(let c=0;c<e.length;c++){let u=e[c];if(p.category!==u.category)continue;let h=re(p.box,u.boundingBox);h>=this._iouThreshold&&f.push({trackIdx:a,detIdx:c,iou:h})}}f.sort((a,p)=>p.iou-a.iou);for(let a of f){if(s.has(a.trackIdx)||i.has(a.detIdx))continue;s.add(a.trackIdx),i.add(a.detIdx);let p=this._tracks[a.trackIdx],c=e[a.detIdx],u=c.boundingBox,h=u.originX+u.width/2,b=u.originY+u.height/2,g=(h-p.centerX)/o,C=(b-p.centerY)/o;p.vx=p.vx*.4+g*.6,p.vy=p.vy*.4+C*.6;let R=this._positionSmoothing,k=p.box.width*(1-R)+u.width*R,v=p.box.height*(1-R)+u.height*R,E=p.centerX*(1-R)+h*R,F=p.centerY*(1-R)+b*R;p.centerX=E,p.centerY=F,p.score=c.score,p.timeSinceUpdate=0,p.hits++,p.isCoasting=!1,p.hits>=this._minHits&&(p.active=!0),p.box={originX:E-k/2,originY:F-v/2,width:k,height:v,normalizedX:u.normalizedX,normalizedY:u.normalizedY,normalizedWidth:u.normalizedWidth,normalizedHeight:u.normalizedHeight}}for(let a=0;a<e.length;a++){if(i.has(a))continue;let p=e[a],c=p.boundingBox,u=c.originX+c.width/2,h=c.originY+c.height/2;this._tracks.push({trackId:this._nextTrackId++,category:p.category,score:p.score,box:c,centerX:u,centerY:h,vx:0,vy:0,age:1,hits:1,timeSinceUpdate:0,active:this._minHits<=1,isCoasting:!1})}return this._tracks=this._tracks.filter(a=>a.timeSinceUpdate<=this._maxMissedFrames),this._tracks.filter(a=>a.active).map(a=>{let p=a.box.normalizedWidth,c=a.box.normalizedHeight,u=a.box.normalizedX+p/2,h=a.box.normalizedY+c/2,b=Math.sqrt(a.vx*a.vx+a.vy*a.vy);return{trackId:a.trackId,category:a.category,score:a.score,boundingBox:a.box,centerX:a.centerX,centerY:a.centerY,normalizedCenterX:u,normalizedCenterY:h,velocity:{vx:a.vx,vy:a.vy},speed:b,age:a.age,hits:a.hits,active:this._activeDuringCoast?!0:a.timeSinceUpdate===0,isCoasting:a.isCoasting}})}trackSequence(e,t,r=24){this.reset();let o=r>0?1/r:.0416,i=new Map;for(let a=0;a<t;a++){let p=e[a]??[],c=this.update(p,a,r);for(let u of c)i.has(u.trackId)||i.set(u.trackId,{category:u.category,observations:[]}),u.isCoasting||i.get(u.trackId).observations.push({frame:a,box:u.boundingBox,score:u.score})}let s=new Map;for(let[a,p]of i.entries()){let c=p.observations;if(c.length===0)continue;c.sort((k,v)=>k.frame-v.frame);let u=new Array(t).fill(null);for(let k of c)u[k.frame]={box:k.box,score:k.score};let h=c[0];for(let k=0;k<h.frame;k++)u[k]={box:{...h.box},score:h.score*.9};for(let k=0;k<c.length-1;k++){let v=c[k],E=c[k+1],F=E.frame-v.frame;if(!(F<=1))for(let l=v.frame+1;l<E.frame;l++){let m=(l-v.frame)/F,M=v.box.originX+(E.box.originX-v.box.originX)*m,P=v.box.originY+(E.box.originY-v.box.originY)*m,T=v.box.width+(E.box.width-v.box.width)*m,w=v.box.height+(E.box.height-v.box.height)*m,V=v.box.normalizedX+(E.box.normalizedX-v.box.normalizedX)*m,I=v.box.normalizedY+(E.box.normalizedY-v.box.normalizedY)*m,x=v.box.normalizedWidth+(E.box.normalizedWidth-v.box.normalizedWidth)*m,d=v.box.normalizedHeight+(E.box.normalizedHeight-v.box.normalizedHeight)*m;u[l]={box:{originX:M,originY:P,width:T,height:w,normalizedX:V,normalizedY:I,normalizedWidth:x,normalizedHeight:d},score:v.score*(1-m)+E.score*m}}}let b=c[c.length-1];for(let k=b.frame+1;k<t;k++)u[k]={box:{...b.box},score:b.score*.9};let g=[],C=2,R=[.06136,.24477,.38774,.24477,.06136];for(let k=0;k<t;k++){let v=0,E=0,F=0,l=0,m=0,M=0,P=0,T=0,w=0,V=0;for(let x=-C;x<=C;x++){let d=Math.max(0,Math.min(t-1,k+x)),O=u[d];if(O){let N=R[x+C];v+=N,E+=O.box.originX*N,F+=O.box.originY*N,l+=O.box.width*N,m+=O.box.height*N,M+=O.box.normalizedX*N,P+=O.box.normalizedY*N,T+=O.box.normalizedWidth*N,w+=O.box.normalizedHeight*N,V+=O.score*N}}let I=v>0?1/v:1;g.push({box:{originX:E*I,originY:F*I,width:l*I,height:m*I,normalizedX:M*I,normalizedY:P*I,normalizedWidth:T*I,normalizedHeight:w*I},score:V*I})}s.set(a,{category:p.category,frames:g})}let f=[];for(let a=0;a<t;a++){let p=[];for(let[c,u]of s.entries()){let h=u.frames[a];if(!h)continue;let b=u.frames[Math.max(0,a-1)]??h,g=u.frames[Math.min(t-1,a+1)]??h,C=h.box.originX+h.box.width/2,R=h.box.originY+h.box.height/2,k=b.box.originX+b.box.width/2,v=b.box.originY+b.box.height/2,E=g.box.originX+g.box.width/2,F=g.box.originY+g.box.height/2,l=a===0||a===t-1?o:2*o,m=(E-k)/l,M=(F-v)/l,P=Math.sqrt(m*m+M*M),T=h.box.normalizedWidth,w=h.box.normalizedHeight;p.push({trackId:c,category:u.category,score:h.score,boundingBox:h.box,centerX:C,centerY:R,normalizedCenterX:h.box.normalizedX+T/2,normalizedCenterY:h.box.normalizedY+w/2,velocity:{vx:m,vy:M},speed:P,age:a+1,hits:10,active:!0,isCoasting:!1})}f.push(p)}return f}reset(){this._tracks=[],this._nextTrackId=1}};y();var _t=()=>typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now();async function go(n,e){let{runner:t}=e,r=e.fps??24,o=e.tasks&&e.tasks.length>0?e.tasks:["detect"],i=new Set(o),s=e.categories?new Set(e.categories.map(x=>x.toLowerCase())):null,f=e.includeMasks===!0&&i.has("segment"),a=i.has("detect")||i.has("segment"),p=[],c={},u=new Map,h=0,b=0,g=x=>!s||s.has(x.toLowerCase()),C=async(x,d,O)=>{let N=t.modelKeyFor(x,d.width/d.height),B=t.downloadStatus.get(N)==="ready",D=_t(),j=await O(),X=_t()-D;return h+=X,!B&&!c[N]&&(c[N]={bytes:Z[N].bytes,ms:X}),j},R=x=>{for(let d of x){if(!g(d.category))continue;let O=u.get(d.category)??{sum:0,count:0};O.sum+=d.coverage,O.count++,u.set(d.category,O)}};for await(let x of n){let d=[];if(f){let O=await C("segment",x,()=>t.segment(x));R(O.masks),d=O.detections}else a&&(d=await C("detect",x,()=>t.detect(x)));i.has("pose")&&await C("pose",x,()=>t.pose(x)),i.has("matte")&&await C("matte",x,()=>t.matte(x)),p.push(s?d.filter(O=>g(O.category)):d),b++}let k=b,E=new ge({iouThreshold:e.iouThreshold??.25,maxMissedFrames:e.maxMissedFrames??15}).trackSequence(p,k,r),F=e.pathStride??Math.max(1,Math.ceil(k/50)),l=new Map,m=new Map,M=new Map,P=new Map,T=(x,d,O)=>{let N=x.get(d);return N===void 0&&(N=O(),x.set(d,N)),N};for(let x=0;x<k;x++)for(let d of E[x]??[]){if(!g(d.category))continue;let O=l.get(d.trackId);O||(O={category:d.category,firstFrame:x,lastFrame:x,speedSum:0,speedCount:0,centers:[]},l.set(d.trackId,O)),O.lastFrame=x,Number.isFinite(d.speed)&&(O.speedSum+=d.speed,O.speedCount++),(x-O.firstFrame)%F===0&&O.centers.push({frame:x,x:d.centerX,y:d.centerY}),T(m,d.category,()=>new Set).add(x),M.set(d.category,Math.max(M.get(d.category)??0,d.score)),T(P,d.category,()=>new Set).add(d.trackId)}let w=Array.from(l.entries()).map(([x,d])=>({trackId:x,category:d.category,frames:[d.firstFrame,d.lastFrame],speedMeanPxS:d.speedCount>0?d.speedSum/d.speedCount:0,centerPath:d.centers.map(O=>[O.x,O.y])})).sort((x,d)=>x.trackId-d.trackId),V={};for(let[x,d]of m)V[x]={framesPresent:d.size,totalFrames:k,maxConfidence:M.get(x)??0,tracks:P.get(x)?.size??0};let I={};for(let[x,d]of u)I[x]={meanCoverage:d.count>0?d.sum/d.count:0};return{source:e.source??"frames",totalFrames:k,fps:r,durationSec:r>0?k/r:0,tasks:Array.from(i),modelDownloads:c,inferenceMs:h,trackCount:w.length,classes:V,tracks:w,masks:I}}y();var S={NOSE:0,LEFT_EYE:1,RIGHT_EYE:2,LEFT_EAR:3,RIGHT_EAR:4,LEFT_SHOULDER:5,RIGHT_SHOULDER:6,LEFT_ELBOW:7,RIGHT_ELBOW:8,LEFT_WRIST:9,RIGHT_WRIST:10,LEFT_HIP:11,RIGHT_HIP:12,LEFT_KNEE:13,RIGHT_KNEE:14,LEFT_ANKLE:15,RIGHT_ANKLE:16},ze=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"],Tt=[{from:S.NOSE,to:S.LEFT_SHOULDER,color:[0,1,1,1]},{from:S.NOSE,to:S.RIGHT_SHOULDER,color:[0,1,1,1]},{from:S.LEFT_SHOULDER,to:S.RIGHT_SHOULDER,color:[1,0,0,1]},{from:S.LEFT_SHOULDER,to:S.LEFT_ELBOW,color:[1,.333,0,1]},{from:S.LEFT_ELBOW,to:S.LEFT_WRIST,color:[1,.667,0,1]},{from:S.RIGHT_SHOULDER,to:S.RIGHT_ELBOW,color:[1,1,0,1]},{from:S.RIGHT_ELBOW,to:S.RIGHT_WRIST,color:[.667,1,0,1]},{from:S.LEFT_SHOULDER,to:S.LEFT_HIP,color:[.333,1,0,1]},{from:S.RIGHT_SHOULDER,to:S.RIGHT_HIP,color:[0,1,0,1]},{from:S.LEFT_HIP,to:S.RIGHT_HIP,color:[0,1,.333,1]},{from:S.LEFT_HIP,to:S.LEFT_KNEE,color:[0,1,.667,1]},{from:S.LEFT_KNEE,to:S.LEFT_ANKLE,color:[0,1,1,1]},{from:S.RIGHT_HIP,to:S.RIGHT_KNEE,color:[0,.667,1,1]},{from:S.RIGHT_KNEE,to:S.RIGHT_ANKLE,color:[0,.333,1,1]}];y();y();y();var wt=`
|
|
1
|
+
import{a as on}from"./chunk-BREZX5L5.mjs";import{a as Oe}from"./chunk-EAHJZDOJ.mjs";import{a as st}from"./chunk-6ISHV73H.mjs";import{h as Ae,i as it,j as Fe,k as fe,m as ae,n as pe,s as at}from"./chunk-BXPM5SJ3.mjs";import{G as Je}from"./chunk-GH77FX2Y.mjs";import{a as _,b as L}from"./chunk-6FULVULN.mjs";import{b as Qe,h as de,i as Ce,m as W}from"./chunk-ULOFDFHJ.mjs";import{a as nt,e as rt,i as Re,j as ot}from"./chunk-VEDMJBJV.mjs";import{b as ue,c as et,e as tt,t as rn}from"./chunk-QEWDIPJ7.mjs";import{d as Ee,e as me,g as Le}from"./chunk-BDZ3TSOT.mjs";import{d as nn,f as A,g as y}from"./chunk-Y4NIR77Z.mjs";y();var ct=class{domain="visual";signals;config;_frameHooks=[];constructor(e){this.config={...e},this.signals={};for(let[t,r]of Object.entries(e))de(r)?this.signals[t]=r:this.signals[t]=Ce(r);return new Proxy(this,{get(t,r,o){if(typeof r=="string"&&r in t.signals){let i=t.signals[r];return i?i.value:void 0}return Reflect.get(t,r,o)},set(t,r,o,i){if(typeof r=="string"&&r in t.signals){let s=t.signals[r];return de(o)?(t.signals[r]=o,t.config[r]=o):s&&typeof s.set=="function"?(s.set(o),t.config[r]=o):(t.signals[r]=Ce(o),t.config[r]=o),!0}return Reflect.set(t,r,o,i)}})}onRequestFrame(e){return this._frameHooks.push(e),this}notifyFrame(e){for(let t of this._frameHooks)t(e)}resolveUniforms(e){let t={};for(let[r,o]of Object.entries(this.signals))t[r]=o.get(e);return t}resolveTextures(){let e={};for(let[t,r]of Object.entries(this.signals)){let o=r.gpuBinding;o?.textureView&&(e[`${t}TextureView`]=o.textureView),o?.texture&&(e[`${t}Texture`]=o.texture)}return e}toOperation(){let e={op:this.op,effect:this,onRequestFrame:t=>this.notifyFrame(t),signals:this.signals,...this.config};for(let[t,r]of Object.entries(this.signals)){let o=this.config[t];!de(o)&&(typeof o=="string"||typeof o=="boolean")?e[t]=r.value:e[t]=r}return e}};y();var lt=class extends Error{constructor(e){super(e),this.name="ModerationError"}},dt=class extends Error{constructor(e){super(e),this.name="ModerationUnrefundableError"}};y();function Kn(n,e){if(ut(e),!Number.isFinite(n)||n<=0)throw new Error("durationMs must be finite and positive");let t=Math.max(1,Math.round(n/1e3*e));if(!Number.isSafeInteger(t))throw new Error("Duration exceeds the safe frame range");return t}function ut(n){if(!Number.isFinite(n)||n<=0)throw new Error(`Invalid fps: ${n}. Must be finite and > 0.`)}function qn(n,e){if(ut(e),n.atMs!==void 0&&(!Number.isFinite(n.atMs)||n.atMs<0))throw new Error("atMs must be finite and nonnegative");let t=n.atMs!==void 0?Math.round(n.atMs/1e3*e):n.frame??0;if(!Number.isSafeInteger(t)||t<0)throw new Error(`Invalid frame index: ${t}. Must be a nonnegative safe integer.`);let r=t/e*1e3;if(!Number.isFinite(r))throw new Error("Frame timestamp exceeds the finite range");return{frame:t,timeMs:r}}y();y();y();var mt="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var ft=(n=21)=>{let e="",t=crypto.getRandomValues(new Uint8Array(n|=0));for(;n--;)e+=mt[t[n]&63];return e};var sr=n=>ft(n);y();var pt=L.object({dataTypes:L.custom(),label:L.string(),required:L.boolean().optional(),order:L.number(),description:L.string().optional()}),sn=L.object({configKey:L.string(),dataTypes:L.custom(),label:L.string(),description:L.string().optional()}),lr=L.object({type:L.string().min(1),version:L.number().int().positive().optional(),baseType:L.string().optional(),displayName:L.string().min(1),description:L.string().optional(),showInQuickAccess:L.boolean().optional(),showInSidebar:L.boolean().optional(),advanced:L.boolean().optional(),category:L.string().min(1),subcategory:L.string().optional(),defaultDimensions:L.object({width:L.number().positive().optional(),height:L.number().positive().optional()}).optional(),handles:L.object({inputs:L.array(pt),outputs:L.array(pt)}),variableInputs:L.discriminatedUnion("enabled",[L.object({enabled:L.literal(!0),dataTypes:L.custom()}),L.object({enabled:L.literal(!1),dataTypes:L.custom().optional()})]).optional(),variableOutputs:L.discriminatedUnion("enabled",[L.object({enabled:L.literal(!0),dataTypes:L.custom()}),L.object({enabled:L.literal(!1),dataTypes:L.custom().optional()})]).optional(),isTerminal:L.boolean().optional(),isTransient:L.boolean().optional(),configSchema:L.custom().optional(),defaultConfig:L.record(L.string(),L.unknown()).optional(),validation:L.any().optional(),resultSchema:L.custom().optional(),configHandles:L.array(sn).optional()});y();function mr(n){if(!Number.isFinite(n)||!Number.isInteger(n)||n<0)throw new RangeError(`FrameIndex must be a non-negative finite integer, got ${n}`);return n}function fr(n){if(!Number.isFinite(n))throw new TypeError(`Seconds must be a finite number, got ${n}`);return n}function pr(n){if(!Number.isFinite(n))throw new TypeError(`Milliseconds must be a finite number, got ${n}`);return n}function hr(n){if(!Number.isFinite(n)||n<=0)throw new RangeError(`Fps must be a positive finite number, got ${n}`);return n}function gr(n){if(!Number.isFinite(n))throw new TypeError(`Normalized must be a finite number, got ${n}`);return Math.max(0,Math.min(1,n))}function br(n){if(!Number.isFinite(n))throw new TypeError(`Degrees must be a finite number, got ${n}`);return n}function yr(n){if(!Number.isFinite(n))throw new TypeError(`Radians must be a finite number, got ${n}`);return n}function xr(n){if(!Number.isFinite(n))throw new TypeError(`Pixels must be a finite number, got ${n}`);return n}function kr(n){if(!n)throw new TypeError("HandleId cannot be empty");return n}function Sr(n){if(!n)throw new TypeError("HandleLabel cannot be empty");return n}function _r(n){if(!n)throw new TypeError("NodeId cannot be empty");return n}function Tr(n){return typeof n=="number"&&Number.isInteger(n)&&n>=0}function wr(n){return typeof n=="number"&&Number.isFinite(n)&&n>=0&&n<=1}y();var Mr={Text:{bg:"bg-blue-500",stroke:"stroke-blue-500",hex:"#3b82f6",text:"text-blue-500",border:"border-blue-500"},Image:{bg:"bg-purple-500",stroke:"stroke-purple-500",hex:"#a855f7",text:"text-purple-500",border:"border-purple-500"},Video:{bg:"bg-teal-500",stroke:"stroke-teal-500",hex:"oklch(60% 0.118 184.704)",text:"text-teal-500",border:"border-teal-500"},Audio:{bg:"bg-orange-500",stroke:"stroke-orange-500",hex:"#f97316",text:"text-orange-500",border:"border-orange-500"},Number:{bg:"bg-green-600",stroke:"stroke-green-600",hex:"#16a34a",text:"text-green-600",border:"border-green-600"},Boolean:{bg:"bg-amber-600",stroke:"stroke-amber-600",hex:"#d97706",text:"text-amber-600",border:"border-amber-600"},SVG:{bg:"bg-lime-600",stroke:"stroke-lime-600",hex:"#65a30d",text:"text-lime-600",border:"border-lime-600"},Caption:{bg:"bg-rose-500",stroke:"stroke-rose-500",hex:"#f43f5e",text:"text-rose-500",border:"border-rose-500"},GIF:{bg:"bg-pink-500",stroke:"stroke-pink-500",hex:"#ec4899",text:"text-pink-500",border:"border-pink-500"},Lottie:{bg:"bg-indigo-500",stroke:"stroke-indigo-500",hex:"#6366f1",text:"text-indigo-500",border:"border-indigo-500"},Signal:{bg:"bg-fuchsia-500",stroke:"stroke-fuchsia-500",hex:"#d946ef",text:"text-fuchsia-500",border:"border-fuchsia-500"},LUT:{bg:"bg-cyan-600",stroke:"stroke-cyan-600",hex:"#0891b2",text:"text-cyan-600",border:"border-cyan-600"}};y();var Rr={Image:"png",Video:"mp4",Audio:"mp3",Text:"txt",Number:"txt",Boolean:"txt",SVG:"svg",Caption:"srt",Lottie:"json",ThreeD:"glb",GIF:"gif",Signal:"txt",LUT:"cube"},Er={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",pdf:"application/pdf",json:"application/json",txt:"text/plain",srt:"text/srt",aac:"audio/aac",flac:"audio/flac"},an=["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","copy","xor","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],gt=_.enum(an),ht=class n{static schemas=new Map;static register(e,t){n.schemas.set(e,t)}static get(e){return n.schemas.get(e)}static clear(){n.schemas.clear()}};y();var Fr={FONT_FAMILY:"Inter",FONT_SIZE:64,FILL:"#ffffff",LINE_HEIGHT:1.1,ALIGN:"left",VERTICAL_ALIGN:"top",LETTER_SPACING:0,STROKE_WIDTH:0,STROKE:"#000000",CORNER_RADIUS:0,PADDING:0};y();var cn=_.enum(["fade-in","fade-out","slide-in-left","slide-in-right","slide-in-top","slide-in-bottom","zoom-in","zoom-out","rotate-cw","rotate-ccw","bounce","shake"]),ln=_.object({id:_.string(),type:cn,value:_.number()}),dn=_.object({x:_.number().default(0),y:_.number().default(0),width:_.number().optional(),height:_.number().optional(),rotation:_.number().default(0),scale:_.number().min(0).default(1),opacity:_.number().min(0).max(1).default(1),zIndex:_.number().int().optional(),blendMode:gt.optional()}),un=_.object({startFrame:_.number().int().min(0).default(0),durationInMS:_.number().int().min(1).optional(),trimStart:_.number().int().min(0).optional(),trimEnd:_.number().int().min(0).optional(),speed:_.number().min(.25).max(4).optional()}),mn=_.object({text:_.string().optional(),fontSize:_.number().optional(),fontFamily:_.string().optional(),fontStyle:_.string().optional(),fontWeight:_.union([_.number(),_.string()]).optional(),fill:_.string().optional(),align:_.string().optional(),direction:_.enum(["ltr","rtl","auto"]).optional(),verticalAlign:_.string().optional(),letterSpacing:_.number().optional(),lineHeight:_.number().optional(),padding:_.number().optional(),stroke:_.string().optional(),strokeWidth:_.number().optional(),strokeAlign:_.enum(["inside","center","outside"]).optional(),textShadow:_.string().optional(),textBackgroundColor:_.string().optional(),shadows:_.array(_.object({color:_.string(),offset:_.object({x:_.number(),y:_.number()}).optional(),blurRadius:_.number().optional()})).optional(),textAnimation:_.any().optional(),bottomPadding:_.number().optional(),maxWidth:_.number().optional()}),fn=_.object({backgroundColor:_.string().optional(),borderColor:_.string().optional(),borderWidth:_.number().optional(),strokeRadius:_.number().optional(),autoDimensions:_.boolean().optional()}),Ve=_.enum(["Video","Image","Audio","Text","Caption","SVG","GIF","Lottie"]),bt=dn.merge(un).merge(mn).merge(fn).extend({type:Ve.optional(),animations:_.array(ln).optional()});y();var pn=_.enum(["none","crossfade","wipe-left","wipe-right","slide-up","slide-down"]),je=_.object({type:pn,durationFrames:_.number().min(1)});y();var Kr=bt.extend({id:_.string(),name:_.string().optional(),type:Ve,virtualMedia:Je.optional(),transitionIn:je.optional(),transitionOut:je.optional(),durationInMS:_.number(),maxDurationInMS:_.number().optional(),src:_.string().optional(),volume:_.number().default(1),inputHandleId:_.string().optional(),isPlaceholder:_.boolean().optional(),lockAspect:_.boolean().optional(),lockRatio:_.boolean().optional(),zIndex:_.number().optional()}).strict();y();function yt(n,e){if(n===e||typeof n=="number"&&typeof e=="number"&&Number.isNaN(n)&&Number.isNaN(e))return!0;if(n&&e&&typeof n=="object"&&typeof e=="object"){if(n.constructor!==e.constructor)return!1;if(Array.isArray(n)){if(n.length!==e.length)return!1;for(let r=0;r<n.length;r++)if(!yt(n[r],e[r]))return!1;return!0}if(n instanceof Date)return n.getTime()===e.getTime();if(n instanceof RegExp)return n.toString()===e.toString();let t=Object.keys(n);if(t.length!==Object.keys(e).length)return!1;for(let r of t)if(!Object.hasOwn(e,r)||!yt(n[r],e[r]))return!1;return!0}return!1}y();function to(n,e){if(!n?.sourceFingerprint)return null;let t=Oe(e);return n.sourceFingerprint!==t?null:n}function no(n,e){return{...n,sourceFingerprint:Oe(e)}}y();function so(n){try{let t=n.toString("utf-8").match(/<svg[^>]*>/i);if(!t)return null;let r=t[0],o=a=>{let p=r.match(new RegExp(`${a}=["']([^"']+)["']`,"i"));if(!p)return null;let c=parseFloat(p[1].replace(/[a-z%]/gi,""));return isNaN(c)?null:c},i=o("width"),s=o("height"),f=r.match(/viewBox=["']([^"']+)["']/i);if(f){let a=f[1].split(/[\s,]+/).map(parseFloat);if(a.length>=4&&!isNaN(a[2])&&!isNaN(a[3])){let p=a[2],c=a[3];i==null&&s==null?(i=p,s=c):i!=null&&s==null?s=i*(c/p):s!=null&&i==null&&(i=s*(p/c))}}return i!=null&&s!=null&&i>0&&s>0?{w:i,h:s}:null}catch(e){return console.error("Error parsing SVG dimensions",e),null}}y();var te=(n,e,t)=>`https://huggingface.co/${n}/resolve/${e}/${t}`,De="tori29umai/rtmdet-ins-onnx-person-masks",Be="e5218e8d47d7c50077f27f9893a28e0ef2ad5656",He="RTMDet-Ins (OpenMMLab mmdetection, Apache-2.0), mmdeploy ONNX export",Ne="RTMO (OpenMMLab mmpose, Apache-2.0), ONNX export",xt="MediaPipe Selfie Segmenter (Google, Apache-2.0), ONNX export",kt={"rtmdet-ins-t":{key:"rtmdet-ins-t",family:"rtmdet-ins",filename:"rtmdet-ins-t.onnx",url:te(De,Be,"models/tiny/rtmdet-ins_tiny_640x640.onnx"),bytes:24032356,sha256:"99ee670820c4493aa13e20578b6a8e39781c319846dc41796a77765734beac5c",input:[640,640],source:He},"rtmdet-ins-s":{key:"rtmdet-ins-s",family:"rtmdet-ins",filename:"rtmdet-ins-s.onnx",url:te(De,Be,"models/s/rtmdet-ins_s_640x640.onnx"),bytes:43236976,sha256:"9cd1787fbf3eb2bd64cc2d8154f41c036f5484b85599e1cbe0227a2dc5a4a08b",input:[640,640],source:He},"rtmdet-ins-m":{key:"rtmdet-ins-m",family:"rtmdet-ins",filename:"rtmdet-ins-m.onnx",url:te(De,Be,"models/m/rtmdet-ins_m_640x640.onnx"),bytes:115735979,sha256:"a003bce80316e03467c2c2b483df2d5c0398220c2357a44f9bf985929f7eb052",input:[640,640],source:He},"rtmo-t":{key:"rtmo-t",family:"rtmo",filename:"rtmo-t.onnx",url:te("Xenova/RTMO-t","f29d13ce5ee291fbe505e9d06a049992f05699dc","onnx/model.onnx"),bytes:27360569,sha256:"cb54dd042bf997df86d938721c94238940f2bff98ba8d2ccc834430de5c65c13",input:[416,416],source:Ne},"rtmo-s":{key:"rtmo-s",family:"rtmo",filename:"rtmo-s.onnx",url:te("Xenova/RTMO-s","d8c526187f341d287753831c9c8b1ecc4855bba1","onnx/model.onnx"),bytes:39636400,sha256:"1cd6a3517658903233e9ccb78666554862f57f0944b6886e2048093594aef4e7",input:[640,640],source:Ne},"rtmo-m":{key:"rtmo-m",family:"rtmo",filename:"rtmo-m.onnx",url:te("Xenova/RTMO-m","3aba1280472b98ee2bf663482e27e243038d23fe","onnx/model.onnx"),bytes:89291929,sha256:"76d82c45e5c4810baf587ecf2638d15cbf7ed196afb2055e977382532021b59e",input:[640,640],source:Ne},"selfie-square":{key:"selfie-square",family:"selfie",filename:"selfie-square.onnx",url:te("onnx-community/mediapipe_selfie_segmentation","be49485c8e027524be38591817fc5cd31bd9d00e","onnx/model.onnx"),bytes:462352,sha256:"3241ac4ad8aa35bdaf33946776db29f7c283a413aa0b0dacb9483594b4531aad",input:[256,256],source:xt},"selfie-landscape":{key:"selfie-landscape",family:"selfie",filename:"selfie-landscape.onnx",url:te("onnx-community/mediapipe_selfie_segmentation_landscape","2497d5bec26c626c7b3c4edc6e1fefc21b64f6c3","onnx/model.onnx"),bytes:462338,sha256:"7a0adcfdb1715d3b0ff0f61486d8a181c33f4a208343a5abfccbc6540e872d24",input:[256,144],source:xt}},Z=kt;function co(n){kt[n.key]=n}function St(n,e="s",t=1){return n==="pose"?`rtmo-${e}`:n==="matte"?t>1.3?"selfie-landscape":"selfie-square":`rtmdet-ins-${e}`}var he=["person","bicycle","car","motorcycle","airplane","bus","train","truck","boat","traffic light","fire hydrant","stop sign","parking meter","bench","bird","cat","dog","horse","sheep","cow","elephant","bear","zebra","giraffe","backpack","umbrella","handbag","tie","suitcase","frisbee","skis","snowboard","sports ball","kite","baseball bat","baseball glove","skateboard","surfboard","tennis racket","bottle","wine glass","cup","fork","knife","spoon","bowl","banana","apple","sandwich","orange","broccoli","carrot","hot dog","pizza","donut","cake","chair","couch","potted plant","bed","dining table","toilet","tv","laptop","mouse","remote","keyboard","cell phone","microwave","oven","toaster","sink","refrigerator","book","clock","vase","scissors","teddy bear","hair drier","toothbrush"];y();function re(n,e){let t=Math.max(n.originX,e.originX),r=Math.max(n.originY,e.originY),o=Math.min(n.originX+n.width,e.originX+e.width),i=Math.min(n.originY+n.height,e.originY+e.height),s=Math.max(0,o-t),f=Math.max(0,i-r),a=s*f;if(a<=0)return 0;let p=n.width*n.height,c=e.width*e.height,u=p+c-a;return u>0?a/u:0}var ge=class{_nextTrackId=1;_tracks=[];_iouThreshold;_maxMissedFrames;_minHits;_positionSmoothing;_activeDuringCoast;constructor(e={}){this._iouThreshold=e.iouThreshold??.25,this._maxMissedFrames=e.maxMissedFrames??15,this._minHits=e.minHits??1,this._positionSmoothing=Math.max(.1,Math.min(1,e.positionSmoothing??.75)),this._activeDuringCoast=e.activeDuringCoast!==!1}update(e,t,r=24){let o=r>0?1/r:.0416;for(let a of this._tracks)if(a.age++,a.timeSinceUpdate++,a.timeSinceUpdate>0){let p=a.centerX+a.vx*o,c=a.centerY+a.vy*o;a.centerX=p,a.centerY=c;let u=a.box.width,h=a.box.height,b=a.box.normalizedWidth,g=a.box.normalizedHeight,O=a.box.normalizedX+b/2+a.vx*o/Math.max(1,a.box.width/b),R=a.box.normalizedY+g/2+a.vy*o/Math.max(1,a.box.height/g);a.box={originX:p-u/2,originY:c-h/2,width:u,height:h,normalizedX:O-b/2,normalizedY:R-g/2,normalizedWidth:b,normalizedHeight:g},a.vx*=.92,a.vy*=.92,a.isCoasting=!0}let i=new Set,s=new Set,f=[];for(let a=0;a<this._tracks.length;a++){let p=this._tracks[a];for(let c=0;c<e.length;c++){let u=e[c];if(p.category!==u.category)continue;let h=re(p.box,u.boundingBox);h>=this._iouThreshold&&f.push({trackIdx:a,detIdx:c,iou:h})}}f.sort((a,p)=>p.iou-a.iou);for(let a of f){if(s.has(a.trackIdx)||i.has(a.detIdx))continue;s.add(a.trackIdx),i.add(a.detIdx);let p=this._tracks[a.trackIdx],c=e[a.detIdx],u=c.boundingBox,h=u.originX+u.width/2,b=u.originY+u.height/2,g=(h-p.centerX)/o,O=(b-p.centerY)/o;p.vx=p.vx*.4+g*.6,p.vy=p.vy*.4+O*.6;let R=this._positionSmoothing,k=p.box.width*(1-R)+u.width*R,v=p.box.height*(1-R)+u.height*R,E=p.centerX*(1-R)+h*R,F=p.centerY*(1-R)+b*R;p.centerX=E,p.centerY=F,p.score=c.score,p.timeSinceUpdate=0,p.hits++,p.isCoasting=!1,p.hits>=this._minHits&&(p.active=!0),p.box={originX:E-k/2,originY:F-v/2,width:k,height:v,normalizedX:u.normalizedX,normalizedY:u.normalizedY,normalizedWidth:u.normalizedWidth,normalizedHeight:u.normalizedHeight}}for(let a=0;a<e.length;a++){if(i.has(a))continue;let p=e[a],c=p.boundingBox,u=c.originX+c.width/2,h=c.originY+c.height/2;this._tracks.push({trackId:this._nextTrackId++,category:p.category,score:p.score,box:c,centerX:u,centerY:h,vx:0,vy:0,age:1,hits:1,timeSinceUpdate:0,active:this._minHits<=1,isCoasting:!1})}return this._tracks=this._tracks.filter(a=>a.timeSinceUpdate<=this._maxMissedFrames),this._tracks.filter(a=>a.active).map(a=>{let p=a.box.normalizedWidth,c=a.box.normalizedHeight,u=a.box.normalizedX+p/2,h=a.box.normalizedY+c/2,b=Math.sqrt(a.vx*a.vx+a.vy*a.vy);return{trackId:a.trackId,category:a.category,score:a.score,boundingBox:a.box,centerX:a.centerX,centerY:a.centerY,normalizedCenterX:u,normalizedCenterY:h,velocity:{vx:a.vx,vy:a.vy},speed:b,age:a.age,hits:a.hits,active:this._activeDuringCoast?!0:a.timeSinceUpdate===0,isCoasting:a.isCoasting}})}trackSequence(e,t,r=24){this.reset();let o=r>0?1/r:.0416,i=new Map;for(let a=0;a<t;a++){let p=e[a]??[],c=this.update(p,a,r);for(let u of c)i.has(u.trackId)||i.set(u.trackId,{category:u.category,observations:[]}),u.isCoasting||i.get(u.trackId).observations.push({frame:a,box:u.boundingBox,score:u.score})}let s=new Map;for(let[a,p]of i.entries()){let c=p.observations;if(c.length===0)continue;c.sort((k,v)=>k.frame-v.frame);let u=new Array(t).fill(null);for(let k of c)u[k.frame]={box:k.box,score:k.score};let h=c[0];for(let k=0;k<h.frame;k++)u[k]={box:{...h.box},score:h.score*.9};for(let k=0;k<c.length-1;k++){let v=c[k],E=c[k+1],F=E.frame-v.frame;if(!(F<=1))for(let l=v.frame+1;l<E.frame;l++){let m=(l-v.frame)/F,M=v.box.originX+(E.box.originX-v.box.originX)*m,P=v.box.originY+(E.box.originY-v.box.originY)*m,T=v.box.width+(E.box.width-v.box.width)*m,w=v.box.height+(E.box.height-v.box.height)*m,V=v.box.normalizedX+(E.box.normalizedX-v.box.normalizedX)*m,I=v.box.normalizedY+(E.box.normalizedY-v.box.normalizedY)*m,x=v.box.normalizedWidth+(E.box.normalizedWidth-v.box.normalizedWidth)*m,d=v.box.normalizedHeight+(E.box.normalizedHeight-v.box.normalizedHeight)*m;u[l]={box:{originX:M,originY:P,width:T,height:w,normalizedX:V,normalizedY:I,normalizedWidth:x,normalizedHeight:d},score:v.score*(1-m)+E.score*m}}}let b=c[c.length-1];for(let k=b.frame+1;k<t;k++)u[k]={box:{...b.box},score:b.score*.9};let g=[],O=2,R=[.06136,.24477,.38774,.24477,.06136];for(let k=0;k<t;k++){let v=0,E=0,F=0,l=0,m=0,M=0,P=0,T=0,w=0,V=0;for(let x=-O;x<=O;x++){let d=Math.max(0,Math.min(t-1,k+x)),C=u[d];if(C){let N=R[x+O];v+=N,E+=C.box.originX*N,F+=C.box.originY*N,l+=C.box.width*N,m+=C.box.height*N,M+=C.box.normalizedX*N,P+=C.box.normalizedY*N,T+=C.box.normalizedWidth*N,w+=C.box.normalizedHeight*N,V+=C.score*N}}let I=v>0?1/v:1;g.push({box:{originX:E*I,originY:F*I,width:l*I,height:m*I,normalizedX:M*I,normalizedY:P*I,normalizedWidth:T*I,normalizedHeight:w*I},score:V*I})}s.set(a,{category:p.category,frames:g})}let f=[];for(let a=0;a<t;a++){let p=[];for(let[c,u]of s.entries()){let h=u.frames[a];if(!h)continue;let b=u.frames[Math.max(0,a-1)]??h,g=u.frames[Math.min(t-1,a+1)]??h,O=h.box.originX+h.box.width/2,R=h.box.originY+h.box.height/2,k=b.box.originX+b.box.width/2,v=b.box.originY+b.box.height/2,E=g.box.originX+g.box.width/2,F=g.box.originY+g.box.height/2,l=a===0||a===t-1?o:2*o,m=(E-k)/l,M=(F-v)/l,P=Math.sqrt(m*m+M*M),T=h.box.normalizedWidth,w=h.box.normalizedHeight;p.push({trackId:c,category:u.category,score:h.score,boundingBox:h.box,centerX:O,centerY:R,normalizedCenterX:h.box.normalizedX+T/2,normalizedCenterY:h.box.normalizedY+w/2,velocity:{vx:m,vy:M},speed:P,age:a+1,hits:10,active:!0,isCoasting:!1})}f.push(p)}return f}reset(){this._tracks=[],this._nextTrackId=1}};y();var _t=()=>typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now();async function go(n,e){let{runner:t}=e,r=e.fps??24,o=e.tasks&&e.tasks.length>0?e.tasks:["detect"],i=new Set(o),s=e.categories?new Set(e.categories.map(x=>x.toLowerCase())):null,f=e.includeMasks===!0&&i.has("segment"),a=i.has("detect")||i.has("segment"),p=[],c={},u=new Map,h=0,b=0,g=x=>!s||s.has(x.toLowerCase()),O=async(x,d,C)=>{let N=t.modelKeyFor(x,d.width/d.height),B=t.downloadStatus.get(N)==="ready",D=_t(),j=await C(),X=_t()-D;return h+=X,!B&&!c[N]&&(c[N]={bytes:Z[N].bytes,ms:X}),j},R=x=>{for(let d of x){if(!g(d.category))continue;let C=u.get(d.category)??{sum:0,count:0};C.sum+=d.coverage,C.count++,u.set(d.category,C)}};for await(let x of n){let d=[];if(f){let C=await O("segment",x,()=>t.segment(x));R(C.masks),d=C.detections}else a&&(d=await O("detect",x,()=>t.detect(x)));i.has("pose")&&await O("pose",x,()=>t.pose(x)),i.has("matte")&&await O("matte",x,()=>t.matte(x)),p.push(s?d.filter(C=>g(C.category)):d),b++}let k=b,E=new ge({iouThreshold:e.iouThreshold??.25,maxMissedFrames:e.maxMissedFrames??15}).trackSequence(p,k,r),F=e.pathStride??Math.max(1,Math.ceil(k/50)),l=new Map,m=new Map,M=new Map,P=new Map,T=(x,d,C)=>{let N=x.get(d);return N===void 0&&(N=C(),x.set(d,N)),N};for(let x=0;x<k;x++)for(let d of E[x]??[]){if(!g(d.category))continue;let C=l.get(d.trackId);C||(C={category:d.category,firstFrame:x,lastFrame:x,speedSum:0,speedCount:0,centers:[]},l.set(d.trackId,C)),C.lastFrame=x,Number.isFinite(d.speed)&&(C.speedSum+=d.speed,C.speedCount++),(x-C.firstFrame)%F===0&&C.centers.push({frame:x,x:d.centerX,y:d.centerY}),T(m,d.category,()=>new Set).add(x),M.set(d.category,Math.max(M.get(d.category)??0,d.score)),T(P,d.category,()=>new Set).add(d.trackId)}let w=Array.from(l.entries()).map(([x,d])=>({trackId:x,category:d.category,frames:[d.firstFrame,d.lastFrame],speedMeanPxS:d.speedCount>0?d.speedSum/d.speedCount:0,centerPath:d.centers.map(C=>[C.x,C.y])})).sort((x,d)=>x.trackId-d.trackId),V={};for(let[x,d]of m)V[x]={framesPresent:d.size,totalFrames:k,maxConfidence:M.get(x)??0,tracks:P.get(x)?.size??0};let I={};for(let[x,d]of u)I[x]={meanCoverage:d.count>0?d.sum/d.count:0};return{source:e.source??"frames",totalFrames:k,fps:r,durationSec:r>0?k/r:0,tasks:Array.from(i),modelDownloads:c,inferenceMs:h,trackCount:w.length,classes:V,tracks:w,masks:I}}y();var S={NOSE:0,LEFT_EYE:1,RIGHT_EYE:2,LEFT_EAR:3,RIGHT_EAR:4,LEFT_SHOULDER:5,RIGHT_SHOULDER:6,LEFT_ELBOW:7,RIGHT_ELBOW:8,LEFT_WRIST:9,RIGHT_WRIST:10,LEFT_HIP:11,RIGHT_HIP:12,LEFT_KNEE:13,RIGHT_KNEE:14,LEFT_ANKLE:15,RIGHT_ANKLE:16},ze=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"],Tt=[{from:S.NOSE,to:S.LEFT_SHOULDER,color:[0,1,1,1]},{from:S.NOSE,to:S.RIGHT_SHOULDER,color:[0,1,1,1]},{from:S.LEFT_SHOULDER,to:S.RIGHT_SHOULDER,color:[1,0,0,1]},{from:S.LEFT_SHOULDER,to:S.LEFT_ELBOW,color:[1,.333,0,1]},{from:S.LEFT_ELBOW,to:S.LEFT_WRIST,color:[1,.667,0,1]},{from:S.RIGHT_SHOULDER,to:S.RIGHT_ELBOW,color:[1,1,0,1]},{from:S.RIGHT_ELBOW,to:S.RIGHT_WRIST,color:[.667,1,0,1]},{from:S.LEFT_SHOULDER,to:S.LEFT_HIP,color:[.333,1,0,1]},{from:S.RIGHT_SHOULDER,to:S.RIGHT_HIP,color:[0,1,0,1]},{from:S.LEFT_HIP,to:S.RIGHT_HIP,color:[0,1,.333,1]},{from:S.LEFT_HIP,to:S.LEFT_KNEE,color:[0,1,.667,1]},{from:S.LEFT_KNEE,to:S.LEFT_ANKLE,color:[0,1,1,1]},{from:S.RIGHT_HIP,to:S.RIGHT_KNEE,color:[0,.667,1,1]},{from:S.RIGHT_KNEE,to:S.RIGHT_ANKLE,color:[0,.333,1,1]}];y();y();y();var wt=`
|
|
2
2
|
struct Bone {
|
|
3
3
|
start: vec2<f32>,
|
|
4
4
|
end: vec2<f32>,
|
|
@@ -57,7 +57,7 @@ fn computePoseSkeleton(@builtin(global_invocation_id) id: vec3<u32>) {
|
|
|
57
57
|
|
|
58
58
|
textureStore(outputTex, id.xy, outColor);
|
|
59
59
|
}
|
|
60
|
-
`;var hn=[{from:0,to:11,color:[0,1,1,1]},{from:0,to:12,color:[0,1,1,1]},{from:11,to:12,color:[1,0,0,1]},{from:11,to:13,color:[1,.333,0,1]},{from:13,to:15,color:[1,.667,0,1]},{from:12,to:14,color:[1,1,0,1]},{from:14,to:16,color:[.667,1,0,1]},{from:11,to:23,color:[.333,1,0,1]},{from:12,to:24,color:[0,1,0,1]},{from:23,to:24,color:[0,1,.333,1]},{from:23,to:25,color:[0,1,.667,1]},{from:25,to:27,color:[0,1,1,1]},{from:24,to:26,color:[0,.667,1,1]},{from:26,to:28,color:[0,.333,1,1]}],be=class{constructor(e){this.device=e;let t=e.createShaderModule({label:"pose_skeleton.wgsl",code:wt});this.computePipeline=e.createComputePipeline({label:"PoseSkeletonComputePipeline",layout:"auto",compute:{module:t,entryPoint:"computePoseSkeleton"}}),this.uniformBuffer=e.createBuffer({size:1280,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST,label:"pose_skeleton_uniform_buffer"})}device;computePipeline;uniformBuffer;cachedOutputTexture;execute(e,t={},r){let o=r??hn,i=t.width??1024,s=t.height??1024,f=t.lineWidth??6,a=Math.max(1,f/2),p=1280,c=new ArrayBuffer(p),u=new Uint32Array(c),h=new Float32Array(c);u[0]=i,u[1]=s,u[2]=o.length,u[3]=0;let b=4;for(let k=0;k<o.length;k++){let v=o[k],E=e[v.from],F=e[v.to],l=b+k*12;if(!E||!F||(E.visibility??1)<.2||(F.visibility??1)<.2){h[l+9]=0;continue}h[l+0]=E.x*i,h[l+1]=E.y*s,h[l+2]=F.x*i,h[l+3]=F.y*s,h[l+4]=v.color[0],h[l+5]=v.color[1],h[l+6]=v.color[2],h[l+7]=v.color[3],h[l+8]=a,h[l+9]=1}this.device.queue.writeBuffer(this.uniformBuffer,0,c),(!this.cachedOutputTexture||this.cachedOutputTexture.width!==i||this.cachedOutputTexture.height!==s)&&(this.cachedOutputTexture?.destroy(),this.cachedOutputTexture=this.device.createTexture({label:"openpose_skeleton_texture",size:[i,s],format:"rgba8unorm",usage:GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC}));let g=this.device.createCommandEncoder({label:"pose_skeleton_command_encoder"}),C=this.device.createBindGroup({label:"pose_skeleton_bind_group",layout:this.computePipeline.getBindGroupLayout(0),entries:[{binding:0,resource:this.cachedOutputTexture.createView({label:"pose_skeleton_output_view"})},{binding:1,resource:{buffer:this.uniformBuffer}}]}),R=g.beginComputePass({label:"pose_skeleton_compute_pass"});return R.setPipeline(this.computePipeline),R.setBindGroup(0,C),R.dispatchWorkgroups(Math.ceil(i/16),Math.ceil(s/16),1),R.end(),this.device.queue.submit([g.finish()]),this.cachedOutputTexture}destroy(){this.cachedOutputTexture?.destroy(),this.cachedOutputTexture=void 0,this.uniformBuffer.destroy()}};var vt=class{pipeline;constructor(e){this.pipeline=new be(e)}renderToTexture(e,t,r=Tt){return this.pipeline.execute(e,t,r)}destroy(){this.pipeline.destroy()}};y();var Pt=class{device;pool=new Map;constructor(e){this.device=e}getOrCreateTexture(e,t){let r=this.pool.get(e);if(r&&r.width===t.width&&r.height===t.height)return r;r&&r.destroy();let o=t.format??"rgba8unorm",i=this.device.createTexture({label:t.label??`vision_segmentation_${e}`,size:[t.width,t.height,1],format:o,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return this.pool.set(e,i),i}uploadMask(e,t,r,o){let i=t.length>=r*o*4,s=i?"rgba8unorm":"r8unorm",f=this.getOrCreateTexture(e,{width:r,height:o,format:s}),a;if(t instanceof Float32Array){a=new Uint8Array(t.length);for(let b=0;b<t.length;b++)a[b]=Math.round(Math.max(0,Math.min(1,t[b]))*255)}else a=t;let c=r*(i?4:1),u=Math.ceil(c/256)*256,h;if(u===c)h=a;else{h=new Uint8Array(u*o);for(let b=0;b<o;b++)h.set(a.subarray(b*c,(b+1)*c),b*u)}return this.device.queue.writeTexture({texture:f},h.buffer,{offset:h.byteOffset,bytesPerRow:u,rowsPerImage:o},{width:r,height:o}),f}destroy(){for(let e of this.pool.values())e.destroy();this.pool.clear()}};y();y();var gn=[103.53,116.28,123.675],bn=[57.375,57.12,58.395],Mt={"rtmdet-ins":{fit:"topLeft",channels:"bgr",mean:gn,std:bn,padValue:114},rtmo:{fit:"center",channels:"bgr",mean:[0,0,0],std:[1,1,1],padValue:114},selfie:{fit:"stretch",channels:"rgb",mean:[0,0,0],std:[255,255,255],padValue:0}};function It(n){return Object.hasOwn(Mt,n)}function Ot(n,e){return{...Mt[n],width:e[0],height:e[1]}}function Ue(n,e,t){if(t.fit==="stretch")return{scaleX:t.width/n,scaleY:t.height/e,offsetX:0,offsetY:0,inputWidth:t.width,inputHeight:t.height};let r=Math.min(t.width/n,t.height/e),o=Math.round(n*r),i=Math.round(e*r),s=t.fit==="center";return{scaleX:r,scaleY:r,offsetX:s?(t.width-o)/2:0,offsetY:s?(t.height-i)/2:0,inputWidth:t.width,inputHeight:t.height}}function oe(n,e,t){return{x:(n-t.offsetX)/t.scaleX,y:(e-t.offsetY)/t.scaleY}}function Ct(n,e,t){let{width:r,height:o,data:i}=n,{width:s,height:f}=e,a=Ue(r,o,e),{scaleX:p,scaleY:c,offsetX:u,offsetY:h}=a,b=s*f;(!t||t.length<3*b)&&(t=new Float32Array(3*b));let g=e.channels==="bgr"?[2,1,0]:[0,1,2],[C,R,k]=e.mean,v=1/e.std[0],E=1/e.std[1],F=1/e.std[2],l=(e.padValue-C)*v,m=(e.padValue-R)*E,M=(e.padValue-k)*F,[P,T,w]=g,V=Math.ceil(u),I=Math.ceil(h),x=Math.min(s,Math.floor(u+r*p))-1,d=Math.min(f,Math.floor(h+o*c))-1;for(let O=0;O<f;O++){let N=O*s,B=O<I||O>d,D=Math.max(0,(O+.5-h)/c-.5),j=Math.min(o-1,Math.floor(D)),X=Math.min(o-1,j+1),U=D-j;for(let Y=0;Y<s;Y++){let z=N+Y;if(B||Y<V||Y>x){t[z]=l,t[b+z]=m,t[2*b+z]=M;continue}let G=Math.max(0,(Y+.5-u)/p-.5),H=Math.min(r-1,Math.floor(G)),Q=Math.min(r-1,H+1),$=G-H,K=(j*r+H)*4,q=(j*r+Q)*4,ee=(X*r+H)*4,we=(X*r+Q)*4,ve=(1-$)*(1-U),Pe=$*(1-U),Me=(1-$)*U,Ie=$*U;t[z]=(i[K+P]*ve+i[q+P]*Pe+i[ee+P]*Me+i[we+P]*Ie-C)*v,t[b+z]=(i[K+T]*ve+i[q+T]*Pe+i[ee+T]*Me+i[we+T]*Ie-R)*E,t[2*b+z]=(i[K+w]*ve+i[q+w]*Pe+i[ee+w]*Me+i[we+w]*Ie-k)*F}}return{tensor:t,transform:a}}y();var ye=8;function Ye(n,e){let{sourceWidth:t,sourceHeight:r,transform:o}=e,i=e.classes?new Set(e.classes.map(k=>k.toLowerCase())):null,s=[];for(let k=0;k<n.count;k++){let v=n.dets[k*5+4];if(!(v>=e.confidence))continue;let E=Number(n.labels[k]),F=e.classNames[E]??`class_${E}`;if(i&&!i.has(F.toLowerCase()))continue;let l=oe(n.dets[k*5],n.dets[k*5+1],o),m=oe(n.dets[k*5+2],n.dets[k*5+3],o),M=ne(l.x,0,t),P=ne(l.y,0,r),T=ne(m.x,0,t)-M,w=ne(m.y,0,r)-P;T<=0||w<=0||s.push({index:k,detection:{category:F,score:v,boundingBox:{originX:M,originY:P,width:T,height:w,normalizedX:M/t,normalizedY:P/r,normalizedWidth:T/t,normalizedHeight:w/r}}})}s.sort((k,v)=>v.detection.score-k.detection.score);let f=s.map(k=>k.detection),a=[];if(!n.masks&&!n.maskPlane)return{detections:f,masks:a};let p=e.maskThreshold??.5,c=e.featherRadius??.05,u=n.maskLogits?yn(p,c):xe(p,c),{maskWidth:h,maskHeight:b}=n,g=h*b,C=h/o.inputWidth,R=b/o.inputHeight;for(let k=0;k<s.length;k++){let{index:v,detection:E}=s[k],F=E.boundingBox,l=n.maskPlane?n.maskPlane(v):n.masks,m=n.maskPlane?0:v*g,M=Math.max(0,Math.floor(F.originX)-ye),P=Math.max(0,Math.floor(F.originY)-ye),T=Math.min(t-1,Math.ceil(F.originX+F.width)+ye),w=Math.min(r-1,Math.ceil(F.originY+F.height)+ye),V=new Uint8Array(t*r),I=0;for(let x=P;x<=w;x++){let d=((x+.5)*o.scaleY+o.offsetY)*R-.5,O=ne(Math.floor(d),0,b-1),N=Math.min(b-1,O+1),B=ne(d-O,0,1),D=x*t;for(let j=M;j<=T;j++){let X=((j+.5)*o.scaleX+o.offsetX)*C-.5,U=ne(Math.floor(X),0,h-1),Y=Math.min(h-1,U+1),z=ne(X-U,0,1),G=l[m+O*h+U]*(1-z)*(1-B)+l[m+O*h+Y]*z*(1-B)+l[m+N*h+U]*(1-z)*B+l[m+N*h+Y]*z*B,H=u(G);H>0&&(V[D+j]=H,I+=H/255)}}I=Math.round(I),I!==0&&a.push({category:E.category,mask:V,width:t,height:r,area:I,coverage:I/(t*r),detectionIndex:k})}return{detections:f,masks:a}}function xe(n,e){if(e<=0)return o=>o>n?255:0;let t=n-e,r=255/(2*e);return o=>o<=t?0:o>=n+e?255:(o-t)*r}function yn(n,e){let t=xe(n,e),r=s=>s<=0?-1/0:s>=1?1/0:Math.log(s/(1-s));if(e<=0){let s=r(n);return f=>f>s?255:0}let o=r(n-e),i=r(n+e);return s=>s<=o?0:s>=i?255:t(1/(1+Math.exp(-s)))}function ne(n,e,t){return n<e?e:n>t?t:n}y();var se={scores:"/Sigmoid_output_0",boxes:"/Concat_7_output_0",kernels:"/Concat_5_output_0",maskFeatures:"/bbox_head/mask_head/projection/Conv_output_0"},Rt=5e3,xn=Math.fround(.6),Et=Math.fround(.05),kn=200,Lt=100,Sn=[8,16,32],Xe=8,At=8,Ft=169;function Vt(n){let{scores:e,boxes:t,anchors:r,classes:o}=n,i=new Float32Array(r);for(let c=0;c<r;c++){let u=0,h=c*o;for(let b=0;b<o;b++){let g=e[h+b];g>u&&(u=g)}i[c]=u}let s=[];for(let c=0;c<r;c++)i[c]>Et&&s.push(c);s.sort((c,u)=>i[u]-i[c]||c-u),s.length>Rt&&(s.length=Rt);let f=[],a=[],p=[];for(let c=0;c<o;c++){a.length=0;for(let u of s)e[u*o+c]>Et&&a.push(u);if(a.length!==0){a.sort((u,h)=>e[h*o+c]-e[u*o+c]||u-h),p.length=0;for(let u of a){if(p.length>=kn)break;let h=!1;for(let b of p)if(_n(t,u,b)>xn){h=!0;break}h||(p.push(u),f.push({anchor:u,classIndex:c,score:e[u*o+c]}))}}}return f.sort((c,u)=>u.score-c.score),f.length>Lt&&(f.length=Lt),f}function _n(n,e,t){let r=n[e*4],o=n[e*4+1],i=n[e*4+2],s=n[e*4+3],f=n[t*4],a=n[t*4+1],p=n[t*4+2],c=n[t*4+3],u=Math.min(i,p)-Math.max(r,f),h=Math.min(s,c)-Math.max(o,a);if(u<=0||h<=0)return 0;let b=u*h,g=(i-r)*(s-o)+(p-f)*(c-a)-b;return g>0?b/g:0}function Tn(n,e,t){let r=0;for(let o of Sn){let i=Math.ceil(e/o),s=i*Math.ceil(t/o);if(n<r+s){let f=n-r;return{x:f%i*o,y:Math.floor(f/i)*o,stride:o}}r+=s}throw new RangeError(`anchor ${n} is out of range`)}function jt(n,e,t){let{kernels:r,maskFeatures:o,maskWidth:i,maskHeight:s}=n,f=i*s,a=t&&t.length>=f?t:new Float32Array(f),p=Tn(e,n.inputWidth,n.inputHeight),c=r.subarray(e*Ft,(e+1)*Ft),u=0,h=80,b=144,g=152,C=160,R=168,k=1/(p.stride*Xe),v=new Float32Array(2+At),E=new Float32Array(8),F=new Float32Array(8);for(let l=0;l<s;l++){let m=(p.y-l*Xe)*k;for(let M=0;M<i;M++){let P=l*i+M;v[0]=(p.x-M*Xe)*k,v[1]=m;for(let w=0;w<At;w++)v[2+w]=o[w*f+P];for(let w=0;w<8;w++){let V=c[g+w],I=u+w*10;for(let x=0;x<10;x++)V+=c[I+x]*v[x];E[w]=V>0?V:0}for(let w=0;w<8;w++){let V=c[C+w],I=h+w*8;for(let x=0;x<8;x++)V+=c[I+x]*E[x];F[w]=V>0?V:0}let T=c[R];for(let w=0;w<8;w++)T+=c[b+w]*F[w];a[P]=T}}return a}y();var Dt=17,Ge=.3;function Bt(n,e){let{sourceWidth:t,sourceHeight:r,transform:o}=e,i=n.keypointStride,s=[];for(let p=0;p<n.count;p++){let c=n.dets[p*5+4];if(!(c>=e.confidence))continue;let u=oe(n.dets[p*5],n.dets[p*5+1],o),h=oe(n.dets[p*5+2],n.dets[p*5+3],o),b=ie(u.x,0,t),g=ie(u.y,0,r),C=ie(h.x,0,t)-b,R=ie(h.y,0,r)-g;if(C<=0||R<=0)continue;let k=[],v=p*Dt*i;for(let F=0;F<Dt;F++){let l=v+F*i,m=oe(n.keypoints[l],n.keypoints[l+1],o);k.push({x:ie(m.x,0,t),y:ie(m.y,0,r),visibility:ie(n.keypoints[l+2],0,1)})}let E=0;for(let F of k)F.visibility>=Ge&&E++;E<(e.minVisibleKeypoints??3)||s.push({score:c,boundingBox:{originX:b,originY:g,width:C,height:R,normalizedX:b/t,normalizedY:g/r,normalizedWidth:C/t,normalizedHeight:R/r},keypoints:k})}s.sort((p,c)=>c.score-p.score);let f=e.iouThreshold??.6,a=[];for(let p of s)a.some(c=>wn(c,p,f))||a.push(p);return{people:a}}function ie(n,e,t){return n<e?e:n>t?t:n}function wn(n,e,t){if(re(n.boundingBox,e.boundingBox)>t)return!0;let r=Math.sqrt(n.boundingBox.width*n.boundingBox.height),o=0,i=0;for(let s=0;s<n.keypoints.length;s++){let f=n.keypoints[s],a=e.keypoints[s];f.visibility<Ge||a.visibility<Ge||(o+=Math.hypot(f.x-a.x,f.y-a.y),i++)}return i>=3&&o/i<.1*r}y();function Ht(n,e,t,r){let{sourceWidth:o,sourceHeight:i}=r,s=xe(r.maskThreshold??.5,r.featherRadius??.2),f=new Uint8Array(o*i),a=e/o,p=t/i,c=0;for(let u=0;u<i;u++){let h=Math.max(0,(u+.5)*p-.5),b=Math.min(t-1,Math.floor(h)),g=Math.min(t-1,b+1),C=h-b;for(let R=0;R<o;R++){let k=Math.max(0,(R+.5)*a-.5),v=Math.min(e-1,Math.floor(k)),E=Math.min(e-1,v+1),F=k-v,l=n[b*e+v]*(1-F)*(1-C)+n[b*e+E]*F*(1-C)+n[g*e+v]*(1-F)*C+n[g*e+E]*F*C,m=s(l);f[u*o+R]=m,c+=m}}return{mask:f,width:o,height:i,coverage:o*i>0?c/(255*o*i):0}}y();var vn=`
|
|
60
|
+
`;var hn=[{from:0,to:11,color:[0,1,1,1]},{from:0,to:12,color:[0,1,1,1]},{from:11,to:12,color:[1,0,0,1]},{from:11,to:13,color:[1,.333,0,1]},{from:13,to:15,color:[1,.667,0,1]},{from:12,to:14,color:[1,1,0,1]},{from:14,to:16,color:[.667,1,0,1]},{from:11,to:23,color:[.333,1,0,1]},{from:12,to:24,color:[0,1,0,1]},{from:23,to:24,color:[0,1,.333,1]},{from:23,to:25,color:[0,1,.667,1]},{from:25,to:27,color:[0,1,1,1]},{from:24,to:26,color:[0,.667,1,1]},{from:26,to:28,color:[0,.333,1,1]}],be=class{constructor(e){this.device=e;let t=e.createShaderModule({label:"pose_skeleton.wgsl",code:wt});this.computePipeline=e.createComputePipeline({label:"PoseSkeletonComputePipeline",layout:"auto",compute:{module:t,entryPoint:"computePoseSkeleton"}}),this.uniformBuffer=e.createBuffer({size:1280,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST,label:"pose_skeleton_uniform_buffer"})}device;computePipeline;uniformBuffer;cachedOutputTexture;execute(e,t={},r){let o=r??hn,i=t.width??1024,s=t.height??1024,f=t.lineWidth??6,a=Math.max(1,f/2),p=1280,c=new ArrayBuffer(p),u=new Uint32Array(c),h=new Float32Array(c);u[0]=i,u[1]=s,u[2]=o.length,u[3]=0;let b=4;for(let k=0;k<o.length;k++){let v=o[k],E=e[v.from],F=e[v.to],l=b+k*12;if(!E||!F||(E.visibility??1)<.2||(F.visibility??1)<.2){h[l+9]=0;continue}h[l+0]=E.x*i,h[l+1]=E.y*s,h[l+2]=F.x*i,h[l+3]=F.y*s,h[l+4]=v.color[0],h[l+5]=v.color[1],h[l+6]=v.color[2],h[l+7]=v.color[3],h[l+8]=a,h[l+9]=1}this.device.queue.writeBuffer(this.uniformBuffer,0,c),(!this.cachedOutputTexture||this.cachedOutputTexture.width!==i||this.cachedOutputTexture.height!==s)&&(this.cachedOutputTexture?.destroy(),this.cachedOutputTexture=this.device.createTexture({label:"openpose_skeleton_texture",size:[i,s],format:"rgba8unorm",usage:GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC}));let g=this.device.createCommandEncoder({label:"pose_skeleton_command_encoder"}),O=this.device.createBindGroup({label:"pose_skeleton_bind_group",layout:this.computePipeline.getBindGroupLayout(0),entries:[{binding:0,resource:this.cachedOutputTexture.createView({label:"pose_skeleton_output_view"})},{binding:1,resource:{buffer:this.uniformBuffer}}]}),R=g.beginComputePass({label:"pose_skeleton_compute_pass"});return R.setPipeline(this.computePipeline),R.setBindGroup(0,O),R.dispatchWorkgroups(Math.ceil(i/16),Math.ceil(s/16),1),R.end(),this.device.queue.submit([g.finish()]),this.cachedOutputTexture}destroy(){this.cachedOutputTexture?.destroy(),this.cachedOutputTexture=void 0,this.uniformBuffer.destroy()}};var vt=class{pipeline;constructor(e){this.pipeline=new be(e)}renderToTexture(e,t,r=Tt){return this.pipeline.execute(e,t,r)}destroy(){this.pipeline.destroy()}};y();var Pt=class{device;pool=new Map;constructor(e){this.device=e}getOrCreateTexture(e,t){let r=this.pool.get(e);if(r&&r.width===t.width&&r.height===t.height)return r;r&&r.destroy();let o=t.format??"rgba8unorm",i=this.device.createTexture({label:t.label??`vision_segmentation_${e}`,size:[t.width,t.height,1],format:o,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return this.pool.set(e,i),i}uploadMask(e,t,r,o){let i=t.length>=r*o*4,s=i?"rgba8unorm":"r8unorm",f=this.getOrCreateTexture(e,{width:r,height:o,format:s}),a;if(t instanceof Float32Array){a=new Uint8Array(t.length);for(let b=0;b<t.length;b++)a[b]=Math.round(Math.max(0,Math.min(1,t[b]))*255)}else a=t;let c=r*(i?4:1),u=Math.ceil(c/256)*256,h;if(u===c)h=a;else{h=new Uint8Array(u*o);for(let b=0;b<o;b++)h.set(a.subarray(b*c,(b+1)*c),b*u)}return this.device.queue.writeTexture({texture:f},h.buffer,{offset:h.byteOffset,bytesPerRow:u,rowsPerImage:o},{width:r,height:o}),f}destroy(){for(let e of this.pool.values())e.destroy();this.pool.clear()}};y();y();var gn=[103.53,116.28,123.675],bn=[57.375,57.12,58.395],Mt={"rtmdet-ins":{fit:"topLeft",channels:"bgr",mean:gn,std:bn,padValue:114},rtmo:{fit:"center",channels:"bgr",mean:[0,0,0],std:[1,1,1],padValue:114},selfie:{fit:"stretch",channels:"rgb",mean:[0,0,0],std:[255,255,255],padValue:0}};function It(n){return Object.hasOwn(Mt,n)}function Ct(n,e){return{...Mt[n],width:e[0],height:e[1]}}function Ue(n,e,t){if(t.fit==="stretch")return{scaleX:t.width/n,scaleY:t.height/e,offsetX:0,offsetY:0,inputWidth:t.width,inputHeight:t.height};let r=Math.min(t.width/n,t.height/e),o=Math.round(n*r),i=Math.round(e*r),s=t.fit==="center";return{scaleX:r,scaleY:r,offsetX:s?(t.width-o)/2:0,offsetY:s?(t.height-i)/2:0,inputWidth:t.width,inputHeight:t.height}}function oe(n,e,t){return{x:(n-t.offsetX)/t.scaleX,y:(e-t.offsetY)/t.scaleY}}function Ot(n,e,t){let{width:r,height:o,data:i}=n,{width:s,height:f}=e,a=Ue(r,o,e),{scaleX:p,scaleY:c,offsetX:u,offsetY:h}=a,b=s*f;(!t||t.length<3*b)&&(t=new Float32Array(3*b));let g=e.channels==="bgr"?[2,1,0]:[0,1,2],[O,R,k]=e.mean,v=1/e.std[0],E=1/e.std[1],F=1/e.std[2],l=(e.padValue-O)*v,m=(e.padValue-R)*E,M=(e.padValue-k)*F,[P,T,w]=g,V=Math.ceil(u),I=Math.ceil(h),x=Math.min(s,Math.floor(u+r*p))-1,d=Math.min(f,Math.floor(h+o*c))-1;for(let C=0;C<f;C++){let N=C*s,B=C<I||C>d,D=Math.max(0,(C+.5-h)/c-.5),j=Math.min(o-1,Math.floor(D)),X=Math.min(o-1,j+1),U=D-j;for(let Y=0;Y<s;Y++){let z=N+Y;if(B||Y<V||Y>x){t[z]=l,t[b+z]=m,t[2*b+z]=M;continue}let G=Math.max(0,(Y+.5-u)/p-.5),H=Math.min(r-1,Math.floor(G)),Q=Math.min(r-1,H+1),$=G-H,K=(j*r+H)*4,q=(j*r+Q)*4,ee=(X*r+H)*4,we=(X*r+Q)*4,ve=(1-$)*(1-U),Pe=$*(1-U),Me=(1-$)*U,Ie=$*U;t[z]=(i[K+P]*ve+i[q+P]*Pe+i[ee+P]*Me+i[we+P]*Ie-O)*v,t[b+z]=(i[K+T]*ve+i[q+T]*Pe+i[ee+T]*Me+i[we+T]*Ie-R)*E,t[2*b+z]=(i[K+w]*ve+i[q+w]*Pe+i[ee+w]*Me+i[we+w]*Ie-k)*F}}return{tensor:t,transform:a}}y();var ye=8;function Ye(n,e){let{sourceWidth:t,sourceHeight:r,transform:o}=e,i=e.classes?new Set(e.classes.map(k=>k.toLowerCase())):null,s=[];for(let k=0;k<n.count;k++){let v=n.dets[k*5+4];if(!(v>=e.confidence))continue;let E=Number(n.labels[k]),F=e.classNames[E]??`class_${E}`;if(i&&!i.has(F.toLowerCase()))continue;let l=oe(n.dets[k*5],n.dets[k*5+1],o),m=oe(n.dets[k*5+2],n.dets[k*5+3],o),M=ne(l.x,0,t),P=ne(l.y,0,r),T=ne(m.x,0,t)-M,w=ne(m.y,0,r)-P;T<=0||w<=0||s.push({index:k,detection:{category:F,score:v,boundingBox:{originX:M,originY:P,width:T,height:w,normalizedX:M/t,normalizedY:P/r,normalizedWidth:T/t,normalizedHeight:w/r}}})}s.sort((k,v)=>v.detection.score-k.detection.score);let f=s.map(k=>k.detection),a=[];if(!n.masks&&!n.maskPlane)return{detections:f,masks:a};let p=e.maskThreshold??.5,c=e.featherRadius??.05,u=n.maskLogits?yn(p,c):xe(p,c),{maskWidth:h,maskHeight:b}=n,g=h*b,O=h/o.inputWidth,R=b/o.inputHeight;for(let k=0;k<s.length;k++){let{index:v,detection:E}=s[k],F=E.boundingBox,l=n.maskPlane?n.maskPlane(v):n.masks,m=n.maskPlane?0:v*g,M=Math.max(0,Math.floor(F.originX)-ye),P=Math.max(0,Math.floor(F.originY)-ye),T=Math.min(t-1,Math.ceil(F.originX+F.width)+ye),w=Math.min(r-1,Math.ceil(F.originY+F.height)+ye),V=new Uint8Array(t*r),I=0;for(let x=P;x<=w;x++){let d=((x+.5)*o.scaleY+o.offsetY)*R-.5,C=ne(Math.floor(d),0,b-1),N=Math.min(b-1,C+1),B=ne(d-C,0,1),D=x*t;for(let j=M;j<=T;j++){let X=((j+.5)*o.scaleX+o.offsetX)*O-.5,U=ne(Math.floor(X),0,h-1),Y=Math.min(h-1,U+1),z=ne(X-U,0,1),G=l[m+C*h+U]*(1-z)*(1-B)+l[m+C*h+Y]*z*(1-B)+l[m+N*h+U]*(1-z)*B+l[m+N*h+Y]*z*B,H=u(G);H>0&&(V[D+j]=H,I+=H/255)}}I=Math.round(I),I!==0&&a.push({category:E.category,mask:V,width:t,height:r,area:I,coverage:I/(t*r),detectionIndex:k})}return{detections:f,masks:a}}function xe(n,e){if(e<=0)return o=>o>n?255:0;let t=n-e,r=255/(2*e);return o=>o<=t?0:o>=n+e?255:(o-t)*r}function yn(n,e){let t=xe(n,e),r=s=>s<=0?-1/0:s>=1?1/0:Math.log(s/(1-s));if(e<=0){let s=r(n);return f=>f>s?255:0}let o=r(n-e),i=r(n+e);return s=>s<=o?0:s>=i?255:t(1/(1+Math.exp(-s)))}function ne(n,e,t){return n<e?e:n>t?t:n}y();var se={scores:"/Sigmoid_output_0",boxes:"/Concat_7_output_0",kernels:"/Concat_5_output_0",maskFeatures:"/bbox_head/mask_head/projection/Conv_output_0"},Rt=5e3,xn=Math.fround(.6),Et=Math.fround(.05),kn=200,Lt=100,Sn=[8,16,32],Xe=8,At=8,Ft=169;function Vt(n){let{scores:e,boxes:t,anchors:r,classes:o}=n,i=new Float32Array(r);for(let c=0;c<r;c++){let u=0,h=c*o;for(let b=0;b<o;b++){let g=e[h+b];g>u&&(u=g)}i[c]=u}let s=[];for(let c=0;c<r;c++)i[c]>Et&&s.push(c);s.sort((c,u)=>i[u]-i[c]||c-u),s.length>Rt&&(s.length=Rt);let f=[],a=[],p=[];for(let c=0;c<o;c++){a.length=0;for(let u of s)e[u*o+c]>Et&&a.push(u);if(a.length!==0){a.sort((u,h)=>e[h*o+c]-e[u*o+c]||u-h),p.length=0;for(let u of a){if(p.length>=kn)break;let h=!1;for(let b of p)if(_n(t,u,b)>xn){h=!0;break}h||(p.push(u),f.push({anchor:u,classIndex:c,score:e[u*o+c]}))}}}return f.sort((c,u)=>u.score-c.score),f.length>Lt&&(f.length=Lt),f}function _n(n,e,t){let r=n[e*4],o=n[e*4+1],i=n[e*4+2],s=n[e*4+3],f=n[t*4],a=n[t*4+1],p=n[t*4+2],c=n[t*4+3],u=Math.min(i,p)-Math.max(r,f),h=Math.min(s,c)-Math.max(o,a);if(u<=0||h<=0)return 0;let b=u*h,g=(i-r)*(s-o)+(p-f)*(c-a)-b;return g>0?b/g:0}function Tn(n,e,t){let r=0;for(let o of Sn){let i=Math.ceil(e/o),s=i*Math.ceil(t/o);if(n<r+s){let f=n-r;return{x:f%i*o,y:Math.floor(f/i)*o,stride:o}}r+=s}throw new RangeError(`anchor ${n} is out of range`)}function jt(n,e,t){let{kernels:r,maskFeatures:o,maskWidth:i,maskHeight:s}=n,f=i*s,a=t&&t.length>=f?t:new Float32Array(f),p=Tn(e,n.inputWidth,n.inputHeight),c=r.subarray(e*Ft,(e+1)*Ft),u=0,h=80,b=144,g=152,O=160,R=168,k=1/(p.stride*Xe),v=new Float32Array(2+At),E=new Float32Array(8),F=new Float32Array(8);for(let l=0;l<s;l++){let m=(p.y-l*Xe)*k;for(let M=0;M<i;M++){let P=l*i+M;v[0]=(p.x-M*Xe)*k,v[1]=m;for(let w=0;w<At;w++)v[2+w]=o[w*f+P];for(let w=0;w<8;w++){let V=c[g+w],I=u+w*10;for(let x=0;x<10;x++)V+=c[I+x]*v[x];E[w]=V>0?V:0}for(let w=0;w<8;w++){let V=c[O+w],I=h+w*8;for(let x=0;x<8;x++)V+=c[I+x]*E[x];F[w]=V>0?V:0}let T=c[R];for(let w=0;w<8;w++)T+=c[b+w]*F[w];a[P]=T}}return a}y();var Dt=17,Ge=.3;function Bt(n,e){let{sourceWidth:t,sourceHeight:r,transform:o}=e,i=n.keypointStride,s=[];for(let p=0;p<n.count;p++){let c=n.dets[p*5+4];if(!(c>=e.confidence))continue;let u=oe(n.dets[p*5],n.dets[p*5+1],o),h=oe(n.dets[p*5+2],n.dets[p*5+3],o),b=ie(u.x,0,t),g=ie(u.y,0,r),O=ie(h.x,0,t)-b,R=ie(h.y,0,r)-g;if(O<=0||R<=0)continue;let k=[],v=p*Dt*i;for(let F=0;F<Dt;F++){let l=v+F*i,m=oe(n.keypoints[l],n.keypoints[l+1],o);k.push({x:ie(m.x,0,t),y:ie(m.y,0,r),visibility:ie(n.keypoints[l+2],0,1)})}let E=0;for(let F of k)F.visibility>=Ge&&E++;E<(e.minVisibleKeypoints??3)||s.push({score:c,boundingBox:{originX:b,originY:g,width:O,height:R,normalizedX:b/t,normalizedY:g/r,normalizedWidth:O/t,normalizedHeight:R/r},keypoints:k})}s.sort((p,c)=>c.score-p.score);let f=e.iouThreshold??.6,a=[];for(let p of s)a.some(c=>wn(c,p,f))||a.push(p);return{people:a}}function ie(n,e,t){return n<e?e:n>t?t:n}function wn(n,e,t){if(re(n.boundingBox,e.boundingBox)>t)return!0;let r=Math.sqrt(n.boundingBox.width*n.boundingBox.height),o=0,i=0;for(let s=0;s<n.keypoints.length;s++){let f=n.keypoints[s],a=e.keypoints[s];f.visibility<Ge||a.visibility<Ge||(o+=Math.hypot(f.x-a.x,f.y-a.y),i++)}return i>=3&&o/i<.1*r}y();function Ht(n,e,t,r){let{sourceWidth:o,sourceHeight:i}=r,s=xe(r.maskThreshold??.5,r.featherRadius??.2),f=new Uint8Array(o*i),a=e/o,p=t/i,c=0;for(let u=0;u<i;u++){let h=Math.max(0,(u+.5)*p-.5),b=Math.min(t-1,Math.floor(h)),g=Math.min(t-1,b+1),O=h-b;for(let R=0;R<o;R++){let k=Math.max(0,(R+.5)*a-.5),v=Math.min(e-1,Math.floor(k)),E=Math.min(e-1,v+1),F=k-v,l=n[b*e+v]*(1-F)*(1-O)+n[b*e+E]*F*(1-O)+n[g*e+v]*(1-F)*O+n[g*e+E]*F*O,m=s(l);f[u*o+R]=m,c+=m}}return{mask:f,width:o,height:i,coverage:o*i>0?c/(255*o*i):0}}y();var vn=`
|
|
61
61
|
struct Params {
|
|
62
62
|
src: vec2u,
|
|
63
63
|
dst: vec2u,
|
|
@@ -133,6 +133,6 @@ fn main(
|
|
|
133
133
|
atomicAdd(&acc[1], atomicLoad(&local[1]));
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
-
`,Nt=112,zt=new WeakMap,ce=class n{constructor(e){this.device=e;this.tensorPipeline=e.createComputePipeline({label:"vision_frame_tensor",layout:"auto",compute:{module:e.createShaderModule({code:vn}),entryPoint:"main"}}),this.hashPipeline=e.createComputePipeline({label:"vision_frame_hash",layout:"auto",compute:{module:e.createShaderModule({code:Pn}),entryPoint:"main"}}),this.params=e.createBuffer({label:"vision_frame_tensor_params",size:Nt,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})}device;tensorPipeline;hashPipeline;params;static for(e){let t=zt.get(e);return t||(t=new n(e),zt.set(e,t)),t}static tensorBytes(e){return 3*e.width*e.height*4}toTensor(e,t,r){let o=Ue(e.width,e.height,t),{scaleX:i,scaleY:s,offsetX:f,offsetY:a}=o,p=new ArrayBuffer(Nt),c=new Uint32Array(p),u=new Float32Array(p),h=new Int32Array(p);c.set([e.width,e.height,t.width,t.height],0),u.set([i,s,f,a],4),h.set([Math.ceil(f),Math.ceil(a),Math.min(t.width,Math.floor(f+e.width*i))-1,Math.min(t.height,Math.floor(a+e.height*s))-1],8);let b=t.std.map(R=>1/R);u.set([...t.mean,0],12),u.set([...b,0],16),u.set([0,1,2].map(R=>(t.padValue-t.mean[R])*b[R]),20),c.set(t.channels==="bgr"?[2,1,0,3]:[0,1,2,3],24),this.device.queue.writeBuffer(this.params,0,p);let g=this.device.createCommandEncoder({label:"vision_frame_tensor"}),
|
|
136
|
+
`,Nt=112,zt=new WeakMap,ce=class n{constructor(e){this.device=e;this.tensorPipeline=e.createComputePipeline({label:"vision_frame_tensor",layout:"auto",compute:{module:e.createShaderModule({code:vn}),entryPoint:"main"}}),this.hashPipeline=e.createComputePipeline({label:"vision_frame_hash",layout:"auto",compute:{module:e.createShaderModule({code:Pn}),entryPoint:"main"}}),this.params=e.createBuffer({label:"vision_frame_tensor_params",size:Nt,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})}device;tensorPipeline;hashPipeline;params;static for(e){let t=zt.get(e);return t||(t=new n(e),zt.set(e,t)),t}static tensorBytes(e){return 3*e.width*e.height*4}toTensor(e,t,r){let o=Ue(e.width,e.height,t),{scaleX:i,scaleY:s,offsetX:f,offsetY:a}=o,p=new ArrayBuffer(Nt),c=new Uint32Array(p),u=new Float32Array(p),h=new Int32Array(p);c.set([e.width,e.height,t.width,t.height],0),u.set([i,s,f,a],4),h.set([Math.ceil(f),Math.ceil(a),Math.min(t.width,Math.floor(f+e.width*i))-1,Math.min(t.height,Math.floor(a+e.height*s))-1],8);let b=t.std.map(R=>1/R);u.set([...t.mean,0],12),u.set([...b,0],16),u.set([0,1,2].map(R=>(t.padValue-t.mean[R])*b[R]),20),c.set(t.channels==="bgr"?[2,1,0,3]:[0,1,2,3],24),this.device.queue.writeBuffer(this.params,0,p);let g=this.device.createCommandEncoder({label:"vision_frame_tensor"}),O=g.beginComputePass();return O.setPipeline(this.tensorPipeline),O.setBindGroup(0,this.device.createBindGroup({layout:this.tensorPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.params}},{binding:1,resource:e.texture.createView()},{binding:2,resource:{buffer:r}}]})),O.dispatchWorkgroups(Math.ceil(t.width/16),Math.ceil(t.height/16)),O.end(),this.device.queue.submit([g.finish()]),o}async contentKey(e){let t=this.device.createBuffer({size:8,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC}),r=this.device.createBuffer({size:8,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),o=this.device.createCommandEncoder({label:"vision_frame_hash"}),i=o.beginComputePass();i.setPipeline(this.hashPipeline),i.setBindGroup(0,this.device.createBindGroup({layout:this.hashPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:e.texture.createView()},{binding:1,resource:{buffer:t}}]})),i.dispatchWorkgroups(Math.ceil(e.width/16),Math.ceil(e.height/16)),i.end(),o.copyBufferToBuffer(t,0,r,0,8),this.device.queue.submit([o.finish()]),await r.mapAsync(GPUMapMode.READ);let[s,f]=new Uint32Array(r.getMappedRange().slice(0));return r.unmap(),r.destroy(),t.destroy(),`${e.width}x${e.height}:gpu:${s.toString(36)}:${f.toString(36)}`}};async function Ut(n){let{device:e,texture:t,width:r,height:o}=n,i=r*4,s=Math.ceil(i/256)*256,f=e.createBuffer({size:s*o,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ,label:"vision_frame_readback"}),a=e.createCommandEncoder({label:"vision_frame_readback"});a.copyTextureToBuffer({texture:t},{buffer:f,bytesPerRow:s,rowsPerImage:o},[r,o,1]),e.queue.submit([a.finish()]),await f.mapAsync(GPUMapMode.READ);let p=new Uint8Array(f.getMappedRange()),c=new Uint8ClampedArray(r*o*4);for(let u=0;u<o;u++)c.set(p.subarray(u*s,u*s+i),u*i);if(f.unmap(),f.destroy(),t.format.startsWith("bgra"))for(let u=0;u<c.length;u+=4){let h=c[u];c[u]=c[u+2],c[u+2]=h}return{data:c,width:r,height:o}}y();var Yt=nn(on(),1);rn();function Mn(){return A.env.FRAMEFIELDS_MODELS_DIR?me(A.env.FRAMEFIELDS_MODELS_DIR):me(st(),".cache/framefields/models")}var ke=class{_modelsDir;_baseUrl;_timeoutMs;_retries;_retryDelayMs;_verify;_fetch;_onProgress;_acceptLicense;_inflight=new Map;_buffers=new Map;_status=new Map;constructor(e={}){this._modelsDir=e.modelsDir?me(e.modelsDir):Mn(),this._baseUrl=e.baseUrl??A.env.FRAMEFIELDS_MODELS_BASE_URL??void 0,this._timeoutMs=e.timeoutMs,this._retries=Math.max(0,e.retries??2),this._retryDelayMs=e.retryDelayMs??1e3,this._verify=e.verify!==!1,this._fetch=e.fetchImpl??globalThis.fetch,this._onProgress=e.onProgress,this._acceptLicense=e.acceptLicense===!0}get modelsDir(){return this._modelsDir}pathFor(e){return Ee(this._modelsDir,this.descriptor(e).filename)}descriptor(e){let t=Z[e];if(!t)throw new Error(`Vision model '${e}' is not registered in the model store.`);return t}urlFor(e){let t=this.descriptor(e);return this._baseUrl?`${this._baseUrl.replace(/\/+$/,"")}/${t.filename}`:t.url}has(e){let t=Z[e];if(!t)return!1;let r=Ee(this._modelsDir,t.filename);if(!ue(r))return!1;try{let o=et(r).size;return this._verify?o===t.bytes:o>0}catch{return!1}}async evict(e){this._buffers.delete(e),this._status.set(e,"pending"),await Re(this.pathFor(e)).catch(()=>{})}status(e){return this._status.get(e)??"pending"}statuses(){return new Map(this._status)}isLoaded(e){return this._buffers.has(e)}async ensure(e){let t=this._buffers.get(e);if(t)return t;let r=this._inflight.get(e);if(r)return r;let o=this.load(e).finally(()=>this._inflight.delete(e));return this._inflight.set(e,o),o}async preload(e){await Promise.all([...new Set(e)].map(t=>this.ensure(t)))}async load(e){let t=this.descriptor(e),r=this.pathFor(e);if(this.has(e))return this._status.set(e,"ready"),this.readBuffer(e,r);if(t.license&&t.license!=="Apache-2.0"&&!this._acceptLicense&&A.env.FRAMEFIELDS_ACCEPT_SAM_LICENSE!=="1")throw new Error(`License agreement required for model "${e}":
|
|
137
137
|
This model is licensed under "${t.license}".
|
|
138
|
-
To download and use this model, you must accept its license terms by passing 'acceptLicense: true' or setting FRAMEFIELDS_ACCEPT_SAM_LICENSE=1.`);let o=this.urlFor(e);this._status.set(e,"downloading"),ue(Le(r))||tt(Le(r),{recursive:!0});let i=`${r}.tmp.${Date.now()}`;try{let{buffer:s,totalBytes:f}=await this.download(e,o);if(s.byteLength===0)throw new Error(`Downloaded vision model '${e}' is empty (0 bytes).`);return this._verify&&this.verifyBytes(e,s,o),this._onProgress?.(e,s.byteLength,f||s.byteLength),await rt(i,s),await ot(i,r),this._buffers.set(e,s),this._status.set(e,"ready"),s}catch(s){throw this._status.set(e,"error"),ue(i)&&await Re(i).catch(()=>{}),s}}async download(e,t){for(let r=0;;r++){let o;try{let i=await this._fetch(t,{signal:this._timeoutMs?AbortSignal.timeout(this._timeoutMs):void 0});if(i.ok){let f=Number(i.headers.get("content-length")??0);return{buffer:new Uint8Array(await i.arrayBuffer()),totalBytes:f}}let s=new Error(`Failed to download vision model '${e}' from ${t}: HTTP ${i.status} ${i.statusText}`);if(i.status!==429&&i.status<500)throw s;o=s}catch(i){if(!(i instanceof TypeError))throw i;o=i}if(r>=this._retries)throw new Error(`Failed to download vision model '${e}' from ${t} after ${r+1} attempts: ${String(o)}`,{cause:o});await new Promise(i=>setTimeout(i,this._retryDelayMs*2**r))}}verifyBytes(e,t,r){let o=Z[e];if(t.byteLength!==o.bytes)throw new Error(`Vision model '${e}' from ${r} is ${t.byteLength} bytes, expected ${o.bytes}.`);let i=(0,Yt.createHash)("sha256").update(t).digest("hex");if(i!==o.sha256)throw new Error(`Vision model '${e}' from ${r} failed its SHA-256 check (got ${i}, expected ${o.sha256}).`)}async readBuffer(e,t){let r=await nt(t),o=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);return this._buffers.set(e,o),o}clearMemoryCache(){this._buffers.clear()}};y();function An(n){let e=new Uint8Array([8,1]),t=ae(1,e);return pe([ae(1,it.encode(n)),ae(2,t)])}function Kt(n,e){let t=Ae(n),r=t.find(g=>g.number===7&&g.wire===2);if(!r)throw new Error("ONNX model has no graph");let o=Ae(r.body),i=o.filter(g=>g.number===1).map(g=>({field:g,inputs:Fe(g.body,1),outputs:Fe(g.body,2)})),s=new Map;i.forEach((g,C)=>{for(let R of g.outputs)s.set(R,C)});let f=new Set,a=new Set,p=[...e];for(let g of e)if(!s.has(g))throw new Error(`ONNX model has no tensor '${g}'`);for(;p.length>0;){let g=p.pop();if(a.has(g))continue;a.add(g);let C=s.get(g);if(!(C===void 0||f.has(C))){f.add(C);for(let R of i[C].inputs)R&&p.push(R)}}let c=new Map;for(let g of o){if(g.number!==13)continue;let C=fe(g.body,1);C!==void 0&&c.set(C,g.body)}let u=[],h=0;for(let g of o)switch(g.number){case 1:f.has(h)&&u.push(g.raw),h++;break;case 5:{let C=fe(g.body,8);C!==void 0&&a.has(C)&&u.push(g.raw);break}case 11:case 13:{let C=fe(g.body,1);C!==void 0&&a.has(C)&&u.push(g.raw);break}case 12:break;default:u.push(g.raw)}for(let g of e)u.push(ae(12,c.get(g)??An(g)));let b=pe(u);return pe(t.map(g=>g===r?ae(7,b):g.raw))}y();function We(n){return n.texture!==void 0}var Fn=4,Se=class n{variant;confidence;classes;maskThreshold;featherRadius;_core;_ownsCore;constructor(e,t){this.variant=e.variant??"s",this.confidence=e.confidence??.3,this.classes=e.classes,this.maskThreshold=e.maskThreshold??.5,this.featherRadius=e.featherRadius,this._ownsCore=t===void 0,this._core=t??{store:e.store??new ke({modelsDir:e.modelsDir,baseUrl:e.baseUrl,timeoutMs:e.timeoutMs,onProgress:e.onProgress}),provider:e.provider??at(),sessions:new Map,tensorScratch:new Map,runQueue:new Map,gpuInputs:new Map,instancePasses:[]}}static create(e={}){return new n(e)}derive(e){return new n({variant:this.variant,confidence:e.confidence??this.confidence,classes:"classes"in e?e.classes:this.classes,maskThreshold:e.maskThreshold??this.maskThreshold,featherRadius:"featherRadius"in e?e.featherRadius:this.featherRadius},this._core)}get modelsDir(){return this._core.store.modelsDir}get downloadStatus(){let e=new Map;for(let t of Object.keys(Z))e.set(t,"pending");for(let[t,r]of this._core.store.statuses())e.set(t,r);return e}modelKeyFor(e,t=1){return St(e,this.variant,t)}async preload(e=["detect"]){let t=new Set;for(let r of e)r==="matte"?(t.add("selfie-square"),t.add("selfie-landscape")):t.add(this.modelKeyFor(r));await this._core.store.preload([...t]),await Promise.all([...t].map(r=>this.session(r)))}async detect(e){let t=await this.instancePass(e);return Ye({...t.outputs,masks:void 0,maskPlane:void 0},this.instanceDecodeOptions(e,t.transform)).detections}async segment(e){let t=await this.instancePass(e);return Ye(t.outputs,this.instanceDecodeOptions(e,t.transform))}async pose(e){let t=this.modelKeyFor("pose"),{outputs:r,transform:o}=await this.infer(t,e),i=J(r,"dets",t),s=J(r,"keypoints",t);return Bt({dets:i.data,keypoints:s.data,count:i.dims[1]??0,keypointStride:s.dims[3]??3},{confidence:this.confidence,transform:o,sourceWidth:e.width,sourceHeight:e.height})}async matte(e){let t=this.modelKeyFor("matte",e.width/e.height),[r,o]=Z[t].input,{outputs:i}=await this.infer(t,e),s=J(i,"alphas",t);return Ht(s.data,r,o,{sourceWidth:e.width,sourceHeight:e.height,maskThreshold:this.maskThreshold,...this.featherRadius!==void 0?{featherRadius:this.featherRadius}:{}})}close(){if(!this._ownsCore)return;let e=this._core;for(let t of e.sessions.values())t.then(r=>r.release()).catch(()=>{});e.sessions.clear(),e.runQueue.clear();for(let{buffer:t}of e.gpuInputs.values())t.destroy();e.gpuInputs.clear(),e.instancePasses.length=0,e.store.clearMemoryCache()}async instancePass(e){let t=this._core.instancePasses,r=We(e)?await ce.for(e.device).contentKey(e):Hn(e),o=t.find(a=>a.content===r);if(o)return o.result;let i=this.modelKeyFor("segment"),s=this.infer(i,e).then(({outputs:a,transform:p})=>({transform:p,outputs:se.scores in a?Bn(a,i,p):Dn(a,i)})),f={content:r,result:s};return t.push(f),t.length>Fn&&t.shift(),s.catch(()=>{let a=t.indexOf(f);a>=0&&t.splice(a,1)}),s}instanceDecodeOptions(e,t){return{confidence:this.confidence,classes:this.classes,classNames:he,transform:t,sourceWidth:e.width,sourceHeight:e.height,maskThreshold:this.maskThreshold,...this.featherRadius!==void 0?{featherRadius:this.featherRadius}:{}}}infer(e,t){let r=this._core.runQueue,i=(r.get(e)??Promise.resolve()).then(()=>this.inferNow(e,t),()=>this.inferNow(e,t)),s=i.catch(()=>{});return r.set(e,s),s.then(()=>{r.get(e)===s&&r.delete(e)}),i}async inferNow(e,t){let r=await this.session(e),o=Z[e];if(!It(o.family))throw new Error(`VisionRunner cannot run '${o.family}' models; use the family's own tracker (e.g. Sam2Tracker or Sam3Tracker from @framefields/vision-sam).`);let i=Ot(o.family,o.input),s=[1,3,i.height,i.width],f;if(We(t)){if(this._core.provider.device===t.device){let g=this.gpuInput(e,t.device,i),C=ce.for(t.device).toTensor(t,i,g);return{outputs:await r.run({name:"input",data:Vn,gpuBuffer:g,dims:s}),transform:C}}f=await Ut(t)}else f=t;let a=3*i.width*i.height,p=this._core.tensorScratch,c=p.get(e);(!c||c.length<a)&&(c=new Float32Array(a),p.set(e,c));let{tensor:u,transform:h}=Ct(f,i,c);return{outputs:await r.run({name:"input",data:u,dims:s}),transform:h}}gpuInput(e,t,r){let o=this._core.gpuInputs,i=ce.tensorBytes(r),s=o.get(e);if(s?.device===t&&s.buffer.size>=i)return s.buffer;s?.buffer.destroy();let f=t.createBuffer({label:`vision_input_${e}`,size:i,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC});return o.set(e,{device:t,buffer:f}),f}session(e){let{sessions:t,store:r,provider:o}=this._core,i=t.get(e);return i||(i=r.ensure(e).then(s=>o.createSession(Z[e].family==="rtmdet-ins"?jn(s):s)).catch(s=>{throw t.delete(e),r.evict(e),s}),t.set(e,i)),i}},Vn=new Float32Array(0);function jn(n){try{return Kt(n,Object.values(se))}catch{return n}}function Dn(n,e){let t=J(n,"dets",e),r=J(n,"masks",e);return{dets:t.data,labels:J(n,"labels",e).data,masks:r.data,count:t.dims[1]??0,maskHeight:r.dims[r.dims.length-2]??0,maskWidth:r.dims[r.dims.length-1]??0}}function Bn(n,e,t){let r=J(n,se.scores,e),o=J(n,se.maskFeatures,e),i={scores:r.data,boxes:J(n,se.boxes,e).data,kernels:J(n,se.kernels,e).data,maskFeatures:o.data,anchors:r.dims[1]??0,classes:r.dims[2]??0,maskHeight:o.dims[2]??0,maskWidth:o.dims[3]??0,inputWidth:t.inputWidth,inputHeight:t.inputHeight},s=Vt(i),f=new Float32Array(s.length*5),a=new Int32Array(s.length);s.forEach(({anchor:c,classIndex:u,score:h},b)=>{f.set(i.boxes.subarray(c*4,c*4+4),b*5),f[b*5+4]=h,a[b]=u});let p=new Map;return{dets:f,labels:a,count:s.length,maskWidth:i.maskWidth,maskHeight:i.maskHeight,maskLogits:!0,maskPlane:c=>{let u=p.get(c);return u||(u=jt(i,s[c].anchor),p.set(c,u)),u}}}function Hn(n){let{data:e}=n,t=e.byteOffset%4===0?e.byteLength>>>2:0,r=new Uint32Array(e.buffer,e.byteOffset,t),o=2166136261,i=16777619^e.byteLength;for(let s=0;s<t;s++){let f=r[s];o=Math.imul(o^f,2654435761),i=Math.imul(i^f,2246822519)^o>>>15}for(let s=t*4;s<e.length;s++)o=Math.imul(o^e[s],2654435761);return`${n.width}x${n.height}:${(o>>>0).toString(36)}:${(i>>>0).toString(36)}`}function J(n,e,t){let r=n[e];if(!r)throw new Error(`Vision model '${t}' returned no '${e}' output (got: ${Object.keys(n).join(", ")||"none"}). Expected the ${Z[t].source}.`);return r}y();var Ss=Symbol.for("framefields.vision.clipSubject");y();var le=class{width;height;fovRad;focalDistance;constructor(e){this.width=e.width,this.height=e.height;let t=e.fov??60;this.fovRad=t*Math.PI/180,this.focalDistance=e.cameraDistance??this.height/2/Math.tan(this.fovRad/2)}projectNormalizedLandmark(e,t=0){let r=e.x*this.width,o=e.y*this.height,i=e.z*this.width+t,s=Math.min(i,this.focalDistance-10),f=this.focalDistance/(this.focalDistance-s);return{x:r,y:o,z:i,scale:Math.max(.1,f)}}projectWorldLandmark(e,t=2,r=800){let o=this.width/2,i=this.height/2,s=e.x*r,f=e.y*r,a=(e.z+t)*r,p=Math.min(a,this.focalDistance-10),c=this.focalDistance/(this.focalDistance-p);return{x:o+s*c,y:i+f*c,z:a,scale:Math.max(.1,c)}}};y();y();function qt(){return{objects:[],rawDetections:[]}}function Zt(){return{people:[]}}function Qt(){let n=[];for(let e=0;e<17;e++)n.push({x:.5,y:.5,z:0,visibility:0});return n}y();function Ke(n,e){let t=e&&new Set(e.map(o=>o.toLowerCase())),r;for(let o of n){if(t&&!t.has(o.category.toLowerCase()))continue;if(!r){r=o;continue}let i=Jt(o),s=Jt(r);i!==s?i&&(r=o):(i?o.area>r.area:o.detectionIndex<r.detectionIndex)&&(r=o)}return r}function Jt(n){return n.category.toLowerCase()==="person"}function en(n){let{mask:e,width:t,height:r}=n,o=t,i=r,s=-1,f=-1;for(let a=0;a<r;a++){let p=a*t;for(let c=0;c<t;c++)e[p+c]!==0&&(c<o&&(o=c),c>s&&(s=c),a<i&&(i=a),a>f&&(f=a))}return s<0?null:{x0:o,y0:i,x1:s,y1:f}}function Is(n,e={}){let{classes:t,overlap:r=.5,maxGrowth:o=2}=e,i=Ke(n,t);if(!i)return;let s=en(i);if(!s)return i;let f=_e(s),a=n.filter(u=>{if(u===i)return!1;let h=en(u);return h!==null&&_e(h)<=f*o&&Nn(s,h)>=r});if(a.length===0)return i;let p=i.mask.slice();for(let u of a){let h=u.mask;for(let b=0;b<p.length;b++)h[b]>p[b]&&(p[b]=h[b])}let c=0;for(let u=0;u<p.length;u++)c+=p[u];return c=Math.round(c/255),{...i,mask:p,area:c,coverage:c/(i.width*i.height)}}function _e(n){return(n.x1-n.x0+1)*(n.y1-n.y0+1)}function Nn(n,e){let t=Math.min(n.x1,e.x1)-Math.max(n.x0,e.x0)+1,r=Math.min(n.y1,e.y1)-Math.max(n.y0,e.y0)+1;return t<=0||r<=0?0:t*r/Math.min(_e(n),_e(e))}y();function qe(n){if(n.boundingBox&&n.boundingBox.width>0&&n.boundingBox.height>0)return{originX:n.boundingBox.originX,originY:n.boundingBox.originY,width:n.boundingBox.width,height:n.boundingBox.height};let e=1/0,t=1/0,r=-1/0,o=-1/0,i=0;for(let s of n.keypoints)s.visibility>.1&&(i++,s.x<e&&(e=s.x),s.y<t&&(t=s.y),s.x>r&&(r=s.x),s.y>o&&(o=s.y));return i===0||e>=r||t>=o?{originX:n.boundingBox?.originX??0,originY:n.boundingBox?.originY??0,width:n.boundingBox?.width??0,height:n.boundingBox?.height??0}:{originX:e,originY:t,width:r-e,height:o-t}}function Es(n,e,t=.15){if(n.length===0)return[];let r=e.filter(a=>a.category.toLowerCase()==="person"&&a.active);if(r.length===0)return[...n];let o=[];for(let a=0;a<n.length;a++){let p=n[a];if(p.trackId!==void 0)continue;let c=qe(p),u=c.width<=1.05&&c.height<=1.05;for(let h of r){let b=u&&h.boundingBox.normalizedWidth>0?{originX:h.boundingBox.normalizedX,originY:h.boundingBox.normalizedY,width:h.boundingBox.normalizedWidth,height:h.boundingBox.normalizedHeight}:h.boundingBox,g=re(c,b);g>=t&&o.push({personIdx:a,trackId:h.trackId,iou:g})}}o.sort((a,p)=>p.iou-a.iou);let i=new Set,s=new Set,f=new Map;for(let a of o)i.has(a.personIdx)||s.has(a.trackId)||(i.add(a.personIdx),s.add(a.trackId),f.set(a.personIdx,a.trackId));return n.length===1&&r.length===1&&!f.has(0)&&n[0].trackId===void 0&&f.set(0,r[0].trackId),n.map((a,p)=>{if(a.trackId!==void 0)return a;let c=f.get(p);return c!==void 0?{...a,trackId:c}:a})}var Te=class{objects;poseLandmarks;masks;segmentation;classes;poseLandmarksTensor;objectsTensor;masksTensor;histogramTensor;_totalFrames;_fps;_width;_height;_transformer;_stencilTexture;_maskSource;_matteSource;_cameraFov;_poseCache=new Map;_objectCache=new Map;_maskCache=new Map;_matteCache=new Map;_poseLmCache=new Map;_trackCache=new Map;_categoryCache=new Map;_classCache=new Map;_maskTrackCache=new Map;_registeredSignals=new Set;constructor(e={}){this._maskSource=e.maskSource,this._matteSource=e.matteSource,this._cameraFov=e.cameraFov??60,this._totalFrames=e.totalFrames??120,this._fps=e.fps??24,this._width=e.width??1920,this._height=e.height??1080,this._transformer=new le({width:this._width,height:this._height,fov:e.cameraFov??60});let t=this,r=(l,m)=>{let M=Qe(l,m);return this._registeredSignals.add(M),M},o=l=>this.getPoseResult(l).people[0]?.keypoints??Qt(),i=(l,m)=>{let M=x=>o(x)[l]??{x:.5,y:.5,z:0},P=r(x=>M(x.frame).x,{fps:this._fps,label:`${m}_x`}),T=r(x=>M(x.frame).y,{fps:this._fps,label:`${m}_y`}),w=r(x=>M(x.frame).z??0,{fps:this._fps,label:`${m}_z`}),V=r(x=>this._transformer.projectNormalizedLandmark(M(x.frame)).x,{fps:this._fps,label:`${m}_screenX`}),I=r(x=>this._transformer.projectNormalizedLandmark(M(x.frame)).y,{fps:this._fps,label:`${m}_screenY`});return{x:P,y:T,z:w,screenX:V,screenY:I}},s=l=>{let m=this._poseLmCache.get(l);return m||(m=i(l,ze[l]??`kpt_${l}`),this._poseLmCache.set(l,m)),m},f={nose:s(S.NOSE),leftEye:s(S.LEFT_EYE),rightEye:s(S.RIGHT_EYE),leftEar:s(S.LEFT_EAR),rightEar:s(S.RIGHT_EAR),shoulder:s(S.LEFT_SHOULDER),leftShoulder:s(S.LEFT_SHOULDER),rightShoulder:s(S.RIGHT_SHOULDER),leftElbow:s(S.LEFT_ELBOW),rightElbow:s(S.RIGHT_ELBOW),leftWrist:s(S.LEFT_WRIST),rightWrist:s(S.RIGHT_WRIST),leftHip:s(S.LEFT_HIP),rightHip:s(S.RIGHT_HIP),leftKnee:s(S.LEFT_KNEE),rightKnee:s(S.RIGHT_KNEE),leftAnkle:s(S.LEFT_ANKLE),rightAnkle:s(S.RIGHT_ANKLE),get:s};this.poseLandmarks=new Proxy(f,{get(l,m,M){return typeof m=="string"&&/^\d+$/.test(m)?l.get(Number(m)):typeof m=="number"?l.get(m):Reflect.get(l,m,M)}});let a=(l,m="unknown")=>({trackId:l,category:m,score:0,boundingBox:{originX:this._width/2,originY:this._height/2,width:0,height:0,normalizedX:.5,normalizedY:.5,normalizedWidth:0,normalizedHeight:0},centerX:this._width/2,centerY:this._height/2,normalizedCenterX:.5,normalizedCenterY:.5,velocity:{vx:0,vy:0},speed:0,age:0,hits:0,active:!1,isCoasting:!1}),p=(l,m)=>{let M=r(I=>l(I.frame).sx,{fps:this._fps,label:`${m}_screenX`}),P=r(I=>l(I.frame).sy,{fps:this._fps,label:`${m}_screenY`}),T=r(I=>this._width>0?l(I.frame).sx/this._width:0,{fps:this._fps,label:`${m}_x`}),w=r(I=>this._height>0?l(I.frame).sy/this._height:0,{fps:this._fps,label:`${m}_y`}),V=r(()=>0,{fps:this._fps,label:`${m}_z`});return{x:T,y:w,z:V,screenX:M,screenY:P}},c=(l,m,M)=>{let P=B=>{let D=t.getPoseResult(B);if(D.people.length===0)return;let j=l(B),X=M??j.trackId,U=D.people.find(G=>G.trackId===X);if(U)return U;if(!j.active&&D.people.length>1)return;if(D.people.length===1)return D.people[0];let Y,z=.1;for(let G of D.people){let H=qe(G),$=H.width<=1.05&&H.height<=1.05&&j.boundingBox.normalizedWidth>0?{originX:j.boundingBox.normalizedX,originY:j.boundingBox.normalizedY,width:j.boundingBox.normalizedWidth,height:j.boundingBox.normalizedHeight}:j.boundingBox,K=re(H,$);K>z&&(z=K,Y=G)}return Y},T=r(B=>P(B.frame)?1:0,{fps:this._fps,label:`${m}_hasPose`}),w=(B,D)=>{let j=H=>{let $=P(H)?.keypoints[B];if($&&$.visibility>.05)return{x:$.x,y:$.y,z:0};let K=l(H);return{x:K.normalizedCenterX,y:K.normalizedCenterY,z:0}},X=r(H=>j(H.frame).x,{fps:this._fps,label:`${m}_${D}_x`}),U=r(H=>j(H.frame).y,{fps:this._fps,label:`${m}_${D}_y`}),Y=r(H=>j(H.frame).z??0,{fps:this._fps,label:`${m}_${D}_z`}),z=r(H=>t._transformer.projectNormalizedLandmark(j(H.frame)).x,{fps:this._fps,label:`${m}_${D}_screenX`}),G=r(H=>t._transformer.projectNormalizedLandmark(j(H.frame)).y,{fps:this._fps,label:`${m}_${D}_screenY`});return{x:X,y:U,z:Y,screenX:z,screenY:G}},V=new Map,I=B=>{let D=V.get(B);return D||(D=w(B,ze[B]??`kpt_${B}`),V.set(B,D)),D},x=r(B=>{let D=B.frame,j=P(D);if(!j)return 0;let X=P(Math.max(0,D-1)),U=j.keypoints,Y=X?.keypoints,z=U[S.RIGHT_WRIST],G=Y?.[S.RIGHT_WRIST],H=0;if(z&&G&&z.visibility>.1&&G.visibility>.1){let q=(z.x-G.x)*this._width,ee=(z.y-G.y)*this._height;H=Math.sqrt(q*q+ee*ee)*this._fps}let Q=U[S.LEFT_WRIST],$=Y?.[S.LEFT_WRIST],K=0;if(Q&&$&&Q.visibility>.1&&$.visibility>.1){let q=(Q.x-$.x)*this._width,ee=(Q.y-$.y)*this._height;K=Math.sqrt(q*q+ee*ee)*this._fps}return Math.max(H,K)},{fps:this._fps,label:`${m}_wristSpeed`}),d=r(B=>{let D=P(B.frame);if(!D)return 0;let j=D.keypoints,X=j[S.LEFT_WRIST],U=j[S.LEFT_SHOULDER],Y=j[S.RIGHT_WRIST],z=j[S.RIGHT_SHOULDER],G=X&&U&&X.visibility>.1&&U.visibility>.1&&X.y<U.y,H=Y&&z&&Y.visibility>.1&&z.visibility>.1&&Y.y<z.y;return G||H?1:0},{fps:this._fps,label:`${m}_handRaised`}),O=r(B=>{let D=P(B.frame);if(!D)return 0;let j=D.keypoints,X=j[S.LEFT_SHOULDER],U=j[S.RIGHT_SHOULDER],Y=j[S.LEFT_HIP],z=j[S.RIGHT_HIP];if(!X||!U||!Y||!z)return 0;let G=(X.x+U.x)/2*this._width,H=(X.y+U.y)/2*this._height,Q=(Y.x+z.x)/2*this._width,$=(Y.y+z.y)/2*this._height,K=G-Q,q=H-$;return K===0&&q===0?0:Math.atan2(K,-q)},{fps:this._fps,label:`${m}_bodyTiltAngle`}),N={hasPose:T,wristSpeed:x,handRaised:d,bodyTiltAngle:O,nose:I(S.NOSE),leftEye:I(S.LEFT_EYE),rightEye:I(S.RIGHT_EYE),leftEar:I(S.LEFT_EAR),rightEar:I(S.RIGHT_EAR),shoulder:I(S.LEFT_SHOULDER),leftShoulder:I(S.LEFT_SHOULDER),rightShoulder:I(S.RIGHT_SHOULDER),leftElbow:I(S.LEFT_ELBOW),rightElbow:I(S.RIGHT_ELBOW),leftWrist:I(S.LEFT_WRIST),rightWrist:I(S.RIGHT_WRIST),leftHip:I(S.LEFT_HIP),rightHip:I(S.RIGHT_HIP),leftKnee:I(S.LEFT_KNEE),rightKnee:I(S.RIGHT_KNEE),leftAnkle:I(S.LEFT_ANKLE),rightAnkle:I(S.RIGHT_ANKLE),get:I};return new Proxy(N,{get(B,D,j){return typeof D=="string"&&/^\d+$/.test(D)?B.get(Number(D)):typeof D=="number"?B.get(D):Reflect.get(B,D,j)}})},u=(l,m,M,P)=>{let T=d=>l(d).boundingBox,w=c(l,`${m}_pose`,P),V=(d,O,N)=>p(B=>({sx:O(T(B)),sy:N(T(B))}),`${m}_${d}`),I=V("center",d=>d.originX+d.width/2,d=>d.originY+d.height/2),x=r(d=>l(d.frame).speed,{fps:this._fps,label:`${m}_speed`});return{get trackId(){return P??l(0).trackId},get category(){return M??l(0).category},bounds:{x:r(d=>T(d.frame).normalizedX,{fps:this._fps,label:`${m}_normX`}),y:r(d=>T(d.frame).normalizedY,{fps:this._fps,label:`${m}_normY`}),width:r(d=>T(d.frame).normalizedWidth,{fps:this._fps,label:`${m}_normWidth`}),height:r(d=>T(d.frame).normalizedHeight,{fps:this._fps,label:`${m}_normHeight`}),screenX:r(d=>T(d.frame).originX,{fps:this._fps,label:`${m}_screenX`}),screenY:r(d=>T(d.frame).originY,{fps:this._fps,label:`${m}_screenY`}),screenWidth:r(d=>T(d.frame).width,{fps:this._fps,label:`${m}_screenWidth`}),screenHeight:r(d=>T(d.frame).height,{fps:this._fps,label:`${m}_screenHeight`}),aspectRatio:r(d=>{let O=T(d.frame);return O.height>0?O.width/O.height:1},{fps:this._fps,label:`${m}_aspectRatio`}),area:r(d=>{let O=T(d.frame);return O.width*O.height},{fps:this._fps,label:`${m}_area`})},anchors:{topLeft:V("topLeft",d=>d.originX,d=>d.originY),topCenter:V("topCenter",d=>d.originX+d.width/2,d=>d.originY),topRight:V("topRight",d=>d.originX+d.width,d=>d.originY),centerLeft:V("centerLeft",d=>d.originX,d=>d.originY+d.height/2),center:I,centerRight:V("centerRight",d=>d.originX+d.width,d=>d.originY+d.height/2),bottomLeft:V("bottomLeft",d=>d.originX,d=>d.originY+d.height),bottomCenter:V("bottomCenter",d=>d.originX+d.width/2,d=>d.originY+d.height),bottomRight:V("bottomRight",d=>d.originX+d.width,d=>d.originY+d.height)},kinematics:{vx:r(d=>l(d.frame).velocity.vx,{fps:this._fps,label:`${m}_vx`}),vy:r(d=>l(d.frame).velocity.vy,{fps:this._fps,label:`${m}_vy`}),speed:x,acceleration:x.velocity(1),headingRad:r(d=>{let O=l(d.frame).velocity;return Math.atan2(O.vy,O.vx)},{fps:this._fps,label:`${m}_headingRad`}),headingDeg:r(d=>{let O=l(d.frame).velocity;return Math.atan2(O.vy,O.vx)*180/Math.PI},{fps:this._fps,label:`${m}_headingDeg`})},confidence:r(d=>l(d.frame).score,{fps:this._fps,label:`${m}_score`}),active:r(d=>l(d.frame).active?1:0,{fps:this._fps,label:`${m}_active`}),isCoasting:r(d=>l(d.frame).isCoasting?1:0,{fps:this._fps,label:`${m}_isCoasting`}),age:r(d=>l(d.frame).age,{fps:this._fps,label:`${m}_age`}),pose:w,center:I,topCenter:this.__pending,bottomCenter:I,topLeft:I,bottomLeft:I}},h=(l,m,M,P)=>{let T=u(l,m,M,P),w=T.anchors;return Object.assign(T,{topCenter:w.topCenter,bottomCenter:w.bottomCenter,topLeft:w.topLeft,bottomLeft:w.bottomLeft}),T},b=l=>{let m=this._trackCache.get(l);return m||(m=h(M=>this.getObjectResult(M).objects.find(P=>P.trackId===l)??a(l),`track_${l}`,void 0,l),this._trackCache.set(l,m)),m},g=(l,m=0)=>{let M=`${l.toLowerCase()}_${m}`,P=this._categoryCache.get(M);return P||(P=h(T=>this.getObjectResult(T).objects.filter(I=>I.category.toLowerCase()===l.toLowerCase()&&I.active)[m]??a(0,l),`cat_${l}_${m}`,l),this._categoryCache.set(M,P)),P},C=h(l=>{let m=this.getObjectResult(l);if(m.objects.length===0)return a(0);let M=m.objects[0];for(let P=1;P<m.objects.length;P++)m.objects[P].score>M.score&&(M=m.objects[P]);return M},"primary_object"),R=l=>{let m=new Set;for(let M of this.getObjectResult(l).objects)M.active&&m.add(M.category);return Array.from(m).sort()},k=l=>{let m=l.toLowerCase(),M=this._classCache.get(m);return M||(M={count:r(P=>this.getObjectResult(P.frame).objects.filter(T=>T.active&&T.category.toLowerCase()===m).length,{fps:this._fps,label:`class_${m}_count`}),maxConfidence:r(P=>{let T=0;for(let w of this.getObjectResult(P.frame).objects)w.active&&w.category.toLowerCase()===m&&w.score>T&&(T=w.score);return T},{fps:this._fps,label:`class_${m}_maxConf`}),present:r(P=>this.getObjectResult(P.frame).objects.some(T=>T.active&&T.category.toLowerCase()===m)?1:0,{fps:this._fps,label:`class_${m}_present`}),primary:g(l)},this._classCache.set(m,M),M)};this.classes={get:k,get names(){return R(W.value)},histogram:{get:l=>t.getClassHistogramTensor(l?.frame??W.value),get value(){return t.getClassHistogramTensor(W.value)}}},this.objects={get:b,byCategory:g,primary:C,count:r(l=>this.getObjectResult(l.frame).objects.filter(m=>m.active).length,{fps:this._fps,label:"tracked_objects_count"}),hasCategory:l=>k(l).present,getActiveTracks:l=>this.getObjectResult(l).objects.filter(m=>m.active),get detectedCategories(){return R(W.value)}};let v=(l,m)=>this.getMaskResult(l).find(M=>M.trackId===m),E=l=>Ke(this.getMaskResult(l)),F=(l,m)=>{let M=P=>{let T=l(P);if(!(!T||T.trackId===void 0))return this.getObjectResult(P).objects.find(w=>w.trackId===T.trackId)};return{get trackId(){return l(W.value)?.trackId??0},get category(){return l(W.value)?.category??"unknown"},area:r(P=>l(P.frame)?.area??0,{fps:this._fps,label:`${m}_area`}),coverage:r(P=>l(P.frame)?.coverage??0,{fps:this._fps,label:`${m}_coverage`}),solidity:r(P=>{let T=l(P.frame),w=M(P.frame);if(!T||!w)return 0;let V=w.boundingBox.width*w.boundingBox.height;return V>0?T.area/V:0},{fps:this._fps,label:`${m}_solidity`}),bboxFill:r(P=>{let T=l(P.frame);if(!T||T.width*T.height===0)return 0;let w=M(P.frame);return w?w.boundingBox.width*w.boundingBox.height/(T.width*T.height):0},{fps:this._fps,label:`${m}_bboxFill`})}};this.masks={get:l=>{let m=this._maskTrackCache.get(l);return m||(m=F(M=>v(M,l),`mask_${l}`),this._maskTrackCache.set(l,m)),m},subject:F(E,"subject"),count:r(l=>new Set(this.getMaskResult(l.frame).map(m=>m.trackId??-1)).size,{fps:this._fps,label:"mask_count"})},this.segmentation={humanSilhouette:this.masks.subject,subject:this.masks.subject,instanceMasks:this.masks,matte:{coverage:r(l=>t.getMatteResult(l.frame)?.coverage??0,{fps:this._fps,label:"matte_coverage"}),at:l=>t.getMatteResult(l)},get stencilTexture(){return t._stencilTexture}},this.poseLandmarksTensor={get:l=>t.getPoseLandmarksTensor(l?.frame??W.value),get value(){return t.getPoseLandmarksTensor(W.value)}},this.objectsTensor={get:l=>t.getObjectsTensor(l?.frame??W.value),get value(){return t.getObjectsTensor(W.value)}},this.masksTensor={get:l=>t.getMasksTensor(l?.frame??W.value),get value(){return t.getMasksTensor(W.value)}},this.histogramTensor={get:l=>t.getClassHistogramTensor(l?.frame??W.value),get value(){return t.getClassHistogramTensor(W.value)}}}setFrameSize(e,t){this._width===e&&this._height===t||(this._width=e,this._height=t,this._transformer=new le({width:e,height:t,fov:this._cameraFov}),this.invalidateSignals())}setStencilTexture(e){this._stencilTexture=e}get stencilTexture(){return this._stencilTexture}latestAtOrBefore(e,t,r=8){let o=this.clamp(t),i=Math.max(0,o-r);for(let s=o;s>=i;s--){let f=e.get(s);if(f!==void 0)return f}}invalidateSignals(){for(let e of this._registeredSignals)e.invalidate()}setPoseResult(e,t){this._poseCache.set(this.clamp(e),t),this.invalidateSignals()}getPoseResult(e){return this.latestAtOrBefore(this._poseCache,e)??Zt()}setObjectResult(e,t){let r="objects"in t?t:{objects:t,rawDetections:[]};this._objectCache.set(this.clamp(e),{objects:r.objects,rawDetections:r.rawDetections??[]}),this.invalidateSignals()}getObjectResult(e){return this.latestAtOrBefore(this._objectCache,e)??qt()}setMaskResult(e,t){this._maskCache.set(this.clamp(e),t),this.invalidateSignals()}getMaskResult(e){return this._maskSource?.(e)??this.latestAtOrBefore(this._maskCache,e)??[]}setMatteResult(e,t){this._matteCache.set(this.clamp(e),t),this.invalidateSignals()}getMatteResult(e){return this._matteSource?.(e)??this.latestAtOrBefore(this._matteCache,e)}summary(e=W.value){let t=this.clamp(e),r=this.getObjectResult(t),o=r.objects.map(f=>({trackId:f.trackId,category:f.category,score:f.score,center:[f.centerX,f.centerY],speed:f.speed,active:f.active})),i=new Set;for(let f of r.objects)f.active&&i.add(f.category);let s={};for(let f of this.getMaskResult(t))s[f.category]=(s[f.category]??0)+1;return{frame:t,objects:o,classes:Array.from(i).sort(),masks:s}}getPoseLandmarksTensor(e){let r=this.getPoseResult(e).people[0]?.keypoints??[],o=new Float32Array(51);for(let i=0;i<17;i++)o[i*3]=r[i]?.x??.5,o[i*3+1]=r[i]?.y??.5,o[i*3+2]=r[i]?.visibility??0;return{data:o,shape:[17,3],dtype:"float32"}}getObjectsTensor(e,t=16){let r=this.getObjectResult(e),o=new Float32Array(t*8),i=Math.min(t,r.objects.length);for(let s=0;s<i;s++){let f=r.objects[s],a=s*8,p=0;for(let c=0;c<f.category.length;c++)p=p*31+f.category.charCodeAt(c)&65535;o[a]=f.active?1:0,o[a+1]=p,o[a+2]=f.centerX,o[a+3]=f.centerY,o[a+4]=f.boundingBox.width,o[a+5]=f.boundingBox.height,o[a+6]=f.velocity.vx,o[a+7]=f.velocity.vy}return{data:o,shape:[t,8],dtype:"float32"}}getMasksTensor(e,t=16){let r=this.getMaskResult(e),o=new Float32Array(t*2),i=Math.min(t,r.length);for(let s=0;s<i;s++){let f=r[s];o[s*2]=f.coverage;let a=this.getObjectResult(e).objects.find(c=>c.trackId===f.trackId),p=a?a.boundingBox.width*a.boundingBox.height:0;o[s*2+1]=p>0?f.area/p:0}return{data:o,shape:[t,2],dtype:"float32"}}getClassHistogramTensor(e,t=80){let r=new Float32Array(t);for(let o of this.getObjectResult(e).objects)if(o.active){let i=zn.get(o.category.toLowerCase());i!==void 0&&(r[i]+=1)}return{data:r,shape:[t],dtype:"float32"}}clamp(e){return Math.max(0,Math.min(this._totalFrames-1,Math.round(e)))}};var zn=new Map(he.map((n,e)=>[n,e]));y();function tn(n,e,t={}){let r=t.offsetX??0,o=t.offsetY??0,i=t.offsetZ??0;if(!e||typeof e!="object")return n;if("screenX"in e&&e.screenX&&typeof e.screenX=="object"){let s=e;n.x=r!==0?s.screenX.add(r):s.screenX,n.y=o!==0?s.screenY.add(o):s.screenY,n.z=i!==0?s.z.add(i):s.z}else if("x"in e&&typeof e.x=="object"&&e.x!==null){let s=e;n.x=r!==0?s.x.add(r):s.x,n.y=o!==0?s.y.add(o):s.y,n.z=i!==0?s.z.add(i):s.z}else{let s=e;n.x=(s.screenX??s.x)+r,n.y=(s.screenY??s.y)+o,n.z=(s.z??0)+i}return n}function Xs(n,e,t={}){if(!e||typeof e!="object")return n;if("anchors"in e&&e.anchors){let r=e,o=t.anchor??(t.matchWidth||t.matchHeight?"topLeft":"center"),i=r.anchors[o]??r.center,s=i;return t.smoothFrames&&t.smoothFrames>1&&(s={x:i.x.smooth(t.smoothFrames),y:i.y.smooth(t.smoothFrames),z:i.z,screenX:i.screenX.smooth(t.smoothFrames),screenY:i.screenY.smooth(t.smoothFrames)}),t.matchWidth&&(n.width=t.smoothFrames&&t.smoothFrames>1?r.bounds.screenWidth.smooth(t.smoothFrames):r.bounds.screenWidth),t.matchHeight&&(n.height=t.smoothFrames&&t.smoothFrames>1?r.bounds.screenHeight.smooth(t.smoothFrames):r.bounds.screenHeight),t.hideWhenLost&&(n.opacity=r.active),tn(n,s,t)}return tn(n,e,t)}y();function Un(n){let e=[];return n.enableDetection===!0&&e.push("detect"),n.enableSegmentation===!0&&e.push("segment"),n.enablePose===!0&&e.push("pose"),n.enableMatte===!0&&e.push("matte"),e.length>0?e:["detect"]}var Ze=class n{id;kind="vision";source;config;vision;_runner;_runnerOptions;constructor(e,t={},r={},o={}){this.id=`vision-${Math.random().toString(36).slice(2,9)}`,this.source=e,this.config=t,this._runnerOptions=o,this.vision=new Te({...r,config:t})}runner(){if(!this._runner){let{variant:e,confidence:t,classes:r,modelsDir:o,baseUrl:i,maskThreshold:s,featherRadius:f}=this.config;this._runner=Se.create({...this._runnerOptions,...e!==void 0?{variant:e}:{},...t!==void 0?{confidence:t}:{},...r!==void 0?{classes:r}:{},...o!==void 0?{modelsDir:o}:{},...i!==void 0?{baseUrl:i}:{},...s!==void 0?{maskThreshold:s}:{},...f!==void 0?{featherRadius:f}:{}})}return this._runner}async ready(){let e=this.runner();return await e.preload(Un(this.config)),e}close(){this._runner?.close(),this._runner=void 0}static attach(e,t={},r={}){let o=new n(e,t,r),i=o.vision;return Object.defineProperties(i,{node:{value:o.toNode(),enumerable:!0},ready:{value:()=>o.ready()},runner:{value:()=>o.runner()},close:{value:()=>o.close()}}),i}toNode(){return{id:this.id,kind:"vision",source:this.source,config:this.config}}};y();y();function Qs(n,e,t,r,o){let i=n.width,s=n.height,f=-1,a=-1;for(let v=0;v<n.height;v++)for(let E=0;E<n.width;E++)(n.mask[v*n.width+E]??0)<128||(i=Math.min(i,E),s=Math.min(s,v),f=Math.max(f,E),a=Math.max(a,v));let p=f>=0,c=p?i:0,u=p?s:0,h=p?f-i+1:0,b=p?a-s+1:0,g=c+h/2,C=u+b/2,R=p&&o?.active?(g-o.centerX)*t:0,k=p&&o?.active?(C-o.centerY)*t:0;return{trackId:n.trackId??1,category:n.category,score:r,boundingBox:{originX:c,originY:u,width:h,height:b,normalizedX:c/n.width,normalizedY:u/n.height,normalizedWidth:h/n.width,normalizedHeight:b/n.height},centerX:g,centerY:C,normalizedCenterX:g/n.width,normalizedCenterY:C/n.height,velocity:{vx:R,vy:k},speed:Math.hypot(R,k),age:e+1,hits:e+1,active:p,isCoasting:!1}}export{ct as a,lt as b,dt as c,Kn as d,ut as e,qn as f,sr as g,sn as h,lr as i,mr as j,fr as k,pr as l,hr as m,gr as n,br as o,yr as p,xr as q,kr as r,Sr as s,_r as t,Tr as u,wr as v,Mr as w,Rr as x,Er as y,an as z,gt as A,ht as B,Fr as C,cn as D,ln as E,dn as F,un as G,mn as H,fn as I,Ve as J,bt as K,pn as L,je as M,Kr as N,yt as O,to as P,no as Q,so as R,be as S,Z as T,co as U,he as V,ge as W,go as X,Ct as Y,Ut as Z,S as _,ze as $,Tt as aa,vt as ba,Pt as ca,ke as da,Se as ea,Ss as fa,en as ga,Is as ha,Qs as ia,le as ja,Es as ka,Te as la,tn as ma,Xs as na,Ze as oa};
|
|
138
|
+
To download and use this model, you must accept its license terms by passing 'acceptLicense: true' or setting FRAMEFIELDS_ACCEPT_SAM_LICENSE=1.`);let o=this.urlFor(e);this._status.set(e,"downloading"),ue(Le(r))||tt(Le(r),{recursive:!0});let i=`${r}.tmp.${Date.now()}`;try{let{buffer:s,totalBytes:f}=await this.download(e,o);if(s.byteLength===0)throw new Error(`Downloaded vision model '${e}' is empty (0 bytes).`);return this._verify&&this.verifyBytes(e,s,o),this._onProgress?.(e,s.byteLength,f||s.byteLength),await rt(i,s),await ot(i,r),this._buffers.set(e,s),this._status.set(e,"ready"),s}catch(s){throw this._status.set(e,"error"),ue(i)&&await Re(i).catch(()=>{}),s}}async download(e,t){for(let r=0;;r++){let o;try{let i=await this._fetch(t,{signal:this._timeoutMs?AbortSignal.timeout(this._timeoutMs):void 0});if(i.ok){let f=Number(i.headers.get("content-length")??0);return{buffer:new Uint8Array(await i.arrayBuffer()),totalBytes:f}}let s=new Error(`Failed to download vision model '${e}' from ${t}: HTTP ${i.status} ${i.statusText}`);if(i.status!==429&&i.status<500)throw s;o=s}catch(i){if(!(i instanceof TypeError))throw i;o=i}if(r>=this._retries)throw new Error(`Failed to download vision model '${e}' from ${t} after ${r+1} attempts: ${String(o)}`,{cause:o});await new Promise(i=>setTimeout(i,this._retryDelayMs*2**r))}}verifyBytes(e,t,r){let o=Z[e];if(t.byteLength!==o.bytes)throw new Error(`Vision model '${e}' from ${r} is ${t.byteLength} bytes, expected ${o.bytes}.`);let i=(0,Yt.createHash)("sha256").update(t).digest("hex");if(i!==o.sha256)throw new Error(`Vision model '${e}' from ${r} failed its SHA-256 check (got ${i}, expected ${o.sha256}).`)}async readBuffer(e,t){let r=await nt(t),o=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);return this._buffers.set(e,o),o}clearMemoryCache(){this._buffers.clear()}};y();function An(n){let e=new Uint8Array([8,1]),t=ae(1,e);return pe([ae(1,it.encode(n)),ae(2,t)])}function Kt(n,e){let t=Ae(n),r=t.find(g=>g.number===7&&g.wire===2);if(!r)throw new Error("ONNX model has no graph");let o=Ae(r.body),i=o.filter(g=>g.number===1).map(g=>({field:g,inputs:Fe(g.body,1),outputs:Fe(g.body,2)})),s=new Map;i.forEach((g,O)=>{for(let R of g.outputs)s.set(R,O)});let f=new Set,a=new Set,p=[...e];for(let g of e)if(!s.has(g))throw new Error(`ONNX model has no tensor '${g}'`);for(;p.length>0;){let g=p.pop();if(a.has(g))continue;a.add(g);let O=s.get(g);if(!(O===void 0||f.has(O))){f.add(O);for(let R of i[O].inputs)R&&p.push(R)}}let c=new Map;for(let g of o){if(g.number!==13)continue;let O=fe(g.body,1);O!==void 0&&c.set(O,g.body)}let u=[],h=0;for(let g of o)switch(g.number){case 1:f.has(h)&&u.push(g.raw),h++;break;case 5:{let O=fe(g.body,8);O!==void 0&&a.has(O)&&u.push(g.raw);break}case 11:case 13:{let O=fe(g.body,1);O!==void 0&&a.has(O)&&u.push(g.raw);break}case 12:break;default:u.push(g.raw)}for(let g of e)u.push(ae(12,c.get(g)??An(g)));let b=pe(u);return pe(t.map(g=>g===r?ae(7,b):g.raw))}y();function We(n){return n.texture!==void 0}var Fn=4,Se=class n{variant;confidence;classes;maskThreshold;featherRadius;_core;_ownsCore;constructor(e,t){this.variant=e.variant??"s",this.confidence=e.confidence??.3,this.classes=e.classes,this.maskThreshold=e.maskThreshold??.5,this.featherRadius=e.featherRadius,this._ownsCore=t===void 0,this._core=t??{store:e.store??new ke({modelsDir:e.modelsDir,baseUrl:e.baseUrl,timeoutMs:e.timeoutMs,onProgress:e.onProgress}),provider:e.provider??at(),sessions:new Map,tensorScratch:new Map,runQueue:new Map,gpuInputs:new Map,instancePasses:[]}}static create(e={}){return new n(e)}derive(e){return new n({variant:this.variant,confidence:e.confidence??this.confidence,classes:"classes"in e?e.classes:this.classes,maskThreshold:e.maskThreshold??this.maskThreshold,featherRadius:"featherRadius"in e?e.featherRadius:this.featherRadius},this._core)}get modelsDir(){return this._core.store.modelsDir}get downloadStatus(){let e=new Map;for(let t of Object.keys(Z))e.set(t,"pending");for(let[t,r]of this._core.store.statuses())e.set(t,r);return e}modelKeyFor(e,t=1){return St(e,this.variant,t)}async preload(e=["detect"]){let t=new Set;for(let r of e)r==="matte"?(t.add("selfie-square"),t.add("selfie-landscape")):t.add(this.modelKeyFor(r));await this._core.store.preload([...t]),await Promise.all([...t].map(r=>this.session(r)))}async detect(e){let t=await this.instancePass(e);return Ye({...t.outputs,masks:void 0,maskPlane:void 0},this.instanceDecodeOptions(e,t.transform)).detections}async segment(e){let t=await this.instancePass(e);return Ye(t.outputs,this.instanceDecodeOptions(e,t.transform))}async pose(e){let t=this.modelKeyFor("pose"),{outputs:r,transform:o}=await this.infer(t,e),i=J(r,"dets",t),s=J(r,"keypoints",t);return Bt({dets:i.data,keypoints:s.data,count:i.dims[1]??0,keypointStride:s.dims[3]??3},{confidence:this.confidence,transform:o,sourceWidth:e.width,sourceHeight:e.height})}async matte(e){let t=this.modelKeyFor("matte",e.width/e.height),[r,o]=Z[t].input,{outputs:i}=await this.infer(t,e),s=J(i,"alphas",t);return Ht(s.data,r,o,{sourceWidth:e.width,sourceHeight:e.height,maskThreshold:this.maskThreshold,...this.featherRadius!==void 0?{featherRadius:this.featherRadius}:{}})}close(){if(!this._ownsCore)return;let e=this._core;for(let t of e.sessions.values())t.then(r=>r.release()).catch(()=>{});e.sessions.clear(),e.runQueue.clear();for(let{buffer:t}of e.gpuInputs.values())t.destroy();e.gpuInputs.clear(),e.instancePasses.length=0,e.store.clearMemoryCache()}async instancePass(e){let t=this._core.instancePasses,r=We(e)?await ce.for(e.device).contentKey(e):Hn(e),o=t.find(a=>a.content===r);if(o)return o.result;let i=this.modelKeyFor("segment"),s=this.infer(i,e).then(({outputs:a,transform:p})=>({transform:p,outputs:se.scores in a?Bn(a,i,p):Dn(a,i)})),f={content:r,result:s};return t.push(f),t.length>Fn&&t.shift(),s.catch(()=>{let a=t.indexOf(f);a>=0&&t.splice(a,1)}),s}instanceDecodeOptions(e,t){return{confidence:this.confidence,classes:this.classes,classNames:he,transform:t,sourceWidth:e.width,sourceHeight:e.height,maskThreshold:this.maskThreshold,...this.featherRadius!==void 0?{featherRadius:this.featherRadius}:{}}}infer(e,t){let r=this._core.runQueue,i=(r.get(e)??Promise.resolve()).then(()=>this.inferNow(e,t),()=>this.inferNow(e,t)),s=i.catch(()=>{});return r.set(e,s),s.then(()=>{r.get(e)===s&&r.delete(e)}),i}async inferNow(e,t){let r=await this.session(e),o=Z[e];if(!It(o.family))throw new Error(`VisionRunner cannot run '${o.family}' models; use the family's own tracker (e.g. Sam2Tracker or Sam3Tracker from @framefields/vision-sam).`);let i=Ct(o.family,o.input),s=[1,3,i.height,i.width],f;if(We(t)){if(this._core.provider.device===t.device){let g=this.gpuInput(e,t.device,i),O=ce.for(t.device).toTensor(t,i,g);return{outputs:await r.run({name:"input",data:Vn,gpuBuffer:g,dims:s}),transform:O}}f=await Ut(t)}else f=t;let a=3*i.width*i.height,p=this._core.tensorScratch,c=p.get(e);(!c||c.length<a)&&(c=new Float32Array(a),p.set(e,c));let{tensor:u,transform:h}=Ot(f,i,c);return{outputs:await r.run({name:"input",data:u,dims:s}),transform:h}}gpuInput(e,t,r){let o=this._core.gpuInputs,i=ce.tensorBytes(r),s=o.get(e);if(s?.device===t&&s.buffer.size>=i)return s.buffer;s?.buffer.destroy();let f=t.createBuffer({label:`vision_input_${e}`,size:i,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC});return o.set(e,{device:t,buffer:f}),f}session(e){let{sessions:t,store:r,provider:o}=this._core,i=t.get(e);return i||(i=r.ensure(e).then(s=>o.createSession(Z[e].family==="rtmdet-ins"?jn(s):s)).catch(s=>{throw t.delete(e),r.evict(e),s}),t.set(e,i)),i}},Vn=new Float32Array(0);function jn(n){try{return Kt(n,Object.values(se))}catch{return n}}function Dn(n,e){let t=J(n,"dets",e),r=J(n,"masks",e);return{dets:t.data,labels:J(n,"labels",e).data,masks:r.data,count:t.dims[1]??0,maskHeight:r.dims[r.dims.length-2]??0,maskWidth:r.dims[r.dims.length-1]??0}}function Bn(n,e,t){let r=J(n,se.scores,e),o=J(n,se.maskFeatures,e),i={scores:r.data,boxes:J(n,se.boxes,e).data,kernels:J(n,se.kernels,e).data,maskFeatures:o.data,anchors:r.dims[1]??0,classes:r.dims[2]??0,maskHeight:o.dims[2]??0,maskWidth:o.dims[3]??0,inputWidth:t.inputWidth,inputHeight:t.inputHeight},s=Vt(i),f=new Float32Array(s.length*5),a=new Int32Array(s.length);s.forEach(({anchor:c,classIndex:u,score:h},b)=>{f.set(i.boxes.subarray(c*4,c*4+4),b*5),f[b*5+4]=h,a[b]=u});let p=new Map;return{dets:f,labels:a,count:s.length,maskWidth:i.maskWidth,maskHeight:i.maskHeight,maskLogits:!0,maskPlane:c=>{let u=p.get(c);return u||(u=jt(i,s[c].anchor),p.set(c,u)),u}}}function Hn(n){let{data:e}=n,t=e.byteOffset%4===0?e.byteLength>>>2:0,r=new Uint32Array(e.buffer,e.byteOffset,t),o=2166136261,i=16777619^e.byteLength;for(let s=0;s<t;s++){let f=r[s];o=Math.imul(o^f,2654435761),i=Math.imul(i^f,2246822519)^o>>>15}for(let s=t*4;s<e.length;s++)o=Math.imul(o^e[s],2654435761);return`${n.width}x${n.height}:${(o>>>0).toString(36)}:${(i>>>0).toString(36)}`}function J(n,e,t){let r=n[e];if(!r)throw new Error(`Vision model '${t}' returned no '${e}' output (got: ${Object.keys(n).join(", ")||"none"}). Expected the ${Z[t].source}.`);return r}y();var Ss=Symbol.for("framefields.vision.clipSubject");y();var le=class{width;height;fovRad;focalDistance;constructor(e){this.width=e.width,this.height=e.height;let t=e.fov??60;this.fovRad=t*Math.PI/180,this.focalDistance=e.cameraDistance??this.height/2/Math.tan(this.fovRad/2)}projectNormalizedLandmark(e,t=0){let r=e.x*this.width,o=e.y*this.height,i=e.z*this.width+t,s=Math.min(i,this.focalDistance-10),f=this.focalDistance/(this.focalDistance-s);return{x:r,y:o,z:i,scale:Math.max(.1,f)}}projectWorldLandmark(e,t=2,r=800){let o=this.width/2,i=this.height/2,s=e.x*r,f=e.y*r,a=(e.z+t)*r,p=Math.min(a,this.focalDistance-10),c=this.focalDistance/(this.focalDistance-p);return{x:o+s*c,y:i+f*c,z:a,scale:Math.max(.1,c)}}};y();y();function qt(){return{objects:[],rawDetections:[]}}function Zt(){return{people:[]}}function Qt(){let n=[];for(let e=0;e<17;e++)n.push({x:.5,y:.5,z:0,visibility:0});return n}y();function Ke(n,e){let t=e&&new Set(e.map(o=>o.toLowerCase())),r;for(let o of n){if(t&&!t.has(o.category.toLowerCase()))continue;if(!r){r=o;continue}let i=Jt(o),s=Jt(r);i!==s?i&&(r=o):(i?o.area>r.area:o.detectionIndex<r.detectionIndex)&&(r=o)}return r}function Jt(n){return n.category.toLowerCase()==="person"}function en(n){let{mask:e,width:t,height:r}=n,o=t,i=r,s=-1,f=-1;for(let a=0;a<r;a++){let p=a*t;for(let c=0;c<t;c++)e[p+c]!==0&&(c<o&&(o=c),c>s&&(s=c),a<i&&(i=a),a>f&&(f=a))}return s<0?null:{x0:o,y0:i,x1:s,y1:f}}function Is(n,e={}){let{classes:t,overlap:r=.5,maxGrowth:o=2}=e,i=Ke(n,t);if(!i)return;let s=en(i);if(!s)return i;let f=_e(s),a=n.filter(u=>{if(u===i)return!1;let h=en(u);return h!==null&&_e(h)<=f*o&&Nn(s,h)>=r});if(a.length===0)return i;let p=i.mask.slice();for(let u of a){let h=u.mask;for(let b=0;b<p.length;b++)h[b]>p[b]&&(p[b]=h[b])}let c=0;for(let u=0;u<p.length;u++)c+=p[u];return c=Math.round(c/255),{...i,mask:p,area:c,coverage:c/(i.width*i.height)}}function _e(n){return(n.x1-n.x0+1)*(n.y1-n.y0+1)}function Nn(n,e){let t=Math.min(n.x1,e.x1)-Math.max(n.x0,e.x0)+1,r=Math.min(n.y1,e.y1)-Math.max(n.y0,e.y0)+1;return t<=0||r<=0?0:t*r/Math.min(_e(n),_e(e))}y();function qe(n){if(n.boundingBox&&n.boundingBox.width>0&&n.boundingBox.height>0)return{originX:n.boundingBox.originX,originY:n.boundingBox.originY,width:n.boundingBox.width,height:n.boundingBox.height};let e=1/0,t=1/0,r=-1/0,o=-1/0,i=0;for(let s of n.keypoints)s.visibility>.1&&(i++,s.x<e&&(e=s.x),s.y<t&&(t=s.y),s.x>r&&(r=s.x),s.y>o&&(o=s.y));return i===0||e>=r||t>=o?{originX:n.boundingBox?.originX??0,originY:n.boundingBox?.originY??0,width:n.boundingBox?.width??0,height:n.boundingBox?.height??0}:{originX:e,originY:t,width:r-e,height:o-t}}function Es(n,e,t=.15){if(n.length===0)return[];let r=e.filter(a=>a.category.toLowerCase()==="person"&&a.active);if(r.length===0)return[...n];let o=[];for(let a=0;a<n.length;a++){let p=n[a];if(p.trackId!==void 0)continue;let c=qe(p),u=c.width<=1.05&&c.height<=1.05;for(let h of r){let b=u&&h.boundingBox.normalizedWidth>0?{originX:h.boundingBox.normalizedX,originY:h.boundingBox.normalizedY,width:h.boundingBox.normalizedWidth,height:h.boundingBox.normalizedHeight}:h.boundingBox,g=re(c,b);g>=t&&o.push({personIdx:a,trackId:h.trackId,iou:g})}}o.sort((a,p)=>p.iou-a.iou);let i=new Set,s=new Set,f=new Map;for(let a of o)i.has(a.personIdx)||s.has(a.trackId)||(i.add(a.personIdx),s.add(a.trackId),f.set(a.personIdx,a.trackId));return n.length===1&&r.length===1&&!f.has(0)&&n[0].trackId===void 0&&f.set(0,r[0].trackId),n.map((a,p)=>{if(a.trackId!==void 0)return a;let c=f.get(p);return c!==void 0?{...a,trackId:c}:a})}var Te=class{objects;poseLandmarks;masks;segmentation;classes;poseLandmarksTensor;objectsTensor;masksTensor;histogramTensor;_totalFrames;_fps;_width;_height;_transformer;_stencilTexture;_maskSource;_matteSource;_cameraFov;_poseCache=new Map;_objectCache=new Map;_maskCache=new Map;_matteCache=new Map;_poseLmCache=new Map;_trackCache=new Map;_categoryCache=new Map;_classCache=new Map;_maskTrackCache=new Map;_registeredSignals=new Set;constructor(e={}){this._maskSource=e.maskSource,this._matteSource=e.matteSource,this._cameraFov=e.cameraFov??60,this._totalFrames=e.totalFrames??120,this._fps=e.fps??24,this._width=e.width??1920,this._height=e.height??1080,this._transformer=new le({width:this._width,height:this._height,fov:e.cameraFov??60});let t=this,r=(l,m)=>{let M=Qe(l,m);return this._registeredSignals.add(M),M},o=l=>this.getPoseResult(l).people[0]?.keypoints??Qt(),i=(l,m)=>{let M=x=>o(x)[l]??{x:.5,y:.5,z:0},P=r(x=>M(x.frame).x,{fps:this._fps,label:`${m}_x`}),T=r(x=>M(x.frame).y,{fps:this._fps,label:`${m}_y`}),w=r(x=>M(x.frame).z??0,{fps:this._fps,label:`${m}_z`}),V=r(x=>this._transformer.projectNormalizedLandmark(M(x.frame)).x,{fps:this._fps,label:`${m}_screenX`}),I=r(x=>this._transformer.projectNormalizedLandmark(M(x.frame)).y,{fps:this._fps,label:`${m}_screenY`});return{x:P,y:T,z:w,screenX:V,screenY:I}},s=l=>{let m=this._poseLmCache.get(l);return m||(m=i(l,ze[l]??`kpt_${l}`),this._poseLmCache.set(l,m)),m},f={nose:s(S.NOSE),leftEye:s(S.LEFT_EYE),rightEye:s(S.RIGHT_EYE),leftEar:s(S.LEFT_EAR),rightEar:s(S.RIGHT_EAR),shoulder:s(S.LEFT_SHOULDER),leftShoulder:s(S.LEFT_SHOULDER),rightShoulder:s(S.RIGHT_SHOULDER),leftElbow:s(S.LEFT_ELBOW),rightElbow:s(S.RIGHT_ELBOW),leftWrist:s(S.LEFT_WRIST),rightWrist:s(S.RIGHT_WRIST),leftHip:s(S.LEFT_HIP),rightHip:s(S.RIGHT_HIP),leftKnee:s(S.LEFT_KNEE),rightKnee:s(S.RIGHT_KNEE),leftAnkle:s(S.LEFT_ANKLE),rightAnkle:s(S.RIGHT_ANKLE),get:s};this.poseLandmarks=new Proxy(f,{get(l,m,M){return typeof m=="string"&&/^\d+$/.test(m)?l.get(Number(m)):typeof m=="number"?l.get(m):Reflect.get(l,m,M)}});let a=(l,m="unknown")=>({trackId:l,category:m,score:0,boundingBox:{originX:this._width/2,originY:this._height/2,width:0,height:0,normalizedX:.5,normalizedY:.5,normalizedWidth:0,normalizedHeight:0},centerX:this._width/2,centerY:this._height/2,normalizedCenterX:.5,normalizedCenterY:.5,velocity:{vx:0,vy:0},speed:0,age:0,hits:0,active:!1,isCoasting:!1}),p=(l,m)=>{let M=r(I=>l(I.frame).sx,{fps:this._fps,label:`${m}_screenX`}),P=r(I=>l(I.frame).sy,{fps:this._fps,label:`${m}_screenY`}),T=r(I=>this._width>0?l(I.frame).sx/this._width:0,{fps:this._fps,label:`${m}_x`}),w=r(I=>this._height>0?l(I.frame).sy/this._height:0,{fps:this._fps,label:`${m}_y`}),V=r(()=>0,{fps:this._fps,label:`${m}_z`});return{x:T,y:w,z:V,screenX:M,screenY:P}},c=(l,m,M)=>{let P=B=>{let D=t.getPoseResult(B);if(D.people.length===0)return;let j=l(B),X=M??j.trackId,U=D.people.find(G=>G.trackId===X);if(U)return U;if(!j.active&&D.people.length>1)return;if(D.people.length===1)return D.people[0];let Y,z=.1;for(let G of D.people){let H=qe(G),$=H.width<=1.05&&H.height<=1.05&&j.boundingBox.normalizedWidth>0?{originX:j.boundingBox.normalizedX,originY:j.boundingBox.normalizedY,width:j.boundingBox.normalizedWidth,height:j.boundingBox.normalizedHeight}:j.boundingBox,K=re(H,$);K>z&&(z=K,Y=G)}return Y},T=r(B=>P(B.frame)?1:0,{fps:this._fps,label:`${m}_hasPose`}),w=(B,D)=>{let j=H=>{let $=P(H)?.keypoints[B];if($&&$.visibility>.05)return{x:$.x,y:$.y,z:0};let K=l(H);return{x:K.normalizedCenterX,y:K.normalizedCenterY,z:0}},X=r(H=>j(H.frame).x,{fps:this._fps,label:`${m}_${D}_x`}),U=r(H=>j(H.frame).y,{fps:this._fps,label:`${m}_${D}_y`}),Y=r(H=>j(H.frame).z??0,{fps:this._fps,label:`${m}_${D}_z`}),z=r(H=>t._transformer.projectNormalizedLandmark(j(H.frame)).x,{fps:this._fps,label:`${m}_${D}_screenX`}),G=r(H=>t._transformer.projectNormalizedLandmark(j(H.frame)).y,{fps:this._fps,label:`${m}_${D}_screenY`});return{x:X,y:U,z:Y,screenX:z,screenY:G}},V=new Map,I=B=>{let D=V.get(B);return D||(D=w(B,ze[B]??`kpt_${B}`),V.set(B,D)),D},x=r(B=>{let D=B.frame,j=P(D);if(!j)return 0;let X=P(Math.max(0,D-1)),U=j.keypoints,Y=X?.keypoints,z=U[S.RIGHT_WRIST],G=Y?.[S.RIGHT_WRIST],H=0;if(z&&G&&z.visibility>.1&&G.visibility>.1){let q=(z.x-G.x)*this._width,ee=(z.y-G.y)*this._height;H=Math.sqrt(q*q+ee*ee)*this._fps}let Q=U[S.LEFT_WRIST],$=Y?.[S.LEFT_WRIST],K=0;if(Q&&$&&Q.visibility>.1&&$.visibility>.1){let q=(Q.x-$.x)*this._width,ee=(Q.y-$.y)*this._height;K=Math.sqrt(q*q+ee*ee)*this._fps}return Math.max(H,K)},{fps:this._fps,label:`${m}_wristSpeed`}),d=r(B=>{let D=P(B.frame);if(!D)return 0;let j=D.keypoints,X=j[S.LEFT_WRIST],U=j[S.LEFT_SHOULDER],Y=j[S.RIGHT_WRIST],z=j[S.RIGHT_SHOULDER],G=X&&U&&X.visibility>.1&&U.visibility>.1&&X.y<U.y,H=Y&&z&&Y.visibility>.1&&z.visibility>.1&&Y.y<z.y;return G||H?1:0},{fps:this._fps,label:`${m}_handRaised`}),C=r(B=>{let D=P(B.frame);if(!D)return 0;let j=D.keypoints,X=j[S.LEFT_SHOULDER],U=j[S.RIGHT_SHOULDER],Y=j[S.LEFT_HIP],z=j[S.RIGHT_HIP];if(!X||!U||!Y||!z)return 0;let G=(X.x+U.x)/2*this._width,H=(X.y+U.y)/2*this._height,Q=(Y.x+z.x)/2*this._width,$=(Y.y+z.y)/2*this._height,K=G-Q,q=H-$;return K===0&&q===0?0:Math.atan2(K,-q)},{fps:this._fps,label:`${m}_bodyTiltAngle`}),N={hasPose:T,wristSpeed:x,handRaised:d,bodyTiltAngle:C,nose:I(S.NOSE),leftEye:I(S.LEFT_EYE),rightEye:I(S.RIGHT_EYE),leftEar:I(S.LEFT_EAR),rightEar:I(S.RIGHT_EAR),shoulder:I(S.LEFT_SHOULDER),leftShoulder:I(S.LEFT_SHOULDER),rightShoulder:I(S.RIGHT_SHOULDER),leftElbow:I(S.LEFT_ELBOW),rightElbow:I(S.RIGHT_ELBOW),leftWrist:I(S.LEFT_WRIST),rightWrist:I(S.RIGHT_WRIST),leftHip:I(S.LEFT_HIP),rightHip:I(S.RIGHT_HIP),leftKnee:I(S.LEFT_KNEE),rightKnee:I(S.RIGHT_KNEE),leftAnkle:I(S.LEFT_ANKLE),rightAnkle:I(S.RIGHT_ANKLE),get:I};return new Proxy(N,{get(B,D,j){return typeof D=="string"&&/^\d+$/.test(D)?B.get(Number(D)):typeof D=="number"?B.get(D):Reflect.get(B,D,j)}})},u=(l,m,M,P)=>{let T=d=>l(d).boundingBox,w=c(l,`${m}_pose`,P),V=(d,C,N)=>p(B=>({sx:C(T(B)),sy:N(T(B))}),`${m}_${d}`),I=V("center",d=>d.originX+d.width/2,d=>d.originY+d.height/2),x=r(d=>l(d.frame).speed,{fps:this._fps,label:`${m}_speed`});return{get trackId(){return P??l(0).trackId},get category(){return M??l(0).category},bounds:{x:r(d=>T(d.frame).normalizedX,{fps:this._fps,label:`${m}_normX`}),y:r(d=>T(d.frame).normalizedY,{fps:this._fps,label:`${m}_normY`}),width:r(d=>T(d.frame).normalizedWidth,{fps:this._fps,label:`${m}_normWidth`}),height:r(d=>T(d.frame).normalizedHeight,{fps:this._fps,label:`${m}_normHeight`}),screenX:r(d=>T(d.frame).originX,{fps:this._fps,label:`${m}_screenX`}),screenY:r(d=>T(d.frame).originY,{fps:this._fps,label:`${m}_screenY`}),screenWidth:r(d=>T(d.frame).width,{fps:this._fps,label:`${m}_screenWidth`}),screenHeight:r(d=>T(d.frame).height,{fps:this._fps,label:`${m}_screenHeight`}),aspectRatio:r(d=>{let C=T(d.frame);return C.height>0?C.width/C.height:1},{fps:this._fps,label:`${m}_aspectRatio`}),area:r(d=>{let C=T(d.frame);return C.width*C.height},{fps:this._fps,label:`${m}_area`})},anchors:{topLeft:V("topLeft",d=>d.originX,d=>d.originY),topCenter:V("topCenter",d=>d.originX+d.width/2,d=>d.originY),topRight:V("topRight",d=>d.originX+d.width,d=>d.originY),centerLeft:V("centerLeft",d=>d.originX,d=>d.originY+d.height/2),center:I,centerRight:V("centerRight",d=>d.originX+d.width,d=>d.originY+d.height/2),bottomLeft:V("bottomLeft",d=>d.originX,d=>d.originY+d.height),bottomCenter:V("bottomCenter",d=>d.originX+d.width/2,d=>d.originY+d.height),bottomRight:V("bottomRight",d=>d.originX+d.width,d=>d.originY+d.height)},kinematics:{vx:r(d=>l(d.frame).velocity.vx,{fps:this._fps,label:`${m}_vx`}),vy:r(d=>l(d.frame).velocity.vy,{fps:this._fps,label:`${m}_vy`}),speed:x,acceleration:x.velocity(1),headingRad:r(d=>{let C=l(d.frame).velocity;return Math.atan2(C.vy,C.vx)},{fps:this._fps,label:`${m}_headingRad`}),headingDeg:r(d=>{let C=l(d.frame).velocity;return Math.atan2(C.vy,C.vx)*180/Math.PI},{fps:this._fps,label:`${m}_headingDeg`})},confidence:r(d=>l(d.frame).score,{fps:this._fps,label:`${m}_score`}),active:r(d=>l(d.frame).active?1:0,{fps:this._fps,label:`${m}_active`}),isCoasting:r(d=>l(d.frame).isCoasting?1:0,{fps:this._fps,label:`${m}_isCoasting`}),age:r(d=>l(d.frame).age,{fps:this._fps,label:`${m}_age`}),pose:w,center:I,topCenter:this.__pending,bottomCenter:I,topLeft:I,bottomLeft:I}},h=(l,m,M,P)=>{let T=u(l,m,M,P),w=T.anchors;return Object.assign(T,{topCenter:w.topCenter,bottomCenter:w.bottomCenter,topLeft:w.topLeft,bottomLeft:w.bottomLeft}),T},b=l=>{let m=this._trackCache.get(l);return m||(m=h(M=>this.getObjectResult(M).objects.find(P=>P.trackId===l)??a(l),`track_${l}`,void 0,l),this._trackCache.set(l,m)),m},g=(l,m=0)=>{let M=`${l.toLowerCase()}_${m}`,P=this._categoryCache.get(M);return P||(P=h(T=>this.getObjectResult(T).objects.filter(I=>I.category.toLowerCase()===l.toLowerCase()&&I.active)[m]??a(0,l),`cat_${l}_${m}`,l),this._categoryCache.set(M,P)),P},O=h(l=>{let m=this.getObjectResult(l);if(m.objects.length===0)return a(0);let M=m.objects[0];for(let P=1;P<m.objects.length;P++)m.objects[P].score>M.score&&(M=m.objects[P]);return M},"primary_object"),R=l=>{let m=new Set;for(let M of this.getObjectResult(l).objects)M.active&&m.add(M.category);return Array.from(m).sort()},k=l=>{let m=l.toLowerCase(),M=this._classCache.get(m);return M||(M={count:r(P=>this.getObjectResult(P.frame).objects.filter(T=>T.active&&T.category.toLowerCase()===m).length,{fps:this._fps,label:`class_${m}_count`}),maxConfidence:r(P=>{let T=0;for(let w of this.getObjectResult(P.frame).objects)w.active&&w.category.toLowerCase()===m&&w.score>T&&(T=w.score);return T},{fps:this._fps,label:`class_${m}_maxConf`}),present:r(P=>this.getObjectResult(P.frame).objects.some(T=>T.active&&T.category.toLowerCase()===m)?1:0,{fps:this._fps,label:`class_${m}_present`}),primary:g(l)},this._classCache.set(m,M),M)};this.classes={get:k,get names(){return R(W.value)},histogram:{get:l=>t.getClassHistogramTensor(l?.frame??W.value),get value(){return t.getClassHistogramTensor(W.value)}}},this.objects={get:b,byCategory:g,primary:O,count:r(l=>this.getObjectResult(l.frame).objects.filter(m=>m.active).length,{fps:this._fps,label:"tracked_objects_count"}),hasCategory:l=>k(l).present,getActiveTracks:l=>this.getObjectResult(l).objects.filter(m=>m.active),get detectedCategories(){return R(W.value)}};let v=(l,m)=>this.getMaskResult(l).find(M=>M.trackId===m),E=l=>Ke(this.getMaskResult(l)),F=(l,m)=>{let M=P=>{let T=l(P);if(!(!T||T.trackId===void 0))return this.getObjectResult(P).objects.find(w=>w.trackId===T.trackId)};return{get trackId(){return l(W.value)?.trackId??0},get category(){return l(W.value)?.category??"unknown"},area:r(P=>l(P.frame)?.area??0,{fps:this._fps,label:`${m}_area`}),coverage:r(P=>l(P.frame)?.coverage??0,{fps:this._fps,label:`${m}_coverage`}),solidity:r(P=>{let T=l(P.frame),w=M(P.frame);if(!T||!w)return 0;let V=w.boundingBox.width*w.boundingBox.height;return V>0?T.area/V:0},{fps:this._fps,label:`${m}_solidity`}),bboxFill:r(P=>{let T=l(P.frame);if(!T||T.width*T.height===0)return 0;let w=M(P.frame);return w?w.boundingBox.width*w.boundingBox.height/(T.width*T.height):0},{fps:this._fps,label:`${m}_bboxFill`})}};this.masks={get:l=>{let m=this._maskTrackCache.get(l);return m||(m=F(M=>v(M,l),`mask_${l}`),this._maskTrackCache.set(l,m)),m},subject:F(E,"subject"),count:r(l=>new Set(this.getMaskResult(l.frame).map(m=>m.trackId??-1)).size,{fps:this._fps,label:"mask_count"})},this.segmentation={humanSilhouette:this.masks.subject,subject:this.masks.subject,instanceMasks:this.masks,matte:{coverage:r(l=>t.getMatteResult(l.frame)?.coverage??0,{fps:this._fps,label:"matte_coverage"}),at:l=>t.getMatteResult(l)},get stencilTexture(){return t._stencilTexture}},this.poseLandmarksTensor={get:l=>t.getPoseLandmarksTensor(l?.frame??W.value),get value(){return t.getPoseLandmarksTensor(W.value)}},this.objectsTensor={get:l=>t.getObjectsTensor(l?.frame??W.value),get value(){return t.getObjectsTensor(W.value)}},this.masksTensor={get:l=>t.getMasksTensor(l?.frame??W.value),get value(){return t.getMasksTensor(W.value)}},this.histogramTensor={get:l=>t.getClassHistogramTensor(l?.frame??W.value),get value(){return t.getClassHistogramTensor(W.value)}}}setFrameSize(e,t){this._width===e&&this._height===t||(this._width=e,this._height=t,this._transformer=new le({width:e,height:t,fov:this._cameraFov}),this.invalidateSignals())}setStencilTexture(e){this._stencilTexture=e}get stencilTexture(){return this._stencilTexture}latestAtOrBefore(e,t,r=8){let o=this.clamp(t),i=Math.max(0,o-r);for(let s=o;s>=i;s--){let f=e.get(s);if(f!==void 0)return f}}invalidateSignals(){for(let e of this._registeredSignals)e.invalidate()}setPoseResult(e,t){this._poseCache.set(this.clamp(e),t),this.invalidateSignals()}getPoseResult(e){return this.latestAtOrBefore(this._poseCache,e)??Zt()}setObjectResult(e,t){let r="objects"in t?t:{objects:t,rawDetections:[]};this._objectCache.set(this.clamp(e),{objects:r.objects,rawDetections:r.rawDetections??[]}),this.invalidateSignals()}getObjectResult(e){return this.latestAtOrBefore(this._objectCache,e)??qt()}setMaskResult(e,t){this._maskCache.set(this.clamp(e),t),this.invalidateSignals()}getMaskResult(e){return this._maskSource?.(e)??this.latestAtOrBefore(this._maskCache,e)??[]}setMatteResult(e,t){this._matteCache.set(this.clamp(e),t),this.invalidateSignals()}getMatteResult(e){return this._matteSource?.(e)??this.latestAtOrBefore(this._matteCache,e)}summary(e=W.value){let t=this.clamp(e),r=this.getObjectResult(t),o=r.objects.map(f=>({trackId:f.trackId,category:f.category,score:f.score,center:[f.centerX,f.centerY],speed:f.speed,active:f.active})),i=new Set;for(let f of r.objects)f.active&&i.add(f.category);let s={};for(let f of this.getMaskResult(t))s[f.category]=(s[f.category]??0)+1;return{frame:t,objects:o,classes:Array.from(i).sort(),masks:s}}getPoseLandmarksTensor(e){let r=this.getPoseResult(e).people[0]?.keypoints??[],o=new Float32Array(51);for(let i=0;i<17;i++)o[i*3]=r[i]?.x??.5,o[i*3+1]=r[i]?.y??.5,o[i*3+2]=r[i]?.visibility??0;return{data:o,shape:[17,3],dtype:"float32"}}getObjectsTensor(e,t=16){let r=this.getObjectResult(e),o=new Float32Array(t*8),i=Math.min(t,r.objects.length);for(let s=0;s<i;s++){let f=r.objects[s],a=s*8,p=0;for(let c=0;c<f.category.length;c++)p=p*31+f.category.charCodeAt(c)&65535;o[a]=f.active?1:0,o[a+1]=p,o[a+2]=f.centerX,o[a+3]=f.centerY,o[a+4]=f.boundingBox.width,o[a+5]=f.boundingBox.height,o[a+6]=f.velocity.vx,o[a+7]=f.velocity.vy}return{data:o,shape:[t,8],dtype:"float32"}}getMasksTensor(e,t=16){let r=this.getMaskResult(e),o=new Float32Array(t*2),i=Math.min(t,r.length);for(let s=0;s<i;s++){let f=r[s];o[s*2]=f.coverage;let a=this.getObjectResult(e).objects.find(c=>c.trackId===f.trackId),p=a?a.boundingBox.width*a.boundingBox.height:0;o[s*2+1]=p>0?f.area/p:0}return{data:o,shape:[t,2],dtype:"float32"}}getClassHistogramTensor(e,t=80){let r=new Float32Array(t);for(let o of this.getObjectResult(e).objects)if(o.active){let i=zn.get(o.category.toLowerCase());i!==void 0&&(r[i]+=1)}return{data:r,shape:[t],dtype:"float32"}}clamp(e){return Math.max(0,Math.min(this._totalFrames-1,Math.round(e)))}};var zn=new Map(he.map((n,e)=>[n,e]));y();function tn(n,e,t={}){let r=t.offsetX??0,o=t.offsetY??0,i=t.offsetZ??0;if(!e||typeof e!="object")return n;if("screenX"in e&&e.screenX&&typeof e.screenX=="object"){let s=e;n.x=r!==0?s.screenX.add(r):s.screenX,n.y=o!==0?s.screenY.add(o):s.screenY,n.z=i!==0?s.z.add(i):s.z}else if("x"in e&&typeof e.x=="object"&&e.x!==null){let s=e;n.x=r!==0?s.x.add(r):s.x,n.y=o!==0?s.y.add(o):s.y,n.z=i!==0?s.z.add(i):s.z}else{let s=e;n.x=(s.screenX??s.x)+r,n.y=(s.screenY??s.y)+o,n.z=(s.z??0)+i}return n}function Xs(n,e,t={}){if(!e||typeof e!="object")return n;if("anchors"in e&&e.anchors){let r=e,o=t.anchor??(t.matchWidth||t.matchHeight?"topLeft":"center"),i=r.anchors[o]??r.center,s=i;return t.smoothFrames&&t.smoothFrames>1&&(s={x:i.x.smooth(t.smoothFrames),y:i.y.smooth(t.smoothFrames),z:i.z,screenX:i.screenX.smooth(t.smoothFrames),screenY:i.screenY.smooth(t.smoothFrames)}),t.matchWidth&&(n.width=t.smoothFrames&&t.smoothFrames>1?r.bounds.screenWidth.smooth(t.smoothFrames):r.bounds.screenWidth),t.matchHeight&&(n.height=t.smoothFrames&&t.smoothFrames>1?r.bounds.screenHeight.smooth(t.smoothFrames):r.bounds.screenHeight),t.hideWhenLost&&(n.opacity=r.active),tn(n,s,t)}return tn(n,e,t)}y();function Un(n){let e=[];return n.enableDetection===!0&&e.push("detect"),n.enableSegmentation===!0&&e.push("segment"),n.enablePose===!0&&e.push("pose"),n.enableMatte===!0&&e.push("matte"),e.length>0?e:["detect"]}var Ze=class n{id;kind="vision";source;config;vision;_runner;_runnerOptions;constructor(e,t={},r={},o={}){this.id=`vision-${Math.random().toString(36).slice(2,9)}`,this.source=e,this.config=t,this._runnerOptions=o,this.vision=new Te({...r,config:t})}runner(){if(!this._runner){let{variant:e,confidence:t,classes:r,modelsDir:o,baseUrl:i,maskThreshold:s,featherRadius:f}=this.config;this._runner=Se.create({...this._runnerOptions,...e!==void 0?{variant:e}:{},...t!==void 0?{confidence:t}:{},...r!==void 0?{classes:r}:{},...o!==void 0?{modelsDir:o}:{},...i!==void 0?{baseUrl:i}:{},...s!==void 0?{maskThreshold:s}:{},...f!==void 0?{featherRadius:f}:{}})}return this._runner}async ready(){let e=this.runner();return await e.preload(Un(this.config)),e}close(){this._runner?.close(),this._runner=void 0}static attach(e,t={},r={}){let o=new n(e,t,r),i=o.vision;return Object.defineProperties(i,{node:{value:o.toNode(),enumerable:!0},ready:{value:()=>o.ready()},runner:{value:()=>o.runner()},close:{value:()=>o.close()}}),i}toNode(){return{id:this.id,kind:"vision",source:this.source,config:this.config}}};y();y();function Qs(n,e,t,r,o){let i=n.width,s=n.height,f=-1,a=-1;for(let v=0;v<n.height;v++)for(let E=0;E<n.width;E++)(n.mask[v*n.width+E]??0)<128||(i=Math.min(i,E),s=Math.min(s,v),f=Math.max(f,E),a=Math.max(a,v));let p=f>=0,c=p?i:0,u=p?s:0,h=p?f-i+1:0,b=p?a-s+1:0,g=c+h/2,O=u+b/2,R=p&&o?.active?(g-o.centerX)*t:0,k=p&&o?.active?(O-o.centerY)*t:0;return{trackId:n.trackId??1,category:n.category,score:r,boundingBox:{originX:c,originY:u,width:h,height:b,normalizedX:c/n.width,normalizedY:u/n.height,normalizedWidth:h/n.width,normalizedHeight:b/n.height},centerX:g,centerY:O,normalizedCenterX:g/n.width,normalizedCenterY:O/n.height,velocity:{vx:R,vy:k},speed:Math.hypot(R,k),age:e+1,hits:e+1,active:p,isCoasting:!1}}export{ct as a,lt as b,dt as c,Kn as d,ut as e,qn as f,sr as g,sn as h,lr as i,mr as j,fr as k,pr as l,hr as m,gr as n,br as o,yr as p,xr as q,kr as r,Sr as s,_r as t,Tr as u,wr as v,Mr as w,Rr as x,Er as y,an as z,gt as A,ht as B,Fr as C,cn as D,ln as E,dn as F,un as G,mn as H,fn as I,Ve as J,bt as K,pn as L,je as M,Kr as N,yt as O,to as P,no as Q,so as R,be as S,Z as T,co as U,he as V,ge as W,go as X,Ot as Y,Ut as Z,S as _,ze as $,Tt as aa,vt as ba,Pt as ca,ke as da,Se as ea,Ss as fa,en as ga,Is as ha,Qs as ia,le as ja,Es as ka,Te as la,tn as ma,Xs as na,Ze as oa};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as o}from"./chunk-GEUUXTDL.mjs";import{a as pe}from"./chunk-S2ABWY5G.mjs";import{h as ie}from"./chunk-ULOFDFHJ.mjs";import{f as d,g as p}from"./chunk-Y4NIR77Z.mjs";p();p();p();p();p();p();function de(r){return typeof d<"u"?d.env?.[r]:void 0}function me(){let r=de("FRAMEFIELDS_STRICT_PROPS");return r==="1"||r==="true"}function ze(){return me()||de("NODE_ENV")!=="production"}var ue=new Set;function se(r){if(me())throw new Error(r);ue.has(r)||(ue.add(r),console.warn(`[framefields] ${r}`))}function ce(r){if(typeof r!="object"||r===null||Array.isArray(r)||ie(r))return!1;let e=Object.getPrototypeOf(r);return e===Object.prototype||e===null}function Fe(r,e){let n=Array.from({length:e.length+1},(l,i)=>i);for(let l=1;l<=r.length;l++){let i=n[0];n[0]=l;for(let s=1;s<=e.length;s++){let c=n[s];n[s]=Math.min(n[s]+1,n[s-1]+1,i+(r[l-1]===e[s-1]?0:1)),i=c}}return n[e.length]}function Ve(r,e){let n,l=Number.POSITIVE_INFINITY,i=r.toLowerCase();for(let c of e){let u=c.toLowerCase(),m=u.includes(i)||i.includes(u)?1:Fe(i,u);m<l&&(l=m,n=c)}return n&&l<=Math.max(2,Math.ceil(r.length/2))?` Did you mean "${n}"?`:` Known props: ${e.join(", ")}.`}function qe(r,e,n){if(typeof e=="number"){let{min:l,max:i}=n,s=l!==void 0&&e<l,c=i!==void 0&&e>i;if(s||c||Number.isNaN(e)){let u=l!==void 0&&i!==void 0?`${l} to ${i}`:l!==void 0?`\u2265 ${l}`:`\u2264 ${i}`;se(Number.isNaN(e)?`${r} is NaN`:`${r} = ${e} is outside ${u}`)}return}n.enum&&(typeof e=="string"||typeof e=="boolean")&&!n.enum.includes(e)&&se(`${r} = ${JSON.stringify(e)} is not one of ${n.enum.map(l=>JSON.stringify(l)).join(", ")}`)}function be(r,e,n){let l=Object.keys(n);for(let[i,s]of Object.entries(e)){if(s===void 0)continue;let c=n[i];if(!c){se(`${r}: unknown prop "${i}".${Ve(i,l)}`);continue}ie(s)||typeof s=="function"||(c.props&&ce(s)?be(`${r}.${i}`,s,c.props):qe(`${r}.${i}`,s,c))}}function Xe(r){return typeof r=="object"&&r!==null?structuredClone(r):r}function t(r,e,n,l){let i=n;ze()&&be(r,i,l);let s={};for(let[c,u]of Object.entries(e))s[c]=Xe(u);for(let[c,u]of Object.entries(i)){if(u===void 0)continue;let m=s[c];s[c]=ce(m)&&ce(u)?{...m,...Object.fromEntries(Object.entries(u).filter(([,Oe])=>Oe!==void 0))}:u}return s}p();var a={Ascii:{cellSize:{min:4,max:64},colorMode:{enum:["mono","source","green"]},fg:{},bg:{},contrast:{min:.5,max:3},invert:{}},AudioCompressor:{threshold:{min:-60,max:0},ratio:{min:1,max:100},attack:{min:1e-4,max:1},release:{min:.01,max:5},knee:{min:0,max:24},makeupGain:{min:0,max:24}},AudioDelay:{delayTime:{min:.001,max:5},feedback:{min:0,max:.95},wet:{min:0,max:1},dry:{min:0,max:1},pingPong:{}},AudioFade:{fadeInDuration:{min:0,max:60},fadeOutDuration:{min:0,max:60},fadeInCurve:{enum:["linear","exponential","scurve"]},fadeOutCurve:{enum:["linear","exponential","scurve"]}},AudioNoiseGate:{threshold:{min:-120,max:0},attack:{min:1e-4,max:1},hold:{min:.001,max:5},release:{min:.01,max:5},range:{min:-120,max:0}},AudioParametricEq:{type:{enum:["lowShelf","highShelf","peak","lowPass","highPass","notch"]},frequency:{min:20,max:2e4},gain:{min:-24,max:24},q:{min:.01,max:10}},AudioReverb:{roomSize:{min:0,max:.98},damping:{min:0,max:1},wet:{min:0,max:1},dry:{min:0,max:1},width:{min:0,max:1}},Blur:{blurType:{enum:["Gaussian","Box","Median","Motion","Bilateral","Edge-preserving","Radial","Zoom"]},strength:{min:0,max:100},angle:{min:0,max:360},sigmaColor:{min:.01,max:1},centerX:{min:0,max:1},centerY:{min:0,max:1},partialBlur:{},radius:{min:.01,max:1},radiusY:{min:0,max:1},shape:{enum:["ellipse","circle","rect"]}},CameraParallax3D:{motionPreset:{enum:["Custom","DollyZoom","Orbit","FlyThrough","HandheldShake","RackFocus"]},panX:{min:-1,max:1},panY:{min:-1,max:1},dollyZ:{min:-1,max:1},fov:{min:15,max:120},parallaxAmount:{min:0,max:2},dofAperture:{min:0,max:1},focusPlane:{min:0,max:1},edgeDilation:{min:0,max:1},depthInvert:{}},ChannelMerger:{colorSpace:{enum:["RGBA","HSLA","CMYK","LAB"]},defaultChannel4:{min:0,max:1}},ChannelSplitter:{colorSpace:{enum:["RGBA","HSLA","CMYK","LAB"]}},ColorBalance:{shadows:{props:{cyanRed:{min:-100,max:100},magentaGreen:{min:-100,max:100},yellowBlue:{min:-100,max:100}}},midtones:{props:{cyanRed:{min:-100,max:100},magentaGreen:{min:-100,max:100},yellowBlue:{min:-100,max:100}}},highlights:{props:{cyanRed:{min:-100,max:100},magentaGreen:{min:-100,max:100},yellowBlue:{min:-100,max:100}}},preserveLuminosity:{}},ColorKey:{keyColor:{},similarity:{min:0,max:1},smoothness:{min:0,max:1},spillSuppression:{min:0,max:1},colorSpace:{enum:["YUV","RGB"]},spillSuppressionType:{enum:["Desaturate","Neutralize","None"]}},Contour:{levels:{min:2,max:64},lineWidth:{min:.5,max:8},lineColor:{},fill:{enum:["source","flat","none"]},fillColor:{},smoothing:{min:0,max:8}},CornerPin:{points:{}},CRT:{scanlines:{min:0,max:1},lineCount:{min:100,max:2160},curvature:{min:0,max:1},mask:{min:0,max:1},vignette:{min:0,max:1},noise:{min:0,max:1},flicker:{min:0,max:1},tracking:{min:0,max:1},chroma:{min:0,max:20}},Datamosh:{keyframes:{},strength:{min:0,max:10},bleed:{min:0,max:1},warmup:{min:1,max:240}},DisplacementMap:{strengthX:{min:0,max:500},strengthY:{min:0,max:500},xChannel:{enum:["Red","Green","Blue","Alpha","Luminance"]},yChannel:{enum:["Red","Green","Blue","Alpha","Luminance"]},wrapMode:{enum:["Clamp","Repeat","Mirror"]}},Dither:{mode:{enum:["bayer","noise","halftone"]},levels:{min:2,max:16},scale:{min:1,max:16},monochrome:{},dark:{},light:{}},ExtractLUT:{strategy:{enum:["deterministic","statistical"]},samplePoints:{min:10,max:500}},Flip:{horizontal:{},vertical:{},diagonal:{},mode:{enum:["horizontal","vertical","both","diagonal","antiDiagonal","custom"]},symmetry:{enum:["none","leftToRight","rightToLeft","topToBottom","bottomToTop","quadrant"]}},Gooey:{radius:{min:1,max:60},threshold:{min:0,max:1},softness:{min:.001,max:.5}},Iridescence:{strength:{min:0,max:1},scale:{min:.1,max:10},shift:{min:-3600,max:3600},mode:{enum:["luminance","relief"]}},Kaleidoscope:{segments:{min:2,max:32},rotation:{min:-3600,max:3600},centerX:{min:0,max:1},centerY:{min:0,max:1},zoom:{min:.2,max:4}},KenBurns:{keyframes:{},motionBlurSize:{min:0,max:10},movementStyle:{enum:["spline","direct"]},aspectRatio:{enum:["input","16:9","9:16","21:9","9:21","1:1","4:3","3:2","2:3","4:5","5:4"]}},LayerStyle:{dropShadow:{props:{enabled:{},color:{},opacity:{min:0,max:1},angle:{min:0,max:360},distance:{min:0,max:500},spread:{min:0,max:100},size:{min:0,max:250},blendMode:{}}},innerShadow:{props:{enabled:{},color:{},opacity:{min:0,max:1},angle:{min:0,max:360},distance:{min:0,max:500},choke:{min:0,max:100},size:{min:0,max:250},blendMode:{}}},outerGlow:{props:{enabled:{},color:{},opacity:{min:0,max:1},size:{min:0,max:250},spread:{min:0,max:100},blendMode:{}}},innerGlow:{props:{enabled:{},color:{},opacity:{min:0,max:1},size:{min:0,max:250},spread:{min:0,max:100},blendMode:{}}},stroke:{props:{enabled:{},size:{min:0,max:100},position:{enum:["inside","center","outside"]},color:{},opacity:{min:0,max:1},blendMode:{}}},bevelEmboss:{props:{enabled:{},style:{enum:["InnerBevel","OuterBevel","Emboss","PillowEmboss"]},technique:{enum:["Smooth","ChiselHard","ChiselSoft"]},depth:{min:1,max:1e3},direction:{enum:["Up","Down"]},size:{min:0,max:250},soften:{min:0,max:50},angle:{min:0,max:360},altitude:{min:0,max:90},highlightColor:{},highlightOpacity:{min:0,max:1},shadowColor:{},shadowOpacity:{min:0,max:1}}},colorOverlay:{props:{enabled:{},color:{},opacity:{min:0,max:1},blendMode:{}}},dropShadowAngleHandleId:{},dropShadowDistanceHandleId:{},dropShadowSpreadHandleId:{},dropShadowSizeHandleId:{},dropShadowOpacityHandleId:{},innerShadowAngleHandleId:{},innerShadowDistanceHandleId:{},innerShadowChokeHandleId:{},innerShadowSizeHandleId:{},innerShadowOpacityHandleId:{},outerGlowSizeHandleId:{},outerGlowSpreadHandleId:{},outerGlowOpacityHandleId:{},innerGlowSizeHandleId:{},innerGlowSpreadHandleId:{},innerGlowOpacityHandleId:{},strokeSizeHandleId:{},strokeOpacityHandleId:{},bevelEmbossDepthHandleId:{},bevelEmbossSizeHandleId:{},bevelEmbossSoftenHandleId:{},bevelEmbossAngleHandleId:{},bevelEmbossAltitudeHandleId:{},bevelEmbossHighlightOpacityHandleId:{},bevelEmbossShadowOpacityHandleId:{},colorOverlayOpacityHandleId:{}},Liquify:{operations:{}},MaskMath:{operation:{enum:["Union","Intersect","Subtract","Difference","Invert","Dilate","Erode","Choke","Feather"]},radius:{min:0,max:200},threshold:{min:0,max:1},clampMin:{min:0,max:1},clampMax:{min:0,max:1},channelA:{enum:["Alpha","Luminance","Red","Green","Blue"]},channelB:{enum:["Alpha","Luminance","Red","Green","Blue"]},binarize:{},invertResult:{},outputFormat:{enum:["WhiteWithAlpha","GrayscaleRGB","AlphaOnly","PassthroughRGB"]}},MeshWarp:{cols:{min:2,max:12},rows:{min:2,max:12},points:{}},NoiseGenerator:{noiseType:{enum:["Perlin","Simplex","Voronoi"]},outputType:{enum:["Image","Video"]},width:{min:16,max:4096},height:{min:16,max:4096},scale:{min:.1,max:100},octaves:{min:1,max:8},persistence:{min:0,max:1},lacunarity:{min:1,max:4},speed:{min:0,max:10},colorStart:{},colorEnd:{},durationMs:{min:1,max:6e4},fps:{min:1,max:120}},OpArt:{pattern:{enum:["stripes","rings","checker","waves"]},frequency:{min:2,max:300},angle:{min:-360,max:360},warp:{min:0,max:3},source:{min:0,max:1},colorA:{},colorB:{}},Paint:{width:{min:1,max:16384},height:{min:1,max:16384},maintainAspect:{},aspectRatio:{},backgroundColor:{},strokes:{}},Painterly:{style:{enum:["oil","watercolor"]},radius:{min:2,max:12},edgeDarkening:{min:0,max:1},paper:{min:0,max:1},saturation:{min:0,max:2}},PatchHeal:{patches:{},centerX:{min:0,max:1},centerY:{min:0,max:1},offsetX:{min:-4096,max:4096},offsetY:{min:-4096,max:4096},radius:{min:1,max:500},sourceRadius:{min:1,max:500},feather:{min:0,max:100},opacity:{min:0,max:1},mode:{enum:["Clone","SeamlessHeal","TextureTransfer"]}},Pixelate:{size:{min:1,max:256},shape:{enum:["square","circle","diamond"]},gap:{min:0,max:.9}},Posterize:{levels:{min:2,max:64},palette:{enum:["none","gameboy","teletext","cga","pico8","c64","grayscale","sepia","custom"]},colors:{},dither:{min:0,max:1},pixelSize:{min:1,max:64}},ProceduralVFX:{effectType:{enum:["Smoke","Fire","Rain","Sparks","Snow","Dust","Lightning","Magic","LensFlare","Embers","EnergyBeam","Aurora"]},outputType:{enum:["Image","Video"]},width:{min:16,max:4096},height:{min:16,max:4096},density:{min:0,max:1},scale:{min:.001,max:10},speed:{min:0,max:10},intensity:{min:0,max:1},seed:{min:0,max:1e6},colorStart:{},colorEnd:{},durationMs:{min:100,max:1e5},fps:{min:1,max:120}},RefineEdge:{decontaminateAmount:{min:0,max:1},radius:{min:.5,max:50},smooth:{min:0,max:100},feather:{min:0,max:50},shiftEdge:{min:-100,max:100},matteChannel:{enum:["Alpha","Luminance","Red","Green","Blue"]},outputMode:{enum:["Composite","MatteOnly","DecontaminatedRGB"]}},RefractionCaustics3D:{ior:{min:1,max:2.5},dispersion:{min:0,max:.2},refractionScale:{min:0,max:2},causticBrightness:{min:0,max:2},causticScale:{min:.1,max:5},fluidRipples:{min:0,max:1},rippleSpeed:{min:0,max:5},roughness:{min:0,max:1},specularIntensity:{min:0,max:2},lightPosX:{min:0,max:1},lightPosY:{min:0,max:1},tintColor:{},tintStrength:{min:0,max:1},depthInvert:{},depthScale:{min:.1,max:5}},ResizerScaler:{aspectRatioPreset:{enum:["9:16","16:9","1:1","4:5","21:9","custom"]},resolutionPreset:{enum:["4k","1080p","720p","480p","custom"]},targetWidth:{min:1,max:8192},targetHeight:{min:1,max:8192},fitMode:{enum:["cover","contain","stretch","manual"]},zoom:{min:1,max:1e3},offsetX:{min:-8192,max:8192},offsetY:{min:-8192,max:8192},backgroundMode:{enum:["solid","blurred","gradient","transparent"]},backgroundColor:{},backgroundColor2:{},blurRadius:{min:0,max:100},backgroundBrightness:{min:0,max:1},anchorX:{enum:["left","center","right"]},anchorY:{enum:["top","center","bottom"]}},RGBSplit:{amount:{min:0,max:200},angle:{min:-360,max:360},radial:{}},Rotate:{angle:{},fit:{enum:["cover","contain","fill"]},scale:{min:.01,max:20}},StereoPanning:{pan:{min:-1,max:1}},Toon:{levels:{min:2,max:12},edgeThreshold:{min:0,max:1},edgeWidth:{min:.5,max:4},edgeColor:{},saturation:{min:0,max:2}},Trails:{decay:{min:0,max:1},mode:{enum:["blend","over","add","max"]},zoom:{min:.5,max:2},rotation:{min:-45,max:45},offsetX:{min:-500,max:500},offsetY:{min:-500,max:500},hueShift:{min:-180,max:180},warmup:{min:0,max:240}},Vignette:{strength:{min:0,max:100},radius:{min:.1,max:2},softness:{min:0,max:1},roundness:{min:0,max:1},centerX:{min:0,max:1},centerY:{min:0,max:1}}};var Ke={cellSize:10,colorMode:"mono",fg:"#e8e8e8",bg:"#0b0b0b",contrast:1.2,invert:!1},b=class extends o{op="Ascii";domain="visual";constructor(e={}){super(t("Ascii",Ke,e,a.Ascii))}},Ye={threshold:-24,ratio:4,attack:.003,release:.25,knee:6,makeupGain:0},f=class extends o{op="AudioCompressor";domain="audio";constructor(e={}){super(t("AudioCompressor",Ye,e,a.AudioCompressor))}},We={delayTime:.25,feedback:.4,wet:.3,dry:1,pingPong:!1},P=class extends o{op="AudioDelay";domain="audio";constructor(e={}){super(t("AudioDelay",We,e,a.AudioDelay))}},Ne={fadeInDuration:0,fadeOutDuration:0,fadeInCurve:"linear",fadeOutCurve:"linear"},h=class extends o{op="AudioFade";domain="audio";constructor(e={}){super(t("AudioFade",Ne,e,a.AudioFade))}},Ue={threshold:-40,attack:.005,hold:.05,release:.1,range:-80},y=class extends o{op="AudioNoiseGate";domain="audio";constructor(e={}){super(t("AudioNoiseGate",Ue,e,a.AudioNoiseGate))}},je={type:"peak",frequency:1e3,gain:0,q:1},g=class extends o{op="AudioParametricEq";domain="audio";constructor(e={}){super(t("AudioParametricEq",je,e,a.AudioParametricEq))}},$e={roomSize:.5,damping:.5,wet:.3,dry:1,width:1},x=class extends o{op="AudioReverb";domain="audio";constructor(e={}){super(t("AudioReverb",$e,e,a.AudioReverb))}},Ze={blurType:"Gaussian",strength:5,angle:0,sigmaColor:.1,centerX:.5,centerY:.5,partialBlur:!1,radius:.3,radiusY:0,shape:"circle"},le=class extends o{op="Blur";domain="visual";constructor(e={}){super(t("Blur",Ze,e,a.Blur))}},_e={motionPreset:"DollyZoom",panX:0,panY:0,dollyZ:0,fov:50,parallaxAmount:.6,dofAperture:.3,focusPlane:.4,edgeDilation:.5,depthInvert:!1},v=class extends o{op="CameraParallax3D";domain="visual";constructor(e={}){super(t("CameraParallax3D",_e,e,a.CameraParallax3D))}},Je={colorSpace:"RGBA",defaultChannel4:1},S=class extends o{op="ChannelMerger";domain="visual";constructor(e={}){super(t("ChannelMerger",Je,e,a.ChannelMerger))}},Qe={colorSpace:"RGBA"},C=class extends o{op="ChannelSplitter";domain="visual";constructor(e={}){super(t("ChannelSplitter",Qe,e,a.ChannelSplitter))}},er={shadows:{cyanRed:0,magentaGreen:0,yellowBlue:0},midtones:{cyanRed:0,magentaGreen:0,yellowBlue:0},highlights:{cyanRed:0,magentaGreen:0,yellowBlue:0},preserveLuminosity:!0},E=class extends o{op="ColorBalance";domain="visual";constructor(e={}){super(t("ColorBalance",er,e,a.ColorBalance))}},rr={keyColor:"#00ff00",similarity:.4,smoothness:.1,spillSuppression:.2,colorSpace:"YUV",spillSuppressionType:"Desaturate"},A=class extends o{op="ColorKey";domain="visual";constructor(e={}){super(t("ColorKey",rr,e,a.ColorKey))}},or={levels:14,lineWidth:1.2,lineColor:"#2b1d0e",fill:"source",fillColor:"#f3ead8",smoothing:2},w=class extends o{op="Contour";domain="visual";constructor(e={}){super(t("Contour",or,e,a.Contour))}},ar={},R=class extends o{op="CornerPin";domain="visual";constructor(e={}){super(t("CornerPin",ar,e,a.CornerPin))}},tr={scanlines:.45,lineCount:540,curvature:.12,mask:.25,vignette:.35,noise:.08,flicker:.03,tracking:0,chroma:0},M=class extends o{op="CRT";domain="visual";constructor(e={}){super(t("CRT",tr,e,a.CRT))}},nr={keyframes:[],strength:1,bleed:0,warmup:48},D=class extends o{op="Datamosh";domain="visual";constructor(e={}){super(t("Datamosh",nr,e,a.Datamosh))}},lr={strengthX:50,strengthY:50,xChannel:"Red",yChannel:"Green",wrapMode:"Clamp"},k=class extends o{op="DisplacementMap";domain="visual";constructor(e={}){super(t("DisplacementMap",lr,e,a.DisplacementMap))}},ir={mode:"bayer",levels:2,scale:2,monochrome:!0,dark:"#111111",light:"#f2efe6"},B=class extends o{op="Dither";domain="visual";constructor(e={}){super(t("Dither",ir,e,a.Dither))}},sr={strategy:"deterministic",samplePoints:150},T=class extends o{op="ExtractLUT";domain="visual";constructor(e={}){super(t("ExtractLUT",sr,e,a.ExtractLUT))}},cr={horizontal:!0,vertical:!1,diagonal:!1,mode:"horizontal",symmetry:"none"},G=class extends o{op="Flip";domain="visual";constructor(e={}){super(t("Flip",cr,e,a.Flip))}},pr={radius:12,threshold:.5,softness:.04},I=class extends o{op="Gooey";domain="visual";constructor(e={}){super(t("Gooey",pr,e,a.Gooey))}},ur={strength:.6,scale:2,shift:0,mode:"relief"},H=class extends o{op="Iridescence";domain="visual";constructor(e={}){super(t("Iridescence",ur,e,a.Iridescence))}},dr={segments:6,rotation:0,centerX:.5,centerY:.5,zoom:1},L=class extends o{op="Kaleidoscope";domain="visual";constructor(e={}){super(t("Kaleidoscope",dr,e,a.Kaleidoscope))}},mr={keyframes:[],motionBlurSize:1.5,movementStyle:"spline",aspectRatio:"input"},O=class extends o{op="KenBurns";domain="visual";constructor(e={}){super(t("KenBurns",mr,e,a.KenBurns))}},br={dropShadow:{enabled:!1,color:"#000000",opacity:.75,angle:120,distance:10,spread:0,size:10,blendMode:"multiply"},innerShadow:{enabled:!1,color:"#000000",opacity:.75,angle:120,distance:5,choke:0,size:5,blendMode:"multiply"},outerGlow:{enabled:!1,color:"#ffffff",opacity:.75,size:15,spread:0,blendMode:"screen"},innerGlow:{enabled:!1,color:"#ffffff",opacity:.75,size:15,spread:0,blendMode:"screen"},stroke:{enabled:!1,size:2,position:"outside",color:"#ffffff",opacity:1,blendMode:"normal"},bevelEmboss:{enabled:!1,style:"InnerBevel",technique:"Smooth",depth:100,direction:"Up",size:5,soften:0,angle:120,altitude:30,highlightColor:"#ffffff",highlightOpacity:.75,shadowColor:"#000000",shadowOpacity:.75},colorOverlay:{enabled:!1,color:"#ff0000",opacity:1,blendMode:"normal"}},z=class extends o{op="LayerStyle";domain="visual";constructor(e={}){super(t("LayerStyle",br,e,a.LayerStyle))}},fr={operations:[]},F=class extends o{op="Liquify";domain="visual";constructor(e={}){super(t("Liquify",fr,e,a.Liquify))}},Pr={operation:"Union",radius:0,threshold:.5,clampMin:0,clampMax:1,channelA:"Alpha",channelB:"Alpha",binarize:!1,invertResult:!1,outputFormat:"WhiteWithAlpha"},V=class extends o{op="MaskMath";domain="visual";constructor(e={}){super(t("MaskMath",Pr,e,a.MaskMath))}},hr={cols:3,rows:3},q=class extends o{op="MeshWarp";domain="visual";constructor(e={}){super(t("MeshWarp",hr,e,a.MeshWarp))}},yr={noiseType:"Perlin",outputType:"Image",width:512,height:512,scale:10,octaves:4,persistence:.5,lacunarity:2,speed:1,colorStart:"#000000",colorEnd:"#ffffff",durationMs:5e3,fps:30},X=class extends o{op="NoiseGenerator";domain="visual";constructor(e={}){super(t("NoiseGenerator",yr,e,a.NoiseGenerator))}},gr={pattern:"stripes",frequency:48,angle:0,warp:.6,source:1,colorA:"#0a0a0a",colorB:"#f5f5f5"},K=class extends o{op="OpArt";domain="visual";constructor(e={}){super(t("OpArt",gr,e,a.OpArt))}},xr={width:1080,height:1080,maintainAspect:!0,backgroundColor:"#ffffff"},Y=class extends o{op="Paint";domain="visual";constructor(e={}){super(t("Paint",xr,e,a.Paint))}},vr={style:"oil",radius:5,edgeDarkening:.5,paper:.3,saturation:1.05},W=class extends o{op="Painterly";domain="visual";constructor(e={}){super(t("Painterly",vr,e,a.Painterly))}},Sr={centerX:.5,centerY:.5,offsetX:50,offsetY:0,radius:25,sourceRadius:25,feather:50,opacity:1,mode:"SeamlessHeal"},N=class extends o{op="PatchHeal";domain="visual";constructor(e={}){super(t("PatchHeal",Sr,e,a.PatchHeal))}},Cr={size:12,shape:"square",gap:0},U=class extends o{op="Pixelate";domain="visual";constructor(e={}){super(t("Pixelate",Cr,e,a.Pixelate))}},Er={levels:6,palette:"none",colors:[],dither:0,pixelSize:1},j=class extends o{op="Posterize";domain="visual";constructor(e={}){super(t("Posterize",Er,e,a.Posterize))}},Ar={effectType:"Smoke",outputType:"Video",width:1080,height:1080,density:.6,scale:.01,speed:1,intensity:.8,seed:1234,colorStart:"#ffffff",colorEnd:"#ff5500",durationMs:5e3,fps:30},$=class extends o{op="ProceduralVFX";domain="visual";constructor(e={}){super(t("ProceduralVFX",Ar,e,a.ProceduralVFX))}},wr={decontaminateAmount:.7,radius:2,smooth:5,feather:.5,shiftEdge:0,matteChannel:"Alpha",outputMode:"Composite"},Z=class extends o{op="RefineEdge";domain="visual";constructor(e={}){super(t("RefineEdge",wr,e,a.RefineEdge))}},Rr={ior:1.52,dispersion:.04,refractionScale:.5,causticBrightness:.6,causticScale:1,fluidRipples:0,rippleSpeed:1,roughness:0,specularIntensity:.8,lightPosX:.5,lightPosY:.2,tintColor:"#ffffff",tintStrength:0,depthInvert:!1,depthScale:1},_=class extends o{op="RefractionCaustics3D";domain="visual";constructor(e={}){super(t("RefractionCaustics3D",Rr,e,a.RefractionCaustics3D))}},Mr={aspectRatioPreset:"16:9",resolutionPreset:"1080p",targetWidth:1920,targetHeight:1080,fitMode:"contain",zoom:100,offsetX:0,offsetY:0,backgroundMode:"solid",backgroundColor:"#000000FF",backgroundColor2:"#000000FF",blurRadius:40,backgroundBrightness:.6,anchorX:"center",anchorY:"center"},J=class extends o{op="ResizerScaler";domain="visual";constructor(e={}){super(t("ResizerScaler",Mr,e,a.ResizerScaler))}},Dr={amount:8,angle:0,radial:!1},Q=class extends o{op="RGBSplit";domain="visual";constructor(e={}){super(t("RGBSplit",Dr,e,a.RGBSplit))}},kr={angle:90,fit:"cover",scale:1},ee=class extends o{op="Rotate";domain="visual";constructor(e={}){super(t("Rotate",kr,e,a.Rotate))}},Br={pan:0},re=class extends o{op="StereoPanning";domain="audio";constructor(e={}){super(t("StereoPanning",Br,e,a.StereoPanning))}},Tr={levels:4,edgeThreshold:.2,edgeWidth:1,edgeColor:"#111111",saturation:1.15},oe=class extends o{op="Toon";domain="visual";constructor(e={}){super(t("Toon",Tr,e,a.Toon))}},Gr={decay:.9,mode:"blend",zoom:1,rotation:0,offsetX:0,offsetY:0,hueShift:0,warmup:60},ae=class extends o{op="Trails";domain="visual";constructor(e={}){super(t("Trails",Gr,e,a.Trails))}},Ir={strength:50,radius:1,softness:.5,roundness:.5,centerX:.5,centerY:.5},te=class extends o{op="Vignette";domain="visual";constructor(e={}){super(t("Vignette",Ir,e,a.Vignette))}};function Hr(r){return{partialBlur:!0,centerX:r.center.x,centerY:r.center.y,radius:r.bounds.width.multiply(.55),radiusY:r.bounds.height.multiply(.55),shape:"ellipse",strength:r.active.multiply(25)}}var ne=class extends le{constructor(e={}){let{track:n,...l}=e;super(n?{...Hr(n),...Lr(l)}:l)}};function Lr(r){return Object.fromEntries(Object.entries(r).filter(([,e])=>e!==void 0))}p();var Or={ascii:r=>new b(r),audioCompressor:r=>new f(r),audioDelay:r=>new P(r),audioFade:r=>new h(r),audioNoiseGate:r=>new y(r),audioParametricEq:r=>new g(r),audioReverb:r=>new x(r),blur:r=>new ne(r),cameraParallax3D:r=>new v(r),channelMerger:r=>new S(r),channelSplitter:r=>new C(r),colorBalance:r=>new E(r),colorKey:r=>new A(r),contour:r=>new w(r),cornerPin:r=>new R(r),cRT:r=>new M(r),datamosh:r=>new D(r),displacementMap:r=>new k(r),dither:r=>new B(r),extractLUT:r=>new T(r),flip:r=>new G(r),gooey:r=>new I(r),iridescence:r=>new H(r),kaleidoscope:r=>new L(r),kenBurns:r=>new O(r),layerStyle:r=>new z(r),liquify:r=>new F(r),maskMath:r=>new V(r),meshWarp:r=>new q(r),noiseGenerator:r=>new X(r),opArt:r=>new K(r),paint:r=>new Y(r),painterly:r=>new W(r),patchHeal:r=>new N(r),pixelate:r=>new U(r),posterize:r=>new j(r),proceduralVFX:r=>new $(r),refineEdge:r=>new Z(r),refractionCaustics3D:r=>new _(r),resizerScaler:r=>new J(r),rGBSplit:r=>new Q(r),rotate:r=>new ee(r),stereoPanning:r=>new re(r),toon:r=>new oe(r),trails:r=>new ae(r),vignette:r=>new te(r)};var fe=class extends o{op="Levels";domain="visual";constructor(e={}){let n={inBlack:0,inWhite:1,outBlack:0,outWhite:1};super({master:e.master??{...n},red:e.red??{...n},green:e.green??{...n},blue:e.blue??{...n},...e})}},Pe=class extends o{op="FilmGrain";domain="visual";constructor(e={}){super({strength:e.strength??15,size:e.size??1.5,monochrome:e.monochrome??!0,animated:e.animated??!0,speed:e.speed??50,shadows:e.shadows??.2,midtones:e.midtones??1,highlights:e.highlights??.2,...e})}},he=class extends o{op;domain="visual";constructor(e,n={}){super(n),this.op=e}},ye=class extends o{op="AudioSignalExtractor";domain="audio";constructor(e={}){super({extractionMode:e.extractionMode??"rms_envelope",attackMs:e.attackMs??10,releaseMs:e.releaseMs??120,sensitivity:e.sensitivity??1,noiseFloorDb:e.noiseFloorDb??-48,dynamicRangeDb:e.dynamicRangeDb??48,autoRange:e.autoRange??!0,smoothing:e.smoothing??.15,curve:e.curve??"linear",beatThreshold:e.beatThreshold??.08,beatDecayMs:e.beatDecayMs??80,previewMode:e.previewMode??"envelope",nodeId:e.nodeId??"audio_extractor",...e})}async extract(e,n={}){return pe.extract(e,{extractionMode:this.extractionMode,attackMs:this.attackMs,releaseMs:this.releaseMs,sensitivity:this.sensitivity,noiseFloorDb:this.noiseFloorDb,dynamicRangeDb:this.dynamicRangeDb,smoothing:this.smoothing,curve:this.curve,beatThreshold:this.beatThreshold,beatDecayMs:this.beatDecayMs,previewMode:this.previewMode,...n})}},ge=class extends o{op="Curves";domain="visual";constructor(e={}){super({...e,curveType:e.curveType??"rgb",master:e.master??[{x:0,y:0},{x:1,y:1}],red:e.red??[{x:0,y:0},{x:1,y:1}],green:e.green??[{x:0,y:0},{x:1,y:1}],blue:e.blue??[{x:0,y:0},{x:1,y:1}],hueVsHue:e.hueVsHue??[{x:0,y:.5},{x:1,y:.5}],hueVsSat:e.hueVsSat??[{x:0,y:1},{x:1,y:1}],lumVsSat:e.lumVsSat??[{x:0,y:1},{x:1,y:1}],satVsSat:e.satVsSat??[{x:0,y:1},{x:1,y:1}]})}},xe=class extends o{op="SelectiveColor";domain="visual";constructor(e={}){let n={cyan:0,magenta:0,yellow:0,black:0};super({...e,method:e.method??"Relative",reds:{...n,...e.reds},yellows:{...n,...e.yellows},greens:{...n,...e.greens},cyans:{...n,...e.cyans},blues:{...n,...e.blues},magentas:{...n,...e.magentas},whites:{...n,...e.whites},neutrals:{...n,...e.neutrals},blacks:{...n,...e.blacks}})}},ve=class extends o{op="GradientMap";domain="visual";constructor(e={}){let n=[{position:0,color:"#000000"},{position:1,color:"#ffffff"}];super({...e,stops:e.stops??n,smooth:e.smooth??!0,dither:e.dither??!0,opacity:e.opacity??1})}},Se=class extends o{op="ShadowsHighlights";domain="visual";constructor(e={}){super({...e,shadowAmount:e.shadowAmount??0,shadowTonalWidth:e.shadowTonalWidth??50,shadowRadius:e.shadowRadius??30,highlightAmount:e.highlightAmount??0,highlightTonalWidth:e.highlightTonalWidth??50,highlightRadius:e.highlightRadius??30,colorCorrection:e.colorCorrection??0,midtoneContrast:e.midtoneContrast??0})}},Ce=class extends o{op="ApplyLUT";domain="visual";constructor(e={}){super({...e,lutUrl:e.lutUrl??"",intensity:e.intensity??1})}},Ee=class extends o{op="UnsharpMask";domain="visual";constructor(e={}){super({...e,amount:e.amount??100,radius:e.radius??1.5,threshold:e.threshold??3})}},Ae=class extends o{op="HighPass";domain="visual";constructor(e={}){super({...e,radius:e.radius??3,contrastBoost:e.contrastBoost??1,monochrome:e.monochrome??!0})}},we=class extends o{op="HalftoneScreen";domain="visual";constructor(e={}){super({...e,mode:e.mode??"Monochrome",dotShape:e.dotShape??"Circle",frequency:e.frequency??30,angle:e.angle??45,contrast:e.contrast??1,dotColor:e.dotColor??"#000000",paperColor:e.paperColor??"#ffffff",smooth:e.smooth??!0,invert:e.invert??!1,cyanAngle:e.cyanAngle??15,magentaAngle:e.magentaAngle??75,yellowAngle:e.yellowAngle??0,blackAngle:e.blackAngle??45,opacity:e.opacity??1})}},Re=class extends o{op="TileOffset";domain="visual";constructor(e={}){super({...e,offsetX:e.offsetX??0,offsetY:e.offsetY??0,wrap:e.wrap??!0,edgeMode:e.edgeMode??"wrap"})}},Me=class extends o{op="MotionBlur";domain="visual";constructor(e={}){super({...e,shutterAngle:e.shutterAngle??180,samples:e.samples??16,maxVelocity:e.maxVelocity??64,shutterCurve:e.shutterCurve??"gaussian",depthAware:e.depthAware??!0})}},De=class extends o{op="SSAO";domain="visual";constructor(e={}){super({...e,radius:e.radius??45,bias:e.bias??.025,intensity:e.intensity??1.5,kernelSamples:e.kernelSamples??16,blurRadius:e.blurRadius??4})}},ke=class extends o{op="PBRGlass";domain="visual";constructor(e={}){super({...e,ior:e.ior??1.49,roughness:e.roughness??.15,transmission:e.transmission??.92,dispersion:e.dispersion??.015,fresnelPower:e.fresnelPower??5,tintColor:e.tintColor??"#ffffff"})}},Be=class extends o{op="DepthOfField";domain="visual";constructor(e={}){super({...e,focusDistance:e.focusDistance??500,focalLength:e.focalLength??50,aperture:e.aperture??2.8,maxBlur:e.maxBlur??16,quality:e.quality??"high"})}},Te=class extends o{op="Crop";domain="visual";constructor(e={}){super({cropType:e.cropType??"rect",leftPercentage:e.leftPercentage??0,topPercentage:e.topPercentage??0,widthPercentage:e.widthPercentage??100,heightPercentage:e.heightPercentage??100,roundness:e.roundness??0,...e})}},Ge=class extends o{op="Vision";domain="visual";constructor(e={}){super({enableDetection:e.enableDetection!==!1,enableSegmentation:e.enableSegmentation===!0,enablePose:e.enablePose===!0,enableMatte:e.enableMatte===!0,confidence:e.confidence??.3,variant:e.variant??"s",mode:e.mode??"passthrough",matteSource:e.matteSource??"instance",...e})}},Ie=class extends o{op="Relight3D";domain="visual";constructor(e={}){super({lightType:e.lightType??"Point",intensity:e.intensity??1,lightPosX:e.lightPosX??.5,lightPosY:e.lightPosY??.5,lightPosZ:e.lightPosZ??.3,lightRadius:e.lightRadius??.8,spotConeAngle:e.spotConeAngle??45,specularRoughness:e.specularRoughness??.35,specularStrength:e.specularStrength??.7,metallic:e.metallic??0,ambientIntensity:e.ambientIntensity??.4,volumetricDensity:e.volumetricDensity??.2,depthScale:e.depthScale??1,depthInvert:e.depthInvert??!1,lightColor:e.lightColor??"#ffffff",ambientColor:e.ambientColor??"#ffffff",normalMap:e.normalMap,...e})}},He=class extends o{op="TemporalDeflicker";domain="visual";constructor(e={}){super({blendWeight:e.blendWeight??.35,disocclusionThreshold:e.disocclusionThreshold??.15,maxMotionPixels:e.maxMotionPixels??64,scale:e.scale??.5,windowSize:e.windowSize??2,...e})}},Le=class extends o{op="Modulate";domain="visual";constructor(e={}){super({hue:e.hue??0,brightness:e.brightness??1,contrast:e.contrast??1,exposure:e.exposure??0,saturation:e.saturation??1,sepia:e.sepia??0,...e})}};export{a,b,f as c,P as d,h as e,y as f,g,x as h,v as i,S as j,C as k,E as l,A as m,w as n,R as o,M as p,D as q,k as r,B as s,T as t,G as u,I as v,H as w,L as x,O as y,z,F as A,V as B,q as C,X as D,K as E,Y as F,W as G,N as H,U as I,j as J,$ as K,Z as L,_ as M,J as N,Q as O,ee as P,re as Q,oe as R,ae as S,te as T,ne as U,Or as V,fe as W,Pe as X,he as Y,ye as Z,ge as _,xe as $,ve as aa,Se as ba,Ce as ca,Ee as da,Ae as ea,we as fa,Re as ga,Me as ha,De as ia,ke as ja,Be as ka,Te as la,Ge as ma,Ie as na,He as oa,Le as pa};
|
|
1
|
+
import{a as o}from"./chunk-D73ZKPFN.mjs";import{a as pe}from"./chunk-S2ABWY5G.mjs";import{h as ie}from"./chunk-ULOFDFHJ.mjs";import{f as d,g as p}from"./chunk-Y4NIR77Z.mjs";p();p();p();p();p();p();function de(r){return typeof d<"u"?d.env?.[r]:void 0}function me(){let r=de("FRAMEFIELDS_STRICT_PROPS");return r==="1"||r==="true"}function ze(){return me()||de("NODE_ENV")!=="production"}var ue=new Set;function se(r){if(me())throw new Error(r);ue.has(r)||(ue.add(r),console.warn(`[framefields] ${r}`))}function ce(r){if(typeof r!="object"||r===null||Array.isArray(r)||ie(r))return!1;let e=Object.getPrototypeOf(r);return e===Object.prototype||e===null}function Fe(r,e){let n=Array.from({length:e.length+1},(l,i)=>i);for(let l=1;l<=r.length;l++){let i=n[0];n[0]=l;for(let s=1;s<=e.length;s++){let c=n[s];n[s]=Math.min(n[s]+1,n[s-1]+1,i+(r[l-1]===e[s-1]?0:1)),i=c}}return n[e.length]}function Ve(r,e){let n,l=Number.POSITIVE_INFINITY,i=r.toLowerCase();for(let c of e){let u=c.toLowerCase(),m=u.includes(i)||i.includes(u)?1:Fe(i,u);m<l&&(l=m,n=c)}return n&&l<=Math.max(2,Math.ceil(r.length/2))?` Did you mean "${n}"?`:` Known props: ${e.join(", ")}.`}function qe(r,e,n){if(typeof e=="number"){let{min:l,max:i}=n,s=l!==void 0&&e<l,c=i!==void 0&&e>i;if(s||c||Number.isNaN(e)){let u=l!==void 0&&i!==void 0?`${l} to ${i}`:l!==void 0?`\u2265 ${l}`:`\u2264 ${i}`;se(Number.isNaN(e)?`${r} is NaN`:`${r} = ${e} is outside ${u}`)}return}n.enum&&(typeof e=="string"||typeof e=="boolean")&&!n.enum.includes(e)&&se(`${r} = ${JSON.stringify(e)} is not one of ${n.enum.map(l=>JSON.stringify(l)).join(", ")}`)}function be(r,e,n){let l=Object.keys(n);for(let[i,s]of Object.entries(e)){if(s===void 0)continue;let c=n[i];if(!c){se(`${r}: unknown prop "${i}".${Ve(i,l)}`);continue}ie(s)||typeof s=="function"||(c.props&&ce(s)?be(`${r}.${i}`,s,c.props):qe(`${r}.${i}`,s,c))}}function Xe(r){return typeof r=="object"&&r!==null?structuredClone(r):r}function t(r,e,n,l){let i=n;ze()&&be(r,i,l);let s={};for(let[c,u]of Object.entries(e))s[c]=Xe(u);for(let[c,u]of Object.entries(i)){if(u===void 0)continue;let m=s[c];s[c]=ce(m)&&ce(u)?{...m,...Object.fromEntries(Object.entries(u).filter(([,Oe])=>Oe!==void 0))}:u}return s}p();var a={Ascii:{cellSize:{min:4,max:64},colorMode:{enum:["mono","source","green"]},fg:{},bg:{},contrast:{min:.5,max:3},invert:{}},AudioCompressor:{threshold:{min:-60,max:0},ratio:{min:1,max:100},attack:{min:1e-4,max:1},release:{min:.01,max:5},knee:{min:0,max:24},makeupGain:{min:0,max:24}},AudioDelay:{delayTime:{min:.001,max:5},feedback:{min:0,max:.95},wet:{min:0,max:1},dry:{min:0,max:1},pingPong:{}},AudioFade:{fadeInDuration:{min:0,max:60},fadeOutDuration:{min:0,max:60},fadeInCurve:{enum:["linear","exponential","scurve"]},fadeOutCurve:{enum:["linear","exponential","scurve"]}},AudioNoiseGate:{threshold:{min:-120,max:0},attack:{min:1e-4,max:1},hold:{min:.001,max:5},release:{min:.01,max:5},range:{min:-120,max:0}},AudioParametricEq:{type:{enum:["lowShelf","highShelf","peak","lowPass","highPass","notch"]},frequency:{min:20,max:2e4},gain:{min:-24,max:24},q:{min:.01,max:10}},AudioReverb:{roomSize:{min:0,max:.98},damping:{min:0,max:1},wet:{min:0,max:1},dry:{min:0,max:1},width:{min:0,max:1}},Blur:{blurType:{enum:["Gaussian","Box","Median","Motion","Bilateral","Edge-preserving","Radial","Zoom"]},strength:{min:0,max:100},angle:{min:0,max:360},sigmaColor:{min:.01,max:1},centerX:{min:0,max:1},centerY:{min:0,max:1},partialBlur:{},radius:{min:.01,max:1},radiusY:{min:0,max:1},shape:{enum:["ellipse","circle","rect"]}},CameraParallax3D:{motionPreset:{enum:["Custom","DollyZoom","Orbit","FlyThrough","HandheldShake","RackFocus"]},panX:{min:-1,max:1},panY:{min:-1,max:1},dollyZ:{min:-1,max:1},fov:{min:15,max:120},parallaxAmount:{min:0,max:2},dofAperture:{min:0,max:1},focusPlane:{min:0,max:1},edgeDilation:{min:0,max:1},depthInvert:{}},ChannelMerger:{colorSpace:{enum:["RGBA","HSLA","CMYK","LAB"]},defaultChannel4:{min:0,max:1}},ChannelSplitter:{colorSpace:{enum:["RGBA","HSLA","CMYK","LAB"]}},ColorBalance:{shadows:{props:{cyanRed:{min:-100,max:100},magentaGreen:{min:-100,max:100},yellowBlue:{min:-100,max:100}}},midtones:{props:{cyanRed:{min:-100,max:100},magentaGreen:{min:-100,max:100},yellowBlue:{min:-100,max:100}}},highlights:{props:{cyanRed:{min:-100,max:100},magentaGreen:{min:-100,max:100},yellowBlue:{min:-100,max:100}}},preserveLuminosity:{}},ColorKey:{keyColor:{},similarity:{min:0,max:1},smoothness:{min:0,max:1},spillSuppression:{min:0,max:1},colorSpace:{enum:["YUV","RGB"]},spillSuppressionType:{enum:["Desaturate","Neutralize","None"]}},Contour:{levels:{min:2,max:64},lineWidth:{min:.5,max:8},lineColor:{},fill:{enum:["source","flat","none"]},fillColor:{},smoothing:{min:0,max:8}},CornerPin:{points:{}},CRT:{scanlines:{min:0,max:1},lineCount:{min:100,max:2160},curvature:{min:0,max:1},mask:{min:0,max:1},vignette:{min:0,max:1},noise:{min:0,max:1},flicker:{min:0,max:1},tracking:{min:0,max:1},chroma:{min:0,max:20}},Datamosh:{keyframes:{},strength:{min:0,max:10},bleed:{min:0,max:1},warmup:{min:1,max:240}},DisplacementMap:{strengthX:{min:0,max:500},strengthY:{min:0,max:500},xChannel:{enum:["Red","Green","Blue","Alpha","Luminance"]},yChannel:{enum:["Red","Green","Blue","Alpha","Luminance"]},wrapMode:{enum:["Clamp","Repeat","Mirror"]}},Dither:{mode:{enum:["bayer","noise","halftone"]},levels:{min:2,max:16},scale:{min:1,max:16},monochrome:{},dark:{},light:{}},ExtractLUT:{strategy:{enum:["deterministic","statistical"]},samplePoints:{min:10,max:500}},Flip:{horizontal:{},vertical:{},diagonal:{},mode:{enum:["horizontal","vertical","both","diagonal","antiDiagonal","custom"]},symmetry:{enum:["none","leftToRight","rightToLeft","topToBottom","bottomToTop","quadrant"]}},Gooey:{radius:{min:1,max:60},threshold:{min:0,max:1},softness:{min:.001,max:.5}},Iridescence:{strength:{min:0,max:1},scale:{min:.1,max:10},shift:{min:-3600,max:3600},mode:{enum:["luminance","relief"]}},Kaleidoscope:{segments:{min:2,max:32},rotation:{min:-3600,max:3600},centerX:{min:0,max:1},centerY:{min:0,max:1},zoom:{min:.2,max:4}},KenBurns:{keyframes:{},motionBlurSize:{min:0,max:10},movementStyle:{enum:["spline","direct"]},aspectRatio:{enum:["input","16:9","9:16","21:9","9:21","1:1","4:3","3:2","2:3","4:5","5:4"]}},LayerStyle:{dropShadow:{props:{enabled:{},color:{},opacity:{min:0,max:1},angle:{min:0,max:360},distance:{min:0,max:500},spread:{min:0,max:100},size:{min:0,max:250},blendMode:{}}},innerShadow:{props:{enabled:{},color:{},opacity:{min:0,max:1},angle:{min:0,max:360},distance:{min:0,max:500},choke:{min:0,max:100},size:{min:0,max:250},blendMode:{}}},outerGlow:{props:{enabled:{},color:{},opacity:{min:0,max:1},size:{min:0,max:250},spread:{min:0,max:100},blendMode:{}}},innerGlow:{props:{enabled:{},color:{},opacity:{min:0,max:1},size:{min:0,max:250},spread:{min:0,max:100},blendMode:{}}},stroke:{props:{enabled:{},size:{min:0,max:100},position:{enum:["inside","center","outside"]},color:{},opacity:{min:0,max:1},blendMode:{}}},bevelEmboss:{props:{enabled:{},style:{enum:["InnerBevel","OuterBevel","Emboss","PillowEmboss"]},technique:{enum:["Smooth","ChiselHard","ChiselSoft"]},depth:{min:1,max:1e3},direction:{enum:["Up","Down"]},size:{min:0,max:250},soften:{min:0,max:50},angle:{min:0,max:360},altitude:{min:0,max:90},highlightColor:{},highlightOpacity:{min:0,max:1},shadowColor:{},shadowOpacity:{min:0,max:1}}},colorOverlay:{props:{enabled:{},color:{},opacity:{min:0,max:1},blendMode:{}}},dropShadowAngleHandleId:{},dropShadowDistanceHandleId:{},dropShadowSpreadHandleId:{},dropShadowSizeHandleId:{},dropShadowOpacityHandleId:{},innerShadowAngleHandleId:{},innerShadowDistanceHandleId:{},innerShadowChokeHandleId:{},innerShadowSizeHandleId:{},innerShadowOpacityHandleId:{},outerGlowSizeHandleId:{},outerGlowSpreadHandleId:{},outerGlowOpacityHandleId:{},innerGlowSizeHandleId:{},innerGlowSpreadHandleId:{},innerGlowOpacityHandleId:{},strokeSizeHandleId:{},strokeOpacityHandleId:{},bevelEmbossDepthHandleId:{},bevelEmbossSizeHandleId:{},bevelEmbossSoftenHandleId:{},bevelEmbossAngleHandleId:{},bevelEmbossAltitudeHandleId:{},bevelEmbossHighlightOpacityHandleId:{},bevelEmbossShadowOpacityHandleId:{},colorOverlayOpacityHandleId:{}},Liquify:{operations:{}},MaskMath:{operation:{enum:["Union","Intersect","Subtract","Difference","Invert","Dilate","Erode","Choke","Feather"]},radius:{min:0,max:200},threshold:{min:0,max:1},clampMin:{min:0,max:1},clampMax:{min:0,max:1},channelA:{enum:["Alpha","Luminance","Red","Green","Blue"]},channelB:{enum:["Alpha","Luminance","Red","Green","Blue"]},binarize:{},invertResult:{},outputFormat:{enum:["WhiteWithAlpha","GrayscaleRGB","AlphaOnly","PassthroughRGB"]}},MeshWarp:{cols:{min:2,max:12},rows:{min:2,max:12},points:{}},NoiseGenerator:{noiseType:{enum:["Perlin","Simplex","Voronoi"]},outputType:{enum:["Image","Video"]},width:{min:16,max:4096},height:{min:16,max:4096},scale:{min:.1,max:100},octaves:{min:1,max:8},persistence:{min:0,max:1},lacunarity:{min:1,max:4},speed:{min:0,max:10},colorStart:{},colorEnd:{},durationMs:{min:1,max:6e4},fps:{min:1,max:120}},OpArt:{pattern:{enum:["stripes","rings","checker","waves"]},frequency:{min:2,max:300},angle:{min:-360,max:360},warp:{min:0,max:3},source:{min:0,max:1},colorA:{},colorB:{}},Paint:{width:{min:1,max:16384},height:{min:1,max:16384},maintainAspect:{},aspectRatio:{},backgroundColor:{},strokes:{}},Painterly:{style:{enum:["oil","watercolor"]},radius:{min:2,max:12},edgeDarkening:{min:0,max:1},paper:{min:0,max:1},saturation:{min:0,max:2}},PatchHeal:{patches:{},centerX:{min:0,max:1},centerY:{min:0,max:1},offsetX:{min:-4096,max:4096},offsetY:{min:-4096,max:4096},radius:{min:1,max:500},sourceRadius:{min:1,max:500},feather:{min:0,max:100},opacity:{min:0,max:1},mode:{enum:["Clone","SeamlessHeal","TextureTransfer"]}},Pixelate:{size:{min:1,max:256},shape:{enum:["square","circle","diamond"]},gap:{min:0,max:.9}},Posterize:{levels:{min:2,max:64},palette:{enum:["none","gameboy","teletext","cga","pico8","c64","grayscale","sepia","custom"]},colors:{},dither:{min:0,max:1},pixelSize:{min:1,max:64}},ProceduralVFX:{effectType:{enum:["Smoke","Fire","Rain","Sparks","Snow","Dust","Lightning","Magic","LensFlare","Embers","EnergyBeam","Aurora"]},outputType:{enum:["Image","Video"]},width:{min:16,max:4096},height:{min:16,max:4096},density:{min:0,max:1},scale:{min:.001,max:10},speed:{min:0,max:10},intensity:{min:0,max:1},seed:{min:0,max:1e6},colorStart:{},colorEnd:{},durationMs:{min:100,max:1e5},fps:{min:1,max:120}},RefineEdge:{decontaminateAmount:{min:0,max:1},radius:{min:.5,max:50},smooth:{min:0,max:100},feather:{min:0,max:50},shiftEdge:{min:-100,max:100},matteChannel:{enum:["Alpha","Luminance","Red","Green","Blue"]},outputMode:{enum:["Composite","MatteOnly","DecontaminatedRGB"]}},RefractionCaustics3D:{ior:{min:1,max:2.5},dispersion:{min:0,max:.2},refractionScale:{min:0,max:2},causticBrightness:{min:0,max:2},causticScale:{min:.1,max:5},fluidRipples:{min:0,max:1},rippleSpeed:{min:0,max:5},roughness:{min:0,max:1},specularIntensity:{min:0,max:2},lightPosX:{min:0,max:1},lightPosY:{min:0,max:1},tintColor:{},tintStrength:{min:0,max:1},depthInvert:{},depthScale:{min:.1,max:5}},ResizerScaler:{aspectRatioPreset:{enum:["9:16","16:9","1:1","4:5","21:9","custom"]},resolutionPreset:{enum:["4k","1080p","720p","480p","custom"]},targetWidth:{min:1,max:8192},targetHeight:{min:1,max:8192},fitMode:{enum:["cover","contain","stretch","manual"]},zoom:{min:1,max:1e3},offsetX:{min:-8192,max:8192},offsetY:{min:-8192,max:8192},backgroundMode:{enum:["solid","blurred","gradient","transparent"]},backgroundColor:{},backgroundColor2:{},blurRadius:{min:0,max:100},backgroundBrightness:{min:0,max:1},anchorX:{enum:["left","center","right"]},anchorY:{enum:["top","center","bottom"]}},RGBSplit:{amount:{min:0,max:200},angle:{min:-360,max:360},radial:{}},Rotate:{angle:{},fit:{enum:["cover","contain","fill"]},scale:{min:.01,max:20}},StereoPanning:{pan:{min:-1,max:1}},Toon:{levels:{min:2,max:12},edgeThreshold:{min:0,max:1},edgeWidth:{min:.5,max:4},edgeColor:{},saturation:{min:0,max:2}},Trails:{decay:{min:0,max:1},mode:{enum:["blend","over","add","max"]},zoom:{min:.5,max:2},rotation:{min:-45,max:45},offsetX:{min:-500,max:500},offsetY:{min:-500,max:500},hueShift:{min:-180,max:180},warmup:{min:0,max:240}},Vignette:{strength:{min:0,max:100},radius:{min:.1,max:2},softness:{min:0,max:1},roundness:{min:0,max:1},centerX:{min:0,max:1},centerY:{min:0,max:1}}};var Ke={cellSize:10,colorMode:"mono",fg:"#e8e8e8",bg:"#0b0b0b",contrast:1.2,invert:!1},b=class extends o{op="Ascii";domain="visual";constructor(e={}){super(t("Ascii",Ke,e,a.Ascii))}},Ye={threshold:-24,ratio:4,attack:.003,release:.25,knee:6,makeupGain:0},f=class extends o{op="AudioCompressor";domain="audio";constructor(e={}){super(t("AudioCompressor",Ye,e,a.AudioCompressor))}},We={delayTime:.25,feedback:.4,wet:.3,dry:1,pingPong:!1},P=class extends o{op="AudioDelay";domain="audio";constructor(e={}){super(t("AudioDelay",We,e,a.AudioDelay))}},Ne={fadeInDuration:0,fadeOutDuration:0,fadeInCurve:"linear",fadeOutCurve:"linear"},h=class extends o{op="AudioFade";domain="audio";constructor(e={}){super(t("AudioFade",Ne,e,a.AudioFade))}},Ue={threshold:-40,attack:.005,hold:.05,release:.1,range:-80},y=class extends o{op="AudioNoiseGate";domain="audio";constructor(e={}){super(t("AudioNoiseGate",Ue,e,a.AudioNoiseGate))}},je={type:"peak",frequency:1e3,gain:0,q:1},g=class extends o{op="AudioParametricEq";domain="audio";constructor(e={}){super(t("AudioParametricEq",je,e,a.AudioParametricEq))}},$e={roomSize:.5,damping:.5,wet:.3,dry:1,width:1},x=class extends o{op="AudioReverb";domain="audio";constructor(e={}){super(t("AudioReverb",$e,e,a.AudioReverb))}},Ze={blurType:"Gaussian",strength:5,angle:0,sigmaColor:.1,centerX:.5,centerY:.5,partialBlur:!1,radius:.3,radiusY:0,shape:"circle"},le=class extends o{op="Blur";domain="visual";constructor(e={}){super(t("Blur",Ze,e,a.Blur))}},_e={motionPreset:"DollyZoom",panX:0,panY:0,dollyZ:0,fov:50,parallaxAmount:.6,dofAperture:.3,focusPlane:.4,edgeDilation:.5,depthInvert:!1},v=class extends o{op="CameraParallax3D";domain="visual";constructor(e={}){super(t("CameraParallax3D",_e,e,a.CameraParallax3D))}},Je={colorSpace:"RGBA",defaultChannel4:1},S=class extends o{op="ChannelMerger";domain="visual";constructor(e={}){super(t("ChannelMerger",Je,e,a.ChannelMerger))}},Qe={colorSpace:"RGBA"},C=class extends o{op="ChannelSplitter";domain="visual";constructor(e={}){super(t("ChannelSplitter",Qe,e,a.ChannelSplitter))}},er={shadows:{cyanRed:0,magentaGreen:0,yellowBlue:0},midtones:{cyanRed:0,magentaGreen:0,yellowBlue:0},highlights:{cyanRed:0,magentaGreen:0,yellowBlue:0},preserveLuminosity:!0},E=class extends o{op="ColorBalance";domain="visual";constructor(e={}){super(t("ColorBalance",er,e,a.ColorBalance))}},rr={keyColor:"#00ff00",similarity:.4,smoothness:.1,spillSuppression:.2,colorSpace:"YUV",spillSuppressionType:"Desaturate"},A=class extends o{op="ColorKey";domain="visual";constructor(e={}){super(t("ColorKey",rr,e,a.ColorKey))}},or={levels:14,lineWidth:1.2,lineColor:"#2b1d0e",fill:"source",fillColor:"#f3ead8",smoothing:2},w=class extends o{op="Contour";domain="visual";constructor(e={}){super(t("Contour",or,e,a.Contour))}},ar={},R=class extends o{op="CornerPin";domain="visual";constructor(e={}){super(t("CornerPin",ar,e,a.CornerPin))}},tr={scanlines:.45,lineCount:540,curvature:.12,mask:.25,vignette:.35,noise:.08,flicker:.03,tracking:0,chroma:0},M=class extends o{op="CRT";domain="visual";constructor(e={}){super(t("CRT",tr,e,a.CRT))}},nr={keyframes:[],strength:1,bleed:0,warmup:48},D=class extends o{op="Datamosh";domain="visual";constructor(e={}){super(t("Datamosh",nr,e,a.Datamosh))}},lr={strengthX:50,strengthY:50,xChannel:"Red",yChannel:"Green",wrapMode:"Clamp"},k=class extends o{op="DisplacementMap";domain="visual";constructor(e={}){super(t("DisplacementMap",lr,e,a.DisplacementMap))}},ir={mode:"bayer",levels:2,scale:2,monochrome:!0,dark:"#111111",light:"#f2efe6"},B=class extends o{op="Dither";domain="visual";constructor(e={}){super(t("Dither",ir,e,a.Dither))}},sr={strategy:"deterministic",samplePoints:150},T=class extends o{op="ExtractLUT";domain="visual";constructor(e={}){super(t("ExtractLUT",sr,e,a.ExtractLUT))}},cr={horizontal:!0,vertical:!1,diagonal:!1,mode:"horizontal",symmetry:"none"},G=class extends o{op="Flip";domain="visual";constructor(e={}){super(t("Flip",cr,e,a.Flip))}},pr={radius:12,threshold:.5,softness:.04},I=class extends o{op="Gooey";domain="visual";constructor(e={}){super(t("Gooey",pr,e,a.Gooey))}},ur={strength:.6,scale:2,shift:0,mode:"relief"},H=class extends o{op="Iridescence";domain="visual";constructor(e={}){super(t("Iridescence",ur,e,a.Iridescence))}},dr={segments:6,rotation:0,centerX:.5,centerY:.5,zoom:1},L=class extends o{op="Kaleidoscope";domain="visual";constructor(e={}){super(t("Kaleidoscope",dr,e,a.Kaleidoscope))}},mr={keyframes:[],motionBlurSize:1.5,movementStyle:"spline",aspectRatio:"input"},O=class extends o{op="KenBurns";domain="visual";constructor(e={}){super(t("KenBurns",mr,e,a.KenBurns))}},br={dropShadow:{enabled:!1,color:"#000000",opacity:.75,angle:120,distance:10,spread:0,size:10,blendMode:"multiply"},innerShadow:{enabled:!1,color:"#000000",opacity:.75,angle:120,distance:5,choke:0,size:5,blendMode:"multiply"},outerGlow:{enabled:!1,color:"#ffffff",opacity:.75,size:15,spread:0,blendMode:"screen"},innerGlow:{enabled:!1,color:"#ffffff",opacity:.75,size:15,spread:0,blendMode:"screen"},stroke:{enabled:!1,size:2,position:"outside",color:"#ffffff",opacity:1,blendMode:"normal"},bevelEmboss:{enabled:!1,style:"InnerBevel",technique:"Smooth",depth:100,direction:"Up",size:5,soften:0,angle:120,altitude:30,highlightColor:"#ffffff",highlightOpacity:.75,shadowColor:"#000000",shadowOpacity:.75},colorOverlay:{enabled:!1,color:"#ff0000",opacity:1,blendMode:"normal"}},z=class extends o{op="LayerStyle";domain="visual";constructor(e={}){super(t("LayerStyle",br,e,a.LayerStyle))}},fr={operations:[]},F=class extends o{op="Liquify";domain="visual";constructor(e={}){super(t("Liquify",fr,e,a.Liquify))}},Pr={operation:"Union",radius:0,threshold:.5,clampMin:0,clampMax:1,channelA:"Alpha",channelB:"Alpha",binarize:!1,invertResult:!1,outputFormat:"WhiteWithAlpha"},V=class extends o{op="MaskMath";domain="visual";constructor(e={}){super(t("MaskMath",Pr,e,a.MaskMath))}},hr={cols:3,rows:3},q=class extends o{op="MeshWarp";domain="visual";constructor(e={}){super(t("MeshWarp",hr,e,a.MeshWarp))}},yr={noiseType:"Perlin",outputType:"Image",width:512,height:512,scale:10,octaves:4,persistence:.5,lacunarity:2,speed:1,colorStart:"#000000",colorEnd:"#ffffff",durationMs:5e3,fps:30},X=class extends o{op="NoiseGenerator";domain="visual";constructor(e={}){super(t("NoiseGenerator",yr,e,a.NoiseGenerator))}},gr={pattern:"stripes",frequency:48,angle:0,warp:.6,source:1,colorA:"#0a0a0a",colorB:"#f5f5f5"},K=class extends o{op="OpArt";domain="visual";constructor(e={}){super(t("OpArt",gr,e,a.OpArt))}},xr={width:1080,height:1080,maintainAspect:!0,backgroundColor:"#ffffff"},Y=class extends o{op="Paint";domain="visual";constructor(e={}){super(t("Paint",xr,e,a.Paint))}},vr={style:"oil",radius:5,edgeDarkening:.5,paper:.3,saturation:1.05},W=class extends o{op="Painterly";domain="visual";constructor(e={}){super(t("Painterly",vr,e,a.Painterly))}},Sr={centerX:.5,centerY:.5,offsetX:50,offsetY:0,radius:25,sourceRadius:25,feather:50,opacity:1,mode:"SeamlessHeal"},N=class extends o{op="PatchHeal";domain="visual";constructor(e={}){super(t("PatchHeal",Sr,e,a.PatchHeal))}},Cr={size:12,shape:"square",gap:0},U=class extends o{op="Pixelate";domain="visual";constructor(e={}){super(t("Pixelate",Cr,e,a.Pixelate))}},Er={levels:6,palette:"none",colors:[],dither:0,pixelSize:1},j=class extends o{op="Posterize";domain="visual";constructor(e={}){super(t("Posterize",Er,e,a.Posterize))}},Ar={effectType:"Smoke",outputType:"Video",width:1080,height:1080,density:.6,scale:.01,speed:1,intensity:.8,seed:1234,colorStart:"#ffffff",colorEnd:"#ff5500",durationMs:5e3,fps:30},$=class extends o{op="ProceduralVFX";domain="visual";constructor(e={}){super(t("ProceduralVFX",Ar,e,a.ProceduralVFX))}},wr={decontaminateAmount:.7,radius:2,smooth:5,feather:.5,shiftEdge:0,matteChannel:"Alpha",outputMode:"Composite"},Z=class extends o{op="RefineEdge";domain="visual";constructor(e={}){super(t("RefineEdge",wr,e,a.RefineEdge))}},Rr={ior:1.52,dispersion:.04,refractionScale:.5,causticBrightness:.6,causticScale:1,fluidRipples:0,rippleSpeed:1,roughness:0,specularIntensity:.8,lightPosX:.5,lightPosY:.2,tintColor:"#ffffff",tintStrength:0,depthInvert:!1,depthScale:1},_=class extends o{op="RefractionCaustics3D";domain="visual";constructor(e={}){super(t("RefractionCaustics3D",Rr,e,a.RefractionCaustics3D))}},Mr={aspectRatioPreset:"16:9",resolutionPreset:"1080p",targetWidth:1920,targetHeight:1080,fitMode:"contain",zoom:100,offsetX:0,offsetY:0,backgroundMode:"solid",backgroundColor:"#000000FF",backgroundColor2:"#000000FF",blurRadius:40,backgroundBrightness:.6,anchorX:"center",anchorY:"center"},J=class extends o{op="ResizerScaler";domain="visual";constructor(e={}){super(t("ResizerScaler",Mr,e,a.ResizerScaler))}},Dr={amount:8,angle:0,radial:!1},Q=class extends o{op="RGBSplit";domain="visual";constructor(e={}){super(t("RGBSplit",Dr,e,a.RGBSplit))}},kr={angle:90,fit:"cover",scale:1},ee=class extends o{op="Rotate";domain="visual";constructor(e={}){super(t("Rotate",kr,e,a.Rotate))}},Br={pan:0},re=class extends o{op="StereoPanning";domain="audio";constructor(e={}){super(t("StereoPanning",Br,e,a.StereoPanning))}},Tr={levels:4,edgeThreshold:.2,edgeWidth:1,edgeColor:"#111111",saturation:1.15},oe=class extends o{op="Toon";domain="visual";constructor(e={}){super(t("Toon",Tr,e,a.Toon))}},Gr={decay:.9,mode:"blend",zoom:1,rotation:0,offsetX:0,offsetY:0,hueShift:0,warmup:60},ae=class extends o{op="Trails";domain="visual";constructor(e={}){super(t("Trails",Gr,e,a.Trails))}},Ir={strength:50,radius:1,softness:.5,roundness:.5,centerX:.5,centerY:.5},te=class extends o{op="Vignette";domain="visual";constructor(e={}){super(t("Vignette",Ir,e,a.Vignette))}};function Hr(r){return{partialBlur:!0,centerX:r.center.x,centerY:r.center.y,radius:r.bounds.width.multiply(.55),radiusY:r.bounds.height.multiply(.55),shape:"ellipse",strength:r.active.multiply(25)}}var ne=class extends le{constructor(e={}){let{track:n,...l}=e;super(n?{...Hr(n),...Lr(l)}:l)}};function Lr(r){return Object.fromEntries(Object.entries(r).filter(([,e])=>e!==void 0))}p();var Or={ascii:r=>new b(r),audioCompressor:r=>new f(r),audioDelay:r=>new P(r),audioFade:r=>new h(r),audioNoiseGate:r=>new y(r),audioParametricEq:r=>new g(r),audioReverb:r=>new x(r),blur:r=>new ne(r),cameraParallax3D:r=>new v(r),channelMerger:r=>new S(r),channelSplitter:r=>new C(r),colorBalance:r=>new E(r),colorKey:r=>new A(r),contour:r=>new w(r),cornerPin:r=>new R(r),cRT:r=>new M(r),datamosh:r=>new D(r),displacementMap:r=>new k(r),dither:r=>new B(r),extractLUT:r=>new T(r),flip:r=>new G(r),gooey:r=>new I(r),iridescence:r=>new H(r),kaleidoscope:r=>new L(r),kenBurns:r=>new O(r),layerStyle:r=>new z(r),liquify:r=>new F(r),maskMath:r=>new V(r),meshWarp:r=>new q(r),noiseGenerator:r=>new X(r),opArt:r=>new K(r),paint:r=>new Y(r),painterly:r=>new W(r),patchHeal:r=>new N(r),pixelate:r=>new U(r),posterize:r=>new j(r),proceduralVFX:r=>new $(r),refineEdge:r=>new Z(r),refractionCaustics3D:r=>new _(r),resizerScaler:r=>new J(r),rGBSplit:r=>new Q(r),rotate:r=>new ee(r),stereoPanning:r=>new re(r),toon:r=>new oe(r),trails:r=>new ae(r),vignette:r=>new te(r)};var fe=class extends o{op="Levels";domain="visual";constructor(e={}){let n={inBlack:0,inWhite:1,outBlack:0,outWhite:1};super({master:e.master??{...n},red:e.red??{...n},green:e.green??{...n},blue:e.blue??{...n},...e})}},Pe=class extends o{op="FilmGrain";domain="visual";constructor(e={}){super({strength:e.strength??15,size:e.size??1.5,monochrome:e.monochrome??!0,animated:e.animated??!0,speed:e.speed??50,shadows:e.shadows??.2,midtones:e.midtones??1,highlights:e.highlights??.2,...e})}},he=class extends o{op;domain="visual";constructor(e,n={}){super(n),this.op=e}},ye=class extends o{op="AudioSignalExtractor";domain="audio";constructor(e={}){super({extractionMode:e.extractionMode??"rms_envelope",attackMs:e.attackMs??10,releaseMs:e.releaseMs??120,sensitivity:e.sensitivity??1,noiseFloorDb:e.noiseFloorDb??-48,dynamicRangeDb:e.dynamicRangeDb??48,autoRange:e.autoRange??!0,smoothing:e.smoothing??.15,curve:e.curve??"linear",beatThreshold:e.beatThreshold??.08,beatDecayMs:e.beatDecayMs??80,previewMode:e.previewMode??"envelope",nodeId:e.nodeId??"audio_extractor",...e})}async extract(e,n={}){return pe.extract(e,{extractionMode:this.extractionMode,attackMs:this.attackMs,releaseMs:this.releaseMs,sensitivity:this.sensitivity,noiseFloorDb:this.noiseFloorDb,dynamicRangeDb:this.dynamicRangeDb,smoothing:this.smoothing,curve:this.curve,beatThreshold:this.beatThreshold,beatDecayMs:this.beatDecayMs,previewMode:this.previewMode,...n})}},ge=class extends o{op="Curves";domain="visual";constructor(e={}){super({...e,curveType:e.curveType??"rgb",master:e.master??[{x:0,y:0},{x:1,y:1}],red:e.red??[{x:0,y:0},{x:1,y:1}],green:e.green??[{x:0,y:0},{x:1,y:1}],blue:e.blue??[{x:0,y:0},{x:1,y:1}],hueVsHue:e.hueVsHue??[{x:0,y:.5},{x:1,y:.5}],hueVsSat:e.hueVsSat??[{x:0,y:1},{x:1,y:1}],lumVsSat:e.lumVsSat??[{x:0,y:1},{x:1,y:1}],satVsSat:e.satVsSat??[{x:0,y:1},{x:1,y:1}]})}},xe=class extends o{op="SelectiveColor";domain="visual";constructor(e={}){let n={cyan:0,magenta:0,yellow:0,black:0};super({...e,method:e.method??"Relative",reds:{...n,...e.reds},yellows:{...n,...e.yellows},greens:{...n,...e.greens},cyans:{...n,...e.cyans},blues:{...n,...e.blues},magentas:{...n,...e.magentas},whites:{...n,...e.whites},neutrals:{...n,...e.neutrals},blacks:{...n,...e.blacks}})}},ve=class extends o{op="GradientMap";domain="visual";constructor(e={}){let n=[{position:0,color:"#000000"},{position:1,color:"#ffffff"}];super({...e,stops:e.stops??n,smooth:e.smooth??!0,dither:e.dither??!0,opacity:e.opacity??1})}},Se=class extends o{op="ShadowsHighlights";domain="visual";constructor(e={}){super({...e,shadowAmount:e.shadowAmount??0,shadowTonalWidth:e.shadowTonalWidth??50,shadowRadius:e.shadowRadius??30,highlightAmount:e.highlightAmount??0,highlightTonalWidth:e.highlightTonalWidth??50,highlightRadius:e.highlightRadius??30,colorCorrection:e.colorCorrection??0,midtoneContrast:e.midtoneContrast??0})}},Ce=class extends o{op="ApplyLUT";domain="visual";constructor(e={}){super({...e,lutUrl:e.lutUrl??"",intensity:e.intensity??1})}},Ee=class extends o{op="UnsharpMask";domain="visual";constructor(e={}){super({...e,amount:e.amount??100,radius:e.radius??1.5,threshold:e.threshold??3})}},Ae=class extends o{op="HighPass";domain="visual";constructor(e={}){super({...e,radius:e.radius??3,contrastBoost:e.contrastBoost??1,monochrome:e.monochrome??!0})}},we=class extends o{op="HalftoneScreen";domain="visual";constructor(e={}){super({...e,mode:e.mode??"Monochrome",dotShape:e.dotShape??"Circle",frequency:e.frequency??30,angle:e.angle??45,contrast:e.contrast??1,dotColor:e.dotColor??"#000000",paperColor:e.paperColor??"#ffffff",smooth:e.smooth??!0,invert:e.invert??!1,cyanAngle:e.cyanAngle??15,magentaAngle:e.magentaAngle??75,yellowAngle:e.yellowAngle??0,blackAngle:e.blackAngle??45,opacity:e.opacity??1})}},Re=class extends o{op="TileOffset";domain="visual";constructor(e={}){super({...e,offsetX:e.offsetX??0,offsetY:e.offsetY??0,wrap:e.wrap??!0,edgeMode:e.edgeMode??"wrap"})}},Me=class extends o{op="MotionBlur";domain="visual";constructor(e={}){super({...e,shutterAngle:e.shutterAngle??180,samples:e.samples??16,maxVelocity:e.maxVelocity??64,shutterCurve:e.shutterCurve??"gaussian",depthAware:e.depthAware??!0})}},De=class extends o{op="SSAO";domain="visual";constructor(e={}){super({...e,radius:e.radius??45,bias:e.bias??.025,intensity:e.intensity??1.5,kernelSamples:e.kernelSamples??16,blurRadius:e.blurRadius??4})}},ke=class extends o{op="PBRGlass";domain="visual";constructor(e={}){super({...e,ior:e.ior??1.49,roughness:e.roughness??.15,transmission:e.transmission??.92,dispersion:e.dispersion??.015,fresnelPower:e.fresnelPower??5,tintColor:e.tintColor??"#ffffff"})}},Be=class extends o{op="DepthOfField";domain="visual";constructor(e={}){super({...e,focusDistance:e.focusDistance??500,focalLength:e.focalLength??50,aperture:e.aperture??2.8,maxBlur:e.maxBlur??16,quality:e.quality??"high"})}},Te=class extends o{op="Crop";domain="visual";constructor(e={}){super({cropType:e.cropType??"rect",leftPercentage:e.leftPercentage??0,topPercentage:e.topPercentage??0,widthPercentage:e.widthPercentage??100,heightPercentage:e.heightPercentage??100,roundness:e.roundness??0,...e})}},Ge=class extends o{op="Vision";domain="visual";constructor(e={}){super({enableDetection:e.enableDetection!==!1,enableSegmentation:e.enableSegmentation===!0,enablePose:e.enablePose===!0,enableMatte:e.enableMatte===!0,confidence:e.confidence??.3,variant:e.variant??"s",mode:e.mode??"passthrough",matteSource:e.matteSource??"instance",...e})}},Ie=class extends o{op="Relight3D";domain="visual";constructor(e={}){super({lightType:e.lightType??"Point",intensity:e.intensity??1,lightPosX:e.lightPosX??.5,lightPosY:e.lightPosY??.5,lightPosZ:e.lightPosZ??.3,lightRadius:e.lightRadius??.8,spotConeAngle:e.spotConeAngle??45,specularRoughness:e.specularRoughness??.35,specularStrength:e.specularStrength??.7,metallic:e.metallic??0,ambientIntensity:e.ambientIntensity??.4,volumetricDensity:e.volumetricDensity??.2,depthScale:e.depthScale??1,depthInvert:e.depthInvert??!1,lightColor:e.lightColor??"#ffffff",ambientColor:e.ambientColor??"#ffffff",normalMap:e.normalMap,...e})}},He=class extends o{op="TemporalDeflicker";domain="visual";constructor(e={}){super({blendWeight:e.blendWeight??.35,disocclusionThreshold:e.disocclusionThreshold??.15,maxMotionPixels:e.maxMotionPixels??64,scale:e.scale??.5,windowSize:e.windowSize??2,...e})}},Le=class extends o{op="Modulate";domain="visual";constructor(e={}){super({hue:e.hue??0,brightness:e.brightness??1,contrast:e.contrast??1,exposure:e.exposure??0,saturation:e.saturation??1,sepia:e.sepia??0,...e})}};export{a,b,f as c,P as d,h as e,y as f,g,x as h,v as i,S as j,C as k,E as l,A as m,w as n,R as o,M as p,D as q,k as r,B as s,T as t,G as u,I as v,H as w,L as x,O as y,z,F as A,V as B,q as C,X as D,K as E,Y as F,W as G,N as H,U as I,j as J,$ as K,Z as L,_ as M,J as N,Q as O,ee as P,re as Q,oe as R,ae as S,te as T,ne as U,Or as V,fe as W,Pe as X,he as Y,ye as Z,ge as _,xe as $,ve as aa,Se as ba,Ce as ca,Ee as da,Ae as ea,we as fa,Re as ga,Me as ha,De as ia,ke as ja,Be as ka,Te as la,Ge as ma,Ie as na,He as oa,Le as pa};
|