hyperframes 0.8.150 → 0.8.152

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 (193) hide show
  1. package/dist/{add-3ZIFEN2U.js → add-SA33REHW.js} +14 -14
  2. package/dist/{animatedGifPrep-77LPFLKJ.js → animatedGifPrep-3YXJQZ7L.js} +9 -9
  3. package/dist/api.js +19 -19
  4. package/dist/{asset-EYSZEHM6.js → asset-PUVPTWPD.js} +2 -2
  5. package/dist/{assetCataloger-KX3HD7ZI.js → assetCataloger-VWE2PLBX.js} +4 -4
  6. package/dist/{auth-L6IWNRXY.js → auth-PS3M6AI7.js} +1 -1
  7. package/dist/{autoUpdate-2O3HZB65.js → autoUpdate-CMO4SHWU.js} +2 -2
  8. package/dist/{backgroundChecks-BH2LMJYE.js → backgroundChecks-EDZ2A55J.js} +3 -3
  9. package/dist/backgroundChecksWorker.js +3 -3
  10. package/dist/{batchRender-ZBKAYLWU.js → batchRender-7PLJISCN.js} +5 -5
  11. package/dist/{beats-IVLF2566.js → beats-2MDSIOE7.js} +15 -15
  12. package/dist/{benchmark-SYZFW2G7.js → benchmark-KBBXAPI4.js} +10 -10
  13. package/dist/{browser-OSW3L25S.js → browser-OMWKZRSW.js} +5 -5
  14. package/dist/{bundleWithLocalizedFonts-I4CWOXLK.js → bundleWithLocalizedFonts-76DMCRIW.js} +2 -2
  15. package/dist/{capture-AZOQ57TM.js → capture-LRUUXH5Q.js} +2 -2
  16. package/dist/{capture-V5ICGSVJ.js → capture-YGDC7GN3.js} +13 -13
  17. package/dist/{catalog-VBJOA2Y5.js → catalog-SMEBKEVO.js} +14 -14
  18. package/dist/{catch-up-TKSEDNJK.js → catch-up-OMILX3WE.js} +4 -4
  19. package/dist/{check-3HFISKDB.js → check-NUZ62LIW.js} +288 -64
  20. package/dist/{checkBrowser-MXBDNZJB.js → checkBrowser-MSTVEL4V.js} +181 -38
  21. package/dist/{chunk-73RBX2E7.js → chunk-3DZBQ7MH.js} +3 -3
  22. package/dist/{chunk-6QB7F2II.js → chunk-3E4OCOC5.js} +1 -1
  23. package/dist/{chunk-OQ7XMM3S.js → chunk-3HPJM5IQ.js} +1 -1
  24. package/dist/{chunk-UJB7356Y.js → chunk-3LO7BBJX.js} +3 -3
  25. package/dist/{chunk-APDLWWFG.js → chunk-3VGU2SH7.js} +1 -1
  26. package/dist/{chunk-DUUFDLC4.js → chunk-4MLYMDQ4.js} +1 -1
  27. package/dist/{chunk-AXPNVC3N.js → chunk-4UMKAUZI.js} +1 -1
  28. package/dist/{chunk-XPQSL5VS.js → chunk-54DMWFQZ.js} +8 -1
  29. package/dist/chunk-57GN6KWT.js +179 -0
  30. package/dist/{chunk-374QQGBQ.js → chunk-5CS4T6C6.js} +63 -12
  31. package/dist/{chunk-PCWOSS7G.js → chunk-5ERVRJMV.js} +3 -3
  32. package/dist/{chunk-TZPZE5PS.js → chunk-5VMSUW4Z.js} +6 -3
  33. package/dist/{chunk-M6UDJ2E7.js → chunk-6Z4YJ5Q3.js} +3 -3
  34. package/dist/{chunk-FJWEYVEM.js → chunk-7FYFEXD2.js} +658 -198
  35. package/dist/{chunk-UQYQ7TBA.js → chunk-7NPSXBIN.js} +2 -2
  36. package/dist/chunk-7TASSBN2.js +215 -0
  37. package/dist/{chunk-F2RLIE7P.js → chunk-ANS56TPS.js} +11 -11
  38. package/dist/{chunk-DOVJRUFM.js → chunk-BQK3J7XO.js} +1 -1
  39. package/dist/{chunk-FPAT5HTI.js → chunk-BYJYQWEX.js} +10 -10
  40. package/dist/{chunk-XXPYZBZ3.js → chunk-C6TPGUWD.js} +2 -2
  41. package/dist/{chunk-XQMEGSHG.js → chunk-D6RJXQLD.js} +1 -1
  42. package/dist/{chunk-RW7NLGPD.js → chunk-DFXK7KUO.js} +25 -17
  43. package/dist/{chunk-6SFPQ2RZ.js → chunk-E6EYZ33P.js} +2 -2
  44. package/dist/{chunk-AKYQGZLU.js → chunk-EVTHG34H.js} +2 -2
  45. package/dist/{chunk-5NAYNDBT.js → chunk-EXH6L2XZ.js} +6 -2
  46. package/dist/{chunk-AIJS74LG.js → chunk-FFDC5OWV.js} +8 -2
  47. package/dist/{chunk-4WFNTWKZ.js → chunk-FNN5QINS.js} +2 -2
  48. package/dist/{chunk-DMKI64EZ.js → chunk-FSZAFCU7.js} +1 -1
  49. package/dist/{chunk-S5F26DUL.js → chunk-GQETH4PE.js} +3 -3
  50. package/dist/{chunk-3UAIVF4L.js → chunk-H2SGM2V2.js} +1 -1
  51. package/dist/{chunk-O4DC5CHF.js → chunk-H7FXBK3Q.js} +1 -1
  52. package/dist/{chunk-UVVI2NJQ.js → chunk-HBCRRCTX.js} +109 -31
  53. package/dist/{chunk-NFQY7EIC.js → chunk-IBYC3VUA.js} +1 -1
  54. package/dist/{chunk-2KAL22B5.js → chunk-IEDT4EXE.js} +1 -1
  55. package/dist/{chunk-I6DATIHC.js → chunk-IZIRIDJH.js} +2 -2
  56. package/dist/{chunk-Z6WZDGCS.js → chunk-IZKXUYZE.js} +2 -2
  57. package/dist/chunk-KCFF4ENE.js +24 -0
  58. package/dist/{chunk-6KWA3XPS.js → chunk-KZ3L3W4Q.js} +1 -1
  59. package/dist/{chunk-7IEGPJ4P.js → chunk-LBT4AMSF.js} +1 -1
  60. package/dist/{chunk-7JTFPUMA.js → chunk-LECTCGGS.js} +1 -1
  61. package/dist/{chunk-7E4VHPKJ.js → chunk-LVPSWUS6.js} +5 -5
  62. package/dist/{chunk-6NPFJ255.js → chunk-MNHPG2UO.js} +1 -1
  63. package/dist/{chunk-FN6KAS7A.js → chunk-NHAG2KCE.js} +7 -7
  64. package/dist/{chunk-423DJVX2.js → chunk-PKO2EWO7.js} +1 -1
  65. package/dist/{chunk-ZNHAJCEA.js → chunk-PRXAOZWZ.js} +28 -13
  66. package/dist/{chunk-VQ7YIURZ.js → chunk-PTXZDSW5.js} +5 -5
  67. package/dist/{chunk-XANZ4R4P.js → chunk-QECEOV6W.js} +3 -3
  68. package/dist/{chunk-BLRJKBKP.js → chunk-QESSGUKX.js} +1 -1
  69. package/dist/{chunk-WLIUULZQ.js → chunk-RN5I2DP5.js} +29 -15
  70. package/dist/chunk-S3RCK56N.js +3795 -0
  71. package/dist/{chunk-UAIUVPZE.js → chunk-SWCSL6WS.js} +6 -6
  72. package/dist/{chunk-2PSPARWP.js → chunk-TYXH3EKP.js} +4 -0
  73. package/dist/{chunk-FMNVTKX2.js → chunk-U3BCDVZO.js} +1 -1
  74. package/dist/{chunk-LW5VFBSY.js → chunk-VS732BUG.js} +1 -1
  75. package/dist/{chunk-LFNQDTSH.js → chunk-VYKPBRCB.js} +63 -12
  76. package/dist/{chunk-M5B42RL5.js → chunk-WUUOFMHU.js} +3 -3
  77. package/dist/{chunk-A6ZO4BX7.js → chunk-XEFFJRYX.js} +2 -2
  78. package/dist/{chunk-EL5QVJEG.js → chunk-XINGD6MS.js} +4 -4
  79. package/dist/chunk-XSEGMQYA.js +30 -0
  80. package/dist/{chunk-CZQLCBWY.js → chunk-YG2Y55KF.js} +1 -1
  81. package/dist/{chunk-B3XLIBFL.js → chunk-YIJMVFEJ.js} +1 -1
  82. package/dist/{chunk-JDB65PPT.js → chunk-YOEGUBBY.js} +13 -12
  83. package/dist/{chunk-AFRXL75S.js → chunk-YYEYOFHW.js} +1 -1
  84. package/dist/{chunk-R5A7454P.js → chunk-ZTM3RMAD.js} +2 -2
  85. package/dist/{clean-7HU7S7DT.js → clean-F75G45BI.js} +56 -35
  86. package/dist/cli.js +53 -53
  87. package/dist/{cloud-HAXHBO25.js → cloud-KVJAOUWH.js} +4 -4
  88. package/dist/{cloudrun-A3PIJ6DX.js → cloudrun-Q7Q7O4GY.js} +6 -6
  89. package/dist/{compare-6IPSQMSM.js → compare-DGUJ4QWU.js} +30 -30
  90. package/dist/{compiler-UQP2VXN6.js → compiler-NCN6PTVH.js} +6 -6
  91. package/dist/{component-FF3AU24M.js → component-PSYGT3JV.js} +3 -3
  92. package/dist/{compositions-JSH4MZXB.js → compositions-J3GAETIC.js} +13 -13
  93. package/dist/{delete-G763SW64.js → delete-MR7LRGRP.js} +2 -2
  94. package/dist/{deterministicFonts-C5JQLCTS.js → deterministicFonts-EOMDR6ZF.js} +3 -3
  95. package/dist/{dist-HUMFCJ6T.js → dist-2YYJYYPY.js} +3 -3
  96. package/dist/{dist-Z7Q3JS7K.js → dist-3MHXG6EJ.js} +4 -4
  97. package/dist/{doctor-WZB6WMBY.js → doctor-JOUGR5UK.js} +15 -15
  98. package/dist/{events-T4YFQC5G.js → events-63BKDWVO.js} +3 -3
  99. package/dist/{events-MUWJJCC7.js → events-FZFBJCIH.js} +2 -2
  100. package/dist/{feedback-AUTHQNN2.js → feedback-QLKWUDXR.js} +8 -8
  101. package/dist/{ffmpeg-TZB5WAYE.js → ffmpeg-MJFMBBSF.js} +2 -2
  102. package/dist/{figma-NBG6WBI7.js → figma-YJ7HGVQC.js} +3 -3
  103. package/dist/fontLocalizeCli.js +12 -12
  104. package/dist/{get-OXBJLKLV.js → get-54MUUXMR.js} +2 -2
  105. package/dist/{gpuPolicy-HBCCEQUS.js → gpuPolicy-5OVNR75D.js} +9 -9
  106. package/dist/{grade-compare-2LX4FDH7.js → grade-compare-7IDUF673.js} +32 -32
  107. package/dist/{gsapParserAcorn-VXZ3ZIF2.js → gsapParserAcorn-7NCK2LVT.js} +2 -2
  108. package/dist/{help-LJI46EDO.js → help-GQFYO5LU.js} +1 -1
  109. package/dist/{history-MFKAQEHU.js → history-UI3O7CSO.js} +77 -205
  110. package/dist/hyperframe-runtime.js +54 -54
  111. package/dist/hyperframe.manifest.json +1 -1
  112. package/dist/hyperframe.runtime.iife.js +54 -54
  113. package/dist/hyperframes-player.global.js +3 -3
  114. package/dist/{info-D6Y5O2QE.js → info-VQV3APEX.js} +9 -9
  115. package/dist/{init-47NZPEBI.js → init-2UBFV5D7.js} +31 -31
  116. package/dist/{inspect-U5UXJK5D.js → inspect-36ACJ3CO.js} +31 -31
  117. package/dist/{installer-AW7VFVTQ.js → installer-GDUZDJG4.js} +7 -7
  118. package/dist/{keyframes-5G334NWB.js → keyframes-GPBU34BG.js} +227 -82
  119. package/dist/{lambda-GASGXN3A.js → lambda-CBJVLTHY.js} +7 -7
  120. package/dist/{layout-OXAQFLJS.js → layout-2IHFV6EI.js} +31 -31
  121. package/dist/{lint-F36QFSNF.js → lint-IR6IYCEO.js} +9 -9
  122. package/dist/{lintProject-SSEXWCH6.js → lintProject-XQWXJYSC.js} +3 -3
  123. package/dist/{list-TR6QCI53.js → list-UAGKWARH.js} +2 -2
  124. package/dist/{login-6LA2RWTC.js → login-2GYCNCZF.js} +4 -4
  125. package/dist/{manager-ES2UFT4X.js → manager-X44GKUEL.js} +3 -3
  126. package/dist/{manager-GWU5J6RJ.js → manager-ZLJD3EAY.js} +2 -2
  127. package/dist/{media-treatment-BOHYDWVY.js → media-treatment-Z553F7XI.js} +14 -14
  128. package/dist/{models-6GW5Q3IW.js → models-6AZTNNSO.js} +15 -15
  129. package/dist/{motionShot-O7AOMPUN.js → motionShot-ARRL7WXT.js} +29 -16
  130. package/dist/{normalize-audio-UO5B4O76.js → normalize-audio-CME4NUB6.js} +6 -6
  131. package/dist/{open-JV2EHVKM.js → open-HU2VXUFD.js} +4 -4
  132. package/dist/{parakeetRunner-23DZUF6G.js → parakeetRunner-X5MKFMCB.js} +16 -16
  133. package/dist/{pipeline-KTICSIK7.js → pipeline-MNFTEBJU.js} +11 -11
  134. package/dist/{play-CMUYPXBC.js → play-2BBJDDAZ.js} +24 -24
  135. package/dist/{preflight-JOD4OXGC.js → preflight-JYOX64YP.js} +4 -4
  136. package/dist/{present-ZDT5FM2H.js → present-OE2WL2NY.js} +20 -20
  137. package/dist/{preview-ASHLGKDD.js → preview-RYSCCAWJ.js} +21 -21
  138. package/dist/{producer-FFH2KUAZ.js → producer-SQWNRO66.js} +1 -1
  139. package/dist/{projectConfig-FHIAOPKW.js → projectConfig-B55Z7YKQ.js} +9 -9
  140. package/dist/{publication-WO5ZXURT.js → publication-MDZCOBJP.js} +4 -4
  141. package/dist/{publish-QWO2W7FB.js → publish-AILV36BO.js} +12 -12
  142. package/dist/{remove-background-BO5MQR25.js → remove-background-6F72LKHG.js} +12 -12
  143. package/dist/{render-XTJKGT3G.js → render-2MZKU3L5.js} +10 -10
  144. package/dist/{render-SDHFXL3Y.js → render-5EREH6YD.js} +95 -37
  145. package/dist/{render-HS3YOLSD.js → render-6GH5FSXU.js} +5 -5
  146. package/dist/{render-batch-J64AJHQY.js → render-batch-UMBUQWWS.js} +5 -5
  147. package/dist/renderSetupWorker.js +6 -6
  148. package/dist/{resolver-IHNWMDJA.js → resolver-KO6WWO5P.js} +6 -6
  149. package/dist/{sherpa-FXBBYMDR.js → sherpa-DADGYWNR.js} +15 -15
  150. package/dist/skills/hyperframes/references/frame-worker-core.md +11 -9
  151. package/dist/skills/hyperframes/references/subagent-dispatch.md +1 -1
  152. package/dist/skills/hyperframes-cli/SKILL.md +3 -0
  153. package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +5 -1
  154. package/dist/skills/media-use/audio/scripts/lib/tts.cleanup.test.mjs +175 -0
  155. package/dist/skills/media-use/audio/scripts/lib/tts.mjs +24 -19
  156. package/dist/skills/media-use/references/grading.md +1 -2
  157. package/dist/skills/media-use/references/meta.md +17 -17
  158. package/dist/skills/media-use/references/operations.md +6 -6
  159. package/dist/skills/media-use/references/setup-providers.md +3 -4
  160. package/dist/skills/media-use/scripts/lib/cutlist.mjs +9 -2
  161. package/dist/skills/media-use/scripts/lib/cutlist.test.mjs +12 -0
  162. package/dist/skills/media-use/scripts/lib/telemetry.mjs +4 -1
  163. package/dist/skills/media-use/scripts/lib/telemetry.test.mjs +20 -0
  164. package/dist/skills/media-use/scripts/transcript-cut.mjs +23 -4
  165. package/dist/skills/media-use/scripts/transcript-cut.test.mjs +224 -0
  166. package/dist/{skills-ALLSN7TB.js → skills-QLKSNU4Y.js} +5 -5
  167. package/dist/{skillsUpdateCheck-EIT5NWM6.js → skillsUpdateCheck-Z2QQGF2W.js} +3 -3
  168. package/dist/{snapshot-Y3I76OIZ.js → snapshot-D5BBFXOS.js} +342 -154
  169. package/dist/{src-7V6LBC56.js → src-AVQBAECC.js} +10 -8
  170. package/dist/{src-S5IZVJUX.js → src-V7263E47.js} +11 -11
  171. package/dist/{staticProjectServer-QLWWGHZE.js → staticProjectServer-HNWSVEWN.js} +20 -20
  172. package/dist/studio/assets/{hyperframes-player-kup62bDR.js → hyperframes-player-0BY7-PK7.js} +1 -1
  173. package/dist/studio/assets/{index-B8BBYY8L.js → index-COrWdzlj.js} +1 -1
  174. package/dist/studio/assets/{index-CS_m0TkX.js → index-p-VXwuJ2.js} +132 -132
  175. package/dist/studio/assets/{index-DQ5jGodF.js → index-rmD5k_ES.js} +1 -1
  176. package/dist/studio/index.html +1 -1
  177. package/dist/{studio-api-UBFLZ3DA.js → studio-api-UXKTDWLT.js} +30 -16
  178. package/dist/{studioServer-REOVCIFP.js → studioServer-JOVR24O3.js} +51 -51
  179. package/dist/{synthesize-22B7L5GX.js → synthesize-MBDVUSH3.js} +2 -1
  180. package/dist/{telemetry-C3GDIXHO.js → telemetry-UW7XAM5W.js} +3 -3
  181. package/dist/{timeline-H42EGLMT.js → timeline-JSGTZ3AN.js} +73 -20
  182. package/dist/{tokens-2K7ISTKV.js → tokens-ADDBGTQ7.js} +2 -2
  183. package/dist/{transcribe-NUPASAUP.js → transcribe-FEHOK626.js} +14 -14
  184. package/dist/{transcribe-DVM7UFZZ.js → transcribe-P6MJGSZJ.js} +20 -20
  185. package/dist/{tts-QSAQZVEZ.js → tts-POI553RG.js} +1 -1
  186. package/dist/{updateCheck-3RWFSEZD.js → updateCheck-IBWMLXQ4.js} +2 -2
  187. package/dist/{upgrade-YKKL36N7.js → upgrade-NHZ7AYPO.js} +2 -2
  188. package/dist/{urlDownloader-6JNJYLPN.js → urlDownloader-ULDRBWS5.js} +8 -8
  189. package/dist/{validate-Z7KQT7GO.js → validate-NVWNXNBV.js} +25 -25
  190. package/dist/{video-EXL2JDSL.js → video-74DRD2DN.js} +9 -9
  191. package/package.json +1 -1
  192. package/dist/chunk-CEND6BLF.js +0 -3795
  193. package/dist/chunk-WBLXWOYK.js +0 -15
