hyperframes 0.8.141 → 0.8.143

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 (200) hide show
  1. package/dist/{add-KH2CF4FD.js → add-Q5EYDUAY.js} +18 -17
  2. package/dist/{animatedGifPrep-QO4BSKR7.js → animatedGifPrep-H2DUQEZ3.js} +15 -15
  3. package/dist/{asset-4RDZILVJ.js → asset-C7JBYYX4.js} +4 -4
  4. package/dist/{assetCataloger-WGR4LYYN.js → assetCataloger-FRO4G6OU.js} +8 -7
  5. package/dist/{auth-WYQCOYE5.js → auth-FRWLCO36.js} +5 -4
  6. package/dist/{autoUpdate-PC5TN3NL.js → autoUpdate-E4OZXQK6.js} +2 -2
  7. package/dist/{backgroundChecks-7M3T44EP.js → backgroundChecks-FSUVHN5L.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-GOLLOE4V.js → batchRender-4U73BYTU.js} +11 -10
  10. package/dist/{beats-XJ7WP6QS.js → beats-U6KJWF35.js} +32 -28
  11. package/dist/{benchmark-HCGFBEZJ.js → benchmark-5ONT7V7B.js} +15 -14
  12. package/dist/{browser-VQKO2FKG.js → browser-R4DU46IE.js} +4 -4
  13. package/dist/{bundleWithLocalizedFonts-FH7PHTTX.js → bundleWithLocalizedFonts-VH55VOAL.js} +2 -2
  14. package/dist/{capture-TFZZSF6F.js → capture-26G2DPSI.js} +83 -41
  15. package/dist/{capture-XD3P3YQR.js → capture-OGQAEYKO.js} +24 -8
  16. package/dist/{catalog-4S33QWJJ.js → catalog-RKORTIUE.js} +19 -18
  17. package/dist/{catch-up-RW7YXXNT.js → catch-up-4OBERRQO.js} +5 -5
  18. package/dist/{check-XVTRRN4Y.js → check-P2XDN57S.js} +89 -85
  19. package/dist/{checkBrowser-HZXJ2EDU.js → checkBrowser-NTGJGAEA.js} +42 -42
  20. package/dist/{chunk-AVWEIOEN.js → chunk-2LBBHMKT.js} +1 -1
  21. package/dist/{chunk-E6SDW5FV.js → chunk-33RZPZ4K.js} +192 -45
  22. package/dist/{chunk-6IFXWJDX.js → chunk-3NE7ZYU2.js} +2 -2
  23. package/dist/{chunk-TQFG7HTI.js → chunk-3RM2ETQT.js} +0 -168
  24. package/dist/{chunk-PFCFR3KZ.js → chunk-442JNXRM.js} +1 -1
  25. package/dist/{chunk-6E6CM7WS.js → chunk-4M4EC7JX.js} +19 -12
  26. package/dist/{chunk-HKCNZITN.js → chunk-4OA4LDTU.js} +2 -2
  27. package/dist/{chunk-XTFJOR3K.js → chunk-4SFGME7K.js} +1 -1
  28. package/dist/{chunk-34TXESM7.js → chunk-5FISWJ37.js} +12 -4
  29. package/dist/{chunk-JYYOAKHS.js → chunk-6IIGT7BX.js} +1 -1
  30. package/dist/chunk-6TPZSTCL.js +3681 -0
  31. package/dist/{chunk-P6E4HFFU.js → chunk-6XMFEICO.js} +263 -75
  32. package/dist/{chunk-6Q6FR4KH.js → chunk-7UYBQ6NF.js} +296 -89
  33. package/dist/{chunk-BRITLL56.js → chunk-B4P5VDFQ.js} +1 -1
  34. package/dist/{chunk-U7E736AJ.js → chunk-BFDJ63J5.js} +32 -14
  35. package/dist/{chunk-WCJGTLPF.js → chunk-BHVFTYSI.js} +6 -3
  36. package/dist/{chunk-IO7ZIDRP.js → chunk-BT27OYYX.js} +53 -12
  37. package/dist/{chunk-KFH6UD26.js → chunk-BYK73CR7.js} +4 -4
  38. package/dist/{chunk-L3JSAB4L.js → chunk-CLOH4LIB.js} +3 -3
  39. package/dist/{chunk-R7UDXKI3.js → chunk-DF2BHILQ.js} +3 -3
  40. package/dist/{chunk-246MOR5U.js → chunk-DKSDVDXG.js} +175 -162
  41. package/dist/{chunk-35RSNI77.js → chunk-F26LCYRY.js} +42 -34
  42. package/dist/{chunk-5Z63TBTX.js → chunk-FH7WODJH.js} +1 -1
  43. package/dist/{chunk-NORZWWLK.js → chunk-FVYXDXEV.js} +2 -2
  44. package/dist/{chunk-YURXPGAM.js → chunk-GNBGPUJ7.js} +6 -8
  45. package/dist/{chunk-RVCWIIZ7.js → chunk-GV5R5B7Q.js} +1 -1
  46. package/dist/{chunk-GS6FE3IW.js → chunk-HC7EVDEL.js} +1 -1
  47. package/dist/{chunk-K2GOFLTX.js → chunk-HLYOEIWM.js} +14 -6
  48. package/dist/{chunk-XDSOIJC3.js → chunk-HMT2RPZU.js} +6 -6
  49. package/dist/{chunk-IKVBTDLO.js → chunk-HW4AKJ5F.js} +1 -1
  50. package/dist/{chunk-OLDDJS3S.js → chunk-I7QGQAZM.js} +8 -8
  51. package/dist/{chunk-JFKL3WAE.js → chunk-IWFLMU2N.js} +104 -19
  52. package/dist/{chunk-IHFUKJOR.js → chunk-K2FLNJVB.js} +8 -2
  53. package/dist/chunk-KJJLA674.js +121 -0
  54. package/dist/{chunk-XWVGSEUT.js → chunk-KO5QBV73.js} +1 -1
  55. package/dist/{chunk-INI3TM6I.js → chunk-KQLGTGE5.js} +3 -3
  56. package/dist/{chunk-E4BSCXMU.js → chunk-LVX6NK36.js} +3 -3
  57. package/dist/{chunk-BM5PX3DJ.js → chunk-LW6HO6U3.js} +4 -4
  58. package/dist/{chunk-OZUQF4NB.js → chunk-MQZVBHEY.js} +123 -8
  59. package/dist/{chunk-IV7EI5E2.js → chunk-N3DQEVSI.js} +2 -2
  60. package/dist/{chunk-A4KQZXZI.js → chunk-NE55C6S5.js} +4 -2
  61. package/dist/{chunk-EDYBFSPE.js → chunk-OBXQRJWQ.js} +7 -10
  62. package/dist/{chunk-RCFCZT5O.js → chunk-OSSHSIMD.js} +1 -1
  63. package/dist/chunk-P36MALQF.js +15 -0
  64. package/dist/{chunk-EKA4ZZBI.js → chunk-P7THMINS.js} +3 -3
  65. package/dist/{chunk-3NBKW2QJ.js → chunk-PAGIICKN.js} +2 -2
  66. package/dist/{chunk-O3SKIXQK.js → chunk-PJU63L6W.js} +1 -1
  67. package/dist/{chunk-RPYPW5NN.js → chunk-POLR33RB.js} +20 -13
  68. package/dist/{chunk-7M4KAPAA.js → chunk-PUGIRFPX.js} +2 -2
  69. package/dist/{chunk-7XTZVLE6.js → chunk-QFN7NVWM.js} +1 -1
  70. package/dist/{chunk-D2KNWIQ6.js → chunk-QFSCCQIR.js} +1 -1
  71. package/dist/{chunk-J5IPIQU2.js → chunk-QRKLPWEX.js} +1 -1
  72. package/dist/{chunk-N77KD7ZZ.js → chunk-QVYVUCWD.js} +1 -1
  73. package/dist/{chunk-GK4AIFIH.js → chunk-SDYDNHEE.js} +34 -3
  74. package/dist/{chunk-2NCHQUPX.js → chunk-SQLK7SJL.js} +1 -1
  75. package/dist/{chunk-PMRBLBUP.js → chunk-T42U2W2R.js} +14 -2
  76. package/dist/{chunk-Q65ZQFF2.js → chunk-TAMQYQGJ.js} +1 -1
  77. package/dist/{chunk-PXSM4HPB.js → chunk-U3X3TPBW.js} +1 -1
  78. package/dist/{chunk-3A5AAPMP.js → chunk-UICWP23D.js} +1 -1
  79. package/dist/{chunk-A7YQNIQT.js → chunk-UM2GRYM3.js} +113 -10
  80. package/dist/{chunk-TC2FBZJZ.js → chunk-VIVBA6E6.js} +2 -2
  81. package/dist/{chunk-W6HTOVHU.js → chunk-W35EKBS6.js} +2 -2
  82. package/dist/{chunk-YEIFI443.js → chunk-WPNE5NEP.js} +1 -1
  83. package/dist/{chunk-WY5OODN5.js → chunk-XONFUK3M.js} +3693 -28
  84. package/dist/{chunk-IYFKBFTW.js → chunk-Y6QL2LGO.js} +8 -5
  85. package/dist/{chunk-THXFSPLV.js → chunk-ZIRIDSDB.js} +1 -1
  86. package/dist/chunk-ZLW2V65P.js +209 -0
  87. package/dist/{chunk-4BB7V6AI.js → chunk-ZQQ3SEIE.js} +33 -32
  88. package/dist/{clean-L2E4VD57.js → clean-YHGPY33K.js} +23 -23
  89. package/dist/cli.js +57 -159
  90. package/dist/{cloud-IDUQRYLO.js → cloud-DOFI5ISR.js} +4 -4
  91. package/dist/{cloudrun-R3JXWXGG.js → cloudrun-KTZ4XDHL.js} +13 -12
  92. package/dist/commands/contrast-audit.browser.js +60 -4
  93. package/dist/commands/layout-audit.browser.js +88 -20
  94. package/dist/{compare-VYBWSP3Y.js → compare-SMMIZN2C.js} +37 -37
  95. package/dist/{compiler-ACHWOU5N.js → compiler-TEXQWW6N.js} +14 -11
  96. package/dist/{component-PYYV2V3F.js → component-B3GCNGSS.js} +5 -5
  97. package/dist/{compositions-B5GQSXH7.js → compositions-OQNZZTKF.js} +38 -34
  98. package/dist/{delete-EAX2U3WI.js → delete-EL5LVSEP.js} +6 -6
  99. package/dist/{deterministicFonts-F6WIVL2W.js → deterministicFonts-U2BIMGPG.js} +3 -3
  100. package/dist/{dist-NZSQCYOF.js → dist-5UVIRMSM.js} +7 -7
  101. package/dist/{dist-ROUDWGLO.js → dist-XN234YFQ.js} +41 -39
  102. package/dist/{doctor-PJX7MLFG.js → doctor-UOL3OI2A.js} +17 -17
  103. package/dist/{dom-IROKGVJI.js → dom-37K6YOH4.js} +2 -2
  104. package/dist/{events-SBC54MHO.js → events-K2DB2PBC.js} +2 -2
  105. package/dist/{events-YFFXKAQQ.js → events-NIZBS6S7.js} +3 -3
  106. package/dist/{feedback-UETLWREV.js → feedback-QMP4E6L7.js} +16 -15
  107. package/dist/{figma-QDSJPIRW.js → figma-2AUJRNVC.js} +3 -3
  108. package/dist/fontLocalizeCli.js +18 -18
  109. package/dist/{get-B5TS6C7H.js → get-P5NC7SRM.js} +6 -6
  110. package/dist/{gpuPolicy-LYOVBAJP.js → gpuPolicy-7N5MCE2G.js} +15 -15
  111. package/dist/{grade-compare-LBIHMAUN.js → grade-compare-HV5AFZ6P.js} +37 -37
  112. package/dist/{help-XBP6A6LT.js → help-3TSTXBLN.js} +1 -1
  113. package/dist/{history-2S42ZXKL.js → history-D65XFJ6D.js} +6 -6
  114. package/dist/hyperframe-runtime.js +25 -25
  115. package/dist/hyperframe.manifest.json +1 -1
  116. package/dist/hyperframe.runtime.iife.js +25 -25
  117. package/dist/hyperframes-player.global.js +3 -3
  118. package/dist/hyperframes-slideshow.global.js +23 -23
  119. package/dist/{info-I2VDAWT7.js → info-TXV7MLFO.js} +17 -16
  120. package/dist/{init-BGHSDODI.js → init-OSDMJZJV.js} +38 -38
  121. package/dist/{inspect-MZK5B5RP.js → inspect-RQQSAYIJ.js} +38 -38
  122. package/dist/{installer-LL4QAKFW.js → installer-CDOB32HE.js} +11 -10
  123. package/dist/{keyframes-2EBF7OSS.js → keyframes-V75Q6GRM.js} +10 -10
  124. package/dist/{lambda-XKFPAOFE.js → lambda-RODV4RCX.js} +12 -11
  125. package/dist/{layout-TP5ERKEF.js → layout-IZAI5SFC.js} +38 -38
  126. package/dist/{lint-FQ6CEI7E.js → lint-PLXOXY5R.js} +14 -14
  127. package/dist/{lintProject-LM3XZRPZ.js → lintProject-OQ6H6XBR.js} +7 -7
  128. package/dist/{list-FRNUJXZ3.js → list-BQBPNKDZ.js} +7 -7
  129. package/dist/{login-C25QU3BQ.js → login-NP6F4FHC.js} +20 -24
  130. package/dist/{logout-GJXZQKOA.js → logout-B4KS4A7S.js} +6 -6
  131. package/dist/{manager-DXB7JDHU.js → manager-GXYF4AVO.js} +2 -2
  132. package/dist/{manager-524RPYO7.js → manager-RFZNG5YT.js} +2 -2
  133. package/dist/{media-treatment-DCANGWSV.js → media-treatment-PXGMZ4A4.js} +55 -34
  134. package/dist/{models-GOD6ARB3.js → models-CEZM6XZ7.js} +17 -17
  135. package/dist/{motionShot-FSKETANX.js → motionShot-R4GHYWYM.js} +25 -25
  136. package/dist/{normalize-IGLHCWTF.js → normalize-H6KUHHEI.js} +18 -7
  137. package/dist/{normalize-audio-C2IM7OID.js → normalize-audio-MQ7NFCOV.js} +10 -6
  138. package/dist/{open-VVISXIII.js → open-AKQTGNXF.js} +5 -5
  139. package/dist/{pipeline-7YHZPYIS.js → pipeline-SYJYP2RM.js} +17 -17
  140. package/dist/{play-DSELK7G3.js → play-NBH4B7PL.js} +31 -30
  141. package/dist/{present-N72YFDKP.js → present-XAX55CFS.js} +26 -26
  142. package/dist/{preview-XTYN4NJ2.js → preview-OLANKNFA.js} +26 -26
  143. package/dist/{producer-NDCU3MHK.js → producer-Q6YNZZUJ.js} +1 -1
  144. package/dist/{projectConfig-MH4QU4AC.js → projectConfig-EM26P45P.js} +13 -12
  145. package/dist/{publication-KUSHI5MG.js → publication-OXWJZKSX.js} +8 -7
  146. package/dist/{publish-3XEEFWMF.js → publish-4VBWP2UB.js} +23 -22
  147. package/dist/{refresh-MFITBIKV.js → refresh-PVHBEABE.js} +2 -2
  148. package/dist/{remove-background-2QKJ7XOD.js → remove-background-REB7427G.js} +19 -19
  149. package/dist/{render-75E342ZU.js → render-3CVZ2SZG.js} +13 -12
  150. package/dist/{render-S73DW4KK.js → render-K25YOG3M.js} +22 -21
  151. package/dist/{render-2DVYTVLQ.js → render-TSE75QUL.js} +35 -35
  152. package/dist/{render-batch-YURBS54Q.js → render-batch-GGUOK3DS.js} +13 -12
  153. package/dist/{renderCancellation-373ASJTO.js → renderCancellation-PZRWB53I.js} +15 -15
  154. package/dist/renderSetupWorker.js +7 -7
  155. package/dist/{resolver-FE3GBZ4T.js → resolver-S5VK6UCB.js} +10 -9
  156. package/dist/{screenshotCapture-ECBTLCU6.js → screenshotCapture-TEUIWXWN.js} +53 -33
  157. package/dist/{sherpa-B2D3AGP6.js → sherpa-LVIUEAGF.js} +18 -18
  158. package/dist/skills/hyperframes-cli/references/cloud.md +1 -1
  159. package/dist/skills/hyperframes-cli/references/doctor-browser.md +24 -1
  160. package/dist/skills/media-use/references/grading.md +4 -2
  161. package/dist/skills/media-use/scripts/lib/cache.mjs +28 -14
  162. package/dist/skills/media-use/scripts/lib/cache.test.mjs +110 -0
  163. package/dist/skills/media-use/scripts/lib/duck.mjs +2 -1
  164. package/dist/skills/media-use/scripts/lib/duck.test.mjs +87 -0
  165. package/dist/skills/media-use/scripts/lib/probe.mjs +6 -1
  166. package/dist/skills/media-use/scripts/lib/probe.test.mjs +73 -0
  167. package/dist/skills/media-use/scripts/lib/words.mjs +1 -1
  168. package/dist/{skills-ICJ22CZZ.js → skills-I65FU5HD.js} +5 -5
  169. package/dist/{skillsUpdateCheck-GXZN56I5.js → skillsUpdateCheck-J57RNNIV.js} +3 -3
  170. package/dist/{slideshow-EJ4IMY6P.js → slideshow-4OJEPWNZ.js} +1 -1
  171. package/dist/{snapshot-XHKOAWF4.js → snapshot-YROOGY22.js} +42 -39
  172. package/dist/{src-I7UC3JTL.js → src-JO5JOV7Y.js} +16 -14
  173. package/dist/{src-74PFDTDX.js → src-X426BZAG.js} +17 -17
  174. package/dist/{staticProjectServer-2DGKD6TF.js → staticProjectServer-5VMBS262.js} +23 -23
  175. package/dist/{status-JA6SKQVH.js → status-LXPGSSKY.js} +6 -4
  176. package/dist/studio/assets/{hyperframes-player-5Vx2AiUz.js → hyperframes-player-BXSuksFh.js} +3 -3
  177. package/dist/studio/assets/{index-BAnh7cSQ.js → index-BgOVCqjo.js} +1 -1
  178. package/dist/studio/assets/{index-P8fgj_Xa.js → index-FgyO_5Kv.js} +1 -1
  179. package/dist/studio/assets/{index-C0thd4eM.js → index-J7jpL4pj.js} +157 -157
  180. package/dist/studio/index.html +1 -1
  181. package/dist/studio/index.js +148 -175
  182. package/dist/studio/index.js.map +1 -1
  183. package/dist/{studio-api-PROBO7JG.js → studio-api-VRBZUGAE.js} +22 -18
  184. package/dist/{studioServer-ID6UV2NE.js → studioServer-DBNKZ6I6.js} +50 -50
  185. package/dist/{synthesize-77PTU6C5.js → synthesize-C3IWDAXF.js} +2 -2
  186. package/dist/{telemetry-65LFHIWH.js → telemetry-CXAX3TO3.js} +3 -3
  187. package/dist/{timeline-6UV3JJXD.js → timeline-VQ34WH7J.js} +91 -70
  188. package/dist/{tokens-HIL4TZXI.js → tokens-62R7VFAZ.js} +4 -4
  189. package/dist/{transcribe-TIO6W3EQ.js → transcribe-7KR7IPJA.js} +18 -18
  190. package/dist/{transcribe-V7F6QDSN.js → transcribe-XOHPPL2O.js} +11 -11
  191. package/dist/{tts-TOHSPWEG.js → tts-MUV42JXT.js} +6 -6
  192. package/dist/{updateCheck-GZELANMA.js → updateCheck-POYNH3B5.js} +2 -2
  193. package/dist/{upgrade-BX3KDDZJ.js → upgrade-NBNOT7J2.js} +2 -2
  194. package/dist/{urlDownloader-R76OHFIE.js → urlDownloader-3NS63A7B.js} +14 -14
  195. package/dist/{validate-7UX4I443.js → validate-Y2QDHAEP.js} +40 -28
  196. package/dist/{video-RVGYEFQU.js → video-SJDMTSTL.js} +15 -15
  197. package/package.json +1 -1
  198. package/dist/chunk-24OWOBQH.js +0 -3656
  199. package/dist/chunk-SYKKFAUW.js +0 -3711
  200. /package/dist/{chunk-HBBJFK6I.js → chunk-APDLWWFG.js} +0 -0
