hyperframes 0.8.174 → 0.8.175

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 (161) hide show
  1. package/dist/{add-XANMFNIP.js → add-S4AOKSNH.js} +11 -11
  2. package/dist/{animatedGifPrep-OUQ4M2T3.js → animatedGifPrep-QRDM2NMV.js} +5 -5
  3. package/dist/api.js +14 -14
  4. package/dist/{asset-SVONSQ67.js → asset-DQ45BUBL.js} +2 -2
  5. package/dist/{assetCataloger-AG77T6SF.js → assetCataloger-NPDCMAYE.js} +5 -5
  6. package/dist/{audio-DMQOTXKL.js → audio-OOAXEELO.js} +11 -11
  7. package/dist/{auth-ED7SPBS6.js → auth-33IY64LT.js} +1 -1
  8. package/dist/{autoUpdate-4QQYZOVT.js → autoUpdate-KGLJUGNZ.js} +2 -2
  9. package/dist/{backgroundChecks-2VT46P5S.js → backgroundChecks-DQPHYLVN.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-KIYAPCTG.js → batchRender-KXXTVNPB.js} +3 -3
  12. package/dist/{beats-OE7M5BEE.js → beats-WDYSCACS.js} +4 -4
  13. package/dist/{benchmark-2ZQP2RNF.js → benchmark-WOAULMYW.js} +8 -8
  14. package/dist/{browser-CSSJ3VWW.js → browser-2HX46R74.js} +3 -3
  15. package/dist/{bundleWithLocalizedFonts-ZUC4MLSO.js → bundleWithLocalizedFonts-32N7TVM6.js} +2 -2
  16. package/dist/{capture-APNSW4ZT.js → capture-5ASPHTMF.js} +8 -8
  17. package/dist/{capture-3NXAHID3.js → capture-7LR5UVM2.js} +2 -2
  18. package/dist/{catalog-CFDBIVSC.js → catalog-LVW3RT4U.js} +11 -11
  19. package/dist/{catch-up-OUK522JT.js → catch-up-W6Z73GXL.js} +4 -4
  20. package/dist/{check-PUDEOXGP.js → check-C23ZWACZ.js} +50 -44
  21. package/dist/{checkBrowser-PMRJSTFJ.js → checkBrowser-WS6FSLBJ.js} +176 -80
  22. package/dist/{chunk-CI7ZHFSV.js → chunk-3Q4Y33FT.js} +6 -6
  23. package/dist/{chunk-RLBLLBLL.js → chunk-3SWMUZ4Y.js} +2 -2
  24. package/dist/{chunk-DRR3UMIY.js → chunk-3X3CELOP.js} +1 -1
  25. package/dist/{chunk-RZ2FMZ5U.js → chunk-42T7OP4O.js} +1 -1
  26. package/dist/{chunk-JL76Y45C.js → chunk-4XM6VXLN.js} +7 -7
  27. package/dist/{chunk-HIYAJFRH.js → chunk-7E4YFL4U.js} +1 -1
  28. package/dist/{chunk-4WQUBVDO.js → chunk-7GUAZGSW.js} +3 -3
  29. package/dist/{chunk-XRQBHOBT.js → chunk-B4VT6YU2.js} +2 -2
  30. package/dist/{chunk-RNKNDYBN.js → chunk-BHMWVRNS.js} +1 -1
  31. package/dist/{chunk-TI3HKGQC.js → chunk-CEYY3SOX.js} +3 -3
  32. package/dist/{chunk-GXWV4FNV.js → chunk-DQY6WTF7.js} +1 -1
  33. package/dist/{chunk-ALCCEHX2.js → chunk-DZMWNCHM.js} +2 -2
  34. package/dist/chunk-EEXE43II.js +3805 -0
  35. package/dist/{chunk-QUK2IZKI.js → chunk-EKDTCSCL.js} +1 -1
  36. package/dist/{chunk-AR2SEGPZ.js → chunk-FRNKM4MG.js} +1 -1
  37. package/dist/{chunk-QRO2UBWS.js → chunk-G7I3WZK4.js} +1 -1
  38. package/dist/{chunk-W4AECR7V.js → chunk-IUOPF3DL.js} +1 -1
  39. package/dist/{chunk-PLYTTPVE.js → chunk-J53AJK3Q.js} +2 -2
  40. package/dist/{chunk-UQLXFITA.js → chunk-JNL3RMDG.js} +1 -1
  41. package/dist/{chunk-55LJK3H2.js → chunk-JT7PV3GL.js} +3 -3
  42. package/dist/{chunk-SH43VDEF.js → chunk-KHR4IJAW.js} +175 -119
  43. package/dist/{chunk-ONXTLGJB.js → chunk-KZHYAGC3.js} +3 -3
  44. package/dist/{chunk-LUKY7253.js → chunk-KZQGUXG5.js} +10 -10
  45. package/dist/{chunk-MXNPYP5F.js → chunk-LY2GLSOS.js} +1 -1
  46. package/dist/{chunk-UDJHYQSZ.js → chunk-LZT3NUTE.js} +1 -1
  47. package/dist/{chunk-3MDO2Q4F.js → chunk-MJZQ44NV.js} +1 -1
  48. package/dist/{chunk-SI76MFBF.js → chunk-NELZN7SV.js} +2 -2
  49. package/dist/{chunk-HB2UP4V7.js → chunk-NSWIF4VH.js} +1 -1
  50. package/dist/{chunk-S5D4Q74P.js → chunk-NWEER3QY.js} +2 -2
  51. package/dist/{chunk-4PX47Z65.js → chunk-NZRAS3FB.js} +1 -1
  52. package/dist/{chunk-2CDBTQKS.js → chunk-NZZYJOMJ.js} +41 -18
  53. package/dist/{chunk-EJZJ5AY7.js → chunk-O6FWDZYJ.js} +1 -1
  54. package/dist/{chunk-X3BE2HX4.js → chunk-OUMYTLPP.js} +3 -3
  55. package/dist/{chunk-H2BPHBDY.js → chunk-OYEDHVSI.js} +1 -1
  56. package/dist/{chunk-D2YN4FNH.js → chunk-PBKOURSI.js} +1 -1
  57. package/dist/{chunk-UKAOWORD.js → chunk-QMQZXNGU.js} +5 -5
  58. package/dist/{chunk-APMA7XXB.js → chunk-QWCXGTOH.js} +1 -1
  59. package/dist/{chunk-SEHRMJTO.js → chunk-RAZVWSU5.js} +3 -3
  60. package/dist/{chunk-XVIFWEPR.js → chunk-RERXOG54.js} +2 -2
  61. package/dist/{chunk-4VTUDCHM.js → chunk-S354WIFQ.js} +1 -1
  62. package/dist/{chunk-QJCVK7CI.js → chunk-TNDNFZOK.js} +2 -2
  63. package/dist/{chunk-RYR3LTZR.js → chunk-UWUKJDTA.js} +2 -2
  64. package/dist/{chunk-2XSAYE7U.js → chunk-V7T7WA2K.js} +2 -2
  65. package/dist/{chunk-RMKL5FVH.js → chunk-VEQ7DKPG.js} +1 -1
  66. package/dist/{chunk-B23GBPCW.js → chunk-W5USVP6Z.js} +1 -1
  67. package/dist/{chunk-6HF2WFPV.js → chunk-WDFLYDKN.js} +4 -4
  68. package/dist/{chunk-W3YVQ6VI.js → chunk-XDK2FUAC.js} +9 -9
  69. package/dist/{chunk-EAR5LFOH.js → chunk-XRRDVRCY.js} +1 -1
  70. package/dist/{chunk-CSMKMVGG.js → chunk-YCSCDQDS.js} +5 -5
  71. package/dist/{chunk-JKPI7VLI.js → chunk-YMU42UU2.js} +1 -1
  72. package/dist/{chunk-G4UUEQDT.js → chunk-Z2R7CFWH.js} +1 -1
  73. package/dist/{chunk-SEXAKOK3.js → chunk-ZD7QKZSS.js} +2 -2
  74. package/dist/{chunk-HZZYJV7K.js → chunk-ZDOWJ3NS.js} +10 -10
  75. package/dist/{chunk-HZZZ6C6Z.js → chunk-ZGSLXWH2.js} +1 -1
  76. package/dist/{chunk-LR72ON5B.js → chunk-ZXHEOTYW.js} +1 -1
  77. package/dist/{clean-6SVCU47L.js → clean-KBNXV6DP.js} +13 -13
  78. package/dist/cli.js +53 -53
  79. package/dist/{cloud-TIISRMZV.js → cloud-BWWKDRR6.js} +4 -4
  80. package/dist/{cloudrun-4TMBWELQ.js → cloudrun-P35BPQCO.js} +4 -4
  81. package/dist/commands/contrast-audit.browser.js +18 -50
  82. package/dist/{compare-YV2XTKYX.js → compare-UWJRKF5K.js} +23 -23
  83. package/dist/{compiler-O5R3ZZDV.js → compiler-5TFPJPQQ.js} +2 -2
  84. package/dist/{component-7LWSMRKZ.js → component-SWOGSIO2.js} +3 -3
  85. package/dist/{compositions-5VTSC4M3.js → compositions-PIPVEXE3.js} +9 -9
  86. package/dist/{delete-AV2SKLZW.js → delete-OXIDK7N3.js} +3 -3
  87. package/dist/{deterministicFonts-RWGQPEZU.js → deterministicFonts-L7YEEFGI.js} +1 -1
  88. package/dist/{dist-4FY5EEH5.js → dist-U2HCECNB.js} +2 -2
  89. package/dist/{doctor-XOCYSEAZ.js → doctor-KLQLFPCF.js} +9 -9
  90. package/dist/{events-MAZUZI43.js → events-EGCYD45B.js} +3 -3
  91. package/dist/{events-6QPRKX45.js → events-EVTTGISX.js} +2 -2
  92. package/dist/{feedback-MGRILBMP.js → feedback-G4WZLOVD.js} +6 -6
  93. package/dist/{ffmpeg-YCULCUB2.js → ffmpeg-QIYSAPHO.js} +5 -5
  94. package/dist/{figma-UMBACTCG.js → figma-Q4CKDE7M.js} +3 -3
  95. package/dist/fontLocalizeCli.js +8 -8
  96. package/dist/{get-LWEOLWYN.js → get-NPRQH64W.js} +3 -3
  97. package/dist/{gpuPolicy-MCIQK5Z7.js → gpuPolicy-L72BQRFR.js} +5 -5
  98. package/dist/{grade-compare-MZQOTX3F.js → grade-compare-H4NJEL4P.js} +24 -24
  99. package/dist/{help-THPG2NRP.js → help-2S3XXDEA.js} +1 -1
  100. package/dist/{history-2IQYTDU5.js → history-X4CGCVEQ.js} +6 -6
  101. package/dist/hyperframe-runtime.js +59 -59
  102. package/dist/hyperframe.manifest.json +1 -1
  103. package/dist/hyperframe.runtime.iife.js +59 -59
  104. package/dist/hyperframes-player.global.js +3 -3
  105. package/dist/{info-CXMADV6K.js → info-YYUISGL7.js} +7 -7
  106. package/dist/{init-Y5GU454D.js → init-BAAI4ZMR.js} +25 -25
  107. package/dist/{inspect-S7JDKEMJ.js → inspect-LXJ3XJUZ.js} +24 -24
  108. package/dist/{installer-AY23RPEZ.js → installer-NY5E5HCO.js} +4 -4
  109. package/dist/{keyframes-FKYT6QAJ.js → keyframes-NXXJSQWG.js} +6 -6
  110. package/dist/{lambda-7WMZGRH5.js → lambda-PG3JKNWS.js} +5 -5
  111. package/dist/{layout-LL4GOS6G.js → layout-CBFO36IE.js} +24 -24
  112. package/dist/{lint-2M7FY4ZT.js → lint-Y6NWQTKF.js} +6 -6
  113. package/dist/{list-SZBMUHBW.js → list-VY6KIYTX.js} +3 -3
  114. package/dist/{login-QRACITGK.js → login-426Q3H3P.js} +4 -4
  115. package/dist/{manager-W2BTPAVT.js → manager-3RRUFZ4H.js} +6 -6
  116. package/dist/{media-treatment-E4VJETTT.js → media-treatment-ZVIXMJZJ.js} +11 -11
  117. package/dist/{models-AHO3MYE7.js → models-KC2QBPVK.js} +9 -9
  118. package/dist/{motionShot-LMMYPGPT.js → motionShot-3ZSLQJ4D.js} +12 -12
  119. package/dist/{normalize-audio-RDWIWZOO.js → normalize-audio-DRU5LFYU.js} +4 -4
  120. package/dist/{open-WOKRHFDH.js → open-LPBZQ4DC.js} +11 -11
  121. package/dist/{parakeetRunner-RY2KIE63.js → parakeetRunner-IFY6NK5G.js} +11 -11
  122. package/dist/{pipeline-LEA32KLW.js → pipeline-AGMCDT5A.js} +6 -6
  123. package/dist/{play-3S46XG66.js → play-WVWXNQED.js} +16 -16
  124. package/dist/{preflight-MCOFNWFQ.js → preflight-I5JGCCKM.js} +6 -6
  125. package/dist/{present-GR7F4CTI.js → present-IPTWJUKY.js} +12 -12
  126. package/dist/{preview-TKEAF3KR.js → preview-JVLRQVD7.js} +16 -16
  127. package/dist/{producer-BJ5SUPVD.js → producer-HKGHSAON.js} +1 -1
  128. package/dist/{projectConfig-YJBYWSNK.js → projectConfig-HDALEM6S.js} +6 -6
  129. package/dist/{publication-2HXIW4LS.js → publication-NX4VC7UU.js} +2 -2
  130. package/dist/{publish-LHJFEKEI.js → publish-AZRRQUXM.js} +7 -7
  131. package/dist/{remove-background-AQUUVAPD.js → remove-background-WY7KA77M.js} +7 -7
  132. package/dist/{render-B5S7FLLS.js → render-BEDATKWV.js} +9 -9
  133. package/dist/{render-AXTGGHVZ.js → render-HGT3EGIK.js} +3 -3
  134. package/dist/{render-AOHXNGIM.js → render-P3PFNCBA.js} +25 -25
  135. package/dist/{render-batch-DMQG3QWK.js → render-batch-MUCDZ2WF.js} +3 -3
  136. package/dist/{resolver-FV54X3T2.js → resolver-FLQ42X2Y.js} +4 -4
  137. package/dist/{sherpa-RKURBTUM.js → sherpa-SQGEFX3S.js} +10 -10
  138. package/dist/{skills-YUXI4IRF.js → skills-D2FIQ2JN.js} +5 -5
  139. package/dist/{skillsUpdateCheck-HK3GDYD6.js → skillsUpdateCheck-2OLTHCBX.js} +3 -3
  140. package/dist/{snapshot-D6Q52Z4X.js → snapshot-R7U73M3N.js} +27 -27
  141. package/dist/{src-MRYINZ62.js → src-4COYCAFY.js} +4 -4
  142. package/dist/{src-DPR7JBU3.js → src-WOD4AEI3.js} +7 -7
  143. package/dist/{staticProjectServer-RT7JATD2.js → staticProjectServer-DG4VZO4G.js} +12 -12
  144. package/dist/studio/assets/{hyperframes-player-B4KfQdfl.js → hyperframes-player-BByRREAU.js} +1 -1
  145. package/dist/studio/assets/{index-Bsc8xBh9.js → index-CULLUqJo.js} +1 -1
  146. package/dist/studio/assets/{index-DGl_Zvb3.js → index-Wz-WEqHg.js} +97 -97
  147. package/dist/studio/index.html +1 -1
  148. package/dist/{studio-api-NL2RMVB5.js → studio-api-RGNBVLLL.js} +6 -6
  149. package/dist/{studioServer-VL2GUVCR.js → studioServer-LC5T4OXQ.js} +42 -42
  150. package/dist/{telemetry-5PJWDFSZ.js → telemetry-BLOE3TWY.js} +3 -3
  151. package/dist/{timeline-OH35TN25.js → timeline-QQPPMADL.js} +14 -14
  152. package/dist/{tokens-YISVK7W2.js → tokens-E3SHBFDU.js} +2 -2
  153. package/dist/{transcribe-KRPN2FWA.js → transcribe-D5N7SBDO.js} +15 -15
  154. package/dist/{transcribe-6KBSE76Q.js → transcribe-O2AQ5E2L.js} +8 -8
  155. package/dist/{updateCheck-QCZTFFSQ.js → updateCheck-ELOZ2CID.js} +2 -2
  156. package/dist/{upgrade-DRFQISI6.js → upgrade-JDFZEPZY.js} +2 -2
  157. package/dist/{urlDownloader-CJDXTKMC.js → urlDownloader-32OGC3EW.js} +4 -4
  158. package/dist/{validate-BKY3FIJC.js → validate-LQQEABER.js} +18 -18
  159. package/dist/{video-3UEJ57Q7.js → video-HXIM27TO.js} +5 -5
  160. package/package.json +1 -1
  161. package/dist/chunk-UKJECUDK.js +0 -3805
