hyperframes 0.8.145 → 0.8.147

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 (186) hide show
  1. package/dist/{add-B6OUH46W.js → add-5CNUY3EW.js} +15 -15
  2. package/dist/{animatedGifPrep-MIWRDJIO.js → animatedGifPrep-ZID2XJRQ.js} +10 -10
  3. package/dist/{asset-XJ2B2PU3.js → asset-TFEENZ7K.js} +2 -2
  4. package/dist/{assetCataloger-A5ZLSCMZ.js → assetCataloger-GX4B55VB.js} +4 -4
  5. package/dist/{auth-5HOVCZMV.js → auth-EJVZW6C3.js} +2 -2
  6. package/dist/{autoUpdate-WVNL5K3D.js → autoUpdate-MBNEZ2U4.js} +2 -2
  7. package/dist/{backgroundChecks-IGF54SFH.js → backgroundChecks-DNW5NPTY.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-T6JEGCQV.js → batchRender-T7S2CGJE.js} +5 -5
  10. package/dist/{beats-37T6Y6QP.js → beats-STXBGN6Z.js} +16 -16
  11. package/dist/{benchmark-ZVVLOWPP.js → benchmark-AC6IGEQP.js} +12 -12
  12. package/dist/{browser-4SSJOLH4.js → browser-FB5AK32T.js} +5 -5
  13. package/dist/{bundleWithLocalizedFonts-XWK423QP.js → bundleWithLocalizedFonts-HSCWGCFO.js} +2 -2
  14. package/dist/{capture-KZXOPBMO.js → capture-I24MXH3Y.js} +13 -13
  15. package/dist/{capture-2SF7YP57.js → capture-VEIVUHWB.js} +2 -2
  16. package/dist/{catalog-NLD4A2C6.js → catalog-JRC4VTTI.js} +15 -15
  17. package/dist/{catch-up-4BSRN6IR.js → catch-up-NTCK7Z3G.js} +6 -6
  18. package/dist/{check-IA44QQWM.js → check-7M7W4LPN.js} +38 -38
  19. package/dist/{checkBrowser-VM35KZMW.js → checkBrowser-2YRVCAYB.js} +118 -61
  20. package/dist/{chunk-OTHDVXOJ.js → chunk-2IDHEEAN.js} +3 -3
  21. package/dist/{chunk-VHFEMFYL.js → chunk-3BETQ4XI.js} +3 -3
  22. package/dist/{chunk-3KU3PFDW.js → chunk-3BYMCR4O.js} +85 -75
  23. package/dist/{chunk-FXJJCPPB.js → chunk-3HSWLZ6S.js} +1 -1
  24. package/dist/{chunk-ZF7SXQJ7.js → chunk-3PPO64IB.js} +2 -2
  25. package/dist/{chunk-PLR7Z6TC.js → chunk-3YUFN37G.js} +1 -1
  26. package/dist/{chunk-GRY3PN3K.js → chunk-4YVMMRHR.js} +2 -2
  27. package/dist/{chunk-ICKDMTLA.js → chunk-55RZG5SQ.js} +2 -2
  28. package/dist/{chunk-3IBMBNYY.js → chunk-5OKZLMQK.js} +10 -10
  29. package/dist/{chunk-DIRJ322I.js → chunk-66SAATRI.js} +3 -3
  30. package/dist/{chunk-GMAJB2P6.js → chunk-6BSIQJPW.js} +1 -1
  31. package/dist/{chunk-4QWD6JYN.js → chunk-6WD636E5.js} +3 -3
  32. package/dist/{chunk-5WVW7P23.js → chunk-A72OAGNB.js} +6 -6
  33. package/dist/{chunk-XBX4QJP7.js → chunk-AFIATIKS.js} +1 -1
  34. package/dist/{chunk-G75ENCEZ.js → chunk-AIJS74LG.js} +3 -3
  35. package/dist/{chunk-FBCULCAL.js → chunk-AL2YEVOT.js} +1 -1
  36. package/dist/{chunk-GEMJYBRU.js → chunk-B45OFFOQ.js} +2 -2
  37. package/dist/{chunk-VRW6EBHV.js → chunk-BAKPN2D2.js} +101 -94
  38. package/dist/{chunk-HB7FJOY4.js → chunk-BPUFVVSH.js} +1 -1
  39. package/dist/{chunk-BIAC7IJT.js → chunk-DDNS2674.js} +1 -1
  40. package/dist/{chunk-QFSCCQIR.js → chunk-DMKI64EZ.js} +1 -1
  41. package/dist/{chunk-EPE2HRJK.js → chunk-DYWSCPCR.js} +69 -64
  42. package/dist/{chunk-ZIYZ77MR.js → chunk-EGO6Z24R.js} +3 -3
  43. package/dist/{chunk-KC5XXX3X.js → chunk-EOOEC32M.js} +1 -1
  44. package/dist/{chunk-XIHCMVMG.js → chunk-FDL4HV44.js} +2 -2
  45. package/dist/{chunk-QZ3AZTXI.js → chunk-FJWEYVEM.js} +42 -16
  46. package/dist/{chunk-PUGIRFPX.js → chunk-FMNVTKX2.js} +4 -4
  47. package/dist/{chunk-IHTRYDFN.js → chunk-H7B6JSHI.js} +1 -1
  48. package/dist/{chunk-T42U2W2R.js → chunk-IXLUTE6N.js} +1 -1
  49. package/dist/{chunk-FDT6KQV4.js → chunk-JBQJKC23.js} +2 -2
  50. package/dist/{chunk-IEIJRMLZ.js → chunk-JDB65PPT.js} +62 -63
  51. package/dist/{chunk-UXO2L7HJ.js → chunk-JF5L5SQ6.js} +278 -65
  52. package/dist/{chunk-USDEMXXL.js → chunk-JYVGYKXG.js} +1 -1
  53. package/dist/{chunk-R42WWQVB.js → chunk-KPJMBC4K.js} +2 -2
  54. package/dist/{chunk-MAYCCGMQ.js → chunk-KVGDFUVO.js} +1 -1
  55. package/dist/{chunk-CFUXNBWH.js → chunk-LE7T4ML7.js} +1 -1
  56. package/dist/{chunk-MQZVBHEY.js → chunk-LFNQDTSH.js} +1 -1
  57. package/dist/{chunk-KIFHYXPB.js → chunk-MOL32UKR.js} +45 -11
  58. package/dist/{chunk-6LGNTUZN.js → chunk-N53FLAMZ.js} +7 -7
  59. package/dist/{chunk-ADF3X6GM.js → chunk-P6HELLPU.js} +2 -2
  60. package/dist/{chunk-5NRXZGKK.js → chunk-POKK6XXU.js} +9 -9
  61. package/dist/{chunk-GBGJ7A3D.js → chunk-QHRPB2JQ.js} +6 -6
  62. package/dist/{chunk-BFACGEII.js → chunk-QTTDKWSM.js} +2 -2
  63. package/dist/{chunk-U5QY7KTN.js → chunk-SEABQTBP.js} +11 -8
  64. package/dist/{chunk-ZEUONDQG.js → chunk-SYUGVPYH.js} +1 -1
  65. package/dist/{chunk-PJ3HDUCY.js → chunk-VAS6HQX3.js} +39 -9
  66. package/dist/{chunk-GQJZORQP.js → chunk-XBSPQ52S.js} +1 -1
  67. package/dist/{chunk-4ORLNTET.js → chunk-XOJDBRNF.js} +1 -1
  68. package/dist/{chunk-LAFJSYDL.js → chunk-XVIYZU3D.js} +1 -1
  69. package/dist/{chunk-OB5MJR4W.js → chunk-YCGU3UNU.js} +1 -1
  70. package/dist/{chunk-GXJEGZL2.js → chunk-Z5C4LEAD.js} +17 -18
  71. package/dist/chunk-Z6FLHIDV.js +3795 -0
  72. package/dist/{chunk-DDIVWXN7.js → chunk-ZFN6GQU4.js} +4 -4
  73. package/dist/{chunk-QLSM7K5S.js → chunk-ZLL72U3I.js} +2 -2
  74. package/dist/{chunk-ZSVUAVMT.js → chunk-ZQXNL5DL.js} +5 -5
  75. package/dist/{chunk-DWUKJQTO.js → chunk-ZVZSFDW3.js} +2 -2
  76. package/dist/{clean-RDKJB5FK.js → clean-3RY3Y2GX.js} +23 -23
  77. package/dist/cli.js +52 -52
  78. package/dist/{cloud-QVPVVNCW.js → cloud-MLPBFCVE.js} +4 -4
  79. package/dist/{cloudrun-3RE2UCQG.js → cloudrun-NQF5KFQI.js} +6 -6
  80. package/dist/{compare-LEDOY7MO.js → compare-6EZX2754.js} +32 -32
  81. package/dist/{compiler-F54OZZPM.js → compiler-ACCPOZMQ.js} +6 -6
  82. package/dist/{component-N42M67WY.js → component-F5PQHP6A.js} +3 -3
  83. package/dist/{compositions-VB2J2LZI.js → compositions-AUHWSI2H.js} +15 -15
  84. package/dist/{delete-Q6RWMJ4Z.js → delete-VUF4SHHJ.js} +2 -2
  85. package/dist/{deterministicFonts-U2BIMGPG.js → deterministicFonts-C5JQLCTS.js} +2 -2
  86. package/dist/{dist-Q4BI5A73.js → dist-GPDOV3IQ.js} +4 -4
  87. package/dist/{dist-KDJTFJHA.js → dist-HUMFCJ6T.js} +3 -3
  88. package/dist/{doctor-JMMUHDRV.js → doctor-3XHCA5JM.js} +15 -15
  89. package/dist/{events-RGUAHIBW.js → events-FKOIB3R3.js} +5 -5
  90. package/dist/{events-6ZBSIBE5.js → events-TIU72LZM.js} +4 -4
  91. package/dist/{feedback-FIID6MZW.js → feedback-V6VATYBE.js} +10 -10
  92. package/dist/{ffmpeg-T5SH2EFJ.js → ffmpeg-5V4FP3R6.js} +2 -2
  93. package/dist/{figma-BL3JJC36.js → figma-YBJM2VGE.js} +3 -3
  94. package/dist/fontLocalizeCli.js +14 -14
  95. package/dist/{get-P46GS7S6.js → get-3YVCGZBX.js} +2 -2
  96. package/dist/{gpuPolicy-AQ2BPLBK.js → gpuPolicy-ZOUG66M7.js} +10 -10
  97. package/dist/{grade-compare-GDCWU7ZZ.js → grade-compare-MYXIRKQI.js} +33 -33
  98. package/dist/{help-HJR3RWFG.js → help-WFZ2SUUR.js} +2 -2
  99. package/dist/{history-GGO5AWJB.js → history-HWPRJFR5.js} +49 -22
  100. package/dist/hyperframe-runtime.js +214 -68
  101. package/dist/hyperframe.manifest.json +1 -1
  102. package/dist/hyperframe.runtime.iife.js +214 -68
  103. package/dist/hyperframes-player.global.js +4 -5
  104. package/dist/hyperframes-slideshow.global.js +3 -4
  105. package/dist/{info-3GFWUBJC.js → info-WJDTQ4OZ.js} +11 -11
  106. package/dist/{init-36OPU2ZG.js → init-EXHDN7RO.js} +31 -31
  107. package/dist/{inspect-F2HEL5ON.js → inspect-EAOLZOMQ.js} +33 -33
  108. package/dist/{installer-NI6P6GC4.js → installer-LZ4X5TZZ.js} +6 -6
  109. package/dist/{keyframes-7OY3LMAZ.js → keyframes-FSZYNEDN.js} +8 -8
  110. package/dist/{lambda-6GJIWNJ3.js → lambda-3GAKHMC3.js} +7 -7
  111. package/dist/{layout-FTMLNL5A.js → layout-M2TQ2CIX.js} +33 -33
  112. package/dist/{lint-U6POHUON.js → lint-7C5UPTNQ.js} +11 -11
  113. package/dist/{lintProject-UBZ3TDHU.js → lintProject-SSEXWCH6.js} +3 -3
  114. package/dist/{list-IP5KI5Q2.js → list-GU5KBZ73.js} +2 -2
  115. package/dist/{login-4VWTVPHG.js → login-ZL2NYBIZ.js} +4 -4
  116. package/dist/{manager-YKMHR6LN.js → manager-5ORDVWJB.js} +3 -3
  117. package/dist/{media-treatment-XGV44AGV.js → media-treatment-QC3TAHVU.js} +82 -54
  118. package/dist/{models-UCXB6UR5.js → models-A54I4QR5.js} +14 -14
  119. package/dist/{motionShot-WPVNBXKA.js → motionShot-ZXPK562F.js} +35 -29
  120. package/dist/{normalize-audio-TYJ3UEHO.js → normalize-audio-CAP3DAE6.js} +10 -10
  121. package/dist/{open-HENOLVB2.js → open-GUSBNMDB.js} +6 -6
  122. package/dist/{parakeetRunner-VFQ6WFTD.js → parakeetRunner-GCCH72CO.js} +14 -14
  123. package/dist/{pipeline-6WPSC3H4.js → pipeline-SCJ2MWYH.js} +11 -11
  124. package/dist/{play-OI53WNUM.js → play-FP2QLMGM.js} +26 -26
  125. package/dist/{preflight-B4AFK3RG.js → preflight-ONF5AJNO.js} +5 -5
  126. package/dist/{present-NGMEQ4NO.js → present-H5SA4APW.js} +23 -23
  127. package/dist/{preview-VT2HWRWZ.js → preview-ATPVKA6K.js} +57 -26
  128. package/dist/{producer-7TYEAUF7.js → producer-VBYUC27R.js} +1 -1
  129. package/dist/{projectConfig-B2AF5DXY.js → projectConfig-SBRMQZGG.js} +8 -8
  130. package/dist/{publication-2PANQVC6.js → publication-5BQICRZO.js} +4 -4
  131. package/dist/{publish-O5OL42BG.js → publish-XDUZA3E3.js} +27 -26
  132. package/dist/{remove-background-T2JM6UVP.js → remove-background-GA6F7JZW.js} +12 -12
  133. package/dist/{render-Z253WHBK.js → render-KUVZFNQD.js} +27 -27
  134. package/dist/{render-W7OFXDOJ.js → render-PCFO45RK.js} +5 -5
  135. package/dist/{render-OLPKOJRU.js → render-XCYXFZTL.js} +12 -12
  136. package/dist/{render-batch-46IIBFKL.js → render-batch-7R2NRNVJ.js} +5 -5
  137. package/dist/{renderCancellation-QTZOCDJ2.js → renderCancellation-NIXEWRAO.js} +10 -10
  138. package/dist/renderSetupWorker.js +3 -3
  139. package/dist/{resolver-J2PL5FVJ.js → resolver-C4FPX72I.js} +6 -6
  140. package/dist/{sherpa-ZF42V3RN.js → sherpa-IQY52XU6.js} +14 -14
  141. package/dist/skills/media-use/references/media-treatments.md +5 -1
  142. package/dist/{skills-ACDOO3PX.js → skills-JSSAEKUW.js} +7 -7
  143. package/dist/{skillsUpdateCheck-L5OXVVPU.js → skillsUpdateCheck-XE5E2K2F.js} +3 -3
  144. package/dist/{slideshow-4OJEPWNZ.js → slideshow-YTWATJRT.js} +1 -1
  145. package/dist/{snapshot-UUVNZOW5.js → snapshot-QMQOE2DD.js} +34 -34
  146. package/dist/{src-BSLKXEGX.js → src-2GMPFYHL.js} +11 -9
  147. package/dist/{src-KS3AWFGT.js → src-R55QLGWI.js} +13 -13
  148. package/dist/{staticProjectServer-2TTVGPQH.js → staticProjectServer-YH2RHYKW.js} +20 -20
  149. package/dist/{status-LXPGSSKY.js → status-PTKNQD2E.js} +2 -2
  150. package/dist/studio/assets/{hyperframes-player-DZ5JrMDg.js → hyperframes-player-_eMxRXF_.js} +3 -3
  151. package/dist/studio/assets/{index-BqFRhNZa.js → index-6okhHdnH.js} +1 -1
  152. package/dist/studio/assets/{index-BOs6C0aZ.js → index-CEq9KmY2.js} +1 -1
  153. package/dist/studio/assets/{index-D8W0a0Z9.js → index-bXzd7tvF.js} +135 -135
  154. package/dist/studio/index.html +1 -1
  155. package/dist/{studio-api-WYWF7XRC.js → studio-api-T2TS2CHL.js} +16 -14
  156. package/dist/{studioServer-3FG4YTP7.js → studioServer-Q4MT44LT.js} +50 -50
  157. package/dist/{system-OQLOGGPJ.js → system-OXRG57F2.js} +2 -2
  158. package/dist/{telemetry-PAOOB4T4.js → telemetry-V5JYZDS4.js} +5 -5
  159. package/dist/{timeline-JIIJKKPC.js → timeline-KTCTOKF5.js} +34 -25
  160. package/dist/{tokens-3QRAM75Z.js → tokens-ZHREZPK6.js} +2 -2
  161. package/dist/{transcribe-QSBP5MUG.js → transcribe-4QDEWCE6.js} +12 -12
  162. package/dist/{transcribe-SZB6UMXE.js → transcribe-CRAV4FU3.js} +13 -13
  163. package/dist/{updateCheck-V3DSB26K.js → updateCheck-E7RMSK3E.js} +2 -2
  164. package/dist/{upgrade-L5GISOEV.js → upgrade-27PFTDCV.js} +2 -2
  165. package/dist/{urlDownloader-52FERT4X.js → urlDownloader-EAF6PLUP.js} +9 -9
  166. package/dist/{validate-HVVLX7KO.js → validate-OKNFDBMG.js} +27 -27
  167. package/dist/{video-MEOWRMFG.js → video-IEVS4FIH.js} +10 -10
  168. package/package.json +3 -2
  169. package/dist/chunk-AUWHD7RA.js +0 -3753
  170. package/dist/studio/chunk-6JY3MTIX.js +0 -1204
  171. package/dist/studio/chunk-EEXSYY5F.js +0 -190
  172. package/dist/studio/chunk-NZPJUZKT.js +0 -1538
  173. package/dist/studio/chunk-PZ5AY32C.js +0 -10
  174. package/dist/studio/chunk-TP6D3U37.js +0 -845
  175. package/dist/studio/chunk-Y2OHHNM2.js +0 -970
  176. package/dist/studio/domEditingLayers-PTP2ICGM.js +0 -47
  177. package/dist/studio/index.css +0 -165
  178. package/dist/studio/index.d.ts +0 -4318
  179. package/dist/studio/index.js +0 -100952
  180. package/dist/studio/player.d.ts +0 -30
  181. package/dist/studio/player.js +0 -10
  182. package/dist/studio/styles/tailwind-preset.d.ts +0 -39
  183. package/dist/studio/styles/tailwind-preset.js +0 -50
  184. package/dist/studio/styles.css +0 -1
  185. package/dist/studio/ui.d.ts +0 -297
  186. package/dist/studio/ui.js +0 -66
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-VWG7OQKU.js";
10
10
  import {
11
11
  getSystemMeta
12
- } from "./chunk-GQJZORQP.js";
12
+ } from "./chunk-XBSPQ52S.js";
13
13
  import {
14
14
  getInvocationId
15
15
  } from "./chunk-54HJ63Q2.js";