@@ -6,12 +6,12 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  setHostHandlesSigint
9
- } from "./chunk-5NAYNDBT.js";
9
+ } from "./chunk-EXH6L2XZ.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
13
13
  processParentPid
14
- } from "./chunk-B3XLIBFL.js";
14
+ } from "./chunk-YIJMVFEJ.js";
15
15
  import {
16
16
  processIsAlive
17
17
  } from "./chunk-KGPLIH7B.js";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  VALID_CANVAS_RESOLUTIONS,
9
9
  resolveResolutionFlagPair
10
- } from "./chunk-LFNQDTSH.js";
10
+ } from "./chunk-VYKPBRCB.js";
11
11
 
12
12
  // src/utils/parseOutputResolution.ts
13
13
  function parseOutputResolutionFlag(raw, options) {
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType,
9
9
  injectMediaCodecMapIntoHtml
10
- } from "./chunk-UVVI2NJQ.js";
10
+ } from "./chunk-HBCRRCTX.js";
11
11
  import {
12
12
  PROXY_VARIANT_CONFIG,
13
13
  ProxyCapacityError,
@@ -18,10 +18,10 @@ import {
18
18
  recordProxyRequest,
19
19
  resolveProxy,
20
20
  resolveProxyVariantRequest
21
- } from "./chunk-EL5QVJEG.js";
21
+ } from "./chunk-XINGD6MS.js";
22
22
  import {
23
23
  resolveAutoProxy
24
- } from "./chunk-XQMEGSHG.js";
24
+ } from "./chunk-D6RJXQLD.js";
25
25
  import {
26
26
  decodeWellFormedEscapes
27
27
  } from "./chunk-BSQ7XANM.js";
