hyperframes 0.8.173 → 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 (187) hide show
  1. package/dist/{add-V7VBTFNG.js → add-S4AOKSNH.js} +14 -15
  2. package/dist/{animatedGifPrep-62S72ZY6.js → animatedGifPrep-QRDM2NMV.js} +9 -11
  3. package/dist/api.js +19 -21
  4. package/dist/{asset-Z4JI2F6V.js → asset-DQ45BUBL.js} +2 -2
  5. package/dist/{assetCataloger-Q7LE7BCC.js → assetCataloger-NPDCMAYE.js} +9 -11
  6. package/dist/{audio-HIHNLQJ7.js → audio-OOAXEELO.js} +16 -18
  7. package/dist/{auth-4K6DSZCD.js → auth-33IY64LT.js} +2 -2
  8. package/dist/{autoUpdate-DXZDD5VT.js → autoUpdate-KGLJUGNZ.js} +2 -2
  9. package/dist/{backgroundChecks-ODMKKJ4S.js → backgroundChecks-DQPHYLVN.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-I4BFJGPA.js → batchRender-KXXTVNPB.js} +4 -4
  12. package/dist/{beats-7QCA6GDR.js → beats-WDYSCACS.js} +6 -7
  13. package/dist/{benchmark-IT4WTSMZ.js → benchmark-WOAULMYW.js} +11 -12
  14. package/dist/{browser-5VHM72PM.js → browser-2HX46R74.js} +5 -6
  15. package/dist/{bundleWithLocalizedFonts-MKTQCB2Y.js → bundleWithLocalizedFonts-32N7TVM6.js} +2 -2
  16. package/dist/{capture-B5Y45EWD.js → capture-5ASPHTMF.js} +22 -18
  17. package/dist/{capture-CMNNIMIL.js → capture-7LR5UVM2.js} +2 -2
  18. package/dist/{catalog-AKPJ65GY.js → catalog-LVW3RT4U.js} +15 -16
  19. package/dist/{catch-up-2SVYRMD3.js → catch-up-W6Z73GXL.js} +6 -7
  20. package/dist/{check-Q7AX6K7O.js → check-C23ZWACZ.js} +56 -52
  21. package/dist/{checkBrowser-CPXD5BZY.js → checkBrowser-WS6FSLBJ.js} +182 -88
  22. package/dist/{chunk-QVPOR7WE.js → chunk-32GKETR7.js} +22 -1
  23. package/dist/{chunk-4RDDUBOC.js → chunk-3Q4Y33FT.js} +11 -11
  24. package/dist/{chunk-2DWYRHJS.js → chunk-3SWMUZ4Y.js} +2 -2
  25. package/dist/{chunk-PBVUVNWP.js → chunk-3X3CELOP.js} +1 -1
  26. package/dist/{chunk-5E43335V.js → chunk-42T7OP4O.js} +1 -1
  27. package/dist/{chunk-TWZRU64W.js → chunk-4XM6VXLN.js} +7 -7
  28. package/dist/{chunk-6JQDH4O6.js → chunk-7E4YFL4U.js} +1 -1
  29. package/dist/{chunk-NOMPG5HQ.js → chunk-7GUAZGSW.js} +3 -3
  30. package/dist/{chunk-XRQBHOBT.js → chunk-B4VT6YU2.js} +2 -2
  31. package/dist/{chunk-2BL7BJ22.js → chunk-BHMWVRNS.js} +1 -1
  32. package/dist/{chunk-LN4SZS7W.js → chunk-CEYY3SOX.js} +3 -3
  33. package/dist/chunk-CIWX5UKC.js +16 -0
  34. package/dist/{chunk-CBOYQOLY.js → chunk-DQY6WTF7.js} +1 -1
  35. package/dist/{chunk-BCPJSBCS.js → chunk-DZMWNCHM.js} +7 -3
  36. package/dist/chunk-EEXE43II.js +3805 -0
  37. package/dist/{chunk-ROQBQHBK.js → chunk-EKDTCSCL.js} +1 -1
  38. package/dist/{chunk-L4SFGSSQ.js → chunk-FRNKM4MG.js} +1 -1
  39. package/dist/{chunk-6HKO6VWS.js → chunk-G7I3WZK4.js} +1 -1
  40. package/dist/{chunk-2TNPXPI5.js → chunk-GK2FIKIQ.js} +10 -8
  41. package/dist/chunk-HIP62XAW.js +36 -0
  42. package/dist/{chunk-FDWTZVA6.js → chunk-IUOPF3DL.js} +1 -1
  43. package/dist/{chunk-N7RTLKMM.js → chunk-J53AJK3Q.js} +2 -2
  44. package/dist/{chunk-OFFNB2SU.js → chunk-JNL3RMDG.js} +241 -6
  45. package/dist/{chunk-HCOL75LA.js → chunk-JT7PV3GL.js} +3 -3
  46. package/dist/{chunk-6RIH2NDU.js → chunk-KHR4IJAW.js} +178 -122
  47. package/dist/{chunk-WIAO42MD.js → chunk-KZHYAGC3.js} +5 -5
  48. package/dist/{chunk-C4QGOXO2.js → chunk-KZQGUXG5.js} +494 -136
  49. package/dist/{chunk-2QJDC4NT.js → chunk-LY2GLSOS.js} +1 -1
  50. package/dist/{chunk-CHALU2TF.js → chunk-LZT3NUTE.js} +1 -1
  51. package/dist/{chunk-BTPZ74Z3.js → chunk-MJZQ44NV.js} +1 -1
  52. package/dist/{chunk-YOOW26KG.js → chunk-NELZN7SV.js} +2 -2
  53. package/dist/{chunk-VFCKXTBB.js → chunk-NL5F3AD4.js} +27 -38
  54. package/dist/{chunk-X3SCQP2A.js → chunk-NSWIF4VH.js} +1 -1
  55. package/dist/{chunk-L3RCYYON.js → chunk-NWEER3QY.js} +2 -2
  56. package/dist/{chunk-3O45NOL7.js → chunk-NZRAS3FB.js} +1 -1
  57. package/dist/chunk-NZZYJOMJ.js +136 -0
  58. package/dist/{chunk-5JTRGGTX.js → chunk-O6FWDZYJ.js} +1 -1
  59. package/dist/{chunk-2YTOJ447.js → chunk-OUMYTLPP.js} +3 -3
  60. package/dist/{chunk-QURKHVV5.js → chunk-OYEDHVSI.js} +1 -1
  61. package/dist/{chunk-BYRHCRU3.js → chunk-PBKOURSI.js} +2 -2
  62. package/dist/{chunk-MWNSVO4P.js → chunk-QMQZXNGU.js} +8 -8
  63. package/dist/{chunk-XDPXSQJO.js → chunk-QWCXGTOH.js} +1 -1
  64. package/dist/{chunk-V2D4QZBC.js → chunk-RAZVWSU5.js} +3 -3
  65. package/dist/{chunk-O433SZAJ.js → chunk-RERXOG54.js} +35 -16
  66. package/dist/{chunk-IK3SOMZ4.js → chunk-S354WIFQ.js} +19 -22
  67. package/dist/{chunk-QWQ6GQTI.js → chunk-T6AGUTZJ.js} +2 -4
  68. package/dist/{chunk-PCLYCYBK.js → chunk-TNDNFZOK.js} +4 -4
  69. package/dist/{chunk-SOAXQ7Q7.js → chunk-UWUKJDTA.js} +2 -2
  70. package/dist/{chunk-KR5ZHRF2.js → chunk-V7T7WA2K.js} +2 -2
  71. package/dist/{chunk-U7EGMXQR.js → chunk-VEQ7DKPG.js} +4 -17
  72. package/dist/{chunk-JYVGYKXG.js → chunk-W2LGJSEN.js} +73 -1
  73. package/dist/{chunk-ETPPGNJB.js → chunk-W5USVP6Z.js} +2 -2
  74. package/dist/{chunk-H5C375DW.js → chunk-WDFLYDKN.js} +5 -5
  75. package/dist/{chunk-BYVBP3U5.js → chunk-XDK2FUAC.js} +9 -9
  76. package/dist/{chunk-TDPVEMBS.js → chunk-XFCLWWL3.js} +1 -1
  77. package/dist/{chunk-TNHRCZT3.js → chunk-XRRDVRCY.js} +42 -2
  78. package/dist/{chunk-4D2T6Y5Y.js → chunk-YCSCDQDS.js} +6 -6
  79. package/dist/{chunk-XZNKIYIG.js → chunk-YMU42UU2.js} +1 -1
  80. package/dist/{chunk-ODR7V2JL.js → chunk-Z2R7CFWH.js} +1 -1
  81. package/dist/{chunk-X2ALZSKK.js → chunk-ZD7QKZSS.js} +3 -3
  82. package/dist/{chunk-45IAFBUP.js → chunk-ZDOWJ3NS.js} +14 -14
  83. package/dist/{chunk-A2DMF2Q6.js → chunk-ZGSLXWH2.js} +2 -2
  84. package/dist/{chunk-KRWEUM4R.js → chunk-ZXHEOTYW.js} +1 -1
  85. package/dist/{clean-SBFI3ZKR.js → clean-KBNXV6DP.js} +18 -20
  86. package/dist/cli.js +53 -53
  87. package/dist/{cloud-IRE4HLEK.js → cloud-BWWKDRR6.js} +4 -4
  88. package/dist/{cloudrun-GIHWEBGM.js → cloudrun-P35BPQCO.js} +5 -5
  89. package/dist/commands/contrast-audit.browser.js +18 -50
  90. package/dist/{compare-S6NM2FSV.js → compare-UWJRKF5K.js} +28 -30
  91. package/dist/{compiler-WCWRB2LZ.js → compiler-5TFPJPQQ.js} +5 -6
  92. package/dist/{component-WDFZQ2HN.js → component-SWOGSIO2.js} +3 -3
  93. package/dist/{compositions-RMUBDPD4.js → compositions-PIPVEXE3.js} +14 -16
  94. package/dist/{delete-SDNARGJ4.js → delete-OXIDK7N3.js} +4 -4
  95. package/dist/{deploy-4MK3Y67M.js → deploy-NKWMPAMH.js} +19 -5
  96. package/dist/{destroy-GFQLTIY3.js → destroy-UKP522AE.js} +4 -2
  97. package/dist/{deterministicFonts-RWGQPEZU.js → deterministicFonts-L7YEEFGI.js} +1 -1
  98. package/dist/{dist-FAN2FFAV.js → dist-2FMTAVGL.js} +3 -3
  99. package/dist/{dist-65ELHZOF.js → dist-U2HCECNB.js} +3 -3
  100. package/dist/{doctor-YPCZILXV.js → doctor-KLQLFPCF.js} +14 -16
  101. package/dist/{events-Q2K7SNEZ.js → events-EGCYD45B.js} +5 -6
  102. package/dist/{events-INXDJ44V.js → events-EVTTGISX.js} +4 -5
  103. package/dist/{feedback-FRGRCTIX.js → feedback-G4WZLOVD.js} +10 -11
  104. package/dist/{ffmpeg-7BYARPLM.js → ffmpeg-QIYSAPHO.js} +24 -4
  105. package/dist/{figma-C262EFOC.js → figma-Q4CKDE7M.js} +3 -3
  106. package/dist/fontLocalizeCli.js +12 -14
  107. package/dist/{get-ZIUUGSVI.js → get-NPRQH64W.js} +4 -4
  108. package/dist/{gpuPolicy-FRLW63IY.js → gpuPolicy-L72BQRFR.js} +9 -11
  109. package/dist/{grade-compare-DN342HJC.js → grade-compare-H4NJEL4P.js} +29 -31
  110. package/dist/{help-XQPBPSBP.js → help-2S3XXDEA.js} +1 -1
  111. package/dist/{history-PF5FUC6M.js → history-X4CGCVEQ.js} +8 -9
  112. package/dist/hyperframe-runtime.js +59 -59
  113. package/dist/hyperframe.manifest.json +1 -1
  114. package/dist/hyperframe.runtime.iife.js +59 -59
  115. package/dist/hyperframes-player.global.js +3 -3
  116. package/dist/{info-PC7IKGVB.js → info-YYUISGL7.js} +10 -11
  117. package/dist/{init-ORZX3PSQ.js → init-BAAI4ZMR.js} +34 -34
  118. package/dist/{inspect-L5GRL6SP.js → inspect-LXJ3XJUZ.js} +29 -31
  119. package/dist/{installer-KXS557O7.js → installer-NY5E5HCO.js} +5 -5
  120. package/dist/{keyframes-EIZDSXUH.js → keyframes-NXXJSQWG.js} +8 -9
  121. package/dist/{lambda-U3N7MRD7.js → lambda-PG3JKNWS.js} +16 -12
  122. package/dist/{layout-WHAVE2H5.js → layout-CBFO36IE.js} +29 -31
  123. package/dist/{lint-I7PYIW56.js → lint-Y6NWQTKF.js} +11 -12
  124. package/dist/{lintProject-7IEOAXJY.js → lintProject-ARKJXDQF.js} +3 -3
  125. package/dist/{list-XXQM3WDO.js → list-VY6KIYTX.js} +4 -4
  126. package/dist/{login-64NUUDYU.js → login-426Q3H3P.js} +4 -4
  127. package/dist/{manager-B6MVBM2E.js → manager-3RRUFZ4H.js} +25 -3
  128. package/dist/{media-treatment-5XIM4A3F.js → media-treatment-ZVIXMJZJ.js} +23 -18
  129. package/dist/{models-WRB3S67Z.js → models-KC2QBPVK.js} +13 -15
  130. package/dist/{motionShot-BOFBL73C.js → motionShot-3ZSLQJ4D.js} +19 -21
  131. package/dist/{normalize-audio-PP4BSZSU.js → normalize-audio-DRU5LFYU.js} +6 -7
  132. package/dist/{open-F4CUWMZF.js → open-LPBZQ4DC.js} +14 -15
  133. package/dist/{parakeetRunner-O7QYJ7V7.js → parakeetRunner-IFY6NK5G.js} +16 -18
  134. package/dist/{pipeline-BCHSFFT3.js → pipeline-AGMCDT5A.js} +11 -13
  135. package/dist/{play-PPBR2GJK.js → play-WVWXNQED.js} +21 -23
  136. package/dist/{policies-DCSIM4AB.js → policies-5NTZOHJA.js} +2 -0
  137. package/dist/preflight-I5JGCCKM.js +52 -0
  138. package/dist/{present-Y7VTCZRZ.js → present-IPTWJUKY.js} +17 -19
  139. package/dist/{preview-53AD4OME.js → preview-JVLRQVD7.js} +34 -25
  140. package/dist/{producer-WBJDNLBF.js → producer-HKGHSAON.js} +1 -1
  141. package/dist/{progress-5AM2MZ7V.js → progress-I37JB7R4.js} +1 -0
  142. package/dist/{projectConfig-4KUGQ4P6.js → projectConfig-HDALEM6S.js} +7 -7
  143. package/dist/{publication-OFDIFS4R.js → publication-NX4VC7UU.js} +3 -3
  144. package/dist/{publish-RWWTY743.js → publish-AZRRQUXM.js} +11 -11
  145. package/dist/{remove-background-G7VK3VKP.js → remove-background-WY7KA77M.js} +12 -14
  146. package/dist/{render-52W63I3Y.js → render-BEDATKWV.js} +14 -15
  147. package/dist/{render-6CXZNXXZ.js → render-HGT3EGIK.js} +9 -4
  148. package/dist/{render-7PPMS4P6.js → render-P3PFNCBA.js} +40 -38
  149. package/dist/{render-batch-2EJVUVVN.js → render-batch-MUCDZ2WF.js} +4 -4
  150. package/dist/renderSetupWorker.js +3 -3
  151. package/dist/{resolver-FF5GV6IA.js → resolver-FLQ42X2Y.js} +5 -5
  152. package/dist/sam-IKPEJRRO.js +21 -0
  153. package/dist/{screenshotCapture-XAYELJK7.js → screenshotCapture-HXEZ3TNJ.js} +20 -3
  154. package/dist/{sherpa-QJPI6B5S.js → sherpa-SQGEFX3S.js} +15 -17
  155. package/dist/skills/hyperframes/SKILL.md +42 -0
  156. package/dist/skills/hyperframes-cli/references/cloud.md +1 -1
  157. package/dist/skills/media-use/scripts/lib/recipe-store.mjs +5 -2
  158. package/dist/{skills-H6ZJNOLH.js → skills-D2FIQ2JN.js} +11 -10
  159. package/dist/{skillsUpdateCheck-4EBGMO2A.js → skillsUpdateCheck-2OLTHCBX.js} +3 -3
  160. package/dist/{snapshot-DZRUBWRH.js → snapshot-R7U73M3N.js} +32 -34
  161. package/dist/{src-WD5GOYON.js → src-4COYCAFY.js} +8 -10
  162. package/dist/{src-ZL7ACIZ3.js → src-WOD4AEI3.js} +11 -13
  163. package/dist/{staticProjectServer-72JF5PPO.js → staticProjectServer-DG4VZO4G.js} +15 -16
  164. package/dist/{status-RGHSK3DJ.js → status-BV7QAUQD.js} +2 -3
  165. package/dist/studio/assets/{hyperframes-player-B-wEZiX3.js → hyperframes-player-BByRREAU.js} +1 -1
  166. package/dist/studio/assets/{index-DPugLDRK.js → index-CULLUqJo.js} +1 -1
  167. package/dist/studio/assets/{index-Bvkb0Zxy.js → index-Wz-WEqHg.js} +97 -97
  168. package/dist/studio/index.html +1 -1
  169. package/dist/{studio-api-BL6CLOA6.js → studio-api-RGNBVLLL.js} +9 -10
  170. package/dist/{studioServer-TRWCZZXP.js → studioServer-LC5T4OXQ.js} +48 -50
  171. package/dist/{system-VRXC6S4A.js → system-7F3UEHQT.js} +2 -3
  172. package/dist/{telemetry-FDSW3ZOZ.js → telemetry-BLOE3TWY.js} +5 -6
  173. package/dist/{timeline-ZRN336EA.js → timeline-QQPPMADL.js} +124 -51
  174. package/dist/{tokens-RMLNQHIB.js → tokens-E3SHBFDU.js} +2 -2
  175. package/dist/{transcribe-AEHHCYAL.js → transcribe-D5N7SBDO.js} +22 -24
  176. package/dist/{transcribe-SOODKU6H.js → transcribe-O2AQ5E2L.js} +12 -14
  177. package/dist/{updateCheck-OSPEYRBY.js → updateCheck-ELOZ2CID.js} +2 -2
  178. package/dist/{upgrade-AK4S7DMX.js → upgrade-JDFZEPZY.js} +2 -2
  179. package/dist/{urlDownloader-FSCMLFG7.js → urlDownloader-32OGC3EW.js} +8 -10
  180. package/dist/{validate-JJTCKZIV.js → validate-LQQEABER.js} +23 -25
  181. package/dist/{video-ZDM5CFI2.js → video-HXIM27TO.js} +9 -11
  182. package/package.json +1 -1
  183. package/dist/chunk-7JDEZNBY.js +0 -3805
  184. package/dist/chunk-7KDQAD2W.js +0 -81
  185. package/dist/chunk-BXCMXMJQ.js +0 -73
  186. package/dist/chunk-KCF6GHJP.js +0 -250
  187. package/dist/preflight-G5KP7ZKA.js +0 -32
