hyperframes 0.8.139 → 0.8.140

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 (195) hide show
  1. package/dist/{add-VYJQ4S3P.js → add-7SPPQB64.js} +20 -22
  2. package/dist/{animatedGifPrep-IBMW6FZB.js → animatedGifPrep-HN3CJSFX.js} +15 -8
  3. package/dist/{asset-FLSUS73X.js → asset-AZMFUTRL.js} +3 -3
  4. package/dist/{assetCataloger-TGD7TRCR.js → assetCataloger-TQUWYLHE.js} +6 -3
  5. package/dist/{auth-EZXIN4M4.js → auth-XGY74R4A.js} +7 -7
  6. package/dist/{autoUpdate-ZPMY5T3X.js → autoUpdate-44NTJBQU.js} +2 -2
  7. package/dist/{backgroundChecks-JIDTAUFE.js → backgroundChecks-ET4DJEPG.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-FNZ6TJYY.js → batchRender-HTWWNF3P.js} +11 -8
  10. package/dist/beat-analyzer.global.js +5 -2
  11. package/dist/{beats-EAA4U3YN.js → beats-4GYTZUZG.js} +24 -17
  12. package/dist/{benchmark-KKZQVK2Y.js → benchmark-CJQHE3QN.js} +20 -23
  13. package/dist/{browser-ZIVVJLJT.js → browser-NXOVPGDG.js} +14 -28
  14. package/dist/{bundleWithLocalizedFonts-2XWC3PEM.js → bundleWithLocalizedFonts-6PJP54TC.js} +5 -5
  15. package/dist/{capture-MKJHABUL.js → capture-5EHGRJZM.js} +2 -2
  16. package/dist/{capture-EFYPXI42.js → capture-EHOMO4MP.js} +22 -15
  17. package/dist/{catalog-EWX4BBI2.js → catalog-PTX5Z52R.js} +28 -30
  18. package/dist/{catch-up-FJFH7T4W.js → catch-up-I45SPSCU.js} +11 -25
  19. package/dist/{check-YJNVDCBP.js → check-LJ7LG7OI.js} +72 -54
  20. package/dist/{checkBrowser-I6SPPEGD.js → checkBrowser-6EK5E4PG.js} +81 -36
  21. package/dist/chunk-24OWOBQH.js +3656 -0
  22. package/dist/{chunk-SIKMUO45.js → chunk-2GMKWYEH.js} +12 -12
  23. package/dist/{chunk-GIDHR5OL.js → chunk-5IKJONRY.js} +1 -1
  24. package/dist/{chunk-GWV2Y36Q.js → chunk-6U3MN4HW.js} +5 -106
  25. package/dist/chunk-A4KQZXZI.js +116 -0
  26. package/dist/{chunk-PFI3VD77.js → chunk-ABJNXQUA.js} +10 -10
  27. package/dist/{chunk-HOIHGPWO.js → chunk-ASW6NWON.js} +1 -1
  28. package/dist/chunk-B3I3XJ47.js +3711 -0
  29. package/dist/{chunk-3RT6D4P6.js → chunk-BJ5JWOES.js} +1 -1
  30. package/dist/{chunk-4VZBKOQJ.js → chunk-BQKEGPPL.js} +1 -1
  31. package/dist/{chunk-SHB5VDMH.js → chunk-BRITLL56.js} +1 -1
  32. package/dist/{chunk-7SI7GCX6.js → chunk-C2JUHIG5.js} +6 -6
  33. package/dist/{chunk-TCWL4BKK.js → chunk-DDQ4LOML.js} +1 -1
  34. package/dist/{chunk-CDJ7FPPJ.js → chunk-DQNOPYAG.js} +1 -1
  35. package/dist/{chunk-JH556Q42.js → chunk-EDYBFSPE.js} +2 -2
  36. package/dist/{chunk-W7SAWBQC.js → chunk-F3SPK6SO.js} +1 -1
  37. package/dist/chunk-FXMKHHPO.js +123 -0
  38. package/dist/chunk-G75ENCEZ.js +283 -0
  39. package/dist/{chunk-PLNWWGE7.js → chunk-GQJZORQP.js} +1 -1
  40. package/dist/{chunk-Y6W4DVPS.js → chunk-HKCNZITN.js} +1 -1
  41. package/dist/{chunk-U3GEXWI5.js → chunk-IFY57LUW.js} +1 -1
  42. package/dist/{chunk-UQXOHEQ7.js → chunk-IRBESGJ7.js} +4 -4
  43. package/dist/chunk-JFKL3WAE.js +161 -0
  44. package/dist/{chunk-25DHUDOK.js → chunk-JSGANFFH.js} +12 -3
  45. package/dist/{chunk-UGI77E35.js → chunk-KECV5G4V.js} +165 -59
  46. package/dist/{chunk-EZ2P7LAP.js → chunk-KFQNMY36.js} +8 -8
  47. package/dist/{chunk-FLRCVYNE.js → chunk-KJLY2SDJ.js} +2 -2
  48. package/dist/{chunk-XOZ3J3LB.js → chunk-KMKWRIMC.js} +1 -1
  49. package/dist/{chunk-O6K5DWXM.js → chunk-KOEWEFHK.js} +1 -1
  50. package/dist/{chunk-IBRZUVTH.js → chunk-L2H2L22P.js} +2 -2
  51. package/dist/{chunk-BC3OY2ED.js → chunk-LQG6GPVK.js} +1 -1
  52. package/dist/{chunk-Z67RZ4XO.js → chunk-MHK5DE2P.js} +263 -1960
  53. package/dist/{chunk-A4X2YWNQ.js → chunk-MTVDXB6S.js} +18 -289
  54. package/dist/{chunk-CDMB3PRC.js → chunk-MU6C2VP6.js} +7 -7
  55. package/dist/{chunk-UMWROSIP.js → chunk-MUINFURL.js} +2 -2
  56. package/dist/{chunk-JTAYFSLO.js → chunk-PB3P4MKP.js} +1 -1
  57. package/dist/{chunk-JIIIBTN2.js → chunk-PE2I3AFA.js} +1 -1
  58. package/dist/{chunk-OENM2JVZ.js → chunk-PFJFHNU3.js} +3 -3
  59. package/dist/{chunk-EH4VUY27.js → chunk-PPKFM5WE.js} +2 -2
  60. package/dist/{chunk-DW32KBHN.js → chunk-PUBKHEEA.js} +13 -13
  61. package/dist/{chunk-DUQJF7FK.js → chunk-QBK7WKHT.js} +8 -8
  62. package/dist/{chunk-U3HX7WE6.js → chunk-QG3PDRSO.js} +1 -1
  63. package/dist/{chunk-EJ7OWYF2.js → chunk-QP3BRKGF.js} +1 -163
  64. package/dist/chunk-QZ3AZTXI.js +1740 -0
  65. package/dist/{chunk-YOL4QRSL.js → chunk-SLEPCESN.js} +2 -2
  66. package/dist/chunk-T76PLPD6.js +57 -0
  67. package/dist/{chunk-QXOFUKBF.js → chunk-TPECLKPA.js} +168 -165
  68. package/dist/{chunk-R7LWDIKB.js → chunk-TYT2TLJR.js} +1 -1
  69. package/dist/{chunk-Q73ISOVQ.js → chunk-U7E736AJ.js} +1 -1
  70. package/dist/chunk-USDEMXXL.js +110 -0
  71. package/dist/{chunk-VTVS4IIP.js → chunk-VVJFZU6B.js} +2 -2
  72. package/dist/{chunk-JX7Y57YY.js → chunk-WKTHUC2R.js} +1 -1
  73. package/dist/{chunk-NTIOLSFE.js → chunk-WQBA3MH4.js} +3 -3
  74. package/dist/{chunk-STA43FMY.js → chunk-WY5OODN5.js} +71 -3855
  75. package/dist/{chunk-X3TMMIDP.js → chunk-X3X3VETN.js} +8 -8
  76. package/dist/{chunk-ZTZ7NCJT.js → chunk-XTFJOR3K.js} +1 -1
  77. package/dist/chunk-YA62XGXS.js +45 -0
  78. package/dist/{clean-P4KTCOUA.js → clean-Y3AQITOX.js} +29 -20
  79. package/dist/cli.js +55 -55
  80. package/dist/{cloud-PDY7S4HU.js → cloud-TDPOMBZF.js} +7 -7
  81. package/dist/{cloudrun-54MA2W5H.js → cloudrun-FPAVAVHP.js} +11 -8
  82. package/dist/commands/layout-audit.browser.js +37 -8
  83. package/dist/commands/motion-signature.browser.js +51 -2
  84. package/dist/{compare-LDWVSPC5.js → compare-LHL225ND.js} +40 -31
  85. package/dist/{compiler-CWSZ4W7J.js → compiler-RTU3KTLF.js} +7 -3
  86. package/dist/{component-FIEGC22U.js → component-L2YX7J56.js} +4 -4
  87. package/dist/{compositions-JR7PX356.js → compositions-V2UZKG7S.js} +23 -16
  88. package/dist/{delete-FXA2IHOS.js → delete-OXZEXUQY.js} +8 -8
  89. package/dist/{dist-4JZWRWS6.js → dist-N33CM63P.js} +21 -15
  90. package/dist/{dist-OJTEVNJR.js → dist-NZSQCYOF.js} +3 -1
  91. package/dist/{doctor-OTDHPM6K.js → doctor-MWTPSIVD.js} +20 -13
  92. package/dist/{events-UAFTI24U.js → events-4TZGQZWF.js} +6 -22
  93. package/dist/{events-6T7M2VCO.js → events-7VJJGC3D.js} +10 -23
  94. package/dist/{feedback-ZGZODHB6.js → feedback-HSGAPVN7.js} +67 -45
  95. package/dist/{figma-D26EJ7ZB.js → figma-AMC6FAK3.js} +6 -6
  96. package/dist/fontLocalizeCli.js +17 -10
  97. package/dist/{get-IAREU7IK.js → get-Y7DFEFYM.js} +8 -8
  98. package/dist/{gpuPolicy-NS7WZRDJ.js → gpuPolicy-A45VSUKR.js} +15 -8
  99. package/dist/{grade-compare-ZXHFHCD2.js → grade-compare-ERSA3OUI.js} +40 -31
  100. package/dist/{help-RVNYHW3N.js → help-TW2AADLZ.js} +4 -4
  101. package/dist/{history-THP4VNMF.js → history-DKGDSVWF.js} +12 -30
  102. package/dist/hyperframe-runtime.js +59 -59
  103. package/dist/hyperframe.manifest.json +1 -1
  104. package/dist/hyperframe.runtime.iife.js +59 -59
  105. package/dist/hyperframes-player.global.js +3 -3
  106. package/dist/{info-EOFRHN5A.js → info-I3NRRNX4.js} +17 -20
  107. package/dist/{init-YLIJE4CG.js → init-5Y3ZWZNF.js} +48 -41
  108. package/dist/{inspect-3D56ONJD.js → inspect-BJQKBB3X.js} +39 -30
  109. package/dist/{installer-GRR2GDZK.js → installer-27K4JS2I.js} +8 -5
  110. package/dist/{keyframes-NXNCTQPK.js → keyframes-6V2NZO22.js} +14 -25
  111. package/dist/{lambda-VGRZD7TR.js → lambda-AIMF3K4A.js} +16 -13
  112. package/dist/{layout-Z5DOS6DU.js → layout-YAPEBTU4.js} +39 -30
  113. package/dist/{lint-YD6NJGR2.js → lint-3LWWUIV7.js} +17 -23
  114. package/dist/{lintProject-ANMPLBIT.js → lintProject-LM3XZRPZ.js} +3 -1
  115. package/dist/{list-XGDKILYN.js → list-NTSGEZJ6.js} +8 -8
  116. package/dist/{login-GD5SA4RD.js → login-ZTDFGCCW.js} +9 -9
  117. package/dist/{logout-Q654A3SI.js → logout-GJXZQKOA.js} +5 -5
  118. package/dist/{media-treatment-TY4X4GQQ.js → media-treatment-ARHX446F.js} +21 -20
  119. package/dist/{models-MXRDH4WJ.js → models-VHNQVTHG.js} +19 -12
  120. package/dist/{motionShot-6LKR3C2E.js → motionShot-35HCSNCI.js} +22 -15
  121. package/dist/{normalize-O76AC4HE.js → normalize-IGLHCWTF.js} +0 -4
  122. package/dist/{normalize-audio-5ADDZKPJ.js → normalize-audio-AUC73JH3.js} +13 -26
  123. package/dist/{open-JXAMO325.js → open-C5LVNU3U.js} +11 -25
  124. package/dist/{pipeline-Q5MOPIIX.js → pipeline-4GDTK54T.js} +15 -8
  125. package/dist/{play-3SPH5GWZ.js → play-U7UANF7Z.js} +38 -32
  126. package/dist/{preflight-2PWAPKWC.js → preflight-Y5DN5D37.js} +3 -18
  127. package/dist/{present-ZTJQDKXZ.js → present-X6V6TX3E.js} +32 -26
  128. package/dist/{preview-4A3XZR6J.js → preview-K43RTRU2.js} +33 -26
  129. package/dist/{producer-5ZKKKQPB.js → producer-PVMFMW23.js} +1 -1
  130. package/dist/{projectConfig-WA4CS4SN.js → projectConfig-PI6MEN2T.js} +10 -7
  131. package/dist/{publication-CLG2FRRI.js → publication-67C7KVTL.js} +6 -3
  132. package/dist/{publish-YTT2WMXO.js → publish-RBV7EAMH.js} +27 -20
  133. package/dist/{refresh-K24ETHMA.js → refresh-MFITBIKV.js} +5 -5
  134. package/dist/{remove-background-W35INR3B.js → remove-background-Z2ECZX2Q.js} +22 -15
  135. package/dist/{render-7A4P5WMU.js → render-2GQMQBU3.js} +10 -7
  136. package/dist/{render-KICXUPNR.js → render-EFU4BZRZ.js} +23 -26
  137. package/dist/{render-WUBFQMAH.js → render-YBS3XGRJ.js} +52 -32
  138. package/dist/{render-batch-N7EFGE6S.js → render-batch-QC64OTB5.js} +11 -8
  139. package/dist/{renderCancellation-LYQPPFAO.js → renderCancellation-NTVU7IMB.js} +15 -8
  140. package/dist/renderSetupWorker.js +4 -2
  141. package/dist/{resolver-YTT2NENF.js → resolver-GBWYG3EI.js} +8 -5
  142. package/dist/{sherpa-353MW4UV.js → sherpa-ZW6PWJS4.js} +16 -9
  143. package/dist/skills/hyperframes/references/capability-menu.md +1 -1
  144. package/dist/skills/hyperframes-cli/SKILL.md +5 -0
  145. package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +1 -1
  146. package/dist/skills/hyperframes-cli/references/preview-render.md +1 -1
  147. package/dist/skills/media-use/SKILL.md +6 -4
  148. package/dist/skills/media-use/audio/scripts/lib/host-audio.mjs +28 -0
  149. package/dist/skills/media-use/audio/scripts/lib/host-audio.test.mjs +106 -0
  150. package/dist/skills/media-use/references/setup-providers.md +3 -2
  151. package/dist/skills/media-use/scripts/lib/heygen-cli.mjs +21 -1
  152. package/dist/skills/media-use/scripts/lib/heygen-cli.test.mjs +14 -0
  153. package/dist/skills/media-use/scripts/resolve.mjs +11 -6
  154. package/dist/{skills-2XJIOEBT.js → skills-VKZAX5AS.js} +15 -30
  155. package/dist/{skillsUpdateCheck-LMCCWGNO.js → skillsUpdateCheck-PAY2OPDE.js} +3 -3
  156. package/dist/{snapshot-WBRSTLJ2.js → snapshot-SD5R3NWX.js} +41 -32
  157. package/dist/{src-YWFJILQF.js → src-7SSERHNP.js} +19 -11
  158. package/dist/{src-ZS3BLTZ5.js → src-RXTXL3VL.js} +16 -9
  159. package/dist/{staticProjectServer-4VKVHPNG.js → staticProjectServer-XELJXX4J.js} +24 -16
  160. package/dist/{status-73MBN37B.js → status-JA6SKQVH.js} +7 -24
  161. package/dist/studio/assets/{hyperframes-player-CckOoCJ8.js → hyperframes-player-BLuyxnK7.js} +1 -1
  162. package/dist/studio/assets/{index-DsEkE5_G.js → index-CWfuDCoA.js} +1 -1
  163. package/dist/studio/assets/{index-BmIPrb8I.js → index-Dr3Bo9uH.js} +1 -1
  164. package/dist/studio/assets/{index-Br1Whc0f.js → index-VAHDM_zL.js} +204 -204
  165. package/dist/studio/{chunk-E422JDF5.js → chunk-H2DUOXTF.js} +2 -1
  166. package/dist/studio/index.d.ts +19 -3
  167. package/dist/studio/index.html +1 -1
  168. package/dist/studio/index.js +6498 -5813
  169. package/dist/studio/index.js.map +1 -1
  170. package/dist/studio/player.js +1 -1
  171. package/dist/{studio-api-5V4TVSQV.js → studio-api-4FNUZPJ4.js} +40 -28
  172. package/dist/{studioServer-M5XY3HYC.js → studioServer-GHLL3F2M.js} +99 -68
  173. package/dist/{system-RCRNX5VF.js → system-OQLOGGPJ.js} +2 -19
  174. package/dist/{telemetry-LOBRQGUD.js → telemetry-7AO77PMH.js} +8 -23
  175. package/dist/{timeline-3JCP6PXU.js → timeline-6LTHSRXM.js} +32 -22
  176. package/dist/{tokens-MLMIJBVF.js → tokens-K6B46KNL.js} +3 -3
  177. package/dist/{transcribe-KNFXDEAX.js → transcribe-CLLISRLZ.js} +16 -9
  178. package/dist/{transcribe-POH25ZPX.js → transcribe-K2OU6FZF.js} +20 -44
  179. package/dist/{updateCheck-5ITBSBST.js → updateCheck-X6UQBS6I.js} +2 -2
  180. package/dist/{upgrade-K6OK4FKT.js → upgrade-BZFKEADI.js} +5 -5
  181. package/dist/{urlDownloader-TJJQKADT.js → urlDownloader-VAVUXYEQ.js} +14 -7
  182. package/dist/{validate-PPPOBJHB.js → validate-VO5KEXWN.js} +26 -19
  183. package/dist/{video-OB22HWXZ.js → video-JV6Y4UJR.js} +18 -11
  184. package/package.json +1 -1
  185. package/dist/chunk-HYYSJI5D.js +0 -3742
  186. package/dist/{chunk-I465DBM6.js → chunk-246MOR5U.js} +3 -3
  187. package/dist/{deploy-MX76RZ36.js → deploy-5G4Z6LPA.js} +1 -1
  188. package/dist/{destroy-H2TZBYHH.js → destroy-GFQLTIY3.js} +1 -1
  189. package/dist/{docs-QAPJEGLS.js → docs-MPOM3PHH.js} +3 -3
  190. package/dist/{policies-FSDZVS2E.js → policies-4FEXMXPK.js} +3 -3
  191. package/dist/{progress-FBIEEB7Y.js → progress-5AM2MZ7V.js} +3 -3
  192. package/dist/{sites-TNVKZS73.js → sites-HZMADOA3.js} +1 -1
  193. package/dist/studio/{chunk-E422JDF5.js.map → chunk-H2DUOXTF.js.map} +0 -0
  194. package/dist/{telemetry-2YC4SGQU.js → telemetry-W5AKPI4R.js} +3 -3
  195. package/dist/{tts-FU35O6YB.js → tts-TOHSPWEG.js} +4 -4
