framefields 2.11.0 → 2.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE.md +4 -0
- package/dist/audio/index.d.mts +6 -5
- package/dist/audio/index.mjs +13 -13
- package/dist/{audio-CYZkDwae.d.mts → audio-CHV33Od9.d.mts} +3 -4
- package/dist/audio-CHV33Od9.d.mts.map +1 -0
- package/dist/{audio-BuCVk1IQ.mjs → audio-DHzLQ_RG.mjs} +4 -4
- package/dist/{audio-BuCVk1IQ.mjs.map → audio-DHzLQ_RG.mjs.map} +1 -1
- package/dist/{audio-KHBadECb.mjs → audio-DS9Jg2ls.mjs} +1 -1
- package/dist/{audio-KHBadECb.mjs.map → audio-DS9Jg2ls.mjs.map} +1 -1
- package/dist/{check-result-Culfu7Nx.mjs → check-result-DZWx73V8.mjs} +1 -1
- package/dist/{check-result-Culfu7Nx.mjs.map → check-result-DZWx73V8.mjs.map} +1 -1
- package/dist/cli/check-worker.mjs +51 -51
- package/dist/cli/check-worker.mjs.map +1 -1
- package/dist/cli/local-worker.d.mts +28 -0
- package/dist/cli/local-worker.d.mts.map +1 -0
- package/dist/cli/local-worker.mjs +83 -0
- package/dist/cli/local-worker.mjs.map +1 -0
- package/dist/cli.mjs +390 -124
- package/dist/cli.mjs.map +1 -1
- package/dist/cloud/index.d.mts +16 -3
- package/dist/cloud/index.d.mts.map +1 -1
- package/dist/cloud/index.mjs +2 -2
- package/dist/cloud-Cj1TIme8.mjs +685 -0
- package/dist/cloud-Cj1TIme8.mjs.map +1 -0
- package/dist/components/index.d.mts +15 -14
- package/dist/components/index.mjs +47 -47
- package/dist/{dist-CySGkG54.mjs → dist-BSKAbyea.mjs} +2 -2
- package/dist/dist-BSKAbyea.mjs.map +1 -0
- package/dist/{dist-CNGv-JTX.mjs → dist-B_rSWeOz.mjs} +1 -1
- package/dist/{dist-Bf2_efYP.mjs → dist-C8XSqfTx.mjs} +1 -1
- package/dist/{dist-Bf2_efYP.mjs.map → dist-C8XSqfTx.mjs.map} +1 -1
- package/dist/{dist-EQX3TUUl.mjs → dist-CUNvNDS3.mjs} +129 -82
- package/dist/dist-CUNvNDS3.mjs.map +1 -0
- package/dist/dist-CiTgmfUw.mjs +502 -0
- package/dist/dist-CiTgmfUw.mjs.map +1 -0
- package/dist/{dist-CWLLnigL.mjs → dist-D3BeAZ7X.mjs} +315 -84
- package/dist/dist-D3BeAZ7X.mjs.map +1 -0
- package/dist/{dist-BIE8fvlv.mjs → dist-DgZpN6IK.mjs} +1 -1
- package/dist/{dist-BIE8fvlv.mjs.map → dist-DgZpN6IK.mjs.map} +1 -1
- package/dist/{dist-Dg9LMWoX.mjs → dist-Kbf-JTry.mjs} +2 -2
- package/dist/{dist-Dg9LMWoX.mjs.map → dist-Kbf-JTry.mjs.map} +1 -1
- package/dist/effects/index.d.mts +6 -6
- package/dist/effects/index.mjs +36 -36
- package/dist/{effects-DKLbLXF7.mjs → effects-BiDgCK1L.mjs} +3 -3
- package/dist/{effects-DKLbLXF7.mjs.map → effects-BiDgCK1L.mjs.map} +1 -1
- package/dist/fonts/index.d.mts +1 -1
- package/dist/fonts/index.mjs +3 -3
- package/dist/{fonts-gPbGbShD.mjs → fonts-DeDPWdvJ.mjs} +2 -2
- package/dist/{fonts-gPbGbShD.mjs.map → fonts-DeDPWdvJ.mjs.map} +1 -1
- package/dist/{gpu-CpkJJLQP.mjs → gpu-CWjgql4C.mjs} +11 -3
- package/dist/gpu-CWjgql4C.mjs.map +1 -0
- package/dist/index-BFTtXosj.d.mts +63 -0
- package/dist/index-BFTtXosj.d.mts.map +1 -0
- package/dist/{index-BW0Q1ygn.d.mts → index-C5sgRLlG.d.mts} +1 -1
- package/dist/{index-BW0Q1ygn.d.mts.map → index-C5sgRLlG.d.mts.map} +1 -1
- package/dist/{index-CdCrae-I.d.mts → index-CnZhBlob.d.mts} +2 -2
- package/dist/index-CnZhBlob.d.mts.map +1 -0
- package/dist/{index-D2i9J9Zq.d.mts → index-D68eGFNE.d.mts} +3 -30
- package/dist/index-D68eGFNE.d.mts.map +1 -0
- package/dist/{index-CEU_Zsb9.d.mts → index-DBh3WphX.d.mts} +25 -23
- package/dist/index-DBh3WphX.d.mts.map +1 -0
- package/dist/{index-gOVtTm-P.d.mts → index-DQ1U3HC3.d.mts} +14 -6
- package/dist/index-DQ1U3HC3.d.mts.map +1 -0
- package/dist/{index-jSDEM-uE.d.mts → index-Dibc_xpC.d.mts} +6 -6
- package/dist/{index-jSDEM-uE.d.mts.map → index-Dibc_xpC.d.mts.map} +1 -1
- package/dist/{index-Cro-818i.d.mts → index-E2IXX0Cz.d.mts} +88 -14
- package/dist/index-E2IXX0Cz.d.mts.map +1 -0
- package/dist/{index-BuiZzc6i.d.mts → index-X2u96TEo.d.mts} +162 -5
- package/dist/index-X2u96TEo.d.mts.map +1 -0
- package/dist/{index-Bly-7YM1.d.mts → index-YB9j9KUx.d.mts} +3 -3
- package/dist/{index-Bly-7YM1.d.mts.map → index-YB9j9KUx.d.mts.map} +1 -1
- package/dist/{index-COYNQ_mf.d.mts → index-a6JrbAK0.d.mts} +1 -1
- package/dist/{index-COYNQ_mf.d.mts.map → index-a6JrbAK0.d.mts.map} +1 -1
- package/dist/{index-C8YwZ6k1.d.mts → index-rtCXNxGO.d.mts} +2 -2
- package/dist/{index-C8YwZ6k1.d.mts.map → index-rtCXNxGO.d.mts.map} +1 -1
- package/dist/index.d.mts +16 -15
- package/dist/index.mjs +58 -58
- package/dist/preview/index.d.mts +5 -4
- package/dist/preview/index.mjs +12 -12
- package/dist/{preview-BToKUTtZ.mjs → preview-PDz7o2xg.mjs} +323 -35
- package/dist/preview-PDz7o2xg.mjs.map +1 -0
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-QF4JWVO3.mjs → chunk-35XSD4QM.mjs} +15 -15
- package/dist/preview-engine/{chunk-ZF2MEFKO.mjs → chunk-3DOIE4DV.mjs} +1 -1
- package/dist/preview-engine/{chunk-JDB7PMRI.mjs → chunk-3IT7LHWR.mjs} +1 -1
- package/dist/preview-engine/{chunk-DNNGWS2C.mjs → chunk-3MLGWUSK.mjs} +1 -1
- package/dist/preview-engine/{chunk-KVOFO273.mjs → chunk-3QJ5GRBH.mjs} +1 -1
- package/dist/preview-engine/{chunk-54Q5CKSV.mjs → chunk-3QTHW2CD.mjs} +1 -1
- package/dist/preview-engine/chunk-44V4V5LD.mjs +1 -0
- package/dist/preview-engine/chunk-4P3MMJWD.mjs +1 -0
- package/dist/preview-engine/chunk-4YT5YJIF.mjs +1 -0
- package/dist/preview-engine/{chunk-BJXNKMSY.mjs → chunk-64L4GUOF.mjs} +20 -6
- package/dist/preview-engine/{chunk-UMJ3VGKN.mjs → chunk-6B3NOY5W.mjs} +1 -1
- package/dist/preview-engine/chunk-77MT33VR.mjs +1 -0
- package/dist/preview-engine/{chunk-BRV7TQDV.mjs → chunk-77WWW75O.mjs} +1 -1
- package/dist/preview-engine/chunk-7M5LE6EM.mjs +483 -0
- package/dist/preview-engine/chunk-A6OAPDIA.mjs +1 -0
- package/dist/preview-engine/chunk-ADLIF544.mjs +39 -0
- package/dist/preview-engine/{chunk-OLB4TQLQ.mjs → chunk-AKVRG7UU.mjs} +1 -1
- package/dist/preview-engine/{chunk-CIVEZJYF.mjs → chunk-CRBOK3JT.mjs} +1 -1
- package/dist/preview-engine/chunk-CSLSWUUT.mjs +1 -0
- package/dist/preview-engine/{chunk-ACBBBOUM.mjs → chunk-CYM75INB.mjs} +1 -1
- package/dist/preview-engine/{chunk-JSYG6OWZ.mjs → chunk-D7OMXGIZ.mjs} +1 -1
- package/dist/preview-engine/{chunk-EPRINA4V.mjs → chunk-E7BKWHOT.mjs} +10 -10
- package/dist/preview-engine/{chunk-NOKPBMIP.mjs → chunk-EWDJMJO5.mjs} +1 -1
- package/dist/preview-engine/{chunk-5KSBS3AL.mjs → chunk-EYE3GNL5.mjs} +1 -1
- package/dist/preview-engine/chunk-FRJPXWAG.mjs +1 -0
- package/dist/preview-engine/{chunk-IKVJ4MW5.mjs → chunk-G4ZTSLZU.mjs} +1 -1
- package/dist/preview-engine/{chunk-VZLIRYAL.mjs → chunk-GAMAKN5L.mjs} +1 -1
- package/dist/preview-engine/{chunk-ZIXPWP2B.mjs → chunk-ICWD36H6.mjs} +1 -1
- package/dist/preview-engine/{chunk-OELPPLML.mjs → chunk-IEEV5RB3.mjs} +1 -1
- package/dist/preview-engine/chunk-JAAFSVAG.mjs +1 -0
- package/dist/preview-engine/{chunk-YVZTRH4Y.mjs → chunk-KDCM7S3S.mjs} +1 -1
- package/dist/preview-engine/chunk-LZNHGH56.mjs +5 -0
- package/dist/preview-engine/{chunk-O63FLYWC.mjs → chunk-N2VISDTG.mjs} +1 -1
- package/dist/preview-engine/{chunk-GN3NDRLI.mjs → chunk-NCQHOGZK.mjs} +1 -1
- package/dist/preview-engine/{chunk-YKM7JDQY.mjs → chunk-NJO2BIJX.mjs} +1 -1
- package/dist/preview-engine/{chunk-7GMHSTRP.mjs → chunk-NTSALWFF.mjs} +1 -1
- package/dist/preview-engine/{chunk-PKNUTHPI.mjs → chunk-NVXFEDJS.mjs} +1 -1
- package/dist/preview-engine/{chunk-VFQH5KVS.mjs → chunk-ONHY4KNY.mjs} +1 -1
- package/dist/preview-engine/{chunk-Z24UEN4P.mjs → chunk-PD2HKW2S.mjs} +1 -1
- package/dist/preview-engine/chunk-PH3UUX6A.mjs +138 -0
- package/dist/preview-engine/chunk-PIHG6HJO.mjs +1 -0
- package/dist/preview-engine/{chunk-YHMBGJP6.mjs → chunk-QPT2Y2GZ.mjs} +1 -1
- package/dist/preview-engine/{chunk-4AGQN53P.mjs → chunk-QXLFTCLC.mjs} +1 -1
- package/dist/preview-engine/{chunk-65NANVQL.mjs → chunk-R4H52Q7S.mjs} +1 -1
- package/dist/preview-engine/{chunk-FQL4IJZN.mjs → chunk-RN7J5TRU.mjs} +1 -1
- package/dist/preview-engine/{chunk-26XWIHW3.mjs → chunk-RVCLMO5Q.mjs} +1 -1
- package/dist/preview-engine/{chunk-VQA4DYZU.mjs → chunk-RYSV44B4.mjs} +1 -1
- package/dist/preview-engine/{chunk-TEWRQKX3.mjs → chunk-SFHWP65D.mjs} +1 -1
- package/dist/preview-engine/{chunk-RDWLLITE.mjs → chunk-SMHEMYCV.mjs} +1 -1
- package/dist/preview-engine/{chunk-EXEO245X.mjs → chunk-SV3ZNZQU.mjs} +1 -1
- package/dist/preview-engine/{chunk-32WC4FRR.mjs → chunk-UE7Y65C3.mjs} +3 -3
- package/dist/preview-engine/chunk-UFPA36D2.mjs +2227 -0
- package/dist/preview-engine/{chunk-EAWJXW4J.mjs → chunk-UVEDFIPN.mjs} +1 -1
- package/dist/preview-engine/{chunk-6LTINEA4.mjs → chunk-VMXJZ4KQ.mjs} +1 -1
- package/dist/preview-engine/{chunk-IBPYV6HF.mjs → chunk-W4XR6F5G.mjs} +1 -1
- package/dist/preview-engine/{chunk-UI3VH33L.mjs → chunk-WPYWCWWL.mjs} +1 -1
- package/dist/preview-engine/{chunk-GHTG5XV6.mjs → chunk-XYCR3STG.mjs} +84 -25
- package/dist/preview-engine/{chunk-WFMUDL55.mjs → chunk-YAPGJZPI.mjs} +1 -1
- package/dist/preview-engine/{chunk-LMXMBX4J.mjs → chunk-YJ4DSRDY.mjs} +1 -1
- package/dist/preview-engine/{chunk-CCORQLMR.mjs → chunk-YOJKIMU5.mjs} +1 -1
- package/dist/preview-engine/{chunk-UGB6JKVS.mjs → chunk-ZHNEZZ6A.mjs} +1 -1
- package/dist/preview-engine/{chunk-LFNCWMKS.mjs → chunk-ZZMI3WOT.mjs} +1 -1
- package/dist/preview-engine/components.mjs +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/fonts.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +1 -1
- package/dist/preview-engine/player.mjs +5 -5
- package/dist/preview-engine/{renderers-53EI26GL.mjs → renderers-3FZVDYRQ.mjs} +1 -1
- package/dist/preview-engine/renderers-3KEBYOOF.mjs +1 -0
- package/dist/preview-engine/{renderers-6YVZUQOH.mjs → renderers-4RPQSUUZ.mjs} +1 -1
- package/dist/preview-engine/renderers-5EGFXFPF.mjs +1 -0
- package/dist/preview-engine/renderers-5SJHYUTM.mjs +1 -0
- package/dist/preview-engine/renderers-66MWDUN6.mjs +1 -0
- package/dist/preview-engine/{renderers-CCRZNGVK.mjs → renderers-6FENMFSC.mjs} +1 -1
- package/dist/preview-engine/renderers-77OXJ2GY.mjs +1 -0
- package/dist/preview-engine/renderers-7LI4QKHO.mjs +1 -0
- package/dist/preview-engine/renderers-AFTUFMQQ.mjs +1 -0
- package/dist/preview-engine/{renderers-CYJAVWHT.mjs → renderers-AIZRIW2R.mjs} +1 -1
- package/dist/preview-engine/{renderers-OGOW3NA4.mjs → renderers-BDI2BDBA.mjs} +1 -1
- package/dist/preview-engine/renderers-BDXCO6NR.mjs +1 -0
- package/dist/preview-engine/{renderers-EN7LXJLG.mjs → renderers-BUZ67FNZ.mjs} +1 -1
- package/dist/preview-engine/renderers-DMTGKURQ.mjs +1 -0
- package/dist/preview-engine/renderers-DU7KPFVV.mjs +1 -0
- package/dist/preview-engine/{renderers-WSABL3QO.mjs → renderers-ECXMT5BD.mjs} +1 -1
- package/dist/preview-engine/{renderers-MOEC2XZZ.mjs → renderers-EILFSWSJ.mjs} +1 -1
- package/dist/preview-engine/renderers-EPSF5CSQ.mjs +1 -0
- package/dist/preview-engine/{renderers-X6CORAES.mjs → renderers-EVEWFJ7U.mjs} +1 -1
- package/dist/preview-engine/renderers-F6PT2LON.mjs +1 -0
- package/dist/preview-engine/renderers-F7WPJXKT.mjs +1 -0
- package/dist/preview-engine/renderers-FIFF267S.mjs +1 -0
- package/dist/preview-engine/{renderers-GQM3KMV3.mjs → renderers-FQISHQEN.mjs} +1 -1
- package/dist/preview-engine/{renderers-HKLCB4U6.mjs → renderers-FXAVFNUN.mjs} +1 -1
- package/dist/preview-engine/{renderers-P2HORBZ6.mjs → renderers-GITAVRYZ.mjs} +1 -1
- package/dist/preview-engine/renderers-GTKRV225.mjs +1 -0
- package/dist/preview-engine/{renderers-KCGK33Y2.mjs → renderers-HG6JZIZO.mjs} +1 -1
- package/dist/preview-engine/{renderers-I6QKZ7CH.mjs → renderers-HHWMIDN3.mjs} +1 -1
- package/dist/preview-engine/renderers-HI3SRJVD.mjs +1 -0
- package/dist/preview-engine/{renderers-7CAHX35U.mjs → renderers-HXEDI4BD.mjs} +1 -1
- package/dist/preview-engine/{renderers-77PDUMYI.mjs → renderers-HXNSDJBY.mjs} +1 -1
- package/dist/preview-engine/{renderers-ACUJMDEK.mjs → renderers-I2ZOUFRU.mjs} +1 -1
- package/dist/preview-engine/renderers-JHFD4LHZ.mjs +1 -0
- package/dist/preview-engine/{renderers-IHGAWLUF.mjs → renderers-JMSAW7VY.mjs} +1 -1
- package/dist/preview-engine/renderers-KGVZUFHD.mjs +1 -0
- package/dist/preview-engine/{renderers-RN2MHIFK.mjs → renderers-KICDB5Y6.mjs} +1 -1
- package/dist/preview-engine/{renderers-C7SI3NIE.mjs → renderers-KKULMOV4.mjs} +1 -1
- package/dist/preview-engine/{renderers-HSFQIILN.mjs → renderers-KMVMPYY7.mjs} +1 -1
- package/dist/preview-engine/renderers-LN7WPG6I.mjs +1 -0
- package/dist/preview-engine/{renderers-BOBVXYAA.mjs → renderers-LWW4RF6D.mjs} +1 -1
- package/dist/preview-engine/renderers-LY57CZZB.mjs +1 -0
- package/dist/preview-engine/renderers-MBMJWZEW.mjs +1 -0
- package/dist/preview-engine/{renderers-VVP5WQOY.mjs → renderers-MPFU74I3.mjs} +1 -1
- package/dist/preview-engine/{renderers-H6PBHEYU.mjs → renderers-MW53LTMB.mjs} +1 -1
- package/dist/preview-engine/{renderers-PPZK6VEW.mjs → renderers-NQC4DPX4.mjs} +1 -1
- package/dist/preview-engine/renderers-OJWWIVNW.mjs +1 -0
- package/dist/preview-engine/{renderers-4IBFDW2S.mjs → renderers-PC2GOZDT.mjs} +1 -1
- package/dist/preview-engine/{renderers-UG2C3C7T.mjs → renderers-Q77UPEYE.mjs} +1 -1
- package/dist/preview-engine/renderers-QHXCFDHI.mjs +1 -0
- package/dist/preview-engine/renderers-RDYJRNAR.mjs +1 -0
- package/dist/preview-engine/renderers-RENLKAA7.mjs +1 -0
- package/dist/preview-engine/renderers-RHMRWX46.mjs +1 -0
- package/dist/preview-engine/{renderers-5XLGCEOA.mjs → renderers-RIPXT4AL.mjs} +1 -1
- package/dist/preview-engine/{renderers-FY2HOQCS.mjs → renderers-SFVFAS3C.mjs} +1 -1
- package/dist/preview-engine/{renderers-VIGZYJYX.mjs → renderers-SWQVCJHB.mjs} +1 -1
- package/dist/preview-engine/renderers-SZVDZDY7.mjs +1 -0
- package/dist/preview-engine/renderers-TTXTV4PC.mjs +228 -0
- package/dist/preview-engine/renderers-TYSLUZ53.mjs +1 -0
- package/dist/preview-engine/{renderers-6LNDAO4B.mjs → renderers-U4IXWMD6.mjs} +1 -1
- package/dist/preview-engine/renderers-VEHYARKY.mjs +1 -0
- package/dist/preview-engine/renderers-VRXAG3FR.mjs +1 -0
- package/dist/preview-engine/{renderers-33FCFHDR.mjs → renderers-VUQAZ56P.mjs} +1 -1
- package/dist/preview-engine/renderers-W5YFMLSB.mjs +1 -0
- package/dist/preview-engine/renderers-XKDWUK56.mjs +1 -0
- package/dist/preview-engine/renderers-XKSBNCLZ.mjs +1 -0
- package/dist/preview-engine/renderers-XLQXVD37.mjs +1 -0
- package/dist/preview-engine/renderers-ZHSOWEMQ.mjs +1 -0
- package/dist/preview-engine/renderers-ZMDRNYSS.mjs +1 -0
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/preview-engine/{src-4IUYUKIZ.mjs → src-YXNX4MLK.mjs} +1 -1
- package/dist/{program-Bc860ko5.mjs → program-Bn6ko_I4.mjs} +44 -17
- package/dist/program-Bn6ko_I4.mjs.map +1 -0
- package/dist/renderer/index.d.mts +4 -3
- package/dist/renderer/index.mjs +3 -3
- package/dist/{renderer-B3Dme2es.mjs → renderer--Q0pM9Vh.mjs} +5 -5
- package/dist/{renderer-B3Dme2es.mjs.map → renderer--Q0pM9Vh.mjs.map} +1 -1
- package/dist/renderer-1aSF5BmY.mjs +5 -0
- package/dist/{renderer-CAWnCsQc.mjs → renderer-45ifiDkn.mjs} +5 -5
- package/dist/{renderer-CAWnCsQc.mjs.map → renderer-45ifiDkn.mjs.map} +1 -1
- package/dist/{renderer-Cz-n883J.mjs → renderer-549d94qG.mjs} +5 -5
- package/dist/{renderer-Cz-n883J.mjs.map → renderer-549d94qG.mjs.map} +1 -1
- package/dist/{renderer-BhsrlGKp.mjs → renderer-B-LUGB9h.mjs} +74 -21
- package/dist/renderer-B-LUGB9h.mjs.map +1 -0
- package/dist/renderer-B2e4Gr9u.mjs +5 -0
- package/dist/{renderer-B1LD29TV.mjs → renderer-B5b-ehRb.mjs} +3 -3
- package/dist/{renderer-B1LD29TV.mjs.map → renderer-B5b-ehRb.mjs.map} +1 -1
- package/dist/renderer-B6fz4j50.mjs +5 -0
- package/dist/{renderer-_9gbYS-3.mjs → renderer-BCTUqJG7.mjs} +5 -5
- package/dist/{renderer-_9gbYS-3.mjs.map → renderer-BCTUqJG7.mjs.map} +1 -1
- package/dist/renderer-BEftIYw-.mjs +5 -0
- package/dist/{renderer-C9BSXyrq.mjs → renderer-BHPgkoEL.mjs} +4 -4
- package/dist/{renderer-C9BSXyrq.mjs.map → renderer-BHPgkoEL.mjs.map} +1 -1
- package/dist/renderer-BHTnO-7e.mjs +5 -0
- package/dist/{renderer-fs8f1QeE.mjs → renderer-BIieU9pY.mjs} +5 -5
- package/dist/{renderer-fs8f1QeE.mjs.map → renderer-BIieU9pY.mjs.map} +1 -1
- package/dist/{renderer-DwK9jsER.mjs → renderer-BKi6jDi_.mjs} +4 -4
- package/dist/{renderer-DwK9jsER.mjs.map → renderer-BKi6jDi_.mjs.map} +1 -1
- package/dist/renderer-BMlnQqTO.mjs +5 -0
- package/dist/{renderer-BNJ6Jk7-.mjs → renderer-BMpmmYOq.mjs} +4 -4
- package/dist/{renderer-BNJ6Jk7-.mjs.map → renderer-BMpmmYOq.mjs.map} +1 -1
- package/dist/{renderer-DkqZmfm8.mjs → renderer-BO_wuUKA.mjs} +5 -5
- package/dist/{renderer-DkqZmfm8.mjs.map → renderer-BO_wuUKA.mjs.map} +1 -1
- package/dist/renderer-BOzcFezY.mjs +5 -0
- package/dist/{renderer-Bxjb0HYU.mjs → renderer-BPOh9x5X.mjs} +4 -4
- package/dist/{renderer-Bxjb0HYU.mjs.map → renderer-BPOh9x5X.mjs.map} +1 -1
- package/dist/{renderer-Ros7XQg2.mjs → renderer-BPiWsrC2.mjs} +3 -3
- package/dist/{renderer-Ros7XQg2.mjs.map → renderer-BPiWsrC2.mjs.map} +1 -1
- package/dist/{renderer-lHNTgiOM.mjs → renderer-BUj7jE6t.mjs} +3 -3
- package/dist/{renderer-lHNTgiOM.mjs.map → renderer-BUj7jE6t.mjs.map} +1 -1
- package/dist/renderer-BVbjJIKJ.mjs +5 -0
- package/dist/renderer-BXsHKf4k.mjs +5 -0
- package/dist/{renderer-D0aAZHC7.mjs → renderer-BZgJj8Cl.mjs} +4 -4
- package/dist/{renderer-D0aAZHC7.mjs.map → renderer-BZgJj8Cl.mjs.map} +1 -1
- package/dist/{renderer-V4dhrf_h.mjs → renderer-BgjPbgbn.mjs} +6 -6
- package/dist/{renderer-V4dhrf_h.mjs.map → renderer-BgjPbgbn.mjs.map} +1 -1
- package/dist/{renderer-BaIJIfJ6.mjs → renderer-BjgFpwVK.mjs} +5 -5
- package/dist/{renderer-BaIJIfJ6.mjs.map → renderer-BjgFpwVK.mjs.map} +1 -1
- package/dist/renderer-Bks49NVl.mjs +5 -0
- package/dist/{renderer-CU8v-LxD.mjs → renderer-BlZgyBSo.mjs} +5 -5
- package/dist/{renderer-CU8v-LxD.mjs.map → renderer-BlZgyBSo.mjs.map} +1 -1
- package/dist/{renderer-B6Oeahe_.mjs → renderer-BqUAyzCZ.mjs} +5 -5
- package/dist/{renderer-B6Oeahe_.mjs.map → renderer-BqUAyzCZ.mjs.map} +1 -1
- package/dist/{renderer-h62QaJYz.mjs → renderer-Br8km655.mjs} +4 -4
- package/dist/{renderer-h62QaJYz.mjs.map → renderer-Br8km655.mjs.map} +1 -1
- package/dist/{renderer-sfqZK6L5.mjs → renderer-BsMZ5Iaq.mjs} +4 -4
- package/dist/{renderer-sfqZK6L5.mjs.map → renderer-BsMZ5Iaq.mjs.map} +1 -1
- package/dist/{renderer-g_1t2je9.mjs → renderer-BtgqTg2K.mjs} +3 -3
- package/dist/{renderer-DcvjSolU.mjs → renderer-BuvKGwk3.mjs} +11 -2
- package/dist/{renderer-DcvjSolU.mjs.map → renderer-BuvKGwk3.mjs.map} +1 -1
- package/dist/{renderer-BOrMBwQS.mjs → renderer-C-3qhk5x.mjs} +2 -2
- package/dist/{renderer-BOrMBwQS.mjs.map → renderer-C-3qhk5x.mjs.map} +1 -1
- package/dist/{renderer-CLAvn9c6.mjs → renderer-C-GTxnfv.mjs} +4 -4
- package/dist/{renderer-CLAvn9c6.mjs.map → renderer-C-GTxnfv.mjs.map} +1 -1
- package/dist/renderer-C-t7qFKr.mjs +5 -0
- package/dist/{renderer-BDZC3o3N.mjs → renderer-C1ctHdXl.mjs} +4 -4
- package/dist/{renderer-BDZC3o3N.mjs.map → renderer-C1ctHdXl.mjs.map} +1 -1
- package/dist/renderer-C24n-6CX.mjs +6 -0
- package/dist/{renderer-pNmI-A9o.mjs → renderer-C7m7Yxgc.mjs} +5 -5
- package/dist/{renderer-pNmI-A9o.mjs.map → renderer-C7m7Yxgc.mjs.map} +1 -1
- package/dist/{renderer-Bf4-N7k7.mjs → renderer-C9dqx3U7.mjs} +5 -5
- package/dist/{renderer-Bf4-N7k7.mjs.map → renderer-C9dqx3U7.mjs.map} +1 -1
- package/dist/renderer-CCReX-7M.mjs +5 -0
- package/dist/{renderer-JHByuUNb.mjs → renderer-CE4535aW.mjs} +3 -3
- package/dist/{renderer-JHByuUNb.mjs.map → renderer-CE4535aW.mjs.map} +1 -1
- package/dist/renderer-CIxFQrAm.mjs +5 -0
- package/dist/{renderer-ByjaseAo.mjs → renderer-CL-vyXgX.mjs} +5 -5
- package/dist/{renderer-ByjaseAo.mjs.map → renderer-CL-vyXgX.mjs.map} +1 -1
- package/dist/renderer-CLHBMIqJ.mjs +5 -0
- package/dist/renderer-CMJKi-Ye.mjs +5 -0
- package/dist/{renderer-B-CMRUag.mjs → renderer-CMnlgAGs.mjs} +4 -4
- package/dist/{renderer-B-CMRUag.mjs.map → renderer-CMnlgAGs.mjs.map} +1 -1
- package/dist/{renderer-BNHcwxw9.mjs → renderer-CQFMyC_c.mjs} +4 -4
- package/dist/{renderer-BNHcwxw9.mjs.map → renderer-CQFMyC_c.mjs.map} +1 -1
- package/dist/{renderer-DgPn_SOC.mjs → renderer-CYwVNbUh.mjs} +4 -4
- package/dist/{renderer-DgPn_SOC.mjs.map → renderer-CYwVNbUh.mjs.map} +1 -1
- package/dist/{renderer-DLPhfwbR.mjs → renderer-CZ5mwBW1.mjs} +3 -3
- package/dist/{renderer-DLPhfwbR.mjs.map → renderer-CZ5mwBW1.mjs.map} +1 -1
- package/dist/{renderer-4ZUv3X1I.mjs → renderer-C_1eqfI0.mjs} +5 -5
- package/dist/{renderer-4ZUv3X1I.mjs.map → renderer-C_1eqfI0.mjs.map} +1 -1
- package/dist/renderer-C_H3mHZa.mjs +5 -0
- package/dist/{renderer-B1esRxGy.mjs → renderer-CciiDHuU.mjs} +4 -4
- package/dist/{renderer-B1esRxGy.mjs.map → renderer-CciiDHuU.mjs.map} +1 -1
- package/dist/renderer-CfkTdR5B.mjs +5 -0
- package/dist/{renderer-ynFRJh7G.mjs → renderer-CgK7Q1G8.mjs} +3 -3
- package/dist/{renderer-CR0mDPYY.mjs → renderer-CnL8Cmmr.mjs} +3 -3
- package/dist/renderer-CnhkXJ0R.mjs +5 -0
- package/dist/{renderer-fwKnV9zs.mjs → renderer-Cp_HOmp7.mjs} +5 -5
- package/dist/{renderer-fwKnV9zs.mjs.map → renderer-Cp_HOmp7.mjs.map} +1 -1
- package/dist/renderer-CqpyVsq_.mjs +5 -0
- package/dist/renderer-CtWgIpTE.mjs +5 -0
- package/dist/{renderer-riIFosX6.mjs → renderer-Cu3iKMSJ.mjs} +5 -5
- package/dist/{renderer-riIFosX6.mjs.map → renderer-Cu3iKMSJ.mjs.map} +1 -1
- package/dist/{renderer-D4f8f66C.mjs → renderer-CuPAQjDK.mjs} +4 -4
- package/dist/{renderer-D4f8f66C.mjs.map → renderer-CuPAQjDK.mjs.map} +1 -1
- package/dist/{renderer-CxGx1Lhi.mjs → renderer-CwlY8Tb-.mjs} +3 -3
- package/dist/{renderer-CxGx1Lhi.mjs.map → renderer-CwlY8Tb-.mjs.map} +1 -1
- package/dist/{renderer-o68mVeyk.mjs → renderer-CxSFvKd1.mjs} +4 -4
- package/dist/{renderer-o68mVeyk.mjs.map → renderer-CxSFvKd1.mjs.map} +1 -1
- package/dist/{renderer-CrR8Mpxq.mjs → renderer-CyUiXLRa.mjs} +5 -5
- package/dist/{renderer-CrR8Mpxq.mjs.map → renderer-CyUiXLRa.mjs.map} +1 -1
- package/dist/renderer-CyuKr5ca.mjs +5 -0
- package/dist/renderer-CzgcZXKH.mjs +3 -0
- package/dist/{renderer-Bx14Wnxl.mjs → renderer-D-GWBoVT.mjs} +58 -4
- package/dist/renderer-D-GWBoVT.mjs.map +1 -0
- package/dist/{renderer-BwrfKKqw.mjs → renderer-D-fzEZfX.mjs} +4 -4
- package/dist/{renderer-BwrfKKqw.mjs.map → renderer-D-fzEZfX.mjs.map} +1 -1
- package/dist/renderer-D5yp74NL.mjs +3 -0
- package/dist/{renderer-DAn9xiQT.mjs → renderer-D8gN7aqk.mjs} +4 -4
- package/dist/{renderer-DAn9xiQT.mjs.map → renderer-D8gN7aqk.mjs.map} +1 -1
- package/dist/renderer-D9ON_1Hf.mjs +5 -0
- package/dist/renderer-DAnTgh4o.mjs +5 -0
- package/dist/{renderer-Dpl6poqD.mjs → renderer-DGOMfyh8.mjs} +2 -2
- package/dist/{renderer-Dpl6poqD.mjs.map → renderer-DGOMfyh8.mjs.map} +1 -1
- package/dist/{renderer-Rw87u1Cr.mjs → renderer-DGb_wgTW.mjs} +6 -6
- package/dist/{renderer-Rw87u1Cr.mjs.map → renderer-DGb_wgTW.mjs.map} +1 -1
- package/dist/{renderer-Co6UFbZB.mjs → renderer-DJPZs_zV.mjs} +5 -5
- package/dist/{renderer-Co6UFbZB.mjs.map → renderer-DJPZs_zV.mjs.map} +1 -1
- package/dist/renderer-DKJOon6y.d.mts +1 -0
- package/dist/{renderer-DOkbn1ot.mjs → renderer-DOZPZTxe.mjs} +5 -5
- package/dist/{renderer-DOkbn1ot.mjs.map → renderer-DOZPZTxe.mjs.map} +1 -1
- package/dist/{renderer-DaXQgGg3.mjs → renderer-DRal7Goa.mjs} +5 -5
- package/dist/{renderer-DaXQgGg3.mjs.map → renderer-DRal7Goa.mjs.map} +1 -1
- package/dist/renderer-DWgpivA3.mjs +5 -0
- package/dist/{renderer-Bo7shNdU.mjs → renderer-DXFJv_e6.mjs} +4 -4
- package/dist/{renderer-Bo7shNdU.mjs.map → renderer-DXFJv_e6.mjs.map} +1 -1
- package/dist/renderer-Dh_qNNwR.mjs +5 -0
- package/dist/renderer-DkCpXPMP.mjs +5 -0
- package/dist/{renderer-eMCTAa9e.mjs → renderer-Dp5ChuOs.mjs} +4 -4
- package/dist/{renderer-eMCTAa9e.mjs.map → renderer-Dp5ChuOs.mjs.map} +1 -1
- package/dist/{renderer-1uoKiILq.mjs → renderer-DpZballM.mjs} +3 -3
- package/dist/{renderer-1uoKiILq.mjs.map → renderer-DpZballM.mjs.map} +1 -1
- package/dist/renderer-Dre-6cDR.mjs +5 -0
- package/dist/renderer-Ds5z4_HX.mjs +5 -0
- package/dist/{renderer-7ow5Acsg.mjs → renderer-DwGlDNOV.mjs} +3 -3
- package/dist/{renderer-7ow5Acsg.mjs.map → renderer-DwGlDNOV.mjs.map} +1 -1
- package/dist/{renderer-q7q6k_cD.mjs → renderer-DxB_OfLs.mjs} +4 -4
- package/dist/{renderer-q7q6k_cD.mjs.map → renderer-DxB_OfLs.mjs.map} +1 -1
- package/dist/{renderer-DFJWPqOJ.mjs → renderer-Dz6P-rPI.mjs} +3 -3
- package/dist/{renderer-DFJWPqOJ.mjs.map → renderer-Dz6P-rPI.mjs.map} +1 -1
- package/dist/{renderer-BURhYcpA.mjs → renderer-FPiLBwj5.mjs} +4 -4
- package/dist/{renderer-BURhYcpA.mjs.map → renderer-FPiLBwj5.mjs.map} +1 -1
- package/dist/renderer-HGSCOMyP.mjs +5 -0
- package/dist/renderer-KMY8W-cJ.mjs +5 -0
- package/dist/{renderer-D-QVGphn.mjs → renderer-KgsVk9c6.mjs} +4 -4
- package/dist/{renderer-D-QVGphn.mjs.map → renderer-KgsVk9c6.mjs.map} +1 -1
- package/dist/{renderer-COcKhouz.mjs → renderer-LXhEPCmy.mjs} +5 -5
- package/dist/{renderer-COcKhouz.mjs.map → renderer-LXhEPCmy.mjs.map} +1 -1
- package/dist/{renderer-HDj9Zb-O.mjs → renderer-NBMmvqWl.mjs} +20 -7
- package/dist/renderer-NBMmvqWl.mjs.map +1 -0
- package/dist/{renderer-DE9Jik9K.mjs → renderer-Nnu32rqg.mjs} +3 -3
- package/dist/{renderer-DE9Jik9K.mjs.map → renderer-Nnu32rqg.mjs.map} +1 -1
- package/dist/renderer-R21YvXz3.mjs +5 -0
- package/dist/{renderer-celhuAL7.mjs → renderer-RAq3LnNy.mjs} +3 -3
- package/dist/{renderer-celhuAL7.mjs.map → renderer-RAq3LnNy.mjs.map} +1 -1
- package/dist/renderer-RtzCz37W.mjs +5 -0
- package/dist/{renderer-50JEMaVo.mjs → renderer-RzkU_O1i.mjs} +5 -5
- package/dist/{renderer-50JEMaVo.mjs.map → renderer-RzkU_O1i.mjs.map} +1 -1
- package/dist/{renderer-Bbxh4N8Y.mjs → renderer-S9tVGneU.mjs} +95 -80
- package/dist/renderer-S9tVGneU.mjs.map +1 -0
- package/dist/{renderer-BSELd5vU.mjs → renderer-SJyp9-62.mjs} +3 -3
- package/dist/{renderer-BSELd5vU.mjs.map → renderer-SJyp9-62.mjs.map} +1 -1
- package/dist/{renderer-jnAIhWn_.mjs → renderer-_54hiCq0.mjs} +5 -5
- package/dist/{renderer-jnAIhWn_.mjs.map → renderer-_54hiCq0.mjs.map} +1 -1
- package/dist/{renderer-88C3QpKL.d.mts → renderer-aRk849b3.d.mts} +2 -2
- package/dist/{renderer-88C3QpKL.d.mts.map → renderer-aRk849b3.d.mts.map} +1 -1
- package/dist/{renderer-BQetXCcZ.mjs → renderer-dGEMVaZ3.mjs} +4 -4
- package/dist/{renderer-BQetXCcZ.mjs.map → renderer-dGEMVaZ3.mjs.map} +1 -1
- package/dist/{renderer-RvI3qRUI.mjs → renderer-dRXP2dJU.mjs} +5 -5
- package/dist/{renderer-RvI3qRUI.mjs.map → renderer-dRXP2dJU.mjs.map} +1 -1
- package/dist/{renderer-D06HxSXO.mjs → renderer-g9SstkTz.mjs} +3 -3
- package/dist/renderer-iMrqAjix.mjs +5 -0
- package/dist/{renderer-BJ-7WRgO.mjs → renderer-opVuiAQR.mjs} +3 -3
- package/dist/{renderer-BJ-7WRgO.mjs.map → renderer-opVuiAQR.mjs.map} +1 -1
- package/dist/{renderer-KKk7myX1.mjs → renderer-puQhVfDS.mjs} +5 -5
- package/dist/{renderer-KKk7myX1.mjs.map → renderer-puQhVfDS.mjs.map} +1 -1
- package/dist/renderer-sMed1u1O.mjs +5 -0
- package/dist/renderer-tsAuo46l.mjs +5 -0
- package/dist/{renderer-TKZCA0B9.mjs → renderer-vll8LX0I.mjs} +211 -72
- package/dist/renderer-vll8LX0I.mjs.map +1 -0
- package/dist/{renderers-CP8CFWDs-DRoslK4F.mjs → renderers-CP8CFWDs-BRQyvcut.mjs} +4 -4
- package/dist/{renderers-CP8CFWDs-DRoslK4F.mjs.map → renderers-CP8CFWDs-BRQyvcut.mjs.map} +1 -1
- package/dist/sam/index.d.mts +3 -3
- package/dist/sam/index.mjs +1 -1
- package/dist/signals/index.d.mts +7 -7
- package/dist/signals/index.mjs +8 -8
- package/dist/{signals-BfJ1aqpT.mjs → signals-tiho_9fp.mjs} +4 -4
- package/dist/{signals-BfJ1aqpT.mjs.map → signals-tiho_9fp.mjs.map} +1 -1
- package/dist/{src-Bnr8DUC--BRDqRF6I.mjs → src-BU6vm9sP-DdTHmCr4.mjs} +76 -11
- package/dist/src-BU6vm9sP-DdTHmCr4.mjs.map +1 -0
- package/dist/{src-BYp6r-cS.mjs → src-BzFGotRc.mjs} +250 -30
- package/dist/src-BzFGotRc.mjs.map +1 -0
- package/dist/storage/index.d.mts +206 -0
- package/dist/storage/index.d.mts.map +1 -0
- package/dist/storage/index.mjs +3 -0
- package/package.json +67 -59
- package/dist/audio-CYZkDwae.d.mts.map +0 -1
- package/dist/cloud-xcfV4J03.mjs +0 -233
- package/dist/cloud-xcfV4J03.mjs.map +0 -1
- package/dist/dist-CWLLnigL.mjs.map +0 -1
- package/dist/dist-CySGkG54.mjs.map +0 -1
- package/dist/dist-EQX3TUUl.mjs.map +0 -1
- package/dist/gpu-CpkJJLQP.mjs.map +0 -1
- package/dist/index-BuiZzc6i.d.mts.map +0 -1
- package/dist/index-CEU_Zsb9.d.mts.map +0 -1
- package/dist/index-CdCrae-I.d.mts.map +0 -1
- package/dist/index-Cro-818i.d.mts.map +0 -1
- package/dist/index-D2i9J9Zq.d.mts.map +0 -1
- package/dist/index-gOVtTm-P.d.mts.map +0 -1
- package/dist/preview-BToKUTtZ.mjs.map +0 -1
- package/dist/preview-engine/chunk-4FY4TNST.mjs +0 -1
- package/dist/preview-engine/chunk-7LDSMOO3.mjs +0 -1
- package/dist/preview-engine/chunk-AGAZJZWI.mjs +0 -1
- package/dist/preview-engine/chunk-BXPM5SJ3.mjs +0 -1
- package/dist/preview-engine/chunk-C4M3B2Q2.mjs +0 -1
- package/dist/preview-engine/chunk-CIVJXFWH.mjs +0 -4
- package/dist/preview-engine/chunk-D73ZKPFN.mjs +0 -138
- package/dist/preview-engine/chunk-KOVN277Z.mjs +0 -1
- package/dist/preview-engine/chunk-M4QANUJI.mjs +0 -480
- package/dist/preview-engine/chunk-P4Y3PMJF.mjs +0 -1
- package/dist/preview-engine/chunk-SE2C623Z.mjs +0 -5
- package/dist/preview-engine/chunk-XF6DYP6B.mjs +0 -1974
- package/dist/preview-engine/chunk-XYGDTPO7.mjs +0 -39
- package/dist/preview-engine/chunk-YGKO4NIU.mjs +0 -1
- package/dist/preview-engine/renderers-2NGIILMI.mjs +0 -1
- package/dist/preview-engine/renderers-466Z77BH.mjs +0 -1
- package/dist/preview-engine/renderers-4KRENGZA.mjs +0 -1
- package/dist/preview-engine/renderers-4W52BQEU.mjs +0 -1
- package/dist/preview-engine/renderers-55PRAS7G.mjs +0 -1
- package/dist/preview-engine/renderers-5LLYINHW.mjs +0 -1
- package/dist/preview-engine/renderers-63N3Y2XO.mjs +0 -1
- package/dist/preview-engine/renderers-6ROVFDIN.mjs +0 -1
- package/dist/preview-engine/renderers-A4RVLPMG.mjs +0 -1
- package/dist/preview-engine/renderers-A53P4J6O.mjs +0 -1
- package/dist/preview-engine/renderers-AFJ3373L.mjs +0 -1
- package/dist/preview-engine/renderers-ATFWTA3U.mjs +0 -1
- package/dist/preview-engine/renderers-BPYJXHBU.mjs +0 -1
- package/dist/preview-engine/renderers-D3ZF7FXT.mjs +0 -1
- package/dist/preview-engine/renderers-D7YN6B4B.mjs +0 -1
- package/dist/preview-engine/renderers-DBLASKF5.mjs +0 -1
- package/dist/preview-engine/renderers-DC5ZYYHM.mjs +0 -1
- package/dist/preview-engine/renderers-J6ZEXW5L.mjs +0 -1
- package/dist/preview-engine/renderers-JV4MF46Q.mjs +0 -1
- package/dist/preview-engine/renderers-KQKH4ZIX.mjs +0 -1
- package/dist/preview-engine/renderers-MDHPQY6D.mjs +0 -1
- package/dist/preview-engine/renderers-MEITHN4N.mjs +0 -1
- package/dist/preview-engine/renderers-MN3HSBTJ.mjs +0 -1
- package/dist/preview-engine/renderers-NTG3QGNH.mjs +0 -1
- package/dist/preview-engine/renderers-OU4SFMB2.mjs +0 -1
- package/dist/preview-engine/renderers-P6TIBJIG.mjs +0 -1
- package/dist/preview-engine/renderers-POJWQ7L3.mjs +0 -1
- package/dist/preview-engine/renderers-RJ7S6VHD.mjs +0 -1
- package/dist/preview-engine/renderers-RJJAJZYN.mjs +0 -1
- package/dist/preview-engine/renderers-UEQ733VK.mjs +0 -1
- package/dist/preview-engine/renderers-ULO2AW2U.mjs +0 -1
- package/dist/preview-engine/renderers-UPVHGHCK.mjs +0 -1
- package/dist/preview-engine/renderers-UZHSNNIM.mjs +0 -1
- package/dist/preview-engine/renderers-V5KWZL2C.mjs +0 -1
- package/dist/preview-engine/renderers-WL372W36.mjs +0 -228
- package/dist/preview-engine/renderers-YMXKYOHQ.mjs +0 -1
- package/dist/preview-engine/renderers-YWDAZ2NZ.mjs +0 -1
- package/dist/program-Bc860ko5.mjs.map +0 -1
- package/dist/renderer--Ymc_4XJ.mjs +0 -5
- package/dist/renderer-B-OdV-eq.mjs +0 -5
- package/dist/renderer-B65fwoA2.mjs +0 -5
- package/dist/renderer-B92Ahkcv.mjs +0 -5
- package/dist/renderer-B9z2AK31.mjs +0 -5
- package/dist/renderer-BIF3Dg3Z.mjs +0 -5
- package/dist/renderer-BJUVaIAT.mjs +0 -5
- package/dist/renderer-BKRDMbI-.mjs +0 -5
- package/dist/renderer-BSwhyVWa.mjs +0 -5
- package/dist/renderer-BUqSZn2X.mjs +0 -5
- package/dist/renderer-BVKOQarx.d.mts +0 -99
- package/dist/renderer-BVKOQarx.d.mts.map +0 -1
- package/dist/renderer-BbmvjqK9.mjs +0 -3
- package/dist/renderer-Bbxh4N8Y.mjs.map +0 -1
- package/dist/renderer-BhsrlGKp.mjs.map +0 -1
- package/dist/renderer-Bpe4k_x6.mjs +0 -5
- package/dist/renderer-Bx14Wnxl.mjs.map +0 -1
- package/dist/renderer-C1NjG0CJ.mjs +0 -5
- package/dist/renderer-C7Puyst9.mjs +0 -5
- package/dist/renderer-CGA_7320.mjs +0 -5
- package/dist/renderer-CLnFkXO7.mjs +0 -5
- package/dist/renderer-CMQIT1Kh.mjs +0 -5
- package/dist/renderer-CQ1rwjIh.mjs +0 -5
- package/dist/renderer-CT8h0boY.mjs +0 -5
- package/dist/renderer-Cb0lszt3.mjs +0 -5
- package/dist/renderer-Ci7oLye9.mjs +0 -5
- package/dist/renderer-CjqXB3CZ.mjs +0 -5
- package/dist/renderer-CqTV04zQ.mjs +0 -5
- package/dist/renderer-CtWeRtHK.mjs +0 -5
- package/dist/renderer-CzolnwCo.mjs +0 -5
- package/dist/renderer-D6qhcx_C.mjs +0 -5
- package/dist/renderer-DDfEf0jt.mjs +0 -5
- package/dist/renderer-DDpa8ztp.mjs +0 -5
- package/dist/renderer-DbQBqzmx.mjs +0 -5
- package/dist/renderer-DfUcwMKa.mjs +0 -5
- package/dist/renderer-DgIjNANM.mjs +0 -6
- package/dist/renderer-Dsh6Tgu0.mjs +0 -3
- package/dist/renderer-DuIwR9GT.mjs +0 -5
- package/dist/renderer-Dv4u2c14.mjs +0 -5
- package/dist/renderer-HDj9Zb-O.mjs.map +0 -1
- package/dist/renderer-IE1yu3lZ.mjs +0 -5
- package/dist/renderer-PY_wnEN0.mjs +0 -5
- package/dist/renderer-TKZCA0B9.mjs.map +0 -1
- package/dist/renderer-gv24VyzO.mjs +0 -5
- package/dist/renderer-nN6lPZf9.mjs +0 -5
- package/dist/src-BYp6r-cS.mjs.map +0 -1
- package/dist/src-Bnr8DUC--BRDqRF6I.mjs.map +0 -1
- /package/dist/{chunk-W71TSjRM.mjs → chunk-DOL2i2sR.mjs} +0 -0
- /package/dist/{renderer-B6rZUBwE.mjs → renderer-Co2YqWX0.mjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dist-Dg9LMWoX.mjs","names":["Sam2Tracker","Sam3TextSelector","Sam3Tracker"],"sources":["../../vision-sam/dist/index.mjs"],"sourcesContent":["import { VISION_MODELS, VisionModelStore, concat, createDefaultSessionProvider, encoder, fields, firstString, imageToTensor, lengthDelimited, readVarint, registerVisionModel, sessionCompute, strings, varint } from \"@framefields/vision\";\nimport { z } from \"zod\";\nimport { Tokenizer } from \"@huggingface/tokenizers\";\n\n//#region src/license.ts\nconst SAM_LICENSE_TERMS_URL = \"https://github.com/facebookresearch/sam3/blob/main/LICENSE\";\n/**\n* Ensures that the user has explicitly accepted Meta's SAM License terms before\n* downloading SAM 3 weights or performing inference. SAM 2.1's weights are Apache-2.0 and\n* need no acceptance.\n*/\nfunction assertSamLicenseAccepted(context = \"SAM 3\", options) {\n\tif (options?.acceptLicense) return;\n\tif (typeof process !== \"undefined\" && process.env?.FRAMEFIELDS_ACCEPT_SAM_LICENSE === \"1\") return;\n\tthrow new Error(`Meta SAM License agreement required for ${context}:\\nSAM 3's model weights are subject to Meta's SAM License.\\nReview terms at: ${SAM_LICENSE_TERMS_URL}\\nTo download and run SAM 3 in Framefields, you must explicitly accept the terms by:\\n 1. Passing 'acceptLicense: true' (or 'acceptSamLicense: true' in ClipVision options), or\\n 2. Setting the environment variable FRAMEFIELDS_ACCEPT_SAM_LICENSE=1.`);\n}\n\n//#endregion\n//#region src/models/registry.ts\n/**\n* Diffusion Studio's fp16 video exports of Meta SAM 2.1 (Apache-2.0). Tiny is built for\n* speed at 512² (32×32 features); Small runs SAM 2's native 1024² (64×64), resolving small\n* objects, thin structures and identity after cuts better at roughly 4× the encoder and\n* 16× the memory-attention work.\n*/\nconst SAM2_EXPORTS = {\n\ttiny: {\n\t\trepo: \"diffusionstudio/sam2.1-tiny-video-onnx-fp16\",\n\t\trevision: \"66673b5db39371b7dd7847f4d3bc0d4f4179b79e\",\n\t\tsize: 512,\n\t\tname: \"Hiera Tiny\"\n\t},\n\tsmall: {\n\t\trepo: \"diffusionstudio/sam2.1-small-video-onnx-fp16\",\n\t\trevision: \"927ecec6e6ae2727d0af7720eefdb07f2efe4689\",\n\t\tsize: 1024,\n\t\tname: \"Hiera Small\"\n\t}\n};\n/**\n* The encoder precision each backend runs fastest. Measured on an M1 Pro (one 1008² frame):\n* WebGPU fp16 3.65 s, q4f16 4.43 s, q4 6.63 s, int8 140 s (its ops fall back to the CPU);\n* fp16 is also the closest to full precision. On WebGPU, 4-bit weights are dequantized\n* before every matmul, so they only save memory. CUDA runs fp16 on tensor cores. CPUs have\n* no fast fp16 path, so they get fp32-activation q4.\n*/\nconst SAM3_ENCODER = {\n\twebgpu: \"fp16\",\n\tcuda: \"fp16\",\n\tcpu: \"q4\"\n};\nconst SAM_LICENSE = \"Meta SAM License\";\nconst hf = (repo, revision, path) => `https://huggingface.co/${repo}/resolve/${revision}/${path}`;\nconst sam2 = (model$1, graph, [path, bytes, sha256]) => {\n\tconst { repo, revision, size, name } = SAM2_EXPORTS[model$1];\n\tconst key = `sam2.1-${model$1}-${graph}`;\n\treturn {\n\t\tkey,\n\t\tfamily: \"sam2\",\n\t\tfilename: `${key}${path.slice(path.lastIndexOf(\".\"))}`,\n\t\turl: hf(repo, revision, path),\n\t\tbytes,\n\t\tsha256,\n\t\tinput: [size, size],\n\t\tsource: `Meta SAM 2.1 ${name} (Apache-2.0), Diffusion Studio ${size}px fp16 video export`,\n\t\tlicense: \"Apache-2.0\"\n\t};\n};\nconst sam3 = (repo, revision) => (key, filename, [path, bytes, sha256]) => ({\n\tkey,\n\tfamily: \"sam3\",\n\tfilename,\n\turl: hf(repo, revision, path),\n\tbytes,\n\tsha256,\n\tinput: [1008, 1008],\n\tsource: `Meta SAM 3 (${SAM_LICENSE}), pinned ${repo} ONNX export`,\n\tlicense: SAM_LICENSE\n});\nconst tracker = sam3(\"onnx-community/sam3-tracker-ONNX\", \"429305c8a5b3de597243d919a07e4e6bdcd00ef7\");\n/** The tracker encoder at `precision`: its graph and the weights file the graph names. */\nfunction encoder$1(precision, [graphBytes, graphSha], [dataBytes, dataSha]) {\n\tconst { graph, data } = sam3EncoderFiles(precision);\n\treturn [tracker(`sam3-vision_encoder-${precision}`, `sam3-${graph}`, [\n\t\t`onnx/${graph}`,\n\t\tgraphBytes,\n\t\tgraphSha\n\t]), tracker(`sam3-vision_encoder-${precision}-data`, `sam3-${data}`, [\n\t\t`onnx/${data}`,\n\t\tdataBytes,\n\t\tdataSha\n\t])];\n}\n/** File names of the encoder at `precision`; the graph refers to its weights by `data`. */\nfunction sam3EncoderFiles(precision) {\n\tconst graph = `vision_encoder_${precision}.onnx`;\n\treturn {\n\t\tgraph,\n\t\tdata: `${graph}_data`\n\t};\n}\nconst video = sam3(\"jax-image-tools/sam3-video-onnx\", \"e942689a73d942f83c69b5965881cb3a0f6153ba\");\nconst support = sam3(\"RamRom/sam3-onnx\", \"68ce2746e903966a88549cdd08ab554ff9162db0\");\nconst text$1 = sam3(\"danilobukvic/sam3-text-onnx\", \"fe8f8e123bfa42d4e57d14fa2f4928a4c60f4665\");\nconst SUPPORT_GRAPH = \"bundles/sam3-base-video-tracking-ortcuda-v2/graphs/base_tracker_preview_single1.onnx\";\nconst SAM_MODELS = [\n\tsam2(\"tiny\", \"constants\", [\n\t\t\"constants.json\",\n\t\t9781,\n\t\t\"67583810f4b80b762285377a5cc1066bbe19cdf8ef7fc87ff6aa78fc79830ef2\"\n\t]),\n\tsam2(\"tiny\", \"vision_encoder\", [\n\t\t\"onnx/vision_encoder.onnx\",\n\t\t58385353,\n\t\t\"24e9ccf5994be5c8dd93ebe771a4cc4f8bb122d0524555ac3ba4e7141710b133\"\n\t]),\n\tsam2(\"tiny\", \"mask_decoder\", [\n\t\t\"onnx/mask_decoder.onnx\",\n\t\t8898805,\n\t\t\"6bc158b0d028777ca2e25203ece0f27429c436de39a5c7fe301b3858d6059789\"\n\t]),\n\tsam2(\"tiny\", \"memory_encoder\", [\n\t\t\"onnx/memory_encoder.onnx\",\n\t\t2807753,\n\t\t\"8b2bb6810444cee684ef938b7464c5645653f236014f5497c3db3654818cc7ce\"\n\t]),\n\tsam2(\"tiny\", \"memory_attention\", [\n\t\t\"onnx/memory_attention.onnx\",\n\t\t13029470,\n\t\t\"67c4e4da01bc7f501b88294bb19a8200362915ece04e9d7e367a437658f342c9\"\n\t]),\n\tsam2(\"tiny\", \"pointer_tpos\", [\n\t\t\"onnx/pointer_tpos.onnx\",\n\t\t34228,\n\t\t\"3ab5bfce40ed01208301b2d8f596b9c9f7f493dcd7e09ef01ec22e5be3694bd7\"\n\t]),\n\tsam2(\"small\", \"constants\", [\n\t\t\"constants.json\",\n\t\t9820,\n\t\t\"09397f7251c159b64a2d581cc3ea0dbb3cf720c2e60777cb14e244405ed1c305\"\n\t]),\n\tsam2(\"small\", \"vision_encoder\", [\n\t\t\"onnx/vision_encoder.onnx\",\n\t\t83679474,\n\t\t\"fb570036f5afac59ef20848958b075c84da746e333efd863104d94604652efc4\"\n\t]),\n\tsam2(\"small\", \"mask_decoder\", [\n\t\t\"onnx/mask_decoder.onnx\",\n\t\t8910345,\n\t\t\"999b3b47bf2e924d522ed6cc011fa2c9b651754cc07895eb0da16a28a5ce7c4d\"\n\t]),\n\tsam2(\"small\", \"memory_encoder\", [\n\t\t\"onnx/memory_encoder.onnx\",\n\t\t2807884,\n\t\t\"f36324e383dbf21fcd549169aedf698db00c307fd9a49538c0e5f0aa168e4f99\"\n\t]),\n\tsam2(\"small\", \"memory_attention\", [\n\t\t\"onnx/memory_attention.onnx\",\n\t\t16175204,\n\t\t\"6666be8ca502b5c16e9a113d3d3934996d32f27e93bee5e66a8317fcceec9985\"\n\t]),\n\tsam2(\"small\", \"pointer_tpos\", [\n\t\t\"onnx/pointer_tpos.onnx\",\n\t\t34228,\n\t\t\"f9c1b36e0aa9dc6b7c05b02a8fdaa17cc671d967ffcacc14fcd3177e65ec25e9\"\n\t]),\n\t...encoder$1(\"fp16\", [1263005, \"f8c52be6de99124bb17f25792054406abc482ce3502166f948d5c5849cd14d02\"], [934729728, \"4b021a4d3068c9e9153f2f2fcc9e6d280156228671c00ab6c2ddfa737da7f151\"]),\n\t...encoder$1(\"q4f16\", [1307816, \"4b96732adab3d7d70ac0964ce540a61fad097fbc10c9b27612f47d676877cefc\"], [295622656, \"d1d60808376dbd48e34cf89feaee708c13abed229f2398ab512149db34fdab07\"]),\n\t...encoder$1(\"q4\", [1320396, \"b80cb1cb6ab80efe646ad49ffa11d398af76e8912eb966971932ef2d8e7fe11b\"], [368954368, \"be632cacb4a82ef8be28285e49821b9dd7f96e3231cb90df631890f367110555\"]),\n\tvideo(\"sam3-mask_decoder\", \"sam3-mask_decoder.onnx\", [\n\t\t\"mask_decoder.onnx\",\n\t\t17809322,\n\t\t\"4dff9a588828eeceba4285be85fb9c2a0306447ad642d02b1d8f6bfff1f19af9\"\n\t]),\n\tvideo(\"sam3-memory_encoder\", \"sam3-memory_encoder.onnx\", [\n\t\t\"memory_encoder.onnx\",\n\t\t5587704,\n\t\t\"78146118c2f91073489926bb587a81f129c391b2e0d1dba3aede6fbaa699498f\"\n\t]),\n\tvideo(\"sam3-memory_attention\", \"sam3-memory_attention.onnx\", [\n\t\t\"memory_attention.onnx\",\n\t\t34592488,\n\t\t\"8b24dc20acbb485b81f0e67ed0980b747aaa836707ccff4567a87e59c0ca1c24\"\n\t]),\n\tsupport(\"sam3-support\", \"sam3-base_tracker_preview_single1.onnx\", [\n\t\tSUPPORT_GRAPH,\n\t\t3064674,\n\t\t\"d80c1958175d5de6ca72f5b95d24d853dbdb511e0851d5918a4dcf7ed000f3ea\"\n\t]),\n\tsupport(\"sam3-support-data\", \"sam3-base_tracker_preview_single1.onnx.data\", [\n\t\t`${SUPPORT_GRAPH}.data`,\n\t\t63668224,\n\t\t\"618f62fbac368e863ee295526efd84ca768fb9914c7e1a5d9f1fb0f28837dda1\"\n\t]),\n\ttext$1(\"sam3-text-vision_encoder\", \"sam3-vision_encoder_int4_fp16attn.onnx\", [\n\t\t\"vision_encoder_int4_fp16attn.onnx\",\n\t\t5216609,\n\t\t\"9d148134938a6a284a829733774d3b1356a706a3397bb1d4be240bf041e3ac0e\"\n\t]),\n\ttext$1(\"sam3-text-vision_encoder-data\", \"sam3-vision_encoder_int4_fp16attn.onnx.data\", [\n\t\t\"vision_encoder_int4_fp16attn.onnx.data\",\n\t\t292836352,\n\t\t\"b89c9156064e926761f29be3f87b160fd34f4c93f1de46593295d155621829a2\"\n\t]),\n\ttext$1(\"sam3-text-encoder\", \"sam3-text_encoder_int8.onnx\", [\n\t\t\"text_encoder_int8.onnx\",\n\t\t357021801,\n\t\t\"c0baf8a4165ecc4039bee9389903723e74a68d617d685a4f1dbfc21c58bb4121\"\n\t]),\n\ttext$1(\"sam3-text-decoder\", \"sam3-decoder_int8.onnx\", [\n\t\t\"decoder_int8.onnx\",\n\t\t26804694,\n\t\t\"d721e7b643bb3ee2c48a59d520401c035c702cfbb13cb7f50fa103f0beb27af8\"\n\t]),\n\ttext$1(\"sam3-tokenizer\", \"sam3-tokenizer.json\", [\n\t\t\"tokenizer.json\",\n\t\t3642073,\n\t\t\"6d9109cc838977f3ca94a379eec36aecc7c807e1785cd729660ca2fc0171fb35\"\n\t]),\n\ttext$1(\"sam3-tokenizer-config\", \"sam3-tokenizer_config.json\", [\n\t\t\"tokenizer_config.json\",\n\t\t799,\n\t\t\"39670ad98457fe8f14ca59f6bb74591e9fc850974380a63993e5b8ffc865baa2\"\n\t])\n];\n/** Registers the SAM descriptors into the shared vision registry (idempotent). */\nfunction ensureSamModelsRegistered() {\n\tfor (const descriptor of SAM_MODELS) if (!VISION_MODELS[descriptor.key]) registerVisionModel(descriptor);\n}\n\n//#endregion\n//#region src/sam2/memory.ts\nvar Sam2MemoryBank = class {\n\tseed;\n\trecent = [];\n\tconstructor(temporal) {\n\t\tthis.temporal = temporal;\n\t}\n\tremember(memory, prompted) {\n\t\tif (prompted) {\n\t\t\tthis.seed = memory;\n\t\t\tthis.recent = [];\n\t\t} else {\n\t\t\tthis.recent.push(memory);\n\t\t\tif (this.recent.length > 15) this.recent.shift();\n\t\t}\n\t}\n\tassemble(frame, frameCount = 16) {\n\t\tif (!this.seed) throw new Error(\"SAM 2 must be prompted before propagation.\");\n\t\tconst newest = [...this.recent].reverse();\n\t\tconst blocks = [this.seed, ...newest.slice(0, 6)];\n\t\twhile (blocks.length < 7) blocks.push(blocks[1] ?? this.seed);\n\t\tconst pointers = [this.seed, ...newest].slice(0, 16);\n\t\twhile (pointers.length < 16) pointers.push(pointers[pointers.length - 1]);\n\t\tconst length = this.seed.tokens.length;\n\t\tconst memory = new Float32Array(length * 7 + 16 * 256);\n\t\tconst positions = new Float32Array(memory.length);\n\t\tfor (const [slot, block] of blocks.entries()) {\n\t\t\tmemory.set(block.tokens, slot * length);\n\t\t\tconst available = Math.min(slot, this.recent.length);\n\t\t\tconst row = this.temporal[slot === 0 || available === 0 ? 6 : available - 1];\n\t\t\twritePositions(positions, slot * length, block.positions, row);\n\t\t}\n\t\tconst distances = new Float32Array(16);\n\t\tfor (const [i, entry] of pointers.entries()) {\n\t\t\tmemory.set(entry.pointer, length * 7 + i * 256);\n\t\t\tdistances[i] = Math.abs(frame - entry.frame) / Math.max(1, Math.min(frameCount, 16) - 1);\n\t\t}\n\t\treturn {\n\t\t\tmemory,\n\t\t\tpositions,\n\t\t\tdistances\n\t\t};\n\t}\n};\n/** NCHW features to the sequence-major layout consumed by memory attention. */\nfunction sam2Tokens(data) {\n\tconst count = data.length / 256;\n\tconst result = new Float32Array(data.length);\n\tfor (let channel = 0; channel < 256; channel++) for (let token = 0; token < count; token++) result[token * 256 + channel] = data[channel * count + token] ?? 0;\n\treturn result;\n}\nfunction writePositions(target, offset, spatial, temporal) {\n\tif (!temporal || temporal.length !== 64) throw new Error(\"Invalid SAM 2 temporal encoding.\");\n\tfor (let i = 0; i < spatial.length; i++) target[offset + i] = (spatial[i] ?? 0) + (temporal[i % 64] ?? 0);\n}\n\n//#endregion\n//#region src/sam2/types.ts\nfunction validateSam2Prompts(prompts) {\n\tif (prompts.length === 0) throw new Error(\"SAM 2 requires at least one prompt.\");\n\tlet previous = -1;\n\tfor (const prompt of prompts) {\n\t\tif (!Number.isSafeInteger(prompt.frame) || prompt.frame <= previous) throw new Error(\"SAM 2 prompt frames must be nonnegative, unique and increasing.\");\n\t\tprevious = prompt.frame;\n\t\tif (prompt.points.length === 0) throw new Error(\"SAM 2 prompts need points or a box.\");\n\t\tfor (const point of prompt.points) validatePoint(point);\n\t\tconst corners = prompt.points.filter((point) => point.label >= 2);\n\t\tif (corners.length && (corners.length !== 2 || corners[0]?.label !== 2 || corners[1]?.label !== 3 || corners[0].x >= corners[1].x || corners[0].y >= corners[1].y)) throw new Error(\"SAM 2 boxes need top-left (2) and bottom-right (3) corners.\");\n\t}\n}\nfunction validatePoint(point) {\n\tif (![\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3\n\t].includes(point.label) || !Number.isFinite(point.x) || !Number.isFinite(point.y) || point.x < 0 || point.x > 1 || point.y < 0 || point.y > 1) throw new Error(\"SAM 2 points require normalized coordinates and labels 0, 1, 2 or 3.\");\n}\n\n//#endregion\n//#region src/sam2/tracker.ts\nconst constantsSchema = z.object({\n\timage_size: z.number().int().positive().multipleOf(16),\n\tmemory_frames: z.literal(7),\n\timage_mean: z.tuple([\n\t\tz.number(),\n\t\tz.number(),\n\t\tz.number()\n\t]),\n\timage_std: z.tuple([\n\t\tz.number().positive(),\n\t\tz.number().positive(),\n\t\tz.number().positive()\n\t]),\n\tmemory_temporal_positional_encoding: z.array(z.array(z.number()).length(64)).length(7)\n});\nconst GRAPHS = [\n\t\"vision_encoder\",\n\t\"mask_decoder\",\n\t\"memory_encoder\",\n\t\"memory_attention\",\n\t\"pointer_tpos\"\n];\n/** The pinned export revision of `model`: part of ClipVision's persistent cache identity. */\nfunction sam2Revision(model$1 = \"tiny\") {\n\treturn `sam2.1-${model$1}-${SAM2_EXPORTS[model$1].revision}`;\n}\nfunction floats(outputs, name) {\n\tconst tensor$2 = outputs[name];\n\tif (!tensor$2 || !(tensor$2.data instanceof Float32Array)) throw new Error(`Missing SAM 2 float output: ${name}`);\n\treturn tensor$2.data;\n}\nfunction input(name, tensor$2) {\n\tif (tensor$2.data instanceof BigInt64Array) throw new Error(`Unsupported SAM 2 input type: ${name}`);\n\treturn {\n\t\tname,\n\t\tdata: tensor$2.data,\n\t\tdims: tensor$2.dims\n\t};\n}\nfunction tensor$1(name, data, dims) {\n\treturn {\n\t\tname,\n\t\tdata,\n\t\tdims\n\t};\n}\n/** Complete pinned SAM 2.1 video graph pipeline (Tiny or Small), one explicitly selected object. */\nvar Sam2Tracker = class Sam2Tracker {\n\tsessions = /* @__PURE__ */ new Map();\n\tbank;\n\t/** Model input side; image features are `size / 16` square, one memory token per cell. */\n\tsize;\n\ttokens;\n\tlastFrame = -1;\n\treleased = false;\n\tconstructor(constants, frameCount = 16) {\n\t\tthis.constants = constants;\n\t\tthis.frameCount = frameCount;\n\t\tthis.bank = new Sam2MemoryBank(constants.memory_temporal_positional_encoding);\n\t\tthis.size = constants.image_size;\n\t\tthis.tokens = (this.size / 16) ** 2;\n\t}\n\tstatic async create(options = {}) {\n\t\tensureSamModelsRegistered();\n\t\tconst store = options.store ?? new VisionModelStore(options);\n\t\tconst model$1 = options.model ?? \"tiny\";\n\t\tif (!(model$1 in SAM2_EXPORTS)) throw new Error(`Unknown SAM 2.1 model \"${model$1}\"; use \"tiny\" or \"small\".`);\n\t\tconst bytes = await store.ensure(`sam2.1-${model$1}-constants`);\n\t\tconst constants = constantsSchema.parse(JSON.parse(new TextDecoder().decode(bytes)));\n\t\tif (options.frameCount !== void 0 && (!Number.isSafeInteger(options.frameCount) || options.frameCount < 1)) throw new Error(\"SAM 2 frameCount must be a positive integer.\");\n\t\tconst tracker$1 = new Sam2Tracker(constants, options.frameCount);\n\t\tconst provider = options.provider ?? createDefaultSessionProvider();\n\t\ttry {\n\t\t\tfor (const graph of GRAPHS) {\n\t\t\t\tconst session = await provider.createSession(await store.ensure(`sam2.1-${model$1}-${graph}`));\n\t\t\t\ttracker$1.sessions.set(graph, session);\n\t\t\t}\n\t\t\treturn tracker$1;\n\t\t} catch (error) {\n\t\t\ttracker$1.release();\n\t\t\tthrow error;\n\t\t}\n\t}\n\trun(graph, inputs) {\n\t\tconst session = this.sessions.get(graph);\n\t\tif (!session) throw new Error(\"SAM 2 tracker has been released.\");\n\t\tif (session.runMany) return session.runMany(inputs);\n\t\tif (inputs.length === 1 && inputs[0]) return session.run(inputs[0]);\n\t\tthrow new Error(\"SAM 2 requires a session provider with runMany support.\");\n\t}\n\tasync process(image, frame, points) {\n\t\tif (this.released) throw new Error(\"SAM 2 tracker has been released.\");\n\t\tif (!Number.isSafeInteger(frame) || frame < 0 || this.lastFrame >= 0 && frame !== this.lastFrame + 1) throw new Error(\"SAM 2 propagation requires consecutive source frames.\");\n\t\tif (points) validateSam2Prompts([{\n\t\t\tframe,\n\t\t\tpoints\n\t\t}]);\n\t\tif (this.lastFrame < 0 && !points) throw new Error(\"SAM 2 needs a prompt on its first frame.\");\n\t\tconst { tensor: pixels } = imageToTensor(image, {\n\t\t\twidth: this.size,\n\t\t\theight: this.size,\n\t\t\tfit: \"stretch\",\n\t\t\tchannels: \"rgb\",\n\t\t\tpadValue: 0,\n\t\t\tmean: this.constants.image_mean.map((v) => v * 255),\n\t\t\tstd: this.constants.image_std.map((v) => v * 255)\n\t\t});\n\t\tconst vision = await this.run(\"vision_encoder\", [tensor$1(\"pixel_values\", pixels, [\n\t\t\t1,\n\t\t\t3,\n\t\t\tthis.size,\n\t\t\tthis.size\n\t\t])]);\n\t\tconst conditioned = points ? vision.feats2_no_mem : await this.condition(vision, frame);\n\t\tif (!conditioned || !vision.feats0 || !vision.feats1) throw new Error(\"Invalid SAM 2 vision outputs.\");\n\t\tconst prompt = points ?? [{\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\tlabel: -1\n\t\t}];\n\t\tconst decoded = await this.run(\"mask_decoder\", [\n\t\t\tinput(\"feats0\", vision.feats0),\n\t\t\tinput(\"feats1\", vision.feats1),\n\t\t\tinput(\"feats2_cond\", conditioned),\n\t\t\ttensor$1(\"input_points\", Float32Array.from(prompt.flatMap((p) => [p.x * this.size, p.y * this.size])), [\n\t\t\t\t1,\n\t\t\t\t1,\n\t\t\t\tprompt.length,\n\t\t\t\t2\n\t\t\t]),\n\t\t\ttensor$1(\"input_labels\", Int32Array.from(prompt.map((p) => p.label)), [\n\t\t\t\t1,\n\t\t\t\t1,\n\t\t\t\tprompt.length\n\t\t\t])\n\t\t]);\n\t\tawait this.remember(vision, decoded, frame, points !== void 0);\n\t\tthis.lastFrame = frame;\n\t\treturn decodeSam2Mask(floats(decoded, \"high_res_mask\"), image.width, image.height, floats(decoded, \"object_score_logits\")[0] ?? -Infinity, floats(decoded, \"iou\")[0] ?? 0);\n\t}\n\tasync condition(vision, frame) {\n\t\tconst bank = this.bank.assemble(frame, this.frameCount);\n\t\tconst positions = floats(await this.run(\"pointer_tpos\", [tensor$1(\"normalized_diffs\", bank.distances, [16])]), \"pointer_pos\");\n\t\tfor (let i = 0; i < 16; i++) for (let token = 0; token < 4; token++) bank.positions.set(positions.subarray(i * 64, (i + 1) * 64), 7 * this.tokens * 64 + (i * 4 + token) * 64);\n\t\tconst memoryLength = 7 * this.tokens + 64;\n\t\tconst conditioned = (await this.run(\"memory_attention\", [\n\t\t\ttensor$1(\"current_vision_features\", sam2Tokens(floats(vision, \"feats2\")), [\n\t\t\t\tthis.tokens,\n\t\t\t\t1,\n\t\t\t\t256\n\t\t\t]),\n\t\t\ttensor$1(\"current_vision_position_embeddings\", sam2Tokens(floats(vision, \"vision_pos_embed\")), [\n\t\t\t\tthis.tokens,\n\t\t\t\t1,\n\t\t\t\t256\n\t\t\t]),\n\t\t\ttensor$1(\"memory\", bank.memory, [\n\t\t\t\tmemoryLength,\n\t\t\t\t1,\n\t\t\t\t64\n\t\t\t]),\n\t\t\ttensor$1(\"memory_pos\", bank.positions, [\n\t\t\t\tmemoryLength,\n\t\t\t\t1,\n\t\t\t\t64\n\t\t\t])\n\t\t])).conditioned_feats;\n\t\tif (!conditioned) throw new Error(\"Missing SAM 2 conditioned features.\");\n\t\treturn conditioned;\n\t}\n\tasync remember(vision, decoded, frame, prompted) {\n\t\tif (!vision.feats2 || !decoded.high_res_mask) throw new Error(\"Invalid SAM 2 memory inputs.\");\n\t\tconst memory = await this.run(\"memory_encoder\", [\n\t\t\tinput(\"feats2\", vision.feats2),\n\t\t\tinput(\"high_res_mask\", decoded.high_res_mask),\n\t\t\ttensor$1(\"object_score_logits\", floats(decoded, \"object_score_logits\"), [1, 1]),\n\t\t\ttensor$1(\"binarize\", new Float32Array([prompted ? 1 : 0]), [])\n\t\t]);\n\t\tthis.bank.remember({\n\t\t\tframe,\n\t\t\ttokens: floats(memory, \"memory_tokens\").slice(),\n\t\t\tpositions: floats(memory, \"memory_pos\").slice(),\n\t\t\tpointer: floats(decoded, \"object_pointer\").slice()\n\t\t}, prompted);\n\t}\n\trelease() {\n\t\tfor (const session of this.sessions.values()) session.release();\n\t\tthis.sessions.clear();\n\t\tthis.released = true;\n\t}\n};\n/** Bilinear resize of square logits before thresholding, matching SAM's source-image mask contract. */\nfunction decodeSam2Mask(logits, width, height, score, iou) {\n\tconst side = Math.round(Math.sqrt(logits.length));\n\tif (side * side !== logits.length || side % 16 !== 0) throw new Error(\"Invalid SAM 2 mask shape.\");\n\tconst last = side - 1;\n\tconst mask = new Uint8Array(width * height);\n\tif (score > 0) for (let y = 0; y < height; y++) {\n\t\tconst sy = Math.max(0, Math.min(last, (y + .5) * side / height - .5));\n\t\tconst y0 = Math.floor(sy), y1 = Math.min(last, y0 + 1), fy = sy - y0;\n\t\tfor (let x = 0; x < width; x++) {\n\t\t\tconst sx = Math.max(0, Math.min(last, (x + .5) * side / width - .5));\n\t\t\tconst x0 = Math.floor(sx), x1 = Math.min(last, x0 + 1), fx = sx - x0;\n\t\t\tconst a = (logits[y0 * side + x0] ?? 0) * (1 - fx) + (logits[y0 * side + x1] ?? 0) * fx;\n\t\t\tconst b = (logits[y1 * side + x0] ?? 0) * (1 - fx) + (logits[y1 * side + x1] ?? 0) * fx;\n\t\t\tmask[y * width + x] = a * (1 - fy) + b * fy > 0 ? 255 : 0;\n\t\t}\n\t}\n\treturn {\n\t\tmask,\n\t\twidth,\n\t\theight,\n\t\tscore,\n\t\tiou\n\t};\n}\n\n//#endregion\n//#region src/sam3/graphs.ts\n/** SAM 3's small prompt/position heads, assembled from the pinned upstream weights.\n* The video export omits dense prompts and learned temporal constants. These heads\n* restore the original operations, without approximating a semantic mask by clicks.\n*/\nfunction integer(field, value$1) {\n\treturn new Uint8Array([...varint(field * 8), ...varint(value$1)]);\n}\nfunction text(field, value$1) {\n\treturn lengthDelimited(field, encoder.encode(value$1));\n}\nfunction attribute(name, values) {\n\treturn lengthDelimited(5, concat([\n\t\ttext(1, name),\n\t\tinteger(20, 7),\n\t\tlengthDelimited(8, new Uint8Array(values.flatMap(varint)))\n\t]));\n}\nfunction intAttribute(name, value$1) {\n\treturn lengthDelimited(5, concat([\n\t\ttext(1, name),\n\t\tinteger(3, value$1),\n\t\tinteger(20, 2)\n\t]));\n}\nfunction floatAttribute(name, value$1) {\n\tconst bytes = new Uint8Array(4);\n\tnew DataView(bytes.buffer).setFloat32(0, value$1, true);\n\treturn lengthDelimited(5, concat([\n\t\ttext(1, name),\n\t\tnew Uint8Array([21, ...bytes]),\n\t\tinteger(20, 1)\n\t]));\n}\nfunction node(op, inputs, output, attrs = []) {\n\treturn lengthDelimited(1, concat([\n\t\t...inputs.map((x) => text(1, x)),\n\t\ttext(2, output),\n\t\ttext(4, op),\n\t\t...attrs\n\t]));\n}\nfunction value(name, dims) {\n\tconst shape = concat(dims.map((d) => lengthDelimited(1, integer(1, d))));\n\treturn concat([text(1, name), lengthDelimited(2, lengthDelimited(1, concat([integer(1, 1), lengthDelimited(2, shape)])))]);\n}\nfunction scalar(name, amount) {\n\tconst data = new Float32Array([amount]);\n\treturn concat([\n\t\tinteger(2, 1),\n\t\ttext(8, name),\n\t\tlengthDelimited(9, new Uint8Array(data.buffer))\n\t]);\n}\nfunction model(nodes, inputs, outputs, weights) {\n\tconst graph = concat([\n\t\t...nodes,\n\t\ttext(2, \"framefields_sam3\"),\n\t\t...weights.map((w) => lengthDelimited(5, w)),\n\t\t...inputs.map(([n, d]) => lengthDelimited(11, value(n, d))),\n\t\t...outputs.map(([n, d]) => lengthDelimited(12, value(n, d)))\n\t]);\n\treturn concat([\n\t\tinteger(1, 9),\n\t\tlengthDelimited(7, graph),\n\t\tlengthDelimited(8, integer(2, 18))\n\t]);\n}\nfunction weightsFrom(modelBytes, external) {\n\tconst graph = fields(modelBytes).find((f) => f.number === 7);\n\tif (!graph) throw new Error(\"SAM 3 constants graph is missing.\");\n\tconst result = /* @__PURE__ */ new Map();\n\tfor (const entry of fields(graph.body).filter((f) => f.number === 5)) {\n\t\tconst fs = fields(entry.body), name = firstString(entry.body, 8);\n\t\tif (!name || !/tracker\\.(maskmem_tpos_enc|no_mem_embed|obj_ptr_tpos_proj|sam_prompt_encoder\\.mask_downscaling)/.test(name)) continue;\n\t\tconst metadata = new Map(fs.filter((f) => f.number === 13).map((f) => [firstString(f.body, 1), firstString(f.body, 2)]));\n\t\tconst offset = Number(metadata.get(\"offset\") ?? 0), length = Number(metadata.get(\"length\") ?? 0);\n\t\tconst raw = fs.find((f) => f.number === 9)?.body ?? external.subarray(offset, offset + length);\n\t\tconst dataType = fs.find((f) => f.number === 2);\n\t\tconst dtype = dataType ? readVarint(dataType.raw, 1)[0] : 0;\n\t\tif (![1, 10].includes(dtype)) throw new Error(`Unsupported SAM 3 weight type: ${name}`);\n\t\tif (raw.length === 0 || raw.length % (dtype === 10 ? 2 : 4) !== 0) throw new Error(`Invalid SAM 3 weight: ${name}`);\n\t\tconst view = new DataView(raw.buffer, raw.byteOffset, raw.byteLength);\n\t\tconst data = Float32Array.from({ length: raw.length / (dtype === 10 ? 2 : 4) }, (_, i) => {\n\t\t\tif (dtype === 1) return view.getFloat32(i * 4, true);\n\t\t\tconst bits = view.getUint16(i * 2, true), sign = bits & 32768 ? -1 : 1, exponent = bits >> 10 & 31, fraction = bits & 1023;\n\t\t\tif (exponent === 31) throw new Error(`Non-finite SAM 3 weight ${name}`);\n\t\t\treturn sign * (exponent === 0 ? fraction * 2 ** -24 : (1 + fraction / 1024) * 2 ** (exponent - 15));\n\t\t});\n\t\tconst copy = new Uint8Array(data.buffer);\n\t\tresult.set(name, {\n\t\t\tproto: concat([\n\t\t\t\t...fs.filter((f) => ![\n\t\t\t\t\t2,\n\t\t\t\t\t9,\n\t\t\t\t\t13,\n\t\t\t\t\t14\n\t\t\t\t].includes(f.number)).map((f) => f.raw),\n\t\t\t\tinteger(2, 1),\n\t\t\t\tlengthDelimited(9, copy)\n\t\t\t]),\n\t\t\tdata: new Float32Array(copy.buffer)\n\t\t});\n\t}\n\treturn result;\n}\nfunction sam3SupportGraphs(reference, external) {\n\tconst weights = weightsFrom(reference, external);\n\tconst get = (name) => {\n\t\tconst item = weights.get(`tracker.${name}`);\n\t\tif (!item) throw new Error(`Missing SAM 3 weight ${name}`);\n\t\treturn item;\n\t};\n\tconst nodes = [], denseWeights = [\n\t\tscalar(\"sqrt2\", Math.SQRT2),\n\t\tscalar(\"one\", 1),\n\t\tscalar(\"half\", .5)\n\t];\n\tlet previous = \"mask\";\n\tfor (const [index, layer] of [\n\t\t0,\n\t\t3,\n\t\t6\n\t].entries()) {\n\t\tconst base = `sam_prompt_encoder.mask_downscaling.${layer}`;\n\t\tfor (const suffix of [\"weight\", \"bias\"]) denseWeights.push(get(`${base}.${suffix}`).proto);\n\t\tconst output = `conv${index}`;\n\t\tnodes.push(node(\"Conv\", [\n\t\t\tprevious,\n\t\t\t`tracker.${base}.weight`,\n\t\t\t`tracker.${base}.bias`\n\t\t], output, [attribute(\"kernel_shape\", layer === 6 ? [1, 1] : [2, 2]), attribute(\"strides\", layer === 6 ? [1, 1] : [2, 2])]));\n\t\tprevious = output;\n\t\tif (layer === 6) continue;\n\t\tconst norm = `sam_prompt_encoder.mask_downscaling.${layer + 1}`;\n\t\tfor (const suffix of [\"weight\", \"bias\"]) denseWeights.push(get(`${norm}.${suffix}`).proto);\n\t\tnodes.push(node(\"Transpose\", [previous], `nhwc${index}`, [attribute(\"perm\", [\n\t\t\t0,\n\t\t\t2,\n\t\t\t3,\n\t\t\t1\n\t\t])]), node(\"LayerNormalization\", [\n\t\t\t`nhwc${index}`,\n\t\t\t`tracker.${norm}.weight`,\n\t\t\t`tracker.${norm}.bias`\n\t\t], `norm${index}`, [intAttribute(\"axis\", 3), floatAttribute(\"epsilon\", 1e-6)]), node(\"Transpose\", [`norm${index}`], `nchw${index}`, [attribute(\"perm\", [\n\t\t\t0,\n\t\t\t3,\n\t\t\t1,\n\t\t\t2\n\t\t])]), node(\"Div\", [`nchw${index}`, \"sqrt2\"], `div${index}`), node(\"Erf\", [`div${index}`], `erf${index}`), node(\"Add\", [`erf${index}`, \"one\"], `add${index}`), node(\"Mul\", [`add${index}`, `nchw${index}`], `mul${index}`), node(\"Mul\", [`mul${index}`, \"half\"], `gelu${index}`));\n\t\tprevious = `gelu${index}`;\n\t}\n\tnodes.push(node(\"Identity\", [previous], \"dense_prompt\"));\n\tconst pointerWeights = [get(\"obj_ptr_tpos_proj.weight\").proto, get(\"obj_ptr_tpos_proj.bias\").proto];\n\treturn {\n\t\tdensePrompt: model(nodes, [[\"mask\", [\n\t\t\t1,\n\t\t\t1,\n\t\t\t288,\n\t\t\t288\n\t\t]]], [[\"dense_prompt\", [\n\t\t\t1,\n\t\t\t256,\n\t\t\t72,\n\t\t\t72\n\t\t]]], denseWeights),\n\t\tpointerPosition: model([node(\"Gemm\", [\n\t\t\t\"encoding\",\n\t\t\t\"tracker.obj_ptr_tpos_proj.weight\",\n\t\t\t\"tracker.obj_ptr_tpos_proj.bias\"\n\t\t], \"position\", [intAttribute(\"transB\", 1)])], [[\"encoding\", [16, 256]]], [[\"position\", [16, 64]]], pointerWeights),\n\t\ttemporal: get(\"maskmem_tpos_enc\").data,\n\t\tnoMemory: get(\"no_mem_embed\").data\n\t};\n}\n/** Replace the no-mask embedding by the actual dense prompt head's output. */\nfunction sam3DenseDecoder(modelBytes) {\n\tconst modelFields = fields(modelBytes), graph = modelFields.find((f) => f.number === 7);\n\tif (!graph) throw new Error(\"Missing SAM 3 decoder graph.\");\n\tlet replaced = false;\n\tconst graphParts = fields(graph.body).map((f) => {\n\t\tif (f.number !== 1 || firstString(f.body, 3) !== \"/mask_decoder/Add\") return f.raw;\n\t\tconst inputs = strings(f.body, 1);\n\t\tif (inputs[0] !== \"feats2\" || inputs[1] !== \"/prompt_encoder/Expand_output_0\") throw new Error(\"Unexpected SAM 3 dense prompt contract.\");\n\t\treplaced = true;\n\t\treturn lengthDelimited(1, concat(fields(f.body).filter((x) => x.number !== 1).map((x) => x.raw).concat([text(1, \"feats2\"), text(1, \"dense_prompt\")])));\n\t});\n\tif (!replaced) throw new Error(\"SAM 3 decoder has no prompt embedding input.\");\n\tgraphParts.push(lengthDelimited(11, value(\"dense_prompt\", [\n\t\t1,\n\t\t256,\n\t\t72,\n\t\t72\n\t])));\n\treturn concat(modelFields.map((f) => f === graph ? lengthDelimited(7, concat(graphParts)) : f.raw));\n}\n\n//#endregion\n//#region src/sam3/memory.ts\n/** Dynamic memory lengths: never duplicate unavailable early-frame memories. */\nvar Sam3MemoryBank = class {\n\tseed;\n\trecent = [];\n\tconstructor(temporal) {\n\t\tthis.temporal = temporal;\n\t}\n\tremember(memory, prompted) {\n\t\tif (prompted) {\n\t\t\tthis.seed = memory;\n\t\t\tthis.recent = [];\n\t\t} else {\n\t\t\tthis.recent.push(memory);\n\t\t\tif (this.recent.length > 15) this.recent.shift();\n\t\t}\n\t}\n\tassemble(frame, frameCount) {\n\t\tif (!this.seed) throw new Error(\"SAM 3 needs a prompt before propagation.\");\n\t\tconst blocks = [this.seed, ...this.recent.slice(-6)];\n\t\tconst spatial = new Float32Array(blocks.length * 5184 * 64), positions = new Float32Array(spatial.length);\n\t\tfor (const [i, block] of blocks.entries()) {\n\t\t\tspatial.set(block.tokens, i * 5184 * 64);\n\t\t\tconst row = block === this.seed ? 6 : Math.min(5, frame - block.frame - 1);\n\t\t\tfor (let j = 0; j < block.positions.length; j++) positions[i * 5184 * 64 + j] = (block.positions[j] ?? 0) + (this.temporal[row * 64 + j % 64] ?? 0);\n\t\t}\n\t\tconst entries = [this.seed, ...[...this.recent].reverse()].slice(0, 16);\n\t\tconst pointers = new Float32Array(entries.length * 256), encoding = new Float32Array(16 * 256);\n\t\tfor (const [i, entry] of entries.entries()) {\n\t\t\tpointers.set(entry.pointer, i * 256);\n\t\t\tconst diff = (frame - entry.frame) / Math.max(1, Math.min(frameCount, 16) - 1);\n\t\t\tfor (let j = 0; j < 128; j++) {\n\t\t\t\tconst angle = diff / 1e4 ** (2 * Math.floor(j / 2) / 128);\n\t\t\t\tencoding[i * 256 + j] = Math.sin(angle);\n\t\t\t\tencoding[i * 256 + 128 + j] = Math.cos(angle);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tspatial,\n\t\t\tpositions,\n\t\t\tpointers,\n\t\t\tencoding,\n\t\t\tpointerCount: entries.length\n\t\t};\n\t}\n};\n/** SAM 3 PositionEmbeddingSine: y then x, normalized pixel centers at grid indices 1..72. */\nfunction sam3Position() {\n\tconst out = new Float32Array(5184 * 256);\n\tfor (let y = 0; y < 72; y++) for (let x = 0; x < 72; x++) for (let j = 0; j < 128; j++) {\n\t\tconst divisor = 1e4 ** (2 * Math.floor(j / 2) / 128);\n\t\tconst yy = (y + 1) / 72.000001 * 2 * Math.PI / divisor, xx = (x + 1) / 72.000001 * 2 * Math.PI / divisor;\n\t\tout[(y * 72 + x) * 256 + j] = j % 2 ? Math.cos(yy) : Math.sin(yy);\n\t\tout[(y * 72 + x) * 256 + 128 + j] = j % 2 ? Math.cos(xx) : Math.sin(xx);\n\t}\n\treturn out;\n}\n\n//#endregion\n//#region src/sam3/text-selector.ts\nfunction sam3Floats(outputs, name) {\n\tconst value$1 = outputs[name];\n\tif (!(value$1?.data instanceof Float32Array)) throw new Error(`Missing SAM 3 float output ${name}`);\n\treturn value$1.data;\n}\nasync function sam3Run(session, inputs) {\n\tif (!session.runMany) throw new Error(\"SAM 3 requires a session provider with runMany support.\");\n\treturn session.runMany(inputs);\n}\n/** Semantic model is separate from the visual tracker and loads only for text prompts. */\nvar Sam3TextSelector = class Sam3TextSelector {\n\tsessions = [];\n\tencoded;\n\tconstructor(tokenizer) {\n\t\tthis.tokenizer = tokenizer;\n\t}\n\tstatic async create(store, provider) {\n\t\tconst json = async (key) => JSON.parse(new TextDecoder().decode(await store.ensure(key)));\n\t\tconst selector = new Sam3TextSelector(new Tokenizer(await json(\"sam3-tokenizer\"), await json(\"sam3-tokenizer-config\")));\n\t\ttry {\n\t\t\tselector.sessions.push(await provider.createSession(await store.ensure(\"sam3-text-vision_encoder\"), { externalData: [{\n\t\t\t\tpath: \"vision_encoder_int4_fp16attn.onnx.data\",\n\t\t\t\tdata: await store.ensure(\"sam3-text-vision_encoder-data\")\n\t\t\t}] }));\n\t\t\tfor (const key of [\"sam3-text-encoder\", \"sam3-text-decoder\"]) selector.sessions.push(await provider.createSession(await store.ensure(key)));\n\t\t\treturn selector;\n\t\t} catch (error) {\n\t\t\tselector.release();\n\t\t\tthrow error;\n\t\t}\n\t}\n\t/**\n\t* Mask logits (288²) of the instances matching `text` with sigmoid score of at least\n\t* `threshold`, best first and at most `max`. Queries that repeat an accepted instance\n\t* (mask IoU above 0.5) are skipped. Throws when nothing matches unless `required` is false.\n\t*/\n\tasync select(pixels, text$2, threshold, max = 1, required = true) {\n\t\tconst [visionSession, textSession, decoder] = this.sessions;\n\t\tif (!visionSession || !textSession || !decoder) throw new Error(\"SAM 3 text selector has been released.\");\n\t\tconst { features, mask } = await this.encodeText(textSession, text$2);\n\t\tconst vision = await sam3Run(visionSession, [{\n\t\t\tname: \"pixel_values\",\n\t\t\tdata: pixels,\n\t\t\tdims: [\n\t\t\t\t1,\n\t\t\t\t3,\n\t\t\t\t1008,\n\t\t\t\t1008\n\t\t\t]\n\t\t}]);\n\t\tconst inputs = [{\n\t\t\tname: \"text_features\",\n\t\t\tdata: features,\n\t\t\tdims: [\n\t\t\t\t1,\n\t\t\t\t32,\n\t\t\t\t256\n\t\t\t]\n\t\t}, {\n\t\t\tname: \"attention_mask\",\n\t\t\tdata: mask,\n\t\t\tdims: [1, 32]\n\t\t}];\n\t\tfor (const name of [\n\t\t\t\"fpn_hidden_state_0\",\n\t\t\t\"fpn_hidden_state_1\",\n\t\t\t\"fpn_hidden_state_2\",\n\t\t\t\"fpn_position_encoding_2\"\n\t\t]) {\n\t\t\tconst value$1 = vision[name];\n\t\t\tif (!value$1) throw new Error(`Missing SAM 3 concept feature ${name}`);\n\t\t\tinputs.push({\n\t\t\t\tname,\n\t\t\t\tdata: sam3Floats(vision, name),\n\t\t\t\tdims: value$1.dims\n\t\t\t});\n\t\t}\n\t\tconst result = await sam3Run(decoder, inputs), scores = sam3Floats(result, \"pred_logits\"), masks = sam3Floats(result, \"pred_masks\");\n\t\tif (masks.length !== scores.length * CELLS) throw new Error(\"Invalid SAM 3 concept mask shape.\");\n\t\tconst ranked = [...scores.keys()].sort((a, b) => (scores[b] ?? -Infinity) - (scores[a] ?? -Infinity));\n\t\tconst best = 1 / (1 + Math.exp(-(scores[ranked[0] ?? 0] ?? -Infinity)));\n\t\tif (best < threshold && !required) return [];\n\t\tif (best < threshold) throw new Error(`SAM 3 found no confident instance for text ${JSON.stringify(text$2)} (score ${best.toFixed(3)}, threshold ${threshold}).`);\n\t\tconst logit = Math.log(threshold / (1 - threshold));\n\t\tconst selected = [];\n\t\tfor (const query of ranked) {\n\t\t\tif (selected.length >= max || (scores[query] ?? -Infinity) < logit) break;\n\t\t\tconst candidate = masks.slice(query * CELLS, (query + 1) * CELLS);\n\t\t\tif (selected.every((kept) => maskIou(kept, candidate) <= .5)) selected.push(candidate);\n\t\t}\n\t\treturn selected;\n\t}\n\t/** Text features for a prompt; the last one is kept, since re-detection repeats it every few frames. */\n\tasync encodeText(session, text$2) {\n\t\tif (this.encoded?.text === text$2) return this.encoded;\n\t\tconst tokens = this.tokenizer.encode(text$2).ids;\n\t\tif (tokens.length > 32) throw new Error(\"SAM 3 text prompts must fit within 32 CLIP tokens.\");\n\t\tconst ids = new BigInt64Array(32).fill(49407n), mask = new BigInt64Array(32);\n\t\ttokens.forEach((id, i) => {\n\t\t\tids[i] = BigInt(id);\n\t\t\tmask[i] = 1n;\n\t\t});\n\t\tthis.encoded = {\n\t\t\ttext: text$2,\n\t\t\tfeatures: sam3Floats(await sam3Run(session, [{\n\t\t\t\tname: \"input_ids\",\n\t\t\t\tdata: ids,\n\t\t\t\tdims: [1, 32]\n\t\t\t}, {\n\t\t\t\tname: \"attention_mask\",\n\t\t\t\tdata: mask,\n\t\t\t\tdims: [1, 32]\n\t\t\t}]), \"text_features\").slice(),\n\t\t\tmask\n\t\t};\n\t\treturn this.encoded;\n\t}\n\trelease() {\n\t\tfor (const session of this.sessions) session.release();\n\t\tthis.sessions.length = 0;\n\t\tthis.encoded = void 0;\n\t}\n};\nconst CELLS = 288 * 288;\nfunction maskIou(a, b) {\n\tlet both = 0, either = 0;\n\tfor (let i = 0; i < a.length; i++) {\n\t\tconst x = (a[i] ?? 0) > 0, y = (b[i] ?? 0) > 0;\n\t\tif (x && y) both++;\n\t\tif (x || y) either++;\n\t}\n\treturn either ? both / either : 0;\n}\n\n//#endregion\n//#region src/sam3/encoder.ts\n/** Frames kept: clips of one source ask for the same frame back to back. */\nconst RECENT = 2;\n/**\n* The encoder is most of SAM 3's per-frame cost (3.6 s at fp16 on an M1 Pro), and every\n* clip of a source sees identical pixels. So trackers on one provider and precision share\n* one session and the features of the last frames, keyed by pixel content.\n*/\nvar SharedEncoder = class {\n\tusers = 0;\n\trecent = [];\n\tconstructor(session, forget) {\n\t\tthis.session = session;\n\t\tthis.forget = forget;\n\t}\n\thold() {\n\t\tthis.users++;\n\t\tlet held = true;\n\t\treturn {\n\t\t\tencode: (image) => this.encode(image),\n\t\t\trelease: () => {\n\t\t\t\tif (!held) return;\n\t\t\t\theld = false;\n\t\t\t\tif (--this.users > 0) return;\n\t\t\t\tthis.forget();\n\t\t\t\tthis.recent.length = 0;\n\t\t\t\tthis.session.release();\n\t\t\t}\n\t\t};\n\t}\n\tencode(image) {\n\t\tconst key = frameKey(image);\n\t\tconst hit = this.recent.find((entry$1) => entry$1.key === key);\n\t\tif (hit) return hit.features;\n\t\tconst entry = {\n\t\t\tkey,\n\t\t\tfeatures: this.run(image)\n\t\t};\n\t\tthis.recent.push(entry);\n\t\tif (this.recent.length > RECENT) this.recent.shift();\n\t\tentry.features.catch(() => {\n\t\t\tconst index = this.recent.indexOf(entry);\n\t\t\tif (index >= 0) this.recent.splice(index, 1);\n\t\t});\n\t\treturn entry.features;\n\t}\n\tasync run(image) {\n\t\tconst { tensor: pixels } = imageToTensor(image, {\n\t\t\twidth: 1008,\n\t\t\theight: 1008,\n\t\t\tfit: \"stretch\",\n\t\t\tchannels: \"rgb\",\n\t\t\tpadValue: 0,\n\t\t\tmean: [\n\t\t\t\t127.5,\n\t\t\t\t127.5,\n\t\t\t\t127.5\n\t\t\t],\n\t\t\tstd: [\n\t\t\t\t127.5,\n\t\t\t\t127.5,\n\t\t\t\t127.5\n\t\t\t]\n\t\t});\n\t\tconst out = await sam3Run(this.session, [{\n\t\t\tname: \"pixel_values\",\n\t\t\tdata: pixels,\n\t\t\tdims: [\n\t\t\t\t1,\n\t\t\t\t3,\n\t\t\t\t1008,\n\t\t\t\t1008\n\t\t\t]\n\t\t}]);\n\t\treturn {\n\t\t\tpixels,\n\t\t\tfeats0: sam3Floats(out, \"image_embeddings.0\"),\n\t\t\tfeats1: sam3Floats(out, \"image_embeddings.1\"),\n\t\t\traw: sam3Floats(out, \"image_embeddings.2\")\n\t\t};\n\t}\n};\nconst shared = /* @__PURE__ */ new WeakMap();\n/** Holds the process's SAM 3 encoder for `provider` at `precision`, creating it on first use. */\nasync function holdSam3Encoder(store, provider, precision) {\n\tlet byPrecision = shared.get(provider);\n\tif (!byPrecision) {\n\t\tbyPrecision = /* @__PURE__ */ new Map();\n\t\tshared.set(provider, byPrecision);\n\t}\n\tconst encoders = byPrecision;\n\tlet encoder$2 = encoders.get(precision);\n\tif (!encoder$2) {\n\t\tencoder$2 = (async () => {\n\t\t\treturn new SharedEncoder(await provider.createSession(await store.ensure(`sam3-vision_encoder-${precision}`), { externalData: [{\n\t\t\t\tpath: sam3EncoderFiles(precision).data,\n\t\t\t\tdata: await store.ensure(`sam3-vision_encoder-${precision}-data`)\n\t\t\t}] }), () => encoders.delete(precision));\n\t\t})();\n\t\tencoders.set(precision, encoder$2);\n\t\tencoder$2.catch(() => encoders.delete(precision));\n\t}\n\treturn (await encoder$2).hold();\n}\n/** Content key of a frame: size plus two 32-bit FNV-1a hashes over its bytes. */\nfunction frameKey(image) {\n\tconst bytes = image.data;\n\tlet a = 2166136261, b = 16777619 ^ bytes.length;\n\tfor (let i = 0; i < bytes.length; i++) {\n\t\tconst byte = bytes[i] ?? 0;\n\t\ta = Math.imul(a ^ byte, 16777619);\n\t\tb = Math.imul(b ^ byte, 1540483477) ^ b >>> 15;\n\t}\n\treturn `${image.width}x${image.height}:${(a >>> 0).toString(36)}${(b >>> 0).toString(36)}`;\n}\n\n//#endregion\n//#region src/sam3/selection.ts\n/**\n* Text-selected instances as one mask (`sam3.merge`): each pixel keeps its most confident\n* instance's logit, so the union is positive wherever any instance is.\n*/\nfunction mergeSelections(masks) {\n\tconst merged = new Float32Array(masks[0]?.length ?? 0).fill(-Infinity);\n\tfor (const mask of masks) for (let i = 0; i < merged.length; i++) merged[i] = Math.max(merged[i] ?? -Infinity, mask[i] ?? -Infinity);\n\treturn merged;\n}\n/** Logit SAM uses for a given mask's pixels (and its object score): ±10. */\nconst MASK_LOGIT = 10;\n/** A re-detected instance is new while tracked objects cover less than this share of it. */\nconst NEW_OBJECT_COVERAGE = .5;\n/** Where any present tracked object is, on the 288² concept grid, as ±10 logits. */\nfunction coveredCells(tracked) {\n\tconst covered = new Float32Array(288 * 288).fill(-MASK_LOGIT);\n\tfor (const { logits, score } of tracked) {\n\t\tif (score <= 0) continue;\n\t\tfor (let y = 0; y < 288; y++) {\n\t\t\tconst row = Math.floor((y + .5) * 1008 / 288) * 1008;\n\t\t\tfor (let x = 0; x < 288; x++) if ((logits[row + Math.floor((x + .5) * 1008 / 288)] ?? 0) > 0) covered[y * 288 + x] = MASK_LOGIT;\n\t\t}\n\t}\n\treturn covered;\n}\n/** Re-detected 288² instances that the covered cells do not already hold. */\nfunction uncovered(found, covered) {\n\treturn found.filter((instance) => {\n\t\tlet inside = 0;\n\t\tlet area = 0;\n\t\tfor (let i = 0; i < instance.length; i++) {\n\t\t\tif ((instance[i] ?? 0) <= 0) continue;\n\t\t\tarea++;\n\t\t\tif ((covered[i] ?? 0) > 0) inside++;\n\t\t}\n\t\treturn area > 0 && inside / area < NEW_OBJECT_COVERAGE;\n\t});\n}\n/** 1008² seed logits that keep a present tracked mask at full resolution and add `added` to it. */\nfunction keepTracked(tracked, added) {\n\tif (!tracked || tracked.score <= 0) return added;\n\treturn Float32Array.from(added, (value$1, i) => (tracked.logits[i] ?? 0) > 0 ? MASK_LOGIT : value$1);\n}\n\n//#endregion\n//#region src/sam3/types.ts\nfunction validateSam3Prompts(options) {\n\tconst prompts = options.prompts ?? (options.text ? [{\n\t\tframe: 0,\n\t\ttext: options.text\n\t}] : []);\n\tif (!prompts.length) throw new Error(\"SAM 3 requires at least one prompt or text description.\");\n\tlet previous = -1;\n\tfor (const prompt of prompts) {\n\t\tif (!Number.isSafeInteger(prompt.frame) || prompt.frame <= previous) throw new Error(\"SAM 3 prompt frames must be nonnegative, unique and increasing.\");\n\t\tprevious = prompt.frame;\n\t\tif (prompt.points !== void 0 === (prompt.text !== void 0)) throw new Error(\"SAM 3 prompts need either points/a box or text.\");\n\t\tif (prompt.points) validateSam2Prompts([{\n\t\t\tframe: prompt.frame,\n\t\t\tpoints: prompt.points\n\t\t}]);\n\t\tif (prompt.text !== void 0 && !prompt.text.trim()) throw new Error(\"SAM 3 text prompts must not be empty.\");\n\t\tif (prompt.object !== void 0 && (prompt.text !== void 0 || !Number.isSafeInteger(prompt.object) || prompt.object < 1)) throw new Error(\"SAM 3 prompt objects are positive track IDs on points prompts.\");\n\t}\n\tconst maxObjects = options.maxObjects ?? 1;\n\tif (!Number.isSafeInteger(maxObjects) || maxObjects < 1) throw new Error(\"SAM 3 maxObjects must be a positive integer.\");\n\tconst redetect = options.redetect ?? 0;\n\tif (!Number.isSafeInteger(redetect) || redetect < 0) throw new Error(\"SAM 3 redetect must be a nonnegative integer frame interval.\");\n\tconst threshold = options.textThreshold ?? .5;\n\tif (!Number.isFinite(threshold) || threshold <= 0 || threshold >= 1) throw new Error(\"SAM 3 textThreshold must be between zero and one.\");\n}\n\n//#endregion\n//#region src/sam3/tracker.ts\n/** Every graph and tokenizer revision, and the encoder precision: ClipVision's cache identity. */\nfunction sam3Revision(precision) {\n\treturn `sam3-${precision}-429305c8-video-e942689a-support-68ce2746-text-fe8f8e12-v2`;\n}\n/** The encoder precision a tracker on `provider` uses: the override, else the backend's best. */\nasync function sam3Precision(provider = createDefaultSessionProvider(), override) {\n\treturn override ?? SAM3_ENCODER[await sessionCompute(provider)];\n}\nfunction tensor(name, data, dims) {\n\treturn {\n\t\tname,\n\t\tdata,\n\t\tdims\n\t};\n}\n/**\n* Explicitly selected SAM 3 instances with full neural memory propagation on the provider.\n* The image encoder runs once per frame; each object keeps its own memory bank.\n*/\nvar Sam3Tracker = class Sam3Tracker {\n\tsessions = /* @__PURE__ */ new Map();\n\tencoder;\n\tposition = sam3Position();\n\tbanks = [];\n\ttemporal;\n\tnoMemory;\n\tselector;\n\t/** The last text prompt and its frame, which re-detection repeats. */\n\ttext;\n\tlastFrame = -1;\n\treleased = false;\n\tconstructor(store, provider, options) {\n\t\tthis.store = store;\n\t\tthis.provider = provider;\n\t\tthis.options = options;\n\t}\n\tstatic async create(options = {}) {\n\t\tassertSamLicenseAccepted(\"SAM 3\", options);\n\t\tensureSamModelsRegistered();\n\t\tif (options.frameCount !== void 0 && (!Number.isSafeInteger(options.frameCount) || options.frameCount < 1)) throw new Error(\"SAM 3 frameCount must be a positive integer.\");\n\t\tif (options.textThreshold !== void 0 && (!Number.isFinite(options.textThreshold) || options.textThreshold <= 0 || options.textThreshold >= 1)) throw new Error(\"SAM 3 textThreshold must be between zero and one.\");\n\t\tif (options.maxObjects !== void 0 && (!Number.isSafeInteger(options.maxObjects) || options.maxObjects < 1)) throw new Error(\"SAM 3 maxObjects must be a positive integer.\");\n\t\tif (options.redetect !== void 0 && (!Number.isSafeInteger(options.redetect) || options.redetect < 0)) throw new Error(\"SAM 3 redetect must be a nonnegative integer frame interval.\");\n\t\tconst store = options.store ?? new VisionModelStore({\n\t\t\t...options,\n\t\t\tacceptLicense: options.acceptLicense ?? true\n\t\t});\n\t\tconst provider = options.provider ?? createDefaultSessionProvider();\n\t\tconst tracker$1 = new Sam3Tracker(store, provider, options);\n\t\ttry {\n\t\t\ttracker$1.encoder = await holdSam3Encoder(store, provider, await sam3Precision(provider, options.precision));\n\t\t\tconst support$1 = sam3SupportGraphs(await store.ensure(\"sam3-support\"), await store.ensure(\"sam3-support-data\"));\n\t\t\ttracker$1.temporal = support$1.temporal;\n\t\t\ttracker$1.noMemory = support$1.noMemory;\n\t\t\ttracker$1.sessions.set(\"dense_prompt\", await provider.createSession(support$1.densePrompt));\n\t\t\ttracker$1.sessions.set(\"pointer_position\", await provider.createSession(support$1.pointerPosition));\n\t\t\tconst decoder = await store.ensure(\"sam3-mask_decoder\");\n\t\t\ttracker$1.sessions.set(\"mask_decoder\", await provider.createSession(decoder));\n\t\t\ttracker$1.sessions.set(\"dense_decoder\", await provider.createSession(sam3DenseDecoder(decoder)));\n\t\t\tfor (const graph of [\"memory_encoder\", \"memory_attention\"]) tracker$1.sessions.set(graph, await provider.createSession(await store.ensure(`sam3-${graph}`)));\n\t\t\tif (!options.store) store.clearMemoryCache();\n\t\t\treturn tracker$1;\n\t\t} catch (error) {\n\t\t\ttracker$1.release();\n\t\t\tthrow error;\n\t\t}\n\t}\n\trun(graph, inputs) {\n\t\tconst session = this.sessions.get(graph);\n\t\tif (!session) throw new Error(\"SAM 3 tracker has been released.\");\n\t\treturn sam3Run(session, inputs);\n\t}\n\tasync process(image, frame, prompt) {\n\t\tif (this.released) throw new Error(\"SAM 3 tracker has been released.\");\n\t\tif (!Number.isSafeInteger(frame) || frame < 0 || this.lastFrame >= 0 && frame !== this.lastFrame + 1) throw new Error(\"SAM 3 propagation requires consecutive source frames.\");\n\t\tif (prompt) validateSam3Prompts({ prompts: [{\n\t\t\t...prompt,\n\t\t\tframe\n\t\t}] });\n\t\tif (this.lastFrame < 0 && !prompt) throw new Error(\"SAM 3 needs a prompt on its first frame.\");\n\t\tif (!this.encoder) throw new Error(\"SAM 3 tracker has been released.\");\n\t\tconst { pixels, feats0, feats1, raw } = await this.encoder.encode(image);\n\t\tconst shared$1 = [tensor(\"feats0\", feats0, [\n\t\t\t1,\n\t\t\t32,\n\t\t\t288,\n\t\t\t288\n\t\t]), tensor(\"feats1\", feats1, [\n\t\t\t1,\n\t\t\t64,\n\t\t\t144,\n\t\t\t144\n\t\t])];\n\t\tconst seeds = await this.seeds(pixels, frame, prompt);\n\t\tconst tracked = [];\n\t\tfor (const [index, bank] of this.banks.entries()) {\n\t\t\tconst seed = seeds.get(index);\n\t\t\tconst features = seed ? this.initialFeatures(raw) : await this.condition(raw, frame, bank);\n\t\t\ttracked.push(this.track(seed, await this.decode(shared$1, features, seed)));\n\t\t}\n\t\tif (!prompt) await this.redetect(pixels, frame, tracked, shared$1, raw);\n\t\tconst objects = [];\n\t\tfor (const [index, bank] of this.banks.entries()) {\n\t\t\tconst item = tracked[index];\n\t\t\tif (!item) continue;\n\t\t\tconst { seed, decoded, logits, score } = item;\n\t\t\tawait this.remember(bank, raw, decoded, frame, seed, logits, score);\n\t\t\tobjects.push({\n\t\t\t\tid: index + 1,\n\t\t\t\tmask: sam3Mask(logits, image.width, image.height, score),\n\t\t\t\tscore,\n\t\t\t\tiou: seed?.mask ? 1 : Math.max(...sam3Floats(decoded, \"iou_scores\"))\n\t\t\t});\n\t\t}\n\t\tthis.lastFrame = frame;\n\t\treturn {\n\t\t\twidth: image.width,\n\t\t\theight: image.height,\n\t\t\tobjects\n\t\t};\n\t}\n\ttrack(seed, decoded) {\n\t\treturn {\n\t\t\tseed,\n\t\t\tdecoded,\n\t\t\tlogits: seed?.mask ?? sam3Floats(decoded, \"high_res_masks\"),\n\t\t\tscore: seed?.mask ? MASK_LOGIT : sam3Floats(decoded, \"object_score_logits\")[0] ?? -Infinity\n\t\t};\n\t}\n\t/**\n\t* On a `redetect` frame, runs the last text prompt again and seeds what no tracked object\n\t* covers: merged into the one object (keeping what it tracks), or as new objects.\n\t*/\n\tasync redetect(pixels, frame, tracked, shared$1, raw) {\n\t\tconst every = this.options.redetect ?? 0;\n\t\tif (!this.text || every <= 0 || (frame - this.text.frame) % every !== 0) return;\n\t\tconst room = this.options.merge ? Infinity : (this.options.maxObjects ?? 1) - this.banks.length;\n\t\tif (room <= 0) return;\n\t\tconst found = await (await this.textSelector()).select(pixels, this.text.value, this.options.textThreshold ?? .5, Infinity, false);\n\t\tconst covered = coveredCells(tracked);\n\t\tconst fresh = uncovered(found, covered).slice(0, room);\n\t\tif (!fresh.length) return;\n\t\tconst seeded = async (seed) => this.track(seed, await this.decode(shared$1, this.initialFeatures(raw), seed));\n\t\tif (this.options.merge) {\n\t\t\tconst added = mergeSelections(fresh);\n\t\t\tconst kept = tracked[0];\n\t\t\tif (!kept) this.banks.push(this.newBank());\n\t\t\ttracked[0] = await seeded({\n\t\t\t\tdense: await this.densePrompt(mergeSelections([added, covered])),\n\t\t\t\tmask: keepTracked(kept, seedLogits(added))\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tfor (const logits of fresh) {\n\t\t\tthis.banks.push(this.newBank());\n\t\t\ttracked.push(await seeded(await this.textSeed(logits)));\n\t\t}\n\t}\n\tasync textSelector() {\n\t\tthis.selector ??= await Sam3TextSelector.create(this.store, this.provider);\n\t\tif (!this.options.store) this.store.clearMemoryCache();\n\t\treturn this.selector;\n\t}\n\t/** A 288² concept mask as a seed that outputs (and remembers) that mask. */\n\tasync textSeed(logits) {\n\t\treturn {\n\t\t\tdense: await this.densePrompt(logits),\n\t\t\tmask: seedLogits(logits)\n\t\t};\n\t}\n\tasync densePrompt(logits) {\n\t\tconst binary = Float32Array.from(logits, (v) => v > 0 ? 1 : 0);\n\t\treturn sam3Floats(await this.run(\"dense_prompt\", [tensor(\"mask\", binary, [\n\t\t\t1,\n\t\t\t1,\n\t\t\t288,\n\t\t\t288\n\t\t])]), \"dense_prompt\");\n\t}\n\t/** Objects a prompt (re)seeds, by index. Text re-selects every object; points address one. */\n\tasync seeds(pixels, frame, prompt) {\n\t\tconst seeds = /* @__PURE__ */ new Map();\n\t\tif (prompt?.points) {\n\t\t\tconst index = (prompt.object ?? 1) - 1;\n\t\t\tif (index > this.banks.length) throw new Error(`SAM 3 prompt object ${index + 1} skips track IDs; the next new ID is ${this.banks.length + 1}.`);\n\t\t\tif (index === this.banks.length) this.banks.push(this.newBank());\n\t\t\tseeds.set(index, { points: prompt.points });\n\t\t}\n\t\tif (prompt?.text !== void 0) {\n\t\t\tconst selected = await (await this.textSelector()).select(pixels, prompt.text, this.options.textThreshold ?? .5, this.options.maxObjects ?? (this.options.merge ? Infinity : 1));\n\t\t\tconst masks = this.options.merge ? [mergeSelections(selected)] : selected;\n\t\t\tthis.text = {\n\t\t\t\tvalue: prompt.text,\n\t\t\t\tframe\n\t\t\t};\n\t\t\tthis.banks.length = 0;\n\t\t\tfor (const [index, logits] of masks.entries()) {\n\t\t\t\tthis.banks.push(this.newBank());\n\t\t\t\tseeds.set(index, await this.textSeed(logits));\n\t\t\t}\n\t\t}\n\t\treturn seeds;\n\t}\n\tnewBank() {\n\t\tif (!this.temporal) throw new Error(\"SAM 3 tracker has been released.\");\n\t\treturn new Sam3MemoryBank(this.temporal);\n\t}\n\tdecode(shared$1, features, seed) {\n\t\tconst points = seed?.points ?? [{\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\tlabel: -1\n\t\t}];\n\t\tconst inputs = [\n\t\t\t...shared$1,\n\t\t\ttensor(\"feats2\", features, [\n\t\t\t\t1,\n\t\t\t\t256,\n\t\t\t\t72,\n\t\t\t\t72\n\t\t\t]),\n\t\t\ttensor(\"input_points\", Float32Array.from(points.flatMap((p) => [p.x * 1008, p.y * 1008])), [\n\t\t\t\t1,\n\t\t\t\t1,\n\t\t\t\tpoints.length,\n\t\t\t\t2\n\t\t\t]),\n\t\t\ttensor(\"input_labels\", Int32Array.from(points.map((p) => p.label)), [\n\t\t\t\t1,\n\t\t\t\t1,\n\t\t\t\tpoints.length\n\t\t\t])\n\t\t];\n\t\tif (!seed?.dense) return this.run(\"mask_decoder\", inputs);\n\t\treturn this.run(\"dense_decoder\", [...inputs, tensor(\"dense_prompt\", seed.dense, [\n\t\t\t1,\n\t\t\t256,\n\t\t\t72,\n\t\t\t72\n\t\t])]);\n\t}\n\tinitialFeatures(raw) {\n\t\tif (!this.noMemory) throw new Error(\"Missing SAM 3 no-memory embedding.\");\n\t\treturn Float32Array.from(raw, (value$1, i) => value$1 + (this.noMemory?.[Math.floor(i / 5184)] ?? 0));\n\t}\n\tasync condition(raw, frame, memory) {\n\t\tconst bank = memory.assemble(frame, this.options.frameCount ?? 16);\n\t\tconst positions = await this.run(\"pointer_position\", [tensor(\"encoding\", bank.encoding, [16, 256])]);\n\t\tconst pointerPosition = new Float32Array(bank.pointerCount * 256), projected = sam3Floats(positions, \"position\");\n\t\tfor (let i = 0; i < bank.pointerCount; i++) for (let token = 0; token < 4; token++) pointerPosition.set(projected.subarray(i * 64, (i + 1) * 64), (i * 4 + token) * 64);\n\t\tconst tokens = sam3Floats(await this.run(\"memory_attention\", [\n\t\t\ttensor(\"current_vision_features\", sam2Tokens(raw), [\n\t\t\t\t5184,\n\t\t\t\t1,\n\t\t\t\t256\n\t\t\t]),\n\t\t\ttensor(\"current_vision_position_embeddings\", this.position, [\n\t\t\t\t5184,\n\t\t\t\t1,\n\t\t\t\t256\n\t\t\t]),\n\t\t\ttensor(\"spatial_memory\", bank.spatial, [\n\t\t\t\tbank.spatial.length / 64,\n\t\t\t\t1,\n\t\t\t\t64\n\t\t\t]),\n\t\t\ttensor(\"spatial_memory_position_embeddings\", bank.positions, [\n\t\t\t\tbank.positions.length / 64,\n\t\t\t\t1,\n\t\t\t\t64\n\t\t\t]),\n\t\t\ttensor(\"pointer_memory\", bank.pointers, [\n\t\t\t\tbank.pointerCount * 4,\n\t\t\t\t1,\n\t\t\t\t64\n\t\t\t]),\n\t\t\ttensor(\"pointer_memory_position_embeddings\", pointerPosition, [\n\t\t\t\tbank.pointerCount * 4,\n\t\t\t\t1,\n\t\t\t\t64\n\t\t\t])\n\t\t]), \"conditioned_features\"), nchw = new Float32Array(tokens.length);\n\t\tfor (let i = 0; i < 5184; i++) for (let channel = 0; channel < 256; channel++) nchw[channel * 5184 + i] = tokens[i * 256 + channel] ?? 0;\n\t\treturn nchw;\n\t}\n\tasync remember(bank, raw, decoded, frame, seed, logits, score) {\n\t\tconst memory = await this.run(\"memory_encoder\", [\n\t\t\ttensor(\"vision_features\", raw, [\n\t\t\t\t1,\n\t\t\t\t256,\n\t\t\t\t72,\n\t\t\t\t72\n\t\t\t]),\n\t\t\ttensor(\"pred_masks_high_res\", logits, [\n\t\t\t\t1,\n\t\t\t\t1,\n\t\t\t\t1008,\n\t\t\t\t1008\n\t\t\t]),\n\t\t\ttensor(\"object_score_logits\", Float32Array.of(score), [1, 1]),\n\t\t\ttensor(\"is_mask_from_pts\", new Uint8Array([seed ? 1 : 0]), [1])\n\t\t]);\n\t\tbank.remember({\n\t\t\tframe,\n\t\t\ttokens: sam3Floats(memory, \"memory_tokens\").slice(),\n\t\t\tpositions: sam3Floats(memory, \"memory_pos_enc\").slice(),\n\t\t\tpointer: sam3Floats(decoded, \"object_pointer\").slice()\n\t\t}, seed !== void 0);\n\t}\n\trelease() {\n\t\tfor (const session of this.sessions.values()) session.release();\n\t\tthis.sessions.clear();\n\t\tthis.encoder?.release();\n\t\tthis.encoder = void 0;\n\t\tthis.selector?.release();\n\t\tthis.banks.length = 0;\n\t\tthis.temporal = void 0;\n\t\tthis.noMemory = void 0;\n\t\tthis.released = true;\n\t}\n};\n/** Resize logits before thresholding; source pixels are the public mask coordinate system. */\nfunction sam3Mask(logits, width, height, score) {\n\tif (logits.length !== 1008 * 1008) throw new Error(\"Invalid SAM 3 high-resolution mask shape.\");\n\tconst mask = new Uint8Array(width * height);\n\tif (score <= 0) return mask;\n\tfor (let y = 0; y < height; y++) for (let x = 0; x < width; x++) {\n\t\tconst sy = Math.max(0, Math.min(1007, (y + .5) * 1008 / height - .5)), sx = Math.max(0, Math.min(1007, (x + .5) * 1008 / width - .5));\n\t\tconst y0 = Math.floor(sy), x0 = Math.floor(sx), fy = sy - y0, fx = sx - x0, y1 = Math.min(1007, y0 + 1), x1 = Math.min(1007, x0 + 1);\n\t\tconst top = (logits[y0 * 1008 + x0] ?? 0) * (1 - fx) + (logits[y0 * 1008 + x1] ?? 0) * fx, bottom = (logits[y1 * 1008 + x0] ?? 0) * (1 - fx) + (logits[y1 * 1008 + x1] ?? 0) * fx;\n\t\tmask[y * width + x] = top * (1 - fy) + bottom * fy > 0 ? 255 : 0;\n\t}\n\treturn mask;\n}\n/** A 288² concept mask's logits as SAM's 1008² seed logits: bilinear, then ±10. */\nfunction seedLogits(logits) {\n\tconst out = new Float32Array(1008 * 1008);\n\tfor (let y = 0; y < 1008; y++) {\n\t\tconst sy = Math.max(0, Math.min(287, (y + .5) * 288 / 1008 - .5)), y0 = Math.floor(sy), y1 = Math.min(287, y0 + 1), fy = sy - y0;\n\t\tfor (let x = 0; x < 1008; x++) {\n\t\t\tconst sx = Math.max(0, Math.min(287, (x + .5) * 288 / 1008 - .5)), x0 = Math.floor(sx), x1 = Math.min(287, x0 + 1), fx = sx - x0;\n\t\t\tconst top = (logits[y0 * 288 + x0] ?? 0) * (1 - fx) + (logits[y0 * 288 + x1] ?? 0) * fx, bottom = (logits[y1 * 288 + x0] ?? 0) * (1 - fx) + (logits[y1 * 288 + x1] ?? 0) * fx;\n\t\t\tout[y * 1008 + x] = top * (1 - fy) + bottom * fy > 0 ? MASK_LOGIT : -MASK_LOGIT;\n\t\t}\n\t}\n\treturn out;\n}\n\n//#endregion\nexport { SAM2_EXPORTS, SAM3_ENCODER, SAM_LICENSE, SAM_LICENSE_TERMS_URL, SAM_MODELS, Sam2MemoryBank, Sam2Tracker, Sam3MemoryBank, Sam3TextSelector, Sam3Tracker, assertSamLicenseAccepted, decodeSam2Mask, ensureSamModelsRegistered, sam2Revision, sam2Tokens, sam3DenseDecoder, sam3EncoderFiles, sam3Floats, sam3Mask, sam3Position, sam3Precision, sam3Revision, sam3Run, sam3SupportGraphs, validateSam2Prompts, validateSam3Prompts };\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dist-Kbf-JTry.mjs","names":["Sam2Tracker","Sam3TextSelector","Sam3Tracker"],"sources":["../../vision-sam/dist/index.mjs"],"sourcesContent":["import { VISION_MODELS, VisionModelStore, concat, createDefaultSessionProvider, encoder, fields, firstString, imageToTensor, lengthDelimited, readVarint, registerVisionModel, sessionCompute, strings, varint } from \"@framefields/vision\";\nimport { z } from \"zod\";\nimport { Tokenizer } from \"@huggingface/tokenizers\";\n\n//#region src/license.ts\nconst SAM_LICENSE_TERMS_URL = \"https://github.com/facebookresearch/sam3/blob/main/LICENSE\";\n/**\n* Ensures that the user has explicitly accepted Meta's SAM License terms before\n* downloading SAM 3 weights or performing inference. SAM 2.1's weights are Apache-2.0 and\n* need no acceptance.\n*/\nfunction assertSamLicenseAccepted(context = \"SAM 3\", options) {\n\tif (options?.acceptLicense) return;\n\tif (typeof process !== \"undefined\" && process.env?.FRAMEFIELDS_ACCEPT_SAM_LICENSE === \"1\") return;\n\tthrow new Error(`Meta SAM License agreement required for ${context}:\\nSAM 3's model weights are subject to Meta's SAM License.\\nReview terms at: ${SAM_LICENSE_TERMS_URL}\\nTo download and run SAM 3 in Framefields, you must explicitly accept the terms by:\\n 1. Passing 'acceptLicense: true' (or 'acceptSamLicense: true' in ClipVision options), or\\n 2. Setting the environment variable FRAMEFIELDS_ACCEPT_SAM_LICENSE=1.`);\n}\n\n//#endregion\n//#region src/models/registry.ts\n/**\n* Diffusion Studio's fp16 video exports of Meta SAM 2.1 (Apache-2.0). Tiny is built for\n* speed at 512² (32×32 features); Small runs SAM 2's native 1024² (64×64), resolving small\n* objects, thin structures and identity after cuts better at roughly 4× the encoder and\n* 16× the memory-attention work.\n*/\nconst SAM2_EXPORTS = {\n\ttiny: {\n\t\trepo: \"diffusionstudio/sam2.1-tiny-video-onnx-fp16\",\n\t\trevision: \"66673b5db39371b7dd7847f4d3bc0d4f4179b79e\",\n\t\tsize: 512,\n\t\tname: \"Hiera Tiny\"\n\t},\n\tsmall: {\n\t\trepo: \"diffusionstudio/sam2.1-small-video-onnx-fp16\",\n\t\trevision: \"927ecec6e6ae2727d0af7720eefdb07f2efe4689\",\n\t\tsize: 1024,\n\t\tname: \"Hiera Small\"\n\t}\n};\n/**\n* The encoder precision each backend runs fastest. Measured on an M1 Pro (one 1008² frame):\n* WebGPU fp16 3.65 s, q4f16 4.43 s, q4 6.63 s, int8 140 s (its ops fall back to the CPU);\n* fp16 is also the closest to full precision. On WebGPU, 4-bit weights are dequantized\n* before every matmul, so they only save memory. CUDA runs fp16 on tensor cores. CPUs have\n* no fast fp16 path, so they get fp32-activation q4.\n*/\nconst SAM3_ENCODER = {\n\twebgpu: \"fp16\",\n\tcuda: \"fp16\",\n\tcpu: \"q4\"\n};\nconst SAM_LICENSE = \"Meta SAM License\";\nconst hf = (repo, revision, path) => `https://huggingface.co/${repo}/resolve/${revision}/${path}`;\nconst sam2 = (model$1, graph, [path, bytes, sha256]) => {\n\tconst { repo, revision, size, name } = SAM2_EXPORTS[model$1];\n\tconst key = `sam2.1-${model$1}-${graph}`;\n\treturn {\n\t\tkey,\n\t\tfamily: \"sam2\",\n\t\tfilename: `${key}${path.slice(path.lastIndexOf(\".\"))}`,\n\t\turl: hf(repo, revision, path),\n\t\tbytes,\n\t\tsha256,\n\t\tinput: [size, size],\n\t\tsource: `Meta SAM 2.1 ${name} (Apache-2.0), Diffusion Studio ${size}px fp16 video export`,\n\t\tlicense: \"Apache-2.0\"\n\t};\n};\nconst sam3 = (repo, revision) => (key, filename, [path, bytes, sha256]) => ({\n\tkey,\n\tfamily: \"sam3\",\n\tfilename,\n\turl: hf(repo, revision, path),\n\tbytes,\n\tsha256,\n\tinput: [1008, 1008],\n\tsource: `Meta SAM 3 (${SAM_LICENSE}), pinned ${repo} ONNX export`,\n\tlicense: SAM_LICENSE\n});\nconst tracker = sam3(\"onnx-community/sam3-tracker-ONNX\", \"429305c8a5b3de597243d919a07e4e6bdcd00ef7\");\n/** The tracker encoder at `precision`: its graph and the weights file the graph names. */\nfunction encoder$1(precision, [graphBytes, graphSha], [dataBytes, dataSha]) {\n\tconst { graph, data } = sam3EncoderFiles(precision);\n\treturn [tracker(`sam3-vision_encoder-${precision}`, `sam3-${graph}`, [\n\t\t`onnx/${graph}`,\n\t\tgraphBytes,\n\t\tgraphSha\n\t]), tracker(`sam3-vision_encoder-${precision}-data`, `sam3-${data}`, [\n\t\t`onnx/${data}`,\n\t\tdataBytes,\n\t\tdataSha\n\t])];\n}\n/** File names of the encoder at `precision`; the graph refers to its weights by `data`. */\nfunction sam3EncoderFiles(precision) {\n\tconst graph = `vision_encoder_${precision}.onnx`;\n\treturn {\n\t\tgraph,\n\t\tdata: `${graph}_data`\n\t};\n}\nconst video = sam3(\"jax-image-tools/sam3-video-onnx\", \"e942689a73d942f83c69b5965881cb3a0f6153ba\");\nconst support = sam3(\"RamRom/sam3-onnx\", \"68ce2746e903966a88549cdd08ab554ff9162db0\");\nconst text$1 = sam3(\"danilobukvic/sam3-text-onnx\", \"fe8f8e123bfa42d4e57d14fa2f4928a4c60f4665\");\nconst SUPPORT_GRAPH = \"bundles/sam3-base-video-tracking-ortcuda-v2/graphs/base_tracker_preview_single1.onnx\";\nconst SAM_MODELS = [\n\tsam2(\"tiny\", \"constants\", [\n\t\t\"constants.json\",\n\t\t9781,\n\t\t\"67583810f4b80b762285377a5cc1066bbe19cdf8ef7fc87ff6aa78fc79830ef2\"\n\t]),\n\tsam2(\"tiny\", \"vision_encoder\", [\n\t\t\"onnx/vision_encoder.onnx\",\n\t\t58385353,\n\t\t\"24e9ccf5994be5c8dd93ebe771a4cc4f8bb122d0524555ac3ba4e7141710b133\"\n\t]),\n\tsam2(\"tiny\", \"mask_decoder\", [\n\t\t\"onnx/mask_decoder.onnx\",\n\t\t8898805,\n\t\t\"6bc158b0d028777ca2e25203ece0f27429c436de39a5c7fe301b3858d6059789\"\n\t]),\n\tsam2(\"tiny\", \"memory_encoder\", [\n\t\t\"onnx/memory_encoder.onnx\",\n\t\t2807753,\n\t\t\"8b2bb6810444cee684ef938b7464c5645653f236014f5497c3db3654818cc7ce\"\n\t]),\n\tsam2(\"tiny\", \"memory_attention\", [\n\t\t\"onnx/memory_attention.onnx\",\n\t\t13029470,\n\t\t\"67c4e4da01bc7f501b88294bb19a8200362915ece04e9d7e367a437658f342c9\"\n\t]),\n\tsam2(\"tiny\", \"pointer_tpos\", [\n\t\t\"onnx/pointer_tpos.onnx\",\n\t\t34228,\n\t\t\"3ab5bfce40ed01208301b2d8f596b9c9f7f493dcd7e09ef01ec22e5be3694bd7\"\n\t]),\n\tsam2(\"small\", \"constants\", [\n\t\t\"constants.json\",\n\t\t9820,\n\t\t\"09397f7251c159b64a2d581cc3ea0dbb3cf720c2e60777cb14e244405ed1c305\"\n\t]),\n\tsam2(\"small\", \"vision_encoder\", [\n\t\t\"onnx/vision_encoder.onnx\",\n\t\t83679474,\n\t\t\"fb570036f5afac59ef20848958b075c84da746e333efd863104d94604652efc4\"\n\t]),\n\tsam2(\"small\", \"mask_decoder\", [\n\t\t\"onnx/mask_decoder.onnx\",\n\t\t8910345,\n\t\t\"999b3b47bf2e924d522ed6cc011fa2c9b651754cc07895eb0da16a28a5ce7c4d\"\n\t]),\n\tsam2(\"small\", \"memory_encoder\", [\n\t\t\"onnx/memory_encoder.onnx\",\n\t\t2807884,\n\t\t\"f36324e383dbf21fcd549169aedf698db00c307fd9a49538c0e5f0aa168e4f99\"\n\t]),\n\tsam2(\"small\", \"memory_attention\", [\n\t\t\"onnx/memory_attention.onnx\",\n\t\t16175204,\n\t\t\"6666be8ca502b5c16e9a113d3d3934996d32f27e93bee5e66a8317fcceec9985\"\n\t]),\n\tsam2(\"small\", \"pointer_tpos\", [\n\t\t\"onnx/pointer_tpos.onnx\",\n\t\t34228,\n\t\t\"f9c1b36e0aa9dc6b7c05b02a8fdaa17cc671d967ffcacc14fcd3177e65ec25e9\"\n\t]),\n\t...encoder$1(\"fp16\", [1263005, \"f8c52be6de99124bb17f25792054406abc482ce3502166f948d5c5849cd14d02\"], [934729728, \"4b021a4d3068c9e9153f2f2fcc9e6d280156228671c00ab6c2ddfa737da7f151\"]),\n\t...encoder$1(\"q4f16\", [1307816, \"4b96732adab3d7d70ac0964ce540a61fad097fbc10c9b27612f47d676877cefc\"], [295622656, \"d1d60808376dbd48e34cf89feaee708c13abed229f2398ab512149db34fdab07\"]),\n\t...encoder$1(\"q4\", [1320396, \"b80cb1cb6ab80efe646ad49ffa11d398af76e8912eb966971932ef2d8e7fe11b\"], [368954368, \"be632cacb4a82ef8be28285e49821b9dd7f96e3231cb90df631890f367110555\"]),\n\tvideo(\"sam3-mask_decoder\", \"sam3-mask_decoder.onnx\", [\n\t\t\"mask_decoder.onnx\",\n\t\t17809322,\n\t\t\"4dff9a588828eeceba4285be85fb9c2a0306447ad642d02b1d8f6bfff1f19af9\"\n\t]),\n\tvideo(\"sam3-memory_encoder\", \"sam3-memory_encoder.onnx\", [\n\t\t\"memory_encoder.onnx\",\n\t\t5587704,\n\t\t\"78146118c2f91073489926bb587a81f129c391b2e0d1dba3aede6fbaa699498f\"\n\t]),\n\tvideo(\"sam3-memory_attention\", \"sam3-memory_attention.onnx\", [\n\t\t\"memory_attention.onnx\",\n\t\t34592488,\n\t\t\"8b24dc20acbb485b81f0e67ed0980b747aaa836707ccff4567a87e59c0ca1c24\"\n\t]),\n\tsupport(\"sam3-support\", \"sam3-base_tracker_preview_single1.onnx\", [\n\t\tSUPPORT_GRAPH,\n\t\t3064674,\n\t\t\"d80c1958175d5de6ca72f5b95d24d853dbdb511e0851d5918a4dcf7ed000f3ea\"\n\t]),\n\tsupport(\"sam3-support-data\", \"sam3-base_tracker_preview_single1.onnx.data\", [\n\t\t`${SUPPORT_GRAPH}.data`,\n\t\t63668224,\n\t\t\"618f62fbac368e863ee295526efd84ca768fb9914c7e1a5d9f1fb0f28837dda1\"\n\t]),\n\ttext$1(\"sam3-text-vision_encoder\", \"sam3-vision_encoder_int4_fp16attn.onnx\", [\n\t\t\"vision_encoder_int4_fp16attn.onnx\",\n\t\t5216609,\n\t\t\"9d148134938a6a284a829733774d3b1356a706a3397bb1d4be240bf041e3ac0e\"\n\t]),\n\ttext$1(\"sam3-text-vision_encoder-data\", \"sam3-vision_encoder_int4_fp16attn.onnx.data\", [\n\t\t\"vision_encoder_int4_fp16attn.onnx.data\",\n\t\t292836352,\n\t\t\"b89c9156064e926761f29be3f87b160fd34f4c93f1de46593295d155621829a2\"\n\t]),\n\ttext$1(\"sam3-text-encoder\", \"sam3-text_encoder_int8.onnx\", [\n\t\t\"text_encoder_int8.onnx\",\n\t\t357021801,\n\t\t\"c0baf8a4165ecc4039bee9389903723e74a68d617d685a4f1dbfc21c58bb4121\"\n\t]),\n\ttext$1(\"sam3-text-decoder\", \"sam3-decoder_int8.onnx\", [\n\t\t\"decoder_int8.onnx\",\n\t\t26804694,\n\t\t\"d721e7b643bb3ee2c48a59d520401c035c702cfbb13cb7f50fa103f0beb27af8\"\n\t]),\n\ttext$1(\"sam3-tokenizer\", \"sam3-tokenizer.json\", [\n\t\t\"tokenizer.json\",\n\t\t3642073,\n\t\t\"6d9109cc838977f3ca94a379eec36aecc7c807e1785cd729660ca2fc0171fb35\"\n\t]),\n\ttext$1(\"sam3-tokenizer-config\", \"sam3-tokenizer_config.json\", [\n\t\t\"tokenizer_config.json\",\n\t\t799,\n\t\t\"39670ad98457fe8f14ca59f6bb74591e9fc850974380a63993e5b8ffc865baa2\"\n\t])\n];\n/** Registers the SAM descriptors into the shared vision registry (idempotent). */\nfunction ensureSamModelsRegistered() {\n\tfor (const descriptor of SAM_MODELS) if (!VISION_MODELS[descriptor.key]) registerVisionModel(descriptor);\n}\n\n//#endregion\n//#region src/sam2/memory.ts\nvar Sam2MemoryBank = class {\n\tseed;\n\trecent = [];\n\tconstructor(temporal) {\n\t\tthis.temporal = temporal;\n\t}\n\tremember(memory, prompted) {\n\t\tif (prompted) {\n\t\t\tthis.seed = memory;\n\t\t\tthis.recent = [];\n\t\t} else {\n\t\t\tthis.recent.push(memory);\n\t\t\tif (this.recent.length > 15) this.recent.shift();\n\t\t}\n\t}\n\tassemble(frame, frameCount = 16) {\n\t\tif (!this.seed) throw new Error(\"SAM 2 must be prompted before propagation.\");\n\t\tconst newest = [...this.recent].reverse();\n\t\tconst blocks = [this.seed, ...newest.slice(0, 6)];\n\t\twhile (blocks.length < 7) blocks.push(blocks[1] ?? this.seed);\n\t\tconst pointers = [this.seed, ...newest].slice(0, 16);\n\t\twhile (pointers.length < 16) pointers.push(pointers[pointers.length - 1]);\n\t\tconst length = this.seed.tokens.length;\n\t\tconst memory = new Float32Array(length * 7 + 16 * 256);\n\t\tconst positions = new Float32Array(memory.length);\n\t\tfor (const [slot, block] of blocks.entries()) {\n\t\t\tmemory.set(block.tokens, slot * length);\n\t\t\tconst available = Math.min(slot, this.recent.length);\n\t\t\tconst row = this.temporal[slot === 0 || available === 0 ? 6 : available - 1];\n\t\t\twritePositions(positions, slot * length, block.positions, row);\n\t\t}\n\t\tconst distances = new Float32Array(16);\n\t\tfor (const [i, entry] of pointers.entries()) {\n\t\t\tmemory.set(entry.pointer, length * 7 + i * 256);\n\t\t\tdistances[i] = Math.abs(frame - entry.frame) / Math.max(1, Math.min(frameCount, 16) - 1);\n\t\t}\n\t\treturn {\n\t\t\tmemory,\n\t\t\tpositions,\n\t\t\tdistances\n\t\t};\n\t}\n};\n/** NCHW features to the sequence-major layout consumed by memory attention. */\nfunction sam2Tokens(data) {\n\tconst count = data.length / 256;\n\tconst result = new Float32Array(data.length);\n\tfor (let channel = 0; channel < 256; channel++) for (let token = 0; token < count; token++) result[token * 256 + channel] = data[channel * count + token] ?? 0;\n\treturn result;\n}\nfunction writePositions(target, offset, spatial, temporal) {\n\tif (!temporal || temporal.length !== 64) throw new Error(\"Invalid SAM 2 temporal encoding.\");\n\tfor (let i = 0; i < spatial.length; i++) target[offset + i] = (spatial[i] ?? 0) + (temporal[i % 64] ?? 0);\n}\n\n//#endregion\n//#region src/sam2/types.ts\nfunction validateSam2Prompts(prompts) {\n\tif (prompts.length === 0) throw new Error(\"SAM 2 requires at least one prompt.\");\n\tlet previous = -1;\n\tfor (const prompt of prompts) {\n\t\tif (!Number.isSafeInteger(prompt.frame) || prompt.frame <= previous) throw new Error(\"SAM 2 prompt frames must be nonnegative, unique and increasing.\");\n\t\tprevious = prompt.frame;\n\t\tif (prompt.points.length === 0) throw new Error(\"SAM 2 prompts need points or a box.\");\n\t\tfor (const point of prompt.points) validatePoint(point);\n\t\tconst corners = prompt.points.filter((point) => point.label >= 2);\n\t\tif (corners.length && (corners.length !== 2 || corners[0]?.label !== 2 || corners[1]?.label !== 3 || corners[0].x >= corners[1].x || corners[0].y >= corners[1].y)) throw new Error(\"SAM 2 boxes need top-left (2) and bottom-right (3) corners.\");\n\t}\n}\nfunction validatePoint(point) {\n\tif (![\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3\n\t].includes(point.label) || !Number.isFinite(point.x) || !Number.isFinite(point.y) || point.x < 0 || point.x > 1 || point.y < 0 || point.y > 1) throw new Error(\"SAM 2 points require normalized coordinates and labels 0, 1, 2 or 3.\");\n}\n\n//#endregion\n//#region src/sam2/tracker.ts\nconst constantsSchema = z.object({\n\timage_size: z.number().int().positive().multipleOf(16),\n\tmemory_frames: z.literal(7),\n\timage_mean: z.tuple([\n\t\tz.number(),\n\t\tz.number(),\n\t\tz.number()\n\t]),\n\timage_std: z.tuple([\n\t\tz.number().positive(),\n\t\tz.number().positive(),\n\t\tz.number().positive()\n\t]),\n\tmemory_temporal_positional_encoding: z.array(z.array(z.number()).length(64)).length(7)\n});\nconst GRAPHS = [\n\t\"vision_encoder\",\n\t\"mask_decoder\",\n\t\"memory_encoder\",\n\t\"memory_attention\",\n\t\"pointer_tpos\"\n];\n/** The pinned export revision of `model`: part of ClipVision's persistent cache identity. */\nfunction sam2Revision(model$1 = \"tiny\") {\n\treturn `sam2.1-${model$1}-${SAM2_EXPORTS[model$1].revision}`;\n}\nfunction floats(outputs, name) {\n\tconst tensor$2 = outputs[name];\n\tif (!tensor$2 || !(tensor$2.data instanceof Float32Array)) throw new Error(`Missing SAM 2 float output: ${name}`);\n\treturn tensor$2.data;\n}\nfunction input(name, tensor$2) {\n\tif (tensor$2.data instanceof BigInt64Array) throw new Error(`Unsupported SAM 2 input type: ${name}`);\n\treturn {\n\t\tname,\n\t\tdata: tensor$2.data,\n\t\tdims: tensor$2.dims\n\t};\n}\nfunction tensor$1(name, data, dims) {\n\treturn {\n\t\tname,\n\t\tdata,\n\t\tdims\n\t};\n}\n/** Complete pinned SAM 2.1 video graph pipeline (Tiny or Small), one explicitly selected object. */\nvar Sam2Tracker = class Sam2Tracker {\n\tsessions = /* @__PURE__ */ new Map();\n\tbank;\n\t/** Model input side; image features are `size / 16` square, one memory token per cell. */\n\tsize;\n\ttokens;\n\tlastFrame = -1;\n\treleased = false;\n\tconstructor(constants, frameCount = 16) {\n\t\tthis.constants = constants;\n\t\tthis.frameCount = frameCount;\n\t\tthis.bank = new Sam2MemoryBank(constants.memory_temporal_positional_encoding);\n\t\tthis.size = constants.image_size;\n\t\tthis.tokens = (this.size / 16) ** 2;\n\t}\n\tstatic async create(options = {}) {\n\t\tensureSamModelsRegistered();\n\t\tconst store = options.store ?? new VisionModelStore(options);\n\t\tconst model$1 = options.model ?? \"tiny\";\n\t\tif (!(model$1 in SAM2_EXPORTS)) throw new Error(`Unknown SAM 2.1 model \"${model$1}\"; use \"tiny\" or \"small\".`);\n\t\tconst bytes = await store.ensure(`sam2.1-${model$1}-constants`);\n\t\tconst constants = constantsSchema.parse(JSON.parse(new TextDecoder().decode(bytes)));\n\t\tif (options.frameCount !== void 0 && (!Number.isSafeInteger(options.frameCount) || options.frameCount < 1)) throw new Error(\"SAM 2 frameCount must be a positive integer.\");\n\t\tconst tracker$1 = new Sam2Tracker(constants, options.frameCount);\n\t\tconst provider = options.provider ?? createDefaultSessionProvider();\n\t\ttry {\n\t\t\tfor (const graph of GRAPHS) {\n\t\t\t\tconst session = await provider.createSession(await store.ensure(`sam2.1-${model$1}-${graph}`));\n\t\t\t\ttracker$1.sessions.set(graph, session);\n\t\t\t}\n\t\t\treturn tracker$1;\n\t\t} catch (error) {\n\t\t\ttracker$1.release();\n\t\t\tthrow error;\n\t\t}\n\t}\n\trun(graph, inputs) {\n\t\tconst session = this.sessions.get(graph);\n\t\tif (!session) throw new Error(\"SAM 2 tracker has been released.\");\n\t\tif (session.runMany) return session.runMany(inputs);\n\t\tif (inputs.length === 1 && inputs[0]) return session.run(inputs[0]);\n\t\tthrow new Error(\"SAM 2 requires a session provider with runMany support.\");\n\t}\n\tasync process(image, frame, points) {\n\t\tif (this.released) throw new Error(\"SAM 2 tracker has been released.\");\n\t\tif (!Number.isSafeInteger(frame) || frame < 0 || this.lastFrame >= 0 && frame !== this.lastFrame + 1) throw new Error(\"SAM 2 propagation requires consecutive source frames.\");\n\t\tif (points) validateSam2Prompts([{\n\t\t\tframe,\n\t\t\tpoints\n\t\t}]);\n\t\tif (this.lastFrame < 0 && !points) throw new Error(\"SAM 2 needs a prompt on its first frame.\");\n\t\tconst { tensor: pixels } = imageToTensor(image, {\n\t\t\twidth: this.size,\n\t\t\theight: this.size,\n\t\t\tfit: \"stretch\",\n\t\t\tchannels: \"rgb\",\n\t\t\tpadValue: 0,\n\t\t\tmean: this.constants.image_mean.map((v) => v * 255),\n\t\t\tstd: this.constants.image_std.map((v) => v * 255)\n\t\t});\n\t\tconst vision = await this.run(\"vision_encoder\", [tensor$1(\"pixel_values\", pixels, [\n\t\t\t1,\n\t\t\t3,\n\t\t\tthis.size,\n\t\t\tthis.size\n\t\t])]);\n\t\tconst conditioned = points ? vision.feats2_no_mem : await this.condition(vision, frame);\n\t\tif (!conditioned || !vision.feats0 || !vision.feats1) throw new Error(\"Invalid SAM 2 vision outputs.\");\n\t\tconst prompt = points ?? [{\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\tlabel: -1\n\t\t}];\n\t\tconst decoded = await this.run(\"mask_decoder\", [\n\t\t\tinput(\"feats0\", vision.feats0),\n\t\t\tinput(\"feats1\", vision.feats1),\n\t\t\tinput(\"feats2_cond\", conditioned),\n\t\t\ttensor$1(\"input_points\", Float32Array.from(prompt.flatMap((p) => [p.x * this.size, p.y * this.size])), [\n\t\t\t\t1,\n\t\t\t\t1,\n\t\t\t\tprompt.length,\n\t\t\t\t2\n\t\t\t]),\n\t\t\ttensor$1(\"input_labels\", Int32Array.from(prompt.map((p) => p.label)), [\n\t\t\t\t1,\n\t\t\t\t1,\n\t\t\t\tprompt.length\n\t\t\t])\n\t\t]);\n\t\tawait this.remember(vision, decoded, frame, points !== void 0);\n\t\tthis.lastFrame = frame;\n\t\treturn decodeSam2Mask(floats(decoded, \"high_res_mask\"), image.width, image.height, floats(decoded, \"object_score_logits\")[0] ?? -Infinity, floats(decoded, \"iou\")[0] ?? 0);\n\t}\n\tasync condition(vision, frame) {\n\t\tconst bank = this.bank.assemble(frame, this.frameCount);\n\t\tconst positions = floats(await this.run(\"pointer_tpos\", [tensor$1(\"normalized_diffs\", bank.distances, [16])]), \"pointer_pos\");\n\t\tfor (let i = 0; i < 16; i++) for (let token = 0; token < 4; token++) bank.positions.set(positions.subarray(i * 64, (i + 1) * 64), 7 * this.tokens * 64 + (i * 4 + token) * 64);\n\t\tconst memoryLength = 7 * this.tokens + 64;\n\t\tconst conditioned = (await this.run(\"memory_attention\", [\n\t\t\ttensor$1(\"current_vision_features\", sam2Tokens(floats(vision, \"feats2\")), [\n\t\t\t\tthis.tokens,\n\t\t\t\t1,\n\t\t\t\t256\n\t\t\t]),\n\t\t\ttensor$1(\"current_vision_position_embeddings\", sam2Tokens(floats(vision, \"vision_pos_embed\")), [\n\t\t\t\tthis.tokens,\n\t\t\t\t1,\n\t\t\t\t256\n\t\t\t]),\n\t\t\ttensor$1(\"memory\", bank.memory, [\n\t\t\t\tmemoryLength,\n\t\t\t\t1,\n\t\t\t\t64\n\t\t\t]),\n\t\t\ttensor$1(\"memory_pos\", bank.positions, [\n\t\t\t\tmemoryLength,\n\t\t\t\t1,\n\t\t\t\t64\n\t\t\t])\n\t\t])).conditioned_feats;\n\t\tif (!conditioned) throw new Error(\"Missing SAM 2 conditioned features.\");\n\t\treturn conditioned;\n\t}\n\tasync remember(vision, decoded, frame, prompted) {\n\t\tif (!vision.feats2 || !decoded.high_res_mask) throw new Error(\"Invalid SAM 2 memory inputs.\");\n\t\tconst memory = await this.run(\"memory_encoder\", [\n\t\t\tinput(\"feats2\", vision.feats2),\n\t\t\tinput(\"high_res_mask\", decoded.high_res_mask),\n\t\t\ttensor$1(\"object_score_logits\", floats(decoded, \"object_score_logits\"), [1, 1]),\n\t\t\ttensor$1(\"binarize\", new Float32Array([prompted ? 1 : 0]), [])\n\t\t]);\n\t\tthis.bank.remember({\n\t\t\tframe,\n\t\t\ttokens: floats(memory, \"memory_tokens\").slice(),\n\t\t\tpositions: floats(memory, \"memory_pos\").slice(),\n\t\t\tpointer: floats(decoded, \"object_pointer\").slice()\n\t\t}, prompted);\n\t}\n\trelease() {\n\t\tfor (const session of this.sessions.values()) session.release();\n\t\tthis.sessions.clear();\n\t\tthis.released = true;\n\t}\n};\n/** Bilinear resize of square logits before thresholding, matching SAM's source-image mask contract. */\nfunction decodeSam2Mask(logits, width, height, score, iou) {\n\tconst side = Math.round(Math.sqrt(logits.length));\n\tif (side * side !== logits.length || side % 16 !== 0) throw new Error(\"Invalid SAM 2 mask shape.\");\n\tconst last = side - 1;\n\tconst mask = new Uint8Array(width * height);\n\tif (score > 0) for (let y = 0; y < height; y++) {\n\t\tconst sy = Math.max(0, Math.min(last, (y + .5) * side / height - .5));\n\t\tconst y0 = Math.floor(sy), y1 = Math.min(last, y0 + 1), fy = sy - y0;\n\t\tfor (let x = 0; x < width; x++) {\n\t\t\tconst sx = Math.max(0, Math.min(last, (x + .5) * side / width - .5));\n\t\t\tconst x0 = Math.floor(sx), x1 = Math.min(last, x0 + 1), fx = sx - x0;\n\t\t\tconst a = (logits[y0 * side + x0] ?? 0) * (1 - fx) + (logits[y0 * side + x1] ?? 0) * fx;\n\t\t\tconst b = (logits[y1 * side + x0] ?? 0) * (1 - fx) + (logits[y1 * side + x1] ?? 0) * fx;\n\t\t\tmask[y * width + x] = a * (1 - fy) + b * fy > 0 ? 255 : 0;\n\t\t}\n\t}\n\treturn {\n\t\tmask,\n\t\twidth,\n\t\theight,\n\t\tscore,\n\t\tiou\n\t};\n}\n\n//#endregion\n//#region src/sam3/graphs.ts\n/** SAM 3's small prompt/position heads, assembled from the pinned upstream weights.\n* The video export omits dense prompts and learned temporal constants. These heads\n* restore the original operations, without approximating a semantic mask by clicks.\n*/\nfunction integer(field, value$1) {\n\treturn new Uint8Array([...varint(field * 8), ...varint(value$1)]);\n}\nfunction text(field, value$1) {\n\treturn lengthDelimited(field, encoder.encode(value$1));\n}\nfunction attribute(name, values) {\n\treturn lengthDelimited(5, concat([\n\t\ttext(1, name),\n\t\tinteger(20, 7),\n\t\tlengthDelimited(8, new Uint8Array(values.flatMap(varint)))\n\t]));\n}\nfunction intAttribute(name, value$1) {\n\treturn lengthDelimited(5, concat([\n\t\ttext(1, name),\n\t\tinteger(3, value$1),\n\t\tinteger(20, 2)\n\t]));\n}\nfunction floatAttribute(name, value$1) {\n\tconst bytes = new Uint8Array(4);\n\tnew DataView(bytes.buffer).setFloat32(0, value$1, true);\n\treturn lengthDelimited(5, concat([\n\t\ttext(1, name),\n\t\tnew Uint8Array([21, ...bytes]),\n\t\tinteger(20, 1)\n\t]));\n}\nfunction node(op, inputs, output, attrs = []) {\n\treturn lengthDelimited(1, concat([\n\t\t...inputs.map((x) => text(1, x)),\n\t\ttext(2, output),\n\t\ttext(4, op),\n\t\t...attrs\n\t]));\n}\nfunction value(name, dims) {\n\tconst shape = concat(dims.map((d) => lengthDelimited(1, integer(1, d))));\n\treturn concat([text(1, name), lengthDelimited(2, lengthDelimited(1, concat([integer(1, 1), lengthDelimited(2, shape)])))]);\n}\nfunction scalar(name, amount) {\n\tconst data = new Float32Array([amount]);\n\treturn concat([\n\t\tinteger(2, 1),\n\t\ttext(8, name),\n\t\tlengthDelimited(9, new Uint8Array(data.buffer))\n\t]);\n}\nfunction model(nodes, inputs, outputs, weights) {\n\tconst graph = concat([\n\t\t...nodes,\n\t\ttext(2, \"framefields_sam3\"),\n\t\t...weights.map((w) => lengthDelimited(5, w)),\n\t\t...inputs.map(([n, d]) => lengthDelimited(11, value(n, d))),\n\t\t...outputs.map(([n, d]) => lengthDelimited(12, value(n, d)))\n\t]);\n\treturn concat([\n\t\tinteger(1, 9),\n\t\tlengthDelimited(7, graph),\n\t\tlengthDelimited(8, integer(2, 18))\n\t]);\n}\nfunction weightsFrom(modelBytes, external) {\n\tconst graph = fields(modelBytes).find((f) => f.number === 7);\n\tif (!graph) throw new Error(\"SAM 3 constants graph is missing.\");\n\tconst result = /* @__PURE__ */ new Map();\n\tfor (const entry of fields(graph.body).filter((f) => f.number === 5)) {\n\t\tconst fs = fields(entry.body), name = firstString(entry.body, 8);\n\t\tif (!name || !/tracker\\.(maskmem_tpos_enc|no_mem_embed|obj_ptr_tpos_proj|sam_prompt_encoder\\.mask_downscaling)/.test(name)) continue;\n\t\tconst metadata = new Map(fs.filter((f) => f.number === 13).map((f) => [firstString(f.body, 1), firstString(f.body, 2)]));\n\t\tconst offset = Number(metadata.get(\"offset\") ?? 0), length = Number(metadata.get(\"length\") ?? 0);\n\t\tconst raw = fs.find((f) => f.number === 9)?.body ?? external.subarray(offset, offset + length);\n\t\tconst dataType = fs.find((f) => f.number === 2);\n\t\tconst dtype = dataType ? readVarint(dataType.raw, 1)[0] : 0;\n\t\tif (![1, 10].includes(dtype)) throw new Error(`Unsupported SAM 3 weight type: ${name}`);\n\t\tif (raw.length === 0 || raw.length % (dtype === 10 ? 2 : 4) !== 0) throw new Error(`Invalid SAM 3 weight: ${name}`);\n\t\tconst view = new DataView(raw.buffer, raw.byteOffset, raw.byteLength);\n\t\tconst data = Float32Array.from({ length: raw.length / (dtype === 10 ? 2 : 4) }, (_, i) => {\n\t\t\tif (dtype === 1) return view.getFloat32(i * 4, true);\n\t\t\tconst bits = view.getUint16(i * 2, true), sign = bits & 32768 ? -1 : 1, exponent = bits >> 10 & 31, fraction = bits & 1023;\n\t\t\tif (exponent === 31) throw new Error(`Non-finite SAM 3 weight ${name}`);\n\t\t\treturn sign * (exponent === 0 ? fraction * 2 ** -24 : (1 + fraction / 1024) * 2 ** (exponent - 15));\n\t\t});\n\t\tconst copy = new Uint8Array(data.buffer);\n\t\tresult.set(name, {\n\t\t\tproto: concat([\n\t\t\t\t...fs.filter((f) => ![\n\t\t\t\t\t2,\n\t\t\t\t\t9,\n\t\t\t\t\t13,\n\t\t\t\t\t14\n\t\t\t\t].includes(f.number)).map((f) => f.raw),\n\t\t\t\tinteger(2, 1),\n\t\t\t\tlengthDelimited(9, copy)\n\t\t\t]),\n\t\t\tdata: new Float32Array(copy.buffer)\n\t\t});\n\t}\n\treturn result;\n}\nfunction sam3SupportGraphs(reference, external) {\n\tconst weights = weightsFrom(reference, external);\n\tconst get = (name) => {\n\t\tconst item = weights.get(`tracker.${name}`);\n\t\tif (!item) throw new Error(`Missing SAM 3 weight ${name}`);\n\t\treturn item;\n\t};\n\tconst nodes = [], denseWeights = [\n\t\tscalar(\"sqrt2\", Math.SQRT2),\n\t\tscalar(\"one\", 1),\n\t\tscalar(\"half\", .5)\n\t];\n\tlet previous = \"mask\";\n\tfor (const [index, layer] of [\n\t\t0,\n\t\t3,\n\t\t6\n\t].entries()) {\n\t\tconst base = `sam_prompt_encoder.mask_downscaling.${layer}`;\n\t\tfor (const suffix of [\"weight\", \"bias\"]) denseWeights.push(get(`${base}.${suffix}`).proto);\n\t\tconst output = `conv${index}`;\n\t\tnodes.push(node(\"Conv\", [\n\t\t\tprevious,\n\t\t\t`tracker.${base}.weight`,\n\t\t\t`tracker.${base}.bias`\n\t\t], output, [attribute(\"kernel_shape\", layer === 6 ? [1, 1] : [2, 2]), attribute(\"strides\", layer === 6 ? [1, 1] : [2, 2])]));\n\t\tprevious = output;\n\t\tif (layer === 6) continue;\n\t\tconst norm = `sam_prompt_encoder.mask_downscaling.${layer + 1}`;\n\t\tfor (const suffix of [\"weight\", \"bias\"]) denseWeights.push(get(`${norm}.${suffix}`).proto);\n\t\tnodes.push(node(\"Transpose\", [previous], `nhwc${index}`, [attribute(\"perm\", [\n\t\t\t0,\n\t\t\t2,\n\t\t\t3,\n\t\t\t1\n\t\t])]), node(\"LayerNormalization\", [\n\t\t\t`nhwc${index}`,\n\t\t\t`tracker.${norm}.weight`,\n\t\t\t`tracker.${norm}.bias`\n\t\t], `norm${index}`, [intAttribute(\"axis\", 3), floatAttribute(\"epsilon\", 1e-6)]), node(\"Transpose\", [`norm${index}`], `nchw${index}`, [attribute(\"perm\", [\n\t\t\t0,\n\t\t\t3,\n\t\t\t1,\n\t\t\t2\n\t\t])]), node(\"Div\", [`nchw${index}`, \"sqrt2\"], `div${index}`), node(\"Erf\", [`div${index}`], `erf${index}`), node(\"Add\", [`erf${index}`, \"one\"], `add${index}`), node(\"Mul\", [`add${index}`, `nchw${index}`], `mul${index}`), node(\"Mul\", [`mul${index}`, \"half\"], `gelu${index}`));\n\t\tprevious = `gelu${index}`;\n\t}\n\tnodes.push(node(\"Identity\", [previous], \"dense_prompt\"));\n\tconst pointerWeights = [get(\"obj_ptr_tpos_proj.weight\").proto, get(\"obj_ptr_tpos_proj.bias\").proto];\n\treturn {\n\t\tdensePrompt: model(nodes, [[\"mask\", [\n\t\t\t1,\n\t\t\t1,\n\t\t\t288,\n\t\t\t288\n\t\t]]], [[\"dense_prompt\", [\n\t\t\t1,\n\t\t\t256,\n\t\t\t72,\n\t\t\t72\n\t\t]]], denseWeights),\n\t\tpointerPosition: model([node(\"Gemm\", [\n\t\t\t\"encoding\",\n\t\t\t\"tracker.obj_ptr_tpos_proj.weight\",\n\t\t\t\"tracker.obj_ptr_tpos_proj.bias\"\n\t\t], \"position\", [intAttribute(\"transB\", 1)])], [[\"encoding\", [16, 256]]], [[\"position\", [16, 64]]], pointerWeights),\n\t\ttemporal: get(\"maskmem_tpos_enc\").data,\n\t\tnoMemory: get(\"no_mem_embed\").data\n\t};\n}\n/** Replace the no-mask embedding by the actual dense prompt head's output. */\nfunction sam3DenseDecoder(modelBytes) {\n\tconst modelFields = fields(modelBytes), graph = modelFields.find((f) => f.number === 7);\n\tif (!graph) throw new Error(\"Missing SAM 3 decoder graph.\");\n\tlet replaced = false;\n\tconst graphParts = fields(graph.body).map((f) => {\n\t\tif (f.number !== 1 || firstString(f.body, 3) !== \"/mask_decoder/Add\") return f.raw;\n\t\tconst inputs = strings(f.body, 1);\n\t\tif (inputs[0] !== \"feats2\" || inputs[1] !== \"/prompt_encoder/Expand_output_0\") throw new Error(\"Unexpected SAM 3 dense prompt contract.\");\n\t\treplaced = true;\n\t\treturn lengthDelimited(1, concat(fields(f.body).filter((x) => x.number !== 1).map((x) => x.raw).concat([text(1, \"feats2\"), text(1, \"dense_prompt\")])));\n\t});\n\tif (!replaced) throw new Error(\"SAM 3 decoder has no prompt embedding input.\");\n\tgraphParts.push(lengthDelimited(11, value(\"dense_prompt\", [\n\t\t1,\n\t\t256,\n\t\t72,\n\t\t72\n\t])));\n\treturn concat(modelFields.map((f) => f === graph ? lengthDelimited(7, concat(graphParts)) : f.raw));\n}\n\n//#endregion\n//#region src/sam3/memory.ts\n/** Dynamic memory lengths: never duplicate unavailable early-frame memories. */\nvar Sam3MemoryBank = class {\n\tseed;\n\trecent = [];\n\tconstructor(temporal) {\n\t\tthis.temporal = temporal;\n\t}\n\tremember(memory, prompted) {\n\t\tif (prompted) {\n\t\t\tthis.seed = memory;\n\t\t\tthis.recent = [];\n\t\t} else {\n\t\t\tthis.recent.push(memory);\n\t\t\tif (this.recent.length > 15) this.recent.shift();\n\t\t}\n\t}\n\tassemble(frame, frameCount) {\n\t\tif (!this.seed) throw new Error(\"SAM 3 needs a prompt before propagation.\");\n\t\tconst blocks = [this.seed, ...this.recent.slice(-6)];\n\t\tconst spatial = new Float32Array(blocks.length * 5184 * 64), positions = new Float32Array(spatial.length);\n\t\tfor (const [i, block] of blocks.entries()) {\n\t\t\tspatial.set(block.tokens, i * 5184 * 64);\n\t\t\tconst row = block === this.seed ? 6 : Math.min(5, frame - block.frame - 1);\n\t\t\tfor (let j = 0; j < block.positions.length; j++) positions[i * 5184 * 64 + j] = (block.positions[j] ?? 0) + (this.temporal[row * 64 + j % 64] ?? 0);\n\t\t}\n\t\tconst entries = [this.seed, ...[...this.recent].reverse()].slice(0, 16);\n\t\tconst pointers = new Float32Array(entries.length * 256), encoding = new Float32Array(16 * 256);\n\t\tfor (const [i, entry] of entries.entries()) {\n\t\t\tpointers.set(entry.pointer, i * 256);\n\t\t\tconst diff = (frame - entry.frame) / Math.max(1, Math.min(frameCount, 16) - 1);\n\t\t\tfor (let j = 0; j < 128; j++) {\n\t\t\t\tconst angle = diff / 1e4 ** (2 * Math.floor(j / 2) / 128);\n\t\t\t\tencoding[i * 256 + j] = Math.sin(angle);\n\t\t\t\tencoding[i * 256 + 128 + j] = Math.cos(angle);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tspatial,\n\t\t\tpositions,\n\t\t\tpointers,\n\t\t\tencoding,\n\t\t\tpointerCount: entries.length\n\t\t};\n\t}\n};\n/** SAM 3 PositionEmbeddingSine: y then x, normalized pixel centers at grid indices 1..72. */\nfunction sam3Position() {\n\tconst out = new Float32Array(5184 * 256);\n\tfor (let y = 0; y < 72; y++) for (let x = 0; x < 72; x++) for (let j = 0; j < 128; j++) {\n\t\tconst divisor = 1e4 ** (2 * Math.floor(j / 2) / 128);\n\t\tconst yy = (y + 1) / 72.000001 * 2 * Math.PI / divisor, xx = (x + 1) / 72.000001 * 2 * Math.PI / divisor;\n\t\tout[(y * 72 + x) * 256 + j] = j % 2 ? Math.cos(yy) : Math.sin(yy);\n\t\tout[(y * 72 + x) * 256 + 128 + j] = j % 2 ? Math.cos(xx) : Math.sin(xx);\n\t}\n\treturn out;\n}\n\n//#endregion\n//#region src/sam3/text-selector.ts\nfunction sam3Floats(outputs, name) {\n\tconst value$1 = outputs[name];\n\tif (!(value$1?.data instanceof Float32Array)) throw new Error(`Missing SAM 3 float output ${name}`);\n\treturn value$1.data;\n}\nasync function sam3Run(session, inputs) {\n\tif (!session.runMany) throw new Error(\"SAM 3 requires a session provider with runMany support.\");\n\treturn session.runMany(inputs);\n}\n/** Semantic model is separate from the visual tracker and loads only for text prompts. */\nvar Sam3TextSelector = class Sam3TextSelector {\n\tsessions = [];\n\tencoded;\n\tconstructor(tokenizer) {\n\t\tthis.tokenizer = tokenizer;\n\t}\n\tstatic async create(store, provider) {\n\t\tconst json = async (key) => JSON.parse(new TextDecoder().decode(await store.ensure(key)));\n\t\tconst selector = new Sam3TextSelector(new Tokenizer(await json(\"sam3-tokenizer\"), await json(\"sam3-tokenizer-config\")));\n\t\ttry {\n\t\t\tselector.sessions.push(await provider.createSession(await store.ensure(\"sam3-text-vision_encoder\"), { externalData: [{\n\t\t\t\tpath: \"vision_encoder_int4_fp16attn.onnx.data\",\n\t\t\t\tdata: await store.ensure(\"sam3-text-vision_encoder-data\")\n\t\t\t}] }));\n\t\t\tfor (const key of [\"sam3-text-encoder\", \"sam3-text-decoder\"]) selector.sessions.push(await provider.createSession(await store.ensure(key)));\n\t\t\treturn selector;\n\t\t} catch (error) {\n\t\t\tselector.release();\n\t\t\tthrow error;\n\t\t}\n\t}\n\t/**\n\t* Mask logits (288²) of the instances matching `text` with sigmoid score of at least\n\t* `threshold`, best first and at most `max`. Queries that repeat an accepted instance\n\t* (mask IoU above 0.5) are skipped. Throws when nothing matches unless `required` is false.\n\t*/\n\tasync select(pixels, text$2, threshold, max = 1, required = true) {\n\t\tconst [visionSession, textSession, decoder] = this.sessions;\n\t\tif (!visionSession || !textSession || !decoder) throw new Error(\"SAM 3 text selector has been released.\");\n\t\tconst { features, mask } = await this.encodeText(textSession, text$2);\n\t\tconst vision = await sam3Run(visionSession, [{\n\t\t\tname: \"pixel_values\",\n\t\t\tdata: pixels,\n\t\t\tdims: [\n\t\t\t\t1,\n\t\t\t\t3,\n\t\t\t\t1008,\n\t\t\t\t1008\n\t\t\t]\n\t\t}]);\n\t\tconst inputs = [{\n\t\t\tname: \"text_features\",\n\t\t\tdata: features,\n\t\t\tdims: [\n\t\t\t\t1,\n\t\t\t\t32,\n\t\t\t\t256\n\t\t\t]\n\t\t}, {\n\t\t\tname: \"attention_mask\",\n\t\t\tdata: mask,\n\t\t\tdims: [1, 32]\n\t\t}];\n\t\tfor (const name of [\n\t\t\t\"fpn_hidden_state_0\",\n\t\t\t\"fpn_hidden_state_1\",\n\t\t\t\"fpn_hidden_state_2\",\n\t\t\t\"fpn_position_encoding_2\"\n\t\t]) {\n\t\t\tconst value$1 = vision[name];\n\t\t\tif (!value$1) throw new Error(`Missing SAM 3 concept feature ${name}`);\n\t\t\tinputs.push({\n\t\t\t\tname,\n\t\t\t\tdata: sam3Floats(vision, name),\n\t\t\t\tdims: value$1.dims\n\t\t\t});\n\t\t}\n\t\tconst result = await sam3Run(decoder, inputs), scores = sam3Floats(result, \"pred_logits\"), masks = sam3Floats(result, \"pred_masks\");\n\t\tif (masks.length !== scores.length * CELLS) throw new Error(\"Invalid SAM 3 concept mask shape.\");\n\t\tconst ranked = [...scores.keys()].sort((a, b) => (scores[b] ?? -Infinity) - (scores[a] ?? -Infinity));\n\t\tconst best = 1 / (1 + Math.exp(-(scores[ranked[0] ?? 0] ?? -Infinity)));\n\t\tif (best < threshold && !required) return [];\n\t\tif (best < threshold) throw new Error(`SAM 3 found no confident instance for text ${JSON.stringify(text$2)} (score ${best.toFixed(3)}, threshold ${threshold}).`);\n\t\tconst logit = Math.log(threshold / (1 - threshold));\n\t\tconst selected = [];\n\t\tfor (const query of ranked) {\n\t\t\tif (selected.length >= max || (scores[query] ?? -Infinity) < logit) break;\n\t\t\tconst candidate = masks.slice(query * CELLS, (query + 1) * CELLS);\n\t\t\tif (selected.every((kept) => maskIou(kept, candidate) <= .5)) selected.push(candidate);\n\t\t}\n\t\treturn selected;\n\t}\n\t/** Text features for a prompt; the last one is kept, since re-detection repeats it every few frames. */\n\tasync encodeText(session, text$2) {\n\t\tif (this.encoded?.text === text$2) return this.encoded;\n\t\tconst tokens = this.tokenizer.encode(text$2).ids;\n\t\tif (tokens.length > 32) throw new Error(\"SAM 3 text prompts must fit within 32 CLIP tokens.\");\n\t\tconst ids = new BigInt64Array(32).fill(49407n), mask = new BigInt64Array(32);\n\t\ttokens.forEach((id, i) => {\n\t\t\tids[i] = BigInt(id);\n\t\t\tmask[i] = 1n;\n\t\t});\n\t\tthis.encoded = {\n\t\t\ttext: text$2,\n\t\t\tfeatures: sam3Floats(await sam3Run(session, [{\n\t\t\t\tname: \"input_ids\",\n\t\t\t\tdata: ids,\n\t\t\t\tdims: [1, 32]\n\t\t\t}, {\n\t\t\t\tname: \"attention_mask\",\n\t\t\t\tdata: mask,\n\t\t\t\tdims: [1, 32]\n\t\t\t}]), \"text_features\").slice(),\n\t\t\tmask\n\t\t};\n\t\treturn this.encoded;\n\t}\n\trelease() {\n\t\tfor (const session of this.sessions) session.release();\n\t\tthis.sessions.length = 0;\n\t\tthis.encoded = void 0;\n\t}\n};\nconst CELLS = 288 * 288;\nfunction maskIou(a, b) {\n\tlet both = 0, either = 0;\n\tfor (let i = 0; i < a.length; i++) {\n\t\tconst x = (a[i] ?? 0) > 0, y = (b[i] ?? 0) > 0;\n\t\tif (x && y) both++;\n\t\tif (x || y) either++;\n\t}\n\treturn either ? both / either : 0;\n}\n\n//#endregion\n//#region src/sam3/encoder.ts\n/** Frames kept: clips of one source ask for the same frame back to back. */\nconst RECENT = 2;\n/**\n* The encoder is most of SAM 3's per-frame cost (3.6 s at fp16 on an M1 Pro), and every\n* clip of a source sees identical pixels. So trackers on one provider and precision share\n* one session and the features of the last frames, keyed by pixel content.\n*/\nvar SharedEncoder = class {\n\tusers = 0;\n\trecent = [];\n\tconstructor(session, forget) {\n\t\tthis.session = session;\n\t\tthis.forget = forget;\n\t}\n\thold() {\n\t\tthis.users++;\n\t\tlet held = true;\n\t\treturn {\n\t\t\tencode: (image) => this.encode(image),\n\t\t\trelease: () => {\n\t\t\t\tif (!held) return;\n\t\t\t\theld = false;\n\t\t\t\tif (--this.users > 0) return;\n\t\t\t\tthis.forget();\n\t\t\t\tthis.recent.length = 0;\n\t\t\t\tthis.session.release();\n\t\t\t}\n\t\t};\n\t}\n\tencode(image) {\n\t\tconst key = frameKey(image);\n\t\tconst hit = this.recent.find((entry$1) => entry$1.key === key);\n\t\tif (hit) return hit.features;\n\t\tconst entry = {\n\t\t\tkey,\n\t\t\tfeatures: this.run(image)\n\t\t};\n\t\tthis.recent.push(entry);\n\t\tif (this.recent.length > RECENT) this.recent.shift();\n\t\tentry.features.catch(() => {\n\t\t\tconst index = this.recent.indexOf(entry);\n\t\t\tif (index >= 0) this.recent.splice(index, 1);\n\t\t});\n\t\treturn entry.features;\n\t}\n\tasync run(image) {\n\t\tconst { tensor: pixels } = imageToTensor(image, {\n\t\t\twidth: 1008,\n\t\t\theight: 1008,\n\t\t\tfit: \"stretch\",\n\t\t\tchannels: \"rgb\",\n\t\t\tpadValue: 0,\n\t\t\tmean: [\n\t\t\t\t127.5,\n\t\t\t\t127.5,\n\t\t\t\t127.5\n\t\t\t],\n\t\t\tstd: [\n\t\t\t\t127.5,\n\t\t\t\t127.5,\n\t\t\t\t127.5\n\t\t\t]\n\t\t});\n\t\tconst out = await sam3Run(this.session, [{\n\t\t\tname: \"pixel_values\",\n\t\t\tdata: pixels,\n\t\t\tdims: [\n\t\t\t\t1,\n\t\t\t\t3,\n\t\t\t\t1008,\n\t\t\t\t1008\n\t\t\t]\n\t\t}]);\n\t\treturn {\n\t\t\tpixels,\n\t\t\tfeats0: sam3Floats(out, \"image_embeddings.0\"),\n\t\t\tfeats1: sam3Floats(out, \"image_embeddings.1\"),\n\t\t\traw: sam3Floats(out, \"image_embeddings.2\")\n\t\t};\n\t}\n};\nconst shared = /* @__PURE__ */ new WeakMap();\n/** Holds the process's SAM 3 encoder for `provider` at `precision`, creating it on first use. */\nasync function holdSam3Encoder(store, provider, precision) {\n\tlet byPrecision = shared.get(provider);\n\tif (!byPrecision) {\n\t\tbyPrecision = /* @__PURE__ */ new Map();\n\t\tshared.set(provider, byPrecision);\n\t}\n\tconst encoders = byPrecision;\n\tlet encoder$2 = encoders.get(precision);\n\tif (!encoder$2) {\n\t\tencoder$2 = (async () => {\n\t\t\treturn new SharedEncoder(await provider.createSession(await store.ensure(`sam3-vision_encoder-${precision}`), { externalData: [{\n\t\t\t\tpath: sam3EncoderFiles(precision).data,\n\t\t\t\tdata: await store.ensure(`sam3-vision_encoder-${precision}-data`)\n\t\t\t}] }), () => encoders.delete(precision));\n\t\t})();\n\t\tencoders.set(precision, encoder$2);\n\t\tencoder$2.catch(() => encoders.delete(precision));\n\t}\n\treturn (await encoder$2).hold();\n}\n/** Content key of a frame: size plus two 32-bit FNV-1a hashes over its bytes. */\nfunction frameKey(image) {\n\tconst bytes = image.data;\n\tlet a = 2166136261, b = 16777619 ^ bytes.length;\n\tfor (let i = 0; i < bytes.length; i++) {\n\t\tconst byte = bytes[i] ?? 0;\n\t\ta = Math.imul(a ^ byte, 16777619);\n\t\tb = Math.imul(b ^ byte, 1540483477) ^ b >>> 15;\n\t}\n\treturn `${image.width}x${image.height}:${(a >>> 0).toString(36)}${(b >>> 0).toString(36)}`;\n}\n\n//#endregion\n//#region src/sam3/selection.ts\n/**\n* Text-selected instances as one mask (`sam3.merge`): each pixel keeps its most confident\n* instance's logit, so the union is positive wherever any instance is.\n*/\nfunction mergeSelections(masks) {\n\tconst merged = new Float32Array(masks[0]?.length ?? 0).fill(-Infinity);\n\tfor (const mask of masks) for (let i = 0; i < merged.length; i++) merged[i] = Math.max(merged[i] ?? -Infinity, mask[i] ?? -Infinity);\n\treturn merged;\n}\n/** Logit SAM uses for a given mask's pixels (and its object score): ±10. */\nconst MASK_LOGIT = 10;\n/** A re-detected instance is new while tracked objects cover less than this share of it. */\nconst NEW_OBJECT_COVERAGE = .5;\n/** Where any present tracked object is, on the 288² concept grid, as ±10 logits. */\nfunction coveredCells(tracked) {\n\tconst covered = new Float32Array(288 * 288).fill(-MASK_LOGIT);\n\tfor (const { logits, score } of tracked) {\n\t\tif (score <= 0) continue;\n\t\tfor (let y = 0; y < 288; y++) {\n\t\t\tconst row = Math.floor((y + .5) * 1008 / 288) * 1008;\n\t\t\tfor (let x = 0; x < 288; x++) if ((logits[row + Math.floor((x + .5) * 1008 / 288)] ?? 0) > 0) covered[y * 288 + x] = MASK_LOGIT;\n\t\t}\n\t}\n\treturn covered;\n}\n/** Re-detected 288² instances that the covered cells do not already hold. */\nfunction uncovered(found, covered) {\n\treturn found.filter((instance) => {\n\t\tlet inside = 0;\n\t\tlet area = 0;\n\t\tfor (let i = 0; i < instance.length; i++) {\n\t\t\tif ((instance[i] ?? 0) <= 0) continue;\n\t\t\tarea++;\n\t\t\tif ((covered[i] ?? 0) > 0) inside++;\n\t\t}\n\t\treturn area > 0 && inside / area < NEW_OBJECT_COVERAGE;\n\t});\n}\n/** 1008² seed logits that keep a present tracked mask at full resolution and add `added` to it. */\nfunction keepTracked(tracked, added) {\n\tif (!tracked || tracked.score <= 0) return added;\n\treturn Float32Array.from(added, (value$1, i) => (tracked.logits[i] ?? 0) > 0 ? MASK_LOGIT : value$1);\n}\n\n//#endregion\n//#region src/sam3/types.ts\nfunction validateSam3Prompts(options) {\n\tconst prompts = options.prompts ?? (options.text ? [{\n\t\tframe: 0,\n\t\ttext: options.text\n\t}] : []);\n\tif (!prompts.length) throw new Error(\"SAM 3 requires at least one prompt or text description.\");\n\tlet previous = -1;\n\tfor (const prompt of prompts) {\n\t\tif (!Number.isSafeInteger(prompt.frame) || prompt.frame <= previous) throw new Error(\"SAM 3 prompt frames must be nonnegative, unique and increasing.\");\n\t\tprevious = prompt.frame;\n\t\tif (prompt.points !== void 0 === (prompt.text !== void 0)) throw new Error(\"SAM 3 prompts need either points/a box or text.\");\n\t\tif (prompt.points) validateSam2Prompts([{\n\t\t\tframe: prompt.frame,\n\t\t\tpoints: prompt.points\n\t\t}]);\n\t\tif (prompt.text !== void 0 && !prompt.text.trim()) throw new Error(\"SAM 3 text prompts must not be empty.\");\n\t\tif (prompt.object !== void 0 && (prompt.text !== void 0 || !Number.isSafeInteger(prompt.object) || prompt.object < 1)) throw new Error(\"SAM 3 prompt objects are positive track IDs on points prompts.\");\n\t}\n\tconst maxObjects = options.maxObjects ?? 1;\n\tif (!Number.isSafeInteger(maxObjects) || maxObjects < 1) throw new Error(\"SAM 3 maxObjects must be a positive integer.\");\n\tconst redetect = options.redetect ?? 0;\n\tif (!Number.isSafeInteger(redetect) || redetect < 0) throw new Error(\"SAM 3 redetect must be a nonnegative integer frame interval.\");\n\tconst threshold = options.textThreshold ?? .5;\n\tif (!Number.isFinite(threshold) || threshold <= 0 || threshold >= 1) throw new Error(\"SAM 3 textThreshold must be between zero and one.\");\n}\n\n//#endregion\n//#region src/sam3/tracker.ts\n/** Every graph and tokenizer revision, and the encoder precision: ClipVision's cache identity. */\nfunction sam3Revision(precision) {\n\treturn `sam3-${precision}-429305c8-video-e942689a-support-68ce2746-text-fe8f8e12-v2`;\n}\n/** The encoder precision a tracker on `provider` uses: the override, else the backend's best. */\nasync function sam3Precision(provider = createDefaultSessionProvider(), override) {\n\treturn override ?? SAM3_ENCODER[await sessionCompute(provider)];\n}\nfunction tensor(name, data, dims) {\n\treturn {\n\t\tname,\n\t\tdata,\n\t\tdims\n\t};\n}\n/**\n* Explicitly selected SAM 3 instances with full neural memory propagation on the provider.\n* The image encoder runs once per frame; each object keeps its own memory bank.\n*/\nvar Sam3Tracker = class Sam3Tracker {\n\tsessions = /* @__PURE__ */ new Map();\n\tencoder;\n\tposition = sam3Position();\n\tbanks = [];\n\ttemporal;\n\tnoMemory;\n\tselector;\n\t/** The last text prompt and its frame, which re-detection repeats. */\n\ttext;\n\tlastFrame = -1;\n\treleased = false;\n\tconstructor(store, provider, options) {\n\t\tthis.store = store;\n\t\tthis.provider = provider;\n\t\tthis.options = options;\n\t}\n\tstatic async create(options = {}) {\n\t\tassertSamLicenseAccepted(\"SAM 3\", options);\n\t\tensureSamModelsRegistered();\n\t\tif (options.frameCount !== void 0 && (!Number.isSafeInteger(options.frameCount) || options.frameCount < 1)) throw new Error(\"SAM 3 frameCount must be a positive integer.\");\n\t\tif (options.textThreshold !== void 0 && (!Number.isFinite(options.textThreshold) || options.textThreshold <= 0 || options.textThreshold >= 1)) throw new Error(\"SAM 3 textThreshold must be between zero and one.\");\n\t\tif (options.maxObjects !== void 0 && (!Number.isSafeInteger(options.maxObjects) || options.maxObjects < 1)) throw new Error(\"SAM 3 maxObjects must be a positive integer.\");\n\t\tif (options.redetect !== void 0 && (!Number.isSafeInteger(options.redetect) || options.redetect < 0)) throw new Error(\"SAM 3 redetect must be a nonnegative integer frame interval.\");\n\t\tconst store = options.store ?? new VisionModelStore({\n\t\t\t...options,\n\t\t\tacceptLicense: options.acceptLicense ?? true\n\t\t});\n\t\tconst provider = options.provider ?? createDefaultSessionProvider();\n\t\tconst tracker$1 = new Sam3Tracker(store, provider, options);\n\t\ttry {\n\t\t\ttracker$1.encoder = await holdSam3Encoder(store, provider, await sam3Precision(provider, options.precision));\n\t\t\tconst support$1 = sam3SupportGraphs(await store.ensure(\"sam3-support\"), await store.ensure(\"sam3-support-data\"));\n\t\t\ttracker$1.temporal = support$1.temporal;\n\t\t\ttracker$1.noMemory = support$1.noMemory;\n\t\t\ttracker$1.sessions.set(\"dense_prompt\", await provider.createSession(support$1.densePrompt));\n\t\t\ttracker$1.sessions.set(\"pointer_position\", await provider.createSession(support$1.pointerPosition));\n\t\t\tconst decoder = await store.ensure(\"sam3-mask_decoder\");\n\t\t\ttracker$1.sessions.set(\"mask_decoder\", await provider.createSession(decoder));\n\t\t\ttracker$1.sessions.set(\"dense_decoder\", await provider.createSession(sam3DenseDecoder(decoder)));\n\t\t\tfor (const graph of [\"memory_encoder\", \"memory_attention\"]) tracker$1.sessions.set(graph, await provider.createSession(await store.ensure(`sam3-${graph}`)));\n\t\t\tif (!options.store) store.clearMemoryCache();\n\t\t\treturn tracker$1;\n\t\t} catch (error) {\n\t\t\ttracker$1.release();\n\t\t\tthrow error;\n\t\t}\n\t}\n\trun(graph, inputs) {\n\t\tconst session = this.sessions.get(graph);\n\t\tif (!session) throw new Error(\"SAM 3 tracker has been released.\");\n\t\treturn sam3Run(session, inputs);\n\t}\n\tasync process(image, frame, prompt) {\n\t\tif (this.released) throw new Error(\"SAM 3 tracker has been released.\");\n\t\tif (!Number.isSafeInteger(frame) || frame < 0 || this.lastFrame >= 0 && frame !== this.lastFrame + 1) throw new Error(\"SAM 3 propagation requires consecutive source frames.\");\n\t\tif (prompt) validateSam3Prompts({ prompts: [{\n\t\t\t...prompt,\n\t\t\tframe\n\t\t}] });\n\t\tif (this.lastFrame < 0 && !prompt) throw new Error(\"SAM 3 needs a prompt on its first frame.\");\n\t\tif (!this.encoder) throw new Error(\"SAM 3 tracker has been released.\");\n\t\tconst { pixels, feats0, feats1, raw } = await this.encoder.encode(image);\n\t\tconst shared$1 = [tensor(\"feats0\", feats0, [\n\t\t\t1,\n\t\t\t32,\n\t\t\t288,\n\t\t\t288\n\t\t]), tensor(\"feats1\", feats1, [\n\t\t\t1,\n\t\t\t64,\n\t\t\t144,\n\t\t\t144\n\t\t])];\n\t\tconst seeds = await this.seeds(pixels, frame, prompt);\n\t\tconst tracked = [];\n\t\tfor (const [index, bank] of this.banks.entries()) {\n\t\t\tconst seed = seeds.get(index);\n\t\t\tconst features = seed ? this.initialFeatures(raw) : await this.condition(raw, frame, bank);\n\t\t\ttracked.push(this.track(seed, await this.decode(shared$1, features, seed)));\n\t\t}\n\t\tif (!prompt) await this.redetect(pixels, frame, tracked, shared$1, raw);\n\t\tconst objects = [];\n\t\tfor (const [index, bank] of this.banks.entries()) {\n\t\t\tconst item = tracked[index];\n\t\t\tif (!item) continue;\n\t\t\tconst { seed, decoded, logits, score } = item;\n\t\t\tawait this.remember(bank, raw, decoded, frame, seed, logits, score);\n\t\t\tobjects.push({\n\t\t\t\tid: index + 1,\n\t\t\t\tmask: sam3Mask(logits, image.width, image.height, score),\n\t\t\t\tscore,\n\t\t\t\tiou: seed?.mask ? 1 : Math.max(...sam3Floats(decoded, \"iou_scores\"))\n\t\t\t});\n\t\t}\n\t\tthis.lastFrame = frame;\n\t\treturn {\n\t\t\twidth: image.width,\n\t\t\theight: image.height,\n\t\t\tobjects\n\t\t};\n\t}\n\ttrack(seed, decoded) {\n\t\treturn {\n\t\t\tseed,\n\t\t\tdecoded,\n\t\t\tlogits: seed?.mask ?? sam3Floats(decoded, \"high_res_masks\"),\n\t\t\tscore: seed?.mask ? MASK_LOGIT : sam3Floats(decoded, \"object_score_logits\")[0] ?? -Infinity\n\t\t};\n\t}\n\t/**\n\t* On a `redetect` frame, runs the last text prompt again and seeds what no tracked object\n\t* covers: merged into the one object (keeping what it tracks), or as new objects.\n\t*/\n\tasync redetect(pixels, frame, tracked, shared$1, raw) {\n\t\tconst every = this.options.redetect ?? 0;\n\t\tif (!this.text || every <= 0 || (frame - this.text.frame) % every !== 0) return;\n\t\tconst room = this.options.merge ? Infinity : (this.options.maxObjects ?? 1) - this.banks.length;\n\t\tif (room <= 0) return;\n\t\tconst found = await (await this.textSelector()).select(pixels, this.text.value, this.options.textThreshold ?? .5, Infinity, false);\n\t\tconst covered = coveredCells(tracked);\n\t\tconst fresh = uncovered(found, covered).slice(0, room);\n\t\tif (!fresh.length) return;\n\t\tconst seeded = async (seed) => this.track(seed, await this.decode(shared$1, this.initialFeatures(raw), seed));\n\t\tif (this.options.merge) {\n\t\t\tconst added = mergeSelections(fresh);\n\t\t\tconst kept = tracked[0];\n\t\t\tif (!kept) this.banks.push(this.newBank());\n\t\t\ttracked[0] = await seeded({\n\t\t\t\tdense: await this.densePrompt(mergeSelections([added, covered])),\n\t\t\t\tmask: keepTracked(kept, seedLogits(added))\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tfor (const logits of fresh) {\n\t\t\tthis.banks.push(this.newBank());\n\t\t\ttracked.push(await seeded(await this.textSeed(logits)));\n\t\t}\n\t}\n\tasync textSelector() {\n\t\tthis.selector ??= await Sam3TextSelector.create(this.store, this.provider);\n\t\tif (!this.options.store) this.store.clearMemoryCache();\n\t\treturn this.selector;\n\t}\n\t/** A 288² concept mask as a seed that outputs (and remembers) that mask. */\n\tasync textSeed(logits) {\n\t\treturn {\n\t\t\tdense: await this.densePrompt(logits),\n\t\t\tmask: seedLogits(logits)\n\t\t};\n\t}\n\tasync densePrompt(logits) {\n\t\tconst binary = Float32Array.from(logits, (v) => v > 0 ? 1 : 0);\n\t\treturn sam3Floats(await this.run(\"dense_prompt\", [tensor(\"mask\", binary, [\n\t\t\t1,\n\t\t\t1,\n\t\t\t288,\n\t\t\t288\n\t\t])]), \"dense_prompt\");\n\t}\n\t/** Objects a prompt (re)seeds, by index. Text re-selects every object; points address one. */\n\tasync seeds(pixels, frame, prompt) {\n\t\tconst seeds = /* @__PURE__ */ new Map();\n\t\tif (prompt?.points) {\n\t\t\tconst index = (prompt.object ?? 1) - 1;\n\t\t\tif (index > this.banks.length) throw new Error(`SAM 3 prompt object ${index + 1} skips track IDs; the next new ID is ${this.banks.length + 1}.`);\n\t\t\tif (index === this.banks.length) this.banks.push(this.newBank());\n\t\t\tseeds.set(index, { points: prompt.points });\n\t\t}\n\t\tif (prompt?.text !== void 0) {\n\t\t\tconst selected = await (await this.textSelector()).select(pixels, prompt.text, this.options.textThreshold ?? .5, this.options.maxObjects ?? (this.options.merge ? Infinity : 1));\n\t\t\tconst masks = this.options.merge ? [mergeSelections(selected)] : selected;\n\t\t\tthis.text = {\n\t\t\t\tvalue: prompt.text,\n\t\t\t\tframe\n\t\t\t};\n\t\t\tthis.banks.length = 0;\n\t\t\tfor (const [index, logits] of masks.entries()) {\n\t\t\t\tthis.banks.push(this.newBank());\n\t\t\t\tseeds.set(index, await this.textSeed(logits));\n\t\t\t}\n\t\t}\n\t\treturn seeds;\n\t}\n\tnewBank() {\n\t\tif (!this.temporal) throw new Error(\"SAM 3 tracker has been released.\");\n\t\treturn new Sam3MemoryBank(this.temporal);\n\t}\n\tdecode(shared$1, features, seed) {\n\t\tconst points = seed?.points ?? [{\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\tlabel: -1\n\t\t}];\n\t\tconst inputs = [\n\t\t\t...shared$1,\n\t\t\ttensor(\"feats2\", features, [\n\t\t\t\t1,\n\t\t\t\t256,\n\t\t\t\t72,\n\t\t\t\t72\n\t\t\t]),\n\t\t\ttensor(\"input_points\", Float32Array.from(points.flatMap((p) => [p.x * 1008, p.y * 1008])), [\n\t\t\t\t1,\n\t\t\t\t1,\n\t\t\t\tpoints.length,\n\t\t\t\t2\n\t\t\t]),\n\t\t\ttensor(\"input_labels\", Int32Array.from(points.map((p) => p.label)), [\n\t\t\t\t1,\n\t\t\t\t1,\n\t\t\t\tpoints.length\n\t\t\t])\n\t\t];\n\t\tif (!seed?.dense) return this.run(\"mask_decoder\", inputs);\n\t\treturn this.run(\"dense_decoder\", [...inputs, tensor(\"dense_prompt\", seed.dense, [\n\t\t\t1,\n\t\t\t256,\n\t\t\t72,\n\t\t\t72\n\t\t])]);\n\t}\n\tinitialFeatures(raw) {\n\t\tif (!this.noMemory) throw new Error(\"Missing SAM 3 no-memory embedding.\");\n\t\treturn Float32Array.from(raw, (value$1, i) => value$1 + (this.noMemory?.[Math.floor(i / 5184)] ?? 0));\n\t}\n\tasync condition(raw, frame, memory) {\n\t\tconst bank = memory.assemble(frame, this.options.frameCount ?? 16);\n\t\tconst positions = await this.run(\"pointer_position\", [tensor(\"encoding\", bank.encoding, [16, 256])]);\n\t\tconst pointerPosition = new Float32Array(bank.pointerCount * 256), projected = sam3Floats(positions, \"position\");\n\t\tfor (let i = 0; i < bank.pointerCount; i++) for (let token = 0; token < 4; token++) pointerPosition.set(projected.subarray(i * 64, (i + 1) * 64), (i * 4 + token) * 64);\n\t\tconst tokens = sam3Floats(await this.run(\"memory_attention\", [\n\t\t\ttensor(\"current_vision_features\", sam2Tokens(raw), [\n\t\t\t\t5184,\n\t\t\t\t1,\n\t\t\t\t256\n\t\t\t]),\n\t\t\ttensor(\"current_vision_position_embeddings\", this.position, [\n\t\t\t\t5184,\n\t\t\t\t1,\n\t\t\t\t256\n\t\t\t]),\n\t\t\ttensor(\"spatial_memory\", bank.spatial, [\n\t\t\t\tbank.spatial.length / 64,\n\t\t\t\t1,\n\t\t\t\t64\n\t\t\t]),\n\t\t\ttensor(\"spatial_memory_position_embeddings\", bank.positions, [\n\t\t\t\tbank.positions.length / 64,\n\t\t\t\t1,\n\t\t\t\t64\n\t\t\t]),\n\t\t\ttensor(\"pointer_memory\", bank.pointers, [\n\t\t\t\tbank.pointerCount * 4,\n\t\t\t\t1,\n\t\t\t\t64\n\t\t\t]),\n\t\t\ttensor(\"pointer_memory_position_embeddings\", pointerPosition, [\n\t\t\t\tbank.pointerCount * 4,\n\t\t\t\t1,\n\t\t\t\t64\n\t\t\t])\n\t\t]), \"conditioned_features\"), nchw = new Float32Array(tokens.length);\n\t\tfor (let i = 0; i < 5184; i++) for (let channel = 0; channel < 256; channel++) nchw[channel * 5184 + i] = tokens[i * 256 + channel] ?? 0;\n\t\treturn nchw;\n\t}\n\tasync remember(bank, raw, decoded, frame, seed, logits, score) {\n\t\tconst memory = await this.run(\"memory_encoder\", [\n\t\t\ttensor(\"vision_features\", raw, [\n\t\t\t\t1,\n\t\t\t\t256,\n\t\t\t\t72,\n\t\t\t\t72\n\t\t\t]),\n\t\t\ttensor(\"pred_masks_high_res\", logits, [\n\t\t\t\t1,\n\t\t\t\t1,\n\t\t\t\t1008,\n\t\t\t\t1008\n\t\t\t]),\n\t\t\ttensor(\"object_score_logits\", Float32Array.of(score), [1, 1]),\n\t\t\ttensor(\"is_mask_from_pts\", new Uint8Array([seed ? 1 : 0]), [1])\n\t\t]);\n\t\tbank.remember({\n\t\t\tframe,\n\t\t\ttokens: sam3Floats(memory, \"memory_tokens\").slice(),\n\t\t\tpositions: sam3Floats(memory, \"memory_pos_enc\").slice(),\n\t\t\tpointer: sam3Floats(decoded, \"object_pointer\").slice()\n\t\t}, seed !== void 0);\n\t}\n\trelease() {\n\t\tfor (const session of this.sessions.values()) session.release();\n\t\tthis.sessions.clear();\n\t\tthis.encoder?.release();\n\t\tthis.encoder = void 0;\n\t\tthis.selector?.release();\n\t\tthis.banks.length = 0;\n\t\tthis.temporal = void 0;\n\t\tthis.noMemory = void 0;\n\t\tthis.released = true;\n\t}\n};\n/** Resize logits before thresholding; source pixels are the public mask coordinate system. */\nfunction sam3Mask(logits, width, height, score) {\n\tif (logits.length !== 1008 * 1008) throw new Error(\"Invalid SAM 3 high-resolution mask shape.\");\n\tconst mask = new Uint8Array(width * height);\n\tif (score <= 0) return mask;\n\tfor (let y = 0; y < height; y++) for (let x = 0; x < width; x++) {\n\t\tconst sy = Math.max(0, Math.min(1007, (y + .5) * 1008 / height - .5)), sx = Math.max(0, Math.min(1007, (x + .5) * 1008 / width - .5));\n\t\tconst y0 = Math.floor(sy), x0 = Math.floor(sx), fy = sy - y0, fx = sx - x0, y1 = Math.min(1007, y0 + 1), x1 = Math.min(1007, x0 + 1);\n\t\tconst top = (logits[y0 * 1008 + x0] ?? 0) * (1 - fx) + (logits[y0 * 1008 + x1] ?? 0) * fx, bottom = (logits[y1 * 1008 + x0] ?? 0) * (1 - fx) + (logits[y1 * 1008 + x1] ?? 0) * fx;\n\t\tmask[y * width + x] = top * (1 - fy) + bottom * fy > 0 ? 255 : 0;\n\t}\n\treturn mask;\n}\n/** A 288² concept mask's logits as SAM's 1008² seed logits: bilinear, then ±10. */\nfunction seedLogits(logits) {\n\tconst out = new Float32Array(1008 * 1008);\n\tfor (let y = 0; y < 1008; y++) {\n\t\tconst sy = Math.max(0, Math.min(287, (y + .5) * 288 / 1008 - .5)), y0 = Math.floor(sy), y1 = Math.min(287, y0 + 1), fy = sy - y0;\n\t\tfor (let x = 0; x < 1008; x++) {\n\t\t\tconst sx = Math.max(0, Math.min(287, (x + .5) * 288 / 1008 - .5)), x0 = Math.floor(sx), x1 = Math.min(287, x0 + 1), fx = sx - x0;\n\t\t\tconst top = (logits[y0 * 288 + x0] ?? 0) * (1 - fx) + (logits[y0 * 288 + x1] ?? 0) * fx, bottom = (logits[y1 * 288 + x0] ?? 0) * (1 - fx) + (logits[y1 * 288 + x1] ?? 0) * fx;\n\t\t\tout[y * 1008 + x] = top * (1 - fy) + bottom * fy > 0 ? MASK_LOGIT : -MASK_LOGIT;\n\t\t}\n\t}\n\treturn out;\n}\n\n//#endregion\nexport { SAM2_EXPORTS, SAM3_ENCODER, SAM_LICENSE, SAM_LICENSE_TERMS_URL, SAM_MODELS, Sam2MemoryBank, Sam2Tracker, Sam3MemoryBank, Sam3TextSelector, Sam3Tracker, assertSamLicenseAccepted, decodeSam2Mask, ensureSamModelsRegistered, sam2Revision, sam2Tokens, sam3DenseDecoder, sam3EncoderFiles, sam3Floats, sam3Mask, sam3Position, sam3Precision, sam3Revision, sam3Run, sam3SupportGraphs, validateSam2Prompts, validateSam3Prompts };\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
|
package/dist/effects/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "../index-
|
|
2
|
-
import "../index-
|
|
3
|
-
import "../renderer-
|
|
4
|
-
import { o as _default$19 } from "../audio-
|
|
5
|
-
import "../index-
|
|
6
|
-
import { $ as TileOffsetEdgeMode, $n as ResizerScalerProps, $t as FlipProps, A as HandWrittenVisualEffect, An as Paint, Ar as _default$13, At as CameraParallax3DProps, B as PBRGlass, Bn as Pixelate, Br as _default$4, Bt as ContourProps, C as GradientMapProps, Cn as MeshWarp, Cr as _default$20, Ct as AudioParametricEq, D as HalftoneScreen, Dn as NoiseGeneratorProps, Dr as _default$16, Dt as CRT, E as HalftoneMode, En as NoiseGenerator, Er as _default, Et as AudioReverbProps, F as LevelsProps, Fn as Painterly, Fr as _default$8, Ft as ColorBalance, G as SSAOProps, Gn as ProceduralVFXProps, Gt as DatamoshProps, H as Relight3D, Hn as Posterize, Hr as _default$2, Ht as CornerPinPointsItem, I as Modulate, In as PainterlyProps, Ir as _default$7, It as ColorBalanceProps, J as SelectiveColorProps, Jn as RefineEdge, Jt as Dither, K as SelectiveColor, Kn as RGBSplit, Kt as DisplacementMap, L as ModulateProps, Ln as PatchHeal, Lr as _default$6, Lt as ColorKey, M as HighPassProps, Mn as PaintStrokesItemOption1, Mr as _default$11, Mt as ChannelMergerProps, N as LevelChannel, Nn as PaintStrokesItemOption2, Nr as _default$10, Nt as ChannelSplitter, O as HalftoneScreenProps, On as OpArt, Or as _default$15, Ot as CRTProps, P as Levels, Pn as PaintStrokesItemOption3, Pr as _default$9, Pt as ChannelSplitterProps, Q as TileOffset, Qn as ResizerScaler, Qt as Flip, R as MotionBlur, Rn as PatchHealPatchesItem, Rr as rendererNode, Rt as ColorKeyProps, S as GradientMap, Sn as MaskMathProps, Sr as _default$21, St as AudioNoiseGateProps, T as HalftoneDotShape, Tn as MeshWarpProps, Tr as _default$17, Tt as AudioReverb, U as Relight3DProps, Un as PosterizeProps, Ur as _default$1, Ut as CornerPinProps, V as PBRGlassProps, Vn as PixelateProps, Vr as _default$3, Vt as CornerPin, W as SSAO, Wn as ProceduralVFX, Wt as Datamosh, X as ShadowsHighlightsProps, Xn as RefractionCaustics3D, Xt as ExtractLUT, Y as ShadowsHighlights, Yn as RefineEdgeProps, Yt as DitherProps, Z as TemporalDeflicker, Zn as RefractionCaustics3DProps, Zt as ExtractLUTProps, _ as EffectConfigMap, _n as LayerStyleStroke, _r as _default$26, _t as AudioDelay, a as ApplyLUTProps, an as KaleidoscopeProps, ar as Toon, at as AnyGeneratedAudioEffect, b as FilmGrain, bn as LiquifyProps, br as _default$23, bt as AudioFadeProps, c as Crop, cn as KenBurnsProps, cr as TrailsProps, ct as GeneratedEffectConfigMap, d as CurvesChannelPoint, dn as LayerStyleColorOverlay, dr as EffectProp, dt as Blur, en as Gooey, er as Rotate, et as TileOffsetProps, f as CurvesProps, fn as LayerStyleDropShadow, fr as _default$31, ft as BlurProps, g as DepthOfFieldProps, gn as LayerStyleProps, gr as _default$27, gt as AudioCompressorProps, h as DepthOfField, hn as LayerStyleOuterGlow, hr as _default$28, ht as AudioCompressor, i as ApplyLUT, in as Kaleidoscope, ir as TonalShift, it as VisionProps, j as HighPass, jn as PaintProps, jr as _default$12, jt as ChannelMerger, k as HandWrittenAudioEffect, kn as OpArtProps, kr as _default$14, kt as CameraParallax3D, l as CropProps, ln as LayerStyle, lr as Vignette, lt as effectFactories, m as DeflickerProps, mn as LayerStyleInnerShadow, mr as _default$29, mt as AsciiProps, n as AnyEffect, nn as Iridescence, nr as StereoPanning, nt as UnsharpMaskProps, o as AudioSignalExtractor, on as KenBurns, or as ToonProps, ot as AnyGeneratedEffect, p as CustomEffect, pn as LayerStyleInnerGlow, pr as _default$30, pt as Ascii, q as SelectiveColorAdjustment, qn as RGBSplitProps, qt as DisplacementMapProps, r as AnyVisualEffect, rn as IridescenceProps, rr as StereoPanningProps, rt as Vision, s as AudioSignalExtractorProps, sn as KenBurnsKeyframesItem, sr as Trails, st as AnyGeneratedVisualEffect, t as AnyAudioEffect, tn as GooeyProps, tr as RotateProps, tt as UnsharpMask, u as Curves, un as LayerStyleBevelEmboss, ur as VignetteProps, ut as effectMeta, v as EffectOp, vn as Liquify, vr as _default$24, vt as AudioDelayProps, w as GradientMapStop, wn as MeshWarpPointsItem, wr as _default$18, wt as AudioParametricEqProps, x as FilmGrainProps, xn as MaskMath, xr as _default$22, xt as AudioNoiseGate, y as EffectPropsFor, yn as LiquifyOperationsItem, yr as _default$25, yt as AudioFade, z as MotionBlurProps, zn as PatchHealProps, zr as _default$5, zt as Contour } from "../index-
|
|
1
|
+
import "../index-a6JrbAK0.mjs";
|
|
2
|
+
import "../index-X2u96TEo.mjs";
|
|
3
|
+
import "../renderer-DKJOon6y.mjs";
|
|
4
|
+
import { o as _default$19 } from "../audio-CHV33Od9.mjs";
|
|
5
|
+
import "../index-DBh3WphX.mjs";
|
|
6
|
+
import { $ as TileOffsetEdgeMode, $n as ResizerScalerProps, $t as FlipProps, A as HandWrittenVisualEffect, An as Paint, Ar as _default$13, At as CameraParallax3DProps, B as PBRGlass, Bn as Pixelate, Br as _default$4, Bt as ContourProps, C as GradientMapProps, Cn as MeshWarp, Cr as _default$20, Ct as AudioParametricEq, D as HalftoneScreen, Dn as NoiseGeneratorProps, Dr as _default$16, Dt as CRT, E as HalftoneMode, En as NoiseGenerator, Er as _default, Et as AudioReverbProps, F as LevelsProps, Fn as Painterly, Fr as _default$8, Ft as ColorBalance, G as SSAOProps, Gn as ProceduralVFXProps, Gt as DatamoshProps, H as Relight3D, Hn as Posterize, Hr as _default$2, Ht as CornerPinPointsItem, I as Modulate, In as PainterlyProps, Ir as _default$7, It as ColorBalanceProps, J as SelectiveColorProps, Jn as RefineEdge, Jt as Dither, K as SelectiveColor, Kn as RGBSplit, Kt as DisplacementMap, L as ModulateProps, Ln as PatchHeal, Lr as _default$6, Lt as ColorKey, M as HighPassProps, Mn as PaintStrokesItemOption1, Mr as _default$11, Mt as ChannelMergerProps, N as LevelChannel, Nn as PaintStrokesItemOption2, Nr as _default$10, Nt as ChannelSplitter, O as HalftoneScreenProps, On as OpArt, Or as _default$15, Ot as CRTProps, P as Levels, Pn as PaintStrokesItemOption3, Pr as _default$9, Pt as ChannelSplitterProps, Q as TileOffset, Qn as ResizerScaler, Qt as Flip, R as MotionBlur, Rn as PatchHealPatchesItem, Rr as rendererNode, Rt as ColorKeyProps, S as GradientMap, Sn as MaskMathProps, Sr as _default$21, St as AudioNoiseGateProps, T as HalftoneDotShape, Tn as MeshWarpProps, Tr as _default$17, Tt as AudioReverb, U as Relight3DProps, Un as PosterizeProps, Ur as _default$1, Ut as CornerPinProps, V as PBRGlassProps, Vn as PixelateProps, Vr as _default$3, Vt as CornerPin, W as SSAO, Wn as ProceduralVFX, Wt as Datamosh, X as ShadowsHighlightsProps, Xn as RefractionCaustics3D, Xt as ExtractLUT, Y as ShadowsHighlights, Yn as RefineEdgeProps, Yt as DitherProps, Z as TemporalDeflicker, Zn as RefractionCaustics3DProps, Zt as ExtractLUTProps, _ as EffectConfigMap, _n as LayerStyleStroke, _r as _default$26, _t as AudioDelay, a as ApplyLUTProps, an as KaleidoscopeProps, ar as Toon, at as AnyGeneratedAudioEffect, b as FilmGrain, bn as LiquifyProps, br as _default$23, bt as AudioFadeProps, c as Crop, cn as KenBurnsProps, cr as TrailsProps, ct as GeneratedEffectConfigMap, d as CurvesChannelPoint, dn as LayerStyleColorOverlay, dr as EffectProp, dt as Blur, en as Gooey, er as Rotate, et as TileOffsetProps, f as CurvesProps, fn as LayerStyleDropShadow, fr as _default$31, ft as BlurProps, g as DepthOfFieldProps, gn as LayerStyleProps, gr as _default$27, gt as AudioCompressorProps, h as DepthOfField, hn as LayerStyleOuterGlow, hr as _default$28, ht as AudioCompressor, i as ApplyLUT, in as Kaleidoscope, ir as TonalShift, it as VisionProps, j as HighPass, jn as PaintProps, jr as _default$12, jt as ChannelMerger, k as HandWrittenAudioEffect, kn as OpArtProps, kr as _default$14, kt as CameraParallax3D, l as CropProps, ln as LayerStyle, lr as Vignette, lt as effectFactories, m as DeflickerProps, mn as LayerStyleInnerShadow, mr as _default$29, mt as AsciiProps, n as AnyEffect, nn as Iridescence, nr as StereoPanning, nt as UnsharpMaskProps, o as AudioSignalExtractor, on as KenBurns, or as ToonProps, ot as AnyGeneratedEffect, p as CustomEffect, pn as LayerStyleInnerGlow, pr as _default$30, pt as Ascii, q as SelectiveColorAdjustment, qn as RGBSplitProps, qt as DisplacementMapProps, r as AnyVisualEffect, rn as IridescenceProps, rr as StereoPanningProps, rt as Vision, s as AudioSignalExtractorProps, sn as KenBurnsKeyframesItem, sr as Trails, st as AnyGeneratedVisualEffect, t as AnyAudioEffect, tn as GooeyProps, tr as RotateProps, tt as UnsharpMask, u as Curves, un as LayerStyleBevelEmboss, ur as VignetteProps, ut as effectMeta, v as EffectOp, vn as Liquify, vr as _default$24, vt as AudioDelayProps, w as GradientMapStop, wn as MeshWarpPointsItem, wr as _default$18, wt as AudioParametricEqProps, x as FilmGrainProps, xn as MaskMath, xr as _default$22, xt as AudioNoiseGate, y as EffectPropsFor, yn as LiquifyOperationsItem, yr as _default$25, yt as AudioFade, z as MotionBlurProps, zn as PatchHealProps, zr as _default$5, zt as Contour } from "../index-Dibc_xpC.mjs";
|
|
7
7
|
export { AnyAudioEffect, AnyEffect, AnyGeneratedAudioEffect, AnyGeneratedEffect, AnyGeneratedVisualEffect, AnyVisualEffect, ApplyLUT, ApplyLUTProps, Ascii, AsciiProps, AudioCompressor, AudioCompressorProps, AudioDelay, AudioDelayProps, AudioFade, AudioFadeProps, AudioNoiseGate, AudioNoiseGateProps, AudioParametricEq, AudioParametricEqProps, AudioReverb, AudioReverbProps, AudioSignalExtractor, AudioSignalExtractorProps, Blur, BlurProps, CRT, CRTProps, CameraParallax3D, CameraParallax3DProps, ChannelMerger, ChannelMergerProps, ChannelSplitter, ChannelSplitterProps, ColorBalance, ColorBalanceProps, ColorKey, ColorKeyProps, Contour, ContourProps, CornerPin, CornerPinPointsItem, CornerPinProps, Crop, CropProps, Curves, CurvesChannelPoint, CurvesProps, CustomEffect, Datamosh, DatamoshProps, DeflickerProps, DepthOfField, DepthOfFieldProps, DisplacementMap, DisplacementMapProps, Dither, DitherProps, EffectConfigMap, EffectOp, EffectProp, EffectPropsFor, ExtractLUT, ExtractLUTProps, FilmGrain, FilmGrainProps, Flip, FlipProps, GeneratedEffectConfigMap, Gooey, GooeyProps, GradientMap, GradientMapProps, GradientMapStop, HalftoneDotShape, HalftoneMode, HalftoneScreen, HalftoneScreenProps, HandWrittenAudioEffect, HandWrittenVisualEffect, HighPass, HighPassProps, Iridescence, IridescenceProps, Kaleidoscope, KaleidoscopeProps, KenBurns, KenBurnsKeyframesItem, KenBurnsProps, LayerStyle, LayerStyleBevelEmboss, LayerStyleColorOverlay, LayerStyleDropShadow, LayerStyleInnerGlow, LayerStyleInnerShadow, LayerStyleOuterGlow, LayerStyleProps, LayerStyleStroke, LevelChannel, Levels, LevelsProps, Liquify, LiquifyOperationsItem, LiquifyProps, MaskMath, MaskMathProps, MeshWarp, MeshWarpPointsItem, MeshWarpProps, Modulate, ModulateProps, MotionBlur, MotionBlurProps, NoiseGenerator, NoiseGeneratorProps, OpArt, OpArtProps, PBRGlass, PBRGlassProps, Paint, PaintProps, PaintStrokesItemOption1, PaintStrokesItemOption2, PaintStrokesItemOption3, Painterly, PainterlyProps, PatchHeal, PatchHealPatchesItem, PatchHealProps, Pixelate, PixelateProps, Posterize, PosterizeProps, ProceduralVFX, ProceduralVFXProps, RGBSplit, RGBSplitProps, RefineEdge, RefineEdgeProps, RefractionCaustics3D, RefractionCaustics3DProps, Relight3D, Relight3DProps, ResizerScaler, ResizerScalerProps, Rotate, RotateProps, SSAO, SSAOProps, SelectiveColor, SelectiveColorAdjustment, SelectiveColorProps, ShadowsHighlights, ShadowsHighlightsProps, StereoPanning, StereoPanningProps, TemporalDeflicker, TileOffset, TileOffsetEdgeMode, TileOffsetProps, TonalShift, Toon, ToonProps, Trails, TrailsProps, UnsharpMask, UnsharpMaskProps, Vignette, VignetteProps, Vision, VisionProps, _default as applyLutRenderer, _default$1 as blurRenderer, _default$2 as colorBalanceRenderer, _default$3 as colorkeyRenderer, _default$4 as cornerPinRenderer, _default$5 as cropRenderer, rendererNode as curvesRenderer, _default$6 as deflickerRenderer, _default$7 as displacementMapRenderer, effectFactories, effectMeta, _default$8 as filmGrainRenderer, _default$9 as flipRenderer, _default$10 as gradientMapRenderer, _default$11 as halftoneScreenRenderer, _default$12 as highPassRenderer, _default$13 as kenBurnsRenderer, _default$14 as layerStyleRenderer, _default$15 as levelsRenderer, _default$16 as liquifyRenderer, _default$17 as maskMathRenderer, _default$18 as meshWarpRenderer, _default$19 as modulateRenderer, _default$20 as paintRenderer, _default$21 as patchHealRenderer, _default$22 as refineEdgeRenderer, _default$23 as refractionCausticsRenderer, _default$24 as relight3dRenderer, _default$25 as rotateRenderer, _default$26 as selectiveColorRenderer, _default$27 as shadowsHighlightsRenderer, _default$28 as tileOffsetRenderer, _default$29 as unsharpMaskRenderer, _default$30 as vignetteRenderer, _default$31 as visionRenderer };
|
package/dist/effects/index.mjs
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import "../chunk-
|
|
2
|
-
import "../dist-
|
|
3
|
-
import { t as renderers_default$20 } from "../renderer-
|
|
4
|
-
import { t as renderers_default$1 } from "../renderer-
|
|
5
|
-
import { n as renderers_default$2 } from "../renderer-
|
|
6
|
-
import { t as renderers_default$3 } from "../renderer-
|
|
7
|
-
import { t as renderers_default$4 } from "../renderer-
|
|
8
|
-
import { t as renderers_default$5 } from "../renderer-
|
|
9
|
-
import { n as renderers_default$6 } from "../renderer-
|
|
10
|
-
import { t as renderers_default$7 } from "../renderer-
|
|
11
|
-
import { t as renderers_default$8 } from "../renderer-
|
|
12
|
-
import { t as renderers_default$9 } from "../renderer-
|
|
13
|
-
import { t as renderers_default$10 } from "../renderer-
|
|
14
|
-
import { n as renderers_default$11 } from "../renderer-
|
|
15
|
-
import { t as renderers_default$12 } from "../renderer-
|
|
16
|
-
import { t as renderers_default$13 } from "../renderer-
|
|
17
|
-
import { t as renderers_default$14 } from "../renderer-
|
|
18
|
-
import { t as renderers_default$15 } from "../renderer-
|
|
19
|
-
import { t as renderers_default$16 } from "../renderer-
|
|
20
|
-
import { n as renderers_default$17 } from "../renderer-
|
|
21
|
-
import { t as renderers_default } from "../renderer-
|
|
22
|
-
import { n as renderers_default$18 } from "../renderer-
|
|
23
|
-
import { t as renderers_default$19 } from "../renderer-
|
|
24
|
-
import { t as renderers_default$21 } from "../renderer-
|
|
25
|
-
import { n as renderers_default$22 } from "../renderer-
|
|
26
|
-
import { n as renderers_default$23 } from "../renderer-
|
|
27
|
-
import { n as renderers_default$24 } from "../renderer-
|
|
28
|
-
import { t as renderers_default$26 } from "../renderer-
|
|
29
|
-
import { t as renderers_default$25 } from "../renderer-
|
|
30
|
-
import { t as renderers_default$27 } from "../renderer-
|
|
31
|
-
import { n as renderers_default$28 } from "../renderer-
|
|
32
|
-
import { t as renderers_default$29 } from "../renderer-
|
|
33
|
-
import { t as renderers_default$30 } from "../renderer-
|
|
34
|
-
import { t as renderers_default$31 } from "../renderer-
|
|
35
|
-
import { t as renderers_default$32 } from "../renderer-
|
|
36
|
-
import { $ as NoiseGenerator, A as AudioParametricEq, B as Datamosh, C as effectFactories, D as AudioDelay, E as AudioCompressor, F as ChannelSplitter, G as Gooey, H as Dither, I as ColorBalance, J as KenBurns, K as Iridescence, L as ColorKey, M as CRT, N as CameraParallax3D, O as AudioFade, P as ChannelMerger, Q as MeshWarp, R as Contour, S as Vision, T as Ascii, U as ExtractLUT, V as DisplacementMap, W as Flip, X as Liquify, Y as LayerStyle, Z as MaskMath, _ as SelectiveColor, a as CustomEffect, at as Posterize, b as TileOffset, c as GradientMap, ct as RefineEdge, d as Levels, dt as Rotate, et as OpArt, f as Modulate, ft as StereoPanning, g as SSAO, gt as effectMeta, h as Relight3D, ht as Vignette, i as Curves, it as Pixelate, j as AudioReverb, k as AudioNoiseGate, l as HalftoneScreen, lt as RefractionCaustics3D, m as PBRGlass, mt as Trails, n as AudioSignalExtractor, nt as Painterly, o as DepthOfField, ot as ProceduralVFX, p as MotionBlur, pt as Toon, q as Kaleidoscope, r as Crop, rt as PatchHeal, s as FilmGrain, st as RGBSplit, t as ApplyLUT, tt as Paint, u as HighPass, ut as ResizerScaler, v as ShadowsHighlights, w as Blur, x as UnsharpMask, y as TemporalDeflicker, z as CornerPin } from "../effects-
|
|
1
|
+
import "../chunk-DOL2i2sR.mjs";
|
|
2
|
+
import "../dist-D3BeAZ7X.mjs";
|
|
3
|
+
import { t as renderers_default$20 } from "../renderer-D8gN7aqk.mjs";
|
|
4
|
+
import { t as renderers_default$1 } from "../renderer-NBMmvqWl.mjs";
|
|
5
|
+
import { n as renderers_default$2 } from "../renderer-DwGlDNOV.mjs";
|
|
6
|
+
import { t as renderers_default$3 } from "../renderer-BsMZ5Iaq.mjs";
|
|
7
|
+
import { t as renderers_default$4 } from "../renderer-SJyp9-62.mjs";
|
|
8
|
+
import { t as renderers_default$5 } from "../renderer-BPiWsrC2.mjs";
|
|
9
|
+
import { n as renderers_default$6 } from "../renderer-CwlY8Tb-.mjs";
|
|
10
|
+
import { t as renderers_default$7 } from "../renderer-Br8km655.mjs";
|
|
11
|
+
import { t as renderers_default$8 } from "../renderer-BKi6jDi_.mjs";
|
|
12
|
+
import { t as renderers_default$9 } from "../renderer-KgsVk9c6.mjs";
|
|
13
|
+
import { t as renderers_default$10 } from "../renderer-Dz6P-rPI.mjs";
|
|
14
|
+
import { n as renderers_default$11 } from "../renderer-BUj7jE6t.mjs";
|
|
15
|
+
import { t as renderers_default$12 } from "../renderer-C1ctHdXl.mjs";
|
|
16
|
+
import { t as renderers_default$13 } from "../renderer-BZgJj8Cl.mjs";
|
|
17
|
+
import { t as renderers_default$14 } from "../renderer-RAq3LnNy.mjs";
|
|
18
|
+
import { t as renderers_default$15 } from "../renderer-B-LUGB9h.mjs";
|
|
19
|
+
import { t as renderers_default$16 } from "../renderer-BIieU9pY.mjs";
|
|
20
|
+
import { n as renderers_default$17 } from "../renderer-DpZballM.mjs";
|
|
21
|
+
import { t as renderers_default } from "../renderer-CciiDHuU.mjs";
|
|
22
|
+
import { n as renderers_default$18 } from "../renderer-CYwVNbUh.mjs";
|
|
23
|
+
import { t as renderers_default$19 } from "../renderer-CE4535aW.mjs";
|
|
24
|
+
import { t as renderers_default$21 } from "../renderer-B5b-ehRb.mjs";
|
|
25
|
+
import { n as renderers_default$22 } from "../renderer-CQFMyC_c.mjs";
|
|
26
|
+
import { n as renderers_default$23 } from "../renderer-BMpmmYOq.mjs";
|
|
27
|
+
import { n as renderers_default$24 } from "../renderer-CuPAQjDK.mjs";
|
|
28
|
+
import { t as renderers_default$26 } from "../renderer-CyUiXLRa.mjs";
|
|
29
|
+
import { t as renderers_default$25 } from "../renderer-DXFJv_e6.mjs";
|
|
30
|
+
import { t as renderers_default$27 } from "../renderer-opVuiAQR.mjs";
|
|
31
|
+
import { n as renderers_default$28 } from "../renderer-dGEMVaZ3.mjs";
|
|
32
|
+
import { t as renderers_default$29 } from "../renderer-Nnu32rqg.mjs";
|
|
33
|
+
import { t as renderers_default$30 } from "../renderer-Dp5ChuOs.mjs";
|
|
34
|
+
import { t as renderers_default$31 } from "../renderer-CZ5mwBW1.mjs";
|
|
35
|
+
import { t as renderers_default$32 } from "../renderer-D-GWBoVT.mjs";
|
|
36
|
+
import { $ as NoiseGenerator, A as AudioParametricEq, B as Datamosh, C as effectFactories, D as AudioDelay, E as AudioCompressor, F as ChannelSplitter, G as Gooey, H as Dither, I as ColorBalance, J as KenBurns, K as Iridescence, L as ColorKey, M as CRT, N as CameraParallax3D, O as AudioFade, P as ChannelMerger, Q as MeshWarp, R as Contour, S as Vision, T as Ascii, U as ExtractLUT, V as DisplacementMap, W as Flip, X as Liquify, Y as LayerStyle, Z as MaskMath, _ as SelectiveColor, a as CustomEffect, at as Posterize, b as TileOffset, c as GradientMap, ct as RefineEdge, d as Levels, dt as Rotate, et as OpArt, f as Modulate, ft as StereoPanning, g as SSAO, gt as effectMeta, h as Relight3D, ht as Vignette, i as Curves, it as Pixelate, j as AudioReverb, k as AudioNoiseGate, l as HalftoneScreen, lt as RefractionCaustics3D, m as PBRGlass, mt as Trails, n as AudioSignalExtractor, nt as Painterly, o as DepthOfField, ot as ProceduralVFX, p as MotionBlur, pt as Toon, q as Kaleidoscope, r as Crop, rt as PatchHeal, s as FilmGrain, st as RGBSplit, t as ApplyLUT, tt as Paint, u as HighPass, ut as ResizerScaler, v as ShadowsHighlights, w as Blur, x as UnsharpMask, y as TemporalDeflicker, z as CornerPin } from "../effects-BiDgCK1L.mjs";
|
|
37
37
|
|
|
38
38
|
export { ApplyLUT, Ascii, AudioCompressor, AudioDelay, AudioFade, AudioNoiseGate, AudioParametricEq, AudioReverb, AudioSignalExtractor, Blur, CRT, CameraParallax3D, ChannelMerger, ChannelSplitter, ColorBalance, ColorKey, Contour, CornerPin, Crop, Curves, CustomEffect, Datamosh, DepthOfField, DisplacementMap, Dither, ExtractLUT, FilmGrain, Flip, Gooey, GradientMap, HalftoneScreen, HighPass, Iridescence, Kaleidoscope, KenBurns, LayerStyle, Levels, Liquify, MaskMath, MeshWarp, Modulate, MotionBlur, NoiseGenerator, OpArt, PBRGlass, Paint, Painterly, PatchHeal, Pixelate, Posterize, ProceduralVFX, RGBSplit, RefineEdge, RefractionCaustics3D, Relight3D, ResizerScaler, Rotate, SSAO, SelectiveColor, ShadowsHighlights, StereoPanning, TemporalDeflicker, TileOffset, Toon, Trails, UnsharpMask, Vignette, Vision, renderers_default as applyLutRenderer, renderers_default$1 as blurRenderer, renderers_default$2 as colorBalanceRenderer, renderers_default$3 as colorkeyRenderer, renderers_default$4 as cornerPinRenderer, renderers_default$5 as cropRenderer, renderers_default$6 as curvesRenderer, renderers_default$7 as deflickerRenderer, renderers_default$8 as displacementMapRenderer, effectFactories, effectMeta, renderers_default$9 as filmGrainRenderer, renderers_default$10 as flipRenderer, renderers_default$11 as gradientMapRenderer, renderers_default$12 as halftoneScreenRenderer, renderers_default$13 as highPassRenderer, renderers_default$14 as kenBurnsRenderer, renderers_default$15 as layerStyleRenderer, renderers_default$16 as levelsRenderer, renderers_default$17 as liquifyRenderer, renderers_default$18 as maskMathRenderer, renderers_default$19 as meshWarpRenderer, renderers_default$20 as modulateRenderer, renderers_default$21 as paintRenderer, renderers_default$22 as patchHealRenderer, renderers_default$23 as refineEdgeRenderer, renderers_default$24 as refractionCausticsRenderer, renderers_default$25 as relight3dRenderer, renderers_default$26 as rotateRenderer, renderers_default$27 as selectiveColorRenderer, renderers_default$28 as shadowsHighlightsRenderer, renderers_default$29 as tileOffsetRenderer, renderers_default$30 as unsharpMaskRenderer, renderers_default$31 as vignetteRenderer, renderers_default$32 as visionRenderer };
|