@@ -8,7 +8,7 @@ import {
8
8
  auditClipDurations,
9
9
  shouldIgnoreHttpError,
10
10
  shouldIgnoreRequestFailure
11
- } from "./chunk-45IAFBUP.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-BYVBP3U5.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-6RIH2NDU.js";
34
+ } from "./chunk-KHR4IJAW.js";
35
+ import "./chunk-FH7WODJH.js";
33
36
  import {
34
37
  BrowserCleanupError,
35
38
  closeManagedBrowser
36
- } from "./chunk-TNHRCZT3.js";
37
- import "./chunk-FH7WODJH.js";
38
- import "./chunk-V2D4QZBC.js";
39
+ } from "./chunk-XRRDVRCY.js";
40
+ import "./chunk-RAZVWSU5.js";
39
41
  import "./chunk-BRHI7EIA.js";
40
- import "./chunk-CBOYQOLY.js";
41
- import "./chunk-6JQDH4O6.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-2YTOJ447.js";
47
+ } from "./chunk-OUMYTLPP.js";
46
48
  import "./chunk-X7MTZ4T2.js";
47
- import "./chunk-N7RTLKMM.js";
49
+ import "./chunk-J53AJK3Q.js";
48
50
  import "./chunk-XUHOIDKG.js";
49
- import "./chunk-4RDDUBOC.js";
50
- import "./chunk-PCLYCYBK.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,30 +58,30 @@ import {
56
58
  proxyVariantFor,