@@ -20,10 +20,9 @@ import {
20
20
  duplicateElementInHtml,
21
21
  getElementScreenshotClip,
22
22
  getMimeType,
23
- requestSubPath,
24
23
  stampProjectHfIds,
25
24
  thumbnailDeviceScaleFactor
26
- } from "./chunk-6Q6FR4KH.js";
25
+ } from "./chunk-7UYBQ6NF.js";
27
26
  import {
28
27
  dedupeClonedCompositionId,
29
28
  findTargetElement,
@@ -31,7 +30,7 @@ import {
31
30
  patchElementInHtml,
32
31
  removeElementFromHtml,
33
32
  splitElementInHtml
34
- } from "./chunk-A7YQNIQT.js";
33
+ } from "./chunk-UM2GRYM3.js";
35
34
  import {
36
35
  DEFAULT_HISTORY_ROOT,
37
36
  DELETED_VERSION,
@@ -53,11 +52,13 @@ import {
53
52
  pruneGoneProjectHistories,
54
53
  settledFileTag
55
54
  } from "./chunk-QZ3AZTXI.js";
56
- import "./chunk-U7E736AJ.js";
55
+ import {
56
+ requestSubPath
57
+ } from "./chunk-BFDJ63J5.js";
57
58
  import {
58
59
  CACHE_DIR_NAME,
59
60
  cleanupProxyCache
60
- } from "./chunk-4BB7V6AI.js";
61
+ } from "./chunk-ZQQ3SEIE.js";
61
62
  import {
62
63
  STUDIO_MOTION_PATH,
63
64
  createStudioMotionRenderBodyScript,
@@ -71,29 +72,31 @@ import {
71
72
  createStudioPositionSeekReapplyScript
72
73
  } from "./chunk-KC5XXX3X.js";
73
74
  import "./chunk-TJSTGSAW.js";
74
- import "./chunk-35RSNI77.js";
75
- import "./chunk-A4KQZXZI.js";
76
- import "./chunk-6E6CM7WS.js";
77
- import "./chunk-OZUQF4NB.js";
78
- import "./chunk-DPVXBVLL.js";
79
- import "./chunk-SYKKFAUW.js";
75
+ import "./chunk-F26LCYRY.js";
76
+ import "./chunk-NE55C6S5.js";
77
+ import "./chunk-4M4EC7JX.js";
78
+ import "./chunk-6TPZSTCL.js";
80
79
  import "./chunk-VC76R6W2.js";
81
80
  import "./chunk-YA62XGXS.js";
81
+ import "./chunk-MQZVBHEY.js";
82
82
  import {
83
83
  isSafePath
84
84
  } from "./chunk-OFQWTKPW.js";
85
+ import "./chunk-DPVXBVLL.js";
85
86
  import "./chunk-T76PLPD6.js";
86
87
  import "./chunk-FXMKHHPO.js";
87
88
  import "./chunk-RQVDTPGD.js";
88
- import "./chunk-WY5OODN5.js";
89
- import "./chunk-24OWOBQH.js";
90
- import "./chunk-JFKL3WAE.js";
91
- import "./chunk-HBBJFK6I.js";
89
+ import "./chunk-XONFUK3M.js";
90
+ import "./chunk-IWFLMU2N.js";
91
+ import "./chunk-APDLWWFG.js";
92
92
  import "./chunk-PJ3HDUCY.js";
93
- import "./chunk-TQFG7HTI.js";
94
- import "./chunk-GK4AIFIH.js";
93
+ import "./chunk-3RM2ETQT.js";
94
+ import {
95
+ decodeWellFormedEscapes
96
+ } from "./chunk-ZLW2V65P.js";
97
+ import "./chunk-SDYDNHEE.js";
95
98
  import "./chunk-2PSPARWP.js";
96
- import "./chunk-PMRBLBUP.js";
99
+ import "./chunk-T42U2W2R.js";
97
100
  import "./chunk-M2WBOQ2Q.js";
98
101
  export {
99
102
  DEFAULT_HISTORY_ROOT,
@@ -126,6 +129,7 @@ export {
126
129
  createStudioManualEditsRenderBodyScript,
127
130
  createStudioMotionRenderBodyScript,
128
131
  createStudioPositionSeekReapplyScript,
132
+ decodeWellFormedEscapes,
129
133
  dedupeClonedCompositionId,
130
134
  duplicateElementInHtml,
131
135
  fileContentVersion,
@@ -6,22 +6,22 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  seekCompositionTimeline
9
- } from "./chunk-XDSOIJC3.js";
10
- import "./chunk-5Z63TBTX.js";
11
- import "./chunk-O3SKIXQK.js";
9
+ } from "./chunk-HMT2RPZU.js";
10
+ import "./chunk-FH7WODJH.js";
11
+ import "./chunk-PJU63L6W.js";
12
12
  import {
13
13
  renderJobObservabilityTelemetryPayload,
14
14
  renderObservabilityTelemetryPayload
15
15
  } from "./chunk-VXVRPIJA.js";
16
- import "./chunk-EKA4ZZBI.js";
17
- import "./chunk-YEIFI443.js";
16
+ import "./chunk-P7THMINS.js";
17
+ import "./chunk-WPNE5NEP.js";
18
18
  import {
19
19
  HANDOFF_READY,
20
20
  desktopDownloadUrl,
21
21
  desktopInstalled,
22
22
  openInDesktop
23
23
  } from "./chunk-EDUBJPGL.js";
24
- import "./chunk-IHFUKJOR.js";
24
+ import "./chunk-K2FLNJVB.js";
25
25
  import {
26
26
  PREVIEW_BUNDLE_OPTIONS,
27
27
  affectsPreview,
@@ -34,8 +34,8 @@ import {
34
34
  getMimeType,
35
35
  stampProjectHfIds,
36
36
  thumbnailDeviceScaleFactor
37
- } from "./chunk-6Q6FR4KH.js";
38
- import "./chunk-A7YQNIQT.js";
37
+ } from "./chunk-7UYBQ6NF.js";
38
+ import "./chunk-UM2GRYM3.js";
39
39
  import {
40
40
  DEFAULT_HISTORY_ROOT,
41
41
  DELETED_VERSION,
@@ -49,8 +49,8 @@ import {
49
49
  identifyFileWrite,
50
50
  openProjectHistory
51
51
  } from "./chunk-QZ3AZTXI.js";
52
- import "./chunk-U7E736AJ.js";
53
- import "./chunk-4BB7V6AI.js";
52
+ import "./chunk-BFDJ63J5.js";
53
+ import "./chunk-ZQQ3SEIE.js";
54
54
  import "./chunk-G75ENCEZ.js";
55
55
  import "./chunk-DCAI5DBR.js";
56
56
  import {
@@ -60,20 +60,20 @@ import {
60
60
  import {
61
61
  resolveCaptureBrowserGpuMode,
62
62
  resolveLocalBrowserGpuMode
63
- } from "./chunk-J5IPIQU2.js";
63
+ } from "./chunk-QRKLPWEX.js";
64
64
  import {
65
65
  resolveRenderBrowser
66
66
  } from "./chunk-KOEWEFHK.js";
67
- import "./chunk-PFCFR3KZ.js";
67
+ import "./chunk-442JNXRM.js";
68
68
  import {
69
69
  resolveAutoProxy
70
- } from "./chunk-AVWEIOEN.js";
70
+ } from "./chunk-2LBBHMKT.js";
71
71
  import "./chunk-XT7X6QCP.js";
72
72
  import "./chunk-4YYJOFKS.js";
73
73
  import "./chunk-HVW7ABXD.js";
74
- import "./chunk-IKVBTDLO.js";
75
- import "./chunk-L3JSAB4L.js";
76
- import "./chunk-Q65ZQFF2.js";
74
+ import "./chunk-HW4AKJ5F.js";
75
+ import "./chunk-CLOH4LIB.js";
76
+ import "./chunk-TAMQYQGJ.js";
77
77
  import "./chunk-AWDFDFI3.js";
78
78
  import "./chunk-P6LJ4Y32.js";
79
79
  import "./chunk-TVCRUG2S.js";
@@ -81,12 +81,12 @@ import "./chunk-374QQGBQ.js";
81
81
  import {
82
82
  trackRenderComplete,
83
83
  trackRenderError
84
- } from "./chunk-7XTZVLE6.js";
84
+ } from "./chunk-QFN7NVWM.js";
85
85
  import {
86
86
  canaryDecisionsForStudio,
87
87
  resetTelemetryPostureCache,
88
88
  shouldTrack
89
- } from "./chunk-RCFCZT5O.js";
89
+ } from "./chunk-OSSHSIMD.js";
90
90
  import "./chunk-VWG7OQKU.js";
