hyperframes 0.8.91 → 0.8.93

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 (150) hide show
  1. package/dist/{add-LM5QLN3C.js → add-7LS2QQ6L.js} +16 -16
  2. package/dist/{animatedGifPrep-K4JXNDVB.js → animatedGifPrep-7D3MGQ42.js} +6 -6
  3. package/dist/{asset-N2ZCF3TF.js → asset-4NM26SQV.js} +2 -2
  4. package/dist/{assetCataloger-CDEJC5QV.js → assetCataloger-NRRCL7WS.js} +2 -2
  5. package/dist/{auth-M6RIGSOA.js → auth-BUJUFGR6.js} +2 -2
  6. package/dist/{autoUpdate-HPWJQCEJ.js → autoUpdate-6NPS5SJW.js} +2 -2
  7. package/dist/{backgroundChecks-7FNAVAWS.js → backgroundChecks-Q5T3GWYG.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-OWCX3WI4.js → batchRender-3D2ZQPWR.js} +3 -3
  10. package/dist/{beats-TBRZUL5C.js → beats-R4U6WIWB.js} +10 -10
  11. package/dist/{benchmark-4RGMJGVD.js → benchmark-NIOF3ZEJ.js} +12 -12
  12. package/dist/{browser-4MZ5CLY7.js → browser-RWXUIKMF.js} +9 -9
  13. package/dist/{bundleWithLocalizedFonts-6FJV5ME2.js → bundleWithLocalizedFonts-3TCTDAIU.js} +2 -2
  14. package/dist/{capture-ZMZFCHW4.js → capture-NLSDM7LC.js} +2 -2
  15. package/dist/{capture-QM2JRH7T.js → capture-WFZ23V3T.js} +7 -7
  16. package/dist/{catalog-LWYAH2MC.js → catalog-ZVQRXEWL.js} +16 -16
  17. package/dist/{check-5CTGRHDC.js → check-SP7SR5P4.js} +30 -30
  18. package/dist/{checkBrowser-LPKPYD4J.js → checkBrowser-SVUSXZYY.js} +29 -29
  19. package/dist/{chunk-BYZZCZ2K.js → chunk-3HUOMZ4E.js} +4 -4
  20. package/dist/{chunk-RZYPG4LH.js → chunk-3TXAC7Z4.js} +1 -1
  21. package/dist/{chunk-SZ2NP7UV.js → chunk-6OJFDKII.js} +1 -1
  22. package/dist/{chunk-AWMMV65H.js → chunk-76PJ3XXD.js} +2 -2
  23. package/dist/{chunk-CWAZA6DG.js → chunk-7KYQYLIB.js} +1 -1
  24. package/dist/{chunk-S6YCUTNM.js → chunk-7V7DABTV.js} +3 -3
  25. package/dist/{chunk-PRPE3JNB.js → chunk-B2ZUMOL4.js} +1 -1
  26. package/dist/{chunk-WA7RZY3S.js → chunk-D7CAHHOA.js} +3 -3
  27. package/dist/chunk-DLTFIQGY.js +3528 -0
  28. package/dist/{chunk-325EA5ST.js → chunk-EP3EEWZI.js} +3 -3
  29. package/dist/{chunk-DJD2XA6I.js → chunk-ETCTWRUN.js} +3 -3
  30. package/dist/{chunk-MISDKW56.js → chunk-G3BRGMJO.js} +2 -2
  31. package/dist/{chunk-MFXTKG6F.js → chunk-GFW2LHGL.js} +4 -4
  32. package/dist/{chunk-TJB5VU5L.js → chunk-HPKN43TE.js} +35 -42
  33. package/dist/{chunk-P67KXZGX.js → chunk-HPO32EKG.js} +4 -4
  34. package/dist/{chunk-V5Z3QGG2.js → chunk-I7E34KNJ.js} +1 -1
  35. package/dist/{chunk-J5LICYQR.js → chunk-IE6UDJKU.js} +1 -1
  36. package/dist/{chunk-LXRB4VUU.js → chunk-IWB2MMBN.js} +9 -9
  37. package/dist/{chunk-NAAXO3N5.js → chunk-JRVIFHRS.js} +3 -3
  38. package/dist/{chunk-G5CORT4V.js → chunk-KFS4HN57.js} +1 -1
  39. package/dist/{chunk-VDLFGW4J.js → chunk-KNVRGZDF.js} +74 -63
  40. package/dist/{chunk-U24VGXGA.js → chunk-KVA65K7M.js} +39 -10
  41. package/dist/{chunk-DHD3AEXF.js → chunk-KZP6DMO5.js} +3 -3
  42. package/dist/{chunk-CXPRQS6R.js → chunk-LETJ7PJN.js} +2 -2
  43. package/dist/{chunk-BP3M6JPK.js → chunk-MLBD4Z4R.js} +1 -1
  44. package/dist/{chunk-UMBXSPYI.js → chunk-MLX624TS.js} +1 -1
  45. package/dist/{chunk-E2FAYCAL.js → chunk-OVU5R4YO.js} +8 -8
  46. package/dist/{chunk-6TNEX275.js → chunk-QDQ3EQB3.js} +1 -1
  47. package/dist/{chunk-AUGLU6WA.js → chunk-QGSDMD6D.js} +2 -2
  48. package/dist/{chunk-FFPYON3V.js → chunk-R5FFOGN3.js} +1 -1
  49. package/dist/{chunk-4MQQI2II.js → chunk-R7VMR5LG.js} +1 -1
  50. package/dist/{chunk-HSGHPWA2.js → chunk-RL3JZNAC.js} +3 -3
  51. package/dist/{chunk-SNHAPE52.js → chunk-RSF6XVMY.js} +114 -62
  52. package/dist/{chunk-Z6Z7KGEU.js → chunk-STK4L54N.js} +1 -1
  53. package/dist/{chunk-CALFK3EB.js → chunk-TDUX3BOR.js} +1 -1
  54. package/dist/{chunk-UNZOL3UD.js → chunk-U246SUO5.js} +3 -3
  55. package/dist/{chunk-SUYIGLDN.js → chunk-UTX7CIZ2.js} +1 -1
  56. package/dist/{chunk-SSMNR7NU.js → chunk-VD63KDUA.js} +2 -2
  57. package/dist/{chunk-CPDR5AI7.js → chunk-VMYXJ63Z.js} +5 -5
  58. package/dist/{chunk-CC5HTRDE.js → chunk-W3CTWAWY.js} +1 -1
  59. package/dist/{chunk-HEMH55SZ.js → chunk-XWXWG5EI.js} +8 -8
  60. package/dist/{chunk-2QTVED47.js → chunk-Z34ILQNE.js} +1 -1
  61. package/dist/{chunk-RGHVO2UZ.js → chunk-ZQ7P6NVA.js} +1 -1
  62. package/dist/{clean-Z3SYXU27.js → clean-XBQPSMAH.js} +14 -14
  63. package/dist/cli.js +50 -50
  64. package/dist/{cloud-DN2FSGEN.js → cloud-LKKYUY7X.js} +4 -4
  65. package/dist/{cloudrun-XRZZV4QW.js → cloudrun-5OFRKB3B.js} +3 -3
  66. package/dist/{compare-SXN42PJF.js → compare-5BPMBMIY.js} +24 -24
  67. package/dist/{compiler-JKWKLSX6.js → compiler-DVQFNLFD.js} +13 -3
  68. package/dist/{component-WK3MMT5D.js → component-MRNQ5PWV.js} +3 -3
  69. package/dist/{compositions-XRJ2DDV3.js → compositions-HWXMHJRW.js} +17 -15
  70. package/dist/{delete-AM732KQJ.js → delete-AMJ3AKV5.js} +2 -2
  71. package/dist/{dist-GFYJLCSU.js → dist-EKWUQCHJ.js} +2 -2
  72. package/dist/{dist-5Q62YHZI.js → dist-HJFL4ZN5.js} +1 -1
  73. package/dist/{doctor-YQDGYTQM.js → doctor-7WKOSWTC.js} +10 -10
  74. package/dist/{events-APLXVZ3I.js → events-GHELUQQX.js} +9 -9
  75. package/dist/{events-HKIWOY7W.js → events-YGSESZGZ.js} +8 -8
  76. package/dist/{feedback-JNJURFQW.js → feedback-SA66Z7MD.js} +10 -10
  77. package/dist/{figma-WLQBX4IF.js → figma-G626S6F7.js} +3 -3
  78. package/dist/fontLocalizeCli.js +8 -8
  79. package/dist/{get-EZ5QWZNN.js → get-LWSRRR2H.js} +2 -2
  80. package/dist/{gpuPolicy-HQG5D4W4.js → gpuPolicy-ECZ5VNIV.js} +6 -6
  81. package/dist/{grade-compare-CNJBF5FD.js → grade-compare-WRCJVCEH.js} +24 -24
  82. package/dist/{help-GOIEXCCA.js → help-4QCYKJ4H.js} +1 -1
  83. package/dist/{history-XRSETYAE.js → history-R6V6B7ZE.js} +14 -14
  84. package/dist/hyperframe-runtime.js +54 -54
  85. package/dist/hyperframe.manifest.json +1 -1
  86. package/dist/hyperframe.runtime.iife.js +54 -54
  87. package/dist/hyperframes-player.global.js +3 -3
  88. package/dist/{info-3XSV2EFP.js → info-JLK54QZY.js} +11 -11
  89. package/dist/{init-B6524UHY.js → init-X4BVLJIR.js} +21 -21
  90. package/dist/{inspect-CQX6K5ET.js → inspect-X5XEHDTX.js} +25 -25
  91. package/dist/{installer-QU2LANZ7.js → installer-GZCC7TWB.js} +5 -5
  92. package/dist/{keyframes-HRCYZ6R2.js → keyframes-O27FGC4L.js} +22 -17
  93. package/dist/{lambda-RIEGJXBT.js → lambda-22PSG5BY.js} +4 -4
  94. package/dist/{layout-7ZNC3OWA.js → layout-QTW2UNAY.js} +25 -25
  95. package/dist/{lint-IAKBWR3G.js → lint-K5XXEEHQ.js} +12 -12
  96. package/dist/{lintProject-OUOTD5DS.js → lintProject-ESEUOGXF.js} +1 -1
  97. package/dist/{list-NSVU5YDL.js → list-N6V4JELC.js} +2 -2
  98. package/dist/{login-Q76SF3KL.js → login-S2TQQQBD.js} +4 -4
  99. package/dist/{media-treatment-F5GZ4KOP.js → media-treatment-ZTIIMUHF.js} +12 -12
  100. package/dist/{models-4SDFED6C.js → models-KXL5MTSY.js} +7 -7
  101. package/dist/{motionShot-SY4RU6U5.js → motionShot-22LPTPUE.js} +10 -10
  102. package/dist/{normalize-audio-7HUEZIUZ.js → normalize-audio-42D3NFK7.js} +10 -10
  103. package/dist/{pipeline-2HIV4Y7G.js → pipeline-GVMCYMS3.js} +6 -6
  104. package/dist/{play-4YRL4KOS.js → play-5QSSQ4OA.js} +20 -20
  105. package/dist/{preflight-IY4NAUE4.js → preflight-2P4GJM2O.js} +7 -7
  106. package/dist/{present-6MFRVEM6.js → present-I6F6UQCA.js} +15 -15
  107. package/dist/{preview-AHQURXOT.js → preview-X23PO5Y3.js} +18 -18
  108. package/dist/{producer-QCLJ24EY.js → producer-L6B7ZRJU.js} +1 -1
  109. package/dist/{projectConfig-EJV3KBCO.js → projectConfig-SQK4TIWK.js} +7 -7
  110. package/dist/{publication-4MXCWAAF.js → publication-RMAQBAWV.js} +3 -3
  111. package/dist/{publish-Y5XULKT3.js → publish-SKO6SL37.js} +9 -9
  112. package/dist/{remove-background-MZLVZJDP.js → remove-background-CKW4WV7L.js} +7 -7
  113. package/dist/{render-3SPC22N3.js → render-KDFFXWBL.js} +22 -22
  114. package/dist/{render-I6BBYGK4.js → render-QXUUZSDZ.js} +3 -3
  115. package/dist/{render-FMD7UKEI.js → render-W75Z3BFW.js} +12 -12
  116. package/dist/{render-batch-YOLPHNBE.js → render-batch-4BN3IBY5.js} +3 -3
  117. package/dist/{renderCancellation-OKZ2OSKI.js → renderCancellation-77XGIZ6Y.js} +6 -6
  118. package/dist/renderSetupWorker.js +1 -1
  119. package/dist/{resolver-4MDVOI4J.js → resolver-HNEYA7ON.js} +5 -5
  120. package/dist/{sherpa-XU2H4MTL.js → sherpa-T3XMKR6F.js} +7 -7
  121. package/dist/{skills-XOUE2DXY.js → skills-7QL34XLO.js} +11 -11
  122. package/dist/{skillsUpdateCheck-J43BUUXQ.js → skillsUpdateCheck-OICX25ZU.js} +3 -3
  123. package/dist/{snapshot-EMF7KGSM.js → snapshot-IEITWXCU.js} +25 -25
  124. package/dist/{src-SPJS4DVA.js → src-DOI33FRO.js} +7 -7
  125. package/dist/{src-5V3MJNPC.js → src-SK7AZD7J.js} +5 -5
  126. package/dist/{staticProjectServer-LKMDZ2DQ.js → staticProjectServer-ZHZPZO5H.js} +14 -14
  127. package/dist/{status-BIF2WXFE.js → status-LDACSUZZ.js} +6 -6
  128. package/dist/studio/assets/{hyperframes-player-zT2Bdx_l.js → hyperframes-player-CkV9KK6A.js} +3 -3
  129. package/dist/studio/assets/{index-DV-z19zB.js → index-BlLFipOk.js} +1 -1
  130. package/dist/studio/assets/{index-V-0rfhe6.js → index-CYk0NwSv.js} +165 -165
  131. package/dist/studio/assets/{index-DSOLcE8X.js → index-V3fzEfOD.js} +1 -1
  132. package/dist/studio/index.d.ts +6 -11
  133. package/dist/studio/index.html +1 -1
  134. package/dist/studio/index.js +8792 -8803
  135. package/dist/studio/index.js.map +1 -1
  136. package/dist/{studio-api-UT3W5AA6.js → studio-api-CPX2APMU.js} +7 -7
  137. package/dist/{studioServer-Y3RJUIQM.js → studioServer-KRROVQLD.js} +38 -38
  138. package/dist/{system-5ALLLQFH.js → system-OVGTI3QK.js} +6 -6
  139. package/dist/{telemetry-LTGWUJJT.js → telemetry-UEDBUEMN.js} +9 -9
  140. package/dist/{timeline-AA3LL6DL.js → timeline-JWQXALL3.js} +14 -14
  141. package/dist/{tokens-ROIWLZRY.js → tokens-KBD4AG3E.js} +2 -2
  142. package/dist/{transcribe-MWG54RBB.js → transcribe-7F26YQ3O.js} +7 -7
  143. package/dist/{transcribe-TMWKDHAI.js → transcribe-KKDNNMT7.js} +12 -12
  144. package/dist/{updateCheck-HF7VV7W4.js → updateCheck-HQUDO3ZR.js} +2 -2
  145. package/dist/{upgrade-3OAEBAEA.js → upgrade-UQIV2MMK.js} +2 -2
  146. package/dist/{urlDownloader-YNKW5OUO.js → urlDownloader-6373K4OU.js} +5 -5
  147. package/dist/{validate-ULWT5J56.js → validate-OAU4PW66.js} +15 -15
  148. package/dist/{video-2IYAAHHK.js → video-2IQNAIAW.js} +6 -6
  149. package/package.json +1 -1
  150. package/dist/chunk-275NJDC5.js +0 -3528
