hyperframes 0.8.176 → 0.8.178

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 (175) hide show
  1. package/bin/hyperframes.mjs +3 -0
  2. package/dist/{add-YZGUHLDP.js → add-C4GN5ZDP.js} +12 -12
  3. package/dist/{animatedGifPrep-6SPYXSHE.js → animatedGifPrep-S6XXOOXK.js} +7 -7
  4. package/dist/api.d.ts +2 -0
  5. package/dist/api.js +15 -15
  6. package/dist/{asset-YPC34MTV.js → asset-WTZ44Q7G.js} +2 -2
  7. package/dist/{assetCataloger-5GGNQC3Y.js → assetCataloger-MSAMR77T.js} +7 -7
  8. package/dist/{audio-33JHU37L.js → audio-ZSWOKO3D.js} +14 -14
  9. package/dist/{auth-UUIHOS2D.js → auth-EUSWPXME.js} +1 -1
  10. package/dist/{autoUpdate-F747BE3R.js → autoUpdate-WWXRJ2W7.js} +2 -2
  11. package/dist/{backgroundChecks-3YLO2CSC.js → backgroundChecks-B2IJHAP6.js} +3 -3
  12. package/dist/backgroundChecksWorker.js +3 -3
  13. package/dist/{batchRender-KXXTVNPB.js → batchRender-OOQYGH5A.js} +4 -4
  14. package/dist/{beats-DQDV2ZFS.js → beats-OJT75KQY.js} +5 -5
  15. package/dist/{benchmark-ZPPZEIHZ.js → benchmark-EZTB4ITW.js} +9 -9
  16. package/dist/{browser-ZFLEP3E6.js → browser-DNHBS5C7.js} +9 -8
  17. package/dist/{bundleWithLocalizedFonts-PMRGOQWD.js → bundleWithLocalizedFonts-GJAML42J.js} +2 -2
  18. package/dist/{capture-6XCCIPT4.js → capture-YRS6SZ6B.js} +11 -11
  19. package/dist/{capture-5OW6VNXU.js → capture-ZBGAJYVH.js} +2 -2
  20. package/dist/captureCompositionFrame-Z33NWUED.js +88 -0
  21. package/dist/{catalog-3A6KKCWF.js → catalog-YF23PXV2.js} +25 -17
  22. package/dist/{catch-up-KPGCLN4C.js → catch-up-YZZDUDRQ.js} +5 -5
  23. package/dist/{check-I3XLXS77.js → check-NVGQ5PMF.js} +60 -49
  24. package/dist/{checkBrowser-KX7LNAFA.js → checkBrowser-JX22QQDH.js} +79 -59
  25. package/dist/{chunk-42T7OP4O.js → chunk-32GKQ73S.js} +1 -1
  26. package/dist/{chunk-3Q4Y33FT.js → chunk-3EJYUZHW.js} +20 -18
  27. package/dist/{chunk-L6XT6GSV.js → chunk-52L2L46Q.js} +1 -1
  28. package/dist/chunk-537IYAEE.js +80 -0
  29. package/dist/{chunk-USEUH5VV.js → chunk-5PK3RLSB.js} +2 -2
  30. package/dist/{chunk-GVIH4ZQY.js → chunk-5RS2FIZU.js} +1 -1
  31. package/dist/{chunk-VER46LXI.js → chunk-62OXHKLS.js} +2 -2
  32. package/dist/{chunk-T76PLPD6.js → chunk-634HSJ3J.js} +2 -1
  33. package/dist/{chunk-HVMHVW5G.js → chunk-74Z2T3YM.js} +1 -1
  34. package/dist/{chunk-5TGVURKQ.js → chunk-7IAVKLNC.js} +1 -1
  35. package/dist/{chunk-L3LJVYXS.js → chunk-A2BB2XQU.js} +2 -2
  36. package/dist/{chunk-DQY6WTF7.js → chunk-A3RUVTGB.js} +1 -1
  37. package/dist/{chunk-OYEDHVSI.js → chunk-AFKVI7FJ.js} +1 -1
  38. package/dist/{chunk-VEQ7DKPG.js → chunk-AHS5QYKF.js} +1 -1
  39. package/dist/{chunk-FFDC5OWV.js → chunk-ALVXFXUG.js} +5 -3
  40. package/dist/{chunk-OMUKSCWE.js → chunk-AR5MS234.js} +13 -13
  41. package/dist/{chunk-R2TVJ4DW.js → chunk-AYEWZYYC.js} +1 -1
  42. package/dist/{chunk-TNDNFZOK.js → chunk-BGKZ37BC.js} +2 -2
  43. package/dist/{chunk-LY2GLSOS.js → chunk-BJJ3QF7T.js} +1 -1
  44. package/dist/{chunk-5EA4C6RA.js → chunk-BNGRVR3Y.js} +6 -6
  45. package/dist/{chunk-EEVCXPUA.js → chunk-C4FH67KI.js} +2 -2
  46. package/dist/{chunk-MG66UO4N.js → chunk-CJRGV2JW.js} +1 -1
  47. package/dist/{chunk-7LU4ZHYV.js → chunk-DKGZR7QA.js} +1 -1
  48. package/dist/{chunk-XRKMITSS.js → chunk-E24HSMZV.js} +12 -51
  49. package/dist/{chunk-44XBAKKT.js → chunk-EBKIF46T.js} +2 -2
  50. package/dist/{chunk-RBOVQRMR.js → chunk-EINNFZAW.js} +7 -13
  51. package/dist/{chunk-EOOEC32M.js → chunk-EVMY7IPL.js} +22 -0
  52. package/dist/{chunk-PL4WM5XE.js → chunk-FIAQ4J45.js} +2 -2
  53. package/dist/{chunk-J53AJK3Q.js → chunk-FTWOVWHR.js} +2 -2
  54. package/dist/{chunk-X6ZRZWPZ.js → chunk-G3M4BIFN.js} +1 -1
  55. package/dist/{chunk-VDUTZXIJ.js → chunk-HFUMZZ4T.js} +5 -5
  56. package/dist/{chunk-MDTMWUJI.js → chunk-HNMRB77F.js} +1 -1
  57. package/dist/{chunk-GMJ3ILLW.js → chunk-ICMXC3MI.js} +7 -24
  58. package/dist/{chunk-LZT3NUTE.js → chunk-IE6O2VXV.js} +1 -1
  59. package/dist/{chunk-HTC3VGU3.js → chunk-J4GE3BCG.js} +29 -10
  60. package/dist/{chunk-X4PK5ZXP.js → chunk-LO4DHZLH.js} +3 -3
  61. package/dist/{chunk-NGRNAF5X.js → chunk-N66NVE65.js} +1 -1
  62. package/dist/{chunk-7XX4QGQV.js → chunk-N6S6V2DY.js} +52 -16
  63. package/dist/{chunk-LEILKM2N.js → chunk-O7PFPCQF.js} +193 -65
  64. package/dist/{chunk-KUOUUG33.js → chunk-ORM7SJ7K.js} +85 -43
  65. package/dist/chunk-PLNQW2C6.js +3805 -0
  66. package/dist/{chunk-JNL3RMDG.js → chunk-PU33GPG4.js} +1 -1
  67. package/dist/{chunk-W47D3KOB.js → chunk-RHWJKSGH.js} +1 -1
  68. package/dist/{chunk-B7DJQFAC.js → chunk-RTABHL2G.js} +3 -3
  69. package/dist/{chunk-K535ASAM.js → chunk-TINAVSGR.js} +1 -1
  70. package/dist/{chunk-C6TPGUWD.js → chunk-TTVHYD5R.js} +2 -2
  71. package/dist/{chunk-GOOB64LO.js → chunk-U2AIXPAQ.js} +2 -2
  72. package/dist/{chunk-BVXZYFAL.js → chunk-UIXHQ4QG.js} +7 -7
  73. package/dist/{chunk-QWCXGTOH.js → chunk-UOHQV6AV.js} +24 -12
  74. package/dist/{chunk-SURF34CK.js → chunk-UQEBSY5U.js} +1 -1
  75. package/dist/{chunk-5ZSLJXQX.js → chunk-UWPUEI5U.js} +2 -2
  76. package/dist/{chunk-BTCHRQNV.js → chunk-V6WIQWUB.js} +3 -3
  77. package/dist/{chunk-OUMYTLPP.js → chunk-VCDWVVDV.js} +11 -7
  78. package/dist/{chunk-YWSXFFO3.js → chunk-VU4JLRNH.js} +156 -76
  79. package/dist/{chunk-MLRCTTSD.js → chunk-XBZOYP4D.js} +96 -11
  80. package/dist/{chunk-X6HYBA4A.js → chunk-XSQWXUK2.js} +1 -1
  81. package/dist/{chunk-SSE6NWZI.js → chunk-Y6JLEN3P.js} +14 -14
  82. package/dist/{chunk-KRKSY2AE.js → chunk-YAPJOCSH.js} +1 -1
  83. package/dist/{chunk-NWEER3QY.js → chunk-YH7VQAKX.js} +2 -2
  84. package/dist/{chunk-DZMWNCHM.js → chunk-ZAJO3YCQ.js} +2 -2
  85. package/dist/{chunk-T6NA6TR3.js → chunk-ZAO7FTQM.js} +2 -2
  86. package/dist/{clean-6REGQY3I.js → clean-ODNP4ELD.js} +23 -23
  87. package/dist/cli.js +53 -53
  88. package/dist/{cloud-RAQZPMNP.js → cloud-2DACBBEP.js} +4 -4
  89. package/dist/{cloudrun-P35BPQCO.js → cloudrun-QSVGI2TT.js} +5 -5
  90. package/dist/commands/contrast-audit.browser.js +166 -22
  91. package/dist/{compare-XYFSHHMQ.js → compare-HMMGOM4F.js} +34 -34
  92. package/dist/{compiler-5TFPJPQQ.js → compiler-CQ6OKYT5.js} +2 -2
  93. package/dist/{component-CRAO6Q2E.js → component-C6OLXSIK.js} +3 -3
  94. package/dist/{compositions-4SHILZZX.js → compositions-MOGZ4ASK.js} +11 -11
  95. package/dist/{delete-ZS4AHMTY.js → delete-MDAYHORQ.js} +2 -2
  96. package/dist/{dist-U2HCECNB.js → dist-MHJYD5IZ.js} +6 -4
  97. package/dist/{doctor-OL4FYABY.js → doctor-VEKKYMQT.js} +12 -12
  98. package/dist/{events-Z3XZCRFZ.js → events-CSKJXRJU.js} +4 -4
  99. package/dist/{events-LIJBGTTX.js → events-SKMTX6HF.js} +2 -2
  100. package/dist/{feedback-OE6SB2VE.js → feedback-64AKUFHZ.js} +7 -7
  101. package/dist/{ffmpeg-CSJLJAQ3.js → ffmpeg-64E4VH6W.js} +7 -7
  102. package/dist/{figma-DMUCMO67.js → figma-YEY76ZPG.js} +3 -3
  103. package/dist/fontLocalizeCli.js +10 -10
  104. package/dist/{get-NQOQVUI5.js → get-YJS76PGZ.js} +2 -2
  105. package/dist/{gpuPolicy-C6JWEX7F.js → gpuPolicy-IGZOHHMX.js} +7 -7
  106. package/dist/{grade-compare-HLTHHQGH.js → grade-compare-35UEA52Z.js} +35 -35
  107. package/dist/{help-ZAXWHAYF.js → help-I5TCDUVH.js} +1 -1
  108. package/dist/{history-CMY7ZEEW.js → history-7BKIWSP2.js} +11 -11
  109. package/dist/hyperframe-runtime.js +57 -55
  110. package/dist/hyperframe.manifest.json +1 -1
  111. package/dist/hyperframe.runtime.iife.js +57 -55
  112. package/dist/hyperframes-player.global.js +1 -1
  113. package/dist/{info-STR7EYI3.js → info-UEPOM2LV.js} +8 -8
  114. package/dist/{init-YSMKK5VG.js → init-HIB66K2S.js} +27 -27
  115. package/dist/{inspect-QV6DC6GO.js → inspect-634XIKDS.js} +33 -33
  116. package/dist/{installer-NY5E5HCO.js → installer-ADKWK4I4.js} +5 -5
  117. package/dist/{keyframes-HN3DW5FG.js → keyframes-7BJX3EVE.js} +7 -7
  118. package/dist/{lambda-PG3JKNWS.js → lambda-Q4TRSMHZ.js} +8 -8
  119. package/dist/{layout-O4QAR2XY.js → layout-6DUVSHEB.js} +33 -33
  120. package/dist/{lint-AY55R4UR.js → lint-UPFD4JQZ.js} +7 -7
  121. package/dist/{list-TH2KCVNN.js → list-M6OMQXJX.js} +2 -2
  122. package/dist/{login-TRCMRV4B.js → login-QH6JDXDP.js} +4 -4
  123. package/dist/{manager-2J4XGDZ3.js → manager-B4MSVFMK.js} +12 -10
  124. package/dist/{manager-HEUPD2YB.js → manager-V2QCCPOJ.js} +4 -3
  125. package/dist/{media-treatment-ET5QQSWP.js → media-treatment-SHFTIG4K.js} +14 -14
  126. package/dist/{models-RFUUSCG6.js → models-USEFHJFY.js} +11 -11
  127. package/dist/{motionShot-2ET565ZV.js → motionShot-HRM6NMT4.js} +15 -15
  128. package/dist/{normalize-audio-LUOJSD3W.js → normalize-audio-EP3HPQZB.js} +9 -9
  129. package/dist/{open-MVEOYQRQ.js → open-HXZEXQ4X.js} +12 -12
  130. package/dist/{parakeetRunner-3TG7EHWA.js → parakeetRunner-D5RSHQB2.js} +12 -12
  131. package/dist/{pipeline-JWGTH2BJ.js → pipeline-BDG52SPL.js} +8 -8
  132. package/dist/{play-I3WJPYXK.js → play-LSRQ6R66.js} +24 -24
  133. package/dist/{preflight-4WTT4D5X.js → preflight-GBPRLIM6.js} +9 -9
  134. package/dist/{present-DUZBKUYH.js → present-2VKAE63Q.js} +19 -19
  135. package/dist/{preview-7J5TBTRP.js → preview-MWH5CHTN.js} +18 -18
  136. package/dist/{producer-UZZQX6IJ.js → producer-W24FRIN7.js} +1 -1
  137. package/dist/{projectConfig-HDALEM6S.js → projectConfig-NQQDEDAK.js} +7 -7
  138. package/dist/{publication-NX4VC7UU.js → publication-7DW4IJPC.js} +3 -3
  139. package/dist/{publish-AZRRQUXM.js → publish-FJKJ74IF.js} +10 -10
  140. package/dist/{remove-background-OX5WZTXY.js → remove-background-JBOJAUIM.js} +9 -9
  141. package/dist/{render-HGT3EGIK.js → render-5TTZDI5N.js} +7 -14
  142. package/dist/{render-IYTGM6DE.js → render-BROS2AIU.js} +9 -9
  143. package/dist/{render-JUS2ROIN.js → render-JCYFNDWT.js} +42 -42
  144. package/dist/{render-batch-MUCDZ2WF.js → render-batch-FW56ZFGW.js} +8 -17
  145. package/dist/renderSetupWorker.js +2 -2
  146. package/dist/{resolver-FLQ42X2Y.js → resolver-UW6NYBJA.js} +5 -5
  147. package/dist/{sherpa-PRI3JLUP.js → sherpa-GWYCXYEP.js} +11 -11
  148. package/dist/skills/media-use/references/operations.md +3 -1
  149. package/dist/{skills-CZ6VW5SZ.js → skills-YNM5SIHQ.js} +6 -6
  150. package/dist/{skillsUpdateCheck-K4UKUAOC.js → skillsUpdateCheck-FNC6VALY.js} +3 -3
  151. package/dist/{snapshot-MPE4GIMJ.js → snapshot-6EMEL4O3.js} +44 -44
  152. package/dist/{src-SGPA7DM7.js → src-VUIKXEFU.js} +9 -9
  153. package/dist/{src-JGPFLYBL.js → src-XRFOS5LP.js} +6 -6
  154. package/dist/{staticProjectServer-DG4VZO4G.js → staticProjectServer-COEAKTGH.js} +17 -17
  155. package/dist/studio/assets/{hyperframes-player-DBHpVw8L.js → hyperframes-player-Dfw61RJK.js} +1 -1
  156. package/dist/studio/assets/{index-BkDF4Z-5.js → index-Bi6yVTq9.js} +118 -117
  157. package/dist/studio/assets/{index-DHRXpmtI.js → index-eTRj5rY2.js} +1 -1
  158. package/dist/studio/index.html +1 -1
  159. package/dist/{studio-api-RGNBVLLL.js → studio-api-455XWQPD.js} +12 -12
  160. package/dist/{studioServer-FWACRD3Y.js → studioServer-ZP2LJT7H.js} +57 -72
  161. package/dist/{telemetry-CHJA5JFQ.js → telemetry-HJQ7IO6R.js} +4 -4
  162. package/dist/{timeline-TZDMQBSM.js → timeline-CYW3YKMX.js} +23 -23
  163. package/dist/{tokens-B5KI7FBA.js → tokens-VOARLAAH.js} +2 -2
  164. package/dist/{transcribe-M7NO6XBP.js → transcribe-F6UOG57Z.js} +12 -12
  165. package/dist/{transcribe-VHUDXZET.js → transcribe-FJGNOR6R.js} +17 -16
  166. package/dist/{updateCheck-NMD6AFFG.js → updateCheck-IOLCO3XV.js} +2 -2
  167. package/dist/{upgrade-WGFMGJ5O.js → upgrade-BVW67SB7.js} +2 -2
  168. package/dist/{urlDownloader-FZ5ISJES.js → urlDownloader-QF7EBQC2.js} +6 -6
  169. package/dist/{validate-NM3GLUWX.js → validate-3NHIT4VT.js} +25 -25
  170. package/dist/{video-7CDAIWYC.js → video-2KGC3RIQ.js} +7 -7
  171. package/package.json +1 -2
  172. package/dist/chunk-EEXE43II.js +0 -3805
  173. package/dist/chunk-TWWSYAKJ.js +0 -24
  174. package/dist/{deploy-NKWMPAMH.js → deploy-3TTQZGTF.js} +4 -4
  175. package/dist/{destroy-UKP522AE.js → destroy-BEL232I5.js} +3 -3
