hyperframes 0.8.138 → 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 (207) hide show
  1. package/dist/{add-IZQPSHT5.js → add-7SPPQB64.js} +20 -22
  2. package/dist/{animatedGifPrep-MQF3GRFW.js → animatedGifPrep-HN3CJSFX.js} +15 -8
  3. package/dist/{asset-RNZX4ISG.js → asset-AZMFUTRL.js} +3 -3
  4. package/dist/{assetCataloger-5YRUY3PJ.js → assetCataloger-TQUWYLHE.js} +6 -3
  5. package/dist/{auth-LUELYGJ4.js → auth-XGY74R4A.js} +7 -7
  6. package/dist/{autoUpdate-ECMQWUU5.js → autoUpdate-44NTJBQU.js} +2 -2
  7. package/dist/{backgroundChecks-PBEJMSA3.js → backgroundChecks-ET4DJEPG.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-2GXKBPFQ.js → batchRender-HTWWNF3P.js} +11 -8
  10. package/dist/beat-analyzer.global.js +5 -2
  11. package/dist/{beats-AAAZVDOY.js → beats-4GYTZUZG.js} +24 -17
  12. package/dist/{benchmark-EI767IB4.js → benchmark-CJQHE3QN.js} +20 -23
  13. package/dist/{browser-KAA2VXYH.js → browser-NXOVPGDG.js} +14 -28
  14. package/dist/{bundleWithLocalizedFonts-MWDYAPGB.js → bundleWithLocalizedFonts-6PJP54TC.js} +5 -5
  15. package/dist/{capture-IRRHK6BT.js → capture-5EHGRJZM.js} +2 -2
  16. package/dist/{capture-VYT5NQQI.js → capture-EHOMO4MP.js} +22 -15
  17. package/dist/{catalog-FYTZ2ET6.js → catalog-PTX5Z52R.js} +28 -30
  18. package/dist/{catch-up-XH3OAKQR.js → catch-up-I45SPSCU.js} +11 -25
  19. package/dist/{check-MUMIOK5K.js → check-LJ7LG7OI.js} +72 -54
  20. package/dist/{checkBrowser-LKSZFOU6.js → checkBrowser-6EK5E4PG.js} +81 -36
  21. package/dist/chunk-24OWOBQH.js +3656 -0
  22. package/dist/{chunk-3F6YLT72.js → chunk-2GMKWYEH.js} +12 -12
  23. package/dist/{chunk-KRLYIT22.js → chunk-5IKJONRY.js} +1 -1
  24. package/dist/chunk-6IHWCZ3W.js +54 -0
  25. package/dist/{chunk-P5WDMFBB.js → chunk-6U3MN4HW.js} +5 -106
  26. package/dist/chunk-A4KQZXZI.js +116 -0
  27. package/dist/{chunk-MKVKVMUH.js → chunk-ABJNXQUA.js} +10 -10
  28. package/dist/{chunk-YGXLBX3N.js → chunk-ASW6NWON.js} +1 -1
  29. package/dist/chunk-B3I3XJ47.js +3711 -0
  30. package/dist/{chunk-FSSMOTMS.js → chunk-BJ5JWOES.js} +1 -1
  31. package/dist/{chunk-OBC75KXL.js → chunk-BQKEGPPL.js} +1 -1
  32. package/dist/{chunk-SHB5VDMH.js → chunk-BRITLL56.js} +1 -1
  33. package/dist/{chunk-VR5UQWGV.js → chunk-C2JUHIG5.js} +6 -6
  34. package/dist/{chunk-YNBXJWSD.js → chunk-DDQ4LOML.js} +1 -1
  35. package/dist/{chunk-HUZYBV2Z.js → chunk-DQNOPYAG.js} +1 -1
  36. package/dist/{chunk-JH556Q42.js → chunk-EDYBFSPE.js} +2 -2
  37. package/dist/{chunk-SIMYRD5P.js → chunk-F3SPK6SO.js} +78 -20
  38. package/dist/chunk-FXMKHHPO.js +123 -0
  39. package/dist/chunk-G75ENCEZ.js +283 -0
  40. package/dist/{chunk-MIOBYUXT.js → chunk-GQJZORQP.js} +1 -1
  41. package/dist/{chunk-Y6W4DVPS.js → chunk-HKCNZITN.js} +1 -1
  42. package/dist/{chunk-APMG37MX.js → chunk-IFY57LUW.js} +1 -1
  43. package/dist/{chunk-JOUVZO7M.js → chunk-IRBESGJ7.js} +4 -4
  44. package/dist/chunk-JFKL3WAE.js +161 -0
  45. package/dist/{chunk-WH6PRFNX.js → chunk-JSGANFFH.js} +12 -3
  46. package/dist/{chunk-S3S2LSZX.js → chunk-KDPYVTEU.js} +2 -1
  47. package/dist/{chunk-PHXBLIKK.js → chunk-KECV5G4V.js} +165 -59
  48. package/dist/{chunk-SDRKEYZV.js → chunk-KFQNMY36.js} +8 -8
  49. package/dist/{chunk-QPOK6I32.js → chunk-KJLY2SDJ.js} +2 -2
  50. package/dist/{chunk-SZITAGRK.js → chunk-KMKWRIMC.js} +1 -1
  51. package/dist/{chunk-UUMK6VME.js → chunk-KOEWEFHK.js} +1 -1
  52. package/dist/{chunk-HXXX6N2G.js → chunk-L2H2L22P.js} +2 -2
  53. package/dist/{chunk-DJMXTKKK.js → chunk-LQG6GPVK.js} +1 -1
  54. package/dist/{chunk-GJGVYREG.js → chunk-MHK5DE2P.js} +268 -1964
  55. package/dist/{chunk-W3KQCJVP.js → chunk-MTVDXB6S.js} +18 -289
  56. package/dist/{chunk-IRYC5BRO.js → chunk-MU6C2VP6.js} +7 -7
  57. package/dist/{chunk-P75OFLZN.js → chunk-MUINFURL.js} +2 -2
  58. package/dist/{chunk-L5E5ZN6G.js → chunk-PB3P4MKP.js} +1 -1
  59. package/dist/{chunk-PHRWQQOJ.js → chunk-PE2I3AFA.js} +1 -1
  60. package/dist/{chunk-DXHYACUC.js → chunk-PFJFHNU3.js} +3 -3
  61. package/dist/{chunk-KBUUCAIZ.js → chunk-PPKFM5WE.js} +2 -2
  62. package/dist/{chunk-RH5VML6E.js → chunk-PUBKHEEA.js} +13 -13
  63. package/dist/{chunk-R6C6URKB.js → chunk-QBK7WKHT.js} +8 -8
  64. package/dist/{chunk-I3BRUEKD.js → chunk-QG3PDRSO.js} +1 -1
  65. package/dist/{chunk-RLNB3JCY.js → chunk-QP3BRKGF.js} +1 -163
  66. package/dist/chunk-QZ3AZTXI.js +1740 -0
  67. package/dist/{chunk-GNHJ4ONK.js → chunk-SLEPCESN.js} +2 -2
  68. package/dist/chunk-T76PLPD6.js +57 -0
  69. package/dist/{chunk-7Y5SMPRV.js → chunk-TPECLKPA.js} +168 -165
  70. package/dist/{chunk-IC5L6L7K.js → chunk-TYT2TLJR.js} +1 -1
  71. package/dist/{chunk-ASPTQ6DT.js → chunk-U7E736AJ.js} +1 -1
  72. package/dist/chunk-UOFAE5RF.js +42 -0
  73. package/dist/chunk-USDEMXXL.js +110 -0
  74. package/dist/{chunk-5K33TNUJ.js → chunk-VVJFZU6B.js} +2 -2
  75. package/dist/{chunk-XQODEVF3.js → chunk-WKTHUC2R.js} +1 -1
  76. package/dist/{chunk-7OLMGFDN.js → chunk-WQBA3MH4.js} +3 -3
  77. package/dist/{chunk-STA43FMY.js → chunk-WY5OODN5.js} +71 -3855
  78. package/dist/{chunk-JCRJBB4E.js → chunk-X3X3VETN.js} +8 -8
  79. package/dist/{chunk-ZTZ7NCJT.js → chunk-XTFJOR3K.js} +1 -1
  80. package/dist/chunk-YA62XGXS.js +45 -0
  81. package/dist/{clean-LZPDOAV4.js → clean-Y3AQITOX.js} +29 -20
  82. package/dist/cli.js +55 -55
  83. package/dist/{cloud-RVAH5NNL.js → cloud-TDPOMBZF.js} +7 -7
  84. package/dist/{cloudrun-NFGM6TRT.js → cloudrun-FPAVAVHP.js} +11 -8
  85. package/dist/commands/layout-audit.browser.js +37 -8
  86. package/dist/commands/motion-signature.browser.js +51 -2
  87. package/dist/{compare-S3M5OAL2.js → compare-LHL225ND.js} +40 -31
  88. package/dist/{compiler-SZ4GTYFB.js → compiler-RTU3KTLF.js} +7 -3
  89. package/dist/{component-PR2WZTQ4.js → component-L2YX7J56.js} +4 -4
  90. package/dist/{compositions-6RYXH2UA.js → compositions-V2UZKG7S.js} +23 -16
  91. package/dist/{delete-EO7C3LQ6.js → delete-OXZEXUQY.js} +8 -8
  92. package/dist/{dist-RVC3JTID.js → dist-N33CM63P.js} +21 -15
  93. package/dist/{dist-OJTEVNJR.js → dist-NZSQCYOF.js} +3 -1
  94. package/dist/{doctor-UTCCMN32.js → doctor-MWTPSIVD.js} +20 -13
  95. package/dist/{events-RE3OR6KY.js → events-4TZGQZWF.js} +6 -22
  96. package/dist/{events-RCGWL4LI.js → events-7VJJGC3D.js} +10 -23
  97. package/dist/{feedback-V7C64JIR.js → feedback-HSGAPVN7.js} +67 -45
  98. package/dist/{figma-26LOX5PV.js → figma-AMC6FAK3.js} +6 -6
  99. package/dist/fontLocalizeCli.js +17 -10
  100. package/dist/{get-E2K2JRTV.js → get-Y7DFEFYM.js} +8 -8
  101. package/dist/{gpuPolicy-Z3PQN6ZK.js → gpuPolicy-A45VSUKR.js} +15 -8
  102. package/dist/{grade-compare-OTZDU463.js → grade-compare-ERSA3OUI.js} +40 -31
  103. package/dist/{gsapParser-2OL54XZ5.js → gsapParser-UP3PNPC2.js} +3 -2
  104. package/dist/{help-IRSQLNI5.js → help-TW2AADLZ.js} +4 -4
  105. package/dist/{history-G44U6762.js → history-DKGDSVWF.js} +12 -30
  106. package/dist/hyperframe-runtime.js +59 -59
  107. package/dist/hyperframe.manifest.json +1 -1
  108. package/dist/hyperframe.runtime.iife.js +59 -59
  109. package/dist/hyperframes-player.global.js +3 -3
  110. package/dist/{info-KXQ2TAHX.js → info-I3NRRNX4.js} +17 -20
  111. package/dist/{init-7SXMLHJE.js → init-5Y3ZWZNF.js} +50 -41
  112. package/dist/{inspect-7JTINR25.js → inspect-BJQKBB3X.js} +39 -30
  113. package/dist/{installer-RH4E6WXT.js → installer-27K4JS2I.js} +8 -5
  114. package/dist/{keyframes-PIV573S6.js → keyframes-6V2NZO22.js} +14 -25
  115. package/dist/{lambda-GO5HAA4S.js → lambda-AIMF3K4A.js} +16 -13
  116. package/dist/{layout-N2736OO3.js → layout-YAPEBTU4.js} +39 -30
  117. package/dist/{lint-WUXZ5WWZ.js → lint-3LWWUIV7.js} +17 -23
  118. package/dist/{lintProject-ANMPLBIT.js → lintProject-LM3XZRPZ.js} +3 -1
  119. package/dist/{list-QF7AMX5F.js → list-NTSGEZJ6.js} +8 -8
  120. package/dist/{login-6RGSXHQJ.js → login-ZTDFGCCW.js} +9 -9
  121. package/dist/{logout-Q654A3SI.js → logout-GJXZQKOA.js} +5 -5
  122. package/dist/{media-treatment-T4KDEDYW.js → media-treatment-ARHX446F.js} +21 -20
  123. package/dist/{models-6JMNK3XI.js → models-VHNQVTHG.js} +20 -13
  124. package/dist/{motionShot-74WM7KF6.js → motionShot-35HCSNCI.js} +22 -15
  125. package/dist/{normalize-O76AC4HE.js → normalize-IGLHCWTF.js} +0 -4
  126. package/dist/{normalize-audio-ZZU36ZMD.js → normalize-audio-AUC73JH3.js} +13 -26
  127. package/dist/{open-G523K45B.js → open-C5LVNU3U.js} +11 -25
  128. package/dist/{pipeline-AKDGCWRE.js → pipeline-4GDTK54T.js} +15 -8
  129. package/dist/{play-SHIGXVON.js → play-U7UANF7Z.js} +38 -32
  130. package/dist/{preflight-6ERLORWK.js → preflight-Y5DN5D37.js} +3 -18
  131. package/dist/{present-QOYYNZCE.js → present-X6V6TX3E.js} +32 -26
  132. package/dist/{preview-KUXTDJL3.js → preview-K43RTRU2.js} +33 -26
  133. package/dist/{producer-CH33JXHK.js → producer-PVMFMW23.js} +1 -1
  134. package/dist/{projectConfig-NKIPRWAE.js → projectConfig-PI6MEN2T.js} +10 -7
  135. package/dist/{publication-4RBVVR5Z.js → publication-67C7KVTL.js} +6 -3
  136. package/dist/{publish-OLHR4Z4U.js → publish-RBV7EAMH.js} +27 -20
  137. package/dist/{refresh-K24ETHMA.js → refresh-MFITBIKV.js} +5 -5
  138. package/dist/{remove-background-NPKZSIPY.js → remove-background-Z2ECZX2Q.js} +22 -15
  139. package/dist/{render-UOKPAJNH.js → render-2GQMQBU3.js} +10 -7
  140. package/dist/{render-GYYGWYQC.js → render-EFU4BZRZ.js} +23 -26
  141. package/dist/{render-P4NWFUS7.js → render-YBS3XGRJ.js} +52 -32
  142. package/dist/{render-batch-ZDG3EXSD.js → render-batch-QC64OTB5.js} +11 -8
  143. package/dist/{renderCancellation-QYQLWHZY.js → renderCancellation-NTVU7IMB.js} +15 -8
  144. package/dist/renderSetupWorker.js +4 -2
  145. package/dist/{resolver-CWH3VVB7.js → resolver-GBWYG3EI.js} +8 -5
  146. package/dist/{sherpa-WEQE23S5.js → sherpa-ZW6PWJS4.js} +46 -14
  147. package/dist/sherpaWorker.js +11 -3
  148. package/dist/skills/hyperframes/references/capability-menu.md +1 -1
  149. package/dist/skills/hyperframes-cli/SKILL.md +5 -0
  150. package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +1 -1
  151. package/dist/skills/hyperframes-cli/references/preview-render.md +1 -1
  152. package/dist/skills/media-use/SKILL.md +6 -4
  153. package/dist/skills/media-use/audio/scripts/lib/host-audio.mjs +28 -0
  154. package/dist/skills/media-use/audio/scripts/lib/host-audio.test.mjs +106 -0
  155. package/dist/skills/media-use/references/setup-providers.md +3 -2
  156. package/dist/skills/media-use/scripts/lib/heygen-cli.mjs +21 -1
  157. package/dist/skills/media-use/scripts/lib/heygen-cli.test.mjs +14 -0
  158. package/dist/skills/media-use/scripts/resolve.mjs +11 -6
  159. package/dist/{skills-BVONI6TC.js → skills-VKZAX5AS.js} +15 -30
  160. package/dist/{skillsUpdateCheck-KKDPTFM7.js → skillsUpdateCheck-PAY2OPDE.js} +3 -3
  161. package/dist/{snapshot-PWZFJEDR.js → snapshot-SD5R3NWX.js} +41 -32
  162. package/dist/{src-YO7MAWGD.js → src-7SSERHNP.js} +19 -11
  163. package/dist/{src-HH4C5GZV.js → src-RXTXL3VL.js} +16 -9
  164. package/dist/{staticProjectServer-PR5INXSA.js → staticProjectServer-XELJXX4J.js} +24 -16
  165. package/dist/{status-AK67DTED.js → status-JA6SKQVH.js} +7 -24
  166. package/dist/studio/assets/{hyperframes-player-B30apksz.js → hyperframes-player-BLuyxnK7.js} +1 -1
  167. package/dist/studio/assets/{index-DXVvWfQG.js → index-CWfuDCoA.js} +1 -1
  168. package/dist/studio/assets/{index-DIJuIBwI.js → index-Dr3Bo9uH.js} +1 -1
  169. package/dist/studio/assets/{index-BdjA0CLD.js → index-VAHDM_zL.js} +210 -210
  170. package/dist/studio/{chunk-4S3AYCOG.js → chunk-H2DUOXTF.js} +3 -2
  171. package/dist/studio/{chunk-TDWGXBUT.js → chunk-TFLU2MGI.js} +1 -6
  172. package/dist/studio/chunk-TFLU2MGI.js.map +1 -0
  173. package/dist/studio/{chunk-7UQWVN52.js → chunk-UYWON5AX.js} +2 -2
  174. package/dist/studio/{domEditingLayers-IEVLO54Z.js → domEditingLayers-KBTPQKGA.js} +3 -3
  175. package/dist/studio/index.d.ts +20 -3
  176. package/dist/studio/index.html +1 -1
  177. package/dist/studio/index.js +7327 -6265
  178. package/dist/studio/index.js.map +1 -1
  179. package/dist/studio/player.js +2 -2
  180. package/dist/{studio-api-NFJMFAB7.js → studio-api-4FNUZPJ4.js} +40 -28
  181. package/dist/{studioServer-TQZVCIEL.js → studioServer-GHLL3F2M.js} +99 -68
  182. package/dist/{system-ZWIBWWE6.js → system-OQLOGGPJ.js} +2 -19
  183. package/dist/{telemetry-63L2ORO3.js → telemetry-7AO77PMH.js} +8 -23
  184. package/dist/{timeline-QKZQL5DJ.js → timeline-6LTHSRXM.js} +32 -22
  185. package/dist/{tokens-ELK62U4A.js → tokens-K6B46KNL.js} +3 -3
  186. package/dist/{transcribe-OSK7HEOJ.js → transcribe-CLLISRLZ.js} +18 -9
  187. package/dist/{transcribe-VKSXTM7K.js → transcribe-K2OU6FZF.js} +37 -78
  188. package/dist/{updateCheck-PM4FEI7P.js → updateCheck-X6UQBS6I.js} +2 -2
  189. package/dist/{upgrade-G635QCNO.js → upgrade-BZFKEADI.js} +5 -5
  190. package/dist/{urlDownloader-MVYQTP73.js → urlDownloader-VAVUXYEQ.js} +14 -7
  191. package/dist/{validate-AZTMI3HR.js → validate-VO5KEXWN.js} +26 -19
  192. package/dist/{video-H56FK33V.js → video-JV6Y4UJR.js} +18 -11
  193. package/package.json +1 -1
  194. package/dist/chunk-UINDCCO7.js +0 -3742
  195. package/dist/studio/chunk-TDWGXBUT.js.map +0 -1
  196. package/dist/{chunk-I465DBM6.js → chunk-246MOR5U.js} +3 -3
  197. package/dist/{deploy-MX76RZ36.js → deploy-5G4Z6LPA.js} +1 -1
  198. package/dist/{destroy-H2TZBYHH.js → destroy-GFQLTIY3.js} +1 -1
  199. package/dist/{docs-QAPJEGLS.js → docs-MPOM3PHH.js} +3 -3
  200. package/dist/{policies-FSDZVS2E.js → policies-4FEXMXPK.js} +3 -3
  201. package/dist/{progress-FBIEEB7Y.js → progress-5AM2MZ7V.js} +3 -3
  202. package/dist/{sites-TNVKZS73.js → sites-HZMADOA3.js} +1 -1
  203. package/dist/studio/{chunk-4S3AYCOG.js.map → chunk-H2DUOXTF.js.map} +0 -0
  204. package/dist/studio/{chunk-7UQWVN52.js.map → chunk-UYWON5AX.js.map} +0 -0
  205. package/dist/studio/{domEditingLayers-IEVLO54Z.js.map → domEditingLayers-KBTPQKGA.js.map} +0 -0
  206. package/dist/{telemetry-2YC4SGQU.js → telemetry-W5AKPI4R.js} +3 -3
  207. package/dist/{tts-FU35O6YB.js → tts-TOHSPWEG.js} +4 -4
