hyperframes 0.8.193 → 0.8.194

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 (187) hide show
  1. package/dist/{add-JC6DKZKC.js → add-47UAIWY4.js} +12 -12
  2. package/dist/{animatedGifPrep-S6KXJGEL.js → animatedGifPrep-TFSQZWK6.js} +8 -7
  3. package/dist/api.js +18 -17
  4. package/dist/{asset-XITFIFE6.js → asset-AU7PZHXA.js} +2 -2
  5. package/dist/{assetCataloger-K5FNKG35.js → assetCataloger-HC5N6WPT.js} +8 -7
  6. package/dist/{audio-364UHTY4.js → audio-7AWMZWBM.js} +14 -13
  7. package/dist/{auth-5JEESRE6.js → auth-GXH3QNDJ.js} +1 -1
  8. package/dist/{autoUpdate-RVVYEHAA.js → autoUpdate-GVGP5O2I.js} +2 -2
  9. package/dist/{backgroundChecks-DCBIYWIQ.js → backgroundChecks-IUJM2Q35.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-ZZ4QMBAA.js → batchRender-3XS2Y2Y4.js} +4 -4
  12. package/dist/{beats-YEL65M6G.js → beats-U64B4S7Z.js} +9 -9
  13. package/dist/{benchmark-RBTRPA76.js → benchmark-2YUPAI76.js} +9 -9
  14. package/dist/{browser-BVAYXT4R.js → browser-DBFH7KXM.js} +5 -5
  15. package/dist/{bundleWithLocalizedFonts-JLB2OYMT.js → bundleWithLocalizedFonts-XWL7KSQJ.js} +2 -2
  16. package/dist/{capture-NIFX6IRS.js → capture-E4VW75NM.js} +2 -2
  17. package/dist/{capture-GBXTMYLZ.js → capture-YWH7BPBI.js} +13 -12
  18. package/dist/{captureCompositionFrame-ATNNKUL5.js → captureCompositionFrame-IG6S2OHG.js} +13 -12
  19. package/dist/{catalog-AGIF5SM5.js → catalog-LZIZLZ34.js} +12 -12
  20. package/dist/{catch-up-SZ3ULDTI.js → catch-up-ZVNPIACY.js} +4 -4
  21. package/dist/{check-YLQS3TF4.js → check-EKEOD4UM.js} +38 -37
  22. package/dist/{checkBrowser-QH4FMCBO.js → checkBrowser-MYH6HPHH.js} +33 -32
  23. package/dist/{chunk-ZT45TCY3.js → chunk-2AJU7PZ6.js} +1 -1
  24. package/dist/chunk-2D5WP2NI.js +3901 -0
  25. package/dist/{chunk-FBVUAH7N.js → chunk-2OYYNKJ4.js} +1 -1
  26. package/dist/{chunk-DSQ72G5I.js → chunk-37IHQVNQ.js} +1 -1
  27. package/dist/{chunk-AR3DQYRR.js → chunk-3OSBSUN3.js} +18 -18
  28. package/dist/{chunk-2SFDWMSW.js → chunk-3S3CXF4W.js} +2 -2
  29. package/dist/{chunk-TY3LDJA3.js → chunk-452UK7E7.js} +2 -2
  30. package/dist/{chunk-OFYW4J7Y.js → chunk-4FVNEXSV.js} +3 -3
  31. package/dist/{chunk-CGTZOY53.js → chunk-4GMDL4N5.js} +1 -1
  32. package/dist/{chunk-4PPWAQYV.js → chunk-4PIPQPCW.js} +7 -7
  33. package/dist/{chunk-BP4EMEGH.js → chunk-4VSV56F2.js} +2 -2
  34. package/dist/{chunk-L4JB7LI4.js → chunk-52YJKWV3.js} +67 -60
  35. package/dist/{chunk-ZZPBXRYQ.js → chunk-54PZ2EQZ.js} +1 -1
  36. package/dist/{chunk-6XUJVEY2.js → chunk-B3GG3HJB.js} +1 -1
  37. package/dist/{chunk-2MCXIY4B.js → chunk-B7RJV74O.js} +28 -11
  38. package/dist/{chunk-MFUNDJEV.js → chunk-BK5YCT54.js} +3 -3
  39. package/dist/{chunk-RWGASWT7.js → chunk-BL4U6U52.js} +1 -0
  40. package/dist/{chunk-QKX7ITER.js → chunk-BYADARIC.js} +2 -2
  41. package/dist/{chunk-WIVOXGEP.js → chunk-CEUBYYVJ.js} +2 -2
  42. package/dist/{chunk-UIC7B5KW.js → chunk-CEZH4AQT.js} +12 -2
  43. package/dist/{chunk-BY6OQ6XP.js → chunk-CZNSLFYD.js} +3 -1
  44. package/dist/{chunk-E77ALFLW.js → chunk-DT3JESJ6.js} +1 -1
  45. package/dist/{chunk-ZTKFRXJB.js → chunk-DVQDBWQG.js} +4 -4
  46. package/dist/{chunk-L5YLA54L.js → chunk-EB3XXHNO.js} +2 -2
  47. package/dist/{chunk-LFUVTS6V.js → chunk-EY7GKVPS.js} +2 -2
  48. package/dist/{chunk-KU3UFQN7.js → chunk-F2ASNL2K.js} +1 -1
  49. package/dist/{chunk-ZH7J2ZUL.js → chunk-F3B7CE3Q.js} +14 -14
  50. package/dist/{chunk-E3P3LJG6.js → chunk-FLREUEHW.js} +28 -11
  51. package/dist/{chunk-VW63MHQU.js → chunk-FUA22HO4.js} +1 -1
  52. package/dist/{chunk-3W4B6G7Y.js → chunk-GAFEU6AB.js} +13 -10
  53. package/dist/{chunk-DIKAPMMF.js → chunk-GQVTTWZF.js} +144 -39
  54. package/dist/{chunk-2LSCYS2H.js → chunk-HCLBM2LQ.js} +2 -2
  55. package/dist/{chunk-GR5DQKDR.js → chunk-HG5ECUOR.js} +5 -5
  56. package/dist/{chunk-2NERNYCJ.js → chunk-HPGQPRHY.js} +3 -3
  57. package/dist/{chunk-SOY2FPOR.js → chunk-HQD7ODQB.js} +5 -5
  58. package/dist/{chunk-XQPA4W3M.js → chunk-JU4T4VAA.js} +4 -4
  59. package/dist/{chunk-7HTH5PFK.js → chunk-JVTWX5G3.js} +33 -8
  60. package/dist/{chunk-UNATIAOT.js → chunk-JXTPNUSO.js} +83 -51
  61. package/dist/{chunk-2VXY3PEF.js → chunk-K2VXPQKC.js} +107 -94
  62. package/dist/chunk-K4MJX7SR.js +17 -0
  63. package/dist/{chunk-BJAS2JLW.js → chunk-KDEV5RIE.js} +7 -3
  64. package/dist/{chunk-WFS6S65A.js → chunk-LMIDZIW2.js} +12 -12
  65. package/dist/{chunk-5J6TWLFG.js → chunk-LOGKDQ3G.js} +3 -3
  66. package/dist/{chunk-IW5G323T.js → chunk-LTGTN2TH.js} +8 -9
  67. package/dist/{chunk-F5LLORBP.js → chunk-LZ4WPR3B.js} +2 -2
  68. package/dist/{chunk-7QNIXBQD.js → chunk-M2VXARYK.js} +3 -2
  69. package/dist/{chunk-7YSFE4SZ.js → chunk-MCFPMUMT.js} +2 -2
  70. package/dist/{chunk-YS4JUGNI.js → chunk-MGSNFWGR.js} +2 -2
  71. package/dist/{chunk-V7ZA2BNW.js → chunk-MO6RTNYD.js} +1 -1
  72. package/dist/{chunk-OFV3WSOE.js → chunk-N33FO44R.js} +1 -1
  73. package/dist/{chunk-GKHMSSGY.js → chunk-N3M3IU6S.js} +1 -1
  74. package/dist/{chunk-6LWUPIKD.js → chunk-NVVIFW3C.js} +10 -10
  75. package/dist/{chunk-4LXZJIVY.js → chunk-O2ILONGK.js} +10 -10
  76. package/dist/{chunk-C4Y3ZREE.js → chunk-OJNNKHAZ.js} +75 -22
  77. package/dist/{chunk-UB7BIDBS.js → chunk-PEHST4UY.js} +3 -3
  78. package/dist/{chunk-RTLPWOO6.js → chunk-POFJH2IS.js} +1 -1
  79. package/dist/{chunk-7YKJF5JV.js → chunk-PXK3ICU6.js} +1 -1
  80. package/dist/{chunk-M3KZBDPB.js → chunk-Q4HKC3O7.js} +3 -3
  81. package/dist/{chunk-X5CECNCK.js → chunk-QJQTWTM7.js} +8 -3
  82. package/dist/{chunk-QFPBRZJD.js → chunk-ROEW726S.js} +1 -1
  83. package/dist/{chunk-D625D4TV.js → chunk-RUPGFW5B.js} +6 -6
  84. package/dist/{chunk-EFXMETRK.js → chunk-RZWJJCI7.js} +2 -2
  85. package/dist/{chunk-TZEKVLPV.js → chunk-SNECH6QA.js} +1 -1
  86. package/dist/{chunk-REUL2KH2.js → chunk-ST35C4K6.js} +1 -1
  87. package/dist/{chunk-LMNZLZMJ.js → chunk-ST4SHO3S.js} +1 -1
  88. package/dist/{chunk-6DLCOQR4.js → chunk-TDYKVJTU.js} +119 -34
  89. package/dist/{chunk-4TKJWWPL.js → chunk-VHIBBDEI.js} +1 -1
  90. package/dist/{chunk-VPC4XIVI.js → chunk-VPON6DF2.js} +5 -5
  91. package/dist/{chunk-DYNHVCBF.js → chunk-XYGULBFV.js} +2 -2
  92. package/dist/{chunk-VLLFORE2.js → chunk-Y3BT27Y7.js} +1 -1
  93. package/dist/{clean-5HGESK5A.js → clean-NS2SDRK7.js} +21 -20
  94. package/dist/cli.js +53 -53
  95. package/dist/{cloud-746PHS32.js → cloud-K4XQPWTY.js} +4 -4
  96. package/dist/{cloudrun-DO7WFLSM.js → cloudrun-BKOKXTXV.js} +6 -6
  97. package/dist/{compare-66YPRNG2.js → compare-ZAV773OL.js} +31 -30
  98. package/dist/{compiler-R4UYDWXO.js → compiler-CWHFCE3H.js} +5 -5
  99. package/dist/{component-EQ3H6RFP.js → component-OXA2ZWX3.js} +3 -3
  100. package/dist/{compositions-ZZ7P5HT2.js → compositions-NKRVWCPE.js} +12 -11
  101. package/dist/{contactSheet-SZBJDOMT.js → contactSheet-5APX35L3.js} +1 -1
  102. package/dist/{delete-Z5MSLJSR.js → delete-HZ2LBCLC.js} +2 -2
  103. package/dist/{deploy-RGSAC2K5.js → deploy-FNDTZFF7.js} +1 -1
  104. package/dist/{deterministicFonts-RO2TCMLZ.js → deterministicFonts-RADD3BSX.js} +2 -2
  105. package/dist/{dist-RKK4YLAD.js → dist-2YTN2UGY.js} +3 -3
  106. package/dist/{dist-QQ26RUDV.js → dist-7OCZHNLY.js} +1 -1
  107. package/dist/{doctor-W4ZZDRTU.js → doctor-6QWJGO5P.js} +14 -13
  108. package/dist/{events-UACT7PX3.js → events-HTHOBIUN.js} +3 -3
  109. package/dist/{events-BSSL4A4W.js → events-MBKHVGXX.js} +2 -2
  110. package/dist/{feedback-47ILDLQG.js → feedback-X5QWTLEX.js} +8 -8
  111. package/dist/{ffmpeg-IEHSUNUT.js → ffmpeg-7GESJCCT.js} +9 -8
  112. package/dist/{figma-PLFIIYRU.js → figma-SXOHFVJI.js} +3 -3
  113. package/dist/fontLocalizeCli.js +11 -10
  114. package/dist/{get-PDWGJYNL.js → get-T2HI5FCK.js} +2 -2
  115. package/dist/{gpuPolicy-6UBXO6ME.js → gpuPolicy-5FABKW5G.js} +8 -7
  116. package/dist/{grade-compare-5VWLQGM7.js → grade-compare-JATGHA6Q.js} +37 -35
  117. package/dist/{gsapParser-UP3PNPC2.js → gsapParser-IEUSLYDJ.js} +11 -11
  118. package/dist/{gsapParserAcorn-OOTY2MVN.js → gsapParserAcorn-LZJKCFQI.js} +1 -1
  119. package/dist/{help-DS3KMWYO.js → help-G6CIKCGS.js} +1 -1
  120. package/dist/{history-OC326NVZ.js → history-CSJUHYTD.js} +7 -7
  121. package/dist/hyperframe.manifest.json +1 -1
  122. package/dist/hyperframe.runtime.iife.js +69 -63
  123. package/dist/hyperframes-player.global.js +3 -3
  124. package/dist/hyperframes-slideshow.global.js +1 -1
  125. package/dist/{info-AUIFV6MX.js → info-MTTUMW2C.js} +8 -8
  126. package/dist/{init-MRTWWDFW.js → init-LJYNI5EK.js} +30 -29
  127. package/dist/{inspect-55NOAXI2.js → inspect-HGDM2VJE.js} +31 -30
  128. package/dist/{installer-YSFFGBBV.js → installer-3XHURUDG.js} +5 -5
  129. package/dist/{keyframes-OO2BX2IB.js → keyframes-MSU7N53X.js} +59 -33
  130. package/dist/{lambda-CXXY6QT3.js → lambda-2I2TIUSD.js} +8 -8
  131. package/dist/{layout-57GJXKDK.js → layout-KWOXZMN7.js} +31 -30
  132. package/dist/{lint-J4FK3Z6G.js → lint-N53TLHFG.js} +7 -7
  133. package/dist/{lintProject-52SLJPRC.js → lintProject-EOUZA4EG.js} +1 -1
  134. package/dist/{list-VDQUJ76B.js → list-SHYPQC7U.js} +2 -2
  135. package/dist/{login-TJSEALWW.js → login-TEB6PA3Y.js} +4 -4
  136. package/dist/{manager-MZIJY73J.js → manager-COSJVRAE.js} +2 -2
  137. package/dist/{manager-4PLYEEWP.js → manager-PLRSZH5G.js} +10 -9
  138. package/dist/{media-treatment-GXP4PMJH.js → media-treatment-XTUKMIGE.js} +15 -14
  139. package/dist/{models-HQQQKEEP.js → models-4WKAPP2L.js} +14 -13
  140. package/dist/{motionShot-2BT5D7DC.js → motionShot-PTKB4ILH.js} +17 -16
  141. package/dist/{normalize-audio-SOLFMHNP.js → normalize-audio-3NG326I2.js} +6 -6
  142. package/dist/{open-KHEUODFQ.js → open-6S2LMF7R.js} +12 -12
  143. package/dist/{parakeetRunner-BHU5NCAX.js → parakeetRunner-OEI35DVO.js} +15 -14
  144. package/dist/{pipeline-WFV5HDTD.js → pipeline-543FUKH4.js} +10 -9
  145. package/dist/{play-GB34CANJ.js → play-ETEGHP3B.js} +21 -21
  146. package/dist/{preflight-REF3VSJ7.js → preflight-Y5IYUF2T.js} +11 -10
  147. package/dist/{present-SIUTA7TD.js → present-ZRSLMJ6J.js} +17 -17
  148. package/dist/{preview-T2GE7Z4A.js → preview-CEJ3SVTY.js} +100 -65
  149. package/dist/{producer-23KVQZAB.js → producer-JFVFIV26.js} +1 -1
  150. package/dist/{projectConfig-DBSNBPNP.js → projectConfig-7EK3BS72.js} +7 -7
  151. package/dist/{publication-IXPUKYWJ.js → publication-Y54GYFMV.js} +3 -3
  152. package/dist/{publish-3BA5VHXJ.js → publish-S3UJTPCV.js} +10 -10
  153. package/dist/{remove-background-RMSCJVVQ.js → remove-background-YTATNQSI.js} +11 -10
  154. package/dist/{render-XGOZMMWX.js → render-IIPXMSBO.js} +35 -34
  155. package/dist/{render-6RNE2MLU.js → render-RN3W6YL4.js} +17 -16
  156. package/dist/{render-Y6CTQ3YW.js → render-WNIG4B3J.js} +6 -6
  157. package/dist/{render-batch-VUR6N6EY.js → render-batch-OYS3UQDB.js} +6 -6
  158. package/dist/renderSetupWorker.js +42 -4
  159. package/dist/{resolver-GJCUH57W.js → resolver-OVCXVEDX.js} +5 -5
  160. package/dist/{sherpa-VVAKRCPL.js → sherpa-NCSFD7S3.js} +14 -13
  161. package/dist/skills/media-use/scripts/lib/duck.mjs +18 -2
  162. package/dist/skills/media-use/scripts/lib/duck.test.mjs +79 -0
  163. package/dist/{skills-ZHBURVQG.js → skills-IUV3K3X7.js} +5 -5
  164. package/dist/{skillsUpdateCheck-VMDAL2O2.js → skillsUpdateCheck-NACBXMWW.js} +3 -3
  165. package/dist/{snapshot-KEOG56SL.js → snapshot-7S5USJ2I.js} +39 -38
  166. package/dist/{src-TZLGFRRX.js → src-CAR6PHI4.js} +10 -9
  167. package/dist/{src-BH5NICGQ.js → src-HITT6NWG.js} +9 -6
  168. package/dist/{staticProjectServer-BKXL5CXB.js → staticProjectServer-QR6VZBPT.js} +18 -18
  169. package/dist/studio/assets/{hyperframes-player-BMcUdmDb.js → hyperframes-player-DLOUZUct.js} +1 -1
  170. package/dist/studio/assets/{index-Ca-mgTnS.js → index-CAQ7OcNJ.js} +163 -163
  171. package/dist/studio/assets/{index-Ci6GuloR.js → index-D9kA6JUX.js} +1 -1
  172. package/dist/studio/index.html +1 -1
  173. package/dist/{studio-api-A5U6QAMC.js → studio-api-HVNOJILH.js} +11 -11
  174. package/dist/{studioServer-5EC5CP4W.js → studioServer-3BG5FRJL.js} +53 -52
  175. package/dist/{telemetry-BCKJXDSW.js → telemetry-PET2GFQG.js} +3 -3
  176. package/dist/{timeline-AZWAXTAY.js → timeline-PVIC2Z5K.js} +20 -19
  177. package/dist/{tokens-X7NC3V7C.js → tokens-4N46PWSF.js} +2 -2
  178. package/dist/{transcribe-SH26H755.js → transcribe-2DVBS7MH.js} +19 -18
  179. package/dist/{transcribe-7NCY7QZ2.js → transcribe-IDC7JTM4.js} +13 -12
  180. package/dist/{updateCheck-Y7FUWQM4.js → updateCheck-QRDVXU7I.js} +2 -2
  181. package/dist/{upgrade-ZHGEVL65.js → upgrade-5CNE3TBH.js} +2 -2
  182. package/dist/{urlDownloader-FPILIT7M.js → urlDownloader-P2I25DFC.js} +7 -6
  183. package/dist/{validate-KQOZR4F6.js → validate-CLR5PEOV.js} +25 -24
  184. package/dist/{video-N2QAETFB.js → video-3CKZZBOB.js} +8 -7
  185. package/dist/warmCheck.js +38 -37
  186. package/package.json +1 -1
  187. package/dist/chunk-USWPZXEA.js +0 -3897
