hyperframes 0.8.166 → 0.8.168

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 (166) hide show
  1. package/dist/{add-MCSKPN2J.js → add-VCX3UE2B.js} +13 -13
  2. package/dist/{animatedGifPrep-3HO4C3YA.js → animatedGifPrep-TWD5BNVK.js} +8 -8
  3. package/dist/api.js +14 -14
  4. package/dist/{asset-XVO3H37J.js → asset-BBJ3GAL7.js} +2 -2
  5. package/dist/{assetCataloger-RHSKUXJV.js → assetCataloger-S47GINRQ.js} +8 -8
  6. package/dist/{audio-G4CPBGIP.js → audio-MEDCANA3.js} +15 -15
  7. package/dist/{auth-GRFFMOB5.js → auth-LZYMCNTB.js} +1 -1
  8. package/dist/{autoUpdate-CHDEIEGO.js → autoUpdate-AXTW2NKX.js} +2 -2
  9. package/dist/{backgroundChecks-VAZLRTGT.js → backgroundChecks-3YDYYI3D.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-ILOPDVDM.js → batchRender-UDE7TOKY.js} +4 -4
  12. package/dist/{beats-B3BZKIWQ.js → beats-HHXMPMGT.js} +5 -5
  13. package/dist/{benchmark-OAPEWN3B.js → benchmark-2BY7PBAP.js} +9 -9
  14. package/dist/{browser-IG6NUNE2.js → browser-CXB4KTJP.js} +3 -3
  15. package/dist/{bundleWithLocalizedFonts-ZUM7SYTY.js → bundleWithLocalizedFonts-M7CRHOS7.js} +2 -2
  16. package/dist/{capture-4A3RN6PP.js → capture-PRTE4Z7E.js} +3 -3
  17. package/dist/{capture-XXKHHDGW.js → capture-WHG37ZLF.js} +19 -53
  18. package/dist/{captureTimeout-PA4FYWT5.js → captureTimeout-K2JNVVCI.js} +1 -1
  19. package/dist/{catalog-OT6XSKQS.js → catalog-WRM2373Z.js} +13 -13
  20. package/dist/{catch-up-JEU6V6DR.js → catch-up-WHLD6E5F.js} +4 -4
  21. package/dist/{check-6FSM25VP.js → check-R5E7WLKF.js} +112 -56
  22. package/dist/{checkBrowser-MECIATAM.js → checkBrowser-Y4CZVGIV.js} +42 -33
  23. package/dist/chunk-2F7S7OK2.js +20 -0
  24. package/dist/{chunk-APTXSODN.js → chunk-2GSGFDEP.js} +5 -5
  25. package/dist/{chunk-OBZWOV4Q.js → chunk-4CIMRQQY.js} +11 -5
  26. package/dist/{chunk-EUCDNWPK.js → chunk-4LXK7TOM.js} +7 -7
  27. package/dist/{chunk-FALELQTO.js → chunk-4PHDDZVL.js} +37 -15
  28. package/dist/{chunk-F67VJSSH.js → chunk-4WPRJ7ID.js} +1 -1
  29. package/dist/{chunk-CQFNLIGE.js → chunk-54MI3SGP.js} +3 -3
  30. package/dist/{chunk-WC6QG6WU.js → chunk-5VGEWXJL.js} +2 -2
  31. package/dist/{chunk-SZDHUSQ5.js → chunk-AQZZZTFL.js} +2 -2
  32. package/dist/{chunk-7PYUADWL.js → chunk-ATCB4PMO.js} +1 -1
  33. package/dist/{chunk-KX4VIWIV.js → chunk-ATOXD5VV.js} +1 -1
  34. package/dist/{chunk-HTDDV7CM.js → chunk-BC2XZL6O.js} +2 -2
  35. package/dist/{chunk-TPLNKI23.js → chunk-BOT7PGM5.js} +2 -2
  36. package/dist/{chunk-GDJGBAV6.js → chunk-BTCUP5ZY.js} +2 -2
  37. package/dist/{chunk-HLCB2VAN.js → chunk-BV2NH7ZA.js} +1 -1
  38. package/dist/{chunk-BTXLF6DV.js → chunk-BWFUUGIZ.js} +1 -1
  39. package/dist/{chunk-ZUQ2K4YF.js → chunk-C3WPYYGK.js} +1 -1
  40. package/dist/{chunk-BSXI5VWK.js → chunk-CAHSX6IW.js} +26 -21
  41. package/dist/{chunk-UKTXHF3Q.js → chunk-CDDIEZ4D.js} +13 -11
  42. package/dist/{chunk-AL7XYJTK.js → chunk-DO3UPPO4.js} +2 -2
  43. package/dist/{chunk-6U47Q57N.js → chunk-E7CIMKJS.js} +1 -1
  44. package/dist/{chunk-CBNI34SD.js → chunk-EEP5Y5IE.js} +1 -1
  45. package/dist/{chunk-CABYCNUK.js → chunk-EKEK3GOB.js} +3 -3
  46. package/dist/{chunk-L7PJO2A4.js → chunk-EW2QBTYO.js} +23 -17
  47. package/dist/{chunk-WP4QEC2Q.js → chunk-EXMTTXKQ.js} +2 -2
  48. package/dist/{chunk-DOONKIF5.js → chunk-FA3TWKZO.js} +2 -2
  49. package/dist/{chunk-I3B4A3LF.js → chunk-HL6GWREP.js} +1 -1
  50. package/dist/{chunk-BTTGDEGI.js → chunk-ID7B7NGN.js} +1 -1
  51. package/dist/{chunk-KPPC3C4I.js → chunk-KDC5D5VM.js} +25 -21
  52. package/dist/{chunk-ATF6UESJ.js → chunk-LGCHE2F4.js} +1 -1
  53. package/dist/{chunk-DDEFEMA3.js → chunk-LUSWL6OJ.js} +2 -2
  54. package/dist/{chunk-PORNXOQP.js → chunk-LZGRJDNJ.js} +1 -1
  55. package/dist/{chunk-3QATT3QF.js → chunk-M4N6IHCQ.js} +4 -4
  56. package/dist/{chunk-ULJB5UY4.js → chunk-MD4S2RXW.js} +13 -17
  57. package/dist/{chunk-2WYDNKVV.js → chunk-MOJKJ4K4.js} +4 -4
  58. package/dist/{chunk-4UNBVCLJ.js → chunk-N7QCMEQG.js} +2844 -2674
  59. package/dist/{chunk-BIOWX4AM.js → chunk-NT3WPYAU.js} +3 -3
  60. package/dist/{chunk-QNZQTITL.js → chunk-NYIKKCMC.js} +1 -1
  61. package/dist/{chunk-ZIL7S3L6.js → chunk-O7BABHM4.js} +1 -1
  62. package/dist/{chunk-THA3FI4Z.js → chunk-OQGORCT3.js} +2 -2
  63. package/dist/{chunk-3VGU2SH7.js → chunk-OYLO6TYK.js} +8 -1
  64. package/dist/{chunk-2742O5DO.js → chunk-PLWORQFC.js} +38 -34
  65. package/dist/{chunk-ZH3TWH4D.js → chunk-PYSGYMM4.js} +3 -3
  66. package/dist/chunk-QE7XLLGT.js +3803 -0
  67. package/dist/{chunk-AKBFKGJM.js → chunk-QKJ4KGNR.js} +1 -1
  68. package/dist/{chunk-W3SLIE72.js → chunk-RG66EU4L.js} +10 -10
  69. package/dist/{chunk-AWNBM3MZ.js → chunk-RGHQID2E.js} +3 -3
  70. package/dist/{chunk-MMSCLNCJ.js → chunk-SYKPCN32.js} +8 -2
  71. package/dist/{chunk-TIZRYBKL.js → chunk-TW7H5CJO.js} +2 -2
  72. package/dist/{chunk-FLTPIUGU.js → chunk-UWQL2MP4.js} +100 -2
  73. package/dist/{chunk-TAANFVLO.js → chunk-VTBME36F.js} +1 -1
  74. package/dist/{chunk-25CSBTM2.js → chunk-XOODFU75.js} +1 -1
  75. package/dist/{chunk-WPNE5NEP.js → chunk-XR3XDG7V.js} +19 -5
  76. package/dist/{chunk-ALLKNYC3.js → chunk-YMS5FOMC.js} +31 -18
  77. package/dist/{chunk-V652CBKA.js → chunk-YTZA25TZ.js} +1 -1
  78. package/dist/{chunk-B4VG7PGX.js → chunk-YULVV525.js} +1 -1
  79. package/dist/{clean-QWXJ5QJQ.js → clean-UPXYD6VX.js} +15 -15
  80. package/dist/cli.js +53 -53
  81. package/dist/{cloud-UCQ33ODM.js → cloud-74GU7KDD.js} +4 -4
  82. package/dist/{cloudrun-2NQXQI4T.js → cloudrun-KHMVQL7C.js} +16 -11
  83. package/dist/commands/layout-audit.browser.js +16 -1
  84. package/dist/{compare-ZGW25GT6.js → compare-BG77ZXYF.js} +29 -27
  85. package/dist/{compiler-VQ7QYOSB.js → compiler-OSQ4L7FP.js} +5 -5
  86. package/dist/{component-W2QGYUEG.js → component-34PVECJG.js} +3 -3
  87. package/dist/{compositions-DOIAPDMU.js → compositions-KCVIKKSR.js} +12 -12
  88. package/dist/{delete-PCSBLAVX.js → delete-NU2ENZYQ.js} +2 -2
  89. package/dist/{deploy-5G4Z6LPA.js → deploy-4MK3Y67M.js} +1 -0
  90. package/dist/{deterministicFonts-LNNVHVS2.js → deterministicFonts-KXVO7QEL.js} +3 -3
  91. package/dist/{dist-6TKXILZL.js → dist-3VKMLNXT.js} +7 -3
  92. package/dist/{dist-ROVMAL74.js → dist-OTCFZEKF.js} +2 -2
  93. package/dist/{doctor-2FMEUV4B.js → doctor-GVELHIHI.js} +10 -10
  94. package/dist/{events-V2KF4OKH.js → events-E6CVR42M.js} +2 -2
  95. package/dist/{events-QPODC7BK.js → events-UP3IQXPM.js} +3 -3
  96. package/dist/{feedback-NC2YHCYF.js → feedback-IRYQ4YKX.js} +7 -7
  97. package/dist/{figma-RP23MXHX.js → figma-BLQBHAPG.js} +3 -3
  98. package/dist/fontLocalizeCli.js +14 -14
  99. package/dist/{get-FIWRIPCT.js → get-HESG62RX.js} +2 -2
  100. package/dist/{gpuPolicy-4YD2BS3P.js → gpuPolicy-CHXUX2ZT.js} +8 -8
  101. package/dist/{grade-compare-HVLIDLEO.js → grade-compare-ZDJMJUYY.js} +29 -27
  102. package/dist/{help-EDA6FXKG.js → help-2BQBFF4Z.js} +1 -1
  103. package/dist/{history-7Z763GGS.js → history-4IZQ6NRV.js} +9 -9
  104. package/dist/hyperframe-runtime.js +72 -70
  105. package/dist/hyperframe.manifest.json +1 -1
  106. package/dist/hyperframe.runtime.iife.js +72 -70
  107. package/dist/hyperframes-player.global.js +3 -3
  108. package/dist/{info-OHDJXJKQ.js → info-JNGAI3JU.js} +8 -8
  109. package/dist/{init-BKYY2CXY.js → init-ZQO6G5C7.js} +23 -23
  110. package/dist/{inspect-CX3AFG2K.js → inspect-DWMKJEVE.js} +30 -28
  111. package/dist/{installer-5YWMYX5C.js → installer-UKZT4SKK.js} +6 -6
  112. package/dist/{keyframes-LBK4Y2T2.js → keyframes-FC273E5N.js} +6 -6
  113. package/dist/{lambda-HIC2Z3GQ.js → lambda-GSZCV77P.js} +31 -18
  114. package/dist/{layout-NSIMPYKJ.js → layout-ASSCBJCO.js} +30 -28
  115. package/dist/{lint-YH6HNXVM.js → lint-PSCEVVNL.js} +8 -8
  116. package/dist/{lintProject-BGDYHF3F.js → lintProject-PXB5Y6TX.js} +2 -2
  117. package/dist/{list-KZXJYWKZ.js → list-KO4N2VJL.js} +2 -2
  118. package/dist/{login-CBNG6TFS.js → login-ZJEBRFV5.js} +4 -4
  119. package/dist/{media-treatment-TZTGSXQW.js → media-treatment-HGHLLZR3.js} +11 -11
  120. package/dist/{models-6PJD6KNN.js → models-NTAVDCAV.js} +11 -11
  121. package/dist/{motionShot-ATCNOMLE.js → motionShot-SJENYTRO.js} +19 -17
  122. package/dist/{normalize-audio-JYRAP3I5.js → normalize-audio-PQIC7IPK.js} +4 -4
  123. package/dist/{open-2IWIMS7X.js → open-EI7UEAZZ.js} +4 -4
  124. package/dist/{parakeetRunner-4RECECZC.js → parakeetRunner-7SDEI3IZ.js} +11 -11
  125. package/dist/{pipeline-W5ON6TOA.js → pipeline-EXHHCUE7.js} +8 -8
  126. package/dist/{play-UWEP74BP.js → play-Y4EMM2OJ.js} +19 -19
  127. package/dist/{present-LBW3UKGD.js → present-LFMGQGX6.js} +15 -15
  128. package/dist/{preview-ZJVWEZDQ.js → preview-EYQG7L6X.js} +18 -18
  129. package/dist/{producer-STNCPEUU.js → producer-FKOEAHJW.js} +1 -1
  130. package/dist/{projectConfig-QIZWOCOO.js → projectConfig-SXW3QMZE.js} +8 -8
  131. package/dist/{publication-YNDABZNC.js → publication-ZC4LDEXQ.js} +3 -3
  132. package/dist/{publish-4UNNKLPE.js → publish-4ZCLHA5W.js} +10 -10
  133. package/dist/{remove-background-77IFDTYA.js → remove-background-IGDRS2QV.js} +9 -9
  134. package/dist/{render-5LL5JCRH.js → render-QJCBJQOM.js} +38 -30
  135. package/dist/{render-VFPSVKGX.js → render-TA3DG3LZ.js} +9 -9
  136. package/dist/{render-NUZPUBQO.js → render-ZN777RDD.js} +11 -6
  137. package/dist/{render-batch-QU7ZWEJZ.js → render-batch-2JQNFAL4.js} +10 -6
  138. package/dist/renderSetupWorker.js +2 -2
  139. package/dist/{resolver-SPF7J6MA.js → resolver-JZF5G6YC.js} +5 -5
  140. package/dist/{screenshotCapture-3JXXUZND.js → screenshotCapture-XAYELJK7.js} +1 -1
  141. package/dist/{sherpa-XPHQUCHY.js → sherpa-MDVSUF6Y.js} +10 -10
  142. package/dist/skills/hyperframes/references/skill-lifecycle.md +2 -0
  143. package/dist/{skills-FVEEVJS7.js → skills-JVNMX37H.js} +30 -5
  144. package/dist/{skillsUpdateCheck-C64VYL4I.js → skillsUpdateCheck-KNTQFGOI.js} +3 -3
  145. package/dist/{snapshot-IMGLO7XP.js → snapshot-RDQTFIPX.js} +35 -33
  146. package/dist/{src-DG7XW5WW.js → src-5XO7KBBL.js} +7 -7
  147. package/dist/{src-ZUYRJWHE.js → src-ZPEZRIUC.js} +13 -13
  148. package/dist/{staticProjectServer-H6GKJPVR.js → staticProjectServer-RLERPIY6.js} +15 -15
  149. package/dist/studio/assets/{hyperframes-player-BhRLDR30.js → hyperframes-player-mYPt9XVX.js} +1 -1
  150. package/dist/studio/assets/{index-DQ_I6X0d.js → index-B-v5xQjD.js} +97 -97
  151. package/dist/studio/assets/{index-CCRXiiFo.js → index-DtHmIKM0.js} +1 -1
  152. package/dist/studio/index.html +1 -1
  153. package/dist/{studio-api-72FF3CQG.js → studio-api-4INCUOCU.js} +9 -9
  154. package/dist/{studioServer-2YBG4HV2.js → studioServer-DMDE7IZU.js} +54 -52
  155. package/dist/{telemetry-DCFWJC6H.js → telemetry-4Y5DYI6H.js} +3 -3
  156. package/dist/{timeline-IN6TQ6AQ.js → timeline-XJRKELVE.js} +37 -24
  157. package/dist/{tokens-2ELEYMMJ.js → tokens-G4VKTABI.js} +2 -2
  158. package/dist/{transcribe-GGNTXYJS.js → transcribe-JRSQRPVH.js} +9 -9
  159. package/dist/{transcribe-KELKHOAQ.js → transcribe-Y46B2ZVD.js} +15 -15
  160. package/dist/{updateCheck-IK3VKZ2E.js → updateCheck-NGYDWGQL.js} +2 -2
  161. package/dist/{upgrade-JND5YLA5.js → upgrade-M2LQP5S7.js} +2 -2
  162. package/dist/{urlDownloader-XCHPVCAE.js → urlDownloader-UFDUP3VF.js} +7 -7
  163. package/dist/{validate-4PJYWIXX.js → validate-B3AUFCC5.js} +24 -22
  164. package/dist/{video-53CDAVK2.js → video-WLCNVSVU.js} +8 -8
  165. package/package.json +1 -1
  166. package/dist/chunk-LGAKMIEX.js +0 -3795