91
91
  import {
92
92
  bytesToMb,
@@ -103,21 +103,21 @@ import "./chunk-TJSTGSAW.js";
103
103
  import {
104
104
  assertWebGpuAdapterAvailable,
105
105
  compositionRequiresWebGpu
106
- } from "./chunk-E6SDW5FV.js";
107
- import "./chunk-35RSNI77.js";
108
- import "./chunk-A4KQZXZI.js";
106
+ } from "./chunk-33RZPZ4K.js";
107
+ import "./chunk-F26LCYRY.js";
108
+ import "./chunk-NE55C6S5.js";
109
109
  import "./chunk-USDEMXXL.js";
110
110
  import {
111
111
  fpsToNumber
112
- } from "./chunk-6E6CM7WS.js";
113
- import "./chunk-OZUQF4NB.js";
114
- import "./chunk-DPVXBVLL.js";
115
- import "./chunk-SYKKFAUW.js";
112
+ } from "./chunk-4M4EC7JX.js";
113
+ import "./chunk-6TPZSTCL.js";
116
114
  import "./chunk-VC76R6W2.js";
117
115
  import "./chunk-YA62XGXS.js";
116
+ import "./chunk-MQZVBHEY.js";
118
117
  import {
119
118
  realpath
120
119
  } from "./chunk-OFQWTKPW.js";
