hyperframes 0.8.143 → 0.8.144

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-Q5EYDUAY.js → add-CWRTVGDB.js} +12 -12
  2. package/dist/{animatedGifPrep-H2DUQEZ3.js → animatedGifPrep-JTOHIWI4.js} +7 -7
  3. package/dist/{asset-C7JBYYX4.js → asset-KU2Z4UFM.js} +2 -2
  4. package/dist/{assetCataloger-FRO4G6OU.js → assetCataloger-3CS2P7PA.js} +3 -3
  5. package/dist/{auth-FRWLCO36.js → auth-IDSOIQWG.js} +1 -1
  6. package/dist/{autoUpdate-E4OZXQK6.js → autoUpdate-373B4BA2.js} +2 -2
  7. package/dist/{backgroundChecks-FSUVHN5L.js → backgroundChecks-53Q3NAMG.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-4U73BYTU.js → batchRender-UKZA6BME.js} +4 -4
  10. package/dist/{beats-U6KJWF35.js → beats-N5JGEOFR.js} +13 -13
  11. package/dist/{benchmark-5ONT7V7B.js → benchmark-CUN3LN4V.js} +9 -9
  12. package/dist/{browser-R4DU46IE.js → browser-NCZT5AP6.js} +39 -55
  13. package/dist/{bundleWithLocalizedFonts-VH55VOAL.js → bundleWithLocalizedFonts-FWC7PE2D.js} +2 -2
  14. package/dist/{capture-26G2DPSI.js → capture-QBLG3VJR.js} +18 -18
  15. package/dist/{capture-OGQAEYKO.js → capture-YLS32UHT.js} +2 -2
  16. package/dist/{catalog-RKORTIUE.js → catalog-HIWNAFHW.js} +12 -12
  17. package/dist/{catch-up-4OBERRQO.js → catch-up-HGS7KIAC.js} +4 -4
  18. package/dist/{check-P2XDN57S.js → check-FH6UYYLO.js} +66 -55
  19. package/dist/{checkBrowser-NTGJGAEA.js → checkBrowser-RNWNOMCZ.js} +81 -30
  20. package/dist/{chunk-LVX6NK36.js → chunk-2DA2BBNY.js} +1 -1
  21. package/dist/{chunk-4M4EC7JX.js → chunk-3VYNNWVA.js} +12 -1
  22. package/dist/{chunk-N3DQEVSI.js → chunk-3XTEXWNN.js} +8 -5
  23. package/dist/{chunk-KO5QBV73.js → chunk-4LAR447G.js} +1 -1
  24. package/dist/{chunk-W35EKBS6.js → chunk-4OC7MQNB.js} +2 -2
  25. package/dist/{chunk-CLOH4LIB.js → chunk-54QISXOC.js} +2 -2
  26. package/dist/{chunk-HC7EVDEL.js → chunk-5HJ343GH.js} +1 -1
  27. package/dist/{chunk-33RZPZ4K.js → chunk-5VMR4WBS.js} +271 -119
  28. package/dist/{chunk-PJU63L6W.js → chunk-5WADG7PR.js} +1 -1
  29. package/dist/{chunk-LW6HO6U3.js → chunk-7RAYSCYT.js} +1 -1
  30. package/dist/{chunk-QRKLPWEX.js → chunk-7SDCIWHQ.js} +11 -2
  31. package/dist/{chunk-LAOCA3MQ.js → chunk-A4Q7W4LV.js} +13 -8
  32. package/dist/{chunk-BT27OYYX.js → chunk-A53CBD24.js} +18 -12
  33. package/dist/{chunk-4PFZPP2N.js → chunk-A6S35NYA.js} +54 -16
  34. package/dist/{chunk-HW4AKJ5F.js → chunk-AUBOF2PN.js} +1 -1
  35. package/dist/{chunk-ZLW2V65P.js → chunk-BSQ7XANM.js} +3 -2
  36. package/dist/{chunk-LCSMOLGX.js → chunk-BYSBRF24.js} +69 -8
  37. package/dist/{chunk-BFDJ63J5.js → chunk-DDIVWXN7.js} +1 -1
  38. package/dist/{chunk-KOEWEFHK.js → chunk-DIRJ322I.js} +10 -5
  39. package/dist/{chunk-PAGIICKN.js → chunk-EX6C672Y.js} +1 -1
  40. package/dist/{chunk-6XMFEICO.js → chunk-F2SMS24Q.js} +34 -19
  41. package/dist/{chunk-QVYVUCWD.js → chunk-GEWKFRFI.js} +1 -1
  42. package/dist/{chunk-P7THMINS.js → chunk-GZM2EFOE.js} +1 -1
  43. package/dist/{chunk-KJJLA674.js → chunk-GZVP4TWN.js} +1 -46
  44. package/dist/{chunk-TAMQYQGJ.js → chunk-I5KY7EZP.js} +1 -1
  45. package/dist/{chunk-XONFUK3M.js → chunk-IEIJRMLZ.js} +47 -35
  46. package/dist/chunk-IR35BCLK.js +13 -0
  47. package/dist/{chunk-2LBBHMKT.js → chunk-JEHFZQYT.js} +1 -1
  48. package/dist/{chunk-KDPYVTEU.js → chunk-KBB4RG6F.js} +6 -1
  49. package/dist/{chunk-VIVBA6E6.js → chunk-KFKZ3ISO.js} +1 -1
  50. package/dist/{sherpa-LVIUEAGF.js → chunk-L5TUCXWR.js} +11 -45
  51. package/dist/{chunk-GNBGPUJ7.js → chunk-LC3RQURJ.js} +3 -3
  52. package/dist/{chunk-I7QGQAZM.js → chunk-LFX2HEYP.js} +7 -7
  53. package/dist/{chunk-U3X3TPBW.js → chunk-MAYCCGMQ.js} +11 -2
  54. package/dist/{chunk-UICWP23D.js → chunk-MXNDKDFT.js} +3 -3
  55. package/dist/{chunk-POLR33RB.js → chunk-NOPBBSLA.js} +15 -17
  56. package/dist/{chunk-DF2BHILQ.js → chunk-NV4RXIQ7.js} +3 -3
  57. package/dist/{chunk-KQLGTGE5.js → chunk-OIDN7G42.js} +2 -2
  58. package/dist/{chunk-F26LCYRY.js → chunk-OUSLVRO4.js} +68 -77
  59. package/dist/{chunk-Y6QL2LGO.js → chunk-P6WH6QTV.js} +1 -1
  60. package/dist/{chunk-OBXQRJWQ.js → chunk-QATWIE4K.js} +1 -1
  61. package/dist/{chunk-QFN7NVWM.js → chunk-RG3QWWIE.js} +1 -1
  62. package/dist/{chunk-HLYOEIWM.js → chunk-RI53TS2Y.js} +2 -2
  63. package/dist/{chunk-5FISWJ37.js → chunk-RVFEDAUV.js} +4 -4
  64. package/dist/{chunk-HMT2RPZU.js → chunk-SLCFKB3Y.js} +13 -9
  65. package/dist/chunk-UPFUC4DB.js +136 -0
  66. package/dist/{chunk-BYK73CR7.js → chunk-VYSUZEJG.js} +5 -5
  67. package/dist/chunk-WJB7WI4J.js +3753 -0
  68. package/dist/{chunk-7UYBQ6NF.js → chunk-XGFHYAYN.js} +14 -10
  69. package/dist/{chunk-OSSHSIMD.js → chunk-XU5GGV6R.js} +1 -1
  70. package/dist/{chunk-FVYXDXEV.js → chunk-Y6UPYWJS.js} +2 -2
  71. package/dist/{chunk-UM2GRYM3.js → chunk-YJXHMIZA.js} +3 -3
  72. package/dist/{chunk-3NE7ZYU2.js → chunk-YUAXFWSQ.js} +3 -3
  73. package/dist/{chunk-TVCRUG2S.js → chunk-ZEUONDQG.js} +1 -1
  74. package/dist/{chunk-ZQQ3SEIE.js → chunk-ZOA2SC4P.js} +99 -31
  75. package/dist/{clean-YHGPY33K.js → clean-KPX27IKJ.js} +18 -18
  76. package/dist/cli.js +68 -56
  77. package/dist/{cloud-DOFI5ISR.js → cloud-P7DAOISN.js} +4 -4
  78. package/dist/{cloudrun-KTZ4XDHL.js → cloudrun-XM56TBOH.js} +4 -4
  79. package/dist/{compare-SMMIZN2C.js → compare-F6YAFZZM.js} +25 -25
  80. package/dist/{compiler-TEXQWW6N.js → compiler-JZ4GNFMG.js} +6 -4
  81. package/dist/{component-B3GCNGSS.js → component-3CFOGIQA.js} +3 -3
  82. package/dist/{compositions-OQNZZTKF.js → compositions-CPCMWF24.js} +11 -11
  83. package/dist/{delete-EL5LVSEP.js → delete-GYVKOKB6.js} +2 -2
  84. package/dist/{dist-5UVIRMSM.js → dist-KDJTFJHA.js} +2 -2
  85. package/dist/{dist-XN234YFQ.js → dist-YPWQDWJ4.js} +4 -4
  86. package/dist/{doctor-UOL3OI2A.js → doctor-GWI3B6JT.js} +13 -13
  87. package/dist/{events-NIZBS6S7.js → events-BRRUDPPT.js} +3 -3
  88. package/dist/{events-K2DB2PBC.js → events-V2QFN4YM.js} +2 -2
  89. package/dist/{feedback-QMP4E6L7.js → feedback-CXMD7FWL.js} +9 -9
  90. package/dist/{ffmpeg-QIUFEFTY.js → ffmpeg-T5SH2EFJ.js} +3 -2
  91. package/dist/{figma-2AUJRNVC.js → figma-YABDWD66.js} +3 -3
  92. package/dist/fontLocalizeCli.js +9 -9
  93. package/dist/{get-P5NC7SRM.js → get-L2SOQKHX.js} +2 -2
  94. package/dist/{gpuPolicy-7N5MCE2G.js → gpuPolicy-NBJNWHYS.js} +11 -9
  95. package/dist/{grade-compare-HV5AFZ6P.js → grade-compare-STXQPKYQ.js} +27 -27
  96. package/dist/{help-3TSTXBLN.js → help-4H6BSFLB.js} +2 -2
  97. package/dist/{history-D65XFJ6D.js → history-4IQOLTHJ.js} +5 -5
  98. package/dist/hyperframe-runtime.js +56 -56
  99. package/dist/hyperframe.manifest.json +1 -1
  100. package/dist/hyperframe.runtime.iife.js +56 -56
  101. package/dist/hyperframes-player.global.js +3 -3
  102. package/dist/{info-TXV7MLFO.js → info-2CZOTNBC.js} +8 -8
  103. package/dist/{init-OSDMJZJV.js → init-6BXK42VS.js} +35 -36
  104. package/dist/{inspect-RQQSAYIJ.js → inspect-VKU47TBH.js} +26 -26
  105. package/dist/{installer-CDOB32HE.js → installer-T2BSSUDY.js} +5 -5
  106. package/dist/{keyframes-V75Q6GRM.js → keyframes-IEYVHRPI.js} +6 -6
  107. package/dist/{lambda-RODV4RCX.js → lambda-TIKG25CK.js} +5 -5
  108. package/dist/{layout-IZAI5SFC.js → layout-XOI4PT7A.js} +26 -26
  109. package/dist/{lint-PLXOXY5R.js → lint-DWCMVIX5.js} +8 -8
  110. package/dist/{lintProject-OQ6H6XBR.js → lintProject-UBZ3TDHU.js} +2 -2
  111. package/dist/{list-BQBPNKDZ.js → list-7GXKG5QM.js} +2 -2
  112. package/dist/{login-NP6F4FHC.js → login-BQ5L2UHX.js} +4 -4
  113. package/dist/{manager-CT3D67CG.js → manager-BPSR6D3V.js} +2 -2
  114. package/dist/{manager-GXYF4AVO.js → manager-YKMHR6LN.js} +8 -5
  115. package/dist/{media-treatment-PXGMZ4A4.js → media-treatment-IFB7OSZ3.js} +12 -12
  116. package/dist/{models-CEZM6XZ7.js → models-TY4PJ545.js} +59 -19
  117. package/dist/{motionShot-R4GHYWYM.js → motionShot-WXMFHICW.js} +21 -22
  118. package/dist/{normalize-H6KUHHEI.js → normalize-U3SL5VG3.js} +2 -2
  119. package/dist/{normalize-audio-MQ7NFCOV.js → normalize-audio-RFD776HQ.js} +6 -6
  120. package/dist/{open-AKQTGNXF.js → open-7IXXGO2E.js} +4 -4
  121. package/dist/parakeetRunner-IHLYYMTZ.js +67 -0
  122. package/dist/{pipeline-SYJYP2RM.js → pipeline-TXKPLL2U.js} +10 -9
  123. package/dist/{play-NBH4B7PL.js → play-J2KP64UK.js} +19 -19
  124. package/dist/{preflight-Y5DN5D37.js → preflight-B4AFK3RG.js} +4 -4
  125. package/dist/{present-XAX55CFS.js → present-MHHNRVRA.js} +15 -15
  126. package/dist/{preview-OLANKNFA.js → preview-CONUOFFQ.js} +19 -19
  127. package/dist/{producer-Q6YNZZUJ.js → producer-ZI46K7HH.js} +1 -1
  128. package/dist/{projectConfig-EM26P45P.js → projectConfig-FGGVG5MV.js} +7 -7
  129. package/dist/{publication-OXWJZKSX.js → publication-TXFBMW6B.js} +3 -3
  130. package/dist/{publish-4VBWP2UB.js → publish-YZSPBFRD.js} +11 -11
  131. package/dist/{remove-background-REB7427G.js → remove-background-4ATVLHLG.js} +11 -10
  132. package/dist/{render-K25YOG3M.js → render-6FBYLYGJ.js} +11 -11
  133. package/dist/{render-3CVZ2SZG.js → render-GFW5BPES.js} +4 -4
  134. package/dist/{render-TSE75QUL.js → render-MH4IUPWB.js} +26 -26
  135. package/dist/{render-batch-GGUOK3DS.js → render-batch-XUCZ2PUJ.js} +4 -4
  136. package/dist/{renderCancellation-PZRWB53I.js → renderCancellation-XF7M7IUP.js} +10 -9
  137. package/dist/renderSetupWorker.js +32 -44
  138. package/dist/{resolver-S5VK6UCB.js → resolver-W7AYCQGS.js} +5 -5
  139. package/dist/sherpa-LDUB5NLY.js +75 -0
  140. package/dist/sherpaWorker.js +2 -1
  141. package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +1 -1
  142. package/dist/{skills-I65FU5HD.js → skills-VENERS5X.js} +7 -7
  143. package/dist/{skillsUpdateCheck-J57RNNIV.js → skillsUpdateCheck-UXFYTACG.js} +3 -3
  144. package/dist/{snapshot-YROOGY22.js → snapshot-C6T74HTI.js} +28 -28
  145. package/dist/{src-X426BZAG.js → src-FS5RSVEI.js} +8 -8
  146. package/dist/{src-JO5JOV7Y.js → src-VUJ2FUFK.js} +8 -6
  147. package/dist/{staticProjectServer-5VMBS262.js → staticProjectServer-V2RZ4DWD.js} +15 -15
  148. package/dist/studio/assets/{hyperframes-player-BXSuksFh.js → hyperframes-player-Bw_jIaSX.js} +3 -3
  149. package/dist/studio/assets/{index-J7jpL4pj.js → index-BVM9NuWl.js} +141 -141
  150. package/dist/studio/assets/{index-BgOVCqjo.js → index-Cj7W_c7p.js} +1 -1
  151. package/dist/studio/assets/{index-FgyO_5Kv.js → index-DyH9dT7b.js} +1 -1
  152. package/dist/studio/{chunk-TFLU2MGI.js → chunk-3GHTHPZD.js} +8 -1
  153. package/dist/studio/chunk-3GHTHPZD.js.map +1 -0
  154. package/dist/studio/{chunk-H2DUOXTF.js → chunk-G3EDKRZH.js} +3 -3
  155. package/dist/studio/{chunk-UYWON5AX.js → chunk-PEAKCOUW.js} +7 -3
  156. package/dist/studio/chunk-PEAKCOUW.js.map +1 -0
  157. package/dist/studio/{chunk-LOVBLSMR.js → chunk-Y2OHHNM2.js} +35 -19
  158. package/dist/studio/chunk-Y2OHHNM2.js.map +1 -0
  159. package/dist/studio/{domEditingLayers-KBTPQKGA.js → domEditingLayers-PYST4G45.js} +3 -3
  160. package/dist/studio/index.html +1 -1
  161. package/dist/studio/index.js +139 -70
  162. package/dist/studio/index.js.map +1 -1
  163. package/dist/studio/player.js +3 -3
  164. package/dist/studio/ui.d.ts +4 -5
  165. package/dist/studio/ui.js +1 -1
  166. package/dist/{studio-api-VRBZUGAE.js → studio-api-TQE7KWKO.js} +9 -9
  167. package/dist/{studioServer-DBNKZ6I6.js → studioServer-CYKSQK7L.js} +68 -52
  168. package/dist/{telemetry-CXAX3TO3.js → telemetry-A23PPRD6.js} +3 -3
  169. package/dist/{timeline-VQ34WH7J.js → timeline-T3QSGT3A.js} +69 -47
  170. package/dist/{tokens-62R7VFAZ.js → tokens-RT5HWA6C.js} +2 -2
  171. package/dist/{transcribe-XOHPPL2O.js → transcribe-FOLNOC5G.js} +115 -51
  172. package/dist/{transcribe-7KR7IPJA.js → transcribe-HCF64LQK.js} +14 -12
  173. package/dist/{tts-MUV42JXT.js → tts-B6AHFQEO.js} +1 -1
  174. package/dist/{updateCheck-POYNH3B5.js → updateCheck-27PIP3AA.js} +2 -2
  175. package/dist/{upgrade-NBNOT7J2.js → upgrade-TVGXBUPJ.js} +2 -2
  176. package/dist/{urlDownloader-3NS63A7B.js → urlDownloader-KBLBJKRL.js} +6 -6
  177. package/dist/{validate-Y2QDHAEP.js → validate-ZMYGK4QI.js} +20 -20
  178. package/dist/{video-SJDMTSTL.js → video-AVE5GIGM.js} +7 -7
  179. package/package.json +1 -1
  180. package/dist/chunk-6TPZSTCL.js +0 -3681
  181. package/dist/studio/chunk-LOVBLSMR.js.map +0 -1
  182. package/dist/studio/chunk-TFLU2MGI.js.map +0 -1
  183. package/dist/studio/chunk-UYWON5AX.js.map +0 -1
  184. package/dist/{screenshotCapture-TEUIWXWN.js → screenshotCapture-3JXXUZND.js} +3 -3
  185. package/dist/studio/{chunk-H2DUOXTF.js.map → chunk-G3EDKRZH.js.map} +0 -0
  186. package/dist/studio/{domEditingLayers-KBTPQKGA.js.map → domEditingLayers-PYST4G45.js.map} +0 -0
  187. package/dist/{synthesize-C3IWDAXF.js → synthesize-UCI4X5O7.js} +4 -4
