hyperframes 0.8.144 → 0.8.146
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/dist/{add-CWRTVGDB.js → add-6J4TLUDW.js} +15 -15
- package/dist/{animatedGifPrep-JTOHIWI4.js → animatedGifPrep-TPYA45ZZ.js} +10 -10
- package/dist/{asset-KU2Z4UFM.js → asset-B4C6ZU4V.js} +2 -2
- package/dist/{assetCataloger-3CS2P7PA.js → assetCataloger-GX4B55VB.js} +4 -4
- package/dist/{auth-IDSOIQWG.js → auth-T2V3URGO.js} +2 -2
- package/dist/{autoUpdate-373B4BA2.js → autoUpdate-O4R7IOYP.js} +2 -2
- package/dist/{backgroundChecks-53Q3NAMG.js → backgroundChecks-SQHGZCSH.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-UKZA6BME.js → batchRender-T7S2CGJE.js} +5 -5
- package/dist/{beats-N5JGEOFR.js → beats-RNEXDM7U.js} +16 -16
- package/dist/{benchmark-CUN3LN4V.js → benchmark-IVK6FCEU.js} +12 -12
- package/dist/{browser-NCZT5AP6.js → browser-WUE6VK2N.js} +5 -5
- package/dist/{bundleWithLocalizedFonts-FWC7PE2D.js → bundleWithLocalizedFonts-EEIRL7FT.js} +2 -2
- package/dist/{capture-YLS32UHT.js → capture-K3EONGGU.js} +2 -2
- package/dist/{capture-QBLG3VJR.js → capture-LEKIGJ4G.js} +13 -13
- package/dist/{catalog-HIWNAFHW.js → catalog-IXYQ2KXW.js} +15 -15
- package/dist/{catch-up-HGS7KIAC.js → catch-up-IIF7HKR6.js} +6 -6
- package/dist/{check-FH6UYYLO.js → check-W7CDOXNP.js} +38 -38
- package/dist/{checkBrowser-RNWNOMCZ.js → checkBrowser-5VSXEHBZ.js} +118 -61
- package/dist/{chunk-XU5GGV6R.js → chunk-2NAUEDA6.js} +2 -2
- package/dist/{chunk-GZM2EFOE.js → chunk-3HSWLZ6S.js} +1 -1
- package/dist/{chunk-YUAXFWSQ.js → chunk-4RUILXS6.js} +5 -5
- package/dist/{chunk-MXNDKDFT.js → chunk-54UXJKFF.js} +1 -1
- package/dist/{chunk-DIRJ322I.js → chunk-66SAATRI.js} +3 -3
- package/dist/{chunk-RI53TS2Y.js → chunk-6TTAXMDG.js} +2 -2
- package/dist/{chunk-YJXHMIZA.js → chunk-A72OAGNB.js} +6 -6
- package/dist/{chunk-G75ENCEZ.js → chunk-AIJS74LG.js} +3 -3
- package/dist/{chunk-GEWKFRFI.js → chunk-AJ5R4GM6.js} +1 -1
- package/dist/{chunk-3VYNNWVA.js → chunk-BAKPN2D2.js} +101 -94
- package/dist/{chunk-3XTEXWNN.js → chunk-CVPWZ5LY.js} +3 -3
- package/dist/{chunk-AUBOF2PN.js → chunk-DDNS2674.js} +1 -1
- package/dist/{chunk-QFSCCQIR.js → chunk-DMKI64EZ.js} +1 -1
- package/dist/{chunk-NOPBBSLA.js → chunk-DUU77E2S.js} +69 -64
- package/dist/{chunk-RVFEDAUV.js → chunk-EGO6Z24R.js} +3 -3
- package/dist/{chunk-KC5XXX3X.js → chunk-EOOEC32M.js} +1 -1
- package/dist/{chunk-2DA2BBNY.js → chunk-ETNQF37F.js} +10 -10
- package/dist/{chunk-54QISXOC.js → chunk-FDL4HV44.js} +2 -2
- package/dist/{chunk-VYSUZEJG.js → chunk-FJLHVAPO.js} +6 -6
- package/dist/{chunk-QZ3AZTXI.js → chunk-FJWEYVEM.js} +42 -16
- package/dist/{chunk-EX6C672Y.js → chunk-FKLYMV3U.js} +1 -1
- package/dist/{chunk-PUGIRFPX.js → chunk-FMNVTKX2.js} +4 -4
- package/dist/{chunk-L5TUCXWR.js → chunk-HBGJYBGE.js} +2 -2
- package/dist/{chunk-SLCFKB3Y.js → chunk-HTM4CIFS.js} +11 -8
- package/dist/{chunk-T42U2W2R.js → chunk-IXLUTE6N.js} +1 -1
- package/dist/{chunk-OUSLVRO4.js → chunk-JBQJKC23.js} +76 -6
- package/dist/{chunk-IEIJRMLZ.js → chunk-JDB65PPT.js} +62 -63
- package/dist/{chunk-USDEMXXL.js → chunk-JYVGYKXG.js} +1 -1
- package/dist/{chunk-P6WH6QTV.js → chunk-K7ES5RSK.js} +1 -1
- package/dist/{chunk-LC3RQURJ.js → chunk-KFZUUXUN.js} +3 -3
- package/dist/{chunk-OIDN7G42.js → chunk-KG265HQ7.js} +2 -2
- package/dist/{chunk-7RAYSCYT.js → chunk-KPJMBC4K.js} +2 -2
- package/dist/{chunk-MAYCCGMQ.js → chunk-KVGDFUVO.js} +1 -1
- package/dist/{chunk-JEHFZQYT.js → chunk-LE7T4ML7.js} +1 -1
- package/dist/{chunk-MQZVBHEY.js → chunk-LFNQDTSH.js} +1 -1
- package/dist/{chunk-ZOA2SC4P.js → chunk-MOL32UKR.js} +45 -11
- package/dist/{chunk-RG3QWWIE.js → chunk-QSSPIATO.js} +2 -2
- package/dist/{chunk-F2SMS24Q.js → chunk-R6R74HNZ.js} +117 -139
- package/dist/{chunk-7SDCIWHQ.js → chunk-SYMSKGXI.js} +2 -2
- package/dist/{chunk-ZEUONDQG.js → chunk-SYUGVPYH.js} +1 -1
- package/dist/{chunk-4OC7MQNB.js → chunk-TBOMPYG6.js} +2 -2
- package/dist/{chunk-KFKZ3ISO.js → chunk-TH4OXAWY.js} +1 -1
- package/dist/{chunk-4LAR447G.js → chunk-UOBYRLDD.js} +1 -1
- package/dist/{chunk-NV4RXIQ7.js → chunk-UZUUVYAO.js} +3 -3
- package/dist/{chunk-PJ3HDUCY.js → chunk-VAS6HQX3.js} +39 -9
- package/dist/{chunk-LFX2HEYP.js → chunk-VT563F4O.js} +7 -7
- package/dist/{chunk-5VMR4WBS.js → chunk-WU2B74TL.js} +363 -103
- package/dist/{chunk-5HJ343GH.js → chunk-WUZ6TMAO.js} +1 -1
- package/dist/{chunk-GQJZORQP.js → chunk-XBSPQ52S.js} +1 -1
- package/dist/{chunk-5WADG7PR.js → chunk-XJUZEB44.js} +1 -1
- package/dist/{chunk-I5KY7EZP.js → chunk-XVIYZU3D.js} +1 -1
- package/dist/{chunk-XGFHYAYN.js → chunk-Z5C4LEAD.js} +33 -28
- package/dist/chunk-Z6FLHIDV.js +3795 -0
- package/dist/{chunk-DDIVWXN7.js → chunk-ZFN6GQU4.js} +4 -4
- package/dist/{chunk-Y6UPYWJS.js → chunk-ZVZSFDW3.js} +2 -2
- package/dist/{chunk-A53CBD24.js → chunk-ZZ7H4IJ6.js} +9 -9
- package/dist/{clean-KPX27IKJ.js → clean-2GDD2B4F.js} +23 -23
- package/dist/cli.js +52 -52
- package/dist/{cloud-P7DAOISN.js → cloud-LUKGDTTE.js} +4 -4
- package/dist/{cloudrun-XM56TBOH.js → cloudrun-NQF5KFQI.js} +6 -6
- package/dist/{compare-F6YAFZZM.js → compare-4P6O4ONG.js} +32 -32
- package/dist/{compiler-JZ4GNFMG.js → compiler-ACCPOZMQ.js} +10 -6
- package/dist/{component-3CFOGIQA.js → component-SDDOLNJD.js} +3 -3
- package/dist/{compositions-CPCMWF24.js → compositions-P2L6HUVQ.js} +15 -15
- package/dist/{delete-GYVKOKB6.js → delete-Q6S4BJ3F.js} +2 -2
- package/dist/{deterministicFonts-U2BIMGPG.js → deterministicFonts-C5JQLCTS.js} +2 -2
- package/dist/{dist-YPWQDWJ4.js → dist-GPDOV3IQ.js} +4 -4
- package/dist/{dist-KDJTFJHA.js → dist-HUMFCJ6T.js} +3 -3
- package/dist/{doctor-GWI3B6JT.js → doctor-NL73UKHV.js} +15 -15
- package/dist/{events-BRRUDPPT.js → events-AVOPOKO3.js} +5 -5
- package/dist/{events-V2QFN4YM.js → events-X7KPU7LG.js} +4 -4
- package/dist/{feedback-CXMD7FWL.js → feedback-GJZ5NXSH.js} +10 -10
- package/dist/{ffmpeg-T5SH2EFJ.js → ffmpeg-5V4FP3R6.js} +2 -2
- package/dist/{figma-YABDWD66.js → figma-V7SVQQI5.js} +3 -3
- package/dist/fontLocalizeCli.js +14 -14
- package/dist/{get-L2SOQKHX.js → get-FO3YZYEU.js} +2 -2
- package/dist/{gpuPolicy-NBJNWHYS.js → gpuPolicy-QGS4TFWP.js} +10 -10
- package/dist/{grade-compare-STXQPKYQ.js → grade-compare-7ICSN7KE.js} +33 -33
- package/dist/{help-4H6BSFLB.js → help-Y5LYZG7K.js} +2 -2
- package/dist/{history-4IQOLTHJ.js → history-RKGBRNLD.js} +49 -22
- package/dist/hyperframe-runtime.js +214 -68
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +214 -68
- package/dist/hyperframes-player.global.js +4 -5
- package/dist/hyperframes-slideshow.global.js +3 -4
- package/dist/{info-2CZOTNBC.js → info-GGUTL2NR.js} +11 -11
- package/dist/{init-6BXK42VS.js → init-PG7NA5SQ.js} +31 -31
- package/dist/{inspect-VKU47TBH.js → inspect-FCXUB6DE.js} +33 -33
- package/dist/{installer-T2BSSUDY.js → installer-LZ4X5TZZ.js} +6 -6
- package/dist/{keyframes-IEYVHRPI.js → keyframes-R3K6WJ3N.js} +8 -8
- package/dist/{lambda-TIKG25CK.js → lambda-3GAKHMC3.js} +7 -7
- package/dist/{layout-XOI4PT7A.js → layout-XNIZIGA2.js} +33 -33
- package/dist/{lint-DWCMVIX5.js → lint-4KDS2F4O.js} +11 -11
- package/dist/{lintProject-UBZ3TDHU.js → lintProject-SSEXWCH6.js} +3 -3
- package/dist/{list-7GXKG5QM.js → list-OVPURFPK.js} +2 -2
- package/dist/{login-BQ5L2UHX.js → login-EE2AX2PE.js} +4 -4
- package/dist/{manager-YKMHR6LN.js → manager-5ORDVWJB.js} +3 -3
- package/dist/{media-treatment-IFB7OSZ3.js → media-treatment-UDUEOP67.js} +86 -55
- package/dist/{models-TY4PJ545.js → models-LPK2O4B2.js} +14 -14
- package/dist/{motionShot-WXMFHICW.js → motionShot-G76XBOYI.js} +35 -29
- package/dist/{normalize-audio-RFD776HQ.js → normalize-audio-TUKWZ3OR.js} +10 -10
- package/dist/{open-7IXXGO2E.js → open-7XB2TGVB.js} +6 -6
- package/dist/{parakeetRunner-IHLYYMTZ.js → parakeetRunner-DL556HXL.js} +14 -14
- package/dist/{pipeline-TXKPLL2U.js → pipeline-34N5DLWU.js} +11 -11
- package/dist/{play-J2KP64UK.js → play-DDA2UUQF.js} +26 -26
- package/dist/{preflight-B4AFK3RG.js → preflight-ONF5AJNO.js} +5 -5
- package/dist/{present-MHHNRVRA.js → present-LLNRKXF5.js} +23 -23
- package/dist/{preview-CONUOFFQ.js → preview-H3ZZS46F.js} +57 -26
- package/dist/{producer-ZI46K7HH.js → producer-IFQOZK2G.js} +1 -1
- package/dist/{projectConfig-FGGVG5MV.js → projectConfig-SBRMQZGG.js} +8 -8
- package/dist/{publication-TXFBMW6B.js → publication-5BQICRZO.js} +4 -4
- package/dist/{publish-YZSPBFRD.js → publish-XDUZA3E3.js} +27 -26
- package/dist/{remove-background-4ATVLHLG.js → remove-background-GNKRMFQS.js} +12 -12
- package/dist/{render-MH4IUPWB.js → render-JM6KNRIA.js} +27 -27
- package/dist/{render-6FBYLYGJ.js → render-KTTC3EE5.js} +12 -12
- package/dist/{render-GFW5BPES.js → render-PCFO45RK.js} +5 -5
- package/dist/{render-batch-XUCZ2PUJ.js → render-batch-7R2NRNVJ.js} +5 -5
- package/dist/{renderCancellation-XF7M7IUP.js → renderCancellation-GP3XD2FS.js} +10 -10
- package/dist/renderSetupWorker.js +3 -3
- package/dist/{resolver-W7AYCQGS.js → resolver-C4FPX72I.js} +6 -6
- package/dist/{sherpa-LDUB5NLY.js → sherpa-MZP3MV2X.js} +14 -14
- package/dist/skills/hyperframes/scripts/lib/frame-packets-core.mjs +2 -20
- package/dist/skills/hyperframes/scripts/lib/main-module.mjs +13 -0
- package/dist/skills/hyperframes/scripts/lib/main-module.test.mjs +51 -0
- package/dist/skills/hyperframes/scripts/plugin-cli.mjs +4 -3
- package/dist/skills/hyperframes/scripts/plugin-cli.test.mjs +5 -1
- package/dist/skills/hyperframes-cli/SKILL.md +2 -0
- package/dist/skills/media-use/audio/scripts/heygen-voice.mjs +2 -2
- package/dist/skills/media-use/audio/scripts/lib/main-module.mjs +13 -0
- package/dist/skills/media-use/references/media-treatments.md +5 -1
- package/dist/skills/media-use/scripts/lib/cube-validate.mjs +2 -3
- package/dist/skills/media-use/scripts/lib/main-module.mjs +13 -0
- package/dist/{skills-VENERS5X.js → skills-OET4XSHR.js} +7 -7
- package/dist/{skillsUpdateCheck-UXFYTACG.js → skillsUpdateCheck-IPFSKKJD.js} +3 -3
- package/dist/{slideshow-4OJEPWNZ.js → slideshow-YTWATJRT.js} +1 -1
- package/dist/{snapshot-C6T74HTI.js → snapshot-EC4N75MS.js} +34 -34
- package/dist/{src-VUJ2FUFK.js → src-LIERUCFW.js} +13 -9
- package/dist/{src-FS5RSVEI.js → src-ZZQJOKO6.js} +13 -13
- package/dist/{staticProjectServer-V2RZ4DWD.js → staticProjectServer-YH2RHYKW.js} +20 -20
- package/dist/{status-LXPGSSKY.js → status-PTKNQD2E.js} +2 -2
- package/dist/studio/assets/{hyperframes-player-Bw_jIaSX.js → hyperframes-player-tkxyWf5H.js} +3 -3
- package/dist/studio/assets/{index-Cj7W_c7p.js → index-BrdqOkqP.js} +1 -1
- package/dist/studio/assets/{index-BVM9NuWl.js → index-Cg48BxAo.js} +145 -145
- package/dist/studio/assets/{index-DyH9dT7b.js → index-Dllxg4aU.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-TQE7KWKO.js → studio-api-T2TS2CHL.js} +16 -14
- package/dist/{studioServer-CYKSQK7L.js → studioServer-GJVVJUEL.js} +54 -52
- package/dist/{system-OQLOGGPJ.js → system-OXRG57F2.js} +2 -2
- package/dist/{telemetry-A23PPRD6.js → telemetry-ZQ5XVE6Z.js} +5 -5
- package/dist/{timeline-T3QSGT3A.js → timeline-I2T5WIPD.js} +34 -25
- package/dist/{tokens-RT5HWA6C.js → tokens-ONUWOXEX.js} +2 -2
- package/dist/{transcribe-FOLNOC5G.js → transcribe-BCQMA537.js} +12 -12
- package/dist/{transcribe-HCF64LQK.js → transcribe-ZLJF7V5Y.js} +13 -13
- package/dist/{updateCheck-27PIP3AA.js → updateCheck-ZWHDXF73.js} +2 -2
- package/dist/{upgrade-TVGXBUPJ.js → upgrade-32JGFZWS.js} +2 -2
- package/dist/{urlDownloader-KBLBJKRL.js → urlDownloader-EVDP43GM.js} +9 -9
- package/dist/{validate-ZMYGK4QI.js → validate-G4PUGQCI.js} +27 -27
- package/dist/{video-AVE5GIGM.js → video-TILEY3VJ.js} +10 -10
- package/package.json +3 -2
- package/dist/chunk-WJB7WI4J.js +0 -3753
- package/dist/studio/chunk-3GHTHPZD.js +0 -1105
- package/dist/studio/chunk-3GHTHPZD.js.map +0 -1
- package/dist/studio/chunk-EEXSYY5F.js +0 -190
- package/dist/studio/chunk-EEXSYY5F.js.map +0 -1
- package/dist/studio/chunk-G3EDKRZH.js +0 -1442
- package/dist/studio/chunk-G3EDKRZH.js.map +0 -1
- package/dist/studio/chunk-PEAKCOUW.js +0 -942
- package/dist/studio/chunk-PEAKCOUW.js.map +0 -1
- package/dist/studio/chunk-PZ5AY32C.js +0 -10
- package/dist/studio/chunk-PZ5AY32C.js.map +0 -1
- package/dist/studio/chunk-Y2OHHNM2.js +0 -970
- package/dist/studio/chunk-Y2OHHNM2.js.map +0 -1
- package/dist/studio/domEditingLayers-PYST4G45.js +0 -47
- package/dist/studio/domEditingLayers-PYST4G45.js.map +0 -1
- package/dist/studio/index.css +0 -165
- package/dist/studio/index.css.map +0 -1
- package/dist/studio/index.d.ts +0 -4315
- package/dist/studio/index.js +0 -100971
- package/dist/studio/index.js.map +0 -1
- package/dist/studio/player.d.ts +0 -30
- package/dist/studio/player.js +0 -10
- package/dist/studio/player.js.map +0 -1
- package/dist/studio/styles/tailwind-preset.d.ts +0 -39
- package/dist/studio/styles/tailwind-preset.js +0 -50
- package/dist/studio/styles/tailwind-preset.js.map +0 -1
- package/dist/studio/styles.css +0 -1
- package/dist/studio/ui.d.ts +0 -297
- package/dist/studio/ui.js +0 -66
- package/dist/studio/ui.js.map +0 -1
|
@@ -20,30 +20,30 @@ import {
|
|
|
20
20
|
} from "./chunk-3DKN5WKL.js";
|
|
21
21
|
import {
|
|
22
22
|
runEnvironmentChecks
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-66SAATRI.js";
|
|
24
24
|
import {
|
|
25
25
|
getAvailableMemoryMb,
|
|
26
26
|
getFreeDiskMb,
|
|
27
27
|
getShmSizeMb,
|
|
28
28
|
getSystemMeta
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-XBSPQ52S.js";
|
|
30
30
|
import {
|
|
31
31
|
defineCommand
|
|
32
32
|
} from "./chunk-S3S4TGEH.js";
|
|
33
33
|
import {
|
|
34
34
|
resolveExtractCacheDir
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-WU2B74TL.js";
|
|
36
36
|
import {
|
|
37
37
|
getUpdateMeta,
|
|
38
38
|
withMeta
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-K7ES5RSK.js";
|
|
40
40
|
import {
|
|
41
41
|
CONFIG_PATH,
|
|
42
42
|
withFileLock
|
|
43
43
|
} from "./chunk-XUXGIA7H.js";
|
|
44
44
|
import {
|
|
45
45
|
VERSION
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-TBOMPYG6.js";
|
|
47
47
|
import {
|
|
48
48
|
normalizeErrorMessage
|
|
49
49
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -232,7 +232,7 @@ function checkEnvironment() {
|
|
|
232
232
|
return { ok: true, detail: parts.join(" \xB7 ") };
|
|
233
233
|
}
|
|
234
234
|
async function checkWhisper() {
|
|
235
|
-
const { findWhisper, getInstallInstructions } = await import("./manager-
|
|
235
|
+
const { findWhisper, getInstallInstructions } = await import("./manager-5ORDVWJB.js");
|
|
236
236
|
const result = findWhisper();
|
|
237
237
|
if (result) {
|
|
238
238
|
return { ok: true, detail: result.executablePath };
|
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
realFilePath
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-AIJS74LG.js";
|
|
10
10
|
import {
|
|
11
11
|
atomicTempPath,
|
|
12
12
|
isAtomicTempPath,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
mkdirWithinProject
|
|
18
18
|
} from "./chunk-OFQWTKPW.js";
|
|
19
19
|
|
|
20
|
-
// ../studio-server/dist/chunk-
|
|
20
|
+
// ../studio-server/dist/chunk-Y7V6FJHS.js
|
|
21
21
|
import { randomUUID as randomUUID6 } from "crypto";
|
|
22
22
|
import { mkdir as mkdir2, readdir as readdir3, rm as rm3, rmdir, writeFile } from "fs/promises";
|
|
23
23
|
import {
|
|
@@ -310,6 +310,11 @@ function createProjectSignature(projectDir, excluding = /* @__PURE__ */ new Set(
|
|
|
310
310
|
return signature;
|
|
311
311
|
}
|
|
312
312
|
var BLOB_HASH = /^[0-9a-f]{64}$/;
|
|
313
|
+
function blobPath(dir, hash) {
|
|
314
|
+
if (!BLOB_HASH.test(hash)) throw new Error("That is not a history blob.");
|
|
315
|
+
return join(dir, hash.slice(0, 2), hash);
|
|
316
|
+
}
|
|
317
|
+
var readBlob = (dir, hash) => readFile(blobPath(dir, hash));
|
|
313
318
|
async function hashFile(path) {
|
|
314
319
|
const hash = createHash3("sha256");
|
|
315
320
|
for await (const chunk of createReadStream(path)) hash.update(chunk);
|
|
@@ -333,10 +338,7 @@ async function openBlobStore(dir) {
|
|
|
333
338
|
for (const shard of await readdir(dir))
|
|
334
339
|
for (const hash of await readdir(join(dir, shard)).catch(() => []))
|
|
335
340
|
sizes.set(hash, (await stat(join(dir, shard, hash))).size);
|
|
336
|
-
const pathOf = (hash) =>
|
|
337
|
-
if (!BLOB_HASH.test(hash)) throw new Error("That is not a history blob.");
|
|
338
|
-
return join(dir, hash.slice(0, 2), hash);
|
|
339
|
-
};
|
|
341
|
+
const pathOf = (hash) => blobPath(dir, hash);
|
|
340
342
|
let total = [...sizes.values()].reduce((sum, size) => sum + size, 0);
|
|
341
343
|
return {
|
|
342
344
|
async put(absPath) {
|
|
@@ -356,7 +358,7 @@ async function openBlobStore(dir) {
|
|
|
356
358
|
return hash;
|
|
357
359
|
},
|
|
358
360
|
has: (hash) => sizes.has(hash),
|
|
359
|
-
read: async (hash) =>
|
|
361
|
+
read: async (hash) => readBlob(dir, hash),
|
|
360
362
|
writeTo: async (hash, absPath, beforeReplace) => cloneOrCopy(pathOf(hash), absPath, beforeReplace),
|
|
361
363
|
bytes: () => total,
|
|
362
364
|
size: (hash) => sizes.get(hash) ?? 0,
|
|
@@ -798,6 +800,19 @@ function isHistoryPath(path) {
|
|
|
798
800
|
if (KEPT_HIDDEN_PATHS.has(path)) return true;
|
|
799
801
|
return !path.split("/").some((segment) => segment.startsWith("."));
|
|
800
802
|
}
|
|
803
|
+
var logFileIn = (home) => join5(home, "log.jsonl");
|
|
804
|
+
function listOf(log) {
|
|
805
|
+
const undone = undoneIds(log.entries);
|
|
806
|
+
return log.entries.map((entry) => ({
|
|
807
|
+
...entry,
|
|
808
|
+
pinned: log.pins.has(entry.id),
|
|
809
|
+
undone: undone.has(entry.id)
|
|
810
|
+
}));
|
|
811
|
+
}
|
|
812
|
+
function peekOf(log, point) {
|
|
813
|
+
const files = manifestAt(log, point);
|
|
814
|
+
return files && Object.fromEntries(files);
|
|
815
|
+
}
|
|
801
816
|
function withoutHiddenPaths(log) {
|
|
802
817
|
for (const path of log.baseline.keys()) if (!isHistoryPath(path)) log.baseline.delete(path);
|
|
803
818
|
for (const entry of log.entries)
|
|
@@ -904,7 +919,7 @@ var Engine = class {
|
|
|
904
919
|
return this.foldsCase ? path.toLowerCase() : path;
|
|
905
920
|
}
|
|
906
921
|
get logFile() {
|
|
907
|
-
return
|
|
922
|
+
return logFileIn(this.home);
|
|
908
923
|
}
|
|
909
924
|
now() {
|
|
910
925
|
return (this.options.now ?? Date.now)();
|
|
@@ -1574,12 +1589,7 @@ var Engine = class {
|
|
|
1574
1589
|
},
|
|
1575
1590
|
list: () => {
|
|
1576
1591
|
this.assertOpen();
|
|
1577
|
-
|
|
1578
|
-
return this.log.entries.map((entry) => ({
|
|
1579
|
-
...entry,
|
|
1580
|
-
pinned: this.log.pins.has(entry.id),
|
|
1581
|
-
undone: undone.has(entry.id)
|
|
1582
|
-
}));
|
|
1592
|
+
return listOf(this.log);
|
|
1583
1593
|
},
|
|
1584
1594
|
step: (direction, who, { writeToken } = {}) => this.operation(writeToken, async () => {
|
|
1585
1595
|
const target = this.next(direction, who);
|
|
@@ -1592,8 +1602,7 @@ var Engine = class {
|
|
|
1592
1602
|
),
|
|
1593
1603
|
peek: (point) => {
|
|
1594
1604
|
this.assertOpen();
|
|
1595
|
-
|
|
1596
|
-
return files && Object.fromEntries(files);
|
|
1605
|
+
return peekOf(this.log, point);
|
|
1597
1606
|
},
|
|
1598
1607
|
checkout: (entryId, side, emptyDir) => this.queue(async () => {
|
|
1599
1608
|
this.entry(entryId);
|
|
@@ -1689,6 +1698,22 @@ async function openProjectHistory(options) {
|
|
|
1689
1698
|
throw error;
|
|
1690
1699
|
}
|
|
1691
1700
|
}
|
|
1701
|
+
function readProjectHistory(options) {
|
|
1702
|
+
const dir = resolve3(options.projectDir);
|
|
1703
|
+
const id = readId(dir);
|
|
1704
|
+
const home = id && isRecordedFolder(join5(options.historyRoot, id), statSync3(dir)) ? join5(options.historyRoot, id) : null;
|
|
1705
|
+
const read = home && readLog(logFileIn(home), () => {
|
|
1706
|
+
});
|
|
1707
|
+
const log = withoutHiddenPaths(read || { baseline: /* @__PURE__ */ new Map(), entries: [], pins: /* @__PURE__ */ new Set() });
|
|
1708
|
+
return {
|
|
1709
|
+
list: () => listOf(log),
|
|
1710
|
+
peek: (point) => peekOf(log, point),
|
|
1711
|
+
readBlob: async (hash) => {
|
|
1712
|
+
if (!home) throw new Error("That is not a history blob.");
|
|
1713
|
+
return readBlob(join5(home, "blobs"), hash);
|
|
1714
|
+
}
|
|
1715
|
+
};
|
|
1716
|
+
}
|
|
1692
1717
|
function historyCache(open) {
|
|
1693
1718
|
const histories = /* @__PURE__ */ new Map();
|
|
1694
1719
|
const get = async (projectDir) => {
|
|
@@ -1736,5 +1761,6 @@ export {
|
|
|
1736
1761
|
UNDO_MODES,
|
|
1737
1762
|
HistoryClosedError,
|
|
1738
1763
|
openProjectHistory,
|
|
1764
|
+
readProjectHistory,
|
|
1739
1765
|
historyCache
|
|
1740
1766
|
};
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
import {
|
|
15
15
|
FONT_ALIAS_MAP,
|
|
16
16
|
resolveAliasDisplayName
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-LFNQDTSH.js";
|
|
18
18
|
import {
|
|
19
19
|
parseHTML
|
|
20
20
|
} from "./chunk-SDYDNHEE.js";
|
|
@@ -3848,9 +3848,9 @@ async function systemFamilyFaceRules(lookupFamily, emitFamily, log) {
|
|
|
3848
3848
|
rules.push(buildFontFaceRule(emitFamily, dataUri, variant.weight, variant.style));
|
|
3849
3849
|
}
|
|
3850
3850
|
if (totalBytes > SYSTEM_FONT_SIZE_LIMIT) {
|
|
3851
|
-
log.warn(`[Compiler] System font "${lookupFamily}" is large (${(totalBytes / 1024 / 1024).toFixed(1)} MB total across ${variants.length} variant(s))
|
|
3851
|
+
log.warn(`[Compiler] System font "${lookupFamily}" is large (${(totalBytes / 1024 / 1024).toFixed(1)} MB total across ${variants.length} variant(s)), embedding anyway. Consider font subsetting for production.`);
|
|
3852
3852
|
}
|
|
3853
|
-
log.info(`[Compiler] Embedded system font "${lookupFamily}"
|
|
3853
|
+
log.info(`[Compiler] Embedded system font "${lookupFamily}": ${variants.length} variant(s), ${(totalBytes / 1024).toFixed(0)} KB total`);
|
|
3854
3854
|
return rules;
|
|
3855
3855
|
}
|
|
3856
3856
|
async function resolveFamilyFaceRules(normalizedFamily, lookupFamily, emitFamily, optional, options, fontText) {
|
|
@@ -4064,7 +4064,7 @@ function fontCacheDir(slug) {
|
|
|
4064
4064
|
const fallback = join2(ephemeralFontCacheRoot, slug);
|
|
4065
4065
|
mkdirSync2(fallback, { recursive: true });
|
|
4066
4066
|
if (firstFallback) {
|
|
4067
|
-
STDERR_LOGGER.warn(`Font cache directory is unwritable (${dir}). Using temporary fallback
|
|
4067
|
+
STDERR_LOGGER.warn(`Font cache directory is unwritable (${dir}). Using temporary fallback, so fonts will re-download each run. Fix with: chmod 755 ${resolveFontCacheRoot()}`);
|
|
4068
4068
|
}
|
|
4069
4069
|
return fallback;
|
|
4070
4070
|
}
|
|
@@ -20,13 +20,13 @@ import {
|
|
|
20
20
|
import {
|
|
21
21
|
getPreparedWavDurationSeconds,
|
|
22
22
|
prepareWav
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-CVPWZ5LY.js";
|
|
24
24
|
import {
|
|
25
25
|
emitWords
|
|
26
26
|
} from "./chunk-6IHWCZ3W.js";
|
|
27
27
|
import {
|
|
28
28
|
stoppedByCancelSignal
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-54UXJKFF.js";
|
|
30
30
|
import {
|
|
31
31
|
PARAKEET_MODEL_LABEL,
|
|
32
32
|
SHERPA_ERROR_PREFIX,
|
|
@@ -10,19 +10,19 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
launchManagedBrowser,
|
|
12
12
|
resolveManagedGpuMode
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-XJUZEB44.js";
|
|
14
14
|
import {
|
|
15
15
|
resolveDiagnosticNavigationTimeoutMs,
|
|
16
16
|
windowsChromeCrashRemediation
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-3HSWLZ6S.js";
|
|
18
18
|
import {
|
|
19
19
|
resolveLocalBrowserGpuMode,
|
|
20
20
|
resolveLocalWebGpu
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-SYMSKGXI.js";
|
|
22
22
|
import {
|
|
23
23
|
assertWebGpuAdapterAvailable,
|
|
24
24
|
compositionRequiresWebGpu
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-WU2B74TL.js";
|
|
26
26
|
import {
|
|
27
27
|
normalizeErrorMessage
|
|
28
28
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -52,7 +52,7 @@ function resolveCliChromeGpuMode(envMode = process.env.PRODUCER_BROWSER_GPU_MODE
|
|
|
52
52
|
return resolveLocalBrowserGpuMode(void 0, envMode);
|
|
53
53
|
}
|
|
54
54
|
function compositionRuntimeReadyInBrowser() {
|
|
55
|
-
return Boolean(Reflect.get(window, "__renderReady"));
|
|
55
|
+
return Boolean(Reflect.get(window, "__renderReady")) || typeof Reflect.get(window, "__hfStartupError") === "string";
|
|
56
56
|
}
|
|
57
57
|
function shaderTransitionsReadyInBrowser() {
|
|
58
58
|
function shaderTransitionRegistryReady() {
|
|
@@ -75,8 +75,11 @@ function shaderTransitionsReadyInBrowser() {
|
|
|
75
75
|
}
|
|
76
76
|
return shaderTransitionRegistryReady() ?? shaderLoadingOverlayReady();
|
|
77
77
|
}
|
|
78
|
-
function waitForRuntimeReady(page, timeoutMs) {
|
|
79
|
-
|
|
78
|
+
async function waitForRuntimeReady(page, timeoutMs) {
|
|
79
|
+
const settled = await page.waitForFunction(compositionRuntimeReadyInBrowser, { timeout: timeoutMs }).then(() => true).catch(() => false);
|
|
80
|
+
const startupError = await page.evaluate(() => Reflect.get(window, "__hfStartupError")).catch(() => void 0);
|
|
81
|
+
if (typeof startupError === "string") throw new Error(startupError);
|
|
82
|
+
return settled;
|
|
80
83
|
}
|
|
81
84
|
async function waitForCompositionSettle(page, options) {
|
|
82
85
|
const runtimeReady = await waitForRuntimeReady(page, options.renderReadyTimeoutMs);
|
|
@@ -104,7 +107,7 @@ async function openSettledCompositionPage(html, url, options) {
|
|
|
104
107
|
const { ensureBrowser, findSystemBrowser } = await import("./manager-BPSR6D3V.js");
|
|
105
108
|
const browser = await ensureBrowser();
|
|
106
109
|
const puppeteer = await import("puppeteer-core");
|
|
107
|
-
const { buildChromeArgs } = await import("./src-
|
|
110
|
+
const { buildChromeArgs } = await import("./src-LIERUCFW.js");
|
|
108
111
|
const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
|
|
109
112
|
const requiresWebGpu = compositionRequiresWebGpu(html);
|
|
110
113
|
let softwareWebGpu = false;
|
|
@@ -116,7 +116,7 @@ function resolveSlideshow(manifest, scenes) {
|
|
|
116
116
|
const sequences = {};
|
|
117
117
|
for (const seq of manifest.slideSequences ?? []) {
|
|
118
118
|
if (Object.prototype.hasOwnProperty.call(sequences, seq.id)) {
|
|
119
|
-
errors.push(`duplicate slideSequence id "${seq.id}"
|
|
119
|
+
errors.push(`duplicate slideSequence id "${seq.id}": only the last definition is kept`);
|
|
120
120
|
}
|
|
121
121
|
sequences[seq.id] = {
|
|
122
122
|
id: seq.id,
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
stripEmbeddedRuntimeScripts,
|
|
39
39
|
styleElementsFor,
|
|
40
40
|
warnUnknownEnumValues
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-Z6FLHIDV.js";
|
|
42
42
|
import {
|
|
43
43
|
cssVariableName
|
|
44
44
|
} from "./chunk-VC76R6W2.js";
|
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
} from "./chunk-OFQWTKPW.js";
|
|
49
49
|
import {
|
|
50
50
|
lintHyperframeHtml
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-JDB65PPT.js";
|
|
52
52
|
import {
|
|
53
53
|
checkSubCompositionUsability,
|
|
54
54
|
resolveSubCompositionContent
|
|
@@ -267,6 +267,66 @@ function sanitizeCssValue(value) {
|
|
|
267
267
|
import { AsyncLocalStorage } from "async_hooks";
|
|
268
268
|
import { readFileSync, existsSync, statSync } from "fs";
|
|
269
269
|
import { resolve as resolve2, relative, dirname, isAbsolute, sep } from "path";
|
|
270
|
+
|
|
271
|
+
// ../core/dist/compiler/standaloneEntry.js
|
|
272
|
+
function isTemplateEntry(html) {
|
|
273
|
+
return html.trimStart().startsWith("<template");
|
|
274
|
+
}
|
|
275
|
+
function normalizeCompositionSrcPath(srcPath) {
|
|
276
|
+
return srcPath.replace(/\\/g, "/").replace(/^\.\//, "");
|
|
277
|
+
}
|
|
278
|
+
function readSceneRootDuration(entryHtml) {
|
|
279
|
+
if (!entryHtml)
|
|
280
|
+
return null;
|
|
281
|
+
const { document } = parseHTML(entryHtml);
|
|
282
|
+
const template = document.querySelector("template");
|
|
283
|
+
const scope = template ? parseHTML(template.innerHTML).document : document;
|
|
284
|
+
const root = scope.querySelector("[data-composition-id]");
|
|
285
|
+
return root?.getAttribute("data-duration") ?? null;
|
|
286
|
+
}
|
|
287
|
+
function createStandaloneEntryRenderClone(root, host, sceneDuration) {
|
|
288
|
+
const hostClone = host.cloneNode(true);
|
|
289
|
+
hostClone.setAttribute("data-start", "0");
|
|
290
|
+
if (root === host)
|
|
291
|
+
return hostClone;
|
|
292
|
+
const rootClone = root.cloneNode(false);
|
|
293
|
+
if (sceneDuration != null) {
|
|
294
|
+
rootClone.setAttribute("data-duration", sceneDuration);
|
|
295
|
+
} else {
|
|
296
|
+
rootClone.removeAttribute("data-duration");
|
|
297
|
+
}
|
|
298
|
+
rootClone.appendChild(hostClone);
|
|
299
|
+
return rootClone;
|
|
300
|
+
}
|
|
301
|
+
function replaceBodyWithRenderClone(body, renderClone) {
|
|
302
|
+
const libraries = Array.from(body.children).filter((child) => child.tagName === "SCRIPT" && child.hasAttribute("src"));
|
|
303
|
+
while (body.firstChild) {
|
|
304
|
+
body.removeChild(body.firstChild);
|
|
305
|
+
}
|
|
306
|
+
for (const library of libraries)
|
|
307
|
+
body.appendChild(library);
|
|
308
|
+
body.appendChild(renderClone);
|
|
309
|
+
}
|
|
310
|
+
function extractStandaloneEntryFromIndex(indexHtml, entryFile, entryHtml) {
|
|
311
|
+
const normalizedEntryFile = normalizeCompositionSrcPath(entryFile);
|
|
312
|
+
const { document } = parseHTML(indexHtml);
|
|
313
|
+
const body = document.querySelector("body");
|
|
314
|
+
if (!body)
|
|
315
|
+
return null;
|
|
316
|
+
const hosts = Array.from(document.querySelectorAll("[data-composition-src]"));
|
|
317
|
+
const host = hosts.find((candidate) => normalizeCompositionSrcPath(candidate.getAttribute("data-composition-src") || "") === normalizedEntryFile);
|
|
318
|
+
if (!host)
|
|
319
|
+
return null;
|
|
320
|
+
const root = Array.from(body.children).find((candidate) => candidate.hasAttribute("data-composition-id")) ?? null;
|
|
321
|
+
if (!root)
|
|
322
|
+
return null;
|
|
323
|
+
const sceneDuration = readSceneRootDuration(entryHtml) ?? host.getAttribute("data-duration");
|
|
324
|
+
const renderClone = createStandaloneEntryRenderClone(root, host, sceneDuration);
|
|
325
|
+
replaceBodyWithRenderClone(body, renderClone);
|
|
326
|
+
return document.toString();
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
// ../core/dist/compiler/htmlBundler.js
|
|
270
330
|
import { transformSync } from "esbuild";
|
|
271
331
|
|
|
272
332
|
// ../core/dist/generated/svg-selector-aliases-inline.js
|
|
@@ -2460,23 +2520,31 @@ function bundleToSingleHtml(projectDir, options) {
|
|
|
2460
2520
|
const bundle = () => bundleProject(projectDir, options);
|
|
2461
2521
|
return options?.onRead ? bundleReads.run(options.onRead, bundle) : bundle();
|
|
2462
2522
|
}
|
|
2523
|
+
function readMountedSceneShell(projectDir, entryFile, entryHtml) {
|
|
2524
|
+
if (!isTemplateEntry(entryHtml))
|
|
2525
|
+
return null;
|
|
2526
|
+
const indexHtml = safeReadFile(resolve2(projectDir, "index.html"));
|
|
2527
|
+
return indexHtml === null ? null : extractStandaloneEntryFromIndex(indexHtml, entryFile, entryHtml);
|
|
2528
|
+
}
|
|
2463
2529
|
async function bundleProject(projectDir, options) {
|
|
2464
2530
|
const entryFile = options?.entryFile ?? "index.html";
|
|
2465
2531
|
const indexPath = resolveWithinProject(projectDir, entryFile);
|
|
2466
2532
|
if (!indexPath || !existsSync(indexPath)) {
|
|
2467
2533
|
throw new Error(`${entryFile} not found in project directory`);
|
|
2468
2534
|
}
|
|
2469
|
-
|
|
2535
|
+
noteRead(indexPath);
|
|
2536
|
+
const entryHtml = readFileSync(indexPath, "utf-8");
|
|
2537
|
+
const mountedShell = readMountedSceneShell(projectDir, entryFile, entryHtml);
|
|
2538
|
+
const sourceDir = mountedShell ? projectDir : dirname(indexPath);
|
|
2470
2539
|
const resolveEntryPath = (relativePath) => {
|
|
2471
2540
|
const resolved = resolve2(sourceDir, relativePath);
|
|
2472
2541
|
return isSafePath(projectDir, resolved) ? resolved : null;
|
|
2473
2542
|
};
|
|
2474
2543
|
const resolveEntryUrl = (url) => resolveEntryPath(decodedUrlPath(url));
|
|
2475
2544
|
const readSource = options?.stampHfIds ? ensureHfIds : (html) => html;
|
|
2476
|
-
|
|
2477
|
-
const rawHtml = readSource(readFileSync(indexPath, "utf-8"));
|
|
2545
|
+
const rawHtml = readSource(mountedShell ?? entryHtml);
|
|
2478
2546
|
const compiled = await compileHtml(rawHtml, sourceDir, options?.probeMediaDuration);
|
|
2479
|
-
if (options?.staticGuard !== false) {
|
|
2547
|
+
if (options?.staticGuard !== false && !mountedShell) {
|
|
2480
2548
|
const staticGuard = await validateHyperframeHtmlContract(compiled);
|
|
2481
2549
|
if (!staticGuard.isValid) {
|
|
2482
2550
|
console.warn(`[StaticGuard] Invalid HyperFrame contract: ${staticGuard.missingKeys.join("; ")}`);
|
|
@@ -3017,6 +3085,8 @@ export {
|
|
|
3017
3085
|
ensureExternalScriptTag,
|
|
3018
3086
|
emitMountedModuleScripts,
|
|
3019
3087
|
FLATTENED_INNER_ROOT_STRIP_ATTRS,
|
|
3088
|
+
isTemplateEntry,
|
|
3089
|
+
extractStandaloneEntryFromIndex,
|
|
3020
3090
|
scopeCssToComposition,
|
|
3021
3091
|
wrapScopedCompositionScript,
|
|
3022
3092
|
buildVariablesByCompScript,
|