@@ -16,7 +16,7 @@ import {
16
16
  EncoderInterruptedError,
17
17
  encoderFailureError,
18
18
  prepareAnimatedGifInputs
19
- } from "./chunk-YOL4QRSL.js";
19
+ } from "./chunk-SLEPCESN.js";
20
20
  import {
21
21
  createStudioPositionSeekReapplyScript
22
22
  } from "./chunk-KC5XXX3X.js";
@@ -28,7 +28,6 @@ import {
28
28
  HF_AUDIO_GROUP_TAG,
29
29
  HLS_MASTER_PLAYLIST,
30
30
  HLS_VIDEO_PLAYLIST,
31
- LOW_MEMORY_TOTAL_MB_THRESHOLD,
32
31
  MIXED_AUDIO_FILENAME,
33
32
  ManagedChildProcess,
34
33
  NotMediaPayloadError,
@@ -87,13 +86,11 @@ import {
87
86
  formatHdrAutoPromotionWarning,
88
87
  frameFileExtension,
89
88
  getCapturePerfSummary,
90
- getCgroupMemoryLimitMb,
91
89
  getCompositionDuration,
92
90
  getDrawElementVerificationDetails,
93
91
  getEncoderPreset,
94
92
  getFfmpegBinary,
95
93
  getFfprobeBinary,
96
- getSystemTotalMb,
97
94
  groupIntoLayers,
98
95
  initTransparentBackground,
99
96
  initializeSession,
@@ -144,7 +141,22 @@ import {
144
141
  validateEngineConfigSnapshot,
145
142
  verifyDiskDrawElementSamples,
146
143
  writeCapturedFrame
147
- } from "./chunk-QXOFUKBF.js";
144
+ } from "./chunk-TPECLKPA.js";
145
+ import {
146
+ assignBundledRuntimeCompositionIds,
147
+ buildVariablesByCompScript,
148
+ emitMountedModuleScripts,
149
+ emitRootCompositionVariableStyles,
150
+ ensureExternalLinkTag,
151
+ ensureExternalScriptTag,
152
+ inlineSubCompositions,
153
+ prepareFlattenedInnerRoot
154
+ } from "./chunk-6U3MN4HW.js";
155
+ import {
156
+ LOW_MEMORY_TOTAL_MB_THRESHOLD,
157
+ getCgroupMemoryLimitMb,
158
+ getSystemTotalMb
159
+ } from "./chunk-USDEMXXL.js";
148
160
  import {
149
161
  HF_VFX_ATTR,
150
162
  MEDIA_START_BASIS_ATTR,
@@ -157,12 +169,10 @@ import {
157
169
  parseFps,
158
170
  parseVfxChain,
159
171
  readMediaStartBasis,
160
- redactKnownPaths,
161
- redactTelemetryString,
162
172
  resolveAbsoluteMediaStartSeconds,
163
173
  resolveAuthoredTimingWindow,
164
174
  toFps
165
- } from "./chunk-EJ7OWYF2.js";
175
+ } from "./chunk-QP3BRKGF.js";
166
176
  import {
167
177
  CANVAS_DIMENSIONS,
168
178
  HTML_BODY_CSS_HEIGHT_FIRST_RE,
@@ -174,20 +184,9 @@ import {
174
184
  normalizeResolutionFlag,
175
185
  suggestMatchingPreset
176
186
  } from "./chunk-OZUQF4NB.js";
177
- import {
178
- assignBundledRuntimeCompositionIds,
179
- buildVariablesByCompScript,
180
- emitMountedModuleScripts,
181
- emitRootCompositionVariableStyles,
182
- ensureExternalLinkTag,
183
- ensureExternalScriptTag,
184
- inlineSubCompositions,
185
- prepareFlattenedInnerRoot
186
- } from "./chunk-GWV2Y36Q.js";
187
187
  import {
188
188
  COMPOSITION_SOURCE_URL,
189
189
  HF_COLOR_GRADING_ATTR,
190
- MAX_AUDIO_GAIN,
191
190
  MEDIA_RENDER_ID_ATTR,
192
191
  assignMediaRenderIds,
193
192
  clampDurations,
@@ -211,16 +210,25 @@ import {
211
210
  shouldClampResolvedMediaDuration,
212
211
  sourceTimeAt,
213
212
  styleElementsFor
214
- } from "./chunk-HYYSJI5D.js";
213
+ } from "./chunk-B3I3XJ47.js";
214
+ import {
215
+ MAX_AUDIO_GAIN
216
+ } from "./chunk-YA62XGXS.js";
217
+ import {
218
+ redactKnownPaths,
219
+ redactTelemetryString
220
+ } from "./chunk-T76PLPD6.js";
215
221
  import {
216
222
  chromeMajorCeiling
217
223
  } from "./chunk-TWWSYAKJ.js";
224
+ import {
225
+ lintHyperframeHtml
226
+ } from "./chunk-WY5OODN5.js";
218
227
  import {
219
228
  isUnresolvedAssetPlaceholder,
220
- lintHyperframeHtml,
221
229
  readProjectFile,
222
230
  resolveProjectRelativeSrc
223
- } from "./chunk-STA43FMY.js";
231
+ } from "./chunk-JFKL3WAE.js";
224
232
  import {
225
233
  CSS_URL_RE,
226
234
  checkSubCompositionUsability,
@@ -1166,10 +1174,11 @@ function applyRenderModeHints(alreadyForced, compiled, log = defaultLogger) {
1166
1174
  });
1167
1175
  return { forceScreenshot: true, autoSelected: true };
1168
1176
  }