@@ -34,7 +34,7 @@ import {
34
34
  } from "./chunk-XUXGIA7H.js";
35
35
  import {
36
36
  VERSION
37
- } from "./chunk-BFACGEII.js";
37
+ } from "./chunk-QTTDKWSM.js";
38
38
  import {
39
39
  c
40
40
  } from "./chunk-ZTZA4UWZ.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-ISN5GRYI.js";
18
18
  import {
19
19
  VERSION
20
- } from "./chunk-BFACGEII.js";
20
+ } from "./chunk-QTTDKWSM.js";
21
21
 
22
22
  // src/utils/updateCheck.ts
23
23
  import { existsSync, readFileSync } from "fs";
@@ -8,10 +8,10 @@ import {
8
8
  DEFAULT_VP9_CPU_USED,
9
9
  isHttpUrl,
10
10
  runFfmpeg
11
- } from "./chunk-UXO2L7HJ.js";
11
+ } from "./chunk-JF5L5SQ6.js";
12
12
  import {
13
13
  parseAnimatedGifMetadata
14
- } from "./chunk-VRW6EBHV.js";
14
+ } from "./chunk-BAKPN2D2.js";
15
15
  import {
16
16
  parseHTML
17
17
  } from "./chunk-SDYDNHEE.js";
@@ -8,10 +8,10 @@ import {
8
8
  flush,
9
9
  shouldTrack,
10
10
  trackEvent
11
- } from "./chunk-ZF7SXQJ7.js";
11
+ } from "./chunk-3PPO64IB.js";
12
12
  import {
13
13
  getPowerState
14
- } from "./chunk-GQJZORQP.js";
14
+ } from "./chunk-XBSPQ52S.js";
15
15
  import {
16
16
  CliRuntimeError
17
17
  } from "./chunk-PBN6GBJE.js";
