hyperframes 0.8.156 → 0.8.157

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 (170) hide show
  1. package/dist/{add-U35DO2JR.js → add-XKIJJAC6.js} +14 -14
  2. package/dist/{animatedGifPrep-MRGFHBVF.js → animatedGifPrep-MTJRHJ5G.js} +9 -9
  3. package/dist/api.js +17 -17
  4. package/dist/{asset-HS4Q6LS2.js → asset-TEWIJMG5.js} +2 -2
  5. package/dist/{assetCataloger-SRTQYA6J.js → assetCataloger-DI7FC5KZ.js} +3 -3
  6. package/dist/{auth-HS6GAILF.js → auth-ERW6EOVW.js} +2 -2
  7. package/dist/{autoUpdate-MRQ4ULBI.js → autoUpdate-IHYT5BQF.js} +2 -2
  8. package/dist/{backgroundChecks-K2ZMA43S.js → backgroundChecks-DTKZTDHN.js} +3 -3
  9. package/dist/backgroundChecksWorker.js +3 -3
  10. package/dist/{batchRender-CMVCRSWP.js → batchRender-FTZ67377.js} +4 -4
  11. package/dist/{beats-JYECNCTZ.js → beats-AE4ZKJ3I.js} +15 -15
  12. package/dist/{benchmark-JGMKJSPN.js → benchmark-Q3YSQVWW.js} +11 -11
  13. package/dist/{browser-63WITJVS.js → browser-IRRLG5FG.js} +5 -5
  14. package/dist/{bundleWithLocalizedFonts-5SLYBFXL.js → bundleWithLocalizedFonts-IVO43QBQ.js} +2 -2
  15. package/dist/{capture-7MFOIE4K.js → capture-ANATPLOS.js} +12 -12
  16. package/dist/{capture-T6QSEGKM.js → capture-MVH3XNAE.js} +2 -2
  17. package/dist/{catalog-KVE5KJJT.js → catalog-5BJJW3G4.js} +14 -14
  18. package/dist/{catch-up-E3WYWSDY.js → catch-up-DU2O72RS.js} +6 -6
  19. package/dist/{check-QRP5WCP2.js → check-P5D3YU2H.js} +35 -35
  20. package/dist/{checkBrowser-5XFA6PXF.js → checkBrowser-RNIDFQZZ.js} +33 -32
  21. package/dist/{chunk-KMSS5TOQ.js → chunk-23VDPRQ3.js} +1 -1
  22. package/dist/{chunk-VCCOO2TO.js → chunk-25IXEZXH.js} +5 -5
  23. package/dist/{chunk-JKCKXGIC.js → chunk-3FRK53UC.js} +1 -1
  24. package/dist/{chunk-U3BCDVZO.js → chunk-3QATT3QF.js} +1 -1
  25. package/dist/{chunk-DDSQBREC.js → chunk-4YDQQQY6.js} +2 -2
  26. package/dist/{chunk-DSX7R5M7.js → chunk-56QTFOWH.js} +4 -4
  27. package/dist/{chunk-SCMNFRL5.js → chunk-6B6G3QMQ.js} +10 -9
  28. package/dist/{chunk-YOEGUBBY.js → chunk-7F3B5YYT.js} +82 -14
  29. package/dist/{chunk-OBXWIVYN.js → chunk-7KDQAD2W.js} +5 -11
  30. package/dist/{chunk-YZEHYWOH.js → chunk-7ZWOLEGS.js} +1 -1
  31. package/dist/{chunk-VY23BB2D.js → chunk-BB2SFTMY.js} +4 -4
  32. package/dist/{chunk-C7WALYAY.js → chunk-BPTKOTF2.js} +1 -1
  33. package/dist/{chunk-VPOEKLZL.js → chunk-CA7IDB4Z.js} +1 -1
  34. package/dist/{chunk-FSZAFCU7.js → chunk-CBNI34SD.js} +1 -1
  35. package/dist/{chunk-NV2JPSI4.js → chunk-DRT6ZQI2.js} +1 -1
  36. package/dist/{chunk-56AEM2EL.js → chunk-EEEUI3ON.js} +11 -11
  37. package/dist/{chunk-444O62RL.js → chunk-EGKIQS5J.js} +1 -1
  38. package/dist/{chunk-MBE4SEL7.js → chunk-EYNN5DJG.js} +5 -5
  39. package/dist/{chunk-2K5YII2L.js → chunk-FJT35XBA.js} +3 -3
  40. package/dist/{chunk-Q7FDYQR4.js → chunk-GPUVPZRK.js} +1 -1
  41. package/dist/{chunk-WLYSVHZE.js → chunk-HQG7B5ZE.js} +2 -2
  42. package/dist/{chunk-YUTUYCGK.js → chunk-IRRRH66M.js} +39 -31
  43. package/dist/{chunk-TLUGPEW4.js → chunk-J6SJCYAQ.js} +5 -5
  44. package/dist/{chunk-SNMMFFKZ.js → chunk-J7WFHOCW.js} +1 -1
  45. package/dist/chunk-KCF6GHJP.js +250 -0
  46. package/dist/{chunk-SCOXM5LP.js → chunk-KEGTYA7V.js} +1 -1
  47. package/dist/chunk-LPOTN5GW.js +3795 -0
  48. package/dist/{chunk-FIL6QPZT.js → chunk-LQXHRO6F.js} +2 -2
  49. package/dist/{chunk-HG6H2ICP.js → chunk-LZ7C6CXD.js} +3 -3
  50. package/dist/{chunk-IOBKVP27.js → chunk-NFX4K6OW.js} +1 -1
  51. package/dist/{chunk-7K3CHJS3.js → chunk-NIT2ZCNI.js} +10 -10
  52. package/dist/{chunk-COBIO7VC.js → chunk-O4ZB2LUC.js} +1 -1
  53. package/dist/{chunk-HVQQN4NG.js → chunk-OGJFYVRC.js} +1 -1
  54. package/dist/{chunk-OOCONATR.js → chunk-OTG5H2VM.js} +3 -3
  55. package/dist/{chunk-GVJ4LG62.js → chunk-QAWCWGQG.js} +2 -2
  56. package/dist/{chunk-YLSSI4XB.js → chunk-QRPYTJBW.js} +1 -1
  57. package/dist/{chunk-7FFGZC2X.js → chunk-QWQ6GQTI.js} +1 -1
  58. package/dist/{chunk-3THJEW7G.js → chunk-SGIZMTWO.js} +2 -2
  59. package/dist/{chunk-LZ2PZIVS.js → chunk-SLUFA6UM.js} +2 -2
  60. package/dist/{chunk-YGLM2DHX.js → chunk-SMPG26EL.js} +1 -1
  61. package/dist/{chunk-QJEHLWM4.js → chunk-SQHWDFTV.js} +1 -1
  62. package/dist/{chunk-JJERZGVE.js → chunk-SWRIMG46.js} +1 -1
  63. package/dist/{chunk-M4CRDGC4.js → chunk-T243WV6D.js} +1 -1
  64. package/dist/{chunk-LJHF4SKT.js → chunk-T76NSAXO.js} +2 -2
  65. package/dist/{chunk-VK5JRYJL.js → chunk-TQ62EMUI.js} +12 -11
  66. package/dist/{chunk-DRNTIYT3.js → chunk-UGIIDY6C.js} +3 -3
  67. package/dist/{chunk-XXTOOXZ7.js → chunk-WK375PPO.js} +2 -2
  68. package/dist/{chunk-DDK6E66K.js → chunk-WZBGU46C.js} +1 -1
  69. package/dist/{chunk-RXTEP3NB.js → chunk-XRRZZFGI.js} +2 -2
  70. package/dist/{chunk-QOP5D3UM.js → chunk-YB26LWR2.js} +2 -2
  71. package/dist/{chunk-HBKKW3NL.js → chunk-YBKIAQNU.js} +6 -6
  72. package/dist/{chunk-7U27WUMQ.js → chunk-ZFZNPLRJ.js} +2 -2
  73. package/dist/{chunk-SO44ETGW.js → chunk-ZTUZDPHE.js} +2 -2
  74. package/dist/{chunk-YNFJWJHW.js → chunk-ZY4A2R7C.js} +7 -7
  75. package/dist/{chunk-SCXATNSP.js → chunk-ZZ3ZWTOI.js} +3 -3
  76. package/dist/{clean-4HTCYML6.js → clean-4WDZ3TFN.js} +18 -18
  77. package/dist/cli.js +52 -52
  78. package/dist/{cloud-HFBG33UU.js → cloud-FL6VP6IU.js} +4 -4
  79. package/dist/{cloudrun-QK56WQY3.js → cloudrun-STLNWUBW.js} +5 -5
  80. package/dist/commands/contrast-audit.browser.js +25 -8
  81. package/dist/commands/layout-audit.browser.js +117 -12
  82. package/dist/{compare-4RYN3LLC.js → compare-MXZ7QKBN.js} +27 -27
  83. package/dist/{compiler-JPA25IUF.js → compiler-VFJVUZWR.js} +5 -5
  84. package/dist/{component-7ARXR4KZ.js → component-XKBA5ON2.js} +3 -3
  85. package/dist/{compositions-DNBHEIGP.js → compositions-2LUY6RQW.js} +14 -14
  86. package/dist/{delete-4XYV72EU.js → delete-OBAOZCXI.js} +2 -2
  87. package/dist/{deterministicFonts-EOMDR6ZF.js → deterministicFonts-LNNVHVS2.js} +2 -2
  88. package/dist/{dist-2YYJYYPY.js → dist-2VXSQLXO.js} +1 -1
  89. package/dist/{dist-SKUIM4QJ.js → dist-SVTSOG4Q.js} +3 -3
  90. package/dist/docker/Dockerfile.render +21 -1
  91. package/dist/{doctor-5PHSH7IK.js → doctor-BLXWRHAE.js} +14 -14
  92. package/dist/{events-GQCOQY5E.js → events-LSJDXTXK.js} +5 -5
  93. package/dist/{events-FOGRN2KV.js → events-V4LYF3MW.js} +4 -4
  94. package/dist/{feedback-6T6ZJOTM.js → feedback-LMDNGTYB.js} +9 -9
  95. package/dist/{ffmpeg-VJXXLKI6.js → ffmpeg-2ROTISBL.js} +2 -2
  96. package/dist/{figma-PZLGUS6C.js → figma-BXHFTYCT.js} +3 -3
  97. package/dist/fontLocalizeCli.js +12 -12
  98. package/dist/{get-XUNYSY2Z.js → get-2ZKWMYCG.js} +2 -2
  99. package/dist/{gpuPolicy-SWCZJRZR.js → gpuPolicy-VXNJ4UBN.js} +9 -9
  100. package/dist/{grade-compare-S27N2NRU.js → grade-compare-F7JNDXGF.js} +28 -28
  101. package/dist/{help-4HZ75YVH.js → help-WGANCPIE.js} +1 -1
  102. package/dist/{history-NENOG3BT.js → history-FILLGPWB.js} +8 -8
  103. package/dist/hyperframe-runtime.js +15 -15
  104. package/dist/hyperframe.manifest.json +1 -1
  105. package/dist/hyperframe.runtime.iife.js +15 -15
  106. package/dist/hyperframes-player.global.js +1 -1
  107. package/dist/{info-IDEUAYJZ.js → info-QQJ7C6SO.js} +10 -10
  108. package/dist/{init-KWGZEC7F.js → init-BQYTOLTG.js} +30 -30
  109. package/dist/{inspect-3WLT3EHZ.js → inspect-BTBKTW5W.js} +28 -28
  110. package/dist/{installer-I3SLBB7G.js → installer-HF5BXXXM.js} +5 -5
  111. package/dist/{keyframes-7HPN5DKO.js → keyframes-Y5QDNXST.js} +8 -8
  112. package/dist/{lambda-MJH6U52V.js → lambda-ZCX7KGTY.js} +6 -6
  113. package/dist/{layout-ZEW4RZRP.js → layout-HITFK2H5.js} +28 -28
  114. package/dist/{lint-3TNKI4PK.js → lint-6HH5X4NJ.js} +9 -9
  115. package/dist/{lintProject-XQWXJYSC.js → lintProject-JGHKRO5L.js} +1 -1
  116. package/dist/{list-BJR2IXU4.js → list-KBERMLPP.js} +2 -2
  117. package/dist/{login-EA27W5T2.js → login-MZNDV73I.js} +4 -4
  118. package/dist/{manager-3EUU5UX6.js → manager-JNJE54OQ.js} +3 -3
  119. package/dist/{media-treatment-3JZFCG6I.js → media-treatment-YACCPVXX.js} +14 -14
  120. package/dist/{models-IRFIJOIW.js → models-WHDUQZQZ.js} +13 -13
  121. package/dist/{motionShot-S4M7QSW3.js → motionShot-CRQTWUJB.js} +15 -15
  122. package/dist/{normalize-audio-IOY3NRHJ.js → normalize-audio-Z7UQTZ5J.js} +6 -6
  123. package/dist/{open-SCBC3NF5.js → open-GM2J5QEA.js} +6 -6
  124. package/dist/{parakeetRunner-FGTIYDG7.js → parakeetRunner-5PNBGCGH.js} +14 -14
  125. package/dist/{pipeline-JEFEWIZ3.js → pipeline-QA2422UI.js} +10 -10
  126. package/dist/{play-4TCSBDHO.js → play-JGMRZO6G.js} +21 -21
  127. package/dist/{preflight-OIHM57E7.js → preflight-BH2XUQBS.js} +4 -4
  128. package/dist/{present-S6UBG5VI.js → present-SI7ZE6IB.js} +17 -17
  129. package/dist/{preview-HBDXDJCV.js → preview-PZOQHOIO.js} +20 -20
  130. package/dist/{producer-KSAUIT6F.js → producer-PQMZ7OYH.js} +1 -1
  131. package/dist/{projectConfig-CNAK65RI.js → projectConfig-EYYDESVO.js} +7 -7
  132. package/dist/{publication-AUWZFGJI.js → publication-MJY3XYYV.js} +3 -3
  133. package/dist/{publish-EMNP3VCC.js → publish-UT3L777Q.js} +9 -9
  134. package/dist/{remove-background-GICM6TE5.js → remove-background-HT73ZUIG.js} +11 -11
  135. package/dist/{render-PHEQSRHV.js → render-6CJXA7UA.js} +11 -11
  136. package/dist/{render-DMHQZMV4.js → render-SFIX3O3B.js} +27 -27
  137. package/dist/{render-WMRNH7HO.js → render-YTJ3SMCD.js} +4 -4
  138. package/dist/{render-batch-OUTHTWN5.js → render-batch-AFB2XK3I.js} +4 -4
  139. package/dist/renderSetupWorker.js +1 -1
  140. package/dist/{resolver-NTB6HOZC.js → resolver-F2D2YCSQ.js} +5 -5
  141. package/dist/{sherpa-3YJNJ6TF.js → sherpa-IBKSF6GX.js} +13 -13
  142. package/dist/{skills-MKEJGL35.js → skills-G26XO2BY.js} +7 -7
  143. package/dist/{skillsUpdateCheck-RTLARPPP.js → skillsUpdateCheck-ZNDQSDB4.js} +3 -3
  144. package/dist/{snapshot-KMLGFZWY.js → snapshot-SN7I7O7I.js} +31 -31
  145. package/dist/{src-4HB343JW.js → src-4GCHM2LX.js} +11 -11
  146. package/dist/{src-HJ2NF55P.js → src-NDI4KNT3.js} +8 -8
  147. package/dist/{staticProjectServer-4XX72J23.js → staticProjectServer-TTC3LYHO.js} +15 -15
  148. package/dist/{status-BMXWFO4L.js → status-RGHSK3DJ.js} +2 -2
  149. package/dist/studio/assets/{hyperframes-player-u2w3bDWo.js → hyperframes-player-D3ufdOJ_.js} +1 -1
  150. package/dist/studio/assets/{index-WD9j53l5.js → index-7oKTFwYd.js} +1 -1
  151. package/dist/studio/assets/{index-BG28fXIT.js → index-CALVHgsJ.js} +1 -1
  152. package/dist/studio/assets/{index-D8B6eEBj.js → index-DYk4U8BS.js} +83 -83
  153. package/dist/studio/index.html +1 -1
  154. package/dist/{studio-api-LPHMA57T.js → studio-api-TVIDDUZG.js} +9 -9
  155. package/dist/{studioServer-P7GSE74X.js → studioServer-WBV2Q3SH.js} +45 -45
  156. package/dist/{system-QRHPVRPP.js → system-VRXC6S4A.js} +2 -2
  157. package/dist/{telemetry-576VTLGI.js → telemetry-RVFKZEOH.js} +5 -5
  158. package/dist/{timeline-BO7LJJ24.js → timeline-BUYUBI5X.js} +17 -17
  159. package/dist/{tokens-TCYANQDA.js → tokens-PUA5FQKP.js} +2 -2
  160. package/dist/{transcribe-6PTFIBO6.js → transcribe-DZ6O6EG5.js} +12 -12
  161. package/dist/{transcribe-6HLMGCL2.js → transcribe-L2QHSNHO.js} +19 -19
  162. package/dist/{updateCheck-ZLYIZPPQ.js → updateCheck-PULEO7CW.js} +2 -2
  163. package/dist/{upgrade-DZHQE2PV.js → upgrade-UJJIVNHJ.js} +2 -2
  164. package/dist/{urlDownloader-PJTOCTJA.js → urlDownloader-INLS5A6I.js} +8 -8
  165. package/dist/{validate-3I45WC7I.js → validate-DJAZMEQB.js} +22 -22
  166. package/dist/{video-AQFXGGKN.js → video-3GLT6U6Z.js} +9 -9
  167. package/package.json +1 -1
  168. package/dist/chunk-NE55C6S5.js +0 -118
  169. package/dist/chunk-OE4WEQMH.js +0 -3795
  170. /package/dist/{chunk-VYKPBRCB.js → chunk-ALLKNYC3.js} +0 -0