@@ -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.91" : "0.0.0-dev";
10
- var PRODUCER_VERSION = true ? "0.8.91" : "0.0.0-dev";
9
+ var VERSION = true ? "0.8.93" : "0.0.0-dev";
10
+ var PRODUCER_VERSION = true ? "0.8.93" : "0.0.0-dev";
11
11
 
12
12
  export {
13
13
  VERSION,
@@ -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-S6YCUTNM.js";
9
+ } from "./chunk-7V7DABTV.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
@@ -1278,7 +1278,7 @@ async function withFigmaErrors(command, fn) {
1278
1278
  } catch (err) {
1279
1279
  if (err instanceof Error) {
1280
1280
  try {
1281
- const { trackCommandFailure } = await import("./events-APLXVZ3I.js");
1281
+ const { trackCommandFailure } = await import("./events-GHELUQQX.js");
1282
1282
  trackCommandFailure(
1283
1283
  command,
1284
1284
  err,
@@ -6,19 +6,19 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  serveStaticProjectHtml
9
- } from "./chunk-UNZOL3UD.js";
9
+ } from "./chunk-U246SUO5.js";
10
10
  import {
11
11
  AUDIT_SEEK_OPTIONS,
12
12
  installPageFunctionGuard,
13
13
  seekCompositionTimeline,
14
14
  waitForCompositionFonts
15
- } from "./chunk-MFXTKG6F.js";
15
+ } from "./chunk-GFW2LHGL.js";
16
16
  import {
17
17
  resolveDiagnosticNavigationTimeoutMs
18
- } from "./chunk-V5Z3QGG2.js";
18
+ } from "./chunk-I7E34KNJ.js";
19
19
  import {
20
20
  resolveProject
21
- } from "./chunk-SZ2NP7UV.js";
21
+ } from "./chunk-6OJFDKII.js";
22
22
  import {
23
23
  c
24
24
  } from "./chunk-ZTZA4UWZ.js";
