hyperframes 0.8.193 → 0.8.195

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 (191) hide show
  1. package/dist/{add-JC6DKZKC.js → add-NL6XABRV.js} +12 -12
  2. package/dist/{animatedGifPrep-S6KXJGEL.js → animatedGifPrep-JD4BBM2L.js} +8 -7
  3. package/dist/api.js +18 -17
  4. package/dist/{asset-XITFIFE6.js → asset-LRRHLG4L.js} +2 -2
  5. package/dist/{assetCataloger-K5FNKG35.js → assetCataloger-D7KGO346.js} +8 -7
  6. package/dist/{audio-364UHTY4.js → audio-34CZM4HF.js} +14 -13
  7. package/dist/{auth-5JEESRE6.js → auth-FL5ZMOXB.js} +1 -1
  8. package/dist/{autoUpdate-RVVYEHAA.js → autoUpdate-FZTJFLIH.js} +2 -2
  9. package/dist/{backgroundChecks-DCBIYWIQ.js → backgroundChecks-6ZKDCQET.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-ZZ4QMBAA.js → batchRender-KDZ4F4QT.js} +4 -4
  12. package/dist/{beats-YEL65M6G.js → beats-7PK677VR.js} +9 -9
  13. package/dist/{benchmark-RBTRPA76.js → benchmark-LO36QH5D.js} +9 -9
  14. package/dist/{browser-BVAYXT4R.js → browser-3F7NDHU2.js} +5 -5
  15. package/dist/{bundleWithLocalizedFonts-JLB2OYMT.js → bundleWithLocalizedFonts-JL5J52L6.js} +2 -2
  16. package/dist/{capture-GBXTMYLZ.js → capture-DOP3ONNZ.js} +13 -12
  17. package/dist/{capture-NIFX6IRS.js → capture-JOSZZYUW.js} +2 -2
  18. package/dist/{captureCompositionFrame-ATNNKUL5.js → captureCompositionFrame-SWZ4GEJP.js} +13 -12
  19. package/dist/{catalog-AGIF5SM5.js → catalog-EZLHZMLM.js} +12 -12
  20. package/dist/{catch-up-SZ3ULDTI.js → catch-up-6B7VY43I.js} +4 -4
  21. package/dist/{check-YLQS3TF4.js → check-QGELCBBF.js} +38 -37
  22. package/dist/{checkBrowser-QH4FMCBO.js → checkBrowser-A5C2AB4L.js} +33 -32
  23. package/dist/{chunk-L5YLA54L.js → chunk-2G6JZJAV.js} +2 -2
  24. package/dist/{chunk-M3KZBDPB.js → chunk-2HSRLKZR.js} +3 -3
  25. package/dist/{chunk-FBVUAH7N.js → chunk-2OYYNKJ4.js} +1 -1
  26. package/dist/{chunk-2VXY3PEF.js → chunk-2TU4OKIR.js} +280 -114
  27. package/dist/{chunk-4PPWAQYV.js → chunk-3OAFRLD3.js} +7 -7
  28. package/dist/{chunk-ZT45TCY3.js → chunk-3PYIQLPL.js} +1 -1
  29. package/dist/{chunk-DYNHVCBF.js → chunk-4R2NWLQL.js} +2 -2
  30. package/dist/{chunk-SOY2FPOR.js → chunk-636WBDXB.js} +5 -5
  31. package/dist/{chunk-LFUVTS6V.js → chunk-66Q27H72.js} +2 -2
  32. package/dist/{chunk-MFUNDJEV.js → chunk-6ORTRIDW.js} +3 -3
  33. package/dist/{chunk-D625D4TV.js → chunk-7DFIVUOW.js} +6 -6
  34. package/dist/{chunk-ZH7J2ZUL.js → chunk-7G2LQM3J.js} +14 -14
  35. package/dist/{chunk-6LWUPIKD.js → chunk-7PXVXRVX.js} +10 -10
  36. package/dist/{chunk-XQPA4W3M.js → chunk-7Y5RVQQ7.js} +4 -4
  37. package/dist/{chunk-2MCXIY4B.js → chunk-B7RJV74O.js} +28 -11
  38. package/dist/{chunk-BJAS2JLW.js → chunk-B7Y2DGU6.js} +7 -3
  39. package/dist/{chunk-YS4JUGNI.js → chunk-BBXZPDEA.js} +2 -2
  40. package/dist/{chunk-RWGASWT7.js → chunk-BL4U6U52.js} +1 -0
  41. package/dist/{chunk-VW63MHQU.js → chunk-CCZMCX3F.js} +1 -1
  42. package/dist/{chunk-BY6OQ6XP.js → chunk-CZNSLFYD.js} +3 -1
  43. package/dist/{chunk-X5CECNCK.js → chunk-D6XDOYMB.js} +8 -3
  44. package/dist/{chunk-F5LLORBP.js → chunk-E527A6RS.js} +2 -2
  45. package/dist/{chunk-7HTH5PFK.js → chunk-E74JMKSK.js} +58 -8
  46. package/dist/{chunk-TZEKVLPV.js → chunk-ELQ2QQC5.js} +1 -1
  47. package/dist/{chunk-4LXZJIVY.js → chunk-ES7KSCSO.js} +10 -10
  48. package/dist/{chunk-KU3UFQN7.js → chunk-F2ASNL2K.js} +1 -1
  49. package/dist/{chunk-VLLFORE2.js → chunk-F4T7XYMF.js} +1 -1
  50. package/dist/{chunk-E3P3LJG6.js → chunk-FLREUEHW.js} +28 -11
  51. package/dist/{chunk-TY3LDJA3.js → chunk-FWDDLW2H.js} +2 -2
  52. package/dist/{chunk-7YSFE4SZ.js → chunk-GJG4CTXD.js} +2 -2
  53. package/dist/{chunk-2NERNYCJ.js → chunk-GKMRLES4.js} +3 -3
  54. package/dist/{chunk-4TKJWWPL.js → chunk-GOOE33GV.js} +1 -1
  55. package/dist/{chunk-DIKAPMMF.js → chunk-GQVTTWZF.js} +144 -39
  56. package/dist/{chunk-L4JB7LI4.js → chunk-HJINEUHY.js} +84 -61
  57. package/dist/{chunk-7QNIXBQD.js → chunk-HT33OHQL.js} +3 -2
  58. package/dist/{chunk-AR3DQYRR.js → chunk-HTLCE7M2.js} +18 -18
  59. package/dist/{chunk-ZTKFRXJB.js → chunk-IA7HZ4CM.js} +4 -4
  60. package/dist/{chunk-WFS6S65A.js → chunk-IZR7U27Z.js} +12 -12
  61. package/dist/chunk-K4MJX7SR.js +17 -0
  62. package/dist/{chunk-ZZPBXRYQ.js → chunk-KJ6ZQL34.js} +1 -1
  63. package/dist/{chunk-VPC4XIVI.js → chunk-KVLGJJTE.js} +5 -5
  64. package/dist/{chunk-CGTZOY53.js → chunk-L2EBYFU7.js} +1 -1
  65. package/dist/{chunk-UNATIAOT.js → chunk-L4BFXWHC.js} +144 -67
  66. package/dist/{chunk-IW5G323T.js → chunk-LTGTN2TH.js} +8 -9
  67. package/dist/{chunk-EFXMETRK.js → chunk-NKNRVPNV.js} +2 -2
  68. package/dist/{chunk-2SFDWMSW.js → chunk-NOHH25WS.js} +2 -2
  69. package/dist/{chunk-7YKJF5JV.js → chunk-OB4GJZTY.js} +1 -1
  70. package/dist/{chunk-C4Y3ZREE.js → chunk-OJNNKHAZ.js} +75 -22
  71. package/dist/{chunk-OFYW4J7Y.js → chunk-ORZMO6NY.js} +3 -3
  72. package/dist/{chunk-BP4EMEGH.js → chunk-P5X5URNQ.js} +2 -2
  73. package/dist/{chunk-6XUJVEY2.js → chunk-RAACYYWX.js} +1 -1
  74. package/dist/{chunk-QFPBRZJD.js → chunk-ROEW726S.js} +1 -1
  75. package/dist/{chunk-WIVOXGEP.js → chunk-RZUEXJRC.js} +2 -2
  76. package/dist/{chunk-V7ZA2BNW.js → chunk-SC6NILKD.js} +1 -1
  77. package/dist/{chunk-2LSCYS2H.js → chunk-SMROKE63.js} +2 -2
  78. package/dist/{chunk-REUL2KH2.js → chunk-ST35C4K6.js} +1 -1
  79. package/dist/{chunk-OFV3WSOE.js → chunk-TE6VGYHQ.js} +1 -1
  80. package/dist/{chunk-3W4B6G7Y.js → chunk-VNWX5GBF.js} +19 -15
  81. package/dist/{chunk-QKX7ITER.js → chunk-W4SSWOOD.js} +2 -2
  82. package/dist/{chunk-6DLCOQR4.js → chunk-W7GMPEY3.js} +142 -44
  83. package/dist/{chunk-UIC7B5KW.js → chunk-WUL5LPI2.js} +12 -2
  84. package/dist/{chunk-5J6TWLFG.js → chunk-XC7SJ2UR.js} +3 -3
  85. package/dist/{chunk-E77ALFLW.js → chunk-XOUWCZHD.js} +1 -1
  86. package/dist/{chunk-GR5DQKDR.js → chunk-YFTO5YD7.js} +5 -5
  87. package/dist/{chunk-UB7BIDBS.js → chunk-YSXCPSJ4.js} +3 -3
  88. package/dist/{chunk-GKHMSSGY.js → chunk-YUFECVHG.js} +1 -1
  89. package/dist/{chunk-LMNZLZMJ.js → chunk-ZAVUASNT.js} +1 -1
  90. package/dist/{chunk-RTLPWOO6.js → chunk-ZL6ZCLY6.js} +1 -1
  91. package/dist/{chunk-DSQ72G5I.js → chunk-ZOJHEN3C.js} +1 -1
  92. package/dist/chunk-ZQRD62QZ.js +3901 -0
  93. package/dist/{clean-5HGESK5A.js → clean-PI4JLT6O.js} +21 -20
  94. package/dist/cli.js +53 -53
  95. package/dist/{cloud-746PHS32.js → cloud-SQRY723M.js} +4 -4
  96. package/dist/{cloudrun-DO7WFLSM.js → cloudrun-VMPROR43.js} +6 -6
  97. package/dist/commands/layout-audit.browser.js +1 -1
  98. package/dist/{compare-66YPRNG2.js → compare-EHX4APTP.js} +31 -30
  99. package/dist/{compiler-R4UYDWXO.js → compiler-FZCJGGBF.js} +5 -5
  100. package/dist/{component-EQ3H6RFP.js → component-I75ZKJYH.js} +3 -3
  101. package/dist/{compositions-ZZ7P5HT2.js → compositions-YNYYUEQD.js} +12 -11
  102. package/dist/{contactSheet-SZBJDOMT.js → contactSheet-5APX35L3.js} +1 -1
  103. package/dist/{delete-Z5MSLJSR.js → delete-7BVTBKOC.js} +2 -2
  104. package/dist/{deploy-RGSAC2K5.js → deploy-TUEEJP3W.js} +1 -1
  105. package/dist/{deterministicFonts-RO2TCMLZ.js → deterministicFonts-RADD3BSX.js} +2 -2
  106. package/dist/{dist-QQ26RUDV.js → dist-VRGIE57H.js} +1 -1
  107. package/dist/{dist-RKK4YLAD.js → dist-VVROHSP4.js} +3 -3
  108. package/dist/{doctor-W4ZZDRTU.js → doctor-53DSQFW4.js} +14 -13
  109. package/dist/{events-BSSL4A4W.js → events-AD3U6E7I.js} +2 -2
  110. package/dist/{events-UACT7PX3.js → events-M6FIUDNQ.js} +3 -3
  111. package/dist/{feedback-47ILDLQG.js → feedback-7SQ7KKAR.js} +8 -8
  112. package/dist/{ffmpeg-IEHSUNUT.js → ffmpeg-3HSSPXS4.js} +9 -8
  113. package/dist/{figma-PLFIIYRU.js → figma-B5XII2BO.js} +3 -3
  114. package/dist/fontLocalizeCli.js +11 -10
  115. package/dist/{get-PDWGJYNL.js → get-RZKNBIRD.js} +2 -2
  116. package/dist/{gpuPolicy-6UBXO6ME.js → gpuPolicy-77LOK3K6.js} +8 -7
  117. package/dist/{grade-compare-5VWLQGM7.js → grade-compare-K3YB3FQA.js} +37 -35
  118. package/dist/{gsapParser-UP3PNPC2.js → gsapParser-IEUSLYDJ.js} +11 -11
  119. package/dist/{gsapParserAcorn-OOTY2MVN.js → gsapParserAcorn-LZJKCFQI.js} +1 -1
  120. package/dist/{help-DS3KMWYO.js → help-UM6INVL5.js} +1 -1
  121. package/dist/{history-OC326NVZ.js → history-EWKPACWR.js} +7 -7
  122. package/dist/hyperframe.manifest.json +1 -1
  123. package/dist/hyperframe.runtime.iife.js +72 -66
  124. package/dist/hyperframes-player.global.js +3 -3
  125. package/dist/hyperframes-slideshow.global.js +1 -1
  126. package/dist/{info-AUIFV6MX.js → info-KY3MFTCY.js} +8 -8
  127. package/dist/{init-MRTWWDFW.js → init-LURF2PL5.js} +30 -29
  128. package/dist/{inspect-55NOAXI2.js → inspect-46CZJM6P.js} +31 -30
  129. package/dist/{installer-YSFFGBBV.js → installer-NGFX6INI.js} +5 -5
  130. package/dist/{keyframes-OO2BX2IB.js → keyframes-YCSK6POI.js} +59 -33
  131. package/dist/{lambda-CXXY6QT3.js → lambda-5KXULI2S.js} +8 -8
  132. package/dist/{layout-57GJXKDK.js → layout-WOLH24YE.js} +31 -30
  133. package/dist/{lint-J4FK3Z6G.js → lint-P3P2LX6S.js} +7 -7
  134. package/dist/{lintProject-52SLJPRC.js → lintProject-ESAJKFOX.js} +1 -1
  135. package/dist/{list-VDQUJ76B.js → list-RUYQWMF2.js} +2 -2
  136. package/dist/{login-TJSEALWW.js → login-THBBWZAY.js} +4 -4
  137. package/dist/{manager-MZIJY73J.js → manager-COSJVRAE.js} +2 -2
  138. package/dist/{manager-4PLYEEWP.js → manager-V34BMSAG.js} +10 -9
  139. package/dist/{media-treatment-GXP4PMJH.js → media-treatment-IMBLTYGV.js} +15 -14
  140. package/dist/{models-HQQQKEEP.js → models-3NW7HU72.js} +14 -13
  141. package/dist/{motionShot-2BT5D7DC.js → motionShot-VTTYZ6KW.js} +17 -16
  142. package/dist/{normalize-audio-SOLFMHNP.js → normalize-audio-ME3X7HBX.js} +6 -6
  143. package/dist/{open-KHEUODFQ.js → open-GLGSJISM.js} +12 -12
  144. package/dist/{parakeetRunner-BHU5NCAX.js → parakeetRunner-T3UGRZWC.js} +15 -14
  145. package/dist/{pipeline-WFV5HDTD.js → pipeline-IJXVEQCU.js} +10 -9
  146. package/dist/{play-GB34CANJ.js → play-HFFGGAZH.js} +21 -21
  147. package/dist/{preflight-REF3VSJ7.js → preflight-QV6V3UO2.js} +11 -10
  148. package/dist/{present-SIUTA7TD.js → present-TH34CTYY.js} +17 -17
  149. package/dist/{preview-T2GE7Z4A.js → preview-R67EQGQP.js} +100 -65
  150. package/dist/{producer-23KVQZAB.js → producer-HWPFETDU.js} +1 -1
  151. package/dist/{projectConfig-DBSNBPNP.js → projectConfig-AO4V3RHS.js} +7 -7
  152. package/dist/{publication-IXPUKYWJ.js → publication-BDQ3PXYG.js} +3 -3
  153. package/dist/{publish-3BA5VHXJ.js → publish-PXYTWSXN.js} +10 -10
  154. package/dist/{remove-background-RMSCJVVQ.js → remove-background-BVDJPT3Z.js} +11 -10
  155. package/dist/{render-Y6CTQ3YW.js → render-45YHWV6W.js} +6 -6
  156. package/dist/{render-6RNE2MLU.js → render-5MZY4TAB.js} +17 -16
  157. package/dist/{render-XGOZMMWX.js → render-5RQUYPIV.js} +35 -34
  158. package/dist/{render-batch-VUR6N6EY.js → render-batch-ZUTUBTHX.js} +6 -6
  159. package/dist/renderSetupWorker.js +42 -4
  160. package/dist/{resolver-GJCUH57W.js → resolver-FN2M3XVM.js} +5 -5
  161. package/dist/{sherpa-VVAKRCPL.js → sherpa-6KWNPRWB.js} +14 -13
  162. package/dist/skills/media-use/scripts/lib/duck.mjs +18 -2
  163. package/dist/skills/media-use/scripts/lib/duck.test.mjs +79 -0
  164. package/dist/{skills-ZHBURVQG.js → skills-PWQCM2BT.js} +5 -5
  165. package/dist/{skillsUpdateCheck-VMDAL2O2.js → skillsUpdateCheck-EHV2G3JX.js} +3 -3
  166. package/dist/{snapshot-KEOG56SL.js → snapshot-7Q24NFEI.js} +39 -38
  167. package/dist/{src-TZLGFRRX.js → src-J43SXEHJ.js} +10 -9
  168. package/dist/{src-BH5NICGQ.js → src-OS2FRVZV.js} +9 -6
  169. package/dist/{staticProjectServer-BKXL5CXB.js → staticProjectServer-YJWOQJF4.js} +18 -18
  170. package/dist/studio/assets/{hyperframes-player-BMcUdmDb.js → hyperframes-player-DnIPEARk.js} +1 -1
  171. package/dist/studio/assets/{index-Ci6GuloR.js → index-CVppCm_X.js} +1 -1
  172. package/dist/studio/assets/{index-Ca-mgTnS.js → index-Dkt4c1MV.js} +161 -161
  173. package/dist/studio/index.html +1 -1
  174. package/dist/{studio-api-A5U6QAMC.js → studio-api-CZBZ4D65.js} +11 -11
  175. package/dist/{studioServer-5EC5CP4W.js → studioServer-U6EX5DSB.js} +94 -53
  176. package/dist/{telemetry-BCKJXDSW.js → telemetry-VP4UWWO3.js} +3 -3
  177. package/dist/{timeline-AZWAXTAY.js → timeline-LMSUKEG6.js} +20 -19
  178. package/dist/{tokens-X7NC3V7C.js → tokens-FQ5AI5H4.js} +2 -2
  179. package/dist/{transcribe-7NCY7QZ2.js → transcribe-DNQFPZ2S.js} +13 -12
  180. package/dist/{transcribe-SH26H755.js → transcribe-VAMXV7QS.js} +19 -18
  181. package/dist/{updateCheck-Y7FUWQM4.js → updateCheck-TOU7VLZK.js} +2 -2
  182. package/dist/{upgrade-ZHGEVL65.js → upgrade-CJRMRR2S.js} +2 -2
  183. package/dist/{urlDownloader-FPILIT7M.js → urlDownloader-GETNWEIT.js} +7 -6
  184. package/dist/{validate-KQOZR4F6.js → validate-PRI2UTQS.js} +25 -24
  185. package/dist/vendor/npm/gsap@3.15.0/dist/CustomEase.min.js +11 -0
  186. package/dist/vendor/npm/gsap@3.15.0/dist/MotionPathPlugin.min.js +11 -0
  187. package/dist/vendor/npm/gsap@3.15.0/dist/gsap.min.js +11 -0
  188. package/dist/{video-N2QAETFB.js → video-VOCQA6AG.js} +8 -7
  189. package/dist/warmCheck.js +38 -37
  190. package/package.json +1 -1
  191. package/dist/chunk-USWPZXEA.js +0 -3897