@@ -52,32 +52,26 @@ function detectWsl(host = realHost) {
52
52
  }
53
53
  var RENDER_NODE = "/dev/dri/renderD128";
54
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" }) {
55
+ function describeWslGpuAccess(host = realHost) {
62
56
  if (!detectWsl(host)) return null;
63
57
  const access = host.renderNodeAccess(RENDER_NODE);
64
58
  if (access.state === "denied" && !access.userInGroup) {
65
59
  return [
66
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.`,
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)
61
+ ` Fix: run \`sudo usermod -aG ${access.group} $USER\`, then \`wsl --shutdown\` from Windows, reopen WSL and render again.`,
62
+ ` Or ${NATIVE_WINDOWS}`
69
63
  ];
70
64
  }
71
65
  if (access.state === "denied") {
72
66
  return [
73
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}\`.`,
74
- ...routeToGpu(fullChrome)
68
+ ` Or ${NATIVE_WINDOWS}`
75
69
  ];
76
70
  }
77
71
  const seen = access.state === "missing" ? "does not exist" : "is readable and writable";
78
72
  return [
79
73
  ` ${RENDER_NODE} ${seen}, so file permissions are not the cause.`,
80
- ...routeToGpu(fullChrome)
74
+ ` To use the GPU, ${NATIVE_WINDOWS}`
81
75
  ];
