hyperframes 0.8.108 → 0.8.110

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 (136) hide show
  1. package/dist/{add-OH75E7FX.js → add-D7AY7MSS.js} +9 -9
  2. package/dist/{animatedGifPrep-ZDAWSJYL.js → animatedGifPrep-NMGFOSIL.js} +4 -4
  3. package/dist/{asset-BVDO4DEW.js → asset-63Q4ARX7.js} +2 -2
  4. package/dist/{auth-K5GUKO5S.js → auth-D5QNNEKM.js} +2 -2
  5. package/dist/{autoUpdate-77ROWK5G.js → autoUpdate-25QUBTDS.js} +2 -2
  6. package/dist/{backgroundChecks-3Q3D5WBJ.js → backgroundChecks-G2AHVDCY.js} +3 -3
  7. package/dist/backgroundChecksWorker.js +3 -3
  8. package/dist/{beats-HQZPR6KE.js → beats-43LEYJ76.js} +8 -8
  9. package/dist/{benchmark-BQOWARGU.js → benchmark-JQ5LYY6Z.js} +10 -10
  10. package/dist/{browser-45CK7HXI.js → browser-KQLNYNOH.js} +7 -7
  11. package/dist/{bundleWithLocalizedFonts-3M2LKRHK.js → bundleWithLocalizedFonts-4Q3ETTHW.js} +2 -2
  12. package/dist/{capture-VGEUOP7N.js → capture-4OPH4PMK.js} +4 -4
  13. package/dist/{capture-6IVZXM7G.js → capture-OG6532RA.js} +2 -2
  14. package/dist/{catalog-VHD7B6FD.js → catalog-EAFDIYFH.js} +9 -9
  15. package/dist/{check-UPNZZJXV.js → check-VAJ6G3RU.js} +22 -22
  16. package/dist/{checkBrowser-KWTHKOOP.js → checkBrowser-GUWLYPVJ.js} +21 -21
  17. package/dist/{chunk-QBHT234I.js → chunk-2JXJ5SGK.js} +1 -1
  18. package/dist/{chunk-RSL3XFMO.js → chunk-32P7FTFC.js} +3 -3
  19. package/dist/{chunk-J7XPPADY.js → chunk-47TRZ6A3.js} +2 -2
  20. package/dist/{chunk-THVNQFYG.js → chunk-5ER3PYYP.js} +1 -1
  21. package/dist/{chunk-ONY5CJXS.js → chunk-BAVM2XBR.js} +85 -1
  22. package/dist/{chunk-KVOWTRD5.js → chunk-C4TZBEHY.js} +2 -2
  23. package/dist/{chunk-SIVCJJHE.js → chunk-CQRF7VU3.js} +1 -1
  24. package/dist/{chunk-D7SCIX4D.js → chunk-E4AYSXMS.js} +1 -1
  25. package/dist/{chunk-KZ5OSG4G.js → chunk-E5OSOQKO.js} +1 -1
  26. package/dist/{chunk-AFGDOKRI.js → chunk-E67OVYX3.js} +2 -2
  27. package/dist/{chunk-ZFL6FVQZ.js → chunk-GLSGKTFO.js} +5 -5
  28. package/dist/{chunk-LPXM5L6S.js → chunk-I5WWEBDG.js} +1 -1
  29. package/dist/{chunk-MGTECHI3.js → chunk-ITBEN3QD.js} +1 -1
  30. package/dist/{chunk-QRXICW5Q.js → chunk-JTTAS7N6.js} +1 -1
  31. package/dist/{chunk-FZGUZIK5.js → chunk-JWPSBANO.js} +2 -2
  32. package/dist/{chunk-VBXJSCHR.js → chunk-L37M3PV5.js} +2 -2
  33. package/dist/{chunk-GYYFNAVA.js → chunk-M224DAMG.js} +1 -1
  34. package/dist/{chunk-OVRFBUXU.js → chunk-MGFVNTIB.js} +1 -1
  35. package/dist/{chunk-LTYI4E42.js → chunk-MPSW7EA2.js} +4 -4
  36. package/dist/{chunk-SQ42NHXP.js → chunk-MR2LOG32.js} +25 -27
  37. package/dist/{chunk-C6XQER6H.js → chunk-N32ITJ7L.js} +6 -6
  38. package/dist/{chunk-QB6OM2BP.js → chunk-OF3RKOPU.js} +1 -1
  39. package/dist/{chunk-KZJ6V7RT.js → chunk-PZXUDWPP.js} +3 -3
  40. package/dist/{chunk-VLHN34SB.js → chunk-QJUKISYK.js} +2 -2
  41. package/dist/{chunk-5R5UHSXN.js → chunk-T3HJWJGC.js} +9 -9
  42. package/dist/{chunk-5N4KKGSZ.js → chunk-TQP42SFX.js} +1 -1
  43. package/dist/{chunk-RPMXMOFU.js → chunk-TU7KYFS3.js} +1 -1
  44. package/dist/{chunk-X763EUBO.js → chunk-U4TDAJZE.js} +1 -1
  45. package/dist/{chunk-US7SWKGC.js → chunk-U4U5YVVX.js} +1 -1
  46. package/dist/{chunk-NROJESOK.js → chunk-ULNKBH6B.js} +2 -2
  47. package/dist/{chunk-NGVH2QYT.js → chunk-WTMGUNZZ.js} +7 -7
  48. package/dist/{chunk-LZPAZZZP.js → chunk-X4FEFEP4.js} +1 -1
  49. package/dist/{chunk-XIGK4LNU.js → chunk-YIXEH4TF.js} +1 -1
  50. package/dist/{chunk-NJLFRKHX.js → chunk-ZU54D6MI.js} +134 -4
  51. package/dist/{clean-LCRWNIWO.js → clean-CXX7YDBQ.js} +12 -12
  52. package/dist/cli.js +48 -48
  53. package/dist/{cloud-ITRFE5UN.js → cloud-KRQQC5AH.js} +4 -4
  54. package/dist/{compare-NPVMUILH.js → compare-7MMDDERQ.js} +16 -16
  55. package/dist/{compiler-YYOV2BJ7.js → compiler-C32VXLE2.js} +2 -2
  56. package/dist/{component-HJFMHPNW.js → component-U57T4J2P.js} +3 -3
  57. package/dist/{compositions-I34RN5WD.js → compositions-HG7JA7I4.js} +9 -9
  58. package/dist/{delete-WN3J74BD.js → delete-HXXHYTH2.js} +2 -2
  59. package/dist/{dist-WCMFH74H.js → dist-FMHQMEMX.js} +1 -1
  60. package/dist/{doctor-MYC2S3J3.js → doctor-GKF42LFK.js} +8 -8
  61. package/dist/{events-AEUV2JPA.js → events-5E4LWTM3.js} +6 -6
  62. package/dist/{events-7JVV4746.js → events-LGPPK5FN.js} +7 -7
  63. package/dist/{feedback-X7DDSZPU.js → feedback-53ZU2MPJ.js} +8 -8
  64. package/dist/{figma-ISI4PPTF.js → figma-S4LBKUIF.js} +3 -3
  65. package/dist/fontLocalizeCli.js +6 -6
  66. package/dist/{get-IYALAE4I.js → get-ELQOB66I.js} +2 -2
  67. package/dist/{gpuPolicy-KSWTVU5C.js → gpuPolicy-CA6KRFQQ.js} +4 -4
  68. package/dist/{grade-compare-YWPIWQLK.js → grade-compare-6BDBN6IQ.js} +16 -16
  69. package/dist/{help-S2KJRMAJ.js → help-JNBSADTC.js} +1 -1
  70. package/dist/{history-CQDDCY4J.js → history-TY3SEJWV.js} +12 -12
  71. package/dist/hyperframes-player.global.js +1 -1
  72. package/dist/{info-4KFNUWYN.js → info-QG6XUPA4.js} +9 -9
  73. package/dist/{init-I7GMRHFW.js → init-RZF2YCRD.js} +16 -16
  74. package/dist/{inspect-DUCLCHSD.js → inspect-HYINM6BQ.js} +17 -17
  75. package/dist/{keyframes-F3VDEN66.js → keyframes-VCVFJTYP.js} +10 -10
  76. package/dist/{layout-RNCXJI6C.js → layout-GGRQADMQ.js} +17 -17
  77. package/dist/{lint-3NKKYCMH.js → lint-ZBMSFLOK.js} +10 -10
  78. package/dist/{lintProject-F2OTN2IR.js → lintProject-X7L7EZWZ.js} +1 -1
  79. package/dist/{list-Q7SOE3NF.js → list-ZKWCM7JT.js} +2 -2
  80. package/dist/{login-TGRGWS5E.js → login-CZ4DAMX2.js} +4 -4
  81. package/dist/{media-treatment-5TUXWHWE.js → media-treatment-65KBTTDZ.js} +10 -10
  82. package/dist/{models-YJUTM6TH.js → models-RILNQV3Z.js} +5 -5
  83. package/dist/{motionShot-5QUMZ7J3.js → motionShot-5F4DCMWC.js} +7 -7
  84. package/dist/{normalize-audio-63BI5BPL.js → normalize-audio-SEAAEJRQ.js} +8 -8
  85. package/dist/{pipeline-4NN5T7Q3.js → pipeline-5UY45ELH.js} +4 -4
  86. package/dist/{play-SRDESSZI.js → play-BIKUK4NL.js} +13 -13
  87. package/dist/{preflight-SVN4PSFO.js → preflight-3V5IHGWQ.js} +5 -5
  88. package/dist/{present-TDYR5LRW.js → present-UAM37S3Z.js} +13 -13
  89. package/dist/{preview-Z5MFRZUM.js → preview-TVU4J6VE.js} +11 -11
  90. package/dist/{producer-RS7CB3XJ.js → producer-7JGAPEAF.js} +1 -1
  91. package/dist/{publish-2R22XX77.js → publish-257VZMWI.js} +2 -2
  92. package/dist/{remove-background-KT2SWYCC.js → remove-background-EV6XVADN.js} +5 -5
  93. package/dist/{render-Y2Y7N5WD.js → render-B66XOY6B.js} +12 -12
  94. package/dist/{render-7GDLEGXT.js → render-QZD733OT.js} +9 -9
  95. package/dist/{renderCancellation-RQ3UVNVJ.js → renderCancellation-VIZELWDD.js} +4 -4
  96. package/dist/renderSetupWorker.js +1 -1
  97. package/dist/{sherpa-PR3I4KGM.js → sherpa-BAADWCHB.js} +5 -5
  98. package/dist/{skills-BEYZZWY6.js → skills-AB55WOXL.js} +9 -9
  99. package/dist/{skillsUpdateCheck-3USXDPWV.js → skillsUpdateCheck-VRABW6UL.js} +3 -3
  100. package/dist/{snapshot-S77MQOV2.js → snapshot-STEHSXMQ.js} +17 -17
  101. package/dist/{src-6R4DC2YI.js → src-GD7RGV5U.js} +3 -3
  102. package/dist/{src-IOJXK4VC.js → src-GRC63B6L.js} +5 -5
  103. package/dist/{staticProjectServer-RXAFGDK7.js → staticProjectServer-SFINO3DE.js} +7 -7
  104. package/dist/{status-CRS7H6FA.js → status-LXQL3L3H.js} +4 -4
  105. package/dist/studio/assets/{hyperframes-player-BakGew45.js → hyperframes-player-c6WR3RsF.js} +1 -1
  106. package/dist/studio/assets/{index-C5dyUHwk.js → index-BJpQzV6h.js} +1 -1
  107. package/dist/studio/assets/{index-CPe7d_wO.js → index-C0KfbPAo.js} +1 -1
  108. package/dist/studio/assets/{index-ncVJ5IVu.css → index-C7apTvpr.css} +1 -1
  109. package/dist/studio/assets/{index-C842tcVa.js → index-Co6W8IVk.js} +211 -208
  110. package/dist/studio/{chunk-NCUBAVGK.js → chunk-5VSXRGIX.js} +4 -4
  111. package/dist/studio/chunk-5VSXRGIX.js.map +1 -0
  112. package/dist/studio/{chunk-AOWVEVEU.js → chunk-QUXZVHOJ.js} +8 -2
  113. package/dist/studio/chunk-QUXZVHOJ.js.map +1 -0
  114. package/dist/studio/index.d.ts +64 -9
  115. package/dist/studio/index.html +2 -2
  116. package/dist/studio/index.js +8216 -6268
  117. package/dist/studio/index.js.map +1 -1
  118. package/dist/studio/player.js +2 -2
  119. package/dist/studio/styles.css +1 -1
  120. package/dist/studio/ui.js +1 -1
  121. package/dist/{studio-api-3FH7OSSS.js → studio-api-WRSCXPWS.js} +5 -5
  122. package/dist/{studioServer-4E5RRPU7.js → studioServer-SMBPWSNR.js} +24 -24
  123. package/dist/{system-YMANAUAM.js → system-EEWYEHYX.js} +4 -4
  124. package/dist/{telemetry-46XSB2VN.js → telemetry-VMNHQBUG.js} +7 -7
  125. package/dist/{timeline-XKLKHGD2.js → timeline-JWJDKHRD.js} +38 -19
  126. package/dist/{tokens-JCZKPUPT.js → tokens-DETZVKSO.js} +2 -2
  127. package/dist/{transcribe-FIFJ3BBB.js → transcribe-E5VBY6CU.js} +10 -10
  128. package/dist/{transcribe-FQ4YC2AS.js → transcribe-GCKJF5A6.js} +5 -5
  129. package/dist/{updateCheck-PDIH4GZW.js → updateCheck-PAC2DBB6.js} +2 -2
  130. package/dist/{upgrade-TTGO6JCF.js → upgrade-OYMNUBW2.js} +2 -2
  131. package/dist/{urlDownloader-32JRHOPN.js → urlDownloader-NYXPEBUN.js} +3 -3
  132. package/dist/{validate-G5F56ONL.js → validate-KBPMDKZO.js} +12 -12
  133. package/dist/{video-SGBEMEKA.js → video-KWQ5TSVD.js} +4 -4
  134. package/package.json +1 -1
  135. package/dist/studio/chunk-AOWVEVEU.js.map +0 -1
  136. package/dist/studio/chunk-NCUBAVGK.js.map +0 -1
