hyperframes 0.8.193 → 0.8.195

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 (191) hide show
  1. package/dist/{add-JC6DKZKC.js → add-NL6XABRV.js} +12 -12
  2. package/dist/{animatedGifPrep-S6KXJGEL.js → animatedGifPrep-JD4BBM2L.js} +8 -7
  3. package/dist/api.js +18 -17
  4. package/dist/{asset-XITFIFE6.js → asset-LRRHLG4L.js} +2 -2
  5. package/dist/{assetCataloger-K5FNKG35.js → assetCataloger-D7KGO346.js} +8 -7
  6. package/dist/{audio-364UHTY4.js → audio-34CZM4HF.js} +14 -13
  7. package/dist/{auth-5JEESRE6.js → auth-FL5ZMOXB.js} +1 -1
  8. package/dist/{autoUpdate-RVVYEHAA.js → autoUpdate-FZTJFLIH.js} +2 -2
  9. package/dist/{backgroundChecks-DCBIYWIQ.js → backgroundChecks-6ZKDCQET.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-ZZ4QMBAA.js → batchRender-KDZ4F4QT.js} +4 -4
  12. package/dist/{beats-YEL65M6G.js → beats-7PK677VR.js} +9 -9
  13. package/dist/{benchmark-RBTRPA76.js → benchmark-LO36QH5D.js} +9 -9
  14. package/dist/{browser-BVAYXT4R.js → browser-3F7NDHU2.js} +5 -5
  15. package/dist/{bundleWithLocalizedFonts-JLB2OYMT.js → bundleWithLocalizedFonts-JL5J52L6.js} +2 -2
  16. package/dist/{capture-GBXTMYLZ.js → capture-DOP3ONNZ.js} +13 -12
  17. package/dist/{capture-NIFX6IRS.js → capture-JOSZZYUW.js} +2 -2
  18. package/dist/{captureCompositionFrame-ATNNKUL5.js → captureCompositionFrame-SWZ4GEJP.js} +13 -12
  19. package/dist/{catalog-AGIF5SM5.js → catalog-EZLHZMLM.js} +12 -12
  20. package/dist/{catch-up-SZ3ULDTI.js → catch-up-6B7VY43I.js} +4 -4
  21. package/dist/{check-YLQS3TF4.js → check-QGELCBBF.js} +38 -37
  22. package/dist/{checkBrowser-QH4FMCBO.js → checkBrowser-A5C2AB4L.js} +33 -32
  23. package/dist/{chunk-L5YLA54L.js → chunk-2G6JZJAV.js} +2 -2
  24. package/dist/{chunk-M3KZBDPB.js → chunk-2HSRLKZR.js} +3 -3
  25. package/dist/{chunk-FBVUAH7N.js → chunk-2OYYNKJ4.js} +1 -1
  26. package/dist/{chunk-2VXY3PEF.js → chunk-2TU4OKIR.js} +280 -114
  27. package/dist/{chunk-4PPWAQYV.js → chunk-3OAFRLD3.js} +7 -7
  28. package/dist/{chunk-ZT45TCY3.js → chunk-3PYIQLPL.js} +1 -1
  29. package/dist/{chunk-DYNHVCBF.js → chunk-4R2NWLQL.js} +2 -2
  30. package/dist/{chunk-SOY2FPOR.js → chunk-636WBDXB.js} +5 -5
  31. package/dist/{chunk-LFUVTS6V.js → chunk-66Q27H72.js} +2 -2
  32. package/dist/{chunk-MFUNDJEV.js → chunk-6ORTRIDW.js} +3 -3
  33. package/dist/{chunk-D625D4TV.js → chunk-7DFIVUOW.js} +6 -6
  34. package/dist/{chunk-ZH7J2ZUL.js → chunk-7G2LQM3J.js} +14 -14
  35. package/dist/{chunk-6LWUPIKD.js → chunk-7PXVXRVX.js} +10 -10
  36. package/dist/{chunk-XQPA4W3M.js → chunk-7Y5RVQQ7.js} +4 -4
  37. package/dist/{chunk-2MCXIY4B.js → chunk-B7RJV74O.js} +28 -11
  38. package/dist/{chunk-BJAS2JLW.js → chunk-B7Y2DGU6.js} +7 -3
  39. package/dist/{chunk-YS4JUGNI.js → chunk-BBXZPDEA.js} +2 -2
  40. package/dist/{chunk-RWGASWT7.js → chunk-BL4U6U52.js} +1 -0
  41. package/dist/{chunk-VW63MHQU.js → chunk-CCZMCX3F.js} +1 -1
  42. package/dist/{chunk-BY6OQ6XP.js → chunk-CZNSLFYD.js} +3 -1
  43. package/dist/{chunk-X5CECNCK.js → chunk-D6XDOYMB.js} +8 -3
  44. package/dist/{chunk-F5LLORBP.js → chunk-E527A6RS.js} +2 -2
  45. package/dist/{chunk-7HTH5PFK.js → chunk-E74JMKSK.js} +58 -8
  46. package/dist/{chunk-TZEKVLPV.js → chunk-ELQ2QQC5.js} +1 -1
  47. package/dist/{chunk-4LXZJIVY.js → chunk-ES7KSCSO.js} +10 -10
  48. package/dist/{chunk-KU3UFQN7.js → chunk-F2ASNL2K.js} +1 -1
  49. package/dist/{chunk-VLLFORE2.js → chunk-F4T7XYMF.js} +1 -1
  50. package/dist/{chunk-E3P3LJG6.js → chunk-FLREUEHW.js} +28 -11
  51. package/dist/{chunk-TY3LDJA3.js → chunk-FWDDLW2H.js} +2 -2
  52. package/dist/{chunk-7YSFE4SZ.js → chunk-GJG4CTXD.js} +2 -2
  53. package/dist/{chunk-2NERNYCJ.js → chunk-GKMRLES4.js} +3 -3
  54. package/dist/{chunk-4TKJWWPL.js → chunk-GOOE33GV.js} +1 -1
  55. package/dist/{chunk-DIKAPMMF.js → chunk-GQVTTWZF.js} +144 -39
  56. package/dist/{chunk-L4JB7LI4.js → chunk-HJINEUHY.js} +84 -61
  57. package/dist/{chunk-7QNIXBQD.js → chunk-HT33OHQL.js} +3 -2
  58. package/dist/{chunk-AR3DQYRR.js → chunk-HTLCE7M2.js} +18 -18
  59. package/dist/{chunk-ZTKFRXJB.js → chunk-IA7HZ4CM.js} +4 -4
  60. package/dist/{chunk-WFS6S65A.js → chunk-IZR7U27Z.js} +12 -12
  61. package/dist/chunk-K4MJX7SR.js +17 -0
  62. package/dist/{chunk-ZZPBXRYQ.js → chunk-KJ6ZQL34.js} +1 -1
  63. package/dist/{chunk-VPC4XIVI.js → chunk-KVLGJJTE.js} +5 -5
  64. package/dist/{chunk-CGTZOY53.js → chunk-L2EBYFU7.js} +1 -1
  65. package/dist/{chunk-UNATIAOT.js → chunk-L4BFXWHC.js} +144 -67
  66. package/dist/{chunk-IW5G323T.js → chunk-LTGTN2TH.js} +8 -9
  67. package/dist/{chunk-EFXMETRK.js → chunk-NKNRVPNV.js} +2 -2
  68. package/dist/{chunk-2SFDWMSW.js → chunk-NOHH25WS.js} +2 -2
  69. package/dist/{chunk-7YKJF5JV.js → chunk-OB4GJZTY.js} +1 -1
  70. package/dist/{chunk-C4Y3ZREE.js → chunk-OJNNKHAZ.js} +75 -22
  71. package/dist/{chunk-OFYW4J7Y.js → chunk-ORZMO6NY.js} +3 -3
  72. package/dist/{chunk-BP4EMEGH.js → chunk-P5X5URNQ.js} +2 -2
  73. package/dist/{chunk-6XUJVEY2.js → chunk-RAACYYWX.js} +1 -1
  74. package/dist/{chunk-QFPBRZJD.js → chunk-ROEW726S.js} +1 -1
  75. package/dist/{chunk-WIVOXGEP.js → chunk-RZUEXJRC.js} +2 -2
  76. package/dist/{chunk-V7ZA2BNW.js → chunk-SC6NILKD.js} +1 -1
  77. package/dist/{chunk-2LSCYS2H.js → chunk-SMROKE63.js} +2 -2
  78. package/dist/{chunk-REUL2KH2.js → chunk-ST35C4K6.js} +1 -1
  79. package/dist/{chunk-OFV3WSOE.js → chunk-TE6VGYHQ.js} +1 -1
  80. package/dist/{chunk-3W4B6G7Y.js → chunk-VNWX5GBF.js} +19 -15
  81. package/dist/{chunk-QKX7ITER.js → chunk-W4SSWOOD.js} +2 -2
  82. package/dist/{chunk-6DLCOQR4.js → chunk-W7GMPEY3.js} +142 -44
  83. package/dist/{chunk-UIC7B5KW.js → chunk-WUL5LPI2.js} +12 -2
  84. package/dist/{chunk-5J6TWLFG.js → chunk-XC7SJ2UR.js} +3 -3
  85. package/dist/{chunk-E77ALFLW.js → chunk-XOUWCZHD.js} +1 -1
  86. package/dist/{chunk-GR5DQKDR.js → chunk-YFTO5YD7.js} +5 -5
  87. package/dist/{chunk-UB7BIDBS.js → chunk-YSXCPSJ4.js} +3 -3
  88. package/dist/{chunk-GKHMSSGY.js → chunk-YUFECVHG.js} +1 -1
  89. package/dist/{chunk-LMNZLZMJ.js → chunk-ZAVUASNT.js} +1 -1
  90. package/dist/{chunk-RTLPWOO6.js → chunk-ZL6ZCLY6.js} +1 -1
  91. package/dist/{chunk-DSQ72G5I.js → chunk-ZOJHEN3C.js} +1 -1
  92. package/dist/chunk-ZQRD62QZ.js +3901 -0
  93. package/dist/{clean-5HGESK5A.js → clean-PI4JLT6O.js} +21 -20
  94. package/dist/cli.js +53 -53
  95. package/dist/{cloud-746PHS32.js → cloud-SQRY723M.js} +4 -4
  96. package/dist/{cloudrun-DO7WFLSM.js → cloudrun-VMPROR43.js} +6 -6
  97. package/dist/commands/layout-audit.browser.js +1 -1
  98. package/dist/{compare-66YPRNG2.js → compare-EHX4APTP.js} +31 -30
  99. package/dist/{compiler-R4UYDWXO.js → compiler-FZCJGGBF.js} +5 -5
  100. package/dist/{component-EQ3H6RFP.js → component-I75ZKJYH.js} +3 -3
  101. package/dist/{compositions-ZZ7P5HT2.js → compositions-YNYYUEQD.js} +12 -11
  102. package/dist/{contactSheet-SZBJDOMT.js → contactSheet-5APX35L3.js} +1 -1
  103. package/dist/{delete-Z5MSLJSR.js → delete-7BVTBKOC.js} +2 -2
  104. package/dist/{deploy-RGSAC2K5.js → deploy-TUEEJP3W.js} +1 -1
  105. package/dist/{deterministicFonts-RO2TCMLZ.js → deterministicFonts-RADD3BSX.js} +2 -2
  106. package/dist/{dist-QQ26RUDV.js → dist-VRGIE57H.js} +1 -1
  107. package/dist/{dist-RKK4YLAD.js → dist-VVROHSP4.js} +3 -3
  108. package/dist/{doctor-W4ZZDRTU.js → doctor-53DSQFW4.js} +14 -13
  109. package/dist/{events-BSSL4A4W.js → events-AD3U6E7I.js} +2 -2
  110. package/dist/{events-UACT7PX3.js → events-M6FIUDNQ.js} +3 -3
  111. package/dist/{feedback-47ILDLQG.js → feedback-7SQ7KKAR.js} +8 -8
  112. package/dist/{ffmpeg-IEHSUNUT.js → ffmpeg-3HSSPXS4.js} +9 -8
  113. package/dist/{figma-PLFIIYRU.js → figma-B5XII2BO.js} +3 -3
  114. package/dist/fontLocalizeCli.js +11 -10
  115. package/dist/{get-PDWGJYNL.js → get-RZKNBIRD.js} +2 -2
  116. package/dist/{gpuPolicy-6UBXO6ME.js → gpuPolicy-77LOK3K6.js} +8 -7
  117. package/dist/{grade-compare-5VWLQGM7.js → grade-compare-K3YB3FQA.js} +37 -35
  118. package/dist/{gsapParser-UP3PNPC2.js → gsapParser-IEUSLYDJ.js} +11 -11
  119. package/dist/{gsapParserAcorn-OOTY2MVN.js → gsapParserAcorn-LZJKCFQI.js} +1 -1
  120. package/dist/{help-DS3KMWYO.js → help-UM6INVL5.js} +1 -1
  121. package/dist/{history-OC326NVZ.js → history-EWKPACWR.js} +7 -7
  122. package/dist/hyperframe.manifest.json +1 -1
  123. package/dist/hyperframe.runtime.iife.js +72 -66
  124. package/dist/hyperframes-player.global.js +3 -3
  125. package/dist/hyperframes-slideshow.global.js +1 -1
  126. package/dist/{info-AUIFV6MX.js → info-KY3MFTCY.js} +8 -8
  127. package/dist/{init-MRTWWDFW.js → init-LURF2PL5.js} +30 -29
  128. package/dist/{inspect-55NOAXI2.js → inspect-46CZJM6P.js} +31 -30
  129. package/dist/{installer-YSFFGBBV.js → installer-NGFX6INI.js} +5 -5
  130. package/dist/{keyframes-OO2BX2IB.js → keyframes-YCSK6POI.js} +59 -33
  131. package/dist/{lambda-CXXY6QT3.js → lambda-5KXULI2S.js} +8 -8
  132. package/dist/{layout-57GJXKDK.js → layout-WOLH24YE.js} +31 -30
  133. package/dist/{lint-J4FK3Z6G.js → lint-P3P2LX6S.js} +7 -7
  134. package/dist/{lintProject-52SLJPRC.js → lintProject-ESAJKFOX.js} +1 -1
  135. package/dist/{list-VDQUJ76B.js → list-RUYQWMF2.js} +2 -2
  136. package/dist/{login-TJSEALWW.js → login-THBBWZAY.js} +4 -4
  137. package/dist/{manager-MZIJY73J.js → manager-COSJVRAE.js} +2 -2
  138. package/dist/{manager-4PLYEEWP.js → manager-V34BMSAG.js} +10 -9
  139. package/dist/{media-treatment-GXP4PMJH.js → media-treatment-IMBLTYGV.js} +15 -14
  140. package/dist/{models-HQQQKEEP.js → models-3NW7HU72.js} +14 -13
  141. package/dist/{motionShot-2BT5D7DC.js → motionShot-VTTYZ6KW.js} +17 -16
  142. package/dist/{normalize-audio-SOLFMHNP.js → normalize-audio-ME3X7HBX.js} +6 -6
  143. package/dist/{open-KHEUODFQ.js → open-GLGSJISM.js} +12 -12
  144. package/dist/{parakeetRunner-BHU5NCAX.js → parakeetRunner-T3UGRZWC.js} +15 -14
  145. package/dist/{pipeline-WFV5HDTD.js → pipeline-IJXVEQCU.js} +10 -9
  146. package/dist/{play-GB34CANJ.js → play-HFFGGAZH.js} +21 -21
  147. package/dist/{preflight-REF3VSJ7.js → preflight-QV6V3UO2.js} +11 -10
  148. package/dist/{present-SIUTA7TD.js → present-TH34CTYY.js} +17 -17
  149. package/dist/{preview-T2GE7Z4A.js → preview-R67EQGQP.js} +100 -65
  150. package/dist/{producer-23KVQZAB.js → producer-HWPFETDU.js} +1 -1
  151. package/dist/{projectConfig-DBSNBPNP.js → projectConfig-AO4V3RHS.js} +7 -7
  152. package/dist/{publication-IXPUKYWJ.js → publication-BDQ3PXYG.js} +3 -3
  153. package/dist/{publish-3BA5VHXJ.js → publish-PXYTWSXN.js} +10 -10
  154. package/dist/{remove-background-RMSCJVVQ.js → remove-background-BVDJPT3Z.js} +11 -10
  155. package/dist/{render-Y6CTQ3YW.js → render-45YHWV6W.js} +6 -6
  156. package/dist/{render-6RNE2MLU.js → render-5MZY4TAB.js} +17 -16
  157. package/dist/{render-XGOZMMWX.js → render-5RQUYPIV.js} +35 -34
  158. package/dist/{render-batch-VUR6N6EY.js → render-batch-ZUTUBTHX.js} +6 -6
  159. package/dist/renderSetupWorker.js +42 -4
  160. package/dist/{resolver-GJCUH57W.js → resolver-FN2M3XVM.js} +5 -5
  161. package/dist/{sherpa-VVAKRCPL.js → sherpa-6KWNPRWB.js} +14 -13
  162. package/dist/skills/media-use/scripts/lib/duck.mjs +18 -2
  163. package/dist/skills/media-use/scripts/lib/duck.test.mjs +79 -0
  164. package/dist/{skills-ZHBURVQG.js → skills-PWQCM2BT.js} +5 -5
  165. package/dist/{skillsUpdateCheck-VMDAL2O2.js → skillsUpdateCheck-EHV2G3JX.js} +3 -3
  166. package/dist/{snapshot-KEOG56SL.js → snapshot-7Q24NFEI.js} +39 -38
  167. package/dist/{src-TZLGFRRX.js → src-J43SXEHJ.js} +10 -9
  168. package/dist/{src-BH5NICGQ.js → src-OS2FRVZV.js} +9 -6
  169. package/dist/{staticProjectServer-BKXL5CXB.js → staticProjectServer-YJWOQJF4.js} +18 -18
  170. package/dist/studio/assets/{hyperframes-player-BMcUdmDb.js → hyperframes-player-DnIPEARk.js} +1 -1
  171. package/dist/studio/assets/{index-Ci6GuloR.js → index-CVppCm_X.js} +1 -1
  172. package/dist/studio/assets/{index-Ca-mgTnS.js → index-Dkt4c1MV.js} +161 -161
  173. package/dist/studio/index.html +1 -1
  174. package/dist/{studio-api-A5U6QAMC.js → studio-api-CZBZ4D65.js} +11 -11
  175. package/dist/{studioServer-5EC5CP4W.js → studioServer-U6EX5DSB.js} +94 -53
  176. package/dist/{telemetry-BCKJXDSW.js → telemetry-VP4UWWO3.js} +3 -3
  177. package/dist/{timeline-AZWAXTAY.js → timeline-LMSUKEG6.js} +20 -19
  178. package/dist/{tokens-X7NC3V7C.js → tokens-FQ5AI5H4.js} +2 -2
  179. package/dist/{transcribe-7NCY7QZ2.js → transcribe-DNQFPZ2S.js} +13 -12
  180. package/dist/{transcribe-SH26H755.js → transcribe-VAMXV7QS.js} +19 -18
  181. package/dist/{updateCheck-Y7FUWQM4.js → updateCheck-TOU7VLZK.js} +2 -2
  182. package/dist/{upgrade-ZHGEVL65.js → upgrade-CJRMRR2S.js} +2 -2
  183. package/dist/{urlDownloader-FPILIT7M.js → urlDownloader-GETNWEIT.js} +7 -6
  184. package/dist/{validate-KQOZR4F6.js → validate-PRI2UTQS.js} +25 -24
  185. package/dist/vendor/npm/gsap@3.15.0/dist/CustomEase.min.js +11 -0
  186. package/dist/vendor/npm/gsap@3.15.0/dist/MotionPathPlugin.min.js +11 -0
  187. package/dist/vendor/npm/gsap@3.15.0/dist/gsap.min.js +11 -0
  188. package/dist/{video-N2QAETFB.js → video-VOCQA6AG.js} +8 -7
  189. package/dist/warmCheck.js +38 -37
  190. package/package.json +1 -1
  191. package/dist/chunk-USWPZXEA.js +0 -3897