@@ -8,7 +8,7 @@ import {
8
8
  EncoderInterruptedError,
9
9
  encoderFailureError,
10
10
  prepareAnimatedGifInputs
11
- } from "./chunk-TY3LDJA3.js";
11
+ } from "./chunk-FWDDLW2H.js";
12
12
  import {
13
13
  GENERIC_FAMILIES,
14
14
  collectFontFamilyCustomProperties,
@@ -16,7 +16,7 @@ import {
16
16
  iterateFontFamilyDeclarations,
17
17
  normalizeSystemFontPrimaryFamilies,
18
18
  resolveFontFamilyDeclarationFamilies
19
- } from "./chunk-QFPBRZJD.js";
19
+ } from "./chunk-ROEW726S.js";
20
20
  import {
21
21
  parseEncoderOptions
22
22
  } from "./chunk-KLIKCX6Q.js";
@@ -158,8 +158,9 @@ import {
158
158
  trackChildProcess,
159
159
  validateEngineConfigSnapshot,
160
160
  verifyDiskDrawElementSamples,
161
+ videoAudioId,
161
162
  writeCapturedFrame
162
- } from "./chunk-L4JB7LI4.js";
163
+ } from "./chunk-HJINEUHY.js";
163
164
  import {
164
165
  DISTRIBUTED_FPS,
165
166
  HF_VFX_ATTR,
@@ -170,11 +171,12 @@ import {
170
171
  gifClearsAfterLeavingFrameInPlace,
171
172
  gsapCdnDist,
172
173
  isDistributedFps,
174
+ normalizeGsapBaseUrl,
173
175
  parseFps,
174
176
  parseVfxChain,
175
177
  resolveAuthoredTimingWindow,
176
178
  toFps
177
- } from "./chunk-7HTH5PFK.js";
179
+ } from "./chunk-E74JMKSK.js";
178
180
  import {
179
181
  assignBundledRuntimeCompositionIds,
180
182
  buildVariablesByCompScript,
@@ -184,10 +186,9 @@ import {
184
186
  ensureExternalScriptTag,
185
187
  extractStandaloneEntryFromIndex,
186
188
  inlineSubCompositions,
187
- isTemplateEntry,
188
189
  parsesAsScript,
189
190
  prepareFlattenedInnerRoot
190
- } from "./chunk-3W4B6G7Y.js";
191
+ } from "./chunk-VNWX5GBF.js";
191
192
  import {
192
193
  COMPOSITION_SOURCE_URL,
193
194
  HF_COLOR_GRADING_ATTR,
@@ -205,17 +206,20 @@ import {
205
206
  insertBeforeCloseTag,
206
207
  isJavaScriptType,
207
208
  isRuntimeFileUrl,
209
+ isTemplateEntry,
208
210
  normalizeRateSpec,
209
211
  parseHostVariableValues,
210
212
  parseStrictFiniteTimingNumber,
211
213
  readDeclaredDefaults,
212
214
  readMediaStart,
213
215
  resolveNaturalMediaTimelineDurationFromValues,
216
+ resolveRateSpec,
214
217
  shiftRateLane,
215
218
  shouldClampResolvedMediaDuration,
216
219
  sourceTimeAt,
217
- styleElementsFor
218
- } from "./chunk-USWPZXEA.js";
220
+ styleElementsFor,
221
+ timeAtSourceTime
222
+ } from "./chunk-ZQRD62QZ.js";
219
223
  import {
220
224
  MAX_AUDIO_GAIN
221
225
  } from "./chunk-X7HBSTCZ.js";