@@ -32,7 +32,7 @@ import {
32
32
  import {
33
33
  printDeprecationNotice,
34
34
  withMeta
35
- } from "./chunk-CC5HTRDE.js";
35
+ } from "./chunk-W3CTWAWY.js";
36
36
  import {
37
37
  normalizeErrorMessage
38
38
  } from "./chunk-KNU5COPB.js";
@@ -665,7 +665,7 @@ async function collectTweenBoundaries(page) {
665
665
  });
666
666
  }
667
667
  async function bundleProjectHtml(projectDir) {
668
- const { bundleToSingleHtml } = await import("./compiler-JKWKLSX6.js");
668
+ const { bundleToSingleHtml } = await import("./compiler-DVQFNLFD.js");
669
669
  return bundleToSingleHtml(projectDir);
670
670
  }
671
671
  async function alignViewportToComposition(page, url) {
@@ -687,13 +687,13 @@ async function alignViewportToComposition(page, url) {
687
687
  async function runLayoutAudit(projectDir, opts) {
688
688
  const { ensureBrowser } = await import("./manager-NEVLEZK3.js");
689
689
  const puppeteer = await import("puppeteer-core");
690
- const { buildChromeArgs } = await import("./src-5V3MJNPC.js");
690
+ const { buildChromeArgs } = await import("./src-SK7AZD7J.js");
691
691
  const {
692
692
  assertWebGpuAdapterAvailable,
693
693
  compositionRequiresWebGpu,
694
694
  resolveCaptureBrowserGpuMode,
695
695
  resolveLocalBrowserGpuMode
696
- } = await import("./gpuPolicy-HQG5D4W4.js");
696
+ } = await import("./gpuPolicy-ECZ5VNIV.js");
697
697
  const html = await bundleProjectHtml(projectDir);
698
698
  const server = await serveStaticProjectHtml(
699
699
  projectDir,
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-TVCRUG2S.js";
14
14
  import {
15
15
  getFreeDiskMb
16
- } from "./chunk-PRPE3JNB.js";
16
+ } from "./chunk-B2ZUMOL4.js";
17
17
  import {
18
18
  ensureBrowser,
19
19
  findBrowser
@@ -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-VDLFGW4J.js";
9
+ } from "./chunk-KNVRGZDF.js";
10
10
  import {
11
11
  injectTagsAtHeadStart
12
- } from "./chunk-275NJDC5.js";
12
+ } from "./chunk-DLTFIQGY.js";
13
13
 
14
14
  // src/utils/compositionServer.ts
15
15
  import { createHash } from "crypto";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-TVCRUG2S.js";
18
18
  import {
19
19
  stoppedByCancelSignal
20
- } from "./chunk-BP3M6JPK.js";
20
+ } from "./chunk-MLBD4Z4R.js";
21
21
 