@@ -8,31 +8,31 @@ import {
8
8
  launchManagedBrowser,
9
9
  resolveManagedGpuMode,
10
10
  rethrowAfterBrowserCleanup
11
- } from "./chunk-UIC7B5KW.js";
11
+ } from "./chunk-CEZH4AQT.js";
12
12
  import {
13
13
  gotoWhenSent
14
14
  } from "./chunk-MOEGCMKI.js";
15
15
  import {
16
16
  pageNavigationTimeoutMs,
17
17
  windowsChromeCrashRemediation
18
- } from "./chunk-UB7BIDBS.js";
18
+ } from "./chunk-PEHST4UY.js";
19
19
  import {
20
20
  oneProcessOverPipe
21
21
  } from "./chunk-DKPNNYBZ.js";
22
22
  import {
23
23
  resolveCompositionViewportFromHtml
24
- } from "./chunk-4TKJWWPL.js";
24
+ } from "./chunk-VHIBBDEI.js";
25
25
  import {
26
26
  resolveLocalBrowserGpuMode,
27
27
  resolveLocalWebGpu
28
- } from "./chunk-YS4JUGNI.js";
28
+ } from "./chunk-MGSNFWGR.js";
29
29
  import {
30
30
  c
31
31
  } from "./chunk-ZTZA4UWZ.js";
