hyperframes 0.8.190 → 0.8.191
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-DBKN5H7H.js → add-S2ZQYG52.js} +11 -11
- package/dist/{animatedGifPrep-YVBKKLQY.js → animatedGifPrep-3JA2CQ3U.js} +6 -6
- package/dist/api.js +14 -14
- package/dist/{asset-2OHQKUMQ.js → asset-2CNTAPOC.js} +2 -2
- package/dist/{assetCataloger-O3QAUWIK.js → assetCataloger-5HXLXL7C.js} +6 -6
- package/dist/{audio-IR3JGCMM.js → audio-DZTSYHXS.js} +12 -12
- package/dist/{auth-J6TAJLGD.js → auth-GX3M6TJ4.js} +1 -1
- package/dist/{autoUpdate-D7BJJUT2.js → autoUpdate-EDIWE4Z5.js} +2 -2
- package/dist/{backgroundChecks-AILHY2YZ.js → backgroundChecks-VPUPJ7UI.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-QZKFVWEI.js → batchRender-JHIIDBJR.js} +3 -3
- package/dist/{beats-6LOEKZPB.js → beats-PZRVTRYW.js} +4 -4
- package/dist/{benchmark-RJMHI3YW.js → benchmark-22UFDW2N.js} +8 -8
- package/dist/{browser-Q3Q36FE3.js → browser-VRDWYIUM.js} +3 -3
- package/dist/{bundleWithLocalizedFonts-RWHFMSFL.js → bundleWithLocalizedFonts-23QDKFSN.js} +2 -2
- package/dist/{capture-FO3ZZCT4.js → capture-NFCBXHDE.js} +2 -2
- package/dist/{capture-2PNTGVYV.js → capture-TOCLXYMJ.js} +9 -9
- package/dist/{captureCompositionFrame-WTMLWVEJ.js → captureCompositionFrame-BEM6MF7F.js} +13 -11
- package/dist/{catalog-LUZYPUYT.js → catalog-NXS35KM7.js} +11 -11
- package/dist/{catch-up-TUTLUTFP.js → catch-up-6WJBUI2C.js} +4 -4
- package/dist/{check-K2TBTJZS.js → check-WVEBMWN5.js} +33 -33
- package/dist/{checkBrowser-JT7CXDT6.js → checkBrowser-RT45HJ36.js} +28 -28
- package/dist/{chunk-L34DPWY4.js → chunk-2WNVHZHA.js} +6 -6
- package/dist/{chunk-TSFA2Y5C.js → chunk-3NRB7YXW.js} +3 -2
- package/dist/{chunk-EQF6TVWB.js → chunk-3WJT2JCX.js} +32 -25
- package/dist/{chunk-SUSSMCWL.js → chunk-3XI7MIZB.js} +1 -1
- package/dist/{chunk-56IDMP37.js → chunk-7A65UCMI.js} +1 -1
- package/dist/{chunk-XNLYMHX2.js → chunk-7FF36MAD.js} +1 -1
- package/dist/{chunk-S7C6EM7N.js → chunk-7LUJE3II.js} +1 -1
- package/dist/{chunk-JLSXXMRU.js → chunk-7NKJS5KM.js} +1 -1
- package/dist/{chunk-OTQXYTQZ.js → chunk-7ZJEQY7Q.js} +1 -1
- package/dist/{chunk-EPOYPP36.js → chunk-ALEF2F5N.js} +2 -2
- package/dist/{chunk-2FFOLLU2.js → chunk-AQB5M53R.js} +3 -3
- package/dist/{chunk-FUHI34T4.js → chunk-BFFLKQVB.js} +3 -3
- package/dist/{chunk-E7DXKMKU.js → chunk-CINKQY6M.js} +3 -3
- package/dist/{chunk-BT64TTSE.js → chunk-COETAXRN.js} +1 -1
- package/dist/{chunk-ZFFKWHXN.js → chunk-COWQITWP.js} +1 -1
- package/dist/{chunk-BWPY64WA.js → chunk-CXMXJEVY.js} +1 -1
- package/dist/{chunk-Y5L5I4US.js → chunk-DOOSC34Z.js} +5 -5
- package/dist/{chunk-CWYS2UNQ.js → chunk-EFCKV7MY.js} +1 -1
- package/dist/{chunk-EUUHVDMN.js → chunk-FBDOHH3Q.js} +1 -1
- package/dist/{chunk-IARWN467.js → chunk-GLG5JWLI.js} +1 -1
- package/dist/{chunk-56IOFIYB.js → chunk-GM3WIOO6.js} +1 -1
- package/dist/{chunk-DRTIIAIZ.js → chunk-HYW6HTAK.js} +1 -1
- package/dist/{chunk-DX7VEUBO.js → chunk-JGTRVG32.js} +1 -1
- package/dist/{chunk-UZ7RJDEC.js → chunk-JJJCFKMF.js} +1 -1
- package/dist/{chunk-7JHTNUF2.js → chunk-JOLZ3BSL.js} +1 -1
- package/dist/{chunk-JB7LML5B.js → chunk-JTPHFYZI.js} +3 -3
- package/dist/{chunk-EU5HTY3E.js → chunk-JYSSPQDT.js} +56 -21
- package/dist/{chunk-STJ2ANMF.js → chunk-KAC2WR7P.js} +1 -1
- package/dist/{chunk-R4QASDTN.js → chunk-KGMHMYWI.js} +2 -2
- package/dist/{chunk-RDHEG7RX.js → chunk-KHCTBZGJ.js} +3 -3
- package/dist/{chunk-FANFO5HI.js → chunk-KV72BP7O.js} +9 -9
- package/dist/{chunk-AYFF3GX6.js → chunk-LBNEH6IQ.js} +1 -1
- package/dist/{chunk-DIV37NUE.js → chunk-LM265QNK.js} +1 -1
- package/dist/{chunk-F6DNM676.js → chunk-MSM6VRQ4.js} +2 -2
- package/dist/{chunk-45U3KY7Z.js → chunk-NJGTNWQY.js} +5 -5
- package/dist/{chunk-OAPYPSEB.js → chunk-NMDUSCCE.js} +141 -32
- package/dist/{chunk-WCT6KGGT.js → chunk-OV6KHXLX.js} +1 -1
- package/dist/{chunk-3QLT727N.js → chunk-RE3EEBWC.js} +3 -3
- package/dist/{chunk-A5YHWTSP.js → chunk-RQBB7PYT.js} +2 -2
- package/dist/{chunk-RBGNU7VD.js → chunk-RWYUK7LM.js} +1 -1
- package/dist/{chunk-S2IEO6TH.js → chunk-SMEF3TRJ.js} +26 -14
- package/dist/{chunk-HJZ5CPZA.js → chunk-T5YF32WV.js} +5 -5
- package/dist/{chunk-XBGEWNGQ.js → chunk-TADJOIFW.js} +1 -1
- package/dist/{chunk-OOAVKK2W.js → chunk-TFGO5YMI.js} +1 -1
- package/dist/{chunk-FVD44EQX.js → chunk-TFMZ4RKM.js} +50 -19
- package/dist/{chunk-CWVSJA52.js → chunk-TJKE4EYX.js} +3 -3
- package/dist/{chunk-6HYHHMX3.js → chunk-TRZVS6TL.js} +2 -2
- package/dist/{chunk-76ITJYXX.js → chunk-U5GTDAQL.js} +5 -5
- package/dist/{chunk-B7JFAXDP.js → chunk-UNR3P7IF.js} +2 -2
- package/dist/{chunk-TSQAPPRS.js → chunk-VYQYVYQ5.js} +2 -2
- package/dist/{chunk-TTZTGXKG.js → chunk-W3CS2KFV.js} +1 -1
- package/dist/{chunk-KUMUK6QS.js → chunk-WHAEJX26.js} +7 -7
- package/dist/{chunk-WLG4OYH7.js → chunk-WJEVUPVD.js} +1 -1
- package/dist/{chunk-WBUO6WH6.js → chunk-WQ3X5OH4.js} +1 -1
- package/dist/{chunk-GGVGOY6M.js → chunk-WY3TQ2PT.js} +1 -1
- package/dist/{chunk-KNQQZRB2.js → chunk-XMSQRDAK.js} +2 -2
- package/dist/{chunk-YT5VLUHM.js → chunk-XWOCXIKR.js} +1 -1
- package/dist/{chunk-K4664CDS.js → chunk-ZHKUIC7X.js} +26 -12
- package/dist/{clean-UVTWBPXK.js → clean-3VIU2BSK.js} +14 -14
- package/dist/cli.js +53 -53
- package/dist/{cloud-M42IPKFD.js → cloud-NA3J4XW2.js} +4 -4
- package/dist/{cloudrun-CTNX64R6.js → cloudrun-4MHOF7UT.js} +4 -4
- package/dist/commands/layout-audit.browser.js +64 -3
- package/dist/{compare-MQI7TG5M.js → compare-ZR7XRPPT.js} +29 -26
- package/dist/{compiler-EJE3HLCS.js → compiler-MA2ELZPG.js} +3 -3
- package/dist/{component-QSYOSFVV.js → component-ZJSOPUAM.js} +3 -3
- package/dist/{compositions-ITDFE7K4.js → compositions-WA5V2SHF.js} +10 -10
- package/dist/{delete-NTGTENKJ.js → delete-UC427UEA.js} +2 -2
- package/dist/{deploy-AOJOXEYX.js → deploy-B5UO4UIK.js} +1 -1
- package/dist/{dist-NHW2JQCA.js → dist-BPK37SAB.js} +2 -2
- package/dist/{dist-JH32CBQL.js → dist-XGPSPKKP.js} +1 -1
- package/dist/docs/rendering.md +2 -2
- package/dist/{doctor-Q6DAYVSQ.js → doctor-ZERCTKEK.js} +10 -10
- package/dist/{events-PV3CDO4A.js → events-CNIXB2QK.js} +3 -3
- package/dist/{events-BQIBYPCF.js → events-DCOZQERS.js} +2 -2
- package/dist/{feedback-BZH26JQE.js → feedback-YBD5ITTY.js} +6 -6
- package/dist/{ffmpeg-KU7RNT3U.js → ffmpeg-V4BBFDTG.js} +6 -6
- package/dist/{figma-PBGZUEIL.js → figma-Z45ZYVGE.js} +3 -3
- package/dist/fontLocalizeCli.js +8 -8
- package/dist/{get-MM2JZ5ET.js → get-23NXQWCD.js} +2 -2
- package/dist/{gpuPolicy-DQE2CD5T.js → gpuPolicy-H6ABHVEB.js} +6 -6
- package/dist/{grade-compare-YTDQ7YXW.js → grade-compare-ZPX2G3UV.js} +26 -26
- package/dist/{help-M4B2DN7E.js → help-EP4CDPLO.js} +1 -1
- package/dist/{history-ZW4UYKAJ.js → history-E5OSXO74.js} +6 -6
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +64 -64
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-L7LQAXLK.js → info-2HHGSW5H.js} +7 -7
- package/dist/{init-HTSQ535A.js → init-ENEG6RZT.js} +26 -26
- package/dist/{inspect-EWF2THRR.js → inspect-PVQK4E2A.js} +26 -26
- package/dist/{installer-PQKH2S7C.js → installer-YGGLEOSF.js} +4 -4
- package/dist/{keyframes-X2QKJ4DP.js → keyframes-UWSYS2SL.js} +6 -6
- package/dist/{lambda-BURM66GP.js → lambda-L3LPXC2M.js} +7 -7
- package/dist/{layout-3Z3SJGZZ.js → layout-JVL4QREC.js} +26 -26
- package/dist/{lint-OMNZ2K5J.js → lint-JXQ72DDB.js} +7 -7
- package/dist/{lintProject-XM3DLUKG.js → lintProject-F7IC7WY4.js} +1 -1
- package/dist/{list-5ZSQEH6N.js → list-UFMLM3VV.js} +2 -2
- package/dist/{login-YNCQPHLA.js → login-CKGMWQJN.js} +4 -4
- package/dist/{manager-N6XXRQN3.js → manager-U6OP3EXB.js} +7 -7
- package/dist/{media-treatment-EOKBRJPY.js → media-treatment-MFMEWCDY.js} +12 -12
- package/dist/{models-6T4CCKUV.js → models-QA3TJ75Y.js} +10 -10
- package/dist/{motionShot-KXKMYZ3A.js → motionShot-NV2OPJHD.js} +14 -14
- package/dist/{normalize-audio-VWB7RHHA.js → normalize-audio-JWJRUKK2.js} +4 -4
- package/dist/{open-32SQCNUP.js → open-PTJNDRER.js} +11 -11
- package/dist/{parakeetRunner-BXW2WX6Q.js → parakeetRunner-B5FCWWOO.js} +11 -11
- package/dist/{pipeline-V5ONFRCY.js → pipeline-N26NA6ZG.js} +7 -7
- package/dist/{play-BBL262JE.js → play-45D6X6TV.js} +17 -17
- package/dist/{preflight-LCNGQFNY.js → preflight-MFOHPUOI.js} +7 -7
- package/dist/{present-RY4HO4ZQ.js → present-IFBUDI4D.js} +13 -13
- package/dist/{preview-BLLPCCLG.js → preview-MQRLXQOV.js} +18 -17
- package/dist/{producer-QG4AQ35S.js → producer-2QG7HLAW.js} +1 -1
- package/dist/{projectConfig-LN3NR5OM.js → projectConfig-I4FTZXHB.js} +6 -6
- package/dist/{publication-TXMCS4KM.js → publication-3GOFXCGU.js} +2 -2
- package/dist/{publish-57VURD7Z.js → publish-3B2TZCFH.js} +8 -8
- package/dist/{remove-background-VEWVIO3A.js → remove-background-RK4BJDBF.js} +8 -8
- package/dist/{render-SP7WAUB4.js → render-BV6FWFX3.js} +7 -6
- package/dist/{render-XMN3NJIQ.js → render-PW3XGS7B.js} +28 -28
- package/dist/{render-4E7QDVOI.js → render-SJ4HFPFU.js} +13 -13
- package/dist/{render-batch-7ULP5RIJ.js → render-batch-GKX54O6N.js} +7 -6
- package/dist/renderSetupWorker.js +1 -1
- package/dist/{resolver-D3XERO6U.js → resolver-RQJ7CNXD.js} +4 -4
- package/dist/{sherpa-5B5G426W.js → sherpa-XZPG7QFF.js} +10 -10
- package/dist/{sites-5PWHAMEG.js → sites-Q2S3DZY4.js} +2 -1
- package/dist/skills/hyperframes/references/captions.md +1 -1
- package/dist/skills/hyperframes-cli/references/cloudrun.md +1 -1
- package/dist/skills/hyperframes-cli/references/lambda.md +1 -1
- package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +2 -2
- package/dist/skills/hyperframes-cli/references/preview-render.md +1 -1
- package/dist/skills/hyperframes-cli/references/upgrade-info-misc.md +0 -8
- package/dist/skills/media-use/audio/references/transcribe.md +2 -2
- package/dist/skills/media-use/references/audio.md +1 -1
- package/dist/{skills-RXHRF7O7.js → skills-EYLB2V6F.js} +5 -5
- package/dist/{skillsUpdateCheck-JOTDZJAE.js → skillsUpdateCheck-TE6K5ROM.js} +3 -3
- package/dist/{snapshot-DN4MP4VN.js → snapshot-FE4T3SCN.js} +48 -33
- package/dist/{src-W6Y5ZYRQ.js → src-SEJ7LNNB.js} +7 -7
- package/dist/{src-XSDYRKLG.js → src-ZOXSEJCD.js} +5 -5
- package/dist/{staticProjectServer-JMFGTPMX.js → staticProjectServer-LSVIRDRO.js} +14 -14
- package/dist/studio/assets/{hyperframes-player-0HXJPmYC.js → hyperframes-player-Bv9hQ3v7.js} +1 -1
- package/dist/studio/assets/index-CBO8uz7-.css +1 -0
- package/dist/studio/assets/{index-BYw97F07.js → index-D_QqfWhx.js} +124 -123
- package/dist/studio/assets/{index-DsSfhjUS.js → index-Df14bh-L.js} +1 -1
- package/dist/studio/index.html +2 -2
- package/dist/{studio-api-SZ4OMFPN.js → studio-api-SL2Z76NU.js} +7 -7
- package/dist/{studioServer-LWO33H7D.js → studioServer-BADWVIHU.js} +44 -44
- package/dist/{telemetry-K3AFDKOP.js → telemetry-RN6VYEID.js} +3 -3
- package/dist/{timeline-NYQOAQDH.js → timeline-JBTCIPLU.js} +15 -15
- package/dist/{tokens-K7YWUVOK.js → tokens-A7V7UHNK.js} +2 -2
- package/dist/{transcribe-ANPUQDZD.js → transcribe-E4BOSNM4.js} +9 -9
- package/dist/{transcribe-QAUMODXM.js → transcribe-NTUCJGFI.js} +16 -16
- package/dist/{updateCheck-RNR4HMDI.js → updateCheck-M7UAYLUR.js} +2 -2
- package/dist/{upgrade-MKUGZZPA.js → upgrade-A2COSIMB.js} +2 -2
- package/dist/{urlDownloader-5USPXLCS.js → urlDownloader-MBSQYART.js} +5 -5
- package/dist/{validate-OJHPDLC5.js → validate-NODZYBHY.js} +20 -20
- package/dist/{video-BCKRR6LU.js → video-LBCUUYK7.js} +6 -6
- package/dist/warmCheck.js +33 -33
- package/package.json +1 -1
- package/dist/studio/assets/index-B3vk3hfU.css +0 -1
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
reportVariableIssues,
|
|
47
47
|
resolveVariablesArg,
|
|
48
48
|
validateVariablesAgainstProject
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-WQ3X5OH4.js";
|
|
50
50
|
import {
|
|
51
51
|
downloadToFile
|
|
52
52
|
} from "./chunk-CZUAX3BV.js";
|
|
@@ -54,10 +54,10 @@ import {
|
|
|
54
54
|
findFFmpeg,
|
|
55
55
|
findFFprobe,
|
|
56
56
|
getFFmpegInstallHint
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-GLG5JWLI.js";
|
|
58
58
|
import {
|
|
59
59
|
resolveProject
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-7ZJEQY7Q.js";
|
|
61
61
|
import {
|
|
62
62
|
errorBox,
|
|
63
63
|
formatBytes,
|
|
@@ -65,8 +65,8 @@ import {
|
|
|
65
65
|
} from "./chunk-K2FLNJVB.js";
|
|
66
66
|
import "./chunk-442JNXRM.js";
|
|
67
67
|
import "./chunk-EOVYQ3IG.js";
|
|
68
|
-
import "./chunk-
|
|
69
|
-
import "./chunk-
|
|
68
|
+
import "./chunk-TFGO5YMI.js";
|
|
69
|
+
import "./chunk-W3CS2KFV.js";
|
|
70
70
|
import "./chunk-VWG7OQKU.js";
|
|
71
71
|
import {
|
|
72
72
|
defineCommand
|
|
@@ -78,14 +78,14 @@ import {
|
|
|
78
78
|
import {
|
|
79
79
|
c
|
|
80
80
|
} from "./chunk-ZTZA4UWZ.js";
|
|
81
|
-
import "./chunk-
|
|
81
|
+
import "./chunk-NMDUSCCE.js";
|
|
82
82
|
import "./chunk-IZCW2NKT.js";
|
|
83
83
|
import {
|
|
84
84
|
parseAnimatedGifMetadata
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-GM3WIOO6.js";
|
|
86
86
|
import "./chunk-RQVDTPGD.js";
|
|
87
|
-
import "./chunk-
|
|
88
|
-
import "./chunk-
|
|
87
|
+
import "./chunk-VYQYVYQ5.js";
|
|
88
|
+
import "./chunk-LM265QNK.js";
|
|
89
89
|
import "./chunk-VC76R6W2.js";
|
|
90
90
|
import "./chunk-X7HBSTCZ.js";
|
|
91
91
|
import "./chunk-B2A56S5C.js";
|
|
@@ -98,7 +98,7 @@ import "./chunk-DYAPHNV6.js";
|
|
|
98
98
|
import "./chunk-T6AGUTZJ.js";
|
|
99
99
|
import "./chunk-XT6MXC7A.js";
|
|
100
100
|
import "./chunk-4UMPIPCQ.js";
|
|
101
|
-
import "./chunk-
|
|
101
|
+
import "./chunk-3NRB7YXW.js";
|
|
102
102
|
import "./chunk-VAS6HQX3.js";
|
|
103
103
|
import {
|
|
104
104
|
cleanAssetUrl,
|
|
@@ -121,12 +121,12 @@ import "./chunk-I5JRXMCV.js";
|
|
|
121
121
|
import "./chunk-W2LGJSEN.js";
|
|
122
122
|
import {
|
|
123
123
|
withMeta
|
|
124
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-KAC2WR7P.js";
|
|
125
125
|
import "./chunk-K4WIOZFP.js";
|
|
126
126
|
import "./chunk-XUXGIA7H.js";
|
|
127
127
|
import "./chunk-WERLJGIC.js";
|
|
128
128
|
import "./chunk-ISN5GRYI.js";
|
|
129
|
-
import "./chunk-
|
|
129
|
+
import "./chunk-MSM6VRQ4.js";
|
|
130
130
|
import {
|
|
131
131
|
normalizeErrorMessage
|
|
132
132
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -682,7 +682,7 @@ async function prepareEntryGifs(ctx, fileMap) {
|
|
|
682
682
|
if (!html || !/\.gif\b/i.test(html)) return;
|
|
683
683
|
const sourceAssets = entryGifSources(ctx, entryPath, html);
|
|
684
684
|
if (!sourceAssets) return;
|
|
685
|
-
const prep = ctx.opts.gifPrep ?? (await import("./src-
|
|
685
|
+
const prep = ctx.opts.gifPrep ?? (await import("./src-SEJ7LNNB.js")).prepareAnimatedGifInputs;
|
|
686
686
|
const outputDir = mkdtempSync(join(tmpdir(), "hf-offload-gif-"));
|
|
687
687
|
ctx.tempFiles.push(outputDir);
|
|
688
688
|
const result = await prep(html, {
|
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
warnOnDimensionMismatch
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-CXMXJEVY.js";
|
|
10
10
|
import {
|
|
11
11
|
requireStack
|
|
12
12
|
} from "./chunk-RIJHDTM5.js";
|
|
@@ -14,11 +14,11 @@ import {
|
|
|
14
14
|
loadProjectVariableSchema,
|
|
15
15
|
reportVariableIssues,
|
|
16
16
|
validateVariablesAgainstSchema
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-WQ3X5OH4.js";
|
|
18
18
|
import {
|
|
19
19
|
errorBox
|
|
20
20
|
} from "./chunk-K2FLNJVB.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-COWQITWP.js";
|
|
22
22
|
import "./chunk-442JNXRM.js";
|
|
23
23
|
import {
|
|
24
24
|
runWithConcurrencyLimit
|
|
@@ -30,9 +30,9 @@ import {
|
|
|
30
30
|
import {
|
|
31
31
|
c
|
|
32
32
|
} from "./chunk-ZTZA4UWZ.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-GM3WIOO6.js";
|
|
34
34
|
import "./chunk-RQVDTPGD.js";
|
|
35
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-LM265QNK.js";
|
|
36
36
|
import "./chunk-VC76R6W2.js";
|
|
37
37
|
import "./chunk-X7HBSTCZ.js";
|
|
38
38
|
import "./chunk-B2A56S5C.js";
|
|
@@ -115,7 +115,8 @@ async function runRenderBatch(args) {
|
|
|
115
115
|
siteHandle = await deploySite({
|
|
116
116
|
projectDir,
|
|
117
117
|
bucketName: stack.bucketName,
|
|
118
|
-
region: stack.region
|
|
118
|
+
region: stack.region,
|
|
119
|
+
onNotice: (message) => console.error(c.dim(message))
|
|
119
120
|
});
|
|
120
121
|
if (!args.json) {
|
|
121
122
|
console.log(
|
|
@@ -11,15 +11,15 @@ import {
|
|
|
11
11
|
resolveItemWithDependencies,
|
|
12
12
|
resolveItemsByTag,
|
|
13
13
|
unreachableRegistryMessage
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-3XI7MIZB.js";
|
|
15
15
|
import "./chunk-JHOCK3DG.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-LBNEH6IQ.js";
|
|
17
17
|
import "./chunk-AWDFDFI3.js";
|
|
18
18
|
import "./chunk-P6LJ4Y32.js";
|
|
19
19
|
import "./chunk-GMECXFAN.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-GM3WIOO6.js";
|
|
21
21
|
import "./chunk-RQVDTPGD.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-LM265QNK.js";
|
|
23
23
|
import "./chunk-VC76R6W2.js";
|
|
24
24
|
import "./chunk-X7HBSTCZ.js";
|
|
25
25
|
import "./chunk-B2A56S5C.js";
|
|
@@ -17,22 +17,22 @@ import {
|
|
|
17
17
|
sherpaRuntimeLoadError,
|
|
18
18
|
sherpaUnsupportedReason,
|
|
19
19
|
transcribeWithSherpa
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-BFFLKQVB.js";
|
|
21
21
|
import "./chunk-CZUAX3BV.js";
|
|
22
22
|
import "./chunk-QH3T4WI2.js";
|
|
23
23
|
import "./chunk-6BEFEWFB.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-AQB5M53R.js";
|
|
25
|
+
import "./chunk-RWYUK7LM.js";
|
|
26
|
+
import "./chunk-7LUJE3II.js";
|
|
27
27
|
import "./chunk-WQ6ZXHFQ.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-GLG5JWLI.js";
|
|
29
29
|
import "./chunk-EOVYQ3IG.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-NMDUSCCE.js";
|
|
31
31
|
import "./chunk-IZCW2NKT.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-GM3WIOO6.js";
|
|
33
33
|
import "./chunk-RQVDTPGD.js";
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-VYQYVYQ5.js";
|
|
35
|
+
import "./chunk-LM265QNK.js";
|
|
36
36
|
import "./chunk-VC76R6W2.js";
|
|
37
37
|
import "./chunk-X7HBSTCZ.js";
|
|
38
38
|
import "./chunk-B2A56S5C.js";
|
|
@@ -45,7 +45,7 @@ import "./chunk-W64L7IFS.js";
|
|
|
45
45
|
import "./chunk-DYAPHNV6.js";
|
|
46
46
|
import "./chunk-XT6MXC7A.js";
|
|
47
47
|
import "./chunk-4UMPIPCQ.js";
|
|
48
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-3NRB7YXW.js";
|
|
49
49
|
import "./chunk-VAS6HQX3.js";
|
|
50
50
|
import "./chunk-6BNTGNGD.js";
|
|
51
51
|
import "./chunk-RUOG4VB7.js";
|
|
@@ -28,7 +28,8 @@ async function runSitesCreate(args) {
|
|
|
28
28
|
projectDir,
|
|
29
29
|
bucketName: stack.bucketName,
|
|
30
30
|
region: stack.region,
|
|
31
|
-
siteId: args.siteId
|
|
31
|
+
siteId: args.siteId,
|
|
32
|
+
onNotice: (message) => console.error(c.dim(message))
|
|
32
33
|
});
|
|
33
34
|
if (args.json) {
|
|
34
35
|
console.log(JSON.stringify(handle, null, 2));
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## Words and timings
|
|
4
4
|
|
|
5
5
|
- `npx hyperframes transcribe <file> --json` and a HeyGen voiceover (`/media-use`) give every word's start and end. Work from those as `[{ "id": "w0", "text": "Hello", "start": 0.0, "end": 0.5 }, …]`.
|
|
6
|
-
-
|
|
6
|
+
- `npx hyperframes transcribe` defaults to the `small.en` whisper model, which **translates** non-English speech into English. Pass the model: `npx hyperframes transcribe <file> --model small.en` for English, `--model small --language <code>` otherwise, `--model medium.en` for speech over music. It writes `assets/transcript.json` (its JSON names the path) and overwrites it on the next run; `--to srt` or `--to vtt` writes a sidecar.
|
|
7
7
|
- For Chinese, Japanese and other unspaced scripts, local transcription returns a whole sentence as one "word", sometimes in the other script (Traditional for Simplified speech). Split each segment's text into short phrases and spread its time across them by character count; check the characters against what is said.
|
|
8
8
|
- Whisper invents "Thank you." over silence and repeats lines over a silent tail: drop words that start inside a final silence (`silencedetect=noise=-35dB:d=0.6`; real speech sits around −16 to −26 dB).
|
|
9
9
|
- Never put two words in one timed entry, and match transcript words to caption words by position, not text, or a repeated word takes the wrong time.
|
|
@@ -22,7 +22,7 @@ npx hyperframes cloudrun destroy --project <gcp-project>
|
|
|
22
22
|
|
|
23
23
|
`sites create` uploads a content-addressed project archive for reuse by `render-batch`; pass its `--site-id` to that command to skip the batch upload. Single `cloudrun render` currently resolves the project from its directory and does not consume `--site-id`. Both render commands require `--width` and `--height`; supported output formats are `mp4`, `mov`, `png-sequence`, and `webm`. Use `--output-resolution 4k` to supersample an authored composition without changing its layout dimensions.
|
|
24
24
|
|
|
25
|
-
Common render flags are `--fps 24|30|60`, `--quality draft|standard|high`, `--codec h264|h265` for MP4, `--chunk-size`, `--max-parallel-chunks`, `--target-chunk-frames`, `--render-id`, `--output-key`, `--wait`, and `--wait-interval-ms`. Use `--json` for machine-readable output.
|
|
25
|
+
Common render flags are `--fps 24|25|30|60`, `--quality draft|standard|high`, `--codec h264|h265` for MP4, `--chunk-size`, `--max-parallel-chunks`, `--target-chunk-frames`, `--render-id`, `--output-key`, `--wait`, and `--wait-interval-ms`. Use `--json` for machine-readable output.
|
|
26
26
|
|
|
27
27
|
For a variable-driven single render:
|
|
28
28
|
|
|
@@ -84,7 +84,7 @@ Starts a Step Functions execution. Returns immediately with a `renderId` unless
|
|
|
84
84
|
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
85
85
|
| `--width` / `--height` | Output dimensions in pixels |
|
|
86
86
|
| `--output-resolution` | Supersampling preset (engages Chrome `deviceScaleFactor`) — `landscape` / `landscape-4k` / `portrait` / `portrait-4k` / `square` / `square-4k`, plus aliases (`1080p`, `4k`, `uhd`, `hd`, `1080p-portrait`, `4k-portrait`, `1080p-square`, `4k-square`). Use this to render an authored-at-1080p composition at 4K without re-laying-out — see footgun below. |
|
|
87
|
-
| `--fps` | `24` / `30` / `60`
|
|
87
|
+
| `--fps` | `24` / `25` / `30` / `60` |
|
|
88
88
|
| `--format` | `mp4` / `mov` / `png-sequence` / `webm` (default `mp4`) |
|
|
89
89
|
| `--codec` | `h264` / `h265` (mp4 only) |
|
|
90
90
|
| `--quality` | `draft` / `standard` / `high` |
|
|
@@ -111,7 +111,7 @@ Drop a `*.motion.json` sidecar next to the composition (matching the html basena
|
|
|
111
111
|
npx hyperframes snapshot # 5 key frames as PNG
|
|
112
112
|
npx hyperframes snapshot ./my-project # specific project
|
|
113
113
|
npx hyperframes snapshot --frames 10 # evenly-spaced N frames
|
|
114
|
-
npx hyperframes snapshot --range 3
|
|
114
|
+
npx hyperframes snapshot --range 3,5 --frames 8 # 8 frames within root-timeline seconds 3–5
|
|
115
115
|
npx hyperframes snapshot --composition intro --frames 8 # 8 frames within this data-composition-id
|
|
116
116
|
npx hyperframes snapshot --review # beat sheet, seam strips, phone sheet
|
|
117
117
|
npx hyperframes snapshot --review --json # same, with paths and times as JSON
|
|
@@ -119,7 +119,7 @@ npx hyperframes snapshot --review --json # same, with paths and times as J
|
|
|
119
119
|
|
|
120
120
|
Still PNGs. Each run writes `.hyperframes/artifacts/snapshots/<id>/` unless `--output` is set. `snapshot` is the standalone capture; `check --snapshots` is the gate.
|
|
121
121
|
|
|
122
|
-
One of `--at`, `--range START
|
|
122
|
+
One of `--at`, `--range START,END` (seconds), or `--composition <data-composition-id>` (not a CSS selector). `--frames` defaults to 5. Range and composition sample just before the end and add no extra end frame; `--at` adds one unless `--no-end`.
|
|
123
123
|
|
|
124
124
|
`--review` picks the frames that show a film over time. Scenes are the composition's top-level timed clips and sub-composition hosts, as `timeline` lists them (captions and audio excluded); `--composition` scopes to one. It writes `review-beats.jpg` (each scene at its start + 0.3 s and at its middle, and each timed `data-beat="name"` element at its start + 0.3 s, labelled with time and id), `review-seam-NN.jpg` (frames at −0.2, −0.1, 0, +0.1, +0.2 s around every cut) and `review-phone.jpg` (the beat frames 360 px wide, to judge legibility at phone size), beside the `beat-*.png` and `seam-*.png` stills. With fewer than two scenes the beats spread evenly. `--json` prints `{ok, outputDir, frames[{path,time,role,label}], contactSheets, review{window, scenes, beats, seams[{time,from,to,times,paths,sheet}], sheets, notes}}`.
|
|
125
125
|
|
|
@@ -120,7 +120,7 @@ npx hyperframes render --docker # byte-identical
|
|
|
120
120
|
| `dir` (positional) | path | cwd | Project directory. Omit to use current working directory. |
|
|
121
121
|
| `--composition`, `-c` | path to composition file | `index.html` | Render a specific composition file (e.g. `compositions/intro.html`) instead of the project's `index.html`. |
|
|
122
122
|
| `--output`, `-o` | path | `renders/<project>_<ts>.<ext>` | Output path. Default is timestamped (`<project-name>_YYYY-MM-DD_HH-MM-SS.<ext>`). |
|
|
123
|
-
| `--fps` |
|
|
123
|
+
| `--fps` | 1–240, or a rational such as `30000/1001` | root `data-fps`, else 30 | 60fps doubles render time. `lambda` and `cloudrun` accept only 24, 25, 30, 60 |
|
|
124
124
|
| `--quality` | draft, looks, delivery, standard, high | looks | `looks` is CRF 16 on the standard preset. `delivery` is `high`. draft for iterating |
|
|
125
125
|
| `--format` | mp4, webm, mov, gif, png-sequence, hls | mp4 | WebM/MOV render with transparency; gif for inline autoplay in GitHub PRs/READMEs/docs (two-pass palette encode, fps capped at 30 — prefer `--fps 15` — no audio, 1-bit transparency only, HDR falls back to SDR); png-sequence writes RGBA frames to a directory (AE/Nuke/Fusion ingest); hls writes an HLS VOD directory (master.m3u8 + video/audio playlists + MPEG-TS segments), SDR only, rejects `--gpu`, unavailable on lambda/cloudrun |
|
|
126
126
|
| `--gif-loop` | 0-65535 | 0 | GIF loop count; `0` loops forever. Only with `--format gif`. |
|
|
@@ -132,11 +132,3 @@ Run `npx hyperframes usage --json` at the start of a video workflow and again at
|
|
|
132
132
|
Known results contain `status: "known"`, `harness`, `planTier`, `session`, `weekly`, and `spend`. Each available window contains `usedPercent`, `remainingPercent`, and `resetsAt`; an unavailable window is `null`. `planTier` is the readable subscription tier when available, otherwise `null`. Claude Code reports its shared five-hour and weekly windows; a spend-metered plan (such as Enterprise) has neither and reports `spend`, the share of its billing-period spend limit already used, with `resetsAt: null`. Codex reports its shared session and weekly windows when available. Grok reports its included weekly allowance with `session: null`. Only Claude Code reports `spend`; it is `null` elsewhere. When no window is available the result is `status: "unknown"` with `reason: "no_usage_windows"`.
|
|
133
133
|
|
|
134
134
|
Unknown results contain `status: "unknown"` and a token-free `reason`. Missing, expired, unsupported, ambiguous, or unreadable logins and unavailable provider responses return unknown. Report the unknown state without guessing allowance. The command reads existing credentials without refreshing or rewriting them and emits no tokens or telemetry. Usage is a snapshot; it does not reserve allowance or estimate the next video's cost. Keep scope and workflow choices with the user.
|
|
135
|
-
|
|
136
|
-
## Remaining harness usage
|
|
137
|
-
|
|
138
|
-
Run `npx hyperframes usage --json` at the start of a video workflow and again at milestones such as after drafting and before rendering. A fresh read at handoff can serve as the start read. Use `--harness claude-code`, `--harness codex`, or `--harness grok` to select explicitly.
|
|
139
|
-
|
|
140
|
-
Known results contain `status: "known"`, `harness`, `planTier`, `session`, `weekly`, and `spend`. Each available window contains `usedPercent`, `remainingPercent`, and `resetsAt`; an unavailable window is `null`. `planTier` is the readable subscription tier when available, otherwise `null`. Claude Code reports its shared five-hour and weekly windows; a spend-metered plan (such as Enterprise) has neither and reports `spend`, the share of its billing-period spend limit already used, with `resetsAt: null`. Codex reports its shared session and weekly windows when available. Grok reports its included weekly allowance with `session: null`. Only Claude Code reports `spend`; it is `null` elsewhere. When no window is available the result is `status: "unknown"` with `reason: "no_usage_windows"`.
|
|
141
|
-
|
|
142
|
-
Unknown results contain `status: "unknown"` and a token-free `reason`. Missing, expired, unsupported, ambiguous, or unreadable logins and unavailable provider responses return unknown. Report the unknown state without guessing allowance. The command reads existing credentials without refreshing or rewriting them and emits no tokens or telemetry. Usage is a snapshot; it does not reserve allowance or estimate the next video's cost. Keep scope and workflow choices with the user.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Transcription
|
|
2
2
|
|
|
3
|
-
Create normalized word-level timestamps. **Always specify `--model` explicitly** —
|
|
3
|
+
Create normalized word-level timestamps. **Always specify `--model` explicitly** — `npx hyperframes transcribe` uses `small.en` as its default whisper model, which silently translates non-English audio into English.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
npx hyperframes transcribe audio.mp3 --model small.en # known English
|
|
@@ -19,7 +19,7 @@ npx hyperframes transcribe openai-response.json
|
|
|
19
19
|
2. **Known non-English** → `--model small --language <iso-code>` (no `.en` suffix)
|
|
20
20
|
3. **Unknown language** → `--model small` (whisper auto-detects)
|
|
21
21
|
|
|
22
|
-
**CLI default is `small.en`** — do not rely on it; always pass `--model` to make the choice explicit. `--language` also filters out non-target-language segments from mixed-language audio.
|
|
22
|
+
**The CLI's default whisper model is `small.en`** — do not rely on it; always pass `--model` to make the choice explicit. `--language` also filters out non-target-language segments from mixed-language audio.
|
|
23
23
|
|
|
24
24
|
## Model Sizes
|
|
25
25
|
|
|
@@ -17,4 +17,4 @@ node <SKILL_DIR>/audio/scripts/audio.mjs --request ./audio_request.json --out ./
|
|
|
17
17
|
|
|
18
18
|
Single-shot helpers: `audio/scripts/heygen-tts.mjs` (one voice file). Transcription / background removal / captions use the `hyperframes` CLI (`transcribe`, `remove-background`), see the per-topic guides in `audio/references/` (`tts.md`, `bgm.md`, `sfx.md`, `transcribe.md`, `remove-background.md`, `captions/`).
|
|
19
19
|
|
|
20
|
-
Transcription defaults to Parakeet (better than whisper.cpp: 6.05% vs 7.44% WER, 5-10x faster)
|
|
20
|
+
Transcription through `scripts/transcribe.mjs` defaults to Parakeet (better than whisper.cpp: 6.05% vs 7.44% WER, 5-10x faster), with whisper.cpp auto-fallback (see `references/operations.md`). `npx hyperframes transcribe` picks its own engine: Parakeet when installed, otherwise whisper with the `small.en` model by default.
|
|
@@ -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-TFGO5YMI.js";
|
|
19
|
+
import "./chunk-W3CS2KFV.js";
|
|
20
20
|
import {
|
|
21
21
|
diag
|
|
22
22
|
} from "./chunk-VWG7OQKU.js";
|
|
@@ -47,15 +47,15 @@ import {
|
|
|
47
47
|
presentSkills,
|
|
48
48
|
pruneOrphanedLockEntries,
|
|
49
49
|
retiredSkillNotice
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-FBDOHH3Q.js";
|
|
51
51
|
import {
|
|
52
52
|
withMeta
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-KAC2WR7P.js";
|
|
54
54
|
import "./chunk-K4WIOZFP.js";
|
|
55
55
|
import "./chunk-XUXGIA7H.js";
|
|
56
56
|
import "./chunk-WERLJGIC.js";
|
|
57
57
|
import "./chunk-ISN5GRYI.js";
|
|
58
|
-
import "./chunk-
|
|
58
|
+
import "./chunk-MSM6VRQ4.js";
|
|
59
59
|
import "./chunk-KNU5COPB.js";
|
|
60
60
|
import "./chunk-M2WBOQ2Q.js";
|
|
61
61
|
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
printSkillsUpdateNotice,
|
|
10
10
|
refreshSkillsCache,
|
|
11
11
|
skillsCheckDue
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-FBDOHH3Q.js";
|
|
13
|
+
import "./chunk-KAC2WR7P.js";
|
|
14
14
|
import "./chunk-K4WIOZFP.js";
|
|
15
15
|
import "./chunk-XUXGIA7H.js";
|
|
16
16
|
import "./chunk-WERLJGIC.js";
|
|
17
17
|
import "./chunk-ISN5GRYI.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-MSM6VRQ4.js";
|
|
19
19
|
import "./chunk-KNU5COPB.js";
|
|
20
20
|
import "./chunk-M2WBOQ2Q.js";
|
|
21
21
|
export {
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
findFFmpeg,
|
|
26
26
|
findFFprobe,
|
|
27
27
|
getFFmpegInstallHint
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-GLG5JWLI.js";
|
|
29
29
|
import {
|
|
30
30
|
pngDimensions,
|
|
31
31
|
reportArtifacts,
|
|
@@ -33,20 +33,20 @@ import {
|
|
|
33
33
|
} from "./chunk-57GN6KWT.js";
|
|
34
34
|
import {
|
|
35
35
|
captureArtifactRevision
|
|
36
|
-
} from "./chunk-
|
|
37
|
-
import "./chunk-
|
|
36
|
+
} from "./chunk-7A65UCMI.js";
|
|
37
|
+
import "./chunk-JOLZ3BSL.js";
|
|
38
38
|
import "./chunk-X7MTZ4T2.js";
|
|
39
39
|
import {
|
|
40
40
|
resolveProject
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-7ZJEQY7Q.js";
|
|
42
42
|
import {
|
|
43
43
|
serveStaticProjectHtml
|
|
44
|
-
} from "./chunk-
|
|
45
|
-
import "./chunk-
|
|
44
|
+
} from "./chunk-T5YF32WV.js";
|
|
45
|
+
import "./chunk-ALEF2F5N.js";
|
|
46
46
|
import "./chunk-X7MTZ4T2.js";
|
|
47
47
|
import "./chunk-XUHOIDKG.js";
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-2WNVHZHA.js";
|
|
49
|
+
import "./chunk-KHCTBZGJ.js";
|
|
50
50
|
import "./chunk-6JR2XUEE.js";
|
|
51
51
|
import "./chunk-EI7FP7F3.js";
|
|
52
52
|
import {
|
|
@@ -56,10 +56,11 @@ import {
|
|
|
56
56
|
recordArtifacts,
|
|
57
57
|
retainSnapshotOutput
|
|
58
58
|
} from "./chunk-TMBUBLZB.js";
|
|
59
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-COETAXRN.js";
|
|
60
60
|
import "./chunk-ALVXFXUG.js";
|
|
61
61
|
import {
|
|
62
62
|
DEFAULT_ZOOM_SCALE,
|
|
63
|
+
SCREENSHOT_IMAGE_WAIT_MS,
|
|
63
64
|
captureRegionCrop,
|
|
64
65
|
openSettledCompositionPage,
|
|
65
66
|
parseZoomTarget,
|
|
@@ -67,37 +68,37 @@ import {
|
|
|
67
68
|
runFfmpegOnce,
|
|
68
69
|
seekCompositionTimelineOnly,
|
|
69
70
|
settleCompositionSeek
|
|
70
|
-
} from "./chunk-
|
|
71
|
-
import "./chunk-
|
|
71
|
+
} from "./chunk-JYSSPQDT.js";
|
|
72
|
+
import "./chunk-WY3TQ2PT.js";
|
|
72
73
|
import "./chunk-MOEGCMKI.js";
|
|
73
|
-
import "./chunk-
|
|
74
|
+
import "./chunk-TJKE4EYX.js";
|
|
74
75
|
import "./chunk-DKPNNYBZ.js";
|
|
75
|
-
import "./chunk-
|
|
76
|
+
import "./chunk-7FF36MAD.js";
|
|
76
77
|
import "./chunk-K2FLNJVB.js";
|
|
77
78
|
import "./chunk-EHSBBBR2.js";
|
|
78
|
-
import "./chunk-
|
|
79
|
+
import "./chunk-COWQITWP.js";
|
|
79
80
|
import "./chunk-442JNXRM.js";
|
|
80
81
|
import "./chunk-DQBY7FRR.js";
|
|
81
82
|
import {
|
|
82
83
|
resolveLocalBrowserGpuMode
|
|
83
|
-
} from "./chunk-
|
|
84
|
-
import "./chunk-
|
|
84
|
+
} from "./chunk-XMSQRDAK.js";
|
|
85
|
+
import "./chunk-JJJCFKMF.js";
|
|
85
86
|
import "./chunk-XT7X6QCP.js";
|
|
86
87
|
import "./chunk-4YYJOFKS.js";
|
|
87
88
|
import "./chunk-HVW7ABXD.js";
|
|
88
|
-
import "./chunk-
|
|
89
|
+
import "./chunk-3XI7MIZB.js";
|
|
89
90
|
import {
|
|
90
91
|
runWithConcurrencyLimit
|
|
91
92
|
} from "./chunk-JHOCK3DG.js";
|
|
92
|
-
import "./chunk-
|
|
93
|
-
import "./chunk-
|
|
93
|
+
import "./chunk-TRZVS6TL.js";
|
|
94
|
+
import "./chunk-LBNEH6IQ.js";
|
|
94
95
|
import "./chunk-AWDFDFI3.js";
|
|
95
96
|
import "./chunk-P6LJ4Y32.js";
|
|
96
97
|
import "./chunk-GMECXFAN.js";
|
|
97
98
|
import "./chunk-7L37AB57.js";
|
|
98
99
|
import "./chunk-EOVYQ3IG.js";
|
|
99
|
-
import "./chunk-
|
|
100
|
-
import "./chunk-
|
|
100
|
+
import "./chunk-TFGO5YMI.js";
|
|
101
|
+
import "./chunk-W3CS2KFV.js";
|
|
101
102
|
import "./chunk-VWG7OQKU.js";
|
|
102
103
|
import {
|
|
103
104
|
defineCommand
|
|
@@ -113,20 +114,20 @@ import {
|
|
|
113
114
|
import "./chunk-KLIKCX6Q.js";
|
|
114
115
|
import "./chunk-EVMY7IPL.js";
|
|
115
116
|
import "./chunk-7FMUTGOH.js";
|
|
116
|
-
import "./chunk-
|
|
117
|
+
import "./chunk-NMDUSCCE.js";
|
|
117
118
|
import "./chunk-IZCW2NKT.js";
|
|
118
119
|
import {
|
|
119
120
|
createRuntimeStartTimeResolver,
|
|
120
121
|
isClipVisibleAt,
|
|
121
122
|
isInClipWindow
|
|
122
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-GM3WIOO6.js";
|
|
123
124
|
import "./chunk-RQVDTPGD.js";
|
|
124
|
-
import "./chunk-
|
|
125
|
+
import "./chunk-VYQYVYQ5.js";
|
|
125
126
|
import {
|
|
126
127
|
readElementRateSpec,
|
|
127
128
|
sourceTimeAt,
|
|
128
129
|
timeAtSourceTime
|
|
129
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-LM265QNK.js";
|
|
130
131
|
import "./chunk-VC76R6W2.js";
|
|
131
132
|
import "./chunk-X7HBSTCZ.js";
|
|
132
133
|
import {
|
|
@@ -150,7 +151,7 @@ import "./chunk-XT6MXC7A.js";
|
|
|
150
151
|
import "./chunk-4UMPIPCQ.js";
|
|
151
152
|
import {
|
|
152
153
|
lintProject
|
|
153
|
-
} from "./chunk-
|
|
154
|
+
} from "./chunk-3NRB7YXW.js";
|
|
154
155
|
import "./chunk-VAS6HQX3.js";
|
|
155
156
|
import "./chunk-6BNTGNGD.js";
|
|
156
157
|
import "./chunk-RUOG4VB7.js";
|
|
@@ -164,12 +165,12 @@ import "./chunk-I5JRXMCV.js";
|
|
|
164
165
|
import "./chunk-W2LGJSEN.js";
|
|
165
166
|
import {
|
|
166
167
|
withMeta
|
|
167
|
-
} from "./chunk-
|
|
168
|
+
} from "./chunk-KAC2WR7P.js";
|
|
168
169
|
import "./chunk-K4WIOZFP.js";
|
|
169
170
|
import "./chunk-XUXGIA7H.js";
|
|
170
171
|
import "./chunk-WERLJGIC.js";
|
|
171
172
|
import "./chunk-ISN5GRYI.js";
|
|
172
|
-
import "./chunk-
|
|
173
|
+
import "./chunk-MSM6VRQ4.js";
|
|
173
174
|
import {
|
|
174
175
|
normalizeErrorMessage
|
|
175
176
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -695,7 +696,7 @@ function serveCapturePage(projectDir, html, proxy) {
|
|
|
695
696
|
}
|
|
696
697
|
async function captureSnapshots(projectDir, opts) {
|
|
697
698
|
const log = opts.log ?? ((message) => console.log(message));
|
|
698
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
699
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-23QDKFSN.js");
|
|
699
700
|
const capture = await captureArtifactRevision(projectDir).catch(warnSnapshotsNotRecorded);
|
|
700
701
|
const invocation = randomUUID();
|
|
701
702
|
const artifacts = [];
|
|
@@ -756,7 +757,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
756
757
|
return 0;
|
|
757
758
|
});
|
|
758
759
|
if (duration <= 0 && !opts.at?.length) {
|
|
759
|
-
return { paths: [] };
|
|
760
|
+
return { paths: [], warnings };
|
|
760
761
|
}
|
|
761
762
|
const readTiming = () => page.evaluate(() => ({
|
|
762
763
|
html: document.documentElement.outerHTML,
|
|
@@ -827,7 +828,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
827
828
|
let syncVideoFrameVisibility = null;
|
|
828
829
|
let extractMediaMetadata = null;
|
|
829
830
|
try {
|
|
830
|
-
const engine = await import("./src-
|
|
831
|
+
const engine = await import("./src-ZOXSEJCD.js");
|
|
831
832
|
injectVideoFramesBatch = engine.injectVideoFramesBatch;
|
|
832
833
|
syncVideoFrameVisibility = engine.syncVideoFrameVisibility;
|
|
833
834
|
extractMediaMetadata = engine.extractMediaMetadata;
|
|
@@ -852,7 +853,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
852
853
|
}
|
|
853
854
|
for (let i = 0; i < positions.length; i++) {
|
|
854
855
|
const time = positions[i];
|
|
855
|
-
const seekOptions = { exactTime: true };
|
|
856
|
+
const seekOptions = { exactTime: true, waitForImagesMs: SCREENSHOT_IMAGE_WAIT_MS };
|
|
856
857
|
await seekCompositionTimelineOnly(page, time, seekOptions);
|
|
857
858
|
if (cameraExpr) await page.evaluate(cameraExpr);
|
|
858
859
|
if (injectVideoFramesBatch && syncVideoFrameVisibility) {
|
|
@@ -963,7 +964,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
963
964
|
);
|
|
964
965
|
}
|
|
965
966
|
}
|
|
966
|
-
await settleCompositionSeek(page, seekOptions);
|
|
967
|
+
warnUnsettledImages(await settleCompositionSeek(page, seekOptions), time, warnings);
|
|
967
968
|
await recaptureSnapshotComposite(page);
|
|
968
969
|
const timeLabel = formatSnapshotTimestamp(time);
|
|
969
970
|
const slot = opts.keep ? `at-${timeLabel}` : `${String(i).padStart(2, "0")}-at-${timeLabel}`;
|
|
@@ -1057,6 +1058,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
1057
1058
|
}
|
|
1058
1059
|
return {
|
|
1059
1060
|
paths: savedPaths,
|
|
1061
|
+
warnings,
|
|
1060
1062
|
...review && reviewList ? {
|
|
1061
1063
|
review: {
|
|
1062
1064
|
plan: review,
|
|
@@ -1068,6 +1070,18 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
1068
1070
|
} : {}
|
|
1069
1071
|
};
|
|
1070
1072
|
}
|
|
1073
|
+
function warnUnsettledImages(images, time, warnings) {
|
|
1074
|
+
const groups = [
|
|
1075
|
+
[images.pending, `did not finish loading within ${SCREENSHOT_IMAGE_WAIT_MS} ms`],
|
|
1076
|
+
[images.failed, "failed to load"]
|
|
1077
|
+
];
|
|
1078
|
+
for (const [sources, what] of groups) {
|
|
1079
|
+
if (sources.length === 0) continue;
|
|
1080
|
+
const message = `${sources.length} image(s) ${what} at ${time}s, so the frame may be missing them: ${sources.join(", ")}`;
|
|
1081
|
+
warnings.push(message);
|
|
1082
|
+
console.warn(` ${c.warn("\u26A0")} ${message}`);
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
1071
1085
|
function warnSnapshotsNotRecorded(error) {
|
|
1072
1086
|
console.warn(` ${c.warn("\u26A0")} Snapshots were not recorded: ${normalizeErrorMessage(error)}`);
|
|
1073
1087
|
return void 0;
|
|
@@ -1102,6 +1116,7 @@ function snapshotEnvelope(projectDir, outputDir, captured, extra) {
|
|
|
1102
1116
|
outputDir,
|
|
1103
1117
|
frames,
|
|
1104
1118
|
contactSheets: extra.contactSheets.map((sheet) => resolve(sheet)),
|
|
1119
|
+
...captured.warnings.length > 0 ? { warnings: captured.warnings } : {},
|
|
1105
1120
|
...extra.describedPath ? { descriptions: extra.describedPath } : {},
|
|
1106
1121
|
...review ? {
|
|
1107
1122
|
review: {
|
|
@@ -69,10 +69,10 @@ import {
|
|
|
69
69
|
serializeRenderRequest,
|
|
70
70
|
startServer,
|
|
71
71
|
validatePlanV2MaterializedTarget
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-TFMZ4RKM.js";
|
|
73
73
|
import {
|
|
74
74
|
prepareAnimatedGifInputs
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-RQBB7PYT.js";
|
|
76
76
|
import "./chunk-BZ56MTDX.js";
|
|
77
77
|
import {
|
|
78
78
|
FONT_FETCH_FAILED,
|
|
@@ -98,14 +98,14 @@ import {
|
|
|
98
98
|
isTransientBrowserError,
|
|
99
99
|
prepareCaptureSessionForReuse,
|
|
100
100
|
resolveConfig
|
|
101
|
-
} from "./chunk-
|
|
101
|
+
} from "./chunk-NMDUSCCE.js";
|
|
102
102
|
import "./chunk-IZCW2NKT.js";
|
|
103
103
|
import {
|
|
104
104
|
quantizeTimeToFrame
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-GM3WIOO6.js";
|
|
106
106
|
import "./chunk-RQVDTPGD.js";
|
|
107
|
-
import "./chunk-
|
|
108
|
-
import "./chunk-
|
|
107
|
+
import "./chunk-VYQYVYQ5.js";
|
|
108
|
+
import "./chunk-LM265QNK.js";
|
|
109
109
|
import "./chunk-VC76R6W2.js";
|
|
110
110
|
import "./chunk-X7HBSTCZ.js";
|
|
111
111
|
import "./chunk-B2A56S5C.js";
|
|
@@ -115,7 +115,7 @@ import "./chunk-3GXQPCJC.js";
|
|
|
115
115
|
import "./chunk-634HSJ3J.js";
|
|
116
116
|
import "./chunk-FXMKHHPO.js";
|
|
117
117
|
import "./chunk-4UMPIPCQ.js";
|
|
118
|
-
import "./chunk-
|
|
118
|
+
import "./chunk-3NRB7YXW.js";
|
|
119
119
|
import "./chunk-VAS6HQX3.js";
|
|
120
120
|
import "./chunk-6BNTGNGD.js";
|
|
121
121
|
import "./chunk-RUOG4VB7.js";
|