hyperframes 0.8.154 → 0.8.155

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.
Files changed (132) hide show
  1. package/dist/{add-46UBS7QL.js → add-QHRTHQDD.js} +8 -7
  2. package/dist/{animatedGifPrep-IBLDIJXC.js → animatedGifPrep-KYVKRWHT.js} +3 -2
  3. package/dist/api.js +12 -11
  4. package/dist/{asset-GLTZ7OFE.js → asset-LBQA2IUJ.js} +2 -2
  5. package/dist/{auth-WGXEQVBW.js → auth-3MMX5MLV.js} +2 -2
  6. package/dist/{autoUpdate-N5FGARI2.js → autoUpdate-6EMWLUKO.js} +2 -2
  7. package/dist/{backgroundChecks-UCVN2QVH.js → backgroundChecks-3VL65XVE.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{beats-OMAT37Z5.js → beats-NOHE5FA5.js} +10 -9
  10. package/dist/{benchmark-ANFMTXOS.js → benchmark-7EFNYNYH.js} +9 -8
  11. package/dist/{browser-AC5JAJXI.js → browser-IZ2DJGGN.js} +6 -5
  12. package/dist/{bundleWithLocalizedFonts-QX5HV7LC.js → bundleWithLocalizedFonts-YVGLQ72Z.js} +1 -1
  13. package/dist/{capture-R7QSBEPW.js → capture-HHK4GA4X.js} +2 -2
  14. package/dist/{capture-MTHXUEC2.js → capture-YJEM42PR.js} +5 -4
  15. package/dist/{catalog-JMTV6N5Q.js → catalog-GXGFKOX7.js} +8 -7
  16. package/dist/{catch-up-2YOIZO5Z.js → catch-up-L6E26OPV.js} +7 -6
  17. package/dist/{check-EWAMZTRU.js → check-HSTEN7PX.js} +23 -21
  18. package/dist/{checkBrowser-7BJSPWVG.js → checkBrowser-547BWZG6.js} +21 -19
  19. package/dist/{chunk-BG3NFNJF.js → chunk-2Q2KQRG7.js} +1 -1
  20. package/dist/{chunk-WUUOFMHU.js → chunk-45FUWHHV.js} +2 -2
  21. package/dist/{chunk-2LLDM7EU.js → chunk-4OMHV7P2.js} +2 -2
  22. package/dist/{chunk-WNCGJFTZ.js → chunk-4U66LIUS.js} +3 -3
  23. package/dist/{chunk-UT6P4K3C.js → chunk-5GZLD7OW.js} +1 -1
  24. package/dist/{chunk-R6WCSVCE.js → chunk-6ENZIL42.js} +1 -1
  25. package/dist/{chunk-OSASJLU4.js → chunk-6UMBAJRU.js} +1 -1
  26. package/dist/chunk-7KDQAD2W.js +81 -0
  27. package/dist/{chunk-32BQ5TTN.js → chunk-AF6Y56VA.js} +2 -2
  28. package/dist/{chunk-M42RUIQO.js → chunk-AVGGHUVK.js} +6 -6
  29. package/dist/{chunk-GXPD7J53.js → chunk-B4WWDPNF.js} +27 -14
  30. package/dist/{chunk-VJCX5NKE.js → chunk-BADLIO5R.js} +1 -1
  31. package/dist/{chunk-OIONMNWN.js → chunk-BEM57QP3.js} +4 -4
  32. package/dist/{chunk-AA67UBB2.js → chunk-BSMBAP7O.js} +5 -5
  33. package/dist/{chunk-DAKXCEE3.js → chunk-D5VMPDTH.js} +2 -2
  34. package/dist/{chunk-IPL77QF6.js → chunk-DM2D67MP.js} +1 -1
  35. package/dist/{chunk-5ZGSN5YK.js → chunk-ECFNYTEM.js} +1 -1
  36. package/dist/{chunk-TVBRW5VB.js → chunk-GC36GZHM.js} +1 -1
  37. package/dist/{chunk-NKYGMXH2.js → chunk-GD5MYXEK.js} +1 -1
  38. package/dist/{chunk-MTHQNLC4.js → chunk-GQ73YXKD.js} +1 -1
  39. package/dist/{chunk-ML7TWMOG.js → chunk-HAKVKAUQ.js} +2 -2
  40. package/dist/{chunk-5DD45SJZ.js → chunk-HXU4DWOZ.js} +1 -1
  41. package/dist/{chunk-4MLYMDQ4.js → chunk-KEGTYA7V.js} +3 -3
  42. package/dist/chunk-KLIKCX6Q.js +63 -0
  43. package/dist/{chunk-Z6DUUIZZ.js → chunk-KS4JPMVV.js} +2 -2
  44. package/dist/{chunk-M5SUCNGI.js → chunk-M2IEAI7L.js} +7 -7
  45. package/dist/{chunk-L72IK4M5.js → chunk-O5S54BVW.js} +1 -1
  46. package/dist/{chunk-KFBEMIMD.js → chunk-P5CMYIC6.js} +1 -1
  47. package/dist/{chunk-5OKZRXLT.js → chunk-PCBCTD7M.js} +2 -2
  48. package/dist/{chunk-RCWSM7IQ.js → chunk-PCXEFXRK.js} +1 -1
  49. package/dist/{chunk-ZDQH4K5E.js → chunk-PFERJHKB.js} +1 -1
  50. package/dist/{chunk-NFXP3WIG.js → chunk-PSDTKP6K.js} +6 -0
  51. package/dist/{chunk-KC2Y6T4K.js → chunk-Q3BS3MN5.js} +2 -2
  52. package/dist/{chunk-XBSPQ52S.js → chunk-QWQ6GQTI.js} +5 -5
  53. package/dist/{chunk-J5LEAKUA.js → chunk-RB6RHOSF.js} +3 -3
  54. package/dist/{chunk-SACJPO3O.js → chunk-RSNBNSKZ.js} +2 -2
  55. package/dist/{chunk-OOZWUL7V.js → chunk-RTI536FR.js} +8 -8
  56. package/dist/{chunk-YG2Y55KF.js → chunk-SQHWDFTV.js} +1 -1
  57. package/dist/{chunk-Z6CSYA7U.js → chunk-TA5AUF2J.js} +1 -1
  58. package/dist/{chunk-2F6LWCSF.js → chunk-TLC4GYT5.js} +38 -26
  59. package/dist/{chunk-6ELTRDMB.js → chunk-UNO7QJAV.js} +5 -5
  60. package/dist/chunk-XT6MXC7A.js +6 -0
  61. package/dist/{clean-42FUKXXZ.js → clean-J3IRHNY5.js} +12 -10
  62. package/dist/cli.js +49 -49
  63. package/dist/{cloud-FIELJ5XR.js → cloud-TMV666ML.js} +4 -4
  64. package/dist/{compare-6U4HCXIA.js → compare-UXT7YJAD.js} +15 -13
  65. package/dist/{component-O72LNVJ6.js → component-OEWAQBRI.js} +3 -3
  66. package/dist/{compositions-2AD2FPUW.js → compositions-J5UAUORI.js} +9 -8
  67. package/dist/{delete-6L4ISXBN.js → delete-RIWTBVNH.js} +2 -2
  68. package/dist/{doctor-J7I5BNOO.js → doctor-L4LKY2ZO.js} +9 -8
  69. package/dist/{events-CPDLAJHK.js → events-7O35RPKC.js} +5 -4
  70. package/dist/{events-V4XDOOWJ.js → events-CRYKZ3VN.js} +6 -5
  71. package/dist/{feedback-D4XXMW2S.js → feedback-WL5ILVT2.js} +7 -6
  72. package/dist/{ffmpeg-MJFMBBSF.js → ffmpeg-2ROTISBL.js} +3 -2
  73. package/dist/{figma-TZEJ3CGU.js → figma-Y36QOXGR.js} +3 -3
  74. package/dist/fontLocalizeCli.js +6 -4
  75. package/dist/{get-TX5Q3HZN.js → get-BKAU2UKN.js} +2 -2
  76. package/dist/{gpuPolicy-7SIPG5BM.js → gpuPolicy-5AGAE6DM.js} +3 -2
  77. package/dist/{grade-compare-PUL3ROQ2.js → grade-compare-6F5QLGGK.js} +16 -14
  78. package/dist/{help-35WXO5ZG.js → help-VMH6Q3TP.js} +1 -1
  79. package/dist/{history-KQR73V36.js → history-WJI7NN5U.js} +9 -8
  80. package/dist/hyperframes-player.global.js +1 -1
  81. package/dist/{info-KR2BYBSK.js → info-ZPGZJKYK.js} +8 -7
  82. package/dist/{init-LKCGZMPN.js → init-FH3HAGUA.js} +21 -20
  83. package/dist/{inspect-HQ6UJSTU.js → inspect-MIO35XDA.js} +17 -15
  84. package/dist/{keyframes-5CMO5LP7.js → keyframes-HL66NSCA.js} +9 -8
  85. package/dist/{layout-YVV6VMQH.js → layout-HLA3MBNJ.js} +17 -15
  86. package/dist/{lint-6OVFMUKL.js → lint-BL4JKGPG.js} +9 -8
  87. package/dist/{list-SIR427WB.js → list-34AMRBCS.js} +2 -2
  88. package/dist/{login-LVUMH7FN.js → login-EL5DFM34.js} +4 -4
  89. package/dist/{manager-X44GKUEL.js → manager-JNJE54OQ.js} +4 -3
  90. package/dist/{media-treatment-QQWH6FE4.js → media-treatment-UWR4OOHW.js} +9 -8
  91. package/dist/{models-CRYHY4KH.js → models-2E6AGL43.js} +7 -6
  92. package/dist/{motionShot-DUAOT5ZP.js → motionShot-JBH6JWB4.js} +7 -6
  93. package/dist/{normalize-audio-JABWBEAY.js → normalize-audio-ZZ3O7VDF.js} +7 -6
  94. package/dist/{open-BJV5BHNC.js → open-QN7XTS6J.js} +7 -6
  95. package/dist/{parakeetRunner-AFUTDANA.js → parakeetRunner-NUZTNYYF.js} +9 -8
  96. package/dist/{pipeline-3TQHAQOJ.js → pipeline-RUEI6IIO.js} +5 -4
  97. package/dist/{play-YFTZXUFZ.js → play-2Y6KCFV3.js} +11 -9
  98. package/dist/{preflight-JYOX64YP.js → preflight-JS4P5HFR.js} +5 -4
  99. package/dist/{present-GXRTOXJB.js → present-J2UUEQWF.js} +11 -9
  100. package/dist/{preview-EDLAPS6D.js → preview-BSUSKQBL.js} +11 -10
  101. package/dist/{producer-HE23BPEU.js → producer-6QJ5624B.js} +1 -1
  102. package/dist/{remove-background-P5M42CA5.js → remove-background-SQUYEUJN.js} +6 -5
  103. package/dist/{render-LUAMJOON.js → render-GNHKF76H.js} +8 -7
  104. package/dist/{render-RAZDITXX.js → render-U7RMOU2K.js} +15 -14
  105. package/dist/{sherpa-RWHRDO53.js → sherpa-CHOSLER6.js} +8 -7
  106. package/dist/{skills-6QLIIV4T.js → skills-2WUDLVDT.js} +8 -7
  107. package/dist/{skillsUpdateCheck-AO7L77FU.js → skillsUpdateCheck-7N4CXFNJ.js} +3 -3
  108. package/dist/{snapshot-ZGQTC2KE.js → snapshot-E5IT54QQ.js} +20 -18
  109. package/dist/{src-YMUDUVXQ.js → src-APLD7CAF.js} +2 -1
  110. package/dist/{src-KKS6QEHB.js → src-CP75EYSP.js} +5 -3
  111. package/dist/{staticProjectServer-NA2UE47H.js → staticProjectServer-VO5U75UA.js} +4 -3
  112. package/dist/{status-NBRMGL7D.js → status-RGHSK3DJ.js} +3 -2
  113. package/dist/studio/assets/{hyperframes-player-adFY_rvU.js → hyperframes-player-BvAidsoQ.js} +1 -1
  114. package/dist/studio/assets/{index-CKiMhYE1.js → index-CbWWPYt-.js} +1 -1
  115. package/dist/studio/assets/{index-g5aCEF-7.js → index-Jt_3ZX4p.js} +1 -1
  116. package/dist/studio/assets/{index-Djs4U7Oa.js → index-z1M2RwXX.js} +4 -4
  117. package/dist/studio/index.html +1 -1
  118. package/dist/{studio-api-4PDW26L5.js → studio-api-7JCPNJA7.js} +2 -1
  119. package/dist/{studioServer-GXQ6IMAZ.js → studioServer-A67X3ZLJ.js} +29 -23
  120. package/dist/{system-OXRG57F2.js → system-VRXC6S4A.js} +3 -2
  121. package/dist/{telemetry-JIC7WB64.js → telemetry-22DNA5QE.js} +6 -5
  122. package/dist/{timeline-5M2WY2NL.js → timeline-K3BXXFQG.js} +11 -9
  123. package/dist/{tokens-WZMTZSB5.js → tokens-MWRAQMQU.js} +2 -2
  124. package/dist/{transcribe-E5E7GR35.js → transcribe-C7J56BLL.js} +14 -13
  125. package/dist/{transcribe-56WECC4Y.js → transcribe-O5B3HUFK.js} +7 -6
  126. package/dist/{updateCheck-WURPUXPL.js → updateCheck-EPJ7WDFT.js} +2 -2
  127. package/dist/{upgrade-KUNE7RXE.js → upgrade-M5XD6ZPM.js} +2 -2
  128. package/dist/{urlDownloader-FGSJGUM7.js → urlDownloader-IEP2DY4N.js} +2 -1
  129. package/dist/{validate-P6NUUTBK.js → validate-JAF2KIJI.js} +15 -13
  130. package/dist/{video-DOFSWSSR.js → video-TX6DGLND.js} +3 -2
  131. package/package.json +1 -1
  132. package/dist/chunk-AMKC3AXA.js +0 -25
@@ -8,7 +8,7 @@ import {
8
8
  auditClipDurations,
9
9
  shouldIgnoreHttpError,
10
10
  shouldIgnoreRequestFailure
11
- } from "./chunk-OOZWUL7V.js";
11
+ } from "./chunk-RTI536FR.js";
12
12
  import {
13
13
  checkSnapshotDirectory,
14
14
  rectToBbox
@@ -16,12 +16,12 @@ import {
16
16
  import {
17
17
  ambiguousIssue,
18
18
  loadBrowserScript
19
- } from "./chunk-M5SUCNGI.js";
19
+ } from "./chunk-M2IEAI7L.js";
20
20
  import {
21
21
  serveStaticProjectHtml
22
- } from "./chunk-MTHQNLC4.js";
22
+ } from "./chunk-GQ73YXKD.js";
23
23
  import "./chunk-XUHOIDKG.js";