@@ -8,7 +8,7 @@ import {
8
8
  auditClipDurations,
9
9
  shouldIgnoreHttpError,
10
10
  shouldIgnoreRequestFailure
11
- } from "./chunk-HZZYJV7K.js";
11
+ } from "./chunk-ZDOWJ3NS.js";
12
12
  import {
13
13
  checkSnapshotDirectory,
14
14
  rectToBbox
@@ -16,38 +16,40 @@ import {
16
16
  import {
17
17
  ambiguousIssue,
18
18
  loadBrowserScript
19
- } from "./chunk-W3YVQ6VI.js";
19
+ } from "./chunk-XDK2FUAC.js";
20
20
  import "./chunk-X7MTZ4T2.js";
21
21
  import {
22
22
  AUDIT_SEEK_OPTIONS,
23
23
  DEFAULT_ZOOM_PADDING_PX,
24
24
  DEFAULT_ZOOM_SCALE,
25
25
  DENSE_GEOMETRY_SEEK_OPTIONS,
26
+ SCREENSHOT_SEEK_OPTIONS,
26
27
  captureRegionCrop,
27
28
  openSettledCompositionPage,
28
29
  padCropRegion,
29
30
  resolveCliChromeGpuMode,
30
31
  seekCompositionTimeline,
32
+ seekInPage,
31
33
  waitForPreferredSeekTarget
32
- } from "./chunk-SH43VDEF.js";
34
+ } from "./chunk-KHR4IJAW.js";
33
35
  import "./chunk-FH7WODJH.js";