1169
- function updateJobStatus(job, status, stage, progress, onProgress) {
1177
+ function updateJobStatus(job, status, stage, progress, onProgress, stageProgress) {
1170
1178
  job.warnings ??= [];
1171
1179
  job.status = status;
1172
1180
  job.currentStage = stage;
1181
+ job.stageProgress = stageProgress;
1173
1182
  const boundedProgress = Math.max(0, Math.min(100, Math.round(progress)));
1174
1183
  job.progress = Math.max(job.progress, boundedProgress);
1175
1184
  if (status === "failed" || status === "complete" || status === "cancelled") {
@@ -1181,15 +1190,54 @@ function updateJobStatus(job, status, stage, progress, onProgress) {
1181
1190
  var PROGRESS_REPORT_INTERVAL_MS = 250;
1182
1191
  var lastFrameReportAt = /* @__PURE__ */ new WeakMap();
1183
1192
  var lastStartupReportAt = /* @__PURE__ */ new WeakMap();
1184
- function reportThrottled(lastReportAt, job, stage, progress, onProgress, force) {
1193
+ var lastReportSent = /* @__PURE__ */ new WeakMap();
1194
+ function reportThrottled(lastReportAt, job, stage, progress, onProgress, force, stageProgress, status = "rendering") {
1185
1195
  const now = Date.now();
1186
1196
  const last = lastReportAt.get(job);
1187
- const due = force || last === void 0 || now - last >= PROGRESS_REPORT_INTERVAL_MS;
1188
- if (due) lastReportAt.set(job, now);
1189
- updateJobStatus(job, "rendering", stage, progress, due ? onProgress : void 0);
1197
+ const sent = `${stage}|${progress}`;
1198
+ const due = lastReportSent.get(job) !== sent && (force || last === void 0 || now - last >= PROGRESS_REPORT_INTERVAL_MS);
1199
+ if (due) {
1200
+ lastReportAt.set(job, now);
1201
+ lastReportSent.set(job, sent);
1202
+ }
1203
+ updateJobStatus(job, status, stage, progress, due ? onProgress : void 0, stageProgress);
1204
+ }
1205
+ function reportFrameProgress(job, stage, progress, onProgress, done, total) {
1206
+ reportThrottled(lastFrameReportAt, job, stage, progress, onProgress, done === total, {
1207
+ code: "capture",
1208
+ done,
1209
+ total
1210
+ });
1190
1211
  }
1191
- function reportFrameProgress(job, stage, progress, onProgress, isLastFrame) {
1192
- reportThrottled(lastFrameReportAt, job, stage, progress, onProgress, isLastFrame);
1212
+ var lastEncodeReportAt = /* @__PURE__ */ new WeakMap();
1213
+ function reportEncodeProgress(job, done, total, onProgress, from) {
1214
+ if (total <= 0) return;
1215
+ const frames = Math.min(done, total);
1216
+ reportThrottled(
1217
+ lastEncodeReportAt,
1218
+ job,
1219
+ `Encoding frame ${frames}/${total}`,
1220
+ from + (90 - from) * frames / total,
1221
+ onProgress,
1222
+ frames === total,
1223
+ { code: "encode", done: frames, total },
1224
+ "encoding"
1225
+ );
1226
+ }
1227
+ var lastAssembleReportAt = /* @__PURE__ */ new WeakMap();
1228
+ function reportAssembleProgress(job, done, total, onProgress) {
1229
+ if (total <= 0) return;
1230
+ const seconds = Math.min(done, total);
1231
+ reportThrottled(
1232
+ lastAssembleReportAt,
1233
+ job,
1234
+ "Assembling final video",
1235
+ 90 + 9 * seconds / total,
1236
+ onProgress,
1237
+ seconds >= total,
1238
+ { code: "assemble", done: seconds, total },
1239
+ "assembling"
1240
+ );
1193
1241
  }
1194
1242
  var workerPhasesByJob = /* @__PURE__ */ new WeakMap();
1195
1243
  function reportWorkerStartup(job, progress, onProgress) {
@@ -1207,7 +1255,8 @@ function reportWorkerStartup(job, progress, onProgress) {
1207
1255
  `Starting browsers (${ready}/${progress.activeWorkers} ready)`,
1208
1256
  job.progress,
1209
1257
  onProgress,
1210
- false
1258
+ false,
1259
+ { code: "start_browsers", done: ready, total: progress.activeWorkers }
1211
1260
  );
1212
1261
  }
1213
1262
  var materializePathModule = {
@@ -3601,7 +3650,8 @@ async function runWorkerEncodePipelineLoop(session, totalFrames, job, currentEnc
3601
3650
  `Streaming frame ${prev.idx + 1}/${totalFrames}`,
3602
3651
  Math.round(25 + (prev.idx + 1) / totalFrames * 55),
3603
3652
  onProgress,
3604
- prev.idx + 1 === totalFrames
3653
+ prev.idx + 1,
3654
+ totalFrames
3605
3655
  );
3606
3656
  };
3607
3657
  const batchNRaw = Number(process.env.HF_DE_BATCH ?? "4");
@@ -3620,7 +3670,8 @@ async function runWorkerEncodePipelineLoop(session, totalFrames, job, currentEnc
3620
3670
  `Streaming frame ${item.idx + 1}/${totalFrames}`,
3621
3671
  Math.round(25 + (item.idx + 1) / totalFrames * 55),
3622
3672
  onProgress,
3623
- item.idx + 1 === totalFrames
3673
+ item.idx + 1,
3674
+ totalFrames
3624
3675
  );
3625
3676
  }
3626
3677
  };
@@ -3832,7 +3883,8 @@ async function runCaptureStreamingStage(input) {
3832
3883
  `Streaming frame ${progress.capturedFrames}/${progress.totalFrames} (${workerCount} workers)`,
3833
3884
  Math.round(25 + frameProgress * 55),
3834
3885
  onProgress,
3835
- progress.capturedFrames === progress.totalFrames
3886
+ progress.capturedFrames,
3887
+ progress.totalFrames
3836
3888
  );
3837
3889
  },
3838
3890
  onFrameBuffer,
@@ -3950,7 +4002,8 @@ async function runCaptureStreamingStage(input) {
3950
4002
  `Streaming frame ${i + 1}/${totalFrames}`,
3951
4003
  Math.round(progress),
3952
4004
  onProgress,
3953
- i + 1 === totalFrames
4005
+ i + 1,
4006
+ totalFrames
3954
4007
  );
3955
4008
  }
3956
4009
  }
@@ -3963,12 +4016,16 @@ async function runCaptureStreamingStage(input) {
3963
4016
  await closeCaptureSession(session);
3964
4017
  }
3965
4018
  }