32
32
  import {
33
33
  assertWebGpuAdapterAvailable,
34
34
  compositionRequiresWebGpu
35
- } from "./chunk-L4JB7LI4.js";
35
+ } from "./chunk-52YJKWV3.js";
36
36
  import {
37
37
  normalizeErrorMessage
38
38
  } from "./chunk-T2EUWCJE.js";
@@ -140,7 +140,7 @@ async function waitForCompositionSettle(page, options) {
140
140
  console.warn(` ${c.warn("\u26A0")} Shader transitions did not finish pre-rendering`);
141
141
  });
142
142
  await waitForLateSubresources(page, options.lateSubresourceTimeoutMs ?? CAPTURE_SETTLE_MS);
143
- const { resolveConfig, waitForImagesReady } = await import("./src-BH5NICGQ.js");
143
+ const { resolveConfig, waitForImagesReady } = await import("./src-HITT6NWG.js");
144
144
  const imageTimeoutMs = resolveConfig().playerReadyTimeout;
145
145
  await waitForImagesReady(
146
146
  page,
@@ -189,7 +189,7 @@ async function installPageFunctionGuard(page) {
189
189
  async function openSettledCompositionPage(html, url, options) {
190
190
  const viewport = resolveCompositionViewportFromHtml(html);
191
191
  const requiresWebGpu = compositionRequiresWebGpu(html);
192
- const answer = (await import("./staticProjectServer-BKXL5CXB.js")).inProcessAnswer(url);
192
+ const answer = (await import("./staticProjectServer-QR6VZBPT.js")).inProcessAnswer(url);
193
193
  const noListen = answer !== void 0;
194
194
  let chromeBrowser;
195
195
  try {
@@ -200,7 +200,7 @@ async function openSettledCompositionPage(html, url, options) {
200
200
  options.onBrowserReady?.();
201
201
  const page = await chromeBrowser.newPage();
202
202
  await installPageFunctionGuard(page);
203
- const { installMediaRenderIdBridge } = await import("./src-BH5NICGQ.js");
203
+ const { installMediaRenderIdBridge } = await import("./src-HITT6NWG.js");
204
204
  await installMediaRenderIdBridge(page);
205
205
  await page.setViewport(viewport);
206
206
  if (answer) await answerPageInProcess(page, url, answer);
@@ -216,10 +216,10 @@ async function openSettledCompositionPage(html, url, options) {
216
216
  }
217
217
  async function launchCompositionBrowser(html, noListen, options) {
218
218
  const viewport = resolveCompositionViewportFromHtml(html);
219
- const { ensureBrowser, findSystemBrowser } = await import("./manager-MZIJY73J.js");
219
+ const { ensureBrowser, findSystemBrowser } = await import("./manager-COSJVRAE.js");
220
220
  const browser = await ensureBrowser({ signal: options.signal });
221
221
  const puppeteer = await import("puppeteer-core");
222
- const { buildChromeArgs } = await import("./src-BH5NICGQ.js");
222
+ const { buildChromeArgs } = await import("./src-HITT6NWG.js");
223
223
  const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
224
224
  const requiresWebGpu = compositionRequiresWebGpu(html);
225
225
  let softwareWebGpu = false;
@@ -21,7 +21,7 @@ import {
21
21
  mkdirWithinProject
22
22
  } from "./chunk-OFQWTKPW.js";
23
23
 
24
- // ../studio-server/dist/chunk-JPKAFJIJ.js
24
+ // ../studio-server/dist/chunk-4HP26XV4.js
25
25
  import { randomUUID as randomUUID7 } from "crypto";
26
26
  import { mkdir as mkdir2, readdir as readdir3, rm as rm3, rmdir, stat as stat2, writeFile } from "fs/promises";
27
27
  import {
@@ -554,14 +554,41 @@ async function cloneOrCopy(from, to, beforeReplace) {
554
554
  throw error;
555
555
  }
556
556
  }
557
+ var listDir = (path) => readdir(path, { withFileTypes: true }).catch((error) => {
558
+ if (error.code === "ENOENT") return [];
559
+ throw error;
560
+ });
557
561
  async function openBlobStore(dir) {
558
562
  const sizes = /* @__PURE__ */ new Map();
563
+ const asideDir = join2(dirname(dir), "aside");
564
+ const asideSizes = /* @__PURE__ */ new Map();
565
+ const holds = /* @__PURE__ */ new Map();
559
566
  await mkdir(dir, { recursive: true });
560
- for (const shard of await readdir(dir))
561
- for (const hash of await readdir(join2(dir, shard)).catch(() => []))
562
- sizes.set(hash, (await stat(join2(dir, shard, hash))).size);
563
- const pathOf = (hash) => blobPath(dir, hash);
567
+ for (const [root, found] of [
568
+ [dir, sizes],
569
+ [asideDir, asideSizes]
570
+ ])
571
+ for (const shard of await listDir(root)) {
572
+ if (!shard.isDirectory()) {
573
+ if (shard.name.startsWith("incoming-")) await rm(join2(root, shard.name), { force: true });
574
+ continue;
575
+ }
576
+ for (const hash of await listDir(join2(root, shard.name)))
577
+ found.set(hash.name, (await stat(join2(root, shard.name, hash.name))).size);
578
+ }
579
+ for (const hash of asideSizes.keys()) holds.set(hash, /* @__PURE__ */ new Set(["*"]));
580
+ const pathOf = (hash) => blobPath(sizes.has(hash) ? dir : asideDir, hash);
564
581
  let total = [...sizes.values()].reduce((sum, size) => sum + size, 0);
582
+ const forget = async (hash) => {
583
+ await rm(blobPath(dir, hash), { force: true });
584
+ total -= sizes.get(hash) ?? 0;
585
+ sizes.delete(hash);
586
+ };
587
+ const forgetAside = async (hash) => {
588
+ await rm(blobPath(asideDir, hash), { force: true });
589
+ asideSizes.delete(hash);
590
+ holds.delete(hash);
591
+ };
565
592
  return {
566
593
  async put(absPath) {
567
594
  const temp = join2(dir, `incoming-${randomUUID3()}`);
@@ -575,35 +602,55 @@ async function openBlobStore(dir) {
575
602
  await rm(temp, { force: true });
576
603
  return hash;
577
604
  }
578
- await mkdir(dirname(pathOf(hash)), { recursive: true });
605
+ await mkdir(dirname(blobPath(dir, hash)), { recursive: true });
579
606
  const size = (await stat(temp)).size;
580
- await rename(temp, pathOf(hash));
607
+ await rename(temp, blobPath(dir, hash));
581
608
  sizes.set(hash, size);
582
609
  total += size;
583
610
  return hash;
584
611
  },
585
612
  reference: (absPath) => hashFile(absPath),
586
- has: (hash) => sizes.has(hash),
587
- read: async (hash) => readBlob(dir, hash),
613
+ has: (hash) => sizes.has(hash) || asideSizes.has(hash),
614
+ read: (hash) => readFile(pathOf(hash)),
588
615
  writeTo: async (hash, absPath, beforeReplace) => cloneOrCopy(pathOf(hash), absPath, beforeReplace),
616
+ async release(held) {
617
+ for (const [hash, path] of held) {
618
+ holds.get(hash)?.delete(path);
619
+ if (holds.get(hash)?.size === 0) await forgetAside(hash);
620
+ }
621
+ },
622
+ async keep(path, absPath, remove) {
623
+ const hash = await hashFile(absPath);
624
+ if (sizes.has(hash)) return;
625
+ if (asideSizes.has(hash)) {
626
+ holds.get(hash).add(path);
627
+ return;
628
+ }
629
+ const to = blobPath(asideDir, hash);
630
+ await mkdir(dirname(to), { recursive: true });
631
+ const moved = remove && await rename(absPath, to).then(
632
+ () => true,
633
+ () => false
634
+ );
635
+ if (!moved) {
636
+ const temp = join2(asideDir, `incoming-${randomUUID3()}`);
637
+ await cloneOrStream(absPath, temp).catch(async (error) => {
638
+ await rm(temp, { force: true });
639
+ throw error;
640
+ });
641
+ await rename(temp, to);
642
+ }
643
+ asideSizes.set(hash, (await stat(to)).size);
644
+ holds.set(hash, /* @__PURE__ */ new Set([path]));
645
+ },
589
646
  bytes: () => total,
590
647
  size: (hash) => sizes.get(hash) ?? 0,
591
648
  async drop(hashes) {
592
- for (const hash of hashes) {
593
- const size = sizes.get(hash);
594
- if (size === void 0) continue;
595
- await rm(pathOf(hash), { force: true });
596
- sizes.delete(hash);
597
- total -= size;
598
- }
649
+ for (const hash of hashes) if (sizes.has(hash)) await forget(hash);
599
650
  },
600
651
  async prune(keep) {
601
- for (const [hash, size] of sizes) {
602
- if (keep.has(hash)) continue;
603
- await rm(pathOf(hash), { force: true });
604
- sizes.delete(hash);
605
- total -= size;
606
- }
652
+ for (const hash of [...sizes.keys()]) if (!keep.has(hash)) await forget(hash);
653
+ for (const hash of [...asideSizes.keys()]) if (!keep.has(hash)) await forgetAside(hash);
607
654
  }
608
655
  };
609
656
  }
@@ -2288,6 +2335,9 @@ var Engine = class {
2288
2335
  this.windows.push(group);
2289
2336
  try {
2290
2337
  for (const [path, hash] of changes) await this.writeProjectFile(path, hash);
2338
+ await this.blobs.release(
2339
+ changes.flatMap(([path, hash]) => hash ? [[hash, path]] : [])
2340
+ );
2291
2341
  await this.sweep();
2292
2342
  } finally {
2293
2343
  this.windows = this.windows.filter((open) => open !== group);
@@ -2303,6 +2353,9 @@ var Engine = class {
2303
2353
  const version = hash === null ? DELETED_VERSION : hashVersion(hash);
2304
2354
  recordFileWriteReceipt(absPath, { path, version, writeToken });
2305
2355
  }
2356
+ const standing = lstatSync4(absPath, { throwIfNoEntry: false });
2357
+ if (standing?.isFile() && isUncopied(path, standing.size))
2358
+ await this.blobs.keep(path, absPath, hash === null);
2306
2359
  if (hash === null) {
2307
2360
  this.assertWritable();
2308
2361
  rmSync3(absPath, { force: true });
@@ -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-FUA22HO4.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-52YJKWV3.js";
20
20
  import {
21
21
  parseFps
22
- } from "./chunk-7HTH5PFK.js";
22
+ } from "./chunk-JVTWX5G3.js";
23
23
 
24
24
  // src/browser/windowsCrash.ts
25
25
  var STATUS_STACK_BUFFER_OVERRUN_DEC = "3221225595";
@@ -8,7 +8,7 @@ import {
8
8
  flush,
9
9
  shouldTrack,
10
10
  trackEvent
11
- } from "./chunk-ZZPBXRYQ.js";
11
+ } from "./chunk-54PZ2EQZ.js";
12
12
  import {
13
13
  CliRuntimeError
14
14
  } from "./chunk-JVBRJMOP.js";
@@ -10,7 +10,7 @@ import {
10
10
  isDevice,
11
11
  isQuality,
12
12
  render
13
- } from "./chunk-ZTKFRXJB.js";
13
+ } from "./chunk-DVQDBWQG.js";
14
14
 
15
15
  // src/api/removeBackground.ts
16
16
  import { resolve } from "path";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  stoppedByCancelSignal
9
- } from "./chunk-BP4EMEGH.js";
9
+ } from "./chunk-4VSV56F2.js";
10
10
  import {
11
11
  DEFAULT_MODEL,
12
12
  ensureModel,
@@ -14,12 +14,12 @@ import {
14
14
  hasFFmpeg,
15
15
  pinnedWhisperModel,
16
16
  sha256File
17
- } from "./chunk-VLLFORE2.js";
17
+ } from "./chunk-Y3BT27Y7.js";
18
18
  import {
19
19
  findFFmpeg,
20
20
  findFFprobe,
21
21
  getFFmpegInstallHint
22
- } from "./chunk-DYNHVCBF.js";
22
+ } from "./chunk-XYGULBFV.js";
23
23
  import {
24
24
  findWavChunk
25
25
  } from "./chunk-UOFAE5RF.js";
@@ -11,7 +11,7 @@ import {
11
11
  DEFAULT_REGISTRY_URL,
12
12
  fetchItemManifest,
13
13
  fetchRegistryManifest
14
- } from "./chunk-7QNIXBQD.js";
14
+ } from "./chunk-M2VXARYK.js";
15
15
 
16
16
  // src/registry/resolver.ts
17
17
  function defaultWarn(message) {
@@ -34,7 +34,10 @@ async function loadAllItems(entries, options = {}) {
34
34
  let timedOut = false;
35
35
  const loaded = await runWithConcurrencyLimit(entries, ITEM_FETCH_CONCURRENCY, async (e) => {
36
36
  try {
37
- return await fetchItemManifest(e.name, e.type, baseUrl, { cacheOnly: timedOut });
37
+ return await fetchItemManifest(e.name, e.type, baseUrl, {
38
+ skipCache: options.skipCache,
39
+ cacheOnly: timedOut
40
+ });
38
41
  } catch (err) {
39
42
  if (err instanceof Error && err.name === "TimeoutError") timedOut = true;
40
43
  skipped.push(`"${e.name}"`);
@@ -91,7 +94,9 @@ async function resolveItemWithDependencies(name, options = {}) {
91
94
  available.length > 0 ? `Dependency "${itemName}" not found in registry. Available: ${available}` : unreachableRegistryMessage(itemName, options.baseUrl)
92
95
  );
93
96
  }
94
- const pending = fetchItemManifest(registryEntry.name, registryEntry.type, options.baseUrl);
97
+ const pending = fetchItemManifest(registryEntry.name, registryEntry.type, options.baseUrl, {
98
+ skipCache: options.skipCache
99
+ });
95
100
  itemCache.set(itemName, pending);
96
101
  return pending;
97
102
  };
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  FONT_ALIAS_MAP,
16
16
  resolveAliasDisplayName
17
- } from "./chunk-2MCXIY4B.js";
17
+ } from "./chunk-B7RJV74O.js";
18
18
  import {
19
19
  parseHTML
20
20
  } from "./chunk-SDYDNHEE.js";
@@ -14,33 +14,33 @@ import {
14
14
  } from "./chunk-6JR2XUEE.js";
15
15
  import {
16
16
  readCompositionFps
17
- } from "./chunk-VW63MHQU.js";
17
+ } from "./chunk-FUA22HO4.js";
18
18
  import {
19
19
  HF_AUDIO_GROUP_ATTR,
20
20
  extractAudioMetadata,
21
21
  extractMediaMetadata
22
- } from "./chunk-L4JB7LI4.js";
22
+ } from "./chunk-52YJKWV3.js";
23
23
  import {
24
24
  byStart,
25
25
  fpsToNumber,
26
26
  parseFpsWithDefault
27
- } from "./chunk-7HTH5PFK.js";
27
+ } from "./chunk-JVTWX5G3.js";
28
28
  import {
29
29
  HF_AUDIO_AUTOMATION_ATTR,
30
30
  HF_AUDIO_FX_ATTR,
31
31
  parseAudioFxChain,
32
32
  parseAutomation,
33
33
  resolveAutomation
34
- } from "./chunk-USWPZXEA.js";
34
+ } from "./chunk-2D5WP2NI.js";
35
35
  import {
36
36
  isSubCompositionHost,
37
37
  topLevelElements,
38
38
  trackKindOf
39
- } from "./chunk-2MCXIY4B.js";
39
+ } from "./chunk-B7RJV74O.js";
40
40
  import {
41
41
  resolveReferencedDuration,
42
42
  resolveReferencedStart
43
- } from "./chunk-2VXY3PEF.js";
43
+ } from "./chunk-K2VXPQKC.js";
44
44
  import {
45
45
  resolveAuthoredAssetFile
46
46
  } from "./chunk-6BNTGNGD.js";
