hyperframes 0.8.111 → 0.8.113

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 (189) hide show
  1. package/dist/{add-M5WN2AM2.js → add-ILIGSLV4.js} +15 -15
  2. package/dist/{agentPromptGenerator-QL2KAWEP.js → agentPromptGenerator-VIIPZCJ3.js} +1 -1
  3. package/dist/{animatedGifPrep-NMGFOSIL.js → animatedGifPrep-U7FMC7DB.js} +6 -6
  4. package/dist/{asset-GUASPIKN.js → asset-OFDEIAGM.js} +2 -2
  5. package/dist/{assetCataloger-FXEHOUA3.js → assetCataloger-5LCGR5XU.js} +2 -2
  6. package/dist/{auth-3YMEVUKJ.js → auth-5JDDEX2M.js} +2 -2
  7. package/dist/{autoUpdate-FYCGHBPC.js → autoUpdate-JXVZVJCV.js} +2 -2
  8. package/dist/{backgroundChecks-ZLYIRMTS.js → backgroundChecks-BBWGY3V6.js} +3 -3
  9. package/dist/backgroundChecksWorker.js +3 -3
  10. package/dist/{batchRender-ZTHFMHZY.js → batchRender-QVJ7NEUH.js} +3 -3
  11. package/dist/{beats-GXY5ZBPB.js → beats-YEYVQMX6.js} +11 -11
  12. package/dist/{benchmark-MJFVBVNW.js → benchmark-J2V46VWI.js} +12 -12
  13. package/dist/{browser-ZDI7IX6H.js → browser-XBWASLD2.js} +11 -11
  14. package/dist/{bundleWithLocalizedFonts-4Q3ETTHW.js → bundleWithLocalizedFonts-4CVITCYK.js} +2 -2
  15. package/dist/{capture-4OPH4PMK.js → capture-F2Y7TIHU.js} +41 -43
  16. package/dist/{capture-OG6532RA.js → capture-GLHK4ST7.js} +3 -3
  17. package/dist/{captureFile-JOPOCRU7.js → captureFile-LYOJOUIE.js} +3 -1
  18. package/dist/{catalog-23DP7KCW.js → catalog-3QDMTDK2.js} +15 -15
  19. package/dist/{check-5X6BJA2P.js → check-O3RR4NWI.js} +52 -40
  20. package/dist/{checkBrowser-3QHBTMYM.js → checkBrowser-K36DAG4S.js} +32 -31
  21. package/dist/{chunk-NIGUNLOO.js → chunk-2DBYGR4N.js} +10 -9
  22. package/dist/{chunk-TIZQC44K.js → chunk-3IUSKIZW.js} +1 -1
  23. package/dist/{chunk-YLOSZHA2.js → chunk-3XPZJUKM.js} +2 -2
  24. package/dist/{chunk-32P7FTFC.js → chunk-4KGMIOMY.js} +9 -8
  25. package/dist/{chunk-N34BYX3E.js → chunk-4PFZPP2N.js} +54 -30
  26. package/dist/{chunk-JTTAS7N6.js → chunk-7543YIMQ.js} +1 -1
  27. package/dist/{chunk-AMSBTN6L.js → chunk-7CGIICLA.js} +3 -3
  28. package/dist/{chunk-LAQEZHOH.js → chunk-BOUDTDBQ.js} +1 -1
  29. package/dist/chunk-C6AIZOQN.js +3541 -0
  30. package/dist/{chunk-EE6SV6KW.js → chunk-DDK22K3I.js} +3 -3
  31. package/dist/{chunk-QXERSWXX.js → chunk-DQBY7FRR.js} +123 -3
  32. package/dist/{chunk-HQGJLZB6.js → chunk-DR7QW6C5.js} +2 -2
  33. package/dist/{chunk-E4AYSXMS.js → chunk-E52XEEAA.js} +3 -3
  34. package/dist/{chunk-J4RPT4QW.js → chunk-E6RPWJVC.js} +1 -1
  35. package/dist/{chunk-QMAXDSCH.js → chunk-EMZF2TPA.js} +2 -2
  36. package/dist/{chunk-XYVFPDNU.js → chunk-ENHAGQEP.js} +1 -1
  37. package/dist/{chunk-B25H4M4V.js → chunk-FCEFKWPM.js} +1 -1
  38. package/dist/{chunk-BQYGGX3B.js → chunk-FW7K32YT.js} +1 -1
  39. package/dist/{chunk-6CI65KCP.js → chunk-FXHVADV6.js} +1 -1
  40. package/dist/{chunk-OF3RKOPU.js → chunk-G2T2X6FZ.js} +189 -111
  41. package/dist/{chunk-5ON5GH3X.js → chunk-GDJ74GHW.js} +4 -3
  42. package/dist/{chunk-I5WWEBDG.js → chunk-HTQR7SUZ.js} +1 -1
  43. package/dist/{chunk-TQKKC4MB.js → chunk-HYXL3VJA.js} +5 -5
  44. package/dist/{chunk-AWUZ3AUD.js → chunk-IP3XINRB.js} +1 -1
  45. package/dist/{chunk-HPEHQUJX.js → chunk-IRJBTYJF.js} +1 -1
  46. package/dist/chunk-K4WKGXRC.js +18 -0
  47. package/dist/{chunk-CQRF7VU3.js → chunk-L5QASNBN.js} +1 -1
  48. package/dist/{chunk-ITBEN3QD.js → chunk-L5SYYW2P.js} +2 -2
  49. package/dist/{chunk-MGFVNTIB.js → chunk-LMC46FK5.js} +2 -2
  50. package/dist/chunk-MRF4AMKD.js +104 -0
  51. package/dist/{chunk-U4TDAJZE.js → chunk-OCNCK5FQ.js} +2 -2
  52. package/dist/{chunk-JWPSBANO.js → chunk-OEA2J2TF.js} +3 -3
  53. package/dist/{chunk-N32ITJ7L.js → chunk-P3FGUSFK.js} +15 -12
  54. package/dist/{chunk-2JXJ5SGK.js → chunk-QPR4N2D4.js} +6 -6
  55. package/dist/{chunk-LFUXJBYA.js → chunk-R4NWAW35.js} +7 -7
  56. package/dist/{chunk-C4TZBEHY.js → chunk-SIN32SJB.js} +2 -2
  57. package/dist/{chunk-M224DAMG.js → chunk-T3NMEYGM.js} +1 -1
  58. package/dist/{chunk-Q2QNAFQV.js → chunk-U4VSY56O.js} +1 -1
  59. package/dist/{chunk-NH75EKOP.js → chunk-VFCKXTBB.js} +6 -3
  60. package/dist/{chunk-V4HKT2LV.js → chunk-VIJ35BJ6.js} +10 -10
  61. package/dist/{chunk-5ER3PYYP.js → chunk-VLC7JS4K.js} +1 -1
  62. package/dist/{chunk-MR2LOG32.js → chunk-VTP4VSRP.js} +8 -8
  63. package/dist/{chunk-ZU54D6MI.js → chunk-XFJXFNJF.js} +3 -3
  64. package/dist/{chunk-YIXEH4TF.js → chunk-XXKBPGPJ.js} +2 -2
  65. package/dist/{chunk-JUP65S7D.js → chunk-XZM2I47O.js} +3 -3
  66. package/dist/{chunk-BAVM2XBR.js → chunk-YJEGT5L6.js} +209 -33
  67. package/dist/{chunk-CFC3EEDQ.js → chunk-ZMMSMDCA.js} +1 -1
  68. package/dist/{chunk-PFEKMIN5.js → chunk-ZYSS3JED.js} +1 -1
  69. package/dist/{chunk-ZXSNGIYS.js → chunk-ZZIXIOK2.js} +4 -4
  70. package/dist/{clean-ATMEGSGP.js → clean-RPB34TT6.js} +16 -16
  71. package/dist/cli.js +122 -54
  72. package/dist/{cloud-ZFGUHACY.js → cloud-QECFFPKC.js} +4 -4
  73. package/dist/{cloudrun-LVZ4OPPC.js → cloudrun-BML6ZG7K.js} +3 -3
  74. package/dist/commands/layout-audit.browser.js +178 -202
  75. package/dist/commands/motion-sample.browser.js +24 -71
  76. package/dist/commands/motion-signature.browser.js +374 -0
  77. package/dist/{compare-55LEUY7M.js → compare-PF6WHQ4T.js} +26 -26
  78. package/dist/{compiler-C32VXLE2.js → compiler-ZHVIEP26.js} +3 -3
  79. package/dist/{component-3EDFANIC.js → component-4ENCNLED.js} +3 -3
  80. package/dist/{compositions-OPU6U6GM.js → compositions-5UA33RSG.js} +11 -11
  81. package/dist/{contactSheet-54AJDSR5.js → contactSheet-27SRU7A4.js} +2 -2
  82. package/dist/{delete-PJE4P3HH.js → delete-SARS5LIK.js} +2 -2
  83. package/dist/{deploy-4T3RMA5G.js → deploy-MX76RZ36.js} +1 -1
  84. package/dist/{destroy-EYDBVHGF.js → destroy-H2TZBYHH.js} +1 -1
  85. package/dist/{dist-FMHQMEMX.js → dist-HRBNHR4M.js} +1 -1
  86. package/dist/{dist-YUIPB7OX.js → dist-OKRUIHYU.js} +2 -2
  87. package/dist/docker/Dockerfile.render +1 -1
  88. package/dist/{doctor-EIVBJJAF.js → doctor-TSAQGYP4.js} +11 -11
  89. package/dist/{events-NP666TF4.js → events-3HUO73ZE.js} +9 -9
  90. package/dist/{events-ISMT4RDW.js → events-SZ5NWYWD.js} +8 -8
  91. package/dist/{feedback-4OSLMKBW.js → feedback-42OTOFC6.js} +10 -10
  92. package/dist/{figma-Y7ZHFCOU.js → figma-RYNFCYXB.js} +3 -3
  93. package/dist/fontLocalizeCli.js +8 -8
  94. package/dist/{get-E4GBRHQK.js → get-IRHLG5OQ.js} +2 -2
  95. package/dist/{gpuPolicy-CA6KRFQQ.js → gpuPolicy-LRMOZXFU.js} +6 -6
  96. package/dist/{grade-compare-B2EHEOLR.js → grade-compare-KGJP5HV7.js} +24 -24
  97. package/dist/{help-ISGUWGOR.js → help-C5HS56RZ.js} +1 -1
  98. package/dist/{history-FNRU3TL4.js → history-DFJNDM2T.js} +16 -17
  99. package/dist/hyperframe-runtime.js +54 -54
  100. package/dist/hyperframe.manifest.json +1 -1
  101. package/dist/hyperframe.runtime.iife.js +54 -54
  102. package/dist/hyperframes-player.global.js +1 -1
  103. package/dist/{info-FO7VR5NC.js → info-26GTDTKN.js} +11 -11
  104. package/dist/{init-IGW4DTVC.js → init-RXA6NI73.js} +25 -24
  105. package/dist/{inspect-D4GUGDW7.js → inspect-2S5GAZYC.js} +25 -25
  106. package/dist/{installer-NBEN3ZIP.js → installer-DGYYDGWJ.js} +4 -4
  107. package/dist/{keyframes-CXZLEC3R.js → keyframes-WBMAX7XZ.js} +12 -12
  108. package/dist/{lambda-BFHJMMCG.js → lambda-OQBFCEFA.js} +6 -6
  109. package/dist/{layout-XEDEOLAH.js → layout-ZRU7PXBG.js} +25 -25
  110. package/dist/{lint-LLGMCVZ5.js → lint-ATVNZ6FG.js} +12 -12
  111. package/dist/{lintProject-X7L7EZWZ.js → lintProject-TOLC6HDS.js} +1 -1
  112. package/dist/{list-LUCWSLK6.js → list-E2GHYPCQ.js} +2 -2
  113. package/dist/{login-SMWYXJWJ.js → login-LOC4KA7H.js} +4 -4
  114. package/dist/{manager-NEVLEZK3.js → manager-CT3D67CG.js} +1 -1
  115. package/dist/{media-treatment-OYTNU6PX.js → media-treatment-L43MVH2V.js} +15 -14
  116. package/dist/{models-RILNQV3Z.js → models-JF5OOZ5A.js} +7 -7
  117. package/dist/{motionShot-5F4DCMWC.js → motionShot-BJ5CLYMN.js} +12 -12
  118. package/dist/{normalize-audio-4LHYKFON.js → normalize-audio-K33FKGAF.js} +11 -11
  119. package/dist/{pipeline-5UY45ELH.js → pipeline-IWPF5ZMK.js} +6 -6
  120. package/dist/{play-D4AHRZQD.js → play-PHHXYCQI.js} +20 -20
  121. package/dist/{preflight-3V5IHGWQ.js → preflight-2GH2Z4GZ.js} +8 -8
  122. package/dist/{present-VUH7PLOO.js → present-KBFK2YVB.js} +16 -16
  123. package/dist/{preview-NCFC65VR.js → preview-T3E5TFDC.js} +159 -87
  124. package/dist/{producer-7JGAPEAF.js → producer-SL66UNEP.js} +1 -1
  125. package/dist/{projectConfig-JHEWPAA5.js → projectConfig-7AKXZNNR.js} +6 -6
  126. package/dist/{publication-7XA2H7UB.js → publication-B2OERUY7.js} +2 -2
  127. package/dist/{publish-257VZMWI.js → publish-ZGKT7KED.js} +8 -8
  128. package/dist/{remove-background-EV6XVADN.js → remove-background-4LRTT6YL.js} +7 -7
  129. package/dist/{render-DHCMWKFV.js → render-H6RSJF2V.js} +12 -12
  130. package/dist/{render-DKXGFQVW.js → render-OKNPNMFS.js} +23 -23
  131. package/dist/{render-4C3YKVZI.js → render-TGCDBKMP.js} +3 -3
  132. package/dist/{render-batch-AFDBPDMM.js → render-batch-WRQFW4UC.js} +3 -3
  133. package/dist/{renderCancellation-VIZELWDD.js → renderCancellation-BFCQYGVV.js} +6 -6
  134. package/dist/renderSetupWorker.js +2 -2
  135. package/dist/{resolver-S72XBTEQ.js → resolver-37UOGAMT.js} +4 -4
  136. package/dist/{screenshotCapture-FA5HPN7Q.js → screenshotCapture-ECBTLCU6.js} +3 -3
  137. package/dist/{sherpa-BAADWCHB.js → sherpa-SDVKYXCX.js} +7 -7
  138. package/dist/skills/hyperframes/references/frame-worker-core.md +2 -2
  139. package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +2 -2
  140. package/dist/skills/media-use/audio/references/bgm.md +1 -1
  141. package/dist/skills/media-use/audio/references/tts.md +1 -1
  142. package/dist/skills/media-use/audio/scripts/lib/python.mjs +19 -5
  143. package/dist/skills/media-use/audio/scripts/lib/python.test.mjs +69 -1
  144. package/dist/{skills-2BGFBUR6.js → skills-O25ZTFTO.js} +40 -14
  145. package/dist/{skillsUpdateCheck-5LYFYHUF.js → skillsUpdateCheck-Y2V4OMMT.js} +3 -3
  146. package/dist/{snapshot-Z37DZL4T.js → snapshot-KGM2HZIC.js} +52 -31
  147. package/dist/{src-GD7RGV5U.js → src-PJJ6NISA.js} +5 -5
  148. package/dist/{src-GRC63B6L.js → src-PLWCT745.js} +7 -7
  149. package/dist/{staticProjectServer-SFINO3DE.js → staticProjectServer-OCE7GU5S.js} +14 -14
  150. package/dist/{status-LXQL3L3H.js → status-LENRPQS5.js} +6 -6
  151. package/dist/studio/assets/{hyperframes-player-DvJeHBHi.js → hyperframes-player-DzJbtQVO.js} +1 -1
  152. package/dist/studio/assets/{index-SFktf7O1.js → index-DRhF3v4Z.js} +194 -194
  153. package/dist/studio/assets/{index-C7apTvpr.css → index-DbfKVTId.css} +1 -1
  154. package/dist/studio/assets/{index--G6c4Q_x.js → index-DgwDQK5G.js} +1 -1
  155. package/dist/studio/assets/{index-Bt4vDkfw.js → index-n5FUn1xv.js} +1 -1
  156. package/dist/studio/{chunk-PQFEBX32.js → chunk-BIUXP3PG.js} +2 -2
  157. package/dist/studio/{chunk-6LUNLTHR.js → chunk-K47E2ZJA.js} +13 -8
  158. package/dist/studio/chunk-K47E2ZJA.js.map +1 -0
  159. package/dist/studio/{chunk-QUXZVHOJ.js → chunk-VWT7STY3.js} +2 -2
  160. package/dist/studio/{domEditingLayers-JQPQGGT7.js → domEditingLayers-V67MS4WP.js} +3 -3
  161. package/dist/studio/index.d.ts +80 -46
  162. package/dist/studio/index.html +2 -2
  163. package/dist/studio/index.js +7294 -6844
  164. package/dist/studio/index.js.map +1 -1
  165. package/dist/studio/player.js +2 -2
  166. package/dist/studio/styles.css +1 -1
  167. package/dist/{studio-api-WRSCXPWS.js → studio-api-IEQ5BIHT.js} +8 -8
  168. package/dist/{studioSelectionClient-A6JCWRRW.js → studioSelectionClient-IUUPKUHZ.js} +1 -2
  169. package/dist/{studioServer-HTLRGC5G.js → studioServer-LXJ34MGN.js} +43 -43
  170. package/dist/{system-EEWYEHYX.js → system-4KRSV2B7.js} +6 -6
  171. package/dist/{telemetry-NLEEMXO2.js → telemetry-R3BPD6VK.js} +9 -9
  172. package/dist/{timeline-7C4KM3KD.js → timeline-N5UKVS2S.js} +15 -15
  173. package/dist/{tokens-QQLJXW4G.js → tokens-774UBF2R.js} +2 -2
  174. package/dist/{transcribe-GCKJF5A6.js → transcribe-3UXXEDXX.js} +7 -7
  175. package/dist/{transcribe-TGR5CTA7.js → transcribe-IP74EZLM.js} +12 -12
  176. package/dist/{tts-DO2W6NLB.js → tts-P3LIPIL5.js} +13 -6
  177. package/dist/{updateCheck-73JM5QR3.js → updateCheck-EXHNAPKI.js} +2 -2
  178. package/dist/{upgrade-V6E5P53C.js → upgrade-A4M3O2F2.js} +2 -2
  179. package/dist/{urlDownloader-NYXPEBUN.js → urlDownloader-4KNER64L.js} +5 -5
  180. package/dist/{validate-INP7WJAK.js → validate-DV75GM6J.js} +15 -15
  181. package/dist/{video-KWQ5TSVD.js → video-GINAMW5I.js} +17 -9
  182. package/package.json +1 -1
  183. package/dist/chunk-5GQAJ43Q.js +0 -31
  184. package/dist/chunk-VWA4HODG.js +0 -129
  185. package/dist/chunk-YLVI7VL5.js +0 -3541
  186. package/dist/studio/chunk-6LUNLTHR.js.map +0 -1
  187. /package/dist/studio/{chunk-PQFEBX32.js.map → chunk-BIUXP3PG.js.map} +0 -0
  188. /package/dist/studio/{chunk-QUXZVHOJ.js.map → chunk-VWT7STY3.js.map} +0 -0
  189. /package/dist/studio/{domEditingLayers-JQPQGGT7.js.map → domEditingLayers-V67MS4WP.js.map} +0 -0
