hyperframes 0.8.154 → 0.8.156
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-46UBS7QL.js → add-U35DO2JR.js} +14 -13
- package/dist/{animatedGifPrep-IBLDIJXC.js → animatedGifPrep-MRGFHBVF.js} +6 -5
- package/dist/api.js +15 -14
- package/dist/{asset-GLTZ7OFE.js → asset-HS4Q6LS2.js} +2 -2
- package/dist/{assetCataloger-Y3OELLLW.js → assetCataloger-SRTQYA6J.js} +2 -2
- package/dist/{auth-WGXEQVBW.js → auth-HS6GAILF.js} +2 -2
- package/dist/{autoUpdate-N5FGARI2.js → autoUpdate-MRQ4ULBI.js} +2 -2
- package/dist/{backgroundChecks-UCVN2QVH.js → backgroundChecks-K2ZMA43S.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-6TD4XSIP.js → batchRender-CMVCRSWP.js} +3 -3
- package/dist/{beats-OMAT37Z5.js → beats-JYECNCTZ.js} +13 -12
- package/dist/{benchmark-ANFMTXOS.js → benchmark-JGMKJSPN.js} +11 -10
- package/dist/{browser-AC5JAJXI.js → browser-63WITJVS.js} +6 -5
- package/dist/{bundleWithLocalizedFonts-QX5HV7LC.js → bundleWithLocalizedFonts-5SLYBFXL.js} +2 -2
- package/dist/{capture-MTHXUEC2.js → capture-7MFOIE4K.js} +9 -8
- package/dist/{capture-R7QSBEPW.js → capture-T6QSEGKM.js} +2 -2
- package/dist/{catalog-JMTV6N5Q.js → catalog-KVE5KJJT.js} +14 -13
- package/dist/{catch-up-2YOIZO5Z.js → catch-up-E3WYWSDY.js} +7 -6
- package/dist/{check-EWAMZTRU.js → check-QRP5WCP2.js} +34 -32
- package/dist/{checkBrowser-7BJSPWVG.js → checkBrowser-5XFA6PXF.js} +31 -29
- package/dist/{chunk-V6UUZGP6.js → chunk-2K5YII2L.js} +1 -1
- package/dist/{chunk-ZDEEHQ2Y.js → chunk-3THJEW7G.js} +1 -1
- package/dist/{chunk-Z6CSYA7U.js → chunk-444O62RL.js} +1 -1
- package/dist/{chunk-GXPD7J53.js → chunk-56AEM2EL.js} +39 -18
- package/dist/{chunk-XBSPQ52S.js → chunk-7FFGZC2X.js} +5 -5
- package/dist/{chunk-OOZWUL7V.js → chunk-7K3CHJS3.js} +9 -9
- package/dist/{chunk-PVGDU7SE.js → chunk-7U27WUMQ.js} +1 -1
- package/dist/{chunk-L72IK4M5.js → chunk-C7WALYAY.js} +1 -1
- package/dist/{chunk-UT6P4K3C.js → chunk-COBIO7VC.js} +1 -1
- package/dist/{chunk-VJCX5NKE.js → chunk-DDK6E66K.js} +1 -1
- package/dist/{chunk-5OKZRXLT.js → chunk-DDSQBREC.js} +2 -2
- package/dist/{chunk-MTHQNLC4.js → chunk-DRNTIYT3.js} +3 -3
- package/dist/{chunk-WQMTHPTK.js → chunk-DSX7R5M7.js} +1 -1
- package/dist/{chunk-HGAOO43L.js → chunk-FIL6QPZT.js} +2 -2
- package/dist/{chunk-2LLDM7EU.js → chunk-GVJ4LG62.js} +2 -2
- package/dist/{chunk-M42RUIQO.js → chunk-HBKKW3NL.js} +6 -6
- package/dist/{chunk-32BQ5TTN.js → chunk-HG6H2ICP.js} +2 -2
- package/dist/{chunk-NKYGMXH2.js → chunk-HVQQN4NG.js} +1 -1
- package/dist/{chunk-5ZGSN5YK.js → chunk-IOBKVP27.js} +1 -1
- package/dist/{chunk-BG3NFNJF.js → chunk-JJERZGVE.js} +1 -1
- package/dist/{chunk-PXOFFSO3.js → chunk-JKCKXGIC.js} +1 -1
- package/dist/chunk-KLIKCX6Q.js +63 -0
- package/dist/{chunk-5DD45SJZ.js → chunk-KMSS5TOQ.js} +1 -1
- package/dist/{chunk-RCWSM7IQ.js → chunk-LJHF4SKT.js} +2 -2
- package/dist/{chunk-XQYLUY2F.js → chunk-LZ2PZIVS.js} +1 -1
- package/dist/{chunk-OSASJLU4.js → chunk-M4CRDGC4.js} +1 -1
- package/dist/{chunk-OIONMNWN.js → chunk-MBE4SEL7.js} +5 -5
- package/dist/{chunk-IPL77QF6.js → chunk-NV2JPSI4.js} +1 -1
- package/dist/chunk-OBXWIVYN.js +87 -0
- package/dist/{chunk-GV7I3ZSQ.js → chunk-OE4WEQMH.js} +1 -1
- package/dist/{chunk-WNCGJFTZ.js → chunk-OOCONATR.js} +3 -3
- package/dist/{chunk-YYMJEQ4D.js → chunk-Q7FDYQR4.js} +1 -1
- package/dist/{chunk-YG2Y55KF.js → chunk-QJEHLWM4.js} +1 -1
- package/dist/{chunk-DAKXCEE3.js → chunk-QOP5D3UM.js} +2 -2
- package/dist/{chunk-ML7TWMOG.js → chunk-RXTEP3NB.js} +2 -2
- package/dist/{chunk-M5SUCNGI.js → chunk-SCMNFRL5.js} +9 -9
- package/dist/{chunk-4MLYMDQ4.js → chunk-SCOXM5LP.js} +3 -3
- package/dist/{chunk-J5LEAKUA.js → chunk-SCXATNSP.js} +3 -3
- package/dist/{chunk-TXWPPBIW.js → chunk-SNMMFFKZ.js} +1 -1
- package/dist/{chunk-KC2Y6T4K.js → chunk-SO44ETGW.js} +2 -2
- package/dist/{chunk-AA67UBB2.js → chunk-TLUGPEW4.js} +5 -5
- package/dist/{chunk-6ELTRDMB.js → chunk-VCCOO2TO.js} +5 -5
- package/dist/{chunk-NFXP3WIG.js → chunk-VK5JRYJL.js} +12 -6
- package/dist/{chunk-KFBEMIMD.js → chunk-VPOEKLZL.js} +1 -1
- package/dist/{chunk-WUUOFMHU.js → chunk-VY23BB2D.js} +2 -2
- package/dist/{chunk-Z6DUUIZZ.js → chunk-WLYSVHZE.js} +2 -2
- package/dist/chunk-XT6MXC7A.js +6 -0
- package/dist/{chunk-ZDQH4K5E.js → chunk-XXTOOXZ7.js} +2 -2
- package/dist/{chunk-TVBRW5VB.js → chunk-YGLM2DHX.js} +1 -1
- package/dist/{chunk-2XEBNYG5.js → chunk-YLSSI4XB.js} +1 -1
- package/dist/{chunk-SACJPO3O.js → chunk-YNFJWJHW.js} +7 -7
- package/dist/{chunk-2F6LWCSF.js → chunk-YUTUYCGK.js} +140 -207
- package/dist/{chunk-R6WCSVCE.js → chunk-YZEHYWOH.js} +1 -1
- package/dist/{clean-42FUKXXZ.js → clean-4HTCYML6.js} +17 -15
- package/dist/cli.js +52 -52
- package/dist/{cloud-FIELJ5XR.js → cloud-HFBG33UU.js} +4 -4
- package/dist/{cloudrun-OUGI5NN4.js → cloudrun-QK56WQY3.js} +3 -3
- package/dist/{compare-6U4HCXIA.js → compare-4RYN3LLC.js} +26 -24
- package/dist/{compiler-WHUQZITN.js → compiler-JPA25IUF.js} +2 -2
- package/dist/{component-O72LNVJ6.js → component-7ARXR4KZ.js} +3 -3
- package/dist/{compositions-2AD2FPUW.js → compositions-DNBHEIGP.js} +12 -11
- package/dist/{delete-6L4ISXBN.js → delete-4XYV72EU.js} +2 -2
- package/dist/{dist-NUSNSGME.js → dist-SKUIM4QJ.js} +2 -2
- package/dist/{doctor-J7I5BNOO.js → doctor-5PHSH7IK.js} +12 -11
- package/dist/{events-CPDLAJHK.js → events-FOGRN2KV.js} +5 -4
- package/dist/{events-V4XDOOWJ.js → events-GQCOQY5E.js} +6 -5
- package/dist/{feedback-D4XXMW2S.js → feedback-6T6ZJOTM.js} +9 -8
- package/dist/{ffmpeg-MJFMBBSF.js → ffmpeg-VJXXLKI6.js} +3 -2
- package/dist/{figma-TZEJ3CGU.js → figma-PZLGUS6C.js} +3 -3
- package/dist/fontLocalizeCli.js +9 -7
- package/dist/{get-TX5Q3HZN.js → get-XUNYSY2Z.js} +2 -2
- package/dist/{gpuPolicy-7SIPG5BM.js → gpuPolicy-SWCZJRZR.js} +6 -5
- package/dist/{grade-compare-PUL3ROQ2.js → grade-compare-S27N2NRU.js} +27 -25
- package/dist/{help-35WXO5ZG.js → help-4HZ75YVH.js} +1 -1
- package/dist/{history-KQR73V36.js → history-NENOG3BT.js} +9 -8
- package/dist/hyperframe-runtime.js +35 -35
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +35 -35
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-KR2BYBSK.js → info-IDEUAYJZ.js} +10 -9
- package/dist/{init-LKCGZMPN.js → init-KWGZEC7F.js} +28 -27
- package/dist/{inspect-HQ6UJSTU.js → inspect-3WLT3EHZ.js} +27 -25
- package/dist/{installer-QCHUXV6E.js → installer-I3SLBB7G.js} +4 -4
- package/dist/{keyframes-5CMO5LP7.js → keyframes-7HPN5DKO.js} +9 -8
- package/dist/{lambda-Q5FTNY4J.js → lambda-MJH6U52V.js} +4 -4
- package/dist/{layout-YVV6VMQH.js → layout-ZEW4RZRP.js} +27 -25
- package/dist/{lint-6OVFMUKL.js → lint-3TNKI4PK.js} +9 -8
- package/dist/{list-SIR427WB.js → list-BJR2IXU4.js} +2 -2
- package/dist/{login-LVUMH7FN.js → login-EA27W5T2.js} +4 -4
- package/dist/{manager-X44GKUEL.js → manager-3EUU5UX6.js} +4 -3
- package/dist/{media-treatment-QQWH6FE4.js → media-treatment-3JZFCG6I.js} +12 -11
- package/dist/{models-CRYHY4KH.js → models-IRFIJOIW.js} +10 -9
- package/dist/{motionShot-DUAOT5ZP.js → motionShot-S4M7QSW3.js} +12 -11
- package/dist/{normalize-audio-JABWBEAY.js → normalize-audio-IOY3NRHJ.js} +7 -6
- package/dist/{open-BJV5BHNC.js → open-SCBC3NF5.js} +7 -6
- package/dist/{parakeetRunner-AFUTDANA.js → parakeetRunner-FGTIYDG7.js} +12 -11
- package/dist/{pipeline-3TQHAQOJ.js → pipeline-JEFEWIZ3.js} +8 -7
- package/dist/{play-YFTZXUFZ.js → play-4TCSBDHO.js} +20 -18
- package/dist/{preflight-JYOX64YP.js → preflight-OIHM57E7.js} +5 -4
- package/dist/{present-GXRTOXJB.js → present-S6UBG5VI.js} +16 -14
- package/dist/{preview-EDLAPS6D.js → preview-HBDXDJCV.js} +18 -17
- package/dist/{producer-HE23BPEU.js → producer-KSAUIT6F.js} +1 -1
- package/dist/{projectConfig-EX35BZLA.js → projectConfig-CNAK65RI.js} +6 -6
- package/dist/{publication-OUGS3P7W.js → publication-AUWZFGJI.js} +2 -2
- package/dist/{publish-UUFZR6QT.js → publish-EMNP3VCC.js} +7 -7
- package/dist/{remove-background-P5M42CA5.js → remove-background-GICM6TE5.js} +9 -8
- package/dist/{render-RAZDITXX.js → render-DMHQZMV4.js} +25 -24
- package/dist/{render-LUAMJOON.js → render-PHEQSRHV.js} +11 -10
- package/dist/{render-AWFQGD4T.js → render-WMRNH7HO.js} +3 -3
- package/dist/{render-batch-6UN3HT5A.js → render-batch-OUTHTWN5.js} +3 -3
- package/dist/{resolver-O6ZENVYP.js → resolver-NTB6HOZC.js} +4 -4
- package/dist/{sherpa-RWHRDO53.js → sherpa-3YJNJ6TF.js} +11 -10
- package/dist/{skills-6QLIIV4T.js → skills-MKEJGL35.js} +8 -7
- package/dist/{skillsUpdateCheck-AO7L77FU.js → skillsUpdateCheck-RTLARPPP.js} +3 -3
- package/dist/{snapshot-ZGQTC2KE.js → snapshot-KMLGFZWY.js} +30 -28
- package/dist/{src-KKS6QEHB.js → src-4HB343JW.js} +8 -6
- package/dist/{src-YMUDUVXQ.js → src-HJ2NF55P.js} +5 -4
- package/dist/{staticProjectServer-NA2UE47H.js → staticProjectServer-4XX72J23.js} +13 -12
- package/dist/{status-NBRMGL7D.js → status-BMXWFO4L.js} +3 -2
- package/dist/studio/assets/{hyperframes-player-adFY_rvU.js → hyperframes-player-u2w3bDWo.js} +1 -1
- package/dist/studio/assets/{index-g5aCEF-7.js → index-BG28fXIT.js} +1 -1
- package/dist/studio/assets/{index-Djs4U7Oa.js → index-D8B6eEBj.js} +4 -4
- package/dist/studio/assets/{index-CKiMhYE1.js → index-WD9j53l5.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-4PDW26L5.js → studio-api-LPHMA57T.js} +7 -6
- package/dist/{studioServer-GXQ6IMAZ.js → studioServer-P7GSE74X.js} +46 -40
- package/dist/{system-OXRG57F2.js → system-QRHPVRPP.js} +3 -2
- package/dist/{telemetry-JIC7WB64.js → telemetry-576VTLGI.js} +6 -5
- package/dist/{timeline-5M2WY2NL.js → timeline-BO7LJJ24.js} +16 -14
- package/dist/{tokens-WZMTZSB5.js → tokens-TCYANQDA.js} +2 -2
- package/dist/{transcribe-E5E7GR35.js → transcribe-6HLMGCL2.js} +17 -16
- package/dist/{transcribe-56WECC4Y.js → transcribe-6PTFIBO6.js} +10 -9
- package/dist/{updateCheck-WURPUXPL.js → updateCheck-ZLYIZPPQ.js} +2 -2
- package/dist/{upgrade-KUNE7RXE.js → upgrade-DZHQE2PV.js} +2 -2
- package/dist/{urlDownloader-FGSJGUM7.js → urlDownloader-PJTOCTJA.js} +5 -4
- package/dist/{validate-P6NUUTBK.js → validate-3I45WC7I.js} +21 -19
- package/dist/{video-DOFSWSSR.js → video-AQFXGGKN.js} +6 -5
- package/package.json +1 -1
- package/dist/chunk-AMKC3AXA.js +0 -25
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
DEFAULT_REGISTRY_URL,
|
|
9
9
|
fetchItemFile,
|
|
10
10
|
validRegistryItem
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YLSSI4XB.js";
|
|
12
12
|
import {
|
|
13
13
|
publishRegistryFile,
|
|
14
14
|
registryTargetPath
|
|
15
15
|
} from "./chunk-GMECXFAN.js";
|
|
16
16
|
import {
|
|
17
17
|
validateVariables
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-3THJEW7G.js";
|
|
19
19
|
import {
|
|
20
20
|
realProjectRoot
|
|
21
21
|
} from "./chunk-OFQWTKPW.js";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
typeDirPath,
|
|
21
21
|
updateRecord,
|
|
22
22
|
withFigmaErrors
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-JJERZGVE.js";
|
|
24
24
|
import {
|
|
25
25
|
defineCommand
|
|
26
26
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -229,7 +229,7 @@ var asset_default = defineCommand({
|
|
|
229
229
|
rendered > 0 ? `(${results.length} nodes, ${rendered} rendered in 1 figma request)` : `(${results.length} nodes, all reused from cache \u2014 no figma request)`
|
|
230
230
|
);
|
|
231
231
|
}
|
|
232
|
-
const { trackFigmaImport } = await import("./telemetry-
|
|
232
|
+
const { trackFigmaImport } = await import("./telemetry-576VTLGI.js");
|
|
233
233
|
trackFigmaImport({
|
|
234
234
|
phase: "asset",
|
|
235
235
|
reused: results.every((r) => r.reused),
|
|
@@ -16,13 +16,13 @@ import {
|
|
|
16
16
|
} from "./chunk-5ETJX6WM.js";
|
|
17
17
|
import {
|
|
18
18
|
runEnvironmentChecks
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-VY23BB2D.js";
|
|
20
20
|
import {
|
|
21
21
|
getAvailableMemoryMb,
|
|
22
22
|
getFreeDiskMb,
|
|
23
23
|
getShmSizeMb,
|
|
24
24
|
getSystemMeta
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-7FFGZC2X.js";
|
|
26
26
|
import {
|
|
27
27
|
defineCommand
|
|
28
28
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -32,21 +32,21 @@ import {
|
|
|
32
32
|
import {
|
|
33
33
|
getUpdateMeta,
|
|
34
34
|
withMeta
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-COBIO7VC.js";
|
|
36
36
|
import {
|
|
37
37
|
CONFIG_PATH,
|
|
38
38
|
withFileLock
|
|
39
39
|
} from "./chunk-XUXGIA7H.js";
|
|
40
40
|
import {
|
|
41
41
|
VERSION
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-SO44ETGW.js";
|
|
43
43
|
import {
|
|
44
44
|
OPTIONAL_PACKAGES,
|
|
45
45
|
installedOptionalPackageVersion
|
|
46
46
|
} from "./chunk-3DKN5WKL.js";
|
|
47
47
|
import {
|
|
48
48
|
resolveExtractCacheDir
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-YUTUYCGK.js";
|
|
50
50
|
import {
|
|
51
51
|
normalizeErrorMessage
|
|
52
52
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -232,7 +232,7 @@ function checkEnvironment() {
|
|
|
232
232
|
return { ok: true, detail: parts.join(" \xB7 ") };
|
|
233
233
|
}
|
|
234
234
|
async function checkWhisper() {
|
|
235
|
-
const { findWhisper, getInstallInstructions } = await import("./manager-
|
|
235
|
+
const { findWhisper, getInstallInstructions } = await import("./manager-3EUU5UX6.js");
|
|
236
236
|
const result = findWhisper();
|
|
237
237
|
if (result) {
|
|
238
238
|
return { ok: true, detail: result.executablePath };
|
|
@@ -7,10 +7,10 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
trackLintReport,
|
|
9
9
|
trackLintRuleStreak
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-RXTEP3NB.js";
|
|
11
11
|
import {
|
|
12
12
|
shouldTrack
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-WLYSVHZE.js";
|
|
14
14
|
import {
|
|
15
15
|
LINT_RULE_COUNT,
|
|
16
16
|
LINT_RULE_GROUP_COUNTS
|
|
@@ -1278,7 +1278,7 @@ async function withFigmaErrors(command, fn) {
|
|
|
1278
1278
|
} catch (err) {
|
|
1279
1279
|
if (err instanceof Error) {
|
|
1280
1280
|
try {
|
|
1281
|
-
const { trackCommandFailure } = await import("./events-
|
|
1281
|
+
const { trackCommandFailure } = await import("./events-GQCOQY5E.js");
|
|
1282
1282
|
trackCommandFailure(
|
|
1283
1283
|
command,
|
|
1284
1284
|
err,
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { createRequire as __hf_createRequire } from "node:module";
|
|
2
|
+
import { fileURLToPath as __hf_fileURLToPath } from "node:url";
|
|
3
|
+
import { dirname as __hf_dirname } from "node:path";
|
|
4
|
+
var require = __hf_createRequire(import.meta.url);
|
|
5
|
+
var __filename = __hf_fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __hf_dirname(__filename);
|
|
7
|
+
|
|
8
|
+
// ../studio-server/dist/chunk-GR4TX52A.js
|
|
9
|
+
var CRF_MAX_BY_FORMAT = { mp4: 51, webm: 63 };
|
|
10
|
+
var VIDEO_BITRATE = /^\d+(\.\d+)?[kKmMgG]?$/;
|
|
11
|
+
var VIDEO_FRAME_FORMATS = ["auto", "jpg", "png"];
|
|
12
|
+
var HDR_MODES = ["auto", "force-hdr", "force-sdr"];
|
|
13
|
+
var isSet = (value) => value !== void 0 && value !== null;
|
|
14
|
+
function oneOf(value, allowed) {
|
|
15
|
+
return typeof value === "string" && allowed.includes(value);
|
|
16
|
+
}
|
|
17
|
+
function parseCrf(crf, format, max) {
|
|
18
|
+
if (typeof crf !== "number" || !Number.isInteger(crf) || crf < 0 || crf > max) {
|
|
19
|
+
return { ok: false, error: `crf must be an integer from 0 to ${max} for ${format}` };
|
|
20
|
+
}
|
|
21
|
+
return { ok: true, options: { crf } };
|
|
22
|
+
}
|
|
23
|
+
function parseVideoBitrate(videoBitrate) {
|
|
24
|
+
if (typeof videoBitrate !== "string" || !VIDEO_BITRATE.test(videoBitrate)) {
|
|
25
|
+
return { ok: false, error: 'videoBitrate must look like "10M", "2500k" or "8000000"' };
|
|
26
|
+
}
|
|
27
|
+
return { ok: true, options: { videoBitrate } };
|
|
28
|
+
}
|
|
29
|
+
function parseRateControl(body, format) {
|
|
30
|
+
const max = CRF_MAX_BY_FORMAT[format];
|
|
31
|
+
if (max === void 0) return { ok: true, options: {} };
|
|
32
|
+
if (isSet(body.crf) && isSet(body.videoBitrate)) {
|
|
33
|
+
return { ok: false, error: "use either crf or videoBitrate, not both" };
|
|
34
|
+
}
|
|
35
|
+
if (isSet(body.crf)) return parseCrf(body.crf, format, max);
|
|
36
|
+
if (isSet(body.videoBitrate)) return parseVideoBitrate(body.videoBitrate);
|
|
37
|
+
return { ok: true, options: {} };
|
|
38
|
+
}
|
|
39
|
+
function parseEncoderOptions(body, format) {
|
|
40
|
+
const rate = parseRateControl(body, format);
|
|
41
|
+
if (!rate.ok) return rate;
|
|
42
|
+
const options = { ...rate.options };
|
|
43
|
+
if (isSet(body.videoFrameFormat)) {
|
|
44
|
+
if (!oneOf(body.videoFrameFormat, VIDEO_FRAME_FORMATS)) {
|
|
45
|
+
return {
|
|
46
|
+
ok: false,
|
|
47
|
+
error: `videoFrameFormat must be one of ${VIDEO_FRAME_FORMATS.join(", ")}`
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
options.videoFrameFormat = body.videoFrameFormat;
|
|
51
|
+
}
|
|
52
|
+
if (isSet(body.hdrMode)) {
|
|
53
|
+
if (!oneOf(body.hdrMode, HDR_MODES)) {
|
|
54
|
+
return { ok: false, error: `hdrMode must be one of ${HDR_MODES.join(", ")}` };
|
|
55
|
+
}
|
|
56
|
+
options.hdrMode = body.hdrMode;
|
|
57
|
+
}
|
|
58
|
+
return { ok: true, options };
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
parseEncoderOptions
|
|
63
|
+
};
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
DEFAULT_VP9_CPU_USED,
|
|
9
9
|
isHttpUrl,
|
|
10
10
|
runFfmpeg
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YUTUYCGK.js";
|
|
12
12
|
import {
|
|
13
13
|
parseAnimatedGifMetadata
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-3THJEW7G.js";
|
|
15
15
|
import {
|
|
16
16
|
parseHTML
|
|
17
17
|
} from "./chunk-SDYDNHEE.js";
|
|
@@ -11,22 +11,22 @@ import {
|
|
|
11
11
|
launchManagedBrowser,
|
|
12
12
|
resolveManagedGpuMode,
|
|
13
13
|
rethrowAfterBrowserCleanup
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-VPOEKLZL.js";
|
|
15
15
|
import {
|
|
16
16
|
resolveDiagnosticNavigationTimeoutMs,
|
|
17
17
|
windowsChromeCrashRemediation
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-SNMMFFKZ.js";
|
|
19
19
|
import {
|
|
20
20
|
resolveLocalBrowserGpuMode,
|
|
21
21
|
resolveLocalWebGpu
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-QOP5D3UM.js";
|
|
23
23
|
import {
|
|
24
24
|
c
|
|
25
25
|
} from "./chunk-ZTZA4UWZ.js";
|
|
26
26
|
import {
|
|
27
27
|
assertWebGpuAdapterAvailable,
|
|
28
28
|
compositionRequiresWebGpu
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-YUTUYCGK.js";
|
|
30
30
|
import {
|
|
31
31
|
normalizeErrorMessage
|
|
32
32
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -108,7 +108,7 @@ async function openSettledCompositionPage(html, url, options) {
|
|
|
108
108
|
const { ensureBrowser, findSystemBrowser } = await import("./manager-ZLJD3EAY.js");
|
|
109
109
|
const browser = await ensureBrowser({ signal: options.signal });
|
|
110
110
|
const puppeteer = await import("puppeteer-core");
|
|
111
|
-
const { buildChromeArgs } = await import("./src-
|
|
111
|
+
const { buildChromeArgs } = await import("./src-HJ2NF55P.js");
|
|
112
112
|
const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
|
|
113
113
|
const requiresWebGpu = compositionRequiresWebGpu(html);
|
|
114
114
|
let softwareWebGpu = false;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { createRequire as __hf_createRequire } from "node:module";
|
|
2
|
+
import { fileURLToPath as __hf_fileURLToPath } from "node:url";
|
|
3
|
+
import { dirname as __hf_dirname } from "node:path";
|
|
4
|
+
var require = __hf_createRequire(import.meta.url);
|
|
5
|
+
var __filename = __hf_fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __hf_dirname(__filename);
|
|
7
|
+
|
|
8
|
+
// ../engine/src/services/wslHost.ts
|
|
9
|
+
import { accessSync, constants, existsSync, readFileSync, statSync } from "fs";
|
|
10
|
+
import { platform, release } from "os";
|
|
11
|
+
function groupName(gid) {
|
|
12
|
+
try {
|
|
13
|
+
const line = readFileSync("/etc/group", "utf-8").split("\n").find((entry) => entry.split(":")[2] === String(gid));
|
|
14
|
+
return line?.split(":")[0] || String(gid);
|
|
15
|
+
} catch {
|
|
16
|
+
return String(gid);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
var realHost = {
|
|
20
|
+
get platform() {
|
|
21
|
+
return platform();
|
|
22
|
+
},
|
|
23
|
+
get release() {
|
|
24
|
+
return release();
|
|
25
|
+
},
|
|
26
|
+
readProcVersion: () => readFileSync("/proc/version", "utf-8"),
|
|
27
|
+
renderNodeAccess: (path) => {
|
|
28
|
+
if (!existsSync(path)) return { state: "missing" };
|
|
29
|
+
try {
|
|
30
|
+
accessSync(path, constants.R_OK | constants.W_OK);
|
|
31
|
+
return { state: "read-write" };
|
|
32
|
+
} catch {
|
|
33
|
+
const gid = statSync(path, { throwIfNoEntry: false })?.gid ?? -1;
|
|
34
|
+
return {
|
|
35
|
+
state: "denied",
|
|
36
|
+
group: groupName(gid),
|
|
37
|
+
userInGroup: process.getgroups?.().includes(gid) ?? false
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
function detectWsl(host = realHost) {
|
|
43
|
+
if (host.platform !== "linux") return false;
|
|
44
|
+
try {
|
|
45
|
+
const osRelease = host.release.toLowerCase();
|
|
46
|
+
if (osRelease.includes("microsoft") || osRelease.includes("wsl")) return true;
|
|
47
|
+
const procVersion = host.readProcVersion().toLowerCase();
|
|
48
|
+
return procVersion.includes("microsoft") || procVersion.includes("wsl");
|
|
49
|
+
} catch {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
var RENDER_NODE = "/dev/dri/renderD128";
|
|
54
|
+
var NATIVE_WINDOWS = "render from native Windows (project copied to a Windows drive, run from PowerShell), where Chrome uses the GPU through Direct3D.";
|
|
55
|
+
function routeToGpu(fullChrome) {
|
|
56
|
+
const viaFullChrome = fullChrome.state === "missing" ? [
|
|
57
|
+
" Under WSL, Chrome's headless shell often cannot reach the GPU while full Chrome can. Install full Chrome with `npx @puppeteer/browsers install chrome@stable --path ~/.cache/puppeteer` and HyperFrames will try it when the headless shell finds no GPU (or point HYPERFRAMES_BROWSER_PATH at a full Chrome)."
|
|
58
|
+
] : fullChrome.state === "no-gpu" ? [` Full Chrome (${fullChrome.path}) found no hardware GPU either.`] : [` Full Chrome (${fullChrome.path}) could not finish its GPU check either.`];
|
|
59
|
+
return [...viaFullChrome, ` Or ${NATIVE_WINDOWS}`];
|
|
60
|
+
}
|
|
61
|
+
function describeWslGpuAccess(host = realHost, fullChrome = { state: "missing" }) {
|
|
62
|
+
if (!detectWsl(host)) return null;
|
|
63
|
+
const access = host.renderNodeAccess(RENDER_NODE);
|
|
64
|
+
if (access.state === "denied" && !access.userInGroup) {
|
|
65
|
+
return [
|
|
66
|
+
` Your Linux user cannot read and write ${RENDER_NODE} and is not in its group ("${access.group}"), which can stop Mesa from reaching the GPU.`,
|
|
67
|
+
` First run \`sudo usermod -aG ${access.group} $USER\`, then \`wsl --shutdown\` from Windows and reopen WSL. On its own that may not be enough:`,
|
|
68
|
+
...routeToGpu(fullChrome)
|
|
69
|
+
];
|
|
70
|
+
}
|
|
71
|
+
if (access.state === "denied") {
|
|
72
|
+
return [
|
|
73
|
+
` Your Linux user is in the "${access.group}" group but still cannot read and write ${RENDER_NODE}; check its permissions with \`ls -l ${RENDER_NODE}\`.`,
|
|
74
|
+
...routeToGpu(fullChrome)
|
|
75
|
+
];
|
|
76
|
+
}
|
|
77
|
+
const seen = access.state === "missing" ? "does not exist" : "is readable and writable";
|
|
78
|
+
return [
|
|
79
|
+
` ${RENDER_NODE} ${seen}, so file permissions are not the cause.`,
|
|
80
|
+
...routeToGpu(fullChrome)
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export {
|
|
85
|
+
detectWsl,
|
|
86
|
+
describeWslGpuAccess
|
|
87
|
+
};
|