@@ -8,7 +8,7 @@ import {
8
8
  flush,
9
9
  shouldTrack,
10
10
  trackEvent
11
- } from "./chunk-6KWA3XPS.js";
11
+ } from "./chunk-KZ3L3W4Q.js";
12
12
  import {
13
13
  getPowerState
14
14
  } from "./chunk-XBSPQ52S.js";
@@ -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-AFRXL75S.js";
9
+ } from "./chunk-YYEYOFHW.js";
10
10
  import {
11
11
  hostAnswers
12
12
  } from "./chunk-K4WIOZFP.js";
@@ -21,7 +21,16 @@ import {
21
21
  splitElementInHtml,
22
22
  unwrapElementsFromHtml,
23
23
  wrapElementsInHtml
24
- } from "./chunk-ZNHAJCEA.js";
24
+ } from "./chunk-PRXAOZWZ.js";
25
+ import {
26
+ DEFAULT_TARGET_LUFS,
27
+ absoluteLoudnessPlan,
28
+ measureAudio,
29
+ requestSubPath,
30
+ requestedProjectPath,
31
+ requiredFfmpeg,
32
+ resolveLocalAudioPath
33
+ } from "./chunk-C6TPGUWD.js";
25
34
  import {
26
35
  MAX_WINDOW_IDLE_MS,
27
36
  STUDIO_SIGNATURE_MANIFEST_PATHS,
@@ -34,16 +43,7 @@ import {
34
43
  resolveProjectAndSignature,
35
44
  resolveProjectSignature,
36
45
  settledFileTag
37
- } from "./chunk-FJWEYVEM.js";
38
- import {
39
- DEFAULT_TARGET_LUFS,
40
- absoluteLoudnessPlan,
41
- measureAudio,
42
- requestSubPath,
43
- requestedProjectPath,
44
- requiredFfmpeg,
45
- resolveLocalAudioPath
46
- } from "./chunk-XXPYZBZ3.js";
46
+ } from "./chunk-7FYFEXD2.js";
47
47
  import {
48
48
  PROXY_PARAMS_VERSION,
49
49
  PROXY_PENDING_RETRY_AFTER_SECONDS,
@@ -65,7 +65,7 @@ import {
65
65
  scanProjectMediaCodecMap,
66
66
  shouldPrewarmProxy,
67
67
  waitForProxy
68
- } from "./chunk-EL5QVJEG.js";
68
+ } from "./chunk-XINGD6MS.js";
69
69
  import {
70
70
  STUDIO_MOTION_PATH,
71
71
  createStudioMotionRenderBodyScript,
@@ -76,11 +76,11 @@ import {
76
76
  realFilePath,
77
77
  resolveWithinProject,
78
78
  walkDir
79
- } from "./chunk-AIJS74LG.js";
79
+ } from "./chunk-FFDC5OWV.js";
80
80
  import {
81
81
  findTimelineScript,
82
82
  parseGsapScriptAcorn
83
- } from "./chunk-374QQGBQ.js";
83
+ } from "./chunk-5CS4T6C6.js";
84
84
  import {
85
85
  STUDIO_MANUAL_EDITS_PATH
86
86
  } from "./chunk-EOOEC32M.js";
