framefields 2.4.3 → 2.5.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/README.md +26 -1
- package/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +13 -13
- package/dist/{audio-DJeVoE8b.mjs → audio-BluXgSeG.mjs} +1 -1
- package/dist/{audio-DJeVoE8b.mjs.map → audio-BluXgSeG.mjs.map} +1 -1
- package/dist/{audio-BymXfAvH.d.mts → audio-C1A4N3Wh.d.mts} +3 -3
- package/dist/{audio-BymXfAvH.d.mts.map → audio-C1A4N3Wh.d.mts.map} +1 -1
- package/dist/{audio-BzHHpImj.mjs → audio-CMHpfOoS.mjs} +4 -4
- package/dist/{audio-BzHHpImj.mjs.map → audio-CMHpfOoS.mjs.map} +1 -1
- package/dist/cli.d.mts +1 -0
- package/dist/cli.mjs +221 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/components/index.d.mts +12 -0
- package/dist/components/index.mjs +49 -0
- package/dist/{dist-hmWTJPik.mjs → dist-BBUrGwqd.mjs} +24 -3
- package/dist/{dist-hmWTJPik.mjs.map → dist-BBUrGwqd.mjs.map} +1 -1
- package/dist/{dist-Bo2_zeCn.mjs → dist-CQZ5_60A.mjs} +2 -2
- package/dist/{dist-Bo2_zeCn.mjs.map → dist-CQZ5_60A.mjs.map} +1 -1
- package/dist/{dist-0QGroRYZ.mjs → dist-C_SMBmHr.mjs} +1 -1
- package/dist/{dist-0QGroRYZ.mjs.map → dist-C_SMBmHr.mjs.map} +1 -1
- package/dist/{dist-TrtLGPvc.mjs → dist-DFeF-ygz.mjs} +1 -1
- package/dist/{dist-TrtLGPvc.mjs.map → dist-DFeF-ygz.mjs.map} +1 -1
- package/dist/{dist-DMa2BbYs.mjs → dist-QMVy31gR.mjs} +23 -4
- package/dist/dist-QMVy31gR.mjs.map +1 -0
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +36 -36
- package/dist/{effects-CiZjSwIh.mjs → effects-mRe-rLte.mjs} +3 -3
- package/dist/{effects-CiZjSwIh.mjs.map → effects-mRe-rLte.mjs.map} +1 -1
- package/dist/fonts/index.d.mts +1 -1
- package/dist/fonts/index.mjs +3 -3
- package/dist/{fonts-Da1JDKpc.mjs → fonts-wI3CUYHM.mjs} +2 -2
- package/dist/{fonts-Da1JDKpc.mjs.map → fonts-wI3CUYHM.mjs.map} +1 -1
- package/dist/{gpu-CHIgM_YH.mjs → gpu-I5fdrflL.mjs} +2 -2
- package/dist/{gpu-CHIgM_YH.mjs.map → gpu-I5fdrflL.mjs.map} +1 -1
- package/dist/{index-DIvWBm-q.d.mts → index-B-KVpJMb.d.mts} +2 -2
- package/dist/{index-DIvWBm-q.d.mts.map → index-B-KVpJMb.d.mts.map} +1 -1
- package/dist/index-BJe_GEyj.d.mts +5968 -0
- package/dist/index-BJe_GEyj.d.mts.map +1 -0
- package/dist/{index-WMofVN02.d.mts → index-BpdVOlsV.d.mts} +3 -3
- package/dist/{index-WMofVN02.d.mts.map → index-BpdVOlsV.d.mts.map} +1 -1
- package/dist/index-C2f4Hm-p.d.mts +89 -0
- package/dist/index-C2f4Hm-p.d.mts.map +1 -0
- package/dist/{index-B-55dXDu.d.mts → index-CalU-mpZ.d.mts} +1 -1
- package/dist/{index-B-55dXDu.d.mts.map → index-CalU-mpZ.d.mts.map} +1 -1
- package/dist/{index-CJkihekp.d.mts → index-D6-lH1Mx.d.mts} +189 -189
- package/dist/index-D6-lH1Mx.d.mts.map +1 -0
- package/dist/{index-Dwf76Qep.d.mts → index-DNKM3to5.d.mts} +3 -3
- package/dist/{index-Dwf76Qep.d.mts.map → index-DNKM3to5.d.mts.map} +1 -1
- package/dist/{index-DGe83M-p.d.mts → index-fymoeGNW.d.mts} +6 -1
- package/dist/index-fymoeGNW.d.mts.map +1 -0
- package/dist/index.d.mts +13 -4659
- package/dist/index.mjs +59 -6654
- package/dist/preview/index.d.mts +4 -90
- package/dist/preview/index.mjs +12 -12
- package/dist/{preview-5E4B96RD.mjs → preview--DEgW67P.mjs} +3 -3
- package/dist/{preview-5E4B96RD.mjs.map → preview--DEgW67P.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-TFFG5YFI.mjs → chunk-24H3QVYB.mjs} +1 -1
- package/dist/preview-engine/{chunk-7J4OK4VE.mjs → chunk-25T3M6MI.mjs} +1 -1
- package/dist/preview-engine/{chunk-YJ6GWVL4.mjs → chunk-2AV7HRRL.mjs} +1 -1
- package/dist/preview-engine/{chunk-U4SQUTDV.mjs → chunk-4EOS6ZWW.mjs} +1 -1
- package/dist/preview-engine/{chunk-O3NOB5IB.mjs → chunk-4UI3S3UG.mjs} +1 -1
- package/dist/preview-engine/{chunk-YQYLBXOX.mjs → chunk-5N3GW3NE.mjs} +1 -1
- package/dist/preview-engine/{chunk-JJYNYYPA.mjs → chunk-5P764TTF.mjs} +1 -1
- package/dist/preview-engine/{chunk-5CWQHYQP.mjs → chunk-7BUKVFWB.mjs} +1 -1
- package/dist/preview-engine/{chunk-6WKWYUOM.mjs → chunk-7EHUT5A3.mjs} +1 -1
- package/dist/preview-engine/{chunk-A2775RSO.mjs → chunk-7HTTYP6T.mjs} +1 -1
- package/dist/preview-engine/{chunk-AWX4YGC5.mjs → chunk-7JYMNGNK.mjs} +1 -1
- package/dist/preview-engine/{chunk-JTUK7ZXK.mjs → chunk-A5OUYV3I.mjs} +1 -1
- package/dist/preview-engine/{chunk-5JSSXOBB.mjs → chunk-AJLPRIXB.mjs} +1 -1
- package/dist/preview-engine/{chunk-KJ2DTA77.mjs → chunk-ANZDLSSM.mjs} +1 -1
- package/dist/preview-engine/{chunk-OZDZQMTB.mjs → chunk-C2TA65CH.mjs} +1 -1
- package/dist/preview-engine/{chunk-C45ROXI6.mjs → chunk-CBQOJAIS.mjs} +11 -11
- package/dist/preview-engine/{chunk-E7DH7EPX.mjs → chunk-DKXKOUQR.mjs} +1 -1
- package/dist/preview-engine/{chunk-5SVJIGPK.mjs → chunk-DPIED3EG.mjs} +1 -1
- package/dist/preview-engine/{chunk-AY2ZIXST.mjs → chunk-ENS4KUJV.mjs} +1 -1
- package/dist/preview-engine/{chunk-5EVEGKWT.mjs → chunk-HXHP3UHZ.mjs} +1 -1
- package/dist/preview-engine/chunk-I6E3AKLS.mjs +1 -0
- package/dist/preview-engine/{chunk-JJA4G3OU.mjs → chunk-ILKBHDFB.mjs} +1 -1
- package/dist/preview-engine/{chunk-7QE6II7R.mjs → chunk-JMOJKT5W.mjs} +1 -1
- package/dist/preview-engine/{chunk-ILBZQLUF.mjs → chunk-KKBJ7X3T.mjs} +1 -1
- package/dist/preview-engine/{chunk-EEOUHDUD.mjs → chunk-KRVXRP5F.mjs} +1 -1
- package/dist/preview-engine/{chunk-UVWGZUKZ.mjs → chunk-MLW6Y4RN.mjs} +1 -1
- package/dist/preview-engine/{chunk-UMF7NNUA.mjs → chunk-MRDJNDYV.mjs} +1 -1
- package/dist/preview-engine/{chunk-XTPEGKOZ.mjs → chunk-MZAAJXUL.mjs} +1 -1
- package/dist/preview-engine/{chunk-AKYUVDKM.mjs → chunk-NB55FW7D.mjs} +1 -1
- package/dist/preview-engine/{chunk-UDDK5QZF.mjs → chunk-NG5WSR3A.mjs} +1 -1
- package/dist/preview-engine/{chunk-FDNR4PRC.mjs → chunk-NXKXOSE6.mjs} +1 -1
- package/dist/preview-engine/{chunk-N3PRZLZJ.mjs → chunk-NYEDWUFS.mjs} +1 -1
- package/dist/preview-engine/{chunk-6TGNQ5FD.mjs → chunk-O6LGKH4S.mjs} +1 -1
- package/dist/preview-engine/{chunk-LSBCFJZM.mjs → chunk-OOJAQBS3.mjs} +1 -1
- package/dist/preview-engine/{chunk-6AEU4DC7.mjs → chunk-PJN7DD55.mjs} +3 -3
- package/dist/preview-engine/{chunk-V6LCSK6Q.mjs → chunk-QCUGWPYP.mjs} +1 -1
- package/dist/preview-engine/{chunk-BIS3W4Z5.mjs → chunk-QQJPPGH5.mjs} +1 -1
- package/dist/preview-engine/{chunk-37P2KIFE.mjs → chunk-QVUT3QNF.mjs} +1 -1
- package/dist/preview-engine/{chunk-FSAELHVT.mjs → chunk-RNFYEZLL.mjs} +1 -1
- package/dist/preview-engine/{chunk-3SOD7OTO.mjs → chunk-TA5OBYRR.mjs} +1 -1
- package/dist/preview-engine/{chunk-6MBYREBG.mjs → chunk-VRNN6H6Y.mjs} +1 -1
- package/dist/preview-engine/{chunk-GIH5QURF.mjs → chunk-VTE3IISK.mjs} +1 -1
- package/dist/preview-engine/{chunk-GQN35VLT.mjs → chunk-VZGDX7II.mjs} +1 -1
- package/dist/preview-engine/{chunk-54HE34HO.mjs → chunk-XJ4CQIZZ.mjs} +1 -1
- package/dist/preview-engine/{chunk-LMZHCWXP.mjs → chunk-XYRBFLFF.mjs} +1 -1
- package/dist/preview-engine/{chunk-O5LA63CK.mjs → chunk-YMQMPBTL.mjs} +1 -1
- package/dist/preview-engine/{chunk-S7NG26UG.mjs → chunk-Z4ZO4RVT.mjs} +1 -1
- package/dist/preview-engine/{chunk-W3QGP5XF.mjs → chunk-ZFURUTVW.mjs} +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +33 -31
- package/dist/preview-engine/player.mjs +5 -5
- package/dist/preview-engine/renderers-2CBJYNOC.mjs +1 -0
- package/dist/preview-engine/renderers-37CN7O4S.mjs +1 -0
- package/dist/preview-engine/renderers-3AZ5PMGC.mjs +1 -0
- package/dist/preview-engine/renderers-3UGG2IMP.mjs +1 -0
- package/dist/preview-engine/{renderers-ELARGDRC.mjs → renderers-3VXNHICC.mjs} +1 -1
- package/dist/preview-engine/{renderers-WNMRLGZS.mjs → renderers-3ZYXHUSW.mjs} +1 -1
- package/dist/preview-engine/{renderers-43LBWRY2.mjs → renderers-4FONYSBA.mjs} +1 -1
- package/dist/preview-engine/renderers-54I5SFXR.mjs +1 -0
- package/dist/preview-engine/renderers-5LXALKB4.mjs +1 -0
- package/dist/preview-engine/renderers-5TICPV2K.mjs +1 -0
- package/dist/preview-engine/{renderers-X2XGDF3R.mjs → renderers-5YS5WHAV.mjs} +1 -1
- package/dist/preview-engine/renderers-6UTRYW7Z.mjs +1 -0
- package/dist/preview-engine/{renderers-XPO2WQNF.mjs → renderers-6ZCFR7BL.mjs} +1 -1
- package/dist/preview-engine/renderers-AYEWAW7F.mjs +1 -0
- package/dist/preview-engine/{renderers-QJNGN722.mjs → renderers-BOT4H6KJ.mjs} +1 -1
- package/dist/preview-engine/{renderers-FNPXT2EH.mjs → renderers-C44CEIYB.mjs} +1 -1
- package/dist/preview-engine/{renderers-KW75FYFG.mjs → renderers-C4G7X7LD.mjs} +1 -1
- package/dist/preview-engine/renderers-CLCPP3TZ.mjs +1 -0
- package/dist/preview-engine/{renderers-7M3YOI7E.mjs → renderers-DBRC3SQE.mjs} +1 -1
- package/dist/preview-engine/{renderers-PM4Q5QOW.mjs → renderers-DSICQMRF.mjs} +1 -1
- package/dist/preview-engine/renderers-DTZ2AER5.mjs +1 -0
- package/dist/preview-engine/renderers-DUF2CTX6.mjs +1 -0
- package/dist/preview-engine/{renderers-5OGAF66H.mjs → renderers-EOIMH7UE.mjs} +1 -1
- package/dist/preview-engine/renderers-EOMMSENQ.mjs +1 -0
- package/dist/preview-engine/{renderers-K23EAM2J.mjs → renderers-GSRKNT75.mjs} +1 -1
- package/dist/preview-engine/{renderers-J6DEIWTU.mjs → renderers-GUJTPO37.mjs} +1 -1
- package/dist/preview-engine/{renderers-VD5GHHK6.mjs → renderers-HE42AT5T.mjs} +1 -1
- package/dist/preview-engine/{renderers-Q6AO5M54.mjs → renderers-JM7JEVBN.mjs} +1 -1
- package/dist/preview-engine/{renderers-WOLTH5VI.mjs → renderers-JRU2GNPE.mjs} +1 -1
- package/dist/preview-engine/{renderers-TFEDHXPY.mjs → renderers-K6J77OI5.mjs} +1 -1
- package/dist/preview-engine/{renderers-U2ZWRL25.mjs → renderers-L7EITUCD.mjs} +1 -1
- package/dist/preview-engine/renderers-LGUHDWWB.mjs +1 -0
- package/dist/preview-engine/renderers-LGXD24IJ.mjs +1 -0
- package/dist/preview-engine/renderers-MCTBJEL7.mjs +1 -0
- package/dist/preview-engine/{renderers-3YHETAPE.mjs → renderers-OBXNUQMP.mjs} +1 -1
- package/dist/preview-engine/renderers-OZGEXW2X.mjs +1 -0
- package/dist/preview-engine/{renderers-ZRR7BLB7.mjs → renderers-PJGFJGJS.mjs} +1 -1
- package/dist/preview-engine/{renderers-35G4KCQ2.mjs → renderers-PPGOYOID.mjs} +1 -1
- package/dist/preview-engine/{renderers-7UKFQ75V.mjs → renderers-PUJRHBUW.mjs} +1 -1
- package/dist/preview-engine/renderers-PVUROEGR.mjs +1 -0
- package/dist/preview-engine/renderers-QBVVTQV6.mjs +1 -0
- package/dist/preview-engine/{renderers-2GE5HE56.mjs → renderers-QPHOG7QR.mjs} +1 -1
- package/dist/preview-engine/{renderers-2A7YDJMJ.mjs → renderers-RV62K5JC.mjs} +1 -1
- package/dist/preview-engine/{renderers-6GYRMHGQ.mjs → renderers-SBX64ERA.mjs} +1 -1
- package/dist/preview-engine/renderers-SCJTTOEJ.mjs +1 -0
- package/dist/preview-engine/{renderers-MHDLRY3S.mjs → renderers-SD35PBEM.mjs} +1 -1
- package/dist/preview-engine/{renderers-XTRFEQO4.mjs → renderers-SIHL5GLI.mjs} +1 -1
- package/dist/preview-engine/{renderers-UBO4ZNE6.mjs → renderers-SNUVYUDE.mjs} +1 -1
- package/dist/preview-engine/renderers-SPW4SWZ2.mjs +228 -0
- package/dist/preview-engine/renderers-SRKCF3LD.mjs +1 -0
- package/dist/preview-engine/{renderers-LF6W5P2I.mjs → renderers-T3S7QVM4.mjs} +1 -1
- package/dist/preview-engine/renderers-TBP2EKJ4.mjs +1 -0
- package/dist/preview-engine/renderers-UN6YLFHW.mjs +1 -0
- package/dist/preview-engine/renderers-UTWKTBZI.mjs +1 -0
- package/dist/preview-engine/{renderers-DKOWLKDE.mjs → renderers-V5MJJH33.mjs} +1 -1
- package/dist/preview-engine/{renderers-NJAKGI25.mjs → renderers-V67L3MCY.mjs} +1 -1
- package/dist/preview-engine/{renderers-XTCBHTHC.mjs → renderers-VYK2BJID.mjs} +1 -1
- package/dist/preview-engine/renderers-W6762MNW.mjs +1 -0
- package/dist/preview-engine/{renderers-NPKRNXAT.mjs → renderers-W6ZTVA2I.mjs} +1 -1
- package/dist/preview-engine/renderers-WDV7ENJA.mjs +1 -0
- package/dist/preview-engine/{renderers-ATL5ARUV.mjs → renderers-WPBTAU2E.mjs} +1 -1
- package/dist/preview-engine/{renderers-C4XIAG3F.mjs → renderers-XP7YFWBV.mjs} +1 -1
- package/dist/preview-engine/renderers-XVUOO7B6.mjs +1 -0
- package/dist/preview-engine/renderers-YPFM5UJO.mjs +1 -0
- package/dist/preview-engine/renderers-YW3LBALW.mjs +1 -0
- package/dist/preview-engine/{renderers-DFJDEPCU.mjs → renderers-ZAPIBQZC.mjs} +1 -1
- package/dist/preview-engine/renderers-ZRR4TUVQ.mjs +1 -0
- package/dist/preview-engine/{renderers-4H34AFW2.mjs → renderers-ZVKXIQ3E.mjs} +1 -1
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/{program-KwDdbC0-.mjs → program-CEHCeDpG.mjs} +133 -30
- package/dist/program-CEHCeDpG.mjs.map +1 -0
- package/dist/registry/annotate.json +30 -0
- package/dist/registry/app-frame.json +38 -0
- package/dist/registry/backdrop.json +37 -0
- package/dist/registry/before-after.json +33 -0
- package/dist/registry/callout.json +30 -0
- package/dist/registry/captions.json +37 -0
- package/dist/registry/card-stack.json +30 -0
- package/dist/registry/chat-thread.json +32 -0
- package/dist/registry/code-block.json +45 -0
- package/dist/registry/confetti.json +29 -0
- package/dist/registry/counter.json +36 -0
- package/dist/registry/device-frame.json +36 -0
- package/dist/registry/focus-zoom.json +32 -0
- package/dist/registry/index.json +408 -0
- package/dist/registry/logo-reveal.json +37 -0
- package/dist/registry/lower-third.json +34 -0
- package/dist/registry/meter.json +35 -0
- package/dist/registry/mouse-pointer.json +44 -0
- package/dist/registry/selection.json +31 -0
- package/dist/registry/spotlight.json +28 -0
- package/dist/registry/terminal.json +40 -0
- package/dist/registry/text-reveal.json +39 -0
- package/dist/registry/title-card.json +34 -0
- package/dist/registry/toasts.json +28 -0
- package/dist/registry/touch-point.json +33 -0
- package/dist/registry/waveform.json +29 -0
- package/dist/registry/word-cycle.json +32 -0
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +3 -3
- package/dist/{renderer-DcOT5c0t.mjs → renderer--wMbTRFg.mjs} +4 -4
- package/dist/{renderer-DcOT5c0t.mjs.map → renderer--wMbTRFg.mjs.map} +1 -1
- package/dist/{renderer-Ci6YMa4u.mjs → renderer-3aLw-la1.mjs} +5 -5
- package/dist/{renderer-Ci6YMa4u.mjs.map → renderer-3aLw-la1.mjs.map} +1 -1
- package/dist/renderer-7vCBWQVP.mjs +5 -0
- package/dist/{renderer-CUPWHfEY.mjs → renderer-AkRxGnFU.mjs} +5 -5
- package/dist/{renderer-CUPWHfEY.mjs.map → renderer-AkRxGnFU.mjs.map} +1 -1
- package/dist/renderer-B-XgGMCq.mjs +5 -0
- package/dist/renderer-B0yabPlf.mjs +5 -0
- package/dist/{renderer-CLxQ4rU6.mjs → renderer-B1yPBJQc.mjs} +74 -74
- package/dist/{renderer-CLxQ4rU6.mjs.map → renderer-B1yPBJQc.mjs.map} +1 -1
- package/dist/{renderer-DWG4Podv.mjs → renderer-B41jTHFs.mjs} +6 -6
- package/dist/{renderer-DWG4Podv.mjs.map → renderer-B41jTHFs.mjs.map} +1 -1
- package/dist/{renderer-BtWWpFvl.mjs → renderer-B5HG6Czb.mjs} +4 -4
- package/dist/{renderer-BtWWpFvl.mjs.map → renderer-B5HG6Czb.mjs.map} +1 -1
- package/dist/{renderer-OEpwc9Zk.mjs → renderer-B5oJN3A5.mjs} +5 -5
- package/dist/{renderer-OEpwc9Zk.mjs.map → renderer-B5oJN3A5.mjs.map} +1 -1
- package/dist/renderer-B9MYevrF.mjs +5 -0
- package/dist/renderer-BA2Ko4H1.mjs +3 -0
- package/dist/renderer-BCGosndi.mjs +5 -0
- package/dist/{renderer-CwO8T8l8.mjs → renderer-BEmDSqXg.mjs} +4 -4
- package/dist/{renderer-CwO8T8l8.mjs.map → renderer-BEmDSqXg.mjs.map} +1 -1
- package/dist/{renderer-B4ydDdo6.mjs → renderer-BG8jNTHr.mjs} +3 -3
- package/dist/{renderer-B4ydDdo6.mjs.map → renderer-BG8jNTHr.mjs.map} +1 -1
- package/dist/{renderer-Du8eOWWU.mjs → renderer-BMnrBPh1.mjs} +4 -4
- package/dist/{renderer-Du8eOWWU.mjs.map → renderer-BMnrBPh1.mjs.map} +1 -1
- package/dist/{renderer-CE83KHgr.mjs → renderer-BORzpTQP.mjs} +3 -3
- package/dist/{renderer-CE83KHgr.mjs.map → renderer-BORzpTQP.mjs.map} +1 -1
- package/dist/{renderer-BUwHWIf7.mjs → renderer-BWtI3wKu.mjs} +4 -4
- package/dist/{renderer-BUwHWIf7.mjs.map → renderer-BWtI3wKu.mjs.map} +1 -1
- package/dist/renderer-BXTHDEnd.mjs +5 -0
- package/dist/{renderer-gm0zoV4t.mjs → renderer-Baw30QRI.mjs} +3 -3
- package/dist/{renderer-gm0zoV4t.mjs.map → renderer-Baw30QRI.mjs.map} +1 -1
- package/dist/renderer-BbJoZ-zL.mjs +5 -0
- package/dist/{renderer-Bhfl-WFX.mjs → renderer-BbdgwkDB.mjs} +5 -5
- package/dist/{renderer-Bhfl-WFX.mjs.map → renderer-BbdgwkDB.mjs.map} +1 -1
- package/dist/{renderer-qYhNf6iB.mjs → renderer-BgOEqtZu.mjs} +3 -3
- package/dist/{renderer-qYhNf6iB.mjs.map → renderer-BgOEqtZu.mjs.map} +1 -1
- package/dist/{renderer-I3Wxk1tL.mjs → renderer-Bv0-WmP4.mjs} +4 -4
- package/dist/{renderer-I3Wxk1tL.mjs.map → renderer-Bv0-WmP4.mjs.map} +1 -1
- package/dist/renderer-BvcqncI2.mjs +3 -0
- package/dist/{renderer-DXSIstnn.mjs → renderer-Bvhj-05p.mjs} +4 -4
- package/dist/{renderer-DXSIstnn.mjs.map → renderer-Bvhj-05p.mjs.map} +1 -1
- package/dist/renderer-BxAZKOQy.mjs +5 -0
- package/dist/{renderer-C-z6bxj9.mjs → renderer-BxDhx8KM.mjs} +5 -5
- package/dist/{renderer-C-z6bxj9.mjs.map → renderer-BxDhx8KM.mjs.map} +1 -1
- package/dist/renderer-BxgkH__7.mjs +5 -0
- package/dist/{renderer-GapR_An3.mjs → renderer-C1XZ0fQ-.mjs} +4 -4
- package/dist/{renderer-GapR_An3.mjs.map → renderer-C1XZ0fQ-.mjs.map} +1 -1
- package/dist/{renderer-BAoKytKL.mjs → renderer-C8KEfda3.mjs} +4 -4
- package/dist/{renderer-BAoKytKL.mjs.map → renderer-C8KEfda3.mjs.map} +1 -1
- package/dist/{renderer-BSitV56h.mjs → renderer-C9r0-KY4.mjs} +10 -1
- package/dist/{renderer-BSitV56h.mjs.map → renderer-C9r0-KY4.mjs.map} +1 -1
- package/dist/{renderer-B9ssmkbx.mjs → renderer-CF25oNd3.mjs} +5 -5
- package/dist/{renderer-B9ssmkbx.mjs.map → renderer-CF25oNd3.mjs.map} +1 -1
- package/dist/renderer-CFEvikBH.mjs +5 -0
- package/dist/{renderer-DGT141pN.mjs → renderer-CHFUJyul.mjs} +5 -5
- package/dist/{renderer-DGT141pN.mjs.map → renderer-CHFUJyul.mjs.map} +1 -1
- package/dist/{renderer-C5WkQZGR.mjs → renderer-CKGOKBZi.mjs} +5 -5
- package/dist/{renderer-C5WkQZGR.mjs.map → renderer-CKGOKBZi.mjs.map} +1 -1
- package/dist/{renderer-CzgDJcot.mjs → renderer-CNs1vBUy.mjs} +4 -4
- package/dist/{renderer-CzgDJcot.mjs.map → renderer-CNs1vBUy.mjs.map} +1 -1
- package/dist/{index-B0BZMhtw.d.mts → renderer-COXKPofU.d.mts} +13 -13
- package/dist/renderer-COXKPofU.d.mts.map +1 -0
- package/dist/{renderer-QaN-aejD.mjs → renderer-COZCwiIr.mjs} +3 -3
- package/dist/{renderer-QaN-aejD.mjs.map → renderer-COZCwiIr.mjs.map} +1 -1
- package/dist/{renderer-DP_In2uT.mjs → renderer-CPmoA87K.mjs} +4 -4
- package/dist/{renderer-DP_In2uT.mjs.map → renderer-CPmoA87K.mjs.map} +1 -1
- package/dist/{renderer-BCLmYH4S.mjs → renderer-CYZb9uoO.mjs} +4 -4
- package/dist/{renderer-BCLmYH4S.mjs.map → renderer-CYZb9uoO.mjs.map} +1 -1
- package/dist/renderer-C_u9B-_7.mjs +5 -0
- package/dist/{renderer-PuN2_AL_.mjs → renderer-CaUJlGoB.mjs} +5 -5
- package/dist/{renderer-PuN2_AL_.mjs.map → renderer-CaUJlGoB.mjs.map} +1 -1
- package/dist/{renderer-Blm4Dv_h.mjs → renderer-CcS3Zntx.mjs} +3 -3
- package/dist/{renderer-DZhIe8Gj.mjs → renderer-CddpdCL3.mjs} +4 -4
- package/dist/{renderer-DZhIe8Gj.mjs.map → renderer-CddpdCL3.mjs.map} +1 -1
- package/dist/{renderer-GbVNyv-E.mjs → renderer-Cg-d78nf.mjs} +192 -27
- package/dist/renderer-Cg-d78nf.mjs.map +1 -0
- package/dist/renderer-Cgx_qzGT.mjs +5 -0
- package/dist/{renderer-kNjMhwiZ.mjs → renderer-ChNCtBMR.mjs} +3 -3
- package/dist/{renderer-kNjMhwiZ.mjs.map → renderer-ChNCtBMR.mjs.map} +1 -1
- package/dist/renderer-ClOkY1Ny.mjs +5 -0
- package/dist/{renderer-plx7_lUQ.mjs → renderer-CrU0kbiB.mjs} +5 -5
- package/dist/{renderer-plx7_lUQ.mjs.map → renderer-CrU0kbiB.mjs.map} +1 -1
- package/dist/renderer-CtDub_ig.mjs +5 -0
- package/dist/{renderer-DQeUc1yY.mjs → renderer-CyhSWLKq.mjs} +4 -4
- package/dist/{renderer-DQeUc1yY.mjs.map → renderer-CyhSWLKq.mjs.map} +1 -1
- package/dist/{renderer-D96Pu8yX.mjs → renderer-D-bmSKv4.mjs} +5 -5
- package/dist/{renderer-D96Pu8yX.mjs.map → renderer-D-bmSKv4.mjs.map} +1 -1
- package/dist/renderer-D0duAhCo.mjs +5 -0
- package/dist/{renderer-CPLfsRe1.mjs → renderer-D2tdNoM6.mjs} +6 -6
- package/dist/{renderer-CPLfsRe1.mjs.map → renderer-D2tdNoM6.mjs.map} +1 -1
- package/dist/renderer-D4wM1dqg.mjs +6 -0
- package/dist/renderer-D5U3d09T.mjs +5 -0
- package/dist/{renderer-DOxmmN6Q.mjs → renderer-D86Y5YYi.mjs} +5 -5
- package/dist/{renderer-DOxmmN6Q.mjs.map → renderer-D86Y5YYi.mjs.map} +1 -1
- package/dist/{renderer-mqUBkx-a.mjs → renderer-D8D7dKxq.mjs} +4 -4
- package/dist/{renderer-mqUBkx-a.mjs.map → renderer-D8D7dKxq.mjs.map} +1 -1
- package/dist/{renderer-CTYKUnDq.mjs → renderer-DATAjI6x.mjs} +3 -3
- package/dist/{renderer-CTYKUnDq.mjs.map → renderer-DATAjI6x.mjs.map} +1 -1
- package/dist/{renderer-C4vHq0X8.mjs → renderer-DGhCIVI4.mjs} +5 -5
- package/dist/{renderer-C4vHq0X8.mjs.map → renderer-DGhCIVI4.mjs.map} +1 -1
- package/dist/{renderer-CrwYWVsV.mjs → renderer-DILjs1tz.mjs} +3 -3
- package/dist/{renderer-DYbgd6Ye.mjs → renderer-DIyzKouj.mjs} +4 -4
- package/dist/{renderer-DYbgd6Ye.mjs.map → renderer-DIyzKouj.mjs.map} +1 -1
- package/dist/{renderer-f7A01ArI.mjs → renderer-DJ78Bgv7.mjs} +5 -5
- package/dist/{renderer-f7A01ArI.mjs.map → renderer-DJ78Bgv7.mjs.map} +1 -1
- package/dist/renderer-DKqFxYfP.mjs +5 -0
- package/dist/renderer-DQZNI1zf.mjs +5 -0
- package/dist/{renderer-C1U85w9f.mjs → renderer-DVnrUnkh.mjs} +3 -3
- package/dist/{renderer-C1U85w9f.mjs.map → renderer-DVnrUnkh.mjs.map} +1 -1
- package/dist/{renderer-1P3yS8YM.mjs → renderer-DWtquP0s.mjs} +4 -4
- package/dist/{renderer-1P3yS8YM.mjs.map → renderer-DWtquP0s.mjs.map} +1 -1
- package/dist/renderer-DXITcVbS.mjs +5 -0
- package/dist/renderer-DY1QgdDC.mjs +5 -0
- package/dist/renderer-DYEz06xn.mjs +5 -0
- package/dist/renderer-D_2OrSMc.mjs +5 -0
- package/dist/renderer-DcCl9CO6.mjs +5 -0
- package/dist/{renderer-OsA-Lg4d.mjs → renderer-DetTl6bQ.mjs} +3 -3
- package/dist/{renderer-OsA-Lg4d.mjs.map → renderer-DetTl6bQ.mjs.map} +1 -1
- package/dist/{renderer-Bkq1PT0g.mjs → renderer-DfxwJVjW.mjs} +3 -3
- package/dist/{renderer-DK9etIAz.mjs → renderer-DhQZiRL3.mjs} +5 -5
- package/dist/{renderer-DK9etIAz.mjs.map → renderer-DhQZiRL3.mjs.map} +1 -1
- package/dist/{renderer-C0ds-UfM.mjs → renderer-Djn4BYtz.mjs} +5 -5
- package/dist/{renderer-C0ds-UfM.mjs.map → renderer-Djn4BYtz.mjs.map} +1 -1
- package/dist/{renderer-B4jxP8vF.mjs → renderer-DkS6cblv.mjs} +5 -5
- package/dist/{renderer-B4jxP8vF.mjs.map → renderer-DkS6cblv.mjs.map} +1 -1
- package/dist/{renderer-CjQAYeYz.mjs → renderer-DkeJefRk.mjs} +5 -5
- package/dist/{renderer-CjQAYeYz.mjs.map → renderer-DkeJefRk.mjs.map} +1 -1
- package/dist/renderer-DotZXhrh.mjs +5 -0
- package/dist/renderer-DpYDVTzs.mjs +5 -0
- package/dist/renderer-DpZxLVQF.mjs +5 -0
- package/dist/{renderer-BHLYKy8b.mjs → renderer-DqabtpGN.mjs} +5 -5
- package/dist/{renderer-BHLYKy8b.mjs.map → renderer-DqabtpGN.mjs.map} +1 -1
- package/dist/{renderer-DVFFVy9v.mjs → renderer-DqdD8gzX.mjs} +5 -5
- package/dist/{renderer-DVFFVy9v.mjs.map → renderer-DqdD8gzX.mjs.map} +1 -1
- package/dist/{renderer-CDky5Gva.mjs → renderer-DstROEvX.mjs} +4 -4
- package/dist/{renderer-CDky5Gva.mjs.map → renderer-DstROEvX.mjs.map} +1 -1
- package/dist/{renderer-Cy4a31rZ.mjs → renderer-DuawUm8D.mjs} +3 -3
- package/dist/{renderer-Cy4a31rZ.mjs.map → renderer-DuawUm8D.mjs.map} +1 -1
- package/dist/{renderer-CS8VMTp1.mjs → renderer-DvIWhLnY.mjs} +5 -5
- package/dist/{renderer-CS8VMTp1.mjs.map → renderer-DvIWhLnY.mjs.map} +1 -1
- package/dist/renderer-DvJbouz0.mjs +5 -0
- package/dist/{renderer-BI8QhEj9.mjs → renderer-Dw2ZFwDT.mjs} +5 -5
- package/dist/{renderer-BI8QhEj9.mjs.map → renderer-Dw2ZFwDT.mjs.map} +1 -1
- package/dist/{renderer-DBtt-7wt.d.mts → renderer-Dx28wTi1.d.mts} +2 -2
- package/dist/{renderer-DBtt-7wt.d.mts.map → renderer-Dx28wTi1.d.mts.map} +1 -1
- package/dist/{renderer-BT0x6KPK.mjs → renderer-DxLkZGUK.mjs} +4 -4
- package/dist/{renderer-BT0x6KPK.mjs.map → renderer-DxLkZGUK.mjs.map} +1 -1
- package/dist/{renderer-y6k54AM6.mjs → renderer-GY7D1oAn.mjs} +4 -4
- package/dist/{renderer-y6k54AM6.mjs.map → renderer-GY7D1oAn.mjs.map} +1 -1
- package/dist/{renderer-D4No_jA4.mjs → renderer-JaSEubRQ.mjs} +4 -4
- package/dist/{renderer-D4No_jA4.mjs.map → renderer-JaSEubRQ.mjs.map} +1 -1
- package/dist/{renderer-CAi-lhR2.mjs → renderer-MrvH4L7b.mjs} +4 -4
- package/dist/{renderer-CAi-lhR2.mjs.map → renderer-MrvH4L7b.mjs.map} +1 -1
- package/dist/{renderer-DO5r7ZV-.mjs → renderer-PNIgmWft.mjs} +2 -2
- package/dist/{renderer-DO5r7ZV-.mjs.map → renderer-PNIgmWft.mjs.map} +1 -1
- package/dist/renderer-S305xm67.mjs +5 -0
- package/dist/renderer-TgUloP-y.mjs +5 -0
- package/dist/{renderer-DSbRWfgl.mjs → renderer-VcPoZAM2.mjs} +3 -3
- package/dist/{renderer-DSbRWfgl.mjs.map → renderer-VcPoZAM2.mjs.map} +1 -1
- package/dist/{renderer-DCsTCvdo.mjs → renderer-ZGJWn-_L.mjs} +4 -4
- package/dist/{renderer-DCsTCvdo.mjs.map → renderer-ZGJWn-_L.mjs.map} +1 -1
- package/dist/{renderer-B_b8-ztW.mjs → renderer-aXwxbXcE.mjs} +5 -5
- package/dist/{renderer-B_b8-ztW.mjs.map → renderer-aXwxbXcE.mjs.map} +1 -1
- package/dist/renderer-gZ5SMvbU.mjs +5 -0
- package/dist/{renderer-BMLJgnbU.mjs → renderer-gniIzAsk.mjs} +3 -3
- package/dist/renderer-kEpx7pUy.mjs +5 -0
- package/dist/{renderer-DOvzHN60.mjs → renderer-mSlww_MA.mjs} +4 -4
- package/dist/{renderer-DOvzHN60.mjs.map → renderer-mSlww_MA.mjs.map} +1 -1
- package/dist/{renderer-DBKyuPl1.mjs → renderer-mWfgWQy_.mjs} +5 -5
- package/dist/{renderer-DBKyuPl1.mjs.map → renderer-mWfgWQy_.mjs.map} +1 -1
- package/dist/{renderer-BajIOuZH.mjs → renderer-nLPfvY3-.mjs} +2 -2
- package/dist/{renderer-BajIOuZH.mjs.map → renderer-nLPfvY3-.mjs.map} +1 -1
- package/dist/renderer-oPWZmzua.mjs +5 -0
- package/dist/{renderer-C4xvz_Ft.mjs → renderer-pcpDwv3K.mjs} +4 -4
- package/dist/{renderer-C4xvz_Ft.mjs.map → renderer-pcpDwv3K.mjs.map} +1 -1
- package/dist/renderer-qCNOffLy.mjs +5 -0
- package/dist/{renderer-BaJQx0Bp.mjs → renderer-vPJRRVNN.mjs} +5 -5
- package/dist/{renderer-BaJQx0Bp.mjs.map → renderer-vPJRRVNN.mjs.map} +1 -1
- package/dist/{renderer-DHUlVqST.mjs → renderer-vQrX7Qsw.mjs} +3 -3
- package/dist/{renderer-DHUlVqST.mjs.map → renderer-vQrX7Qsw.mjs.map} +1 -1
- package/dist/{renderer-P4OPsD82.mjs → renderer-wld_ZR0-.mjs} +3 -3
- package/dist/{renderer-P4OPsD82.mjs.map → renderer-wld_ZR0-.mjs.map} +1 -1
- package/dist/renderer-xEVoeq12.mjs +5 -0
- package/dist/renderer-ypw8fzVD.mjs +5 -0
- package/dist/{renderers-CP8CFWDs-D1FHpA7I.mjs → renderers-CP8CFWDs-DgKdGMvS.mjs} +4 -4
- package/dist/{renderers-CP8CFWDs-D1FHpA7I.mjs.map → renderers-CP8CFWDs-DgKdGMvS.mjs.map} +1 -1
- package/dist/signals/index.d.mts +6 -6
- package/dist/signals/index.mjs +8 -8
- package/dist/{signals-BwdVfK3p.mjs → signals-Cf9mfNGE.mjs} +4 -4
- package/dist/{signals-BwdVfK3p.mjs.map → signals-Cf9mfNGE.mjs.map} +1 -1
- package/dist/src-CU_7ui4I.mjs +8373 -0
- package/dist/src-CU_7ui4I.mjs.map +1 -0
- package/package.json +68 -58
- package/dist/dist-DMa2BbYs.mjs.map +0 -1
- package/dist/index-B0BZMhtw.d.mts.map +0 -1
- package/dist/index-CJkihekp.d.mts.map +0 -1
- package/dist/index-DGe83M-p.d.mts.map +0 -1
- package/dist/index.d.mts.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/preview/index.d.mts.map +0 -1
- package/dist/preview-engine/chunk-PCWWKYFO.mjs +0 -1
- package/dist/preview-engine/renderers-2AD6AHAO.mjs +0 -1
- package/dist/preview-engine/renderers-37UYW266.mjs +0 -1
- package/dist/preview-engine/renderers-4I4UDLDR.mjs +0 -1
- package/dist/preview-engine/renderers-5EITT2FW.mjs +0 -1
- package/dist/preview-engine/renderers-AIRDDXRB.mjs +0 -1
- package/dist/preview-engine/renderers-BUOGMWAA.mjs +0 -1
- package/dist/preview-engine/renderers-EU5VM2S2.mjs +0 -1
- package/dist/preview-engine/renderers-GEPP3YKK.mjs +0 -1
- package/dist/preview-engine/renderers-IQNZQWYU.mjs +0 -1
- package/dist/preview-engine/renderers-JQ7AI473.mjs +0 -228
- package/dist/preview-engine/renderers-JTVCE5PV.mjs +0 -1
- package/dist/preview-engine/renderers-KCNUETAD.mjs +0 -1
- package/dist/preview-engine/renderers-KKBHXAWS.mjs +0 -1
- package/dist/preview-engine/renderers-LER7SUT2.mjs +0 -1
- package/dist/preview-engine/renderers-MOERLDWF.mjs +0 -1
- package/dist/preview-engine/renderers-O57YIIAO.mjs +0 -1
- package/dist/preview-engine/renderers-OPUIAD7I.mjs +0 -1
- package/dist/preview-engine/renderers-PENUAXDD.mjs +0 -1
- package/dist/preview-engine/renderers-PFCI7ZFW.mjs +0 -1
- package/dist/preview-engine/renderers-Q4HDP2IE.mjs +0 -1
- package/dist/preview-engine/renderers-QMHUOKMM.mjs +0 -1
- package/dist/preview-engine/renderers-R26YPECG.mjs +0 -1
- package/dist/preview-engine/renderers-TAFDMFEA.mjs +0 -1
- package/dist/preview-engine/renderers-TMZLWQP2.mjs +0 -1
- package/dist/preview-engine/renderers-TP6ZMGU4.mjs +0 -1
- package/dist/preview-engine/renderers-TY63VTZB.mjs +0 -1
- package/dist/preview-engine/renderers-UCNQ536S.mjs +0 -1
- package/dist/preview-engine/renderers-WOZQDE4A.mjs +0 -1
- package/dist/preview-engine/renderers-XG3BDROH.mjs +0 -1
- package/dist/preview-engine/renderers-XS4CFZWR.mjs +0 -1
- package/dist/preview-engine/renderers-ZQDMRWN7.mjs +0 -1
- package/dist/program-KwDdbC0-.mjs.map +0 -1
- package/dist/renderer-5C41E6gT.mjs +0 -5
- package/dist/renderer-6SXF9Ykm.mjs +0 -5
- package/dist/renderer-B2C2w3Wr.mjs +0 -5
- package/dist/renderer-B2QSfPYZ.mjs +0 -5
- package/dist/renderer-B5cQcMl1.mjs +0 -5
- package/dist/renderer-BDhD8Yab.mjs +0 -3
- package/dist/renderer-BSDdTHDh.mjs +0 -5
- package/dist/renderer-BTUjk8uY.mjs +0 -5
- package/dist/renderer-Bcey5Gvk.mjs +0 -5
- package/dist/renderer-Bd2MuOeJ.mjs +0 -5
- package/dist/renderer-Bd5A0zer.mjs +0 -5
- package/dist/renderer-CC-WlYa2.mjs +0 -5
- package/dist/renderer-Cb0qf1UG.mjs +0 -5
- package/dist/renderer-CfX13dgQ.mjs +0 -5
- package/dist/renderer-ChFkRLrv.mjs +0 -5
- package/dist/renderer-CjkfJj5R.mjs +0 -5
- package/dist/renderer-Ck7Lu6c9.mjs +0 -5
- package/dist/renderer-CuquqG_c.mjs +0 -5
- package/dist/renderer-Cwz2E4QD.mjs +0 -5
- package/dist/renderer-Czkt9YYp.mjs +0 -5
- package/dist/renderer-DFTIhSdJ.mjs +0 -5
- package/dist/renderer-DFaa-Ats.mjs +0 -5
- package/dist/renderer-DIHXKvPl.mjs +0 -5
- package/dist/renderer-DMzOqVM3.mjs +0 -5
- package/dist/renderer-DOId5U8x.mjs +0 -5
- package/dist/renderer-DQXFOup8.mjs +0 -5
- package/dist/renderer-DRt3BSTj.mjs +0 -5
- package/dist/renderer-Di_5vQ81.mjs +0 -6
- package/dist/renderer-DkmpsPIa.mjs +0 -5
- package/dist/renderer-Ds6wd9Gk.mjs +0 -5
- package/dist/renderer-DuuOlYIG.mjs +0 -3
- package/dist/renderer-Dv4p0lp9.mjs +0 -5
- package/dist/renderer-DzWoOlVc.mjs +0 -5
- package/dist/renderer-GbVNyv-E.mjs.map +0 -1
- package/dist/renderer-IOz63OWg.mjs +0 -5
- package/dist/renderer-JkSrsUa5.mjs +0 -5
- package/dist/renderer-Ocs1Djwu.mjs +0 -5
- package/dist/renderer-Wdn7m_uN.mjs +0 -5
- package/dist/renderer-mKpjaoE3.mjs +0 -5
- /package/dist/{chunk-GBe2k3y8.mjs → chunk-D7gtBK74.mjs} +0 -0
- /package/dist/{renderer-B-BcgA6d.mjs → renderer-B7fX0C62.mjs} +0 -0
package/dist/index.d.mts
CHANGED
|
@@ -1,4659 +1,13 @@
|
|
|
1
|
-
import "./chunk-
|
|
2
|
-
import { $ as AdvancedTextAnimatorSchema, $a as SineSignalOptions, $i as MediaSourceInput, $n as samplePathChainGeometry, $o as frameSignal, $r as DATA_TYPE_EXTENSIONS, $t as TextCursorConfig, A as SlugFontCache, Aa as Pixels, Ai as GateSignalOptions, An as buildPathLUT, Ao as VisionConfig, Ar as resolveEnvironment, As as radians, At as LongShadowConfig, B as loadModel3D, Ba as SignalBuilderConfig, Bi as JsonArray, Bn as evaluateMarqueeOffset, Bo as computed, Br as BaseVideoLayerPropsSchema, Bs as seconds, Bt as SelectorShape, C as Renderer3D, Ca as ObjectBoundingBox, Ci as FileData, Cn as VariableFontAxesSchema, Co as VideoLayerTypeSchema, Cr as Path3DPoint, Cs as normalized, Ct as GlyphAnchorGroupingSchema, Da as OutputItemSchema, Di as FrameIndex, Dn as VolumetricFormationConfigSchema, Do as VideoTimingPropsSchema, Dr as Vec3, Ds as pixels, Dt as KineticMarqueeConfigSchema, E as ShadowPipeline, Ea as OutputItem, Ei as FrameContext, En as VolumetricFormationConfig, Eo as VideoTextPropsSchema, Er as ShadowUniformInfo, Es as parseCssGradient, Et as KineticMarqueeConfig, F as describeGpu, Fa as RenderDiagnostic, Fi as GradientType, Fn as distanceToCurveParameter, Fo as XYPosition, Fr as AudioExtractorSignalData, Fs as resolveNumber, Ft as PathChainLUTEntry, G as parseOBJ, Ga as SignalDataSchema, Gi as MAX_GRADIENT_STOPS, Gn as evaluateVolumetricFormation, Go as degrees, Gr as CannyOptions, Gs as stampResult, Gt as SkewPropertiesSchema, H as lutStore, Ha as SignalChannelMetaSchema, Hi as JsonValue, Hn as evaluateSkewMatrix, Ho as createOutputItemSchema, Hr as CAPTION_LAYER_DEFAULTS, Hs as signal, Ht as SelectorUnits, I as ensureDevice, Ia as Rgba, Ii as HandleId, In as ellipseToCubicBeziers, Io as appendOperation, Ir as AudioExtractorSignalDataSchema, Is as resolveParam, It as SelectorBasedOn, J as textureCache, Ja as SignalMathData, Ji as MediaMetadataSchema, Jn as getScramblePool, Jo as findSourceAsset, Jr as ConfigHandle, Js as updateClockSignals, Jt as SpringPhysics, K as shaderStore, Ka as SignalGateData, Ki as MIME_TYPES, Kn as generateArcLengthLUT, Ko as deserializeSignalData, Kr as Color, Ks as takeRenderDiagnostics, Kt as Spatial3DProperties, La as Seconds, Li as HandleLabel, Ln as evaluateCubicBezier, Lo as assertNever, Lr as BaseMediaOperationProps, Ls as resolveString, Lt as SelectorBasedOnSchema, M as SphereGeometryOptions, Ma as ProgrammaticSignal, Mi as GeneratorSignalDataSchema, Mn as computeLineLeadingDisplacement, Mo as VisionTask, Mr as AnimationTypeSchema, Ms as reportRenderDiagnostic, Mt as ParticleDissolveConfig, Na as ProgrammaticSignalOptions, Ni as GlobalCompositeOperation, Nn as computeRangeSelectorWeight, No as VisionVariant, Nr as AnyOutputUnion, Ns as resolveBoolean, Nt as ParticleDissolveConfigSchema, Oa as ParsedGradient, Oi as FrameSignal, On as VolumetricFormationMode, Oo as VirtualMediaData, Or as Vector3Math, Os as programmaticSignal, Ot as LineSpacingDynamics, Pa as Radians, Pi as Gradient, Pn as deterministicWigglyNoise, Po as WritableSignal, Pr as AnyOutputUnionSchema, Ps as resolveMediaMimeType, Pt as PathChainLUT, Q as AdvancedTextAnimatorBuilder, Qa as SignalValue, Qi as MediaSourceDescriptor, Qn as sampleCurveGeometry, Qo as frameArraySignal, Qr as ControlNetConditioningOutputs, Qt as TextAnimatorBuilder, R as inputStore, Ra as SegmentationOptions, Ri as HandleType, Rn as evaluateCubicBezierDerivative, Ro as checkNodeResultCache, Rr as BaseMediaOperationPropsSchema, Rs as rgbToOklab, Rt as SelectorMode, S as Renderer2D, Sa as NormalizedLandmarkList, Si as FileAssetSchema, Sn as VariableFontAxes, So as VideoLayerType, Sr as Path3D, Ss as normalizeColorStops, St as GlyphAnchorGrouping, T as SSAOPipeline, Ta as Output, Ti as Fps, Tn as Vec2Schema, To as VideoStylePropsSchema, Tr as ResolvedEnvironment, Ts as parseCssColor, Tt as GlyphAnchorPointSchema, U as parseFBX, Ua as SignalContext, Ui as JsonValueSchema, Un as evaluateSpringProgress, Uo as createVirtualMedia, Ur as COMPOSITE_OPERATIONS, Us as signalBuilder, Ut as SelectorUnitsSchema, V as loadOBJ, Va as SignalChannelMeta, Vi as JsonObject, Vn as evaluateSelectorCombination, Vo as cosineSignal, Vr as Brand, Vs as serializeSignalData, Vt as SelectorShapeSchema, W as parseMTL, Wa as SignalData, Wi as Landmark3D, Wn as evaluateTypewriterState, Wo as dataTypeColors, Wr as COMPOSITOR_DEFAULTS, Ws as sineSignal, Wt as SkewProperties, X as AETextAnimatorSchema, Xa as SignalStats, Xi as MediaOperationSchema, Xn as parseSvgPathToCubicBeziers, Xo as fps$1, Xr as ConfigSchemaRegistry, Xt as TextAnchorConfig, Y as AETextAnimator, Ya as SignalMathDataSchema, Yi as MediaOperation, Yn as getShuffledOrder, Yo as formatHex, Yr as ConfigHandleSchema, Yt as SpringPhysicsSchema, Z as AdvancedTextAnimator, Za as SignalStatsSchema, Zi as MediaService, Zn as sampleAudioSpectrumScale, Zo as frame$1, Zr as ConnectedInput, Zt as TextAnchorConfigSchema, _ as Mesh3DData, _a as NodeValidationFn, _i as ExportResultSchema, _n as TextWigglySelectorSchema, _o as TransitionSchema, _r as LightKind, _s as isVirtualMediaData, _t as ExpressionEvaluationContext, a as AudioMeshDeformPipeline, aa as MultiOutputGeneric, ai as DataTypeEnum, an as TextPathOptionsSchema, ao as TensorData, ar as CatmullRomOptions, as as getMediaType, at as AnimatableGlyphPropsSchema, b as NodeAnimationTrack3D, ba as NormalRelightingOptions, bi as FaceLandmarksOptions, bn as TypingCadence, bo as VideoAnimation, br as Mat4, bs as ms, bt as ExtendedGlyphProperties, c as BlendMode, ca as NodeInputConnection, ci as DeflickerOptions, cn as TextRangeSelector, co as TensorNode, cr as Environment3DFog, cs as handleId, ct as AudioSpectrumTypographySchema, d as EffectPipeline, da as NodeOperation, di as DetectedObject, dn as TextScrambleConfigSchema, do as TextSpan, dr as FrustumPlanes, ds as isCssGradient, dt as CubicBezierSegment, ea as MediaSourceSchema, ei as DEFAULT_DURATION_MS, en as TextCursorConfigSchema, eo as SingleOutputGeneric, er as waveToCubicBeziers, es as generateId, et as AnchorGrouping, f as GlassPipeline, fa as NodeProcessorContext, fi as Effect$1, fn as TextSelector, fo as TextSpanMark, fr as GPULightData, fs as isEqual, ft as CubicBezierSegmentSchema, g as Material3D, ga as NodeRunFunction, gi as ExportResult, gn as TextWigglySelector, go as TrackedObject, gr as Light3DOptions, gs as isValueSignal, gt as EnhancedTextNodeSchema, ha as NodeResultSchema, hi as EffectDomain, hn as TextSignalSelectorSchema, ho as TimelineTransformSchema, hr as Light3D, hs as isSignal, ht as EnhancedTextNode, i as AudioLatentTrackCache, ia as ModerationUnrefundableError, ii as DataType, in as TextPathOptions, io as TEXT_LAYER_DEFAULTS, ir as CameraShakeOptions, is as getLeafMediaType, it as AnimatableGlyphProps, j as SlugPipeline, ja as PoseSkeletonOptions, ji as GeneratorSignalData, jn as computeAnchorPivotOffset, jo as VisionNodeSpec, jr as AnimationType, js as registerSignalDependency, jt as LongShadowConfigSchema, k as Skeleton3D, ka as ParsedGradientStop, ki as GPUTextureBinding, kn as VolumetricFormationModeSchema, ko as VirtualMediaDataSchema, kr as parseColorToRgb, ks as progressSignal, kt as LineSpacingDynamicsSchema, l as Bone3D, la as NodeMetadata, li as Degrees, ln as TextRangeSelectorSchema, lo as TensorPipelineConfig, lr as Environment3DOptions, ls as handleLabel, lt as ChromaticGlitchConfig, m as LoadModelOptions, ma as NodeResult, mi as EffectConfigValue, mn as TextSignalSelector, mo as TimelineTransform, mr as LIGHT_UNIFORM_SIZE_BYTES, ms as isNormalized, mt as DynamicStrokePropertiesSchema, n as AudioLatentData, na as Milliseconds, ni as DEFAULT_MEDIA_DIMENSION, nn as TextCursorStyleSchema, no as SourceOperationSchema, nr as Camera3D, ns as getFileDataMetadata, nt as AnchorPreset, oa as MultiOutputGenericSchema, oi as DataTypeVal, on as TextPathSource, oo as TensorDimensions, or as CirclePathOptions, os as getRenderFingerprint, ot as ArcLengthLUTEntry, p as GpuAdapterDescription, pa as NodeProcessorParams, pi as EffectConfig, pn as TextSelectorSchema, po as TimelineSegmentSchema, pr as HelixOptions, ps as isFrameIndex, pt as DynamicStrokeProperties, q as signalRegistry, qa as SignalGateDataSchema, qi as MediaMetadata, qn as generatePathSegments, qo as extractSvgDimensions, qr as ColorStopLike, qs as timeSignal, qt as Spatial3DPropertiesSchema, r as AudioLatentEngine, ra as ModerationError, ri as DataForType, rn as TextPathBuilder, ro as StorageService, rr as Camera3DPose, rs as getFingerprint, rt as AnchorPresetSchema, sa as NodeId, si as DataTypes, sn as TextPathSourceSchema, so as TensorFormat, sr as ENVIRONMENT_PRESETS, ss as gradientStopsToOklab, st as AudioSpectrumTypography, t as AnimationClip3D, ta as MeshAudioDeformConfig, ti as DEFAULT_FPS, tn as TextCursorStyle, to as SingleOutputGenericSchema, tr as BezierSegment3D, ts as getActiveMediaMetadata, tt as AnchorGroupingSchema, u as CylinderGeometryOptions, ua as NodeMetadataSchema, ui as DepthNormalsOptions, un as TextScrambleConfig, uo as TextOperationSchema, ur as FrustumPlane, us as hasOnlySingleSource, ut as ChromaticGlitchConfigSchema, v as Model3DData, va as NodeVisualConfig, vi as ExtendedLayer, vn as TypewriterAnimator, vo as TransitionType, vr as LightsUniformData, vs as limitGradientStops, vt as ExpressionSelector, w as RoundedBoxGeometryOptions, wa as OpticalFlowOptions, wi as FileDataSchema, wn as Vec2, wo as VideoSpatialPropsSchema, wr as Path3DSample, ws as oklabToRgb, wt as GlyphAnchorPoint, x as RenderContextValue, xa as Normalized, xi as FileAsset, xn as TypingCadenceSchema, xo as VideoAnimationSchema, xr as Matrix4Math, xs as nodeId, xt as ExtendedGlyphPropertiesSchema, y as MotionBlurPipeline, ya as NodeVisualConfigSchema, yi as ExtendedLayerSchema, yn as TypewriterAnimatorSchema, yo as TransitionTypeSchema, yr as MAX_LIGHTS, ys as mixColors, yt as ExpressionSelectorSchema, z as loadFBX, za as Signal, zi as HandleTypeVal, zn as evaluateExpressionSelector, zo as computeVideoCropRenderProps, zr as BaseVideoLayerProps, zs as sampleColorStops, zt as SelectorModeSchema } from "./index-DGe83M-p.mjs";
|
|
3
|
-
import { a as SfxTrigger, c as softLimit, g as mixAudioTracks, i as SfxRenderContext, n as encodeStereoWav, o as mixSfxInto, r as RenderedSfx, s as renderSfx } from "./index-
|
|
4
|
-
import "./
|
|
5
|
-
import "./renderer-
|
|
6
|
-
import { $ as
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import "./index-
|
|
10
|
-
import { _ as
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { Yoga } from "yoga-layout/load";
|
|
14
|
-
|
|
15
|
-
//#region ../ai/dist/index.d.mts
|
|
16
|
-
//#region src/types.d.ts
|
|
17
|
-
/** Model input or output when its shape isn't declared. Pass a type argument to name it. */
|
|
18
|
-
type ModelData = Record<string, unknown>;
|
|
19
|
-
/** What a finished call returns: the model's output and the gateway's id for the request. */
|
|
20
|
-
interface Result<Output$1 = ModelData> {
|
|
21
|
-
data: Output$1;
|
|
22
|
-
requestId: string;
|
|
23
|
-
}
|
|
24
|
-
interface RunOptions<Input = ModelData> {
|
|
25
|
-
/** The model input. `Blob`s anywhere in it are uploaded first and replaced by URLs. */
|
|
26
|
-
readonly input?: Input;
|
|
27
|
-
/** Stops waiting. A queued job keeps running; cancel it with `ai.queue.cancel`. */
|
|
28
|
-
readonly abortSignal?: AbortSignal;
|
|
29
|
-
}
|
|
30
|
-
interface RequestLog {
|
|
31
|
-
message: string;
|
|
32
|
-
level?: string;
|
|
33
|
-
source?: string;
|
|
34
|
-
timestamp: string;
|
|
35
|
-
}
|
|
36
|
-
interface Metrics {
|
|
37
|
-
inference_time: number | null;
|
|
38
|
-
}
|
|
39
|
-
interface BaseQueueStatus {
|
|
40
|
-
status: "IN_QUEUE" | "IN_PROGRESS" | "COMPLETED";
|
|
41
|
-
request_id: string;
|
|
42
|
-
}
|
|
43
|
-
interface InQueueQueueStatus extends BaseQueueStatus {
|
|
44
|
-
status: "IN_QUEUE";
|
|
45
|
-
queue_position: number;
|
|
46
|
-
}
|
|
47
|
-
interface InProgressQueueStatus extends BaseQueueStatus {
|
|
48
|
-
status: "IN_PROGRESS";
|
|
49
|
-
logs: RequestLog[];
|
|
50
|
-
}
|
|
51
|
-
interface CompletedQueueStatus extends BaseQueueStatus {
|
|
52
|
-
status: "COMPLETED";
|
|
53
|
-
logs: RequestLog[];
|
|
54
|
-
metrics?: Metrics;
|
|
55
|
-
}
|
|
56
|
-
type QueueStatus = InQueueQueueStatus | InProgressQueueStatus | CompletedQueueStatus;
|
|
57
|
-
type SubmitOptions<Input = ModelData> = RunOptions<Input>;
|
|
58
|
-
interface RequestOptions {
|
|
59
|
-
/** The `request_id` returned by `ai.queue.submit`. */
|
|
60
|
-
readonly requestId: string;
|
|
61
|
-
readonly abortSignal?: AbortSignal;
|
|
62
|
-
}
|
|
63
|
-
interface StatusOptions extends RequestOptions {
|
|
64
|
-
/** Include the model's log lines in the status. */
|
|
65
|
-
readonly logs?: boolean;
|
|
66
|
-
}
|
|
67
|
-
interface SubscribeOptions<Input = ModelData> extends SubmitOptions<Input> {
|
|
68
|
-
/** Milliseconds between status checks. Default 500. */
|
|
69
|
-
readonly pollInterval?: number;
|
|
70
|
-
/** Include the model's log lines in each `onQueueUpdate`. */
|
|
71
|
-
readonly logs?: boolean;
|
|
72
|
-
/** Called once with the request id, as soon as the job is queued. */
|
|
73
|
-
readonly onEnqueue?: (requestId: string) => void;
|
|
74
|
-
/** Called after every status check. */
|
|
75
|
-
readonly onQueueUpdate?: (status: QueueStatus) => void;
|
|
76
|
-
}
|
|
77
|
-
//#endregion
|
|
78
|
-
//#region src/queue.d.ts
|
|
79
|
-
interface Queue {
|
|
80
|
-
/** Queues a job and returns at once with its `request_id`. Billed when it runs. */
|
|
81
|
-
submit<Input = ModelData>(model: string, options: SubmitOptions<Input>): Promise<InQueueQueueStatus>;
|
|
82
|
-
status(model: string, options: StatusOptions): Promise<QueueStatus>;
|
|
83
|
-
/** The output of a finished job. Fetching it again does not run or bill the model again. */
|
|
84
|
-
result<Output$1 = ModelData>(model: string, options: RequestOptions): Promise<Result<Output$1>>;
|
|
85
|
-
cancel(model: string, options: RequestOptions): Promise<void>;
|
|
86
|
-
/** Resolves when the job is `COMPLETED`, calling `onQueueUpdate` after each check. */
|
|
87
|
-
subscribeToStatus(model: string, options: WaitOptions): Promise<CompletedQueueStatus>;
|
|
88
|
-
}
|
|
89
|
-
type WaitOptions = StatusOptions & Pick<SubscribeOptions, "pollInterval" | "onQueueUpdate">;
|
|
90
|
-
//#endregion
|
|
91
|
-
//#region src/storage.d.ts
|
|
92
|
-
interface Storage {
|
|
93
|
-
/** Uploads a file and returns a URL any model accepts as input. */
|
|
94
|
-
upload(file: Blob): Promise<string>;
|
|
95
|
-
/** Replaces every `Blob` in an input (nested objects and arrays included) with its uploaded URL. */
|
|
96
|
-
transformInput<T>(input: T): Promise<T>;
|
|
97
|
-
}
|
|
98
|
-
//#endregion
|
|
99
|
-
//#region src/stream.d.ts
|
|
100
|
-
/**
|
|
101
|
-
* A model's streamed output. Iterate it for each partial result as it arrives; `done()`
|
|
102
|
-
* resolves with the last one (and drains the stream if nobody iterates it).
|
|
103
|
-
*/
|
|
104
|
-
interface ModelStream<Output$1 = ModelData> extends AsyncIterable<Output$1> {
|
|
105
|
-
readonly requestId: string;
|
|
106
|
-
done(): Promise<Output$1>;
|
|
107
|
-
abort(): void;
|
|
108
|
-
}
|
|
109
|
-
//#endregion
|
|
110
|
-
//#region src/errors.d.ts
|
|
111
|
-
/** One field a model rejected: where (`loc`), why (`msg`) and the rule (`type`). */
|
|
112
|
-
interface ValidationErrorInfo {
|
|
113
|
-
msg: string;
|
|
114
|
-
loc: Array<string | number>;
|
|
115
|
-
type: string;
|
|
116
|
-
}
|
|
117
|
-
interface ApiErrorArgs {
|
|
118
|
-
message: string;
|
|
119
|
-
status: number;
|
|
120
|
-
body?: unknown;
|
|
121
|
-
requestId?: string;
|
|
122
|
-
type?: string;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* A non-2xx answer from the gateway or the model. `type` is the gateway's error code
|
|
126
|
-
* (`insufficient_credits`, `rate_limited`, `key_limit_reached`, …) when the gateway refused
|
|
127
|
-
* the call; it is unset when the model itself failed.
|
|
128
|
-
*/
|
|
129
|
-
declare class ApiError<Body = unknown> extends Error {
|
|
130
|
-
readonly status: number;
|
|
131
|
-
readonly body: Body;
|
|
132
|
-
readonly requestId: string;
|
|
133
|
-
readonly type?: string;
|
|
134
|
-
constructor({
|
|
135
|
-
message,
|
|
136
|
-
status,
|
|
137
|
-
body,
|
|
138
|
-
requestId,
|
|
139
|
-
type
|
|
140
|
-
}: ApiErrorArgs);
|
|
141
|
-
}
|
|
142
|
-
interface ValidationErrorBody {
|
|
143
|
-
detail: ValidationErrorInfo[];
|
|
144
|
-
}
|
|
145
|
-
/** A `422`: the input did not match the model's schema. `fieldErrors` says which fields. */
|
|
146
|
-
declare class ValidationError extends ApiError<ValidationErrorBody> {
|
|
147
|
-
constructor(args: ApiErrorArgs);
|
|
148
|
-
get fieldErrors(): ValidationErrorInfo[];
|
|
149
|
-
getFieldErrors(field: string): ValidationErrorInfo[];
|
|
150
|
-
}
|
|
151
|
-
//#endregion
|
|
152
|
-
//#region src/transport.d.ts
|
|
153
|
-
/** The framefields AI gateway. Every request goes here, authenticated with a framefields key. */
|
|
154
|
-
declare const FRAMEFIELDS_AI_PROXY_URL = "https://api.framefields.dev/v1/ai/proxy";
|
|
155
|
-
//#endregion
|
|
156
|
-
//#region src/index.d.ts
|
|
157
|
-
interface AiConfig {
|
|
158
|
-
/** A framefields API key (`ff_live_…`). Defaults to `process.env.FRAMEFIELDS_API_KEY`. */
|
|
159
|
-
apiKey?: string;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* AI models (images, video, music, voice, …) through the framefields AI gateway, billed to
|
|
163
|
-
* the framefields account that owns the API key. Models are named by their catalog id,
|
|
164
|
-
* e.g. `ai.subscribe("flux/schnell", { input })`; https://framefields.dev/models lists them.
|
|
165
|
-
*/
|
|
166
|
-
interface Ai {
|
|
167
|
-
/** Set the API key in code instead of `FRAMEFIELDS_API_KEY`. */
|
|
168
|
-
config(options: AiConfig): void;
|
|
169
|
-
/** Runs a model and waits for its output in one request. Best for fast models. */
|
|
170
|
-
run<Output$1 = ModelData, Input = ModelData>(model: string, options: RunOptions<Input>): Promise<Result<Output$1>>;
|
|
171
|
-
/** Queues a job, polls until it finishes, and returns its output. Use for slow models. */
|
|
172
|
-
subscribe<Output$1 = ModelData, Input = ModelData>(model: string, options: SubscribeOptions<Input>): Promise<Result<Output$1>>;
|
|
173
|
-
/** Runs a model that streams partial output. */
|
|
174
|
-
stream<Output$1 = ModelData, Input = ModelData>(model: string, options: RunOptions<Input>): Promise<ModelStream<Output$1>>;
|
|
175
|
-
/** Submit jobs and collect them later, by request id. */
|
|
176
|
-
readonly queue: Queue;
|
|
177
|
-
/** Upload local files for use as model input. */
|
|
178
|
-
readonly storage: Storage;
|
|
179
|
-
}
|
|
180
|
-
declare const ai: Ai;
|
|
181
|
-
//#endregion
|
|
182
|
-
//#endregion
|
|
183
|
-
//#region src/rich-text.d.ts
|
|
184
|
-
type TextSpanItem = string | number | boolean | Signal<unknown> | TextSpan | (string | TextSpan)[] | null | undefined;
|
|
185
|
-
/**
|
|
186
|
-
* Tagged template literal for authoring rich, multi-style text runs.
|
|
187
|
-
*
|
|
188
|
-
* Interpolates strings, numbers, reactive signals, and typed span modifiers
|
|
189
|
-
* directly into a structured TextSpan[] array with zero runtime parsing.
|
|
190
|
-
*
|
|
191
|
-
* @example
|
|
192
|
-
* rich`Scale ${bold("10x", { fill: "#6366f1" })} faster with ${mark("120 FPS", { bg: "#10b98133" })}`
|
|
193
|
-
*/
|
|
194
|
-
declare function rich(strings: TemplateStringsArray, ...values: TextSpanItem[]): TextSpan[];
|
|
195
|
-
declare function span(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
196
|
-
declare function bold(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
197
|
-
declare function italic(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
198
|
-
declare function accent(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
199
|
-
declare function color(text: string | Signal<string>, fill: string | Signal<string>, options?: Omit<TextSpan, "text" | "fill">): TextSpan;
|
|
200
|
-
declare function size(text: string | Signal<string>, fontSize: number | Signal<number>, options?: Omit<TextSpan, "text" | "fontSize">): TextSpan;
|
|
201
|
-
interface MarkOptions extends Omit<TextSpan, "text" | "mark" | "fill"> {
|
|
202
|
-
bg?: string | Signal<string>;
|
|
203
|
-
fill?: string | Signal<string>;
|
|
204
|
-
radius?: number;
|
|
205
|
-
paddingX?: number;
|
|
206
|
-
paddingY?: number;
|
|
207
|
-
}
|
|
208
|
-
declare function mark(text: string | Signal<string>, options?: MarkOptions): TextSpan;
|
|
209
|
-
declare function sup(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
210
|
-
declare function sub(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
211
|
-
declare function code(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
212
|
-
/**
|
|
213
|
-
* Normalizes string, TextSpan[], or array of mixed strings/spans into plain text and spans.
|
|
214
|
-
*/
|
|
215
|
-
declare function normalizeTextSpans(input: string | TextSpan[] | (string | TextSpan)[]): {
|
|
216
|
-
text: string;
|
|
217
|
-
spans?: TextSpan[];
|
|
218
|
-
};
|
|
219
|
-
/**
|
|
220
|
-
* Upfront parser for external CMS or subtitle strings containing basic tags
|
|
221
|
-
* (<b>, <i>, <span>, <color>, <mark>, <accent>, <code>, <sup>, <sub>).
|
|
222
|
-
*
|
|
223
|
-
* Compiles string markup into clean TextSpan[] before entering the composition pipeline.
|
|
224
|
-
*/
|
|
225
|
-
declare function parseMarkup(markup: string): TextSpan[];
|
|
226
|
-
//#endregion
|
|
227
|
-
//#region ../compositions/dist/program/index.d.mts
|
|
228
|
-
//#region src/program/schema.d.ts
|
|
229
|
-
|
|
230
|
-
/** number px | "auto" (intrinsic) | "fit" (shrink-wrap) | "fill" (parent extent). */
|
|
231
|
-
declare const SizeSpecSchema: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
|
|
232
|
-
fill: "fill";
|
|
233
|
-
auto: "auto";
|
|
234
|
-
fit: "fit";
|
|
235
|
-
}>, z.ZodCustom<unknown, unknown>]>;
|
|
236
|
-
type SizeSpec = z.infer<typeof SizeSpecSchema>;
|
|
237
|
-
declare const ShapeTypeSchema: z.ZodEnum<{
|
|
238
|
-
path: "path";
|
|
239
|
-
rect: "rect";
|
|
240
|
-
circle: "circle";
|
|
241
|
-
ellipse: "ellipse";
|
|
242
|
-
polygon: "polygon";
|
|
243
|
-
star: "star";
|
|
244
|
-
arrow: "arrow";
|
|
245
|
-
}>;
|
|
246
|
-
type ShapeType = z.infer<typeof ShapeTypeSchema>;
|
|
247
|
-
interface EffectSpec<TOp extends string = string> {
|
|
248
|
-
op: TOp;
|
|
249
|
-
[key: string]: unknown;
|
|
250
|
-
}
|
|
251
|
-
type ProgramEffect = Effect$1<object, string, EffectDomain> | EffectSpec | (Record<string, unknown> & {
|
|
252
|
-
op: string;
|
|
253
|
-
});
|
|
254
|
-
declare const AnimatablePropSchema: z.ZodEnum<{
|
|
255
|
-
x: "x";
|
|
256
|
-
y: "y";
|
|
257
|
-
width: "width";
|
|
258
|
-
height: "height";
|
|
259
|
-
rotation: "rotation";
|
|
260
|
-
scale: "scale";
|
|
261
|
-
opacity: "opacity";
|
|
262
|
-
trimStart: "trimStart";
|
|
263
|
-
trimEnd: "trimEnd";
|
|
264
|
-
text: "text";
|
|
265
|
-
fontSize: "fontSize";
|
|
266
|
-
fill: "fill";
|
|
267
|
-
letterSpacing: "letterSpacing";
|
|
268
|
-
padding: "padding";
|
|
269
|
-
strokeWidth: "strokeWidth";
|
|
270
|
-
borderColor: "borderColor";
|
|
271
|
-
borderWidth: "borderWidth";
|
|
272
|
-
volume: "volume";
|
|
273
|
-
color: "color";
|
|
274
|
-
offset: "offset";
|
|
275
|
-
hidden: "hidden";
|
|
276
|
-
muted: "muted";
|
|
277
|
-
gap: "gap";
|
|
278
|
-
borderRadius: "borderRadius";
|
|
279
|
-
d: "d";
|
|
280
|
-
trimOffset: "trimOffset";
|
|
281
|
-
strokeDashOffset: "strokeDashOffset";
|
|
282
|
-
cornerRadius: "cornerRadius";
|
|
283
|
-
starInnerRadiusRatio: "starInnerRadiusRatio";
|
|
284
|
-
fillColor: "fillColor";
|
|
285
|
-
strokeColor: "strokeColor";
|
|
286
|
-
motionBlurShutter: "motionBlurShutter";
|
|
287
|
-
rangeStart: "rangeStart";
|
|
288
|
-
rangeEnd: "rangeEnd";
|
|
289
|
-
animatorRangeStart: "animatorRangeStart";
|
|
290
|
-
animatorRangeEnd: "animatorRangeEnd";
|
|
291
|
-
animatorOffset: "animatorOffset";
|
|
292
|
-
firstMargin: "firstMargin";
|
|
293
|
-
lastMargin: "lastMargin";
|
|
294
|
-
baselineShift: "baselineShift";
|
|
295
|
-
rotateX: "rotateX";
|
|
296
|
-
rotateY: "rotateY";
|
|
297
|
-
rotateZ: "rotateZ";
|
|
298
|
-
perspective: "perspective";
|
|
299
|
-
translateZ: "translateZ";
|
|
300
|
-
perspectiveOriginX: "perspectiveOriginX";
|
|
301
|
-
perspectiveOriginY: "perspectiveOriginY";
|
|
302
|
-
cameraX: "cameraX";
|
|
303
|
-
cameraY: "cameraY";
|
|
304
|
-
cameraZ: "cameraZ";
|
|
305
|
-
targetX: "targetX";
|
|
306
|
-
targetY: "targetY";
|
|
307
|
-
targetZ: "targetZ";
|
|
308
|
-
cameraPitch: "cameraPitch";
|
|
309
|
-
cameraYaw: "cameraYaw";
|
|
310
|
-
cameraRoll: "cameraRoll";
|
|
311
|
-
cameraFov: "cameraFov";
|
|
312
|
-
cameraZoom: "cameraZoom";
|
|
313
|
-
focalLength: "focalLength";
|
|
314
|
-
focusDistance: "focusDistance";
|
|
315
|
-
fStop: "fStop";
|
|
316
|
-
maxBlurRadius: "maxBlurRadius";
|
|
317
|
-
shakeTranslation: "shakeTranslation";
|
|
318
|
-
shakeRotation: "shakeRotation";
|
|
319
|
-
orbitRadius: "orbitRadius";
|
|
320
|
-
orbitAzimuth: "orbitAzimuth";
|
|
321
|
-
orbitElevation: "orbitElevation";
|
|
322
|
-
z: "z";
|
|
323
|
-
scaleZ: "scaleZ";
|
|
324
|
-
intensity: "intensity";
|
|
325
|
-
angle: "angle";
|
|
326
|
-
radius: "radius";
|
|
327
|
-
penumbra: "penumbra";
|
|
328
|
-
decay: "decay";
|
|
329
|
-
shininess: "shininess";
|
|
330
|
-
roughness: "roughness";
|
|
331
|
-
specularIntensity: "specularIntensity";
|
|
332
|
-
ambientIntensity: "ambientIntensity";
|
|
333
|
-
metallic: "metallic";
|
|
334
|
-
ior: "ior";
|
|
335
|
-
dispersion: "dispersion";
|
|
336
|
-
transmission: "transmission";
|
|
337
|
-
fresnelPower: "fresnelPower";
|
|
338
|
-
envIntensity: "envIntensity";
|
|
339
|
-
animationProgress: "animationProgress";
|
|
340
|
-
animationTime: "animationTime";
|
|
341
|
-
animationSpeed: "animationSpeed";
|
|
342
|
-
wireframe: "wireframe";
|
|
343
|
-
scaleX: "scaleX";
|
|
344
|
-
scaleY: "scaleY";
|
|
345
|
-
emissive: "emissive";
|
|
346
|
-
emissiveIntensity: "emissiveIntensity";
|
|
347
|
-
exposure: "exposure";
|
|
348
|
-
}>;
|
|
349
|
-
type AnimatableProp = z.infer<typeof AnimatablePropSchema>;
|
|
350
|
-
type SpatialAnimatableProp = "x" | "y" | "z" | "scale" | "scaleX" | "scaleY" | "scaleZ" | "rotation" | "rotateX" | "rotateY" | "rotateZ" | "opacity" | "width" | "height" | "hidden" | "perspective" | "perspectiveOriginX" | "perspectiveOriginY" | "translateZ" | "motionBlurShutter";
|
|
351
|
-
type BoxAnimatableProp = SpatialAnimatableProp | "gap" | "padding" | "borderRadius" | "fill" | "color" | "borderColor" | "borderWidth" | "shininess" | "roughness" | "specularIntensity" | "ambientIntensity" | "metallic" | "ior" | "dispersion" | "transmission" | "fresnelPower" | "emissive" | "emissiveIntensity" | "envIntensity" | "exposure";
|
|
352
|
-
type TextAnimatableProp = SpatialAnimatableProp | "text" | "fontSize" | "letterSpacing" | "fill" | "color" | "rangeStart" | "rangeEnd" | "offset" | "animatorRangeStart" | "animatorRangeEnd" | "animatorOffset" | "firstMargin" | "lastMargin" | "baselineShift";
|
|
353
|
-
type ShapeAnimatableProp = SpatialAnimatableProp | "d" | "trimStart" | "trimEnd" | "trimOffset" | "strokeWidth" | "strokeDashOffset" | "cornerRadius" | "starInnerRadiusRatio" | "fillColor" | "strokeColor" | "borderColor" | "borderWidth";
|
|
354
|
-
type MediaAnimatableProp = SpatialAnimatableProp | "volume" | "muted";
|
|
355
|
-
type CameraAnimatableProp = SpatialAnimatableProp | "cameraX" | "cameraY" | "cameraZ" | "targetX" | "targetY" | "targetZ" | "cameraPitch" | "cameraYaw" | "cameraRoll" | "cameraFov" | "cameraZoom" | "focalLength" | "focusDistance" | "fStop" | "maxBlurRadius" | "shakeTranslation" | "shakeRotation" | "orbitRadius" | "orbitAzimuth" | "orbitElevation";
|
|
356
|
-
type LightAnimatableProp = SpatialAnimatableProp | "intensity" | "angle" | "radius" | "penumbra" | "decay" | "color";
|
|
357
|
-
type Model3DAnimatableProp = SpatialAnimatableProp | "animationProgress" | "animationTime" | "animationSpeed" | "wireframe";
|
|
358
|
-
type AnimatablePropsFor<TNode> = TNode extends {
|
|
359
|
-
kind: "text";
|
|
360
|
-
} ? TextAnimatableProp : TNode extends {
|
|
361
|
-
kind: "shape";
|
|
362
|
-
} ? ShapeAnimatableProp : TNode extends {
|
|
363
|
-
kind: "media";
|
|
364
|
-
} ? MediaAnimatableProp : TNode extends {
|
|
365
|
-
kind: "camera";
|
|
366
|
-
} ? CameraAnimatableProp : TNode extends {
|
|
367
|
-
kind: "light";
|
|
368
|
-
} ? LightAnimatableProp : TNode extends {
|
|
369
|
-
kind: "model";
|
|
370
|
-
} | {
|
|
371
|
-
kind: "model3d";
|
|
372
|
-
} ? Model3DAnimatableProp : TNode extends {
|
|
373
|
-
kind: "flex";
|
|
374
|
-
} | {
|
|
375
|
-
kind: "box";
|
|
376
|
-
} | {
|
|
377
|
-
kind: "block";
|
|
378
|
-
} ? BoxAnimatableProp : AnimatableProp;
|
|
379
|
-
declare const MatteModeSchema: z.ZodEnum<{
|
|
380
|
-
alpha: "alpha";
|
|
381
|
-
"alpha-inverted": "alpha-inverted";
|
|
382
|
-
luma: "luma";
|
|
383
|
-
"luma-inverted": "luma-inverted";
|
|
384
|
-
}>;
|
|
385
|
-
type MatteMode = z.infer<typeof MatteModeSchema>;
|
|
386
|
-
declare const MaterialTypeSchema: z.ZodEnum<{
|
|
387
|
-
metallic: "metallic";
|
|
388
|
-
lit: "lit";
|
|
389
|
-
unlit: "unlit";
|
|
390
|
-
toon: "toon";
|
|
391
|
-
glass: "glass";
|
|
392
|
-
acrylic: "acrylic";
|
|
393
|
-
frosted: "frosted";
|
|
394
|
-
}>;
|
|
395
|
-
type MaterialType = z.infer<typeof MaterialTypeSchema>;
|
|
396
|
-
declare const EaseRefSchema: z.ZodObject<{
|
|
397
|
-
name: z.ZodEnum<{
|
|
398
|
-
bounce: "bounce";
|
|
399
|
-
none: "none";
|
|
400
|
-
power1: "power1";
|
|
401
|
-
power2: "power2";
|
|
402
|
-
power3: "power3";
|
|
403
|
-
sine: "sine";
|
|
404
|
-
circ: "circ";
|
|
405
|
-
expo: "expo";
|
|
406
|
-
back: "back";
|
|
407
|
-
elastic: "elastic";
|
|
408
|
-
spring: "spring";
|
|
409
|
-
cubic: "cubic";
|
|
410
|
-
hold: "hold";
|
|
411
|
-
}>;
|
|
412
|
-
dir: z.ZodEnum<{
|
|
413
|
-
out: "out";
|
|
414
|
-
in: "in";
|
|
415
|
-
inOut: "inOut";
|
|
416
|
-
}>;
|
|
417
|
-
params: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
418
|
-
}, z.core.$strict>;
|
|
419
|
-
type EaseRef = z.infer<typeof EaseRefSchema>;
|
|
420
|
-
declare const KeyframeSchema: z.ZodObject<{
|
|
421
|
-
id: z.ZodString;
|
|
422
|
-
frame: z.ZodNumber;
|
|
423
|
-
value: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
|
|
424
|
-
ease: z.ZodOptional<z.ZodObject<{
|
|
425
|
-
name: z.ZodEnum<{
|
|
426
|
-
bounce: "bounce";
|
|
427
|
-
none: "none";
|
|
428
|
-
power1: "power1";
|
|
429
|
-
power2: "power2";
|
|
430
|
-
power3: "power3";
|
|
431
|
-
sine: "sine";
|
|
432
|
-
circ: "circ";
|
|
433
|
-
expo: "expo";
|
|
434
|
-
back: "back";
|
|
435
|
-
elastic: "elastic";
|
|
436
|
-
spring: "spring";
|
|
437
|
-
cubic: "cubic";
|
|
438
|
-
hold: "hold";
|
|
439
|
-
}>;
|
|
440
|
-
dir: z.ZodEnum<{
|
|
441
|
-
out: "out";
|
|
442
|
-
in: "in";
|
|
443
|
-
inOut: "inOut";
|
|
444
|
-
}>;
|
|
445
|
-
params: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
446
|
-
}, z.core.$strict>>;
|
|
447
|
-
presetGroupId: z.ZodOptional<z.ZodString>;
|
|
448
|
-
presetType: z.ZodOptional<z.ZodString>;
|
|
449
|
-
spatialTangentIn: z.ZodOptional<z.ZodObject<{
|
|
450
|
-
x: z.ZodNumber;
|
|
451
|
-
y: z.ZodNumber;
|
|
452
|
-
}, z.core.$strip>>;
|
|
453
|
-
spatialTangentOut: z.ZodOptional<z.ZodObject<{
|
|
454
|
-
x: z.ZodNumber;
|
|
455
|
-
y: z.ZodNumber;
|
|
456
|
-
}, z.core.$strip>>;
|
|
457
|
-
}, z.core.$strict>;
|
|
458
|
-
type Keyframe = z.infer<typeof KeyframeSchema>;
|
|
459
|
-
declare const RawTrackSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
460
|
-
type: z.ZodLiteral<"keyframe">;
|
|
461
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
462
|
-
type: z.ZodLiteral<"signal">;
|
|
463
|
-
inputHandleId: z.ZodString;
|
|
464
|
-
multiplier: z.ZodDefault<z.ZodNumber>;
|
|
465
|
-
offset: z.ZodDefault<z.ZodNumber>;
|
|
466
|
-
smoothingWindowFrames: z.ZodDefault<z.ZodNumber>;
|
|
467
|
-
colorMode: z.ZodOptional<z.ZodEnum<{
|
|
468
|
-
interpolate: "interpolate";
|
|
469
|
-
hueRotate: "hueRotate";
|
|
470
|
-
threshold: "threshold";
|
|
471
|
-
}>>;
|
|
472
|
-
colorA: z.ZodOptional<z.ZodString>;
|
|
473
|
-
colorB: z.ZodOptional<z.ZodString>;
|
|
474
|
-
colorThreshold: z.ZodOptional<z.ZodNumber>;
|
|
475
|
-
signalMode: z.ZodOptional<z.ZodEnum<{
|
|
476
|
-
continuous: "continuous";
|
|
477
|
-
accumulate: "accumulate";
|
|
478
|
-
}>>;
|
|
479
|
-
threshold: z.ZodOptional<z.ZodNumber>;
|
|
480
|
-
accumulateThreshold: z.ZodOptional<z.ZodNumber>;
|
|
481
|
-
debounceFrames: z.ZodOptional<z.ZodNumber>;
|
|
482
|
-
channel: z.ZodOptional<z.ZodString>;
|
|
483
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
484
|
-
type: z.ZodLiteral<"wiggle">;
|
|
485
|
-
frequency: z.ZodDefault<z.ZodNumber>;
|
|
486
|
-
amplitude: z.ZodDefault<z.ZodNumber>;
|
|
487
|
-
octaves: z.ZodDefault<z.ZodNumber>;
|
|
488
|
-
seed: z.ZodDefault<z.ZodNumber>;
|
|
489
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
490
|
-
type: z.ZodLiteral<"springOvershoot">;
|
|
491
|
-
damping: z.ZodDefault<z.ZodNumber>;
|
|
492
|
-
stiffness: z.ZodDefault<z.ZodNumber>;
|
|
493
|
-
mass: z.ZodDefault<z.ZodNumber>;
|
|
494
|
-
}, z.core.$strip>], "type">;
|
|
495
|
-
type TrackSource = z.infer<typeof RawTrackSourceSchema>;
|
|
496
|
-
declare const AnimationTrackSchema: z.ZodObject<{
|
|
497
|
-
id: z.ZodString;
|
|
498
|
-
prop: z.ZodEnum<{
|
|
499
|
-
x: "x";
|
|
500
|
-
y: "y";
|
|
501
|
-
width: "width";
|
|
502
|
-
height: "height";
|
|
503
|
-
rotation: "rotation";
|
|
504
|
-
scale: "scale";
|
|
505
|
-
opacity: "opacity";
|
|
506
|
-
trimStart: "trimStart";
|
|
507
|
-
trimEnd: "trimEnd";
|
|
508
|
-
text: "text";
|
|
509
|
-
fontSize: "fontSize";
|
|
510
|
-
fill: "fill";
|
|
511
|
-
letterSpacing: "letterSpacing";
|
|
512
|
-
padding: "padding";
|
|
513
|
-
strokeWidth: "strokeWidth";
|
|
514
|
-
borderColor: "borderColor";
|
|
515
|
-
borderWidth: "borderWidth";
|
|
516
|
-
volume: "volume";
|
|
517
|
-
color: "color";
|
|
518
|
-
offset: "offset";
|
|
519
|
-
hidden: "hidden";
|
|
520
|
-
muted: "muted";
|
|
521
|
-
gap: "gap";
|
|
522
|
-
borderRadius: "borderRadius";
|
|
523
|
-
d: "d";
|
|
524
|
-
trimOffset: "trimOffset";
|
|
525
|
-
strokeDashOffset: "strokeDashOffset";
|
|
526
|
-
cornerRadius: "cornerRadius";
|
|
527
|
-
starInnerRadiusRatio: "starInnerRadiusRatio";
|
|
528
|
-
fillColor: "fillColor";
|
|
529
|
-
strokeColor: "strokeColor";
|
|
530
|
-
motionBlurShutter: "motionBlurShutter";
|
|
531
|
-
rangeStart: "rangeStart";
|
|
532
|
-
rangeEnd: "rangeEnd";
|
|
533
|
-
animatorRangeStart: "animatorRangeStart";
|
|
534
|
-
animatorRangeEnd: "animatorRangeEnd";
|
|
535
|
-
animatorOffset: "animatorOffset";
|
|
536
|
-
firstMargin: "firstMargin";
|
|
537
|
-
lastMargin: "lastMargin";
|
|
538
|
-
baselineShift: "baselineShift";
|
|
539
|
-
rotateX: "rotateX";
|
|
540
|
-
rotateY: "rotateY";
|
|
541
|
-
rotateZ: "rotateZ";
|
|
542
|
-
perspective: "perspective";
|
|
543
|
-
translateZ: "translateZ";
|
|
544
|
-
perspectiveOriginX: "perspectiveOriginX";
|
|
545
|
-
perspectiveOriginY: "perspectiveOriginY";
|
|
546
|
-
cameraX: "cameraX";
|
|
547
|
-
cameraY: "cameraY";
|
|
548
|
-
cameraZ: "cameraZ";
|
|
549
|
-
targetX: "targetX";
|
|
550
|
-
targetY: "targetY";
|
|
551
|
-
targetZ: "targetZ";
|
|
552
|
-
cameraPitch: "cameraPitch";
|
|
553
|
-
cameraYaw: "cameraYaw";
|
|
554
|
-
cameraRoll: "cameraRoll";
|
|
555
|
-
cameraFov: "cameraFov";
|
|
556
|
-
cameraZoom: "cameraZoom";
|
|
557
|
-
focalLength: "focalLength";
|
|
558
|
-
focusDistance: "focusDistance";
|
|
559
|
-
fStop: "fStop";
|
|
560
|
-
maxBlurRadius: "maxBlurRadius";
|
|
561
|
-
shakeTranslation: "shakeTranslation";
|
|
562
|
-
shakeRotation: "shakeRotation";
|
|
563
|
-
orbitRadius: "orbitRadius";
|
|
564
|
-
orbitAzimuth: "orbitAzimuth";
|
|
565
|
-
orbitElevation: "orbitElevation";
|
|
566
|
-
z: "z";
|
|
567
|
-
scaleZ: "scaleZ";
|
|
568
|
-
intensity: "intensity";
|
|
569
|
-
angle: "angle";
|
|
570
|
-
radius: "radius";
|
|
571
|
-
penumbra: "penumbra";
|
|
572
|
-
decay: "decay";
|
|
573
|
-
shininess: "shininess";
|
|
574
|
-
roughness: "roughness";
|
|
575
|
-
specularIntensity: "specularIntensity";
|
|
576
|
-
ambientIntensity: "ambientIntensity";
|
|
577
|
-
metallic: "metallic";
|
|
578
|
-
ior: "ior";
|
|
579
|
-
dispersion: "dispersion";
|
|
580
|
-
transmission: "transmission";
|
|
581
|
-
fresnelPower: "fresnelPower";
|
|
582
|
-
envIntensity: "envIntensity";
|
|
583
|
-
animationProgress: "animationProgress";
|
|
584
|
-
animationTime: "animationTime";
|
|
585
|
-
animationSpeed: "animationSpeed";
|
|
586
|
-
wireframe: "wireframe";
|
|
587
|
-
scaleX: "scaleX";
|
|
588
|
-
scaleY: "scaleY";
|
|
589
|
-
emissive: "emissive";
|
|
590
|
-
emissiveIntensity: "emissiveIntensity";
|
|
591
|
-
exposure: "exposure";
|
|
592
|
-
}>;
|
|
593
|
-
source: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
594
|
-
type: z.ZodLiteral<"keyframe">;
|
|
595
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
596
|
-
type: z.ZodLiteral<"signal">;
|
|
597
|
-
inputHandleId: z.ZodString;
|
|
598
|
-
multiplier: z.ZodDefault<z.ZodNumber>;
|
|
599
|
-
offset: z.ZodDefault<z.ZodNumber>;
|
|
600
|
-
smoothingWindowFrames: z.ZodDefault<z.ZodNumber>;
|
|
601
|
-
colorMode: z.ZodOptional<z.ZodEnum<{
|
|
602
|
-
interpolate: "interpolate";
|
|
603
|
-
hueRotate: "hueRotate";
|
|
604
|
-
threshold: "threshold";
|
|
605
|
-
}>>;
|
|
606
|
-
colorA: z.ZodOptional<z.ZodString>;
|
|
607
|
-
colorB: z.ZodOptional<z.ZodString>;
|
|
608
|
-
colorThreshold: z.ZodOptional<z.ZodNumber>;
|
|
609
|
-
signalMode: z.ZodOptional<z.ZodEnum<{
|
|
610
|
-
continuous: "continuous";
|
|
611
|
-
accumulate: "accumulate";
|
|
612
|
-
}>>;
|
|
613
|
-
threshold: z.ZodOptional<z.ZodNumber>;
|
|
614
|
-
accumulateThreshold: z.ZodOptional<z.ZodNumber>;
|
|
615
|
-
debounceFrames: z.ZodOptional<z.ZodNumber>;
|
|
616
|
-
channel: z.ZodOptional<z.ZodString>;
|
|
617
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
618
|
-
type: z.ZodLiteral<"wiggle">;
|
|
619
|
-
frequency: z.ZodDefault<z.ZodNumber>;
|
|
620
|
-
amplitude: z.ZodDefault<z.ZodNumber>;
|
|
621
|
-
octaves: z.ZodDefault<z.ZodNumber>;
|
|
622
|
-
seed: z.ZodDefault<z.ZodNumber>;
|
|
623
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
624
|
-
type: z.ZodLiteral<"springOvershoot">;
|
|
625
|
-
damping: z.ZodDefault<z.ZodNumber>;
|
|
626
|
-
stiffness: z.ZodDefault<z.ZodNumber>;
|
|
627
|
-
mass: z.ZodDefault<z.ZodNumber>;
|
|
628
|
-
}, z.core.$strip>], "type">>;
|
|
629
|
-
keyframes: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
630
|
-
id: z.ZodString;
|
|
631
|
-
frame: z.ZodNumber;
|
|
632
|
-
value: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
|
|
633
|
-
ease: z.ZodOptional<z.ZodObject<{
|
|
634
|
-
name: z.ZodEnum<{
|
|
635
|
-
bounce: "bounce";
|
|
636
|
-
none: "none";
|
|
637
|
-
power1: "power1";
|
|
638
|
-
power2: "power2";
|
|
639
|
-
power3: "power3";
|
|
640
|
-
sine: "sine";
|
|
641
|
-
circ: "circ";
|
|
642
|
-
expo: "expo";
|
|
643
|
-
back: "back";
|
|
644
|
-
elastic: "elastic";
|
|
645
|
-
spring: "spring";
|
|
646
|
-
cubic: "cubic";
|
|
647
|
-
hold: "hold";
|
|
648
|
-
}>;
|
|
649
|
-
dir: z.ZodEnum<{
|
|
650
|
-
out: "out";
|
|
651
|
-
in: "in";
|
|
652
|
-
inOut: "inOut";
|
|
653
|
-
}>;
|
|
654
|
-
params: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
655
|
-
}, z.core.$strict>>;
|
|
656
|
-
presetGroupId: z.ZodOptional<z.ZodString>;
|
|
657
|
-
presetType: z.ZodOptional<z.ZodString>;
|
|
658
|
-
spatialTangentIn: z.ZodOptional<z.ZodObject<{
|
|
659
|
-
x: z.ZodNumber;
|
|
660
|
-
y: z.ZodNumber;
|
|
661
|
-
}, z.core.$strip>>;
|
|
662
|
-
spatialTangentOut: z.ZodOptional<z.ZodObject<{
|
|
663
|
-
x: z.ZodNumber;
|
|
664
|
-
y: z.ZodNumber;
|
|
665
|
-
}, z.core.$strip>>;
|
|
666
|
-
}, z.core.$strict>>>;
|
|
667
|
-
repeat: z.ZodOptional<z.ZodNumber>;
|
|
668
|
-
yoyo: z.ZodOptional<z.ZodBoolean>;
|
|
669
|
-
durationFrames: z.ZodOptional<z.ZodNumber>;
|
|
670
|
-
}, z.core.$strict>;
|
|
671
|
-
type BaseAnimationTrack = z.infer<typeof AnimationTrackSchema>;
|
|
672
|
-
type AnimationTrack<TProp extends AnimatableProp = AnimatableProp> = Omit<BaseAnimationTrack, "prop"> & {
|
|
673
|
-
prop: TProp;
|
|
674
|
-
};
|
|
675
|
-
declare const LayerAnimationSchema: z.ZodObject<{
|
|
676
|
-
tracks: z.ZodArray<z.ZodObject<{
|
|
677
|
-
id: z.ZodString;
|
|
678
|
-
prop: z.ZodEnum<{
|
|
679
|
-
x: "x";
|
|
680
|
-
y: "y";
|
|
681
|
-
width: "width";
|
|
682
|
-
height: "height";
|
|
683
|
-
rotation: "rotation";
|
|
684
|
-
scale: "scale";
|
|
685
|
-
opacity: "opacity";
|
|
686
|
-
trimStart: "trimStart";
|
|
687
|
-
trimEnd: "trimEnd";
|
|
688
|
-
text: "text";
|
|
689
|
-
fontSize: "fontSize";
|
|
690
|
-
fill: "fill";
|
|
691
|
-
letterSpacing: "letterSpacing";
|
|
692
|
-
padding: "padding";
|
|
693
|
-
strokeWidth: "strokeWidth";
|
|
694
|
-
borderColor: "borderColor";
|
|
695
|
-
borderWidth: "borderWidth";
|
|
696
|
-
volume: "volume";
|
|
697
|
-
color: "color";
|
|
698
|
-
offset: "offset";
|
|
699
|
-
hidden: "hidden";
|
|
700
|
-
muted: "muted";
|
|
701
|
-
gap: "gap";
|
|
702
|
-
borderRadius: "borderRadius";
|
|
703
|
-
d: "d";
|
|
704
|
-
trimOffset: "trimOffset";
|
|
705
|
-
strokeDashOffset: "strokeDashOffset";
|
|
706
|
-
cornerRadius: "cornerRadius";
|
|
707
|
-
starInnerRadiusRatio: "starInnerRadiusRatio";
|
|
708
|
-
fillColor: "fillColor";
|
|
709
|
-
strokeColor: "strokeColor";
|
|
710
|
-
motionBlurShutter: "motionBlurShutter";
|
|
711
|
-
rangeStart: "rangeStart";
|
|
712
|
-
rangeEnd: "rangeEnd";
|
|
713
|
-
animatorRangeStart: "animatorRangeStart";
|
|
714
|
-
animatorRangeEnd: "animatorRangeEnd";
|
|
715
|
-
animatorOffset: "animatorOffset";
|
|
716
|
-
firstMargin: "firstMargin";
|
|
717
|
-
lastMargin: "lastMargin";
|
|
718
|
-
baselineShift: "baselineShift";
|
|
719
|
-
rotateX: "rotateX";
|
|
720
|
-
rotateY: "rotateY";
|
|
721
|
-
rotateZ: "rotateZ";
|
|
722
|
-
perspective: "perspective";
|
|
723
|
-
translateZ: "translateZ";
|
|
724
|
-
perspectiveOriginX: "perspectiveOriginX";
|
|
725
|
-
perspectiveOriginY: "perspectiveOriginY";
|
|
726
|
-
cameraX: "cameraX";
|
|
727
|
-
cameraY: "cameraY";
|
|
728
|
-
cameraZ: "cameraZ";
|
|
729
|
-
targetX: "targetX";
|
|
730
|
-
targetY: "targetY";
|
|
731
|
-
targetZ: "targetZ";
|
|
732
|
-
cameraPitch: "cameraPitch";
|
|
733
|
-
cameraYaw: "cameraYaw";
|
|
734
|
-
cameraRoll: "cameraRoll";
|
|
735
|
-
cameraFov: "cameraFov";
|
|
736
|
-
cameraZoom: "cameraZoom";
|
|
737
|
-
focalLength: "focalLength";
|
|
738
|
-
focusDistance: "focusDistance";
|
|
739
|
-
fStop: "fStop";
|
|
740
|
-
maxBlurRadius: "maxBlurRadius";
|
|
741
|
-
shakeTranslation: "shakeTranslation";
|
|
742
|
-
shakeRotation: "shakeRotation";
|
|
743
|
-
orbitRadius: "orbitRadius";
|
|
744
|
-
orbitAzimuth: "orbitAzimuth";
|
|
745
|
-
orbitElevation: "orbitElevation";
|
|
746
|
-
z: "z";
|
|
747
|
-
scaleZ: "scaleZ";
|
|
748
|
-
intensity: "intensity";
|
|
749
|
-
angle: "angle";
|
|
750
|
-
radius: "radius";
|
|
751
|
-
penumbra: "penumbra";
|
|
752
|
-
decay: "decay";
|
|
753
|
-
shininess: "shininess";
|
|
754
|
-
roughness: "roughness";
|
|
755
|
-
specularIntensity: "specularIntensity";
|
|
756
|
-
ambientIntensity: "ambientIntensity";
|
|
757
|
-
metallic: "metallic";
|
|
758
|
-
ior: "ior";
|
|
759
|
-
dispersion: "dispersion";
|
|
760
|
-
transmission: "transmission";
|
|
761
|
-
fresnelPower: "fresnelPower";
|
|
762
|
-
envIntensity: "envIntensity";
|
|
763
|
-
animationProgress: "animationProgress";
|
|
764
|
-
animationTime: "animationTime";
|
|
765
|
-
animationSpeed: "animationSpeed";
|
|
766
|
-
wireframe: "wireframe";
|
|
767
|
-
scaleX: "scaleX";
|
|
768
|
-
scaleY: "scaleY";
|
|
769
|
-
emissive: "emissive";
|
|
770
|
-
emissiveIntensity: "emissiveIntensity";
|
|
771
|
-
exposure: "exposure";
|
|
772
|
-
}>;
|
|
773
|
-
source: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
774
|
-
type: z.ZodLiteral<"keyframe">;
|
|
775
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
776
|
-
type: z.ZodLiteral<"signal">;
|
|
777
|
-
inputHandleId: z.ZodString;
|
|
778
|
-
multiplier: z.ZodDefault<z.ZodNumber>;
|
|
779
|
-
offset: z.ZodDefault<z.ZodNumber>;
|
|
780
|
-
smoothingWindowFrames: z.ZodDefault<z.ZodNumber>;
|
|
781
|
-
colorMode: z.ZodOptional<z.ZodEnum<{
|
|
782
|
-
interpolate: "interpolate";
|
|
783
|
-
hueRotate: "hueRotate";
|
|
784
|
-
threshold: "threshold";
|
|
785
|
-
}>>;
|
|
786
|
-
colorA: z.ZodOptional<z.ZodString>;
|
|
787
|
-
colorB: z.ZodOptional<z.ZodString>;
|
|
788
|
-
colorThreshold: z.ZodOptional<z.ZodNumber>;
|
|
789
|
-
signalMode: z.ZodOptional<z.ZodEnum<{
|
|
790
|
-
continuous: "continuous";
|
|
791
|
-
accumulate: "accumulate";
|
|
792
|
-
}>>;
|
|
793
|
-
threshold: z.ZodOptional<z.ZodNumber>;
|
|
794
|
-
accumulateThreshold: z.ZodOptional<z.ZodNumber>;
|
|
795
|
-
debounceFrames: z.ZodOptional<z.ZodNumber>;
|
|
796
|
-
channel: z.ZodOptional<z.ZodString>;
|
|
797
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
798
|
-
type: z.ZodLiteral<"wiggle">;
|
|
799
|
-
frequency: z.ZodDefault<z.ZodNumber>;
|
|
800
|
-
amplitude: z.ZodDefault<z.ZodNumber>;
|
|
801
|
-
octaves: z.ZodDefault<z.ZodNumber>;
|
|
802
|
-
seed: z.ZodDefault<z.ZodNumber>;
|
|
803
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
804
|
-
type: z.ZodLiteral<"springOvershoot">;
|
|
805
|
-
damping: z.ZodDefault<z.ZodNumber>;
|
|
806
|
-
stiffness: z.ZodDefault<z.ZodNumber>;
|
|
807
|
-
mass: z.ZodDefault<z.ZodNumber>;
|
|
808
|
-
}, z.core.$strip>], "type">>;
|
|
809
|
-
keyframes: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
810
|
-
id: z.ZodString;
|
|
811
|
-
frame: z.ZodNumber;
|
|
812
|
-
value: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
|
|
813
|
-
ease: z.ZodOptional<z.ZodObject<{
|
|
814
|
-
name: z.ZodEnum<{
|
|
815
|
-
bounce: "bounce";
|
|
816
|
-
none: "none";
|
|
817
|
-
power1: "power1";
|
|
818
|
-
power2: "power2";
|
|
819
|
-
power3: "power3";
|
|
820
|
-
sine: "sine";
|
|
821
|
-
circ: "circ";
|
|
822
|
-
expo: "expo";
|
|
823
|
-
back: "back";
|
|
824
|
-
elastic: "elastic";
|
|
825
|
-
spring: "spring";
|
|
826
|
-
cubic: "cubic";
|
|
827
|
-
hold: "hold";
|
|
828
|
-
}>;
|
|
829
|
-
dir: z.ZodEnum<{
|
|
830
|
-
out: "out";
|
|
831
|
-
in: "in";
|
|
832
|
-
inOut: "inOut";
|
|
833
|
-
}>;
|
|
834
|
-
params: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
835
|
-
}, z.core.$strict>>;
|
|
836
|
-
presetGroupId: z.ZodOptional<z.ZodString>;
|
|
837
|
-
presetType: z.ZodOptional<z.ZodString>;
|
|
838
|
-
spatialTangentIn: z.ZodOptional<z.ZodObject<{
|
|
839
|
-
x: z.ZodNumber;
|
|
840
|
-
y: z.ZodNumber;
|
|
841
|
-
}, z.core.$strip>>;
|
|
842
|
-
spatialTangentOut: z.ZodOptional<z.ZodObject<{
|
|
843
|
-
x: z.ZodNumber;
|
|
844
|
-
y: z.ZodNumber;
|
|
845
|
-
}, z.core.$strip>>;
|
|
846
|
-
}, z.core.$strict>>>;
|
|
847
|
-
repeat: z.ZodOptional<z.ZodNumber>;
|
|
848
|
-
yoyo: z.ZodOptional<z.ZodBoolean>;
|
|
849
|
-
durationFrames: z.ZodOptional<z.ZodNumber>;
|
|
850
|
-
}, z.core.$strict>>;
|
|
851
|
-
frameStep: z.ZodOptional<z.ZodNumber>;
|
|
852
|
-
}, z.core.$strict>;
|
|
853
|
-
type BaseLayerAnimationSpec = z.infer<typeof LayerAnimationSchema>;
|
|
854
|
-
type LayerAnimationSpec<TProp extends AnimatableProp = AnimatableProp> = Omit<BaseLayerAnimationSpec, "tracks"> & {
|
|
855
|
-
tracks: AnimationTrack<TProp>[];
|
|
856
|
-
};
|
|
857
|
-
interface CompositionNodeBase {
|
|
858
|
-
id: string;
|
|
859
|
-
inputHandleId?: string;
|
|
860
|
-
position?: "relative" | "absolute";
|
|
861
|
-
x?: number | unknown;
|
|
862
|
-
y?: number | unknown;
|
|
863
|
-
width?: SizeSpec;
|
|
864
|
-
height?: SizeSpec;
|
|
865
|
-
grow?: number;
|
|
866
|
-
flexShrink?: number;
|
|
867
|
-
flexBasis?: number;
|
|
868
|
-
alignSelf?: "auto" | "start" | "center" | "end" | "stretch" | "baseline";
|
|
869
|
-
aspectRatio?: number;
|
|
870
|
-
zIndex?: number;
|
|
871
|
-
hidden?: boolean;
|
|
872
|
-
opacity?: number;
|
|
873
|
-
blendMode?: string;
|
|
874
|
-
rotation?: number;
|
|
875
|
-
scale?: number;
|
|
876
|
-
anchorX?: number;
|
|
877
|
-
anchorY?: number;
|
|
878
|
-
rotateX?: number;
|
|
879
|
-
rotateY?: number;
|
|
880
|
-
rotateZ?: number;
|
|
881
|
-
perspective?: number;
|
|
882
|
-
perspectiveOriginX?: number;
|
|
883
|
-
perspectiveOriginY?: number;
|
|
884
|
-
translateZ?: number;
|
|
885
|
-
backfaceVisibility?: "visible" | "hidden";
|
|
886
|
-
transformStyle?: "flat" | "preserve-3d";
|
|
887
|
-
is3D?: boolean;
|
|
888
|
-
z?: number | unknown;
|
|
889
|
-
scaleZ?: number;
|
|
890
|
-
twoSided?: boolean;
|
|
891
|
-
material?: MaterialType;
|
|
892
|
-
shininess?: number;
|
|
893
|
-
roughness?: number;
|
|
894
|
-
specularIntensity?: number;
|
|
895
|
-
metallic?: number;
|
|
896
|
-
ambientIntensity?: number;
|
|
897
|
-
ior?: number;
|
|
898
|
-
transmission?: number;
|
|
899
|
-
dispersion?: number;
|
|
900
|
-
fresnelPower?: number;
|
|
901
|
-
emissive?: string;
|
|
902
|
-
emissiveIntensity?: number;
|
|
903
|
-
castShadow?: boolean;
|
|
904
|
-
matte?: {
|
|
905
|
-
node: unknown;
|
|
906
|
-
mode?: MatteMode;
|
|
907
|
-
};
|
|
908
|
-
matteId?: string;
|
|
909
|
-
matteOf?: string;
|
|
910
|
-
matteMode?: MatteMode;
|
|
911
|
-
envIntensity?: number;
|
|
912
|
-
startFrame?: number;
|
|
913
|
-
durationFrames?: number;
|
|
914
|
-
motionBlurShutter?: number;
|
|
915
|
-
animation?: LayerAnimationSpec;
|
|
916
|
-
/** Attached effect chain. */
|
|
917
|
-
effects?: ProgramEffect[];
|
|
918
|
-
/** Crop options attached directly to the node. */
|
|
919
|
-
crop?: unknown;
|
|
920
|
-
vision?: unknown;
|
|
921
|
-
relighting?: unknown;
|
|
922
|
-
}
|
|
923
|
-
interface FlexNode extends CompositionNodeBase {
|
|
924
|
-
kind: "flex";
|
|
925
|
-
dir?: "row" | "column";
|
|
926
|
-
gap?: number;
|
|
927
|
-
padding?: number;
|
|
928
|
-
justify?: "start" | "center" | "end" | "space-between" | "space-around";
|
|
929
|
-
align?: "start" | "center" | "end" | "stretch";
|
|
930
|
-
wrap?: boolean;
|
|
931
|
-
staggerFrames?: number;
|
|
932
|
-
staggerDirection?: "forward" | "reverse" | "center-out";
|
|
933
|
-
overflow?: "visible" | "hidden";
|
|
934
|
-
background?: string;
|
|
935
|
-
borderRadius?: number;
|
|
936
|
-
borderColor?: string;
|
|
937
|
-
borderWidth?: number;
|
|
938
|
-
strokeAlign?: "inside" | "center" | "outside";
|
|
939
|
-
strokeRadius?: number;
|
|
940
|
-
children?: LayoutNode[];
|
|
941
|
-
}
|
|
942
|
-
interface BlockNode extends CompositionNodeBase {
|
|
943
|
-
kind: "block";
|
|
944
|
-
gap?: number;
|
|
945
|
-
padding?: number;
|
|
946
|
-
align?: "start" | "center" | "end" | "stretch";
|
|
947
|
-
staggerFrames?: number;
|
|
948
|
-
staggerDirection?: "forward" | "reverse" | "center-out";
|
|
949
|
-
overflow?: "visible" | "hidden";
|
|
950
|
-
background?: string;
|
|
951
|
-
borderRadius?: number;
|
|
952
|
-
borderColor?: string;
|
|
953
|
-
borderWidth?: number;
|
|
954
|
-
strokeAlign?: "inside" | "center" | "outside";
|
|
955
|
-
strokeRadius?: number;
|
|
956
|
-
children?: LayoutNode[];
|
|
957
|
-
}
|
|
958
|
-
interface BoxNode extends CompositionNodeBase {
|
|
959
|
-
kind: "box";
|
|
960
|
-
background?: string;
|
|
961
|
-
borderRadius?: number;
|
|
962
|
-
padding?: number;
|
|
963
|
-
staggerFrames?: number;
|
|
964
|
-
staggerDirection?: "forward" | "reverse" | "center-out";
|
|
965
|
-
overflow?: "visible" | "hidden";
|
|
966
|
-
borderColor?: string;
|
|
967
|
-
borderWidth?: number;
|
|
968
|
-
strokeAlign?: "inside" | "center" | "outside";
|
|
969
|
-
strokeRadius?: number;
|
|
970
|
-
children?: LayoutNode[];
|
|
971
|
-
}
|
|
972
|
-
declare const TextShadowSchema: z.ZodObject<{
|
|
973
|
-
color: z.ZodOptional<z.ZodString>;
|
|
974
|
-
offset: z.ZodOptional<z.ZodObject<{
|
|
975
|
-
x: z.ZodNumber;
|
|
976
|
-
y: z.ZodNumber;
|
|
977
|
-
}, z.core.$strip>>;
|
|
978
|
-
blurRadius: z.ZodOptional<z.ZodNumber>;
|
|
979
|
-
}, z.core.$strict>;
|
|
980
|
-
type TextShadow = z.infer<typeof TextShadowSchema>;
|
|
981
|
-
declare const TextAnimatorSchema: z.ZodObject<{
|
|
982
|
-
id: z.ZodString;
|
|
983
|
-
unit: z.ZodDefault<z.ZodEnum<{
|
|
984
|
-
character: "character";
|
|
985
|
-
word: "word";
|
|
986
|
-
line: "line";
|
|
987
|
-
}>>;
|
|
988
|
-
rangeStart: z.ZodDefault<z.ZodNumber>;
|
|
989
|
-
rangeEnd: z.ZodDefault<z.ZodNumber>;
|
|
990
|
-
offset: z.ZodDefault<z.ZodNumber>;
|
|
991
|
-
easing: z.ZodDefault<z.ZodString>;
|
|
992
|
-
transform: z.ZodOptional<z.ZodObject<{
|
|
993
|
-
x: z.ZodOptional<z.ZodNumber>;
|
|
994
|
-
y: z.ZodOptional<z.ZodNumber>;
|
|
995
|
-
scale: z.ZodOptional<z.ZodNumber>;
|
|
996
|
-
scaleX: z.ZodOptional<z.ZodNumber>;
|
|
997
|
-
scaleY: z.ZodOptional<z.ZodNumber>;
|
|
998
|
-
rotation: z.ZodOptional<z.ZodNumber>;
|
|
999
|
-
rotationX: z.ZodOptional<z.ZodNumber>;
|
|
1000
|
-
rotationY: z.ZodOptional<z.ZodNumber>;
|
|
1001
|
-
opacity: z.ZodOptional<z.ZodNumber>;
|
|
1002
|
-
blur: z.ZodOptional<z.ZodNumber>;
|
|
1003
|
-
color: z.ZodOptional<z.ZodString>;
|
|
1004
|
-
}, z.core.$strict>>;
|
|
1005
|
-
}, z.core.$strip>;
|
|
1006
|
-
type TextAnimator = z.infer<typeof TextAnimatorSchema>;
|
|
1007
|
-
declare const TextAnimator: {
|
|
1008
|
-
/**
|
|
1009
|
-
* Per-character staggered wave rise with baseline tilt and fade.
|
|
1010
|
-
*/
|
|
1011
|
-
waveRise(options?: {
|
|
1012
|
-
id?: string;
|
|
1013
|
-
unit?: "character" | "word" | "line";
|
|
1014
|
-
y?: number;
|
|
1015
|
-
rotationX?: number;
|
|
1016
|
-
opacity?: number;
|
|
1017
|
-
blur?: number;
|
|
1018
|
-
easing?: string;
|
|
1019
|
-
rangeStart?: number;
|
|
1020
|
-
rangeEnd?: number;
|
|
1021
|
-
offset?: number;
|
|
1022
|
-
}): TextAnimator;
|
|
1023
|
-
/**
|
|
1024
|
-
* Per-word or per-character pop / scale bounce.
|
|
1025
|
-
*/
|
|
1026
|
-
wordPop(options?: {
|
|
1027
|
-
id?: string;
|
|
1028
|
-
scale?: number;
|
|
1029
|
-
y?: number;
|
|
1030
|
-
easing?: string;
|
|
1031
|
-
}): TextAnimator;
|
|
1032
|
-
/**
|
|
1033
|
-
* Per-character cinematic optical blur to crisp reveal.
|
|
1034
|
-
*/
|
|
1035
|
-
blurIn(options?: {
|
|
1036
|
-
id?: string;
|
|
1037
|
-
unit?: "character" | "word";
|
|
1038
|
-
blur?: number;
|
|
1039
|
-
y?: number;
|
|
1040
|
-
opacity?: number;
|
|
1041
|
-
easing?: string;
|
|
1042
|
-
}): TextAnimator;
|
|
1043
|
-
/**
|
|
1044
|
-
* 3D letter flip (like airport split-flap display or 3D letter roll).
|
|
1045
|
-
*/
|
|
1046
|
-
flip3D(options?: {
|
|
1047
|
-
id?: string;
|
|
1048
|
-
unit?: "character" | "word";
|
|
1049
|
-
rotationX?: number;
|
|
1050
|
-
easing?: string;
|
|
1051
|
-
}): TextAnimator;
|
|
1052
|
-
/**
|
|
1053
|
-
* Color sweep passing across glyphs/words.
|
|
1054
|
-
*/
|
|
1055
|
-
colorSweep(options: {
|
|
1056
|
-
id?: string;
|
|
1057
|
-
color: string;
|
|
1058
|
-
unit?: "character" | "word";
|
|
1059
|
-
easing?: string;
|
|
1060
|
-
}): TextAnimator;
|
|
1061
|
-
};
|
|
1062
|
-
interface TextNode extends CompositionNodeBase {
|
|
1063
|
-
kind: "text";
|
|
1064
|
-
text?: string;
|
|
1065
|
-
spans?: TextSpan[];
|
|
1066
|
-
fontFamily?: string;
|
|
1067
|
-
fontSize?: number;
|
|
1068
|
-
fontWeight?: number | string;
|
|
1069
|
-
fontStyle?: string;
|
|
1070
|
-
fill?: string;
|
|
1071
|
-
align?: "start" | "center" | "end";
|
|
1072
|
-
/**
|
|
1073
|
-
* Base direction of each paragraph. "auto" (default) takes it from the
|
|
1074
|
-
* first strong character, so Arabic, Hebrew or Persian reads right to
|
|
1075
|
-
* left; "start"/"end" alignment follows it.
|
|
1076
|
-
*/
|
|
1077
|
-
direction?: "ltr" | "rtl" | "auto";
|
|
1078
|
-
verticalAlign?: "top" | "middle" | "bottom";
|
|
1079
|
-
lineHeight?: number;
|
|
1080
|
-
letterSpacing?: number;
|
|
1081
|
-
background?: string;
|
|
1082
|
-
borderRadius?: number;
|
|
1083
|
-
padding?: number;
|
|
1084
|
-
stroke?: string;
|
|
1085
|
-
strokeWidth?: number;
|
|
1086
|
-
strokeAlign?: "inside" | "center" | "outside";
|
|
1087
|
-
textShadow?: string;
|
|
1088
|
-
shadows?: TextShadow[];
|
|
1089
|
-
pathOptions?: TextPathOptions;
|
|
1090
|
-
typewriter?: TypewriterAnimator;
|
|
1091
|
-
marquee?: KineticMarqueeConfig;
|
|
1092
|
-
animators?: (TextAnimator | AETextAnimator | AdvancedTextAnimator)[];
|
|
1093
|
-
}
|
|
1094
|
-
interface MediaNode extends CompositionNodeBase {
|
|
1095
|
-
kind: "media";
|
|
1096
|
-
inputHandleId: string;
|
|
1097
|
-
src?: string;
|
|
1098
|
-
dataType?: string;
|
|
1099
|
-
fit?: "cover" | "contain" | "fill" | "none";
|
|
1100
|
-
dpr?: number;
|
|
1101
|
-
borderRadius?: number;
|
|
1102
|
-
borderColor?: string;
|
|
1103
|
-
borderWidth?: number;
|
|
1104
|
-
strokeAlign?: "inside" | "center" | "outside";
|
|
1105
|
-
strokeRadius?: number;
|
|
1106
|
-
volume?: number;
|
|
1107
|
-
muted?: boolean;
|
|
1108
|
-
/** Source in-point: seconds into the clip that play at the layer's startFrame. */
|
|
1109
|
-
trimStartSec?: number;
|
|
1110
|
-
fontFamily?: string;
|
|
1111
|
-
fontSize?: number;
|
|
1112
|
-
fontWeight?: number | string;
|
|
1113
|
-
fontStyle?: string;
|
|
1114
|
-
fill?: string;
|
|
1115
|
-
align?: "start" | "center" | "end";
|
|
1116
|
-
/** Caption text direction; see {@link TextNode.direction}. */
|
|
1117
|
-
direction?: "ltr" | "rtl" | "auto";
|
|
1118
|
-
verticalAlign?: "top" | "middle" | "bottom";
|
|
1119
|
-
lineHeight?: number;
|
|
1120
|
-
letterSpacing?: number;
|
|
1121
|
-
background?: string;
|
|
1122
|
-
padding?: number;
|
|
1123
|
-
stroke?: string;
|
|
1124
|
-
strokeWidth?: number;
|
|
1125
|
-
textShadow?: string;
|
|
1126
|
-
shadows?: TextShadow[];
|
|
1127
|
-
maxWidth?: number;
|
|
1128
|
-
}
|
|
1129
|
-
interface ShapeNode extends CompositionNodeBase {
|
|
1130
|
-
kind: "shape";
|
|
1131
|
-
shapeType?: ShapeType;
|
|
1132
|
-
borderRadius?: number;
|
|
1133
|
-
radiusTL?: number;
|
|
1134
|
-
radiusTR?: number;
|
|
1135
|
-
radiusBR?: number;
|
|
1136
|
-
radiusBL?: number;
|
|
1137
|
-
polygonSides?: number;
|
|
1138
|
-
starPoints?: number;
|
|
1139
|
-
starInnerRadiusRatio?: number;
|
|
1140
|
-
arrowHeadWidth?: number;
|
|
1141
|
-
arrowHeadLength?: number;
|
|
1142
|
-
arrowShaftWidth?: number;
|
|
1143
|
-
d?: string;
|
|
1144
|
-
fillType?: "solid" | "linear" | "radial" | "none";
|
|
1145
|
-
fillColor?: string;
|
|
1146
|
-
gradientEndColor?: string;
|
|
1147
|
-
gradientAngle?: number;
|
|
1148
|
-
strokeColor?: string;
|
|
1149
|
-
strokeWidth?: number;
|
|
1150
|
-
strokeDashArray?: string;
|
|
1151
|
-
strokeDashOffset?: number;
|
|
1152
|
-
strokeLineCap?: "butt" | "round" | "square";
|
|
1153
|
-
strokeLineJoin?: "miter" | "round" | "bevel";
|
|
1154
|
-
strokeAlign?: "inside" | "center" | "outside";
|
|
1155
|
-
trimStart?: number;
|
|
1156
|
-
trimEnd?: number;
|
|
1157
|
-
trimOffset?: number;
|
|
1158
|
-
}
|
|
1159
|
-
declare const CameraLensSchema: z.ZodObject<{
|
|
1160
|
-
focalLength: z.ZodDefault<z.ZodNumber>;
|
|
1161
|
-
fov: z.ZodOptional<z.ZodNumber>;
|
|
1162
|
-
sensorWidth: z.ZodDefault<z.ZodNumber>;
|
|
1163
|
-
near: z.ZodDefault<z.ZodNumber>;
|
|
1164
|
-
far: z.ZodDefault<z.ZodNumber>;
|
|
1165
|
-
zoom: z.ZodDefault<z.ZodNumber>;
|
|
1166
|
-
}, z.core.$strict>;
|
|
1167
|
-
type CameraLens = z.infer<typeof CameraLensSchema>;
|
|
1168
|
-
declare const CameraDoFSchema: z.ZodObject<{
|
|
1169
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1170
|
-
focusDistance: z.ZodDefault<z.ZodNumber>;
|
|
1171
|
-
fStop: z.ZodDefault<z.ZodNumber>;
|
|
1172
|
-
maxBlurRadius: z.ZodDefault<z.ZodNumber>;
|
|
1173
|
-
apertureBlades: z.ZodDefault<z.ZodNumber>;
|
|
1174
|
-
anamorphicRatio: z.ZodDefault<z.ZodNumber>;
|
|
1175
|
-
}, z.core.$strict>;
|
|
1176
|
-
/** Depth of field as authored: fields with schema defaults may be left out. */
|
|
1177
|
-
type CameraDoF = z.input<typeof CameraDoFSchema>;
|
|
1178
|
-
declare const CameraShakeSchema: z.ZodObject<{
|
|
1179
|
-
translationAmplitude: z.ZodDefault<z.ZodNumber>;
|
|
1180
|
-
rotationAmplitude: z.ZodDefault<z.ZodNumber>;
|
|
1181
|
-
frequency: z.ZodDefault<z.ZodNumber>;
|
|
1182
|
-
octaves: z.ZodDefault<z.ZodNumber>;
|
|
1183
|
-
seed: z.ZodDefault<z.ZodNumber>;
|
|
1184
|
-
}, z.core.$strict>;
|
|
1185
|
-
type CameraShake = z.infer<typeof CameraShakeSchema>;
|
|
1186
|
-
interface CameraNode {
|
|
1187
|
-
id: string;
|
|
1188
|
-
kind: "camera";
|
|
1189
|
-
mode?: "lookAt" | "free" | "orbit";
|
|
1190
|
-
x?: number;
|
|
1191
|
-
y?: number;
|
|
1192
|
-
z?: number;
|
|
1193
|
-
targetX?: number;
|
|
1194
|
-
targetY?: number;
|
|
1195
|
-
targetZ?: number;
|
|
1196
|
-
pitch?: number;
|
|
1197
|
-
yaw?: number;
|
|
1198
|
-
roll?: number;
|
|
1199
|
-
lens?: CameraLens;
|
|
1200
|
-
dof?: CameraDoF;
|
|
1201
|
-
shake?: CameraShake;
|
|
1202
|
-
startFrame?: number;
|
|
1203
|
-
durationFrames?: number;
|
|
1204
|
-
animation?: LayerAnimationSpec;
|
|
1205
|
-
}
|
|
1206
|
-
declare const CameraNodeSchema: z.ZodType<CameraNode>;
|
|
1207
|
-
type LightType = "ambient" | "directional" | "point" | "spot" | "environment";
|
|
1208
|
-
declare const LightTypeSchema: z.ZodEnum<{
|
|
1209
|
-
ambient: "ambient";
|
|
1210
|
-
directional: "directional";
|
|
1211
|
-
point: "point";
|
|
1212
|
-
spot: "spot";
|
|
1213
|
-
environment: "environment";
|
|
1214
|
-
}>;
|
|
1215
|
-
declare const EnvironmentPresetSchema: z.ZodEnum<{
|
|
1216
|
-
studio: "studio";
|
|
1217
|
-
soft: "soft";
|
|
1218
|
-
sunset: "sunset";
|
|
1219
|
-
night: "night";
|
|
1220
|
-
neutral: "neutral";
|
|
1221
|
-
}>;
|
|
1222
|
-
type EnvironmentPreset = z.infer<typeof EnvironmentPresetSchema>;
|
|
1223
|
-
declare const ToneMappingSchema: z.ZodEnum<{
|
|
1224
|
-
none: "none";
|
|
1225
|
-
neutral: "neutral";
|
|
1226
|
-
agx: "agx";
|
|
1227
|
-
aces: "aces";
|
|
1228
|
-
}>;
|
|
1229
|
-
type ToneMapping = z.infer<typeof ToneMappingSchema>;
|
|
1230
|
-
declare const EnvironmentFogSchema: z.ZodObject<{
|
|
1231
|
-
color: z.ZodOptional<z.ZodString>;
|
|
1232
|
-
start: z.ZodNumber;
|
|
1233
|
-
end: z.ZodNumber;
|
|
1234
|
-
opacity: z.ZodOptional<z.ZodNumber>;
|
|
1235
|
-
}, z.core.$strict>;
|
|
1236
|
-
type EnvironmentFog = z.infer<typeof EnvironmentFogSchema>;
|
|
1237
|
-
declare const BloomConfigSchema: z.ZodObject<{
|
|
1238
|
-
intensity: z.ZodOptional<z.ZodNumber>;
|
|
1239
|
-
threshold: z.ZodOptional<z.ZodNumber>;
|
|
1240
|
-
knee: z.ZodOptional<z.ZodNumber>;
|
|
1241
|
-
radius: z.ZodOptional<z.ZodNumber>;
|
|
1242
|
-
}, z.core.$strict>;
|
|
1243
|
-
type BloomConfig = z.infer<typeof BloomConfigSchema>;
|
|
1244
|
-
interface LightNode {
|
|
1245
|
-
id: string;
|
|
1246
|
-
kind: "light";
|
|
1247
|
-
lightType?: LightType;
|
|
1248
|
-
color?: string;
|
|
1249
|
-
intensity?: number;
|
|
1250
|
-
x?: number;
|
|
1251
|
-
y?: number;
|
|
1252
|
-
z?: number;
|
|
1253
|
-
targetX?: number;
|
|
1254
|
-
targetY?: number;
|
|
1255
|
-
targetZ?: number;
|
|
1256
|
-
direction?: [number, number, number];
|
|
1257
|
-
radius?: number;
|
|
1258
|
-
decay?: number;
|
|
1259
|
-
angle?: number;
|
|
1260
|
-
penumbra?: number;
|
|
1261
|
-
/** Directional / spot: render a shadow map (one shadow light per scene). */
|
|
1262
|
-
castShadow?: boolean;
|
|
1263
|
-
/** Shadow edge blur in shadow-map texels. Default 2.5. */
|
|
1264
|
-
shadowSoftness?: number;
|
|
1265
|
-
/** 0..1, how dark shadows get. Default 1. */
|
|
1266
|
-
shadowDarkness?: number;
|
|
1267
|
-
/** Shadow map resolution (texels per side). Default 2048. */
|
|
1268
|
-
shadowMapSize?: number;
|
|
1269
|
-
preset?: EnvironmentPreset;
|
|
1270
|
-
top?: string;
|
|
1271
|
-
horizon?: string;
|
|
1272
|
-
bottom?: string;
|
|
1273
|
-
softboxes?: number;
|
|
1274
|
-
rotation?: number;
|
|
1275
|
-
exposure?: number;
|
|
1276
|
-
toneMapping?: ToneMapping;
|
|
1277
|
-
fog?: EnvironmentFog;
|
|
1278
|
-
/** Glow around emissive surfaces and hot highlights: `true` or settings. */
|
|
1279
|
-
bloom?: boolean | BloomConfig;
|
|
1280
|
-
startFrame?: number;
|
|
1281
|
-
durationFrames?: number;
|
|
1282
|
-
animation?: LayerAnimationSpec;
|
|
1283
|
-
}
|
|
1284
|
-
declare const LightNodeSchema: z.ZodType<LightNode>;
|
|
1285
|
-
interface Model3DNode {
|
|
1286
|
-
id: string;
|
|
1287
|
-
kind: "model3d";
|
|
1288
|
-
src?: string;
|
|
1289
|
-
modelFormat?: "obj" | "fbx" | "gltf" | "glb" | "stl" | "ply" | "vox" | "3ds" | "off" | "auto";
|
|
1290
|
-
modelData?: unknown;
|
|
1291
|
-
animationName?: string;
|
|
1292
|
-
animationProgress?: number;
|
|
1293
|
-
animationTime?: number;
|
|
1294
|
-
animationSpeed?: number;
|
|
1295
|
-
loop?: boolean;
|
|
1296
|
-
x?: number;
|
|
1297
|
-
y?: number;
|
|
1298
|
-
z?: number;
|
|
1299
|
-
rotateX?: number;
|
|
1300
|
-
rotateY?: number;
|
|
1301
|
-
rotateZ?: number;
|
|
1302
|
-
scale?: number;
|
|
1303
|
-
scaleX?: number;
|
|
1304
|
-
scaleY?: number;
|
|
1305
|
-
scaleZ?: number;
|
|
1306
|
-
material?: MaterialType;
|
|
1307
|
-
shininess?: number;
|
|
1308
|
-
roughness?: number;
|
|
1309
|
-
specularIntensity?: number;
|
|
1310
|
-
ambientIntensity?: number;
|
|
1311
|
-
metallic?: number;
|
|
1312
|
-
color?: string;
|
|
1313
|
-
colorTint?: string;
|
|
1314
|
-
opacity?: number;
|
|
1315
|
-
twoSided?: boolean;
|
|
1316
|
-
wireframe?: boolean;
|
|
1317
|
-
is3D?: boolean;
|
|
1318
|
-
texture?: string;
|
|
1319
|
-
center?: boolean;
|
|
1320
|
-
normalizeSize?: number;
|
|
1321
|
-
startFrame?: number;
|
|
1322
|
-
durationFrames?: number;
|
|
1323
|
-
animation?: LayerAnimationSpec;
|
|
1324
|
-
audioDeform?: MeshAudioDeformConfig;
|
|
1325
|
-
text3dOptions?: unknown;
|
|
1326
|
-
/** Layer3D primitive options (roundedBox, sphere, cylinder) the mesh is rebuilt from when modelData is lost. */
|
|
1327
|
-
primitive3d?: unknown;
|
|
1328
|
-
}
|
|
1329
|
-
type LayoutNode = FlexNode | BlockNode | BoxNode | TextNode | MediaNode | ShapeNode | CameraNode | LightNode | Model3DNode;
|
|
1330
|
-
declare const FlexNodeSchema: z.ZodType<FlexNode>;
|
|
1331
|
-
declare const BoxNodeSchema: z.ZodType<BoxNode>;
|
|
1332
|
-
declare const TextSpanMarkSchema: z.ZodObject<{
|
|
1333
|
-
background: z.ZodOptional<z.ZodString>;
|
|
1334
|
-
borderRadius: z.ZodOptional<z.ZodNumber>;
|
|
1335
|
-
paddingX: z.ZodOptional<z.ZodNumber>;
|
|
1336
|
-
paddingY: z.ZodOptional<z.ZodNumber>;
|
|
1337
|
-
}, z.core.$strict>;
|
|
1338
|
-
declare const TextSpanSchema: z.ZodObject<{
|
|
1339
|
-
text: z.ZodUnion<readonly [z.ZodString, z.ZodCustom<{
|
|
1340
|
-
get: (ctx?: unknown) => string;
|
|
1341
|
-
}, {
|
|
1342
|
-
get: (ctx?: unknown) => string;
|
|
1343
|
-
}>]>;
|
|
1344
|
-
fontFamily: z.ZodOptional<z.ZodString>;
|
|
1345
|
-
fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodCustom<{
|
|
1346
|
-
get: (ctx?: unknown) => number;
|
|
1347
|
-
}, {
|
|
1348
|
-
get: (ctx?: unknown) => number;
|
|
1349
|
-
}>]>>;
|
|
1350
|
-
fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
1351
|
-
fontStyle: z.ZodOptional<z.ZodEnum<{
|
|
1352
|
-
normal: "normal";
|
|
1353
|
-
italic: "italic";
|
|
1354
|
-
}>>;
|
|
1355
|
-
fill: z.ZodOptional<z.ZodUnion<readonly [z.ZodOptional<z.ZodString>, z.ZodCustom<{
|
|
1356
|
-
get: (ctx?: unknown) => string;
|
|
1357
|
-
}, {
|
|
1358
|
-
get: (ctx?: unknown) => string;
|
|
1359
|
-
}>]>>;
|
|
1360
|
-
letterSpacing: z.ZodOptional<z.ZodNumber>;
|
|
1361
|
-
baselineShift: z.ZodOptional<z.ZodNumber>;
|
|
1362
|
-
opacity: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodCustom<{
|
|
1363
|
-
get: (ctx?: unknown) => number;
|
|
1364
|
-
}, {
|
|
1365
|
-
get: (ctx?: unknown) => number;
|
|
1366
|
-
}>]>>;
|
|
1367
|
-
mark: z.ZodOptional<z.ZodObject<{
|
|
1368
|
-
background: z.ZodOptional<z.ZodString>;
|
|
1369
|
-
borderRadius: z.ZodOptional<z.ZodNumber>;
|
|
1370
|
-
paddingX: z.ZodOptional<z.ZodNumber>;
|
|
1371
|
-
paddingY: z.ZodOptional<z.ZodNumber>;
|
|
1372
|
-
}, z.core.$strict>>;
|
|
1373
|
-
}, z.core.$strict>;
|
|
1374
|
-
declare const TextNodeSchema: z.ZodType<TextNode>;
|
|
1375
|
-
declare const MediaNodeSchema: z.ZodType<MediaNode>;
|
|
1376
|
-
declare const ShapeNodeSchema: z.ZodType<ShapeNode>;
|
|
1377
|
-
declare const ColorStopSchema: z.ZodObject<{
|
|
1378
|
-
offset: z.ZodNumber;
|
|
1379
|
-
color: z.ZodString;
|
|
1380
|
-
}, z.core.$strip>;
|
|
1381
|
-
type ColorStop = z.infer<typeof ColorStopSchema>;
|
|
1382
|
-
declare const Model3DNodeSchema: z.ZodType<Model3DNode>;
|
|
1383
|
-
declare const LayoutNodeSchema: z.ZodType<LayoutNode>;
|
|
1384
|
-
declare const CompositorProgramSchema: z.ZodObject<{
|
|
1385
|
-
width: z.ZodNumber;
|
|
1386
|
-
height: z.ZodNumber;
|
|
1387
|
-
backgroundColor: z.ZodOptional<z.ZodString>;
|
|
1388
|
-
volume: z.ZodDefault<z.ZodNumber>;
|
|
1389
|
-
fps: z.ZodDefault<z.ZodNumber>;
|
|
1390
|
-
mode: z.ZodDefault<z.ZodEnum<{
|
|
1391
|
-
Image: "Image";
|
|
1392
|
-
Video: "Video";
|
|
1393
|
-
}>>;
|
|
1394
|
-
antialias3d: z.ZodOptional<z.ZodBoolean>;
|
|
1395
|
-
layout: z.ZodDefault<z.ZodArray<z.ZodType<LayoutNode, unknown, z.core.$ZodTypeInternals<LayoutNode, unknown>>>>;
|
|
1396
|
-
fonts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1397
|
-
signals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1398
|
-
effects: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodCustom<Effect$1<object, string, EffectDomain>, Effect$1<object, string, EffectDomain>>, z.ZodObject<{
|
|
1399
|
-
op: z.ZodString;
|
|
1400
|
-
}, z.core.$loose>, z.ZodCustom<Effect$1<object, string, EffectDomain>, Effect$1<object, string, EffectDomain>>]>>>;
|
|
1401
|
-
vision: z.ZodOptional<z.ZodUnknown>;
|
|
1402
|
-
onRequestFrame: z.ZodOptional<z.ZodCustom<unknown, unknown>>;
|
|
1403
|
-
}, z.core.$strict>;
|
|
1404
|
-
type CompositorProgramConfig = z.infer<typeof CompositorProgramSchema>;
|
|
1405
|
-
//#endregion
|
|
1406
|
-
//#region src/utils/layout/resolve-layout.d.ts
|
|
1407
|
-
interface Rect {
|
|
1408
|
-
x: number;
|
|
1409
|
-
y: number;
|
|
1410
|
-
width: number;
|
|
1411
|
-
height: number;
|
|
1412
|
-
}
|
|
1413
|
-
interface LayoutResult {
|
|
1414
|
-
/** Final rect per node id (post-layout, pre-affine-transform). */
|
|
1415
|
-
rects: Record<string, Rect>;
|
|
1416
|
-
/** Resolved outer size per node id. */
|
|
1417
|
-
sizes: Record<string, {
|
|
1418
|
-
width: number;
|
|
1419
|
-
height: number;
|
|
1420
|
-
}>;
|
|
1421
|
-
}
|
|
1422
|
-
/**
|
|
1423
|
-
* Intrinsic ("auto"/"fit") size for a leaf node. Return null when the node
|
|
1424
|
-
* has no measurable content. In the compositor this is backed by text
|
|
1425
|
-
* measurement / media metadata — the layout pass never measures itself.
|
|
1426
|
-
*/
|
|
1427
|
-
type MeasureFn = (node: LayoutNode, constraintWidth?: number) => {
|
|
1428
|
-
width: number;
|
|
1429
|
-
height: number;
|
|
1430
|
-
} | null;
|
|
1431
|
-
interface LayoutInput {
|
|
1432
|
-
/** Document roots — the only structural input. Size comes from `viewport`. */
|
|
1433
|
-
layout: LayoutNode[];
|
|
1434
|
-
viewport: {
|
|
1435
|
-
width: number;
|
|
1436
|
-
height: number;
|
|
1437
|
-
};
|
|
1438
|
-
measure?: MeasureFn;
|
|
1439
|
-
}
|
|
1440
|
-
/**
|
|
1441
|
-
* Ensure the Yoga WASM module is loaded. Safe to call multiple times —
|
|
1442
|
-
* subsequent calls return the cached instance immediately.
|
|
1443
|
-
*/
|
|
1444
|
-
|
|
1445
|
-
/** Deterministic layout (synchronous): document + viewport (+ measure) → rects. */
|
|
1446
|
-
declare function computeLayoutSync(yoga: Yoga, input: LayoutInput): LayoutResult;
|
|
1447
|
-
/** Deterministic layout: document + viewport (+ measure) → rects. */
|
|
1448
|
-
declare function computeLayout(input: LayoutInput): Promise<LayoutResult>;
|
|
1449
|
-
//#endregion
|
|
1450
|
-
//#region src/program/animation.d.ts
|
|
1451
|
-
/**
|
|
1452
|
-
* One keyframe as a tuple: `[frame, value]` or `[frame, value, ease]`. The
|
|
1453
|
-
* ease shapes the motion arriving at this keyframe from the one before.
|
|
1454
|
-
*/
|
|
1455
|
-
type KeyframeTuple = readonly [frame: number, value: number | string | boolean, ease?: string | EaseRef];
|
|
1456
|
-
interface FromToOptions {
|
|
1457
|
-
from?: number;
|
|
1458
|
-
to?: number;
|
|
1459
|
-
start?: number;
|
|
1460
|
-
end?: number;
|
|
1461
|
-
fromFrame?: number;
|
|
1462
|
-
toFrame?: number;
|
|
1463
|
-
durationFrames?: number;
|
|
1464
|
-
ease?: string | EaseRef;
|
|
1465
|
-
}
|
|
1466
|
-
interface Tilt3DOptions {
|
|
1467
|
-
from?: {
|
|
1468
|
-
rotateX?: number;
|
|
1469
|
-
rotateY?: number;
|
|
1470
|
-
rotateZ?: number;
|
|
1471
|
-
translateZ?: number;
|
|
1472
|
-
perspective?: number;
|
|
1473
|
-
};
|
|
1474
|
-
to: {
|
|
1475
|
-
rotateX?: number;
|
|
1476
|
-
rotateY?: number;
|
|
1477
|
-
rotateZ?: number;
|
|
1478
|
-
translateZ?: number;
|
|
1479
|
-
perspective?: number;
|
|
1480
|
-
};
|
|
1481
|
-
start?: number;
|
|
1482
|
-
end?: number;
|
|
1483
|
-
fromFrame?: number;
|
|
1484
|
-
toFrame?: number;
|
|
1485
|
-
ease?: string | EaseRef;
|
|
1486
|
-
}
|
|
1487
|
-
interface SignalTrackOptions {
|
|
1488
|
-
multiplier?: number;
|
|
1489
|
-
offset?: number;
|
|
1490
|
-
smoothing?: number;
|
|
1491
|
-
channel?: string;
|
|
1492
|
-
mode?: "continuous" | "accumulate";
|
|
1493
|
-
threshold?: number;
|
|
1494
|
-
debounceFrames?: number;
|
|
1495
|
-
}
|
|
1496
|
-
interface ColorSignalOptions {
|
|
1497
|
-
colorA: string;
|
|
1498
|
-
colorB: string;
|
|
1499
|
-
/** Scales the signal before it picks a color (e.g. `1 / 900` for a speed in px/s). Default 1. */
|
|
1500
|
-
multiplier?: number;
|
|
1501
|
-
/** Added after `multiplier`. Default 0. */
|
|
1502
|
-
offset?: number;
|
|
1503
|
-
colorMode?: "interpolate" | "hueRotate" | "threshold";
|
|
1504
|
-
threshold?: number;
|
|
1505
|
-
smoothing?: number;
|
|
1506
|
-
}
|
|
1507
|
-
interface WiggleOptions {
|
|
1508
|
-
frequency?: number;
|
|
1509
|
-
amplitude?: number;
|
|
1510
|
-
octaves?: number;
|
|
1511
|
-
seed?: number;
|
|
1512
|
-
}
|
|
1513
|
-
interface SpringOptions {
|
|
1514
|
-
damping?: number;
|
|
1515
|
-
stiffness?: number;
|
|
1516
|
-
mass?: number;
|
|
1517
|
-
}
|
|
1518
|
-
interface PathLike3D {
|
|
1519
|
-
getPointAt(u: number): {
|
|
1520
|
-
position: [number, number, number];
|
|
1521
|
-
tangent?: [number, number, number];
|
|
1522
|
-
};
|
|
1523
|
-
getFrameAt?(u: number): {
|
|
1524
|
-
position: [number, number, number];
|
|
1525
|
-
tangent: [number, number, number];
|
|
1526
|
-
normal?: [number, number, number];
|
|
1527
|
-
binormal?: [number, number, number];
|
|
1528
|
-
rotation?: [number, number, number];
|
|
1529
|
-
};
|
|
1530
|
-
totalLength?: number;
|
|
1531
|
-
}
|
|
1532
|
-
interface FollowPathOptions {
|
|
1533
|
-
fromDistance?: number;
|
|
1534
|
-
toDistance?: number;
|
|
1535
|
-
fromProgress?: number;
|
|
1536
|
-
toProgress?: number;
|
|
1537
|
-
start?: number;
|
|
1538
|
-
end?: number;
|
|
1539
|
-
fromFrame?: number;
|
|
1540
|
-
toFrame?: number;
|
|
1541
|
-
autoOrient?: boolean;
|
|
1542
|
-
banking?: number;
|
|
1543
|
-
pitchOffset?: number;
|
|
1544
|
-
yawOffset?: number;
|
|
1545
|
-
rollOffset?: number;
|
|
1546
|
-
samples?: number;
|
|
1547
|
-
ease?: string | EaseRef;
|
|
1548
|
-
}
|
|
1549
|
-
interface CameraFollowPathOptions {
|
|
1550
|
-
fromProgress?: number;
|
|
1551
|
-
toProgress?: number;
|
|
1552
|
-
start?: number;
|
|
1553
|
-
end?: number;
|
|
1554
|
-
fromFrame?: number;
|
|
1555
|
-
toFrame?: number;
|
|
1556
|
-
mode?: "orientAlongPath" | "lookAtTarget" | "leadTarget";
|
|
1557
|
-
target?: [number, number, number];
|
|
1558
|
-
lookAhead?: number;
|
|
1559
|
-
samples?: number;
|
|
1560
|
-
ease?: string | EaseRef;
|
|
1561
|
-
}
|
|
1562
|
-
/**
|
|
1563
|
-
* Merges keyframe tracks that animate the same prop into one sorted track,
|
|
1564
|
-
* the later key winning on a shared frame. Procedural tracks (signal,
|
|
1565
|
-
* wiggle, spring…) pass through untouched.
|
|
1566
|
-
*/
|
|
1567
|
-
declare function mergeAnimationTracks(tracks: readonly AnimationTrack[]): AnimationTrack[];
|
|
1568
|
-
/**
|
|
1569
|
-
* Fluent builder and runtime representation for layer animations.
|
|
1570
|
-
* Supports chainable keyframes, reactive signal binding, Perlin wiggles, and springs.
|
|
1571
|
-
*/
|
|
1572
|
-
declare class LayerAnimation<TProp extends AnimatableProp = AnimatableProp> implements LayerAnimationSpec<TProp> {
|
|
1573
|
-
tracks: AnimationTrack<TProp>[];
|
|
1574
|
-
/** Hold each value for this many frames (see {@link LayerAnimation.stepped}). */
|
|
1575
|
-
frameStep?: number;
|
|
1576
|
-
constructor(tracks?: AnimationTrack<TProp>[]);
|
|
1577
|
-
static create<P extends AnimatableProp = AnimatableProp>(): LayerAnimation<P>;
|
|
1578
|
-
/**
|
|
1579
|
-
* Stepped timing for the whole layer: every animated value is held for
|
|
1580
|
-
* `frames` frames ("on twos" = 2, "on threes" = 3), the choppy, hand-made
|
|
1581
|
-
* look of stop motion and cel animation. Applies to all of the layer's
|
|
1582
|
-
* tracks, including ones added by other `.animate()` calls.
|
|
1583
|
-
*/
|
|
1584
|
-
static stepped<P extends AnimatableProp = AnimatableProp>(frames?: number): LayerAnimation<P>;
|
|
1585
|
-
/** See {@link LayerAnimation.stepped}. */
|
|
1586
|
-
stepped(frames?: number): this;
|
|
1587
|
-
static fromTo<P extends AnimatableProp = AnimatableProp>(prop: P, fromValue: number | string | boolean, toValue: number | string | boolean, options?: FromToOptions): LayerAnimation<P>;
|
|
1588
|
-
/** A track from a list of `[frame, value, ease?]` keyframes; see {@link LayerAnimation.keys}. */
|
|
1589
|
-
static keys<P extends AnimatableProp = AnimatableProp>(prop: P, keyframes: readonly KeyframeTuple[]): LayerAnimation<P>;
|
|
1590
|
-
static signal<P extends AnimatableProp = AnimatableProp>(prop: P, signalOrHandleId: unknown, options?: SignalTrackOptions): LayerAnimation<P>;
|
|
1591
|
-
static colorSignal<P extends AnimatableProp = AnimatableProp>(prop: P, signalOrHandleId: unknown, options: ColorSignalOptions): LayerAnimation<P>;
|
|
1592
|
-
static kineticSweep(fromOffset?: number, toOffset?: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): LayerAnimation;
|
|
1593
|
-
static typewriter(startFrame?: number, endFrame?: number, ease?: string | EaseRef): LayerAnimation;
|
|
1594
|
-
static letterSpacing(fromSpacing: number, toSpacing: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): LayerAnimation;
|
|
1595
|
-
static wiggle(prop: AnimatableProp, options?: WiggleOptions): LayerAnimation;
|
|
1596
|
-
static spring(prop: AnimatableProp, options?: SpringOptions): LayerAnimation;
|
|
1597
|
-
static firstMargin(fromMargin: number, toMargin: number, options?: FromToOptions): LayerAnimation;
|
|
1598
|
-
static strokeWidth(fromWidth: number, toWidth: number, options?: FromToOptions): LayerAnimation;
|
|
1599
|
-
static rotateX(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
1600
|
-
static rotateY(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
1601
|
-
static rotateZ(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
1602
|
-
static rotation(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
1603
|
-
addTrack(track: AnimationTrack<TProp>): this;
|
|
1604
|
-
/**
|
|
1605
|
-
* Creates a keyframed track animating from fromValue to toValue.
|
|
1606
|
-
*/
|
|
1607
|
-
fromTo(prop: AnimatableProp, fromValue: number | string | boolean, toValue: number | string | boolean, options?: FromToOptions): this;
|
|
1608
|
-
/**
|
|
1609
|
-
* Appends a keyframe to an existing track for prop, or creates a new track.
|
|
1610
|
-
*/
|
|
1611
|
-
keyframe(prop: AnimatableProp, frame: number, value: number | string | boolean, ease?: string | EaseRef): this;
|
|
1612
|
-
/**
|
|
1613
|
-
* Adds several keyframes to prop's track at once:
|
|
1614
|
-
* `.keys("scale", [[0, 0], [12, 1.1, "back.out"], [20, 1]])`.
|
|
1615
|
-
* Frames are rounded to whole frames, so beat math can be passed straight in.
|
|
1616
|
-
*/
|
|
1617
|
-
keys(prop: AnimatableProp, keyframes: readonly KeyframeTuple[]): this;
|
|
1618
|
-
/**
|
|
1619
|
-
* Animates opacity from 0 to 1 between startFrame and endFrame.
|
|
1620
|
-
*/
|
|
1621
|
-
fadeIn(startFrame?: number, endFrame?: number, ease?: string | EaseRef): this;
|
|
1622
|
-
/**
|
|
1623
|
-
* Animates opacity from 1 to 0 between startFrame and endFrame.
|
|
1624
|
-
*/
|
|
1625
|
-
fadeOut(startFrame: number, endFrame: number, ease?: string | EaseRef): this;
|
|
1626
|
-
/**
|
|
1627
|
-
* Slides in Y coordinate from fromY to toY.
|
|
1628
|
-
*/
|
|
1629
|
-
slideInY(fromY: number, toY: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): this;
|
|
1630
|
-
/**
|
|
1631
|
-
* Slides in X coordinate from fromX to toX.
|
|
1632
|
-
*/
|
|
1633
|
-
slideInX(fromX: number, toX: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): this;
|
|
1634
|
-
/**
|
|
1635
|
-
* Sweeps kinetic typography animator offset from fromOffset to toOffset.
|
|
1636
|
-
* Cascades per-glyph or per-word transforms across the text.
|
|
1637
|
-
*/
|
|
1638
|
-
kineticSweep(fromOffset?: number, toOffset?: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): this;
|
|
1639
|
-
/**
|
|
1640
|
-
* Progressive character write-on / typewriter text reveal.
|
|
1641
|
-
*/
|
|
1642
|
-
typewriter(startFrame?: number, endFrame?: number, ease?: string | EaseRef): this;
|
|
1643
|
-
/**
|
|
1644
|
-
* Animates letter-spacing (tracking expansion or compression).
|
|
1645
|
-
*/
|
|
1646
|
-
letterSpacing(fromSpacing: number, toSpacing: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): this;
|
|
1647
|
-
/**
|
|
1648
|
-
* Animates text position along a path via First Margin.
|
|
1649
|
-
*/
|
|
1650
|
-
firstMargin(fromMargin: number, toMargin: number, options?: FromToOptions): this;
|
|
1651
|
-
/**
|
|
1652
|
-
* Animates Last Margin spatial limit along a path.
|
|
1653
|
-
*/
|
|
1654
|
-
lastMargin(fromMargin: number, toMargin: number, options?: FromToOptions): this;
|
|
1655
|
-
/**
|
|
1656
|
-
* Animates baseline shift perpendicular to curve tangent.
|
|
1657
|
-
*/
|
|
1658
|
-
baselineShift(fromShift: number, toShift: number, options?: FromToOptions): this;
|
|
1659
|
-
/**
|
|
1660
|
-
* Animate rotateX from fromAngle to toAngle.
|
|
1661
|
-
*/
|
|
1662
|
-
rotateX(fromAngle: number, toAngle: number, options?: FromToOptions): this;
|
|
1663
|
-
/**
|
|
1664
|
-
* Animate rotateY from fromAngle to toAngle.
|
|
1665
|
-
*/
|
|
1666
|
-
rotateY(fromAngle: number, toAngle: number, options?: FromToOptions): this;
|
|
1667
|
-
/**
|
|
1668
|
-
* Animate rotateZ from fromAngle to toAngle.
|
|
1669
|
-
*/
|
|
1670
|
-
rotateZ(fromAngle: number, toAngle: number, options?: FromToOptions): this;
|
|
1671
|
-
/**
|
|
1672
|
-
* Animate perspective camera distance in pixels.
|
|
1673
|
-
*/
|
|
1674
|
-
perspective(fromDist: number, toDist: number, options?: FromToOptions): this;
|
|
1675
|
-
/**
|
|
1676
|
-
* Animate depth translation (translateZ) in pixels.
|
|
1677
|
-
*/
|
|
1678
|
-
translateZ(fromZ: number, toZ: number, options?: FromToOptions): this;
|
|
1679
|
-
/**
|
|
1680
|
-
* Composite helper to tilt a container across multiple 3D axes simultaneously.
|
|
1681
|
-
*/
|
|
1682
|
-
tilt3D(options: Tilt3DOptions): this;
|
|
1683
|
-
/**
|
|
1684
|
-
* Binds an animatable property to a reactive continuous Signal (e.g. LFO, speech energy, audio pitch).
|
|
1685
|
-
*
|
|
1686
|
-
* `signalOrHandleId` is either a signal object (`Signal.fromArray`,
|
|
1687
|
-
* `Signal.builder`, an audio channel …) — carried on the track and
|
|
1688
|
-
* registered with the program automatically — or the name of a signal
|
|
1689
|
-
* registered with `comp.addSignal(name, signal)`.
|
|
1690
|
-
*/
|
|
1691
|
-
signal(prop: AnimatableProp, signalOrHandleId: unknown, options?: SignalTrackOptions): this;
|
|
1692
|
-
/**
|
|
1693
|
-
* Modulates color interpolation based on an active signal (object or
|
|
1694
|
-
* registered name, as in {@link LayerAnimation.signal}).
|
|
1695
|
-
*/
|
|
1696
|
-
colorSignal(prop: AnimatableProp, signalOrHandleId: unknown, options: ColorSignalOptions): this;
|
|
1697
|
-
/**
|
|
1698
|
-
* Adds organic Perlin noise wiggling to a property.
|
|
1699
|
-
*/
|
|
1700
|
-
wiggle(prop: AnimatableProp, options?: WiggleOptions): this;
|
|
1701
|
-
/**
|
|
1702
|
-
* Adds physical harmonic spring overshoot behavior to a property transition.
|
|
1703
|
-
*/
|
|
1704
|
-
spring(prop: AnimatableProp, options?: SpringOptions): this;
|
|
1705
|
-
/**
|
|
1706
|
-
* Follows a 2D or 3D path with constant arc-length velocity, automatic orientation,
|
|
1707
|
-
* banking into turns, and optional easing.
|
|
1708
|
-
*/
|
|
1709
|
-
followPath(path: PathLike3D, options?: FollowPathOptions): this;
|
|
1710
|
-
/**
|
|
1711
|
-
* Attaches this animation to a target LayoutNode and returns the node.
|
|
1712
|
-
*/
|
|
1713
|
-
applyTo<T extends {
|
|
1714
|
-
animation?: LayerAnimationSpec;
|
|
1715
|
-
}>(node: T): T;
|
|
1716
|
-
/**
|
|
1717
|
-
* Folds other animations into this one. Keyframe tracks on the same prop
|
|
1718
|
-
* merge into one track (a later key wins on a shared frame), so separate
|
|
1719
|
-
* behaviours — an entrance, presses, a wave — can be authored apart:
|
|
1720
|
-
* `LayerAnimation.merge(rainIn, presses, wave)`.
|
|
1721
|
-
*/
|
|
1722
|
-
merge(...others: Array<LayerAnimation | {
|
|
1723
|
-
tracks: AnimationTrack[];
|
|
1724
|
-
}>): this;
|
|
1725
|
-
static merge<P extends AnimatableProp = AnimatableProp>(...anims: Array<LayerAnimation<P> | {
|
|
1726
|
-
tracks: AnimationTrack<P>[];
|
|
1727
|
-
}>): LayerAnimation<P>;
|
|
1728
|
-
/**
|
|
1729
|
-
* Returns the validated LayerAnimation specification object.
|
|
1730
|
-
*/
|
|
1731
|
-
toSpec(): LayerAnimationSpec<TProp>;
|
|
1732
|
-
toJSON(): LayerAnimationSpec<TProp>;
|
|
1733
|
-
}
|
|
1734
|
-
interface DollyOptions {
|
|
1735
|
-
fromDistance: number;
|
|
1736
|
-
toDistance: number;
|
|
1737
|
-
start?: number;
|
|
1738
|
-
end?: number;
|
|
1739
|
-
fromFrame?: number;
|
|
1740
|
-
toFrame?: number;
|
|
1741
|
-
ease?: string;
|
|
1742
|
-
}
|
|
1743
|
-
interface OrbitOptions {
|
|
1744
|
-
radius?: {
|
|
1745
|
-
from?: number;
|
|
1746
|
-
to: number;
|
|
1747
|
-
};
|
|
1748
|
-
azimuth?: {
|
|
1749
|
-
from?: number;
|
|
1750
|
-
to: number;
|
|
1751
|
-
};
|
|
1752
|
-
elevation?: {
|
|
1753
|
-
from?: number;
|
|
1754
|
-
to: number;
|
|
1755
|
-
};
|
|
1756
|
-
start?: number;
|
|
1757
|
-
end?: number;
|
|
1758
|
-
fromFrame?: number;
|
|
1759
|
-
toFrame?: number;
|
|
1760
|
-
ease?: string;
|
|
1761
|
-
}
|
|
1762
|
-
interface RackFocusOptions {
|
|
1763
|
-
fromDistance: number;
|
|
1764
|
-
toDistance: number;
|
|
1765
|
-
fromFStop?: number;
|
|
1766
|
-
toFStop?: number;
|
|
1767
|
-
start?: number;
|
|
1768
|
-
end?: number;
|
|
1769
|
-
fromFrame?: number;
|
|
1770
|
-
toFrame?: number;
|
|
1771
|
-
ease?: string;
|
|
1772
|
-
}
|
|
1773
|
-
interface HandheldOptions {
|
|
1774
|
-
translationAmplitude: number;
|
|
1775
|
-
rotationAmplitude: number;
|
|
1776
|
-
start?: number;
|
|
1777
|
-
end?: number;
|
|
1778
|
-
fromFrame?: number;
|
|
1779
|
-
toFrame?: number;
|
|
1780
|
-
}
|
|
1781
|
-
declare class CameraAnimation extends LayerAnimation {
|
|
1782
|
-
static camera(): CameraAnimation;
|
|
1783
|
-
dolly(fromDistanceOrOptions: number | DollyOptions, toDistance?: number, options?: FromToOptions): this;
|
|
1784
|
-
orbit(options: OrbitOptions): this;
|
|
1785
|
-
truck(fromX: number, toX: number, options?: FromToOptions): this;
|
|
1786
|
-
pedestal(fromY: number, toY: number, options?: FromToOptions): this;
|
|
1787
|
-
pan(fromAngleDeg: number, toAngleDeg: number, options?: FromToOptions): this;
|
|
1788
|
-
tilt(fromAngleDeg: number, toAngleDeg: number, options?: FromToOptions): this;
|
|
1789
|
-
roll(fromAngleDeg: number, toAngleDeg: number, options?: FromToOptions): this;
|
|
1790
|
-
rackFocus(options: RackFocusOptions): this;
|
|
1791
|
-
handheld(options: HandheldOptions): this;
|
|
1792
|
-
/**
|
|
1793
|
-
* Animates camera eye and lookAt target along a 3D path with constant velocity,
|
|
1794
|
-
* leading target look-ahead, or path tangent orientation.
|
|
1795
|
-
*/
|
|
1796
|
-
followPath3D(path: PathLike3D, options?: CameraFollowPathOptions): this;
|
|
1797
|
-
}
|
|
1798
|
-
//#endregion
|
|
1799
|
-
//#region src/program/evaluator.d.ts
|
|
1800
|
-
type SignalDataSource = unknown;
|
|
1801
|
-
interface TrackEvaluationContext {
|
|
1802
|
-
/** Root frame (timeline frame). */
|
|
1803
|
-
rootFrame?: number;
|
|
1804
|
-
/** Layer start frame offset. */
|
|
1805
|
-
startFrame?: number;
|
|
1806
|
-
/** Base layer property fallback values. */
|
|
1807
|
-
baseValues?: Record<string, unknown>;
|
|
1808
|
-
/** Connected signal providers indexed by inputHandleId. */
|
|
1809
|
-
signals?: Record<string, SignalDataSource>;
|
|
1810
|
-
}
|
|
1811
|
-
/**
|
|
1812
|
-
* Procedural wiggle generator using multi-octave coherent 1D gradient noise.
|
|
1813
|
-
*/
|
|
1814
|
-
|
|
1815
|
-
/**
|
|
1816
|
-
* Evaluates an AnimationTrack at a given global or local frame.
|
|
1817
|
-
*/
|
|
1818
|
-
declare function evaluateTrackAtFrame(track: AnimationTrack, frame: number, fps?: number, context?: TrackEvaluationContext): number | boolean | string;
|
|
1819
|
-
/**
|
|
1820
|
-
* Evaluates all animation tracks for a layer at `frame`.
|
|
1821
|
-
*/
|
|
1822
|
-
declare function evaluateAnimationAtFrame(animation: LayerAnimationSpec | undefined, frame: number, fps?: number, context?: TrackEvaluationContext): Record<string, number | boolean | string>;
|
|
1823
|
-
//#endregion
|
|
1824
|
-
//#region src/program/lint.d.ts
|
|
1825
|
-
declare function lintComposition(config: Pick<CompositorProgramConfig, "width" | "height" | "layout"> & {
|
|
1826
|
-
backgroundColor?: string;
|
|
1827
|
-
}): RenderDiagnostic[];
|
|
1828
|
-
//#endregion
|
|
1829
|
-
//#region src/program/mattes.d.ts
|
|
1830
|
-
/** Returns the tree with every `matte` turned into a sibling matte layer. */
|
|
1831
|
-
declare function hoistMattes<T extends LayoutNode>(nodes: readonly T[]): T[];
|
|
1832
|
-
//#endregion
|
|
1833
|
-
//#region src/program/path-morph.d.ts
|
|
1834
|
-
/**
|
|
1835
|
-
* Shape morphing: interpolates between two SVG path strings.
|
|
1836
|
-
*
|
|
1837
|
-
* Both paths are flattened to polylines, resampled to the same number of
|
|
1838
|
-
* points by arc length, and the second is rotated (and reversed if it winds
|
|
1839
|
-
* the other way) so its points line up with the first's. Subpaths pair up in
|
|
1840
|
-
* order; a subpath with no partner grows from (or shrinks to) the center of
|
|
1841
|
-
* the one it pairs with. The result is a polygon path string.
|
|
1842
|
-
*/
|
|
1843
|
-
|
|
1844
|
-
//#endregion
|
|
1845
|
-
//#region src/program/sequence.d.ts
|
|
1846
|
-
/**
|
|
1847
|
-
* Camera Transition Type across scene boundaries.
|
|
1848
|
-
*
|
|
1849
|
-
* @deprecated Recorded on scenes but not rendered. Use framefields'
|
|
1850
|
-
* `Layer.sequence([...])` with `Transition.push` / `wipe` / `iris` /
|
|
1851
|
-
* `crossfade` / `zoom` / `whip`, which render as keyframes and mattes.
|
|
1852
|
-
*/
|
|
1853
|
-
declare const SceneTransitionTypeSchema: z.ZodEnum<{
|
|
1854
|
-
cut: "cut";
|
|
1855
|
-
carrierMatchCut: "carrierMatchCut";
|
|
1856
|
-
cameraWhip: "cameraWhip";
|
|
1857
|
-
focusPullDissolve: "focusPullDissolve";
|
|
1858
|
-
irisAperture: "irisAperture";
|
|
1859
|
-
pushDirectional: "pushDirectional";
|
|
1860
|
-
}>;
|
|
1861
|
-
type SceneTransitionType = z.infer<typeof SceneTransitionTypeSchema>;
|
|
1862
|
-
/**
|
|
1863
|
-
* Carrier Object Handoff Configuration Schema.
|
|
1864
|
-
*/
|
|
1865
|
-
declare const CarrierHandoffConfigSchema: z.ZodObject<{
|
|
1866
|
-
sourceLayerId: z.ZodString;
|
|
1867
|
-
targetLayerId: z.ZodString;
|
|
1868
|
-
mode: z.ZodDefault<z.ZodEnum<{
|
|
1869
|
-
exact: "exact";
|
|
1870
|
-
preserveVelocity: "preserveVelocity";
|
|
1871
|
-
morph: "morph";
|
|
1872
|
-
}>>;
|
|
1873
|
-
blendFrames: z.ZodDefault<z.ZodNumber>;
|
|
1874
|
-
}, z.core.$strict>;
|
|
1875
|
-
type CarrierHandoffConfig = z.infer<typeof CarrierHandoffConfigSchema>;
|
|
1876
|
-
/**
|
|
1877
|
-
* Individual Scene Definition Schema.
|
|
1878
|
-
*/
|
|
1879
|
-
declare const SceneDefinitionSchema: z.ZodObject<{
|
|
1880
|
-
id: z.ZodString;
|
|
1881
|
-
chapter: z.ZodDefault<z.ZodEnum<{
|
|
1882
|
-
hook: "hook";
|
|
1883
|
-
tension: "tension";
|
|
1884
|
-
solution: "solution";
|
|
1885
|
-
feature_spotlight: "feature_spotlight";
|
|
1886
|
-
outro: "outro";
|
|
1887
|
-
custom: "custom";
|
|
1888
|
-
}>>;
|
|
1889
|
-
durationMs: z.ZodOptional<z.ZodNumber>;
|
|
1890
|
-
durationFrames: z.ZodOptional<z.ZodNumber>;
|
|
1891
|
-
transitionOut: z.ZodDefault<z.ZodObject<{
|
|
1892
|
-
type: z.ZodDefault<z.ZodEnum<{
|
|
1893
|
-
cut: "cut";
|
|
1894
|
-
carrierMatchCut: "carrierMatchCut";
|
|
1895
|
-
cameraWhip: "cameraWhip";
|
|
1896
|
-
focusPullDissolve: "focusPullDissolve";
|
|
1897
|
-
irisAperture: "irisAperture";
|
|
1898
|
-
pushDirectional: "pushDirectional";
|
|
1899
|
-
}>>;
|
|
1900
|
-
durationFrames: z.ZodDefault<z.ZodNumber>;
|
|
1901
|
-
carrier: z.ZodOptional<z.ZodObject<{
|
|
1902
|
-
sourceLayerId: z.ZodString;
|
|
1903
|
-
targetLayerId: z.ZodString;
|
|
1904
|
-
mode: z.ZodDefault<z.ZodEnum<{
|
|
1905
|
-
exact: "exact";
|
|
1906
|
-
preserveVelocity: "preserveVelocity";
|
|
1907
|
-
morph: "morph";
|
|
1908
|
-
}>>;
|
|
1909
|
-
blendFrames: z.ZodDefault<z.ZodNumber>;
|
|
1910
|
-
}, z.core.$strict>>;
|
|
1911
|
-
whipDirection: z.ZodDefault<z.ZodEnum<{
|
|
1912
|
-
left: "left";
|
|
1913
|
-
right: "right";
|
|
1914
|
-
up: "up";
|
|
1915
|
-
down: "down";
|
|
1916
|
-
}>>;
|
|
1917
|
-
}, z.core.$strip>>;
|
|
1918
|
-
}, z.core.$loose>;
|
|
1919
|
-
type SceneDefinition = z.infer<typeof SceneDefinitionSchema>;
|
|
1920
|
-
interface CarrierState {
|
|
1921
|
-
x: number;
|
|
1922
|
-
y: number;
|
|
1923
|
-
scale: number;
|
|
1924
|
-
vx: number;
|
|
1925
|
-
vy: number;
|
|
1926
|
-
}
|
|
1927
|
-
declare function computeCarrierContinuity(stateAtCut: CarrierState, targetInitialState: Partial<CarrierState>): CarrierState;
|
|
1928
|
-
interface SequenceTimelineResult {
|
|
1929
|
-
totalFrames: number;
|
|
1930
|
-
totalDurationMs: number;
|
|
1931
|
-
sceneOffsets: Array<{
|
|
1932
|
-
sceneId: string;
|
|
1933
|
-
startFrame: number;
|
|
1934
|
-
durationFrames: number;
|
|
1935
|
-
}>;
|
|
1936
|
-
}
|
|
1937
|
-
/**
|
|
1938
|
-
* Calculates global scene offsets and handoff frames across a sequence.
|
|
1939
|
-
*/
|
|
1940
|
-
declare function calculateSequenceTimeline(scenes: Array<{
|
|
1941
|
-
id: string;
|
|
1942
|
-
durationFrames?: number;
|
|
1943
|
-
durationMs?: number;
|
|
1944
|
-
transitionOverlap?: number;
|
|
1945
|
-
transitionOut?: {
|
|
1946
|
-
durationFrames?: number;
|
|
1947
|
-
};
|
|
1948
|
-
}>, fps?: number): SequenceTimelineResult;
|
|
1949
|
-
interface SceneOptions {
|
|
1950
|
-
id: string;
|
|
1951
|
-
chapter?: "hook" | "tension" | "solution" | "feature_spotlight" | "outro" | "custom";
|
|
1952
|
-
durationMs?: number;
|
|
1953
|
-
durationFrames?: number;
|
|
1954
|
-
transitionOut?: {
|
|
1955
|
-
type?: SceneTransitionType;
|
|
1956
|
-
durationFrames?: number;
|
|
1957
|
-
carrier?: CarrierHandoffConfig;
|
|
1958
|
-
whipDirection?: "left" | "right" | "up" | "down";
|
|
1959
|
-
};
|
|
1960
|
-
layout?: LayoutNode[];
|
|
1961
|
-
}
|
|
1962
|
-
declare class Scene {
|
|
1963
|
-
id: string;
|
|
1964
|
-
chapter: "hook" | "tension" | "solution" | "feature_spotlight" | "outro" | "custom";
|
|
1965
|
-
durationMs?: number;
|
|
1966
|
-
durationFrames?: number;
|
|
1967
|
-
transitionOut: {
|
|
1968
|
-
type: SceneTransitionType;
|
|
1969
|
-
durationFrames: number;
|
|
1970
|
-
carrier?: CarrierHandoffConfig;
|
|
1971
|
-
whipDirection: "left" | "right" | "up" | "down";
|
|
1972
|
-
};
|
|
1973
|
-
layout: LayoutNode[];
|
|
1974
|
-
constructor(options: SceneOptions);
|
|
1975
|
-
static create(options: SceneOptions): Scene;
|
|
1976
|
-
}
|
|
1977
|
-
interface SequenceOptions {
|
|
1978
|
-
fps?: number;
|
|
1979
|
-
width?: number;
|
|
1980
|
-
height?: number;
|
|
1981
|
-
backgroundColor?: string;
|
|
1982
|
-
fonts?: string[];
|
|
1983
|
-
signals?: Record<string, unknown>;
|
|
1984
|
-
scenes?: Scene[];
|
|
1985
|
-
}
|
|
1986
|
-
declare class Sequence {
|
|
1987
|
-
fps: number;
|
|
1988
|
-
width: number;
|
|
1989
|
-
height: number;
|
|
1990
|
-
backgroundColor: string;
|
|
1991
|
-
fonts?: string[];
|
|
1992
|
-
signals?: Record<string, unknown>;
|
|
1993
|
-
private scenes;
|
|
1994
|
-
constructor(options?: SequenceOptions);
|
|
1995
|
-
static create(options?: SequenceOptions): Sequence;
|
|
1996
|
-
addScene(scene: Scene | SceneOptions): this;
|
|
1997
|
-
getScenes(): readonly Scene[];
|
|
1998
|
-
calculateTimeline(): SequenceTimelineResult;
|
|
1999
|
-
toProgram(): CompositorProgramConfig;
|
|
2000
|
-
}
|
|
2001
|
-
//#endregion
|
|
2002
|
-
//#region src/program/stagger.d.ts
|
|
2003
|
-
type StaggerDirection = "forward" | "reverse" | "center-out";
|
|
2004
|
-
/**
|
|
2005
|
-
* Calculates the frame delay offset for a child at `index` in a container of `totalCount` items.
|
|
2006
|
-
*/
|
|
2007
|
-
declare function computeStaggerDelay(index: number, totalCount: number, staggerFrames: number, direction?: StaggerDirection): number;
|
|
2008
|
-
/**
|
|
2009
|
-
* Applies stagger timing offsets to child nodes, returning cloned objects with adjusted `startFrame`.
|
|
2010
|
-
*/
|
|
2011
|
-
declare function applyStaggerToChildren<T extends {
|
|
2012
|
-
startFrame?: number;
|
|
2013
|
-
}>(children: T[], staggerFrames: number, direction?: StaggerDirection, baseOffset?: number): T[];
|
|
2014
|
-
//#endregion
|
|
2015
|
-
//#region src/program/to-virtual-media.d.ts
|
|
2016
|
-
interface CompositorToProgramOptions {
|
|
2017
|
-
isVideoMode: boolean;
|
|
2018
|
-
fps: number;
|
|
2019
|
-
/** Comp duration in ms (metadata only; derived upstream). */
|
|
2020
|
-
durationMs?: number;
|
|
2021
|
-
/** Bind a media node's `inputHandleId` to its graph source item. */
|
|
2022
|
-
resolveMedia?: (inputHandleId?: string) => VirtualMediaData | undefined;
|
|
2023
|
-
/** External signals mapped by inputHandleId. */
|
|
2024
|
-
signals?: Record<string, unknown>;
|
|
2025
|
-
/** Per-frame notification hook. */
|
|
2026
|
-
onRequestFrame?: ((ctx: FrameContext) => void) | unknown;
|
|
2027
|
-
/** Composition-wide effect chain (`comp.apply(effect)`). */
|
|
2028
|
-
effects?: ProgramEffect[];
|
|
2029
|
-
/** Composition-wide vision config or bundle. */
|
|
2030
|
-
vision?: unknown;
|
|
2031
|
-
}
|
|
2032
|
-
declare function compositorToProgram(config: CompositorProgramConfig, options: CompositorToProgramOptions): VirtualMediaData;
|
|
2033
|
-
/** Recursively gather every node op from a render tree (in order). */
|
|
2034
|
-
declare function collectNodeOps(nodes: VirtualMediaData[]): VirtualMediaData[];
|
|
2035
|
-
//#endregion
|
|
2036
|
-
//#region src/program/validate.d.ts
|
|
2037
|
-
//#endregion
|
|
2038
|
-
//#region src/chart.d.ts
|
|
2039
|
-
type ChartType = "line" | "area" | "bar" | "scatter" | "pie" | "donut" | "candlestick";
|
|
2040
|
-
type ChartX = number | string | Date;
|
|
2041
|
-
/** A plain value (x is its index or `categories[i]`), an `[x, y]` pair, or `{ x, y }`. */
|
|
2042
|
-
type ChartDatum = number | readonly [ChartX, number] | {
|
|
2043
|
-
x: ChartX;
|
|
2044
|
-
y: number;
|
|
2045
|
-
};
|
|
2046
|
-
interface ChartCandle {
|
|
2047
|
-
x: ChartX;
|
|
2048
|
-
open: number;
|
|
2049
|
-
high: number;
|
|
2050
|
-
low: number;
|
|
2051
|
-
close: number;
|
|
2052
|
-
}
|
|
2053
|
-
/** A pie or donut slice. */
|
|
2054
|
-
interface ChartSlice {
|
|
2055
|
-
label: string;
|
|
2056
|
-
value: number;
|
|
2057
|
-
color?: string;
|
|
2058
|
-
}
|
|
2059
|
-
interface ChartSeries {
|
|
2060
|
-
name?: string;
|
|
2061
|
-
/** Series type in a combined chart; defaults to the chart's `type`. */
|
|
2062
|
-
type?: Exclude<ChartType, "pie" | "donut">;
|
|
2063
|
-
data: readonly ChartDatum[] | readonly ChartCandle[];
|
|
2064
|
-
color?: string;
|
|
2065
|
-
/** Line width for line and area series. Default 3. */
|
|
2066
|
-
strokeWidth?: number;
|
|
2067
|
-
/** Line and area interpolation. Default "smooth". */
|
|
2068
|
-
curve?: "linear" | "smooth" | "step";
|
|
2069
|
-
/** Dot radius drawn on line points; scatter point radius. 0 hides line dots. */
|
|
2070
|
-
pointRadius?: number;
|
|
2071
|
-
}
|
|
2072
|
-
interface ChartAxisOptions {
|
|
2073
|
-
/** Show tick labels. Default true. */
|
|
2074
|
-
show?: boolean;
|
|
2075
|
-
/** Draw grid lines across the plot. Default true for y, false for x. */
|
|
2076
|
-
grid?: boolean;
|
|
2077
|
-
min?: number;
|
|
2078
|
-
max?: number;
|
|
2079
|
-
/** Approximate number of ticks. Default 5. */
|
|
2080
|
-
ticks?: number;
|
|
2081
|
-
/** A d3-format specifier such as ",.0f", "$.2s" or ".0%", or a function. */
|
|
2082
|
-
format?: string | ((value: ChartX) => string);
|
|
2083
|
-
}
|
|
2084
|
-
interface ChartAnimationOptions {
|
|
2085
|
-
/** Frame the reveal starts, relative to the chart's own start. Default 0. */
|
|
2086
|
-
start?: number;
|
|
2087
|
-
/** Frames each element takes to animate in. Default 30. */
|
|
2088
|
-
duration?: number;
|
|
2089
|
-
/** Frames between consecutive bars, points or slices. Default spreads them over `duration`. */
|
|
2090
|
-
stagger?: number;
|
|
2091
|
-
/** Easing for bars, points and slices. Default "power3.out". */
|
|
2092
|
-
ease?: string;
|
|
2093
|
-
}
|
|
2094
|
-
interface ChartPadding {
|
|
2095
|
-
top?: number;
|
|
2096
|
-
right?: number;
|
|
2097
|
-
bottom?: number;
|
|
2098
|
-
left?: number;
|
|
2099
|
-
}
|
|
2100
|
-
interface ChartOptions {
|
|
2101
|
-
/** Chart type, and the default for series without their own. Default "line". */
|
|
2102
|
-
type?: ChartType;
|
|
2103
|
-
width?: number;
|
|
2104
|
-
height?: number;
|
|
2105
|
-
series?: readonly ChartSeries[];
|
|
2106
|
-
/** Shorthand for a single series, or the slices of a pie or donut. */
|
|
2107
|
-
data?: readonly ChartDatum[] | readonly ChartCandle[] | readonly ChartSlice[];
|
|
2108
|
-
/** Labels for x positions when data are plain values; slice labels for pie charts. */
|
|
2109
|
-
categories?: readonly string[];
|
|
2110
|
-
/** Stack bar and area series instead of grouping or overlapping them. */
|
|
2111
|
-
stacked?: boolean;
|
|
2112
|
-
colors?: readonly string[];
|
|
2113
|
-
xAxis?: ChartAxisOptions;
|
|
2114
|
-
yAxis?: ChartAxisOptions;
|
|
2115
|
-
/** Space around the plot for axis labels and legend. Computed when omitted. */
|
|
2116
|
-
padding?: number | ChartPadding;
|
|
2117
|
-
fontFamily?: string;
|
|
2118
|
-
/** Axis, legend and value label size. Default 18. */
|
|
2119
|
-
fontSize?: number;
|
|
2120
|
-
/** Axis labels; when set, also the legend and value labels. */
|
|
2121
|
-
textColor?: string;
|
|
2122
|
-
gridColor?: string;
|
|
2123
|
-
background?: string;
|
|
2124
|
-
/** Show the series or slice legend. Default: on for several series and for pies. */
|
|
2125
|
-
legend?: boolean;
|
|
2126
|
-
/** Print values on bars and slices (pie values print as percentages). */
|
|
2127
|
-
valueLabels?: boolean;
|
|
2128
|
-
/** Donut hole as a fraction of the radius. Default 0.6 for "donut". */
|
|
2129
|
-
innerRadius?: number;
|
|
2130
|
-
/** Corner radius of bars and slices. Default 4. */
|
|
2131
|
-
cornerRadius?: number;
|
|
2132
|
-
upColor?: string;
|
|
2133
|
-
downColor?: string;
|
|
2134
|
-
/** Reveal animation, or `false` for a static chart. */
|
|
2135
|
-
animate?: false | ChartAnimationOptions;
|
|
2136
|
-
}
|
|
2137
|
-
declare const DEFAULT_CHART_COLORS: readonly ["#6366f1", "#22d3ee", "#f59e0b", "#ec4899", "#10b981", "#8b5cf6", "#f97316", "#3b82f6"];
|
|
2138
|
-
//#endregion
|
|
2139
|
-
//#region src/clip-vision.d.ts
|
|
2140
|
-
type PoseKeypointName = (typeof COCO17_KEYPOINT_NAMES)[number];
|
|
2141
|
-
interface ClipVisionOptions {
|
|
2142
|
-
/** Composition frame the clip's first frame plays on (default 0). */
|
|
2143
|
-
startFrame?: number;
|
|
2144
|
-
/** Seconds trimmed off the clip's start, as on its media layer (default 0). */
|
|
2145
|
-
trimStartSec?: number;
|
|
2146
|
-
/** Analysis frame rate (default: the composition's). */
|
|
2147
|
-
fps?: number;
|
|
2148
|
-
/** Track 17 COCO keypoints (default true). */
|
|
2149
|
-
pose?: boolean;
|
|
2150
|
-
/** Track the person's silhouette, dress and held things included (default true). */
|
|
2151
|
-
mask?: boolean;
|
|
2152
|
-
/** Silhouette cell size in source pixels (default 8: a 1920×1080 clip gives a 240×135 grid). */
|
|
2153
|
-
maskCell?: number;
|
|
2154
|
-
/** Keypoints are averaged over ±`smoothing` frames, weighted by confidence (default 2; 0 = raw). */
|
|
2155
|
-
smoothing?: number;
|
|
2156
|
-
variant?: VisionProps["variant"];
|
|
2157
|
-
confidence?: number;
|
|
2158
|
-
modelsDir?: string;
|
|
2159
|
-
baseUrl?: string;
|
|
2160
|
-
/**
|
|
2161
|
-
* Node: where results persist between runs. Default
|
|
2162
|
-
* `$FRAMEFIELDS_VISION_CACHE_DIR` or `~/.cache/framefields/vision`;
|
|
2163
|
-
* `false` keeps them in memory only. Browsers always keep them in memory.
|
|
2164
|
-
*/
|
|
2165
|
-
cacheDir?: string | false;
|
|
2166
|
-
}
|
|
2167
|
-
/** Where the clip sits in the composition, like a media layer's box and `fit`. */
|
|
2168
|
-
interface PersonPlacement {
|
|
2169
|
-
x?: number;
|
|
2170
|
-
y?: number;
|
|
2171
|
-
width: number;
|
|
2172
|
-
height: number;
|
|
2173
|
-
fit?: "cover" | "contain" | "fill";
|
|
2174
|
-
}
|
|
2175
|
-
interface FrameResult {
|
|
2176
|
-
/** 17 × [x, y, visibility], source px; null when no person was found. */
|
|
2177
|
-
kp: Float32Array | null;
|
|
2178
|
-
/** cellW × cellH, 0–255; null when no person was found. */
|
|
2179
|
-
mask: Uint8Array | null;
|
|
2180
|
-
}
|
|
2181
|
-
interface Transform {
|
|
2182
|
-
sx: number;
|
|
2183
|
-
sy: number;
|
|
2184
|
-
ox: number;
|
|
2185
|
-
oy: number;
|
|
2186
|
-
}
|
|
2187
|
-
/**
|
|
2188
|
-
* Vision results for one clip, computed per frame on demand and shared by
|
|
2189
|
-
* everything that reads the clip: physics, layout, signals. Unlike the
|
|
2190
|
-
* render-time `withVision`, which analyses a layer's previous rendered frame,
|
|
2191
|
-
* this analyses the clip's own frames, so a result exists before its frame
|
|
2192
|
-
* renders. The composition analyses what each frame needs just before
|
|
2193
|
-
* drawing it (and a live physics world before stepping), so preview and
|
|
2194
|
-
* export fill the cache as they play; nothing has to be analysed up front.
|
|
2195
|
-
*
|
|
2196
|
-
* Results depend only on the clip and settings, so they persist on disk in
|
|
2197
|
-
* Node: a second run, or a render after a preview, reuses them. A matte-mode
|
|
2198
|
-
* `withVision` layer of the same clip reuses them too (`keepSubjects`).
|
|
2199
|
-
*/
|
|
2200
|
-
declare class ClipVision implements ClipSubjectSource {
|
|
2201
|
-
readonly source: string;
|
|
2202
|
-
readonly fps: number;
|
|
2203
|
-
readonly startFrame: number;
|
|
2204
|
-
readonly trimStartSec: number;
|
|
2205
|
-
readonly smoothing: number;
|
|
2206
|
-
/** @internal */
|
|
2207
|
-
readonly options: ClipVisionOptions;
|
|
2208
|
-
private readonly results;
|
|
2209
|
-
private sourceWidth;
|
|
2210
|
-
private sourceHeight;
|
|
2211
|
-
private cellW;
|
|
2212
|
-
private cellH;
|
|
2213
|
-
private readonly cell;
|
|
2214
|
-
private queue;
|
|
2215
|
-
private runner?;
|
|
2216
|
-
private cacheLoaded?;
|
|
2217
|
-
private unsaved;
|
|
2218
|
-
private unsavedSubjects;
|
|
2219
|
-
private readonly blurred;
|
|
2220
|
-
private readonly smoothed;
|
|
2221
|
-
private personView?;
|
|
2222
|
-
/** Full-resolution subject masks for render-time mattes (see `keepSubjects`). */
|
|
2223
|
-
private readonly subjects;
|
|
2224
|
-
private wantSubjects;
|
|
2225
|
-
private subjectsLoaded?;
|
|
2226
|
-
/** @internal Use `comp.vision(source, options)`. */
|
|
2227
|
-
constructor(source: string, fps: number, options?: ClipVisionOptions);
|
|
2228
|
-
/** The tracked person in source pixels; `.place()` maps it into the composition. */
|
|
2229
|
-
get person(): PersonTrack;
|
|
2230
|
-
/**
|
|
2231
|
-
* Analyses what reading composition frame `frame` needs (it and a few
|
|
2232
|
-
* neighbours for smoothing). Pass a second frame to analyse a whole range.
|
|
2233
|
-
* Calls queue, so the clip is decoded once, in order.
|
|
2234
|
-
*/
|
|
2235
|
-
ready(frame: number, toFrame?: number): Promise<void>;
|
|
2236
|
-
/** True when composition frame `frame` can be read synchronously. */
|
|
2237
|
-
isReady(frame: number): boolean;
|
|
2238
|
-
/**
|
|
2239
|
-
* @internal Also keep each frame's full-resolution subject mask, merged
|
|
2240
|
-
* like the Vision effect's matte, so a matte layer of this clip reuses it
|
|
2241
|
-
* instead of segmenting the frame again (framefields links them).
|
|
2242
|
-
*/
|
|
2243
|
-
keepSubjects(): void;
|
|
2244
|
-
/**
|
|
2245
|
-
* @internal The subject at a source frame of the clip (`frame` at `fps`),
|
|
2246
|
-
* for a render-time matte: undefined until that frame is analysed with
|
|
2247
|
-
* subjects kept, null when it holds no subject.
|
|
2248
|
-
*/
|
|
2249
|
-
subject(frame: number, fps: number): InstanceMask | null | undefined;
|
|
2250
|
-
/** Composition frame → clip frame (fractional). */
|
|
2251
|
-
clipFrame(frame: number): number;
|
|
2252
|
-
private window;
|
|
2253
|
-
private analysed;
|
|
2254
|
-
private compute;
|
|
2255
|
-
private setSize;
|
|
2256
|
-
/** @internal */
|
|
2257
|
-
size(): {
|
|
2258
|
-
width: number;
|
|
2259
|
-
height: number;
|
|
2260
|
-
};
|
|
2261
|
-
/** @internal Raw result for a clip frame, or throws when it was never analysed. */
|
|
2262
|
-
result(c: number): FrameResult | undefined;
|
|
2263
|
-
/** @internal Confidence-weighted keypoint over the smoothing window, in source px. */
|
|
2264
|
-
keypoint(k: number, c: number): [number, number, number];
|
|
2265
|
-
/** @internal Softened silhouette grid for a clip frame (null: no person). */
|
|
2266
|
-
blurredMask(c: number): Float32Array | null;
|
|
2267
|
-
/** @internal */
|
|
2268
|
-
grid(): {
|
|
2269
|
-
cell: number;
|
|
2270
|
-
width: number;
|
|
2271
|
-
height: number;
|
|
2272
|
-
};
|
|
2273
|
-
private mustHave;
|
|
2274
|
-
private cacheFile?;
|
|
2275
|
-
private cachePath;
|
|
2276
|
-
private loadCache;
|
|
2277
|
-
private saveCache;
|
|
2278
|
-
/** Subjects live beside the results: large, and only matte layers read them. */
|
|
2279
|
-
private subjectsPath;
|
|
2280
|
-
private loadSubjects;
|
|
2281
|
-
private saveSubjects;
|
|
2282
|
-
}
|
|
2283
|
-
/**
|
|
2284
|
-
* The person in a {@link ClipVision}: pose keypoints and silhouette at any
|
|
2285
|
-
* composition frame, in source pixels or, after `place()`, composition
|
|
2286
|
-
* pixels. Reads are synchronous; the frame must be analysed (it is while
|
|
2287
|
-
* rendering, inside a live physics world, or after `await clip.ready(frame)`).
|
|
2288
|
-
*/
|
|
2289
|
-
declare class PersonTrack {
|
|
2290
|
-
readonly clip: ClipVision;
|
|
2291
|
-
private readonly t?;
|
|
2292
|
-
private readonly placement?;
|
|
2293
|
-
/** @internal */
|
|
2294
|
-
constructor(clip: ClipVision, t?: Transform | undefined, placement?: PersonPlacement | undefined);
|
|
2295
|
-
/** The same person in composition pixels for a clip laid out at `placement`. */
|
|
2296
|
-
place(placement: PersonPlacement): PersonTrack;
|
|
2297
|
-
private transform;
|
|
2298
|
-
/** A keypoint at a composition frame (fractional frames interpolate). */
|
|
2299
|
-
point(name: PoseKeypointName, frame: number): {
|
|
2300
|
-
x: number;
|
|
2301
|
-
y: number;
|
|
2302
|
-
visibility: number;
|
|
2303
|
-
};
|
|
2304
|
-
/** Signals for a keypoint, for `.signal("x", …)`; read while rendering. */
|
|
2305
|
-
signals(name: PoseKeypointName): {
|
|
2306
|
-
x: FrameSignal<number>;
|
|
2307
|
-
y: FrameSignal<number>;
|
|
2308
|
-
visibility: FrameSignal<number>;
|
|
2309
|
-
};
|
|
2310
|
-
/**
|
|
2311
|
-
* @internal The softened silhouette grid at a composition frame and how
|
|
2312
|
-
* placed px map onto it (`cell = (px − origin) / scale − 0.5`), for GPU
|
|
2313
|
-
* consumers such as particles. Null when no person was found.
|
|
2314
|
-
*/
|
|
2315
|
-
silhouetteGrid(frame: number): {
|
|
2316
|
-
data: Float32Array;
|
|
2317
|
-
width: number;
|
|
2318
|
-
height: number;
|
|
2319
|
-
originX: number;
|
|
2320
|
-
originY: number;
|
|
2321
|
-
scaleX: number;
|
|
2322
|
-
scaleY: number;
|
|
2323
|
-
} | null;
|
|
2324
|
-
/**
|
|
2325
|
-
* The silhouette near a point at a composition frame: `alpha` 0–1 (softened
|
|
2326
|
-
* over a few cells; inside > 0.5) and its gradient `gx`, `gy` per px,
|
|
2327
|
-
* pointing into the body. Push things out with `-gradient`.
|
|
2328
|
-
*/
|
|
2329
|
-
sample(frame: number, x: number, y: number): {
|
|
2330
|
-
alpha: number;
|
|
2331
|
-
gx: number;
|
|
2332
|
-
gy: number;
|
|
2333
|
-
};
|
|
2334
|
-
}
|
|
2335
|
-
//#endregion
|
|
2336
|
-
//#region ../../nodes/node-particles/dist/index-CGwIc9Nx.d.mts
|
|
2337
|
-
//#region src/shared/program.d.ts
|
|
2338
|
-
|
|
2339
|
-
/**
|
|
2340
|
-
* The contract between a particle system's authoring object (framefields'
|
|
2341
|
-
* `Particles` effect, carried on the op as `effect`) and this renderer.
|
|
2342
|
-
* Static settings are read once per system; per-frame inputs (driven values,
|
|
2343
|
-
* a performer's silhouette) are asked for each simulated frame.
|
|
2344
|
-
*/
|
|
2345
|
-
type EmitterShape = "point" | "line" | "rect" | "circle" | "ring";
|
|
2346
|
-
type ParticleShape = "circle" | "soft" | "square" | "spark";
|
|
2347
|
-
type ParticleBlend = "normal" | "add" | "screen";
|
|
2348
|
-
type ParticleBounds = "none" | "kill" | "bounce" | "wrap";
|
|
2349
|
-
interface ParticleStatic {
|
|
2350
|
-
/** Capacity: the most particles alive at once. */
|
|
2351
|
-
max: number;
|
|
2352
|
-
seed: number;
|
|
2353
|
-
/** Layer box in composition px (sampling silhouettes needs the origin). */
|
|
2354
|
-
layer: {
|
|
2355
|
-
x: number;
|
|
2356
|
-
y: number;
|
|
2357
|
-
width: number;
|
|
2358
|
-
height: number;
|
|
2359
|
-
};
|
|
2360
|
-
emitter: {
|
|
2361
|
-
shape: EmitterShape;
|
|
2362
|
-
x: number;
|
|
2363
|
-
y: number;
|
|
2364
|
-
width: number;
|
|
2365
|
-
height: number;
|
|
2366
|
-
radius: number;
|
|
2367
|
-
/** Aim away from the emitter's center instead of along `direction`. */
|
|
2368
|
-
radial: boolean;
|
|
2369
|
-
};
|
|
2370
|
-
/** Seconds. */
|
|
2371
|
-
lifetime: [number, number];
|
|
2372
|
-
/** px/s. */
|
|
2373
|
-
speed: [number, number];
|
|
2374
|
-
/** Degrees, 0 = right, -90 = up. */
|
|
2375
|
-
direction: number;
|
|
2376
|
-
/** Degrees around `direction`. */
|
|
2377
|
-
spread: number;
|
|
2378
|
-
bounds: ParticleBounds;
|
|
2379
|
-
/** Floor line in layer px, or null. */
|
|
2380
|
-
floor: number | null;
|
|
2381
|
-
bounce: number;
|
|
2382
|
-
/** px at birth and death. */
|
|
2383
|
-
size: [number, number];
|
|
2384
|
-
/** 0–1 random scale per particle. */
|
|
2385
|
-
sizeJitter: number;
|
|
2386
|
-
/** Fractions of life spent fading in and out. */
|
|
2387
|
-
fade: [number, number];
|
|
2388
|
-
shape: ParticleShape;
|
|
2389
|
-
/** Spark length per px/s of speed. */
|
|
2390
|
-
stretch: number;
|
|
2391
|
-
blend: ParticleBlend;
|
|
2392
|
-
/** Up to 8 colors, evenly spaced over life (or speed). */
|
|
2393
|
-
colors: Array<[number, number, number, number]>;
|
|
2394
|
-
/** Color by speed instead of age: speed (px/s) that reaches the last color. */
|
|
2395
|
-
colorBySpeed: number | null;
|
|
2396
|
-
opacity: number;
|
|
2397
|
-
substeps: number;
|
|
2398
|
-
/** Seconds simulated before the first frame, so it starts full. */
|
|
2399
|
-
prewarm: number;
|
|
2400
|
-
}
|
|
2401
|
-
interface ParticleAttractor {
|
|
2402
|
-
x: number;
|
|
2403
|
-
y: number;
|
|
2404
|
-
/** px/s² at the center; negative repels. */
|
|
2405
|
-
strength: number;
|
|
2406
|
-
/** Falloff radius, px. */
|
|
2407
|
-
radius: number;
|
|
2408
|
-
}
|
|
2409
|
-
/** A silhouette grid (0–1 per cell) and how composition px map onto it. */
|
|
2410
|
-
interface ParticleMask {
|
|
2411
|
-
data: Float32Array;
|
|
2412
|
-
width: number;
|
|
2413
|
-
height: number;
|
|
2414
|
-
/** cell = (px − origin) / scale − 0.5 */
|
|
2415
|
-
originX: number;
|
|
2416
|
-
originY: number;
|
|
2417
|
-
scaleX: number;
|
|
2418
|
-
scaleY: number;
|
|
2419
|
-
}
|
|
2420
|
-
interface ParticleFrame {
|
|
2421
|
-
/** Emitter position this frame, when it moves (layer px); births spread back toward `previous`. */
|
|
2422
|
-
emitter?: {
|
|
2423
|
-
x: number;
|
|
2424
|
-
y: number;
|
|
2425
|
-
previousX: number;
|
|
2426
|
-
previousY: number;
|
|
2427
|
-
};
|
|
2428
|
-
/** Particles per second this frame. */
|
|
2429
|
-
rate: number;
|
|
2430
|
-
/** Extra particles born this frame. */
|
|
2431
|
-
burst: number;
|
|
2432
|
-
gravity: [number, number];
|
|
2433
|
-
/** Velocity damping per second. */
|
|
2434
|
-
drag: number;
|
|
2435
|
-
noise: {
|
|
2436
|
-
strength: number;
|
|
2437
|
-
scale: number;
|
|
2438
|
-
speed: number;
|
|
2439
|
-
};
|
|
2440
|
-
attractors: ParticleAttractor[];
|
|
2441
|
-
push: {
|
|
2442
|
-
strength: number;
|
|
2443
|
-
/** Extra push where the silhouette just arrived. */
|
|
2444
|
-
sweep: number;
|
|
2445
|
-
mask: ParticleMask | null;
|
|
2446
|
-
previous: ParticleMask | null;
|
|
2447
|
-
} | null;
|
|
2448
|
-
}
|
|
2449
|
-
interface ParticleProgram {
|
|
2450
|
-
readonly particleStatic: ParticleStatic;
|
|
2451
|
-
/** Inputs for composition frame `frame` (layer-local frames are the effect's concern). */
|
|
2452
|
-
particleFrame(frame: number, fps: number): ParticleFrame;
|
|
2453
|
-
/** Renderer-owned state, kept on the authoring object so it lives as long as the system. */
|
|
2454
|
-
particleState?: unknown;
|
|
2455
|
-
}
|
|
2456
|
-
//#endregion
|
|
2457
|
-
//#region src/physics/backend.d.ts
|
|
2458
|
-
type Vec2$1 = [number, number];
|
|
2459
|
-
type Vec3$1 = [number, number, number];
|
|
2460
|
-
/** Quaternion as [x, y, z, w]. */
|
|
2461
|
-
type Quat = [number, number, number, number];
|
|
2462
|
-
type BodyType = "dynamic" | "fixed" | "kinematic";
|
|
2463
|
-
interface MaterialSpec {
|
|
2464
|
-
density: number;
|
|
2465
|
-
friction: number;
|
|
2466
|
-
restitution: number;
|
|
2467
|
-
}
|
|
2468
|
-
type Shape2D = {
|
|
2469
|
-
kind: "box";
|
|
2470
|
-
hx: number;
|
|
2471
|
-
hy: number;
|
|
2472
|
-
radius?: number;
|
|
2473
|
-
} | {
|
|
2474
|
-
kind: "ball";
|
|
2475
|
-
radius: number;
|
|
2476
|
-
}
|
|
2477
|
-
/** Flat [x0, y0, x1, y1, …] around the body origin. */ | {
|
|
2478
|
-
kind: "hull";
|
|
2479
|
-
points: number[];
|
|
2480
|
-
};
|
|
2481
|
-
type Shape3D = {
|
|
2482
|
-
kind: "box";
|
|
2483
|
-
hx: number;
|
|
2484
|
-
hy: number;
|
|
2485
|
-
hz: number;
|
|
2486
|
-
radius?: number;
|
|
2487
|
-
} | {
|
|
2488
|
-
kind: "ball";
|
|
2489
|
-
radius: number;
|
|
2490
|
-
}
|
|
2491
|
-
/** Axis along y. */ | {
|
|
2492
|
-
kind: "cylinder";
|
|
2493
|
-
halfHeight: number;
|
|
2494
|
-
radius: number;
|
|
2495
|
-
}
|
|
2496
|
-
/** Flat [x0, y0, z0, …] around the body origin. */ | {
|
|
2497
|
-
kind: "hull";
|
|
2498
|
-
points: number[];
|
|
2499
|
-
};
|
|
2500
|
-
interface BodySpecBase extends MaterialSpec {
|
|
2501
|
-
type: BodyType;
|
|
2502
|
-
linearDamping: number;
|
|
2503
|
-
angularDamping: number;
|
|
2504
|
-
gravityScale: number;
|
|
2505
|
-
lockRotation: boolean;
|
|
2506
|
-
ccd: boolean;
|
|
2507
|
-
enabled: boolean;
|
|
2508
|
-
/** Touches nothing (joint anchors). */
|
|
2509
|
-
sensor?: boolean;
|
|
2510
|
-
}
|
|
2511
|
-
interface BodySpec2D extends BodySpecBase {
|
|
2512
|
-
position: Vec2$1;
|
|
2513
|
-
angle: number;
|
|
2514
|
-
velocity: Vec2$1;
|
|
2515
|
-
angularVelocity: number;
|
|
2516
|
-
shape: Shape2D;
|
|
2517
|
-
}
|
|
2518
|
-
interface BodySpec3D extends BodySpecBase {
|
|
2519
|
-
/** Per-axis rotation, when only some axes are locked: [x, y, z] allowed. */
|
|
2520
|
-
enabledRotations?: [boolean, boolean, boolean];
|
|
2521
|
-
position: Vec3$1;
|
|
2522
|
-
rotation: Quat;
|
|
2523
|
-
velocity: Vec3$1;
|
|
2524
|
-
angularVelocity: Vec3$1;
|
|
2525
|
-
shape: Shape3D;
|
|
2526
|
-
}
|
|
2527
|
-
type JointSpec<V> = {
|
|
2528
|
-
type: "revolute";
|
|
2529
|
-
anchorA: V;
|
|
2530
|
-
anchorB: V;
|
|
2531
|
-
axis?: Vec3$1;
|
|
2532
|
-
} | {
|
|
2533
|
-
type: "spherical";
|
|
2534
|
-
anchorA: V;
|
|
2535
|
-
anchorB: V;
|
|
2536
|
-
} | {
|
|
2537
|
-
type: "fixed";
|
|
2538
|
-
anchorA: V;
|
|
2539
|
-
anchorB: V;
|
|
2540
|
-
} | {
|
|
2541
|
-
type: "rope";
|
|
2542
|
-
anchorA: V;
|
|
2543
|
-
anchorB: V;
|
|
2544
|
-
length: number;
|
|
2545
|
-
} | {
|
|
2546
|
-
type: "spring";
|
|
2547
|
-
anchorA: V;
|
|
2548
|
-
anchorB: V;
|
|
2549
|
-
restLength: number;
|
|
2550
|
-
stiffness: number;
|
|
2551
|
-
damping: number;
|
|
2552
|
-
};
|
|
2553
|
-
interface SimBody<V, R> {
|
|
2554
|
-
position(): V;
|
|
2555
|
-
rotation(): R;
|
|
2556
|
-
velocity(): V;
|
|
2557
|
-
/** 2D: rad/s; 3D: rad/s per axis. */
|
|
2558
|
-
angularVelocity(): R extends number ? number : Vec3$1;
|
|
2559
|
-
sleeping(): boolean;
|
|
2560
|
-
mass(): number;
|
|
2561
|
-
setEnabled(enabled: boolean): void;
|
|
2562
|
-
applyImpulse(impulse: V): void;
|
|
2563
|
-
setKinematicTarget(position: V, rotation: R): void;
|
|
2564
|
-
}
|
|
2565
|
-
type SimBody2D = SimBody<Vec2$1, number>;
|
|
2566
|
-
type SimBody3D = SimBody<Vec3$1, Quat>;
|
|
2567
|
-
interface SimWorld<V, B, S> {
|
|
2568
|
-
addBody(spec: S): B;
|
|
2569
|
-
addJoint(a: B, b: B, spec: JointSpec<V>): void;
|
|
2570
|
-
step(dt: number): void;
|
|
2571
|
-
/** Pairs that started touching during the last step. */
|
|
2572
|
-
drainCollisionStarts(): Array<[B, B]>;
|
|
2573
|
-
free(): void;
|
|
2574
|
-
}
|
|
2575
|
-
type SimWorld2D = SimWorld<Vec2$1, SimBody2D, BodySpec2D>;
|
|
2576
|
-
type SimWorld3D = SimWorld<Vec3$1, SimBody3D, BodySpec3D>;
|
|
2577
|
-
interface PhysicsBackend {
|
|
2578
|
-
createWorld2D(gravity: Vec2$1): SimWorld2D;
|
|
2579
|
-
createWorld3D(gravity: Vec3$1): SimWorld3D;
|
|
2580
|
-
}
|
|
2581
|
-
//#endregion
|
|
2582
|
-
//#region src/physics/core.d.ts
|
|
2583
|
-
/**
|
|
2584
|
-
* A value read every simulated frame: a number, a signal (sampled at the
|
|
2585
|
-
* composition frame, like `.signal()` tracks), or `(frame) => value` where
|
|
2586
|
-
* `frame` is the composition frame.
|
|
2587
|
-
*/
|
|
2588
|
-
type PhysicsDriver = number | ((frame: number) => number) | {
|
|
2589
|
-
get(ctx?: FrameContext): number;
|
|
2590
|
-
};
|
|
2591
|
-
interface PhysicsWorldOptions {
|
|
2592
|
-
/** Composition frame rate. */
|
|
2593
|
-
fps: number;
|
|
2594
|
-
/** How many frames to simulate. Signals hold the last frame afterwards. */
|
|
2595
|
-
frames: number;
|
|
2596
|
-
/**
|
|
2597
|
-
* Composition frame the simulation's frame 0 lands on (default 0). Set it
|
|
2598
|
-
* to a scene's start so a world inside that scene starts with it.
|
|
2599
|
-
*/
|
|
2600
|
-
startFrame?: number;
|
|
2601
|
-
/** Pixels per physics meter (default 100). Only changes how stiff and heavy things feel. */
|
|
2602
|
-
pixelsPerMeter?: number;
|
|
2603
|
-
/** Solver steps per frame (default 4). Raise for fast, thin or stacked bodies. */
|
|
2604
|
-
substeps?: number;
|
|
2605
|
-
/** Frames an impact envelope takes to fall to ~37% (default 8). */
|
|
2606
|
-
impactDecay?: number;
|
|
2607
|
-
/** Velocity change, px/s, that reads as impact 1 (default 1500). */
|
|
2608
|
-
impactReference?: number;
|
|
2609
|
-
}
|
|
2610
|
-
interface BodyCommonOptions {
|
|
2611
|
-
/** `"dynamic"` (default) falls and collides; `"fixed"` never moves; `"kinematic"` follows `follow` and pushes others. */
|
|
2612
|
-
type?: "dynamic" | "fixed" | "kinematic";
|
|
2613
|
-
/** Bounciness, 0–1 (default 0.3). */
|
|
2614
|
-
restitution?: number;
|
|
2615
|
-
/** Default 0.6. */
|
|
2616
|
-
friction?: number;
|
|
2617
|
-
/** Mass per area/volume (default 1). Heavier bodies push lighter ones. */
|
|
2618
|
-
density?: number;
|
|
2619
|
-
/** Velocity damping per second (default 0). */
|
|
2620
|
-
linearDamping?: number;
|
|
2621
|
-
/** Spin damping per second (default 0). */
|
|
2622
|
-
angularDamping?: number;
|
|
2623
|
-
/** Multiplies world gravity for this body (default 1; 0 floats). */
|
|
2624
|
-
gravityScale?: number;
|
|
2625
|
-
/** Never rotates. */
|
|
2626
|
-
lockRotation?: boolean;
|
|
2627
|
-
/** Continuous collision detection for very fast bodies (default false). */
|
|
2628
|
-
ccd?: boolean;
|
|
2629
|
-
/** Collides with nothing; still moves, still reports contacts (triggers). */
|
|
2630
|
-
sensor?: boolean;
|
|
2631
|
-
/** Simulation frame the body wakes up; it holds its place before (default 0). */
|
|
2632
|
-
startFrame?: number;
|
|
2633
|
-
/**
|
|
2634
|
-
* How the result reaches the layer: `"signals"` (default) binds the
|
|
2635
|
-
* body's signals, `"keyframes"` writes plain keyframes, `"none"` leaves
|
|
2636
|
-
* the layer alone (read the signals yourself).
|
|
2637
|
-
*/
|
|
2638
|
-
output?: "signals" | "keyframes" | "none";
|
|
2639
|
-
}
|
|
2640
|
-
/** What `world.live()` needs from a composition. */
|
|
2641
|
-
interface LiveHost {
|
|
2642
|
-
onPrepareFrame(callback: (ctx: {
|
|
2643
|
-
frame: number;
|
|
2644
|
-
}) => Promise<void> | void): unknown;
|
|
2645
|
-
prepareVision?(frame: number): Promise<void>;
|
|
2646
|
-
}
|
|
2647
|
-
interface PhysicsCollision<B> {
|
|
2648
|
-
/** Composition frame of first contact. */
|
|
2649
|
-
frame: number;
|
|
2650
|
-
/** The other body. */
|
|
2651
|
-
with: B;
|
|
2652
|
-
/** Velocity change of the harder-hit body, px/s. */
|
|
2653
|
-
speed: number;
|
|
2654
|
-
}
|
|
2655
|
-
interface PhysicsBakeOptions {
|
|
2656
|
-
/** Largest error a dropped keyframe may leave, px (default 0.25). Degrees use a fifth of it. */
|
|
2657
|
-
tolerance?: number;
|
|
2658
|
-
}
|
|
2659
|
-
/**
|
|
2660
|
-
* Per-frame recordings of one body, indexed by composition frame. Arrays are
|
|
2661
|
-
* filled when the world simulates; reading a signal before that simulates.
|
|
2662
|
-
*/
|
|
2663
|
-
declare class Recording {
|
|
2664
|
-
readonly length: number;
|
|
2665
|
-
private readonly fps;
|
|
2666
|
-
private readonly ensure;
|
|
2667
|
-
readonly channels: Map<string, Float32Array<ArrayBufferLike>>;
|
|
2668
|
-
private readonly signals;
|
|
2669
|
-
constructor(length: number, fps: number, ensure: () => void);
|
|
2670
|
-
channel(name: string): Float32Array;
|
|
2671
|
-
/**
|
|
2672
|
-
* A per-frame signal over a channel. Creating it does nothing; the first
|
|
2673
|
-
* value read runs the simulation (offline worlds), so signals can be bound
|
|
2674
|
-
* while bodies are still being added.
|
|
2675
|
-
*/
|
|
2676
|
-
signal(name: string): FrameSignal<number>;
|
|
2677
|
-
}
|
|
2678
|
-
/** What the shared stepping loop needs from a 2D or 3D body. */
|
|
2679
|
-
interface CoreBody<V extends number[], R> {
|
|
2680
|
-
readonly sim: SimBody<V, R>;
|
|
2681
|
-
readonly type: "dynamic" | "fixed" | "kinematic";
|
|
2682
|
-
readonly startFrame: number;
|
|
2683
|
-
readonly gravityScale: number;
|
|
2684
|
-
/** Unset: signals, or keyframes under `bakeKeyframes()`. */
|
|
2685
|
-
readonly output?: "signals" | "keyframes" | "none";
|
|
2686
|
-
readonly recording: Recording;
|
|
2687
|
-
readonly collisions: PhysicsCollision<unknown>[];
|
|
2688
|
-
readonly layer?: Record<string, unknown>;
|
|
2689
|
-
/** Kinematic pose (backend units) at a composition frame, if it follows drivers. */
|
|
2690
|
-
kinematicTarget?(frame: number): {
|
|
2691
|
-
position: V;
|
|
2692
|
-
rotation: R;
|
|
2693
|
-
} | undefined;
|
|
2694
|
-
/** Writes the body's state for one composition frame into its recording. */
|
|
2695
|
-
record(index: number, previousIndex: number): void;
|
|
2696
|
-
/** Props bound to the layer, with the recording channel each one reads. */
|
|
2697
|
-
boundChannels(): Array<[AnimatableProp, string]>;
|
|
2698
|
-
}
|
|
2699
|
-
interface ForceEntry<V> {
|
|
2700
|
-
body: CoreBody<number[], unknown>;
|
|
2701
|
-
accel: (frame: number) => V;
|
|
2702
|
-
}
|
|
2703
|
-
interface ImpulseEntry<V> {
|
|
2704
|
-
body: CoreBody<number[], unknown>;
|
|
2705
|
-
frame: number;
|
|
2706
|
-
dv: V;
|
|
2707
|
-
}
|
|
2708
|
-
/**
|
|
2709
|
-
* Stepping, recording, impacts and output shared by `PhysicsWorld2D` and
|
|
2710
|
-
* `PhysicsWorld3D`. V is a vector in backend units (meters).
|
|
2711
|
-
*/
|
|
2712
|
-
declare abstract class WorldCore<V extends number[], R, B extends CoreBody<V, R>> {
|
|
2713
|
-
protected readonly sim: SimWorld<V, SimBody<V, R>, unknown>;
|
|
2714
|
-
protected readonly gravity: V;
|
|
2715
|
-
readonly fps: number;
|
|
2716
|
-
readonly frames: number;
|
|
2717
|
-
readonly startFrame: number;
|
|
2718
|
-
readonly pixelsPerMeter: number;
|
|
2719
|
-
protected readonly substeps: number;
|
|
2720
|
-
protected readonly impactDecay: number;
|
|
2721
|
-
protected readonly impactReference: number;
|
|
2722
|
-
protected readonly bodies: B[];
|
|
2723
|
-
protected readonly forces: ForceEntry<V>[];
|
|
2724
|
-
protected readonly impulses: ImpulseEntry<V>[];
|
|
2725
|
-
protected readonly fields: Array<{
|
|
2726
|
-
targets?: Set<B>;
|
|
2727
|
-
accel: (body: B, frame: number) => V | null | undefined;
|
|
2728
|
-
}>;
|
|
2729
|
-
private readonly worldRecording;
|
|
2730
|
-
private readonly allCollisions;
|
|
2731
|
-
/** No more bodies, joints or forces: the world has started (or finished). */
|
|
2732
|
-
private locked;
|
|
2733
|
-
private liveMode;
|
|
2734
|
-
private stepper?;
|
|
2735
|
-
private chain;
|
|
2736
|
-
protected constructor(sim: SimWorld<V, SimBody<V, R>, unknown>, gravity: V, options: PhysicsWorldOptions);
|
|
2737
|
-
/** First contacts so far (all of them once simulated), in frame order. */
|
|
2738
|
-
get collisions(): ReadonlyArray<PhysicsCollision<B> & {
|
|
2739
|
-
body: B;
|
|
2740
|
-
}>;
|
|
2741
|
-
/** Loudest impact envelope of any body each frame: camera shake, flashes, hit sounds. */
|
|
2742
|
-
get impact(): FrameSignal<number>;
|
|
2743
|
-
/** Runs the whole simulation now (once) and binds every body's layer per its `output`. */
|
|
2744
|
-
simulate(): this;
|
|
2745
|
-
/** Like {@link simulate}, but writes keyframes for every body whose `output` was left at its default. */
|
|
2746
|
-
bakeKeyframes(options?: PhysicsBakeOptions): this;
|
|
2747
|
-
/**
|
|
2748
|
-
* Steps the world as the composition renders instead of all at once: before
|
|
2749
|
-
* each frame draws, the world advances to it, after the composition's
|
|
2750
|
-
* vision clips (`comp.vision`) and any `inputs` have that frame ready. Use
|
|
2751
|
-
* it when bodies follow a performer, so nothing is analysed up front and a
|
|
2752
|
-
* preview starts at once. Frames already simulated are kept, so scrubbing
|
|
2753
|
-
* back costs nothing; jumping ahead simulates the frames in between.
|
|
2754
|
-
* Signals only; `bakeKeyframes()` needs the whole run up front.
|
|
2755
|
-
*/
|
|
2756
|
-
live(comp: LiveHost, options?: {
|
|
2757
|
-
inputs?: ReadonlyArray<{
|
|
2758
|
-
ready(frame: number): Promise<void>;
|
|
2759
|
-
}>;
|
|
2760
|
-
}): this;
|
|
2761
|
-
/**
|
|
2762
|
-
* Live worlds: simulates up to composition frame `frame` (no-op when it
|
|
2763
|
-
* already has). Calls queue, so frames are stepped once, in order.
|
|
2764
|
-
*/
|
|
2765
|
-
advanceTo(frame: number): Promise<void>;
|
|
2766
|
-
private prepareInputs?;
|
|
2767
|
-
private bakeDefault?;
|
|
2768
|
-
protected newRecording(): Recording;
|
|
2769
|
-
protected assertOpen(): void;
|
|
2770
|
-
protected addBody(body: B): B;
|
|
2771
|
-
protected addForce(body: B, accel: (frame: number) => V): void;
|
|
2772
|
-
protected addField(accel: (body: B, frame: number) => V | null | undefined, targets?: readonly B[]): void;
|
|
2773
|
-
protected addImpulse(body: B, frame: number, dv: V): void;
|
|
2774
|
-
protected ensureSimulated(): void;
|
|
2775
|
-
/** Records frame 0 and sets every channel to it, so frames not simulated yet hold the start pose. */
|
|
2776
|
-
private begin;
|
|
2777
|
-
private stepFrame;
|
|
2778
|
-
protected abstract lerpRotation(a: R, b: R, t: number): R;
|
|
2779
|
-
private bind;
|
|
2780
|
-
}
|
|
2781
|
-
//#endregion
|
|
2782
|
-
//#region src/particles.d.ts
|
|
2783
|
-
type Range = number | [number, number];
|
|
2784
|
-
interface ParticlesOptions {
|
|
2785
|
-
/** Particle layer box in composition px (the particles' own space; default the whole canvas). */
|
|
2786
|
-
x?: number;
|
|
2787
|
-
y?: number;
|
|
2788
|
-
width: number;
|
|
2789
|
-
height: number;
|
|
2790
|
-
id?: string;
|
|
2791
|
-
startFrame?: number;
|
|
2792
|
-
durationFrames?: number;
|
|
2793
|
-
zIndex?: number;
|
|
2794
|
-
/** Most particles alive at once (default 20000). Costs GPU memory, not time when idle. */
|
|
2795
|
-
max?: number;
|
|
2796
|
-
seed?: number;
|
|
2797
|
-
emitter?: {
|
|
2798
|
-
/** `"rect"` (default, the whole layer), `"point"`, `"line"`, `"circle"` (area) or `"ring"` (edge). Layer px. */
|
|
2799
|
-
shape?: EmitterShape;
|
|
2800
|
-
/** Emitter position (layer px). A driver moves it: `(f) => person.point("rightWrist", f).x` paints with light. */
|
|
2801
|
-
x?: PhysicsDriver;
|
|
2802
|
-
y?: PhysicsDriver;
|
|
2803
|
-
width?: number;
|
|
2804
|
-
height?: number;
|
|
2805
|
-
radius?: number;
|
|
2806
|
-
/** Aim away from the emitter's center instead of along `direction`. */
|
|
2807
|
-
radial?: boolean;
|
|
2808
|
-
/** Particles per second (default 1000); a driver for bursts of activity. */
|
|
2809
|
-
rate?: PhysicsDriver;
|
|
2810
|
-
/** Extra particles at given layer frames. */
|
|
2811
|
-
bursts?: Array<{
|
|
2812
|
-
frame: number;
|
|
2813
|
-
count: number;
|
|
2814
|
-
}>;
|
|
2815
|
-
};
|
|
2816
|
-
/** Seconds each particle lives (default [2, 4]). */
|
|
2817
|
-
lifetime?: Range;
|
|
2818
|
-
/** Launch speed, px/s (default [40, 160]). */
|
|
2819
|
-
speed?: Range;
|
|
2820
|
-
/** Launch direction, degrees (0 = right, -90 = up; default -90). */
|
|
2821
|
-
direction?: number;
|
|
2822
|
-
/** Spread around `direction`, degrees (default 360). */
|
|
2823
|
-
spread?: number;
|
|
2824
|
-
/** px/s². A single driver pulls down. */
|
|
2825
|
-
gravity?: PhysicsDriver | [PhysicsDriver, PhysicsDriver];
|
|
2826
|
-
/** Velocity damping per second (default 0.4). Higher reads as thicker air or liquid. */
|
|
2827
|
-
drag?: PhysicsDriver;
|
|
2828
|
-
/** Swirling, divergence-free flow (curl noise): smoke, ink, flow fields. */
|
|
2829
|
-
noise?: {
|
|
2830
|
-
strength?: PhysicsDriver;
|
|
2831
|
-
scale?: number;
|
|
2832
|
-
speed?: number;
|
|
2833
|
-
};
|
|
2834
|
-
/** Points that pull (positive) or push (negative), px/s² at the center, falling off over `radius`. Layer px. Up to 8. */
|
|
2835
|
-
attractors?: Array<{
|
|
2836
|
-
x: PhysicsDriver;
|
|
2837
|
-
y: PhysicsDriver;
|
|
2838
|
-
strength: PhysicsDriver;
|
|
2839
|
-
radius?: number;
|
|
2840
|
-
}>;
|
|
2841
|
-
/**
|
|
2842
|
-
* A performer pushes particles out of their silhouette, harder where it
|
|
2843
|
-
* is sweeping in: `person` from `comp.vision(clip).person.place(…)`.
|
|
2844
|
-
*/
|
|
2845
|
-
push?: {
|
|
2846
|
-
person: PersonTrack;
|
|
2847
|
-
strength?: PhysicsDriver;
|
|
2848
|
-
sweep?: PhysicsDriver;
|
|
2849
|
-
};
|
|
2850
|
-
/** What happens at the layer's edges: `"none"` (default), `"kill"`, `"bounce"`, `"wrap"`. */
|
|
2851
|
-
bounds?: ParticleBounds;
|
|
2852
|
-
/** A floor line in layer px that particles bounce on. */
|
|
2853
|
-
floor?: number;
|
|
2854
|
-
/** Bounciness at the floor and bounced edges (default 0.3). */
|
|
2855
|
-
bounce?: number;
|
|
2856
|
-
/** px at birth → death (default [6, 0]). */
|
|
2857
|
-
size?: Range;
|
|
2858
|
-
/** Random size variation, 0–1 (default 0.5). */
|
|
2859
|
-
sizeJitter?: number;
|
|
2860
|
-
/** Fractions of life to fade in and out (default [0.1, 0.3]). */
|
|
2861
|
-
fade?: [number, number];
|
|
2862
|
-
/** `"circle"` (default), `"soft"` (glow), `"square"`, `"spark"` (streaks along motion). */
|
|
2863
|
-
shape?: ParticleShape;
|
|
2864
|
-
/** Spark length per px/s (default 0.04). */
|
|
2865
|
-
stretch?: number;
|
|
2866
|
-
/** `"normal"` (default), `"add"` (glows build up), `"screen"`. */
|
|
2867
|
-
blend?: ParticleBlend;
|
|
2868
|
-
/** One color, or up to 8 spread over each particle's life (default white). */
|
|
2869
|
-
color?: string | string[];
|
|
2870
|
-
/** Color by speed instead of age: the px/s that reaches the last color. */
|
|
2871
|
-
colorBySpeed?: number;
|
|
2872
|
-
opacity?: number;
|
|
2873
|
-
/** Solver steps per frame (default 2). */
|
|
2874
|
-
substeps?: number;
|
|
2875
|
-
/** Seconds simulated before the first frame, so it starts already full. */
|
|
2876
|
-
prewarm?: number;
|
|
2877
|
-
}
|
|
2878
|
-
/**
|
|
2879
|
-
* A GPU particle system: tens of thousands of particles simulated in a
|
|
2880
|
-
* compute shader and drawn in one call. Used through `Layer.particles()`.
|
|
2881
|
-
* It steps as the composition renders (snapshots make scrubbing back
|
|
2882
|
-
* cheap), and its drivers are read every frame.
|
|
2883
|
-
*/
|
|
2884
|
-
declare class Particles extends Effect$1<Record<string, never>> implements ParticleProgram {
|
|
2885
|
-
readonly op = "Particles";
|
|
2886
|
-
readonly particleStatic: ParticleStatic;
|
|
2887
|
-
particleState?: unknown;
|
|
2888
|
-
private readonly options;
|
|
2889
|
-
constructor(options: ParticlesOptions);
|
|
2890
|
-
particleFrame(frame: number, fps: number): ParticleFrame;
|
|
2891
|
-
}
|
|
2892
|
-
//#endregion
|
|
2893
|
-
//#region src/shapes3d.d.ts
|
|
2894
|
-
/** Physically based surface options every 3D builder accepts. */
|
|
2895
|
-
interface Surface3DOptions {
|
|
2896
|
-
/** Light the surface gives off: a CSS color added on top of lighting. */
|
|
2897
|
-
emissive?: string;
|
|
2898
|
-
/** Emissive multiplier; above 1 glows past white and blooms. Default 1. */
|
|
2899
|
-
emissiveIntensity?: number;
|
|
2900
|
-
/** Falls into a `castShadow` light's shadow map (meshes default on, flat layers off). */
|
|
2901
|
-
castShadow?: boolean;
|
|
2902
|
-
}
|
|
2903
|
-
interface CubeFaceConfig extends Surface3DOptions {
|
|
2904
|
-
background?: string;
|
|
2905
|
-
borderRadius?: number;
|
|
2906
|
-
borderWidth?: number;
|
|
2907
|
-
borderColor?: string;
|
|
2908
|
-
opacity?: number;
|
|
2909
|
-
material?: MaterialType;
|
|
2910
|
-
shininess?: number;
|
|
2911
|
-
roughness?: number;
|
|
2912
|
-
specularIntensity?: number;
|
|
2913
|
-
metallic?: number;
|
|
2914
|
-
ambientIntensity?: number;
|
|
2915
|
-
ior?: number;
|
|
2916
|
-
transmission?: number;
|
|
2917
|
-
dispersion?: number;
|
|
2918
|
-
fresnelPower?: number;
|
|
2919
|
-
envIntensity?: number;
|
|
2920
|
-
children?: LayoutNode[];
|
|
2921
|
-
}
|
|
2922
|
-
type CubeFaceInput = CubeFaceConfig | LayoutNode | string;
|
|
2923
|
-
interface Cube3DOptions extends Surface3DOptions {
|
|
2924
|
-
id?: string;
|
|
2925
|
-
size: number | [number, number, number];
|
|
2926
|
-
x?: number;
|
|
2927
|
-
y?: number;
|
|
2928
|
-
z?: number;
|
|
2929
|
-
rotateX?: number;
|
|
2930
|
-
rotateY?: number;
|
|
2931
|
-
rotateZ?: number;
|
|
2932
|
-
faces?: {
|
|
2933
|
-
front?: CubeFaceInput;
|
|
2934
|
-
back?: CubeFaceInput;
|
|
2935
|
-
left?: CubeFaceInput;
|
|
2936
|
-
right?: CubeFaceInput;
|
|
2937
|
-
top?: CubeFaceInput;
|
|
2938
|
-
bottom?: CubeFaceInput;
|
|
2939
|
-
};
|
|
2940
|
-
twoSided?: boolean;
|
|
2941
|
-
material?: MaterialType;
|
|
2942
|
-
shininess?: number;
|
|
2943
|
-
roughness?: number;
|
|
2944
|
-
specularIntensity?: number;
|
|
2945
|
-
metallic?: number;
|
|
2946
|
-
ambientIntensity?: number;
|
|
2947
|
-
ior?: number;
|
|
2948
|
-
transmission?: number;
|
|
2949
|
-
dispersion?: number;
|
|
2950
|
-
fresnelPower?: number;
|
|
2951
|
-
envIntensity?: number;
|
|
2952
|
-
opacity?: number;
|
|
2953
|
-
}
|
|
2954
|
-
interface Carousel3DOptions {
|
|
2955
|
-
id?: string;
|
|
2956
|
-
radius: number;
|
|
2957
|
-
items: LayoutNode[];
|
|
2958
|
-
x?: number;
|
|
2959
|
-
y?: number;
|
|
2960
|
-
z?: number;
|
|
2961
|
-
rotateX?: number;
|
|
2962
|
-
rotateY?: number;
|
|
2963
|
-
rotateZ?: number;
|
|
2964
|
-
faceInward?: boolean;
|
|
2965
|
-
itemWidth?: number;
|
|
2966
|
-
itemHeight?: number;
|
|
2967
|
-
twoSided?: boolean;
|
|
2968
|
-
opacity?: number;
|
|
2969
|
-
}
|
|
2970
|
-
interface Prism3DOptions {
|
|
2971
|
-
id?: string;
|
|
2972
|
-
sides: number;
|
|
2973
|
-
radius: number;
|
|
2974
|
-
height: number;
|
|
2975
|
-
x?: number;
|
|
2976
|
-
y?: number;
|
|
2977
|
-
z?: number;
|
|
2978
|
-
rotateX?: number;
|
|
2979
|
-
rotateY?: number;
|
|
2980
|
-
rotateZ?: number;
|
|
2981
|
-
sideConfigs?: Array<CubeFaceInput>;
|
|
2982
|
-
twoSided?: boolean;
|
|
2983
|
-
material?: MaterialType;
|
|
2984
|
-
shininess?: number;
|
|
2985
|
-
roughness?: number;
|
|
2986
|
-
specularIntensity?: number;
|
|
2987
|
-
metallic?: number;
|
|
2988
|
-
ambientIntensity?: number;
|
|
2989
|
-
ior?: number;
|
|
2990
|
-
transmission?: number;
|
|
2991
|
-
dispersion?: number;
|
|
2992
|
-
fresnelPower?: number;
|
|
2993
|
-
envIntensity?: number;
|
|
2994
|
-
opacity?: number;
|
|
2995
|
-
}
|
|
2996
|
-
interface Plane3DOptions extends Surface3DOptions {
|
|
2997
|
-
id?: string;
|
|
2998
|
-
width: number;
|
|
2999
|
-
height: number;
|
|
3000
|
-
x?: number;
|
|
3001
|
-
y?: number;
|
|
3002
|
-
z?: number;
|
|
3003
|
-
rotateX?: number;
|
|
3004
|
-
rotateY?: number;
|
|
3005
|
-
rotateZ?: number;
|
|
3006
|
-
background?: string;
|
|
3007
|
-
borderRadius?: number;
|
|
3008
|
-
twoSided?: boolean;
|
|
3009
|
-
material?: MaterialType;
|
|
3010
|
-
shininess?: number;
|
|
3011
|
-
roughness?: number;
|
|
3012
|
-
specularIntensity?: number;
|
|
3013
|
-
metallic?: number;
|
|
3014
|
-
ambientIntensity?: number;
|
|
3015
|
-
ior?: number;
|
|
3016
|
-
transmission?: number;
|
|
3017
|
-
dispersion?: number;
|
|
3018
|
-
fresnelPower?: number;
|
|
3019
|
-
envIntensity?: number;
|
|
3020
|
-
opacity?: number;
|
|
3021
|
-
children?: LayoutNode[];
|
|
3022
|
-
}
|
|
3023
|
-
interface Grid3DOptions {
|
|
3024
|
-
id?: string;
|
|
3025
|
-
width: number;
|
|
3026
|
-
height: number;
|
|
3027
|
-
divisions?: number;
|
|
3028
|
-
color?: string;
|
|
3029
|
-
/** Line thickness in world pixels (default 2). */
|
|
3030
|
-
lineWidth?: number;
|
|
3031
|
-
x?: number;
|
|
3032
|
-
y?: number;
|
|
3033
|
-
z?: number;
|
|
3034
|
-
rotateX?: number;
|
|
3035
|
-
rotateY?: number;
|
|
3036
|
-
rotateZ?: number;
|
|
3037
|
-
opacity?: number;
|
|
3038
|
-
}
|
|
3039
|
-
interface Text3DOptions extends Surface3DOptions {
|
|
3040
|
-
id?: string;
|
|
3041
|
-
text: string;
|
|
3042
|
-
fontSize?: number;
|
|
3043
|
-
fontFamily?: string;
|
|
3044
|
-
fontWeight?: number | string;
|
|
3045
|
-
fontStyle?: string;
|
|
3046
|
-
fill?: string;
|
|
3047
|
-
x?: number;
|
|
3048
|
-
y?: number;
|
|
3049
|
-
z?: number;
|
|
3050
|
-
rotateX?: number;
|
|
3051
|
-
rotateY?: number;
|
|
3052
|
-
rotateZ?: number;
|
|
3053
|
-
scale?: number;
|
|
3054
|
-
scaleX?: number;
|
|
3055
|
-
scaleY?: number;
|
|
3056
|
-
scaleZ?: number;
|
|
3057
|
-
align?: "start" | "center" | "end" | "left" | "right";
|
|
3058
|
-
/**
|
|
3059
|
-
* Base direction: "auto" (default) takes it from the first strong
|
|
3060
|
-
* character, so Arabic and Hebrew read right to left. "start"/"end"
|
|
3061
|
-
* alignment follows it.
|
|
3062
|
-
*/
|
|
3063
|
-
direction?: "ltr" | "rtl" | "auto";
|
|
3064
|
-
verticalAlign?: "top" | "middle" | "bottom";
|
|
3065
|
-
letterSpacing?: number;
|
|
3066
|
-
lineHeight?: number;
|
|
3067
|
-
is3D?: boolean;
|
|
3068
|
-
twoSided?: boolean;
|
|
3069
|
-
material?: MaterialType;
|
|
3070
|
-
shininess?: number;
|
|
3071
|
-
roughness?: number;
|
|
3072
|
-
specularIntensity?: number;
|
|
3073
|
-
ambientIntensity?: number;
|
|
3074
|
-
metallic?: number;
|
|
3075
|
-
ior?: number;
|
|
3076
|
-
transmission?: number;
|
|
3077
|
-
dispersion?: number;
|
|
3078
|
-
fresnelPower?: number;
|
|
3079
|
-
envIntensity?: number;
|
|
3080
|
-
opacity?: number;
|
|
3081
|
-
background?: string;
|
|
3082
|
-
borderRadius?: number;
|
|
3083
|
-
padding?: number;
|
|
3084
|
-
stroke?: string;
|
|
3085
|
-
strokeWidth?: number;
|
|
3086
|
-
extrusionDepth?: number;
|
|
3087
|
-
/** @deprecated No effect: extruded text is one solid mesh, not a stack of slices. */
|
|
3088
|
-
extrusionSteps?: number;
|
|
3089
|
-
/**
|
|
3090
|
-
* Extruded text only: color of the side walls. `fill` colors the letter
|
|
3091
|
-
* faces (front and back). Defaults to `fill`.
|
|
3092
|
-
*/
|
|
3093
|
-
bevelColor?: string;
|
|
3094
|
-
}
|
|
3095
|
-
interface ExtrudedText3DOptions extends Text3DOptions {
|
|
3096
|
-
depth: number;
|
|
3097
|
-
/** @deprecated No effect: extruded text is one solid mesh, not a stack of slices. */
|
|
3098
|
-
slices?: number;
|
|
3099
|
-
/** Fixed straight segments per curve; by default curves split as finely as their on-screen size needs. */
|
|
3100
|
-
curveSegments?: number;
|
|
3101
|
-
/** Most a flattened curve strays from the outline, in on-screen px at scale 1 (default 0.1). */
|
|
3102
|
-
curveTolerance?: number;
|
|
3103
|
-
}
|
|
3104
|
-
/** Node props shared by the mesh primitives (roundedBox, sphere, cylinder). */
|
|
3105
|
-
interface Primitive3DNodeOptions extends Surface3DOptions {
|
|
3106
|
-
id?: string;
|
|
3107
|
-
x?: number;
|
|
3108
|
-
y?: number;
|
|
3109
|
-
z?: number;
|
|
3110
|
-
rotateX?: number;
|
|
3111
|
-
rotateY?: number;
|
|
3112
|
-
rotateZ?: number;
|
|
3113
|
-
scale?: number;
|
|
3114
|
-
scaleX?: number;
|
|
3115
|
-
scaleY?: number;
|
|
3116
|
-
scaleZ?: number;
|
|
3117
|
-
/** Surface color baked into the mesh (default white). */
|
|
3118
|
-
color?: string;
|
|
3119
|
-
/**
|
|
3120
|
-
* Multiplies the surface color. It is the node's `color`, so animate it
|
|
3121
|
-
* with `.keys("color", …)`; the baked surface `color` stays fixed.
|
|
3122
|
-
*/
|
|
3123
|
-
tint?: string;
|
|
3124
|
-
material?: MaterialType;
|
|
3125
|
-
shininess?: number;
|
|
3126
|
-
roughness?: number;
|
|
3127
|
-
specularIntensity?: number;
|
|
3128
|
-
ambientIntensity?: number;
|
|
3129
|
-
metallic?: number;
|
|
3130
|
-
opacity?: number;
|
|
3131
|
-
startFrame?: number;
|
|
3132
|
-
durationFrames?: number;
|
|
3133
|
-
}
|
|
3134
|
-
type RoundedBox3DOptions = Primitive3DNodeOptions & Omit<RoundedBoxGeometryOptions, "type" | "color" | "material">;
|
|
3135
|
-
type Sphere3DOptions = Primitive3DNodeOptions & Omit<SphereGeometryOptions, "type" | "color" | "material">;
|
|
3136
|
-
type Cylinder3DOptions = Primitive3DNodeOptions & Omit<CylinderGeometryOptions, "type" | "color" | "material">;
|
|
3137
|
-
type Shape3DContainer = AnimatableNode<BoxNode> & {
|
|
3138
|
-
faces?: AnimatableNode<BoxNode>[];
|
|
3139
|
-
items?: LayoutNode[];
|
|
3140
|
-
[Symbol.iterator](): Iterator<LayoutNode>;
|
|
3141
|
-
};
|
|
3142
|
-
declare const Layer3D: {
|
|
3143
|
-
/**
|
|
3144
|
-
* Creates a true 3D volumetric cube with 6 textured or colored faces.
|
|
3145
|
-
* Returns a preserve-3d container that can be transformed in 3D camera space.
|
|
3146
|
-
*/
|
|
3147
|
-
cube(options: Cube3DOptions): Shape3DContainer;
|
|
3148
|
-
/**
|
|
3149
|
-
* Creates a 3D cylindrical carousel of items arranged radially around a center point.
|
|
3150
|
-
*/
|
|
3151
|
-
carousel(options: Carousel3DOptions): Shape3DContainer;
|
|
3152
|
-
/**
|
|
3153
|
-
* Creates an N-sided regular polygonal 3D prism.
|
|
3154
|
-
*/
|
|
3155
|
-
prism(options: Prism3DOptions): Shape3DContainer;
|
|
3156
|
-
/**
|
|
3157
|
-
* Creates a standalone planar 3D card/quad.
|
|
3158
|
-
*/
|
|
3159
|
-
plane(options: Plane3DOptions): AnimatableNode<BoxNode>;
|
|
3160
|
-
/**
|
|
3161
|
-
* Creates a 3D perspective ground grid: `divisions` cells per side, each
|
|
3162
|
-
* line its own unlit quad so it stays crisp at any camera distance.
|
|
3163
|
-
*/
|
|
3164
|
-
grid(options: Grid3DOptions): AnimatableNode<BoxNode>;
|
|
3165
|
-
/**
|
|
3166
|
-
* Creates a standalone planar 3D text node, or solid extruded 3D text when `extrusionDepth` is set.
|
|
3167
|
-
*/
|
|
3168
|
-
text(options: Text3DOptions): AnimatableNode<LayoutNode>;
|
|
3169
|
-
/**
|
|
3170
|
-
* Creates solid extruded 3D typography: `fill` colors the letter faces,
|
|
3171
|
-
* `bevelColor` the side walls; curves are tessellated to `curveTolerance`.
|
|
3172
|
-
*/
|
|
3173
|
-
extrudedText(options: ExtrudedText3DOptions): Shape3DContainer;
|
|
3174
|
-
/**
|
|
3175
|
-
* A solid box with rounded edges and corners, as one smooth-shaded mesh:
|
|
3176
|
-
* cards, buttons, device bodies. `taper` below 1 narrows the top (-y)
|
|
3177
|
-
* face, the shape of a keycap. Equal shapes share one GPU buffer.
|
|
3178
|
-
*/
|
|
3179
|
-
roundedBox(options: RoundedBox3DOptions): AnimatableNode<Model3DNode>;
|
|
3180
|
-
/** A UV sphere mesh. */
|
|
3181
|
-
sphere(options: Sphere3DOptions): AnimatableNode<Model3DNode>;
|
|
3182
|
-
/** A capped cylinder, or a cone/frustum with different top and bottom radii. */
|
|
3183
|
-
cylinder(options: Cylinder3DOptions): AnimatableNode<Model3DNode>;
|
|
3184
|
-
/**
|
|
3185
|
-
* Creates a 3D model node rendered natively with WebGPU mesh shaders.
|
|
3186
|
-
*/
|
|
3187
|
-
model(options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3188
|
-
/**
|
|
3189
|
-
* Convenience helper to create a 3D Wavefront OBJ model node.
|
|
3190
|
-
*/
|
|
3191
|
-
obj(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3192
|
-
/**
|
|
3193
|
-
* Convenience helper to create a 3D Autodesk FBX model node with skeletal animation support.
|
|
3194
|
-
*/
|
|
3195
|
-
fbx(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3196
|
-
/**
|
|
3197
|
-
* Convenience helper to create a 3D glTF 2.0 model node.
|
|
3198
|
-
*/
|
|
3199
|
-
gltf(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3200
|
-
/**
|
|
3201
|
-
* Convenience helper to create a 3D GLB binary container model node.
|
|
3202
|
-
*/
|
|
3203
|
-
glb(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3204
|
-
/**
|
|
3205
|
-
* Convenience helper to create a 3D STL CAD / 3D printing model node.
|
|
3206
|
-
*/
|
|
3207
|
-
stl(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3208
|
-
/**
|
|
3209
|
-
* Convenience helper to create a 3D Stanford PLY scan model node.
|
|
3210
|
-
*/
|
|
3211
|
-
ply(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3212
|
-
/**
|
|
3213
|
-
* Convenience helper to create a 3D MagicaVoxel VOX model node.
|
|
3214
|
-
*/
|
|
3215
|
-
vox(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3216
|
-
/**
|
|
3217
|
-
* Convenience helper to create a 3D Studio (3DS) binary model node.
|
|
3218
|
-
*/
|
|
3219
|
-
threeDS(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3220
|
-
/**
|
|
3221
|
-
* Convenience helper to create a 3D Object File Format (OFF) model node.
|
|
3222
|
-
*/
|
|
3223
|
-
off(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3224
|
-
};
|
|
3225
|
-
//#endregion
|
|
3226
|
-
//#region src/transitions.d.ts
|
|
3227
|
-
type TransitionDirection = "left" | "right" | "up" | "down";
|
|
3228
|
-
/** What a transition needs to know to animate two scenes. */
|
|
3229
|
-
interface TransitionContext {
|
|
3230
|
-
/** Scene size (px). */
|
|
3231
|
-
width: number;
|
|
3232
|
-
height: number;
|
|
3233
|
-
/** Overlap length in frames. */
|
|
3234
|
-
frames: number;
|
|
3235
|
-
/** Outgoing scene: local frame where the overlap starts, and its rest position. */
|
|
3236
|
-
outStart: number;
|
|
3237
|
-
outRest: {
|
|
3238
|
-
x: number;
|
|
3239
|
-
y: number;
|
|
3240
|
-
};
|
|
3241
|
-
/** Incoming scene rest position (the overlap starts at its local frame 0). */
|
|
3242
|
-
inRest: {
|
|
3243
|
-
x: number;
|
|
3244
|
-
y: number;
|
|
3245
|
-
};
|
|
3246
|
-
}
|
|
3247
|
-
interface TransitionParts {
|
|
3248
|
-
outgoing?: LayerAnimation;
|
|
3249
|
-
incoming?: LayerAnimation;
|
|
3250
|
-
/** A matte revealing the incoming scene (laid out like the scene, keyed from its start). */
|
|
3251
|
-
incomingMatte?: LayoutNode;
|
|
3252
|
-
/** Static props set on both scenes (e.g. motion blur for a whip). */
|
|
3253
|
-
sceneProps?: Record<string, unknown>;
|
|
3254
|
-
}
|
|
3255
|
-
interface TransitionSpec {
|
|
3256
|
-
readonly kind: string;
|
|
3257
|
-
/** Overlap between the two scenes, in frames (0 = hard cut). */
|
|
3258
|
-
readonly frames: number;
|
|
3259
|
-
/** @internal */
|
|
3260
|
-
build(ctx: TransitionContext): TransitionParts;
|
|
3261
|
-
}
|
|
3262
|
-
/**
|
|
3263
|
-
* Scene-to-scene transitions for `Layer.sequence`. `frames` is how long the
|
|
3264
|
-
* two scenes overlap; `ease` shapes the move (default "power3.inOut").
|
|
3265
|
-
*/
|
|
3266
|
-
declare const Transition: {
|
|
3267
|
-
/** Instant cut. */
|
|
3268
|
-
cut: () => TransitionSpec;
|
|
3269
|
-
/** The incoming scene fades in over the outgoing one. */
|
|
3270
|
-
crossfade: (frames?: number, ease?: string) => TransitionSpec;
|
|
3271
|
-
/** Out to the background, then in: a dip to the composition's background color. */
|
|
3272
|
-
fadeThrough: (frames?: number, ease?: string) => TransitionSpec;
|
|
3273
|
-
/** Both scenes move together: the new one pushes the old one out toward `direction`. */
|
|
3274
|
-
push: (direction?: TransitionDirection, frames?: number, ease?: string) => TransitionSpec;
|
|
3275
|
-
/** The new scene slides in over the old one, which stays put and dims slightly. */
|
|
3276
|
-
slide: (direction?: TransitionDirection, frames?: number, ease?: string) => TransitionSpec;
|
|
3277
|
-
/** Old scene grows and fades, new one settles in from slightly small. */
|
|
3278
|
-
zoom: (frames?: number, ease?: string) => TransitionSpec;
|
|
3279
|
-
/** A fast, motion-blurred push: the camera whips to the next scene. */
|
|
3280
|
-
whip: (direction?: TransitionDirection, frames?: number) => TransitionSpec;
|
|
3281
|
-
/** A hard edge sweeps across, revealing the new scene. */
|
|
3282
|
-
wipe: (direction?: TransitionDirection, frames?: number, ease?: string) => TransitionSpec;
|
|
3283
|
-
/** A circle opens from the center (or `at`, as fractions of the frame) to reveal the new scene. */
|
|
3284
|
-
iris: (frames?: number, options?: {
|
|
3285
|
-
at?: [number, number];
|
|
3286
|
-
ease?: string;
|
|
3287
|
-
}) => TransitionSpec;
|
|
3288
|
-
};
|
|
3289
|
-
interface SequenceEntry {
|
|
3290
|
-
/** A full-frame layer (usually a box holding the scene). */
|
|
3291
|
-
scene: AnimatableNode<LayoutNode> | LayoutNode;
|
|
3292
|
-
/** Frames this scene is on screen, transitions included. */
|
|
3293
|
-
duration: number;
|
|
3294
|
-
/** How this scene arrives from the previous one (default: cut). */
|
|
3295
|
-
transition?: TransitionSpec;
|
|
3296
|
-
}
|
|
3297
|
-
interface SceneSequenceOptions {
|
|
3298
|
-
id?: string;
|
|
3299
|
-
/** Scene size used by moving transitions (default: each scene's own width/height, else 1920×1080). */
|
|
3300
|
-
width?: number;
|
|
3301
|
-
height?: number;
|
|
3302
|
-
/** First frame of the whole sequence. Default 0. */
|
|
3303
|
-
startFrame?: number;
|
|
3304
|
-
}
|
|
3305
|
-
type SequenceNode = AnimatableNode<BoxNode> & {
|
|
3306
|
-
/** Total length in frames: put it in the composition's duration. */
|
|
3307
|
-
readonly totalFrames: number;
|
|
3308
|
-
/** Where each scene starts (composition frames, relative to the sequence). */
|
|
3309
|
-
readonly sceneStarts: readonly number[];
|
|
3310
|
-
};
|
|
3311
|
-
//#endregion
|
|
3312
|
-
//#region ../renderers/dist/index.d.mts
|
|
3313
|
-
//#region src/blend.d.ts
|
|
3314
|
-
declare const mapBlendModeToSkia: (mode?: string) => string;
|
|
3315
|
-
declare const requiresIsolation: (mode?: string) => boolean;
|
|
3316
|
-
//#endregion
|
|
3317
|
-
//#region src/geometry.d.ts
|
|
3318
|
-
interface StrokeRect {
|
|
3319
|
-
x: number;
|
|
3320
|
-
y: number;
|
|
3321
|
-
width: number;
|
|
3322
|
-
height: number;
|
|
3323
|
-
radius: number;
|
|
3324
|
-
}
|
|
3325
|
-
declare function computeStrokeRect(w: number, h: number, cornerRadius: number, strokeWidth: number, align?: "inside" | "outside" | "center"): StrokeRect;
|
|
3326
|
-
//#endregion
|
|
3327
|
-
//#region src/interpolate.d.ts
|
|
3328
|
-
declare function bezier(mX1: number, mY1: number, mX2: number, mY2: number): (x: number) => number;
|
|
3329
|
-
declare const Easing: {
|
|
3330
|
-
linear: (x: number) => number;
|
|
3331
|
-
ease: (x: number) => number;
|
|
3332
|
-
quad: (t: number) => number;
|
|
3333
|
-
cubic: (t: number) => number;
|
|
3334
|
-
poly: (n: number) => (t: number) => number;
|
|
3335
|
-
sin: (t: number) => number;
|
|
3336
|
-
circle: (t: number) => number;
|
|
3337
|
-
exp: (t: number) => number;
|
|
3338
|
-
elastic: (bounciness?: number) => (t: number) => number;
|
|
3339
|
-
back: (s?: number) => (t: number) => number;
|
|
3340
|
-
bounce: (t: number) => number;
|
|
3341
|
-
bezier: typeof bezier;
|
|
3342
|
-
in: <T extends (t: number) => number>(fn: T) => T;
|
|
3343
|
-
out: <T extends (t: number) => number>(fn: T) => ((t: number) => number);
|
|
3344
|
-
inOut: <T extends (t: number) => number>(fn: T) => ((t: number) => number);
|
|
3345
|
-
};
|
|
3346
|
-
interface InterpolateOptions {
|
|
3347
|
-
extrapolateLeft?: "clamp" | "extend" | "identity";
|
|
3348
|
-
extrapolateRight?: "clamp" | "extend" | "identity";
|
|
3349
|
-
easing?: (t: number) => number;
|
|
3350
|
-
}
|
|
3351
|
-
declare function interpolate(value: number, inputRange: readonly number[], outputRange: readonly number[], options?: InterpolateOptions): number;
|
|
3352
|
-
//#endregion
|
|
3353
|
-
//#region src/preload-fonts.d.ts
|
|
3354
|
-
type Device = Parameters<typeof SlugFontCache.preloadSlugFont>[0];
|
|
3355
|
-
/**
|
|
3356
|
-
* Loads every font a composition's text uses (for layout and for drawing) and
|
|
3357
|
-
* the emoji it draws. The browser preview and the export both call this, so
|
|
3358
|
-
* they start each render from the same glyphs.
|
|
3359
|
-
*/
|
|
3360
|
-
declare function preloadCompositionFonts(media: VirtualMediaData, device: Device | null, onError?: (err: unknown, what: string) => void): Promise<void>;
|
|
3361
|
-
//#endregion
|
|
3362
|
-
//#region src/spring.d.ts
|
|
3363
|
-
type AnimationNode = {
|
|
3364
|
-
lastTimestamp: number;
|
|
3365
|
-
toValue: number;
|
|
3366
|
-
current: number;
|
|
3367
|
-
velocity: number;
|
|
3368
|
-
prevPosition?: number;
|
|
3369
|
-
};
|
|
3370
|
-
type SpringConfig = {
|
|
3371
|
-
damping: number;
|
|
3372
|
-
mass: number;
|
|
3373
|
-
stiffness: number;
|
|
3374
|
-
overshootClamping: boolean;
|
|
3375
|
-
};
|
|
3376
|
-
declare function springCalculation({
|
|
3377
|
-
frame,
|
|
3378
|
-
fps,
|
|
3379
|
-
config
|
|
3380
|
-
}: {
|
|
3381
|
-
frame: number;
|
|
3382
|
-
fps: number;
|
|
3383
|
-
config?: Partial<SpringConfig>;
|
|
3384
|
-
}): AnimationNode;
|
|
3385
|
-
type MeasureSpringProps = {
|
|
3386
|
-
fps: number;
|
|
3387
|
-
config?: Partial<SpringConfig>;
|
|
3388
|
-
threshold?: number;
|
|
3389
|
-
};
|
|
3390
|
-
declare function measureSpring({
|
|
3391
|
-
fps,
|
|
3392
|
-
config,
|
|
3393
|
-
threshold
|
|
3394
|
-
}: MeasureSpringProps): number;
|
|
3395
|
-
declare function spring({
|
|
3396
|
-
frame: passedFrame,
|
|
3397
|
-
fps,
|
|
3398
|
-
config,
|
|
3399
|
-
from,
|
|
3400
|
-
to,
|
|
3401
|
-
durationInFrames: passedDurationInFrames,
|
|
3402
|
-
durationRestThreshold,
|
|
3403
|
-
delay,
|
|
3404
|
-
reverse
|
|
3405
|
-
}: {
|
|
3406
|
-
frame: number;
|
|
3407
|
-
fps: number;
|
|
3408
|
-
config?: Partial<SpringConfig>;
|
|
3409
|
-
from?: number;
|
|
3410
|
-
to?: number;
|
|
3411
|
-
durationInFrames?: number;
|
|
3412
|
-
durationRestThreshold?: number;
|
|
3413
|
-
delay?: number;
|
|
3414
|
-
reverse?: boolean;
|
|
3415
|
-
}): number;
|
|
3416
|
-
//#endregion
|
|
3417
|
-
//#region src/text-measurer.d.ts
|
|
3418
|
-
interface TextMeasureStyle {
|
|
3419
|
-
fontFamily?: string;
|
|
3420
|
-
fontSize?: number;
|
|
3421
|
-
fontWeight?: string | number;
|
|
3422
|
-
fontStyle?: string;
|
|
3423
|
-
letterSpacing?: number;
|
|
3424
|
-
lineHeight?: number;
|
|
3425
|
-
padding?: number;
|
|
3426
|
-
align?: "left" | "center" | "right";
|
|
3427
|
-
direction?: "ltr" | "rtl" | "auto";
|
|
3428
|
-
width?: number;
|
|
3429
|
-
height?: number;
|
|
3430
|
-
autoDimensions?: boolean;
|
|
3431
|
-
strokeWidth?: number;
|
|
3432
|
-
strokeAlign?: "inside" | "center" | "outside";
|
|
3433
|
-
keepNaturalWidth?: boolean;
|
|
3434
|
-
spans?: TextSpan[];
|
|
3435
|
-
}
|
|
3436
|
-
interface TextMeasureResult {
|
|
3437
|
-
width: number;
|
|
3438
|
-
height: number;
|
|
3439
|
-
}
|
|
3440
|
-
/**
|
|
3441
|
-
* Shared text measurer that uses SlugGeometry.measure for all environments.
|
|
3442
|
-
*/
|
|
3443
|
-
declare function measureText(text: string | null | undefined, style: TextMeasureStyle): TextMeasureResult;
|
|
3444
|
-
/**
|
|
3445
|
-
* Async variant of measureText. Preloads the Slug font and yields to the browser.
|
|
3446
|
-
*/
|
|
3447
|
-
declare function measureTextAsync(text: string | null | undefined, style: TextMeasureStyle): Promise<TextMeasureResult>;
|
|
3448
|
-
//#endregion
|
|
3449
|
-
//#region src/utils.d.ts
|
|
3450
|
-
/**
|
|
3451
|
-
* Preloads a font into the browser or headless environment.
|
|
3452
|
-
*/
|
|
3453
|
-
declare function preloadFont(family: string, url: string): Promise<void>;
|
|
3454
|
-
//#endregion
|
|
3455
|
-
//#endregion
|
|
3456
|
-
//#region src/lighting.d.ts
|
|
3457
|
-
interface LightingRigOptions {
|
|
3458
|
-
/** What the lights aim at (world px). Default: the canvas center at z 0. */
|
|
3459
|
-
target?: [number, number, number];
|
|
3460
|
-
/** How far the lights sit from the target. Default 1600. */
|
|
3461
|
-
distance?: number;
|
|
3462
|
-
/** Turns the whole rig (lights and environment) around the vertical axis, degrees. */
|
|
3463
|
-
rotation?: number;
|
|
3464
|
-
/** Scales every light. Default 1. */
|
|
3465
|
-
intensity?: number;
|
|
3466
|
-
/** Exposure in stops. Default 0. */
|
|
3467
|
-
exposure?: number;
|
|
3468
|
-
toneMapping?: ToneMapping;
|
|
3469
|
-
/** Key light casts a soft shadow. Default true. */
|
|
3470
|
-
shadows?: boolean;
|
|
3471
|
-
/** Shadow edge blur in texels. Default 3. */
|
|
3472
|
-
shadowSoftness?: number;
|
|
3473
|
-
/** Fog fading into the background, e.g. `{ color: BG, start: 2500, end: 6000 }`. */
|
|
3474
|
-
fog?: EnvironmentOptions["fog"];
|
|
3475
|
-
/** Glow around emissive surfaces and highlights: `true` or settings. */
|
|
3476
|
-
bloom?: EnvironmentOptions["bloom"];
|
|
3477
|
-
/** Prefix for the rig's node ids. */
|
|
3478
|
-
id?: string;
|
|
3479
|
-
}
|
|
3480
|
-
declare const RIGS: {
|
|
3481
|
-
/** Product photography: soft overhead key with a shadow, cool rim, studio reflections. */
|
|
3482
|
-
studio: {
|
|
3483
|
-
environment: "studio";
|
|
3484
|
-
envIntensity: number;
|
|
3485
|
-
key: {
|
|
3486
|
-
dir: [number, number, number];
|
|
3487
|
-
color: string;
|
|
3488
|
-
intensity: number;
|
|
3489
|
-
};
|
|
3490
|
-
rim: {
|
|
3491
|
-
dir: [number, number, number];
|
|
3492
|
-
color: string;
|
|
3493
|
-
intensity: number;
|
|
3494
|
-
};
|
|
3495
|
-
};
|
|
3496
|
-
/** Bright, airy, low contrast: lifestyle and UI-on-device shots. */
|
|
3497
|
-
soft: {
|
|
3498
|
-
environment: "soft";
|
|
3499
|
-
envIntensity: number;
|
|
3500
|
-
key: {
|
|
3501
|
-
dir: [number, number, number];
|
|
3502
|
-
color: string;
|
|
3503
|
-
intensity: number;
|
|
3504
|
-
};
|
|
3505
|
-
};
|
|
3506
|
-
/** Low warm sun, long shadows, cool sky fill. */
|
|
3507
|
-
sunset: {
|
|
3508
|
-
environment: "sunset";
|
|
3509
|
-
envIntensity: number;
|
|
3510
|
-
key: {
|
|
3511
|
-
dir: [number, number, number];
|
|
3512
|
-
color: string;
|
|
3513
|
-
intensity: number;
|
|
3514
|
-
};
|
|
3515
|
-
fill: {
|
|
3516
|
-
dir: [number, number, number];
|
|
3517
|
-
color: string;
|
|
3518
|
-
intensity: number;
|
|
3519
|
-
};
|
|
3520
|
-
};
|
|
3521
|
-
/** Moody: dark world, hard key, strong rim. Pair with emissive accents. */
|
|
3522
|
-
dramatic: {
|
|
3523
|
-
environment: "night";
|
|
3524
|
-
envIntensity: number;
|
|
3525
|
-
key: {
|
|
3526
|
-
dir: [number, number, number];
|
|
3527
|
-
color: string;
|
|
3528
|
-
intensity: number;
|
|
3529
|
-
};
|
|
3530
|
-
rim: {
|
|
3531
|
-
dir: [number, number, number];
|
|
3532
|
-
color: string;
|
|
3533
|
-
intensity: number;
|
|
3534
|
-
};
|
|
3535
|
-
};
|
|
3536
|
-
};
|
|
3537
|
-
type LightingRig = keyof typeof RIGS;
|
|
3538
|
-
/**
|
|
3539
|
-
* Ready-made lighting: an environment (physical shading, tone mapping) plus
|
|
3540
|
-
* placed key / rim / fill lights, the key casting a soft shadow. Add the
|
|
3541
|
-
* returned nodes to the composition: `comp.add(Lighting.studio({ target }))`.
|
|
3542
|
-
*
|
|
3543
|
-
* Tweak from there rather than starting from zero: `intensity`, `exposure`,
|
|
3544
|
-
* `rotation` (turns the rig), `shadowSoftness`, `fog`.
|
|
3545
|
-
*/
|
|
3546
|
-
declare const Lighting: {
|
|
3547
|
-
studio: (options?: LightingRigOptions) => AnimatableNode<LightNode>[];
|
|
3548
|
-
soft: (options?: LightingRigOptions) => AnimatableNode<LightNode>[];
|
|
3549
|
-
sunset: (options?: LightingRigOptions) => AnimatableNode<LightNode>[];
|
|
3550
|
-
dramatic: (options?: LightingRigOptions) => AnimatableNode<LightNode>[];
|
|
3551
|
-
};
|
|
3552
|
-
//#endregion
|
|
3553
|
-
//#region src/physics/world2d.d.ts
|
|
3554
|
-
interface World2DOptions extends PhysicsWorldOptions {
|
|
3555
|
-
/** px/s², y down. A number pulls straight down. Default 2400. */
|
|
3556
|
-
gravity?: number | [number, number];
|
|
3557
|
-
}
|
|
3558
|
-
/** A plain rectangle for bodies with no layer (invisible obstacles, funnels). */
|
|
3559
|
-
interface PhysicsRect {
|
|
3560
|
-
x: number;
|
|
3561
|
-
y: number;
|
|
3562
|
-
width: number;
|
|
3563
|
-
height: number;
|
|
3564
|
-
rotation?: number;
|
|
3565
|
-
borderRadius?: number;
|
|
3566
|
-
}
|
|
3567
|
-
interface Body2DOptions extends BodyCommonOptions {
|
|
3568
|
-
/**
|
|
3569
|
-
* Collider: `"auto"` (default) reads the layer — circles stay circles,
|
|
3570
|
-
* rounded boxes keep their radius, polygons/stars/paths use their convex
|
|
3571
|
-
* hull. Force `"box"`, `"circle"` or `"hull"` (the shape's outline).
|
|
3572
|
-
*/
|
|
3573
|
-
shape?: "auto" | "box" | "circle" | "hull";
|
|
3574
|
-
/** Collider size override `[width, height]`, px. Text layers are measured when they have no size. */
|
|
3575
|
-
size?: [number, number];
|
|
3576
|
-
/** px/s. */
|
|
3577
|
-
velocity?: [number, number];
|
|
3578
|
-
/** Degrees per second, clockwise. */
|
|
3579
|
-
angularVelocity?: number;
|
|
3580
|
-
/**
|
|
3581
|
-
* Kinematic bodies: where the layer is each frame, as its own `x` / `y`
|
|
3582
|
-
* (top-left) and `rotation` (degrees). Missing ones keep the start pose.
|
|
3583
|
-
*/
|
|
3584
|
-
follow?: {
|
|
3585
|
-
x?: PhysicsDriver;
|
|
3586
|
-
y?: PhysicsDriver;
|
|
3587
|
-
rotation?: PhysicsDriver;
|
|
3588
|
-
};
|
|
3589
|
-
}
|
|
3590
|
-
type LayerLike$1 = Record<string, unknown> & {
|
|
3591
|
-
kind?: string;
|
|
3592
|
-
animate?: (...a: unknown[]) => unknown;
|
|
3593
|
-
};
|
|
3594
|
-
/**
|
|
3595
|
-
* A simulated body. Its signals hold one value per composition frame; bind
|
|
3596
|
-
* them to any prop or effect uniform (`.signal("opacity", body.impact)`).
|
|
3597
|
-
* Reading a signal runs the simulation if it has not run yet.
|
|
3598
|
-
*/
|
|
3599
|
-
declare class PhysicsBody2D implements CoreBody<Vec2$1, number> {
|
|
3600
|
-
/** @internal */readonly world: PhysicsWorld2D;
|
|
3601
|
-
readonly type: "dynamic" | "fixed" | "kinematic";
|
|
3602
|
-
readonly layer: LayerLike$1 | undefined;
|
|
3603
|
-
/** Layer box size (unscaled), scale and pivot, to turn the center back into x/y. */
|
|
3604
|
-
private readonly frame;
|
|
3605
|
-
private readonly options;
|
|
3606
|
-
readonly collisions: PhysicsCollision<PhysicsBody2D>[];
|
|
3607
|
-
/** @internal */
|
|
3608
|
-
readonly recording: Recording;
|
|
3609
|
-
/** @internal */
|
|
3610
|
-
readonly sim: SimBody2D;
|
|
3611
|
-
/** @internal */
|
|
3612
|
-
constructor(/** @internal */world: PhysicsWorld2D, sim: SimBody2D, type: "dynamic" | "fixed" | "kinematic", layer: LayerLike$1 | undefined, /** Layer box size (unscaled), scale and pivot, to turn the center back into x/y. */
|
|
3613
|
-
frame: {
|
|
3614
|
-
width: number;
|
|
3615
|
-
height: number;
|
|
3616
|
-
scale: number;
|
|
3617
|
-
anchorX: number;
|
|
3618
|
-
anchorY: number;
|
|
3619
|
-
rotation: number;
|
|
3620
|
-
}, options: Body2DOptions, recording: Recording);
|
|
3621
|
-
get startFrame(): number;
|
|
3622
|
-
get gravityScale(): number;
|
|
3623
|
-
get output(): Body2DOptions["output"];
|
|
3624
|
-
/** The layer's `x` (top-left) every frame. */
|
|
3625
|
-
get x(): FrameSignal<number>;
|
|
3626
|
-
/** The layer's `y` (top-left) every frame. */
|
|
3627
|
-
get y(): FrameSignal<number>;
|
|
3628
|
-
/** Degrees, clockwise, continuous (no jump at 360). */
|
|
3629
|
-
get rotation(): FrameSignal<number>;
|
|
3630
|
-
/** Body center, px. */
|
|
3631
|
-
get centerX(): FrameSignal<number>;
|
|
3632
|
-
get centerY(): FrameSignal<number>;
|
|
3633
|
-
/** px/s. */
|
|
3634
|
-
get vx(): FrameSignal<number>;
|
|
3635
|
-
get vy(): FrameSignal<number>;
|
|
3636
|
-
/** px/s. */
|
|
3637
|
-
get speed(): FrameSignal<number>;
|
|
3638
|
-
/** Degrees per second. */
|
|
3639
|
-
get angularVelocity(): FrameSignal<number>;
|
|
3640
|
-
/**
|
|
3641
|
-
* Hit envelope: jumps on each new contact (1 ≈ a 1500 px/s velocity
|
|
3642
|
-
* change, see `impactReference`) and decays over `impactDecay` frames.
|
|
3643
|
-
*/
|
|
3644
|
-
get impact(): FrameSignal<number>;
|
|
3645
|
-
/** 1 while the body is at rest, else 0. */
|
|
3646
|
-
get sleeping(): FrameSignal<number>;
|
|
3647
|
-
/** @internal */
|
|
3648
|
-
kinematicTarget(frame: number): {
|
|
3649
|
-
position: Vec2$1;
|
|
3650
|
-
rotation: number;
|
|
3651
|
-
} | undefined;
|
|
3652
|
-
private initialLayerXY;
|
|
3653
|
-
/** @internal */
|
|
3654
|
-
record(index: number, previous: number): void;
|
|
3655
|
-
/** @internal */
|
|
3656
|
-
boundChannels(): Array<[AnimatableProp, string]>;
|
|
3657
|
-
/** @internal World-space point (px) → this body's local frame (meters), at the start pose. */
|
|
3658
|
-
localAnchor(point: Vec2$1 | undefined): Vec2$1;
|
|
3659
|
-
/** @internal Start-pose center in px. */
|
|
3660
|
-
center(): Vec2$1;
|
|
3661
|
-
}
|
|
3662
|
-
/** What a {@link PhysicsWorld2D.field} sees for one body. */
|
|
3663
|
-
interface FieldSample2D {
|
|
3664
|
-
/** Body center, px. */
|
|
3665
|
-
x: number;
|
|
3666
|
-
y: number;
|
|
3667
|
-
/** px/s. */
|
|
3668
|
-
vx: number;
|
|
3669
|
-
vy: number;
|
|
3670
|
-
/** Composition frame. */
|
|
3671
|
-
frame: number;
|
|
3672
|
-
body: PhysicsBody2D;
|
|
3673
|
-
}
|
|
3674
|
-
interface PhysicsSpringOptions {
|
|
3675
|
-
/** Rest length, px (default: the distance at the start). */
|
|
3676
|
-
length?: number;
|
|
3677
|
-
/** Oscillations per second (default 2). Higher is stiffer. */
|
|
3678
|
-
frequency?: number;
|
|
3679
|
-
/** 0 bounces forever, 1 settles without overshoot (default 0.2). */
|
|
3680
|
-
dampingRatio?: number;
|
|
3681
|
-
/** Attachment point on body A, world px at the start (default its center). */
|
|
3682
|
-
anchorA?: [number, number];
|
|
3683
|
-
/** Attachment point on body B (or the world point), world px. */
|
|
3684
|
-
anchorB?: [number, number];
|
|
3685
|
-
}
|
|
3686
|
-
interface PhysicsRopeOptions {
|
|
3687
|
-
/** Maximum length, px (default: the distance at the start). */
|
|
3688
|
-
length?: number;
|
|
3689
|
-
anchorA?: [number, number];
|
|
3690
|
-
anchorB?: [number, number];
|
|
3691
|
-
}
|
|
3692
|
-
interface PhysicsGroundOptions {
|
|
3693
|
-
/** Top edge of the ground, px. */
|
|
3694
|
-
y: number;
|
|
3695
|
-
friction?: number;
|
|
3696
|
-
restitution?: number;
|
|
3697
|
-
}
|
|
3698
|
-
interface PhysicsWallsOptions {
|
|
3699
|
-
x?: number;
|
|
3700
|
-
y?: number;
|
|
3701
|
-
width: number;
|
|
3702
|
-
height: number;
|
|
3703
|
-
/** Close the top too (default false: things can fall in). */
|
|
3704
|
-
ceiling?: boolean;
|
|
3705
|
-
/** Wall thickness outside the box, px (default 400). */
|
|
3706
|
-
thickness?: number;
|
|
3707
|
-
friction?: number;
|
|
3708
|
-
restitution?: number;
|
|
3709
|
-
}
|
|
3710
|
-
/**
|
|
3711
|
-
* A deterministic 2D rigid-body world (Rapier) in layer pixels. Build it,
|
|
3712
|
-
* add bodies from layers, then `simulate()`: each body's layer is bound to
|
|
3713
|
-
* its simulated `x` / `y` / `rotation`, and every body exposes signals
|
|
3714
|
-
* (`impact`, `speed`, …) for driving anything else. The simulation runs
|
|
3715
|
-
* once while the composition is built, so frames render in any order and
|
|
3716
|
-
* identically on every machine.
|
|
3717
|
-
*/
|
|
3718
|
-
declare class PhysicsWorld2D extends WorldCore<Vec2$1, number, PhysicsBody2D> {
|
|
3719
|
-
/** @internal */
|
|
3720
|
-
constructor(backend: PhysicsBackend, options: World2DOptions);
|
|
3721
|
-
/**
|
|
3722
|
-
* Adds a body for a layer (absolutely positioned: `x`, `y`, and a size)
|
|
3723
|
-
* or for a plain rectangle. The layer's current pose is the start pose.
|
|
3724
|
-
*/
|
|
3725
|
-
body(target: LayoutNode | PhysicsRect, options?: Body2DOptions): PhysicsBody2D;
|
|
3726
|
-
/** A fixed, very wide floor whose top edge sits at `y`. */
|
|
3727
|
-
ground(options: PhysicsGroundOptions): PhysicsBody2D;
|
|
3728
|
-
/** Fixed floor, left and right walls (and optionally a ceiling) around a box, e.g. the canvas. */
|
|
3729
|
-
walls(options: PhysicsWallsOptions): {
|
|
3730
|
-
floor: PhysicsBody2D;
|
|
3731
|
-
left: PhysicsBody2D;
|
|
3732
|
-
right: PhysicsBody2D;
|
|
3733
|
-
ceiling?: PhysicsBody2D;
|
|
3734
|
-
};
|
|
3735
|
-
/** Pins a body to the world at a point (default its center); it can still swing around it. */
|
|
3736
|
-
pin(body: PhysicsBody2D, at?: [number, number]): this;
|
|
3737
|
-
/** Joins two bodies at a world point so they swing around it (a hinge). */
|
|
3738
|
-
hinge(a: PhysicsBody2D, b: PhysicsBody2D, at: [number, number]): this;
|
|
3739
|
-
/** Glues two bodies together rigidly. */
|
|
3740
|
-
weld(a: PhysicsBody2D, b: PhysicsBody2D): this;
|
|
3741
|
-
/** A damped spring between two bodies, or from a body to a world point. */
|
|
3742
|
-
spring(a: PhysicsBody2D, b: PhysicsBody2D | [number, number], options?: PhysicsSpringOptions): this;
|
|
3743
|
-
/** A rope: never longer than `length`, slack when closer. */
|
|
3744
|
-
rope(a: PhysicsBody2D, b: PhysicsBody2D | [number, number], options?: PhysicsRopeOptions): this;
|
|
3745
|
-
/** A steady push, px/s² (mass-independent): wind, magnets, audio. Drivers are read every frame. */
|
|
3746
|
-
force(body: PhysicsBody2D, accel: {
|
|
3747
|
-
x?: PhysicsDriver;
|
|
3748
|
-
y?: PhysicsDriver;
|
|
3749
|
-
}): this;
|
|
3750
|
-
/**
|
|
3751
|
-
* A force field: called for every awake dynamic body (or just `bodies`)
|
|
3752
|
-
* each solver step with its center and velocity in px, px/s; returns an
|
|
3753
|
-
* acceleration `[ax, ay]` px/s² (or nothing). Wind, vortices, magnets,
|
|
3754
|
-
* flow fields, a dancer's silhouette pushing particles.
|
|
3755
|
-
*/
|
|
3756
|
-
field(accel: (sample: FieldSample2D) => [number, number] | null | undefined, options?: {
|
|
3757
|
-
bodies?: readonly PhysicsBody2D[];
|
|
3758
|
-
}): this;
|
|
3759
|
-
/** An instant kick at a simulation frame: adds `[vx, vy]` px/s to the body's velocity. */
|
|
3760
|
-
impulse(body: PhysicsBody2D, frame: number, velocity: [number, number]): this;
|
|
3761
|
-
protected lerpRotation(a: number, b: number, t: number): number;
|
|
3762
|
-
private joint;
|
|
3763
|
-
private anchorBody;
|
|
3764
|
-
private endpoints;
|
|
3765
|
-
}
|
|
3766
|
-
//#endregion
|
|
3767
|
-
//#region src/physics/world3d.d.ts
|
|
3768
|
-
interface World3DOptions extends PhysicsWorldOptions {
|
|
3769
|
-
/** px/s², y down. A number pulls straight down. Default 2400. */
|
|
3770
|
-
gravity?: number | [number, number, number];
|
|
3771
|
-
}
|
|
3772
|
-
/** A plain box for bodies with no layer (invisible obstacles). Centered on x/y/z like Layer3D. */
|
|
3773
|
-
interface PhysicsBox3D {
|
|
3774
|
-
x: number;
|
|
3775
|
-
y: number;
|
|
3776
|
-
z: number;
|
|
3777
|
-
width: number;
|
|
3778
|
-
height: number;
|
|
3779
|
-
depth: number;
|
|
3780
|
-
rotateX?: number;
|
|
3781
|
-
rotateY?: number;
|
|
3782
|
-
rotateZ?: number;
|
|
3783
|
-
}
|
|
3784
|
-
interface Body3DOptions extends Omit<BodyCommonOptions, "lockRotation"> {
|
|
3785
|
-
/**
|
|
3786
|
-
* Never rotates (`true`), or only around some axes: `{ x: true, y: true }`
|
|
3787
|
-
* keeps a card facing the camera while it still spins in the picture plane.
|
|
3788
|
-
*/
|
|
3789
|
-
lockRotation?: boolean | {
|
|
3790
|
-
x?: boolean;
|
|
3791
|
-
y?: boolean;
|
|
3792
|
-
z?: boolean;
|
|
3793
|
-
};
|
|
3794
|
-
/**
|
|
3795
|
-
* Collider: `"auto"` (default) reads the Layer3D primitive (box, sphere,
|
|
3796
|
-
* cylinder) and falls back to the mesh's convex hull for models and
|
|
3797
|
-
* tapered or uneven shapes. Force `"box"`, `"sphere"`, `"cylinder"` or `"hull"`.
|
|
3798
|
-
*/
|
|
3799
|
-
shape?: "auto" | "box" | "sphere" | "cylinder" | "hull";
|
|
3800
|
-
/** Collider size override `[width, height, depth]`, px (before the layer's scale). */
|
|
3801
|
-
size?: [number, number, number];
|
|
3802
|
-
/** px/s. */
|
|
3803
|
-
velocity?: [number, number, number];
|
|
3804
|
-
/** Degrees per second around x, y, z. */
|
|
3805
|
-
angularVelocity?: [number, number, number];
|
|
3806
|
-
/** Kinematic bodies: the layer's `x` / `y` / `z` and `rotateX/Y/Z` each frame. */
|
|
3807
|
-
follow?: {
|
|
3808
|
-
x?: PhysicsDriver;
|
|
3809
|
-
y?: PhysicsDriver;
|
|
3810
|
-
z?: PhysicsDriver;
|
|
3811
|
-
rotateX?: PhysicsDriver;
|
|
3812
|
-
rotateY?: PhysicsDriver;
|
|
3813
|
-
rotateZ?: PhysicsDriver;
|
|
3814
|
-
};
|
|
3815
|
-
}
|
|
3816
|
-
type LayerLike = Record<string, unknown> & {
|
|
3817
|
-
kind?: string;
|
|
3818
|
-
};
|
|
3819
|
-
/** Quaternion of the renderer's Euler order: R = Rz · Ry · Rx (degrees). */
|
|
3820
|
-
|
|
3821
|
-
/**
|
|
3822
|
-
* A simulated 3D body. Like {@link PhysicsBody2D}, its signals hold one
|
|
3823
|
-
* value per composition frame and reading one runs the simulation.
|
|
3824
|
-
*/
|
|
3825
|
-
declare class PhysicsBody3D implements CoreBody<Vec3$1, Quat> {
|
|
3826
|
-
/** @internal */readonly world: PhysicsWorld3D;
|
|
3827
|
-
readonly type: "dynamic" | "fixed" | "kinematic";
|
|
3828
|
-
readonly layer: LayerLike | undefined;
|
|
3829
|
-
private readonly start;
|
|
3830
|
-
private readonly options;
|
|
3831
|
-
readonly collisions: PhysicsCollision<PhysicsBody3D>[];
|
|
3832
|
-
/** @internal */
|
|
3833
|
-
readonly recording: Recording;
|
|
3834
|
-
/** @internal */
|
|
3835
|
-
readonly sim: SimBody3D;
|
|
3836
|
-
/** @internal */
|
|
3837
|
-
constructor(/** @internal */world: PhysicsWorld3D, sim: SimBody3D, type: "dynamic" | "fixed" | "kinematic", layer: LayerLike | undefined, start: {
|
|
3838
|
-
position: Vec3$1;
|
|
3839
|
-
rotation: Vec3$1;
|
|
3840
|
-
}, options: Body3DOptions, recording: Recording);
|
|
3841
|
-
get startFrame(): number;
|
|
3842
|
-
get gravityScale(): number;
|
|
3843
|
-
get output(): Body3DOptions["output"];
|
|
3844
|
-
/** Center, px (what Layer3D's `x` / `y` / `z` mean). */
|
|
3845
|
-
get x(): FrameSignal<number>;
|
|
3846
|
-
get y(): FrameSignal<number>;
|
|
3847
|
-
get z(): FrameSignal<number>;
|
|
3848
|
-
/** Degrees, continuous. */
|
|
3849
|
-
get rotateX(): FrameSignal<number>;
|
|
3850
|
-
get rotateY(): FrameSignal<number>;
|
|
3851
|
-
get rotateZ(): FrameSignal<number>;
|
|
3852
|
-
/** px/s. */
|
|
3853
|
-
get vx(): FrameSignal<number>;
|
|
3854
|
-
get vy(): FrameSignal<number>;
|
|
3855
|
-
get vz(): FrameSignal<number>;
|
|
3856
|
-
get speed(): FrameSignal<number>;
|
|
3857
|
-
/** Hit envelope, as on 2D bodies. */
|
|
3858
|
-
get impact(): FrameSignal<number>;
|
|
3859
|
-
/** 1 while the body is at rest, else 0. */
|
|
3860
|
-
get sleeping(): FrameSignal<number>;
|
|
3861
|
-
/** @internal */
|
|
3862
|
-
kinematicTarget(frame: number): {
|
|
3863
|
-
position: Vec3$1;
|
|
3864
|
-
rotation: Quat;
|
|
3865
|
-
} | undefined;
|
|
3866
|
-
/** @internal */
|
|
3867
|
-
record(index: number, previous: number): void;
|
|
3868
|
-
/** @internal */
|
|
3869
|
-
boundChannels(): Array<[AnimatableProp, string]>;
|
|
3870
|
-
/** @internal World point (px) → local frame (meters) at the start pose. */
|
|
3871
|
-
localAnchor(point: Vec3$1 | undefined): Vec3$1;
|
|
3872
|
-
/** @internal Start-pose center, px. */
|
|
3873
|
-
center(): Vec3$1;
|
|
3874
|
-
}
|
|
3875
|
-
/** What a {@link PhysicsWorld3D.field} sees for one body. */
|
|
3876
|
-
interface FieldSample3D {
|
|
3877
|
-
x: number;
|
|
3878
|
-
y: number;
|
|
3879
|
-
z: number;
|
|
3880
|
-
vx: number;
|
|
3881
|
-
vy: number;
|
|
3882
|
-
vz: number;
|
|
3883
|
-
frame: number;
|
|
3884
|
-
body: PhysicsBody3D;
|
|
3885
|
-
}
|
|
3886
|
-
interface PhysicsSpring3DOptions {
|
|
3887
|
-
length?: number;
|
|
3888
|
-
frequency?: number;
|
|
3889
|
-
dampingRatio?: number;
|
|
3890
|
-
anchorA?: Vec3$1;
|
|
3891
|
-
anchorB?: Vec3$1;
|
|
3892
|
-
}
|
|
3893
|
-
interface PhysicsRope3DOptions {
|
|
3894
|
-
length?: number;
|
|
3895
|
-
anchorA?: Vec3$1;
|
|
3896
|
-
anchorB?: Vec3$1;
|
|
3897
|
-
}
|
|
3898
|
-
/**
|
|
3899
|
-
* A deterministic 3D rigid-body world (Rapier) for Layer3D primitives and
|
|
3900
|
-
* models, in the 3D scene's pixels (y down). Same flow as 2D: add bodies,
|
|
3901
|
-
* `simulate()`, and each layer's `x/y/z` and `rotateX/Y/Z` follow the
|
|
3902
|
-
* simulation; bodies expose signals for everything else.
|
|
3903
|
-
*/
|
|
3904
|
-
declare class PhysicsWorld3D extends WorldCore<Vec3$1, Quat, PhysicsBody3D> {
|
|
3905
|
-
/** @internal */
|
|
3906
|
-
constructor(backend: PhysicsBackend, options: World3DOptions);
|
|
3907
|
-
/** Adds a body for a Layer3D primitive or model (centered on its `x/y/z`), or a plain box. */
|
|
3908
|
-
body(target: LayoutNode | PhysicsBox3D, options?: Body3DOptions): PhysicsBody3D;
|
|
3909
|
-
/** A fixed, very large floor whose top face sits at `y`. */
|
|
3910
|
-
ground(options: {
|
|
3911
|
-
y: number;
|
|
3912
|
-
friction?: number;
|
|
3913
|
-
restitution?: number;
|
|
3914
|
-
}): PhysicsBody3D;
|
|
3915
|
-
/** Fixed floor and four walls around a box centered on `x`/`z`, floor at `y + height/2`. */
|
|
3916
|
-
walls(options: {
|
|
3917
|
-
x?: number;
|
|
3918
|
-
y?: number;
|
|
3919
|
-
z?: number;
|
|
3920
|
-
width: number;
|
|
3921
|
-
height: number;
|
|
3922
|
-
depth: number;
|
|
3923
|
-
thickness?: number;
|
|
3924
|
-
friction?: number;
|
|
3925
|
-
restitution?: number;
|
|
3926
|
-
}): PhysicsBody3D[];
|
|
3927
|
-
/** Pins a body to the world at a point (default its center); it can still turn around it. */
|
|
3928
|
-
pin(body: PhysicsBody3D, at?: Vec3$1): this;
|
|
3929
|
-
/** Joins two bodies at a world point, turning only around `axis` (default z, facing the camera). */
|
|
3930
|
-
hinge(a: PhysicsBody3D, b: PhysicsBody3D, at: Vec3$1, axis?: Vec3$1): this;
|
|
3931
|
-
/** Glues two bodies together rigidly. */
|
|
3932
|
-
weld(a: PhysicsBody3D, b: PhysicsBody3D): this;
|
|
3933
|
-
spring(a: PhysicsBody3D, b: PhysicsBody3D | Vec3$1, options?: PhysicsSpring3DOptions): this;
|
|
3934
|
-
rope(a: PhysicsBody3D, b: PhysicsBody3D | Vec3$1, options?: PhysicsRope3DOptions): this;
|
|
3935
|
-
/** A steady push, px/s² (mass-independent). Drivers are read every frame. */
|
|
3936
|
-
force(body: PhysicsBody3D, accel: {
|
|
3937
|
-
x?: PhysicsDriver;
|
|
3938
|
-
y?: PhysicsDriver;
|
|
3939
|
-
z?: PhysicsDriver;
|
|
3940
|
-
}): this;
|
|
3941
|
-
/** A force field, as in 2D: returns `[ax, ay, az]` px/s² for a body at `x/y/z` px. */
|
|
3942
|
-
field(accel: (sample: FieldSample3D) => Vec3$1 | null | undefined, options?: {
|
|
3943
|
-
bodies?: readonly PhysicsBody3D[];
|
|
3944
|
-
}): this;
|
|
3945
|
-
/** An instant kick at a simulation frame: adds `[vx, vy, vz]` px/s. */
|
|
3946
|
-
impulse(body: PhysicsBody3D, frame: number, velocity: Vec3$1): this;
|
|
3947
|
-
protected lerpRotation(a: Quat, b: Quat, t: number): Quat;
|
|
3948
|
-
private joint;
|
|
3949
|
-
private anchorBody;
|
|
3950
|
-
private endpoints;
|
|
3951
|
-
}
|
|
3952
|
-
//#endregion
|
|
3953
|
-
//#region src/physics/index.d.ts
|
|
3954
|
-
/**
|
|
3955
|
-
* Rigid-body physics baked into signals. A world simulates once, while the
|
|
3956
|
-
* composition is built (Rapier's deterministic build, so every machine gets
|
|
3957
|
-
* the same motion), and replays as per-frame signals: layers follow their
|
|
3958
|
-
* bodies, and `impact`, `speed`, … drive any other prop or effect.
|
|
3959
|
-
*
|
|
3960
|
-
* ```ts
|
|
3961
|
-
* const world = await Physics.world2d({ fps: 30, frames: 150 });
|
|
3962
|
-
* world.walls({ width: W, height: H });
|
|
3963
|
-
* const card = world.body(cardLayer, { restitution: 0.4 });
|
|
3964
|
-
* world.simulate();
|
|
3965
|
-
* flash.animate(LayerAnimation.create().signal("opacity", card.impact));
|
|
3966
|
-
* ```
|
|
3967
|
-
*/
|
|
3968
|
-
declare const Physics: {
|
|
3969
|
-
/** A 2D world in layer pixels (y down). Loads the physics engine on first use. */
|
|
3970
|
-
world2d(options: World2DOptions): Promise<PhysicsWorld2D>;
|
|
3971
|
-
/** A 3D world for Layer3D primitives and models, in scene pixels (y down). */
|
|
3972
|
-
world3d(options: World3DOptions): Promise<PhysicsWorld3D>;
|
|
3973
|
-
};
|
|
3974
|
-
//#endregion
|
|
3975
|
-
//#region src/styles.d.ts
|
|
3976
|
-
type Look = Effect$1<object>[];
|
|
3977
|
-
declare const Styles: {
|
|
3978
|
-
/** 8-bit game: PICO-8 palette, chunky pixels, light dithering. */
|
|
3979
|
-
pixelArt: (o?: {
|
|
3980
|
-
pixelSize?: number;
|
|
3981
|
-
palette?: "pico8" | "c64" | "cga";
|
|
3982
|
-
}) => Look;
|
|
3983
|
-
/** Original Game Boy: four greens, dithered, big pixels. */
|
|
3984
|
-
gameBoy: (o?: {
|
|
3985
|
-
pixelSize?: number;
|
|
3986
|
-
}) => Look;
|
|
3987
|
-
/** Teletext / Ceefax: eight flat colors in big blocks. */
|
|
3988
|
-
teletext: (o?: {
|
|
3989
|
-
pixelSize?: number;
|
|
3990
|
-
}) => Look;
|
|
3991
|
-
/** LED wall: round lit pixels with gaps. */
|
|
3992
|
-
ledWall: (o?: {
|
|
3993
|
-
size?: number;
|
|
3994
|
-
}) => Look;
|
|
3995
|
-
/** Text-mode art: the clip drawn in characters. `matrix` makes it green phosphor. */
|
|
3996
|
-
ascii: (o?: {
|
|
3997
|
-
cellSize?: number;
|
|
3998
|
-
matrix?: boolean;
|
|
3999
|
-
}) => Look;
|
|
4000
|
-
/** 1-bit print: ordered dither in two inks. */
|
|
4001
|
-
oneBit: (o?: {
|
|
4002
|
-
dark?: string;
|
|
4003
|
-
light?: string;
|
|
4004
|
-
scale?: number;
|
|
4005
|
-
}) => Look;
|
|
4006
|
-
/** Riso print: two inks on paper, ordered dither, grain. */
|
|
4007
|
-
risograph: (o?: {
|
|
4008
|
-
inkA?: string;
|
|
4009
|
-
inkB?: string;
|
|
4010
|
-
paper?: string;
|
|
4011
|
-
}) => Look;
|
|
4012
|
-
/** Cartoon / cel shading with ink outlines. */
|
|
4013
|
-
cartoon: (o?: {
|
|
4014
|
-
levels?: number;
|
|
4015
|
-
ink?: string;
|
|
4016
|
-
}) => Look;
|
|
4017
|
-
/** Comic book: cel shading, ink lines and a halftone dot screen. */
|
|
4018
|
-
comic: (o?: {
|
|
4019
|
-
dotFrequency?: number;
|
|
4020
|
-
}) => Look;
|
|
4021
|
-
/** Thermal camera: brightness mapped to the ironbow palette. */
|
|
4022
|
-
thermal: () => Look;
|
|
4023
|
-
/** VHS tape: wobble, colour bleed, soft scanlines, grain. */
|
|
4024
|
-
vhs: (o?: {
|
|
4025
|
-
tracking?: number;
|
|
4026
|
-
}) => Look;
|
|
4027
|
-
/** An old CRT monitor: curved glass, scanlines, RGB mask. */
|
|
4028
|
-
crt: (o?: {
|
|
4029
|
-
curvature?: number;
|
|
4030
|
-
}) => Look;
|
|
4031
|
-
/** Glitch: hard RGB split plus tracking errors. Animate `amount` for hits. */
|
|
4032
|
-
glitch: (o?: {
|
|
4033
|
-
amount?: number;
|
|
4034
|
-
}) => Look;
|
|
4035
|
-
/** Oil painting. */
|
|
4036
|
-
oilPainting: (o?: {
|
|
4037
|
-
brush?: number;
|
|
4038
|
-
}) => Look;
|
|
4039
|
-
/** Watercolour: soft patches, pigment edges, paper. */
|
|
4040
|
-
watercolor: (o?: {
|
|
4041
|
-
brush?: number;
|
|
4042
|
-
}) => Look;
|
|
4043
|
-
/** Topographic map lines on paper. */
|
|
4044
|
-
topographic: (o?: {
|
|
4045
|
-
levels?: number;
|
|
4046
|
-
ink?: string;
|
|
4047
|
-
paper?: string;
|
|
4048
|
-
}) => Look;
|
|
4049
|
-
/** Kaleidoscope. Animate `rotation` on the returned effect, or pass a fixed angle. */
|
|
4050
|
-
kaleidoscope: (o?: {
|
|
4051
|
-
segments?: number;
|
|
4052
|
-
rotation?: number;
|
|
4053
|
-
}) => Look;
|
|
4054
|
-
/** Op art / line portrait: stripes bent by the image. */
|
|
4055
|
-
opArt: (o?: {
|
|
4056
|
-
pattern?: "stripes" | "rings" | "checker" | "waves";
|
|
4057
|
-
frequency?: number;
|
|
4058
|
-
}) => Look;
|
|
4059
|
-
/** Holographic foil sheen. Animate `shift` to make it move. */
|
|
4060
|
-
holographic: (o?: {
|
|
4061
|
-
strength?: number;
|
|
4062
|
-
shift?: number;
|
|
4063
|
-
}) => Look;
|
|
4064
|
-
/** Black-and-white film noir: crushed tones, grain, vignette. */
|
|
4065
|
-
noir: () => Look;
|
|
4066
|
-
/** Analog film: grain and a soft vignette. */
|
|
4067
|
-
film: () => Look;
|
|
4068
|
-
};
|
|
4069
|
-
type StyleName = keyof typeof Styles;
|
|
4070
|
-
//#endregion
|
|
4071
|
-
//#region src/index.d.ts
|
|
4072
|
-
interface SectionOptions {
|
|
4073
|
-
readonly id?: string;
|
|
4074
|
-
readonly position?: "absolute" | "relative";
|
|
4075
|
-
readonly source?: string | MediaNode;
|
|
4076
|
-
readonly effects?: AnyVisualEffect[];
|
|
4077
|
-
readonly padding?: number;
|
|
4078
|
-
readonly borderRadius?: number;
|
|
4079
|
-
readonly borderColor?: string;
|
|
4080
|
-
readonly borderWidth?: number;
|
|
4081
|
-
readonly opacity?: EffectProp<number>;
|
|
4082
|
-
readonly blendMode?: string;
|
|
4083
|
-
readonly fit?: "cover" | "contain";
|
|
4084
|
-
readonly width?: EffectProp<SizeSpec>;
|
|
4085
|
-
readonly height?: EffectProp<SizeSpec>;
|
|
4086
|
-
readonly compositionWidth?: number;
|
|
4087
|
-
readonly compositionHeight?: number;
|
|
4088
|
-
readonly compWidth?: number;
|
|
4089
|
-
readonly compHeight?: number;
|
|
4090
|
-
readonly x?: EffectProp<number>;
|
|
4091
|
-
readonly y?: EffectProp<number>;
|
|
4092
|
-
readonly hideWhenLost?: boolean;
|
|
4093
|
-
readonly smoothFrames?: number;
|
|
4094
|
-
readonly children?: LayoutNode[];
|
|
4095
|
-
}
|
|
4096
|
-
type SectionNode = AnimatableNode<BoxNode, "visual"> & {
|
|
4097
|
-
readonly innerMedia: AnimatableNode<MediaNode, "hybrid">;
|
|
4098
|
-
readonly effects: AnyVisualEffect[];
|
|
4099
|
-
addEffect(effect: AnyVisualEffect): SectionNode;
|
|
4100
|
-
withEffect(effect: AnyVisualEffect): SectionNode;
|
|
4101
|
-
withEffects(effects: AnyVisualEffect[]): SectionNode;
|
|
4102
|
-
};
|
|
4103
|
-
type TrackedRegionOptions = SectionOptions;
|
|
4104
|
-
/** Editing helpers attached to every tracked object (see decorateTrackSignals). */
|
|
4105
|
-
interface TrackEditing {
|
|
4106
|
-
/** A section of the source that follows this track */
|
|
4107
|
-
section(sourceOrOptions?: string | MediaNode | SectionOptions, options?: SectionOptions): SectionNode;
|
|
4108
|
-
/** A blur confined to this track's region */
|
|
4109
|
-
blurEffect(options?: Partial<BlurProps>): Blur;
|
|
4110
|
-
/** The tracked region of `source`, cut out as a section */
|
|
4111
|
-
isolate(source: string | MediaNode, options?: TrackedRegionOptions): SectionNode;
|
|
4112
|
-
}
|
|
4113
|
-
/** A tracked object with its editing helpers, as vision hands it out. */
|
|
4114
|
-
type EditableObjectTrack = ObjectTrackSignals & TrackEditing;
|
|
4115
|
-
interface CompositionOptions {
|
|
4116
|
-
width: number;
|
|
4117
|
-
height: number;
|
|
4118
|
-
fps?: number;
|
|
4119
|
-
durationMs?: number;
|
|
4120
|
-
durationFrames?: number;
|
|
4121
|
-
backgroundColor?: string;
|
|
4122
|
-
fonts?: string[];
|
|
4123
|
-
signals?: Record<string, unknown>;
|
|
4124
|
-
/**
|
|
4125
|
-
* Smooth the edges of 3D meshes (extruded text, models) with 4x MSAA.
|
|
4126
|
-
* Default true; set false to save ~60-125 MB of GPU memory at 1080p.
|
|
4127
|
-
*/
|
|
4128
|
-
antialias3d?: boolean;
|
|
4129
|
-
}
|
|
4130
|
-
/**
|
|
4131
|
-
* Fluent builder for single clips and chained visual/audio effect pipelines.
|
|
4132
|
-
*/
|
|
4133
|
-
declare class Media {
|
|
4134
|
-
readonly virtualMedia: VirtualMediaData;
|
|
4135
|
-
constructor(source: MediaSourceInput, type?: DataType);
|
|
4136
|
-
static video(source: MediaSourceInput, meta?: Partial<MediaMetadata>): Media;
|
|
4137
|
-
static image(source: MediaSourceInput, meta?: Partial<MediaMetadata>): Media;
|
|
4138
|
-
static lottie(source: MediaSourceInput, meta?: Partial<MediaMetadata>): Media;
|
|
4139
|
-
static audio(source: MediaSourceInput, meta?: Partial<MediaMetadata>): Media;
|
|
4140
|
-
/**
|
|
4141
|
-
* Appends any Effect instance or shader operation onto the current media AST.
|
|
4142
|
-
*/
|
|
4143
|
-
apply<TProps extends object>(effect: Effect<TProps>): Media;
|
|
4144
|
-
apply<TConfig extends Record<string, unknown> = Record<string, unknown>>(op: string, config?: TConfig): Media;
|
|
4145
|
-
/**
|
|
4146
|
-
* Returns the underlying VirtualMediaData AST node ready for rendering.
|
|
4147
|
-
*/
|
|
4148
|
-
toVirtualMedia(): VirtualMediaData;
|
|
4149
|
-
/**
|
|
4150
|
-
* Renders a single frame from this media pipeline to a PNG Buffer.
|
|
4151
|
-
* Can render either by timestamp in milliseconds (`atMs`) or by frame index (`frame`).
|
|
4152
|
-
*/
|
|
4153
|
-
renderFrame(options?: {
|
|
4154
|
-
atMs?: number;
|
|
4155
|
-
frame?: number;
|
|
4156
|
-
fps?: number;
|
|
4157
|
-
renderer?: HeadlessMediaRenderer;
|
|
4158
|
-
}): Promise<Buffer>;
|
|
4159
|
-
get fps(): number | undefined;
|
|
4160
|
-
get durationMs(): number | undefined;
|
|
4161
|
-
get width(): number | undefined;
|
|
4162
|
-
get height(): number | undefined;
|
|
4163
|
-
/**
|
|
4164
|
-
* Renders an image grid of sequential frames across a given frame or millisecond range.
|
|
4165
|
-
* Ideal for automated visual inspection of animation motion, easing curves, and layout stability.
|
|
4166
|
-
*/
|
|
4167
|
-
renderFrameGrid(options?: FrameGridOptions): Promise<Buffer>;
|
|
4168
|
-
/**
|
|
4169
|
-
* Renders this media pipeline into an MP4/WebM video file with audio.
|
|
4170
|
-
*/
|
|
4171
|
-
renderVideo(outputPathOrOptions?: string | RenderVideoOptions, options?: RenderVideoOptions): Promise<RenderVideoResult>;
|
|
4172
|
-
}
|
|
4173
|
-
interface RenderVideoOptions {
|
|
4174
|
-
codec?: string;
|
|
4175
|
-
audioCodec?: string;
|
|
4176
|
-
quality?: string;
|
|
4177
|
-
concurrency?: number;
|
|
4178
|
-
/**
|
|
4179
|
-
* Depth of the DMA staging ring used to overlap GPU rendering with hardware
|
|
4180
|
-
* encoding (default 2, clamped 2–8). A deeper ring hides more encoder
|
|
4181
|
-
* latency at the cost of VRAM (~8.3MB/slot at 1080p RGBA). Also settable
|
|
4182
|
-
* via `FRAMEFIELDS_RING_CAPACITY`.
|
|
4183
|
-
*/
|
|
4184
|
-
ringCapacity?: number;
|
|
4185
|
-
outputPath?: string;
|
|
4186
|
-
renderer?: HeadlessMediaRenderer;
|
|
4187
|
-
/**
|
|
4188
|
-
* Check the output while it renders and return the findings as `qa`:
|
|
4189
|
-
* dropped, black or frozen frames, loudness (LUFS), clipping, silence and
|
|
4190
|
-
* document warnings such as truncated animations. `true` uses defaults;
|
|
4191
|
-
* pass thresholds (e.g. `{ targetLufs: -14 }`) to tighten them.
|
|
4192
|
-
*/
|
|
4193
|
-
qa?: boolean | VideoQaOptions;
|
|
4194
|
-
/**
|
|
4195
|
-
* Stops the render between frames. The promise rejects with
|
|
4196
|
-
* `signal.reason` and no file is left behind.
|
|
4197
|
-
*/
|
|
4198
|
-
signal?: AbortSignal;
|
|
4199
|
-
/**
|
|
4200
|
-
* Called as the render moves through its phases: "prepare", each frame
|
|
4201
|
-
* ("render"), "audio" (per clip mixed), "audio-encode", "mux", "convert"
|
|
4202
|
-
* (GIF only) and "done". The engine logs the same phases on its own.
|
|
4203
|
-
*/
|
|
4204
|
-
onProgress?: (progress: RenderProgress) => void;
|
|
4205
|
-
}
|
|
4206
|
-
interface RenderVideoResult {
|
|
4207
|
-
filePath: string;
|
|
4208
|
-
cleanup: () => Promise<void>;
|
|
4209
|
-
/** Present when rendered with `qa`; print it with `formatQaReport` */
|
|
4210
|
-
qa?: VideoQaReport;
|
|
4211
|
-
}
|
|
4212
|
-
interface SubjectSandwichOptions {
|
|
4213
|
-
readonly source: string | MediaNode;
|
|
4214
|
-
readonly subject?: MaskTrackSignals | ObjectTrackSignals;
|
|
4215
|
-
readonly behind: readonly LayoutNode[];
|
|
4216
|
-
readonly feather?: number;
|
|
4217
|
-
readonly fit?: "cover" | "contain" | "fill";
|
|
4218
|
-
readonly variant?: VisionProps["variant"];
|
|
4219
|
-
readonly confidence?: number;
|
|
4220
|
-
readonly keyBackground?: boolean;
|
|
4221
|
-
readonly backgroundKeyThreshold?: number;
|
|
4222
|
-
readonly muted?: boolean;
|
|
4223
|
-
readonly volume?: number;
|
|
4224
|
-
}
|
|
4225
|
-
interface SmartFramingOptions {
|
|
4226
|
-
readonly source: string | MediaNode;
|
|
4227
|
-
readonly targetAspect?: number;
|
|
4228
|
-
readonly sourceAspect?: number;
|
|
4229
|
-
readonly target: ObjectTrackSignals | MaskTrackSignals;
|
|
4230
|
-
readonly damping?: number;
|
|
4231
|
-
readonly leadHeadroom?: number;
|
|
4232
|
-
readonly fit?: "cover" | "contain" | "fill";
|
|
4233
|
-
readonly variant?: VisionProps["variant"];
|
|
4234
|
-
readonly muted?: boolean;
|
|
4235
|
-
readonly volume?: number;
|
|
4236
|
-
}
|
|
4237
|
-
interface SubjectOutlineOptions {
|
|
4238
|
-
readonly source?: string | MediaNode;
|
|
4239
|
-
readonly color?: string;
|
|
4240
|
-
readonly width?: number;
|
|
4241
|
-
readonly blur?: number;
|
|
4242
|
-
readonly pulseSignal?: ProgrammaticSignal | Signal<number>;
|
|
4243
|
-
readonly muted?: boolean;
|
|
4244
|
-
readonly volume?: number;
|
|
4245
|
-
}
|
|
4246
|
-
/**
|
|
4247
|
-
* High-level programmatic builder for multi-layer Framefields compositions.
|
|
4248
|
-
*/
|
|
4249
|
-
declare class Composition {
|
|
4250
|
-
width: number;
|
|
4251
|
-
height: number;
|
|
4252
|
-
fps: number;
|
|
4253
|
-
durationMs?: number;
|
|
4254
|
-
backgroundColor: string;
|
|
4255
|
-
antialias3d?: boolean;
|
|
4256
|
-
fonts: string[];
|
|
4257
|
-
children: LayoutNode[];
|
|
4258
|
-
audioTracks: MediaNode[];
|
|
4259
|
-
signals: Record<string, unknown>;
|
|
4260
|
-
private _frameHooks;
|
|
4261
|
-
private _prepareHooks;
|
|
4262
|
-
private readonly _clipVision;
|
|
4263
|
-
private _visionConfig?;
|
|
4264
|
-
private _visionBundle?;
|
|
4265
|
-
private _effects;
|
|
4266
|
-
/**
|
|
4267
|
-
* Applies a whole-composition post-processing effect or vision pipeline.
|
|
4268
|
-
*/
|
|
4269
|
-
apply(effect: AnyEffect): this;
|
|
4270
|
-
/**
|
|
4271
|
-
* Runs vision on the whole composition — the rendered frame (composition, blur, crop,
|
|
4272
|
-
* anything upstream) is the inference input. Models are LAZY: nothing downloads until
|
|
4273
|
-
* the first frame actually runs a task.
|
|
4274
|
-
* Returns the reactive VisionBundle (objects / masks / pose / classes signals).
|
|
4275
|
-
*/
|
|
4276
|
-
withVision(config?: VisionProps | Vision): VisionBundle;
|
|
4277
|
-
/**
|
|
4278
|
-
* Vision for a clip, analysed per frame on demand and shared by everything
|
|
4279
|
-
* that reads it (see {@link ClipVision}): `comp.vision("dancer.mp4").person`
|
|
4280
|
-
* gives pose keypoints and a silhouette at any frame. Each frame is
|
|
4281
|
-
* analysed just before it renders, so nothing runs up front. Results
|
|
4282
|
-
* persist on disk in Node. The same clip and options return one instance.
|
|
4283
|
-
*/
|
|
4284
|
-
vision(source: string, options?: ClipVisionOptions): ClipVision;
|
|
4285
|
-
/**
|
|
4286
|
-
* @internal Analyses every `comp.vision` clip up to a composition frame
|
|
4287
|
-
* (frames already analysed are skipped), so consumers that step frame by
|
|
4288
|
-
* frame — physics, particles — always find every frame before it.
|
|
4289
|
-
*/
|
|
4290
|
-
prepareVision(frame: number): Promise<void>;
|
|
4291
|
-
/**
|
|
4292
|
-
* Points matte-family `withVision` layers at the `comp.vision` clip they
|
|
4293
|
-
* show, so the cutout reuses that clip's per-frame subject instead of
|
|
4294
|
-
* segmenting the frame again during render. Only layers whose settings
|
|
4295
|
-
* would give the same subject are linked; the rest keep their own pass.
|
|
4296
|
-
*/
|
|
4297
|
-
private linkClipMattes;
|
|
4298
|
-
private clipForMatte;
|
|
4299
|
-
/**
|
|
4300
|
-
* One-shot, ffmpeg-free vision analysis of a media source.
|
|
4301
|
-
*
|
|
4302
|
-
* Decodes frames through the same mediabunny pipeline the renderer uses, runs the requested
|
|
4303
|
-
* tasks lazily (only those models download), temporally tracks detections, and returns a
|
|
4304
|
-
* zod-serializable report. The decoder is released and the runner closed on completion.
|
|
4305
|
-
*/
|
|
4306
|
-
analyzeVisionSequence(source: string, options?: {
|
|
4307
|
-
tasks?: readonly VisionTask[];
|
|
4308
|
-
categories?: readonly string[];
|
|
4309
|
-
fps?: number;
|
|
4310
|
-
totalFrames?: number;
|
|
4311
|
-
pathStride?: number;
|
|
4312
|
-
includeMasks?: boolean;
|
|
4313
|
-
modelsDir?: string;
|
|
4314
|
-
baseUrl?: string;
|
|
4315
|
-
confidence?: number;
|
|
4316
|
-
variant?: VisionProps["variant"];
|
|
4317
|
-
/** Tracker box-association IoU. Default 0.25. */
|
|
4318
|
-
iouThreshold?: number;
|
|
4319
|
-
}): Promise<VisionAnalysisReport>;
|
|
4320
|
-
/**
|
|
4321
|
-
* Game-engine per-frame lifecycle hook for the composition.
|
|
4322
|
-
* Invoked before rendering each frame so scripts or agents can mutate properties and signals.
|
|
4323
|
-
*/
|
|
4324
|
-
onRequestFrame(callback: (ctx: FrameContext) => void): this;
|
|
4325
|
-
/**
|
|
4326
|
-
* Async work a frame needs before it is evaluated (vision, a live physics
|
|
4327
|
-
* world). Every render path awaits these, in order, before drawing the
|
|
4328
|
-
* frame; they may run more than once per frame, so keep them idempotent.
|
|
4329
|
-
*/
|
|
4330
|
-
onPrepareFrame(callback: (ctx: FrameContext) => Promise<void> | void): this;
|
|
4331
|
-
notifyFrame(ctx: FrameContext): Promise<void> | undefined;
|
|
4332
|
-
private hasFrameHooks;
|
|
4333
|
-
constructor(options: CompositionOptions);
|
|
4334
|
-
static create(options: CompositionOptions): Composition;
|
|
4335
|
-
addSignal(name: string, signal: unknown): this;
|
|
4336
|
-
add(layerOrFirst: LayoutNode | LayoutNode[] | TensorPipeline | VisionNode | {
|
|
4337
|
-
node: unknown;
|
|
4338
|
-
}, ...rest: Array<LayoutNode | LayoutNode[] | TensorPipeline | VisionNode | {
|
|
4339
|
-
node: unknown;
|
|
4340
|
-
} | LayerAnimation | {
|
|
4341
|
-
tracks: AnimationTrack[];
|
|
4342
|
-
}>): this;
|
|
4343
|
-
addAudio(track: MediaNode): this;
|
|
4344
|
-
/**
|
|
4345
|
-
* Turnkey "Text Behind Subject" ("Sandwich") Primitive.
|
|
4346
|
-
* Lowers into:
|
|
4347
|
-
* 1. Bottom Layer: Full background video plate
|
|
4348
|
-
* 2. Middle Layer: User-supplied `behind` nodes
|
|
4349
|
-
* 3. Top Layer: Subject cutout video with continuous matte alpha registered at identical coordinates
|
|
4350
|
-
*/
|
|
4351
|
-
addSubjectSandwich(options: SubjectSandwichOptions): this;
|
|
4352
|
-
/**
|
|
4353
|
-
* Dynamic Smart Re-Framing (16:9 → 9:16 Auto-Crop).
|
|
4354
|
-
* Automatically transforms landscape footage into vertical shorts/reels by framing the
|
|
4355
|
-
* tracked subject with smooth camera physics and lead headroom.
|
|
4356
|
-
*/
|
|
4357
|
-
addSmartFraming(options: SmartFramingOptions): this;
|
|
4358
|
-
/**
|
|
4359
|
-
* Subject Contour Glow & Neon Outline.
|
|
4360
|
-
* Strokes the silhouette boundary with a stylized bloom/glow and optional audio-reactive pulse.
|
|
4361
|
-
*/
|
|
4362
|
-
addSubjectOutline(_subject: MaskTrackSignals | ObjectTrackSignals, options?: SubjectOutlineOptions): this;
|
|
4363
|
-
/**
|
|
4364
|
-
* Creates an isolated, styled section of the composition or underlying source plate.
|
|
4365
|
-
* Any WebGPU effects (Blur, FilmGrain, Curves, Vignette, etc.) can be applied to this section.
|
|
4366
|
-
*/
|
|
4367
|
-
section(sourceOrTargetOrOptions?: string | MediaNode | ObjectTrackSignals | SectionOptions, targetOrOptions?: ObjectTrackSignals | SectionOptions, options?: SectionOptions): SectionNode;
|
|
4368
|
-
/**
|
|
4369
|
-
* Creates a section and immediately adds it to the composition layout tree.
|
|
4370
|
-
*/
|
|
4371
|
-
addSection(sourceOrTargetOrOptions?: string | MediaNode | ObjectTrackSignals | SectionOptions, targetOrOptions?: ObjectTrackSignals | SectionOptions, options?: SectionOptions): SectionNode;
|
|
4372
|
-
/**
|
|
4373
|
-
* Dynamically calculates composition duration from the longest media or animation layer.
|
|
4374
|
-
*/
|
|
4375
|
-
computeDuration(): Promise<number>;
|
|
4376
|
-
registerFont(optionsOrFamilyOrSource: RegisterFontOptions | string, source?: string | Uint8Array): Promise<this>;
|
|
4377
|
-
/** Sets the color emoji font; see {@link FontManager.registerEmojiFont}. */
|
|
4378
|
-
registerEmojiFont(source: string | Uint8Array): Promise<this>;
|
|
4379
|
-
toSpec(): CompositorProgramConfig;
|
|
4380
|
-
/**
|
|
4381
|
-
* Compiles the composition into a VirtualMediaData AST ready for WebGPU rendering.
|
|
4382
|
-
*/
|
|
4383
|
-
toVirtualMedia(options?: Partial<CompositorToProgramOptions>): VirtualMediaData;
|
|
4384
|
-
/**
|
|
4385
|
-
* Compiles the composition into a VirtualMediaData AST with dynamically resolved duration.
|
|
4386
|
-
*/
|
|
4387
|
-
toVirtualMediaAsync(options?: Partial<CompositorToProgramOptions>): Promise<VirtualMediaData>;
|
|
4388
|
-
/**
|
|
4389
|
-
* Renders a single frame from the composition to a PNG Buffer.
|
|
4390
|
-
* Can render either by timestamp in milliseconds (`atMs`) or by frame index (`frame`).
|
|
4391
|
-
*/
|
|
4392
|
-
renderFrame(options?: {
|
|
4393
|
-
atMs?: number;
|
|
4394
|
-
frame?: number;
|
|
4395
|
-
renderer?: HeadlessMediaRenderer;
|
|
4396
|
-
}): Promise<Buffer>;
|
|
4397
|
-
/**
|
|
4398
|
-
* Renders an image grid of sequential frames across a given frame or millisecond range.
|
|
4399
|
-
* Ideal for automated visual inspection of animation motion, easing curves, and layout stability.
|
|
4400
|
-
*/
|
|
4401
|
-
renderFrameGrid(options?: FrameGridOptions): Promise<Buffer>;
|
|
4402
|
-
/**
|
|
4403
|
-
* Renders this composition into an MP4/WebM video file with audio.
|
|
4404
|
-
*/
|
|
4405
|
-
renderVideo(outputPathOrOptions?: string | RenderVideoOptions, options?: RenderVideoOptions): Promise<RenderVideoResult>;
|
|
4406
|
-
/**
|
|
4407
|
-
* Checks the document for things that render without error but not as
|
|
4408
|
-
* intended: unreadable colors or gradients (drawn transparent),
|
|
4409
|
-
* low-contrast text, layers parked off-canvas, shadows on lights that
|
|
4410
|
-
* cannot cast them, physical materials without an environment, tracks that
|
|
4411
|
-
* never change. `renderVideo({ qa })` includes these automatically.
|
|
4412
|
-
*/
|
|
4413
|
-
lint(): RenderDiagnostic[];
|
|
4414
|
-
}
|
|
4415
|
-
/**
|
|
4416
|
-
* Layer helpers for constructing composition nodes with clean URL/path strings.
|
|
4417
|
-
*/
|
|
4418
|
-
type NodeCapability = "visual" | "audio" | "hybrid";
|
|
4419
|
-
type CompatibleEffect<TCap extends NodeCapability> = TCap extends "hybrid" ? AnyEffect : TCap extends "visual" ? AnyVisualEffect : TCap extends "audio" ? AnyAudioEffect : Effect<object>;
|
|
4420
|
-
type AnimatableNode<T extends LayoutNode = LayoutNode, TCap extends NodeCapability = "visual"> = T & {
|
|
4421
|
-
glass?: Record<string, unknown>;
|
|
4422
|
-
audioDeform?: MeshAudioDeformConfig | Record<string, unknown>;
|
|
4423
|
-
crop?: CropProps | Crop;
|
|
4424
|
-
vision?: Vision;
|
|
4425
|
-
relighting?: NormalRelightingOptions;
|
|
4426
|
-
matte?: {
|
|
4427
|
-
node: LayoutNode;
|
|
4428
|
-
mode?: MatteMode;
|
|
4429
|
-
};
|
|
4430
|
-
deflicker?: DeflickerOptions;
|
|
4431
|
-
effects?: CompatibleEffect<TCap>[];
|
|
4432
|
-
blurRegions?: unknown[];
|
|
4433
|
-
animate<P extends AnimatableProp = AnimatableProp>(...anim: (([AnimatableProp] extends [P] ? LayerAnimation : LayerAnimation<P & AnimatablePropsFor<T>>) | {
|
|
4434
|
-
tracks: AnimationTrack<[AnimatableProp] extends [P] ? AnimatableProp : P & AnimatablePropsFor<T>>[];
|
|
4435
|
-
} | (([AnimatableProp] extends [P] ? LayerAnimation : LayerAnimation<P & AnimatablePropsFor<T>>) | {
|
|
4436
|
-
tracks: AnimationTrack<[AnimatableProp] extends [P] ? AnimatableProp : P & AnimatablePropsFor<T>>[];
|
|
4437
|
-
})[])[]): AnimatableNode<T, TCap>;
|
|
4438
|
-
pinToLandmark(target: LandmarkCoordinateSignals | {
|
|
4439
|
-
x: number;
|
|
4440
|
-
y: number;
|
|
4441
|
-
z?: number;
|
|
4442
|
-
screenX?: number;
|
|
4443
|
-
screenY?: number;
|
|
4444
|
-
}, options?: PinToLandmarkOptions): AnimatableNode<T, TCap>;
|
|
4445
|
-
pinToObject(target: ObjectTrackSignals | LandmarkCoordinateSignals | {
|
|
4446
|
-
x: number;
|
|
4447
|
-
y: number;
|
|
4448
|
-
z?: number;
|
|
4449
|
-
screenX?: number;
|
|
4450
|
-
screenY?: number;
|
|
4451
|
-
}, options?: PinToObjectOptions): AnimatableNode<T, TCap>;
|
|
4452
|
-
/**
|
|
4453
|
-
* Track matte: `matte` (any layer) masks this one by its alpha or
|
|
4454
|
-
* brightness. It is laid out like a sibling (same parent) and timed with
|
|
4455
|
-
* this node; with no x/y/width/height it covers this node's box. Animate
|
|
4456
|
-
* the matte for wipes and reveals: text through a sliding box, video
|
|
4457
|
-
* inside type, an iris circle.
|
|
4458
|
-
*/
|
|
4459
|
-
withMatte(matte: LayoutNode, mode?: MatteMode): AnimatableNode<T, TCap>;
|
|
4460
|
-
/** Alias of {@link withMatte}. */
|
|
4461
|
-
withMask(mask: LayoutNode, mode?: MatteMode): AnimatableNode<T, TCap>;
|
|
4462
|
-
withPbrGlass(options?: Record<string, unknown>): AnimatableNode<T, TCap>;
|
|
4463
|
-
deformWithAudio(config?: MeshAudioDeformConfig | Record<string, unknown>): AnimatableNode<T, TCap>;
|
|
4464
|
-
withCrop(cropConfig: CropProps | Crop): AnimatableNode<T, TCap>;
|
|
4465
|
-
/** Runs vision on this node's rendered output (see `Vision` for options and modes). */
|
|
4466
|
-
withVision(config?: VisionProps | Vision): AnimatableNode<T, TCap>;
|
|
4467
|
-
withRelighting(options?: NormalRelightingOptions): AnimatableNode<T, TCap>;
|
|
4468
|
-
relight(options?: NormalRelightingOptions): AnimatableNode<T, TCap>;
|
|
4469
|
-
withDeflicker(options?: DeflickerOptions): AnimatableNode<T, TCap>;
|
|
4470
|
-
apply(effect: CompatibleEffect<TCap>): AnimatableNode<T, TCap>;
|
|
4471
|
-
withEffect(effect: CompatibleEffect<TCap>): AnimatableNode<T, TCap>;
|
|
4472
|
-
withEffects(effects: CompatibleEffect<TCap>[]): AnimatableNode<T, TCap>;
|
|
4473
|
-
section(targetOrOptions?: ObjectTrackSignals | SectionOptions, options?: SectionOptions): SectionNode;
|
|
4474
|
-
blurRegion(trackTarget: ObjectTrackSignals, options?: Partial<BlurProps>): AnimatableNode<T, TCap>;
|
|
4475
|
-
withBlurRegion(trackTarget: ObjectTrackSignals, options?: Partial<BlurProps>): AnimatableNode<T, TCap>;
|
|
4476
|
-
};
|
|
4477
|
-
declare const Layer: {
|
|
4478
|
-
video: (src: string, options?: Partial<MediaNode>) => AnimatableNode<MediaNode, "hybrid">;
|
|
4479
|
-
image: (src: string, options?: Partial<MediaNode>) => AnimatableNode<MediaNode, "visual">;
|
|
4480
|
-
svg: (src: string, options?: Partial<MediaNode>) => AnimatableNode<MediaNode, "visual">;
|
|
4481
|
-
lottie: (src: string, options?: Partial<MediaNode>) => AnimatableNode<MediaNode, "visual">;
|
|
4482
|
-
audio: (src: string, options?: Partial<MediaNode>) => AnimatableNode<MediaNode, "audio">;
|
|
4483
|
-
text: (contentOrOptions: string | TextSpan[] | (string | TextSpan)[] | Partial<TextNode>, maybeOptions?: Partial<TextNode>) => AnimatableNode<TextNode, "visual">;
|
|
4484
|
-
caption: (src: string, options?: Partial<MediaNode>) => AnimatableNode<MediaNode>;
|
|
4485
|
-
shape: (shapeType?: "rect" | "circle" | "ellipse" | "polygon" | "star" | "arrow" | "path", options?: Partial<ShapeNode> & {
|
|
4486
|
-
/** Alias of `fillColor`: a color or a CSS gradient string. */
|
|
4487
|
-
fill?: string;
|
|
4488
|
-
}) => AnimatableNode<ShapeNode>;
|
|
4489
|
-
flex: (options?: Partial<FlexNode>) => AnimatableNode<FlexNode>;
|
|
4490
|
-
box: (options?: Partial<BoxNode>) => AnimatableNode<BoxNode>;
|
|
4491
|
-
/**
|
|
4492
|
-
* A GPU particle system as a layer: tens of thousands of particles
|
|
4493
|
-
* simulated in a compute shader and drawn in one call (see
|
|
4494
|
-
* {@link ParticlesOptions}). Positions are in the layer's own px; drivers
|
|
4495
|
-
* (rate, gravity, noise, attractors) are read every frame, and a
|
|
4496
|
-
* performer can push particles with `push: { person }`.
|
|
4497
|
-
*/
|
|
4498
|
-
particles: (options: ParticlesOptions) => AnimatableNode<MediaNode>;
|
|
4499
|
-
/**
|
|
4500
|
-
* A procedural VFX layer (smoke, fire, rain, snow, aurora, …) drawn by
|
|
4501
|
-
* the GPU, transparent where there is no effect. Put it above or below
|
|
4502
|
-
* other layers like any clip.
|
|
4503
|
-
*/
|
|
4504
|
-
vfx: (options: Partial<ProceduralVFXProps> & {
|
|
4505
|
-
x?: number;
|
|
4506
|
-
y?: number;
|
|
4507
|
-
width: number;
|
|
4508
|
-
height: number;
|
|
4509
|
-
id?: string;
|
|
4510
|
-
startFrame?: number;
|
|
4511
|
-
durationFrames?: number;
|
|
4512
|
-
zIndex?: number;
|
|
4513
|
-
}) => AnimatableNode<MediaNode>;
|
|
4514
|
-
section: (source: string | MediaNode | Composition, targetOrOptions?: ObjectTrackSignals | SectionOptions, options?: SectionOptions) => SectionNode;
|
|
4515
|
-
trackedRegion: (source: string | MediaNode, target: ObjectTrackSignals, options?: TrackedRegionOptions) => SectionNode;
|
|
4516
|
-
blurTrackedRegion: (source: string | MediaNode, target: ObjectTrackSignals, options?: Partial<BlurProps> & {
|
|
4517
|
-
borderRadius?: number;
|
|
4518
|
-
padding?: number;
|
|
4519
|
-
borderColor?: string;
|
|
4520
|
-
borderWidth?: number;
|
|
4521
|
-
}) => SectionNode;
|
|
4522
|
-
/**
|
|
4523
|
-
* A line, area, bar, scatter, candlestick, pie or donut chart. Returns a box
|
|
4524
|
-
* of ordinary nodes (bars are boxes, lines and slices are path shapes,
|
|
4525
|
-
* labels are text), so it positions, animates and composites like any layer.
|
|
4526
|
-
* `props` applies to that box: position, id, timing, effects.
|
|
4527
|
-
*/
|
|
4528
|
-
chart: (options: ChartOptions, props?: Partial<BoxNode>) => AnimatableNode<BoxNode>;
|
|
4529
|
-
camera: (options?: Partial<CameraNode>) => AnimatableNode<CameraNode>;
|
|
4530
|
-
light: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4531
|
-
ambientLight: (color?: string, intensity?: number, options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4532
|
-
/**
|
|
4533
|
-
* Scenes back to back with transitions between them; see `Transition`.
|
|
4534
|
-
* `comp.add(Layer.sequence([{ scene: hero(), duration: 90 },
|
|
4535
|
-
* { scene: next(), duration: 120, transition: Transition.push("left") }]))`.
|
|
4536
|
-
* The result's `totalFrames` is the sequence length.
|
|
4537
|
-
*/
|
|
4538
|
-
sequence: (entries: SequenceEntry[], options?: SceneSequenceOptions) => SequenceNode;
|
|
4539
|
-
/** See {@link Light.environment}: `Layer.environment("studio", { exposure: 0.3 })`. */
|
|
4540
|
-
environment: (presetOrOptions?: EnvironmentPreset | EnvironmentOptions, options?: EnvironmentOptions) => AnimatableNode<LightNode>;
|
|
4541
|
-
directionalLight: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4542
|
-
pointLight: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4543
|
-
spotLight: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4544
|
-
cube: (options: Cube3DOptions) => AnimatableNode<BoxNode>;
|
|
4545
|
-
carousel3d: (options: Carousel3DOptions) => AnimatableNode<BoxNode>;
|
|
4546
|
-
plane3d: (options: Plane3DOptions) => AnimatableNode<BoxNode>;
|
|
4547
|
-
prism3d: (options: Prism3DOptions) => AnimatableNode<BoxNode>;
|
|
4548
|
-
model: (options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4549
|
-
obj: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4550
|
-
fbx: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4551
|
-
gltf: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4552
|
-
glb: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4553
|
-
stl: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4554
|
-
ply: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4555
|
-
vox: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4556
|
-
threeDS: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4557
|
-
off: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4558
|
-
};
|
|
4559
|
-
/** World settings for `Layer.environment` (see `LightNode` for every field). */
|
|
4560
|
-
type EnvironmentOptions = Partial<Pick<LightNode, "id" | "preset" | "top" | "horizon" | "bottom" | "intensity" | "softboxes" | "rotation" | "exposure" | "toneMapping" | "fog" | "bloom" | "startFrame" | "durationFrames">>;
|
|
4561
|
-
declare const Light: {
|
|
4562
|
-
/**
|
|
4563
|
-
* The scene's world: a procedural studio environment that lights and
|
|
4564
|
-
* reflects off every surface, plus exposure, tone mapping and fog. Adding
|
|
4565
|
-
* one switches the scene to physically based shading (GGX, real
|
|
4566
|
-
* `roughness` / `metallic`, `emissive` that blooms past white).
|
|
4567
|
-
*/
|
|
4568
|
-
environment: (presetOrOptions?: EnvironmentPreset | EnvironmentOptions, options?: EnvironmentOptions) => AnimatableNode<LightNode>;
|
|
4569
|
-
ambient: (color?: string, intensity?: number, options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4570
|
-
directional: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4571
|
-
point: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4572
|
-
spot: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4573
|
-
};
|
|
4574
|
-
declare function section(source: string | MediaNode | Composition, targetOrOptions?: ObjectTrackSignals | SectionOptions, options?: SectionOptions): SectionNode;
|
|
4575
|
-
declare function blurRegion(sourceOrLayer: string | AnimatableNode<MediaNode>, target: ObjectTrackSignals, options?: Partial<BlurProps> & {
|
|
4576
|
-
borderRadius?: number;
|
|
4577
|
-
padding?: number;
|
|
4578
|
-
borderColor?: string;
|
|
4579
|
-
borderWidth?: number;
|
|
4580
|
-
}): AnimatableNode<MediaNode> | AnimatableNode<BoxNode>;
|
|
4581
|
-
declare function editTrackedRegion(source: string | MediaNode, target: ObjectTrackSignals, options?: TrackedRegionOptions): SectionNode;
|
|
4582
|
-
declare const Effect: typeof Effect$1 & {
|
|
4583
|
-
readonly ascii: (config?: AsciiProps) => Ascii;
|
|
4584
|
-
readonly audioCompressor: (config?: AudioCompressorProps) => AudioCompressor;
|
|
4585
|
-
readonly audioDelay: (config?: AudioDelayProps) => AudioDelay;
|
|
4586
|
-
readonly audioFade: (config?: AudioFadeProps) => AudioFade;
|
|
4587
|
-
readonly audioNoiseGate: (config?: AudioNoiseGateProps) => AudioNoiseGate;
|
|
4588
|
-
readonly audioParametricEq: (config?: AudioParametricEqProps) => AudioParametricEq;
|
|
4589
|
-
readonly audioReverb: (config?: AudioReverbProps) => AudioReverb;
|
|
4590
|
-
readonly blur: (config?: BlurProps) => Blur;
|
|
4591
|
-
readonly cameraParallax3D: (config?: CameraParallax3DProps) => CameraParallax3D;
|
|
4592
|
-
readonly channelMerger: (config?: ChannelMergerProps) => ChannelMerger;
|
|
4593
|
-
readonly channelSplitter: (config?: ChannelSplitterProps) => ChannelSplitter;
|
|
4594
|
-
readonly colorBalance: (config?: ColorBalanceProps) => ColorBalance;
|
|
4595
|
-
readonly colorKey: (config?: ColorKeyProps) => ColorKey;
|
|
4596
|
-
readonly contour: (config?: ContourProps) => Contour;
|
|
4597
|
-
readonly cornerPin: (config?: CornerPinProps) => CornerPin;
|
|
4598
|
-
readonly cRT: (config?: CRTProps) => CRT;
|
|
4599
|
-
readonly datamosh: (config?: DatamoshProps) => Datamosh;
|
|
4600
|
-
readonly displacementMap: (config?: DisplacementMapProps) => DisplacementMap;
|
|
4601
|
-
readonly dither: (config?: DitherProps) => Dither;
|
|
4602
|
-
readonly extractLUT: (config?: ExtractLUTProps) => ExtractLUT;
|
|
4603
|
-
readonly flip: (config?: FlipProps) => Flip;
|
|
4604
|
-
readonly gooey: (config?: GooeyProps) => Gooey;
|
|
4605
|
-
readonly iridescence: (config?: IridescenceProps) => Iridescence;
|
|
4606
|
-
readonly kaleidoscope: (config?: KaleidoscopeProps) => Kaleidoscope;
|
|
4607
|
-
readonly kenBurns: (config?: KenBurnsProps) => KenBurns;
|
|
4608
|
-
readonly layerStyle: (config?: LayerStyleProps) => LayerStyle;
|
|
4609
|
-
readonly liquify: (config?: LiquifyProps) => Liquify;
|
|
4610
|
-
readonly maskMath: (config?: MaskMathProps) => MaskMath;
|
|
4611
|
-
readonly meshWarp: (config?: MeshWarpProps) => MeshWarp;
|
|
4612
|
-
readonly noiseGenerator: (config?: NoiseGeneratorProps) => NoiseGenerator;
|
|
4613
|
-
readonly opArt: (config?: OpArtProps) => OpArt;
|
|
4614
|
-
readonly paint: (config?: PaintProps) => Paint;
|
|
4615
|
-
readonly painterly: (config?: PainterlyProps) => Painterly;
|
|
4616
|
-
readonly patchHeal: (config?: PatchHealProps) => PatchHeal;
|
|
4617
|
-
readonly pixelate: (config?: PixelateProps) => Pixelate;
|
|
4618
|
-
readonly posterize: (config?: PosterizeProps) => Posterize;
|
|
4619
|
-
readonly proceduralVFX: (config?: ProceduralVFXProps) => ProceduralVFX;
|
|
4620
|
-
readonly refineEdge: (config?: RefineEdgeProps) => RefineEdge;
|
|
4621
|
-
readonly refractionCaustics3D: (config?: RefractionCaustics3DProps) => RefractionCaustics3D;
|
|
4622
|
-
readonly resizerScaler: (config?: ResizerScalerProps) => ResizerScaler;
|
|
4623
|
-
readonly rGBSplit: (config?: RGBSplitProps) => RGBSplit;
|
|
4624
|
-
readonly rotate: (config?: RotateProps) => Rotate;
|
|
4625
|
-
readonly stereoPanning: (config?: StereoPanningProps) => StereoPanning;
|
|
4626
|
-
readonly toon: (config?: ToonProps) => Toon;
|
|
4627
|
-
readonly trails: (config?: TrailsProps) => Trails;
|
|
4628
|
-
readonly vignette: (config?: VignetteProps) => Vignette;
|
|
4629
|
-
} & {
|
|
4630
|
-
blur: (config?: BlurProps) => Blur;
|
|
4631
|
-
vignette: (config?: VignetteProps) => Vignette;
|
|
4632
|
-
colorBalance: (config?: ColorBalanceProps) => ColorBalance;
|
|
4633
|
-
colorKey: (config?: ColorKeyProps) => ColorKey;
|
|
4634
|
-
levels: (config?: LevelsProps) => Levels;
|
|
4635
|
-
filmGrain: (config?: FilmGrainProps) => FilmGrain;
|
|
4636
|
-
curves: (config?: CurvesProps) => Curves;
|
|
4637
|
-
selectiveColor: (config?: SelectiveColorProps) => SelectiveColor;
|
|
4638
|
-
gradientMap: (config?: GradientMapProps) => GradientMap;
|
|
4639
|
-
shadowsHighlights: (config?: ShadowsHighlightsProps) => ShadowsHighlights;
|
|
4640
|
-
applyLut: (config?: ApplyLUTProps) => ApplyLUT;
|
|
4641
|
-
unsharpMask: (config?: UnsharpMaskProps) => UnsharpMask;
|
|
4642
|
-
highPass: (config?: HighPassProps) => HighPass;
|
|
4643
|
-
halftoneScreen: (config?: HalftoneScreenProps) => HalftoneScreen;
|
|
4644
|
-
tileOffset: (config?: TileOffsetProps) => TileOffset;
|
|
4645
|
-
motionBlur: (config?: MotionBlurProps) => MotionBlur;
|
|
4646
|
-
ssao: (config?: SSAOProps) => SSAO;
|
|
4647
|
-
pbrGlass: (config?: PBRGlassProps) => PBRGlass;
|
|
4648
|
-
depthOfField: (config?: DepthOfFieldProps) => DepthOfField;
|
|
4649
|
-
crop: (config?: CropProps) => Crop;
|
|
4650
|
-
vision: (config?: VisionProps) => Vision;
|
|
4651
|
-
relight3d: (config?: Relight3DProps) => Relight3D;
|
|
4652
|
-
modulate: (config?: ModulateProps) => Modulate;
|
|
4653
|
-
deflicker: (config?: DeflickerProps) => TemporalDeflicker;
|
|
4654
|
-
custom: (op: string, config?: Record<string, unknown>) => CustomEffect;
|
|
4655
|
-
};
|
|
4656
|
-
type Effect<TConfig extends object = Record<string, unknown>> = Effect$1<TConfig>;
|
|
4657
|
-
//#endregion
|
|
4658
|
-
export { type AETextAnimator, AETextAnimatorSchema, type AdvancedTextAnimator, AdvancedTextAnimatorBuilder, AdvancedTextAnimatorSchema, type Ai, type AiConfig, type AnchorGrouping, AnchorGroupingSchema, type AnchorPreset, AnchorPresetSchema, type AnimatableGlyphProps, AnimatableGlyphPropsSchema, AnimatableNode, type AnimatableProp, type AnimatablePropsFor, type AnimationClip3D, type AnimationTrack, AnimationType, AnimationTypeSchema, type AnyAudioEffect, type AnyEffect, AnyOutputUnion, AnyOutputUnionSchema, type AnyVisualEffect, ApiError, ApplyLUT, type ApplyLUTProps, type ArcLengthLUTEntry, Ascii, type AsciiProps, AudioCompressor, type AudioCompressorProps, AudioDelay, type AudioDelayProps, AudioExtractorSignalData, AudioExtractorSignalDataSchema, AudioFade, type AudioFadeProps, type AudioLatentData, AudioLatentEngine, AudioLatentTrackCache, AudioMeshDeformPipeline, AudioNoiseGate, type AudioNoiseGateProps, AudioParametricEq, type AudioParametricEqProps, type AudioQaStats, AudioReverb, type AudioReverbProps, AudioSignal, AudioSignalExtractor, type AudioSignalExtractorProps, type AudioSignalOptions, type AudioSpectrumTypography, AudioSpectrumTypographySchema, BaseMediaOperationProps, BaseMediaOperationPropsSchema, BaseVideoLayerProps, BaseVideoLayerPropsSchema, BezierSegment3D, type BlendMode, type BlockNode, type BloomConfig, BloomConfigSchema, Blur, type BlurProps, type Body2DOptions, type Body3DOptions, type BodyCommonOptions, type Bone3D, type BoxNode, BoxNodeSchema, Brand, CAPTION_LAYER_DEFAULTS, COCO17_BONES, COCO17_KEYPOINTS, COCO17_KEYPOINT_NAMES, COCO_CLASSES, COMPOSITE_OPERATIONS, COMPOSITOR_DEFAULTS, CRT, type CRTProps, Camera3D, Camera3DPose, CameraAnimation, type CameraDoF, type CameraLens, type CameraNode, CameraNodeSchema, CameraParallax3D, type CameraParallax3DProps, type CameraShake, CameraShakeOptions, CannyComputePipeline, type CannyOptions, type Carousel3DOptions, type CarrierHandoffConfig, CarrierHandoffConfigSchema, type CarrierState, CatmullRomOptions, ChannelMerger, type ChannelMergerProps, ChannelSplitter, type ChannelSplitterProps, type ChartAnimationOptions, type ChartAxisOptions, type ChartCandle, type ChartDatum, type ChartOptions, type ChartPadding, type ChartSeries, type ChartSlice, type ChartType, type ChartX, type ChromaticGlitchConfig, ChromaticGlitchConfigSchema, CirclePathOptions, ClipVision, type ClipVisionOptions, Color, ColorBalance, type ColorBalanceProps, ColorKey, type ColorKeyProps, type ColorSignalOptions, type ColorStop, ColorStopLike, ColorStopSchema, CompatibleEffect, Composition, CompositionOptions, type CompositorProgramConfig, CompositorProgramSchema, type CompositorToProgramOptions, ConfigHandle, ConfigHandleSchema, ConfigSchemaRegistry, ConnectedInput, Contour, type ContourProps, type ControlNetConditioningOutputs, ControlNetMultiplexer, CornerPin, type CornerPinProps, Crop, type CropProps, type Cube3DOptions, type CubeFaceConfig, type CubeFaceInput, type CubicBezierSegment, CubicBezierSegmentSchema, Curves, type CurvesChannelPoint, type CurvesProps, CustomEffect, type Cylinder3DOptions, DATA_TYPE_EXTENSIONS, DEFAULT_CHART_COLORS, DEFAULT_DURATION_MS, DEFAULT_FPS, DEFAULT_MEDIA_DIMENSION, DataForType, DataType, DataTypeEnum, DataTypeVal, DataTypes, Datamosh, type DatamoshProps, type DeflickerOptions, type DeflickerProps, Degrees, DepthNormalsComputePipeline, type DepthNormalsOptions, DepthOfField, type DepthOfFieldProps, type DetectedObject, DisplacementMap, type DisplacementMapProps, Dither, type DitherProps, type DynamicStrokeProperties, DynamicStrokePropertiesSchema, ENVIRONMENT_PRESETS, type EaseRef, Easing, EditableObjectTrack, Effect, EffectConfig, type EffectConfigMap, EffectConfigValue, EffectDomain, type EffectOp, EffectPipeline, type EffectPropsFor, type EmitterShape, type EnhancedTextNode, EnhancedTextNodeSchema, Environment3DFog, Environment3DOptions, type EnvironmentFog, EnvironmentFogSchema, EnvironmentOptions, type EnvironmentPreset, EnvironmentPresetSchema, ExportResult, ExportResultSchema, type ExpressionEvaluationContext, type ExpressionSelector, ExpressionSelectorSchema, type ExtendedGlyphProperties, ExtendedGlyphPropertiesSchema, ExtendedLayer, ExtendedLayerSchema, ExtractLUT, type ExtractLUTProps, type ExtractedAudioSignalsBundle, type ExtrudedText3DOptions, FRAMEFIELDS_AI_PROXY_URL, FaceLandmarksOptions, type FieldSample2D, type FieldSample3D, FileAsset, FileAssetSchema, FileData, FileDataSchema, FilmGrain, type FilmGrainProps, type FlexNode, FlexNodeSchema, Flip, type FlipProps, FontManager, Fps, FrameContext, type FrameGridOptions, type FrameGridRenderable, FrameIndex, type FrameSamplePoint, type FrameSignal, type FromToOptions, FrustumPlane, FrustumPlanes, type GPULightData, GPUTextureBinding, GateSignalOptions, GeneratorSignalData, GeneratorSignalDataSchema, GlassPipeline, GlobalCompositeOperation, type GlyphAnchorGrouping, GlyphAnchorGroupingSchema, type GlyphAnchorPoint, GlyphAnchorPointSchema, Gooey, type GooeyProps, type GpuAdapterDescription, Gradient, GradientMap, type GradientMapProps, type GradientMapStop, GradientType, type Grid3DOptions, type HalftoneDotShape, type HalftoneMode, HalftoneScreen, type HalftoneScreenProps, HandleId, HandleLabel, HandleType, HandleTypeVal, HeadlessMediaRenderer, HeadlessWebGPURenderer, HelixOptions, HighPass, type HighPassProps, type InstanceMask, InterpolateOptions, Iridescence, type IridescenceProps, JsonArray, JsonObject, JsonValue, JsonValueSchema, Kaleidoscope, type KaleidoscopeProps, KenBurns, type KenBurnsProps, type Keyframe, type KeyframeTuple, type KineticMarqueeConfig, KineticMarqueeConfigSchema, LIGHT_UNIFORM_SIZE_BYTES, type Landmark3D, type LandmarkCoordinateSignals, Layer, Layer3D, LayerAnimation, LayerStyle, type LayerStyleProps, type LayoutNode, LayoutNodeSchema, type LevelChannel, Levels, type LevelsProps, Light, Light3D, type Light3DOptions, LightKind, type LightNode, LightNodeSchema, type LightType, LightTypeSchema, Lighting, type LightingRig, type LightingRigOptions, LightsUniformData, type LineSpacingDynamics, LineSpacingDynamicsSchema, Liquify, type LiquifyProps, type LoadModelOptions, type LongShadowConfig, LongShadowConfigSchema, MAX_GRADIENT_STOPS, MAX_LIGHTS, MIME_TYPES, type MarkOptions, MaskMath, type MaskMathProps, type MaskTrackSignals, Mat4, type Material3D, type MaterialType, MaterialTypeSchema, Matrix4Math, type MatteMode, MatteModeSchema, type MeasureTextOptions, type MeasuredGlyph, Media, type MediaAnimatableProp, MediaMetadata, MediaMetadataSchema, type MediaNode, MediaNodeSchema, MediaOperation, MediaOperationSchema, MediaService, MediaSourceDescriptor, MediaSourceInput, MediaSourceSchema, type Mesh3DData, MeshAudioDeformConfig, MeshWarp, type MeshWarpProps, Milliseconds, type Model3DAnimatableProp, type Model3DData, type Model3DNode, Model3DNodeSchema, ModerationError, ModerationUnrefundableError, Modulate, type ModulateProps, MotionBlur, MotionBlurPipeline, type MotionBlurProps, MultiOutputGeneric, MultiOutputGenericSchema, type NodeAnimationTrack3D, NodeCapability, NodeId, NodeInputConnection, NodeMetadata, NodeMetadataSchema, NodeOperation, NodeProcessorContext, NodeProcessorParams, NodeResult, NodeResultSchema, NodeRunFunction, NodeValidationFn, NodeVisualConfig, NodeVisualConfigSchema, NoiseGenerator, type NoiseGeneratorProps, type NormalRelightingOptions, Normalized, type NormalizedLandmarkList, type ObjectAnchorName, type ObjectAnchorsSignals, type ObjectBoundingBox, type ObjectBoundingBoxSignals, type ObjectCollectionSignals, type ObjectKinematicsSignals, type ObjectTrackSignals, OpArt, type OpArtProps, OpticalFlowComputePipeline, type OpticalFlowOptions, Output, OutputItem, OutputItemSchema, PBRGlass, type PBRGlassProps, Paint, type PaintProps, Painterly, type PainterlyProps, ParsedGradient, ParsedGradientStop, type ParticleBlend, type ParticleBounds, type ParticleDissolveConfig, ParticleDissolveConfigSchema, type ParticleShape, Particles, type ParticlesOptions, PatchHeal, type PatchHealProps, Path3D, Path3DPoint, Path3DSample, type PathChainLUT, type PathChainLUTEntry, type PersonMatte, type PersonPlacement, PersonTrack, Physics, type PhysicsBakeOptions, PhysicsBody2D, PhysicsBody3D, type PhysicsBox3D, type PhysicsCollision, type PhysicsDriver, type PhysicsGroundOptions, type PhysicsRect, type PhysicsRope3DOptions, type PhysicsRopeOptions, type PhysicsSpring3DOptions, type PhysicsSpringOptions, type PhysicsWallsOptions, PhysicsWorld2D, PhysicsWorld3D, type PhysicsWorldOptions, type PinToLandmarkOptions, type PinToObjectOptions, Pixelate, type PixelateProps, Pixels, type Plane3DOptions, type PoseKeypointName, type PoseLandmarkSignals, type PoseResult, PoseSkeletonOptions, PoseSkeletonRenderer, Posterize, type PosterizeProps, type PreviewCloseReason, type PreviewOptions, type PreviewSession, type PreviewSource, type Primitive3DNodeOptions, type Prism3DOptions, ProceduralVFX, type ProceduralVFXProps, ProgrammaticSignal, ProgrammaticSignalOptions, type QaIssue, type QaSegment, type QueueStatus, RGBSplit, type RGBSplitProps, Radians, RefineEdge, type RefineEdgeProps, RefractionCaustics3D, type RefractionCaustics3DProps, type RegisterFontOptions, type RegisteredFont, Relight3D, type Relight3DProps, type RenderContextValue, RenderDiagnostic, type RenderProgress, RenderVideoOptions, RenderVideoResult, type RenderedSfx, Renderer2D, Renderer3D, ResizerScaler, type ResizerScalerProps, ResolvedEnvironment, type Result, Rgba, Rotate, type RotateProps, type RoundedBox3DOptions, type RunOptions, SSAO, SSAOPipeline, type SSAOProps, Scene, type SceneDefinition, SceneDefinitionSchema, type SceneOptions, type SceneSequenceOptions, type SceneTransitionType, SceneTransitionTypeSchema, Seconds, SectionNode, SectionOptions, SegmentationOptions, type SegmentationResult, SegmentationTexturePool, SelectiveColor, type SelectiveColorAdjustment, type SelectiveColorProps, type SelectorBasedOn, SelectorBasedOnSchema, type SelectorMode, SelectorModeSchema, type SelectorShape, SelectorShapeSchema, type SelectorUnits, SelectorUnitsSchema, Sequence, type SequenceEntry, type SequenceNode, type SequenceOptions, type SequenceTimelineResult, type SfxRenderContext, type SfxTrigger, ShadowPipeline, ShadowUniformInfo, ShadowsHighlights, type ShadowsHighlightsProps, type Shape3DContainer, type ShapeAnimatableProp, type ShapeNode, ShapeNodeSchema, Signal, SignalBuilderConfig, SignalChannelMeta, SignalChannelMetaSchema, type SignalContext, SignalData, SignalDataSchema, SignalGateData, SignalGateDataSchema, SignalMathData, SignalMathDataSchema, SignalStats, SignalStatsSchema, type SignalTrackOptions, type SignalValue, type SineSignalOptions, SingleOutputGeneric, SingleOutputGenericSchema, type SizeSpec, type Skeleton3D, type SkewProperties, SkewPropertiesSchema, SlugFontCache, SlugPipeline, SmartFramingOptions, SourceOperationSchema, type Spatial3DProperties, Spatial3DPropertiesSchema, SpatialLandmarkTransformer, type Sphere3DOptions, SpringConfig, type SpringOptions, type SpringPhysics, SpringPhysicsSchema, StereoPanning, type StereoPanningProps, StorageService, StrokeRect, type StyleName, Styles, SubjectOutlineOptions, SubjectSandwichOptions, type Surface3DOptions, TEXT_LAYER_DEFAULTS, TemporalDeflicker, TemporalDeflickerPipeline, TemporalObjectTracker, TensorData, type TensorDimensions, type TensorFormat, type TensorNode, TensorPipeline, type TensorPipelineConfig, type TensorSource, type TensorViewExport, type Text3DOptions, type TextAnchorConfig, TextAnchorConfigSchema, type TextAnimatableProp, TextAnimator, TextAnimatorBuilder, TextAnimatorSchema, type TextCursorConfig, TextCursorConfigSchema, type TextCursorStyle, TextCursorStyleSchema, TextMeasureResult, TextMeasureStyle, type TextMetrics, type TextNode, TextNodeSchema, TextOperationSchema, TextPathBuilder, type TextPathOptions, TextPathOptionsSchema, type TextPathSource, TextPathSourceSchema, type TextRangeSelector, TextRangeSelectorSchema, type TextScrambleConfig, TextScrambleConfigSchema, type TextSelector, TextSelectorSchema, type TextSignalSelector, TextSignalSelectorSchema, type TextSpan, type TextSpanItem, type TextSpanMark, TextSpanMarkSchema, TextSpanSchema, type TextWigglySelector, TextWigglySelectorSchema, TileOffset, type TileOffsetEdgeMode, type TileOffsetProps, TimelineSegmentSchema, TimelineTransform, TimelineTransformSchema, type ToneMapping, ToneMappingSchema, Toon, type ToonProps, TrackEditing, type TrackSource, type TrackedObject, TrackedRegionOptions, Trails, type TrailsProps, Transition, type TransitionDirection, TransitionSchema, type TransitionSpec, TransitionType, TransitionTypeSchema, type TypewriterAnimator, TypewriterAnimatorSchema, type TypingCadence, TypingCadenceSchema, UnsharpMask, type UnsharpMaskProps, ValidationError, type VariableFontAxes, VariableFontAxesSchema, type Vec2, Vec2Schema, Vec3, Vector3Math, VideoAnimation, VideoAnimationSchema, VideoLayerType, VideoLayerTypeSchema, type VideoQaOptions, type VideoQaReport, type VideoQaStats, VideoSpatialPropsSchema, VideoStylePropsSchema, VideoTextPropsSchema, VideoTimingPropsSchema, Vignette, type VignetteProps, VirtualMediaData, VirtualMediaDataSchema, Vision, type VisionAnalysisReport, VisionBundle, type VisionConfig, VisionNode, VisionNodeSpec, type VisionProps, VisionRunner, type VisionTask, type VisionVariant, type VolumetricFormationConfig, VolumetricFormationConfigSchema, type VolumetricFormationMode, VolumetricFormationModeSchema, type WiggleOptions, type World2DOptions, type World3DOptions, WritableSignal, XYPosition, accent, ai, analyzeSequence, appendOperation, applyStaggerToChildren, assertNever, bezier, blurRegion, bold, buildPathLUT, calculateSequenceTimeline, checkNodeResultCache, code, collectNodeOps, color, compositorToProgram, computeAnchorPivotOffset, computeCarrierContinuity, computeGridLayout, computeLayout, computeLayoutSync, computeLineLeadingDisplacement, computeRangeSelectorWeight, computeStaggerDelay, computeStrokeRect, computeVideoCropRenderProps, computed, cosineSignal, createOutputItemSchema, createVirtualMedia, dataTypeColors, degrees, describeGpu, deserializeSignalData, deterministicWigglyNoise, distanceToCurveParameter, editTrackedRegion, effectFactories, effectMeta, ellipseToCubicBeziers, encodeStereoWav, ensureDevice, evaluateAnimationAtFrame, evaluateCubicBezier, evaluateCubicBezierDerivative, evaluateExpressionSelector, evaluateMarqueeOffset, evaluateSelectorCombination, evaluateSkewMatrix, evaluateSpringProgress, evaluateTrackAtFrame, evaluateTypewriterState, evaluateVolumetricFormation, extractSvgDimensions, findSourceAsset, formatHex, formatQaReport, fps$1 as fps, frame$1 as frame, frameArraySignal, frameSignal, generateArcLengthLUT, generateId, generatePathSegments, getActiveMediaMetadata, getFileDataMetadata, getFingerprint, getLeafMediaType, getMediaType, getRenderFingerprint, getScramblePool, getShuffledOrder, gradientStopsToOklab, handleId, handleLabel, hasOnlySingleSource, hoistMattes, inputStore, interpolate, isCssGradient, isEqual, isFrameIndex, isNormalized, isSignal, isValueSignal, isVirtualMediaData, italic, limitGradientStops, lintComposition, loadFBX, loadModel3D, loadOBJ, lutStore, mapBlendModeToSkia, mark, measureSpring, measureText, measureTextAsync, mergeAnimationTracks, mixAudioTracks, mixColors, mixSfxInto, ms, nodeId, normalizeColorStops, normalizeTextSpans, normalized, oklabToRgb, parseColorToRgb, parseCssColor, parseCssGradient, parseFBX, parseMTL, parseMarkup, parseOBJ, parseSvgPathToCubicBeziers, pinNodeToLandmark, pinNodeToObject, pixels, preloadCompositionFonts, preloadFont, programmaticSignal, progressSignal, radians, registerSignalDependency, renderFrameGrid, renderSemaphore, renderSfx, reportRenderDiagnostic, requiresIsolation, resetRenderCaches, resolveBoolean, resolveEnvironment, resolveMediaMimeType, resolveNumber, resolveParam, resolveSamplePoints, resolveString, rgbToOklab, rich, sampleAudioSpectrumScale, sampleColorStops, sampleCurveGeometry, samplePathChainGeometry, seconds, section, serializeSignalData, shaderStore, signal, signalBuilder, signalRegistry, sineSignal, size, softLimit, span, spring, springCalculation, stampResult, startPreview, sub, sup, takeRenderDiagnostics, textureCache, timeSignal, updateClockSignals, waveToCubicBeziers };
|
|
4659
|
-
//# sourceMappingURL=index.d.mts.map
|
|
1
|
+
import "./chunk-D7gtBK74.mjs";
|
|
2
|
+
import { $ as AdvancedTextAnimatorSchema, $a as SineSignalOptions, $i as MediaSourceInput, $n as samplePathChainGeometry, $o as frameSignal, $r as DATA_TYPE_EXTENSIONS, $t as TextCursorConfig, A as SlugFontCache, Aa as Pixels, Ai as GateSignalOptions, An as buildPathLUT, Ao as VisionConfig, Ar as resolveEnvironment, As as radians, At as LongShadowConfig, B as loadModel3D, Ba as SignalBuilderConfig, Bi as JsonArray, Bn as evaluateMarqueeOffset, Bo as computed, Br as BaseVideoLayerPropsSchema, Bs as seconds, Bt as SelectorShape, C as Renderer3D, Ca as ObjectBoundingBox, Ci as FileData, Cn as VariableFontAxesSchema, Co as VideoLayerTypeSchema, Cr as Path3DPoint, Cs as normalized, Ct as GlyphAnchorGroupingSchema, Da as OutputItemSchema, Di as FrameIndex, Dn as VolumetricFormationConfigSchema, Do as VideoTimingPropsSchema, Dr as Vec3, Ds as pixels, Dt as KineticMarqueeConfigSchema, E as ShadowPipeline, Ea as OutputItem, Ei as FrameContext, En as VolumetricFormationConfig, Eo as VideoTextPropsSchema, Er as ShadowUniformInfo, Es as parseCssGradient, Et as KineticMarqueeConfig, F as describeGpu, Fa as RenderDiagnostic, Fi as GradientType, Fn as distanceToCurveParameter, Fo as XYPosition, Fr as AudioExtractorSignalData, Fs as resolveNumber, Ft as PathChainLUTEntry, G as parseOBJ, Ga as SignalDataSchema, Gi as MAX_GRADIENT_STOPS, Gn as evaluateVolumetricFormation, Go as degrees, Gr as CannyOptions, Gs as stampResult, Gt as SkewPropertiesSchema, H as lutStore, Ha as SignalChannelMetaSchema, Hi as JsonValue, Hn as evaluateSkewMatrix, Ho as createOutputItemSchema, Hr as CAPTION_LAYER_DEFAULTS, Hs as signal, Ht as SelectorUnits, I as ensureDevice, Ia as Rgba, Ii as HandleId, In as ellipseToCubicBeziers, Io as appendOperation, Ir as AudioExtractorSignalDataSchema, Is as resolveParam, It as SelectorBasedOn, J as textureCache, Ja as SignalMathData, Ji as MediaMetadataSchema, Jn as getScramblePool, Jo as findSourceAsset, Jr as ConfigHandle, Js as updateClockSignals, Jt as SpringPhysics, K as shaderStore, Ka as SignalGateData, Ki as MIME_TYPES, Kn as generateArcLengthLUT, Ko as deserializeSignalData, Kr as Color, Ks as takeRenderDiagnostics, Kt as Spatial3DProperties, La as Seconds, Li as HandleLabel, Ln as evaluateCubicBezier, Lo as assertNever, Lr as BaseMediaOperationProps, Ls as resolveString, Lt as SelectorBasedOnSchema, Ma as ProgrammaticSignal, Mi as GeneratorSignalDataSchema, Mn as computeLineLeadingDisplacement, Mo as VisionTask, Mr as AnimationTypeSchema, Ms as reportRenderDiagnostic, Mt as ParticleDissolveConfig, Na as ProgrammaticSignalOptions, Ni as GlobalCompositeOperation, Nn as computeRangeSelectorWeight, No as VisionVariant, Nr as AnyOutputUnion, Ns as resolveBoolean, Nt as ParticleDissolveConfigSchema, Oa as ParsedGradient, Oi as FrameSignal, On as VolumetricFormationMode, Oo as VirtualMediaData, Or as Vector3Math, Os as programmaticSignal, Ot as LineSpacingDynamics, Pa as Radians, Pi as Gradient, Pn as deterministicWigglyNoise, Po as WritableSignal, Pr as AnyOutputUnionSchema, Ps as resolveMediaMimeType, Pt as PathChainLUT, Q as AdvancedTextAnimatorBuilder, Qa as SignalValue, Qi as MediaSourceDescriptor, Qn as sampleCurveGeometry, Qo as frameArraySignal, Qr as ControlNetConditioningOutputs, Qt as TextAnimatorBuilder, R as inputStore, Ra as SegmentationOptions, Ri as HandleType, Rn as evaluateCubicBezierDerivative, Ro as checkNodeResultCache, Rr as BaseMediaOperationPropsSchema, Rs as rgbToOklab, Rt as SelectorMode, S as Renderer2D, Sa as NormalizedLandmarkList, Si as FileAssetSchema, Sn as VariableFontAxes, So as VideoLayerType, Sr as Path3D, Ss as normalizeColorStops, St as GlyphAnchorGrouping, T as SSAOPipeline, Ta as Output, Ti as Fps, Tn as Vec2Schema, To as VideoStylePropsSchema, Tr as ResolvedEnvironment, Ts as parseCssColor, Tt as GlyphAnchorPointSchema, U as parseFBX, Ua as SignalContext, Ui as JsonValueSchema, Un as evaluateSpringProgress, Uo as createVirtualMedia, Ur as COMPOSITE_OPERATIONS, Us as signalBuilder, Ut as SelectorUnitsSchema, V as loadOBJ, Va as SignalChannelMeta, Vi as JsonObject, Vn as evaluateSelectorCombination, Vo as cosineSignal, Vr as Brand, Vs as serializeSignalData, Vt as SelectorShapeSchema, W as parseMTL, Wa as SignalData, Wi as Landmark3D, Wn as evaluateTypewriterState, Wo as dataTypeColors, Wr as COMPOSITOR_DEFAULTS, Ws as sineSignal, Wt as SkewProperties, X as AETextAnimatorSchema, Xa as SignalStats, Xi as MediaOperationSchema, Xn as parseSvgPathToCubicBeziers, Xo as fps, Xr as ConfigSchemaRegistry, Xt as TextAnchorConfig, Y as AETextAnimator, Ya as SignalMathDataSchema, Yi as MediaOperation, Yn as getShuffledOrder, Yo as formatHex, Yr as ConfigHandleSchema, Yt as SpringPhysicsSchema, Z as AdvancedTextAnimator, Za as SignalStatsSchema, Zi as MediaService, Zn as sampleAudioSpectrumScale, Zo as frame, Zr as ConnectedInput, Zt as TextAnchorConfigSchema, _ as Mesh3DData, _a as NodeValidationFn, _i as ExportResultSchema, _n as TextWigglySelectorSchema, _o as TransitionSchema, _r as LightKind, _s as isVirtualMediaData, _t as ExpressionEvaluationContext, a as AudioMeshDeformPipeline, aa as MultiOutputGeneric, ai as DataTypeEnum, an as TextPathOptionsSchema, ao as TensorData, ar as CatmullRomOptions, as as getMediaType, at as AnimatableGlyphPropsSchema, b as NodeAnimationTrack3D, ba as NormalRelightingOptions, bi as FaceLandmarksOptions, bn as TypingCadence, bo as VideoAnimation, br as Mat4, bs as ms, bt as ExtendedGlyphProperties, c as BlendMode, ca as NodeInputConnection, ci as DeflickerOptions, cn as TextRangeSelector, co as TensorNode, cr as Environment3DFog, cs as handleId, ct as AudioSpectrumTypographySchema, d as EffectPipeline, da as NodeOperation, di as DetectedObject, dn as TextScrambleConfigSchema, do as TextSpan, dr as FrustumPlanes, ds as isCssGradient, dt as CubicBezierSegment, ea as MediaSourceSchema, ei as DEFAULT_DURATION_MS, en as TextCursorConfigSchema, eo as SingleOutputGeneric, er as waveToCubicBeziers, es as generateId, et as AnchorGrouping, f as GlassPipeline, fa as NodeProcessorContext, fn as TextSelector, fo as TextSpanMark, fr as GPULightData, fs as isEqual, ft as CubicBezierSegmentSchema, g as Material3D, ga as NodeRunFunction, gi as ExportResult, gn as TextWigglySelector, go as TrackedObject, gr as Light3DOptions, gs as isValueSignal, gt as EnhancedTextNodeSchema, ha as NodeResultSchema, hi as EffectDomain, hn as TextSignalSelectorSchema, ho as TimelineTransformSchema, hr as Light3D, hs as isSignal, ht as EnhancedTextNode, i as AudioLatentTrackCache, ia as ModerationUnrefundableError, ii as DataType, in as TextPathOptions, io as TEXT_LAYER_DEFAULTS, ir as CameraShakeOptions, is as getLeafMediaType, it as AnimatableGlyphProps, j as SlugPipeline, ja as PoseSkeletonOptions, ji as GeneratorSignalData, jn as computeAnchorPivotOffset, jo as VisionNodeSpec, jr as AnimationType, js as registerSignalDependency, jt as LongShadowConfigSchema, k as Skeleton3D, ka as ParsedGradientStop, ki as GPUTextureBinding, kn as VolumetricFormationModeSchema, ko as VirtualMediaDataSchema, kr as parseColorToRgb, ks as progressSignal, kt as LineSpacingDynamicsSchema, l as Bone3D, la as NodeMetadata, li as Degrees, ln as TextRangeSelectorSchema, lo as TensorPipelineConfig, lr as Environment3DOptions, ls as handleLabel, lt as ChromaticGlitchConfig, m as LoadModelOptions, ma as NodeResult, mi as EffectConfigValue, mn as TextSignalSelector, mo as TimelineTransform, mr as LIGHT_UNIFORM_SIZE_BYTES, ms as isNormalized, mt as DynamicStrokePropertiesSchema, n as AudioLatentData, na as Milliseconds, ni as DEFAULT_MEDIA_DIMENSION, nn as TextCursorStyleSchema, no as SourceOperationSchema, nr as Camera3D, ns as getFileDataMetadata, nt as AnchorPreset, oa as MultiOutputGenericSchema, oi as DataTypeVal, on as TextPathSource, oo as TensorDimensions, or as CirclePathOptions, os as getRenderFingerprint, ot as ArcLengthLUTEntry, p as GpuAdapterDescription, pa as NodeProcessorParams, pi as EffectConfig, pn as TextSelectorSchema, po as TimelineSegmentSchema, pr as HelixOptions, ps as isFrameIndex, pt as DynamicStrokeProperties, q as signalRegistry, qa as SignalGateDataSchema, qi as MediaMetadata, qn as generatePathSegments, qo as extractSvgDimensions, qr as ColorStopLike, qs as timeSignal, qt as Spatial3DPropertiesSchema, r as AudioLatentEngine, ra as ModerationError, ri as DataForType, rn as TextPathBuilder, ro as StorageService, rr as Camera3DPose, rs as getFingerprint, rt as AnchorPresetSchema, sa as NodeId, si as DataTypes, sn as TextPathSourceSchema, so as TensorFormat, sr as ENVIRONMENT_PRESETS, ss as gradientStopsToOklab, st as AudioSpectrumTypography, t as AnimationClip3D, ta as MeshAudioDeformConfig, ti as DEFAULT_FPS, tn as TextCursorStyle, to as SingleOutputGenericSchema, tr as BezierSegment3D, ts as getActiveMediaMetadata, tt as AnchorGroupingSchema, ua as NodeMetadataSchema, ui as DepthNormalsOptions, un as TextScrambleConfig, uo as TextOperationSchema, ur as FrustumPlane, us as hasOnlySingleSource, ut as ChromaticGlitchConfigSchema, v as Model3DData, va as NodeVisualConfig, vi as ExtendedLayer, vn as TypewriterAnimator, vo as TransitionType, vr as LightsUniformData, vs as limitGradientStops, vt as ExpressionSelector, wa as OpticalFlowOptions, wi as FileDataSchema, wn as Vec2, wo as VideoSpatialPropsSchema, wr as Path3DSample, ws as oklabToRgb, wt as GlyphAnchorPoint, x as RenderContextValue, xa as Normalized, xi as FileAsset, xn as TypingCadenceSchema, xo as VideoAnimationSchema, xr as Matrix4Math, xs as nodeId, xt as ExtendedGlyphPropertiesSchema, y as MotionBlurPipeline, ya as NodeVisualConfigSchema, yi as ExtendedLayerSchema, yn as TypewriterAnimatorSchema, yo as TransitionTypeSchema, yr as MAX_LIGHTS, ys as mixColors, yt as ExpressionSelectorSchema, z as loadFBX, za as Signal, zi as HandleTypeVal, zn as evaluateExpressionSelector, zo as computeVideoCropRenderProps, zr as BaseVideoLayerProps, zs as sampleColorStops, zt as SelectorModeSchema } from "./index-fymoeGNW.mjs";
|
|
3
|
+
import { a as SfxTrigger, c as softLimit, g as mixAudioTracks, i as SfxRenderContext, n as encodeStereoWav, o as mixSfxInto, r as RenderedSfx, s as renderSfx } from "./index-DNKM3to5.mjs";
|
|
4
|
+
import "./renderer-COXKPofU.mjs";
|
|
5
|
+
import "./renderer-Dx28wTi1.mjs";
|
|
6
|
+
import { $ as InterpolateOptions, $a as MediaAnimatableProp, $i as themes, $n as Cue, $t as PoseKeypointName, A as Physics, Aa as CompositorProgramSchema, An as QueueStatus, Ao as WiggleOptions, At as Plane3DOptions, B as FieldSample2D, Ba as Keyframe, Bo as evaluateTrackAtFrame, Bt as BodyCommonOptions, C as TrackEditing, Ca as CarrierHandoffConfig, Cn as span, Co as TextNode, Ct as Cube3DOptions, D as section, Da as ColorStop, Dn as AiConfig, Do as ToneMapping, Dt as ExtrudedText3DOptions, E as editTrackedRegion, Ea as ColorSignalOptions, En as Ai, Eo as TextSpanSchema, Et as Cylinder3DOptions, F as PhysicsRope3DOptions, Fa as EnvironmentPreset, Fo as computeCarrierContinuity, Ft as Sphere3DOptions, G as PhysicsSpringOptions, Ga as LightNode, Gt as EmitterShape, H as PhysicsGroundOptions, Ha as LayerAnimation, Ho as lintComposition, Ht as PhysicsCollision, I as PhysicsSpring3DOptions, Ia as EnvironmentPresetSchema, Io as computeLayout, It as Surface3DOptions, J as World2DOptions, Ja as LightTypeSchema, Jt as ParticleShape, K as PhysicsWallsOptions, Ka as LightNodeSchema, Kn as BaseProps, Kt as ParticleBlend, L as PhysicsWorld3D, La as FlexNode, Ln as Anchor, Lo as computeLayoutSync, Lt as Text3DOptions, M as FieldSample3D, Ma as EaseRef, Mi as pulseKeys, Mn as RunOptions, Mo as calculateSequenceTimeline, Mt as Prism3DOptions, N as PhysicsBody3D, Na as EnvironmentFog, Nn as ValidationError, No as collectNodeOps, Nt as RoundedBox3DOptions, O as StyleName, Oa as ColorStopSchema, On as ApiError, Oo as ToneMappingSchema, Ot as Grid3DOptions, P as PhysicsBox3D, Pa as EnvironmentFogSchema, Pn as ai, Po as compositorToProgram, Pr as Target, Pt as Shape3DContainer, Q as Easing, Qa as MatteModeSchema, Qt as PersonTrack, R as World3DOptions, Ra as FlexNodeSchema, Ro as computeStaggerDelay, Rr as Theme, Rt as Particles, S as SubjectSandwichOptions, Sa as CameraShake, Sn as size, So as TextAnimatorSchema, Sr as MotionPreset, St as Carousel3DOptions, T as blurRegion, Ta as CarrierState, Tn as sup, To as TextSpanMarkSchema, Tt as CubeFaceInput, U as PhysicsRect, Ua as LayoutNode, Un as AudioLevels, Uo as mergeAnimationTracks, Ut as PhysicsDriver, V as PhysicsBody2D, Va as KeyframeTuple, Vo as hoistMattes, Vt as PhysicsBakeOptions, W as PhysicsRopeOptions, Wa as LayoutNodeSchema, Wt as PhysicsWorldOptions, X as LightingRig, Xa as MaterialTypeSchema, Xt as ClipVisionOptions, Y as Lighting, Ya as MaterialType, Yt as ClipVision, Z as LightingRigOptions, Za as MatteMode, Zt as PersonPlacement, _ as RenderVideoResult, _a as CameraAnimation, _n as italic, _o as SignalTrackOptions, _t as SequenceEntry, a as AnimatableNode, an as ChartPadding, ao as Scene, at as computeStrokeRect, b as SmartFramingOptions, ba as CameraNode, bn as parseMarkup, bo as TextAnimatableProp, bt as TransitionDirection, c as CompositionOptions, cn as ChartType, co as SceneOptions, ct as measureSpring, d as EnvironmentOptions, da as AnimationTrack, dn as MarkOptions, do as Sequence, dt as preloadCompositionFonts, en as ChartAnimationOptions, eo as MediaNode, er as Cues, et as SpringConfig, f as Layer, fa as BlockNode, fn as TextSpanItem, fo as SequenceOptions, ft as preloadFont, g as RenderVideoOptions, ga as BoxNodeSchema, gn as color, go as ShapeNodeSchema, gt as SceneSequenceOptions, h as NodeCapability, ha as BoxNode, hn as code, ho as ShapeNode, ht as springCalculation, i as analyzeAudio, in as ChartOptions, io as Model3DNodeSchema, it as bezier, j as Body3DOptions, ja as CompositorToProgramOptions, jn as Result, jo as applyStaggerToChildren, jt as Primitive3DNodeOptions, k as Styles, ka as CompositorProgramConfig, kn as FRAMEFIELDS_AI_PROXY_URL, ko as TrackSource, kt as Layer3D, l as EditableObjectTrack, la as AnimatableProp, ln as ChartX, lo as SceneTransitionType, lt as measureText, m as Media, ma as BloomConfigSchema, mn as bold, mo as ShapeAnimatableProp, mt as spring, n as bindComponent, nn as ChartCandle, no as Model3DAnimatableProp, nt as TextMeasureResult, o as CompatibleEffect, on as ChartSeries, oo as SceneDefinition, ot as interpolate, p as Light, pa as BloomConfig, pi as defineTheme, pn as accent, po as SequenceTimelineResult, pt as requiresIsolation, q as PhysicsWorld2D, qa as LightType, qt as ParticleBounds, rn as ChartDatum, ro as Model3DNode, rt as TextMeasureStyle, s as Composition, sn as ChartSlice, so as SceneDefinitionSchema, st as mapBlendModeToSkia, t as ComponentNode, tn as ChartAxisOptions, to as MediaNodeSchema, tt as StrokeRect, u as Effect, ua as AnimatablePropsFor, un as DEFAULT_CHART_COLORS, uo as SceneTransitionTypeSchema, ut as measureTextAsync, v as SectionNode, va as CameraDoF, vn as mark, vo as SizeSpec, vt as SequenceNode, w as TrackedRegionOptions, wa as CarrierHandoffConfigSchema, wn as sub, wo as TextNodeSchema, wt as CubeFaceConfig, x as SubjectOutlineOptions, xa as CameraNodeSchema, xn as rich, xo as TextAnimator, xt as TransitionSpec, y as SectionOptions, ya as CameraLens, yn as normalizeTextSpans, yo as SpringOptions, yt as Transition, z as Body2DOptions, za as FromToOptions, zo as evaluateAnimationAtFrame, zr as ThemeInput, zt as ParticlesOptions } from "./index-BJe_GEyj.mjs";
|
|
7
|
+
import "./index-BpdVOlsV.mjs";
|
|
8
|
+
import { n as AudioSignalOptions, r as ExtractedAudioSignalsBundle, t as AudioSignal } from "./audio-C1A4N3Wh.mjs";
|
|
9
|
+
import { a as RegisteredFont, i as RegisterFontOptions, n as MeasureTextOptions, o as TextMetrics, r as MeasuredGlyph, t as FontManager } from "./index-CalU-mpZ.mjs";
|
|
10
|
+
import { $ as TileOffsetEdgeMode, $n as ResizerScalerProps, $r as ObjectAnchorsSignals, $t as FlipProps, An as Paint, At as CameraParallax3DProps, B as PBRGlass, Bn as Pixelate, Bt as ContourProps, C as GradientMapProps, Ci as DepthNormalsComputePipeline, Cn as MeshWarp, Ct as AudioParametricEq, D as HalftoneScreen, Di as TensorSource, Dn as NoiseGeneratorProps, Dt as CRT, E as HalftoneMode, Ei as TensorPipeline, En as NoiseGenerator, Et as AudioReverbProps, F as LevelsProps, Fn as Painterly, Ft as ColorBalance, G as SSAOProps, Gn as ProceduralVFXProps, Gr as COCO17_KEYPOINTS, 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, Kr as COCO17_KEYPOINT_NAMES, Kt as DisplacementMap, L as ModulateProps, Ln as PatchHeal, Lt as ColorKey, M as HighPassProps, Mt as ChannelMergerProps, N as LevelChannel, Nt as ChannelSplitter, O as HalftoneScreenProps, Oi as TensorViewExport, On as OpArt, Ot as CRTProps, P as Levels, Pt as ChannelSplitterProps, Q as TileOffset, Qn as ResizerScaler, Qr as ObjectAnchorName, Qt as Flip, R as MotionBlur, Rt as ColorKeyProps, S as GradientMap, Si as ControlNetMultiplexer, Sn as MaskMathProps, St as AudioNoiseGateProps, T as HalftoneDotShape, Ti as TemporalDeflickerPipeline, 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, Wr as COCO17_BONES, Wt as Datamosh, X as ShadowsHighlightsProps, Xn as RefractionCaustics3D, Xr as LandmarkCoordinateSignals, Xt as ExtractLUT, Y as ShadowsHighlights, Yn as RefineEdgeProps, Yr as InstanceMask, Yt as DitherProps, Z as TemporalDeflicker, Zn as RefractionCaustics3DProps, Zr as MaskTrackSignals, Zt as ExtractLUTProps, _ as EffectConfigMap, _i as VisionRunner, _t as AudioDelay, a as ApplyLUTProps, ai as PinToLandmarkOptions, an as KaleidoscopeProps, ar as Toon, b as FilmGrain, bi as pinNodeToObject, bn as LiquifyProps, bt as AudioFadeProps, c as Crop, ci as PoseResult, cn as KenBurnsProps, cr as TrailsProps, d as CurvesChannelPoint, di as SegmentationTexturePool, dt as Blur, ei as ObjectBoundingBoxSignals, en as Gooey, er as Rotate, et as TileOffsetProps, f as CurvesProps, fi as SpatialLandmarkTransformer, ft as BlurProps, g as DepthOfFieldProps, gi as VisionNode, gn as LayerStyleProps, gt as AudioCompressorProps, h as DepthOfField, hi as VisionBundle, ht as AudioCompressor, i as ApplyLUT, ii as PersonMatte, in as Kaleidoscope, it as VisionProps, j as HighPass, jn as PaintProps, jt as ChannelMerger, kn as OpArtProps, kt as CameraParallax3D, l as CropProps, li as PoseSkeletonRenderer, ln as LayerStyle, lr as Vignette, lt as effectFactories, m as DeflickerProps, mi as VisionAnalysisReport, mt as AsciiProps, n as AnyEffect, ni as ObjectKinematicsSignals, nn as Iridescence, nr as StereoPanning, nt as UnsharpMaskProps, o as AudioSignalExtractor, oi as PinToObjectOptions, on as KenBurns, or as ToonProps, p as CustomEffect, pi as TemporalObjectTracker, pt as Ascii, q as SelectiveColorAdjustment, qn as RGBSplitProps, qr as COCO_CLASSES, qt as DisplacementMapProps, r as AnyVisualEffect, ri as ObjectTrackSignals, rn as IridescenceProps, rr as StereoPanningProps, rt as Vision, s as AudioSignalExtractorProps, si as PoseLandmarkSignals, sr as Trails, t as AnyAudioEffect, ti as ObjectCollectionSignals, tn as GooeyProps, tr as RotateProps, tt as UnsharpMask, u as Curves, ui as SegmentationResult, ur as VignetteProps, ut as effectMeta, v as EffectOp, vi as analyzeSequence, vn as Liquify, vt as AudioDelayProps, w as GradientMapStop, wi as OpticalFlowComputePipeline, wt as AudioParametricEqProps, x as FilmGrainProps, xi as CannyComputePipeline, xn as MaskMath, xt as AudioNoiseGate, y as EffectPropsFor, yi as pinNodeToLandmark, yt as AudioFade, z as MotionBlurProps, zn as PatchHealProps, zt as Contour } from "./index-D6-lH1Mx.mjs";
|
|
11
|
+
import { _ as renderSemaphore, a as renderFrameGrid, c as HeadlessMediaRenderer, d as QaSegment, f as RenderProgress, g as formatQaReport, h as VideoQaStats, i as computeGridLayout, l as HeadlessWebGPURenderer, m as VideoQaReport, n as FrameGridRenderable, o as resolveSamplePoints, p as VideoQaOptions, r as FrameSamplePoint, s as AudioQaStats, t as FrameGridOptions, u as QaIssue, v as resetRenderCaches } from "./index-B-KVpJMb.mjs";
|
|
12
|
+
import { a as startPreview, i as PreviewSource, n as PreviewOptions, r as PreviewSession, t as PreviewCloseReason } from "./index-C2f4Hm-p.mjs";
|
|
13
|
+
export { AETextAnimator, AETextAnimatorSchema, AdvancedTextAnimator, AdvancedTextAnimatorBuilder, AdvancedTextAnimatorSchema, Ai, AiConfig, Anchor, AnchorGrouping, AnchorGroupingSchema, AnchorPreset, AnchorPresetSchema, AnimatableGlyphProps, AnimatableGlyphPropsSchema, AnimatableNode, AnimatableProp, AnimatablePropsFor, AnimationClip3D, AnimationTrack, AnimationType, AnimationTypeSchema, AnyAudioEffect, AnyEffect, AnyOutputUnion, AnyOutputUnionSchema, AnyVisualEffect, ApiError, ApplyLUT, ApplyLUTProps, ArcLengthLUTEntry, Ascii, AsciiProps, AudioCompressor, AudioCompressorProps, AudioDelay, AudioDelayProps, AudioExtractorSignalData, AudioExtractorSignalDataSchema, AudioFade, AudioFadeProps, AudioLatentData, AudioLatentEngine, AudioLatentTrackCache, AudioLevels, AudioMeshDeformPipeline, AudioNoiseGate, AudioNoiseGateProps, AudioParametricEq, AudioParametricEqProps, AudioQaStats, AudioReverb, AudioReverbProps, AudioSignal, AudioSignalExtractor, AudioSignalExtractorProps, AudioSignalOptions, AudioSpectrumTypography, AudioSpectrumTypographySchema, BaseMediaOperationProps, BaseMediaOperationPropsSchema, BaseProps, BaseVideoLayerProps, BaseVideoLayerPropsSchema, BezierSegment3D, BlendMode, BlockNode, BloomConfig, BloomConfigSchema, Blur, BlurProps, Body2DOptions, Body3DOptions, BodyCommonOptions, Bone3D, BoxNode, BoxNodeSchema, Brand, CAPTION_LAYER_DEFAULTS, COCO17_BONES, COCO17_KEYPOINTS, COCO17_KEYPOINT_NAMES, COCO_CLASSES, COMPOSITE_OPERATIONS, COMPOSITOR_DEFAULTS, CRT, CRTProps, Camera3D, Camera3DPose, CameraAnimation, CameraDoF, CameraLens, CameraNode, CameraNodeSchema, CameraParallax3D, CameraParallax3DProps, CameraShake, CameraShakeOptions, CannyComputePipeline, CannyOptions, Carousel3DOptions, CarrierHandoffConfig, CarrierHandoffConfigSchema, CarrierState, CatmullRomOptions, ChannelMerger, ChannelMergerProps, ChannelSplitter, ChannelSplitterProps, ChartAnimationOptions, ChartAxisOptions, ChartCandle, ChartDatum, ChartOptions, ChartPadding, ChartSeries, ChartSlice, ChartType, ChartX, ChromaticGlitchConfig, ChromaticGlitchConfigSchema, CirclePathOptions, ClipVision, ClipVisionOptions, Color, ColorBalance, ColorBalanceProps, ColorKey, ColorKeyProps, ColorSignalOptions, ColorStop, ColorStopLike, ColorStopSchema, CompatibleEffect, ComponentNode, Composition, CompositionOptions, CompositorProgramConfig, CompositorProgramSchema, CompositorToProgramOptions, ConfigHandle, ConfigHandleSchema, ConfigSchemaRegistry, ConnectedInput, Contour, ContourProps, ControlNetConditioningOutputs, ControlNetMultiplexer, CornerPin, CornerPinProps, Crop, CropProps, Cube3DOptions, CubeFaceConfig, CubeFaceInput, CubicBezierSegment, CubicBezierSegmentSchema, Cue, Cues, Curves, CurvesChannelPoint, CurvesProps, CustomEffect, Cylinder3DOptions, DATA_TYPE_EXTENSIONS, DEFAULT_CHART_COLORS, DEFAULT_DURATION_MS, DEFAULT_FPS, DEFAULT_MEDIA_DIMENSION, DataForType, DataType, DataTypeEnum, DataTypeVal, DataTypes, Datamosh, DatamoshProps, DeflickerOptions, DeflickerProps, Degrees, DepthNormalsComputePipeline, DepthNormalsOptions, DepthOfField, DepthOfFieldProps, DetectedObject, DisplacementMap, DisplacementMapProps, Dither, DitherProps, DynamicStrokeProperties, DynamicStrokePropertiesSchema, ENVIRONMENT_PRESETS, EaseRef, Easing, EditableObjectTrack, Effect, EffectConfig, EffectConfigMap, EffectConfigValue, EffectDomain, EffectOp, EffectPipeline, EffectPropsFor, EmitterShape, EnhancedTextNode, EnhancedTextNodeSchema, Environment3DFog, Environment3DOptions, EnvironmentFog, EnvironmentFogSchema, EnvironmentOptions, EnvironmentPreset, EnvironmentPresetSchema, ExportResult, ExportResultSchema, ExpressionEvaluationContext, ExpressionSelector, ExpressionSelectorSchema, ExtendedGlyphProperties, ExtendedGlyphPropertiesSchema, ExtendedLayer, ExtendedLayerSchema, ExtractLUT, ExtractLUTProps, ExtractedAudioSignalsBundle, ExtrudedText3DOptions, FRAMEFIELDS_AI_PROXY_URL, FaceLandmarksOptions, FieldSample2D, FieldSample3D, FileAsset, FileAssetSchema, FileData, FileDataSchema, FilmGrain, FilmGrainProps, FlexNode, FlexNodeSchema, Flip, FlipProps, FontManager, Fps, FrameContext, FrameGridOptions, FrameGridRenderable, FrameIndex, FrameSamplePoint, FrameSignal, FromToOptions, FrustumPlane, FrustumPlanes, GPULightData, GPUTextureBinding, GateSignalOptions, GeneratorSignalData, GeneratorSignalDataSchema, GlassPipeline, GlobalCompositeOperation, GlyphAnchorGrouping, GlyphAnchorGroupingSchema, GlyphAnchorPoint, GlyphAnchorPointSchema, Gooey, GooeyProps, GpuAdapterDescription, Gradient, GradientMap, GradientMapProps, GradientMapStop, GradientType, Grid3DOptions, HalftoneDotShape, HalftoneMode, HalftoneScreen, HalftoneScreenProps, HandleId, HandleLabel, HandleType, HandleTypeVal, HeadlessMediaRenderer, HeadlessWebGPURenderer, HelixOptions, HighPass, HighPassProps, InstanceMask, InterpolateOptions, Iridescence, IridescenceProps, JsonArray, JsonObject, JsonValue, JsonValueSchema, Kaleidoscope, KaleidoscopeProps, KenBurns, KenBurnsProps, Keyframe, KeyframeTuple, KineticMarqueeConfig, KineticMarqueeConfigSchema, LIGHT_UNIFORM_SIZE_BYTES, Landmark3D, LandmarkCoordinateSignals, Layer, Layer3D, LayerAnimation, LayerStyle, LayerStyleProps, LayoutNode, LayoutNodeSchema, LevelChannel, Levels, LevelsProps, Light, Light3D, Light3DOptions, LightKind, LightNode, LightNodeSchema, LightType, LightTypeSchema, Lighting, LightingRig, LightingRigOptions, LightsUniformData, LineSpacingDynamics, LineSpacingDynamicsSchema, Liquify, LiquifyProps, LoadModelOptions, LongShadowConfig, LongShadowConfigSchema, MAX_GRADIENT_STOPS, MAX_LIGHTS, MIME_TYPES, MarkOptions, MaskMath, MaskMathProps, MaskTrackSignals, Mat4, Material3D, MaterialType, MaterialTypeSchema, Matrix4Math, MatteMode, MatteModeSchema, MeasureTextOptions, MeasuredGlyph, Media, MediaAnimatableProp, MediaMetadata, MediaMetadataSchema, MediaNode, MediaNodeSchema, MediaOperation, MediaOperationSchema, MediaService, MediaSourceDescriptor, MediaSourceInput, MediaSourceSchema, Mesh3DData, MeshAudioDeformConfig, MeshWarp, MeshWarpProps, Milliseconds, Model3DAnimatableProp, Model3DData, Model3DNode, Model3DNodeSchema, ModerationError, ModerationUnrefundableError, Modulate, ModulateProps, MotionBlur, MotionBlurPipeline, MotionBlurProps, MotionPreset, MultiOutputGeneric, MultiOutputGenericSchema, NodeAnimationTrack3D, NodeCapability, NodeId, NodeInputConnection, NodeMetadata, NodeMetadataSchema, NodeOperation, NodeProcessorContext, NodeProcessorParams, NodeResult, NodeResultSchema, NodeRunFunction, NodeValidationFn, NodeVisualConfig, NodeVisualConfigSchema, NoiseGenerator, NoiseGeneratorProps, NormalRelightingOptions, Normalized, NormalizedLandmarkList, ObjectAnchorName, ObjectAnchorsSignals, ObjectBoundingBox, ObjectBoundingBoxSignals, ObjectCollectionSignals, ObjectKinematicsSignals, ObjectTrackSignals, OpArt, OpArtProps, OpticalFlowComputePipeline, OpticalFlowOptions, Output, OutputItem, OutputItemSchema, PBRGlass, PBRGlassProps, Paint, PaintProps, Painterly, PainterlyProps, ParsedGradient, ParsedGradientStop, ParticleBlend, ParticleBounds, ParticleDissolveConfig, ParticleDissolveConfigSchema, ParticleShape, Particles, ParticlesOptions, PatchHeal, PatchHealProps, Path3D, Path3DPoint, Path3DSample, PathChainLUT, PathChainLUTEntry, PersonMatte, PersonPlacement, PersonTrack, Physics, PhysicsBakeOptions, PhysicsBody2D, PhysicsBody3D, PhysicsBox3D, PhysicsCollision, PhysicsDriver, PhysicsGroundOptions, PhysicsRect, PhysicsRope3DOptions, PhysicsRopeOptions, PhysicsSpring3DOptions, PhysicsSpringOptions, PhysicsWallsOptions, PhysicsWorld2D, PhysicsWorld3D, PhysicsWorldOptions, PinToLandmarkOptions, PinToObjectOptions, Pixelate, PixelateProps, Pixels, Plane3DOptions, PoseKeypointName, PoseLandmarkSignals, PoseResult, PoseSkeletonOptions, PoseSkeletonRenderer, Posterize, PosterizeProps, PreviewCloseReason, PreviewOptions, PreviewSession, PreviewSource, Primitive3DNodeOptions, Prism3DOptions, ProceduralVFX, ProceduralVFXProps, ProgrammaticSignal, ProgrammaticSignalOptions, QaIssue, QaSegment, QueueStatus, RGBSplit, RGBSplitProps, Radians, RefineEdge, RefineEdgeProps, RefractionCaustics3D, RefractionCaustics3DProps, RegisterFontOptions, RegisteredFont, Relight3D, Relight3DProps, RenderContextValue, RenderDiagnostic, RenderProgress, RenderVideoOptions, RenderVideoResult, RenderedSfx, Renderer2D, Renderer3D, ResizerScaler, ResizerScalerProps, ResolvedEnvironment, Result, Rgba, Rotate, RotateProps, RoundedBox3DOptions, RunOptions, SSAO, SSAOPipeline, SSAOProps, Scene, SceneDefinition, SceneDefinitionSchema, SceneOptions, SceneSequenceOptions, SceneTransitionType, SceneTransitionTypeSchema, Seconds, SectionNode, SectionOptions, SegmentationOptions, SegmentationResult, SegmentationTexturePool, SelectiveColor, SelectiveColorAdjustment, SelectiveColorProps, SelectorBasedOn, SelectorBasedOnSchema, SelectorMode, SelectorModeSchema, SelectorShape, SelectorShapeSchema, SelectorUnits, SelectorUnitsSchema, Sequence, SequenceEntry, SequenceNode, SequenceOptions, SequenceTimelineResult, SfxRenderContext, SfxTrigger, ShadowPipeline, ShadowUniformInfo, ShadowsHighlights, ShadowsHighlightsProps, Shape3DContainer, ShapeAnimatableProp, ShapeNode, ShapeNodeSchema, Signal, SignalBuilderConfig, SignalChannelMeta, SignalChannelMetaSchema, SignalContext, SignalData, SignalDataSchema, SignalGateData, SignalGateDataSchema, SignalMathData, SignalMathDataSchema, SignalStats, SignalStatsSchema, SignalTrackOptions, SignalValue, SineSignalOptions, SingleOutputGeneric, SingleOutputGenericSchema, SizeSpec, Skeleton3D, SkewProperties, SkewPropertiesSchema, SlugFontCache, SlugPipeline, SmartFramingOptions, SourceOperationSchema, Spatial3DProperties, Spatial3DPropertiesSchema, SpatialLandmarkTransformer, Sphere3DOptions, SpringConfig, SpringOptions, SpringPhysics, SpringPhysicsSchema, StereoPanning, StereoPanningProps, StorageService, StrokeRect, StyleName, Styles, SubjectOutlineOptions, SubjectSandwichOptions, Surface3DOptions, TEXT_LAYER_DEFAULTS, Target, TemporalDeflicker, TemporalDeflickerPipeline, TemporalObjectTracker, TensorData, TensorDimensions, TensorFormat, TensorNode, TensorPipeline, TensorPipelineConfig, TensorSource, TensorViewExport, Text3DOptions, TextAnchorConfig, TextAnchorConfigSchema, TextAnimatableProp, TextAnimator, TextAnimatorBuilder, TextAnimatorSchema, TextCursorConfig, TextCursorConfigSchema, TextCursorStyle, TextCursorStyleSchema, TextMeasureResult, TextMeasureStyle, TextMetrics, TextNode, TextNodeSchema, TextOperationSchema, TextPathBuilder, TextPathOptions, TextPathOptionsSchema, TextPathSource, TextPathSourceSchema, TextRangeSelector, TextRangeSelectorSchema, TextScrambleConfig, TextScrambleConfigSchema, TextSelector, TextSelectorSchema, TextSignalSelector, TextSignalSelectorSchema, TextSpan, TextSpanItem, TextSpanMark, TextSpanMarkSchema, TextSpanSchema, TextWigglySelector, TextWigglySelectorSchema, Theme, ThemeInput, TileOffset, TileOffsetEdgeMode, TileOffsetProps, TimelineSegmentSchema, TimelineTransform, TimelineTransformSchema, ToneMapping, ToneMappingSchema, Toon, ToonProps, TrackEditing, TrackSource, TrackedObject, TrackedRegionOptions, Trails, TrailsProps, Transition, TransitionDirection, TransitionSchema, TransitionSpec, TransitionType, TransitionTypeSchema, TypewriterAnimator, TypewriterAnimatorSchema, TypingCadence, TypingCadenceSchema, UnsharpMask, UnsharpMaskProps, ValidationError, VariableFontAxes, VariableFontAxesSchema, Vec2, Vec2Schema, Vec3, Vector3Math, VideoAnimation, VideoAnimationSchema, VideoLayerType, VideoLayerTypeSchema, VideoQaOptions, VideoQaReport, VideoQaStats, VideoSpatialPropsSchema, VideoStylePropsSchema, VideoTextPropsSchema, VideoTimingPropsSchema, Vignette, VignetteProps, VirtualMediaData, VirtualMediaDataSchema, Vision, VisionAnalysisReport, VisionBundle, VisionConfig, VisionNode, VisionNodeSpec, VisionProps, VisionRunner, VisionTask, VisionVariant, VolumetricFormationConfig, VolumetricFormationConfigSchema, VolumetricFormationMode, VolumetricFormationModeSchema, WiggleOptions, World2DOptions, World3DOptions, WritableSignal, XYPosition, accent, ai, analyzeAudio, analyzeSequence, appendOperation, applyStaggerToChildren, assertNever, bezier, bindComponent, blurRegion, bold, buildPathLUT, calculateSequenceTimeline, checkNodeResultCache, code, collectNodeOps, color, compositorToProgram, computeAnchorPivotOffset, computeCarrierContinuity, computeGridLayout, computeLayout, computeLayoutSync, computeLineLeadingDisplacement, computeRangeSelectorWeight, computeStaggerDelay, computeStrokeRect, computeVideoCropRenderProps, computed, cosineSignal, createOutputItemSchema, createVirtualMedia, dataTypeColors, defineTheme, degrees, describeGpu, deserializeSignalData, deterministicWigglyNoise, distanceToCurveParameter, editTrackedRegion, effectFactories, effectMeta, ellipseToCubicBeziers, encodeStereoWav, ensureDevice, evaluateAnimationAtFrame, evaluateCubicBezier, evaluateCubicBezierDerivative, evaluateExpressionSelector, evaluateMarqueeOffset, evaluateSelectorCombination, evaluateSkewMatrix, evaluateSpringProgress, evaluateTrackAtFrame, evaluateTypewriterState, evaluateVolumetricFormation, extractSvgDimensions, findSourceAsset, formatHex, formatQaReport, fps, frame, frameArraySignal, frameSignal, generateArcLengthLUT, generateId, generatePathSegments, getActiveMediaMetadata, getFileDataMetadata, getFingerprint, getLeafMediaType, getMediaType, getRenderFingerprint, getScramblePool, getShuffledOrder, gradientStopsToOklab, handleId, handleLabel, hasOnlySingleSource, hoistMattes, inputStore, interpolate, isCssGradient, isEqual, isFrameIndex, isNormalized, isSignal, isValueSignal, isVirtualMediaData, italic, limitGradientStops, lintComposition, loadFBX, loadModel3D, loadOBJ, lutStore, mapBlendModeToSkia, mark, measureSpring, measureText, measureTextAsync, mergeAnimationTracks, mixAudioTracks, mixColors, mixSfxInto, ms, nodeId, normalizeColorStops, normalizeTextSpans, normalized, oklabToRgb, parseColorToRgb, parseCssColor, parseCssGradient, parseFBX, parseMTL, parseMarkup, parseOBJ, parseSvgPathToCubicBeziers, pinNodeToLandmark, pinNodeToObject, pixels, preloadCompositionFonts, preloadFont, programmaticSignal, progressSignal, pulseKeys, radians, registerSignalDependency, renderFrameGrid, renderSemaphore, renderSfx, reportRenderDiagnostic, requiresIsolation, resetRenderCaches, resolveBoolean, resolveEnvironment, resolveMediaMimeType, resolveNumber, resolveParam, resolveSamplePoints, resolveString, rgbToOklab, rich, sampleAudioSpectrumScale, sampleColorStops, sampleCurveGeometry, samplePathChainGeometry, seconds, section, serializeSignalData, shaderStore, signal, signalBuilder, signalRegistry, sineSignal, size, softLimit, span, spring, springCalculation, stampResult, startPreview, sub, sup, takeRenderDiagnostics, textureCache, themes, timeSignal, updateClockSignals, waveToCubicBeziers };
|