@@ -13,7 +13,7 @@ import {
13
13
  isNavigationTimeoutError,
14
14
  isProtocolEvaluateTimeoutError,
15
15
  withRemainingBudget
16
- } from "./chunk-AWNBM3MZ.js";
16
+ } from "./chunk-RGHQID2E.js";
17
17
  import "./chunk-M2WBOQ2Q.js";
18
18
  export {
19
19
  PUPPETEER_DEFAULT_PROTOCOL_TIMEOUT_MS,
@@ -6,27 +6,27 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  runAdd
9
- } from "./chunk-EUCDNWPK.js";
10
- import "./chunk-25CSBTM2.js";
9
+ } from "./chunk-4LXK7TOM.js";
10
+ import "./chunk-XOODFU75.js";
11
11
  import {
12
12
  DEFAULT_PROJECT_CONFIG,
13
13
  loadProjectConfig
14
- } from "./chunk-ZUQ2K4YF.js";
14
+ } from "./chunk-C3WPYYGK.js";
15
15
  import "./chunk-XT7X6QCP.js";
16
16
  import "./chunk-4YYJOFKS.js";
17
17
  import "./chunk-HVW7ABXD.js";
18
18
  import {
19
19
  loadAllItems
20
- } from "./chunk-AKBFKGJM.js";
21
- import "./chunk-CQFNLIGE.js";
20
+ } from "./chunk-QKJ4KGNR.js";
21
+ import "./chunk-54MI3SGP.js";
22
22
  import {
23
23
  fetchRegistryManifest
24
- } from "./chunk-BTTGDEGI.js";
24
+ } from "./chunk-ID7B7NGN.js";
25
25
  import "./chunk-AWDFDFI3.js";