@@ -4,19 +4,15 @@ import { dirname as __hf_dirname } from "node:path";
4
4
  var require = __hf_createRequire(import.meta.url);
5
5
  var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
- import {
8
- STUDIO_MANUAL_EDITS_PATH
9
- } from "./chunk-KC5XXX3X.js";
10
7
  import {
11
8
  firstFrameColourArgs,
12
9
  hdrToSdrToneMapFilter,
13
10
  parseFirstFrameColour
14
- } from "./chunk-RLNB3JCY.js";
11
+ } from "./chunk-QP3BRKGF.js";
15
12
  import {
16
13
  mkdirWithinProject,
17
14
  realProjectRoot,
18
- realpath,
19
- resolveWithinProject
15
+ realpath
20
16
  } from "./chunk-OFQWTKPW.js";
21
17
  import {
22
18
  cleanAssetUrl,
@@ -24,7 +20,7 @@ import {
24
20
  isUnresolvedAssetPlaceholder,
25
21
  maskNonScannableRanges,
26
22
  resolveLocalAssetCandidates
27
- } from "./chunk-STA43FMY.js";
23
+ } from "./chunk-JFKL3WAE.js";
28
24
  import {
29
25
  findFfBinary
30
26
  } from "./chunk-PJ3HDUCY.js";