@@ -12,25 +12,25 @@ import {
12
12
  launchManagedBrowser,
13
13
  resolveManagedGpuMode,
14
14
  rethrowAfterBrowserCleanup
15
- } from "./chunk-L6XT6GSV.js";
15
+ } from "./chunk-52L2L46Q.js";
16
16
  import {
17
17
  pageNavigationTimeoutMs,
18
18
  windowsChromeCrashRemediation
19
- } from "./chunk-X4PK5ZXP.js";
19
+ } from "./chunk-LO4DHZLH.js";
20
20
  import {
21
21
  oneProcessOverPipe
22
22
  } from "./chunk-BRHI7EIA.js";
23
23
  import {
24
24
  resolveLocalBrowserGpuMode,
25
25
  resolveLocalWebGpu
26
- } from "./chunk-L3LJVYXS.js";
26
+ } from "./chunk-A2BB2XQU.js";
27
27
  import {
28
28
  c
29
29
  } from "./chunk-ZTZA4UWZ.js";
30
30
  import {
31
31
  assertWebGpuAdapterAvailable,
32
32
  compositionRequiresWebGpu
33
- } from "./chunk-YWSXFFO3.js";
33
+ } from "./chunk-VU4JLRNH.js";
34
34
  import {
35
35
  normalizeErrorMessage
36
36
  } from "./chunk-KNU5COPB.js";