@@ -98,12 +98,12 @@ function createFigmaClient(options) {
98
98
  throw new FigmaClientError("NO_TOKEN", [
99
99
  "FIGMA_TOKEN is missing. One-time setup:",
100
100
  " 1. figma.com/settings \u2192 Security \u2192 Personal access tokens \u2192 Generate new token",
101
- " 2. Scopes (read-only is all this integration ever needs \u2014 it never writes to figma):",
101
+ " 2. Scopes (read-only is all this integration ever needs: it never writes to figma):",
102
102
  " File content: Read-only \xB7 File metadata: Read-only",
103
103
  " Library content: Read-only (needed for the `tokens` published-styles fallback)",
104
- " Variables: Read-only (optional \u2014 brand variables, requires figma Enterprise;",
104
+ " Variables: Read-only (optional: brand variables, requires figma Enterprise;",
105
105
  " without it `tokens` falls back to published styles)",
106
- ' 3. export FIGMA_TOKEN="figd_\u2026" \u2014 add it to your shell profile or the project .env',
106
+ ' 3. export FIGMA_TOKEN="figd_\u2026", then add it to your shell profile or the project .env',
107
107
  " so future sessions skip this step",
108
108
  "Then re-run this command."
109
109
  ].join("\n"));
@@ -114,23 +114,23 @@ function createFigmaClient(options) {
114
114
  const maxRetries = options.maxRetries ?? 3;
115
115
  function forbiddenError(body, opts) {
116
116
  if (body && /invalid token/i.test(body))
117
- return new FigmaClientError("BAD_TOKEN", "figma rejected the token (403 Invalid token) \u2014 it is invalid, expired, or revoked. Re-mint at figma.com/settings \u2192 Security, then update FIGMA_TOKEN.", 403, opts.endpoint);
117
+ return new FigmaClientError("BAD_TOKEN", "figma rejected the token (403 Invalid token): it is invalid, expired, or revoked. Re-mint at figma.com/settings \u2192 Security, then update FIGMA_TOKEN.", 403, opts.endpoint);
118
118
  if (opts.enterpriseGated)
119
- return new FigmaClientError("REQUIRES_ENTERPRISE", "figma variables require an Enterprise plan (403) \u2014 fall back to styles", 403, opts.endpoint);
119
+ return new FigmaClientError("REQUIRES_ENTERPRISE", "figma variables require an Enterprise plan (403), so fall back to styles", 403, opts.endpoint);
120
120
  if (body && /scope/i.test(body))
121
- return new FigmaClientError("FORBIDDEN", `figma denied access (403): ${body} \u2014 add the named scope at figma.com/settings \u2192 Security \u2192 Personal access tokens.`, 403, opts.endpoint);
122
- const scopeLine = opts.scopeHint ? `This endpoint needs the "${opts.scopeHint}" scope \u2014 add it at figma.com/settings \u2192 Security \u2192 Personal access tokens.` : "The token is missing a read scope, or your account can't view this file. Check File content: Read-only + File metadata: Read-only at figma.com/settings \u2192 Security.";
121
+ return new FigmaClientError("FORBIDDEN", `figma denied access (403): ${body}. Add the named scope at figma.com/settings \u2192 Security \u2192 Personal access tokens.`, 403, opts.endpoint);
122
+ const scopeLine = opts.scopeHint ? `This endpoint needs the "${opts.scopeHint}" scope. Add it at figma.com/settings \u2192 Security \u2192 Personal access tokens.` : "The token is missing a read scope, or your account can't view this file. Check File content: Read-only + File metadata: Read-only at figma.com/settings \u2192 Security.";
123
123
  return new FigmaClientError("FORBIDDEN", `figma denied access (403). ${scopeLine} Also confirm the file is visible to your account.`, 403, opts.endpoint);
124
124
  }
125
125
  async function throwForStatus(res, path, opts) {
126
126
  if (res.ok)
127
127
  return;
128
128
  if (res.status === 401)
129
- throw new FigmaClientError("BAD_TOKEN", "figma rejected the token (401) \u2014 it is expired or revoked. Re-mint at figma.com/settings \u2192 Security, then update FIGMA_TOKEN.", 401, opts.endpoint);
129
+ throw new FigmaClientError("BAD_TOKEN", "figma rejected the token (401): it is expired or revoked. Re-mint at figma.com/settings \u2192 Security, then update FIGMA_TOKEN.", 401, opts.endpoint);
130
130
  if (res.status === 403)
131
131
  throw forbiddenError(await readFigmaErrorMessage(res), opts);
132
132
  if (res.status === 429)
133
- throw new FigmaClientError("RATE_LIMITED", `figma rate limit hit (429) and still limited after ${maxRetries} retries \u2014 wait a minute and re-run, or import fewer nodes per call.`, 429, opts.endpoint);
133
+ throw new FigmaClientError("RATE_LIMITED", `figma rate limit hit (429) and still limited after ${maxRetries} retries. Wait a minute and re-run, or import fewer nodes per call.`, 429, opts.endpoint);
134
134
  throw new FigmaClientError("HTTP_ERROR", `figma request failed: HTTP ${res.status} ${path}`, res.status, opts.endpoint);
135
135
  }
136
136
  async function get(path, opts) {
@@ -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-RGUAHIBW.js");
1281
+ const { trackCommandFailure } = await import("./events-FKOIB3R3.js");
1282
1282
  trackCommandFailure(
1283
1283
  command,
1284
1284
  err,
@@ -10,10 +10,10 @@ import {
10
10
  distroLabel,
11
11
  getFFmpegInstallHint,
12
12
  parseLddMissingLibs
13
- } from "./chunk-ZEUONDQG.js";
13
+ } from "./chunk-SYUGVPYH.js";
14
14
  import {
15
15
  getFreeDiskMb
16
- } from "./chunk-GQJZORQP.js";
16
+ } from "./chunk-XBSPQ52S.js";
17
17
  import {
18
18
  ensureBrowser,
19
19
  findBrowser
@@ -25,7 +25,7 @@ import {
25
25
  FFMPEG_PATH_ENV,
26
26
  FFPROBE_PATH_ENV,
27
27
  findFfBinary
28
- } from "./chunk-PJ3HDUCY.js";
28
+ } from "./chunk-VAS6HQX3.js";
29
29
  import {
30
30
  normalizeErrorMessage
31
31
  } from "./chunk-KNU5COPB.js";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  VERSION
9
- } from "./chunk-BFACGEII.js";
9
+ } from "./chunk-QTTDKWSM.js";
10
10
 
