hyperframes 0.8.191 → 0.8.193
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/dist/{add-S2ZQYG52.js → add-JC6DKZKC.js} +17 -17
- package/dist/{animatedGifPrep-3JA2CQ3U.js → animatedGifPrep-S6KXJGEL.js} +11 -10
- package/dist/api.js +24 -23
- package/dist/{appHistory-TH3TL6N6.js → appHistory-QVCSAOI4.js} +1 -1
- package/dist/{asset-2CNTAPOC.js → asset-XITFIFE6.js} +2 -2
- package/dist/{assetCataloger-5HXLXL7C.js → assetCataloger-K5FNKG35.js} +13 -12
- package/dist/{audio-DZTSYHXS.js → audio-364UHTY4.js} +22 -21
- package/dist/{auth-GX3M6TJ4.js → auth-5JEESRE6.js} +4 -4
- package/dist/{autoUpdate-EDIWE4Z5.js → autoUpdate-RVVYEHAA.js} +5 -5
- package/dist/{backgroundChecks-VPUPJ7UI.js → backgroundChecks-DCBIYWIQ.js} +5 -5
- package/dist/backgroundChecksWorker.js +5 -5
- package/dist/{batchRender-JHIIDBJR.js → batchRender-ZZ4QMBAA.js} +14 -7
- package/dist/{beats-PZRVTRYW.js → beats-YEL65M6G.js} +53 -15
- package/dist/{benchmark-22UFDW2N.js → benchmark-RBTRPA76.js} +18 -14
- package/dist/{browser-VRDWYIUM.js → browser-BVAYXT4R.js} +7 -7
- package/dist/{bundleWithLocalizedFonts-23QDKFSN.js → bundleWithLocalizedFonts-JLB2OYMT.js} +3 -3
- package/dist/{capture-TOCLXYMJ.js → capture-GBXTMYLZ.js} +76 -68
- package/dist/{capture-NFCBXHDE.js → capture-NIFX6IRS.js} +3 -3
- package/dist/{captureCompositionFrame-BEM6MF7F.js → captureCompositionFrame-ATNNKUL5.js} +17 -16
- package/dist/{catalog-NXS35KM7.js → catalog-AGIF5SM5.js} +18 -18
- package/dist/{catch-up-6WJBUI2C.js → catch-up-SZ3ULDTI.js} +7 -7
- package/dist/{check-WVEBMWN5.js → check-YLQS3TF4.js} +43 -42
- package/dist/{checkBrowser-RT45HJ36.js → checkBrowser-QH4FMCBO.js} +38 -37
- package/dist/{chunk-JOLZ3BSL.js → chunk-2LSCYS2H.js} +2 -2
- package/dist/{chunk-B2A56S5C.js → chunk-2MCXIY4B.js} +13 -10
- package/dist/{chunk-TADJOIFW.js → chunk-2NERNYCJ.js} +4 -4
- package/dist/{chunk-KGMHMYWI.js → chunk-2SFDWMSW.js} +2 -2
- package/dist/{chunk-DCAI5DBR.js → chunk-2ST4WAFY.js} +9 -1
- package/dist/{chunk-3NRB7YXW.js → chunk-2VXY3PEF.js} +96 -67
- package/dist/{chunk-IXLUTE6N.js → chunk-3422KMTD.js} +5 -1
- package/dist/{chunk-VYQYVYQ5.js → chunk-3W4B6G7Y.js} +83 -45
- package/dist/{chunk-JYSSPQDT.js → chunk-4LXZJIVY.js} +11 -11
- package/dist/{chunk-WHAEJX26.js → chunk-4PPWAQYV.js} +17 -12
- package/dist/{chunk-COWQITWP.js → chunk-4TKJWWPL.js} +1 -1
- package/dist/{chunk-NXMYHJAL.js → chunk-4VYPICIA.js} +29 -1
- package/dist/{chunk-RE3EEBWC.js → chunk-5J6TWLFG.js} +4 -4
- package/dist/{chunk-TFMZ4RKM.js → chunk-6DLCOQR4.js} +474 -429
- package/dist/{chunk-KV72BP7O.js → chunk-6LWUPIKD.js} +11 -11
- package/dist/{chunk-HRPWRZGF.js → chunk-6N65ZMC5.js} +1 -1
- package/dist/{chunk-XUXGIA7H.js → chunk-6NLPPKBO.js} +1 -2
- package/dist/{chunk-JJJCFKMF.js → chunk-6XUJVEY2.js} +17 -6
- package/dist/{chunk-GM3WIOO6.js → chunk-7HTH5PFK.js} +2 -2
- package/dist/{chunk-LBNEH6IQ.js → chunk-7QNIXBQD.js} +1 -1
- package/dist/{chunk-OV6KHXLX.js → chunk-7YKJF5JV.js} +1 -1
- package/dist/{chunk-COETAXRN.js → chunk-7YSFE4SZ.js} +2 -2
- package/dist/{chunk-3WJT2JCX.js → chunk-AR3DQYRR.js} +52 -23
- package/dist/{chunk-HYW6HTAK.js → chunk-BJAS2JLW.js} +2 -2
- package/dist/{chunk-RWYUK7LM.js → chunk-BP4EMEGH.js} +2 -2
- package/dist/{chunk-XGHHVYC7.js → chunk-BY6OQ6XP.js} +2 -2
- package/dist/{chunk-TMBUBLZB.js → chunk-C4Y3ZREE.js} +185 -46
- package/dist/{chunk-JQYJXUJW.js → chunk-C6KE4AFW.js} +1 -1
- package/dist/{chunk-TMK4Q7JA.js → chunk-CFUCHO4T.js} +20 -5
- package/dist/{chunk-JGTRVG32.js → chunk-CGTZOY53.js} +1 -1
- package/dist/chunk-CZGHFATT.js +31 -0
- package/dist/{chunk-NJGTNWQY.js → chunk-D625D4TV.js} +6 -6
- package/dist/{chunk-CYBXXSC4.js → chunk-DIKAPMMF.js} +2 -2
- package/dist/{chunk-CXMXJEVY.js → chunk-DSQ72G5I.js} +1 -1
- package/dist/{chunk-GLG5JWLI.js → chunk-DYNHVCBF.js} +2 -2
- package/dist/{chunk-7L37AB57.js → chunk-E3P3LJG6.js} +9 -9
- package/dist/{chunk-EFCKV7MY.js → chunk-E77ALFLW.js} +1 -1
- package/dist/{chunk-WQ3X5OH4.js → chunk-EFXMETRK.js} +2 -2
- package/dist/{chunk-7KVVNF7B.js → chunk-ELP5QZWL.js} +1 -1
- package/dist/{chunk-QH3T4WI2.js → chunk-EXAX37XR.js} +8 -2
- package/dist/{chunk-7A65UCMI.js → chunk-F5LLORBP.js} +2 -2
- package/dist/{chunk-EI7FP7F3.js → chunk-FBVUAH7N.js} +12 -2
- package/dist/{chunk-XWOCXIKR.js → chunk-GKHMSSGY.js} +1 -1
- package/dist/{chunk-DOOSC34Z.js → chunk-GR5DQKDR.js} +8 -8
- package/dist/{chunk-W64L7IFS.js → chunk-IW5G323T.js} +1 -1
- package/dist/{chunk-NAUKCKCJ.js → chunk-KU3UFQN7.js} +9 -12
- package/dist/{chunk-NMDUSCCE.js → chunk-L4JB7LI4.js} +478 -129
- package/dist/{chunk-ALEF2F5N.js → chunk-L5YLA54L.js} +2 -2
- package/dist/{chunk-MSM6VRQ4.js → chunk-LFUVTS6V.js} +2 -2
- package/dist/{chunk-7ZJEQY7Q.js → chunk-LMNZLZMJ.js} +23 -3
- package/dist/{chunk-AQB5M53R.js → chunk-M3KZBDPB.js} +3 -3
- package/dist/{chunk-BFFLKQVB.js → chunk-MFUNDJEV.js} +4 -4
- package/dist/{chunk-7NKJS5KM.js → chunk-OFV3WSOE.js} +1 -1
- package/dist/{chunk-CINKQY6M.js → chunk-OFYW4J7Y.js} +3 -3
- package/dist/{chunk-5C7R55BJ.js → chunk-P2I4RLJE.js} +1 -1
- package/dist/{chunk-RUOG4VB7.js → chunk-PKZ7RK5N.js} +5 -4
- package/dist/{chunk-LLFQA7XF.js → chunk-QFPBRZJD.js} +1 -1
- package/dist/{chunk-TRZVS6TL.js → chunk-QKX7ITER.js} +3 -3
- package/dist/{chunk-46HEFGXJ.js → chunk-REUL2KH2.js} +1 -1
- package/dist/{chunk-TFGO5YMI.js → chunk-RTLPWOO6.js} +2 -2
- package/dist/{chunk-DYAPHNV6.js → chunk-RWGASWT7.js} +1 -1
- package/dist/chunk-RXATE6FZ.js +385 -0
- package/dist/{chunk-U5GTDAQL.js → chunk-SOY2FPOR.js} +7 -7
- package/dist/{chunk-KNU5COPB.js → chunk-T2EUWCJE.js} +1 -1
- package/dist/{chunk-RQBB7PYT.js → chunk-TY3LDJA3.js} +5 -12
- package/dist/{chunk-KAC2WR7P.js → chunk-TZEKVLPV.js} +3 -3
- package/dist/{chunk-TJKE4EYX.js → chunk-UB7BIDBS.js} +3 -3
- package/dist/{chunk-WY3TQ2PT.js → chunk-UIC7B5KW.js} +2 -2
- package/dist/{chunk-2WNVHZHA.js → chunk-UNATIAOT.js} +13 -13
- package/dist/chunk-USWPZXEA.js +3897 -0
- package/dist/{chunk-FBDOHH3Q.js → chunk-V7ZA2BNW.js} +29 -59
- package/dist/{chunk-7LUJE3II.js → chunk-VLLFORE2.js} +1 -1
- package/dist/{chunk-T5YF32WV.js → chunk-VPC4XIVI.js} +6 -5
- package/dist/{chunk-7FF36MAD.js → chunk-VW63MHQU.js} +9 -6
- package/dist/{chunk-ZHKUIC7X.js → chunk-WFS6S65A.js} +21 -14
- package/dist/{chunk-UNR3P7IF.js → chunk-WIVOXGEP.js} +3 -3
- package/dist/{chunk-3XI7MIZB.js → chunk-X5CECNCK.js} +1 -1
- package/dist/{chunk-KHCTBZGJ.js → chunk-XQPA4W3M.js} +4 -4
- package/dist/{chunk-XMSQRDAK.js → chunk-YS4JUGNI.js} +2 -2
- package/dist/{chunk-SMEF3TRJ.js → chunk-ZH7J2ZUL.js} +15 -15
- package/dist/{chunk-WJEVUPVD.js → chunk-ZT45TCY3.js} +1 -1
- package/dist/{chunk-JTPHFYZI.js → chunk-ZTKFRXJB.js} +68 -7
- package/dist/{chunk-W3CS2KFV.js → chunk-ZZPBXRYQ.js} +2 -2
- package/dist/{clean-3VIU2BSK.js → clean-5HGESK5A.js} +40 -27
- package/dist/cli.js +70 -68
- package/dist/{cloud-NA3J4XW2.js → cloud-746PHS32.js} +4 -4
- package/dist/{cloudrun-4MHOF7UT.js → cloudrun-DO7WFLSM.js} +9 -9
- package/dist/commands/contrast-audit.browser.js +1 -1
- package/dist/{compare-ZR7XRPPT.js → compare-66YPRNG2.js} +76 -47
- package/dist/{compiler-MA2ELZPG.js → compiler-R4UYDWXO.js} +8 -7
- package/dist/{component-ZJSOPUAM.js → component-EQ3H6RFP.js} +3 -3
- package/dist/{compositions-WA5V2SHF.js → compositions-ZZ7P5HT2.js} +19 -17
- package/dist/{contactSheet-CAGMKI3E.js → contactSheet-SZBJDOMT.js} +2 -2
- package/dist/{delete-UC427UEA.js → delete-Z5MSLJSR.js} +7 -7
- package/dist/{deploy-B5UO4UIK.js → deploy-RGSAC2K5.js} +1 -1
- package/dist/{deterministicFonts-EGAAE7QL.js → deterministicFonts-RO2TCMLZ.js} +3 -3
- package/dist/{dist-XGPSPKKP.js → dist-QQ26RUDV.js} +5 -4
- package/dist/{dist-BPK37SAB.js → dist-RKK4YLAD.js} +5 -5
- package/dist/{doctor-ZERCTKEK.js → doctor-W4ZZDRTU.js} +20 -19
- package/dist/{events-DCOZQERS.js → events-BSSL4A4W.js} +4 -4
- package/dist/{events-CNIXB2QK.js → events-UACT7PX3.js} +5 -5
- package/dist/{feedback-YBD5ITTY.js → feedback-47ILDLQG.js} +16 -16
- package/dist/{ffmpeg-V4BBFDTG.js → ffmpeg-IEHSUNUT.js} +13 -12
- package/dist/{figma-Z45ZYVGE.js → figma-PLFIIYRU.js} +3 -3
- package/dist/fontLocalizeCli.js +14 -13
- package/dist/{get-23NXQWCD.js → get-PDWGJYNL.js} +7 -7
- package/dist/{gpuPolicy-H6ABHVEB.js → gpuPolicy-6UBXO6ME.js} +11 -10
- package/dist/{grade-compare-ZPX2G3UV.js → grade-compare-5VWLQGM7.js} +38 -37
- package/dist/{gsapParserAcorn-SKODXC2N.js → gsapParserAcorn-OOTY2MVN.js} +2 -2
- package/dist/{help-EP4CDPLO.js → help-DS3KMWYO.js} +1 -1
- package/dist/{history-E5OSXO74.js → history-OC326NVZ.js} +41 -17
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +62 -62
- package/dist/hyperframes-player.global.js +3 -3
- package/dist/hyperframes-slideshow.global.js +1 -1
- package/dist/{info-2HHGSW5H.js → info-AUIFV6MX.js} +56 -22
- package/dist/{init-ENEG6RZT.js → init-MRTWWDFW.js} +38 -45
- package/dist/{inspect-PVQK4E2A.js → inspect-55NOAXI2.js} +36 -35
- package/dist/{installer-YGGLEOSF.js → installer-YSFFGBBV.js} +8 -8
- package/dist/{keyframes-UWSYS2SL.js → keyframes-OO2BX2IB.js} +13 -14
- package/dist/{lambda-L3LPXC2M.js → lambda-CXXY6QT3.js} +11 -11
- package/dist/{layout-JVL4QREC.js → layout-57GJXKDK.js} +36 -35
- package/dist/{lint-JXQ72DDB.js → lint-J4FK3Z6G.js} +23 -16
- package/dist/{lintProject-F7IC7WY4.js → lintProject-52SLJPRC.js} +5 -4
- package/dist/{list-UFMLM3VV.js → list-VDQUJ76B.js} +7 -7
- package/dist/{login-CKGMWQJN.js → login-TJSEALWW.js} +7 -7
- package/dist/{logout-DDC4QLVK.js → logout-JYFWWUGK.js} +3 -3
- package/dist/{manager-U6OP3EXB.js → manager-4PLYEEWP.js} +14 -13
- package/dist/{manager-UHWEKPXC.js → manager-MZIJY73J.js} +3 -3
- package/dist/{media-treatment-MFMEWCDY.js → media-treatment-GXP4PMJH.js} +20 -19
- package/dist/{models-QA3TJ75Y.js → models-HQQQKEEP.js} +18 -17
- package/dist/{motionShot-NV2OPJHD.js → motionShot-2BT5D7DC.js} +21 -20
- package/dist/{normalize-3AYFSN2F.js → normalize-FASIPBUM.js} +1 -1
- package/dist/{normalize-audio-JWJRUKK2.js → normalize-audio-SOLFMHNP.js} +12 -8
- package/dist/{open-PTJNDRER.js → open-KHEUODFQ.js} +18 -18
- package/dist/{parakeetRunner-B5FCWWOO.js → parakeetRunner-BHU5NCAX.js} +20 -19
- package/dist/{pipeline-N26NA6ZG.js → pipeline-WFV5HDTD.js} +15 -14
- package/dist/{play-45D6X6TV.js → play-GB34CANJ.js} +27 -26
- package/dist/{policies-MBWGLMWB.js → policies-GHVXA5PE.js} +1 -1
- package/dist/{preflight-MFOHPUOI.js → preflight-REF3VSJ7.js} +15 -14
- package/dist/{present-IFBUDI4D.js → present-SIUTA7TD.js} +24 -23
- package/dist/{preview-MQRLXQOV.js → preview-T2GE7Z4A.js} +27 -26
- package/dist/{producer-2QG7HLAW.js → producer-23KVQZAB.js} +1 -1
- package/dist/{projectConfig-I4FTZXHB.js → projectConfig-DBSNBPNP.js} +10 -10
- package/dist/{publication-3GOFXCGU.js → publication-IXPUKYWJ.js} +5 -5
- package/dist/{publish-3B2TZCFH.js → publish-3BA5VHXJ.js} +18 -17
- package/dist/{refresh-RXTOPRBB.js → refresh-USSFPJAU.js} +3 -3
- package/dist/{remove-background-RK4BJDBF.js → remove-background-RMSCJVVQ.js} +16 -15
- package/dist/{render-SJ4HFPFU.js → render-6RNE2MLU.js} +26 -25
- package/dist/{render-PW3XGS7B.js → render-XGOZMMWX.js} +42 -41
- package/dist/{render-BV6FWFX3.js → render-Y6CTQ3YW.js} +8 -8
- package/dist/{render-batch-GKX54O6N.js → render-batch-VUR6N6EY.js} +9 -9
- package/dist/renderSetupWorker.js +9 -8
- package/dist/{resolver-RQJ7CNXD.js → resolver-GJCUH57W.js} +7 -7
- package/dist/{screenshotCapture-UBY6TT75.js → screenshotCapture-I5EDCITF.js} +6 -3
- package/dist/{sherpa-XZPG7QFF.js → sherpa-VVAKRCPL.js} +19 -18
- package/dist/skills/hyperframes/references/format.md +1 -0
- package/dist/skills/hyperframes/references/skill-lifecycle.md +8 -4
- package/dist/skills/hyperframes-cli/references/init-and-scaffold.md +1 -1
- package/dist/{skills-EYLB2V6F.js → skills-ZHBURVQG.js} +13 -75
- package/dist/{skillsUpdateCheck-TE6K5ROM.js → skillsUpdateCheck-VMDAL2O2.js} +5 -5
- package/dist/{slideshow-YTWATJRT.js → slideshow-SJGK4RQS.js} +1 -1
- package/dist/{snapshot-FE4T3SCN.js → snapshot-KEOG56SL.js} +61 -53
- package/dist/{src-ZOXSEJCD.js → src-BH5NICGQ.js} +24 -9
- package/dist/{src-SEJ7LNNB.js → src-TZLGFRRX.js} +13 -12
- package/dist/{staticProjectServer-LSVIRDRO.js → staticProjectServer-BKXL5CXB.js} +22 -21
- package/dist/{status-CM7IQTU2.js → status-H5WLKQDS.js} +3 -3
- package/dist/studio/assets/{hyperframes-player-Bv9hQ3v7.js → hyperframes-player-BMcUdmDb.js} +3 -3
- package/dist/studio/assets/{index-CBO8uz7-.css → index-CYbvOVp-.css} +1 -1
- package/dist/studio/assets/{index-D_QqfWhx.js → index-Ca-mgTnS.js} +122 -122
- package/dist/studio/assets/{index-Df14bh-L.js → index-Ci6GuloR.js} +1 -1
- package/dist/studio/index.html +2 -2
- package/dist/{studio-api-SL2Z76NU.js → studio-api-A5U6QAMC.js} +19 -14
- package/dist/{studioServer-BADWVIHU.js → studioServer-5EC5CP4W.js} +60 -59
- package/dist/{telemetry-QG5AANZ4.js → telemetry-4K6CPMNT.js} +2 -2
- package/dist/{telemetry-RN6VYEID.js → telemetry-BCKJXDSW.js} +5 -5
- package/dist/{timeline-JBTCIPLU.js → timeline-AZWAXTAY.js} +65 -43
- package/dist/{tokens-A7V7UHNK.js → tokens-X7NC3V7C.js} +2 -2
- package/dist/{transcribe-E4BOSNM4.js → transcribe-7NCY7QZ2.js} +17 -16
- package/dist/{transcribe-NTUCJGFI.js → transcribe-SH26H755.js} +26 -25
- package/dist/{tts-A2WILYGN.js → tts-5I2AJNLM.js} +1 -1
- package/dist/{updateCheck-M7UAYLUR.js → updateCheck-Y7FUWQM4.js} +4 -4
- package/dist/{upgrade-A2COSIMB.js → upgrade-ZHGEVL65.js} +4 -4
- package/dist/{urlDownloader-MBSQYART.js → urlDownloader-FPILIT7M.js} +10 -9
- package/dist/{validate-NODZYBHY.js → validate-KQOZR4F6.js} +30 -29
- package/dist/{video-LBCUUYK7.js → video-N2QAETFB.js} +12 -11
- package/dist/warmCheck.js +43 -42
- package/package.json +2 -1
- package/dist/chunk-I5JRXMCV.js +0 -6077
- package/dist/chunk-LM265QNK.js +0 -3896
|
@@ -17,45 +17,46 @@ import {
|
|
|
17
17
|
sherpaRuntimeLoadError,
|
|
18
18
|
sherpaUnsupportedReason,
|
|
19
19
|
transcribeWithSherpa
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-MFUNDJEV.js";
|
|
21
21
|
import "./chunk-CZUAX3BV.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-EXAX37XR.js";
|
|
23
23
|
import "./chunk-6BEFEWFB.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-M3KZBDPB.js";
|
|
25
|
+
import "./chunk-BP4EMEGH.js";
|
|
26
|
+
import "./chunk-VLLFORE2.js";
|
|
27
27
|
import "./chunk-WQ6ZXHFQ.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-DYNHVCBF.js";
|
|
29
29
|
import "./chunk-EOVYQ3IG.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-L4JB7LI4.js";
|
|
31
31
|
import "./chunk-IZCW2NKT.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-7HTH5PFK.js";
|
|
33
33
|
import "./chunk-RQVDTPGD.js";
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-3W4B6G7Y.js";
|
|
35
|
+
import "./chunk-USWPZXEA.js";
|
|
36
36
|
import "./chunk-VC76R6W2.js";
|
|
37
37
|
import "./chunk-X7HBSTCZ.js";
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-2MCXIY4B.js";
|
|
39
39
|
import "./chunk-OFQWTKPW.js";
|
|
40
40
|
import "./chunk-DPVXBVLL.js";
|
|
41
41
|
import "./chunk-3GXQPCJC.js";
|
|
42
42
|
import "./chunk-634HSJ3J.js";
|
|
43
43
|
import "./chunk-FXMKHHPO.js";
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-IW5G323T.js";
|
|
45
|
+
import "./chunk-RWGASWT7.js";
|
|
46
46
|
import "./chunk-XT6MXC7A.js";
|
|
47
47
|
import "./chunk-4UMPIPCQ.js";
|
|
48
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-2VXY3PEF.js";
|
|
49
49
|
import "./chunk-VAS6HQX3.js";
|
|
50
50
|
import "./chunk-6BNTGNGD.js";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-CZGHFATT.js";
|
|
52
|
+
import "./chunk-PKZ7RK5N.js";
|
|
52
53
|
import "./chunk-MMQ52NIZ.js";
|
|
53
54
|
import "./chunk-BSQ7XANM.js";
|
|
54
55
|
import "./chunk-SDYDNHEE.js";
|
|
55
|
-
import "./chunk-
|
|
56
|
-
import "./chunk-
|
|
56
|
+
import "./chunk-3422KMTD.js";
|
|
57
|
+
import "./chunk-RXATE6FZ.js";
|
|
57
58
|
import "./chunk-W2LGJSEN.js";
|
|
58
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-T2EUWCJE.js";
|
|
59
60
|
import "./chunk-JZIEZCQM.js";
|
|
60
61
|
import "./chunk-UOFAE5RF.js";
|
|
61
62
|
import "./chunk-IR35BCLK.js";
|
|
@@ -94,6 +94,7 @@ The detail behind the contract in `SKILL.md`. Full references: `npx hyperframes
|
|
|
94
94
|
## Fonts
|
|
95
95
|
|
|
96
96
|
- Bundled, so they resolve by name: Inter, Montserrat, Outfit, Nunito, Oswald, League Gothic, Archivo Black, Space Mono, IBM Plex Mono, JetBrains Mono, EB Garamond, Playfair Display, Source Code Pro, Noto Sans JP, Roboto, Open Sans, Lato, Poppins. Common system fonts (Helvetica, Arial, Times, Menlo and the like) are swapped for the nearest of these.
|
|
97
|
+
- The bundle only has Latin text at a few weights per family (Inter: 400, 700, 900). The compiler still fetches each of these families from Google Fonts for the other weights and scripts, and caches the result in `~/.cache/hyperframes/fonts`.
|
|
97
98
|
- Any other family needs `@font-face` in the file that uses it, or lint fails `font_family_without_font_face`: `src: url('assets/fonts/x.woff2')` for a file in the project (a capture's own fonts, or one you download there), or `local('Exact Name')` for a font installed on this machine.
|
|
98
99
|
|
|
99
100
|
## Timing and the timeline
|
|
@@ -9,11 +9,15 @@ For a plugin installation, follow [plugin execution rules](plugin-installation.m
|
|
|
9
9
|
|
|
10
10
|
## What `init` does
|
|
11
11
|
|
|
12
|
-
`npx hyperframes init`
|
|
12
|
+
`npx hyperframes init` installs the core set when it is missing and leaves every skill that is already installed as it is: it never refreshes, replaces or removes one. Updating is `npx hyperframes skills update`, run by you. Offline or rate-limited checks degrade gracefully and do not fail project scaffolding.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
`--skip-skills` makes `init` leave skills alone. `HYPERFRAMES_SKIP_SKILLS=1` does the same for CI and tests.
|
|
15
15
|
|
|
16
|
-
`HYPERFRAMES_SKIP_SKILLS=1` also makes `skills update` (bare or named) and bare `skills` exit 0 without installing
|
|
16
|
+
`HYPERFRAMES_SKIP_SKILLS=1` also makes `skills update` (bare or named) and bare `skills` exit 0 without installing, so an install pinned to one commit stays pinned.
|
|
17
|
+
|
|
18
|
+
## Stale-skills notice
|
|
19
|
+
|
|
20
|
+
After `render`, `lint` and `validate`, the CLI prints `N HyperFrames skills out of date or missing` to stderr when the cached check finds stale skills, so an agent run without a terminal sees it too. It is off in CI, in dev, with `HYPERFRAMES_NO_UPDATE_CHECK=1` and with `HYPERFRAMES_SKIP_SKILLS=1`, and runs with `--json` too, since it only writes stderr and leaves `--json` stdout untouched.
|
|
17
21
|
|
|
18
22
|
## Diagnose and update
|
|
19
23
|
|
|
@@ -26,7 +30,7 @@ npx hyperframes skills
|
|
|
26
30
|
```
|
|
27
31
|
|
|
28
32
|
- `skills check` exits non-zero when an installed skill is stale or the core set is incomplete. Skills available on demand but not installed are not failures.
|
|
29
|
-
- Bare `skills update` refreshes the core set and
|
|
33
|
+
- Bare `skills update` refreshes the core set and the HyperFrames skills already installed. It never removes a skill, and it leaves a skill the install record attributes to another publisher alone, even when the name matches one of ours.
|
|
30
34
|
- Named `skills update <name...>` also installs those named skills.
|
|
31
35
|
- Bare `skills` installs the full published set explicitly.
|
|
32
36
|
|
|
@@ -24,7 +24,7 @@ Other useful flags:
|
|
|
24
24
|
|
|
25
25
|
- `--resolution` — preset: `landscape` (1920×1080), `portrait` (1080×1920), `landscape-4k`, `portrait-4k`, `square` (1080×1080), `square-4k`. Aliases: `1080p`, `4k`, `uhd`, `1080p-square`, `4k-square`.
|
|
26
26
|
- `--skill=<slug>` — record the owning skill (e.g. `hyperframes`) in `hyperframes.json`, so every later render of this project — re-renders, `npm run render`, `--batch` — is attributed to it on anonymous telemetry without re-passing the flag. You rarely pass it by hand.
|
|
27
|
-
- `--skip-skills` —
|
|
27
|
+
- `--skip-skills` — leave AI coding skills alone: `init` does not install the core set. `HYPERFRAMES_SKIP_SKILLS=1` does the same.
|
|
28
28
|
- `--skip-transcribe` — don't auto-transcribe `--audio` / `--video` with Whisper.
|
|
29
29
|
- `--model`, `--language` — Whisper model / language for the auto-transcription.
|
|
30
30
|
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
} from "./chunk-WMQNIQDJ.js";
|
|
16
16
|
import {
|
|
17
17
|
trackSkillsInstallSkipped
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-RTLPWOO6.js";
|
|
19
|
+
import "./chunk-ZZPBXRYQ.js";
|
|
20
20
|
import {
|
|
21
21
|
diag
|
|
22
22
|
} from "./chunk-VWG7OQKU.js";
|
|
@@ -39,24 +39,22 @@ import "./chunk-W2LGJSEN.js";
|
|
|
39
39
|
import {
|
|
40
40
|
FALLBACK_CORE_SKILLS,
|
|
41
41
|
RETIRED_SKILLS,
|
|
42
|
-
SKILLS_CLI_LOCK_PATHS_VERIFIED_AT,
|
|
43
42
|
checkSkills,
|
|
44
43
|
hyperframesSkillNames,
|
|
45
44
|
invalidateSkillsCache,
|
|
46
45
|
isCoreSkill,
|
|
47
46
|
presentSkills,
|
|
48
|
-
pruneOrphanedLockEntries,
|
|
49
47
|
retiredSkillNotice
|
|
50
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-V7ZA2BNW.js";
|
|
51
49
|
import {
|
|
52
50
|
withMeta
|
|
53
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-TZEKVLPV.js";
|
|
54
52
|
import "./chunk-K4WIOZFP.js";
|
|
55
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-6NLPPKBO.js";
|
|
56
54
|
import "./chunk-WERLJGIC.js";
|
|
57
55
|
import "./chunk-ISN5GRYI.js";
|
|
58
|
-
import "./chunk-
|
|
59
|
-
import "./chunk-
|
|
56
|
+
import "./chunk-LFUVTS6V.js";
|
|
57
|
+
import "./chunk-T2EUWCJE.js";
|
|
60
58
|
import "./chunk-M2WBOQ2Q.js";
|
|
61
59
|
|
|
62
60
|
// src/commands/skills.ts
|
|
@@ -421,15 +419,6 @@ function runSkillsAdd(source, selection, opts = {}) {
|
|
|
421
419
|
);
|
|
422
420
|
}
|
|
423
421
|
var PLAIN_SKILL_NAME = /^[a-z0-9][a-z0-9._-]*$/i;
|
|
424
|
-
function runSkillsRemove(names, opts) {
|
|
425
|
-
const safe = names.filter((n) => PLAIN_SKILL_NAME.test(n));
|
|
426
|
-
const rejected = names.filter((n) => !PLAIN_SKILL_NAME.test(n));
|
|
427
|
-
if (rejected.length) {
|
|
428
|
-
R.warn(c.warn(`Skipping unexpected skill name(s): ${rejected.join(", ")}`));
|
|
429
|
-
}
|
|
430
|
-
if (!safe.length) return Promise.resolve();
|
|
431
|
-
return spawnNpx(["skills", "remove", ...safe, ...opts.global ? ["-g"] : [], "--yes"]);
|
|
432
|
-
}
|
|
433
422
|
var SOURCES = [{ name: "HyperFrames", url: "https://github.com/heygen-com/hyperframes" }];
|
|
434
423
|
function mirrorToInstalledAgents() {
|
|
435
424
|
try {
|
|
@@ -533,7 +522,7 @@ async function updateSkills(opts = {}) {
|
|
|
533
522
|
}
|
|
534
523
|
return { ...await updateSkillsOffline(requested, { strict, cwd: opts.cwd }), retired };
|
|
535
524
|
}
|
|
536
|
-
const manifestSkills = check.skills
|
|
525
|
+
const manifestSkills = check.skills;
|
|
537
526
|
const manifestNames = new Set(manifestSkills.map((s) => s.name));
|
|
538
527
|
const unknown = requested.filter((name) => !manifestNames.has(name));
|
|
539
528
|
if (unknown.length) {
|
|
@@ -544,7 +533,9 @@ async function updateSkills(opts = {}) {
|
|
|
544
533
|
const targets = manifestSkills.filter(
|
|
545
534
|
(s) => opts.all === true || requested.includes(s.name) || isCoreSkill(s.name) || opts.refreshInstalled === true && s.status !== "missing"
|
|
546
535
|
);
|
|
547
|
-
const toInstall = targets.filter(
|
|
536
|
+
const toInstall = targets.filter(
|
|
537
|
+
(s) => s.status === "missing" || s.status === "outdated" && opts.onlyMissing !== true
|
|
538
|
+
);
|
|
548
539
|
const result = {
|
|
549
540
|
targets: targets.map((s) => s.name),
|
|
550
541
|
installed: toInstall.map((s) => s.name),
|
|
@@ -619,7 +610,6 @@ function renderCheck(result) {
|
|
|
619
610
|
if (summary.outdated) parts.push(c.warn(`\u2191 ${summary.outdated} outdated`));
|
|
620
611
|
if (summary.coreMissing) parts.push(c.warn(`\u25E6 ${summary.coreMissing} core not installed`));
|
|
621
612
|
if (onDemandMissing) parts.push(c.dim(`\u25E6 ${onDemandMissing} available on demand`));
|
|
622
|
-
if (summary.removed) parts.push(c.warn(`\u2717 ${summary.removed} removed upstream`));
|
|
623
613
|
console.log(` ${parts.join(" ")}`);
|
|
624
614
|
printSkillSection(result, "outdated", "Outdated:", "\u2191", c.warn);
|
|
625
615
|
printSkillSection(
|
|
@@ -638,22 +628,6 @@ function renderCheck(result) {
|
|
|
638
628
|
c.dim,
|
|
639
629
|
(s) => !isCoreSkill(s.name)
|
|
640
630
|
);
|
|
641
|
-
printSkillSection(
|
|
642
|
-
result,
|
|
643
|
-
"removed",
|
|
644
|
-
"Removed upstream (renamed or dropped \u2014 no longer published):",
|
|
645
|
-
"\u2717",
|
|
646
|
-
c.warn
|
|
647
|
-
);
|
|
648
|
-
if (result.lockMissing) {
|
|
649
|
-
console.log();
|
|
650
|
-
console.log(
|
|
651
|
-
` ${c.warn(`! Skills lock not found \u2014 can't check for skills removed upstream.`)}`
|
|
652
|
-
);
|
|
653
|
-
console.log(
|
|
654
|
-
` ${c.dim(` (lock paths verified against ${SKILLS_CLI_LOCK_PATHS_VERIFIED_AT})`)}`
|
|
655
|
-
);
|
|
656
|
-
}
|
|
657
631
|
console.log();
|
|
658
632
|
if (result.updateAvailable) {
|
|
659
633
|
console.log(` ${c.accent("Update: npx hyperframes skills update")}`);
|
|
@@ -737,26 +711,12 @@ function reportUpdateFailure(message, json) {
|
|
|
737
711
|
var updateCommand = defineCommand({
|
|
738
712
|
meta: {
|
|
739
713
|
name: "update",
|
|
740
|
-
description: "Update the core set plus every installed HyperFrames skill to the latest
|
|
714
|
+
description: "Update the core set plus every installed HyperFrames skill to the latest. Pass skill names to also install those (how on-demand skills install) \u2014 without names it never expands a partial install, and it never removes a skill"
|
|
741
715
|
},
|
|
742
|
-
// Mirror `check`'s flags: the prune step runs the same removed-detection, so it
|
|
743
|
-
// must respect the same overrides. Without these, `update`'s internal
|
|
744
|
-
// checkSkills() fell back to defaults — pruning the auto-detected install
|
|
745
|
-
// against the default manifest even when the user pointed `check` elsewhere.
|
|
746
716
|
args: {
|
|
747
|
-
json: { type: "boolean", description: "Output as JSON", default: false }
|
|
748
|
-
dir: {
|
|
749
|
-
type: "string",
|
|
750
|
-
description: "Skills dir for removed-detection only \u2014 scopes the prune, not the install (default: auto-detect)"
|
|
751
|
-
},
|
|
752
|
-
source: {
|
|
753
|
-
type: "string",
|
|
754
|
-
description: "Where 'latest' comes from for removed-detection (local path, owner/repo, or URL) \u2014 does not change the install source"
|
|
755
|
-
}
|
|
717
|
+
json: { type: "boolean", description: "Output as JSON", default: false }
|
|
756
718
|
},
|
|
757
719
|
async run({ args }) {
|
|
758
|
-
const dir = args.dir;
|
|
759
|
-
const source = args.source;
|
|
760
720
|
const { requested, rejected } = requestedNamesFrom(args._ ?? []);
|
|
761
721
|
if (rejected.length) {
|
|
762
722
|
reportUpdateFailure(`Invalid skill name(s): ${rejected.join(", ")}`, args.json === true);
|
|
@@ -775,28 +735,6 @@ var updateCommand = defineCommand({
|
|
|
775
735
|
setCommandExitCode(1);
|
|
776
736
|
return;
|
|
777
737
|
}
|
|
778
|
-
try {
|
|
779
|
-
const { skills, scope } = await checkSkills({ dir, source, canonical: true });
|
|
780
|
-
const removed = skills.filter((s) => s.status === "removed").map((s) => s.name);
|
|
781
|
-
if (removed.length) {
|
|
782
|
-
console.log();
|
|
783
|
-
console.log(
|
|
784
|
-
c.dim(`Removing ${removed.length} skill(s) no longer published: ${removed.join(", ")}`)
|
|
785
|
-
);
|
|
786
|
-
await runSkillsRemove(removed, { global: scope === "global" });
|
|
787
|
-
const scopeForPrune = scope ?? "global";
|
|
788
|
-
const stillOrphaned = pruneOrphanedLockEntries(removed, scopeForPrune);
|
|
789
|
-
if (stillOrphaned.length) {
|
|
790
|
-
console.log(
|
|
791
|
-
c.dim(
|
|
792
|
-
`Reconciled ${stillOrphaned.length} orphaned lock entr${stillOrphaned.length === 1 ? "y" : "ies"} with no on-disk bundle: ${stillOrphaned.join(", ")}`
|
|
793
|
-
)
|
|
794
|
-
);
|
|
795
|
-
}
|
|
796
|
-
}
|
|
797
|
-
} catch (err) {
|
|
798
|
-
R.warn(c.warn(`Skipped removed-skill cleanup: ${err.message}`));
|
|
799
|
-
}
|
|
800
738
|
}
|
|
801
739
|
});
|
|
802
740
|
var skills_default = defineCommand({
|
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
printSkillsUpdateNotice,
|
|
10
10
|
refreshSkillsCache,
|
|
11
11
|
skillsCheckDue
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-V7ZA2BNW.js";
|
|
13
|
+
import "./chunk-TZEKVLPV.js";
|
|
14
14
|
import "./chunk-K4WIOZFP.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-6NLPPKBO.js";
|
|
16
16
|
import "./chunk-WERLJGIC.js";
|
|
17
17
|
import "./chunk-ISN5GRYI.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-LFUVTS6V.js";
|
|
19
|
+
import "./chunk-T2EUWCJE.js";
|
|
20
20
|
import "./chunk-M2WBOQ2Q.js";
|
|
21
21
|
export {
|
|
22
22
|
invalidateSkillsCache,
|
|
@@ -19,13 +19,13 @@ import {
|
|
|
19
19
|
import {
|
|
20
20
|
loadInstalledSharp,
|
|
21
21
|
loadOptionalPackage
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-EXAX37XR.js";
|
|
23
23
|
import "./chunk-6BEFEWFB.js";
|
|
24
24
|
import {
|
|
25
25
|
findFFmpeg,
|
|
26
26
|
findFFprobe,
|
|
27
27
|
getFFmpegInstallHint
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-DYNHVCBF.js";
|
|
29
29
|
import {
|
|
30
30
|
pngDimensions,
|
|
31
31
|
reportArtifacts,
|
|
@@ -33,30 +33,30 @@ import {
|
|
|
33
33
|
} from "./chunk-57GN6KWT.js";
|
|
34
34
|
import {
|
|
35
35
|
captureArtifactRevision
|
|
36
|
-
} from "./chunk-
|
|
37
|
-
import "./chunk-
|
|
36
|
+
} from "./chunk-F5LLORBP.js";
|
|
37
|
+
import "./chunk-2LSCYS2H.js";
|
|
38
38
|
import "./chunk-X7MTZ4T2.js";
|
|
39
39
|
import {
|
|
40
40
|
resolveProject
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-LMNZLZMJ.js";
|
|
42
42
|
import {
|
|
43
43
|
serveStaticProjectHtml
|
|
44
|
-
} from "./chunk-
|
|
45
|
-
import "./chunk-
|
|
44
|
+
} from "./chunk-VPC4XIVI.js";
|
|
45
|
+
import "./chunk-L5YLA54L.js";
|
|
46
46
|
import "./chunk-X7MTZ4T2.js";
|
|
47
47
|
import "./chunk-XUHOIDKG.js";
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-UNATIAOT.js";
|
|
49
|
+
import "./chunk-XQPA4W3M.js";
|
|
50
50
|
import "./chunk-6JR2XUEE.js";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-FBVUAH7N.js";
|
|
52
52
|
import {
|
|
53
53
|
artifactDirectory,
|
|
54
54
|
finishSnapshotRun,
|
|
55
55
|
forgetRecordedArtifacts,
|
|
56
56
|
recordArtifacts,
|
|
57
57
|
retainSnapshotOutput
|
|
58
|
-
} from "./chunk-
|
|
59
|
-
import "./chunk-
|
|
58
|
+
} from "./chunk-C4Y3ZREE.js";
|
|
59
|
+
import "./chunk-7YSFE4SZ.js";
|
|
60
60
|
import "./chunk-ALVXFXUG.js";
|
|
61
61
|
import {
|
|
62
62
|
DEFAULT_ZOOM_SCALE,
|
|
@@ -68,37 +68,37 @@ import {
|
|
|
68
68
|
runFfmpegOnce,
|
|
69
69
|
seekCompositionTimelineOnly,
|
|
70
70
|
settleCompositionSeek
|
|
71
|
-
} from "./chunk-
|
|
72
|
-
import "./chunk-
|
|
71
|
+
} from "./chunk-4LXZJIVY.js";
|
|
72
|
+
import "./chunk-UIC7B5KW.js";
|
|
73
73
|
import "./chunk-MOEGCMKI.js";
|
|
74
|
-
import "./chunk-
|
|
74
|
+
import "./chunk-UB7BIDBS.js";
|
|
75
75
|
import "./chunk-DKPNNYBZ.js";
|
|
76
|
-
import "./chunk-
|
|
76
|
+
import "./chunk-VW63MHQU.js";
|
|
77
77
|
import "./chunk-K2FLNJVB.js";
|
|
78
78
|
import "./chunk-EHSBBBR2.js";
|
|
79
|
-
import "./chunk-
|
|
79
|
+
import "./chunk-4TKJWWPL.js";
|
|
80
80
|
import "./chunk-442JNXRM.js";
|
|
81
81
|
import "./chunk-DQBY7FRR.js";
|
|
82
82
|
import {
|
|
83
83
|
resolveLocalBrowserGpuMode
|
|
84
|
-
} from "./chunk-
|
|
85
|
-
import "./chunk-
|
|
84
|
+
} from "./chunk-YS4JUGNI.js";
|
|
85
|
+
import "./chunk-6XUJVEY2.js";
|
|
86
86
|
import "./chunk-XT7X6QCP.js";
|
|
87
87
|
import "./chunk-4YYJOFKS.js";
|
|
88
88
|
import "./chunk-HVW7ABXD.js";
|
|
89
|
-
import "./chunk-
|
|
89
|
+
import "./chunk-X5CECNCK.js";
|
|
90
90
|
import {
|
|
91
91
|
runWithConcurrencyLimit
|
|
92
92
|
} from "./chunk-JHOCK3DG.js";
|
|
93
|
-
import "./chunk-
|
|
94
|
-
import "./chunk-
|
|
93
|
+
import "./chunk-QKX7ITER.js";
|
|
94
|
+
import "./chunk-7QNIXBQD.js";
|
|
95
95
|
import "./chunk-AWDFDFI3.js";
|
|
96
96
|
import "./chunk-P6LJ4Y32.js";
|
|
97
97
|
import "./chunk-GMECXFAN.js";
|
|
98
|
-
import "./chunk-
|
|
98
|
+
import "./chunk-E3P3LJG6.js";
|
|
99
99
|
import "./chunk-EOVYQ3IG.js";
|
|
100
|
-
import "./chunk-
|
|
101
|
-
import "./chunk-
|
|
100
|
+
import "./chunk-RTLPWOO6.js";
|
|
101
|
+
import "./chunk-ZZPBXRYQ.js";
|
|
102
102
|
import "./chunk-VWG7OQKU.js";
|
|
103
103
|
import {
|
|
104
104
|
defineCommand
|
|
@@ -114,26 +114,26 @@ import {
|
|
|
114
114
|
import "./chunk-KLIKCX6Q.js";
|
|
115
115
|
import "./chunk-EVMY7IPL.js";
|
|
116
116
|
import "./chunk-7FMUTGOH.js";
|
|
117
|
-
import "./chunk-
|
|
117
|
+
import "./chunk-L4JB7LI4.js";
|
|
118
118
|
import "./chunk-IZCW2NKT.js";
|
|
119
119
|
import {
|
|
120
120
|
createRuntimeStartTimeResolver,
|
|
121
121
|
isClipVisibleAt,
|
|
122
122
|
isInClipWindow
|
|
123
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-7HTH5PFK.js";
|
|
124
124
|
import "./chunk-RQVDTPGD.js";
|
|
125
|
-
import "./chunk-
|
|
125
|
+
import "./chunk-3W4B6G7Y.js";
|
|
126
126
|
import {
|
|
127
127
|
readElementRateSpec,
|
|
128
128
|
sourceTimeAt,
|
|
129
129
|
timeAtSourceTime
|
|
130
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-USWPZXEA.js";
|
|
131
131
|
import "./chunk-VC76R6W2.js";
|
|
132
132
|
import "./chunk-X7HBSTCZ.js";
|
|
133
133
|
import {
|
|
134
134
|
topLevelElements,
|
|
135
135
|
trackKindOf
|
|
136
|
-
} from "./chunk-
|
|
136
|
+
} from "./chunk-2MCXIY4B.js";
|
|
137
137
|
import "./chunk-OFQWTKPW.js";
|
|
138
138
|
import "./chunk-DPVXBVLL.js";
|
|
139
139
|
import "./chunk-3GXQPCJC.js";
|
|
@@ -141,7 +141,7 @@ import "./chunk-634HSJ3J.js";
|
|
|
141
141
|
import "./chunk-FXMKHHPO.js";
|
|
142
142
|
import {
|
|
143
143
|
runCancellableProcess
|
|
144
|
-
} from "./chunk-
|
|
144
|
+
} from "./chunk-RWGASWT7.js";
|
|
145
145
|
import {
|
|
146
146
|
definitiveEntryMismatchComposition,
|
|
147
147
|
hasDefinitiveEntryMismatch
|
|
@@ -151,29 +151,30 @@ import "./chunk-XT6MXC7A.js";
|
|
|
151
151
|
import "./chunk-4UMPIPCQ.js";
|
|
152
152
|
import {
|
|
153
153
|
lintProject
|
|
154
|
-
} from "./chunk-
|
|
154
|
+
} from "./chunk-2VXY3PEF.js";
|
|
155
155
|
import "./chunk-VAS6HQX3.js";
|
|
156
156
|
import "./chunk-6BNTGNGD.js";
|
|
157
|
-
import "./chunk-
|
|
157
|
+
import "./chunk-CZGHFATT.js";
|
|
158
|
+
import "./chunk-PKZ7RK5N.js";
|
|
158
159
|
import "./chunk-MMQ52NIZ.js";
|
|
159
160
|
import "./chunk-BSQ7XANM.js";
|
|
160
161
|
import {
|
|
161
162
|
parseHTML
|
|
162
163
|
} from "./chunk-SDYDNHEE.js";
|
|
163
|
-
import "./chunk-
|
|
164
|
-
import "./chunk-
|
|
164
|
+
import "./chunk-3422KMTD.js";
|
|
165
|
+
import "./chunk-RXATE6FZ.js";
|
|
165
166
|
import "./chunk-W2LGJSEN.js";
|
|
166
167
|
import {
|
|
167
168
|
withMeta
|
|
168
|
-
} from "./chunk-
|
|
169
|
+
} from "./chunk-TZEKVLPV.js";
|
|
169
170
|
import "./chunk-K4WIOZFP.js";
|
|
170
|
-
import "./chunk-
|
|
171
|
+
import "./chunk-6NLPPKBO.js";
|
|
171
172
|
import "./chunk-WERLJGIC.js";
|
|
172
173
|
import "./chunk-ISN5GRYI.js";
|
|
173
|
-
import "./chunk-
|
|
174
|
+
import "./chunk-LFUVTS6V.js";
|
|
174
175
|
import {
|
|
175
176
|
normalizeErrorMessage
|
|
176
|
-
} from "./chunk-
|
|
177
|
+
} from "./chunk-T2EUWCJE.js";
|
|
177
178
|
import "./chunk-KGPLIH7B.js";
|
|
178
179
|
import "./chunk-M2WBOQ2Q.js";
|
|
179
180
|
|
|
@@ -185,6 +186,12 @@ function parseSnapshotRange(value) {
|
|
|
185
186
|
throw new Error("--range must be START,END in seconds, with 0 <= START < END");
|
|
186
187
|
return [range[0], range[1]];
|
|
187
188
|
}
|
|
189
|
+
function parseSnapshotAt(value) {
|
|
190
|
+
const times = value.split(",").map((part) => part.trim() === "" ? NaN : Number(part));
|
|
191
|
+
if (!times.every((time) => Number.isFinite(time) && time >= 0))
|
|
192
|
+
throw new Error("--at must be comma-separated times in seconds, each 0 or more");
|
|
193
|
+
return times;
|
|
194
|
+
}
|
|
188
195
|
function sampleSnapshotRange([start, end], frames, duration, exclusiveEnd = false) {
|
|
189
196
|
if (!Number.isInteger(frames) || frames < 1)
|
|
190
197
|
throw new Error("--frames must be a positive integer");
|
|
@@ -380,7 +387,7 @@ function reviewFrames(plan) {
|
|
|
380
387
|
}
|
|
381
388
|
var BEAT_SHEET_PAGE = 16;
|
|
382
389
|
async function writeReviewSheets(dir, frames, written) {
|
|
383
|
-
const { createContactSheet } = await import("./contactSheet-
|
|
390
|
+
const { createContactSheet } = await import("./contactSheet-SZBJDOMT.js");
|
|
384
391
|
const { join: join2 } = await import("path");
|
|
385
392
|
const captured = frames.flatMap((frame) => {
|
|
386
393
|
const path = written(frame);
|
|
@@ -461,6 +468,7 @@ var VIDEO_FRAME_EXTRACT_CONCURRENCY = 4;
|
|
|
461
468
|
function formatSnapshotTimestamp(time) {
|
|
462
469
|
return `${Number(time.toFixed(3))}s`;
|
|
463
470
|
}
|
|
471
|
+
var SNAPSHOT_IMAGE_NAME = /^(?:(?:frame-\d+-|ref-(?:\d+-)?)?at-[\d.]+s\.png|pair-(?:\d+-)?at-[\d.]+s\.jpg|(?:beat-\d+|seam-\d+-\d+)-at-[\d.]+s\.png|(?:contact-sheet|review-beats|review-phone)(?:-\d+)?\.jpg|review-seam-\d+\.jpg)$/;
|
|
464
472
|
function assertDistinctKeepNames(times) {
|
|
465
473
|
const timeByLabel = /* @__PURE__ */ new Map();
|
|
466
474
|
for (const time of times) {
|
|
@@ -594,6 +602,7 @@ async function probeContainingSourceFrameSeek(videoPath, time, holdLastFrame) {
|
|
|
594
602
|
const landed = await landing(candidate.pts);
|
|
595
603
|
if (landed === null) break;
|
|
596
604
|
if (landed <= 0 || landed > frame) continue;
|
|
605
|
+
if (landed < candidate.pts - 1e-6) return { seek: candidate.pts, select: mid - candidate.pts };
|
|
597
606
|
const again = Math.abs(landed - candidate.pts) < 1e-6 ? landed : await landing(landed);
|
|
598
607
|
if (again !== null && Math.abs(again - landed) < 1e-6)
|
|
599
608
|
return { seek: landed, select: mid - landed };
|
|
@@ -696,7 +705,7 @@ function serveCapturePage(projectDir, html, proxy) {
|
|
|
696
705
|
}
|
|
697
706
|
async function captureSnapshots(projectDir, opts) {
|
|
698
707
|
const log = opts.log ?? ((message) => console.log(message));
|
|
699
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
708
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-JLB2OYMT.js");
|
|
700
709
|
const capture = await captureArtifactRevision(projectDir).catch(warnSnapshotsNotRecorded);
|
|
701
710
|
const invocation = randomUUID();
|
|
702
711
|
const artifacts = [];
|
|
@@ -816,7 +825,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
816
825
|
try {
|
|
817
826
|
const { readdirSync } = await import("fs");
|
|
818
827
|
for (const file of opts.keep ? [] : readdirSync(snapshotDir)) {
|
|
819
|
-
if (
|
|
828
|
+
if (SNAPSHOT_IMAGE_NAME.test(file)) {
|
|
820
829
|
const path = resolve(snapshotDir, file);
|
|
821
830
|
replaced.push(path);
|
|
822
831
|
rmSync(path, { force: true });
|
|
@@ -828,7 +837,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
828
837
|
let syncVideoFrameVisibility = null;
|
|
829
838
|
let extractMediaMetadata = null;
|
|
830
839
|
try {
|
|
831
|
-
const engine = await import("./src-
|
|
840
|
+
const engine = await import("./src-BH5NICGQ.js");
|
|
832
841
|
injectVideoFramesBatch = engine.injectVideoFramesBatch;
|
|
833
842
|
syncVideoFrameVisibility = engine.syncVideoFrameVisibility;
|
|
834
843
|
extractMediaMetadata = engine.extractMediaMetadata;
|
|
@@ -1023,7 +1032,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
1023
1032
|
const refPath = join(snapshotDir, `ref-${slot}.png`);
|
|
1024
1033
|
writeCaptureFileSync(refPath, refPng);
|
|
1025
1034
|
const pairPath = join(snapshotDir, `pair-${slot}.jpg`);
|
|
1026
|
-
const { createContactSheet } = await import("./contactSheet-
|
|
1035
|
+
const { createContactSheet } = await import("./contactSheet-SZBJDOMT.js");
|
|
1027
1036
|
await createContactSheet([framePath, refPath], pairPath, {
|
|
1028
1037
|
cols: 2,
|
|
1029
1038
|
maxImages: 2,
|
|
@@ -1268,6 +1277,8 @@ var snapshot_default = defineCommand({
|
|
|
1268
1277
|
}
|
|
1269
1278
|
const frames = parseInt(args.frames, 10) || 5;
|
|
1270
1279
|
const range = args.range === void 0 ? void 0 : parseSnapshotRange(String(args.range));
|
|
1280
|
+
const atTimestamps = args.at === void 0 ? void 0 : parseSnapshotAt(String(args.at));
|
|
1281
|
+
if (args.keep === true && atTimestamps) assertDistinctKeepNames(atTimestamps);
|
|
1271
1282
|
const composition = args.composition === void 0 ? void 0 : String(args.composition).trim();
|
|
1272
1283
|
if (composition === "") throw new Error("--composition requires a composition ID");
|
|
1273
1284
|
const project = resolveProject(args.dir);
|
|
@@ -1303,8 +1314,6 @@ var snapshot_default = defineCommand({
|
|
|
1303
1314
|
failCommand();
|
|
1304
1315
|
}
|
|
1305
1316
|
const timeout = parseInt(args.timeout, 10) || 5e3;
|
|
1306
|
-
const atTimestamps = args.at ? String(args.at).split(",").map((s) => parseFloat(s.trim())).filter((n) => !isNaN(n)) : void 0;
|
|
1307
|
-
if (args.keep === true && atTimestamps) assertDistinctKeepNames(atTimestamps);
|
|
1308
1317
|
const describeArg = args.describe === void 0 ? "true" : String(args.describe) === "false" ? null : String(args.describe);
|
|
1309
1318
|
const camera = args.angle ? parseAngle(String(args.angle)) : void 0;
|
|
1310
1319
|
const zoomTarget = args.zoom ? parseZoomTarget(String(args.zoom)) : void 0;
|
|
@@ -1340,11 +1349,8 @@ var snapshot_default = defineCommand({
|
|
|
1340
1349
|
log
|
|
1341
1350
|
});
|
|
1342
1351
|
const paths = captured.paths;
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
"frame",
|
|
1346
|
-
paths.map((path) => resolve(project.dir, path))
|
|
1347
|
-
);
|
|
1352
|
+
const framePaths = paths.map((path) => resolve(project.dir, path));
|
|
1353
|
+
reportArtifacts("snapshot", "frame", framePaths);
|
|
1348
1354
|
if (paths.length === 0) {
|
|
1349
1355
|
fail(`
|
|
1350
1356
|
${c.error("\u2717")} Could not determine composition duration \u2014 no frames captured`);
|
|
@@ -1362,7 +1368,7 @@ ${c.success("\u25C7")} ${paths.length} snapshots saved to ${snapshotDir}`);
|
|
|
1362
1368
|
let contactSheets = [];
|
|
1363
1369
|
let reviewSheets;
|
|
1364
1370
|
try {
|
|
1365
|
-
const { createSnapshotContactSheet } = await import("./contactSheet-
|
|
1371
|
+
const { createSnapshotContactSheet } = await import("./contactSheet-SZBJDOMT.js");
|
|
1366
1372
|
if (captured.review) {
|
|
1367
1373
|
const written = new Map(
|
|
1368
1374
|
captured.review.frames.map((frame) => [frame.file, frame.path])
|
|
@@ -1376,7 +1382,7 @@ ${c.success("\u25C7")} ${paths.length} snapshots saved to ${snapshotDir}`);
|
|
|
1376
1382
|
printReview(captured.review, reviewSheets, log);
|
|
1377
1383
|
} else if (args.keep !== true) {
|
|
1378
1384
|
contactSheets = await createSnapshotContactSheet(
|
|
1379
|
-
|
|
1385
|
+
framePaths,
|
|
1380
1386
|
join(snapshotDir, "contact-sheet.jpg")
|
|
1381
1387
|
);
|
|
1382
1388
|
}
|
|
@@ -1498,6 +1504,7 @@ ${c.error("\u2717")} Snapshot failed: ${msg}`);
|
|
|
1498
1504
|
}
|
|
1499
1505
|
});
|
|
1500
1506
|
export {
|
|
1507
|
+
SNAPSHOT_IMAGE_NAME,
|
|
1501
1508
|
computeSnapshotTimes,
|
|
1502
1509
|
containingSourceFrameIndex,
|
|
1503
1510
|
snapshot_default as default,
|
|
@@ -1505,6 +1512,7 @@ export {
|
|
|
1505
1512
|
extractVideoFrameToBuffer,
|
|
1506
1513
|
formatSnapshotTimestamp,
|
|
1507
1514
|
parseZoomScale,
|
|
1515
|
+
probeContainingSourceFrameSeek,
|
|
1508
1516
|
recaptureSnapshotComposite,
|
|
1509
1517
|
requireSnapshotFfmpeg,
|
|
1510
1518
|
resolveSnapshotVideoClipStart,
|