@@ -59,6 +59,36 @@ var DENSE_GEOMETRY_SEEK_OPTIONS = {
59
59
  waitForVideoFrames: false,
60
60
  skipWebglDraws: true
61
61
  };
62
+ function launchKey(html, noListen, options) {
63
+ const viewport = resolveCompositionViewportFromHtml(html);
64
+ const gpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
65
+ return JSON.stringify([viewport, compositionRequiresWebGpu(html), noListen, gpuMode]);
66
+ }
67
+ function prelaunchCompositionBrowser(html, browserGpuMode) {
68
+ const abort = new AbortController();
69
+ const options = { browserGpuMode, signal: abort.signal };
70
+ const key = launchKey(html, false, options);
71
+ const launched = launchCompositionBrowser(html, false, options).catch(() => void 0);
72
+ let taken = false;
73
+ const discard = async () => {
74
+ if (taken) return;
75
+ taken = true;
76
+ abort.abort();
77
+ await (await launched)?.browser.close().catch(() => void 0);
78
+ };
79
+ return {
80
+ launched,
81
+ take: async (wanted) => {
82
+ if (wanted !== key) return discard().then(() => void 0);
83
+ taken = true;
84
+ const result = await launched;
85
+ if (result?.browser.connected) return result;
86
+ await result?.browser.close().catch(() => void 0);
87
+ return void 0;
88
+ },
89
+ discard
90
+ };
91
+ }
62
92
  function resolveCliChromeGpuMode(envMode = process.env.PRODUCER_BROWSER_GPU_MODE) {
63
93
  return resolveLocalBrowserGpuMode(void 0, envMode);
64
94
  }
