hyperframes 0.8.156 → 0.8.158

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 (177) hide show
  1. package/dist/{add-U35DO2JR.js → add-VBBOJ3RB.js} +14 -14
  2. package/dist/{animatedGifPrep-MRGFHBVF.js → animatedGifPrep-MTJRHJ5G.js} +9 -9
  3. package/dist/api.js +17 -17
  4. package/dist/{asset-HS4Q6LS2.js → asset-3MLXYJCT.js} +2 -2
  5. package/dist/{assetCataloger-SRTQYA6J.js → assetCataloger-DI7FC5KZ.js} +3 -3
  6. package/dist/{auth-HS6GAILF.js → auth-RJCTHSMH.js} +2 -2
  7. package/dist/{autoUpdate-MRQ4ULBI.js → autoUpdate-VD6R34HF.js} +2 -2
  8. package/dist/{backgroundChecks-K2ZMA43S.js → backgroundChecks-CWWIZDTW.js} +3 -3
  9. package/dist/backgroundChecksWorker.js +3 -3
  10. package/dist/{batchRender-CMVCRSWP.js → batchRender-FTZ67377.js} +4 -4
  11. package/dist/{beats-JYECNCTZ.js → beats-6CN4BEXJ.js} +16 -15
  12. package/dist/{benchmark-JGMKJSPN.js → benchmark-4QSNJZXI.js} +11 -11
  13. package/dist/{browser-63WITJVS.js → browser-H7PRFBJV.js} +5 -5
  14. package/dist/{bundleWithLocalizedFonts-5SLYBFXL.js → bundleWithLocalizedFonts-IVO43QBQ.js} +2 -2
  15. package/dist/{capture-T6QSEGKM.js → capture-GZSY7LZJ.js} +2 -2
  16. package/dist/{capture-7MFOIE4K.js → capture-IEEQTPAS.js} +22 -12
  17. package/dist/{catalog-KVE5KJJT.js → catalog-PD25CVG3.js} +14 -14
  18. package/dist/{catch-up-E3WYWSDY.js → catch-up-2TGBK342.js} +6 -6
  19. package/dist/{check-QRP5WCP2.js → check-HFNJEV3O.js} +36 -35
  20. package/dist/{checkBrowser-5XFA6PXF.js → checkBrowser-767LAZKF.js} +34 -32
  21. package/dist/{chunk-KMSS5TOQ.js → chunk-23VDPRQ3.js} +1 -1
  22. package/dist/{chunk-RXTEP3NB.js → chunk-2XUQPJ3W.js} +2 -2
  23. package/dist/{chunk-JKCKXGIC.js → chunk-3FRK53UC.js} +1 -1
  24. package/dist/{chunk-YNFJWJHW.js → chunk-3MQBIZHG.js} +7 -7
  25. package/dist/{chunk-U3BCDVZO.js → chunk-3QATT3QF.js} +1 -1
  26. package/dist/{chunk-VCCOO2TO.js → chunk-3UMNI4XZ.js} +5 -5
  27. package/dist/{chunk-DRNTIYT3.js → chunk-4R6OZQGX.js} +3 -3
  28. package/dist/{chunk-DDSQBREC.js → chunk-4YDQQQY6.js} +2 -2
  29. package/dist/{chunk-DSX7R5M7.js → chunk-56QTFOWH.js} +4 -4
  30. package/dist/{chunk-YOEGUBBY.js → chunk-7F3B5YYT.js} +82 -14
  31. package/dist/{chunk-MBE4SEL7.js → chunk-7FGHFHWD.js} +5 -5
  32. package/dist/{chunk-OBXWIVYN.js → chunk-7KDQAD2W.js} +5 -11
  33. package/dist/{chunk-YZEHYWOH.js → chunk-7ZWOLEGS.js} +1 -1
  34. package/dist/{chunk-VY23BB2D.js → chunk-BB2SFTMY.js} +4 -4
  35. package/dist/{chunk-FSZAFCU7.js → chunk-CBNI34SD.js} +1 -1
  36. package/dist/{chunk-VK5JRYJL.js → chunk-DCQCGE2W.js} +13 -12
  37. package/dist/{chunk-7U27WUMQ.js → chunk-DISITOR6.js} +5 -4
  38. package/dist/{chunk-SCMNFRL5.js → chunk-EDEFAJI5.js} +10 -9
  39. package/dist/{chunk-56AEM2EL.js → chunk-EEEUI3ON.js} +11 -11
  40. package/dist/{chunk-444O62RL.js → chunk-EGKIQS5J.js} +1 -1
  41. package/dist/{chunk-YGLM2DHX.js → chunk-EY6ISRP3.js} +1 -1
  42. package/dist/{chunk-2K5YII2L.js → chunk-FJT35XBA.js} +3 -3
  43. package/dist/{chunk-Q7FDYQR4.js → chunk-GPUVPZRK.js} +1 -1
  44. package/dist/{chunk-WLYSVHZE.js → chunk-H6BWNY56.js} +2 -2
  45. package/dist/{chunk-YUTUYCGK.js → chunk-IRRRH66M.js} +39 -31
  46. package/dist/{chunk-XXTOOXZ7.js → chunk-J4SSEVRU.js} +2 -2
  47. package/dist/{chunk-TLUGPEW4.js → chunk-J6SJCYAQ.js} +5 -5
  48. package/dist/{chunk-SNMMFFKZ.js → chunk-J7WFHOCW.js} +1 -1
  49. package/dist/chunk-KCF6GHJP.js +250 -0
  50. package/dist/{chunk-SCOXM5LP.js → chunk-KEGTYA7V.js} +1 -1
  51. package/dist/{chunk-DDK6E66K.js → chunk-L6AJC7UQ.js} +1 -1
  52. package/dist/{chunk-VPOEKLZL.js → chunk-LAAGHMRC.js} +13 -2
  53. package/dist/{chunk-HBKKW3NL.js → chunk-LAPUMJOC.js} +6 -6
  54. package/dist/chunk-LPOTN5GW.js +3795 -0
  55. package/dist/{chunk-FIL6QPZT.js → chunk-LQXHRO6F.js} +2 -2
  56. package/dist/{chunk-IOBKVP27.js → chunk-NFX4K6OW.js} +1 -1
  57. package/dist/{chunk-HG6H2ICP.js → chunk-NNQP5TNO.js} +3 -3
  58. package/dist/{chunk-OOCONATR.js → chunk-OTG5H2VM.js} +3 -3
  59. package/dist/{chunk-7K3CHJS3.js → chunk-PKHDQELW.js} +10 -10
  60. package/dist/{chunk-COBIO7VC.js → chunk-QH2PL6J4.js} +1 -1
  61. package/dist/{chunk-YLSSI4XB.js → chunk-QRPYTJBW.js} +1 -1
  62. package/dist/{chunk-7FFGZC2X.js → chunk-QWQ6GQTI.js} +1 -1
  63. package/dist/{chunk-SO44ETGW.js → chunk-RU6AIVON.js} +2 -2
  64. package/dist/{chunk-3THJEW7G.js → chunk-SGIZMTWO.js} +2 -2
  65. package/dist/{chunk-JJERZGVE.js → chunk-SHEVPNUR.js} +1 -1
  66. package/dist/{chunk-LZ2PZIVS.js → chunk-SLUFA6UM.js} +2 -2
  67. package/dist/{chunk-QJEHLWM4.js → chunk-SQHWDFTV.js} +1 -1
  68. package/dist/{chunk-M4CRDGC4.js → chunk-T243WV6D.js} +1 -1
  69. package/dist/{chunk-LJHF4SKT.js → chunk-T76NSAXO.js} +2 -2
  70. package/dist/{chunk-HVQQN4NG.js → chunk-W2SNLHKF.js} +1 -1
  71. package/dist/{chunk-C7WALYAY.js → chunk-Y6E2PW7Z.js} +1 -1
  72. package/dist/{chunk-QOP5D3UM.js → chunk-YB26LWR2.js} +2 -2
  73. package/dist/{chunk-GVJ4LG62.js → chunk-YVD5M26L.js} +2 -2
  74. package/dist/{chunk-NV2JPSI4.js → chunk-Z347DFOL.js} +1 -1
  75. package/dist/{chunk-SCXATNSP.js → chunk-ZZ3ZWTOI.js} +3 -3
  76. package/dist/{clean-4HTCYML6.js → clean-FQUVFH6H.js} +18 -18
  77. package/dist/cli.js +52 -52
  78. package/dist/{cloud-HFBG33UU.js → cloud-BHAYVT6F.js} +4 -4
  79. package/dist/{cloudrun-QK56WQY3.js → cloudrun-STLNWUBW.js} +5 -5
  80. package/dist/commands/contrast-audit.browser.js +25 -8
  81. package/dist/commands/layout-audit.browser.js +117 -12
  82. package/dist/{compare-4RYN3LLC.js → compare-2FRBIK5Z.js} +28 -27
  83. package/dist/{compiler-JPA25IUF.js → compiler-VFJVUZWR.js} +5 -5
  84. package/dist/{component-7ARXR4KZ.js → component-DRKXJVXB.js} +3 -3
  85. package/dist/{compositions-DNBHEIGP.js → compositions-D3SN64J3.js} +14 -14
  86. package/dist/{delete-4XYV72EU.js → delete-NA5WC2IR.js} +2 -2
  87. package/dist/{deterministicFonts-EOMDR6ZF.js → deterministicFonts-LNNVHVS2.js} +2 -2
  88. package/dist/{dist-2YYJYYPY.js → dist-2VXSQLXO.js} +1 -1
  89. package/dist/{dist-SKUIM4QJ.js → dist-SVTSOG4Q.js} +3 -3
  90. package/dist/docker/Dockerfile.render +21 -1
  91. package/dist/{doctor-5PHSH7IK.js → doctor-VXCMPOY3.js} +14 -14
  92. package/dist/{events-FOGRN2KV.js → events-QAHWXFFG.js} +4 -4
  93. package/dist/{events-GQCOQY5E.js → events-ZJEPMUWT.js} +5 -5
  94. package/dist/{feedback-6T6ZJOTM.js → feedback-UGOQ57TU.js} +9 -9
  95. package/dist/{ffmpeg-VJXXLKI6.js → ffmpeg-2ROTISBL.js} +2 -2
  96. package/dist/{figma-PZLGUS6C.js → figma-YO2MJZDP.js} +3 -3
  97. package/dist/fontLocalizeCli.js +12 -12
  98. package/dist/{get-XUNYSY2Z.js → get-WMJAYRNF.js} +2 -2
  99. package/dist/{gpuPolicy-SWCZJRZR.js → gpuPolicy-VXNJ4UBN.js} +9 -9
  100. package/dist/{grade-compare-S27N2NRU.js → grade-compare-QZ7BG2AP.js} +28 -28
  101. package/dist/{help-4HZ75YVH.js → help-AR4MX2AH.js} +1 -1
  102. package/dist/{history-NENOG3BT.js → history-NF764OFQ.js} +8 -8
  103. package/dist/hyperframe-runtime.js +15 -15
  104. package/dist/hyperframe.manifest.json +1 -1
  105. package/dist/hyperframe.runtime.iife.js +15 -15
  106. package/dist/hyperframes-player.global.js +1 -1
  107. package/dist/{info-IDEUAYJZ.js → info-476ERK4G.js} +10 -10
  108. package/dist/{init-KWGZEC7F.js → init-M6YUOBBZ.js} +40 -35
  109. package/dist/{inspect-3WLT3EHZ.js → inspect-QYPUG3UZ.js} +29 -28
  110. package/dist/{installer-I3SLBB7G.js → installer-HF5BXXXM.js} +5 -5
  111. package/dist/{keyframes-7HPN5DKO.js → keyframes-MTZRE34W.js} +8 -8
  112. package/dist/{lambda-MJH6U52V.js → lambda-ZCX7KGTY.js} +6 -6
  113. package/dist/{layout-ZEW4RZRP.js → layout-DLX4HQFL.js} +29 -28
  114. package/dist/{lint-3TNKI4PK.js → lint-OQ5QWCHZ.js} +9 -9
  115. package/dist/{lintProject-XQWXJYSC.js → lintProject-JGHKRO5L.js} +1 -1
  116. package/dist/{list-BJR2IXU4.js → list-AZ6OIOIK.js} +2 -2
  117. package/dist/{login-EA27W5T2.js → login-DJPYT4YZ.js} +4 -4
  118. package/dist/{manager-3EUU5UX6.js → manager-JNJE54OQ.js} +3 -3
  119. package/dist/{media-treatment-3JZFCG6I.js → media-treatment-4YKC4LGB.js} +14 -14
  120. package/dist/{models-IRFIJOIW.js → models-WHDUQZQZ.js} +13 -13
  121. package/dist/{motionShot-S4M7QSW3.js → motionShot-KEHC5AMK.js} +16 -15
  122. package/dist/{normalize-audio-IOY3NRHJ.js → normalize-audio-ATAQGUPX.js} +6 -6
  123. package/dist/{open-SCBC3NF5.js → open-4DXBEX2U.js} +6 -6
  124. package/dist/{parakeetRunner-FGTIYDG7.js → parakeetRunner-5PNBGCGH.js} +14 -14
  125. package/dist/{pipeline-JEFEWIZ3.js → pipeline-QA2422UI.js} +10 -10
  126. package/dist/{play-4TCSBDHO.js → play-SKTSHZM5.js} +21 -21
  127. package/dist/{preflight-OIHM57E7.js → preflight-BH2XUQBS.js} +4 -4
  128. package/dist/{present-S6UBG5VI.js → present-KSQ5GASH.js} +17 -17
  129. package/dist/{preview-HBDXDJCV.js → preview-TDD3QDR3.js} +20 -20
  130. package/dist/{producer-KSAUIT6F.js → producer-PQMZ7OYH.js} +1 -1
  131. package/dist/{projectConfig-CNAK65RI.js → projectConfig-EYYDESVO.js} +7 -7
  132. package/dist/{publication-AUWZFGJI.js → publication-MJY3XYYV.js} +3 -3
  133. package/dist/{publish-EMNP3VCC.js → publish-5TZIKVLW.js} +9 -9
  134. package/dist/{remove-background-GICM6TE5.js → remove-background-HT73ZUIG.js} +11 -11
  135. package/dist/{render-DMHQZMV4.js → render-ADBL3C7S.js} +27 -27
  136. package/dist/{render-PHEQSRHV.js → render-KJCDJEGI.js} +11 -11
  137. package/dist/{render-WMRNH7HO.js → render-YTJ3SMCD.js} +4 -4
  138. package/dist/{render-batch-OUTHTWN5.js → render-batch-AFB2XK3I.js} +4 -4
  139. package/dist/renderSetupWorker.js +1 -1
  140. package/dist/{resolver-NTB6HOZC.js → resolver-F2D2YCSQ.js} +5 -5
  141. package/dist/{sherpa-3YJNJ6TF.js → sherpa-IBKSF6GX.js} +13 -13
  142. package/dist/skills/hyperframes/SKILL.md +1 -1
  143. package/dist/skills/hyperframes/references/frame-worker-core.md +1 -1
  144. package/dist/skills/hyperframes/references/intent-interview.md +2 -2
  145. package/dist/skills/hyperframes/references/production-loop.md +11 -11
  146. package/dist/skills/hyperframes/references/review-loop.md +6 -6
  147. package/dist/skills/hyperframes/references/storyboard-format.md +1 -1
  148. package/dist/skills/hyperframes-cli/SKILL.md +1 -1
  149. package/dist/{skills-MKEJGL35.js → skills-E75DFHGG.js} +7 -7
  150. package/dist/{skillsUpdateCheck-RTLARPPP.js → skillsUpdateCheck-EPTKOBR6.js} +3 -3
  151. package/dist/{snapshot-KMLGFZWY.js → snapshot-Z6T4I5TE.js} +31 -31
  152. package/dist/{src-4HB343JW.js → src-4GCHM2LX.js} +11 -11
  153. package/dist/{src-HJ2NF55P.js → src-NDI4KNT3.js} +8 -8
  154. package/dist/{staticProjectServer-4XX72J23.js → staticProjectServer-ITNEQNQ7.js} +15 -15
  155. package/dist/{status-BMXWFO4L.js → status-RGHSK3DJ.js} +2 -2
  156. package/dist/studio/assets/{hyperframes-player-u2w3bDWo.js → hyperframes-player-DX8LgKgb.js} +1 -1
  157. package/dist/studio/assets/{index-D8B6eEBj.js → index-7Ljcoa9s.js} +83 -83
  158. package/dist/studio/assets/{index-BG28fXIT.js → index-BdnuQ7ta.js} +1 -1
  159. package/dist/studio/assets/{index-WD9j53l5.js → index-DB0YwjiT.js} +1 -1
  160. package/dist/studio/index.html +1 -1
  161. package/dist/{studio-api-LPHMA57T.js → studio-api-JMWUSAG7.js} +9 -9
  162. package/dist/{studioServer-P7GSE74X.js → studioServer-MWZNMAVJ.js} +45 -45
  163. package/dist/{system-QRHPVRPP.js → system-VRXC6S4A.js} +2 -2
  164. package/dist/{telemetry-576VTLGI.js → telemetry-D6A2TRK6.js} +5 -5
  165. package/dist/{timeline-BO7LJJ24.js → timeline-VIF4G3IT.js} +17 -17
  166. package/dist/{tokens-TCYANQDA.js → tokens-ORS6MFMG.js} +2 -2
  167. package/dist/{transcribe-6HLMGCL2.js → transcribe-DNRG7OGE.js} +19 -19
  168. package/dist/{transcribe-6PTFIBO6.js → transcribe-DZ6O6EG5.js} +12 -12
  169. package/dist/{updateCheck-ZLYIZPPQ.js → updateCheck-YY4BPYNT.js} +2 -2
  170. package/dist/{upgrade-DZHQE2PV.js → upgrade-CUDVTTF5.js} +2 -2
  171. package/dist/{urlDownloader-PJTOCTJA.js → urlDownloader-INLS5A6I.js} +8 -8
  172. package/dist/{validate-3I45WC7I.js → validate-CQCQVHUX.js} +23 -22
  173. package/dist/{video-AQFXGGKN.js → video-3GLT6U6Z.js} +9 -9
  174. package/package.json +1 -1
  175. package/dist/chunk-NE55C6S5.js +0 -118
  176. package/dist/chunk-OE4WEQMH.js +0 -3795
  177. /package/dist/{chunk-VYKPBRCB.js → chunk-ALLKNYC3.js} +0 -0
