framefields 2.9.2 → 2.10.0-canary.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 +18 -0
- package/README.md +10 -7
- package/dist/audio/index.d.mts +5 -4
- package/dist/audio/index.mjs +13 -13
- package/dist/{audio-Ccpl9mjV.d.mts → audio-1X5qNNmk.d.mts} +4 -3
- package/dist/audio-1X5qNNmk.d.mts.map +1 -0
- package/dist/{audio-a0MFkK6J.mjs → audio-KHBadECb.mjs} +1 -1
- package/dist/{audio-a0MFkK6J.mjs.map → audio-KHBadECb.mjs.map} +1 -1
- package/dist/{audio-BfQg37MW.mjs → audio-YpBRdI7r.mjs} +4 -4
- package/dist/{audio-BfQg37MW.mjs.map → audio-YpBRdI7r.mjs.map} +1 -1
- package/dist/{check-result-C3jlgV2i.mjs → check-result-Culfu7Nx.mjs} +1 -1
- package/dist/{check-result-C3jlgV2i.mjs.map → check-result-Culfu7Nx.mjs.map} +1 -1
- package/dist/cli/check-worker.mjs +50 -50
- package/dist/cli.mjs +179 -3
- package/dist/cli.mjs.map +1 -1
- package/dist/cloud/index.d.mts +118 -0
- package/dist/cloud/index.d.mts.map +1 -0
- package/dist/cloud/index.mjs +3 -0
- package/dist/cloud-xcfV4J03.mjs +233 -0
- package/dist/cloud-xcfV4J03.mjs.map +1 -0
- package/dist/components/index.d.mts +14 -11
- package/dist/components/index.mjs +47 -47
- package/dist/dist-2_lT3Dwc.mjs +1434 -0
- package/dist/dist-2_lT3Dwc.mjs.map +1 -0
- package/dist/{dist-Buaaj-Ul.mjs → dist-BIE8fvlv.mjs} +1 -1
- package/dist/{dist-Buaaj-Ul.mjs.map → dist-BIE8fvlv.mjs.map} +1 -1
- package/dist/{dist-BlIrsfcn.mjs → dist-Bf2_efYP.mjs} +1 -1
- package/dist/{dist-BlIrsfcn.mjs.map → dist-Bf2_efYP.mjs.map} +1 -1
- package/dist/dist-BwtxciN4.mjs +3 -0
- package/dist/{dist-C1cCW7Bt.mjs → dist-C4Vxgm0Q.mjs} +275 -78
- package/dist/dist-C4Vxgm0Q.mjs.map +1 -0
- package/dist/{dist-C8Xq3zgx.mjs → dist-Cu1fZ9Uy.mjs} +4 -4
- package/dist/{dist-C8Xq3zgx.mjs.map → dist-Cu1fZ9Uy.mjs.map} +1 -1
- package/dist/{dist-DVMepKaO.mjs → dist-CySGkG54.mjs} +2 -2
- package/dist/dist-CySGkG54.mjs.map +1 -0
- package/dist/effects/index.d.mts +6 -4
- package/dist/effects/index.mjs +36 -36
- package/dist/{effects-CemgqEPv.mjs → effects-DiWYouOK.mjs} +3 -3
- package/dist/{effects-CemgqEPv.mjs.map → effects-DiWYouOK.mjs.map} +1 -1
- package/dist/fonts/index.d.mts +1 -1
- package/dist/fonts/index.mjs +3 -3
- package/dist/{fonts-BW0pPcvJ.mjs → fonts-BnV-GB1o.mjs} +2 -2
- package/dist/{fonts-BW0pPcvJ.mjs.map → fonts-BnV-GB1o.mjs.map} +1 -1
- package/dist/{gpu-CMaa63nz.mjs → gpu-Bw35AMwY.mjs} +11 -3
- package/dist/gpu-Bw35AMwY.mjs.map +1 -0
- package/dist/{index-D5UDyVMb.d.mts → index-B7WqFBZA.d.mts} +35 -2401
- package/dist/index-B7WqFBZA.d.mts.map +1 -0
- package/dist/{index-BfDFmIBE.d.mts → index-BW0Q1ygn.d.mts} +1 -1
- package/dist/{index-BfDFmIBE.d.mts.map → index-BW0Q1ygn.d.mts.map} +1 -1
- package/dist/{index-CQ-bbZk3.d.mts → index-Bbv0VtxJ.d.mts} +7 -1165
- package/dist/index-Bbv0VtxJ.d.mts.map +1 -0
- package/dist/{index-CFoAmh7q.d.mts → index-CDQrdZ0J.d.mts} +3 -3
- package/dist/{index-CFoAmh7q.d.mts.map → index-CDQrdZ0J.d.mts.map} +1 -1
- package/dist/index-COYNQ_mf.d.mts +2402 -0
- package/dist/index-COYNQ_mf.d.mts.map +1 -0
- package/dist/{index-BIjMAW1h.d.mts → index-CdCrae-I.d.mts} +2 -2
- package/dist/{index-BIjMAW1h.d.mts.map → index-CdCrae-I.d.mts.map} +1 -1
- package/dist/index-DQa7mhzq.d.mts +330 -0
- package/dist/index-DQa7mhzq.d.mts.map +1 -0
- package/dist/{index-Bnh42ouE.d.mts → index-Dyt4yS-x.d.mts} +376 -287
- package/dist/index-Dyt4yS-x.d.mts.map +1 -0
- package/dist/index-WwuuX8ZJ.d.mts +1165 -0
- package/dist/index-WwuuX8ZJ.d.mts.map +1 -0
- package/dist/{index-CJL0JAU8.d.mts → index-gOVtTm-P.d.mts} +125 -3
- package/dist/index-gOVtTm-P.d.mts.map +1 -0
- package/dist/{index-7Z9_a_iB.d.mts → index-h7m8QgcL.d.mts} +3 -3
- package/dist/{index-7Z9_a_iB.d.mts.map → index-h7m8QgcL.d.mts.map} +1 -1
- package/dist/index.d.mts +16 -13
- package/dist/index.mjs +59 -58
- package/dist/preview/index.d.mts +4 -3
- package/dist/preview/index.mjs +12 -12
- package/dist/{preview-DvP8AZuV.mjs → preview-BW7ilNWk.mjs} +3 -3
- package/dist/{preview-DvP8AZuV.mjs.map → preview-BW7ilNWk.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/chunk-44V4V5LD.mjs +1 -0
- package/dist/preview-engine/{chunk-5AWAOMBR.mjs → chunk-4BWBX2HM.mjs} +1 -1
- package/dist/preview-engine/{chunk-BEYA25UZ.mjs → chunk-4DSOZ5QG.mjs} +1 -1
- package/dist/preview-engine/{chunk-VVE2QHVG.mjs → chunk-4FACCLLE.mjs} +1 -1
- package/dist/preview-engine/{chunk-DMSZXG56.mjs → chunk-4N25ZU43.mjs} +1 -1
- package/dist/preview-engine/{chunk-FTCEG3SF.mjs → chunk-4RLKHFV6.mjs} +1 -1
- package/dist/preview-engine/chunk-4TPXZNVR.mjs +483 -0
- package/dist/preview-engine/chunk-4YT5YJIF.mjs +1 -0
- package/dist/preview-engine/{chunk-CC4NNNIY.mjs → chunk-57WXGYEV.mjs} +1 -1
- package/dist/preview-engine/{chunk-C4M3B2Q2.mjs → chunk-5SLBE2FX.mjs} +1 -1
- package/dist/preview-engine/{chunk-PM2W4VLT.mjs → chunk-5Y7SO37Q.mjs} +1 -1
- package/dist/preview-engine/{chunk-BJXNKMSY.mjs → chunk-64L4GUOF.mjs} +20 -6
- package/dist/preview-engine/{chunk-Y5K5LVOR.mjs → chunk-6BE3IL7L.mjs} +1 -1
- package/dist/preview-engine/{chunk-GA4HNR44.mjs → chunk-6LBFSGCI.mjs} +1 -1
- package/dist/preview-engine/{chunk-IB6GZJOL.mjs → chunk-6O55UROD.mjs} +1 -1
- package/dist/preview-engine/{chunk-SPJPM43P.mjs → chunk-6SLCECHG.mjs} +1 -1
- package/dist/preview-engine/chunk-77MT33VR.mjs +1 -0
- package/dist/preview-engine/{chunk-QCSVT73T.mjs → chunk-7A3BNAWY.mjs} +84 -25
- package/dist/preview-engine/{chunk-CN2VLYLB.mjs → chunk-7HW7GA76.mjs} +1 -1
- package/dist/preview-engine/chunk-A6OAPDIA.mjs +1 -0
- package/dist/preview-engine/chunk-ADLIF544.mjs +39 -0
- package/dist/preview-engine/{chunk-LVYVXVZO.mjs → chunk-C2GX5L5S.mjs} +1 -1
- package/dist/preview-engine/{chunk-4WYM72ZN.mjs → chunk-CHXR5XZK.mjs} +1 -1
- package/dist/preview-engine/chunk-CSLSWUUT.mjs +1 -0
- package/dist/preview-engine/{chunk-JSYG6OWZ.mjs → chunk-D7OMXGIZ.mjs} +1 -1
- package/dist/preview-engine/{chunk-RJIAES3X.mjs → chunk-EKEKYGXE.mjs} +1 -1
- package/dist/preview-engine/{chunk-TNJEZKXM.mjs → chunk-FH72KTSM.mjs} +1 -1
- package/dist/preview-engine/{chunk-P5FKRQFU.mjs → chunk-FW2UDDUT.mjs} +1 -1
- package/dist/preview-engine/{chunk-S2ABWY5G.mjs → chunk-GTMZOMAN.mjs} +1 -1
- package/dist/preview-engine/{chunk-6R3UJBL5.mjs → chunk-HGWT3RVQ.mjs} +10 -10
- package/dist/preview-engine/{chunk-34RJ7GAS.mjs → chunk-HKYENGC5.mjs} +1 -1
- package/dist/preview-engine/{chunk-7U34VKNO.mjs → chunk-HO7FXISJ.mjs} +1 -1
- package/dist/preview-engine/{chunk-73CNXGAK.mjs → chunk-HPQDCC4S.mjs} +1 -1
- package/dist/preview-engine/{chunk-ZY47XIRK.mjs → chunk-IVAA5X5H.mjs} +1 -1
- package/dist/preview-engine/chunk-JAAFSVAG.mjs +1 -0
- package/dist/preview-engine/{chunk-UXYM2G6J.mjs → chunk-JFBSNFN6.mjs} +1 -1
- package/dist/preview-engine/{chunk-GIICZZQI.mjs → chunk-JSKEVYKD.mjs} +1 -1
- package/dist/preview-engine/{chunk-EJJITH6U.mjs → chunk-K3TJJXVC.mjs} +1 -1
- package/dist/preview-engine/{chunk-GZWA5QJS.mjs → chunk-L2NTIWW5.mjs} +1 -1
- package/dist/preview-engine/{chunk-VN36PRVD.mjs → chunk-LBP7E7SJ.mjs} +1 -1
- package/dist/preview-engine/{chunk-34DL53D5.mjs → chunk-LTR5FXGU.mjs} +1 -1
- package/dist/preview-engine/{chunk-GRJJVSOV.mjs → chunk-ML7WO27M.mjs} +1 -1
- package/dist/preview-engine/{chunk-GN3NDRLI.mjs → chunk-NCQHOGZK.mjs} +1 -1
- package/dist/preview-engine/{chunk-OH5W5EL6.mjs → chunk-NTTEGJD6.mjs} +1 -1
- package/dist/preview-engine/{chunk-2B722GXM.mjs → chunk-OD4CSXZL.mjs} +15 -15
- package/dist/preview-engine/{chunk-AHQCDTD6.mjs → chunk-OOUDE4XL.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-ZJ5SWTCW.mjs → chunk-RAW2I27S.mjs} +1 -1
- package/dist/preview-engine/{chunk-BJV2LBII.mjs → chunk-RMHL4XZ3.mjs} +1 -1
- package/dist/preview-engine/chunk-T6L3DO3H.mjs +1 -0
- package/dist/preview-engine/{chunk-2PYTDN2C.mjs → chunk-V5HU6NIW.mjs} +1 -1
- package/dist/preview-engine/{chunk-DVZITDQS.mjs → chunk-VRJBOFFY.mjs} +1 -1
- package/dist/preview-engine/{chunk-SF37HXAH.mjs → chunk-WVIDORLK.mjs} +1 -1
- package/dist/preview-engine/{chunk-35HMRW4I.mjs → chunk-XCQ7KN4S.mjs} +1 -1
- package/dist/preview-engine/{chunk-KHJZMTOS.mjs → chunk-Y2SWIWIU.mjs} +1 -1
- package/dist/preview-engine/{chunk-H7BSN7V7.mjs → chunk-YS3ROS25.mjs} +1 -1
- package/dist/preview-engine/{chunk-2DWY7UBV.mjs → chunk-YXCTOCQ2.mjs} +1 -1
- package/dist/preview-engine/{chunk-BVDWS3D2.mjs → chunk-ZA5LWHRM.mjs} +1 -1
- package/dist/preview-engine/chunk-ZGEKF34E.mjs +1974 -0
- package/dist/preview-engine/components.mjs +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/fonts.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +1 -1
- package/dist/preview-engine/player.mjs +1 -1
- package/dist/preview-engine/renderers-33PIDDZC.mjs +1 -0
- package/dist/preview-engine/{renderers-ZACSHGNZ.mjs → renderers-36P2TKPC.mjs} +1 -1
- package/dist/preview-engine/{renderers-TSBV4KPE.mjs → renderers-37Y5LR2S.mjs} +1 -1
- package/dist/preview-engine/renderers-3AZ3HY53.mjs +1 -0
- package/dist/preview-engine/renderers-3FGKW52B.mjs +1 -0
- package/dist/preview-engine/renderers-4A2FBS3Y.mjs +1 -0
- package/dist/preview-engine/{renderers-5TO2SXFR.mjs → renderers-4MW4NW6O.mjs} +1 -1
- package/dist/preview-engine/{renderers-ENMY4DKF.mjs → renderers-4SNAK77B.mjs} +1 -1
- package/dist/preview-engine/{renderers-Y22VSOXF.mjs → renderers-4WFRXGMR.mjs} +1 -1
- package/dist/preview-engine/{renderers-5KANN7XF.mjs → renderers-5K3BSBI6.mjs} +1 -1
- package/dist/preview-engine/renderers-65DU2F5W.mjs +1 -0
- package/dist/preview-engine/renderers-6CTPYQR6.mjs +1 -0
- package/dist/preview-engine/{renderers-NUAI4TO5.mjs → renderers-6RRWA33X.mjs} +1 -1
- package/dist/preview-engine/{renderers-4F7WLQD5.mjs → renderers-6RYIPQ7W.mjs} +1 -1
- package/dist/preview-engine/{renderers-U4M7ZCV4.mjs → renderers-AUYCQNSS.mjs} +1 -1
- package/dist/preview-engine/renderers-AWODRI3B.mjs +1 -0
- package/dist/preview-engine/renderers-BO6HHGMZ.mjs +1 -0
- package/dist/preview-engine/renderers-BSXYDEV7.mjs +1 -0
- package/dist/preview-engine/{renderers-FSI5KNGZ.mjs → renderers-CMBI4JOC.mjs} +1 -1
- package/dist/preview-engine/{renderers-6Z7DWAPH.mjs → renderers-CQIPHCIW.mjs} +1 -1
- package/dist/preview-engine/renderers-DU7KPFVV.mjs +1 -0
- package/dist/preview-engine/renderers-ECW2CGNU.mjs +1 -0
- package/dist/preview-engine/renderers-EEX22FUO.mjs +1 -0
- package/dist/preview-engine/{renderers-MOEC2XZZ.mjs → renderers-EILFSWSJ.mjs} +1 -1
- package/dist/preview-engine/{renderers-NCGH2WWJ.mjs → renderers-G2FL3IFD.mjs} +1 -1
- package/dist/preview-engine/{renderers-5XRKZHVT.mjs → renderers-GCQKGJ7W.mjs} +1 -1
- package/dist/preview-engine/{renderers-77PDUMYI.mjs → renderers-HXNSDJBY.mjs} +1 -1
- package/dist/preview-engine/renderers-HZBXLDKG.mjs +1 -0
- package/dist/preview-engine/renderers-IOXNQPQK.mjs +1 -0
- package/dist/preview-engine/renderers-IR44E4ZZ.mjs +1 -0
- package/dist/preview-engine/{renderers-TGJSOKDY.mjs → renderers-JALV3B3A.mjs} +1 -1
- package/dist/preview-engine/{renderers-IHGAWLUF.mjs → renderers-JMSAW7VY.mjs} +1 -1
- package/dist/preview-engine/{renderers-CUMVIVHI.mjs → renderers-JZYHX4XI.mjs} +1 -1
- package/dist/preview-engine/renderers-JZZ3ODOZ.mjs +1 -0
- package/dist/preview-engine/renderers-K37YL3Z7.mjs +1 -0
- package/dist/preview-engine/{renderers-RN2MHIFK.mjs → renderers-KICDB5Y6.mjs} +1 -1
- package/dist/preview-engine/renderers-KUJQV3K6.mjs +1 -0
- package/dist/preview-engine/renderers-KXVKLSSX.mjs +1 -0
- package/dist/preview-engine/{renderers-WEYAHOBK.mjs → renderers-LF6U4MR5.mjs} +1 -1
- package/dist/preview-engine/renderers-N4RVFX3G.mjs +1 -0
- package/dist/preview-engine/{renderers-PPZK6VEW.mjs → renderers-NQC4DPX4.mjs} +1 -1
- package/dist/preview-engine/renderers-NZWWEAYA.mjs +1 -0
- package/dist/preview-engine/{renderers-5UZ3YFBD.mjs → renderers-OPRXVIGT.mjs} +1 -1
- package/dist/preview-engine/{renderers-7C5RA3R5.mjs → renderers-OZKPOUMW.mjs} +1 -1
- package/dist/preview-engine/renderers-P4JJEDZB.mjs +1 -0
- package/dist/preview-engine/{renderers-V3AQO7AR.mjs → renderers-PGZDFDSC.mjs} +1 -1
- package/dist/preview-engine/renderers-Q4572F5C.mjs +1 -0
- package/dist/preview-engine/{renderers-PIIEUKFE.mjs → renderers-Q5YCUPYE.mjs} +1 -1
- package/dist/preview-engine/renderers-QAX2QWWQ.mjs +1 -0
- package/dist/preview-engine/{renderers-SEIAUKJF.mjs → renderers-RQ3JZE3L.mjs} +1 -1
- package/dist/preview-engine/renderers-SRFIEVWL.mjs +1 -0
- package/dist/preview-engine/renderers-SYC6WFTM.mjs +1 -0
- package/dist/preview-engine/{renderers-QA2HKUJJ.mjs → renderers-TKHQRERE.mjs} +1 -1
- package/dist/preview-engine/{renderers-A24KZK2Q.mjs → renderers-U4S577ON.mjs} +1 -1
- package/dist/preview-engine/{renderers-KC6ZSKCW.mjs → renderers-UBIFSF37.mjs} +1 -1
- package/dist/preview-engine/renderers-UH4WN3QN.mjs +1 -0
- package/dist/preview-engine/renderers-V4FFCAS7.mjs +1 -0
- package/dist/preview-engine/renderers-VGDEOZUU.mjs +1 -0
- package/dist/preview-engine/renderers-VJJKBX5K.mjs +1 -0
- package/dist/preview-engine/renderers-VJOKVDYW.mjs +1 -0
- package/dist/preview-engine/renderers-VUUWZUOH.mjs +1 -0
- package/dist/preview-engine/renderers-WG756VF3.mjs +228 -0
- package/dist/preview-engine/renderers-WOP5GOZP.mjs +1 -0
- package/dist/preview-engine/{renderers-T74CQCEN.mjs → renderers-XZ3XDQIN.mjs} +1 -1
- package/dist/preview-engine/renderers-Y4MGN2FR.mjs +1 -0
- package/dist/preview-engine/renderers-YAMYH7IK.mjs +1 -0
- package/dist/preview-engine/{renderers-MD3PRFZL.mjs → renderers-YJ4PJEPG.mjs} +1 -1
- package/dist/preview-engine/renderers-ZNLSAWW3.mjs +1 -0
- package/dist/preview-engine/{renderers-L6YDX6GS.mjs → renderers-ZQVKE5AO.mjs} +1 -1
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/preview-engine/{src-4IUYUKIZ.mjs → src-GPF7RIBU.mjs} +1 -1
- package/dist/{program-CKpKkllV.mjs → program-BUjUTdxq.mjs} +44 -17
- package/dist/program-BUjUTdxq.mjs.map +1 -0
- package/dist/registry/focus-zoom.json +9 -2
- package/dist/renderer/index.d.mts +4 -3
- package/dist/renderer/index.mjs +4 -4
- package/dist/{renderer-BF0hx_iJ.mjs → renderer--f8JHHyT.mjs} +5 -5
- package/dist/{renderer-BF0hx_iJ.mjs.map → renderer--f8JHHyT.mjs.map} +1 -1
- package/dist/{renderer-CHr7MiYW.mjs → renderer-1KgHl_ls.mjs} +5 -5
- package/dist/{renderer-CHr7MiYW.mjs.map → renderer-1KgHl_ls.mjs.map} +1 -1
- package/dist/renderer-6sNr6ZRJ.mjs +6 -0
- package/dist/{renderer-BgO6BA_z.mjs → renderer-7c0ecb-L.mjs} +74 -21
- package/dist/renderer-7c0ecb-L.mjs.map +1 -0
- package/dist/{renderer-D61B9bXF.mjs → renderer-7w9PZmWJ.mjs} +4 -4
- package/dist/{renderer-D61B9bXF.mjs.map → renderer-7w9PZmWJ.mjs.map} +1 -1
- package/dist/{renderer-DVCJjVn7.mjs → renderer-B3WHDQeB.mjs} +5 -5
- package/dist/{renderer-DVCJjVn7.mjs.map → renderer-B3WHDQeB.mjs.map} +1 -1
- package/dist/{renderer-C7eFJf0_.mjs → renderer-B84T5I98.mjs} +5 -5
- package/dist/{renderer-C7eFJf0_.mjs.map → renderer-B84T5I98.mjs.map} +1 -1
- package/dist/{renderer-EaLUCobW.mjs → renderer-B8i4d1Rc.mjs} +4 -4
- package/dist/{renderer-EaLUCobW.mjs.map → renderer-B8i4d1Rc.mjs.map} +1 -1
- package/dist/renderer-BDHGxD6p.mjs +5 -0
- package/dist/{renderer-WCZu2Rf5.mjs → renderer-BFmVDdVs.mjs} +4 -4
- package/dist/{renderer-WCZu2Rf5.mjs.map → renderer-BFmVDdVs.mjs.map} +1 -1
- package/dist/{renderer-bAKUeHF3.mjs → renderer-BG_cnGbF.mjs} +5 -5
- package/dist/{renderer-bAKUeHF3.mjs.map → renderer-BG_cnGbF.mjs.map} +1 -1
- package/dist/{renderer-BPWDsufX.mjs → renderer-BIToh0CA.mjs} +3 -3
- package/dist/{renderer-BPWDsufX.mjs.map → renderer-BIToh0CA.mjs.map} +1 -1
- package/dist/{renderer-mNSyac1V.mjs → renderer-BOg8i8eF.mjs} +11 -2
- package/dist/{renderer-mNSyac1V.mjs.map → renderer-BOg8i8eF.mjs.map} +1 -1
- package/dist/{renderer-BlPqTEii.mjs → renderer-BSW4CGZF.mjs} +4 -4
- package/dist/{renderer-BlPqTEii.mjs.map → renderer-BSW4CGZF.mjs.map} +1 -1
- package/dist/{renderer-D7Al3_-5.mjs → renderer-BT4im6c0.mjs} +5 -5
- package/dist/{renderer-D7Al3_-5.mjs.map → renderer-BT4im6c0.mjs.map} +1 -1
- package/dist/renderer-BT9dvpk2.mjs +5 -0
- package/dist/{renderer-BpIF1QIE.mjs → renderer-BTLZBD63.mjs} +5 -5
- package/dist/{renderer-BpIF1QIE.mjs.map → renderer-BTLZBD63.mjs.map} +1 -1
- package/dist/{renderer-CcvvoKiZ.mjs → renderer-Bb_HHUQ0.mjs} +5 -5
- package/dist/{renderer-CcvvoKiZ.mjs.map → renderer-Bb_HHUQ0.mjs.map} +1 -1
- package/dist/renderer-Bd-NuU3M.mjs +3 -0
- package/dist/{renderer-sCovEubT.mjs → renderer-BdRwbLLV.mjs} +4 -4
- package/dist/{renderer-sCovEubT.mjs.map → renderer-BdRwbLLV.mjs.map} +1 -1
- package/dist/{renderer-DNQvOrkY.mjs → renderer-BeJoW-nG.mjs} +5 -5
- package/dist/{renderer-DNQvOrkY.mjs.map → renderer-BeJoW-nG.mjs.map} +1 -1
- package/dist/renderer-BfaRh0qy.mjs +5 -0
- package/dist/{renderer-B522Dkdk.mjs → renderer-BhNZn2DU.mjs} +4 -4
- package/dist/{renderer-B522Dkdk.mjs.map → renderer-BhNZn2DU.mjs.map} +1 -1
- package/dist/{renderer-D47AEJE_.mjs → renderer-Bif8bwCq.mjs} +3 -3
- package/dist/{renderer-D47AEJE_.mjs.map → renderer-Bif8bwCq.mjs.map} +1 -1
- package/dist/renderer-BlwXKV7Y.mjs +5 -0
- package/dist/{renderer-CwFqqpWY.mjs → renderer-Bm91Xv6l.mjs} +4 -4
- package/dist/{renderer-CwFqqpWY.mjs.map → renderer-Bm91Xv6l.mjs.map} +1 -1
- package/dist/{renderer-SSBL4M1o.mjs → renderer-BnN3JH9u.mjs} +20 -7
- package/dist/renderer-BnN3JH9u.mjs.map +1 -0
- package/dist/{renderer-8QIwXh7O.mjs → renderer-Bo5GwErU.mjs} +6 -6
- package/dist/{renderer-8QIwXh7O.mjs.map → renderer-Bo5GwErU.mjs.map} +1 -1
- package/dist/{renderer-DF-yvIrV.mjs → renderer-Br_aJ_b7.mjs} +4 -4
- package/dist/{renderer-DF-yvIrV.mjs.map → renderer-Br_aJ_b7.mjs.map} +1 -1
- package/dist/{renderer-DmkWrWAk.mjs → renderer-BvRaVByi.mjs} +3 -3
- package/dist/{renderer-DmkWrWAk.mjs.map → renderer-BvRaVByi.mjs.map} +1 -1
- package/dist/renderer-C40yZK3x.mjs +5 -0
- package/dist/renderer-C5MjQ7L8.mjs +5 -0
- package/dist/renderer-C8LjKYnS.mjs +5 -0
- package/dist/renderer-C9q9H_qa.mjs +5 -0
- package/dist/renderer-CC4fhNup.mjs +3 -0
- package/dist/{renderer-GBmWjBvy.mjs → renderer-CDfCaqV4.mjs} +3 -3
- package/dist/{renderer-GBmWjBvy.mjs.map → renderer-CDfCaqV4.mjs.map} +1 -1
- package/dist/renderer-CF9ta9Rm.mjs +5 -0
- package/dist/{renderer-DkRSZg5g.mjs → renderer-CKlNHDKI.mjs} +5 -5
- package/dist/{renderer-DkRSZg5g.mjs.map → renderer-CKlNHDKI.mjs.map} +1 -1
- package/dist/{renderer-CYC32bDW.mjs → renderer-CLRrcT_3.mjs} +5 -5
- package/dist/{renderer-CYC32bDW.mjs.map → renderer-CLRrcT_3.mjs.map} +1 -1
- package/dist/{renderer-DpruWmZU.mjs → renderer-CO1PwItH.mjs} +4 -4
- package/dist/{renderer-DpruWmZU.mjs.map → renderer-CO1PwItH.mjs.map} +1 -1
- package/dist/renderer-CO205Gr9.mjs +5 -0
- package/dist/renderer-CSm8UXLP.mjs +5 -0
- package/dist/renderer-CSy8HRtF.mjs +5 -0
- package/dist/{renderer-pHWEHDnM.mjs → renderer-CTSvHf6g.mjs} +5 -5
- package/dist/{renderer-pHWEHDnM.mjs.map → renderer-CTSvHf6g.mjs.map} +1 -1
- package/dist/{renderer-hSCfnvaK.mjs → renderer-CWmlfdLb.mjs} +5 -5
- package/dist/{renderer-hSCfnvaK.mjs.map → renderer-CWmlfdLb.mjs.map} +1 -1
- package/dist/{renderer--fkmiVjl.mjs → renderer-CanNjQuL.mjs} +4 -4
- package/dist/{renderer--fkmiVjl.mjs.map → renderer-CanNjQuL.mjs.map} +1 -1
- package/dist/renderer-CdNRWDsA.mjs +5 -0
- package/dist/{renderer-DFzI3yI_.mjs → renderer-CeNAgCE2.mjs} +3 -3
- package/dist/{renderer-DFzI3yI_.mjs.map → renderer-CeNAgCE2.mjs.map} +1 -1
- package/dist/{renderer-BdyopiLC.mjs → renderer-Ch1qZ2PT.mjs} +4 -4
- package/dist/{renderer-BdyopiLC.mjs.map → renderer-Ch1qZ2PT.mjs.map} +1 -1
- package/dist/{renderer-CQvmbRQ5.mjs → renderer-Chfo4G9t.mjs} +5 -5
- package/dist/{renderer-CQvmbRQ5.mjs.map → renderer-Chfo4G9t.mjs.map} +1 -1
- package/dist/{renderer-DEmYyaqj.mjs → renderer-Ck-NLzz0.mjs} +4 -4
- package/dist/{renderer-DEmYyaqj.mjs.map → renderer-Ck-NLzz0.mjs.map} +1 -1
- package/dist/renderer-CkAjiGRB.mjs +5 -0
- package/dist/renderer-CmryuPBm.mjs +5 -0
- package/dist/renderer-CnEwne4L.mjs +5 -0
- package/dist/{renderer-BlvGcyAN.mjs → renderer-CsRuEpR2.mjs} +3 -3
- package/dist/{renderer-BlvGcyAN.mjs.map → renderer-CsRuEpR2.mjs.map} +1 -1
- package/dist/{renderer-SWr3vbrV.mjs → renderer-CtulmkqT.mjs} +3 -3
- package/dist/{renderer-SWr3vbrV.mjs.map → renderer-CtulmkqT.mjs.map} +1 -1
- package/dist/{renderer-DTqDy2m9.mjs → renderer-CwAuWLWm.mjs} +3 -3
- package/dist/{renderer-DTqDy2m9.mjs.map → renderer-CwAuWLWm.mjs.map} +1 -1
- package/dist/{renderer-B2jjxsjO.mjs → renderer-CxabOSkk.mjs} +4 -4
- package/dist/{renderer-B2jjxsjO.mjs.map → renderer-CxabOSkk.mjs.map} +1 -1
- package/dist/{renderer-DPAD6fL1.mjs → renderer-CybBR8AL.mjs} +425 -115
- package/dist/renderer-CybBR8AL.mjs.map +1 -0
- package/dist/{renderer-DO-KbpYZ.mjs → renderer-D1tDMuD0.mjs} +5 -5
- package/dist/{renderer-DO-KbpYZ.mjs.map → renderer-D1tDMuD0.mjs.map} +1 -1
- package/dist/renderer-D4QDoqOG.mjs +5 -0
- package/dist/{renderer-Bfk6A7UO.mjs → renderer-D7DlNOVi.mjs} +5 -5
- package/dist/{renderer-Bfk6A7UO.mjs.map → renderer-D7DlNOVi.mjs.map} +1 -1
- package/dist/renderer-D7cS2a8z.mjs +5 -0
- package/dist/{renderer-g_vrrAQU.mjs → renderer-D7lApyWZ.mjs} +3 -3
- package/dist/{renderer-g_vrrAQU.mjs.map → renderer-D7lApyWZ.mjs.map} +1 -1
- package/dist/renderer-D85CNC-b.mjs +5 -0
- package/dist/{renderer-DqvoMLca.mjs → renderer-DAfCcnCz.mjs} +5 -5
- package/dist/{renderer-DqvoMLca.mjs.map → renderer-DAfCcnCz.mjs.map} +1 -1
- package/dist/{renderer-D7r6onRT.mjs → renderer-DAug14gu.mjs} +4 -4
- package/dist/{renderer-D7r6onRT.mjs.map → renderer-DAug14gu.mjs.map} +1 -1
- package/dist/{renderer-DMvmf3T2.mjs → renderer-DBfx6QX1.mjs} +3 -3
- package/dist/renderer-DC9IoJNz.mjs +5 -0
- package/dist/renderer-DCMoBppL.mjs +1062 -0
- package/dist/renderer-DCMoBppL.mjs.map +1 -0
- package/dist/renderer-DIDh0gFm.mjs +5 -0
- package/dist/{renderer-DKgPVOLL.d.mts → renderer-DJuVX3c5.d.mts} +2 -2
- package/dist/{renderer-DKgPVOLL.d.mts.map → renderer-DJuVX3c5.d.mts.map} +1 -1
- package/dist/{renderer-sYSkIUfo.mjs → renderer-DKptrHeL.mjs} +5 -5
- package/dist/{renderer-sYSkIUfo.mjs.map → renderer-DKptrHeL.mjs.map} +1 -1
- package/dist/renderer-DLmJ9GWE.mjs +5 -0
- package/dist/renderer-DM7PUWP9.mjs +5 -0
- package/dist/{renderer-C41U1tK6.mjs → renderer-DMtzPqYo.mjs} +211 -72
- package/dist/renderer-DMtzPqYo.mjs.map +1 -0
- package/dist/renderer-DPWFDxIO.mjs +5 -0
- package/dist/renderer-DUCByhAk.mjs +5 -0
- package/dist/renderer-DVOtnCKH.mjs +5 -0
- package/dist/renderer-DVrN2bW8.mjs +5 -0
- package/dist/{renderer-zXPVLRlD.mjs → renderer-D_rEtJAH.mjs} +5 -5
- package/dist/{renderer-zXPVLRlD.mjs.map → renderer-D_rEtJAH.mjs.map} +1 -1
- package/dist/{renderer-BIGFP1cF.mjs → renderer-Dak_wVh9.mjs} +2 -2
- package/dist/{renderer-BIGFP1cF.mjs.map → renderer-Dak_wVh9.mjs.map} +1 -1
- package/dist/{renderer-DX41niRU.mjs → renderer-Dd2XrdqA.mjs} +4 -4
- package/dist/{renderer-DX41niRU.mjs.map → renderer-Dd2XrdqA.mjs.map} +1 -1
- package/dist/renderer-DdOVwfG4.mjs +5 -0
- package/dist/{renderer-1r-Uq-Ae.mjs → renderer-Dih1rtT6.mjs} +3 -3
- package/dist/{renderer-1r-Uq-Ae.mjs.map → renderer-Dih1rtT6.mjs.map} +1 -1
- package/dist/{renderer-BXJXziIt.mjs → renderer-DjiebKHO.mjs} +3 -3
- package/dist/{renderer-BXJXziIt.mjs.map → renderer-DjiebKHO.mjs.map} +1 -1
- package/dist/{renderer-DIw3UtEU.mjs → renderer-DkAFIpzB.mjs} +5 -5
- package/dist/{renderer-DIw3UtEU.mjs.map → renderer-DkAFIpzB.mjs.map} +1 -1
- package/dist/{renderer-DDEkFbVI.mjs → renderer-DlbSqOJR.mjs} +5 -5
- package/dist/{renderer-DDEkFbVI.mjs.map → renderer-DlbSqOJR.mjs.map} +1 -1
- package/dist/{renderer-C7L8Ceqr.mjs → renderer-DrExCXnp.mjs} +4 -4
- package/dist/{renderer-C7L8Ceqr.mjs.map → renderer-DrExCXnp.mjs.map} +1 -1
- package/dist/{renderer-_iMAO698.mjs → renderer-DsPLMzy1.mjs} +2 -2
- package/dist/{renderer-_iMAO698.mjs.map → renderer-DsPLMzy1.mjs.map} +1 -1
- package/dist/{renderer-BAYTI6jj.mjs → renderer-Dswrn-yi.mjs} +4 -4
- package/dist/{renderer-BAYTI6jj.mjs.map → renderer-Dswrn-yi.mjs.map} +1 -1
- package/dist/renderer-DtCe9ouu.mjs +5 -0
- package/dist/{renderer-DXEWbnRF.mjs → renderer-DtCmG-tT.mjs} +4 -4
- package/dist/{renderer-DXEWbnRF.mjs.map → renderer-DtCmG-tT.mjs.map} +1 -1
- package/dist/{renderer-B39I6CQw.mjs → renderer-DxiF4O6X.mjs} +4 -4
- package/dist/{renderer-B39I6CQw.mjs.map → renderer-DxiF4O6X.mjs.map} +1 -1
- package/dist/{renderer-BAusZ6Vu.mjs → renderer-DxkvDAA6.mjs} +4 -4
- package/dist/{renderer-BAusZ6Vu.mjs.map → renderer-DxkvDAA6.mjs.map} +1 -1
- package/dist/{renderer-ktWXVYka.mjs → renderer-FFLnACY-.mjs} +6 -6
- package/dist/{renderer-ktWXVYka.mjs.map → renderer-FFLnACY-.mjs.map} +1 -1
- package/dist/{renderer-Lth37j17.mjs → renderer-H4CZt3Z5.mjs} +3 -3
- package/dist/{renderer-B-ur0Ej8.mjs → renderer-JASAZUyY.mjs} +4 -4
- package/dist/{renderer-B-ur0Ej8.mjs.map → renderer-JASAZUyY.mjs.map} +1 -1
- package/dist/renderer-Mg0kr9Fm.mjs +5 -0
- package/dist/{renderer-CCycwCEB.mjs → renderer-R2kLaNuR.mjs} +3 -3
- package/dist/{renderer-CCycwCEB.mjs.map → renderer-R2kLaNuR.mjs.map} +1 -1
- package/dist/renderer-T35PsSw5.mjs +5 -0
- package/dist/{renderer-cod5Ona9.mjs → renderer-fWW0bsVl.mjs} +3 -3
- package/dist/renderer-iSZ5NT-J.mjs +5 -0
- package/dist/{renderer-oKRF4A0M.mjs → renderer-jBKpX3Xg.mjs} +4 -4
- package/dist/{renderer-oKRF4A0M.mjs.map → renderer-jBKpX3Xg.mjs.map} +1 -1
- package/dist/{renderer-Xv6GfNUI.mjs → renderer-kFx1_MmK.mjs} +3 -3
- package/dist/{renderer-Xv6GfNUI.mjs.map → renderer-kFx1_MmK.mjs.map} +1 -1
- package/dist/{renderer-DbRZe0Re.mjs → renderer-muB4slsV.mjs} +5 -5
- package/dist/{renderer-DbRZe0Re.mjs.map → renderer-muB4slsV.mjs.map} +1 -1
- package/dist/renderer-nEmMjQ1a.mjs +5 -0
- package/dist/{renderer-CpUJBOfb.mjs → renderer-oiDoNzhv.mjs} +3 -3
- package/dist/renderer-pG1nyfjE.mjs +5 -0
- package/dist/{renderer-BX7jS14r.d.mts → renderer-tcypOFaB.d.mts} +23 -4
- package/dist/renderer-tcypOFaB.d.mts.map +1 -0
- package/dist/{renderer-CiQhD8Gg.mjs → renderer-vPxMXiv8.mjs} +5 -5
- package/dist/{renderer-CiQhD8Gg.mjs.map → renderer-vPxMXiv8.mjs.map} +1 -1
- package/dist/renderer-vbb9e3E3.mjs +5 -0
- package/dist/{renderer-D8bBHrWC.mjs → renderer-vpsU_4XW.mjs} +5 -5
- package/dist/{renderer-D8bBHrWC.mjs.map → renderer-vpsU_4XW.mjs.map} +1 -1
- package/dist/{renderer-DiY70S8S.mjs → renderer-w7mlMSC-.mjs} +4 -4
- package/dist/{renderer-DiY70S8S.mjs.map → renderer-w7mlMSC-.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-DH2oktaC.mjs → renderers-CP8CFWDs-OgyUiyrr.mjs} +4 -4
- package/dist/{renderers-CP8CFWDs-DH2oktaC.mjs.map → renderers-CP8CFWDs-OgyUiyrr.mjs.map} +1 -1
- package/dist/sam/index.d.mts +4 -0
- package/dist/sam/index.mjs +3 -0
- package/dist/signals/index.d.mts +7 -6
- package/dist/signals/index.mjs +8 -8
- package/dist/{signals-CXwgAUp-.mjs → signals-BfJ1aqpT.mjs} +4 -4
- package/dist/{signals-CXwgAUp-.mjs.map → signals-BfJ1aqpT.mjs.map} +1 -1
- package/dist/{renderer-B2P1vgb7.mjs → src-BU6vm9sP-DFJ3phW0.mjs} +81 -1016
- package/dist/src-BU6vm9sP-DFJ3phW0.mjs.map +1 -0
- package/dist/{src-DFEqficI.mjs → src-C3f3zXYg.mjs} +251 -37
- package/dist/src-C3f3zXYg.mjs.map +1 -0
- package/package.json +75 -69
- package/dist/audio-Ccpl9mjV.d.mts.map +0 -1
- package/dist/dist-C1cCW7Bt.mjs.map +0 -1
- package/dist/dist-DVMepKaO.mjs.map +0 -1
- package/dist/gpu-CMaa63nz.mjs.map +0 -1
- package/dist/index-Bnh42ouE.d.mts.map +0 -1
- package/dist/index-CJL0JAU8.d.mts.map +0 -1
- package/dist/index-CQ-bbZk3.d.mts.map +0 -1
- package/dist/index-D5UDyVMb.d.mts.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-D73ZKPFN.mjs +0 -138
- package/dist/preview-engine/chunk-FKG27DVO.mjs +0 -4
- package/dist/preview-engine/chunk-KOVN277Z.mjs +0 -1
- package/dist/preview-engine/chunk-KXLXP66K.mjs +0 -1974
- package/dist/preview-engine/chunk-MIEH74UH.mjs +0 -480
- package/dist/preview-engine/chunk-XYGDTPO7.mjs +0 -39
- package/dist/preview-engine/chunk-YGKO4NIU.mjs +0 -1
- package/dist/preview-engine/renderers-3BOQOUEU.mjs +0 -1
- package/dist/preview-engine/renderers-3M2FESR2.mjs +0 -1
- package/dist/preview-engine/renderers-6LHIWKMZ.mjs +0 -1
- package/dist/preview-engine/renderers-7XHO6M3B.mjs +0 -228
- package/dist/preview-engine/renderers-A43VCJ7X.mjs +0 -1
- package/dist/preview-engine/renderers-AKY464RY.mjs +0 -1
- package/dist/preview-engine/renderers-C5UO6PL5.mjs +0 -1
- package/dist/preview-engine/renderers-C64QSZO4.mjs +0 -1
- package/dist/preview-engine/renderers-CIRCR6NG.mjs +0 -1
- package/dist/preview-engine/renderers-CIWOPETY.mjs +0 -1
- package/dist/preview-engine/renderers-CZEZCELP.mjs +0 -1
- package/dist/preview-engine/renderers-FSQMWHQM.mjs +0 -1
- package/dist/preview-engine/renderers-FZEW5C23.mjs +0 -1
- package/dist/preview-engine/renderers-HCET2IML.mjs +0 -1
- package/dist/preview-engine/renderers-IUOOC6K7.mjs +0 -1
- package/dist/preview-engine/renderers-KYYJLVIJ.mjs +0 -1
- package/dist/preview-engine/renderers-L4GE7WV3.mjs +0 -1
- package/dist/preview-engine/renderers-LRAFWKCO.mjs +0 -1
- package/dist/preview-engine/renderers-LU3XZWEB.mjs +0 -1
- package/dist/preview-engine/renderers-MDHPQY6D.mjs +0 -1
- package/dist/preview-engine/renderers-ND2WV4K3.mjs +0 -1
- package/dist/preview-engine/renderers-NJ5CWVVH.mjs +0 -1
- package/dist/preview-engine/renderers-NKXYPR3V.mjs +0 -1
- package/dist/preview-engine/renderers-NWR66CGK.mjs +0 -1
- package/dist/preview-engine/renderers-O22WTBRM.mjs +0 -1
- package/dist/preview-engine/renderers-PBBA7LQB.mjs +0 -1
- package/dist/preview-engine/renderers-Q6LJRZ7R.mjs +0 -1
- package/dist/preview-engine/renderers-RMEACSRL.mjs +0 -1
- package/dist/preview-engine/renderers-SP42LCSI.mjs +0 -1
- package/dist/preview-engine/renderers-T7SZA3BX.mjs +0 -1
- package/dist/preview-engine/renderers-VADTDAHD.mjs +0 -1
- package/dist/preview-engine/renderers-VNNWI5C3.mjs +0 -1
- package/dist/preview-engine/renderers-WZ75MLP3.mjs +0 -1
- package/dist/preview-engine/renderers-XB5R4UQA.mjs +0 -1
- package/dist/preview-engine/renderers-YBIUZDGQ.mjs +0 -1
- package/dist/preview-engine/renderers-YESJR4O7.mjs +0 -1
- package/dist/preview-engine/renderers-YKSRZRRT.mjs +0 -1
- package/dist/program-CKpKkllV.mjs.map +0 -1
- package/dist/renderer--Ac-dg4A.mjs +0 -5
- package/dist/renderer--N7TMqzU.mjs +0 -5
- package/dist/renderer-2ecmdOae.mjs +0 -5
- package/dist/renderer-B2P1vgb7.mjs.map +0 -1
- package/dist/renderer-B5RJp5g-.mjs +0 -5
- package/dist/renderer-B7xyT1Vb.mjs +0 -5
- package/dist/renderer-BBeArN_x.mjs +0 -5
- package/dist/renderer-BCAZDu-r.mjs +0 -5
- package/dist/renderer-BJnhik7Y.mjs +0 -5
- package/dist/renderer-BX7jS14r.d.mts.map +0 -1
- package/dist/renderer-BgO6BA_z.mjs.map +0 -1
- package/dist/renderer-BxRW8MZO.mjs +0 -5
- package/dist/renderer-C-lfsEAN.mjs +0 -5
- package/dist/renderer-C41U1tK6.mjs.map +0 -1
- package/dist/renderer-C6nOFN4-.mjs +0 -5
- package/dist/renderer-C84TSQmS.mjs +0 -5
- package/dist/renderer-C8_6YofT.mjs +0 -5
- package/dist/renderer-COb3tOPG.mjs +0 -5
- package/dist/renderer-CSCIzaLy.mjs +0 -5
- package/dist/renderer-CmI4c8MS.mjs +0 -5
- package/dist/renderer-CqVltdX9.mjs +0 -5
- package/dist/renderer-D-FpMzLY.mjs +0 -5
- package/dist/renderer-D-Oyn9mG.mjs +0 -5
- package/dist/renderer-D2QrkA8_.mjs +0 -5
- package/dist/renderer-D5bjOx83.mjs +0 -3
- package/dist/renderer-D64r4iN-.mjs +0 -5
- package/dist/renderer-DCq6YkgP.mjs +0 -5
- package/dist/renderer-DDHG3GdR.mjs +0 -5
- package/dist/renderer-DMdNfcud.mjs +0 -6
- package/dist/renderer-DPAD6fL1.mjs.map +0 -1
- package/dist/renderer-DZQXZ4lK.mjs +0 -5
- package/dist/renderer-DczJJLA1.mjs +0 -5
- package/dist/renderer-DfqJj9oe.mjs +0 -5
- package/dist/renderer-DgO9ihVJ.mjs +0 -5
- package/dist/renderer-DhgnQZYb.mjs +0 -5
- package/dist/renderer-DjxKjHMf.mjs +0 -5
- package/dist/renderer-DnRDW2Oz.mjs +0 -3
- package/dist/renderer-DqLA5cdR.mjs +0 -5
- package/dist/renderer-Dudp6ZlH.mjs +0 -5
- package/dist/renderer-SSBL4M1o.mjs.map +0 -1
- package/dist/renderer-_jC5KIT1.mjs +0 -5
- package/dist/renderer-cTgAuVmJ.mjs +0 -5
- package/dist/renderer-nVKDvDLO.mjs +0 -5
- package/dist/renderer-pZ6_pUo1.mjs +0 -5
- package/dist/src-DFEqficI.mjs.map +0 -1
- /package/dist/{chunk-BcJoO4Nm.mjs → chunk-W71TSjRM.mjs} +0 -0
- /package/dist/{renderer-COqFNSfV.mjs → renderer-B6rZUBwE.mjs} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { G as ProgrammaticSignal, K as Signal, Mt as frameArraySignal, N as MediaSignalRecorder, St as createVirtualMedia, pt as appendOperation, rn as mediaSourceTime, tn as mediaSourceRange, y as Effect$1, yn as resolveFrameRequest } from "./dist-
|
|
2
|
-
import { F as getPrimitiveGeometry, K as mediaDecoderCache, N as generateExtrudedTextGeometry, Z as parseSvgPathToSegments, _ as buildShapeSvgPath,
|
|
3
|
-
import { a as preflightMediaTime, n as decodeAudioSource } from "./dist-
|
|
4
|
-
import { t as FontManager } from "./fonts-
|
|
5
|
-
import { s as TensorPipeline } from "./dist-
|
|
6
|
-
import {
|
|
7
|
-
import { G as mediaSignalSampler, K as mergeAnimationTracks, N as collectNodeOps, P as compositorToProgram, W as lintComposition, f as LayerAnimation, q as sampleMediaTimeSignal } from "./program-
|
|
8
|
-
import { C as effectFactories, H as Dither, I as ColorBalance, K as Iridescence, L as ColorKey, M as CRT, R as Contour, S as Vision, T as Ascii, Y as LayerStyle, _ as SelectiveColor, a as CustomEffect, at as Posterize, b as TileOffset, c as GradientMap, d as Levels, et as OpArt, f as Modulate, g as SSAO, h as Relight3D, ht as Vignette, i as Curves, it as Pixelate, l as HalftoneScreen, m as PBRGlass, nt as Painterly, o as DepthOfField, ot as ProceduralVFX, p as MotionBlur, pt as Toon, q as Kaleidoscope, r as Crop, s as FilmGrain, st as RGBSplit, t as ApplyLUT, u as HighPass, v as ShadowsHighlights, w as Blur, x as UnsharpMask, y as TemporalDeflicker } from "./effects-
|
|
9
|
-
import {
|
|
1
|
+
import { G as ProgrammaticSignal, K as Signal, Mt as frameArraySignal, N as MediaSignalRecorder, St as createVirtualMedia, pt as appendOperation, rn as mediaSourceTime, tn as mediaSourceRange, y as Effect$1, yn as resolveFrameRequest } from "./dist-Bf2_efYP.mjs";
|
|
2
|
+
import { F as getPrimitiveGeometry, K as mediaDecoderCache, N as generateExtrudedTextGeometry, Z as parseSvgPathToSegments, _ as buildShapeSvgPath, _t as Path3D, p as SlugFontCache, q as parseColor$1, z as inputStore } from "./dist-C4Vxgm0Q.mjs";
|
|
3
|
+
import { a as preflightMediaTime, n as decodeAudioSource } from "./dist-Cu1fZ9Uy.mjs";
|
|
4
|
+
import { t as FontManager } from "./fonts-BnV-GB1o.mjs";
|
|
5
|
+
import { s as TensorPipeline } from "./dist-BIE8fvlv.mjs";
|
|
6
|
+
import { E as pinNodeToObject, S as maskObject, T as pinNodeToLandmark, d as VisionNode, f as VisionRunner, i as COCO17_KEYPOINT_NAMES, l as VisionBundle, p as analyzeSequence, t as CLIP_SUBJECT, w as mergeSubjectMask } from "./src-BU6vm9sP-DFJ3phW0.mjs";
|
|
7
|
+
import { G as mediaSignalSampler, K as mergeAnimationTracks, N as collectNodeOps, P as compositorToProgram, W as lintComposition, f as LayerAnimation, q as sampleMediaTimeSignal } from "./program-BUjUTdxq.mjs";
|
|
8
|
+
import { C as effectFactories, H as Dither, I as ColorBalance, K as Iridescence, L as ColorKey, M as CRT, R as Contour, S as Vision, T as Ascii, Y as LayerStyle, _ as SelectiveColor, a as CustomEffect, at as Posterize, b as TileOffset, c as GradientMap, d as Levels, et as OpArt, f as Modulate, g as SSAO, h as Relight3D, ht as Vignette, i as Curves, it as Pixelate, l as HalftoneScreen, m as PBRGlass, nt as Painterly, o as DepthOfField, ot as ProceduralVFX, p as MotionBlur, pt as Toon, q as Kaleidoscope, r as Crop, s as FilmGrain, st as RGBSplit, t as ApplyLUT, u as HighPass, v as ShadowsHighlights, w as Blur, x as UnsharpMask, y as TemporalDeflicker } from "./effects-DiWYouOK.mjs";
|
|
9
|
+
import { n as renderFrameGrid, s as HeadlessMediaRenderer } from "./renderer-CybBR8AL.mjs";
|
|
10
10
|
import { z, z as z$2 } from "zod";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import fs from "node:fs/promises";
|
|
@@ -1337,17 +1337,15 @@ function translatePath(d, dx, dy) {
|
|
|
1337
1337
|
/** Frames looked back over to bridge a gap where the person is lost. */
|
|
1338
1338
|
const HOLD = 24;
|
|
1339
1339
|
const CACHE_VERSION = 1;
|
|
1340
|
+
const DEPTH_CACHE_VERSION = 1;
|
|
1341
|
+
const DEPTH_MODEL = "depth-anything-v2-s";
|
|
1342
|
+
/** Depth frames held in memory when they also live on disk (each is about 1 MB). */
|
|
1343
|
+
const DEPTH_MEMORY = 48;
|
|
1340
1344
|
let visionSam;
|
|
1341
1345
|
let clipVisionIds = 0;
|
|
1342
|
-
/**
|
|
1343
|
-
* SAM lives in `@framefields/vision-sam`, an optional peer (SAM 3's weights are under Meta's SAM License), so it
|
|
1344
|
-
* is imported only when a clip asks for `sam2` or `sam3`.
|
|
1345
|
-
*/
|
|
1346
|
+
/** SAM ships in its own chunk, loaded only when a clip asks for `sam2` or `sam3`. */
|
|
1346
1347
|
function loadVisionSam() {
|
|
1347
|
-
visionSam ??= import("
|
|
1348
|
-
visionSam = void 0;
|
|
1349
|
-
throw new Error("Prompted sam2/sam3 tracking needs the optional @framefields/vision-sam package. Install it next to framefields.", { cause });
|
|
1350
|
-
});
|
|
1348
|
+
visionSam ??= import("./dist-BwtxciN4.mjs");
|
|
1351
1349
|
return visionSam;
|
|
1352
1350
|
}
|
|
1353
1351
|
/**
|
|
@@ -1404,6 +1402,13 @@ var ClipVision = class {
|
|
|
1404
1402
|
subjects = /* @__PURE__ */ new Map();
|
|
1405
1403
|
wantSubjects = false;
|
|
1406
1404
|
subjectsLoaded;
|
|
1405
|
+
/** Depth per source frame; null when the frame did not decode. Bounded when on disk. */
|
|
1406
|
+
depths = /* @__PURE__ */ new Map();
|
|
1407
|
+
/** Source frames whose depth is on disk. */
|
|
1408
|
+
depthsOnDisk = /* @__PURE__ */ new Set();
|
|
1409
|
+
depthDir;
|
|
1410
|
+
/** Set once the depth folder is known: render-time reads are synchronous. */
|
|
1411
|
+
depthDisk;
|
|
1407
1412
|
/** @internal Use `comp.vision(source, options)`. */
|
|
1408
1413
|
constructor(source, fps, options = {}) {
|
|
1409
1414
|
this.source = source;
|
|
@@ -1571,7 +1576,40 @@ var ClipVision = class {
|
|
|
1571
1576
|
}
|
|
1572
1577
|
/** Whether frames carry keypoints: on by default, opt-in for prompted (SAM) clips. */
|
|
1573
1578
|
get tracksPose() {
|
|
1574
|
-
return this.exact ? this.options.pose === true : this.options.pose ??
|
|
1579
|
+
return this.exact ? this.options.pose === true : this.options.pose ?? !this.tracksDepth;
|
|
1580
|
+
}
|
|
1581
|
+
/** Whether frames carry the person's silhouette: on by default, off for depth clips. */
|
|
1582
|
+
get tracksMask() {
|
|
1583
|
+
return this.options.mask ?? !this.tracksDepth;
|
|
1584
|
+
}
|
|
1585
|
+
/** Whether frames carry relative depth. */
|
|
1586
|
+
get tracksDepth() {
|
|
1587
|
+
return this.options.depth === true;
|
|
1588
|
+
}
|
|
1589
|
+
/**
|
|
1590
|
+
* The relative depth (near = 1) of composition frame `frame`, at the depth
|
|
1591
|
+
* model's resolution; undefined until that frame is analysed (`ready`).
|
|
1592
|
+
*/
|
|
1593
|
+
depthMap(frame) {
|
|
1594
|
+
return this.depth(frame, this.compositionFps) ?? void 0;
|
|
1595
|
+
}
|
|
1596
|
+
/**
|
|
1597
|
+
* @internal The relative depth of a source frame of the clip (`frame` at
|
|
1598
|
+
* `fps`) for a render-time depth layer: undefined until analysed, null when
|
|
1599
|
+
* the frame did not decode.
|
|
1600
|
+
*/
|
|
1601
|
+
depth(frame, fps) {
|
|
1602
|
+
const c = this.sourceFrame(frame, fps);
|
|
1603
|
+
if (c === void 0 || !this.tracksDepth) return void 0;
|
|
1604
|
+
const stored = this.storedDepth(c);
|
|
1605
|
+
if (!stored) return stored;
|
|
1606
|
+
const data = new Float32Array(stored.data.length);
|
|
1607
|
+
for (let i = 0; i < data.length; i++) data[i] = stored.data[i] / 65535;
|
|
1608
|
+
return {
|
|
1609
|
+
data,
|
|
1610
|
+
width: stored.width,
|
|
1611
|
+
height: stored.height
|
|
1612
|
+
};
|
|
1575
1613
|
}
|
|
1576
1614
|
/**
|
|
1577
1615
|
* The analysed source frame a render-time read at `frame` (at `fps`) maps to;
|
|
@@ -1598,6 +1636,10 @@ var ClipVision = class {
|
|
|
1598
1636
|
return [Math.max(0, a - HOLD - this.smoothing), Math.max(0, b + this.smoothing)];
|
|
1599
1637
|
}
|
|
1600
1638
|
analysed(c) {
|
|
1639
|
+
return this.analysedSubject(c) && (!this.tracksDepth || this.hasDepth(c));
|
|
1640
|
+
}
|
|
1641
|
+
/** Everything but depth, which is a pass of its own. */
|
|
1642
|
+
analysedSubject(c) {
|
|
1601
1643
|
return this.results.has(c) && (!this.wantSubjects || this.subjects.has(c));
|
|
1602
1644
|
}
|
|
1603
1645
|
/** Loads `@framefields/vision-sam` and validates the prompts once, on first use. */
|
|
@@ -1617,8 +1659,9 @@ var ClipVision = class {
|
|
|
1617
1659
|
this.subjectsLoaded ??= this.loadSubjects();
|
|
1618
1660
|
await this.subjectsLoaded;
|
|
1619
1661
|
}
|
|
1662
|
+
if (this.tracksDepth) await this.computeDepth(from, to);
|
|
1620
1663
|
let missing = false;
|
|
1621
|
-
for (let c = from; c <= to; c++) if (!this.
|
|
1664
|
+
for (let c = from; c <= to; c++) if (!this.analysedSubject(c)) missing = true;
|
|
1622
1665
|
if (!missing) return;
|
|
1623
1666
|
if (this.options.sam2) {
|
|
1624
1667
|
await this.computeSam2(to);
|
|
@@ -1629,16 +1672,11 @@ var ClipVision = class {
|
|
|
1629
1672
|
return;
|
|
1630
1673
|
}
|
|
1631
1674
|
const wantPose = this.tracksPose;
|
|
1632
|
-
const wantMask = this.
|
|
1633
|
-
|
|
1634
|
-
modelsDir: this.options.modelsDir,
|
|
1635
|
-
baseUrl: this.options.baseUrl,
|
|
1636
|
-
...this.options.confidence !== void 0 && { confidence: this.options.confidence },
|
|
1637
|
-
...this.options.variant !== void 0 && { variant: this.options.variant }
|
|
1638
|
-
});
|
|
1675
|
+
const wantMask = this.tracksMask;
|
|
1676
|
+
const runner = this.visionRunner();
|
|
1639
1677
|
const decoder = this.decoder();
|
|
1640
1678
|
for (let c = from; c <= to; c++) {
|
|
1641
|
-
if (this.
|
|
1679
|
+
if (this.analysedSubject(c)) continue;
|
|
1642
1680
|
const image = await decodedPixels(await decoder.getFrame(c / this.fps));
|
|
1643
1681
|
if (!image) {
|
|
1644
1682
|
this.results.set(c, {
|
|
@@ -1653,7 +1691,7 @@ var ClipVision = class {
|
|
|
1653
1691
|
let kp = known?.kp ?? null;
|
|
1654
1692
|
let mask = known?.mask ?? null;
|
|
1655
1693
|
if (wantPose && !known) {
|
|
1656
|
-
const person = (await
|
|
1694
|
+
const person = (await runner.pose(image)).people[0];
|
|
1657
1695
|
if (person) {
|
|
1658
1696
|
kp = new Float32Array(51);
|
|
1659
1697
|
for (const [k, p] of person.keypoints.entries()) kp.set([
|
|
@@ -1663,7 +1701,7 @@ var ClipVision = class {
|
|
|
1663
1701
|
], k * 3);
|
|
1664
1702
|
}
|
|
1665
1703
|
}
|
|
1666
|
-
const seg = wantMask && !known || this.wantSubjects ? await
|
|
1704
|
+
const seg = wantMask && !known || this.wantSubjects ? await runner.segment(image) : void 0;
|
|
1667
1705
|
if (seg && this.wantSubjects) {
|
|
1668
1706
|
const subject = mergeSubjectMask(seg.masks);
|
|
1669
1707
|
this.subjects.set(c, subject ? {
|
|
@@ -1691,6 +1729,109 @@ var ClipVision = class {
|
|
|
1691
1729
|
if (this.unsaved > 0) await this.saveCache();
|
|
1692
1730
|
if (this.unsavedSubjects > 0) await this.saveSubjects();
|
|
1693
1731
|
}
|
|
1732
|
+
visionRunner() {
|
|
1733
|
+
this.runner ??= VisionRunner.create({
|
|
1734
|
+
modelsDir: this.options.modelsDir,
|
|
1735
|
+
baseUrl: this.options.baseUrl,
|
|
1736
|
+
...this.options.confidence !== void 0 && { confidence: this.options.confidence },
|
|
1737
|
+
...this.options.variant !== void 0 && { variant: this.options.variant }
|
|
1738
|
+
});
|
|
1739
|
+
return this.runner;
|
|
1740
|
+
}
|
|
1741
|
+
/** Depth of every source frame in `from…to` not analysed yet, saved one file per frame. */
|
|
1742
|
+
async computeDepth(from, to) {
|
|
1743
|
+
const dir = await this.depthCacheDir();
|
|
1744
|
+
let decoder;
|
|
1745
|
+
for (let c = from; c <= to; c++) {
|
|
1746
|
+
if (this.hasDepth(c)) continue;
|
|
1747
|
+
decoder ??= this.decoder();
|
|
1748
|
+
const image = await decodedPixels(await decoder.getFrame(c / this.fps));
|
|
1749
|
+
if (!image) {
|
|
1750
|
+
this.depths.set(c, null);
|
|
1751
|
+
continue;
|
|
1752
|
+
}
|
|
1753
|
+
if (!this.sourceWidth) this.setSize(image.width, image.height);
|
|
1754
|
+
const map = await this.visionRunner().depth(image);
|
|
1755
|
+
const stored = {
|
|
1756
|
+
width: map.width,
|
|
1757
|
+
height: map.height,
|
|
1758
|
+
data: Uint16Array.from(map.data, (v) => Math.round(v * 65535))
|
|
1759
|
+
};
|
|
1760
|
+
this.keepDepth(c, stored);
|
|
1761
|
+
if (dir) await this.saveDepth(dir, c, stored);
|
|
1762
|
+
}
|
|
1763
|
+
}
|
|
1764
|
+
hasDepth(c) {
|
|
1765
|
+
return this.depths.has(c) || this.depthsOnDisk.has(c);
|
|
1766
|
+
}
|
|
1767
|
+
keepDepth(c, depth) {
|
|
1768
|
+
this.depths.delete(c);
|
|
1769
|
+
this.depths.set(c, depth);
|
|
1770
|
+
if (this.depthsOnDisk.size === 0) return;
|
|
1771
|
+
for (const k of this.depths.keys()) {
|
|
1772
|
+
if (this.depths.size <= DEPTH_MEMORY) break;
|
|
1773
|
+
if (this.depthsOnDisk.has(k)) this.depths.delete(k);
|
|
1774
|
+
}
|
|
1775
|
+
}
|
|
1776
|
+
storedDepth(c) {
|
|
1777
|
+
const held = this.depths.get(c);
|
|
1778
|
+
if (held !== void 0 || !this.depthsOnDisk.has(c)) return held;
|
|
1779
|
+
const disk = this.depthDisk;
|
|
1780
|
+
if (!disk) return void 0;
|
|
1781
|
+
const stored = readDepthFile(disk.fs, disk.path.join(disk.dir, `${c}.bin`));
|
|
1782
|
+
if (stored) this.keepDepth(c, stored);
|
|
1783
|
+
return stored ?? void 0;
|
|
1784
|
+
}
|
|
1785
|
+
/**
|
|
1786
|
+
* Where depth frames persist: a folder of its own, keyed only by the clip
|
|
1787
|
+
* and the model, so other options never invalidate it.
|
|
1788
|
+
*/
|
|
1789
|
+
depthCacheDir() {
|
|
1790
|
+
this.depthDir ??= (async () => {
|
|
1791
|
+
const node = await nodeModules();
|
|
1792
|
+
if (!node || this.options.cacheDir === false) return null;
|
|
1793
|
+
const { fs: fs$1, path: path$1, os, crypto } = node;
|
|
1794
|
+
try {
|
|
1795
|
+
const stat = fs$1.statSync(this.source);
|
|
1796
|
+
const root = this.options.cacheDir ?? process.env.FRAMEFIELDS_VISION_CACHE_DIR ?? path$1.join(os.homedir(), ".cache", "framefields", "vision");
|
|
1797
|
+
const key = JSON.stringify([
|
|
1798
|
+
DEPTH_CACHE_VERSION,
|
|
1799
|
+
path$1.resolve(this.source),
|
|
1800
|
+
stat.size,
|
|
1801
|
+
stat.mtimeMs,
|
|
1802
|
+
this.fps,
|
|
1803
|
+
DEPTH_MODEL
|
|
1804
|
+
]);
|
|
1805
|
+
const hash = crypto.createHash("sha256").update(key).digest("hex").slice(0, 24);
|
|
1806
|
+
const dir = path$1.join(root, `${path$1.basename(this.source)}.${hash}.depth`);
|
|
1807
|
+
fs$1.mkdirSync(dir, { recursive: true });
|
|
1808
|
+
for (const name of fs$1.readdirSync(dir)) {
|
|
1809
|
+
const m = /^(\d+)\.bin$/.exec(name);
|
|
1810
|
+
if (m) this.depthsOnDisk.add(Number(m[1]));
|
|
1811
|
+
}
|
|
1812
|
+
this.depthDisk = {
|
|
1813
|
+
dir,
|
|
1814
|
+
fs: fs$1,
|
|
1815
|
+
path: path$1
|
|
1816
|
+
};
|
|
1817
|
+
return dir;
|
|
1818
|
+
} catch {
|
|
1819
|
+
return null;
|
|
1820
|
+
}
|
|
1821
|
+
})();
|
|
1822
|
+
return this.depthDir;
|
|
1823
|
+
}
|
|
1824
|
+
async saveDepth(dir, c, depth) {
|
|
1825
|
+
const node = await nodeModules();
|
|
1826
|
+
if (!node) return;
|
|
1827
|
+
const header = new Uint32Array([depth.width, depth.height]);
|
|
1828
|
+
const file = node.path.join(dir, `${c}.bin`);
|
|
1829
|
+
const tmp = `${file}.${process.pid}.tmp`;
|
|
1830
|
+
node.fs.writeFileSync(tmp, Buffer.concat([Buffer.from(header.buffer), Buffer.from(depth.data.buffer, depth.data.byteOffset, depth.data.byteLength)]));
|
|
1831
|
+
node.fs.renameSync(tmp, file);
|
|
1832
|
+
this.depthsOnDisk.add(c);
|
|
1833
|
+
this.keepDepth(c, depth);
|
|
1834
|
+
}
|
|
1694
1835
|
async computeSam2(to) {
|
|
1695
1836
|
const settings = this.options.sam2;
|
|
1696
1837
|
if (!settings) return;
|
|
@@ -2006,7 +2147,7 @@ var ClipVision = class {
|
|
|
2006
2147
|
stat.mtimeMs,
|
|
2007
2148
|
this.fps,
|
|
2008
2149
|
this.tracksPose,
|
|
2009
|
-
|
|
2150
|
+
this.tracksMask,
|
|
2010
2151
|
this.cell,
|
|
2011
2152
|
o.variant ?? "s",
|
|
2012
2153
|
o.confidence ?? null,
|
|
@@ -2394,6 +2535,41 @@ function unionMask(objects, image) {
|
|
|
2394
2535
|
for (const { mask } of objects) for (let i = 0; i < union.length; i++) union[i] = Math.max(union[i] ?? 0, mask[i] ?? 0);
|
|
2395
2536
|
return union;
|
|
2396
2537
|
}
|
|
2538
|
+
let nodeModulesLoaded;
|
|
2539
|
+
/** Node's file modules, or null in a browser. */
|
|
2540
|
+
function nodeModules() {
|
|
2541
|
+
nodeModulesLoaded ??= typeof process === "undefined" || !process.versions?.node ? Promise.resolve(null) : Promise.all([
|
|
2542
|
+
import("node:fs"),
|
|
2543
|
+
import("node:path"),
|
|
2544
|
+
import("node:os"),
|
|
2545
|
+
import("node:crypto")
|
|
2546
|
+
]).then(([fs$1, path$1, os, crypto]) => ({
|
|
2547
|
+
fs: fs$1,
|
|
2548
|
+
path: path$1,
|
|
2549
|
+
os,
|
|
2550
|
+
crypto
|
|
2551
|
+
}));
|
|
2552
|
+
return nodeModulesLoaded;
|
|
2553
|
+
}
|
|
2554
|
+
/** A depth frame written by `saveDepth`; null when the file is missing or damaged. */
|
|
2555
|
+
function readDepthFile(fs$1, file) {
|
|
2556
|
+
try {
|
|
2557
|
+
const buf = fs$1.readFileSync(file);
|
|
2558
|
+
if (buf.byteLength < 8) return null;
|
|
2559
|
+
const width = buf.readUInt32LE(0);
|
|
2560
|
+
const height = buf.readUInt32LE(4);
|
|
2561
|
+
if (buf.byteLength !== 8 + width * height * 2) return null;
|
|
2562
|
+
const data = new Uint16Array(width * height);
|
|
2563
|
+
Buffer.from(data.buffer).set(buf.subarray(8));
|
|
2564
|
+
return {
|
|
2565
|
+
width,
|
|
2566
|
+
height,
|
|
2567
|
+
data
|
|
2568
|
+
};
|
|
2569
|
+
} catch {
|
|
2570
|
+
return null;
|
|
2571
|
+
}
|
|
2572
|
+
}
|
|
2397
2573
|
|
|
2398
2574
|
//#endregion
|
|
2399
2575
|
//#region src/media-signals.ts
|
|
@@ -8530,6 +8706,7 @@ var Composition = class Composition {
|
|
|
8530
8706
|
_frameHooks = [];
|
|
8531
8707
|
_prepareHooks = [];
|
|
8532
8708
|
_clipVision = /* @__PURE__ */ new Map();
|
|
8709
|
+
_linking = false;
|
|
8533
8710
|
_mediaSignals;
|
|
8534
8711
|
_visionConfig;
|
|
8535
8712
|
_visionBundle;
|
|
@@ -8604,14 +8781,13 @@ var Composition = class Composition {
|
|
|
8604
8781
|
await Promise.all([...this._clipVision.values()].map((clip) => clip.ready(0, frame)));
|
|
8605
8782
|
}
|
|
8606
8783
|
/**
|
|
8607
|
-
* Points matte-family and
|
|
8608
|
-
* clip they show, so the cutout reuses that clip's per-frame
|
|
8609
|
-
* skeleton draws its matched pose
|
|
8610
|
-
* during render. Only layers whose settings would give the same subject are
|
|
8784
|
+
* Points matte-family, skeleton and depth `withVision` layers at the
|
|
8785
|
+
* `comp.vision` clip they show, so the cutout reuses that clip's per-frame
|
|
8786
|
+
* subject, the skeleton draws its matched pose and the depth layer its
|
|
8787
|
+
* frame's depth, instead of analysing the frame again during render. Only layers whose settings would give the same subject are
|
|
8611
8788
|
* linked; the rest keep their own pass.
|
|
8612
8789
|
*/
|
|
8613
8790
|
linkClipLayers() {
|
|
8614
|
-
if (this._clipVision.size === 0) return;
|
|
8615
8791
|
let layers;
|
|
8616
8792
|
const walk = (node) => {
|
|
8617
8793
|
if (!node || typeof node !== "object") return;
|
|
@@ -8628,7 +8804,7 @@ var Composition = class Composition {
|
|
|
8628
8804
|
timeRemap: layer?.timeRemap
|
|
8629
8805
|
});
|
|
8630
8806
|
if (clip) {
|
|
8631
|
-
if (n.vision.mode !== "skeleton") clip.keepSubjects();
|
|
8807
|
+
if (n.vision.mode !== "skeleton" && n.vision.mode !== "depth") clip.keepSubjects();
|
|
8632
8808
|
Object.defineProperty(n.vision, CLIP_SUBJECT, {
|
|
8633
8809
|
value: clip,
|
|
8634
8810
|
enumerable: false,
|
|
@@ -8637,12 +8813,15 @@ var Composition = class Composition {
|
|
|
8637
8813
|
}
|
|
8638
8814
|
}
|
|
8639
8815
|
if (Array.isArray(n.children)) for (const c of n.children) walk(c);
|
|
8816
|
+
walk(n.matte?.node);
|
|
8817
|
+
walk(n.relief?.node);
|
|
8640
8818
|
};
|
|
8641
8819
|
for (const child of this.children) walk(child);
|
|
8642
8820
|
}
|
|
8643
8821
|
/** The `comp.vision` clip a matte or skeleton layer of the same source reads instead of analysing. */
|
|
8644
8822
|
clipForLayer(source, v, layer) {
|
|
8645
8823
|
const mode = v.mode ?? "passthrough";
|
|
8824
|
+
if (mode === "depth") return this.depthClip(source, layer);
|
|
8646
8825
|
const skeleton = mode === "skeleton";
|
|
8647
8826
|
if (mode !== "matte" && mode !== "mask" && mode !== "crop" && !skeleton) return;
|
|
8648
8827
|
if (v.classes !== void 0 || v.enableMatte === true || v.visionBundle !== void 0 || !skeleton && (v.matteSource === "selfie" || v.keyBackground === true || v.enablePose === true || (v.maskThreshold ?? .5) !== .5 || v.featherRadius !== void 0)) return;
|
|
@@ -8658,6 +8837,20 @@ var Composition = class Composition {
|
|
|
8658
8837
|
}
|
|
8659
8838
|
}
|
|
8660
8839
|
/**
|
|
8840
|
+
* The clip a depth layer reads: one of the same source and timing that
|
|
8841
|
+
* tracks depth, or a new depth clip, since depth is never analysed at render
|
|
8842
|
+
* time (it would trail the picture by a frame).
|
|
8843
|
+
*/
|
|
8844
|
+
depthClip(source, layer) {
|
|
8845
|
+
for (const clip of this._clipVision.values()) if (clip.tracksDepth && clip.source === source && clip.startFrame === (layer.startFrame ?? 0) && clip.trimStartSec === (layer.trimStartSec ?? 0) && remapKey(clip.options.timeRemap) === remapKey(layer.timeRemap)) return clip;
|
|
8846
|
+
return this.vision(source, {
|
|
8847
|
+
depth: true,
|
|
8848
|
+
...layer.startFrame !== void 0 && { startFrame: layer.startFrame },
|
|
8849
|
+
...layer.trimStartSec !== void 0 && { trimStartSec: layer.trimStartSec },
|
|
8850
|
+
...layer.timeRemap !== void 0 && { timeRemap: layer.timeRemap }
|
|
8851
|
+
});
|
|
8852
|
+
}
|
|
8853
|
+
/**
|
|
8661
8854
|
* One-shot, ffmpeg-free vision analysis of a media source.
|
|
8662
8855
|
*
|
|
8663
8856
|
* Decodes frames through the same mediabunny pipeline the renderer uses, runs the requested
|
|
@@ -8730,6 +8923,7 @@ var Composition = class Composition {
|
|
|
8730
8923
|
for (const hook of this._frameHooks) hook(ctx);
|
|
8731
8924
|
const signals = this._mediaSignals;
|
|
8732
8925
|
signals?.advance(ctx.frame);
|
|
8926
|
+
this.linkClipLayers();
|
|
8733
8927
|
if (this._clipVision.size === 0 && this._prepareHooks.length === 0) {
|
|
8734
8928
|
signals?.reach(ctx.frame);
|
|
8735
8929
|
return;
|
|
@@ -9112,6 +9306,14 @@ var Composition = class Composition {
|
|
|
9112
9306
|
* Compiles the composition into a VirtualMediaData AST ready for WebGPU rendering.
|
|
9113
9307
|
*/
|
|
9114
9308
|
toVirtualMedia(options = {}) {
|
|
9309
|
+
if (!this._linking) {
|
|
9310
|
+
this._linking = true;
|
|
9311
|
+
try {
|
|
9312
|
+
this.linkClipLayers();
|
|
9313
|
+
} finally {
|
|
9314
|
+
this._linking = false;
|
|
9315
|
+
}
|
|
9316
|
+
}
|
|
9115
9317
|
const durationMs = options.durationMs ?? this.durationMs;
|
|
9116
9318
|
const signals = options.signals ?? this.signals;
|
|
9117
9319
|
return compositorToProgram(this.toSpec(), {
|
|
@@ -9263,6 +9465,18 @@ function withAnimation(node) {
|
|
|
9263
9465
|
writable: true,
|
|
9264
9466
|
configurable: true
|
|
9265
9467
|
});
|
|
9468
|
+
Object.defineProperty(target$1, "withRelief", {
|
|
9469
|
+
value: (relief, options = {}) => {
|
|
9470
|
+
target$1.relief = {
|
|
9471
|
+
node: relief,
|
|
9472
|
+
...options
|
|
9473
|
+
};
|
|
9474
|
+
return target$1;
|
|
9475
|
+
},
|
|
9476
|
+
enumerable: false,
|
|
9477
|
+
writable: true,
|
|
9478
|
+
configurable: true
|
|
9479
|
+
});
|
|
9266
9480
|
Object.defineProperty(target$1, "withPbrGlass", {
|
|
9267
9481
|
value: (options) => {
|
|
9268
9482
|
target$1.glass = options ?? {};
|
|
@@ -9867,4 +10081,4 @@ const Effect = Object.assign(Effect$1, effectFactories, {
|
|
|
9867
10081
|
|
|
9868
10082
|
//#endregion
|
|
9869
10083
|
export { glyphAnimator as $, wordRanges as $t, boilKeys as A, squigglePath as At, defineTheme as B, themes as Bt, audioLevelsSchema as C, span as Cn, scaleFrames as Ct, basePropsSchema as D, FRAMEFIELDS_AI_PROXY_URL as Dn, springKeys as Dt, bandEdges as E, ApiError as En, springAt as Et, constantExpression as F, surfaceFill as Ft, elevationStyle as G, transparent as Gt, drawOnKeys as H, toPathData as Ht, contrastRatio as I, targetPoint as It, evaluateEase as J, windowExpression as Jt, ellipsePath as K, typingFrames as Kt, cover as L, targetSchema as Lt, boxPath as M, staggerRanks as Mt, catmullRom as N, stepExpression as Nt, beats as O, ValidationError as On, springSettleFrames as Ot, chain as P, supersede as Pt, frameSpan as Q, wobblePoints as Qt, defineComponent as R, textLayout as Rt, ascending as S, size as Sn, safeArea as St, bakeSamples as T, sup as Tn, smoothRelease as Tt, ease as U, toSeconds as Ut, dist as V, toFrames as Vt, elevate as W, transformPathData as Wt, exitAnimation as X, withDefaults as Xt, evaluateGlyphExpression as Y, withAlpha as Yt, findRange as Z, within as Zt, after as _, italic as _n, resampleBands as _t, Media as a, PhysicsWorld2D as an, last as at, arcPath as b, parseMarkup as bn, rng as bt, section as c, Layer3D as cn, lineShift as ct, analyzeAudio as d, PersonTrack as dn, offsetCues as dt, Styles as en, hashRng as et, KeyBook as f, DEFAULT_CHART_COLORS as fn, parseColor as ft, UNIT_INDEX as g, color as gn, rendererChars as gt, Track as h, code as hn, rangeRects as ht, Light as i, PhysicsBody2D as in, isLight as it, boundsOf as j, staggerOffsets as jt, bind as k, ai as kn, springTrack as kt, bindComponent as l, Particles as ln, luminance as lt, SAFE_INSETS as m, bold as mn, quantize as mt, Effect as n, PhysicsBody3D as nn, holdFirstKeys as nt, blurRegion as o, Lighting as on, lerp2 as ot, MOTION_PRESETS as p, accent as pn, pulseKeys as pt, enterAnimation as q, valueAt as qt, Layer as r, PhysicsWorld3D as rn, inkOn as rt, editTrackedRegion as s, Transition as sn, linePath as st, Composition as t, Physics as tn, hashString as tt, z$2 as u, ClipVision as un, mix as ut, analyzeChannels as v, mark as vn, resolveMotion as vt, bakeFunction as w, sub as wn, scheduleExpression as wt, arrowPaths as x, rich as xn, round as xt, anchorPoint as y, normalizeTextSpans as yn, resolveTarget as yt, defineMeta as z, themeFrames as zt };
|
|
9870
|
-
//# sourceMappingURL=src-
|
|
10084
|
+
//# sourceMappingURL=src-C3f3zXYg.mjs.map
|