@@ -145,12 +175,36 @@ async function installPageFunctionGuard(page) {
145
175
  }
146
176
  async function openSettledCompositionPage(html, url, options) {
147
177
  const viewport = resolveCompositionViewportFromHtml(html);
148
- const { ensureBrowser, findSystemBrowser } = await import("./manager-HEUPD2YB.js");
178
+ const requiresWebGpu = compositionRequiresWebGpu(html);
179
+ const answer = (await import("./staticProjectServer-COEAKTGH.js")).inProcessAnswer(url);
180
+ const noListen = answer !== void 0;
181
+ let chromeBrowser;
182
+ try {
183
+ const launched = await options.prelaunched?.take(launchKey(html, noListen, options)) ?? await launchCompositionBrowser(html, noListen, options);
184
+ chromeBrowser = launched.browser;
185
+ const softwareWebGpu = launched.softwareWebGpu;
186
+ options.onBrowser?.(chromeBrowser);
187
+ options.onBrowserReady?.();
188
+ const page = await chromeBrowser.newPage();
189
+ await installPageFunctionGuard(page);
190
+ await page.setViewport(viewport);
191
+ if (answer) await answerPageInProcess(page, url, answer);
192
+ await options.beforeNavigate?.(page);
193
+ await gotoWhenSent(page, url, pageNavigationTimeoutMs(options.navigationTimeoutMs));
194
+ await assertWebGpuAdapterAvailable(page, requiresWebGpu, softwareWebGpu);
195
+ const renderReadyTimedOut = !await waitForCompositionSettle(page, options);
196
+ return { browser: chromeBrowser, page, renderReadyTimedOut };
197
+ } catch (err) {
198
+ return rethrowAfterBrowserCleanup(chromeBrowser, err);
199
+ }
200
+ }
201
+ async function launchCompositionBrowser(html, noListen, options) {
202
+ const viewport = resolveCompositionViewportFromHtml(html);
203
+ const { ensureBrowser, findSystemBrowser } = await import("./manager-V2QCCPOJ.js");
149
204
  const browser = await ensureBrowser({ signal: options.signal });
150
205
  const puppeteer = await import("puppeteer-core");
151
- const { buildChromeArgs } = await import("./src-JGPFLYBL.js");
206
+ const { buildChromeArgs } = await import("./src-XRFOS5LP.js");
152
207
  const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
153
- const answer = (await import("./staticProjectServer-DG4VZO4G.js")).inProcessAnswer(url);
154
208
  const requiresWebGpu = compositionRequiresWebGpu(html);
155
209
  let softwareWebGpu = false;
156
210
  const launch = async (executablePath) => {
@@ -158,7 +212,7 @@ async function openSettledCompositionPage(html, url, options) {
158
212
  const resolvedGpuMode = await resolveManagedGpuMode(requestedGpuMode, executablePath, {
159
213
  signal: options.signal,
160
214
  onBrowser: options.onBrowser,
161
- noListen: answer !== void 0
215
+ noListen
162
216
  });
163
217
  options.signal?.throwIfAborted();
164
218
  const webGpu = resolveLocalWebGpu(resolvedGpuMode, requiresWebGpu);
@@ -171,51 +225,37 @@ async function openSettledCompositionPage(html, url, options) {
171
225
  headless: true,
172
226
  signal: options.signal,
173
227
  executablePath,
174
- ...answer ? oneProcessOverPipe({ args }) : { args }
228
+ ...noListen ? oneProcessOverPipe({ args }) : { args }
175
229
  });
176
230
  };
177
231
  let chromeBrowser;
178
232
  try {
179
- try {
180
- chromeBrowser = await launch(browser.executablePath);
181
- } catch (launchError) {
182
- const message = normalizeErrorMessage(launchError);
183
- const remediation = windowsChromeCrashRemediation(message);
184
- if (!remediation) throw launchError;
185
- const systemBrowser = browser.source === "cache" || browser.source === "download" ? findSystemBrowser() : void 0;
186
- if (!systemBrowser || systemBrowser.executablePath === browser.executablePath) {
187
- throw new Error(`${message}
233
+ chromeBrowser = await launch(browser.executablePath);
234
+ } catch (launchError) {
235
+ const message = normalizeErrorMessage(launchError);
236
+ const remediation = windowsChromeCrashRemediation(message);
237
+ if (!remediation) throw launchError;
238
+ const systemBrowser = browser.source === "cache" || browser.source === "download" ? findSystemBrowser() : void 0;
239
+ if (!systemBrowser || systemBrowser.executablePath === browser.executablePath) {
240
+ throw new Error(`${message}
188
241
 
189
242
  ${remediation}`, { cause: launchError });
190
- }
191
- console.warn(
192
- `[hyperframes] Managed chrome-headless-shell crashed at launch; retrying once with system Chrome at ${systemBrowser.executablePath}.`
193
- );
194
- try {
195
- chromeBrowser = await launch(systemBrowser.executablePath);
196
- } catch (fallbackError) {
197
- throw new Error(
198
- `System Chrome fallback also failed: ${normalizeErrorMessage(fallbackError)}
243
+ }
244
+ console.warn(
245
+ `[hyperframes] Managed chrome-headless-shell crashed at launch; retrying once with system Chrome at ${systemBrowser.executablePath}.`
246
+ );
247
+ try {
248
+ chromeBrowser = await launch(systemBrowser.executablePath);
249
+ } catch (fallbackError) {
250
+ throw new Error(
251
+ `System Chrome fallback also failed: ${normalizeErrorMessage(fallbackError)}
199
252
 
200
253
  ${remediation}`,
201
- { cause: fallbackError }
202
- );
203
- }
254
+ { cause: fallbackError }
255
+ );
204
256
  }
205
- options.onBrowser?.(chromeBrowser);
206
- options.onBrowserReady?.();
207
- const page = await chromeBrowser.newPage();
208
- await installPageFunctionGuard(page);
209
- await page.setViewport(viewport);
210
- if (answer) await answerPageInProcess(page, url, answer);
211
- await options.beforeNavigate?.(page);
212
- await gotoWhenSent(page, url, pageNavigationTimeoutMs(options.navigationTimeoutMs));
213
- await assertWebGpuAdapterAvailable(page, requiresWebGpu, softwareWebGpu);
214
- const renderReadyTimedOut = !await waitForCompositionSettle(page, options);
215
- return { browser: chromeBrowser, page, renderReadyTimedOut };
216
- } catch (err) {
217
- return rethrowAfterBrowserCleanup(chromeBrowser, err);
218
257
  }
258
+ return { browser: chromeBrowser, softwareWebGpu };
219
259
  }
220
260
  function seekInPage(t, fallbackToBridgeAndTimelines, exactTime, skipDraws) {
221
261
  const getProperty = (target, key) => {
@@ -502,6 +542,7 @@ export {
502
542
  AUDIT_SEEK_OPTIONS,
503
543
  SCREENSHOT_SEEK_OPTIONS,
504
544
  DENSE_GEOMETRY_SEEK_OPTIONS,
545
+ prelaunchCompositionBrowser,
505
546
  resolveCliChromeGpuMode,
506
547
  waitForRuntimeReady,
507
548
  installPageFunctionGuard,
@@ -513,6 +554,7 @@ export {
513
554
  DEFAULT_ZOOM_PADDING_PX,
514
555
  DEFAULT_ZOOM_SCALE,
515
556
  parseZoomTarget,
557
+ clampCropRegion,
516
558
  padCropRegion,
517
559
  resolveCropRegion,
518
560
  captureRegionCrop,