3966
- const encodeResult = await currentEncoder.close();
4019
+ const encodeFrom = job.progress;
4020
+ const encodeResult = await currentEncoder.close(
4021
+ (frames) => reportEncodeProgress(job, frames, totalFrames, onProgress, encodeFrom)
4022
+ );
3967
4023
  streamingEncoderClosed = true;
3968
4024
  assertNotAborted();
3969
4025
  if (!encodeResult.success) {
3970
4026
  throw encoderFailureError("Streaming encode failed", encodeResult);
3971
4027
  }
4028
+ reportEncodeProgress(job, totalFrames, totalFrames, onProgress, encodeFrom);
3972
4029
  return {
3973
4030
  success: true,
3974
4031
  encodeMs: encodeResult.durationMs,
@@ -4034,7 +4091,8 @@ async function captureSegmentFrames(ctx, segment, encoder) {
4034
4091
  `Streaming frame ${i + 1}/${ctx.totalFrames} (segment ${segment.index + 1}/${ctx.segmentCount}` + (ctx.skipped > 0 ? `, skipped ${ctx.skipped}` : "") + ")",
4035
4092
  Math.round(25 + (i + 1) / ctx.totalFrames * 55),
4036
4093
  ctx.onProgress,
4037
- i + 1 === ctx.totalFrames
4094
+ i + 1,
4095
+ ctx.totalFrames
4038
4096
  );
4039
4097
  }