57
59
  resolveProxies,
58
60
  scanProjectMediaCodecMap
59
- } from "./chunk-XDPXSQJO.js";
61
+ } from "./chunk-QWCXGTOH.js";
60
62
  import "./chunk-GMJ3ILLW.js";
61
63
  import "./chunk-FFDC5OWV.js";
62
- import "./chunk-KR5ZHRF2.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-CHALU2TF.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-5E43335V.js";
73
+ import "./chunk-42T7OP4O.js";
72
74
  import "./chunk-JHOCK3DG.js";
73
- import "./chunk-L3RCYYON.js";
74
- import "./chunk-QURKHVV5.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-BYRHCRU3.js";
80
- import "./chunk-ETPPGNJB.js";
81
+ import "./chunk-PBKOURSI.js";
82
+ import "./chunk-W5USVP6Z.js";
81
83
  import "./chunk-VWG7OQKU.js";
82
- import "./chunk-QWQ6GQTI.js";
84
+ import "./chunk-T6AGUTZJ.js";
83
85
  import "./chunk-S3S4TGEH.js";
84
86
  import "./chunk-54HJ63Q2.js";
85
87
  import "./chunk-PBN6GBJE.js";
@@ -87,21 +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-XZNKIYIG.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-YOOW26KG.js";
97
+ import "./chunk-NELZN7SV.js";
96
98
  import "./chunk-EOVYQ3IG.js";