82
76
  }
83
77
 
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  sherpaParakeetInstalled,
9
9
  sherpaUnsupportedReason
10
- } from "./chunk-DDSQBREC.js";
10
+ } from "./chunk-4YDQQQY6.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
  getFreeDiskMb
9
- } from "./chunk-7FFGZC2X.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-SCOXM5LP.js";
20
+ } from "./chunk-KEGTYA7V.js";
21
21
  import {
22
22
  runCancellableProcess
23
23
  } from "./chunk-54DMWFQZ.js";
@@ -59,11 +59,11 @@ function describeBrowserInstall(executablePath) {
59
59
 
60
60
  // src/browser/preflight.ts
61
61
  function parseToolVersion(raw) {
62
- const m = raw.match(/(ffmpeg|ffprobe)\s+version\s+([\d][\d.\-\w]*)/i);
62
+ const m = raw.match(/(ffmpeg|ffprobe)\s+version\s+(n?\d[\d.\-\w]*)/i);
63
63
  return m ? `${m[1]} ${m[2]}` : raw.trim();
64
64
  }
65
65
  function extractMajorVersion(raw) {
66
- const m = raw.match(/\b(\d+)\.\d+/);
66
+ const m = raw.match(/\bn?(\d+)\.\d+/);
67
67
  return m?.[1] ? Number(m[1]) : void 0;
68
68
  }
69
69
  function configuredMissingDetail(envName) {
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  withOwner
9
- } from "./chunk-NV2JPSI4.js";
9
+ } from "./chunk-DRT6ZQI2.js";
10
10
  import {
11
11
  beginArtifactCapture
12
12
  } from "./chunk-6PIGOKTE.js";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveCaptureBrowserGpuMode
