hyperframes 0.8.140 → 0.8.141

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 (149) hide show
  1. package/dist/{add-7SPPQB64.js → add-KH2CF4FD.js} +11 -11
  2. package/dist/{animatedGifPrep-HN3CJSFX.js → animatedGifPrep-QO4BSKR7.js} +5 -5
  3. package/dist/{asset-AZMFUTRL.js → asset-4RDZILVJ.js} +2 -2
  4. package/dist/{assetCataloger-TQUWYLHE.js → assetCataloger-WGR4LYYN.js} +2 -2
  5. package/dist/{auth-XGY74R4A.js → auth-WYQCOYE5.js} +1 -1
  6. package/dist/{autoUpdate-44NTJBQU.js → autoUpdate-PC5TN3NL.js} +2 -2
  7. package/dist/{backgroundChecks-ET4DJEPG.js → backgroundChecks-7M3T44EP.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-HTWWNF3P.js → batchRender-GOLLOE4V.js} +3 -3
  10. package/dist/{beats-4GYTZUZG.js → beats-XJ7WP6QS.js} +10 -10
  11. package/dist/{benchmark-CJQHE3QN.js → benchmark-HCGFBEZJ.js} +8 -8
  12. package/dist/{browser-NXOVPGDG.js → browser-VQKO2FKG.js} +3 -3
  13. package/dist/{bundleWithLocalizedFonts-6PJP54TC.js → bundleWithLocalizedFonts-FH7PHTTX.js} +2 -2
  14. package/dist/{capture-EHOMO4MP.js → capture-TFZZSF6F.js} +8 -8
  15. package/dist/{capture-5EHGRJZM.js → capture-XD3P3YQR.js} +2 -2
  16. package/dist/{catalog-PTX5Z52R.js → catalog-4S33QWJJ.js} +11 -11
  17. package/dist/{catch-up-I45SPSCU.js → catch-up-RW7YXXNT.js} +4 -4
  18. package/dist/{check-LJ7LG7OI.js → check-XVTRRN4Y.js} +28 -28
  19. package/dist/{checkBrowser-6EK5E4PG.js → checkBrowser-HZXJ2EDU.js} +27 -27
  20. package/dist/{chunk-PFJFHNU3.js → chunk-34TXESM7.js} +3 -3
  21. package/dist/{chunk-6U3MN4HW.js → chunk-35RSNI77.js} +1 -1
  22. package/dist/{chunk-LQG6GPVK.js → chunk-3A5AAPMP.js} +1 -1
  23. package/dist/{chunk-QG3PDRSO.js → chunk-3NBKW2QJ.js} +1 -1
  24. package/dist/{chunk-MTVDXB6S.js → chunk-4BB7V6AI.js} +21 -13
  25. package/dist/{chunk-QP3BRKGF.js → chunk-6E6CM7WS.js} +19 -1
  26. package/dist/{chunk-MU6C2VP6.js → chunk-6IFXWJDX.js} +2 -2
  27. package/dist/{chunk-MHK5DE2P.js → chunk-6Q6FR4KH.js} +22 -14
  28. package/dist/{chunk-R4QIE6UY.js → chunk-7M4KAPAA.js} +92 -31
  29. package/dist/{chunk-JSGANFFH.js → chunk-7XTZVLE6.js} +1 -1
  30. package/dist/{chunk-QBK7WKHT.js → chunk-A7YQNIQT.js} +1 -1
  31. package/dist/{chunk-KMKWRIMC.js → chunk-AVWEIOEN.js} +1 -1
  32. package/dist/{chunk-IRBESGJ7.js → chunk-BM5PX3DJ.js} +1 -1
  33. package/dist/{chunk-WKTHUC2R.js → chunk-E4BSCXMU.js} +1 -1
  34. package/dist/{chunk-TPECLKPA.js → chunk-E6SDW5FV.js} +2 -2
  35. package/dist/{chunk-TYT2TLJR.js → chunk-EKA4ZZBI.js} +1 -1
  36. package/dist/{chunk-IFY57LUW.js → chunk-GS6FE3IW.js} +1 -1
  37. package/dist/{chunk-ASW6NWON.js → chunk-IKVBTDLO.js} +1 -1
  38. package/dist/{chunk-SLEPCESN.js → chunk-INI3TM6I.js} +2 -2
  39. package/dist/{chunk-2GMKWYEH.js → chunk-IO7ZIDRP.js} +9 -9
  40. package/dist/{chunk-F3SPK6SO.js → chunk-IV7EI5E2.js} +1 -1
  41. package/dist/{chunk-DDQ4LOML.js → chunk-IYFKBFTW.js} +1 -1
  42. package/dist/{chunk-PE2I3AFA.js → chunk-J5IPIQU2.js} +1 -1
  43. package/dist/{chunk-L2H2L22P.js → chunk-K2GOFLTX.js} +2 -2
  44. package/dist/{chunk-X3X3VETN.js → chunk-KFH6UD26.js} +3 -3
  45. package/dist/{chunk-VVJFZU6B.js → chunk-L3JSAB4L.js} +2 -2
  46. package/dist/{chunk-BJ5JWOES.js → chunk-N77KD7ZZ.js} +1 -1
  47. package/dist/{chunk-KJLY2SDJ.js → chunk-NORZWWLK.js} +2 -2
  48. package/dist/{chunk-BQKEGPPL.js → chunk-O3SKIXQK.js} +1 -1
  49. package/dist/{chunk-ABJNXQUA.js → chunk-OLDDJS3S.js} +7 -7
  50. package/dist/{chunk-KECV5G4V.js → chunk-P6E4HFFU.js} +9 -9
  51. package/dist/{chunk-5IKJONRY.js → chunk-Q65ZQFF2.js} +1 -1
  52. package/dist/{chunk-WQBA3MH4.js → chunk-R7UDXKI3.js} +2 -2
  53. package/dist/{chunk-C2JUHIG5.js → chunk-RCFCZT5O.js} +1 -1
  54. package/dist/{chunk-PUBKHEEA.js → chunk-RPYPW5NN.js} +9 -9
  55. package/dist/chunk-SYKKFAUW.js +3711 -0
  56. package/dist/{chunk-PB3P4MKP.js → chunk-TC2FBZJZ.js} +1 -1
  57. package/dist/{chunk-MUINFURL.js → chunk-W6HTOVHU.js} +2 -2
  58. package/dist/{chunk-KFQNMY36.js → chunk-XDSOIJC3.js} +5 -5
  59. package/dist/{chunk-DQNOPYAG.js → chunk-XWVGSEUT.js} +1 -1
  60. package/dist/{chunk-PPKFM5WE.js → chunk-YURXPGAM.js} +2 -2
  61. package/dist/{clean-Y3AQITOX.js → clean-L2E4VD57.js} +11 -11
  62. package/dist/cli.js +52 -52
  63. package/dist/{cloud-TDPOMBZF.js → cloud-IDUQRYLO.js} +4 -4
  64. package/dist/{cloudrun-FPAVAVHP.js → cloudrun-R3JXWXGG.js} +3 -3
  65. package/dist/{compare-LHL225ND.js → compare-VYBWSP3Y.js} +22 -22
  66. package/dist/{compiler-RTU3KTLF.js → compiler-ACHWOU5N.js} +2 -2
  67. package/dist/{component-L2YX7J56.js → component-PYYV2V3F.js} +3 -3
  68. package/dist/{compositions-V2UZKG7S.js → compositions-B5GQSXH7.js} +9 -9
  69. package/dist/{delete-OXZEXUQY.js → delete-EAX2U3WI.js} +2 -2
  70. package/dist/{deterministicFonts-GTITFRSJ.js → deterministicFonts-F6WIVL2W.js} +1 -1
  71. package/dist/{dist-N33CM63P.js → dist-ROUDWGLO.js} +8 -2
  72. package/dist/{doctor-MWTPSIVD.js → doctor-PJX7MLFG.js} +7 -7
  73. package/dist/{events-4TZGQZWF.js → events-SBC54MHO.js} +2 -2
  74. package/dist/{events-7VJJGC3D.js → events-YFFXKAQQ.js} +3 -3
  75. package/dist/{feedback-HSGAPVN7.js → feedback-UETLWREV.js} +6 -6
  76. package/dist/{figma-AMC6FAK3.js → figma-QDSJPIRW.js} +3 -3
  77. package/dist/fontLocalizeCli.js +8 -8
  78. package/dist/{get-Y7DFEFYM.js → get-B5TS6C7H.js} +2 -2
  79. package/dist/{gpuPolicy-A45VSUKR.js → gpuPolicy-LYOVBAJP.js} +5 -5
  80. package/dist/{grade-compare-ERSA3OUI.js → grade-compare-LBIHMAUN.js} +22 -22
  81. package/dist/{help-TW2AADLZ.js → help-XBP6A6LT.js} +1 -1
  82. package/dist/{history-DKGDSVWF.js → history-2S42ZXKL.js} +5 -5
  83. package/dist/hyperframe-runtime.js +54 -54
  84. package/dist/hyperframe.manifest.json +1 -1
  85. package/dist/hyperframe.runtime.iife.js +54 -54
  86. package/dist/hyperframes-player.global.js +3 -3
  87. package/dist/{info-I3NRRNX4.js → info-I2VDAWT7.js} +7 -7
  88. package/dist/{init-5Y3ZWZNF.js → init-BGHSDODI.js} +20 -20
  89. package/dist/{inspect-BJQKBB3X.js → inspect-MZK5B5RP.js} +23 -23
  90. package/dist/{installer-27K4JS2I.js → installer-LL4QAKFW.js} +4 -4
  91. package/dist/{keyframes-6V2NZO22.js → keyframes-2EBF7OSS.js} +6 -6
  92. package/dist/{lambda-AIMF3K4A.js → lambda-XKFPAOFE.js} +4 -4
  93. package/dist/{layout-YAPEBTU4.js → layout-TP5ERKEF.js} +23 -23
  94. package/dist/{lint-3LWWUIV7.js → lint-FQ6CEI7E.js} +6 -6
  95. package/dist/{list-NTSGEZJ6.js → list-FRNUJXZ3.js} +2 -2
  96. package/dist/{login-ZTDFGCCW.js → login-C25QU3BQ.js} +4 -4
  97. package/dist/{media-treatment-ARHX446F.js → media-treatment-DCANGWSV.js} +8 -8
  98. package/dist/{models-VHNQVTHG.js → models-GOD6ARB3.js} +6 -6
  99. package/dist/{motionShot-35HCSNCI.js → motionShot-FSKETANX.js} +11 -11
  100. package/dist/{normalize-audio-AUC73JH3.js → normalize-audio-C2IM7OID.js} +4 -4
  101. package/dist/{open-C5LVNU3U.js → open-VVISXIII.js} +4 -4
  102. package/dist/{pipeline-4GDTK54T.js → pipeline-7YHZPYIS.js} +5 -5
  103. package/dist/{play-U7UANF7Z.js → play-DSELK7G3.js} +16 -16
  104. package/dist/{present-X6V6TX3E.js → present-N72YFDKP.js} +12 -12
  105. package/dist/{preview-K43RTRU2.js → preview-XTYN4NJ2.js} +15 -15
  106. package/dist/{producer-PVMFMW23.js → producer-NDCU3MHK.js} +1 -1
  107. package/dist/{projectConfig-PI6MEN2T.js → projectConfig-MH4QU4AC.js} +6 -6
  108. package/dist/{publication-67C7KVTL.js → publication-KUSHI5MG.js} +2 -2
  109. package/dist/{publish-RBV7EAMH.js → publish-3XEEFWMF.js} +7 -7
  110. package/dist/{remove-background-Z2ECZX2Q.js → remove-background-2QKJ7XOD.js} +6 -6
  111. package/dist/{render-YBS3XGRJ.js → render-2DVYTVLQ.js} +18 -18
  112. package/dist/{render-2GQMQBU3.js → render-75E342ZU.js} +3 -3
  113. package/dist/{render-EFU4BZRZ.js → render-S73DW4KK.js} +8 -8
  114. package/dist/{render-batch-QC64OTB5.js → render-batch-YURBS54Q.js} +3 -3
  115. package/dist/{renderCancellation-NTVU7IMB.js → renderCancellation-373ASJTO.js} +5 -5
  116. package/dist/{resolver-GBWYG3EI.js → resolver-FE3GBZ4T.js} +4 -4
  117. package/dist/{sherpa-ZW6PWJS4.js → sherpa-B2D3AGP6.js} +6 -6
  118. package/dist/skills/media-use/SKILL.md +6 -4
  119. package/dist/skills/media-use/audio/scripts/lib/heygen.mjs +47 -4
  120. package/dist/skills/media-use/audio/scripts/lib/heygen.test.mjs +125 -18
  121. package/dist/skills/media-use/references/setup-providers.md +13 -0
  122. package/dist/{skills-VKZAX5AS.js → skills-ICJ22CZZ.js} +5 -5
  123. package/dist/{skillsUpdateCheck-PAY2OPDE.js → skillsUpdateCheck-GXZN56I5.js} +3 -3
  124. package/dist/{snapshot-SD5R3NWX.js → snapshot-XHKOAWF4.js} +23 -23
  125. package/dist/{src-RXTXL3VL.js → src-74PFDTDX.js} +7 -7
  126. package/dist/{src-7SSERHNP.js → src-I7UC3JTL.js} +4 -4
  127. package/dist/{staticProjectServer-XELJXX4J.js → staticProjectServer-2DGKD6TF.js} +12 -12
  128. package/dist/studio/assets/hyperframes-player-5Vx2AiUz.js +473 -0
  129. package/dist/studio/assets/{index-CWfuDCoA.js → index-BAnh7cSQ.js} +1 -1
  130. package/dist/studio/assets/{index-VAHDM_zL.js → index-C0thd4eM.js} +114 -114
  131. package/dist/studio/assets/{index-Dr3Bo9uH.js → index-P8fgj_Xa.js} +1 -1
  132. package/dist/studio/index.html +1 -1
  133. package/dist/studio/index.js +20 -0
  134. package/dist/studio/index.js.map +1 -1
  135. package/dist/{studio-api-4FNUZPJ4.js → studio-api-PROBO7JG.js} +6 -6
  136. package/dist/{studioServer-GHLL3F2M.js → studioServer-ID6UV2NE.js} +34 -34
  137. package/dist/{telemetry-7AO77PMH.js → telemetry-65LFHIWH.js} +3 -3
  138. package/dist/{timeline-6LTHSRXM.js → timeline-6UV3JJXD.js} +12 -12
  139. package/dist/{tokens-K6B46KNL.js → tokens-HIL4TZXI.js} +2 -2
  140. package/dist/{transcribe-CLLISRLZ.js → transcribe-TIO6W3EQ.js} +6 -6
  141. package/dist/{transcribe-K2OU6FZF.js → transcribe-V7F6QDSN.js} +6 -6
  142. package/dist/{updateCheck-X6UQBS6I.js → updateCheck-GZELANMA.js} +2 -2
  143. package/dist/{upgrade-BZFKEADI.js → upgrade-BX3KDDZJ.js} +2 -2
  144. package/dist/{urlDownloader-VAVUXYEQ.js → urlDownloader-R76OHFIE.js} +4 -4
  145. package/dist/{validate-VO5KEXWN.js → validate-7UX4I443.js} +14 -14
  146. package/dist/{video-JV6Y4UJR.js → video-RVGYEFQU.js} +5 -5
  147. package/package.json +1 -1
  148. package/dist/chunk-B3I3XJ47.js +0 -3711
  149. package/dist/studio/assets/hyperframes-player-BLuyxnK7.js +0 -473