120
+ import "./chunk-DPVXBVLL.js";
121
121
  import "./chunk-T76PLPD6.js";
122
122
  import "./chunk-FXMKHHPO.js";
123
123
  import "./chunk-RQVDTPGD.js";
@@ -126,17 +126,17 @@ import {
126
126
  runRenderSetupWorker
127
127
  } from "./chunk-LCSMOLGX.js";
128
128
  import "./chunk-TWWSYAKJ.js";
129
- import "./chunk-WY5OODN5.js";
130
- import "./chunk-24OWOBQH.js";
129
+ import "./chunk-XONFUK3M.js";
131
130
  import {
132
131
  isWithinProjectRoot
133
- } from "./chunk-JFKL3WAE.js";
134
- import "./chunk-HBBJFK6I.js";
132
+ } from "./chunk-IWFLMU2N.js";
133
+ import "./chunk-APDLWWFG.js";
135
134
  import "./chunk-PJ3HDUCY.js";
136
- import "./chunk-TQFG7HTI.js";
137
- import "./chunk-GK4AIFIH.js";
135
+ import "./chunk-3RM2ETQT.js";
136
+ import "./chunk-ZLW2V65P.js";
137
+ import "./chunk-SDYDNHEE.js";
138
138
  import "./chunk-2PSPARWP.js";