11
11
  // src/registry/compatibility.ts
12
12
  import { compareVersions } from "compare-versions";
@@ -7,14 +7,14 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  trackLintReport,
9
9
  trackLintRuleStreak
10
- } from "./chunk-ICKDMTLA.js";
10
+ } from "./chunk-55RZG5SQ.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-ZF7SXQJ7.js";
13
+ } from "./chunk-3PPO64IB.js";
14
14
  import {
15
15
  LINT_RULE_COUNT,
16
16
  LINT_RULE_GROUP_COUNTS
17
- } from "./chunk-IEIJRMLZ.js";
17
+ } from "./chunk-JDB65PPT.js";
18
18
 
19
19
  // src/telemetry/lintStreaks.ts
20
20
  import { createHash } from "crypto";
@@ -14,14 +14,14 @@ import {
14
14
  isAllowedHtmlAttribute,
15
15
  isSafeAttributeValue,
16
16
  sanitizeRichTextChildren
17
- } from "./chunk-VRW6EBHV.js";
17
+ } from "./chunk-BAKPN2D2.js";
18
18
  import {
19
19
  decodedUrlPath,
20
20
  removeElementWithGsapCascade
21
- } from "./chunk-MQZVBHEY.js";
21
+ } from "./chunk-LFNQDTSH.js";
22
22
  import {
23
23
  require_dist
24
- } from "./chunk-IEIJRMLZ.js";
24
+ } from "./chunk-JDB65PPT.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-JJ4N3PXT.js
138
+ // ../studio-server/dist/chunk-Z5UJMFO4.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-JJ4N3PXT.js
252
+ // ../studio-server/dist/chunk-Z5UJMFO4.js
253
253
  function parseStyleDecls(style) {
254
254
  const props = /* @__PURE__ */ new Map();
255
255
  const order = [];
@@ -561,7 +561,7 @@ function splitElementInHtml(source, target, splitTime, newId, fallbackTiming) {
561
561
  clone.removeAttribute("data-hf-id");
562
562
  for (const node of clone.querySelectorAll("[data-hf-id]")) node.removeAttribute("data-hf-id");
563
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" : fallbackTiming?.stampPlaybackStart ? "data-playback-start" : el.matches("audio, video") ? "data-media-start" : null;
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;
565
565
  if (playbackStartAttr) {
566
566
  const readAttr = (name) => el.getAttribute(name);
567
567
  const authoredTrim = el.getAttribute(playbackStartAttr);
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-K2FLNJVB.js";
10
10
  import {
11
11
  trackCommandFailure
12
- } from "./chunk-ICKDMTLA.js";
12
+ } from "./chunk-55RZG5SQ.js";
13
13
  import {
14
14
  failCommand
15
15
  } from "./chunk-PBN6GBJE.js";
@@ -6,13 +6,13 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  STUDIO_MANUAL_EDITS_PATH
9
- } from "./chunk-KC5XXX3X.js";
9
+ } from "./chunk-EOOEC32M.js";
10
10
  import {
11
11
  realpath,
12
12
  resolveWithinProject
13
13
  } from "./chunk-OFQWTKPW.js";