24
- import "./chunk-ZDQH4K5E.js";
24
+ import "./chunk-PFERJHKB.js";
25
25
  import "./chunk-X7MTZ4T2.js";
26
26
  import {
27
27
  AUDIT_SEEK_OPTIONS,
@@ -34,15 +34,15 @@ import {
34
34
  resolveCliChromeGpuMode,
35
35
  seekCompositionTimeline,
36
36
  waitForPreferredSeekTarget
37
- } from "./chunk-OIONMNWN.js";
37
+ } from "./chunk-BEM57QP3.js";
38
38
  import "./chunk-FH7WODJH.js";
39
39
  import {
40
40
  BrowserCleanupError,
41
41
  closeManagedBrowser
42
- } from "./chunk-KFBEMIMD.js";
42
+ } from "./chunk-P5CMYIC6.js";
43
43
  import "./chunk-TXWPPBIW.js";
44
44
  import "./chunk-WPNE5NEP.js";
45
- import "./chunk-NFXP3WIG.js";
45
+ import "./chunk-PSDTKP6K.js";
46
46
  import "./chunk-WQMTHPTK.js";
47
47
  import "./chunk-C6TPGUWD.js";
48
48
  import "./chunk-6PIGOKTE.js";
@@ -54,9 +54,9 @@ import {
54
54
  scanProjectMediaCodecMap
55
55
  } from "./chunk-PVGDU7SE.js";
