hyperframes 0.8.155 → 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.
Files changed (156) hide show
  1. package/dist/{add-QHRTHQDD.js → add-U35DO2JR.js} +13 -13
  2. package/dist/{animatedGifPrep-KYVKRWHT.js → animatedGifPrep-MRGFHBVF.js} +6 -6
  3. package/dist/api.js +14 -14
  4. package/dist/{asset-LBQA2IUJ.js → asset-HS4Q6LS2.js} +2 -2
  5. package/dist/{assetCataloger-Y3OELLLW.js → assetCataloger-SRTQYA6J.js} +2 -2
  6. package/dist/{auth-3MMX5MLV.js → auth-HS6GAILF.js} +2 -2
  7. package/dist/{autoUpdate-6EMWLUKO.js → autoUpdate-MRQ4ULBI.js} +2 -2
  8. package/dist/{backgroundChecks-3VL65XVE.js → backgroundChecks-K2ZMA43S.js} +3 -3
  9. package/dist/backgroundChecksWorker.js +3 -3
  10. package/dist/{batchRender-6TD4XSIP.js → batchRender-CMVCRSWP.js} +3 -3
  11. package/dist/{beats-NOHE5FA5.js → beats-JYECNCTZ.js} +12 -12
  12. package/dist/{benchmark-7EFNYNYH.js → benchmark-JGMKJSPN.js} +10 -10
  13. package/dist/{browser-IZ2DJGGN.js → browser-63WITJVS.js} +5 -5
  14. package/dist/{bundleWithLocalizedFonts-YVGLQ72Z.js → bundleWithLocalizedFonts-5SLYBFXL.js} +2 -2
  15. package/dist/{capture-YJEM42PR.js → capture-7MFOIE4K.js} +9 -9
  16. package/dist/{capture-HHK4GA4X.js → capture-T6QSEGKM.js} +2 -2
  17. package/dist/{catalog-GXGFKOX7.js → catalog-KVE5KJJT.js} +13 -13
  18. package/dist/{catch-up-L6E26OPV.js → catch-up-E3WYWSDY.js} +6 -6
  19. package/dist/{check-HSTEN7PX.js → check-QRP5WCP2.js} +32 -32
  20. package/dist/{checkBrowser-547BWZG6.js → checkBrowser-5XFA6PXF.js} +29 -29
  21. package/dist/{chunk-V6UUZGP6.js → chunk-2K5YII2L.js} +1 -1
  22. package/dist/{chunk-ZDEEHQ2Y.js → chunk-3THJEW7G.js} +1 -1
  23. package/dist/{chunk-TA5AUF2J.js → chunk-444O62RL.js} +1 -1
  24. package/dist/{chunk-B4WWDPNF.js → chunk-56AEM2EL.js} +16 -8
  25. package/dist/{chunk-QWQ6GQTI.js → chunk-7FFGZC2X.js} +1 -1
  26. package/dist/{chunk-RTI536FR.js → chunk-7K3CHJS3.js} +9 -9
  27. package/dist/{chunk-PVGDU7SE.js → chunk-7U27WUMQ.js} +1 -1
  28. package/dist/{chunk-O5S54BVW.js → chunk-C7WALYAY.js} +1 -1
  29. package/dist/{chunk-5GZLD7OW.js → chunk-COBIO7VC.js} +1 -1
  30. package/dist/{chunk-BADLIO5R.js → chunk-DDK6E66K.js} +1 -1
  31. package/dist/{chunk-PCBCTD7M.js → chunk-DDSQBREC.js} +2 -2
  32. package/dist/{chunk-GQ73YXKD.js → chunk-DRNTIYT3.js} +3 -3
  33. package/dist/{chunk-WQMTHPTK.js → chunk-DSX7R5M7.js} +1 -1
  34. package/dist/{chunk-HGAOO43L.js → chunk-FIL6QPZT.js} +2 -2
  35. package/dist/{chunk-4OMHV7P2.js → chunk-GVJ4LG62.js} +2 -2
  36. package/dist/{chunk-AVGGHUVK.js → chunk-HBKKW3NL.js} +6 -6
  37. package/dist/{chunk-AF6Y56VA.js → chunk-HG6H2ICP.js} +2 -2
  38. package/dist/{chunk-GD5MYXEK.js → chunk-HVQQN4NG.js} +1 -1
  39. package/dist/{chunk-ECFNYTEM.js → chunk-IOBKVP27.js} +1 -1
  40. package/dist/{chunk-2Q2KQRG7.js → chunk-JJERZGVE.js} +1 -1
  41. package/dist/{chunk-PXOFFSO3.js → chunk-JKCKXGIC.js} +1 -1
  42. package/dist/{chunk-HXU4DWOZ.js → chunk-KMSS5TOQ.js} +1 -1
  43. package/dist/{chunk-PCXEFXRK.js → chunk-LJHF4SKT.js} +2 -2
  44. package/dist/{chunk-XQYLUY2F.js → chunk-LZ2PZIVS.js} +1 -1
  45. package/dist/{chunk-6UMBAJRU.js → chunk-M4CRDGC4.js} +1 -1
  46. package/dist/{chunk-BEM57QP3.js → chunk-MBE4SEL7.js} +5 -5
  47. package/dist/{chunk-DM2D67MP.js → chunk-NV2JPSI4.js} +1 -1
  48. package/dist/{chunk-7KDQAD2W.js → chunk-OBXWIVYN.js} +11 -5
  49. package/dist/{chunk-GV7I3ZSQ.js → chunk-OE4WEQMH.js} +1 -1
  50. package/dist/{chunk-4U66LIUS.js → chunk-OOCONATR.js} +3 -3
  51. package/dist/{chunk-YYMJEQ4D.js → chunk-Q7FDYQR4.js} +1 -1
  52. package/dist/{chunk-SQHWDFTV.js → chunk-QJEHLWM4.js} +1 -1
  53. package/dist/{chunk-D5VMPDTH.js → chunk-QOP5D3UM.js} +2 -2
  54. package/dist/{chunk-HAKVKAUQ.js → chunk-RXTEP3NB.js} +2 -2
  55. package/dist/{chunk-M2IEAI7L.js → chunk-SCMNFRL5.js} +9 -9
  56. package/dist/{chunk-KEGTYA7V.js → chunk-SCOXM5LP.js} +1 -1
  57. package/dist/{chunk-RB6RHOSF.js → chunk-SCXATNSP.js} +3 -3
  58. package/dist/{chunk-TXWPPBIW.js → chunk-SNMMFFKZ.js} +1 -1
  59. package/dist/{chunk-Q3BS3MN5.js → chunk-SO44ETGW.js} +2 -2
  60. package/dist/{chunk-BSMBAP7O.js → chunk-TLUGPEW4.js} +5 -5
  61. package/dist/{chunk-UNO7QJAV.js → chunk-VCCOO2TO.js} +5 -5
  62. package/dist/{chunk-PSDTKP6K.js → chunk-VK5JRYJL.js} +6 -6
  63. package/dist/{chunk-P5CMYIC6.js → chunk-VPOEKLZL.js} +1 -1
  64. package/dist/{chunk-45FUWHHV.js → chunk-VY23BB2D.js} +2 -2
  65. package/dist/{chunk-KS4JPMVV.js → chunk-WLYSVHZE.js} +2 -2
  66. package/dist/{chunk-PFERJHKB.js → chunk-XXTOOXZ7.js} +2 -2
  67. package/dist/{chunk-GC36GZHM.js → chunk-YGLM2DHX.js} +1 -1
  68. package/dist/{chunk-2XEBNYG5.js → chunk-YLSSI4XB.js} +1 -1
  69. package/dist/{chunk-RSNBNSKZ.js → chunk-YNFJWJHW.js} +7 -7
  70. package/dist/{chunk-TLC4GYT5.js → chunk-YUTUYCGK.js} +117 -196
  71. package/dist/{chunk-6ENZIL42.js → chunk-YZEHYWOH.js} +1 -1
  72. package/dist/{clean-J3IRHNY5.js → clean-4HTCYML6.js} +15 -15
  73. package/dist/cli.js +52 -52
  74. package/dist/{cloud-TMV666ML.js → cloud-HFBG33UU.js} +4 -4
  75. package/dist/{cloudrun-OUGI5NN4.js → cloudrun-QK56WQY3.js} +3 -3
  76. package/dist/{compare-UXT7YJAD.js → compare-4RYN3LLC.js} +24 -24
  77. package/dist/{compiler-WHUQZITN.js → compiler-JPA25IUF.js} +2 -2
  78. package/dist/{component-OEWAQBRI.js → component-7ARXR4KZ.js} +3 -3
  79. package/dist/{compositions-J5UAUORI.js → compositions-DNBHEIGP.js} +11 -11
  80. package/dist/{delete-RIWTBVNH.js → delete-4XYV72EU.js} +2 -2
  81. package/dist/{dist-NUSNSGME.js → dist-SKUIM4QJ.js} +2 -2
  82. package/dist/{doctor-L4LKY2ZO.js → doctor-5PHSH7IK.js} +11 -11
  83. package/dist/{events-7O35RPKC.js → events-FOGRN2KV.js} +4 -4
  84. package/dist/{events-CRYKZ3VN.js → events-GQCOQY5E.js} +5 -5
  85. package/dist/{feedback-WL5ILVT2.js → feedback-6T6ZJOTM.js} +8 -8
  86. package/dist/{ffmpeg-2ROTISBL.js → ffmpeg-VJXXLKI6.js} +2 -2
  87. package/dist/{figma-Y36QOXGR.js → figma-PZLGUS6C.js} +3 -3
  88. package/dist/fontLocalizeCli.js +8 -8
  89. package/dist/{get-BKAU2UKN.js → get-XUNYSY2Z.js} +2 -2
  90. package/dist/{gpuPolicy-5AGAE6DM.js → gpuPolicy-SWCZJRZR.js} +6 -6
  91. package/dist/{grade-compare-6F5QLGGK.js → grade-compare-S27N2NRU.js} +25 -25
  92. package/dist/{help-VMH6Q3TP.js → help-4HZ75YVH.js} +1 -1
  93. package/dist/{history-WJI7NN5U.js → history-NENOG3BT.js} +8 -8
  94. package/dist/hyperframe-runtime.js +35 -35
  95. package/dist/hyperframe.manifest.json +1 -1
  96. package/dist/hyperframe.runtime.iife.js +35 -35
  97. package/dist/hyperframes-player.global.js +1 -1
  98. package/dist/{info-ZPGZJKYK.js → info-IDEUAYJZ.js} +9 -9
  99. package/dist/{init-FH3HAGUA.js → init-KWGZEC7F.js} +27 -27
  100. package/dist/{inspect-MIO35XDA.js → inspect-3WLT3EHZ.js} +25 -25
  101. package/dist/{installer-QCHUXV6E.js → installer-I3SLBB7G.js} +4 -4
  102. package/dist/{keyframes-HL66NSCA.js → keyframes-7HPN5DKO.js} +8 -8
  103. package/dist/{lambda-Q5FTNY4J.js → lambda-MJH6U52V.js} +4 -4
  104. package/dist/{layout-HLA3MBNJ.js → layout-ZEW4RZRP.js} +25 -25
  105. package/dist/{lint-BL4JKGPG.js → lint-3TNKI4PK.js} +8 -8
  106. package/dist/{list-34AMRBCS.js → list-BJR2IXU4.js} +2 -2
  107. package/dist/{login-EL5DFM34.js → login-EA27W5T2.js} +4 -4
  108. package/dist/{manager-JNJE54OQ.js → manager-3EUU5UX6.js} +3 -3
  109. package/dist/{media-treatment-UWR4OOHW.js → media-treatment-3JZFCG6I.js} +11 -11
  110. package/dist/{models-2E6AGL43.js → models-IRFIJOIW.js} +10 -10
  111. package/dist/{motionShot-JBH6JWB4.js → motionShot-S4M7QSW3.js} +12 -12
  112. package/dist/{normalize-audio-ZZ3O7VDF.js → normalize-audio-IOY3NRHJ.js} +6 -6
  113. package/dist/{open-QN7XTS6J.js → open-SCBC3NF5.js} +6 -6
  114. package/dist/{parakeetRunner-NUZTNYYF.js → parakeetRunner-FGTIYDG7.js} +11 -11
  115. package/dist/{pipeline-RUEI6IIO.js → pipeline-JEFEWIZ3.js} +7 -7
  116. package/dist/{play-2Y6KCFV3.js → play-4TCSBDHO.js} +18 -18
  117. package/dist/{preflight-JS4P5HFR.js → preflight-OIHM57E7.js} +4 -4
  118. package/dist/{present-J2UUEQWF.js → present-S6UBG5VI.js} +14 -14
  119. package/dist/{preview-BSUSKQBL.js → preview-HBDXDJCV.js} +17 -17
  120. package/dist/{producer-6QJ5624B.js → producer-KSAUIT6F.js} +1 -1
  121. package/dist/{projectConfig-EX35BZLA.js → projectConfig-CNAK65RI.js} +6 -6
  122. package/dist/{publication-OUGS3P7W.js → publication-AUWZFGJI.js} +2 -2
  123. package/dist/{publish-UUFZR6QT.js → publish-EMNP3VCC.js} +7 -7
  124. package/dist/{remove-background-SQUYEUJN.js → remove-background-GICM6TE5.js} +8 -8
  125. package/dist/{render-U7RMOU2K.js → render-DMHQZMV4.js} +24 -24
  126. package/dist/{render-GNHKF76H.js → render-PHEQSRHV.js} +10 -10
  127. package/dist/{render-AWFQGD4T.js → render-WMRNH7HO.js} +3 -3
  128. package/dist/{render-batch-6UN3HT5A.js → render-batch-OUTHTWN5.js} +3 -3
  129. package/dist/{resolver-O6ZENVYP.js → resolver-NTB6HOZC.js} +4 -4
  130. package/dist/{sherpa-CHOSLER6.js → sherpa-3YJNJ6TF.js} +10 -10
  131. package/dist/{skills-2WUDLVDT.js → skills-MKEJGL35.js} +7 -7
  132. package/dist/{skillsUpdateCheck-7N4CXFNJ.js → skillsUpdateCheck-RTLARPPP.js} +3 -3
  133. package/dist/{snapshot-E5IT54QQ.js → snapshot-KMLGFZWY.js} +28 -28
  134. package/dist/{src-CP75EYSP.js → src-4HB343JW.js} +7 -7
  135. package/dist/{src-APLD7CAF.js → src-HJ2NF55P.js} +5 -5
  136. package/dist/{staticProjectServer-VO5U75UA.js → staticProjectServer-4XX72J23.js} +12 -12
  137. package/dist/{status-RGHSK3DJ.js → status-BMXWFO4L.js} +2 -2
  138. package/dist/studio/assets/{hyperframes-player-BvAidsoQ.js → hyperframes-player-u2w3bDWo.js} +1 -1
  139. package/dist/studio/assets/{index-Jt_3ZX4p.js → index-BG28fXIT.js} +1 -1
  140. package/dist/studio/assets/{index-z1M2RwXX.js → index-D8B6eEBj.js} +4 -4
  141. package/dist/studio/assets/{index-CbWWPYt-.js → index-WD9j53l5.js} +1 -1
  142. package/dist/studio/index.html +1 -1
  143. package/dist/{studio-api-7JCPNJA7.js → studio-api-LPHMA57T.js} +6 -6
  144. package/dist/{studioServer-A67X3ZLJ.js → studioServer-P7GSE74X.js} +40 -40
  145. package/dist/{system-VRXC6S4A.js → system-QRHPVRPP.js} +2 -2
  146. package/dist/{telemetry-22DNA5QE.js → telemetry-576VTLGI.js} +5 -5
  147. package/dist/{timeline-K3BXXFQG.js → timeline-BO7LJJ24.js} +14 -14
  148. package/dist/{tokens-MWRAQMQU.js → tokens-TCYANQDA.js} +2 -2
  149. package/dist/{transcribe-C7J56BLL.js → transcribe-6HLMGCL2.js} +16 -16
  150. package/dist/{transcribe-O5B3HUFK.js → transcribe-6PTFIBO6.js} +9 -9
  151. package/dist/{updateCheck-EPJ7WDFT.js → updateCheck-ZLYIZPPQ.js} +2 -2
  152. package/dist/{upgrade-M5XD6ZPM.js → upgrade-DZHQE2PV.js} +2 -2
  153. package/dist/{urlDownloader-IEP2DY4N.js → urlDownloader-PJTOCTJA.js} +5 -5
  154. package/dist/{validate-JAF2KIJI.js → validate-3I45WC7I.js} +19 -19
  155. package/dist/{video-TX6DGLND.js → video-AQFXGGKN.js} +6 -6
  156. package/package.json +1 -1