@@ -7,29 +7,29 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  RegistryCompatibilityError,
9
9
  gateRegistryItemsCompatibility
10
- } from "./chunk-KO5QBV73.js";
10
+ } from "./chunk-4LAR447G.js";
11
11
  import {
12
12
  DEFAULT_PROJECT_CONFIG,
13
13
  createProjectConfig,
14
14
  loadProjectConfig,
15
15
  projectConfigPath,
16
16
  recordProjectRegistryItems
17
- } from "./chunk-2LBBHMKT.js";
17
+ } from "./chunk-JEHFZQYT.js";
18
18
  import {
19
19
  resolveItemWithDependencies,
20
20
  resolveItemsByTag
21
- } from "./chunk-HW4AKJ5F.js";
21
+ } from "./chunk-AUBOF2PN.js";
22
22
  import {
23
23
  InvalidVariableValuesError,
24
24
  prepareItem,
25
25
  publishItem
26
- } from "./chunk-CLOH4LIB.js";
26
+ } from "./chunk-54QISXOC.js";
27
27
  import {
28
28
  DEFAULT_REGISTRY_URL
29
- } from "./chunk-TAMQYQGJ.js";
29
+ } from "./chunk-I5KY7EZP.js";
30
30
  import {
31
31
  trackRegistryItemAdded
32
- } from "./chunk-QFN7NVWM.js";
32
+ } from "./chunk-RG3QWWIE.js";
33
33
  import {
34
34
  defineCommand
35
35
  } from "./chunk-S3S4TGEH.js";