56
56
  import "./chunk-FFDC5OWV.js";
57
- import "./chunk-VJCX5NKE.js";
57
+ import "./chunk-BADLIO5R.js";
58
58
  import "./chunk-K2FLNJVB.js";
59
- import "./chunk-DAKXCEE3.js";
59
+ import "./chunk-D5VMPDTH.js";
60
60
  import "./chunk-442JNXRM.js";
61
61
  import {
62
62
  resolveAutoProxy
@@ -71,28 +71,30 @@ import "./chunk-AWDFDFI3.js";
71
71
  import "./chunk-P6LJ4Y32.js";
72
72
  import "./chunk-GMECXFAN.js";
73
73
  import "./chunk-5CS4T6C6.js";
74
- import "./chunk-ML7TWMOG.js";
75
- import "./chunk-Z6DUUIZZ.js";
74
+ import "./chunk-HAKVKAUQ.js";
75
+ import "./chunk-KS4JPMVV.js";
76
76
  import "./chunk-VWG7OQKU.js";
77
- import "./chunk-XBSPQ52S.js";
77
+ import "./chunk-QWQ6GQTI.js";
78
78
  import "./chunk-S3S4TGEH.js";
79
79
  import "./chunk-54HJ63Q2.js";
80
80
  import "./chunk-PBN6GBJE.js";
81
81
  import "./chunk-ZTZA4UWZ.js";
82
+ import "./chunk-KLIKCX6Q.js";
82
83
  import "./chunk-EOOEC32M.js";
83
84
  import "./chunk-TJSTGSAW.js";
84
- import "./chunk-UT6P4K3C.js";
85
+ import "./chunk-5GZLD7OW.js";
85
86
  import "./chunk-K4WIOZFP.js";
86
87
  import "./chunk-XUXGIA7H.js";
87
88
  import "./chunk-WERLJGIC.js";
88
89
  import "./chunk-ISN5GRYI.js";
89
- import "./chunk-KC2Y6T4K.js";
90
+ import "./chunk-Q3BS3MN5.js";
90
91
  import "./chunk-EOVYQ3IG.js";
91
- import "./chunk-AMKC3AXA.js";
92
- import "./chunk-2F6LWCSF.js";
92
+ import "./chunk-XT6MXC7A.js";
93
+ import "./chunk-TLC4GYT5.js";
93
94
  import "./chunk-V6UUZGP6.js";
94
95
  import "./chunk-NE55C6S5.js";
95
96
  import "./chunk-JYVGYKXG.js";
97
+ import "./chunk-7KDQAD2W.js";
96
98
  import "./chunk-ZDEEHQ2Y.js";
97
99
  import "./chunk-GV7I3ZSQ.js";
98
100
  import "./chunk-VC76R6W2.js";
@@ -288,7 +290,7 @@ function proxyFailedDraft(message) {
288
290
  return { code: "media_proxy_failed", severity: "warning", message, time: 0 };
289
291
  }
290
292
  async function runBrowserCheck(project, options, motion, runGrid, deadline) {
291
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-QX5HV7LC.js");
293
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-YVGLQ72Z.js");
292
294
  const html = await bundleWithLocalizedFonts(project.dir);
293
295
  const { findings: drafts, failedPaths } = await preResolveHostileMediaProxies(
294
296
  project.dir,
@@ -325,7 +327,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
325
327
  await waitForPreferredSeekTarget(page);
326
328
  const rootAnchor = await resolveRootAnchor(page);
327
329
  const launchSettleMs = Date.now() - launchSettleStart;
328
- const { analyzeClipMediaFit } = await import("./src-YMUDUVXQ.js");
330
+ const { analyzeClipMediaFit } = await import("./src-APLD7CAF.js");
329
331
  for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
330
332
  drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
331
333
  }
@@ -355,7 +357,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
355
357
  }
356
358
  async function captureFindingCrops(project, options, requests, deadline) {
357
359
  if (requests.length === 0) return [];
358
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-QX5HV7LC.js");
360
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-YVGLQ72Z.js");
359
361
  const html = await bundleWithLocalizedFonts(project.dir);
360
362
  const server = await serveStaticProjectHtml(
361
363
  project.dir,
@@ -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-V4XDOOWJ.js");
1281
+ const { trackCommandFailure } = await import("./events-CRYKZ3VN.js");
1282
1282
  trackCommandFailure(
1283
1283
  command,
1284
1284
  err,
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getFreeDiskMb
9
- } from "./chunk-XBSPQ52S.js";
9
+ } from "./chunk-QWQ6GQTI.js";
10
10
  import {
11
11
  ensureBrowser,
12
12
  findBrowser
@@ -17,7 +17,7 @@ import {
17
17
  distroLabel,
18
18
  getFFmpegInstallHint,
19
19
  parseLddMissingLibs
20
- } from "./chunk-4MLYMDQ4.js";
20
+ } from "./chunk-KEGTYA7V.js";
21
21
  import {
22
22
  runCancellableProcess
23
23
  } from "./chunk-54DMWFQZ.js";
@@ -20,7 +20,7 @@ import {
20
20
  typeDirPath,
21
21
  updateRecord,
22
22
  withFigmaErrors
23
- } from "./chunk-BG3NFNJF.js";
23
+ } from "./chunk-2Q2KQRG7.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-JIC7WB64.js");
232
+ const { trackFigmaImport } = await import("./telemetry-22DNA5QE.js");
233
233
  trackFigmaImport({
234
234
  phase: "asset",
235
235
  reused: results.every((r) => r.reused),
@@ -14,13 +14,13 @@ import {
14
14
  findFFmpeg,
15
15
  findFFprobe,
16
16
  getFFmpegInstallHint
17
- } from "./chunk-4MLYMDQ4.js";
17
+ } from "./chunk-KEGTYA7V.js";
18
18
  import {
19
19
  DEFAULT_VP9_CPU_USED,
20
20
  SDR_RGB_TO_BT709_FILTER,
21
21
  SDR_RGB_TO_TAGGED_BT709_FILTER,
22
22
  renderProvenanceArgs
23
- } from "./chunk-2F6LWCSF.js";
23
+ } from "./chunk-TLC4GYT5.js";
24
24
 