@@ -8,21 +8,21 @@ import {
8
8
  auditClipDurations,
9
9
  shouldIgnoreHttpError,
10
10
  shouldIgnoreRequestFailure
11
- } from "./chunk-PUBKHEEA.js";
11
+ } from "./chunk-RPYPW5NN.js";
12
12
  import {
13
13
  rectToBbox
14
14
  } from "./chunk-WBLXWOYK.js";
15
15
  import {
16
16
  ambiguousIssue,
17
17
  loadBrowserScript
18
- } from "./chunk-2GMKWYEH.js";
18
+ } from "./chunk-IO7ZIDRP.js";
19
19
  import {
20
20
  serveStaticProjectHtml
21
- } from "./chunk-PFJFHNU3.js";
21
+ } from "./chunk-34TXESM7.js";
22
22
  import "./chunk-XUHOIDKG.js";
23
23
  import "./chunk-X7MTZ4T2.js";
24
- import "./chunk-KJLY2SDJ.js";
25
- import "./chunk-PB3P4MKP.js";
24
+ import "./chunk-NORZWWLK.js";
25
+ import "./chunk-TC2FBZJZ.js";
26
26
  import {
27
27
  AUDIT_SEEK_OPTIONS,
28
28
  DEFAULT_ZOOM_PADDING_PX,
@@ -34,14 +34,14 @@ import {
34
34
  resolveCliChromeGpuMode,
35
35
  seekCompositionTimeline,
36
36
  waitForPreferredSeekTarget
37
- } from "./chunk-KFQNMY36.js";
37
+ } from "./chunk-XDSOIJC3.js";
38
38
  import "./chunk-5Z63TBTX.js";