9
- } from "./chunk-QOP5D3UM.js";
9
+ } from "./chunk-YB26LWR2.js";
10
10
  import {
11
11
  requestCliExit
12
12
  } from "./chunk-PBN6GBJE.js";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  VALID_CANVAS_RESOLUTIONS,
9
9
  resolveResolutionFlagPair
10
- } from "./chunk-VYKPBRCB.js";
10
+ } from "./chunk-ALLKNYC3.js";
11
11
 
12
12
  // src/utils/parseOutputResolution.ts
13
13
  function parseOutputResolutionFlag(raw, options) {
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-6PIGOKTE.js";
14
14
  import {
15
15
  resolveProject
16
- } from "./chunk-DDK6E66K.js";
16
+ } from "./chunk-WZBGU46C.js";
17
17
  import {
18
18
  findPreviewServerForProject,
19
19
  studioApiUrl
@@ -11,12 +11,12 @@ import {
11
11
  iterateFontFamilyDeclarations,
12
12
  normalizeSystemFontPrimaryFamilies,
13
13
  resolveFontFamilyDeclarationFamilies
14
- } from "./chunk-U3BCDVZO.js";
14
+ } from "./chunk-3QATT3QF.js";
15
15
  import {
16
16
  EncoderInterruptedError,
17
17
  encoderFailureError,
18
18
  prepareAnimatedGifInputs
19
- } from "./chunk-LJHF4SKT.js";
19
+ } from "./chunk-T76NSAXO.js";
20
20
  import {
21
21
  parseEncoderOptions
22
22
  } from "./chunk-KLIKCX6Q.js";