25
25
  // src/background-removal/pipeline.ts
26
26
  import { spawn } from "child_process";
@@ -270,7 +270,7 @@ function inferInputKind(inputPath) {
270
270
  }
271
271
  async function probeMedia(inputPath) {
272
272
  const isImage = inferInputKind(inputPath) === "image";
273
- const engine = await import("./src-YMUDUVXQ.js");
273
+ const engine = await import("./src-APLD7CAF.js");
274
274
  const meta = await engine.extractMediaMetadata(inputPath);
275
275
  if (isImage) {
276
276
  return { width: meta.width, height: meta.height, fps: 0, frameCount: 1 };
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-ISN5GRYI.js";
18
18
  import {
19
19
  VERSION
20
- } from "./chunk-KC2Y6T4K.js";
20
+ } from "./chunk-Q3BS3MN5.js";
21
21
 
22
22
  // src/utils/updateCheck.ts
23
23
  import { existsSync, readFileSync } from "fs";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  sherpaParakeetInstalled,
9
9
  sherpaUnsupportedReason
10
- } from "./chunk-5OKZRXLT.js";
10
+ } from "./chunk-PCBCTD7M.js";
11
11
  import {
12
12
  findParakeet
13
13
  } from "./chunk-JZIEZCQM.js";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  setHostHandlesSigint