@@ -10,17 +10,17 @@ import {
10
10
  import {
11
11
  ambiguousIssue,
12
12
  loadBrowserScript
13
- } from "./chunk-NGVH2QYT.js";
13
+ } from "./chunk-WTMGUNZZ.js";
14
14
  import {
15
15
  serveStaticProjectHtml
16
- } from "./chunk-FZGUZIK5.js";
16
+ } from "./chunk-JWPSBANO.js";
17
17
  import {
18
18
  auditClipDurations,
19
19
  shouldIgnoreHttpError,
20
20
  shouldIgnoreRequestFailure
21
- } from "./chunk-5R5UHSXN.js";
21
+ } from "./chunk-T3HJWJGC.js";
22
22
  import "./chunk-XUHOIDKG.js";
23
- import "./chunk-MGTECHI3.js";
23
+ import "./chunk-ITBEN3QD.js";
24
24
  import "./chunk-X7MTZ4T2.js";
25
25
  import {
26
26
  AUDIT_SEEK_OPTIONS,
@@ -33,13 +33,13 @@ import {
33
33
  resolveCliChromeGpuMode,
34
34
  seekCompositionTimeline,
35
35
  waitForPreferredSeekTarget
36
- } from "./chunk-RSL3XFMO.js";
36
+ } from "./chunk-32P7FTFC.js";
37
37
  import "./chunk-5Z63TBTX.js";