97
99
  import "./chunk-XT6MXC7A.js";
98
- import "./chunk-O433SZAJ.js";
99
- import "./chunk-OFFNB2SU.js";
100
- import "./chunk-KCF6GHJP.js";
101
- import "./chunk-JYVGYKXG.js";
102
- import "./chunk-7KDQAD2W.js";
103
- import "./chunk-U7EGMXQR.js";
104
- import "./chunk-7JDEZNBY.js";
100
+ import "./chunk-RERXOG54.js";
101
+ import "./chunk-JNL3RMDG.js";
102
+ import "./chunk-W2LGJSEN.js";
103
+ import "./chunk-VEQ7DKPG.js";
104
+ import "./chunk-EEXE43II.js";
105
105
  import "./chunk-VC76R6W2.js";
106
106
  import "./chunk-UJKQWGFF.js";
107
107
  import "./chunk-YMS5FOMC.js";
@@ -111,11 +111,11 @@ import "./chunk-T76PLPD6.js";
111
111
  import "./chunk-FXMKHHPO.js";
112
112
  import "./chunk-RQVDTPGD.js";
113
113
  import "./chunk-TWWSYAKJ.js";
114
- import "./chunk-2TNPXPI5.js";
114
+ import "./chunk-GK2FIKIQ.js";
115
115
  import "./chunk-6BNTGNGD.js";