@@ -98,7 +98,7 @@ import {
98
98
  } from "./chunk-EOVYQ3IG.js";
99
99
  import {
100
100
  addScenePartsManifest
101
- } from "./chunk-WLIUULZQ.js";
101
+ } from "./chunk-RN5I2DP5.js";
102
102
  import {
103
103
  ensureHfIds
104
104
  } from "./chunk-NE55C6S5.js";
@@ -111,7 +111,7 @@ import {
111
111
  parseFps,
112
112
  parsePreviewProxyBox,
113
113
  sameInstant
114
- } from "./chunk-PCWOSS7G.js";
114
+ } from "./chunk-5ERVRJMV.js";
115
115
  import {
116
116
  AFTER_FONTS_SCRIPT_TYPE,
117
117
  RUNTIME_BOOTSTRAP_ATTR,
@@ -125,7 +125,7 @@ import {
125
125
  resolveRateSpec,
126
126
  sourceTimeAt,
127
127
  stripEmbeddedRuntimeScripts
128
- } from "./chunk-CEND6BLF.js";
128
+ } from "./chunk-S3RCK56N.js";
129
129
  import {
130
130
  HTML_ATTRIBUTE_ENTITIES,
131
131
  MagicString,
@@ -133,7 +133,7 @@ import {
133
133
  decodeAuthoredAttribute,
134
134
  scanHtmlOpeningTags,
135
135
  unrollComputedTimeline
136
- } from "./chunk-LFNQDTSH.js";
136
+ } from "./chunk-VYKPBRCB.js";
137
137
  import {
138
138
  ProjectRootMissingError,
139
139
  folderGone,
@@ -168,9 +168,9 @@ import {
168
168
  full,
169
169
  parse,
170
170
  simple
171
- } from "./chunk-2PSPARWP.js";
171
+ } from "./chunk-TYXH3EKP.js";
172
172
 