38
38
  import "./chunk-262C25DQ.js";
39
39
  import "./chunk-TIZQC44K.js";
40
40
  import "./chunk-YEIFI443.js";
41
- import "./chunk-SQ42NHXP.js";
42
- import "./chunk-NJLFRKHX.js";
41
+ import "./chunk-MR2LOG32.js";
42
+ import "./chunk-ZU54D6MI.js";
43
43
  import "./chunk-WEATBQTR.js";
44
44
  import "./chunk-5ON5GH3X.js";
45
45
  import {
@@ -47,8 +47,8 @@ import {
47
47
  proxyVariantFor,
48
48
  resolveProxy,
49
49
  scanProjectMediaCodecMap
50
- } from "./chunk-OVRFBUXU.js";
51
- import "./chunk-US7SWKGC.js";
50
+ } from "./chunk-MGFVNTIB.js";
51
+ import "./chunk-U4U5YVVX.js";
52
52
  import "./chunk-IHFUKJOR.js";
53
53
  import "./chunk-PFCFR3KZ.js";
54
54
  import {
@@ -57,45 +57,45 @@ import {
57
57
  import "./chunk-XT7X6QCP.js";
58
58
  import "./chunk-4YYJOFKS.js";
59
59
  import "./chunk-HVW7ABXD.js";
60
- import "./chunk-GYYFNAVA.js";
60
+ import "./chunk-M224DAMG.js";
61
61
  import "./chunk-XYVFPDNU.js";
62
62
  import "./chunk-HQGJLZB6.js";
63
63
  import "./chunk-AWUZ3AUD.js";
64
64
  import "./chunk-AWDFDFI3.js";
65
65
  import "./chunk-GMECXFAN.js";
66
66
  import "./chunk-RDMAU7AJ.js";
67
- import "./chunk-VBXJSCHR.js";
68
- import "./chunk-J7XPPADY.js";
67
+ import "./chunk-L37M3PV5.js";
68
+ import "./chunk-47TRZ6A3.js";
69
69
  import "./chunk-VWG7OQKU.js";
70
70
  import "./chunk-ZTZA4UWZ.js";
71
- import "./chunk-SIVCJJHE.js";
71
+ import "./chunk-CQRF7VU3.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-QB6OM2BP.js";
78
+ import "./chunk-OF3RKOPU.js";
79
79
  import "./chunk-B25H4M4V.js";
80
80
  import "./chunk-UUDQD62L.js";
81
81
  import "./chunk-DPVXBVLL.js";
82
- import "./chunk-X763EUBO.js";
82
+ import "./chunk-U4TDAJZE.js";
83
83
  import "./chunk-YLVI7VL5.js";
84
84
  import "./chunk-VC76R6W2.js";
85
85
  import "./chunk-OFQWTKPW.js";
86
86
  import "./chunk-TWWSYAKJ.js";
87
- import "./chunk-ONY5CJXS.js";
87
+ import "./chunk-BAVM2XBR.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-RPMXMOFU.js";
93
+ import "./chunk-TU7KYFS3.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-NROJESOK.js";
98
+ import "./chunk-ULNKBH6B.js";
99
99
  import {
100
100
  normalizeErrorMessage
101
101
  } from "./chunk-KNU5COPB.js";
@@ -138,7 +138,7 @@ async function preResolveHostileMediaProxies(projectDir, html, autoProxyOverride
138
138
  );
139
139
  }
140
140
  async function runBrowserCheck(project, options, motion, runGrid) {
141
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-3M2LKRHK.js");
141
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-4Q3ETTHW.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-6R4DC2YI.js");
168
+ const { analyzeClipMediaFit } = await import("./src-GD7RGV5U.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-3M2LKRHK.js");
188
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-4Q3ETTHW.js");
189
189
  const html = await bundleWithLocalizedFonts(project.dir);
190
190
  const server = await serveStaticProjectHtml(
191
191
  project.dir,
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-AWDFDFI3.js";
14
14
  import {
15
15
  isBlockedNetworkHost
16
- } from "./chunk-QB6OM2BP.js";
16
+ } from "./chunk-OF3RKOPU.js";
17
17
  import {
18
18
  DOMParser,
19
19
  parseHTML
@@ -16,14 +16,14 @@ import {
16
16
  import {
17
17
  resolveCaptureBrowserGpuMode,
18
18
  resolveLocalBrowserGpuMode
19
- } from "./chunk-GYYFNAVA.js";
19
+ } from "./chunk-M224DAMG.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-QB6OM2BP.js";
26
+ } from "./chunk-OF3RKOPU.js";
27
27
  import {
28
28
  normalizeErrorMessage
29
29
  } from "./chunk-KNU5COPB.js";
@@ -99,7 +99,7 @@ async function openSettledCompositionPage(html, url, options) {
99
99
  const { ensureBrowser, findSystemBrowser } = await import("./manager-NEVLEZK3.js");
100
100
  const browser = await ensureBrowser();
101
101
  const puppeteer = await import("puppeteer-core");
102
- const { buildChromeArgs } = await import("./src-6R4DC2YI.js");
102
+ const { buildChromeArgs } = await import("./src-GD7RGV5U.js");
103
103
  const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
104
104
  const requiresWebGpu = compositionRequiresWebGpu(html);
105
105
  const launch = async (executablePath) => {
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-ZTZA4UWZ.js";
13
13
  import {
14
14
  getSystemMeta
15
- } from "./chunk-SIVCJJHE.js";
15
+ } from "./chunk-CQRF7VU3.js";
16
16
  import {
17
17
  getInvocationId
18
18
  } from "./chunk-54HJ63Q2.js";
@@ -37,7 +37,7 @@ import {
37
37
  } from "./chunk-XUXGIA7H.js";
38
38
  import {
39
39
  VERSION
40
- } from "./chunk-NROJESOK.js";
40
+ } from "./chunk-ULNKBH6B.js";
41
41
 
42
42
  // src/telemetry/transport.ts
43
43
  import { spawn } from "child_process";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
 
8
8
  // src/utils/producer.ts
9
9
  async function loadProducer() {
10
- return await import("./src-IOJXK4VC.js");
10
+ return await import("./src-GRC63B6L.js");
11
11
  }
12
12
 
13
13
  export {
@@ -5245,6 +5245,89 @@ function cssErrorOffset(source, error) {
5245
5245
  }
5246
5246
  return currentLine === line ? offset + column - 1 : void 0;
5247
5247
  }
5248
+ var SYNC_TOLERANCE_S = 1e-3;
5249
+ var LINKED_TIMING_FIELDS = [
5250
+ { field: "start", attrs: ["data-start"], fallback: 0 },
5251
+ { field: "duration", attrs: ["data-duration"], fallback: 0 },
5252
+ { field: "media-start", attrs: ["data-playback-start", "data-media-start"], fallback: 0 },
5253
+ { field: "playback-rate", attrs: ["data-playback-rate"], fallback: 1 }
5254
+ ];
5255
+ function readTimingField(tag, attrs, fallback) {
5256
+ for (const attr of attrs) {
5257
+ const raw = readAttr(tag.raw, attr);
5258
+ if (raw === null || raw.trim() === "") continue;
5259
+ const value = Number(raw);
5260
+ if (Number.isFinite(value)) return value;
5261
+ }
5262
+ return fallback;
5263
+ }
5264
+ function driftingFields(members) {
5265
+ return LINKED_TIMING_FIELDS.filter(({ attrs, fallback }) => {
5266
+ const values = members.map((tag) => readTimingField(tag, attrs, fallback));
5267
+ const first = values[0] ?? fallback;
5268
+ return values.some((value) => Math.abs(value - first) > SYNC_TOLERANCE_S);
5269
+ }).map(({ field }) => field);
5270
+ }
5271
+ function compositionScopeOf(tag, compositions) {
5272
+ let scope = -1;
5273
+ for (const composition of compositions) {
5274
+ const end = composition.endIndex ?? composition.closeIndex ?? Number.POSITIVE_INFINITY;
5275
+ const encloses = composition.index < tag.index && tag.index < end;
5276
+ if (composition !== tag && encloses && composition.index > scope) scope = composition.index;
5277
+ }
5278
+ return scope;
5279
+ }
5280
+ function groupByLink(tags) {
5281
+ const compositions = tags.filter(
5282
+ (tag) => ["data-composition-id", "data-composition-file"].some(
5283
+ (name) => readAttr(tag.raw, name) !== null
5284
+ )
5285
+ );
5286
+ const groups = /* @__PURE__ */ new Map();
5287
+ for (const tag of tags) {
5288
+ const link = readAttr(tag.raw, "data-link");
5289
+ if (!link) continue;
5290
+ const key = `${compositionScopeOf(tag, compositions)}\0${link}`;
5291
+ const group = groups.get(key) ?? { link, members: [] };
5292
+ group.members.push(tag);
5293
+ groups.set(key, group);
5294
+ }
5295
+ return groups;
5296
+ }
5297
+ var memberLabel = (tag) => {
5298
+ const id = readAttr(tag.raw, "id");
5299
+ return id ? `#${id}` : `<${tag.name}>`;
5300
+ };
5301
+ function findLinkedClipFindings(ctx) {
5302
+ const findings = [];
5303
+ for (const { link, members } of groupByLink(ctx.tags).values()) {
5304
+ const first = members[0];
5305
+ if (!first) continue;
5306
+ const elementId = readAttr(first.raw, "id") || void 0;
5307
+ if (members.length === 1) {
5308
+ findings.push({
5309
+ code: "linked_clip_orphan",
5310
+ severity: "warning",
5311
+ message: `${memberLabel(first)} is the only clip with data-link="${link}"; its linked partner is gone.`,
5312
+ elementId,
5313
+ fixHint: `Remove data-link="${link}" from ${memberLabel(first)}, or restore the partner clip.`,
5314
+ snippet: truncateSnippet(first.raw)
5315
+ });
5316
+ continue;
5317
+ }
5318
+ const drift = driftingFields(members);
5319
+ if (drift.length === 0) continue;
5320
+ findings.push({
5321
+ code: "linked_clips_out_of_sync",
5322
+ severity: "warning",
5323
+ message: `Linked clips ${members.map(memberLabel).join(", ")} (data-link="${link}") differ in ${drift.join(", ")}.`,
5324
+ elementId,
5325
+ fixHint: "Linked clips are edited as one: give every member the same data-start, data-duration, data-media-start and data-playback-rate, or remove data-link from all of them to unlink.",
5326
+ snippet: truncateSnippet(first.raw)
5327
+ });
5328
+ }
5329
+ return findings;
5330
+ }
5248
5331
  function tweensVolumeInSameCall(script, id) {
5249
5332
  const selector = new RegExp(`#${escapeRegExp(id)}(?![\\w-])`, "g");
5250
5333
  for (let hit = selector.exec(script); hit; hit = selector.exec(script)) {
@@ -5943,7 +6026,8 @@ var mediaRules = [
5943
6026
  // audio_group_timing_attrs
5944
6027
  findAudioGroupTimingAttrFindings,
5945
6028
  // audio_group_carve_attr
5946
- findAudioGroupCarveAttrFindings
6029
+ findAudioGroupCarveAttrFindings,
6030
+ findLinkedClipFindings
5947
6031
  ];
5948
6032
  function findVolumeTweenOverridesGainFindings(ctx) {
5949
6033
  const boosted = ctx.tags.filter((tag) => isMediaTag(tag.name)).map((tag) => ({ tag, volume: Number(readAttr(tag.raw, "data-volume") ?? "1") })).filter((entry) => Number.isFinite(entry.volume) && entry.volume !== 1).filter((entry) => !readDecodedAttr(entry.tag.raw, "data-automation")).map((entry) => ({ ...entry, id: readAttr(entry.tag.raw, "id") })).filter((entry) => Boolean(entry.id));
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  DEFAULT_VP9_CPU_USED,
18
18
  renderProvenanceArgs
19
- } from "./chunk-QB6OM2BP.js";
19
+ } from "./chunk-OF3RKOPU.js";
20
20
  import {
21
21
  loadOptionalPackage
22
22
  } from "./chunk-XT5P4QMO.js";
@@ -202,7 +202,7 @@ function inferInputKind(inputPath) {
202
202
  }
203
203
  async function probeMedia(inputPath) {
204
204
  const isImage = inferInputKind(inputPath) === "image";
205
- const engine = await import("./src-6R4DC2YI.js");
205
+ const engine = await import("./src-GD7RGV5U.js");
206
206
  const meta = await engine.extractMediaMetadata(inputPath);
207
207
  if (isImage) {
208
208
  return { width: meta.width, height: meta.height, fps: 0, frameCount: 1 };
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-AMKC3AXA.js";
10
10
  import {
11
11
  getSystemTotalMb
12
- } from "./chunk-QB6OM2BP.js";
12
+ } from "./chunk-OF3RKOPU.js";
13
13
 
14
14
  // src/telemetry/system.ts
15
15
  import { cpus, freemem, platform as platform2, release as release2 } from "os";
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-TVCRUG2S.js";
14
14
  import {
15
15
  getFreeDiskMb
16
- } from "./chunk-SIVCJJHE.js";
16
+ } from "./chunk-CQRF7VU3.js";
17
17
  import {
18
18
  ensureBrowser,
19
19
  findBrowser
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  updateNoticesSuppressed
9
- } from "./chunk-RPMXMOFU.js";
9
+ } from "./chunk-TU7KYFS3.js";
10
10
  import {
11
11
  hostAnswers
12
12
  } from "./chunk-K4WIOZFP.js";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  RegistryCompatibilityError,
9
9
  gateRegistryItemsCompatibility
10
- } from "./chunk-5N4KKGSZ.js";
10
+ } from "./chunk-TQP42SFX.js";
11
11
  import {
12
12
  DEFAULT_PROJECT_CONFIG,
13
13
  createProjectConfig,
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-AWUZ3AUD.js";
30
30
  import {
31
31
  trackRegistryItemAdded
32
- } from "./chunk-VBXJSCHR.js";
32
+ } from "./chunk-L37M3PV5.js";
33
33
  import {
34
34
  c
35
35
  } from "./chunk-ZTZA4UWZ.js";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-5ETJX6WM.js";