14
14
 
15
- // ../studio-server/dist/chunk-4ETS2LXI.js
15
+ // ../studio-server/dist/chunk-L3HJVTQE.js
16
16
  var STUDIO_MOTION_PATH = ".hyperframes/studio-motion.json";
17
17
  function hasStudioMotionEntries(manifestContent) {
18
18
  try {
@@ -199,7 +199,7 @@ function studioMotionRenderRuntime(manifestContent, activeCompositionPath) {
199
199
  applyManifest();
200
200
  }
201
201
 
202
- // ../studio-server/dist/chunk-DTKK7TKL.js
202
+ // ../studio-server/dist/chunk-M62HDRLX.js
203
203
  import { basename, dirname, isAbsolute, join, relative, sep } from "path";
204
204
  import { readdirSync } from "fs";
205
205
  function resolveWithinProject2(base, relativePath) {
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  setHostHandlesSigint
9
- } from "./chunk-UXO2L7HJ.js";
9
+ } from "./chunk-JF5L5SQ6.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
@@ -20,13 +20,13 @@ import {
20
20
  import {
21
21
  getPreparedWavDurationSeconds,
22
22
  prepareWav
23
- } from "./chunk-OTHDVXOJ.js";
23
+ } from "./chunk-2IDHEEAN.js";
24
24
  import {
25
25
  emitWords
26
26
  } from "./chunk-6IHWCZ3W.js";
27
27
  import {
28
28
  stoppedByCancelSignal
29
- } from "./chunk-FBCULCAL.js";
29
+ } from "./chunk-AL2YEVOT.js";
30
30
  import {
31
31
  PARAKEET_MODEL_LABEL,
32
32
  SHERPA_ERROR_PREFIX,
@@ -9,7 +9,7 @@ import {
9
9
  parseStrictFiniteTimingNumber,
10
10
  resolveNaturalMediaTimelineDuration,
11
11
  resolveTimedImageDurationSeconds
12
- } from "./chunk-AUWHD7RA.js";
12
+ } from "./chunk-Z6FLHIDV.js";
13
13
  import {
14
14
  CANVAS_DIMENSIONS,
15
15
  isCompositionElement,
@@ -17,11 +17,14 @@ import {
17
17
  isTextElement,
18
18
  keyframesToGsapAnimations,
19
19
  serializeGsapAnimations
20
- } from "./chunk-MQZVBHEY.js";
20
+ } from "./chunk-LFNQDTSH.js";
21
21
  import {
22
22
  COMPOSITION_ATTRIBUTES,
23
23
  parseStartExpression
24
24
  } from "./chunk-3RM2ETQT.js";