@@ -19,10 +19,10 @@ import {
19
19
  import {
20
20
  formatVariableValidationIssue,
21
21
  validateVariables
22
- } from "./chunk-7HTH5PFK.js";
22
+ } from "./chunk-JVTWX5G3.js";
23
23
  import {
24
24
  extractCompositionMetadata
25
- } from "./chunk-2MCXIY4B.js";
25
+ } from "./chunk-B7RJV74O.js";
26
26
 
27
27
  // src/utils/variables.ts
28
28
  import { readFileSync } from "fs";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-ISN5GRYI.js";
18
18
  import {
19
19
  VERSION
20
- } from "./chunk-LFUVTS6V.js";
20
+ } from "./chunk-EY7GKVPS.js";
21
21
 
22
22
  // src/utils/updateCheck.ts
23
23
  import { existsSync, readFileSync } from "fs";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  VALID_CANVAS_RESOLUTIONS,
9
9
  resolveResolutionFlagPair
10
- } from "./chunk-2MCXIY4B.js";
10
+ } from "./chunk-B7RJV74O.js";
11
11
 
12
12
  // src/utils/parseOutputResolution.ts
13
13
  function parseOutputResolutionFlag(raw, options) {
@@ -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-POFJH2IS.js";
13
13
  import {
14
14
  failCommand
15
15
  } from "./chunk-JVBRJMOP.js";