4040
4098
  }
@@ -8374,7 +8432,8 @@ async function runCaptureStage(input) {
8374
8432
  `Capturing frame ${progress.capturedFrames}/${progress.totalFrames} (${progress.activeWorkers} workers)`,
8375
8433
  Math.round(25 + frameProgress * 45),
8376
8434
  onProgress,
8377
- progress.capturedFrames === progress.totalFrames
8435
+ progress.capturedFrames,
8436
+ progress.totalFrames
8378
8437
  );
8379
8438
  },
8380
8439
  cfg: captureCfg,
@@ -8510,7 +8569,8 @@ async function captureSessionFrames(session, { input, rangeStart, rangeEnd, resu
8510
8569
  `Capturing frame ${fileIndex + 1}/${rangeFrames}`,
8511
8570
  Math.round(25 + (fileIndex + 1) / rangeFrames * 45),
8512
8571
  onProgress,
8513
- fileIndex + 1 === rangeFrames
8572
+ fileIndex + 1,
8573
+ rangeFrames
8514
8574
  );
8515
8575
  };
8516
8576
  if (session.workerEncodeEnabled) {
@@ -8764,7 +8824,8 @@ async function runSequentialLayeredFrameLoop(input) {
8764
8824
  `Layered composite frame ${i + 1}/${job.totalFrames}`,
8765
8825
  Math.round(25 + (i + 1) / totalFrames * 55),
8766
8826
  onProgress,
8767
- i + 1 === totalFrames
8827
+ i + 1,
8828
+ totalFrames
8768
8829
  );
8769
8830
  }
