hyperframes 0.8.133 → 0.8.135
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-KIAMI737.js → add-7E2GRDW5.js} +16 -16
- package/dist/{animatedGifPrep-P2T6YM7Z.js → animatedGifPrep-3AKQSXPU.js} +7 -7
- package/dist/{asset-KRQ4APXQ.js → asset-43SXDTJI.js} +2 -2
- package/dist/{assetCataloger-VBLPHX24.js → assetCataloger-KBN5LNK4.js} +3 -3
- package/dist/{auth-M4XWYQDV.js → auth-BWQ4HPK7.js} +2 -2
- package/dist/{autoUpdate-J7LNL4BP.js → autoUpdate-JTHQKHG5.js} +2 -2
- package/dist/{backgroundChecks-LLNHXZPY.js → backgroundChecks-H43RKGRE.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-FT7AP7XH.js → batchRender-VFXGGGJG.js} +4 -4
- package/dist/{beats-NOF2NADU.js → beats-HAOQC7GJ.js} +13 -13
- package/dist/{benchmark-XVHUNNCM.js → benchmark-ANUXIEPD.js} +13 -13
- package/dist/{browser-URZ3PY73.js → browser-HEICRDNT.js} +10 -10
- package/dist/{bundleWithLocalizedFonts-5QOPOB5D.js → bundleWithLocalizedFonts-5ATL25BF.js} +2 -2
- package/dist/{capture-RLZA6EMR.js → capture-DYBK5LGE.js} +10 -10
- package/dist/{capture-SZZ4IYJK.js → capture-UEJG6BUX.js} +2 -2
- package/dist/{catalog-EJBGGESW.js → catalog-2F5L72ZT.js} +16 -16
- package/dist/{check-RXLKRRB2.js → check-WZ5QMBBF.js} +33 -33
- package/dist/{checkBrowser-DNUQDCGD.js → checkBrowser-FXVVADP6.js} +32 -32
- package/dist/{chunk-MWB3ZIFM.js → chunk-2BJCQN7K.js} +1 -1
- package/dist/{chunk-LYNI3FOL.js → chunk-32QEFPDS.js} +1 -1
- package/dist/{chunk-4NWOGZZS.js → chunk-374QQGBQ.js} +26 -3
- package/dist/{chunk-QC4FJVLM.js → chunk-37EDNWLQ.js} +1 -1
- package/dist/{chunk-KBJUXVOJ.js → chunk-3NCZ2SCH.js} +3 -3
- package/dist/{chunk-IUZFXWSV.js → chunk-4AXZWUQ6.js} +1 -1
- package/dist/{chunk-3ZP5DXE7.js → chunk-527WRFUQ.js} +1 -1
- package/dist/{chunk-ZMXUQLI2.js → chunk-5ALWCRBU.js} +47 -25
- package/dist/{chunk-JEFU7IHM.js → chunk-AV7FBRWP.js} +2 -2
- package/dist/{chunk-2YN64IN5.js → chunk-BHOKLX4F.js} +2 -2
- package/dist/{chunk-HRUGC23L.js → chunk-BSU7EOWJ.js} +1 -1
- package/dist/{chunk-FCSIGXXP.js → chunk-BWJ27MQP.js} +1 -1
- package/dist/{chunk-PDAMK4Q5.js → chunk-D2KNWIQ6.js} +1 -1
- package/dist/{chunk-RMHUQGRK.js → chunk-GK5W3SIJ.js} +4 -4
- package/dist/{chunk-GK3QVRBM.js → chunk-GN6GW6IP.js} +9 -9
- package/dist/{chunk-6CTIGJY7.js → chunk-H4UIYRZZ.js} +2 -2
- package/dist/{chunk-DIFXJN2V.js → chunk-HNUHWAHR.js} +1 -1
- package/dist/{chunk-S55PCW5S.js → chunk-I54AADBN.js} +1 -1
- package/dist/{chunk-5OZGQCAB.js → chunk-KZ7B3XK7.js} +1 -1
- package/dist/{chunk-7JZ4FXP2.js → chunk-KZJPREW7.js} +1 -1
- package/dist/{chunk-ARR5QKPH.js → chunk-LKCICE2T.js} +10 -10
- package/dist/{chunk-YQZNILVH.js → chunk-LO7L5PJ3.js} +5 -5
- package/dist/{chunk-S7NPLFWV.js → chunk-LYJNFBD6.js} +792 -671
- package/dist/{chunk-7XKF2OB5.js → chunk-N3DZEPNT.js} +1 -1
- package/dist/{chunk-K2FTXJYH.js → chunk-N3KRRPL7.js} +81 -24
- package/dist/{chunk-ETWKKKJI.js → chunk-NDKVPWBH.js} +3 -3
- package/dist/{chunk-XS4EJSKU.js → chunk-OSSVNAI5.js} +1 -1
- package/dist/{chunk-AVUUN2XD.js → chunk-OZUQF4NB.js} +5 -4
- package/dist/{chunk-Z6B37SNM.js → chunk-PGFP4FLW.js} +12 -158
- package/dist/{chunk-SF4GTH2H.js → chunk-PULS7UW7.js} +2 -2
- package/dist/{chunk-A2Z4Z4VL.js → chunk-RTURM45Q.js} +1 -1
- package/dist/{chunk-TCLGPL65.js → chunk-RVG35AL2.js} +2 -2
- package/dist/{chunk-HKGEEUZV.js → chunk-SMWYGLTD.js} +7 -7
- package/dist/chunk-SRXQEQWZ.js +3742 -0
- package/dist/{chunk-K2EQN4VU.js → chunk-T5LPCY6I.js} +1 -1
- package/dist/{chunk-MAWC5PUQ.js → chunk-TKSAWNNI.js} +3 -3
- package/dist/{chunk-Q7IU7MOR.js → chunk-V26IB6L2.js} +2 -2
- package/dist/{chunk-CWPVM2QV.js → chunk-V2J2ZWPR.js} +2 -2
- package/dist/{chunk-ZJUKFZ2P.js → chunk-VDQCNWQI.js} +2 -2
- package/dist/{chunk-CFKU7HTK.js → chunk-VNC6YQOC.js} +1 -1
- package/dist/{chunk-WPHMNO44.js → chunk-WJFCDDP7.js} +1 -1
- package/dist/{chunk-VTUOQTFU.js → chunk-WVRNPWVW.js} +1 -1
- package/dist/{chunk-7HG4BFIN.js → chunk-XE6S5CE6.js} +1 -1
- package/dist/{chunk-U7CKZ7BR.js → chunk-XFKPUKL7.js} +4 -4
- package/dist/{chunk-UEZXMWG3.js → chunk-XSWKLDVC.js} +2 -2
- package/dist/{chunk-64TQHBM7.js → chunk-XZVPQYLU.js} +5 -5
- package/dist/{chunk-LHSR3M4M.js → chunk-Z3EFUXL5.js} +2 -2
- package/dist/{chunk-MJ5XLLXY.js → chunk-Z3KAYWE5.js} +3 -3
- package/dist/{clean-XMQXSQI5.js → clean-SZMPUNNQ.js} +17 -17
- package/dist/cli.js +51 -51
- package/dist/{cloud-BAC5KWSE.js → cloud-L7RFQB5E.js} +4 -4
- package/dist/{cloudrun-AJUTHUEA.js → cloudrun-FA4XHPZS.js} +5 -5
- package/dist/{compare-QAV6WNL4.js → compare-DN5GHUAZ.js} +27 -27
- package/dist/{compiler-QO36EXLS.js → compiler-XZ654ZH2.js} +13 -11
- package/dist/{component-HAJPPCFF.js → component-RYYGPCCC.js} +3 -3
- package/dist/{compositions-A5PN3ILU.js → compositions-TF42YRGQ.js} +12 -12
- package/dist/{delete-L5LYQF6D.js → delete-KYGP772F.js} +2 -2
- package/dist/{deterministicFonts-HAEMV4TM.js → deterministicFonts-U2EXY2KQ.js} +2 -2
- package/dist/{dist-S3PJNPXQ.js → dist-HVJAGLHF.js} +5 -3
- package/dist/{dist-FNNGCKFS.js → dist-QS5WEGBE.js} +1 -1
- package/dist/{doctor-VAALU6RK.js → doctor-AWERBYTS.js} +11 -11
- package/dist/{events-53SD6Z6G.js → events-QMT3TXJ2.js} +10 -10
- package/dist/{events-FSZQPLB5.js → events-W4AILK4F.js} +9 -9
- package/dist/{feedback-HVIGQIBA.js → feedback-KNKJFGOK.js} +11 -11
- package/dist/{figma-OMHCIFA6.js → figma-D76N4WD7.js} +3 -3
- package/dist/fontLocalizeCli.js +10 -10
- package/dist/{get-VVCHOTHZ.js → get-JHNZVDVT.js} +2 -2
- package/dist/{gpuPolicy-2ZUZE5D6.js → gpuPolicy-ON3RMSWD.js} +7 -7
- package/dist/{grade-compare-VEQUV7SJ.js → grade-compare-22SRAVPO.js} +27 -27
- package/dist/{gsapParser-DIYYX6JT.js → gsapParser-2OL54XZ5.js} +61 -23
- package/dist/{gsapParserAcorn-E3GEIRZB.js → gsapParserAcorn-VXZ3ZIF2.js} +5 -3
- package/dist/{help-VWAFVPC6.js → help-CKKLDL3G.js} +1 -1
- package/dist/{history-NYADNWVR.js → history-44SS2VJQ.js} +17 -17
- package/dist/hyperframe-runtime.js +49 -49
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +49 -49
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-42A4ZXQZ.js → info-A2CXIT7G.js} +12 -12
- package/dist/{init-YUGOYCN6.js → init-6D2GNNON.js} +23 -23
- package/dist/{inspect-C66X5KGK.js → inspect-QLYCCDHV.js} +28 -28
- package/dist/{installer-K6O5WF44.js → installer-DDJVY4TO.js} +5 -5
- package/dist/{keyframes-CC4SVYGQ.js → keyframes-TBS3BUZ5.js} +13 -16
- package/dist/{lambda-D7UMN4DJ.js → lambda-LPLYOEYY.js} +6 -6
- package/dist/{layout-OBTKALAB.js → layout-YLBD2653.js} +28 -28
- package/dist/{lint-CDJ4BIB5.js → lint-6XERRN4E.js} +13 -13
- package/dist/{lintProject-OHBBM3DJ.js → lintProject-EPVG2EFE.js} +1 -1
- package/dist/{list-AMHMJLVP.js → list-DPVTICQX.js} +2 -2
- package/dist/{login-3FHM5JUX.js → login-FJJH3ZPU.js} +4 -4
- package/dist/{media-treatment-SGIJZZSW.js → media-treatment-CQWZZRHR.js} +13 -13
- package/dist/{models-C4E4IWJD.js → models-54NL5PRB.js} +8 -8
- package/dist/{motionShot-S4MIGMT5.js → motionShot-BSI4U6X7.js} +13 -13
- package/dist/{normalize-audio-U4QNHC3R.js → normalize-audio-2QQBNTAW.js} +12 -12
- package/dist/{open-DRIBRDFD.js → open-YCWBIUNN.js} +11 -11
- package/dist/{pipeline-TNGWUZQC.js → pipeline-P7QRGI5H.js} +7 -7
- package/dist/{play-NOBUJING.js → play-5OX76SR5.js} +22 -22
- package/dist/{preflight-SMNV6RW2.js → preflight-X3XFRJPQ.js} +8 -8
- package/dist/{present-Q4Q4V6JJ.js → present-UFG6NPCO.js} +18 -18
- package/dist/{preview-SEH3BNYZ.js → preview-AGS4TAWM.js} +18 -18
- package/dist/{producer-ECLEN5RP.js → producer-KQNJKM7F.js} +1 -1
- package/dist/{projectConfig-HYJMJ5BY.js → projectConfig-EAAQYRMP.js} +7 -7
- package/dist/{publication-HQ5Y3KBM.js → publication-H3G346EX.js} +3 -3
- package/dist/{publish-VHDYQASC.js → publish-NEGKIS35.js} +9 -9
- package/dist/{remove-background-W2YX2NVH.js → remove-background-HU4S4HH5.js} +8 -8
- package/dist/{render-AO5VX3YI.js → render-F3CNO2IE.js} +4 -4
- package/dist/{render-ZJYL6ZPT.js → render-KEZFDRDA.js} +22 -22
- package/dist/{render-XVKTOY2L.js → render-POQI3EKS.js} +13 -13
- package/dist/{render-batch-YH7CTWNY.js → render-batch-63CBIJYR.js} +4 -4
- package/dist/{renderCancellation-JPIHE47X.js → renderCancellation-FT3JJ7GB.js} +7 -7
- package/dist/renderSetupWorker.js +1 -1
- package/dist/{resolver-IZ647GBZ.js → resolver-YJJKOGQF.js} +5 -5
- package/dist/{sherpa-KKLNW6U2.js → sherpa-3BQDMJPJ.js} +8 -8
- package/dist/{skills-IIHWUS56.js → skills-L7SZ45NC.js} +12 -12
- package/dist/{skillsUpdateCheck-HG5HOSBY.js → skillsUpdateCheck-HP3GJFBP.js} +3 -3
- package/dist/{snapshot-SRSWE7B2.js → snapshot-CYB2PZPW.js} +28 -28
- package/dist/{src-PVYUYV3M.js → src-CUR36DBE.js} +8 -6
- package/dist/{src-6YQBJGWR.js → src-ZPAJ44CP.js} +9 -9
- package/dist/{staticProjectServer-7EU666GS.js → staticProjectServer-U5DMWKWA.js} +16 -16
- package/dist/{status-YM52BQ6S.js → status-6CGT2PJT.js} +7 -7
- package/dist/studio/assets/{hyperframes-player-Cjcwveg0.js → hyperframes-player-DFv9heE6.js} +1 -1
- package/dist/studio/assets/{index-CwgWmfgx.js → index-Buy06mZy.js} +1 -1
- package/dist/studio/assets/{index-ME-Z5jh6.js → index-CTp4loy9.js} +1 -1
- package/dist/studio/assets/{index-Dj21zXWA.js → index-N_4Ij4X6.js} +184 -183
- package/dist/studio/assets/{index-D11atkBt.css → index-syMK0_9C.css} +1 -1
- package/dist/studio/{chunk-5VSXRGIX.js → chunk-NM7BXNZ7.js} +1 -1
- package/dist/studio/chunk-NM7BXNZ7.js.map +1 -0
- package/dist/studio/{chunk-FOEID72M.js → chunk-QRLKWENQ.js} +2 -2
- package/dist/studio/index.d.ts +3 -1
- package/dist/studio/index.html +2 -2
- package/dist/studio/index.js +911 -691
- 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.d.ts +3 -2
- package/dist/studio/ui.js +1 -1
- package/dist/{studio-api-PNQZRPX5.js → studio-api-KMBTUYG5.js} +10 -10
- package/dist/{studioServer-SKEFBCNM.js → studioServer-LOJ6IOWA.js} +42 -42
- package/dist/{system-EZYZNUFD.js → system-3BTZGJNK.js} +7 -7
- package/dist/{telemetry-TN6HXCPW.js → telemetry-MCEZ5JYB.js} +10 -10
- package/dist/{timeline-Y6RJY467.js → timeline-XWH4I5CF.js} +17 -17
- package/dist/{tokens-HWMQVD2T.js → tokens-6UTTSLVN.js} +2 -2
- package/dist/{transcribe-BNSJRR4M.js → transcribe-HC35FL6W.js} +8 -8
- package/dist/{transcribe-PZP553TY.js → transcribe-S3NI7SYU.js} +13 -13
- package/dist/{updateCheck-2HHCJUTZ.js → updateCheck-3YAKEXSX.js} +2 -2
- package/dist/{upgrade-Y55PMAGH.js → upgrade-JQPBH5RY.js} +2 -2
- package/dist/{urlDownloader-H6WRI2UE.js → urlDownloader-A5TT3AFE.js} +6 -6
- package/dist/{validate-BFYU5VTW.js → validate-BLUPV5H5.js} +17 -17
- package/dist/{video-FGSGKRSV.js → video-USXMJDEZ.js} +7 -7
- package/package.json +1 -1
- package/dist/chunk-HWKCIWQT.js +0 -3578
- package/dist/studio/chunk-5VSXRGIX.js.map +0 -1
- /package/dist/studio/{chunk-FOEID72M.js.map → chunk-QRLKWENQ.js.map} +0 -0
|
@@ -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-AV7FBRWP.js";
|
|
10
10
|
|
|
11
11
|
// src/registry/compatibility.ts
|
|
12
12
|
import { compareVersions } from "compare-versions";
|
|
@@ -22,10 +22,11 @@ import {
|
|
|
22
22
|
renderFrameIdForRenderId,
|
|
23
23
|
resolveAuthoredTimingWindow,
|
|
24
24
|
toFps
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-BHOKLX4F.js";
|
|
26
26
|
import {
|
|
27
27
|
AUDIO_GROUP_RENDER_ID_ATTR,
|
|
28
28
|
COLOR_GRADING_SOURCE_HIDDEN_ATTR,
|
|
29
|
+
COMPOSITION_SOURCE_URL,
|
|
29
30
|
HF_AUDIO_AUTOMATION_ATTR,
|
|
30
31
|
HF_AUDIO_FX_ATTR,
|
|
31
32
|
HF_COLOR_GRADING_CANVAS_ID_PREFIX,
|
|
@@ -52,7 +53,7 @@ import {
|
|
|
52
53
|
shiftRateLane,
|
|
53
54
|
sourceTimeAt,
|
|
54
55
|
timeAtSourceTime
|
|
55
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-SRXQEQWZ.js";
|
|
56
57
|
import {
|
|
57
58
|
chromeMajorCeiling,
|
|
58
59
|
exceedsChromeCeiling
|
|
@@ -60,7 +61,7 @@ import {
|
|
|
60
61
|
import {
|
|
61
62
|
isWithinProjectRoot,
|
|
62
63
|
resolveProjectRelativeSrc
|
|
63
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-VDQCNWQI.js";
|
|
64
65
|
import {
|
|
65
66
|
FFMPEG_PATH_ENV,
|
|
66
67
|
FFPROBE_PATH_ENV,
|
|
@@ -5233,6 +5234,7 @@ async function constructCaptureSession(input) {
|
|
|
5233
5234
|
isInitialized: false,
|
|
5234
5235
|
browserConsoleBuffer: [],
|
|
5235
5236
|
scriptLoadFailures: [],
|
|
5237
|
+
pageErrors: [],
|
|
5236
5238
|
warnings: [],
|
|
5237
5239
|
capturePerf: {
|
|
5238
5240
|
frames: 0,
|
|
@@ -5381,7 +5383,7 @@ async function pollHfReady(page, timeoutMs, intervalMs = 100) {
|
|
|
5381
5383
|
State: __hf=${diag.hasHf}, seek=${diag.hasSeek}, player=${diag.hasPlayer}, renderReady=${diag.renderReady}, duration=${diag.duration}`
|
|
5382
5384
|
);
|
|
5383
5385
|
}
|
|
5384
|
-
async function pollSubCompositionTimelines(page, timeoutMs, intervalMs = 150, getScriptLoadFailures, scriptFailureGraceMs = 2e3, onPending) {
|
|
5386
|
+
async function pollSubCompositionTimelines(page, timeoutMs, intervalMs = 150, getScriptLoadFailures, scriptFailureGraceMs = 2e3, onPending, shouldStop) {
|
|
5385
5387
|
const expression = `(function() {
|
|
5386
5388
|
var hosts = document.querySelectorAll("[data-composition-id]");
|
|
5387
5389
|
if (hosts.length === 0) return true;
|
|
@@ -5400,7 +5402,7 @@ async function pollSubCompositionTimelines(page, timeoutMs, intervalMs = 150, ge
|
|
|
5400
5402
|
let scriptFailureBail = false;
|
|
5401
5403
|
for (; ; ) {
|
|
5402
5404
|
ready = Boolean(await page.evaluate(expression));
|
|
5403
|
-
if (ready) break;
|
|
5405
|
+
if (ready || shouldStop?.()) break;
|
|
5404
5406
|
const now = Date.now();
|
|
5405
5407
|
if (now >= deadline) break;
|
|
5406
5408
|
const failures = getScriptLoadFailures?.() ?? [];
|
|
@@ -5545,18 +5547,20 @@ function recordCaptureWarnings(session, warnings) {
|
|
|
5545
5547
|
}
|
|
5546
5548
|
}
|
|
5547
5549
|
function recordSubTimelineWarning(session, timeoutMs) {
|
|
5548
|
-
|
|
5549
|
-
|
|
5550
|
-
const
|
|
5550
|
+
const outcome = session.subTimelineWaitOutcome;
|
|
5551
|
+
if (outcome === "ready" || !outcome) return;
|
|
5552
|
+
const threwThenTimedOut = outcome === "timeout" && session.pageErrors.length > 0;
|
|
5553
|
+
const scriptFailure = outcome === "script_failure" || threwThenTimedOut;
|
|
5554
|
+
const sources = [...session.scriptLoadFailures, ...session.pageErrors];
|
|
5551
5555
|
const pending = session.pendingTimelineIds ?? [];
|
|
5552
5556
|
const pendingSuffix = pending.length > 0 ? ` (still unregistered: ${pending.join(", ")})` : "";
|
|
5553
5557
|
recordCaptureWarnings(session, [
|
|
5554
5558
|
{
|
|
5555
5559
|
code: scriptFailure ? "sub_timeline_script_failure" : "sub_timeline_readiness_timeout",
|
|
5556
|
-
message:
|
|
5560
|
+
message: threwThenTimedOut ? `A composition script threw and a timeline did not register within ${timeoutMs}ms${pendingSuffix} (${sources.join(", ")}). Fix the error; a composition animated by CSS or rAF rather than a GSAP timeline must mark its host with data-no-timeline.` : scriptFailure ? `A sub-composition timeline script failed to load (${sources.join(", ")})` : `Sub-composition timelines did not become ready within ${timeoutMs}ms${pendingSuffix}. This can be intentional: a composition driven by CSS animations or rAF never registers window.__timelines[id], and marking its host with data-no-timeline skips the wait entirely. Otherwise, a composition that sets up asynchronously must register window.__timelines[id] once setup completes.`,
|
|
5557
5561
|
details: {
|
|
5558
5562
|
timeoutMs,
|
|
5559
|
-
sources
|
|
5563
|
+
sources,
|
|
5560
5564
|
pendingCompositionIds: [...pending]
|
|
5561
5565
|
}
|
|
5562
5566
|
}
|
|
@@ -5635,23 +5639,62 @@ async function waitForOptionalTailwindReady(page, timeoutMs) {
|
|
|
5635
5639
|
);
|
|
5636
5640
|
}
|
|
5637
5641
|
}
|
|
5642
|
+
var VfxFailureError = class extends Error {
|
|
5643
|
+
constructor(detail) {
|
|
5644
|
+
super(`A VFX chain failed, so its frames would render without the effect (${detail})`);
|
|
5645
|
+
this.detail = detail;
|
|
5646
|
+
this.name = "VfxFailureError";
|
|
5647
|
+
}
|
|
5648
|
+
detail;
|
|
5649
|
+
};
|
|
5650
|
+
function assertVfxIntact(session) {
|
|
5651
|
+
if (session.vfxFailure) throw new VfxFailureError(session.vfxFailure);
|
|
5652
|
+
}
|
|
5653
|
+
function recordConsoleScriptError(session, error) {
|
|
5654
|
+
if (!error?.startsWith("runtime-error:vfx:")) {
|
|
5655
|
+
recordPageError(session, error);
|
|
5656
|
+
return;
|
|
5657
|
+
}
|
|
5658
|
+
if (session.vfxFailure) return;
|
|
5659
|
+
session.vfxFailure = error;
|
|
5660
|
+
const message = new VfxFailureError(error).message;
|
|
5661
|
+
recordCaptureWarnings(session, [{ code: "vfx_failure", message, details: { sources: [error] } }]);
|
|
5662
|
+
}
|
|
5663
|
+
function recordPageError(session, error) {
|
|
5664
|
+
if (error && !session.pageErrors.includes(error)) session.pageErrors.push(error);
|
|
5665
|
+
}
|
|
5638
5666
|
function recordScriptLoadFailure(session, url) {
|
|
5639
5667
|
if (!session.scriptLoadFailures.includes(url)) {
|
|
5640
5668
|
session.scriptLoadFailures.push(url);
|
|
5641
5669
|
}
|
|
5642
5670
|
}
|
|
5671
|
+
var SCRIPT_ERROR_LABEL = "[HyperFrames] composition script error:";
|
|
5672
|
+
function classifyConsoleScriptError(type, text) {
|
|
5673
|
+
if (type !== "error" || !text.startsWith(SCRIPT_ERROR_LABEL)) return null;
|
|
5674
|
+
const [detail = ""] = text.slice(SCRIPT_ERROR_LABEL.length).trim().split("\n");
|
|
5675
|
+
return `runtime-error:${detail.trimEnd() || "unknown"}`;
|
|
5676
|
+
}
|
|
5643
5677
|
function classifyConsoleScriptFailure(type, text) {
|
|
5644
5678
|
if (type !== "error") return null;
|
|
5645
|
-
if (text.startsWith("[HyperFrames] composition script error:")) {
|
|
5646
|
-
const detail = text.slice("[HyperFrames] composition script error:".length).trim();
|
|
5647
|
-
const compId = detail.split(" ")[0] || "unknown";
|
|
5648
|
-
return `runtime-error:${compId}`;
|
|
5649
|
-
}
|
|
5650
5679
|
if (/failed to find a valid digest in the ['"]integrity['"] attribute/i.test(text) && /resource has been blocked/i.test(text)) {
|
|
5651
5680
|
return "runtime-error:subresource-integrity";
|
|
5652
5681
|
}
|
|
5653
5682
|
return null;
|
|
5654
5683
|
}
|
|
5684
|
+
function isPlayPauseAbort(message) {
|
|
5685
|
+
return /^AbortError:/.test(message) && message.includes("play()") && message.includes("pause()");
|
|
5686
|
+
}
|
|
5687
|
+
function classifyPageError(details, projectScripts) {
|
|
5688
|
+
const exception = details.exception;
|
|
5689
|
+
const message = String(exception?.description ?? exception?.value ?? details.text);
|
|
5690
|
+
const [firstLine = ""] = message.split("\n");
|
|
5691
|
+
if (isPlayPauseAbort(firstLine)) return null;
|
|
5692
|
+
const frames = (details.stackTrace?.callFrames ?? []).map((frame) => frame.url);
|
|
5693
|
+
if (frames.length === 0 && details.text.startsWith("Uncaught (in promise)")) return null;
|
|
5694
|
+
const urls = frames.length > 0 ? frames : [details.url];
|
|
5695
|
+
const owned = (url) => url !== void 0 && (projectScripts.has(url) || url.startsWith(COMPOSITION_SOURCE_URL));
|
|
5696
|
+
return urls.some(owned) ? `runtime-error:${firstLine}` : null;
|
|
5697
|
+
}
|
|
5655
5698
|
async function initializeSession(session) {
|
|
5656
5699
|
const { page, serverUrl } = session;
|
|
5657
5700
|
page.on("console", (msg) => {
|
|
@@ -5663,14 +5706,12 @@ async function initializeSession(session) {
|
|
|
5663
5706
|
appendBrowserDiagnostic(session, diagnostic.text);
|
|
5664
5707
|
const scriptFailure = classifyConsoleScriptFailure(type, text);
|
|
5665
5708
|
if (scriptFailure) recordScriptLoadFailure(session, scriptFailure);
|
|
5709
|
+
recordConsoleScriptError(session, classifyConsoleScriptError(type, text));
|
|
5666
5710
|
});
|
|
5667
5711
|
page.on("pageerror", (err) => {
|
|
5668
5712
|
const message = err instanceof Error ? err.message : String(err);
|
|
5669
5713
|
const text = `[Browser:PAGEERROR] ${message}`;
|
|
5670
|
-
|
|
5671
|
-
if (!isPlayAbort) {
|
|
5672
|
-
console.error(text);
|
|
5673
|
-
}
|
|
5714
|
+
if (!isPlayPauseAbort(message)) console.error(text);
|
|
5674
5715
|
appendBrowserDiagnostic(session, text);
|
|
5675
5716
|
});
|
|
5676
5717
|
page.on("requestfailed", (request) => {
|
|
@@ -5691,13 +5732,17 @@ async function initializeSession(session) {
|
|
|
5691
5732
|
})
|
|
5692
5733
|
);
|
|
5693
5734
|
});
|
|
5735
|
+
const projectScripts = /* @__PURE__ */ new Set();
|
|
5694
5736
|
page.on("response", (response) => {
|
|
5695
5737
|
const status = response.status();
|
|
5696
|
-
if (status < 400) return;
|
|
5697
5738
|
const request = response.request();
|
|
5698
|
-
|
|
5699
|
-
|
|
5739
|
+
const isScript = request.resourceType() === "script";
|
|
5740
|
+
const responseUrl = response.url();
|
|
5741
|
+
if (status < 400) {
|
|
5742
|
+
if (isScript && responseUrl.startsWith(`${serverUrl}/`)) projectScripts.add(responseUrl);
|
|
5743
|
+
return;
|
|
5700
5744
|
}
|
|
5745
|
+
if (isScript) recordScriptLoadFailure(session, responseUrl);
|
|
5701
5746
|
appendBrowserDiagnostic(
|
|
5702
5747
|
session,
|
|
5703
5748
|
formatHttpErrorDiagnostic({
|
|
@@ -5710,6 +5755,11 @@ async function initializeSession(session) {
|
|
|
5710
5755
|
);
|
|
5711
5756
|
});
|
|
5712
5757
|
const url = `${serverUrl}/index.html`;
|
|
5758
|
+
const runtimeClient = await getCdpSession(page);
|
|
5759
|
+
runtimeClient.on("Runtime.exceptionThrown", ({ exceptionDetails }) => {
|
|
5760
|
+
recordPageError(session, classifyPageError(exceptionDetails, projectScripts));
|
|
5761
|
+
});
|
|
5762
|
+
await runtimeClient.send("Runtime.enable");
|
|
5713
5763
|
const pageNavigationTimeout = session.config?.pageNavigationTimeout ?? DEFAULT_CONFIG.pageNavigationTimeout;
|
|
5714
5764
|
const initStart = Date.now();
|
|
5715
5765
|
const logInitPhase = (phase) => {
|
|
@@ -5758,9 +5808,11 @@ async function initializeSession(session) {
|
|
|
5758
5808
|
void 0,
|
|
5759
5809
|
(ids) => {
|
|
5760
5810
|
session.pendingTimelineIds = [...ids];
|
|
5761
|
-
}
|
|
5811
|
+
},
|
|
5812
|
+
() => session.vfxFailure !== void 0
|
|
5762
5813
|
);
|
|
5763
5814
|
logInitPhase(`pollSubCompositionTimelines complete (${session.subTimelineWaitOutcome})`);
|
|
5815
|
+
assertVfxIntact(session);
|
|
5764
5816
|
recordSubTimelineWarning(session, pageReadyTimeout);
|
|
5765
5817
|
await applyVideoMetadataHints(page, session.options.videoMetadataHints);
|
|
5766
5818
|
logInitPhase("applyVideoMetadataHints complete");
|
|
@@ -5872,9 +5924,11 @@ async function initializeSession(session) {
|
|
|
5872
5924
|
void 0,
|
|
5873
5925
|
(ids) => {
|
|
5874
5926
|
session.pendingTimelineIds = [...ids];
|
|
5875
|
-
}
|
|
5927
|
+
},
|
|
5928
|
+
() => session.vfxFailure !== void 0
|
|
5876
5929
|
);
|
|
5877
5930
|
logInitPhase(`pollSubCompositionTimelines complete (${session.subTimelineWaitOutcome})`);
|
|
5931
|
+
assertVfxIntact(session);
|
|
5878
5932
|
recordSubTimelineWarning(session, pageReadyTimeout);
|
|
5879
5933
|
await applyVideoMetadataHints(page, session.options.videoMetadataHints);
|
|
5880
5934
|
logInitPhase("applyVideoMetadataHints complete");
|
|
@@ -5987,6 +6041,7 @@ async function prepareFrameForCapture(session, frameIndex, time, seekOptions) {
|
|
|
5987
6041
|
if (!session.isInitialized) {
|
|
5988
6042
|
throw new Error("[FrameCapture] Session not initialized");
|
|
5989
6043
|
}
|
|
6044
|
+
assertVfxIntact(session);
|
|
5990
6045
|
const quantizedTime = quantizeSeekTime(
|
|
5991
6046
|
time,
|
|
5992
6047
|
fpsToNumber(options.fps),
|
|
@@ -6948,6 +7003,7 @@ async function captureFramesBatchPipelined(session, frameIndices, times) {
|
|
|
6948
7003
|
if (!session.isInitialized) {
|
|
6949
7004
|
throw new Error("[FrameCapture] Session not initialized");
|
|
6950
7005
|
}
|
|
7006
|
+
assertVfxIntact(session);
|
|
6951
7007
|
const startTime = Date.now();
|
|
6952
7008
|
const fps = fpsToNumber(options.fps);
|
|
6953
7009
|
const quantized = times.map((t) => quantizeTimeToFrame(t, fps));
|
|
@@ -15908,6 +15964,7 @@ export {
|
|
|
15908
15964
|
deriveBeginFrameProbeTimeTicks,
|
|
15909
15965
|
completeDeferredDrawElementInit,
|
|
15910
15966
|
createCaptureSession,
|
|
15967
|
+
VfxFailureError,
|
|
15911
15968
|
initializeSession,
|
|
15912
15969
|
captureFrame,
|
|
15913
15970
|
frameFileExtension,
|
|
@@ -8,16 +8,16 @@ import {
|
|
|
8
8
|
flush,
|
|
9
9
|
shouldTrack,
|
|
10
10
|
trackEvent
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-Z3KAYWE5.js";
|
|
12
12
|
import {
|
|
13
13
|
getPowerState
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-4AXZWUQ6.js";
|
|
15
15
|
import {
|
|
16
16
|
CliRuntimeError
|
|
17
17
|
} from "./chunk-PBN6GBJE.js";
|
|
18
18
|
import {
|
|
19
19
|
redactTelemetryString
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-BHOKLX4F.js";
|
|
21
21
|
import {
|
|
22
22
|
readConfig
|
|
23
23
|
} from "./chunk-XUXGIA7H.js";
|
|
@@ -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-CUR36DBE.js");
|
|
17
17
|
return resolveBrowserGpuMode(requestedMode, { chromePath });
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -1317,6 +1317,10 @@ function serializeValue(value) {
|
|
|
1317
1317
|
if (typeof value === "string") return JSON.stringify(value);
|
|
1318
1318
|
return String(value);
|
|
1319
1319
|
}
|
|
1320
|
+
function plainPercentKey(percentage) {
|
|
1321
|
+
const text = Math.abs(percentage) < 1e-6 ? percentage.toFixed(20).replace(/\.?0+$/, "") : String(percentage);
|
|
1322
|
+
return `${text}%`;
|
|
1323
|
+
}
|
|
1320
1324
|
function safeJsKey(key) {
|
|
1321
1325
|
return /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(key) ? key : JSON.stringify(key);
|
|
1322
1326
|
}
|
|
@@ -2792,9 +2796,6 @@ function tweenCallToAnimation(call, scope, source, identifierBindings) {
|
|
|
2792
2796
|
properties[key] = val;
|
|
2793
2797
|
}
|
|
2794
2798
|
}
|
|
2795
|
-
if (keyframesData && typeof vars.easeEach === "string") {
|
|
2796
|
-
keyframesData.easeEach = vars.easeEach;
|
|
2797
|
-
}
|
|
2798
2799
|
if (motionPathResult) {
|
|
2799
2800
|
const { waypoints } = motionPathResult;
|
|
2800
2801
|
if (!keyframesData) {
|
|
@@ -4406,7 +4407,7 @@ function keyframesEntry(anim) {
|
|
|
4406
4407
|
const kfs = (anim.keyframes?.keyframes ?? []).map((k) => {
|
|
4407
4408
|
const body = propEntries(k.properties);
|
|
4408
4409
|
if (k.ease) body.push(`ease: ${serializeValue(k.ease)}`);
|
|
4409
|
-
return
|
|
4410
|
+
return `${JSON.stringify(plainPercentKey(k.percentage))}: { ${body.join(", ")} }`;
|
|
4410
4411
|
});
|
|
4411
4412
|
if (anim.keyframes?.easeEach) kfs.push(`easeEach: ${serializeValue(anim.keyframes.easeEach)}`);
|
|
4412
4413
|
return `keyframes: { ${kfs.join(", ")} }`;
|
|
@@ -6,23 +6,33 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
HF_COLOR_GRADING_ATTR,
|
|
9
|
+
INLINED_FILE_ATTR,
|
|
9
10
|
RUNTIME_BOOTSTRAP_ATTR,
|
|
11
|
+
UNCONDITIONAL_CSS_KEY,
|
|
10
12
|
clampDurations,
|
|
11
13
|
compileTimingAttrs,
|
|
14
|
+
compositionStyle,
|
|
15
|
+
cssStyleMergeKey,
|
|
16
|
+
deferScriptsUntilFonts,
|
|
12
17
|
escapeInlineScriptSource,
|
|
13
18
|
extractResolvedMedia,
|
|
14
19
|
getHyperframeRuntimeScript,
|
|
20
|
+
hasSameLink,
|
|
21
|
+
headStyleRuns,
|
|
15
22
|
injectDurations,
|
|
16
23
|
injectTagsAtHeadStart,
|
|
24
|
+
inlineScriptRuns,
|
|
17
25
|
insertRuntimeTag,
|
|
26
|
+
isJavaScriptType,
|
|
18
27
|
parseHTMLContent,
|
|
19
28
|
parseHostVariableValues,
|
|
20
29
|
queryByAttr,
|
|
21
30
|
readDeclaredDefaults,
|
|
22
31
|
shouldClampResolvedMediaDuration,
|
|
23
32
|
stripEmbeddedRuntimeScripts,
|
|
33
|
+
styleElementsFor,
|
|
24
34
|
warnUnknownEnumValues
|
|
25
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-SRXQEQWZ.js";
|
|
26
36
|
import {
|
|
27
37
|
cssVariableName
|
|
28
38
|
} from "./chunk-VC76R6W2.js";
|
|
@@ -32,7 +42,7 @@ import {
|
|
|
32
42
|
} from "./chunk-OFQWTKPW.js";
|
|
33
43
|
import {
|
|
34
44
|
lintHyperframeHtml
|
|
35
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-VDQCNWQI.js";
|
|
36
46
|
import {
|
|
37
47
|
CSS_URL_RE,
|
|
38
48
|
checkSubCompositionUsability,
|
|
@@ -97,155 +107,6 @@ async function compileHtml(rawHtml, projectDir, probeMediaDuration) {
|
|
|
97
107
|
return html;
|
|
98
108
|
}
|
|
99
109
|
|
|
100
|
-
// ../core/dist/compiler/scriptRuns.js
|
|
101
|
-
var JAVASCRIPT_TYPES = /* @__PURE__ */ new Set([
|
|
102
|
-
"",
|
|
103
|
-
"application/ecmascript",
|
|
104
|
-
"application/javascript",
|
|
105
|
-
"application/x-ecmascript",
|
|
106
|
-
"application/x-javascript",
|
|
107
|
-
"text/ecmascript",
|
|
108
|
-
"text/javascript",
|
|
109
|
-
"text/javascript1.0",
|
|
110
|
-
"text/javascript1.1",
|
|
111
|
-
"text/javascript1.2",
|
|
112
|
-
"text/javascript1.3",
|
|
113
|
-
"text/javascript1.4",
|
|
114
|
-
"text/javascript1.5",
|
|
115
|
-
"text/jscript",
|
|
116
|
-
"text/livescript",
|
|
117
|
-
"text/x-ecmascript",
|
|
118
|
-
"text/x-javascript"
|
|
119
|
-
]);
|
|
120
|
-
function isJavaScriptType(el) {
|
|
121
|
-
return JAVASCRIPT_TYPES.has((el.getAttribute("type") || "").trim().toLowerCase());
|
|
122
|
-
}
|
|
123
|
-
function isClassicInline(el) {
|
|
124
|
-
return !el.hasAttribute("nomodule") && isJavaScriptType(el);
|
|
125
|
-
}
|
|
126
|
-
function isSeparateExecution(el, isPinned) {
|
|
127
|
-
return el.hasAttribute("src") || el.hasAttribute("defer") || el.hasAttribute("async") || isPinned(el) || (el.getAttribute("type") || "").trim().toLowerCase() === "module";
|
|
128
|
-
}
|
|
129
|
-
function inlineScriptRuns(scripts, isPinned = () => false) {
|
|
130
|
-
const runs = [];
|
|
131
|
-
let members = [];
|
|
132
|
-
for (const el of scripts) {
|
|
133
|
-
if (isSeparateExecution(el, isPinned)) {
|
|
134
|
-
if (members.length === 0)
|
|
135
|
-
continue;
|
|
136
|
-
runs.push({ members, anchor: el });
|
|
137
|
-
members = [];
|
|
138
|
-
} else if (isClassicInline(el)) {
|
|
139
|
-
members.push(el);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
if (members.length > 0)
|
|
143
|
-
runs.push({ members, anchor: null });
|
|
144
|
-
return runs;
|
|
145
|
-
}
|
|
146
|
-
var AFTER_FONTS_SCRIPT_TYPE = "text/hf-after-fonts";
|
|
147
|
-
var AFTER_FONTS_MODULE_TYPE = `${AFTER_FONTS_SCRIPT_TYPE}+module`;
|
|
148
|
-
var AFTER_FONTS_SCRIPTS = `script[type="${AFTER_FONTS_SCRIPT_TYPE}"], script[type="${AFTER_FONTS_MODULE_TYPE}"]`;
|
|
149
|
-
var AFTER_FONTS_CLAIM = "__hfAfterFontsClaimed";
|
|
150
|
-
var INLINED_FILE_ATTR = "data-hf-inlined-src";
|
|
151
|
-
var DEFERRED_FILE = `[defer][src], [defer][${INLINED_FILE_ATTR}]`;
|
|
152
|
-
var AFTER_FONTS_FALLBACK_ATTR = "data-hf-after-fonts-fallback";
|
|
153
|
-
var afterFontsFallback = () => `document.addEventListener("DOMContentLoaded", function () {
|
|
154
|
-
if (window.${AFTER_FONTS_CLAIM}) return;
|
|
155
|
-
var T = "${AFTER_FONTS_SCRIPT_TYPE}";
|
|
156
|
-
var all = [].slice.call(document.querySelectorAll('${AFTER_FONTS_SCRIPTS}'));
|
|
157
|
-
if (!all.length) return;
|
|
158
|
-
console.warn("[hyperframes] the runtime has no web-font gate; composition scripts run without waiting for fonts");
|
|
159
|
-
var late = function (el) { return el.type !== T || el.matches('${DEFERRED_FILE}'); };
|
|
160
|
-
var queue = all.filter(function (el) { return !late(el); }).concat(all.filter(late));
|
|
161
|
-
(function next() {
|
|
162
|
-
var el = queue.shift();
|
|
163
|
-
if (!el) return;
|
|
164
|
-
var s = document.createElement("script");
|
|
165
|
-
for (var i = 0; i < el.attributes.length; i++) s.setAttribute(el.attributes[i].name, el.attributes[i].value);
|
|
166
|
-
if (el.type === T) s.removeAttribute("type"); else s.type = "module";
|
|
167
|
-
s.async = el.hasAttribute("async");
|
|
168
|
-
s.text = el.text;
|
|
169
|
-
var waits = s.type !== "module" && s.hasAttribute("src") && !s.async && !s.noModule;
|
|
170
|
-
if (waits) { s.addEventListener("load", next); s.addEventListener("error", next); }
|
|
171
|
-
el.replaceWith(s);
|
|
172
|
-
if (!waits) next();
|
|
173
|
-
})();
|
|
174
|
-
});`;
|
|
175
|
-
function deferScriptsUntilFonts(document, isFramework = () => false) {
|
|
176
|
-
let deferred = false;
|
|
177
|
-
for (const el of document.querySelectorAll("body script")) {
|
|
178
|
-
if (isFramework(el) || el.closest("noscript, svg"))
|
|
179
|
-
continue;
|
|
180
|
-
if (isClassicInline(el))
|
|
181
|
-
el.setAttribute("type", AFTER_FONTS_SCRIPT_TYPE);
|
|
182
|
-
else if ((el.getAttribute("type") || "").trim().toLowerCase() === "module") {
|
|
183
|
-
el.setAttribute("type", AFTER_FONTS_MODULE_TYPE);
|
|
184
|
-
} else
|
|
185
|
-
continue;
|
|
186
|
-
deferred = true;
|
|
187
|
-
}
|
|
188
|
-
if (!deferred || !document.head || document.querySelector(`script[${AFTER_FONTS_FALLBACK_ATTR}]`)) {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
const fallback = document.createElement("script");
|
|
192
|
-
fallback.setAttribute(AFTER_FONTS_FALLBACK_ATTR, "");
|
|
193
|
-
fallback.textContent = afterFontsFallback();
|
|
194
|
-
document.head.insertBefore(fallback, document.head.firstChild);
|
|
195
|
-
}
|
|
196
|
-
function cssStyleMergeKey(el) {
|
|
197
|
-
const rawType = el.getAttribute("type") ?? "";
|
|
198
|
-
const type = el.tagName.toLowerCase() === "link" ? rawType.split(";")[0].trim() : rawType;
|
|
199
|
-
if (type !== "" && type.toLowerCase() !== "text/css")
|
|
200
|
-
return void 0;
|
|
201
|
-
const media = (el.getAttribute("media") ?? "").trim().toLowerCase();
|
|
202
|
-
return JSON.stringify([media === "all" ? "" : media, el.getAttribute("title") ?? ""]);
|
|
203
|
-
}
|
|
204
|
-
var UNCONDITIONAL_CSS_KEY = JSON.stringify(["", ""]);
|
|
205
|
-
function linkDedupeKey(el) {
|
|
206
|
-
return JSON.stringify([
|
|
207
|
-
el.getAttribute("href"),
|
|
208
|
-
(el.getAttribute("rel") ?? "").trim().toLowerCase(),
|
|
209
|
-
cssStyleMergeKey(el) ?? el.getAttribute("type"),
|
|
210
|
-
el.hasAttribute("disabled")
|
|
211
|
-
]);
|
|
212
|
-
}
|
|
213
|
-
function hasSameLink(scope, link) {
|
|
214
|
-
const key = linkDedupeKey(link);
|
|
215
|
-
return [...scope.querySelectorAll("link[href]")].some((other) => !other.closest("noscript") && linkDedupeKey(other) === key);
|
|
216
|
-
}
|
|
217
|
-
function headStyleRuns(styles, isPinned = () => false) {
|
|
218
|
-
const runs = [];
|
|
219
|
-
let previousKey;
|
|
220
|
-
for (const el of styles) {
|
|
221
|
-
const key = isPinned(el) ? void 0 : cssStyleMergeKey(el);
|
|
222
|
-
if (key !== void 0 && key === previousKey)
|
|
223
|
-
runs.at(-1).push(el);
|
|
224
|
-
else if (key !== void 0)
|
|
225
|
-
runs.push([el]);
|
|
226
|
-
previousKey = key;
|
|
227
|
-
}
|
|
228
|
-
return runs;
|
|
229
|
-
}
|
|
230
|
-
function compositionStyle(el, css) {
|
|
231
|
-
return { css, media: el.getAttribute("media"), title: el.getAttribute("title") };
|
|
232
|
-
}
|
|
233
|
-
function styleElementsFor(document, sheets, join) {
|
|
234
|
-
const elements = sheets.map(({ css, media, title }) => {
|
|
235
|
-
const el = document.createElement("style");
|
|
236
|
-
if (media !== null)
|
|
237
|
-
el.setAttribute("media", media);
|
|
238
|
-
if (title !== null)
|
|
239
|
-
el.setAttribute("title", title);
|
|
240
|
-
el.textContent = css;
|
|
241
|
-
return el;
|
|
242
|
-
});
|
|
243
|
-
return headStyleRuns(elements).map((run) => {
|
|
244
|
-
run[0].textContent = join(run.map((el) => el.textContent || ""));
|
|
245
|
-
return run[0];
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
|
|
249
110
|
// ../core/dist/sceneParts.js
|
|
250
111
|
var SCENE_PART_ATTR = "data-hf-scene";
|
|
251
112
|
var SCENE_PARTS_META = "hf-scene-parts";
|
|
@@ -3052,13 +2913,6 @@ function addScenePartsManifest(html, ignore = []) {
|
|
|
3052
2913
|
|
|
3053
2914
|
export {
|
|
3054
2915
|
compileHtml,
|
|
3055
|
-
inlineScriptRuns,
|
|
3056
|
-
AFTER_FONTS_SCRIPT_TYPE,
|
|
3057
|
-
deferScriptsUntilFonts,
|
|
3058
|
-
cssStyleMergeKey,
|
|
3059
|
-
headStyleRuns,
|
|
3060
|
-
compositionStyle,
|
|
3061
|
-
styleElementsFor,
|
|
3062
2916
|
ensureExternalScriptTag,
|
|
3063
2917
|
emitMountedModuleScripts,
|
|
3064
2918
|
FLATTENED_INNER_ROOT_STRIP_ATTRS,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
typeDirPath,
|
|
21
21
|
updateRecord,
|
|
22
22
|
withFigmaErrors
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-I54AADBN.js";
|
|
24
24
|
import {
|
|
25
25
|
defineCommand
|
|
26
26
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -221,7 +221,7 @@ var asset_default = defineCommand({
|
|
|
221
221
|
rendered > 0 ? `(${results.length} nodes, ${rendered} rendered in 1 figma request)` : `(${results.length} nodes, all reused from cache \u2014 no figma request)`
|
|
222
222
|
);
|
|
223
223
|
}
|
|
224
|
-
const { trackFigmaImport } = await import("./telemetry-
|
|
224
|
+
const { trackFigmaImport } = await import("./telemetry-MCEZ5JYB.js");
|
|
225
225
|
trackFigmaImport({
|
|
226
226
|
phase: "asset",
|
|
227
227
|
reused: results.every((r) => r.reused),
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
firstFrameColourArgs,
|
|
9
9
|
hdrToSdrToneMapFilter,
|
|
10
10
|
parseFirstFrameColour
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-BHOKLX4F.js";
|
|
12
12
|
import {
|
|
13
13
|
mkdirWithinProject,
|
|
14
14
|
realProjectRoot,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
isUnresolvedAssetPlaceholder,
|
|
22
22
|
maskNonScannableRanges,
|
|
23
23
|
resolveLocalAssetCandidates
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-VDQCNWQI.js";
|
|
25
25
|
import {
|
|
26
26
|
findFfBinary
|
|
27
27
|
} from "./chunk-PJ3HDUCY.js";
|
|
@@ -7,29 +7,29 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
RegistryCompatibilityError,
|
|
9
9
|
gateRegistryItemsCompatibility
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-N3DZEPNT.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-VNC6YQOC.js";
|
|
18
18
|
import {
|
|
19
19
|
resolveItemWithDependencies,
|
|
20
20
|
resolveItemsByTag
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-32QEFPDS.js";
|
|
22
22
|
import {
|
|
23
23
|
InvalidVariableValuesError,
|
|
24
24
|
prepareItem,
|
|
25
25
|
publishItem
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-V2J2ZWPR.js";
|
|
27
27
|
import {
|
|
28
28
|
DEFAULT_REGISTRY_URL
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-RTURM45Q.js";
|
|
30
30
|
import {
|
|
31
31
|
trackRegistryItemAdded
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-NDKVPWBH.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-BHOKLX4F.js";
|
|
45
45
|
import {
|
|
46
46
|
isProjectRootMissing,
|
|
47
47
|
realpath
|