22
22
  // src/whisper/transcribe.ts
23
23
  import { execFileSync } from "child_process";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  mkdirWithinProject,
9
9
  realpath
10
- } from "./chunk-275NJDC5.js";
10
+ } from "./chunk-DLTFIQGY.js";
11
11
 
12
12
  // src/registry/publication.ts
13
13
  import { lstatSync, chmodSync, mkdtempSync, renameSync, rmSync, writeFileSync } from "fs";
@@ -9,13 +9,13 @@ import {
9
9
  } from "./chunk-AWDFDFI3.js";
10
10
  import {
11
11
  publishRegistryFile
12
- } from "./chunk-4MQQI2II.js";
12
+ } from "./chunk-R7VMR5LG.js";
13
13
  import {
14
14
  ITEM_TYPE_DIRS
15
- } from "./chunk-RGHVO2UZ.js";
15
+ } from "./chunk-ZQ7P6NVA.js";
16
16
  import {
17
17
  realProjectRoot
18
- } from "./chunk-275NJDC5.js";
18
+ } from "./chunk-DLTFIQGY.js";
19
19
  import {
20
20
  __commonJS,
21
21
  __toESM
@@ -23,13 +23,13 @@ import {
23
23
  shouldClampResolvedMediaDuration,
24
24
  stripEmbeddedRuntimeScripts,
25
25
  warnUnknownEnumValues
26
- } from "./chunk-275NJDC5.js";
26
+ } from "./chunk-DLTFIQGY.js";
27
27
  import {
28
28
  cssVariableName
29
29
  } from "./chunk-VC76R6W2.js";
