framefields 2.4.2 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-DHuEMOtQ.d.mts → audio-BymXfAvH.d.mts} +3 -3
- package/dist/{audio-DHuEMOtQ.d.mts.map → audio-BymXfAvH.d.mts.map} +1 -1
- package/dist/{audio-Bb31xJuX.mjs → audio-BzHHpImj.mjs} +4 -4
- package/dist/{audio-Bb31xJuX.mjs.map → audio-BzHHpImj.mjs.map} +1 -1
- package/dist/{dist-SB9qfAko.mjs → dist-Bo2_zeCn.mjs} +2 -2
- package/dist/{dist-SB9qfAko.mjs.map → dist-Bo2_zeCn.mjs.map} +1 -1
- package/dist/{dist-CxGfrigI.mjs → dist-DMa2BbYs.mjs} +3 -3
- package/dist/{dist-CxGfrigI.mjs.map → dist-DMa2BbYs.mjs.map} +1 -1
- package/dist/{dist-ClyC_d66.mjs → dist-TrtLGPvc.mjs} +117 -40
- package/dist/dist-TrtLGPvc.mjs.map +1 -0
- package/dist/{dist-CspOG4V1.mjs → dist-hmWTJPik.mjs} +2 -2
- package/dist/{dist-CspOG4V1.mjs.map → dist-hmWTJPik.mjs.map} +1 -1
- package/dist/effects/index.d.mts +5 -5
- package/dist/effects/index.mjs +35 -35
- package/dist/{effects-BOk_2kzM.mjs → effects-CiZjSwIh.mjs} +71 -3
- package/dist/effects-CiZjSwIh.mjs.map +1 -0
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-CsMDfqv9.mjs → fonts-Da1JDKpc.mjs} +2 -2
- package/dist/{fonts-CsMDfqv9.mjs.map → fonts-Da1JDKpc.mjs.map} +1 -1
- package/dist/{gpu-DtT5I4ME.mjs → gpu-CHIgM_YH.mjs} +2 -2
- package/dist/{gpu-DtT5I4ME.mjs.map → gpu-CHIgM_YH.mjs.map} +1 -1
- package/dist/{index-B1XcyMm8.d.mts → index-B0BZMhtw.d.mts} +7 -7
- package/dist/index-B0BZMhtw.d.mts.map +1 -0
- package/dist/{index-B2Xesdug.d.mts → index-CJkihekp.d.mts} +293 -143
- package/dist/index-CJkihekp.d.mts.map +1 -0
- package/dist/{index-DujpgUUq.d.mts → index-DGe83M-p.d.mts} +240 -152
- package/dist/index-DGe83M-p.d.mts.map +1 -0
- package/dist/{index-BTPLbjt4.d.mts → index-DIvWBm-q.d.mts} +2 -2
- package/dist/{index-BTPLbjt4.d.mts.map → index-DIvWBm-q.d.mts.map} +1 -1
- package/dist/{index-B3-gwjK6.d.mts → index-Dwf76Qep.d.mts} +3 -3
- package/dist/{index-B3-gwjK6.d.mts.map → index-Dwf76Qep.d.mts.map} +1 -1
- package/dist/{index-D-l-yCv6.d.mts → index-WMofVN02.d.mts} +3 -3
- package/dist/{index-D-l-yCv6.d.mts.map → index-WMofVN02.d.mts.map} +1 -1
- package/dist/index.d.mts +138 -72
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +165 -165
- package/dist/index.mjs.map +1 -1
- package/dist/preview/index.d.mts +2 -2
- package/dist/preview/index.mjs +10 -10
- package/dist/{preview-DyGw2b3_.mjs → preview-5E4B96RD.mjs} +2 -2
- package/dist/{preview-DyGw2b3_.mjs.map → preview-5E4B96RD.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-3ACCCPBN.mjs → chunk-37P2KIFE.mjs} +1 -1
- package/dist/preview-engine/{chunk-GNG4YH2W.mjs → chunk-3SOD7OTO.mjs} +1 -1
- package/dist/preview-engine/{chunk-DOCSX45C.mjs → chunk-54HE34HO.mjs} +1 -1
- package/dist/preview-engine/{chunk-WJJIISQJ.mjs → chunk-5CWQHYQP.mjs} +1 -1
- package/dist/preview-engine/{chunk-Z6UKUHPU.mjs → chunk-5EVEGKWT.mjs} +1 -1
- package/dist/preview-engine/{chunk-VONDRBA2.mjs → chunk-5JSSXOBB.mjs} +1 -1
- package/dist/preview-engine/chunk-5SVJIGPK.mjs +1 -0
- package/dist/preview-engine/{chunk-5RQHNB6Y.mjs → chunk-6MBYREBG.mjs} +1 -1
- package/dist/preview-engine/{chunk-WACWOKEP.mjs → chunk-6TGNQ5FD.mjs} +1 -1
- package/dist/preview-engine/{chunk-HUKAC5MJ.mjs → chunk-6WKWYUOM.mjs} +1 -1
- package/dist/preview-engine/{chunk-SWXVITCQ.mjs → chunk-7J4OK4VE.mjs} +1 -1
- package/dist/preview-engine/{chunk-O6NRIXS5.mjs → chunk-7QE6II7R.mjs} +1 -1
- package/dist/preview-engine/{chunk-34ACEGNW.mjs → chunk-A2775RSO.mjs} +1 -1
- package/dist/preview-engine/{chunk-FFGBUS76.mjs → chunk-AKYUVDKM.mjs} +1 -1
- package/dist/preview-engine/{chunk-6K7US2WD.mjs → chunk-AWX4YGC5.mjs} +1 -1
- package/dist/preview-engine/{chunk-QJZKIY4H.mjs → chunk-AY2ZIXST.mjs} +1 -1
- package/dist/preview-engine/{chunk-LK3T65RB.mjs → chunk-BIS3W4Z5.mjs} +1 -1
- package/dist/preview-engine/{chunk-7QJUC6YY.mjs → chunk-C45ROXI6.mjs} +14 -14
- package/dist/preview-engine/{chunk-GMGGDADT.mjs → chunk-CEIOI4HO.mjs} +1 -1
- package/dist/preview-engine/{chunk-RHRMEBNK.mjs → chunk-E7DH7EPX.mjs} +1 -1
- package/dist/preview-engine/{chunk-NNQUIVTE.mjs → chunk-EEOUHDUD.mjs} +1 -1
- package/dist/preview-engine/{chunk-ZKPQGQE3.mjs → chunk-FDNR4PRC.mjs} +1 -1
- package/dist/preview-engine/chunk-FSAELHVT.mjs +1 -0
- package/dist/preview-engine/{chunk-C6Z7H2RZ.mjs → chunk-GIH5QURF.mjs} +1 -1
- package/dist/preview-engine/{chunk-RDP6QROU.mjs → chunk-GQN35VLT.mjs} +1 -1
- package/dist/preview-engine/{chunk-PZF6T7DM.mjs → chunk-ILBZQLUF.mjs} +1 -1
- package/dist/preview-engine/{chunk-2DDBSI75.mjs → chunk-JJA4G3OU.mjs} +1 -1
- package/dist/preview-engine/{chunk-KAQUNOVB.mjs → chunk-JJYNYYPA.mjs} +1 -1
- package/dist/preview-engine/{chunk-NRAZV5OA.mjs → chunk-JTUK7ZXK.mjs} +1 -1
- package/dist/preview-engine/{chunk-HDGFNBYK.mjs → chunk-KJ2DTA77.mjs} +1 -1
- package/dist/preview-engine/{chunk-7LVOSEGN.mjs → chunk-LMZHCWXP.mjs} +1 -1
- package/dist/preview-engine/{chunk-A5OVKZ52.mjs → chunk-LSBCFJZM.mjs} +1 -1
- package/dist/preview-engine/{chunk-FLPSWDX4.mjs → chunk-MJN3LOZ7.mjs} +1 -1
- package/dist/preview-engine/{chunk-WCZ5DKZ4.mjs → chunk-N3PRZLZJ.mjs} +1 -1
- package/dist/preview-engine/{chunk-XOEEGC4Z.mjs → chunk-NVTPJUNG.mjs} +1 -1
- package/dist/preview-engine/{chunk-67SSYK7D.mjs → chunk-O3NOB5IB.mjs} +1 -1
- package/dist/preview-engine/{chunk-LIQA5OOU.mjs → chunk-O5LA63CK.mjs} +1 -1
- package/dist/preview-engine/chunk-OLLY3Q7M.mjs +1 -0
- package/dist/preview-engine/{chunk-FFMPC7QA.mjs → chunk-OZDZQMTB.mjs} +1 -1
- package/dist/preview-engine/chunk-PCWWKYFO.mjs +1 -0
- package/dist/preview-engine/{chunk-G4J662EL.mjs → chunk-S7NG26UG.mjs} +1 -1
- package/dist/preview-engine/{chunk-FHKBALVI.mjs → chunk-TFFG5YFI.mjs} +1 -1
- package/dist/preview-engine/{chunk-HNNIVJ2K.mjs → chunk-U4SQUTDV.mjs} +1 -1
- package/dist/preview-engine/{chunk-JX22B2FS.mjs → chunk-UDDK5QZF.mjs} +1 -1
- package/dist/preview-engine/{chunk-KT35IPCF.mjs → chunk-UMF7NNUA.mjs} +1 -1
- package/dist/preview-engine/{chunk-GQLZXCW3.mjs → chunk-UVWGZUKZ.mjs} +1 -1
- package/dist/preview-engine/{chunk-NQZKBFC6.mjs → chunk-V6DAD4S4.mjs} +14 -14
- package/dist/preview-engine/{chunk-R26SY5D4.mjs → chunk-V6LCSK6Q.mjs} +1 -1
- package/dist/preview-engine/{chunk-2GIWWDE4.mjs → chunk-W3QGP5XF.mjs} +1 -1
- package/dist/preview-engine/{chunk-RKVB47IA.mjs → chunk-XTPEGKOZ.mjs} +1 -1
- package/dist/preview-engine/chunk-YJ6GWVL4.mjs +174 -0
- package/dist/preview-engine/{chunk-LLDIDE5Q.mjs → chunk-YQYLBXOX.mjs} +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +17 -17
- package/dist/preview-engine/player.mjs +1 -1
- package/dist/preview-engine/{renderers-WR6MKT5S.mjs → renderers-2A7YDJMJ.mjs} +1 -1
- package/dist/preview-engine/renderers-2AD6AHAO.mjs +1 -0
- package/dist/preview-engine/{renderers-K7B5PQBT.mjs → renderers-2GE5HE56.mjs} +1 -1
- package/dist/preview-engine/{renderers-SW7FIEKO.mjs → renderers-35G4KCQ2.mjs} +1 -1
- package/dist/preview-engine/renderers-37UYW266.mjs +1 -0
- package/dist/preview-engine/renderers-3YHETAPE.mjs +1 -0
- package/dist/preview-engine/renderers-43LBWRY2.mjs +1 -0
- package/dist/preview-engine/{renderers-TY7DVI7E.mjs → renderers-4H34AFW2.mjs} +1 -1
- package/dist/preview-engine/renderers-4I4UDLDR.mjs +1 -0
- package/dist/preview-engine/renderers-5EITT2FW.mjs +1 -0
- package/dist/preview-engine/{renderers-AZYJFJLO.mjs → renderers-5OGAF66H.mjs} +1 -1
- package/dist/preview-engine/{renderers-UMPOVFRA.mjs → renderers-6GYRMHGQ.mjs} +1 -1
- package/dist/preview-engine/{renderers-RKZGYWDG.mjs → renderers-7M3YOI7E.mjs} +1 -1
- package/dist/preview-engine/renderers-7UKFQ75V.mjs +1 -0
- package/dist/preview-engine/renderers-AIRDDXRB.mjs +1 -0
- package/dist/preview-engine/{renderers-MBSOKWKB.mjs → renderers-ATL5ARUV.mjs} +1 -1
- package/dist/preview-engine/renderers-BUOGMWAA.mjs +1 -0
- package/dist/preview-engine/renderers-C4XIAG3F.mjs +1 -0
- package/dist/preview-engine/{renderers-4AJWVIJG.mjs → renderers-DFJDEPCU.mjs} +1 -1
- package/dist/preview-engine/{renderers-6JZ4HYIU.mjs → renderers-DKOWLKDE.mjs} +1 -1
- package/dist/preview-engine/renderers-ELARGDRC.mjs +1 -0
- package/dist/preview-engine/renderers-EU5VM2S2.mjs +1 -0
- package/dist/preview-engine/{renderers-NJLGPPX7.mjs → renderers-FNPXT2EH.mjs} +1 -1
- package/dist/preview-engine/renderers-GEPP3YKK.mjs +1 -0
- package/dist/preview-engine/renderers-IQNZQWYU.mjs +1 -0
- package/dist/preview-engine/renderers-J6DEIWTU.mjs +1 -0
- package/dist/preview-engine/{renderers-EI6MQ2EL.mjs → renderers-JQ7AI473.mjs} +1 -1
- package/dist/preview-engine/renderers-JTVCE5PV.mjs +1 -0
- package/dist/preview-engine/{renderers-CK3ZL3GM.mjs → renderers-K23EAM2J.mjs} +1 -1
- package/dist/preview-engine/renderers-KCNUETAD.mjs +1 -0
- package/dist/preview-engine/renderers-KKBHXAWS.mjs +1 -0
- package/dist/preview-engine/{renderers-UDOBX433.mjs → renderers-KW75FYFG.mjs} +1 -1
- package/dist/preview-engine/renderers-LER7SUT2.mjs +1 -0
- package/dist/preview-engine/{renderers-GAIUTII6.mjs → renderers-LF6W5P2I.mjs} +1 -1
- package/dist/preview-engine/{renderers-FM6A5YR4.mjs → renderers-MHDLRY3S.mjs} +1 -1
- package/dist/preview-engine/renderers-MOERLDWF.mjs +1 -0
- package/dist/preview-engine/{renderers-XKHNBARD.mjs → renderers-NJAKGI25.mjs} +1 -1
- package/dist/preview-engine/renderers-NPKRNXAT.mjs +1 -0
- package/dist/preview-engine/renderers-O57YIIAO.mjs +1 -0
- package/dist/preview-engine/renderers-OPUIAD7I.mjs +1 -0
- package/dist/preview-engine/renderers-PENUAXDD.mjs +1 -0
- package/dist/preview-engine/renderers-PFCI7ZFW.mjs +1 -0
- package/dist/preview-engine/{renderers-HZHEGONW.mjs → renderers-PM4Q5QOW.mjs} +1 -1
- package/dist/preview-engine/renderers-Q4HDP2IE.mjs +1 -0
- package/dist/preview-engine/{renderers-GUPEJK3O.mjs → renderers-Q6AO5M54.mjs} +1 -1
- package/dist/preview-engine/{renderers-75TL7RLS.mjs → renderers-QJNGN722.mjs} +1 -1
- package/dist/preview-engine/renderers-QMHUOKMM.mjs +1 -0
- package/dist/preview-engine/renderers-R26YPECG.mjs +1 -0
- package/dist/preview-engine/renderers-TAFDMFEA.mjs +1 -0
- package/dist/preview-engine/{renderers-IHRFEZNP.mjs → renderers-TFEDHXPY.mjs} +1 -1
- package/dist/preview-engine/renderers-TMZLWQP2.mjs +1 -0
- package/dist/preview-engine/renderers-TP6ZMGU4.mjs +1 -0
- package/dist/preview-engine/renderers-TY63VTZB.mjs +1 -0
- package/dist/preview-engine/{renderers-IJDQJEE5.mjs → renderers-U2ZWRL25.mjs} +1 -1
- package/dist/preview-engine/renderers-UBO4ZNE6.mjs +1 -0
- package/dist/preview-engine/renderers-UCNQ536S.mjs +1 -0
- package/dist/preview-engine/{renderers-TCNPEANL.mjs → renderers-VD5GHHK6.mjs} +1 -1
- package/dist/preview-engine/{renderers-BDWVXYTW.mjs → renderers-WNMRLGZS.mjs} +1 -1
- package/dist/preview-engine/{renderers-FKH5S64C.mjs → renderers-WOLTH5VI.mjs} +1 -1
- package/dist/preview-engine/renderers-WOZQDE4A.mjs +1 -0
- package/dist/preview-engine/renderers-X2XGDF3R.mjs +1 -0
- package/dist/preview-engine/renderers-XG3BDROH.mjs +1 -0
- package/dist/preview-engine/{renderers-R4WMM6IX.mjs → renderers-XPO2WQNF.mjs} +1 -1
- package/dist/preview-engine/renderers-XS4CFZWR.mjs +1 -0
- package/dist/preview-engine/{renderers-FADYGSLK.mjs → renderers-XTCBHTHC.mjs} +1 -1
- package/dist/preview-engine/{renderers-LVLVJHOL.mjs → renderers-XTRFEQO4.mjs} +1 -1
- package/dist/preview-engine/renderers-ZQDMRWN7.mjs +1 -0
- package/dist/preview-engine/{renderers-7CPYTCNW.mjs → renderers-ZRR7BLB7.mjs} +1 -1
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/{program-C2cJayA1.mjs → program-KwDdbC0-.mjs} +78 -38
- package/dist/program-KwDdbC0-.mjs.map +1 -0
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +2 -2
- package/dist/{renderer-C1E5Rt5q.mjs → renderer-1P3yS8YM.mjs} +3 -3
- package/dist/{renderer-C1E5Rt5q.mjs.map → renderer-1P3yS8YM.mjs.map} +1 -1
- package/dist/renderer-5C41E6gT.mjs +5 -0
- package/dist/renderer-6SXF9Ykm.mjs +5 -0
- package/dist/renderer-B2C2w3Wr.mjs +5 -0
- package/dist/renderer-B2QSfPYZ.mjs +5 -0
- package/dist/{renderer-Bkrk0M0r.mjs → renderer-B4jxP8vF.mjs} +3 -3
- package/dist/{renderer-Bkrk0M0r.mjs.map → renderer-B4jxP8vF.mjs.map} +1 -1
- package/dist/{renderer-Csss5GFQ.mjs → renderer-B4ydDdo6.mjs} +2 -2
- package/dist/{renderer-Csss5GFQ.mjs.map → renderer-B4ydDdo6.mjs.map} +1 -1
- package/dist/renderer-B5cQcMl1.mjs +5 -0
- package/dist/{renderer-B3e4LSE6.mjs → renderer-B9ssmkbx.mjs} +3 -3
- package/dist/{renderer-B3e4LSE6.mjs.map → renderer-B9ssmkbx.mjs.map} +1 -1
- package/dist/{renderer-UcdqCarR.mjs → renderer-BAoKytKL.mjs} +3 -3
- package/dist/{renderer-UcdqCarR.mjs.map → renderer-BAoKytKL.mjs.map} +1 -1
- package/dist/{renderer-Cw6Sagih.mjs → renderer-BCLmYH4S.mjs} +3 -3
- package/dist/{renderer-Cw6Sagih.mjs.map → renderer-BCLmYH4S.mjs.map} +1 -1
- package/dist/renderer-BDhD8Yab.mjs +3 -0
- package/dist/{renderer-Za4D9hej.mjs → renderer-BHLYKy8b.mjs} +3 -3
- package/dist/{renderer-Za4D9hej.mjs.map → renderer-BHLYKy8b.mjs.map} +1 -1
- package/dist/{renderer-apeDrNXM.mjs → renderer-BI8QhEj9.mjs} +3 -3
- package/dist/{renderer-apeDrNXM.mjs.map → renderer-BI8QhEj9.mjs.map} +1 -1
- package/dist/{renderer-CCGzT6bX.mjs → renderer-BMLJgnbU.mjs} +2 -2
- package/dist/renderer-BSDdTHDh.mjs +5 -0
- package/dist/{renderer-CcoUNzlQ.mjs → renderer-BT0x6KPK.mjs} +3 -3
- package/dist/{renderer-CcoUNzlQ.mjs.map → renderer-BT0x6KPK.mjs.map} +1 -1
- package/dist/renderer-BTUjk8uY.mjs +5 -0
- package/dist/{renderer-RDCax5CK.mjs → renderer-BUwHWIf7.mjs} +3 -3
- package/dist/{renderer-RDCax5CK.mjs.map → renderer-BUwHWIf7.mjs.map} +1 -1
- package/dist/{renderer-DTw-W0Yz.mjs → renderer-B_b8-ztW.mjs} +3 -3
- package/dist/{renderer-DTw-W0Yz.mjs.map → renderer-B_b8-ztW.mjs.map} +1 -1
- package/dist/{renderer-DwVOxdzC.mjs → renderer-BaJQx0Bp.mjs} +3 -3
- package/dist/{renderer-DwVOxdzC.mjs.map → renderer-BaJQx0Bp.mjs.map} +1 -1
- package/dist/renderer-Bcey5Gvk.mjs +5 -0
- package/dist/renderer-Bd2MuOeJ.mjs +5 -0
- package/dist/renderer-Bd5A0zer.mjs +5 -0
- package/dist/{renderer-Dwu_zfdL.mjs → renderer-Bhfl-WFX.mjs} +3 -3
- package/dist/{renderer-Dwu_zfdL.mjs.map → renderer-Bhfl-WFX.mjs.map} +1 -1
- package/dist/{renderer-BjCHW9Jp.mjs → renderer-Bkq1PT0g.mjs} +2 -2
- package/dist/{renderer-DjwITRvg.mjs → renderer-Blm4Dv_h.mjs} +2 -2
- package/dist/{renderer-BTd2sWDC.mjs → renderer-BtWWpFvl.mjs} +3 -3
- package/dist/{renderer-BTd2sWDC.mjs.map → renderer-BtWWpFvl.mjs.map} +1 -1
- package/dist/{renderer-92eLJg24.mjs → renderer-C-z6bxj9.mjs} +4 -4
- package/dist/{renderer-92eLJg24.mjs.map → renderer-C-z6bxj9.mjs.map} +1 -1
- package/dist/{renderer-EZp_IIPK.mjs → renderer-C0ds-UfM.mjs} +3 -3
- package/dist/{renderer-EZp_IIPK.mjs.map → renderer-C0ds-UfM.mjs.map} +1 -1
- package/dist/{renderer-B4RpSd4A.mjs → renderer-C1U85w9f.mjs} +2 -2
- package/dist/{renderer-B4RpSd4A.mjs.map → renderer-C1U85w9f.mjs.map} +1 -1
- package/dist/{renderer-X0eKSD7v.mjs → renderer-C4vHq0X8.mjs} +3 -3
- package/dist/{renderer-X0eKSD7v.mjs.map → renderer-C4vHq0X8.mjs.map} +1 -1
- package/dist/{renderer--ruTGlPo.mjs → renderer-C4xvz_Ft.mjs} +3 -3
- package/dist/{renderer--ruTGlPo.mjs.map → renderer-C4xvz_Ft.mjs.map} +1 -1
- package/dist/{renderer-ByCX4JYg.mjs → renderer-C5WkQZGR.mjs} +3 -3
- package/dist/{renderer-ByCX4JYg.mjs.map → renderer-C5WkQZGR.mjs.map} +1 -1
- package/dist/{renderer-CqtIbe5n.mjs → renderer-CAi-lhR2.mjs} +2 -2
- package/dist/{renderer-CqtIbe5n.mjs.map → renderer-CAi-lhR2.mjs.map} +1 -1
- package/dist/renderer-CC-WlYa2.mjs +5 -0
- package/dist/{renderer-DZJJHCtm.mjs → renderer-CDky5Gva.mjs} +3 -3
- package/dist/{renderer-DZJJHCtm.mjs.map → renderer-CDky5Gva.mjs.map} +1 -1
- package/dist/{renderer-yyUpCeWb.mjs → renderer-CE83KHgr.mjs} +2 -2
- package/dist/{renderer-yyUpCeWb.mjs.map → renderer-CE83KHgr.mjs.map} +1 -1
- package/dist/{renderer-CoWfz-9p.mjs → renderer-CLxQ4rU6.mjs} +71 -71
- package/dist/{renderer-CoWfz-9p.mjs.map → renderer-CLxQ4rU6.mjs.map} +1 -1
- package/dist/{renderer-BBAbZfBl.mjs → renderer-CPLfsRe1.mjs} +4 -4
- package/dist/{renderer-BBAbZfBl.mjs.map → renderer-CPLfsRe1.mjs.map} +1 -1
- package/dist/{renderer-CDOobs18.mjs → renderer-CS8VMTp1.mjs} +3 -3
- package/dist/{renderer-CDOobs18.mjs.map → renderer-CS8VMTp1.mjs.map} +1 -1
- package/dist/{renderer-D0vom99O.mjs → renderer-CTYKUnDq.mjs} +2 -2
- package/dist/{renderer-D0vom99O.mjs.map → renderer-CTYKUnDq.mjs.map} +1 -1
- package/dist/{renderer-DILUmb-e.mjs → renderer-CUPWHfEY.mjs} +3 -3
- package/dist/{renderer-DILUmb-e.mjs.map → renderer-CUPWHfEY.mjs.map} +1 -1
- package/dist/renderer-Cb0qf1UG.mjs +5 -0
- package/dist/renderer-CfX13dgQ.mjs +5 -0
- package/dist/renderer-ChFkRLrv.mjs +5 -0
- package/dist/{renderer-CDUxAtsk.mjs → renderer-Ci6YMa4u.mjs} +4 -4
- package/dist/{renderer-CDUxAtsk.mjs.map → renderer-Ci6YMa4u.mjs.map} +1 -1
- package/dist/{renderer-DKfwlE4e.mjs → renderer-CjQAYeYz.mjs} +3 -3
- package/dist/{renderer-DKfwlE4e.mjs.map → renderer-CjQAYeYz.mjs.map} +1 -1
- package/dist/renderer-CjkfJj5R.mjs +5 -0
- package/dist/renderer-Ck7Lu6c9.mjs +5 -0
- package/dist/{renderer-CJ4bxCld.mjs → renderer-CrwYWVsV.mjs} +2 -2
- package/dist/renderer-CuquqG_c.mjs +5 -0
- package/dist/{renderer-CzRqzp8P.mjs → renderer-CwO8T8l8.mjs} +3 -3
- package/dist/{renderer-CzRqzp8P.mjs.map → renderer-CwO8T8l8.mjs.map} +1 -1
- package/dist/renderer-Cwz2E4QD.mjs +5 -0
- package/dist/{renderer-BjvNEbML.mjs → renderer-Cy4a31rZ.mjs} +2 -2
- package/dist/{renderer-BjvNEbML.mjs.map → renderer-Cy4a31rZ.mjs.map} +1 -1
- package/dist/{renderer-If8JOkBi.mjs → renderer-CzgDJcot.mjs} +2 -2
- package/dist/{renderer-If8JOkBi.mjs.map → renderer-CzgDJcot.mjs.map} +1 -1
- package/dist/renderer-Czkt9YYp.mjs +5 -0
- package/dist/{renderer-D2-V9nQq.mjs → renderer-D4No_jA4.mjs} +3 -3
- package/dist/{renderer-D2-V9nQq.mjs.map → renderer-D4No_jA4.mjs.map} +1 -1
- package/dist/{renderer-DaSxr9fM.mjs → renderer-D96Pu8yX.mjs} +3 -3
- package/dist/{renderer-DaSxr9fM.mjs.map → renderer-D96Pu8yX.mjs.map} +1 -1
- package/dist/{renderer-B0gPTXhe.mjs → renderer-DBKyuPl1.mjs} +3 -3
- package/dist/{renderer-B0gPTXhe.mjs.map → renderer-DBKyuPl1.mjs.map} +1 -1
- package/dist/{renderer-CxqPeATd.d.mts → renderer-DBtt-7wt.d.mts} +2 -2
- package/dist/{renderer-CxqPeATd.d.mts.map → renderer-DBtt-7wt.d.mts.map} +1 -1
- package/dist/{renderer-DcBGYN3V.mjs → renderer-DCsTCvdo.mjs} +3 -3
- package/dist/{renderer-DcBGYN3V.mjs.map → renderer-DCsTCvdo.mjs.map} +1 -1
- package/dist/renderer-DFTIhSdJ.mjs +5 -0
- package/dist/renderer-DFaa-Ats.mjs +5 -0
- package/dist/{renderer-DzSMeQBC.mjs → renderer-DGT141pN.mjs} +3 -3
- package/dist/{renderer-DzSMeQBC.mjs.map → renderer-DGT141pN.mjs.map} +1 -1
- package/dist/{renderer-JvcR1vYI.mjs → renderer-DHUlVqST.mjs} +2 -2
- package/dist/{renderer-JvcR1vYI.mjs.map → renderer-DHUlVqST.mjs.map} +1 -1
- package/dist/renderer-DIHXKvPl.mjs +5 -0
- package/dist/{renderer-Cv4lchUP.mjs → renderer-DK9etIAz.mjs} +3 -3
- package/dist/{renderer-Cv4lchUP.mjs.map → renderer-DK9etIAz.mjs.map} +1 -1
- package/dist/renderer-DMzOqVM3.mjs +5 -0
- package/dist/renderer-DOId5U8x.mjs +5 -0
- package/dist/{renderer-BkWd4-YO.mjs → renderer-DOvzHN60.mjs} +2 -2
- package/dist/{renderer-BkWd4-YO.mjs.map → renderer-DOvzHN60.mjs.map} +1 -1
- package/dist/{renderer-B1QREs7J.mjs → renderer-DOxmmN6Q.mjs} +3 -3
- package/dist/{renderer-B1QREs7J.mjs.map → renderer-DOxmmN6Q.mjs.map} +1 -1
- package/dist/{renderer-V5uEyDFz.mjs → renderer-DP_In2uT.mjs} +3 -3
- package/dist/{renderer-V5uEyDFz.mjs.map → renderer-DP_In2uT.mjs.map} +1 -1
- package/dist/renderer-DQXFOup8.mjs +5 -0
- package/dist/{renderer-ut1GqW89.mjs → renderer-DQeUc1yY.mjs} +3 -3
- package/dist/{renderer-ut1GqW89.mjs.map → renderer-DQeUc1yY.mjs.map} +1 -1
- package/dist/renderer-DRt3BSTj.mjs +5 -0
- package/dist/{renderer-DFJQ6v0F.mjs → renderer-DSbRWfgl.mjs} +2 -2
- package/dist/{renderer-DFJQ6v0F.mjs.map → renderer-DSbRWfgl.mjs.map} +1 -1
- package/dist/{renderer-DaqWTx7s.mjs → renderer-DVFFVy9v.mjs} +3 -3
- package/dist/{renderer-DaqWTx7s.mjs.map → renderer-DVFFVy9v.mjs.map} +1 -1
- package/dist/{renderer-BPixWnmY.mjs → renderer-DWG4Podv.mjs} +3 -3
- package/dist/{renderer-BPixWnmY.mjs.map → renderer-DWG4Podv.mjs.map} +1 -1
- package/dist/{renderer-BljMOvry.mjs → renderer-DXSIstnn.mjs} +3 -3
- package/dist/{renderer-BljMOvry.mjs.map → renderer-DXSIstnn.mjs.map} +1 -1
- package/dist/{renderer-DjBCWxYy.mjs → renderer-DYbgd6Ye.mjs} +3 -3
- package/dist/{renderer-DjBCWxYy.mjs.map → renderer-DYbgd6Ye.mjs.map} +1 -1
- package/dist/{renderer-BDCy8NgT.mjs → renderer-DZhIe8Gj.mjs} +3 -3
- package/dist/{renderer-BDCy8NgT.mjs.map → renderer-DZhIe8Gj.mjs.map} +1 -1
- package/dist/{renderer-BMKFzfSQ.mjs → renderer-DcOT5c0t.mjs} +3 -3
- package/dist/{renderer-BMKFzfSQ.mjs.map → renderer-DcOT5c0t.mjs.map} +1 -1
- package/dist/renderer-Di_5vQ81.mjs +6 -0
- package/dist/renderer-DkmpsPIa.mjs +5 -0
- package/dist/renderer-Ds6wd9Gk.mjs +5 -0
- package/dist/{renderer-BTigwMQp.mjs → renderer-Du8eOWWU.mjs} +3 -3
- package/dist/{renderer-BTigwMQp.mjs.map → renderer-Du8eOWWU.mjs.map} +1 -1
- package/dist/renderer-Dv4p0lp9.mjs +5 -0
- package/dist/renderer-DzWoOlVc.mjs +5 -0
- package/dist/{renderer-7y5Cj8rV.mjs → renderer-GapR_An3.mjs} +3 -3
- package/dist/{renderer-7y5Cj8rV.mjs.map → renderer-GapR_An3.mjs.map} +1 -1
- package/dist/{renderer-BV48PFjX.mjs → renderer-GbVNyv-E.mjs} +6 -6
- package/dist/{renderer-BV48PFjX.mjs.map → renderer-GbVNyv-E.mjs.map} +1 -1
- package/dist/{renderer-NizuhHsH.mjs → renderer-I3Wxk1tL.mjs} +3 -3
- package/dist/{renderer-NizuhHsH.mjs.map → renderer-I3Wxk1tL.mjs.map} +1 -1
- package/dist/renderer-IOz63OWg.mjs +5 -0
- package/dist/renderer-JkSrsUa5.mjs +5 -0
- package/dist/{renderer-gRMkQabv.mjs → renderer-OEpwc9Zk.mjs} +3 -3
- package/dist/{renderer-gRMkQabv.mjs.map → renderer-OEpwc9Zk.mjs.map} +1 -1
- package/dist/renderer-Ocs1Djwu.mjs +5 -0
- package/dist/{renderer-rXgqgAjw.mjs → renderer-OsA-Lg4d.mjs} +3 -3
- package/dist/{renderer-rXgqgAjw.mjs.map → renderer-OsA-Lg4d.mjs.map} +1 -1
- package/dist/{renderer-Bi6W4RSn.mjs → renderer-P4OPsD82.mjs} +2 -2
- package/dist/{renderer-Bi6W4RSn.mjs.map → renderer-P4OPsD82.mjs.map} +1 -1
- package/dist/{renderer-BwpgDLYO.mjs → renderer-PuN2_AL_.mjs} +3 -3
- package/dist/{renderer-BwpgDLYO.mjs.map → renderer-PuN2_AL_.mjs.map} +1 -1
- package/dist/{renderer-CNuVJ4nG.mjs → renderer-QaN-aejD.mjs} +2 -2
- package/dist/{renderer-CNuVJ4nG.mjs.map → renderer-QaN-aejD.mjs.map} +1 -1
- package/dist/renderer-Wdn7m_uN.mjs +5 -0
- package/dist/{renderer-BwwZB2mt.mjs → renderer-f7A01ArI.mjs} +4 -4
- package/dist/{renderer-BwwZB2mt.mjs.map → renderer-f7A01ArI.mjs.map} +1 -1
- package/dist/{renderer-G1pMJH5C.mjs → renderer-gm0zoV4t.mjs} +2 -2
- package/dist/{renderer-G1pMJH5C.mjs.map → renderer-gm0zoV4t.mjs.map} +1 -1
- package/dist/{renderer-DScyMHpJ.mjs → renderer-kNjMhwiZ.mjs} +2 -2
- package/dist/{renderer-DScyMHpJ.mjs.map → renderer-kNjMhwiZ.mjs.map} +1 -1
- package/dist/renderer-mKpjaoE3.mjs +5 -0
- package/dist/{renderer-Cbsnj9vV.mjs → renderer-mqUBkx-a.mjs} +3 -3
- package/dist/{renderer-Cbsnj9vV.mjs.map → renderer-mqUBkx-a.mjs.map} +1 -1
- package/dist/{renderer-DyyIXLQK.mjs → renderer-plx7_lUQ.mjs} +3 -3
- package/dist/{renderer-DyyIXLQK.mjs.map → renderer-plx7_lUQ.mjs.map} +1 -1
- package/dist/{renderer-D6BXR7P4.mjs → renderer-qYhNf6iB.mjs} +2 -2
- package/dist/{renderer-D6BXR7P4.mjs.map → renderer-qYhNf6iB.mjs.map} +1 -1
- package/dist/{renderer-CeiCJCg4.mjs → renderer-y6k54AM6.mjs} +3 -3
- package/dist/{renderer-CeiCJCg4.mjs.map → renderer-y6k54AM6.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-DzGXDs5p.mjs → renderers-CP8CFWDs-D1FHpA7I.mjs} +3 -3
- package/dist/{renderers-CP8CFWDs-DzGXDs5p.mjs.map → renderers-CP8CFWDs-D1FHpA7I.mjs.map} +1 -1
- package/dist/signals/index.d.mts +5 -5
- package/dist/signals/index.mjs +6 -6
- package/dist/{signals-C5nOrRmn.mjs → signals-BwdVfK3p.mjs} +3 -3
- package/dist/{signals-C5nOrRmn.mjs.map → signals-BwdVfK3p.mjs.map} +1 -1
- package/package.json +57 -57
- package/dist/dist-ClyC_d66.mjs.map +0 -1
- package/dist/effects-BOk_2kzM.mjs.map +0 -1
- package/dist/index-B1XcyMm8.d.mts.map +0 -1
- package/dist/index-B2Xesdug.d.mts.map +0 -1
- package/dist/index-DujpgUUq.d.mts.map +0 -1
- package/dist/preview-engine/chunk-AQNTIWTK.mjs +0 -1
- package/dist/preview-engine/chunk-CPFPY35C.mjs +0 -1
- package/dist/preview-engine/chunk-UZBVCYRY.mjs +0 -174
- package/dist/preview-engine/chunk-XDMZP3E2.mjs +0 -1
- package/dist/preview-engine/chunk-YKMBRUAE.mjs +0 -1
- package/dist/preview-engine/renderers-3CXFGRE7.mjs +0 -1
- package/dist/preview-engine/renderers-3FC3WCJN.mjs +0 -1
- package/dist/preview-engine/renderers-3S2FM33K.mjs +0 -1
- package/dist/preview-engine/renderers-53ZTBI3C.mjs +0 -1
- package/dist/preview-engine/renderers-5USBVCMQ.mjs +0 -1
- package/dist/preview-engine/renderers-65G6BLEA.mjs +0 -1
- package/dist/preview-engine/renderers-7XU7BXE7.mjs +0 -1
- package/dist/preview-engine/renderers-BFXM32BC.mjs +0 -1
- package/dist/preview-engine/renderers-CDXHCWWK.mjs +0 -1
- package/dist/preview-engine/renderers-CLUN7WU6.mjs +0 -1
- package/dist/preview-engine/renderers-DTB4HEXU.mjs +0 -1
- package/dist/preview-engine/renderers-EFKNRLYF.mjs +0 -1
- package/dist/preview-engine/renderers-G2K7ZA5O.mjs +0 -1
- package/dist/preview-engine/renderers-GTUO5LIV.mjs +0 -1
- package/dist/preview-engine/renderers-HSJIVP57.mjs +0 -1
- package/dist/preview-engine/renderers-IHACBWXI.mjs +0 -1
- package/dist/preview-engine/renderers-IO3BVVJ7.mjs +0 -1
- package/dist/preview-engine/renderers-IR772VSN.mjs +0 -1
- package/dist/preview-engine/renderers-L6TRJOXA.mjs +0 -1
- package/dist/preview-engine/renderers-N6H6RSF2.mjs +0 -1
- package/dist/preview-engine/renderers-O5NFQYRQ.mjs +0 -1
- package/dist/preview-engine/renderers-O6V3OEKX.mjs +0 -1
- package/dist/preview-engine/renderers-OODA27UH.mjs +0 -1
- package/dist/preview-engine/renderers-RIGW33ZI.mjs +0 -1
- package/dist/preview-engine/renderers-RUZRBQ4K.mjs +0 -1
- package/dist/preview-engine/renderers-SKB2GGKS.mjs +0 -1
- package/dist/preview-engine/renderers-T4D2TASM.mjs +0 -1
- package/dist/preview-engine/renderers-T74XV36Q.mjs +0 -1
- package/dist/preview-engine/renderers-TOPW2UM3.mjs +0 -1
- package/dist/preview-engine/renderers-UO5G3Y2G.mjs +0 -1
- package/dist/preview-engine/renderers-UOV7VOJJ.mjs +0 -1
- package/dist/preview-engine/renderers-UWKSTSTA.mjs +0 -1
- package/dist/preview-engine/renderers-VHPAOUTA.mjs +0 -1
- package/dist/preview-engine/renderers-YEQRQJFC.mjs +0 -1
- package/dist/preview-engine/renderers-YRZ3WODX.mjs +0 -1
- package/dist/preview-engine/renderers-YUTFGVRY.mjs +0 -1
- package/dist/preview-engine/renderers-YXOTRKPA.mjs +0 -1
- package/dist/preview-engine/renderers-ZOU5ARVD.mjs +0 -1
- package/dist/preview-engine/renderers-ZW75LQTR.mjs +0 -1
- package/dist/program-C2cJayA1.mjs.map +0 -1
- package/dist/renderer-BAhZeUUn.mjs +0 -5
- package/dist/renderer-BHAE_dKq.mjs +0 -5
- package/dist/renderer-BNYZY3FE.mjs +0 -5
- package/dist/renderer-BSvubMvI.mjs +0 -5
- package/dist/renderer-B_M_yhTc.mjs +0 -5
- package/dist/renderer-B_xSsTuy.mjs +0 -5
- package/dist/renderer-BePHurAU.mjs +0 -5
- package/dist/renderer-BfZquJrW.mjs +0 -5
- package/dist/renderer-BuY5ypB2.mjs +0 -5
- package/dist/renderer-BvOQgFHo.mjs +0 -5
- package/dist/renderer-C7NkSvUz.mjs +0 -5
- package/dist/renderer-CIuxV2q1.mjs +0 -5
- package/dist/renderer-CKp97tSQ.mjs +0 -5
- package/dist/renderer-CY89dTFR.mjs +0 -5
- package/dist/renderer-C_B_4Bl0.mjs +0 -5
- package/dist/renderer-Cd87JOjP.mjs +0 -5
- package/dist/renderer-Cev6orIK.mjs +0 -6
- package/dist/renderer-Cewf6UPh.mjs +0 -5
- package/dist/renderer-CnHsMLIv.mjs +0 -5
- package/dist/renderer-CoxuAr7b.mjs +0 -5
- package/dist/renderer-CrdG7trA.mjs +0 -5
- package/dist/renderer-Cu5MFgbk.mjs +0 -5
- package/dist/renderer-CuOjhtoo.mjs +0 -5
- package/dist/renderer-D2_0g6Oi.mjs +0 -5
- package/dist/renderer-D62FwolD.mjs +0 -5
- package/dist/renderer-DDNY9N7I.mjs +0 -5
- package/dist/renderer-DF_ONJ3v.mjs +0 -5
- package/dist/renderer-DbzrVHEE.mjs +0 -5
- package/dist/renderer-DlYchp1v.mjs +0 -5
- package/dist/renderer-DqcUNP8J.mjs +0 -5
- package/dist/renderer-DqvFhEQj.mjs +0 -5
- package/dist/renderer-DxBav2bE.mjs +0 -5
- package/dist/renderer-GvSRoQje.mjs +0 -5
- package/dist/renderer-KP7Ita9g.mjs +0 -5
- package/dist/renderer-Pc8dyNXt.mjs +0 -5
- package/dist/renderer-ezRCmU09.mjs +0 -3
- package/dist/renderer-h6ev1ogx.mjs +0 -5
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as t}from"./chunk-UZBVCYRY.mjs";import{a as pe}from"./chunk-RHRMEBNK.mjs";import{h as ie}from"./chunk-XDMZP3E2.mjs";import{d,e as p}from"./chunk-BVF64D6H.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 a=Array.from({length:e.length+1},(l,i)=>i);for(let l=1;l<=r.length;l++){let i=a[0];a[0]=l;for(let s=1;s<=e.length;s++){let c=a[s];a[s]=Math.min(a[s]+1,a[s-1]+1,i+(r[l-1]===e[s-1]?0:1)),i=c}}return a[e.length]}function Ye(r,e){let a,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,a=c)}return a&&l<=Math.max(2,Math.ceil(r.length/2))?` Did you mean "${a}"?`:` Known props: ${e.join(", ")}.`}function Ve(r,e,a){if(typeof e=="number"){let{min:l,max:i}=a,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}a.enum&&(typeof e=="string"||typeof e=="boolean")&&!a.enum.includes(e)&&se(`${r} = ${JSON.stringify(e)} is not one of ${a.enum.map(l=>JSON.stringify(l)).join(", ")}`)}function be(r,e,a){let l=Object.keys(a);for(let[i,s]of Object.entries(e)){if(s===void 0)continue;let c=a[i];if(!c){se(`${r}: unknown prop "${i}".${Ye(i,l)}`);continue}ie(s)||typeof s=="function"||(c.props&&ce(s)?be(`${r}.${i}`,s,c.props):Ve(`${r}.${i}`,s,c))}}function Xe(r){return typeof r=="object"&&r!==null?structuredClone(r):r}function o(r,e,a,l){let i=a;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 n={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 qe={cellSize:10,colorMode:"mono",fg:"#e8e8e8",bg:"#0b0b0b",contrast:1.2,invert:!1},b=class extends t{op="Ascii";constructor(e={}){super(o("Ascii",qe,e,n.Ascii))}},We={threshold:-24,ratio:4,attack:.003,release:.25,knee:6,makeupGain:0},f=class extends t{op="AudioCompressor";constructor(e={}){super(o("AudioCompressor",We,e,n.AudioCompressor))}},Ke={delayTime:.25,feedback:.4,wet:.3,dry:1,pingPong:!1},h=class extends t{op="AudioDelay";constructor(e={}){super(o("AudioDelay",Ke,e,n.AudioDelay))}},Ne={fadeInDuration:0,fadeOutDuration:0,fadeInCurve:"linear",fadeOutCurve:"linear"},P=class extends t{op="AudioFade";constructor(e={}){super(o("AudioFade",Ne,e,n.AudioFade))}},je={threshold:-40,attack:.005,hold:.05,release:.1,range:-80},y=class extends t{op="AudioNoiseGate";constructor(e={}){super(o("AudioNoiseGate",je,e,n.AudioNoiseGate))}},Ue={type:"peak",frequency:1e3,gain:0,q:1},g=class extends t{op="AudioParametricEq";constructor(e={}){super(o("AudioParametricEq",Ue,e,n.AudioParametricEq))}},$e={roomSize:.5,damping:.5,wet:.3,dry:1,width:1},x=class extends t{op="AudioReverb";constructor(e={}){super(o("AudioReverb",$e,e,n.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 t{op="Blur";constructor(e={}){super(o("Blur",Ze,e,n.Blur))}},_e={motionPreset:"DollyZoom",panX:0,panY:0,dollyZ:0,fov:50,parallaxAmount:.6,dofAperture:.3,focusPlane:.4,edgeDilation:.5,depthInvert:!1},S=class extends t{op="CameraParallax3D";constructor(e={}){super(o("CameraParallax3D",_e,e,n.CameraParallax3D))}},Je={colorSpace:"RGBA",defaultChannel4:1},C=class extends t{op="ChannelMerger";constructor(e={}){super(o("ChannelMerger",Je,e,n.ChannelMerger))}},Qe={colorSpace:"RGBA"},E=class extends t{op="ChannelSplitter";constructor(e={}){super(o("ChannelSplitter",Qe,e,n.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},w=class extends t{op="ColorBalance";constructor(e={}){super(o("ColorBalance",er,e,n.ColorBalance))}},rr={keyColor:"#00ff00",similarity:.4,smoothness:.1,spillSuppression:.2,colorSpace:"YUV",spillSuppressionType:"Desaturate"},v=class extends t{op="ColorKey";constructor(e={}){super(o("ColorKey",rr,e,n.ColorKey))}},tr={levels:14,lineWidth:1.2,lineColor:"#2b1d0e",fill:"source",fillColor:"#f3ead8",smoothing:2},R=class extends t{op="Contour";constructor(e={}){super(o("Contour",tr,e,n.Contour))}},nr={},A=class extends t{op="CornerPin";constructor(e={}){super(o("CornerPin",nr,e,n.CornerPin))}},or={scanlines:.45,lineCount:540,curvature:.12,mask:.25,vignette:.35,noise:.08,flicker:.03,tracking:0,chroma:0},M=class extends t{op="CRT";constructor(e={}){super(o("CRT",or,e,n.CRT))}},ar={keyframes:[],strength:1,bleed:0,warmup:48},D=class extends t{op="Datamosh";constructor(e={}){super(o("Datamosh",ar,e,n.Datamosh))}},lr={strengthX:50,strengthY:50,xChannel:"Red",yChannel:"Green",wrapMode:"Clamp"},k=class extends t{op="DisplacementMap";constructor(e={}){super(o("DisplacementMap",lr,e,n.DisplacementMap))}},ir={mode:"bayer",levels:2,scale:2,monochrome:!0,dark:"#111111",light:"#f2efe6"},B=class extends t{op="Dither";constructor(e={}){super(o("Dither",ir,e,n.Dither))}},sr={strategy:"deterministic",samplePoints:150},I=class extends t{op="ExtractLUT";constructor(e={}){super(o("ExtractLUT",sr,e,n.ExtractLUT))}},cr={horizontal:!0,vertical:!1,diagonal:!1,mode:"horizontal",symmetry:"none"},T=class extends t{op="Flip";constructor(e={}){super(o("Flip",cr,e,n.Flip))}},pr={radius:12,threshold:.5,softness:.04},G=class extends t{op="Gooey";constructor(e={}){super(o("Gooey",pr,e,n.Gooey))}},ur={strength:.6,scale:2,shift:0,mode:"relief"},H=class extends t{op="Iridescence";constructor(e={}){super(o("Iridescence",ur,e,n.Iridescence))}},dr={segments:6,rotation:0,centerX:.5,centerY:.5,zoom:1},L=class extends t{op="Kaleidoscope";constructor(e={}){super(o("Kaleidoscope",dr,e,n.Kaleidoscope))}},mr={keyframes:[],motionBlurSize:1.5,movementStyle:"spline",aspectRatio:"input"},O=class extends t{op="KenBurns";constructor(e={}){super(o("KenBurns",mr,e,n.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 t{op="LayerStyle";constructor(e={}){super(o("LayerStyle",br,e,n.LayerStyle))}},fr={operations:[]},F=class extends t{op="Liquify";constructor(e={}){super(o("Liquify",fr,e,n.Liquify))}},hr={operation:"Union",radius:0,threshold:.5,clampMin:0,clampMax:1,channelA:"Alpha",channelB:"Alpha",binarize:!1,invertResult:!1,outputFormat:"WhiteWithAlpha"},Y=class extends t{op="MaskMath";constructor(e={}){super(o("MaskMath",hr,e,n.MaskMath))}},Pr={cols:3,rows:3},V=class extends t{op="MeshWarp";constructor(e={}){super(o("MeshWarp",Pr,e,n.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 t{op="NoiseGenerator";constructor(e={}){super(o("NoiseGenerator",yr,e,n.NoiseGenerator))}},gr={pattern:"stripes",frequency:48,angle:0,warp:.6,source:1,colorA:"#0a0a0a",colorB:"#f5f5f5"},q=class extends t{op="OpArt";constructor(e={}){super(o("OpArt",gr,e,n.OpArt))}},xr={width:1080,height:1080,maintainAspect:!0,backgroundColor:"#ffffff"},W=class extends t{op="Paint";constructor(e={}){super(o("Paint",xr,e,n.Paint))}},Sr={style:"oil",radius:5,edgeDarkening:.5,paper:.3,saturation:1.05},K=class extends t{op="Painterly";constructor(e={}){super(o("Painterly",Sr,e,n.Painterly))}},Cr={centerX:.5,centerY:.5,offsetX:50,offsetY:0,radius:25,sourceRadius:25,feather:50,opacity:1,mode:"SeamlessHeal"},N=class extends t{op="PatchHeal";constructor(e={}){super(o("PatchHeal",Cr,e,n.PatchHeal))}},Er={size:12,shape:"square",gap:0},j=class extends t{op="Pixelate";constructor(e={}){super(o("Pixelate",Er,e,n.Pixelate))}},wr={levels:6,palette:"none",colors:[],dither:0,pixelSize:1},U=class extends t{op="Posterize";constructor(e={}){super(o("Posterize",wr,e,n.Posterize))}},vr={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 t{op="ProceduralVFX";constructor(e={}){super(o("ProceduralVFX",vr,e,n.ProceduralVFX))}},Rr={decontaminateAmount:.7,radius:2,smooth:5,feather:.5,shiftEdge:0,matteChannel:"Alpha",outputMode:"Composite"},Z=class extends t{op="RefineEdge";constructor(e={}){super(o("RefineEdge",Rr,e,n.RefineEdge))}},Ar={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 t{op="RefractionCaustics3D";constructor(e={}){super(o("RefractionCaustics3D",Ar,e,n.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 t{op="ResizerScaler";constructor(e={}){super(o("ResizerScaler",Mr,e,n.ResizerScaler))}},Dr={amount:8,angle:0,radial:!1},Q=class extends t{op="RGBSplit";constructor(e={}){super(o("RGBSplit",Dr,e,n.RGBSplit))}},kr={angle:90,fit:"cover",scale:1},ee=class extends t{op="Rotate";constructor(e={}){super(o("Rotate",kr,e,n.Rotate))}},Br={pan:0},re=class extends t{op="StereoPanning";constructor(e={}){super(o("StereoPanning",Br,e,n.StereoPanning))}},Ir={levels:4,edgeThreshold:.2,edgeWidth:1,edgeColor:"#111111",saturation:1.15},te=class extends t{op="Toon";constructor(e={}){super(o("Toon",Ir,e,n.Toon))}},Tr={decay:.9,mode:"blend",zoom:1,rotation:0,offsetX:0,offsetY:0,hueShift:0,warmup:60},ne=class extends t{op="Trails";constructor(e={}){super(o("Trails",Tr,e,n.Trails))}},Gr={strength:50,radius:1,softness:.5,roundness:.5,centerX:.5,centerY:.5},oe=class extends t{op="Vignette";constructor(e={}){super(o("Vignette",Gr,e,n.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 ae=class extends le{constructor(e={}){let{track:a,...l}=e;super(a?{...Hr(a),...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 h(r),audioFade:r=>new P(r),audioNoiseGate:r=>new y(r),audioParametricEq:r=>new g(r),audioReverb:r=>new x(r),blur:r=>new ae(r),cameraParallax3D:r=>new S(r),channelMerger:r=>new C(r),channelSplitter:r=>new E(r),colorBalance:r=>new w(r),colorKey:r=>new v(r),contour:r=>new R(r),cornerPin:r=>new A(r),cRT:r=>new M(r),datamosh:r=>new D(r),displacementMap:r=>new k(r),dither:r=>new B(r),extractLUT:r=>new I(r),flip:r=>new T(r),gooey:r=>new G(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 Y(r),meshWarp:r=>new V(r),noiseGenerator:r=>new X(r),opArt:r=>new q(r),paint:r=>new W(r),painterly:r=>new K(r),patchHeal:r=>new N(r),pixelate:r=>new j(r),posterize:r=>new U(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 te(r),trails:r=>new ne(r),vignette:r=>new oe(r)};var fe=class extends t{op="Levels";constructor(e={}){let a={inBlack:0,inWhite:1,outBlack:0,outWhite:1};super({master:e.master??{...a},red:e.red??{...a},green:e.green??{...a},blue:e.blue??{...a},...e})}},he=class extends t{op="FilmGrain";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})}},Pe=class extends t{op;constructor(e,a={}){super(a),this.op=e}},ye=class extends t{op="AudioSignalExtractor";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,a={}){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,...a})}},ge=class extends t{op="Curves";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 t{op="SelectiveColor";constructor(e={}){let a={cyan:0,magenta:0,yellow:0,black:0};super({...e,method:e.method??"Relative",reds:{...a,...e.reds},yellows:{...a,...e.yellows},greens:{...a,...e.greens},cyans:{...a,...e.cyans},blues:{...a,...e.blues},magentas:{...a,...e.magentas},whites:{...a,...e.whites},neutrals:{...a,...e.neutrals},blacks:{...a,...e.blacks}})}},Se=class extends t{op="GradientMap";constructor(e={}){let a=[{position:0,color:"#000000"},{position:1,color:"#ffffff"}];super({...e,stops:e.stops??a,smooth:e.smooth??!0,dither:e.dither??!0,opacity:e.opacity??1})}},Ce=class extends t{op="ShadowsHighlights";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})}},Ee=class extends t{op="ApplyLUT";constructor(e={}){super({...e,lutUrl:e.lutUrl??"",intensity:e.intensity??1})}},we=class extends t{op="UnsharpMask";constructor(e={}){super({...e,amount:e.amount??100,radius:e.radius??1.5,threshold:e.threshold??3})}},ve=class extends t{op="HighPass";constructor(e={}){super({...e,radius:e.radius??3,contrastBoost:e.contrastBoost??1,monochrome:e.monochrome??!0})}},Re=class extends t{op="HalftoneScreen";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})}},Ae=class extends t{op="TileOffset";constructor(e={}){super({...e,offsetX:e.offsetX??0,offsetY:e.offsetY??0,wrap:e.wrap??!0,edgeMode:e.edgeMode??"wrap"})}},Me=class extends t{op="MotionBlur";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 t{op="SSAO";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 t{op="PBRGlass";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 t{op="DepthOfField";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"})}},Ie=class extends t{op="Crop";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})}},Te=class extends t{op="Vision";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})}},Ge=class extends t{op="Relight3D";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 t{op="TemporalDeflicker";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 t{op="Modulate";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{n as a,b,f as c,h as d,P as e,y as f,g,x as h,S as i,C as j,E as k,w as l,v as m,R as n,A as o,M as p,D as q,k as r,B as s,I as t,T as u,G as v,H as w,L as x,O as y,z,F as A,Y as B,V as C,X as D,q as E,W as F,K as G,N as H,j as I,U as J,$ as K,Z as L,_ as M,J as N,Q as O,ee as P,re as Q,te as R,ne as S,oe as T,ae as U,Or as V,fe as W,he as X,Pe as Y,ye as Z,ge as _,xe as $,Se as aa,Ce as ba,Ee as ca,we as da,ve as ea,Re as fa,Ae as ga,Me as ha,De as ia,ke as ja,Be as ka,Ie as la,Te as ma,Ge as na,He as oa,Le as pa};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as r}from"./chunk-XDMZP3E2.mjs";import{e}from"./chunk-BVF64D6H.mjs";e();var o=r({});export{o as a};
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import{a as Ln}from"./chunk-YQRKT47I.mjs";import{a as He}from"./chunk-VXUJWPIK.mjs";import{a as Pt}from"./chunk-XKO4RYKN.mjs";import{g as Ye,h as Mt,i as Xe,j as ve,k as be,l as Pe,n as Rt,p as It}from"./chunk-X6HUH6K4.mjs";import{I as yt,a as M,b as A}from"./chunk-NQZKBFC6.mjs";import{A as xt,b as bt,h as _e,i as Ge,m as ne}from"./chunk-XDMZP3E2.mjs";import{a as _t,e as St,i as Ne,j as wt}from"./chunk-4GEWSUX5.mjs";import{b as Se,c as kt,e as Tt}from"./chunk-MTJHQATU.mjs";import{d as vt,e as we,g as ze}from"./chunk-YAQFFQPG.mjs";import{c as Cn,d as j,e as k}from"./chunk-BVF64D6H.mjs";k();k();var Ot=class{signals;config;_frameHooks=[];constructor(e){this.config={...e},this.signals={};for(let[t,n]of Object.entries(e))_e(n)?this.signals[t]=n:this.signals[t]=Ge(n);return new Proxy(this,{get(t,n,s){if(typeof n=="string"&&n in t.signals){let o=t.signals[n];return o?o.value:void 0}return Reflect.get(t,n,s)},set(t,n,s,o){if(typeof n=="string"&&n in t.signals){let i=t.signals[n];return _e(s)?(t.signals[n]=s,t.config[n]=s):i&&typeof i.set=="function"?(i.set(s),t.config[n]=s):(t.signals[n]=Ge(s),t.config[n]=s),!0}return Reflect.set(t,n,s,o)}})}onRequestFrame(e){return this._frameHooks.push(e),this}notifyFrame(e){for(let t of this._frameHooks)t(e)}resolveUniforms(e){let t={};for(let[n,s]of Object.entries(this.signals))t[n]=s.get(e);return t}resolveTextures(){let e={};for(let[t,n]of Object.entries(this.signals)){let s=n.gpuBinding;s?.textureView&&(e[`${t}TextureView`]=s.textureView),s?.texture&&(e[`${t}Texture`]=s.texture)}return e}toOperation(){let e={op:this.op,effect:this,onRequestFrame:t=>this.notifyFrame(t),signals:this.signals,...this.config};for(let[t,n]of Object.entries(this.signals)){let s=this.config[t];!_e(s)&&(typeof s=="string"||typeof s=="boolean")?e[t]=n.value:e[t]=n}return e}};k();var Ct=class extends Error{constructor(e){super(e),this.name="ModerationError"}},Lt=class extends Error{constructor(e){super(e),this.name="ModerationUnrefundableError"}};k();k();k();var Et="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var At=(r=21)=>{let e="",t=crypto.getRandomValues(new Uint8Array(r|=0));for(;r--;)e+=Et[t[r]&63];return e};var Jr=r=>At(r);k();var jt=A.object({dataTypes:A.custom(),label:A.string(),required:A.boolean().optional(),order:A.number(),description:A.string().optional()}),En=A.object({configKey:A.string(),dataTypes:A.custom(),label:A.string(),description:A.string().optional()}),no=A.object({type:A.string().min(1),version:A.number().int().positive().optional(),baseType:A.string().optional(),displayName:A.string().min(1),description:A.string().optional(),showInQuickAccess:A.boolean().optional(),showInSidebar:A.boolean().optional(),advanced:A.boolean().optional(),category:A.string().min(1),subcategory:A.string().optional(),defaultDimensions:A.object({width:A.number().positive().optional(),height:A.number().positive().optional()}).optional(),handles:A.object({inputs:A.array(jt),outputs:A.array(jt)}),variableInputs:A.discriminatedUnion("enabled",[A.object({enabled:A.literal(!0),dataTypes:A.custom()}),A.object({enabled:A.literal(!1),dataTypes:A.custom().optional()})]).optional(),variableOutputs:A.discriminatedUnion("enabled",[A.object({enabled:A.literal(!0),dataTypes:A.custom()}),A.object({enabled:A.literal(!1),dataTypes:A.custom().optional()})]).optional(),isTerminal:A.boolean().optional(),isTransient:A.boolean().optional(),configSchema:A.custom().optional(),defaultConfig:A.record(A.string(),A.unknown()).optional(),validation:A.any().optional(),resultSchema:A.custom().optional(),configHandles:A.array(En).optional()});k();var so={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"}};k();var lo={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"},uo={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"],Ut=M.enum(An),Vt=class r{static schemas=new Map;static register(e,t){r.schemas.set(e,t)}static get(e){return r.schemas.get(e)}static clear(){r.schemas.clear()}};k();var ho={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};k();var jn=M.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"]),Vn=M.object({id:M.string(),type:jn,value:M.number()}),Un=M.object({x:M.number().default(0),y:M.number().default(0),width:M.number().optional(),height:M.number().optional(),rotation:M.number().default(0),scale:M.number().min(0).default(1),opacity:M.number().min(0).max(1).default(1),zIndex:M.number().int().optional(),blendMode:Ut.optional()}),Bn=M.object({startFrame:M.number().int().min(0).default(0),durationInMS:M.number().int().min(1).optional(),trimStart:M.number().int().min(0).optional(),trimEnd:M.number().int().min(0).optional(),speed:M.number().min(.25).max(4).optional()}),Fn=M.object({text:M.string().optional(),fontSize:M.number().optional(),fontFamily:M.string().optional(),fontStyle:M.string().optional(),fontWeight:M.union([M.number(),M.string()]).optional(),fill:M.string().optional(),align:M.string().optional(),direction:M.enum(["ltr","rtl","auto"]).optional(),verticalAlign:M.string().optional(),letterSpacing:M.number().optional(),lineHeight:M.number().optional(),padding:M.number().optional(),stroke:M.string().optional(),strokeWidth:M.number().optional(),strokeAlign:M.enum(["inside","center","outside"]).optional(),textShadow:M.string().optional(),textBackgroundColor:M.string().optional(),shadows:M.array(M.object({color:M.string(),offset:M.object({x:M.number(),y:M.number()}).optional(),blurRadius:M.number().optional()})).optional(),textAnimation:M.any().optional(),bottomPadding:M.number().optional(),maxWidth:M.number().optional()}),Dn=M.object({backgroundColor:M.string().optional(),borderColor:M.string().optional(),borderWidth:M.number().optional(),strokeRadius:M.number().optional(),autoDimensions:M.boolean().optional()}),We=M.enum(["Video","Image","Audio","Text","Caption","SVG","GIF","Lottie"]),Bt=Un.merge(Bn).merge(Fn).merge(Dn).extend({type:We.optional(),animations:M.array(Vn).optional()});k();k();var Gn=M.enum(["none","crossfade","wipe-left","wipe-right","slide-up","slide-down"]),$e=M.object({type:Gn,durationFrames:M.number().min(1)});var Ro=Bt.extend({id:M.string(),name:M.string().optional(),type:We,virtualMedia:yt.optional(),transitionIn:$e.optional(),transitionOut:$e.optional(),durationInMS:M.number(),maxDurationInMS:M.number().optional(),src:M.string().optional(),volume:M.number().default(1),inputHandleId:M.string().optional(),isPlaceholder:M.boolean().optional(),lockAspect:M.boolean().optional(),lockRatio:M.boolean().optional(),zIndex:M.number().optional()}).strict();k();function Ft(r,e){if(r===e||typeof r=="number"&&typeof e=="number"&&Number.isNaN(r)&&Number.isNaN(e))return!0;if(r&&e&&typeof r=="object"&&typeof e=="object"){if(r.constructor!==e.constructor)return!1;if(Array.isArray(r)){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++)if(!Ft(r[n],e[n]))return!1;return!0}if(r instanceof Date)return r.getTime()===e.getTime();if(r instanceof RegExp)return r.toString()===e.toString();let t=Object.keys(r);if(t.length!==Object.keys(e).length)return!1;for(let n of t)if(!Object.hasOwn(e,n)||!Ft(r[n],e[n]))return!1;return!0}return!1}k();function Ao(r,e){if(!r?.sourceFingerprint)return null;let t=He(e);return r.sourceFingerprint!==t?null:r}function jo(r,e){return{...r,sourceFingerprint:He(e)}}k();function Bo(r){try{let t=r.toString("utf-8").match(/<svg[^>]*>/i);if(!t)return null;let n=t[0],s=a=>{let l=n.match(new RegExp(`${a}=["']([^"']+)["']`,"i"));if(!l)return null;let d=parseFloat(l[1].replace(/[a-z%]/gi,""));return isNaN(d)?null:d},o=s("width"),i=s("height"),u=n.match(/viewBox=["']([^"']+)["']/i);if(u){let a=u[1].split(/[\s,]+/).map(parseFloat);if(a.length>=4&&!isNaN(a[2])&&!isNaN(a[3])){let l=a[2],d=a[3];o==null&&i==null?(o=l,i=d):o!=null&&i==null?i=o*(d/l):i!=null&&o==null&&(o=i*(l/d))}}return o!=null&&i!=null&&o>0&&i>0?{w:o,h:i}:null}catch(e){return console.error("Error parsing SVG dimensions",e),null}}k();k();k();k();var ce=(r,e,t)=>`https://huggingface.co/${r}/resolve/${e}/${t}`,Ke="tori29umai/rtmdet-ins-onnx-person-masks",qe="e5218e8d47d7c50077f27f9893a28e0ef2ad5656",Ze="RTMDet-Ins (OpenMMLab mmdetection, Apache-2.0), mmdeploy ONNX export",Je="RTMO (OpenMMLab mmpose, Apache-2.0), ONNX export",Dt="MediaPipe Selfie Segmenter (Google, Apache-2.0), ONNX export",re={"rtmdet-ins-t":{key:"rtmdet-ins-t",family:"rtmdet-ins",filename:"rtmdet-ins-t.onnx",url:ce(Ke,qe,"models/tiny/rtmdet-ins_tiny_640x640.onnx"),bytes:24032356,sha256:"99ee670820c4493aa13e20578b6a8e39781c319846dc41796a77765734beac5c",input:[640,640],source:Ze},"rtmdet-ins-s":{key:"rtmdet-ins-s",family:"rtmdet-ins",filename:"rtmdet-ins-s.onnx",url:ce(Ke,qe,"models/s/rtmdet-ins_s_640x640.onnx"),bytes:43236976,sha256:"9cd1787fbf3eb2bd64cc2d8154f41c036f5484b85599e1cbe0227a2dc5a4a08b",input:[640,640],source:Ze},"rtmdet-ins-m":{key:"rtmdet-ins-m",family:"rtmdet-ins",filename:"rtmdet-ins-m.onnx",url:ce(Ke,qe,"models/m/rtmdet-ins_m_640x640.onnx"),bytes:115735979,sha256:"a003bce80316e03467c2c2b483df2d5c0398220c2357a44f9bf985929f7eb052",input:[640,640],source:Ze},"rtmo-t":{key:"rtmo-t",family:"rtmo",filename:"rtmo-t.onnx",url:ce("Xenova/RTMO-t","f29d13ce5ee291fbe505e9d06a049992f05699dc","onnx/model.onnx"),bytes:27360569,sha256:"cb54dd042bf997df86d938721c94238940f2bff98ba8d2ccc834430de5c65c13",input:[416,416],source:Je},"rtmo-s":{key:"rtmo-s",family:"rtmo",filename:"rtmo-s.onnx",url:ce("Xenova/RTMO-s","d8c526187f341d287753831c9c8b1ecc4855bba1","onnx/model.onnx"),bytes:39636400,sha256:"1cd6a3517658903233e9ccb78666554862f57f0944b6886e2048093594aef4e7",input:[640,640],source:Je},"rtmo-m":{key:"rtmo-m",family:"rtmo",filename:"rtmo-m.onnx",url:ce("Xenova/RTMO-m","3aba1280472b98ee2bf663482e27e243038d23fe","onnx/model.onnx"),bytes:89291929,sha256:"76d82c45e5c4810baf587ecf2638d15cbf7ed196afb2055e977382532021b59e",input:[640,640],source:Je},"selfie-square":{key:"selfie-square",family:"selfie",filename:"selfie-square.onnx",url:ce("onnx-community/mediapipe_selfie_segmentation","be49485c8e027524be38591817fc5cd31bd9d00e","onnx/model.onnx"),bytes:462352,sha256:"3241ac4ad8aa35bdaf33946776db29f7c283a413aa0b0dacb9483594b4531aad",input:[256,256],source:Dt},"selfie-landscape":{key:"selfie-landscape",family:"selfie",filename:"selfie-landscape.onnx",url:ce("onnx-community/mediapipe_selfie_segmentation_landscape","2497d5bec26c626c7b3c4edc6e1fefc21b64f6c3","onnx/model.onnx"),bytes:462338,sha256:"7a0adcfdb1715d3b0ff0f61486d8a181c33f4a208343a5abfccbc6540e872d24",input:[256,144],source:Dt}};function Gt(r,e="s",t=1){return r==="pose"?`rtmo-${e}`:r==="matte"?t>1.3?"selfie-landscape":"selfie-square":`rtmdet-ins-${e}`}var Me=["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"];k();function de(r,e){let t=Math.max(r.originX,e.originX),n=Math.max(r.originY,e.originY),s=Math.min(r.originX+r.width,e.originX+e.width),o=Math.min(r.originY+r.height,e.originY+e.height),i=Math.max(0,s-t),u=Math.max(0,o-n),a=i*u;if(a<=0)return 0;let l=r.width*r.height,d=e.width*e.height,c=l+d-a;return c>0?a/c:0}var ye=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,n=24){let s=n>0?1/n:.0416;for(let a of this._tracks)if(a.age++,a.timeSinceUpdate++,a.timeSinceUpdate>0){let l=a.centerX+a.vx*s,d=a.centerY+a.vy*s;a.centerX=l,a.centerY=d;let c=a.box.width,p=a.box.height,b=a.box.normalizedWidth,y=a.box.normalizedHeight,I=a.box.normalizedX+b/2+a.vx*s/Math.max(1,a.box.width/b),L=a.box.normalizedY+y/2+a.vy*s/Math.max(1,a.box.height/y);a.box={originX:l-c/2,originY:d-p/2,width:c,height:p,normalizedX:I-b/2,normalizedY:L-y/2,normalizedWidth:b,normalizedHeight:y},a.vx*=.92,a.vy*=.92,a.isCoasting=!0}let o=new Set,i=new Set,u=[];for(let a=0;a<this._tracks.length;a++){let l=this._tracks[a];for(let d=0;d<e.length;d++){let c=e[d];if(l.category!==c.category)continue;let p=de(l.box,c.boundingBox);p>=this._iouThreshold&&u.push({trackIdx:a,detIdx:d,iou:p})}}u.sort((a,l)=>l.iou-a.iou);for(let a of u){if(i.has(a.trackIdx)||o.has(a.detIdx))continue;i.add(a.trackIdx),o.add(a.detIdx);let l=this._tracks[a.trackIdx],d=e[a.detIdx],c=d.boundingBox,p=c.originX+c.width/2,b=c.originY+c.height/2,y=(p-l.centerX)/s,I=(b-l.centerY)/s;l.vx=l.vx*.4+y*.6,l.vy=l.vy*.4+I*.6;let L=this._positionSmoothing,g=l.box.width*(1-L)+c.width*L,S=l.box.height*(1-L)+c.height*L,x=l.centerX*(1-L)+p*L,E=l.centerY*(1-L)+b*L;l.centerX=x,l.centerY=E,l.score=d.score,l.timeSinceUpdate=0,l.hits++,l.isCoasting=!1,l.hits>=this._minHits&&(l.active=!0),l.box={originX:x-g/2,originY:E-S/2,width:g,height:S,normalizedX:c.normalizedX,normalizedY:c.normalizedY,normalizedWidth:c.normalizedWidth,normalizedHeight:c.normalizedHeight}}for(let a=0;a<e.length;a++){if(o.has(a))continue;let l=e[a],d=l.boundingBox,c=d.originX+d.width/2,p=d.originY+d.height/2;this._tracks.push({trackId:this._nextTrackId++,category:l.category,score:l.score,box:d,centerX:c,centerY:p,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 l=a.box.normalizedWidth,d=a.box.normalizedHeight,c=a.box.normalizedX+l/2,p=a.box.normalizedY+d/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:c,normalizedCenterY:p,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,n=24){this.reset();let s=n>0?1/n:.0416,o=new Map;for(let a=0;a<t;a++){let l=e[a]??[],d=this.update(l,a,n);for(let c of d)o.has(c.trackId)||o.set(c.trackId,{category:c.category,observations:[]}),c.isCoasting||o.get(c.trackId).observations.push({frame:a,box:c.boundingBox,score:c.score})}let i=new Map;for(let[a,l]of o.entries()){let d=l.observations;if(d.length===0)continue;d.sort((g,S)=>g.frame-S.frame);let c=new Array(t).fill(null);for(let g of d)c[g.frame]={box:g.box,score:g.score};let p=d[0];for(let g=0;g<p.frame;g++)c[g]={box:{...p.box},score:p.score*.9};for(let g=0;g<d.length-1;g++){let S=d[g],x=d[g+1],E=x.frame-S.frame;if(!(E<=1))for(let f=S.frame+1;f<x.frame;f++){let m=(f-S.frame)/E,w=S.box.originX+(x.box.originX-S.box.originX)*m,T=S.box.originY+(x.box.originY-S.box.originY)*m,R=S.box.width+(x.box.width-S.box.width)*m,P=S.box.height+(x.box.height-S.box.height)*m,U=S.box.normalizedX+(x.box.normalizedX-S.box.normalizedX)*m,O=S.box.normalizedY+(x.box.normalizedY-S.box.normalizedY)*m,_=S.box.normalizedWidth+(x.box.normalizedWidth-S.box.normalizedWidth)*m,h=S.box.normalizedHeight+(x.box.normalizedHeight-S.box.normalizedHeight)*m;c[f]={box:{originX:w,originY:T,width:R,height:P,normalizedX:U,normalizedY:O,normalizedWidth:_,normalizedHeight:h},score:S.score*(1-m)+x.score*m}}}let b=d[d.length-1];for(let g=b.frame+1;g<t;g++)c[g]={box:{...b.box},score:b.score*.9};let y=[],I=2,L=[.06136,.24477,.38774,.24477,.06136];for(let g=0;g<t;g++){let S=0,x=0,E=0,f=0,m=0,w=0,T=0,R=0,P=0,U=0;for(let _=-I;_<=I;_++){let h=Math.max(0,Math.min(t-1,g+_)),C=c[h];if(C){let z=L[_+I];S+=z,x+=C.box.originX*z,E+=C.box.originY*z,f+=C.box.width*z,m+=C.box.height*z,w+=C.box.normalizedX*z,T+=C.box.normalizedY*z,R+=C.box.normalizedWidth*z,P+=C.box.normalizedHeight*z,U+=C.score*z}}let O=S>0?1/S:1;y.push({box:{originX:x*O,originY:E*O,width:f*O,height:m*O,normalizedX:w*O,normalizedY:T*O,normalizedWidth:R*O,normalizedHeight:P*O},score:U*O})}i.set(a,{category:l.category,frames:y})}let u=[];for(let a=0;a<t;a++){let l=[];for(let[d,c]of i.entries()){let p=c.frames[a];if(!p)continue;let b=c.frames[Math.max(0,a-1)]??p,y=c.frames[Math.min(t-1,a+1)]??p,I=p.box.originX+p.box.width/2,L=p.box.originY+p.box.height/2,g=b.box.originX+b.box.width/2,S=b.box.originY+b.box.height/2,x=y.box.originX+y.box.width/2,E=y.box.originY+y.box.height/2,f=a===0||a===t-1?s:2*s,m=(x-g)/f,w=(E-S)/f,T=Math.sqrt(m*m+w*w),R=p.box.normalizedWidth,P=p.box.normalizedHeight;l.push({trackId:d,category:c.category,score:p.score,boundingBox:p.box,centerX:I,centerY:L,normalizedCenterX:p.box.normalizedX+R/2,normalizedCenterY:p.box.normalizedY+P/2,velocity:{vx:m,vy:w},speed:T,age:a+1,hits:10,active:!0,isCoasting:!1})}u.push(l)}return u}reset(){this._tracks=[],this._nextTrackId=1}};var Ht=()=>typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now();async function Wo(r,e){let{runner:t}=e,n=e.fps??24,s=e.tasks&&e.tasks.length>0?e.tasks:["detect"],o=new Set(s),i=e.categories?new Set(e.categories.map(_=>_.toLowerCase())):null,u=e.includeMasks===!0&&o.has("segment"),a=o.has("detect")||o.has("segment"),l=[],d={},c=new Map,p=0,b=0,y=_=>!i||i.has(_.toLowerCase()),I=async(_,h,C)=>{let z=t.modelKeyFor(_,h.width/h.height),F=t.downloadStatus.get(z)==="ready",B=Ht(),V=await C(),G=Ht()-B;return p+=G,!F&&!d[z]&&(d[z]={bytes:re[z].bytes,ms:G}),V},L=_=>{for(let h of _){if(!y(h.category))continue;let C=c.get(h.category)??{sum:0,count:0};C.sum+=h.coverage,C.count++,c.set(h.category,C)}};for await(let _ of r){let h=[];if(u){let C=await I("segment",_,()=>t.segment(_));L(C.masks),h=C.detections}else a&&(h=await I("detect",_,()=>t.detect(_)));o.has("pose")&&await I("pose",_,()=>t.pose(_)),o.has("matte")&&await I("matte",_,()=>t.matte(_)),l.push(i?h.filter(C=>y(C.category)):h),b++}let g=b,x=new ye({iouThreshold:e.iouThreshold??.25,maxMissedFrames:e.maxMissedFrames??15}).trackSequence(l,g,n),E=e.pathStride??Math.max(1,Math.ceil(g/50)),f=new Map,m=new Map,w=new Map,T=new Map,R=(_,h,C)=>{let z=_.get(h);return z===void 0&&(z=C(),_.set(h,z)),z};for(let _=0;_<g;_++)for(let h of x[_]??[]){if(!y(h.category))continue;let C=f.get(h.trackId);C||(C={category:h.category,firstFrame:_,lastFrame:_,speedSum:0,speedCount:0,centers:[]},f.set(h.trackId,C)),C.lastFrame=_,Number.isFinite(h.speed)&&(C.speedSum+=h.speed,C.speedCount++),(_-C.firstFrame)%E===0&&C.centers.push({frame:_,x:h.centerX,y:h.centerY}),R(m,h.category,()=>new Set).add(_),w.set(h.category,Math.max(w.get(h.category)??0,h.score)),R(T,h.category,()=>new Set).add(h.trackId)}let P=Array.from(f.entries()).map(([_,h])=>({trackId:_,category:h.category,frames:[h.firstFrame,h.lastFrame],speedMeanPxS:h.speedCount>0?h.speedSum/h.speedCount:0,centerPath:h.centers.map(C=>[C.x,C.y])})).sort((_,h)=>_.trackId-h.trackId),U={};for(let[_,h]of m)U[_]={framesPresent:h.size,totalFrames:g,maxConfidence:w.get(_)??0,tracks:T.get(_)?.size??0};let O={};for(let[_,h]of c)O[_]={meanCoverage:h.count>0?h.sum/h.count:0};return{source:e.source??"frames",totalFrames:g,fps:n,durationSec:n>0?g/n:0,tasks:Array.from(o),modelDownloads:d,inferenceMs:p,trackCount:P.length,classes:U,tracks:P,masks:O}}k();var Hn=[103.53,116.28,123.675],Nn=[57.375,57.12,58.395],zn={"rtmdet-ins":{fit:"topLeft",channels:"bgr",mean:Hn,std:Nn,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 Nt(r,e){return{...zn[r],width:e[0],height:e[1]}}function Qe(r,e,t){if(t.fit==="stretch")return{scaleX:t.width/r,scaleY:t.height/e,offsetX:0,offsetY:0,inputWidth:t.width,inputHeight:t.height};let n=Math.min(t.width/r,t.height/e),s=Math.round(r*n),o=Math.round(e*n),i=t.fit==="center";return{scaleX:n,scaleY:n,offsetX:i?(t.width-s)/2:0,offsetY:i?(t.height-o)/2:0,inputWidth:t.width,inputHeight:t.height}}function ue(r,e,t){return{x:(r-t.offsetX)/t.scaleX,y:(e-t.offsetY)/t.scaleY}}function zt(r,e,t){let{width:n,height:s,data:o}=r,{width:i,height:u}=e,a=Qe(n,s,e),{scaleX:l,scaleY:d,offsetX:c,offsetY:p}=a,b=i*u;(!t||t.length<3*b)&&(t=new Float32Array(3*b));let y=e.channels==="bgr"?[2,1,0]:[0,1,2],[I,L,g]=e.mean,S=1/e.std[0],x=1/e.std[1],E=1/e.std[2],f=(e.padValue-I)*S,m=(e.padValue-L)*x,w=(e.padValue-g)*E,[T,R,P]=y,U=Math.ceil(c),O=Math.ceil(p),_=Math.min(i,Math.floor(c+n*l))-1,h=Math.min(u,Math.floor(p+s*d))-1;for(let C=0;C<u;C++){let z=C*i,F=C<O||C>h,B=Math.max(0,(C+.5-p)/d-.5),V=Math.min(s-1,Math.floor(B)),G=Math.min(s-1,V+1),X=B-V;for(let Y=0;Y<i;Y++){let N=z+Y;if(F||Y<U||Y>_){t[N]=f,t[b+N]=m,t[2*b+N]=w;continue}let K=Math.max(0,(Y+.5-c)/l-.5),H=Math.min(n-1,Math.floor(K)),se=Math.min(n-1,H+1),W=K-H,Z=(V*n+H)*4,te=(V*n+se)*4,oe=(G*n+H)*4,J=(G*n+se)*4,pe=(1-W)*(1-X),D=W*(1-X),$=(1-W)*X,Q=W*X;t[N]=(o[Z+T]*pe+o[te+T]*D+o[oe+T]*$+o[J+T]*Q-I)*S,t[b+N]=(o[Z+R]*pe+o[te+R]*D+o[oe+R]*$+o[J+R]*Q-L)*x,t[2*b+N]=(o[Z+P]*pe+o[te+P]*D+o[oe+P]*$+o[J+P]*Q-g)*E}}return{tensor:t,transform:a}}k();var Re=8;function et(r,e){let{sourceWidth:t,sourceHeight:n,transform:s}=e,o=e.classes?new Set(e.classes.map(g=>g.toLowerCase())):null,i=[];for(let g=0;g<r.count;g++){let S=r.dets[g*5+4];if(!(S>=e.confidence))continue;let x=Number(r.labels[g]),E=e.classNames[x]??`class_${x}`;if(o&&!o.has(E.toLowerCase()))continue;let f=ue(r.dets[g*5],r.dets[g*5+1],s),m=ue(r.dets[g*5+2],r.dets[g*5+3],s),w=le(f.x,0,t),T=le(f.y,0,n),R=le(m.x,0,t)-w,P=le(m.y,0,n)-T;R<=0||P<=0||i.push({index:g,detection:{category:E,score:S,boundingBox:{originX:w,originY:T,width:R,height:P,normalizedX:w/t,normalizedY:T/n,normalizedWidth:R/t,normalizedHeight:P/n}}})}i.sort((g,S)=>S.detection.score-g.detection.score);let u=i.map(g=>g.detection),a=[];if(!r.masks&&!r.maskPlane)return{detections:u,masks:a};let l=e.maskThreshold??.5,d=e.featherRadius??.05,c=r.maskLogits?Yn(l,d):Ie(l,d),{maskWidth:p,maskHeight:b}=r,y=p*b,I=p/s.inputWidth,L=b/s.inputHeight;for(let g=0;g<i.length;g++){let{index:S,detection:x}=i[g],E=x.boundingBox,f=r.maskPlane?r.maskPlane(S):r.masks,m=r.maskPlane?0:S*y,w=Math.max(0,Math.floor(E.originX)-Re),T=Math.max(0,Math.floor(E.originY)-Re),R=Math.min(t-1,Math.ceil(E.originX+E.width)+Re),P=Math.min(n-1,Math.ceil(E.originY+E.height)+Re),U=new Uint8Array(t*n),O=0;for(let _=T;_<=P;_++){let h=((_+.5)*s.scaleY+s.offsetY)*L-.5,C=le(Math.floor(h),0,b-1),z=Math.min(b-1,C+1),F=le(h-C,0,1),B=_*t;for(let V=w;V<=R;V++){let G=((V+.5)*s.scaleX+s.offsetX)*I-.5,X=le(Math.floor(G),0,p-1),Y=Math.min(p-1,X+1),N=le(G-X,0,1),K=f[m+C*p+X]*(1-N)*(1-F)+f[m+C*p+Y]*N*(1-F)+f[m+z*p+X]*(1-N)*F+f[m+z*p+Y]*N*F,H=c(K);H>0&&(U[B+V]=H,O+=H/255)}}O=Math.round(O),O!==0&&a.push({category:x.category,mask:U,width:t,height:n,area:O,coverage:O/(t*n),detectionIndex:g})}return{detections:u,masks:a}}function Ie(r,e){if(e<=0)return s=>s>r?255:0;let t=r-e,n=255/(2*e);return s=>s<=t?0:s>=r+e?255:(s-t)*n}function Yn(r,e){let t=Ie(r,e),n=i=>i<=0?-1/0:i>=1?1/0:Math.log(i/(1-i));if(e<=0){let i=n(r);return u=>u>i?255:0}let s=n(r-e),o=n(r+e);return i=>i<=s?0:i>=o?255:t(1/(1+Math.exp(-i)))}function le(r,e,t){return r<e?e:r>t?t:r}k();var Yt=17,tt=.3;function Xt(r,e){let{sourceWidth:t,sourceHeight:n,transform:s}=e,o=r.keypointStride,i=[];for(let l=0;l<r.count;l++){let d=r.dets[l*5+4];if(!(d>=e.confidence))continue;let c=ue(r.dets[l*5],r.dets[l*5+1],s),p=ue(r.dets[l*5+2],r.dets[l*5+3],s),b=me(c.x,0,t),y=me(c.y,0,n),I=me(p.x,0,t)-b,L=me(p.y,0,n)-y;if(I<=0||L<=0)continue;let g=[],S=l*Yt*o;for(let E=0;E<Yt;E++){let f=S+E*o,m=ue(r.keypoints[f],r.keypoints[f+1],s);g.push({x:me(m.x,0,t),y:me(m.y,0,n),visibility:me(r.keypoints[f+2],0,1)})}let x=0;for(let E of g)E.visibility>=tt&&x++;x<(e.minVisibleKeypoints??3)||i.push({score:d,boundingBox:{originX:b,originY:y,width:I,height:L,normalizedX:b/t,normalizedY:y/n,normalizedWidth:I/t,normalizedHeight:L/n},keypoints:g})}i.sort((l,d)=>d.score-l.score);let u=e.iouThreshold??.6,a=[];for(let l of i)a.some(d=>Xn(d,l,u))||a.push(l);return{people:a}}function me(r,e,t){return r<e?e:r>t?t:r}function Xn(r,e,t){if(de(r.boundingBox,e.boundingBox)>t)return!0;let n=Math.sqrt(r.boundingBox.width*r.boundingBox.height),s=0,o=0;for(let i=0;i<r.keypoints.length;i++){let u=r.keypoints[i],a=e.keypoints[i];u.visibility<tt||a.visibility<tt||(s+=Math.hypot(u.x-a.x,u.y-a.y),o++)}return o>=3&&s/o<.1*n}k();function Wt(r,e,t,n){let{sourceWidth:s,sourceHeight:o}=n,i=Ie(n.maskThreshold??.5,n.featherRadius??.2),u=new Uint8Array(s*o),a=e/s,l=t/o,d=0;for(let c=0;c<o;c++){let p=Math.max(0,(c+.5)*l-.5),b=Math.min(t-1,Math.floor(p)),y=Math.min(t-1,b+1),I=p-b;for(let L=0;L<s;L++){let g=Math.max(0,(L+.5)*a-.5),S=Math.min(e-1,Math.floor(g)),x=Math.min(e-1,S+1),E=g-S,f=r[b*e+S]*(1-E)*(1-I)+r[b*e+x]*E*(1-I)+r[y*e+S]*(1-E)*I+r[y*e+x]*E*I,m=i(f);u[c*s+L]=m,d+=m}}return{mask:u,width:s,height:o,coverage:s*o>0?d/(255*s*o):0}}k();var Wn=`
|
|
2
|
-
struct Params {
|
|
3
|
-
src: vec2u,
|
|
4
|
-
dst: vec2u,
|
|
5
|
-
scale: vec2f,
|
|
6
|
-
offset: vec2f,
|
|
7
|
-
lo: vec2i,
|
|
8
|
-
hi: vec2i,
|
|
9
|
-
mean: vec4f,
|
|
10
|
-
invStd: vec4f,
|
|
11
|
-
pad: vec4f,
|
|
12
|
-
order: vec4u,
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
@group(0) @binding(0) var<uniform> p: Params;
|
|
16
|
-
@group(0) @binding(1) var src: texture_2d<f32>;
|
|
17
|
-
@group(0) @binding(2) var<storage, read_write> dst: array<f32>;
|
|
18
|
-
|
|
19
|
-
@compute @workgroup_size(16, 16)
|
|
20
|
-
fn main(@builtin(global_invocation_id) id: vec3u) {
|
|
21
|
-
if (id.x >= p.dst.x || id.y >= p.dst.y) { return; }
|
|
22
|
-
let x = i32(id.x);
|
|
23
|
-
let y = i32(id.y);
|
|
24
|
-
let plane = p.dst.x * p.dst.y;
|
|
25
|
-
let o = id.y * p.dst.x + id.x;
|
|
26
|
-
var v = p.pad.xyz;
|
|
27
|
-
if (x >= p.lo.x && x <= p.hi.x && y >= p.lo.y && y <= p.hi.y) {
|
|
28
|
-
let maxX = i32(p.src.x) - 1;
|
|
29
|
-
let maxY = i32(p.src.y) - 1;
|
|
30
|
-
let sy = max(0.0, (f32(y) + 0.5 - p.offset.y) / p.scale.y - 0.5);
|
|
31
|
-
let iy0 = min(maxY, i32(floor(sy)));
|
|
32
|
-
let iy1 = min(maxY, iy0 + 1);
|
|
33
|
-
let fy = sy - f32(iy0);
|
|
34
|
-
let sx = max(0.0, (f32(x) + 0.5 - p.offset.x) / p.scale.x - 0.5);
|
|
35
|
-
let ix0 = min(maxX, i32(floor(sx)));
|
|
36
|
-
let ix1 = min(maxX, ix0 + 1);
|
|
37
|
-
let fx = sx - f32(ix0);
|
|
38
|
-
var rgba =
|
|
39
|
-
textureLoad(src, vec2i(ix0, iy0), 0) * ((1.0 - fx) * (1.0 - fy)) +
|
|
40
|
-
textureLoad(src, vec2i(ix1, iy0), 0) * (fx * (1.0 - fy)) +
|
|
41
|
-
textureLoad(src, vec2i(ix0, iy1), 0) * ((1.0 - fx) * fy) +
|
|
42
|
-
textureLoad(src, vec2i(ix1, iy1), 0) * (fx * fy);
|
|
43
|
-
rgba = rgba * 255.0;
|
|
44
|
-
let s = vec3f(rgba[p.order.x], rgba[p.order.y], rgba[p.order.z]);
|
|
45
|
-
v = (s - p.mean.xyz) * p.invStd.xyz;
|
|
46
|
-
}
|
|
47
|
-
dst[o] = v.x;
|
|
48
|
-
dst[plane + o] = v.y;
|
|
49
|
-
dst[2u * plane + o] = v.z;
|
|
50
|
-
}
|
|
51
|
-
`,$n=`
|
|
52
|
-
@group(0) @binding(0) var src: texture_2d<f32>;
|
|
53
|
-
@group(0) @binding(1) var<storage, read_write> acc: array<atomic<u32>, 2>;
|
|
54
|
-
|
|
55
|
-
var<workgroup> local: array<atomic<u32>, 2>;
|
|
56
|
-
|
|
57
|
-
@compute @workgroup_size(16, 16)
|
|
58
|
-
fn main(
|
|
59
|
-
@builtin(global_invocation_id) id: vec3u,
|
|
60
|
-
@builtin(local_invocation_index) li: u32,
|
|
61
|
-
) {
|
|
62
|
-
let dim = textureDimensions(src);
|
|
63
|
-
if (id.x < dim.x && id.y < dim.y) {
|
|
64
|
-
let c = pack4x8unorm(textureLoad(src, vec2i(id.xy), 0));
|
|
65
|
-
let i = id.y * dim.x + id.x;
|
|
66
|
-
let a = (c ^ (i * 0x9e3779b9u)) * 0x85ebca6bu;
|
|
67
|
-
let b = (c + i * 0xc2b2ae35u) * 0x27d4eb2fu;
|
|
68
|
-
atomicAdd(&local[0], a ^ (a >> 15u));
|
|
69
|
-
atomicAdd(&local[1], b ^ (b >> 13u));
|
|
70
|
-
}
|
|
71
|
-
workgroupBarrier();
|
|
72
|
-
if (li == 0u) {
|
|
73
|
-
atomicAdd(&acc[0], atomicLoad(&local[0]));
|
|
74
|
-
atomicAdd(&acc[1], atomicLoad(&local[1]));
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
`,$t=112,Kt=new WeakMap,xe=class r{constructor(e){this.device=e;this.tensorPipeline=e.createComputePipeline({label:"vision_frame_tensor",layout:"auto",compute:{module:e.createShaderModule({code:Wn}),entryPoint:"main"}}),this.hashPipeline=e.createComputePipeline({label:"vision_frame_hash",layout:"auto",compute:{module:e.createShaderModule({code:$n}),entryPoint:"main"}}),this.params=e.createBuffer({label:"vision_frame_tensor_params",size:$t,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})}device;tensorPipeline;hashPipeline;params;static for(e){let t=Kt.get(e);return t||(t=new r(e),Kt.set(e,t)),t}static tensorBytes(e){return 3*e.width*e.height*4}toTensor(e,t,n){let s=Qe(e.width,e.height,t),{scaleX:o,scaleY:i,offsetX:u,offsetY:a}=s,l=new ArrayBuffer($t),d=new Uint32Array(l),c=new Float32Array(l),p=new Int32Array(l);d.set([e.width,e.height,t.width,t.height],0),c.set([o,i,u,a],4),p.set([Math.ceil(u),Math.ceil(a),Math.min(t.width,Math.floor(u+e.width*o))-1,Math.min(t.height,Math.floor(a+e.height*i))-1],8);let b=t.std.map(L=>1/L);c.set([...t.mean,0],12),c.set([...b,0],16),c.set([0,1,2].map(L=>(t.padValue-t.mean[L])*b[L]),20),d.set(t.channels==="bgr"?[2,1,0,3]:[0,1,2,3],24),this.device.queue.writeBuffer(this.params,0,l);let y=this.device.createCommandEncoder({label:"vision_frame_tensor"}),I=y.beginComputePass();return I.setPipeline(this.tensorPipeline),I.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:n}}]})),I.dispatchWorkgroups(Math.ceil(t.width/16),Math.ceil(t.height/16)),I.end(),this.device.queue.submit([y.finish()]),s}async contentKey(e){let t=this.device.createBuffer({size:8,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC}),n=this.device.createBuffer({size:8,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),s=this.device.createCommandEncoder({label:"vision_frame_hash"}),o=s.beginComputePass();o.setPipeline(this.hashPipeline),o.setBindGroup(0,this.device.createBindGroup({layout:this.hashPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:e.texture.createView()},{binding:1,resource:{buffer:t}}]})),o.dispatchWorkgroups(Math.ceil(e.width/16),Math.ceil(e.height/16)),o.end(),s.copyBufferToBuffer(t,0,n,0,8),this.device.queue.submit([s.finish()]),await n.mapAsync(GPUMapMode.READ);let[i,u]=new Uint32Array(n.getMappedRange().slice(0));return n.unmap(),n.destroy(),t.destroy(),`${e.width}x${e.height}:gpu:${i.toString(36)}:${u.toString(36)}`}};async function Oe(r){let{device:e,texture:t,width:n,height:s}=r,o=n*4,i=Math.ceil(o/256)*256,u=e.createBuffer({size:i*s,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ,label:"vision_frame_readback"}),a=e.createCommandEncoder({label:"vision_frame_readback"});a.copyTextureToBuffer({texture:t},{buffer:u,bytesPerRow:i,rowsPerImage:s},[n,s,1]),e.queue.submit([a.finish()]),await u.mapAsync(GPUMapMode.READ);let l=new Uint8Array(u.getMappedRange()),d=new Uint8ClampedArray(n*s*4);for(let c=0;c<s;c++)d.set(l.subarray(c*i,c*i+o),c*o);if(u.unmap(),u.destroy(),t.format.startsWith("bgra"))for(let c=0;c<d.length;c+=4){let p=d[c];d[c]=d[c+2],d[c+2]=p}return{data:d,width:n,height:s}}k();k();k();var qt=`
|
|
78
|
-
struct Bone {
|
|
79
|
-
start: vec2<f32>,
|
|
80
|
-
end: vec2<f32>,
|
|
81
|
-
color: vec4<f32>,
|
|
82
|
-
radius: f32,
|
|
83
|
-
enabled: f32,
|
|
84
|
-
pad: vec2<f32>,
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
struct SkeletonParams {
|
|
88
|
-
width: u32,
|
|
89
|
-
height: u32,
|
|
90
|
-
numBones: u32,
|
|
91
|
-
pad: u32,
|
|
92
|
-
bones: array<Bone, 24>,
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
@group(0) @binding(0) var outputTex: texture_storage_2d<rgba8unorm, write>;
|
|
96
|
-
@group(0) @binding(1) var<uniform> params: SkeletonParams;
|
|
97
|
-
|
|
98
|
-
@compute @workgroup_size(16, 16)
|
|
99
|
-
fn computePoseSkeleton(@builtin(global_invocation_id) id: vec3<u32>) {
|
|
100
|
-
if (id.x >= params.width || id.y >= params.height) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
let p = vec2<f32>(f32(id.x) + 0.5, f32(id.y) + 0.5);
|
|
105
|
-
var outColor = vec4<f32>(0.0, 0.0, 0.0, 0.0);
|
|
106
|
-
|
|
107
|
-
let count = min(params.numBones, 24u);
|
|
108
|
-
for (var i = 0u; i < count; i = i + 1u) {
|
|
109
|
-
let bone = params.bones[i];
|
|
110
|
-
if (bone.enabled < 0.5) {
|
|
111
|
-
continue;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
let ab = bone.end - bone.start;
|
|
115
|
-
let ap = p - bone.start;
|
|
116
|
-
let l2 = dot(ab, ab);
|
|
117
|
-
|
|
118
|
-
var t: f32 = 0.0;
|
|
119
|
-
if (l2 > 0.0001) {
|
|
120
|
-
t = clamp(dot(ap, ab) / l2, 0.0, 1.0);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
let closest = bone.start + t * ab;
|
|
124
|
-
let dist = length(p - closest);
|
|
125
|
-
|
|
126
|
-
if (dist <= bone.radius) {
|
|
127
|
-
// Sub-pixel edge antialiasing
|
|
128
|
-
let edgeAlpha = clamp(bone.radius - dist + 0.5, 0.0, 1.0);
|
|
129
|
-
let a = edgeAlpha * bone.color.a;
|
|
130
|
-
outColor = vec4<f32>(mix(outColor.rgb, bone.color.rgb, a), max(outColor.a, a));
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
textureStore(outputTex, id.xy, outColor);
|
|
135
|
-
}
|
|
136
|
-
`;var Kn=[{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]}],Ce=class{constructor(e){this.device=e;let t=e.createShaderModule({label:"pose_skeleton.wgsl",code:qt});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={},n){let s=n??Kn,o=t.width??1024,i=t.height??1024,u=t.lineWidth??6,a=Math.max(1,u/2),l=1280,d=new ArrayBuffer(l),c=new Uint32Array(d),p=new Float32Array(d);c[0]=o,c[1]=i,c[2]=s.length,c[3]=0;let b=4;for(let g=0;g<s.length;g++){let S=s[g],x=e[S.from],E=e[S.to],f=b+g*12;if(!x||!E||(x.visibility??1)<.2||(E.visibility??1)<.2){p[f+9]=0;continue}p[f+0]=x.x*o,p[f+1]=x.y*i,p[f+2]=E.x*o,p[f+3]=E.y*i,p[f+4]=S.color[0],p[f+5]=S.color[1],p[f+6]=S.color[2],p[f+7]=S.color[3],p[f+8]=a,p[f+9]=1}this.device.queue.writeBuffer(this.uniformBuffer,0,d),(!this.cachedOutputTexture||this.cachedOutputTexture.width!==o||this.cachedOutputTexture.height!==i)&&(this.cachedOutputTexture?.destroy(),this.cachedOutputTexture=this.device.createTexture({label:"openpose_skeleton_texture",size:[o,i],format:"rgba8unorm",usage:GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC}));let y=this.device.createCommandEncoder({label:"pose_skeleton_command_encoder"}),I=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}}]}),L=y.beginComputePass({label:"pose_skeleton_compute_pass"});return L.setPipeline(this.computePipeline),L.setBindGroup(0,I),L.dispatchWorkgroups(Math.ceil(o/16),Math.ceil(i/16),1),L.end(),this.device.queue.submit([y.finish()]),this.cachedOutputTexture}destroy(){this.cachedOutputTexture?.destroy(),this.cachedOutputTexture=void 0,this.uniformBuffer.destroy()}};k();var v={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},nt=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"],Zt=[{from:v.NOSE,to:v.LEFT_SHOULDER,color:[0,1,1,1]},{from:v.NOSE,to:v.RIGHT_SHOULDER,color:[0,1,1,1]},{from:v.LEFT_SHOULDER,to:v.RIGHT_SHOULDER,color:[1,0,0,1]},{from:v.LEFT_SHOULDER,to:v.LEFT_ELBOW,color:[1,.333,0,1]},{from:v.LEFT_ELBOW,to:v.LEFT_WRIST,color:[1,.667,0,1]},{from:v.RIGHT_SHOULDER,to:v.RIGHT_ELBOW,color:[1,1,0,1]},{from:v.RIGHT_ELBOW,to:v.RIGHT_WRIST,color:[.667,1,0,1]},{from:v.LEFT_SHOULDER,to:v.LEFT_HIP,color:[.333,1,0,1]},{from:v.RIGHT_SHOULDER,to:v.RIGHT_HIP,color:[0,1,0,1]},{from:v.LEFT_HIP,to:v.RIGHT_HIP,color:[0,1,.333,1]},{from:v.LEFT_HIP,to:v.LEFT_KNEE,color:[0,1,.667,1]},{from:v.LEFT_KNEE,to:v.LEFT_ANKLE,color:[0,1,1,1]},{from:v.RIGHT_HIP,to:v.RIGHT_KNEE,color:[0,.667,1,1]},{from:v.RIGHT_KNEE,to:v.RIGHT_ANKLE,color:[0,.333,1,1]}];var Le=class{pipeline;constructor(e){this.pipeline=new Ce(e)}renderToTexture(e,t,n=Zt){return this.pipeline.execute(e,t,n)}destroy(){this.pipeline.destroy()}};k();var Jt=class{device;pool=new Map;constructor(e){this.device=e}getOrCreateTexture(e,t){let n=this.pool.get(e);if(n&&n.width===t.width&&n.height===t.height)return n;n&&n.destroy();let s=t.format??"rgba8unorm",o=this.device.createTexture({label:t.label??`vision_segmentation_${e}`,size:[t.width,t.height,1],format:s,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return this.pool.set(e,o),o}uploadMask(e,t,n,s){let o=t.length>=n*s*4,i=o?"rgba8unorm":"r8unorm",u=this.getOrCreateTexture(e,{width:n,height:s,format:i}),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 d=n*(o?4:1),c=Math.ceil(d/256)*256,p;if(c===d)p=a;else{p=new Uint8Array(c*s);for(let b=0;b<s;b++)p.set(a.subarray(b*d,(b+1)*d),b*c)}return this.device.queue.writeTexture({texture:u},p.buffer,{offset:p.byteOffset,bytesPerRow:c,rowsPerImage:s},{width:n,height:s}),u}destroy(){for(let e of this.pool.values())e.destroy();this.pool.clear()}};k();var Qt=Cn(Ln(),1);function qn(){return j.env.FRAMEFIELDS_MODELS_DIR?we(j.env.FRAMEFIELDS_MODELS_DIR):we(Pt(),".cache/framefields/models")}var Ee=class{_modelsDir;_baseUrl;_timeoutMs;_retries;_retryDelayMs;_verify;_fetch;_onProgress;_inflight=new Map;_buffers=new Map;_status=new Map;constructor(e={}){this._modelsDir=e.modelsDir?we(e.modelsDir):qn(),this._baseUrl=e.baseUrl??j.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}get modelsDir(){return this._modelsDir}pathFor(e){return vt(this._modelsDir,re[e].filename)}descriptor(e){return re[e]}urlFor(e){let t=re[e];return this._baseUrl?`${this._baseUrl.replace(/\/+$/,"")}/${t.filename}`:t.url}has(e){let t=this.pathFor(e);if(!Se(t))return!1;try{let n=kt(t).size;return this._verify?n===re[e].bytes:n>0}catch{return!1}}async evict(e){this._buffers.delete(e),this._status.set(e,"pending"),await Ne(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 n=this._inflight.get(e);if(n)return n;let s=this.load(e).finally(()=>this._inflight.delete(e));return this._inflight.set(e,s),s}async preload(e){await Promise.all([...new Set(e)].map(t=>this.ensure(t)))}async load(e){let t=this.pathFor(e);if(this.has(e))return this._status.set(e,"ready"),this.readBuffer(e,t);let n=this.urlFor(e);this._status.set(e,"downloading"),Se(ze(t))||Tt(ze(t),{recursive:!0});let s=`${t}.tmp.${Date.now()}`;try{let{buffer:o,totalBytes:i}=await this.download(e,n);if(o.byteLength===0)throw new Error(`Downloaded vision model '${e}' is empty (0 bytes).`);return this._verify&&this.verifyBytes(e,o,n),this._onProgress?.(e,o.byteLength,i||o.byteLength),await St(s,o),await wt(s,t),this._buffers.set(e,o),this._status.set(e,"ready"),o}catch(o){throw this._status.set(e,"error"),Se(s)&&await Ne(s).catch(()=>{}),o}}async download(e,t){for(let n=0;;n++){let s;try{let o=await this._fetch(t,{signal:this._timeoutMs?AbortSignal.timeout(this._timeoutMs):void 0});if(o.ok){let u=Number(o.headers.get("content-length")??0);return{buffer:new Uint8Array(await o.arrayBuffer()),totalBytes:u}}let i=new Error(`Failed to download vision model '${e}' from ${t}: HTTP ${o.status} ${o.statusText}`);if(o.status!==429&&o.status<500)throw i;s=i}catch(o){if(!(o instanceof TypeError))throw o;s=o}if(n>=this._retries)throw new Error(`Failed to download vision model '${e}' from ${t} after ${n+1} attempts: ${String(s)}`,{cause:s});await new Promise(o=>setTimeout(o,this._retryDelayMs*2**n))}}verifyBytes(e,t,n){let s=re[e];if(t.byteLength!==s.bytes)throw new Error(`Vision model '${e}' from ${n} is ${t.byteLength} bytes, expected ${s.bytes}.`);let o=(0,Qt.createHash)("sha256").update(t).digest("hex");if(o!==s.sha256)throw new Error(`Vision model '${e}' from ${n} failed its SHA-256 check (got ${o}, expected ${s.sha256}).`)}async readBuffer(e,t){let n=await _t(t),s=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);return this._buffers.set(e,s),s}clearMemoryCache(){this._buffers.clear()}};k();function en(){return{objects:[],rawDetections:[]}}function tn(){return{people:[]}}function nn(){let r=[];for(let e=0;e<17;e++)r.push({x:.5,y:.5,z:0,visibility:0});return r}k();k();var fe={scores:"/Sigmoid_output_0",boxes:"/Concat_7_output_0",kernels:"/Concat_5_output_0",maskFeatures:"/bbox_head/mask_head/projection/Conv_output_0"},rn=5e3,Zn=Math.fround(.6),on=Math.fround(.05),Jn=200,sn=100,Qn=[8,16,32],rt=8,an=8,cn=169;function ln(r){let{scores:e,boxes:t,anchors:n,classes:s}=r,o=new Float32Array(n);for(let d=0;d<n;d++){let c=0,p=d*s;for(let b=0;b<s;b++){let y=e[p+b];y>c&&(c=y)}o[d]=c}let i=[];for(let d=0;d<n;d++)o[d]>on&&i.push(d);i.sort((d,c)=>o[c]-o[d]||d-c),i.length>rn&&(i.length=rn);let u=[],a=[],l=[];for(let d=0;d<s;d++){a.length=0;for(let c of i)e[c*s+d]>on&&a.push(c);if(a.length!==0){a.sort((c,p)=>e[p*s+d]-e[c*s+d]||c-p),l.length=0;for(let c of a){if(l.length>=Jn)break;let p=!1;for(let b of l)if(er(t,c,b)>Zn){p=!0;break}p||(l.push(c),u.push({anchor:c,classIndex:d,score:e[c*s+d]}))}}}return u.sort((d,c)=>c.score-d.score),u.length>sn&&(u.length=sn),u}function er(r,e,t){let n=r[e*4],s=r[e*4+1],o=r[e*4+2],i=r[e*4+3],u=r[t*4],a=r[t*4+1],l=r[t*4+2],d=r[t*4+3],c=Math.min(o,l)-Math.max(n,u),p=Math.min(i,d)-Math.max(s,a);if(c<=0||p<=0)return 0;let b=c*p,y=(o-n)*(i-s)+(l-u)*(d-a)-b;return y>0?b/y:0}function tr(r,e,t){let n=0;for(let s of Qn){let o=Math.ceil(e/s),i=o*Math.ceil(t/s);if(r<n+i){let u=r-n;return{x:u%o*s,y:Math.floor(u/o)*s,stride:s}}n+=i}throw new RangeError(`anchor ${r} is out of range`)}function dn(r,e,t){let{kernels:n,maskFeatures:s,maskWidth:o,maskHeight:i}=r,u=o*i,a=t&&t.length>=u?t:new Float32Array(u),l=tr(e,r.inputWidth,r.inputHeight),d=n.subarray(e*cn,(e+1)*cn),c=0,p=80,b=144,y=152,I=160,L=168,g=1/(l.stride*rt),S=new Float32Array(2+an),x=new Float32Array(8),E=new Float32Array(8);for(let f=0;f<i;f++){let m=(l.y-f*rt)*g;for(let w=0;w<o;w++){let T=f*o+w;S[0]=(l.x-w*rt)*g,S[1]=m;for(let P=0;P<an;P++)S[2+P]=s[P*u+T];for(let P=0;P<8;P++){let U=d[y+P],O=c+P*10;for(let _=0;_<10;_++)U+=d[O+_]*S[_];x[P]=U>0?U:0}for(let P=0;P<8;P++){let U=d[I+P],O=p+P*8;for(let _=0;_<8;_++)U+=d[O+_]*x[_];E[P]=U>0?U:0}let R=d[L];for(let P=0;P<8;P++)R+=d[b+P]*E[P];a[T]=R}}return a}k();function cr(r){let e=new Uint8Array([8,1]),t=be(1,e);return Pe([be(1,Mt.encode(r)),be(2,t)])}function pn(r,e){let t=Ye(r),n=t.find(y=>y.number===7&&y.wire===2);if(!n)throw new Error("ONNX model has no graph");let s=Ye(n.body),o=s.filter(y=>y.number===1).map(y=>({field:y,inputs:Xe(y.body,1),outputs:Xe(y.body,2)})),i=new Map;o.forEach((y,I)=>{for(let L of y.outputs)i.set(L,I)});let u=new Set,a=new Set,l=[...e];for(let y of e)if(!i.has(y))throw new Error(`ONNX model has no tensor '${y}'`);for(;l.length>0;){let y=l.pop();if(a.has(y))continue;a.add(y);let I=i.get(y);if(!(I===void 0||u.has(I))){u.add(I);for(let L of o[I].inputs)L&&l.push(L)}}let d=new Map;for(let y of s){if(y.number!==13)continue;let I=ve(y.body,1);I!==void 0&&d.set(I,y.body)}let c=[],p=0;for(let y of s)switch(y.number){case 1:u.has(p)&&c.push(y.raw),p++;break;case 5:{let I=ve(y.body,8);I!==void 0&&a.has(I)&&c.push(y.raw);break}case 11:case 13:{let I=ve(y.body,1);I!==void 0&&a.has(I)&&c.push(y.raw);break}case 12:break;default:c.push(y.raw)}for(let y of e)c.push(be(12,d.get(y)??cr(y)));let b=Pe(c);return Pe(t.map(y=>y===n?be(7,b):y.raw))}k();function st(r){return r.texture!==void 0}var lr=4,ke=class r{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 Ee({modelsDir:e.modelsDir,baseUrl:e.baseUrl,timeoutMs:e.timeoutMs,onProgress:e.onProgress}),provider:e.provider??It(),sessions:new Map,tensorScratch:new Map,runQueue:new Map,gpuInputs:new Map,instancePasses:[]}}static create(e={}){return new r(e)}derive(e){return new r({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(re))e.set(t,"pending");for(let[t,n]of this._core.store.statuses())e.set(t,n);return e}modelKeyFor(e,t=1){return Gt(e,this.variant,t)}async preload(e=["detect"]){let t=new Set;for(let n of e)n==="matte"?(t.add("selfie-square"),t.add("selfie-landscape")):t.add(this.modelKeyFor(n));await this._core.store.preload([...t]),await Promise.all([...t].map(n=>this.session(n)))}async detect(e){let t=await this.instancePass(e);return et({...t.outputs,masks:void 0,maskPlane:void 0},this.instanceDecodeOptions(e,t.transform)).detections}async segment(e){let t=await this.instancePass(e);return et(t.outputs,this.instanceDecodeOptions(e,t.transform))}async pose(e){let t=this.modelKeyFor("pose"),{outputs:n,transform:s}=await this.infer(t,e),o=ae(n,"dets",t),i=ae(n,"keypoints",t);return Xt({dets:o.data,keypoints:i.data,count:o.dims[1]??0,keypointStride:i.dims[3]??3},{confidence:this.confidence,transform:s,sourceWidth:e.width,sourceHeight:e.height})}async matte(e){let t=this.modelKeyFor("matte",e.width/e.height),[n,s]=re[t].input,{outputs:o}=await this.infer(t,e),i=ae(o,"alphas",t);return Wt(i.data,n,s,{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(n=>n.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,n=st(e)?await xe.for(e.device).contentKey(e):hr(e),s=t.find(a=>a.content===n);if(s)return s.result;let o=this.modelKeyFor("segment"),i=this.infer(o,e).then(({outputs:a,transform:l})=>({transform:l,outputs:fe.scores in a?fr(a,o,l):mr(a,o)})),u={content:n,result:i};return t.push(u),t.length>lr&&t.shift(),i.catch(()=>{let a=t.indexOf(u);a>=0&&t.splice(a,1)}),i}instanceDecodeOptions(e,t){return{confidence:this.confidence,classes:this.classes,classNames:Me,transform:t,sourceWidth:e.width,sourceHeight:e.height,maskThreshold:this.maskThreshold,...this.featherRadius!==void 0?{featherRadius:this.featherRadius}:{}}}infer(e,t){let n=this._core.runQueue,o=(n.get(e)??Promise.resolve()).then(()=>this.inferNow(e,t),()=>this.inferNow(e,t)),i=o.catch(()=>{});return n.set(e,i),i.then(()=>{n.get(e)===i&&n.delete(e)}),o}async inferNow(e,t){let n=await this.session(e),s=re[e],o=Nt(s.family,s.input),i=[1,3,o.height,o.width],u;if(st(t)){if(this._core.provider.device===t.device){let y=this.gpuInput(e,t.device,o),I=xe.for(t.device).toTensor(t,o,y);return{outputs:await n.run({name:"input",data:dr,gpuBuffer:y,dims:i}),transform:I}}u=await Oe(t)}else u=t;let a=3*o.width*o.height,l=this._core.tensorScratch,d=l.get(e);(!d||d.length<a)&&(d=new Float32Array(a),l.set(e,d));let{tensor:c,transform:p}=zt(u,o,d);return{outputs:await n.run({name:"input",data:c,dims:i}),transform:p}}gpuInput(e,t,n){let s=this._core.gpuInputs,o=xe.tensorBytes(n),i=s.get(e);if(i?.device===t&&i.buffer.size>=o)return i.buffer;i?.buffer.destroy();let u=t.createBuffer({label:`vision_input_${e}`,size:o,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC});return s.set(e,{device:t,buffer:u}),u}session(e){let{sessions:t,store:n,provider:s}=this._core,o=t.get(e);return o||(o=n.ensure(e).then(i=>s.createSession(re[e].family==="rtmdet-ins"?ur(i):i)).catch(i=>{throw t.delete(e),n.evict(e),i}),t.set(e,o)),o}},dr=new Float32Array(0);function ur(r){try{return pn(r,Object.values(fe))}catch{return r}}function mr(r,e){let t=ae(r,"dets",e),n=ae(r,"masks",e);return{dets:t.data,labels:ae(r,"labels",e).data,masks:n.data,count:t.dims[1]??0,maskHeight:n.dims[n.dims.length-2]??0,maskWidth:n.dims[n.dims.length-1]??0}}function fr(r,e,t){let n=ae(r,fe.scores,e),s=ae(r,fe.maskFeatures,e),o={scores:n.data,boxes:ae(r,fe.boxes,e).data,kernels:ae(r,fe.kernels,e).data,maskFeatures:s.data,anchors:n.dims[1]??0,classes:n.dims[2]??0,maskHeight:s.dims[2]??0,maskWidth:s.dims[3]??0,inputWidth:t.inputWidth,inputHeight:t.inputHeight},i=ln(o),u=new Float32Array(i.length*5),a=new Int32Array(i.length);i.forEach(({anchor:d,classIndex:c,score:p},b)=>{u.set(o.boxes.subarray(d*4,d*4+4),b*5),u[b*5+4]=p,a[b]=c});let l=new Map;return{dets:u,labels:a,count:i.length,maskWidth:o.maskWidth,maskHeight:o.maskHeight,maskLogits:!0,maskPlane:d=>{let c=l.get(d);return c||(c=dn(o,i[d].anchor),l.set(d,c)),c}}}function hr(r){let{data:e}=r,t=e.byteOffset%4===0?e.byteLength>>>2:0,n=new Uint32Array(e.buffer,e.byteOffset,t),s=2166136261,o=16777619^e.byteLength;for(let i=0;i<t;i++){let u=n[i];s=Math.imul(s^u,2654435761),o=Math.imul(o^u,2246822519)^s>>>15}for(let i=t*4;i<e.length;i++)s=Math.imul(s^e[i],2654435761);return`${r.width}x${r.height}:${(s>>>0).toString(36)}:${(o>>>0).toString(36)}`}function ae(r,e,t){let n=r[e];if(!n)throw new Error(`Vision model '${t}' returned no '${e}' output (got: ${Object.keys(r).join(", ")||"none"}). Expected the ${re[t].source}.`);return n}k();var gn=Symbol.for("framefields.vision.clipSubject");k();function it(r,e){let t=e&&new Set(e.map(s=>s.toLowerCase())),n;for(let s of r){if(t&&!t.has(s.category.toLowerCase()))continue;if(!n){n=s;continue}let o=bn(s),i=bn(n);o!==i?o&&(n=s):(o?s.area>n.area:s.detectionIndex<n.detectionIndex)&&(n=s)}return n}function bn(r){return r.category.toLowerCase()==="person"}function Ae(r){let{mask:e,width:t,height:n}=r,s=t,o=n,i=-1,u=-1;for(let a=0;a<n;a++){let l=a*t;for(let d=0;d<t;d++)e[l+d]!==0&&(d<s&&(s=d),d>i&&(i=d),a<o&&(o=a),a>u&&(u=a))}return i<0?null:{x0:s,y0:o,x1:i,y1:u}}function yn(r,e={}){let{classes:t,overlap:n=.5,maxGrowth:s=2}=e,o=it(r,t);if(!o)return;let i=Ae(o);if(!i)return o;let u=je(i),a=r.filter(c=>{if(c===o)return!1;let p=Ae(c);return p!==null&&je(p)<=u*s&&pr(i,p)>=n});if(a.length===0)return o;let l=o.mask.slice();for(let c of a){let p=c.mask;for(let b=0;b<l.length;b++)p[b]>l[b]&&(l[b]=p[b])}let d=0;for(let c=0;c<l.length;c++)d+=l[c];return d=Math.round(d/255),{...o,mask:l,area:d,coverage:d/(o.width*o.height)}}function je(r){return(r.x1-r.x0+1)*(r.y1-r.y0+1)}function pr(r,e){let t=Math.min(r.x1,e.x1)-Math.max(r.x0,e.x0)+1,n=Math.min(r.y1,e.y1)-Math.max(r.y0,e.y0)+1;return t<=0||n<=0?0:t*n/Math.min(je(r),je(e))}k();k();var Ve=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 n=e.x*this.width,s=e.y*this.height,o=e.z*this.width+t,i=Math.min(o,this.focalDistance-10),u=this.focalDistance/(this.focalDistance-i);return{x:n,y:s,z:o,scale:Math.max(.1,u)}}projectWorldLandmark(e,t=2,n=800){let s=this.width/2,o=this.height/2,i=e.x*n,u=e.y*n,a=(e.z+t)*n,l=Math.min(a,this.focalDistance-10),d=this.focalDistance/(this.focalDistance-l);return{x:s+i*d,y:o+u*d,z:a,scale:Math.max(.1,d)}}};k();function at(r){if(r.boundingBox&&r.boundingBox.width>0&&r.boundingBox.height>0)return{originX:r.boundingBox.originX,originY:r.boundingBox.originY,width:r.boundingBox.width,height:r.boundingBox.height};let e=1/0,t=1/0,n=-1/0,s=-1/0,o=0;for(let i of r.keypoints)i.visibility>.1&&(o++,i.x<e&&(e=i.x),i.y<t&&(t=i.y),i.x>n&&(n=i.x),i.y>s&&(s=i.y));return o===0||e>=n||t>=s?{originX:r.boundingBox?.originX??0,originY:r.boundingBox?.originY??0,width:r.boundingBox?.width??0,height:r.boundingBox?.height??0}:{originX:e,originY:t,width:n-e,height:s-t}}function xn(r,e,t=.15){if(r.length===0)return[];let n=e.filter(a=>a.category.toLowerCase()==="person"&&a.active);if(n.length===0)return[...r];let s=[];for(let a=0;a<r.length;a++){let l=r[a];if(l.trackId!==void 0)continue;let d=at(l),c=d.width<=1.05&&d.height<=1.05;for(let p of n){let b=c&&p.boundingBox.normalizedWidth>0?{originX:p.boundingBox.normalizedX,originY:p.boundingBox.normalizedY,width:p.boundingBox.normalizedWidth,height:p.boundingBox.normalizedHeight}:p.boundingBox,y=de(d,b);y>=t&&s.push({personIdx:a,trackId:p.trackId,iou:y})}}s.sort((a,l)=>l.iou-a.iou);let o=new Set,i=new Set,u=new Map;for(let a of s)o.has(a.personIdx)||i.has(a.trackId)||(o.add(a.personIdx),i.add(a.trackId),u.set(a.personIdx,a.trackId));return r.length===1&&n.length===1&&!u.has(0)&&r[0].trackId===void 0&&u.set(0,n[0].trackId),r.map((a,l)=>{if(a.trackId!==void 0)return a;let d=u.get(l);return d!==void 0?{...a,trackId:d}:a})}var Ue=class{objects;poseLandmarks;masks;segmentation;classes;poseLandmarksTensor;objectsTensor;masksTensor;histogramTensor;_totalFrames;_fps;_width;_height;_transformer;_stencilTexture;_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._totalFrames=e.totalFrames??120,this._fps=e.fps??24,this._width=e.width??1920,this._height=e.height??1080,this._transformer=new Ve({width:this._width,height:this._height,fov:e.cameraFov??60});let t=this,n=(f,m)=>{let w=bt(f,m);return this._registeredSignals.add(w),w},s=f=>this.getPoseResult(f).people[0]?.keypoints??nn(),o=(f,m)=>{let w=_=>s(_)[f]??{x:.5,y:.5,z:0},T=n(_=>w(_.frame).x,{fps:this._fps,label:`${m}_x`}),R=n(_=>w(_.frame).y,{fps:this._fps,label:`${m}_y`}),P=n(_=>w(_.frame).z??0,{fps:this._fps,label:`${m}_z`}),U=n(_=>this._transformer.projectNormalizedLandmark(w(_.frame)).x,{fps:this._fps,label:`${m}_screenX`}),O=n(_=>this._transformer.projectNormalizedLandmark(w(_.frame)).y,{fps:this._fps,label:`${m}_screenY`});return{x:T,y:R,z:P,screenX:U,screenY:O}},i=f=>{let m=this._poseLmCache.get(f);return m||(m=o(f,nt[f]??`kpt_${f}`),this._poseLmCache.set(f,m)),m},u={nose:i(v.NOSE),leftEye:i(v.LEFT_EYE),rightEye:i(v.RIGHT_EYE),leftEar:i(v.LEFT_EAR),rightEar:i(v.RIGHT_EAR),shoulder:i(v.LEFT_SHOULDER),leftShoulder:i(v.LEFT_SHOULDER),rightShoulder:i(v.RIGHT_SHOULDER),leftElbow:i(v.LEFT_ELBOW),rightElbow:i(v.RIGHT_ELBOW),leftWrist:i(v.LEFT_WRIST),rightWrist:i(v.RIGHT_WRIST),leftHip:i(v.LEFT_HIP),rightHip:i(v.RIGHT_HIP),leftKnee:i(v.LEFT_KNEE),rightKnee:i(v.RIGHT_KNEE),leftAnkle:i(v.LEFT_ANKLE),rightAnkle:i(v.RIGHT_ANKLE),get:i};this.poseLandmarks=new Proxy(u,{get(f,m,w){return typeof m=="string"&&/^\d+$/.test(m)?f.get(Number(m)):typeof m=="number"?f.get(m):Reflect.get(f,m,w)}});let a=(f,m="unknown")=>({trackId:f,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}),l=(f,m)=>{let w=n(O=>f(O.frame).sx,{fps:this._fps,label:`${m}_screenX`}),T=n(O=>f(O.frame).sy,{fps:this._fps,label:`${m}_screenY`}),R=n(O=>this._width>0?f(O.frame).sx/this._width:0,{fps:this._fps,label:`${m}_x`}),P=n(O=>this._height>0?f(O.frame).sy/this._height:0,{fps:this._fps,label:`${m}_y`}),U=n(()=>0,{fps:this._fps,label:`${m}_z`});return{x:R,y:P,z:U,screenX:w,screenY:T}},d=(f,m,w)=>{let T=F=>{let B=t.getPoseResult(F);if(B.people.length===0)return;let V=f(F),G=w??V.trackId,X=B.people.find(K=>K.trackId===G);if(X)return X;if(!V.active&&B.people.length>1)return;if(B.people.length===1)return B.people[0];let Y,N=.1;for(let K of B.people){let H=at(K),W=H.width<=1.05&&H.height<=1.05&&V.boundingBox.normalizedWidth>0?{originX:V.boundingBox.normalizedX,originY:V.boundingBox.normalizedY,width:V.boundingBox.normalizedWidth,height:V.boundingBox.normalizedHeight}:V.boundingBox,Z=de(H,W);Z>N&&(N=Z,Y=K)}return Y},R=n(F=>T(F.frame)?1:0,{fps:this._fps,label:`${m}_hasPose`}),P=(F,B)=>{let V=H=>{let W=T(H)?.keypoints[F];if(W&&W.visibility>.05)return{x:W.x,y:W.y,z:0};let Z=f(H);return{x:Z.normalizedCenterX,y:Z.normalizedCenterY,z:0}},G=n(H=>V(H.frame).x,{fps:this._fps,label:`${m}_${B}_x`}),X=n(H=>V(H.frame).y,{fps:this._fps,label:`${m}_${B}_y`}),Y=n(H=>V(H.frame).z??0,{fps:this._fps,label:`${m}_${B}_z`}),N=n(H=>t._transformer.projectNormalizedLandmark(V(H.frame)).x,{fps:this._fps,label:`${m}_${B}_screenX`}),K=n(H=>t._transformer.projectNormalizedLandmark(V(H.frame)).y,{fps:this._fps,label:`${m}_${B}_screenY`});return{x:G,y:X,z:Y,screenX:N,screenY:K}},U=new Map,O=F=>{let B=U.get(F);return B||(B=P(F,nt[F]??`kpt_${F}`),U.set(F,B)),B},_=n(F=>{let B=F.frame,V=T(B);if(!V)return 0;let G=T(Math.max(0,B-1)),X=V.keypoints,Y=G?.keypoints,N=X[v.RIGHT_WRIST],K=Y?.[v.RIGHT_WRIST],H=0;if(N&&K&&N.visibility>.1&&K.visibility>.1){let te=(N.x-K.x)*this._width,oe=(N.y-K.y)*this._height;H=Math.sqrt(te*te+oe*oe)*this._fps}let se=X[v.LEFT_WRIST],W=Y?.[v.LEFT_WRIST],Z=0;if(se&&W&&se.visibility>.1&&W.visibility>.1){let te=(se.x-W.x)*this._width,oe=(se.y-W.y)*this._height;Z=Math.sqrt(te*te+oe*oe)*this._fps}return Math.max(H,Z)},{fps:this._fps,label:`${m}_wristSpeed`}),h=n(F=>{let B=T(F.frame);if(!B)return 0;let V=B.keypoints,G=V[v.LEFT_WRIST],X=V[v.LEFT_SHOULDER],Y=V[v.RIGHT_WRIST],N=V[v.RIGHT_SHOULDER],K=G&&X&&G.visibility>.1&&X.visibility>.1&&G.y<X.y,H=Y&&N&&Y.visibility>.1&&N.visibility>.1&&Y.y<N.y;return K||H?1:0},{fps:this._fps,label:`${m}_handRaised`}),C=n(F=>{let B=T(F.frame);if(!B)return 0;let V=B.keypoints,G=V[v.LEFT_SHOULDER],X=V[v.RIGHT_SHOULDER],Y=V[v.LEFT_HIP],N=V[v.RIGHT_HIP];if(!G||!X||!Y||!N)return 0;let K=(G.x+X.x)/2*this._width,H=(G.y+X.y)/2*this._height,se=(Y.x+N.x)/2*this._width,W=(Y.y+N.y)/2*this._height,Z=K-se,te=H-W;return Z===0&&te===0?0:Math.atan2(Z,-te)},{fps:this._fps,label:`${m}_bodyTiltAngle`}),z={hasPose:R,wristSpeed:_,handRaised:h,bodyTiltAngle:C,nose:O(v.NOSE),leftEye:O(v.LEFT_EYE),rightEye:O(v.RIGHT_EYE),leftEar:O(v.LEFT_EAR),rightEar:O(v.RIGHT_EAR),shoulder:O(v.LEFT_SHOULDER),leftShoulder:O(v.LEFT_SHOULDER),rightShoulder:O(v.RIGHT_SHOULDER),leftElbow:O(v.LEFT_ELBOW),rightElbow:O(v.RIGHT_ELBOW),leftWrist:O(v.LEFT_WRIST),rightWrist:O(v.RIGHT_WRIST),leftHip:O(v.LEFT_HIP),rightHip:O(v.RIGHT_HIP),leftKnee:O(v.LEFT_KNEE),rightKnee:O(v.RIGHT_KNEE),leftAnkle:O(v.LEFT_ANKLE),rightAnkle:O(v.RIGHT_ANKLE),get:O};return new Proxy(z,{get(F,B,V){return typeof B=="string"&&/^\d+$/.test(B)?F.get(Number(B)):typeof B=="number"?F.get(B):Reflect.get(F,B,V)}})},c=(f,m,w,T)=>{let R=h=>f(h).boundingBox,P=d(f,`${m}_pose`,T),U=(h,C,z)=>l(F=>({sx:C(R(F)),sy:z(R(F))}),`${m}_${h}`),O=U("center",h=>h.originX+h.width/2,h=>h.originY+h.height/2),_=n(h=>f(h.frame).speed,{fps:this._fps,label:`${m}_speed`});return{get trackId(){return T??f(0).trackId},get category(){return w??f(0).category},bounds:{x:n(h=>R(h.frame).normalizedX,{fps:this._fps,label:`${m}_normX`}),y:n(h=>R(h.frame).normalizedY,{fps:this._fps,label:`${m}_normY`}),width:n(h=>R(h.frame).normalizedWidth,{fps:this._fps,label:`${m}_normWidth`}),height:n(h=>R(h.frame).normalizedHeight,{fps:this._fps,label:`${m}_normHeight`}),screenX:n(h=>R(h.frame).originX,{fps:this._fps,label:`${m}_screenX`}),screenY:n(h=>R(h.frame).originY,{fps:this._fps,label:`${m}_screenY`}),screenWidth:n(h=>R(h.frame).width,{fps:this._fps,label:`${m}_screenWidth`}),screenHeight:n(h=>R(h.frame).height,{fps:this._fps,label:`${m}_screenHeight`}),aspectRatio:n(h=>{let C=R(h.frame);return C.height>0?C.width/C.height:1},{fps:this._fps,label:`${m}_aspectRatio`}),area:n(h=>{let C=R(h.frame);return C.width*C.height},{fps:this._fps,label:`${m}_area`})},anchors:{topLeft:U("topLeft",h=>h.originX,h=>h.originY),topCenter:U("topCenter",h=>h.originX+h.width/2,h=>h.originY),topRight:U("topRight",h=>h.originX+h.width,h=>h.originY),centerLeft:U("centerLeft",h=>h.originX,h=>h.originY+h.height/2),center:O,centerRight:U("centerRight",h=>h.originX+h.width,h=>h.originY+h.height/2),bottomLeft:U("bottomLeft",h=>h.originX,h=>h.originY+h.height),bottomCenter:U("bottomCenter",h=>h.originX+h.width/2,h=>h.originY+h.height),bottomRight:U("bottomRight",h=>h.originX+h.width,h=>h.originY+h.height)},kinematics:{vx:n(h=>f(h.frame).velocity.vx,{fps:this._fps,label:`${m}_vx`}),vy:n(h=>f(h.frame).velocity.vy,{fps:this._fps,label:`${m}_vy`}),speed:_,acceleration:_.velocity(1),headingRad:n(h=>{let C=f(h.frame).velocity;return Math.atan2(C.vy,C.vx)},{fps:this._fps,label:`${m}_headingRad`}),headingDeg:n(h=>{let C=f(h.frame).velocity;return Math.atan2(C.vy,C.vx)*180/Math.PI},{fps:this._fps,label:`${m}_headingDeg`})},confidence:n(h=>f(h.frame).score,{fps:this._fps,label:`${m}_score`}),active:n(h=>f(h.frame).active?1:0,{fps:this._fps,label:`${m}_active`}),isCoasting:n(h=>f(h.frame).isCoasting?1:0,{fps:this._fps,label:`${m}_isCoasting`}),age:n(h=>f(h.frame).age,{fps:this._fps,label:`${m}_age`}),pose:P,center:O,topCenter:this.__pending,bottomCenter:O,topLeft:O,bottomLeft:O}},p=(f,m,w,T)=>{let R=c(f,m,w,T),P=R.anchors;return Object.assign(R,{topCenter:P.topCenter,bottomCenter:P.bottomCenter,topLeft:P.topLeft,bottomLeft:P.bottomLeft}),R},b=f=>{let m=this._trackCache.get(f);return m||(m=p(w=>this.getObjectResult(w).objects.find(T=>T.trackId===f)??a(f),`track_${f}`,void 0,f),this._trackCache.set(f,m)),m},y=(f,m=0)=>{let w=`${f.toLowerCase()}_${m}`,T=this._categoryCache.get(w);return T||(T=p(R=>this.getObjectResult(R).objects.filter(O=>O.category.toLowerCase()===f.toLowerCase()&&O.active)[m]??a(0,f),`cat_${f}_${m}`,f),this._categoryCache.set(w,T)),T},I=p(f=>{let m=this.getObjectResult(f);if(m.objects.length===0)return a(0);let w=m.objects[0];for(let T=1;T<m.objects.length;T++)m.objects[T].score>w.score&&(w=m.objects[T]);return w},"primary_object"),L=f=>{let m=new Set;for(let w of this.getObjectResult(f).objects)w.active&&m.add(w.category);return Array.from(m).sort()},g=f=>{let m=f.toLowerCase(),w=this._classCache.get(m);return w||(w={count:n(T=>this.getObjectResult(T.frame).objects.filter(R=>R.active&&R.category.toLowerCase()===m).length,{fps:this._fps,label:`class_${m}_count`}),maxConfidence:n(T=>{let R=0;for(let P of this.getObjectResult(T.frame).objects)P.active&&P.category.toLowerCase()===m&&P.score>R&&(R=P.score);return R},{fps:this._fps,label:`class_${m}_maxConf`}),present:n(T=>this.getObjectResult(T.frame).objects.some(R=>R.active&&R.category.toLowerCase()===m)?1:0,{fps:this._fps,label:`class_${m}_present`}),primary:y(f)},this._classCache.set(m,w),w)};this.classes={get:g,get names(){return L(ne.value)},histogram:{get:f=>t.getClassHistogramTensor(f?.frame??ne.value),get value(){return t.getClassHistogramTensor(ne.value)}}},this.objects={get:b,byCategory:y,primary:I,count:n(f=>this.getObjectResult(f.frame).objects.filter(m=>m.active).length,{fps:this._fps,label:"tracked_objects_count"}),hasCategory:f=>g(f).present,getActiveTracks:f=>this.getObjectResult(f).objects.filter(m=>m.active),get detectedCategories(){return L(ne.value)}};let S=(f,m)=>this.getMaskResult(f).find(w=>w.trackId===m),x=f=>it(this.getMaskResult(f)),E=(f,m)=>{let w=T=>{let R=f(T);if(!(!R||R.trackId===void 0))return this.getObjectResult(T).objects.find(P=>P.trackId===R.trackId)};return{get trackId(){return f(ne.value)?.trackId??0},get category(){return f(ne.value)?.category??"unknown"},area:n(T=>f(T.frame)?.area??0,{fps:this._fps,label:`${m}_area`}),coverage:n(T=>f(T.frame)?.coverage??0,{fps:this._fps,label:`${m}_coverage`}),solidity:n(T=>{let R=f(T.frame),P=w(T.frame);if(!R||!P)return 0;let U=P.boundingBox.width*P.boundingBox.height;return U>0?R.area/U:0},{fps:this._fps,label:`${m}_solidity`}),bboxFill:n(T=>{let R=f(T.frame);if(!R||R.width*R.height===0)return 0;let P=w(T.frame);return P?P.boundingBox.width*P.boundingBox.height/(R.width*R.height):0},{fps:this._fps,label:`${m}_bboxFill`})}};this.masks={get:f=>{let m=this._maskTrackCache.get(f);return m||(m=E(w=>S(w,f),`mask_${f}`),this._maskTrackCache.set(f,m)),m},subject:E(x,"subject"),count:n(f=>new Set(this.getMaskResult(f.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:n(f=>t.getMatteResult(f.frame)?.coverage??0,{fps:this._fps,label:"matte_coverage"}),at:f=>t.getMatteResult(f)},get stencilTexture(){return t._stencilTexture}},this.poseLandmarksTensor={get:f=>t.getPoseLandmarksTensor(f?.frame??ne.value),get value(){return t.getPoseLandmarksTensor(ne.value)}},this.objectsTensor={get:f=>t.getObjectsTensor(f?.frame??ne.value),get value(){return t.getObjectsTensor(ne.value)}},this.masksTensor={get:f=>t.getMasksTensor(f?.frame??ne.value),get value(){return t.getMasksTensor(ne.value)}},this.histogramTensor={get:f=>t.getClassHistogramTensor(f?.frame??ne.value),get value(){return t.getClassHistogramTensor(ne.value)}}}setStencilTexture(e){this._stencilTexture=e}get stencilTexture(){return this._stencilTexture}latestAtOrBefore(e,t,n=8){let s=this.clamp(t),o=Math.max(0,s-n);for(let i=s;i>=o;i--){let u=e.get(i);if(u!==void 0)return u}}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)??tn()}setObjectResult(e,t){let n="objects"in t?t:{objects:t,rawDetections:[]};this._objectCache.set(this.clamp(e),{objects:n.objects,rawDetections:n.rawDetections??[]}),this.invalidateSignals()}getObjectResult(e){return this.latestAtOrBefore(this._objectCache,e)??en()}setMaskResult(e,t){this._maskCache.set(this.clamp(e),t),this.invalidateSignals()}getMaskResult(e){return this.latestAtOrBefore(this._maskCache,e)??[]}setMatteResult(e,t){this._matteCache.set(this.clamp(e),t),this.invalidateSignals()}getMatteResult(e){return this.latestAtOrBefore(this._matteCache,e)}summary(e=ne.value){let t=this.clamp(e),n=this.getObjectResult(t),s=n.objects.map(u=>({trackId:u.trackId,category:u.category,score:u.score,center:[u.centerX,u.centerY],speed:u.speed,active:u.active})),o=new Set;for(let u of n.objects)u.active&&o.add(u.category);let i={};for(let u of this.getMaskResult(t))i[u.category]=(i[u.category]??0)+1;return{frame:t,objects:s,classes:Array.from(o).sort(),masks:i}}getPoseLandmarksTensor(e){let n=this.getPoseResult(e).people[0]?.keypoints??[],s=new Float32Array(51);for(let o=0;o<17;o++)s[o*3]=n[o]?.x??.5,s[o*3+1]=n[o]?.y??.5,s[o*3+2]=n[o]?.visibility??0;return{data:s,shape:[17,3],dtype:"float32"}}getObjectsTensor(e,t=16){let n=this.getObjectResult(e),s=new Float32Array(t*8),o=Math.min(t,n.objects.length);for(let i=0;i<o;i++){let u=n.objects[i],a=i*8,l=0;for(let d=0;d<u.category.length;d++)l=l*31+u.category.charCodeAt(d)&65535;s[a]=u.active?1:0,s[a+1]=l,s[a+2]=u.centerX,s[a+3]=u.centerY,s[a+4]=u.boundingBox.width,s[a+5]=u.boundingBox.height,s[a+6]=u.velocity.vx,s[a+7]=u.velocity.vy}return{data:s,shape:[t,8],dtype:"float32"}}getMasksTensor(e,t=16){let n=this.getMaskResult(e),s=new Float32Array(t*2),o=Math.min(t,n.length);for(let i=0;i<o;i++){let u=n[i];s[i*2]=u.coverage;let a=this.getObjectResult(e).objects.find(d=>d.trackId===u.trackId),l=a?a.boundingBox.width*a.boundingBox.height:0;s[i*2+1]=l>0?u.area/l:0}return{data:s,shape:[t,2],dtype:"float32"}}getClassHistogramTensor(e,t=80){let n=new Float32Array(t);for(let s of this.getObjectResult(e).objects)if(s.active){let o=gr.get(s.category.toLowerCase());o!==void 0&&(n[o]+=1)}return{data:n,shape:[t],dtype:"float32"}}clamp(e){return Math.max(0,Math.min(this._totalFrames-1,Math.round(e)))}};var gr=new Map(Me.map((r,e)=>[r,e]));k();function kn(r,e,t={}){let n=t.offsetX??0,s=t.offsetY??0,o=t.offsetZ??0;if(!e||typeof e!="object")return r;if("screenX"in e&&e.screenX&&typeof e.screenX=="object"){let i=e;r.x=n!==0?i.screenX.add(n):i.screenX,r.y=s!==0?i.screenY.add(s):i.screenY,r.z=o!==0?i.z.add(o):i.z}else if("x"in e&&typeof e.x=="object"&&e.x!==null){let i=e;r.x=n!==0?i.x.add(n):i.x,r.y=s!==0?i.y.add(s):i.y,r.z=o!==0?i.z.add(o):i.z}else{let i=e;r.x=(i.screenX??i.x)+n,r.y=(i.screenY??i.y)+s,r.z=(i.z??0)+o}return r}function xi(r,e,t={}){if(!e||typeof e!="object")return r;if("anchors"in e&&e.anchors){let n=e,s=t.anchor??(t.matchWidth||t.matchHeight?"topLeft":"center"),o=n.anchors[s]??n.center,i=o;return t.smoothFrames&&t.smoothFrames>1&&(i={x:o.x.smooth(t.smoothFrames),y:o.y.smooth(t.smoothFrames),z:o.z,screenX:o.screenX.smooth(t.smoothFrames),screenY:o.screenY.smooth(t.smoothFrames)}),t.matchWidth&&(r.width=t.smoothFrames&&t.smoothFrames>1?n.bounds.screenWidth.smooth(t.smoothFrames):n.bounds.screenWidth),t.matchHeight&&(r.height=t.smoothFrames&&t.smoothFrames>1?n.bounds.screenHeight.smooth(t.smoothFrames):n.bounds.screenHeight),t.hideWhenLost&&(r.opacity=n.active),kn(r,i,t)}return kn(r,e,t)}k();function br(r){let e=[];return r.enableDetection===!0&&e.push("detect"),r.enableSegmentation===!0&&e.push("segment"),r.enablePose===!0&&e.push("pose"),r.enableMatte===!0&&e.push("matte"),e.length>0?e:["detect"]}var ct=class r{id;kind="vision";source;config;vision;_runner;_runnerOptions;constructor(e,t={},n={},s={}){this.id=`vision-${Math.random().toString(36).slice(2,9)}`,this.source=e,this.config=t,this._runnerOptions=s,this.vision=new Ue({...n,config:t})}runner(){if(!this._runner){let{variant:e,confidence:t,classes:n,modelsDir:s,baseUrl:o,maskThreshold:i,featherRadius:u}=this.config;this._runner=ke.create({...this._runnerOptions,...e!==void 0?{variant:e}:{},...t!==void 0?{confidence:t}:{},...n!==void 0?{classes:n}:{},...s!==void 0?{modelsDir:s}:{},...o!==void 0?{baseUrl:o}:{},...i!==void 0?{maskThreshold:i}:{},...u!==void 0?{featherRadius:u}:{}})}return this._runner}async ready(){let e=this.runner();return await e.preload(br(this.config)),e}close(){this._runner?.close(),this._runner=void 0}static attach(e,t={},n={}){let s=new r(e,t,n),o=s.vision;return Object.defineProperties(o,{node:{value:s.toNode(),enumerable:!0},ready:{value:()=>s.ready()},runner:{value:()=>s.runner()},close:{value:()=>s.close()}}),o}toNode(){return{id:this.id,kind:"vision",source:this.source,config:this.config}}};k();var lt=new Uint8Array(0),Tn=new Uint32Array(0);function yr(r,e,t){lt.length<r.length&&(lt=new Uint8Array(r.length),Tn=new Uint32Array(r.length));let n=lt,s=Tn,o=0,i=0;for(let u=1;u<=r.length;u++)(u===r.length||r[u]!==r[i])&&(n[o]=r[i],s[o]=u-i,o++,i=u);return{width:e,height:t,values:n.slice(0,o),lengths:s.slice(0,o)}}function xr(r){let e=new Uint8Array(r.width*r.height),t=0;for(let n=0;n<r.values.length;n++){let s=t+r.lengths[n];r.values[n]!==0&&e.fill(r.values[n],t,s),t=s}return e}function _n(r){return r.values.byteLength+r.lengths.byteLength}function ut(r){let{mask:e,...t}=r;return{...t,rle:yr(e,r.width,r.height)}}function mt(r){let{rle:e,...t}=r;return{...t,mask:xr(e)}}function dt(r){let e=512+r.detections.length*128+r.objects.length*256;for(let t of r.masks??[])e+=_n(t.rle);return r.subject&&(e+=_n(r.subject.mask.rle)),e}var Be=class{constructor(e=256*1024*1024){this.maxBytes=e}maxBytes;entries=new Map;bytes=0;get(e,t){let n=`${e}#${t}`,s=this.entries.get(n);return s&&(this.entries.delete(n),this.entries.set(n,s)),s}set(e,t,n){let s=`${e}#${t}`,o=this.entries.get(s);o&&(this.bytes-=dt(o),this.entries.delete(s)),this.entries.set(s,n),this.bytes+=dt(n);for(let[i,u]of this.entries){if(this.bytes<=this.maxBytes)break;this.entries.delete(i),this.bytes-=dt(u)}}clear(){this.entries.clear(),this.bytes=0}get size(){return this.entries.size}};k();var kr=`
|
|
137
|
-
struct Params {
|
|
138
|
-
mode: u32, // 0 matte, 1 mask, 2 crop
|
|
139
|
-
_pad: u32,
|
|
140
|
-
cropMin: vec2<f32>, // uv of the subject bounds (crop)
|
|
141
|
-
cropMax: vec2<f32>,
|
|
142
|
-
_pad2: vec2<f32>,
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
@group(0) @binding(0) var<uniform> params: Params;
|
|
146
|
-
@group(0) @binding(1) var picture: texture_2d<f32>;
|
|
147
|
-
@group(0) @binding(2) var mask: texture_2d<f32>;
|
|
148
|
-
@group(0) @binding(3) var samp: sampler;
|
|
149
|
-
|
|
150
|
-
struct VSOut {
|
|
151
|
-
@builtin(position) pos: vec4<f32>,
|
|
152
|
-
@location(0) uv: vec2<f32>,
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
@vertex fn vs(@builtin(vertex_index) i: u32) -> VSOut {
|
|
156
|
-
var p = array<vec2<f32>, 3>(vec2(-1.0, -1.0), vec2(3.0, -1.0), vec2(-1.0, 3.0));
|
|
157
|
-
var out: VSOut;
|
|
158
|
-
out.pos = vec4(p[i], 0.0, 1.0);
|
|
159
|
-
out.uv = vec2(p[i].x * 0.5 + 0.5, 0.5 - p[i].y * 0.5);
|
|
160
|
-
return out;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
@fragment fn fs(in: VSOut) -> @location(0) vec4<f32> {
|
|
164
|
-
var uv = in.uv;
|
|
165
|
-
if (params.mode == 2u) {
|
|
166
|
-
uv = mix(params.cropMin, params.cropMax, uv);
|
|
167
|
-
}
|
|
168
|
-
let m = textureSampleLevel(mask, samp, uv, 0.0).r;
|
|
169
|
-
if (params.mode == 1u) {
|
|
170
|
-
return vec4(m, m, m, 1.0);
|
|
171
|
-
}
|
|
172
|
-
return textureSampleLevel(picture, samp, uv, 0.0) * m;
|
|
173
|
-
}
|
|
174
|
-
`,Fe=class{constructor(e,t){this.device=e;let n=e.createShaderModule({label:"vision_matte_composite",code:kr});this.pipeline=e.createRenderPipeline({label:"vision_matte_composite",layout:"auto",vertex:{module:n,entryPoint:"vs"},fragment:{module:n,entryPoint:"fs",targets:[{format:t}]},primitive:{topology:"triangle-list"}}),this.sampler=e.createSampler({magFilter:"linear",minFilter:"linear"})}device;pipeline;sampler;uniforms=[];uniformIndex=0;masks=new Map;uploadMask(e,t,n,s){let o=this.masks.get(e);(!o||o.width!==n||o.height!==s)&&(o?.destroy(),o=this.device.createTexture({label:`vision_mask_${e}`,size:[n,s],format:"r8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST}),this.masks.set(e,o));let i=Math.ceil(n/256)*256,u=t;if(i!==n){u=new Uint8Array(i*s);for(let a=0;a<s;a++)u.set(t.subarray(a*n,(a+1)*n),a*i)}return this.device.queue.writeTexture({texture:o},u.buffer,{offset:u.byteOffset,bytesPerRow:i,rowsPerImage:s},{width:n,height:s}),o}draw(e,t,n,s,o,i){let u=s.width,a=s.height,l=new Float32Array(8),d=new Uint32Array(l.buffer);d[0]=o==="matte"?0:o==="mask"?1:2,o==="crop"&&i?(l[2]=i.x0/u,l[3]=i.y0/a,l[4]=(i.x1+1)/u,l[5]=(i.y1+1)/a):(l[2]=0,l[3]=0,l[4]=1,l[5]=1,o==="crop"&&(d[0]=0)),this.uniformIndex>=this.uniforms.length&&this.uniforms.push(this.device.createBuffer({size:l.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}));let c=this.uniforms[this.uniformIndex];this.uniformIndex=(this.uniformIndex+1)%16,this.device.queue.writeBuffer(c,0,l);let p=this.device.createBindGroup({layout:this.pipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:c}},{binding:1,resource:n.createView()},{binding:2,resource:s.createView()},{binding:3,resource:this.sampler}]}),b=e.beginRenderPass({label:"vision_matte_composite",colorAttachments:[{view:t,loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});b.setPipeline(this.pipeline),b.setBindGroup(0,p),b.draw(3),b.end()}};var Te=new Map,Tr=4,ft=null,De=null,Sn=null,wn=new Be,vn=new Map,_r=new Map,Sr=new Map,wr=new Map,Pn=new Map,ht=new WeakMap,he=new Map,pt=new Map,vr=3;function gt(r,e,t,n,s,o){let i=r.get(t);return(!i||i.width!==n.width||i.height!==n.height||i.format!==n.format)&&(i?.destroy(),i=e.createTexture({size:[n.width,n.height],format:n.format,usage:s,label:o}),r.set(t,i)),i}var Pr=(r,e,t)=>gt(_r,r,e,t,GPUTextureUsage.COPY_DST|GPUTextureUsage.TEXTURE_BINDING,"vision_held_frame"),Mr=(r,e,t)=>gt(Sr,r,e,t,GPUTextureUsage.COPY_DST|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC,"vision_analysis_frame"),Rr=(r,e,t)=>gt(wr,r,e,t,GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC,"vision_matte");function Ir(r,e,t,n,s){let o=e;return JSON.stringify([r,o?.operation?.id??o?.id??null,n,s,t.mode??"passthrough",t.variant,t.confidence,t.classes,t.maskThreshold,t.featherRadius,t.matteSource,t.keyBackground===!0,t.maxMissedFrames])}function Or(r,e,t){let n=r.backgroundKeyThreshold;return typeof n=="number"?n:typeof n?.get=="function"?Number(n.get({frame:e,fps:t})):typeof n?._value=="number"?Number(n._value):70}function Mn(r,e,t){if(r)return pt.set(e,{mask:r,frame:t}),r;let n=pt.get(e);if(n&&t-n.frame<=vr)return n.mask}function Rn(r){let e={variant:r.variant,modelsDir:r.modelsDir,baseUrl:r.baseUrl},t=JSON.stringify(e),n=Te.get(t);if(!n){if(Te.size>=Tr){let[u,a]=Te.entries().next().value;a.runner.close(),Te.delete(u)}n={runner:ke.create(e),derived:new Map},Te.set(t,n)}let s={confidence:r.confidence,classes:r.classes,maskThreshold:r.maskThreshold,featherRadius:r.featherRadius},o=JSON.stringify(s),i=n.derived.get(o);return i||(i=n.runner.derive(s),n.derived.set(o,i)),i}function Cr(r,e){let t=Pn.get(r);return t||(t=new ye({maxMissedFrames:e.maxMissedFrames??15}),Pn.set(r,t)),t}function Lr(r,e,t){return e<=0||t<=0?r:{people:r.people.map(n=>({...n,keypoints:n.keypoints.map(s=>({x:s.x/e,y:s.y/t,visibility:s.visibility}))}))}}function Er(r,e){if(!e)return!0;let t=r.toLowerCase();return e.some(n=>n.toLowerCase()===t)}function Ar(r,e){return r.map(t=>{let{cx:n,cy:s}=Br(t),o=null;for(let i of e){let u=i.centerX-n,a=i.centerY-s,l=u*u+a*a;(!o||l<o.distance)&&(o={trackId:i.trackId,distance:l})}return o?{...t,trackId:o.trackId}:t})}function jr(r,e,t){let n=e*t,s=new Uint8Array(n),o=new Int32Array(n),i=0,u=l=>{s[l]||r[l]>0||(s[l]=1,o[i++]=l)};for(let l=0;l<e;l++)u(l),u((t-1)*e+l);for(let l=0;l<t;l++)u(l*e),u(l*e+e-1);let a=0;for(;a<i;){let l=o[a++],d=l%e,c=l+1;d+1<e&&!s[c]&&r[c]===0&&(s[c]=1,o[i++]=c),c=l-1,d>0&&!s[c]&&r[c]===0&&(s[c]=1,o[i++]=c),c=l+e,c<n&&!s[c]&&r[c]===0&&(s[c]=1,o[i++]=c),c=l-e,c>=0&&!s[c]&&r[c]===0&&(s[c]=1,o[i++]=c)}for(let l=0;l<n;l++)r[l]===0&&s[l]===0&&(r[l]=255)}function Vr(r,e,t,n=2){if(n<=0)return r;let s=new Uint8Array(e*t),o=new Uint8Array(e*t),i=2*n+1;for(let a=0;a<t;a++){let l=a*e,d=0;for(let c=-n;c<=n;c++){let p=Math.max(0,Math.min(e-1,c));d+=r[l+p]}for(let c=0;c<e;c++){s[l+c]=Math.round(d/i);let p=Math.max(0,c-n),b=Math.min(e-1,c+n+1);d+=r[l+b]-r[l+p]}}let u=new Float64Array(e);for(let a=-n;a<=n;a++){let l=Math.max(0,Math.min(t-1,a))*e;for(let d=0;d<e;d++)u[d]+=s[l+d]}for(let a=0;a<t;a++){let l=a*e,d=Math.max(0,a-n)*e,c=Math.min(t-1,a+n+1)*e;for(let p=0;p<e;p++)o[l+p]=Math.round(u[p]/i),u[p]+=s[c+p]-s[d+p]}return o}function Ur(r,e,t,n,s,o){let i=0,u=0,a=0,l=0,d=(g,S)=>{let x=S*e+g;if(r[x])return;let E=x*4;i+=n[E],u+=n[E+1],a+=n[E+2],l++};for(let g=0;g<e;g+=4)d(g,0),d(g,t-1);for(let g=0;g<t;g+=4)d(0,g),d(e-1,g);if(l===0)return r;i/=l,u/=l,a/=l;let c=e*t,p=new Uint8Array(c);for(let g=0,S=0;g<c;g++,S+=4)p[g]=Math.max(Math.abs(n[S]-i),Math.abs(n[S+1]-u),Math.abs(n[S+2]-a))>s?1:0;let b=new Int32Array(c),y=0;for(let g=0;g<c;g++)r[g]>0&&(p[g]&&(r[g]=255),b[y++]=g);let I=0;for(;I<y;){let g=b[I++],S=g%e,x=g+1;S+1<e&&r[x]!==255&&p[x]&&(r[x]=255,b[y++]=x),x=g-1,S>0&&r[x]!==255&&p[x]&&(r[x]=255,b[y++]=x),x=g+e,x<c&&r[x]!==255&&p[x]&&(r[x]=255,b[y++]=x),x=g-e,x>=0&&r[x]!==255&&p[x]&&(r[x]=255,b[y++]=x)}jr(r,e,t);let L=o!==void 0&&o>0?Math.max(1,Math.min(8,Math.round(o*50))):2;return Vr(r,e,t,L)}function Br(r){let{mask:e,width:t,height:n}=r,s=0,o=0,i=0;for(let u=0;u<n;u++){let a=u*t;for(let l=0;l<t;l++)e[a+l]>0&&(s+=l,o+=u,i++)}return i===0?{cx:0,cy:0}:{cx:s/i,cy:o/i}}var In=async r=>{let{ctx:e,encoder:t,pass:n,targetView:s,targetWidth:o,targetHeight:i,props:u,drawChild:a}=r,{virtualMedia:l}=u;Rt(e.device);let d=l?.operation;if(d?.op!=="Vision")return;let c=d;n.end();let p=l?.children?.[0];if(!p)return;let b=c.effect,y=b!=null,I=l?.id??d?.id??`${o}x${i}_${c.mode}_${c.variant}_${c.keyBackground}_${c.backgroundKeyThreshold}`,L=`vision-${I}`,g=y?ht.get(b):he.get(L);g&&(g.width!==o||g.height!==i)&&(g.destroy(),g=void 0,y?ht.delete(b):he.delete(L));let S=g!==void 0;if(!g&&(g=e.device.createTexture({size:[o,i],format:e.renderer.format,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC,label:"vision_child_persistent"}),y?ht.set(b,g):he.set(L,g),he.size>4)){let D=he.keys().next().value;D&&D!==L&&(he.get(D)?.destroy(),he.delete(D))}let x=u.frame??0,E=u.compositionFrame??x,f=u.fps??24,m=c.mode??"passthrough",w=m==="mask"||m==="matte"||m==="crop",T=c.visionBundle??l.visionBundle,R=c.enableDetection!==!1||m==="boxes"||m==="tracking",P=c.enableSegmentation===!0||w&&c.matteSource!=="selfie",U=c.enableMatte===!0||w&&c.matteSource==="selfie",O=c.enablePose===!0||m==="skeleton",_=w&&!T&&!O&&!U&&c.keyBackground!==!0?Fr(b,x,f,o,i):void 0,h=_!==void 0,C=!h&&!U&&!O&&(R||P),z=C?Ir(I,p,c,o,i):"",F=D=>c.keyBackground===!0?Or(c,E-(x-D),f):void 0,B=D=>{if(!C||D===void 0)return;let $=wn.get(z,D);if(!(!$||$.keyThreshold!==F(D))&&!(P&&T&&!$.masks))return $},V=S?vn.get(I):void 0,G=B(x),X=h||G!==void 0;G||(G=B(V));let Y;w&&S&&!X&&(Y=Pr(e.device,I,g),t.copyTextureToTexture({texture:g},{texture:Y},[o,i,1]));let N,K=null;if(S&&!G&&!h){let D=Mr(e.device,I,g),$=e.device.createCommandEncoder({label:"vision_analysis_copy"});$.copyTextureToTexture({texture:g},{texture:D},[o,i,1]),e.device.queue.submit([$.finish()]),N={texture:D,device:e.device,width:o,height:i},w&&c.keyBackground===!0&&(K=(await Oe(N)).data)}let H=g.createView();e.renderer.beginFrame(t,H,{r:0,g:0,b:0,a:0},o,i,"clear").end(),await a(p,{...u},H,g,o,i),vn.set(I,x);let W=[],Z=[],te,oe,J;if(h)J=Mn(_??void 0,I,x);else if(G)W=G.objects,R&&T?.setObjectResult(x,{objects:G.objects,rawDetections:G.detections}),P&&T&&G.masks&&(Z=G.masks.map(mt),T.setMaskResult(x,Z)),G.subject&&(J=mt(G.subject.mask),pt.set(I,{mask:J,frame:x}));else if(N){let D=Rn(c),$=N,Q=[];if(R){Q=await D.detect($);let ee=Cr(I,c);x===0&&ee.reset(),W=ee.update(Q,x,f),T?.setObjectResult(x,{objects:W,rawDetections:Q})}let ie=[];if(P){let ee=w&&c.matteSource!=="selfie"&&c.classes!==void 0,ge=await(ee?Rn({...c,classes:void 0}):D).segment($);Z=Ar(ee?ge.masks.filter(On=>Er(On.category,c.classes)):ge.masks,W),ie=ee?ge.masks:Z,T?.setMaskResult(x,Z)}if(U&&(te=await D.matte($),T?.setMatteResult(x,te)),O){let ee=await D.pose($),q=Lr(ee,$.width,$.height);oe={people:xn(q.people,W)},T?.setPoseResult(x,oe)}if(w){J=Mn(c.matteSource==="selfie"?Dr(te):yn(ie.length>0?ie:T?.getMaskResult(x)??[],{classes:c.classes}),I,x);let ee=F(V??x);J&&ee!==void 0&&K&&(J={...J,mask:Ur(J.mask,J.width,J.height,K,ee,c.featherRadius)})}C&&V!==void 0&&wn.set(z,V,{detections:Q,objects:W,masks:T?Z.map(ut):null,subject:J?{mask:ut(J)}:null,keyThreshold:F(V)})}if(w){let D=X?g:Y;if(!J||!D){e.renderer.beginFrame(t,s,{r:0,g:0,b:0,a:0},o,i,"clear").end();return}(!De||Sn!==e.renderer.format)&&(De=new Fe(e.device,e.renderer.format),Sn=e.renderer.format);let $=De.uploadMask(I,J.mask,J.width,J.height),Q=Rr(e.device,I,g);De.draw(t,Q.createView(),D,$,m,m==="crop"?Ae(J)??void 0:void 0),T?.setStencilTexture(Q);let ie=e.renderer.beginFrame(t,s,{r:0,g:0,b:0,a:0},o,i,"clear");e.renderer.drawTexture(ie,Q,{x:0,y:0,width:o,height:i}),ie.end();return}if(m==="skeleton"){ft||(ft=new Le(e.device));let $=(T?.getPoseResult(x)??oe)?.people[0];if($&&$.keypoints.length>0){let Q=ft.renderToTexture($.keypoints,{width:o,height:i}),ie=e.renderer.beginFrame(t,s,{r:0,g:0,b:0,a:0},o,i,"clear");e.renderer.drawTexture(ie,Q,{x:0,y:0,width:o,height:i}),ie.end();return}}if(m==="boxes"||m==="tracking"){let D=e.renderer.beginFrame(t,s,{r:0,g:0,b:0,a:0},o,i,"clear");e.renderer.drawTexture(D,g,{x:0,y:0,width:o,height:i});let $=W.length>0?W:T?.getObjectResult(x).objects??[];if($.length>0){let Q="#38bdf8";for(let ee of $){if(!ee.active)continue;let q=ee.boundingBox;e.renderer.drawRect(D,{x:q.originX,y:q.originY,width:q.width,height:2},Q),e.renderer.drawRect(D,{x:q.originX,y:q.originY+q.height-2,width:q.width,height:2},Q),e.renderer.drawRect(D,{x:q.originX,y:q.originY,width:2,height:q.height},Q),e.renderer.drawRect(D,{x:q.originX+q.width-2,y:q.originY,width:2,height:q.height},Q);let ge=Math.min(16,q.width/4,q.height/4);e.renderer.drawRect(D,{x:q.originX,y:q.originY,width:ge,height:4},"#ffffff"),e.renderer.drawRect(D,{x:q.originX,y:q.originY,width:4,height:ge},"#ffffff"),m==="tracking"&&e.renderer.drawRect(D,{x:ee.centerX-3,y:ee.centerY-3,width:6,height:6},"#ef4444",3)}}D.end();return}let pe=e.renderer.beginFrame(t,s,{r:0,g:0,b:0,a:0},o,i,"clear");e.renderer.drawTexture(pe,g,{x:0,y:0,width:o,height:i}),pe.end()};function Fr(r,e,t,n,s){let i=r?.[gn]?.subject(e,t);if(!i)return i;let u=i.width/i.height/(n/s);return Math.abs(u-1)<.01?i:void 0}function Dr(r){if(!r||r.coverage<=0)return;let e=Math.round(r.coverage*r.width*r.height);return{category:"person",mask:r.mask,width:r.width,height:r.height,area:e,coverage:r.coverage,detectionIndex:-1}}var la=xt({WebGPURenderer:In});export{Ot as a,Ct as b,Lt as c,Jr as d,En as e,no as f,so as g,lo as h,uo as i,An as j,Ut as k,Vt as l,ho as m,jn as n,Vn as o,Un as p,Bn as q,Fn as r,Dn as s,We as t,Bt as u,Gn as v,$e as w,Ro as x,Ft as y,Ao as z,jo as A,Bo as B,Ce as C,Me as D,ye as E,Wo as F,v as G,nt as H,Zt as I,Le as J,Jt as K,ke as L,gn as M,yn as N,Ve as O,Ue as P,kn as Q,xi as R,ct as S,la as T};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as f}from"./chunk-BVF64D6H.mjs";f();f();f();function y(r){return r===null||typeof r!="object"?r:v(r)||"peek"in r&&typeof r.peek=="function"?r.peek():"value"in r?r.value:r}function V(r,e){let t=y(r);return typeof t=="number"&&!Number.isNaN(t)?t:e}function C(r,e){let t=y(r);return typeof t=="string"?t:e}function U(r,e){let t=y(r);return typeof t=="boolean"?t:e}function E(r,e){if(typeof e=="number")return V(r,e);if(typeof e=="string")return C(r,e);if(typeof e=="boolean")return U(r,e);let t=y(r);return t??e}var c=null;function B(r){c!==null&&(r.add(c),c.deps.add(r))}function v(r){return r!==null&&typeof r=="object"&&"get"in r&&typeof r.get=="function"&&"value"in r}var S=class{_value;_subscribers=new Set;constructor(e){this._value=e}get value(){return this.get()}set value(e){this.set(e)}get(){return c!==null&&(this._subscribers.add(c),c.deps.add(this._subscribers)),this._value}peek(){return this._value}set(e){Object.is(this._value,e)||(this._value=e,this.notifySubscribers())}update(e){this.set(e(this._value))}notifySubscribers(){if(this._subscribers.size===0)return;let e=Array.from(this._subscribers);for(let t of e)t.markDirty()}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}},T=class{_fn;_value;_dirty=!0;_evaluating=!1;deps=new Set;_subscribers=new Set;constructor(e){this._fn=e}get value(){return this.get()}get(){return c!==null&&c!==this&&(this._subscribers.add(c),c.deps.add(this._subscribers)),this._dirty&&this.compute(),this._value}peek(){return this._dirty&&this.compute(),this._value}markDirty(){if(this._dirty)return;this._dirty=!0;let e=Array.from(this._subscribers);for(let t of e)t.markDirty()}compute(){if(this._evaluating)throw new Error("Cyclic dependency detected in computed signal");for(let t of this.deps)t.delete(this);this.deps.clear();let e=c;c=this,this._evaluating=!0;try{this._value=this._fn(),this._dirty=!1}finally{this._evaluating=!1,c=e}}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}},w=class{gpuBinding;fps;_samples;_cachedFrame=-1;_cachedValue=0;_seekedFrame=-1;_subscribers=new Set;constructor(e,t=24,n){this._samples=e,this.fps=t,this.gpuBinding=n,e.length>0&&(this._cachedValue=e[0])}get value(){return this.get()}get(e){c!==null&&(this._subscribers.add(c),c.deps.add(this._subscribers)),h.get();let t=e?.frame??(this._seekedFrame>=0?this._seekedFrame:h.value);if(this._cachedFrame===t)return this._cachedValue;if(this._cachedFrame=t,!this._samples||this._samples.length===0)return this._cachedValue=0,0;let n=e?.fps??this.fps,s=n!==this.fps&&n>0?t/n*this.fps:t,a=Math.max(0,Math.min(this._samples.length-1,Math.round(s)));return this._cachedValue=Number(this._samples[a])||0,this._cachedValue}peek(){return this._cachedValue}seekFrame(e){if(this._seekedFrame=e,this._cachedFrame=e,!this._samples||this._samples.length===0)this._cachedValue=0;else{let t=Math.max(0,Math.min(this._samples.length-1,Math.round(e)));this._cachedValue=Number(this._samples[t])||0}for(let t of this._subscribers)t.markDirty()}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}};function P(r){return new S(r)}function z(r){return r instanceof S}function W(r){return new T(r)}function L(r,e=24,t){return new w(r,e,t)}var h=P(0),O=P(0),F=P(0);function J(r,e=24,t){h.set(r);let n=e>0?r/e:0;if(O.set(n),t&&t>0){let s=t/1e3;F.set(Math.max(0,Math.min(1,n/s)))}else F.set(0)}var k=class{gpuBinding;_config;constructor(e){this._config={type:"sine",frequency:1,amplitude:1,offset:0,phase:0,...e},this.gpuBinding=e.gpuBinding}get value(){return this.get()}get(e){h.get();let t=e?.frame??h.value,n=e?.fps??24,s=e?.time??(n>0?t/n:0);if(this._config.fn)return this._config.fn(e??{frame:t,fps:n,time:s,duration:0,durationMs:0,progress:0,deltaTime:n>0?1/n:0});let a=this._config.frequency??1,i=this._config.amplitude??1,u=this._config.offset??0,o=this._config.phase??0;switch(this._config.type??"sine"){case"sine":return u+i*Math.sin(2*Math.PI*a*s+o);case"triangle":return u+i*(2*Math.abs(2*(s*a+o/(2*Math.PI)-Math.floor(s*a+o/(2*Math.PI)+.5)))-1);case"sawtooth":return u+i*(2*(s*a+o/(2*Math.PI)-Math.floor(s*a+o/(2*Math.PI)+.5)));case"square":return u+(Math.sin(2*Math.PI*a*s+o)>=0?i:-i);case"bounce":{let l=s*a%1,g=Math.abs(Math.sin(Math.PI*l));return u+i*g}default:return u+i*Math.sin(2*Math.PI*a*s+o)}}peek(){return this.get()}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}};function A(r){return new k(r)}function D(r,e){let t=e.min,n=e.max,s=e.amplitude??1,a=e.offset??0;t!==void 0&&n!==void 0?(a=(t+n)/2,s=(n-t)/2):t!==void 0?a=t+s:n!==void 0&&(a=n-s);let i=e.period,u=e.frequency,o=e.phase??0;return A({type:"custom",fn:d=>{let l;if(i!==void 0&&i>0)l=2*Math.PI*d.frame/i+o;else{let g=u??1;l=2*Math.PI*g*d.time+o}return a+s*r(l)}})}function $(r={}){return D(Math.sin,r)}function q(r={}){return D(Math.cos,r)}var X={state:P,computed:W,builder:A,fromArray:L,programmatic:M,frame:h,time:O,progress:F,sine:$,cosine:q};var x=class r{gpuBinding;label;_evaluator;_samples;_fps;_durationFrames;_cachedFrame=-1;_cachedValue=0;_seekedFrame=-1;_subscribers=new Set;_children=new Set;get fps(){return this._fps}constructor(e,t={}){if(this._fps=t.fps??24,this._durationFrames=t.durationFrames,this.gpuBinding=t.gpuBinding,this.label=t.label,typeof e=="number"){let n=e;this._evaluator=()=>n,this._cachedValue=n}else if(typeof e=="function")this._evaluator=e;else if(v(e))this._evaluator=n=>Number(e.get(n))||0;else{let n=e;this._samples=n instanceof Float32Array?n:new Float32Array(Array.from(n)),this._durationFrames=this._samples.length,this._cachedValue=this._samples.length>0?this._samples[0]:0,this._evaluator=s=>{if(!this._samples||this._samples.length===0)return 0;let a=s.fps??this._fps,i=a!==this._fps&&a>0?s.frame/a*this._fps:s.frame,u=Math.max(0,Math.min(this._samples.length-1,Math.round(i)));return this._samples[u]}}}get value(){return this.get()}get(e){B(this._subscribers),h.get();let t=e?.frame??(this._seekedFrame>=0?this._seekedFrame:h.value);if(this._cachedFrame===t)return this._cachedValue;let n=e?.fps??this._fps,s=e?.time??(n>0?t/n:0),a=e?.duration??this._durationFrames??100,i=e?.durationMs??a/n*1e3,u=a>0?t/a:0,o=e?.deltaTime??(n>0?1/n:.0416),d={frame:t,fps:n,time:s,duration:a,durationMs:i,progress:u,deltaTime:o};return this._cachedFrame=t,this._cachedValue=this._evaluator(d),this._cachedValue}peek(){return this._cachedValue}registerChild(e){this._children.add(e)}_derive(e,t,n){let s=new r(e,{fps:this._fps,durationFrames:this._durationFrames,...t});return this._children.add(s),n instanceof r&&n.registerChild(s),s}seekFrame(e){this._seekedFrame=e,this._cachedFrame=-1;for(let t of this._subscribers)t.markDirty();for(let t of this._children)t.seekFrame(e)}invalidate(){this._cachedFrame=-1;for(let e of this._subscribers)e.markDirty();for(let e of this._children)e.invalidate()}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}smooth(e){let t=Math.max(1,Math.round(e));return t<=1?this:this._derive(n=>{let s=0,a=0,i=Math.max(0,n.frame-t+1);for(let u=i;u<=n.frame;u++)s+=this.get({...n,frame:u,time:u/n.fps}),a++;return a>0?s/a:0},{label:`${this.label??"sig"}_smoothed(${t})`})}remap(e,t,n,s,a=!1){let i=t-e,u=s-n;return this._derive(o=>{let d=this.get(o),l=i!==0?(d-e)/i:0,g=n+l*u;if(a){let m=Math.min(n,s),p=Math.max(n,s);return Math.max(m,Math.min(p,g))}return g},{label:`${this.label??"sig"}_remap`})}clamp(e,t){let n=Math.min(e,t),s=Math.max(e,t);return this._derive(a=>Math.max(n,Math.min(s,this.get(a))),{label:`${this.label??"sig"}_clamped`})}gate(e,t={}){let n=t.mode??"gate",s=Math.max(1,t.debounceFrames??2),a=Math.max(1,t.holdFrames??4),i=!!t.invert;return this._derive(u=>{let o=u.frame,d=0;if(n==="gate")d=this.get(u)>=e?1:0;else if(n==="trigger"){let l=-1/0,g=Math.max(0,o-120);for(let m=g;m<=o;m++){let p=this.get({...u,frame:m,time:m/u.fps}),b=m>0?this.get({...u,frame:m-1,time:(m-1)/u.fps}):0;p>=e&&b<e&&m-l>=s&&(l=m)}d=o>=l&&o<l+a?1:0}else if(n==="toggle"){let l=0,g=-1/0;for(let m=0;m<=o;m++){let p=this.get({...u,frame:m,time:m/u.fps}),b=m>0?this.get({...u,frame:m-1,time:(m-1)/u.fps}):0;p>=e&&b<e&&m-g>=s&&(l++,g=m)}d=l%2===1?1:0}return i?1-d:d},{label:`${this.label??"sig"}_gate(${e})`})}velocity(e=1){let t=Math.max(1,Math.round(e));return this._derive(n=>{let s=this.get(n),a=Math.max(0,n.frame-t),i=this.get({...n,frame:a,time:a/n.fps}),u=t/n.fps;return u>0?(s-i)/u:s-i},{label:`${this.label??"sig"}_velocity`})}delay(e){let t=Math.max(0,Math.round(e));return this._derive(n=>{let s=Math.max(0,n.frame-t);return this.get({...n,frame:s,time:s/n.fps})},{label:`${this.label??"sig"}_delay(${t})`})}spring(e=150,t=12){return this._derive(n=>{let s=n.frame;if(s<=0)return this.get(n);let a=this.get({...n,frame:0,time:0}),i=0,u=1/Math.max(1,n.fps);for(let o=1;o<=s;o++){let d=this.get({...n,frame:o,time:o/n.fps}),l=a-d,g=-e*l-t*i;i+=g*u,a+=i*u}return a},{label:`${this.label??"sig"}_spring`})}add(e){return typeof e=="number"?this._derive(t=>this.get(t)+e):this._derive(t=>this.get(t)+(Number(e.get(t))||0),void 0,e)}subtract(e){return typeof e=="number"?this._derive(t=>this.get(t)-e):this._derive(t=>this.get(t)-(Number(e.get(t))||0),void 0,e)}multiply(e){return typeof e=="number"?this._derive(t=>this.get(t)*e):this._derive(t=>this.get(t)*(Number(e.get(t))||0),void 0,e)}invert(){return this._derive(e=>1-this.get(e),{label:`${this.label??"sig"}_inverted`})}pow(e){return this._derive(t=>this.get(t)**e)}map(e){return this._derive(t=>e(this.get(t),t))}toFrameArray(e,t){let n=Math.max(1,e),s=t??this._fps,a=new Float32Array(n);for(let i=0;i<n;i++)a[i]=this.get({frame:i,fps:s,time:i/s,duration:n,durationMs:n/s*1e3,progress:i/n,deltaTime:1/s});return a}};function M(r,e){return new x(r,e)}f();f();function ae(r,e=[{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]){let t=[],n=[];for(let i=0;i<4;i++){let u=r[i]?.x??0,o=r[i]?.y??0,d=e[i]?.x??0,l=e[i]?.y??0;t.push([u,o,1,0,0,0,-u*d,-o*d]),n.push(d),t.push([0,0,0,u,o,1,-u*l,-o*l]),n.push(l)}let s=8;for(let i=0;i<s;i++){let u=i,o=Math.abs(t[i][i]);for(let m=i+1;m<s;m++)Math.abs(t[m][i])>o&&(o=Math.abs(t[m][i]),u=m);let d=t[i];t[i]=t[u],t[u]=d;let l=n[i];n[i]=n[u],n[u]=l;let g=t[i][i];Math.abs(g)<1e-12&&(t[i][i]=g<0?-1e-12:1e-12);for(let m=i+1;m<s;m++){let p=t[m][i]/t[i][i];for(let b=i;b<s;b++)t[m][b]-=p*t[i][b];n[m]-=p*n[i]}}let a=new Array(8).fill(0);for(let i=s-1;i>=0;i--){let u=n[i];for(let o=i+1;o<s;o++)u-=t[i][o]*a[o];a[i]=u/t[i][i]}return[a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],1]}function me(r,e,t,n){if(r==null)return e;if(typeof r=="number")return Number.isFinite(r)?r:e;if(typeof r=="object"&&r!==null){if("get"in r&&typeof r.get=="function")try{let a=r.get({frame:t,fps:n,time:n>0?t/n:0,duration:0,durationMs:0,progress:0,deltaTime:n>0?1/n:0}),i=Number(a);if(Number.isFinite(i))return i}catch{}if("value"in r){let a=Number(r.value);if(Number.isFinite(a))return a}}if(typeof r=="function")try{let a=Number(r({frame:t,fps:n,time:n>0?t/n:0}));if(Number.isFinite(a))return a}catch{}let s=Number(r);return Number.isFinite(s)?s:e}function le(r,e,t){if(r==null)return{value:r};if(typeof r=="function")return{value:r(e,t)};if(typeof r!="object")return{value:r};let n=r;if(typeof n.get=="function")return{value:n.get({frame:e,fps:t})};if("value"in n){let s=r;return{value:s.value,gpuTextureView:s.gpuBinding?.textureView}}return{value:r}}function de(r,e,t,n,s){let a=u=>Math.max(n,Math.min(s,u)),i=e?r?.[e]:void 0;if(i?.connectionValid){let u=i.outputItem;if(u?.type==="Number"){let o=typeof u.data=="number"?u.data:u.data?.value??t;return{val:a(o),hasStaticSig:!1,sd:null,handleId:e}}if(u?.type==="Signal"&&u.data)return{val:t,hasStaticSig:!0,sd:u.data,handleId:e}}return{val:a(t),hasStaticSig:!1,sd:null,handleId:e}}function ge(r,e,t,n=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY){let a=p=>Math.max(n,Math.min(s,p)),i=r,u=i[`${e}HandleId`],o=u?r.inputs?.[u]:null,d=o?.connectionValid?o.outputItem?.type:void 0,l=d==="Signal"||d==="Numeric",g=l&&o?.outputItem?.data?o.outputItem.data:null,m=t;if(l)g&&(m=a(Number(g.offset??t)));else{let p=d==="Number"?o?.outputItem?.data:i[e];m=a(Number(p??t))}return{hasSignal:l,sd:g,value:m}}function ce(r,e){let t=r[e];if(typeof t!="string"||!t)return!1;let n=r.inputs?.[t];return!!(n?.connectionValid&&n.outputItem&&(n.outputItem.type==="Signal"||n.outputItem.type==="Number"))}function pe(r){return Object.freeze(r)}var N=Symbol.for("framefields.webgpuRegistry"),I=class{renderers=new Map;register(e,t){this.renderers.set(e,t)}get(e){return this.renderers.get(e)}has(e){return this.renderers.has(e)}},H=(()=>{let r=globalThis;return r[N]||(r[N]=new I),r[N]})();function fe(r,e){H.register(r,e)}var R=class{processors=new Map;register(e,t){this.processors.set(e,t)}get(e){return this.processors.get(e)||null}},G=Symbol.for("framefields.audioRegistry"),he=(()=>{let r=globalThis;return r[G]||(r[G]=new R),r[G]})();export{x as a,M as b,V as c,C as d,U as e,E as f,B as g,v as h,P as i,z as j,W as k,L as l,h as m,O as n,F as o,J as p,A as q,$ as r,q as s,X as t,ae as u,me as v,le as w,de as x,ge as y,ce as z,pe as A,H as B,fe as C,he as D};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as r}from"./chunk-BVF64D6H.mjs";r();var a=Symbol.for("framefields.renderDiagnostics"),s=globalThis[a]??(globalThis[a]=new Map),c=256;function l(o,n){let e=s.get(o);if(!e){if(s.size>=c){let i=s.keys().next().value;i!==void 0&&s.delete(i)}e=new Map,s.set(o,e)}let t=`${n.code}|${n.layerId??""}|${n.message}`;e.has(t)||e.set(t,n)}function f(o){let n=new Map;for(let[e,t]of s)if(!(e!==o&&!e.startsWith(`${o}-`))){for(let[i,d]of t)n.set(i,d);s.delete(e)}return[...n.values()]}export{l as a,f as b};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b}from"./chunk-LIQA5OOU.mjs";import"./chunk-XOEEGC4Z.mjs";import"./chunk-FLPSWDX4.mjs";import"./chunk-NQZKBFC6.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as WebGPURenderer,b as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b}from"./chunk-2DDBSI75.mjs";import"./chunk-XOEEGC4Z.mjs";import"./chunk-FLPSWDX4.mjs";import"./chunk-NQZKBFC6.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as WebGPURenderer,b as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-67SSYK7D.mjs";import"./chunk-NNQUIVTE.mjs";import"./chunk-37EFVZWT.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-7LVOSEGN.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-PZF6T7DM.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-6K7US2WD.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-JX22B2FS.mjs";import"./chunk-NNQUIVTE.mjs";import"./chunk-37EFVZWT.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-KT35IPCF.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b}from"./chunk-FHKBALVI.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as ColorBalanceWebGPURenderer,b as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-G4J662EL.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-HDGFNBYK.mjs";import"./chunk-NNQUIVTE.mjs";import"./chunk-37EFVZWT.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-C6Z7H2RZ.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-IQC2I5A5.mjs";import"./chunk-IQKIHFNZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-CPFPY35C.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-Z6UKUHPU.mjs";import"./chunk-37EFVZWT.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-HUKAC5MJ.mjs";import"./chunk-XOEEGC4Z.mjs";import"./chunk-FLPSWDX4.mjs";import"./chunk-NQZKBFC6.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b}from"./chunk-RKVB47IA.mjs";import"./chunk-XOEEGC4Z.mjs";import"./chunk-FLPSWDX4.mjs";import"./chunk-NQZKBFC6.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as WebGPURenderer,b as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b}from"./chunk-LLDIDE5Q.mjs";import"./chunk-XOEEGC4Z.mjs";import"./chunk-FLPSWDX4.mjs";import"./chunk-NQZKBFC6.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as PatchHealWebGPURenderer,b as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-KAQUNOVB.mjs";import"./chunk-NNQUIVTE.mjs";import"./chunk-37EFVZWT.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-DOCSX45C.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{T as a}from"./chunk-UZBVCYRY.mjs";import"./chunk-YQRKT47I.mjs";import"./chunk-VXUJWPIK.mjs";import"./chunk-YKMBRUAE.mjs";import"./chunk-XKO4RYKN.mjs";import"./chunk-X6HUH6K4.mjs";import"./chunk-NQZKBFC6.mjs";import"./chunk-24P6DAB3.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-4GEWSUX5.mjs";import"./chunk-MTJHQATU.mjs";import"./chunk-IQKIHFNZ.mjs";import"./chunk-YAQFFQPG.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b}from"./chunk-SWXVITCQ.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as LiquifyWebGPURenderer,b as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-GQLZXCW3.mjs";import"./chunk-NNQUIVTE.mjs";import"./chunk-37EFVZWT.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-A5OVKZ52.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-RDP6QROU.mjs";import"./chunk-NNQUIVTE.mjs";import"./chunk-37EFVZWT.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-QJZKIY4H.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-WJJIISQJ.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-34ACEGNW.mjs";import"./chunk-NNQUIVTE.mjs";import"./chunk-37EFVZWT.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-O6NRIXS5.mjs";import"./chunk-2JKXYG6J.mjs";import"./chunk-7I7PKKDL.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-XDMZP3E2.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|