@@ -113,7 +113,7 @@ var capture_default = defineCommand({
113
113
  // fallow-ignore-next-line complexity
114
114
  async run({ args }) {
115
115
  if (args.video) {
116
- const { runVideoMode } = await import("./video-KWQ5TSVD.js");
116
+ const { runVideoMode } = await import("./video-GINAMW5I.js");
117
117
  await runVideoMode({
118
118
  project: args.video,
119
119
  index: args.index ?? null,
@@ -162,7 +162,7 @@ var capture_default = defineCommand({
162
162
  }
163
163
  console.log();
164
164
  }
165
- const { captureWebsite } = await import("./capture-4OPH4PMK.js");
165
+ const { captureWebsite } = await import("./capture-F2Y7TIHU.js");
166
166
  try {
167
167
  const result = await captureWebsite(
168
168
  {
@@ -252,7 +252,7 @@ var capture_default = defineCommand({
252
252
  try {
253
253
  const { mkdirSync } = await import("fs");
254
254
  const { formatCaptureFailureReason } = await import("./captureTimeout-PA4FYWT5.js");
255
- const { writeCaptureFileSync } = await import("./captureFile-JOPOCRU7.js");
255
+ const { writeCaptureFileSync } = await import("./captureFile-LYOJOUIE.js");
256
256
  mkdirSync(outputDir, { recursive: true });
257
257
  const reason = formatCaptureFailureReason(errMsg);
258
258
  writeCaptureFileSync(
@@ -5,9 +5,11 @@ var require = __hf_createRequire(import.meta.url);
5
5
  var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
+ ensureCaptureDirSync,
8
9
  writeCaptureFileSync
9
- } from "./chunk-5GQAJ43Q.js";
10
+ } from "./chunk-MRF4AMKD.js";
10
11
  import "./chunk-M2WBOQ2Q.js";
11
12
  export {
13
+ ensureCaptureDirSync,
12
14
  writeCaptureFileSync
13
15
  };
@@ -6,12 +6,12 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  runAdd
9
- } from "./chunk-LFUXJBYA.js";
10
- import "./chunk-PFEKMIN5.js";
9
+ } from "./chunk-R4NWAW35.js";
10
+ import "./chunk-ZYSS3JED.js";
11
11
  import {
12
12
  DEFAULT_PROJECT_CONFIG,
13
13
  loadProjectConfig
14
- } from "./chunk-LAQEZHOH.js";
14
+ } from "./chunk-BOUDTDBQ.js";
15
15
  import "./chunk-XT7X6QCP.js";
16
16
  import "./chunk-4YYJOFKS.js";
17
17
  import "./chunk-HVW7ABXD.js";
@@ -23,23 +23,23 @@ import {
23
23
  } from "./chunk-WMQNIQDJ.js";
24
24
  import {
25
25
  loadAllItems
26
- } from "./chunk-XYVFPDNU.js";
27
- import "./chunk-HQGJLZB6.js";
26
+ } from "./chunk-ENHAGQEP.js";
27
+ import "./chunk-DR7QW6C5.js";
28
28
  import {
29
29
  fetchRegistryManifest
30
- } from "./chunk-AWUZ3AUD.js";
30
+ } from "./chunk-IP3XINRB.js";
31
31
  import "./chunk-AWDFDFI3.js";
32
32
  import "./chunk-GMECXFAN.js";
33
33
  import {
34
34
  downloadFile
35
35
  } from "./chunk-X5HWXQPU.js";
36
- import "./chunk-AMSBTN6L.js";
37
- import "./chunk-EE6SV6KW.js";
36
+ import "./chunk-7CGIICLA.js";
37
+ import "./chunk-DDK22K3I.js";
38
38
  import "./chunk-VWG7OQKU.js";
39
39
  import {
40
40
  c
41
41
  } from "./chunk-ZTZA4UWZ.js";
42
- import "./chunk-CQRF7VU3.js";
42
+ import "./chunk-L5QASNBN.js";
43
43
  import "./chunk-AMKC3AXA.js";
44
44
  import {
45
45
  defineCommand
@@ -48,18 +48,18 @@ import "./chunk-54HJ63Q2.js";
48
48
  import {
49
49
  finishCommand
50
50
  } from "./chunk-PBN6GBJE.js";
51
- import "./chunk-OF3RKOPU.js";
52
- import "./chunk-B25H4M4V.js";
51
+ import "./chunk-G2T2X6FZ.js";
52
+ import "./chunk-FCEFKWPM.js";
53
53
  import "./chunk-UUDQD62L.js";
54
54
  import "./chunk-DPVXBVLL.js";
55
- import "./chunk-U4TDAJZE.js";
56
- import "./chunk-YLVI7VL5.js";
55
+ import "./chunk-OCNCK5FQ.js";
56
+ import "./chunk-C6AIZOQN.js";
57
57
  import "./chunk-VC76R6W2.js";
58
58
  import {
59
59
  realpath
60
60
  } from "./chunk-OFQWTKPW.js";
61
61
  import "./chunk-TWWSYAKJ.js";
62
- import "./chunk-BAVM2XBR.js";
62
+ import "./chunk-YJEGT5L6.js";
63
63
  import "./chunk-HBBJFK6I.js";
64
64
  import "./chunk-PJ3HDUCY.js";
65
65
  import "./chunk-TQFG7HTI.js";
@@ -74,7 +74,7 @@ import {
74
74
  isAttendedTerminal
75
75
  } from "./chunk-WERLJGIC.js";
76
76
  import "./chunk-ISN5GRYI.js";
77
- import "./chunk-YLOSZHA2.js";
77
+ import "./chunk-3XPZJUKM.js";
78
78
  import "./chunk-KNU5COPB.js";
79
79
  import {
80
80
  installedOptionalPackageVersion,
@@ -9,10 +9,10 @@ import {
9
9
  } from "./chunk-WBLXWOYK.js";
10
10
  import {
11
11
  loadProducer
12
- } from "./chunk-5ER3PYYP.js";
12
+ } from "./chunk-VLC7JS4K.js";
13
13
  import {
14
14
  trackLintRun
15
- } from "./chunk-JUP65S7D.js";
15
+ } from "./chunk-XZM2I47O.js";
16
16
  import {
17
17
  assertionTargets,
18
18
  buildLayoutSampleTimes,
@@ -27,49 +27,49 @@ import {
27
27
  mergeSampleTimes,
28
28
  parseAt,
29
29
  readMotionSpec
30
- } from "./chunk-NIGUNLOO.js";
31
- import "./chunk-JWPSBANO.js";
30
+ } from "./chunk-2DBYGR4N.js";
31
+ import "./chunk-OEA2J2TF.js";
32
32
  import "./chunk-XUHOIDKG.js";
33
- import "./chunk-ITBEN3QD.js";
33
+ import "./chunk-L5SYYW2P.js";
34
34
  import "./chunk-X7MTZ4T2.js";
35
- import "./chunk-32P7FTFC.js";
35
+ import "./chunk-4KGMIOMY.js";
36
36
  import "./chunk-5Z63TBTX.js";
37
37
  import "./chunk-262C25DQ.js";
38
- import "./chunk-TIZQC44K.js";
38
+ import "./chunk-3IUSKIZW.js";
39
39
  import "./chunk-YEIFI443.js";
40
- import "./chunk-MR2LOG32.js";
41
- import "./chunk-ZU54D6MI.js";
40
+ import "./chunk-VTP4VSRP.js";
41
+ import "./chunk-XFJXFNJF.js";
42
42
  import "./chunk-WEATBQTR.js";
43
- import "./chunk-5ON5GH3X.js";
44
- import "./chunk-MGFVNTIB.js";
43
+ import "./chunk-GDJ74GHW.js";
44
+ import "./chunk-LMC46FK5.js";
45
45
  import {
46
46
  resolveProject
47
- } from "./chunk-HPEHQUJX.js";
47
+ } from "./chunk-IRJBTYJF.js";
48
48
  import "./chunk-IHFUKJOR.js";
49
+ import {
50
+ resolveLocalBrowserGpuMode
51
+ } from "./chunk-T3NMEYGM.js";
49
52
  import "./chunk-PFCFR3KZ.js";
50
- import "./chunk-LAQEZHOH.js";
53
+ import "./chunk-BOUDTDBQ.js";
51
54
  import "./chunk-XT7X6QCP.js";
52
55
  import "./chunk-4YYJOFKS.js";
53
56
  import "./chunk-HVW7ABXD.js";
54
- import {
55
- resolveLocalBrowserGpuMode
56
- } from "./chunk-M224DAMG.js";
57
- import "./chunk-XYVFPDNU.js";
58
- import "./chunk-HQGJLZB6.js";
59
- import "./chunk-AWUZ3AUD.js";
57
+ import "./chunk-ENHAGQEP.js";
58
+ import "./chunk-DR7QW6C5.js";
59
+ import "./chunk-IP3XINRB.js";
60
60
  import "./chunk-AWDFDFI3.js";
61
61
  import "./chunk-GMECXFAN.js";
62
62
  import "./chunk-RDMAU7AJ.js";
63
63
  import {
64
64
  trackCheckReport,
65
65
  trackCommandFailure
66
- } from "./chunk-AMSBTN6L.js";
67
- import "./chunk-EE6SV6KW.js";
66
+ } from "./chunk-7CGIICLA.js";
67
+ import "./chunk-DDK22K3I.js";
68
68
  import "./chunk-VWG7OQKU.js";
69
69
  import {
70
70
  c
71
71
  } from "./chunk-ZTZA4UWZ.js";
72
- import "./chunk-CQRF7VU3.js";
72
+ import "./chunk-L5QASNBN.js";
73
73
  import "./chunk-AMKC3AXA.js";
74
74
  import {
75
75
  defineCommand,
@@ -86,12 +86,12 @@ import "./chunk-TJSTGSAW.js";
86
86
  import {
87
87
  extractMediaMetadata,
88
88
  findHdrAutoPromotion
89
- } from "./chunk-OF3RKOPU.js";
90
- import "./chunk-B25H4M4V.js";
89
+ } from "./chunk-G2T2X6FZ.js";
90
+ import "./chunk-FCEFKWPM.js";
91
91
  import "./chunk-UUDQD62L.js";
92
92
  import "./chunk-DPVXBVLL.js";
93
- import "./chunk-U4TDAJZE.js";
94
- import "./chunk-YLVI7VL5.js";
93
+ import "./chunk-OCNCK5FQ.js";
94
+ import "./chunk-C6AIZOQN.js";
95
95
  import "./chunk-VC76R6W2.js";
96
96
  import "./chunk-OFQWTKPW.js";
97
97
  import "./chunk-Q5X2B5WT.js";
@@ -100,7 +100,7 @@ import {
100
100
  lintProject,
101
101
  resolveProjectRelativeSrc,
102
102
  shouldBlockRender
103
- } from "./chunk-BAVM2XBR.js";
103
+ } from "./chunk-YJEGT5L6.js";
104
104
  import "./chunk-HBBJFK6I.js";
105
105
  import "./chunk-PJ3HDUCY.js";
106
106
  import "./chunk-TQFG7HTI.js";
@@ -108,12 +108,12 @@ import "./chunk-GK4AIFIH.js";
108
108
  import "./chunk-2PSPARWP.js";
109
109
  import {
110
110
  withMeta
111
- } from "./chunk-Q2QNAFQV.js";
111
+ } from "./chunk-U4VSY56O.js";
112
112
  import "./chunk-K4WIOZFP.js";
113
113
  import "./chunk-XUXGIA7H.js";
114
114
  import "./chunk-WERLJGIC.js";
115
115
  import "./chunk-ISN5GRYI.js";
116
- import "./chunk-YLOSZHA2.js";
116
+ import "./chunk-3XPZJUKM.js";
117
117
  import {
118
118
  normalizeErrorMessage
119
119
  } from "./chunk-KNU5COPB.js";
@@ -128,7 +128,7 @@ import { join, relative } from "path";
128
128
 
129
129
  // src/utils/hdrPromotion.ts
130
130
  async function bundleProjectHtml(projectDir) {
131
- const { bundleToSingleHtml } = await import("./compiler-C32VXLE2.js");
131
+ const { bundleToSingleHtml } = await import("./compiler-ZHVIEP26.js");
132
132
  return bundleToSingleHtml(projectDir);
133
133
  }
134
134
  async function collectBundledRenderMedia(html) {
@@ -417,7 +417,7 @@ async function collectGridSamples(driver, options, grid, motion) {
417
417
  contrastEntries: [],
418
418
  screenshots: [],
419
419
  contrastMs: 0,
420
- geometrySignatures: [],
420
+ layoutStateSignatures: [],
421
421
  rotationSamples: [],
422
422
  indicatorFrames: []
423
423
  };
@@ -428,7 +428,10 @@ async function collectGridSamples(driver, options, grid, motion) {
428
428
  const layoutIssues = await driver.collectLayout(time, options.tolerance, options.layout);
429
429
  collected.layoutIssues.push(...layoutIssues);
430
430
  issuesAtTime.push(...layoutIssues);
431
- collected.geometrySignatures.push({ time, signature: await driver.collectLayoutGeometry() });
431
+ collected.layoutStateSignatures.push({
432
+ time,
433
+ signature: await driver.collectLayoutGeometry()
434
+ });
432
435
  collected.rotationSamples.push(...await driver.collectRotationSample(time));
433
436
  collected.indicatorFrames.push(await driver.collectOffPivotRotationSample(time));
434
437
  }
@@ -490,12 +493,12 @@ var ZERO_LAYOUT_RECT = {
490
493
  width: 0,
491
494
  height: 0
492
495
  };
493
- function detectSweepStatic(duration, geometrySignatures, motionIssues, hasNoTimelineDeclaration) {
496
+ function detectSweepStatic(duration, layoutStateSignatures, motionIssues, hasNoTimelineDeclaration) {
494
497
  if (hasNoTimelineDeclaration) return [];
495
498
  if (duration < SWEEP_STATIC_MIN_DURATION_SEC) return [];
496
- if (geometrySignatures.length < 2) return [];
499
+ if (layoutStateSignatures.length < 2) return [];
497
500
  if (motionIssues.some((issue) => issue.code === "motion_frozen")) return [];
498
- const [first, ...rest] = geometrySignatures;
501
+ const [first, ...rest] = layoutStateSignatures;
499
502
  if (!first || rest.some((signature) => signature !== first)) return [];
500
503
  return [
501
504
  {
@@ -859,7 +862,7 @@ async function runAuditGrid(driver, options, motion) {
859
862
  const userPicked = new Set(grid.userPickedSamples);
860
863
  const sweepFindings = detectSweepStatic(
861
864
  grid.duration,
862
- collected.geometrySignatures.filter((sample) => !userPicked.has(sample.time)).map((sample) => sample.signature),
865
+ collected.layoutStateSignatures.filter((sample) => !userPicked.has(sample.time)).map((sample) => sample.signature),
863
866
  motionIssues,
864
867
  await driver.hasNoTimelineDeclaration()
865
868
  );
@@ -888,7 +891,8 @@ async function runAuditGrid(driver, options, motion) {
888
891
  contrastChecked: collected.contrastEntries.length,
889
892
  contrastPassed: contrast.passed,
890
893
  screenshots: collected.screenshots,
891
- timings: { launchSettleMs: 0, seekLoopMs, contrastMs: collected.contrastMs }
894
+ timings: { launchSettleMs: 0, seekLoopMs, contrastMs: collected.contrastMs },
895
+ skipped: false
892
896
  };
893
897
  }
894
898
  async function runCheckPipeline(project, options, dependencies = DEFAULT_DEPENDENCIES2) {
@@ -1088,6 +1092,7 @@ function buildReport(options, lint, browser, motion, extraMotionFindings, snapsh
1088
1092
  const report = {
1089
1093
  ok: errorCount === 0 && (!options.strict || warningCount === 0),
1090
1094
  strict: options.strict,
1095
+ browserSkipped: browser.skipped,
1091
1096
  lint,
1092
1097
  runtime,
1093
1098
  layout,
@@ -1197,7 +1202,8 @@ function emptyBrowserResult() {
1197
1202
  contrastChecked: 0,
1198
1203
  contrastPassed: 0,
1199
1204
  screenshots: [],
1200
- timings: { launchSettleMs: 0, seekLoopMs: 0, contrastMs: 0 }
1205
+ timings: { launchSettleMs: 0, seekLoopMs: 0, contrastMs: 0 },
1206
+ skipped: true
1201
1207
  };
1202
1208
  }
1203
1209
  function runtimeFailure(error, code = "check_runtime_failure") {
@@ -1240,7 +1246,7 @@ function resolveMotionSpec(projectDir) {
1240
1246
  };
1241
1247
  }
1242
1248
  async function runBrowserCheck(project, options, motion) {
1243
- const module = await import("./checkBrowser-3QHBTMYM.js");
1249
+ const module = await import("./checkBrowser-K36DAG4S.js");
1244
1250
  return module.runBrowserCheck(project, options, motion, runAuditGrid);
1245
1251
  }
1246
1252
  async function writeSnapshot(projectDir, index, time, pngBase64) {
@@ -1252,7 +1258,7 @@ async function writeSnapshot(projectDir, index, time, pngBase64) {
1252
1258
  return join("snapshots", filename);
1253
1259
  }
1254
1260
  async function captureFindingCrops(project, options, requests) {
1255
- const module = await import("./checkBrowser-3QHBTMYM.js");
1261
+ const module = await import("./checkBrowser-K36DAG4S.js");
1256
1262
  return module.captureFindingCrops(project, options, requests);
1257
1263
  }
1258
1264
  var DEFAULT_DEPENDENCIES2 = {
@@ -1583,6 +1589,12 @@ function nonNegativeNumber(value, fallback) {
1583
1589
  }
1584
1590
  function printHumanReport(report) {
1585
1591
  printSection("Lint", report.lint);
1592
+ if (report.browserSkipped) {
1593
+ console.log();
1594
+ console.log(
1595
+ ` ${c.warn("\u26A0")} Browser session never ran \u2014 layout, motion, and contrast below are empty placeholders, not a clean pass.`
1596
+ );
1597
+ }
1586
1598
  printSection("Runtime", report.runtime);
1587
1599
  printLayoutSection("Layout", report.layout);
1588
1600
  printSection("Motion", report.motion);
@@ -10,17 +10,17 @@ import {
10
10
  import {
11
11
  ambiguousIssue,
12
12
  loadBrowserScript
13
- } from "./chunk-NIGUNLOO.js";
13
+ } from "./chunk-2DBYGR4N.js";
14
14
  import {
15
15
  serveStaticProjectHtml
16
- } from "./chunk-JWPSBANO.js";
16
+ } from "./chunk-OEA2J2TF.js";
17
17
  import {
18
18
  auditClipDurations,
19
19
  shouldIgnoreHttpError,
20
20
  shouldIgnoreRequestFailure
21
- } from "./chunk-V4HKT2LV.js";
21
+ } from "./chunk-VIJ35BJ6.js";
22
22
  import "./chunk-XUHOIDKG.js";
23
- import "./chunk-ITBEN3QD.js";
23
+ import "./chunk-L5SYYW2P.js";
24
24
  import "./chunk-X7MTZ4T2.js";
25
25
  import {
26
26
  AUDIT_SEEK_OPTIONS,
@@ -33,69 +33,69 @@ import {
33
33
  resolveCliChromeGpuMode,
34
34
  seekCompositionTimeline,
35
35
  waitForPreferredSeekTarget
36
- } from "./chunk-32P7FTFC.js";
36
+ } from "./chunk-4KGMIOMY.js";
37
37
  import "./chunk-5Z63TBTX.js";
38
38
  import "./chunk-262C25DQ.js";
39
- import "./chunk-TIZQC44K.js";
39
+ import "./chunk-3IUSKIZW.js";
40
40
  import "./chunk-YEIFI443.js";
41
- import "./chunk-MR2LOG32.js";
42
- import "./chunk-ZU54D6MI.js";
41
+ import "./chunk-VTP4VSRP.js";
42
+ import "./chunk-XFJXFNJF.js";
43
43
  import "./chunk-WEATBQTR.js";
44
- import "./chunk-5ON5GH3X.js";
44
+ import "./chunk-GDJ74GHW.js";
45
45
  import {
46
46
  decideMediaProxyEligibility,
47
47
  proxyVariantFor,
48
48
  resolveProxy,
49
49
  scanProjectMediaCodecMap
50
- } from "./chunk-MGFVNTIB.js";
51
- import "./chunk-HPEHQUJX.js";
50
+ } from "./chunk-LMC46FK5.js";
51
+ import "./chunk-IRJBTYJF.js";
52
52
  import "./chunk-IHFUKJOR.js";
53
+ import "./chunk-T3NMEYGM.js";
53
54
  import "./chunk-PFCFR3KZ.js";
54
55
  import {
55
56
  resolveAutoProxy
56
- } from "./chunk-LAQEZHOH.js";
57
+ } from "./chunk-BOUDTDBQ.js";
57
58
  import "./chunk-XT7X6QCP.js";
58
59
  import "./chunk-4YYJOFKS.js";
59
60
  import "./chunk-HVW7ABXD.js";
60
- import "./chunk-M224DAMG.js";
61
- import "./chunk-XYVFPDNU.js";
62
- import "./chunk-HQGJLZB6.js";
63
- import "./chunk-AWUZ3AUD.js";
61
+ import "./chunk-ENHAGQEP.js";
62
+ import "./chunk-DR7QW6C5.js";
63
+ import "./chunk-IP3XINRB.js";
64
64
  import "./chunk-AWDFDFI3.js";
65
65
  import "./chunk-GMECXFAN.js";
66
66
  import "./chunk-RDMAU7AJ.js";
67
- import "./chunk-AMSBTN6L.js";
68
- import "./chunk-EE6SV6KW.js";
67
+ import "./chunk-7CGIICLA.js";
68
+ import "./chunk-DDK22K3I.js";
69
69
  import "./chunk-VWG7OQKU.js";
70
70
  import "./chunk-ZTZA4UWZ.js";
71
- import "./chunk-CQRF7VU3.js";
71
+ import "./chunk-L5QASNBN.js";
72
72
  import "./chunk-AMKC3AXA.js";
73
73
  import "./chunk-S3S4TGEH.js";
74
74
  import "./chunk-54HJ63Q2.js";
75
75
  import "./chunk-PBN6GBJE.js";
76
76
  import "./chunk-KC5XXX3X.js";
77
77
  import "./chunk-TJSTGSAW.js";
78
- import "./chunk-OF3RKOPU.js";
79
- import "./chunk-B25H4M4V.js";
78
+ import "./chunk-G2T2X6FZ.js";
79
+ import "./chunk-FCEFKWPM.js";
80
80
  import "./chunk-UUDQD62L.js";
81
81
  import "./chunk-DPVXBVLL.js";
82
- import "./chunk-U4TDAJZE.js";
83
- import "./chunk-YLVI7VL5.js";
82
+ import "./chunk-OCNCK5FQ.js";
83
+ import "./chunk-C6AIZOQN.js";
84
84
  import "./chunk-VC76R6W2.js";
85
85
  import "./chunk-OFQWTKPW.js";
86
86
  import "./chunk-TWWSYAKJ.js";
87
- import "./chunk-BAVM2XBR.js";
87
+ import "./chunk-YJEGT5L6.js";
88
88
  import "./chunk-HBBJFK6I.js";
89
89
  import "./chunk-PJ3HDUCY.js";
90
90
  import "./chunk-TQFG7HTI.js";
91
91
  import "./chunk-GK4AIFIH.js";
92
92
  import "./chunk-2PSPARWP.js";
93
- import "./chunk-Q2QNAFQV.js";
93
+ import "./chunk-U4VSY56O.js";
94
94
  import "./chunk-K4WIOZFP.js";
95
95
  import "./chunk-XUXGIA7H.js";
96
96
  import "./chunk-WERLJGIC.js";
97
97
  import "./chunk-ISN5GRYI.js";
98
- import "./chunk-YLOSZHA2.js";
98
+ import "./chunk-3XPZJUKM.js";
99
99
  import {
100
100
  normalizeErrorMessage
101
101
  } from "./chunk-KNU5COPB.js";
@@ -113,7 +113,7 @@ async function preResolveHostileMediaProxies(projectDir, html, autoProxyOverride
113
113
  try {
114
114
  codecMap = await scanProjectMediaCodecMap(projectDir, [{ html }]);
115
115
  } catch (err) {
116
- console.info(
116
+ console.error(
117
117
  `[hyperframes] media proxy pre-resolve: scan failed (${normalizeErrorMessage(err)})`
118
118
  );
119
119
  return;
@@ -133,12 +133,12 @@ async function preResolveHostileMediaProxies(projectDir, html, autoProxyOverride
133
133
  )
134
134
  );
135
135
  const failed = results.filter((result) => result.status === "rejected").length;
136
- console.info(
136
+ console.error(
137
137
  `[hyperframes] media proxy pre-resolve: ${results.length - failed}/${results.length} ready, ${failed} failed (${Date.now() - startedAt}ms)`
138
138
  );
139
139
  }
140
140
  async function runBrowserCheck(project, options, motion, runGrid) {
141
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-4Q3ETTHW.js");
141
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-4CVITCYK.js");
142
142
  const html = await bundleWithLocalizedFonts(project.dir);
143
143
  await preResolveHostileMediaProxies(project.dir, html, options.autoProxy);
144
144
  const server = await serveStaticProjectHtml(
@@ -165,7 +165,7 @@ async function runBrowserCheck(project, options, motion, runGrid) {
165
165
  await waitForPreferredSeekTarget(page);
166
166
  const rootAnchor = await resolveRootAnchor(page);
167
167
  const launchSettleMs = Date.now() - launchSettleStart;
168
- const { analyzeClipMediaFit } = await import("./src-GD7RGV5U.js");
168
+ const { analyzeClipMediaFit } = await import("./src-PJJ6NISA.js");
169
169
  for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
170
170
  drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
171
171
  }
@@ -185,7 +185,7 @@ async function runBrowserCheck(project, options, motion, runGrid) {
185
185
  }
186
186
  async function captureFindingCrops(project, options, requests) {
187
187
  if (requests.length === 0) return [];
188
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-4Q3ETTHW.js");
188
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-4CVITCYK.js");
189
189
  const html = await bundleWithLocalizedFonts(project.dir);
190
190
  const server = await serveStaticProjectHtml(
191
191
  project.dir,
@@ -365,6 +365,7 @@ async function hasNoTimelineDeclaration(page) {
365
365
  );
366
366
  }
367
367
  async function injectAuditScripts(page, contrast) {
368
+ await page.addScriptTag({ content: loadBrowserScript("motion-signature.browser.js") });
368
369
  await page.addScriptTag({ content: loadBrowserScript("layout-audit.browser.js") });
369
370
  await page.addScriptTag({ content: loadBrowserScript("motion-sample.browser.js") });
370
371
  if (contrast) {
@@ -6,19 +6,19 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  serveStaticProjectHtml
9
- } from "./chunk-JWPSBANO.js";
9
+ } from "./chunk-OEA2J2TF.js";
10
10
  import {
11
11
  AUDIT_SEEK_OPTIONS,
12
12
  installPageFunctionGuard,
13
13
  seekCompositionTimeline,
14
14
  waitForCompositionFonts
15
- } from "./chunk-32P7FTFC.js";
15
+ } from "./chunk-4KGMIOMY.js";
16
16
  import {
17
17
  resolveDiagnosticNavigationTimeoutMs
18
- } from "./chunk-TIZQC44K.js";
18
+ } from "./chunk-3IUSKIZW.js";
19
19
  import {
20
20
  resolveProject
21
- } from "./chunk-HPEHQUJX.js";
21
+ } from "./chunk-IRJBTYJF.js";
22
22
  import {
23
23
  c
24
24
  } from "./chunk-ZTZA4UWZ.js";
@@ -32,7 +32,7 @@ import {
32
32
  import {
33
33
  printDeprecationNotice,
34
34
  withMeta
35
- } from "./chunk-Q2QNAFQV.js";
35
+ } from "./chunk-U4VSY56O.js";
36
36
  import {
37
37
  normalizeErrorMessage
38
38
  } from "./chunk-KNU5COPB.js";
@@ -665,7 +665,7 @@ async function collectTweenBoundaries(page) {
665
665
  });
666
666
  }
667
667
  async function bundleProjectHtml(projectDir) {
668
- const { bundleToSingleHtml } = await import("./compiler-C32VXLE2.js");
668
+ const { bundleToSingleHtml } = await import("./compiler-ZHVIEP26.js");
669
669
  return bundleToSingleHtml(projectDir);
670
670
  }
671
671
  async function alignViewportToComposition(page, url) {
@@ -685,15 +685,15 @@ async function alignViewportToComposition(page, url) {
685
685
  });
686
686
  }
687
687
  async function runLayoutAudit(projectDir, opts) {
688
- const { ensureBrowser } = await import("./manager-NEVLEZK3.js");
688
+ const { ensureBrowser } = await import("./manager-CT3D67CG.js");
689
689
  const puppeteer = await import("puppeteer-core");
690
- const { buildChromeArgs } = await import("./src-GD7RGV5U.js");
690
+ const { buildChromeArgs } = await import("./src-PJJ6NISA.js");
691
691
  const {
692
692
  assertWebGpuAdapterAvailable,
693
693
  compositionRequiresWebGpu,
694
694
  resolveCaptureBrowserGpuMode,
695
695
  resolveLocalBrowserGpuMode
696
- } = await import("./gpuPolicy-CA6KRFQQ.js");
696
+ } = await import("./gpuPolicy-LRMOZXFU.js");
697
697
  const html = await bundleProjectHtml(projectDir);
698
698
  const server = await serveStaticProjectHtml(
699
699
  projectDir,
@@ -834,6 +834,7 @@ async function runMotionPass(page, spec, duration) {
834
834
  width: window.innerWidth,
835
835
  height: window.innerHeight
836
836
  }));
837
+ await page.addScriptTag({ content: loadBrowserScript("motion-signature.browser.js") });
837
838
  await page.addScriptTag({ content: loadBrowserScript("motion-sample.browser.js") });
838
839
  const frames = await collectMotionFrames(page, times, selectors, livenessScopes);
839
840
  return { issues: evaluateMotion(frames, spec.assertions, canvas), sampleCount: frames.length };
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-PBN6GBJE.js";
16
16
  import {
17
17
  parseFps
18
- } from "./chunk-B25H4M4V.js";
18
+ } from "./chunk-FCEFKWPM.js";
19
19
 
20
20
  // src/utils/renderArgs.ts
21
21
  import { readFileSync } from "fs";
@@ -6,8 +6,8 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
 
8
8
  // src/version.ts
9
- var VERSION = true ? "0.8.111" : "0.0.0-dev";
10
- var PRODUCER_VERSION = true ? "0.8.111" : "0.0.0-dev";
9
+ var VERSION = true ? "0.8.113" : "0.0.0-dev";
10
+ var PRODUCER_VERSION = true ? "0.8.113" : "0.0.0-dev";
11
11
 
12
12
  export {
13
13
  VERSION,
@@ -12,18 +12,18 @@ import {
12
12
  } from "./chunk-262C25DQ.js";
13
13
  import {
14
14
  resolveDiagnosticNavigationTimeoutMs
15
- } from "./chunk-TIZQC44K.js";
15
+ } from "./chunk-3IUSKIZW.js";
16
16
  import {
17
17
  resolveCaptureBrowserGpuMode,
18
18
  resolveLocalBrowserGpuMode
19
- } from "./chunk-M224DAMG.js";
19
+ } from "./chunk-T3NMEYGM.js";
20
20
  import {
21
21
  c
22
22
  } from "./chunk-ZTZA4UWZ.js";
23
23
  import {
24
24
  assertWebGpuAdapterAvailable,
25
25
  compositionRequiresWebGpu
26
- } from "./chunk-OF3RKOPU.js";
26
+ } from "./chunk-G2T2X6FZ.js";
27
27
  import {
28
28
  normalizeErrorMessage
29
29
  } from "./chunk-KNU5COPB.js";
@@ -96,10 +96,10 @@ async function installPageFunctionGuard(page) {
96
96
  }
97
97
  async function openSettledCompositionPage(html, url, options) {
98
98
  const viewport = resolveCompositionViewportFromHtml(html);
99
- const { ensureBrowser, findSystemBrowser } = await import("./manager-NEVLEZK3.js");
99
+ const { ensureBrowser, findSystemBrowser } = await import("./manager-CT3D67CG.js");
100
100
  const browser = await ensureBrowser();
101
101
  const puppeteer = await import("puppeteer-core");
102
- const { buildChromeArgs } = await import("./src-GD7RGV5U.js");
102
+ const { buildChromeArgs } = await import("./src-PJJ6NISA.js");
103
103
  const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
104
104
  const requiresWebGpu = compositionRequiresWebGpu(html);
105
105
  const launch = async (executablePath) => {
@@ -165,7 +165,7 @@ async function seekCompositionTimeline(page, timeSeconds, options = {}) {
165
165
  await page.evaluate(
166
166
  // Serialized into the page; the seek-target cascade must stay one function.
167
167
  // fallow-ignore-next-line complexity
168
- (t, fallbackToBridgeAndTimelines) => {
168
+ (t, fallbackToBridgeAndTimelines, exactTime) => {
169
169
  const getProperty = (target, key) => {
170
170
  if ((typeof target !== "object" || target === null) && typeof target !== "function") {
171
171
  return void 0;
@@ -184,7 +184,7 @@ async function seekCompositionTimeline(page, timeSeconds, options = {}) {
184
184
  const playerSeek = getProperty(player, "seek");
185
185
  const hf = Reflect.get(window, "__hf");
186
186
  const bridgeSeek = getProperty(hf, "seek");
187
- if (call(renderSeek, player, [safe])) {
187
+ if (call(renderSeek, player, exactTime ? [safe, { exact: true }] : [safe])) {
188
188
  } else if (fallbackToBridgeAndTimelines && call(bridgeSeek, hf, [safe])) {
189
189
  } else if (call(playerSeek, player, [safe])) {
190
190
  } else if (fallbackToBridgeAndTimelines) {
@@ -202,7 +202,8 @@ async function seekCompositionTimeline(page, timeSeconds, options = {}) {
202
202
  call(getProperty(ticker, "tick"), ticker, []);
203
203
  },
204
204
  timeSeconds,
205
- options.fallbackToBridgeAndTimelines === true
205
+ options.fallbackToBridgeAndTimelines === true,
206
+ options.exactTime === true
206
207
  );
207
208
  await page.evaluate(async () => {
208
209
  const waitForCompletion = Reflect.get(window, "__hfWaitForSeekCompletion");