8770
8831
  }
@@ -9061,7 +9122,8 @@ async function runHybridLayeredFrameLoop(input) {
9061
9122
  `Layered composite frame ${framesWritten}/${job.totalFrames}`,
9062
9123
  Math.round(25 + framesWritten / totalFrames * 55),
9063
9124
  onProgress,
9064
- framesWritten === totalFrames
9125
+ framesWritten,
9126
+ totalFrames
9065
9127
  );
9066
9128
  };
9067
9129
  const poolRef = shaderPool;
@@ -9449,12 +9511,16 @@ async function runCaptureHdrStage(input) {
9449
9511
  await closeCaptureSession(domSession);
9450
9512
  domSessionClosed = true;
9451
9513
  }
9452
- const hdrEncodeResult = await hdrEncoder.close();
9514
+ const encodeFrom = job.progress;
9515
+ const hdrEncodeResult = await hdrEncoder.close(
9516
+ (frames) => reportEncodeProgress(job, frames, totalFrames, onProgress, encodeFrom)
9517
+ );
9453
9518
  hdrEncoderClosed = true;
9454
9519
  assertNotAborted();
9455
9520
  if (!hdrEncodeResult.success) {
9456
9521
  throw encoderFailureError("HDR encode failed", hdrEncodeResult);
9457
9522
  }
9523
+ reportEncodeProgress(job, totalFrames, totalFrames, onProgress, encodeFrom);
9458
9524
  captureDurationMs = Date.now() - stageStart;
9459
9525
  encodeMs = hdrEncodeResult.durationMs;
9460
9526
  } catch (error) {
@@ -9625,6 +9691,14 @@ async function encodeGifFromDir(framesDir, framePattern, outputPath, input) {
9625
9691
  rmSync6(input.palettePath, { force: true });
9626
9692
  }
9627
9693
  }