@@ -32,267 +28,9 @@ import {
32
28
  rewriteAssetPath
33
29
  } from "./chunk-TQFG7HTI.js";
34
30
 
35
- // ../studio-server/dist/chunk-4ETS2LXI.js
36
- var STUDIO_MOTION_PATH = ".hyperframes/studio-motion.json";
37
- function hasStudioMotionEntries(manifestContent) {
38
- try {
39
- const parsed = JSON.parse(manifestContent);
40
- return Array.isArray(parsed.motions) && parsed.motions.length > 0;
41
- } catch {
42
- return false;
43
- }
44
- }
45
- function createStudioMotionRenderBodyScript(manifestContent, options = {}) {
46
- if (!manifestContent.trim() || !hasStudioMotionEntries(manifestContent)) return null;
47
- return `(${studioMotionRenderRuntime.toString()})(${JSON.stringify(manifestContent)}, ${JSON.stringify(options.activeCompositionPath ?? null)});`;
48
- }
49
- function studioMotionRenderRuntime(manifestContent, activeCompositionPath) {
50
- const STUDIO_MOTION_TIMELINE_ID = "studio-motion";
51
- const STUDIO_MOTION_ATTR = "data-hf-studio-motion";
52
- const ORIGINAL_TRANSFORM_ATTR = "data-hf-studio-motion-original-transform";
53
- const ORIGINAL_OPACITY_ATTR = "data-hf-studio-motion-original-opacity";
54
- const ORIGINAL_VISIBILITY_ATTR = "data-hf-studio-motion-original-visibility";
55
- const objectRecord = (value) => value && typeof value === "object" ? value : null;
56
- const finiteNumber = (value) => typeof value === "number" && Number.isFinite(value) ? value : null;
57
- const runtimeWindow = window;
58
- const parseMotionValues = (value) => {
59
- const record = objectRecord(value);
60
- if (!record) return null;
61
- const parsed = {};
62
- for (const key of ["x", "y", "scale", "rotation", "opacity", "autoAlpha"]) {
63
- const next = finiteNumber(record[key]);
64
- if (next != null) parsed[key] = next;
65
- }
66
- return Object.keys(parsed).length > 0 ? parsed : null;
67
- };
68
- const parseCustomEase = (value) => {
69
- const record = objectRecord(value);
70
- if (!record) return null;
71
- const id = typeof record.id === "string" ? record.id.trim() : "";
72
- const data = typeof record.data === "string" ? record.data.trim() : "";
73
- if (!id || !data) return null;
74
- return { id, data };
75
- };
76
- const parsedManifest = (() => {
77
- try {
78
- return objectRecord(JSON.parse(manifestContent));
79
- } catch {
80
- return null;
81
- }
82
- })();
83
- const manifestMotions = Array.isArray(parsedManifest?.motions) ? parsedManifest.motions : [];
84
- const sourceFileForElement = (element) => {
85
- let current = element;
86
- while (current) {
87
- const sourceFile = current.getAttribute("data-composition-file") ?? current.getAttribute("data-composition-src");
88
- if (sourceFile) return sourceFile;
89
- current = current.parentElement;
90
- }
91
- return activeCompositionPath ?? "index.html";
92
- };
93
- const elementMatchesSourceFile = (element, sourceFile) => sourceFileForElement(element) === sourceFile;
94
- const isHTMLElement = (element) => element instanceof HTMLElement;
95
- const querySelectorCandidates = (selector) => {
96
- const className = selector.match(/^\.([A-Za-z0-9_-]+)$/)?.[1];
97
- if (className) {
98
- return Array.from(document.getElementsByTagName("*")).filter(
99
- (element) => isHTMLElement(element) && element.classList.contains(className)
100
- );
101
- }
102
- if (/^[A-Za-z][A-Za-z0-9-]*$/.test(selector)) {
103
- return Array.from(document.getElementsByTagName(selector)).filter(isHTMLElement);
104
- }
105
- return Array.from(document.querySelectorAll(selector)).filter(isHTMLElement);
106
- };
107
- const resolveTarget = (targetRecord) => {
108
- const sourceFile = typeof targetRecord.sourceFile === "string" ? targetRecord.sourceFile : "";
109
- if (!sourceFile) return null;
110
- const id = typeof targetRecord.id === "string" ? targetRecord.id : "";
111
- if (id) {
112
- const byId = document.getElementById(id);
113
- if (isHTMLElement(byId) && elementMatchesSourceFile(byId, sourceFile)) return byId;
114
- }
115
- const selector = typeof targetRecord.selector === "string" ? targetRecord.selector : "";
116
- if (!selector) return null;
117
- try {
118
- const selectorIndex = Math.max(0, Math.floor(finiteNumber(targetRecord.selectorIndex) ?? 0));
119
- return querySelectorCandidates(selector).filter(
120
- (element) => elementMatchesSourceFile(element, sourceFile)
121
- )[selectorIndex] ?? null;
122
- } catch {
123
- return null;
124
- }
125
- };
126
- const restoreElement = (element) => {
127
- runtimeWindow.gsap?.set?.(element, { clearProps: "transform,opacity,visibility" });
128
- element.style.transform = element.getAttribute(ORIGINAL_TRANSFORM_ATTR) ?? "";
129
- element.style.opacity = element.getAttribute(ORIGINAL_OPACITY_ATTR) ?? "";
130
- element.style.visibility = element.getAttribute(ORIGINAL_VISIBILITY_ATTR) ?? "";
131
- element.removeAttribute(STUDIO_MOTION_ATTR);
132
- element.removeAttribute(ORIGINAL_TRANSFORM_ATTR);
133
- element.removeAttribute(ORIGINAL_OPACITY_ATTR);
134
- element.removeAttribute(ORIGINAL_VISIBILITY_ATTR);
135
- };
136
- const restoreStudioMotionElements = () => {
137
- for (const element of Array.from(document.querySelectorAll(`[${STUDIO_MOTION_ATTR}]`))) {
138
- if (isHTMLElement(element)) restoreElement(element);
139
- }
140
- };
141
- const readCurrentTime = () => {
142
- try {
143
- const playerTime = runtimeWindow.__player?.getTime?.();
144
- if (typeof playerTime === "number" && Number.isFinite(playerTime)) {
145
- return Math.max(0, playerTime);
146
- }
147
- } catch {
148
- }
149
- try {
150
- const timelineTime = runtimeWindow.__timeline?.time?.();
151
- if (typeof timelineTime === "number" && Number.isFinite(timelineTime)) {
152
- return Math.max(0, timelineTime);
153
- }
154
- } catch {
155
- }
156
- return 0;
157
- };
158
- const resolveEase = (motion) => {
159
- const fallback = typeof motion.ease === "string" && motion.ease.trim() ? motion.ease.trim() : "none";
160
- const customEase = parseCustomEase(motion.customEase);
161
- const customEasePlugin = runtimeWindow.CustomEase;
162
- if (!customEase || typeof customEasePlugin?.create !== "function") return fallback;
163
- try {
164
- runtimeWindow.gsap?.registerPlugin?.(customEasePlugin);
165
- customEasePlugin.create(customEase.id, customEase.data);
166
- return customEase.id;
167
- } catch {
168
- return fallback;
169
- }
170
- };
171
- const applyManifest = () => {
172
- runtimeWindow.__timelines = runtimeWindow.__timelines ?? {};
173
- runtimeWindow.__timelines[STUDIO_MOTION_TIMELINE_ID]?.kill?.();
174
- delete runtimeWindow.__timelines[STUDIO_MOTION_TIMELINE_ID];
175
- restoreStudioMotionElements();
176
- const gsap = runtimeWindow.gsap;
177
- if (!gsap?.timeline || manifestMotions.length === 0) return 0;
178
- const timeline = gsap.timeline({ paused: true, defaults: { overwrite: "auto" } });
179
- let applied = 0;
180
- for (const motionValue of manifestMotions) {
181
- const motion = objectRecord(motionValue);
182
- if (!motion || motion.kind !== "gsap-motion") continue;
183
- const targetRecord = objectRecord(motion.target);
184
- if (!targetRecord) continue;
185
- const target = resolveTarget(targetRecord);
186
- if (!target || typeof timeline.fromTo !== "function") continue;
187
- const start = finiteNumber(motion.start);
188
- const duration = finiteNumber(motion.duration);
189
- if (start == null || duration == null || start < 0 || duration <= 0) continue;
190
- const from = parseMotionValues(motion.from);
191
- const to = parseMotionValues(motion.to);
192
- if (!from || !to) continue;
193
- if (!target.hasAttribute(STUDIO_MOTION_ATTR)) {
194
- target.setAttribute(ORIGINAL_TRANSFORM_ATTR, target.style.transform);
195
- target.setAttribute(ORIGINAL_OPACITY_ATTR, target.style.opacity);
196
- target.setAttribute(ORIGINAL_VISIBILITY_ATTR, target.style.visibility);
197
- }
198
- target.setAttribute(STUDIO_MOTION_ATTR, "true");
199
- timeline.fromTo(
200
- target,
201
- from,
202
- { ...to, duration, ease: resolveEase(motion), overwrite: "auto", immediateRender: false },
203
- start
204
- );
205
- applied += 1;
206
- }
207
- if (applied === 0) {
208
- timeline.kill?.();
209
- return 0;
210
- }
211
- runtimeWindow.__timelines[STUDIO_MOTION_TIMELINE_ID] = timeline;
212
- timeline.pause?.();
213
- const currentTime = readCurrentTime();
214
- if (typeof timeline.totalTime === "function") timeline.totalTime(currentTime, false);
215
- else timeline.time?.(currentTime);
216
- return applied;
217
- };
218
- runtimeWindow.__hfStudioMotionApply = applyManifest;
219
- applyManifest();
220
- }
221
-
222
- // ../studio-server/dist/chunk-DTKK7TKL.js
223
- import { basename, dirname, isAbsolute, join, relative, sep } from "path";
224
- import { readdirSync } from "fs";
225
- function resolveWithinProject2(base, relativePath) {
226
- const resolved = resolveWithinProject(base, relativePath);
227
- return resolved && !isPrivateProjectFile(base, resolved) ? resolved : null;
228
- }
229
- function realFilePath(filePath) {
230
- try {
231
- return realpath(filePath);
232
- } catch {
233
- const dir = dirname(filePath);
234
- return dir === filePath ? filePath : join(realFilePath(dir), basename(filePath));
235
- }
236
- }
237
- var STUDIO_FILES = /* @__PURE__ */ new Set([STUDIO_MOTION_PATH, STUDIO_MANUAL_EDITS_PATH]);
238
- var STUDIO_FOLDERS = [".hyperframes/prepared-assets", ".hyperframes/requests"];
239
- function isPrivateProjectPath(relPath) {
240
- const path = relPath.toLowerCase();
241
- return (path === ".hyperframes" || path.startsWith(".hyperframes/")) && !STUDIO_FILES.has(path) && !STUDIO_FOLDERS.some((folder) => path === folder || path.startsWith(`${folder}/`));
242
- }
243
- function isPrivateProjectFile(projectDir, filePath) {
244
- const rel = (from, to) => relative(from, to).split(sep).join("/");
245
- return [rel(projectDir, filePath), rel(realFilePath(projectDir), realFilePath(filePath))].some(
246
- isPrivateProjectPath
247
- );
248
- }
249
- function pinWithinProject(base, relativePath) {
250
- const checked = resolveWithinProject2(base, relativePath);
251
- if (!checked) return null;
252
- const inside = relative(realFilePath(base), realFilePath(checked));
253
- const escapes = inside === ".." || inside.startsWith(`..${sep}`) || isAbsolute(inside);
254
- return escapes ? null : join(base, inside);
255
- }
256
- var IGNORE_DIRS = /* @__PURE__ */ new Set([
257
- ".thumbnails",
258
- ".transcode-cache",
259
- ".waveform-cache",
260
- "node_modules",
261
- ".git"
262
- ]);
263
- function shouldIgnoreDir(rel) {
264
- return rel === ".hyperframes/backup";
265
- }
266
- function isInHiddenOrVendorDir(relPath) {
267
- const segments = relPath.split("/");
268
- return segments.slice(0, -1).some((seg) => seg.startsWith(".") || seg === "node_modules");
269
- }
270
- var UNREADABLE_DIR_CODES = /* @__PURE__ */ new Set(["EACCES", "EPERM", "ENOENT", "ENOTDIR"]);
271
- function walkDir(dir, prefix = "") {
272
- let entries;
273
- try {
274
- entries = readdirSync(dir, { withFileTypes: true });
275
- } catch (err) {
276
- const code = err.code;
277
- if (!prefix || !code || !UNREADABLE_DIR_CODES.has(code)) throw err;
278
- return [];
279
- }
280
- const files = [];
281
- for (const entry of entries) {
282
- const rel = prefix ? `${prefix}/${entry.name}` : entry.name;
283
- if (IGNORE_DIRS.has(entry.name) || shouldIgnoreDir(rel)) continue;
284
- if (entry.isDirectory()) {
285
- files.push(...walkDir(join(dir, entry.name), rel));
286
- } else {
287
- files.push(rel);
288
- }
289
- }
290
- return files;
291
- }
292
-
293
31
  // ../studio-server/dist/chunk-74JVVCWL.js
