hyperframes 0.8.188 → 0.8.190
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-UORF6235.js → add-DBKN5H7H.js} +11 -11
- package/dist/{animatedGifPrep-23MLSEXF.js → animatedGifPrep-YVBKKLQY.js} +5 -5
- package/dist/api.js +13 -13
- package/dist/{asset-DOKDVHCW.js → asset-2OHQKUMQ.js} +2 -2
- package/dist/{assetCataloger-CD27MHEY.js → assetCataloger-O3QAUWIK.js} +5 -5
- package/dist/{audio-3NMZHNNU.js → audio-IR3JGCMM.js} +11 -11
- package/dist/{auth-AWKTSKGC.js → auth-J6TAJLGD.js} +1 -1
- package/dist/{autoUpdate-VBOI4CNU.js → autoUpdate-D7BJJUT2.js} +2 -2
- package/dist/{backgroundChecks-S4R454YU.js → backgroundChecks-AILHY2YZ.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-EGPYNDHK.js → batchRender-QZKFVWEI.js} +3 -3
- package/dist/{beats-YENEQUOA.js → beats-6LOEKZPB.js} +4 -4
- package/dist/{benchmark-THSJIQG7.js → benchmark-RJMHI3YW.js} +8 -8
- package/dist/{browser-BDMVQ6WJ.js → browser-Q3Q36FE3.js} +3 -3
- package/dist/{bundleWithLocalizedFonts-3QG722YD.js → bundleWithLocalizedFonts-RWHFMSFL.js} +2 -2
- package/dist/{capture-Z6BGCTK3.js → capture-2PNTGVYV.js} +8 -8
- package/dist/{capture-WM4XDMFX.js → capture-FO3ZZCT4.js} +2 -2
- package/dist/{captureCompositionFrame-EMHSAIBZ.js → captureCompositionFrame-WTMLWVEJ.js} +11 -11
- package/dist/{catalog-7TV6UNCG.js → catalog-LUZYPUYT.js} +11 -11
- package/dist/{catch-up-63IUDZRW.js → catch-up-TUTLUTFP.js} +4 -4
- package/dist/{check-7RHZL4DV.js → check-K2TBTJZS.js} +34 -33
- package/dist/{checkBrowser-PF56CT5X.js → checkBrowser-JT7CXDT6.js} +29 -30
- package/dist/{chunk-I7C5GUEQ.js → chunk-2FFOLLU2.js} +3 -3
- package/dist/{chunk-OKSYDQHY.js → chunk-3QLT727N.js} +3 -3
- package/dist/{chunk-NFHRGHCJ.js → chunk-45U3KY7Z.js} +4 -4
- package/dist/{chunk-MJKUCR3C.js → chunk-56IDMP37.js} +2 -2
- package/dist/{chunk-YV4WT7CJ.js → chunk-56IOFIYB.js} +12 -1
- package/dist/{chunk-HKUZCSNZ.js → chunk-6HYHHMX3.js} +2 -2
- package/dist/{chunk-46VJ2UAV.js → chunk-76ITJYXX.js} +5 -5
- package/dist/{chunk-YZ73IPW2.js → chunk-7JHTNUF2.js} +2 -2
- package/dist/{chunk-2WUDFZCR.js → chunk-A5YHWTSP.js} +2 -2
- package/dist/{chunk-HPQSUPR7.js → chunk-AYFF3GX6.js} +1 -1
- package/dist/{chunk-W2KGJHUL.js → chunk-B7JFAXDP.js} +2 -2
- package/dist/{chunk-LWYZN7HS.js → chunk-BT64TTSE.js} +219 -79
- package/dist/{chunk-ZIRIDSDB.js → chunk-BWPY64WA.js} +1 -1
- package/dist/{chunk-MTPPEEYZ.js → chunk-CWVSJA52.js} +16 -8
- package/dist/{chunk-BWEZDN6U.js → chunk-CWYS2UNQ.js} +1 -1
- package/dist/chunk-DIV37NUE.js +3896 -0
- package/dist/{chunk-DA4TQFSF.js → chunk-DRTIIAIZ.js} +1 -1
- package/dist/{chunk-IJYR4TTA.js → chunk-DX7VEUBO.js} +1 -1
- package/dist/{chunk-V6NM4KL3.js → chunk-E7DXKMKU.js} +2 -2
- package/dist/{chunk-LWY3PFJ7.js → chunk-EPOYPP36.js} +2 -2
- package/dist/{chunk-BU4HRISA.js → chunk-EQF6TVWB.js} +91 -24
- package/dist/{chunk-KDBPZOXK.js → chunk-EU5HTY3E.js} +11 -11
- package/dist/{chunk-KY7375C4.js → chunk-EUUHVDMN.js} +1 -1
- package/dist/{chunk-6HYPEIH7.js → chunk-F6DNM676.js} +2 -2
- package/dist/{chunk-2DHCCBCN.js → chunk-FANFO5HI.js} +9 -9
- package/dist/{chunk-FWVILDOZ.js → chunk-FUHI34T4.js} +3 -3
- package/dist/{chunk-GYBPAKBM.js → chunk-FVD44EQX.js} +53 -31
- package/dist/{chunk-MXXX6WVC.js → chunk-GGVGOY6M.js} +1 -1
- package/dist/{chunk-XPVN4R66.js → chunk-HJZ5CPZA.js} +31 -7
- package/dist/{chunk-NMOTNNP2.js → chunk-IARWN467.js} +1 -1
- package/dist/{chunk-OJOZXWLC.js → chunk-JB7LML5B.js} +3 -3
- package/dist/{chunk-UF6RCYA5.js → chunk-JLSXXMRU.js} +1 -1
- package/dist/{chunk-JYC53CW4.js → chunk-K4664CDS.js} +97 -30
- package/dist/{chunk-T3OXKSRG.js → chunk-KNQQZRB2.js} +2 -2
- package/dist/{chunk-L243NE72.js → chunk-KUMUK6QS.js} +7 -7
- package/dist/{chunk-6HZ7TSJJ.js → chunk-L34DPWY4.js} +15 -11
- package/dist/{chunk-YCW345M4.js → chunk-OAPYPSEB.js} +357 -211
- package/dist/{chunk-6Q5CFUAP.js → chunk-OOAVKK2W.js} +1 -1
- package/dist/{chunk-FSTLXRIN.js → chunk-OTQXYTQZ.js} +1 -1
- package/dist/{chunk-44QWRPGE.js → chunk-R4QASDTN.js} +2 -2
- package/dist/{chunk-NFLZNSUZ.js → chunk-RBGNU7VD.js} +1 -1
- package/dist/{chunk-5DPV7LU3.js → chunk-RDHEG7RX.js} +2 -2
- package/dist/{chunk-FOLMMQF3.js → chunk-S2IEO6TH.js} +13 -13
- package/dist/{chunk-6OWNUXTU.js → chunk-S7C6EM7N.js} +1 -1
- package/dist/{chunk-KWSEIVR6.js → chunk-STJ2ANMF.js} +1 -1
- package/dist/{chunk-DLFAVRF3.js → chunk-SUSSMCWL.js} +1 -1
- package/dist/{chunk-U6RXZNZE.js → chunk-TMBUBLZB.js} +55 -23
- package/dist/{chunk-SMF6YAUL.js → chunk-TSQAPPRS.js} +1 -1
- package/dist/{chunk-PMXR3IUH.js → chunk-TTZTGXKG.js} +1 -1
- package/dist/{chunk-DG4ME554.js → chunk-UZ7RJDEC.js} +1 -1
- package/dist/{chunk-X556BGL7.js → chunk-WBUO6WH6.js} +1 -1
- package/dist/{chunk-IA2IDJAG.js → chunk-WCT6KGGT.js} +1 -1
- package/dist/{chunk-57XL23DE.js → chunk-WLG4OYH7.js} +1 -1
- package/dist/{chunk-JWRT2IXO.js → chunk-XBGEWNGQ.js} +1 -1
- package/dist/{chunk-B2P4JRUJ.js → chunk-XNLYMHX2.js} +1 -1
- package/dist/{chunk-PQLFJYGP.js → chunk-Y5L5I4US.js} +5 -5
- package/dist/{chunk-5OZI55AC.js → chunk-YT5VLUHM.js} +1 -1
- package/dist/{chunk-FH7WODJH.js → chunk-ZFFKWHXN.js} +8 -0
- package/dist/{clean-43O47OTN.js → clean-UVTWBPXK.js} +14 -14
- package/dist/cli.js +53 -53
- package/dist/{cloud-ZFWKFFSU.js → cloud-M42IPKFD.js} +4 -4
- package/dist/{cloudrun-XBBESKEU.js → cloudrun-CTNX64R6.js} +4 -4
- package/dist/{compare-OW4ELTFZ.js → compare-MQI7TG5M.js} +26 -26
- package/dist/{compiler-23MT6CX6.js → compiler-EJE3HLCS.js} +2 -2
- package/dist/{component-SDV7LWH6.js → component-QSYOSFVV.js} +3 -3
- package/dist/{compositions-DI5QZCEK.js → compositions-ITDFE7K4.js} +9 -9
- package/dist/{delete-QY2NSQ2G.js → delete-NTGTENKJ.js} +2 -2
- package/dist/{deploy-MJVC4EFY.js → deploy-AOJOXEYX.js} +1 -1
- package/dist/{dist-RFTGYT26.js → dist-NHW2JQCA.js} +4 -2
- package/dist/{doctor-7ZOECPHR.js → doctor-Q6DAYVSQ.js} +9 -9
- package/dist/{events-XVQQGECC.js → events-BQIBYPCF.js} +2 -2
- package/dist/{events-WIX4JM2K.js → events-PV3CDO4A.js} +3 -3
- package/dist/{feedback-GBYBR6UO.js → feedback-BZH26JQE.js} +6 -6
- package/dist/{ffmpeg-QGQBYMO3.js → ffmpeg-KU7RNT3U.js} +5 -5
- package/dist/{figma-2CMKUGJQ.js → figma-PBGZUEIL.js} +3 -3
- package/dist/fontLocalizeCli.js +7 -7
- package/dist/{get-RWCNUOHU.js → get-MM2JZ5ET.js} +2 -2
- package/dist/{gpuPolicy-UGWSN32D.js → gpuPolicy-DQE2CD5T.js} +5 -5
- package/dist/{grade-compare-J2MX7HZL.js → grade-compare-YTDQ7YXW.js} +27 -27
- package/dist/{help-SH3ID7MV.js → help-M4B2DN7E.js} +1 -1
- package/dist/{history-C7V5QH7J.js → history-ZW4UYKAJ.js} +7 -7
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +62 -62
- package/dist/hyperframes-player.global.js +3 -3
- package/dist/{info-ZN3JJ3IN.js → info-L7LQAXLK.js} +7 -7
- package/dist/{init-KRNGSRNH.js → init-HTSQ535A.js} +25 -25
- package/dist/{inspect-AYDZXTX7.js → inspect-EWF2THRR.js} +27 -27
- package/dist/{installer-N6AIK6XQ.js → installer-PQKH2S7C.js} +4 -4
- package/dist/{keyframes-2RFUCEDK.js → keyframes-X2QKJ4DP.js} +6 -6
- package/dist/{lambda-VW3CF6EE.js → lambda-BURM66GP.js} +6 -6
- package/dist/{layout-OE64APE7.js → layout-3Z3SJGZZ.js} +27 -27
- package/dist/{lint-UXJTX5WS.js → lint-OMNZ2K5J.js} +6 -6
- package/dist/{list-KOL6JPZJ.js → list-5ZSQEH6N.js} +2 -2
- package/dist/{login-MAQXOPDG.js → login-YNCQPHLA.js} +4 -4
- package/dist/{manager-3LZKRK7P.js → manager-N6XXRQN3.js} +6 -6
- package/dist/{media-treatment-COLSXXQJ.js → media-treatment-EOKBRJPY.js} +11 -11
- package/dist/{models-XXWMGOD7.js → models-6T4CCKUV.js} +9 -9
- package/dist/{motionShot-RECBNTBZ.js → motionShot-KXKMYZ3A.js} +16 -16
- package/dist/{normalize-audio-LKVGHZWR.js → normalize-audio-VWB7RHHA.js} +4 -4
- package/dist/{open-UEQVSRKH.js → open-32SQCNUP.js} +11 -11
- package/dist/{parakeetRunner-QVPCZ36U.js → parakeetRunner-BXW2WX6Q.js} +10 -10
- package/dist/{pipeline-5VSMQBKW.js → pipeline-V5ONFRCY.js} +6 -6
- package/dist/{play-MNEABYN4.js → play-BBL262JE.js} +17 -17
- package/dist/{preflight-ONJ74DWQ.js → preflight-LCNGQFNY.js} +6 -6
- package/dist/{present-GQ24GTYX.js → present-RY4HO4ZQ.js} +13 -13
- package/dist/{preview-ALL7O4RG.js → preview-BLLPCCLG.js} +16 -16
- package/dist/{producer-43L2UDF6.js → producer-QG4AQ35S.js} +1 -1
- package/dist/{projectConfig-VJXUXK7U.js → projectConfig-LN3NR5OM.js} +6 -6
- package/dist/{publication-L6E5NTFV.js → publication-TXMCS4KM.js} +2 -2
- package/dist/{publish-LCLBJEPR.js → publish-57VURD7Z.js} +7 -7
- package/dist/{remove-background-PDL4KPR4.js → remove-background-VEWVIO3A.js} +7 -7
- package/dist/{render-OPCRLZVL.js → render-4E7QDVOI.js} +12 -12
- package/dist/{render-7HVKJ7T4.js → render-SP7WAUB4.js} +5 -5
- package/dist/{render-J33ZHR6I.js → render-XMN3NJIQ.js} +27 -27
- package/dist/{render-batch-ZHHIGXU3.js → render-batch-7ULP5RIJ.js} +5 -5
- package/dist/{resolver-KNNIMMBM.js → resolver-D3XERO6U.js} +4 -4
- package/dist/{sherpa-GI62H3H5.js → sherpa-5B5G426W.js} +9 -9
- package/dist/skills/hyperframes/references/motion.md +1 -1
- package/dist/{skills-IUTD6VQO.js → skills-RXHRF7O7.js} +5 -5
- package/dist/{skillsUpdateCheck-XZE7MJG6.js → skillsUpdateCheck-JOTDZJAE.js} +3 -3
- package/dist/{snapshot-XEXTHLZP.js → snapshot-DN4MP4VN.js} +31 -31
- package/dist/{src-6STRGCDC.js → src-W6Y5ZYRQ.js} +6 -6
- package/dist/{src-ZPIV4PGX.js → src-XSDYRKLG.js} +6 -4
- package/dist/{staticProjectServer-HJLT7MHE.js → staticProjectServer-JMFGTPMX.js} +15 -13
- package/dist/studio/assets/{hyperframes-player-DwWIKKZG.js → hyperframes-player-0HXJPmYC.js} +1 -1
- package/dist/studio/assets/{index-CESvLzz0.css → index-B3vk3hfU.css} +1 -1
- package/dist/studio/assets/{index-M8lEpS0Q.js → index-BYw97F07.js} +127 -127
- package/dist/studio/assets/{index-Cjwz7_13.js → index-DsSfhjUS.js} +1 -1
- package/dist/studio/index.html +2 -2
- package/dist/{studio-api-OBHEB5ND.js → studio-api-SZ4OMFPN.js} +7 -7
- package/dist/{studioServer-KRIZFYML.js → studioServer-LWO33H7D.js} +44 -44
- package/dist/{telemetry-N5OOVBCP.js → telemetry-K3AFDKOP.js} +3 -3
- package/dist/{timeline-YUFH65OG.js → timeline-NYQOAQDH.js} +15 -15
- package/dist/{tokens-K4VYLSWJ.js → tokens-K7YWUVOK.js} +2 -2
- package/dist/{transcribe-GMQXKDYN.js → transcribe-ANPUQDZD.js} +8 -8
- package/dist/{transcribe-CY4CVO54.js → transcribe-QAUMODXM.js} +14 -14
- package/dist/{updateCheck-2625RXK4.js → updateCheck-RNR4HMDI.js} +2 -2
- package/dist/{upgrade-6ZY5MSBQ.js → upgrade-MKUGZZPA.js} +2 -2
- package/dist/{urlDownloader-PVJWG7V3.js → urlDownloader-5USPXLCS.js} +4 -4
- package/dist/{validate-XSRHEE7E.js → validate-OJHPDLC5.js} +21 -21
- package/dist/{video-MBFHC54F.js → video-BCKRR6LU.js} +5 -5
- package/dist/warmCheck.js +34 -35
- package/package.json +1 -1
- package/dist/chunk-BPX7LZG6.js +0 -3896
- package/dist/chunk-KANNRHY7.js +0 -53
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
EncoderInterruptedError,
|
|
9
9
|
encoderFailureError,
|
|
10
10
|
prepareAnimatedGifInputs
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-A5YHWTSP.js";
|
|
12
12
|
import {
|
|
13
13
|
GENERIC_FAMILIES,
|
|
14
14
|
collectFontFamilyCustomProperties,
|
|
@@ -41,6 +41,7 @@ import {
|
|
|
41
41
|
analyzeCompositionHdr,
|
|
42
42
|
analyzeKeyframeIntervals,
|
|
43
43
|
appendRenderProvenanceArgs,
|
|
44
|
+
appendSoftwareEncoderThreadsArg,
|
|
44
45
|
applyConcreteGpuScreenshotClamp,
|
|
45
46
|
applyDomLayerMask,
|
|
46
47
|
applyFaststart,
|
|
@@ -155,7 +156,7 @@ import {
|
|
|
155
156
|
validateEngineConfigSnapshot,
|
|
156
157
|
verifyDiskDrawElementSamples,
|
|
157
158
|
writeCapturedFrame
|
|
158
|
-
} from "./chunk-
|
|
159
|
+
} from "./chunk-OAPYPSEB.js";
|
|
159
160
|
import {
|
|
160
161
|
DISTRIBUTED_FPS,
|
|
161
162
|
HF_VFX_ATTR,
|
|
@@ -170,7 +171,7 @@ import {
|
|
|
170
171
|
parseVfxChain,
|
|
171
172
|
resolveAuthoredTimingWindow,
|
|
172
173
|
toFps
|
|
173
|
-
} from "./chunk-
|
|
174
|
+
} from "./chunk-56IOFIYB.js";
|
|
174
175
|
import {
|
|
175
176
|
assignBundledRuntimeCompositionIds,
|
|
176
177
|
buildVariablesByCompScript,
|
|
@@ -183,7 +184,7 @@ import {
|
|
|
183
184
|
isTemplateEntry,
|
|
184
185
|
parsesAsScript,
|
|
185
186
|
prepareFlattenedInnerRoot
|
|
186
|
-
} from "./chunk-
|
|
187
|
+
} from "./chunk-TSQAPPRS.js";
|
|
187
188
|
import {
|
|
188
189
|
COMPOSITION_SOURCE_URL,
|
|
189
190
|
HF_COLOR_GRADING_ATTR,
|
|
@@ -211,7 +212,7 @@ import {
|
|
|
211
212
|
shouldClampResolvedMediaDuration,
|
|
212
213
|
sourceTimeAt,
|
|
213
214
|
styleElementsFor
|
|
214
|
-
} from "./chunk-
|
|
215
|
+
} from "./chunk-DIV37NUE.js";
|
|
215
216
|
import {
|
|
216
217
|
MAX_AUDIO_GAIN
|
|
217
218
|
} from "./chunk-X7HBSTCZ.js";
|
|
@@ -1412,6 +1413,14 @@ function materializeExtractedFramesForCompiledDir(extracted, compiledDir, option
|
|
|
1412
1413
|
}
|
|
1413
1414
|
}
|
|
1414
1415
|
|
|
1416
|
+
// ../producer/src/services/render/frameCacheBudget.ts
|
|
1417
|
+
function frameCacheOptions(cfg, workers) {
|
|
1418
|
+
return {
|
|
1419
|
+
frameDataUriCacheLimit: cfg.frameDataUriCacheLimit,
|
|
1420
|
+
frameDataUriCacheBytesLimitMb: Math.floor(cfg.frameDataUriCacheBytesLimitMb / (workers || 1))
|
|
1421
|
+
};
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1415
1424
|
// ../producer/src/services/render/cleanup.ts
|
|
1416
1425
|
import { freemem } from "os";
|
|
1417
1426
|
|
|
@@ -12102,10 +12111,7 @@ async function executeRenderPipeline(input) {
|
|
|
12102
12111
|
});
|
|
12103
12112
|
}
|
|
12104
12113
|
});
|
|
12105
|
-
const createRenderVideoFrameInjector = () => createVideoFrameInjector(frameLookup,
|
|
12106
|
-
frameDataUriCacheLimit: cfg.frameDataUriCacheLimit,
|
|
12107
|
-
frameDataUriCacheBytesLimitMb: cfg.frameDataUriCacheBytesLimitMb
|
|
12108
|
-
});
|
|
12114
|
+
const createRenderVideoFrameInjector = () => createVideoFrameInjector(frameLookup, frameCacheOptions(cfg, workerCount));
|
|
12109
12115
|
let captureCalibration;
|
|
12110
12116
|
const htmlInCanvasDetected = compiled.renderModeHints.reasons.some(
|
|
12111
12117
|
(r) => r.code === "htmlInCanvas"
|
|
@@ -13714,12 +13720,13 @@ var RenderChunkValidationError = class extends Error {
|
|
|
13714
13720
|
this.code = code;
|
|
13715
13721
|
}
|
|
13716
13722
|
};
|
|
13717
|
-
function createChunkVideoFrameInjectorFactory(frameLookup) {
|
|
13718
|
-
if (!(frameLookup instanceof Promise))
|
|
13723
|
+
function createChunkVideoFrameInjectorFactory(frameLookup, options) {
|
|
13724
|
+
if (!(frameLookup instanceof Promise))
|
|
13725
|
+
return () => createVideoFrameInjector(frameLookup, options);
|
|
13719
13726
|
return () => {
|
|
13720
13727
|
let hook;
|
|
13721
13728
|
return async (page, time, heldVideoTime) => {
|
|
13722
|
-
hook ??= createVideoFrameInjector(await frameLookup);
|
|
13729
|
+
hook ??= createVideoFrameInjector(await frameLookup, options);
|
|
13723
13730
|
await hook?.(page, time, heldVideoTime);
|
|
13724
13731
|
};
|
|
13725
13732
|
};
|
|
@@ -15499,7 +15506,7 @@ async function compilePlanComposition(projectDir, config, planDir, options) {
|
|
|
15499
15506
|
if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
|
|
15500
15507
|
if (probeResult.probeSession) {
|
|
15501
15508
|
try {
|
|
15502
|
-
const { closeCaptureSession: closeCaptureSession2 } = await import("./src-
|
|
15509
|
+
const { closeCaptureSession: closeCaptureSession2 } = await import("./src-XSDYRKLG.js");
|
|
15503
15510
|
await closeCaptureSession2(probeResult.probeSession);
|
|
15504
15511
|
} catch (err) {
|
|
15505
15512
|
log.warn("[plan] probe session close failed", {
|
|
@@ -17148,7 +17155,7 @@ function startServer(options = {}) {
|
|
|
17148
17155
|
});
|
|
17149
17156
|
async function shutdown(signal) {
|
|
17150
17157
|
log.info(`Received ${signal}, shutting down`);
|
|
17151
|
-
const { drainBrowserPool } = await import("./src-
|
|
17158
|
+
const { drainBrowserPool } = await import("./src-XSDYRKLG.js");
|
|
17152
17159
|
await drainBrowserPool().catch(() => {
|
|
17153
17160
|
});
|
|
17154
17161
|
const handle = await Promise.race([
|
|
@@ -18193,10 +18200,9 @@ function readAssemblePlan(planDir, chunkPaths) {
|
|
|
18193
18200
|
function videoInputArgs(ctx, videoSources) {
|
|
18194
18201
|
return videoSources.length === 1 ? ["-i", videoSources[0]] : concatDemuxerInput(videoSources, ctx.workDir, ctx.fpsArg);
|
|
18195
18202
|
}
|
|
18196
|
-
|
|
18197
|
-
const
|
|
18198
|
-
|
|
18199
|
-
...videoInputArgs(ctx, chunkPaths),
|
|
18203
|
+
function cfrEncodeArgs(inputArgs, encoder, fpsArg) {
|
|
18204
|
+
const args = [
|
|
18205
|
+
...inputArgs,
|
|
18200
18206
|
"-c:v",
|
|
18201
18207
|
"libx264",
|
|
18202
18208
|
...cfrRateControlArgs(encoder),
|
|
@@ -18205,8 +18211,14 @@ async function reencodeCfr(ctx, chunkPaths, encoder) {
|
|
|
18205
18211
|
"-fps_mode",
|
|
18206
18212
|
"cfr",
|
|
18207
18213
|
"-r",
|
|
18208
|
-
|
|
18214
|
+
fpsArg
|
|
18209
18215
|
];
|
|
18216
|
+
appendSoftwareEncoderThreadsArg(args);
|
|
18217
|
+
return args;
|
|
18218
|
+
}
|
|
18219
|
+
async function reencodeCfr(ctx, chunkPaths, encoder) {
|
|
18220
|
+
const cfrOutputPath = join39(ctx.workDir, `cfr.${ctx.format}`);
|
|
18221
|
+
const cfrArgs = cfrEncodeArgs(videoInputArgs(ctx, chunkPaths), encoder, ctx.fpsArg);
|
|
18210
18222
|
appendRenderProvenanceArgs(cfrArgs, cfrOutputPath);
|
|
18211
18223
|
cfrArgs.push("-y", cfrOutputPath);
|
|
18212
18224
|
await ctx.timed(
|
|
@@ -18440,6 +18452,23 @@ async function createVerifiedDistributedCaptureSession(serverUrl, framesDir, cap
|
|
|
18440
18452
|
function isCaptureMode(value) {
|
|
18441
18453
|
return value === "beginframe" || value === "screenshot" || value === "drawelement";
|
|
18442
18454
|
}
|
|
18455
|
+
var MixedCaptureModesError = class extends Error {
|
|
18456
|
+
constructor(modes) {
|
|
18457
|
+
super(`[renderChunk] capture workers reported inconsistent modes: ${modes.join(",")}`);
|
|
18458
|
+
this.modes = modes;
|
|
18459
|
+
this.name = "MixedCaptureModesError";
|
|
18460
|
+
}
|
|
18461
|
+
modes;
|
|
18462
|
+
};
|
|
18463
|
+
function observedChunkCaptureMode(perfs) {
|
|
18464
|
+
const modes = [...new Set(perfs.map((perf) => perf.captureMode))];
|
|
18465
|
+
if (modes.length > 1) throw new MixedCaptureModesError(modes);
|
|
18466
|
+
const [mode] = modes;
|
|
18467
|
+
if (!mode || !isCaptureMode(mode)) {
|
|
18468
|
+
throw new Error(`[renderChunk] capture workers reported an invalid mode: ${mode ?? "<none>"}`);
|
|
18469
|
+
}
|
|
18470
|
+
return mode;
|
|
18471
|
+
}
|
|
18443
18472
|
function shouldRetryChunkCaptureWithScreenshot(error) {
|
|
18444
18473
|
const failure = classifyCaptureFailure(error);
|
|
18445
18474
|
if (failure.kind === "cancelled" || failure.kind === "memory_exhaustion") return false;
|
|
@@ -18737,7 +18766,10 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath, options) {
|
|
|
18737
18766
|
) : null;
|
|
18738
18767
|
videoFrameLookup?.catch(() => {
|
|
18739
18768
|
});
|
|
18740
|
-
const createChunkVideoFrameInjector = createChunkVideoFrameInjectorFactory(
|
|
18769
|
+
const createChunkVideoFrameInjector = createChunkVideoFrameInjectorFactory(
|
|
18770
|
+
videoFrameLookup,
|
|
18771
|
+
frameCacheOptions(cfg, chunkWorkerCount)
|
|
18772
|
+
);
|
|
18741
18773
|
const captureStarted = Date.now();
|
|
18742
18774
|
captureMode = await runCaptureWithScreenshotFallback({
|
|
18743
18775
|
forceScreenshot: forceScreenshotForChunk,
|
|
@@ -18791,17 +18823,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath, options) {
|
|
|
18791
18823
|
},
|
|
18792
18824
|
frameRange: range
|
|
18793
18825
|
});
|
|
18794
|
-
|
|
18795
|
-
if (observedModes.size !== 1 || ![...observedModes].every(isCaptureMode)) {
|
|
18796
|
-
throw new Error(
|
|
18797
|
-
`[renderChunk] capture workers reported invalid or inconsistent modes: ${[...observedModes].join(",") || "<none>"}`
|
|
18798
|
-
);
|
|
18799
|
-
}
|
|
18800
|
-
const [observedMode] = observedModes;
|
|
18801
|
-
if (!observedMode || !isCaptureMode(observedMode)) {
|
|
18802
|
-
throw new Error("[renderChunk] capture completed without an observed mode");
|
|
18803
|
-
}
|
|
18804
|
-
return observedMode;
|
|
18826
|
+
return observedChunkCaptureMode(capturePerfs);
|
|
18805
18827
|
},
|
|
18806
18828
|
resetForScreenshotRetry: () => {
|
|
18807
18829
|
rmSync16(workDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 });
|
|
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
getMimeType,
|
|
9
9
|
injectMediaCodecMapIntoHtml
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-L34DPWY4.js";
|
|
11
11
|
import {
|
|
12
12
|
PROXY_VARIANT_CONFIG,
|
|
13
13
|
ProxyCapacityError,
|
|
@@ -18,10 +18,17 @@ import {
|
|
|
18
18
|
recordProxyRequest,
|
|
19
19
|
resolveProxy,
|
|
20
20
|
resolveProxyVariantRequest
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-BT64TTSE.js";
|
|
22
|
+
import {
|
|
23
|
+
findStageProxyBox
|
|
24
|
+
} from "./chunk-ZFFKWHXN.js";
|
|
22
25
|
import {
|
|
23
26
|
resolveAutoProxy
|
|
24
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-UZ7RJDEC.js";
|
|
28
|
+
import {
|
|
29
|
+
PREVIEW_PROXY_BOX_PARAM,
|
|
30
|
+
parsePreviewProxyBox
|
|
31
|
+
} from "./chunk-56IOFIYB.js";
|
|
25
32
|
import {
|
|
26
33
|
decodeWellFormedEscapes
|
|
27
34
|
} from "./chunk-BSQ7XANM.js";
|
|
@@ -141,7 +148,7 @@ function writeProxyError(err, res) {
|
|
|
141
148
|
res.writeHead(500);
|
|
142
149
|
res.end();
|
|
143
150
|
}
|
|
144
|
-
async function serveProxyRequest(projectDir, filePath, request, autoProxy, rangeHeader, res, signal) {
|
|
151
|
+
async function serveProxyRequest(projectDir, filePath, request, box, autoProxy, rangeHeader, res, signal) {
|
|
145
152
|
const contentType = getMimeType(filePath);
|
|
146
153
|
if (!autoProxy || !contentType.startsWith("video/")) {
|
|
147
154
|
res.writeHead(404);
|
|
@@ -168,7 +175,7 @@ async function serveProxyRequest(projectDir, filePath, request, autoProxy, range
|
|
|
168
175
|
return;
|
|
169
176
|
}
|
|
170
177
|
recordProxyRequest();
|
|
171
|
-
const proxyPath = await resolveProxy(projectDir, filePath, variant,
|
|
178
|
+
const proxyPath = await resolveProxy(projectDir, filePath, variant, box, { signal });
|
|
172
179
|
if (res.writableEnded || res.destroyed) return;
|
|
173
180
|
serveFileWithRange(proxyPath, rangeHeader, res, PROXY_VARIANT_CONFIG[variant].contentType);
|
|
174
181
|
} catch (err) {
|
|
@@ -179,7 +186,15 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
|
|
|
179
186
|
const roots = [projectDir, ...assetRoots];
|
|
180
187
|
const autoProxy = resolveAutoProxy(projectDir, autoProxyOverride);
|
|
181
188
|
const copies = new AbortController();
|
|
182
|
-
const servedHtml = autoProxy ? await injectMediaCodecMapIntoHtml(
|
|
189
|
+
const servedHtml = autoProxy ? await injectMediaCodecMapIntoHtml(
|
|
190
|
+
html,
|
|
191
|
+
projectDir,
|
|
192
|
+
[{ html }],
|
|
193
|
+
void 0,
|
|
194
|
+
true,
|
|
195
|
+
copies.signal,
|
|
196
|
+
findStageProxyBox(html)
|
|
197
|
+
) : html;
|
|
183
198
|
const server = createServer((req, res) => {
|
|
184
199
|
const url = req.url ?? "/";
|
|
185
200
|
if (url === "/" || url === "/index.html") {
|
|
@@ -189,8 +204,16 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
|
|
|
189
204
|
}
|
|
190
205
|
const queryIndex = url.indexOf("?");
|
|
191
206
|
const pathOnly = queryIndex === -1 ? url : url.slice(0, queryIndex);
|
|
192
|
-
const
|
|
207
|
+
const query = new URLSearchParams(queryIndex === -1 ? "" : url.slice(queryIndex + 1));
|
|
208
|
+
const proxyParam = query.get("hf-proxy");
|
|
193
209
|
const proxyRequest = proxyParam !== null && isProxyVariantRequest(proxyParam) ? proxyParam : null;
|
|
210
|
+
const boxParam = query.get(PREVIEW_PROXY_BOX_PARAM);
|
|
211
|
+
const proxyBox = boxParam === null ? void 0 : parsePreviewProxyBox(boxParam);
|
|
212
|
+
if (proxyBox === null || proxyBox && !proxyRequest) {
|
|
213
|
+
res.writeHead(404);
|
|
214
|
+
res.end();
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
194
217
|
const requestPath = decodeWellFormedEscapes(pathOnly).replace(/^\//, "");
|
|
195
218
|
for (const root of roots) {
|
|
196
219
|
const filePath = resolve(root, requestPath);
|
|
@@ -202,6 +225,7 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
|
|
|
202
225
|
projectDir,
|
|
203
226
|
filePath,
|
|
204
227
|
proxyRequest,
|
|
228
|
+
proxyBox,
|
|
205
229
|
autoProxy,
|
|
206
230
|
req.headers.range,
|
|
207
231
|
res,
|
|
@@ -15,13 +15,13 @@ import {
|
|
|
15
15
|
findFFmpeg,
|
|
16
16
|
findFFprobe,
|
|
17
17
|
getFFmpegInstallHint
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-IARWN467.js";
|
|
19
19
|
import {
|
|
20
20
|
DEFAULT_VP9_CPU_USED,
|
|
21
21
|
SDR_RGB_TO_BT709_FILTER,
|
|
22
22
|
SDR_RGB_TO_TAGGED_BT709_FILTER,
|
|
23
23
|
renderProvenanceArgs
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-OAPYPSEB.js";
|
|
25
25
|
|
|
26
26
|
// src/background-removal/pipeline.ts
|
|
27
27
|
import { spawn } from "child_process";
|
|
@@ -262,7 +262,7 @@ function inferInputKind(inputPath) {
|
|
|
262
262
|
}
|
|
263
263
|
async function probeMedia(inputPath) {
|
|
264
264
|
const isImage = inferInputKind(inputPath) === "image";
|
|
265
|
-
const engine = await import("./src-
|
|
265
|
+
const engine = await import("./src-XSDYRKLG.js");
|
|
266
266
|
const meta = await engine.extractMediaMetadata(inputPath);
|
|
267
267
|
if (isImage) {
|
|
268
268
|
return { width: meta.width, height: meta.height, fps: 0, frameCount: 1 };
|
|
@@ -4,22 +4,22 @@ import { dirname as __hf_dirname } from "node:path";
|
|
|
4
4
|
var require = __hf_createRequire(import.meta.url);
|
|
5
5
|
var __filename = __hf_fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
|
+
import {
|
|
8
|
+
ambiguousIssue,
|
|
9
|
+
loadBrowserScript
|
|
10
|
+
} from "./chunk-FANFO5HI.js";
|
|
7
11
|
import {
|
|
8
12
|
auditClipDurations,
|
|
9
13
|
shouldIgnoreHttpError,
|
|
10
14
|
shouldIgnoreRequestFailure
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import {
|
|
13
|
-
checkSnapshotDirectory,
|
|
14
|
-
rectToBbox
|
|
15
|
-
} from "./chunk-KANNRHY7.js";
|
|
16
|
-
import {
|
|
17
|
-
ambiguousIssue,
|
|
18
|
-
loadBrowserScript
|
|
19
|
-
} from "./chunk-2DHCCBCN.js";
|
|
15
|
+
} from "./chunk-S2IEO6TH.js";
|
|
20
16
|
import {
|
|
21
17
|
serveStaticProjectHtml
|
|
22
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-HJZ5CPZA.js";
|
|
19
|
+
import {
|
|
20
|
+
artifactDirectory,
|
|
21
|
+
finishSnapshotRun
|
|
22
|
+
} from "./chunk-TMBUBLZB.js";
|
|
23
23
|
import {
|
|
24
24
|
FfmpegUnavailableError,
|
|
25
25
|
decideMediaProxyEligibility,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
proxyVariantFor,
|
|
28
28
|
resolveProxies,
|
|
29
29
|
scanProjectMediaCodecMap
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-BT64TTSE.js";
|
|
31
31
|
import {
|
|
32
32
|
AUDIT_SEEK_OPTIONS,
|
|
33
33
|
DEFAULT_ZOOM_PADDING_PX,
|
|
@@ -41,14 +41,17 @@ import {
|
|
|
41
41
|
seekCompositionTimeline,
|
|
42
42
|
seekInPage,
|
|
43
43
|
waitForPreferredSeekTarget
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-EU5HTY3E.js";
|
|
45
45
|
import {
|
|
46
46
|
BrowserCleanupError,
|
|
47
47
|
closeManagedBrowser
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-GGVGOY6M.js";
|
|
49
|
+
import {
|
|
50
|
+
findStageProxyBox
|
|
51
|
+
} from "./chunk-ZFFKWHXN.js";
|
|
49
52
|
import {
|
|
50
53
|
resolveAutoProxy
|
|
51
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-UZ7RJDEC.js";
|
|
52
55
|
import {
|
|
53
56
|
normalizeErrorMessage
|
|
54
57
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -63,6 +66,7 @@ var OFF_HINTS = {
|
|
|
63
66
|
"root-blend-mode": "set mix-blend-mode on a child element instead of the composition root, or drop motion blur",
|
|
64
67
|
"nested-capture-canvas": "remove the inner <canvas layoutsubtree> / content=drawable, or drop motion blur"
|
|
65
68
|
};
|
|
69
|
+
var CHOSEN = /* @__PURE__ */ new Set(["translation-only", "tier-attribute"]);
|
|
66
70
|
var GENERIC_OFF_HINT = "remove what the reason names, or drop data-motion-blur";
|
|
67
71
|
var ASKED = 'data-motion-blur="on" is set but';
|
|
68
72
|
function motionBlurDrafts(probe) {
|
|
@@ -72,8 +76,8 @@ function motionBlurDrafts(probe) {
|
|
|
72
76
|
{
|
|
73
77
|
code: "motion_blur_unverified",
|
|
74
78
|
severity: "info",
|
|
75
|
-
message: `${ASKED} blur
|
|
76
|
-
fixHint: "the check browser has no html-in-canvas (drawElementImage); render once to see
|
|
79
|
+
message: `${ASKED} the check browser cannot run capture blur, so it was drawn with the filter fallback`,
|
|
80
|
+
fixHint: "the check browser has no html-in-canvas (drawElementImage); render once to see how capture blur looks",
|
|
77
81
|
time: 0
|
|
78
82
|
}
|
|
79
83
|
];
|
|
@@ -89,6 +93,17 @@ function motionBlurDrafts(probe) {
|
|
|
89
93
|
}
|
|
90
94
|
];
|
|
91
95
|
}
|
|
96
|
+
if (probe.tier === "filter" && probe.movers > 0 && !CHOSEN.has(probe.reasonCode ?? "")) {
|
|
97
|
+
return [
|
|
98
|
+
{
|
|
99
|
+
code: "motion_blur_filter_fallback",
|
|
100
|
+
severity: "info",
|
|
101
|
+
message: `data-motion-blur="on" is drawn by the filter fallback: ${probe.reason ?? "capture blur cannot run here"}`,
|
|
102
|
+
fixHint: `the fallback smears movement but only softens zoom and rotation; ${OFF_HINTS[probe.reasonCode ?? ""] ?? GENERIC_OFF_HINT}`,
|
|
103
|
+
time: 0
|
|
104
|
+
}
|
|
105
|
+
];
|
|
106
|
+
}
|
|
92
107
|
if (probe.movers === 0) {
|
|
93
108
|
return [
|
|
94
109
|
{
|
|
@@ -112,10 +127,12 @@ function readMotionBlurProbe() {
|
|
|
112
127
|
const reason = Reflect.get(report, "reason");
|
|
113
128
|
const code = Reflect.get(report, "reasonCode");
|
|
114
129
|
const movers = Reflect.get(report, "movers");
|
|
130
|
+
const tier = Reflect.get(report, "tier");
|
|
115
131
|
const suspend = Reflect.get(api, "suspend");
|
|
116
132
|
if (typeof suspend === "function") Reflect.apply(suspend, api, []);
|
|
117
133
|
return {
|
|
118
134
|
state: Reflect.get(report, "state") === "off" ? "off" : "on",
|
|
135
|
+
tier: tier === "capture" || tier === "filter" ? tier : null,
|
|
119
136
|
reason: typeof reason === "string" ? reason : null,
|
|
120
137
|
reasonCode: typeof code === "string" ? code : null,
|
|
121
138
|
movers: typeof movers === "number" ? movers : 0
|
|
@@ -132,10 +149,41 @@ function dropMotionBlurConsoleEcho(drafts, found) {
|
|
|
132
149
|
);
|
|
133
150
|
}
|
|
134
151
|
|
|
152
|
+
// src/utils/checkSnapshotDirectory.ts
|
|
153
|
+
import { resolve } from "path";
|
|
154
|
+
var runDirectories = /* @__PURE__ */ new Map();
|
|
155
|
+
var activeChecks = /* @__PURE__ */ new Map();
|
|
156
|
+
function beginCheckSnapshots(projectDir) {
|
|
157
|
+
const project = resolve(projectDir);
|
|
158
|
+
activeChecks.set(project, (activeChecks.get(project) ?? 0) + 1);
|
|
159
|
+
}
|
|
160
|
+
function checkSnapshotDirectory(projectDir) {
|
|
161
|
+
const project = resolve(projectDir);
|
|
162
|
+
let directory = runDirectories.get(project);
|
|
163
|
+
if (!directory) {
|
|
164
|
+
directory = artifactDirectory(project, "snapshots");
|
|
165
|
+
runDirectories.set(project, directory);
|
|
166
|
+
}
|
|
167
|
+
return directory;
|
|
168
|
+
}
|
|
169
|
+
async function finishCheckSnapshots(projectDir) {
|
|
170
|
+
const project = resolve(projectDir);
|
|
171
|
+
const remaining = Math.max(0, (activeChecks.get(project) ?? 1) - 1);
|
|
172
|
+
if (remaining > 0) {
|
|
173
|
+
activeChecks.set(project, remaining);
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
activeChecks.delete(project);
|
|
177
|
+
const path = runDirectories.get(project);
|
|
178
|
+
if (!path) return;
|
|
179
|
+
runDirectories.delete(project);
|
|
180
|
+
await finishSnapshotRun(project, path);
|
|
181
|
+
}
|
|
182
|
+
|
|
135
183
|
// src/utils/checkBrowser.ts
|
|
136
184
|
import { existsSync, mkdirSync, writeFileSync } from "fs";
|
|
137
185
|
import os from "os";
|
|
138
|
-
import { join, resolve } from "path";
|
|
186
|
+
import { join, resolve as resolve2 } from "path";
|
|
139
187
|
|
|
140
188
|
// src/utils/gsapTweenTails.ts
|
|
141
189
|
var TWEEN_TAIL_WINDOW = 0.25;
|
|
@@ -247,9 +295,14 @@ function collectTweenRecords() {
|
|
|
247
295
|
);
|
|
248
296
|
}
|
|
249
297
|
|
|
298
|
+
// src/utils/checkTypes.ts
|
|
299
|
+
function rectToBbox(rect) {
|
|
300
|
+
return { x: rect.left, y: rect.top, width: rect.width, height: rect.height };
|
|
301
|
+
}
|
|
302
|
+
|
|
250
303
|
// src/utils/checkBrowser.ts
|
|
251
304
|
async function preResolveHostileMediaProxies(projectDir, html, autoProxyOverride) {
|
|
252
|
-
const none = { findings: [], failedPaths: /* @__PURE__ */ new Set() };
|
|
305
|
+
const none = { findings: [], failedPaths: /* @__PURE__ */ new Set(), files: [] };
|
|
253
306
|
if (!resolveAutoProxy(projectDir, autoProxyOverride)) return none;
|
|
254
307
|
let codecMap;
|
|
255
308
|
try {
|
|
@@ -265,17 +318,20 @@ async function preResolveHostileMediaProxies(projectDir, html, autoProxyOverride
|
|
|
265
318
|
);
|
|
266
319
|
if (hostileEntries.length === 0) return none;
|
|
267
320
|
const startedAt = Date.now();
|
|
321
|
+
const stageBox = findStageProxyBox(html);
|
|
268
322
|
const sources = hostileEntries.map(([pathname, facts]) => {
|
|
269
323
|
const file = pathname.replace(/^\/+/, "");
|
|
270
324
|
return {
|
|
271
325
|
pathname,
|
|
272
326
|
file,
|
|
273
|
-
sourcePath:
|
|
274
|
-
variant: proxyVariantFor(facts)
|
|
327
|
+
sourcePath: resolve2(projectDir, file),
|
|
328
|
+
variant: proxyVariantFor(facts),
|
|
329
|
+
box: stageBox
|
|
275
330
|
};
|
|
276
331
|
});
|
|
277
332
|
const total = hostileEntries.length;
|
|
278
|
-
const
|
|
333
|
+
const cached = sources.map((source) => proxyCached(projectDir, source));
|
|
334
|
+
const toMake = cached.filter((isCached) => !isCached).length;
|
|
279
335
|
if (toMake > 0) {
|
|
280
336
|
console.error(
|
|
281
337
|
`[hyperframes] Making browser-playable copies of ${toMake} video${toMake === 1 ? "" : "s"} Chrome cannot decode. Only the first check of these files waits for this; later checks reuse the copies.`
|
|
@@ -306,11 +362,18 @@ async function preResolveHostileMediaProxies(projectDir, html, autoProxyOverride
|
|
|
306
362
|
)
|
|
307
363
|
);
|
|
308
364
|
}
|
|
309
|
-
|
|
365
|
+
const files = sources.map(({ file }, index) => {
|
|
366
|
+
const result = results[index];
|
|
367
|
+
if (result.status === "rejected") {
|
|
368
|
+
return { file, state: "failed", reason: normalizeErrorMessage(result.reason) };
|
|
369
|
+
}
|
|
370
|
+
return { file, state: cached[index] ? "cached" : "ready" };
|
|
371
|
+
});
|
|
372
|
+
return { findings, failedPaths: new Set(failures.map(({ pathname }) => pathname)), files };
|
|
310
373
|
}
|
|
311
374
|
function proxyCached(projectDir, source) {
|
|
312
375
|
try {
|
|
313
|
-
return existsSync(getProxyCachePath(projectDir, source.sourcePath, source.variant));
|
|
376
|
+
return existsSync(getProxyCachePath(projectDir, source.sourcePath, source.variant, source.box));
|
|
314
377
|
} catch {
|
|
315
378
|
return false;
|
|
316
379
|
}
|
|
@@ -319,7 +382,7 @@ function proxyFailedDraft(message) {
|
|
|
319
382
|
return { code: "media_proxy_failed", severity: "warning", message, time: 0 };
|
|
320
383
|
}
|
|
321
384
|
async function runBrowserCheck(project, options, motion, runGrid, deadline, prelaunched) {
|
|
322
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
385
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-RWHFMSFL.js");
|
|
323
386
|
const html = await bundleWithLocalizedFonts(project.dir);
|
|
324
387
|
deadline?.enter("copies");
|
|
325
388
|
const { findings: drafts, failedPaths } = await preResolveHostileMediaProxies(
|
|
@@ -366,7 +429,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline, prel
|
|
|
366
429
|
await waitForPreferredSeekTarget(page);
|
|
367
430
|
const rootAnchor = await resolveRootAnchor(page);
|
|
368
431
|
const launchSettleMs = Date.now() - launchSettleStart;
|
|
369
|
-
const { analyzeClipMediaFit } = await import("./src-
|
|
432
|
+
const { analyzeClipMediaFit } = await import("./src-XSDYRKLG.js");
|
|
370
433
|
for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
|
|
371
434
|
drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
|
|
372
435
|
}
|
|
@@ -475,7 +538,7 @@ function mergeHelperDrafts(primary, helper) {
|
|
|
475
538
|
}
|
|
476
539
|
async function captureFindingCrops(project, options, requests, deadline) {
|
|
477
540
|
if (requests.length === 0) return [];
|
|
478
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
541
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-RWHFMSFL.js");
|
|
479
542
|
const html = await bundleWithLocalizedFonts(project.dir);
|
|
480
543
|
const server = await serveStaticProjectHtml(
|
|
481
544
|
project.dir,
|
|
@@ -651,11 +714,11 @@ async function abortedImagesStillBroken(page, drafts) {
|
|
|
651
714
|
if (urls.length === 0) return /* @__PURE__ */ new Set();
|
|
652
715
|
const broken = await page.evaluate(
|
|
653
716
|
async (candidates, capMs) => {
|
|
654
|
-
const fails = (img) => new Promise((
|
|
655
|
-
const cap = setTimeout(() =>
|
|
717
|
+
const fails = (img) => new Promise((resolve3) => {
|
|
718
|
+
const cap = setTimeout(() => resolve3(false), capMs);
|
|
656
719
|
img.decode().then(
|
|
657
|
-
() =>
|
|
658
|
-
() =>
|
|
720
|
+
() => resolve3(false),
|
|
721
|
+
() => resolve3(true)
|
|
659
722
|
).finally(() => clearTimeout(cap));
|
|
660
723
|
});
|
|
661
724
|
const stillBroken = await Promise.all(
|
|
@@ -1680,6 +1743,10 @@ function matchComponentFindings({
|
|
|
1680
1743
|
}
|
|
1681
1744
|
|
|
1682
1745
|
export {
|
|
1746
|
+
beginCheckSnapshots,
|
|
1747
|
+
checkSnapshotDirectory,
|
|
1748
|
+
finishCheckSnapshots,
|
|
1749
|
+
rectToBbox,
|
|
1683
1750
|
preResolveHostileMediaProxies,
|
|
1684
1751
|
runBrowserCheck,
|
|
1685
1752
|
samplingBrowserCount,
|
|
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
resolveConfig,
|
|
9
9
|
usesSoftwareWebGpu
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-OAPYPSEB.js";
|
|
11
11
|
|
|
12
12
|
// src/browser/gpuPolicy.ts
|
|
13
13
|
function resolveLocalBrowserGpuMode(browserGpuArg, envMode = process.env.PRODUCER_BROWSER_GPU_MODE) {
|
|
@@ -17,7 +17,7 @@ function resolveLocalBrowserGpuMode(browserGpuArg, envMode = process.env.PRODUCE
|
|
|
17
17
|
return "auto";
|
|
18
18
|
}
|
|
19
19
|
async function resolveCaptureBrowserGpuMode(requestedMode, chromePath, probeLifecycle) {
|
|
20
|
-
const { resolveBrowserGpuMode } = await import("./src-
|
|
20
|
+
const { resolveBrowserGpuMode } = await import("./src-XSDYRKLG.js");
|
|
21
21
|
return resolveBrowserGpuMode(requestedMode, { chromePath, probeLifecycle });
|
|
22
22
|
}
|
|
23
23
|
function resolveLocalWebGpu(browserGpuMode, requiresWebGpu) {
|
|
@@ -7,29 +7,29 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
RegistryCompatibilityError,
|
|
9
9
|
gateRegistryItemsCompatibility
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WLG4OYH7.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-UZ7RJDEC.js";
|
|
18
18
|
import {
|
|
19
19
|
resolveItemWithDependencies,
|
|
20
20
|
resolveItemsByTag
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-SUSSMCWL.js";
|
|
22
22
|
import {
|
|
23
23
|
InvalidVariableValuesError,
|
|
24
24
|
prepareItem,
|
|
25
25
|
publishItem
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-6HYHHMX3.js";
|
|
27
27
|
import {
|
|
28
28
|
DEFAULT_REGISTRY_URL
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-AYFF3GX6.js";
|
|
30
30
|
import {
|
|
31
31
|
trackRegistryItemAdded
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-OOAVKK2W.js";
|
|
33
33
|
import {
|
|
34
34
|
defineCommand
|
|
35
35
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
} from "./chunk-ZTZA4UWZ.js";
|
|
42
42
|
import {
|
|
43
43
|
ITEM_TYPE_DIRS
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-56IOFIYB.js";
|
|
45
45
|
import {
|
|
46
46
|
isProjectRootMissing,
|
|
47
47
|
realpath
|