26
26
  import "./chunk-P6LJ4Y32.js";
27
27
  import "./chunk-GMECXFAN.js";
28
- import "./chunk-V652CBKA.js";
29
- import "./chunk-B4VG7PGX.js";
28
+ import "./chunk-YTZA25TZ.js";
29
+ import "./chunk-YULVV525.js";
30
30
  import "./chunk-VWG7OQKU.js";
31
31
  import "./chunk-QWQ6GQTI.js";
32
32
  import {
@@ -54,7 +54,7 @@ import {
54
54
  isAttendedTerminal
55
55
  } from "./chunk-WERLJGIC.js";
56
56
  import "./chunk-ISN5GRYI.js";
57
- import "./chunk-HTDDV7CM.js";
57
+ import "./chunk-BC2XZL6O.js";
58
58
  import {
59
59
  installedOptionalPackageVersion,
60
60
  loadInstalledOptionalPackage,
@@ -67,11 +67,11 @@ import {
67
67
  import "./chunk-XT6MXC7A.js";
68
68
  import "./chunk-JYVGYKXG.js";
69
69
  import "./chunk-7KDQAD2W.js";
70
- import "./chunk-MMSCLNCJ.js";
71
- import "./chunk-LGAKMIEX.js";
70
+ import "./chunk-SYKPCN32.js";
71
+ import "./chunk-QE7XLLGT.js";
72
72
  import "./chunk-VC76R6W2.js";
73
73
  import "./chunk-UJKQWGFF.js";
74
- import "./chunk-ALLKNYC3.js";
74
+ import "./chunk-YMS5FOMC.js";
75
75
  import {
76
76
  realpath
77
77
  } from "./chunk-OFQWTKPW.js";
@@ -79,7 +79,7 @@ import "./chunk-DPVXBVLL.js";
79
79
  import "./chunk-T76PLPD6.js";
80
80
  import "./chunk-FXMKHHPO.js";
81
81
  import "./chunk-RQVDTPGD.js";
82
- import "./chunk-3VGU2SH7.js";
82
+ import "./chunk-OYLO6TYK.js";
83
83
  import "./chunk-3RM2ETQT.js";
84
84
  import "./chunk-BSQ7XANM.js";
85
85
  import "./chunk-SDYDNHEE.js";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-ATF6UESJ.js";
9
+ } from "./chunk-LGCHE2F4.js";
10
10
  import "./chunk-K2FLNJVB.js";
11
11
  import {
12
12
  filesChangedSince,
@@ -14,8 +14,8 @@ import {
14
14
  readSeen,
15
15
  unseenTurns
16
16
  } from "./chunk-DCAI5DBR.js";
17
- import "./chunk-V652CBKA.js";
18
- import "./chunk-B4VG7PGX.js";
17
+ import "./chunk-YTZA25TZ.js";
18
+ import "./chunk-YULVV525.js";
19
19
  import "./chunk-VWG7OQKU.js";
20
20
  import "./chunk-QWQ6GQTI.js";
21
21
  import {
@@ -30,7 +30,7 @@ import "./chunk-K4WIOZFP.js";
30
30
  import "./chunk-XUXGIA7H.js";
31
31
  import "./chunk-WERLJGIC.js";
32
32
  import "./chunk-ISN5GRYI.js";
33
- import "./chunk-HTDDV7CM.js";
33
+ import "./chunk-BC2XZL6O.js";
34
34
  import "./chunk-EOVYQ3IG.js";
35
35
  import "./chunk-XT6MXC7A.js";
36
36
  import "./chunk-JYVGYKXG.js";
@@ -9,9 +9,6 @@ import {
9
9
  reportArtifacts,
10
10
  withProjectLock
11
11
  } from "./chunk-57GN6KWT.js";
12
- import {
13
- withRemainingBudget
14
- } from "./chunk-AWNBM3MZ.js";
15
12
  import {
16
13
  beginCheckSnapshots,
17
14
  checkSnapshotDirectory,
@@ -19,17 +16,7 @@ import {
19
16
  rectToBbox
20
17
  } from "./chunk-QABAVWEX.js";
21
18
  import {
22
- captureArtifactRevision
23
- } from "./chunk-BTXLF6DV.js";
24
- import "./chunk-APTXSODN.js";
25
- import "./chunk-X7MTZ4T2.js";
26
- import {
27
- loadProducer
28
- } from "./chunk-F67VJSSH.js";
29
- import {
30
- trackLintRun
31
- } from "./chunk-ZH3TWH4D.js";
32
- import {
19
+ CONTENT_OVERLAP_HELD_ERROR_MS,
33
20
  assertionTargets,
34
21
  buildLayoutSampleTimes,
35
22
  buildTransitionSampleTimes,
@@ -47,44 +34,59 @@ import {
47
34
  mergeSampleTimes,
48
35
  parseAt,
49
36
  readMotionSpec
50
- } from "./chunk-ULJB5UY4.js";
51
- import "./chunk-L7PJO2A4.js";
37
+ } from "./chunk-MD4S2RXW.js";
38
+ import {
39
+ captureArtifactRevision
40
+ } from "./chunk-BWFUUGIZ.js";
41
+ import "./chunk-2GSGFDEP.js";
42
+ import "./chunk-X7MTZ4T2.js";
43
+ import {
44
+ loadProducer
45
+ } from "./chunk-4WPRJ7ID.js";
46
+ import {
47
+ trackLintRun
48
+ } from "./chunk-PYSGYMM4.js";
49
+ import "./chunk-EW2QBTYO.js";
52
50
  import {
53
51
  BrowserCleanupError,
54
52
  closeManagedBrowser
55
- } from "./chunk-FLTPIUGU.js";
53
+ } from "./chunk-UWQL2MP4.js";
56
54
  import "./chunk-FH7WODJH.js";
57
- import "./chunk-GDJGBAV6.js";
58
- import "./chunk-WPNE5NEP.js";
55
+ import "./chunk-BTCUP5ZY.js";
56
+ import "./chunk-2F7S7OK2.js";
57
+ import "./chunk-XR3XDG7V.js";
59
58
  import {
60
59
  resolveProject
61
- } from "./chunk-ATF6UESJ.js";
60
+ } from "./chunk-LGCHE2F4.js";
62
61
  import "./chunk-K2FLNJVB.js";
63
- import "./chunk-CABYCNUK.js";
62
+ import "./chunk-EKEK3GOB.js";
64
63
  import "./chunk-X7MTZ4T2.js";
65
- import "./chunk-DOONKIF5.js";
66
- import "./chunk-DQBY7FRR.js";
67
- import {
68
- resolveLocalBrowserGpuMode
69
- } from "./chunk-AL7XYJTK.js";
70
- import "./chunk-442JNXRM.js";
64
+ import "./chunk-FA3TWKZO.js";
71
65
  import "./chunk-XUHOIDKG.js";
72
- import "./chunk-UKTXHF3Q.js";
73
- import "./chunk-OBZWOV4Q.js";
66
+ import "./chunk-CDDIEZ4D.js";
67
+ import "./chunk-4CIMRQQY.js";
74
68
  import "./chunk-6JR2XUEE.js";
75
69
  import "./chunk-C6TPGUWD.js";
76
- import "./chunk-SZDHUSQ5.js";
70
+ import "./chunk-AQZZZTFL.js";
77
71
  import {
78
72
  recordArtifacts
79
73
  } from "./chunk-JGYHWVXQ.js";
80
74
  import "./chunk-FFDC5OWV.js";
81
- import "./chunk-ZUQ2K4YF.js";
75
+ import "./chunk-DQBY7FRR.js";
76
+ import {
77
+ resolveLocalBrowserGpuMode
78
+ } from "./chunk-DO3UPPO4.js";
79
+ import "./chunk-442JNXRM.js";
80
+ import {
81
+ withRemainingBudget
82
+ } from "./chunk-RGHQID2E.js";
83
+ import "./chunk-C3WPYYGK.js";
82
84
  import "./chunk-XT7X6QCP.js";
83
85
  import "./chunk-4YYJOFKS.js";
84
86
  import "./chunk-HVW7ABXD.js";
85
- import "./chunk-AKBFKGJM.js";
86
- import "./chunk-CQFNLIGE.js";
87
- import "./chunk-BTTGDEGI.js";
87
+ import "./chunk-QKJ4KGNR.js";
88
+ import "./chunk-54MI3SGP.js";
89
+ import "./chunk-ID7B7NGN.js";
88
90
  import "./chunk-AWDFDFI3.js";
89
91
  import "./chunk-P6LJ4Y32.js";
90
92
  import "./chunk-GMECXFAN.js";
@@ -92,8 +94,8 @@ import "./chunk-5CS4T6C6.js";
92
94
  import {
93
95
  trackCheckReport,
94
96
  trackCommandFailure
95
- } from "./chunk-V652CBKA.js";
96
- import "./chunk-B4VG7PGX.js";
97
+ } from "./chunk-YTZA25TZ.js";
98
+ import "./chunk-YULVV525.js";
97
99
  import "./chunk-VWG7OQKU.js";
98
100
  import "./chunk-QWQ6GQTI.js";
99
101
  import {
@@ -118,27 +120,27 @@ import "./chunk-TJSTGSAW.js";
118
120
  import "./chunk-Q5X2B5WT.js";
119
121
  import {
120
122
  withMeta
121
- } from "./chunk-ZIL7S3L6.js";
123
+ } from "./chunk-O7BABHM4.js";
122
124
  import "./chunk-K4WIOZFP.js";
123
125
  import "./chunk-XUXGIA7H.js";
124
126
  import "./chunk-WERLJGIC.js";
125
127
  import "./chunk-ISN5GRYI.js";
126
- import "./chunk-HTDDV7CM.js";
128
+ import "./chunk-BC2XZL6O.js";
127
129
  import "./chunk-EOVYQ3IG.js";
128
130
  import "./chunk-XT6MXC7A.js";
129
131
  import {
130
132
  extractMediaMetadata,
131
133
  findHdrAutoPromotion
132
- } from "./chunk-BSXI5VWK.js";
133
- import "./chunk-KPPC3C4I.js";
134
+ } from "./chunk-CAHSX6IW.js";
135
+ import "./chunk-KDC5D5VM.js";
134
136
  import "./chunk-KCF6GHJP.js";
135
137
  import "./chunk-JYVGYKXG.js";
136
138
  import "./chunk-7KDQAD2W.js";
137
- import "./chunk-MMSCLNCJ.js";
138
- import "./chunk-LGAKMIEX.js";
139
+ import "./chunk-SYKPCN32.js";
140
+ import "./chunk-QE7XLLGT.js";
139
141
  import "./chunk-VC76R6W2.js";
140
142
  import "./chunk-UJKQWGFF.js";
141
- import "./chunk-ALLKNYC3.js";
143
+ import "./chunk-YMS5FOMC.js";
142
144
  import "./chunk-OFQWTKPW.js";
143
145
  import "./chunk-DPVXBVLL.js";
144
146
  import "./chunk-T76PLPD6.js";
@@ -148,11 +150,11 @@ import "./chunk-TWWSYAKJ.js";
148
150
  import {
149
151
  lintProject,
150
152
  shouldBlockRender
151
- } from "./chunk-2742O5DO.js";
153
+ } from "./chunk-PLWORQFC.js";
152
154
  import {
153
155
  resolveProjectRelativeSrc
154
156
  } from "./chunk-IWFLMU2N.js";