@@ -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-5GZLD7OW.js";
9
+ } from "./chunk-COBIO7VC.js";
10
10
  import {
11
11
  hostAnswers
12
12
  } from "./chunk-K4WIOZFP.js";
@@ -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-CP75EYSP.js");
10
+ return await import("./src-4HB343JW.js");
11
11
  }
12
12
 
13
13
  export {
@@ -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-CRYKZ3VN.js");
1281
+ const { trackCommandFailure } = await import("./events-GQCOQY5E.js");
1282
1282
  trackCommandFailure(
1283
1283
  command,
1284
1284
  err,
@@ -8,7 +8,7 @@ import {
8
8
  DEFAULT_REGISTRY_URL,
9
9
  fetchItemManifest,
10
10
  fetchRegistryManifest
11
- } from "./chunk-2XEBNYG5.js";
11
+ } from "./chunk-YLSSI4XB.js";
12
12
 
13
13
  // src/registry/resolver.ts
14
14
  function defaultWarn(message) {
@@ -10,7 +10,7 @@ import {
10
10
  isDevice,
11
11
  isQuality,
12
12
  render
13
- } from "./chunk-4U66LIUS.js";
13
+ } from "./chunk-OOCONATR.js";
14
14
 
15
15
  // src/api/removeBackground.ts
16
16
  import { resolve } from "path";
@@ -8,10 +8,10 @@ import {
8
8
  DEFAULT_VP9_CPU_USED,
9
9
  isHttpUrl,
10
10
  runFfmpeg
11
- } from "./chunk-TLC4GYT5.js";
11
+ } from "./chunk-YUTUYCGK.js";
12
12
  import {
13
13
  parseAnimatedGifMetadata
14
- } from "./chunk-ZDEEHQ2Y.js";
14
+ } from "./chunk-3THJEW7G.js";
15
15
  import {
16
16
  parseHTML
17
17
  } from "./chunk-SDYDNHEE.js";
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  formatVariableValidationIssue,
21
21
  validateVariables