@@ -229,7 +233,7 @@ import {
229
233
  isAspectAgnosticResolutionAlias,
230
234
  normalizeResolutionFlag,
231
235
  suggestMatchingPreset
232
- } from "./chunk-2MCXIY4B.js";
236
+ } from "./chunk-B7RJV74O.js";
233
237
  import {
234
238
  TRANSITIONS,
235
239
  convertTransfer,
@@ -245,7 +249,7 @@ import {
245
249
  import {
246
250
  lintHyperframeHtml,
247
251
  resolveReferencedStart
248
- } from "./chunk-2VXY3PEF.js";
252
+ } from "./chunk-2TU4OKIR.js";
249
253
  import {
250
254
  isUnresolvedAssetPlaceholder,
251
255
  readProjectFile,
@@ -264,6 +268,8 @@ import {
264
268
  CSS_URL_RE,
265
269
  decodedUrlPath,
266
270
  isNonRelativeUrl,
271
+ readPlaybackRate,
272
+ rewriteAssetPath,
267
273
  rewriteAssetPaths,
268
274
  rewriteCssAssetUrls,
269
275
  rewriteInlineStyleAssetUrls
@@ -1763,8 +1769,11 @@ function assertDurationWithinTolerance(expectedSeconds, probedSeconds, tolerance
1763
1769
  `Render artifact is truncated: expected ${expectedSeconds.toFixed(3)}s, probed ${probedSeconds.toFixed(3)}s (deficit ${deficit.toFixed(3)}s exceeds tolerance ${toleranceSeconds.toFixed(3)}s). Artifact: ${stagingPath}`
1764
1770
  );
1765
1771
  }
1772
+ function hasUsableFrameCount(frames) {
1773
+ return frames !== void 0 && Number.isFinite(frames) && frames > 0;
1774
+ }
1766
1775
  function assertFrameCountWithinTolerance(expectedFrames, probedFrames, stagingPath, toleranceFrames = 1) {
1767
- if (probedFrames === void 0 || !Number.isFinite(probedFrames) || probedFrames <= 0) {
1776
+ if (!hasUsableFrameCount(probedFrames)) {
1768
1777
  return;
1769
1778
  }
1770
1779
  const shortfall = expectedFrames - probedFrames;
@@ -1784,9 +1793,10 @@ function assertSizeMatches(expected, probed, stagingPath) {
1784
1793
  );
1785
1794
  }
1786
1795
  var ArtifactTransaction = class {
1787
- constructor(destinationPath, kind, fileSystem = defaultFileSystem, durationProbe = defaultArtifactDurationProbe) {
1796
+ constructor(destinationPath, kind, fileSystem = defaultFileSystem, durationProbe = defaultArtifactDurationProbe, logger = defaultLogger) {
1788
1797
  this.kind = kind;
1789
1798
  this.fileSystem = fileSystem;
1799
+ this.logger = logger;
1790
1800
  this.destinationPath = resolve4(destinationPath);
1791
1801
  this.transactionDirectory = createSiblingTransactionDirectory(this.destinationPath);
1792
1802
  this.stagingPath = join5(this.transactionDirectory, basename3(this.destinationPath));
@@ -1795,6 +1805,7 @@ var ArtifactTransaction = class {
1795
1805
  }
1796
1806
  kind;
1797
1807
  fileSystem;
1808
+ logger;
1798
1809
  destinationPath;
1799
1810
  stagingPath;
1800
1811
  transactionDirectory;
@@ -1871,6 +1882,19 @@ var ArtifactTransaction = class {
1871
1882
  probePath
1872
1883
  );
1873
1884
  if (expected.expectedFrames !== void 0) {
1885
+ if (!hasUsableFrameCount(probed.frames)) {
1886
+ try {
1887
+ this.logger.debug(
1888
+ "[Render] Frame-count validation skipped: no usable frame count was reported.",
1889
+ {
1890
+ event: "artifact_frame_count_unavailable",
1891
+ artifact: this.destinationPath,
1892
+ expectedFrames: expected.expectedFrames
1893
+ }
1894
+ );
1895
+ } catch {
1896
+ }
1897
+ }
1874
1898
  assertFrameCountWithinTolerance(expected.expectedFrames, probed.frames, probePath);
1875
1899
  }
1876
1900
  assertSizeMatches(expected, probed, probePath);
@@ -5990,7 +6014,7 @@ async function parseSubCompositions(html, projectDir, downloadDir, visited = /*
5990
6014
  const results = await Promise.all(
5991
6015
  workItems.map(async (item) => {
5992
6016
  const { html: compiledSub } = await compileHtmlFile(
5993
- item.rawSubHtml,
6017
+ rewriteUnresolvableGsapToCdn(item.rawSubHtml, projectDir, item.srcPath),
5994
6018
  dirname5(item.filePath),
5995
6019
  downloadDir,
5996
6020
  void 0,
@@ -6164,7 +6188,9 @@ function inlineSubCompositions2(html, subCompositions, projectDir, variableOverr
6164
6188
  let compHtml = subCompositions.get(srcPath) || null;
6165
6189
  if (!compHtml) {
6166
6190
  const read = readProjectFile(resolve5(projectDir, srcPath));
6167
- if (read.kind === "file") compHtml = read.text;
6191
+ if (read.kind === "file") {
6192
+ compHtml = rewriteUnresolvableGsapToCdn(read.text, projectDir, srcPath);
6193
+ }
6168
6194
  }
6169
6195
  return compHtml;
6170
6196
  },
@@ -6651,7 +6677,7 @@ async function readLocalFont(absPath) {
6651
6677
  return { kind: "inline", buffer: Buffer.concat(chunks, totalBytes) };
6652
6678
  }
6653
6679
  async function embedLocalFontFaces(html, projectDir) {
6654
- const { fontToDataUri: toDataUri } = await import("./deterministicFonts-RO2TCMLZ.js");
6680
+ const { fontToDataUri: toDataUri } = await import("./deterministicFonts-RADD3BSX.js");
6655
6681
  const styleBlockRe = /<style\b[^>]*>([\s\S]*?)<\/style>/gi;
6656
6682
  const fontFaceRe = /@font-face\s*\{([^}]*)\}/gi;
6657
6683
  let result = html;
@@ -6707,18 +6733,27 @@ async function embedLocalFontFaces(html, projectDir) {
6707
6733
  }
6708
6734
  return result;
6709
6735
  }
6710
- var GSAP_CDN_BASE = gsapCdnDist();
6711
- function rewriteUnresolvableGsapToCdn(html, projectDir) {
6736
+ function renderGsapDist() {
6737
+ try {
6738
+ return gsapCdnDist(void 0, normalizeGsapBaseUrl(process.env.HYPERFRAMES_GSAP_BASE_URL));
6739
+ } catch (cause) {
6740
+ throw new Error(
6741
+ "Invalid HYPERFRAMES_GSAP_BASE_URL: use an absolute HTTPS npm mirror root (plain HTTP only for localhost) without credentials, query, or fragment",
6742
+ { cause }
6743
+ );
6744
+ }
6745
+ }
6746
+ function rewriteUnresolvableGsapToCdn(html, projectDir, compSrcPath) {
6747
+ let gsapDist;
6748
+ const exists = (path) => existsSync9(resolve5(projectDir, path));
6712
6749
  return html.replace(
6713
6750
  /(<script\b[^>]*\bsrc=["'])([^"']*gsap[^"']*\/dist\/([^"']+))(["'][^>]*>)/gi,
6714
6751
  (full, prefix, src, file, suffix) => {
6715
6752
  if (/^https?:\/\//i.test(src)) return full;
6716
- const absPath = resolve5(projectDir, src);
6717
- if (existsSync9(absPath)) return full;
6718
- defaultLogger.info(
6719
- `[Compiler] Rewriting missing gsap script to CDN: ${src} \u2192 ${GSAP_CDN_BASE}${file}`
6720
- );
6721
- return `${prefix}${GSAP_CDN_BASE}${file}${suffix}`;
6753
+ if (exists(compSrcPath ? rewriteAssetPath(compSrcPath, src, exists) : src)) return full;
6754
+ gsapDist ??= renderGsapDist();
6755
+ defaultLogger.info(`[Compiler] Rewriting missing gsap script: ${src} \u2192 ${gsapDist}${file}`);
6756
+ return `${prefix}${gsapDist}${file}${suffix}`;
6722
6757
  }
6723
6758
  );
6724
6759
  }
@@ -6932,6 +6967,9 @@ async function discoverMediaFromBrowser(page) {
6932
6967
  const intrinsicDuration = isImage ? 0 : htmlEl.duration;
6933
6968
  const playbackStartRaw = htmlEl.getAttribute("data-playback-start");
6934
6969
  const mediaStartRaw = htmlEl.getAttribute("data-media-start");
6970
+ const playbackRateRaw = htmlEl.getAttribute("data-playback-rate");
6971
+ const automationRaw = htmlEl.getAttribute("data-automation");
6972
+ const defaultPlaybackRate = isImage ? 1 : htmlEl.defaultPlaybackRate;
6935
6973
  const loop = htmlEl.hasAttribute("loop");
6936
6974
  const hasAudio = htmlEl.getAttribute("data-has-audio") === "true";
6937
6975
  const volume = parseFloat(htmlEl.getAttribute("data-volume") || "1");
@@ -6947,6 +6985,9 @@ async function discoverMediaFromBrowser(page) {
6947
6985
  durationInferred,
6948
6986
  playbackStartRaw,
6949
6987
  mediaStartRaw,
6988
+ playbackRateRaw,
6989
+ automationRaw,
6990
+ defaultPlaybackRate,
6950
6991
  loop,
6951
6992
  hasAudio,
6952
6993
  volume,
@@ -6956,7 +6997,17 @@ async function discoverMediaFromBrowser(page) {
6956
6997
  return results;
6957
6998
  });
6958
6999
  return elements.map(
6959
- ({ endRaw, durationRaw, intrinsicDuration, playbackStartRaw, mediaStartRaw, ...element }) => ({
7000
+ ({
7001
+ endRaw,
7002
+ durationRaw,
7003
+ intrinsicDuration,
7004
+ playbackStartRaw,
7005
+ mediaStartRaw,
7006
+ playbackRateRaw,
7007
+ automationRaw,
7008
+ defaultPlaybackRate,
7009
+ ...element
7010
+ }) => ({
6960
7011
  ...element,
6961
7012
  end: parseStrictFiniteTimingNumber(endRaw) ?? 0,
6962
7013
  duration: element.durationInferred && Number.isFinite(intrinsicDuration) && intrinsicDuration > 0 ? intrinsicDuration : parseStrictFiniteTimingNumber(durationRaw) ?? 0,
@@ -6966,7 +7017,14 @@ async function discoverMediaFromBrowser(page) {
6966
7017
  if (name === "data-media-start") return mediaStartRaw;
6967
7018
  return null;
6968
7019
  }
6969
- })
7020
+ }),
7021
+ playbackRate: resolveRateSpec(
7022
+ automationRaw,
7023
+ readPlaybackRate(
7024
+ (name) => name === "data-playback-rate" ? playbackRateRaw : null,
7025
+ defaultPlaybackRate
7026
+ )
7027
+ )
6970
7028
  })
6971
7029
  );
6972
7030
  }
@@ -7434,16 +7492,28 @@ function authoredMediaStarts(html) {
7434
7492
  }
7435
7493
  return starts;
7436
7494
  }
7437
- function adoptRuntimeMediaStart(composition, el, authored) {
7495
+ function isVideoAudio(audio, videoId) {
7496
+ return audio.type === "video" && audio.id === videoAudioId(videoId);
7497
+ }
7498
+ function adoptRuntimeMediaTiming(composition, el, authored) {
7438
7499
  const shift = el.mediaStart - authored;
7439
- if (el.mediaStart <= 0 || Math.abs(shift) <= BROWSER_MEDIA_EPSILON) return;
7440
7500
  const entries = el.tagName === "video" ? [
7441
7501
  ...composition.videos.filter((video) => video.id === el.id),
7442
- ...composition.audios.filter(
7443
- (audio) => audio.type === "video" && audio.id === `${el.id}-audio`
7444
- )
7502
+ ...composition.audios.filter((audio) => isVideoAudio(audio, el.id))
7445
7503
  ] : composition.audios.filter((audio) => audio.type !== "video" && audio.id === el.id);
7446
- for (const entry of entries) entry.mediaStart += shift;
7504
+ for (const entry of entries) {
7505
+ if (typeof entry.playbackRate !== "object") {
7506
+ if (typeof el.playbackRate === "object") {
7507
+ const consumed = Math.max(0, entry.mediaStart - authored);
7508
+ const head = timeAtSourceTime(normalizeRateSpec(entry.playbackRate), consumed);
7509
+ entry.mediaStart += sourceTimeAt(el.playbackRate, head) - consumed;
7510
+ entry.playbackRate = shiftRateLane(el.playbackRate, head);
7511
+ } else {
7512
+ entry.playbackRate = el.playbackRate;
7513
+ }
7514
+ }
7515
+ if (el.mediaStart > 0 && Math.abs(shift) > BROWSER_MEDIA_EPSILON) entry.mediaStart += shift;
7516
+ }
7447
7517
  }
7448
7518
  function reconcileBrowserMediaEnd(existingEnd, projectedEnd, sourceChanged, durationInferred) {
7449
7519
  if (projectedEnd <= 0) return existingEnd;
@@ -7727,7 +7797,7 @@ async function runProbeStage(input) {
7727
7797
  sourceChanged,
7728
7798
  el.durationInferred
7729
7799
  );
7730
- adoptRuntimeMediaStart(
7800
+ adoptRuntimeMediaTiming(
7731
7801
  composition,
7732
7802
  el,
7733
7803
  authoredStarts.get(el.id) ?? existing.mediaStart
@@ -7750,6 +7820,7 @@ async function runProbeStage(input) {
7750
7820
  start: el.start,
7751
7821
  end: resolveBrowserMediaEnd(el.start, el.end, el.duration),
7752
7822
  mediaStart: el.mediaStart,
7823
+ playbackRate: el.playbackRate,
7753
7824
  loop: el.loop,
7754
7825
  hasAudio: el.hasAudio && !el.muted
7755
7826
  });
@@ -7774,7 +7845,7 @@ async function runProbeStage(input) {
7774
7845
  sourceChanged,
7775
7846
  el.durationInferred
7776
7847
  );
7777
- adoptRuntimeMediaStart(
7848
+ adoptRuntimeMediaTiming(
7778
7849
  composition,
7779
7850
  el,
7780
7851
  authoredStarts.get(el.id) ?? existing.mediaStart
@@ -7792,6 +7863,7 @@ async function runProbeStage(input) {
7792
7863
  end: resolveBrowserMediaEnd(el.start, el.end, el.duration),
7793
7864
  mediaStart: el.mediaStart,
7794
7865
  loop: el.loop,
7866
+ playbackRate: el.playbackRate,
7795
7867
  layer: 0,
7796
7868
  volume: el.volume,
7797
7869
  type: "audio"
@@ -8389,7 +8461,7 @@ function appendAutoDetectedVideoAudio(composition, extracted) {
8389
8461
  const video = composition.videos.find((v) => v.id === ext.videoId);
8390
8462
  if (!video || !video.hasAudio || video.hidden || existingAudioSrcs.has(video.src)) continue;
8391
8463
  composition.audios.push({
8392
- id: `${video.id}-audio`,
8464
+ id: videoAudioId(video.id),
8393
8465
  src: video.src,
8394
8466
  start: video.start,
8395
8467
  end: video.end,
@@ -11340,13 +11412,36 @@ function colorGradingValueHasLut(rawAttributeValue) {
11340
11412
  return false;
11341
11413
  }
11342
11414
  }
11343
- async function resolveCompositionElementCount(probeSession, html) {
11415
+ var PROBE_READ_TIMEOUT_MS = 5e3;
11416
+ async function evaluateWithinBound(page, fn, what, log) {
11417
+ let timer;
11418
+ const timedOut = new Promise((_, reject) => {
11419
+ timer = setTimeout(
11420
+ () => reject(new Error(`no answer within ${PROBE_READ_TIMEOUT_MS} ms (page busy)`)),
11421
+ PROBE_READ_TIMEOUT_MS
11422
+ );
11423
+ });
11424
+ try {
11425
+ return await Promise.race([page.evaluate(fn), timedOut]);
11426
+ } catch (err) {
11427
+ log.warn(`[Render] live ${what} read skipped; using the static answer`, {
11428
+ error: err instanceof Error ? err.message : String(err)
11429
+ });
11430
+ throw err;
11431
+ } finally {
11432
+ clearTimeout(timer);
11433
+ }
11434
+ }
11435
+ async function resolveCompositionElementCount(probeSession, html, log = defaultLogger) {
11344
11436
  if (probeSession?.isInitialized) {
11345
11437
  try {
11346
- const liveCount = await probeSession.page.evaluate(
11438
+ const liveCount = await evaluateWithinBound(
11439
+ probeSession.page,
11347
11440
  // Live HTMLCollection length — avoids materializing a static NodeList
11348
11441
  // on the large-DOM comps this gate exists to catch (review nit).
11349
- () => document.getElementsByTagName("*").length
11442
+ () => document.getElementsByTagName("*").length,
11443
+ "element count",
11444
+ log
11350
11445
  );
11351
11446
  if (typeof liveCount === "number" && Number.isFinite(liveCount)) {
11352
11447
  return { count: liveCount, source: "live" };
@@ -11434,11 +11529,11 @@ function probeAdaptersUsed() {
11434
11529
  }
11435
11530
  return used;
11436
11531
  }
11437
- async function resolveAdaptersUsed(probeSession, html) {
11532
+ async function resolveAdaptersUsed(probeSession, html, log = defaultLogger) {
11438
11533
  const staticAdapters = detectAdaptersStatic(html);
11439
11534
  if (!probeSession?.isInitialized) return staticAdapters;
11440
11535
  try {
11441
- const live = await probeSession.page.evaluate(probeAdaptersUsed);
11536
+ const live = await evaluateWithinBound(probeSession.page, probeAdaptersUsed, "adapters", log);
11442
11537
  if (!Array.isArray(live)) return staticAdapters;
11443
11538
  const detected = /* @__PURE__ */ new Set([...staticAdapters, ...live]);
11444
11539
  return KNOWN_RUNTIME_ADAPTERS.filter((name) => detected.has(name));
@@ -11696,7 +11791,10 @@ async function executeRenderPipeline(input) {
11696
11791
  );
11697
11792
  const artifactTransaction = new ArtifactTransaction(
11698
11793
  outputPath,
11699
- isPngSequence || isHls ? "directory" : "file"
11794
+ isPngSequence || isHls ? "directory" : "file",
11795
+ void 0,
11796
+ void 0,
11797
+ log
11700
11798
  );
11701
11799
  const stagedOutputPath = artifactTransaction.stagingPath;
11702
11800
  const needsAlpha = outputNeedsAlpha(outputFormat);
@@ -12195,8 +12293,8 @@ async function executeRenderPipeline(input) {
12195
12293
  vfxHostCount,
12196
12294
  vfxCapture,
12197
12295
  vfxTypes
12198
- } = await resolveCompositionElementCount(probeSession, compiled.html);
12199
- const adaptersUsed = await resolveAdaptersUsed(probeSession, compiled.html);
12296
+ } = await resolveCompositionElementCount(probeSession, compiled.html, log);
12297
+ const adaptersUsed = await resolveAdaptersUsed(probeSession, compiled.html, log);
12200
12298
  const deShortBandEnabled = deShortBandMaxElements > 0;
12201
12299
  const deShortBandOpen = deShortBandEnabled && deShortBandMinFrames > 0 && compositionElementCountSource === "live" && compositionElementCount <= deShortBandMaxElements;
12202
12300
  const deShortBandRoute = process.env.HF_DE_SHORT_BAND_ROUTE === "true";
@@ -15560,7 +15658,7 @@ async function compilePlanComposition(projectDir, config, planDir, options) {
15560
15658
  if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
15561
15659
  if (probeResult.probeSession) {
15562
15660
  try {
15563
- const { closeCaptureSession: closeCaptureSession2 } = await import("./src-BH5NICGQ.js");
15661
+ const { closeCaptureSession: closeCaptureSession2 } = await import("./src-OS2FRVZV.js");
15564
15662
  await closeCaptureSession2(probeResult.probeSession);
15565
15663
  } catch (err) {
15566
15664
  log.warn("[plan] probe session close failed", {
@@ -17213,7 +17311,7 @@ function startServer(options = {}) {
17213
17311
  });
17214
17312
  async function shutdown(signal) {
17215
17313
  log.info(`Received ${signal}, shutting down`);
17216
- const { drainBrowserPool } = await import("./src-BH5NICGQ.js");
17314
+ const { drainBrowserPool } = await import("./src-OS2FRVZV.js");
17217
17315
  await drainBrowserPool().catch(() => {
17218
17316
  });
17219
17317
  const handle = await Promise.race([
@@ -14,10 +14,13 @@ import {
14
14
  } from "./chunk-DKPNNYBZ.js";
15
15
  import {
16
16
  resolveCaptureBrowserGpuMode
17
- } from "./chunk-YS4JUGNI.js";
17
+ } from "./chunk-BBXZPDEA.js";
18
18
  import {
19
19
  requestCliExit
20
20
  } from "./chunk-JVBRJMOP.js";
21
+ import {
22
+ withHyperframesBrowserMarker
23
+ } from "./chunk-K4MJX7SR.js";
21
24
  import {
22
25
  normalizeErrorMessage
23
26
  } from "./chunk-T2EUWCJE.js";
@@ -150,7 +153,14 @@ async function launchOwnedBrowser(puppeteer, options) {
150
153
  const signal = options.signal ? AbortSignal.any([options.signal, abort.signal]) : abort.signal;
151
154
  const launchedAt = Date.now();
152
155
  const launch = untilLaunchOrAbort(
153
- puppeteer.launch({ ...options, pipe: true, signal, handleSIGINT: false, handleSIGTERM: false }),
156
+ puppeteer.launch({
157
+ ...options,
158
+ args: withHyperframesBrowserMarker(options.args),
159
+ pipe: true,
160
+ signal,
161
+ handleSIGINT: false,
162
+ handleSIGTERM: false
163
+ }),
154
164
  signal
155
165
  );
156
166
  const limit = options.timeout ?? LAUNCH_TIMEOUT_MS;
@@ -7,10 +7,10 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parseFeedbackRating,
9
9
  trackRenderFeedback
10
- } from "./chunk-RTLPWOO6.js";
10
+ } from "./chunk-ZL6ZCLY6.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-ZZPBXRYQ.js";
13
+ } from "./chunk-KJ6ZQL34.js";
14
14
  import {
15
15
  c
16
16
  } from "./chunk-ZTZA4UWZ.js";
@@ -84,7 +84,7 @@ async function getDoctorSummary() {
84
84
  try {
85
85
  const [{ getSystemMeta }, { findFFmpeg }] = await Promise.all([
86
86
  import("./system-7F3UEHQT.js"),
87
- import("./ffmpeg-IEHSUNUT.js")
87
+ import("./ffmpeg-3HSSPXS4.js")
88
88
  ]);
89
89
  const sys = getSystemMeta();
90
90
  const parts = [
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  shouldTrack
9
- } from "./chunk-ZZPBXRYQ.js";
9
+ } from "./chunk-KJ6ZQL34.js";
10
10
 
11
11
  // src/telemetry/renderObservability.ts
12
12
  function renderObservabilityTelemetryPayload(observability) {
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-5ETJX6WM.js";
17
17
  import {
18
18
  runEnvironmentChecks
19
- } from "./chunk-2NERNYCJ.js";
19
+ } from "./chunk-GKMRLES4.js";
20
20
  import {
21
21
  OPTIONAL_PACKAGES,
22
22
  installedOptionalPackageVersion
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-ZTZA4UWZ.js";
30
30
  import {
31
31
  resolveExtractCacheDir
32
- } from "./chunk-L4JB7LI4.js";
32
+ } from "./chunk-HJINEUHY.js";
33
33
  import {
34
34
  getAvailableMemoryMb,
35
35
  getFreeDiskMb,
@@ -39,14 +39,14 @@ import {
39
39
  import {
40
40
  getUpdateMeta,
41
41
  withMeta
42
- } from "./chunk-TZEKVLPV.js";
42
+ } from "./chunk-ELQ2QQC5.js";
43
43
  import {
44
44
  CONFIG_PATH,
45
45
  withFileLock
46
46
  } from "./chunk-6NLPPKBO.js";
47
47
  import {
48
48
  VERSION
49
- } from "./chunk-LFUVTS6V.js";
49
+ } from "./chunk-66Q27H72.js";
50
50
  import {
51
51
  normalizeErrorMessage
52
52
  } from "./chunk-T2EUWCJE.js";
@@ -232,7 +232,7 @@ function checkEnvironment() {
232
232
  return { ok: true, detail: parts.join(" \xB7 ") };
233
233
  }
234
234
  async function checkWhisper() {
235
- const { findWhisper, getInstallInstructions } = await import("./manager-4PLYEEWP.js");
235
+ const { findWhisper, getInstallInstructions } = await import("./manager-V34BMSAG.js");
236
236
  const result = findWhisper();
237
237
  if (result) {
238
238
  return { ok: true, detail: result.executablePath };
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  readCompositionFps
9
- } from "./chunk-VW63MHQU.js";
9
+ } from "./chunk-CCZMCX3F.js";
10
10
  import {
11
11
  errorBox
12
12
  } from "./chunk-K2FLNJVB.js";
@@ -16,10 +16,10 @@ import {
16
16
  import {
17
17
  DEFAULT_CONFIG,
18
18
  resolvePageNavigationTimeout
19
- } from "./chunk-L4JB7LI4.js";
19
+ } from "./chunk-HJINEUHY.js";
20
20
  import {
21
21
  parseFps
22
- } from "./chunk-7HTH5PFK.js";
22
+ } from "./chunk-E74JMKSK.js";
23
23
 
24
24
  // src/browser/windowsCrash.ts
25
25
  var STATUS_STACK_BUFFER_OVERRUN_DEC = "3221225595";
@@ -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-UACT7PX3.js");
1281
+ const { trackCommandFailure } = await import("./events-M6FIUDNQ.js");
1282
1282
  trackCommandFailure(
1283
1283
  command,
1284
1284
  err,
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-K2FLNJVB.js";
10
10
  import {
11
11
  trackCommandFailure
12
- } from "./chunk-RTLPWOO6.js";
12
+ } from "./chunk-ZL6ZCLY6.js";
13
13
  import {
14
14
  failCommand
15
15
  } from "./chunk-JVBRJMOP.js";
@@ -8,7 +8,7 @@ import {
8
8
  flush,
9
9
  shouldTrack,
10
10
  trackEvent
11
- } from "./chunk-ZZPBXRYQ.js";
11
+ } from "./chunk-KJ6ZQL34.js";
12
12
  import {
13
13
  CliRuntimeError
14
14
  } from "./chunk-JVBRJMOP.js";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  findCompositionDimensions
9
- } from "./chunk-4TKJWWPL.js";
9
+ } from "./chunk-GOOE33GV.js";
10
10
  import {
11
11
  c
12
12
  } from "./chunk-ZTZA4UWZ.js";