155
- import "./chunk-3VGU2SH7.js";
157
+ import "./chunk-OYLO6TYK.js";
156
158
  import "./chunk-VAS6HQX3.js";
157
159
  import "./chunk-3RM2ETQT.js";
158
160
  import "./chunk-BSQ7XANM.js";
@@ -268,7 +270,7 @@ import { join, relative } from "path";
268
270
 
269
271
  // src/utils/hdrPromotion.ts
270
272
  async function bundleProjectHtml(projectDir) {
271
- const { bundleToSingleHtml } = await import("./compiler-VQ7QYOSB.js");
273
+ const { bundleToSingleHtml } = await import("./compiler-OSQ4L7FP.js");
272
274
  return bundleToSingleHtml(projectDir);
273
275
  }
274
276
  async function collectBundledRenderMedia(html) {
@@ -627,26 +629,80 @@ async function collectGridSamples(driver, options, grid, motion) {
627
629
  return collected;
628
630
  }
629
631
  var OVERLAP_SAMPLE_FPS = 8;
630
- var OVERLAP_MAX_SAMPLES = 600;
631
- function buildOverlapSampleTimes(duration) {
632
+ var OVERLAP_MAX_SAMPLES = 240;
633
+ var OVERLAP_HOLD_PROBES = 60;
634
+ function evenlyPicked(times, count) {
635
+ if (times.length <= count) return times;
636
+ const last = Math.max(1, count - 1);
637
+ return Array.from(
638
+ { length: count },
639
+ (_, i) => times[Math.floor(i * (times.length - 1) / last)] ?? 0
640
+ );
641
+ }
642
+ function uniformTimes(duration, fill) {
643
+ const step = duration / Math.max(1, fill - 1);
644
+ return Array.from({ length: fill }, (_, i) => i * step);
645
+ }
646
+ function buildOverlapSampleTimes(duration, clipEdges) {
632
647
  if (!Number.isFinite(duration) || duration <= 0) return [];
633
648
  const count = Math.min(
634
- OVERLAP_MAX_SAMPLES,
649
+ OVERLAP_MAX_SAMPLES - OVERLAP_HOLD_PROBES,
635
650
  Math.max(2, Math.ceil(duration * OVERLAP_SAMPLE_FPS) + 1)
636
651
  );
637
- const step = duration / (count - 1);
652
+ const cuts = [];
653
+ for (const time of mergeSampleTimes(
654
+ [0, duration],
655
+ clipEdges.filter((t) => t > 0 && t < duration)
656
+ ))
657
+ if (time - (cuts.at(-1) ?? -Infinity) >= CONTENT_OVERLAP_HELD_ERROR_MS / 1e3) cuts.push(time);
658
+ const uncovered = (fill2) => {
659
+ const step = duration / Math.max(1, fill2 - 1);
660
+ return cuts.slice(1).flatMap((end, i) => {
661
+ const start = cuts[i] ?? 0;
662
+ return Math.floor(start / step) === Math.floor(end / step) ? [(start + end) / 2] : [];
663
+ });
664
+ };
665
+ let fill = count - Math.floor(count / 2);
666
+ let windows = uncovered(fill);
667
+ if (windows.length < count - fill) {
668
+ fill = count - windows.length;
669
+ windows = uncovered(fill);
670
+ }
671
+ const picked = evenlyPicked(windows, count - fill);
638
672
  return mergeSampleTimes(
639
- Array.from({ length: count }, (_, index) => Math.round(index * step * 1e3) / 1e3)
673
+ [...picked, ...uniformTimes(duration, fill)].map((t) => Math.round(t * 1e3) / 1e3)
640
674
  );
641
675
  }
676
+ function holdProber(driver, collected, end) {
677
+ const holdS = CONTENT_OVERLAP_HELD_ERROR_MS / 1e3;
678
+ const held = /* @__PURE__ */ new Set();
679
+ const keyOf = (issue) => `${issue.code} ${issue.selector}`;
680
+ let probes = 0;
681
+ return async (time, next, issues) => {
682
+ const unproven = new Set(issues.map(keyOf).filter((key) => !held.has(key)));
683
+ const probe = Math.round((time + holdS) * 1e3) / 1e3;
684
+ const sparse = next - time > 2 * holdS && probe <= end;
685
+ if (!unproven.size || !sparse || probes >= OVERLAP_HOLD_PROBES) return;
686
+ probes += 1;
687
+ await driver.seekGeometry(probe);
688
+ const later = await driver.collectOverlap(probe);
689
+ collected.layoutIssues.push(...later);
690
+ for (const key of later.map(keyOf)) if (unproven.has(key)) held.add(key);
691
+ };
692
+ }
642
693
  async function collectMotionOverlapSamples(driver, grid, collected, range) {
643
694
  const baseTimes = new Set(grid.layoutSamples);
644
- const overlapTimes = buildOverlapSampleTimes(range ? range[1] - range[0] : grid.duration);
695
+ const offset = range?.[0] ?? 0;
696
+ const edges = (await driver.getClipEdges()).map((time) => time - offset);
697
+ const overlapTimes = buildOverlapSampleTimes(range ? range[1] - range[0] : grid.duration, edges);
645
698
  const shiftedTimes = range ? mergeSampleTimes(overlapTimes.map((time) => time + range[0])) : overlapTimes;
646
- for (const time of shiftedTimes) {
699
+ const probeHold = holdProber(driver, collected, range ? range[1] : grid.duration);
700
+ for (const [index, time] of shiftedTimes.entries()) {
647
701
  if (baseTimes.has(time)) continue;
648
702
  await driver.seekGeometry(time);
649
- collected.layoutIssues.push(...await driver.collectOverlap(time));
703
+ const issues = await driver.collectOverlap(time);
704
+ collected.layoutIssues.push(...issues);
705
+ await probeHold(time, shiftedTimes[index + 1] ?? Number.POSITIVE_INFINITY, issues);
650
706
  }
651
707
  }
652
708
  var SWEEP_STATIC_MIN_DURATION_SEC = 3;
@@ -1555,7 +1611,7 @@ function resolveMotionSpec(projectDir) {
1555
1611
  };
1556
1612
  }
1557
1613
  async function runBrowserCheck(project, options, motion, deadline) {
1558
- const module = await import("./checkBrowser-MECIATAM.js");
1614
+ const module = await import("./checkBrowser-Y4CZVGIV.js");
1559
1615
  return module.runBrowserCheck(project, options, motion, runAuditGrid, deadline);
1560
1616
  }
1561
1617
  async function writeSnapshot(projectDir, index, time, pngBase64) {
@@ -1567,7 +1623,7 @@ async function writeSnapshot(projectDir, index, time, pngBase64) {
1567
1623
  return relative(projectDir, path);
1568
1624
  }
1569
1625
  async function captureFindingCrops(project, options, requests, deadline) {
1570
- const module = await import("./checkBrowser-MECIATAM.js");
1626
+ const module = await import("./checkBrowser-Y4CZVGIV.js");
1571
1627
  return module.captureFindingCrops(project, options, requests, deadline);
1572
1628
  }
1573
1629
  var DEFAULT_DEPENDENCIES2 = {
@@ -8,16 +8,16 @@ import {
8
8
  auditClipDurations,
9
9
  shouldIgnoreHttpError,
10
10
  shouldIgnoreRequestFailure
11
- } from "./chunk-W3SLIE72.js";
11
+ } from "./chunk-RG66EU4L.js";
12
12
  import {
13
13
  checkSnapshotDirectory,
14
14
  rectToBbox
15
15
  } from "./chunk-QABAVWEX.js";
16
- import "./chunk-X7MTZ4T2.js";
17
16
  import {
18
17
  ambiguousIssue,
19
18
  loadBrowserScript
20
- } from "./chunk-ULJB5UY4.js";
19
+ } from "./chunk-MD4S2RXW.js";
20
+ import "./chunk-X7MTZ4T2.js";
21
21
  import {
22
22
  AUDIT_SEEK_OPTIONS,
23
23
  DEFAULT_ZOOM_PADDING_PX,
@@ -29,26 +29,25 @@ import {
29
29
  resolveCliChromeGpuMode,
30
30
  seekCompositionTimeline,
31
31
  waitForPreferredSeekTarget
32
- } from "./chunk-L7PJO2A4.js";
32
+ } from "./chunk-EW2QBTYO.js";
33
33
  import {
34
34
  BrowserCleanupError,
35
35
  closeManagedBrowser
36
- } from "./chunk-FLTPIUGU.js";
36
+ } from "./chunk-UWQL2MP4.js";
37
37
  import "./chunk-FH7WODJH.js";
38
- import "./chunk-GDJGBAV6.js";
39
- import "./chunk-WPNE5NEP.js";
40
- import "./chunk-ATF6UESJ.js";
38
+ import "./chunk-BTCUP5ZY.js";
39
+ import "./chunk-2F7S7OK2.js";
40
+ import "./chunk-XR3XDG7V.js";
41
+ import "./chunk-LGCHE2F4.js";
41
42
  import "./chunk-K2FLNJVB.js";
42
43
  import {
43
44
  serveStaticProjectHtml
44
- } from "./chunk-CABYCNUK.js";
45
+ } from "./chunk-EKEK3GOB.js";
45
46
  import "./chunk-X7MTZ4T2.js";