9
- } from "./chunk-2F6LWCSF.js";
9
+ } from "./chunk-TLC4GYT5.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
@@ -0,0 +1,81 @@
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 describeWslGpuAccess(host = realHost) {
56
+ if (!detectWsl(host)) return null;
57
+ const access = host.renderNodeAccess(RENDER_NODE);
58
+ if (access.state === "denied" && !access.userInGroup) {
59
+ return [
60
+ ` 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.`,
61
+ ` Fix: run \`sudo usermod -aG ${access.group} $USER\`, then \`wsl --shutdown\` from Windows, reopen WSL and render again.`,
62
+ ` Or ${NATIVE_WINDOWS}`
63
+ ];
64
+ }
65
+ if (access.state === "denied") {
66
+ return [
67
+ ` 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}\`.`,
68
+ ` Or ${NATIVE_WINDOWS}`
69
+ ];
70
+ }
71
+ const seen = access.state === "missing" ? "does not exist" : "is readable and writable";
72
+ return [
73
+ ` ${RENDER_NODE} ${seen}, so file permissions are not the cause.`,
74
+ ` To use the GPU, ${NATIVE_WINDOWS}`
75
+ ];
76
+ }
77
+
78
+ export {
79
+ detectWsl,
80
+ describeWslGpuAccess
81
+ };
@@ -7,10 +7,10 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  trackLintReport,
9
9
  trackLintRuleStreak