17
17
  import {
18
18
  runEnvironmentChecks
19
- } from "./chunk-D7SCIX4D.js";
19
+ } from "./chunk-E4AYSXMS.js";
20
20
  import {
21
21
  c
22
22
  } from "./chunk-ZTZA4UWZ.js";
@@ -25,24 +25,24 @@ import {
25
25
  getFreeDiskMb,
26
26
  getShmSizeMb,
27
27
  getSystemMeta
28
- } from "./chunk-SIVCJJHE.js";
28
+ } from "./chunk-CQRF7VU3.js";
29
29
  import {
30
30
  defineCommand
31
31
  } from "./chunk-S3S4TGEH.js";
32
32
  import {
33
33
  resolveExtractCacheDir
34
- } from "./chunk-QB6OM2BP.js";
34
+ } from "./chunk-OF3RKOPU.js";
35
35
  import {
36
36
  getUpdateMeta,
37
37
  withMeta
38
- } from "./chunk-RPMXMOFU.js";
38
+ } from "./chunk-TU7KYFS3.js";
39
39
  import {
40
40
  CONFIG_PATH,
41
41
  withFileLock
42
42
  } from "./chunk-XUXGIA7H.js";
43
43
  import {
44
44
  VERSION
45
- } from "./chunk-NROJESOK.js";
45
+ } from "./chunk-ULNKBH6B.js";
46
46
  import {
47
47
  normalizeErrorMessage
48
48
  } from "./chunk-KNU5COPB.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-TVCRUG2S.js";