39
- import "./chunk-BQKEGPPL.js";
40
- import "./chunk-TYT2TLJR.js";
39
+ import "./chunk-O3SKIXQK.js";
40
+ import "./chunk-EKA4ZZBI.js";
41
41
  import "./chunk-YEIFI443.js";
42
42
  import "./chunk-IHFUKJOR.js";
43
- import "./chunk-MHK5DE2P.js";
44
- import "./chunk-QBK7WKHT.js";
43
+ import "./chunk-6Q6FR4KH.js";
44
+ import "./chunk-A7YQNIQT.js";
45
45
  import "./chunk-QZ3AZTXI.js";
46
46
  import "./chunk-U7E736AJ.js";
47
47
  import {
@@ -49,25 +49,25 @@ import {
49
49
  proxyVariantFor,
50
50
  resolveProxy,
51
51
  scanProjectMediaCodecMap
52
- } from "./chunk-MTVDXB6S.js";
52
+ } from "./chunk-4BB7V6AI.js";
53
53
  import "./chunk-G75ENCEZ.js";
54
54
  import "./chunk-EOVYQ3IG.js";
55
- import "./chunk-PE2I3AFA.js";
55
+ import "./chunk-J5IPIQU2.js";
56
56
  import "./chunk-PFCFR3KZ.js";