294
32
  import { existsSync, statSync } from "fs";
295
- import { relative as relative2, resolve, sep as sep2 } from "path";
33
+ import { relative, resolve, sep } from "path";
296
34
  import { execFile } from "child_process";
297
35
  import { extname } from "path";
298
36
  var execFileRunner = (command, args, options) => new Promise((resolvePromise) => {
@@ -547,7 +285,7 @@ function resolveExistingLocalAsset(projectDir, url) {
547
285
  (candidate) => existsSync(candidate)
548
286
  );
549
287
  if (!resolvedPath) return null;
550
- const rootRelative = relative2(projectRoot, resolvedPath).split(sep2).join("/");
288
+ const rootRelative = relative(projectRoot, resolvedPath).split(sep).join("/");
551
289
  return { resolvedPath, rootRelativePathname: `/${rootRelative}` };
552
290
  }
553
291
  function collectLocalVideoAssets(projectDir, htmlSources) {
@@ -600,9 +338,9 @@ async function scanProjectMediaCodecMap(projectDir, htmlSources, options = {}) {
600
338
  import { spawn } from "child_process";
601
339
  import { createHash, randomUUID } from "crypto";
602
340
  import { existsSync as existsSync2, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, utimesSync } from "fs";
603
- import { basename as basename2, dirname as dirname2, isAbsolute as isAbsolute2, join as join2, relative as relative3, resolve as resolve2, sep as sep3 } from "path";
604
- import { existsSync as existsSync3, readdirSync as readdirSync2, statSync as statSync3, unlinkSync } from "fs";
605
- import { extname as extname2, join as join3 } from "path";
341
+ import { basename, dirname, isAbsolute, join as join2, relative as relative2, resolve as resolve2, sep as sep2 } from "path";
342
+ import { existsSync as existsSync3, readdirSync, statSync as statSync3, unlinkSync } from "fs";
343
+ import { extname as extname2, join } from "path";
606
344
  var DEFAULT_MAX_BYTES = 10 * 1024 * 1024 * 1024;
607
345
  var DEFAULT_STALE_TEMP_MS = 60 * 60 * 1e3;
608
346
  var DEFAULT_MIN_SWEEP_INTERVAL_MS = 5 * 60 * 1e3;
@@ -636,9 +374,9 @@ function shouldSkipSweep(cacheDir, now, minSweepIntervalMs) {
636
374
  function readCacheInventory(cacheDir, protectedPaths, now, staleTempMs) {
637
375
  const entries = [];
638
376
  const staleTemps = [];
639
- for (const dirent of readdirSync2(cacheDir, { withFileTypes: true })) {
377
+ for (const dirent of readdirSync(cacheDir, { withFileTypes: true })) {
640
378
  if (!dirent.isFile()) continue;
641
- const path = join3(cacheDir, dirent.name);
379
+ const path = join(cacheDir, dirent.name);
642
380
  const stat = statSync3(path);
643
381
  const entry = {
644
382
  path,
@@ -775,14 +513,14 @@ async function waitForProxy(promise, timeoutMs = DEFAULT_PROXY_WAIT_TIMEOUT_MS)
775
513
  function canonicalizeProxySource(projectDir, absoluteSourcePath) {
776
514
  const requestedProjectDir = resolve2(projectDir);
777
515
  const requestedSourcePath = resolve2(absoluteSourcePath);
778
- const requestedRelativePath = relative3(requestedProjectDir, requestedSourcePath);
779
- if (requestedRelativePath === ".." || requestedRelativePath.startsWith(`..${sep3}`) || isAbsolute2(requestedRelativePath)) {
516
+ const requestedRelativePath = relative2(requestedProjectDir, requestedSourcePath);
517
+ if (requestedRelativePath === ".." || requestedRelativePath.startsWith(`..${sep2}`) || isAbsolute(requestedRelativePath)) {
780
518
  throw new ProxySourceOutsideProjectError();
781
519
  }
782
520
  const canonicalProjectDir = realProjectRoot(projectDir);
783
521
  const canonicalSourcePath = realpath(absoluteSourcePath);
784
- const canonicalRelativePath = relative3(canonicalProjectDir, canonicalSourcePath);
785
- const sourceIsInsideCanonicalProject = canonicalRelativePath !== ".." && !canonicalRelativePath.startsWith(`..${sep3}`) && !isAbsolute2(canonicalRelativePath);
522
+ const canonicalRelativePath = relative2(canonicalProjectDir, canonicalSourcePath);
523
+ const sourceIsInsideCanonicalProject = canonicalRelativePath !== ".." && !canonicalRelativePath.startsWith(`..${sep2}`) && !isAbsolute(canonicalRelativePath);
786
524
  return {
787
525
  projectDir: canonicalProjectDir,
788
526
  sourcePath: canonicalSourcePath,
@@ -987,9 +725,9 @@ async function transcodeToCache(projectDir, absoluteSourcePath, cachePath, varia
987
725
  await acquireSlot();
988
726
  try {
989
727
  if (existsSync2(cachePath)) return cachePath;
990
- const cacheDir = dirname2(cachePath);
728
+ const cacheDir = dirname(cachePath);
991
729
  mkdirWithinProject(projectDir, cacheDir);
992
- const tempPath = join2(cacheDir, `.tmp-${randomUUID()}-${basename2(cachePath)}`);
730
+ const tempPath = join2(cacheDir, `.tmp-${randomUUID()}-${basename(cachePath)}`);
993
731
  try {
994
732
  await runFfmpeg(absoluteSourcePath, tempPath, variant);
995
733
  renameSync(tempPath, cachePath);
@@ -1005,7 +743,7 @@ async function transcodeToCache(projectDir, absoluteSourcePath, cachePath, varia
1005
743
  var settledProxyCount = 0;
1006
744
  function proxyActivityMark(projectDir) {
1007
745
  if (!existsSync2(projectDir)) return String(settledProxyCount);
1008
- const cacheDir = join2(realpath(projectDir), CACHE_DIR_NAME) + sep3;
746
+ const cacheDir = join2(realpath(projectDir), CACHE_DIR_NAME) + sep2;
1009
747
  for (const cachePath of inFlight.keys()) if (cachePath.startsWith(cacheDir)) return null;
1010
748
  return String(settledProxyCount);
1011
749
  }
@@ -1014,7 +752,7 @@ async function resolveProxy(projectDir, absoluteSourcePath, variant = "h264") {
1014
752
  const cachePath = getCanonicalProxyCachePath(source, variant);
1015
753
  if (existsSync2(cachePath)) {
1016
754
  markCacheEntryUsed(cachePath);
1017
- maintainProxyCache(dirname2(cachePath));
755
+ maintainProxyCache(dirname(cachePath));
1018
756
  return cachePath;
1019
757
  }
1020
758
  const rememberedFailure = failedTranscodes.get(cachePath);
@@ -1036,15 +774,6 @@ async function resolveProxy(projectDir, absoluteSourcePath, variant = "h264") {
1036
774
  }
1037
775
 
1038
776
  export {
1039
- STUDIO_MOTION_PATH,
1040
- createStudioMotionRenderBodyScript,
1041
- resolveWithinProject2 as resolveWithinProject,
1042
- realFilePath,
1043
- isPrivateProjectPath,
1044
- isPrivateProjectFile,
1045
- pinWithinProject,
1046
- isInHiddenOrVendorDir,
1047
- walkDir,
1048
777
  probeMediaMetadata,
1049
778
  shouldPrewarmProxy,
1050
779
  recordProxyPrewarm,
@@ -7,20 +7,20 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parseFeedbackRating,
9
9
  trackRenderFeedback
10
- } from "./chunk-WH6PRFNX.js";
10
+ } from "./chunk-JSGANFFH.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-VR5UQWGV.js";
14
- import {
15
- c
16
- } from "./chunk-ZTZA4UWZ.js";
13
+ } from "./chunk-C2JUHIG5.js";
17
14
  import {
18
15
  detectAgentRuntime
19
- } from "./chunk-MIOBYUXT.js";
16
+ } from "./chunk-GQJZORQP.js";
20
17
  import {
21
18
  readConfig,
22
19
  writeConfig
23
20
  } from "./chunk-XUXGIA7H.js";
21
+ import {
22
+ c
23
+ } from "./chunk-ZTZA4UWZ.js";
24
24
 
25
25
  // src/telemetry/feedback.ts
26
26
  import * as readline from "readline";
@@ -83,7 +83,7 @@ async function maybePromptRenderFeedback(opts) {
83
83
  async function getDoctorSummary() {
84
84
  try {
85
85
  const [{ getSystemMeta }, { findFFmpeg }] = await Promise.all([
86
- import("./system-ZWIBWWE6.js"),
86
+ import("./system-OQLOGGPJ.js"),
87
87
  import("./ffmpeg-QIUFEFTY.js")
88
88
  ]);
89
89
  const sys = getSystemMeta();
@@ -6,8 +6,8 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
 
8
8
  // src/version.ts
9
- var VERSION = true ? "0.8.138" : "0.0.0-dev";
10
- var PRODUCER_VERSION = true ? "0.8.138" : "0.0.0-dev";
9
+ var VERSION = true ? "0.8.140" : "0.0.0-dev";
10
+ var PRODUCER_VERSION = true ? "0.8.140" : "0.0.0-dev";
11
11
 
12
12
  export {
13
13
  VERSION,
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-IHFUKJOR.js";
10
10
  import {
11
11
  trackCommandFailure
12
- } from "./chunk-WH6PRFNX.js";
12
+ } from "./chunk-JSGANFFH.js";
13
13
  import {
14
14
  failCommand
15
15
  } from "./chunk-PBN6GBJE.js";
@@ -13,7 +13,7 @@ function resolveLocalBrowserGpuMode(browserGpuArg, envMode = process.env.PRODUCE
13
13
  return "auto";
14
14
  }
15
15
  async function resolveCaptureBrowserGpuMode(requestedMode, chromePath) {
16
- const { resolveBrowserGpuMode } = await import("./src-YO7MAWGD.js");
16
+ const { resolveBrowserGpuMode } = await import("./src-7SSERHNP.js");
17
17
  return resolveBrowserGpuMode(requestedMode, { chromePath });
18
18
  }
19
19
 
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType,
9
9
  injectMediaCodecMapIntoHtml
10
- } from "./chunk-GJGVYREG.js";
10
+ } from "./chunk-MHK5DE2P.js";
11
11
  import {
12
12
  PROXY_VARIANT_CONFIG,
13
13
  ProxyCapacityError,
@@ -18,10 +18,10 @@ import {
18
18
  recordProxyRequest,
19
19
  resolveProxy,
20
20
  resolveProxyVariantRequest
21
- } from "./chunk-W3KQCJVP.js";
21
+ } from "./chunk-MTVDXB6S.js";
22
22
  import {
23
23
  resolveAutoProxy
24
- } from "./chunk-SZITAGRK.js";
24
+ } from "./chunk-KMKWRIMC.js";
25
25
 
26
26
  // src/utils/staticProjectServer.ts
27
27
  import { createServer } from "http";
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  DEFAULT_VP9_CPU_USED,
21
21
  renderProvenanceArgs
22
- } from "./chunk-7Y5SMPRV.js";
22
+ } from "./chunk-TPECLKPA.js";
23
23
 
24
24
  // src/background-removal/pipeline.ts
25
25
  import { spawn } from "child_process";
@@ -202,7 +202,7 @@ function inferInputKind(inputPath) {
202
202
  }
203
203
  async function probeMedia(inputPath) {
204
204
  const isImage = inferInputKind(inputPath) === "image";
205
- const engine = await import("./src-YO7MAWGD.js");
205
+ const engine = await import("./src-7SSERHNP.js");
206
206
  const meta = await engine.extractMediaMetadata(inputPath);
207
207
  if (isImage) {
208
208
  return { width: meta.width, height: meta.height, fps: 0, frameCount: 1 };
@@ -6,23 +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-L5E5ZN6G.js";
9
+ } from "./chunk-PB3P4MKP.js";
10
10
  import {
11
11
  installPageFunctionGuard,
12
12
  resolveCliChromeGpuMode,
13
13
  seekCompositionTimeline,
14
14
  waitForRuntimeReady
15
- } from "./chunk-SDRKEYZV.js";
15
+ } from "./chunk-KFQNMY36.js";
16
16
  import {
17
17
  resolveCompositionViewportFromHtml
18
18
  } from "./chunk-5Z63TBTX.js";
19
19
  import {
20
20
  launchManagedBrowser,
21
21
  resolveManagedGpuMode
22
- } from "./chunk-OBC75KXL.js";
23
- import {
24
- c
25
- } from "./chunk-ZTZA4UWZ.js";
22
+ } from "./chunk-BQKEGPPL.js";
26
23
  import {
27
24
  defineCommand
28
25
  } from "./chunk-S3S4TGEH.js";
@@ -33,10 +30,13 @@ import {
33
30
  import {
34
31
  printDeprecationNotice,
35
32
  withMeta
36
- } from "./chunk-YNBXJWSD.js";
33
+ } from "./chunk-DDQ4LOML.js";
37
34
  import {
38
35
  normalizeErrorMessage
39
36
  } from "./chunk-KNU5COPB.js";
37
+ import {
38
+ c
39
+ } from "./chunk-ZTZA4UWZ.js";
40
40
 
41
41
  // src/commands/validate.ts
42
42
  import { existsSync, mkdtempSync, readFileSync, rmSync } from "fs";
@@ -222,7 +222,7 @@ function extractCompositionErrorsFromLint(lintResult) {
222
222
  async function localizeRemoteAssets(html) {
223
223
  let dir;
224
224
  try {
225
- const { loadProducer } = await import("./producer-CH33JXHK.js");
225
+ const { loadProducer } = await import("./producer-PVMFMW23.js");
226
226
  const { localizeRemoteMediaSources, localizeRemoteImageSources, localizeRemoteFontFaces } = await loadProducer();
227
227
  dir = mkdtempSync(join(tmpdir(), "hf-validate-assets-"));
228
228
  const assetDir = dir;
@@ -243,10 +243,10 @@ async function localizeRemoteAssets(html) {
243
243
  }
244
244
  async function validateInBrowser(project, opts) {
245
245
  const projectDir = project.dir;
246
- const { bundleToSingleHtml } = await import("./compiler-SZ4GTYFB.js");
246
+ const { bundleToSingleHtml } = await import("./compiler-RTU3KTLF.js");
247
247
  const { ensureBrowser } = await import("./manager-CT3D67CG.js");
248
- const { serveStaticProjectHtml } = await import("./staticProjectServer-PR5INXSA.js");
249
- const { lintProject } = await import("./lintProject-ANMPLBIT.js");
248
+ const { serveStaticProjectHtml } = await import("./staticProjectServer-XELJXX4J.js");
249
+ const { lintProject } = await import("./lintProject-LM3XZRPZ.js");
250
250
  const lintResult = await lintProject(projectDir);
251
251
  const compositionErrors = extractCompositionErrorsFromLint(lintResult);
252
252
  const html = await bundleToSingleHtml(projectDir);
@@ -267,9 +267,9 @@ async function validateInBrowser(project, opts) {
267
267
  try {
268
268
  const browser = await ensureBrowser();
269
269
  const puppeteer = await import("puppeteer-core");
270
- const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-YO7MAWGD.js");
270
+ const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-7SSERHNP.js");
271
271
  const requestedGpuMode = resolveCliChromeGpuMode();
272
- const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu } = await import("./gpuPolicy-Z3PQN6ZK.js");
272
+ const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu } = await import("./gpuPolicy-A45VSUKR.js");
273
273
  const resolvedGpuMode = await resolveManagedGpuMode(requestedGpuMode, browser.executablePath);
274
274
  const requiresWebGpu = compositionRequiresWebGpu(html);
275
275
  const chromeBrowser = await launchManagedBrowser(puppeteer.default, {
@@ -4,23 +4,23 @@ import { dirname as __hf_dirname } from "node:path";
4
4
  var require = __hf_createRequire(import.meta.url);
5
5
  var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
+ import {
8
+ EXCLUDED_TAGS,
9
+ ensureHfIds,
10
+ mintHfId,
11
+ walkCompositionDescendants
12
+ } from "./chunk-A4KQZXZI.js";
7
13
  import {
8
14
  isAllowedHtmlAttribute,
9
15
  isSafeAttributeValue,
10
16
  sanitizeRichTextChildren
11
- } from "./chunk-RLNB3JCY.js";
17
+ } from "./chunk-QP3BRKGF.js";
12
18
  import {
13
19
  removeElementWithGsapCascade
14
20
  } from "./chunk-OZUQF4NB.js";
15
- import {
16
- EXCLUDED_TAGS,
17
- ensureHfIds,
18
- mintHfId,
19
- walkCompositionDescendants
20
- } from "./chunk-P5WDMFBB.js";
21
21
  import {
22
22
  require_dist
23
- } from "./chunk-STA43FMY.js";
23
+ } from "./chunk-24OWOBQH.js";
24
24
  import {
25
25
  readClipTiming,
26
26
  readMediaOffsetSeconds,
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-AWDFDFI3.js";
15
15
  import {
16
16
  isBlockedNetworkHost
17
- } from "./chunk-7Y5SMPRV.js";
17
+ } from "./chunk-TPECLKPA.js";
18
18
  import {
19
19
  DOMParser,
20
20
  parseHTML