46
- import "./chunk-DOONKIF5.js";
47
- import "./chunk-AL7XYJTK.js";
48
- import "./chunk-442JNXRM.js";
47
+ import "./chunk-FA3TWKZO.js";
49
48
  import "./chunk-XUHOIDKG.js";
50
- import "./chunk-UKTXHF3Q.js";
51
- import "./chunk-OBZWOV4Q.js";
49
+ import "./chunk-CDDIEZ4D.js";
50
+ import "./chunk-4CIMRQQY.js";
52
51
  import "./chunk-6JR2XUEE.js";
53
52
  import "./chunk-C6TPGUWD.js";
54
53
  import {
@@ -57,24 +56,27 @@ import {
57
56
  proxyVariantFor,
58
57
  resolveProxies,
59
58
  scanProjectMediaCodecMap
60
- } from "./chunk-SZDHUSQ5.js";
59
+ } from "./chunk-AQZZZTFL.js";
61
60
  import "./chunk-JGYHWVXQ.js";
62
61
  import "./chunk-FFDC5OWV.js";
62
+ import "./chunk-DO3UPPO4.js";
63
+ import "./chunk-442JNXRM.js";
64
+ import "./chunk-RGHQID2E.js";
63
65
  import {
64
66
  resolveAutoProxy
65
- } from "./chunk-ZUQ2K4YF.js";
67
+ } from "./chunk-C3WPYYGK.js";
66
68
  import "./chunk-XT7X6QCP.js";