@@ -6309,9 +6309,9 @@ function countStructuralLines(source) {
6309
6309
  return countPhysicalLines(source.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi, "<style></style>"));
6310
6310
  }
6311
6311
  function isCaptionCue(tag) {
6312
- const classTokens = (readAttr(tag.raw, "class") || "").split(/\s+/).filter(Boolean);
6312
+ const classTokens2 = (readAttr(tag.raw, "class") || "").split(/\s+/).filter(Boolean);
6313
6313
  const id = readAttr(tag.raw, "id");
6314
- return classTokens.some((token) => CAPTION_CUE_TOKEN.test(token)) || Boolean(id && CAPTION_CUE_TOKEN.test(id));
6314
+ return classTokens2.some((token) => CAPTION_CUE_TOKEN.test(token)) || Boolean(id && CAPTION_CUE_TOKEN.test(id));
6315
6315
  }
6316
6316
  function isRegistrySourceFile(filePath) {
6317
6317
  if (!filePath) return false;
@@ -6611,6 +6611,58 @@ function elementSelector(tag) {
6611
6611
  const elementId = readAttr(tag.raw, "id");
6612
6612
  return elementId ? `#${elementId}` : void 0;
6613
6613
  }
6614
+ var STACKING_CONTEXT_DECLARATION = /(?:^|[;{])\s*(?:isolation\s*:\s*isolate|opacity\s*:\s*(?:0\b|0?\.\d+)|transform\s*:\s*(?!none\b)[^;]+|filter\s*:\s*(?!none\b)[^;]+|backdrop-filter\s*:\s*(?!none\b)[^;]+|-webkit-backdrop-filter\s*:\s*(?!none\b)[^;]+|contain\s*:[^;]*\bpaint\b|will-change\s*:[^;]*(?:transform|opacity|filter))/i;
6615
+ function stackingContextSelectors(styles) {
6616
+ const selectors = /* @__PURE__ */ new Set();
6617
+ for (const style of styles) {
6618
+ const content = stripCssComments(style.content);
6619
+ const rule = /([^{}]+)\{([^{}]*)\}/g;
6620
+ let match;
6621
+ while ((match = rule.exec(content)) !== null) {
6622
+ if (!STACKING_CONTEXT_DECLARATION.test(match[2] ?? "")) continue;
6623
+ for (const part of (match[1] ?? "").split(",")) {
6624
+ const selector = part.trim();
6625
+ if (/^[.#][\w-]+$/.test(selector)) selectors.add(selector);
6626
+ }
6627
+ }
6628
+ }
6629
+ return selectors;
6630
+ }
6631
+ function classTokens(tag) {
6632
+ return (readAttr(tag.raw, "class") ?? "").split(/\s+/).filter(Boolean);
6633
+ }
6634
+ function tagMatchesSimpleSelector(tag, selector) {
6635
+ if (selector.startsWith("#")) return readAttr(tag.raw, "id") === selector.slice(1);
6636
+ if (selector.startsWith(".")) return classTokens(tag).includes(selector.slice(1));
6637
+ return false;
6638
+ }
6639
+ function nearestParentTag(tag, tags) {
6640
+ let parent;
6641
+ for (const candidate of tags) {
6642
+ if (candidate.closeIndex == null) continue;
6643
+ if (tag.index <= candidate.index || tag.index >= candidate.closeIndex) continue;
6644
+ if (!parent || candidate.index > parent.index) parent = candidate;
6645
+ }
6646
+ return parent;
6647
+ }
6648
+ function parentHasStackingContext(tag, tags, stacking) {
6649
+ const parent = nearestParentTag(tag, tags);
6650
+ if (!parent) return false;
6651
+ return elementFormsStackingContext(parent, stacking);
6652
+ }
6653
+ function elementFormsStackingContext(tag, stacking) {
6654
+ const id = readAttr(tag.raw, "id");
6655
+ if (id && stacking.has(`#${id}`)) return true;
6656
+ if (classTokens(tag).some((name) => stacking.has(`.${name}`))) return true;
6657
+ const inline = readAttr(tag.raw, "style");
6658
+ return Boolean(inline && STACKING_CONTEXT_DECLARATION.test(inline));
6659
+ }
6660
+ function negativeZIndexIsContained(selector, tags, stacking) {
6661
+ if (!selector || !/^[.#][\w-]+$/.test(selector)) return false;
6662
+ const matched = tags.filter((tag) => tagMatchesSimpleSelector(tag, selector));
6663
+ if (matched.length === 0) return false;
6664
+ return matched.every((tag) => parentHasStackingContext(tag, tags, stacking));
6665
+ }
6614
6666
  function negativeZIndexFinding(match, selector) {
6615
6667
  const level = match[1] ?? "";
6616
6668
  return {
@@ -6938,9 +6990,9 @@ var compositionRules = [
6938
6990
  // is in the DOM, laid out, and invisible. The message therefore names the CAUSE
6939
6991
  // and the remedy rather than implying the tool failed.
6940
6992
  //
6941
- // THE CONDITION IS LOAD-BEARING AND THE MESSAGE STATES IT. The element is only
6942
- // dropped when its nearest ancestor stacking context is the composition root,
6943
- // which is the shape #4366 reports. Give any ancestor a stacking context and it
6993
+ // The element is only dropped when its nearest ancestor stacking context is
6994
+ // the composition root,
6995
+ // which is the shape #4366 reports. Give its parent a stacking context and it
6944
6996
  // renders correctly: measured at 0.8.72 on ONE frame carrying the same
6945
6997
  // `z-index: -1` band under six triggers -- isolation:isolate, transform,
6946
6998
  // opacity below 1, filter, contain:paint, will-change -- all six PRESENT at full
@@ -6948,19 +7000,22 @@ var compositionRules = [
6948
7000
  // That is ordinary CSS painting order: a negative-z child paints above its
6949
7001
  // stacking context root's own background, so only the root case is hidden.
6950
7002
  //
6951
- // This rule matches CSS TEXT and does not resolve the cascade, so it cannot know
6952
- // whether an ancestor forms a stacking context and fires on both shapes. That is
6953
- // why the message is CONDITIONAL rather than an assertion of absence: an
6954
- // unconditional "silently dropped" is false for every isolated case, and a lint
6955
- // message that overclaims is how authors learn to disregard the rule.
7003
+ // A simple class or id parent that this file itself sets as a stacking
7004
+ // context (isolation, transform, opacity below 1, filter, contain:paint,
7005
+ // will-change) is enough to know the element paints. Anything the cascade
7006
+ // could still hide stays a finding, and that message stays CONDITIONAL:
7007
+ // an unconditional "silently dropped" is false for every isolated case.
6956
7008
  ({ tags, styles }) => {
6957
7009
  const findings = [];
7010
+ const stacking = stackingContextSelectors(styles);
6958
7011
  for (const style of styles) {
6959
7012
  const content = stripCssComments(style.content);
6960
7013
  NEGATIVE_Z_INDEX.lastIndex = 0;
6961
7014
  let match;
6962
7015
  while ((match = NEGATIVE_Z_INDEX.exec(content)) !== null) {
6963
- findings.push(negativeZIndexFinding(match, cssOwnerSelector(content, match.index)));
7016
+ const selector = cssOwnerSelector(content, match.index);
7017
+ if (negativeZIndexIsContained(selector, tags, stacking)) continue;
7018
+ findings.push(negativeZIndexFinding(match, selector));
6964
7019
  }
6965
7020
  }
6966
7021
  for (const tag of tags) {
@@ -6968,7 +7023,9 @@ var compositionRules = [
6968
7023
  if (!inline) continue;
6969
7024
  NEGATIVE_Z_INDEX.lastIndex = 0;
6970
7025
  const match = NEGATIVE_Z_INDEX.exec(inline);
6971
- if (match) findings.push(negativeZIndexFinding(match, elementSelector(tag)));
7026
+ if (!match) continue;
7027
+ if (parentHasStackingContext(tag, tags, stacking)) continue;
7028
+ findings.push(negativeZIndexFinding(match, elementSelector(tag)));
6972
7029
  }
6973
7030
  return findings;
6974
7031
  },
@@ -7445,6 +7502,7 @@ async function loadGsapScriptMotionPathFirstUseIndex() {
7445
7502
  return mod.gsapScriptMotionPathFirstUseIndex;
7446
7503
  }
7447
7504
  var SCENE_BOUNDARY_EPSILON_SECONDS = 0.05;
7505
+ var TWEEN_ENDPOINT_EPSILON_SECONDS = 1e-3;
7448
7506
  var UNRESOLVED_TARGET = "__unresolved__";
7449
7507
  function targetHasNoStableIdentity(selector, identity) {
7450
7508
  if (identity) return false;
@@ -7523,6 +7581,16 @@ function stringValue(value) {
7523
7581
  if (typeof value === "number") return String(value);
7524
7582
  return null;
7525
7583
  }
7584
+ function fromToGroupSharesFromProperty(windows) {
7585
+ if (windows.some((win) => win.fromPropertyValues === void 0)) return true;
7586
+ const counts = /* @__PURE__ */ new Map();
7587
+ for (const win of windows) {
7588
+ for (const key of Object.keys(win.fromPropertyValues ?? {})) {
7589
+ counts.set(key, (counts.get(key) ?? 0) + 1);
7590
+ }
7591
+ }
7592
+ return [...counts.values()].some((count) => count >= 2);
7593
+ }
7526
7594
  function zeroValue(value) {
7527
7595
  if (typeof value === "number") return value === 0;
7528
7596
  if (typeof value !== "string") return false;
@@ -8175,7 +8243,7 @@ var gsapRules = [
8175
8243
  if (leftIdentity !== rightIdentity) continue;
8176
8244
  const overlapStart = Math.max(left.position, right.position);
8177
8245
  const overlapEnd = Math.min(left.end, right.end);
8178
- if (overlapEnd <= overlapStart) continue;
8246
+ if (overlapEnd - overlapStart <= TWEEN_ENDPOINT_EPSILON_SECONDS) continue;
8179
8247
  if (left.overwriteAuto || right.overwriteAuto) continue;
8180
8248
  const sharedProperties = left.properties.filter(
8181
8249
  (prop) => right.properties.includes(prop)
@@ -8201,7 +8269,7 @@ ${right.raw}`)
8201
8269
  fromToWindowsBySelector.set(win.targetSelector, windows);
8202
8270
  }
8203
8271
  const repeatedFromToGroups = [...fromToWindowsBySelector.values()].filter(
8204
- (windows) => windows.length >= 2
8272
+ (windows) => windows.length >= 2 && fromToGroupSharesFromProperty(windows)
8205
8273
  );
8206
8274
  for (const fromToWindows of repeatedFromToGroups) {
8207
8275
  const firstFromTo = fromToWindows[0];
@@ -11,22 +11,22 @@ import {
11
11
  launchManagedBrowser,
12
12
  resolveManagedGpuMode,
13
13
  rethrowAfterBrowserCleanup
14
- } from "./chunk-VPOEKLZL.js";
14
+ } from "./chunk-LAAGHMRC.js";
15
15
  import {
16
16
  resolveDiagnosticNavigationTimeoutMs,
17
17
  windowsChromeCrashRemediation
18
- } from "./chunk-SNMMFFKZ.js";
18
+ } from "./chunk-J7WFHOCW.js";
19
19
  import {
20
20
  resolveLocalBrowserGpuMode,
21
21
  resolveLocalWebGpu
22
- } from "./chunk-QOP5D3UM.js";
22
+ } from "./chunk-YB26LWR2.js";
23
23
  import {
24
24
  c
25
25
  } from "./chunk-ZTZA4UWZ.js";
26
26
  import {
27
27
  assertWebGpuAdapterAvailable,
28
28
  compositionRequiresWebGpu
29
- } from "./chunk-YUTUYCGK.js";
29
+ } from "./chunk-IRRRH66M.js";
30
30
  import {
31
31
  normalizeErrorMessage
32
32
  } from "./chunk-KNU5COPB.js";
@@ -108,7 +108,7 @@ async function openSettledCompositionPage(html, url, options) {
108
108
  const { ensureBrowser, findSystemBrowser } = await import("./manager-ZLJD3EAY.js");
109
109
  const browser = await ensureBrowser({ signal: options.signal });
110
110
  const puppeteer = await import("puppeteer-core");
111
- const { buildChromeArgs } = await import("./src-HJ2NF55P.js");
111
+ const { buildChromeArgs } = await import("./src-NDI4KNT3.js");
112
112
  const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
113
113
  const requiresWebGpu = compositionRequiresWebGpu(html);
114
114
  let softwareWebGpu = false;
@@ -52,32 +52,26 @@ function detectWsl(host = realHost) {
52
52
  }
53
53
  var RENDER_NODE = "/dev/dri/renderD128";
54
54
  var NATIVE_WINDOWS = "render from native Windows (project copied to a Windows drive, run from PowerShell), where Chrome uses the GPU through Direct3D.";
55
- function routeToGpu(fullChrome) {
56
- const viaFullChrome = fullChrome.state === "missing" ? [
57
- " Under WSL, Chrome's headless shell often cannot reach the GPU while full Chrome can. Install full Chrome with `npx @puppeteer/browsers install chrome@stable --path ~/.cache/puppeteer` and HyperFrames will try it when the headless shell finds no GPU (or point HYPERFRAMES_BROWSER_PATH at a full Chrome)."
58
- ] : fullChrome.state === "no-gpu" ? [` Full Chrome (${fullChrome.path}) found no hardware GPU either.`] : [` Full Chrome (${fullChrome.path}) could not finish its GPU check either.`];
59
- return [...viaFullChrome, ` Or ${NATIVE_WINDOWS}`];
60
- }
61
- function describeWslGpuAccess(host = realHost, fullChrome = { state: "missing" }) {
55
+ function describeWslGpuAccess(host = realHost) {
62
56
  if (!detectWsl(host)) return null;
63
57
  const access = host.renderNodeAccess(RENDER_NODE);
64
58
  if (access.state === "denied" && !access.userInGroup) {
65
59
  return [
66
60
  ` Your Linux user cannot read and write ${RENDER_NODE} and is not in its group ("${access.group}"), which can stop Mesa from reaching the GPU.`,
67
- ` First run \`sudo usermod -aG ${access.group} $USER\`, then \`wsl --shutdown\` from Windows and reopen WSL. On its own that may not be enough:`,
68
- ...routeToGpu(fullChrome)
61
+ ` Fix: run \`sudo usermod -aG ${access.group} $USER\`, then \`wsl --shutdown\` from Windows, reopen WSL and render again.`,
62
+ ` Or ${NATIVE_WINDOWS}`
69
63
  ];
70
64
  }
71
65
  if (access.state === "denied") {
72
66
  return [
73
67
  ` Your Linux user is in the "${access.group}" group but still cannot read and write ${RENDER_NODE}; check its permissions with \`ls -l ${RENDER_NODE}\`.`,
74
- ...routeToGpu(fullChrome)
68
+ ` Or ${NATIVE_WINDOWS}`
75
69
  ];
76
70
  }
77
71
  const seen = access.state === "missing" ? "does not exist" : "is readable and writable";
78
72
  return [
79
73
  ` ${RENDER_NODE} ${seen}, so file permissions are not the cause.`,
80
- ...routeToGpu(fullChrome)
74
+ ` To use the GPU, ${NATIVE_WINDOWS}`
81
75
  ];
82
76
  }
83
77
 
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  sherpaParakeetInstalled,
9
9
  sherpaUnsupportedReason
10
- } from "./chunk-DDSQBREC.js";
10
+ } from "./chunk-4YDQQQY6.js";
11
11
  import {
12
12
  findParakeet
13
13
  } from "./chunk-JZIEZCQM.js";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getFreeDiskMb
9
- } from "./chunk-7FFGZC2X.js";
9
+ } from "./chunk-QWQ6GQTI.js";
10
10
  import {
11
11
  ensureBrowser,
12
12
  findBrowser
@@ -17,7 +17,7 @@ import {
17
17
  distroLabel,
18
18
  getFFmpegInstallHint,
19
19
  parseLddMissingLibs
20
- } from "./chunk-SCOXM5LP.js";
20
+ } from "./chunk-KEGTYA7V.js";
21
21
  import {
22
22
  runCancellableProcess
23
23
  } from "./chunk-54DMWFQZ.js";
@@ -59,11 +59,11 @@ function describeBrowserInstall(executablePath) {
59
59
 
60
60
  // src/browser/preflight.ts
61
61
  function parseToolVersion(raw) {
62
- const m = raw.match(/(ffmpeg|ffprobe)\s+version\s+([\d][\d.\-\w]*)/i);
62
+ const m = raw.match(/(ffmpeg|ffprobe)\s+version\s+(n?\d[\d.\-\w]*)/i);
63
63
  return m ? `${m[1]} ${m[2]}` : raw.trim();
64
64
  }
65
65
  function extractMajorVersion(raw) {
66
- const m = raw.match(/\b(\d+)\.\d+/);
66
+ const m = raw.match(/\bn?(\d+)\.\d+/);
67
67
  return m?.[1] ? Number(m[1]) : void 0;
68
68
  }
69
69
  function configuredMissingDetail(envName) {
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  VALID_CANVAS_RESOLUTIONS,
9
9
  resolveResolutionFlagPair
10
- } from "./chunk-VYKPBRCB.js";
10
+ } from "./chunk-ALLKNYC3.js";
11
11
 
12
12
  // src/utils/parseOutputResolution.ts
13
13
  function parseOutputResolutionFlag(raw, options) {
@@ -21,7 +21,7 @@ import {
21
21
  splitElementInHtml,
22
22
  unwrapElementsFromHtml,
23
23
  wrapElementsInHtml
24
- } from "./chunk-DSX7R5M7.js";
24
+ } from "./chunk-56QTFOWH.js";
25
25
  import {
26
26
  DEFAULT_TARGET_LUFS,
27
27
  absoluteLoudnessPlan,
@@ -65,7 +65,7 @@ import {
65
65
  scanProjectMediaCodecMap,
66
66
  shouldPrewarmProxy,
67
67
  waitForProxy
68
- } from "./chunk-7U27WUMQ.js";
68
+ } from "./chunk-DISITOR6.js";
69
69
  import {
70
70
  STUDIO_MOTION_PATH,
71
71
  createStudioMotionRenderBodyScript,
@@ -101,10 +101,11 @@ import {
101
101
  } from "./chunk-EOVYQ3IG.js";
102
102
  import {
103
103
  addScenePartsManifest
104
- } from "./chunk-2K5YII2L.js";
104
+ } from "./chunk-FJT35XBA.js";
105
105
  import {
106
- ensureHfIds
107
- } from "./chunk-NE55C6S5.js";
106
+ ensureHfIds,
107
+ stampHfIdsInPlace
108
+ } from "./chunk-KCF6GHJP.js";
108
109
  import {
109
110
  PREVIEW_PROXY_BOX_PARAM,
110
111
  formatPreviewProxyBox,
@@ -114,7 +115,7 @@ import {
114
115
  parseFps,
115
116
  parsePreviewProxyBox,
116
117
  sameInstant
117
- } from "./chunk-3THJEW7G.js";
118
+ } from "./chunk-SGIZMTWO.js";
118
119
  import {
119
120
  AFTER_FONTS_SCRIPT_TYPE,
120
121
  RUNTIME_BOOTSTRAP_ATTR,
@@ -128,7 +129,7 @@ import {
128
129
  resolveRateSpec,
129
130
  sourceTimeAt,
130
131
  stripEmbeddedRuntimeScripts
131
- } from "./chunk-OE4WEQMH.js";
132
+ } from "./chunk-LPOTN5GW.js";
132
133
  import {
133
134
  HTML_ATTRIBUTE_ENTITIES,
134
135
  MagicString,
@@ -136,7 +137,7 @@ import {
136
137
  decodeAuthoredAttribute,
137
138
  scanHtmlOpeningTags,
138
139
  unrollComputedTimeline
139
- } from "./chunk-VYKPBRCB.js";
140
+ } from "./chunk-ALLKNYC3.js";
140
141
  import {
141
142
  ProjectRootMissingError,
142
143
  folderGone,
@@ -173,7 +174,7 @@ import {
173
174
  simple
174
175
  } from "./chunk-TYXH3EKP.js";
175
176
 
176
- // ../studio-server/dist/chunk-6RICWA3B.js
177
+ // ../studio-server/dist/chunk-47NKWXAA.js
177
178
  import { createHash } from "crypto";
178
179
  import { closeSync, constants, fstatSync, openSync, readFileSync, writeFileSync } from "fs";
179
180
  import { dirname, join } from "path";
@@ -239,7 +240,7 @@ function stampFileHfIds(filePath) {
239
240
  try {
240
241
  if (!fstatSync(fd).isFile()) return null;
241
242
  const html = readFileSync(fd, "utf-8");
242
- const normalized = ensureHfIds(html);
243
+ const normalized = stampHfIdsInPlace(html);
243
244
  const idsBefore = (html.match(/\bdata-hf-id=/g) ?? []).length;
244
245
  const idsAfter = (normalized.match(/\bdata-hf-id=/g) ?? []).length;
245
246
  if (writable && idsAfter > idsBefore) {
@@ -303,7 +304,7 @@ function clearElementScreenshotIsolation() {
303
304
  page.__hfThumbnailFaded = [];
304
305
  }
305
306
 
306
- // ../studio-server/dist/chunk-RHYH6YOX.js
307
+ // ../studio-server/dist/chunk-KJZ6WB6Z.js
307
308
  import { resolve } from "path";
308
309
  function isAutoProxyEnabled(adapter) {
309
310
  return adapter.autoProxy !== false;
@@ -5492,7 +5493,7 @@ async function prepareGsapMutationScript(c, res, firstMutation) {
5492
5493
  let block = extractGsapScriptBlock(html);
5493
5494
  if (!block && (firstMutation.type === "add" || firstMutation.type === "add-with-keyframes")) {
5494
5495
  const compId = html.match(/data-composition-id="([^"]+)"/)?.[1] ?? "main";
5495
- const { GSAP_CDN } = await import("./dist-SKUIM4QJ.js");
5496
+ const { GSAP_CDN } = await import("./dist-SVTSOG4Q.js");
5496
5497
  const bootstrap = [
5497
5498
  `<script src="${GSAP_CDN}"></script>`,
5498
5499
  "<script>",
@@ -9,11 +9,11 @@ import {
9
9
  formatPreviewProxyBox,
10
10
  hdrToSdrToneMapFilter,
11
11
  parseFirstFrameColour
12
- } from "./chunk-3THJEW7G.js";
12
+ } from "./chunk-SGIZMTWO.js";
13
13
  import {
14
14
  decodeAuthoredAttribute,
15
15
  scanHtmlOpeningTags
16
- } from "./chunk-VYKPBRCB.js";
16
+ } from "./chunk-ALLKNYC3.js";
17
17
  import {
18
18
  mkdirWithinProject,
19
19
  realProjectRoot,
@@ -32,7 +32,7 @@ import {
32
32
  rewriteAssetPath
33
33
  } from "./chunk-BSQ7XANM.js";
34
34
 
35
- // ../studio-server/dist/chunk-FKJBNFWA.js
35
+ // ../studio-server/dist/chunk-EZMTFRUX.js
36
36
  import { statSync } from "fs";
37
37
  import { sep } from "path";
38
38
  import { execFile } from "child_process";
@@ -174,6 +174,7 @@ var BROWSER_HOSTILE_CODECS = {
174
174
  // Windows/Linux and Firefox everywhere need the substitute.
175
175
  hevc: { representativeMime: 'video/mp4; codecs="hvc1.1.6.L120.B0"', prewarm: true },
176
176
  prores: { representativeMime: null, prewarm: true },
177
+ theora: { representativeMime: 'video/ogg; codecs="theora"', prewarm: true },
177
178
  // Every mainstream engine decodes AV1 and VP9, so canPlayType keeps the
178
179
  // original and only the rare browser that cannot pays for a transcode.
179
180
  av1: { representativeMime: 'video/mp4; codecs="av01.0.08M.08"', prewarm: false },
@@ -336,7 +337,7 @@ async function scanProjectMediaCodecMap(projectDir, htmlSources, options = {}) {
336
337
  return map;
337
338
  }
338
339
 
339
- // ../studio-server/dist/chunk-JTPV2T3F.js
340
+ // ../studio-server/dist/chunk-XRUVTG5G.js
340
341
  import { spawn } from "child_process";
341
342
  import { createHash, randomUUID } from "crypto";
342
343
  import { existsSync as existsSync2, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, utimesSync } from "fs";
@@ -6,24 +6,24 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  serveStaticProjectHtml
9
- } from "./chunk-DRNTIYT3.js";
9
+ } from "./chunk-4R6OZQGX.js";
10
10
  import {
11
11
  AUDIT_SEEK_OPTIONS,
12
12
  installPageFunctionGuard,
13
13
  seekCompositionTimeline,
14
14
  waitForCompositionFonts,
15
15
  waitForRuntimeReady
16
- } from "./chunk-MBE4SEL7.js";
16
+ } from "./chunk-7FGHFHWD.js";
17
17
  import {
18
18
  launchManagedBrowser,
19
19
  resolveManagedGpuMode
20
- } from "./chunk-VPOEKLZL.js";
20
+ } from "./chunk-LAAGHMRC.js";
21
21
  import {
22
22
  resolveDiagnosticNavigationTimeoutMs
23
- } from "./chunk-SNMMFFKZ.js";
23
+ } from "./chunk-J7WFHOCW.js";
24
24
  import {
25
25
  resolveProject
26
- } from "./chunk-DDK6E66K.js";
26
+ } from "./chunk-L6AJC7UQ.js";
27
27
  import {
28
28
  defineCommand
29
29
  } from "./chunk-S3S4TGEH.js";
@@ -37,7 +37,7 @@ import {
37
37
  import {
38
38
  printDeprecationNotice,
39
39
  withMeta
40
- } from "./chunk-COBIO7VC.js";
40
+ } from "./chunk-QH2PL6J4.js";
41
41
  import {
42
42
  normalizeErrorMessage
43
43
  } from "./chunk-KNU5COPB.js";
@@ -150,6 +150,7 @@ var PERSISTENCE_TIERED_CODES = /* @__PURE__ */ new Set([
150
150
  "canvas_overflow",
151
151
  "container_overflow",
152
152
  "content_overlap",
153
+ "visibility_escapes_segment",
153
154
  "text_occluded",
154
155
  "escaped_container",
155
156
  "panel_out_of_canvas",
@@ -707,7 +708,7 @@ async function collectTweenBoundaries(page) {
707
708
  });
708
709
  }
709
710
  async function bundleProjectHtml(projectDir) {
710
- const { bundleToSingleHtml } = await import("./compiler-JPA25IUF.js");
711
+ const { bundleToSingleHtml } = await import("./compiler-VFJVUZWR.js");
711
712
  return bundleToSingleHtml(projectDir);
712
713
  }
713
714
  async function alignViewportToComposition(page, url) {
@@ -729,13 +730,13 @@ async function alignViewportToComposition(page, url) {
729
730
  async function runLayoutAudit(projectDir, opts) {
730
731
  const { ensureBrowser } = await import("./manager-ZLJD3EAY.js");
731
732
  const puppeteer = await import("puppeteer-core");
732
- const { buildChromeArgs } = await import("./src-HJ2NF55P.js");
733
+ const { buildChromeArgs } = await import("./src-NDI4KNT3.js");
733
734
  const {
734
735
  assertWebGpuAdapterAvailable,
735
736
  compositionRequiresWebGpu,
736
737
  resolveLocalBrowserGpuMode,
737
738
  resolveLocalWebGpu
738
- } = await import("./gpuPolicy-SWCZJRZR.js");
739
+ } = await import("./gpuPolicy-VXNJ4UBN.js");
739
740
  const html = await bundleProjectHtml(projectDir);
740
741
  const server = await serveStaticProjectHtml(
741
742
  projectDir,
@@ -11,12 +11,12 @@ import {
11
11
  iterateFontFamilyDeclarations,
12
12
  normalizeSystemFontPrimaryFamilies,
13
13
  resolveFontFamilyDeclarationFamilies
14
- } from "./chunk-U3BCDVZO.js";
14
+ } from "./chunk-3QATT3QF.js";
15
15
  import {
16
16
  EncoderInterruptedError,
17
17
  encoderFailureError,
18
18
  prepareAnimatedGifInputs
19
- } from "./chunk-LJHF4SKT.js";
19
+ } from "./chunk-T76NSAXO.js";
20
20
  import {
21
21
  parseEncoderOptions
22
22
  } from "./chunk-KLIKCX6Q.js";
@@ -150,7 +150,7 @@ import {
150
150
  validateEngineConfigSnapshot,
151
151
  verifyDiskDrawElementSamples,
152
152
  writeCapturedFrame
153
- } from "./chunk-YUTUYCGK.js";
153
+ } from "./chunk-IRRRH66M.js";
154
154
  import {
155
155
  assignBundledRuntimeCompositionIds,
156
156
  buildVariablesByCompScript,
@@ -163,7 +163,7 @@ import {
163
163
  isTemplateEntry,
164
164
  parsesAsScript,
165
165
  prepareFlattenedInnerRoot
166
- } from "./chunk-2K5YII2L.js";
166
+ } from "./chunk-FJT35XBA.js";
167
167
  import {
168
168
  LOW_MEMORY_TOTAL_MB_THRESHOLD,
169
169
  getCgroupMemoryLimitMb,
@@ -187,7 +187,7 @@ import {
187
187
  resolveAbsoluteMediaStartSeconds,
188
188
  resolveAuthoredTimingWindow,
189
189
  toFps
190
- } from "./chunk-3THJEW7G.js";
190
+ } from "./chunk-SGIZMTWO.js";
191
191
  import {
192
192
  COMPOSITION_SOURCE_URL,
193
193
  HF_COLOR_GRADING_ATTR,
@@ -215,7 +215,7 @@ import {
215
215
  shouldClampResolvedMediaDuration,
216
216
  sourceTimeAt,
217
217
  styleElementsFor
218
- } from "./chunk-OE4WEQMH.js";
218
+ } from "./chunk-LPOTN5GW.js";
219
219
  import {
220
220
  MAX_AUDIO_GAIN
221
221
  } from "./chunk-UJKQWGFF.js";
@@ -229,7 +229,7 @@ import {
229
229
  isAspectAgnosticResolutionAlias,
230
230
  normalizeResolutionFlag,
231
231
  suggestMatchingPreset
232
- } from "./chunk-VYKPBRCB.js";
232
+ } from "./chunk-ALLKNYC3.js";
233
233
  import {
234
234
  redactKnownPaths,
235
235
  redactTelemetryString
@@ -239,7 +239,7 @@ import {
239
239
  } from "./chunk-TWWSYAKJ.js";
240
240
  import {
241
241
  lintHyperframeHtml
242
- } from "./chunk-YOEGUBBY.js";
242
+ } from "./chunk-7F3B5YYT.js";
243
243
  import {
244
244
  isUnresolvedAssetPlaceholder,
245
245
  readProjectFile,
@@ -6571,7 +6571,7 @@ async function readLocalFont(absPath) {
6571
6571
  return { kind: "inline", buffer: Buffer.concat(chunks, totalBytes) };
6572
6572
  }
6573
6573
  async function embedLocalFontFaces(html, projectDir) {
6574
- const { fontToDataUri: toDataUri } = await import("./deterministicFonts-EOMDR6ZF.js");
6574
+ const { fontToDataUri: toDataUri } = await import("./deterministicFonts-LNNVHVS2.js");
6575
6575
  const styleBlockRe = /<style\b[^>]*>([\s\S]*?)<\/style>/gi;
6576
6576
  const fontFaceRe = /@font-face\s*\{([^}]*)\}/gi;
6577
6577
  let result = html;
@@ -14416,7 +14416,7 @@ function startServer(options = {}) {
14416
14416
  });
14417
14417
  async function shutdown(signal) {
14418
14418
  log.info(`Received ${signal}, shutting down`);
14419
- const { drainBrowserPool } = await import("./src-HJ2NF55P.js");
14419
+ const { drainBrowserPool } = await import("./src-NDI4KNT3.js");
14420
14420
  await drainBrowserPool().catch(() => {
14421
14421
  });
14422
14422
  const handle = await Promise.race([
@@ -15602,7 +15602,7 @@ async function buildLocalExecutionPlan(projectDir, config, executionPlanDir, opt
15602
15602
  if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
15603
15603
  if (probeResult.probeSession) {
15604
15604
  try {
15605
- const { closeCaptureSession: closeCaptureSession2 } = await import("./src-HJ2NF55P.js");
15605
+ const { closeCaptureSession: closeCaptureSession2 } = await import("./src-NDI4KNT3.js");
15606
15606
  await closeCaptureSession2(probeResult.probeSession);
15607
15607
  } catch (err) {
15608
15608
  log.warn("[plan] probe session close failed", {
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-AWDFDFI3.js";
15
15
  import {
16
16
  isBlockedNetworkHost
17
- } from "./chunk-YUTUYCGK.js";
17
+ } from "./chunk-IRRRH66M.js";
18
18
  import {
19
19
  DOMParser,
20
20
  parseHTML
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  VERSION
9
- } from "./chunk-SO44ETGW.js";
9
+ } from "./chunk-RU6AIVON.js";
10
10
 
11
11
  // src/registry/compatibility.ts
12
12
  import { compareVersions } from "compare-versions";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  ensureHfIds
9
- } from "./chunk-NE55C6S5.js";
9
+ } from "./chunk-KCF6GHJP.js";
10
10
  import {
11
11
  HF_AUDIO_FX_ATTR,
12
12
  HF_COLOR_GRADING_ATTR,
@@ -39,7 +39,7 @@ import {
39
39
  stripEmbeddedRuntimeScripts,
40
40
  styleElementsFor,
41
41
  warnUnknownEnumValues
42
- } from "./chunk-OE4WEQMH.js";
42
+ } from "./chunk-LPOTN5GW.js";
43
43
  import {
44
44
  cssVariableName
45
45
  } from "./chunk-VC76R6W2.js";
@@ -49,7 +49,7 @@ import {
49
49
  } from "./chunk-OFQWTKPW.js";
50
50
  import {
51
51
  lintHyperframeHtml
52
- } from "./chunk-YOEGUBBY.js";
52
+ } from "./chunk-7F3B5YYT.js";
53
53
  import {
54
54
  checkSubCompositionUsability,
55
55
  resolveSubCompositionContent
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-HVW7ABXD.js";
13
13
  import {
14
14
  DEFAULT_REGISTRY_URL
15
- } from "./chunk-YLSSI4XB.js";
15
+ } from "./chunk-QRPYTJBW.js";
16
16
 
17
17
  // src/utils/projectConfig.ts
18
18
  import { readFileSync, writeFileSync } from "fs";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-VWG7OQKU.js";
10
10
  import {
11
11
  getSystemMeta
12
- } from "./chunk-7FFGZC2X.js";
12
+ } from "./chunk-QWQ6GQTI.js";
13
13
  import {
14
14
  getInvocationId
15
15
  } from "./chunk-54HJ63Q2.js";
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-XUXGIA7H.js";
30
30
  import {
31
31
  VERSION
32
- } from "./chunk-SO44ETGW.js";
32
+ } from "./chunk-RU6AIVON.js";
33
33
  import {
34
34
  CANARIES,
35
35
  canaryEnvVar,