173
- // ../studio-server/dist/chunk-3RUFN2CK.js
173
+ // ../studio-server/dist/chunk-6RICWA3B.js
174
174
  import { createHash } from "crypto";
175
175
  import { closeSync, constants, fstatSync, openSync, readFileSync, writeFileSync } from "fs";
176
176
  import { dirname, join } from "path";
@@ -300,7 +300,7 @@ function clearElementScreenshotIsolation() {
300
300
  page.__hfThumbnailFaded = [];
301
301
  }
302
302
 
303
- // ../studio-server/dist/chunk-ZNRTEXK2.js
303
+ // ../studio-server/dist/chunk-RHYH6YOX.js
304
304
  import { resolve } from "path";
305
305
  function isAutoProxyEnabled(adapter) {
306
306
  return adapter.autoProxy !== false;
@@ -914,19 +914,19 @@ function collectIdentifierBindingIndex(ast) {
914
914
  }
915
915
  }
916
916
  function addBinding(bindings, scopeNode, name, selector) {
917
- let scoped = bindings.get(scopeNode);
917
+ let scoped = bindings.byScope.get(scopeNode);
918
918
  if (!scoped) {
919
919
  scoped = /* @__PURE__ */ new Map();
920
- bindings.set(scopeNode, scoped);
920
+ bindings.byScope.set(scopeNode, scoped);
921
921
  }
922
922
  if (!scoped.has(name)) scoped.set(name, selector);
923
923
  }
924
924
  function lookupBindingFromAncestors(name, ancestors, bindings) {
925
925
  for (const scopeNode of scopeChainFromAncestors(ancestors)) {
926
- const selector = bindings.get(scopeNode)?.get(name);
926
+ const selector = bindings.byScope.get(scopeNode)?.get(name);
927
927
  if (selector !== void 0) return selector;
928
928
  }
929
- return bindings.get(null)?.get(name) ?? null;
929
+ return bindings.byScope.get(null)?.get(name) ?? null;
930
930
  }