9694
+ function startEncodeProgress(job, stage, onProgress) {
9695
+ const total = job.totalFrames ?? 0;
9696
+ updateJobStatus(job, "encoding", stage, 75, onProgress, {
9697
+ code: "encode",
9698
+ ...total > 0 && { done: 0, total }
9699
+ });
9700
+ return (frames = total) => reportEncodeProgress(job, frames, total, onProgress, 75);
9701
+ }
9628
9702
  async function runEncodeStage(input) {
9629
9703
  const {
9630
9704
  job,
@@ -9650,7 +9724,7 @@ async function runEncodeStage(input) {
9650
9724
  } = input;
9651
9725
  const stage5Start = Date.now();
9652
9726
  if (isPngSequence) {
9653
- updateJobStatus(job, "encoding", "Writing PNG sequence", 75, onProgress);
9727
+ const encoded = startEncodeProgress(job, "Writing PNG sequence", onProgress);
9654
9728
  if (!existsSync14(outputPath)) mkdirSync7(outputPath, { recursive: true });
9655
9729
  const captured = readdirSync4(framesDir).filter((name) => name.endsWith(".png")).sort();
9656
9730
  if (captured.length === 0) {
@@ -9668,11 +9742,12 @@ async function runEncodeStage(input) {
9668
9742
  `[Render] png-sequence: ${MIXED_AUDIO_FILENAME} sidecar written to ${outputPath}/${MIXED_AUDIO_FILENAME}`
9669
9743
  );
9670
9744
  }
9745
+ encoded();
9671
9746
  return { encodeMs: Date.now() - stage5Start };
9672
9747
  }
9673
9748
  const engineCfg = input.engineConfig ?? job.config.producerConfig ?? resolveConfig();
9674
9749
  if (isGif) {
9675
- updateJobStatus(job, "encoding", "Encoding GIF", 75, onProgress);
9750
+ const encoded = startEncodeProgress(job, "Encoding GIF", onProgress);
9676
9751
  if (hasAudio) {
9677
9752
  log.warn("[Render] GIF output does not support audio; audio tracks will be ignored.");
9678
9753
  }
@@ -9691,9 +9766,10 @@ async function runEncodeStage(input) {
9691
9766
  if (!encodeResult2.success) {
9692
9767
  throw encoderFailureError("Encoding failed", encodeResult2);
9693
9768
  }
9769
+ encoded();
9694
9770
  return { encodeMs: Date.now() - stage5Start };
9695
9771
  }
9696
- updateJobStatus(job, "encoding", "Encoding video", 75, onProgress);
9772
+ const onFramesEncoded = startEncodeProgress(job, "Encoding video", onProgress);
9697
9773
  const baseScaledEncodeTimeout = Math.ceil((job.duration ?? 0) * 4e3);
9698
9774
  const scaledEncodeTimeout = baseScaledEncodeTimeout * (job.config.quality === "high" ? 6 : 1);
9699
9775
  const videoEngineCfg = scaledEncodeTimeout > engineCfg.ffmpegEncodeTimeout ? { ...engineCfg, ffmpegEncodeTimeout: scaledEncodeTimeout } : engineCfg;
@@ -9724,19 +9800,22 @@ async function runEncodeStage(input) {
9724
9800
  encoderOpts,
9725
9801
  chunkedEncodeSize,
9726
9802
  abortSignal,
9727
- videoEngineCfg
9803
+ videoEngineCfg,
9804
+ onFramesEncoded
9728
9805
  ) : await encodeFramesFromDir(
9729
9806
  framesDir,
9730
9807
  framePattern,
9731
9808
  videoOnlyPath,
9732
9809
  encoderOpts,
9733
9810
  abortSignal,
9734
- videoEngineCfg
9811
+ videoEngineCfg,
9812
+ onFramesEncoded
9735
9813
  );
9736
9814
  assertNotAborted();
9737
9815
  if (!encodeResult.success) {
9738
9816
  throw encoderFailureError("Encoding failed", encodeResult);
9739
9817
  }
9818
+ onFramesEncoded();
9740
9819
  return { encodeMs: Date.now() - stage5Start };
9741
9820
  }
9742
9821
 
@@ -10151,7 +10230,22 @@ function recordLimiterAttenuation(job, audioLoweredDb) {
10151
10230
  { audioLoweredDb }
10152
10231
  );
10153
10232
  }
10233
+ function startAssembleProgress(job, seconds, onProgress) {
10234
+ updateJobStatus(job, "assembling", "Assembling final video", 90, onProgress, {
10235
+ code: "assemble",
10236
+ ...seconds > 0 && { done: 0, total: seconds }
10237
+ });
10238
+ if (seconds <= 0) return void 0;
10239
+ return (done) => reportAssembleProgress(job, done, seconds, onProgress);
10240
+ }
10154
10241
  async function runAssembleStage(input) {
10242
+ const { job, onProgress } = input;
10243
+ const seconds = job.duration ?? 0;
10244
+ const result = await assembleOutput(input, startAssembleProgress(job, seconds, onProgress));
10245
+ reportAssembleProgress(job, seconds, seconds, onProgress);
10246
+ return result;
10247
+ }
10248
+ async function assembleOutput(input, onSecondsWritten) {
10155
10249
  const {
10156
10250
  job,
10157
10251
  videoOnlyPath,
@@ -10160,12 +10254,10 @@ async function runAssembleStage(input) {
10160
10254
  hasAudio,
10161
10255
  format,
10162
10256
  abortSignal,
10163
- assertNotAborted,
10164
- onProgress
10257
+ assertNotAborted
10165
10258
  } = input;
10166
10259
  const isHls = format === "hls";
10167
10260
  const stage6Start = Date.now();
10168
- updateJobStatus(job, "assembling", "Assembling final video", 90, onProgress);
10169
10261
  if (hasAudio) {
10170
10262
  const audioExtension = extname3(audioOutputPath);
10171
10263
  const audioStem = audioExtension ? audioOutputPath.slice(0, -audioExtension.length) : audioOutputPath;
@@ -10192,7 +10284,8 @@ async function runAssembleStage(input) {
10192
10284
  {
10193
10285
  audioCodec: "aac"
10194
10286
  },
10195
- job.config.fps
10287
+ job.config.fps,
10288
+ onSecondsWritten
10196
10289
  );
10197
10290
  assertNotAborted();
10198
10291
  if (!muxResult.success) {
@@ -10207,7 +10300,8 @@ async function runAssembleStage(input) {
10207
10300
  outputPath,
10208
10301
  abortSignal,
10209
10302
  void 0,
10210
- job.config.fps
10303
+ job.config.fps,
10304
+ onSecondsWritten
10211
10305
  );
10212
10306
  assertNotAborted();
10213
10307
  if (!faststartResult.success) {
@@ -11339,7 +11433,9 @@ async function executeRenderPipeline(input) {
11339
11433
  });
11340
11434
  }
11341
11435
  const stage1Start = Date.now();
11342
- updateJobStatus(job, "preprocessing", "Compiling composition", 5, onProgress);
11436
+ updateJobStatus(job, "preprocessing", "Compiling composition", 5, onProgress, {
11437
+ code: "compile"
11438
+ });
11343
11439
  const compileResult = await observeRenderStage(
11344
11440
  observability,
11345
11441
  "compile",
@@ -11471,7 +11567,9 @@ async function executeRenderPipeline(input) {
11471
11567
  compositionHash,
11472
11568
  beginFrameStalled: probeResult.beginFrameStalled
11473
11569
  });
11474
- updateJobStatus(job, "preprocessing", "Extracting video frames", 10, onProgress);
11570
+ updateJobStatus(job, "preprocessing", "Extracting video frames", 10, onProgress, {
11571
+ code: "extract_video"
11572
+ });
11475
11573
  const compiledDir = join25(workDir, "compiled");
11476
11574
  const extractResult = await observeRenderStage(
11477
11575
  observability,
@@ -11549,7 +11647,9 @@ async function executeRenderPipeline(input) {
11549
11647
  nativeHdrVideoCount: nativeHdrVideoIds.size,
11550
11648
  nativeHdrImageCount: nativeHdrImageIds.size
11551
11649
  });
11552
- updateJobStatus(job, "preprocessing", "Processing audio tracks", 20, onProgress);
11650
+ updateJobStatus(job, "preprocessing", "Processing audio tracks", 20, onProgress, {
11651
+ code: "process_audio"
11652
+ });
11553
11653
  const audioResult = await observeRenderStage(
11554
11654
  observability,
11555
11655
  "audio_process",
@@ -11592,7 +11692,9 @@ async function executeRenderPipeline(input) {
11592
11692
  );
11593
11693
  }
11594
11694
  const stage4Start = Date.now();
11595
- updateJobStatus(job, "rendering", "Starting frame capture", 25, onProgress);
11695
+ updateJobStatus(job, "rendering", "Starting frame capture", 25, onProgress, {
11696
+ code: "start_browsers"
11697
+ });
11596
11698
  if (!fileServer) {
11597
11699
  const fileServerStart = observability.stageStart("file_server", { reused: false });
11598
11700
  try {
@@ -11618,7 +11720,9 @@ async function executeRenderPipeline(input) {
11618
11720
  }
11619
11721
  const framesDir = join25(workDir, "captured-frames");
11620
11722
  if (!existsSync15(framesDir)) mkdirSync8(framesDir, { recursive: true });
11621
- updateJobStatus(job, "rendering", "Checking browser GPU", 25, onProgress);
11723
+ updateJobStatus(job, "rendering", "Checking browser GPU", 25, onProgress, {
11724
+ code: "start_browsers"
11725
+ });
11622
11726
  const resolvedBrowserGpuMode = await resolveBrowserGpuMode(cfg.browserGpuMode, {
11623
11727
  chromePath: resolveHeadlessShellPath(cfg),
11624
11728
  browserTimeout: cfg.browserTimeout
@@ -11811,7 +11915,9 @@ async function executeRenderPipeline(input) {
11811
11915
  }
11812
11916
  });
11813
11917
  if (job.config.workers === void 0 && totalFrames >= 60 && !htmlInCanvasDetected && !cfg.lowMemoryMode && !deInversionEligible && !deParallelRouterEligible) {
11814
- updateJobStatus(job, "rendering", "Measuring capture speed", 25, onProgress);
11918
+ updateJobStatus(job, "rendering", "Measuring capture speed", 25, onProgress, {
11919
+ code: "start_browsers"
11920
+ });
11815
11921
  const outcome = await observeRenderStage(
11816
11922
  observability,
11817
11923
  "capture_calibration",
@@ -14213,7 +14319,7 @@ function startServer(options = {}) {
14213
14319
  });
14214
14320
  async function shutdown(signal) {
14215
14321
  log.info(`Received ${signal}, shutting down`);
14216
- const { drainBrowserPool } = await import("./src-YWFJILQF.js");
14322
+ const { drainBrowserPool } = await import("./src-7SSERHNP.js");
14217
14323
  await drainBrowserPool().catch(() => {
14218
14324
  });
14219
14325
  const handle = await Promise.race([
@@ -15336,7 +15442,7 @@ async function buildLocalExecutionPlan(projectDir, config, executionPlanDir, opt
15336
15442
  if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
15337
15443
  if (probeResult.probeSession) {
15338
15444
  try {
15339
- const { closeCaptureSession: closeCaptureSession2 } = await import("./src-YWFJILQF.js");
15445
+ const { closeCaptureSession: closeCaptureSession2 } = await import("./src-7SSERHNP.js");
15340
15446
  await closeCaptureSession2(probeResult.probeSession);
15341
15447
  } catch (err) {
15342
15448
  log.warn("[plan] probe session close failed", {
@@ -10,24 +10,24 @@ import {
10
10
  import {
11
11
  launchManagedBrowser,
12
12
  resolveManagedGpuMode
13
- } from "./chunk-4VZBKOQJ.js";
13
+ } from "./chunk-BQKEGPPL.js";
14
14
  import {
15
15
  resolveDiagnosticNavigationTimeoutMs,
16
16
  windowsChromeCrashRemediation
17
- } from "./chunk-R7LWDIKB.js";
17
+ } from "./chunk-TYT2TLJR.js";
18
18
  import {
19
19
  resolveLocalBrowserGpuMode
20
- } from "./chunk-JIIIBTN2.js";
21
- import {
22
- c
23
- } from "./chunk-ZTZA4UWZ.js";
20
+ } from "./chunk-PE2I3AFA.js";
24
21
  import {
25
22
  assertWebGpuAdapterAvailable,
26
23
  compositionRequiresWebGpu
27
- } from "./chunk-QXOFUKBF.js";
24
+ } from "./chunk-TPECLKPA.js";
28
25
  import {
29
26
  normalizeErrorMessage
30
27
  } from "./chunk-KNU5COPB.js";
28
+ import {
29
+ c
30
+ } from "./chunk-ZTZA4UWZ.js";
31
31
 
32
32
  // src/capture/captureCompositionFrame.ts
33
33
  import { spawn } from "child_process";
@@ -103,7 +103,7 @@ async function openSettledCompositionPage(html, url, options) {
103
103
  const { ensureBrowser, findSystemBrowser } = await import("./manager-CT3D67CG.js");
104
104
  const browser = await ensureBrowser();
105
105
  const puppeteer = await import("puppeteer-core");
106
- const { buildChromeArgs } = await import("./src-YWFJILQF.js");
106
+ const { buildChromeArgs } = await import("./src-7SSERHNP.js");
107
107
  const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
108
108
  const requiresWebGpu = compositionRequiresWebGpu(html);
109
109
  const launch = async (executablePath) => {
@@ -6,10 +6,10 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType
9
- } from "./chunk-Z67RZ4XO.js";
9
+ } from "./chunk-MHK5DE2P.js";
10
10
  import {
11
11
  injectTagsAtHeadStart
12
- } from "./chunk-HYYSJI5D.js";
12
+ } from "./chunk-B3I3XJ47.js";
13
13
 
14
14
  // src/utils/compositionServer.ts
15
15
  import { createHash } from "crypto";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-HVW7ABXD.js";
13
13
  import {
14
14
  DEFAULT_REGISTRY_URL
15
- } from "./chunk-GIDHR5OL.js";
15
+ } from "./chunk-5IKJONRY.js";
16
16
 
17
17
  // src/utils/projectConfig.ts
18
18
  import { readFileSync, writeFileSync } from "fs";
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-TVCRUG2S.js";
14
14
  import {
15
15
  getFreeDiskMb
16
- } from "./chunk-PLNWWGE7.js";
16
+ } from "./chunk-GQJZORQP.js";
17
17
  import {
18
18
  ensureBrowser,
19
19
  findBrowser
@@ -20,7 +20,7 @@ import {
20
20
  typeDirPath,
21
21
  updateRecord,
22
22
  withFigmaErrors
23
- } from "./chunk-JX7Y57YY.js";
23
+ } from "./chunk-WKTHUC2R.js";
24
24
  import {
25
25
  defineCommand
26
26
  } from "./chunk-S3S4TGEH.js";
@@ -221,7 +221,7 @@ var asset_default = defineCommand({
221
221
  rendered > 0 ? `(${results.length} nodes, ${rendered} rendered in 1 figma request)` : `(${results.length} nodes, all reused from cache \u2014 no figma request)`
222
222
  );
223
223
  }
224
- const { trackFigmaImport } = await import("./telemetry-LOBRQGUD.js");
224
+ const { trackFigmaImport } = await import("./telemetry-7AO77PMH.js");
225
225
  trackFigmaImport({
226
226
  phase: "asset",
227
227
  reused: results.every((r) => r.reused),
@@ -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-QXOFUKBF.js";
9
+ } from "./chunk-TPECLKPA.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,