18
18
  import {
19
19
  stoppedByCancelSignal
20
- } from "./chunk-QRXICW5Q.js";
20
+ } from "./chunk-JTTAS7N6.js";
21
21
 
22
22
  // src/whisper/transcribe.ts
23
23
  import { execFileSync } from "child_process";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType
9
- } from "./chunk-SQ42NHXP.js";
9
+ } from "./chunk-MR2LOG32.js";
10
10
  import {
11
11
  injectTagsAtHeadStart
12
12
  } from "./chunk-YLVI7VL5.js";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  setHostHandlesSigint
9
- } from "./chunk-QB6OM2BP.js";
9
+ } from "./chunk-OF3RKOPU.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType,
9
9
  injectMediaCodecMapIntoHtml
10
- } from "./chunk-SQ42NHXP.js";
10
+ } from "./chunk-MR2LOG32.js";
11
11
  import {
12
12
  PROXY_VARIANT_CONFIG,
13
13
  ProxyCapacityError,
@@ -18,7 +18,7 @@ import {
18
18
  recordProxyRequest,
19
19
  resolveProxy,
20
20
  resolveProxyVariantRequest
21
- } from "./chunk-OVRFBUXU.js";
21
+ } from "./chunk-MGFVNTIB.js";
22
22
  import {
23
23
  resolveAutoProxy
24
24
  } from "./chunk-LAQEZHOH.js";