34
36
  import {
35
37
  BrowserCleanupError,
36
38
  closeManagedBrowser
37
- } from "./chunk-EAR5LFOH.js";
38
- import "./chunk-SEHRMJTO.js";
39
+ } from "./chunk-XRRDVRCY.js";
40
+ import "./chunk-RAZVWSU5.js";
39
41
  import "./chunk-BRHI7EIA.js";
40
- import "./chunk-GXWV4FNV.js";
41
- import "./chunk-HIYAJFRH.js";
42
+ import "./chunk-DQY6WTF7.js";
43
+ import "./chunk-7E4YFL4U.js";
42
44
  import "./chunk-K2FLNJVB.js";
43
45
  import {
44
46
  serveStaticProjectHtml
45
- } from "./chunk-X3BE2HX4.js";
47
+ } from "./chunk-OUMYTLPP.js";
46
48
  import "./chunk-X7MTZ4T2.js";
47
- import "./chunk-PLYTTPVE.js";
49
+ import "./chunk-J53AJK3Q.js";
48
50
  import "./chunk-XUHOIDKG.js";
49
- import "./chunk-CI7ZHFSV.js";
50
- import "./chunk-QJCVK7CI.js";
51
+ import "./chunk-3Q4Y33FT.js";
52
+ import "./chunk-TNDNFZOK.js";
51
53
  import "./chunk-6JR2XUEE.js";