25
+ import {
26
+ readMediaOffsetSeconds
27
+ } from "./chunk-BSQ7XANM.js";
25
28
  import {
26
29
  parseHTML
27
30
  } from "./chunk-SDYDNHEE.js";
@@ -1279,6 +1282,9 @@ var MEDIA_VISUAL_STYLE_PROPERTIES = [
1279
1282
  "filter",
1280
1283
  "mix-blend-mode",
1281
1284
  "backdrop-filter",
1285
+ "border-width",
1286
+ "border-style",
1287
+ "border-color",
1282
1288
  "border-radius",
1283
1289
  "overflow",
1284
1290
  "clip-path",
@@ -4392,6 +4398,19 @@ function swallow(label, error) {
4392
4398
  }
4393
4399
  }
4394
4400
 
4401
+ // ../core/dist/runtime/timelineDuration.js
4402
+ function readTimelineDurationSeconds(timeline) {
4403
+ try {
4404
+ if (typeof timeline?.duration !== "function")
4405
+ return null;
4406
+ const seconds = Number(timeline.duration());
4407
+ return Number.isFinite(seconds) ? seconds : null;
4408
+ } catch (err) {
4409
+ swallow("runtime.timelineDuration", err);
4410
+ return null;
4411
+ }
4412
+ }
4413
+
4395
4414
  // ../core/dist/mediaTiming.js
4396
4415
  var MEDIA_START_BASIS_ATTR = "data-hf-media-start-basis";