57
57
  import {
58
58
  resolveAutoProxy
59
- } from "./chunk-KMKWRIMC.js";
59
+ } from "./chunk-AVWEIOEN.js";
60
60
  import "./chunk-XT7X6QCP.js";
61
61
  import "./chunk-4YYJOFKS.js";
62
62
  import "./chunk-HVW7ABXD.js";
63
- import "./chunk-ASW6NWON.js";
64
- import "./chunk-VVJFZU6B.js";
65
- import "./chunk-5IKJONRY.js";
63
+ import "./chunk-IKVBTDLO.js";
64
+ import "./chunk-L3JSAB4L.js";
65
+ import "./chunk-Q65ZQFF2.js";
66
66
  import "./chunk-AWDFDFI3.js";
67
67
  import "./chunk-P6LJ4Y32.js";
68
68
  import "./chunk-374QQGBQ.js";
69
- import "./chunk-JSGANFFH.js";
70
- import "./chunk-C2JUHIG5.js";
69
+ import "./chunk-7XTZVLE6.js";
70
+ import "./chunk-RCFCZT5O.js";
71
71
  import "./chunk-VWG7OQKU.js";
72
72
  import "./chunk-GQJZORQP.js";
73
73
  import "./chunk-AMKC3AXA.js";
@@ -77,14 +77,14 @@ import "./chunk-54HJ63Q2.js";
77
77
  import "./chunk-PBN6GBJE.js";
78
78
  import "./chunk-KC5XXX3X.js";
79
79
  import "./chunk-TJSTGSAW.js";
80
- import "./chunk-TPECLKPA.js";
81
- import "./chunk-6U3MN4HW.js";
80
+ import "./chunk-E6SDW5FV.js";
81
+ import "./chunk-35RSNI77.js";
82
82
  import "./chunk-A4KQZXZI.js";
83
83
  import "./chunk-USDEMXXL.js";
84
- import "./chunk-QP3BRKGF.js";
84
+ import "./chunk-6E6CM7WS.js";
85
85
  import "./chunk-OZUQF4NB.js";
86
86
  import "./chunk-DPVXBVLL.js";
87
- import "./chunk-B3I3XJ47.js";
87
+ import "./chunk-SYKKFAUW.js";
88
88
  import "./chunk-VC76R6W2.js";