67
69
  import "./chunk-4YYJOFKS.js";
68
70
  import "./chunk-HVW7ABXD.js";
69
- import "./chunk-AKBFKGJM.js";
70
- import "./chunk-CQFNLIGE.js";
71
- import "./chunk-BTTGDEGI.js";
71
+ import "./chunk-QKJ4KGNR.js";
72
+ import "./chunk-54MI3SGP.js";
73
+ import "./chunk-ID7B7NGN.js";
72
74
  import "./chunk-AWDFDFI3.js";
73
75
  import "./chunk-P6LJ4Y32.js";
74
76
  import "./chunk-GMECXFAN.js";
75
77
  import "./chunk-5CS4T6C6.js";
76
- import "./chunk-V652CBKA.js";
77
- import "./chunk-B4VG7PGX.js";
78
+ import "./chunk-YTZA25TZ.js";
79
+ import "./chunk-YULVV525.js";
78
80
  import "./chunk-VWG7OQKU.js";
79
81
  import "./chunk-QWQ6GQTI.js";
80
82
  import "./chunk-S3S4TGEH.js";
@@ -84,33 +86,33 @@ import "./chunk-ZTZA4UWZ.js";
84
86
  import "./chunk-KLIKCX6Q.js";
85
87
  import "./chunk-EOOEC32M.js";
