framefields 2.13.1 → 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 +5 -5
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-DIvi6hTD.mjs → audio-6TfPlfl4.mjs} +3 -3
- package/dist/{audio-DIvi6hTD.mjs.map → audio-6TfPlfl4.mjs.map} +1 -1
- package/dist/{audio-C4B9p_yq.d.mts → audio-7oqTUi4G.d.mts} +3 -3
- package/dist/{audio-C4B9p_yq.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 +13 -13
- 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-CCrYOkcc.mjs → dist-COOpgG9G.mjs} +4 -3
- package/dist/{dist-CCrYOkcc.mjs.map → dist-COOpgG9G.mjs.map} +1 -1
- package/dist/{dist-DtPPPsZV.mjs → dist-XqlFM2a8.mjs} +14063 -5308
- 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 +5 -5
- package/dist/effects/index.mjs +35 -35
- package/dist/{effects-B-L3rLs6.mjs → effects-DlRMovU5.mjs} +2 -2
- package/dist/{effects-B-L3rLs6.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-k5ll8NTE.mjs → fonts-BWYcXjyK.mjs} +3 -3
- package/dist/fonts-BWYcXjyK.mjs.map +1 -0
- package/dist/{gpu-D2HT3KcE.mjs → gpu-CH1PdM4T.mjs} +2 -2
- package/dist/{gpu-D2HT3KcE.mjs.map → gpu-CH1PdM4T.mjs.map} +1 -1
- package/dist/{index-rtCXNxGO.d.mts → index-BHTycml5.d.mts} +2 -2
- package/dist/{index-rtCXNxGO.d.mts.map → index-BHTycml5.d.mts.map} +1 -1
- package/dist/{index-BFTtXosj.d.mts → index-BVd6nXd5.d.mts} +2 -2
- package/dist/{index-BFTtXosj.d.mts.map → index-BVd6nXd5.d.mts.map} +1 -1
- package/dist/{index-ByhlTwxh.d.mts → index-BcxxxwhV.d.mts} +5 -5
- package/dist/{index-ByhlTwxh.d.mts.map → index-BcxxxwhV.d.mts.map} +1 -1
- package/dist/{index-CnZhBlob.d.mts → index-BnB_Ou2y.d.mts} +2 -2
- package/dist/index-BnB_Ou2y.d.mts.map +1 -0
- package/dist/{index-a6JrbAK0.d.mts → index-C-V6CAhP.d.mts} +32 -2
- package/dist/index-C-V6CAhP.d.mts.map +1 -0
- package/dist/{index-DBh3WphX.d.mts → index-CMhkkc56.d.mts} +44 -12
- package/dist/index-CMhkkc56.d.mts.map +1 -0
- package/dist/{index-BGlaws7-.d.mts → index-CYVpYGM-.d.mts} +3 -3
- package/dist/{index-BGlaws7-.d.mts.map → index-CYVpYGM-.d.mts.map} +1 -1
- package/dist/{index-DQ1U3HC3.d.mts → index-DhL7ckvs.d.mts} +7 -7
- package/dist/index-DhL7ckvs.d.mts.map +1 -0
- package/dist/{index-CtKUQ2VG.d.mts → index-DkAjKnhW.d.mts} +1487 -533
- package/dist/index-DkAjKnhW.d.mts.map +1 -0
- package/dist/{index-B08eSpaI.d.mts → index-RILu3ULT.d.mts} +2 -2
- package/dist/{index-B08eSpaI.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-C2yaponf.d.mts → index-s2qQ8ifZ.d.mts} +911 -57
- package/dist/index-s2qQ8ifZ.d.mts.map +1 -0
- package/dist/index.d.mts +15 -15
- package/dist/index.mjs +52 -52
- package/dist/preview/index.d.mts +5 -5
- 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-BR56TQBP.mjs +5 -0
- 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-BfiB9ttP.mjs → program-CMigyfso.mjs} +919 -58
- package/dist/program-CMigyfso.mjs.map +1 -0
- package/dist/renderer/index.d.mts +4 -4
- package/dist/renderer/index.mjs +2 -2
- package/dist/{renderer-CoC64eam.mjs → renderer-0GMEL_Zi.mjs} +3 -3
- package/dist/{renderer-CoC64eam.mjs.map → renderer-0GMEL_Zi.mjs.map} +1 -1
- package/dist/{renderer-CSu_vYPn.mjs → renderer-3Wv2ZBJG.mjs} +3 -3
- package/dist/{renderer-CSu_vYPn.mjs.map → renderer-3Wv2ZBJG.mjs.map} +1 -1
- package/dist/{renderer-Dv_iRIyx.mjs → renderer-4nXkaAWu.mjs} +1280 -285
- package/dist/renderer-4nXkaAWu.mjs.map +1 -0
- package/dist/{renderer-TfeohPxt.mjs → renderer-6SnfLXeg.mjs} +3 -3
- package/dist/{renderer-TfeohPxt.mjs.map → renderer-6SnfLXeg.mjs.map} +1 -1
- package/dist/{renderer-D0xM67cK.mjs → renderer-8gHw3O0P.mjs} +2 -2
- package/dist/{renderer-D0xM67cK.mjs.map → renderer-8gHw3O0P.mjs.map} +1 -1
- package/dist/{renderer-C64_B8It.mjs → renderer-AOBglZHC.mjs} +2 -2
- package/dist/{renderer-B10HDC13.mjs → renderer-B0bSARK3.mjs} +3 -3
- package/dist/{renderer-B10HDC13.mjs.map → renderer-B0bSARK3.mjs.map} +1 -1
- package/dist/{renderer-DWYmJSrl.mjs → renderer-B2_tuRfl.mjs} +2 -2
- package/dist/{renderer-DWYmJSrl.mjs.map → renderer-B2_tuRfl.mjs.map} +1 -1
- package/dist/{renderer-mDBoz0zT.mjs → renderer-B82FhkEr.mjs} +3 -3
- package/dist/{renderer-mDBoz0zT.mjs.map → renderer-B82FhkEr.mjs.map} +1 -1
- package/dist/{renderer-DYeNNc_G.mjs → renderer-B9lzA0PY.mjs} +3 -3
- package/dist/{renderer-DYeNNc_G.mjs.map → renderer-B9lzA0PY.mjs.map} +1 -1
- package/dist/{renderer-BGchUBW_.mjs → renderer-BBSIWSry.mjs} +2 -2
- package/dist/{renderer-BGchUBW_.mjs.map → renderer-BBSIWSry.mjs.map} +1 -1
- package/dist/{renderer-GIlQ9lZq.mjs → renderer-BEKDMxbi.mjs} +2 -2
- package/dist/{renderer-GIlQ9lZq.mjs.map → renderer-BEKDMxbi.mjs.map} +1 -1
- package/dist/renderer-BERGAxqA.mjs +5 -0
- package/dist/{renderer-Bw0O--gW.mjs → renderer-BF960HY8.mjs} +3 -3
- package/dist/{renderer-Bw0O--gW.mjs.map → renderer-BF960HY8.mjs.map} +1 -1
- package/dist/{renderer-BhcTYhaP.mjs → renderer-BFwyVxCu.mjs} +3 -3
- package/dist/{renderer-BhcTYhaP.mjs.map → renderer-BFwyVxCu.mjs.map} +1 -1
- package/dist/{renderer-DYlx7VHo.mjs → renderer-BNiwcI3-.mjs} +2 -2
- package/dist/{renderer-DYlx7VHo.mjs.map → renderer-BNiwcI3-.mjs.map} +1 -1
- package/dist/{renderer-B3_GddgJ.mjs → renderer-BPbVb2Q4.mjs} +2 -2
- package/dist/{renderer-B3_GddgJ.mjs.map → renderer-BPbVb2Q4.mjs.map} +1 -1
- package/dist/renderer-BQ_YkBMt.mjs +6 -0
- package/dist/{renderer-Y1kjtOto.mjs → renderer-BUWxlA8T.mjs} +3 -3
- package/dist/{renderer-Y1kjtOto.mjs.map → renderer-BUWxlA8T.mjs.map} +1 -1
- package/dist/renderer-BW0Tjsv9.mjs +5 -0
- package/dist/{renderer-DtFZbE1j.mjs → renderer-BX8liu-e.mjs} +2 -2
- package/dist/{renderer-BOlHW3Mi.mjs → renderer-BXIwDAr_.mjs} +2 -2
- package/dist/{renderer-BOlHW3Mi.mjs.map → renderer-BXIwDAr_.mjs.map} +1 -1
- package/dist/{renderer-DzON3wDZ.mjs → renderer-B_Hy1W-g.mjs} +3 -3
- package/dist/{renderer-DzON3wDZ.mjs.map → renderer-B_Hy1W-g.mjs.map} +1 -1
- package/dist/{renderer-BM19iK8v.mjs → renderer-Bb6cvSgh.mjs} +2 -2
- package/dist/{renderer-BM19iK8v.mjs.map → renderer-Bb6cvSgh.mjs.map} +1 -1
- package/dist/{renderer-D0h1hTOo.mjs → renderer-BdppwWC9.mjs} +2 -2
- package/dist/{renderer-D0h1hTOo.mjs.map → renderer-BdppwWC9.mjs.map} +1 -1
- package/dist/{renderer-BTwuM9u-.mjs → renderer-Bhc24HVe.mjs} +3 -3
- package/dist/{renderer-BTwuM9u-.mjs.map → renderer-Bhc24HVe.mjs.map} +1 -1
- package/dist/{renderer-BZX932Lj.mjs → renderer-BiNA2wF0.mjs} +2 -2
- package/dist/{renderer-BZX932Lj.mjs.map → renderer-BiNA2wF0.mjs.map} +1 -1
- package/dist/{renderer-CkTehyRX.mjs → renderer-BmoBgTp5.mjs} +3 -3
- package/dist/{renderer-CkTehyRX.mjs.map → renderer-BmoBgTp5.mjs.map} +1 -1
- package/dist/{renderer-B3un4Pdi.mjs → renderer-BmqFmCWS.mjs} +3 -3
- package/dist/{renderer-B3un4Pdi.mjs.map → renderer-BmqFmCWS.mjs.map} +1 -1
- package/dist/{renderer-CHCRcCKw.mjs → renderer-BnVwAObV.mjs} +2 -2
- package/dist/{renderer-CHCRcCKw.mjs.map → renderer-BnVwAObV.mjs.map} +1 -1
- package/dist/{renderer-Cv9CKKWG.mjs → renderer-BxttZHme.mjs} +2 -2
- package/dist/{renderer-Cv9CKKWG.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-B6bK9rXm.mjs → renderer-C8E4XsSg.mjs} +2 -2
- package/dist/{renderer-B6bK9rXm.mjs.map → renderer-C8E4XsSg.mjs.map} +1 -1
- package/dist/renderer-C8zY3pzk.mjs +5 -0
- package/dist/{renderer-4nsuReW2.mjs → renderer-C9U-LY50.mjs} +3 -3
- package/dist/{renderer-4nsuReW2.mjs.map → renderer-C9U-LY50.mjs.map} +1 -1
- package/dist/{renderer-BvBqTAtk.mjs → renderer-CB2JVu5x.mjs} +3 -3
- package/dist/{renderer-BvBqTAtk.mjs.map → renderer-CB2JVu5x.mjs.map} +1 -1
- package/dist/{renderer-CQ4h8n7p.mjs → renderer-CC4YBJ8Z.mjs} +3 -3
- package/dist/{renderer-CQ4h8n7p.mjs.map → renderer-CC4YBJ8Z.mjs.map} +1 -1
- package/dist/renderer-CEkSOyKu.mjs +5 -0
- package/dist/{renderer-zLi2qFGT.mjs → renderer-CIycc5O-.mjs} +2 -2
- package/dist/{renderer-zLi2qFGT.mjs.map → renderer-CIycc5O-.mjs.map} +1 -1
- package/dist/renderer-CJYtfa4x.mjs +5 -0
- package/dist/{renderer-yNWYqvvq.mjs → renderer-CJraQlV-.mjs} +2 -2
- package/dist/{renderer-yNWYqvvq.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-BrEeUw7T.mjs → renderer-COWGWtob.mjs} +2 -2
- package/dist/{renderer-BrEeUw7T.mjs.map → renderer-COWGWtob.mjs.map} +1 -1
- package/dist/{renderer-uER8kn7f.mjs → renderer-COxG2XGf.mjs} +2 -2
- package/dist/{renderer-uER8kn7f.mjs.map → renderer-COxG2XGf.mjs.map} +1 -1
- package/dist/{renderer-C4hd6Cqi.mjs → renderer-CQDCIsQm.mjs} +2 -2
- package/dist/{renderer-C4hd6Cqi.mjs.map → renderer-CQDCIsQm.mjs.map} +1 -1
- package/dist/{renderer-Cfx_FCSf.mjs → renderer-CRUeag8i.mjs} +3 -3
- package/dist/{renderer-Cfx_FCSf.mjs.map → renderer-CRUeag8i.mjs.map} +1 -1
- package/dist/{renderer-CXrnzihz.mjs → renderer-CWVput06.mjs} +3 -3
- package/dist/{renderer-CXrnzihz.mjs.map → renderer-CWVput06.mjs.map} +1 -1
- package/dist/renderer-CZlHjcxr.mjs +5 -0
- package/dist/{renderer-BmyFfvVA.mjs → renderer-CbbnBLOB.mjs} +3 -3
- package/dist/{renderer-BmyFfvVA.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-_J9JcCMR.mjs → renderer-CfLZein2.mjs} +3 -3
- package/dist/{renderer-_J9JcCMR.mjs.map → renderer-CfLZein2.mjs.map} +1 -1
- package/dist/{renderer-D-mX1EVA.mjs → renderer-Ch-q1O-q.mjs} +3 -3
- package/dist/{renderer-D-mX1EVA.mjs.map → renderer-Ch-q1O-q.mjs.map} +1 -1
- package/dist/{renderer-uzU6dsdR.mjs → renderer-Ch5JvJWl.mjs} +2 -2
- package/dist/{renderer-uzU6dsdR.mjs.map → renderer-Ch5JvJWl.mjs.map} +1 -1
- package/dist/{renderer-BZMh2io2.mjs → renderer-ChtEzq-R.mjs} +2 -2
- package/dist/{renderer-BZMh2io2.mjs.map → renderer-ChtEzq-R.mjs.map} +1 -1
- package/dist/{renderer-B2IUPjhw.mjs → renderer-Cj9nTC5l.mjs} +3 -3
- package/dist/{renderer-B2IUPjhw.mjs.map → renderer-Cj9nTC5l.mjs.map} +1 -1
- package/dist/{renderer-CdXBRdFf.mjs → renderer-CqT8HsSS.mjs} +2 -2
- package/dist/{renderer-CdXBRdFf.mjs.map → renderer-CqT8HsSS.mjs.map} +1 -1
- package/dist/{renderer-CldjJmRR.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-BsrKj6Td.mjs → renderer-Cz30EVws.mjs} +2 -2
- package/dist/{renderer-BsrKj6Td.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-CC22Djgi.mjs → renderer-DHoX-5U_.mjs} +3 -3
- package/dist/{renderer-CC22Djgi.mjs.map → renderer-DHoX-5U_.mjs.map} +1 -1
- package/dist/{renderer-HKv5cBdp.mjs → renderer-DOkm0Ycd.mjs} +2 -2
- package/dist/{renderer-HKv5cBdp.mjs.map → renderer-DOkm0Ycd.mjs.map} +1 -1
- package/dist/{renderer-fG8Jy8Rx.d.mts → renderer-DU3f6ZrS.d.mts} +2 -2
- package/dist/{renderer-fG8Jy8Rx.d.mts.map → renderer-DU3f6ZrS.d.mts.map} +1 -1
- package/dist/{renderer-C98XwEIr.mjs → renderer-DUzv-shq.mjs} +2 -2
- package/dist/{renderer-C98XwEIr.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-BEuXJY-C.mjs → renderer-DhnOWnEA.mjs} +3 -3
- package/dist/{renderer-BEuXJY-C.mjs.map → renderer-DhnOWnEA.mjs.map} +1 -1
- package/dist/{renderer-BIKkxw_Z.mjs → renderer-Dhy1XHzz.mjs} +3 -3
- package/dist/{renderer-BIKkxw_Z.mjs.map → renderer-Dhy1XHzz.mjs.map} +1 -1
- package/dist/renderer-DjCvpsV_.mjs +5 -0
- package/dist/{renderer-pn52dzZz.mjs → renderer-DjJshz9Y.mjs} +2 -2
- package/dist/{renderer-pn52dzZz.mjs.map → renderer-DjJshz9Y.mjs.map} +1 -1
- package/dist/{renderer-DhGZ41hQ.mjs → renderer-DmTUIdus.mjs} +3 -3
- package/dist/{renderer-DhGZ41hQ.mjs.map → renderer-DmTUIdus.mjs.map} +1 -1
- package/dist/{renderer-D_m6Qbsi.mjs → renderer-Dq7AioJa.mjs} +2 -2
- package/dist/{renderer-D_m6Qbsi.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-DCrKEVjb.mjs → renderer-Dtcs4idV.mjs} +3 -3
- package/dist/{renderer-DCrKEVjb.mjs.map → renderer-Dtcs4idV.mjs.map} +1 -1
- package/dist/renderer-Dxlv8LYm.mjs +5 -0
- package/dist/{renderer-CO9vE3sd.mjs → renderer-Gj8SrE2W.mjs} +2 -2
- package/dist/{renderer-CO9vE3sd.mjs.map → renderer-Gj8SrE2W.mjs.map} +1 -1
- package/dist/{renderer-DvHi_wXE.mjs → renderer-KfnXDJS0.mjs} +3 -3
- package/dist/{renderer-DvHi_wXE.mjs.map → renderer-KfnXDJS0.mjs.map} +1 -1
- package/dist/{renderer-7xQmXXMH.mjs → renderer-MXVlg4p5.mjs} +3 -3
- package/dist/{renderer-7xQmXXMH.mjs.map → renderer-MXVlg4p5.mjs.map} +1 -1
- package/dist/{renderer-YONlI6W-.mjs → renderer-N2b6QZ1E.mjs} +3 -3
- package/dist/{renderer-YONlI6W-.mjs.map → renderer-N2b6QZ1E.mjs.map} +1 -1
- package/dist/renderer-Pb43OO2t.mjs +5 -0
- package/dist/{renderer-DNynPM6X.mjs → renderer-Q7gDzm8c.mjs} +2 -2
- package/dist/{renderer-DNynPM6X.mjs.map → renderer-Q7gDzm8c.mjs.map} +1 -1
- package/dist/{renderer-BEhZiOT4.mjs → renderer-RCiANtRV.mjs} +2 -2
- package/dist/{renderer-BEhZiOT4.mjs.map → renderer-RCiANtRV.mjs.map} +1 -1
- package/dist/{renderer-Dm57W73p.mjs → renderer-Sig9nZcI.mjs} +2 -2
- package/dist/renderer-VQbm-cGr.mjs +5 -0
- package/dist/{renderer-DiZkZ0Pr.mjs → renderer-fabBgwQX.mjs} +3 -3
- package/dist/{renderer-DiZkZ0Pr.mjs.map → renderer-fabBgwQX.mjs.map} +1 -1
- package/dist/{renderer-Bw-_GZVw.mjs → renderer-g-0PCNoo.mjs} +3 -3
- package/dist/{renderer-Bw-_GZVw.mjs.map → renderer-g-0PCNoo.mjs.map} +1 -1
- package/dist/{renderer-QbSrnPZU.mjs → renderer-gmHKIbKI.mjs} +3 -3
- package/dist/{renderer-QbSrnPZU.mjs.map → renderer-gmHKIbKI.mjs.map} +1 -1
- package/dist/{renderer-CU6WT5jW.mjs → renderer-kVZwiRoK.mjs} +3 -3
- package/dist/{renderer-CU6WT5jW.mjs.map → renderer-kVZwiRoK.mjs.map} +1 -1
- package/dist/renderer-oPMypDM1.mjs +5 -0
- package/dist/{renderer-CRhEGqW4.mjs → renderer-p7tgxP-A.mjs} +3 -3
- package/dist/{renderer-CRhEGqW4.mjs.map → renderer-p7tgxP-A.mjs.map} +1 -1
- package/dist/{renderer-CO4NGvAh.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-BufiCyn7.mjs → renderers-CP8CFWDs-DLjtjrwx.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-BufiCyn7.mjs.map → renderers-CP8CFWDs-DLjtjrwx.mjs.map} +1 -1
- package/dist/sam/index.d.mts +3 -3
- package/dist/sam/index.mjs +1 -1
- package/dist/signals/index.d.mts +5 -5
- 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-DrP7fGJX.mjs → src-CoHAjviq.mjs} +1355 -178
- package/dist/src-CoHAjviq.mjs.map +1 -0
- package/dist/storage/index.mjs +1 -1
- package/package.json +63 -60
- package/dist/dist-CiTgmfUw.mjs.map +0 -1
- package/dist/dist-DtPPPsZV.mjs.map +0 -1
- package/dist/fonts-k5ll8NTE.mjs.map +0 -1
- package/dist/index-C2yaponf.d.mts.map +0 -1
- package/dist/index-C5sgRLlG.d.mts.map +0 -1
- package/dist/index-CnZhBlob.d.mts.map +0 -1
- package/dist/index-CtKUQ2VG.d.mts.map +0 -1
- package/dist/index-DBh3WphX.d.mts.map +0 -1
- package/dist/index-DQ1U3HC3.d.mts.map +0 -1
- package/dist/index-a6JrbAK0.d.mts.map +0 -1
- package/dist/preview-engine/chunk-5ZS46EFB.mjs +0 -5
- package/dist/preview-engine/chunk-N3XTDAL6.mjs +0 -2227
- package/dist/preview-engine/chunk-NCQHOGZK.mjs +0 -3
- package/dist/preview-engine/chunk-PH3UUX6A.mjs +0 -138
- package/dist/preview-engine/chunk-XCPRRMMW.mjs +0 -2462
- package/dist/preview-engine/renderers-ZMMQ7S2A.mjs +0 -228
- package/dist/preview-lHH8Tv4j.mjs +0 -2446
- package/dist/preview-lHH8Tv4j.mjs.map +0 -1
- package/dist/program-BfiB9ttP.mjs.map +0 -1
- package/dist/renderer-0rLmztAv.mjs +0 -5
- package/dist/renderer-B0pjOXFY.mjs +0 -5
- package/dist/renderer-B7J13reL.mjs +0 -5
- package/dist/renderer-BPGIKGgl.mjs +0 -5
- package/dist/renderer-Bv-Artj1.mjs +0 -5
- package/dist/renderer-BvLjbhcL.mjs +0 -5
- package/dist/renderer-By6awWaf.mjs +0 -5
- package/dist/renderer-C0rvsz7m.mjs +0 -5
- package/dist/renderer-CDgud_HB.mjs +0 -5
- package/dist/renderer-CDiRF3bG.mjs +0 -6
- package/dist/renderer-CIIEQd4B.mjs +0 -5
- package/dist/renderer-CJblwOA9.mjs +0 -5
- package/dist/renderer-CNMOXtXE.mjs +0 -5
- package/dist/renderer-CO4NGvAh.mjs.map +0 -1
- package/dist/renderer-COeSeNGg.mjs +0 -5
- package/dist/renderer-CUfElmtZ.mjs +0 -5
- package/dist/renderer-CYh2lFoJ.mjs +0 -5
- package/dist/renderer-CYtVZYMH.mjs +0 -5
- package/dist/renderer-CjxZlkjb.mjs +0 -5
- package/dist/renderer-Cpd6TvTC.mjs +0 -5
- package/dist/renderer-D3ziOPhX.mjs +0 -5
- package/dist/renderer-D5yp74NL.mjs +0 -3
- package/dist/renderer-DL-phtL5.mjs +0 -5
- package/dist/renderer-DSnmYnHg.mjs +0 -5
- package/dist/renderer-DUGfsT-E.mjs +0 -5
- package/dist/renderer-DW5af9x1.mjs +0 -5
- package/dist/renderer-DYMrol1t.mjs +0 -5
- package/dist/renderer-DekeUHaz.mjs +0 -5
- package/dist/renderer-Dt5uyJdZ.mjs +0 -5
- package/dist/renderer-Dv_iRIyx.mjs.map +0 -1
- package/dist/renderer-DwLQAnaK.mjs +0 -5
- package/dist/renderer-IXQP2CWM.mjs +0 -5
- package/dist/renderer-K-Pkw63O.mjs +0 -5
- package/dist/renderer-MPw2KH9P.mjs +0 -5
- package/dist/renderer-RPu8RMav.mjs +0 -5
- package/dist/renderer-dCqxd5N2.mjs +0 -5
- package/dist/renderer-lhjmE-Fp.mjs +0 -5
- package/dist/renderer-u9cmBuvM.mjs +0 -5
- package/dist/renderer-vH12jcpz.mjs +0 -5
- package/dist/src-BU6vm9sP-DdTHmCr4.mjs.map +0 -1
- package/dist/src-DrP7fGJX.mjs.map +0 -1
|
@@ -1,14 +1,167 @@
|
|
|
1
|
-
import { $ as FrameSignal, $
|
|
2
|
-
import { A as PolyhedronGeometryOptions, F as RoundedBoxGeometryOptions,
|
|
3
|
-
import { i as RegisterFontOptions } from "./index-
|
|
4
|
-
import {
|
|
5
|
-
import { S as Sam3Options, p as Sam2Options } from "./index-
|
|
6
|
-
import { $n as ResizerScalerProps, $t as FlipProps, An as Paint, At as CameraParallax3DProps, B as PBRGlass, Bn as Pixelate, Bt as ContourProps, C as GradientMapProps, Cn as MeshWarp, Ct as AudioParametricEq, D as HalftoneScreen, Dn as NoiseGeneratorProps, Dt as CRT, En as NoiseGenerator, Et as AudioReverbProps, F as LevelsProps, Fn as Painterly, Ft as ColorBalance, G as SSAOProps, Gn as ProceduralVFXProps, Gt as DatamoshProps, H as Relight3D, Hn as Posterize, I as Modulate, In as PainterlyProps, 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, Lt as ColorKey, M as HighPassProps, Mt as ChannelMergerProps, Nt as ChannelSplitter, O as HalftoneScreenProps, On as OpArt, Ot as CRTProps, P as Levels, Pt as ChannelSplitterProps, Q as TileOffset, Qn as ResizerScaler, Qt as Flip, R as MotionBlur, Rt as ColorKeyProps, S as GradientMap, Sn as MaskMathProps, St as AudioNoiseGateProps, Tn as MeshWarpProps, Tt as AudioReverb, U as Relight3DProps, Un as PosterizeProps, Ut as CornerPinProps, V as PBRGlassProps, Vn as PixelateProps, 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, _t as AudioDelay, a as ApplyLUTProps, an as KaleidoscopeProps, ar as Toon, b as FilmGrain, bn as LiquifyProps, bt as AudioFadeProps, c as Crop, cn as KenBurnsProps, cr as TrailsProps, dr as EffectProp, dt as Blur, en as Gooey, er as Rotate, et as TileOffsetProps, f as CurvesProps, ft as BlurProps, g as DepthOfFieldProps, gn as LayerStyleProps, gt as AudioCompressorProps, h as DepthOfField, ht as AudioCompressor, i as ApplyLUT, in as Kaleidoscope, it as VisionProps, j as HighPass, jn as PaintProps, jt as ChannelMerger, kn as OpArtProps, kt as CameraParallax3D, l as CropProps, ln as LayerStyle, lr as Vignette, m as DeflickerProps, mt as AsciiProps, n as AnyEffect, nn as Iridescence, nr as StereoPanning, nt as UnsharpMaskProps, on as KenBurns, or as ToonProps, p as CustomEffect, pt as Ascii, qn as RGBSplitProps, qt as DisplacementMapProps, r as AnyVisualEffect, rn as IridescenceProps, rr as StereoPanningProps, rt as Vision, sr as Trails, t as AnyAudioEffect, tn as GooeyProps, tr as RotateProps, tt as UnsharpMask, u as Curves, ur as VignetteProps, vn as Liquify, vt as AudioDelayProps, wt as AudioParametricEqProps, x as FilmGrainProps, xn as MaskMath, xt as AudioNoiseGate, yt as AudioFade, z as MotionBlurProps, zn as PatchHealProps, zt as Contour } from "./index-
|
|
7
|
-
import { _ as RenderProgress, b as VideoQaOptions, f as HeadlessMediaRenderer, t as FrameGridOptions, x as VideoQaReport } from "./index-
|
|
1
|
+
import { $ as FrameSignal, $n as ToonShading, At as MediaTimeRemapInput, Et as MediaSourceInput, Ft as MeshAudioDeformConfig, I as Effect$1, Jn as TextSpan, M as DeflickerOptions, Nt as MediaTimeSignalRemap, O as DataType, Sn as Signal, Z as FrameContext, _n as ResolvedMediaTimeRemap, en as NormalRelightingOptions, fn as ProgrammaticSignal, fr as VirtualMediaData, gn as RenderDiagnostic, gr as VisionTask, it as GeometryOutlineOptions, yt as MediaMetadata, z as EffectDomain } from "./index-C-V6CAhP.mjs";
|
|
2
|
+
import { $ as TubeGeometryOptions, A as PolyhedronGeometryOptions, Dn as TextPathOptions, F as RoundedBoxGeometryOptions, H as ShardGeometryOptions, J as SphereGeometryOptions, K as SlugFontCache, L as ScatterOptions, P as RingGeometryOptions, Q as TorusGeometryOptions, R as ScatterPoint, Vn as TypewriterAnimator, X as TerrainGeometryOptions, Yt as KineticMarqueeConfig, _ as ExtrudeShapeGeometryOptions, b as LatheGeometryOptions, bt as AdvancedTextAnimator, et as TubePathSpec, h as CylinderGeometryOptions, k as Points3DGeometryOptions, m as CapsuleGeometryOptions, oi as Path3D, vt as AETextAnimator, x as Line3DGeometryOptions, z as SdfGeometryOptions } from "./index-s2qQ8ifZ.mjs";
|
|
3
|
+
import { i as RegisterFontOptions } from "./index-TCtdSXd7.mjs";
|
|
4
|
+
import { A as VisionBundle, I as VisionNode, Y as TensorPipeline, _ as ObjectTrackSignals, a as ClipPose, b as PinToObjectOptions, c as InstanceMask, d as MatteRefineOptions, k as VisionAnalysisReport, l as LandmarkCoordinateSignals, o as ClipSubjectSource, r as COCO17_KEYPOINT_NAMES, s as DepthMap, u as MaskTrackSignals, y as PinToLandmarkOptions } from "./index-CMhkkc56.mjs";
|
|
5
|
+
import { S as Sam3Options, p as Sam2Options } from "./index-BHTycml5.mjs";
|
|
6
|
+
import { $n as ResizerScalerProps, $t as FlipProps, An as Paint, At as CameraParallax3DProps, B as PBRGlass, Bn as Pixelate, Bt as ContourProps, C as GradientMapProps, Cn as MeshWarp, Ct as AudioParametricEq, D as HalftoneScreen, Dn as NoiseGeneratorProps, Dt as CRT, En as NoiseGenerator, Et as AudioReverbProps, F as LevelsProps, Fn as Painterly, Ft as ColorBalance, G as SSAOProps, Gn as ProceduralVFXProps, Gt as DatamoshProps, H as Relight3D, Hn as Posterize, I as Modulate, In as PainterlyProps, 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, Lt as ColorKey, M as HighPassProps, Mt as ChannelMergerProps, Nt as ChannelSplitter, O as HalftoneScreenProps, On as OpArt, Ot as CRTProps, P as Levels, Pt as ChannelSplitterProps, Q as TileOffset, Qn as ResizerScaler, Qt as Flip, R as MotionBlur, Rt as ColorKeyProps, S as GradientMap, Sn as MaskMathProps, St as AudioNoiseGateProps, Tn as MeshWarpProps, Tt as AudioReverb, U as Relight3DProps, Un as PosterizeProps, Ut as CornerPinProps, V as PBRGlassProps, Vn as PixelateProps, 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, _t as AudioDelay, a as ApplyLUTProps, an as KaleidoscopeProps, ar as Toon, b as FilmGrain, bn as LiquifyProps, bt as AudioFadeProps, c as Crop, cn as KenBurnsProps, cr as TrailsProps, dr as EffectProp, dt as Blur, en as Gooey, er as Rotate, et as TileOffsetProps, f as CurvesProps, ft as BlurProps, g as DepthOfFieldProps, gn as LayerStyleProps, gt as AudioCompressorProps, h as DepthOfField, ht as AudioCompressor, i as ApplyLUT, in as Kaleidoscope, it as VisionProps, j as HighPass, jn as PaintProps, jt as ChannelMerger, kn as OpArtProps, kt as CameraParallax3D, l as CropProps, ln as LayerStyle, lr as Vignette, m as DeflickerProps, mt as AsciiProps, n as AnyEffect, nn as Iridescence, nr as StereoPanning, nt as UnsharpMaskProps, on as KenBurns, or as ToonProps, p as CustomEffect, pt as Ascii, qn as RGBSplitProps, qt as DisplacementMapProps, r as AnyVisualEffect, rn as IridescenceProps, rr as StereoPanningProps, rt as Vision, sr as Trails, t as AnyAudioEffect, tn as GooeyProps, tr as RotateProps, tt as UnsharpMask, u as Curves, ur as VignetteProps, vn as Liquify, vt as AudioDelayProps, wt as AudioParametricEqProps, x as FilmGrainProps, xn as MaskMath, xt as AudioNoiseGate, yt as AudioFade, z as MotionBlurProps, zn as PatchHealProps, zt as Contour } from "./index-BcxxxwhV.mjs";
|
|
7
|
+
import { _ as RenderProgress, b as VideoQaOptions, f as HeadlessMediaRenderer, t as FrameGridOptions, x as VideoQaReport } from "./index-DhL7ckvs.mjs";
|
|
8
8
|
import { z, z as z$2 } from "zod";
|
|
9
9
|
import { Yoga } from "yoga-layout/load";
|
|
10
10
|
|
|
11
11
|
//#region ../compositions/dist/program/index.d.mts
|
|
12
|
+
//#region src/program/character-schema.d.ts
|
|
13
|
+
/** A frame signal: anything with `get(ctx)` (`Signal.*`, audio, physics, vision). */
|
|
14
|
+
interface TrackSignal {
|
|
15
|
+
get(ctx?: unknown): number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A number over time: constant, `[[frame, value], …]` keys, `(frame) =>
|
|
19
|
+
* value`, or a signal.
|
|
20
|
+
*/
|
|
21
|
+
declare const NumberTrackSchema: z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>;
|
|
22
|
+
type NumberTrack = z.infer<typeof NumberTrackSchema>;
|
|
23
|
+
/**
|
|
24
|
+
* A point over time: `[x, y, z]` where each axis is a {@link NumberTrack}
|
|
25
|
+
* (so a constant, keys, a function or a signal per axis), `[[frame, x, y,
|
|
26
|
+
* z], …]` keys, or `(frame) => [x, y, z]`.
|
|
27
|
+
*/
|
|
28
|
+
declare const Vec3TrackSchema: z.ZodUnion<readonly [z.ZodTuple<[z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>], null>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => [number, number, number], (frame: number) => [number, number, number]>]>;
|
|
29
|
+
type Vec3Track = z.infer<typeof Vec3TrackSchema>;
|
|
30
|
+
declare const ModelAnimationLayerSchema: z.ZodObject<{
|
|
31
|
+
clip: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
32
|
+
weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>>;
|
|
33
|
+
speed: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
timeOffset: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
mask: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
36
|
+
loop: z.ZodOptional<z.ZodBoolean>;
|
|
37
|
+
}, z.core.$strict>;
|
|
38
|
+
type ModelAnimationLayer = z.infer<typeof ModelAnimationLayerSchema>;
|
|
39
|
+
declare const TwoBoneIkSchema: z.ZodObject<{
|
|
40
|
+
chain: z.ZodTuple<[z.ZodString, z.ZodString, z.ZodString], null>;
|
|
41
|
+
target: z.ZodUnion<readonly [z.ZodTuple<[z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>], null>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => [number, number, number], (frame: number) => [number, number, number]>]>;
|
|
42
|
+
poleTarget: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>], null>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => [number, number, number], (frame: number) => [number, number, number]>]>>;
|
|
43
|
+
weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>>;
|
|
44
|
+
}, z.core.$strict>;
|
|
45
|
+
type TwoBoneIkConstraint = z.infer<typeof TwoBoneIkSchema>;
|
|
46
|
+
declare const LookAtSchema: z.ZodObject<{
|
|
47
|
+
joint: z.ZodString;
|
|
48
|
+
target: z.ZodUnion<readonly [z.ZodTuple<[z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>], null>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => [number, number, number], (frame: number) => [number, number, number]>]>;
|
|
49
|
+
weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>>;
|
|
50
|
+
maxAngleDeg: z.ZodOptional<z.ZodNumber>;
|
|
51
|
+
axis: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
52
|
+
}, z.core.$strict>;
|
|
53
|
+
type LookAtConstraint = z.infer<typeof LookAtSchema>;
|
|
54
|
+
/**
|
|
55
|
+
* A joint posed directly, in its own local frame: Euler degrees (applied
|
|
56
|
+
* Z, then Y, then X, like layers) and a translation offset in model units,
|
|
57
|
+
* on top of the animated pose (`"additive"`, default) or of the joint's rest
|
|
58
|
+
* pose (`"rest"`: clips no longer move it).
|
|
59
|
+
*/
|
|
60
|
+
declare const JointPoseSchema: z.ZodObject<{
|
|
61
|
+
rotateX: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>>;
|
|
62
|
+
rotateY: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>>;
|
|
63
|
+
rotateZ: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>>;
|
|
64
|
+
x: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>>;
|
|
65
|
+
y: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>>;
|
|
66
|
+
z: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>>;
|
|
67
|
+
weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>>;
|
|
68
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
69
|
+
additive: "additive";
|
|
70
|
+
rest: "rest";
|
|
71
|
+
}>>;
|
|
72
|
+
}, z.core.$strict>;
|
|
73
|
+
type JointPose = z.infer<typeof JointPoseSchema>;
|
|
74
|
+
/**
|
|
75
|
+
* Points a bone along a scene direction (the joint turns so the bone,
|
|
76
|
+
* toward its first child, or its local `axis` lies along it). Retargeting a
|
|
77
|
+
* performer's pose is a chain of aims, parents first.
|
|
78
|
+
*/
|
|
79
|
+
declare const AimSchema: z.ZodObject<{
|
|
80
|
+
joint: z.ZodString;
|
|
81
|
+
direction: z.ZodUnion<readonly [z.ZodTuple<[z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>], null>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => [number, number, number], (frame: number) => [number, number, number]>]>;
|
|
82
|
+
weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>, z.ZodCustom<(frame: number) => number, (frame: number) => number>, z.ZodCustom<TrackSignal, TrackSignal>]>>;
|
|
83
|
+
axis: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
84
|
+
}, z.core.$strict>;
|
|
85
|
+
type AimConstraint = z.infer<typeof AimSchema>;
|
|
86
|
+
/**
|
|
87
|
+
* A joint driven by another: it turns by a share of the source joint's turn
|
|
88
|
+
* from its rest, per local axis (Euler degrees, Z then Y then X). Applied
|
|
89
|
+
* after look-ats, before IK, so eyelids follow eyes a `lookAt` aims.
|
|
90
|
+
*/
|
|
91
|
+
declare const JointDriverSchema: z.ZodObject<{
|
|
92
|
+
joint: z.ZodString;
|
|
93
|
+
from: z.ZodString;
|
|
94
|
+
rotate: z.ZodObject<{
|
|
95
|
+
x: z.ZodOptional<z.ZodNumber>;
|
|
96
|
+
y: z.ZodOptional<z.ZodNumber>;
|
|
97
|
+
z: z.ZodOptional<z.ZodNumber>;
|
|
98
|
+
}, z.core.$strict>;
|
|
99
|
+
}, z.core.$strict>;
|
|
100
|
+
type JointDriver = z.infer<typeof JointDriverSchema>;
|
|
101
|
+
declare const SpringBoneChainSchema: z.ZodObject<{
|
|
102
|
+
joints: z.ZodArray<z.ZodString>;
|
|
103
|
+
stiffness: z.ZodOptional<z.ZodNumber>;
|
|
104
|
+
damping: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
gravity: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
106
|
+
}, z.core.$strict>;
|
|
107
|
+
type SpringBoneChain = z.infer<typeof SpringBoneChainSchema>;
|
|
108
|
+
declare const CrowdSchema: z.ZodObject<{
|
|
109
|
+
clips: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
110
|
+
fps: z.ZodOptional<z.ZodNumber>;
|
|
111
|
+
seed: z.ZodOptional<z.ZodNumber>;
|
|
112
|
+
speedRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
113
|
+
phase: z.ZodOptional<z.ZodEnum<{
|
|
114
|
+
random: "random";
|
|
115
|
+
sync: "sync";
|
|
116
|
+
}>>;
|
|
117
|
+
}, z.core.$strict>;
|
|
118
|
+
type CrowdConfig = z.infer<typeof CrowdSchema>;
|
|
119
|
+
//#endregion
|
|
120
|
+
//#region src/program/procedural-schema.d.ts
|
|
121
|
+
|
|
122
|
+
declare const WindSchema: z.ZodObject<{
|
|
123
|
+
amplitudeDeg: z.ZodOptional<z.ZodNumber>;
|
|
124
|
+
frequency: z.ZodOptional<z.ZodNumber>;
|
|
125
|
+
direction: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
126
|
+
waveScale: z.ZodOptional<z.ZodNumber>;
|
|
127
|
+
}, z.core.$strict>;
|
|
128
|
+
type WindConfig = z.infer<typeof WindSchema>;
|
|
129
|
+
declare const Scatter3DSchema: z.ZodObject<{
|
|
130
|
+
surface: z.ZodCustom<Record<string, unknown>, Record<string, unknown>>;
|
|
131
|
+
count: z.ZodNumber;
|
|
132
|
+
minDistance: z.ZodOptional<z.ZodNumber>;
|
|
133
|
+
seed: z.ZodOptional<z.ZodNumber>;
|
|
134
|
+
slopeRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
135
|
+
elevationRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
136
|
+
alignToNormal: z.ZodOptional<z.ZodNumber>;
|
|
137
|
+
scaleRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
138
|
+
randomYaw: z.ZodOptional<z.ZodBoolean>;
|
|
139
|
+
exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
140
|
+
x: z.ZodNumber;
|
|
141
|
+
z: z.ZodNumber;
|
|
142
|
+
radius: z.ZodNumber;
|
|
143
|
+
falloff: z.ZodOptional<z.ZodNumber>;
|
|
144
|
+
}, z.core.$strict>>>;
|
|
145
|
+
sink: z.ZodOptional<z.ZodNumber>;
|
|
146
|
+
}, z.core.$strict>;
|
|
147
|
+
type Scatter3DSpec = z.infer<typeof Scatter3DSchema>;
|
|
148
|
+
/** A layer drawn offscreen every frame and wrapped onto a model's surface. */
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Voronoi destruction (`world.fracture`): the model is cut into `cells`
|
|
152
|
+
* pieces, drawn as one rigidly skinned mesh posed per frame from `track`.
|
|
153
|
+
* Without a track the pieces rest in place and the model looks whole.
|
|
154
|
+
*/
|
|
155
|
+
declare const Fracture3DSchema: z.ZodObject<{
|
|
156
|
+
cells: z.ZodOptional<z.ZodNumber>;
|
|
157
|
+
seed: z.ZodOptional<z.ZodNumber>;
|
|
158
|
+
impactPoint: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
159
|
+
interiorColor: z.ZodOptional<z.ZodString>;
|
|
160
|
+
interiorRoughness: z.ZodOptional<z.ZodNumber>;
|
|
161
|
+
track: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
162
|
+
}, z.core.$strict>;
|
|
163
|
+
type Fracture3DSpec = z.infer<typeof Fracture3DSchema>;
|
|
164
|
+
//#endregion
|
|
12
165
|
//#region src/program/schema.d.ts
|
|
13
166
|
/** number px | "auto" (intrinsic) | "fit" (shrink-wrap) | "fill" (parent extent). */
|
|
14
167
|
declare const SizeSpecSchema: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
|
|
@@ -37,38 +190,38 @@ type ProgramEffect = Effect$1<object, string, EffectDomain> | EffectSpec | (Reco
|
|
|
37
190
|
declare const AnimatablePropSchema: z.ZodEnum<{
|
|
38
191
|
x: "x";
|
|
39
192
|
y: "y";
|
|
40
|
-
width: "width";
|
|
41
|
-
height: "height";
|
|
42
|
-
rotation: "rotation";
|
|
43
193
|
scale: "scale";
|
|
194
|
+
rotation: "rotation";
|
|
44
195
|
opacity: "opacity";
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
text: "text";
|
|
48
|
-
fontSize: "fontSize";
|
|
49
|
-
fill: "fill";
|
|
50
|
-
letterSpacing: "letterSpacing";
|
|
51
|
-
padding: "padding";
|
|
52
|
-
strokeWidth: "strokeWidth";
|
|
53
|
-
borderColor: "borderColor";
|
|
54
|
-
borderWidth: "borderWidth";
|
|
196
|
+
width: "width";
|
|
197
|
+
height: "height";
|
|
55
198
|
volume: "volume";
|
|
56
|
-
color: "color";
|
|
57
|
-
offset: "offset";
|
|
58
199
|
hidden: "hidden";
|
|
59
200
|
muted: "muted";
|
|
60
201
|
gap: "gap";
|
|
202
|
+
padding: "padding";
|
|
61
203
|
borderRadius: "borderRadius";
|
|
204
|
+
fontSize: "fontSize";
|
|
205
|
+
text: "text";
|
|
206
|
+
fill: "fill";
|
|
207
|
+
color: "color";
|
|
208
|
+
letterSpacing: "letterSpacing";
|
|
62
209
|
d: "d";
|
|
210
|
+
trimStart: "trimStart";
|
|
211
|
+
trimEnd: "trimEnd";
|
|
63
212
|
trimOffset: "trimOffset";
|
|
213
|
+
strokeWidth: "strokeWidth";
|
|
64
214
|
strokeDashOffset: "strokeDashOffset";
|
|
65
215
|
cornerRadius: "cornerRadius";
|
|
66
216
|
starInnerRadiusRatio: "starInnerRadiusRatio";
|
|
67
217
|
fillColor: "fillColor";
|
|
68
218
|
strokeColor: "strokeColor";
|
|
219
|
+
borderColor: "borderColor";
|
|
220
|
+
borderWidth: "borderWidth";
|
|
69
221
|
motionBlurShutter: "motionBlurShutter";
|
|
70
222
|
rangeStart: "rangeStart";
|
|
71
223
|
rangeEnd: "rangeEnd";
|
|
224
|
+
offset: "offset";
|
|
72
225
|
animatorRangeStart: "animatorRangeStart";
|
|
73
226
|
animatorRangeEnd: "animatorRangeEnd";
|
|
74
227
|
animatorOffset: "animatorOffset";
|
|
@@ -99,6 +252,7 @@ declare const AnimatablePropSchema: z.ZodEnum<{
|
|
|
99
252
|
maxBlurRadius: "maxBlurRadius";
|
|
100
253
|
shakeTranslation: "shakeTranslation";
|
|
101
254
|
shakeRotation: "shakeRotation";
|
|
255
|
+
relativitySpeed: "relativitySpeed";
|
|
102
256
|
orbitRadius: "orbitRadius";
|
|
103
257
|
orbitAzimuth: "orbitAzimuth";
|
|
104
258
|
orbitElevation: "orbitElevation";
|
|
@@ -127,17 +281,35 @@ declare const AnimatablePropSchema: z.ZodEnum<{
|
|
|
127
281
|
scaleY: "scaleY";
|
|
128
282
|
emissive: "emissive";
|
|
129
283
|
emissiveIntensity: "emissiveIntensity";
|
|
284
|
+
clearcoat: "clearcoat";
|
|
285
|
+
clearcoatRoughness: "clearcoatRoughness";
|
|
286
|
+
anisotropy: "anisotropy";
|
|
287
|
+
anisotropyRotation: "anisotropyRotation";
|
|
288
|
+
subsurface: "subsurface";
|
|
289
|
+
subsurfaceColor: "subsurfaceColor";
|
|
290
|
+
sheen: "sheen";
|
|
291
|
+
sheenColor: "sheenColor";
|
|
292
|
+
sheenRoughness: "sheenRoughness";
|
|
293
|
+
iridescence: "iridescence";
|
|
294
|
+
iridescenceThickness: "iridescenceThickness";
|
|
295
|
+
iridescenceIor: "iridescenceIor";
|
|
296
|
+
triplanarScale: "triplanarScale";
|
|
297
|
+
triplanarSharpness: "triplanarSharpness";
|
|
130
298
|
exposure: "exposure";
|
|
299
|
+
volumetricFogDensity: "volumetricFogDensity";
|
|
300
|
+
volumetricFogAnisotropy: "volumetricFogAnisotropy";
|
|
301
|
+
volumetricFogNoiseStrength: "volumetricFogNoiseStrength";
|
|
131
302
|
}>;
|
|
132
303
|
type AnimatableProp = z.infer<typeof AnimatablePropSchema>;
|
|
133
304
|
type SpatialAnimatableProp = "x" | "y" | "z" | "scale" | "scaleX" | "scaleY" | "scaleZ" | "rotation" | "rotateX" | "rotateY" | "rotateZ" | "opacity" | "width" | "height" | "hidden" | "perspective" | "perspectiveOriginX" | "perspectiveOriginY" | "translateZ" | "motionBlurShutter";
|
|
134
|
-
type
|
|
305
|
+
type MaterialAnimatableProp = "shininess" | "roughness" | "specularIntensity" | "ambientIntensity" | "metallic" | "ior" | "dispersion" | "transmission" | "fresnelPower" | "emissive" | "emissiveIntensity" | "clearcoat" | "clearcoatRoughness" | "anisotropy" | "anisotropyRotation" | "subsurface" | "subsurfaceColor" | "sheen" | "sheenColor" | "sheenRoughness" | "iridescence" | "iridescenceThickness" | "iridescenceIor" | "triplanarScale" | "triplanarSharpness" | "envIntensity" | "exposure";
|
|
306
|
+
type BoxAnimatableProp = SpatialAnimatableProp | MaterialAnimatableProp | "gap" | "padding" | "borderRadius" | "fill" | "color" | "borderColor" | "borderWidth";
|
|
135
307
|
type TextAnimatableProp = SpatialAnimatableProp | "text" | "fontSize" | "letterSpacing" | "fill" | "color" | "rangeStart" | "rangeEnd" | "offset" | "animatorRangeStart" | "animatorRangeEnd" | "animatorOffset" | "firstMargin" | "lastMargin" | "baselineShift";
|
|
136
308
|
type ShapeAnimatableProp = SpatialAnimatableProp | "d" | "trimStart" | "trimEnd" | "trimOffset" | "strokeWidth" | "strokeDashOffset" | "cornerRadius" | "starInnerRadiusRatio" | "fillColor" | "strokeColor" | "borderColor" | "borderWidth";
|
|
137
309
|
type MediaAnimatableProp = SpatialAnimatableProp | "volume" | "muted";
|
|
138
|
-
type CameraAnimatableProp = SpatialAnimatableProp | "cameraX" | "cameraY" | "cameraZ" | "targetX" | "targetY" | "targetZ" | "cameraPitch" | "cameraYaw" | "cameraRoll" | "cameraFov" | "cameraZoom" | "focalLength" | "focusDistance" | "fStop" | "maxBlurRadius" | "shakeTranslation" | "shakeRotation" | "orbitRadius" | "orbitAzimuth" | "orbitElevation";
|
|
139
|
-
type LightAnimatableProp = SpatialAnimatableProp | "intensity" | "angle" | "radius" | "penumbra" | "decay" | "color";
|
|
140
|
-
type Model3DAnimatableProp = SpatialAnimatableProp | "animationProgress" | "animationTime" | "animationSpeed" | "wireframe";
|
|
310
|
+
type CameraAnimatableProp = SpatialAnimatableProp | "cameraX" | "cameraY" | "cameraZ" | "targetX" | "targetY" | "targetZ" | "cameraPitch" | "cameraYaw" | "cameraRoll" | "cameraFov" | "cameraZoom" | "focalLength" | "focusDistance" | "fStop" | "maxBlurRadius" | "shakeTranslation" | "shakeRotation" | "relativitySpeed" | "orbitRadius" | "orbitAzimuth" | "orbitElevation";
|
|
311
|
+
type LightAnimatableProp = SpatialAnimatableProp | "targetX" | "targetY" | "targetZ" | "intensity" | "angle" | "radius" | "penumbra" | "decay" | "color" | "exposure" | "volumetricFogDensity" | "volumetricFogAnisotropy" | "volumetricFogNoiseStrength";
|
|
312
|
+
type Model3DAnimatableProp = SpatialAnimatableProp | MaterialAnimatableProp | "color" | "animationProgress" | "animationTime" | "animationSpeed" | "wireframe";
|
|
141
313
|
type AnimatablePropsFor<TNode> = TNode extends {
|
|
142
314
|
kind: "text";
|
|
143
315
|
} ? TextAnimatableProp : TNode extends {
|
|
@@ -178,7 +350,6 @@ declare const MaterialTypeSchema: z.ZodEnum<{
|
|
|
178
350
|
type MaterialType = z.infer<typeof MaterialTypeSchema>;
|
|
179
351
|
declare const EaseRefSchema: z.ZodObject<{
|
|
180
352
|
name: z.ZodEnum<{
|
|
181
|
-
bounce: "bounce";
|
|
182
353
|
none: "none";
|
|
183
354
|
power1: "power1";
|
|
184
355
|
power2: "power2";
|
|
@@ -188,6 +359,7 @@ declare const EaseRefSchema: z.ZodObject<{
|
|
|
188
359
|
expo: "expo";
|
|
189
360
|
back: "back";
|
|
190
361
|
elastic: "elastic";
|
|
362
|
+
bounce: "bounce";
|
|
191
363
|
spring: "spring";
|
|
192
364
|
cubic: "cubic";
|
|
193
365
|
hold: "hold";
|
|
@@ -206,7 +378,6 @@ declare const KeyframeSchema: z.ZodObject<{
|
|
|
206
378
|
value: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
|
|
207
379
|
ease: z.ZodOptional<z.ZodObject<{
|
|
208
380
|
name: z.ZodEnum<{
|
|
209
|
-
bounce: "bounce";
|
|
210
381
|
none: "none";
|
|
211
382
|
power1: "power1";
|
|
212
383
|
power2: "power2";
|
|
@@ -216,6 +387,7 @@ declare const KeyframeSchema: z.ZodObject<{
|
|
|
216
387
|
expo: "expo";
|
|
217
388
|
back: "back";
|
|
218
389
|
elastic: "elastic";
|
|
390
|
+
bounce: "bounce";
|
|
219
391
|
spring: "spring";
|
|
220
392
|
cubic: "cubic";
|
|
221
393
|
hold: "hold";
|
|
@@ -239,6 +411,16 @@ declare const KeyframeSchema: z.ZodObject<{
|
|
|
239
411
|
}, z.core.$strip>>;
|
|
240
412
|
}, z.core.$strict>;
|
|
241
413
|
type Keyframe = z.infer<typeof KeyframeSchema>;
|
|
414
|
+
/**
|
|
415
|
+
* Which clock a signal track reads: the composition's (default), as audio
|
|
416
|
+
* analysis and shared signals need, or its layer's own, from the layer's
|
|
417
|
+
* start frame, as keyframes do: motion authored for one scene of a sequence.
|
|
418
|
+
*/
|
|
419
|
+
declare const SignalClockSchema: z.ZodEnum<{
|
|
420
|
+
composition: "composition";
|
|
421
|
+
layer: "layer";
|
|
422
|
+
}>;
|
|
423
|
+
type SignalClock = z.infer<typeof SignalClockSchema>;
|
|
242
424
|
declare const RawTrackSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
243
425
|
type: z.ZodLiteral<"keyframe">;
|
|
244
426
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -263,6 +445,10 @@ declare const RawTrackSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
263
445
|
accumulateThreshold: z.ZodOptional<z.ZodNumber>;
|
|
264
446
|
debounceFrames: z.ZodOptional<z.ZodNumber>;
|
|
265
447
|
channel: z.ZodOptional<z.ZodString>;
|
|
448
|
+
clock: z.ZodOptional<z.ZodEnum<{
|
|
449
|
+
composition: "composition";
|
|
450
|
+
layer: "layer";
|
|
451
|
+
}>>;
|
|
266
452
|
}, z.core.$strip>, z.ZodObject<{
|
|
267
453
|
type: z.ZodLiteral<"wiggle">;
|
|
268
454
|
frequency: z.ZodDefault<z.ZodNumber>;
|
|
@@ -281,38 +467,38 @@ declare const AnimationTrackSchema: z.ZodObject<{
|
|
|
281
467
|
prop: z.ZodEnum<{
|
|
282
468
|
x: "x";
|
|
283
469
|
y: "y";
|
|
284
|
-
width: "width";
|
|
285
|
-
height: "height";
|
|
286
|
-
rotation: "rotation";
|
|
287
470
|
scale: "scale";
|
|
471
|
+
rotation: "rotation";
|
|
288
472
|
opacity: "opacity";
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
text: "text";
|
|
292
|
-
fontSize: "fontSize";
|
|
293
|
-
fill: "fill";
|
|
294
|
-
letterSpacing: "letterSpacing";
|
|
295
|
-
padding: "padding";
|
|
296
|
-
strokeWidth: "strokeWidth";
|
|
297
|
-
borderColor: "borderColor";
|
|
298
|
-
borderWidth: "borderWidth";
|
|
473
|
+
width: "width";
|
|
474
|
+
height: "height";
|
|
299
475
|
volume: "volume";
|
|
300
|
-
color: "color";
|
|
301
|
-
offset: "offset";
|
|
302
476
|
hidden: "hidden";
|
|
303
477
|
muted: "muted";
|
|
304
478
|
gap: "gap";
|
|
479
|
+
padding: "padding";
|
|
305
480
|
borderRadius: "borderRadius";
|
|
481
|
+
fontSize: "fontSize";
|
|
482
|
+
text: "text";
|
|
483
|
+
fill: "fill";
|
|
484
|
+
color: "color";
|
|
485
|
+
letterSpacing: "letterSpacing";
|
|
306
486
|
d: "d";
|
|
487
|
+
trimStart: "trimStart";
|
|
488
|
+
trimEnd: "trimEnd";
|
|
307
489
|
trimOffset: "trimOffset";
|
|
490
|
+
strokeWidth: "strokeWidth";
|
|
308
491
|
strokeDashOffset: "strokeDashOffset";
|
|
309
492
|
cornerRadius: "cornerRadius";
|
|
310
493
|
starInnerRadiusRatio: "starInnerRadiusRatio";
|
|
311
494
|
fillColor: "fillColor";
|
|
312
495
|
strokeColor: "strokeColor";
|
|
496
|
+
borderColor: "borderColor";
|
|
497
|
+
borderWidth: "borderWidth";
|
|
313
498
|
motionBlurShutter: "motionBlurShutter";
|
|
314
499
|
rangeStart: "rangeStart";
|
|
315
500
|
rangeEnd: "rangeEnd";
|
|
501
|
+
offset: "offset";
|
|
316
502
|
animatorRangeStart: "animatorRangeStart";
|
|
317
503
|
animatorRangeEnd: "animatorRangeEnd";
|
|
318
504
|
animatorOffset: "animatorOffset";
|
|
@@ -343,6 +529,7 @@ declare const AnimationTrackSchema: z.ZodObject<{
|
|
|
343
529
|
maxBlurRadius: "maxBlurRadius";
|
|
344
530
|
shakeTranslation: "shakeTranslation";
|
|
345
531
|
shakeRotation: "shakeRotation";
|
|
532
|
+
relativitySpeed: "relativitySpeed";
|
|
346
533
|
orbitRadius: "orbitRadius";
|
|
347
534
|
orbitAzimuth: "orbitAzimuth";
|
|
348
535
|
orbitElevation: "orbitElevation";
|
|
@@ -371,7 +558,24 @@ declare const AnimationTrackSchema: z.ZodObject<{
|
|
|
371
558
|
scaleY: "scaleY";
|
|
372
559
|
emissive: "emissive";
|
|
373
560
|
emissiveIntensity: "emissiveIntensity";
|
|
561
|
+
clearcoat: "clearcoat";
|
|
562
|
+
clearcoatRoughness: "clearcoatRoughness";
|
|
563
|
+
anisotropy: "anisotropy";
|
|
564
|
+
anisotropyRotation: "anisotropyRotation";
|
|
565
|
+
subsurface: "subsurface";
|
|
566
|
+
subsurfaceColor: "subsurfaceColor";
|
|
567
|
+
sheen: "sheen";
|
|
568
|
+
sheenColor: "sheenColor";
|
|
569
|
+
sheenRoughness: "sheenRoughness";
|
|
570
|
+
iridescence: "iridescence";
|
|
571
|
+
iridescenceThickness: "iridescenceThickness";
|
|
572
|
+
iridescenceIor: "iridescenceIor";
|
|
573
|
+
triplanarScale: "triplanarScale";
|
|
574
|
+
triplanarSharpness: "triplanarSharpness";
|
|
374
575
|
exposure: "exposure";
|
|
576
|
+
volumetricFogDensity: "volumetricFogDensity";
|
|
577
|
+
volumetricFogAnisotropy: "volumetricFogAnisotropy";
|
|
578
|
+
volumetricFogNoiseStrength: "volumetricFogNoiseStrength";
|
|
375
579
|
}>;
|
|
376
580
|
source: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
377
581
|
type: z.ZodLiteral<"keyframe">;
|
|
@@ -397,6 +601,10 @@ declare const AnimationTrackSchema: z.ZodObject<{
|
|
|
397
601
|
accumulateThreshold: z.ZodOptional<z.ZodNumber>;
|
|
398
602
|
debounceFrames: z.ZodOptional<z.ZodNumber>;
|
|
399
603
|
channel: z.ZodOptional<z.ZodString>;
|
|
604
|
+
clock: z.ZodOptional<z.ZodEnum<{
|
|
605
|
+
composition: "composition";
|
|
606
|
+
layer: "layer";
|
|
607
|
+
}>>;
|
|
400
608
|
}, z.core.$strip>, z.ZodObject<{
|
|
401
609
|
type: z.ZodLiteral<"wiggle">;
|
|
402
610
|
frequency: z.ZodDefault<z.ZodNumber>;
|
|
@@ -415,7 +623,6 @@ declare const AnimationTrackSchema: z.ZodObject<{
|
|
|
415
623
|
value: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
|
|
416
624
|
ease: z.ZodOptional<z.ZodObject<{
|
|
417
625
|
name: z.ZodEnum<{
|
|
418
|
-
bounce: "bounce";
|
|
419
626
|
none: "none";
|
|
420
627
|
power1: "power1";
|
|
421
628
|
power2: "power2";
|
|
@@ -425,6 +632,7 @@ declare const AnimationTrackSchema: z.ZodObject<{
|
|
|
425
632
|
expo: "expo";
|
|
426
633
|
back: "back";
|
|
427
634
|
elastic: "elastic";
|
|
635
|
+
bounce: "bounce";
|
|
428
636
|
spring: "spring";
|
|
429
637
|
cubic: "cubic";
|
|
430
638
|
hold: "hold";
|
|
@@ -461,38 +669,38 @@ declare const LayerAnimationSchema: z.ZodObject<{
|
|
|
461
669
|
prop: z.ZodEnum<{
|
|
462
670
|
x: "x";
|
|
463
671
|
y: "y";
|
|
464
|
-
width: "width";
|
|
465
|
-
height: "height";
|
|
466
|
-
rotation: "rotation";
|
|
467
672
|
scale: "scale";
|
|
673
|
+
rotation: "rotation";
|
|
468
674
|
opacity: "opacity";
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
text: "text";
|
|
472
|
-
fontSize: "fontSize";
|
|
473
|
-
fill: "fill";
|
|
474
|
-
letterSpacing: "letterSpacing";
|
|
475
|
-
padding: "padding";
|
|
476
|
-
strokeWidth: "strokeWidth";
|
|
477
|
-
borderColor: "borderColor";
|
|
478
|
-
borderWidth: "borderWidth";
|
|
675
|
+
width: "width";
|
|
676
|
+
height: "height";
|
|
479
677
|
volume: "volume";
|
|
480
|
-
color: "color";
|
|
481
|
-
offset: "offset";
|
|
482
678
|
hidden: "hidden";
|
|
483
679
|
muted: "muted";
|
|
484
680
|
gap: "gap";
|
|
681
|
+
padding: "padding";
|
|
485
682
|
borderRadius: "borderRadius";
|
|
683
|
+
fontSize: "fontSize";
|
|
684
|
+
text: "text";
|
|
685
|
+
fill: "fill";
|
|
686
|
+
color: "color";
|
|
687
|
+
letterSpacing: "letterSpacing";
|
|
486
688
|
d: "d";
|
|
689
|
+
trimStart: "trimStart";
|
|
690
|
+
trimEnd: "trimEnd";
|
|
487
691
|
trimOffset: "trimOffset";
|
|
692
|
+
strokeWidth: "strokeWidth";
|
|
488
693
|
strokeDashOffset: "strokeDashOffset";
|
|
489
694
|
cornerRadius: "cornerRadius";
|
|
490
695
|
starInnerRadiusRatio: "starInnerRadiusRatio";
|
|
491
696
|
fillColor: "fillColor";
|
|
492
697
|
strokeColor: "strokeColor";
|
|
698
|
+
borderColor: "borderColor";
|
|
699
|
+
borderWidth: "borderWidth";
|
|
493
700
|
motionBlurShutter: "motionBlurShutter";
|
|
494
701
|
rangeStart: "rangeStart";
|
|
495
702
|
rangeEnd: "rangeEnd";
|
|
703
|
+
offset: "offset";
|
|
496
704
|
animatorRangeStart: "animatorRangeStart";
|
|
497
705
|
animatorRangeEnd: "animatorRangeEnd";
|
|
498
706
|
animatorOffset: "animatorOffset";
|
|
@@ -523,6 +731,7 @@ declare const LayerAnimationSchema: z.ZodObject<{
|
|
|
523
731
|
maxBlurRadius: "maxBlurRadius";
|
|
524
732
|
shakeTranslation: "shakeTranslation";
|
|
525
733
|
shakeRotation: "shakeRotation";
|
|
734
|
+
relativitySpeed: "relativitySpeed";
|
|
526
735
|
orbitRadius: "orbitRadius";
|
|
527
736
|
orbitAzimuth: "orbitAzimuth";
|
|
528
737
|
orbitElevation: "orbitElevation";
|
|
@@ -551,7 +760,24 @@ declare const LayerAnimationSchema: z.ZodObject<{
|
|
|
551
760
|
scaleY: "scaleY";
|
|
552
761
|
emissive: "emissive";
|
|
553
762
|
emissiveIntensity: "emissiveIntensity";
|
|
763
|
+
clearcoat: "clearcoat";
|
|
764
|
+
clearcoatRoughness: "clearcoatRoughness";
|
|
765
|
+
anisotropy: "anisotropy";
|
|
766
|
+
anisotropyRotation: "anisotropyRotation";
|
|
767
|
+
subsurface: "subsurface";
|
|
768
|
+
subsurfaceColor: "subsurfaceColor";
|
|
769
|
+
sheen: "sheen";
|
|
770
|
+
sheenColor: "sheenColor";
|
|
771
|
+
sheenRoughness: "sheenRoughness";
|
|
772
|
+
iridescence: "iridescence";
|
|
773
|
+
iridescenceThickness: "iridescenceThickness";
|
|
774
|
+
iridescenceIor: "iridescenceIor";
|
|
775
|
+
triplanarScale: "triplanarScale";
|
|
776
|
+
triplanarSharpness: "triplanarSharpness";
|
|
554
777
|
exposure: "exposure";
|
|
778
|
+
volumetricFogDensity: "volumetricFogDensity";
|
|
779
|
+
volumetricFogAnisotropy: "volumetricFogAnisotropy";
|
|
780
|
+
volumetricFogNoiseStrength: "volumetricFogNoiseStrength";
|
|
555
781
|
}>;
|
|
556
782
|
source: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
557
783
|
type: z.ZodLiteral<"keyframe">;
|
|
@@ -577,6 +803,10 @@ declare const LayerAnimationSchema: z.ZodObject<{
|
|
|
577
803
|
accumulateThreshold: z.ZodOptional<z.ZodNumber>;
|
|
578
804
|
debounceFrames: z.ZodOptional<z.ZodNumber>;
|
|
579
805
|
channel: z.ZodOptional<z.ZodString>;
|
|
806
|
+
clock: z.ZodOptional<z.ZodEnum<{
|
|
807
|
+
composition: "composition";
|
|
808
|
+
layer: "layer";
|
|
809
|
+
}>>;
|
|
580
810
|
}, z.core.$strip>, z.ZodObject<{
|
|
581
811
|
type: z.ZodLiteral<"wiggle">;
|
|
582
812
|
frequency: z.ZodDefault<z.ZodNumber>;
|
|
@@ -595,7 +825,6 @@ declare const LayerAnimationSchema: z.ZodObject<{
|
|
|
595
825
|
value: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
|
|
596
826
|
ease: z.ZodOptional<z.ZodObject<{
|
|
597
827
|
name: z.ZodEnum<{
|
|
598
|
-
bounce: "bounce";
|
|
599
828
|
none: "none";
|
|
600
829
|
power1: "power1";
|
|
601
830
|
power2: "power2";
|
|
@@ -605,6 +834,7 @@ declare const LayerAnimationSchema: z.ZodObject<{
|
|
|
605
834
|
expo: "expo";
|
|
606
835
|
back: "back";
|
|
607
836
|
elastic: "elastic";
|
|
837
|
+
bounce: "bounce";
|
|
608
838
|
spring: "spring";
|
|
609
839
|
cubic: "cubic";
|
|
610
840
|
hold: "hold";
|
|
@@ -637,6 +867,19 @@ type BaseLayerAnimationSpec = z.infer<typeof LayerAnimationSchema>;
|
|
|
637
867
|
type LayerAnimationSpec<TProp extends AnimatableProp = AnimatableProp> = Omit<BaseLayerAnimationSpec, "tracks"> & {
|
|
638
868
|
tracks: AnimationTrack<TProp>[];
|
|
639
869
|
};
|
|
870
|
+
declare const ToonShadingSchema: z.ZodType<ToonShading>;
|
|
871
|
+
declare const GeometryOutlineOptionsSchema: z.ZodType<GeometryOutlineOptions>;
|
|
872
|
+
declare const IridescenceConfigSchema: z.ZodObject<{
|
|
873
|
+
intensity: z.ZodOptional<z.ZodNumber>;
|
|
874
|
+
thickness: z.ZodOptional<z.ZodNumber>;
|
|
875
|
+
ior: z.ZodOptional<z.ZodNumber>;
|
|
876
|
+
}, z.core.$strict>;
|
|
877
|
+
type IridescenceConfig = z.infer<typeof IridescenceConfigSchema>;
|
|
878
|
+
declare const TriplanarConfigSchema: z.ZodObject<{
|
|
879
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
880
|
+
sharpness: z.ZodOptional<z.ZodNumber>;
|
|
881
|
+
}, z.core.$strict>;
|
|
882
|
+
type TriplanarConfig = z.infer<typeof TriplanarConfigSchema>;
|
|
640
883
|
interface CompositionNodeBase {
|
|
641
884
|
id: string;
|
|
642
885
|
inputHandleId?: string;
|
|
@@ -685,7 +928,24 @@ interface CompositionNodeBase {
|
|
|
685
928
|
fresnelPower?: number;
|
|
686
929
|
emissive?: string;
|
|
687
930
|
emissiveIntensity?: number;
|
|
931
|
+
clearcoat?: number;
|
|
932
|
+
clearcoatRoughness?: number;
|
|
933
|
+
anisotropy?: number;
|
|
934
|
+
anisotropyRotation?: number;
|
|
935
|
+
subsurface?: number;
|
|
936
|
+
subsurfaceColor?: string;
|
|
937
|
+
sheen?: number;
|
|
938
|
+
sheenColor?: string;
|
|
939
|
+
sheenRoughness?: number;
|
|
940
|
+
iridescence?: number | IridescenceConfig;
|
|
941
|
+
iridescenceThickness?: number;
|
|
942
|
+
iridescenceIor?: number;
|
|
943
|
+
triplanar?: boolean | TriplanarConfig;
|
|
944
|
+
triplanarScale?: number;
|
|
945
|
+
triplanarSharpness?: number;
|
|
688
946
|
castShadow?: boolean;
|
|
947
|
+
toon?: ToonShading;
|
|
948
|
+
outline?: boolean;
|
|
689
949
|
matte?: {
|
|
690
950
|
node: unknown;
|
|
691
951
|
mode?: MatteMode;
|
|
@@ -700,6 +960,7 @@ interface CompositionNodeBase {
|
|
|
700
960
|
reliefId?: string;
|
|
701
961
|
reliefOf?: string;
|
|
702
962
|
reliefAmount?: number;
|
|
963
|
+
textureOf?: string;
|
|
703
964
|
envIntensity?: number;
|
|
704
965
|
startFrame?: number;
|
|
705
966
|
durationFrames?: number;
|
|
@@ -859,6 +1120,13 @@ interface TextNode extends CompositionNodeBase {
|
|
|
859
1120
|
fontSize?: number;
|
|
860
1121
|
fontWeight?: number | string;
|
|
861
1122
|
fontStyle?: string;
|
|
1123
|
+
/**
|
|
1124
|
+
* Variable font axes by tag, as CSS `font-variation-settings`: `{ wdth: 68 }`
|
|
1125
|
+
* narrows a font with a width axis, `{ opsz: 72 }` or `{ GRAD: 50 }` set
|
|
1126
|
+
* others. `fontWeight` sets `wght`; `opsz` follows the font size unless set.
|
|
1127
|
+
* Axes the font lacks are ignored. Spans inherit them.
|
|
1128
|
+
*/
|
|
1129
|
+
fontVariations?: Record<string, number>;
|
|
862
1130
|
fill?: string;
|
|
863
1131
|
align?: "start" | "center" | "end";
|
|
864
1132
|
/**
|
|
@@ -950,6 +1218,12 @@ interface ShapeNode extends CompositionNodeBase {
|
|
|
950
1218
|
trimEnd?: number;
|
|
951
1219
|
trimOffset?: number;
|
|
952
1220
|
}
|
|
1221
|
+
/**
|
|
1222
|
+
* The picture a camera draws. `perspective` is an ordinary lens; the others
|
|
1223
|
+
* are cube cameras: the scene is drawn as six 90° faces around the eye and
|
|
1224
|
+
* remapped, so they can show what no single frustum holds.
|
|
1225
|
+
*/
|
|
1226
|
+
|
|
953
1227
|
declare const CameraLensSchema: z.ZodObject<{
|
|
954
1228
|
focalLength: z.ZodDefault<z.ZodNumber>;
|
|
955
1229
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
@@ -957,8 +1231,15 @@ declare const CameraLensSchema: z.ZodObject<{
|
|
|
957
1231
|
near: z.ZodDefault<z.ZodNumber>;
|
|
958
1232
|
far: z.ZodDefault<z.ZodNumber>;
|
|
959
1233
|
zoom: z.ZodDefault<z.ZodNumber>;
|
|
1234
|
+
projection: z.ZodDefault<z.ZodEnum<{
|
|
1235
|
+
perspective: "perspective";
|
|
1236
|
+
equirectangular: "equirectangular";
|
|
1237
|
+
fisheye: "fisheye";
|
|
1238
|
+
}>>;
|
|
1239
|
+
cubeSize: z.ZodOptional<z.ZodNumber>;
|
|
960
1240
|
}, z.core.$strict>;
|
|
961
|
-
|
|
1241
|
+
/** A lens as authored: fields with schema defaults may be left out. */
|
|
1242
|
+
type CameraLens = z.input<typeof CameraLensSchema>;
|
|
962
1243
|
declare const CameraDoFSchema: z.ZodObject<{
|
|
963
1244
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
964
1245
|
focusDistance: z.ZodDefault<z.ZodNumber>;
|
|
@@ -976,7 +1257,33 @@ declare const CameraShakeSchema: z.ZodObject<{
|
|
|
976
1257
|
octaves: z.ZodDefault<z.ZodNumber>;
|
|
977
1258
|
seed: z.ZodDefault<z.ZodNumber>;
|
|
978
1259
|
}, z.core.$strict>;
|
|
979
|
-
type CameraShake = z.
|
|
1260
|
+
type CameraShake = z.input<typeof CameraShakeSchema>;
|
|
1261
|
+
/**
|
|
1262
|
+
* Per-object shutter motion blur for the 3D scene: every mesh, skinned
|
|
1263
|
+
* joint, instance and fractured piece streaks by its own motion over the
|
|
1264
|
+
* shutter (and the camera's), reconstructed from a velocity buffer.
|
|
1265
|
+
*/
|
|
1266
|
+
declare const CameraMotionBlurSchema: z.ZodObject<{
|
|
1267
|
+
shutter: z.ZodDefault<z.ZodNumber>;
|
|
1268
|
+
samples: z.ZodDefault<z.ZodNumber>;
|
|
1269
|
+
maxBlur: z.ZodDefault<z.ZodNumber>;
|
|
1270
|
+
}, z.core.$strict>;
|
|
1271
|
+
type CameraMotionBlur = z.input<typeof CameraMotionBlurSchema>;
|
|
1272
|
+
/**
|
|
1273
|
+
* The camera moves through the scene near the speed of light. What it sees
|
|
1274
|
+
* is physics, not grading: rays crowd towards the direction of motion
|
|
1275
|
+
* (aberration), colours shift blue ahead and red behind (Doppler) and ahead
|
|
1276
|
+
* brightens (beaming). Always drawn by a cube camera.
|
|
1277
|
+
*/
|
|
1278
|
+
declare const CameraRelativitySchema: z.ZodObject<{
|
|
1279
|
+
speed: z.ZodDefault<z.ZodNumber>;
|
|
1280
|
+
direction: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
1281
|
+
doppler: z.ZodDefault<z.ZodBoolean>;
|
|
1282
|
+
beaming: z.ZodDefault<z.ZodBoolean>;
|
|
1283
|
+
exposure: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodNumber]>>;
|
|
1284
|
+
}, z.core.$strict>;
|
|
1285
|
+
/** Relativity as authored: fields with schema defaults may be left out. */
|
|
1286
|
+
type CameraRelativity = z.input<typeof CameraRelativitySchema>;
|
|
980
1287
|
interface CameraNode {
|
|
981
1288
|
id: string;
|
|
982
1289
|
kind: "camera";
|
|
@@ -993,13 +1300,17 @@ interface CameraNode {
|
|
|
993
1300
|
lens?: CameraLens;
|
|
994
1301
|
dof?: CameraDoF;
|
|
995
1302
|
shake?: CameraShake;
|
|
1303
|
+
/** Shutter motion blur of the 3D scene; `true` takes the defaults. */
|
|
1304
|
+
motionBlur?: boolean | CameraMotionBlur;
|
|
1305
|
+
relativity?: CameraRelativity;
|
|
996
1306
|
startFrame?: number;
|
|
997
1307
|
durationFrames?: number;
|
|
998
1308
|
animation?: LayerAnimationSpec;
|
|
999
1309
|
}
|
|
1000
1310
|
declare const CameraNodeSchema: z.ZodType<CameraNode>;
|
|
1001
|
-
type LightType = "ambient" | "directional" | "point" | "spot" | "environment";
|
|
1311
|
+
type LightType = "ambient" | "directional" | "point" | "spot" | "rect" | "environment";
|
|
1002
1312
|
declare const LightTypeSchema: z.ZodEnum<{
|
|
1313
|
+
rect: "rect";
|
|
1003
1314
|
ambient: "ambient";
|
|
1004
1315
|
directional: "directional";
|
|
1005
1316
|
point: "point";
|
|
@@ -1009,8 +1320,10 @@ declare const LightTypeSchema: z.ZodEnum<{
|
|
|
1009
1320
|
declare const EnvironmentPresetSchema: z.ZodEnum<{
|
|
1010
1321
|
studio: "studio";
|
|
1011
1322
|
soft: "soft";
|
|
1323
|
+
warm: "warm";
|
|
1012
1324
|
sunset: "sunset";
|
|
1013
1325
|
night: "night";
|
|
1326
|
+
neon: "neon";
|
|
1014
1327
|
neutral: "neutral";
|
|
1015
1328
|
}>;
|
|
1016
1329
|
type EnvironmentPreset = z.infer<typeof EnvironmentPresetSchema>;
|
|
@@ -1044,6 +1357,44 @@ declare const EnvironmentFloorSchema: z.ZodObject<{
|
|
|
1044
1357
|
opacity: z.ZodOptional<z.ZodNumber>;
|
|
1045
1358
|
}, z.core.$strict>;
|
|
1046
1359
|
type EnvironmentFloor = z.infer<typeof EnvironmentFloorSchema>;
|
|
1360
|
+
declare const EnvironmentVolumetricFogNoiseSchema: z.ZodObject<{
|
|
1361
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
1362
|
+
strength: z.ZodOptional<z.ZodNumber>;
|
|
1363
|
+
speed: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
1364
|
+
octaves: z.ZodOptional<z.ZodNumber>;
|
|
1365
|
+
}, z.core.$strict>;
|
|
1366
|
+
type EnvironmentVolumetricFogNoise = z.infer<typeof EnvironmentVolumetricFogNoiseSchema>;
|
|
1367
|
+
declare const EnvironmentVolumetricFogSchema: z.ZodObject<{
|
|
1368
|
+
density: z.ZodOptional<z.ZodNumber>;
|
|
1369
|
+
color: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
1370
|
+
anisotropy: z.ZodOptional<z.ZodNumber>;
|
|
1371
|
+
heightFalloff: z.ZodOptional<z.ZodNumber>;
|
|
1372
|
+
baseHeight: z.ZodOptional<z.ZodNumber>;
|
|
1373
|
+
steps: z.ZodOptional<z.ZodNumber>;
|
|
1374
|
+
maxDistance: z.ZodOptional<z.ZodNumber>;
|
|
1375
|
+
lightIntensity: z.ZodOptional<z.ZodNumber>;
|
|
1376
|
+
ambientIntensity: z.ZodOptional<z.ZodNumber>;
|
|
1377
|
+
noise: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
|
|
1378
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
1379
|
+
strength: z.ZodOptional<z.ZodNumber>;
|
|
1380
|
+
speed: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
1381
|
+
octaves: z.ZodOptional<z.ZodNumber>;
|
|
1382
|
+
}, z.core.$strict>]>>;
|
|
1383
|
+
}, z.core.$strict>;
|
|
1384
|
+
type EnvironmentVolumetricFog = z.infer<typeof EnvironmentVolumetricFogSchema>;
|
|
1385
|
+
declare const EnvironmentSsrSchema: z.ZodObject<{
|
|
1386
|
+
intensity: z.ZodOptional<z.ZodNumber>;
|
|
1387
|
+
maxRoughness: z.ZodOptional<z.ZodNumber>;
|
|
1388
|
+
thickness: z.ZodOptional<z.ZodNumber>;
|
|
1389
|
+
steps: z.ZodOptional<z.ZodNumber>;
|
|
1390
|
+
}, z.core.$strict>;
|
|
1391
|
+
type EnvironmentSsr = z.infer<typeof EnvironmentSsrSchema>;
|
|
1392
|
+
declare const EnvironmentGiSchema: z.ZodObject<{
|
|
1393
|
+
intensity: z.ZodOptional<z.ZodNumber>;
|
|
1394
|
+
radius: z.ZodOptional<z.ZodNumber>;
|
|
1395
|
+
samples: z.ZodOptional<z.ZodNumber>;
|
|
1396
|
+
}, z.core.$strict>;
|
|
1397
|
+
type EnvironmentGi = z.infer<typeof EnvironmentGiSchema>;
|
|
1047
1398
|
interface LightNode {
|
|
1048
1399
|
id: string;
|
|
1049
1400
|
kind: "light";
|
|
@@ -1061,15 +1412,23 @@ interface LightNode {
|
|
|
1061
1412
|
decay?: number;
|
|
1062
1413
|
angle?: number;
|
|
1063
1414
|
penumbra?: number;
|
|
1064
|
-
/**
|
|
1415
|
+
/** Area light width in world px (default 240, rect lights only). */
|
|
1416
|
+
width?: number;
|
|
1417
|
+
/** Area light height in world px (default 140, rect lights only). */
|
|
1418
|
+
height?: number;
|
|
1419
|
+
/** Emit from both faces of a rect light (default false). */
|
|
1420
|
+
twoSided?: boolean;
|
|
1421
|
+
/** Directional / spot / point / rect: render a shadow map. */
|
|
1065
1422
|
castShadow?: boolean;
|
|
1066
1423
|
/** Shadow edge blur in shadow-map texels. Default 2.5. */
|
|
1067
1424
|
shadowSoftness?: number;
|
|
1068
1425
|
/** 0..1, how dark shadows get. Default 1. */
|
|
1069
1426
|
shadowDarkness?: number;
|
|
1070
|
-
/** Shadow map resolution (texels per side). Default 2048. */
|
|
1427
|
+
/** Shadow map resolution (texels per side). Default 2048 (1024 for point). */
|
|
1071
1428
|
shadowMapSize?: number;
|
|
1072
1429
|
preset?: EnvironmentPreset;
|
|
1430
|
+
/** Equirectangular panorama for real HDRI IBL: a `.hdr` (Radiance RGBE) or `.exr` (OpenEXR) path, or the file's bytes. */
|
|
1431
|
+
hdri?: string | Uint8Array;
|
|
1073
1432
|
top?: string;
|
|
1074
1433
|
horizon?: string;
|
|
1075
1434
|
bottom?: string;
|
|
@@ -1079,6 +1438,20 @@ interface LightNode {
|
|
|
1079
1438
|
toneMapping?: ToneMapping;
|
|
1080
1439
|
fog?: EnvironmentFog;
|
|
1081
1440
|
floor?: EnvironmentFloor;
|
|
1441
|
+
/** Froxel-style volumetric participating media & shadowed light shafts (god rays). */
|
|
1442
|
+
volumetricFog?: boolean | EnvironmentVolumetricFog;
|
|
1443
|
+
/** Animatable / signal-driven override for volumetricFog.density. */
|
|
1444
|
+
volumetricFogDensity?: number;
|
|
1445
|
+
/** Animatable / signal-driven override for volumetricFog.anisotropy. */
|
|
1446
|
+
volumetricFogAnisotropy?: number;
|
|
1447
|
+
/** Animatable / signal-driven override for volumetricFog.noise.strength. */
|
|
1448
|
+
volumetricFogNoiseStrength?: number;
|
|
1449
|
+
/** Screen-space reflections of nearby geometry and emissives on glossy surfaces. */
|
|
1450
|
+
ssr?: boolean | EnvironmentSsr;
|
|
1451
|
+
/** Screen-space diffuse GI: occlusion and color bleeding from visible surfaces. */
|
|
1452
|
+
gi?: boolean | EnvironmentGi;
|
|
1453
|
+
/** Optional depth/normal outlines, before depth of field and bloom. */
|
|
1454
|
+
outlines?: boolean | GeometryOutlineOptions;
|
|
1082
1455
|
/** Glow around emissive surfaces and hot highlights: `true` or settings. */
|
|
1083
1456
|
bloom?: boolean | BloomConfig;
|
|
1084
1457
|
startFrame?: number;
|
|
@@ -1113,6 +1486,26 @@ interface Model3DNode {
|
|
|
1113
1486
|
specularIntensity?: number;
|
|
1114
1487
|
ambientIntensity?: number;
|
|
1115
1488
|
metallic?: number;
|
|
1489
|
+
emissive?: string;
|
|
1490
|
+
emissiveIntensity?: number;
|
|
1491
|
+
clearcoat?: number;
|
|
1492
|
+
clearcoatRoughness?: number;
|
|
1493
|
+
anisotropy?: number;
|
|
1494
|
+
anisotropyRotation?: number;
|
|
1495
|
+
subsurface?: number;
|
|
1496
|
+
subsurfaceColor?: string;
|
|
1497
|
+
sheen?: number;
|
|
1498
|
+
sheenColor?: string;
|
|
1499
|
+
sheenRoughness?: number;
|
|
1500
|
+
iridescence?: number | IridescenceConfig;
|
|
1501
|
+
iridescenceThickness?: number;
|
|
1502
|
+
iridescenceIor?: number;
|
|
1503
|
+
triplanar?: boolean | TriplanarConfig;
|
|
1504
|
+
triplanarScale?: number;
|
|
1505
|
+
triplanarSharpness?: number;
|
|
1506
|
+
toon?: ToonShading;
|
|
1507
|
+
outline?: boolean;
|
|
1508
|
+
castShadow?: boolean;
|
|
1116
1509
|
color?: string;
|
|
1117
1510
|
colorTint?: string;
|
|
1118
1511
|
opacity?: number;
|
|
@@ -1133,6 +1526,41 @@ interface Model3DNode {
|
|
|
1133
1526
|
instances3d?: unknown;
|
|
1134
1527
|
/** Layer3D.swarm GPU simulation and instancing options. */
|
|
1135
1528
|
swarm3d?: unknown;
|
|
1529
|
+
/** Layer3D.scatter: instances placed on another model's surface. */
|
|
1530
|
+
scatter3d?: Scatter3DSpec;
|
|
1531
|
+
/** Voronoi destruction: the mesh drawn as pieces posed by physics (`world.fracture`). */
|
|
1532
|
+
fracture3d?: Fracture3DSpec;
|
|
1533
|
+
/** Procedural wind sway (bends vertices downwind by height above the mesh base). */
|
|
1534
|
+
wind?: WindConfig;
|
|
1535
|
+
/** Any layer (image, video, layout) drawn each frame and wrapped onto the mesh by its UVs. */
|
|
1536
|
+
textureLayer?: {
|
|
1537
|
+
node: unknown;
|
|
1538
|
+
};
|
|
1539
|
+
/** Set by the compiler: the id of the hoisted texture layer. */
|
|
1540
|
+
textureLayerId?: string;
|
|
1541
|
+
/** Clips blended in order, each over the pose beneath by its weight (replaces animationName). */
|
|
1542
|
+
animationLayers?: ModelAnimationLayer[];
|
|
1543
|
+
/** Two-bone IK: limbs reach scene-space targets. */
|
|
1544
|
+
ik?: TwoBoneIkConstraint[];
|
|
1545
|
+
/** Joints (heads, eyes) turn toward scene-space targets. */
|
|
1546
|
+
lookAt?: LookAtConstraint[];
|
|
1547
|
+
/** Secondary motion simulated from frame 0 (capes, tails, hair). */
|
|
1548
|
+
springBones?: SpringBoneChain[];
|
|
1549
|
+
/** Joints posed directly by name (local Euler degrees, offsets), over the clips. */
|
|
1550
|
+
pose?: Record<string, JointPose>;
|
|
1551
|
+
/**
|
|
1552
|
+
* Blend shape weights by target name (glTF `extras.targetNames`; case is
|
|
1553
|
+
* ignored): `{ eyeBlinkLeft: blink, jawOpen: speech }`. Each value is a
|
|
1554
|
+
* number, `[[frame, v]]` keys, `(frame) => v` or a signal; it replaces the
|
|
1555
|
+
* clip's weight for that target.
|
|
1556
|
+
*/
|
|
1557
|
+
morphs?: Record<string, NumberTrack>;
|
|
1558
|
+
/** Bones pointed along scene directions, parents first (pose retargeting). */
|
|
1559
|
+
aim?: AimConstraint[];
|
|
1560
|
+
/** Joints driven by other joints, on top of any the model file declares (eyelids, twist bones). */
|
|
1561
|
+
drive?: JointDriver[];
|
|
1562
|
+
/** Instance nodes: every instance a skinned character on its own clip, phase and speed. */
|
|
1563
|
+
crowd?: CrowdConfig;
|
|
1136
1564
|
}
|
|
1137
1565
|
type LayoutNode = FlexNode | BlockNode | BoxNode | TextNode | MediaNode | ShapeNode | CameraNode | LightNode | Model3DNode;
|
|
1138
1566
|
declare const FlexNodeSchema: z.ZodType<FlexNode>;
|
|
@@ -1263,6 +1691,9 @@ declare function computeLayoutSync(yoga: Yoga, input: LayoutInput): LayoutResult
|
|
|
1263
1691
|
declare function computeLayout(input: LayoutInput): Promise<LayoutResult>;
|
|
1264
1692
|
//#endregion
|
|
1265
1693
|
//#region src/program/animation.d.ts
|
|
1694
|
+
/** Common 3D Euler rotation aliases accepted alongside `rotateX` / `rotateY` / `rotateZ`. */
|
|
1695
|
+
type AnimatablePropAlias = "rotationX" | "rotationY" | "rotationZ";
|
|
1696
|
+
type CanonicalAnimatableProp<P extends AnimatableProp | AnimatablePropAlias> = P extends "rotationX" ? "rotateX" : P extends "rotationY" ? "rotateY" : P extends "rotationZ" ? "rotateZ" : P;
|
|
1266
1697
|
/**
|
|
1267
1698
|
* One keyframe as a tuple: `[frame, value]` or `[frame, value, ease]`. The
|
|
1268
1699
|
* ease shapes the motion arriving at this keyframe from the one before.
|
|
@@ -1314,6 +1745,13 @@ interface SignalTrackOptions {
|
|
|
1314
1745
|
mode?: "continuous" | "accumulate";
|
|
1315
1746
|
threshold?: number;
|
|
1316
1747
|
debounceFrames?: number;
|
|
1748
|
+
/**
|
|
1749
|
+
* `"composition"` (default) samples the signal at the composition frame,
|
|
1750
|
+
* as audio analysis and shared signals need. `"layer"` samples it at the
|
|
1751
|
+
* layer's own frame, counted from its start like keyframes: for motion
|
|
1752
|
+
* authored per scene, which then plays right inside `Layer.sequence`.
|
|
1753
|
+
*/
|
|
1754
|
+
clock?: SignalClock;
|
|
1317
1755
|
}
|
|
1318
1756
|
interface ColorSignalOptions {
|
|
1319
1757
|
colorA: string;
|
|
@@ -1402,21 +1840,24 @@ declare class LayerAnimation<TProp extends AnimatableProp = AnimatableProp> impl
|
|
|
1402
1840
|
static stepped<P extends AnimatableProp = AnimatableProp>(frames?: number): LayerAnimation<P>;
|
|
1403
1841
|
/** See {@link LayerAnimation.stepped}. */
|
|
1404
1842
|
stepped(frames?: number): this;
|
|
1405
|
-
static fromTo<P extends AnimatableProp = AnimatableProp>(prop: P, fromValue: number | string | boolean, toValue: number | string | boolean, options?: FromToOptions): LayerAnimation<P
|
|
1843
|
+
static fromTo<P extends AnimatableProp | AnimatablePropAlias = AnimatableProp>(prop: P, fromValue: number | string | boolean, toValue: number | string | boolean, options?: FromToOptions): LayerAnimation<CanonicalAnimatableProp<P>>;
|
|
1406
1844
|
/** A track from a list of `[frame, value, ease?]` keyframes; see {@link LayerAnimation.keys}. */
|
|
1407
|
-
static keys<P extends AnimatableProp = AnimatableProp>(prop: P, keyframes: readonly KeyframeTuple[], options?: TrackKeyOptions): LayerAnimation<P
|
|
1408
|
-
static signal<P extends AnimatableProp = AnimatableProp>(prop: P, signalOrHandleId: unknown, options?: SignalTrackOptions): LayerAnimation<P
|
|
1409
|
-
static colorSignal<P extends AnimatableProp = AnimatableProp>(prop: P, signalOrHandleId: unknown, options: ColorSignalOptions): LayerAnimation<P
|
|
1845
|
+
static keys<P extends AnimatableProp | AnimatablePropAlias = AnimatableProp>(prop: P, keyframes: readonly KeyframeTuple[], options?: TrackKeyOptions): LayerAnimation<CanonicalAnimatableProp<P>>;
|
|
1846
|
+
static signal<P extends AnimatableProp | AnimatablePropAlias = AnimatableProp>(prop: P, signalOrHandleId: unknown, options?: SignalTrackOptions): LayerAnimation<CanonicalAnimatableProp<P>>;
|
|
1847
|
+
static colorSignal<P extends AnimatableProp | AnimatablePropAlias = AnimatableProp>(prop: P, signalOrHandleId: unknown, options: ColorSignalOptions): LayerAnimation<CanonicalAnimatableProp<P>>;
|
|
1410
1848
|
static kineticSweep(fromOffset?: number, toOffset?: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): LayerAnimation;
|
|
1411
1849
|
static typewriter(startFrame?: number, endFrame?: number, ease?: string | EaseRef): LayerAnimation;
|
|
1412
1850
|
static letterSpacing(fromSpacing: number, toSpacing: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): LayerAnimation;
|
|
1413
|
-
static wiggle(prop: AnimatableProp, options?: WiggleOptions): LayerAnimation;
|
|
1414
|
-
static spring(prop: AnimatableProp, options?: SpringOptions): LayerAnimation;
|
|
1851
|
+
static wiggle(prop: AnimatableProp | AnimatablePropAlias, options?: WiggleOptions): LayerAnimation;
|
|
1852
|
+
static spring(prop: AnimatableProp | AnimatablePropAlias, options?: SpringOptions): LayerAnimation;
|
|
1415
1853
|
static firstMargin(fromMargin: number, toMargin: number, options?: FromToOptions): LayerAnimation;
|
|
1416
1854
|
static strokeWidth(fromWidth: number, toWidth: number, options?: FromToOptions): LayerAnimation;
|
|
1417
1855
|
static rotateX(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
1418
1856
|
static rotateY(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
1419
1857
|
static rotateZ(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
1858
|
+
static rotationX(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
1859
|
+
static rotationY(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
1860
|
+
static rotationZ(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
1420
1861
|
static rotation(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
1421
1862
|
static scale(fromScale: number, toScale: number, options?: FromToOptions): LayerAnimation;
|
|
1422
1863
|
static scaleX(fromScale: number, toScale: number, options?: FromToOptions): LayerAnimation;
|
|
@@ -1427,32 +1868,32 @@ declare class LayerAnimation<TProp extends AnimatableProp = AnimatableProp> impl
|
|
|
1427
1868
|
* - `-1`: loops indefinitely.
|
|
1428
1869
|
* - `N`: repeats N times after the initial iteration (total N + 1 iterations).
|
|
1429
1870
|
*/
|
|
1430
|
-
repeat(count?: number, prop?: AnimatableProp): this;
|
|
1871
|
+
repeat(count?: number, prop?: AnimatableProp | AnimatablePropAlias): this;
|
|
1431
1872
|
/**
|
|
1432
1873
|
* Enables or disables yoyo (alternate playback direction on each repeat iteration).
|
|
1433
1874
|
*/
|
|
1434
|
-
yoyo(enable?: boolean, prop?: AnimatableProp): this;
|
|
1875
|
+
yoyo(enable?: boolean, prop?: AnimatableProp | AnimatablePropAlias): this;
|
|
1435
1876
|
/**
|
|
1436
1877
|
* Shorthand to loop keyframed animation continuously (infinite repeat).
|
|
1437
1878
|
* If `options.yoyo` is true, oscillates back and forth.
|
|
1438
1879
|
*/
|
|
1439
1880
|
loop(options?: {
|
|
1440
1881
|
yoyo?: boolean;
|
|
1441
|
-
}, prop?: AnimatableProp): this;
|
|
1882
|
+
}, prop?: AnimatableProp | AnimatablePropAlias): this;
|
|
1442
1883
|
/**
|
|
1443
1884
|
* Creates a keyframed track animating from fromValue to toValue.
|
|
1444
1885
|
*/
|
|
1445
|
-
fromTo(
|
|
1886
|
+
fromTo(rawProp: AnimatableProp | AnimatablePropAlias, fromValue: number | string | boolean, toValue: number | string | boolean, options?: FromToOptions): this;
|
|
1446
1887
|
/**
|
|
1447
1888
|
* Appends a keyframe to an existing track for prop, or creates a new track.
|
|
1448
1889
|
*/
|
|
1449
|
-
keyframe(
|
|
1890
|
+
keyframe(rawProp: AnimatableProp | AnimatablePropAlias, frame: number, value: number | string | boolean, ease?: string | EaseRef): this;
|
|
1450
1891
|
/**
|
|
1451
1892
|
* Adds several keyframes to prop's track at once:
|
|
1452
1893
|
* `.keys("scale", [[0, 0], [12, 1.1, "back.out"], [20, 1]])`.
|
|
1453
1894
|
* Frames are rounded to whole frames, so beat math can be passed straight in.
|
|
1454
1895
|
*/
|
|
1455
|
-
keys(
|
|
1896
|
+
keys(rawProp: AnimatableProp | AnimatablePropAlias, keyframes: readonly KeyframeTuple[], options?: TrackKeyOptions): this;
|
|
1456
1897
|
/**
|
|
1457
1898
|
* Animates opacity from 0 to 1 between startFrame and endFrame.
|
|
1458
1899
|
*/
|
|
@@ -1506,6 +1947,12 @@ declare class LayerAnimation<TProp extends AnimatableProp = AnimatableProp> impl
|
|
|
1506
1947
|
* Animate rotateZ from fromAngle to toAngle.
|
|
1507
1948
|
*/
|
|
1508
1949
|
rotateZ(fromAngle: number, toAngle: number, options?: FromToOptions): this;
|
|
1950
|
+
/** Alias for {@link rotateX}. */
|
|
1951
|
+
rotationX(fromAngle: number, toAngle: number, options?: FromToOptions): this;
|
|
1952
|
+
/** Alias for {@link rotateY}. */
|
|
1953
|
+
rotationY(fromAngle: number, toAngle: number, options?: FromToOptions): this;
|
|
1954
|
+
/** Alias for {@link rotateZ}. */
|
|
1955
|
+
rotationZ(fromAngle: number, toAngle: number, options?: FromToOptions): this;
|
|
1509
1956
|
/**
|
|
1510
1957
|
* Animate scale along the X axis.
|
|
1511
1958
|
*/
|
|
@@ -1538,20 +1985,20 @@ declare class LayerAnimation<TProp extends AnimatableProp = AnimatableProp> impl
|
|
|
1538
1985
|
* registered with the program automatically — or the name of a signal
|
|
1539
1986
|
* registered with `comp.addSignal(name, signal)`.
|
|
1540
1987
|
*/
|
|
1541
|
-
signal(
|
|
1988
|
+
signal(rawProp: AnimatableProp | AnimatablePropAlias, signalOrHandleId: unknown, options?: SignalTrackOptions): this;
|
|
1542
1989
|
/**
|
|
1543
1990
|
* Modulates color interpolation based on an active signal (object or
|
|
1544
1991
|
* registered name, as in {@link LayerAnimation.signal}).
|
|
1545
1992
|
*/
|
|
1546
|
-
colorSignal(
|
|
1993
|
+
colorSignal(rawProp: AnimatableProp | AnimatablePropAlias, signalOrHandleId: unknown, options: ColorSignalOptions): this;
|
|
1547
1994
|
/**
|
|
1548
1995
|
* Adds organic Perlin noise wiggling to a property.
|
|
1549
1996
|
*/
|
|
1550
|
-
wiggle(
|
|
1997
|
+
wiggle(rawProp: AnimatableProp | AnimatablePropAlias, options?: WiggleOptions): this;
|
|
1551
1998
|
/**
|
|
1552
1999
|
* Adds physical harmonic spring overshoot behavior to a property transition.
|
|
1553
2000
|
*/
|
|
1554
|
-
spring(
|
|
2001
|
+
spring(rawProp: AnimatableProp | AnimatablePropAlias, options?: SpringOptions): this;
|
|
1555
2002
|
/**
|
|
1556
2003
|
* Follows a 2D or 3D path with constant arc-length velocity, automatic orientation,
|
|
1557
2004
|
* banking into turns, and optional easing.
|
|
@@ -1685,14 +2132,26 @@ interface LintOptions {
|
|
|
1685
2132
|
* the emoji would draw nothing. Unknown (omitted): not checked.
|
|
1686
2133
|
*/
|
|
1687
2134
|
emojiFont?: boolean;
|
|
2135
|
+
/**
|
|
2136
|
+
* Share of a scatter's surface area its slope and altitude filters keep
|
|
2137
|
+
* (0..1), or undefined when the surface can't be measured here (a model
|
|
2138
|
+
* file not loaded yet). framefields passes the real mesher; this module
|
|
2139
|
+
* has no geometry of its own.
|
|
2140
|
+
*/
|
|
2141
|
+
scatterCoverage?: (scatter: Scatter3DSpec) => number | undefined;
|
|
1688
2142
|
}
|
|
1689
2143
|
declare function lintComposition(config: Pick<CompositorProgramConfig, "width" | "height" | "layout"> & {
|
|
1690
2144
|
backgroundColor?: string;
|
|
1691
2145
|
}, options?: LintOptions): RenderDiagnostic[];
|
|
1692
2146
|
//#endregion
|
|
1693
2147
|
//#region src/program/mattes.d.ts
|
|
1694
|
-
/**
|
|
1695
|
-
|
|
2148
|
+
/** The picture a mesh's UVs read: the frame's size from the top-left corner unless placed. */
|
|
2149
|
+
interface HoistOptions {
|
|
2150
|
+
width?: number;
|
|
2151
|
+
height?: number;
|
|
2152
|
+
}
|
|
2153
|
+
/** Returns the tree with every `matte`, `relief` and `textureLayer` turned into a sibling companion layer. */
|
|
2154
|
+
declare function hoistMattes<T extends LayoutNode>(nodes: readonly T[], size?: HoistOptions): T[];
|
|
1696
2155
|
//#endregion
|
|
1697
2156
|
//#region src/program/media-signal.d.ts
|
|
1698
2157
|
/** Where a signal-driven media layer sits on the composition clock. */
|
|
@@ -1897,75 +2356,355 @@ interface CompositorToProgramOptions {
|
|
|
1897
2356
|
resolveMediaSignal?: MediaSignalResolver;
|
|
1898
2357
|
}
|
|
1899
2358
|
type MediaSignalResolver = (binding: MediaTimeSignalRemap, layer: MediaSignalLayer) => ResolvedMediaTimeRemap;
|
|
2359
|
+
/**
|
|
2360
|
+
* A container holding a camera and the layers it films is a 3D scene of its
|
|
2361
|
+
* own: its camera, lights and environment see only its layers. It needs a
|
|
2362
|
+
* fixed size to render at. A container holding only a camera (and lights) is
|
|
2363
|
+
* a shot in a camera cut list over the shared world, and stays one.
|
|
2364
|
+
*/
|
|
2365
|
+
|
|
1900
2366
|
declare function compositorToProgram(config: CompositorProgramConfig, options: CompositorToProgramOptions): VirtualMediaData;
|
|
1901
|
-
/**
|
|
2367
|
+
/**
|
|
2368
|
+
* Recursively gather every node op from a render tree (in order), stopping at
|
|
2369
|
+
* nested scene compositions: their layers belong to their own render.
|
|
2370
|
+
*/
|
|
2371
|
+
/**
|
|
2372
|
+
* Every layer, 3D scenes' layers included, with its start on the
|
|
2373
|
+
* composition's clock. A scene's layers run on the scene's own clock, which
|
|
2374
|
+
* starts where the scene's layer does, so their starts are offset by it.
|
|
2375
|
+
*/
|
|
2376
|
+
|
|
1902
2377
|
declare function collectNodeOps(nodes: VirtualMediaData[]): VirtualMediaData[];
|
|
1903
2378
|
//#endregion
|
|
1904
|
-
//#region src/program/
|
|
1905
|
-
//#endregion
|
|
1906
|
-
//#region ../components/dist/toolkit-HF1uj72e.d.mts
|
|
1907
|
-
//#region src/core/audio.d.ts
|
|
1908
|
-
|
|
1909
|
-
/** A track's spectrum and loudness per frame, every value 0–1. */
|
|
1910
|
-
interface AudioLevels {
|
|
1911
|
-
fps: number;
|
|
1912
|
-
/** Length in frames. */
|
|
1913
|
-
frames: number;
|
|
1914
|
-
/** `[band][frame]`, low → high frequencies. */
|
|
1915
|
-
bands: number[][];
|
|
1916
|
-
/** Loudness envelope, `[frame]`. */
|
|
1917
|
-
level: number[];
|
|
1918
|
-
/** Onset frames (kicks, plosives), from low-band flux. */
|
|
1919
|
-
beats: number[];
|
|
1920
|
-
}
|
|
1921
|
-
interface AnalyzeOptions {
|
|
1922
|
-
/** Frame rate of the composition. Default 30. */
|
|
1923
|
-
fps?: number;
|
|
1924
|
-
/** Log-spaced bands. Default 32. */
|
|
1925
|
-
bands?: number;
|
|
1926
|
-
/** Lowest band edge, Hz. Default 50. */
|
|
1927
|
-
minHz?: number;
|
|
1928
|
-
/** Highest band edge, Hz. Default 12 000 (or Nyquist). */
|
|
1929
|
-
maxHz?: number;
|
|
1930
|
-
}
|
|
1931
|
-
/** Band edges in Hz, log-spaced. */
|
|
1932
|
-
declare function bandEdges(count: number, minHz: number, maxHz: number): number[];
|
|
2379
|
+
//#region src/program/track-sampler.d.ts
|
|
1933
2380
|
/**
|
|
1934
|
-
*
|
|
1935
|
-
*
|
|
1936
|
-
* loudest band's, so a quiet band is not stretched into noise), an RMS level
|
|
1937
|
-
* envelope, and onsets from low-band spectral flux.
|
|
2381
|
+
* Solves a cubic bezier curve defined by control points (x1, y1) and (x2, y2)
|
|
2382
|
+
* for a given progress parameter t in [0, 1].
|
|
1938
2383
|
*/
|
|
1939
|
-
declare function analyzeChannels(channels: readonly Float32Array[], sampleRate: number, options?: AnalyzeOptions): AudioLevels;
|
|
1940
|
-
/** Average adjacent bands down (or repeat them up) to `count` bands. */
|
|
1941
|
-
declare function resampleBands(bands: readonly (readonly number[])[], count: number): number[][];
|
|
1942
|
-
/** Each value falls no faster than `release` frames from its peak (attack is instant). */
|
|
1943
|
-
declare function smoothRelease(values: readonly number[], release: number): number[];
|
|
1944
|
-
/** The schema for `AudioLevels` props (Waveform, Captions `pulse`). */
|
|
1945
|
-
declare function audioLevelsSchema(): z.ZodType<AudioLevels>;
|
|
1946
2384
|
//#endregion
|
|
1947
|
-
//#region
|
|
2385
|
+
//#region ../components/dist/typing-c419Mp0t.d.mts
|
|
2386
|
+
//#region src/core/path.d.ts
|
|
1948
2387
|
/**
|
|
1949
|
-
*
|
|
1950
|
-
*
|
|
1951
|
-
* output stays plain keyframe JSON that seeks exactly.
|
|
2388
|
+
* 2D path math: smooth curves through points, arc-length sampling, and SVG
|
|
2389
|
+
* path strings. Used for pointer travel, camera moves and drawn marks.
|
|
1952
2390
|
*/
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
/** Max deviation (in the value's units) of the simplified curve. Default 0.25. */
|
|
1957
|
-
tolerance?: number;
|
|
1958
|
-
}
|
|
2391
|
+
type Vec2$1 = [x: number, y: number];
|
|
2392
|
+
declare const dist: (a: Vec2$1, b: Vec2$1) => number;
|
|
2393
|
+
declare const lerp2: (a: Vec2$1, b: Vec2$1, t: number) => Vec2$1;
|
|
1959
2394
|
/**
|
|
1960
|
-
*
|
|
1961
|
-
*
|
|
1962
|
-
*
|
|
1963
|
-
* samples are always kept.
|
|
2395
|
+
* Centripetal Catmull-Rom through `points`, flattened to a polyline with
|
|
2396
|
+
* `steps` samples per segment. Centripetal (alpha 0.5) never loops or cusps
|
|
2397
|
+
* between close points, which matters for pointer paths.
|
|
1964
2398
|
*/
|
|
1965
|
-
declare function
|
|
1966
|
-
/**
|
|
1967
|
-
|
|
1968
|
-
|
|
2399
|
+
declare function catmullRom(points: readonly Vec2$1[], steps?: number): Vec2$1[];
|
|
2400
|
+
/** A polyline with a cumulative arc-length table, sampled by distance. */
|
|
2401
|
+
interface ArcPath {
|
|
2402
|
+
readonly points: readonly Vec2$1[];
|
|
2403
|
+
readonly length: number;
|
|
2404
|
+
/** Point at `u` ∈ [0, 1] of the total length. */
|
|
2405
|
+
at(u: number): Vec2$1;
|
|
2406
|
+
/** Unit tangent direction (radians) at `u`. */
|
|
2407
|
+
angleAt(u: number): number;
|
|
2408
|
+
}
|
|
2409
|
+
declare function arcPath(points: readonly Vec2$1[]): ArcPath;
|
|
2410
|
+
/** SVG path data for a polyline (optionally closed). Rounded to 0.01 px. */
|
|
2411
|
+
declare function toPathData(points: readonly Vec2$1[], closed?: boolean): string;
|
|
2412
|
+
/**
|
|
2413
|
+
* Scale and offset SVG path data: `x' = x × scale + dx`. Absolute commands
|
|
2414
|
+
* move by the offset; relative ones (and arc radii) only scale. Used to
|
|
2415
|
+
* size glyphs designed on a small grid, and logo marks in their viewBox.
|
|
2416
|
+
*/
|
|
2417
|
+
declare function transformPathData(d: string, scale: number, dx?: number, dy?: number): string;
|
|
2418
|
+
//#endregion
|
|
2419
|
+
//#region src/core/draw.d.ts
|
|
2420
|
+
interface Rect {
|
|
2421
|
+
x: number;
|
|
2422
|
+
y: number;
|
|
2423
|
+
width: number;
|
|
2424
|
+
height: number;
|
|
2425
|
+
}
|
|
2426
|
+
interface HandOptions {
|
|
2427
|
+
/** Wobble amount in px at theme scale 1. 0 = clean geometry. */
|
|
2428
|
+
wobble?: number;
|
|
2429
|
+
seed?: number;
|
|
2430
|
+
}
|
|
2431
|
+
/** Keys for `trimEnd` 0 → 1 between `start` and `start + duration`. */
|
|
2432
|
+
declare function drawOnKeys(start: number, duration: number, ease?: string): KeyframeTuple[];
|
|
2433
|
+
/**
|
|
2434
|
+
* Perturb points with seeded, low-frequency noise: neighbouring points move
|
|
2435
|
+
* together, so lines bend instead of jittering.
|
|
2436
|
+
*/
|
|
2437
|
+
declare function wobblePoints(points: readonly Vec2$1[], {
|
|
2438
|
+
wobble,
|
|
2439
|
+
seed
|
|
2440
|
+
}?: HandOptions, variant?: number): Vec2$1[];
|
|
2441
|
+
/** An ellipse around `rect` (+ padding); hand-drawn ellipses overshoot their start. */
|
|
2442
|
+
declare function ellipsePath(rect: Rect, {
|
|
2443
|
+
padding,
|
|
2444
|
+
wobble,
|
|
2445
|
+
seed
|
|
2446
|
+
}?: HandOptions & {
|
|
2447
|
+
padding?: number;
|
|
2448
|
+
}, variant?: number): string;
|
|
2449
|
+
/** A rectangle around `rect` (+ padding). */
|
|
2450
|
+
declare function boxPath(rect: Rect, {
|
|
2451
|
+
padding,
|
|
2452
|
+
wobble,
|
|
2453
|
+
seed
|
|
2454
|
+
}?: HandOptions & {
|
|
2455
|
+
padding?: number;
|
|
2456
|
+
}, variant?: number): string;
|
|
2457
|
+
/** A horizontal stroke from `from` to `to`. */
|
|
2458
|
+
declare function linePath(from: Vec2$1, to: Vec2$1, {
|
|
2459
|
+
wobble,
|
|
2460
|
+
seed
|
|
2461
|
+
}?: HandOptions, variant?: number): string;
|
|
2462
|
+
/** A wavy line from `from` to `to`, `waves` crests of `amplitude` px. */
|
|
2463
|
+
declare function squigglePath(from: Vec2$1, to: Vec2$1, {
|
|
2464
|
+
amplitude,
|
|
2465
|
+
waves,
|
|
2466
|
+
wobble,
|
|
2467
|
+
seed
|
|
2468
|
+
}?: HandOptions & {
|
|
2469
|
+
amplitude?: number;
|
|
2470
|
+
waves?: number;
|
|
2471
|
+
}, variant?: number): string;
|
|
2472
|
+
type ArrowCurve = "straight" | "arc" | "swoop";
|
|
2473
|
+
interface ArrowGeometry {
|
|
2474
|
+
/** The shaft, drawn from `from` to just before `to`. */
|
|
2475
|
+
shaft: string;
|
|
2476
|
+
/** The head, two strokes meeting at `to`. */
|
|
2477
|
+
head: string;
|
|
2478
|
+
}
|
|
2479
|
+
/** An arrow from `from` to `to` with a separate head path. */
|
|
2480
|
+
declare function arrowPaths(from: Vec2$1, to: Vec2$1, {
|
|
2481
|
+
curve,
|
|
2482
|
+
headSize,
|
|
2483
|
+
wobble,
|
|
2484
|
+
seed
|
|
2485
|
+
}?: HandOptions & {
|
|
2486
|
+
curve?: ArrowCurve;
|
|
2487
|
+
headSize?: number;
|
|
2488
|
+
}, variant?: number): ArrowGeometry;
|
|
2489
|
+
/**
|
|
2490
|
+
* Hand-drawn "boil": `d` keys that switch between `variants` poses every
|
|
2491
|
+
* `every` frames with hold interpolation, from `start` to `end`.
|
|
2492
|
+
* `makePath(variant)` must be deterministic for a variant index.
|
|
2493
|
+
*/
|
|
2494
|
+
declare function boilKeys(makePath: (variant: number) => string, {
|
|
2495
|
+
start,
|
|
2496
|
+
end,
|
|
2497
|
+
every,
|
|
2498
|
+
variants
|
|
2499
|
+
}: {
|
|
2500
|
+
start: number;
|
|
2501
|
+
end: number;
|
|
2502
|
+
every: number;
|
|
2503
|
+
variants?: number;
|
|
2504
|
+
}): KeyframeTuple[];
|
|
2505
|
+
//#endregion
|
|
2506
|
+
//#region src/core/text.d.ts
|
|
2507
|
+
/** The subset of `FontManager.measure` options components pass. */
|
|
2508
|
+
interface MeasureOptions {
|
|
2509
|
+
fontFamily: string;
|
|
2510
|
+
fontSize?: number;
|
|
2511
|
+
fontWeight?: string | number;
|
|
2512
|
+
letterSpacing?: number;
|
|
2513
|
+
lineHeight?: number;
|
|
2514
|
+
width?: number;
|
|
2515
|
+
align?: "left" | "center" | "right";
|
|
2516
|
+
direction?: "ltr" | "rtl" | "auto";
|
|
2517
|
+
}
|
|
2518
|
+
interface GlyphBox {
|
|
2519
|
+
char: string;
|
|
2520
|
+
index: number;
|
|
2521
|
+
x: number;
|
|
2522
|
+
width: number;
|
|
2523
|
+
line: number;
|
|
2524
|
+
rtl?: boolean;
|
|
2525
|
+
}
|
|
2526
|
+
/** The subset of `FontManager.measure` results components read. */
|
|
2527
|
+
interface Metrics$1 {
|
|
2528
|
+
width: number;
|
|
2529
|
+
height: number;
|
|
2530
|
+
lines: number;
|
|
2531
|
+
lineHeight: number;
|
|
2532
|
+
glyphs: GlyphBox[];
|
|
2533
|
+
caretX(count: number): number;
|
|
2534
|
+
}
|
|
2535
|
+
type MeasureFn = (text: string, options: MeasureOptions) => Metrics$1;
|
|
2536
|
+
interface WordRange {
|
|
2537
|
+
text: string;
|
|
2538
|
+
/** Index of the first character (code units). */
|
|
2539
|
+
start: number;
|
|
2540
|
+
/** Index after the last character. */
|
|
2541
|
+
end: number;
|
|
2542
|
+
index: number;
|
|
2543
|
+
}
|
|
2544
|
+
/** Whitespace-separated words with their character ranges. */
|
|
2545
|
+
declare function wordRanges(text: string): WordRange[];
|
|
2546
|
+
/** Character range of the `nth` match of `match` in `text`, or null. */
|
|
2547
|
+
declare function findRange(text: string, match: string | RegExp, nth?: number): [number, number] | null;
|
|
2548
|
+
/**
|
|
2549
|
+
* Per-line x offset that `align` adds inside a box of `options.width`
|
|
2550
|
+
* (measurement itself lays every line out from the left edge).
|
|
2551
|
+
*/
|
|
2552
|
+
declare function lineShift(metrics: Metrics$1, line: number, options: MeasureOptions): number;
|
|
2553
|
+
/**
|
|
2554
|
+
* The boxes characters [start, end) cover: one rect per line, spanning the
|
|
2555
|
+
* glyphs' advances, `lineHeight` tall. Whitespace at a line's ends is
|
|
2556
|
+
* excluded.
|
|
2557
|
+
*/
|
|
2558
|
+
declare function rangeRects(metrics: Metrics$1, start: number, end: number, options: MeasureOptions): Rect[];
|
|
2559
|
+
//#endregion
|
|
2560
|
+
//#region src/core/targets.d.ts
|
|
2561
|
+
type Anchor = "center" | "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right"
|
|
2562
|
+
/** Where a pointer should land: the centre, or mid-left for text. */ | "tip";
|
|
2563
|
+
/** A node as targets read it: absolute numeric geometry, or text. */
|
|
2564
|
+
interface TargetNode {
|
|
2565
|
+
id?: string;
|
|
2566
|
+
kind?: string;
|
|
2567
|
+
x?: unknown;
|
|
2568
|
+
y?: unknown;
|
|
2569
|
+
width?: unknown;
|
|
2570
|
+
height?: unknown;
|
|
2571
|
+
text?: unknown;
|
|
2572
|
+
content?: unknown;
|
|
2573
|
+
[key: string]: unknown;
|
|
2574
|
+
}
|
|
2575
|
+
/** The frame context signals are read with. */
|
|
2576
|
+
interface FrameContextLike {
|
|
2577
|
+
frame: number;
|
|
2578
|
+
fps: number;
|
|
2579
|
+
time: number;
|
|
2580
|
+
duration: number;
|
|
2581
|
+
durationMs: number;
|
|
2582
|
+
progress: number;
|
|
2583
|
+
deltaTime: number;
|
|
2584
|
+
}
|
|
2585
|
+
/** A per-frame value: a signal (what tracked objects expose) or a function. */
|
|
2586
|
+
type FrameValue = {
|
|
2587
|
+
get(ctx?: FrameContextLike): number;
|
|
2588
|
+
} | ((frame: number) => number);
|
|
2589
|
+
interface TrackedObjectLike {
|
|
2590
|
+
x: FrameValue;
|
|
2591
|
+
y: FrameValue;
|
|
2592
|
+
width: FrameValue;
|
|
2593
|
+
height: FrameValue;
|
|
2594
|
+
}
|
|
2595
|
+
type Target = Vec2$1 | Rect | {
|
|
2596
|
+
node: TargetNode;
|
|
2597
|
+
anchor?: Anchor;
|
|
2598
|
+
} | {
|
|
2599
|
+
text: TargetNode;
|
|
2600
|
+
match?: string | RegExp;
|
|
2601
|
+
range?: [number, number];
|
|
2602
|
+
nth?: number;
|
|
2603
|
+
anchor?: Anchor;
|
|
2604
|
+
} | {
|
|
2605
|
+
track: TrackedObjectLike;
|
|
2606
|
+
anchor?: Anchor;
|
|
2607
|
+
} | ((frame: number) => Vec2$1 | Rect);
|
|
2608
|
+
interface TargetContext {
|
|
2609
|
+
measure?: MeasureFn;
|
|
2610
|
+
/** Frame rate signals are sampled at (tracked targets). Default 30. */
|
|
2611
|
+
fps?: number;
|
|
2612
|
+
/** Font defaults for text nodes that don't set them. */
|
|
2613
|
+
textDefaults?: Partial<MeasureOptions>;
|
|
2614
|
+
}
|
|
2615
|
+
type ResolvedTarget = {
|
|
2616
|
+
kind: "static";
|
|
2617
|
+
rects: Rect[];
|
|
2618
|
+
anchor: Anchor;
|
|
2619
|
+
} | {
|
|
2620
|
+
kind: "dynamic";
|
|
2621
|
+
at: (frame: number) => Rect;
|
|
2622
|
+
anchor: Anchor;
|
|
2623
|
+
};
|
|
2624
|
+
/** Resolve a target to rects (static) or a per-frame rect (dynamic). */
|
|
2625
|
+
declare function resolveTarget(target: Target, ctx?: TargetContext): ResolvedTarget;
|
|
2626
|
+
/** A text target's string, measured glyphs and range, and where the node sits. */
|
|
2627
|
+
interface TextLayout {
|
|
2628
|
+
content: string;
|
|
2629
|
+
metrics: ReturnType<MeasureFn>;
|
|
2630
|
+
options: MeasureOptions;
|
|
2631
|
+
range: [number, number];
|
|
2632
|
+
/** The node's x / y: add to measured glyph positions. */
|
|
2633
|
+
x: number;
|
|
2634
|
+
y: number;
|
|
2635
|
+
}
|
|
2636
|
+
/** Measure a text target the way the renderer lays it out. */
|
|
2637
|
+
declare function textLayout(target: Extract<Target, {
|
|
2638
|
+
text: TargetNode;
|
|
2639
|
+
}>, ctx: TargetContext): TextLayout;
|
|
2640
|
+
/** The union rect of `rects`. */
|
|
2641
|
+
declare function boundsOf(rects: readonly Rect[]): Rect;
|
|
2642
|
+
/** The point of `rect` named by `anchor`. `tip` on text = start of the first line, mid-height. */
|
|
2643
|
+
declare function anchorPoint(rect: Rect, anchor?: Anchor, isText?: boolean): Vec2$1;
|
|
2644
|
+
/** The point a resolved target names at `frame` (static targets ignore frame). */
|
|
2645
|
+
declare function targetPoint(resolved: ResolvedTarget, frame?: number, isText?: boolean): Vec2$1;
|
|
2646
|
+
//#endregion
|
|
2647
|
+
//#region src/core/audio.d.ts
|
|
2648
|
+
/** A track's spectrum and loudness per frame, every value 0–1. */
|
|
2649
|
+
interface AudioLevels {
|
|
2650
|
+
fps: number;
|
|
2651
|
+
/** Length in frames. */
|
|
2652
|
+
frames: number;
|
|
2653
|
+
/** `[band][frame]`, low → high frequencies. */
|
|
2654
|
+
bands: number[][];
|
|
2655
|
+
/** Loudness envelope, `[frame]`. */
|
|
2656
|
+
level: number[];
|
|
2657
|
+
/** Onset frames (kicks, plosives), from low-band flux. */
|
|
2658
|
+
beats: number[];
|
|
2659
|
+
}
|
|
2660
|
+
interface AnalyzeOptions {
|
|
2661
|
+
/** Frame rate of the composition. Default 30. */
|
|
2662
|
+
fps?: number;
|
|
2663
|
+
/** Log-spaced bands. Default 32. */
|
|
2664
|
+
bands?: number;
|
|
2665
|
+
/** Lowest band edge, Hz. Default 50. */
|
|
2666
|
+
minHz?: number;
|
|
2667
|
+
/** Highest band edge, Hz. Default 12 000 (or Nyquist). */
|
|
2668
|
+
maxHz?: number;
|
|
2669
|
+
}
|
|
2670
|
+
/** Band edges in Hz, log-spaced. */
|
|
2671
|
+
declare function bandEdges(count: number, minHz: number, maxHz: number): number[];
|
|
2672
|
+
/**
|
|
2673
|
+
* Analyse decoded audio: a Hann-windowed FFT per frame into log-spaced
|
|
2674
|
+
* bands, each normalised to its own 98th percentile (floored 30 dB under the
|
|
2675
|
+
* loudest band's, so a quiet band is not stretched into noise), an RMS level
|
|
2676
|
+
* envelope, and onsets from low-band spectral flux.
|
|
2677
|
+
*/
|
|
2678
|
+
declare function analyzeChannels(channels: readonly Float32Array[], sampleRate: number, options?: AnalyzeOptions): AudioLevels;
|
|
2679
|
+
/** Average adjacent bands down (or repeat them up) to `count` bands. */
|
|
2680
|
+
declare function resampleBands(bands: readonly (readonly number[])[], count: number): number[][];
|
|
2681
|
+
/** Each value falls no faster than `release` frames from its peak (attack is instant). */
|
|
2682
|
+
declare function smoothRelease(values: readonly number[], release: number): number[];
|
|
2683
|
+
/** The schema for `AudioLevels` props (Waveform, Captions `pulse`). */
|
|
2684
|
+
declare function audioLevelsSchema(): z.ZodType<AudioLevels>;
|
|
2685
|
+
//#endregion
|
|
2686
|
+
//#region src/core/bake.d.ts
|
|
2687
|
+
/**
|
|
2688
|
+
* Turn per-frame values into a few linear keyframes. Components solve motion
|
|
2689
|
+
* offline (springs, camera follow, arc-length travel) and bake it, so the
|
|
2690
|
+
* output stays plain keyframe JSON that seeks exactly.
|
|
2691
|
+
*/
|
|
2692
|
+
/** `[frame, value]`: a linear keyframe, as `LayerAnimation.keys` takes it. */
|
|
2693
|
+
type BakedKey = [frame: number, value: number];
|
|
2694
|
+
interface BakeOptions {
|
|
2695
|
+
/** Max deviation (in the value's units) of the simplified curve. Default 0.25. */
|
|
2696
|
+
tolerance?: number;
|
|
2697
|
+
}
|
|
2698
|
+
/**
|
|
2699
|
+
* Simplify `values` (one per frame, starting at `startFrame`) to linear keys
|
|
2700
|
+
* whose interpolation stays within `tolerance` of every sample
|
|
2701
|
+
* (Ramer–Douglas–Peucker on the frame/value polyline). First and last
|
|
2702
|
+
* samples are always kept.
|
|
2703
|
+
*/
|
|
2704
|
+
declare function bakeSamples(values: readonly number[], startFrame?: number, options?: BakeOptions): BakedKey[];
|
|
2705
|
+
/** Sample `fn` on every frame in [start, end] and bake it. */
|
|
2706
|
+
declare function bakeFunction(fn: (frame: number) => number, start: number, end: number, options?: BakeOptions): BakedKey[];
|
|
2707
|
+
/**
|
|
1969
2708
|
* Damped spring from 0 to 1 in closed form: `stiffness` (k), `damping` (c),
|
|
1970
2709
|
* `mass` (m), sampled in seconds. Under-damped springs overshoot.
|
|
1971
2710
|
*/
|
|
@@ -2273,257 +3012,83 @@ declare const themes: {
|
|
|
2273
3012
|
mid: Elevation;
|
|
2274
3013
|
high: Elevation;
|
|
2275
3014
|
};
|
|
2276
|
-
readonly motion: {
|
|
2277
|
-
readonly ease: {
|
|
2278
|
-
readonly enter: "back.out(1.8)";
|
|
2279
|
-
readonly exit: string;
|
|
2280
|
-
readonly move: string;
|
|
2281
|
-
readonly snap: string;
|
|
2282
|
-
};
|
|
2283
|
-
readonly speed: {
|
|
2284
|
-
readonly fast: 6;
|
|
2285
|
-
readonly base: 12;
|
|
2286
|
-
readonly slow: 24;
|
|
2287
|
-
};
|
|
2288
|
-
readonly spring: {
|
|
2289
|
-
readonly settle: {
|
|
2290
|
-
readonly stiffness: 300;
|
|
2291
|
-
readonly damping: 26;
|
|
2292
|
-
};
|
|
2293
|
-
readonly base: {
|
|
2294
|
-
readonly stiffness: 340;
|
|
2295
|
-
readonly damping: 22;
|
|
2296
|
-
};
|
|
2297
|
-
readonly pop: {
|
|
2298
|
-
readonly stiffness: 400;
|
|
2299
|
-
readonly damping: 14;
|
|
2300
|
-
};
|
|
2301
|
-
};
|
|
2302
|
-
};
|
|
2303
|
-
readonly scale: 1;
|
|
2304
|
-
readonly radius: {
|
|
2305
|
-
sm: number;
|
|
2306
|
-
md: number;
|
|
2307
|
-
lg: number;
|
|
2308
|
-
pill: number;
|
|
2309
|
-
};
|
|
2310
|
-
readonly stroke: {
|
|
2311
|
-
hair: number;
|
|
2312
|
-
base: number;
|
|
2313
|
-
bold: number;
|
|
2314
|
-
};
|
|
2315
|
-
readonly mode: "dark";
|
|
2316
|
-
readonly color: {
|
|
2317
|
-
readonly bg: "#000000";
|
|
2318
|
-
readonly surface: "#111111";
|
|
2319
|
-
readonly raised: "#1c1c1c";
|
|
2320
|
-
readonly line: "#333333";
|
|
2321
|
-
readonly ink: "#ffffff";
|
|
2322
|
-
readonly muted: "#a3a3a3";
|
|
2323
|
-
readonly accent: "#c6ff00";
|
|
2324
|
-
readonly accent2: "#ff2e88";
|
|
2325
|
-
readonly positive: "#00e676";
|
|
2326
|
-
readonly negative: "#ff1744";
|
|
2327
|
-
readonly highlight: "#c6ff00";
|
|
2328
|
-
readonly shadow: "#000000";
|
|
2329
|
-
};
|
|
2330
|
-
readonly font: {
|
|
2331
|
-
display: string;
|
|
2332
|
-
body: string;
|
|
2333
|
-
mono: string;
|
|
2334
|
-
hand?: string;
|
|
2335
|
-
};
|
|
2336
|
-
readonly weight: {
|
|
2337
|
-
regular: number;
|
|
2338
|
-
medium: number;
|
|
2339
|
-
semibold: number;
|
|
2340
|
-
bold: number;
|
|
2341
|
-
heavy: number;
|
|
2342
|
-
};
|
|
2343
|
-
};
|
|
2344
|
-
};
|
|
2345
|
-
type ThemeName = keyof typeof themes;
|
|
2346
|
-
/**
|
|
2347
|
-
* Merge a partial theme over a base (default `themes.graphite`). Throws when
|
|
2348
|
-
* `ink` on `surface` falls below WCAG 4.5:1 and both are hex colors.
|
|
2349
|
-
*/
|
|
2350
|
-
declare function defineTheme(input?: ThemeInput | Theme, base?: Theme): Theme;
|
|
2351
|
-
/** A theme's duration token in frames at `fps`. */
|
|
2352
|
-
declare function themeFrames(theme: Theme, speed: keyof Theme["motion"]["speed"], fps?: number): number;
|
|
2353
|
-
//#endregion
|
|
2354
|
-
//#region src/core/path.d.ts
|
|
2355
|
-
/**
|
|
2356
|
-
* 2D path math: smooth curves through points, arc-length sampling, and SVG
|
|
2357
|
-
* path strings. Used for pointer travel, camera moves and drawn marks.
|
|
2358
|
-
*/
|
|
2359
|
-
type Vec2$1 = [x: number, y: number];
|
|
2360
|
-
declare const dist: (a: Vec2$1, b: Vec2$1) => number;
|
|
2361
|
-
declare const lerp2: (a: Vec2$1, b: Vec2$1, t: number) => Vec2$1;
|
|
2362
|
-
/**
|
|
2363
|
-
* Centripetal Catmull-Rom through `points`, flattened to a polyline with
|
|
2364
|
-
* `steps` samples per segment. Centripetal (alpha 0.5) never loops or cusps
|
|
2365
|
-
* between close points, which matters for pointer paths.
|
|
2366
|
-
*/
|
|
2367
|
-
declare function catmullRom(points: readonly Vec2$1[], steps?: number): Vec2$1[];
|
|
2368
|
-
/** A polyline with a cumulative arc-length table, sampled by distance. */
|
|
2369
|
-
interface ArcPath {
|
|
2370
|
-
readonly points: readonly Vec2$1[];
|
|
2371
|
-
readonly length: number;
|
|
2372
|
-
/** Point at `u` ∈ [0, 1] of the total length. */
|
|
2373
|
-
at(u: number): Vec2$1;
|
|
2374
|
-
/** Unit tangent direction (radians) at `u`. */
|
|
2375
|
-
angleAt(u: number): number;
|
|
2376
|
-
}
|
|
2377
|
-
declare function arcPath(points: readonly Vec2$1[]): ArcPath;
|
|
2378
|
-
/** SVG path data for a polyline (optionally closed). Rounded to 0.01 px. */
|
|
2379
|
-
declare function toPathData(points: readonly Vec2$1[], closed?: boolean): string;
|
|
2380
|
-
/**
|
|
2381
|
-
* Scale and offset SVG path data: `x' = x × scale + dx`. Absolute commands
|
|
2382
|
-
* move by the offset; relative ones (and arc radii) only scale. Used to
|
|
2383
|
-
* size glyphs designed on a small grid, and logo marks in their viewBox.
|
|
2384
|
-
*/
|
|
2385
|
-
declare function transformPathData(d: string, scale: number, dx?: number, dy?: number): string;
|
|
2386
|
-
//#endregion
|
|
2387
|
-
//#region src/core/draw.d.ts
|
|
2388
|
-
interface Rect {
|
|
2389
|
-
x: number;
|
|
2390
|
-
y: number;
|
|
2391
|
-
width: number;
|
|
2392
|
-
height: number;
|
|
2393
|
-
}
|
|
2394
|
-
interface HandOptions {
|
|
2395
|
-
/** Wobble amount in px at theme scale 1. 0 = clean geometry. */
|
|
2396
|
-
wobble?: number;
|
|
2397
|
-
seed?: number;
|
|
2398
|
-
}
|
|
2399
|
-
/** Keys for `trimEnd` 0 → 1 between `start` and `start + duration`. */
|
|
2400
|
-
declare function drawOnKeys(start: number, duration: number, ease?: string): KeyframeTuple[];
|
|
2401
|
-
/**
|
|
2402
|
-
* Perturb points with seeded, low-frequency noise: neighbouring points move
|
|
2403
|
-
* together, so lines bend instead of jittering.
|
|
2404
|
-
*/
|
|
2405
|
-
declare function wobblePoints(points: readonly Vec2$1[], {
|
|
2406
|
-
wobble,
|
|
2407
|
-
seed
|
|
2408
|
-
}?: HandOptions, variant?: number): Vec2$1[];
|
|
2409
|
-
/** An ellipse around `rect` (+ padding); hand-drawn ellipses overshoot their start. */
|
|
2410
|
-
declare function ellipsePath(rect: Rect, {
|
|
2411
|
-
padding,
|
|
2412
|
-
wobble,
|
|
2413
|
-
seed
|
|
2414
|
-
}?: HandOptions & {
|
|
2415
|
-
padding?: number;
|
|
2416
|
-
}, variant?: number): string;
|
|
2417
|
-
/** A rectangle around `rect` (+ padding). */
|
|
2418
|
-
declare function boxPath(rect: Rect, {
|
|
2419
|
-
padding,
|
|
2420
|
-
wobble,
|
|
2421
|
-
seed
|
|
2422
|
-
}?: HandOptions & {
|
|
2423
|
-
padding?: number;
|
|
2424
|
-
}, variant?: number): string;
|
|
2425
|
-
/** A horizontal stroke from `from` to `to`. */
|
|
2426
|
-
declare function linePath(from: Vec2$1, to: Vec2$1, {
|
|
2427
|
-
wobble,
|
|
2428
|
-
seed
|
|
2429
|
-
}?: HandOptions, variant?: number): string;
|
|
2430
|
-
/** A wavy line from `from` to `to`, `waves` crests of `amplitude` px. */
|
|
2431
|
-
declare function squigglePath(from: Vec2$1, to: Vec2$1, {
|
|
2432
|
-
amplitude,
|
|
2433
|
-
waves,
|
|
2434
|
-
wobble,
|
|
2435
|
-
seed
|
|
2436
|
-
}?: HandOptions & {
|
|
2437
|
-
amplitude?: number;
|
|
2438
|
-
waves?: number;
|
|
2439
|
-
}, variant?: number): string;
|
|
2440
|
-
type ArrowCurve = "straight" | "arc" | "swoop";
|
|
2441
|
-
interface ArrowGeometry {
|
|
2442
|
-
/** The shaft, drawn from `from` to just before `to`. */
|
|
2443
|
-
shaft: string;
|
|
2444
|
-
/** The head, two strokes meeting at `to`. */
|
|
2445
|
-
head: string;
|
|
2446
|
-
}
|
|
2447
|
-
/** An arrow from `from` to `to` with a separate head path. */
|
|
2448
|
-
declare function arrowPaths(from: Vec2$1, to: Vec2$1, {
|
|
2449
|
-
curve,
|
|
2450
|
-
headSize,
|
|
2451
|
-
wobble,
|
|
2452
|
-
seed
|
|
2453
|
-
}?: HandOptions & {
|
|
2454
|
-
curve?: ArrowCurve;
|
|
2455
|
-
headSize?: number;
|
|
2456
|
-
}, variant?: number): ArrowGeometry;
|
|
2457
|
-
/**
|
|
2458
|
-
* Hand-drawn "boil": `d` keys that switch between `variants` poses every
|
|
2459
|
-
* `every` frames with hold interpolation, from `start` to `end`.
|
|
2460
|
-
* `makePath(variant)` must be deterministic for a variant index.
|
|
2461
|
-
*/
|
|
2462
|
-
declare function boilKeys(makePath: (variant: number) => string, {
|
|
2463
|
-
start,
|
|
2464
|
-
end,
|
|
2465
|
-
every,
|
|
2466
|
-
variants
|
|
2467
|
-
}: {
|
|
2468
|
-
start: number;
|
|
2469
|
-
end: number;
|
|
2470
|
-
every: number;
|
|
2471
|
-
variants?: number;
|
|
2472
|
-
}): KeyframeTuple[];
|
|
2473
|
-
//#endregion
|
|
2474
|
-
//#region src/core/text.d.ts
|
|
2475
|
-
/** The subset of `FontManager.measure` options components pass. */
|
|
2476
|
-
interface MeasureOptions {
|
|
2477
|
-
fontFamily: string;
|
|
2478
|
-
fontSize?: number;
|
|
2479
|
-
fontWeight?: string | number;
|
|
2480
|
-
letterSpacing?: number;
|
|
2481
|
-
lineHeight?: number;
|
|
2482
|
-
width?: number;
|
|
2483
|
-
align?: "left" | "center" | "right";
|
|
2484
|
-
direction?: "ltr" | "rtl" | "auto";
|
|
2485
|
-
}
|
|
2486
|
-
interface GlyphBox {
|
|
2487
|
-
char: string;
|
|
2488
|
-
index: number;
|
|
2489
|
-
x: number;
|
|
2490
|
-
width: number;
|
|
2491
|
-
line: number;
|
|
2492
|
-
rtl?: boolean;
|
|
2493
|
-
}
|
|
2494
|
-
/** The subset of `FontManager.measure` results components read. */
|
|
2495
|
-
interface Metrics$1 {
|
|
2496
|
-
width: number;
|
|
2497
|
-
height: number;
|
|
2498
|
-
lines: number;
|
|
2499
|
-
lineHeight: number;
|
|
2500
|
-
glyphs: GlyphBox[];
|
|
2501
|
-
caretX(count: number): number;
|
|
2502
|
-
}
|
|
2503
|
-
type MeasureFn = (text: string, options: MeasureOptions) => Metrics$1;
|
|
2504
|
-
interface WordRange {
|
|
2505
|
-
text: string;
|
|
2506
|
-
/** Index of the first character (code units). */
|
|
2507
|
-
start: number;
|
|
2508
|
-
/** Index after the last character. */
|
|
2509
|
-
end: number;
|
|
2510
|
-
index: number;
|
|
2511
|
-
}
|
|
2512
|
-
/** Whitespace-separated words with their character ranges. */
|
|
2513
|
-
declare function wordRanges(text: string): WordRange[];
|
|
2514
|
-
/** Character range of the `nth` match of `match` in `text`, or null. */
|
|
2515
|
-
declare function findRange(text: string, match: string | RegExp, nth?: number): [number, number] | null;
|
|
2516
|
-
/**
|
|
2517
|
-
* Per-line x offset that `align` adds inside a box of `options.width`
|
|
2518
|
-
* (measurement itself lays every line out from the left edge).
|
|
2519
|
-
*/
|
|
2520
|
-
declare function lineShift(metrics: Metrics$1, line: number, options: MeasureOptions): number;
|
|
3015
|
+
readonly motion: {
|
|
3016
|
+
readonly ease: {
|
|
3017
|
+
readonly enter: "back.out(1.8)";
|
|
3018
|
+
readonly exit: string;
|
|
3019
|
+
readonly move: string;
|
|
3020
|
+
readonly snap: string;
|
|
3021
|
+
};
|
|
3022
|
+
readonly speed: {
|
|
3023
|
+
readonly fast: 6;
|
|
3024
|
+
readonly base: 12;
|
|
3025
|
+
readonly slow: 24;
|
|
3026
|
+
};
|
|
3027
|
+
readonly spring: {
|
|
3028
|
+
readonly settle: {
|
|
3029
|
+
readonly stiffness: 300;
|
|
3030
|
+
readonly damping: 26;
|
|
3031
|
+
};
|
|
3032
|
+
readonly base: {
|
|
3033
|
+
readonly stiffness: 340;
|
|
3034
|
+
readonly damping: 22;
|
|
3035
|
+
};
|
|
3036
|
+
readonly pop: {
|
|
3037
|
+
readonly stiffness: 400;
|
|
3038
|
+
readonly damping: 14;
|
|
3039
|
+
};
|
|
3040
|
+
};
|
|
3041
|
+
};
|
|
3042
|
+
readonly scale: 1;
|
|
3043
|
+
readonly radius: {
|
|
3044
|
+
sm: number;
|
|
3045
|
+
md: number;
|
|
3046
|
+
lg: number;
|
|
3047
|
+
pill: number;
|
|
3048
|
+
};
|
|
3049
|
+
readonly stroke: {
|
|
3050
|
+
hair: number;
|
|
3051
|
+
base: number;
|
|
3052
|
+
bold: number;
|
|
3053
|
+
};
|
|
3054
|
+
readonly mode: "dark";
|
|
3055
|
+
readonly color: {
|
|
3056
|
+
readonly bg: "#000000";
|
|
3057
|
+
readonly surface: "#111111";
|
|
3058
|
+
readonly raised: "#1c1c1c";
|
|
3059
|
+
readonly line: "#333333";
|
|
3060
|
+
readonly ink: "#ffffff";
|
|
3061
|
+
readonly muted: "#a3a3a3";
|
|
3062
|
+
readonly accent: "#c6ff00";
|
|
3063
|
+
readonly accent2: "#ff2e88";
|
|
3064
|
+
readonly positive: "#00e676";
|
|
3065
|
+
readonly negative: "#ff1744";
|
|
3066
|
+
readonly highlight: "#c6ff00";
|
|
3067
|
+
readonly shadow: "#000000";
|
|
3068
|
+
};
|
|
3069
|
+
readonly font: {
|
|
3070
|
+
display: string;
|
|
3071
|
+
body: string;
|
|
3072
|
+
mono: string;
|
|
3073
|
+
hand?: string;
|
|
3074
|
+
};
|
|
3075
|
+
readonly weight: {
|
|
3076
|
+
regular: number;
|
|
3077
|
+
medium: number;
|
|
3078
|
+
semibold: number;
|
|
3079
|
+
bold: number;
|
|
3080
|
+
heavy: number;
|
|
3081
|
+
};
|
|
3082
|
+
};
|
|
3083
|
+
};
|
|
3084
|
+
type ThemeName = keyof typeof themes;
|
|
2521
3085
|
/**
|
|
2522
|
-
*
|
|
2523
|
-
*
|
|
2524
|
-
* excluded.
|
|
3086
|
+
* Merge a partial theme over a base (default `themes.graphite`). Throws when
|
|
3087
|
+
* `ink` on `surface` falls below WCAG 4.5:1 and both are hex colors.
|
|
2525
3088
|
*/
|
|
2526
|
-
declare function
|
|
3089
|
+
declare function defineTheme(input?: ThemeInput | Theme, base?: Theme): Theme;
|
|
3090
|
+
/** A theme's duration token in frames at `fps`. */
|
|
3091
|
+
declare function themeFrames(theme: Theme, speed: keyof Theme["motion"]["speed"], fps?: number): number;
|
|
2527
3092
|
//#endregion
|
|
2528
3093
|
//#region src/core/host.d.ts
|
|
2529
3094
|
/** Photoshop-style layer styles (framefields' `LayerStyle`). Omitted styles are off. */
|
|
@@ -3425,97 +3990,6 @@ interface FontNeed {
|
|
|
3425
3990
|
}
|
|
3426
3991
|
declare function defineMeta(meta: ComponentMeta): ComponentMeta;
|
|
3427
3992
|
//#endregion
|
|
3428
|
-
//#region src/core/targets.d.ts
|
|
3429
|
-
type Anchor = "center" | "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right"
|
|
3430
|
-
/** Where a pointer should land: the centre, or mid-left for text. */ | "tip";
|
|
3431
|
-
/** A node as targets read it: absolute numeric geometry, or text. */
|
|
3432
|
-
interface TargetNode {
|
|
3433
|
-
id?: string;
|
|
3434
|
-
kind?: string;
|
|
3435
|
-
x?: unknown;
|
|
3436
|
-
y?: unknown;
|
|
3437
|
-
width?: unknown;
|
|
3438
|
-
height?: unknown;
|
|
3439
|
-
text?: unknown;
|
|
3440
|
-
content?: unknown;
|
|
3441
|
-
[key: string]: unknown;
|
|
3442
|
-
}
|
|
3443
|
-
/** The frame context signals are read with. */
|
|
3444
|
-
interface FrameContextLike {
|
|
3445
|
-
frame: number;
|
|
3446
|
-
fps: number;
|
|
3447
|
-
time: number;
|
|
3448
|
-
duration: number;
|
|
3449
|
-
durationMs: number;
|
|
3450
|
-
progress: number;
|
|
3451
|
-
deltaTime: number;
|
|
3452
|
-
}
|
|
3453
|
-
/** A per-frame value: a signal (what tracked objects expose) or a function. */
|
|
3454
|
-
type FrameValue = {
|
|
3455
|
-
get(ctx?: FrameContextLike): number;
|
|
3456
|
-
} | ((frame: number) => number);
|
|
3457
|
-
interface TrackedObjectLike {
|
|
3458
|
-
x: FrameValue;
|
|
3459
|
-
y: FrameValue;
|
|
3460
|
-
width: FrameValue;
|
|
3461
|
-
height: FrameValue;
|
|
3462
|
-
}
|
|
3463
|
-
type Target = Vec2$1 | Rect | {
|
|
3464
|
-
node: TargetNode;
|
|
3465
|
-
anchor?: Anchor;
|
|
3466
|
-
} | {
|
|
3467
|
-
text: TargetNode;
|
|
3468
|
-
match?: string | RegExp;
|
|
3469
|
-
range?: [number, number];
|
|
3470
|
-
nth?: number;
|
|
3471
|
-
anchor?: Anchor;
|
|
3472
|
-
} | {
|
|
3473
|
-
track: TrackedObjectLike;
|
|
3474
|
-
anchor?: Anchor;
|
|
3475
|
-
} | ((frame: number) => Vec2$1 | Rect);
|
|
3476
|
-
interface TargetContext {
|
|
3477
|
-
measure?: MeasureFn;
|
|
3478
|
-
/** Frame rate signals are sampled at (tracked targets). Default 30. */
|
|
3479
|
-
fps?: number;
|
|
3480
|
-
/** Font defaults for text nodes that don't set them. */
|
|
3481
|
-
textDefaults?: Partial<MeasureOptions>;
|
|
3482
|
-
}
|
|
3483
|
-
type ResolvedTarget = {
|
|
3484
|
-
kind: "static";
|
|
3485
|
-
rects: Rect[];
|
|
3486
|
-
anchor: Anchor;
|
|
3487
|
-
} | {
|
|
3488
|
-
kind: "dynamic";
|
|
3489
|
-
at: (frame: number) => Rect;
|
|
3490
|
-
anchor: Anchor;
|
|
3491
|
-
};
|
|
3492
|
-
/** Resolve a target to rects (static) or a per-frame rect (dynamic). */
|
|
3493
|
-
declare function resolveTarget(target: Target, ctx?: TargetContext): ResolvedTarget;
|
|
3494
|
-
/** A text target's string, measured glyphs and range, and where the node sits. */
|
|
3495
|
-
interface TextLayout {
|
|
3496
|
-
content: string;
|
|
3497
|
-
metrics: ReturnType<MeasureFn>;
|
|
3498
|
-
options: MeasureOptions;
|
|
3499
|
-
range: [number, number];
|
|
3500
|
-
/** The node's x / y: add to measured glyph positions. */
|
|
3501
|
-
x: number;
|
|
3502
|
-
y: number;
|
|
3503
|
-
}
|
|
3504
|
-
/** Measure a text target the way the renderer lays it out. */
|
|
3505
|
-
declare function textLayout(target: Extract<Target, {
|
|
3506
|
-
text: TargetNode;
|
|
3507
|
-
}>, ctx: TargetContext): TextLayout;
|
|
3508
|
-
/** The union rect of `rects`. */
|
|
3509
|
-
declare function boundsOf(rects: readonly Rect[]): Rect;
|
|
3510
|
-
/** The point of `rect` named by `anchor`. `tip` on text = start of the first line, mid-height. */
|
|
3511
|
-
declare function anchorPoint(rect: Rect, anchor?: Anchor, isText?: boolean): Vec2$1;
|
|
3512
|
-
/** The point a resolved target names at `frame` (static targets ignore frame). */
|
|
3513
|
-
declare function targetPoint(resolved: ResolvedTarget, frame?: number, isText?: boolean): Vec2$1;
|
|
3514
|
-
//#endregion
|
|
3515
|
-
//#region src/core/schemas.d.ts
|
|
3516
|
-
/** Any `Target`: [x, y], a rect, { node }, { text }, { track }, or (frame) => point. */
|
|
3517
|
-
declare function targetSchema(): z.ZodType<Target>;
|
|
3518
|
-
//#endregion
|
|
3519
3993
|
//#region src/core/surface.d.ts
|
|
3520
3994
|
type ElevationLevel = keyof Theme["elevation"];
|
|
3521
3995
|
/** Layer styles for `level`: a drop shadow and, when the theme asks, a top-edge highlight. */
|
|
@@ -3572,6 +4046,13 @@ declare function chain(durations: readonly number[], start?: number, gap?: numbe
|
|
|
3572
4046
|
declare function typingFrames(text: string, cps: number, fps: number, r: Rng, start?: number): number[];
|
|
3573
4047
|
//#endregion
|
|
3574
4048
|
//#endregion
|
|
4049
|
+
//#region ../components/dist/toolkit.d.mts
|
|
4050
|
+
//#region src/core/schemas.d.ts
|
|
4051
|
+
|
|
4052
|
+
/** Any `Target`: [x, y], a rect, { node }, { text }, { track }, or (frame) => point. */
|
|
4053
|
+
declare function targetSchema(): z.ZodType<Target>;
|
|
4054
|
+
//#endregion
|
|
4055
|
+
//#endregion
|
|
3575
4056
|
//#region ../ai/dist/index.d.mts
|
|
3576
4057
|
//#region src/types.d.ts
|
|
3577
4058
|
/** Model input or output when its shape isn't declared. Pass a type argument to name it. */
|
|
@@ -3885,6 +4366,86 @@ interface ChartOptions {
|
|
|
3885
4366
|
}
|
|
3886
4367
|
declare const DEFAULT_CHART_COLORS: readonly ["#6366f1", "#22d3ee", "#f59e0b", "#ec4899", "#10b981", "#8b5cf6", "#f97316", "#3b82f6"];
|
|
3887
4368
|
//#endregion
|
|
4369
|
+
//#region src/retarget.d.ts
|
|
4370
|
+
/** Anything that answers where a keypoint is at a frame (a vision `PersonTrack`, a mocap reader). */
|
|
4371
|
+
interface PoseSource {
|
|
4372
|
+
point(name: PoseKeypointName, frame: number): {
|
|
4373
|
+
x: number;
|
|
4374
|
+
y: number;
|
|
4375
|
+
visibility: number;
|
|
4376
|
+
};
|
|
4377
|
+
}
|
|
4378
|
+
/** The bones a performer's 2D pose can aim. */
|
|
4379
|
+
type RetargetBone = "spine" | "neck" | "leftUpperArm" | "leftLowerArm" | "rightUpperArm" | "rightLowerArm" | "leftUpperLeg" | "leftLowerLeg" | "rightUpperLeg" | "rightLowerLeg";
|
|
4380
|
+
/** Joint names per bone; names match without a namespace prefix and case (`"LeftArm"` finds `"mixamorig:LeftArm"`). */
|
|
4381
|
+
type RigMap = Partial<Record<RetargetBone, string>>;
|
|
4382
|
+
/** Joint names of common rigs. */
|
|
4383
|
+
declare const RIG_PRESETS: {
|
|
4384
|
+
/** Mixamo (`mixamorig:` prefix, any number). */
|
|
4385
|
+
readonly mixamo: {
|
|
4386
|
+
readonly spine: "Spine";
|
|
4387
|
+
readonly neck: "Neck";
|
|
4388
|
+
readonly leftUpperArm: "LeftArm";
|
|
4389
|
+
readonly leftLowerArm: "LeftForeArm";
|
|
4390
|
+
readonly rightUpperArm: "RightArm";
|
|
4391
|
+
readonly rightLowerArm: "RightForeArm";
|
|
4392
|
+
readonly leftUpperLeg: "LeftUpLeg";
|
|
4393
|
+
readonly leftLowerLeg: "LeftLeg";
|
|
4394
|
+
readonly rightUpperLeg: "RightUpLeg";
|
|
4395
|
+
readonly rightLowerLeg: "RightLeg";
|
|
4396
|
+
};
|
|
4397
|
+
/** Unity humanoid / VRM bone names. */
|
|
4398
|
+
readonly humanoid: {
|
|
4399
|
+
readonly spine: "Spine";
|
|
4400
|
+
readonly neck: "Neck";
|
|
4401
|
+
readonly leftUpperArm: "LeftUpperArm";
|
|
4402
|
+
readonly leftLowerArm: "LeftLowerArm";
|
|
4403
|
+
readonly rightUpperArm: "RightUpperArm";
|
|
4404
|
+
readonly rightLowerArm: "RightLowerArm";
|
|
4405
|
+
readonly leftUpperLeg: "LeftUpperLeg";
|
|
4406
|
+
readonly leftLowerLeg: "LeftLowerLeg";
|
|
4407
|
+
readonly rightUpperLeg: "RightUpperLeg";
|
|
4408
|
+
readonly rightLowerLeg: "RightLowerLeg";
|
|
4409
|
+
};
|
|
4410
|
+
/** Blender Rigify deform bones. */
|
|
4411
|
+
readonly rigify: {
|
|
4412
|
+
readonly spine: "spine";
|
|
4413
|
+
readonly neck: "neck";
|
|
4414
|
+
readonly leftUpperArm: "upper_arm.L";
|
|
4415
|
+
readonly leftLowerArm: "forearm.L";
|
|
4416
|
+
readonly rightUpperArm: "upper_arm.R";
|
|
4417
|
+
readonly rightLowerArm: "forearm.R";
|
|
4418
|
+
readonly leftUpperLeg: "thigh.L";
|
|
4419
|
+
readonly leftLowerLeg: "shin.L";
|
|
4420
|
+
readonly rightUpperLeg: "thigh.R";
|
|
4421
|
+
readonly rightLowerLeg: "shin.R";
|
|
4422
|
+
};
|
|
4423
|
+
};
|
|
4424
|
+
interface RetargetOptions {
|
|
4425
|
+
/** The character's joint names: a preset or a map. Default "mixamo". */
|
|
4426
|
+
rig?: keyof typeof RIG_PRESETS | RigMap;
|
|
4427
|
+
/** Only these bones (e.g. arms, over a walk clip). Default: every mapped bone. */
|
|
4428
|
+
bones?: RetargetBone[];
|
|
4429
|
+
/**
|
|
4430
|
+
* Drive the character's right side with the performer's left: for a
|
|
4431
|
+
* character seen from behind. Default false (both face the camera).
|
|
4432
|
+
*/
|
|
4433
|
+
mirror?: boolean;
|
|
4434
|
+
/**
|
|
4435
|
+
* Keypoints less sure than this hand their bone back to the animated
|
|
4436
|
+
* pose, fading over the next 0.2 of confidence. Default 0.3.
|
|
4437
|
+
*/
|
|
4438
|
+
minVisibility?: number;
|
|
4439
|
+
/** Overall blend over the animated pose, 0..1: a number, keys, function or signal. Default 1. */
|
|
4440
|
+
weight?: NumberTrack;
|
|
4441
|
+
}
|
|
4442
|
+
/**
|
|
4443
|
+
* Aim constraints that make a character copy `source`'s pose: put them on
|
|
4444
|
+
* a glTF model's `aim`. Bones whose joints the rig map doesn't name, or
|
|
4445
|
+
* whose keypoints the vision isn't sure of, keep the animated pose.
|
|
4446
|
+
*/
|
|
4447
|
+
declare function retargetPose(source: PoseSource, options?: RetargetOptions): AimConstraint[];
|
|
4448
|
+
//#endregion
|
|
3888
4449
|
//#region src/clip-vision.d.ts
|
|
3889
4450
|
type PoseKeypointName = (typeof COCO17_KEYPOINT_NAMES)[number];
|
|
3890
4451
|
interface ClipVisionOptions {
|
|
@@ -3917,6 +4478,14 @@ interface ClipVisionOptions {
|
|
|
3917
4478
|
* clip tracks no pose or silhouette unless `pose` / `mask` ask for them.
|
|
3918
4479
|
*/
|
|
3919
4480
|
depth?: boolean;
|
|
4481
|
+
/**
|
|
4482
|
+
* Resolve the subject's edge to soft alpha (ViTMatte Small): hair, motion
|
|
4483
|
+
* blur and see-through parts that a hard mask cuts off. `true`, or
|
|
4484
|
+
* `{ band, resolution }` (see `MatteRefineOptions`). Matte layers, `signals`
|
|
4485
|
+
* masks and `subject` read the soft alpha; each prompted track keeps its own.
|
|
4486
|
+
* Mattes persist apart from the masks, so turning this on reuses them.
|
|
4487
|
+
*/
|
|
4488
|
+
matting?: boolean | MatteRefineOptions;
|
|
3920
4489
|
/** Silhouette cell size in source pixels (default 8: a 1920×1080 clip gives a 240×135 grid). */
|
|
3921
4490
|
maskCell?: number;
|
|
3922
4491
|
/** Keypoints are averaged over ±`smoothing` frames, weighted by confidence (default 2; 0 = raw). */
|
|
@@ -4007,6 +4576,10 @@ declare class ClipVision implements ClipSubjectSource {
|
|
|
4007
4576
|
private readonly subjects;
|
|
4008
4577
|
private wantSubjects;
|
|
4009
4578
|
private subjectsLoaded?;
|
|
4579
|
+
/** Soft alpha per source frame (`matting`); null when the frame holds no subject. */
|
|
4580
|
+
private readonly mattes;
|
|
4581
|
+
private mattesLoaded?;
|
|
4582
|
+
private unsavedMattes;
|
|
4010
4583
|
/** Depth per source frame; null when the frame did not decode. Bounded when on disk. */
|
|
4011
4584
|
private readonly depths;
|
|
4012
4585
|
/** Source frames whose depth is on disk. */
|
|
@@ -4056,6 +4629,14 @@ declare class ClipVision implements ClipSubjectSource {
|
|
|
4056
4629
|
get tracksPose(): boolean;
|
|
4057
4630
|
/** Whether frames carry the person's silhouette: on by default, off for depth clips. */
|
|
4058
4631
|
get tracksMask(): boolean;
|
|
4632
|
+
/** Whether subjects are matted to soft alpha. */
|
|
4633
|
+
get tracksMatting(): boolean;
|
|
4634
|
+
private get matteSettings();
|
|
4635
|
+
/**
|
|
4636
|
+
* A stored subject's alpha at a source frame: the matte when the clip mattes
|
|
4637
|
+
* (undefined until matted), else the mask. With `id`, that track only.
|
|
4638
|
+
*/
|
|
4639
|
+
private alpha;
|
|
4059
4640
|
/** Whether frames carry relative depth. */
|
|
4060
4641
|
get tracksDepth(): boolean;
|
|
4061
4642
|
/**
|
|
@@ -4084,7 +4665,15 @@ declare class ClipVision implements ClipSubjectSource {
|
|
|
4084
4665
|
/** Loads `@framefields/vision-sam` and validates the prompts once, on first use. */
|
|
4085
4666
|
private prompted;
|
|
4086
4667
|
private compute;
|
|
4668
|
+
/** Pose, silhouette and subject of every frame in `from…to` not analysed yet. */
|
|
4669
|
+
private computeSubjects;
|
|
4087
4670
|
private visionRunner;
|
|
4671
|
+
/**
|
|
4672
|
+
* The soft alpha of every subject in `from…to` not matted yet: one
|
|
4673
|
+
* ViTMatte pass per frame over every track's edge. Prompted label maps grow
|
|
4674
|
+
* into the soft edge, so each track keeps its own alpha.
|
|
4675
|
+
*/
|
|
4676
|
+
private computeMattes;
|
|
4088
4677
|
/** Depth of every source frame in `from…to` not analysed yet, saved one file per frame. */
|
|
4089
4678
|
private computeDepth;
|
|
4090
4679
|
private hasDepth;
|
|
@@ -4133,6 +4722,13 @@ declare class ClipVision implements ClipSubjectSource {
|
|
|
4133
4722
|
/** Subjects live beside the results: large, and only matte layers read them. */
|
|
4134
4723
|
private subjectsPath;
|
|
4135
4724
|
private loadSubjects;
|
|
4725
|
+
/**
|
|
4726
|
+
* Mattes live beside the subjects they refine, keyed by the matting model
|
|
4727
|
+
* and settings, so toggling matting never recomputes the masks.
|
|
4728
|
+
*/
|
|
4729
|
+
private mattesPath;
|
|
4730
|
+
private loadMattes;
|
|
4731
|
+
private saveMattes;
|
|
4136
4732
|
private saveSubjects;
|
|
4137
4733
|
}
|
|
4138
4734
|
/**
|
|
@@ -4156,6 +4752,12 @@ declare class PersonTrack {
|
|
|
4156
4752
|
y: number;
|
|
4157
4753
|
visibility: number;
|
|
4158
4754
|
};
|
|
4755
|
+
/**
|
|
4756
|
+
* Aim constraints that make a 3D character copy this person's pose, for
|
|
4757
|
+
* a glTF model's `aim`: `Layer.glb(src, { aim: person.retarget({ rig: "mixamo" }) })`.
|
|
4758
|
+
* Place the person first (`place()`), so directions read in composition px.
|
|
4759
|
+
*/
|
|
4760
|
+
retarget(options?: RetargetOptions): AimConstraint[];
|
|
4159
4761
|
/** Signals for a keypoint, for `.signal("x", …)`; read while rendering. */
|
|
4160
4762
|
signals(name: PoseKeypointName): {
|
|
4161
4763
|
x: FrameSignal<number>;
|
|
@@ -4351,6 +4953,11 @@ type Shape3D = {
|
|
|
4351
4953
|
/** Flat [x0, y0, z0, …] around the body origin. */ | {
|
|
4352
4954
|
kind: "hull";
|
|
4353
4955
|
points: number[];
|
|
4956
|
+
}
|
|
4957
|
+
/** Exact triangle mesh (static / kinematic bodies: terrain, sculptures). */ | {
|
|
4958
|
+
kind: "trimesh";
|
|
4959
|
+
vertices: number[];
|
|
4960
|
+
indices: number[];
|
|
4354
4961
|
};
|
|
4355
4962
|
interface BodySpecBase extends MaterialSpec {
|
|
4356
4963
|
type: BodyType;
|
|
@@ -4415,6 +5022,10 @@ interface SimBody<V, R> {
|
|
|
4415
5022
|
mass(): number;
|
|
4416
5023
|
setEnabled(enabled: boolean): void;
|
|
4417
5024
|
applyImpulse(impulse: V): void;
|
|
5025
|
+
/** Teleports the body (wakes it): position, and rotation. */
|
|
5026
|
+
setPose(position: V, rotation: R): void;
|
|
5027
|
+
/** Sets linear and angular velocity (wakes the body). */
|
|
5028
|
+
setVelocity(linear: V, angular: R extends number ? number : Vec3): void;
|
|
4418
5029
|
setKinematicTarget(position: V, rotation: R): void;
|
|
4419
5030
|
}
|
|
4420
5031
|
type SimBody2D = SimBody<Vec2, number>;
|
|
@@ -4581,6 +5192,10 @@ declare abstract class WorldCore<V extends number[], R, B extends CoreBody<V, R>
|
|
|
4581
5192
|
targets?: Set<B>;
|
|
4582
5193
|
accel: (body: B, frame: number) => V | null | undefined;
|
|
4583
5194
|
}>;
|
|
5195
|
+
/** Run after each simulated frame with the pairs that started touching in it. */
|
|
5196
|
+
protected readonly stepHooks: Array<(frame: number, pairs: Array<[B, B]>) => void>;
|
|
5197
|
+
/** Run once the whole simulation has finished (not in live worlds). */
|
|
5198
|
+
protected readonly simulatedHooks: Array<() => void>;
|
|
4584
5199
|
private readonly worldRecording;
|
|
4585
5200
|
private readonly allCollisions;
|
|
4586
5201
|
/** No more bodies, joints or forces: the world has started (or finished). */
|
|
@@ -4745,6 +5360,49 @@ declare class Particles extends Effect$1<Record<string, never>> implements Parti
|
|
|
4745
5360
|
particleFrame(frame: number, fps: number): ParticleFrame;
|
|
4746
5361
|
}
|
|
4747
5362
|
//#endregion
|
|
5363
|
+
//#region src/physics/fracture3d.d.ts
|
|
5364
|
+
interface Fracture3DOptions {
|
|
5365
|
+
/** Voronoi pieces (2..256). Default 48. */
|
|
5366
|
+
cells?: number;
|
|
5367
|
+
/** Same seed, same pieces. Default 1. */
|
|
5368
|
+
seed?: number;
|
|
5369
|
+
/** Scene point (px) the pieces crowd around and fly from. */
|
|
5370
|
+
impactPoint?: [number, number, number];
|
|
5371
|
+
/**
|
|
5372
|
+
* Composition frame the layer breaks at, or `"onImpact"` (default): the
|
|
5373
|
+
* first frame a body hits it. An animated layer (position, rotation)
|
|
5374
|
+
* collides along its path while whole and breaks where it is, its pieces
|
|
5375
|
+
* carrying its motion.
|
|
5376
|
+
*/
|
|
5377
|
+
fractureFrame?: number | "onImpact";
|
|
5378
|
+
/** Color of the faces the break exposes. Default "#d8d2c4". */
|
|
5379
|
+
interiorColor?: string;
|
|
5380
|
+
/** Roughness of the exposed faces. Default 0.9. */
|
|
5381
|
+
interiorRoughness?: number;
|
|
5382
|
+
/** Outward speed at the impact point, px/s, fading with distance. Default 0. */
|
|
5383
|
+
explosionSpeed?: number;
|
|
5384
|
+
/** Random tumble, degrees per second. Default a third of `explosionSpeed`. */
|
|
5385
|
+
spin?: number;
|
|
5386
|
+
/** Share of the hitting body's velocity the nearest pieces take. Default 0.35. */
|
|
5387
|
+
momentumTransfer?: number;
|
|
5388
|
+
density?: number;
|
|
5389
|
+
friction?: number;
|
|
5390
|
+
restitution?: number;
|
|
5391
|
+
}
|
|
5392
|
+
/** A fractured layer: its pieces, and the collider that stands in for it while whole. */
|
|
5393
|
+
declare class Fracture3D {
|
|
5394
|
+
readonly node: LayoutNode;
|
|
5395
|
+
readonly pieces: readonly PhysicsBody3D[];
|
|
5396
|
+
readonly intact: PhysicsBody3D;
|
|
5397
|
+
private readonly world;
|
|
5398
|
+
/** @internal */
|
|
5399
|
+
brokeAt?: number;
|
|
5400
|
+
/** @internal */
|
|
5401
|
+
constructor(node: LayoutNode, pieces: readonly PhysicsBody3D[], intact: PhysicsBody3D, world: PhysicsWorld3D);
|
|
5402
|
+
/** Composition frame it broke at (after simulating); undefined if it never did. */
|
|
5403
|
+
get frame(): number | undefined;
|
|
5404
|
+
}
|
|
5405
|
+
//#endregion
|
|
4748
5406
|
//#region src/physics/world3d.d.ts
|
|
4749
5407
|
interface World3DOptions extends PhysicsWorldOptions {
|
|
4750
5408
|
/** px/s², y down. A number pulls straight down. Default 2400. */
|
|
@@ -4786,10 +5444,12 @@ interface Body3DOptions extends Omit<BodyCommonOptions, "lockRotation"> {
|
|
|
4786
5444
|
};
|
|
4787
5445
|
/**
|
|
4788
5446
|
* Collider: `"auto"` (default) reads the Layer3D primitive (box, sphere,
|
|
4789
|
-
* cylinder)
|
|
4790
|
-
*
|
|
5447
|
+
* cylinder), uses the exact triangles of `Layer3D.terrain` / `Layer3D.sdf`
|
|
5448
|
+
* on static bodies, and falls back to the mesh's convex hull for models and
|
|
5449
|
+
* tapered or uneven shapes. Force `"box"`, `"sphere"`, `"cylinder"`,
|
|
5450
|
+
* `"hull"` or `"mesh"` (exact triangles; static or kinematic bodies only).
|
|
4791
5451
|
*/
|
|
4792
|
-
shape?: "auto" | "box" | "sphere" | "cylinder" | "hull";
|
|
5452
|
+
shape?: "auto" | "box" | "sphere" | "cylinder" | "hull" | "mesh";
|
|
4793
5453
|
/** Collider size override `[width, height, depth]`, px (before the layer's scale). */
|
|
4794
5454
|
size?: [number, number, number];
|
|
4795
5455
|
/** px/s. */
|
|
@@ -4806,11 +5466,10 @@ interface Body3DOptions extends Omit<BodyCommonOptions, "lockRotation"> {
|
|
|
4806
5466
|
rotateZ?: PhysicsDriver;
|
|
4807
5467
|
};
|
|
4808
5468
|
}
|
|
5469
|
+
/** @internal */
|
|
4809
5470
|
type LayerLike$1 = Record<string, unknown> & {
|
|
4810
5471
|
kind?: string;
|
|
4811
5472
|
};
|
|
4812
|
-
/** Quaternion of the renderer's Euler order: R = Rz · Ry · Rx (degrees). */
|
|
4813
|
-
|
|
4814
5473
|
/**
|
|
4815
5474
|
* A simulated 3D body. Like {@link PhysicsBody2D}, its signals hold one
|
|
4816
5475
|
* value per composition frame and reading one runs the simulation.
|
|
@@ -4832,6 +5491,16 @@ declare class PhysicsBody3D implements CoreBody<Vec3, Quat> {
|
|
|
4832
5491
|
rotation: Vec3;
|
|
4833
5492
|
}, options: Body3DOptions, recording: Recording);
|
|
4834
5493
|
get startFrame(): number;
|
|
5494
|
+
private wokeAt?;
|
|
5495
|
+
/**
|
|
5496
|
+
* @internal Starts the body now, mid-simulation (`frame` relative to the
|
|
5497
|
+
* world's start): it moves from the next frame, at this velocity (px/s,
|
|
5498
|
+
* degrees per second), from `pose` (px) when given.
|
|
5499
|
+
*/
|
|
5500
|
+
wake(frame: number, velocity: Vec3, angularVelocity: Vec3, pose?: {
|
|
5501
|
+
position: Vec3;
|
|
5502
|
+
rotation: Quat;
|
|
5503
|
+
}): void;
|
|
4835
5504
|
get gravityScale(): number;
|
|
4836
5505
|
get output(): Body3DOptions["output"];
|
|
4837
5506
|
/** Center, px (what Layer3D's `x` / `y` / `z` mean). */
|
|
@@ -4899,6 +5568,20 @@ declare class PhysicsWorld3D extends WorldCore<Vec3, Quat, PhysicsBody3D> {
|
|
|
4899
5568
|
constructor(backend: PhysicsBackend, options: World3DOptions);
|
|
4900
5569
|
/** Adds a body for a Layer3D primitive or model (centered on its `x/y/z`), or a plain box. */
|
|
4901
5570
|
body(target: LayoutNode | PhysicsBox3D, options?: Body3DOptions): PhysicsBody3D;
|
|
5571
|
+
/** @internal A body with an explicit collider (px), at a pose in px and degrees. */
|
|
5572
|
+
shapedBody(layer: LayerLike$1 | undefined, position: Vec3, rotation: Vec3, shape: Shape3D, options: Body3DOptions): PhysicsBody3D;
|
|
5573
|
+
/** @internal Runs after each simulated frame (frame relative to the world's start). */
|
|
5574
|
+
onStep(hook: (frame: number, pairs: Array<[PhysicsBody3D, PhysicsBody3D]>) => void): void;
|
|
5575
|
+
/** @internal Runs once the simulation has finished. */
|
|
5576
|
+
onSimulated(hook: () => void): void;
|
|
5577
|
+
/**
|
|
5578
|
+
* Breaks a Layer3D primitive, extruded text or loaded model into Voronoi
|
|
5579
|
+
* pieces that stay together, looking intact, until the fracture frame (or
|
|
5580
|
+
* until something hits it), then fly apart as rigid bodies. The node is
|
|
5581
|
+
* changed in place: add it to the composition as usual. All pieces draw
|
|
5582
|
+
* in one call per material, the cut faces in `interiorColor`.
|
|
5583
|
+
*/
|
|
5584
|
+
fracture(target: LayoutNode, options?: Fracture3DOptions): Fracture3D;
|
|
4902
5585
|
/** A fixed, very large floor whose top face sits at `y`. */
|
|
4903
5586
|
ground(options: {
|
|
4904
5587
|
y: number;
|
|
@@ -4943,6 +5626,47 @@ declare class PhysicsWorld3D extends WorldCore<Vec3, Quat, PhysicsBody3D> {
|
|
|
4943
5626
|
private endpoints;
|
|
4944
5627
|
}
|
|
4945
5628
|
//#endregion
|
|
5629
|
+
//#region src/procedural3d.d.ts
|
|
5630
|
+
type GeometryKeys = "type" | "color" | "material";
|
|
5631
|
+
type Terrain3DOptions = Primitive3DNodeOptions & Omit<TerrainGeometryOptions, GeometryKeys> & {
|
|
5632
|
+
/**
|
|
5633
|
+
* Custom heights: `(u, v) => 0..1` over the grid (u across x, v across
|
|
5634
|
+
* z, both 0..1 from the near-left corner). Sampled into `heights`.
|
|
5635
|
+
*/
|
|
5636
|
+
heightFn?: (u: number, v: number) => number;
|
|
5637
|
+
};
|
|
5638
|
+
type Sdf3DOptions = Primitive3DNodeOptions & Omit<SdfGeometryOptions, GeometryKeys>;
|
|
5639
|
+
type Scatter3DOptions = Omit<Instances3DOptions, "count" | "instanceAt" | "transforms" | "bodies"> & ScatterOptions & {
|
|
5640
|
+
/** The surface: `Layer3D.terrain`, `Layer3D.sdf`, any primitive or `Layer.model`. */
|
|
5641
|
+
surface: AnimatableNode<Model3DNode>;
|
|
5642
|
+
/** Push each instance this far into the surface, px. Default 0. */
|
|
5643
|
+
sink?: number;
|
|
5644
|
+
/** Procedural wind sway; the meshes bend from their base. */
|
|
5645
|
+
wind?: WindConfig;
|
|
5646
|
+
};
|
|
5647
|
+
/** A terrain node's helpers for standing other layers on it. */
|
|
5648
|
+
interface TerrainSurface {
|
|
5649
|
+
/**
|
|
5650
|
+
* Surface y at (x, z) in the terrain's parent space (where its own x, y,
|
|
5651
|
+
* z live), so a camera, light, video screen or model can stand on it.
|
|
5652
|
+
* Follows the terrain's position and scale; rotation is not applied.
|
|
5653
|
+
*/
|
|
5654
|
+
heightAt(x: number, z: number): number;
|
|
5655
|
+
/** Unit surface normal at (x, z), parent space (unrotated). */
|
|
5656
|
+
normalAt(x: number, z: number): [number, number, number];
|
|
5657
|
+
/** Normalized altitude 0..1 at (x, z). */
|
|
5658
|
+
elevationAt(x: number, z: number): number;
|
|
5659
|
+
}
|
|
5660
|
+
type Terrain3DNode = AnimatableNode<Model3DNode> & TerrainSurface;
|
|
5661
|
+
type Scatter3DNode = AnimatableNode<Model3DNode> & {
|
|
5662
|
+
/**
|
|
5663
|
+
* The scattered points (surface position, normal, rotation, scale) in the
|
|
5664
|
+
* surface's parent space, for placing other layers among the instances.
|
|
5665
|
+
* Empty for a surface loaded from a file (its mesh is read at render).
|
|
5666
|
+
*/
|
|
5667
|
+
points(): ScatterPoint[];
|
|
5668
|
+
};
|
|
5669
|
+
//#endregion
|
|
4946
5670
|
//#region src/swarm3d.d.ts
|
|
4947
5671
|
interface Swarm3DOptions extends Surface3DOptions {
|
|
4948
5672
|
id?: string;
|
|
@@ -5067,12 +5791,46 @@ interface Swarm3DOptions extends Surface3DOptions {
|
|
|
5067
5791
|
//#region src/shapes3d.d.ts
|
|
5068
5792
|
/** Physically based surface options every 3D builder accepts. */
|
|
5069
5793
|
interface Surface3DOptions {
|
|
5794
|
+
/** Art-directed lighting for material: "toon". */
|
|
5795
|
+
toon?: ToonShading;
|
|
5796
|
+
/** Opt out of the scene's geometry outlines while retaining depth occlusion. */
|
|
5797
|
+
outline?: boolean;
|
|
5070
5798
|
/** Light the surface gives off: a CSS color added on top of lighting. */
|
|
5071
5799
|
emissive?: string;
|
|
5072
5800
|
/** Emissive multiplier; above 1 glows past white and blooms. Default 1. */
|
|
5073
5801
|
emissiveIntensity?: number;
|
|
5074
5802
|
/** Falls into a `castShadow` light's shadow map (meshes default on, flat layers off). */
|
|
5075
5803
|
castShadow?: boolean;
|
|
5804
|
+
/** Clear varnish layer over the base 0..1 (car paint, lacquer, wet coats). */
|
|
5805
|
+
clearcoat?: SignalOrNumber;
|
|
5806
|
+
/** Roughness of the clearcoat layer 0..1. Default 0.08. */
|
|
5807
|
+
clearcoatRoughness?: SignalOrNumber;
|
|
5808
|
+
/** Stretched highlight -1..1 (brushed metal, satin, hair). 0 = round. */
|
|
5809
|
+
anisotropy?: SignalOrNumber;
|
|
5810
|
+
/** Brush direction in degrees around the surface normal. Default 0. */
|
|
5811
|
+
anisotropyRotation?: SignalOrNumber;
|
|
5812
|
+
/** Light bleeding through the surface 0..1 (wax, jade, skin, leaves). */
|
|
5813
|
+
subsurface?: SignalOrNumber;
|
|
5814
|
+
/** Color of the scattered light (CSS color). Default "#ff6b4a". */
|
|
5815
|
+
subsurfaceColor?: string;
|
|
5816
|
+
/** Velvet / cloth rim glow at grazing angles 0..1. */
|
|
5817
|
+
sheen?: SignalOrNumber;
|
|
5818
|
+
/** Sheen tint (CSS color). Default "#ffffff". */
|
|
5819
|
+
sheenColor?: string;
|
|
5820
|
+
/** Sheen fiber roughness 0.05..1. Default 0.5. */
|
|
5821
|
+
sheenRoughness?: SignalOrNumber;
|
|
5822
|
+
/** Thin-film rainbow (soap, oil, beetle shells): 0..1 or `{ intensity, thickness, ior }`. */
|
|
5823
|
+
iridescence?: SignalOrNumber | IridescenceConfig;
|
|
5824
|
+
/** Film thickness in nanometers 100..1200. Default 400. */
|
|
5825
|
+
iridescenceThickness?: SignalOrNumber;
|
|
5826
|
+
/** Film refractive index 1.05..2.5. Default 1.3. */
|
|
5827
|
+
iridescenceIor?: SignalOrNumber;
|
|
5828
|
+
/** Project textures in world space instead of UVs: `true` or `{ scale, sharpness }`. */
|
|
5829
|
+
triplanar?: boolean | TriplanarConfig;
|
|
5830
|
+
/** Triplanar tiling: repeats per 256 world px (> 0 turns triplanar on). */
|
|
5831
|
+
triplanarScale?: SignalOrNumber;
|
|
5832
|
+
/** Triplanar axis blend sharpness 1..16. Default 4. */
|
|
5833
|
+
triplanarSharpness?: SignalOrNumber;
|
|
5076
5834
|
}
|
|
5077
5835
|
interface CubeFaceConfig extends Surface3DOptions {
|
|
5078
5836
|
background?: string;
|
|
@@ -5103,6 +5861,12 @@ interface Cube3DOptions extends Surface3DOptions {
|
|
|
5103
5861
|
rotateX?: number;
|
|
5104
5862
|
rotateY?: number;
|
|
5105
5863
|
rotateZ?: number;
|
|
5864
|
+
/** Alias for `rotateX`. */
|
|
5865
|
+
rotationX?: number;
|
|
5866
|
+
/** Alias for `rotateY`. */
|
|
5867
|
+
rotationY?: number;
|
|
5868
|
+
/** Alias for `rotateZ`. */
|
|
5869
|
+
rotationZ?: number;
|
|
5106
5870
|
faces?: {
|
|
5107
5871
|
front?: CubeFaceInput;
|
|
5108
5872
|
back?: CubeFaceInput;
|
|
@@ -5135,6 +5899,12 @@ interface Carousel3DOptions {
|
|
|
5135
5899
|
rotateX?: number;
|
|
5136
5900
|
rotateY?: number;
|
|
5137
5901
|
rotateZ?: number;
|
|
5902
|
+
/** Alias for `rotateX`. */
|
|
5903
|
+
rotationX?: number;
|
|
5904
|
+
/** Alias for `rotateY`. */
|
|
5905
|
+
rotationY?: number;
|
|
5906
|
+
/** Alias for `rotateZ`. */
|
|
5907
|
+
rotationZ?: number;
|
|
5138
5908
|
faceInward?: boolean;
|
|
5139
5909
|
itemWidth?: number;
|
|
5140
5910
|
itemHeight?: number;
|
|
@@ -5149,8 +5919,12 @@ interface Prism3DOptions extends Surface3DOptions {
|
|
|
5149
5919
|
radius?: number;
|
|
5150
5920
|
/** Optional top (-y) radius; defaults to `radius`. */
|
|
5151
5921
|
radiusTop?: number;
|
|
5922
|
+
/** Alias for `radiusTop`. */
|
|
5923
|
+
topRadius?: number;
|
|
5152
5924
|
/** Optional bottom (+y) radius; defaults to `radius`. */
|
|
5153
5925
|
radiusBottom?: number;
|
|
5926
|
+
/** Alias for `radiusBottom`. */
|
|
5927
|
+
bottomRadius?: number;
|
|
5154
5928
|
/** Height along Y (default 100). */
|
|
5155
5929
|
height?: number;
|
|
5156
5930
|
x?: number;
|
|
@@ -5159,6 +5933,12 @@ interface Prism3DOptions extends Surface3DOptions {
|
|
|
5159
5933
|
rotateX?: number;
|
|
5160
5934
|
rotateY?: number;
|
|
5161
5935
|
rotateZ?: number;
|
|
5936
|
+
/** Alias for `rotateX`. */
|
|
5937
|
+
rotationX?: number;
|
|
5938
|
+
/** Alias for `rotateY`. */
|
|
5939
|
+
rotationY?: number;
|
|
5940
|
+
/** Alias for `rotateZ`. */
|
|
5941
|
+
rotationZ?: number;
|
|
5162
5942
|
scale?: number;
|
|
5163
5943
|
scaleX?: number;
|
|
5164
5944
|
scaleY?: number;
|
|
@@ -5199,6 +5979,8 @@ interface Pyramid3DOptions extends Surface3DOptions {
|
|
|
5199
5979
|
radius?: number;
|
|
5200
5980
|
/** Optional top (-y) truncation radius for a frustum pyramid (default 0 = sharp apex). */
|
|
5201
5981
|
radiusTop?: number;
|
|
5982
|
+
/** Alias for `radiusTop`. */
|
|
5983
|
+
topRadius?: number;
|
|
5202
5984
|
/** Height from base (+y) to apex (-y) (default 100). */
|
|
5203
5985
|
height?: number;
|
|
5204
5986
|
/** Leave the base cap off (default false = solid capped pyramid). */
|
|
@@ -5211,6 +5993,12 @@ interface Pyramid3DOptions extends Surface3DOptions {
|
|
|
5211
5993
|
rotateX?: number;
|
|
5212
5994
|
rotateY?: number;
|
|
5213
5995
|
rotateZ?: number;
|
|
5996
|
+
/** Alias for `rotateX`. */
|
|
5997
|
+
rotationX?: number;
|
|
5998
|
+
/** Alias for `rotateY`. */
|
|
5999
|
+
rotationY?: number;
|
|
6000
|
+
/** Alias for `rotateZ`. */
|
|
6001
|
+
rotationZ?: number;
|
|
5214
6002
|
scale?: number;
|
|
5215
6003
|
scaleX?: number;
|
|
5216
6004
|
scaleY?: number;
|
|
@@ -5244,6 +6032,12 @@ interface Plane3DOptions extends Surface3DOptions {
|
|
|
5244
6032
|
rotateX?: number;
|
|
5245
6033
|
rotateY?: number;
|
|
5246
6034
|
rotateZ?: number;
|
|
6035
|
+
/** Alias for `rotateX`. */
|
|
6036
|
+
rotationX?: number;
|
|
6037
|
+
/** Alias for `rotateY`. */
|
|
6038
|
+
rotationY?: number;
|
|
6039
|
+
/** Alias for `rotateZ`. */
|
|
6040
|
+
rotationZ?: number;
|
|
5247
6041
|
background?: string;
|
|
5248
6042
|
borderRadius?: number;
|
|
5249
6043
|
twoSided?: boolean;
|
|
@@ -5275,6 +6069,12 @@ interface Grid3DOptions {
|
|
|
5275
6069
|
rotateX?: number;
|
|
5276
6070
|
rotateY?: number;
|
|
5277
6071
|
rotateZ?: number;
|
|
6072
|
+
/** Alias for `rotateX`. */
|
|
6073
|
+
rotationX?: number;
|
|
6074
|
+
/** Alias for `rotateY`. */
|
|
6075
|
+
rotationY?: number;
|
|
6076
|
+
/** Alias for `rotateZ`. */
|
|
6077
|
+
rotationZ?: number;
|
|
5278
6078
|
opacity?: number;
|
|
5279
6079
|
}
|
|
5280
6080
|
interface Text3DOptions extends Surface3DOptions {
|
|
@@ -5291,6 +6091,12 @@ interface Text3DOptions extends Surface3DOptions {
|
|
|
5291
6091
|
rotateX?: number;
|
|
5292
6092
|
rotateY?: number;
|
|
5293
6093
|
rotateZ?: number;
|
|
6094
|
+
/** Alias for `rotateX`. */
|
|
6095
|
+
rotationX?: number;
|
|
6096
|
+
/** Alias for `rotateY`. */
|
|
6097
|
+
rotationY?: number;
|
|
6098
|
+
/** Alias for `rotateZ`. */
|
|
6099
|
+
rotationZ?: number;
|
|
5294
6100
|
scale?: number;
|
|
5295
6101
|
scaleX?: number;
|
|
5296
6102
|
scaleY?: number;
|
|
@@ -5351,6 +6157,12 @@ interface Primitive3DNodeOptions extends Surface3DOptions {
|
|
|
5351
6157
|
rotateX?: number;
|
|
5352
6158
|
rotateY?: number;
|
|
5353
6159
|
rotateZ?: number;
|
|
6160
|
+
/** Alias for `rotateX`. */
|
|
6161
|
+
rotationX?: number;
|
|
6162
|
+
/** Alias for `rotateY`. */
|
|
6163
|
+
rotationY?: number;
|
|
6164
|
+
/** Alias for `rotateZ`. */
|
|
6165
|
+
rotationZ?: number;
|
|
5354
6166
|
scale?: number;
|
|
5355
6167
|
scaleX?: number;
|
|
5356
6168
|
scaleY?: number;
|
|
@@ -5380,6 +6192,16 @@ interface Primitive3DNodeOptions extends Surface3DOptions {
|
|
|
5380
6192
|
opacity?: number;
|
|
5381
6193
|
startFrame?: number;
|
|
5382
6194
|
durationFrames?: number;
|
|
6195
|
+
/**
|
|
6196
|
+
* Base-color texture wrapped by the mesh's UVs: an image path, or any
|
|
6197
|
+
* layer (`Layer.video`, `Layer.image`, a layout tree with text…) drawn
|
|
6198
|
+
* fresh every frame, so video plays on the surface. Without its own
|
|
6199
|
+
* x / y / width / height the layer fills the frame, which maps to the
|
|
6200
|
+
* whole UV square. Combine with `triplanar` to project it in world space.
|
|
6201
|
+
*/
|
|
6202
|
+
texture?: string | LayoutNode;
|
|
6203
|
+
/** Procedural wind sway: vertices bend downwind by height above the mesh base. */
|
|
6204
|
+
wind?: WindConfig;
|
|
5383
6205
|
}
|
|
5384
6206
|
type RoundedBox3DOptions = Primitive3DNodeOptions & Omit<RoundedBoxGeometryOptions, "type" | "color" | "material">;
|
|
5385
6207
|
type Sphere3DOptions = Primitive3DNodeOptions & Omit<SphereGeometryOptions, "type" | "color" | "material">;
|
|
@@ -5421,6 +6243,12 @@ interface InstanceTransform3D {
|
|
|
5421
6243
|
color?: string | [number, number, number, number];
|
|
5422
6244
|
emissive?: string | [number, number, number];
|
|
5423
6245
|
emissiveIntensity?: number;
|
|
6246
|
+
/** Crowds: index into `crowd.clips` (default: instance index % clip count). */
|
|
6247
|
+
clip?: number;
|
|
6248
|
+
/** Crowds: seconds into the clip at frame 0 (default: seeded random, or 0 with `phase: "sync"`). */
|
|
6249
|
+
animOffset?: number;
|
|
6250
|
+
/** Crowds: playback speed (default: seeded within `crowd.speedRange`). */
|
|
6251
|
+
animSpeed?: number;
|
|
5424
6252
|
}
|
|
5425
6253
|
interface Instances3DOptions extends Surface3DOptions {
|
|
5426
6254
|
id?: string;
|
|
@@ -5444,12 +6272,27 @@ interface Instances3DOptions extends Surface3DOptions {
|
|
|
5444
6272
|
color: string;
|
|
5445
6273
|
intensity?: number;
|
|
5446
6274
|
};
|
|
6275
|
+
/** Procedural wind sway: each instance bends downwind from its base. */
|
|
6276
|
+
wind?: WindConfig;
|
|
6277
|
+
/**
|
|
6278
|
+
* Skinned crowd: the mesh is an animated model (`Layer.glb`, `Layer.gltf`)
|
|
6279
|
+
* and every instance plays one of `clips` at its own phase and speed,
|
|
6280
|
+
* skinned on the GPU from a palette baked once: thousands of characters,
|
|
6281
|
+
* one draw call per mesh.
|
|
6282
|
+
*/
|
|
6283
|
+
crowd?: CrowdConfig;
|
|
5447
6284
|
x?: number;
|
|
5448
6285
|
y?: number;
|
|
5449
6286
|
z?: number;
|
|
5450
6287
|
rotateX?: number;
|
|
5451
6288
|
rotateY?: number;
|
|
5452
6289
|
rotateZ?: number;
|
|
6290
|
+
/** Alias for `rotateX`. */
|
|
6291
|
+
rotationX?: number;
|
|
6292
|
+
/** Alias for `rotateY`. */
|
|
6293
|
+
rotationY?: number;
|
|
6294
|
+
/** Alias for `rotateZ`. */
|
|
6295
|
+
rotationZ?: number;
|
|
5453
6296
|
scale?: number;
|
|
5454
6297
|
color?: string;
|
|
5455
6298
|
colorTint?: string;
|
|
@@ -5489,12 +6332,12 @@ declare const Layer3D: {
|
|
|
5489
6332
|
* outward flat-shaded facet normals, and full material options.
|
|
5490
6333
|
* If `sideConfigs` are provided, builds a multi-panel preserve-3d container with all material props applied.
|
|
5491
6334
|
*/
|
|
5492
|
-
prism(options
|
|
6335
|
+
prism(options?: Prism3DOptions): SolidShape3DNode;
|
|
5493
6336
|
/**
|
|
5494
6337
|
* Creates a solid N-sided regular polygonal pyramid (or truncated pyramid when `radiusTop > 0`)
|
|
5495
6338
|
* with a bottom cap and crisp flat-shaded side facets.
|
|
5496
6339
|
*/
|
|
5497
|
-
pyramid(options
|
|
6340
|
+
pyramid(options?: Pyramid3DOptions): AnimatableNode<Model3DNode>;
|
|
5498
6341
|
/**
|
|
5499
6342
|
* Creates a standalone planar 3D card/quad.
|
|
5500
6343
|
*/
|
|
@@ -5589,6 +6432,30 @@ declare const Layer3D: {
|
|
|
5589
6432
|
* Renders hundreds or thousands of 3D meshes in 1 draw call per mesh variant,
|
|
5590
6433
|
* driven by Physics.world3d rigid bodies, procedural callbacks, or transform arrays.
|
|
5591
6434
|
*/
|
|
6435
|
+
/**
|
|
6436
|
+
* Procedural terrain: seeded fractal noise ("fbm" hills, "ridged"
|
|
6437
|
+
* mountains, "terrace" plateaus) or your own heights, optional cliff
|
|
6438
|
+
* overhangs, biome colors by altitude and slope, closed underneath into a
|
|
6439
|
+
* solid block. The node's y is the valley floor; peaks rise `height` px
|
|
6440
|
+
* above it. The node carries `heightAt(x, z)` / `normalAt(x, z)` for
|
|
6441
|
+
* standing cameras, lights, video screens and models on the ground.
|
|
6442
|
+
*/
|
|
6443
|
+
terrain(options: Terrain3DOptions): Terrain3DNode;
|
|
6444
|
+
/**
|
|
6445
|
+
* A sculpture of signed-distance primitives (sphere, box, cylinder,
|
|
6446
|
+
* capsule, torus, gyroid) joined in order by union / subtract /
|
|
6447
|
+
* intersect, hard or smooth (`smoothness` px), meshed watertight inside
|
|
6448
|
+
* `bounds`. Colored primitives blend where their joins blend.
|
|
6449
|
+
*/
|
|
6450
|
+
sdf(options: Sdf3DOptions): AnimatableNode<Model3DNode>;
|
|
6451
|
+
/**
|
|
6452
|
+
* Scatters instances of one or more meshes over a surface (terrain, SDF,
|
|
6453
|
+
* any primitive or `Layer.model` file): area-weighted, deterministic per
|
|
6454
|
+
* `seed`, filtered by slope / altitude / exclusion zones, spaced by
|
|
6455
|
+
* `minDistance`, each standing on its base. One draw call per mesh
|
|
6456
|
+
* variant. `wind` sways them; `.points()` returns where they stand.
|
|
6457
|
+
*/
|
|
6458
|
+
scatter(options: Scatter3DOptions): Scatter3DNode;
|
|
5592
6459
|
instances(options: Instances3DOptions): AnimatableNode<Model3DNode>;
|
|
5593
6460
|
/**
|
|
5594
6461
|
* GPU-simulated 3D particle swarm and shard system.
|
|
@@ -5599,43 +6466,43 @@ declare const Layer3D: {
|
|
|
5599
6466
|
/**
|
|
5600
6467
|
* Creates a 3D model node rendered natively with WebGPU mesh shaders.
|
|
5601
6468
|
*/
|
|
5602
|
-
model(options?:
|
|
6469
|
+
model(options?: Model3DOptions): AnimatableNode<Model3DNode>;
|
|
5603
6470
|
/**
|
|
5604
6471
|
* Convenience helper to create a 3D Wavefront OBJ model node.
|
|
5605
6472
|
*/
|
|
5606
|
-
obj(src: string, options?:
|
|
6473
|
+
obj(src: string, options?: Model3DOptions): AnimatableNode<Model3DNode>;
|
|
5607
6474
|
/**
|
|
5608
6475
|
* Convenience helper to create a 3D Autodesk FBX model node with skeletal animation support.
|
|
5609
6476
|
*/
|
|
5610
|
-
fbx(src: string, options?:
|
|
6477
|
+
fbx(src: string, options?: Model3DOptions): AnimatableNode<Model3DNode>;
|
|
5611
6478
|
/**
|
|
5612
6479
|
* Convenience helper to create a 3D glTF 2.0 model node.
|
|
5613
6480
|
*/
|
|
5614
|
-
gltf(src: string, options?:
|
|
6481
|
+
gltf(src: string, options?: Model3DOptions): AnimatableNode<Model3DNode>;
|
|
5615
6482
|
/**
|
|
5616
6483
|
* Convenience helper to create a 3D GLB binary container model node.
|
|
5617
6484
|
*/
|
|
5618
|
-
glb(src: string, options?:
|
|
6485
|
+
glb(src: string, options?: Model3DOptions): AnimatableNode<Model3DNode>;
|
|
5619
6486
|
/**
|
|
5620
6487
|
* Convenience helper to create a 3D STL CAD / 3D printing model node.
|
|
5621
6488
|
*/
|
|
5622
|
-
stl(src: string, options?:
|
|
6489
|
+
stl(src: string, options?: Model3DOptions): AnimatableNode<Model3DNode>;
|
|
5623
6490
|
/**
|
|
5624
6491
|
* Convenience helper to create a 3D Stanford PLY scan model node.
|
|
5625
6492
|
*/
|
|
5626
|
-
ply(src: string, options?:
|
|
6493
|
+
ply(src: string, options?: Model3DOptions): AnimatableNode<Model3DNode>;
|
|
5627
6494
|
/**
|
|
5628
6495
|
* Convenience helper to create a 3D MagicaVoxel VOX model node.
|
|
5629
6496
|
*/
|
|
5630
|
-
vox(src: string, options?:
|
|
6497
|
+
vox(src: string, options?: Model3DOptions): AnimatableNode<Model3DNode>;
|
|
5631
6498
|
/**
|
|
5632
6499
|
* Convenience helper to create a 3D Studio (3DS) binary model node.
|
|
5633
6500
|
*/
|
|
5634
|
-
threeDS(src: string, options?:
|
|
6501
|
+
threeDS(src: string, options?: Model3DOptions): AnimatableNode<Model3DNode>;
|
|
5635
6502
|
/**
|
|
5636
6503
|
* Convenience helper to create a 3D Object File Format (OFF) model node.
|
|
5637
6504
|
*/
|
|
5638
|
-
off(src: string, options?:
|
|
6505
|
+
off(src: string, options?: Model3DOptions): AnimatableNode<Model3DNode>;
|
|
5639
6506
|
};
|
|
5640
6507
|
//#endregion
|
|
5641
6508
|
//#region src/transitions.d.ts
|
|
@@ -5835,6 +6702,8 @@ interface TextMeasureStyle {
|
|
|
5835
6702
|
fontSize?: number;
|
|
5836
6703
|
fontWeight?: string | number;
|
|
5837
6704
|
fontStyle?: string;
|
|
6705
|
+
/** Variable font axes, as `TextNode.fontVariations`. */
|
|
6706
|
+
fontVariations?: Record<string, number>;
|
|
5838
6707
|
letterSpacing?: number;
|
|
5839
6708
|
lineHeight?: number;
|
|
5840
6709
|
padding?: number;
|
|
@@ -5887,6 +6756,12 @@ interface LightingRigOptions {
|
|
|
5887
6756
|
shadowSoftness?: number;
|
|
5888
6757
|
/** Fog fading into the background, e.g. `{ color: BG, start: 2500, end: 6000 }`. */
|
|
5889
6758
|
fog?: EnvironmentOptions["fog"];
|
|
6759
|
+
/** Volumetric fog & shadowed light shafts (god rays): `true` or settings. */
|
|
6760
|
+
volumetricFog?: EnvironmentOptions["volumetricFog"];
|
|
6761
|
+
/** Screen-space reflections of nearby geometry on glossy surfaces: `true` or settings. */
|
|
6762
|
+
ssr?: EnvironmentOptions["ssr"];
|
|
6763
|
+
/** Screen-space diffuse GI (contact occlusion and color bleeding): `true` or settings. */
|
|
6764
|
+
gi?: EnvironmentOptions["gi"];
|
|
5890
6765
|
/** Glow around emissive surfaces and highlights: `true` or settings. */
|
|
5891
6766
|
bloom?: EnvironmentOptions["bloom"];
|
|
5892
6767
|
/** Prefix for the rig's node ids. */
|
|
@@ -6202,7 +7077,7 @@ declare const Physics: {
|
|
|
6202
7077
|
};
|
|
6203
7078
|
//#endregion
|
|
6204
7079
|
//#region src/styles.d.ts
|
|
6205
|
-
type Look =
|
|
7080
|
+
type Look = AnyVisualEffect[];
|
|
6206
7081
|
declare const Styles: {
|
|
6207
7082
|
/** 8-bit game: PICO-8 palette, chunky pixels, light dithering. */
|
|
6208
7083
|
pixelArt: (o?: {
|
|
@@ -6376,13 +7251,15 @@ declare class Media {
|
|
|
6376
7251
|
*/
|
|
6377
7252
|
toVirtualMedia(): VirtualMediaData;
|
|
6378
7253
|
/**
|
|
6379
|
-
* Renders a single frame from this media pipeline to
|
|
7254
|
+
* Renders a single frame from this media pipeline to an image or raw RGBA Buffer.
|
|
6380
7255
|
* Can render either by timestamp in milliseconds (`atMs`) or by frame index (`frame`).
|
|
6381
7256
|
*/
|
|
6382
7257
|
renderFrame(options?: {
|
|
6383
7258
|
atMs?: number;
|
|
6384
7259
|
frame?: number;
|
|
6385
7260
|
fps?: number;
|
|
7261
|
+
renderId?: string;
|
|
7262
|
+
format?: "png" | "rgba" | "raw" | "jpeg" | "jpg" | "webp";
|
|
6386
7263
|
renderer?: HeadlessMediaRenderer;
|
|
6387
7264
|
}): Promise<Buffer>;
|
|
6388
7265
|
get fps(): number | undefined;
|
|
@@ -6653,13 +7530,15 @@ declare class Composition {
|
|
|
6653
7530
|
*/
|
|
6654
7531
|
toVirtualMediaAsync(options?: Partial<CompositorToProgramOptions>): Promise<VirtualMediaData>;
|
|
6655
7532
|
/**
|
|
6656
|
-
* Renders a single frame from the composition to
|
|
7533
|
+
* Renders a single frame from the composition to an image or raw RGBA Buffer.
|
|
6657
7534
|
* Can render either by timestamp in milliseconds (`atMs`) or by frame index (`frame`).
|
|
6658
7535
|
*/
|
|
6659
|
-
renderFrame(
|
|
7536
|
+
renderFrame(frameOrOptions?: number | {
|
|
6660
7537
|
atMs?: number;
|
|
6661
7538
|
fps?: number;
|
|
6662
7539
|
frame?: number;
|
|
7540
|
+
renderId?: string;
|
|
7541
|
+
format?: "png" | "rgba" | "raw" | "jpeg" | "jpg" | "webp";
|
|
6663
7542
|
renderer?: HeadlessMediaRenderer;
|
|
6664
7543
|
}): Promise<Buffer>;
|
|
6665
7544
|
/**
|
|
@@ -6812,9 +7691,9 @@ declare const Layer: {
|
|
|
6812
7691
|
* `props` applies to that box: position, id, timing, effects.
|
|
6813
7692
|
*/
|
|
6814
7693
|
chart: (options: ChartOptions, props?: Partial<BoxNode>) => AnimatableNode<BoxNode>;
|
|
6815
|
-
camera: (options?:
|
|
6816
|
-
light: (options?:
|
|
6817
|
-
ambientLight: (color?: string |
|
|
7694
|
+
camera: (options?: CameraOptions) => AnimatableNode<CameraNode>;
|
|
7695
|
+
light: (options?: LightOptions) => AnimatableNode<LightNode>;
|
|
7696
|
+
ambientLight: (color?: string | LightOptions, intensity?: SignalOrNumber, options?: LightOptions) => AnimatableNode<LightNode>;
|
|
6818
7697
|
/**
|
|
6819
7698
|
* Scenes back to back with transitions between them; see `Transition`.
|
|
6820
7699
|
* `comp.add(Layer.sequence([{ scene: hero(), duration: 90 },
|
|
@@ -6822,40 +7701,115 @@ declare const Layer: {
|
|
|
6822
7701
|
* The result's `totalFrames` is the sequence length.
|
|
6823
7702
|
*/
|
|
6824
7703
|
sequence: (entries: SequenceEntry[], options?: SceneSequenceOptions) => SequenceNode;
|
|
6825
|
-
/** See {@link Light.environment}: `Layer.environment("studio", { exposure: 0.3 })`. */
|
|
6826
|
-
environment: (presetOrOptions?: EnvironmentPreset | EnvironmentOptions, options?: EnvironmentOptions) => AnimatableNode<LightNode>;
|
|
6827
|
-
directionalLight: (options?:
|
|
6828
|
-
pointLight: (options?:
|
|
6829
|
-
spotLight: (options?:
|
|
7704
|
+
/** See {@link Light.environment}: `Layer.environment("studio", { exposure: 0.3 })` or `Layer.environment("sky.hdr")`. */
|
|
7705
|
+
environment: (presetOrOptions?: EnvironmentPreset | HdriPath | EnvironmentOptions, options?: EnvironmentOptions) => AnimatableNode<LightNode>;
|
|
7706
|
+
directionalLight: (options?: LightOptions) => AnimatableNode<LightNode>;
|
|
7707
|
+
pointLight: (options?: LightOptions) => AnimatableNode<LightNode>;
|
|
7708
|
+
spotLight: (options?: LightOptions) => AnimatableNode<LightNode>;
|
|
7709
|
+
rectLight: (options?: LightOptions) => AnimatableNode<LightNode>;
|
|
6830
7710
|
cube: (options: Cube3DOptions) => AnimatableNode<BoxNode>;
|
|
6831
7711
|
carousel3d: (options: Carousel3DOptions) => AnimatableNode<BoxNode>;
|
|
6832
7712
|
plane3d: (options: Plane3DOptions) => AnimatableNode<BoxNode>;
|
|
6833
7713
|
prism3d: (options?: Prism3DOptions) => SolidShape3DNode;
|
|
6834
|
-
model: (options?:
|
|
6835
|
-
obj: (src: string, options?:
|
|
6836
|
-
fbx: (src: string, options?:
|
|
6837
|
-
gltf: (src: string, options?:
|
|
6838
|
-
glb: (src: string, options?:
|
|
6839
|
-
stl: (src: string, options?:
|
|
6840
|
-
ply: (src: string, options?:
|
|
6841
|
-
vox: (src: string, options?:
|
|
6842
|
-
threeDS: (src: string, options?:
|
|
6843
|
-
off: (src: string, options?:
|
|
7714
|
+
model: (options?: Model3DOptions) => AnimatableNode<Model3DNode>;
|
|
7715
|
+
obj: (src: string, options?: Model3DOptions) => AnimatableNode<Model3DNode>;
|
|
7716
|
+
fbx: (src: string, options?: Model3DOptions) => AnimatableNode<Model3DNode>;
|
|
7717
|
+
gltf: (src: string, options?: Model3DOptions) => AnimatableNode<Model3DNode>;
|
|
7718
|
+
glb: (src: string, options?: Model3DOptions) => AnimatableNode<Model3DNode>;
|
|
7719
|
+
stl: (src: string, options?: Model3DOptions) => AnimatableNode<Model3DNode>;
|
|
7720
|
+
ply: (src: string, options?: Model3DOptions) => AnimatableNode<Model3DNode>;
|
|
7721
|
+
vox: (src: string, options?: Model3DOptions) => AnimatableNode<Model3DNode>;
|
|
7722
|
+
threeDS: (src: string, options?: Model3DOptions) => AnimatableNode<Model3DNode>;
|
|
7723
|
+
off: (src: string, options?: Model3DOptions) => AnimatableNode<Model3DNode>;
|
|
7724
|
+
};
|
|
7725
|
+
interface CameraOptions extends Partial<CameraNode> {
|
|
7726
|
+
/** Top-level shorthand for `lens.fov` (vertical field of view in degrees). */
|
|
7727
|
+
fov?: number;
|
|
7728
|
+
/** Top-level shorthand for `lens.focalLength` (mm). */
|
|
7729
|
+
focalLength?: number;
|
|
7730
|
+
/** Top-level shorthand for `lens.sensorWidth` (mm). */
|
|
7731
|
+
sensorWidth?: number;
|
|
7732
|
+
/** Top-level shorthand for `lens.near` clipping plane. */
|
|
7733
|
+
near?: number;
|
|
7734
|
+
/** Top-level shorthand for `lens.far` clipping plane. */
|
|
7735
|
+
far?: number;
|
|
7736
|
+
/** Top-level shorthand for `lens.zoom` multiplier. */
|
|
7737
|
+
zoom?: number;
|
|
7738
|
+
}
|
|
7739
|
+
interface Model3DOptions extends Partial<Model3DNode> {
|
|
7740
|
+
/** Alias for `rotateX`. */
|
|
7741
|
+
rotationX?: number;
|
|
7742
|
+
/** Alias for `rotateY`. */
|
|
7743
|
+
rotationY?: number;
|
|
7744
|
+
/** Alias for `rotateZ`. */
|
|
7745
|
+
rotationZ?: number;
|
|
7746
|
+
}
|
|
7747
|
+
type SignalOrNumber = number | ProgrammaticSignal | Signal<number> | {
|
|
7748
|
+
get: (ctx: FrameContext) => number;
|
|
6844
7749
|
};
|
|
7750
|
+
interface VolumetricFogNoiseOptions extends Omit<EnvironmentVolumetricFogNoise, "strength"> {
|
|
7751
|
+
strength?: SignalOrNumber;
|
|
7752
|
+
}
|
|
7753
|
+
interface VolumetricFogOptions extends Omit<EnvironmentVolumetricFog, "density" | "anisotropy" | "noise"> {
|
|
7754
|
+
density?: SignalOrNumber;
|
|
7755
|
+
anisotropy?: SignalOrNumber;
|
|
7756
|
+
noise?: boolean | VolumetricFogNoiseOptions;
|
|
7757
|
+
}
|
|
7758
|
+
/** An equirectangular panorama path (Radiance `.hdr` or OpenEXR `.exr`), usable in place of a preset name. */
|
|
7759
|
+
type HdriPath = `${string}.hdr` | `${string}.HDR` | `${string}.exr` | `${string}.EXR`;
|
|
6845
7760
|
/** World settings for `Layer.environment` (see `LightNode` for every field). */
|
|
6846
|
-
|
|
7761
|
+
interface EnvironmentOptions extends Partial<Pick<LightNode, "id" | "preset" | "hdri" | "color" | "top" | "horizon" | "bottom" | "softboxes" | "toneMapping" | "fog" | "floor" | "outlines" | "ssr" | "gi" | "bloom" | "startFrame" | "durationFrames">> {
|
|
7762
|
+
intensity?: SignalOrNumber;
|
|
7763
|
+
rotation?: SignalOrNumber;
|
|
7764
|
+
exposure?: SignalOrNumber;
|
|
7765
|
+
volumetricFog?: boolean | VolumetricFogOptions;
|
|
7766
|
+
volumetricFogDensity?: SignalOrNumber;
|
|
7767
|
+
volumetricFogAnisotropy?: SignalOrNumber;
|
|
7768
|
+
volumetricFogNoiseStrength?: SignalOrNumber;
|
|
7769
|
+
}
|
|
7770
|
+
/** Options for `Light.*` and `Layer.*Light` (numeric fields also accept live `Signal`s). */
|
|
7771
|
+
interface LightOptions extends Omit<Partial<LightNode>, "intensity" | "x" | "y" | "z" | "targetX" | "targetY" | "targetZ" | "radius" | "angle" | "penumbra" | "decay" | "width" | "height" | "rotation" | "exposure" | "volumetricFog" | "volumetricFogDensity" | "volumetricFogAnisotropy" | "volumetricFogNoiseStrength"> {
|
|
7772
|
+
intensity?: SignalOrNumber;
|
|
7773
|
+
x?: SignalOrNumber;
|
|
7774
|
+
y?: SignalOrNumber;
|
|
7775
|
+
z?: SignalOrNumber;
|
|
7776
|
+
targetX?: SignalOrNumber;
|
|
7777
|
+
targetY?: SignalOrNumber;
|
|
7778
|
+
targetZ?: SignalOrNumber;
|
|
7779
|
+
radius?: SignalOrNumber;
|
|
7780
|
+
angle?: SignalOrNumber;
|
|
7781
|
+
penumbra?: SignalOrNumber;
|
|
7782
|
+
decay?: SignalOrNumber;
|
|
7783
|
+
width?: SignalOrNumber;
|
|
7784
|
+
height?: SignalOrNumber;
|
|
7785
|
+
rotation?: SignalOrNumber;
|
|
7786
|
+
exposure?: SignalOrNumber;
|
|
7787
|
+
volumetricFog?: boolean | VolumetricFogOptions;
|
|
7788
|
+
volumetricFogDensity?: SignalOrNumber;
|
|
7789
|
+
volumetricFogAnisotropy?: SignalOrNumber;
|
|
7790
|
+
volumetricFogNoiseStrength?: SignalOrNumber;
|
|
7791
|
+
}
|
|
6847
7792
|
declare const Light: {
|
|
6848
7793
|
/**
|
|
6849
7794
|
* The scene's world: a procedural studio environment that lights and
|
|
6850
|
-
* reflects off every surface, plus exposure, tone mapping
|
|
6851
|
-
* one switches the scene to physically
|
|
6852
|
-
* `roughness` / `metallic`, `emissive` that
|
|
6853
|
-
|
|
6854
|
-
|
|
6855
|
-
|
|
6856
|
-
|
|
6857
|
-
|
|
6858
|
-
|
|
7795
|
+
* reflects off every surface, plus exposure, tone mapping, fog and
|
|
7796
|
+
* volumetric light shafts. Adding one switches the scene to physically
|
|
7797
|
+
* based shading (GGX, real `roughness` / `metallic`, `emissive` that
|
|
7798
|
+
* blooms past white). Pass a `.hdr` or `.exr` path instead of a preset name to light
|
|
7799
|
+
* and reflect from a captured equirectangular panorama:
|
|
7800
|
+
* `Light.environment("assets/hdri/studio.hdr", { intensity: 1.5 })`.
|
|
7801
|
+
*/
|
|
7802
|
+
environment: (presetOrOptions?: EnvironmentPreset | HdriPath | EnvironmentOptions, options?: EnvironmentOptions) => AnimatableNode<LightNode>;
|
|
7803
|
+
ambient: (color?: string | LightOptions, intensity?: SignalOrNumber, options?: LightOptions) => AnimatableNode<LightNode>;
|
|
7804
|
+
directional: (options?: LightOptions) => AnimatableNode<LightNode>;
|
|
7805
|
+
point: (options?: LightOptions) => AnimatableNode<LightNode>;
|
|
7806
|
+
spot: (options?: LightOptions) => AnimatableNode<LightNode>;
|
|
7807
|
+
/**
|
|
7808
|
+
* A rectangular area light (studio softbox / LED panel / neon window)
|
|
7809
|
+
* with solid-angle diffuse illumination and representative-point GGX
|
|
7810
|
+
* specular reflections.
|
|
7811
|
+
*/
|
|
7812
|
+
rect: (options?: LightOptions) => AnimatableNode<LightNode>;
|
|
6859
7813
|
};
|
|
6860
7814
|
declare function section(source: string | MediaNode | Composition, targetOrOptions?: ObjectTrackSignals | SectionOptions, options?: SectionOptions): SectionNode;
|
|
6861
7815
|
declare function blurRegion(sourceOrLayer: string | AnimatableNode<MediaNode>, target: ObjectTrackSignals, options?: Partial<BlurProps> & {
|
|
@@ -6954,5 +7908,5 @@ type ComponentNode<C extends Cues = Cues> = AnimatableNode<BoxNode> & ComponentE
|
|
|
6954
7908
|
*/
|
|
6955
7909
|
declare function bindComponent<S$1 extends z.ZodRawShape, C extends Cues, E extends object = object>(definition: ComponentDefinition<S$1, C, E>): (props: z.input<z.ZodObject<S$1>> & BaseProps) => ComponentNode<C> & E;
|
|
6956
7910
|
//#endregion
|
|
6957
|
-
export {
|
|
6958
|
-
//# sourceMappingURL=index-
|
|
7911
|
+
export { SpringConfig as $, springSettleFrames as $a, beats as $i, color as $n, EnvironmentFogSchema as $o, GlyphUnit as $r, SpringOptions as $s, Scatter3DNode as $t, VolumetricFogNoiseOptions as A, last as Aa, type TargetContext as Ai, PoseKeypointName as An, BloomConfigSchema as Ao, BuildContext as Ar, MediaAnimatableProp as As, Icosphere3DOptions as At, PhysicsBody2D as B, rangeRects as Ba, Vec2$1 as Bi, ChartDatum as Bn, CarrierHandoffConfigSchema as Bo, CutoutOptions as Br, SceneDefinitionSchema as Bs, Prism3DOptions as Bt, SectionOptions as C, frameSpan as Ca, computeStaggerDelay as Cc, Rng as Ci, ParticleBlend as Cn, wordRanges as Co, ArcPath as Cr, LightType as Cs, Cube3DOptions as Ct, SubjectSandwichOptions as D, holdFirstKeys as Da, lintComposition as Dc, StaggerOrder as Di, ClipVisionOptions as Dn, AnimationTrack as Do, BakeOptions as Dr, MaterialTypeSchema as Ds, ExtrudeShape3DOptions as Dt, SubjectOutlineOptions as E, hashString as Ea, hoistMattes as Ec, Spring as Ei, ClipVision as En, AnimatablePropsFor as Eo, AudioLevels as Er, MaterialType as Es, Cylinder3DOptions as Et, StyleName as F, mix as Fa, ThemeName as Fi, RigMap as Fn, CameraLens as Fo, ComponentExtras as Fr, Model3DNodeSchema as Fs, Line3DOptions as Ft, PhysicsWallsOptions as G, rng as Ga, arcPath as Gi, ChartType as Gn, CompositorProgramConfig as Go, FontNeed as Gr, SequenceOptions as Gs, Shard3DOptions as Gt, PhysicsRect as H, resampleBands as Ha, after as Hi, ChartPadding as Hn, ColorSignalOptions as Ho, Elevation as Hr, SceneTransitionType as Hs, Ring3DOptions as Ht, Styles as I, offsetCues as Ia, Track as Ii, retargetPose as In, CameraNode as Io, ComponentMeta as Ir, ModelAnimationLayer as Is, Plane3DOptions as It, Lighting as J, scaleFrames as Ja, audioLevelsSchema as Ji, MarkOptions as Jn, CrowdConfig as Jo, FrameValue as Jr, ShapeNode as Js, Surface3DOptions as Jt, PhysicsWorld2D as K, round as Ka, arrowPaths as Ki, ChartX as Kn, CompositorProgramSchema as Ko, FontRole as Kr, SequenceTimelineResult as Ks, SolidShape3DNode as Kt, Physics as L, parseColor as La, TrackedObjectLike as Li, ChartAnimationOptions as Ln, CameraNodeSchema as Lo, Cue as Lr, NumberTrack as Ls, Points3DOptions as Lt, blurRegion as M, linePath as Ma, TextLayout as Mi, RIG_PRESETS as Mn, BoxNodeSchema as Mo, CanvasSize as Mr, MediaNodeSchema as Ms, Instances3DOptions as Mt, editTrackedRegion as N, lineShift as Na, Theme as Ni, RetargetBone as Nn, CameraAnimation as No, ComponentDefaults as Nr, Model3DAnimatableProp as Ns, Lathe3DOptions as Nt, TrackEditing as O, inkOn as Oa, mergeAnimationTracks as Oc, SyntaxKind as Oi, PersonPlacement as On, BlockNode as Oo, BakedKey as Or, MatteMode as Os, ExtrudedText3DOptions as Ot, section as P, luminance as Pa, ThemeInput as Pi, RetargetOptions as Pn, CameraDoF as Po, ComponentDefinition as Pr, Model3DNode as Ps, Layer3D as Pt, InterpolateOptions as Q, springKeys as Qa, basePropsSchema as Qi, code as Qn, EnvironmentFog as Qo, GlyphProps as Qr, SpringBoneChain as Qs, Swarm3DOptions as Qt, Body2DOptions as R, pulseKeys as Ra, UNIT_INDEX as Ri, ChartAxisOptions as Rn, CameraShake as Ro, Cues as Rr, Scene as Rs, Polyhedron3DOptions as Rt, SectionNode as S, findRange as Sa, computeLayoutSync as Sc, Rgba as Si, EmitterShape as Sn, wobblePoints as So, AnimatableMethods as Sr, LightNodeSchema as Ss, Carousel3DOptions as St, SmartFramingOptions as T, hashRng as Ta, evaluateTrackAtFrame as Tc, SafeInsets as Ti, ParticleShape as Tn, AnimatableProp as To, ArrowGeometry as Tr, LookAtConstraint as Ts, CubeFaceInput as Tt, PhysicsRopeOptions as U, resolveMotion as Ua, analyzeChannels as Ui, ChartSeries as Un, ColorStop as Uo, ElevationLevel as Ur, SceneTransitionTypeSchema as Us, RoundedBox3DOptions as Ut, PhysicsGroundOptions as V, rendererChars as Va, WordRange as Vi, ChartOptions as Vn, CarrierState as Vo, EaseFn as Vr, SceneOptions as Vs, Pyramid3DOptions as Vt, PhysicsSpringOptions as W, resolveTarget as Wa, anchorPoint as Wi, ChartSlice as Wn, ColorStopSchema as Wo, ExtrudedTextOptions as Wr, Sequence as Ws, Shape3DContainer as Wt, LightingRigOptions as X, smoothRelease as Xa, bakeSamples as Xi, accent as Xn, EnvironmentFloor as Xo, GlyphAnimator as Xr, SignalTrackOptions as Xs, Torus3DOptions as Xt, LightingRig as Y, scheduleExpression as Ya, bakeFunction as Yi, TextSpanItem as Yn, EaseRef as Yo, FrameWindow as Yr, ShapeNodeSchema as Ys, Text3DOptions as Yt, Easing as Z, springAt as Za, bandEdges as Zi, bold as Zn, EnvironmentFloorSchema as Zo, GlyphBox as Zr, SizeSpec as Zs, Tube3DOptions as Zt, Media as _, ellipsePath as _a, calculateSequenceTimeline as _c, PropsOf as _i, BodyCommonOptions as _n, valueAt as _o, ai as _r, LayerAnimation as _s, SequenceNode as _t, AnimatableNode as a, chain as aa, TextSpanMarkSchema as ac, MOTION_PRESETS as ai, Body3DOptions as an, supersede as ao, size as ar, EnvironmentSsrSchema as as, interpolate as at, RenderVideoOptions as b, evaluateGlyphExpression as ba, computeCarrierContinuity as bc, ResolvedMotion as bi, PhysicsDriver as bn, withDefaults as bo, Anchor as br, LightAnimatableProp as bs, TransitionSpec as bt, Composition as c, cover as ca, ToneMappingSchema as cc, MediaOptions as ci, PhysicsBox3D as cn, textLayout as co, sup as cr, EnvironmentVolumetricFogNoiseSchema as cs, measureText as ct, Effect as d, defineTheme as da, TrackSource as dc, MotionPreset as di, PhysicsWorld3D as dn, toFrames as do, ApiError as dr, FlexNodeSchema as ds, preloadFont as dt, bind as ea, TextAnimatableProp as ec, GrainOptions as ei, Scatter3DOptions as en, springTrack as eo, italic as er, EnvironmentGi as es, StrokeRect as et, EnvironmentOptions as f, dist as fa, TwoBoneIkConstraint as fc, MotionPresetName as fi, World3DOptions as fn, toPathData as fo, FRAMEFIELDS_AI_PROXY_URL as fr, FromToOptions as fs, requiresIsolation as ft, LightOptions as g, elevationStyle as ga, applyStaggerToChildren as gc, ProjectDefaults as gi, ParticlesOptions as gn, typingFrames as go, ValidationError as gr, KeyframeTuple as gs, SequenceEntry as gt, Light as h, elevate as ha, WindConfig as hc, Placement as hi, Particles as hn, transparent as ho, RunOptions as hr, Keyframe as hs, SceneSequenceOptions as ht, analyzeAudio as i, catmullRom as ia, TextNodeSchema as ic, LayerStyleConfig as ii, TerrainSurface as in, stepExpression as io, rich as ir, EnvironmentSsr as is, computeStrokeRect as it, VolumetricFogOptions as j, lerp2 as ja, TargetNode as ji, PoseSource as jn, BoxNode as jo, BuildResult as jr, MediaNode as js, InstanceTransform3D as jt, TrackedRegionOptions as k, isLight as ka, Target as ki, PersonTrack as kn, BloomConfig as ko, BaseProps as kr, MatteModeSchema as ks, Grid3DOptions as kt, CompositionOptions as l, defineComponent as la, ToonShadingSchema as lc, Metrics$1 as li, PhysicsRope3DOptions as ln, themeFrames as lo, Ai as lr, EnvironmentVolumetricFogSchema as ls, measureTextAsync as lt, Layer as m, ease$1 as ma, WiggleOptions as mc, ParticleOptions as mi, Fracture3DOptions as mn, transformPathData as mo, Result as mr, JointPose as ms, springCalculation as mt, bindComponent as n, boundsOf as na, TextAnimatorSchema as nc, Host as ni, Terrain3DNode as nn, staggerOffsets as no, normalizeTextSpans as nr, EnvironmentPreset as ns, TextMeasureStyle as nt, CameraOptions as o, constantExpression as oa, TextSpanSchema as oc, MeasureFn as oi, FieldSample3D as on, surfaceFill as oo, span as or, EnvironmentVolumetricFog as os, mapBlendModeToSkia as ot, HdriPath as p, drawOnKeys as pa, Vec3Track as pc, MotionSize as pi, Fracture3D as pn, toSeconds as po, QueueStatus as pr, GeometryOutlineOptionsSchema as ps, spring as pt, World2DOptions as q, safeArea as qa, ascending as qi, DEFAULT_CHART_COLORS as qn, CompositorToProgramOptions as qo, FrameContextLike as qr, ShapeAnimatableProp as qs, Sphere3DOptions as qt, z$2 as r, boxPath as ra, TextNode as rc, KeyBook as ri, Terrain3DOptions as rn, staggerRanks as ro, parseMarkup as rr, EnvironmentPresetSchema as rs, bezier as rt, CompatibleEffect as s, contrastRatio as sa, ToneMapping as sc, MeasureOptions as si, PhysicsBody3D as sn, targetPoint as so, sub as sr, EnvironmentVolumetricFogNoise as ss, measureSpring as st, ComponentNode as t, boilKeys as ta, TextAnimator as tc, HandOptions as ti, Sdf3DOptions as tn, squigglePath as to, mark as tr, EnvironmentGiSchema as ts, TextMeasureResult as tt, EditableObjectTrack as u, defineMeta as ua, TrackSignal as uc, MotionOptions as ui, PhysicsSpring3DOptions as un, themes as uo, AiConfig as ur, FlexNode as us, preloadCompositionFonts as ut, Model3DOptions as v, enterAnimation as va, collectNodeOps as vc, PulseOptions as vi, PhysicsBakeOptions as vn, windowExpression as vo, targetSchema as vr, LayoutNode as vs, Transition as vt, SignalOrNumber as w, glyphAnimator as wa, evaluateAnimationAtFrame as wc, SAFE_INSETS as wi, ParticleBounds as wn, AimConstraint as wo, ArrowCurve as wr, LightTypeSchema as ws, CubeFaceConfig as wt, RenderVideoResult as x, exitAnimation as xa, computeLayout as xc, ResolvedTarget as xi, PhysicsWorldOptions as xn, within as xo, Animatable as xr, LightNode as xs, Capsule3DOptions as xt, NodeCapability as y, evaluateEase as ya, compositorToProgram as yc, Rect as yi, PhysicsCollision as yn, withAlpha as yo, AnalyzeOptions as yr, LayoutNodeSchema as ys, TransitionDirection as yt, FieldSample2D as z, quantize as za, UnitSchedule as zi, ChartCandle as zn, CarrierHandoffConfig as zo, CuesOf as zr, SceneDefinition as zs, Primitive3DNodeOptions as zt };
|
|
7912
|
+
//# sourceMappingURL=index-DkAjKnhW.d.mts.map
|