10
- } from "./chunk-ML7TWMOG.js";
10
+ } from "./chunk-HAKVKAUQ.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-Z6DUUIZZ.js";
13
+ } from "./chunk-KS4JPMVV.js";
14
14
  import {
15
15
  LINT_RULE_COUNT,
16
16
  LINT_RULE_GROUP_COUNTS
@@ -16,13 +16,13 @@ import {
16
16
  } from "./chunk-5ETJX6WM.js";
17
17
  import {
18
18
  runEnvironmentChecks
19
- } from "./chunk-WUUOFMHU.js";
19
+ } from "./chunk-45FUWHHV.js";
20
20
  import {
21
21
  getAvailableMemoryMb,
22
22
  getFreeDiskMb,
23
23
  getShmSizeMb,
24
24
  getSystemMeta
25
- } from "./chunk-XBSPQ52S.js";
25
+ } from "./chunk-QWQ6GQTI.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-UT6P4K3C.js";
35
+ } from "./chunk-5GZLD7OW.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-KC2Y6T4K.js";
42
+ } from "./chunk-Q3BS3MN5.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-2F6LWCSF.js";
49
+ } from "./chunk-TLC4GYT5.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-X44GKUEL.js");
235
+ const { findWhisper, getInstallInstructions } = await import("./manager-JNJE54OQ.js");
236
236
  const result = findWhisper();
237
237
  if (result) {
238
238
  return { ok: true, detail: result.executablePath };
@@ -16,7 +16,10 @@ import {
16
16
  EncoderInterruptedError,
17
17
  encoderFailureError,
18
18
  prepareAnimatedGifInputs
19
- } from "./chunk-RCWSM7IQ.js";
19
+ } from "./chunk-PCXEFXRK.js";
20
+ import {
21
+ parseEncoderOptions
22
+ } from "./chunk-KLIKCX6Q.js";
20
23
  import {
21
24
  createStudioPositionSeekReapplyScript
22
25
  } from "./chunk-EOOEC32M.js";