116
- import "./chunk-OYLO6TYK.js";
117
116
  import "./chunk-VAS6HQX3.js";
118
- import "./chunk-QVPOR7WE.js";
117
+ import "./chunk-OYLO6TYK.js";
118
+ import "./chunk-32GKETR7.js";
119
119
  import "./chunk-BSQ7XANM.js";
120
120
  import "./chunk-SDYDNHEE.js";
121
121
  import "./chunk-TYXH3EKP.js";
@@ -296,7 +296,7 @@ function proxyFailedDraft(message) {
296
296
  return { code: "media_proxy_failed", severity: "warning", message, time: 0 };
297
297
  }
298
298
  async function runBrowserCheck(project, options, motion, runGrid, deadline) {
299
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-MKTQCB2Y.js");
299
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-32N7TVM6.js");
300
300
  const html = await bundleWithLocalizedFonts(project.dir);
301
301
  const { findings: drafts, failedPaths } = await preResolveHostileMediaProxies(
302
302
  project.dir,
@@ -310,7 +310,16 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
310
310
  [],
311
311
  options.autoProxy
312
312
  );
313
- 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
+ };
314
323
  let failure = { kind: "none" };
315
324
  let chromeBrowser;
316
325
  try {
@@ -324,7 +333,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
324
333
  onBrowser: deadline?.ownBrowser,
325
334
  onBrowserReady: deadline?.start,
326
335
  beforeNavigate: async (page2) => {
327
- wireRuntimeListeners(page2, drafts, () => currentTime);
336
+ wireRuntimeListeners(page2, drafts, clock);
328
337
  await deadline?.preparePage(page2);
329
338
  }
330
339
  });
@@ -333,7 +342,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
333
342
  await waitForPreferredSeekTarget(page);
334
343
  const rootAnchor = await resolveRootAnchor(page);
335
344
  const launchSettleMs = Date.now() - launchSettleStart;
336
- const { analyzeClipMediaFit } = await import("./src-WD5GOYON.js");
345
+ const { analyzeClipMediaFit } = await import("./src-4COYCAFY.js");
337
346
  for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
338
347
  drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
339
348
  }
@@ -341,9 +350,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
341
350
  const message = tweenTailMessage(tail);
342
351
  drafts.push({ code: "gsap_tween_tail", severity: "warning", message, time: tail.later.end });
343
352
  }
344
- const driver = createPageDriver(page, (time) => {
345
- currentTime = time;
346
- });
353
+ const driver = createPageDriver(page, clock);
347
354
  const result = await runGrid(driver, options, motion);
348
355
  const broken = await abortedImagesStillBroken(page, drafts);
349
356
  return {
@@ -363,7 +370,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
363
370
  }