52
54
  import "./chunk-C6TPGUWD.js";
53
55
  import {
@@ -56,28 +58,28 @@ import {
56
58
  proxyVariantFor,
57
59
  resolveProxies,
58
60
  scanProjectMediaCodecMap
59
- } from "./chunk-APMA7XXB.js";
61
+ } from "./chunk-QWCXGTOH.js";
60
62
  import "./chunk-GMJ3ILLW.js";
61
63
  import "./chunk-FFDC5OWV.js";
62
- import "./chunk-2XSAYE7U.js";
64
+ import "./chunk-V7T7WA2K.js";
63
65
  import "./chunk-442JNXRM.js";
64
66
  import "./chunk-RGHQID2E.js";
65
67
  import {
66
68
  resolveAutoProxy
67
- } from "./chunk-UDJHYQSZ.js";
69
+ } from "./chunk-LZT3NUTE.js";
68
70
  import "./chunk-XT7X6QCP.js";
69
71
  import "./chunk-4YYJOFKS.js";
70
72
  import "./chunk-HVW7ABXD.js";
71
- import "./chunk-RZ2FMZ5U.js";
73
+ import "./chunk-42T7OP4O.js";
72
74
  import "./chunk-JHOCK3DG.js";
73
- import "./chunk-S5D4Q74P.js";
74
- import "./chunk-H2BPHBDY.js";
75
+ import "./chunk-NWEER3QY.js";
76
+ import "./chunk-OYEDHVSI.js";
75
77
  import "./chunk-AWDFDFI3.js";
76
78
  import "./chunk-P6LJ4Y32.js";
77
79
  import "./chunk-GMECXFAN.js";
78
80
  import "./chunk-5CS4T6C6.js";
79
- import "./chunk-D2YN4FNH.js";
80
- import "./chunk-B23GBPCW.js";
81
+ import "./chunk-PBKOURSI.js";
82
+ import "./chunk-W5USVP6Z.js";
81
83
  import "./chunk-VWG7OQKU.js";
82
84
  import "./chunk-T6AGUTZJ.js";
83
85
  import "./chunk-S3S4TGEH.js";
@@ -87,19 +89,19 @@ import "./chunk-ZTZA4UWZ.js";
87
89
  import "./chunk-KLIKCX6Q.js";
88
90
  import "./chunk-EOOEC32M.js";
89
91
  import "./chunk-7FMUTGOH.js";
90
- import "./chunk-JKPI7VLI.js";
92
+ import "./chunk-YMU42UU2.js";
91
93
  import "./chunk-K4WIOZFP.js";
92
94
  import "./chunk-XUXGIA7H.js";
93
95
  import "./chunk-WERLJGIC.js";
94
96
  import "./chunk-ISN5GRYI.js";
95
- import "./chunk-SI76MFBF.js";
97
+ import "./chunk-NELZN7SV.js";
96
98
  import "./chunk-EOVYQ3IG.js";
97
99
  import "./chunk-XT6MXC7A.js";
98
- import "./chunk-XVIFWEPR.js";
99
- import "./chunk-UQLXFITA.js";
100
+ import "./chunk-RERXOG54.js";
101
+ import "./chunk-JNL3RMDG.js";
100
102
  import "./chunk-W2LGJSEN.js";
101
- import "./chunk-RMKL5FVH.js";
102
- import "./chunk-UKJECUDK.js";
103
+ import "./chunk-VEQ7DKPG.js";
104
+ import "./chunk-EEXE43II.js";
103
105
  import "./chunk-VC76R6W2.js";
104
106
  import "./chunk-UJKQWGFF.js";
105
107
  import "./chunk-YMS5FOMC.js";
@@ -294,7 +296,7 @@ function proxyFailedDraft(message) {
294
296
  return { code: "media_proxy_failed", severity: "warning", message, time: 0 };
295
297
  }
296
298
  async function runBrowserCheck(project, options, motion, runGrid, deadline) {
297
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-ZUC4MLSO.js");
299
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-32N7TVM6.js");
298
300
  const html = await bundleWithLocalizedFonts(project.dir);
299
301
  const { findings: drafts, failedPaths } = await preResolveHostileMediaProxies(
300
302
  project.dir,
@@ -308,7 +310,16 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
308
310
  [],
309
311
  options.autoProxy
310
312
  );
311
- let currentTime = 0;
313
+ let stamp = { time: 0 };
314
+ const clock = {
315
+ now: () => stamp,
316
+ at: (time) => {
317
+ stamp = { time };
318
+ },
319
+ during: (range) => {
320
+ stamp = { time: range[0], timeRange: range };
321
+ }
322
+ };
312
323
  let failure = { kind: "none" };
313
324
  let chromeBrowser;
314
325
  try {
@@ -322,7 +333,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
322
333
  onBrowser: deadline?.ownBrowser,
323
334
  onBrowserReady: deadline?.start,
324
335
  beforeNavigate: async (page2) => {
325
- wireRuntimeListeners(page2, drafts, () => currentTime);
336
+ wireRuntimeListeners(page2, drafts, clock);
326
337
  await deadline?.preparePage(page2);
327
338
  }
328
339
  });
@@ -331,7 +342,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
331
342
  await waitForPreferredSeekTarget(page);
332
343
  const rootAnchor = await resolveRootAnchor(page);