@@ -147,7 +150,7 @@ import {
147
150
  validateEngineConfigSnapshot,
148
151
  verifyDiskDrawElementSamples,
149
152
  writeCapturedFrame
150
- } from "./chunk-2F6LWCSF.js";
153
+ } from "./chunk-TLC4GYT5.js";
151
154
  import {
152
155
  assignBundledRuntimeCompositionIds,
153
156
  buildVariablesByCompScript,
@@ -4202,10 +4205,7 @@ async function openSegmentedSession(input) {
4202
4205
  const videoInjector = input.createRenderVideoFrameInjector();
4203
4206
  const captureOptions = input.buildCaptureOptions();
4204
4207
  const ownBrowser = shouldDisableBrowserPoolForParallelWorker({
4205
- parallel: (input.workerCount ?? 1) > 1,
4206
- platform: process.platform,
4207
- deviceScaleFactor: captureOptions.deviceScaleFactor,
4208
- headlessShellPath: resolveHeadlessShellPath(captureCfg)
4208
+ parallel: (input.workerCount ?? 1) > 1
4209
4209
  });
4210
4210
  return createCaptureSession(
4211
4211
  input.fileServer.url,
@@ -13869,13 +13869,16 @@ function parseRenderOptions(body) {
13869
13869
  const entryFile = nonEmptyString(body.entryFile);
13870
13870
  const format = parseServerFormat(body.format);
13871
13871
  const outputDynamicRange = parseServerOutputDynamicRange(body.outputDynamicRange) ?? fromRenderHdrMode(parseLegacyServerHdrMode(body.hdrMode));
13872
- const videoFrameFormat = isVideoFrameFormat(body.videoFrameFormat) ? body.videoFrameFormat : void 0;
13872
+ const encoder = parseEncoderOptions(body, format ?? "mp4");
13873
+ const { crf, videoBitrate, videoFrameFormat } = encoder.ok ? encoder.options : {};
13873
13874
  const { variables, outputResolution, outputResolutionAspectAgnostic } = parseRenderOverrides(body);
13874
13875
  return {
13875
13876
  outputPath,
13876
13877
  fps,
13877
13878
  quality,
13878
13879
  workers,
13880
+ crf,
13881
+ videoBitrate,
13879
13882
  useGpu,
13880
13883
  debug,
13881
13884
  strictness,
@@ -13907,6 +13910,8 @@ function buildRenderJobConfig(input, outputPath, log) {
13907
13910
  quality: input.quality,
13908
13911
  format: input.format ?? "mp4",
13909
13912
  workers: input.workers,
13913
+ crf: input.crf,
13914
+ videoBitrate: input.videoBitrate,
13910
13915
  useGpu: input.useGpu,
13911
13916
  debug: input.debug,
13912
13917
  strictness: input.strictness,
@@ -13928,6 +13933,8 @@ function resolvePreparedRenderOutput(prepared, rendersDir, log) {
13928
13933
  return { input, cleanupProjectDir, absoluteOutputPath };
13929
13934
  }
13930
13935
  function validateRenderOverrides(body) {
13936
+ const encoder = parseEncoderOptions(body, parseServerFormat(body.format) ?? "mp4");
13937
+ if (!encoder.ok) return encoder.error;
13931
13938
  if (body.variables !== void 0 && !isPlainObject2(body.variables)) {
13932
13939
  return 'variables must be a JSON object keyed by variable id (e.g. {"title":"Hello"})';
13933
13940
  }
@@ -14401,7 +14408,7 @@ function startServer(options = {}) {
14401
14408
  });
14402
14409
  async function shutdown(signal) {
14403
14410
  log.info(`Received ${signal}, shutting down`);
14404
- const { drainBrowserPool } = await import("./src-YMUDUVXQ.js");
14411
+ const { drainBrowserPool } = await import("./src-APLD7CAF.js");
14405
14412
  await drainBrowserPool().catch(() => {
14406
14413
  });
14407
14414
  const handle = await Promise.race([
@@ -15587,7 +15594,7 @@ async function buildLocalExecutionPlan(projectDir, config, executionPlanDir, opt
15587
15594
  if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
15588
15595
  if (probeResult.probeSession) {
15589
15596
  try {
15590
- const { closeCaptureSession: closeCaptureSession2 } = await import("./src-YMUDUVXQ.js");
15597
+ const { closeCaptureSession: closeCaptureSession2 } = await import("./src-APLD7CAF.js");
15591
15598
  await closeCaptureSession2(probeResult.probeSession);
15592
15599
  } catch (err) {
15593
15600
  log.warn("[plan] probe session close failed", {
@@ -16605,6 +16612,13 @@ import {
16605
16612
  writeFileSync as writeFileSync11
16606
16613
  } from "fs";
16607
16614
  import { dirname as dirname15, join as join36 } from "path";
16615
+ function cfrRateControlArgs(locked) {
16616
+ const preset = getEncoderPreset(locked.quality ?? "standard", "mp4");
16617
+ if (locked.crf == null && locked.bitrate) {
16618
+ return ["-preset", preset.preset, "-b:v", locked.bitrate];
16619
+ }
16620
+ return ["-preset", preset.preset, "-crf", String(locked.crf ?? preset.quality)];
16621
+ }
16608
16622
  async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
16609
16623
  const start = Date.now();
16610
16624
  const log = options?.logger ?? defaultLogger;
@@ -16701,7 +16715,9 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
16701
16715
  if (!existsSync24(encoderJsonPath)) {
16702
16716
  throw new Error(`[assemble] planDir missing meta/encoder.json: ${encoderJsonPath}`);
16703
16717
  }
16704
- const encoderJson = JSON.parse(readFileSync12(encoderJsonPath, "utf-8"));
16718
+ const encoderJson = JSON.parse(
16719
+ readFileSync12(encoderJsonPath, "utf-8")
16720
+ );
16705
16721
  if (encoderJson.encoder === "libx265-software") {
16706
16722
  throw new Error(
16707
16723
  `[assemble] cfr=true is not yet supported with codec: "h265". The cfr re-encode pass uses libx264 and would silently transcode the h265 chunks. Either disable cfr or render with codec: "h264".`
@@ -16713,10 +16729,7 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
16713
16729
  concatOutputPath,
16714
16730
  "-c:v",
16715
16731
  "libx264",
16716
- "-preset",
16717
- "medium",
16718
- "-crf",
16719
- "18",
16732
+ ...cfrRateControlArgs(encoderJson),
16720
16733
  "-pix_fmt",
16721
16734
  "yuv420p",
16722
16735
  "-fps_mode",
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-K2FLNJVB.js";
10
10
  import {
11
11
  trackCommandFailure
12
- } from "./chunk-ML7TWMOG.js";
12
+ } from "./chunk-HAKVKAUQ.js";
13
13
  import {
14
14
  failCommand
15
15
  } from "./chunk-PBN6GBJE.js";
@@ -11,7 +11,7 @@ import {
11
11
  launchManagedBrowser,
12
12
  resolveManagedGpuMode,
13
13
  rethrowAfterBrowserCleanup
14
- } from "./chunk-KFBEMIMD.js";
14
+ } from "./chunk-P5CMYIC6.js";
15
15
  import {
16
16
  resolveDiagnosticNavigationTimeoutMs,
17
17
  windowsChromeCrashRemediation
@@ -19,14 +19,14 @@ import {
19
19
  import {
20
20
  resolveLocalBrowserGpuMode,
21
21
  resolveLocalWebGpu
22
- } from "./chunk-DAKXCEE3.js";
22
+ } from "./chunk-D5VMPDTH.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-2F6LWCSF.js";
29
+ } from "./chunk-TLC4GYT5.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-YMUDUVXQ.js");
111
+ const { buildChromeArgs } = await import("./src-APLD7CAF.js");
112
112
  const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
113
113
  const requiresWebGpu = compositionRequiresWebGpu(html);
114
114
  let softwareWebGpu = false;
@@ -6,21 +6,21 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parakeetRunner
9
- } from "./chunk-R6WCSVCE.js";
9
+ } from "./chunk-6ENZIL42.js";
10
10
  import {
11
11
  DecodeCancelled,
12
12
  prepareSherpaWav,
13
13
  sherpaUnsupportedReason,
14
14
  transcribeWithSherpa
15
- } from "./chunk-5OKZRXLT.js";
15
+ } from "./chunk-PCBCTD7M.js";
16
16
  import {
17
17
  initialModelForLanguage,
18
18
  transcribe
19
- } from "./chunk-J5LEAKUA.js";
19
+ } from "./chunk-RB6RHOSF.js";
20
20
  import {
21
21
  createRenderCancellationScope,
22
22
  stoppedByCancelSignal
23
- } from "./chunk-OSASJLU4.js";
23
+ } from "./chunk-6UMBAJRU.js";
24
24
  import {
25
25
  formatSrt,
26
26
  formatVtt,
@@ -30,7 +30,7 @@ import {
30
30
  import {
31
31
  DEFAULT_MODEL,
32
32
  isWhisperUnavailable
33
- } from "./chunk-YG2Y55KF.js";
33
+ } from "./chunk-SQHWDFTV.js";
34
34
  import {
35
35
  normalizeErrorMessage
36
36
  } from "./chunk-KNU5COPB.js";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveConfig,
9
9
  usesSoftwareWebGpu
10
- } from "./chunk-2F6LWCSF.js";
10
+ } from "./chunk-TLC4GYT5.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-YMUDUVXQ.js");
20
+ const { resolveBrowserGpuMode } = await import("./src-APLD7CAF.js");
21
21
  return resolveBrowserGpuMode(requestedMode, { chromePath, probeLifecycle });
22
22
  }
23
23
  function resolveLocalWebGpu(browserGpuMode, requiresWebGpu) {
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-6PIGOKTE.js";
14
14
  import {
15
15
  resolveProject
16
- } from "./chunk-VJCX5NKE.js";
16
+ } from "./chunk-BADLIO5R.js";
17
17
  import {
18
18
  findPreviewServerForProject,
19
19
  studioApiUrl
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
 
8
8
  // src/utils/producer.ts
9
9
  async function loadProducer() {
10
- return await import("./src-KKS6QEHB.js");
10
+ return await import("./src-CP75EYSP.js");
11
11
  }
12
12
 
13
13
  export {
@@ -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-KC2Y6T4K.js";
9
+ } from "./chunk-Q3BS3MN5.js";
10
10
 
11
11
  // src/registry/compatibility.ts
12
12
  import { compareVersions } from "compare-versions";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  updateNoticesSuppressed
9
- } from "./chunk-UT6P4K3C.js";
9
+ } from "./chunk-5GZLD7OW.js";
10
10
  import {
11
11
  hostAnswers
12
12
  } from "./chunk-K4WIOZFP.js";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType,
9
9
  injectMediaCodecMapIntoHtml
10
- } from "./chunk-NFXP3WIG.js";
10
+ } from "./chunk-PSDTKP6K.js";
11
11
  import {
12
12
  PROXY_VARIANT_CONFIG,
13
13
  ProxyCapacityError,
@@ -8,10 +8,10 @@ import {
8
8
  flush,
9
9
  shouldTrack,
10
10
  trackEvent
11
- } from "./chunk-Z6DUUIZZ.js";
11
+ } from "./chunk-KS4JPMVV.js";
12
12
  import {
13
13
  getPowerState
14
- } from "./chunk-XBSPQ52S.js";
14
+ } from "./chunk-QWQ6GQTI.js";
15
15
  import {
16
16
  CliRuntimeError
17
17
  } from "./chunk-PBN6GBJE.js";
@@ -10,7 +10,7 @@ import {
10
10
  isDevice,
11
11
  isQuality,
12
12
  render
13
- } from "./chunk-WNCGJFTZ.js";
13
+ } from "./chunk-4U66LIUS.js";
14
14
 
15
15
  // src/api/removeBackground.ts
16
16
  import { resolve } from "path";