86
88
  import "./chunk-TJSTGSAW.js";
87
- import "./chunk-ZIL7S3L6.js";
89
+ import "./chunk-O7BABHM4.js";
88
90
  import "./chunk-K4WIOZFP.js";
89
91
  import "./chunk-XUXGIA7H.js";
90
92
  import "./chunk-WERLJGIC.js";
91
93
  import "./chunk-ISN5GRYI.js";
92
- import "./chunk-HTDDV7CM.js";
94
+ import "./chunk-BC2XZL6O.js";
93
95
  import "./chunk-EOVYQ3IG.js";
94
96
  import "./chunk-XT6MXC7A.js";
95
- import "./chunk-BSXI5VWK.js";
96
- import "./chunk-KPPC3C4I.js";
97
+ import "./chunk-CAHSX6IW.js";
98
+ import "./chunk-KDC5D5VM.js";
97
99
  import "./chunk-KCF6GHJP.js";
98
100
  import "./chunk-JYVGYKXG.js";
99
101
  import "./chunk-7KDQAD2W.js";
100
- import "./chunk-MMSCLNCJ.js";
101
- import "./chunk-LGAKMIEX.js";
102
+ import "./chunk-SYKPCN32.js";
103
+ import "./chunk-QE7XLLGT.js";
102
104
  import "./chunk-VC76R6W2.js";
103
105
  import "./chunk-UJKQWGFF.js";
104
- import "./chunk-ALLKNYC3.js";
106
+ import "./chunk-YMS5FOMC.js";
105
107
  import "./chunk-OFQWTKPW.js";
106
108
  import "./chunk-DPVXBVLL.js";
107
109
  import "./chunk-T76PLPD6.js";
108
110
  import "./chunk-FXMKHHPO.js";
109
111
  import "./chunk-RQVDTPGD.js";
110
112
  import "./chunk-TWWSYAKJ.js";
111
- import "./chunk-2742O5DO.js";
113
+ import "./chunk-PLWORQFC.js";
112
114
  import "./chunk-IWFLMU2N.js";
113
- import "./chunk-3VGU2SH7.js";
115
+ import "./chunk-OYLO6TYK.js";
114
116
  import "./chunk-VAS6HQX3.js";
115
117
  import "./chunk-3RM2ETQT.js";
116
118
  import "./chunk-BSQ7XANM.js";
@@ -293,7 +295,7 @@ function proxyFailedDraft(message) {
293
295
  return { code: "media_proxy_failed", severity: "warning", message, time: 0 };
294
296
  }