333
344
  const launchSettleMs = Date.now() - launchSettleStart;
334
- const { analyzeClipMediaFit } = await import("./src-MRYINZ62.js");
345
+ const { analyzeClipMediaFit } = await import("./src-4COYCAFY.js");
335
346
  for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
336
347
  drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
337
348
  }
@@ -339,9 +350,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
339
350
  const message = tweenTailMessage(tail);
340
351
  drafts.push({ code: "gsap_tween_tail", severity: "warning", message, time: tail.later.end });
341
352
  }
342
- const driver = createPageDriver(page, (time) => {
343
- currentTime = time;
344
- });
353
+ const driver = createPageDriver(page, clock);
345
354
  const result = await runGrid(driver, options, motion);
346
355
  const broken = await abortedImagesStillBroken(page, drafts);
347
356
  return {
@@ -361,7 +370,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
361
370
  }
362
371
  async function captureFindingCrops(project, options, requests, deadline) {
363
372
  if (requests.length === 0) return [];
364
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-ZUC4MLSO.js");
373
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-32N7TVM6.js");
365
374
  const html = await bundleWithLocalizedFonts(project.dir);
366
375
  const server = await serveStaticProjectHtml(
367
376
  project.dir,
@@ -390,7 +399,7 @@ async function captureFindingCrops(project, options, requests, deadline) {
390
399
  const snapshotDir = checkSnapshotDirectory(project.dir);
391
400
  mkdirSync(snapshotDir, { recursive: true });
392
401
  for (const request of requests) {
393
- await seekCompositionTimeline(page, request.time, AUDIT_SEEK_OPTIONS);
402
+ await seekCompositionTimeline(page, request.time, SCREENSHOT_SEEK_OPTIONS);
394
403
  const canvas = await page.evaluate(() => ({
395
404
  width: window.innerWidth,
396
405
  height: window.innerHeight
@@ -444,7 +453,8 @@ function runtimeInfoFindingCode(text) {
444
453
  if (!text.startsWith(MEDIA_PROXY_MARKER_PREFIX)) return null;
445
454
  return text.includes(MEDIA_PROXY_UNAVAILABLE_MARKER) ? "media_proxy_unavailable" : "media_proxy_fallback";
446
455
  }
447
- function wireRuntimeListeners(page, drafts, currentTime) {
456
+ function wireRuntimeListeners(page, drafts, clock) {
457
+ followSampleTimeMarkers(page, clock.at);
448
458
  page.on("console", (message) => {
449
459
  const type = message.type();
450
460
  const text = message.text();
@@ -454,7 +464,7 @@ function wireRuntimeListeners(page, drafts, currentTime) {
454
464
  code: "console_error",
455
465
  severity: "error",
456
466
  message: text,
457
- time: currentTime(),
467
+ ...clock.now(),
458
468
  url: location.url,
459
469
  line: location.lineNumber
460
470
  });
@@ -465,7 +475,7 @@ function wireRuntimeListeners(page, drafts, currentTime) {
465
475
  code: webGpuFailure ? "webgpu_runtime_error" : "console_warning",
466
476
  severity: webGpuFailure ? "error" : "warning",
467
477
  message: text,
468
- time: currentTime(),
478
+ ...clock.now(),
469
479
  url: location.url,
470
480
  line: location.lineNumber
471
481
  });
@@ -477,7 +487,7 @@ function wireRuntimeListeners(page, drafts, currentTime) {
477
487
  code,
478
488
  severity: "info",
479
489
  message: text,
480
- time: currentTime(),
490
+ ...clock.now(),
481
491
  url: location.url,
482
492
  line: location.lineNumber
483
493
  });
@@ -492,10 +502,10 @@ function wireRuntimeListeners(page, drafts, currentTime) {
492
502
  code: "page_error",
493
503
  severity: "error",
494
504
  message,
495
- time: currentTime()
505
+ ...clock.now()
496
506
  });
497
507
  });
498
- wireNetworkListeners(page, drafts, currentTime);
508
+ wireNetworkListeners(page, drafts, clock);
499
509
  }
500
510
  function keepBrokenImageAborts(drafts, broken) {
501
511
  return drafts.filter((draft) => !draft.abortedImage || broken.has(draft.url ?? ""));
@@ -558,7 +568,7 @@ async function abortedImagesStillBroken(page, drafts) {
558
568
  );
559
569
  return new Set(broken);
560
570
  }
561
- function wireNetworkListeners(page, drafts, currentTime) {
571
+ function wireNetworkListeners(page, drafts, clock) {
562
572
  page.on("requestfailed", (request) => {
563
573
  const url = request.url();
564
574
  if (url.includes("favicon") || url.startsWith("data:")) return;
@@ -568,7 +578,7 @@ function wireNetworkListeners(page, drafts, currentTime) {
568
578
  code: "request_failed",
569
579
  severity: "error",
570
580
  message: `Failed to load ${urlPath(url)}: ${failure ?? "net::ERR_FAILED"}`,
571
- time: currentTime(),
581
+ ...clock.now(),
572
582
  url,
573
583
  abortedImage: failure === "net::ERR_ABORTED" && request.resourceType() === "image"
574
584
  });
@@ -582,12 +592,12 @@ function wireNetworkListeners(page, drafts, currentTime) {
582
592
  code: "http_error",
583
593
  severity: "error",
584
594
  message: `${response.status()} loading ${urlPath(url)}`,
585
- time: currentTime(),
595
+ ...clock.now(),
586
596
  url
587
597
  });
588
598
  });
589
599
  }
590
- function createPageDriver(page, setTime) {
600
+ function createPageDriver(page, clock) {
591
601
  return {
592
602
  initialize: (contrast) => injectAuditScripts(page, contrast),
593
603
  matchComponents: (components, findings) => page.evaluate(matchComponentFindings, { components, findings }),
@@ -597,16 +607,25 @@ function createPageDriver(page, setTime) {
597
607
  getClipEdges: () => collectClipEdges(page),
598
608
  getCanvas: () => page.evaluate(() => ({ width: window.innerWidth, height: window.innerHeight })),
599
609
  findAmbiguousSelectors: (selectors) => findAmbiguousSelectors(page, selectors),
600
- seek: async (time) => {
601
- setTime(time);
602
- await seekCompositionTimeline(page, time, AUDIT_SEEK_OPTIONS);
610
+ seek: async (time, screenshotFollows) => {
611
+ clock.at(time);
612
+ await seekCompositionTimeline(
613
+ page,
614
+ time,
615
+ screenshotFollows ? SCREENSHOT_SEEK_OPTIONS : AUDIT_SEEK_OPTIONS
616
+ );
603
617
  },
604
618
  seekGeometry: async (time) => {
605
- setTime(time);
619
+ clock.at(time);
606
620
  await seekCompositionTimeline(page, time, DENSE_GEOMETRY_SEEK_OPTIONS);
607
621
  },
608
622
  collectLayout: (time, tolerance, layout) => collectLayout(page, time, tolerance, layout),
609
623
  collectOverlap: (time) => collectOverlap(page, time),
624
+ collectOverlapGrid: async (times) => {
625
+ const issues = await collectOverlapGrid(page, times);
626
+ if (times.length > 0) clock.during([times[0] ?? 0, times.at(-1) ?? 0]);
627
+ return issues;
628
+ },
610
629
  collectLayoutGeometry: () => collectLayoutGeometry(page),
611
630
  collectSeekClock: () => collectSeekClock(page),
612
631
  collectRotationSample: (time) => collectRotationSample(page, time),
@@ -732,6 +751,60 @@ async function collectOverlap(page, time) {
732
751
  );
733
752
  return anchorLayoutIssues(page, raw.flatMap(parseLayoutIssue));
734
753
  }
754
+ var SAMPLE_TIME_MARKER = "__hfCheckSample ";
755
+ function followSampleTimeMarkers(page, setTime) {
756
+ page.on("console", (message) => {
757
+ const text = message.text();
758
+ if (message.type() === "debug" && text.startsWith(SAMPLE_TIME_MARKER)) {
759
+ setTime(Number(text.slice(SAMPLE_TIME_MARKER.length)));
760
+ }
761
+ });
762
+ }
763
+ async function overlapGridInPage(grid, seek, anchors) {
764
+ const audit = Reflect.get(window, "__hyperframesOverlapAudit");
765
+ const waitForCompletion = Reflect.get(window, "__hfWaitForSeekCompletion");
766
+ const samples = [];
767
+ for (const time of grid.times) {
768
+ console.debug(`${grid.marker}${time}`);
769
+ seek(time, grid.fallback, false, grid.skipDraws);
770
+ if (typeof waitForCompletion === "function") {
771
+ await Reflect.apply(waitForCompletion, window, [{ videoFrames: grid.videoFrames }]);
772
+ }
773
+ const result = typeof audit === "function" ? Reflect.apply(audit, window, [{ time }]) : [];
774
+ const raw = Array.isArray(result) ? result : [];
775
+ const zero = { x: 0, y: 0, width: 0, height: 0 };
776
+ const requests = raw.map((issue) => ({
777
+ selector: String(Reflect.get(Object(issue), "selector")),
778
+ time,
779
+ bbox: zero
780
+ }));
781
+ samples.push({ raw, anchors: anchors(requests) });
782
+ }
783
+ return samples;
784
+ }
785
+ async function collectOverlapGrid(page, times) {
786
+ if (times.length === 0) return [];
787
+ const grid = {
788
+ times,
789
+ marker: SAMPLE_TIME_MARKER,
790
+ fallback: DENSE_GEOMETRY_SEEK_OPTIONS.fallbackToBridgeAndTimelines,
791
+ skipDraws: DENSE_GEOMETRY_SEEK_OPTIONS.skipWebglDraws,
792
+ videoFrames: DENSE_GEOMETRY_SEEK_OPTIONS.waitForVideoFrames
793
+ };
794
+ const samples = await page.evaluate(
795
+ `(${overlapGridInPage})(${JSON.stringify(grid)}, ${seekInPage}, ${anchorsInPage})`
796
+ );
797
+ return samples.map(
798
+ ({ raw, anchors }) => raw.flatMap(
799
+ (value, index) => parseLayoutIssue(value).map((issue) => ({
800
+ ...issue,
801
+ ...anchors[index] ?? fallbackAnchor(void 0),
802
+ bbox: rectToBbox(issue.rect),
803
+ time: issue.time
804
+ }))
805
+ )
806
+ );
807
+ }
735
808
  async function collectLayoutGeometry(page) {
736
809
  return page.evaluate(() => {
737
810
  const geometry = Reflect.get(window, "__hyperframesLayoutGeometry");
@@ -898,30 +971,31 @@ async function anchorLayoutIssues(page, issues) {
898
971
  }
899
972
  async function resolveAnchors(page, requests) {
900
973
  if (requests.length === 0) return [];
901
- return page.evaluate((values) => {
902
- const root = document.querySelector("[data-composition-id]");
903
- return values.map((request) => {
904
- let element = null;
905
- try {
906
- element = document.querySelector(request.selector);
907
- } catch {
908
- element = null;
909
- }
910
- element ??= root;
911
- const dataAttributes = {};
912
- for (const attribute of Array.from(element?.attributes ?? [])) {
913
- if (attribute.name.startsWith("data-")) dataAttributes[attribute.name] = attribute.value;
914
- }
915
- const source = element?.closest("[data-composition-file]")?.getAttribute("data-composition-file");
916
- return {
917
- selector: element ? request.selector : "[data-composition-id]",
918
- dataAttributes,
919
- sourceFile: source || "index.html",
920
- bbox: request.bbox,
921
- time: request.time
922
- };
923
- });
924
- }, requests);
974
+ return page.evaluate(anchorsInPage, requests);
975
+ }
976
+ function anchorsInPage(values) {
977
+ const root = document.querySelector("[data-composition-id]");
978
+ return values.map((request) => {
979
+ let element = null;
980
+ try {
981
+ element = document.querySelector(request.selector);
982
+ } catch {
983
+ element = null;
984
+ }
985
+ element ??= root;
986
+ const dataAttributes = {};
987
+ for (const attribute of Array.from(element?.attributes ?? [])) {
988
+ if (attribute.name.startsWith("data-")) dataAttributes[attribute.name] = attribute.value;
989
+ }
990
+ const source = element?.closest("[data-composition-file]")?.getAttribute("data-composition-file");
991
+ return {
992
+ selector: element ? request.selector : "[data-composition-id]",
993
+ dataAttributes,
994
+ sourceFile: source || "index.html",
995
+ bbox: request.bbox,
996
+ time: request.time
997
+ };
998
+ });
925
999
  }
926
1000
  async function resolveRootAnchor(page) {
927
1001
  const anchors = await resolveAnchors(page, [
@@ -936,29 +1010,34 @@ async function compositionBbox(page) {
936
1010
  return rect ? { x: rect.x, y: rect.y, width: rect.width, height: rect.height } : { x: 0, y: 0, width: 0, height: 0 };
937
1011
  });
938
1012
  }
939
- async function collectContrast(page, time, layoutAnnotations = []) {
1013
+ async function collectContrast(page, time, snapshotAnnotations) {
940
1014
  let prepared = [];
941
1015
  try {
942
1016
  prepared = parsePreparedContrast(await prepareContrast(page, time));
1017
+ if (prepared.length === 0 && !snapshotAnnotations) return { entries: [] };
1018
+ const region = textRegion(prepared, page.viewport());
943
1019
  const measurementShot = await page.screenshot({
944
1020
  encoding: "base64",
945
1021
  type: "png",
946
- omitBackground: true
1022
+ omitBackground: true,
1023
+ ...region ? { clip: region.clip, captureBeyondViewport: false } : {}
947
1024
  });
948
1025
  if (typeof measurementShot !== "string") throw new Error("Contrast screenshot was not base64");
949
1026
  const raw = await finishContrast(
950
1027
  page,
951
1028
  measurementShot,
952
1029
  time,
953
- prepared.map((entry) => entry.raw)
1030
+ prepared.map((entry) => entry.raw),
1031
+ region
954
1032
  );
955
1033
  const finished = raw.flatMap(parseFinishedContrast);
956
1034
  const entries = joinContrastEntries(finished, prepared);
1035
+ if (!snapshotAnnotations) return { entries };
957
1036
  const overviewShot = await page.screenshot({ encoding: "base64", type: "png" });
958
1037
  if (typeof overviewShot !== "string") throw new Error("Overview screenshot was not base64");
959
1038
  const annotations = [
960
- ...layoutAnnotations,
961
- ...contrastFailureAnnotations(entries, layoutAnnotations.length)
1039
+ ...snapshotAnnotations,
1040
+ ...contrastFailureAnnotations(entries, snapshotAnnotations.length)
962
1041
  ];
963
1042
  const pngBase64 = await captureOverviewShot(page, annotations, overviewShot);
964
1043
  return { entries, pngBase64 };
@@ -1063,7 +1142,22 @@ async function prepareContrast(page, time) {
1063
1142
  });
1064
1143
  }, time);
1065
1144
  }
1066
- async function finishContrast(page, screenshot, time, candidates) {
1145
+ function textRegion(prepared, viewport) {
1146
+ if (!viewport || (viewport.deviceScaleFactor ?? 1) !== 1 || prepared.length === 0)
1147
+ return void 0;
1148
+ const boxes = prepared.map((entry) => entry.candidate.bbox);
1149
+ const x = Math.max(0, Math.floor(Math.min(...boxes.map((box) => box.x))));
1150
+ const y = Math.max(0, Math.floor(Math.min(...boxes.map((box) => box.y))));
1151
+ const right = Math.min(viewport.width, Math.ceil(Math.max(...boxes.map((b) => b.x + b.width))));
1152
+ const bottom = Math.min(
1153
+ viewport.height,
1154
+ Math.ceil(Math.max(...boxes.map((b) => b.y + b.height)))
1155
+ );
1156
+ if (right <= x || bottom <= y) return void 0;
1157
+ const clip = { x, y, width: right - x, height: bottom - y };
1158
+ return { clip, frameWidth: viewport.width, frameHeight: viewport.height };
1159
+ }
1160
+ async function finishContrast(page, screenshot, time, candidates, region) {
1067
1161
  return page.evaluate(
1068
1162
  async (payload) => {
1069
1163
  const finish = Reflect.get(window, "__contrastAuditFinish");
@@ -1071,11 +1165,12 @@ async function finishContrast(page, screenshot, time, candidates) {
1071
1165
  const result = await Reflect.apply(finish, window, [
1072
1166
  payload.screenshot,
1073
1167
  payload.time,
1074
- payload.candidates
1168
+ payload.candidates,
1169
+ payload.region
1075
1170
  ]);
1076
1171
  return Array.isArray(result) ? result : [];
1077
1172
  },
1078
- { screenshot, time, candidates }
1173
+ { screenshot, time, candidates, region: region ?? null }
1079
1174
  );
1080
1175
  }
1081
1176
  function parsePreparedContrast(raw) {
@@ -1223,6 +1318,7 @@ function runtimeFinding(draft, root) {
1223
1318
  sourceFile: root.sourceFile,
1224
1319
  bbox: root.bbox,
1225
1320
  time: draft.time,
1321
+ ...draft.timeRange ? { timeRange: draft.timeRange } : {},
1226
1322
  url: draft.url,
1227
1323
  line: draft.line
1228
1324
  };
@@ -19,7 +19,7 @@ import {
19
19
  splitElementInHtml,
20
20
  unwrapElementsFromHtml,
21
21
  wrapElementsInHtml
22
- } from "./chunk-QJCVK7CI.js";
22
+ } from "./chunk-TNDNFZOK.js";
23
23
  import {
24
24
  MEDIA_LINK_ATTR,
25
25
  relinkSplitHalves
@@ -54,7 +54,7 @@ import {
54
54
  scanProjectMediaCodecMap,
55
55
  shouldPrewarmProxy,
56
56
  waitForProxy
57
- } from "./chunk-APMA7XXB.js";
57
+ } from "./chunk-QWCXGTOH.js";
58
58
  import {
59
59
  HistoryBusyError,
60
60
  MAX_WINDOW_IDLE_MS,
@@ -105,7 +105,7 @@ import {
105
105
  addScenePartsManifest,
106
106
  ensureHfIds,
107
107
  stampHfIdsInPlace
108
- } from "./chunk-UQLXFITA.js";
108
+ } from "./chunk-JNL3RMDG.js";
109
109
  import {
110
110
  PREVIEW_PROXY_BOX_PARAM,
111
111
  formatPreviewProxyBox,
@@ -114,7 +114,7 @@ import {
114
114
  motionPathPluginUrl,
115
115
  parseFps,
116
116
  parsePreviewProxyBox
117
- } from "./chunk-RMKL5FVH.js";
117
+ } from "./chunk-VEQ7DKPG.js";
118
118
  import {
119
119
  AFTER_FONTS_SCRIPT_TYPE,
120
120
  RUNTIME_BOOTSTRAP_ATTR,
@@ -128,7 +128,7 @@ import {
128
128
  resolveRateSpec,
129
129
  sourceTimeAt,
130
130
  stripEmbeddedRuntimeScripts
131
- } from "./chunk-UKJECUDK.js";
131
+ } from "./chunk-EEXE43II.js";
132
132
  import {
133
133
  HTML_ATTRIBUTE_ENTITIES,
134
134
  MagicString,
@@ -5497,7 +5497,7 @@ async function prepareGsapMutationScript(c, res, firstMutation) {
5497
5497
  let block = extractGsapScriptBlock(html);
5498
5498
  if (!block && (firstMutation.type === "add" || firstMutation.type === "add-with-keyframes")) {
5499
5499
  const compId = html.match(/data-composition-id="([^"]+)"/)?.[1] ?? "main";
5500
- const { GSAP_CDN } = await import("./dist-4FY5EEH5.js");
5500
+ const { GSAP_CDN } = await import("./dist-U2HCECNB.js");
5501
5501
  const bootstrap = [
5502
5502
  `<script src="${GSAP_CDN}"></script>`,
5503
5503
  "<script>",
@@ -20,7 +20,7 @@ import {
20
20
  typeDirPath,
21
21
  updateRecord,
22
22
  withFigmaErrors
23
- } from "./chunk-QRO2UBWS.js";
23
+ } from "./chunk-G7I3WZK4.js";
24
24
  import {
25
25
  defineCommand
26
26
  } from "./chunk-S3S4TGEH.js";
@@ -229,7 +229,7 @@ var asset_default = defineCommand({
229
229
  rendered > 0 ? `(${results.length} nodes, ${rendered} rendered in 1 figma request)` : `(${results.length} nodes, all reused from cache \u2014 no figma request)`
230
230
  );
231
231
  }
232
- const { trackFigmaImport } = await import("./telemetry-5PJWDFSZ.js");
232
+ const { trackFigmaImport } = await import("./telemetry-BLOE3TWY.js");
233
233
  trackFigmaImport({
234
234
  phase: "asset",
235
235
  reused: results.every((r) => r.reused),
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  shouldTrack
9
- } from "./chunk-B23GBPCW.js";
9
+ } from "./chunk-W5USVP6Z.js";
10
10
 
11
11
  // src/telemetry/renderObservability.ts
12
12
  function renderObservabilityTelemetryPayload(observability) {
@@ -11,7 +11,7 @@ import {
11
11
  DEFAULT_REGISTRY_URL,
12
12
  fetchItemManifest,
13
13
  fetchRegistryManifest
14
- } from "./chunk-H2BPHBDY.js";
14
+ } from "./chunk-OYEDHVSI.js";
15
15
 
16
16
  // src/registry/resolver.ts
17
17
  function defaultWarn(message) {
@@ -7,29 +7,29 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  RegistryCompatibilityError,
9
9
  gateRegistryItemsCompatibility
10
- } from "./chunk-4PX47Z65.js";
10
+ } from "./chunk-NZRAS3FB.js";
11
11
  import {
12
12
  DEFAULT_PROJECT_CONFIG,
13
13
  createProjectConfig,
14
14
  loadProjectConfig,
15
15
  projectConfigPath,
16
16
  recordProjectRegistryItems
17
- } from "./chunk-UDJHYQSZ.js";
17
+ } from "./chunk-LZT3NUTE.js";
18
18
  import {
19
19
  resolveItemWithDependencies,
20
20
  resolveItemsByTag
21
- } from "./chunk-RZ2FMZ5U.js";
21
+ } from "./chunk-42T7OP4O.js";
22
22
  import {
23
23
  InvalidVariableValuesError,
24
24
  prepareItem,
25
25
  publishItem
26
- } from "./chunk-S5D4Q74P.js";
26
+ } from "./chunk-NWEER3QY.js";
27
27
  import {
28
28
  DEFAULT_REGISTRY_URL
29
- } from "./chunk-H2BPHBDY.js";
29
+ } from "./chunk-OYEDHVSI.js";
30
30
  import {
31
31
  trackRegistryItemAdded
32
- } from "./chunk-D2YN4FNH.js";
32
+ } from "./chunk-PBKOURSI.js";
33
33
  import {
34
34
  defineCommand
35
35
  } from "./chunk-S3S4TGEH.js";
@@ -41,7 +41,7 @@ import {
41
41
  } from "./chunk-ZTZA4UWZ.js";
42
42
  import {
43
43
  ITEM_TYPE_DIRS
44
- } from "./chunk-RMKL5FVH.js";
44
+ } from "./chunk-VEQ7DKPG.js";
45
45
  import {
46
46
  isProjectRootMissing,
47
47
  realpath
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-K2FLNJVB.js";
10
10
  import {
11
11
  trackCommandFailure
12
- } from "./chunk-D2YN4FNH.js";
12
+ } from "./chunk-PBKOURSI.js";
13
13
  import {
14
14
  failCommand
15
15
  } from "./chunk-PBN6GBJE.js";
@@ -14,13 +14,13 @@ import {
14
14
  findFFmpeg,
15
15
  findFFprobe,
16
16
  getFFmpegInstallHint
17
- } from "./chunk-4VTUDCHM.js";
17
+ } from "./chunk-S354WIFQ.js";
18
18
  import {
19
19
  DEFAULT_VP9_CPU_USED,
20
20
  SDR_RGB_TO_BT709_FILTER,
21
21
  SDR_RGB_TO_TAGGED_BT709_FILTER,
22
22
  renderProvenanceArgs
23
- } from "./chunk-XVIFWEPR.js";
23
+ } from "./chunk-RERXOG54.js";
24
24
 
25
25
  // src/background-removal/pipeline.ts
26
26
  import { spawn } from "child_process";
@@ -270,7 +270,7 @@ function inferInputKind(inputPath) {
270
270
  }
271
271
  async function probeMedia(inputPath) {
272
272
  const isImage = inferInputKind(inputPath) === "image";
273
- const engine = await import("./src-MRYINZ62.js");
273
+ const engine = await import("./src-4COYCAFY.js");
274
274
  const meta = await engine.extractMediaMetadata(inputPath);
275
275
  if (isImage) {
276
276
  return { width: meta.width, height: meta.height, fps: 0, frameCount: 1 };