30
30
  import {
31
31
  lintHyperframeHtml
32
- } from "./chunk-U24VGXGA.js";
32
+ } from "./chunk-KVA65K7M.js";
33
33
  import {
34
34
  CSS_URL_RE,
35
35
  checkSubCompositionUsability,
@@ -119,6 +119,58 @@ function inlineScriptRuns(scripts, isPinned = () => false) {
119
119
  runs.push({ members, anchor: null });
120
120
  return runs;
121
121
  }
122
+ function cssStyleMergeKey(el) {
123
+ const rawType = el.getAttribute("type") ?? "";
124
+ const type = el.tagName.toLowerCase() === "link" ? rawType.split(";")[0].trim() : rawType;
125
+ if (type !== "" && type.toLowerCase() !== "text/css")
126
+ return void 0;
127
+ const media = (el.getAttribute("media") ?? "").trim().toLowerCase();
128
+ return JSON.stringify([media === "all" ? "" : media, el.getAttribute("title") ?? ""]);
129
+ }
130
+ var UNCONDITIONAL_CSS_KEY = JSON.stringify(["", ""]);
131
+ function linkDedupeKey(el) {
132
+ return JSON.stringify([
133
+ el.getAttribute("href"),
134
+ (el.getAttribute("rel") ?? "").trim().toLowerCase(),
135
+ cssStyleMergeKey(el) ?? el.getAttribute("type"),
136
+ el.hasAttribute("disabled")
137
+ ]);
138
+ }
139
+ function hasSameLink(scope, link) {
140
+ const key = linkDedupeKey(link);
141
+ return [...scope.querySelectorAll("link[href]")].some((other) => !other.closest("noscript") && linkDedupeKey(other) === key);
142
+ }
143
+ function headStyleRuns(styles, isPinned = () => false) {
144
+ const runs = [];
145
+ let previousKey;
146
+ for (const el of styles) {
147
+ const key = isPinned(el) ? void 0 : cssStyleMergeKey(el);
148
+ if (key !== void 0 && key === previousKey)
149
+ runs.at(-1).push(el);
150
+ else if (key !== void 0)
151
+ runs.push([el]);
152
+ previousKey = key;
153
+ }
154
+ return runs;
155
+ }
156
+ function compositionStyle(el, css) {
157
+ return { css, media: el.getAttribute("media"), title: el.getAttribute("title") };
158
+ }
159
+ function styleElementsFor(document, sheets, join) {
160
+ const elements = sheets.map(({ css, media, title }) => {
161
+ const el = document.createElement("style");
162
+ if (media !== null)
163
+ el.setAttribute("media", media);
164
+ if (title !== null)
165
+ el.setAttribute("title", title);
166
+ el.textContent = css;
167
+ return el;
168
+ });
169
+ return headStyleRuns(elements).map((run) => {
170
+ run[0].textContent = join(run.map((el) => el.textContent || ""));
171
+ return run[0];
172
+ });
173
+ }
122
174
 
123
175
  // ../core/dist/sceneParts.js
124
176
  var SCENE_PART_ATTR = "data-hf-scene";
@@ -979,6 +1031,20 @@ var reaches = (host, selector) => {
979
1031
  return false;
980
1032
  }
981
1033
  };