139
- import "./chunk-PMRBLBUP.js";
139
+ import "./chunk-T42U2W2R.js";
140
140
  import "./chunk-K4WIOZFP.js";
141
141
  import {
142
142
  readConfig,
@@ -148,7 +148,7 @@ import {
148
148
  } from "./chunk-ISN5GRYI.js";
149
149
  import {
150
150
  VERSION
151
- } from "./chunk-W6HTOVHU.js";
151
+ } from "./chunk-W35EKBS6.js";
152
152
  import "./chunk-KNU5COPB.js";
153
153
  import "./chunk-3GXQPCJC.js";
154
154
  import "./chunk-ZTZA4UWZ.js";
@@ -356,7 +356,7 @@ var ENTRY_TS = resolve(__dirname, "..", "..", "..", "core", "src", "runtime", "e
356
356
  async function buildFromSource() {
357
357
  if (!existsSync(ENTRY_TS)) return null;
358
358
  try {
359
- const mod = await import("./dist-ROUDWGLO.js");
359
+ const mod = await import("./dist-XN234YFQ.js");
360
360
  if (typeof mod.loadHyperframeRuntimeSource === "function") {
361
361
  const source = mod.loadHyperframeRuntimeSource();
362
362
  if (source) return source;
@@ -367,7 +367,7 @@ async function buildFromSource() {
367
367
  }
368
368
  async function getInlinedRuntime() {
369
369
  try {
370
- const mod = await import("./dist-ROUDWGLO.js");
370
+ const mod = await import("./dist-XN234YFQ.js");
371
371
  if (typeof mod.getHyperframeRuntimeScript === "function") {
372
372
  return mod.getHyperframeRuntimeScript() ?? null;
373
373
  }
@@ -710,13 +710,13 @@ var RENDER_SHUTDOWN_WAIT_MS = 2e3;
710
710
  var IMMUTABLE_CACHE_CONTROL = "public, max-age=31536000, immutable";
711
711
  var REMOTE_GIF_IMG_SRC_RE = /<img\b[^>]*?\bsrc\s*=\s*["'](https?:\/\/[^"']+\.gif(?:[?#][^"']*)?)["'][^>]*>/gi;
712
712
  async function loadStudioProducer() {
713
- if (!isDevMode()) return await import("./src-74PFDTDX.js");
713
+ if (!isDevMode()) return await import("./src-X426BZAG.js");
714
714
  if (!process.versions.bun) {
715
715
  throw new Error(
716
716
  "Studio dev-mode rendering requires bun (the producer is loaded from TypeScript source, which Node cannot resolve). Restart the studio with `bun run studio`."
717
717
  );
718
718
  }
719
- return await import("./src-74PFDTDX.js");
719
+ return await import("./src-X426BZAG.js");
720
720
  }
721
721
  function resolveDistDir() {
722
722
  return resolveStudioBundle().dir;
@@ -830,7 +830,7 @@ async function getThumbnailBrowser(requestedGpuMode, isShuttingDown) {
830
830
  try {
831
831
  if (isShuttingDown()) return null;
832
832
  const { ensureBrowser } = await import("./manager-CT3D67CG.js");
833
- const { acquireBrowser, buildChromeArgs } = await import("./src-I7UC3JTL.js");
833
+ const { acquireBrowser, buildChromeArgs } = await import("./src-JO5JOV7Y.js");
834
834
  let executablePath;
835
835
  try {
836
836
  const b = await ensureBrowser({ preferManagedChrome: true });
@@ -980,7 +980,7 @@ function createStudioServer(options) {
980
980
  resolveProject: (id) => id === projectId ? project : null,
981
981
  async bundle(dir, options2) {
982
982
  try {
983
- const { bundleToSingleHtml } = await import("./compiler-ACHWOU5N.js");
983
+ const { bundleToSingleHtml } = await import("./compiler-TEXQWW6N.js");
984
984
  let html = await bundleToSingleHtml(dir, { ...PREVIEW_BUNDLE_OPTIONS, ...options2 });
985
985
  html = html.replace(
986
986
  'data-hyperframes-preview-runtime="1" src=""',
@@ -993,9 +993,9 @@ function createStudioServer(options) {
993
993
  }
994
994
  },
995
995
  async transformPreviewHtml({ html, project: project2 }) {
996
- const { injectDeterministicFontFaces } = await import("./deterministicFonts-F6WIVL2W.js");
997
- const { prepareAnimatedGifInputs } = await import("./animatedGifPrep-QO4BSKR7.js");
998
- const { downloadToTemp, writeUrlDownloadTelemetry } = await import("./urlDownloader-R76OHFIE.js");
996
+ const { injectDeterministicFontFaces } = await import("./deterministicFonts-U2BIMGPG.js");
997
+ const { prepareAnimatedGifInputs } = await import("./animatedGifPrep-H2DUQEZ3.js");
998
+ const { downloadToTemp, writeUrlDownloadTelemetry } = await import("./urlDownloader-3NS63A7B.js");
999
999
  const gifOutputDir = join2(project2.dir, ".hyperframes", "prepared-assets", "gif");
1000
1000
  const gifDownloadDir = join2(project2.dir, ".hyperframes", "prepared-assets", "downloads");
1001
1001
  const prepared = await prepareAnimatedGifInputs(html, {
@@ -1019,7 +1019,7 @@ function createStudioServer(options) {
1019
1019
  if (resolve2(dir) === resolve2(projectDir)) cachedProjectSignature = null;
1020
1020
  },
1021
1021
  async lint(html, opts) {
1022
- const { lintHyperframeHtml } = await import("./dist-NZSQCYOF.js");
1022
+ const { lintHyperframeHtml } = await import("./dist-5UVIRMSM.js");
1023
1023
  return await lintHyperframeHtml(html, { ...opts, host: "studio" });
1024
1024
  },
1025
1025
  // Out of process: linting a large composition is seconds of synchronous parsing, and on
@@ -1136,7 +1136,7 @@ function createStudioServer(options) {
1136
1136
  startBackgroundRemoval(opts) {
1137
1137
  return createBackgroundRemovalJob(opts, async (renderOpts) => {
1138
1138
  const sourcePipelinePath = "../background-removal/pipeline.ts";
1139
- const pipeline = await import("./pipeline-7YHZPYIS.js").catch(
1139
+ const pipeline = await import("./pipeline-SYJYP2RM.js").catch(
1140
1140
  () => import(sourcePipelinePath)
1141
1141
  );
1142
1142
  return pipeline.render(renderOpts);
@@ -1217,8 +1217,8 @@ function createStudioServer(options) {
1217
1217
  }
1218
1218
  },
1219
1219
  async listRegistryCatalog() {
1220
- const { listRegistryItems, loadAllItems } = await import("./resolver-FE3GBZ4T.js");
1221
- const { loadProjectConfig } = await import("./projectConfig-MH4QU4AC.js");
1220
+ const { listRegistryItems, loadAllItems } = await import("./resolver-S5VK6UCB.js");
1221
+ const { loadProjectConfig } = await import("./projectConfig-EM26P45P.js");
1222
1222
  const registry = { baseUrl: loadProjectConfig(projectDir).registry };
1223
1223
  const entries = await listRegistryItems(void 0, registry);
1224
1224
  const blockAndComponentEntries = entries.filter(
@@ -1227,9 +1227,9 @@ function createStudioServer(options) {
1227
1227
  return loadAllItems(blockAndComponentEntries, registry);
1228
1228
  },
1229
1229
  async installRegistryBlock(opts) {
1230
- const { addToProject, primaryInstalledTarget } = await import("./add-KH2CF4FD.js");
1231
- const { recordRewrittenInstall } = await import("./installer-LL4QAKFW.js");
1232
- const { registryTargetPath } = await import("./publication-KUSHI5MG.js");
1230
+ const { addToProject, primaryInstalledTarget } = await import("./add-Q5EYDUAY.js");
1231
+ const { recordRewrittenInstall } = await import("./installer-CDOB32HE.js");
1232
+ const { registryTargetPath } = await import("./publication-OXWJZKSX.js");
1233
1233
  const { result, item } = await addToProject({
1234
1234
  name: opts.blockName,
1235
1235
  projectDir: opts.project.dir,
@@ -1466,7 +1466,7 @@ function createStudioServer(options) {
1466
1466
  });
1467
1467
  const renders = [...inFlightRenders];
1468
1468
  for (const [abortController] of renders) abortController.abort();
1469
- const { killTrackedProcesses, closeBrowserPool } = await import("./src-I7UC3JTL.js");
1469
+ const { killTrackedProcesses, closeBrowserPool } = await import("./src-JO5JOV7Y.js");
1470
1470
  killTrackedProcesses();
1471
1471
  const closeBrowsers = Promise.allSettled([
1472
1472
  closeThumbnailBrowser().catch(() => {
@@ -13,11 +13,11 @@ import {
13
13
  ensureModel,
14
14
  ensureVoices,
15
15
  inferLangFromVoiceId
16
- } from "./chunk-JYYOAKHS.js";
16
+ } from "./chunk-6IIGT7BX.js";
17
17
  import {
18
18
  writeNewFileSync
19
19
  } from "./chunk-4YYJOFKS.js";
20
- import "./chunk-WCJGTLPF.js";
20
+ import "./chunk-BHVFTYSI.js";
21
21
  import "./chunk-M2WBOQ2Q.js";
22
22
 
23
23
  // src/tts/synthesize.ts
@@ -17,14 +17,14 @@ import {
17
17
  trackInitTemplate,
18
18
  trackRenderComplete,
19
19
  trackRenderError
20
- } from "./chunk-7XTZVLE6.js";
20
+ } from "./chunk-QFN7NVWM.js";
21
21
  import {
22
22
  flush,
23
23
  flushSync,
24
24
  shouldTrack,
25
25
  showTelemetryNotice,
26
26
  trackEvent
27
- } from "./chunk-RCFCZT5O.js";
27
+ } from "./chunk-OSSHSIMD.js";
28
28
  import "./chunk-VWG7OQKU.js";
29
29
  import {
30
30
  bytesToMb,
@@ -47,7 +47,7 @@ import {
47
47
  } from "./chunk-XUXGIA7H.js";
48
48
  import "./chunk-WERLJGIC.js";
49
49
  import "./chunk-ISN5GRYI.js";
50
- import "./chunk-W6HTOVHU.js";
50
+ import "./chunk-W35EKBS6.js";
51
51
  import "./chunk-KNU5COPB.js";
52
52
  import "./chunk-ZTZA4UWZ.js";
53
53
  import "./chunk-M2WBOQ2Q.js";
@@ -6,15 +6,15 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-TC2FBZJZ.js";
9
+ } from "./chunk-VIVBA6E6.js";
10
10
  import {
11
11
  readCompositionFps
12
- } from "./chunk-YEIFI443.js";
13
- import "./chunk-IHFUKJOR.js";
12
+ } from "./chunk-WPNE5NEP.js";
13
+ import "./chunk-K2FLNJVB.js";
14
14
  import {
15
15
  applyFileMutations,
16
16
  duplicateElementInHtml
17
- } from "./chunk-6Q6FR4KH.js";
17
+ } from "./chunk-7UYBQ6NF.js";
18
18
  import {
19
19
  findSyncPartner,
20
20
  patchElementInHtml,
@@ -22,23 +22,28 @@ import {
22
22
  removeElementFromHtml,
23
23
  splitElementInHtml,
24
24
  syncOffsetFrames
25
- } from "./chunk-A7YQNIQT.js";
25
+ } from "./chunk-UM2GRYM3.js";
26
26
  import {
27
27
  fileContentVersion
28
28
  } from "./chunk-QZ3AZTXI.js";
29
- import "./chunk-U7E736AJ.js";
30
- import "./chunk-4BB7V6AI.js";
29
+ import "./chunk-BFDJ63J5.js";
30
+ import "./chunk-ZQQ3SEIE.js";
31
31
  import "./chunk-G75ENCEZ.js";
32
32
  import "./chunk-EOVYQ3IG.js";
33
33
  import {
34
34
  ensureDOMParser
35
- } from "./chunk-PFCFR3KZ.js";
35
+ } from "./chunk-442JNXRM.js";
36
36
  import "./chunk-374QQGBQ.js";
37
- import "./chunk-7XTZVLE6.js";
38
- import "./chunk-RCFCZT5O.js";
37
+ import "./chunk-QFN7NVWM.js";
38
+ import "./chunk-OSSHSIMD.js";
39
39
  import "./chunk-VWG7OQKU.js";
40
40
  import "./chunk-GQJZORQP.js";
41
41
  import "./chunk-AMKC3AXA.js";
42
+ import {
43
+ assertKnownFlags,
44
+ resolveExtraPositionals
45
+ } from "./chunk-KJJLA674.js";
46
+ import "./chunk-K4WKGXRC.js";
42
47
  import {
43
48
  defineCommand
44
49
  } from "./chunk-S3S4TGEH.js";
@@ -54,11 +59,11 @@ import {
54
59
  extractMediaMetadata,
55
60
  resolveReferencedDuration,
56
61
  resolveReferencedStart
57
- } from "./chunk-E6SDW5FV.js";
58
- import "./chunk-35RSNI77.js";
62
+ } from "./chunk-33RZPZ4K.js";
63
+ import "./chunk-F26LCYRY.js";
59
64
  import {
60
65
  ensureHfIds
61
- } from "./chunk-A4KQZXZI.js";
66
+ } from "./chunk-NE55C6S5.js";
62
67
  import "./chunk-USDEMXXL.js";
63
68
  import {
64
69
  byStart,
@@ -68,48 +73,49 @@ import {
68
73
  resolveMediaStartSeconds,
69
74
  sameInstant,
70
75
  spansShareTime
71
- } from "./chunk-6E6CM7WS.js";
72
- import {
73
- topLevelElements,
74
- trackKindOf
75
- } from "./chunk-OZUQF4NB.js";
76
- import "./chunk-DPVXBVLL.js";
76
+ } from "./chunk-4M4EC7JX.js";
77
77
  import {
78
78
  HF_AUDIO_AUTOMATION_ATTR,
79
79
  HF_AUDIO_FX_ATTR,
80
80
  parseAudioFxChain,
81
81
  parseAutomation,
82
82
  resolveAutomation
83
- } from "./chunk-SYKKFAUW.js";
83
+ } from "./chunk-6TPZSTCL.js";
84
84
  import "./chunk-VC76R6W2.js";
85
85
  import "./chunk-YA62XGXS.js";
86
+ import {
87
+ topLevelElements,
88
+ trackKindOf
89
+ } from "./chunk-MQZVBHEY.js";
86
90
  import "./chunk-OFQWTKPW.js";
91
+ import "./chunk-DPVXBVLL.js";
87
92
  import "./chunk-T76PLPD6.js";
88
93
  import "./chunk-FXMKHHPO.js";
89
94
  import "./chunk-RQVDTPGD.js";
90
95
  import "./chunk-TWWSYAKJ.js";
91
- import "./chunk-WY5OODN5.js";
92
- import "./chunk-24OWOBQH.js";
93
- import "./chunk-JFKL3WAE.js";
94
- import "./chunk-HBBJFK6I.js";
96
+ import "./chunk-XONFUK3M.js";
97
+ import "./chunk-IWFLMU2N.js";
98
+ import "./chunk-APDLWWFG.js";
95
99
  import "./chunk-PJ3HDUCY.js";
96
100
  import {
97
- parseNumeric,
101
+ parseNumeric
102
+ } from "./chunk-3RM2ETQT.js";
103
+ import {
98
104
  readMediaOffsetSeconds,
99
105
  readPlaybackRate,
100
106
  resolveMediaDuration
101
- } from "./chunk-TQFG7HTI.js";
102
- import "./chunk-GK4AIFIH.js";
107
+ } from "./chunk-ZLW2V65P.js";
108
+ import "./chunk-SDYDNHEE.js";
103
109
  import "./chunk-2PSPARWP.js";
104
- import "./chunk-PMRBLBUP.js";
110
+ import "./chunk-T42U2W2R.js";
105
111
  import {
106
112
  withMeta
107
- } from "./chunk-IYFKBFTW.js";
113
+ } from "./chunk-Y6QL2LGO.js";
108
114
  import "./chunk-K4WIOZFP.js";
109
115
  import "./chunk-XUXGIA7H.js";
110
116
  import "./chunk-WERLJGIC.js";
111
117
  import "./chunk-ISN5GRYI.js";
112
- import "./chunk-W6HTOVHU.js";
118
+ import "./chunk-W35EKBS6.js";
113
119
  import "./chunk-KNU5COPB.js";
114
120
  import "./chunk-3GXQPCJC.js";
115
121
  import "./chunk-ZTZA4UWZ.js";
@@ -395,7 +401,7 @@ var n = (v) => String(Math.round(v * 1e3) / 1e3);
395
401
  function bar(row, total) {
396
402
  if (total <= 0) return " ".repeat(BAR_WIDTH);
397
403
  const known = row.durationAuthored || row.duration > 0;
398
- const from = Math.min(BAR_WIDTH - 1, Math.floor(row.absStart / total * BAR_WIDTH));
404
+ const from = Math.max(0, Math.min(BAR_WIDTH - 1, Math.floor(row.absStart / total * BAR_WIDTH)));
399
405
  const to = known ? row.absEnd / total * BAR_WIDTH : BAR_WIDTH;
400
406
  const width = Math.max(1, Math.min(BAR_WIDTH, Math.ceil(to)) - from);
401
407
  const fill = known ? "\u2588" : "\u2591";
@@ -1327,52 +1333,67 @@ function mutationCommand(verb) {
1327
1333
  }
1328
1334
  });
1329
1335
  }
1336
+ var subCommands = {
1337
+ move: () => mutationCommand("move"),
1338
+ trim: () => mutationCommand("trim"),
1339
+ split: () => mutationCommand("split"),
1340
+ delete: () => mutationCommand("delete"),
1341
+ set: () => mutationCommand("set"),
1342
+ duplicate: () => mutationCommand("duplicate"),
1343
+ ids: () => defineCommand({
1344
+ meta: { name: "ids", description: "Stamp stable ids on timeline clips" },
1345
+ args: { dir: { type: "string" }, json: { type: "boolean", default: false } },
1346
+ async run({ args }) {
1347
+ await runIds(args);
1348
+ }
1349
+ }),
1350
+ apply: () => defineCommand({
1351
+ meta: { name: "apply", description: "Apply an atomic timeline edit plan" },
1352
+ args: {
1353
+ file: { type: "positional", required: true },
1354
+ dir: { type: "string" },
1355
+ json: { type: "boolean", default: false },
1356
+ plan: { type: "boolean", default: false }
1357
+ },
1358
+ async run({ args }) {
1359
+ await runApply(args);
1360
+ }
1361
+ }),
1362
+ undo: () => defineCommand({
1363
+ meta: { name: "undo", description: "Restore a timeline mutation receipt" },
1364
+ args: {
1365
+ receipt: { type: "positional", required: true },
1366
+ dir: { type: "string" },
1367
+ json: { type: "boolean", default: false }
1368
+ },
1369
+ async run({ args }) {
1370
+ await runUndo(args);
1371
+ }
1372
+ })
1373
+ };
1374
+ function isTimelineSubcommand(first, rawArgs) {
1375
+ if (!first || !Object.hasOwn(subCommands, first)) return false;
1376
+ const separator = rawArgs.indexOf("--");
1377
+ return separator < 0 || rawArgs.indexOf(first) < separator;
1378
+ }
1330
1379
  var timeline_default = defineCommand({
1331
1380
  meta: { name: "timeline", description: "Print and edit the project's tracks and clips" },
1332
1381
  args: {
1333
1382
  dir: { type: "positional", description: "Project directory", required: false },
1334
1383
  json: { type: "boolean", description: "Output as JSON", default: false }
1335
1384
  },
1336
- subCommands: {
1337
- move: () => mutationCommand("move"),
1338
- trim: () => mutationCommand("trim"),
1339
- split: () => mutationCommand("split"),
1340
- delete: () => mutationCommand("delete"),
1341
- set: () => mutationCommand("set"),
1342
- duplicate: () => mutationCommand("duplicate"),
1343
- ids: () => defineCommand({
1344
- meta: { name: "ids", description: "Stamp stable ids on timeline clips" },
1345
- args: { dir: { type: "string" }, json: { type: "boolean", default: false } },
1346
- async run({ args }) {
1347
- await runIds(args);
1348
- }
1349
- }),
1350
- apply: () => defineCommand({
1351
- meta: { name: "apply", description: "Apply an atomic timeline edit plan" },
1352
- args: {
1353
- file: { type: "positional", required: true },
1354
- dir: { type: "string" },
1355
- json: { type: "boolean", default: false },
1356
- plan: { type: "boolean", default: false }
1357
- },
1358
- async run({ args }) {
1359
- await runApply(args);
1360
- }
1361
- }),
1362
- undo: () => defineCommand({
1363
- meta: { name: "undo", description: "Restore a timeline mutation receipt" },
1364
- args: {
1365
- receipt: { type: "positional", required: true },
1366
- dir: { type: "string" },
1367
- json: { type: "boolean", default: false }
1368
- },
1369
- async run({ args }) {
1370
- await runUndo(args);
1371
- }
1372
- })
1385
+ subCommands,
1386
+ setup({ args, rawArgs, cmd }) {
1387
+ const first = args._[0];
1388
+ if (!first || isTimelineSubcommand(first, rawArgs)) return;
1389
+ assertKnownFlags({ args: cmd.args }, rawArgs);
1390
+ const separator = rawArgs.indexOf("--");
1391
+ const directoryIndex = rawArgs.indexOf(first);
1392
+ if (separator < 0 || directoryIndex < separator) rawArgs.splice(directoryIndex, 0, "--");
1373
1393
  },
1374
- async run({ args }) {
1375
- if (args._?.[0]) return;
1394
+ async run({ args, rawArgs, cmd }) {
1395
+ if (isTimelineSubcommand(args._[0], rawArgs)) return;
1396
+ resolveExtraPositionals({ args: cmd.args }, "timeline", args);
1376
1397
  const project = resolveProject(args.dir);
1377
1398
  ensureDOMParser();
1378
1399
  const timeline = await describeProject(project.indexPath);
@@ -11,14 +11,14 @@ import {
11
11
  tokensToVariables,
12
12
  upsertBindings,
13
13
  withFigmaErrors
14
- } from "./chunk-E4BSCXMU.js";
15
- import "./chunk-IHFUKJOR.js";
14
+ } from "./chunk-LVX6NK36.js";
15
+ import "./chunk-K2FLNJVB.js";
16
16
  import {
17
17
  defineCommand
18
18
  } from "./chunk-S3S4TGEH.js";
19
19
  import "./chunk-PBN6GBJE.js";
20
20
  import "./chunk-VC76R6W2.js";
21
- import "./chunk-GK4AIFIH.js";
21
+ import "./chunk-SDYDNHEE.js";
22
22
  import "./chunk-ZTZA4UWZ.js";
23
23
  import "./chunk-M2WBOQ2Q.js";
24
24
 
@@ -76,7 +76,7 @@ var tokens_default = defineCommand({
76
76
  console.log("add to data-composition-variables:");
77
77
  console.log(JSON.stringify(result.entries, null, 2));
78
78
  }
79
- const { trackFigmaImport } = await import("./telemetry-65LFHIWH.js");
79
+ const { trackFigmaImport } = await import("./telemetry-CXAX3TO3.js");
80
80
  trackFigmaImport({
81
81
  phase: "tokens",
82
82
  tokensMode: result.mode,