4397
4416
  function readMediaStartBasis(value) {
@@ -4413,7 +4432,19 @@ function isRootGlobalMediaStart(input) {
4413
4432
  return hasLiteralNestedStart(input) && readMediaStartBasis(input.basis) === "global";
4414
4433
  }
4415
4434
  function hasLiteralNestedStart(input) {
4416
- return !input.hasAutoStart && input.authoredStart != null && input.hostStart > 0;
4435
+ return !input.hasAutoStart && input.authoredStart != null && input.hostStart !== 0;
4436
+ }
4437
+ function hostInPointSeconds(host) {
4438
+ return readMediaOffsetSeconds((name) => host.getAttribute(name));
4439
+ }
4440
+ function compositionOriginSeconds(hostStart, host) {
4441
+ return hostStart - hostInPointSeconds(host);
4442
+ }
4443
+ function cutToHostSlots(span, hosts) {
4444
+ return hosts.reduce((kept, host) => {
4445
+ const start = Math.max(kept.start, host.start);
4446
+ return { start, end: Math.max(start, Math.min(kept.end, host.end)) };
4447
+ }, span);
4417
4448
  }
4418
4449
 
4419
4450
  // ../core/dist/runtime/startResolver.js
@@ -4430,69 +4461,59 @@ function createRuntimeStartTimeResolver(params) {
4430
4461
  return byId;
4431
4462
  return doc.querySelector(`[data-composition-id="${CSS.escape(refId)}"]`) ?? null;
4432
4463
  };
4464
+ const authoredAttr = (element, name) => includeAuthoredTimingAttrs ? element.getAttribute(name) : null;
4465
+ const resolveAuthoredDuration = (element) => resolveAuthoredTimingWindow({
4466
+ start: 0,
4467
+ duration: element.getAttribute("data-duration"),
4468
+ authoredDuration: authoredAttr(element, "data-hf-authored-duration")
4469
+ })?.duration ?? resolveAuthoredTimingWindow({
4470
+ start: resolveStartForElementInternal(element, 0),
4471
+ end: element.getAttribute("data-end"),
4472
+ authoredEnd: authoredAttr(element, "data-hf-authored-end")
4473
+ })?.duration ?? null;
4474
+ const positive = (value) => value != null && Number.isFinite(value) && value > 0 ? value : null;
4475
+ const resolveRegisteredTimelineDuration = (element) => {
4476
+ const compositionId = element.getAttribute("data-composition-id");
4477
+ return compositionId ? positive(readTimelineDurationSeconds(timelineRegistry[compositionId])) : null;
4478
+ };
4433
4479
  const resolveDurationForElement = (element) => {
4434
4480
  const cached = durationCache.get(element);
4435
4481
  if (cached !== void 0)
4436
4482
  return cached;
4437
- let resolved = null;
4438
- const durationTiming = resolveAuthoredTimingWindow({
4439
- start: 0,
4440
- duration: element.getAttribute("data-duration"),
4441
- authoredDuration: includeAuthoredTimingAttrs ? element.getAttribute("data-hf-authored-duration") : null
4442
- });
4443
- if (durationTiming?.duration != null && durationTiming.duration > 0) {
4444
- resolved = durationTiming.duration;
4445
- }
4446
- if (resolved == null || resolved <= 0) {
4447
- const start = resolveStartForElementInternal(element, 0);
4448
- const endTiming = resolveAuthoredTimingWindow({
4449
- start,
4450
- end: element.getAttribute("data-end"),
4451
- authoredEnd: includeAuthoredTimingAttrs ? element.getAttribute("data-hf-authored-end") : null
4452
- });
4453
- if (endTiming?.duration != null && endTiming.duration > 0) {
4454
- resolved = endTiming.duration;
4455
- }
4456
- }
4457
- if ((resolved == null || resolved <= 0) && isMediaElement2(element)) {
4458
- resolved = resolveNaturalMediaTimelineDuration(element, element.duration);
4459
- }
4460
- if (resolved == null || resolved <= 0)
4461
- resolved = resolveTimedImageDurationSeconds(element);
4462
- if (resolved == null || resolved <= 0) {
4463
- const compositionId = element.getAttribute("data-composition-id");
4464
- if (compositionId) {
4465
- const timeline = timelineRegistry[compositionId] ?? null;
4466
- if (timeline && typeof timeline.duration === "function") {
4467
- try {
4468
- const timelineDuration = Number(timeline.duration());
4469
- if (Number.isFinite(timelineDuration) && timelineDuration > 0) {
4470
- resolved = timelineDuration;
4471
- }
4472
- } catch (err) {
4473
- swallow("runtime.startResolver.site1", err);
4474
- }
4475
- }
4476
- }
4477
- }
4478
- if (resolved != null && Number.isFinite(resolved) && resolved > 0) {
4479
- durationCache.set(element, resolved);
4480
- return resolved;
4481
- }
4482
- durationCache.set(element, null);
4483
- return null;
4483
+ const resolved = resolveAuthoredDuration(element) ?? positive(isMediaElement2(element) ? resolveNaturalMediaTimelineDuration(element, element.duration) : null) ?? positive(resolveTimedImageDurationSeconds(element)) ?? resolveRegisteredTimelineDuration(element);
4484
+ durationCache.set(element, resolved);
4485
+ return resolved;
4484
4486
  };
4487
+ const isCompositionHost = (element) => element.hasAttribute("data-composition-src") || element.hasAttribute("data-composition-id") || element.hasAttribute("data-composition-file");
4488
+ const inheritedTimingHost = (element) => {
4489
+ const parent = element.parentElement;
4490
+ if (!parent || !element.hasAttribute("data-composition-id"))
4491
+ return null;
4492
+ if (parseStartExpression(element.getAttribute("data-start")))
4493
+ return null;
4494
+ return isCompositionHost(parent) ? parent : null;
4495
+ };
4496
+ const resolveCompositionOrigin = (compositionRoot, fallback) => compositionOriginSeconds(resolveStartForElementInternal(compositionRoot, fallback), inheritedTimingHost(compositionRoot) ?? compositionRoot);
4485
4497
  const resolveHostOffsetForElement = (element, fallback) => {
4486
- if (element.hasAttribute("data-composition-id")) {
4487
- const parentComposition = element.parentElement?.closest("[data-composition-id]");
4488
- if (!parentComposition)
4489
- return 0;
4490
- return resolveStartForElementInternal(parentComposition, fallback);
4498
+ const compositionRoot = element.hasAttribute("data-composition-id") ? element.parentElement?.closest("[data-composition-id]") : element.closest("[data-composition-id]");
4499
+ return compositionRoot ? resolveCompositionOrigin(compositionRoot, fallback) : 0;
4500
+ };
4501
+ const computeStart = (element, fallback) => {
4502
+ const expression = parseStartExpression(element.getAttribute("data-start"));
4503
+ if (!expression) {
4504
+ const host = inheritedTimingHost(element);
4505
+ return host ? resolveStartForElementInternal(host, fallback) : fallback;
4491
4506
  }
4492
- const compositionRoot = element.closest("[data-composition-id]");
4493
- if (!compositionRoot)
4494
- return 0;
4495
- return resolveStartForElementInternal(compositionRoot, fallback);
4507
+ if (expression.kind === "absolute") {
4508
+ return resolveHostOffsetForElement(element, fallback) + Math.max(0, expression.value);
4509
+ }
4510
+ const target = findReferenceTarget(expression.refId);
4511
+ if (!target)
4512
+ return fallback;
4513
+ const targetStart = resolveStartForElementInternal(target, 0);
4514
+ const targetDuration = resolveDurationForElement(target) ?? 0;
4515
+ const floor = Math.min(0, resolveHostOffsetForElement(element, 0));
4516
+ return Math.max(floor, targetStart + targetDuration + expression.offset);
4496
4517
  };
4497
4518
  const resolveStartForElementInternal = (element, fallback) => {
4498
4519
  const cached = startCache.get(element);
@@ -4504,38 +4525,7 @@ function createRuntimeStartTimeResolver(params) {
4504
4525
  }
4505
4526
  visiting.add(element);
4506
4527
  try {
4507
- const expression = parseStartExpression(element.getAttribute("data-start"));
4508
- if (!expression) {
4509
- if (element.hasAttribute("data-composition-id")) {
4510
- const parent = element.parentElement;
4511
- if (parent && (parent.hasAttribute("data-composition-src") || parent.hasAttribute("data-composition-id") || parent.hasAttribute("data-composition-file"))) {
4512
- const parentStart = resolveStartForElementInternal(parent, fallback);
4513
- startCache.set(element, parentStart);
4514
- return parentStart;
4515
- }
4516
- }
4517
- startCache.set(element, fallback);
4518
- return fallback;
4519
- }
4520
- if (expression.kind === "absolute") {
4521
- const absolute = Math.max(0, expression.value);
4522
- const resolved2 = Math.max(0, resolveHostOffsetForElement(element, fallback) + absolute);
4523
- startCache.set(element, resolved2);
4524
- return resolved2;
4525
- }
4526
- const target = findReferenceTarget(expression.refId);
4527
- if (!target) {
4528
- startCache.set(element, fallback);
4529
- return fallback;
4530
- }
4531
- const targetStart = resolveStartForElementInternal(target, 0);
4532
- const targetDuration = resolveDurationForElement(target);
4533
- if (targetDuration == null || targetDuration <= 0) {
4534
- const unresolved = Math.max(0, targetStart + expression.offset);
4535
- startCache.set(element, unresolved);
4536
- return unresolved;
4537
- }
4538
- const resolved = Math.max(0, targetStart + targetDuration + expression.offset);
4528
+ const resolved = computeStart(element, fallback);
4539
4529
  startCache.set(element, resolved);
4540
4530
  return resolved;
4541
4531
  } finally {
@@ -4546,7 +4536,7 @@ function createRuntimeStartTimeResolver(params) {
4546
4536
  const compositionRoot = element.closest("[data-composition-id]");
4547
4537
  return {
4548
4538
  authoredStart: parseStrictFiniteTimingNumber(element.getAttribute("data-start")),
4549
- hostStart: compositionRoot ? resolveStartForElementInternal(compositionRoot, 0) : 0,
4539
+ hostStart: compositionRoot ? resolveCompositionOrigin(compositionRoot, 0) : 0,
4550
4540
  hasAutoStart: element.hasAttribute("data-hf-auto-start"),
4551
4541
  basis: element.getAttribute(MEDIA_START_BASIS_ATTR)
4552
4542
  };
@@ -4558,12 +4548,26 @@ function createRuntimeStartTimeResolver(params) {
4558
4548
  ordinaryStart: () => resolveStartForElementInternal(element, input.hostStart)
4559
4549
  });
4560
4550
  };
4551
+ const resolveHostSlotsForElement = (element) => {
4552
+ const slots = [];
4553
+ for (let node = element.parentElement; node; node = node.parentElement) {
4554
+ if (!isCompositionHost(node) || inheritedTimingHost(node))
4555
+ continue;
4556
+ if (hostInPointSeconds(node) <= 0)
4557
+ continue;
4558
+ const start = resolveStartForElementInternal(node, 0);
4559
+ const duration = resolveAuthoredDuration(node);
4560
+ slots.push({ start, end: duration ? start + duration : Infinity });
4561
+ }
4562
+ return slots;
4563
+ };
4561
4564
  const isRootGlobalMediaStartForElement = (element) => isMediaElement2(element) && isRootGlobalMediaStart(mediaStartInput(element));
4562
4565
  return {
4563
4566
  resolveStartForElement: (element, fallback = 0) => resolveStartForElementInternal(element, Math.max(0, fallback)),
4564
4567
  resolveDurationForElement: (element) => resolveDurationForElement(element),
4565
4568
  resolveMediaStartForElement,
4566
4569
  resolveHostStartForElement: (element) => resolveHostOffsetForElement(element, 0),
4570
+ resolveHostSlotsForElement,
4567
4571
  isRootGlobalMediaStartForElement
4568
4572
  };
4569
4573
  }
@@ -4913,7 +4917,7 @@ uniform sampler2D u_src;
4913
4917
  uniform sampler2D u_src2;
4914
4918
  uniform float u_mode;
4915
4919
 
4916
- // The matte texel is premultiplied, so its rgb is already "over black" \u2014 the
4920
+ // The matte texel is premultiplied, so its rgb is already "over black": the
4917
4921
  // composite After Effects reads a luma matte through.
4918
4922
  float hfCoverage(vec4 matte, float mode) {
4919
4923
  if (mode < 1.5) return matte.a;
@@ -4944,7 +4948,7 @@ var NOISE_FRAG = `#version 300 es
4944
4948
  precision highp float;
4945
4949
  // NOT decoration: a fragment shader's default integer precision is mediump,
4946
4950
  // and a mediump uint is only guaranteed 16 bits (ESSL 3.00 \xA74.5.2). Every step
4947
- // below \u2014 the Jenkins mix, both LCG rounds \u2014 is defined by 32-bit wraparound,
4951
+ // below (the Jenkins mix, both LCG rounds) is defined by 32-bit wraparound,
4948
4952
  // so without this the hash is a different function on any implementation that
4949
4953
  // honours the minimum. ANGLE and SwiftShader both use 32-bit ints, which is
4950
4954
  // exactly why no test on this machine would catch it.
@@ -5594,6 +5598,9 @@ export {
5594
5598
  readMediaStartBasis,
5595
5599
  resolveAbsoluteMediaStartSeconds,
5596
5600
  resolveMediaStartSeconds,
5601
+ hostInPointSeconds,
5602
+ compositionOriginSeconds,
5603
+ cutToHostSlots,
5597
5604
  createRuntimeStartTimeResolver,
5598
5605
  byStart,
5599
5606
  sameInstant,
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
 
8
8
  // src/utils/producer.ts
9
9
  async function loadProducer() {
10
- return await import("./src-KS3AWFGT.js");
10
+ return await import("./src-R55QLGWI.js");
11
11
  }
12
12
 
13
13
  export {
@@ -8,7 +8,7 @@ import {
8
8
  DEFAULT_REGISTRY_URL,
9
9
  fetchItemManifest,
10
10
  fetchRegistryManifest
11
- } from "./chunk-LAFJSYDL.js";
11
+ } from "./chunk-XVIYZU3D.js";
12
12
 
13
13
  // src/registry/resolver.ts
14
14
  function defaultWarn(message) {
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  VALID_CANVAS_RESOLUTIONS,
9
9
  resolveResolutionFlagPair
10
- } from "./chunk-MQZVBHEY.js";
10
+ } from "./chunk-LFNQDTSH.js";
11
11
 
12
12
  // src/utils/parseOutputResolution.ts
13
13
  function parseOutputResolutionFlag(raw, options) {