931
931
  function isFunctionNode(node) {
932
932
  return node?.type === "ArrowFunctionExpression" || node?.type === "FunctionExpression" || node?.type === "FunctionDeclaration";
@@ -965,7 +965,7 @@ function collectScopeBindings(ast) {
965
965
  return bindings;
966
966
  }
967
967
  function collectTargetBindings(ast, scope, identifierBindings) {
968
- const bindings = /* @__PURE__ */ new Map();
968
+ const bindings = { byScope: /* @__PURE__ */ new Map(), identifiers: identifierBindings };
969
969
  ancestor(ast, {
970
970
  VariableDeclarator(node, _, ancestors) {
971
971
  const name = node.id?.name;
@@ -1046,7 +1046,18 @@ function resolveTargetSelector(node, ancestors, scope, bindings) {
1046
1046
  return typeof node.value === "string" ? node.value : null;
1047
1047
  }
1048
1048
  if (node.type === "Identifier") {
1049
- return lookupBindingFromAncestors(node.name, ancestors, bindings);
1049
+ const bound = lookupBindingFromAncestors(node.name, ancestors, bindings);
1050
+ if (bound) return bound;
1051
+ const declaration = findVisibleIdentifierDeclaration(
1052
+ node.name,
1053
+ ancestors,
1054
+ bindings.identifiers,
1055
+ node.start
1056
+ );
1057
+ if (declaration?.kind !== "const" || bindings.identifiers.reassignedDeclarations.has(declaration.node))
1058
+ return null;
1059
+ const literal = resolveNode(declaration.node.init, scope);
1060
+ return typeof literal === "string" ? literal : null;
1050
1061
  }
1051
1062
  if (node.type === "CallExpression") {
1052
1063
  return selectorFromQueryCall(node, scope);
@@ -1071,7 +1082,7 @@ function describeProxyTarget(targetNode, varsNode, scope) {
1071
1082
  const onUpdate = findPropertyNode(varsNode, "onUpdate");
1072
1083
  const driven = onUpdate ? drivenDomChannel(onUpdate) : void 0;
1073
1084
  if (driven) return `proxy \u2192 ${driven}`;
1074
- return "dwell/hold";
1085
+ return objNode.properties.length === 0 && !onUpdate ? "dwell/hold" : "proxy (unresolved DOM association)";
1075
1086
  }
1076
1087
  function isStyleAssignmentTarget(left) {
1077
1088
  return left?.type === "MemberExpression" && left.object?.type === "MemberExpression" && left.object.property?.name === "style" && !!left.property?.name;
@@ -1587,6 +1598,8 @@ function tweenCallToAnimation(call, scope, source, identifierBindings) {
1587
1598
  duration,
1588
1599
  ease
1589
1600
  };
1601
+ if (["stagger", "repeat", "repeatDelay", "delay"].some((key) => findPropertyNode(call.varsArg, key)))
1602
+ anim.inspectionTiming = inspectionTiming(call.varsArg, scope);
1590
1603
  if (targetIdentity) anim.targetIdentity = targetIdentity;
1591
1604
  if (!hasPositionArg) anim.implicitPosition = true;
1592
1605
  let group = classifyTweenPropertyGroup(properties);
@@ -1609,6 +1622,36 @@ function tweenCallToAnimation(call, scope, source, identifierBindings) {
1609
1622
  if (provenance) anim.provenance = provenance;
1610
1623
  return anim;
1611
1624
  }
1625
+ function inspectionTiming(varsNode, scope) {
1626
+ const numeric = (key) => {
1627
+ const node2 = findPropertyNode(varsNode, key);
1628
+ if (!node2) return 0;
1629
+ const value = resolveNode(node2, scope);
1630
+ return typeof value === "number" && Number.isFinite(value) ? value : null;
1631
+ };
1632
+ const node = findPropertyNode(varsNode, "stagger");
1633
+ let stagger = { each: 0 };
1634
+ if (node) {
1635
+ const value = resolveNode(node, scope);
1636
+ stagger = typeof value === "number" ? { each: value } : null;
1637
+ if (node.type === "ObjectExpression" && !(node.properties ?? []).some(
1638
+ (p) => !["each", "amount", "from", "ease", "axis", "grid"].includes(propKeyName(p) ?? "")
1639
+ )) {
1640
+ const each = resolveNode(findPropertyNode(node, "each"), scope);
1641
+ const amount = resolveNode(findPropertyNode(node, "amount"), scope);
1642
+ if (!findPropertyNode(node, "grid") && !findPropertyNode(node, "axis")) {
1643
+ if (typeof amount === "number") stagger = { amount };
1644
+ else if (typeof each === "number") stagger = { each };
1645
+ }
1646
+ }
1647
+ }
1648
+ return {
1649
+ repeat: numeric("repeat"),
1650
+ repeatDelay: numeric("repeatDelay"),
1651
+ delay: numeric("delay"),
1652
+ stagger
1653
+ };
1654
+ }
1612
1655
  function resolvePositionString(pos, cursor, prevStart) {
1613
1656
  const trimmed = pos.trim();
1614
1657
  if (trimmed === "") return cursor;
@@ -5446,7 +5489,7 @@ async function prepareGsapMutationScript(c, res, firstMutation) {
5446
5489
  let block = extractGsapScriptBlock(html);
5447
5490
  if (!block && (firstMutation.type === "add" || firstMutation.type === "add-with-keyframes")) {
5448
5491
  const compId = html.match(/data-composition-id="([^"]+)"/)?.[1] ?? "main";
5449
- const { GSAP_CDN } = await import("./dist-Z7Q3JS7K.js");
5492
+ const { GSAP_CDN } = await import("./dist-3MHXG6EJ.js");
5450
5493
  const bootstrap = [
5451
5494
  `<script src="${GSAP_CDN}"></script>`,
5452
5495
  "<script>",
@@ -9601,6 +9644,29 @@ function versionsOf(value) {
9601
9644
  );
9602
9645
  return pairs.length ? Object.fromEntries(pairs) : void 0;
9603
9646
  }
9647
+ function targetsOf(value) {
9648
+ if (!Array.isArray(value)) return void 0;
9649
+ const targets = value.flatMap((item) => targetOf2(item) ?? []);
9650
+ return targets.length ? targets : void 0;
9651
+ }
9652
+ function targetOf2(item) {
9653
+ if (!item || typeof item !== "object") return null;
9654
+ const fields = item;
9655
+ if (typeof fields.file !== "string") return null;
9656
+ const target = { file: fields.file, ...identityOf(fields) };
9657
+ if (!target.id && !target.hfId && !target.selector) return null;
9658
+ if (isSelectorIndex(fields.selectorIndex)) target.selectorIndex = fields.selectorIndex;
9659
+ return target;
9660
+ }
9661
+ function identityOf(fields) {
9662
+ const identity = {};
9663
+ for (const key of ["id", "hfId", "selector"]) {
9664
+ const field = fields[key];
9665
+ if (typeof field === "string" && field) identity[key] = field;
9666
+ }
9667
+ return identity;
9668
+ }
9669
+ var isSelectorIndex = (value) => typeof value === "number" && Number.isSafeInteger(value) && value >= 0;
9604
9670
  function nextStep(history, direction) {
9605
9671
  const target = history.next(direction, YOU);
9606
9672
  if (!target) return null;
@@ -9626,6 +9692,13 @@ function registerHistoryRoutes(api, adapter) {
9626
9692
  return { entries, back: nextStep(history, "back"), forward: nextStep(history, "forward") };
9627
9693
  })
9628
9694
  );
9695
+ api.post(
9696
+ `${base}/checkpoint`,
9697
+ (c) => withHistory(adapter, c, async (history) => {
9698
+ await history.checkpoint();
9699
+ return { ok: true };
9700
+ })
9701
+ );
9629
9702
  api.post(
9630
9703
  `${base}/step`,
9631
9704
  (c) => withHistory(
@@ -9674,9 +9747,11 @@ function registerHistoryRoutes(api, adapter) {
9674
9747
  const paths = Array.isArray(body.paths) ? body.paths.filter((path) => text(path)) : [];
9675
9748
  const coalesceKey = text(body.coalesceKey) ?? void 0;
9676
9749
  const overwrote = versionsOf(body.overwrote);
9750
+ const targets = targetsOf(body.targets);
9677
9751
  const claimed = await history.claim(YOU, text(body.label) ?? "Edited in Studio", paths, {
9678
9752
  ...coalesceKey && { coalesceKey, idleMs: idleOf(body) ?? Infinity },
9679
- ...overwrote && { overwrote }
9753
+ ...overwrote && { overwrote },
9754
+ ...targets && { targets }
9680
9755
  });
9681
9756
  return { claimed };
9682
9757
  })
@@ -9688,7 +9763,10 @@ function registerHistoryRoutes(api, adapter) {
9688
9763
  const window2 = await history.beginWindow(
9689
9764
  whoOf(body),
9690
9765
  text(body.label) ?? "Edited in Studio",
9691
- idleMs ? { idleMs } : void 0
9766
+ {
9767
+ ...idleMs ? { idleMs } : {},
9768
+ ...body.exclusive === true && { exclusive: true }
9769
+ }
9692
9770
  );
9693
9771
  windows.set(window2.id, { history, window: window2 });
9694
9772
  return { windowId: window2.id, startedAt: window2.startedAt };
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-K2FLNJVB.js";
10
10
  import {
11
11
  trackCommandFailure
12
- } from "./chunk-3UAIVF4L.js";
12
+ } from "./chunk-H2SGM2V2.js";
13
13
  import {
14
14
  failCommand
15
15
  } from "./chunk-PBN6GBJE.js";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  sherpaParakeetInstalled,
9
9
  sherpaUnsupportedReason
10
- } from "./chunk-6SFPQ2RZ.js";
10
+ } from "./chunk-E6EYZ33P.js";
11
11
  import {
12
12
  findParakeet
13
13
  } from "./chunk-JZIEZCQM.js";
@@ -6,8 +6,8 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
 
8
8
  // src/version.ts
9
- var VERSION = true ? "0.8.150" : "0.0.0-dev";
10
- var PRODUCER_VERSION = true ? "0.8.150" : "0.0.0-dev";
9
+ var VERSION = true ? "0.8.152" : "0.0.0-dev";
10
+ var PRODUCER_VERSION = true ? "0.8.152" : "0.0.0-dev";
11
11
 
12
12
  export {
13
13
  VERSION,
@@ -20,7 +20,7 @@ import {
20
20
  typeDirPath,
21
21
  updateRecord,
22
22
  withFigmaErrors
23
- } from "./chunk-7JTFPUMA.js";
23
+ } from "./chunk-LECTCGGS.js";
24
24
  import {
25
25
  defineCommand
26
26
  } from "./chunk-S3S4TGEH.js";
@@ -229,7 +229,7 @@ var asset_default = defineCommand({
229
229
  rendered > 0 ? `(${results.length} nodes, ${rendered} rendered in 1 figma request)` : `(${results.length} nodes, all reused from cache \u2014 no figma request)`
230
230
  );
231
231
  }
232
- const { trackFigmaImport } = await import("./telemetry-C3GDIXHO.js");
232
+ const { trackFigmaImport } = await import("./telemetry-UW7XAM5W.js");
233
233
  trackFigmaImport({
234
234
  phase: "asset",
235
235
  reused: results.every((r) => r.reused),
@@ -0,0 +1,24 @@
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
+ import {
8
+ withOwner
9
+ } from "./chunk-7TASSBN2.js";
10
+ import {
11
+ beginArtifactCapture
12
+ } from "./chunk-7FYFEXD2.js";
13
+
14
+ // src/utils/artifactCapture.ts
15
+ async function captureArtifactRevision(projectDir) {
16
+ return withOwner(projectDir, async (owner) => {
17
+ await owner.checkpoint();
18
+ return beginArtifactCapture(projectDir);
19
+ });
20
+ }
21
+
22
+ export {
23
+ captureArtifactRevision
24
+ };
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-XUXGIA7H.js";
30
30
  import {
31
31
  VERSION
32
- } from "./chunk-I6DATIHC.js";
32
+ } from "./chunk-IZIRIDJH.js";
33
33
  import {
34
34
  CANARIES,
35
35
  canaryEnvVar,
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  runRenderSetupWorker
9
- } from "./chunk-XPQSL5VS.js";
9
+ } from "./chunk-54DMWFQZ.js";
10
10
  import {
11
11
  chromeMajorCeiling,
12
12
  exceedsChromeCeiling
@@ -1278,7 +1278,7 @@ async function withFigmaErrors(command, fn) {
1278
1278
  } catch (err) {
1279
1279
  if (err instanceof Error) {
1280
1280
  try {
1281
- const { trackCommandFailure } = await import("./events-T4YFQC5G.js");
1281
+ const { trackCommandFailure } = await import("./events-63BKDWVO.js");
1282
1282
  trackCommandFailure(
1283
1283
  command,
1284
1284
  err,
@@ -6,21 +6,21 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parakeetRunner
9
- } from "./chunk-2KAL22B5.js";
9
+ } from "./chunk-IEDT4EXE.js";
10
10
  import {
11
11
  DecodeCancelled,
12
12
  prepareSherpaWav,
13
13
  sherpaUnsupportedReason,
14
14
  transcribeWithSherpa
15
- } from "./chunk-6SFPQ2RZ.js";
15
+ } from "./chunk-E6EYZ33P.js";
16
16
  import {
17
17
  initialModelForLanguage,
18
18
  transcribe
19
- } from "./chunk-XANZ4R4P.js";
19
+ } from "./chunk-QECEOV6W.js";
20
20
  import {
21
21
  createRenderCancellationScope,
22
22
  stoppedByCancelSignal
23
- } from "./chunk-4WFNTWKZ.js";
23
+ } from "./chunk-FNN5QINS.js";
24
24
  import {
25
25
  formatSrt,
26
26
  formatVtt,
@@ -30,7 +30,7 @@ import {
30
30
  import {
31
31
  DEFAULT_MODEL,
32
32
  isWhisperUnavailable
33
- } from "./chunk-CZQLCBWY.js";
33
+ } from "./chunk-YG2Y55KF.js";
34
34
  import {
35
35
  normalizeErrorMessage
36
36
  } from "./chunk-KNU5COPB.js";
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-AWDFDFI3.js";
15
15
  import {
16
16
  isBlockedNetworkHost
17
- } from "./chunk-5NAYNDBT.js";
17
+ } from "./chunk-EXH6L2XZ.js";
18
18
  import {
19
19
  DOMParser,
20
20
  parseHTML
@@ -7,29 +7,29 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  RegistryCompatibilityError,
9
9
  gateRegistryItemsCompatibility
10
- } from "./chunk-DOVJRUFM.js";
10
+ } from "./chunk-BQK3J7XO.js";
11
11
  import {
12
12
  DEFAULT_PROJECT_CONFIG,
13
13
  createProjectConfig,
14
14
  loadProjectConfig,
15
15
  projectConfigPath,
16
16
  recordProjectRegistryItems
17
- } from "./chunk-XQMEGSHG.js";
17
+ } from "./chunk-D6RJXQLD.js";
18
18
  import {
19
19
  resolveItemWithDependencies,
20
20
  resolveItemsByTag
21
- } from "./chunk-BLRJKBKP.js";
21
+ } from "./chunk-QESSGUKX.js";
22
22
  import {
23
23
  InvalidVariableValuesError,
24
24
  prepareItem,
25
25
  publishItem
26
- } from "./chunk-M6UDJ2E7.js";
26
+ } from "./chunk-6Z4YJ5Q3.js";
27
27
  import {
28
28
  DEFAULT_REGISTRY_URL
29
- } from "./chunk-OQ7XMM3S.js";
29
+ } from "./chunk-3HPJM5IQ.js";
30
30
  import {
31
31
  trackRegistryItemAdded
32
- } from "./chunk-3UAIVF4L.js";
32
+ } from "./chunk-H2SGM2V2.js";
33
33
  import {
34
34
  defineCommand
35
35
  } from "./chunk-S3S4TGEH.js";
@@ -41,7 +41,7 @@ import {
41
41
  } from "./chunk-ZTZA4UWZ.js";
42
42
  import {
43
43
  ITEM_TYPE_DIRS
44
- } from "./chunk-PCWOSS7G.js";
44
+ } from "./chunk-5ERVRJMV.js";
45
45
  import {
46
46
  isProjectRootMissing,
47
47
  realpath
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-PBN6GBJE.js";
16
16
  import {
17
17
  parseFps
18
- } from "./chunk-PCWOSS7G.js";
18
+ } from "./chunk-5ERVRJMV.js";
19
19
 
