framefields 2.14.0 → 2.15.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 +5 -1
- package/dist/audio/index.d.mts +3 -3
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-DFwRbID_.mjs → audio-6TfPlfl4.mjs} +3 -3
- package/dist/{audio-DFwRbID_.mjs.map → audio-6TfPlfl4.mjs.map} +1 -1
- package/dist/{audio-CdCuGK5d.d.mts → audio-7oqTUi4G.d.mts} +2 -2
- package/dist/{audio-CdCuGK5d.d.mts.map → audio-7oqTUi4G.d.mts.map} +1 -1
- package/dist/cli/check-worker.mjs +44 -44
- package/dist/cli.mjs +1 -1
- package/dist/cloud/index.d.mts.map +1 -1
- package/dist/cloud/index.mjs +1 -1
- package/dist/{cloud-Cj1TIme8.mjs → cloud-jnk1hPYf.mjs} +2 -2
- package/dist/{cloud-Cj1TIme8.mjs.map → cloud-jnk1hPYf.mjs.map} +1 -1
- package/dist/components/index.d.mts +11 -11
- package/dist/components/index.mjs +43 -43
- package/dist/{dist-Kbf-JTry.mjs → dist-BtI6ukB5.mjs} +2 -2
- package/dist/{dist-Kbf-JTry.mjs.map → dist-BtI6ukB5.mjs.map} +1 -1
- package/dist/{dist-B8Nby2CU.mjs → dist-COOpgG9G.mjs} +4 -3
- package/dist/{dist-B8Nby2CU.mjs.map → dist-COOpgG9G.mjs.map} +1 -1
- package/dist/{dist--Uu5bQ_6.mjs → dist-XqlFM2a8.mjs} +13733 -5323
- package/dist/dist-XqlFM2a8.mjs.map +1 -0
- package/dist/{dist-CiTgmfUw.mjs → dist-f1zkl69f.mjs} +4 -4
- package/dist/dist-f1zkl69f.mjs.map +1 -0
- package/dist/{dist-B_rSWeOz.mjs → dist-umQOWz0a.mjs} +1 -1
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +35 -35
- package/dist/{effects-WMgv8ZaD.mjs → effects-DlRMovU5.mjs} +2 -2
- package/dist/{effects-WMgv8ZaD.mjs.map → effects-DlRMovU5.mjs.map} +1 -1
- package/dist/fonts/index.d.mts +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-OW3yAfO5.mjs → fonts-BWYcXjyK.mjs} +3 -3
- package/dist/fonts-BWYcXjyK.mjs.map +1 -0
- package/dist/{gpu-R4T2Tndu.mjs → gpu-CH1PdM4T.mjs} +2 -2
- package/dist/{gpu-R4T2Tndu.mjs.map → gpu-CH1PdM4T.mjs.map} +1 -1
- package/dist/{index-CEKxvGY-.d.mts → index-BHTycml5.d.mts} +2 -2
- package/dist/{index-CEKxvGY-.d.mts.map → index-BHTycml5.d.mts.map} +1 -1
- package/dist/{index-DoP6EiHj.d.mts → index-BcxxxwhV.d.mts} +4 -4
- package/dist/{index-DoP6EiHj.d.mts.map → index-BcxxxwhV.d.mts.map} +1 -1
- package/dist/{index-Bv7gxGK1.d.mts → index-BnB_Ou2y.d.mts} +2 -2
- package/dist/index-BnB_Ou2y.d.mts.map +1 -0
- package/dist/index-C-V6CAhP.d.mts.map +1 -1
- package/dist/{index-D1FqV1eu.d.mts → index-CMhkkc56.d.mts} +43 -11
- package/dist/index-CMhkkc56.d.mts.map +1 -0
- package/dist/{index-B0Vq8Bwf.d.mts → index-CYVpYGM-.d.mts} +2 -2
- package/dist/{index-B0Vq8Bwf.d.mts.map → index-CYVpYGM-.d.mts.map} +1 -1
- package/dist/{index-C7-p9zwU.d.mts → index-DhL7ckvs.d.mts} +5 -5
- package/dist/index-DhL7ckvs.d.mts.map +1 -0
- package/dist/{index-9xte4JgL.d.mts → index-DkAjKnhW.d.mts} +1464 -559
- package/dist/index-DkAjKnhW.d.mts.map +1 -0
- package/dist/{index-GA9_Z8Fn.d.mts → index-RILu3ULT.d.mts} +2 -2
- package/dist/{index-GA9_Z8Fn.d.mts.map → index-RILu3ULT.d.mts.map} +1 -1
- package/dist/{index-C5sgRLlG.d.mts → index-TCtdSXd7.d.mts} +3 -1
- package/dist/index-TCtdSXd7.d.mts.map +1 -0
- package/dist/{index-CRaydvLi.d.mts → index-s2qQ8ifZ.d.mts} +886 -51
- package/dist/index-s2qQ8ifZ.d.mts.map +1 -0
- package/dist/index.d.mts +13 -13
- package/dist/index.mjs +52 -52
- package/dist/preview/index.d.mts +3 -3
- package/dist/preview/index.mjs +10 -10
- package/dist/preview-BeGF1Bb1.mjs +1002 -0
- package/dist/preview-BeGF1Bb1.mjs.map +1 -0
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-64L4GUOF.mjs → chunk-4F3DG6YB.mjs} +2 -2
- package/dist/preview-engine/chunk-A2OTOW3B.mjs +4694 -0
- package/dist/preview-engine/{chunk-GNDE3OXQ.mjs → chunk-BR56TQBP.mjs} +1 -1
- package/dist/preview-engine/{chunk-ADLIF544.mjs → chunk-H2XKXXAU.mjs} +1 -1
- package/dist/preview-engine/chunk-NDUODAY2.mjs +3 -0
- package/dist/preview-engine/{chunk-FZ4RD7HV.mjs → chunk-QAQJSWUT.mjs} +1 -1
- package/dist/preview-engine/chunk-SWRGQTVC.mjs +138 -0
- package/dist/preview-engine/{chunk-52X7SURQ.mjs → chunk-TEA3GVBJ.mjs} +1 -1
- package/dist/preview-engine/chunk-VM2ZBPLM.mjs +644 -0
- package/dist/preview-engine/{chunk-UBY2UYEL.mjs → chunk-XSHNQJ7L.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 +2 -2
- package/dist/preview-engine/{renderers-DU7KPFVV.mjs → renderers-6C7NWWDX.mjs} +1 -1
- package/dist/preview-engine/renderers-HHVGNMSJ.mjs +206 -0
- package/dist/preview-engine/{src-YXNX4MLK.mjs → src-RCNEKIRP.mjs} +1 -1
- package/dist/preview-page/index.html +19 -0
- package/dist/preview-page/main.css +1 -0
- package/dist/preview-page/main.js +327 -0
- package/dist/{program-tFKCWU2j.mjs → program-CMigyfso.mjs} +829 -52
- package/dist/program-CMigyfso.mjs.map +1 -0
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +2 -2
- package/dist/{renderer-DkOuQi84.mjs → renderer-0GMEL_Zi.mjs} +3 -3
- package/dist/{renderer-DkOuQi84.mjs.map → renderer-0GMEL_Zi.mjs.map} +1 -1
- package/dist/{renderer-BGp0An5A.mjs → renderer-3Wv2ZBJG.mjs} +3 -3
- package/dist/{renderer-BGp0An5A.mjs.map → renderer-3Wv2ZBJG.mjs.map} +1 -1
- package/dist/{renderer-BVIXKfbC.mjs → renderer-4nXkaAWu.mjs} +1178 -199
- package/dist/renderer-4nXkaAWu.mjs.map +1 -0
- package/dist/{renderer-Cw6_NL2i.mjs → renderer-6SnfLXeg.mjs} +3 -3
- package/dist/{renderer-Cw6_NL2i.mjs.map → renderer-6SnfLXeg.mjs.map} +1 -1
- package/dist/{renderer-BVU22lBS.mjs → renderer-8gHw3O0P.mjs} +2 -2
- package/dist/{renderer-BVU22lBS.mjs.map → renderer-8gHw3O0P.mjs.map} +1 -1
- package/dist/{renderer-BjDddtw9.mjs → renderer-AOBglZHC.mjs} +2 -2
- package/dist/{renderer-D-KHHWQD.mjs → renderer-B0bSARK3.mjs} +3 -3
- package/dist/{renderer-D-KHHWQD.mjs.map → renderer-B0bSARK3.mjs.map} +1 -1
- package/dist/{renderer-CCxk-RJR.mjs → renderer-B2_tuRfl.mjs} +2 -2
- package/dist/{renderer-CCxk-RJR.mjs.map → renderer-B2_tuRfl.mjs.map} +1 -1
- package/dist/{renderer-k5d7JSbs.mjs → renderer-B82FhkEr.mjs} +3 -3
- package/dist/{renderer-k5d7JSbs.mjs.map → renderer-B82FhkEr.mjs.map} +1 -1
- package/dist/{renderer-I0Hh9cLK.mjs → renderer-B9lzA0PY.mjs} +3 -3
- package/dist/{renderer-I0Hh9cLK.mjs.map → renderer-B9lzA0PY.mjs.map} +1 -1
- package/dist/{renderer-Dwwnx7Dk.mjs → renderer-BBSIWSry.mjs} +2 -2
- package/dist/{renderer-Dwwnx7Dk.mjs.map → renderer-BBSIWSry.mjs.map} +1 -1
- package/dist/{renderer-_pC-jB9O.mjs → renderer-BEKDMxbi.mjs} +2 -2
- package/dist/{renderer-_pC-jB9O.mjs.map → renderer-BEKDMxbi.mjs.map} +1 -1
- package/dist/renderer-BERGAxqA.mjs +5 -0
- package/dist/{renderer-raxwsiGI.mjs → renderer-BF960HY8.mjs} +3 -3
- package/dist/{renderer-raxwsiGI.mjs.map → renderer-BF960HY8.mjs.map} +1 -1
- package/dist/{renderer-Dr0tXA4k.mjs → renderer-BFwyVxCu.mjs} +3 -3
- package/dist/{renderer-Dr0tXA4k.mjs.map → renderer-BFwyVxCu.mjs.map} +1 -1
- package/dist/{renderer-DEjo6dw_.mjs → renderer-BNiwcI3-.mjs} +2 -2
- package/dist/{renderer-DEjo6dw_.mjs.map → renderer-BNiwcI3-.mjs.map} +1 -1
- package/dist/{renderer-DIEeHiQA.mjs → renderer-BPbVb2Q4.mjs} +2 -2
- package/dist/{renderer-DIEeHiQA.mjs.map → renderer-BPbVb2Q4.mjs.map} +1 -1
- package/dist/renderer-BQ_YkBMt.mjs +6 -0
- package/dist/{renderer-BBMtmxks.mjs → renderer-BUWxlA8T.mjs} +3 -3
- package/dist/{renderer-BBMtmxks.mjs.map → renderer-BUWxlA8T.mjs.map} +1 -1
- package/dist/renderer-BW0Tjsv9.mjs +5 -0
- package/dist/{renderer-Dgj46uEU.mjs → renderer-BX8liu-e.mjs} +2 -2
- package/dist/{renderer-ZnrEfkYh.mjs → renderer-BXIwDAr_.mjs} +2 -2
- package/dist/{renderer-ZnrEfkYh.mjs.map → renderer-BXIwDAr_.mjs.map} +1 -1
- package/dist/{renderer-DA8YEo_d.mjs → renderer-B_Hy1W-g.mjs} +3 -3
- package/dist/{renderer-DA8YEo_d.mjs.map → renderer-B_Hy1W-g.mjs.map} +1 -1
- package/dist/{renderer-iMiYStcW.mjs → renderer-Bb6cvSgh.mjs} +2 -2
- package/dist/{renderer-iMiYStcW.mjs.map → renderer-Bb6cvSgh.mjs.map} +1 -1
- package/dist/{renderer-BacY4nh8.mjs → renderer-BdppwWC9.mjs} +2 -2
- package/dist/{renderer-BacY4nh8.mjs.map → renderer-BdppwWC9.mjs.map} +1 -1
- package/dist/{renderer-CrxwW6VQ.mjs → renderer-Bhc24HVe.mjs} +3 -3
- package/dist/{renderer-CrxwW6VQ.mjs.map → renderer-Bhc24HVe.mjs.map} +1 -1
- package/dist/{renderer-BH7UCMPQ.mjs → renderer-BiNA2wF0.mjs} +2 -2
- package/dist/{renderer-BH7UCMPQ.mjs.map → renderer-BiNA2wF0.mjs.map} +1 -1
- package/dist/{renderer-DVPgWHZw.mjs → renderer-BmoBgTp5.mjs} +3 -3
- package/dist/{renderer-DVPgWHZw.mjs.map → renderer-BmoBgTp5.mjs.map} +1 -1
- package/dist/{renderer-C20efMI0.mjs → renderer-BmqFmCWS.mjs} +3 -3
- package/dist/{renderer-C20efMI0.mjs.map → renderer-BmqFmCWS.mjs.map} +1 -1
- package/dist/{renderer-B0yVUOPP.mjs → renderer-BnVwAObV.mjs} +2 -2
- package/dist/{renderer-B0yVUOPP.mjs.map → renderer-BnVwAObV.mjs.map} +1 -1
- package/dist/{renderer-CP8wLzTU.mjs → renderer-BxttZHme.mjs} +2 -2
- package/dist/{renderer-CP8wLzTU.mjs.map → renderer-BxttZHme.mjs.map} +1 -1
- package/dist/renderer-BzyPdUD1.mjs +5 -0
- package/dist/renderer-C0hM-mtY.mjs +5 -0
- package/dist/renderer-C6cyUTvk.mjs +5 -0
- package/dist/{renderer-BOSZAdgF.mjs → renderer-C8E4XsSg.mjs} +2 -2
- package/dist/{renderer-BOSZAdgF.mjs.map → renderer-C8E4XsSg.mjs.map} +1 -1
- package/dist/renderer-C8zY3pzk.mjs +5 -0
- package/dist/{renderer-DWq9gYRw.mjs → renderer-C9U-LY50.mjs} +3 -3
- package/dist/{renderer-DWq9gYRw.mjs.map → renderer-C9U-LY50.mjs.map} +1 -1
- package/dist/{renderer-Dj2H5JPR.mjs → renderer-CB2JVu5x.mjs} +3 -3
- package/dist/{renderer-Dj2H5JPR.mjs.map → renderer-CB2JVu5x.mjs.map} +1 -1
- package/dist/{renderer-Bcu3UrI-.mjs → renderer-CC4YBJ8Z.mjs} +3 -3
- package/dist/{renderer-Bcu3UrI-.mjs.map → renderer-CC4YBJ8Z.mjs.map} +1 -1
- package/dist/renderer-CEkSOyKu.mjs +5 -0
- package/dist/{renderer-DzLrvCB2.mjs → renderer-CIycc5O-.mjs} +2 -2
- package/dist/{renderer-DzLrvCB2.mjs.map → renderer-CIycc5O-.mjs.map} +1 -1
- package/dist/renderer-CJYtfa4x.mjs +5 -0
- package/dist/{renderer-BeNl_6EG.mjs → renderer-CJraQlV-.mjs} +2 -2
- package/dist/{renderer-BeNl_6EG.mjs.map → renderer-CJraQlV-.mjs.map} +1 -1
- package/dist/renderer-CKMtHGZh.mjs +5 -0
- package/dist/renderer-CLzicoiy.mjs +5 -0
- package/dist/renderer-CM2A4BHd.mjs +5 -0
- package/dist/{renderer-DtMVitEF.mjs → renderer-COWGWtob.mjs} +2 -2
- package/dist/{renderer-DtMVitEF.mjs.map → renderer-COWGWtob.mjs.map} +1 -1
- package/dist/{renderer-CT3zkfbf.mjs → renderer-COxG2XGf.mjs} +2 -2
- package/dist/{renderer-CT3zkfbf.mjs.map → renderer-COxG2XGf.mjs.map} +1 -1
- package/dist/{renderer-DNxWOz8Q.mjs → renderer-CQDCIsQm.mjs} +2 -2
- package/dist/{renderer-DNxWOz8Q.mjs.map → renderer-CQDCIsQm.mjs.map} +1 -1
- package/dist/{renderer-C5AoaymD.mjs → renderer-CRUeag8i.mjs} +3 -3
- package/dist/{renderer-C5AoaymD.mjs.map → renderer-CRUeag8i.mjs.map} +1 -1
- package/dist/{renderer-ngmYIIob.mjs → renderer-CWVput06.mjs} +3 -3
- package/dist/{renderer-ngmYIIob.mjs.map → renderer-CWVput06.mjs.map} +1 -1
- package/dist/renderer-CZlHjcxr.mjs +5 -0
- package/dist/{renderer-0rveCDm-.mjs → renderer-CbbnBLOB.mjs} +3 -3
- package/dist/{renderer-0rveCDm-.mjs.map → renderer-CbbnBLOB.mjs.map} +1 -1
- package/dist/renderer-CbimvSU8.mjs +5 -0
- package/dist/renderer-Ccvc63yd.mjs +5 -0
- package/dist/renderer-Cdp-SGfq.mjs +5 -0
- package/dist/renderer-CeTcSs3e.mjs +5 -0
- package/dist/{renderer-Brmbl12Y.mjs → renderer-CfLZein2.mjs} +3 -3
- package/dist/{renderer-Brmbl12Y.mjs.map → renderer-CfLZein2.mjs.map} +1 -1
- package/dist/{renderer-BJ8ea92W.mjs → renderer-Ch-q1O-q.mjs} +3 -3
- package/dist/{renderer-BJ8ea92W.mjs.map → renderer-Ch-q1O-q.mjs.map} +1 -1
- package/dist/{renderer-CP108ABB.mjs → renderer-Ch5JvJWl.mjs} +2 -2
- package/dist/{renderer-CP108ABB.mjs.map → renderer-Ch5JvJWl.mjs.map} +1 -1
- package/dist/{renderer-47y12Z37.mjs → renderer-ChtEzq-R.mjs} +2 -2
- package/dist/{renderer-47y12Z37.mjs.map → renderer-ChtEzq-R.mjs.map} +1 -1
- package/dist/{renderer-DhyMfG1v.mjs → renderer-Cj9nTC5l.mjs} +3 -3
- package/dist/{renderer-DhyMfG1v.mjs.map → renderer-Cj9nTC5l.mjs.map} +1 -1
- package/dist/{renderer-BDzn1AKF.mjs → renderer-CqT8HsSS.mjs} +2 -2
- package/dist/{renderer-BDzn1AKF.mjs.map → renderer-CqT8HsSS.mjs.map} +1 -1
- package/dist/{renderer-B7G1KohJ.mjs → renderer-CuQjMhdV.mjs} +2 -2
- package/dist/renderer-CvNuu52U.mjs +5 -0
- package/dist/renderer-CwciC0oI.mjs +5 -0
- package/dist/renderer-CysLUbIr.mjs +5 -0
- package/dist/{renderer-Cm0tsbQH.mjs → renderer-Cz30EVws.mjs} +2 -2
- package/dist/{renderer-Cm0tsbQH.mjs.map → renderer-Cz30EVws.mjs.map} +1 -1
- package/dist/renderer-D3A22Vxb.mjs +5 -0
- package/dist/renderer-D5SY9EmA.mjs +5 -0
- package/dist/renderer-D8h3ZvaE.mjs +5 -0
- package/dist/renderer-DE-B6N9n.mjs +5 -0
- package/dist/renderer-DETZTI7t.mjs +5 -0
- package/dist/{renderer-nHS3Sius.mjs → renderer-DHoX-5U_.mjs} +3 -3
- package/dist/{renderer-nHS3Sius.mjs.map → renderer-DHoX-5U_.mjs.map} +1 -1
- package/dist/{renderer-BWSRryIA.mjs → renderer-DOkm0Ycd.mjs} +2 -2
- package/dist/{renderer-BWSRryIA.mjs.map → renderer-DOkm0Ycd.mjs.map} +1 -1
- package/dist/{renderer-BHYJlK6H.d.mts → renderer-DU3f6ZrS.d.mts} +2 -2
- package/dist/{renderer-BHYJlK6H.d.mts.map → renderer-DU3f6ZrS.d.mts.map} +1 -1
- package/dist/{renderer-BpVOk9ux.mjs → renderer-DUzv-shq.mjs} +2 -2
- package/dist/{renderer-BpVOk9ux.mjs.map → renderer-DUzv-shq.mjs.map} +1 -1
- package/dist/renderer-DWnDj0IM.mjs +5 -0
- package/dist/renderer-DcGUIbQF.mjs +5 -0
- package/dist/renderer-Dfq6FoNO.mjs +5 -0
- package/dist/renderer-DhasXW6S.mjs +3 -0
- package/dist/{renderer-NRMlYkX6.mjs → renderer-DhnOWnEA.mjs} +3 -3
- package/dist/{renderer-NRMlYkX6.mjs.map → renderer-DhnOWnEA.mjs.map} +1 -1
- package/dist/{renderer-COgwYqev.mjs → renderer-Dhy1XHzz.mjs} +3 -3
- package/dist/{renderer-COgwYqev.mjs.map → renderer-Dhy1XHzz.mjs.map} +1 -1
- package/dist/renderer-DjCvpsV_.mjs +5 -0
- package/dist/{renderer-BfZNIiSv.mjs → renderer-DjJshz9Y.mjs} +2 -2
- package/dist/{renderer-BfZNIiSv.mjs.map → renderer-DjJshz9Y.mjs.map} +1 -1
- package/dist/{renderer-CKo7VR8x.mjs → renderer-DmTUIdus.mjs} +3 -3
- package/dist/{renderer-CKo7VR8x.mjs.map → renderer-DmTUIdus.mjs.map} +1 -1
- package/dist/{renderer-Baw6Utxi.mjs → renderer-Dq7AioJa.mjs} +2 -2
- package/dist/{renderer-Baw6Utxi.mjs.map → renderer-Dq7AioJa.mjs.map} +1 -1
- package/dist/renderer-DrAaM6JD.mjs +5 -0
- package/dist/{renderer-D-GWBoVT.mjs → renderer-Dt4sqNEu.mjs} +2 -2
- package/dist/{renderer-D-GWBoVT.mjs.map → renderer-Dt4sqNEu.mjs.map} +1 -1
- package/dist/{renderer-FYOL5Za6.mjs → renderer-Dtcs4idV.mjs} +3 -3
- package/dist/{renderer-FYOL5Za6.mjs.map → renderer-Dtcs4idV.mjs.map} +1 -1
- package/dist/renderer-Dxlv8LYm.mjs +5 -0
- package/dist/{renderer-D-RhYvVl.mjs → renderer-Gj8SrE2W.mjs} +2 -2
- package/dist/{renderer-D-RhYvVl.mjs.map → renderer-Gj8SrE2W.mjs.map} +1 -1
- package/dist/{renderer-D_j1WKMD.mjs → renderer-KfnXDJS0.mjs} +3 -3
- package/dist/{renderer-D_j1WKMD.mjs.map → renderer-KfnXDJS0.mjs.map} +1 -1
- package/dist/{renderer-Bpm145BW.mjs → renderer-MXVlg4p5.mjs} +3 -3
- package/dist/{renderer-Bpm145BW.mjs.map → renderer-MXVlg4p5.mjs.map} +1 -1
- package/dist/{renderer-Nnmi8Gt6.mjs → renderer-N2b6QZ1E.mjs} +3 -3
- package/dist/{renderer-Nnmi8Gt6.mjs.map → renderer-N2b6QZ1E.mjs.map} +1 -1
- package/dist/renderer-Pb43OO2t.mjs +5 -0
- package/dist/{renderer-Ca1KjNCO.mjs → renderer-Q7gDzm8c.mjs} +2 -2
- package/dist/{renderer-Ca1KjNCO.mjs.map → renderer-Q7gDzm8c.mjs.map} +1 -1
- package/dist/{renderer-D2wNFNRf.mjs → renderer-RCiANtRV.mjs} +2 -2
- package/dist/{renderer-D2wNFNRf.mjs.map → renderer-RCiANtRV.mjs.map} +1 -1
- package/dist/{renderer-Cqb7PGrI.mjs → renderer-Sig9nZcI.mjs} +2 -2
- package/dist/renderer-VQbm-cGr.mjs +5 -0
- package/dist/{renderer-W1bVNVR6.mjs → renderer-fabBgwQX.mjs} +3 -3
- package/dist/{renderer-W1bVNVR6.mjs.map → renderer-fabBgwQX.mjs.map} +1 -1
- package/dist/{renderer-zRq0j6Xy.mjs → renderer-g-0PCNoo.mjs} +3 -3
- package/dist/{renderer-zRq0j6Xy.mjs.map → renderer-g-0PCNoo.mjs.map} +1 -1
- package/dist/{renderer-2PjR3w-q.mjs → renderer-gmHKIbKI.mjs} +3 -3
- package/dist/{renderer-2PjR3w-q.mjs.map → renderer-gmHKIbKI.mjs.map} +1 -1
- package/dist/{renderer-03mYJLgX.mjs → renderer-kVZwiRoK.mjs} +3 -3
- package/dist/{renderer-03mYJLgX.mjs.map → renderer-kVZwiRoK.mjs.map} +1 -1
- package/dist/renderer-oPMypDM1.mjs +5 -0
- package/dist/{renderer-DcAKDAnS.mjs → renderer-p7tgxP-A.mjs} +3 -3
- package/dist/{renderer-DcAKDAnS.mjs.map → renderer-p7tgxP-A.mjs.map} +1 -1
- package/dist/{renderer-jUKdkmG5.mjs → renderer-tvYj306A.mjs} +81 -78
- package/dist/renderer-tvYj306A.mjs.map +1 -0
- package/dist/renderer-xvWGpVyp.mjs +5 -0
- package/dist/renderer-zafZbD6Q.mjs +5 -0
- package/dist/{renderers-CP8CFWDs-CshljORp.mjs → renderers-CP8CFWDs-DLjtjrwx.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-CshljORp.mjs.map → renderers-CP8CFWDs-DLjtjrwx.mjs.map} +1 -1
- package/dist/sam/index.d.mts +2 -2
- package/dist/sam/index.mjs +1 -1
- package/dist/signals/index.d.mts +4 -4
- package/dist/signals/index.mjs +4 -4
- package/dist/{src-BU6vm9sP-DdTHmCr4.mjs → src-B23p_eh7-Cj6-lvV6.mjs} +293 -6
- package/dist/src-B23p_eh7-Cj6-lvV6.mjs.map +1 -0
- package/dist/{src-Dy4gnc6w.mjs → src-CoHAjviq.mjs} +1349 -177
- package/dist/src-CoHAjviq.mjs.map +1 -0
- package/dist/storage/index.mjs +1 -1
- package/package.json +63 -60
- package/dist/dist--Uu5bQ_6.mjs.map +0 -1
- package/dist/dist-CiTgmfUw.mjs.map +0 -1
- package/dist/fonts-OW3yAfO5.mjs.map +0 -1
- package/dist/index-9xte4JgL.d.mts.map +0 -1
- package/dist/index-Bv7gxGK1.d.mts.map +0 -1
- package/dist/index-C5sgRLlG.d.mts.map +0 -1
- package/dist/index-C7-p9zwU.d.mts.map +0 -1
- package/dist/index-CRaydvLi.d.mts.map +0 -1
- package/dist/index-D1FqV1eu.d.mts.map +0 -1
- package/dist/preview-D7BGmE1E.mjs +0 -2446
- package/dist/preview-D7BGmE1E.mjs.map +0 -1
- package/dist/preview-engine/chunk-5DZTPUMH.mjs +0 -2568
- package/dist/preview-engine/chunk-NCQHOGZK.mjs +0 -3
- package/dist/preview-engine/chunk-PH3UUX6A.mjs +0 -138
- package/dist/preview-engine/chunk-UPZURPJY.mjs +0 -2227
- package/dist/preview-engine/renderers-DLJOA3BM.mjs +0 -228
- package/dist/program-tFKCWU2j.mjs.map +0 -1
- package/dist/renderer-6_bzbbXt.mjs +0 -5
- package/dist/renderer-8M-9G6F_.mjs +0 -5
- package/dist/renderer-B5OzKvF8.mjs +0 -5
- package/dist/renderer-BBCZ2qbE.mjs +0 -5
- package/dist/renderer-BChbxCux.mjs +0 -5
- package/dist/renderer-BGeMPr8C.mjs +0 -5
- package/dist/renderer-BPQ8Pkjb.mjs +0 -5
- package/dist/renderer-BTRpA3HD.mjs +0 -5
- package/dist/renderer-BVIXKfbC.mjs.map +0 -1
- package/dist/renderer-BVsECSn-.mjs +0 -5
- package/dist/renderer-Bgos68gc.mjs +0 -6
- package/dist/renderer-BjHOvoqO.mjs +0 -5
- package/dist/renderer-BjXMPPlV.mjs +0 -5
- package/dist/renderer-Byobxqkv.mjs +0 -5
- package/dist/renderer-CKrsg3EG.mjs +0 -5
- package/dist/renderer-Cj875NuH.mjs +0 -5
- package/dist/renderer-CnmzJoMv.mjs +0 -5
- package/dist/renderer-CtklDaMg.mjs +0 -5
- package/dist/renderer-D1tK3in_.mjs +0 -5
- package/dist/renderer-D2yc9P61.mjs +0 -5
- package/dist/renderer-D4v-JvSr.mjs +0 -5
- package/dist/renderer-D5yp74NL.mjs +0 -3
- package/dist/renderer-D7WRWDwB.mjs +0 -5
- package/dist/renderer-DGvA0tdB.mjs +0 -5
- package/dist/renderer-DO7v5Sdm.mjs +0 -5
- package/dist/renderer-DRVvt7-V.mjs +0 -5
- package/dist/renderer-DYMCd3jL.mjs +0 -5
- package/dist/renderer-DmHKw-MM.mjs +0 -5
- package/dist/renderer-DoDsuZ6G.mjs +0 -5
- package/dist/renderer-EpgclS70.mjs +0 -5
- package/dist/renderer-GroKiYyK.mjs +0 -5
- package/dist/renderer-MQ5K_xIS.mjs +0 -5
- package/dist/renderer-U43SflML.mjs +0 -5
- package/dist/renderer-UqOmBgCv.mjs +0 -5
- package/dist/renderer-XLULgJM0.mjs +0 -5
- package/dist/renderer-jUKdkmG5.mjs.map +0 -1
- package/dist/renderer-lNjxY1GG.mjs +0 -5
- package/dist/renderer-ukufL7pl.mjs +0 -5
- package/dist/renderer-wb0NCKdF.mjs +0 -5
- package/dist/src-BU6vm9sP-DdTHmCr4.mjs.map +0 -1
- package/dist/src-Dy4gnc6w.mjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createReadStream, createWriteStream, existsSync } from "node:fs";
|
|
2
2
|
import { dirname, join, relative, sep } from "node:path";
|
|
3
|
-
import { mkdir, open, readFile, rename, rm } from "node:fs/promises";
|
|
4
3
|
import { createHash, randomBytes } from "node:crypto";
|
|
4
|
+
import { mkdir, open, readFile, rename, rm } from "node:fs/promises";
|
|
5
5
|
import { AwsClient } from "aws4fetch";
|
|
6
6
|
import { Readable, Transform } from "node:stream";
|
|
7
7
|
import { pipeline } from "node:stream/promises";
|
|
@@ -59,7 +59,7 @@ async function downloadOnce(url, dest, expected, options) {
|
|
|
59
59
|
let size = 0;
|
|
60
60
|
const tap = new Transform({ transform(chunk, _encoding, done) {
|
|
61
61
|
size += chunk.length;
|
|
62
|
-
if (size > expected.size) return done(new AssetError("ASSET_HASH_MISMATCH", `${shown} is larger than
|
|
62
|
+
if (size > expected.size) return done(new AssetError("ASSET_HASH_MISMATCH", `${shown} is larger than its pinned ${expected.size} bytes`));
|
|
63
63
|
hash.update(chunk);
|
|
64
64
|
done(null, chunk);
|
|
65
65
|
} });
|
|
@@ -69,7 +69,7 @@ async function downloadOnce(url, dest, expected, options) {
|
|
|
69
69
|
throw new AssetError("ASSET_DOWNLOAD_FAILED", `${shown}: ${err.message}`, { cause: err });
|
|
70
70
|
});
|
|
71
71
|
const sha256 = hash.digest("hex");
|
|
72
|
-
if (size !== expected.size || sha256 !== expected.sha256) throw new AssetError("ASSET_HASH_MISMATCH", `${shown} is not the file
|
|
72
|
+
if (size !== expected.size || sha256 !== expected.sha256) throw new AssetError("ASSET_HASH_MISMATCH", `${shown} is not the pinned file (got ${size} bytes, sha256 ${sha256.slice(0, 12)}…; expected ${expected.size} bytes, ${expected.sha256.slice(0, 12)}…)`);
|
|
73
73
|
await rename(temp, dest);
|
|
74
74
|
} finally {
|
|
75
75
|
await rm(temp, { force: true });
|
|
@@ -499,4 +499,4 @@ async function openAssetLocator(dir, options = {}) {
|
|
|
499
499
|
|
|
500
500
|
//#endregion
|
|
501
501
|
export { redactQuery as S, parseStorage as _, SHA256 as a, readProjectManifest as b, credentialEnvNames as c, findProjectDir as d, hashFile as f, parseAssets as g, openAssetLocator as h, REMOTE_NAME as i, credentialsFromEnv as l, objectKey as m, Bucket as n, StorageError as o, isAssetPath as p, ManifestError as r, contentType as s, AssetError as t, downloadVerified as u, pickRemote as v, readUrl as x, publicUrl as y };
|
|
502
|
-
//# sourceMappingURL=dist-
|
|
502
|
+
//# sourceMappingURL=dist-f1zkl69f.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dist-f1zkl69f.mjs","names":["path"],"sources":["../../storage/dist/index.mjs"],"sourcesContent":["import { createHash, randomBytes } from \"node:crypto\";\nimport { mkdir, open, readFile, rename, rm } from \"node:fs/promises\";\nimport { AwsClient } from \"aws4fetch\";\nimport { createReadStream, createWriteStream, existsSync } from \"node:fs\";\nimport { dirname, join, relative, sep } from \"node:path\";\nimport { Readable, Transform } from \"node:stream\";\nimport { pipeline } from \"node:stream/promises\";\n\n//#region src/files.ts\n/**\n* Hashing and verified downloads: every byte an asset contributes is checked\n* against the sha256 its manifest entry pins.\n*/\nvar AssetError = class extends Error {\n\tname = \"AssetError\";\n\tconstructor(code, message, options) {\n\t\tsuper(message, options);\n\t\tthis.code = code;\n\t}\n};\nasync function hashFile(path) {\n\tconst hash = createHash(\"sha256\");\n\tlet size = 0;\n\tfor await (const chunk of createReadStream(path)) {\n\t\thash.update(chunk);\n\t\tsize += chunk.length;\n\t}\n\treturn {\n\t\tsha256: hash.digest(\"hex\"),\n\t\tsize\n\t};\n}\n/**\n* Downloads `url` to `dest` through a temporary file, and only renames it\n* into place once its size and sha256 match `expected`.\n*/\nasync function downloadVerified(url, dest, expected, options = {}) {\n\tconst attempts = options.attempts ?? 3;\n\tfor (let attempt = 1;; attempt++) try {\n\t\tawait downloadOnce(url, dest, expected, options);\n\t\treturn;\n\t} catch (err) {\n\t\tif (!(err instanceof AssetError ? err.code === \"ASSET_DOWNLOAD_FAILED\" : !options.signal?.aborted) || attempt >= attempts) throw err;\n\t\tawait new Promise((r) => setTimeout(r, 500 * 2 ** attempt));\n\t}\n}\nasync function downloadOnce(url, dest, expected, options) {\n\tconst shown = redactQuery(url);\n\tconst res = await (options.fetch ?? fetch)(url, { signal: options.signal });\n\tif (!res.ok || !res.body) {\n\t\tawait res.body?.cancel();\n\t\tif (res.status === 404) throw new AssetError(\"ASSET_NOT_FOUND\", `${shown} returned 404`);\n\t\tif (res.status === 401 || res.status === 403) throw new AssetError(\"ASSET_FORBIDDEN\", `${shown} returned ${res.status}: the bucket isn't public there, or the signed URL expired`);\n\t\tthrow new AssetError(\"ASSET_DOWNLOAD_FAILED\", `${shown} returned ${res.status}`);\n\t}\n\tawait mkdir(dirname(dest), { recursive: true });\n\tconst temp = `${dest}.${randomBytes(4).toString(\"hex\")}.part`;\n\tconst hash = createHash(\"sha256\");\n\tlet size = 0;\n\tconst tap = new Transform({ transform(chunk, _encoding, done) {\n\t\tsize += chunk.length;\n\t\tif (size > expected.size) return done(new AssetError(\"ASSET_HASH_MISMATCH\", `${shown} is larger than its pinned ${expected.size} bytes`));\n\t\thash.update(chunk);\n\t\tdone(null, chunk);\n\t} });\n\ttry {\n\t\tawait pipeline(Readable.fromWeb(res.body), tap, createWriteStream(temp), { signal: options.signal }).catch((err) => {\n\t\t\tif (err instanceof AssetError || options.signal?.aborted) throw err;\n\t\t\tthrow new AssetError(\"ASSET_DOWNLOAD_FAILED\", `${shown}: ${err.message}`, { cause: err });\n\t\t});\n\t\tconst sha256 = hash.digest(\"hex\");\n\t\tif (size !== expected.size || sha256 !== expected.sha256) throw new AssetError(\"ASSET_HASH_MISMATCH\", `${shown} is not the pinned file (got ${size} bytes, sha256 ${sha256.slice(0, 12)}…; expected ${expected.size} bytes, ${expected.sha256.slice(0, 12)}…)`);\n\t\tawait rename(temp, dest);\n\t} finally {\n\t\tawait rm(temp, { force: true });\n\t}\n}\n/** Signed URLs carry credentials in the query: never print them. */\nfunction redactQuery(url) {\n\tconst q = url.indexOf(\"?\");\n\treturn q < 0 ? url : `${url.slice(0, q)}?…`;\n}\nconst TYPES = {\n\tmp4: \"video/mp4\",\n\tm4v: \"video/mp4\",\n\tmov: \"video/quicktime\",\n\twebm: \"video/webm\",\n\tmkv: \"video/x-matroska\",\n\tmp3: \"audio/mpeg\",\n\tm4a: \"audio/mp4\",\n\taac: \"audio/aac\",\n\twav: \"audio/wav\",\n\tflac: \"audio/flac\",\n\togg: \"audio/ogg\",\n\tpng: \"image/png\",\n\tjpg: \"image/jpeg\",\n\tjpeg: \"image/jpeg\",\n\twebp: \"image/webp\",\n\tavif: \"image/avif\",\n\tgif: \"image/gif\",\n\tsvg: \"image/svg+xml\",\n\tjson: \"application/json\",\n\tlottie: \"application/zip\",\n\tglb: \"model/gltf-binary\",\n\tgltf: \"model/gltf+json\",\n\tttf: \"font/ttf\",\n\totf: \"font/otf\",\n\twoff2: \"font/woff2\",\n\tcube: \"text/plain\",\n\tsrt: \"text/plain\",\n\tvtt: \"text/vtt\"\n};\n/** The Content-Type a CDN serves the file with. */\nfunction contentType(path) {\n\treturn TYPES[path.slice(path.lastIndexOf(\".\") + 1).toLowerCase()] ?? \"application/octet-stream\";\n}\n\n//#endregion\n//#region src/manifest.ts\nconst REMOTE_NAME = /^[A-Za-z0-9][\\w-]{0,63}$/;\nconst SHA256 = /^[0-9a-f]{64}$/;\nconst FILE$1 = \"framefields.json\";\nvar ManifestError = class extends Error {\n\tname = \"ManifestError\";\n};\n/** Validates `storage`; errors name the remote and field at fault. */\nfunction parseStorage(value) {\n\tif (!isRecord(value) || !isRecord(value.remotes)) throw new ManifestError(`${FILE$1}: \"storage\" needs \"remotes\", e.g. { \"remotes\": { \"media\": { \"endpoint\": \"https://<account>.r2.cloudflarestorage.com\", \"bucket\": \"films\" } } }`);\n\tconst remotes = {};\n\tfor (const [name, spec] of Object.entries(value.remotes)) remotes[name] = parseRemote(name, spec);\n\tconst names = Object.keys(remotes);\n\tif (names.length === 0) throw new ManifestError(`${FILE$1}: \"storage.remotes\" is empty`);\n\tif (value.default !== void 0 && !names.includes(value.default)) throw new ManifestError(`${FILE$1}: \"storage.default\" must name a remote (${names.join(\", \")})`);\n\treturn {\n\t\t...typeof value.default === \"string\" && { default: value.default },\n\t\tremotes\n\t};\n}\nfunction parseRemote(name, spec) {\n\tconst fail = (message) => {\n\t\tthrow new ManifestError(`${FILE$1}: storage.remotes.${name} ${message}`);\n\t};\n\tif (!REMOTE_NAME.test(name)) fail(\"has an invalid name: use letters, digits, - and _ (at most 64)\");\n\tif (!isRecord(spec)) fail(\"must be an object with an endpoint and a bucket\");\n\tconst s = spec;\n\tif (!isHttpUrl(s.endpoint)) fail(\"needs \\\"endpoint\\\": the S3 API URL, e.g. \\\"https://<account>.r2.cloudflarestorage.com\\\"\");\n\tif (typeof s.bucket !== \"string\" || !/^[a-z0-9][a-z0-9.-]{1,62}$/.test(s.bucket)) fail(\"needs \\\"bucket\\\": the bucket name\");\n\tif (s.region !== void 0 && typeof s.region !== \"string\") fail(\"\\\"region\\\" must be a string\");\n\tif (s.prefix !== void 0 && (typeof s.prefix !== \"string\" || s.prefix.startsWith(\"/\") || s.prefix.split(\"/\").includes(\"..\"))) fail(\"\\\"prefix\\\" must be a key prefix such as \\\"films/launch/\\\"\");\n\tif (s.publicUrl !== void 0 && !isHttpUrl(s.publicUrl)) fail(\"\\\"publicUrl\\\" must be an http(s) URL, e.g. \\\"https://media.example.com\\\"\");\n\treturn {\n\t\tendpoint: s.endpoint,\n\t\tbucket: s.bucket,\n\t\t...s.region !== void 0 && { region: s.region },\n\t\t...typeof s.prefix === \"string\" && s.prefix && { prefix: normalizePrefix(s.prefix) },\n\t\t...s.publicUrl !== void 0 && { publicUrl: s.publicUrl }\n\t};\n}\n/** Validates `assets`; errors name the path and field at fault. */\nfunction parseAssets(value, storage) {\n\tif (!isRecord(value)) throw new ManifestError(`${FILE$1}: \"assets\" must map project paths to { \"sha256\", \"size\" }`);\n\tconst out = {};\n\tfor (const [path, entry] of Object.entries(value)) {\n\t\tconst fail = (message) => {\n\t\t\tthrow new ManifestError(`${FILE$1}: assets[\"${path}\"] ${message}`);\n\t\t};\n\t\tif (!isAssetPath(path)) fail(\"must be a path inside the project, e.g. assets/footage/intro.mp4\");\n\t\tif (!isRecord(entry)) fail(\"must be { \\\"sha256\\\", \\\"size\\\" }\");\n\t\tconst e = entry;\n\t\tif (typeof e.sha256 !== \"string\" || !SHA256.test(e.sha256)) fail(\"needs \\\"sha256\\\": 64 lowercase hex digits\");\n\t\tif (typeof e.size !== \"number\" || !Number.isSafeInteger(e.size) || e.size < 0) fail(\"needs \\\"size\\\" in bytes\");\n\t\tif (e.url !== void 0 && !isHttpUrl(e.url)) fail(\"\\\"url\\\" must be an http(s) URL\");\n\t\tif (e.remote !== void 0) {\n\t\t\tif (typeof e.remote !== \"string\" || !storage?.remotes[e.remote]) fail(`\"remote\" must name a remote in \"storage.remotes\"`);\n\t\t} else if (e.url === void 0 && !storage) fail(\"needs a \\\"url\\\", or a \\\"storage\\\" section with a remote to hold it\");\n\t\tout[path] = {\n\t\t\tsha256: e.sha256,\n\t\t\tsize: e.size,\n\t\t\t...e.remote !== void 0 && { remote: e.remote },\n\t\t\t...e.url !== void 0 && { url: e.url }\n\t\t};\n\t}\n\treturn out;\n}\n/** The remote an asset (or a new one, without `name`) belongs to. */\nfunction pickRemote(storage, name) {\n\tconst names = Object.keys(storage?.remotes ?? {});\n\tconst chosen = name ?? storage?.default ?? (names.length === 1 ? names[0] : void 0);\n\tif (!storage || names.length === 0) throw new ManifestError(`${FILE$1} has no \"storage\" remotes: add one (an R2 or S3 bucket) first`);\n\tif (!chosen) throw new ManifestError(`${FILE$1}: name the remote (${names.join(\", \")}), or set \"storage.default\"`);\n\tconst remote = storage.remotes[chosen];\n\tif (!remote) throw new ManifestError(`${FILE$1}: no remote named \"${chosen}\" (${names.join(\", \")})`);\n\treturn {\n\t\tname: chosen,\n\t\tremote\n\t};\n}\n/** The object key holding `sha256`: `<prefix>sha256/ab/<hash>`. */\nfunction objectKey(sha256, prefix = \"\") {\n\treturn `${prefix}sha256/${sha256.slice(0, 2)}/${sha256}`;\n}\n/** The asset's URL on the remote's public domain, if it has one. */\nfunction publicUrl(remote, sha256) {\n\tif (!remote.publicUrl) return void 0;\n\treturn `${remote.publicUrl.replace(/\\/+$/, \"\")}/${objectKey(sha256, remote.prefix)}`;\n}\n/**\n* Where to download an asset without credentials: a signed URL handed in\n* (`signed`, by sha256), its own `url`, or its remote's public domain.\n* Undefined means the asset is on a private remote and needs a signature.\n*/\nfunction readUrl(entry, storage, signed) {\n\tconst given = signed?.[entry.sha256];\n\tif (given) return given;\n\tif (entry.url) return entry.url;\n\tif (!storage) return void 0;\n\treturn publicUrl(pickRemote(storage, entry.remote).remote, entry.sha256);\n}\nfunction isAssetPath(path) {\n\treturn path.length > 0 && path.length <= 1024 && !path.startsWith(\"/\") && !path.includes(\"\\\\\") && !path.split(\"/\").some((part) => part === \"\" || part === \".\" || part === \"..\");\n}\nfunction normalizePrefix(prefix) {\n\treturn prefix.endsWith(\"/\") ? prefix : `${prefix}/`;\n}\nfunction isHttpUrl(value) {\n\tif (typeof value !== \"string\") return false;\n\ttry {\n\t\tconst { protocol } = new URL(value);\n\t\treturn protocol === \"https:\" || protocol === \"http:\";\n\t} catch {\n\t\treturn false;\n\t}\n}\nfunction isRecord(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\n//#endregion\n//#region src/bucket.ts\n/**\n* The few S3 calls asset storage needs (HEAD, PUT, multipart upload,\n* presigned GET), signed with SigV4 by aws4fetch. Works with any\n* S3-compatible service; R2 is the one to pick, since it charges no egress.\n*/\n/**\n* Keys for `remote` from the environment:\n* `FRAMEFIELDS_STORAGE_<REMOTE>_ACCESS_KEY_ID` / `…_SECRET_ACCESS_KEY`\n* (the remote's name upper-cased, `-` as `_`), else the standard\n* `AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`.\n*/\nfunction credentialsFromEnv(remote, env = process.env) {\n\tconst scope = `FRAMEFIELDS_STORAGE_${remote.toUpperCase().replace(/-/g, \"_\")}`;\n\tconst own = env[`${scope}_ACCESS_KEY_ID`];\n\tconst ownSecret = env[`${scope}_SECRET_ACCESS_KEY`];\n\tif (own && ownSecret) return {\n\t\taccessKeyId: own,\n\t\tsecretAccessKey: ownSecret\n\t};\n\tconst id = env.AWS_ACCESS_KEY_ID;\n\tconst secret = env.AWS_SECRET_ACCESS_KEY;\n\tif (!id || !secret) return void 0;\n\treturn {\n\t\taccessKeyId: id,\n\t\tsecretAccessKey: secret,\n\t\t...env.AWS_SESSION_TOKEN && { sessionToken: env.AWS_SESSION_TOKEN }\n\t};\n}\n/** The env vars `credentialsFromEnv` reads for `remote`, for messages. */\nfunction credentialEnvNames(remote) {\n\tconst scope = `FRAMEFIELDS_STORAGE_${remote.toUpperCase().replace(/-/g, \"_\")}`;\n\treturn [`${scope}_ACCESS_KEY_ID`, `${scope}_SECRET_ACCESS_KEY`];\n}\nvar StorageError = class extends Error {\n\tname = \"StorageError\";\n\tconstructor(message, status) {\n\t\tsuper(message);\n\t\tthis.status = status;\n\t}\n};\nconst MiB = 1024 * 1024;\n/**\n* Content-addressed objects never change: CDNs and browsers may keep them\n* forever, which is what makes a custom domain in front of the bucket cheap.\n*/\nconst IMMUTABLE = \"public, max-age=31536000, immutable\";\n/** One remote's bucket, signed with `credentials`. */\nvar Bucket = class {\n\taws;\n\tfetch;\n\tconstructor(remote, credentials, options = {}) {\n\t\tthis.remote = remote;\n\t\tthis.options = options;\n\t\tthis.aws = new AwsClient({\n\t\t\t...credentials,\n\t\t\tservice: \"s3\",\n\t\t\tregion: remote.region ?? \"auto\",\n\t\t\tretries: 3\n\t\t});\n\t\tthis.fetch = options.fetch ?? fetch;\n\t}\n\tkeyFor(sha256) {\n\t\treturn objectKey(sha256, this.remote.prefix);\n\t}\n\t/** Whether the bucket holds `sha256` at the expected size. */\n\tasync has(sha256, size) {\n\t\tconst res = await this.send(this.keyFor(sha256), { method: \"HEAD\" });\n\t\tif (res.status === 404) return false;\n\t\tif (!res.ok) throw await this.failure(\"HEAD\", res);\n\t\treturn Number(res.headers.get(\"content-length\")) === size;\n\t}\n\t/**\n\t* Uploads `file` (already hashed) under its content key. The bucket\n\t* checks every byte against the sha256 sent with it.\n\t*/\n\tasync upload(file, digest, onProgress) {\n\t\tconst key = this.keyFor(digest.sha256);\n\t\tconst headers = {\n\t\t\t\"content-type\": contentType(file),\n\t\t\t\"cache-control\": IMMUTABLE\n\t\t};\n\t\tconst threshold = this.options.multipartThreshold ?? 64 * MiB;\n\t\tif (digest.size <= threshold) {\n\t\t\tconst handle = await open(file);\n\t\t\ttry {\n\t\t\t\tconst body = await handle.readFile();\n\t\t\t\tawait this.put(key, body, digest.sha256, headers);\n\t\t\t} finally {\n\t\t\t\tawait handle.close();\n\t\t\t}\n\t\t\tonProgress?.({\n\t\t\t\tsent: digest.size,\n\t\t\t\ttotal: digest.size\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tawait this.uploadParts(file, key, digest.size, headers, onProgress);\n\t}\n\t/** A GET URL anyone can use until it expires (at most 7 days). */\n\tasync presign(sha256, expiresSec = 86400) {\n\t\tconst url = new URL(this.url(this.keyFor(sha256)));\n\t\turl.searchParams.set(\"X-Amz-Expires\", String(Math.min(expiresSec, 604800)));\n\t\treturn (await this.aws.sign(url, {\n\t\t\tmethod: \"GET\",\n\t\t\taws: { signQuery: true }\n\t\t})).url;\n\t}\n\tasync put(key, body, sha256, headers, query = \"\") {\n\t\tconst res = await this.send(key, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody,\n\t\t\theaders: {\n\t\t\t\t...headers,\n\t\t\t\t\"x-amz-content-sha256\": sha256\n\t\t\t},\n\t\t\tquery\n\t\t});\n\t\tif (!res.ok) throw await this.failure(\"PUT\", res);\n\t\treturn res;\n\t}\n\tasync uploadParts(file, key, size, headers, onProgress) {\n\t\tconst partSize = Math.max(this.options.partSize ?? 16 * MiB, Math.ceil(size / 1e4), 5 * MiB);\n\t\tconst created = await this.send(key, {\n\t\t\tmethod: \"POST\",\n\t\t\tquery: \"uploads=\",\n\t\t\theaders\n\t\t});\n\t\tif (!created.ok) throw await this.failure(\"CreateMultipartUpload\", created);\n\t\tconst uploadId = /<UploadId>([^<]+)<\\/UploadId>/.exec(await created.text())?.[1];\n\t\tif (!uploadId) throw new StorageError(\"CreateMultipartUpload returned no UploadId\");\n\t\tconst id = encodeURIComponent(uploadId);\n\t\tconst count = Math.ceil(size / partSize);\n\t\tconst etags = new Array(count);\n\t\tconst handle = await open(file);\n\t\tlet next = 0;\n\t\tlet sent = 0;\n\t\tconst worker = async () => {\n\t\t\twhile (next < count) {\n\t\t\t\tconst index = next++;\n\t\t\t\tconst length = Math.min(partSize, size - index * partSize);\n\t\t\t\tconst chunk = Buffer.alloc(length);\n\t\t\t\tawait handle.read(chunk, 0, length, index * partSize);\n\t\t\t\tconst sha = createHash(\"sha256\").update(chunk).digest(\"hex\");\n\t\t\t\tetags[index] = (await this.put(key, chunk, sha, {}, `partNumber=${index + 1}&uploadId=${id}`)).headers.get(\"etag\") ?? \"\";\n\t\t\t\tsent += length;\n\t\t\t\tonProgress?.({\n\t\t\t\t\tsent,\n\t\t\t\t\ttotal: size\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\ttry {\n\t\t\tawait Promise.all(Array.from({ length: Math.min(this.options.concurrency ?? 4, count) }, worker));\n\t\t\tconst body = `<CompleteMultipartUpload>${etags.map((etag, i) => `<Part><PartNumber>${i + 1}</PartNumber><ETag>${escapeXml(etag)}</ETag></Part>`).join(\"\")}</CompleteMultipartUpload>`;\n\t\t\tconst done = await this.send(key, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\tquery: `uploadId=${id}`,\n\t\t\t\tbody,\n\t\t\t\theaders: { \"content-type\": \"application/xml\" }\n\t\t\t});\n\t\t\tconst text = await done.text();\n\t\t\tif (!done.ok || text.includes(\"<Error>\")) throw new StorageError(`CompleteMultipartUpload failed (${done.status}): ${errorCode(text)}`, done.status);\n\t\t} catch (err) {\n\t\t\tawait this.send(key, {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\tquery: `uploadId=${id}`\n\t\t\t}).catch(() => void 0);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tawait handle.close();\n\t\t}\n\t}\n\turl(key, query = \"\") {\n\t\tconst base = this.remote.endpoint.replace(/\\/+$/, \"\");\n\t\tconst path = key.split(\"/\").map(encodeURIComponent).join(\"/\");\n\t\treturn `${base}/${this.remote.bucket}/${path}${query ? `?${query}` : \"\"}`;\n\t}\n\tasync send(key, init) {\n\t\tconst signed = await this.aws.sign(this.url(key, init.query), {\n\t\t\tmethod: init.method,\n\t\t\theaders: init.headers,\n\t\t\tbody: init.body\n\t\t});\n\t\treturn this.fetch(signed);\n\t}\n\tasync failure(what, res) {\n\t\tconst text = await res.text().catch(() => \"\");\n\t\tconst hint = res.status === 403 ? \": check the remote's keys and that they may write to the bucket\" : res.status === 404 ? \": check the remote's endpoint and bucket\" : \"\";\n\t\treturn new StorageError(`${what} ${this.remote.bucket} failed (${res.status} ${errorCode(text)})${hint}`, res.status);\n\t}\n};\nfunction errorCode(xml) {\n\treturn /<Code>([^<]+)<\\/Code>/.exec(xml)?.[1] ?? \"no error code\";\n}\nfunction escapeXml(text) {\n\treturn text.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/\"/g, \""\");\n}\n\n//#endregion\n//#region src/locate.ts\n/**\n* Finding a project's pinned assets from file paths: what a preview or an\n* engine asks for is an absolute path, and a pinned file that isn't on disk\n* is read from its bucket instead.\n*/\nconst FILE = \"framefields.json\";\n/** The nearest folder at or above `dir` holding a framefields.json. */\nfunction findProjectDir(dir) {\n\tfor (let at = dir;; at = dirname(at)) {\n\t\tif (existsSync(join(at, FILE))) return at;\n\t\tif (dirname(at) === at) return void 0;\n\t}\n}\n/** The `storage` and `assets` of the project at `dir`; undefined without assets. */\nasync function readProjectManifest(dir) {\n\tconst file = join(dir, FILE);\n\tif (!existsSync(file)) return void 0;\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(await readFile(file, \"utf8\"));\n\t} catch (err) {\n\t\tthrow new ManifestError(`${FILE} is not valid JSON: ${err.message}`);\n\t}\n\tif (raw.assets === void 0) return void 0;\n\tconst storage = raw.storage === void 0 ? void 0 : parseStorage(raw.storage);\n\treturn {\n\t\tstorage,\n\t\tassets: parseAssets(raw.assets, storage)\n\t};\n}\n/** Signatures last 6 h and are reused for 5, so long sessions keep working. */\nconst SIGNED_SEC = 6 * 3600;\nconst REUSE_MS = 5 * 3600 * 1e3;\n/**\n* Pinned-asset lookup for the project at or above `dir`, or undefined when\n* it pins none.\n*/\nasync function openAssetLocator(dir, options = {}) {\n\tconst root = findProjectDir(dir);\n\tconst manifest = root && await readProjectManifest(root);\n\tif (!root || !manifest) return void 0;\n\tconst signed = /* @__PURE__ */ new Map();\n\tconst entry = (file) => {\n\t\tconst rel = relative(root, file).split(sep).join(\"/\");\n\t\treturn rel.startsWith(\"../\") ? void 0 : manifest.assets[rel];\n\t};\n\treturn {\n\t\troot,\n\t\tentry,\n\t\tasync url(file) {\n\t\t\tconst pinned = entry(file);\n\t\t\tif (!pinned) return void 0;\n\t\t\tconst open$1 = readUrl(pinned, manifest.storage);\n\t\t\tif (open$1) return open$1;\n\t\t\tconst cached = signed.get(pinned.sha256);\n\t\t\tif (cached && Date.now() - cached.at < REUSE_MS) return cached.url;\n\t\t\tconst { name, remote } = pickRemote(manifest.storage, pinned.remote);\n\t\t\tconst keys = credentialsFromEnv(name, options.env);\n\t\t\tif (!keys) return void 0;\n\t\t\tconst url = await new Bucket(remote, keys, { fetch: options.fetch }).presign(pinned.sha256, SIGNED_SEC);\n\t\t\tsigned.set(pinned.sha256, {\n\t\t\t\turl,\n\t\t\t\tat: Date.now()\n\t\t\t});\n\t\t\treturn url;\n\t\t}\n\t};\n}\n\n//#endregion\nexport { AssetError, Bucket, ManifestError, REMOTE_NAME, SHA256, StorageError, contentType, credentialEnvNames, credentialsFromEnv, downloadVerified, findProjectDir, hashFile, isAssetPath, objectKey, openAssetLocator, parseAssets, parseStorage, pickRemote, publicUrl, readProjectManifest, readUrl, redactQuery };\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { C as sam3Run, E as validateSam3Prompts, S as sam3Revision, T as validateSam2Prompts, _ as sam3EncoderFiles, a as SAM_MODELS, b as sam3Position, c as Sam3MemoryBank, d as assertSamLicenseAccepted, f as decodeSam2Mask, g as sam3DenseDecoder, h as sam2Tokens, i as SAM_LICENSE_TERMS_URL, l as Sam3TextSelector, m as sam2Revision, n as SAM3_ENCODER, o as Sam2MemoryBank, p as ensureSamModelsRegistered, r as SAM_LICENSE, s as Sam2Tracker, t as SAM2_EXPORTS, u as Sam3Tracker, v as sam3Floats, w as sam3SupportGraphs, x as sam3Precision, y as sam3Mask } from "./dist-
|
|
1
|
+
import { C as sam3Run, E as validateSam3Prompts, S as sam3Revision, T as validateSam2Prompts, _ as sam3EncoderFiles, a as SAM_MODELS, b as sam3Position, c as Sam3MemoryBank, d as assertSamLicenseAccepted, f as decodeSam2Mask, g as sam3DenseDecoder, h as sam2Tokens, i as SAM_LICENSE_TERMS_URL, l as Sam3TextSelector, m as sam2Revision, n as SAM3_ENCODER, o as Sam2MemoryBank, p as ensureSamModelsRegistered, r as SAM_LICENSE, s as Sam2Tracker, t as SAM2_EXPORTS, u as Sam3Tracker, v as sam3Floats, w as sam3SupportGraphs, x as sam3Precision, y as sam3Mask } from "./dist-BtI6ukB5.mjs";
|
|
2
2
|
|
|
3
3
|
export { SAM2_EXPORTS, SAM3_ENCODER, SAM_LICENSE, SAM_LICENSE_TERMS_URL, SAM_MODELS, Sam2MemoryBank, Sam2Tracker, Sam3MemoryBank, Sam3TextSelector, Sam3Tracker, assertSamLicenseAccepted, decodeSam2Mask, ensureSamModelsRegistered, sam2Revision, sam2Tokens, sam3DenseDecoder, sam3EncoderFiles, sam3Floats, sam3Mask, sam3Position, sam3Precision, sam3Revision, sam3Run, sam3SupportGraphs, validateSam2Prompts, validateSam3Prompts };
|
package/dist/effects/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../index-C-V6CAhP.mjs";
|
|
2
|
-
import "../index-
|
|
2
|
+
import "../index-s2qQ8ifZ.mjs";
|
|
3
3
|
import "../renderer-DKJOon6y.mjs";
|
|
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-
|
|
4
|
+
import { o as _default$19 } from "../audio-7oqTUi4G.mjs";
|
|
5
|
+
import "../index-CMhkkc56.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-BcxxxwhV.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
1
|
import "../chunk-DOL2i2sR.mjs";
|
|
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-
|
|
2
|
+
import "../dist-XqlFM2a8.mjs";
|
|
3
|
+
import { t as renderers_default$20 } from "../renderer-g-0PCNoo.mjs";
|
|
4
|
+
import { t as renderers_default$1 } from "../renderer-CC4YBJ8Z.mjs";
|
|
5
|
+
import { n as renderers_default$2 } from "../renderer-DOkm0Ycd.mjs";
|
|
6
|
+
import { t as renderers_default$3 } from "../renderer-p7tgxP-A.mjs";
|
|
7
|
+
import { t as renderers_default$4 } from "../renderer-CQDCIsQm.mjs";
|
|
8
|
+
import { t as renderers_default$5 } from "../renderer-COxG2XGf.mjs";
|
|
9
|
+
import { n as renderers_default$6 } from "../renderer-BnVwAObV.mjs";
|
|
10
|
+
import { t as renderers_default$7 } from "../renderer-BPbVb2Q4.mjs";
|
|
11
|
+
import { t as renderers_default$8 } from "../renderer-DmTUIdus.mjs";
|
|
12
|
+
import { t as renderers_default$9 } from "../renderer-fabBgwQX.mjs";
|
|
13
|
+
import { t as renderers_default$10 } from "../renderer-Bb6cvSgh.mjs";
|
|
14
|
+
import { n as renderers_default$11 } from "../renderer-gmHKIbKI.mjs";
|
|
15
|
+
import { t as renderers_default$12 } from "../renderer-KfnXDJS0.mjs";
|
|
16
|
+
import { t as renderers_default$13 } from "../renderer-BiNA2wF0.mjs";
|
|
17
|
+
import { t as renderers_default$14 } from "../renderer-BEKDMxbi.mjs";
|
|
18
|
+
import { t as renderers_default$15 } from "../renderer-B2_tuRfl.mjs";
|
|
19
|
+
import { t as renderers_default$16 } from "../renderer-N2b6QZ1E.mjs";
|
|
20
|
+
import { n as renderers_default$17 } from "../renderer-8gHw3O0P.mjs";
|
|
21
|
+
import { t as renderers_default } from "../renderer-B9lzA0PY.mjs";
|
|
22
|
+
import { n as renderers_default$18 } from "../renderer-BNiwcI3-.mjs";
|
|
23
|
+
import { t as renderers_default$19 } from "../renderer-BXIwDAr_.mjs";
|
|
24
|
+
import { t as renderers_default$21 } from "../renderer-Ch5JvJWl.mjs";
|
|
25
|
+
import { n as renderers_default$22 } from "../renderer-Q7gDzm8c.mjs";
|
|
26
|
+
import { n as renderers_default$23 } from "../renderer-BdppwWC9.mjs";
|
|
27
|
+
import { n as renderers_default$24 } from "../renderer-BUWxlA8T.mjs";
|
|
28
|
+
import { t as renderers_default$26 } from "../renderer-CbbnBLOB.mjs";
|
|
29
|
+
import { t as renderers_default$25 } from "../renderer-B_Hy1W-g.mjs";
|
|
30
|
+
import { t as renderers_default$27 } from "../renderer-COWGWtob.mjs";
|
|
31
|
+
import { n as renderers_default$28 } from "../renderer-CIycc5O-.mjs";
|
|
32
|
+
import { t as renderers_default$29 } from "../renderer-RCiANtRV.mjs";
|
|
33
|
+
import { t as renderers_default$30 } from "../renderer-C8E4XsSg.mjs";
|
|
34
|
+
import { t as renderers_default$31 } from "../renderer-Dq7AioJa.mjs";
|
|
35
|
+
import { t as renderers_default$32 } from "../renderer-Dt4sqNEu.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-DlRMovU5.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 };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Xt as isSignal, y as Effect } from "./dist-C8XSqfTx.mjs";
|
|
2
|
-
import { t as AudioSignal } from "./audio-
|
|
2
|
+
import { t as AudioSignal } from "./audio-6TfPlfl4.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/effects/with-defaults.ts
|
|
5
5
|
function env(name) {
|
|
@@ -2703,4 +2703,4 @@ var Modulate = class extends Effect {
|
|
|
2703
2703
|
|
|
2704
2704
|
//#endregion
|
|
2705
2705
|
export { NoiseGenerator as $, AudioParametricEq as A, Datamosh as B, effectFactories as C, AudioDelay as D, AudioCompressor as E, ChannelSplitter as F, Gooey as G, Dither as H, ColorBalance as I, KenBurns as J, Iridescence as K, ColorKey as L, CRT as M, CameraParallax3D as N, AudioFade as O, ChannelMerger as P, MeshWarp as Q, Contour as R, Vision as S, Ascii as T, ExtractLUT as U, DisplacementMap as V, Flip as W, Liquify as X, LayerStyle as Y, MaskMath as Z, SelectiveColor as _, CustomEffect as a, Posterize as at, TileOffset as b, GradientMap as c, RefineEdge as ct, Levels as d, Rotate as dt, OpArt as et, Modulate as f, StereoPanning as ft, SSAO as g, effectMeta as gt, Relight3D as h, Vignette as ht, Curves as i, Pixelate as it, AudioReverb as j, AudioNoiseGate as k, HalftoneScreen as l, RefractionCaustics3D as lt, PBRGlass as m, Trails as mt, AudioSignalExtractor as n, Painterly as nt, DepthOfField as o, ProceduralVFX as ot, MotionBlur as p, Toon as pt, Kaleidoscope as q, Crop as r, PatchHeal as rt, FilmGrain as s, RGBSplit as st, ApplyLUT as t, Paint as tt, HighPass as u, ResizerScaler as ut, ShadowsHighlights as v, Blur as w, UnsharpMask as x, TemporalDeflicker as y, CornerPin as z };
|
|
2706
|
-
//# sourceMappingURL=effects-
|
|
2706
|
+
//# sourceMappingURL=effects-DlRMovU5.mjs.map
|