1034
+ function ensureExternalLinkTag(doc, link) {
1035
+ const el = doc.createElement("link");
1036
+ el.setAttribute("rel", link.rel);
1037
+ el.setAttribute("href", link.href);
1038
+ for (const name of ["crossorigin", "media", "title", "type"]) {
1039
+ const value = link[name];
1040
+ if (value != null)
1041
+ el.setAttribute(name, value);
1042
+ }
1043
+ if (link.disabled)
1044
+ el.setAttribute("disabled", "");
1045
+ if (!hasSameLink(doc, el))
1046
+ doc.head.appendChild(el);
1047
+ }
982
1048
  function defaultBuildScopeSelector(compId) {
983
1049
  const escaped = compId.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
984
1050
  return `[data-composition-id="${escaped}"]`;
@@ -993,7 +1059,6 @@ function inlineSubCompositions(document, hosts, options) {
993
1059
  const importMaps = [];
994
1060
  const moduleScripts = [];
995
1061
  const externalLinks = [];
996
- const seenLinkHrefs = /* @__PURE__ */ new Set();
997
1062
  const variablesByComp = {};
998
1063
  const sceneHosts = /* @__PURE__ */ new Map();
999
1064
  const queue = hosts.map((element) => ({
@@ -1084,15 +1149,20 @@ function inlineSubCompositions(document, hosts, options) {
1084
1149
  };
1085
1150
  for (const link of plan.linkSources) {
1086
1151
  const href = resolveSubAssetPath(link.getAttribute("href"));
1087
- if (href && !seenLinkHrefs.has(href)) {
1088
- seenLinkHrefs.add(href);
1152
+ if (href) {
1089
1153
  const rel = (link.getAttribute("rel") || "").trim();
1090
1154
  const crossorigin = link.hasAttribute("crossorigin") ? link.getAttribute("crossorigin") || "" : void 0;
1091
- externalLinks.push({ href, rel, crossorigin });
1155
+ const media = link.getAttribute("media") ?? void 0;
1156
+ const title = link.getAttribute("title") ?? void 0;
1157
+ const type = link.getAttribute("type") ?? void 0;
1158
+ const disabled = link.hasAttribute("disabled") ? true : void 0;
1159
+ externalLinks.push({ href, rel, crossorigin, media, title, type, disabled });
1092
1160
  }
1093
1161
  }
1094
1162
  for (const styleEl of plan.styleSources) {
1095
- styles.push(scopeSubStyle(styleEl.textContent || ""));
1163
+ if (cssStyleMergeKey(styleEl) === void 0)
1164
+ continue;
1165
+ styles.push(compositionStyle(styleEl, scopeSubStyle(styleEl.textContent || "")));
1096
1166
  if (scene)
1097
1167
  styleScenes.push(scene);
1098
1168
  styleEl.remove();
@@ -1876,8 +1946,7 @@ function placeSceneStylesLikeRender(document) {
1876
1946
  first.before(holder);
1877
1947
  }
1878
1948
  function isAlwaysAppliedStyle(el) {
1879
- const type = el.getAttribute("type")?.trim().toLowerCase();
1880
- return !el.hasAttribute("media") && (!type || type === "text/css") && !el.closest("template, noscript, svg");
1949
+ return cssStyleMergeKey(el) === UNCONDITIONAL_CSS_KEY && !el.closest("template, noscript, svg");
1881
1950
  }
1882
1951
  function pushRun(runs, scene, chunk) {
1883
1952
  const last = runs.at(-1);
@@ -1888,14 +1957,8 @@ function pushRun(runs, scene, chunk) {
1888
1957
  }
1889
1958
  function coalesceHeadStylesAndBodyScripts(document) {
1890
1959
  const allHeadStyles = [...document.querySelectorAll("head style")];
1891
- const untaggedRuns = [[]];
1892
- for (const el of allHeadStyles) {
1893
- if (el.hasAttribute(SCENE_PART_ATTR))
1894
- untaggedRuns.push([]);
1895
- else
1896
- untaggedRuns.at(-1).push(el);
1897
- }
1898
- for (const run of allHeadStyles.length > 1 ? untaggedRuns : []) {
1960
+ const isScenePart = (el) => el.hasAttribute(SCENE_PART_ATTR);
1961
+ for (const run of allHeadStyles.length > 1 ? headStyleRuns(allHeadStyles, isScenePart) : []) {
1899
1962
  const merged = joinCssHoistingImports(run.map((el) => el.textContent || ""));
1900
1963
  if (!merged)
1901
1964
  continue;
@@ -1903,7 +1966,7 @@ function coalesceHeadStylesAndBodyScripts(document) {
1903
1966
  for (const el of run.slice(1))
1904
1967
  el.remove();
1905
1968
  }
1906
- if (untaggedRuns.length > 1)
1969
+ if (allHeadStyles.some(isScenePart))
1907
1970
  placeSceneStylesLikeRender(document);
1908
1971
  const isPinned = (el) => el.hasAttribute(RUNTIME_BOOTSTRAP_ATTR) || el.hasAttribute(SCENE_PART_ATTR);
1909
1972
  for (const { members, anchor } of inlineScriptRuns([...document.querySelectorAll("body script")], isPinned)) {
@@ -2016,11 +2079,11 @@ async function bundleProject(projectDir, options) {
2016
2079
  if (resolve2(sourceDir) !== resolve2(projectDir)) {
2017
2080
  rebaseEntryAuthoredAssetPaths(document, sourceDir, projectDir);
2018
2081
  }
2019
- const localCssChunks = [];
2020
- let cssAnchorPlaced = false;
2021
2082
  for (const el of [...document.querySelectorAll('link[rel="stylesheet"]')]) {
2022
2083
  const href = el.getAttribute("href");
2023
- if (!href || !isRelativeUrl(href))
2084
+ if (!href || !isRelativeUrl(href) || cssStyleMergeKey(el) === void 0)
2085
+ continue;
2086
+ if (el.hasAttribute("disabled"))
2024
2087
  continue;
2025
2088
  const cssPath = resolveEntryPath(href);
2026
2089
  if (!cssPath)
@@ -2028,26 +2091,14 @@ async function bundleProject(projectDir, options) {
2028
2091
  const css = safeReadFile(cssPath);
2029
2092
  if (css == null)
2030
2093
  continue;
2031
- localCssChunks.push(inlineCssFile(css, dirname(cssPath), projectDir));
2032
- if (!cssAnchorPlaced) {
2033
- const anchor = document.createElement("style");
2034
- anchor.setAttribute("data-hf-bundled-local-css", "1");
2035
- el.replaceWith(anchor);
2036
- cssAnchorPlaced = true;
2037
- } else {
2038
- el.remove();
2039
- }
2040
- }
2041
- if (localCssChunks.length > 0) {
2042
- const anchor = document.querySelector('style[data-hf-bundled-local-css="1"]');
2043
- if (anchor) {
2044
- anchor.removeAttribute("data-hf-bundled-local-css");
2045
- anchor.textContent = localCssChunks.join("\n\n");
2046
- } else {
2047
- const style = document.createElement("style");
2048
- style.textContent = localCssChunks.join("\n\n");
2049
- document.head.appendChild(style);
2094
+ const style = document.createElement("style");
2095
+ for (const name of ["media", "title"]) {
2096
+ const value = el.getAttribute(name);
2097
+ if (value !== null)
2098
+ style.setAttribute(name, value);
2050
2099
  }
2100
+ style.textContent = inlineCssFile(css, dirname(cssPath), projectDir);
2101
+ el.replaceWith(style);
2051
2102
  }
2052
2103
  const rootScripts = options?.sceneParts ? [
2053
2104
  ...document.querySelectorAll(`script:not([${RUNTIME_BOOTSTRAP_ATTR}])`),
@@ -2094,7 +2145,7 @@ async function bundleProject(projectDir, options) {
2094
2145
  });
2095
2146
  refuseSwapsReachedByRootScripts(document, rootScripts);
2096
2147
  const styleRuns = [];
2097
- subCompResult.styles.forEach((css, i) => pushRun(styleRuns, subCompResult.styleScenes[i], css));
2148
+ subCompResult.styles.forEach((style, i) => pushRun(styleRuns, subCompResult.styleScenes[i], style));
2098
2149
  const scriptRuns = [];
2099
2150
  const compStyleChunks = [];
2100
2151
  const compScriptChunks = [];
@@ -2159,10 +2210,12 @@ async function bundleProject(projectDir, options) {
2159
2210
  pushSubCompVariableStyles(innerDoc, innerRoot, mergedVariables, runtimeScope, compStyleChunks);
2160
2211
  if (innerRoot) {
2161
2212
  for (const styleEl of [...innerRoot.querySelectorAll("style")]) {
2213
+ if (cssStyleMergeKey(styleEl) === void 0)
2214
+ continue;
2162
2215
  const css = styleEl.textContent || "";
2163
- compStyleChunks.push(compId ? scopeCssToComposition(css, compId, runtimeScope, authoredRootId, {
2216
+ compStyleChunks.push(compositionStyle(styleEl, compId ? scopeCssToComposition(css, compId, runtimeScope, authoredRootId, {
2164
2217
  scopeRootSelectors: true
2165
- }) : css);
2218
+ }) : css));
2166
2219
  styleEl.remove();
2167
2220
  }
2168
2221
  hoistCompositionScripts(innerRoot, {
@@ -2185,10 +2238,12 @@ async function bundleProject(projectDir, options) {
2185
2238
  host.innerHTML = preparedInnerRoot.outerHTML || "";
2186
2239
  } else {
2187
2240
  for (const styleEl of [...innerDoc.querySelectorAll("style")]) {
2241
+ if (cssStyleMergeKey(styleEl) === void 0)
2242
+ continue;
2188
2243
  const css = styleEl.textContent || "";
2189
- compStyleChunks.push(compId ? scopeCssToComposition(css, compId, runtimeScope, void 0, {
2244
+ compStyleChunks.push(compositionStyle(styleEl, compId ? scopeCssToComposition(css, compId, runtimeScope, void 0, {
2190
2245
  scopeRootSelectors: true
2191
- }) : css);
2246
+ }) : css));
2192
2247
  styleEl.remove();
2193
2248
  }
2194
2249
  hoistCompositionScripts(innerDoc, {
@@ -2242,17 +2297,8 @@ async function bundleProject(projectDir, options) {
2242
2297
  document.body.appendChild(script);
2243
2298
  }
2244
2299
  }
2245
- for (const link of compExternalLinks) {
2246
- const escapedHref = link.href.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
2247
- if (!document.querySelector(`link[href="${escapedHref}"]`)) {
2248
- const linkEl = document.createElement("link");
2249
- linkEl.setAttribute("rel", link.rel);
2250
- linkEl.setAttribute("href", link.href);
2251
- if (link.crossorigin != null)
2252
- linkEl.setAttribute("crossorigin", link.crossorigin);
2253
- document.head.appendChild(linkEl);
2254
- }
2255
- }
2300
+ for (const link of compExternalLinks)
2301
+ ensureExternalLinkTag(document, link);
2256
2302
  for (const css of compStyleChunks)
2257
2303
  pushRun(styleRuns, void 0, css);
2258
2304
  for (const chunk of compScriptChunks)
@@ -2265,11 +2311,12 @@ async function bundleProject(projectDir, options) {
2265
2311
  scriptRuns.unshift({ chunks: [variablesByCompScript] });
2266
2312
  }
2267
2313
  for (const { scene, chunks } of styleRuns) {
2268
- const style = document.createElement("style");
2269
- if (scene)
2270
- style.setAttribute(SCENE_PART_ATTR, scene);
2271
- style.textContent = scene ? joinCssHoistingImports(chunks) : chunks.join("\n\n");
2272
- document.head.appendChild(style);
2314
+ const join = scene ? joinCssHoistingImports : (css) => css.join("\n\n");
2315
+ for (const style of styleElementsFor(document, chunks, join)) {
2316
+ if (scene)
2317
+ style.setAttribute(SCENE_PART_ATTR, scene);
2318
+ document.head.appendChild(style);
2319
+ }
2273
2320
  }
2274
2321
  for (const { scene, chunks } of scriptRuns) {
2275
2322
  const script = document.createElement("script");
@@ -2429,7 +2476,7 @@ function pushSubCompVariableStyles(innerDoc, innerRoot, mergedVariables, runtime
2429
2476
  Object.assign(declaredForCss, readDeclaredDefaults(innerRootForVars));
2430
2477
  const cssVars = compositionVariablesCssBlock({ ...declaredForCss, ...mergedVariables }, runtimeScope);
2431
2478
  if (cssVars)
2432
- compStyleChunks.push(cssVars);
2479
+ compStyleChunks.push({ css: cssVars, media: null, title: null });
2433
2480
  }
2434
2481
 
2435
2482
  // ../core/dist/compiler/htmlParityContract.js
@@ -2560,6 +2607,10 @@ function addScenePartsManifest(html, ignore = []) {
2560
2607
  export {
2561
2608
  compileHtml,
2562
2609
  inlineScriptRuns,
2610
+ cssStyleMergeKey,
2611
+ headStyleRuns,
2612
+ compositionStyle,
2613
+ styleElementsFor,
2563
2614
  ensureExternalScriptTag,
2564
2615
  emitMountedModuleScripts,
2565
2616
  FLATTENED_INNER_ROOT_STRIP_ATTRS,
@@ -2567,6 +2618,7 @@ export {
2567
2618
  wrapScopedCompositionScript,
2568
2619
  buildVariablesByCompScript,
2569
2620
  validateHyperframeHtmlContract,
2621
+ ensureExternalLinkTag,
2570
2622
  inlineSubCompositions,
2571
2623
  EXCLUDED_TAGS,
2572
2624
  mintHfId,
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-AWDFDFI3.js";
14
14
  import {
15
15
  isBlockedNetworkHost
16
- } from "./chunk-S6YCUTNM.js";
16
+ } from "./chunk-7V7DABTV.js";
17
17
  import {
18
18
  DOMParser,
19
19
  parseHTML
@@ -8,7 +8,7 @@ import {
8
8
  DEFAULT_REGISTRY_URL,
9
9
  fetchItemManifest,
10
10
  fetchRegistryManifest
11
- } from "./chunk-HSGHPWA2.js";
11
+ } from "./chunk-RL3JZNAC.js";
12
12
 
13
13
  // src/registry/resolver.ts
14
14
  function defaultWarn(message) {
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType,
9
9
  injectMediaCodecMapIntoHtml
10
- } from "./chunk-VDLFGW4J.js";
10
+ } from "./chunk-KNVRGZDF.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-325EA5ST.js";
21
+ } from "./chunk-EP3EEWZI.js";
22
22
  import {
23
23
  resolveAutoProxy
24
- } from "./chunk-CWAZA6DG.js";
24
+ } from "./chunk-7KYQYLIB.js";
25
25
 
26
26
  // src/utils/staticProjectServer.ts
27
27
  import { createServer } from "http";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
 
8
8
  // src/utils/producer.ts
9
9
  async function loadProducer() {
10
- return await import("./src-SPJS4DVA.js");
10
+ return await import("./src-DOI33FRO.js");
11
11
  }
12
12
 
13
13
  export {
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  DEFAULT_VP9_CPU_USED,
18
18
  renderProvenanceArgs
19
- } from "./chunk-S6YCUTNM.js";
19
+ } from "./chunk-7V7DABTV.js";
20
20
  import {
21
21
  loadOptionalPackage
22
22
  } from "./chunk-XT5P4QMO.js";
@@ -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-5V3MJNPC.js");
205
+ const engine = await import("./src-SK7AZD7J.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 };
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-5ETJX6WM.js";
17
17
  import {
18
18
  runEnvironmentChecks
19
- } from "./chunk-6TNEX275.js";
19
+ } from "./chunk-QDQ3EQB3.js";
20
20
  import {
21
21
  c
22
22
  } from "./chunk-ZTZA4UWZ.js";
@@ -25,24 +25,24 @@ import {
25
25
  getFreeDiskMb,
26
26
  getShmSizeMb,
27
27
  getSystemMeta
28
- } from "./chunk-PRPE3JNB.js";
28
+ } from "./chunk-B2ZUMOL4.js";
29
29
  import {
30
30
  defineCommand
31
31
  } from "./chunk-S3S4TGEH.js";
32
32
  import {
33
33
  resolveExtractCacheDir
34
- } from "./chunk-S6YCUTNM.js";
34
+ } from "./chunk-7V7DABTV.js";
35
35
  import {
36
36
  getUpdateMeta,
37
37
  withMeta
38
- } from "./chunk-CC5HTRDE.js";
38
+ } from "./chunk-W3CTWAWY.js";
39
39
  import {
40
40
  CONFIG_PATH,
41
41
  withFileLock
42
42
  } from "./chunk-XUXGIA7H.js";
43
43
  import {
44
44
  VERSION
45
- } from "./chunk-CXPRQS6R.js";
45
+ } from "./chunk-LETJ7PJN.js";
46
46
  import {
47
47
  normalizeErrorMessage
48
48
  } from "./chunk-KNU5COPB.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-ISN5GRYI.js";
18
18
  import {
19
19
  VERSION
20
- } from "./chunk-CXPRQS6R.js";
20
+ } from "./chunk-LETJ7PJN.js";
21
21
 
22
22
  // src/utils/updateCheck.ts
23
23
  import { existsSync, readFileSync } from "fs";
@@ -7,29 +7,29 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  RegistryCompatibilityError,
9
9
  gateRegistryItemsCompatibility
10
- } from "./chunk-RZYPG4LH.js";
10
+ } from "./chunk-3TXAC7Z4.js";
11
11
  import {
12
12
  DEFAULT_PROJECT_CONFIG,
13
13
  createProjectConfig,
14
14
  loadProjectConfig,
15
15
  projectConfigPath,
16
16
  recordProjectRegistryItems
17
- } from "./chunk-CWAZA6DG.js";
17
+ } from "./chunk-7KYQYLIB.js";
18
18
  import {
19
19
  resolveItemWithDependencies,
20
20
  resolveItemsByTag
21
- } from "./chunk-CALFK3EB.js";
21
+ } from "./chunk-TDUX3BOR.js";
22
22
  import {
23
23
  InvalidVariableValuesError,
24
24
  prepareItem,
25
25
  publishItem
26
- } from "./chunk-P67KXZGX.js";
26
+ } from "./chunk-HPO32EKG.js";
27
27
  import {
28
28
  DEFAULT_REGISTRY_URL
29
- } from "./chunk-HSGHPWA2.js";
29
+ } from "./chunk-RL3JZNAC.js";
30
30
  import {
31
31
  trackRegistryItemAdded
32
- } from "./chunk-DJD2XA6I.js";
32
+ } from "./chunk-ETCTWRUN.js";
33
33
  import {
34
34
  c
35
35
  } from "./chunk-ZTZA4UWZ.js";
@@ -41,11 +41,11 @@ import {
41
41
  } from "./chunk-PBN6GBJE.js";
42
42
  import {
43
43
  ITEM_TYPE_DIRS
44
- } from "./chunk-RGHVO2UZ.js";
44
+ } from "./chunk-ZQ7P6NVA.js";
45
45
  import {
46
46
  isProjectRootMissing,
47
47
  realpath
48
- } from "./chunk-275NJDC5.js";
48
+ } from "./chunk-DLTFIQGY.js";
49
49
  import {
50
50
  parseHTML
51
51
  } from "./chunk-GK4AIFIH.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-5V3MJNPC.js");
16
+ const { resolveBrowserGpuMode } = await import("./src-SK7AZD7J.js");
17
17
  return resolveBrowserGpuMode(requestedMode, { chromePath });
18
18
  }
19
19
 
@@ -17,7 +17,7 @@ import {
17
17
  parseStrictFiniteTimingNumber,
18
18
  resolveNaturalMediaTimelineDuration,
19
19
  resolveTimedImageDurationSeconds
20
- } from "./chunk-275NJDC5.js";
20
+ } from "./chunk-DLTFIQGY.js";
21
21
  import {
22
22
  COMPOSITION_ATTRIBUTES,
23
23
  parseStartExpression