@@ -38,7 +38,7 @@ import {
38
38
  } from "./chunk-PBN6GBJE.js";
39
39
  import {
40
40
  ITEM_TYPE_DIRS
41
- } from "./chunk-4M4EC7JX.js";
41
+ } from "./chunk-3VYNNWVA.js";
42
42
  import {
43
43
  isProjectRootMissing,
44
44
  realpath
@@ -9,11 +9,11 @@ import {
9
9
  } from "./chunk-BHVFTYSI.js";
10
10
  import {
11
11
  findFFmpeg
12
- } from "./chunk-TVCRUG2S.js";
12
+ } from "./chunk-ZEUONDQG.js";
13
13
 
14
14
  // src/whisper/manager.ts
15
15
  import { execFileSync } from "child_process";
16
- import { existsSync, mkdirSync, rmSync } from "fs";
16
+ import { existsSync, mkdirSync, readdirSync, rmSync } from "fs";
17
17
  import { homedir, platform } from "os";
18
18
  import { join } from "path";
19
19
  var MODELS_DIR = join(homedir(), ".cache", "hyperframes", "whisper", "models");
@@ -120,6 +120,14 @@ ${stderr.slice(-500)}`;
120
120
  function findWhisper() {
121
121
  return findFromEnv() ?? findFromSystem() ?? findBuiltBinary();
122
122
  }
123
+ function listWhisperModels() {
124
+ if (!existsSync(MODELS_DIR)) return [];
125
+ return readdirSync(MODELS_DIR).flatMap((file) => {
126
+ const model = /^ggml-(.+)\.bin$/.exec(file)?.[1];
127
+ const path = join(MODELS_DIR, file);
128
+ return model && existsSync(path) ? [{ model, path }] : [];
129
+ }).sort((a, b) => a.model.localeCompare(b.model));
130
+ }
123
131
  function getInstallInstructions() {
124
132
  if (platform() === "darwin") {
125
133
  return "brew install whisper-cpp";
@@ -190,6 +198,7 @@ export {
190
198
  WhisperUnavailableError,
191
199
  isWhisperUnavailable,
192
200
  findWhisper,
201
+ listWhisperModels,
193
202
  getInstallInstructions,
194
203
  ensureWhisper,
195
204
  ensureModel,
@@ -6,15 +6,15 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  setHostHandlesSigint
9
- } from "./chunk-33RZPZ4K.js";
9
+ } from "./chunk-5VMR4WBS.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
13
13
  processParentPid
14
- } from "./chunk-LAOCA3MQ.js";
14
+ } from "./chunk-A4Q7W4LV.js";
15
15
  import {
16
16
  processIsAlive
17
- } from "./chunk-LCSMOLGX.js";
17
+ } from "./chunk-BYSBRF24.js";
18
18
 
19
19
  // src/utils/renderCancellation.ts
20
20
  var RENDER_CANCELLATION_SIGNALS = [
@@ -6,20 +6,20 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-VIVBA6E6.js";
9
+ } from "./chunk-KFKZ3ISO.js";
10
10
  import {
11
11
  installPageFunctionGuard,
12
12
  resolveCliChromeGpuMode,
13
13
  seekCompositionTimeline,
14
14
  waitForRuntimeReady
15
- } from "./chunk-HMT2RPZU.js";
15
+ } from "./chunk-SLCFKB3Y.js";
16
16
  import {
17
17
  resolveCompositionViewportFromHtml
18
18
  } from "./chunk-FH7WODJH.js";
19
19
  import {
20
20
  launchManagedBrowser,
21
21
  resolveManagedGpuMode
22
- } from "./chunk-PJU63L6W.js";
22
+ } from "./chunk-5WADG7PR.js";
23
23
  import {
24
24
  defineCommand
25
25
  } from "./chunk-S3S4TGEH.js";
@@ -29,11 +29,11 @@ import {
29
29
  } from "./chunk-PBN6GBJE.js";
30
30
  import {
31
31
  decodeWellFormedEscapes
32
- } from "./chunk-ZLW2V65P.js";
32
+ } from "./chunk-BSQ7XANM.js";
33
33
  import {
34
34
  printDeprecationNotice,
35
35
  withMeta
36
- } from "./chunk-Y6QL2LGO.js";
36
+ } from "./chunk-P6WH6QTV.js";
37
37
  import {
38
38
  normalizeErrorMessage
39
39
  } from "./chunk-KNU5COPB.js";
@@ -228,7 +228,7 @@ function extractCompositionErrorsFromLint(lintResult) {
228
228
  async function localizeRemoteAssets(html) {
229
229
  let dir;
230
230
  try {
231
- const { loadProducer } = await import("./producer-Q6YNZZUJ.js");
231
+ const { loadProducer } = await import("./producer-ZI46K7HH.js");
232
232
  const { localizeRemoteMediaSources, localizeRemoteImageSources, localizeRemoteFontFaces } = await loadProducer();
233
233
  dir = mkdtempSync(join(tmpdir(), "hf-validate-assets-"));
234
234
  const assetDir = dir;
@@ -249,10 +249,10 @@ async function localizeRemoteAssets(html) {
249
249
  }
250
250
  async function validateInBrowser(project, opts) {
251
251
  const projectDir = project.dir;
252
- const { bundleToSingleHtml } = await import("./compiler-TEXQWW6N.js");
253
- const { ensureBrowser } = await import("./manager-CT3D67CG.js");
254
- const { serveStaticProjectHtml } = await import("./staticProjectServer-5VMBS262.js");
255
- const { lintProject } = await import("./lintProject-OQ6H6XBR.js");
252
+ const { bundleToSingleHtml } = await import("./compiler-JZ4GNFMG.js");
253
+ const { ensureBrowser } = await import("./manager-BPSR6D3V.js");
254
+ const { serveStaticProjectHtml } = await import("./staticProjectServer-V2RZ4DWD.js");
255
+ const { lintProject } = await import("./lintProject-UBZ3TDHU.js");
256
256
  const lintResult = await lintProject(projectDir);
257
257
  const compositionErrors = extractCompositionErrorsFromLint(lintResult);
258
258
  const html = await bundleToSingleHtml(projectDir);
@@ -273,18 +273,16 @@ async function validateInBrowser(project, opts) {
273
273
  try {
274
274
  const browser = await ensureBrowser();
275
275
  const puppeteer = await import("puppeteer-core");
276
- const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-JO5JOV7Y.js");
276
+ const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-VUJ2FUFK.js");
277
277
  const requestedGpuMode = resolveCliChromeGpuMode();
278
- const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu } = await import("./gpuPolicy-7N5MCE2G.js");
278
+ const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu, resolveLocalWebGpu } = await import("./gpuPolicy-NBJNWHYS.js");
279
279
  const resolvedGpuMode = await resolveManagedGpuMode(requestedGpuMode, browser.executablePath);
280
280
  const requiresWebGpu = compositionRequiresWebGpu(html);
281
+ const { gpuConfig, softwareWebGpu } = resolveLocalWebGpu(resolvedGpuMode, requiresWebGpu);
281
282
  const chromeBrowser = await launchManagedBrowser(puppeteer.default, {
282
283
  headless: true,
283
284
  executablePath: browser.executablePath,
284
- args: buildChromeArgs(
285
- { ...viewport, captureMode: "screenshot", requiresWebGpu },
286
- { browserGpuMode: resolvedGpuMode }
287
- )
285
+ args: buildChromeArgs({ ...viewport, captureMode: "screenshot", requiresWebGpu }, gpuConfig)
288
286
  });
289
287
  const page = await chromeBrowser.newPage();
290
288
  await installPageFunctionGuard(page);
@@ -334,7 +332,7 @@ async function validateInBrowser(project, opts) {
334
332
  if (hinted) throw hinted;
335
333
  throw err;
336
334
  }
337
- await assertWebGpuAdapterAvailable(page, requiresWebGpu);
335
+ await assertWebGpuAdapterAvailable(page, requiresWebGpu, softwareWebGpu);
338
336
  await waitForRuntimeReady(page, opts.timeout ?? 3e3);
339
337
  await new Promise((r) => setTimeout(r, opts.timeout ?? 3e3));
340
338
  for (const w of await auditClipDurations(page, analyzeClipMediaFit, opts.timeout ?? 3e3)) {
@@ -7,14 +7,14 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  trackLintReport,
9
9
  trackLintRuleStreak
10
- } from "./chunk-QFN7NVWM.js";
10
+ } from "./chunk-RG3QWWIE.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-OSSHSIMD.js";
13
+ } from "./chunk-XU5GGV6R.js";
14
14
  import {
15
15
  LINT_RULE_COUNT,
16
16
  LINT_RULE_GROUP_COUNTS
17
- } from "./chunk-XONFUK3M.js";
17
+ } from "./chunk-IEIJRMLZ.js";
18
18
 
19
19
  // src/telemetry/lintStreaks.ts
20
20
  import { createHash } from "crypto";
@@ -8,10 +8,10 @@ import {
8
8
  DEFAULT_VP9_CPU_USED,
9
9
  isHttpUrl,
10
10
  runFfmpeg
11
- } from "./chunk-33RZPZ4K.js";
11
+ } from "./chunk-5VMR4WBS.js";
12
12
  import {
13
13
  parseAnimatedGifMetadata
14
- } from "./chunk-4M4EC7JX.js";
14
+ } from "./chunk-3VYNNWVA.js";
15
15
  import {
16
16
  parseHTML
17
17
  } from "./chunk-SDYDNHEE.js";
@@ -17,8 +17,11 @@ import {
17
17
  compositionStyle,
18
18
  cssStyleMergeKey,
19
19
  deferScriptsUntilFonts,
20
+ enumerateNestedCompositionHosts,
20
21
  escapeInlineScriptSource,
22
+ executableScripts,
21
23
  extractResolvedMedia,
24
+ extractedCompositionAssets,
22
25
  getHyperframeRuntimeScript,
23
26
  hasSameLink,
24
27
  headStyleRuns,
@@ -29,13 +32,13 @@ import {
29
32
  isJavaScriptType,
30
33
  parseHTMLContent,
31
34
  parseHostVariableValues,
32
- queryByAttr,
35
+ planCompositionAssembly,
33
36
  readDeclaredDefaults,
34
37
  shouldClampResolvedMediaDuration,
35
38
  stripEmbeddedRuntimeScripts,
36
39
  styleElementsFor,
37
40
  warnUnknownEnumValues
38
- } from "./chunk-6TPZSTCL.js";
41
+ } from "./chunk-WJB7WI4J.js";
39
42
  import {
40
43
  cssVariableName
41
44
  } from "./chunk-VC76R6W2.js";
@@ -45,7 +48,7 @@ import {
45
48
  } from "./chunk-OFQWTKPW.js";
46
49
  import {
47
50
  lintHyperframeHtml
48
- } from "./chunk-XONFUK3M.js";
51
+ } from "./chunk-IEIJRMLZ.js";
49
52
  import {
50
53
  checkSubCompositionUsability,
51
54
  resolveSubCompositionContent
@@ -62,10 +65,13 @@ import {
62
65
  rewriteCssAssetUrls,
63
66
  rewriteInlineStyleAssetUrls,
64
67
  splitUrlSuffix
65
- } from "./chunk-ZLW2V65P.js";
68
+ } from "./chunk-BSQ7XANM.js";
66
69
  import {
67
70
  parseHTML
68
71
  } from "./chunk-SDYDNHEE.js";
72
+ import {
73
+ parse
74
+ } from "./chunk-2PSPARWP.js";
69
75
 
70
76
  // ../core/dist/compiler/htmlCompiler.js
71
77
  import { resolve } from "path";
@@ -1439,65 +1445,6 @@ function rewriteSvgIdReferencesInCss(css, idMap, references = []) {
1439
1445
  return mutated ? root.toResult({ map: false }).css : css;
1440
1446
  }
1441
1447
 
1442
- // ../core/dist/compiler/compositionAssembly.js
1443
- var COMPOSITION_ID_ATTR = "data-composition-id";
1444
- var COMPOSITION_SRC_ATTR = "data-composition-src";
1445
- var COMPOSITION_ROOT_SELECTOR = `[${COMPOSITION_ID_ATTR}]`;
1446
- var COMPOSITION_HOST_SELECTOR = `[${COMPOSITION_SRC_ATTR}]`;
1447
- var STYLE_SELECTOR = "style";
1448
- var SCRIPT_SELECTOR = "script";
1449
- var HOISTED_LINK_SELECTOR = 'link[rel="stylesheet"], link[rel="preconnect"]';
1450
- var EXTRACTED_COMPOSITION_ASSET_SELECTOR = `${STYLE_SELECTOR}, ${SCRIPT_SELECTOR}, ${HOISTED_LINK_SELECTOR}`;
1451
- var MAX_SUB_COMPOSITION_DEPTH = 20;
1452
- function toArray(items) {
1453
- return items ? Array.from(items) : [];
1454
- }
1455
- function planCompositionAssembly(input) {
1456
- const { contentNode, head, documentElement, hasTemplate, compositionId } = input;
1457
- const compositionRoots = toArray(contentNode.querySelectorAll(COMPOSITION_ROOT_SELECTOR));
1458
- const innerRoot = compositionId ? compositionRoots.find((root) => root.getAttribute(COMPOSITION_ID_ATTR) === compositionId) ?? null : compositionRoots[0] ?? null;
1459
- const declaredCompositionId = (innerRoot ?? compositionRoots[0])?.getAttribute(COMPOSITION_ID_ATTR)?.trim() || "";
1460
- const assetHead = hasTemplate ? null : head ?? null;
1461
- return {
1462
- innerRoot,
1463
- authoredCompositionId: compositionId || declaredCompositionId || null,
1464
- scriptCompositionId: declaredCompositionId || compositionId || null,
1465
- authoredRootId: innerRoot?.getAttribute("id")?.trim() || null,
1466
- styleSources: [
1467
- ...toArray(assetHead?.querySelectorAll(STYLE_SELECTOR)),
1468
- ...toArray(contentNode.querySelectorAll(STYLE_SELECTOR))
1469
- ],
1470
- scriptSources: [
1471
- ...toArray(assetHead?.querySelectorAll(SCRIPT_SELECTOR)),
1472
- ...toArray(contentNode.querySelectorAll(SCRIPT_SELECTOR))
1473
- ],
1474
- linkSources: [
1475
- ...toArray(head?.querySelectorAll(HOISTED_LINK_SELECTOR)),
1476
- ...toArray(contentNode.querySelectorAll(HOISTED_LINK_SELECTOR))
1477
- ],
1478
- variableDefaultCarriers: [documentElement, innerRoot].filter((carrier) => carrier != null)
1479
- };
1480
- }
1481
- function enumerateNestedCompositionHosts(assembledHost, ancestry) {
1482
- const hosts = [];
1483
- const skipped = [];
1484
- for (const nestedHost of assembledHost.querySelectorAll(COMPOSITION_HOST_SELECTOR)) {
1485
- const src = nestedHost.getAttribute(COMPOSITION_SRC_ATTR);
1486
- if (!src)
1487
- continue;
1488
- if (ancestry.includes(src)) {
1489
- skipped.push({ src, reason: "circular composition reference" });
1490
- continue;
1491
- }
1492
- if (ancestry.length >= MAX_SUB_COMPOSITION_DEPTH) {
1493
- skipped.push({ src, reason: "nesting depth exceeded" });
1494
- continue;
1495
- }
1496
- hosts.push({ host: nestedHost, src });
1497
- }
1498
- return { hosts, skipped };
1499
- }
1500
-
1501
1448
  // ../core/dist/compiler/inlineSubCompositions.js
1502
1449
  var SIDE_EFFECT_RE = /\b(addEventListener|requestAnimationFrame|requestIdleCallback|setTimeout|setInterval|queueMicrotask|getContext|WebGL\w*|WebGPU\w*|gpu|Worker|WebSocket|EventSource|Audio\w*|\w*Observer|fetch|import|eval|Function|Promise|async|await|delayedCall|ScrollTrigger|Draggable|anime|customElements|registerProperty|addListener|BroadcastChannel|pushState|replaceState|adoptedStyleSheets|documentElement|getElementsByTagName|lottie|THREE|__hf[A-Z]\w*)\b|\.then\s*\(|\.animate\s*\(|\.ticker\b|repeat\s*:\s*-1|\.repeat\s*\(\s*-1|defineProperty\s*\(\s*(window|globalThis|self|document)\b|\bfonts\s*\.\s*add\b|\.on[a-z]+\s*=(?!=)|\bon(resize|scroll|message|key\w+|click|pointer\w+|mouse\w+|wheel|visibilitychange|hashchange|popstate|error|load)\s*=(?!=)|\[\s*["']on[a-z]+["']\s*\]|document\s*\.\s*(head|body)\b|querySelector(All)?\(\s*["'](head|body)["']|\bgsap\s*\.\s*(?:to|from|fromTo)\s*\(|\bgsap\s*\.\s*timeline\s*\((?:[^()]|\([^()]*\))*\)\s*\.\s*(?:to|from|fromTo|set|add|call)\s*\(/;
1503
1450
  var SWAP_SAFE_LIBRARY_URL = /^https:\/\/(cdn\.jsdelivr\.net\/npm|unpkg\.com)\/(gsap|three|d3|d3-[a-z-]+|topojson-client|clipper-lib)(@[^/]+)?\//;
@@ -1746,7 +1693,7 @@ function inlineSubCompositions(document, hosts, options) {
1746
1693
  }
1747
1694
  if (innerRoot) {
1748
1695
  innerRoot.setAttribute("data-composition-file", src);
1749
- for (const child of [...innerRoot.querySelectorAll(EXTRACTED_COMPOSITION_ASSET_SELECTOR)])
1696
+ for (const child of extractedCompositionAssets(innerRoot))
1750
1697
  child.remove();
1751
1698
  if (flattenInnerRoot) {
1752
1699
  const prepared = flattenInnerRoot(innerRoot);
@@ -1761,11 +1708,13 @@ function inlineSubCompositions(document, hosts, options) {
1761
1708
  }
1762
1709
  }
1763
1710
  } else {
1764
- for (const child of [...contentDoc.querySelectorAll(EXTRACTED_COMPOSITION_ASSET_SELECTOR)])
1711
+ for (const child of extractedCompositionAssets(contentDoc))
1765
1712
  child.remove();
1766
1713
  const bodyHtml = contentDoc.body?.innerHTML || "";
1767
1714
  hostEl.innerHTML = bodyHtml || contentDoc.documentElement?.outerHTML || "";
1768
1715
  }
1716
+ for (const el of plan.inertScriptsOutsideRoot)
1717
+ hostEl.insertAdjacentHTML("beforeend", el.outerHTML);
1769
1718
  hostEl.setAttribute("data-composition-file", src);
1770
1719
  hostEl.removeAttribute("data-composition-src");
1771
1720
  const nestedAncestry = [...ancestry, src];
@@ -2403,12 +2352,17 @@ function coalesceHeadStylesAndBodyScripts(document) {
2403
2352
  const isPinned = (el) => el.hasAttribute(RUNTIME_BOOTSTRAP_ATTR) || el.hasAttribute(SCENE_PART_ATTR);
2404
2353
  for (const { members, anchor } of inlineScriptRuns([...document.querySelectorAll("body script")], isPinned)) {
2405
2354
  const mergedJs = joinJsChunks(members.map((el) => el.textContent || ""));
2355
+ if (mergedJs && !parsesAsScript(mergedJs)) {
2356
+ for (const el of members)
2357
+ el.textContent = inlineScriptSource(el.textContent || "");
2358
+ continue;
2359
+ }
2406
2360
  for (const el of members)
2407
2361
  el.remove();
2408
2362
  if (!mergedJs)
2409
2363
  continue;
2410
2364
  const inlineScript = document.createElement("script");
2411
- inlineScript.textContent = escapeInlineScriptSource(stripJsCommentsParserSafe(mergedJs));
2365
+ inlineScript.textContent = inlineScriptSource(mergedJs);
2412
2366
  if (anchor)
2413
2367
  anchor.before(inlineScript);
2414
2368
  else
@@ -2429,6 +2383,14 @@ function injectTextRenderingRule(document) {
2429
2383
  function joinJsChunks(chunks) {
2430
2384
  return chunks.map((chunk) => chunk.trim()).filter((chunk) => chunk.length > 0).map((chunk) => chunk.endsWith(";") ? chunk : chunk + "\n;").join("\n");
2431
2385
  }
2386
+ function parsesAsScript(source) {
2387
+ try {
2388
+ parse(source, { ecmaVersion: "latest", sourceType: "script" });
2389
+ return true;
2390
+ } catch {
2391
+ return false;
2392
+ }
2393
+ }
2432
2394
  function stripJsCommentsParserSafe(source) {
2433
2395
  if (!source)
2434
2396
  return source;
@@ -2439,6 +2401,9 @@ function stripJsCommentsParserSafe(source) {
2439
2401
  return source;
2440
2402
  }
2441
2403
  }
2404
+ function inlineScriptSource(js) {
2405
+ return escapeInlineScriptSource(stripJsCommentsParserSafe(js));
2406
+ }
2442
2407
  function preserveLocalScriptIntegrity(doc, src, resolvePath) {
2443
2408
  const path = resolvePath(src);
2444
2409
  if (!path)
@@ -2471,9 +2436,19 @@ function hoistExternalScript(src, projectDir, doc, seenSrcs, chunks, attributes)
2471
2436
  ensureExternalScriptTag(doc, src, attributes);
2472
2437
  }
2473
2438
  function hoistCompositionScripts(container, opts) {
2474
- for (const scriptEl of [...container.querySelectorAll("script")]) {
2439
+ for (const scriptEl of executableScripts(container)) {
2475
2440
  const externalSrc = (scriptEl.getAttribute("src") || "").trim();
2476
- if (externalSrc) {
2441
+ const type = (scriptEl.getAttribute("type") || "").trim().toLowerCase();
2442
+ if (!externalSrc && type === "importmap") {
2443
+ const map = parseImportMap(scriptEl.textContent || "", (url) => url);
2444
+ if (map)
2445
+ opts.importMaps.push(map);
2446
+ else
2447
+ console.warn(`[HyperFrames] ${opts.compId}: import map is not valid JSON, so it is skipped.`);
2448
+ } else if (!externalSrc && type === "module") {
2449
+ const prelude = opts.compId ? scopedModulePrelude(opts.runtimeCompId || opts.compId) : "";
2450
+ opts.moduleScripts.push(prelude + (scriptEl.textContent || ""));
2451
+ } else if (externalSrc) {
2477
2452
  hoistExternalScript(externalSrc, opts.projectDir, opts.document, opts.seenCompScriptSrcs, opts.compScriptChunks, readExternalScriptAttributes(scriptEl));
2478
2453
  } else {
2479
2454
  opts.compScriptChunks.push(opts.compId ? wrapScopedCompositionScript(scriptEl.textContent || "", opts.compId, "[HyperFrames] composition script error:", opts.runtimeScope, opts.runtimeCompId || opts.compId, opts.authoredRootId) : wrapInlineScriptWithErrorBoundary(scriptEl.textContent || "", "[HyperFrames] composition script error:"));
@@ -2629,8 +2604,12 @@ async function bundleProject(projectDir, options) {
2629
2604
  const hostIdentity = hostIdentityByElement.get(host);
2630
2605
  const runtimeCompId = hostIdentity?.runtimeCompositionId || compId;
2631
2606
  const innerDoc = parseHTMLContent(templateHtml);
2632
- const innerRoot = queryByAttr(innerDoc, "data-composition-id", compId);
2633
- const authoredRootId = innerRoot?.getAttribute("id")?.trim() || null;
2607
+ const plan = planCompositionAssembly({
2608
+ contentNode: innerDoc,
2609
+ hasTemplate: true,
2610
+ compositionId: compId
2611
+ });
2612
+ const { innerRoot, authoredRootId } = plan;
2634
2613
  const runtimeScope = runtimeCompId ? cssAttributeSelector("data-composition-id", runtimeCompId) : "";
2635
2614
  const mergedVariables = runtimeCompId ? parseHostVariableValues(host) : {};
2636
2615
  if (runtimeCompId && Object.keys(mergedVariables).length > 0) {
@@ -2659,7 +2638,9 @@ async function bundleProject(projectDir, options) {
2659
2638
  runtimeCompId,
2660
2639
  authoredRootId: authoredRootId ?? void 0,
2661
2640
  seenCompScriptSrcs,
2662
- compScriptChunks
2641
+ compScriptChunks,
2642
+ importMaps: subCompResult.importMaps,
2643
+ moduleScripts: subCompResult.moduleScripts
2663
2644
  });
2664
2645
  const innerW = innerRoot.getAttribute("data-width");
2665
2646
  const innerH = innerRoot.getAttribute("data-height");
@@ -2687,10 +2668,14 @@ async function bundleProject(projectDir, options) {
2687
2668
  runtimeCompId,
2688
2669
  authoredRootId: void 0,
2689
2670
  seenCompScriptSrcs,
2690
- compScriptChunks
2671
+ compScriptChunks,
2672
+ importMaps: subCompResult.importMaps,
2673
+ moduleScripts: subCompResult.moduleScripts
2691
2674
  });
2692
2675
  host.innerHTML = innerDoc.body.innerHTML || "";
2693
2676
  }
2677
+ for (const el of plan.inertScriptsOutsideRoot)
2678
+ host.insertAdjacentHTML("beforeend", el.outerHTML);
2694
2679
  }
2695
2680
  templateEl.remove();
2696
2681
  }
@@ -2732,11 +2717,16 @@ async function bundleProject(projectDir, options) {
2732
2717
  }
2733
2718
  }
2734
2719
  for (const { scene, chunks } of scriptRuns) {
2735
- const script = document.createElement("script");
2736
- if (scene)
2737
- script.setAttribute(SCENE_PART_ATTR, scene);
2738
- script.textContent = joinJsChunks(chunks.map((chunk) => typeof chunk === "string" ? chunk : chunk()));
2739
- document.body.appendChild(script);
2720
+ const texts = chunks.map((chunk) => typeof chunk === "string" ? chunk : chunk());
2721
+ const joined = joinJsChunks(texts);
2722
+ const skipsRunMerge = Boolean(scene);
2723
+ for (const text of parsesAsScript(joined) ? [joined] : texts.filter(Boolean)) {
2724
+ const script = document.createElement("script");
2725
+ if (scene)
2726
+ script.setAttribute(SCENE_PART_ATTR, scene);
2727
+ script.textContent = skipsRunMerge ? inlineScriptSource(text) : text;
2728
+ document.body.appendChild(script);
2729
+ }
2740
2730
  }
2741
2731
  emitMountedModuleScripts(document, subCompResult.importMaps, subCompResult.moduleScripts);
2742
2732
  emitRootCompositionVariableStyles(document, compVariablesByComp);
@@ -3035,6 +3025,7 @@ export {
3035
3025
  inlineSubCompositions,
3036
3026
  assignBundledRuntimeCompositionIds,
3037
3027
  prepareFlattenedInnerRoot,
3028
+ parsesAsScript,
3038
3029
  bundleToSingleHtml,
3039
3030
  emitRootCompositionVariableStyles,
3040
3031
  extractCompiledHtmlParityContract,
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-ISN5GRYI.js";
18
18
  import {
19
19
  VERSION
20
- } from "./chunk-W35EKBS6.js";
20
+ } from "./chunk-4OC7MQNB.js";
21
21
 
22
22
  // src/utils/updateCheck.ts
23
23
  import { existsSync, readFileSync } from "fs";
@@ -18,7 +18,7 @@ import {
18
18
  CSS_URL_RE,
19
19
  isNonRelativeUrl,
20
20
  isPathInside
21
- } from "./chunk-ZLW2V65P.js";
21
+ } from "./chunk-BSQ7XANM.js";
22
22
  import {
23
23
  parseHTML
24
24
  } from "./chunk-SDYDNHEE.js";
@@ -8,7 +8,7 @@ import {
8
8
  flush,
9
9
  shouldTrack,
10
10
  trackEvent
11
- } from "./chunk-OSSHSIMD.js";
11
+ } from "./chunk-XU5GGV6R.js";
12
12
  import {
13
13
  getPowerState
14
14
  } from "./chunk-GQJZORQP.js";
@@ -20,7 +20,7 @@ import {
20
20
  typeDirPath,
21
21
  updateRecord,
22
22
  withFigmaErrors
23
- } from "./chunk-LVX6NK36.js";
23
+ } from "./chunk-2DA2BBNY.js";
24
24
  import {
25
25
  defineCommand
26
26
  } from "./chunk-S3S4TGEH.js";
@@ -229,7 +229,7 @@ var asset_default = defineCommand({
229
229
  rendered > 0 ? `(${results.length} nodes, ${rendered} rendered in 1 figma request)` : `(${results.length} nodes, all reused from cache \u2014 no figma request)`
230
230
  );
231
231
  }
232
- const { trackFigmaImport } = await import("./telemetry-CXAX3TO3.js");
232
+ const { trackFigmaImport } = await import("./telemetry-A23PPRD6.js");
233
233
  trackFigmaImport({
234
234
  phase: "asset",
235
235
  reused: results.every((r) => r.reused),
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType,
9
9
  injectMediaCodecMapIntoHtml
10
- } from "./chunk-7UYBQ6NF.js";
10
+ } from "./chunk-XGFHYAYN.js";
11
11
  import {
12
12
  PROXY_VARIANT_CONFIG,
13
13
  ProxyCapacityError,
@@ -18,13 +18,13 @@ import {
18
18
  recordProxyRequest,
19
19
  resolveProxy,
20
20
  resolveProxyVariantRequest
21
- } from "./chunk-ZQQ3SEIE.js";
21
+ } from "./chunk-ZOA2SC4P.js";
22
22
  import {
23
23
  resolveAutoProxy
24
- } from "./chunk-2LBBHMKT.js";
24
+ } from "./chunk-JEHFZQYT.js";
25
25
  import {
26
26
  decodeWellFormedEscapes
27
- } from "./chunk-ZLW2V65P.js";
27
+ } from "./chunk-BSQ7XANM.js";
28
28
 
29
29
  // src/utils/staticProjectServer.ts
30
30
  import { createServer } from "http";
@@ -10,18 +10,19 @@ import {
10
10
  import {
11
11
  launchManagedBrowser,
12
12
  resolveManagedGpuMode
13
- } from "./chunk-PJU63L6W.js";
13
+ } from "./chunk-5WADG7PR.js";
14
14
  import {
15
15
  resolveDiagnosticNavigationTimeoutMs,
16
16
  windowsChromeCrashRemediation
17
- } from "./chunk-P7THMINS.js";
17
+ } from "./chunk-GZM2EFOE.js";
18
18
  import {
19
- resolveLocalBrowserGpuMode
20
- } from "./chunk-QRKLPWEX.js";
19
+ resolveLocalBrowserGpuMode,
20
+ resolveLocalWebGpu
21
+ } from "./chunk-7SDCIWHQ.js";
21
22
  import {
22
23
  assertWebGpuAdapterAvailable,
23
24
  compositionRequiresWebGpu
24
- } from "./chunk-33RZPZ4K.js";
25
+ } from "./chunk-5VMR4WBS.js";
25
26
  import {
26
27
  normalizeErrorMessage
27
28
  } from "./chunk-KNU5COPB.js";
@@ -100,20 +101,23 @@ async function installPageFunctionGuard(page) {
100
101
  }
101
102
  async function openSettledCompositionPage(html, url, options) {
102
103
  const viewport = resolveCompositionViewportFromHtml(html);
103
- const { ensureBrowser, findSystemBrowser } = await import("./manager-CT3D67CG.js");
104
+ const { ensureBrowser, findSystemBrowser } = await import("./manager-BPSR6D3V.js");
104
105
  const browser = await ensureBrowser();
105
106
  const puppeteer = await import("puppeteer-core");
106
- const { buildChromeArgs } = await import("./src-JO5JOV7Y.js");
107
+ const { buildChromeArgs } = await import("./src-VUJ2FUFK.js");
107
108
  const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
108
109
  const requiresWebGpu = compositionRequiresWebGpu(html);
110
+ let softwareWebGpu = false;
109
111
  const launch = async (executablePath) => {
110
112
  const resolvedGpuMode = await resolveManagedGpuMode(requestedGpuMode, executablePath);
113
+ const webGpu = resolveLocalWebGpu(resolvedGpuMode, requiresWebGpu);
114
+ softwareWebGpu = webGpu.softwareWebGpu;
111
115
  return launchManagedBrowser(puppeteer.default, {
112
116
  headless: true,
113
117
  executablePath,
114
118
  args: buildChromeArgs(
115
119
  { ...viewport, captureMode: "screenshot", requiresWebGpu },
116
- { browserGpuMode: resolvedGpuMode }
120
+ webGpu.gpuConfig
117
121
  )
118
122
  });
119
123
  };
@@ -153,7 +157,7 @@ ${remediation}`,
153
157
  waitUntil: "domcontentloaded",
154
158
  timeout: resolveDiagnosticNavigationTimeoutMs(process.env, options.navigationTimeoutMs)
155
159
  });
156
- await assertWebGpuAdapterAvailable(page, requiresWebGpu);
160
+ await assertWebGpuAdapterAvailable(page, requiresWebGpu, softwareWebGpu);
157
161
  const renderReadyTimedOut = !await waitForCompositionSettle(page, options);
158
162
  return { browser: chromeBrowser, page, renderReadyTimedOut };
159
163
  } catch (err) {