22
- } from "./chunk-ZDEEHQ2Y.js";
22
+ } from "./chunk-3THJEW7G.js";
23
23
  import {
24
24
  extractCompositionMetadata
25
25
  } from "./chunk-VYKPBRCB.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-TLC4GYT5.js";
9
+ } from "./chunk-YUTUYCGK.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
@@ -11,22 +11,22 @@ import {
11
11
  launchManagedBrowser,
12
12
  resolveManagedGpuMode,
13
13
  rethrowAfterBrowserCleanup
14
- } from "./chunk-P5CMYIC6.js";
14
+ } from "./chunk-VPOEKLZL.js";
15
15
  import {
16
16
  resolveDiagnosticNavigationTimeoutMs,
17
17
  windowsChromeCrashRemediation
18
- } from "./chunk-TXWPPBIW.js";
18
+ } from "./chunk-SNMMFFKZ.js";
19
19
  import {
20
20
  resolveLocalBrowserGpuMode,
21
21
  resolveLocalWebGpu
22
- } from "./chunk-D5VMPDTH.js";
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-TLC4GYT5.js";
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-APLD7CAF.js");
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;
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-6PIGOKTE.js";
14
14
  import {
15
15
  resolveProject
16
- } from "./chunk-BADLIO5R.js";
16
+ } from "./chunk-DDK6E66K.js";
17
17
  import {
18
18
  findPreviewServerForProject,
19
19
  studioApiUrl
@@ -52,26 +52,32 @@ 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 describeWslGpuAccess(host = realHost) {
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" }) {
56
62
  if (!detectWsl(host)) return null;
57
63
  const access = host.renderNodeAccess(RENDER_NODE);
58
64
  if (access.state === "denied" && !access.userInGroup) {
59
65
  return [
60
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.`,
61
- ` Fix: run \`sudo usermod -aG ${access.group} $USER\`, then \`wsl --shutdown\` from Windows, reopen WSL and render again.`,
62
- ` Or ${NATIVE_WINDOWS}`
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)
63
69
  ];
64
70
  }
65
71
  if (access.state === "denied") {
66
72
  return [
67
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}\`.`,
68
- ` Or ${NATIVE_WINDOWS}`
74
+ ...routeToGpu(fullChrome)
69
75
  ];
70
76
  }
71
77
  const seen = access.state === "missing" ? "does not exist" : "is readable and writable";
72
78
  return [
73
79
  ` ${RENDER_NODE} ${seen}, so file permissions are not the cause.`,
74
- ` To use the GPU, ${NATIVE_WINDOWS}`
80
+ ...routeToGpu(fullChrome)
75
81
  ];
76
82
  }
77
83