framefields 2.0.2
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/LICENCE +202 -0
- package/README.md +740 -0
- package/dist/audio/index.d.mts +5 -0
- package/dist/audio/index.mjs +14 -0
- package/dist/audio-Dvwwz8xU.d.mts +37 -0
- package/dist/audio-Dvwwz8xU.d.mts.map +1 -0
- package/dist/audio-TAvPwzLR.mjs +214 -0
- package/dist/audio-TAvPwzLR.mjs.map +1 -0
- package/dist/audio-x28ZgQBP.mjs +85 -0
- package/dist/audio-x28ZgQBP.mjs.map +1 -0
- package/dist/chunk-GMkBE123.mjs +47 -0
- package/dist/client-C74hb7fy.mjs +66 -0
- package/dist/client-C74hb7fy.mjs.map +1 -0
- package/dist/dist-1iUYuPct.mjs +1859 -0
- package/dist/dist-1iUYuPct.mjs.map +1 -0
- package/dist/dist-Bx6J0VcM.mjs +1859 -0
- package/dist/dist-Bx6J0VcM.mjs.map +1 -0
- package/dist/dist-C_hjvkdN.mjs +2220 -0
- package/dist/dist-C_hjvkdN.mjs.map +1 -0
- package/dist/dist-DKm2IyEJ.mjs +94 -0
- package/dist/dist-DKm2IyEJ.mjs.map +1 -0
- package/dist/dist-cjs-B5EVqDFp.mjs +85 -0
- package/dist/dist-cjs-B5EVqDFp.mjs.map +1 -0
- package/dist/dist-cjs-BGJkdexX.mjs +437 -0
- package/dist/dist-cjs-BGJkdexX.mjs.map +1 -0
- package/dist/dist-cjs-BKmGCgtm.mjs +9069 -0
- package/dist/dist-cjs-BKmGCgtm.mjs.map +1 -0
- package/dist/dist-cjs-BUc0_kg-.mjs +1091 -0
- package/dist/dist-cjs-BUc0_kg-.mjs.map +1 -0
- package/dist/dist-cjs-BUwe2XhR.mjs +153 -0
- package/dist/dist-cjs-BUwe2XhR.mjs.map +1 -0
- package/dist/dist-cjs-BWgoUCXJ.mjs +137 -0
- package/dist/dist-cjs-BWgoUCXJ.mjs.map +1 -0
- package/dist/dist-cjs-CmZEMtO6.mjs +6 -0
- package/dist/dist-cjs-D7kEM-Mj.mjs +181 -0
- package/dist/dist-cjs-D7kEM-Mj.mjs.map +1 -0
- package/dist/dist-cjs-DFUmy89O.mjs +48 -0
- package/dist/dist-cjs-DFUmy89O.mjs.map +1 -0
- package/dist/dist-cjs-Df7144zM.mjs +209 -0
- package/dist/dist-cjs-Df7144zM.mjs.map +1 -0
- package/dist/dist-cjs-DgxjcvBN.mjs +98 -0
- package/dist/dist-cjs-DgxjcvBN.mjs.map +1 -0
- package/dist/dist-cjs-DsMdld8l.mjs +5015 -0
- package/dist/dist-cjs-DsMdld8l.mjs.map +1 -0
- package/dist/dist-cjs-Dzs5P3K0.mjs +51 -0
- package/dist/dist-cjs-Dzs5P3K0.mjs.map +1 -0
- package/dist/dist-cjs-ECMuIF57.mjs +323 -0
- package/dist/dist-cjs-ECMuIF57.mjs.map +1 -0
- package/dist/dist-cjs-lYvO8aDo.mjs +64 -0
- package/dist/dist-cjs-lYvO8aDo.mjs.map +1 -0
- package/dist/dist-cjs-qEJrwjGk.mjs +66 -0
- package/dist/dist-cjs-qEJrwjGk.mjs.map +1 -0
- package/dist/dist-cjs-x5cwlqA5.mjs +43 -0
- package/dist/dist-cjs-x5cwlqA5.mjs.map +1 -0
- package/dist/dist-gjHmorxL.mjs +27479 -0
- package/dist/dist-gjHmorxL.mjs.map +1 -0
- package/dist/effects/index.d.mts +5 -0
- package/dist/effects/index.mjs +35 -0
- package/dist/effects-CHWORCYd.mjs +811 -0
- package/dist/effects-CHWORCYd.mjs.map +1 -0
- package/dist/event-streams-D-APZ7Ke.mjs +204 -0
- package/dist/event-streams-D-APZ7Ke.mjs.map +1 -0
- package/dist/fonts/index.d.mts +2 -0
- package/dist/fonts/index.mjs +3 -0
- package/dist/fonts-DrGTBJJk.mjs +188 -0
- package/dist/fonts-DrGTBJJk.mjs.map +1 -0
- package/dist/index-B0BNPEoH.d.mts +2117 -0
- package/dist/index-B0BNPEoH.d.mts.map +1 -0
- package/dist/index-BMVVmc4G.d.mts +72 -0
- package/dist/index-BMVVmc4G.d.mts.map +1 -0
- package/dist/index-D1ZsMpke.d.mts +264 -0
- package/dist/index-D1ZsMpke.d.mts.map +1 -0
- package/dist/index-D2jDC7O5.d.mts +3643 -0
- package/dist/index-D2jDC7O5.d.mts.map +1 -0
- package/dist/index-D2wJqSl5.d.mts +114 -0
- package/dist/index-D2wJqSl5.d.mts.map +1 -0
- package/dist/index-DKFGNyMB.d.mts +309 -0
- package/dist/index-DKFGNyMB.d.mts.map +1 -0
- package/dist/index-DiSKzDGR.d.mts +65 -0
- package/dist/index-DiSKzDGR.d.mts.map +1 -0
- package/dist/index.d.mts +4425 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +2623 -0
- package/dist/index.mjs.map +1 -0
- package/dist/package-C58KmGKw.mjs +6 -0
- package/dist/package-C58KmGKw.mjs.map +1 -0
- package/dist/preview/index.d.mts +90 -0
- package/dist/preview/index.d.mts.map +1 -0
- package/dist/preview/index.mjs +15 -0
- package/dist/preview-engine/audio.mjs +1 -0
- package/dist/preview-engine/child_process-AIL2NBWS.mjs +1 -0
- package/dist/preview-engine/chunk-24P6DAB3.mjs +1 -0
- package/dist/preview-engine/chunk-37EFVZWT.mjs +1 -0
- package/dist/preview-engine/chunk-3O5OKR6D.mjs +223 -0
- package/dist/preview-engine/chunk-47VT677S.mjs +8 -0
- package/dist/preview-engine/chunk-4BEJJKEU.mjs +315 -0
- package/dist/preview-engine/chunk-4GEWSUX5.mjs +1 -0
- package/dist/preview-engine/chunk-55CCFPUX.mjs +237 -0
- package/dist/preview-engine/chunk-5JD65JSJ.mjs +110 -0
- package/dist/preview-engine/chunk-5UP7FSGT.mjs +294 -0
- package/dist/preview-engine/chunk-5XDHHOF2.mjs +367 -0
- package/dist/preview-engine/chunk-6YJP57MZ.mjs +729 -0
- package/dist/preview-engine/chunk-6ZOXGAYA.mjs +112 -0
- package/dist/preview-engine/chunk-AOLAHYVV.mjs +529 -0
- package/dist/preview-engine/chunk-B6PLCMBM.mjs +1 -0
- package/dist/preview-engine/chunk-BJKH76OM.mjs +264 -0
- package/dist/preview-engine/chunk-BUIQ5TUH.mjs +104 -0
- package/dist/preview-engine/chunk-BVF64D6H.mjs +1 -0
- package/dist/preview-engine/chunk-CA5N7JRZ.mjs +138 -0
- package/dist/preview-engine/chunk-CNSHAFEA.mjs +1 -0
- package/dist/preview-engine/chunk-CURR5X7D.mjs +1 -0
- package/dist/preview-engine/chunk-CVGM2U4J.mjs +47 -0
- package/dist/preview-engine/chunk-CYY366IE.mjs +1 -0
- package/dist/preview-engine/chunk-D5PHI6ET.mjs +109 -0
- package/dist/preview-engine/chunk-D7MZHP2Y.mjs +275 -0
- package/dist/preview-engine/chunk-DPPH3NK2.mjs +182 -0
- package/dist/preview-engine/chunk-DPST2XLC.mjs +418 -0
- package/dist/preview-engine/chunk-DRLEOHN5.mjs +1 -0
- package/dist/preview-engine/chunk-EDIZNO3P.mjs +1 -0
- package/dist/preview-engine/chunk-EHIIT4ZR.mjs +52 -0
- package/dist/preview-engine/chunk-FKZ4XXPE.mjs +1 -0
- package/dist/preview-engine/chunk-G3HW4VER.mjs +60 -0
- package/dist/preview-engine/chunk-G76HSKOS.mjs +184 -0
- package/dist/preview-engine/chunk-GYG2IIBR.mjs +1 -0
- package/dist/preview-engine/chunk-H2F5NVQ6.mjs +63 -0
- package/dist/preview-engine/chunk-H5BPCY7N.mjs +188 -0
- package/dist/preview-engine/chunk-HAXK42HG.mjs +997 -0
- package/dist/preview-engine/chunk-HXMDPMLB.mjs +1 -0
- package/dist/preview-engine/chunk-HYBAPT6I.mjs +1 -0
- package/dist/preview-engine/chunk-I4FH6HYU.mjs +73 -0
- package/dist/preview-engine/chunk-IYVN2QEL.mjs +1 -0
- package/dist/preview-engine/chunk-JPXQPP6J.mjs +1 -0
- package/dist/preview-engine/chunk-JWNHTRED.mjs +164 -0
- package/dist/preview-engine/chunk-KZOLCZIV.mjs +103 -0
- package/dist/preview-engine/chunk-L62MRHGZ.mjs +89 -0
- package/dist/preview-engine/chunk-LEEZXHQO.mjs +117 -0
- package/dist/preview-engine/chunk-LKYN3BM2.mjs +1 -0
- package/dist/preview-engine/chunk-LP3EP33S.mjs +610 -0
- package/dist/preview-engine/chunk-M2GRYRLM.mjs +111 -0
- package/dist/preview-engine/chunk-MC7TZZLD.mjs +134 -0
- package/dist/preview-engine/chunk-MT2DZQHO.mjs +1 -0
- package/dist/preview-engine/chunk-MTJHQATU.mjs +1 -0
- package/dist/preview-engine/chunk-N4LHIPHZ.mjs +340 -0
- package/dist/preview-engine/chunk-N4PWLBZ7.mjs +5 -0
- package/dist/preview-engine/chunk-NQZKBFC6.mjs +40 -0
- package/dist/preview-engine/chunk-NWRSVVTF.mjs +186 -0
- package/dist/preview-engine/chunk-P3HBP725.mjs +1 -0
- package/dist/preview-engine/chunk-PIAJWALT.mjs +1 -0
- package/dist/preview-engine/chunk-PJ3DVG45.mjs +1 -0
- package/dist/preview-engine/chunk-QP2NI4XD.mjs +82 -0
- package/dist/preview-engine/chunk-SA3JUR6D.mjs +52 -0
- package/dist/preview-engine/chunk-SRT2OCQW.mjs +1 -0
- package/dist/preview-engine/chunk-SWD76532.mjs +98 -0
- package/dist/preview-engine/chunk-SXX7HX34.mjs +191 -0
- package/dist/preview-engine/chunk-SZ7YRPKO.mjs +3 -0
- package/dist/preview-engine/chunk-TMRLZV5X.mjs +1 -0
- package/dist/preview-engine/chunk-U446SQP3.mjs +292 -0
- package/dist/preview-engine/chunk-UDNCEHUI.mjs +141 -0
- package/dist/preview-engine/chunk-V3H7WWOT.mjs +271 -0
- package/dist/preview-engine/chunk-V7ZVVUQU.mjs +108 -0
- package/dist/preview-engine/chunk-VJGK7MLJ.mjs +3 -0
- package/dist/preview-engine/chunk-VSSB73UU.mjs +58 -0
- package/dist/preview-engine/chunk-VXUJWPIK.mjs +1 -0
- package/dist/preview-engine/chunk-XD4GKD6H.mjs +5 -0
- package/dist/preview-engine/chunk-XKO4RYKN.mjs +3 -0
- package/dist/preview-engine/chunk-XOEEGC4Z.mjs +1 -0
- package/dist/preview-engine/chunk-YAQFFQPG.mjs +1 -0
- package/dist/preview-engine/chunk-YKMBRUAE.mjs +1 -0
- package/dist/preview-engine/chunk-YSTLMWCG.mjs +1 -0
- package/dist/preview-engine/chunk-Z4ERCLNF.mjs +1 -0
- package/dist/preview-engine/chunk-ZEYUXJIV.mjs +1 -0
- package/dist/preview-engine/chunk-ZX6APG6E.mjs +117 -0
- package/dist/preview-engine/effects.mjs +1 -0
- package/dist/preview-engine/esbuild-GWV7CM7D.mjs +1 -0
- package/dist/preview-engine/fonts.mjs +1 -0
- package/dist/preview-engine/framefields.mjs +1959 -0
- package/dist/preview-engine/onnxruntime-node-56GSZEH3.mjs +1 -0
- package/dist/preview-engine/player.mjs +155 -0
- package/dist/preview-engine/renderers-2AUSIYZN.mjs +1 -0
- package/dist/preview-engine/renderers-2QN6KZJP.mjs +1 -0
- package/dist/preview-engine/renderers-32SKW7ML.mjs +1 -0
- package/dist/preview-engine/renderers-5QYK6766.mjs +1 -0
- package/dist/preview-engine/renderers-6BJA6MSU.mjs +251 -0
- package/dist/preview-engine/renderers-6QAF3LQ2.mjs +1 -0
- package/dist/preview-engine/renderers-7AO5746S.mjs +296 -0
- package/dist/preview-engine/renderers-AFYKNM6N.mjs +1 -0
- package/dist/preview-engine/renderers-AGMH5CRH.mjs +1 -0
- package/dist/preview-engine/renderers-AHSGP6LY.mjs +126 -0
- package/dist/preview-engine/renderers-ASTBICLA.mjs +1 -0
- package/dist/preview-engine/renderers-BHVPLYNN.mjs +1 -0
- package/dist/preview-engine/renderers-D7PVQFVU.mjs +1 -0
- package/dist/preview-engine/renderers-DB4ABTNA.mjs +1 -0
- package/dist/preview-engine/renderers-F2NFJI5L.mjs +1 -0
- package/dist/preview-engine/renderers-FI7YHNLY.mjs +1 -0
- package/dist/preview-engine/renderers-GBHULMPH.mjs +1 -0
- package/dist/preview-engine/renderers-GUKQUMGG.mjs +55 -0
- package/dist/preview-engine/renderers-HGT7QDY3.mjs +1 -0
- package/dist/preview-engine/renderers-HOYLA7ZK.mjs +1 -0
- package/dist/preview-engine/renderers-KKI2D3MZ.mjs +1 -0
- package/dist/preview-engine/renderers-KRAJNV4E.mjs +1 -0
- package/dist/preview-engine/renderers-KUGZKSVE.mjs +1 -0
- package/dist/preview-engine/renderers-L2EQQIOC.mjs +1 -0
- package/dist/preview-engine/renderers-LK3NRMGR.mjs +1 -0
- package/dist/preview-engine/renderers-LX654SZ3.mjs +1 -0
- package/dist/preview-engine/renderers-MCFQFYEL.mjs +1 -0
- package/dist/preview-engine/renderers-O6HOYIPS.mjs +1 -0
- package/dist/preview-engine/renderers-OEVXCGE2.mjs +1 -0
- package/dist/preview-engine/renderers-QVD6C4CS.mjs +1 -0
- package/dist/preview-engine/renderers-R3XEYD5V.mjs +248 -0
- package/dist/preview-engine/renderers-RBFWJWVM.mjs +1 -0
- package/dist/preview-engine/renderers-RX3VLVLO.mjs +1 -0
- package/dist/preview-engine/renderers-SM6JP64K.mjs +1 -0
- package/dist/preview-engine/renderers-TKMAATVS.mjs +1 -0
- package/dist/preview-engine/renderers-UGZUPONY.mjs +1 -0
- package/dist/preview-engine/renderers-UTFXZE3G.mjs +1 -0
- package/dist/preview-engine/renderers-UWPH7HBH.mjs +1 -0
- package/dist/preview-engine/renderers-UZGECFVO.mjs +1 -0
- package/dist/preview-engine/renderers-VGU3LNLT.mjs +1 -0
- package/dist/preview-engine/renderers-W3VVM5HB.mjs +1 -0
- package/dist/preview-engine/renderers-WJUTT5BB.mjs +1 -0
- package/dist/preview-engine/renderers-XA2M4YXK.mjs +1 -0
- package/dist/preview-engine/renderers-XIHRFEFQ.mjs +1 -0
- package/dist/preview-engine/renderers-XJTA5MFG.mjs +1 -0
- package/dist/preview-engine/renderers-XLTY5APF.mjs +1 -0
- package/dist/preview-engine/renderers-XZ3VXFGZ.mjs +1 -0
- package/dist/preview-engine/renderers-YKUQUCTO.mjs +124 -0
- package/dist/preview-engine/renderers-YVN3EIOP.mjs +1 -0
- package/dist/preview-engine/renderers-YWRP23SZ.mjs +125 -0
- package/dist/preview-engine/renderers-ZPWOUWZJ.mjs +120 -0
- package/dist/preview-engine/resvg-js-VMU4A77S.mjs +1 -0
- package/dist/preview-engine/server-utils-2FAIV45N.mjs +1 -0
- package/dist/preview-engine/sharp-V6ZTBNDW.mjs +1 -0
- package/dist/preview-engine/shims/fs-promises.mjs +1 -0
- package/dist/preview-engine/shims/fs.mjs +1 -0
- package/dist/preview-engine/shims/module.mjs +1 -0
- package/dist/preview-engine/shims/os.mjs +1 -0
- package/dist/preview-engine/shims/path.mjs +1 -0
- package/dist/preview-engine/shims/url.mjs +1 -0
- package/dist/preview-engine/signals.mjs +1 -0
- package/dist/preview-engine/webgpu-NSSANM4F.mjs +1 -0
- package/dist/preview-uQM210iy.mjs +2149 -0
- package/dist/preview-uQM210iy.mjs.map +1 -0
- package/dist/program-Dl510wmI.mjs +5183 -0
- package/dist/program-Dl510wmI.mjs.map +1 -0
- package/dist/renderer/index.d.mts +3 -0
- package/dist/renderer/index.mjs +6 -0
- package/dist/renderer-3BNskNuJ.mjs +3 -0
- package/dist/renderer-7DOcIxFG.mjs +288 -0
- package/dist/renderer-7DOcIxFG.mjs.map +1 -0
- package/dist/renderer-9dHlMQGX.mjs +3 -0
- package/dist/renderer-B1CvhW4p.mjs +677 -0
- package/dist/renderer-B1CvhW4p.mjs.map +1 -0
- package/dist/renderer-B2XzjK0z.mjs +3 -0
- package/dist/renderer-B80s47yo.mjs +166 -0
- package/dist/renderer-B80s47yo.mjs.map +1 -0
- package/dist/renderer-B9-QSJcG.mjs +479 -0
- package/dist/renderer-B9-QSJcG.mjs.map +1 -0
- package/dist/renderer-BAQmR0Zo.mjs +3 -0
- package/dist/renderer-BDLnExoP.mjs +127 -0
- package/dist/renderer-BDLnExoP.mjs.map +1 -0
- package/dist/renderer-BGXU6vcW.mjs +270 -0
- package/dist/renderer-BGXU6vcW.mjs.map +1 -0
- package/dist/renderer-BGvORwkQ.mjs +3 -0
- package/dist/renderer-BLikd6BK.mjs +3 -0
- package/dist/renderer-BMovYRoR.mjs +3 -0
- package/dist/renderer-BQHbp-Sp.mjs +243 -0
- package/dist/renderer-BQHbp-Sp.mjs.map +1 -0
- package/dist/renderer-BREIjsUU.mjs +252 -0
- package/dist/renderer-BREIjsUU.mjs.map +1 -0
- package/dist/renderer-BSbTJBWc.mjs +3 -0
- package/dist/renderer-BTu2EVhF.mjs +3 -0
- package/dist/renderer-BU1rwNRT.mjs +3 -0
- package/dist/renderer-BXMmISWG.mjs +499 -0
- package/dist/renderer-BXMmISWG.mjs.map +1 -0
- package/dist/renderer-BZJm3m4f.mjs +3 -0
- package/dist/renderer-B_NuVaIP.mjs +744 -0
- package/dist/renderer-B_NuVaIP.mjs.map +1 -0
- package/dist/renderer-BfJSUjPN.mjs +3 -0
- package/dist/renderer-BqyAgNt3.mjs +3 -0
- package/dist/renderer-BryTM2g7.mjs +3 -0
- package/dist/renderer-BsgIcBKH.mjs +391 -0
- package/dist/renderer-BsgIcBKH.mjs.map +1 -0
- package/dist/renderer-ByDhfrPE.mjs +422 -0
- package/dist/renderer-ByDhfrPE.mjs.map +1 -0
- package/dist/renderer-C-H680_l.mjs +3 -0
- package/dist/renderer-C17wL9QX.mjs +181 -0
- package/dist/renderer-C17wL9QX.mjs.map +1 -0
- package/dist/renderer-C2n-EHxg.mjs +1 -0
- package/dist/renderer-CB5aWAaf.mjs +343 -0
- package/dist/renderer-CB5aWAaf.mjs.map +1 -0
- package/dist/renderer-CB7lH5K8.mjs +3 -0
- package/dist/renderer-CDLrNgfo.mjs +3 -0
- package/dist/renderer-CDOUAN7X.mjs +454 -0
- package/dist/renderer-CDOUAN7X.mjs.map +1 -0
- package/dist/renderer-CH8sdfYX.mjs +387 -0
- package/dist/renderer-CH8sdfYX.mjs.map +1 -0
- package/dist/renderer-CIvaRnP_.mjs +261 -0
- package/dist/renderer-CIvaRnP_.mjs.map +1 -0
- package/dist/renderer-CMzEjdzi.mjs +369 -0
- package/dist/renderer-CMzEjdzi.mjs.map +1 -0
- package/dist/renderer-COkcU3db.mjs +3302 -0
- package/dist/renderer-COkcU3db.mjs.map +1 -0
- package/dist/renderer-CQCoggIa.mjs +3 -0
- package/dist/renderer-CQdVj2JS.mjs +3 -0
- package/dist/renderer-CQiTodg9.mjs +337 -0
- package/dist/renderer-CQiTodg9.mjs.map +1 -0
- package/dist/renderer-CV2m6k1V.mjs +3 -0
- package/dist/renderer-CYY-poLe.mjs +3 -0
- package/dist/renderer-CZgB5st8.mjs +3 -0
- package/dist/renderer-C_Ki91kc.mjs +3 -0
- package/dist/renderer-CclIvsLO.mjs +3 -0
- package/dist/renderer-Cj-whdVr.mjs +655 -0
- package/dist/renderer-Cj-whdVr.mjs.map +1 -0
- package/dist/renderer-CkykdR_D.mjs +3 -0
- package/dist/renderer-Cl1oUXMi.mjs +1143 -0
- package/dist/renderer-Cl1oUXMi.mjs.map +1 -0
- package/dist/renderer-CmApuKjS.mjs +3 -0
- package/dist/renderer-CpkiHRhh.mjs +269 -0
- package/dist/renderer-CpkiHRhh.mjs.map +1 -0
- package/dist/renderer-CszOjcRW.mjs +3 -0
- package/dist/renderer-CtVkU_GA.mjs +44 -0
- package/dist/renderer-CtVkU_GA.mjs.map +1 -0
- package/dist/renderer-Cu074POw.mjs +3 -0
- package/dist/renderer-CwQhzcUn.mjs +644 -0
- package/dist/renderer-CwQhzcUn.mjs.map +1 -0
- package/dist/renderer-CzPWB0Ss.mjs +273 -0
- package/dist/renderer-CzPWB0Ss.mjs.map +1 -0
- package/dist/renderer-D4qLmox-.mjs +3 -0
- package/dist/renderer-D6bWQtr-.mjs +3 -0
- package/dist/renderer-D6cJ6MSq.mjs +3 -0
- package/dist/renderer-D7EX8IjU.mjs +240 -0
- package/dist/renderer-D7EX8IjU.mjs.map +1 -0
- package/dist/renderer-DDp7_TUi.d.mts +10 -0
- package/dist/renderer-DDp7_TUi.d.mts.map +1 -0
- package/dist/renderer-DFKsLrUs.mjs +256 -0
- package/dist/renderer-DFKsLrUs.mjs.map +1 -0
- package/dist/renderer-DPSsf8-t.mjs +3 -0
- package/dist/renderer-DQLGnEFc.mjs +3 -0
- package/dist/renderer-DY2SVYUW.mjs +3 -0
- package/dist/renderer-DZGtBUCx.mjs +792 -0
- package/dist/renderer-DZGtBUCx.mjs.map +1 -0
- package/dist/renderer-DabG62XS.mjs +406 -0
- package/dist/renderer-DabG62XS.mjs.map +1 -0
- package/dist/renderer-DbaQLI4z.mjs +771 -0
- package/dist/renderer-DbaQLI4z.mjs.map +1 -0
- package/dist/renderer-DjI45OYC.mjs +71 -0
- package/dist/renderer-DjI45OYC.mjs.map +1 -0
- package/dist/renderer-Dm08-hAU.mjs +323 -0
- package/dist/renderer-Dm08-hAU.mjs.map +1 -0
- package/dist/renderer-DoAY5JbB.mjs +4 -0
- package/dist/renderer-Dp_FfvF-.mjs +401 -0
- package/dist/renderer-Dp_FfvF-.mjs.map +1 -0
- package/dist/renderer-Dt6fzgX5.mjs +756 -0
- package/dist/renderer-Dt6fzgX5.mjs.map +1 -0
- package/dist/renderer-DuplLRbp.mjs +3 -0
- package/dist/renderer-DvfUbZ31.mjs +3 -0
- package/dist/renderer-DxjVQV6f.mjs +311 -0
- package/dist/renderer-DxjVQV6f.mjs.map +1 -0
- package/dist/renderer-Fco4EmAu.mjs +23868 -0
- package/dist/renderer-Fco4EmAu.mjs.map +1 -0
- package/dist/renderer-HFfcJlmR.mjs +981 -0
- package/dist/renderer-HFfcJlmR.mjs.map +1 -0
- package/dist/renderer-I-Sw3JBB.mjs +145 -0
- package/dist/renderer-I-Sw3JBB.mjs.map +1 -0
- package/dist/renderer-OWQmmg4Z.mjs +697 -0
- package/dist/renderer-OWQmmg4Z.mjs.map +1 -0
- package/dist/renderer-Q_uUQipO.mjs +3 -0
- package/dist/renderer-Ryo2CEFD.mjs +586 -0
- package/dist/renderer-Ryo2CEFD.mjs.map +1 -0
- package/dist/renderer-Tp6OXWNZ.mjs +257 -0
- package/dist/renderer-Tp6OXWNZ.mjs.map +1 -0
- package/dist/renderer-UQFCgeNx.mjs +3 -0
- package/dist/renderer-WkVrkCVA.mjs +83 -0
- package/dist/renderer-WkVrkCVA.mjs.map +1 -0
- package/dist/renderer-XcmYTd6P.mjs +3818 -0
- package/dist/renderer-XcmYTd6P.mjs.map +1 -0
- package/dist/renderer-_uvdg48N.mjs +333 -0
- package/dist/renderer-_uvdg48N.mjs.map +1 -0
- package/dist/renderer-bZU_ndxf.mjs +8 -0
- package/dist/renderer-bZU_ndxf.mjs.map +1 -0
- package/dist/renderer-eMsnzJg9.mjs +3 -0
- package/dist/renderer-ho_jXJ0H.mjs +254 -0
- package/dist/renderer-ho_jXJ0H.mjs.map +1 -0
- package/dist/renderer-k2JL79kM.mjs +306 -0
- package/dist/renderer-k2JL79kM.mjs.map +1 -0
- package/dist/renderer-pHiz78e0.mjs +3 -0
- package/dist/renderer-pxXf9dvk.mjs +394 -0
- package/dist/renderer-pxXf9dvk.mjs.map +1 -0
- package/dist/renderer-vCFTm0oe.mjs +226 -0
- package/dist/renderer-vCFTm0oe.mjs.map +1 -0
- package/dist/renderer-vvpdx1vk.mjs +379 -0
- package/dist/renderer-vvpdx1vk.mjs.map +1 -0
- package/dist/renderer-x2s9LmVL.mjs +1121 -0
- package/dist/renderer-x2s9LmVL.mjs.map +1 -0
- package/dist/renderers-BWg16W-V-BXG_cjhM.mjs +49 -0
- package/dist/renderers-BWg16W-V-BXG_cjhM.mjs.map +1 -0
- package/dist/signals/index.d.mts +7 -0
- package/dist/signals/index.mjs +10 -0
- package/dist/signals-BwbdO3AN.mjs +224 -0
- package/dist/signals-BwbdO3AN.mjs.map +1 -0
- package/dist/signin-CZj4Oc5s.mjs +865 -0
- package/dist/signin-CZj4Oc5s.mjs.map +1 -0
- package/dist/sso-oidc-C0_31ThY.mjs +1051 -0
- package/dist/sso-oidc-C0_31ThY.mjs.map +1 -0
- package/dist/sts-DD4ggEXC.mjs +6 -0
- package/dist/sts-nXw8RDJI.mjs +1395 -0
- package/dist/sts-nXw8RDJI.mjs.map +1 -0
- package/package.json +173 -0
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,4425 @@
|
|
|
1
|
+
import "./chunk-GMkBE123.mjs";
|
|
2
|
+
import { $ as AudioExtractorSignalData, $n as TEXT_LAYER_DEFAULTS, $r as isEqual, $t as MediaMetadata, An as ProgrammaticSignal, Ar as WritableSignal, At as ExportResultSchema, B as loadModel3D, Bn as SignalDataSchema, Br as deserializeSignalData, Bt as GPUTextureBinding, C as Path3D, Cn as NormalizedLandmarkList, Cr as VideoTimingPropsSchema, Ct as DeflickerOptions, D as SSAOPipeline, Dn as OutputItem, Dr as VisionNodeSpec, Dt as EffectConfig, E as Renderer3D, En as Output, Er as VisionConfig, Et as Effect$1, Fn as SignalBuilderConfig, Fr as computed, Ft as FileAssetSchema, G as parseOBJ, Gn as SignalStats, Gr as generateId, Gt as HandleType, H as lutStore, Hn as SignalGateDataSchema, Hr as findSourceAsset, Ht as GeneratorSignalData, I as ensureDevice, In as SignalChannelMeta, Ir as cosineSignal, It as FileData, J as textureCache, Jn as SineSignalOptions, Jr as getFingerprint, Jt as JsonObject, K as shaderStore, Kn as SignalStatsSchema, Kr as getActiveMediaMetadata, Kt as HandleTypeVal, Ln as SignalChannelMetaSchema, Lr as createOutputItemSchema, Lt as FileDataSchema, M as SlugFontCache, Mn as RenderDiagnostic, Mr as appendOperation, Mt as ExtendedLayerSchema, N as SlugPipeline, Nn as SegmentationOptions, Nr as checkNodeResultCache, Nt as FaceLandmarksOptions, O as ShadowPipeline, On as OutputItemSchema, Or as VisionTask, Ot as EffectConfigValue, Pn as Signal, Pr as computeVideoCropRenderProps, Pt as FileAsset, Q as AnyOutputUnionSchema, Qn as StorageService, Qr as hasOnlySingleSource, Qt as MIME_TYPES, R as inputStore, Rn as SignalContext, Rr as createVirtualMedia, Rt as FrameContext, S as NodeAnimationTrack3D, Sn as NormalRelightingOptions, Sr as VideoTextPropsSchema, St as DataTypes, T as Renderer2D, Tn as OpticalFlowOptions, Tr as VirtualMediaDataSchema, Tt as DetectedObject, U as parseFBX, Un as SignalMathData, Ur as frameArraySignal, Ut as GeneratorSignalDataSchema, V as loadOBJ, Vn as SignalGateData, Vr as extractSvgDimensions, Vt as GateSignalOptions, W as parseMTL, Wn as SignalMathDataSchema, Wr as frameSignal, Wt as GlobalCompositeOperation, X as AnimationTypeSchema, Xn as SingleOutputGenericSchema, Xr as getMediaType, Xt as JsonValueSchema, Y as AnimationType, Yn as SingleOutputGeneric, Yr as getLeafMediaType, Yt as JsonValue, Z as AnyOutputUnion, Zn as SourceOperationSchema, Zr as getRenderFingerprint, Zt as Landmark3D, _n as NodeResultSchema, _r as VideoAnimationSchema, _t as DEFAULT_MEDIA_DIMENSION, a as AudioMeshDeformPipeline, ai as reportRenderDiagnostic, an as MediaSourceInput, ar as TextOperationSchema, at as CAPTION_LAYER_DEFAULTS, b as Model3DData, bn as NodeVisualConfig, br as VideoSpatialPropsSchema, bt as DataTypeEnum, c as BlendMode, ci as signal, cn as ModerationError, cr as TimelineSegmentSchema, ct as CannyOptions, d as EffectPipeline, di as stampResult, dn as MultiOutputGenericSchema, dr as TrackedObject, dt as ConfigSchemaRegistry, ei as isSignal, en as MediaMetadataSchema, er as TensorData, et as AudioExtractorSignalDataSchema, f as GPULightData, fi as takeRenderDiagnostics, fn as NodeMetadata, fr as Transition, ft as ConnectedInput, g as LoadModelOptions, gn as NodeResult, gr as VideoAnimation, gt as DEFAULT_FPS, h as Light3DOptions, hn as NodeProcessorParams, hr as TransitionTypeSchema, ht as DEFAULT_DURATION_MS, i as AudioLatentTrackCache, ii as registerSignalDependency, in as MediaSourceDescriptor, ir as TensorPipelineConfig, it as BaseVideoLayerPropsSchema, j as Skeleton3D, jn as ProgrammaticSignalOptions, jr as XYPosition, jt as ExtendedLayer, kn as PoseSkeletonOptions, kr as VisionVariant, kt as ExportResult, l as Bone3D, li as signalBuilder, ln as ModerationUnrefundableError, lr as TimelineTransform, lt as ConfigHandle, m as Light3D, mi as updateClockSignals, mn as NodeProcessorContext, mr as TransitionType, mt as DATA_TYPE_EXTENSIONS, n as AudioLatentData, ni as programmaticSignal, nn as MediaOperationSchema, nr as TensorFormat, nt as BaseMediaOperationPropsSchema, oi as resolveMediaMimeType, on as MediaSourceSchema, or as TextSpan, ot as COMPOSITE_OPERATIONS, p as GlassPipeline, pi as timeSignal, pn as NodeMetadataSchema, pr as TransitionSchema, pt as ControlNetConditioningOutputs, q as signalRegistry, qn as SignalValue, qr as getFileDataMetadata, qt as JsonArray, r as AudioLatentEngine, ri as progressSignal, rn as MediaService, rr as TensorNode, rt as BaseVideoLayerProps, si as serializeSignalData, sn as MeshAudioDeformConfig, sr as TextSpanMark, st as COMPOSITOR_DEFAULTS, t as AnimationClip3D, ti as isVirtualMediaData, tn as MediaOperation, tr as TensorDimensions, tt as BaseMediaOperationProps, u as Camera3D, ui as sineSignal, un as MultiOutputGeneric, ur as TimelineTransformSchema, ut as ConfigHandleSchema, v as Material3D, vn as NodeRunFunction, vr as VideoLayerType, vt as DataForType, w as RenderContextValue, wn as ObjectBoundingBox, wr as VirtualMediaData, wt as DepthNormalsOptions, x as MotionBlurPipeline, xn as NodeVisualConfigSchema, xr as VideoStylePropsSchema, xt as DataTypeVal, y as Mesh3DData, yn as NodeValidationFn, yr as VideoLayerTypeSchema, yt as DataType, z as loadFBX, zn as SignalData, zr as dataTypeColors, zt as FrameSignal } from "./index-D2jDC7O5.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-D2wJqSl5.mjs";
|
|
4
|
+
import "./index-BMVVmc4G.mjs";
|
|
5
|
+
import "./renderer-DDp7_TUi.mjs";
|
|
6
|
+
import { $ as Blur, A as MotionBlur, At as TemporalObjectTracker, B as SelectiveColorProps, Bt as DepthNormalsComputePipeline, C as HighPass, Ct as PinToObjectOptions, D as LevelsProps, Dt as SegmentationResult, E as Levels, Et as PoseSkeletonRenderer, F as Relight3DProps, Ft as analyzeSequence, G as TileOffsetEdgeMode, Gt as TensorViewExport, H as ShadowsHighlightsProps, Ht as TemporalDeflickerPipeline, I as SSAO, It as pinNodeToLandmark, J as UnsharpMaskProps, K as TileOffsetProps, L as SSAOProps, Lt as pinNodeToObject, M as PBRGlass, Mt as VisionBundle, N as PBRGlassProps, Nt as VisionNode, O as Modulate, Ot as SegmentationTexturePool, P as Relight3D, Pt as VisionRunner, R as SelectiveColor, Rt as CannyComputePipeline, S as HalftoneScreenProps, St as PinToLandmarkOptions, T as LevelChannel, Tt as PoseResult, U as TemporalDeflicker, Ut as TensorPipeline, V as ShadowsHighlights, Vt as OpticalFlowComputePipeline, W as TileOffset, Wt as TensorSource, X as VisionProps, Y as Vision, _ as GradientMapProps, _t as ObjectBoundingBoxSignals, a as Crop, b as HalftoneMode, bt as ObjectTrackSignals, c as CurvesChannelPoint, ct as COCO17_BONES, d as DeflickerProps, dt as COCO_CLASSES, et as BlurProps, f as DepthOfField, ft as InstanceMask, g as GradientMap, gt as ObjectAnchorsSignals, h as FilmGrainProps, ht as ObjectAnchorName, i as AudioSignalExtractorProps, it as ColorKeyProps, j as MotionBlurProps, jt as VisionAnalysisReport, k as ModulateProps, kt as SpatialLandmarkTransformer, l as CurvesProps, lt as COCO17_KEYPOINTS, m as FilmGrain, mt as MaskTrackSignals, n as ApplyLUTProps, nt as ColorBalanceProps, o as CropProps, ot as Vignette, p as DepthOfFieldProps, pt as LandmarkCoordinateSignals, q as UnsharpMask, r as AudioSignalExtractor, rt as ColorKey, s as Curves, st as VignetteProps, t as ApplyLUT, tt as ColorBalance, u as CustomEffect, ut as COCO17_KEYPOINT_NAMES, v as GradientMapStop, vt as ObjectCollectionSignals, w as HighPassProps, wt as PoseLandmarkSignals, x as HalftoneScreen, xt as PersonMatte, y as HalftoneDotShape, yt as ObjectKinematicsSignals, z as SelectiveColorAdjustment, zt as ControlNetMultiplexer } from "./index-B0BNPEoH.mjs";
|
|
7
|
+
import { n as AudioSignalOptions, r as ExtractedAudioSignalsBundle, t as AudioSignal } from "./audio-Dvwwz8xU.mjs";
|
|
8
|
+
import { n as RegisterFontOptions, r as RegisteredFont, t as FontManager } from "./index-DiSKzDGR.mjs";
|
|
9
|
+
import "./index-D1ZsMpke.mjs";
|
|
10
|
+
import { a as renderFrameGrid, c as HeadlessMediaRenderer, d as QaSegment, f as VideoQaOptions, g as renderSemaphore, h as formatQaReport, i as computeGridLayout, l as HeadlessWebGPURenderer, m as VideoQaStats, n as FrameGridRenderable, o as resolveSamplePoints, p as VideoQaReport, r as FrameSamplePoint, s as AudioQaStats, t as FrameGridOptions, u as QaIssue } from "./index-DKFGNyMB.mjs";
|
|
11
|
+
import { PreviewCloseReason, PreviewOptions, PreviewSession, PreviewSource, startPreview } from "./preview/index.mjs";
|
|
12
|
+
import { z } from "zod";
|
|
13
|
+
import { Yoga } from "yoga-layout/load";
|
|
14
|
+
|
|
15
|
+
//#region src/rich-text.d.ts
|
|
16
|
+
type TextSpanItem = string | number | boolean | Signal<unknown> | TextSpan | (string | TextSpan)[] | null | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Tagged template literal for authoring rich, multi-style text runs.
|
|
19
|
+
*
|
|
20
|
+
* Interpolates strings, numbers, reactive signals, and typed span modifiers
|
|
21
|
+
* directly into a structured TextSpan[] array with zero runtime parsing.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* rich`Scale ${bold("10x", { fill: "#6366f1" })} faster with ${mark("120 FPS", { bg: "#10b98133" })}`
|
|
25
|
+
*/
|
|
26
|
+
declare function rich(strings: TemplateStringsArray, ...values: TextSpanItem[]): TextSpan[];
|
|
27
|
+
declare function span(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
28
|
+
declare function bold(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
29
|
+
declare function italic(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
30
|
+
declare function accent(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
31
|
+
declare function color(text: string | Signal<string>, fill: string | Signal<string>, options?: Omit<TextSpan, "text" | "fill">): TextSpan;
|
|
32
|
+
declare function size(text: string | Signal<string>, fontSize: number | Signal<number>, options?: Omit<TextSpan, "text" | "fontSize">): TextSpan;
|
|
33
|
+
interface MarkOptions extends Omit<TextSpan, "text" | "mark" | "fill"> {
|
|
34
|
+
bg?: string | Signal<string>;
|
|
35
|
+
fill?: string | Signal<string>;
|
|
36
|
+
radius?: number;
|
|
37
|
+
paddingX?: number;
|
|
38
|
+
paddingY?: number;
|
|
39
|
+
}
|
|
40
|
+
declare function mark(text: string | Signal<string>, options?: MarkOptions): TextSpan;
|
|
41
|
+
declare function sup(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
42
|
+
declare function sub(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
43
|
+
declare function code(text: string | Signal<string>, options?: Omit<TextSpan, "text">): TextSpan;
|
|
44
|
+
/**
|
|
45
|
+
* Normalizes string, TextSpan[], or array of mixed strings/spans into plain text and spans.
|
|
46
|
+
*/
|
|
47
|
+
declare function normalizeTextSpans(input: string | TextSpan[] | (string | TextSpan)[]): {
|
|
48
|
+
text: string;
|
|
49
|
+
spans?: TextSpan[];
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Upfront parser for external CMS or subtitle strings containing basic tags
|
|
53
|
+
* (<b>, <i>, <span>, <color>, <mark>, <accent>, <code>, <sup>, <sub>).
|
|
54
|
+
*
|
|
55
|
+
* Compiles string markup into clean TextSpan[] before entering the composition pipeline.
|
|
56
|
+
*/
|
|
57
|
+
declare function parseMarkup(markup: string): TextSpan[];
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region ../compositions/dist/program/index.d.mts
|
|
60
|
+
//#region src/program/text-animations/advanced-types.d.ts
|
|
61
|
+
declare const AnchorGroupingSchema: z.ZodEnum<{
|
|
62
|
+
character: "character";
|
|
63
|
+
word: "word";
|
|
64
|
+
line: "line";
|
|
65
|
+
all: "all";
|
|
66
|
+
}>;
|
|
67
|
+
type AnchorGrouping = z.infer<typeof AnchorGroupingSchema>;
|
|
68
|
+
declare const AnchorPresetSchema: z.ZodEnum<{
|
|
69
|
+
custom: "custom";
|
|
70
|
+
center: "center";
|
|
71
|
+
baseline: "baseline";
|
|
72
|
+
bottom_left: "bottom_left";
|
|
73
|
+
bottom_center: "bottom_center";
|
|
74
|
+
bottom_right: "bottom_right";
|
|
75
|
+
top_left: "top_left";
|
|
76
|
+
top_center: "top_center";
|
|
77
|
+
top_right: "top_right";
|
|
78
|
+
}>;
|
|
79
|
+
type AnchorPreset = z.infer<typeof AnchorPresetSchema>;
|
|
80
|
+
declare const TextAnchorConfigSchema: z.ZodObject<{
|
|
81
|
+
grouping: z.ZodDefault<z.ZodEnum<{
|
|
82
|
+
character: "character";
|
|
83
|
+
word: "word";
|
|
84
|
+
line: "line";
|
|
85
|
+
all: "all";
|
|
86
|
+
}>>;
|
|
87
|
+
preset: z.ZodDefault<z.ZodEnum<{
|
|
88
|
+
custom: "custom";
|
|
89
|
+
center: "center";
|
|
90
|
+
baseline: "baseline";
|
|
91
|
+
bottom_left: "bottom_left";
|
|
92
|
+
bottom_center: "bottom_center";
|
|
93
|
+
bottom_right: "bottom_right";
|
|
94
|
+
top_left: "top_left";
|
|
95
|
+
top_center: "top_center";
|
|
96
|
+
top_right: "top_right";
|
|
97
|
+
}>>;
|
|
98
|
+
anchorX: z.ZodDefault<z.ZodNumber>;
|
|
99
|
+
anchorY: z.ZodDefault<z.ZodNumber>;
|
|
100
|
+
offsetX: z.ZodDefault<z.ZodNumber>;
|
|
101
|
+
offsetY: z.ZodDefault<z.ZodNumber>;
|
|
102
|
+
}, z.core.$strip>;
|
|
103
|
+
type TextAnchorConfig = z.infer<typeof TextAnchorConfigSchema>;
|
|
104
|
+
declare const SkewPropertiesSchema: z.ZodObject<{
|
|
105
|
+
skew: z.ZodNumber;
|
|
106
|
+
skewAxis: z.ZodDefault<z.ZodNumber>;
|
|
107
|
+
}, z.core.$strip>;
|
|
108
|
+
type SkewProperties = z.infer<typeof SkewPropertiesSchema>;
|
|
109
|
+
declare const LineSpacingDynamicsSchema: z.ZodObject<{
|
|
110
|
+
lineSpacing: z.ZodNumber;
|
|
111
|
+
lineAnchor: z.ZodDefault<z.ZodNumber>;
|
|
112
|
+
}, z.core.$strip>;
|
|
113
|
+
type LineSpacingDynamics = z.infer<typeof LineSpacingDynamicsSchema>;
|
|
114
|
+
declare const VolumetricFormationModeSchema: z.ZodEnum<{
|
|
115
|
+
planar: "planar";
|
|
116
|
+
vortex: "vortex";
|
|
117
|
+
cylinder: "cylinder";
|
|
118
|
+
helix: "helix";
|
|
119
|
+
}>;
|
|
120
|
+
type VolumetricFormationMode = z.infer<typeof VolumetricFormationModeSchema>;
|
|
121
|
+
declare const VolumetricFormationConfigSchema: z.ZodObject<{
|
|
122
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
123
|
+
planar: "planar";
|
|
124
|
+
vortex: "vortex";
|
|
125
|
+
cylinder: "cylinder";
|
|
126
|
+
helix: "helix";
|
|
127
|
+
}>>;
|
|
128
|
+
radius: z.ZodDefault<z.ZodNumber>;
|
|
129
|
+
pitch: z.ZodDefault<z.ZodNumber>;
|
|
130
|
+
totalAngle: z.ZodDefault<z.ZodNumber>;
|
|
131
|
+
axis: z.ZodDefault<z.ZodEnum<{
|
|
132
|
+
x: "x";
|
|
133
|
+
y: "y";
|
|
134
|
+
z: "z";
|
|
135
|
+
}>>;
|
|
136
|
+
perspective: z.ZodDefault<z.ZodNumber>;
|
|
137
|
+
}, z.core.$strip>;
|
|
138
|
+
type VolumetricFormationConfig = z.infer<typeof VolumetricFormationConfigSchema>;
|
|
139
|
+
declare const Spatial3DPropertiesSchema: z.ZodObject<{
|
|
140
|
+
translateZ: z.ZodOptional<z.ZodNumber>;
|
|
141
|
+
rotationX: z.ZodOptional<z.ZodNumber>;
|
|
142
|
+
rotationY: z.ZodOptional<z.ZodNumber>;
|
|
143
|
+
rotationZ: z.ZodOptional<z.ZodNumber>;
|
|
144
|
+
formation: z.ZodOptional<z.ZodObject<{
|
|
145
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
146
|
+
planar: "planar";
|
|
147
|
+
vortex: "vortex";
|
|
148
|
+
cylinder: "cylinder";
|
|
149
|
+
helix: "helix";
|
|
150
|
+
}>>;
|
|
151
|
+
radius: z.ZodDefault<z.ZodNumber>;
|
|
152
|
+
pitch: z.ZodDefault<z.ZodNumber>;
|
|
153
|
+
totalAngle: z.ZodDefault<z.ZodNumber>;
|
|
154
|
+
axis: z.ZodDefault<z.ZodEnum<{
|
|
155
|
+
x: "x";
|
|
156
|
+
y: "y";
|
|
157
|
+
z: "z";
|
|
158
|
+
}>>;
|
|
159
|
+
perspective: z.ZodDefault<z.ZodNumber>;
|
|
160
|
+
}, z.core.$strip>>;
|
|
161
|
+
}, z.core.$strip>;
|
|
162
|
+
type Spatial3DProperties = z.infer<typeof Spatial3DPropertiesSchema>;
|
|
163
|
+
declare const SpringPhysicsSchema: z.ZodObject<{
|
|
164
|
+
stiffness: z.ZodDefault<z.ZodNumber>;
|
|
165
|
+
damping: z.ZodDefault<z.ZodNumber>;
|
|
166
|
+
mass: z.ZodDefault<z.ZodNumber>;
|
|
167
|
+
initialVelocity: z.ZodDefault<z.ZodNumber>;
|
|
168
|
+
overshootMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
169
|
+
}, z.core.$strip>;
|
|
170
|
+
type SpringPhysics = z.infer<typeof SpringPhysicsSchema>;
|
|
171
|
+
interface ExpressionEvaluationContext {
|
|
172
|
+
/** 0-based index of the current character */
|
|
173
|
+
charIndex: number;
|
|
174
|
+
/** 0-based index of the current word */
|
|
175
|
+
wordIndex: number;
|
|
176
|
+
/** 0-based index of the current line */
|
|
177
|
+
lineIndex: number;
|
|
178
|
+
/** Total count of characters in paragraph */
|
|
179
|
+
totalChars: number;
|
|
180
|
+
/** Total count of words in paragraph */
|
|
181
|
+
totalWords: number;
|
|
182
|
+
/** Total count of lines in paragraph */
|
|
183
|
+
totalLines: number;
|
|
184
|
+
/** Current timeline frame number */
|
|
185
|
+
frame: number;
|
|
186
|
+
/** Timeline frame rate */
|
|
187
|
+
fps: number;
|
|
188
|
+
/** Current timeline timestamp in seconds */
|
|
189
|
+
time: number;
|
|
190
|
+
/** Bound reactive signals map */
|
|
191
|
+
signals?: Record<string, unknown>;
|
|
192
|
+
}
|
|
193
|
+
declare const ExpressionSelectorSchema: z.ZodObject<{
|
|
194
|
+
type: z.ZodLiteral<"expression">;
|
|
195
|
+
name: z.ZodOptional<z.ZodString>;
|
|
196
|
+
expression: z.ZodString;
|
|
197
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
198
|
+
difference: "difference";
|
|
199
|
+
add: "add";
|
|
200
|
+
subtract: "subtract";
|
|
201
|
+
intersect: "intersect";
|
|
202
|
+
min: "min";
|
|
203
|
+
max: "max";
|
|
204
|
+
}>>;
|
|
205
|
+
amount: z.ZodDefault<z.ZodNumber>;
|
|
206
|
+
}, z.core.$strip>;
|
|
207
|
+
type ExpressionSelector = z.infer<typeof ExpressionSelectorSchema>;
|
|
208
|
+
declare const DynamicStrokePropertiesSchema: z.ZodObject<{
|
|
209
|
+
strokeWidth: z.ZodDefault<z.ZodNumber>;
|
|
210
|
+
strokeColor: z.ZodDefault<z.ZodString>;
|
|
211
|
+
strokeAlign: z.ZodDefault<z.ZodEnum<{
|
|
212
|
+
inside: "inside";
|
|
213
|
+
center: "center";
|
|
214
|
+
outside: "outside";
|
|
215
|
+
}>>;
|
|
216
|
+
fillOpacity: z.ZodDefault<z.ZodNumber>;
|
|
217
|
+
dashArray: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
218
|
+
dashOffset: z.ZodDefault<z.ZodNumber>;
|
|
219
|
+
}, z.core.$strip>;
|
|
220
|
+
type DynamicStrokeProperties = z.infer<typeof DynamicStrokePropertiesSchema>;
|
|
221
|
+
declare const KineticMarqueeConfigSchema: z.ZodObject<{
|
|
222
|
+
direction: z.ZodDefault<z.ZodEnum<{
|
|
223
|
+
left: "left";
|
|
224
|
+
right: "right";
|
|
225
|
+
up: "up";
|
|
226
|
+
down: "down";
|
|
227
|
+
}>>;
|
|
228
|
+
velocity: z.ZodDefault<z.ZodNumber>;
|
|
229
|
+
loop: z.ZodDefault<z.ZodBoolean>;
|
|
230
|
+
repeatGap: z.ZodDefault<z.ZodNumber>;
|
|
231
|
+
snap: z.ZodOptional<z.ZodObject<{
|
|
232
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
233
|
+
granularity: z.ZodDefault<z.ZodEnum<{
|
|
234
|
+
character: "character";
|
|
235
|
+
word: "word";
|
|
236
|
+
line: "line";
|
|
237
|
+
}>>;
|
|
238
|
+
stopIndex: z.ZodDefault<z.ZodNumber>;
|
|
239
|
+
decelEase: z.ZodDefault<z.ZodString>;
|
|
240
|
+
}, z.core.$strip>>;
|
|
241
|
+
}, z.core.$strip>;
|
|
242
|
+
type KineticMarqueeConfig = z.infer<typeof KineticMarqueeConfigSchema>;
|
|
243
|
+
declare const VariableFontAxesSchema: z.ZodObject<{
|
|
244
|
+
weight: z.ZodOptional<z.ZodNumber>;
|
|
245
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
246
|
+
slant: z.ZodOptional<z.ZodNumber>;
|
|
247
|
+
italic: z.ZodOptional<z.ZodNumber>;
|
|
248
|
+
opticalSize: z.ZodOptional<z.ZodNumber>;
|
|
249
|
+
}, z.core.$strip>;
|
|
250
|
+
type VariableFontAxes = z.infer<typeof VariableFontAxesSchema>;
|
|
251
|
+
declare const ChromaticGlitchConfigSchema: z.ZodObject<{
|
|
252
|
+
redShiftX: z.ZodDefault<z.ZodNumber>;
|
|
253
|
+
redShiftY: z.ZodDefault<z.ZodNumber>;
|
|
254
|
+
blueShiftX: z.ZodDefault<z.ZodNumber>;
|
|
255
|
+
blueShiftY: z.ZodDefault<z.ZodNumber>;
|
|
256
|
+
sliceProbability: z.ZodDefault<z.ZodNumber>;
|
|
257
|
+
sliceAmplitude: z.ZodDefault<z.ZodNumber>;
|
|
258
|
+
}, z.core.$strip>;
|
|
259
|
+
type ChromaticGlitchConfig = z.infer<typeof ChromaticGlitchConfigSchema>;
|
|
260
|
+
declare const AudioSpectrumTypographySchema: z.ZodObject<{
|
|
261
|
+
signalChannel: z.ZodString;
|
|
262
|
+
minFreqHz: z.ZodDefault<z.ZodNumber>;
|
|
263
|
+
maxFreqHz: z.ZodDefault<z.ZodNumber>;
|
|
264
|
+
scaleAxis: z.ZodDefault<z.ZodEnum<{
|
|
265
|
+
y: "y";
|
|
266
|
+
scale: "scale";
|
|
267
|
+
scaleX: "scaleX";
|
|
268
|
+
scaleY: "scaleY";
|
|
269
|
+
}>>;
|
|
270
|
+
minScale: z.ZodDefault<z.ZodNumber>;
|
|
271
|
+
maxScale: z.ZodDefault<z.ZodNumber>;
|
|
272
|
+
peakDecay: z.ZodDefault<z.ZodNumber>;
|
|
273
|
+
}, z.core.$strip>;
|
|
274
|
+
type AudioSpectrumTypography = z.infer<typeof AudioSpectrumTypographySchema>;
|
|
275
|
+
declare const LongShadowConfigSchema: z.ZodObject<{
|
|
276
|
+
angle: z.ZodDefault<z.ZodNumber>;
|
|
277
|
+
length: z.ZodDefault<z.ZodNumber>;
|
|
278
|
+
color: z.ZodDefault<z.ZodString>;
|
|
279
|
+
startOpacity: z.ZodDefault<z.ZodNumber>;
|
|
280
|
+
endOpacity: z.ZodDefault<z.ZodNumber>;
|
|
281
|
+
steps: z.ZodDefault<z.ZodNumber>;
|
|
282
|
+
}, z.core.$strip>;
|
|
283
|
+
type LongShadowConfig = z.infer<typeof LongShadowConfigSchema>;
|
|
284
|
+
declare const ParticleDissolveConfigSchema: z.ZodObject<{
|
|
285
|
+
progress: z.ZodDefault<z.ZodNumber>;
|
|
286
|
+
dispersalAngle: z.ZodDefault<z.ZodNumber>;
|
|
287
|
+
maxDisplacement: z.ZodDefault<z.ZodNumber>;
|
|
288
|
+
turbulence: z.ZodDefault<z.ZodNumber>;
|
|
289
|
+
particleSize: z.ZodDefault<z.ZodNumber>;
|
|
290
|
+
}, z.core.$strip>;
|
|
291
|
+
type ParticleDissolveConfig = z.infer<typeof ParticleDissolveConfigSchema>;
|
|
292
|
+
declare const ExtendedGlyphPropertiesSchema: z.ZodObject<{
|
|
293
|
+
x: z.ZodOptional<z.ZodNumber>;
|
|
294
|
+
y: z.ZodOptional<z.ZodNumber>;
|
|
295
|
+
translateZ: z.ZodOptional<z.ZodNumber>;
|
|
296
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
297
|
+
scaleX: z.ZodOptional<z.ZodNumber>;
|
|
298
|
+
scaleY: z.ZodOptional<z.ZodNumber>;
|
|
299
|
+
rotation: z.ZodOptional<z.ZodNumber>;
|
|
300
|
+
rotationX: z.ZodOptional<z.ZodNumber>;
|
|
301
|
+
rotationY: z.ZodOptional<z.ZodNumber>;
|
|
302
|
+
rotationZ: z.ZodOptional<z.ZodNumber>;
|
|
303
|
+
formation: z.ZodOptional<z.ZodObject<{
|
|
304
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
305
|
+
planar: "planar";
|
|
306
|
+
vortex: "vortex";
|
|
307
|
+
cylinder: "cylinder";
|
|
308
|
+
helix: "helix";
|
|
309
|
+
}>>;
|
|
310
|
+
radius: z.ZodDefault<z.ZodNumber>;
|
|
311
|
+
pitch: z.ZodDefault<z.ZodNumber>;
|
|
312
|
+
totalAngle: z.ZodDefault<z.ZodNumber>;
|
|
313
|
+
axis: z.ZodDefault<z.ZodEnum<{
|
|
314
|
+
x: "x";
|
|
315
|
+
y: "y";
|
|
316
|
+
z: "z";
|
|
317
|
+
}>>;
|
|
318
|
+
perspective: z.ZodDefault<z.ZodNumber>;
|
|
319
|
+
}, z.core.$strip>>;
|
|
320
|
+
skew: z.ZodOptional<z.ZodNumber>;
|
|
321
|
+
skewAxis: z.ZodOptional<z.ZodNumber>;
|
|
322
|
+
tracking: z.ZodOptional<z.ZodNumber>;
|
|
323
|
+
lineSpacing: z.ZodOptional<z.ZodNumber>;
|
|
324
|
+
lineAnchor: z.ZodOptional<z.ZodNumber>;
|
|
325
|
+
anchor: z.ZodOptional<z.ZodObject<{
|
|
326
|
+
grouping: z.ZodDefault<z.ZodEnum<{
|
|
327
|
+
character: "character";
|
|
328
|
+
word: "word";
|
|
329
|
+
line: "line";
|
|
330
|
+
all: "all";
|
|
331
|
+
}>>;
|
|
332
|
+
preset: z.ZodDefault<z.ZodEnum<{
|
|
333
|
+
custom: "custom";
|
|
334
|
+
center: "center";
|
|
335
|
+
baseline: "baseline";
|
|
336
|
+
bottom_left: "bottom_left";
|
|
337
|
+
bottom_center: "bottom_center";
|
|
338
|
+
bottom_right: "bottom_right";
|
|
339
|
+
top_left: "top_left";
|
|
340
|
+
top_center: "top_center";
|
|
341
|
+
top_right: "top_right";
|
|
342
|
+
}>>;
|
|
343
|
+
anchorX: z.ZodDefault<z.ZodNumber>;
|
|
344
|
+
anchorY: z.ZodDefault<z.ZodNumber>;
|
|
345
|
+
offsetX: z.ZodDefault<z.ZodNumber>;
|
|
346
|
+
offsetY: z.ZodDefault<z.ZodNumber>;
|
|
347
|
+
}, z.core.$strip>>;
|
|
348
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
349
|
+
blur: z.ZodOptional<z.ZodNumber>;
|
|
350
|
+
fillColor: z.ZodOptional<z.ZodString>;
|
|
351
|
+
stroke: z.ZodOptional<z.ZodObject<{
|
|
352
|
+
strokeWidth: z.ZodDefault<z.ZodNumber>;
|
|
353
|
+
strokeColor: z.ZodDefault<z.ZodString>;
|
|
354
|
+
strokeAlign: z.ZodDefault<z.ZodEnum<{
|
|
355
|
+
inside: "inside";
|
|
356
|
+
center: "center";
|
|
357
|
+
outside: "outside";
|
|
358
|
+
}>>;
|
|
359
|
+
fillOpacity: z.ZodDefault<z.ZodNumber>;
|
|
360
|
+
dashArray: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
361
|
+
dashOffset: z.ZodDefault<z.ZodNumber>;
|
|
362
|
+
}, z.core.$strip>>;
|
|
363
|
+
variableAxes: z.ZodOptional<z.ZodObject<{
|
|
364
|
+
weight: z.ZodOptional<z.ZodNumber>;
|
|
365
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
366
|
+
slant: z.ZodOptional<z.ZodNumber>;
|
|
367
|
+
italic: z.ZodOptional<z.ZodNumber>;
|
|
368
|
+
opticalSize: z.ZodOptional<z.ZodNumber>;
|
|
369
|
+
}, z.core.$strip>>;
|
|
370
|
+
chromaticGlitch: z.ZodOptional<z.ZodObject<{
|
|
371
|
+
redShiftX: z.ZodDefault<z.ZodNumber>;
|
|
372
|
+
redShiftY: z.ZodDefault<z.ZodNumber>;
|
|
373
|
+
blueShiftX: z.ZodDefault<z.ZodNumber>;
|
|
374
|
+
blueShiftY: z.ZodDefault<z.ZodNumber>;
|
|
375
|
+
sliceProbability: z.ZodDefault<z.ZodNumber>;
|
|
376
|
+
sliceAmplitude: z.ZodDefault<z.ZodNumber>;
|
|
377
|
+
}, z.core.$strip>>;
|
|
378
|
+
longShadow: z.ZodOptional<z.ZodObject<{
|
|
379
|
+
angle: z.ZodDefault<z.ZodNumber>;
|
|
380
|
+
length: z.ZodDefault<z.ZodNumber>;
|
|
381
|
+
color: z.ZodDefault<z.ZodString>;
|
|
382
|
+
startOpacity: z.ZodDefault<z.ZodNumber>;
|
|
383
|
+
endOpacity: z.ZodDefault<z.ZodNumber>;
|
|
384
|
+
steps: z.ZodDefault<z.ZodNumber>;
|
|
385
|
+
}, z.core.$strip>>;
|
|
386
|
+
particleDissolve: z.ZodOptional<z.ZodObject<{
|
|
387
|
+
progress: z.ZodDefault<z.ZodNumber>;
|
|
388
|
+
dispersalAngle: z.ZodDefault<z.ZodNumber>;
|
|
389
|
+
maxDisplacement: z.ZodDefault<z.ZodNumber>;
|
|
390
|
+
turbulence: z.ZodDefault<z.ZodNumber>;
|
|
391
|
+
particleSize: z.ZodDefault<z.ZodNumber>;
|
|
392
|
+
}, z.core.$strip>>;
|
|
393
|
+
audioSpectrum: z.ZodOptional<z.ZodObject<{
|
|
394
|
+
signalChannel: z.ZodString;
|
|
395
|
+
minFreqHz: z.ZodDefault<z.ZodNumber>;
|
|
396
|
+
maxFreqHz: z.ZodDefault<z.ZodNumber>;
|
|
397
|
+
scaleAxis: z.ZodDefault<z.ZodEnum<{
|
|
398
|
+
y: "y";
|
|
399
|
+
scale: "scale";
|
|
400
|
+
scaleX: "scaleX";
|
|
401
|
+
scaleY: "scaleY";
|
|
402
|
+
}>>;
|
|
403
|
+
minScale: z.ZodDefault<z.ZodNumber>;
|
|
404
|
+
maxScale: z.ZodDefault<z.ZodNumber>;
|
|
405
|
+
peakDecay: z.ZodDefault<z.ZodNumber>;
|
|
406
|
+
}, z.core.$strip>>;
|
|
407
|
+
spring: z.ZodOptional<z.ZodObject<{
|
|
408
|
+
stiffness: z.ZodDefault<z.ZodNumber>;
|
|
409
|
+
damping: z.ZodDefault<z.ZodNumber>;
|
|
410
|
+
mass: z.ZodDefault<z.ZodNumber>;
|
|
411
|
+
initialVelocity: z.ZodDefault<z.ZodNumber>;
|
|
412
|
+
overshootMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
413
|
+
}, z.core.$strip>>;
|
|
414
|
+
}, z.core.$strip>;
|
|
415
|
+
type ExtendedGlyphProperties = z.infer<typeof ExtendedGlyphPropertiesSchema>;
|
|
416
|
+
declare const AdvancedTextAnimatorSchema: z.ZodObject<{
|
|
417
|
+
name: z.ZodDefault<z.ZodString>;
|
|
418
|
+
selectors: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
419
|
+
props: z.ZodObject<{
|
|
420
|
+
x: z.ZodOptional<z.ZodNumber>;
|
|
421
|
+
y: z.ZodOptional<z.ZodNumber>;
|
|
422
|
+
translateZ: z.ZodOptional<z.ZodNumber>;
|
|
423
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
424
|
+
scaleX: z.ZodOptional<z.ZodNumber>;
|
|
425
|
+
scaleY: z.ZodOptional<z.ZodNumber>;
|
|
426
|
+
rotation: z.ZodOptional<z.ZodNumber>;
|
|
427
|
+
rotationX: z.ZodOptional<z.ZodNumber>;
|
|
428
|
+
rotationY: z.ZodOptional<z.ZodNumber>;
|
|
429
|
+
rotationZ: z.ZodOptional<z.ZodNumber>;
|
|
430
|
+
formation: z.ZodOptional<z.ZodObject<{
|
|
431
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
432
|
+
planar: "planar";
|
|
433
|
+
vortex: "vortex";
|
|
434
|
+
cylinder: "cylinder";
|
|
435
|
+
helix: "helix";
|
|
436
|
+
}>>;
|
|
437
|
+
radius: z.ZodDefault<z.ZodNumber>;
|
|
438
|
+
pitch: z.ZodDefault<z.ZodNumber>;
|
|
439
|
+
totalAngle: z.ZodDefault<z.ZodNumber>;
|
|
440
|
+
axis: z.ZodDefault<z.ZodEnum<{
|
|
441
|
+
x: "x";
|
|
442
|
+
y: "y";
|
|
443
|
+
z: "z";
|
|
444
|
+
}>>;
|
|
445
|
+
perspective: z.ZodDefault<z.ZodNumber>;
|
|
446
|
+
}, z.core.$strip>>;
|
|
447
|
+
skew: z.ZodOptional<z.ZodNumber>;
|
|
448
|
+
skewAxis: z.ZodOptional<z.ZodNumber>;
|
|
449
|
+
tracking: z.ZodOptional<z.ZodNumber>;
|
|
450
|
+
lineSpacing: z.ZodOptional<z.ZodNumber>;
|
|
451
|
+
lineAnchor: z.ZodOptional<z.ZodNumber>;
|
|
452
|
+
anchor: z.ZodOptional<z.ZodObject<{
|
|
453
|
+
grouping: z.ZodDefault<z.ZodEnum<{
|
|
454
|
+
character: "character";
|
|
455
|
+
word: "word";
|
|
456
|
+
line: "line";
|
|
457
|
+
all: "all";
|
|
458
|
+
}>>;
|
|
459
|
+
preset: z.ZodDefault<z.ZodEnum<{
|
|
460
|
+
custom: "custom";
|
|
461
|
+
center: "center";
|
|
462
|
+
baseline: "baseline";
|
|
463
|
+
bottom_left: "bottom_left";
|
|
464
|
+
bottom_center: "bottom_center";
|
|
465
|
+
bottom_right: "bottom_right";
|
|
466
|
+
top_left: "top_left";
|
|
467
|
+
top_center: "top_center";
|
|
468
|
+
top_right: "top_right";
|
|
469
|
+
}>>;
|
|
470
|
+
anchorX: z.ZodDefault<z.ZodNumber>;
|
|
471
|
+
anchorY: z.ZodDefault<z.ZodNumber>;
|
|
472
|
+
offsetX: z.ZodDefault<z.ZodNumber>;
|
|
473
|
+
offsetY: z.ZodDefault<z.ZodNumber>;
|
|
474
|
+
}, z.core.$strip>>;
|
|
475
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
476
|
+
blur: z.ZodOptional<z.ZodNumber>;
|
|
477
|
+
fillColor: z.ZodOptional<z.ZodString>;
|
|
478
|
+
stroke: z.ZodOptional<z.ZodObject<{
|
|
479
|
+
strokeWidth: z.ZodDefault<z.ZodNumber>;
|
|
480
|
+
strokeColor: z.ZodDefault<z.ZodString>;
|
|
481
|
+
strokeAlign: z.ZodDefault<z.ZodEnum<{
|
|
482
|
+
inside: "inside";
|
|
483
|
+
center: "center";
|
|
484
|
+
outside: "outside";
|
|
485
|
+
}>>;
|
|
486
|
+
fillOpacity: z.ZodDefault<z.ZodNumber>;
|
|
487
|
+
dashArray: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
488
|
+
dashOffset: z.ZodDefault<z.ZodNumber>;
|
|
489
|
+
}, z.core.$strip>>;
|
|
490
|
+
variableAxes: z.ZodOptional<z.ZodObject<{
|
|
491
|
+
weight: z.ZodOptional<z.ZodNumber>;
|
|
492
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
493
|
+
slant: z.ZodOptional<z.ZodNumber>;
|
|
494
|
+
italic: z.ZodOptional<z.ZodNumber>;
|
|
495
|
+
opticalSize: z.ZodOptional<z.ZodNumber>;
|
|
496
|
+
}, z.core.$strip>>;
|
|
497
|
+
chromaticGlitch: z.ZodOptional<z.ZodObject<{
|
|
498
|
+
redShiftX: z.ZodDefault<z.ZodNumber>;
|
|
499
|
+
redShiftY: z.ZodDefault<z.ZodNumber>;
|
|
500
|
+
blueShiftX: z.ZodDefault<z.ZodNumber>;
|
|
501
|
+
blueShiftY: z.ZodDefault<z.ZodNumber>;
|
|
502
|
+
sliceProbability: z.ZodDefault<z.ZodNumber>;
|
|
503
|
+
sliceAmplitude: z.ZodDefault<z.ZodNumber>;
|
|
504
|
+
}, z.core.$strip>>;
|
|
505
|
+
longShadow: z.ZodOptional<z.ZodObject<{
|
|
506
|
+
angle: z.ZodDefault<z.ZodNumber>;
|
|
507
|
+
length: z.ZodDefault<z.ZodNumber>;
|
|
508
|
+
color: z.ZodDefault<z.ZodString>;
|
|
509
|
+
startOpacity: z.ZodDefault<z.ZodNumber>;
|
|
510
|
+
endOpacity: z.ZodDefault<z.ZodNumber>;
|
|
511
|
+
steps: z.ZodDefault<z.ZodNumber>;
|
|
512
|
+
}, z.core.$strip>>;
|
|
513
|
+
particleDissolve: z.ZodOptional<z.ZodObject<{
|
|
514
|
+
progress: z.ZodDefault<z.ZodNumber>;
|
|
515
|
+
dispersalAngle: z.ZodDefault<z.ZodNumber>;
|
|
516
|
+
maxDisplacement: z.ZodDefault<z.ZodNumber>;
|
|
517
|
+
turbulence: z.ZodDefault<z.ZodNumber>;
|
|
518
|
+
particleSize: z.ZodDefault<z.ZodNumber>;
|
|
519
|
+
}, z.core.$strip>>;
|
|
520
|
+
audioSpectrum: z.ZodOptional<z.ZodObject<{
|
|
521
|
+
signalChannel: z.ZodString;
|
|
522
|
+
minFreqHz: z.ZodDefault<z.ZodNumber>;
|
|
523
|
+
maxFreqHz: z.ZodDefault<z.ZodNumber>;
|
|
524
|
+
scaleAxis: z.ZodDefault<z.ZodEnum<{
|
|
525
|
+
y: "y";
|
|
526
|
+
scale: "scale";
|
|
527
|
+
scaleX: "scaleX";
|
|
528
|
+
scaleY: "scaleY";
|
|
529
|
+
}>>;
|
|
530
|
+
minScale: z.ZodDefault<z.ZodNumber>;
|
|
531
|
+
maxScale: z.ZodDefault<z.ZodNumber>;
|
|
532
|
+
peakDecay: z.ZodDefault<z.ZodNumber>;
|
|
533
|
+
}, z.core.$strip>>;
|
|
534
|
+
spring: z.ZodOptional<z.ZodObject<{
|
|
535
|
+
stiffness: z.ZodDefault<z.ZodNumber>;
|
|
536
|
+
damping: z.ZodDefault<z.ZodNumber>;
|
|
537
|
+
mass: z.ZodDefault<z.ZodNumber>;
|
|
538
|
+
initialVelocity: z.ZodDefault<z.ZodNumber>;
|
|
539
|
+
overshootMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
540
|
+
}, z.core.$strip>>;
|
|
541
|
+
}, z.core.$strip>;
|
|
542
|
+
}, z.core.$strip>;
|
|
543
|
+
type AdvancedTextAnimator = z.infer<typeof AdvancedTextAnimatorSchema>;
|
|
544
|
+
//#endregion
|
|
545
|
+
//#region src/program/text-animations/advanced-builder.d.ts
|
|
546
|
+
/**
|
|
547
|
+
* Fluent Builder for Extended Text Animators.
|
|
548
|
+
*/
|
|
549
|
+
declare class AdvancedTextAnimatorBuilder {
|
|
550
|
+
private readonly name;
|
|
551
|
+
private props;
|
|
552
|
+
private selectors;
|
|
553
|
+
constructor(name: string);
|
|
554
|
+
static create(name: string): AdvancedTextAnimatorBuilder;
|
|
555
|
+
/** Directional Skew */
|
|
556
|
+
skew(angleDeg: number, axisDeg?: number): this;
|
|
557
|
+
/** Anchor Point Grouping and Preset Pivot */
|
|
558
|
+
anchor(preset: AnchorPreset, grouping?: AnchorGrouping, offsetX?: number, offsetY?: number): this;
|
|
559
|
+
/** Custom Anchor Point Coordinates (0 to 1 normalized) */
|
|
560
|
+
anchorNormalized(ax: number, ay: number, grouping?: AnchorGrouping): this;
|
|
561
|
+
/** 3D Spatial Z-Depth */
|
|
562
|
+
translateZ(zPixels: number): this;
|
|
563
|
+
/** 3D Tilts */
|
|
564
|
+
tilt3D(rx?: number, ry?: number, rz?: number): this;
|
|
565
|
+
/** 3D Rotation along X axis */
|
|
566
|
+
rotationX(deg: number): this;
|
|
567
|
+
/** 3D Rotation along Y axis */
|
|
568
|
+
rotationY(deg: number): this;
|
|
569
|
+
/** 3D Rotation along Z axis */
|
|
570
|
+
rotationZ(deg: number): this;
|
|
571
|
+
/** 3D Volumetric Formations */
|
|
572
|
+
volumetricFormation(mode?: VolumetricFormationMode, radius?: number, pitch?: number, totalAngle?: number, perspective?: number, axis?: "x" | "y" | "z"): this;
|
|
573
|
+
/** Dynamic Line Spacing (Leading) */
|
|
574
|
+
lineSpacing(extraLeadingPixels: number, lineAnchor?: number): this;
|
|
575
|
+
/** Normalized Line Anchor (0=top, 0.5=center, 1=bottom) */
|
|
576
|
+
lineAnchor(anchor: number): this;
|
|
577
|
+
/** Inertial Spring Settling Physics */
|
|
578
|
+
spring(stiffness?: number, damping?: number, mass?: number, initialVelocity?: number): this;
|
|
579
|
+
/** Dynamic Stroke & Wireframe Properties */
|
|
580
|
+
stroke(widthPixels: number, color?: string, fillOpacity?: number): this;
|
|
581
|
+
/** Variable Font Axes */
|
|
582
|
+
variableFont(axes: VariableFontAxes): this;
|
|
583
|
+
/** Chromatic Aberration / Cyberpunk Glitch */
|
|
584
|
+
chromaticGlitch(redShiftX: number, redShiftY?: number, blueShiftX?: number, blueShiftY?: number): this;
|
|
585
|
+
/** Multi-Band Audio Spectrum Equalizer */
|
|
586
|
+
audioSpectrum(signalChannel: string, minFreqHz?: number, maxFreqHz?: number, maxScale?: number): this;
|
|
587
|
+
/** Long Shadow Extrusion */
|
|
588
|
+
longShadow(angle?: number, length?: number, color?: string, startOpacity?: number, endOpacity?: number, steps?: number): this;
|
|
589
|
+
/** Particle Dust / Quantum Dissolve */
|
|
590
|
+
particleDissolve(progress?: number, dispersalAngle?: number, maxDisplacement?: number): this;
|
|
591
|
+
/** Add Expression Selector */
|
|
592
|
+
addExpressionSelector(expression: string, mode?: "add" | "subtract" | "intersect"): this;
|
|
593
|
+
/** Alias for addExpressionSelector */
|
|
594
|
+
expressionSelector(expression: string, mode?: "add" | "subtract" | "intersect"): this;
|
|
595
|
+
/** Standard 2D Transforms */
|
|
596
|
+
x(v: number): this;
|
|
597
|
+
y(v: number): this;
|
|
598
|
+
scale(v: number): this;
|
|
599
|
+
scaleX(v: number): this;
|
|
600
|
+
scaleY(v: number): this;
|
|
601
|
+
rotation(deg: number): this;
|
|
602
|
+
opacity(v: number): this;
|
|
603
|
+
blur(v: number): this;
|
|
604
|
+
fillColor(hex: string): this;
|
|
605
|
+
build(): {
|
|
606
|
+
name: string;
|
|
607
|
+
selectors: (ExpressionSelector | Record<string, unknown>)[];
|
|
608
|
+
props: ExtendedGlyphProperties;
|
|
609
|
+
};
|
|
610
|
+
}
|
|
611
|
+
//#endregion
|
|
612
|
+
//#region src/program/text-animations/types.d.ts
|
|
613
|
+
declare const Vec2Schema: z.ZodObject<{
|
|
614
|
+
x: z.ZodNumber;
|
|
615
|
+
y: z.ZodNumber;
|
|
616
|
+
}, z.core.$strip>;
|
|
617
|
+
type Vec2 = z.infer<typeof Vec2Schema>;
|
|
618
|
+
declare const CubicBezierSegmentSchema: z.ZodObject<{
|
|
619
|
+
p0: z.ZodObject<{
|
|
620
|
+
x: z.ZodNumber;
|
|
621
|
+
y: z.ZodNumber;
|
|
622
|
+
}, z.core.$strip>;
|
|
623
|
+
p1: z.ZodObject<{
|
|
624
|
+
x: z.ZodNumber;
|
|
625
|
+
y: z.ZodNumber;
|
|
626
|
+
}, z.core.$strip>;
|
|
627
|
+
p2: z.ZodObject<{
|
|
628
|
+
x: z.ZodNumber;
|
|
629
|
+
y: z.ZodNumber;
|
|
630
|
+
}, z.core.$strip>;
|
|
631
|
+
p3: z.ZodObject<{
|
|
632
|
+
x: z.ZodNumber;
|
|
633
|
+
y: z.ZodNumber;
|
|
634
|
+
}, z.core.$strip>;
|
|
635
|
+
}, z.core.$strip>;
|
|
636
|
+
type CubicBezierSegment = z.infer<typeof CubicBezierSegmentSchema>;
|
|
637
|
+
declare const TextPathSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
638
|
+
type: z.ZodLiteral<"svg">;
|
|
639
|
+
d: z.ZodString;
|
|
640
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
641
|
+
type: z.ZodLiteral<"bezier">;
|
|
642
|
+
segments: z.ZodArray<z.ZodObject<{
|
|
643
|
+
p0: z.ZodObject<{
|
|
644
|
+
x: z.ZodNumber;
|
|
645
|
+
y: z.ZodNumber;
|
|
646
|
+
}, z.core.$strip>;
|
|
647
|
+
p1: z.ZodObject<{
|
|
648
|
+
x: z.ZodNumber;
|
|
649
|
+
y: z.ZodNumber;
|
|
650
|
+
}, z.core.$strip>;
|
|
651
|
+
p2: z.ZodObject<{
|
|
652
|
+
x: z.ZodNumber;
|
|
653
|
+
y: z.ZodNumber;
|
|
654
|
+
}, z.core.$strip>;
|
|
655
|
+
p3: z.ZodObject<{
|
|
656
|
+
x: z.ZodNumber;
|
|
657
|
+
y: z.ZodNumber;
|
|
658
|
+
}, z.core.$strip>;
|
|
659
|
+
}, z.core.$strip>>;
|
|
660
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
661
|
+
type: z.ZodLiteral<"ellipse">;
|
|
662
|
+
cx: z.ZodNumber;
|
|
663
|
+
cy: z.ZodNumber;
|
|
664
|
+
rx: z.ZodNumber;
|
|
665
|
+
ry: z.ZodNumber;
|
|
666
|
+
startAngleDeg: z.ZodDefault<z.ZodNumber>;
|
|
667
|
+
endAngleDeg: z.ZodDefault<z.ZodNumber>;
|
|
668
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
669
|
+
type: z.ZodLiteral<"wave">;
|
|
670
|
+
startX: z.ZodNumber;
|
|
671
|
+
startY: z.ZodNumber;
|
|
672
|
+
length: z.ZodNumber;
|
|
673
|
+
amplitude: z.ZodNumber;
|
|
674
|
+
frequency: z.ZodNumber;
|
|
675
|
+
phaseDeg: z.ZodDefault<z.ZodNumber>;
|
|
676
|
+
}, z.core.$strip>], "type">;
|
|
677
|
+
type TextPathSource = z.infer<typeof TextPathSourceSchema>;
|
|
678
|
+
declare const TextPathOptionsSchema: z.ZodObject<{
|
|
679
|
+
path: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
680
|
+
type: z.ZodLiteral<"svg">;
|
|
681
|
+
d: z.ZodString;
|
|
682
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
683
|
+
type: z.ZodLiteral<"bezier">;
|
|
684
|
+
segments: z.ZodArray<z.ZodObject<{
|
|
685
|
+
p0: z.ZodObject<{
|
|
686
|
+
x: z.ZodNumber;
|
|
687
|
+
y: z.ZodNumber;
|
|
688
|
+
}, z.core.$strip>;
|
|
689
|
+
p1: z.ZodObject<{
|
|
690
|
+
x: z.ZodNumber;
|
|
691
|
+
y: z.ZodNumber;
|
|
692
|
+
}, z.core.$strip>;
|
|
693
|
+
p2: z.ZodObject<{
|
|
694
|
+
x: z.ZodNumber;
|
|
695
|
+
y: z.ZodNumber;
|
|
696
|
+
}, z.core.$strip>;
|
|
697
|
+
p3: z.ZodObject<{
|
|
698
|
+
x: z.ZodNumber;
|
|
699
|
+
y: z.ZodNumber;
|
|
700
|
+
}, z.core.$strip>;
|
|
701
|
+
}, z.core.$strip>>;
|
|
702
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
703
|
+
type: z.ZodLiteral<"ellipse">;
|
|
704
|
+
cx: z.ZodNumber;
|
|
705
|
+
cy: z.ZodNumber;
|
|
706
|
+
rx: z.ZodNumber;
|
|
707
|
+
ry: z.ZodNumber;
|
|
708
|
+
startAngleDeg: z.ZodDefault<z.ZodNumber>;
|
|
709
|
+
endAngleDeg: z.ZodDefault<z.ZodNumber>;
|
|
710
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
711
|
+
type: z.ZodLiteral<"wave">;
|
|
712
|
+
startX: z.ZodNumber;
|
|
713
|
+
startY: z.ZodNumber;
|
|
714
|
+
length: z.ZodNumber;
|
|
715
|
+
amplitude: z.ZodNumber;
|
|
716
|
+
frequency: z.ZodNumber;
|
|
717
|
+
phaseDeg: z.ZodDefault<z.ZodNumber>;
|
|
718
|
+
}, z.core.$strip>], "type">;
|
|
719
|
+
firstMargin: z.ZodDefault<z.ZodNumber>;
|
|
720
|
+
lastMargin: z.ZodDefault<z.ZodNumber>;
|
|
721
|
+
reversePath: z.ZodDefault<z.ZodBoolean>;
|
|
722
|
+
perpendicularToPath: z.ZodDefault<z.ZodBoolean>;
|
|
723
|
+
forceAlignment: z.ZodDefault<z.ZodBoolean>;
|
|
724
|
+
loop: z.ZodDefault<z.ZodBoolean>;
|
|
725
|
+
baselineOffset: z.ZodDefault<z.ZodEnum<{
|
|
726
|
+
center: "center";
|
|
727
|
+
baseline: "baseline";
|
|
728
|
+
ascender: "ascender";
|
|
729
|
+
descender: "descender";
|
|
730
|
+
}>>;
|
|
731
|
+
baselineShift: z.ZodDefault<z.ZodNumber>;
|
|
732
|
+
}, z.core.$strip>;
|
|
733
|
+
type TextPathOptions = z.infer<typeof TextPathOptionsSchema>;
|
|
734
|
+
declare const TextCursorStyleSchema: z.ZodEnum<{
|
|
735
|
+
custom: "custom";
|
|
736
|
+
bar: "bar";
|
|
737
|
+
underscore: "underscore";
|
|
738
|
+
block: "block";
|
|
739
|
+
}>;
|
|
740
|
+
type TextCursorStyle = z.infer<typeof TextCursorStyleSchema>;
|
|
741
|
+
declare const TextCursorConfigSchema: z.ZodObject<{
|
|
742
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
743
|
+
style: z.ZodDefault<z.ZodEnum<{
|
|
744
|
+
custom: "custom";
|
|
745
|
+
bar: "bar";
|
|
746
|
+
underscore: "underscore";
|
|
747
|
+
block: "block";
|
|
748
|
+
}>>;
|
|
749
|
+
customChar: z.ZodDefault<z.ZodString>;
|
|
750
|
+
color: z.ZodOptional<z.ZodString>;
|
|
751
|
+
blinkFrequency: z.ZodDefault<z.ZodNumber>;
|
|
752
|
+
hideOnComplete: z.ZodDefault<z.ZodBoolean>;
|
|
753
|
+
width: z.ZodDefault<z.ZodNumber>;
|
|
754
|
+
spacing: z.ZodDefault<z.ZodNumber>;
|
|
755
|
+
}, z.core.$strip>;
|
|
756
|
+
type TextCursorConfig = z.infer<typeof TextCursorConfigSchema>;
|
|
757
|
+
declare const TypingCadenceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
758
|
+
mode: z.ZodLiteral<"constant">;
|
|
759
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
760
|
+
mode: z.ZodLiteral<"human">;
|
|
761
|
+
jitter: z.ZodDefault<z.ZodNumber>;
|
|
762
|
+
commaPauseMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
763
|
+
sentencePauseMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
764
|
+
paragraphPauseMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
765
|
+
}, z.core.$strip>], "mode">;
|
|
766
|
+
type TypingCadence = z.infer<typeof TypingCadenceSchema>;
|
|
767
|
+
declare const TextScrambleConfigSchema: z.ZodObject<{
|
|
768
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
769
|
+
charset: z.ZodDefault<z.ZodEnum<{
|
|
770
|
+
custom: "custom";
|
|
771
|
+
ascii: "ascii";
|
|
772
|
+
alphanumeric: "alphanumeric";
|
|
773
|
+
matrix: "matrix";
|
|
774
|
+
binary: "binary";
|
|
775
|
+
hex: "hex";
|
|
776
|
+
}>>;
|
|
777
|
+
customCharset: z.ZodOptional<z.ZodString>;
|
|
778
|
+
scrambleFramesPerChar: z.ZodDefault<z.ZodNumber>;
|
|
779
|
+
highlightProbability: z.ZodDefault<z.ZodNumber>;
|
|
780
|
+
scrambleColor: z.ZodOptional<z.ZodString>;
|
|
781
|
+
}, z.core.$strip>;
|
|
782
|
+
type TextScrambleConfig = z.infer<typeof TextScrambleConfigSchema>;
|
|
783
|
+
declare const TypewriterAnimatorSchema: z.ZodObject<{
|
|
784
|
+
granularity: z.ZodDefault<z.ZodEnum<{
|
|
785
|
+
character: "character";
|
|
786
|
+
word: "word";
|
|
787
|
+
line: "line";
|
|
788
|
+
}>>;
|
|
789
|
+
cursor: z.ZodDefault<z.ZodObject<{
|
|
790
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
791
|
+
style: z.ZodDefault<z.ZodEnum<{
|
|
792
|
+
custom: "custom";
|
|
793
|
+
bar: "bar";
|
|
794
|
+
underscore: "underscore";
|
|
795
|
+
block: "block";
|
|
796
|
+
}>>;
|
|
797
|
+
customChar: z.ZodDefault<z.ZodString>;
|
|
798
|
+
color: z.ZodOptional<z.ZodString>;
|
|
799
|
+
blinkFrequency: z.ZodDefault<z.ZodNumber>;
|
|
800
|
+
hideOnComplete: z.ZodDefault<z.ZodBoolean>;
|
|
801
|
+
width: z.ZodDefault<z.ZodNumber>;
|
|
802
|
+
spacing: z.ZodDefault<z.ZodNumber>;
|
|
803
|
+
}, z.core.$strip>>;
|
|
804
|
+
cadence: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
805
|
+
mode: z.ZodLiteral<"constant">;
|
|
806
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
807
|
+
mode: z.ZodLiteral<"human">;
|
|
808
|
+
jitter: z.ZodDefault<z.ZodNumber>;
|
|
809
|
+
commaPauseMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
810
|
+
sentencePauseMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
811
|
+
paragraphPauseMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
812
|
+
}, z.core.$strip>], "mode">>;
|
|
813
|
+
scramble: z.ZodDefault<z.ZodObject<{
|
|
814
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
815
|
+
charset: z.ZodDefault<z.ZodEnum<{
|
|
816
|
+
custom: "custom";
|
|
817
|
+
ascii: "ascii";
|
|
818
|
+
alphanumeric: "alphanumeric";
|
|
819
|
+
matrix: "matrix";
|
|
820
|
+
binary: "binary";
|
|
821
|
+
hex: "hex";
|
|
822
|
+
}>>;
|
|
823
|
+
customCharset: z.ZodOptional<z.ZodString>;
|
|
824
|
+
scrambleFramesPerChar: z.ZodDefault<z.ZodNumber>;
|
|
825
|
+
highlightProbability: z.ZodDefault<z.ZodNumber>;
|
|
826
|
+
scrambleColor: z.ZodOptional<z.ZodString>;
|
|
827
|
+
}, z.core.$strip>>;
|
|
828
|
+
soundSync: z.ZodDefault<z.ZodBoolean>;
|
|
829
|
+
}, z.core.$strip>;
|
|
830
|
+
type TypewriterAnimator = z.infer<typeof TypewriterAnimatorSchema>;
|
|
831
|
+
declare const SelectorBasedOnSchema: z.ZodEnum<{
|
|
832
|
+
characters: "characters";
|
|
833
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
834
|
+
words: "words";
|
|
835
|
+
lines: "lines";
|
|
836
|
+
}>;
|
|
837
|
+
type SelectorBasedOn = z.infer<typeof SelectorBasedOnSchema>;
|
|
838
|
+
declare const SelectorUnitsSchema: z.ZodEnum<{
|
|
839
|
+
percentage: "percentage";
|
|
840
|
+
index: "index";
|
|
841
|
+
}>;
|
|
842
|
+
type SelectorUnits = z.infer<typeof SelectorUnitsSchema>;
|
|
843
|
+
declare const SelectorShapeSchema: z.ZodEnum<{
|
|
844
|
+
round: "round";
|
|
845
|
+
square: "square";
|
|
846
|
+
ramp_up: "ramp_up";
|
|
847
|
+
ramp_down: "ramp_down";
|
|
848
|
+
triangle: "triangle";
|
|
849
|
+
smooth: "smooth";
|
|
850
|
+
}>;
|
|
851
|
+
type SelectorShape = z.infer<typeof SelectorShapeSchema>;
|
|
852
|
+
declare const SelectorModeSchema: z.ZodEnum<{
|
|
853
|
+
difference: "difference";
|
|
854
|
+
add: "add";
|
|
855
|
+
subtract: "subtract";
|
|
856
|
+
intersect: "intersect";
|
|
857
|
+
min: "min";
|
|
858
|
+
max: "max";
|
|
859
|
+
}>;
|
|
860
|
+
type SelectorMode = z.infer<typeof SelectorModeSchema>;
|
|
861
|
+
declare const TextRangeSelectorSchema: z.ZodObject<{
|
|
862
|
+
type: z.ZodLiteral<"range">;
|
|
863
|
+
start: z.ZodDefault<z.ZodNumber>;
|
|
864
|
+
end: z.ZodDefault<z.ZodNumber>;
|
|
865
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
866
|
+
units: z.ZodDefault<z.ZodEnum<{
|
|
867
|
+
percentage: "percentage";
|
|
868
|
+
index: "index";
|
|
869
|
+
}>>;
|
|
870
|
+
basedOn: z.ZodDefault<z.ZodEnum<{
|
|
871
|
+
characters: "characters";
|
|
872
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
873
|
+
words: "words";
|
|
874
|
+
lines: "lines";
|
|
875
|
+
}>>;
|
|
876
|
+
shape: z.ZodDefault<z.ZodEnum<{
|
|
877
|
+
round: "round";
|
|
878
|
+
square: "square";
|
|
879
|
+
ramp_up: "ramp_up";
|
|
880
|
+
ramp_down: "ramp_down";
|
|
881
|
+
triangle: "triangle";
|
|
882
|
+
smooth: "smooth";
|
|
883
|
+
}>>;
|
|
884
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
885
|
+
difference: "difference";
|
|
886
|
+
add: "add";
|
|
887
|
+
subtract: "subtract";
|
|
888
|
+
intersect: "intersect";
|
|
889
|
+
min: "min";
|
|
890
|
+
max: "max";
|
|
891
|
+
}>>;
|
|
892
|
+
amount: z.ZodDefault<z.ZodNumber>;
|
|
893
|
+
easeHigh: z.ZodDefault<z.ZodNumber>;
|
|
894
|
+
easeLow: z.ZodDefault<z.ZodNumber>;
|
|
895
|
+
randomizeOrder: z.ZodDefault<z.ZodBoolean>;
|
|
896
|
+
randomSeed: z.ZodDefault<z.ZodNumber>;
|
|
897
|
+
}, z.core.$strip>;
|
|
898
|
+
type TextRangeSelector = z.infer<typeof TextRangeSelectorSchema>;
|
|
899
|
+
declare const TextWigglySelectorSchema: z.ZodObject<{
|
|
900
|
+
type: z.ZodLiteral<"wiggly">;
|
|
901
|
+
wigglesPerSecond: z.ZodDefault<z.ZodNumber>;
|
|
902
|
+
correlation: z.ZodDefault<z.ZodNumber>;
|
|
903
|
+
temporalPhaseDeg: z.ZodDefault<z.ZodNumber>;
|
|
904
|
+
spatialPhaseDeg: z.ZodDefault<z.ZodNumber>;
|
|
905
|
+
minAmount: z.ZodDefault<z.ZodNumber>;
|
|
906
|
+
maxAmount: z.ZodDefault<z.ZodNumber>;
|
|
907
|
+
randomSeed: z.ZodDefault<z.ZodNumber>;
|
|
908
|
+
basedOn: z.ZodDefault<z.ZodEnum<{
|
|
909
|
+
characters: "characters";
|
|
910
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
911
|
+
words: "words";
|
|
912
|
+
lines: "lines";
|
|
913
|
+
}>>;
|
|
914
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
915
|
+
difference: "difference";
|
|
916
|
+
add: "add";
|
|
917
|
+
subtract: "subtract";
|
|
918
|
+
intersect: "intersect";
|
|
919
|
+
min: "min";
|
|
920
|
+
max: "max";
|
|
921
|
+
}>>;
|
|
922
|
+
}, z.core.$strip>;
|
|
923
|
+
type TextWigglySelector = z.infer<typeof TextWigglySelectorSchema>;
|
|
924
|
+
declare const TextSignalSelectorSchema: z.ZodObject<{
|
|
925
|
+
type: z.ZodLiteral<"signal">;
|
|
926
|
+
signalId: z.ZodString;
|
|
927
|
+
multiplier: z.ZodDefault<z.ZodNumber>;
|
|
928
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
929
|
+
phaseSpread: z.ZodDefault<z.ZodNumber>;
|
|
930
|
+
basedOn: z.ZodDefault<z.ZodEnum<{
|
|
931
|
+
characters: "characters";
|
|
932
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
933
|
+
words: "words";
|
|
934
|
+
lines: "lines";
|
|
935
|
+
}>>;
|
|
936
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
937
|
+
difference: "difference";
|
|
938
|
+
add: "add";
|
|
939
|
+
subtract: "subtract";
|
|
940
|
+
intersect: "intersect";
|
|
941
|
+
min: "min";
|
|
942
|
+
max: "max";
|
|
943
|
+
}>>;
|
|
944
|
+
}, z.core.$strip>;
|
|
945
|
+
type TextSignalSelector = z.infer<typeof TextSignalSelectorSchema>;
|
|
946
|
+
declare const TextSelectorSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
947
|
+
type: z.ZodLiteral<"range">;
|
|
948
|
+
start: z.ZodDefault<z.ZodNumber>;
|
|
949
|
+
end: z.ZodDefault<z.ZodNumber>;
|
|
950
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
951
|
+
units: z.ZodDefault<z.ZodEnum<{
|
|
952
|
+
percentage: "percentage";
|
|
953
|
+
index: "index";
|
|
954
|
+
}>>;
|
|
955
|
+
basedOn: z.ZodDefault<z.ZodEnum<{
|
|
956
|
+
characters: "characters";
|
|
957
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
958
|
+
words: "words";
|
|
959
|
+
lines: "lines";
|
|
960
|
+
}>>;
|
|
961
|
+
shape: z.ZodDefault<z.ZodEnum<{
|
|
962
|
+
round: "round";
|
|
963
|
+
square: "square";
|
|
964
|
+
ramp_up: "ramp_up";
|
|
965
|
+
ramp_down: "ramp_down";
|
|
966
|
+
triangle: "triangle";
|
|
967
|
+
smooth: "smooth";
|
|
968
|
+
}>>;
|
|
969
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
970
|
+
difference: "difference";
|
|
971
|
+
add: "add";
|
|
972
|
+
subtract: "subtract";
|
|
973
|
+
intersect: "intersect";
|
|
974
|
+
min: "min";
|
|
975
|
+
max: "max";
|
|
976
|
+
}>>;
|
|
977
|
+
amount: z.ZodDefault<z.ZodNumber>;
|
|
978
|
+
easeHigh: z.ZodDefault<z.ZodNumber>;
|
|
979
|
+
easeLow: z.ZodDefault<z.ZodNumber>;
|
|
980
|
+
randomizeOrder: z.ZodDefault<z.ZodBoolean>;
|
|
981
|
+
randomSeed: z.ZodDefault<z.ZodNumber>;
|
|
982
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
983
|
+
type: z.ZodLiteral<"wiggly">;
|
|
984
|
+
wigglesPerSecond: z.ZodDefault<z.ZodNumber>;
|
|
985
|
+
correlation: z.ZodDefault<z.ZodNumber>;
|
|
986
|
+
temporalPhaseDeg: z.ZodDefault<z.ZodNumber>;
|
|
987
|
+
spatialPhaseDeg: z.ZodDefault<z.ZodNumber>;
|
|
988
|
+
minAmount: z.ZodDefault<z.ZodNumber>;
|
|
989
|
+
maxAmount: z.ZodDefault<z.ZodNumber>;
|
|
990
|
+
randomSeed: z.ZodDefault<z.ZodNumber>;
|
|
991
|
+
basedOn: z.ZodDefault<z.ZodEnum<{
|
|
992
|
+
characters: "characters";
|
|
993
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
994
|
+
words: "words";
|
|
995
|
+
lines: "lines";
|
|
996
|
+
}>>;
|
|
997
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
998
|
+
difference: "difference";
|
|
999
|
+
add: "add";
|
|
1000
|
+
subtract: "subtract";
|
|
1001
|
+
intersect: "intersect";
|
|
1002
|
+
min: "min";
|
|
1003
|
+
max: "max";
|
|
1004
|
+
}>>;
|
|
1005
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1006
|
+
type: z.ZodLiteral<"signal">;
|
|
1007
|
+
signalId: z.ZodString;
|
|
1008
|
+
multiplier: z.ZodDefault<z.ZodNumber>;
|
|
1009
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
1010
|
+
phaseSpread: z.ZodDefault<z.ZodNumber>;
|
|
1011
|
+
basedOn: z.ZodDefault<z.ZodEnum<{
|
|
1012
|
+
characters: "characters";
|
|
1013
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
1014
|
+
words: "words";
|
|
1015
|
+
lines: "lines";
|
|
1016
|
+
}>>;
|
|
1017
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
1018
|
+
difference: "difference";
|
|
1019
|
+
add: "add";
|
|
1020
|
+
subtract: "subtract";
|
|
1021
|
+
intersect: "intersect";
|
|
1022
|
+
min: "min";
|
|
1023
|
+
max: "max";
|
|
1024
|
+
}>>;
|
|
1025
|
+
}, z.core.$strip>], "type">;
|
|
1026
|
+
type TextSelector = z.infer<typeof TextSelectorSchema>;
|
|
1027
|
+
declare const AnimatableGlyphPropsSchema: z.ZodObject<{
|
|
1028
|
+
x: z.ZodOptional<z.ZodNumber>;
|
|
1029
|
+
y: z.ZodOptional<z.ZodNumber>;
|
|
1030
|
+
z: z.ZodOptional<z.ZodNumber>;
|
|
1031
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
1032
|
+
scaleX: z.ZodOptional<z.ZodNumber>;
|
|
1033
|
+
scaleY: z.ZodOptional<z.ZodNumber>;
|
|
1034
|
+
rotation: z.ZodOptional<z.ZodNumber>;
|
|
1035
|
+
rotationX: z.ZodOptional<z.ZodNumber>;
|
|
1036
|
+
rotationY: z.ZodOptional<z.ZodNumber>;
|
|
1037
|
+
skew: z.ZodOptional<z.ZodNumber>;
|
|
1038
|
+
skewAxis: z.ZodOptional<z.ZodNumber>;
|
|
1039
|
+
tracking: z.ZodOptional<z.ZodNumber>;
|
|
1040
|
+
lineSpacing: z.ZodOptional<z.ZodNumber>;
|
|
1041
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
1042
|
+
fillColor: z.ZodOptional<z.ZodString>;
|
|
1043
|
+
strokeColor: z.ZodOptional<z.ZodString>;
|
|
1044
|
+
strokeWidth: z.ZodOptional<z.ZodNumber>;
|
|
1045
|
+
blur: z.ZodOptional<z.ZodNumber>;
|
|
1046
|
+
characterOffset: z.ZodOptional<z.ZodNumber>;
|
|
1047
|
+
}, z.core.$strip>;
|
|
1048
|
+
type AnimatableGlyphProps = z.infer<typeof AnimatableGlyphPropsSchema>;
|
|
1049
|
+
declare const GlyphAnchorGroupingSchema: z.ZodEnum<{
|
|
1050
|
+
character: "character";
|
|
1051
|
+
word: "word";
|
|
1052
|
+
line: "line";
|
|
1053
|
+
all: "all";
|
|
1054
|
+
}>;
|
|
1055
|
+
type GlyphAnchorGrouping = z.infer<typeof GlyphAnchorGroupingSchema>;
|
|
1056
|
+
declare const GlyphAnchorPointSchema: z.ZodObject<{
|
|
1057
|
+
grouping: z.ZodDefault<z.ZodEnum<{
|
|
1058
|
+
character: "character";
|
|
1059
|
+
word: "word";
|
|
1060
|
+
line: "line";
|
|
1061
|
+
all: "all";
|
|
1062
|
+
}>>;
|
|
1063
|
+
anchorX: z.ZodDefault<z.ZodNumber>;
|
|
1064
|
+
anchorY: z.ZodDefault<z.ZodNumber>;
|
|
1065
|
+
}, z.core.$strip>;
|
|
1066
|
+
type GlyphAnchorPoint = z.infer<typeof GlyphAnchorPointSchema>;
|
|
1067
|
+
declare const AETextAnimatorSchema: z.ZodObject<{
|
|
1068
|
+
name: z.ZodDefault<z.ZodString>;
|
|
1069
|
+
selectors: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1070
|
+
type: z.ZodLiteral<"range">;
|
|
1071
|
+
start: z.ZodDefault<z.ZodNumber>;
|
|
1072
|
+
end: z.ZodDefault<z.ZodNumber>;
|
|
1073
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
1074
|
+
units: z.ZodDefault<z.ZodEnum<{
|
|
1075
|
+
percentage: "percentage";
|
|
1076
|
+
index: "index";
|
|
1077
|
+
}>>;
|
|
1078
|
+
basedOn: z.ZodDefault<z.ZodEnum<{
|
|
1079
|
+
characters: "characters";
|
|
1080
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
1081
|
+
words: "words";
|
|
1082
|
+
lines: "lines";
|
|
1083
|
+
}>>;
|
|
1084
|
+
shape: z.ZodDefault<z.ZodEnum<{
|
|
1085
|
+
round: "round";
|
|
1086
|
+
square: "square";
|
|
1087
|
+
ramp_up: "ramp_up";
|
|
1088
|
+
ramp_down: "ramp_down";
|
|
1089
|
+
triangle: "triangle";
|
|
1090
|
+
smooth: "smooth";
|
|
1091
|
+
}>>;
|
|
1092
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
1093
|
+
difference: "difference";
|
|
1094
|
+
add: "add";
|
|
1095
|
+
subtract: "subtract";
|
|
1096
|
+
intersect: "intersect";
|
|
1097
|
+
min: "min";
|
|
1098
|
+
max: "max";
|
|
1099
|
+
}>>;
|
|
1100
|
+
amount: z.ZodDefault<z.ZodNumber>;
|
|
1101
|
+
easeHigh: z.ZodDefault<z.ZodNumber>;
|
|
1102
|
+
easeLow: z.ZodDefault<z.ZodNumber>;
|
|
1103
|
+
randomizeOrder: z.ZodDefault<z.ZodBoolean>;
|
|
1104
|
+
randomSeed: z.ZodDefault<z.ZodNumber>;
|
|
1105
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1106
|
+
type: z.ZodLiteral<"wiggly">;
|
|
1107
|
+
wigglesPerSecond: z.ZodDefault<z.ZodNumber>;
|
|
1108
|
+
correlation: z.ZodDefault<z.ZodNumber>;
|
|
1109
|
+
temporalPhaseDeg: z.ZodDefault<z.ZodNumber>;
|
|
1110
|
+
spatialPhaseDeg: z.ZodDefault<z.ZodNumber>;
|
|
1111
|
+
minAmount: z.ZodDefault<z.ZodNumber>;
|
|
1112
|
+
maxAmount: z.ZodDefault<z.ZodNumber>;
|
|
1113
|
+
randomSeed: z.ZodDefault<z.ZodNumber>;
|
|
1114
|
+
basedOn: z.ZodDefault<z.ZodEnum<{
|
|
1115
|
+
characters: "characters";
|
|
1116
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
1117
|
+
words: "words";
|
|
1118
|
+
lines: "lines";
|
|
1119
|
+
}>>;
|
|
1120
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
1121
|
+
difference: "difference";
|
|
1122
|
+
add: "add";
|
|
1123
|
+
subtract: "subtract";
|
|
1124
|
+
intersect: "intersect";
|
|
1125
|
+
min: "min";
|
|
1126
|
+
max: "max";
|
|
1127
|
+
}>>;
|
|
1128
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1129
|
+
type: z.ZodLiteral<"signal">;
|
|
1130
|
+
signalId: z.ZodString;
|
|
1131
|
+
multiplier: z.ZodDefault<z.ZodNumber>;
|
|
1132
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
1133
|
+
phaseSpread: z.ZodDefault<z.ZodNumber>;
|
|
1134
|
+
basedOn: z.ZodDefault<z.ZodEnum<{
|
|
1135
|
+
characters: "characters";
|
|
1136
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
1137
|
+
words: "words";
|
|
1138
|
+
lines: "lines";
|
|
1139
|
+
}>>;
|
|
1140
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
1141
|
+
difference: "difference";
|
|
1142
|
+
add: "add";
|
|
1143
|
+
subtract: "subtract";
|
|
1144
|
+
intersect: "intersect";
|
|
1145
|
+
min: "min";
|
|
1146
|
+
max: "max";
|
|
1147
|
+
}>>;
|
|
1148
|
+
}, z.core.$strip>], "type">>;
|
|
1149
|
+
props: z.ZodObject<{
|
|
1150
|
+
x: z.ZodOptional<z.ZodNumber>;
|
|
1151
|
+
y: z.ZodOptional<z.ZodNumber>;
|
|
1152
|
+
z: z.ZodOptional<z.ZodNumber>;
|
|
1153
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
1154
|
+
scaleX: z.ZodOptional<z.ZodNumber>;
|
|
1155
|
+
scaleY: z.ZodOptional<z.ZodNumber>;
|
|
1156
|
+
rotation: z.ZodOptional<z.ZodNumber>;
|
|
1157
|
+
rotationX: z.ZodOptional<z.ZodNumber>;
|
|
1158
|
+
rotationY: z.ZodOptional<z.ZodNumber>;
|
|
1159
|
+
skew: z.ZodOptional<z.ZodNumber>;
|
|
1160
|
+
skewAxis: z.ZodOptional<z.ZodNumber>;
|
|
1161
|
+
tracking: z.ZodOptional<z.ZodNumber>;
|
|
1162
|
+
lineSpacing: z.ZodOptional<z.ZodNumber>;
|
|
1163
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
1164
|
+
fillColor: z.ZodOptional<z.ZodString>;
|
|
1165
|
+
strokeColor: z.ZodOptional<z.ZodString>;
|
|
1166
|
+
strokeWidth: z.ZodOptional<z.ZodNumber>;
|
|
1167
|
+
blur: z.ZodOptional<z.ZodNumber>;
|
|
1168
|
+
characterOffset: z.ZodOptional<z.ZodNumber>;
|
|
1169
|
+
}, z.core.$strip>;
|
|
1170
|
+
anchor: z.ZodDefault<z.ZodObject<{
|
|
1171
|
+
grouping: z.ZodDefault<z.ZodEnum<{
|
|
1172
|
+
character: "character";
|
|
1173
|
+
word: "word";
|
|
1174
|
+
line: "line";
|
|
1175
|
+
all: "all";
|
|
1176
|
+
}>>;
|
|
1177
|
+
anchorX: z.ZodDefault<z.ZodNumber>;
|
|
1178
|
+
anchorY: z.ZodDefault<z.ZodNumber>;
|
|
1179
|
+
}, z.core.$strip>>;
|
|
1180
|
+
}, z.core.$strip>;
|
|
1181
|
+
type AETextAnimator = z.infer<typeof AETextAnimatorSchema>;
|
|
1182
|
+
declare const EnhancedTextNodeSchema: z.ZodObject<{
|
|
1183
|
+
text: z.ZodString;
|
|
1184
|
+
fontFamily: z.ZodDefault<z.ZodString>;
|
|
1185
|
+
fontSize: z.ZodDefault<z.ZodNumber>;
|
|
1186
|
+
fontWeight: z.ZodDefault<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
1187
|
+
fill: z.ZodDefault<z.ZodString>;
|
|
1188
|
+
letterSpacing: z.ZodDefault<z.ZodNumber>;
|
|
1189
|
+
lineHeight: z.ZodDefault<z.ZodNumber>;
|
|
1190
|
+
textAlign: z.ZodDefault<z.ZodEnum<{
|
|
1191
|
+
center: "center";
|
|
1192
|
+
left: "left";
|
|
1193
|
+
right: "right";
|
|
1194
|
+
}>>;
|
|
1195
|
+
pathOptions: z.ZodOptional<z.ZodObject<{
|
|
1196
|
+
path: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1197
|
+
type: z.ZodLiteral<"svg">;
|
|
1198
|
+
d: z.ZodString;
|
|
1199
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1200
|
+
type: z.ZodLiteral<"bezier">;
|
|
1201
|
+
segments: z.ZodArray<z.ZodObject<{
|
|
1202
|
+
p0: z.ZodObject<{
|
|
1203
|
+
x: z.ZodNumber;
|
|
1204
|
+
y: z.ZodNumber;
|
|
1205
|
+
}, z.core.$strip>;
|
|
1206
|
+
p1: z.ZodObject<{
|
|
1207
|
+
x: z.ZodNumber;
|
|
1208
|
+
y: z.ZodNumber;
|
|
1209
|
+
}, z.core.$strip>;
|
|
1210
|
+
p2: z.ZodObject<{
|
|
1211
|
+
x: z.ZodNumber;
|
|
1212
|
+
y: z.ZodNumber;
|
|
1213
|
+
}, z.core.$strip>;
|
|
1214
|
+
p3: z.ZodObject<{
|
|
1215
|
+
x: z.ZodNumber;
|
|
1216
|
+
y: z.ZodNumber;
|
|
1217
|
+
}, z.core.$strip>;
|
|
1218
|
+
}, z.core.$strip>>;
|
|
1219
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1220
|
+
type: z.ZodLiteral<"ellipse">;
|
|
1221
|
+
cx: z.ZodNumber;
|
|
1222
|
+
cy: z.ZodNumber;
|
|
1223
|
+
rx: z.ZodNumber;
|
|
1224
|
+
ry: z.ZodNumber;
|
|
1225
|
+
startAngleDeg: z.ZodDefault<z.ZodNumber>;
|
|
1226
|
+
endAngleDeg: z.ZodDefault<z.ZodNumber>;
|
|
1227
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1228
|
+
type: z.ZodLiteral<"wave">;
|
|
1229
|
+
startX: z.ZodNumber;
|
|
1230
|
+
startY: z.ZodNumber;
|
|
1231
|
+
length: z.ZodNumber;
|
|
1232
|
+
amplitude: z.ZodNumber;
|
|
1233
|
+
frequency: z.ZodNumber;
|
|
1234
|
+
phaseDeg: z.ZodDefault<z.ZodNumber>;
|
|
1235
|
+
}, z.core.$strip>], "type">;
|
|
1236
|
+
firstMargin: z.ZodDefault<z.ZodNumber>;
|
|
1237
|
+
lastMargin: z.ZodDefault<z.ZodNumber>;
|
|
1238
|
+
reversePath: z.ZodDefault<z.ZodBoolean>;
|
|
1239
|
+
perpendicularToPath: z.ZodDefault<z.ZodBoolean>;
|
|
1240
|
+
forceAlignment: z.ZodDefault<z.ZodBoolean>;
|
|
1241
|
+
loop: z.ZodDefault<z.ZodBoolean>;
|
|
1242
|
+
baselineOffset: z.ZodDefault<z.ZodEnum<{
|
|
1243
|
+
center: "center";
|
|
1244
|
+
baseline: "baseline";
|
|
1245
|
+
ascender: "ascender";
|
|
1246
|
+
descender: "descender";
|
|
1247
|
+
}>>;
|
|
1248
|
+
baselineShift: z.ZodDefault<z.ZodNumber>;
|
|
1249
|
+
}, z.core.$strip>>;
|
|
1250
|
+
typewriter: z.ZodOptional<z.ZodObject<{
|
|
1251
|
+
granularity: z.ZodDefault<z.ZodEnum<{
|
|
1252
|
+
character: "character";
|
|
1253
|
+
word: "word";
|
|
1254
|
+
line: "line";
|
|
1255
|
+
}>>;
|
|
1256
|
+
cursor: z.ZodDefault<z.ZodObject<{
|
|
1257
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1258
|
+
style: z.ZodDefault<z.ZodEnum<{
|
|
1259
|
+
custom: "custom";
|
|
1260
|
+
bar: "bar";
|
|
1261
|
+
underscore: "underscore";
|
|
1262
|
+
block: "block";
|
|
1263
|
+
}>>;
|
|
1264
|
+
customChar: z.ZodDefault<z.ZodString>;
|
|
1265
|
+
color: z.ZodOptional<z.ZodString>;
|
|
1266
|
+
blinkFrequency: z.ZodDefault<z.ZodNumber>;
|
|
1267
|
+
hideOnComplete: z.ZodDefault<z.ZodBoolean>;
|
|
1268
|
+
width: z.ZodDefault<z.ZodNumber>;
|
|
1269
|
+
spacing: z.ZodDefault<z.ZodNumber>;
|
|
1270
|
+
}, z.core.$strip>>;
|
|
1271
|
+
cadence: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1272
|
+
mode: z.ZodLiteral<"constant">;
|
|
1273
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1274
|
+
mode: z.ZodLiteral<"human">;
|
|
1275
|
+
jitter: z.ZodDefault<z.ZodNumber>;
|
|
1276
|
+
commaPauseMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
1277
|
+
sentencePauseMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
1278
|
+
paragraphPauseMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
1279
|
+
}, z.core.$strip>], "mode">>;
|
|
1280
|
+
scramble: z.ZodDefault<z.ZodObject<{
|
|
1281
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1282
|
+
charset: z.ZodDefault<z.ZodEnum<{
|
|
1283
|
+
custom: "custom";
|
|
1284
|
+
ascii: "ascii";
|
|
1285
|
+
alphanumeric: "alphanumeric";
|
|
1286
|
+
matrix: "matrix";
|
|
1287
|
+
binary: "binary";
|
|
1288
|
+
hex: "hex";
|
|
1289
|
+
}>>;
|
|
1290
|
+
customCharset: z.ZodOptional<z.ZodString>;
|
|
1291
|
+
scrambleFramesPerChar: z.ZodDefault<z.ZodNumber>;
|
|
1292
|
+
highlightProbability: z.ZodDefault<z.ZodNumber>;
|
|
1293
|
+
scrambleColor: z.ZodOptional<z.ZodString>;
|
|
1294
|
+
}, z.core.$strip>>;
|
|
1295
|
+
soundSync: z.ZodDefault<z.ZodBoolean>;
|
|
1296
|
+
}, z.core.$strip>>;
|
|
1297
|
+
animators: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1298
|
+
name: z.ZodDefault<z.ZodString>;
|
|
1299
|
+
selectors: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1300
|
+
type: z.ZodLiteral<"range">;
|
|
1301
|
+
start: z.ZodDefault<z.ZodNumber>;
|
|
1302
|
+
end: z.ZodDefault<z.ZodNumber>;
|
|
1303
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
1304
|
+
units: z.ZodDefault<z.ZodEnum<{
|
|
1305
|
+
percentage: "percentage";
|
|
1306
|
+
index: "index";
|
|
1307
|
+
}>>;
|
|
1308
|
+
basedOn: z.ZodDefault<z.ZodEnum<{
|
|
1309
|
+
characters: "characters";
|
|
1310
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
1311
|
+
words: "words";
|
|
1312
|
+
lines: "lines";
|
|
1313
|
+
}>>;
|
|
1314
|
+
shape: z.ZodDefault<z.ZodEnum<{
|
|
1315
|
+
round: "round";
|
|
1316
|
+
square: "square";
|
|
1317
|
+
ramp_up: "ramp_up";
|
|
1318
|
+
ramp_down: "ramp_down";
|
|
1319
|
+
triangle: "triangle";
|
|
1320
|
+
smooth: "smooth";
|
|
1321
|
+
}>>;
|
|
1322
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
1323
|
+
difference: "difference";
|
|
1324
|
+
add: "add";
|
|
1325
|
+
subtract: "subtract";
|
|
1326
|
+
intersect: "intersect";
|
|
1327
|
+
min: "min";
|
|
1328
|
+
max: "max";
|
|
1329
|
+
}>>;
|
|
1330
|
+
amount: z.ZodDefault<z.ZodNumber>;
|
|
1331
|
+
easeHigh: z.ZodDefault<z.ZodNumber>;
|
|
1332
|
+
easeLow: z.ZodDefault<z.ZodNumber>;
|
|
1333
|
+
randomizeOrder: z.ZodDefault<z.ZodBoolean>;
|
|
1334
|
+
randomSeed: z.ZodDefault<z.ZodNumber>;
|
|
1335
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1336
|
+
type: z.ZodLiteral<"wiggly">;
|
|
1337
|
+
wigglesPerSecond: z.ZodDefault<z.ZodNumber>;
|
|
1338
|
+
correlation: z.ZodDefault<z.ZodNumber>;
|
|
1339
|
+
temporalPhaseDeg: z.ZodDefault<z.ZodNumber>;
|
|
1340
|
+
spatialPhaseDeg: z.ZodDefault<z.ZodNumber>;
|
|
1341
|
+
minAmount: z.ZodDefault<z.ZodNumber>;
|
|
1342
|
+
maxAmount: z.ZodDefault<z.ZodNumber>;
|
|
1343
|
+
randomSeed: z.ZodDefault<z.ZodNumber>;
|
|
1344
|
+
basedOn: z.ZodDefault<z.ZodEnum<{
|
|
1345
|
+
characters: "characters";
|
|
1346
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
1347
|
+
words: "words";
|
|
1348
|
+
lines: "lines";
|
|
1349
|
+
}>>;
|
|
1350
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
1351
|
+
difference: "difference";
|
|
1352
|
+
add: "add";
|
|
1353
|
+
subtract: "subtract";
|
|
1354
|
+
intersect: "intersect";
|
|
1355
|
+
min: "min";
|
|
1356
|
+
max: "max";
|
|
1357
|
+
}>>;
|
|
1358
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1359
|
+
type: z.ZodLiteral<"signal">;
|
|
1360
|
+
signalId: z.ZodString;
|
|
1361
|
+
multiplier: z.ZodDefault<z.ZodNumber>;
|
|
1362
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
1363
|
+
phaseSpread: z.ZodDefault<z.ZodNumber>;
|
|
1364
|
+
basedOn: z.ZodDefault<z.ZodEnum<{
|
|
1365
|
+
characters: "characters";
|
|
1366
|
+
characters_excluding_spaces: "characters_excluding_spaces";
|
|
1367
|
+
words: "words";
|
|
1368
|
+
lines: "lines";
|
|
1369
|
+
}>>;
|
|
1370
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
1371
|
+
difference: "difference";
|
|
1372
|
+
add: "add";
|
|
1373
|
+
subtract: "subtract";
|
|
1374
|
+
intersect: "intersect";
|
|
1375
|
+
min: "min";
|
|
1376
|
+
max: "max";
|
|
1377
|
+
}>>;
|
|
1378
|
+
}, z.core.$strip>], "type">>;
|
|
1379
|
+
props: z.ZodObject<{
|
|
1380
|
+
x: z.ZodOptional<z.ZodNumber>;
|
|
1381
|
+
y: z.ZodOptional<z.ZodNumber>;
|
|
1382
|
+
z: z.ZodOptional<z.ZodNumber>;
|
|
1383
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
1384
|
+
scaleX: z.ZodOptional<z.ZodNumber>;
|
|
1385
|
+
scaleY: z.ZodOptional<z.ZodNumber>;
|
|
1386
|
+
rotation: z.ZodOptional<z.ZodNumber>;
|
|
1387
|
+
rotationX: z.ZodOptional<z.ZodNumber>;
|
|
1388
|
+
rotationY: z.ZodOptional<z.ZodNumber>;
|
|
1389
|
+
skew: z.ZodOptional<z.ZodNumber>;
|
|
1390
|
+
skewAxis: z.ZodOptional<z.ZodNumber>;
|
|
1391
|
+
tracking: z.ZodOptional<z.ZodNumber>;
|
|
1392
|
+
lineSpacing: z.ZodOptional<z.ZodNumber>;
|
|
1393
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
1394
|
+
fillColor: z.ZodOptional<z.ZodString>;
|
|
1395
|
+
strokeColor: z.ZodOptional<z.ZodString>;
|
|
1396
|
+
strokeWidth: z.ZodOptional<z.ZodNumber>;
|
|
1397
|
+
blur: z.ZodOptional<z.ZodNumber>;
|
|
1398
|
+
characterOffset: z.ZodOptional<z.ZodNumber>;
|
|
1399
|
+
}, z.core.$strip>;
|
|
1400
|
+
anchor: z.ZodDefault<z.ZodObject<{
|
|
1401
|
+
grouping: z.ZodDefault<z.ZodEnum<{
|
|
1402
|
+
character: "character";
|
|
1403
|
+
word: "word";
|
|
1404
|
+
line: "line";
|
|
1405
|
+
all: "all";
|
|
1406
|
+
}>>;
|
|
1407
|
+
anchorX: z.ZodDefault<z.ZodNumber>;
|
|
1408
|
+
anchorY: z.ZodDefault<z.ZodNumber>;
|
|
1409
|
+
}, z.core.$strip>>;
|
|
1410
|
+
}, z.core.$strip>>>;
|
|
1411
|
+
}, z.core.$strip>;
|
|
1412
|
+
type EnhancedTextNode = z.infer<typeof EnhancedTextNodeSchema>;
|
|
1413
|
+
//#endregion
|
|
1414
|
+
//#region src/program/text-animations/builder.d.ts
|
|
1415
|
+
/**
|
|
1416
|
+
* Fluent builder for creating Path-Following Text configurations.
|
|
1417
|
+
*/
|
|
1418
|
+
declare class TextPathBuilder {
|
|
1419
|
+
private options;
|
|
1420
|
+
static fromSvg(svgPath: string): TextPathBuilder;
|
|
1421
|
+
static fromBezier(segments: CubicBezierSegment[]): TextPathBuilder;
|
|
1422
|
+
static fromCurve(curve: CubicBezierSegment): TextPathBuilder;
|
|
1423
|
+
static circularBadge(cx: number, cy: number, radius: number): TextPathBuilder;
|
|
1424
|
+
static ellipse(cx: number, cy: number, rx: number, ry: number, startAngleDeg?: number, endAngleDeg?: number): TextPathBuilder;
|
|
1425
|
+
static wave(startX: number, startY: number, length: number, amplitude: number, frequency: number, phaseDeg?: number): TextPathBuilder;
|
|
1426
|
+
firstMargin(margin: number): this;
|
|
1427
|
+
lastMargin(margin: number): this;
|
|
1428
|
+
reversePath(reverse: boolean): this;
|
|
1429
|
+
perpendicularToPath(perpendicular: boolean): this;
|
|
1430
|
+
forceAlignment(force: boolean): this;
|
|
1431
|
+
loop(isLoop: boolean): this;
|
|
1432
|
+
baselineOffset(offset: "baseline" | "center" | "ascender" | "descender"): this;
|
|
1433
|
+
baselineShift(shiftPixels: number): this;
|
|
1434
|
+
build(): TextPathOptions;
|
|
1435
|
+
}
|
|
1436
|
+
/**
|
|
1437
|
+
* Fluent builder for After Effects Range, Wiggly, and Signal Animators.
|
|
1438
|
+
*/
|
|
1439
|
+
declare class TextAnimatorBuilder {
|
|
1440
|
+
private name;
|
|
1441
|
+
private selectors;
|
|
1442
|
+
private props;
|
|
1443
|
+
private anchor;
|
|
1444
|
+
static create(name: string): TextAnimatorBuilder;
|
|
1445
|
+
/** Adds an After Effects Range Selector */
|
|
1446
|
+
addRangeSelector(config: {
|
|
1447
|
+
start?: number;
|
|
1448
|
+
end?: number;
|
|
1449
|
+
offset?: number;
|
|
1450
|
+
shape?: SelectorShape;
|
|
1451
|
+
basedOn?: SelectorBasedOn;
|
|
1452
|
+
mode?: SelectorMode;
|
|
1453
|
+
easeHigh?: number;
|
|
1454
|
+
easeLow?: number;
|
|
1455
|
+
randomizeOrder?: boolean;
|
|
1456
|
+
randomSeed?: number;
|
|
1457
|
+
}): this;
|
|
1458
|
+
/** Adds an After Effects Wiggly Selector for procedural organic flutter */
|
|
1459
|
+
addWigglySelector(config: {
|
|
1460
|
+
wigglesPerSecond?: number;
|
|
1461
|
+
correlation?: number;
|
|
1462
|
+
minAmount?: number;
|
|
1463
|
+
maxAmount?: number;
|
|
1464
|
+
randomSeed?: number;
|
|
1465
|
+
mode?: SelectorMode;
|
|
1466
|
+
}): this;
|
|
1467
|
+
/** Adds a reactive signal selector */
|
|
1468
|
+
addSignalSelector(signalId: string, multiplier?: number, phaseSpread?: number, offset?: number, mode?: SelectorMode): this;
|
|
1469
|
+
x(pixels: number): this;
|
|
1470
|
+
y(pixels: number): this;
|
|
1471
|
+
z(pixels: number): this;
|
|
1472
|
+
scale(scaleValue: number): this;
|
|
1473
|
+
scaleX(scaleValue: number): this;
|
|
1474
|
+
scaleY(scaleValue: number): this;
|
|
1475
|
+
rotation(degrees: number): this;
|
|
1476
|
+
rotationX(degrees: number): this;
|
|
1477
|
+
rotationY(degrees: number): this;
|
|
1478
|
+
skew(degrees: number): this;
|
|
1479
|
+
skewAxis(degrees: number): this;
|
|
1480
|
+
opacity(value: number): this;
|
|
1481
|
+
blur(pixels: number): this;
|
|
1482
|
+
fill(colorHex: string): this;
|
|
1483
|
+
fillColor(colorHex: string): this;
|
|
1484
|
+
strokeColor(colorHex: string): this;
|
|
1485
|
+
strokeWidth(pixels: number): this;
|
|
1486
|
+
tracking(spacingPixels: number): this;
|
|
1487
|
+
lineSpacing(spacingPixels: number): this;
|
|
1488
|
+
characterOffset(offset: number): this;
|
|
1489
|
+
anchorGrouping(grouping: GlyphAnchorGrouping, anchorX?: number, anchorY?: number): this;
|
|
1490
|
+
build(): AETextAnimator;
|
|
1491
|
+
}
|
|
1492
|
+
//#endregion
|
|
1493
|
+
//#region src/program/text-animations/math.d.ts
|
|
1494
|
+
/**
|
|
1495
|
+
* Evaluates closed-form underdamped harmonic oscillator for spring physics:
|
|
1496
|
+
*
|
|
1497
|
+
* x(t) = target + (x0 - target) * exp(-zeta * omega_n * t) *
|
|
1498
|
+
* [ cos(omega_d * t) + (zeta / sqrt(1 - zeta^2)) * sin(omega_d * t) ]
|
|
1499
|
+
*
|
|
1500
|
+
* @param t Time in seconds since excitation
|
|
1501
|
+
* @param stiffness Spring stiffness (k)
|
|
1502
|
+
* @param damping Damping coefficient (c)
|
|
1503
|
+
* @param mass Mass of glyph (m)
|
|
1504
|
+
* @param initialVelocity Initial velocity (v0)
|
|
1505
|
+
* @returns Settled scalar progress in [0, 1] with overshoot
|
|
1506
|
+
*/
|
|
1507
|
+
declare function evaluateSpringProgress(t: number, stiffness?: number, damping?: number, mass?: number, initialVelocity?: number): number;
|
|
1508
|
+
/**
|
|
1509
|
+
* Evaluates 2D Directional Skew matrix components:
|
|
1510
|
+
*
|
|
1511
|
+
* S(theta, phi) = R(phi) * [ 1 tan(theta) ] * R(-phi)
|
|
1512
|
+
* [ 0 1 ]
|
|
1513
|
+
*
|
|
1514
|
+
* @param skewDeg Skew angle in degrees
|
|
1515
|
+
* @param skewAxisDeg Skew axis in degrees
|
|
1516
|
+
* @returns 2x2 affine shear matrix components [m00, m01, m10, m11]
|
|
1517
|
+
*/
|
|
1518
|
+
declare function evaluateSkewMatrix(skewDeg: number, skewAxisDeg?: number): [number, number, number, number];
|
|
1519
|
+
/**
|
|
1520
|
+
* Computes anchor pivot coordinates relative to glyph bounding box:
|
|
1521
|
+
*
|
|
1522
|
+
* @param bbox Glyph bounding box { width, height, ascender, descender }
|
|
1523
|
+
* @param config Text anchor configuration
|
|
1524
|
+
* @returns Pivot offset (px, py) relative to glyph quad center
|
|
1525
|
+
*/
|
|
1526
|
+
declare function computeAnchorPivotOffset(bbox: {
|
|
1527
|
+
width: number;
|
|
1528
|
+
height: number;
|
|
1529
|
+
ascender: number;
|
|
1530
|
+
descender: number;
|
|
1531
|
+
}, config: TextAnchorConfig): {
|
|
1532
|
+
px: number;
|
|
1533
|
+
py: number;
|
|
1534
|
+
};
|
|
1535
|
+
/**
|
|
1536
|
+
* Computes leading displacement per line based on lineAnchor:
|
|
1537
|
+
*
|
|
1538
|
+
* @param lineIndex 0-based index of current line
|
|
1539
|
+
* @param lineCount Total lines in paragraph
|
|
1540
|
+
* @param lineSpacing Additional leading in pixels
|
|
1541
|
+
* @param lineAnchor Pivot line anchor in [0, 1]
|
|
1542
|
+
* @returns Y displacement in pixels
|
|
1543
|
+
*/
|
|
1544
|
+
declare function computeLineLeadingDisplacement(lineIndex: number, lineCount: number, lineSpacing: number, lineAnchor?: number): number;
|
|
1545
|
+
/**
|
|
1546
|
+
* Evaluates an Expression Selector formula safely in a sandboxed numeric scope.
|
|
1547
|
+
*
|
|
1548
|
+
* @param expression Formula string (e.g. "Math.sin(time * 4 + textIndex * 0.2)")
|
|
1549
|
+
* @param ctx Glyph evaluation context
|
|
1550
|
+
* @returns Numeric selector weight clamped to [-1, 1]
|
|
1551
|
+
*/
|
|
1552
|
+
declare function evaluateExpressionSelector(expression: string, ctx: ExpressionEvaluationContext): number;
|
|
1553
|
+
/**
|
|
1554
|
+
* 3D Volumetric arrangement transformation output.
|
|
1555
|
+
*/
|
|
1556
|
+
interface Volumetric3DTransform {
|
|
1557
|
+
x: number;
|
|
1558
|
+
y: number;
|
|
1559
|
+
z: number;
|
|
1560
|
+
rotX: number;
|
|
1561
|
+
rotY: number;
|
|
1562
|
+
rotZ: number;
|
|
1563
|
+
scaleMult: number;
|
|
1564
|
+
depthOpacity?: number;
|
|
1565
|
+
}
|
|
1566
|
+
/**
|
|
1567
|
+
* Evaluates 3D Volumetric Formation parametric coordinates.
|
|
1568
|
+
*/
|
|
1569
|
+
declare function evaluateVolumetricFormation(glyphIndex: number, totalGlyphs: number, config: VolumetricFormationConfig): Volumetric3DTransform;
|
|
1570
|
+
/**
|
|
1571
|
+
* Evaluates infinite kinetic marquee translation and snapping.
|
|
1572
|
+
*/
|
|
1573
|
+
declare function evaluateMarqueeOffset(baseX: number, containerWidth: number, contentWidth: number, config: KineticMarqueeConfig, elapsedSec: number): number;
|
|
1574
|
+
/**
|
|
1575
|
+
* Samples audio FFT frequency bin and computes scale factor for Audio Spectrum Typography.
|
|
1576
|
+
*/
|
|
1577
|
+
declare function sampleAudioSpectrumScale(glyphIndex: number, totalGlyphs: number, config: AudioSpectrumTypography, signals: Record<string, unknown> | undefined, frame: number, fps: number): number;
|
|
1578
|
+
//#endregion
|
|
1579
|
+
//#region src/program/text-animations/path.d.ts
|
|
1580
|
+
interface ArcLengthLUTEntry {
|
|
1581
|
+
distance: number;
|
|
1582
|
+
t: number;
|
|
1583
|
+
}
|
|
1584
|
+
interface PathChainLUTEntry {
|
|
1585
|
+
distance: number;
|
|
1586
|
+
segmentIndex: number;
|
|
1587
|
+
t: number;
|
|
1588
|
+
}
|
|
1589
|
+
interface PathSegmentLUT {
|
|
1590
|
+
segmentIndex: number;
|
|
1591
|
+
startDistance: number;
|
|
1592
|
+
length: number;
|
|
1593
|
+
lut: ArcLengthLUTEntry[];
|
|
1594
|
+
}
|
|
1595
|
+
interface PathChainLUT {
|
|
1596
|
+
totalLength: number;
|
|
1597
|
+
entries: PathChainLUTEntry[];
|
|
1598
|
+
segments?: PathSegmentLUT[];
|
|
1599
|
+
}
|
|
1600
|
+
/**
|
|
1601
|
+
* Evaluates a point on a cubic Bezier curve at parameter t in [0, 1].
|
|
1602
|
+
*/
|
|
1603
|
+
declare function evaluateCubicBezier(segment: CubicBezierSegment, t: number): Vec2;
|
|
1604
|
+
/**
|
|
1605
|
+
* Evaluates the first derivative (tangent velocity vector) of a cubic Bezier curve at parameter t.
|
|
1606
|
+
*/
|
|
1607
|
+
declare function evaluateCubicBezierDerivative(segment: CubicBezierSegment, t: number): Vec2;
|
|
1608
|
+
/**
|
|
1609
|
+
* Generates an arc-length parameterization lookup table (LUT) for a cubic Bezier segment.
|
|
1610
|
+
* Ensures glyphs travel with uniform speed and do not bunch up on tight curve bends.
|
|
1611
|
+
*/
|
|
1612
|
+
declare function generateArcLengthLUT(segment: CubicBezierSegment, samples?: number): {
|
|
1613
|
+
lut: ArcLengthLUTEntry[];
|
|
1614
|
+
totalLength: number;
|
|
1615
|
+
};
|
|
1616
|
+
/**
|
|
1617
|
+
* Maps a distance along the curve (in pixels) to normalized curve parameter t via binary search on the LUT.
|
|
1618
|
+
*/
|
|
1619
|
+
declare function distanceToCurveParameter(lut: ArcLengthLUTEntry[], distance: number, totalLength: number): number;
|
|
1620
|
+
/**
|
|
1621
|
+
* Samples position and baseline tangent orientation angle along a curve at distance `dist`.
|
|
1622
|
+
*/
|
|
1623
|
+
declare function sampleCurveGeometry(segment: CubicBezierSegment, lut: ArcLengthLUTEntry[], totalLength: number, distance: number): {
|
|
1624
|
+
position: Vec2;
|
|
1625
|
+
tangentAngleDeg: number;
|
|
1626
|
+
normal: Vec2;
|
|
1627
|
+
};
|
|
1628
|
+
/**
|
|
1629
|
+
* Builds a cumulative Arc-Length LUT across a chain of Cubic Bezier segments.
|
|
1630
|
+
*/
|
|
1631
|
+
declare function buildPathLUT(segments: CubicBezierSegment[], samplesPerSegment?: number): PathChainLUT;
|
|
1632
|
+
/**
|
|
1633
|
+
* Samples position, tangent angle, and normal across a chain of Cubic Bezier segments.
|
|
1634
|
+
*/
|
|
1635
|
+
declare function samplePathChainGeometry(segments: CubicBezierSegment[], chainLUT: PathChainLUT, distance: number): {
|
|
1636
|
+
position: Vec2;
|
|
1637
|
+
tangentAngleDeg: number;
|
|
1638
|
+
normal: Vec2;
|
|
1639
|
+
};
|
|
1640
|
+
/**
|
|
1641
|
+
* Converts an ellipse arc into cubic Bezier segments (up to 90 degrees per segment).
|
|
1642
|
+
*/
|
|
1643
|
+
declare function ellipseToCubicBeziers(cx: number, cy: number, rx: number, ry: number, startAngleDeg?: number, endAngleDeg?: number): CubicBezierSegment[];
|
|
1644
|
+
/**
|
|
1645
|
+
* Converts a sinusoidal wave into cubic Bezier segments per half-cycle.
|
|
1646
|
+
*/
|
|
1647
|
+
declare function waveToCubicBeziers(startX: number, startY: number, length: number, amplitude: number, frequency: number, phaseDeg?: number): CubicBezierSegment[];
|
|
1648
|
+
/**
|
|
1649
|
+
* An SVG elliptical arc (endpoint form, SVG 1.1 F.6.5) as cubic Bezier
|
|
1650
|
+
* segments of at most 90° each.
|
|
1651
|
+
*/
|
|
1652
|
+
|
|
1653
|
+
/**
|
|
1654
|
+
* Converts SVG path data string into a chain of Cubic Bezier segments.
|
|
1655
|
+
*/
|
|
1656
|
+
declare function parseSvgPathToCubicBeziers(d: string): CubicBezierSegment[];
|
|
1657
|
+
/**
|
|
1658
|
+
* Universal path source converter to Cubic Bezier segments.
|
|
1659
|
+
*/
|
|
1660
|
+
declare function generatePathSegments(source: TextPathSource): CubicBezierSegment[];
|
|
1661
|
+
//#endregion
|
|
1662
|
+
//#region src/program/text-animations/selectors.d.ts
|
|
1663
|
+
/**
|
|
1664
|
+
* Computes After Effects Range Selector weight for a single glyph index.
|
|
1665
|
+
*
|
|
1666
|
+
* @param index Normalized position of the glyph in the string (0.0 to 1.0)
|
|
1667
|
+
* @param start Start boundary (0.0 to 1.0)
|
|
1668
|
+
* @param end End boundary (0.0 to 1.0)
|
|
1669
|
+
* @param offset Window shift (-1.0 to 1.0)
|
|
1670
|
+
* @param shape Falloff curve
|
|
1671
|
+
* @param easeHigh Non-linear easing for high values
|
|
1672
|
+
* @param easeLow Non-linear easing for low values
|
|
1673
|
+
* @returns Weight in [0.0, 1.0]
|
|
1674
|
+
*/
|
|
1675
|
+
declare function computeRangeSelectorWeight(index: number, start: number, end: number, offset: number, shape: SelectorShape, easeHigh?: number, easeLow?: number): number;
|
|
1676
|
+
/**
|
|
1677
|
+
* 1D Gradient deterministic hash noise for Wiggly Selectors.
|
|
1678
|
+
*/
|
|
1679
|
+
declare function deterministicWigglyNoise(seed: number, glyphIndex: number, phase: number, correlation: number): number;
|
|
1680
|
+
/**
|
|
1681
|
+
* Deterministic pseudo-random number generator for seeded order shuffling.
|
|
1682
|
+
*/
|
|
1683
|
+
declare function getShuffledOrder(count: number, seed: number): number[];
|
|
1684
|
+
/**
|
|
1685
|
+
* Combines consecutive selector weights using After Effects Selector Mode logic.
|
|
1686
|
+
*/
|
|
1687
|
+
declare function evaluateSelectorCombination(prevWeight: number, currWeight: number, mode: SelectorMode): number;
|
|
1688
|
+
//#endregion
|
|
1689
|
+
//#region src/program/text-animations/typewriter.d.ts
|
|
1690
|
+
declare function getScramblePool(charset: string, customCharset?: string): string;
|
|
1691
|
+
/**
|
|
1692
|
+
* Evaluates typewriter visible character count and scramble state for frame `currentFrame`.
|
|
1693
|
+
*/
|
|
1694
|
+
declare function evaluateTypewriterState(fullText: string, currentFrame: number, startFrame: number, durationFrames: number, cadence?: TypingCadence, scramble?: TextScrambleConfig, blinkFrequency?: number, granularity?: "character" | "word" | "line", progressOverride?: number): {
|
|
1695
|
+
visibleChars: number;
|
|
1696
|
+
currentDisplayString: string;
|
|
1697
|
+
isCursorVisible: boolean;
|
|
1698
|
+
};
|
|
1699
|
+
//#endregion
|
|
1700
|
+
//#region src/program/schema.d.ts
|
|
1701
|
+
/** number px | "auto" (intrinsic) | "fit" (shrink-wrap) | "fill" (parent extent). */
|
|
1702
|
+
declare const SizeSpecSchema: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
|
|
1703
|
+
auto: "auto";
|
|
1704
|
+
fit: "fit";
|
|
1705
|
+
fill: "fill";
|
|
1706
|
+
}>, z.ZodCustom<unknown, unknown>]>;
|
|
1707
|
+
type SizeSpec = z.infer<typeof SizeSpecSchema>;
|
|
1708
|
+
declare const ShapeTypeSchema: z.ZodEnum<{
|
|
1709
|
+
path: "path";
|
|
1710
|
+
rect: "rect";
|
|
1711
|
+
circle: "circle";
|
|
1712
|
+
ellipse: "ellipse";
|
|
1713
|
+
polygon: "polygon";
|
|
1714
|
+
star: "star";
|
|
1715
|
+
arrow: "arrow";
|
|
1716
|
+
}>;
|
|
1717
|
+
type ShapeType = z.infer<typeof ShapeTypeSchema>;
|
|
1718
|
+
declare const AnimatablePropSchema: z.ZodEnum<{
|
|
1719
|
+
fill: "fill";
|
|
1720
|
+
x: "x";
|
|
1721
|
+
y: "y";
|
|
1722
|
+
scale: "scale";
|
|
1723
|
+
rotation: "rotation";
|
|
1724
|
+
opacity: "opacity";
|
|
1725
|
+
width: "width";
|
|
1726
|
+
height: "height";
|
|
1727
|
+
volume: "volume";
|
|
1728
|
+
hidden: "hidden";
|
|
1729
|
+
muted: "muted";
|
|
1730
|
+
gap: "gap";
|
|
1731
|
+
padding: "padding";
|
|
1732
|
+
borderRadius: "borderRadius";
|
|
1733
|
+
fontSize: "fontSize";
|
|
1734
|
+
text: "text";
|
|
1735
|
+
color: "color";
|
|
1736
|
+
letterSpacing: "letterSpacing";
|
|
1737
|
+
trimStart: "trimStart";
|
|
1738
|
+
trimEnd: "trimEnd";
|
|
1739
|
+
trimOffset: "trimOffset";
|
|
1740
|
+
strokeWidth: "strokeWidth";
|
|
1741
|
+
strokeDashOffset: "strokeDashOffset";
|
|
1742
|
+
cornerRadius: "cornerRadius";
|
|
1743
|
+
starInnerRadiusRatio: "starInnerRadiusRatio";
|
|
1744
|
+
fillColor: "fillColor";
|
|
1745
|
+
strokeColor: "strokeColor";
|
|
1746
|
+
borderColor: "borderColor";
|
|
1747
|
+
borderWidth: "borderWidth";
|
|
1748
|
+
motionBlurShutter: "motionBlurShutter";
|
|
1749
|
+
rangeStart: "rangeStart";
|
|
1750
|
+
rangeEnd: "rangeEnd";
|
|
1751
|
+
offset: "offset";
|
|
1752
|
+
animatorRangeStart: "animatorRangeStart";
|
|
1753
|
+
animatorRangeEnd: "animatorRangeEnd";
|
|
1754
|
+
animatorOffset: "animatorOffset";
|
|
1755
|
+
firstMargin: "firstMargin";
|
|
1756
|
+
lastMargin: "lastMargin";
|
|
1757
|
+
baselineShift: "baselineShift";
|
|
1758
|
+
rotateX: "rotateX";
|
|
1759
|
+
rotateY: "rotateY";
|
|
1760
|
+
rotateZ: "rotateZ";
|
|
1761
|
+
perspective: "perspective";
|
|
1762
|
+
translateZ: "translateZ";
|
|
1763
|
+
perspectiveOriginX: "perspectiveOriginX";
|
|
1764
|
+
perspectiveOriginY: "perspectiveOriginY";
|
|
1765
|
+
cameraX: "cameraX";
|
|
1766
|
+
cameraY: "cameraY";
|
|
1767
|
+
cameraZ: "cameraZ";
|
|
1768
|
+
targetX: "targetX";
|
|
1769
|
+
targetY: "targetY";
|
|
1770
|
+
targetZ: "targetZ";
|
|
1771
|
+
cameraPitch: "cameraPitch";
|
|
1772
|
+
cameraYaw: "cameraYaw";
|
|
1773
|
+
cameraRoll: "cameraRoll";
|
|
1774
|
+
cameraFov: "cameraFov";
|
|
1775
|
+
cameraZoom: "cameraZoom";
|
|
1776
|
+
focalLength: "focalLength";
|
|
1777
|
+
focusDistance: "focusDistance";
|
|
1778
|
+
fStop: "fStop";
|
|
1779
|
+
maxBlurRadius: "maxBlurRadius";
|
|
1780
|
+
shakeTranslation: "shakeTranslation";
|
|
1781
|
+
shakeRotation: "shakeRotation";
|
|
1782
|
+
orbitRadius: "orbitRadius";
|
|
1783
|
+
orbitAzimuth: "orbitAzimuth";
|
|
1784
|
+
orbitElevation: "orbitElevation";
|
|
1785
|
+
z: "z";
|
|
1786
|
+
scaleZ: "scaleZ";
|
|
1787
|
+
intensity: "intensity";
|
|
1788
|
+
angle: "angle";
|
|
1789
|
+
radius: "radius";
|
|
1790
|
+
penumbra: "penumbra";
|
|
1791
|
+
decay: "decay";
|
|
1792
|
+
shininess: "shininess";
|
|
1793
|
+
roughness: "roughness";
|
|
1794
|
+
specularIntensity: "specularIntensity";
|
|
1795
|
+
ambientIntensity: "ambientIntensity";
|
|
1796
|
+
metallic: "metallic";
|
|
1797
|
+
ior: "ior";
|
|
1798
|
+
dispersion: "dispersion";
|
|
1799
|
+
transmission: "transmission";
|
|
1800
|
+
fresnelPower: "fresnelPower";
|
|
1801
|
+
envIntensity: "envIntensity";
|
|
1802
|
+
animationProgress: "animationProgress";
|
|
1803
|
+
animationTime: "animationTime";
|
|
1804
|
+
animationSpeed: "animationSpeed";
|
|
1805
|
+
wireframe: "wireframe";
|
|
1806
|
+
scaleX: "scaleX";
|
|
1807
|
+
scaleY: "scaleY";
|
|
1808
|
+
}>;
|
|
1809
|
+
type AnimatableProp = z.infer<typeof AnimatablePropSchema>;
|
|
1810
|
+
declare const MaterialTypeSchema: z.ZodEnum<{
|
|
1811
|
+
metallic: "metallic";
|
|
1812
|
+
lit: "lit";
|
|
1813
|
+
unlit: "unlit";
|
|
1814
|
+
toon: "toon";
|
|
1815
|
+
glass: "glass";
|
|
1816
|
+
acrylic: "acrylic";
|
|
1817
|
+
frosted: "frosted";
|
|
1818
|
+
}>;
|
|
1819
|
+
type MaterialType = z.infer<typeof MaterialTypeSchema>;
|
|
1820
|
+
declare const EaseRefSchema: z.ZodObject<{
|
|
1821
|
+
name: z.ZodEnum<{
|
|
1822
|
+
none: "none";
|
|
1823
|
+
power1: "power1";
|
|
1824
|
+
power2: "power2";
|
|
1825
|
+
power3: "power3";
|
|
1826
|
+
sine: "sine";
|
|
1827
|
+
circ: "circ";
|
|
1828
|
+
expo: "expo";
|
|
1829
|
+
back: "back";
|
|
1830
|
+
elastic: "elastic";
|
|
1831
|
+
bounce: "bounce";
|
|
1832
|
+
spring: "spring";
|
|
1833
|
+
cubic: "cubic";
|
|
1834
|
+
hold: "hold";
|
|
1835
|
+
}>;
|
|
1836
|
+
dir: z.ZodEnum<{
|
|
1837
|
+
in: "in";
|
|
1838
|
+
out: "out";
|
|
1839
|
+
inOut: "inOut";
|
|
1840
|
+
}>;
|
|
1841
|
+
params: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
1842
|
+
}, z.core.$strict>;
|
|
1843
|
+
type EaseRef = z.infer<typeof EaseRefSchema>;
|
|
1844
|
+
declare const KeyframeSchema: z.ZodObject<{
|
|
1845
|
+
id: z.ZodString;
|
|
1846
|
+
frame: z.ZodNumber;
|
|
1847
|
+
value: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
|
|
1848
|
+
ease: z.ZodOptional<z.ZodObject<{
|
|
1849
|
+
name: z.ZodEnum<{
|
|
1850
|
+
none: "none";
|
|
1851
|
+
power1: "power1";
|
|
1852
|
+
power2: "power2";
|
|
1853
|
+
power3: "power3";
|
|
1854
|
+
sine: "sine";
|
|
1855
|
+
circ: "circ";
|
|
1856
|
+
expo: "expo";
|
|
1857
|
+
back: "back";
|
|
1858
|
+
elastic: "elastic";
|
|
1859
|
+
bounce: "bounce";
|
|
1860
|
+
spring: "spring";
|
|
1861
|
+
cubic: "cubic";
|
|
1862
|
+
hold: "hold";
|
|
1863
|
+
}>;
|
|
1864
|
+
dir: z.ZodEnum<{
|
|
1865
|
+
in: "in";
|
|
1866
|
+
out: "out";
|
|
1867
|
+
inOut: "inOut";
|
|
1868
|
+
}>;
|
|
1869
|
+
params: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
1870
|
+
}, z.core.$strict>>;
|
|
1871
|
+
presetGroupId: z.ZodOptional<z.ZodString>;
|
|
1872
|
+
presetType: z.ZodOptional<z.ZodString>;
|
|
1873
|
+
spatialTangentIn: z.ZodOptional<z.ZodObject<{
|
|
1874
|
+
x: z.ZodNumber;
|
|
1875
|
+
y: z.ZodNumber;
|
|
1876
|
+
}, z.core.$strip>>;
|
|
1877
|
+
spatialTangentOut: z.ZodOptional<z.ZodObject<{
|
|
1878
|
+
x: z.ZodNumber;
|
|
1879
|
+
y: z.ZodNumber;
|
|
1880
|
+
}, z.core.$strip>>;
|
|
1881
|
+
}, z.core.$strict>;
|
|
1882
|
+
type Keyframe = z.infer<typeof KeyframeSchema>;
|
|
1883
|
+
declare const RawTrackSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1884
|
+
type: z.ZodLiteral<"keyframe">;
|
|
1885
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1886
|
+
type: z.ZodLiteral<"signal">;
|
|
1887
|
+
inputHandleId: z.ZodString;
|
|
1888
|
+
multiplier: z.ZodDefault<z.ZodNumber>;
|
|
1889
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
1890
|
+
smoothingWindowFrames: z.ZodDefault<z.ZodNumber>;
|
|
1891
|
+
colorMode: z.ZodOptional<z.ZodEnum<{
|
|
1892
|
+
interpolate: "interpolate";
|
|
1893
|
+
hueRotate: "hueRotate";
|
|
1894
|
+
threshold: "threshold";
|
|
1895
|
+
}>>;
|
|
1896
|
+
colorA: z.ZodOptional<z.ZodString>;
|
|
1897
|
+
colorB: z.ZodOptional<z.ZodString>;
|
|
1898
|
+
colorThreshold: z.ZodOptional<z.ZodNumber>;
|
|
1899
|
+
signalMode: z.ZodOptional<z.ZodEnum<{
|
|
1900
|
+
continuous: "continuous";
|
|
1901
|
+
accumulate: "accumulate";
|
|
1902
|
+
}>>;
|
|
1903
|
+
threshold: z.ZodOptional<z.ZodNumber>;
|
|
1904
|
+
accumulateThreshold: z.ZodOptional<z.ZodNumber>;
|
|
1905
|
+
debounceFrames: z.ZodOptional<z.ZodNumber>;
|
|
1906
|
+
channel: z.ZodOptional<z.ZodString>;
|
|
1907
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1908
|
+
type: z.ZodLiteral<"wiggle">;
|
|
1909
|
+
frequency: z.ZodDefault<z.ZodNumber>;
|
|
1910
|
+
amplitude: z.ZodDefault<z.ZodNumber>;
|
|
1911
|
+
octaves: z.ZodDefault<z.ZodNumber>;
|
|
1912
|
+
seed: z.ZodDefault<z.ZodNumber>;
|
|
1913
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1914
|
+
type: z.ZodLiteral<"springOvershoot">;
|
|
1915
|
+
damping: z.ZodDefault<z.ZodNumber>;
|
|
1916
|
+
stiffness: z.ZodDefault<z.ZodNumber>;
|
|
1917
|
+
mass: z.ZodDefault<z.ZodNumber>;
|
|
1918
|
+
}, z.core.$strip>], "type">;
|
|
1919
|
+
type TrackSource = z.infer<typeof RawTrackSourceSchema>;
|
|
1920
|
+
declare const AnimationTrackSchema: z.ZodObject<{
|
|
1921
|
+
id: z.ZodString;
|
|
1922
|
+
prop: z.ZodEnum<{
|
|
1923
|
+
fill: "fill";
|
|
1924
|
+
x: "x";
|
|
1925
|
+
y: "y";
|
|
1926
|
+
scale: "scale";
|
|
1927
|
+
rotation: "rotation";
|
|
1928
|
+
opacity: "opacity";
|
|
1929
|
+
width: "width";
|
|
1930
|
+
height: "height";
|
|
1931
|
+
volume: "volume";
|
|
1932
|
+
hidden: "hidden";
|
|
1933
|
+
muted: "muted";
|
|
1934
|
+
gap: "gap";
|
|
1935
|
+
padding: "padding";
|
|
1936
|
+
borderRadius: "borderRadius";
|
|
1937
|
+
fontSize: "fontSize";
|
|
1938
|
+
text: "text";
|
|
1939
|
+
color: "color";
|
|
1940
|
+
letterSpacing: "letterSpacing";
|
|
1941
|
+
trimStart: "trimStart";
|
|
1942
|
+
trimEnd: "trimEnd";
|
|
1943
|
+
trimOffset: "trimOffset";
|
|
1944
|
+
strokeWidth: "strokeWidth";
|
|
1945
|
+
strokeDashOffset: "strokeDashOffset";
|
|
1946
|
+
cornerRadius: "cornerRadius";
|
|
1947
|
+
starInnerRadiusRatio: "starInnerRadiusRatio";
|
|
1948
|
+
fillColor: "fillColor";
|
|
1949
|
+
strokeColor: "strokeColor";
|
|
1950
|
+
borderColor: "borderColor";
|
|
1951
|
+
borderWidth: "borderWidth";
|
|
1952
|
+
motionBlurShutter: "motionBlurShutter";
|
|
1953
|
+
rangeStart: "rangeStart";
|
|
1954
|
+
rangeEnd: "rangeEnd";
|
|
1955
|
+
offset: "offset";
|
|
1956
|
+
animatorRangeStart: "animatorRangeStart";
|
|
1957
|
+
animatorRangeEnd: "animatorRangeEnd";
|
|
1958
|
+
animatorOffset: "animatorOffset";
|
|
1959
|
+
firstMargin: "firstMargin";
|
|
1960
|
+
lastMargin: "lastMargin";
|
|
1961
|
+
baselineShift: "baselineShift";
|
|
1962
|
+
rotateX: "rotateX";
|
|
1963
|
+
rotateY: "rotateY";
|
|
1964
|
+
rotateZ: "rotateZ";
|
|
1965
|
+
perspective: "perspective";
|
|
1966
|
+
translateZ: "translateZ";
|
|
1967
|
+
perspectiveOriginX: "perspectiveOriginX";
|
|
1968
|
+
perspectiveOriginY: "perspectiveOriginY";
|
|
1969
|
+
cameraX: "cameraX";
|
|
1970
|
+
cameraY: "cameraY";
|
|
1971
|
+
cameraZ: "cameraZ";
|
|
1972
|
+
targetX: "targetX";
|
|
1973
|
+
targetY: "targetY";
|
|
1974
|
+
targetZ: "targetZ";
|
|
1975
|
+
cameraPitch: "cameraPitch";
|
|
1976
|
+
cameraYaw: "cameraYaw";
|
|
1977
|
+
cameraRoll: "cameraRoll";
|
|
1978
|
+
cameraFov: "cameraFov";
|
|
1979
|
+
cameraZoom: "cameraZoom";
|
|
1980
|
+
focalLength: "focalLength";
|
|
1981
|
+
focusDistance: "focusDistance";
|
|
1982
|
+
fStop: "fStop";
|
|
1983
|
+
maxBlurRadius: "maxBlurRadius";
|
|
1984
|
+
shakeTranslation: "shakeTranslation";
|
|
1985
|
+
shakeRotation: "shakeRotation";
|
|
1986
|
+
orbitRadius: "orbitRadius";
|
|
1987
|
+
orbitAzimuth: "orbitAzimuth";
|
|
1988
|
+
orbitElevation: "orbitElevation";
|
|
1989
|
+
z: "z";
|
|
1990
|
+
scaleZ: "scaleZ";
|
|
1991
|
+
intensity: "intensity";
|
|
1992
|
+
angle: "angle";
|
|
1993
|
+
radius: "radius";
|
|
1994
|
+
penumbra: "penumbra";
|
|
1995
|
+
decay: "decay";
|
|
1996
|
+
shininess: "shininess";
|
|
1997
|
+
roughness: "roughness";
|
|
1998
|
+
specularIntensity: "specularIntensity";
|
|
1999
|
+
ambientIntensity: "ambientIntensity";
|
|
2000
|
+
metallic: "metallic";
|
|
2001
|
+
ior: "ior";
|
|
2002
|
+
dispersion: "dispersion";
|
|
2003
|
+
transmission: "transmission";
|
|
2004
|
+
fresnelPower: "fresnelPower";
|
|
2005
|
+
envIntensity: "envIntensity";
|
|
2006
|
+
animationProgress: "animationProgress";
|
|
2007
|
+
animationTime: "animationTime";
|
|
2008
|
+
animationSpeed: "animationSpeed";
|
|
2009
|
+
wireframe: "wireframe";
|
|
2010
|
+
scaleX: "scaleX";
|
|
2011
|
+
scaleY: "scaleY";
|
|
2012
|
+
}>;
|
|
2013
|
+
source: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
2014
|
+
type: z.ZodLiteral<"keyframe">;
|
|
2015
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2016
|
+
type: z.ZodLiteral<"signal">;
|
|
2017
|
+
inputHandleId: z.ZodString;
|
|
2018
|
+
multiplier: z.ZodDefault<z.ZodNumber>;
|
|
2019
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
2020
|
+
smoothingWindowFrames: z.ZodDefault<z.ZodNumber>;
|
|
2021
|
+
colorMode: z.ZodOptional<z.ZodEnum<{
|
|
2022
|
+
interpolate: "interpolate";
|
|
2023
|
+
hueRotate: "hueRotate";
|
|
2024
|
+
threshold: "threshold";
|
|
2025
|
+
}>>;
|
|
2026
|
+
colorA: z.ZodOptional<z.ZodString>;
|
|
2027
|
+
colorB: z.ZodOptional<z.ZodString>;
|
|
2028
|
+
colorThreshold: z.ZodOptional<z.ZodNumber>;
|
|
2029
|
+
signalMode: z.ZodOptional<z.ZodEnum<{
|
|
2030
|
+
continuous: "continuous";
|
|
2031
|
+
accumulate: "accumulate";
|
|
2032
|
+
}>>;
|
|
2033
|
+
threshold: z.ZodOptional<z.ZodNumber>;
|
|
2034
|
+
accumulateThreshold: z.ZodOptional<z.ZodNumber>;
|
|
2035
|
+
debounceFrames: z.ZodOptional<z.ZodNumber>;
|
|
2036
|
+
channel: z.ZodOptional<z.ZodString>;
|
|
2037
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2038
|
+
type: z.ZodLiteral<"wiggle">;
|
|
2039
|
+
frequency: z.ZodDefault<z.ZodNumber>;
|
|
2040
|
+
amplitude: z.ZodDefault<z.ZodNumber>;
|
|
2041
|
+
octaves: z.ZodDefault<z.ZodNumber>;
|
|
2042
|
+
seed: z.ZodDefault<z.ZodNumber>;
|
|
2043
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2044
|
+
type: z.ZodLiteral<"springOvershoot">;
|
|
2045
|
+
damping: z.ZodDefault<z.ZodNumber>;
|
|
2046
|
+
stiffness: z.ZodDefault<z.ZodNumber>;
|
|
2047
|
+
mass: z.ZodDefault<z.ZodNumber>;
|
|
2048
|
+
}, z.core.$strip>], "type">>;
|
|
2049
|
+
keyframes: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2050
|
+
id: z.ZodString;
|
|
2051
|
+
frame: z.ZodNumber;
|
|
2052
|
+
value: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
|
|
2053
|
+
ease: z.ZodOptional<z.ZodObject<{
|
|
2054
|
+
name: z.ZodEnum<{
|
|
2055
|
+
none: "none";
|
|
2056
|
+
power1: "power1";
|
|
2057
|
+
power2: "power2";
|
|
2058
|
+
power3: "power3";
|
|
2059
|
+
sine: "sine";
|
|
2060
|
+
circ: "circ";
|
|
2061
|
+
expo: "expo";
|
|
2062
|
+
back: "back";
|
|
2063
|
+
elastic: "elastic";
|
|
2064
|
+
bounce: "bounce";
|
|
2065
|
+
spring: "spring";
|
|
2066
|
+
cubic: "cubic";
|
|
2067
|
+
hold: "hold";
|
|
2068
|
+
}>;
|
|
2069
|
+
dir: z.ZodEnum<{
|
|
2070
|
+
in: "in";
|
|
2071
|
+
out: "out";
|
|
2072
|
+
inOut: "inOut";
|
|
2073
|
+
}>;
|
|
2074
|
+
params: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
2075
|
+
}, z.core.$strict>>;
|
|
2076
|
+
presetGroupId: z.ZodOptional<z.ZodString>;
|
|
2077
|
+
presetType: z.ZodOptional<z.ZodString>;
|
|
2078
|
+
spatialTangentIn: z.ZodOptional<z.ZodObject<{
|
|
2079
|
+
x: z.ZodNumber;
|
|
2080
|
+
y: z.ZodNumber;
|
|
2081
|
+
}, z.core.$strip>>;
|
|
2082
|
+
spatialTangentOut: z.ZodOptional<z.ZodObject<{
|
|
2083
|
+
x: z.ZodNumber;
|
|
2084
|
+
y: z.ZodNumber;
|
|
2085
|
+
}, z.core.$strip>>;
|
|
2086
|
+
}, z.core.$strict>>>;
|
|
2087
|
+
repeat: z.ZodOptional<z.ZodNumber>;
|
|
2088
|
+
yoyo: z.ZodOptional<z.ZodBoolean>;
|
|
2089
|
+
durationFrames: z.ZodOptional<z.ZodNumber>;
|
|
2090
|
+
}, z.core.$strict>;
|
|
2091
|
+
type AnimationTrack = z.infer<typeof AnimationTrackSchema>;
|
|
2092
|
+
declare const LayerAnimationSchema: z.ZodObject<{
|
|
2093
|
+
tracks: z.ZodArray<z.ZodObject<{
|
|
2094
|
+
id: z.ZodString;
|
|
2095
|
+
prop: z.ZodEnum<{
|
|
2096
|
+
fill: "fill";
|
|
2097
|
+
x: "x";
|
|
2098
|
+
y: "y";
|
|
2099
|
+
scale: "scale";
|
|
2100
|
+
rotation: "rotation";
|
|
2101
|
+
opacity: "opacity";
|
|
2102
|
+
width: "width";
|
|
2103
|
+
height: "height";
|
|
2104
|
+
volume: "volume";
|
|
2105
|
+
hidden: "hidden";
|
|
2106
|
+
muted: "muted";
|
|
2107
|
+
gap: "gap";
|
|
2108
|
+
padding: "padding";
|
|
2109
|
+
borderRadius: "borderRadius";
|
|
2110
|
+
fontSize: "fontSize";
|
|
2111
|
+
text: "text";
|
|
2112
|
+
color: "color";
|
|
2113
|
+
letterSpacing: "letterSpacing";
|
|
2114
|
+
trimStart: "trimStart";
|
|
2115
|
+
trimEnd: "trimEnd";
|
|
2116
|
+
trimOffset: "trimOffset";
|
|
2117
|
+
strokeWidth: "strokeWidth";
|
|
2118
|
+
strokeDashOffset: "strokeDashOffset";
|
|
2119
|
+
cornerRadius: "cornerRadius";
|
|
2120
|
+
starInnerRadiusRatio: "starInnerRadiusRatio";
|
|
2121
|
+
fillColor: "fillColor";
|
|
2122
|
+
strokeColor: "strokeColor";
|
|
2123
|
+
borderColor: "borderColor";
|
|
2124
|
+
borderWidth: "borderWidth";
|
|
2125
|
+
motionBlurShutter: "motionBlurShutter";
|
|
2126
|
+
rangeStart: "rangeStart";
|
|
2127
|
+
rangeEnd: "rangeEnd";
|
|
2128
|
+
offset: "offset";
|
|
2129
|
+
animatorRangeStart: "animatorRangeStart";
|
|
2130
|
+
animatorRangeEnd: "animatorRangeEnd";
|
|
2131
|
+
animatorOffset: "animatorOffset";
|
|
2132
|
+
firstMargin: "firstMargin";
|
|
2133
|
+
lastMargin: "lastMargin";
|
|
2134
|
+
baselineShift: "baselineShift";
|
|
2135
|
+
rotateX: "rotateX";
|
|
2136
|
+
rotateY: "rotateY";
|
|
2137
|
+
rotateZ: "rotateZ";
|
|
2138
|
+
perspective: "perspective";
|
|
2139
|
+
translateZ: "translateZ";
|
|
2140
|
+
perspectiveOriginX: "perspectiveOriginX";
|
|
2141
|
+
perspectiveOriginY: "perspectiveOriginY";
|
|
2142
|
+
cameraX: "cameraX";
|
|
2143
|
+
cameraY: "cameraY";
|
|
2144
|
+
cameraZ: "cameraZ";
|
|
2145
|
+
targetX: "targetX";
|
|
2146
|
+
targetY: "targetY";
|
|
2147
|
+
targetZ: "targetZ";
|
|
2148
|
+
cameraPitch: "cameraPitch";
|
|
2149
|
+
cameraYaw: "cameraYaw";
|
|
2150
|
+
cameraRoll: "cameraRoll";
|
|
2151
|
+
cameraFov: "cameraFov";
|
|
2152
|
+
cameraZoom: "cameraZoom";
|
|
2153
|
+
focalLength: "focalLength";
|
|
2154
|
+
focusDistance: "focusDistance";
|
|
2155
|
+
fStop: "fStop";
|
|
2156
|
+
maxBlurRadius: "maxBlurRadius";
|
|
2157
|
+
shakeTranslation: "shakeTranslation";
|
|
2158
|
+
shakeRotation: "shakeRotation";
|
|
2159
|
+
orbitRadius: "orbitRadius";
|
|
2160
|
+
orbitAzimuth: "orbitAzimuth";
|
|
2161
|
+
orbitElevation: "orbitElevation";
|
|
2162
|
+
z: "z";
|
|
2163
|
+
scaleZ: "scaleZ";
|
|
2164
|
+
intensity: "intensity";
|
|
2165
|
+
angle: "angle";
|
|
2166
|
+
radius: "radius";
|
|
2167
|
+
penumbra: "penumbra";
|
|
2168
|
+
decay: "decay";
|
|
2169
|
+
shininess: "shininess";
|
|
2170
|
+
roughness: "roughness";
|
|
2171
|
+
specularIntensity: "specularIntensity";
|
|
2172
|
+
ambientIntensity: "ambientIntensity";
|
|
2173
|
+
metallic: "metallic";
|
|
2174
|
+
ior: "ior";
|
|
2175
|
+
dispersion: "dispersion";
|
|
2176
|
+
transmission: "transmission";
|
|
2177
|
+
fresnelPower: "fresnelPower";
|
|
2178
|
+
envIntensity: "envIntensity";
|
|
2179
|
+
animationProgress: "animationProgress";
|
|
2180
|
+
animationTime: "animationTime";
|
|
2181
|
+
animationSpeed: "animationSpeed";
|
|
2182
|
+
wireframe: "wireframe";
|
|
2183
|
+
scaleX: "scaleX";
|
|
2184
|
+
scaleY: "scaleY";
|
|
2185
|
+
}>;
|
|
2186
|
+
source: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
2187
|
+
type: z.ZodLiteral<"keyframe">;
|
|
2188
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2189
|
+
type: z.ZodLiteral<"signal">;
|
|
2190
|
+
inputHandleId: z.ZodString;
|
|
2191
|
+
multiplier: z.ZodDefault<z.ZodNumber>;
|
|
2192
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
2193
|
+
smoothingWindowFrames: z.ZodDefault<z.ZodNumber>;
|
|
2194
|
+
colorMode: z.ZodOptional<z.ZodEnum<{
|
|
2195
|
+
interpolate: "interpolate";
|
|
2196
|
+
hueRotate: "hueRotate";
|
|
2197
|
+
threshold: "threshold";
|
|
2198
|
+
}>>;
|
|
2199
|
+
colorA: z.ZodOptional<z.ZodString>;
|
|
2200
|
+
colorB: z.ZodOptional<z.ZodString>;
|
|
2201
|
+
colorThreshold: z.ZodOptional<z.ZodNumber>;
|
|
2202
|
+
signalMode: z.ZodOptional<z.ZodEnum<{
|
|
2203
|
+
continuous: "continuous";
|
|
2204
|
+
accumulate: "accumulate";
|
|
2205
|
+
}>>;
|
|
2206
|
+
threshold: z.ZodOptional<z.ZodNumber>;
|
|
2207
|
+
accumulateThreshold: z.ZodOptional<z.ZodNumber>;
|
|
2208
|
+
debounceFrames: z.ZodOptional<z.ZodNumber>;
|
|
2209
|
+
channel: z.ZodOptional<z.ZodString>;
|
|
2210
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2211
|
+
type: z.ZodLiteral<"wiggle">;
|
|
2212
|
+
frequency: z.ZodDefault<z.ZodNumber>;
|
|
2213
|
+
amplitude: z.ZodDefault<z.ZodNumber>;
|
|
2214
|
+
octaves: z.ZodDefault<z.ZodNumber>;
|
|
2215
|
+
seed: z.ZodDefault<z.ZodNumber>;
|
|
2216
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2217
|
+
type: z.ZodLiteral<"springOvershoot">;
|
|
2218
|
+
damping: z.ZodDefault<z.ZodNumber>;
|
|
2219
|
+
stiffness: z.ZodDefault<z.ZodNumber>;
|
|
2220
|
+
mass: z.ZodDefault<z.ZodNumber>;
|
|
2221
|
+
}, z.core.$strip>], "type">>;
|
|
2222
|
+
keyframes: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2223
|
+
id: z.ZodString;
|
|
2224
|
+
frame: z.ZodNumber;
|
|
2225
|
+
value: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
|
|
2226
|
+
ease: z.ZodOptional<z.ZodObject<{
|
|
2227
|
+
name: z.ZodEnum<{
|
|
2228
|
+
none: "none";
|
|
2229
|
+
power1: "power1";
|
|
2230
|
+
power2: "power2";
|
|
2231
|
+
power3: "power3";
|
|
2232
|
+
sine: "sine";
|
|
2233
|
+
circ: "circ";
|
|
2234
|
+
expo: "expo";
|
|
2235
|
+
back: "back";
|
|
2236
|
+
elastic: "elastic";
|
|
2237
|
+
bounce: "bounce";
|
|
2238
|
+
spring: "spring";
|
|
2239
|
+
cubic: "cubic";
|
|
2240
|
+
hold: "hold";
|
|
2241
|
+
}>;
|
|
2242
|
+
dir: z.ZodEnum<{
|
|
2243
|
+
in: "in";
|
|
2244
|
+
out: "out";
|
|
2245
|
+
inOut: "inOut";
|
|
2246
|
+
}>;
|
|
2247
|
+
params: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
2248
|
+
}, z.core.$strict>>;
|
|
2249
|
+
presetGroupId: z.ZodOptional<z.ZodString>;
|
|
2250
|
+
presetType: z.ZodOptional<z.ZodString>;
|
|
2251
|
+
spatialTangentIn: z.ZodOptional<z.ZodObject<{
|
|
2252
|
+
x: z.ZodNumber;
|
|
2253
|
+
y: z.ZodNumber;
|
|
2254
|
+
}, z.core.$strip>>;
|
|
2255
|
+
spatialTangentOut: z.ZodOptional<z.ZodObject<{
|
|
2256
|
+
x: z.ZodNumber;
|
|
2257
|
+
y: z.ZodNumber;
|
|
2258
|
+
}, z.core.$strip>>;
|
|
2259
|
+
}, z.core.$strict>>>;
|
|
2260
|
+
repeat: z.ZodOptional<z.ZodNumber>;
|
|
2261
|
+
yoyo: z.ZodOptional<z.ZodBoolean>;
|
|
2262
|
+
durationFrames: z.ZodOptional<z.ZodNumber>;
|
|
2263
|
+
}, z.core.$strict>>;
|
|
2264
|
+
}, z.core.$strict>;
|
|
2265
|
+
type LayerAnimationSpec = z.infer<typeof LayerAnimationSchema>;
|
|
2266
|
+
interface CompositionNodeBase {
|
|
2267
|
+
id: string;
|
|
2268
|
+
inputHandleId?: string;
|
|
2269
|
+
position?: "relative" | "absolute";
|
|
2270
|
+
x?: number | unknown;
|
|
2271
|
+
y?: number | unknown;
|
|
2272
|
+
width?: SizeSpec;
|
|
2273
|
+
height?: SizeSpec;
|
|
2274
|
+
grow?: number;
|
|
2275
|
+
flexShrink?: number;
|
|
2276
|
+
flexBasis?: number;
|
|
2277
|
+
alignSelf?: "auto" | "start" | "center" | "end" | "stretch" | "baseline";
|
|
2278
|
+
aspectRatio?: number;
|
|
2279
|
+
zIndex?: number;
|
|
2280
|
+
hidden?: boolean;
|
|
2281
|
+
opacity?: number;
|
|
2282
|
+
blendMode?: string;
|
|
2283
|
+
rotation?: number;
|
|
2284
|
+
scale?: number;
|
|
2285
|
+
anchorX?: number;
|
|
2286
|
+
anchorY?: number;
|
|
2287
|
+
rotateX?: number;
|
|
2288
|
+
rotateY?: number;
|
|
2289
|
+
rotateZ?: number;
|
|
2290
|
+
perspective?: number;
|
|
2291
|
+
perspectiveOriginX?: number;
|
|
2292
|
+
perspectiveOriginY?: number;
|
|
2293
|
+
translateZ?: number;
|
|
2294
|
+
backfaceVisibility?: "visible" | "hidden";
|
|
2295
|
+
transformStyle?: "flat" | "preserve-3d";
|
|
2296
|
+
is3D?: boolean;
|
|
2297
|
+
z?: number | unknown;
|
|
2298
|
+
scaleZ?: number;
|
|
2299
|
+
twoSided?: boolean;
|
|
2300
|
+
material?: MaterialType;
|
|
2301
|
+
shininess?: number;
|
|
2302
|
+
roughness?: number;
|
|
2303
|
+
specularIntensity?: number;
|
|
2304
|
+
metallic?: number;
|
|
2305
|
+
ambientIntensity?: number;
|
|
2306
|
+
ior?: number;
|
|
2307
|
+
transmission?: number;
|
|
2308
|
+
dispersion?: number;
|
|
2309
|
+
fresnelPower?: number;
|
|
2310
|
+
envIntensity?: number;
|
|
2311
|
+
startFrame?: number;
|
|
2312
|
+
durationFrames?: number;
|
|
2313
|
+
motionBlurShutter?: number;
|
|
2314
|
+
animation?: LayerAnimationSpec;
|
|
2315
|
+
vision?: unknown;
|
|
2316
|
+
relighting?: unknown;
|
|
2317
|
+
}
|
|
2318
|
+
interface FlexNode extends CompositionNodeBase {
|
|
2319
|
+
kind: "flex";
|
|
2320
|
+
dir?: "row" | "column";
|
|
2321
|
+
gap?: number;
|
|
2322
|
+
padding?: number;
|
|
2323
|
+
justify?: "start" | "center" | "end" | "space-between" | "space-around";
|
|
2324
|
+
align?: "start" | "center" | "end" | "stretch";
|
|
2325
|
+
wrap?: boolean;
|
|
2326
|
+
staggerFrames?: number;
|
|
2327
|
+
staggerDirection?: "forward" | "reverse" | "center-out";
|
|
2328
|
+
overflow?: "visible" | "hidden";
|
|
2329
|
+
background?: string;
|
|
2330
|
+
borderRadius?: number;
|
|
2331
|
+
borderColor?: string;
|
|
2332
|
+
borderWidth?: number;
|
|
2333
|
+
strokeAlign?: "inside" | "center" | "outside";
|
|
2334
|
+
strokeRadius?: number;
|
|
2335
|
+
children?: LayoutNode[];
|
|
2336
|
+
}
|
|
2337
|
+
interface BlockNode extends CompositionNodeBase {
|
|
2338
|
+
kind: "block";
|
|
2339
|
+
gap?: number;
|
|
2340
|
+
padding?: number;
|
|
2341
|
+
align?: "start" | "center" | "end" | "stretch";
|
|
2342
|
+
staggerFrames?: number;
|
|
2343
|
+
staggerDirection?: "forward" | "reverse" | "center-out";
|
|
2344
|
+
overflow?: "visible" | "hidden";
|
|
2345
|
+
background?: string;
|
|
2346
|
+
borderRadius?: number;
|
|
2347
|
+
borderColor?: string;
|
|
2348
|
+
borderWidth?: number;
|
|
2349
|
+
strokeAlign?: "inside" | "center" | "outside";
|
|
2350
|
+
strokeRadius?: number;
|
|
2351
|
+
children?: LayoutNode[];
|
|
2352
|
+
}
|
|
2353
|
+
interface BoxNode extends CompositionNodeBase {
|
|
2354
|
+
kind: "box";
|
|
2355
|
+
background?: string;
|
|
2356
|
+
borderRadius?: number;
|
|
2357
|
+
padding?: number;
|
|
2358
|
+
staggerFrames?: number;
|
|
2359
|
+
staggerDirection?: "forward" | "reverse" | "center-out";
|
|
2360
|
+
overflow?: "visible" | "hidden";
|
|
2361
|
+
borderColor?: string;
|
|
2362
|
+
borderWidth?: number;
|
|
2363
|
+
strokeAlign?: "inside" | "center" | "outside";
|
|
2364
|
+
strokeRadius?: number;
|
|
2365
|
+
children?: LayoutNode[];
|
|
2366
|
+
}
|
|
2367
|
+
declare const TextShadowSchema: z.ZodObject<{
|
|
2368
|
+
color: z.ZodOptional<z.ZodString>;
|
|
2369
|
+
offset: z.ZodOptional<z.ZodObject<{
|
|
2370
|
+
x: z.ZodNumber;
|
|
2371
|
+
y: z.ZodNumber;
|
|
2372
|
+
}, z.core.$strip>>;
|
|
2373
|
+
blurRadius: z.ZodOptional<z.ZodNumber>;
|
|
2374
|
+
}, z.core.$strict>;
|
|
2375
|
+
type TextShadow = z.infer<typeof TextShadowSchema>;
|
|
2376
|
+
declare const TextAnimatorSchema: z.ZodObject<{
|
|
2377
|
+
id: z.ZodString;
|
|
2378
|
+
unit: z.ZodDefault<z.ZodEnum<{
|
|
2379
|
+
character: "character";
|
|
2380
|
+
word: "word";
|
|
2381
|
+
line: "line";
|
|
2382
|
+
}>>;
|
|
2383
|
+
rangeStart: z.ZodDefault<z.ZodNumber>;
|
|
2384
|
+
rangeEnd: z.ZodDefault<z.ZodNumber>;
|
|
2385
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
2386
|
+
easing: z.ZodDefault<z.ZodString>;
|
|
2387
|
+
transform: z.ZodOptional<z.ZodObject<{
|
|
2388
|
+
x: z.ZodOptional<z.ZodNumber>;
|
|
2389
|
+
y: z.ZodOptional<z.ZodNumber>;
|
|
2390
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
2391
|
+
scaleX: z.ZodOptional<z.ZodNumber>;
|
|
2392
|
+
scaleY: z.ZodOptional<z.ZodNumber>;
|
|
2393
|
+
rotation: z.ZodOptional<z.ZodNumber>;
|
|
2394
|
+
rotationX: z.ZodOptional<z.ZodNumber>;
|
|
2395
|
+
rotationY: z.ZodOptional<z.ZodNumber>;
|
|
2396
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
2397
|
+
blur: z.ZodOptional<z.ZodNumber>;
|
|
2398
|
+
color: z.ZodOptional<z.ZodString>;
|
|
2399
|
+
}, z.core.$strict>>;
|
|
2400
|
+
}, z.core.$strip>;
|
|
2401
|
+
type TextAnimator = z.infer<typeof TextAnimatorSchema>;
|
|
2402
|
+
declare const TextAnimator: {
|
|
2403
|
+
/**
|
|
2404
|
+
* Per-character staggered wave rise with baseline tilt and fade.
|
|
2405
|
+
*/
|
|
2406
|
+
waveRise(options?: {
|
|
2407
|
+
id?: string;
|
|
2408
|
+
unit?: "character" | "word" | "line";
|
|
2409
|
+
y?: number;
|
|
2410
|
+
rotationX?: number;
|
|
2411
|
+
opacity?: number;
|
|
2412
|
+
blur?: number;
|
|
2413
|
+
easing?: string;
|
|
2414
|
+
rangeStart?: number;
|
|
2415
|
+
rangeEnd?: number;
|
|
2416
|
+
offset?: number;
|
|
2417
|
+
}): TextAnimator;
|
|
2418
|
+
/**
|
|
2419
|
+
* Per-word or per-character pop / scale bounce.
|
|
2420
|
+
*/
|
|
2421
|
+
wordPop(options?: {
|
|
2422
|
+
id?: string;
|
|
2423
|
+
scale?: number;
|
|
2424
|
+
y?: number;
|
|
2425
|
+
easing?: string;
|
|
2426
|
+
}): TextAnimator;
|
|
2427
|
+
/**
|
|
2428
|
+
* Per-character cinematic optical blur to crisp reveal.
|
|
2429
|
+
*/
|
|
2430
|
+
blurIn(options?: {
|
|
2431
|
+
id?: string;
|
|
2432
|
+
unit?: "character" | "word";
|
|
2433
|
+
blur?: number;
|
|
2434
|
+
y?: number;
|
|
2435
|
+
opacity?: number;
|
|
2436
|
+
easing?: string;
|
|
2437
|
+
}): TextAnimator;
|
|
2438
|
+
/**
|
|
2439
|
+
* 3D letter flip (like airport split-flap display or 3D letter roll).
|
|
2440
|
+
*/
|
|
2441
|
+
flip3D(options?: {
|
|
2442
|
+
id?: string;
|
|
2443
|
+
unit?: "character" | "word";
|
|
2444
|
+
rotationX?: number;
|
|
2445
|
+
easing?: string;
|
|
2446
|
+
}): TextAnimator;
|
|
2447
|
+
/**
|
|
2448
|
+
* Color sweep passing across glyphs/words.
|
|
2449
|
+
*/
|
|
2450
|
+
colorSweep(options: {
|
|
2451
|
+
id?: string;
|
|
2452
|
+
color: string;
|
|
2453
|
+
unit?: "character" | "word";
|
|
2454
|
+
easing?: string;
|
|
2455
|
+
}): TextAnimator;
|
|
2456
|
+
};
|
|
2457
|
+
interface TextNode extends CompositionNodeBase {
|
|
2458
|
+
kind: "text";
|
|
2459
|
+
text?: string;
|
|
2460
|
+
spans?: TextSpan[];
|
|
2461
|
+
fontFamily?: string;
|
|
2462
|
+
fontSize?: number;
|
|
2463
|
+
fontWeight?: number | string;
|
|
2464
|
+
fontStyle?: string;
|
|
2465
|
+
fill?: string;
|
|
2466
|
+
align?: "start" | "center" | "end";
|
|
2467
|
+
verticalAlign?: "top" | "middle" | "bottom";
|
|
2468
|
+
lineHeight?: number;
|
|
2469
|
+
letterSpacing?: number;
|
|
2470
|
+
background?: string;
|
|
2471
|
+
borderRadius?: number;
|
|
2472
|
+
padding?: number;
|
|
2473
|
+
stroke?: string;
|
|
2474
|
+
strokeWidth?: number;
|
|
2475
|
+
strokeAlign?: "inside" | "center" | "outside";
|
|
2476
|
+
textShadow?: string;
|
|
2477
|
+
shadows?: TextShadow[];
|
|
2478
|
+
pathOptions?: TextPathOptions;
|
|
2479
|
+
typewriter?: TypewriterAnimator;
|
|
2480
|
+
marquee?: KineticMarqueeConfig;
|
|
2481
|
+
animators?: (TextAnimator | AETextAnimator | AdvancedTextAnimator)[];
|
|
2482
|
+
}
|
|
2483
|
+
interface MediaNode extends CompositionNodeBase {
|
|
2484
|
+
kind: "media";
|
|
2485
|
+
inputHandleId: string;
|
|
2486
|
+
dataType?: string;
|
|
2487
|
+
fit?: "cover" | "contain" | "fill" | "none";
|
|
2488
|
+
borderRadius?: number;
|
|
2489
|
+
borderColor?: string;
|
|
2490
|
+
borderWidth?: number;
|
|
2491
|
+
strokeAlign?: "inside" | "center" | "outside";
|
|
2492
|
+
strokeRadius?: number;
|
|
2493
|
+
volume?: number;
|
|
2494
|
+
muted?: boolean;
|
|
2495
|
+
/** Source in-point: seconds into the clip that play at the layer's startFrame. */
|
|
2496
|
+
trimStartSec?: number;
|
|
2497
|
+
fontFamily?: string;
|
|
2498
|
+
fontSize?: number;
|
|
2499
|
+
fontWeight?: number | string;
|
|
2500
|
+
fontStyle?: string;
|
|
2501
|
+
fill?: string;
|
|
2502
|
+
align?: "start" | "center" | "end";
|
|
2503
|
+
verticalAlign?: "top" | "middle" | "bottom";
|
|
2504
|
+
lineHeight?: number;
|
|
2505
|
+
letterSpacing?: number;
|
|
2506
|
+
background?: string;
|
|
2507
|
+
padding?: number;
|
|
2508
|
+
stroke?: string;
|
|
2509
|
+
strokeWidth?: number;
|
|
2510
|
+
textShadow?: string;
|
|
2511
|
+
shadows?: TextShadow[];
|
|
2512
|
+
maxWidth?: number;
|
|
2513
|
+
}
|
|
2514
|
+
interface ShapeNode extends CompositionNodeBase {
|
|
2515
|
+
kind: "shape";
|
|
2516
|
+
shapeType?: ShapeType;
|
|
2517
|
+
borderRadius?: number;
|
|
2518
|
+
radiusTL?: number;
|
|
2519
|
+
radiusTR?: number;
|
|
2520
|
+
radiusBR?: number;
|
|
2521
|
+
radiusBL?: number;
|
|
2522
|
+
polygonSides?: number;
|
|
2523
|
+
starPoints?: number;
|
|
2524
|
+
starInnerRadiusRatio?: number;
|
|
2525
|
+
arrowHeadWidth?: number;
|
|
2526
|
+
arrowHeadLength?: number;
|
|
2527
|
+
arrowShaftWidth?: number;
|
|
2528
|
+
d?: string;
|
|
2529
|
+
fillType?: "solid" | "linear" | "radial" | "none";
|
|
2530
|
+
fillColor?: string;
|
|
2531
|
+
gradientEndColor?: string;
|
|
2532
|
+
gradientAngle?: number;
|
|
2533
|
+
strokeColor?: string;
|
|
2534
|
+
strokeWidth?: number;
|
|
2535
|
+
strokeDashArray?: string;
|
|
2536
|
+
strokeDashOffset?: number;
|
|
2537
|
+
strokeLineCap?: "butt" | "round" | "square";
|
|
2538
|
+
strokeLineJoin?: "miter" | "round" | "bevel";
|
|
2539
|
+
strokeAlign?: "inside" | "center" | "outside";
|
|
2540
|
+
trimStart?: number;
|
|
2541
|
+
trimEnd?: number;
|
|
2542
|
+
trimOffset?: number;
|
|
2543
|
+
}
|
|
2544
|
+
declare const CameraLensSchema: z.ZodObject<{
|
|
2545
|
+
focalLength: z.ZodDefault<z.ZodNumber>;
|
|
2546
|
+
fov: z.ZodOptional<z.ZodNumber>;
|
|
2547
|
+
sensorWidth: z.ZodDefault<z.ZodNumber>;
|
|
2548
|
+
near: z.ZodDefault<z.ZodNumber>;
|
|
2549
|
+
far: z.ZodDefault<z.ZodNumber>;
|
|
2550
|
+
zoom: z.ZodDefault<z.ZodNumber>;
|
|
2551
|
+
}, z.core.$strict>;
|
|
2552
|
+
type CameraLens = z.infer<typeof CameraLensSchema>;
|
|
2553
|
+
declare const CameraDoFSchema: z.ZodObject<{
|
|
2554
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
2555
|
+
focusDistance: z.ZodDefault<z.ZodNumber>;
|
|
2556
|
+
fStop: z.ZodDefault<z.ZodNumber>;
|
|
2557
|
+
maxBlurRadius: z.ZodDefault<z.ZodNumber>;
|
|
2558
|
+
apertureBlades: z.ZodDefault<z.ZodNumber>;
|
|
2559
|
+
anamorphicRatio: z.ZodDefault<z.ZodNumber>;
|
|
2560
|
+
}, z.core.$strict>;
|
|
2561
|
+
/** Depth of field as authored: fields with schema defaults may be left out. */
|
|
2562
|
+
type CameraDoF = z.input<typeof CameraDoFSchema>;
|
|
2563
|
+
declare const CameraShakeSchema: z.ZodObject<{
|
|
2564
|
+
translationAmplitude: z.ZodDefault<z.ZodNumber>;
|
|
2565
|
+
rotationAmplitude: z.ZodDefault<z.ZodNumber>;
|
|
2566
|
+
frequency: z.ZodDefault<z.ZodNumber>;
|
|
2567
|
+
octaves: z.ZodDefault<z.ZodNumber>;
|
|
2568
|
+
seed: z.ZodDefault<z.ZodNumber>;
|
|
2569
|
+
}, z.core.$strict>;
|
|
2570
|
+
type CameraShake = z.infer<typeof CameraShakeSchema>;
|
|
2571
|
+
interface CameraNode {
|
|
2572
|
+
id: string;
|
|
2573
|
+
kind: "camera";
|
|
2574
|
+
mode?: "lookAt" | "free" | "orbit";
|
|
2575
|
+
x?: number;
|
|
2576
|
+
y?: number;
|
|
2577
|
+
z?: number;
|
|
2578
|
+
targetX?: number;
|
|
2579
|
+
targetY?: number;
|
|
2580
|
+
targetZ?: number;
|
|
2581
|
+
pitch?: number;
|
|
2582
|
+
yaw?: number;
|
|
2583
|
+
roll?: number;
|
|
2584
|
+
lens?: CameraLens;
|
|
2585
|
+
dof?: CameraDoF;
|
|
2586
|
+
shake?: CameraShake;
|
|
2587
|
+
startFrame?: number;
|
|
2588
|
+
durationFrames?: number;
|
|
2589
|
+
animation?: LayerAnimationSpec;
|
|
2590
|
+
}
|
|
2591
|
+
declare const CameraNodeSchema: z.ZodType<CameraNode>;
|
|
2592
|
+
type LightType = "ambient" | "directional" | "point" | "spot";
|
|
2593
|
+
declare const LightTypeSchema: z.ZodEnum<{
|
|
2594
|
+
ambient: "ambient";
|
|
2595
|
+
directional: "directional";
|
|
2596
|
+
point: "point";
|
|
2597
|
+
spot: "spot";
|
|
2598
|
+
}>;
|
|
2599
|
+
interface LightNode {
|
|
2600
|
+
id: string;
|
|
2601
|
+
kind: "light";
|
|
2602
|
+
lightType?: LightType;
|
|
2603
|
+
color?: string;
|
|
2604
|
+
intensity?: number;
|
|
2605
|
+
x?: number;
|
|
2606
|
+
y?: number;
|
|
2607
|
+
z?: number;
|
|
2608
|
+
targetX?: number;
|
|
2609
|
+
targetY?: number;
|
|
2610
|
+
targetZ?: number;
|
|
2611
|
+
direction?: [number, number, number];
|
|
2612
|
+
radius?: number;
|
|
2613
|
+
decay?: number;
|
|
2614
|
+
angle?: number;
|
|
2615
|
+
penumbra?: number;
|
|
2616
|
+
startFrame?: number;
|
|
2617
|
+
durationFrames?: number;
|
|
2618
|
+
animation?: LayerAnimationSpec;
|
|
2619
|
+
}
|
|
2620
|
+
declare const LightNodeSchema: z.ZodType<LightNode>;
|
|
2621
|
+
interface Model3DNode {
|
|
2622
|
+
id: string;
|
|
2623
|
+
kind: "model3d";
|
|
2624
|
+
src?: string;
|
|
2625
|
+
modelFormat?: "obj" | "fbx" | "gltf" | "glb" | "stl" | "ply" | "vox" | "3ds" | "off" | "auto";
|
|
2626
|
+
modelData?: unknown;
|
|
2627
|
+
animationName?: string;
|
|
2628
|
+
animationProgress?: number;
|
|
2629
|
+
animationTime?: number;
|
|
2630
|
+
animationSpeed?: number;
|
|
2631
|
+
loop?: boolean;
|
|
2632
|
+
x?: number;
|
|
2633
|
+
y?: number;
|
|
2634
|
+
z?: number;
|
|
2635
|
+
rotateX?: number;
|
|
2636
|
+
rotateY?: number;
|
|
2637
|
+
rotateZ?: number;
|
|
2638
|
+
scale?: number;
|
|
2639
|
+
scaleX?: number;
|
|
2640
|
+
scaleY?: number;
|
|
2641
|
+
scaleZ?: number;
|
|
2642
|
+
material?: MaterialType;
|
|
2643
|
+
shininess?: number;
|
|
2644
|
+
roughness?: number;
|
|
2645
|
+
specularIntensity?: number;
|
|
2646
|
+
ambientIntensity?: number;
|
|
2647
|
+
metallic?: number;
|
|
2648
|
+
color?: string;
|
|
2649
|
+
colorTint?: string;
|
|
2650
|
+
opacity?: number;
|
|
2651
|
+
twoSided?: boolean;
|
|
2652
|
+
wireframe?: boolean;
|
|
2653
|
+
is3D?: boolean;
|
|
2654
|
+
texture?: string;
|
|
2655
|
+
center?: boolean;
|
|
2656
|
+
normalizeSize?: number;
|
|
2657
|
+
startFrame?: number;
|
|
2658
|
+
durationFrames?: number;
|
|
2659
|
+
animation?: LayerAnimationSpec;
|
|
2660
|
+
audioDeform?: MeshAudioDeformConfig;
|
|
2661
|
+
text3dOptions?: unknown;
|
|
2662
|
+
}
|
|
2663
|
+
type LayoutNode = FlexNode | BlockNode | BoxNode | TextNode | MediaNode | ShapeNode | CameraNode | LightNode | Model3DNode;
|
|
2664
|
+
declare const FlexNodeSchema: z.ZodType<FlexNode>;
|
|
2665
|
+
declare const BoxNodeSchema: z.ZodType<BoxNode>;
|
|
2666
|
+
declare const TextSpanMarkSchema: z.ZodObject<{
|
|
2667
|
+
background: z.ZodOptional<z.ZodString>;
|
|
2668
|
+
borderRadius: z.ZodOptional<z.ZodNumber>;
|
|
2669
|
+
paddingX: z.ZodOptional<z.ZodNumber>;
|
|
2670
|
+
paddingY: z.ZodOptional<z.ZodNumber>;
|
|
2671
|
+
}, z.core.$strict>;
|
|
2672
|
+
declare const TextSpanSchema: z.ZodObject<{
|
|
2673
|
+
text: z.ZodUnion<readonly [z.ZodString, z.ZodCustom<{
|
|
2674
|
+
get: (ctx?: unknown) => string;
|
|
2675
|
+
}, {
|
|
2676
|
+
get: (ctx?: unknown) => string;
|
|
2677
|
+
}>]>;
|
|
2678
|
+
fontFamily: z.ZodOptional<z.ZodString>;
|
|
2679
|
+
fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodCustom<{
|
|
2680
|
+
get: (ctx?: unknown) => number;
|
|
2681
|
+
}, {
|
|
2682
|
+
get: (ctx?: unknown) => number;
|
|
2683
|
+
}>]>>;
|
|
2684
|
+
fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
2685
|
+
fontStyle: z.ZodOptional<z.ZodEnum<{
|
|
2686
|
+
normal: "normal";
|
|
2687
|
+
italic: "italic";
|
|
2688
|
+
}>>;
|
|
2689
|
+
fill: z.ZodOptional<z.ZodUnion<readonly [z.ZodOptional<z.ZodString>, z.ZodCustom<{
|
|
2690
|
+
get: (ctx?: unknown) => string;
|
|
2691
|
+
}, {
|
|
2692
|
+
get: (ctx?: unknown) => string;
|
|
2693
|
+
}>]>>;
|
|
2694
|
+
letterSpacing: z.ZodOptional<z.ZodNumber>;
|
|
2695
|
+
baselineShift: z.ZodOptional<z.ZodNumber>;
|
|
2696
|
+
opacity: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodCustom<{
|
|
2697
|
+
get: (ctx?: unknown) => number;
|
|
2698
|
+
}, {
|
|
2699
|
+
get: (ctx?: unknown) => number;
|
|
2700
|
+
}>]>>;
|
|
2701
|
+
mark: z.ZodOptional<z.ZodObject<{
|
|
2702
|
+
background: z.ZodOptional<z.ZodString>;
|
|
2703
|
+
borderRadius: z.ZodOptional<z.ZodNumber>;
|
|
2704
|
+
paddingX: z.ZodOptional<z.ZodNumber>;
|
|
2705
|
+
paddingY: z.ZodOptional<z.ZodNumber>;
|
|
2706
|
+
}, z.core.$strict>>;
|
|
2707
|
+
}, z.core.$strict>;
|
|
2708
|
+
declare const TextNodeSchema: z.ZodType<TextNode>;
|
|
2709
|
+
declare const MediaNodeSchema: z.ZodType<MediaNode>;
|
|
2710
|
+
declare const ShapeNodeSchema: z.ZodType<ShapeNode>;
|
|
2711
|
+
declare const ColorStopSchema: z.ZodObject<{
|
|
2712
|
+
offset: z.ZodNumber;
|
|
2713
|
+
color: z.ZodString;
|
|
2714
|
+
}, z.core.$strip>;
|
|
2715
|
+
type ColorStop = z.infer<typeof ColorStopSchema>;
|
|
2716
|
+
declare const Model3DNodeSchema: z.ZodType<Model3DNode>;
|
|
2717
|
+
declare const LayoutNodeSchema: z.ZodType<LayoutNode>;
|
|
2718
|
+
declare const CompositorProgramSchema: z.ZodObject<{
|
|
2719
|
+
width: z.ZodNumber;
|
|
2720
|
+
height: z.ZodNumber;
|
|
2721
|
+
backgroundColor: z.ZodOptional<z.ZodString>;
|
|
2722
|
+
volume: z.ZodDefault<z.ZodNumber>;
|
|
2723
|
+
fps: z.ZodDefault<z.ZodNumber>;
|
|
2724
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
2725
|
+
Video: "Video";
|
|
2726
|
+
Image: "Image";
|
|
2727
|
+
}>>;
|
|
2728
|
+
antialias3d: z.ZodOptional<z.ZodBoolean>;
|
|
2729
|
+
layout: z.ZodDefault<z.ZodArray<z.ZodType<LayoutNode, unknown, z.core.$ZodTypeInternals<LayoutNode, unknown>>>>;
|
|
2730
|
+
fonts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2731
|
+
signals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2732
|
+
effects: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
2733
|
+
vision: z.ZodOptional<z.ZodUnknown>;
|
|
2734
|
+
onRequestFrame: z.ZodOptional<z.ZodCustom<unknown, unknown>>;
|
|
2735
|
+
}, z.core.$strict>;
|
|
2736
|
+
type CompositorProgramConfig = z.infer<typeof CompositorProgramSchema>;
|
|
2737
|
+
//#endregion
|
|
2738
|
+
//#region src/utils/layout/resolve-layout.d.ts
|
|
2739
|
+
interface Rect {
|
|
2740
|
+
x: number;
|
|
2741
|
+
y: number;
|
|
2742
|
+
width: number;
|
|
2743
|
+
height: number;
|
|
2744
|
+
}
|
|
2745
|
+
interface LayoutResult {
|
|
2746
|
+
/** Final rect per node id (post-layout, pre-affine-transform). */
|
|
2747
|
+
rects: Record<string, Rect>;
|
|
2748
|
+
/** Resolved outer size per node id. */
|
|
2749
|
+
sizes: Record<string, {
|
|
2750
|
+
width: number;
|
|
2751
|
+
height: number;
|
|
2752
|
+
}>;
|
|
2753
|
+
}
|
|
2754
|
+
/**
|
|
2755
|
+
* Intrinsic ("auto"/"fit") size for a leaf node. Return null when the node
|
|
2756
|
+
* has no measurable content. In the compositor this is backed by text
|
|
2757
|
+
* measurement / media metadata — the layout pass never measures itself.
|
|
2758
|
+
*/
|
|
2759
|
+
type MeasureFn = (node: LayoutNode, constraintWidth?: number) => {
|
|
2760
|
+
width: number;
|
|
2761
|
+
height: number;
|
|
2762
|
+
} | null;
|
|
2763
|
+
interface LayoutInput {
|
|
2764
|
+
/** Document roots — the only structural input. Size comes from `viewport`. */
|
|
2765
|
+
layout: LayoutNode[];
|
|
2766
|
+
viewport: {
|
|
2767
|
+
width: number;
|
|
2768
|
+
height: number;
|
|
2769
|
+
};
|
|
2770
|
+
measure?: MeasureFn;
|
|
2771
|
+
}
|
|
2772
|
+
/**
|
|
2773
|
+
* Ensure the Yoga WASM module is loaded. Safe to call multiple times —
|
|
2774
|
+
* subsequent calls return the cached instance immediately.
|
|
2775
|
+
*/
|
|
2776
|
+
|
|
2777
|
+
/** Deterministic layout (synchronous): document + viewport (+ measure) → rects. */
|
|
2778
|
+
declare function computeLayoutSync(yoga: Yoga, input: LayoutInput): LayoutResult;
|
|
2779
|
+
/** Deterministic layout: document + viewport (+ measure) → rects. */
|
|
2780
|
+
declare function computeLayout(input: LayoutInput): Promise<LayoutResult>;
|
|
2781
|
+
//#endregion
|
|
2782
|
+
//#region src/program/animation.d.ts
|
|
2783
|
+
/**
|
|
2784
|
+
* One keyframe as a tuple: `[frame, value]` or `[frame, value, ease]`. The
|
|
2785
|
+
* ease shapes the motion arriving at this keyframe from the one before.
|
|
2786
|
+
*/
|
|
2787
|
+
type KeyframeTuple = readonly [frame: number, value: number | string | boolean, ease?: string | EaseRef];
|
|
2788
|
+
interface FromToOptions {
|
|
2789
|
+
from?: number;
|
|
2790
|
+
to?: number;
|
|
2791
|
+
start?: number;
|
|
2792
|
+
end?: number;
|
|
2793
|
+
fromFrame?: number;
|
|
2794
|
+
toFrame?: number;
|
|
2795
|
+
durationFrames?: number;
|
|
2796
|
+
ease?: string | EaseRef;
|
|
2797
|
+
}
|
|
2798
|
+
interface Tilt3DOptions {
|
|
2799
|
+
from?: {
|
|
2800
|
+
rotateX?: number;
|
|
2801
|
+
rotateY?: number;
|
|
2802
|
+
rotateZ?: number;
|
|
2803
|
+
translateZ?: number;
|
|
2804
|
+
perspective?: number;
|
|
2805
|
+
};
|
|
2806
|
+
to: {
|
|
2807
|
+
rotateX?: number;
|
|
2808
|
+
rotateY?: number;
|
|
2809
|
+
rotateZ?: number;
|
|
2810
|
+
translateZ?: number;
|
|
2811
|
+
perspective?: number;
|
|
2812
|
+
};
|
|
2813
|
+
start?: number;
|
|
2814
|
+
end?: number;
|
|
2815
|
+
fromFrame?: number;
|
|
2816
|
+
toFrame?: number;
|
|
2817
|
+
ease?: string | EaseRef;
|
|
2818
|
+
}
|
|
2819
|
+
interface SignalTrackOptions {
|
|
2820
|
+
multiplier?: number;
|
|
2821
|
+
offset?: number;
|
|
2822
|
+
smoothing?: number;
|
|
2823
|
+
channel?: string;
|
|
2824
|
+
mode?: "continuous" | "accumulate";
|
|
2825
|
+
threshold?: number;
|
|
2826
|
+
debounceFrames?: number;
|
|
2827
|
+
}
|
|
2828
|
+
interface ColorSignalOptions {
|
|
2829
|
+
colorA: string;
|
|
2830
|
+
colorB: string;
|
|
2831
|
+
colorMode?: "interpolate" | "hueRotate" | "threshold";
|
|
2832
|
+
threshold?: number;
|
|
2833
|
+
smoothing?: number;
|
|
2834
|
+
}
|
|
2835
|
+
interface WiggleOptions {
|
|
2836
|
+
frequency?: number;
|
|
2837
|
+
amplitude?: number;
|
|
2838
|
+
octaves?: number;
|
|
2839
|
+
seed?: number;
|
|
2840
|
+
}
|
|
2841
|
+
interface SpringOptions {
|
|
2842
|
+
damping?: number;
|
|
2843
|
+
stiffness?: number;
|
|
2844
|
+
mass?: number;
|
|
2845
|
+
}
|
|
2846
|
+
interface PathLike3D {
|
|
2847
|
+
getPointAt(u: number): {
|
|
2848
|
+
position: [number, number, number];
|
|
2849
|
+
tangent?: [number, number, number];
|
|
2850
|
+
};
|
|
2851
|
+
getFrameAt?(u: number): {
|
|
2852
|
+
position: [number, number, number];
|
|
2853
|
+
tangent: [number, number, number];
|
|
2854
|
+
normal?: [number, number, number];
|
|
2855
|
+
binormal?: [number, number, number];
|
|
2856
|
+
rotation?: [number, number, number];
|
|
2857
|
+
};
|
|
2858
|
+
totalLength?: number;
|
|
2859
|
+
}
|
|
2860
|
+
interface FollowPathOptions {
|
|
2861
|
+
fromDistance?: number;
|
|
2862
|
+
toDistance?: number;
|
|
2863
|
+
fromProgress?: number;
|
|
2864
|
+
toProgress?: number;
|
|
2865
|
+
start?: number;
|
|
2866
|
+
end?: number;
|
|
2867
|
+
fromFrame?: number;
|
|
2868
|
+
toFrame?: number;
|
|
2869
|
+
autoOrient?: boolean;
|
|
2870
|
+
banking?: number;
|
|
2871
|
+
pitchOffset?: number;
|
|
2872
|
+
yawOffset?: number;
|
|
2873
|
+
rollOffset?: number;
|
|
2874
|
+
samples?: number;
|
|
2875
|
+
ease?: string | EaseRef;
|
|
2876
|
+
}
|
|
2877
|
+
interface CameraFollowPathOptions {
|
|
2878
|
+
fromProgress?: number;
|
|
2879
|
+
toProgress?: number;
|
|
2880
|
+
start?: number;
|
|
2881
|
+
end?: number;
|
|
2882
|
+
fromFrame?: number;
|
|
2883
|
+
toFrame?: number;
|
|
2884
|
+
mode?: "orientAlongPath" | "lookAtTarget" | "leadTarget";
|
|
2885
|
+
target?: [number, number, number];
|
|
2886
|
+
lookAhead?: number;
|
|
2887
|
+
samples?: number;
|
|
2888
|
+
ease?: string | EaseRef;
|
|
2889
|
+
}
|
|
2890
|
+
/**
|
|
2891
|
+
* Fluent builder and runtime representation for layer animations.
|
|
2892
|
+
* Supports chainable keyframes, reactive signal binding, Perlin wiggles, and springs.
|
|
2893
|
+
*/
|
|
2894
|
+
declare class LayerAnimation implements LayerAnimationSpec {
|
|
2895
|
+
tracks: AnimationTrack[];
|
|
2896
|
+
constructor(tracks?: AnimationTrack[]);
|
|
2897
|
+
static create(): LayerAnimation;
|
|
2898
|
+
static fromTo(prop: AnimatableProp, fromValue: number | string | boolean, toValue: number | string | boolean, options?: FromToOptions): LayerAnimation;
|
|
2899
|
+
/** A track from a list of `[frame, value, ease?]` keyframes; see {@link LayerAnimation.keys}. */
|
|
2900
|
+
static keys(prop: AnimatableProp, keyframes: readonly KeyframeTuple[]): LayerAnimation;
|
|
2901
|
+
static signal(prop: AnimatableProp, signalOrHandleId: unknown, options?: SignalTrackOptions): LayerAnimation;
|
|
2902
|
+
static colorSignal(prop: AnimatableProp, signalOrHandleId: unknown, options: ColorSignalOptions): LayerAnimation;
|
|
2903
|
+
static kineticSweep(fromOffset?: number, toOffset?: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): LayerAnimation;
|
|
2904
|
+
static typewriter(startFrame?: number, endFrame?: number, ease?: string | EaseRef): LayerAnimation;
|
|
2905
|
+
static letterSpacing(fromSpacing: number, toSpacing: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): LayerAnimation;
|
|
2906
|
+
static wiggle(prop: AnimatableProp, options?: WiggleOptions): LayerAnimation;
|
|
2907
|
+
static spring(prop: AnimatableProp, options?: SpringOptions): LayerAnimation;
|
|
2908
|
+
static firstMargin(fromMargin: number, toMargin: number, options?: FromToOptions): LayerAnimation;
|
|
2909
|
+
static strokeWidth(fromWidth: number, toWidth: number, options?: FromToOptions): LayerAnimation;
|
|
2910
|
+
static rotateX(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
2911
|
+
static rotateY(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
2912
|
+
static rotateZ(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
2913
|
+
static rotation(fromAngle: number, toAngle: number, options?: FromToOptions): LayerAnimation;
|
|
2914
|
+
addTrack(track: AnimationTrack): this;
|
|
2915
|
+
/**
|
|
2916
|
+
* Creates a keyframed track animating from fromValue to toValue.
|
|
2917
|
+
*/
|
|
2918
|
+
fromTo(prop: AnimatableProp, fromValue: number | string | boolean, toValue: number | string | boolean, options?: FromToOptions): this;
|
|
2919
|
+
/**
|
|
2920
|
+
* Appends a keyframe to an existing track for prop, or creates a new track.
|
|
2921
|
+
*/
|
|
2922
|
+
keyframe(prop: AnimatableProp, frame: number, value: number | string | boolean, ease?: string | EaseRef): this;
|
|
2923
|
+
/**
|
|
2924
|
+
* Adds several keyframes to prop's track at once:
|
|
2925
|
+
* `.keys("scale", [[0, 0], [12, 1.1, "back.out"], [20, 1]])`.
|
|
2926
|
+
* Frames are rounded to whole frames, so beat math can be passed straight in.
|
|
2927
|
+
*/
|
|
2928
|
+
keys(prop: AnimatableProp, keyframes: readonly KeyframeTuple[]): this;
|
|
2929
|
+
/**
|
|
2930
|
+
* Animates opacity from 0 to 1 between startFrame and endFrame.
|
|
2931
|
+
*/
|
|
2932
|
+
fadeIn(startFrame?: number, endFrame?: number, ease?: string | EaseRef): this;
|
|
2933
|
+
/**
|
|
2934
|
+
* Animates opacity from 1 to 0 between startFrame and endFrame.
|
|
2935
|
+
*/
|
|
2936
|
+
fadeOut(startFrame: number, endFrame: number, ease?: string | EaseRef): this;
|
|
2937
|
+
/**
|
|
2938
|
+
* Slides in Y coordinate from fromY to toY.
|
|
2939
|
+
*/
|
|
2940
|
+
slideInY(fromY: number, toY: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): this;
|
|
2941
|
+
/**
|
|
2942
|
+
* Slides in X coordinate from fromX to toX.
|
|
2943
|
+
*/
|
|
2944
|
+
slideInX(fromX: number, toX: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): this;
|
|
2945
|
+
/**
|
|
2946
|
+
* Sweeps kinetic typography animator offset from fromOffset to toOffset.
|
|
2947
|
+
* Cascades per-glyph or per-word transforms across the text.
|
|
2948
|
+
*/
|
|
2949
|
+
kineticSweep(fromOffset?: number, toOffset?: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): this;
|
|
2950
|
+
/**
|
|
2951
|
+
* Progressive character write-on / typewriter text reveal.
|
|
2952
|
+
*/
|
|
2953
|
+
typewriter(startFrame?: number, endFrame?: number, ease?: string | EaseRef): this;
|
|
2954
|
+
/**
|
|
2955
|
+
* Animates letter-spacing (tracking expansion or compression).
|
|
2956
|
+
*/
|
|
2957
|
+
letterSpacing(fromSpacing: number, toSpacing: number, startFrame?: number, endFrame?: number, ease?: string | EaseRef): this;
|
|
2958
|
+
/**
|
|
2959
|
+
* Animates text position along a path via First Margin.
|
|
2960
|
+
*/
|
|
2961
|
+
firstMargin(fromMargin: number, toMargin: number, options?: FromToOptions): this;
|
|
2962
|
+
/**
|
|
2963
|
+
* Animates Last Margin spatial limit along a path.
|
|
2964
|
+
*/
|
|
2965
|
+
lastMargin(fromMargin: number, toMargin: number, options?: FromToOptions): this;
|
|
2966
|
+
/**
|
|
2967
|
+
* Animates baseline shift perpendicular to curve tangent.
|
|
2968
|
+
*/
|
|
2969
|
+
baselineShift(fromShift: number, toShift: number, options?: FromToOptions): this;
|
|
2970
|
+
/**
|
|
2971
|
+
* Animate rotateX from fromAngle to toAngle.
|
|
2972
|
+
*/
|
|
2973
|
+
rotateX(fromAngle: number, toAngle: number, options?: FromToOptions): this;
|
|
2974
|
+
/**
|
|
2975
|
+
* Animate rotateY from fromAngle to toAngle.
|
|
2976
|
+
*/
|
|
2977
|
+
rotateY(fromAngle: number, toAngle: number, options?: FromToOptions): this;
|
|
2978
|
+
/**
|
|
2979
|
+
* Animate rotateZ from fromAngle to toAngle.
|
|
2980
|
+
*/
|
|
2981
|
+
rotateZ(fromAngle: number, toAngle: number, options?: FromToOptions): this;
|
|
2982
|
+
/**
|
|
2983
|
+
* Animate perspective camera distance in pixels.
|
|
2984
|
+
*/
|
|
2985
|
+
perspective(fromDist: number, toDist: number, options?: FromToOptions): this;
|
|
2986
|
+
/**
|
|
2987
|
+
* Animate depth translation (translateZ) in pixels.
|
|
2988
|
+
*/
|
|
2989
|
+
translateZ(fromZ: number, toZ: number, options?: FromToOptions): this;
|
|
2990
|
+
/**
|
|
2991
|
+
* Composite helper to tilt a container across multiple 3D axes simultaneously.
|
|
2992
|
+
*/
|
|
2993
|
+
tilt3D(options: Tilt3DOptions): this;
|
|
2994
|
+
/**
|
|
2995
|
+
* Binds an animatable property to a reactive continuous Signal (e.g. LFO, speech energy, audio pitch).
|
|
2996
|
+
*
|
|
2997
|
+
* `signalOrHandleId` is either a signal object (`Signal.fromArray`,
|
|
2998
|
+
* `Signal.builder`, an audio channel …) — carried on the track and
|
|
2999
|
+
* registered with the program automatically — or the name of a signal
|
|
3000
|
+
* registered with `comp.addSignal(name, signal)`.
|
|
3001
|
+
*/
|
|
3002
|
+
signal(prop: AnimatableProp, signalOrHandleId: unknown, options?: SignalTrackOptions): this;
|
|
3003
|
+
/**
|
|
3004
|
+
* Modulates color interpolation based on an active signal (object or
|
|
3005
|
+
* registered name, as in {@link LayerAnimation.signal}).
|
|
3006
|
+
*/
|
|
3007
|
+
colorSignal(prop: AnimatableProp, signalOrHandleId: unknown, options: ColorSignalOptions): this;
|
|
3008
|
+
/**
|
|
3009
|
+
* Adds organic Perlin noise wiggling to a property.
|
|
3010
|
+
*/
|
|
3011
|
+
wiggle(prop: AnimatableProp, options?: WiggleOptions): this;
|
|
3012
|
+
/**
|
|
3013
|
+
* Adds physical harmonic spring overshoot behavior to a property transition.
|
|
3014
|
+
*/
|
|
3015
|
+
spring(prop: AnimatableProp, options?: SpringOptions): this;
|
|
3016
|
+
/**
|
|
3017
|
+
* Follows a 2D or 3D path with constant arc-length velocity, automatic orientation,
|
|
3018
|
+
* banking into turns, and optional easing.
|
|
3019
|
+
*/
|
|
3020
|
+
followPath(path: PathLike3D, options?: FollowPathOptions): this;
|
|
3021
|
+
/**
|
|
3022
|
+
* Attaches this animation to a target LayoutNode and returns the node.
|
|
3023
|
+
*/
|
|
3024
|
+
applyTo<T extends {
|
|
3025
|
+
animation?: LayerAnimationSpec;
|
|
3026
|
+
}>(node: T): T;
|
|
3027
|
+
/**
|
|
3028
|
+
* Returns the validated LayerAnimation specification object.
|
|
3029
|
+
*/
|
|
3030
|
+
toSpec(): LayerAnimationSpec;
|
|
3031
|
+
toJSON(): LayerAnimationSpec;
|
|
3032
|
+
}
|
|
3033
|
+
interface DollyOptions {
|
|
3034
|
+
fromDistance: number;
|
|
3035
|
+
toDistance: number;
|
|
3036
|
+
start?: number;
|
|
3037
|
+
end?: number;
|
|
3038
|
+
fromFrame?: number;
|
|
3039
|
+
toFrame?: number;
|
|
3040
|
+
ease?: string;
|
|
3041
|
+
}
|
|
3042
|
+
interface OrbitOptions {
|
|
3043
|
+
radius?: {
|
|
3044
|
+
from?: number;
|
|
3045
|
+
to: number;
|
|
3046
|
+
};
|
|
3047
|
+
azimuth?: {
|
|
3048
|
+
from?: number;
|
|
3049
|
+
to: number;
|
|
3050
|
+
};
|
|
3051
|
+
elevation?: {
|
|
3052
|
+
from?: number;
|
|
3053
|
+
to: number;
|
|
3054
|
+
};
|
|
3055
|
+
start?: number;
|
|
3056
|
+
end?: number;
|
|
3057
|
+
fromFrame?: number;
|
|
3058
|
+
toFrame?: number;
|
|
3059
|
+
ease?: string;
|
|
3060
|
+
}
|
|
3061
|
+
interface RackFocusOptions {
|
|
3062
|
+
fromDistance: number;
|
|
3063
|
+
toDistance: number;
|
|
3064
|
+
fromFStop?: number;
|
|
3065
|
+
toFStop?: number;
|
|
3066
|
+
start?: number;
|
|
3067
|
+
end?: number;
|
|
3068
|
+
fromFrame?: number;
|
|
3069
|
+
toFrame?: number;
|
|
3070
|
+
ease?: string;
|
|
3071
|
+
}
|
|
3072
|
+
interface HandheldOptions {
|
|
3073
|
+
translationAmplitude: number;
|
|
3074
|
+
rotationAmplitude: number;
|
|
3075
|
+
start?: number;
|
|
3076
|
+
end?: number;
|
|
3077
|
+
fromFrame?: number;
|
|
3078
|
+
toFrame?: number;
|
|
3079
|
+
}
|
|
3080
|
+
declare class CameraAnimation extends LayerAnimation {
|
|
3081
|
+
static camera(): CameraAnimation;
|
|
3082
|
+
dolly(fromDistanceOrOptions: number | DollyOptions, toDistance?: number, options?: FromToOptions): this;
|
|
3083
|
+
orbit(options: OrbitOptions): this;
|
|
3084
|
+
truck(fromX: number, toX: number, options?: FromToOptions): this;
|
|
3085
|
+
pedestal(fromY: number, toY: number, options?: FromToOptions): this;
|
|
3086
|
+
pan(fromAngleDeg: number, toAngleDeg: number, options?: FromToOptions): this;
|
|
3087
|
+
tilt(fromAngleDeg: number, toAngleDeg: number, options?: FromToOptions): this;
|
|
3088
|
+
roll(fromAngleDeg: number, toAngleDeg: number, options?: FromToOptions): this;
|
|
3089
|
+
rackFocus(options: RackFocusOptions): this;
|
|
3090
|
+
handheld(options: HandheldOptions): this;
|
|
3091
|
+
/**
|
|
3092
|
+
* Animates camera eye and lookAt target along a 3D path with constant velocity,
|
|
3093
|
+
* leading target look-ahead, or path tangent orientation.
|
|
3094
|
+
*/
|
|
3095
|
+
followPath3D(path: PathLike3D, options?: CameraFollowPathOptions): this;
|
|
3096
|
+
}
|
|
3097
|
+
//#endregion
|
|
3098
|
+
//#region src/program/evaluator.d.ts
|
|
3099
|
+
type SignalDataSource = unknown;
|
|
3100
|
+
interface TrackEvaluationContext {
|
|
3101
|
+
/** Root frame (timeline frame). */
|
|
3102
|
+
rootFrame?: number;
|
|
3103
|
+
/** Layer start frame offset. */
|
|
3104
|
+
startFrame?: number;
|
|
3105
|
+
/** Base layer property fallback values. */
|
|
3106
|
+
baseValues?: Record<string, unknown>;
|
|
3107
|
+
/** Connected signal providers indexed by inputHandleId. */
|
|
3108
|
+
signals?: Record<string, SignalDataSource>;
|
|
3109
|
+
}
|
|
3110
|
+
/**
|
|
3111
|
+
* Procedural wiggle generator using multi-octave coherent 1D gradient noise.
|
|
3112
|
+
*/
|
|
3113
|
+
|
|
3114
|
+
/**
|
|
3115
|
+
* Evaluates an AnimationTrack at a given global or local frame.
|
|
3116
|
+
*/
|
|
3117
|
+
declare function evaluateTrackAtFrame(track: AnimationTrack, frame: number, fps?: number, context?: TrackEvaluationContext): number | boolean | string;
|
|
3118
|
+
/**
|
|
3119
|
+
* Evaluates all animation tracks for a layer at `frame`.
|
|
3120
|
+
*/
|
|
3121
|
+
declare function evaluateAnimationAtFrame(animation: LayerAnimationSpec | undefined, frame: number, fps?: number, context?: TrackEvaluationContext): Record<string, number | boolean | string>;
|
|
3122
|
+
//#endregion
|
|
3123
|
+
//#region src/program/sequence.d.ts
|
|
3124
|
+
/**
|
|
3125
|
+
* Camera Transition Type across scene boundaries.
|
|
3126
|
+
*/
|
|
3127
|
+
declare const SceneTransitionTypeSchema: z.ZodEnum<{
|
|
3128
|
+
cut: "cut";
|
|
3129
|
+
carrierMatchCut: "carrierMatchCut";
|
|
3130
|
+
cameraWhip: "cameraWhip";
|
|
3131
|
+
focusPullDissolve: "focusPullDissolve";
|
|
3132
|
+
irisAperture: "irisAperture";
|
|
3133
|
+
pushDirectional: "pushDirectional";
|
|
3134
|
+
}>;
|
|
3135
|
+
type SceneTransitionType = z.infer<typeof SceneTransitionTypeSchema>;
|
|
3136
|
+
/**
|
|
3137
|
+
* Carrier Object Handoff Configuration Schema.
|
|
3138
|
+
*/
|
|
3139
|
+
declare const CarrierHandoffConfigSchema: z.ZodObject<{
|
|
3140
|
+
sourceLayerId: z.ZodString;
|
|
3141
|
+
targetLayerId: z.ZodString;
|
|
3142
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
3143
|
+
exact: "exact";
|
|
3144
|
+
preserveVelocity: "preserveVelocity";
|
|
3145
|
+
morph: "morph";
|
|
3146
|
+
}>>;
|
|
3147
|
+
blendFrames: z.ZodDefault<z.ZodNumber>;
|
|
3148
|
+
}, z.core.$strict>;
|
|
3149
|
+
type CarrierHandoffConfig = z.infer<typeof CarrierHandoffConfigSchema>;
|
|
3150
|
+
/**
|
|
3151
|
+
* Individual Scene Definition Schema.
|
|
3152
|
+
*/
|
|
3153
|
+
declare const SceneDefinitionSchema: z.ZodObject<{
|
|
3154
|
+
id: z.ZodString;
|
|
3155
|
+
chapter: z.ZodDefault<z.ZodEnum<{
|
|
3156
|
+
custom: "custom";
|
|
3157
|
+
hook: "hook";
|
|
3158
|
+
tension: "tension";
|
|
3159
|
+
solution: "solution";
|
|
3160
|
+
feature_spotlight: "feature_spotlight";
|
|
3161
|
+
outro: "outro";
|
|
3162
|
+
}>>;
|
|
3163
|
+
durationMs: z.ZodOptional<z.ZodNumber>;
|
|
3164
|
+
durationFrames: z.ZodOptional<z.ZodNumber>;
|
|
3165
|
+
transitionOut: z.ZodDefault<z.ZodObject<{
|
|
3166
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
3167
|
+
cut: "cut";
|
|
3168
|
+
carrierMatchCut: "carrierMatchCut";
|
|
3169
|
+
cameraWhip: "cameraWhip";
|
|
3170
|
+
focusPullDissolve: "focusPullDissolve";
|
|
3171
|
+
irisAperture: "irisAperture";
|
|
3172
|
+
pushDirectional: "pushDirectional";
|
|
3173
|
+
}>>;
|
|
3174
|
+
durationFrames: z.ZodDefault<z.ZodNumber>;
|
|
3175
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
3176
|
+
sourceLayerId: z.ZodString;
|
|
3177
|
+
targetLayerId: z.ZodString;
|
|
3178
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
3179
|
+
exact: "exact";
|
|
3180
|
+
preserveVelocity: "preserveVelocity";
|
|
3181
|
+
morph: "morph";
|
|
3182
|
+
}>>;
|
|
3183
|
+
blendFrames: z.ZodDefault<z.ZodNumber>;
|
|
3184
|
+
}, z.core.$strict>>;
|
|
3185
|
+
whipDirection: z.ZodDefault<z.ZodEnum<{
|
|
3186
|
+
left: "left";
|
|
3187
|
+
right: "right";
|
|
3188
|
+
up: "up";
|
|
3189
|
+
down: "down";
|
|
3190
|
+
}>>;
|
|
3191
|
+
}, z.core.$strip>>;
|
|
3192
|
+
}, z.core.$loose>;
|
|
3193
|
+
type SceneDefinition = z.infer<typeof SceneDefinitionSchema>;
|
|
3194
|
+
interface CarrierState {
|
|
3195
|
+
x: number;
|
|
3196
|
+
y: number;
|
|
3197
|
+
scale: number;
|
|
3198
|
+
vx: number;
|
|
3199
|
+
vy: number;
|
|
3200
|
+
}
|
|
3201
|
+
declare function computeCarrierContinuity(stateAtCut: CarrierState, targetInitialState: Partial<CarrierState>): CarrierState;
|
|
3202
|
+
interface SequenceTimelineResult {
|
|
3203
|
+
totalFrames: number;
|
|
3204
|
+
totalDurationMs: number;
|
|
3205
|
+
sceneOffsets: Array<{
|
|
3206
|
+
sceneId: string;
|
|
3207
|
+
startFrame: number;
|
|
3208
|
+
durationFrames: number;
|
|
3209
|
+
}>;
|
|
3210
|
+
}
|
|
3211
|
+
/**
|
|
3212
|
+
* Calculates global scene offsets and handoff frames across a sequence.
|
|
3213
|
+
*/
|
|
3214
|
+
declare function calculateSequenceTimeline(scenes: Array<{
|
|
3215
|
+
id: string;
|
|
3216
|
+
durationFrames?: number;
|
|
3217
|
+
durationMs?: number;
|
|
3218
|
+
transitionOverlap?: number;
|
|
3219
|
+
transitionOut?: {
|
|
3220
|
+
durationFrames?: number;
|
|
3221
|
+
};
|
|
3222
|
+
}>, fps?: number): SequenceTimelineResult;
|
|
3223
|
+
interface SceneOptions {
|
|
3224
|
+
id: string;
|
|
3225
|
+
chapter?: "hook" | "tension" | "solution" | "feature_spotlight" | "outro" | "custom";
|
|
3226
|
+
durationMs?: number;
|
|
3227
|
+
durationFrames?: number;
|
|
3228
|
+
transitionOut?: {
|
|
3229
|
+
type?: SceneTransitionType;
|
|
3230
|
+
durationFrames?: number;
|
|
3231
|
+
carrier?: CarrierHandoffConfig;
|
|
3232
|
+
whipDirection?: "left" | "right" | "up" | "down";
|
|
3233
|
+
};
|
|
3234
|
+
layout?: LayoutNode[];
|
|
3235
|
+
}
|
|
3236
|
+
declare class Scene {
|
|
3237
|
+
id: string;
|
|
3238
|
+
chapter: "hook" | "tension" | "solution" | "feature_spotlight" | "outro" | "custom";
|
|
3239
|
+
durationMs?: number;
|
|
3240
|
+
durationFrames?: number;
|
|
3241
|
+
transitionOut: {
|
|
3242
|
+
type: SceneTransitionType;
|
|
3243
|
+
durationFrames: number;
|
|
3244
|
+
carrier?: CarrierHandoffConfig;
|
|
3245
|
+
whipDirection: "left" | "right" | "up" | "down";
|
|
3246
|
+
};
|
|
3247
|
+
layout: LayoutNode[];
|
|
3248
|
+
constructor(options: SceneOptions);
|
|
3249
|
+
static create(options: SceneOptions): Scene;
|
|
3250
|
+
}
|
|
3251
|
+
interface SequenceOptions {
|
|
3252
|
+
fps?: number;
|
|
3253
|
+
width?: number;
|
|
3254
|
+
height?: number;
|
|
3255
|
+
backgroundColor?: string;
|
|
3256
|
+
fonts?: string[];
|
|
3257
|
+
signals?: Record<string, unknown>;
|
|
3258
|
+
scenes?: Scene[];
|
|
3259
|
+
}
|
|
3260
|
+
declare class Sequence {
|
|
3261
|
+
fps: number;
|
|
3262
|
+
width: number;
|
|
3263
|
+
height: number;
|
|
3264
|
+
backgroundColor: string;
|
|
3265
|
+
fonts?: string[];
|
|
3266
|
+
signals?: Record<string, unknown>;
|
|
3267
|
+
private scenes;
|
|
3268
|
+
constructor(options?: SequenceOptions);
|
|
3269
|
+
static create(options?: SequenceOptions): Sequence;
|
|
3270
|
+
addScene(scene: Scene | SceneOptions): this;
|
|
3271
|
+
getScenes(): readonly Scene[];
|
|
3272
|
+
calculateTimeline(): SequenceTimelineResult;
|
|
3273
|
+
toProgram(): CompositorProgramConfig;
|
|
3274
|
+
}
|
|
3275
|
+
//#endregion
|
|
3276
|
+
//#region src/program/stagger.d.ts
|
|
3277
|
+
type StaggerDirection = "forward" | "reverse" | "center-out";
|
|
3278
|
+
/**
|
|
3279
|
+
* Calculates the frame delay offset for a child at `index` in a container of `totalCount` items.
|
|
3280
|
+
*/
|
|
3281
|
+
declare function computeStaggerDelay(index: number, totalCount: number, staggerFrames: number, direction?: StaggerDirection): number;
|
|
3282
|
+
/**
|
|
3283
|
+
* Applies stagger timing offsets to child nodes, returning cloned objects with adjusted `startFrame`.
|
|
3284
|
+
*/
|
|
3285
|
+
declare function applyStaggerToChildren<T extends {
|
|
3286
|
+
startFrame?: number;
|
|
3287
|
+
}>(children: T[], staggerFrames: number, direction?: StaggerDirection, baseOffset?: number): T[];
|
|
3288
|
+
//#endregion
|
|
3289
|
+
//#region src/program/to-virtual-media.d.ts
|
|
3290
|
+
interface CompositorToProgramOptions {
|
|
3291
|
+
isVideoMode: boolean;
|
|
3292
|
+
fps: number;
|
|
3293
|
+
/** Comp duration in ms (metadata only; derived upstream). */
|
|
3294
|
+
durationMs?: number;
|
|
3295
|
+
/** Bind a media node's `inputHandleId` to its graph source item. */
|
|
3296
|
+
resolveMedia?: (inputHandleId: string) => VirtualMediaData | undefined;
|
|
3297
|
+
/** External signals mapped by inputHandleId. */
|
|
3298
|
+
signals?: Record<string, any>;
|
|
3299
|
+
}
|
|
3300
|
+
declare function compositorToProgram(config: CompositorProgramConfig, options: CompositorToProgramOptions): VirtualMediaData;
|
|
3301
|
+
/** Recursively gather every node op from a render tree (in order). */
|
|
3302
|
+
declare function collectNodeOps(nodes: VirtualMediaData[]): VirtualMediaData[];
|
|
3303
|
+
//#endregion
|
|
3304
|
+
//#region src/program/validate.d.ts
|
|
3305
|
+
//#endregion
|
|
3306
|
+
//#region src/chart.d.ts
|
|
3307
|
+
type ChartType = "line" | "area" | "bar" | "scatter" | "pie" | "donut" | "candlestick";
|
|
3308
|
+
type ChartX = number | string | Date;
|
|
3309
|
+
/** A plain value (x is its index or `categories[i]`), an `[x, y]` pair, or `{ x, y }`. */
|
|
3310
|
+
type ChartDatum = number | readonly [ChartX, number] | {
|
|
3311
|
+
x: ChartX;
|
|
3312
|
+
y: number;
|
|
3313
|
+
};
|
|
3314
|
+
interface ChartCandle {
|
|
3315
|
+
x: ChartX;
|
|
3316
|
+
open: number;
|
|
3317
|
+
high: number;
|
|
3318
|
+
low: number;
|
|
3319
|
+
close: number;
|
|
3320
|
+
}
|
|
3321
|
+
/** A pie or donut slice. */
|
|
3322
|
+
interface ChartSlice {
|
|
3323
|
+
label: string;
|
|
3324
|
+
value: number;
|
|
3325
|
+
color?: string;
|
|
3326
|
+
}
|
|
3327
|
+
interface ChartSeries {
|
|
3328
|
+
name?: string;
|
|
3329
|
+
/** Series type in a combined chart; defaults to the chart's `type`. */
|
|
3330
|
+
type?: Exclude<ChartType, "pie" | "donut">;
|
|
3331
|
+
data: readonly ChartDatum[] | readonly ChartCandle[];
|
|
3332
|
+
color?: string;
|
|
3333
|
+
/** Line width for line and area series. Default 3. */
|
|
3334
|
+
strokeWidth?: number;
|
|
3335
|
+
/** Line and area interpolation. Default "smooth". */
|
|
3336
|
+
curve?: "linear" | "smooth" | "step";
|
|
3337
|
+
/** Dot radius drawn on line points; scatter point radius. 0 hides line dots. */
|
|
3338
|
+
pointRadius?: number;
|
|
3339
|
+
}
|
|
3340
|
+
interface ChartAxisOptions {
|
|
3341
|
+
/** Show tick labels. Default true. */
|
|
3342
|
+
show?: boolean;
|
|
3343
|
+
/** Draw grid lines across the plot. Default true for y, false for x. */
|
|
3344
|
+
grid?: boolean;
|
|
3345
|
+
min?: number;
|
|
3346
|
+
max?: number;
|
|
3347
|
+
/** Approximate number of ticks. Default 5. */
|
|
3348
|
+
ticks?: number;
|
|
3349
|
+
/** A d3-format specifier such as ",.0f", "$.2s" or ".0%", or a function. */
|
|
3350
|
+
format?: string | ((value: ChartX) => string);
|
|
3351
|
+
}
|
|
3352
|
+
interface ChartAnimationOptions {
|
|
3353
|
+
/** Frame the reveal starts, relative to the chart's own start. Default 0. */
|
|
3354
|
+
start?: number;
|
|
3355
|
+
/** Frames each element takes to animate in. Default 30. */
|
|
3356
|
+
duration?: number;
|
|
3357
|
+
/** Frames between consecutive bars, points or slices. Default spreads them over `duration`. */
|
|
3358
|
+
stagger?: number;
|
|
3359
|
+
/** Easing for bars, points and slices. Default "power3.out". */
|
|
3360
|
+
ease?: string;
|
|
3361
|
+
}
|
|
3362
|
+
interface ChartPadding {
|
|
3363
|
+
top?: number;
|
|
3364
|
+
right?: number;
|
|
3365
|
+
bottom?: number;
|
|
3366
|
+
left?: number;
|
|
3367
|
+
}
|
|
3368
|
+
interface ChartOptions {
|
|
3369
|
+
/** Chart type, and the default for series without their own. Default "line". */
|
|
3370
|
+
type?: ChartType;
|
|
3371
|
+
width?: number;
|
|
3372
|
+
height?: number;
|
|
3373
|
+
series?: readonly ChartSeries[];
|
|
3374
|
+
/** Shorthand for a single series, or the slices of a pie or donut. */
|
|
3375
|
+
data?: readonly ChartDatum[] | readonly ChartCandle[] | readonly ChartSlice[];
|
|
3376
|
+
/** Labels for x positions when data are plain values; slice labels for pie charts. */
|
|
3377
|
+
categories?: readonly string[];
|
|
3378
|
+
/** Stack bar and area series instead of grouping or overlapping them. */
|
|
3379
|
+
stacked?: boolean;
|
|
3380
|
+
colors?: readonly string[];
|
|
3381
|
+
xAxis?: ChartAxisOptions;
|
|
3382
|
+
yAxis?: ChartAxisOptions;
|
|
3383
|
+
/** Space around the plot for axis labels and legend. Computed when omitted. */
|
|
3384
|
+
padding?: number | ChartPadding;
|
|
3385
|
+
fontFamily?: string;
|
|
3386
|
+
/** Axis, legend and value label size. Default 18. */
|
|
3387
|
+
fontSize?: number;
|
|
3388
|
+
/** Axis labels; when set, also the legend and value labels. */
|
|
3389
|
+
textColor?: string;
|
|
3390
|
+
gridColor?: string;
|
|
3391
|
+
background?: string;
|
|
3392
|
+
/** Show the series or slice legend. Default: on for several series and for pies. */
|
|
3393
|
+
legend?: boolean;
|
|
3394
|
+
/** Print values on bars and slices (pie values print as percentages). */
|
|
3395
|
+
valueLabels?: boolean;
|
|
3396
|
+
/** Donut hole as a fraction of the radius. Default 0.6 for "donut". */
|
|
3397
|
+
innerRadius?: number;
|
|
3398
|
+
/** Corner radius of bars and slices. Default 4. */
|
|
3399
|
+
cornerRadius?: number;
|
|
3400
|
+
upColor?: string;
|
|
3401
|
+
downColor?: string;
|
|
3402
|
+
/** Reveal animation, or `false` for a static chart. */
|
|
3403
|
+
animate?: false | ChartAnimationOptions;
|
|
3404
|
+
}
|
|
3405
|
+
declare const DEFAULT_CHART_COLORS: readonly ["#6366f1", "#22d3ee", "#f59e0b", "#ec4899", "#10b981", "#8b5cf6", "#f97316", "#3b82f6"];
|
|
3406
|
+
//#endregion
|
|
3407
|
+
//#region src/shapes3d.d.ts
|
|
3408
|
+
interface CubeFaceConfig {
|
|
3409
|
+
background?: string;
|
|
3410
|
+
borderRadius?: number;
|
|
3411
|
+
borderWidth?: number;
|
|
3412
|
+
borderColor?: string;
|
|
3413
|
+
opacity?: number;
|
|
3414
|
+
material?: MaterialType;
|
|
3415
|
+
shininess?: number;
|
|
3416
|
+
roughness?: number;
|
|
3417
|
+
specularIntensity?: number;
|
|
3418
|
+
metallic?: number;
|
|
3419
|
+
ambientIntensity?: number;
|
|
3420
|
+
ior?: number;
|
|
3421
|
+
transmission?: number;
|
|
3422
|
+
dispersion?: number;
|
|
3423
|
+
fresnelPower?: number;
|
|
3424
|
+
envIntensity?: number;
|
|
3425
|
+
children?: LayoutNode[];
|
|
3426
|
+
}
|
|
3427
|
+
type CubeFaceInput = CubeFaceConfig | LayoutNode | string;
|
|
3428
|
+
interface Cube3DOptions {
|
|
3429
|
+
id?: string;
|
|
3430
|
+
size: number | [number, number, number];
|
|
3431
|
+
x?: number;
|
|
3432
|
+
y?: number;
|
|
3433
|
+
z?: number;
|
|
3434
|
+
rotateX?: number;
|
|
3435
|
+
rotateY?: number;
|
|
3436
|
+
rotateZ?: number;
|
|
3437
|
+
faces?: {
|
|
3438
|
+
front?: CubeFaceInput;
|
|
3439
|
+
back?: CubeFaceInput;
|
|
3440
|
+
left?: CubeFaceInput;
|
|
3441
|
+
right?: CubeFaceInput;
|
|
3442
|
+
top?: CubeFaceInput;
|
|
3443
|
+
bottom?: CubeFaceInput;
|
|
3444
|
+
};
|
|
3445
|
+
twoSided?: boolean;
|
|
3446
|
+
material?: MaterialType;
|
|
3447
|
+
shininess?: number;
|
|
3448
|
+
roughness?: number;
|
|
3449
|
+
specularIntensity?: number;
|
|
3450
|
+
metallic?: number;
|
|
3451
|
+
ambientIntensity?: number;
|
|
3452
|
+
ior?: number;
|
|
3453
|
+
transmission?: number;
|
|
3454
|
+
dispersion?: number;
|
|
3455
|
+
fresnelPower?: number;
|
|
3456
|
+
envIntensity?: number;
|
|
3457
|
+
opacity?: number;
|
|
3458
|
+
}
|
|
3459
|
+
interface Carousel3DOptions {
|
|
3460
|
+
id?: string;
|
|
3461
|
+
radius: number;
|
|
3462
|
+
items: LayoutNode[];
|
|
3463
|
+
x?: number;
|
|
3464
|
+
y?: number;
|
|
3465
|
+
z?: number;
|
|
3466
|
+
rotateX?: number;
|
|
3467
|
+
rotateY?: number;
|
|
3468
|
+
rotateZ?: number;
|
|
3469
|
+
faceInward?: boolean;
|
|
3470
|
+
itemWidth?: number;
|
|
3471
|
+
itemHeight?: number;
|
|
3472
|
+
twoSided?: boolean;
|
|
3473
|
+
opacity?: number;
|
|
3474
|
+
}
|
|
3475
|
+
interface Prism3DOptions {
|
|
3476
|
+
id?: string;
|
|
3477
|
+
sides: number;
|
|
3478
|
+
radius: number;
|
|
3479
|
+
height: number;
|
|
3480
|
+
x?: number;
|
|
3481
|
+
y?: number;
|
|
3482
|
+
z?: number;
|
|
3483
|
+
rotateX?: number;
|
|
3484
|
+
rotateY?: number;
|
|
3485
|
+
rotateZ?: number;
|
|
3486
|
+
sideConfigs?: Array<CubeFaceInput>;
|
|
3487
|
+
twoSided?: boolean;
|
|
3488
|
+
material?: MaterialType;
|
|
3489
|
+
shininess?: number;
|
|
3490
|
+
roughness?: number;
|
|
3491
|
+
specularIntensity?: number;
|
|
3492
|
+
metallic?: number;
|
|
3493
|
+
ambientIntensity?: number;
|
|
3494
|
+
ior?: number;
|
|
3495
|
+
transmission?: number;
|
|
3496
|
+
dispersion?: number;
|
|
3497
|
+
fresnelPower?: number;
|
|
3498
|
+
envIntensity?: number;
|
|
3499
|
+
opacity?: number;
|
|
3500
|
+
}
|
|
3501
|
+
interface Plane3DOptions {
|
|
3502
|
+
id?: string;
|
|
3503
|
+
width: number;
|
|
3504
|
+
height: number;
|
|
3505
|
+
x?: number;
|
|
3506
|
+
y?: number;
|
|
3507
|
+
z?: number;
|
|
3508
|
+
rotateX?: number;
|
|
3509
|
+
rotateY?: number;
|
|
3510
|
+
rotateZ?: number;
|
|
3511
|
+
background?: string;
|
|
3512
|
+
borderRadius?: number;
|
|
3513
|
+
twoSided?: boolean;
|
|
3514
|
+
material?: MaterialType;
|
|
3515
|
+
shininess?: number;
|
|
3516
|
+
roughness?: number;
|
|
3517
|
+
specularIntensity?: number;
|
|
3518
|
+
metallic?: number;
|
|
3519
|
+
ambientIntensity?: number;
|
|
3520
|
+
ior?: number;
|
|
3521
|
+
transmission?: number;
|
|
3522
|
+
dispersion?: number;
|
|
3523
|
+
fresnelPower?: number;
|
|
3524
|
+
envIntensity?: number;
|
|
3525
|
+
opacity?: number;
|
|
3526
|
+
children?: LayoutNode[];
|
|
3527
|
+
}
|
|
3528
|
+
interface Grid3DOptions {
|
|
3529
|
+
id?: string;
|
|
3530
|
+
width: number;
|
|
3531
|
+
height: number;
|
|
3532
|
+
divisions?: number;
|
|
3533
|
+
color?: string;
|
|
3534
|
+
/** Line thickness in world pixels (default 2). */
|
|
3535
|
+
lineWidth?: number;
|
|
3536
|
+
x?: number;
|
|
3537
|
+
y?: number;
|
|
3538
|
+
z?: number;
|
|
3539
|
+
rotateX?: number;
|
|
3540
|
+
rotateY?: number;
|
|
3541
|
+
rotateZ?: number;
|
|
3542
|
+
opacity?: number;
|
|
3543
|
+
}
|
|
3544
|
+
interface Text3DOptions {
|
|
3545
|
+
id?: string;
|
|
3546
|
+
text: string;
|
|
3547
|
+
fontSize?: number;
|
|
3548
|
+
fontFamily?: string;
|
|
3549
|
+
fontWeight?: number | string;
|
|
3550
|
+
fontStyle?: string;
|
|
3551
|
+
fill?: string;
|
|
3552
|
+
x?: number;
|
|
3553
|
+
y?: number;
|
|
3554
|
+
z?: number;
|
|
3555
|
+
rotateX?: number;
|
|
3556
|
+
rotateY?: number;
|
|
3557
|
+
rotateZ?: number;
|
|
3558
|
+
scale?: number;
|
|
3559
|
+
scaleX?: number;
|
|
3560
|
+
scaleY?: number;
|
|
3561
|
+
scaleZ?: number;
|
|
3562
|
+
align?: "start" | "center" | "end" | "left" | "right";
|
|
3563
|
+
verticalAlign?: "top" | "middle" | "bottom";
|
|
3564
|
+
letterSpacing?: number;
|
|
3565
|
+
lineHeight?: number;
|
|
3566
|
+
is3D?: boolean;
|
|
3567
|
+
twoSided?: boolean;
|
|
3568
|
+
material?: MaterialType;
|
|
3569
|
+
shininess?: number;
|
|
3570
|
+
roughness?: number;
|
|
3571
|
+
specularIntensity?: number;
|
|
3572
|
+
ambientIntensity?: number;
|
|
3573
|
+
metallic?: number;
|
|
3574
|
+
ior?: number;
|
|
3575
|
+
transmission?: number;
|
|
3576
|
+
dispersion?: number;
|
|
3577
|
+
fresnelPower?: number;
|
|
3578
|
+
envIntensity?: number;
|
|
3579
|
+
opacity?: number;
|
|
3580
|
+
background?: string;
|
|
3581
|
+
borderRadius?: number;
|
|
3582
|
+
padding?: number;
|
|
3583
|
+
stroke?: string;
|
|
3584
|
+
strokeWidth?: number;
|
|
3585
|
+
extrusionDepth?: number;
|
|
3586
|
+
/** @deprecated No effect: extruded text is one solid mesh, not a stack of slices. */
|
|
3587
|
+
extrusionSteps?: number;
|
|
3588
|
+
/**
|
|
3589
|
+
* Extruded text only: color of the side walls. `fill` colors the letter
|
|
3590
|
+
* faces (front and back). Defaults to `fill`.
|
|
3591
|
+
*/
|
|
3592
|
+
bevelColor?: string;
|
|
3593
|
+
}
|
|
3594
|
+
interface ExtrudedText3DOptions extends Text3DOptions {
|
|
3595
|
+
depth: number;
|
|
3596
|
+
/** @deprecated No effect: extruded text is one solid mesh, not a stack of slices. */
|
|
3597
|
+
slices?: number;
|
|
3598
|
+
/** Fixed straight segments per curve; by default curves split as finely as their on-screen size needs. */
|
|
3599
|
+
curveSegments?: number;
|
|
3600
|
+
/** Most a flattened curve strays from the outline, in on-screen px at scale 1 (default 0.1). */
|
|
3601
|
+
curveTolerance?: number;
|
|
3602
|
+
}
|
|
3603
|
+
type Shape3DContainer = AnimatableNode<BoxNode> & {
|
|
3604
|
+
faces?: AnimatableNode<BoxNode>[];
|
|
3605
|
+
items?: LayoutNode[];
|
|
3606
|
+
[Symbol.iterator](): Iterator<LayoutNode>;
|
|
3607
|
+
};
|
|
3608
|
+
declare const Layer3D: {
|
|
3609
|
+
/**
|
|
3610
|
+
* Creates a true 3D volumetric cube with 6 textured or colored faces.
|
|
3611
|
+
* Returns a preserve-3d container that can be transformed in 3D camera space.
|
|
3612
|
+
*/
|
|
3613
|
+
cube(options: Cube3DOptions): Shape3DContainer;
|
|
3614
|
+
/**
|
|
3615
|
+
* Creates a 3D cylindrical carousel of items arranged radially around a center point.
|
|
3616
|
+
*/
|
|
3617
|
+
carousel(options: Carousel3DOptions): Shape3DContainer;
|
|
3618
|
+
/**
|
|
3619
|
+
* Creates an N-sided regular polygonal 3D prism.
|
|
3620
|
+
*/
|
|
3621
|
+
prism(options: Prism3DOptions): Shape3DContainer;
|
|
3622
|
+
/**
|
|
3623
|
+
* Creates a standalone planar 3D card/quad.
|
|
3624
|
+
*/
|
|
3625
|
+
plane(options: Plane3DOptions): AnimatableNode<BoxNode>;
|
|
3626
|
+
/**
|
|
3627
|
+
* Creates a 3D perspective ground grid: `divisions` cells per side, each
|
|
3628
|
+
* line its own unlit quad so it stays crisp at any camera distance.
|
|
3629
|
+
*/
|
|
3630
|
+
grid(options: Grid3DOptions): AnimatableNode<BoxNode>;
|
|
3631
|
+
/**
|
|
3632
|
+
* Creates a standalone planar 3D text node, or solid extruded 3D text when `extrusionDepth` is set.
|
|
3633
|
+
*/
|
|
3634
|
+
text(options: Text3DOptions): AnimatableNode<LayoutNode>;
|
|
3635
|
+
/**
|
|
3636
|
+
* Creates solid extruded 3D typography: `fill` colors the letter faces,
|
|
3637
|
+
* `bevelColor` the side walls; curves are tessellated to `curveTolerance`.
|
|
3638
|
+
*/
|
|
3639
|
+
extrudedText(options: ExtrudedText3DOptions): Shape3DContainer;
|
|
3640
|
+
/**
|
|
3641
|
+
* Creates a 3D model node rendered natively with WebGPU mesh shaders.
|
|
3642
|
+
*/
|
|
3643
|
+
model(options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3644
|
+
/**
|
|
3645
|
+
* Convenience helper to create a 3D Wavefront OBJ model node.
|
|
3646
|
+
*/
|
|
3647
|
+
obj(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3648
|
+
/**
|
|
3649
|
+
* Convenience helper to create a 3D Autodesk FBX model node with skeletal animation support.
|
|
3650
|
+
*/
|
|
3651
|
+
fbx(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3652
|
+
/**
|
|
3653
|
+
* Convenience helper to create a 3D glTF 2.0 model node.
|
|
3654
|
+
*/
|
|
3655
|
+
gltf(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3656
|
+
/**
|
|
3657
|
+
* Convenience helper to create a 3D GLB binary container model node.
|
|
3658
|
+
*/
|
|
3659
|
+
glb(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3660
|
+
/**
|
|
3661
|
+
* Convenience helper to create a 3D STL CAD / 3D printing model node.
|
|
3662
|
+
*/
|
|
3663
|
+
stl(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3664
|
+
/**
|
|
3665
|
+
* Convenience helper to create a 3D Stanford PLY scan model node.
|
|
3666
|
+
*/
|
|
3667
|
+
ply(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3668
|
+
/**
|
|
3669
|
+
* Convenience helper to create a 3D MagicaVoxel VOX model node.
|
|
3670
|
+
*/
|
|
3671
|
+
vox(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3672
|
+
/**
|
|
3673
|
+
* Convenience helper to create a 3D Studio (3DS) binary model node.
|
|
3674
|
+
*/
|
|
3675
|
+
threeDS(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3676
|
+
/**
|
|
3677
|
+
* Convenience helper to create a 3D Object File Format (OFF) model node.
|
|
3678
|
+
*/
|
|
3679
|
+
off(src: string, options?: Partial<Model3DNode>): AnimatableNode<Model3DNode>;
|
|
3680
|
+
};
|
|
3681
|
+
//#endregion
|
|
3682
|
+
//#region ../renderers/dist/index.d.mts
|
|
3683
|
+
//#region src/blend.d.ts
|
|
3684
|
+
declare const mapBlendModeToSkia: (mode?: string) => string;
|
|
3685
|
+
declare const requiresIsolation: (mode?: string) => boolean;
|
|
3686
|
+
//#endregion
|
|
3687
|
+
//#region src/geometry.d.ts
|
|
3688
|
+
interface StrokeRect {
|
|
3689
|
+
x: number;
|
|
3690
|
+
y: number;
|
|
3691
|
+
width: number;
|
|
3692
|
+
height: number;
|
|
3693
|
+
radius: number;
|
|
3694
|
+
}
|
|
3695
|
+
declare function computeStrokeRect(w: number, h: number, cornerRadius: number, strokeWidth: number, align?: "inside" | "outside" | "center"): StrokeRect;
|
|
3696
|
+
//#endregion
|
|
3697
|
+
//#region src/interpolate.d.ts
|
|
3698
|
+
declare function bezier(mX1: number, mY1: number, mX2: number, mY2: number): (x: number) => number;
|
|
3699
|
+
declare const Easing: {
|
|
3700
|
+
linear: (x: number) => number;
|
|
3701
|
+
ease: (x: number) => number;
|
|
3702
|
+
quad: (t: number) => number;
|
|
3703
|
+
cubic: (t: number) => number;
|
|
3704
|
+
poly: (n: number) => (t: number) => number;
|
|
3705
|
+
sin: (t: number) => number;
|
|
3706
|
+
circle: (t: number) => number;
|
|
3707
|
+
exp: (t: number) => number;
|
|
3708
|
+
elastic: (bounciness?: number) => (t: number) => number;
|
|
3709
|
+
back: (s?: number) => (t: number) => number;
|
|
3710
|
+
bounce: (t: number) => number;
|
|
3711
|
+
bezier: typeof bezier;
|
|
3712
|
+
in: <T extends (t: number) => number>(fn: T) => T;
|
|
3713
|
+
out: <T extends (t: number) => number>(fn: T) => ((t: number) => number);
|
|
3714
|
+
inOut: <T extends (t: number) => number>(fn: T) => ((t: number) => number);
|
|
3715
|
+
};
|
|
3716
|
+
interface InterpolateOptions {
|
|
3717
|
+
extrapolateLeft?: "clamp" | "extend" | "identity";
|
|
3718
|
+
extrapolateRight?: "clamp" | "extend" | "identity";
|
|
3719
|
+
easing?: (t: number) => number;
|
|
3720
|
+
}
|
|
3721
|
+
declare function interpolate(value: number, inputRange: readonly number[], outputRange: readonly number[], options?: InterpolateOptions): number;
|
|
3722
|
+
//#endregion
|
|
3723
|
+
//#region src/math3d/vector3.d.ts
|
|
3724
|
+
/**
|
|
3725
|
+
* 3D Vector mathematics for camera kinematics, scene projections, and spatial transforms.
|
|
3726
|
+
* Fully typed, pure functional routines with zero runtime allocations where possible.
|
|
3727
|
+
*/
|
|
3728
|
+
type Vec3 = [number, number, number];
|
|
3729
|
+
declare const Vector3Math: {
|
|
3730
|
+
create(x?: number, y?: number, z?: number): Vec3;
|
|
3731
|
+
copy(v: Vec3): Vec3;
|
|
3732
|
+
set(out: Vec3, x: number, y: number, z: number): Vec3;
|
|
3733
|
+
add(a: Vec3, b: Vec3): Vec3;
|
|
3734
|
+
subtract(a: Vec3, b: Vec3): Vec3;
|
|
3735
|
+
multiplyScalar(v: Vec3, s: number): Vec3;
|
|
3736
|
+
dot(a: Vec3, b: Vec3): number;
|
|
3737
|
+
cross(a: Vec3, b: Vec3): Vec3;
|
|
3738
|
+
lengthSq(v: Vec3): number;
|
|
3739
|
+
length(v: Vec3): number;
|
|
3740
|
+
distance(a: Vec3, b: Vec3): number;
|
|
3741
|
+
normalize(v: Vec3): Vec3;
|
|
3742
|
+
lerp(a: Vec3, b: Vec3, t: number): Vec3;
|
|
3743
|
+
equals(a: Vec3, b: Vec3, epsilon?: number): boolean;
|
|
3744
|
+
};
|
|
3745
|
+
//#endregion
|
|
3746
|
+
//#region src/math3d/matrix4.d.ts
|
|
3747
|
+
type Mat4 = [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number];
|
|
3748
|
+
declare const Matrix4Math: {
|
|
3749
|
+
identity(): Mat4;
|
|
3750
|
+
copy(m: Mat4): Mat4;
|
|
3751
|
+
multiply(a: Mat4, b: Mat4): Mat4;
|
|
3752
|
+
translate(tx: number, ty: number, tz?: number): Mat4;
|
|
3753
|
+
scale(sx: number, sy: number, sz?: number): Mat4;
|
|
3754
|
+
rotateX(rad: number): Mat4;
|
|
3755
|
+
rotateY(rad: number): Mat4;
|
|
3756
|
+
rotateZ(rad: number): Mat4;
|
|
3757
|
+
rotateAxis(axis: Vec3, rad: number): Mat4;
|
|
3758
|
+
/**
|
|
3759
|
+
* Computes LookAt view matrix from camera eye, target, and up vector.
|
|
3760
|
+
*/
|
|
3761
|
+
lookAt(eye: Vec3, target: Vec3, up?: Vec3): Mat4;
|
|
3762
|
+
/**
|
|
3763
|
+
* Perspective projection matrix for WebGPU NDC depth range [0, 1].
|
|
3764
|
+
* @param fovYRad Vertical field of view in radians.
|
|
3765
|
+
* @param aspect Width / Height aspect ratio.
|
|
3766
|
+
* @param near Near clipping plane (e.g. 1.0).
|
|
3767
|
+
* @param far Far clipping plane (e.g. 10000.0).
|
|
3768
|
+
*/
|
|
3769
|
+
perspective(fovYRad: number, aspect: number, near: number, far: number): Mat4;
|
|
3770
|
+
/**
|
|
3771
|
+
* Orthographic projection matrix for WebGPU NDC depth range [0, 1].
|
|
3772
|
+
*/
|
|
3773
|
+
orthographic(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;
|
|
3774
|
+
/**
|
|
3775
|
+
* Inverts a 4x4 matrix using standard Cramer's rule. Returns null if singular.
|
|
3776
|
+
*/
|
|
3777
|
+
invert(m: Mat4): Mat4 | null;
|
|
3778
|
+
transpose(m: Mat4): Mat4;
|
|
3779
|
+
/**
|
|
3780
|
+
* Projects a 3D point through a 4x4 matrix with perspective division.
|
|
3781
|
+
*/
|
|
3782
|
+
projectPoint(m: Mat4, p: Vec3): Vec3;
|
|
3783
|
+
/**
|
|
3784
|
+
* Projects a 2D rectangle (0,0, w, h) through a 4x4 matrix into 4 3D points.
|
|
3785
|
+
*/
|
|
3786
|
+
projectRectangle(m: Mat4, width: number, height: number): [Vec3, Vec3, Vec3, Vec3];
|
|
3787
|
+
toFloat32Array(m: Mat4): Float32Array;
|
|
3788
|
+
};
|
|
3789
|
+
//#endregion
|
|
3790
|
+
//#region src/math3d/camera3d.d.ts
|
|
3791
|
+
interface Camera3DPose {
|
|
3792
|
+
/** Camera Eye position in world space [x, y, z] */
|
|
3793
|
+
eye: Vec3;
|
|
3794
|
+
/** LookAt Target / Point of Interest [x, y, z] */
|
|
3795
|
+
target: Vec3;
|
|
3796
|
+
/** Camera Up vector (default [0, -1, 0] for Y-down screen coordinates) */
|
|
3797
|
+
up: Vec3;
|
|
3798
|
+
/** Vertical field of view in degrees (default 50) */
|
|
3799
|
+
fov: number;
|
|
3800
|
+
/** Viewport aspect ratio (width / height) */
|
|
3801
|
+
aspect: number;
|
|
3802
|
+
/** Near clipping plane distance (default 1.0) */
|
|
3803
|
+
near: number;
|
|
3804
|
+
/** Far clipping plane distance (default 50000.0) */
|
|
3805
|
+
far: number;
|
|
3806
|
+
/** Optical zoom multiplier (default 1.0) */
|
|
3807
|
+
zoom: number;
|
|
3808
|
+
/** Focal plane distance from camera for Depth of Field in pixels */
|
|
3809
|
+
focusDistance?: number;
|
|
3810
|
+
/** Lens f-number / aperture (e.g. 1.4, 2.8, 5.6) */
|
|
3811
|
+
fStop?: number;
|
|
3812
|
+
/** Maximum bokeh blur radius in pixels (default 32) */
|
|
3813
|
+
maxBlurRadius?: number;
|
|
3814
|
+
}
|
|
3815
|
+
interface CameraShakeOptions {
|
|
3816
|
+
translationAmplitude: number;
|
|
3817
|
+
rotationAmplitude: number;
|
|
3818
|
+
frequency?: number;
|
|
3819
|
+
octaves?: number;
|
|
3820
|
+
seed?: number;
|
|
3821
|
+
}
|
|
3822
|
+
type FrustumPlane = [number, number, number, number];
|
|
3823
|
+
interface FrustumPlanes {
|
|
3824
|
+
left: FrustumPlane;
|
|
3825
|
+
right: FrustumPlane;
|
|
3826
|
+
bottom: FrustumPlane;
|
|
3827
|
+
top: FrustumPlane;
|
|
3828
|
+
near: FrustumPlane;
|
|
3829
|
+
far: FrustumPlane;
|
|
3830
|
+
}
|
|
3831
|
+
//#endregion
|
|
3832
|
+
//#region src/math3d/light3d.d.ts
|
|
3833
|
+
type LightKind = "ambient" | "directional" | "point" | "spot";
|
|
3834
|
+
interface GPULightData$1 {
|
|
3835
|
+
/** xyz = position, w = type (0=ambient, 1=directional, 2=point, 3=spot) */
|
|
3836
|
+
posType: [number, number, number, number];
|
|
3837
|
+
/** xyz = normalized direction, w = radius */
|
|
3838
|
+
dirRadius: [number, number, number, number];
|
|
3839
|
+
/** rgb = linear color, w = intensity */
|
|
3840
|
+
colorIntensity: [number, number, number, number];
|
|
3841
|
+
/** x = cos(outer), y = cos(inner), z = decay, w = 0 */
|
|
3842
|
+
spotParams: [number, number, number, number];
|
|
3843
|
+
}
|
|
3844
|
+
declare const MAX_LIGHTS = 8;
|
|
3845
|
+
declare const LIGHT_UNIFORM_SIZE_BYTES = 544;
|
|
3846
|
+
interface LightsUniformData {
|
|
3847
|
+
ambientColor: [number, number, number, number];
|
|
3848
|
+
params: [number, number, number, number];
|
|
3849
|
+
lights: GPULightData$1[];
|
|
3850
|
+
}
|
|
3851
|
+
/**
|
|
3852
|
+
* Parses CSS / hex / rgb color strings, arrays, or color objects into normalized linear [r, g, b] floats in [0, 1].
|
|
3853
|
+
*/
|
|
3854
|
+
declare function parseColorToRgb(color?: string | [number, number, number] | [number, number, number, number] | {
|
|
3855
|
+
r: number;
|
|
3856
|
+
g: number;
|
|
3857
|
+
b: number;
|
|
3858
|
+
a?: number;
|
|
3859
|
+
} | unknown): [number, number, number];
|
|
3860
|
+
//#endregion
|
|
3861
|
+
//#region src/math3d/path3d.d.ts
|
|
3862
|
+
interface Path3DPoint {
|
|
3863
|
+
/** Position in 3D world space [x, y, z] */
|
|
3864
|
+
position: Vec3;
|
|
3865
|
+
/** Normalized unit tangent forward vector */
|
|
3866
|
+
tangent: Vec3;
|
|
3867
|
+
/** Normalized unit normal vector (orthogonal to tangent) */
|
|
3868
|
+
normal: Vec3;
|
|
3869
|
+
/** Normalized unit binormal vector: cross(tangent, normal) */
|
|
3870
|
+
binormal: Vec3;
|
|
3871
|
+
/** Cumulative arc length distance in pixels from path origin */
|
|
3872
|
+
distance: number;
|
|
3873
|
+
/** Normalized progress along path in [0, 1] */
|
|
3874
|
+
t: number;
|
|
3875
|
+
/** Euler orientation angles in degrees [pitch, yaw, roll] */
|
|
3876
|
+
rotation: Vec3;
|
|
3877
|
+
}
|
|
3878
|
+
interface Path3DSample {
|
|
3879
|
+
position: Vec3;
|
|
3880
|
+
tangent: Vec3;
|
|
3881
|
+
distance: number;
|
|
3882
|
+
}
|
|
3883
|
+
interface CatmullRomOptions {
|
|
3884
|
+
/** Tension factor between 0 (loose) and 1 (tight); defaults to 0.5 (centripetal-like) */
|
|
3885
|
+
tension?: number;
|
|
3886
|
+
/** Whether path closes in a continuous loop */
|
|
3887
|
+
closed?: boolean;
|
|
3888
|
+
/** Samples per segment for arc-length integration (default 40) */
|
|
3889
|
+
samplesPerSegment?: number;
|
|
3890
|
+
}
|
|
3891
|
+
interface BezierSegment3D {
|
|
3892
|
+
p0: Vec3;
|
|
3893
|
+
p1: Vec3;
|
|
3894
|
+
p2: Vec3;
|
|
3895
|
+
p3: Vec3;
|
|
3896
|
+
}
|
|
3897
|
+
interface HelixOptions {
|
|
3898
|
+
center: Vec3;
|
|
3899
|
+
radius: number;
|
|
3900
|
+
pitch: number;
|
|
3901
|
+
turns: number;
|
|
3902
|
+
axis?: "x" | "y" | "z";
|
|
3903
|
+
samplesPerTurn?: number;
|
|
3904
|
+
}
|
|
3905
|
+
interface CirclePathOptions {
|
|
3906
|
+
center: Vec3;
|
|
3907
|
+
radius: number;
|
|
3908
|
+
normal?: Vec3;
|
|
3909
|
+
startAngleDeg?: number;
|
|
3910
|
+
endAngleDeg?: number;
|
|
3911
|
+
samples?: number;
|
|
3912
|
+
}
|
|
3913
|
+
//#endregion
|
|
3914
|
+
//#region src/spring.d.ts
|
|
3915
|
+
type AnimationNode = {
|
|
3916
|
+
lastTimestamp: number;
|
|
3917
|
+
toValue: number;
|
|
3918
|
+
current: number;
|
|
3919
|
+
velocity: number;
|
|
3920
|
+
prevPosition?: number;
|
|
3921
|
+
};
|
|
3922
|
+
type SpringConfig = {
|
|
3923
|
+
damping: number;
|
|
3924
|
+
mass: number;
|
|
3925
|
+
stiffness: number;
|
|
3926
|
+
overshootClamping: boolean;
|
|
3927
|
+
};
|
|
3928
|
+
declare function springCalculation({
|
|
3929
|
+
frame,
|
|
3930
|
+
fps,
|
|
3931
|
+
config
|
|
3932
|
+
}: {
|
|
3933
|
+
frame: number;
|
|
3934
|
+
fps: number;
|
|
3935
|
+
config?: Partial<SpringConfig>;
|
|
3936
|
+
}): AnimationNode;
|
|
3937
|
+
type MeasureSpringProps = {
|
|
3938
|
+
fps: number;
|
|
3939
|
+
config?: Partial<SpringConfig>;
|
|
3940
|
+
threshold?: number;
|
|
3941
|
+
};
|
|
3942
|
+
declare function measureSpring({
|
|
3943
|
+
fps,
|
|
3944
|
+
config,
|
|
3945
|
+
threshold
|
|
3946
|
+
}: MeasureSpringProps): number;
|
|
3947
|
+
declare function spring({
|
|
3948
|
+
frame: passedFrame,
|
|
3949
|
+
fps,
|
|
3950
|
+
config,
|
|
3951
|
+
from,
|
|
3952
|
+
to,
|
|
3953
|
+
durationInFrames: passedDurationInFrames,
|
|
3954
|
+
durationRestThreshold,
|
|
3955
|
+
delay,
|
|
3956
|
+
reverse
|
|
3957
|
+
}: {
|
|
3958
|
+
frame: number;
|
|
3959
|
+
fps: number;
|
|
3960
|
+
config?: Partial<SpringConfig>;
|
|
3961
|
+
from?: number;
|
|
3962
|
+
to?: number;
|
|
3963
|
+
durationInFrames?: number;
|
|
3964
|
+
durationRestThreshold?: number;
|
|
3965
|
+
delay?: number;
|
|
3966
|
+
reverse?: boolean;
|
|
3967
|
+
}): number;
|
|
3968
|
+
//#endregion
|
|
3969
|
+
//#region src/text-measurer.d.ts
|
|
3970
|
+
interface TextMeasureStyle {
|
|
3971
|
+
fontFamily?: string;
|
|
3972
|
+
fontSize?: number;
|
|
3973
|
+
fontWeight?: string | number;
|
|
3974
|
+
fontStyle?: string;
|
|
3975
|
+
letterSpacing?: number;
|
|
3976
|
+
lineHeight?: number;
|
|
3977
|
+
padding?: number;
|
|
3978
|
+
align?: "left" | "center" | "right";
|
|
3979
|
+
width?: number;
|
|
3980
|
+
height?: number;
|
|
3981
|
+
autoDimensions?: boolean;
|
|
3982
|
+
strokeWidth?: number;
|
|
3983
|
+
strokeAlign?: "inside" | "center" | "outside";
|
|
3984
|
+
keepNaturalWidth?: boolean;
|
|
3985
|
+
spans?: TextSpan[];
|
|
3986
|
+
}
|
|
3987
|
+
interface TextMeasureResult {
|
|
3988
|
+
width: number;
|
|
3989
|
+
height: number;
|
|
3990
|
+
}
|
|
3991
|
+
/**
|
|
3992
|
+
* Shared text measurer that uses SlugGeometry.measure for all environments.
|
|
3993
|
+
*/
|
|
3994
|
+
declare function measureText(text: string | null | undefined, style: TextMeasureStyle): TextMeasureResult;
|
|
3995
|
+
/**
|
|
3996
|
+
* Async variant of measureText. Preloads the Slug font and yields to the browser.
|
|
3997
|
+
*/
|
|
3998
|
+
declare function measureTextAsync(text: string | null | undefined, style: TextMeasureStyle): Promise<TextMeasureResult>;
|
|
3999
|
+
//#endregion
|
|
4000
|
+
//#region src/utils.d.ts
|
|
4001
|
+
/**
|
|
4002
|
+
* Preloads a font into the browser or headless environment.
|
|
4003
|
+
*/
|
|
4004
|
+
declare function preloadFont(family: string, url: string): Promise<void>;
|
|
4005
|
+
//#endregion
|
|
4006
|
+
//#endregion
|
|
4007
|
+
//#region src/index.d.ts
|
|
4008
|
+
interface SectionOptions {
|
|
4009
|
+
readonly id?: string;
|
|
4010
|
+
readonly position?: "absolute" | "relative";
|
|
4011
|
+
readonly source?: string | MediaNode;
|
|
4012
|
+
readonly effects?: unknown[];
|
|
4013
|
+
readonly padding?: number;
|
|
4014
|
+
readonly borderRadius?: number;
|
|
4015
|
+
readonly borderColor?: string;
|
|
4016
|
+
readonly borderWidth?: number;
|
|
4017
|
+
readonly opacity?: number | unknown;
|
|
4018
|
+
readonly blendMode?: string;
|
|
4019
|
+
readonly fit?: "cover" | "contain";
|
|
4020
|
+
readonly width?: number | unknown;
|
|
4021
|
+
readonly height?: number | unknown;
|
|
4022
|
+
readonly x?: number | unknown;
|
|
4023
|
+
readonly y?: number | unknown;
|
|
4024
|
+
readonly hideWhenLost?: boolean;
|
|
4025
|
+
readonly smoothFrames?: number;
|
|
4026
|
+
readonly children?: LayoutNode[];
|
|
4027
|
+
readonly [key: string]: unknown;
|
|
4028
|
+
}
|
|
4029
|
+
type SectionNode = AnimatableNode<BoxNode> & {
|
|
4030
|
+
readonly innerMedia: AnimatableNode<MediaNode>;
|
|
4031
|
+
readonly effects: Effect<object>[];
|
|
4032
|
+
addEffect(effect: Effect<object>): SectionNode;
|
|
4033
|
+
withEffect(effect: Effect<object>): SectionNode;
|
|
4034
|
+
withEffects(effects: Effect<object>[]): SectionNode;
|
|
4035
|
+
};
|
|
4036
|
+
type TrackedRegionOptions = SectionOptions;
|
|
4037
|
+
/** Editing helpers attached to every tracked object (see decorateTrackSignals). */
|
|
4038
|
+
interface TrackEditing {
|
|
4039
|
+
/** A section of the source that follows this track */
|
|
4040
|
+
section(sourceOrOptions?: string | MediaNode | SectionOptions, options?: SectionOptions): SectionNode;
|
|
4041
|
+
/** A blur confined to this track's region */
|
|
4042
|
+
blurEffect(options?: Partial<BlurProps>): Blur;
|
|
4043
|
+
/** The tracked region of `source`, cut out as a section */
|
|
4044
|
+
isolate(source: string | MediaNode, options?: TrackedRegionOptions): SectionNode;
|
|
4045
|
+
}
|
|
4046
|
+
/** A tracked object with its editing helpers, as vision hands it out. */
|
|
4047
|
+
type EditableObjectTrack = ObjectTrackSignals & TrackEditing;
|
|
4048
|
+
interface CompositionOptions {
|
|
4049
|
+
width: number;
|
|
4050
|
+
height: number;
|
|
4051
|
+
fps?: number;
|
|
4052
|
+
durationMs?: number;
|
|
4053
|
+
durationFrames?: number;
|
|
4054
|
+
backgroundColor?: string;
|
|
4055
|
+
fonts?: string[];
|
|
4056
|
+
signals?: Record<string, unknown>;
|
|
4057
|
+
/**
|
|
4058
|
+
* Smooth the edges of 3D meshes (extruded text, models) with 4x MSAA.
|
|
4059
|
+
* Default true; set false to save ~60-125 MB of GPU memory at 1080p.
|
|
4060
|
+
*/
|
|
4061
|
+
antialias3d?: boolean;
|
|
4062
|
+
}
|
|
4063
|
+
/**
|
|
4064
|
+
* Fluent builder for single clips and chained visual/audio effect pipelines.
|
|
4065
|
+
*/
|
|
4066
|
+
declare class Media {
|
|
4067
|
+
readonly virtualMedia: VirtualMediaData;
|
|
4068
|
+
constructor(source: MediaSourceInput, type?: DataType);
|
|
4069
|
+
static video(source: MediaSourceInput, meta?: Partial<MediaMetadata>): Media;
|
|
4070
|
+
static image(source: MediaSourceInput, meta?: Partial<MediaMetadata>): Media;
|
|
4071
|
+
static audio(source: MediaSourceInput, meta?: Partial<MediaMetadata>): Media;
|
|
4072
|
+
/**
|
|
4073
|
+
* Appends any Effect instance or shader operation onto the current media AST.
|
|
4074
|
+
*/
|
|
4075
|
+
apply<TProps extends object>(effect: Effect<TProps>): Media;
|
|
4076
|
+
apply<TConfig extends Record<string, unknown> = Record<string, unknown>>(op: string, config?: TConfig): Media;
|
|
4077
|
+
/**
|
|
4078
|
+
* Returns the underlying VirtualMediaData AST node ready for rendering.
|
|
4079
|
+
*/
|
|
4080
|
+
toVirtualMedia(): VirtualMediaData;
|
|
4081
|
+
/**
|
|
4082
|
+
* Renders a single frame from this media pipeline to a PNG Buffer.
|
|
4083
|
+
* Can render either by timestamp in milliseconds (`atMs`) or by frame index (`frame`).
|
|
4084
|
+
*/
|
|
4085
|
+
renderFrame(options?: {
|
|
4086
|
+
atMs?: number;
|
|
4087
|
+
frame?: number;
|
|
4088
|
+
fps?: number;
|
|
4089
|
+
renderer?: HeadlessMediaRenderer;
|
|
4090
|
+
}): Promise<Buffer>;
|
|
4091
|
+
get fps(): number | undefined;
|
|
4092
|
+
get durationMs(): number | undefined;
|
|
4093
|
+
get width(): number | undefined;
|
|
4094
|
+
get height(): number | undefined;
|
|
4095
|
+
/**
|
|
4096
|
+
* Renders an image grid of sequential frames across a given frame or millisecond range.
|
|
4097
|
+
* Ideal for automated visual inspection of animation motion, easing curves, and layout stability.
|
|
4098
|
+
*/
|
|
4099
|
+
renderFrameGrid(options?: FrameGridOptions): Promise<Buffer>;
|
|
4100
|
+
/**
|
|
4101
|
+
* Renders this media pipeline into an MP4/WebM video file with audio.
|
|
4102
|
+
*/
|
|
4103
|
+
renderVideo(outputPathOrOptions?: string | RenderVideoOptions, options?: RenderVideoOptions): Promise<RenderVideoResult>;
|
|
4104
|
+
}
|
|
4105
|
+
interface RenderVideoOptions {
|
|
4106
|
+
codec?: string;
|
|
4107
|
+
audioCodec?: string;
|
|
4108
|
+
quality?: string;
|
|
4109
|
+
concurrency?: number;
|
|
4110
|
+
outputPath?: string;
|
|
4111
|
+
renderer?: HeadlessMediaRenderer;
|
|
4112
|
+
/**
|
|
4113
|
+
* Check the output while it renders and return the findings as `qa`:
|
|
4114
|
+
* dropped, black or frozen frames, loudness (LUFS), clipping, silence and
|
|
4115
|
+
* document warnings such as truncated animations. `true` uses defaults;
|
|
4116
|
+
* pass thresholds (e.g. `{ targetLufs: -14 }`) to tighten them.
|
|
4117
|
+
*/
|
|
4118
|
+
qa?: boolean | VideoQaOptions;
|
|
4119
|
+
}
|
|
4120
|
+
interface RenderVideoResult {
|
|
4121
|
+
filePath: string;
|
|
4122
|
+
cleanup: () => Promise<void>;
|
|
4123
|
+
/** Present when rendered with `qa`; print it with `formatQaReport` */
|
|
4124
|
+
qa?: VideoQaReport;
|
|
4125
|
+
}
|
|
4126
|
+
interface SubjectSandwichOptions {
|
|
4127
|
+
readonly source: string | MediaNode;
|
|
4128
|
+
readonly subject?: MaskTrackSignals | ObjectTrackSignals;
|
|
4129
|
+
readonly behind: readonly LayoutNode[];
|
|
4130
|
+
readonly feather?: number;
|
|
4131
|
+
readonly fit?: "cover" | "contain" | "fill";
|
|
4132
|
+
readonly variant?: VisionProps["variant"];
|
|
4133
|
+
readonly confidence?: number;
|
|
4134
|
+
readonly keyBackground?: boolean;
|
|
4135
|
+
readonly backgroundKeyThreshold?: number;
|
|
4136
|
+
readonly muted?: boolean;
|
|
4137
|
+
readonly volume?: number;
|
|
4138
|
+
}
|
|
4139
|
+
interface SmartFramingOptions {
|
|
4140
|
+
readonly source: string | MediaNode;
|
|
4141
|
+
readonly targetAspect?: number;
|
|
4142
|
+
readonly sourceAspect?: number;
|
|
4143
|
+
readonly target: ObjectTrackSignals | MaskTrackSignals;
|
|
4144
|
+
readonly damping?: number;
|
|
4145
|
+
readonly leadHeadroom?: number;
|
|
4146
|
+
readonly fit?: "cover" | "contain" | "fill";
|
|
4147
|
+
readonly variant?: VisionProps["variant"];
|
|
4148
|
+
readonly muted?: boolean;
|
|
4149
|
+
readonly volume?: number;
|
|
4150
|
+
}
|
|
4151
|
+
interface SubjectOutlineOptions {
|
|
4152
|
+
readonly source?: string | MediaNode;
|
|
4153
|
+
readonly color?: string;
|
|
4154
|
+
readonly width?: number;
|
|
4155
|
+
readonly blur?: number;
|
|
4156
|
+
readonly pulseSignal?: ProgrammaticSignal | Signal<number>;
|
|
4157
|
+
readonly muted?: boolean;
|
|
4158
|
+
readonly volume?: number;
|
|
4159
|
+
}
|
|
4160
|
+
/**
|
|
4161
|
+
* High-level programmatic builder for multi-layer Framefields compositions.
|
|
4162
|
+
*/
|
|
4163
|
+
declare class Composition {
|
|
4164
|
+
width: number;
|
|
4165
|
+
height: number;
|
|
4166
|
+
fps: number;
|
|
4167
|
+
durationMs?: number;
|
|
4168
|
+
backgroundColor: string;
|
|
4169
|
+
antialias3d?: boolean;
|
|
4170
|
+
fonts: string[];
|
|
4171
|
+
children: LayoutNode[];
|
|
4172
|
+
audioTracks: MediaNode[];
|
|
4173
|
+
signals: Record<string, unknown>;
|
|
4174
|
+
private _frameHooks;
|
|
4175
|
+
private _visionConfig?;
|
|
4176
|
+
private _visionBundle?;
|
|
4177
|
+
private _effects;
|
|
4178
|
+
/**
|
|
4179
|
+
* Applies a whole-composition post-processing effect or vision pipeline.
|
|
4180
|
+
*/
|
|
4181
|
+
apply(effect: unknown): this;
|
|
4182
|
+
/**
|
|
4183
|
+
* Runs vision on the whole composition — the rendered frame (composition, blur, crop,
|
|
4184
|
+
* anything upstream) is the inference input. Models are LAZY: nothing downloads until
|
|
4185
|
+
* the first frame actually runs a task.
|
|
4186
|
+
* Returns the reactive VisionBundle (objects / masks / pose / classes signals).
|
|
4187
|
+
*/
|
|
4188
|
+
withVision(config?: VisionProps | Vision): VisionBundle;
|
|
4189
|
+
/**
|
|
4190
|
+
* One-shot, ffmpeg-free vision analysis of a media source.
|
|
4191
|
+
*
|
|
4192
|
+
* Decodes frames through the same mediabunny pipeline the renderer uses, runs the requested
|
|
4193
|
+
* tasks lazily (only those models download), temporally tracks detections, and returns a
|
|
4194
|
+
* zod-serializable report. The decoder is released and the runner closed on completion.
|
|
4195
|
+
*/
|
|
4196
|
+
analyzeVisionSequence(source: string, options?: {
|
|
4197
|
+
tasks?: readonly VisionTask[];
|
|
4198
|
+
categories?: readonly string[];
|
|
4199
|
+
fps?: number;
|
|
4200
|
+
totalFrames?: number;
|
|
4201
|
+
pathStride?: number;
|
|
4202
|
+
includeMasks?: boolean;
|
|
4203
|
+
modelsDir?: string;
|
|
4204
|
+
baseUrl?: string;
|
|
4205
|
+
confidence?: number;
|
|
4206
|
+
variant?: VisionProps["variant"];
|
|
4207
|
+
/** Tracker box-association IoU. Default 0.25. */
|
|
4208
|
+
iouThreshold?: number;
|
|
4209
|
+
}): Promise<VisionAnalysisReport>;
|
|
4210
|
+
/**
|
|
4211
|
+
* Game-engine per-frame lifecycle hook for the composition.
|
|
4212
|
+
* Invoked before rendering each frame so scripts or agents can mutate properties and signals.
|
|
4213
|
+
*/
|
|
4214
|
+
onRequestFrame(callback: (ctx: FrameContext) => void): this;
|
|
4215
|
+
notifyFrame(ctx: FrameContext): void;
|
|
4216
|
+
constructor(options: CompositionOptions);
|
|
4217
|
+
static create(options: CompositionOptions): Composition;
|
|
4218
|
+
addSignal(name: string, signal: unknown): this;
|
|
4219
|
+
add(layerOrFirst: LayoutNode | LayoutNode[] | TensorPipeline | VisionNode | {
|
|
4220
|
+
node: unknown;
|
|
4221
|
+
}, ...rest: Array<LayoutNode | LayoutNode[] | TensorPipeline | VisionNode | {
|
|
4222
|
+
node: unknown;
|
|
4223
|
+
} | LayerAnimation | {
|
|
4224
|
+
tracks: AnimationTrack[];
|
|
4225
|
+
}>): this;
|
|
4226
|
+
addAudio(track: MediaNode): this;
|
|
4227
|
+
/**
|
|
4228
|
+
* Turnkey "Text Behind Subject" ("Sandwich") Primitive.
|
|
4229
|
+
* Lowers into:
|
|
4230
|
+
* 1. Bottom Layer: Full background video plate
|
|
4231
|
+
* 2. Middle Layer: User-supplied `behind` nodes
|
|
4232
|
+
* 3. Top Layer: Subject cutout video with continuous matte alpha registered at identical coordinates
|
|
4233
|
+
*/
|
|
4234
|
+
addSubjectSandwich(options: SubjectSandwichOptions): this;
|
|
4235
|
+
/**
|
|
4236
|
+
* Dynamic Smart Re-Framing (16:9 → 9:16 Auto-Crop).
|
|
4237
|
+
* Automatically transforms landscape footage into vertical shorts/reels by framing the
|
|
4238
|
+
* tracked subject with smooth camera physics and lead headroom.
|
|
4239
|
+
*/
|
|
4240
|
+
addSmartFraming(options: SmartFramingOptions): this;
|
|
4241
|
+
/**
|
|
4242
|
+
* Subject Contour Glow & Neon Outline.
|
|
4243
|
+
* Strokes the silhouette boundary with a stylized bloom/glow and optional audio-reactive pulse.
|
|
4244
|
+
*/
|
|
4245
|
+
addSubjectOutline(_subject: MaskTrackSignals | ObjectTrackSignals, options?: SubjectOutlineOptions): this;
|
|
4246
|
+
/**
|
|
4247
|
+
* Creates an isolated, styled section of the composition or underlying source plate.
|
|
4248
|
+
* Any WebGPU effects (Blur, FilmGrain, Curves, Vignette, etc.) can be applied to this section.
|
|
4249
|
+
*/
|
|
4250
|
+
section(sourceOrTargetOrOptions?: string | MediaNode | ObjectTrackSignals | SectionOptions, targetOrOptions?: ObjectTrackSignals | SectionOptions, options?: SectionOptions): SectionNode;
|
|
4251
|
+
/**
|
|
4252
|
+
* Creates a section and immediately adds it to the composition layout tree.
|
|
4253
|
+
*/
|
|
4254
|
+
addSection(sourceOrTargetOrOptions?: string | MediaNode | ObjectTrackSignals | SectionOptions, targetOrOptions?: ObjectTrackSignals | SectionOptions, options?: SectionOptions): SectionNode;
|
|
4255
|
+
/**
|
|
4256
|
+
* Dynamically calculates composition duration from the longest media or animation layer.
|
|
4257
|
+
*/
|
|
4258
|
+
computeDuration(): Promise<number>;
|
|
4259
|
+
registerFont(optionsOrFamilyOrSource: RegisterFontOptions | string, source?: string | Uint8Array): Promise<this>;
|
|
4260
|
+
toSpec(): CompositorProgramConfig;
|
|
4261
|
+
/**
|
|
4262
|
+
* Compiles the composition into a VirtualMediaData AST ready for WebGPU rendering.
|
|
4263
|
+
*/
|
|
4264
|
+
toVirtualMedia(options?: Partial<CompositorToProgramOptions>): VirtualMediaData;
|
|
4265
|
+
/**
|
|
4266
|
+
* Compiles the composition into a VirtualMediaData AST with dynamically resolved duration.
|
|
4267
|
+
*/
|
|
4268
|
+
toVirtualMediaAsync(options?: Partial<CompositorToProgramOptions>): Promise<VirtualMediaData>;
|
|
4269
|
+
/**
|
|
4270
|
+
* Renders a single frame from the composition to a PNG Buffer.
|
|
4271
|
+
* Can render either by timestamp in milliseconds (`atMs`) or by frame index (`frame`).
|
|
4272
|
+
*/
|
|
4273
|
+
renderFrame(options?: {
|
|
4274
|
+
atMs?: number;
|
|
4275
|
+
frame?: number;
|
|
4276
|
+
renderer?: HeadlessMediaRenderer;
|
|
4277
|
+
}): Promise<Buffer>;
|
|
4278
|
+
/**
|
|
4279
|
+
* Renders an image grid of sequential frames across a given frame or millisecond range.
|
|
4280
|
+
* Ideal for automated visual inspection of animation motion, easing curves, and layout stability.
|
|
4281
|
+
*/
|
|
4282
|
+
renderFrameGrid(options?: FrameGridOptions): Promise<Buffer>;
|
|
4283
|
+
/**
|
|
4284
|
+
* Renders this composition into an MP4/WebM video file with audio.
|
|
4285
|
+
*/
|
|
4286
|
+
renderVideo(outputPathOrOptions?: string | RenderVideoOptions, options?: RenderVideoOptions): Promise<RenderVideoResult>;
|
|
4287
|
+
}
|
|
4288
|
+
/**
|
|
4289
|
+
* Layer helpers for constructing composition nodes with clean URL/path strings.
|
|
4290
|
+
*/
|
|
4291
|
+
type AnimatableNode<T extends LayoutNode> = T & {
|
|
4292
|
+
mask?: unknown;
|
|
4293
|
+
glass?: Record<string, unknown>;
|
|
4294
|
+
audioDeform?: MeshAudioDeformConfig | Record<string, unknown>;
|
|
4295
|
+
crop?: CropProps | Crop;
|
|
4296
|
+
vision?: Vision;
|
|
4297
|
+
relighting?: NormalRelightingOptions;
|
|
4298
|
+
deflicker?: DeflickerOptions;
|
|
4299
|
+
effects?: unknown[];
|
|
4300
|
+
blurRegions?: unknown[];
|
|
4301
|
+
[key: string]: unknown;
|
|
4302
|
+
animate(...anim: (LayerAnimation | {
|
|
4303
|
+
tracks: AnimationTrack[];
|
|
4304
|
+
} | LayerAnimation[])[]): AnimatableNode<T>;
|
|
4305
|
+
pinToLandmark(target: LandmarkCoordinateSignals | {
|
|
4306
|
+
x: number;
|
|
4307
|
+
y: number;
|
|
4308
|
+
z?: number;
|
|
4309
|
+
screenX?: number;
|
|
4310
|
+
screenY?: number;
|
|
4311
|
+
}, options?: PinToLandmarkOptions): AnimatableNode<T>;
|
|
4312
|
+
pinToObject(target: ObjectTrackSignals | LandmarkCoordinateSignals | {
|
|
4313
|
+
x: number;
|
|
4314
|
+
y: number;
|
|
4315
|
+
z?: number;
|
|
4316
|
+
screenX?: number;
|
|
4317
|
+
screenY?: number;
|
|
4318
|
+
}, options?: PinToObjectOptions): AnimatableNode<T>;
|
|
4319
|
+
withMask(mask: unknown): AnimatableNode<T>;
|
|
4320
|
+
withPbrGlass(options?: Record<string, unknown>): AnimatableNode<T>;
|
|
4321
|
+
deformWithAudio(config?: MeshAudioDeformConfig | Record<string, unknown>): AnimatableNode<T>;
|
|
4322
|
+
withCrop(cropConfig: CropProps | Crop): AnimatableNode<T>;
|
|
4323
|
+
/** Runs vision on this node's rendered output (see `Vision` for options and modes). */
|
|
4324
|
+
withVision(config?: VisionProps | Vision): AnimatableNode<T>;
|
|
4325
|
+
withRelighting(options?: NormalRelightingOptions): AnimatableNode<T>;
|
|
4326
|
+
relight(options?: NormalRelightingOptions): AnimatableNode<T>;
|
|
4327
|
+
withDeflicker(options?: DeflickerOptions): AnimatableNode<T>;
|
|
4328
|
+
apply(effect: unknown): AnimatableNode<T>;
|
|
4329
|
+
withEffect(effect: unknown): AnimatableNode<T>;
|
|
4330
|
+
withEffects(effects: unknown[]): AnimatableNode<T>;
|
|
4331
|
+
blurRegion(trackTarget: ObjectTrackSignals, options?: Partial<BlurProps>): AnimatableNode<T>;
|
|
4332
|
+
withBlurRegion(trackTarget: ObjectTrackSignals, options?: Partial<BlurProps>): AnimatableNode<T>;
|
|
4333
|
+
};
|
|
4334
|
+
declare const Layer: {
|
|
4335
|
+
video: (src: string, options?: Partial<MediaNode>) => AnimatableNode<MediaNode>;
|
|
4336
|
+
image: (src: string, options?: Partial<MediaNode>) => AnimatableNode<MediaNode>;
|
|
4337
|
+
svg: (src: string, options?: Partial<MediaNode>) => AnimatableNode<MediaNode>;
|
|
4338
|
+
lottie: (src: string, options?: Partial<MediaNode>) => AnimatableNode<MediaNode>;
|
|
4339
|
+
audio: (src: string, options?: Partial<MediaNode>) => AnimatableNode<MediaNode>;
|
|
4340
|
+
text: (contentOrOptions: string | TextSpan[] | (string | TextSpan)[] | Partial<TextNode>, maybeOptions?: Partial<TextNode>) => AnimatableNode<TextNode>;
|
|
4341
|
+
caption: (src: string, options?: Partial<MediaNode>) => AnimatableNode<MediaNode>;
|
|
4342
|
+
shape: (shapeType?: "rect" | "circle" | "ellipse" | "polygon" | "star" | "arrow" | "path", options?: Partial<ShapeNode>) => AnimatableNode<ShapeNode>;
|
|
4343
|
+
flex: (options?: Partial<FlexNode>) => AnimatableNode<FlexNode>;
|
|
4344
|
+
box: (options?: Partial<BoxNode>) => AnimatableNode<BoxNode>;
|
|
4345
|
+
section: (source: string | MediaNode | Composition, targetOrOptions?: ObjectTrackSignals | SectionOptions, options?: SectionOptions) => SectionNode;
|
|
4346
|
+
trackedRegion: (source: string | MediaNode, target: ObjectTrackSignals, options?: TrackedRegionOptions) => SectionNode;
|
|
4347
|
+
blurTrackedRegion: (source: string | MediaNode, target: ObjectTrackSignals, options?: Partial<BlurProps> & {
|
|
4348
|
+
borderRadius?: number;
|
|
4349
|
+
padding?: number;
|
|
4350
|
+
borderColor?: string;
|
|
4351
|
+
borderWidth?: number;
|
|
4352
|
+
}) => SectionNode;
|
|
4353
|
+
/**
|
|
4354
|
+
* A line, area, bar, scatter, candlestick, pie or donut chart. Returns a box
|
|
4355
|
+
* of ordinary nodes (bars are boxes, lines and slices are path shapes,
|
|
4356
|
+
* labels are text), so it positions, animates and composites like any layer.
|
|
4357
|
+
* `props` applies to that box: position, id, timing, effects.
|
|
4358
|
+
*/
|
|
4359
|
+
chart: (options: ChartOptions, props?: Partial<BoxNode>) => AnimatableNode<BoxNode>;
|
|
4360
|
+
camera: (options?: Partial<CameraNode>) => AnimatableNode<CameraNode>;
|
|
4361
|
+
light: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4362
|
+
ambientLight: (color?: string, intensity?: number, options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4363
|
+
directionalLight: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4364
|
+
pointLight: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4365
|
+
spotLight: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4366
|
+
cube: (options: Cube3DOptions) => AnimatableNode<BoxNode>;
|
|
4367
|
+
carousel3d: (options: Carousel3DOptions) => AnimatableNode<BoxNode>;
|
|
4368
|
+
plane3d: (options: Plane3DOptions) => AnimatableNode<BoxNode>;
|
|
4369
|
+
prism3d: (options: Prism3DOptions) => AnimatableNode<BoxNode>;
|
|
4370
|
+
model: (options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4371
|
+
obj: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4372
|
+
fbx: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4373
|
+
gltf: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4374
|
+
glb: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4375
|
+
stl: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4376
|
+
ply: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4377
|
+
vox: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4378
|
+
threeDS: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4379
|
+
off: (src: string, options?: Partial<Model3DNode>) => AnimatableNode<Model3DNode>;
|
|
4380
|
+
};
|
|
4381
|
+
declare const Light: {
|
|
4382
|
+
ambient: (color?: string, intensity?: number, options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4383
|
+
directional: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4384
|
+
point: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4385
|
+
spot: (options?: Partial<LightNode>) => AnimatableNode<LightNode>;
|
|
4386
|
+
};
|
|
4387
|
+
declare function section(source: string | MediaNode | Composition, targetOrOptions?: ObjectTrackSignals | SectionOptions, options?: SectionOptions): SectionNode;
|
|
4388
|
+
declare function blurRegion(sourceOrLayer: string | AnimatableNode<MediaNode>, target: ObjectTrackSignals, options?: Partial<BlurProps> & {
|
|
4389
|
+
borderRadius?: number;
|
|
4390
|
+
padding?: number;
|
|
4391
|
+
borderColor?: string;
|
|
4392
|
+
borderWidth?: number;
|
|
4393
|
+
}): AnimatableNode<MediaNode> | AnimatableNode<BoxNode>;
|
|
4394
|
+
declare function editTrackedRegion(source: string | MediaNode, target: ObjectTrackSignals, options?: TrackedRegionOptions): SectionNode;
|
|
4395
|
+
declare const Effect: typeof Effect$1 & {
|
|
4396
|
+
blur: (config?: BlurProps) => Blur;
|
|
4397
|
+
vignette: (config?: VignetteProps) => Vignette;
|
|
4398
|
+
colorBalance: (config?: ColorBalanceProps) => ColorBalance;
|
|
4399
|
+
colorKey: (config?: ColorKeyProps) => ColorKey;
|
|
4400
|
+
levels: (config?: LevelsProps) => Levels;
|
|
4401
|
+
filmGrain: (config?: FilmGrainProps) => FilmGrain;
|
|
4402
|
+
curves: (config?: CurvesProps) => Curves;
|
|
4403
|
+
selectiveColor: (config?: SelectiveColorProps) => SelectiveColor;
|
|
4404
|
+
gradientMap: (config?: GradientMapProps) => GradientMap;
|
|
4405
|
+
shadowsHighlights: (config?: ShadowsHighlightsProps) => ShadowsHighlights;
|
|
4406
|
+
applyLut: (config?: ApplyLUTProps) => ApplyLUT;
|
|
4407
|
+
unsharpMask: (config?: UnsharpMaskProps) => UnsharpMask;
|
|
4408
|
+
highPass: (config?: HighPassProps) => HighPass;
|
|
4409
|
+
halftoneScreen: (config?: HalftoneScreenProps) => HalftoneScreen;
|
|
4410
|
+
tileOffset: (config?: TileOffsetProps) => TileOffset;
|
|
4411
|
+
motionBlur: (config?: MotionBlurProps) => MotionBlur;
|
|
4412
|
+
ssao: (config?: SSAOProps) => SSAO;
|
|
4413
|
+
pbrGlass: (config?: PBRGlassProps) => PBRGlass;
|
|
4414
|
+
depthOfField: (config?: DepthOfFieldProps) => DepthOfField;
|
|
4415
|
+
crop: (config?: CropProps) => Crop;
|
|
4416
|
+
vision: (config?: VisionProps) => Vision;
|
|
4417
|
+
relight3d: (config?: Relight3DProps) => Relight3D;
|
|
4418
|
+
modulate: (config?: ModulateProps) => Modulate;
|
|
4419
|
+
deflicker: (config?: DeflickerProps) => TemporalDeflicker;
|
|
4420
|
+
custom: (op: string, config?: Record<string, unknown>) => CustomEffect;
|
|
4421
|
+
};
|
|
4422
|
+
type Effect<TConfig extends object = Record<string, unknown>> = Effect$1<TConfig>;
|
|
4423
|
+
//#endregion
|
|
4424
|
+
export { type AETextAnimator, AETextAnimatorSchema, type AdvancedTextAnimator, AdvancedTextAnimatorBuilder, AdvancedTextAnimatorSchema, type AnchorGrouping, AnchorGroupingSchema, type AnchorPreset, AnchorPresetSchema, type AnimatableGlyphProps, AnimatableGlyphPropsSchema, AnimatableNode, type AnimatableProp, type AnimationClip3D, type AnimationTrack, AnimationType, AnimationTypeSchema, AnyOutputUnion, AnyOutputUnionSchema, ApplyLUT, type ApplyLUTProps, type ArcLengthLUTEntry, AudioExtractorSignalData, AudioExtractorSignalDataSchema, type AudioLatentData, AudioLatentEngine, AudioLatentTrackCache, AudioMeshDeformPipeline, type AudioQaStats, AudioSignal, AudioSignalExtractor, type AudioSignalExtractorProps, type AudioSignalOptions, type AudioSpectrumTypography, AudioSpectrumTypographySchema, BaseMediaOperationProps, BaseMediaOperationPropsSchema, BaseVideoLayerProps, BaseVideoLayerPropsSchema, BezierSegment3D, type BlendMode, type BlockNode, Blur, type BlurProps, type Bone3D, type BoxNode, BoxNodeSchema, CAPTION_LAYER_DEFAULTS, COCO17_BONES, COCO17_KEYPOINTS, COCO17_KEYPOINT_NAMES, COCO_CLASSES, COMPOSITE_OPERATIONS, COMPOSITOR_DEFAULTS, Camera3D, Camera3DPose, CameraAnimation, type CameraDoF, type CameraLens, type CameraNode, CameraNodeSchema, type CameraShake, CameraShakeOptions, CannyComputePipeline, type CannyOptions, type Carousel3DOptions, type CarrierHandoffConfig, CarrierHandoffConfigSchema, type CarrierState, CatmullRomOptions, type ChartAnimationOptions, type ChartAxisOptions, type ChartCandle, type ChartDatum, type ChartOptions, type ChartPadding, type ChartSeries, type ChartSlice, type ChartType, type ChartX, type ChromaticGlitchConfig, ChromaticGlitchConfigSchema, CirclePathOptions, ColorBalance, type ColorBalanceProps, ColorKey, type ColorKeyProps, type ColorSignalOptions, type ColorStop, ColorStopSchema, Composition, CompositionOptions, type CompositorProgramConfig, CompositorProgramSchema, type CompositorToProgramOptions, ConfigHandle, ConfigHandleSchema, ConfigSchemaRegistry, ConnectedInput, type ControlNetConditioningOutputs, ControlNetMultiplexer, Crop, type CropProps, type Cube3DOptions, type CubeFaceConfig, type CubeFaceInput, type CubicBezierSegment, CubicBezierSegmentSchema, Curves, type CurvesChannelPoint, type CurvesProps, CustomEffect, DATA_TYPE_EXTENSIONS, DEFAULT_CHART_COLORS, DEFAULT_DURATION_MS, DEFAULT_FPS, DEFAULT_MEDIA_DIMENSION, DataForType, DataType, DataTypeEnum, DataTypeVal, DataTypes, type DeflickerOptions, type DeflickerProps, DepthNormalsComputePipeline, type DepthNormalsOptions, DepthOfField, type DepthOfFieldProps, type DetectedObject, type DynamicStrokeProperties, DynamicStrokePropertiesSchema, type EaseRef, Easing, EditableObjectTrack, Effect, EffectConfig, EffectConfigValue, EffectPipeline, type EnhancedTextNode, EnhancedTextNodeSchema, ExportResult, ExportResultSchema, type ExpressionEvaluationContext, type ExpressionSelector, ExpressionSelectorSchema, type ExtendedGlyphProperties, ExtendedGlyphPropertiesSchema, ExtendedLayer, ExtendedLayerSchema, type ExtractedAudioSignalsBundle, type ExtrudedText3DOptions, FaceLandmarksOptions, FileAsset, FileAssetSchema, FileData, FileDataSchema, FilmGrain, type FilmGrainProps, type FlexNode, FlexNodeSchema, FontManager, FrameContext, type FrameGridOptions, type FrameGridRenderable, type FrameSamplePoint, type FrameSignal, type FromToOptions, FrustumPlane, FrustumPlanes, type GPULightData, GPUTextureBinding, GateSignalOptions, GeneratorSignalData, GeneratorSignalDataSchema, GlassPipeline, GlobalCompositeOperation, type GlyphAnchorGrouping, GlyphAnchorGroupingSchema, type GlyphAnchorPoint, GlyphAnchorPointSchema, GradientMap, type GradientMapProps, type GradientMapStop, type Grid3DOptions, type HalftoneDotShape, type HalftoneMode, HalftoneScreen, type HalftoneScreenProps, HandleType, HandleTypeVal, HeadlessMediaRenderer, HeadlessWebGPURenderer, HelixOptions, HighPass, type HighPassProps, type InstanceMask, InterpolateOptions, JsonArray, JsonObject, JsonValue, JsonValueSchema, type Keyframe, type KeyframeTuple, type KineticMarqueeConfig, KineticMarqueeConfigSchema, LIGHT_UNIFORM_SIZE_BYTES, type Landmark3D, type LandmarkCoordinateSignals, Layer, Layer3D, LayerAnimation, type LayoutNode, LayoutNodeSchema, type LevelChannel, Levels, type LevelsProps, Light, Light3D, type Light3DOptions, LightKind, type LightNode, LightNodeSchema, type LightType, LightTypeSchema, LightsUniformData, type LineSpacingDynamics, LineSpacingDynamicsSchema, type LoadModelOptions, type LongShadowConfig, LongShadowConfigSchema, MAX_LIGHTS, MIME_TYPES, type MarkOptions, type MaskTrackSignals, Mat4, type Material3D, type MaterialType, MaterialTypeSchema, Matrix4Math, Media, MediaMetadata, MediaMetadataSchema, type MediaNode, MediaNodeSchema, MediaOperation, MediaOperationSchema, MediaService, MediaSourceDescriptor, MediaSourceInput, MediaSourceSchema, type Mesh3DData, MeshAudioDeformConfig, type Model3DData, type Model3DNode, Model3DNodeSchema, ModerationError, ModerationUnrefundableError, Modulate, type ModulateProps, MotionBlur, MotionBlurPipeline, type MotionBlurProps, MultiOutputGeneric, MultiOutputGenericSchema, type NodeAnimationTrack3D, NodeMetadata, NodeMetadataSchema, NodeProcessorContext, NodeProcessorParams, NodeResult, NodeResultSchema, NodeRunFunction, NodeValidationFn, NodeVisualConfig, NodeVisualConfigSchema, type NormalRelightingOptions, type NormalizedLandmarkList, type ObjectAnchorName, type ObjectAnchorsSignals, type ObjectBoundingBox, type ObjectBoundingBoxSignals, type ObjectCollectionSignals, type ObjectKinematicsSignals, type ObjectTrackSignals, OpticalFlowComputePipeline, type OpticalFlowOptions, Output, OutputItem, OutputItemSchema, PBRGlass, type PBRGlassProps, type ParticleDissolveConfig, ParticleDissolveConfigSchema, Path3D, Path3DPoint, Path3DSample, type PathChainLUT, type PathChainLUTEntry, type PersonMatte, type PinToLandmarkOptions, type PinToObjectOptions, type Plane3DOptions, type PoseLandmarkSignals, type PoseResult, PoseSkeletonOptions, PoseSkeletonRenderer, type PreviewCloseReason, type PreviewOptions, type PreviewSession, type PreviewSource, type Prism3DOptions, ProgrammaticSignal, ProgrammaticSignalOptions, type QaIssue, type QaSegment, type RegisterFontOptions, type RegisteredFont, Relight3D, type Relight3DProps, type RenderContextValue, RenderDiagnostic, RenderVideoOptions, RenderVideoResult, type RenderedSfx, Renderer2D, Renderer3D, SSAO, SSAOPipeline, type SSAOProps, Scene, type SceneDefinition, SceneDefinitionSchema, type SceneOptions, type SceneTransitionType, SceneTransitionTypeSchema, 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 SequenceOptions, type SequenceTimelineResult, type SfxRenderContext, type SfxTrigger, ShadowPipeline, ShadowsHighlights, type ShadowsHighlightsProps, type Shape3DContainer, 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 Skeleton3D, type SkewProperties, SkewPropertiesSchema, SlugFontCache, SlugPipeline, SmartFramingOptions, SourceOperationSchema, type Spatial3DProperties, Spatial3DPropertiesSchema, SpatialLandmarkTransformer, SpringConfig, type SpringOptions, type SpringPhysics, SpringPhysicsSchema, StorageService, StrokeRect, SubjectOutlineOptions, SubjectSandwichOptions, 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, TextAnimator, TextAnimatorBuilder, TextAnimatorSchema, type TextCursorConfig, TextCursorConfigSchema, type TextCursorStyle, TextCursorStyleSchema, TextMeasureResult, TextMeasureStyle, 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, TrackEditing, type TrackSource, type TrackedObject, TrackedRegionOptions, Transition, TransitionSchema, TransitionType, TransitionTypeSchema, type TypewriterAnimator, TypewriterAnimatorSchema, type TypingCadence, TypingCadenceSchema, UnsharpMask, type UnsharpMaskProps, 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, WritableSignal, XYPosition, accent, analyzeSequence, appendOperation, applyStaggerToChildren, 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, deserializeSignalData, deterministicWigglyNoise, distanceToCurveParameter, editTrackedRegion, ellipseToCubicBeziers, encodeStereoWav, ensureDevice, evaluateAnimationAtFrame, evaluateCubicBezier, evaluateCubicBezierDerivative, evaluateExpressionSelector, evaluateMarqueeOffset, evaluateSelectorCombination, evaluateSkewMatrix, evaluateSpringProgress, evaluateTrackAtFrame, evaluateTypewriterState, evaluateVolumetricFormation, extractSvgDimensions, findSourceAsset, formatQaReport, frameArraySignal, frameSignal, generateArcLengthLUT, generateId, generatePathSegments, getActiveMediaMetadata, getFileDataMetadata, getFingerprint, getLeafMediaType, getMediaType, getRenderFingerprint, getScramblePool, getShuffledOrder, hasOnlySingleSource, inputStore, interpolate, isEqual, isSignal, isVirtualMediaData, italic, loadFBX, loadModel3D, loadOBJ, lutStore, mapBlendModeToSkia, mark, measureSpring, measureText, measureTextAsync, mixAudioTracks, mixSfxInto, normalizeTextSpans, parseColorToRgb, parseFBX, parseMTL, parseMarkup, parseOBJ, parseSvgPathToCubicBeziers, pinNodeToLandmark, pinNodeToObject, preloadFont, programmaticSignal, progressSignal, registerSignalDependency, renderFrameGrid, renderSemaphore, renderSfx, reportRenderDiagnostic, requiresIsolation, resolveMediaMimeType, resolveSamplePoints, rich, sampleAudioSpectrumScale, sampleCurveGeometry, samplePathChainGeometry, section, serializeSignalData, shaderStore, signal, signalBuilder, signalRegistry, sineSignal, size, softLimit, span, spring, springCalculation, stampResult, startPreview, sub, sup, takeRenderDiagnostics, textureCache, timeSignal, updateClockSignals, waveToCubicBeziers };
|
|
4425
|
+
//# sourceMappingURL=index.d.mts.map
|