@@ -26,7 +26,7 @@ import {
26
26
  renderFrameIdForRenderId,
27
27
  resolveAuthoredTimingWindow,
28
28
  toFps
29
- } from "./chunk-7HTH5PFK.js";
29
+ } from "./chunk-E74JMKSK.js";
30
30
  import {
31
31
  AUDIO_GROUP_RENDER_ID_ATTR,
32
32
  COLOR_GRADING_SOURCE_HIDDEN_ATTR,
@@ -63,7 +63,7 @@ import {
63
63
  sourceTimeAt,
64
64
  timeAtSourceTime,
65
65
  volumeSegmentSampleCount
66
- } from "./chunk-USWPZXEA.js";
66
+ } from "./chunk-ZQRD62QZ.js";
67
67
  import {
68
68
  clampAudioGain,
69
69
  clipGain,
@@ -73,6 +73,9 @@ import {
73
73
  redactTelemetryString,
74
74
  redactUrlQueryStrings
75
75
  } from "./chunk-634HSJ3J.js";
76
+ import {
77
+ withHyperframesBrowserMarker
78
+ } from "./chunk-K4MJX7SR.js";
76
79
  import {
77
80
  browserPathFromEnv,
78
81
  chromeMajorCeiling,
@@ -83,7 +86,7 @@ import {
83
86
  } from "./chunk-4UMPIPCQ.js";
84
87
  import {
85
88
  resolveReferencedStart
86
- } from "./chunk-2VXY3PEF.js";
89
+ } from "./chunk-2TU4OKIR.js";
87
90
  import {
88
91
  FFMPEG_PATH_ENV,
89
92
  FFPROBE_PATH_ENV,
@@ -765,7 +768,7 @@ var BrowserLeasePool = class _BrowserLeasePool {
765
768
  for (const entry of entries) this.requestClose(entry, false);
766
769
  const settle = Promise.all(entries.map((entry) => entry.closePromise));
767
770
  const bound = new Promise(
768
- (resolve) => setTimeout(resolve, _BrowserLeasePool.DRAIN_FORCE_CLOSE_MS).unref()
771
+ (resolve2) => setTimeout(resolve2, _BrowserLeasePool.DRAIN_FORCE_CLOSE_MS).unref()
769
772
  );
770
773
  this.drainPromise = Promise.race([settle, bound]).then(() => {
771
774
  for (const entry of entries) if (this.entries.has(entry)) this.requestClose(entry, true);
@@ -864,11 +867,11 @@ var BrowserLeasePool = class _BrowserLeasePool {
864
867
  await Promise.race([
865
868
  this.options.close(result.browser).catch(() => {
866
869
  }),
867
- new Promise((resolve) => {
870
+ new Promise((resolve2) => {
868
871
  entry.forceClose = () => {
869
872
  entry.forceClose = void 0;
870
873
  this.options.forceClose(result.browser);
871
- resolve();
874
+ resolve2();
872
875
  };
873
876
  })
874
877
  ]);
@@ -918,7 +921,7 @@ async function probeHardwareWebGlInfo(ppt, options) {
918
921
  const launchOptions = {
919
922
  ...sigintLaunchOptions(),
920
923
  headless: true,
921
- args: options.args,
924
+ args: withHyperframesBrowserMarker(options.args),
922
925
  defaultViewport: { width: 64, height: 64 },
923
926
  executablePath: options.executablePath,
924
927
  env: options.env,
@@ -1284,6 +1287,22 @@ function envWithoutWaylandDisplay() {
1284
1287
  const { WAYLAND_DISPLAY: _wslg, ...env } = process.env;
1285
1288
  return env;
1286
1289
  }
1290
+ var VULKAN_VARS_THAT_OVERRIDE_SWIFTSHADER = [
1291
+ "VK_DRIVER_FILES",
1292
+ "VK_LOADER_DRIVERS_SELECT",
1293
+ "VK_LOADER_DRIVERS_DISABLE"
1294
+ ];
1295
+ function launchEnv(fingerprint) {
1296
+ if (fingerprint.withoutWaylandDisplay) return envWithoutWaylandDisplay();
1297
+ const swiftShader = fingerprint.args.some(
1298
+ (arg) => arg === "--use-angle=swiftshader" || arg === "--use-vulkan=swiftshader"
1299
+ );
1300
+ const overriding = VULKAN_VARS_THAT_OVERRIDE_SWIFTSHADER.filter((name) => name in process.env);
1301
+ if (!swiftShader || overriding.length === 0) return void 0;
1302
+ const env = { ...process.env };
1303
+ for (const name of overriding) delete env[name];
1304
+ return env;
1305
+ }
1287
1306
  async function captureWithoutWaylandDisplay(resolvedMode) {
1288
1307
  if (resolvedMode !== "hardware") return false;
1289
1308
  return (await _autoBrowserGpuModeCache)?.withoutWaylandDisplay === true;
@@ -1359,14 +1378,14 @@ async function acquireBrowser(chromeArgs, config) {
1359
1378
  }
1360
1379
  async function launchBrowser(fingerprint) {
1361
1380
  const ppt = await getPuppeteer();
1362
- const env = fingerprint.withoutWaylandDisplay ? envWithoutWaylandDisplay() : void 0;
1381
+ const env = launchEnv(fingerprint);
1363
1382
  let captureMode = fingerprint.requestedCaptureMode;
1364
1383
  let browser;
1365
1384
  try {
1366
1385
  browser = await ppt.launch({
1367
1386
  ...sigintLaunchOptions(),
1368
1387
  headless: true,
1369
- args: [...fingerprint.args],
1388
+ args: withHyperframesBrowserMarker(fingerprint.args),
1370
1389
  defaultViewport: null,
1371
1390
  executablePath: fingerprint.executablePath,
1372
1391
  env,
@@ -1396,7 +1415,7 @@ async function launchBrowser(fingerprint) {
1396
1415
  browser = await ppt.launch({
1397
1416
  ...sigintLaunchOptions(),
1398
1417
  headless: true,
1399
- args: stripBeginFrameFlags([...fingerprint.args]),
1418
+ args: withHyperframesBrowserMarker(stripBeginFrameFlags([...fingerprint.args])),
1400
1419
  defaultViewport: null,
1401
1420
  executablePath: fingerprint.executablePath,
1402
1421
  env,
@@ -1584,7 +1603,7 @@ async function assertWebGpuAdapterAvailable(page, requiresWebGpu, softwareWebGpu
1584
1603
  try {
1585
1604
  const adapter = await Promise.race([
1586
1605
  navigator.gpu.requestAdapter(),
1587
- new Promise((resolve) => setTimeout(() => resolve(null), timeoutMs))
1606
+ new Promise((resolve2) => setTimeout(() => resolve2(null), timeoutMs))
1588
1607
  ]);
1589
1608
  return !!adapter && (acceptFallback || !adapter.info.isFallbackAdapter);
1590
1609
  } catch {
@@ -2587,8 +2606,8 @@ async function describePageMotionBlur(page) {
2587
2606
  }
2588
2607
  async function describePageMotionBlurAtEnd(page, timeoutMs = 1500) {
2589
2608
  let timer;
2590
- const stuck = new Promise((resolve) => {
2591
- timer = setTimeout(() => resolve(null), timeoutMs);
2609
+ const stuck = new Promise((resolve2) => {
2610
+ timer = setTimeout(() => resolve2(null), timeoutMs);
2592
2611
  });
2593
2612
  try {
2594
2613
  const r = await Promise.race([readPageMotionBlur(page), stuck]);
@@ -2707,8 +2726,8 @@ async function probeBeginFrameLiveness(page, timeoutMs, frameTimeTicks, interval
2707
2726
  try {
2708
2727
  return await Promise.race([
2709
2728
  client.send("HeadlessExperimental.beginFrame", params).then(() => true).catch(() => false),
2710
- new Promise((resolve) => {
2711
- timer = setTimeout(() => resolve(false), timeoutMs);
2729
+ new Promise((resolve2) => {
2730
+ timer = setTimeout(() => resolve2(false), timeoutMs);
2712
2731
  })
2713
2732
  ]);
2714
2733
  } finally {
@@ -3507,7 +3526,7 @@ async function produceDrawElementFrame(page, width, height, quality = 80, syncTo
3507
3526
  );
3508
3527
  }
3509
3528
  const frameId = ++state.nextId;
3510
- const encodeResult = new Promise((resolve, reject) => {
3529
+ const encodeResult = new Promise((resolve2, reject) => {
3511
3530
  const timer = setTimeout(() => {
3512
3531
  if (state.pending.delete(frameId)) {
3513
3532
  reject(new Error(`drawElement worker encode timed out (frame ${frameId})`));
@@ -3516,7 +3535,7 @@ async function produceDrawElementFrame(page, width, height, quality = 80, syncTo
3516
3535
  state.pending.set(frameId, {
3517
3536
  resolve: (b) => {
3518
3537
  clearTimeout(timer);
3519
- resolve(b);
3538
+ resolve2(b);
3520
3539
  },
3521
3540
  reject: (e) => {
3522
3541
  clearTimeout(timer);
@@ -3672,7 +3691,7 @@ async function produceDrawElementFrameBatch(page, times, width, height, quality
3672
3691
  for (let i = 0; i < times.length; i++) {
3673
3692
  const frameId = ++state.nextId;
3674
3693
  fids.push(frameId);
3675
- const p = new Promise((resolve, reject) => {
3694
+ const p = new Promise((resolve2, reject) => {
3676
3695
  const timer = setTimeout(() => {
3677
3696
  if (state.pending.delete(frameId)) {
3678
3697
  reject(new Error(`drawElement worker encode timed out (frame ${frameId})`));
@@ -3681,7 +3700,7 @@ async function produceDrawElementFrameBatch(page, times, width, height, quality
3681
3700
  state.pending.set(frameId, {
3682
3701
  resolve: (b) => {
3683
3702
  clearTimeout(timer);
3684
- resolve(b);
3703
+ resolve2(b);
3685
3704
  },
3686
3705
  reject: (e) => {
3687
3706
  clearTimeout(timer);
@@ -3956,9 +3975,9 @@ async function initThreeDProjectionInPage() {
3956
3975
  const toDataUrl = async (url) => {
3957
3976
  const resp = await fetch(url);
3958
3977
  const blob = await resp.blob();
3959
- return new Promise((resolve, reject) => {
3978
+ return new Promise((resolve2, reject) => {
3960
3979
  const r = new FileReader();
3961
- r.onload = () => resolve(String(r.result));
3980
+ r.onload = () => resolve2(String(r.result));
3962
3981
  r.onerror = () => reject(new Error(`FileReader failed for ${url}`));
3963
3982
  r.readAsDataURL(blob);
3964
3983
  });
@@ -5150,7 +5169,7 @@ function formatHttpErrorDiagnostic(input) {
5150
5169
  return `[Browser:HTTP${input.status}] ${input.method} ${sanitizeDiagnosticUrl(input.url)} resource=${input.resourceType}${statusText}`;
5151
5170
  }
5152
5171
  var LOCKED_WARMUP_TICKS = 60;
5153
- var realSleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
5172
+ var realSleep = (ms) => new Promise((resolve2) => setTimeout(resolve2, ms));
5154
5173
  function warmupFrameTimeTicks(state, intervalMs) {
5155
5174
  return state.ticks * intervalMs;
5156
5175
  }
@@ -5238,10 +5257,10 @@ async function waitForCloseWithTimeout(promise) {
5238
5257
  () => void 0,
5239
5258
  () => void 0
5240
5259
  ),
5241
- new Promise((resolve) => {
5260
+ new Promise((resolve2) => {
5242
5261
  timer = setTimeout(() => {
5243
5262
  timedOut = true;
5244
- resolve();
5263
+ resolve2();
5245
5264
  }, CAPTURE_SESSION_CLOSE_TIMEOUT_MS);
5246
5265
  })
5247
5266
  ]);
@@ -5730,7 +5749,7 @@ async function pollHfReady(page, timeoutMs, intervalMs = 100) {
5730
5749
  }
5731
5750
  }
5732
5751
  }
5733
- await new Promise((resolve) => setTimeout(resolve, intervalMs));
5752
+ await new Promise((resolve2) => setTimeout(resolve2, intervalMs));
5734
5753
  }
5735
5754
  const diag = await evaluateHfDiagnostic(page);
5736
5755
  if (diag.hasSeek && diag.duration === 0) {
@@ -5860,7 +5879,7 @@ async function pollSubCompositionTimelines(page, timeoutMs, {
5860
5879
  );
5861
5880
  break;
5862
5881
  }
5863
- await new Promise((resolve) => setTimeout(resolve, intervalMs));
5882
+ await new Promise((resolve2) => setTimeout(resolve2, intervalMs));
5864
5883
  }
5865
5884
  const pendingIds = ready && knownUnregisteredIds.length === 0 ? [] : await listUnregisteredTimelineIds(page);
5866
5885
  if (ready && pendingIds.length > 0 && (getScriptLoadFailures?.() ?? []).length > 0) {
@@ -5904,7 +5923,7 @@ async function pollVideosReady(page, skipIds, timeoutMs, intervalMs = 100) {
5904
5923
  const deadline = Date.now() + timeoutMs;
5905
5924
  while (Date.now() < deadline) {
5906
5925
  if (await check()) return true;
5907
- await new Promise((resolve) => setTimeout(resolve, intervalMs));
5926
+ await new Promise((resolve2) => setTimeout(resolve2, intervalMs));
5908
5927
  }
5909
5928
  return check();
5910
5929
  }
@@ -5927,7 +5946,7 @@ async function pollImagesReady(page, timeoutMs, intervalMs = 100) {
5927
5946
  const deadline = Date.now() + timeoutMs;
5928
5947
  while (Date.now() < deadline) {
5929
5948
  if (await check()) return true;
5930
- await new Promise((resolve) => setTimeout(resolve, intervalMs));
5949
+ await new Promise((resolve2) => setTimeout(resolve2, intervalMs));
5931
5950
  }
5932
5951
  return check();
5933
5952
  }
@@ -6108,7 +6127,7 @@ async function waitForOptionalTailwindReady(page, timeoutMs) {
6108
6127
  page.evaluate(
6109
6128
  `Promise.resolve(window.__tailwindReady).then(() => true, () => false)`
6110
6129
  ),
6111
- new Promise((resolve) => setTimeout(() => resolve(false), timeoutMs))
6130
+ new Promise((resolve2) => setTimeout(() => resolve2(false), timeoutMs))
6112
6131
  ]);
6113
6132
  if (!ready) {
6114
6133
  throw new Error(
@@ -7851,7 +7870,7 @@ import {
7851
7870
  writeFileSync as writeFileSync2,
7852
7871
  writeSync
7853
7872
  } from "fs";
7854
- import { join as join6, dirname as dirname2, extname } from "path";
7873
+ import { join as join6, dirname as dirname2, extname, resolve } from "path";
7855
7874
 
7856
7875
  // ../engine/src/utils/gpuEncoder.ts
7857
7876
  import { spawn } from "child_process";
@@ -7867,8 +7886,8 @@ var ManagedChildProcess = class {
7867
7886
  this.options = options;
7868
7887
  this.now = options.now ?? Date.now;
7869
7888
  this.startedAtMs = this.now();
7870
- this.outcomePromise = new Promise((resolve) => {
7871
- this.resolveOutcome = resolve;
7889
+ this.outcomePromise = new Promise((resolve2) => {
7890
+ this.resolveOutcome = resolve2;
7872
7891
  });
7873
7892
  child.stderr?.on("data", this.onStderr);
7874
7893
  child.once("spawn", this.onSpawn);
@@ -8685,13 +8704,13 @@ function readProbeJson(filePath, signal) {
8685
8704
  }
8686
8705
  var runtimeFfprobeMajor;
8687
8706
  function ffprobeMajor() {
8688
- runtimeFfprobeMajor ??= new Promise((resolve) => {
8707
+ runtimeFfprobeMajor ??= new Promise((resolve2) => {
8689
8708
  let out = "";
8690
8709
  const binary = getFfprobeBinary();
8691
8710
  const proc = spawn3(binary, ["-version"], { stdio: ["ignore", "pipe", "ignore"] });
8692
8711
  proc.stdout.on("data", (chunk) => out += String(chunk));
8693
- proc.on("error", () => resolve(void 0));
8694
- proc.on("close", () => resolve(Number(/version n?(\d+)/.exec(out)?.[1]) || void 0));
8712
+ proc.on("error", () => resolve2(void 0));
8713
+ proc.on("close", () => resolve2(Number(/version n?(\d+)/.exec(out)?.[1]) || void 0));
8695
8714
  });
8696
8715
  return runtimeFfprobeMajor;
8697
8716
  }
@@ -9692,7 +9711,7 @@ var concatListSeq = 0;
9692
9711
  function writeConcatList(dir, inputPaths) {
9693
9712
  concatListSeq += 1;
9694
9713
  const listPath = join6(dir, `concat-list-${process.pid}-${concatListSeq}.txt`);
9695
- const body = inputPaths.map((p) => `file '${p.replace(/'/g, "'\\''")}'`).join("\n");
9714
+ const body = inputPaths.map((p) => `file '${resolve(p).replace(/'/g, "'\\''")}'`).join("\n");
9696
9715
  writeFileSync2(listPath, body, "utf-8");
9697
9716
  return listPath;
9698
9717
  }
@@ -10053,12 +10072,12 @@ function createFrameReorderBuffer(startFrame, endFrame) {
10053
10072
  let cursor = startFrame;
10054
10073
  let aborted = null;
10055
10074
  const pending = /* @__PURE__ */ new Map();
10056
- const enqueueAt = (frame, resolve, reject) => {
10075
+ const enqueueAt = (frame, resolve2, reject) => {
10057
10076
  const list = pending.get(frame);
10058
10077
  if (list === void 0) {
10059
- pending.set(frame, [{ resolve, reject }]);
10078
+ pending.set(frame, [{ resolve: resolve2, reject }]);
10060
10079
  } else {
10061
- list.push({ resolve, reject });
10080
+ list.push({ resolve: resolve2, reject });
10062
10081
  }
10063
10082
  };
10064
10083
  const flushAt = (frame) => {
@@ -10067,31 +10086,31 @@ function createFrameReorderBuffer(startFrame, endFrame) {
10067
10086
  pending.delete(frame);
10068
10087
  for (const waiter of list) waiter.resolve();
10069
10088
  };
10070
- const waitForFrame = (frame) => new Promise((resolve, reject) => {
10089
+ const waitForFrame = (frame) => new Promise((resolve2, reject) => {
10071
10090
  if (aborted) {
10072
10091
  reject(aborted);
10073
10092
  return;
10074
10093
  }
10075
10094
  if (frame === cursor) {
10076
- resolve();
10095
+ resolve2();
10077
10096
  return;
10078
10097
  }
10079
- enqueueAt(frame, resolve, reject);
10098
+ enqueueAt(frame, resolve2, reject);
10080
10099
  });
10081
10100
  const advanceTo = (frame) => {
10082
10101
  cursor = frame;
10083
10102
  flushAt(frame);
10084
10103
  };
10085
- const waitForAllDone = () => new Promise((resolve, reject) => {
10104
+ const waitForAllDone = () => new Promise((resolve2, reject) => {
10086
10105
  if (aborted) {
10087
10106
  reject(aborted);
10088
10107
  return;
10089
10108
  }
10090
10109
  if (cursor >= endFrame) {
10091
- resolve();
10110
+ resolve2();
10092
10111
  return;
10093
10112
  }
10094
- enqueueAt(endFrame, resolve, reject);
10113
+ enqueueAt(endFrame, resolve2, reject);
10095
10114
  });
10096
10115
  const abort = (err) => {
10097
10116
  if (aborted) return;
@@ -10386,8 +10405,8 @@ async function spawnStreamingEncoder(outputPath, options, signal, config) {
10386
10405
  }
10387
10406
  const stdin = ffmpeg.stdin;
10388
10407
  if (stdin && !stdin.destroyed) {
10389
- await new Promise((resolve) => {
10390
- stdin.end(() => resolve());
10408
+ await new Promise((resolve2) => {
10409
+ stdin.end(() => resolve2());
10391
10410
  });
10392
10411
  }
10393
10412
  const outcome = await exitPromise;
@@ -10525,14 +10544,14 @@ import { cpus } from "os";
10525
10544
  function createConcurrencyLimit(limit) {
10526
10545
  let active = 0;
10527
10546
  const waiting = [];
10528
- const waitForSlot = (signal) => new Promise((resolve) => {
10547
+ const waitForSlot = (signal) => new Promise((resolve2) => {
10529
10548
  const granted = () => {
10530
10549
  signal?.removeEventListener("abort", aborted);
10531
- resolve(true);
10550
+ resolve2(true);
10532
10551
  };
10533
10552
  const aborted = () => {
10534
10553
  waiting.splice(waiting.indexOf(granted), 1);
10535
- resolve(false);
10554
+ resolve2(false);
10536
10555
  };
10537
10556
  waiting.push(granted);
10538
10557
  signal?.addEventListener("abort", aborted, { once: true });
@@ -10835,10 +10854,10 @@ async function waitForCacheLock(signal) {
10835
10854
  if (signal?.aborted) {
10836
10855
  throw new UrlDownloadError("cancelled", false, "Download cancelled");
10837
10856
  }
10838
- await new Promise((resolve, reject) => {
10857
+ await new Promise((resolve2, reject) => {
10839
10858
  const timeout = setTimeout(() => {
10840
10859
  signal?.removeEventListener("abort", onAbort);
10841
- resolve();
10860
+ resolve2();
10842
10861
  }, CACHE_LOCK_POLL_MS);
10843
10862
  const onAbort = () => {
10844
10863
  clearTimeout(timeout);
@@ -11690,7 +11709,7 @@ async function renameWithRetryAsync(from, to, options = {}) {
11690
11709
  return;
11691
11710
  } catch (error) {
11692
11711
  if (attempt >= BACKOFF_MS.length || !isRetryable(error, platform)) throw error;
11693
- await new Promise((resolve) => setTimeout(resolve, BACKOFF_MS[attempt]));
11712
+ await new Promise((resolve2) => setTimeout(resolve2, BACKOFF_MS[attempt]));
11694
11713
  }
11695
11714
  }
11696
11715
  }
@@ -14410,9 +14429,9 @@ var settsDurationSupport = /* @__PURE__ */ new Map();
14410
14429
  function supportsSettsDuration(binary = getFfmpegBinary()) {
14411
14430
  let supported = settsDurationSupport.get(binary);
14412
14431
  if (!supported) {
14413
- supported = new Promise((resolve) => {
14432
+ supported = new Promise((resolve2) => {
14414
14433
  execFile3(binary, ["-hide_banner", "-h", "bsf=setts"], (error, stdout) => {
14415
- resolve(error !== null || stdout.includes("duration"));
14434
+ resolve2(error !== null || stdout.includes("duration"));
14416
14435
  });
14417
14436
  });
14418
14437
  settsDurationSupport.set(binary, supported);
@@ -15720,6 +15739,9 @@ function volumeLaneKeyframes(automation, trackStart, duration, gain, gainAhead =
15720
15739
  function parseMasterFxChain(html) {
15721
15740
  return readMasterFxChain(parseHTML(unwrapTemplate(html)).document);
15722
15741
  }
15742
+ function videoAudioId(videoId) {
15743
+ return `${videoId}-audio`;
15744
+ }
15723
15745
  function parseAudioElements(html) {
15724
15746
  const elements = [];
15725
15747
  const { document: document2 } = parseHTML(unwrapTemplate(html));
@@ -15782,7 +15804,7 @@ function parseAudioElements(html) {
15782
15804
  const src = resolveMediaElementSrc(el);
15783
15805
  if (!id || !src || isHidden(el) || memberGroupHidden(el)) continue;
15784
15806
  if (isKnownInactiveTimelineWindow(el, resolveStart(el))) continue;
15785
- elements.push(build(el, `${id}-audio`, src, "video", true));
15807
+ elements.push(build(el, videoAudioId(id), src, "video", true));
15786
15808
  }
15787
15809
  return elements;
15788
15810
  }
@@ -16999,7 +17021,7 @@ function shouldVerifyWorkerGpu(workerId, config) {
16999
17021
  }
17000
17022
  function withParallelWorkerDeadline(promise, diagnostic, timeoutMs, signal) {
17001
17023
  if (signal?.aborted) return Promise.reject(new Error("Parallel worker cancelled"));
17002
- return new Promise((resolve, reject) => {
17024
+ return new Promise((resolve2, reject) => {
17003
17025
  let timer;
17004
17026
  const cleanup = () => {
17005
17027
  if (timer) clearTimeout(timer);
@@ -17024,7 +17046,7 @@ function withParallelWorkerDeadline(promise, diagnostic, timeoutMs, signal) {
17024
17046
  promise.then(
17025
17047
  (value) => {
17026
17048
  cleanup();
17027
- resolve(value);
17049
+ resolve2(value);
17028
17050
  },
17029
17051
  (error) => {
17030
17052
  cleanup();
@@ -17540,11 +17562,11 @@ function createFileServer(options) {
17540
17562
  headers: { "Content-Type": contentType }
17541
17563
  });
17542
17564
  });
17543
- return new Promise((resolve) => {
17565
+ return new Promise((resolve2) => {
17544
17566
  const server = serve({ fetch: app.fetch, port }, (info) => {
17545
17567
  const actualPort = info.port;
17546
17568
  const url = `http://localhost:${actualPort}`;
17547
- resolve({
17569
+ resolve2({
17548
17570
  url,
17549
17571
  port: actualPort,
17550
17572
  close: () => server.close()
@@ -17847,7 +17869,7 @@ async function launchHdrBrowser(width, height) {
17847
17869
  ...sigintLaunchOptions(),
17848
17870
  headless: false,
17849
17871
  executablePath: chromePath,
17850
- args: buildHdrChromeArgs(width, height)
17872
+ args: withHyperframesBrowserMarker(buildHdrChromeArgs(width, height))
17851
17873
  });
17852
17874
  const page = await browser.newPage();
17853
17875
  await page.setViewport({ width, height });
@@ -18073,6 +18095,7 @@ export {
18073
18095
  audioFailureDiagnostics,
18074
18096
  MIXED_AUDIO_FILENAME,
18075
18097
  parseMasterFxChain,
18098
+ videoAudioId,
18076
18099
  parseAudioElements,
18077
18100
  processCompositionAudio,
18078
18101
  psnrDb,
@@ -27,7 +27,7 @@ import {
27
27
  } from "./chunk-GMECXFAN.js";
28
28
  import {
29
29
  ITEM_TYPE_DIRS
30
- } from "./chunk-7HTH5PFK.js";
30
+ } from "./chunk-E74JMKSK.js";
31
31
  import {
32
32
  realProjectRoot
33
33
  } from "./chunk-OFQWTKPW.js";
@@ -2879,7 +2879,8 @@ async function fetchItemManifest(name, type, baseUrl = DEFAULT_REGISTRY_URL, opt
2879
2879
  const url = registryPathUrl(baseUrl, dir, name, "registry-item.json");
2880
2880
  const cacheFile = cachePath(baseUrl, `${dir}__${name}`);
2881
2881
  const cached = readCacheEntry(cacheFile, validate);
2882
- if (cached && (isFresh(cached) || options?.cacheOnly)) return cached.data;
2882
+ if (cached && (options?.cacheOnly || !options?.skipCache && isFresh(cached)))
2883
+ return cached.data;
2883
2884
  if (options?.cacheOnly) throw new Error("not fetched after an earlier registry timeout");
2884
2885
  try {
2885
2886
  const item = await fetchJson(url, validate);
@@ -11,20 +11,20 @@ import {
11
11
  } from "./chunk-57GN6KWT.js";
12
12
  import {
13
13
  captureArtifactRevision
14
- } from "./chunk-F5LLORBP.js";
14
+ } from "./chunk-E527A6RS.js";
15
15
  import {
16
16
  loadProducer
17
- } from "./chunk-CGTZOY53.js";
17
+ } from "./chunk-L2EBYFU7.js";
18
18
  import {
19
19
  trackLintRun
20
- } from "./chunk-OFYW4J7Y.js";
20
+ } from "./chunk-ORZMO6NY.js";
21
21
  import {
22
22
  beginCheckSnapshots,
23
23
  checkSnapshotDirectory,
24
24
  finishCheckSnapshots,
25
25
  preResolveHostileMediaProxies,
26
26
  rectToBbox
27
- } from "./chunk-WFS6S65A.js";
27
+ } from "./chunk-IZR7U27Z.js";
28
28
  import {
29
29
  CONTENT_OVERLAP_HELD_ERROR_MS,
30
30
  DEFAULT_MAX_STATIC_SEC,
@@ -47,27 +47,27 @@ import {
47
47
  mergeSampleTimes,
48
48
  parseAt,
49
49
  readMotionSpec
50
- } from "./chunk-6LWUPIKD.js";
50
+ } from "./chunk-7PXVXRVX.js";
51
51
  import {
52
52
  resolveProject
53
- } from "./chunk-LMNZLZMJ.js";
53
+ } from "./chunk-ZAVUASNT.js";
54
54
  import {
55
55
  recordArtifacts
56
- } from "./chunk-C4Y3ZREE.js";
56
+ } from "./chunk-OJNNKHAZ.js";
57
57
  import {
58
58
  BrowserCleanupError,
59
59
  closeManagedBrowser
60
- } from "./chunk-UIC7B5KW.js";
60
+ } from "./chunk-WUL5LPI2.js";
61
61
  import {
62
62
  withRemainingBudget
63
63
  } from "./chunk-EHSBBBR2.js";
64
64
  import {
65
65
  resolveLocalBrowserGpuMode
66
- } from "./chunk-YS4JUGNI.js";
66
+ } from "./chunk-BBXZPDEA.js";
67
67
  import {
68
68
  trackCheckReport,
69
69
  trackCommandFailure
70
- } from "./chunk-RTLPWOO6.js";
70
+ } from "./chunk-ZL6ZCLY6.js";
71
71
  import {
72
72
  swallowedFlagUsageError
73
73
  } from "./chunk-HTIUNMTP.js";
@@ -87,17 +87,17 @@ import {
87
87
  import {
88
88
  extractMediaMetadata,
89
89
  findHdrAutoPromotion
90
- } from "./chunk-L4JB7LI4.js";
90
+ } from "./chunk-HJINEUHY.js";
91
91
  import {
92
92
  lintProject,
93
93
  shouldBlockRender
94
- } from "./chunk-2VXY3PEF.js";
94
+ } from "./chunk-2TU4OKIR.js";
95
95
  import {
96
96
  resolveProjectRelativeSrc
97
97
  } from "./chunk-6BNTGNGD.js";
98
98
  import {
99
99
  withMeta
100
- } from "./chunk-TZEKVLPV.js";
100
+ } from "./chunk-ELQ2QQC5.js";
101
101
  import {
102
102
  normalizeErrorMessage
103
103
  } from "./chunk-T2EUWCJE.js";
@@ -620,7 +620,7 @@ function round(value) {
620
620
 
621
621
  // src/utils/hdrPromotion.ts
622
622
  async function bundleProjectHtml(projectDir) {
623
- const { bundleToSingleHtml } = await import("./compiler-R4UYDWXO.js");
623
+ const { bundleToSingleHtml } = await import("./compiler-FZCJGGBF.js");
624
624
  return bundleToSingleHtml(projectDir);
625
625
  }
626
626
  async function collectBundledRenderMedia(html) {
@@ -2191,7 +2191,7 @@ function resolveMotionSpec(projectDir) {
2191
2191
  };
2192
2192
  }
2193
2193
  async function runBrowserCheck(project, options, motion, deadline, prelaunched) {
2194
- const module = await import("./checkBrowser-QH4FMCBO.js");
2194
+ const module = await import("./checkBrowser-A5C2AB4L.js");
2195
2195
  return module.runBrowserCheck(project, options, motion, runAuditGrid, deadline, prelaunched);
2196
2196
  }
2197
2197
  var adoptedBrowser;
@@ -2205,7 +2205,7 @@ async function prelaunchBrowser(project, options) {
2205
2205
  if (adopted) return adopted;
2206
2206
  const html = await readFile(project.indexPath, "utf8").catch(() => void 0);
2207
2207
  if (html === void 0) return void 0;
2208
- const { prelaunchCompositionBrowser } = await import("./captureCompositionFrame-ATNNKUL5.js");
2208
+ const { prelaunchCompositionBrowser } = await import("./captureCompositionFrame-SWZ4GEJP.js");
2209
2209
  return prelaunchCompositionBrowser(html, options.browserGpuMode);
2210
2210
  }
2211
2211
  async function writeSnapshot(projectDir, index, time, pngBase64) {
@@ -2217,7 +2217,7 @@ async function writeSnapshot(projectDir, index, time, pngBase64) {
2217
2217
  return relative(projectDir, path);
2218
2218
  }
2219
2219
  async function captureFindingCrops(project, options, requests, deadline) {
2220
- const module = await import("./checkBrowser-QH4FMCBO.js");
2220
+ const module = await import("./checkBrowser-A5C2AB4L.js");
2221
2221
  return module.captureFindingCrops(project, options, requests, deadline);
2222
2222
  }
2223
2223
  var DEFAULT_DEPENDENCIES2 = {
@@ -2256,7 +2256,7 @@ var DEFAULT_COMMAND_DEPENDENCIES = {
2256
2256
  }
2257
2257
  },
2258
2258
  async prepareMedia(project, options) {
2259
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-JLB2OYMT.js");
2259
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-JL5J52L6.js");
2260
2260
  const html = await bundleWithLocalizedFonts(project.dir);
2261
2261
  return (await preResolveHostileMediaProxies(project.dir, html, options.autoProxy)).files;
2262
2262
  },
@@ -15,16 +15,16 @@ import {
15
15
  findFFmpeg,
16
16
  findFFprobe,
17
17
  getFFmpegInstallHint
18
- } from "./chunk-DYNHVCBF.js";
18
+ } from "./chunk-4R2NWLQL.js";
19
19
  import {
20
20
  DEFAULT_VP9_CPU_USED,
21
21
  SDR_RGB_TO_BT709_FILTER,
22
22
  SDR_RGB_TO_TAGGED_BT709_FILTER,
23
23
  renderProvenanceArgs
24
- } from "./chunk-L4JB7LI4.js";
24
+ } from "./chunk-HJINEUHY.js";
25
25
  import {
26
26
  runCancellableProcess
27
- } from "./chunk-RWGASWT7.js";
27
+ } from "./chunk-BL4U6U52.js";
28
28
 
29
29
  // src/background-removal/pipeline.ts
30
30
  import { spawn } from "child_process";
@@ -317,7 +317,7 @@ async function decoderTransposesDimensions(inputPath) {
317
317
  }
318
318
  async function probeMedia(inputPath) {
319
319
  const isImage = inferInputKind(inputPath) === "image";
320
- const engine = await import("./src-BH5NICGQ.js");
320
+ const engine = await import("./src-OS2FRVZV.js");
321
321
  const meta = await engine.extractMediaMetadata(inputPath);
322
322
  if (isImage) {
323
323
  return { width: meta.width, height: meta.height, fps: 0, frameCount: 1 };