89
89
  import "./chunk-YA62XGXS.js";
90
90
  import "./chunk-OFQWTKPW.js";
@@ -101,12 +101,12 @@ import "./chunk-TQFG7HTI.js";
101
101
  import "./chunk-GK4AIFIH.js";
102
102
  import "./chunk-2PSPARWP.js";
103
103
  import "./chunk-PMRBLBUP.js";
104
- import "./chunk-DDQ4LOML.js";
104
+ import "./chunk-IYFKBFTW.js";
105
105
  import "./chunk-K4WIOZFP.js";
106
106
  import "./chunk-XUXGIA7H.js";
107
107
  import "./chunk-WERLJGIC.js";
108
108
  import "./chunk-ISN5GRYI.js";
109
- import "./chunk-MUINFURL.js";
109
+ import "./chunk-W6HTOVHU.js";
110
110
  import {
111
111
  normalizeErrorMessage
112
112
  } from "./chunk-KNU5COPB.js";
@@ -148,7 +148,7 @@ async function preResolveHostileMediaProxies(projectDir, html, autoProxyOverride
148
148
  );
149
149
  }
150
150
  async function runBrowserCheck(project, options, motion, runGrid) {
151
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-6PJP54TC.js");
151
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-FH7PHTTX.js");
152
152
  const html = await bundleWithLocalizedFonts(project.dir);
153
153
  await preResolveHostileMediaProxies(project.dir, html, options.autoProxy);
154
154
  const server = await serveStaticProjectHtml(
@@ -175,7 +175,7 @@ async function runBrowserCheck(project, options, motion, runGrid) {
175
175
  await waitForPreferredSeekTarget(page);
176
176
  const rootAnchor = await resolveRootAnchor(page);
177
177
  const launchSettleMs = Date.now() - launchSettleStart;
178
- const { analyzeClipMediaFit } = await import("./src-7SSERHNP.js");
178
+ const { analyzeClipMediaFit } = await import("./src-I7UC3JTL.js");
179
179
  for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
180
180
  drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
181
181
  }
@@ -198,7 +198,7 @@ async function runBrowserCheck(project, options, motion, runGrid) {
198
198
  }
199
199
  async function captureFindingCrops(project, options, requests) {
200
200
  if (requests.length === 0) return [];
201
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-6PJP54TC.js");
201
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-FH7PHTTX.js");
202
202
  const html = await bundleWithLocalizedFonts(project.dir);
203
203
  const server = await serveStaticProjectHtml(
204
204
  project.dir,
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType,
9
9
  injectMediaCodecMapIntoHtml
10
- } from "./chunk-MHK5DE2P.js";
10
+ } from "./chunk-6Q6FR4KH.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-MTVDXB6S.js";
21
+ } from "./chunk-4BB7V6AI.js";
22
22
  import {
23
23
  resolveAutoProxy
24
- } from "./chunk-KMKWRIMC.js";
24
+ } from "./chunk-AVWEIOEN.js";
25
25
 
26
26
  // src/utils/staticProjectServer.ts
27
27
  import { createServer } from "http";
@@ -35,7 +35,7 @@ import {
35
35
  stripEmbeddedRuntimeScripts,
36
36
  styleElementsFor,
37
37
  warnUnknownEnumValues
38
- } from "./chunk-B3I3XJ47.js";
38
+ } from "./chunk-SYKKFAUW.js";
39
39
  import {
40
40
  cssVariableName
41
41
  } from "./chunk-VC76R6W2.js";
@@ -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-TPECLKPA.js";
9
+ } from "./chunk-E6SDW5FV.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-AWDFDFI3.js";
15
15
  import {
16
16
  isBlockedNetworkHost
17
- } from "./chunk-TPECLKPA.js";
17
+ } from "./chunk-E6SDW5FV.js";
18
18
  import {
19
19
  DOMParser,
20
20
  parseHTML
@@ -6,9 +6,10 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  firstFrameColourArgs,
9
+ formatPreviewProxyBox,
9
10
  hdrToSdrToneMapFilter,
10
11
  parseFirstFrameColour
11
- } from "./chunk-QP3BRKGF.js";
12
+ } from "./chunk-6E6CM7WS.js";
12
13
  import {
13
14
  mkdirWithinProject,
14
15
  realProjectRoot,
@@ -334,7 +335,7 @@ async function scanProjectMediaCodecMap(projectDir, htmlSources, options = {}) {
334
335
  return map;
335
336
  }
336
337
 
337
- // ../studio-server/dist/chunk-6RFZWPPN.js
338
+ // ../studio-server/dist/chunk-QP7LKFU2.js
338
339
  import { spawn } from "child_process";
339
340
  import { createHash, randomUUID } from "crypto";
340
341
  import { existsSync as existsSync2, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, utimesSync } from "fs";
@@ -530,14 +531,15 @@ function canonicalizeProxySource(projectDir, absoluteSourcePath) {
530
531
  cacheIdentity: (sourceIsInsideCanonicalProject ? canonicalRelativePath : canonicalSourcePath).normalize("NFC")
531
532
  };
532
533
  }