@@ -150,7 +150,7 @@ import {
150
150
  validateEngineConfigSnapshot,
151
151
  verifyDiskDrawElementSamples,
152
152
  writeCapturedFrame
153
- } from "./chunk-YUTUYCGK.js";
153
+ } from "./chunk-IRRRH66M.js";
154
154
  import {
155
155
  assignBundledRuntimeCompositionIds,
156
156
  buildVariablesByCompScript,
@@ -163,7 +163,7 @@ import {
163
163
  isTemplateEntry,
164
164
  parsesAsScript,
165
165
  prepareFlattenedInnerRoot
166
- } from "./chunk-2K5YII2L.js";
166
+ } from "./chunk-FJT35XBA.js";
167
167
  import {
168
168
  LOW_MEMORY_TOTAL_MB_THRESHOLD,
169
169
  getCgroupMemoryLimitMb,
@@ -187,7 +187,7 @@ import {
187
187
  resolveAbsoluteMediaStartSeconds,
188
188
  resolveAuthoredTimingWindow,
189
189
  toFps
190
- } from "./chunk-3THJEW7G.js";
190
+ } from "./chunk-SGIZMTWO.js";
191
191
  import {
192
192
  COMPOSITION_SOURCE_URL,
193
193
  HF_COLOR_GRADING_ATTR,
@@ -215,7 +215,7 @@ import {
215
215
  shouldClampResolvedMediaDuration,
216
216
  sourceTimeAt,
217
217
  styleElementsFor
218
- } from "./chunk-OE4WEQMH.js";
218
+ } from "./chunk-LPOTN5GW.js";
219
219
  import {
220
220
  MAX_AUDIO_GAIN
221
221
  } from "./chunk-UJKQWGFF.js";
@@ -229,7 +229,7 @@ import {
229
229
  isAspectAgnosticResolutionAlias,
230
230
  normalizeResolutionFlag,
231
231
  suggestMatchingPreset
232
- } from "./chunk-VYKPBRCB.js";
232
+ } from "./chunk-ALLKNYC3.js";
233
233
  import {
234
234
  redactKnownPaths,
235
235
  redactTelemetryString
@@ -239,7 +239,7 @@ import {
239
239
  } from "./chunk-TWWSYAKJ.js";
240
240
  import {
241
241
  lintHyperframeHtml
242
- } from "./chunk-YOEGUBBY.js";
242
+ } from "./chunk-7F3B5YYT.js";
243
243
  import {
244
244
  isUnresolvedAssetPlaceholder,
245
245
  readProjectFile,
@@ -6571,7 +6571,7 @@ async function readLocalFont(absPath) {
6571
6571
  return { kind: "inline", buffer: Buffer.concat(chunks, totalBytes) };
6572
6572
  }
6573
6573
  async function embedLocalFontFaces(html, projectDir) {
6574
- const { fontToDataUri: toDataUri } = await import("./deterministicFonts-EOMDR6ZF.js");
6574
+ const { fontToDataUri: toDataUri } = await import("./deterministicFonts-LNNVHVS2.js");
6575
6575
  const styleBlockRe = /<style\b[^>]*>([\s\S]*?)<\/style>/gi;
6576
6576
  const fontFaceRe = /@font-face\s*\{([^}]*)\}/gi;
6577
6577
  let result = html;
@@ -14416,7 +14416,7 @@ function startServer(options = {}) {
14416
14416
  });
14417
14417
  async function shutdown(signal) {
14418
14418
  log.info(`Received ${signal}, shutting down`);
14419
- const { drainBrowserPool } = await import("./src-HJ2NF55P.js");
14419
+ const { drainBrowserPool } = await import("./src-NDI4KNT3.js");
14420
14420
  await drainBrowserPool().catch(() => {
14421
14421
  });
14422
14422
  const handle = await Promise.race([
@@ -15602,7 +15602,7 @@ async function buildLocalExecutionPlan(projectDir, config, executionPlanDir, opt
15602
15602
  if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
15603
15603
  if (probeResult.probeSession) {
15604
15604
  try {
15605
- const { closeCaptureSession: closeCaptureSession2 } = await import("./src-HJ2NF55P.js");
15605
+ const { closeCaptureSession: closeCaptureSession2 } = await import("./src-NDI4KNT3.js");
15606
15606
  await closeCaptureSession2(probeResult.probeSession);
15607
15607
  } catch (err) {
15608
15608
  log.warn("[plan] probe session close failed", {
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-AWDFDFI3.js";
15
15
  import {
16
16
  isBlockedNetworkHost
17
- } from "./chunk-YUTUYCGK.js";
17
+ } from "./chunk-IRRRH66M.js";
18
18
  import {
19
19
  DOMParser,
20
20
  parseHTML
@@ -11,22 +11,22 @@ import {
11
11
  launchManagedBrowser,
12
12
  resolveManagedGpuMode,
13
13
  rethrowAfterBrowserCleanup
14
- } from "./chunk-VPOEKLZL.js";
14
+ } from "./chunk-CA7IDB4Z.js";
15
15
  import {
16
16
  resolveDiagnosticNavigationTimeoutMs,
17
17
  windowsChromeCrashRemediation
18
- } from "./chunk-SNMMFFKZ.js";
18
+ } from "./chunk-J7WFHOCW.js";
19
19
  import {
20
20
  resolveLocalBrowserGpuMode,
21
21
  resolveLocalWebGpu
22
- } from "./chunk-QOP5D3UM.js";
22
+ } from "./chunk-YB26LWR2.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-YUTUYCGK.js";
29
+ } from "./chunk-IRRRH66M.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-HJ2NF55P.js");
111
+ const { buildChromeArgs } = await import("./src-NDI4KNT3.js");
112
112
  const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
113
113
  const requiresWebGpu = compositionRequiresWebGpu(html);
114
114
  let softwareWebGpu = false;
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  ensureHfIds
9
- } from "./chunk-NE55C6S5.js";
9
+ } from "./chunk-KCF6GHJP.js";
10
10
  import {
11
11
  HF_AUDIO_FX_ATTR,
12
12
  HF_COLOR_GRADING_ATTR,
@@ -39,7 +39,7 @@ import {
39
39
  stripEmbeddedRuntimeScripts,
40
40
  styleElementsFor,
41
41
  warnUnknownEnumValues
42
- } from "./chunk-OE4WEQMH.js";
42
+ } from "./chunk-LPOTN5GW.js";
43
43
  import {
44
44
  cssVariableName
45
45
  } from "./chunk-VC76R6W2.js";
@@ -49,7 +49,7 @@ import {
49
49
  } from "./chunk-OFQWTKPW.js";
50
50
  import {
51
51
  lintHyperframeHtml
52
- } from "./chunk-YOEGUBBY.js";
52
+ } from "./chunk-7F3B5YYT.js";
53
53
  import {
54
54
  checkSubCompositionUsability,
55
55
  resolveSubCompositionContent
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-HVW7ABXD.js";
13
13
  import {
14
14
  DEFAULT_REGISTRY_URL
15
- } from "./chunk-YLSSI4XB.js";
15
+ } from "./chunk-QRPYTJBW.js";
16
16
 
