hyperframes 0.8.108 → 0.8.109
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-OH75E7FX.js → add-7NAK3TQ6.js} +9 -9
- package/dist/{animatedGifPrep-ZDAWSJYL.js → animatedGifPrep-NMGFOSIL.js} +4 -4
- package/dist/{asset-BVDO4DEW.js → asset-X7GUEAHC.js} +2 -2
- package/dist/{auth-K5GUKO5S.js → auth-EBWBTIGU.js} +2 -2
- package/dist/{autoUpdate-77ROWK5G.js → autoUpdate-DJBTMGAR.js} +2 -2
- package/dist/{backgroundChecks-3Q3D5WBJ.js → backgroundChecks-QUMUVLYU.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{beats-HQZPR6KE.js → beats-XUYNHYGB.js} +8 -8
- package/dist/{benchmark-BQOWARGU.js → benchmark-L45UHXEE.js} +10 -10
- package/dist/{browser-45CK7HXI.js → browser-EM76PRMN.js} +7 -7
- package/dist/{bundleWithLocalizedFonts-3M2LKRHK.js → bundleWithLocalizedFonts-4Q3ETTHW.js} +2 -2
- package/dist/{capture-VGEUOP7N.js → capture-4OPH4PMK.js} +4 -4
- package/dist/{capture-6IVZXM7G.js → capture-OG6532RA.js} +2 -2
- package/dist/{catalog-VHD7B6FD.js → catalog-V42BPLQ4.js} +9 -9
- package/dist/{check-UPNZZJXV.js → check-3XQLHR2I.js} +22 -22
- package/dist/{checkBrowser-KWTHKOOP.js → checkBrowser-56BV4TW3.js} +21 -21
- package/dist/{chunk-KZJ6V7RT.js → chunk-2IN77NP6.js} +3 -3
- package/dist/{chunk-QBHT234I.js → chunk-2JXJ5SGK.js} +1 -1
- package/dist/{chunk-RSL3XFMO.js → chunk-32P7FTFC.js} +3 -3
- package/dist/{chunk-ZFL6FVQZ.js → chunk-3CPYTXZH.js} +5 -5
- package/dist/{chunk-NROJESOK.js → chunk-3T4RQK6C.js} +2 -2
- package/dist/{chunk-5R5UHSXN.js → chunk-44UOKZIC.js} +9 -9
- package/dist/{chunk-LZPAZZZP.js → chunk-4PY6UPHN.js} +1 -1
- package/dist/{chunk-THVNQFYG.js → chunk-5ER3PYYP.js} +1 -1
- package/dist/{chunk-ONY5CJXS.js → chunk-BAVM2XBR.js} +85 -1
- package/dist/{chunk-KVOWTRD5.js → chunk-C4TZBEHY.js} +2 -2
- package/dist/{chunk-J7XPPADY.js → chunk-CPO5INJ5.js} +2 -2
- package/dist/{chunk-SIVCJJHE.js → chunk-CQRF7VU3.js} +1 -1
- package/dist/{chunk-D7SCIX4D.js → chunk-E4AYSXMS.js} +1 -1
- package/dist/{chunk-LPXM5L6S.js → chunk-I5WWEBDG.js} +1 -1
- package/dist/{chunk-MGTECHI3.js → chunk-ITBEN3QD.js} +1 -1
- package/dist/{chunk-QRXICW5Q.js → chunk-JTTAS7N6.js} +1 -1
- package/dist/{chunk-FZGUZIK5.js → chunk-JWPSBANO.js} +2 -2
- package/dist/{chunk-GYYFNAVA.js → chunk-M224DAMG.js} +1 -1
- package/dist/{chunk-OVRFBUXU.js → chunk-MGFVNTIB.js} +1 -1
- package/dist/{chunk-VLHN34SB.js → chunk-MP25ID6H.js} +2 -2
- package/dist/{chunk-SQ42NHXP.js → chunk-MR2LOG32.js} +25 -27
- package/dist/{chunk-C6XQER6H.js → chunk-N32ITJ7L.js} +6 -6
- package/dist/{chunk-QB6OM2BP.js → chunk-OF3RKOPU.js} +1 -1
- package/dist/{chunk-LTYI4E42.js → chunk-OORTZAJ7.js} +4 -4
- package/dist/{chunk-5N4KKGSZ.js → chunk-RB7AHUOR.js} +1 -1
- package/dist/{chunk-RPMXMOFU.js → chunk-TBYUUOJG.js} +1 -1
- package/dist/{chunk-X763EUBO.js → chunk-U4TDAJZE.js} +1 -1
- package/dist/{chunk-VBXJSCHR.js → chunk-WMN4NBJQ.js} +2 -2
- package/dist/{chunk-AFGDOKRI.js → chunk-X2QJUTZL.js} +2 -2
- package/dist/{chunk-KZ5OSG4G.js → chunk-XKNYXDJN.js} +1 -1
- package/dist/{chunk-XIGK4LNU.js → chunk-YIXEH4TF.js} +1 -1
- package/dist/{chunk-NGVH2QYT.js → chunk-YRTKK45P.js} +7 -7
- package/dist/{chunk-US7SWKGC.js → chunk-ZKBSOLPY.js} +1 -1
- package/dist/{chunk-NJLFRKHX.js → chunk-ZU54D6MI.js} +134 -4
- package/dist/{clean-LCRWNIWO.js → clean-45QMNXLN.js} +12 -12
- package/dist/cli.js +48 -48
- package/dist/{cloud-ITRFE5UN.js → cloud-YRYTNHMQ.js} +4 -4
- package/dist/{compare-NPVMUILH.js → compare-GODD3JD2.js} +16 -16
- package/dist/{compiler-YYOV2BJ7.js → compiler-C32VXLE2.js} +2 -2
- package/dist/{component-HJFMHPNW.js → component-UMNTDLG3.js} +3 -3
- package/dist/{compositions-I34RN5WD.js → compositions-EIRLTOYW.js} +9 -9
- package/dist/{delete-WN3J74BD.js → delete-7P55EZOW.js} +2 -2
- package/dist/{dist-WCMFH74H.js → dist-FMHQMEMX.js} +1 -1
- package/dist/{doctor-MYC2S3J3.js → doctor-UYSIF4PX.js} +8 -8
- package/dist/{events-7JVV4746.js → events-A2MYVK2Z.js} +7 -7
- package/dist/{events-AEUV2JPA.js → events-LXYVOH3X.js} +6 -6
- package/dist/{feedback-X7DDSZPU.js → feedback-46DWSEAZ.js} +8 -8
- package/dist/{figma-ISI4PPTF.js → figma-C5DHRI6P.js} +3 -3
- package/dist/fontLocalizeCli.js +6 -6
- package/dist/{get-IYALAE4I.js → get-IRSUDICU.js} +2 -2
- package/dist/{gpuPolicy-KSWTVU5C.js → gpuPolicy-CA6KRFQQ.js} +4 -4
- package/dist/{grade-compare-YWPIWQLK.js → grade-compare-BLHXB3UR.js} +16 -16
- package/dist/{help-S2KJRMAJ.js → help-HMYF4Y3E.js} +1 -1
- package/dist/{history-CQDDCY4J.js → history-K5BD64QP.js} +12 -12
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-4KFNUWYN.js → info-QR2FYDJ7.js} +9 -9
- package/dist/{init-I7GMRHFW.js → init-L6BY7IV4.js} +16 -16
- package/dist/{inspect-DUCLCHSD.js → inspect-D3MC4VH3.js} +17 -17
- package/dist/{keyframes-F3VDEN66.js → keyframes-TPMFVG6O.js} +10 -10
- package/dist/{layout-RNCXJI6C.js → layout-AOYCSBIL.js} +17 -17
- package/dist/{lint-3NKKYCMH.js → lint-L4MN7QPF.js} +10 -10
- package/dist/{lintProject-F2OTN2IR.js → lintProject-X7L7EZWZ.js} +1 -1
- package/dist/{list-Q7SOE3NF.js → list-LKXCKBRX.js} +2 -2
- package/dist/{login-TGRGWS5E.js → login-4WEDFAIY.js} +4 -4
- package/dist/{media-treatment-5TUXWHWE.js → media-treatment-H6YAFA3H.js} +10 -10
- package/dist/{models-YJUTM6TH.js → models-RILNQV3Z.js} +5 -5
- package/dist/{motionShot-5QUMZ7J3.js → motionShot-5F4DCMWC.js} +7 -7
- package/dist/{normalize-audio-63BI5BPL.js → normalize-audio-DFK5FTE5.js} +8 -8
- package/dist/{pipeline-4NN5T7Q3.js → pipeline-5UY45ELH.js} +4 -4
- package/dist/{play-SRDESSZI.js → play-HFD4CPWF.js} +13 -13
- package/dist/{preflight-SVN4PSFO.js → preflight-3V5IHGWQ.js} +5 -5
- package/dist/{present-TDYR5LRW.js → present-JGDYENOT.js} +13 -13
- package/dist/{preview-Z5MFRZUM.js → preview-GLI7KBCA.js} +11 -11
- package/dist/{producer-RS7CB3XJ.js → producer-7JGAPEAF.js} +1 -1
- package/dist/{publish-2R22XX77.js → publish-257VZMWI.js} +2 -2
- package/dist/{remove-background-KT2SWYCC.js → remove-background-EV6XVADN.js} +5 -5
- package/dist/{render-7GDLEGXT.js → render-K6YASB4G.js} +9 -9
- package/dist/{render-Y2Y7N5WD.js → render-Y6LOQDCD.js} +12 -12
- package/dist/{renderCancellation-RQ3UVNVJ.js → renderCancellation-VIZELWDD.js} +4 -4
- package/dist/renderSetupWorker.js +1 -1
- package/dist/{sherpa-PR3I4KGM.js → sherpa-BAADWCHB.js} +5 -5
- package/dist/{skills-BEYZZWY6.js → skills-TEVVW6TR.js} +9 -9
- package/dist/{skillsUpdateCheck-3USXDPWV.js → skillsUpdateCheck-4Y3NJPB5.js} +3 -3
- package/dist/{snapshot-S77MQOV2.js → snapshot-63X5B7GR.js} +17 -17
- package/dist/{src-6R4DC2YI.js → src-GD7RGV5U.js} +3 -3
- package/dist/{src-IOJXK4VC.js → src-GRC63B6L.js} +5 -5
- package/dist/{staticProjectServer-RXAFGDK7.js → staticProjectServer-SFINO3DE.js} +7 -7
- package/dist/{status-CRS7H6FA.js → status-LXQL3L3H.js} +4 -4
- package/dist/studio/assets/{hyperframes-player-BakGew45.js → hyperframes-player-CJYtikAy.js} +1 -1
- package/dist/studio/assets/{index-ncVJ5IVu.css → index-BQZBDqMs.css} +1 -1
- package/dist/studio/assets/{index-CPe7d_wO.js → index-CMSgrT2F.js} +1 -1
- package/dist/studio/assets/{index-C842tcVa.js → index-CYP6dMd7.js} +208 -206
- package/dist/studio/assets/{index-C5dyUHwk.js → index-HTFVHUJ4.js} +1 -1
- package/dist/studio/{chunk-NCUBAVGK.js → chunk-5VSXRGIX.js} +4 -4
- package/dist/studio/chunk-5VSXRGIX.js.map +1 -0
- package/dist/studio/{chunk-AOWVEVEU.js → chunk-QUXZVHOJ.js} +8 -2
- package/dist/studio/chunk-QUXZVHOJ.js.map +1 -0
- package/dist/studio/index.d.ts +44 -4
- package/dist/studio/index.html +2 -2
- package/dist/studio/index.js +7021 -5669
- package/dist/studio/index.js.map +1 -1
- package/dist/studio/player.js +2 -2
- package/dist/studio/styles.css +1 -1
- package/dist/studio/ui.js +1 -1
- package/dist/{studio-api-3FH7OSSS.js → studio-api-WRSCXPWS.js} +5 -5
- package/dist/{studioServer-4E5RRPU7.js → studioServer-HPG3FVTJ.js} +24 -24
- package/dist/{system-YMANAUAM.js → system-EEWYEHYX.js} +4 -4
- package/dist/{telemetry-46XSB2VN.js → telemetry-UIZ5O7NL.js} +7 -7
- package/dist/{timeline-XKLKHGD2.js → timeline-L56HML42.js} +38 -19
- package/dist/{tokens-JCZKPUPT.js → tokens-DLPYLGLW.js} +2 -2
- package/dist/{transcribe-FIFJ3BBB.js → transcribe-FBPTYMVZ.js} +10 -10
- package/dist/{transcribe-FQ4YC2AS.js → transcribe-GCKJF5A6.js} +5 -5
- package/dist/{updateCheck-PDIH4GZW.js → updateCheck-GQBMZGU3.js} +2 -2
- package/dist/{upgrade-TTGO6JCF.js → upgrade-6LR7ZK3Q.js} +2 -2
- package/dist/{urlDownloader-32JRHOPN.js → urlDownloader-NYXPEBUN.js} +3 -3
- package/dist/{validate-G5F56ONL.js → validate-VY6RJRHE.js} +12 -12
- package/dist/{video-SGBEMEKA.js → video-KWQ5TSVD.js} +4 -4
- package/package.json +1 -1
- package/dist/studio/chunk-AOWVEVEU.js.map +0 -1
- package/dist/studio/chunk-NCUBAVGK.js.map +0 -1
|
@@ -5,17 +5,20 @@ var require = __hf_createRequire(import.meta.url);
|
|
|
5
5
|
var __filename = __hf_fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
|
+
MEDIA_LINK_ATTR,
|
|
8
9
|
dedupeClonedCompositionId,
|
|
9
10
|
findTargetElement,
|
|
10
11
|
isHTMLElement,
|
|
11
12
|
parseSourceDocument,
|
|
12
13
|
patchElementInHtml,
|
|
13
14
|
probeElementInSource,
|
|
15
|
+
relinkSplitHalves,
|
|
16
|
+
relinkSplitHalvesInHtml,
|
|
14
17
|
removeElementFromHtml,
|
|
15
18
|
splitElementInHtml,
|
|
16
19
|
unwrapElementsFromHtml,
|
|
17
20
|
wrapElementsInHtml
|
|
18
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-ZU54D6MI.js";
|
|
19
22
|
import {
|
|
20
23
|
atomicTempPath,
|
|
21
24
|
createFileAtomically,
|
|
@@ -54,7 +57,7 @@ import {
|
|
|
54
57
|
shouldPrewarmProxy,
|
|
55
58
|
waitForProxy,
|
|
56
59
|
walkDir
|
|
57
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-MGFVNTIB.js";
|
|
58
61
|
import {
|
|
59
62
|
findTimelineScript,
|
|
60
63
|
parseGsapScriptAcorn
|
|
@@ -82,7 +85,7 @@ import {
|
|
|
82
85
|
import {
|
|
83
86
|
addScenePartsManifest,
|
|
84
87
|
ensureHfIds
|
|
85
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-U4TDAJZE.js";
|
|
86
89
|
import {
|
|
87
90
|
findStartTags,
|
|
88
91
|
injectScriptsIntoHtml,
|
|
@@ -105,7 +108,7 @@ import {
|
|
|
105
108
|
import {
|
|
106
109
|
isWithinProjectRoot,
|
|
107
110
|
readProjectFile
|
|
108
|
-
} from "./chunk-
|
|
111
|
+
} from "./chunk-BAVM2XBR.js";
|
|
109
112
|
import {
|
|
110
113
|
FFPROBE_PATH_ENV,
|
|
111
114
|
findFfBinary
|
|
@@ -210,7 +213,7 @@ function stampFileHfIds(filePath) {
|
|
|
210
213
|
}
|
|
211
214
|
}
|
|
212
215
|
|
|
213
|
-
// ../studio-server/dist/chunk-
|
|
216
|
+
// ../studio-server/dist/chunk-EPL4YKGI.js
|
|
214
217
|
import { randomUUID as randomUUID6 } from "crypto";
|
|
215
218
|
import { mkdir as mkdir2, readdir as readdir3, rm as rm3, rmdir, writeFile } from "fs/promises";
|
|
216
219
|
import {
|
|
@@ -271,15 +274,21 @@ function onFileOverwritten(listener) {
|
|
|
271
274
|
overwriteListeners.add(listener);
|
|
272
275
|
return () => overwriteListeners.delete(listener);
|
|
273
276
|
}
|
|
274
|
-
function recordFileWriteReceipt(filePath, {
|
|
277
|
+
function recordFileWriteReceipt(filePath, {
|
|
278
|
+
overwrote,
|
|
279
|
+
path,
|
|
280
|
+
version,
|
|
281
|
+
writeToken
|
|
282
|
+
}) {
|
|
283
|
+
const receipt = { path, version, writeToken };
|
|
275
284
|
const absPath = realFilePath(filePath);
|
|
276
285
|
if (overwrote !== void 0)
|
|
277
286
|
for (const listener of overwriteListeners) listener(absPath, receipt.version, overwrote);
|
|
278
287
|
const now = Date.now();
|
|
279
|
-
for (const [
|
|
288
|
+
for (const [path2, list] of receipts) {
|
|
280
289
|
const live = list.filter((entry) => now - entry.recordedAt < RECEIPT_TTL_MS);
|
|
281
|
-
if (live.length > 0) receipts.set(
|
|
282
|
-
else receipts.delete(
|
|
290
|
+
if (live.length > 0) receipts.set(path2, live);
|
|
291
|
+
else receipts.delete(path2);
|
|
283
292
|
}
|
|
284
293
|
const from = overwrote === void 0 ? void 0 : fileContentVersion(overwrote);
|
|
285
294
|
receipts.set(absPath, [
|
|
@@ -7117,6 +7126,7 @@ async function foldAtomicCutFile(c, file, absPath, before, writer) {
|
|
|
7117
7126
|
let after = before;
|
|
7118
7127
|
let splitCount = 0;
|
|
7119
7128
|
const skippedSelectors = /* @__PURE__ */ new Set();
|
|
7129
|
+
const rightHalfIds = [];
|
|
7120
7130
|
const respond = (data, status) => status ? c.json(data, status) : c.json(data);
|
|
7121
7131
|
const orderedTargets = file.targets.map((cut, index) => ({ cut, index })).sort((left, right) => {
|
|
7122
7132
|
const locatorKey = (entry) => !entry.target.id && !entry.target.hfId && entry.target.selector ? entry.target.selector : null;
|
|
@@ -7147,6 +7157,7 @@ async function foldAtomicCutFile(c, file, absPath, before, writer) {
|
|
|
7147
7157
|
}
|
|
7148
7158
|
after = split.html;
|
|
7149
7159
|
splitCount++;
|
|
7160
|
+
rightHalfIds.push(split.newId);
|
|
7150
7161
|
if (!cut.originalId) continue;
|
|
7151
7162
|
const block = extractGsapScriptBlock(after);
|
|
7152
7163
|
if (!block) continue;
|
|
@@ -7173,6 +7184,7 @@ async function foldAtomicCutFile(c, file, absPath, before, writer) {
|
|
|
7173
7184
|
after = block.replaceScript(script);
|
|
7174
7185
|
}
|
|
7175
7186
|
}
|
|
7187
|
+
after = relinkSplitHalvesInHtml(after, rightHalfIds);
|
|
7176
7188
|
return {
|
|
7177
7189
|
path: file.path,
|
|
7178
7190
|
absPath,
|
|
@@ -9598,7 +9610,6 @@ function registerWaveformRoutes(api, adapter) {
|
|
|
9598
9610
|
});
|
|
9599
9611
|
}
|
|
9600
9612
|
var FREEZE_HOLD_SECONDS = 2;
|
|
9601
|
-
var LINK_ATTR = "data-link";
|
|
9602
9613
|
var EPSILON = 1e-3;
|
|
9603
9614
|
var round3 = (value) => Math.round(value * 1e3) / 1e3;
|
|
9604
9615
|
function numberAttr(el, name) {
|
|
@@ -9697,10 +9708,10 @@ function buildStill(document2, video, input) {
|
|
|
9697
9708
|
return img;
|
|
9698
9709
|
}
|
|
9699
9710
|
function linkedPartners(document2, video) {
|
|
9700
|
-
const link = video.getAttribute(
|
|
9711
|
+
const link = video.getAttribute(MEDIA_LINK_ATTR);
|
|
9701
9712
|
if (!link) return [];
|
|
9702
|
-
return Array.from(document2.querySelectorAll(`[${
|
|
9703
|
-
(el) => el !== video && el.getAttribute(
|
|
9713
|
+
return Array.from(document2.querySelectorAll(`[${MEDIA_LINK_ATTR}]`)).filter(
|
|
9714
|
+
(el) => el !== video && el.getAttribute(MEDIA_LINK_ATTR) === link
|
|
9704
9715
|
);
|
|
9705
9716
|
}
|
|
9706
9717
|
function splitAll(html, elements, time) {
|
|
@@ -9724,11 +9735,6 @@ function splitAll(html, elements, time) {
|
|
|
9724
9735
|
}
|
|
9725
9736
|
return { html: next, rightHalfIds };
|
|
9726
9737
|
}
|
|
9727
|
-
function relinkRightHalves(document2, link, ids) {
|
|
9728
|
-
if (!link) return;
|
|
9729
|
-
const rightLink = uniqueLink(document2, link);
|
|
9730
|
-
for (const id of ids) document2.getElementById(id)?.setAttribute(LINK_ATTR, rightLink);
|
|
9731
|
-
}
|
|
9732
9738
|
function applyFreezeFrameToHtml(html, input) {
|
|
9733
9739
|
const hold = input.holdSeconds ?? FREEZE_HOLD_SECONDS;
|
|
9734
9740
|
const { document: before } = parseSourceDocument(html);
|
|
@@ -9743,7 +9749,7 @@ function applyFreezeFrameToHtml(html, input) {
|
|
|
9743
9749
|
);
|
|
9744
9750
|
if (!cut) return null;
|
|
9745
9751
|
const { document: document2, wrappedFragment } = parseSourceDocument(cut.html);
|
|
9746
|
-
|
|
9752
|
+
relinkSplitHalves(document2, cut.rightHalfIds);
|
|
9747
9753
|
shiftTracks(document2, tracks, input.playhead, hold);
|
|
9748
9754
|
const leftHalf = findTargetElement(document2, input.target);
|
|
9749
9755
|
if (!leftHalf?.parentElement) return null;
|
|
@@ -9761,14 +9767,6 @@ function applyFreezeFrameToHtml(html, input) {
|
|
|
9761
9767
|
freezeId
|
|
9762
9768
|
};
|
|
9763
9769
|
}
|
|
9764
|
-
function uniqueLink(document2, base) {
|
|
9765
|
-
const taken = new Set(
|
|
9766
|
-
Array.from(document2.querySelectorAll(`[${LINK_ATTR}]`)).map((el) => el.getAttribute(LINK_ATTR))
|
|
9767
|
-
);
|
|
9768
|
-
let candidate = `${base}-2`;
|
|
9769
|
-
for (let n = 3; taken.has(candidate); n++) candidate = `${base}-${n}`;
|
|
9770
|
-
return candidate;
|
|
9771
|
-
}
|
|
9772
9770
|
var EXTRACT_TIMEOUT_MS = 3e4;
|
|
9773
9771
|
var ffmpegExtractor = (args) => {
|
|
9774
9772
|
const ffmpeg = findFfBinary("ffmpeg", { configuredMustExist: true });
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
EncoderInterruptedError,
|
|
18
18
|
encoderFailureError,
|
|
19
19
|
prepareAnimatedGifInputs
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-YIXEH4TF.js";
|
|
21
21
|
import {
|
|
22
22
|
createStudioPositionSeekReapplyScript
|
|
23
23
|
} from "./chunk-KC5XXX3X.js";
|
|
@@ -145,7 +145,7 @@ import {
|
|
|
145
145
|
validateEngineConfigSnapshot,
|
|
146
146
|
verifyDiskDrawElementSamples,
|
|
147
147
|
writeCapturedFrame
|
|
148
|
-
} from "./chunk-
|
|
148
|
+
} from "./chunk-OF3RKOPU.js";
|
|
149
149
|
import {
|
|
150
150
|
HF_VFX_ATTR,
|
|
151
151
|
MEDIA_START_BASIS_ATTR,
|
|
@@ -186,7 +186,7 @@ import {
|
|
|
186
186
|
inlineSubCompositions,
|
|
187
187
|
prepareFlattenedInnerRoot,
|
|
188
188
|
styleElementsFor
|
|
189
|
-
} from "./chunk-
|
|
189
|
+
} from "./chunk-U4TDAJZE.js";
|
|
190
190
|
import {
|
|
191
191
|
HF_COLOR_GRADING_ATTR,
|
|
192
192
|
MAX_AUDIO_GAIN,
|
|
@@ -216,7 +216,7 @@ import {
|
|
|
216
216
|
lintHyperframeHtml,
|
|
217
217
|
readProjectFile,
|
|
218
218
|
resolveProjectRelativeSrc
|
|
219
|
-
} from "./chunk-
|
|
219
|
+
} from "./chunk-BAVM2XBR.js";
|
|
220
220
|
import {
|
|
221
221
|
CSS_URL_RE,
|
|
222
222
|
checkSubCompositionUsability,
|
|
@@ -14144,7 +14144,7 @@ function startServer(options = {}) {
|
|
|
14144
14144
|
});
|
|
14145
14145
|
async function shutdown(signal) {
|
|
14146
14146
|
log.info(`Received ${signal}, shutting down`);
|
|
14147
|
-
const { drainBrowserPool } = await import("./src-
|
|
14147
|
+
const { drainBrowserPool } = await import("./src-GD7RGV5U.js");
|
|
14148
14148
|
await drainBrowserPool().catch(() => {
|
|
14149
14149
|
});
|
|
14150
14150
|
const handle = await Promise.race([
|
|
@@ -15267,7 +15267,7 @@ async function buildLocalExecutionPlan(projectDir, config, executionPlanDir, opt
|
|
|
15267
15267
|
if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
|
|
15268
15268
|
if (probeResult.probeSession) {
|
|
15269
15269
|
try {
|
|
15270
|
-
const { closeCaptureSession: closeCaptureSession2 } = await import("./src-
|
|
15270
|
+
const { closeCaptureSession: closeCaptureSession2 } = await import("./src-GD7RGV5U.js");
|
|
15271
15271
|
await closeCaptureSession2(probeResult.probeSession);
|
|
15272
15272
|
} catch (err) {
|
|
15273
15273
|
log.warn("[plan] probe session close failed", {
|
|
@@ -7,16 +7,16 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
parseFeedbackRating,
|
|
9
9
|
trackRenderFeedback
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WMN4NBJQ.js";
|
|
11
11
|
import {
|
|
12
12
|
shouldTrack
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-CPO5INJ5.js";
|
|
14
14
|
import {
|
|
15
15
|
c
|
|
16
16
|
} from "./chunk-ZTZA4UWZ.js";
|
|
17
17
|
import {
|
|
18
18
|
detectAgentRuntime
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-CQRF7VU3.js";
|
|
20
20
|
import {
|
|
21
21
|
readConfig,
|
|
22
22
|
writeConfig
|
|
@@ -83,7 +83,7 @@ async function maybePromptRenderFeedback(opts) {
|
|
|
83
83
|
async function getDoctorSummary() {
|
|
84
84
|
try {
|
|
85
85
|
const [{ getSystemMeta }, { findFFmpeg }] = await Promise.all([
|
|
86
|
-
import("./system-
|
|
86
|
+
import("./system-EEWYEHYX.js"),
|
|
87
87
|
import("./ffmpeg-QIUFEFTY.js")
|
|
88
88
|
]);
|
|
89
89
|
const sys = getSystemMeta();
|
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
VERSION
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-3T4RQK6C.js";
|
|
10
10
|
|
|
11
11
|
// src/registry/compatibility.ts
|
|
12
12
|
import { compareVersions } from "compare-versions";
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
flush,
|
|
9
9
|
shouldTrack,
|
|
10
10
|
trackEvent
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-CPO5INJ5.js";
|
|
12
12
|
import {
|
|
13
13
|
getPowerState
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-CQRF7VU3.js";
|
|
15
15
|
import {
|
|
16
16
|
CliRuntimeError
|
|
17
17
|
} from "./chunk-PBN6GBJE.js";
|
|
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
RegistryCompatibilityError,
|
|
9
9
|
gateRegistryItemsCompatibility
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-RB7AHUOR.js";
|
|
11
11
|
import {
|
|
12
12
|
DEFAULT_PROJECT_CONFIG,
|
|
13
13
|
createProjectConfig,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
} from "./chunk-AWUZ3AUD.js";
|
|
30
30
|
import {
|
|
31
31
|
trackRegistryItemAdded
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-WMN4NBJQ.js";
|
|
33
33
|
import {
|
|
34
34
|
c
|
|
35
35
|
} from "./chunk-ZTZA4UWZ.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-JWPSBANO.js";
|
|
10
10
|
import {
|
|
11
11
|
AUDIT_SEEK_OPTIONS,
|
|
12
12
|
installPageFunctionGuard,
|
|
13
13
|
seekCompositionTimeline,
|
|
14
14
|
waitForCompositionFonts
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-32P7FTFC.js";
|
|
16
16
|
import {
|
|
17
17
|
resolveDiagnosticNavigationTimeoutMs
|
|
18
18
|
} from "./chunk-TIZQC44K.js";
|
|
19
19
|
import {
|
|
20
20
|
resolveProject
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-ZKBSOLPY.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-TBYUUOJG.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-C32VXLE2.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-GD7RGV5U.js");
|
|
691
691
|
const {
|
|
692
692
|
assertWebGpuAdapterAvailable,
|
|
693
693
|
compositionRequiresWebGpu,
|
|
694
694
|
resolveCaptureBrowserGpuMode,
|
|
695
695
|
resolveLocalBrowserGpuMode
|
|
696
|
-
} = await import("./gpuPolicy-
|
|
696
|
+
} = await import("./gpuPolicy-CA6KRFQQ.js");
|
|
697
697
|
const html = await bundleProjectHtml(projectDir);
|
|
698
698
|
const server = await serveStaticProjectHtml(
|
|
699
699
|
projectDir,
|
|
@@ -17,10 +17,10 @@ import {
|
|
|
17
17
|
ensureHfIds,
|
|
18
18
|
mintHfId,
|
|
19
19
|
walkCompositionDescendants
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-U4TDAJZE.js";
|
|
21
21
|
import {
|
|
22
22
|
require_dist
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-BAVM2XBR.js";
|
|
24
24
|
import {
|
|
25
25
|
readClipTiming,
|
|
26
26
|
readMediaOffsetSeconds,
|
|
@@ -34,9 +34,121 @@ import {
|
|
|
34
34
|
__toESM
|
|
35
35
|
} from "./chunk-M2WBOQ2Q.js";
|
|
36
36
|
|
|
37
|
-
// ../studio-server/dist/chunk-
|
|
37
|
+
// ../studio-server/dist/chunk-Z4DIWF3Z.js
|
|
38
38
|
var import_postcss_selector_parser = __toESM(require_dist(), 1);
|
|
39
39
|
import postcss from "postcss";
|
|
40
|
+
|
|
41
|
+
// ../core/dist/mediaLink.js
|
|
42
|
+
var MEDIA_LINK_ATTR = "data-link";
|
|
43
|
+
function readNumber(el, names, fallback) {
|
|
44
|
+
for (const name of names) {
|
|
45
|
+
const raw = el.getAttribute(name);
|
|
46
|
+
if (raw === null || raw.trim() === "")
|
|
47
|
+
continue;
|
|
48
|
+
const value = Number(raw);
|
|
49
|
+
if (Number.isFinite(value))
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
return fallback;
|
|
53
|
+
}
|
|
54
|
+
function readLinkTiming(el) {
|
|
55
|
+
return {
|
|
56
|
+
start: readNumber(el, ["data-start"], 0),
|
|
57
|
+
duration: readNumber(el, ["data-duration"], 0),
|
|
58
|
+
mediaStart: readMediaOffsetSeconds((name) => el.getAttribute(name)),
|
|
59
|
+
playbackRate: readNumber(el, ["data-playback-rate"], 1)
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
var LINK_SCOPE_SELECTOR = "[data-composition-id], [data-composition-file]";
|
|
63
|
+
function mintLinkId(taken) {
|
|
64
|
+
const used = new Set(taken);
|
|
65
|
+
let n = 1;
|
|
66
|
+
while (used.has(`lk-${n}`))
|
|
67
|
+
n += 1;
|
|
68
|
+
return `lk-${n}`;
|
|
69
|
+
}
|
|
70
|
+
function takenLinkIds(doc) {
|
|
71
|
+
return Array.from(doc.querySelectorAll(`[id], [${MEDIA_LINK_ATTR}], [${SYNC_ORIGIN_ATTR}]`)).flatMap((el) => [
|
|
72
|
+
el.id,
|
|
73
|
+
el.getAttribute(MEDIA_LINK_ATTR) ?? "",
|
|
74
|
+
el.getAttribute(SYNC_ORIGIN_ATTR) ?? ""
|
|
75
|
+
]);
|
|
76
|
+
}
|
|
77
|
+
function renameShared(doc, ids, attr, taken) {
|
|
78
|
+
const renamed = /* @__PURE__ */ new Map();
|
|
79
|
+
for (const id of ids) {
|
|
80
|
+
const el = doc.getElementById(id);
|
|
81
|
+
const old = el?.getAttribute(attr);
|
|
82
|
+
if (!el || !old)
|
|
83
|
+
continue;
|
|
84
|
+
let fresh = renamed.get(old);
|
|
85
|
+
if (!fresh) {
|
|
86
|
+
fresh = mintLinkId(taken);
|
|
87
|
+
taken.add(fresh);
|
|
88
|
+
renamed.set(old, fresh);
|
|
89
|
+
}
|
|
90
|
+
el.setAttribute(attr, fresh);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function relinkSplitHalves(doc, rightHalfIds) {
|
|
94
|
+
const taken = new Set(takenLinkIds(doc));
|
|
95
|
+
renameShared(doc, rightHalfIds, MEDIA_LINK_ATTR, taken);
|
|
96
|
+
renameShared(doc, idsWithBothSidesCut(doc, rightHalfIds), SYNC_ORIGIN_ATTR, taken);
|
|
97
|
+
}
|
|
98
|
+
function idsWithBothSidesCut(doc, rightHalfIds) {
|
|
99
|
+
const tagsByOrigin = /* @__PURE__ */ new Map();
|
|
100
|
+
const originOf = (id) => doc.getElementById(id)?.getAttribute(SYNC_ORIGIN_ATTR) ?? null;
|
|
101
|
+
for (const id of rightHalfIds) {
|
|
102
|
+
const origin = originOf(id);
|
|
103
|
+
const tag = doc.getElementById(id)?.tagName.toLowerCase();
|
|
104
|
+
if (!origin || !tag)
|
|
105
|
+
continue;
|
|
106
|
+
tagsByOrigin.set(origin, (tagsByOrigin.get(origin) ?? /* @__PURE__ */ new Set()).add(tag));
|
|
107
|
+
}
|
|
108
|
+
return rightHalfIds.filter((id) => {
|
|
109
|
+
const tags = tagsByOrigin.get(originOf(id) ?? "");
|
|
110
|
+
return tags?.has("video") === true && tags.has("audio");
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
var SYNC_ORIGIN_ATTR = "data-sync-origin";
|
|
114
|
+
var rateOf = (timing) => timing.playbackRate > 0 ? timing.playbackRate : 1;
|
|
115
|
+
function sourceZeroTime(timing) {
|
|
116
|
+
return timing.start - timing.mediaStart / rateOf(timing);
|
|
117
|
+
}
|
|
118
|
+
function syncOffsetFrames(clip, partner, fps) {
|
|
119
|
+
if (Math.abs(rateOf(clip) - rateOf(partner)) > 1e-6)
|
|
120
|
+
return null;
|
|
121
|
+
const frames = Math.round((sourceZeroTime(clip) - sourceZeroTime(partner)) * fps);
|
|
122
|
+
return Object.is(frames, -0) ? 0 : frames;
|
|
123
|
+
}
|
|
124
|
+
function sharedSeconds(a, b) {
|
|
125
|
+
return Math.min(a.start + a.duration, b.start + b.duration) - Math.max(a.start, b.start);
|
|
126
|
+
}
|
|
127
|
+
function sameOriginInScope(el, tag, origin) {
|
|
128
|
+
const scopeOf = (node) => node.closest(LINK_SCOPE_SELECTOR) ?? el.ownerDocument;
|
|
129
|
+
const scope = scopeOf(el);
|
|
130
|
+
return Array.from(scope.querySelectorAll(tag)).filter((candidate) => candidate.getAttribute(SYNC_ORIGIN_ATTR) === origin && scopeOf(candidate) === scope);
|
|
131
|
+
}
|
|
132
|
+
function findSyncPartner(el) {
|
|
133
|
+
const origin = el.getAttribute(SYNC_ORIGIN_ATTR);
|
|
134
|
+
const tag = el.tagName.toLowerCase();
|
|
135
|
+
if (!origin || tag !== "video" && tag !== "audio")
|
|
136
|
+
return null;
|
|
137
|
+
const partnerTag = tag === "video" ? "audio" : "video";
|
|
138
|
+
const own = readLinkTiming(el);
|
|
139
|
+
let best = null;
|
|
140
|
+
for (const candidate of sameOriginInScope(el, partnerTag, origin)) {
|
|
141
|
+
const timing = readLinkTiming(candidate);
|
|
142
|
+
const shared = sharedSeconds(own, timing);
|
|
143
|
+
const distance = Math.abs(timing.start - own.start);
|
|
144
|
+
if (!best || shared > best.shared || shared === best.shared && distance < best.distance) {
|
|
145
|
+
best = { el: candidate, shared, distance };
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return best?.el ?? null;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// ../studio-server/dist/chunk-Z4DIWF3Z.js
|
|
40
152
|
function parseStyleDecls(style) {
|
|
41
153
|
const props = /* @__PURE__ */ new Map();
|
|
42
154
|
const order = [];
|
|
@@ -497,8 +609,25 @@ function unwrapElementsFromHtml(source, groupTarget, childTracks = []) {
|
|
|
497
609
|
groupCenter
|
|
498
610
|
};
|
|
499
611
|
}
|
|
612
|
+
function relinkSplitHalvesInHtml(source, rightHalfIds) {
|
|
613
|
+
const { document, wrappedFragment } = parseSourceDocument(source);
|
|
614
|
+
const carriesPairing = (id) => {
|
|
615
|
+
const el = document.getElementById(id);
|
|
616
|
+
return Boolean(el?.hasAttribute("data-link") || el?.hasAttribute("data-sync-origin"));
|
|
617
|
+
};
|
|
618
|
+
if (!rightHalfIds.some(carriesPairing)) {
|
|
619
|
+
return source;
|
|
620
|
+
}
|
|
621
|
+
relinkSplitHalves(document, rightHalfIds);
|
|
622
|
+
return wrappedFragment ? document.body.innerHTML || "" : document.toString();
|
|
623
|
+
}
|
|
500
624
|
|
|
501
625
|
export {
|
|
626
|
+
MEDIA_LINK_ATTR,
|
|
627
|
+
readLinkTiming,
|
|
628
|
+
relinkSplitHalves,
|
|
629
|
+
syncOffsetFrames,
|
|
630
|
+
findSyncPartner,
|
|
502
631
|
parseSourceDocument,
|
|
503
632
|
findTargetElement,
|
|
504
633
|
removeElementFromHtml,
|
|
@@ -508,5 +637,6 @@ export {
|
|
|
508
637
|
probeElementInSource,
|
|
509
638
|
splitElementInHtml,
|
|
510
639
|
wrapElementsInHtml,
|
|
511
|
-
unwrapElementsFromHtml
|
|
640
|
+
unwrapElementsFromHtml,
|
|
641
|
+
relinkSplitHalvesInHtml
|
|
512
642
|
};
|
|
@@ -6,34 +6,34 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
redactHome
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-3CPYTXZH.js";
|
|
10
10
|
import "./chunk-Z27A7NUB.js";
|
|
11
11
|
import "./chunk-5ETJX6WM.js";
|
|
12
12
|
import {
|
|
13
13
|
loadProducer
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-5ER3PYYP.js";
|
|
15
15
|
import {
|
|
16
16
|
DEFAULT_HISTORY_ROOT,
|
|
17
17
|
listProjectHistories,
|
|
18
18
|
pruneGoneProjectHistories
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-MR2LOG32.js";
|
|
20
|
+
import "./chunk-ZU54D6MI.js";
|
|
21
21
|
import "./chunk-WEATBQTR.js";
|
|
22
22
|
import "./chunk-5ON5GH3X.js";
|
|
23
23
|
import {
|
|
24
24
|
CACHE_DIR_NAME,
|
|
25
25
|
cleanupProxyCache
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-MGFVNTIB.js";
|
|
27
27
|
import {
|
|
28
28
|
formatBytes
|
|
29
29
|
} from "./chunk-IHFUKJOR.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-E4AYSXMS.js";
|
|
31
31
|
import "./chunk-TVCRUG2S.js";
|
|
32
32
|
import "./chunk-RDMAU7AJ.js";
|
|
33
33
|
import {
|
|
34
34
|
c
|
|
35
35
|
} from "./chunk-ZTZA4UWZ.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-CQRF7VU3.js";
|
|
37
37
|
import "./chunk-AMKC3AXA.js";
|
|
38
38
|
import {
|
|
39
39
|
defineCommand
|
|
@@ -48,18 +48,18 @@ import {
|
|
|
48
48
|
directorySizeBytes,
|
|
49
49
|
gcExtractionCache,
|
|
50
50
|
resolveExtractCacheDir
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-OF3RKOPU.js";
|
|
52
52
|
import "./chunk-B25H4M4V.js";
|
|
53
53
|
import "./chunk-UUDQD62L.js";
|
|
54
54
|
import "./chunk-DPVXBVLL.js";
|
|
55
|
-
import "./chunk-
|
|
55
|
+
import "./chunk-U4TDAJZE.js";
|
|
56
56
|
import "./chunk-YLVI7VL5.js";
|
|
57
57
|
import "./chunk-VC76R6W2.js";
|
|
58
58
|
import "./chunk-OFQWTKPW.js";
|
|
59
59
|
import "./chunk-N34BYX3E.js";
|
|
60
60
|
import "./chunk-LCSMOLGX.js";
|
|
61
61
|
import "./chunk-TWWSYAKJ.js";
|
|
62
|
-
import "./chunk-
|
|
62
|
+
import "./chunk-BAVM2XBR.js";
|
|
63
63
|
import "./chunk-HBBJFK6I.js";
|
|
64
64
|
import "./chunk-PJ3HDUCY.js";
|
|
65
65
|
import "./chunk-TQFG7HTI.js";
|
|
@@ -67,12 +67,12 @@ import "./chunk-GK4AIFIH.js";
|
|
|
67
67
|
import "./chunk-2PSPARWP.js";
|
|
68
68
|
import {
|
|
69
69
|
withMeta
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-TBYUUOJG.js";
|
|
71
71
|
import "./chunk-K4WIOZFP.js";
|
|
72
72
|
import "./chunk-XUXGIA7H.js";
|
|
73
73
|
import "./chunk-WERLJGIC.js";
|
|
74
74
|
import "./chunk-ISN5GRYI.js";
|
|
75
|
-
import "./chunk-
|
|
75
|
+
import "./chunk-3T4RQK6C.js";
|
|
76
76
|
import "./chunk-KNU5COPB.js";
|
|
77
77
|
import "./chunk-XT5P4QMO.js";
|
|
78
78
|
import "./chunk-6BEFEWFB.js";
|