295
297
  async function runBrowserCheck(project, options, motion, runGrid, deadline) {
296
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-ZUM7SYTY.js");
298
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-M7CRHOS7.js");
297
299
  const html = await bundleWithLocalizedFonts(project.dir);
298
300
  const { findings: drafts, failedPaths } = await preResolveHostileMediaProxies(
299
301
  project.dir,
@@ -330,7 +332,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
330
332
  await waitForPreferredSeekTarget(page);
331
333
  const rootAnchor = await resolveRootAnchor(page);
332
334
  const launchSettleMs = Date.now() - launchSettleStart;
333
- const { analyzeClipMediaFit } = await import("./src-DG7XW5WW.js");
335
+ const { analyzeClipMediaFit } = await import("./src-5XO7KBBL.js");
334
336
  for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
335
337
  drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
336
338
  }
@@ -360,7 +362,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
360
362
  }
361
363
  async function captureFindingCrops(project, options, requests, deadline) {
362
364
  if (requests.length === 0) return [];
363
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-ZUM7SYTY.js");
365
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-M7CRHOS7.js");
364
366
  const html = await bundleWithLocalizedFonts(project.dir);
365
367
  const server = await serveStaticProjectHtml(
366
368
  project.dir,
@@ -593,6 +595,7 @@ function createPageDriver(page, setTime) {
593
595
  getDuration: () => getCompositionDuration(page),
594
596
  hasNoTimelineDeclaration: () => hasNoTimelineDeclaration(page),
595
597
  getTransitionBoundaries: () => collectTweenBoundaries(page),
598
+ getClipEdges: () => collectClipEdges(page),
596
599
  getCanvas: () => page.evaluate(() => ({ width: window.innerWidth, height: window.innerHeight })),
597
600
  findAmbiguousSelectors: (selectors) => findAmbiguousSelectors(page, selectors),
598
601
  seek: async (time) => {
@@ -656,6 +659,12 @@ async function getCompositionDuration(page) {
656
659
  return 0;
657
660
  });
658
661
  }
662
+ async function collectClipEdges(page) {
663
+ return page.evaluate(() => {
664
+ const manifest = Reflect.get(window, "__clipManifest");
665
+ return (manifest?.clips ?? []).filter((clip) => clip.kind !== "audio").flatMap((clip) => [clip.start, clip.start + clip.duration]);
666
+ });
667
+ }
659
668
  async function collectTweenBoundaries(page) {
660
669
  return page.evaluate(() => {
661
670
  const property = (target, key) => typeof target === "object" && target !== null || typeof target === "function" ? Reflect.get(target, key) : void 0;
@@ -0,0 +1,20 @@
1
+ import { createRequire as __hf_createRequire } from "node:module";
2
+ import { fileURLToPath as __hf_fileURLToPath } from "node:url";
3
+ import { dirname as __hf_dirname } from "node:path";
4
+ var require = __hf_createRequire(import.meta.url);
5
+ var __filename = __hf_fileURLToPath(import.meta.url);
6
+ var __dirname = __hf_dirname(__filename);
7
+
8
+ // src/browser/sandboxDenied.ts
9
+ var MACH_SERVICE_DENIED = /bootstrap_check_in\b[^\n]*Permission denied/;
10
+ function sandboxDeniedRemediation(errorMessage) {
11
+ if (!MACH_SERVICE_DENIED.test(errorMessage)) return void 0;
12
+ return [
13
+ "The browser can't start inside this sandbox: macOS refused Chrome's mach service (bootstrap_check_in: Permission denied).",
14
+ "Rerun this command with escalation, outside the sandbox."
15
+ ].join("\n");
16
+ }
17
+
18
+ export {
19
+ sandboxDeniedRemediation
20
+ };
@@ -6,11 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-ATF6UESJ.js";
10
- import {
11
- findPreviewServerForProject,
12
- studioApiUrl
13
- } from "./chunk-DQBY7FRR.js";
9
+ } from "./chunk-LGCHE2F4.js";
14
10
  import {
15
11
  DEFAULT_HISTORY_ROOT,
16
12
  HistoryBusyError,
@@ -18,6 +14,10 @@ import {
18
14
  openProjectHistory,
19
15
  readProjectHistory
20
16
  } from "./chunk-JGYHWVXQ.js";
17
+ import {
18
+ findPreviewServerForProject,
19
+ studioApiUrl
20
+ } from "./chunk-DQBY7FRR.js";
21
21
 
22
22
  // src/utils/historyOwner.ts
23
23
  import { randomUUID } from "crypto";
@@ -17,14 +17,14 @@ import {
17
17
  isAllowedHtmlAttribute,
18
18
  isSafeAttributeValue,
19
19
  sanitizeRichTextChildren
20
- } from "./chunk-MMSCLNCJ.js";
20
+ } from "./chunk-SYKPCN32.js";
21
21
  import {
22
22
  decodedUrlPath,
23
23
  removeElementWithGsapCascade
24
- } from "./chunk-ALLKNYC3.js";
24
+ } from "./chunk-YMS5FOMC.js";
25
25
  import {
26
26
  require_dist
27
- } from "./chunk-2742O5DO.js";
27
+ } from "./chunk-PLWORQFC.js";
28
28
  import {
29
29
  readClipTiming,
30
30
  writeClipTiming
@@ -138,7 +138,7 @@ function replacementTimelineAssetId(document, element, newSrc) {
138
138
  return buildTimelineAssetId(decodedUrlPath(newSrc), ids);
139
139
  }
140
140
 
141
- // ../studio-server/dist/chunk-WUNFUTHB.js
141
+ // ../studio-server/dist/chunk-OF4B2ILS.js
142
142
  var import_postcss_selector_parser = __toESM(require_dist(), 1);
143
143
  import postcss from "postcss";
144
144
  function parseStyleDecls(style) {
@@ -296,9 +296,15 @@ function isHTMLElement(el) {
296
296
  const HTMLEl = el.ownerDocument?.defaultView?.HTMLElement;
297
297
  return HTMLEl ? el instanceof HTMLEl : el.nodeType === 1 && "style" in el;
298
298
  }
299
+ function mountsComposition(document, host, compositionId) {
300
+ if (host.hasAttribute("data-composition-src")) return true;
301
+ return host.children.length === 0 && querySelectorAllWithTemplates(document, "template").some(
302
+ (template) => template.id === `${compositionId}-template`
303
+ );
304
+ }
299
305
  function dedupeClonedCompositionId(document, clone) {
300
306
  const compositionId = clone.getAttribute("data-composition-id");
301
- if (!compositionId) return;
307
+ if (!compositionId || mountsComposition(document, clone, compositionId)) return;
302
308
  const usedCompositionIds = new Set(
303
309
  querySelectorAllWithTemplates(document, "[data-composition-id]").map(
304
310
  (node) => node.getAttribute("data-composition-id")