17
17
  // src/utils/projectConfig.ts
18
18
  import { readFileSync, writeFileSync } from "fs";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-VWG7OQKU.js";
10
10
  import {
11
11
  getSystemMeta
12
- } from "./chunk-7FFGZC2X.js";
12
+ } from "./chunk-QWQ6GQTI.js";
13
13
  import {
14
14
  getInvocationId
15
15
  } from "./chunk-54HJ63Q2.js";
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-XUXGIA7H.js";
30
30
  import {
31
31
  VERSION
32
- } from "./chunk-SO44ETGW.js";
32
+ } from "./chunk-ZTUZDPHE.js";
33
33
  import {
34
34
  CANARIES,
35
35
  canaryEnvVar,
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  describeWslGpuAccess,
14
14
  detectWsl
15
- } from "./chunk-OBXWIVYN.js";
15
+ } from "./chunk-7KDQAD2W.js";
16
16
  import {
17
17
  MEDIA_VISUAL_STYLE_PROPERTIES,
18
18
  RENDER_FRAME_ID_PREFIX,
@@ -30,7 +30,7 @@ import {
30
30
  renderFrameIdForRenderId,
31
31
  resolveAuthoredTimingWindow,
32
32
  toFps
33
- } from "./chunk-3THJEW7G.js";
33
+ } from "./chunk-SGIZMTWO.js";
34
34
  import {
35
35
  AUDIO_GROUP_RENDER_ID_ATTR,
36
36
  COLOR_GRADING_SOURCE_HIDDEN_ATTR,
@@ -59,7 +59,7 @@ import {
59
59
  shiftRateLane,
60
60
  sourceTimeAt,
61
61
  timeAtSourceTime
62
- } from "./chunk-OE4WEQMH.js";
62
+ } from "./chunk-LPOTN5GW.js";
63
63
  import {
64
64
  clampAudioGain,
65
65
  isAudibleVideoElement
@@ -666,6 +666,7 @@ function fingerprintKey(fingerprint) {
666
666
  return JSON.stringify([
667
667
  fingerprint.args,
668
668
  fingerprint.executablePath ?? null,
669
+ fingerprint.withoutWaylandDisplay === true,
669
670
  fingerprint.browserTimeoutMs,
670
671
  fingerprint.protocolTimeoutMs,
671
672
  fingerprint.requestedCaptureMode
@@ -903,6 +904,7 @@ async function probeHardwareWebGlInfo(ppt, options) {
903
904
  args: options.args,
904
905
  defaultViewport: { width: 64, height: 64 },
905
906
  executablePath: options.executablePath,
907
+ env: options.env,
906
908
  timeout: options.browserTimeout,
907
909
  waitForInitialPage: false
908
910
  };
@@ -1241,33 +1243,28 @@ function formatProbeFailure(err) {
1241
1243
  return `probe failed (${err instanceof Error ? err.message : String(err)})`;
1242
1244
  }
1243
1245
  async function probeAutoBrowserGpuMode(options) {
1244
- const executablePath = options.chromePath ?? resolveHeadlessShellPath({});
1245
1246
  const ppt = await getPuppeteerOrNull();
1246
1247
  if (ppt === null) {
1247
1248
  logResolvedBrowserGpuMode("software", "puppeteer unavailable");
1248
1249
  return { mode: "software", cause: "probe-error" };
1249
1250
  }
1250
- const probed = await probeWebGlMode(ppt, executablePath, options);
1251
- if (probed.mode === "hardware" || !detectWsl(options.wslHost)) return probed;
1252
- return probeWslFullChrome(ppt, executablePath, options, probed);
1253
- }
1254
- async function probeWslFullChrome(ppt, shellPath, options, shellOutcome) {
1255
- const fullChrome = (options.findFullChrome ?? resolveFullChromePath)();
1256
- let route = { state: "missing" };
1257
- if (fullChrome) {
1258
- const viaFullChrome = fullChrome === shellPath ? shellOutcome : await probeWebGlMode(ppt, fullChrome, options, "full Chrome: ");
1259
- if (viaFullChrome.mode === "hardware") return { mode: "hardware", browserPath: fullChrome };
1260
- route = { state: viaFullChrome.cause ?? "no-gpu", path: fullChrome };
1251
+ const probed = await probeWebGlMode(ppt, options);
1252
+ if (probed.mode === "hardware") return probed;
1253
+ if (detectWsl(options.wslHost) && process.env.WAYLAND_DISPLAY !== void 0) {
1254
+ const env = envWithoutWaylandDisplay();
1255
+ const retried = await probeWebGlMode(ppt, options, env, "without WAYLAND_DISPLAY: ");
1256
+ if (retried.mode === "hardware") return { mode: "hardware", withoutWaylandDisplay: true };
1261
1257
  }
1262
- return { ...shellOutcome, wslAccess: describeWslGpuAccess(options.wslHost, route) ?? void 0 };
1258
+ return { ...probed, ...wslAccess(options) };
1263
1259
  }
1264
- async function probeWebGlMode(ppt, executablePath, options, label = "") {
1260
+ async function probeWebGlMode(ppt, options, env, label = "") {
1265
1261
  try {
1266
1262
  const info = await probeHardwareWebGlInfo(ppt, {
1267
1263
  args: getHardwareGpuProbeArgs(options.platform ?? process.platform),
1268
1264
  browserTimeout: options.browserTimeout ?? DEFAULT_CONFIG.browserTimeout,
1269
- executablePath,
1270
- probeLifecycle: options.probeLifecycle
1265
+ executablePath: options.chromePath ?? resolveHeadlessShellPath({}),
1266
+ probeLifecycle: options.probeLifecycle,
1267
+ env
1271
1268
  });
1272
1269
  const resolved = resolveWebGlProbeMode(info);
1273
1270
  logResolvedBrowserGpuMode(resolved, label + describeWebGlProbe(info));
@@ -1277,9 +1274,17 @@ async function probeWebGlMode(ppt, executablePath, options, label = "") {
1277
1274
  return { mode: "software", cause: "probe-error" };
1278
1275
  }
1279
1276
  }
1280
- async function resolveCaptureBrowserPath(resolvedMode, config) {
1281
- const probed = resolvedMode === "hardware" ? await _autoBrowserGpuModeCache : void 0;
1282
- return probed?.browserPath ?? resolveHeadlessShellPath(config);
1277
+ function envWithoutWaylandDisplay() {
1278
+ const { WAYLAND_DISPLAY: _wslg, ...env } = process.env;
1279
+ return env;
1280
+ }
1281
+ async function captureWithoutWaylandDisplay(resolvedMode) {
1282
+ if (resolvedMode !== "hardware") return false;
1283
+ return (await _autoBrowserGpuModeCache)?.withoutWaylandDisplay === true;
1284
+ }
1285
+ function wslAccess(options) {
1286
+ const lines = describeWslGpuAccess(options.wslHost);
1287
+ return lines ? { wslAccess: lines } : {};
1283
1288
  }
1284
1289
  function resolveBrowserGpuMode(mode, options = {}) {
1285
1290
  if (mode === "software") return Promise.resolve(mode);
@@ -1303,19 +1308,19 @@ function resolveBrowserGpuMode(mode, options = {}) {
1303
1308
  }
1304
1309
  var _unverifiedHardwareGpuWarned = false;
1305
1310
  var _wslSoftwareNoteLogged = false;
1306
- function buildWslSoftwareNote({ cause, wslAccess = [] }) {
1311
+ function buildWslSoftwareNote({ cause, wslAccess: wslAccess2 = [] }) {
1307
1312
  const check = cause === "probe-error" ? "the GPU check could not finish (see the probe line above)" : "the GPU check found no hardware GPU";
1308
1313
  return [
1309
1314
  `[hyperframes] WSL: ${check}, so this render uses software WebGL (SwiftShader) and runs at CPU speed.`,
1310
- ...wslAccess,
1315
+ ...wslAccess2,
1311
1316
  " Pass --no-browser-gpu to skip the GPU check and render in software."
1312
1317
  ].join("\n");
1313
1318
  }
1314
- function buildUnverifiedHardwareGpuWarning(platform, { cause, wslAccess }) {
1319
+ function buildUnverifiedHardwareGpuWarning(platform, { cause, wslAccess: wslAccess2 }) {
1315
1320
  if (cause === "probe-error") {
1316
- return "[hyperframes] browserGpuMode=hardware was requested, but the GPU probe could not run, so hardware acceleration is UNVERIFIED. If Chrome falls back to software WebGL the capture will run at CPU speed. Honouring the explicit request anyway.\n This is a probe failure, not evidence of a missing GPU: see the `browserGpuMode probe \u2192 software (probe failed ...)` line above for the underlying error, which usually means Chrome could not launch (bad HYPERFRAMES_BROWSER_PATH, missing shared libraries, or a denied sandbox) rather than a GPU problem.\n Run `hyperframes doctor` to check the Chrome install." + (wslAccess ? ["", " Under WSL, a GPU path that is slow to start or unreachable can also cause it:"].concat(wslAccess).join("\n") : "");
1321
+ return "[hyperframes] browserGpuMode=hardware was requested, but the GPU probe could not run, so hardware acceleration is UNVERIFIED. If Chrome falls back to software WebGL the capture will run at CPU speed. Honouring the explicit request anyway.\n This is a probe failure, not evidence of a missing GPU: see the `browserGpuMode probe \u2192 software (probe failed ...)` line above for the underlying error, which usually means Chrome could not launch (bad HYPERFRAMES_BROWSER_PATH, missing shared libraries, or a denied sandbox) rather than a GPU problem.\n Run `hyperframes doctor` to check the Chrome install." + (wslAccess2 ? ["", " Under WSL, a GPU path that is slow to start or unreachable can also cause it:"].concat(wslAccess2).join("\n") : "");
1317
1322
  }
1318
- const remediation = wslAccess?.join("\n") ?? (platform === "linux" ? " Inside Docker, the container needs GPU passthrough: `--gpus all` with the NVIDIA Container Toolkit installed, or `--device /dev/dri` for Mesa/AMD/Intel. The image also needs the matching userspace driver + libEGL. Verify with `hyperframes render --browser-gpu` and watch for this warning disappearing." : " Check that the host exposes a GPU to this process and that the graphics drivers are installed.");
1323
+ const remediation = wslAccess2?.join("\n") ?? (platform === "linux" ? " Inside Docker, the container needs GPU passthrough: `--gpus all` with the NVIDIA Container Toolkit installed, or `--device /dev/dri` for Mesa/AMD/Intel. The image also needs the matching userspace driver + libEGL. Verify with `hyperframes render --browser-gpu` and watch for this warning disappearing." : " Check that the host exposes a GPU to this process and that the graphics drivers are installed.");
1319
1324
  return `[hyperframes] browserGpuMode=hardware was requested, but the WebGL probe found no hardware GPU, so Chrome will silently fall back to software WebGL and the capture will run at CPU speed. Honouring the explicit request anyway.
1320
1325
  ${remediation}
1321
1326
  Pass --no-browser-gpu to select deterministic SwiftShader instead of waiting on a hardware path that is not there.`;
@@ -1336,6 +1341,7 @@ function createBrowserLaunchFingerprint(chromeArgs, config) {
1336
1341
  return {
1337
1342
  args: chromeArgs,
1338
1343
  executablePath: headlessShell,
1344
+ withoutWaylandDisplay: launchConfig.withoutWaylandDisplay === true,
1339
1345
  browserTimeoutMs: launchConfig.browserTimeout,
1340
1346
  protocolTimeoutMs: launchConfig.protocolTimeout,
1341
1347
  requestedCaptureMode
@@ -1347,6 +1353,7 @@ async function acquireBrowser(chromeArgs, config) {
1347
1353
  }
1348
1354
  async function launchBrowser(fingerprint) {
1349
1355
  const ppt = await getPuppeteer();
1356
+ const env = fingerprint.withoutWaylandDisplay ? envWithoutWaylandDisplay() : void 0;
1350
1357
  let captureMode = fingerprint.requestedCaptureMode;
1351
1358
  let browser;
1352
1359
  try {
@@ -1356,6 +1363,7 @@ async function launchBrowser(fingerprint) {
1356
1363
  args: [...fingerprint.args],
1357
1364
  defaultViewport: null,
1358
1365
  executablePath: fingerprint.executablePath,
1366
+ env,
1359
1367
  timeout: fingerprint.browserTimeoutMs,
1360
1368
  protocolTimeout: fingerprint.protocolTimeoutMs
1361
1369
  });
@@ -1385,6 +1393,7 @@ async function launchBrowser(fingerprint) {
1385
1393
  args: stripBeginFrameFlags([...fingerprint.args]),
1386
1394
  defaultViewport: null,
1387
1395
  executablePath: fingerprint.executablePath,
1396
+ env,
1388
1397
  timeout: fingerprint.browserTimeoutMs,
1389
1398
  protocolTimeout: fingerprint.protocolTimeoutMs
1390
1399
  });
@@ -5315,16 +5324,15 @@ async function createCaptureSession(serverUrl, outputDir, options, onBeforeCaptu
5315
5324
  resolvedGpuMode,
5316
5325
  config
5317
5326
  );
5318
- const browserPath = await resolveCaptureBrowserPath(resolvedGpuMode, config);
5319
- const wslFullChromeHasNoBeginFrame = browserPath !== headlessShell;
5320
- const preMode = headlessShell && !wslFullChromeHasNoBeginFrame && isLinux && !effectiveForceScreenshot && !supersampling && !drawElementTransparent ? "beginframe" : "screenshot";
5327
+ const preMode = headlessShell && isLinux && !effectiveForceScreenshot && !supersampling && !drawElementTransparent ? "beginframe" : "screenshot";
5321
5328
  const requiresWebGpu = options.requiresWebGpu ?? await fetch(`${serverUrl}/index.html`, { signal: AbortSignal.timeout(5e3) }).then((res) => res.text()).then(compositionRequiresWebGpu).catch(() => false);
5322
5329
  const gpuConfig = { ...config, browserGpuMode: resolvedGpuMode };
5323
5330
  const chromeArgs = buildChromeArgs(
5324
5331
  { width: options.width, height: options.height, captureMode: preMode, requiresWebGpu },
5325
5332
  gpuConfig
5326
5333
  );
5327
- const browserLease = await acquireBrowser(chromeArgs, { ...config, chromePath: browserPath });
5334
+ const withoutWaylandDisplay = await captureWithoutWaylandDisplay(resolvedGpuMode);
5335
+ const browserLease = await acquireBrowser(chromeArgs, { ...config, withoutWaylandDisplay });
5328
5336
  return constructCaptureSessionWithRollback({
5329
5337
  browserLease,
5330
5338
  serverUrl,
@@ -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-YZEHYWOH.js";
9
+ } from "./chunk-7ZWOLEGS.js";
10
10
  import {
11
11
  DecodeCancelled,
12
12
  prepareSherpaWav,
13
13
  sherpaUnsupportedReason,
14
14
  transcribeWithSherpa
15
- } from "./chunk-DDSQBREC.js";
15
+ } from "./chunk-4YDQQQY6.js";
16
16
  import {
17
17
  initialModelForLanguage,
18
18
  transcribe
19
- } from "./chunk-SCXATNSP.js";
19
+ } from "./chunk-ZZ3ZWTOI.js";
20
20
  import {
21
21
  createRenderCancellationScope,
22
22
  stoppedByCancelSignal
23
- } from "./chunk-M4CRDGC4.js";
23
+ } from "./chunk-T243WV6D.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-QJEHLWM4.js";
33
+ } from "./chunk-SQHWDFTV.js";
34
34
  import {
35
35
  normalizeErrorMessage
36
36
  } from "./chunk-KNU5COPB.js";
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-PBN6GBJE.js";
16
16
  import {
17
17
  parseFps
18
- } from "./chunk-3THJEW7G.js";
18
+ } from "./chunk-SGIZMTWO.js";
19
19
 
20
20
  // src/browser/windowsCrash.ts
21
21
  var STATUS_STACK_BUFFER_OVERRUN_DEC = "3221225595";