hyperframes 0.8.106 → 0.8.108
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-QRAI4CAF.js → add-OH75E7FX.js} +16 -16
- package/dist/{animatedGifPrep-RZVYVAXD.js → animatedGifPrep-ZDAWSJYL.js} +7 -7
- package/dist/{asset-WFBQ5VS6.js → asset-BVDO4DEW.js} +2 -2
- package/dist/{assetCataloger-BQREHRS2.js → assetCataloger-FXEHOUA3.js} +3 -3
- package/dist/{auth-LVD6TWYG.js → auth-K5GUKO5S.js} +2 -2
- package/dist/{autoUpdate-HGE2PUZY.js → autoUpdate-77ROWK5G.js} +2 -2
- package/dist/{backgroundChecks-63CSE4XR.js → backgroundChecks-3Q3D5WBJ.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-AQN5PRXM.js → batchRender-ZTHFMHZY.js} +4 -4
- package/dist/{beats-OBCN5OSQ.js → beats-HQZPR6KE.js} +19 -13
- package/dist/{benchmark-DYHJSR7W.js → benchmark-BQOWARGU.js} +13 -13
- package/dist/{browser-JLYV5T7O.js → browser-45CK7HXI.js} +10 -10
- package/dist/{bundleWithLocalizedFonts-JKJKZR2S.js → bundleWithLocalizedFonts-3M2LKRHK.js} +2 -2
- package/dist/{capture-5BCJWVC7.js → capture-6IVZXM7G.js} +2 -2
- package/dist/{capture-QYLHIYKJ.js → capture-VGEUOP7N.js} +8 -8
- package/dist/{catalog-6UYNKENR.js → catalog-VHD7B6FD.js} +16 -16
- package/dist/{check-YOGAZ6UE.js → check-UPNZZJXV.js} +32 -31
- package/dist/{checkBrowser-M73YHPNM.js → checkBrowser-KWTHKOOP.js} +31 -30
- package/dist/{chunk-JYRPUDVZ.js → chunk-5N4KKGSZ.js} +1 -1
- package/dist/{normalize-audio-H3SI5V63.js → chunk-5ON5GH3X.js} +101 -209
- package/dist/{chunk-NRMYDPFQ.js → chunk-5R5UHSXN.js} +9 -9
- package/dist/{chunk-OSZJCBZX.js → chunk-AFGDOKRI.js} +7 -7
- package/dist/{chunk-6CN2QLB5.js → chunk-AWUZ3AUD.js} +1 -1
- package/dist/{chunk-TEXPOC5V.js → chunk-B25H4M4V.js} +2 -2
- package/dist/{chunk-JXXE3SWC.js → chunk-C6XQER6H.js} +28 -14
- package/dist/{chunk-Y2CZEJPK.js → chunk-CFC3EEDQ.js} +2 -2
- package/dist/{chunk-PB2OX2JY.js → chunk-D7SCIX4D.js} +1 -1
- package/dist/{chunk-AXWBDWAV.js → chunk-FZGUZIK5.js} +3 -3
- package/dist/{chunk-4WAMN4IF.js → chunk-GYYFNAVA.js} +1 -1
- package/dist/{chunk-TYA65W4U.js → chunk-HQGJLZB6.js} +2 -2
- package/dist/{chunk-LAHK4P7Q.js → chunk-J7XPPADY.js} +3 -3
- package/dist/{chunk-I77CAR4W.js → chunk-KVOWTRD5.js} +2 -2
- package/dist/{chunk-GVZYTDOD.js → chunk-KZ5OSG4G.js} +1 -1
- package/dist/{chunk-IBCGKQB5.js → chunk-KZJ6V7RT.js} +3 -3
- package/dist/{chunk-HUHJYNST.js → chunk-LAQEZHOH.js} +1 -1
- package/dist/{chunk-HFFR7TN7.js → chunk-LPXM5L6S.js} +2 -1
- package/dist/{chunk-2IZZZJDZ.js → chunk-LTYI4E42.js} +4 -4
- package/dist/{chunk-J3Q3YC6P.js → chunk-LZPAZZZP.js} +1 -1
- package/dist/{chunk-5TBFBLIX.js → chunk-MGTECHI3.js} +2 -2
- package/dist/{chunk-4I6AQUWG.js → chunk-NGVH2QYT.js} +8 -8
- package/dist/{chunk-M4KS6MJN.js → chunk-NJLFRKHX.js} +4 -4
- package/dist/{chunk-6LPWMCPY.js → chunk-NROJESOK.js} +2 -2
- package/dist/{chunk-UVUAU3CH.js → chunk-ONY5CJXS.js} +48 -26
- package/dist/{chunk-O5TBFZ7X.js → chunk-OVRFBUXU.js} +2 -2
- package/dist/{chunk-6F6EEQNB.js → chunk-PSGDNMM6.js} +1 -1
- package/dist/{chunk-AZQLJHAO.js → chunk-PZTEY73C.js} +1 -1
- package/dist/{chunk-VW5OMJNG.js → chunk-QB6OM2BP.js} +89 -70
- package/dist/{chunk-I6M4GXMC.js → chunk-QBHT234I.js} +1 -1
- package/dist/{chunk-TMLEIURT.js → chunk-QRXICW5Q.js} +1 -1
- package/dist/{chunk-4NJZZHYT.js → chunk-RPMXMOFU.js} +1 -1
- package/dist/{chunk-XZSH5GS7.js → chunk-RSL3XFMO.js} +4 -4
- package/dist/{chunk-PUB5XZYL.js → chunk-SIVCJJHE.js} +1 -1
- package/dist/{chunk-UUE5BZGE.js → chunk-SQ42NHXP.js} +620 -74
- package/dist/{chunk-GOI4GCUB.js → chunk-THVNQFYG.js} +1 -1
- package/dist/{chunk-IQ4UCWV7.js → chunk-TIZQC44K.js} +1 -1
- package/dist/{chunk-FTXU3TQ4.js → chunk-US7SWKGC.js} +1 -1
- package/dist/{chunk-TLYU5625.js → chunk-UUDQD62L.js} +6 -6
- package/dist/{chunk-2LCIQS3K.js → chunk-VBXJSCHR.js} +3 -3
- package/dist/{chunk-DVCYGZ7R.js → chunk-VLHN34SB.js} +2 -2
- package/dist/{chunk-4Z5O7BTD.js → chunk-WEATBQTR.js} +10 -1
- package/dist/{chunk-TH4APNRP.js → chunk-X763EUBO.js} +2 -2
- package/dist/{chunk-32Y3HRS3.js → chunk-XIGK4LNU.js} +2 -2
- package/dist/{chunk-R5RF3LGS.js → chunk-XMAL2A7Y.js} +1 -1
- package/dist/{chunk-USWOTTSP.js → chunk-XYVFPDNU.js} +1 -1
- package/dist/chunk-YLVI7VL5.js +3541 -0
- package/dist/{chunk-YVWILZCO.js → chunk-ZFL6FVQZ.js} +5 -5
- package/dist/{clean-GRX3GXKR.js → clean-LCRWNIWO.js} +17 -16
- package/dist/cli.js +50 -50
- package/dist/{cloud-TQCNBM6H.js → cloud-ITRFE5UN.js} +4 -4
- package/dist/{cloudrun-ISE6GSUO.js → cloudrun-LVZ4OPPC.js} +5 -5
- package/dist/{compare-QAWB3O4U.js → compare-NPVMUILH.js} +26 -25
- package/dist/{compiler-QMEZK6CU.js → compiler-YYOV2BJ7.js} +3 -3
- package/dist/{component-NXNNSXN7.js → component-HJFMHPNW.js} +3 -3
- package/dist/{compositions-I4PIPJKO.js → compositions-I34RN5WD.js} +12 -12
- package/dist/{delete-ZC4ZRBBF.js → delete-WN3J74BD.js} +4 -4
- package/dist/{deterministicFonts-XS3PGWH5.js → deterministicFonts-A4CNCSAL.js} +2 -2
- package/dist/{dist-E44WU6LH.js → dist-WCMFH74H.js} +1 -1
- package/dist/{dist-R24TLUYO.js → dist-YUIPB7OX.js} +9 -3
- package/dist/docs/data-attributes.md +1 -1
- package/dist/{doctor-EFQ4XNT3.js → doctor-MYC2S3J3.js} +11 -11
- package/dist/{events-AVPSJNYU.js → events-7JVV4746.js} +10 -10
- package/dist/{events-COIPJKSK.js → events-AEUV2JPA.js} +9 -9
- package/dist/{feedback-3DYZDMLC.js → feedback-X7DDSZPU.js} +11 -11
- package/dist/{figma-7XPHSMNG.js → figma-ISI4PPTF.js} +3 -3
- package/dist/fontLocalizeCli.js +10 -10
- package/dist/{get-TSBHDMKL.js → get-IYALAE4I.js} +4 -4
- package/dist/{gpuPolicy-BQFPO7UA.js → gpuPolicy-KSWTVU5C.js} +7 -7
- package/dist/{grade-compare-5Y4LXQFG.js → grade-compare-YWPIWQLK.js} +26 -25
- package/dist/{gsapParser-EZGJSSV5.js → gsapParser-KVMPC2SC.js} +5 -1
- package/dist/{help-5YBRP3C4.js → help-S2KJRMAJ.js} +1 -1
- package/dist/{history-SRNXKL6D.js → history-CQDDCY4J.js} +17 -16
- package/dist/hyperframe-runtime.js +54 -54
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +54 -54
- package/dist/hyperframes-player.global.js +3 -3
- package/dist/{info-U4BOXV2I.js → info-4KFNUWYN.js} +12 -12
- package/dist/{init-T4JYHIBM.js → init-I7GMRHFW.js} +98 -42
- package/dist/{inspect-XYLD2BMM.js → inspect-DUCLCHSD.js} +27 -26
- package/dist/{installer-UZSVMUKT.js → installer-NBEN3ZIP.js} +5 -5
- package/dist/{keyframes-BGPXWP7O.js → keyframes-F3VDEN66.js} +13 -13
- package/dist/{lambda-U4WIJQCJ.js → lambda-BFHJMMCG.js} +6 -6
- package/dist/{layout-UREZQ37U.js → layout-RNCXJI6C.js} +27 -26
- package/dist/{lint-LSTEZZ6T.js → lint-3NKKYCMH.js} +13 -13
- package/dist/{lintProject-4P4C6AN2.js → lintProject-F2OTN2IR.js} +1 -1
- package/dist/{list-6VICFTAM.js → list-Q7SOE3NF.js} +4 -4
- package/dist/{login-MXDIDOOG.js → login-TGRGWS5E.js} +4 -4
- package/dist/{media-treatment-ZVCWEACM.js → media-treatment-5TUXWHWE.js} +13 -13
- package/dist/{models-LXUIU5DC.js → models-YJUTM6TH.js} +8 -8
- package/dist/{motionShot-2LYUQF3T.js → motionShot-5QUMZ7J3.js} +11 -11
- package/dist/normalize-audio-63BI5BPL.js +276 -0
- package/dist/{pipeline-OFFKTFXS.js → pipeline-4NN5T7Q3.js} +7 -7
- package/dist/{play-P56CWNVC.js → play-SRDESSZI.js} +22 -21
- package/dist/{preflight-TVCVP5P2.js → preflight-SVN4PSFO.js} +8 -8
- package/dist/{present-ATMOWKMH.js → present-TDYR5LRW.js} +18 -17
- package/dist/{preview-7U6HYHYE.js → preview-Z5MFRZUM.js} +18 -18
- package/dist/{producer-LGG3TOUI.js → producer-RS7CB3XJ.js} +1 -1
- package/dist/{projectConfig-V53SEFIS.js → projectConfig-JHEWPAA5.js} +7 -7
- package/dist/{publication-7RKKPKLM.js → publication-7XA2H7UB.js} +3 -3
- package/dist/{publish-TRRFCEMQ.js → publish-2R22XX77.js} +9 -9
- package/dist/{remove-background-HJFT46Z5.js → remove-background-KT2SWYCC.js} +8 -8
- package/dist/{render-TPZ5FXHS.js → render-4C3YKVZI.js} +4 -4
- package/dist/{render-YB7BARWL.js → render-7GDLEGXT.js} +15 -15
- package/dist/{render-2QZBNE2V.js → render-Y2Y7N5WD.js} +22 -22
- package/dist/{render-batch-4ZF5C2LN.js → render-batch-AFDBPDMM.js} +4 -4
- package/dist/{renderCancellation-4PYGAN5D.js → renderCancellation-RQ3UVNVJ.js} +7 -7
- package/dist/renderSetupWorker.js +1 -1
- package/dist/{resolver-4JRJPC6S.js → resolver-S72XBTEQ.js} +5 -5
- package/dist/{sherpa-MNCWRFD4.js → sherpa-PR3I4KGM.js} +10 -10
- package/dist/{skills-ETBA5B46.js → skills-BEYZZWY6.js} +12 -12
- package/dist/{skillsUpdateCheck-DQOUIYV5.js → skillsUpdateCheck-3USXDPWV.js} +3 -3
- package/dist/{snapshot-W3HTBAYH.js → snapshot-S77MQOV2.js} +27 -26
- package/dist/{src-QX5PPANW.js → src-6R4DC2YI.js} +6 -6
- package/dist/{src-QF6RYX76.js → src-IOJXK4VC.js} +9 -9
- package/dist/{staticProjectServer-WBXW2CA4.js → staticProjectServer-RXAFGDK7.js} +16 -15
- package/dist/{status-C3IDZFDG.js → status-CRS7H6FA.js} +7 -7
- package/dist/studio/assets/{hyperframes-player-dl6K6ABp.js → hyperframes-player-BakGew45.js} +1 -1
- package/dist/studio/assets/{index-ooaZZhKf.js → index-C5dyUHwk.js} +1 -1
- package/dist/studio/assets/{index-CMiYVGv5.js → index-C842tcVa.js} +203 -208
- package/dist/studio/assets/{index-DKT5NF1Y.js → index-CPe7d_wO.js} +1 -1
- package/dist/studio/assets/{index-lrT-gfHa.css → index-ncVJ5IVu.css} +1 -1
- package/dist/studio/chunk-6LUNLTHR.js +611 -0
- package/dist/studio/chunk-6LUNLTHR.js.map +1 -0
- package/dist/studio/{chunk-ICTZJPQQ.js → chunk-AOWVEVEU.js} +3 -494
- package/dist/studio/chunk-AOWVEVEU.js.map +1 -0
- package/dist/studio/{chunk-46XP7J3B.js → chunk-PQFEBX32.js} +5 -3
- package/dist/studio/chunk-PQFEBX32.js.map +1 -0
- package/dist/studio/{domEditingLayers-AQBDFNUC.js → domEditingLayers-JQPQGGT7.js} +3 -3
- package/dist/studio/index.d.ts +377 -12
- package/dist/studio/index.html +2 -2
- package/dist/studio/index.js +13445 -11874
- 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-api-6IJPJVG6.js → studio-api-3FH7OSSS.js} +10 -9
- package/dist/{studioServer-77CY4XPO.js → studioServer-4E5RRPU7.js} +49 -42
- package/dist/{system-OAB2LYBV.js → system-YMANAUAM.js} +7 -7
- package/dist/{telemetry-XTN5BO5S.js → telemetry-46XSB2VN.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-YKKTGPL7.js → timeline-XKLKHGD2.js} +17 -16
- package/dist/{tokens-LU25F3IJ.js → tokens-JCZKPUPT.js} +2 -2
- package/dist/{transcribe-O7OL4RRU.js → transcribe-FIFJ3BBB.js} +13 -13
- package/dist/{transcribe-AL3E5MBZ.js → transcribe-FQ4YC2AS.js} +10 -8
- package/dist/{updateCheck-MZZML4DL.js → updateCheck-PDIH4GZW.js} +2 -2
- package/dist/{upgrade-PQRTEJJY.js → upgrade-TTGO6JCF.js} +2 -2
- package/dist/{urlDownloader-U3TNOPD5.js → urlDownloader-32JRHOPN.js} +6 -6
- package/dist/{validate-KQETGCIR.js → validate-G5F56ONL.js} +16 -16
- package/dist/{video-KAHL76HG.js → video-SGBEMEKA.js} +7 -7
- package/package.json +1 -1
- package/dist/chunk-FOKUJKBN.js +0 -3420
- package/dist/studio/chunk-46XP7J3B.js.map +0 -1
- package/dist/studio/chunk-DI4LCJHL.js +0 -102
- package/dist/studio/chunk-DI4LCJHL.js.map +0 -1
- package/dist/studio/chunk-ICTZJPQQ.js.map +0 -1
- /package/dist/studio/{domEditingLayers-AQBDFNUC.js.map → domEditingLayers-JQPQGGT7.js.map} +0 -0
|
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
VALID_CANVAS_RESOLUTIONS,
|
|
9
9
|
resolveResolutionFlagPair
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-UUDQD62L.js";
|
|
11
11
|
|
|
12
12
|
// src/utils/parseOutputResolution.ts
|
|
13
13
|
function parseOutputResolutionFlag(raw, options) {
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
renderFrameIdForRenderId,
|
|
23
23
|
resolveAuthoredTimingWindow,
|
|
24
24
|
toFps
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-B25H4M4V.js";
|
|
26
26
|
import {
|
|
27
27
|
AUDIO_GROUP_RENDER_ID_ATTR,
|
|
28
28
|
COLOR_GRADING_SOURCE_HIDDEN_ATTR,
|
|
@@ -36,6 +36,7 @@ import {
|
|
|
36
36
|
enabledAudioFxNodes,
|
|
37
37
|
fxAutomationTarget,
|
|
38
38
|
injectScriptsIntoHtml,
|
|
39
|
+
isAudibleVideoElement,
|
|
39
40
|
normalizeAudioFxParams,
|
|
40
41
|
normalizePlaybackRate,
|
|
41
42
|
normalizeRateSpec,
|
|
@@ -51,7 +52,7 @@ import {
|
|
|
51
52
|
shiftRateLane,
|
|
52
53
|
sourceTimeAt,
|
|
53
54
|
timeAtSourceTime
|
|
54
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-YLVI7VL5.js";
|
|
55
56
|
import {
|
|
56
57
|
chromeMajorCeiling,
|
|
57
58
|
exceedsChromeCeiling
|
|
@@ -59,7 +60,7 @@ import {
|
|
|
59
60
|
import {
|
|
60
61
|
isWithinProjectRoot,
|
|
61
62
|
resolveProjectRelativeSrc
|
|
62
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-ONY5CJXS.js";
|
|
63
64
|
import {
|
|
64
65
|
FFMPEG_PATH_ENV,
|
|
65
66
|
FFPROBE_PATH_ENV,
|
|
@@ -9460,6 +9461,78 @@ FFmpeg stopped after ${streamingTimeout} ms without consuming a frame.` : "";
|
|
|
9460
9461
|
return encoder;
|
|
9461
9462
|
}
|
|
9462
9463
|
|
|
9464
|
+
// ../core/dist/audioGroups.js
|
|
9465
|
+
var HF_AUDIO_GROUP_TAG = "hf-audio-group";
|
|
9466
|
+
var HF_AUDIO_GROUP_ATTR = "data-audio-group";
|
|
9467
|
+
function readAudioGroupVolume(el) {
|
|
9468
|
+
const raw = el?.getAttribute("data-volume");
|
|
9469
|
+
const parsed = raw ? parseFloat(raw) : 1;
|
|
9470
|
+
return Number.isFinite(parsed) ? parsed : 1;
|
|
9471
|
+
}
|
|
9472
|
+
function buildGroup(id, memberIds, el) {
|
|
9473
|
+
const fxChain = el?.getAttribute(HF_AUDIO_FX_ATTR);
|
|
9474
|
+
const automation = el?.getAttribute(HF_AUDIO_AUTOMATION_ATTR);
|
|
9475
|
+
return {
|
|
9476
|
+
id,
|
|
9477
|
+
label: el?.getAttribute("data-label") || id,
|
|
9478
|
+
memberIds,
|
|
9479
|
+
...fxChain ? { fxChain } : {},
|
|
9480
|
+
...automation ? { automation } : {},
|
|
9481
|
+
volume: readAudioGroupVolume(el),
|
|
9482
|
+
hidden: el?.hasAttribute("data-hidden") ?? false
|
|
9483
|
+
};
|
|
9484
|
+
}
|
|
9485
|
+
function resolveAudioGroups(root) {
|
|
9486
|
+
const membersByGroup = /* @__PURE__ */ new Map();
|
|
9487
|
+
const candidates = root.querySelectorAll(`audio[${HF_AUDIO_GROUP_ATTR}], video[${HF_AUDIO_GROUP_ATTR}]`);
|
|
9488
|
+
for (const member of candidates) {
|
|
9489
|
+
if (!isGroupableMember(member))
|
|
9490
|
+
continue;
|
|
9491
|
+
const groupId = member.getAttribute(AUDIO_GROUP_RENDER_ID_ATTR) ?? member.getAttribute(HF_AUDIO_GROUP_ATTR);
|
|
9492
|
+
if (!groupId || !member.id)
|
|
9493
|
+
continue;
|
|
9494
|
+
const members = membersByGroup.get(groupId);
|
|
9495
|
+
if (members)
|
|
9496
|
+
members.push(member.id);
|
|
9497
|
+
else
|
|
9498
|
+
membersByGroup.set(groupId, [member.id]);
|
|
9499
|
+
}
|
|
9500
|
+
const groupElements = /* @__PURE__ */ new Map();
|
|
9501
|
+
for (const el of root.querySelectorAll(HF_AUDIO_GROUP_TAG)) {
|
|
9502
|
+
const key = el.getAttribute(MEDIA_RENDER_ID_ATTR) ?? el.id;
|
|
9503
|
+
if (key)
|
|
9504
|
+
groupElements.set(key, el);
|
|
9505
|
+
}
|
|
9506
|
+
const groups = [];
|
|
9507
|
+
for (const [id, memberIds] of membersByGroup) {
|
|
9508
|
+
groups.push(buildGroup(id, memberIds, groupElements.get(id)));
|
|
9509
|
+
}
|
|
9510
|
+
return groups;
|
|
9511
|
+
}
|
|
9512
|
+
function isGroupableMember(el) {
|
|
9513
|
+
if (el.tagName.toLowerCase() === "audio")
|
|
9514
|
+
return true;
|
|
9515
|
+
return typeof el.hasAttribute === "function" && isAudibleVideoElement(el);
|
|
9516
|
+
}
|
|
9517
|
+
|
|
9518
|
+
// ../engine/src/services/mediaHidden.ts
|
|
9519
|
+
function isSelfOrAncestorHidden(el) {
|
|
9520
|
+
for (let current = el; current; current = current.parentElement) {
|
|
9521
|
+
if (current.hasAttribute("data-hidden")) return true;
|
|
9522
|
+
}
|
|
9523
|
+
return false;
|
|
9524
|
+
}
|
|
9525
|
+
function memberGroupKey(el) {
|
|
9526
|
+
return el.getAttribute(AUDIO_GROUP_RENDER_ID_ATTR) ?? el.getAttribute(HF_AUDIO_GROUP_ATTR);
|
|
9527
|
+
}
|
|
9528
|
+
function audioGroupsById(document2) {
|
|
9529
|
+
return new Map(resolveAudioGroups(document2).map((group) => [group.id, group]));
|
|
9530
|
+
}
|
|
9531
|
+
function isMemberGroupHidden(groupsById, el) {
|
|
9532
|
+
const groupId = memberGroupKey(el);
|
|
9533
|
+
return groupId ? groupsById.get(groupId)?.hidden ?? false : false;
|
|
9534
|
+
}
|
|
9535
|
+
|
|
9463
9536
|
// ../engine/src/services/videoFrameExtractor.ts
|
|
9464
9537
|
import { copyFileSync as copyFileSync2, existsSync as existsSync8, linkSync as linkSync2, mkdirSync as mkdirSync6, rmSync as rmSync3 } from "fs";
|
|
9465
9538
|
import { join as join9 } from "path";
|
|
@@ -11135,6 +11208,7 @@ function parseVideoElements(html) {
|
|
|
11135
11208
|
const { document: document2 } = parseHTML(unwrapTemplate(html));
|
|
11136
11209
|
const startCache = /* @__PURE__ */ new Map();
|
|
11137
11210
|
const visiting = /* @__PURE__ */ new Set();
|
|
11211
|
+
const groupsById = audioGroupsById(document2);
|
|
11138
11212
|
const videoEls = document2.querySelectorAll("video");
|
|
11139
11213
|
let autoIdCounter = 0;
|
|
11140
11214
|
for (const el of videoEls) {
|
|
@@ -11168,7 +11242,8 @@ function parseVideoElements(html) {
|
|
|
11168
11242
|
mediaStart: readMediaStart(el),
|
|
11169
11243
|
playbackRate: readElementRateSpec(el),
|
|
11170
11244
|
loop: el.hasAttribute("loop"),
|
|
11171
|
-
hasAudio: hasAudioAttr === "true"
|
|
11245
|
+
hasAudio: hasAudioAttr === "true",
|
|
11246
|
+
...isSelfOrAncestorHidden(el) || isAudibleVideoElement(el) && isMemberGroupHidden(groupsById, el) ? { hidden: true } : {}
|
|
11172
11247
|
});
|
|
11173
11248
|
}
|
|
11174
11249
|
return videos;
|
|
@@ -13196,52 +13271,6 @@ function chainTailSeconds(chain, automation) {
|
|
|
13196
13271
|
return Math.min(MAX_FX_TAIL_SECONDS, total);
|
|
13197
13272
|
}
|
|
13198
13273
|
|
|
13199
|
-
// ../core/dist/audioGroups.js
|
|
13200
|
-
var HF_AUDIO_GROUP_TAG = "hf-audio-group";
|
|
13201
|
-
var HF_AUDIO_GROUP_ATTR = "data-audio-group";
|
|
13202
|
-
function readAudioGroupVolume(el) {
|
|
13203
|
-
const raw = el?.getAttribute("data-volume");
|
|
13204
|
-
const parsed = raw ? parseFloat(raw) : 1;
|
|
13205
|
-
return Number.isFinite(parsed) ? parsed : 1;
|
|
13206
|
-
}
|
|
13207
|
-
function buildGroup(id, memberIds, el) {
|
|
13208
|
-
const fxChain = el?.getAttribute(HF_AUDIO_FX_ATTR);
|
|
13209
|
-
const automation = el?.getAttribute(HF_AUDIO_AUTOMATION_ATTR);
|
|
13210
|
-
return {
|
|
13211
|
-
id,
|
|
13212
|
-
label: el?.getAttribute("data-label") || id,
|
|
13213
|
-
memberIds,
|
|
13214
|
-
...fxChain ? { fxChain } : {},
|
|
13215
|
-
...automation ? { automation } : {},
|
|
13216
|
-
volume: readAudioGroupVolume(el),
|
|
13217
|
-
hidden: el?.hasAttribute("data-hidden") ?? false
|
|
13218
|
-
};
|
|
13219
|
-
}
|
|
13220
|
-
function resolveAudioGroups(root) {
|
|
13221
|
-
const membersByGroup = /* @__PURE__ */ new Map();
|
|
13222
|
-
for (const member of root.querySelectorAll(`audio[${HF_AUDIO_GROUP_ATTR}]`)) {
|
|
13223
|
-
const groupId = member.getAttribute(AUDIO_GROUP_RENDER_ID_ATTR) ?? member.getAttribute(HF_AUDIO_GROUP_ATTR);
|
|
13224
|
-
if (!groupId || !member.id)
|
|
13225
|
-
continue;
|
|
13226
|
-
const members = membersByGroup.get(groupId);
|
|
13227
|
-
if (members)
|
|
13228
|
-
members.push(member.id);
|
|
13229
|
-
else
|
|
13230
|
-
membersByGroup.set(groupId, [member.id]);
|
|
13231
|
-
}
|
|
13232
|
-
const groupElements = /* @__PURE__ */ new Map();
|
|
13233
|
-
for (const el of root.querySelectorAll(HF_AUDIO_GROUP_TAG)) {
|
|
13234
|
-
const key = el.getAttribute(MEDIA_RENDER_ID_ATTR) ?? el.id;
|
|
13235
|
-
if (key)
|
|
13236
|
-
groupElements.set(key, el);
|
|
13237
|
-
}
|
|
13238
|
-
const groups = [];
|
|
13239
|
-
for (const [id, memberIds] of membersByGroup) {
|
|
13240
|
-
groups.push(buildGroup(id, memberIds, groupElements.get(id)));
|
|
13241
|
-
}
|
|
13242
|
-
return groups;
|
|
13243
|
-
}
|
|
13244
|
-
|
|
13245
13274
|
// ../engine/src/services/audioFxRender.ts
|
|
13246
13275
|
import { existsSync as existsSync9, mkdtempSync as mkdtempSync4, readFileSync as readFileSync6, rmSync as rmSync5, writeFileSync as writeFileSync5 } from "fs";
|
|
13247
13276
|
import { tmpdir as tmpdir2 } from "os";
|
|
@@ -13502,9 +13531,6 @@ function envelopeWalkerFor(envelope) {
|
|
|
13502
13531
|
|
|
13503
13532
|
// ../engine/src/services/audioMixer.ts
|
|
13504
13533
|
var MIXED_AUDIO_FILENAME = "audio.m4a";
|
|
13505
|
-
function memberGroupKey(el) {
|
|
13506
|
-
return el.getAttribute(AUDIO_GROUP_RENDER_ID_ATTR) ?? el.getAttribute(HF_AUDIO_GROUP_ATTR);
|
|
13507
|
-
}
|
|
13508
13534
|
function clampVolume(volume) {
|
|
13509
13535
|
return clampAudioGain(volume);
|
|
13510
13536
|
}
|
|
@@ -13802,26 +13828,18 @@ function parseAudioElements(html) {
|
|
|
13802
13828
|
const parseEnd = (raw) => {
|
|
13803
13829
|
return parseStrictFiniteTimingNumber(raw) ?? 0;
|
|
13804
13830
|
};
|
|
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
|
-
};
|
|
13831
|
+
const isHidden = isSelfOrAncestorHidden;
|
|
13811
13832
|
const groupsById = new Map(
|
|
13812
13833
|
resolveAudioGroups(document2).map((group) => [group.id, group])
|
|
13813
13834
|
);
|
|
13814
|
-
const memberGroupHidden = (el) =>
|
|
13815
|
-
|
|
13816
|
-
return groupId ? groupsById.get(groupId)?.hidden ?? false : false;
|
|
13817
|
-
};
|
|
13818
|
-
const build = (el, id, src, type) => {
|
|
13835
|
+
const memberGroupHidden = (el) => isMemberGroupHidden(groupsById, el);
|
|
13836
|
+
const build = (el, id, src, type, joinsGroup) => {
|
|
13819
13837
|
const layerAttr = el.getAttribute("data-layer");
|
|
13820
13838
|
const volumeAttr = el.getAttribute("data-volume");
|
|
13821
13839
|
const fades = readElementFades(el);
|
|
13822
13840
|
const fxChain = el.getAttribute(HF_AUDIO_FX_ATTR);
|
|
13823
13841
|
const automation = el.getAttribute(HF_AUDIO_AUTOMATION_ATTR);
|
|
13824
|
-
const groupId =
|
|
13842
|
+
const groupId = joinsGroup ? memberGroupKey(el) : null;
|
|
13825
13843
|
const group = groupId ? groupsById.get(groupId) : void 0;
|
|
13826
13844
|
return {
|
|
13827
13845
|
id,
|
|
@@ -13851,14 +13869,15 @@ function parseAudioElements(html) {
|
|
|
13851
13869
|
const src = resolveMediaElementSrc(el);
|
|
13852
13870
|
if (!id || !src || isHidden(el) || memberGroupHidden(el)) continue;
|
|
13853
13871
|
if (isKnownInactiveTimelineWindow(el, resolveStart(el))) continue;
|
|
13854
|
-
elements.push(build(el, id, src, "audio"));
|
|
13872
|
+
elements.push(build(el, id, src, "audio", true));
|
|
13855
13873
|
}
|
|
13856
13874
|
for (const el of document2.querySelectorAll('video[id][data-has-audio="true"]')) {
|
|
13875
|
+
if (!isAudibleVideoElement(el)) continue;
|
|
13857
13876
|
const id = trackId(el);
|
|
13858
13877
|
const src = resolveMediaElementSrc(el);
|
|
13859
|
-
if (!id || !src || isHidden(el)) continue;
|
|
13878
|
+
if (!id || !src || isHidden(el) || memberGroupHidden(el)) continue;
|
|
13860
13879
|
if (isKnownInactiveTimelineWindow(el, resolveStart(el))) continue;
|
|
13861
|
-
elements.push(build(el, `${id}-audio`, src, "video"));
|
|
13880
|
+
elements.push(build(el, `${id}-audio`, src, "video", true));
|
|
13862
13881
|
}
|
|
13863
13882
|
return elements;
|
|
13864
13883
|
}
|
|
@@ -15861,6 +15880,8 @@ export {
|
|
|
15861
15880
|
applyFaststart,
|
|
15862
15881
|
createFrameReorderBuffer,
|
|
15863
15882
|
spawnStreamingEncoder,
|
|
15883
|
+
HF_AUDIO_GROUP_TAG,
|
|
15884
|
+
HF_AUDIO_GROUP_ATTR,
|
|
15864
15885
|
resolveReferencedStart,
|
|
15865
15886
|
resolveReferencedDuration,
|
|
15866
15887
|
safeDownloadUrlIdentity,
|
|
@@ -15904,8 +15925,6 @@ export {
|
|
|
15904
15925
|
fingerprintElementId,
|
|
15905
15926
|
isNotMediaPayload,
|
|
15906
15927
|
assertMediaPayload,
|
|
15907
|
-
HF_AUDIO_GROUP_TAG,
|
|
15908
|
-
HF_AUDIO_GROUP_ATTR,
|
|
15909
15928
|
MIXED_AUDIO_FILENAME,
|
|
15910
15929
|
parseAudioElements,
|
|
15911
15930
|
processCompositionAudio,
|
|
@@ -12,18 +12,18 @@ import {
|
|
|
12
12
|
} from "./chunk-262C25DQ.js";
|
|
13
13
|
import {
|
|
14
14
|
resolveDiagnosticNavigationTimeoutMs
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-TIZQC44K.js";
|
|
16
16
|
import {
|
|
17
17
|
resolveCaptureBrowserGpuMode,
|
|
18
18
|
resolveLocalBrowserGpuMode
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-GYYFNAVA.js";
|
|
20
20
|
import {
|
|
21
21
|
c
|
|
22
22
|
} from "./chunk-ZTZA4UWZ.js";
|
|
23
23
|
import {
|
|
24
24
|
assertWebGpuAdapterAvailable,
|
|
25
25
|
compositionRequiresWebGpu
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-QB6OM2BP.js";
|
|
27
27
|
import {
|
|
28
28
|
normalizeErrorMessage
|
|
29
29
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -99,7 +99,7 @@ async function openSettledCompositionPage(html, url, options) {
|
|
|
99
99
|
const { ensureBrowser, findSystemBrowser } = await import("./manager-NEVLEZK3.js");
|
|
100
100
|
const browser = await ensureBrowser();
|
|
101
101
|
const puppeteer = await import("puppeteer-core");
|
|
102
|
-
const { buildChromeArgs } = await import("./src-
|
|
102
|
+
const { buildChromeArgs } = await import("./src-6R4DC2YI.js");
|
|
103
103
|
const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
|
|
104
104
|
const requiresWebGpu = compositionRequiresWebGpu(html);
|
|
105
105
|
const launch = async (executablePath) => {
|