533
- function buildProxyCacheKey(source, variant) {
534
+ function buildProxyCacheKey(source, variant, box) {
534
535
  const stat = statSync2(source.sourcePath);
536
+ const size = box ? `\0${formatPreviewProxyBox(box)}` : "";
535
537
  return createHash("sha256").update(
536
- `${source.relativePath}\0${source.cacheIdentity}\0${stat.mtimeMs}\0${stat.size}\0${PROXY_PARAMS_VERSION}\0${variant}`
538
+ `${source.relativePath}\0${source.cacheIdentity}\0${stat.mtimeMs}\0${stat.size}\0${PROXY_PARAMS_VERSION}\0${variant}${size}`
537
539
  ).digest("hex");
538
540
  }
539
- function getCanonicalProxyCachePath(source, variant) {
540
- const key = buildProxyCacheKey(source, variant);
541
+ function getCanonicalProxyCachePath(source, variant, box) {
542
+ const key = buildProxyCacheKey(source, variant, box);
541
543
  return join2(
542
544
  source.projectDir,
543
545
  CACHE_DIR_NAME,
@@ -620,7 +622,13 @@ function rememberFailure(cachePath, error) {
620
622
  failedTranscodes.delete(oldest);
621
623
  }
622
624
  }
623
- async function runFfmpeg(sourcePath, outputPath, variant) {
625
+ function proxyScaleFilter(box) {
626
+ if (!box) return "scale=trunc(iw/2)*2:trunc(ih/2)*2";
627
+ const factor = `min(1\\,max(${box.width}/iw\\,${box.height}/ih))`;
628
+ const side = (d) => `min(trunc(${d}/2)*2\\,ceil(${d}*${factor}/2)*2)`;
629
+ return `scale=${side("iw")}:${side("ih")}`;
630
+ }
631
+ async function runFfmpeg(sourcePath, outputPath, variant, box) {
624
632
  const metadata = await probeMediaMetadata(sourcePath);
625
633
  const ffmpegPath = findFfBinary("ffmpeg", { configuredMustExist: true });
626
634
  if (!ffmpegPath) {
@@ -631,7 +639,7 @@ async function runFfmpeg(sourcePath, outputPath, variant) {
631
639
  const toneMap = (hdrTransfer === "pq" || hdrTransfer === "hlg") && !keepsAlpha;
632
640
  if (toneMap) await ensureHdrFilters(ffmpegPath);
633
641
  const firstFrame = toneMap ? await probeFirstFrameColour(sourcePath) : {};
634
- const evenScale = "scale=trunc(iw/2)*2:trunc(ih/2)*2";
642
+ const evenScale = proxyScaleFilter(box);
635
643
  const pixelFormat = keepsAlpha ? "yuva420p" : "yuv420p";
636
644
  const videoFilter = toneMap ? [
637
645
  hdrToSdrToneMapFilter(metadata.color, firstFrame),
@@ -721,7 +729,7 @@ async function runFfmpeg(sourcePath, outputPath, variant) {
721
729
  });
722
730
  });
723
731
  }
724
- async function transcodeToCache(projectDir, absoluteSourcePath, cachePath, variant) {
732
+ async function transcodeToCache(projectDir, absoluteSourcePath, cachePath, variant, box) {
725
733
  await acquireSlot();
726
734
  try {
727
735
  if (existsSync2(cachePath)) return cachePath;
@@ -729,7 +737,7 @@ async function transcodeToCache(projectDir, absoluteSourcePath, cachePath, varia
729
737
  mkdirWithinProject(projectDir, cacheDir);
730
738
  const tempPath = join2(cacheDir, `.tmp-${randomUUID()}-${basename(cachePath)}`);
731
739
  try {
732
- await runFfmpeg(absoluteSourcePath, tempPath, variant);
740
+ await runFfmpeg(absoluteSourcePath, tempPath, variant, box);
733
741
  renameSync(tempPath, cachePath);
734
742
  maintainProxyCache(cacheDir);
735
743
  return cachePath;
@@ -747,9 +755,9 @@ function proxyActivityMark(projectDir) {
747
755
  for (const cachePath of inFlight.keys()) if (cachePath.startsWith(cacheDir)) return null;
748
756
  return String(settledProxyCount);
749
757
  }
750
- async function resolveProxy(projectDir, absoluteSourcePath, variant = "h264") {
758
+ async function resolveProxy(projectDir, absoluteSourcePath, variant = "h264", box) {
751
759
  const source = canonicalizeProxySource(projectDir, absoluteSourcePath);
752
- const cachePath = getCanonicalProxyCachePath(source, variant);
760
+ const cachePath = getCanonicalProxyCachePath(source, variant, box);
753
761
  if (existsSync2(cachePath)) {
754
762
  markCacheEntryUsed(cachePath);
755
763
  maintainProxyCache(dirname(cachePath));
@@ -762,7 +770,7 @@ async function resolveProxy(projectDir, absoluteSourcePath, variant = "h264") {
762
770
  }
763
771
  const existing = inFlight.get(cachePath);
764
772
  if (existing) return existing;
765
- const promise = transcodeToCache(source.projectDir, source.sourcePath, cachePath, variant).catch((err) => {
773
+ const promise = transcodeToCache(source.projectDir, source.sourcePath, cachePath, variant, box).catch((err) => {
766
774
  if (!(err instanceof ProxyCapacityError)) rememberFailure(cachePath, err);
767
775
  throw err;
768
776
  }).finally(() => {
@@ -17,7 +17,7 @@ import {
17
17
  parseStrictFiniteTimingNumber,
18
18
  resolveNaturalMediaTimelineDuration,
19
19
  resolveTimedImageDurationSeconds
20
- } from "./chunk-B3I3XJ47.js";
20
+ } from "./chunk-SYKKFAUW.js";
21
21
  import {
22
22
  COMPOSITION_ATTRIBUTES,
23
23
  parseStartExpression
@@ -1158,6 +1158,21 @@ function parseFirstFrameColour(stderr) {
1158
1158
  return tags ? { colorSpace: tags[1], colorPrimaries: tags[2], colorTransfer: tags[3] } : {};
1159
1159
  }
1160
1160
 
1161
+ // ../core/dist/previewProxyBox.js
1162
+ var PREVIEW_PROXY_BOX_PARAM = "hf-proxy-box";
1163
+ var RUNGS = [256, 362, 512, 724, 1024, 1448, 2048, 2896, 4096, 5792, 8192];
1164
+ function formatPreviewProxyBox(box) {
1165
+ return `${box.width}x${box.height}`;
1166
+ }
1167
+ function parsePreviewProxyBox(raw) {
1168
+ const match = /^(\d{3,4})x(\d{3,4})$/.exec(raw);
1169
+ if (!match)
1170
+ return null;
1171
+ const width = Number(match[1]);
1172
+ const height = Number(match[2]);
1173
+ return RUNGS.includes(width) && RUNGS.includes(height) ? { width, height } : null;
1174
+ }
1175
+
1161
1176
  // ../core/dist/inline-scripts/hyperframesRuntime.engine.js
1162
1177
  import { buildSync } from "esbuild";
1163
1178
  import { existsSync } from "fs";
@@ -5537,6 +5552,9 @@ export {
5537
5552
  hdrToSdrToneMapFilter,
5538
5553
  firstFrameColourArgs,
5539
5554
  parseFirstFrameColour,
5555
+ PREVIEW_PROXY_BOX_PARAM,
5556
+ formatPreviewProxyBox,
5557
+ parsePreviewProxyBox,
5540
5558
  buildHyperframesRuntimeScript,
5541
5559
  HYPERFRAME_RUNTIME_GLOBALS,
5542
5560
  HYPERFRAME_BRIDGE_SOURCES,
@@ -7,10 +7,10 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parseFeedbackRating,
9
9
  trackRenderFeedback
10
- } from "./chunk-JSGANFFH.js";
10
+ } from "./chunk-7XTZVLE6.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-C2JUHIG5.js";
13
+ } from "./chunk-RCFCZT5O.js";
14
14
  import {
15
15
  detectAgentRuntime
16
16
  } from "./chunk-GQJZORQP.js";
@@ -21,7 +21,7 @@ import {
21
21
  splitElementInHtml,
22
22
  unwrapElementsFromHtml,
23
23
  wrapElementsInHtml
24
- } from "./chunk-QBK7WKHT.js";
24
+ } from "./chunk-A7YQNIQT.js";
25
25
  import {
26
26
  MAX_WINDOW_IDLE_MS,
27
27
  STUDIO_SIGNATURE_MANIFEST_PATHS,
@@ -63,7 +63,7 @@ import {
63
63
  scanProjectMediaCodecMap,
64
64
  shouldPrewarmProxy,
65
65
  waitForProxy
66
- } from "./chunk-MTVDXB6S.js";
66
+ } from "./chunk-4BB7V6AI.js";
67
67
  import {
68
68
  STUDIO_MOTION_PATH,
69
69
  createStudioMotionRenderBodyScript,
@@ -96,17 +96,20 @@ import {
96
96
  } from "./chunk-TJSTGSAW.js";
97
97
  import {
98
98
  addScenePartsManifest
99
- } from "./chunk-6U3MN4HW.js";
99
+ } from "./chunk-35RSNI77.js";
100
100
  import {
101
101
  ensureHfIds
102
102
  } from "./chunk-A4KQZXZI.js";
103
103
  import {
104
+ PREVIEW_PROXY_BOX_PARAM,
105
+ formatPreviewProxyBox,
104
106
  formatRenderOutputTimestamp,
105
107
  gsapCdnDist,
106
108
  motionPathPluginUrl,
107
109
  parseFps,
110
+ parsePreviewProxyBox,
108
111
  sameInstant
109
- } from "./chunk-QP3BRKGF.js";
112
+ } from "./chunk-6E6CM7WS.js";
110
113
  import {
111
114
  MagicString,
112
115
  VALID_CANVAS_RESOLUTIONS,
@@ -125,7 +128,7 @@ import {
125
128
  resolveRateSpec,
126
129
  sourceTimeAt,
127
130
  stripEmbeddedRuntimeScripts
128
- } from "./chunk-B3I3XJ47.js";
131
+ } from "./chunk-SYKKFAUW.js";
129
132
  import {
130
133
  ProjectRootMissingError,
131
134
  folderGone,
@@ -288,7 +291,7 @@ function clearElementScreenshotIsolation() {
288
291
  page.__hfThumbnailFaded = [];
289
292
  }
290
293
 
291
- // ../studio-server/dist/chunk-G7FEKQ32.js
294
+ // ../studio-server/dist/chunk-5VCIZYUE.js
292
295
  import { resolve } from "path";
293
296
  function isAutoProxyEnabled(adapter) {
294
297
  return adapter.autoProxy !== false;
@@ -296,11 +299,11 @@ function isAutoProxyEnabled(adapter) {
296
299
  function resolvePreviewMediaCodecProbeCache(adapter) {
297
300
  return adapter.mediaCodecProbeCache ?? createMediaCodecProbeCache();
298
301
  }
299
- function proxyEtagSalt(raw) {
302
+ function proxyEtagSalt(raw, box) {
300
303
  if (raw === void 0) return "";
301
- return `:proxy:${raw}:${PROXY_PARAMS_VERSION}`;
304
+ return `:proxy:${raw}:${PROXY_PARAMS_VERSION}${box ? `:${formatPreviewProxyBox(box)}` : ""}`;
302
305
  }
303
- async function injectMediaCodecMapIntoHtml(html, projectDir, htmlSources, probeCache) {
306
+ async function injectMediaCodecMapIntoHtml(html, projectDir, htmlSources, probeCache, prewarm = true) {
304
307
  let map;
305
308
  try {
306
309
  map = await scanProjectMediaCodecMap(
@@ -313,7 +316,7 @@ async function injectMediaCodecMapIntoHtml(html, projectDir, htmlSources, probeC
313
316
  }
314
317
  if (Object.keys(map).length === 0) return html;
315
318
  for (const [rootRelativePathname, facts] of Object.entries(map)) {
316
- if (!shouldPrewarmProxy(facts)) continue;
319
+ if (!prewarm || !shouldPrewarmProxy(facts)) continue;
317
320
  recordProxyPrewarm();
318
321
  resolveProxy(
319
322
  projectDir,
@@ -330,7 +333,7 @@ ${html}`;
330
333
  }
331
334
  async function injectMediaCodecMap(html, adapter, projectDir, compSrcPath, probeCache) {
332
335
  if (!isAutoProxyEnabled(adapter)) return html;
333
- return injectMediaCodecMapIntoHtml(html, projectDir, [{ html, compSrcPath }], probeCache);
336
+ return injectMediaCodecMapIntoHtml(html, projectDir, [{ html, compSrcPath }], probeCache, false);
334
337
  }
335
338
 
336
339
  // ../studio-server/dist/chunk-X62ASOGO.js
@@ -5237,7 +5240,7 @@ async function prepareGsapMutationScript(c, res, firstMutation) {
5237
5240
  let block = extractGsapScriptBlock(html);
5238
5241
  if (!block && (firstMutation.type === "add" || firstMutation.type === "add-with-keyframes")) {
5239
5242
  const compId = html.match(/data-composition-id="([^"]+)"/)?.[1] ?? "main";
5240
- const { GSAP_CDN } = await import("./dist-N33CM63P.js");
5243
+ const { GSAP_CDN } = await import("./dist-ROUDWGLO.js");
5241
5244
  const bootstrap = [
5242
5245
  `<script src="${GSAP_CDN}"></script>`,
5243
5246
  "<script>",
@@ -7521,6 +7524,11 @@ ${etag}`;
7521
7524
  const contentType = getMimeType(subPath);
7522
7525
  const isText = /\.(html|css|js|json|svg|txt|md|cube)$/i.test(subPath);
7523
7526
  const proxyParam = c.req.query("hf-proxy");
7527
+ const boxParam = c.req.query(PREVIEW_PROXY_BOX_PARAM);
7528
+ const proxyBox = boxParam === void 0 ? void 0 : parsePreviewProxyBox(boxParam);
7529
+ if (proxyBox === null || proxyBox && proxyParam === void 0) {
7530
+ return c.text("not found", 404);
7531
+ }
7524
7532
  let proxyVariant;
7525
7533
  if (proxyParam !== void 0) {
7526
7534
  if (!isProxyVariantRequest(proxyParam) || !contentType.startsWith("video/") || !isAutoProxyEnabled(adapter)) {
@@ -7538,7 +7546,7 @@ ${etag}`;
7538
7546
  }
7539
7547
  }
7540
7548
  const tag = settledFileTag(stat2);
7541
- const etag = tag && `"${tag}${proxyEtagSalt(proxyVariant)}"`;
7549
+ const etag = tag && `"${tag}${proxyEtagSalt(proxyVariant, proxyBox)}"`;
7542
7550
  const cacheHeaders = isText ? { "Cache-Control": "no-store" } : { "Cache-Control": "private, no-cache", ...etag && { ETag: etag } };
7543
7551
  if (!isText && etag) {
7544
7552
  const ifNoneMatch = c.req.header("If-None-Match");
@@ -7550,7 +7558,7 @@ ${etag}`;
7550
7558
  let servedContentType = contentType;
7551
7559
  if (proxyVariant !== void 0) {
7552
7560
  try {
7553
- servedPath = await waitForProxy(resolveProxy(project.dir, file, proxyVariant), 0);
7561
+ servedPath = await waitForProxy(resolveProxy(project.dir, file, proxyVariant, proxyBox), 0);
7554
7562
  } catch (err) {
7555
7563
  if (err instanceof ProxyWaitTimeoutError) {
7556
7564
  return c.text("media proxy is being made", 202, {