20
20
  // src/browser/windowsCrash.ts
21
21
  var STATUS_STACK_BUFFER_OVERRUN_DEC = "3221225595";
@@ -14,14 +14,14 @@ import {
14
14
  isAllowedHtmlAttribute,
15
15
  isSafeAttributeValue,
16
16
  sanitizeRichTextChildren
17
- } from "./chunk-PCWOSS7G.js";
17
+ } from "./chunk-5ERVRJMV.js";
18
18
  import {
19
19
  decodedUrlPath,
20
20
  removeElementWithGsapCascade
21
- } from "./chunk-LFNQDTSH.js";
21
+ } from "./chunk-VYKPBRCB.js";
22
22
  import {
23
23
  require_dist
24
- } from "./chunk-JDB65PPT.js";
24
+ } from "./chunk-YOEGUBBY.js";
25
25
  import {
26
26
  readClipTiming,
27
27
  writeClipTiming
@@ -135,7 +135,7 @@ function replacementTimelineAssetId(document, element, newSrc) {
135
135
  return buildTimelineAssetId(decodedUrlPath(newSrc), ids);
136
136
  }
137
137
 
138
- // ../studio-server/dist/chunk-Z5UJMFO4.js
138
+ // ../studio-server/dist/chunk-JBFOY5SI.js
139
139
  var import_postcss_selector_parser = __toESM(require_dist(), 1);
140
140
  import postcss from "postcss";
141
141
 
@@ -249,7 +249,7 @@ function findSyncPartner(el) {
249
249
  return best?.el ?? null;
250
250
  }
251
251
 
252
- // ../studio-server/dist/chunk-Z5UJMFO4.js
252
+ // ../studio-server/dist/chunk-JBFOY5SI.js
253
253
  function parseStyleDecls(style) {
254
254
  const props = /* @__PURE__ */ new Map();
255
255
  const order = [];
@@ -538,11 +538,20 @@ function setElementDuration(el, start, duration, trackIndex) {
538
538
  ...trackIndex != null ? { trackIndex } : {}
539
539
  });
540
540
  }
