hyperframes 0.8.105 → 0.8.107
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-T5E7MPPC.js → add-DXZ3HNQI.js} +16 -16
- package/dist/{animatedGifPrep-RZVYVAXD.js → animatedGifPrep-2IQB4DGE.js} +7 -7
- package/dist/{asset-PGS53LQZ.js → asset-KZIG3MZN.js} +2 -2
- package/dist/{assetCataloger-BQREHRS2.js → assetCataloger-4GE6PIUA.js} +3 -3
- package/dist/{auth-LRMHJJNK.js → auth-5IYF3H67.js} +2 -2
- package/dist/{autoUpdate-5BJILZLR.js → autoUpdate-5C3FXM6Y.js} +2 -2
- package/dist/{backgroundChecks-NAULCOWW.js → backgroundChecks-75WGW4NB.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-AQN5PRXM.js → batchRender-FKKS3YBX.js} +4 -4
- package/dist/{beats-EJXI72VZ.js → beats-ISR36NSK.js} +11 -11
- package/dist/{benchmark-OMWVHLP5.js → benchmark-U6TQ6DS2.js} +13 -13
- package/dist/{browser-LACY5DMP.js → browser-VDS6QAVA.js} +10 -10
- package/dist/{bundleWithLocalizedFonts-JKJKZR2S.js → bundleWithLocalizedFonts-PMWWW5YG.js} +2 -2
- package/dist/{capture-5BCJWVC7.js → capture-5KE34KCD.js} +2 -2
- package/dist/{capture-QYLHIYKJ.js → capture-BKA3UCZS.js} +8 -8
- package/dist/{catalog-EWOHOXCM.js → catalog-ZXOSU27O.js} +16 -16
- package/dist/{check-QYNXFJLM.js → check-MZMZCXPN.js} +31 -31
- package/dist/{checkBrowser-JLDJXTIE.js → checkBrowser-UIZJXYCQ.js} +30 -30
- package/dist/{chunk-G6UGQROF.js → chunk-3CYAZWF2.js} +3 -3
- package/dist/{chunk-TMLEIURT.js → chunk-3LBFLW7E.js} +1 -1
- package/dist/{chunk-JXXE3SWC.js → chunk-3WG63KFW.js} +11 -11
- package/dist/{chunk-7QGIB2E6.js → chunk-4DJXCVQJ.js} +89 -26
- package/dist/{chunk-I77CAR4W.js → chunk-4W4UDPCH.js} +2 -2
- package/dist/{chunk-PB2OX2JY.js → chunk-6QWHIARJ.js} +1 -1
- package/dist/{chunk-4WAMN4IF.js → chunk-73VPF3SS.js} +1 -1
- package/dist/{chunk-XPWG62TS.js → chunk-7BI5BYMQ.js} +5 -5
- package/dist/{chunk-NQBC63W4.js → chunk-ADP6TMYP.js} +8 -8
- package/dist/{chunk-X2Z6QWK4.js → chunk-AO4PBESP.js} +7 -7
- package/dist/{chunk-TYA65W4U.js → chunk-BRTGJ73L.js} +2 -2
- package/dist/{chunk-PUB5XZYL.js → chunk-C3KEF3UA.js} +1 -1
- package/dist/{chunk-VW5OMJNG.js → chunk-D5EJCP26.js} +14 -10
- package/dist/{chunk-Y2CZEJPK.js → chunk-FLUBCMNT.js} +2 -2
- package/dist/{chunk-E5HKS3CE.js → chunk-GLTHJJIF.js} +2 -2
- package/dist/{chunk-7KERLNFV.js → chunk-HGL4WJDI.js} +9 -9
- package/dist/{chunk-HFFR7TN7.js → chunk-HJCTKNXF.js} +2 -1
- package/dist/{chunk-5PXBK5OR.js → chunk-I73Z6OOE.js} +1 -1
- package/dist/{chunk-NY3VE4ZM.js → chunk-J6CSEDK7.js} +4 -4
- package/dist/{chunk-USWOTTSP.js → chunk-JNY3VJWB.js} +1 -1
- package/dist/{chunk-XE6ZAXKT.js → chunk-KTPQ67TX.js} +1 -1
- package/dist/{chunk-ZIS7YLUG.js → chunk-L7XDI3DT.js} +1 -1
- package/dist/{chunk-6CN2QLB5.js → chunk-NHTRUAMD.js} +1 -1
- package/dist/{chunk-GKAY45RV.js → chunk-NX6G66F4.js} +2 -2
- package/dist/{chunk-XNLURYK3.js → chunk-OGTR33KN.js} +2 -2
- package/dist/{chunk-HUHJYNST.js → chunk-P7XRDAWU.js} +1 -1
- package/dist/{chunk-FOKUJKBN.js → chunk-PMLZPNIB.js} +13 -2
- package/dist/{chunk-6F6EEQNB.js → chunk-PSGDNMM6.js} +1 -1
- package/dist/{chunk-O5TBFZ7X.js → chunk-PU2IOWX4.js} +2 -2
- package/dist/{chunk-AZQLJHAO.js → chunk-PZTEY73C.js} +1 -1
- package/dist/{chunk-XZSH5GS7.js → chunk-QH6UFY2O.js} +4 -4
- package/dist/{chunk-UVUAU3CH.js → chunk-QM2NUN2B.js} +47 -25
- package/dist/{chunk-TH4APNRP.js → chunk-R4IB642V.js} +2 -2
- package/dist/{chunk-GOI4GCUB.js → chunk-SGBOZ2HF.js} +1 -1
- package/dist/{chunk-JOJZOSHT.js → chunk-SKPL32FI.js} +1 -1
- package/dist/{chunk-IQ4UCWV7.js → chunk-T3BOWXPX.js} +1 -1
- package/dist/{chunk-ELDDZYIJ.js → chunk-T4Z4UNSX.js} +3 -3
- package/dist/{chunk-G5VIPKL3.js → chunk-TI5Z4SWP.js} +3 -3
- package/dist/{chunk-OPPUOGKQ.js → chunk-TPPIERG3.js} +3 -3
- package/dist/{chunk-TLYU5625.js → chunk-UUDQD62L.js} +6 -6
- package/dist/{chunk-TEXPOC5V.js → chunk-VMDEGITC.js} +2 -2
- package/dist/{chunk-I6M4GXMC.js → chunk-WBVPQC7J.js} +1 -1
- package/dist/{chunk-4Z5O7BTD.js → chunk-WEATBQTR.js} +10 -1
- package/dist/{chunk-R5RF3LGS.js → chunk-XMAL2A7Y.js} +1 -1
- package/dist/{chunk-WNY6NRJS.js → chunk-YVEZT6WT.js} +1 -1
- package/dist/{chunk-M4KS6MJN.js → chunk-YY5J75H5.js} +4 -4
- package/dist/{chunk-32Y3HRS3.js → chunk-Z4UAXNWV.js} +2 -2
- package/dist/{clean-N7KKGD37.js → clean-46MZVA37.js} +16 -16
- package/dist/cli.js +50 -50
- package/dist/{cloud-O5DAKL3R.js → cloud-GAZQGPCW.js} +4 -4
- package/dist/{cloudrun-ISE6GSUO.js → cloudrun-ZWL7SLDD.js} +5 -5
- package/dist/{compare-QF6ODCLD.js → compare-66AAJESM.js} +25 -25
- package/dist/{compiler-QMEZK6CU.js → compiler-3N7XQRH6.js} +3 -3
- package/dist/{component-KDNOQ32H.js → component-3OCOHK2B.js} +3 -3
- package/dist/{compositions-LN575R5Q.js → compositions-H2BP4N6F.js} +12 -12
- package/dist/{delete-CN2V2NOZ.js → delete-WNJLVPGO.js} +4 -4
- package/dist/{deterministicFonts-XS3PGWH5.js → deterministicFonts-A4CNCSAL.js} +2 -2
- package/dist/{dist-E44WU6LH.js → dist-AY2RBEXL.js} +1 -1
- package/dist/{dist-R24TLUYO.js → dist-HSEMXPG3.js} +3 -3
- package/dist/docs/data-attributes.md +1 -1
- package/dist/{doctor-SW5CCD4X.js → doctor-IFOZS45N.js} +11 -11
- package/dist/{events-NKZLTCL5.js → events-5EKFJCCZ.js} +9 -9
- package/dist/{events-ED7Q2KUG.js → events-6TH3FU3F.js} +10 -10
- package/dist/{feedback-ZKTEKQCK.js → feedback-QRQNMORT.js} +11 -11
- package/dist/{figma-G4FG4QPG.js → figma-WONEPLUQ.js} +3 -3
- package/dist/fontLocalizeCli.js +10 -10
- package/dist/{get-VSDEJN4A.js → get-C7FCYNI2.js} +4 -4
- package/dist/{gpuPolicy-BQFPO7UA.js → gpuPolicy-BXXQF3VC.js} +7 -7
- package/dist/{grade-compare-524UCTFO.js → grade-compare-SCCSZ5P3.js} +25 -25
- package/dist/{gsapParser-EZGJSSV5.js → gsapParser-KVMPC2SC.js} +5 -1
- package/dist/{help-6VH3LD5L.js → help-FJOUNXVD.js} +1 -1
- package/dist/{history-LOACVJ3M.js → history-OZY36NEC.js} +16 -16
- package/dist/hyperframe-runtime.js +10 -10
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +10 -10
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-HRMOTDNZ.js → info-RG4SZQ2C.js} +12 -12
- package/dist/{init-ESQK7YLX.js → init-YGZCDKSS.js} +98 -42
- package/dist/{inspect-5B73WWHL.js → inspect-X547EZ4I.js} +26 -26
- package/dist/{installer-UZSVMUKT.js → installer-6J24NTIV.js} +5 -5
- package/dist/{keyframes-OGR6NHYQ.js → keyframes-EIWEION2.js} +13 -13
- package/dist/{lambda-U4WIJQCJ.js → lambda-DSZDMP7P.js} +6 -6
- package/dist/{layout-KOOH4XAF.js → layout-B7KCBLBH.js} +26 -26
- package/dist/{lint-5UUJRRN6.js → lint-RBDG4ERJ.js} +13 -13
- package/dist/{lintProject-4P4C6AN2.js → lintProject-CMPAR7BS.js} +1 -1
- package/dist/{list-MWAA4GQZ.js → list-BPHPHLDJ.js} +4 -4
- package/dist/{login-XBHMRXYM.js → login-HV7KBW2J.js} +4 -4
- package/dist/{media-treatment-VIOH3P6E.js → media-treatment-RS6BZSQC.js} +13 -13
- package/dist/{models-LXUIU5DC.js → models-K4U7GRXV.js} +8 -8
- package/dist/{motionShot-TGJGSYGV.js → motionShot-5AI2DALY.js} +11 -11
- package/dist/{normalize-audio-SJSFIAO6.js → normalize-audio-J2PG6YXH.js} +11 -11
- package/dist/{pipeline-OFFKTFXS.js → pipeline-HIUESSET.js} +7 -7
- package/dist/{play-RHJNOV3U.js → play-TTLQXBAH.js} +21 -21
- package/dist/{preflight-TVCVP5P2.js → preflight-63ODQ625.js} +8 -8
- package/dist/{present-2U6JUHHO.js → present-XKGZ26FQ.js} +17 -17
- package/dist/{preview-SLNIYMPZ.js → preview-O2YEKMYJ.js} +18 -18
- package/dist/{producer-LGG3TOUI.js → producer-ZTQIJO7E.js} +1 -1
- package/dist/{projectConfig-V53SEFIS.js → projectConfig-VVFH7XW5.js} +7 -7
- package/dist/{publication-7RKKPKLM.js → publication-NALPAHDC.js} +3 -3
- package/dist/{publish-TRRFCEMQ.js → publish-G7OL45EL.js} +9 -9
- package/dist/{remove-background-HJFT46Z5.js → remove-background-LOLKFKLT.js} +8 -8
- package/dist/{render-VLO7CATD.js → render-EXSRG666.js} +22 -22
- package/dist/{render-TPZ5FXHS.js → render-I65IU7RM.js} +4 -4
- package/dist/{render-T5F5WONV.js → render-ULQLUIWD.js} +15 -15
- package/dist/{render-batch-4ZF5C2LN.js → render-batch-RSNCREPB.js} +4 -4
- package/dist/{renderCancellation-4PYGAN5D.js → renderCancellation-2WB4SGXR.js} +7 -7
- package/dist/renderSetupWorker.js +1 -1
- package/dist/{resolver-4JRJPC6S.js → resolver-CVN2IM2R.js} +5 -5
- package/dist/{sherpa-MNCWRFD4.js → sherpa-OJUI54HG.js} +10 -10
- package/dist/{skills-BRZ2RE6U.js → skills-CPS5E5YP.js} +12 -12
- package/dist/{skillsUpdateCheck-W7VIJZ3E.js → skillsUpdateCheck-3IT5CJWU.js} +3 -3
- package/dist/{snapshot-7XKYXNTY.js → snapshot-MSGC7HTA.js} +26 -26
- package/dist/{src-QF6RYX76.js → src-EZBJT4VH.js} +9 -9
- package/dist/{src-QX5PPANW.js → src-SV7CNZXN.js} +6 -6
- package/dist/{staticProjectServer-QDLEH37G.js → staticProjectServer-5JAGMYT7.js} +15 -15
- package/dist/{status-C3IDZFDG.js → status-4W3EJYEH.js} +7 -7
- package/dist/studio/assets/{hyperframes-player-tnfCiVdR.js → hyperframes-player-h4mktSdm.js} +1 -1
- package/dist/studio/assets/index-CM1xA_jD.js +394 -0
- package/dist/studio/assets/{index-Ca6LZlVb.js → index-D8GKc2D9.js} +1 -1
- package/dist/studio/assets/index-lrT-gfHa.css +1 -0
- package/dist/studio/assets/{index-zpe332hb.js → index-zoqPmBF6.js} +1 -1
- package/dist/studio/{chunk-QADHJFDF.js → chunk-4OZC426H.js} +13 -3
- package/dist/studio/chunk-4OZC426H.js.map +1 -0
- package/dist/studio/index.d.ts +381 -14
- package/dist/studio/index.html +11 -2
- package/dist/studio/index.js +9974 -9045
- package/dist/studio/index.js.map +1 -1
- package/dist/studio/player.js +1 -1
- package/dist/studio/styles.css +1 -1
- package/dist/{studio-api-RMDM77U2.js → studio-api-L2TJ2JTK.js} +9 -9
- package/dist/{studioServer-D6K4QZ4X.js → studioServer-UV7YRYWN.js} +42 -41
- package/dist/{system-OAB2LYBV.js → system-OL4MXRPK.js} +7 -7
- package/dist/{telemetry-NW4YAF5W.js → telemetry-WRUU725E.js} +10 -10
- package/dist/templates/_shared/AGENTS.md +1 -1
- package/dist/templates/_shared/CLAUDE.md +1 -1
- package/dist/templates/from-file/index.html +3 -2
- package/dist/templates/warm-grain/index.html +2 -10
- package/dist/{timeline-XHUHQBFU.js → timeline-P43A53BW.js} +16 -16
- package/dist/{tokens-HJ2O6BAG.js → tokens-NUHTJM2V.js} +2 -2
- package/dist/{transcribe-C2QRBPP2.js → transcribe-FSVNIFGF.js} +13 -13
- package/dist/{transcribe-AL3E5MBZ.js → transcribe-TRLZJK73.js} +10 -8
- package/dist/{updateCheck-DBLXK73Z.js → updateCheck-33TAG46I.js} +2 -2
- package/dist/{upgrade-CUGQ5WJI.js → upgrade-AJ6QBTH2.js} +2 -2
- package/dist/{urlDownloader-U3TNOPD5.js → urlDownloader-MP6GJIDV.js} +6 -6
- package/dist/{validate-KZQ7DWIR.js → validate-VL3A6VTJ.js} +16 -16
- package/dist/{video-KAHL76HG.js → video-KO7VT63P.js} +7 -7
- package/package.json +1 -1
- package/dist/studio/assets/index-Cre9X4RS.css +0 -1
- package/dist/studio/assets/index-DEDhPmPD.js +0 -399
- package/dist/studio/chunk-QADHJFDF.js.map +0 -1
|
@@ -15,11 +15,13 @@ import {
|
|
|
15
15
|
splitElementInHtml,
|
|
16
16
|
unwrapElementsFromHtml,
|
|
17
17
|
wrapElementsInHtml
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-YY5J75H5.js";
|
|
19
19
|
import {
|
|
20
|
+
atomicTempPath,
|
|
20
21
|
createFileAtomically,
|
|
22
|
+
isAtomicTempPath,
|
|
21
23
|
replaceFileAtomically
|
|
22
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-WEATBQTR.js";
|
|
23
25
|
import {
|
|
24
26
|
PROXY_PARAMS_VERSION,
|
|
25
27
|
PROXY_PENDING_RETRY_AFTER_SECONDS,
|
|
@@ -45,7 +47,7 @@ import {
|
|
|
45
47
|
shouldPrewarmProxy,
|
|
46
48
|
waitForProxy,
|
|
47
49
|
walkDir
|
|
48
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-PU2IOWX4.js";
|
|
49
51
|
import {
|
|
50
52
|
findTimelineScript,
|
|
51
53
|
parseGsapScriptAcorn
|
|
@@ -64,16 +66,16 @@ import {
|
|
|
64
66
|
formatRenderOutputTimestamp,
|
|
65
67
|
parseFps,
|
|
66
68
|
sameInstant
|
|
67
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-VMDEGITC.js";
|
|
68
70
|
import {
|
|
69
71
|
MagicString,
|
|
70
72
|
VALID_CANVAS_RESOLUTIONS,
|
|
71
73
|
unrollComputedTimeline
|
|
72
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-UUDQD62L.js";
|
|
73
75
|
import {
|
|
74
76
|
addScenePartsManifest,
|
|
75
77
|
ensureHfIds
|
|
76
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-R4IB642V.js";
|
|
77
79
|
import {
|
|
78
80
|
findStartTags,
|
|
79
81
|
injectScriptsIntoHtml,
|
|
@@ -81,7 +83,7 @@ import {
|
|
|
81
83
|
insertBeforeCloseTag,
|
|
82
84
|
isFullHtmlDocument,
|
|
83
85
|
stripEmbeddedRuntimeScripts
|
|
84
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-PMLZPNIB.js";
|
|
85
87
|
import {
|
|
86
88
|
ProjectRootMissingError,
|
|
87
89
|
folderGone,
|
|
@@ -94,7 +96,7 @@ import {
|
|
|
94
96
|
import {
|
|
95
97
|
isWithinProjectRoot,
|
|
96
98
|
readProjectFile
|
|
97
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-QM2NUN2B.js";
|
|
98
100
|
import {
|
|
99
101
|
FFPROBE_PATH_ENV,
|
|
100
102
|
findFfBinary
|
|
@@ -198,7 +200,7 @@ function stampFileHfIds(filePath) {
|
|
|
198
200
|
}
|
|
199
201
|
}
|
|
200
202
|
|
|
201
|
-
// ../studio-server/dist/chunk-
|
|
203
|
+
// ../studio-server/dist/chunk-KUEG5MYA.js
|
|
202
204
|
import { randomUUID as randomUUID6 } from "crypto";
|
|
203
205
|
import { mkdir as mkdir2, readdir as readdir3, rm as rm3, rmdir, writeFile } from "fs/promises";
|
|
204
206
|
import {
|
|
@@ -269,7 +271,11 @@ function recordFileWriteReceipt(filePath, { overwrote, ...receipt }) {
|
|
|
269
271
|
if (live.length > 0) receipts.set(path, live);
|
|
270
272
|
else receipts.delete(path);
|
|
271
273
|
}
|
|
272
|
-
|
|
274
|
+
const from = overwrote === void 0 ? void 0 : fileContentVersion(overwrote);
|
|
275
|
+
receipts.set(absPath, [
|
|
276
|
+
...receipts.get(absPath) ?? [],
|
|
277
|
+
{ ...receipt, ...from && { from }, recordedAt: now }
|
|
278
|
+
]);
|
|
273
279
|
}
|
|
274
280
|
function clearFileWriteReceipt(filePath, version, writeToken) {
|
|
275
281
|
const absPath = realFilePath(filePath);
|
|
@@ -282,8 +288,8 @@ function clearFileWriteReceipt(filePath, version, writeToken) {
|
|
|
282
288
|
function identifyFileWrite(filePath, expectedVersion) {
|
|
283
289
|
const receipt = newestReceipt(realFilePath(filePath), expectedVersion);
|
|
284
290
|
if (!receipt) return null;
|
|
285
|
-
const { path, version, writeToken } = receipt;
|
|
286
|
-
return { path, version, writeToken };
|
|
291
|
+
const { path, version, writeToken, from } = receipt;
|
|
292
|
+
return { path, version, writeToken, ...from && { from } };
|
|
287
293
|
}
|
|
288
294
|
function newestReceipt(absPath, expectedVersion) {
|
|
289
295
|
const now = Date.now();
|
|
@@ -334,7 +340,7 @@ var STUDIO_SIGNATURE_MANIFEST_PATHS = [
|
|
|
334
340
|
];
|
|
335
341
|
function affectsProjectSignature(projectDir, changedPath) {
|
|
336
342
|
const relativePath = relative(resolve(projectDir), resolve(changedPath));
|
|
337
|
-
if (relativePath === "" || relativePath.startsWith("..") || isAbsolute(relativePath)) {
|
|
343
|
+
if (relativePath === "" || relativePath.startsWith("..") || isAbsolute(relativePath) || isAtomicTempPath(relativePath)) {
|
|
338
344
|
return false;
|
|
339
345
|
}
|
|
340
346
|
const segments = relativePath.split(sep);
|
|
@@ -342,6 +348,7 @@ function affectsProjectSignature(projectDir, changedPath) {
|
|
|
342
348
|
return !segments.some((segment) => SIGNATURE_EXCLUDED_DIRS.has(segment));
|
|
343
349
|
}
|
|
344
350
|
var projectSignatureCache = /* @__PURE__ */ new Map();
|
|
351
|
+
var COARSEST_FILE_TIME_TICK_MS = 2e3;
|
|
345
352
|
function isPathWithin(parentDir, childPath) {
|
|
346
353
|
const childRelativePath = relative(parentDir, childPath);
|
|
347
354
|
return childRelativePath === "" || !childRelativePath.startsWith("..") && !isAbsolute(childRelativePath);
|
|
@@ -349,6 +356,7 @@ function isPathWithin(parentDir, childPath) {
|
|
|
349
356
|
function isTextContentEligible(file, size) {
|
|
350
357
|
return SIGNATURE_TEXT_EXTENSIONS.has(extname(file).toLowerCase()) && size <= MAX_SIGNATURE_TEXT_BYTES;
|
|
351
358
|
}
|
|
359
|
+
var isSkippedEntry = (entry) => SIGNATURE_EXCLUDED_DIRS.has(entry) || isAtomicTempPath(entry);
|
|
352
360
|
function collectProjectSignatureFiles(projectDir, dir, files) {
|
|
353
361
|
let entries;
|
|
354
362
|
try {
|
|
@@ -357,7 +365,7 @@ function collectProjectSignatureFiles(projectDir, dir, files) {
|
|
|
357
365
|
return;
|
|
358
366
|
}
|
|
359
367
|
for (const entry of entries) {
|
|
360
|
-
if (
|
|
368
|
+
if (isSkippedEntry(entry)) continue;
|
|
361
369
|
const file = resolve(dir, entry);
|
|
362
370
|
if (!isPathWithin(projectDir, file)) continue;
|
|
363
371
|
let stat22;
|
|
@@ -443,6 +451,7 @@ async function resolveProjectAndSignature(adapter, projectId) {
|
|
|
443
451
|
}
|
|
444
452
|
function createProjectSignature(projectDir, excluding = /* @__PURE__ */ new Set()) {
|
|
445
453
|
const normalizedProjectDir = resolve(projectDir);
|
|
454
|
+
const signedAt = Date.now();
|
|
446
455
|
const collected = collectProjectFiles(normalizedProjectDir);
|
|
447
456
|
const files = collected.filter(
|
|
448
457
|
(entry) => !excluding.has(relative(normalizedProjectDir, entry.file).split(sep).join("/"))
|
|
@@ -471,7 +480,10 @@ function createProjectSignature(projectDir, excluding = /* @__PURE__ */ new Set(
|
|
|
471
480
|
hash.update("\0");
|
|
472
481
|
}
|
|
473
482
|
const signature = hash.digest("hex").slice(0, 24);
|
|
474
|
-
|
|
483
|
+
const settledATickBeforeSigning = files.every(
|
|
484
|
+
(entry) => Math.max(entry.mtimeMs, entry.ctimeMs) < signedAt - COARSEST_FILE_TIME_TICK_MS
|
|
485
|
+
);
|
|
486
|
+
if (settledATickBeforeSigning) projectSignatureCache.set(cacheKey, { fingerprint, signature });
|
|
475
487
|
return signature;
|
|
476
488
|
}
|
|
477
489
|
var BLOB_HASH = /^[0-9a-f]{64}$/;
|
|
@@ -482,7 +494,7 @@ async function hashFile(path) {
|
|
|
482
494
|
}
|
|
483
495
|
async function cloneOrCopy(from, to, beforeReplace) {
|
|
484
496
|
await mkdir(dirname2(to), { recursive: true });
|
|
485
|
-
const temp =
|
|
497
|
+
const temp = atomicTempPath(to);
|
|
486
498
|
try {
|
|
487
499
|
await copyFile(from, temp, constants2.COPYFILE_FICLONE);
|
|
488
500
|
beforeReplace?.();
|
|
@@ -2124,6 +2136,10 @@ var PROP_TO_GROUP2 = /* @__PURE__ */ new Map();
|
|
|
2124
2136
|
for (const [group, props] of Object.entries(PROPERTY_GROUPS2)) {
|
|
2125
2137
|
for (const p of props) PROP_TO_GROUP2.set(p, group);
|
|
2126
2138
|
}
|
|
2139
|
+
function isXYPositionWrite(a) {
|
|
2140
|
+
const xy = (props) => !!props && ("x" in props || "y" in props);
|
|
2141
|
+
return a.propertyGroup === "position" && (xy(a.properties) || xy(a.fromProperties) || !!a.keyframes?.keyframes.some((k) => xy(k.properties)));
|
|
2142
|
+
}
|
|
2127
2143
|
function classifyPropertyGroup2(prop) {
|
|
2128
2144
|
return PROP_TO_GROUP2.get(prop) ?? "other";
|
|
2129
2145
|
}
|
|
@@ -3736,7 +3752,7 @@ function dedupePositionWritesInScript(script, selector, keepId) {
|
|
|
3736
3752
|
const parsed = parseGsapScriptAcornForWrite(script);
|
|
3737
3753
|
if (!parsed) return script;
|
|
3738
3754
|
const posWrites = parsed.located.filter(
|
|
3739
|
-
(l) => l.animation.targetSelector === selector && l.animation
|
|
3755
|
+
(l) => l.animation.targetSelector === selector && isXYPositionWrite(l.animation)
|
|
3740
3756
|
);
|
|
3741
3757
|
if (posWrites.length <= 1) return script;
|
|
3742
3758
|
const keeper = posWrites.find((l) => l.id === keepId) ?? posWrites[posWrites.length - 1];
|
|
@@ -5496,6 +5512,29 @@ function assertExpectedVersion(mutation, current) {
|
|
|
5496
5512
|
const stale = mutation.expectedVersion === void 0 ? current !== mutation.before : fileContentVersion(current) !== mutation.expectedVersion;
|
|
5497
5513
|
if (stale) throw new FileChangedError(mutation.sourceFile);
|
|
5498
5514
|
}
|
|
5515
|
+
var FONT_STYLE_RE = /<style\b[^>]*data-hf-studio-fonts=(["'])true\1[^>]*>([\s\S]*?)<\/style>/i;
|
|
5516
|
+
var ONE_FONT_FACE_RULE = /^@font-face \{(?:[^{}<"'\\]|"(?:[^"\\<\n\r\f]|\\[^<\n\r\f])*"|'(?:[^'\\<\n\r\f]|\\[^<\n\r\f])*')*\}$/;
|
|
5517
|
+
function isStudioFontFaceCss(css) {
|
|
5518
|
+
return typeof css === "string" && ONE_FONT_FACE_RULE.test(css);
|
|
5519
|
+
}
|
|
5520
|
+
function ensureStudioFontFaceCss(html, css) {
|
|
5521
|
+
if (html.includes(css)) return html;
|
|
5522
|
+
const block = FONT_STYLE_RE.exec(html);
|
|
5523
|
+
if (block) {
|
|
5524
|
+
const next = `${(block[2] ?? "").trim()}
|
|
5525
|
+
${css}`.trim();
|
|
5526
|
+
return html.replace(block[0], () => `<style data-hf-studio-fonts="true">
|
|
5527
|
+
${next}
|
|
5528
|
+
</style>`);
|
|
5529
|
+
}
|
|
5530
|
+
const styleTag = `<style data-hf-studio-fonts="true">
|
|
5531
|
+
${css}
|
|
5532
|
+
</style>`;
|
|
5533
|
+
if (/<\/head>/i.test(html)) return html.replace(/<\/head>/i, () => ` ${styleTag}
|
|
5534
|
+
</head>`);
|
|
5535
|
+
return `${styleTag}
|
|
5536
|
+
${html}`;
|
|
5537
|
+
}
|
|
5499
5538
|
var CompositionInsertionError = class extends Error {
|
|
5500
5539
|
constructor(message, status) {
|
|
5501
5540
|
super(message);
|
|
@@ -5755,7 +5794,7 @@ function requestSubPath(url, route) {
|
|
|
5755
5794
|
return decodeURIComponent(segments.slice(start + routeSegments.length).join("/"));
|
|
5756
5795
|
}
|
|
5757
5796
|
async function loadGsapParser() {
|
|
5758
|
-
return import("./gsapParser-
|
|
5797
|
+
return import("./gsapParser-KVMPC2SC.js");
|
|
5759
5798
|
}
|
|
5760
5799
|
function isDanglingSymlinkInProject(projectDir, lexicalPath) {
|
|
5761
5800
|
if (!isSafePath(projectDir, dirname32(lexicalPath))) return false;
|
|
@@ -6004,7 +6043,7 @@ function generateCopyPath(projectDir, originalPath) {
|
|
|
6004
6043
|
}
|
|
6005
6044
|
function walkFiles(dir, filter) {
|
|
6006
6045
|
const results = [];
|
|
6007
|
-
for (const entry of
|
|
6046
|
+
for (const entry of readableEntries(dir)) {
|
|
6008
6047
|
const full2 = join52(dir, entry.name);
|
|
6009
6048
|
if (entry.isDirectory()) {
|
|
6010
6049
|
if (entry.name === "node_modules" || entry.name === ".thumbnails" || entry.name === "renders" || entry.name === ".transcode-cache")
|
|
@@ -6016,6 +6055,26 @@ function walkFiles(dir, filter) {
|
|
|
6016
6055
|
}
|
|
6017
6056
|
return results;
|
|
6018
6057
|
}
|
|
6058
|
+
var SKIPPED_ENTRY = /* @__PURE__ */ new Set(["EACCES", "EPERM", "ENOENT"]);
|
|
6059
|
+
function skippable(error) {
|
|
6060
|
+
return error instanceof Error && SKIPPED_ENTRY.has(error.code ?? "");
|
|
6061
|
+
}
|
|
6062
|
+
function readableEntries(dir) {
|
|
6063
|
+
try {
|
|
6064
|
+
return readdirSync22(dir, { withFileTypes: true });
|
|
6065
|
+
} catch (error) {
|
|
6066
|
+
if (skippable(error)) return [];
|
|
6067
|
+
throw error;
|
|
6068
|
+
}
|
|
6069
|
+
}
|
|
6070
|
+
function readableText(file) {
|
|
6071
|
+
try {
|
|
6072
|
+
return readFileSync32(file, "utf-8");
|
|
6073
|
+
} catch (error) {
|
|
6074
|
+
if (skippable(error)) return null;
|
|
6075
|
+
throw error;
|
|
6076
|
+
}
|
|
6077
|
+
}
|
|
6019
6078
|
function updateReferences(projectDir, oldPath, newPath) {
|
|
6020
6079
|
const textFiles = walkFiles(
|
|
6021
6080
|
projectDir,
|
|
@@ -6024,7 +6083,8 @@ function updateReferences(projectDir, oldPath, newPath) {
|
|
|
6024
6083
|
let updatedCount = 0;
|
|
6025
6084
|
for (const file of textFiles) {
|
|
6026
6085
|
if (!isSafePath(projectDir, file)) continue;
|
|
6027
|
-
const content =
|
|
6086
|
+
const content = readableText(file);
|
|
6087
|
+
if (content === null) continue;
|
|
6028
6088
|
if (!content.includes(oldPath)) continue;
|
|
6029
6089
|
const updated = content.split(oldPath).join(newPath);
|
|
6030
6090
|
if (updated !== content) {
|
|
@@ -6300,7 +6360,7 @@ async function prepareGsapMutationScript(c, res, firstMutation) {
|
|
|
6300
6360
|
let block = extractGsapScriptBlock(html);
|
|
6301
6361
|
if (!block && (firstMutation.type === "add" || firstMutation.type === "add-with-keyframes")) {
|
|
6302
6362
|
const compId = html.match(/data-composition-id="([^"]+)"/)?.[1] ?? "main";
|
|
6303
|
-
const { GSAP_CDN } = await import("./dist-
|
|
6363
|
+
const { GSAP_CDN } = await import("./dist-HSEMXPG3.js");
|
|
6304
6364
|
const bootstrap = [
|
|
6305
6365
|
`<script src="${GSAP_CDN}"></script>`,
|
|
6306
6366
|
"<script>",
|
|
@@ -6310,6 +6370,7 @@ async function prepareGsapMutationScript(c, res, firstMutation) {
|
|
|
6310
6370
|
"</script>"
|
|
6311
6371
|
].join("\n");
|
|
6312
6372
|
html = insertBeforeCloseTag(html, "body", `${bootstrap}
|
|
6373
|
+
`) ?? insertBeforeCloseTag(html, "template", `${bootstrap}
|
|
6313
6374
|
`) ?? `${html}
|
|
6314
6375
|
${bootstrap}`;
|
|
6315
6376
|
block = extractGsapScriptBlock(html);
|
|
@@ -7638,6 +7699,10 @@ function registerFileRoutes(api, adapter) {
|
|
|
7638
7699
|
if (!Array.isArray(parsed.body.operations) || parsed.body.operations.length === 0) {
|
|
7639
7700
|
return c.json({ error: "target and operations required" }, 400);
|
|
7640
7701
|
}
|
|
7702
|
+
const { fontFaceCss } = parsed.body;
|
|
7703
|
+
if (fontFaceCss !== void 0 && !isStudioFontFaceCss(fontFaceCss)) {
|
|
7704
|
+
return c.json({ error: "fontFaceCss must be one @font-face rule" }, 400);
|
|
7705
|
+
}
|
|
7641
7706
|
const unsafeFields = findUnsafeDomPatchValues(parsed.body);
|
|
7642
7707
|
if (unsafeFields.length > 0) {
|
|
7643
7708
|
return rejectUnsafeMutationValues(c, unsafeFields);
|
|
@@ -7649,11 +7714,9 @@ function registerFileRoutes(api, adapter) {
|
|
|
7649
7714
|
} catch {
|
|
7650
7715
|
return c.json({ error: "not found" }, 404);
|
|
7651
7716
|
}
|
|
7652
|
-
const
|
|
7653
|
-
|
|
7654
|
-
|
|
7655
|
-
parsed.body.operations
|
|
7656
|
-
);
|
|
7717
|
+
const element = patchElementInHtml(originalContent, parsed.target, parsed.body.operations);
|
|
7718
|
+
const { matched } = element;
|
|
7719
|
+
const patched = matched && isStudioFontFaceCss(fontFaceCss) ? ensureStudioFontFaceCss(element.html, fontFaceCss) : element.html;
|
|
7657
7720
|
if (patched === originalContent) {
|
|
7658
7721
|
const version2 = fileContentVersion(originalContent);
|
|
7659
7722
|
c.header("ETag", version2);
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
DEFAULT_VP9_CPU_USED,
|
|
18
18
|
renderProvenanceArgs
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-D5EJCP26.js";
|
|
20
20
|
import {
|
|
21
21
|
loadOptionalPackage
|
|
22
22
|
} from "./chunk-XT5P4QMO.js";
|
|
@@ -202,7 +202,7 @@ function inferInputKind(inputPath) {
|
|
|
202
202
|
}
|
|
203
203
|
async function probeMedia(inputPath) {
|
|
204
204
|
const isImage = inferInputKind(inputPath) === "image";
|
|
205
|
-
const engine = await import("./src-
|
|
205
|
+
const engine = await import("./src-SV7CNZXN.js");
|
|
206
206
|
const meta = await engine.extractMediaMetadata(inputPath);
|
|
207
207
|
if (isImage) {
|
|
208
208
|
return { width: meta.width, height: meta.height, fps: 0, frameCount: 1 };
|
|
@@ -13,7 +13,7 @@ function resolveLocalBrowserGpuMode(browserGpuArg, envMode = process.env.PRODUCE
|
|
|
13
13
|
return "auto";
|
|
14
14
|
}
|
|
15
15
|
async function resolveCaptureBrowserGpuMode(requestedMode, chromePath) {
|
|
16
|
-
const { resolveBrowserGpuMode } = await import("./src-
|
|
16
|
+
const { resolveBrowserGpuMode } = await import("./src-SV7CNZXN.js");
|
|
17
17
|
return resolveBrowserGpuMode(requestedMode, { chromePath });
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from "./chunk-5ETJX6WM.js";
|
|
17
17
|
import {
|
|
18
18
|
runEnvironmentChecks
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-6QWHIARJ.js";
|
|
20
20
|
import {
|
|
21
21
|
c
|
|
22
22
|
} from "./chunk-ZTZA4UWZ.js";
|
|
@@ -25,24 +25,24 @@ import {
|
|
|
25
25
|
getFreeDiskMb,
|
|
26
26
|
getShmSizeMb,
|
|
27
27
|
getSystemMeta
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-C3KEF3UA.js";
|
|
29
29
|
import {
|
|
30
30
|
defineCommand
|
|
31
31
|
} from "./chunk-S3S4TGEH.js";
|
|
32
32
|
import {
|
|
33
33
|
resolveExtractCacheDir
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-D5EJCP26.js";
|
|
35
35
|
import {
|
|
36
36
|
getUpdateMeta,
|
|
37
37
|
withMeta
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-YVEZT6WT.js";
|
|
39
39
|
import {
|
|
40
40
|
CONFIG_PATH,
|
|
41
41
|
withFileLock
|
|
42
42
|
} from "./chunk-XUXGIA7H.js";
|
|
43
43
|
import {
|
|
44
44
|
VERSION
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-OGTR33KN.js";
|
|
46
46
|
import {
|
|
47
47
|
normalizeErrorMessage
|
|
48
48
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -6,19 +6,19 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
serveStaticProjectHtml
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-T4Z4UNSX.js";
|
|
10
10
|
import {
|
|
11
11
|
AUDIT_SEEK_OPTIONS,
|
|
12
12
|
installPageFunctionGuard,
|
|
13
13
|
seekCompositionTimeline,
|
|
14
14
|
waitForCompositionFonts
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-QH6UFY2O.js";
|
|
16
16
|
import {
|
|
17
17
|
resolveDiagnosticNavigationTimeoutMs
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-T3BOWXPX.js";
|
|
19
19
|
import {
|
|
20
20
|
resolveProject
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-I73Z6OOE.js";
|
|
22
22
|
import {
|
|
23
23
|
c
|
|
24
24
|
} from "./chunk-ZTZA4UWZ.js";
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
import {
|
|
33
33
|
printDeprecationNotice,
|
|
34
34
|
withMeta
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-YVEZT6WT.js";
|
|
36
36
|
import {
|
|
37
37
|
normalizeErrorMessage
|
|
38
38
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -665,7 +665,7 @@ async function collectTweenBoundaries(page) {
|
|
|
665
665
|
});
|
|
666
666
|
}
|
|
667
667
|
async function bundleProjectHtml(projectDir) {
|
|
668
|
-
const { bundleToSingleHtml } = await import("./compiler-
|
|
668
|
+
const { bundleToSingleHtml } = await import("./compiler-3N7XQRH6.js");
|
|
669
669
|
return bundleToSingleHtml(projectDir);
|
|
670
670
|
}
|
|
671
671
|
async function alignViewportToComposition(page, url) {
|
|
@@ -687,13 +687,13 @@ async function alignViewportToComposition(page, url) {
|
|
|
687
687
|
async function runLayoutAudit(projectDir, opts) {
|
|
688
688
|
const { ensureBrowser } = await import("./manager-NEVLEZK3.js");
|
|
689
689
|
const puppeteer = await import("puppeteer-core");
|
|
690
|
-
const { buildChromeArgs } = await import("./src-
|
|
690
|
+
const { buildChromeArgs } = await import("./src-SV7CNZXN.js");
|
|
691
691
|
const {
|
|
692
692
|
assertWebGpuAdapterAvailable,
|
|
693
693
|
compositionRequiresWebGpu,
|
|
694
694
|
resolveCaptureBrowserGpuMode,
|
|
695
695
|
resolveLocalBrowserGpuMode
|
|
696
|
-
} = await import("./gpuPolicy-
|
|
696
|
+
} = await import("./gpuPolicy-BXXQF3VC.js");
|
|
697
697
|
const html = await bundleProjectHtml(projectDir);
|
|
698
698
|
const server = await serveStaticProjectHtml(
|
|
699
699
|
projectDir,
|
|
@@ -7,29 +7,29 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
RegistryCompatibilityError,
|
|
9
9
|
gateRegistryItemsCompatibility
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-L7XDI3DT.js";
|
|
11
11
|
import {
|
|
12
12
|
DEFAULT_PROJECT_CONFIG,
|
|
13
13
|
createProjectConfig,
|
|
14
14
|
loadProjectConfig,
|
|
15
15
|
projectConfigPath,
|
|
16
16
|
recordProjectRegistryItems
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-P7XRDAWU.js";
|
|
18
18
|
import {
|
|
19
19
|
resolveItemWithDependencies,
|
|
20
20
|
resolveItemsByTag
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-JNY3VJWB.js";
|
|
22
22
|
import {
|
|
23
23
|
InvalidVariableValuesError,
|
|
24
24
|
prepareItem,
|
|
25
25
|
publishItem
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-BRTGJ73L.js";
|
|
27
27
|
import {
|
|
28
28
|
DEFAULT_REGISTRY_URL
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-NHTRUAMD.js";
|
|
30
30
|
import {
|
|
31
31
|
trackRegistryItemAdded
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-TPPIERG3.js";
|
|
33
33
|
import {
|
|
34
34
|
c
|
|
35
35
|
} from "./chunk-ZTZA4UWZ.js";
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
} from "./chunk-PBN6GBJE.js";
|
|
42
42
|
import {
|
|
43
43
|
ITEM_TYPE_DIRS
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-VMDEGITC.js";
|
|
45
45
|
import {
|
|
46
46
|
isProjectRootMissing,
|
|
47
47
|
realpath
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
DEFAULT_REGISTRY_URL,
|
|
9
9
|
fetchItemFile,
|
|
10
10
|
validRegistryItem
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-NHTRUAMD.js";
|
|
12
12
|
import {
|
|
13
13
|
publishRegistryFile,
|
|
14
14
|
registryTargetPath
|
|
15
15
|
} from "./chunk-GMECXFAN.js";
|
|
16
16
|
import {
|
|
17
17
|
validateVariables
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-VMDEGITC.js";
|
|
19
19
|
import {
|
|
20
20
|
realProjectRoot
|
|
21
21
|
} from "./chunk-OFQWTKPW.js";
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
renderFrameIdForRenderId,
|
|
23
23
|
resolveAuthoredTimingWindow,
|
|
24
24
|
toFps
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-VMDEGITC.js";
|
|
26
26
|
import {
|
|
27
27
|
AUDIO_GROUP_RENDER_ID_ATTR,
|
|
28
28
|
COLOR_GRADING_SOURCE_HIDDEN_ATTR,
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
shiftRateLane,
|
|
52
52
|
sourceTimeAt,
|
|
53
53
|
timeAtSourceTime
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-PMLZPNIB.js";
|
|
55
55
|
import {
|
|
56
56
|
chromeMajorCeiling,
|
|
57
57
|
exceedsChromeCeiling
|
|
@@ -59,7 +59,7 @@ import {
|
|
|
59
59
|
import {
|
|
60
60
|
isWithinProjectRoot,
|
|
61
61
|
resolveProjectRelativeSrc
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-QM2NUN2B.js";
|
|
63
63
|
import {
|
|
64
64
|
FFMPEG_PATH_ENV,
|
|
65
65
|
FFPROBE_PATH_ENV,
|
|
@@ -9460,6 +9460,14 @@ FFmpeg stopped after ${streamingTimeout} ms without consuming a frame.` : "";
|
|
|
9460
9460
|
return encoder;
|
|
9461
9461
|
}
|
|
9462
9462
|
|
|
9463
|
+
// ../engine/src/services/mediaHidden.ts
|
|
9464
|
+
function isSelfOrAncestorHidden(el) {
|
|
9465
|
+
for (let current = el; current; current = current.parentElement) {
|
|
9466
|
+
if (current.hasAttribute("data-hidden")) return true;
|
|
9467
|
+
}
|
|
9468
|
+
return false;
|
|
9469
|
+
}
|
|
9470
|
+
|
|
9463
9471
|
// ../engine/src/services/videoFrameExtractor.ts
|
|
9464
9472
|
import { copyFileSync as copyFileSync2, existsSync as existsSync8, linkSync as linkSync2, mkdirSync as mkdirSync6, rmSync as rmSync3 } from "fs";
|
|
9465
9473
|
import { join as join9 } from "path";
|
|
@@ -11168,7 +11176,8 @@ function parseVideoElements(html) {
|
|
|
11168
11176
|
mediaStart: readMediaStart(el),
|
|
11169
11177
|
playbackRate: readElementRateSpec(el),
|
|
11170
11178
|
loop: el.hasAttribute("loop"),
|
|
11171
|
-
hasAudio: hasAudioAttr === "true"
|
|
11179
|
+
hasAudio: hasAudioAttr === "true",
|
|
11180
|
+
...isSelfOrAncestorHidden(el) ? { hidden: true } : {}
|
|
11172
11181
|
});
|
|
11173
11182
|
}
|
|
11174
11183
|
return videos;
|
|
@@ -13802,12 +13811,7 @@ function parseAudioElements(html) {
|
|
|
13802
13811
|
const parseEnd = (raw) => {
|
|
13803
13812
|
return parseStrictFiniteTimingNumber(raw) ?? 0;
|
|
13804
13813
|
};
|
|
13805
|
-
const isHidden =
|
|
13806
|
-
for (let current = el; current; current = current.parentElement) {
|
|
13807
|
-
if (current.hasAttribute("data-hidden")) return true;
|
|
13808
|
-
}
|
|
13809
|
-
return false;
|
|
13810
|
-
};
|
|
13814
|
+
const isHidden = isSelfOrAncestorHidden;
|
|
13811
13815
|
const groupsById = new Map(
|
|
13812
13816
|
resolveAudioGroups(document2).map((group) => [group.id, group])
|
|
13813
13817
|
);
|
|
@@ -19,10 +19,10 @@ import {
|
|
|
19
19
|
import {
|
|
20
20
|
formatVariableValidationIssue,
|
|
21
21
|
validateVariables
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-VMDEGITC.js";
|
|
23
23
|
import {
|
|
24
24
|
extractCompositionMetadata
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-UUDQD62L.js";
|
|
26
26
|
|
|
27
27
|
// src/utils/variables.ts
|
|
28
28
|
import { readFileSync } from "fs";
|
|
@@ -6,10 +6,10 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
getMimeType
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-4DJXCVQJ.js";
|
|
10
10
|
import {
|
|
11
11
|
injectTagsAtHeadStart
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-PMLZPNIB.js";
|
|
13
13
|
|
|
14
14
|
// src/utils/compositionServer.ts
|
|
15
15
|
import { createHash } from "crypto";
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
installPageFunctionGuard,
|
|
9
9
|
resolveCliChromeGpuMode,
|
|
10
10
|
seekCompositionTimeline
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-QH6UFY2O.js";
|
|
12
12
|
import {
|
|
13
13
|
resolveCompositionViewportFromHtml
|
|
14
14
|
} from "./chunk-5Z63TBTX.js";
|
|
15
15
|
import {
|
|
16
16
|
resolveProject
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-I73Z6OOE.js";
|
|
18
18
|
import {
|
|
19
19
|
c
|
|
20
20
|
} from "./chunk-ZTZA4UWZ.js";
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
import {
|
|
29
29
|
printDeprecationNotice,
|
|
30
30
|
withMeta
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-YVEZT6WT.js";
|
|
32
32
|
import {
|
|
33
33
|
normalizeErrorMessage
|
|
34
34
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -217,7 +217,7 @@ function extractCompositionErrorsFromLint(lintResult) {
|
|
|
217
217
|
async function localizeRemoteAssets(html) {
|
|
218
218
|
let dir;
|
|
219
219
|
try {
|
|
220
|
-
const { loadProducer } = await import("./producer-
|
|
220
|
+
const { loadProducer } = await import("./producer-ZTQIJO7E.js");
|
|
221
221
|
const { localizeRemoteMediaSources, localizeRemoteImageSources, localizeRemoteFontFaces } = await loadProducer();
|
|
222
222
|
dir = mkdtempSync(join(tmpdir(), "hf-validate-assets-"));
|
|
223
223
|
const assetDir = dir;
|
|
@@ -238,10 +238,10 @@ async function localizeRemoteAssets(html) {
|
|
|
238
238
|
}
|
|
239
239
|
async function validateInBrowser(project, opts) {
|
|
240
240
|
const projectDir = project.dir;
|
|
241
|
-
const { bundleToSingleHtml } = await import("./compiler-
|
|
241
|
+
const { bundleToSingleHtml } = await import("./compiler-3N7XQRH6.js");
|
|
242
242
|
const { ensureBrowser } = await import("./manager-NEVLEZK3.js");
|
|
243
|
-
const { serveStaticProjectHtml } = await import("./staticProjectServer-
|
|
244
|
-
const { lintProject } = await import("./lintProject-
|
|
243
|
+
const { serveStaticProjectHtml } = await import("./staticProjectServer-5JAGMYT7.js");
|
|
244
|
+
const { lintProject } = await import("./lintProject-CMPAR7BS.js");
|
|
245
245
|
const lintResult = await lintProject(projectDir);
|
|
246
246
|
const compositionErrors = extractCompositionErrorsFromLint(lintResult);
|
|
247
247
|
const html = await bundleToSingleHtml(projectDir);
|
|
@@ -262,13 +262,13 @@ async function validateInBrowser(project, opts) {
|
|
|
262
262
|
try {
|
|
263
263
|
const browser = await ensureBrowser();
|
|
264
264
|
const puppeteer = await import("puppeteer-core");
|
|
265
|
-
const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-
|
|
265
|
+
const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-SV7CNZXN.js");
|
|
266
266
|
const requestedGpuMode = resolveCliChromeGpuMode();
|
|
267
267
|
const {
|
|
268
268
|
assertWebGpuAdapterAvailable,
|
|
269
269
|
compositionRequiresWebGpu,
|
|
270
270
|
resolveCaptureBrowserGpuMode
|
|
271
|
-
} = await import("./gpuPolicy-
|
|
271
|
+
} = await import("./gpuPolicy-BXXQF3VC.js");
|
|
272
272
|
const resolvedGpuMode = await resolveCaptureBrowserGpuMode(
|
|
273
273
|
requestedGpuMode,
|
|
274
274
|
browser.executablePath
|