@@ -8,10 +8,10 @@ import {
8
8
  flush,
9
9
  shouldTrack,
10
10
  trackEvent
11
- } from "./chunk-J7XPPADY.js";
11
+ } from "./chunk-47TRZ6A3.js";
12
12
  import {
13
13
  getPowerState
14
- } from "./chunk-SIVCJJHE.js";
14
+ } from "./chunk-CQRF7VU3.js";
15
15
  import {
16
16
  CliRuntimeError
17
17
  } from "./chunk-PBN6GBJE.js";
@@ -13,7 +13,7 @@ function resolveLocalBrowserGpuMode(browserGpuArg, envMode = process.env.PRODUCE
13
13
  return "auto";
14
14
  }
15
15
  async function resolveCaptureBrowserGpuMode(requestedMode, chromePath) {
16
- const { resolveBrowserGpuMode } = await import("./src-6R4DC2YI.js");
16
+ const { resolveBrowserGpuMode } = await import("./src-GD7RGV5U.js");
17
17
  return resolveBrowserGpuMode(requestedMode, { chromePath });
18
18
  }
19
19
 
@@ -21,7 +21,7 @@ import {
21
21
  isUnresolvedAssetPlaceholder,
22
22
  maskNonScannableRanges,
23
23
  resolveLocalAssetCandidates
24
- } from "./chunk-ONY5CJXS.js";
24
+ } from "./chunk-BAVM2XBR.js";
25
25
  import {
26
26
  findFfBinary
27
27
  } from "./chunk-PJ3HDUCY.js";
@@ -7,16 +7,16 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parseFeedbackRating,
9
9
  trackRenderFeedback
10
- } from "./chunk-VBXJSCHR.js";
10
+ } from "./chunk-L37M3PV5.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-J7XPPADY.js";
13
+ } from "./chunk-47TRZ6A3.js";
14
14
  import {
15
15
  c
16
16
  } from "./chunk-ZTZA4UWZ.js";
17
17
  import {
18
18
  detectAgentRuntime
19
- } from "./chunk-SIVCJJHE.js";
19
+ } from "./chunk-CQRF7VU3.js";
20
20
  import {
21
21
  readConfig,
22
22
  writeConfig
@@ -83,7 +83,7 @@ async function maybePromptRenderFeedback(opts) {
83
83
  async function getDoctorSummary() {
84
84
  try {
85
85
  const [{ getSystemMeta }, { findFFmpeg }] = await Promise.all([
86
- import("./system-YMANAUAM.js"),
86
+ import("./system-EEWYEHYX.js"),
87
87
  import("./ffmpeg-QIUFEFTY.js")
88
88
  ]);
89
89
  const sys = getSystemMeta();