541
+ function isWindowOf(media, row) {
542
+ if (media.duration <= 0) return false;
543
+ const near = (a, b) => Math.abs(a - b) < 1e-3;
544
+ return !row || near(media.start, row.start) && near(media.duration, row.duration);
545
+ }
541
546
  function splitElementInHtml(source, target, splitTime, newId, fallbackTiming) {
542
547
  const { document, wrappedFragment } = parseSourceDocument(source);
543
548
  const el = findTargetElement(document, target);
544
549
  if (!el || !isHTMLElement(el)) return { html: source, matched: false, newId: null };
545
- const timing = resolveElementTiming(el);
550
+ const timedMediaSelector = "video[data-start], audio[data-start]";
551
+ const innerMedia = el.hasAttribute("data-start") || resolveElementTiming(el).duration > 0 || el.matches("[data-composition-src], [data-composition-id]") ? null : el.querySelector(timedMediaSelector);
552
+ const timedMedia = innerMedia && isWindowOf(resolveElementTiming(innerMedia), fallbackTiming) ? innerMedia : null;
553
+ const timed = timedMedia ?? el;
554
+ const timing = resolveElementTiming(timed);
546
555
  let { start, duration } = timing;
547
556
  if (duration <= 0 && fallbackTiming && fallbackTiming.duration > 0) {
548
557
  start = fallbackTiming.start;
@@ -560,16 +569,22 @@ function splitElementInHtml(source, target, splitTime, newId, fallbackTiming) {
560
569
  dedupeClonedCompositionId(document, clone);
561
570
  clone.removeAttribute("data-hf-id");
562
571
  for (const node of clone.querySelectorAll("[data-hf-id]")) node.removeAttribute("data-hf-id");
563
- setElementDuration(clone, splitTime, secondDuration, fallbackTiming?.track);
564
- const playbackStartAttr = el.hasAttribute("data-playback-start") ? "data-playback-start" : el.hasAttribute("data-media-start") ? "data-media-start" : el.matches("[data-composition-src], [data-composition-id]") ? "data-playback-start" : el.matches("audio, video") ? "data-media-start" : null;
572
+ const clonedTimed = timedMedia ? clone.querySelector(timedMediaSelector) : clone;
573
+ if (timedMedia?.id) {
574
+ const mediaId = nextUniqueId(document, `${timedMedia.id}-split`, /* @__PURE__ */ new Set([newId]));
575
+ duplicateCssRulesForId(document, timedMedia.id, mediaId);
576
+ clonedTimed.setAttribute("id", mediaId);
577
+ }
578
+ setElementDuration(clonedTimed, splitTime, secondDuration, fallbackTiming?.track);
579
+ const playbackStartAttr = timed.hasAttribute("data-playback-start") ? "data-playback-start" : timed.hasAttribute("data-media-start") ? "data-media-start" : timed.matches("[data-composition-src], [data-composition-id]") ? "data-playback-start" : timed.matches("audio, video") ? "data-media-start" : null;
565
580
  if (playbackStartAttr) {
566
- const readAttr = (name) => el.getAttribute(name);
567
- const authoredTrim = el.getAttribute(playbackStartAttr);
581
+ const readAttr = (name) => timed.getAttribute(name);
582
+ const authoredTrim = timed.getAttribute(playbackStartAttr);
568
583
  const currentTrim = authoredTrim !== null ? readMediaOffsetSeconds(readAttr) : fallbackTiming?.playbackStart ?? 0;
569
584
  const rate = readPlaybackRate(readAttr, fallbackTiming?.playbackRate);
570
585
  if (authoredTrim === null || Number(authoredTrim) !== currentTrim)
571
- el.setAttribute(playbackStartAttr, String(Math.round(currentTrim * 1e3) / 1e3));
572
- clone.setAttribute(
586
+ timed.setAttribute(playbackStartAttr, String(Math.round(currentTrim * 1e3) / 1e3));
587
+ clonedTimed.setAttribute(
573
588
  playbackStartAttr,
574
589
  String(Math.round((currentTrim + firstDuration * rate) * 1e3) / 1e3)
575
590
  );
@@ -578,7 +593,7 @@ function splitElementInHtml(source, target, splitTime, newId, fallbackTiming) {
578
593
  if (originalId) {
579
594
  duplicateCssRulesForId(document, originalId, newId);
580
595
  }
581
- setElementDuration(el, start, firstDuration, fallbackTiming?.track);
596
+ setElementDuration(timed, start, firstDuration, fallbackTiming?.track);
582
597
  if (el.nextSibling) {
583
598
  el.parentElement.insertBefore(clone, el.nextSibling);
584
599
  } else {