364
371
  async function captureFindingCrops(project, options, requests, deadline) {
365
372
  if (requests.length === 0) return [];
366
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-MKTQCB2Y.js");
373
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-32N7TVM6.js");
367
374
  const html = await bundleWithLocalizedFonts(project.dir);
368
375
  const server = await serveStaticProjectHtml(
369
376
  project.dir,
@@ -392,7 +399,7 @@ async function captureFindingCrops(project, options, requests, deadline) {
392
399
  const snapshotDir = checkSnapshotDirectory(project.dir);
393
400
  mkdirSync(snapshotDir, { recursive: true });
394
401
  for (const request of requests) {
395
- await seekCompositionTimeline(page, request.time, AUDIT_SEEK_OPTIONS);
402
+ await seekCompositionTimeline(page, request.time, SCREENSHOT_SEEK_OPTIONS);
396
403
  const canvas = await page.evaluate(() => ({
397
404
  width: window.innerWidth,
398
405
  height: window.innerHeight
@@ -446,7 +453,8 @@ function runtimeInfoFindingCode(text) {
446
453
  if (!text.startsWith(MEDIA_PROXY_MARKER_PREFIX)) return null;
447
454
  return text.includes(MEDIA_PROXY_UNAVAILABLE_MARKER) ? "media_proxy_unavailable" : "media_proxy_fallback";
448
455
  }
449
- function wireRuntimeListeners(page, drafts, currentTime) {
456
+ function wireRuntimeListeners(page, drafts, clock) {
457
+ followSampleTimeMarkers(page, clock.at);
450
458
  page.on("console", (message) => {
451
459
  const type = message.type();
452
460
  const text = message.text();
@@ -456,7 +464,7 @@ function wireRuntimeListeners(page, drafts, currentTime) {
456
464
  code: "console_error",
457
465
  severity: "error",
458
466
  message: text,
459
- time: currentTime(),
467
+ ...clock.now(),
460
468
  url: location.url,
461
469
  line: location.lineNumber
462
470
  });
@@ -467,7 +475,7 @@ function wireRuntimeListeners(page, drafts, currentTime) {
467
475
  code: webGpuFailure ? "webgpu_runtime_error" : "console_warning",
468
476
  severity: webGpuFailure ? "error" : "warning",
469
477
  message: text,
470
- time: currentTime(),
478
+ ...clock.now(),
471
479
  url: location.url,
472
480
  line: location.lineNumber
473
481
  });
@@ -479,7 +487,7 @@ function wireRuntimeListeners(page, drafts, currentTime) {
479
487
  code,
480
488
  severity: "info",
481
489
  message: text,
482
- time: currentTime(),
490
+ ...clock.now(),
483
491
  url: location.url,
484
492
  line: location.lineNumber
485
493
  });
@@ -494,10 +502,10 @@ function wireRuntimeListeners(page, drafts, currentTime) {
494
502
  code: "page_error",
495
503
  severity: "error",
496
504
  message,
497
- time: currentTime()
505
+ ...clock.now()
498
506
  });
499
507
  });
500
- wireNetworkListeners(page, drafts, currentTime);
508
+ wireNetworkListeners(page, drafts, clock);
501
509
  }
502
510
  function keepBrokenImageAborts(drafts, broken) {
503
511
  return drafts.filter((draft) => !draft.abortedImage || broken.has(draft.url ?? ""));
@@ -560,7 +568,7 @@ async function abortedImagesStillBroken(page, drafts) {
560
568
  );
561
569
  return new Set(broken);
562
570
  }
563
- function wireNetworkListeners(page, drafts, currentTime) {
571
+ function wireNetworkListeners(page, drafts, clock) {
564
572
  page.on("requestfailed", (request) => {
565
573
  const url = request.url();
566
574
  if (url.includes("favicon") || url.startsWith("data:")) return;
@@ -570,7 +578,7 @@ function wireNetworkListeners(page, drafts, currentTime) {
570
578
  code: "request_failed",
571
579
  severity: "error",
572
580
  message: `Failed to load ${urlPath(url)}: ${failure ?? "net::ERR_FAILED"}`,
573
- time: currentTime(),
581
+ ...clock.now(),
574
582
  url,
575
583
  abortedImage: failure === "net::ERR_ABORTED" && request.resourceType() === "image"
576
584
  });
@@ -584,12 +592,12 @@ function wireNetworkListeners(page, drafts, currentTime) {
584
592
  code: "http_error",
585
593
  severity: "error",
586
594
  message: `${response.status()} loading ${urlPath(url)}`,
587
- time: currentTime(),
595
+ ...clock.now(),
588
596
  url
589
597
  });
590
598
  });
591
599
  }
592
- function createPageDriver(page, setTime) {
600
+ function createPageDriver(page, clock) {
593
601
  return {
594
602
  initialize: (contrast) => injectAuditScripts(page, contrast),
595
603
  matchComponents: (components, findings) => page.evaluate(matchComponentFindings, { components, findings }),
@@ -599,16 +607,25 @@ function createPageDriver(page, setTime) {
599
607
  getClipEdges: () => collectClipEdges(page),
600
608
  getCanvas: () => page.evaluate(() => ({ width: window.innerWidth, height: window.innerHeight })),
601
609
  findAmbiguousSelectors: (selectors) => findAmbiguousSelectors(page, selectors),
602
- seek: async (time) => {
603
- setTime(time);
604
- 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
+ );
605
617
  },
606
618
  seekGeometry: async (time) => {
607
- setTime(time);
619
+ clock.at(time);
608
620
  await seekCompositionTimeline(page, time, DENSE_GEOMETRY_SEEK_OPTIONS);
609
621
  },
610
622
  collectLayout: (time, tolerance, layout) => collectLayout(page, time, tolerance, layout),
611
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
+ },
612
629
  collectLayoutGeometry: () => collectLayoutGeometry(page),
613
630
  collectSeekClock: () => collectSeekClock(page),
614
631
  collectRotationSample: (time) => collectRotationSample(page, time),
@@ -734,6 +751,60 @@ async function collectOverlap(page, time) {
734
751
  );
735
752
  return anchorLayoutIssues(page, raw.flatMap(parseLayoutIssue));
736
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
+ }
737
808
  async function collectLayoutGeometry(page) {
738
809
  return page.evaluate(() => {
739
810
  const geometry = Reflect.get(window, "__hyperframesLayoutGeometry");
@@ -900,30 +971,31 @@ async function anchorLayoutIssues(page, issues) {
900
971
  }
901
972
  async function resolveAnchors(page, requests) {
902
973
  if (requests.length === 0) return [];
903
- return page.evaluate((values) => {
904
- const root = document.querySelector("[data-composition-id]");
905
- return values.map((request) => {
906
- let element = null;
907
- try {
908
- element = document.querySelector(request.selector);
909
- } catch {
910
- element = null;
911
- }
912
- element ??= root;
913
- const dataAttributes = {};
914
- for (const attribute of Array.from(element?.attributes ?? [])) {
915
- if (attribute.name.startsWith("data-")) dataAttributes[attribute.name] = attribute.value;
916
- }
917
- const source = element?.closest("[data-composition-file]")?.getAttribute("data-composition-file");
918
- return {
919
- selector: element ? request.selector : "[data-composition-id]",
920
- dataAttributes,
921
- sourceFile: source || "index.html",
922
- bbox: request.bbox,
923
- time: request.time
924
- };
925
- });
926
- }, 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
+ });
927
999
  }
928
1000
  async function resolveRootAnchor(page) {
929
1001
  const anchors = await resolveAnchors(page, [
@@ -938,29 +1010,34 @@ async function compositionBbox(page) {
938
1010
  return rect ? { x: rect.x, y: rect.y, width: rect.width, height: rect.height } : { x: 0, y: 0, width: 0, height: 0 };
939
1011
  });
940
1012
  }
941
- async function collectContrast(page, time, layoutAnnotations = []) {
1013
+ async function collectContrast(page, time, snapshotAnnotations) {
942
1014
  let prepared = [];
943
1015
  try {
944
1016
  prepared = parsePreparedContrast(await prepareContrast(page, time));
1017
+ if (prepared.length === 0 && !snapshotAnnotations) return { entries: [] };
1018
+ const region = textRegion(prepared, page.viewport());
945
1019
  const measurementShot = await page.screenshot({
946
1020
  encoding: "base64",
947
1021
  type: "png",
948
- omitBackground: true
1022
+ omitBackground: true,
1023
+ ...region ? { clip: region.clip, captureBeyondViewport: false } : {}
949
1024
  });
950
1025
  if (typeof measurementShot !== "string") throw new Error("Contrast screenshot was not base64");
951
1026
  const raw = await finishContrast(
952
1027
  page,
953
1028
  measurementShot,
954
1029
  time,
955
- prepared.map((entry) => entry.raw)
1030
+ prepared.map((entry) => entry.raw),
1031
+ region
956
1032
  );
957
1033
  const finished = raw.flatMap(parseFinishedContrast);
958
1034
  const entries = joinContrastEntries(finished, prepared);
1035
+ if (!snapshotAnnotations) return { entries };
959
1036
  const overviewShot = await page.screenshot({ encoding: "base64", type: "png" });
960
1037
  if (typeof overviewShot !== "string") throw new Error("Overview screenshot was not base64");
961
1038
  const annotations = [
962
- ...layoutAnnotations,
963
- ...contrastFailureAnnotations(entries, layoutAnnotations.length)
1039
+ ...snapshotAnnotations,
1040
+ ...contrastFailureAnnotations(entries, snapshotAnnotations.length)
964
1041
  ];
965
1042
  const pngBase64 = await captureOverviewShot(page, annotations, overviewShot);
966
1043
  return { entries, pngBase64 };
@@ -1065,7 +1142,22 @@ async function prepareContrast(page, time) {
1065
1142
  });
1066
1143
  }, time);
1067
1144
  }
1068
- 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) {
1069
1161
  return page.evaluate(
1070
1162
  async (payload) => {
1071
1163
  const finish = Reflect.get(window, "__contrastAuditFinish");
@@ -1073,11 +1165,12 @@ async function finishContrast(page, screenshot, time, candidates) {
1073
1165
  const result = await Reflect.apply(finish, window, [
1074
1166
  payload.screenshot,
1075
1167
  payload.time,
1076
- payload.candidates
1168
+ payload.candidates,
1169
+ payload.region
1077
1170
  ]);
1078
1171
  return Array.isArray(result) ? result : [];
1079
1172
  },
1080
- { screenshot, time, candidates }
1173
+ { screenshot, time, candidates, region: region ?? null }
1081
1174
  );
1082
1175
  }
1083
1176
  function parsePreparedContrast(raw) {
@@ -1225,6 +1318,7 @@ function runtimeFinding(draft, root) {
1225
1318
  sourceFile: root.sourceFile,
1226
1319
  bbox: root.bbox,
1227
1320
  time: draft.time,
1321
+ ...draft.timeRange ? { timeRange: draft.timeRange } : {},
1228
1322
  url: draft.url,
1229
1323
  line: draft.line
1230
1324
  };
@@ -343,6 +343,7 @@ var COLOR_GRADING_CONTRACT_VERSION = 2;
343
343
  var COLOR_GRADING_COLOR_SPACE = "rec709";
344
344
  var COLOR_GRADING_MAX_CURVE_POINTS = 16;
345
345
  var COLOR_GRADING_MAX_SECONDARIES = 4;
346
+ var COLOR_GRADING_SOURCE_TAGS = ["video", "img", "canvas"];
346
347
  var COLOR_GRADING_ADVANCED_LIMITS = {
347
348
  hueDegrees: { min: 0, max: 360, inclusiveMax: false },
348
349
  unit: { min: 0, max: 1 },
@@ -829,6 +830,21 @@ function validateColorGradingContract(value) {
829
830
  return issues;
830
831
  }
831
832
 
833
+ // ../parsers/dist/timeSpans.js
834
+ var instantTolerance = (time) => 4 * Number.EPSILON * Math.max(1, Math.abs(time));
835
+ function sameInstant(a, b) {
836
+ if (!Number.isFinite(a) || !Number.isFinite(b)) return a === b;
837
+ return Math.abs(a - b) <= instantTolerance(Math.max(Math.abs(a), Math.abs(b)));
838
+ }
839
+ var isBefore = (a, b) => a < b && !sameInstant(a, b);
840
+ function spansOverlap(aStart, aEnd, bStart, bEnd) {
841
+ return isBefore(aStart, bEnd) && isBefore(bStart, aEnd);
842
+ }
843
+ function spansShareTime(aStart, aEnd, bStart, bEnd) {
844
+ return isBefore(Math.max(aStart, bStart), Math.min(aEnd, bEnd));
845
+ }
846
+ var isInsideSpan = (time, start, end) => isBefore(start, time) && isBefore(time, end);
847
+
832
848
  export {
833
849
  COMPOSITION_CONTRACT_VERSION,
834
850
  COMPOSITION_ATTRIBUTES,
@@ -846,6 +862,7 @@ export {
846
862
  COLOR_GRADING_COLOR_SPACE,
847
863
  COLOR_GRADING_MAX_CURVE_POINTS,
848
864
  COLOR_GRADING_MAX_SECONDARIES,
865
+ COLOR_GRADING_SOURCE_TAGS,
849
866
  COLOR_GRADING_ADVANCED_LIMITS,
850
867
  COLOR_GRADING_TOP_LEVEL_KEYS,
851
868
  COLOR_GRADING_ADJUST_KEYS,
@@ -857,5 +874,9 @@ export {
857
874
  COLOR_GRADING_EFFECT_KEYS,
858
875
  COLOR_GRADING_LUT_KEYS,
859
876
  isColorGradingVariableRef,
860
- validateColorGradingContract
877
+ validateColorGradingContract,
878
+ sameInstant,
879
+ spansOverlap,
880
+ spansShareTime,
881
+ isInsideSpan
861
882
  };
@@ -19,7 +19,7 @@ import {
19
19
  splitElementInHtml,
20
20
  unwrapElementsFromHtml,
21
21
  wrapElementsInHtml
22
- } from "./chunk-PCLYCYBK.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-XDPXSQJO.js";
57
+ } from "./chunk-QWCXGTOH.js";
58
58
  import {
59
59
  HistoryBusyError,
60
60
  MAX_WINDOW_IDLE_MS,
@@ -102,12 +102,10 @@ import {
102
102
  replaceFileAtomically
103
103
  } from "./chunk-EOVYQ3IG.js";
104
104
  import {
105
- addScenePartsManifest
106
- } from "./chunk-OFFNB2SU.js";
107
- import {
105
+ addScenePartsManifest,
108
106
  ensureHfIds,
109
107
  stampHfIdsInPlace
110
- } from "./chunk-KCF6GHJP.js";
108
+ } from "./chunk-JNL3RMDG.js";
111
109
  import {
112
110
  PREVIEW_PROXY_BOX_PARAM,
113
111
  formatPreviewProxyBox,
@@ -115,9 +113,8 @@ import {
115
113
  gsapCdnDist,
116
114
  motionPathPluginUrl,
117
115
  parseFps,
118
- parsePreviewProxyBox,
119
- sameInstant
120
- } from "./chunk-U7EGMXQR.js";
116
+ parsePreviewProxyBox
117
+ } from "./chunk-VEQ7DKPG.js";
121
118
  import {
122
119
  AFTER_FONTS_SCRIPT_TYPE,
123
120
  RUNTIME_BOOTSTRAP_ATTR,
@@ -131,7 +128,7 @@ import {
131
128
  resolveRateSpec,
132
129
  sourceTimeAt,
133
130
  stripEmbeddedRuntimeScripts
134
- } from "./chunk-7JDEZNBY.js";
131
+ } from "./chunk-EEXE43II.js";
135
132
  import {
136
133
  HTML_ATTRIBUTE_ENTITIES,
137
134
  MagicString,
@@ -156,6 +153,9 @@ import {
156
153
  FFPROBE_PATH_ENV,
157
154
  findFfBinary
158
155
  } from "./chunk-VAS6HQX3.js";
156
+ import {
157
+ sameInstant
158
+ } from "./chunk-32GKETR7.js";
159
159
  import {
160
160
  decodeCssEscapes,
161
161
  decodeWellFormedEscapes,
@@ -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-65ELHZOF.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-6HKO6VWS.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-FDSW3ZOZ.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-ETPPGNJB.js";
9
+ } from "./chunk-W5USVP6Z.js";
10
10
 
11
11
  // src/telemetry/renderObservability.ts
12
12
  function renderObservabilityTelemetryPayload(observability) {