hyperframes 0.8.193 → 0.8.194

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/dist/{add-JC6DKZKC.js → add-47UAIWY4.js} +12 -12
  2. package/dist/{animatedGifPrep-S6KXJGEL.js → animatedGifPrep-TFSQZWK6.js} +8 -7
  3. package/dist/api.js +18 -17
  4. package/dist/{asset-XITFIFE6.js → asset-AU7PZHXA.js} +2 -2
  5. package/dist/{assetCataloger-K5FNKG35.js → assetCataloger-HC5N6WPT.js} +8 -7
  6. package/dist/{audio-364UHTY4.js → audio-7AWMZWBM.js} +14 -13
  7. package/dist/{auth-5JEESRE6.js → auth-GXH3QNDJ.js} +1 -1
  8. package/dist/{autoUpdate-RVVYEHAA.js → autoUpdate-GVGP5O2I.js} +2 -2
  9. package/dist/{backgroundChecks-DCBIYWIQ.js → backgroundChecks-IUJM2Q35.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-ZZ4QMBAA.js → batchRender-3XS2Y2Y4.js} +4 -4
  12. package/dist/{beats-YEL65M6G.js → beats-U64B4S7Z.js} +9 -9
  13. package/dist/{benchmark-RBTRPA76.js → benchmark-2YUPAI76.js} +9 -9
  14. package/dist/{browser-BVAYXT4R.js → browser-DBFH7KXM.js} +5 -5
  15. package/dist/{bundleWithLocalizedFonts-JLB2OYMT.js → bundleWithLocalizedFonts-XWL7KSQJ.js} +2 -2
  16. package/dist/{capture-NIFX6IRS.js → capture-E4VW75NM.js} +2 -2
  17. package/dist/{capture-GBXTMYLZ.js → capture-YWH7BPBI.js} +13 -12
  18. package/dist/{captureCompositionFrame-ATNNKUL5.js → captureCompositionFrame-IG6S2OHG.js} +13 -12
  19. package/dist/{catalog-AGIF5SM5.js → catalog-LZIZLZ34.js} +12 -12
  20. package/dist/{catch-up-SZ3ULDTI.js → catch-up-ZVNPIACY.js} +4 -4
  21. package/dist/{check-YLQS3TF4.js → check-EKEOD4UM.js} +38 -37
  22. package/dist/{checkBrowser-QH4FMCBO.js → checkBrowser-MYH6HPHH.js} +33 -32
  23. package/dist/{chunk-ZT45TCY3.js → chunk-2AJU7PZ6.js} +1 -1
  24. package/dist/chunk-2D5WP2NI.js +3901 -0
  25. package/dist/{chunk-FBVUAH7N.js → chunk-2OYYNKJ4.js} +1 -1
  26. package/dist/{chunk-DSQ72G5I.js → chunk-37IHQVNQ.js} +1 -1
  27. package/dist/{chunk-AR3DQYRR.js → chunk-3OSBSUN3.js} +18 -18
  28. package/dist/{chunk-2SFDWMSW.js → chunk-3S3CXF4W.js} +2 -2
  29. package/dist/{chunk-TY3LDJA3.js → chunk-452UK7E7.js} +2 -2
  30. package/dist/{chunk-OFYW4J7Y.js → chunk-4FVNEXSV.js} +3 -3
  31. package/dist/{chunk-CGTZOY53.js → chunk-4GMDL4N5.js} +1 -1
  32. package/dist/{chunk-4PPWAQYV.js → chunk-4PIPQPCW.js} +7 -7
  33. package/dist/{chunk-BP4EMEGH.js → chunk-4VSV56F2.js} +2 -2
  34. package/dist/{chunk-L4JB7LI4.js → chunk-52YJKWV3.js} +67 -60
  35. package/dist/{chunk-ZZPBXRYQ.js → chunk-54PZ2EQZ.js} +1 -1
  36. package/dist/{chunk-6XUJVEY2.js → chunk-B3GG3HJB.js} +1 -1
  37. package/dist/{chunk-2MCXIY4B.js → chunk-B7RJV74O.js} +28 -11
  38. package/dist/{chunk-MFUNDJEV.js → chunk-BK5YCT54.js} +3 -3
  39. package/dist/{chunk-RWGASWT7.js → chunk-BL4U6U52.js} +1 -0
  40. package/dist/{chunk-QKX7ITER.js → chunk-BYADARIC.js} +2 -2
  41. package/dist/{chunk-WIVOXGEP.js → chunk-CEUBYYVJ.js} +2 -2
  42. package/dist/{chunk-UIC7B5KW.js → chunk-CEZH4AQT.js} +12 -2
  43. package/dist/{chunk-BY6OQ6XP.js → chunk-CZNSLFYD.js} +3 -1
  44. package/dist/{chunk-E77ALFLW.js → chunk-DT3JESJ6.js} +1 -1
  45. package/dist/{chunk-ZTKFRXJB.js → chunk-DVQDBWQG.js} +4 -4
  46. package/dist/{chunk-L5YLA54L.js → chunk-EB3XXHNO.js} +2 -2
  47. package/dist/{chunk-LFUVTS6V.js → chunk-EY7GKVPS.js} +2 -2
  48. package/dist/{chunk-KU3UFQN7.js → chunk-F2ASNL2K.js} +1 -1
  49. package/dist/{chunk-ZH7J2ZUL.js → chunk-F3B7CE3Q.js} +14 -14
  50. package/dist/{chunk-E3P3LJG6.js → chunk-FLREUEHW.js} +28 -11
  51. package/dist/{chunk-VW63MHQU.js → chunk-FUA22HO4.js} +1 -1
  52. package/dist/{chunk-3W4B6G7Y.js → chunk-GAFEU6AB.js} +13 -10
  53. package/dist/{chunk-DIKAPMMF.js → chunk-GQVTTWZF.js} +144 -39
  54. package/dist/{chunk-2LSCYS2H.js → chunk-HCLBM2LQ.js} +2 -2
  55. package/dist/{chunk-GR5DQKDR.js → chunk-HG5ECUOR.js} +5 -5
  56. package/dist/{chunk-2NERNYCJ.js → chunk-HPGQPRHY.js} +3 -3
  57. package/dist/{chunk-SOY2FPOR.js → chunk-HQD7ODQB.js} +5 -5
  58. package/dist/{chunk-XQPA4W3M.js → chunk-JU4T4VAA.js} +4 -4
  59. package/dist/{chunk-7HTH5PFK.js → chunk-JVTWX5G3.js} +33 -8
  60. package/dist/{chunk-UNATIAOT.js → chunk-JXTPNUSO.js} +83 -51
  61. package/dist/{chunk-2VXY3PEF.js → chunk-K2VXPQKC.js} +107 -94
  62. package/dist/chunk-K4MJX7SR.js +17 -0
  63. package/dist/{chunk-BJAS2JLW.js → chunk-KDEV5RIE.js} +7 -3
  64. package/dist/{chunk-WFS6S65A.js → chunk-LMIDZIW2.js} +12 -12
  65. package/dist/{chunk-5J6TWLFG.js → chunk-LOGKDQ3G.js} +3 -3
  66. package/dist/{chunk-IW5G323T.js → chunk-LTGTN2TH.js} +8 -9
  67. package/dist/{chunk-F5LLORBP.js → chunk-LZ4WPR3B.js} +2 -2
  68. package/dist/{chunk-7QNIXBQD.js → chunk-M2VXARYK.js} +3 -2
  69. package/dist/{chunk-7YSFE4SZ.js → chunk-MCFPMUMT.js} +2 -2
  70. package/dist/{chunk-YS4JUGNI.js → chunk-MGSNFWGR.js} +2 -2
  71. package/dist/{chunk-V7ZA2BNW.js → chunk-MO6RTNYD.js} +1 -1
  72. package/dist/{chunk-OFV3WSOE.js → chunk-N33FO44R.js} +1 -1
  73. package/dist/{chunk-GKHMSSGY.js → chunk-N3M3IU6S.js} +1 -1
  74. package/dist/{chunk-6LWUPIKD.js → chunk-NVVIFW3C.js} +10 -10
  75. package/dist/{chunk-4LXZJIVY.js → chunk-O2ILONGK.js} +10 -10
  76. package/dist/{chunk-C4Y3ZREE.js → chunk-OJNNKHAZ.js} +75 -22
  77. package/dist/{chunk-UB7BIDBS.js → chunk-PEHST4UY.js} +3 -3
  78. package/dist/{chunk-RTLPWOO6.js → chunk-POFJH2IS.js} +1 -1
  79. package/dist/{chunk-7YKJF5JV.js → chunk-PXK3ICU6.js} +1 -1
  80. package/dist/{chunk-M3KZBDPB.js → chunk-Q4HKC3O7.js} +3 -3
  81. package/dist/{chunk-X5CECNCK.js → chunk-QJQTWTM7.js} +8 -3
  82. package/dist/{chunk-QFPBRZJD.js → chunk-ROEW726S.js} +1 -1
  83. package/dist/{chunk-D625D4TV.js → chunk-RUPGFW5B.js} +6 -6
  84. package/dist/{chunk-EFXMETRK.js → chunk-RZWJJCI7.js} +2 -2
  85. package/dist/{chunk-TZEKVLPV.js → chunk-SNECH6QA.js} +1 -1
  86. package/dist/{chunk-REUL2KH2.js → chunk-ST35C4K6.js} +1 -1
  87. package/dist/{chunk-LMNZLZMJ.js → chunk-ST4SHO3S.js} +1 -1
  88. package/dist/{chunk-6DLCOQR4.js → chunk-TDYKVJTU.js} +119 -34
  89. package/dist/{chunk-4TKJWWPL.js → chunk-VHIBBDEI.js} +1 -1
  90. package/dist/{chunk-VPC4XIVI.js → chunk-VPON6DF2.js} +5 -5
  91. package/dist/{chunk-DYNHVCBF.js → chunk-XYGULBFV.js} +2 -2
  92. package/dist/{chunk-VLLFORE2.js → chunk-Y3BT27Y7.js} +1 -1
  93. package/dist/{clean-5HGESK5A.js → clean-NS2SDRK7.js} +21 -20
  94. package/dist/cli.js +53 -53
  95. package/dist/{cloud-746PHS32.js → cloud-K4XQPWTY.js} +4 -4
  96. package/dist/{cloudrun-DO7WFLSM.js → cloudrun-BKOKXTXV.js} +6 -6
  97. package/dist/{compare-66YPRNG2.js → compare-ZAV773OL.js} +31 -30
  98. package/dist/{compiler-R4UYDWXO.js → compiler-CWHFCE3H.js} +5 -5
  99. package/dist/{component-EQ3H6RFP.js → component-OXA2ZWX3.js} +3 -3
  100. package/dist/{compositions-ZZ7P5HT2.js → compositions-NKRVWCPE.js} +12 -11
  101. package/dist/{contactSheet-SZBJDOMT.js → contactSheet-5APX35L3.js} +1 -1
  102. package/dist/{delete-Z5MSLJSR.js → delete-HZ2LBCLC.js} +2 -2
  103. package/dist/{deploy-RGSAC2K5.js → deploy-FNDTZFF7.js} +1 -1
  104. package/dist/{deterministicFonts-RO2TCMLZ.js → deterministicFonts-RADD3BSX.js} +2 -2
  105. package/dist/{dist-RKK4YLAD.js → dist-2YTN2UGY.js} +3 -3
  106. package/dist/{dist-QQ26RUDV.js → dist-7OCZHNLY.js} +1 -1
  107. package/dist/{doctor-W4ZZDRTU.js → doctor-6QWJGO5P.js} +14 -13
  108. package/dist/{events-UACT7PX3.js → events-HTHOBIUN.js} +3 -3
  109. package/dist/{events-BSSL4A4W.js → events-MBKHVGXX.js} +2 -2
  110. package/dist/{feedback-47ILDLQG.js → feedback-X5QWTLEX.js} +8 -8
  111. package/dist/{ffmpeg-IEHSUNUT.js → ffmpeg-7GESJCCT.js} +9 -8
  112. package/dist/{figma-PLFIIYRU.js → figma-SXOHFVJI.js} +3 -3
  113. package/dist/fontLocalizeCli.js +11 -10
  114. package/dist/{get-PDWGJYNL.js → get-T2HI5FCK.js} +2 -2
  115. package/dist/{gpuPolicy-6UBXO6ME.js → gpuPolicy-5FABKW5G.js} +8 -7
  116. package/dist/{grade-compare-5VWLQGM7.js → grade-compare-JATGHA6Q.js} +37 -35
  117. package/dist/{gsapParser-UP3PNPC2.js → gsapParser-IEUSLYDJ.js} +11 -11
  118. package/dist/{gsapParserAcorn-OOTY2MVN.js → gsapParserAcorn-LZJKCFQI.js} +1 -1
  119. package/dist/{help-DS3KMWYO.js → help-G6CIKCGS.js} +1 -1
  120. package/dist/{history-OC326NVZ.js → history-CSJUHYTD.js} +7 -7
  121. package/dist/hyperframe.manifest.json +1 -1
  122. package/dist/hyperframe.runtime.iife.js +69 -63
  123. package/dist/hyperframes-player.global.js +3 -3
  124. package/dist/hyperframes-slideshow.global.js +1 -1
  125. package/dist/{info-AUIFV6MX.js → info-MTTUMW2C.js} +8 -8
  126. package/dist/{init-MRTWWDFW.js → init-LJYNI5EK.js} +30 -29
  127. package/dist/{inspect-55NOAXI2.js → inspect-HGDM2VJE.js} +31 -30
  128. package/dist/{installer-YSFFGBBV.js → installer-3XHURUDG.js} +5 -5
  129. package/dist/{keyframes-OO2BX2IB.js → keyframes-MSU7N53X.js} +59 -33
  130. package/dist/{lambda-CXXY6QT3.js → lambda-2I2TIUSD.js} +8 -8
  131. package/dist/{layout-57GJXKDK.js → layout-KWOXZMN7.js} +31 -30
  132. package/dist/{lint-J4FK3Z6G.js → lint-N53TLHFG.js} +7 -7
  133. package/dist/{lintProject-52SLJPRC.js → lintProject-EOUZA4EG.js} +1 -1
  134. package/dist/{list-VDQUJ76B.js → list-SHYPQC7U.js} +2 -2
  135. package/dist/{login-TJSEALWW.js → login-TEB6PA3Y.js} +4 -4
  136. package/dist/{manager-MZIJY73J.js → manager-COSJVRAE.js} +2 -2
  137. package/dist/{manager-4PLYEEWP.js → manager-PLRSZH5G.js} +10 -9
  138. package/dist/{media-treatment-GXP4PMJH.js → media-treatment-XTUKMIGE.js} +15 -14
  139. package/dist/{models-HQQQKEEP.js → models-4WKAPP2L.js} +14 -13
  140. package/dist/{motionShot-2BT5D7DC.js → motionShot-PTKB4ILH.js} +17 -16
  141. package/dist/{normalize-audio-SOLFMHNP.js → normalize-audio-3NG326I2.js} +6 -6
  142. package/dist/{open-KHEUODFQ.js → open-6S2LMF7R.js} +12 -12
  143. package/dist/{parakeetRunner-BHU5NCAX.js → parakeetRunner-OEI35DVO.js} +15 -14
  144. package/dist/{pipeline-WFV5HDTD.js → pipeline-543FUKH4.js} +10 -9
  145. package/dist/{play-GB34CANJ.js → play-ETEGHP3B.js} +21 -21
  146. package/dist/{preflight-REF3VSJ7.js → preflight-Y5IYUF2T.js} +11 -10
  147. package/dist/{present-SIUTA7TD.js → present-ZRSLMJ6J.js} +17 -17
  148. package/dist/{preview-T2GE7Z4A.js → preview-CEJ3SVTY.js} +100 -65
  149. package/dist/{producer-23KVQZAB.js → producer-JFVFIV26.js} +1 -1
  150. package/dist/{projectConfig-DBSNBPNP.js → projectConfig-7EK3BS72.js} +7 -7
  151. package/dist/{publication-IXPUKYWJ.js → publication-Y54GYFMV.js} +3 -3
  152. package/dist/{publish-3BA5VHXJ.js → publish-S3UJTPCV.js} +10 -10
  153. package/dist/{remove-background-RMSCJVVQ.js → remove-background-YTATNQSI.js} +11 -10
  154. package/dist/{render-XGOZMMWX.js → render-IIPXMSBO.js} +35 -34
  155. package/dist/{render-6RNE2MLU.js → render-RN3W6YL4.js} +17 -16
  156. package/dist/{render-Y6CTQ3YW.js → render-WNIG4B3J.js} +6 -6
  157. package/dist/{render-batch-VUR6N6EY.js → render-batch-OYS3UQDB.js} +6 -6
  158. package/dist/renderSetupWorker.js +42 -4
  159. package/dist/{resolver-GJCUH57W.js → resolver-OVCXVEDX.js} +5 -5
  160. package/dist/{sherpa-VVAKRCPL.js → sherpa-NCSFD7S3.js} +14 -13
  161. package/dist/skills/media-use/scripts/lib/duck.mjs +18 -2
  162. package/dist/skills/media-use/scripts/lib/duck.test.mjs +79 -0
  163. package/dist/{skills-ZHBURVQG.js → skills-IUV3K3X7.js} +5 -5
  164. package/dist/{skillsUpdateCheck-VMDAL2O2.js → skillsUpdateCheck-NACBXMWW.js} +3 -3
  165. package/dist/{snapshot-KEOG56SL.js → snapshot-7S5USJ2I.js} +39 -38
  166. package/dist/{src-TZLGFRRX.js → src-CAR6PHI4.js} +10 -9
  167. package/dist/{src-BH5NICGQ.js → src-HITT6NWG.js} +9 -6
  168. package/dist/{staticProjectServer-BKXL5CXB.js → staticProjectServer-QR6VZBPT.js} +18 -18
  169. package/dist/studio/assets/{hyperframes-player-BMcUdmDb.js → hyperframes-player-DLOUZUct.js} +1 -1
  170. package/dist/studio/assets/{index-Ca-mgTnS.js → index-CAQ7OcNJ.js} +163 -163
  171. package/dist/studio/assets/{index-Ci6GuloR.js → index-D9kA6JUX.js} +1 -1
  172. package/dist/studio/index.html +1 -1
  173. package/dist/{studio-api-A5U6QAMC.js → studio-api-HVNOJILH.js} +11 -11
  174. package/dist/{studioServer-5EC5CP4W.js → studioServer-3BG5FRJL.js} +53 -52
  175. package/dist/{telemetry-BCKJXDSW.js → telemetry-PET2GFQG.js} +3 -3
  176. package/dist/{timeline-AZWAXTAY.js → timeline-PVIC2Z5K.js} +20 -19
  177. package/dist/{tokens-X7NC3V7C.js → tokens-4N46PWSF.js} +2 -2
  178. package/dist/{transcribe-SH26H755.js → transcribe-2DVBS7MH.js} +19 -18
  179. package/dist/{transcribe-7NCY7QZ2.js → transcribe-IDC7JTM4.js} +13 -12
  180. package/dist/{updateCheck-Y7FUWQM4.js → updateCheck-QRDVXU7I.js} +2 -2
  181. package/dist/{upgrade-ZHGEVL65.js → upgrade-5CNE3TBH.js} +2 -2
  182. package/dist/{urlDownloader-FPILIT7M.js → urlDownloader-P2I25DFC.js} +7 -6
  183. package/dist/{validate-KQOZR4F6.js → validate-CLR5PEOV.js} +25 -24
  184. package/dist/{video-N2QAETFB.js → video-3CKZZBOB.js} +8 -7
  185. package/dist/warmCheck.js +38 -37
  186. package/package.json +1 -1
  187. package/dist/chunk-USWPZXEA.js +0 -3897
@@ -3714,7 +3714,8 @@ var require_dist = __commonJS({
3714
3714
  import { parse } from "acorn";
3715
3715
  var import_postcss_selector_parser = __toESM(require_dist(), 1);
3716
3716
  import postcss from "postcss";
3717
- import { parse as parse2 } from "acorn";
3717
+ import { parse as parse2, parseExpressionAt } from "acorn";
3718
+ import { parse as parse3 } from "acorn";
3718
3719
  import postcss2 from "postcss";
3719
3720
  import postcss3 from "postcss";
3720
3721
 
@@ -3753,7 +3754,6 @@ function trackKindOf(node) {
3753
3754
  }
3754
3755
 
3755
3756
  // ../lint/dist/index.js
3756
- import { parse as parse3, parseExpressionAt } from "acorn";
3757
3757
  import { createHash } from "crypto";
3758
3758
  import { existsSync as existsSync2, readFileSync, readdirSync } from "fs";
3759
3759
  import { dirname as dirname2, extname, join as join3, relative as relative2, resolve } from "path";
@@ -3833,7 +3833,18 @@ function parseStartExpression(raw) {
3833
3833
  offset: reference.operator === "-" ? -reference.magnitude : reference.magnitude
3834
3834
  };
3835
3835
  }
3836
- function findReferenceTargetEl(doc, refId) {
3836
+ function compositionScopeOf(el) {
3837
+ return (el.getAttribute("data-composition-id") !== null ? el.parentElement : el)?.closest?.(
3838
+ "[data-composition-id]"
3839
+ ) ?? null;
3840
+ }
3841
+ function findReferenceTargetEl(doc, refId, from) {
3842
+ const scope = compositionScopeOf(from);
3843
+ if (scope) {
3844
+ for (const candidate of scope.querySelectorAll?.(`[id="${refId}"]`) ?? []) {
3845
+ if (compositionScopeOf(candidate) === scope) return candidate;
3846
+ }
3847
+ }
3837
3848
  return doc.getElementById(refId) ?? doc.querySelector(`[data-composition-id="${refId}"]`);
3838
3849
  }
3839
3850
  function resolveReferencedStart(doc, el, startCache, visiting) {
@@ -3852,7 +3863,7 @@ function resolveReferencedStart(doc, el, startCache, visiting) {
3852
3863
  startCache.set(el, value);
3853
3864
  return value;
3854
3865
  }
3855
- const target = findReferenceTargetEl(doc, expression.refId);
3866
+ const target = findReferenceTargetEl(doc, expression.refId, el);
3856
3867
  if (!target) {
3857
3868
  startCache.set(el, 0);
3858
3869
  return 0;
@@ -4690,11 +4701,96 @@ function buildLintContext(html, options = {}) {
4690
4701
  options
4691
4702
  };
4692
4703
  }
4704
+ var GLSL_SCRIPT_TYPES = /* @__PURE__ */ new Set(["x-shader/x-fragment", "x-shader/x-vertex", "text/glsl"]);
4705
+ function withoutComments(source) {
4706
+ return source.replace(/\/\*[\s\S]*?\*\/|\/\/[^\r\n]*/g, (text) => text.replace(/[^\r\n]/g, " "));
4707
+ }
4708
+ function staticShaders(source) {
4709
+ const shaders = [];
4710
+ try {
4711
+ const ast = parse2(source, {
4712
+ ecmaVersion: "latest",
4713
+ sourceType: "module",
4714
+ allowReturnOutsideFunction: true
4715
+ });
4716
+ simple(ast, {
4717
+ Literal(node) {
4718
+ if (typeof node.value !== "string") return;
4719
+ shaders.push({
4720
+ text: node.value,
4721
+ start: node.start + 1,
4722
+ exactOffsets: source.slice(node.start + 1, node.end - 1) === node.value
4723
+ });
4724
+ },
4725
+ TemplateLiteral(node) {
4726
+ if (node.expressions.length !== 0) return;
4727
+ const value = node.quasis[0]?.value;
4728
+ if (value?.cooked == null) return;
4729
+ shaders.push({
4730
+ text: value.cooked,
4731
+ start: node.start + 1,
4732
+ exactOffsets: source.slice(node.start + 1, node.end - 1) === value.cooked
4733
+ });
4734
+ }
4735
+ });
4736
+ } catch {
4737
+ }
4738
+ return shaders.filter(({ text }) => /\bvoid\s+main\s*\(/.test(withoutComments(text)));
4739
+ }
4740
+ function isNumber(node, value) {
4741
+ return node?.type === "Literal" && node.value === value;
4742
+ }
4743
+ function isCall(node, name) {
4744
+ return node?.type === "CallExpression" && node.callee.type === "Identifier" && node.callee.name === name;
4745
+ }
4746
+ function unboundedCosine(node) {
4747
+ if (node.type !== "CallExpression") return false;
4748
+ if (isCall(node, "dot")) return node.arguments.length === 2;
4749
+ if (!isCall(node, "max") || node.arguments.length !== 2) return false;
4750
+ const a = argumentAt(node, 0);
4751
+ const b = argumentAt(node, 1);
4752
+ return zeroFlooredDot(a, b) || zeroFlooredDot(b, a);
4753
+ }
4754
+ function argumentAt(call, index) {
4755
+ const node = call.arguments[index];
4756
+ return node?.type === "SpreadElement" ? void 0 : node;
4757
+ }
4758
+ function zeroFlooredDot(a, b) {
4759
+ return isCall(a, "dot") && isNumber(b, 0);
4760
+ }
4761
+ function unsafeCosinePower(call) {
4762
+ if (call.arguments.length !== 2) return false;
4763
+ const [base2] = call.arguments;
4764
+ return base2?.type === "BinaryExpression" && base2.operator === "-" && base2.left.type !== "PrivateIdentifier" && isNumber(base2.left, 1) && unboundedCosine(base2.right);
4765
+ }
4766
+ function unsafePowOffsets(source) {
4767
+ const offsets = [];
4768
+ const masked = withoutComments(source);
4769
+ for (const match of masked.matchAll(/\bpow\s*\(/g)) {
4770
+ try {
4771
+ const expression = parseExpressionAt(masked, match.index, { ecmaVersion: "latest" });
4772
+ simple(expression, {
4773
+ CallExpression(node) {
4774
+ if (node.start === match.index && unsafeCosinePower(node)) offsets.push(node.start);
4775
+ }
4776
+ });
4777
+ } catch {
4778
+ }
4779
+ }
4780
+ return offsets;
4781
+ }
4782
+ function shaderDomainOffsets(source, glsl = false) {
4783
+ const shaders = glsl ? [{ text: source, start: 0, exactOffsets: true }] : staticShaders(source);
4784
+ return shaders.flatMap(
4785
+ ({ text, start, exactOffsets }) => unsafePowOffsets(text).map((offset) => exactOffsets ? start + offset : void 0)
4786
+ );
4787
+ }
4693
4788
  var SCRIPT_SYNTAX_EXEMPT_TYPES = /* @__PURE__ */ new Set([
4694
4789
  "application/json",
4695
4790
  "application/hyperframes-slideshow+json",
4696
4791
  "importmap",
4697
- "module"
4792
+ "module",
4793
+ ...GLSL_SCRIPT_TYPES
4698
4794
  ]);
4699
4795
  function repeatedDescendantId(selector) {
4700
4796
  let repeated = null;
@@ -5493,7 +5589,7 @@ function driftingFields(members) {
5493
5589
  return values.some((value) => Math.abs(value - first) > SYNC_TOLERANCE_S);
5494
5590
  }).map(({ field }) => field);
5495
5591
  }
5496
- function compositionScopeOf(tag, compositions) {
5592
+ function compositionScopeOf2(tag, compositions) {
5497
5593
  let scope = -1;
5498
5594
  for (const composition of compositions) {
5499
5595
  const end = composition.endIndex ?? composition.closeIndex ?? Number.POSITIVE_INFINITY;
@@ -5512,7 +5608,7 @@ function groupByLink(tags) {
5512
5608
  for (const tag of tags) {
5513
5609
  const link = readAttr(tag.raw, "data-link");
5514
5610
  if (!link) continue;
5515
- const key = `${compositionScopeOf(tag, compositions)}\0${link}`;
5611
+ const key = `${compositionScopeOf2(tag, compositions)}\0${link}`;
5516
5612
  const group = groups.get(key) ?? { link, members: [] };
5517
5613
  group.members.push(tag);
5518
5614
  groups.set(key, group);
@@ -6442,7 +6538,7 @@ function callsFor(script) {
6442
6538
  if (cached) return cached;
6443
6539
  const calls = [];
6444
6540
  try {
6445
- const ast = parse2(script.content, {
6541
+ const ast = parse3(script.content, {
6446
6542
  ecmaVersion: "latest",
6447
6543
  sourceType: "script",
6448
6544
  allowReturnOutsideFunction: true
@@ -7676,11 +7772,11 @@ function deriveDurationFromClips(tags, rootTag) {
7676
7772
  return resolveCompositionDuration({ authoredDurationSeconds: null, clipEndsSeconds: clipEnds });
7677
7773
  }
7678
7774
  async function loadParseGsapScript() {
7679
- const mod = await import("./gsapParserAcorn-OOTY2MVN.js");
7775
+ const mod = await import("./gsapParserAcorn-LZJKCFQI.js");
7680
7776
  return mod.parseGsapScriptAcorn;
7681
7777
  }
7682
7778
  async function loadGsapScriptMotionPathFirstUseIndex() {
7683
- const mod = await import("./gsapParserAcorn-OOTY2MVN.js");
7779
+ const mod = await import("./gsapParserAcorn-LZJKCFQI.js");
7684
7780
  return mod.gsapScriptMotionPathFirstUseIndex;
7685
7781
  }
7686
7782
  var SCENE_BOUNDARY_EPSILON_SECONDS = 0.05;
@@ -10311,89 +10407,6 @@ var structureRules = [
10311
10407
  return topLevelElements(root).filter((row) => !isSubCompositionHost(row)).flatMap((row) => neverVisibleNestedFindings(row, severity));
10312
10408
  }
10313
10409
  ];
10314
- function withoutComments(source) {
10315
- return source.replace(/\/\*[\s\S]*?\*\/|\/\/[^\r\n]*/g, (text) => text.replace(/[^\r\n]/g, " "));
10316
- }
10317
- function staticShaders(source) {
10318
- const shaders = [];
10319
- try {
10320
- const ast = parse3(source, {
10321
- ecmaVersion: "latest",
10322
- sourceType: "module",
10323
- allowReturnOutsideFunction: true
10324
- });
10325
- simple(ast, {
10326
- Literal(node) {
10327
- if (typeof node.value !== "string") return;
10328
- shaders.push({
10329
- text: node.value,
10330
- start: node.start + 1,
10331
- exactOffsets: source.slice(node.start + 1, node.end - 1) === node.value
10332
- });
10333
- },
10334
- TemplateLiteral(node) {
10335
- if (node.expressions.length !== 0) return;
10336
- const value = node.quasis[0]?.value;
10337
- if (value?.cooked == null) return;
10338
- shaders.push({
10339
- text: value.cooked,
10340
- start: node.start + 1,
10341
- exactOffsets: source.slice(node.start + 1, node.end - 1) === value.cooked
10342
- });
10343
- }
10344
- });
10345
- } catch {
10346
- }
10347
- return shaders.filter(({ text }) => /\bvoid\s+main\s*\(/.test(withoutComments(text)));
10348
- }
10349
- function isNumber(node, value) {
10350
- return node?.type === "Literal" && node.value === value;
10351
- }
10352
- function isCall(node, name) {
10353
- return node?.type === "CallExpression" && node.callee.type === "Identifier" && node.callee.name === name;
10354
- }
10355
- function unboundedCosine(node) {
10356
- if (node.type !== "CallExpression") return false;
10357
- if (isCall(node, "dot")) return node.arguments.length === 2;
10358
- if (!isCall(node, "max") || node.arguments.length !== 2) return false;
10359
- const a = argumentAt(node, 0);
10360
- const b = argumentAt(node, 1);
10361
- return zeroFlooredDot(a, b) || zeroFlooredDot(b, a);
10362
- }
10363
- function argumentAt(call, index) {
10364
- const node = call.arguments[index];
10365
- return node?.type === "SpreadElement" ? void 0 : node;
10366
- }
10367
- function zeroFlooredDot(a, b) {
10368
- return isCall(a, "dot") && isNumber(b, 0);
10369
- }
10370
- function unsafeCosinePower(call) {
10371
- if (call.arguments.length !== 2) return false;
10372
- const [base2] = call.arguments;
10373
- return base2?.type === "BinaryExpression" && base2.operator === "-" && base2.left.type !== "PrivateIdentifier" && isNumber(base2.left, 1) && unboundedCosine(base2.right);
10374
- }
10375
- function unsafePowOffsets(source) {
10376
- const offsets = [];
10377
- const masked = withoutComments(source);
10378
- for (const match of masked.matchAll(/\bpow\s*\(/g)) {
10379
- try {
10380
- const expression = parseExpressionAt(masked, match.index, { ecmaVersion: "latest" });
10381
- simple(expression, {
10382
- CallExpression(node) {
10383
- if (node.start === match.index && unsafeCosinePower(node)) offsets.push(node.start);
10384
- }
10385
- });
10386
- } catch {
10387
- }
10388
- }
10389
- return offsets;
10390
- }
10391
- function shaderDomainOffsets(source, glsl = false) {
10392
- const shaders = glsl ? [{ text: source, start: 0, exactOffsets: true }] : staticShaders(source);
10393
- return shaders.flatMap(
10394
- ({ text, start, exactOffsets }) => unsafePowOffsets(text).map((offset) => exactOffsets ? start + offset : void 0)
10395
- );
10396
- }
10397
10410
  function shaderDomainWarning() {
10398
10411
  return {
10399
10412
  code: "shader_unbounded_cosine_pow",
@@ -10407,7 +10420,7 @@ var shaderRules = [
10407
10420
  const tag = `<script ${script.attrs}>`;
10408
10421
  if (readAttr(tag, "src") !== null) return [];
10409
10422
  const type = readAttr(tag, "type") ?? "";
10410
- const glsl = /^(?:x-shader\/x-(?:fragment|vertex)|text\/glsl)$/i.test(type);
10423
+ const glsl = GLSL_SCRIPT_TYPES.has(type.toLowerCase());
10411
10424
  if (type && !glsl && !/^(?:module|(?:text|application)\/javascript)$/i.test(type)) return [];
10412
10425
  return shaderDomainOffsets(script.content, glsl).map((offset) => ({
10413
10426
  ...shaderDomainWarning(),
@@ -0,0 +1,17 @@
1
+ import { createRequire as __hf_createRequire } from "node:module";
2
+ import { fileURLToPath as __hf_fileURLToPath } from "node:url";
3
+ import { dirname as __hf_dirname } from "node:path";
4
+ var require = __hf_createRequire(import.meta.url);
5
+ var __filename = __hf_fileURLToPath(import.meta.url);
6
+ var __dirname = __hf_dirname(__filename);
7
+
8
+ // ../core/dist/browserMarker.js
9
+ var HYPERFRAMES_BROWSER_MARKER_ARG = "--hyperframes-owned-browser";
10
+ function withHyperframesBrowserMarker(args = []) {
11
+ return args.includes(HYPERFRAMES_BROWSER_MARKER_ARG) ? [...args] : [...args, HYPERFRAMES_BROWSER_MARKER_ARG];
12
+ }
13
+
14
+ export {
15
+ HYPERFRAMES_BROWSER_MARKER_ARG,
16
+ withHyperframesBrowserMarker
17
+ };
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-AWDFDFI3.js";
18
18
  import {
19
19
  isBlockedNetworkHost
20
- } from "./chunk-L4JB7LI4.js";
20
+ } from "./chunk-52YJKWV3.js";
21
21
  import {
22
22
  DOMParser,
23
23
  parseHTML
@@ -981,7 +981,7 @@ async function downloadAndRewriteFonts(css, outputDir, options = {}) {
981
981
  return aLatin - bLatin;
982
982
  });
983
983
  const usedFontNames = /* @__PURE__ */ new Set();
984
- let rewritten = css;
984
+ const localFontPaths = /* @__PURE__ */ new Map();
985
985
  let count = 0;
986
986
  for (const [index, fontUrl] of sortedUrls.entries()) {
987
987
  const remainingMs = options.remainingMs?.() ?? 1e4;
@@ -1014,7 +1014,7 @@ async function downloadAndRewriteFonts(css, outputDir, options = {}) {
1014
1014
  const localPath = join(assetsDir, filename);
1015
1015
  const relativePath = `assets/fonts/${filename}`;
1016
1016
  writeCaptureFileSync(localPath, buffer);
1017
- rewritten = rewritten.split(fontUrl).join(relativePath);
1017
+ localFontPaths.set(fontUrl, relativePath);
1018
1018
  } else {
1019
1019
  drops.unavailable++;
1020
1020
  }
@@ -1022,6 +1022,10 @@ async function downloadAndRewriteFonts(css, outputDir, options = {}) {
1022
1022
  drops.unavailable++;
1023
1023
  }
1024
1024
  }
1025
+ const rewritten = css.replace(fontUrlRegex, (match2, url) => {
1026
+ const localPath = localFontPaths.get(url);
1027
+ return localPath ? match2.replace(url, localPath) : match2;
1028
+ });
1025
1029
  return { css: rewritten, drops };
1026
1030
  }
1027
1031
  function isPrivateUrl(url) {
@@ -7,19 +7,19 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  ambiguousIssue,
9
9
  loadBrowserScript
10
- } from "./chunk-6LWUPIKD.js";
10
+ } from "./chunk-NVVIFW3C.js";
11
11
  import {
12
12
  auditClipDurations,
13
13
  shouldIgnoreHttpError,
14
14
  shouldIgnoreRequestFailure
15
- } from "./chunk-ZH7J2ZUL.js";
15
+ } from "./chunk-F3B7CE3Q.js";
16
16
  import {
17
17
  serveStaticProjectHtml
18
- } from "./chunk-VPC4XIVI.js";
18
+ } from "./chunk-VPON6DF2.js";
19
19
  import {
20
20
  artifactDirectory,
21
21
  finishSnapshotRun
22
- } from "./chunk-C4Y3ZREE.js";
22
+ } from "./chunk-OJNNKHAZ.js";
23
23
  import {
24
24
  FfmpegUnavailableError,
25
25
  decideMediaProxyEligibility,
@@ -27,7 +27,7 @@ import {
27
27
  proxyVariantFor,
28
28
  resolveProxies,
29
29
  scanProjectMediaCodecMap
30
- } from "./chunk-7YSFE4SZ.js";
30
+ } from "./chunk-MCFPMUMT.js";
31
31
  import {
32
32
  AUDIT_SEEK_OPTIONS,
33
33
  DEFAULT_ZOOM_PADDING_PX,
@@ -41,17 +41,17 @@ import {
41
41
  seekCompositionTimeline,
42
42
  seekInPage,
43
43
  waitForPreferredSeekTarget
44
- } from "./chunk-4LXZJIVY.js";
44
+ } from "./chunk-O2ILONGK.js";
45
45
  import {
46
46
  BrowserCleanupError,
47
47
  closeManagedBrowser
48
- } from "./chunk-UIC7B5KW.js";
48
+ } from "./chunk-CEZH4AQT.js";
49
49
  import {
50
50
  findStageProxyBox
51
- } from "./chunk-4TKJWWPL.js";
51
+ } from "./chunk-VHIBBDEI.js";
52
52
  import {
53
53
  resolveAutoProxy
54
- } from "./chunk-6XUJVEY2.js";
54
+ } from "./chunk-B3GG3HJB.js";
55
55
  import {
56
56
  normalizeErrorMessage
57
57
  } from "./chunk-T2EUWCJE.js";
@@ -389,7 +389,7 @@ function proxyFailedDraft(message) {
389
389
  return { code: "media_proxy_failed", severity: "warning", message, time: 0 };
390
390
  }
391
391
  async function runBrowserCheck(project, options, motion, runGrid, deadline, prelaunched) {
392
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-JLB2OYMT.js");
392
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-XWL7KSQJ.js");
393
393
  const html = await bundleWithLocalizedFonts(project.dir);
394
394
  deadline?.enter("copies");
395
395
  const { findings: drafts, failedPaths } = await preResolveHostileMediaProxies(
@@ -442,7 +442,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline, prel
442
442
  ).map((draft) => runtimeFinding(draft, rootAnchor))
443
443
  }));
444
444
  const launchSettleMs = Date.now() - launchSettleStart;
445
- const { analyzeClipMediaFit } = await import("./src-BH5NICGQ.js");
445
+ const { analyzeClipMediaFit } = await import("./src-HITT6NWG.js");
446
446
  for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
447
447
  drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
448
448
  }
@@ -559,7 +559,7 @@ function mergeHelperDrafts(primary, helper) {
559
559
  }
560
560
  async function captureFindingCrops(project, options, requests, deadline) {
561
561
  if (requests.length === 0) return [];
562
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-JLB2OYMT.js");
562
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-XWL7KSQJ.js");
563
563
  const html = await bundleWithLocalizedFonts(project.dir);
564
564
  const server = await serveStaticProjectHtml(
565
565
  project.dir,
@@ -7,10 +7,10 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parseFeedbackRating,
9
9
  trackRenderFeedback
10
- } from "./chunk-RTLPWOO6.js";
10
+ } from "./chunk-POFJH2IS.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-ZZPBXRYQ.js";
13
+ } from "./chunk-54PZ2EQZ.js";
14
14
  import {
15
15
  c
16
16
  } from "./chunk-ZTZA4UWZ.js";
@@ -84,7 +84,7 @@ async function getDoctorSummary() {
84
84
  try {
85
85
  const [{ getSystemMeta }, { findFFmpeg }] = await Promise.all([
86
86
  import("./system-7F3UEHQT.js"),
87
- import("./ffmpeg-IEHSUNUT.js")
87
+ import("./ffmpeg-7GESJCCT.js")
88
88
  ]);
89
89
  const sys = getSystemMeta();
90
90
  const parts = [
@@ -6,7 +6,10 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  runRenderSetupWorker
9
- } from "./chunk-RWGASWT7.js";
9
+ } from "./chunk-BL4U6U52.js";
10
+ import {
11
+ HYPERFRAMES_BROWSER_MARKER_ARG
12
+ } from "./chunk-K4MJX7SR.js";
10
13
  import {
11
14
  terminateProcessTree
12
15
  } from "./chunk-KGPLIH7B.js";
@@ -15,12 +18,8 @@ import {
15
18
  import { execFileSync } from "child_process";
16
19
  import { readFileSync } from "fs";
17
20
  function killOrphanedProcesses() {
18
- if (process.platform === "win32") return 0;
19
- return killOrphansMatching([
20
- "chrome-headless-shell",
21
- "chrome_headless_shell",
22
- "puppeteer_dev_chrome_profile"
23
- ]);
21
+ if (process.env.HYPERFRAMES_NO_ORPHAN_CLEANUP === "1" || process.platform === "win32") return 0;
22
+ return killOrphansMatching(HYPERFRAMES_BROWSER_MARKER_ARG);
24
23
  }
25
24
  async function killOrphanedProcessesForRender(signal) {
26
25
  return runRenderSetupWorker("orphan-cleanup", {}, { signal, timeoutMs: 15e3 });
@@ -162,7 +161,7 @@ function isProcessDescendant(childPid, ancestorPid, parentPid = processParentPid
162
161
  }
163
162
  return false;
164
163
  }
165
- function killOrphansMatching(markers) {
164
+ function killOrphansMatching(marker) {
166
165
  const uid = process.getuid?.();
167
166
  const owner = uid === void 0 ? ["-A"] : ["-U", String(uid)];
168
167
  let table;
@@ -178,7 +177,7 @@ function killOrphansMatching(markers) {
178
177
  for (const line of table.split("\n")) {
179
178
  const match = line.match(/^\s*(\d+)\s+(\d+)\s+(.*)$/);
180
179
  if (!match || match[2] !== "1") continue;
181
- if (!markers.some((marker) => match[3].includes(marker))) continue;
180
+ if (!match[3].split(/\s+/).includes(marker)) continue;
182
181
  killProcessTree(Number(match[1]));
183
182
  killed++;
184
183
  }
@@ -6,11 +6,11 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  withOwner
9
- } from "./chunk-2LSCYS2H.js";
9
+ } from "./chunk-HCLBM2LQ.js";
10
10
  import {
11
11
  HistoryBusyError,
12
12
  beginArtifactCapture
13
- } from "./chunk-C4Y3ZREE.js";
13
+ } from "./chunk-OJNNKHAZ.js";
14
14
 
15
15
  // src/utils/artifactCapture.ts
16
16
  var SKIP_BUSY_HISTORY = { ownerWaitMs: 0 };
@@ -27,7 +27,7 @@ import {
27
27
  } from "./chunk-GMECXFAN.js";
28
28
  import {
29
29
  ITEM_TYPE_DIRS
30
- } from "./chunk-7HTH5PFK.js";
30
+ } from "./chunk-JVTWX5G3.js";
31
31
  import {
32
32
  realProjectRoot
33
33
  } from "./chunk-OFQWTKPW.js";
@@ -2879,7 +2879,8 @@ async function fetchItemManifest(name, type, baseUrl = DEFAULT_REGISTRY_URL, opt
2879
2879
  const url = registryPathUrl(baseUrl, dir, name, "registry-item.json");
2880
2880
  const cacheFile = cachePath(baseUrl, `${dir}__${name}`);
2881
2881
  const cached = readCacheEntry(cacheFile, validate);
2882
- if (cached && (isFresh(cached) || options?.cacheOnly)) return cached.data;
2882
+ if (cached && (options?.cacheOnly || !options?.skipCache && isFresh(cached)))
2883
+ return cached.data;
2883
2884
  if (options?.cacheOnly) throw new Error("not fetched after an earlier registry timeout");
2884
2885
  try {
2885
2886
  const item = await fetchJson(url, validate);
@@ -13,11 +13,11 @@ import {
13
13
  formatPreviewProxyBox,
14
14
  hdrToSdrToneMapFilter,
15
15
  parseFirstFrameColour
16
- } from "./chunk-7HTH5PFK.js";
16
+ } from "./chunk-JVTWX5G3.js";
17
17
  import {
18
18
  decodeAuthoredAttribute,
19
19
  scanHtmlOpeningTags
20
- } from "./chunk-2MCXIY4B.js";
20
+ } from "./chunk-B7RJV74O.js";
21
21
  import {
22
22
  mkdirWithinProject,
23
23
  realProjectRoot,
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveConfig,
9
9
  usesSoftwareWebGpu
10
- } from "./chunk-L4JB7LI4.js";
10
+ } from "./chunk-52YJKWV3.js";
11
11
 
12
12
  // src/browser/gpuPolicy.ts
13
13
  function resolveLocalBrowserGpuMode(browserGpuArg, envMode = process.env.PRODUCER_BROWSER_GPU_MODE) {
@@ -17,7 +17,7 @@ function resolveLocalBrowserGpuMode(browserGpuArg, envMode = process.env.PRODUCE
17
17
  return "auto";
18
18
  }
19
19
  async function resolveCaptureBrowserGpuMode(requestedMode, chromePath, probeLifecycle) {
20
- const { resolveBrowserGpuMode } = await import("./src-BH5NICGQ.js");
20
+ const { resolveBrowserGpuMode } = await import("./src-HITT6NWG.js");
21
21
  return resolveBrowserGpuMode(requestedMode, { chromePath, probeLifecycle });
22
22
  }
23
23
  function resolveLocalWebGpu(browserGpuMode, requiresWebGpu) {
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  updateCheckDisabled
9
- } from "./chunk-TZEKVLPV.js";
9
+ } from "./chunk-SNECH6QA.js";
10
10
  import {
11
11
  hostAnswers
12
12
  } from "./chunk-K4WIOZFP.js";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  sherpaParakeetInstalled,
9
9
  sherpaUnsupportedReason
10
- } from "./chunk-MFUNDJEV.js";
10
+ } from "./chunk-BK5YCT54.js";
11
11
  import {
12
12
  findParakeet
13
13
  } from "./chunk-JZIEZCQM.js";
@@ -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-UACT7PX3.js");
1281
+ const { trackCommandFailure } = await import("./events-HTHOBIUN.js");
1282
1282
  trackCommandFailure(
1283
1283
  command,
1284
1284
  err,
@@ -6,27 +6,27 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-LMNZLZMJ.js";
9
+ } from "./chunk-ST4SHO3S.js";
10
10
  import {
11
11
  serveStaticProjectHtml
12
- } from "./chunk-VPC4XIVI.js";
12
+ } from "./chunk-VPON6DF2.js";
13
13
  import {
14
14
  AUDIT_SEEK_OPTIONS,
15
15
  installPageFunctionGuard,
16
16
  seekCompositionTimeline,
17
17
  waitForCompositionFonts,
18
18
  waitForRuntimeReady
19
- } from "./chunk-4LXZJIVY.js";
19
+ } from "./chunk-O2ILONGK.js";
20
20
  import {
21
21
  launchManagedBrowser,
22
22
  resolveManagedGpuMode
23
- } from "./chunk-UIC7B5KW.js";
23
+ } from "./chunk-CEZH4AQT.js";
24
24
  import {
25
25
  gotoWhenSent
26
26
  } from "./chunk-MOEGCMKI.js";
27
27
  import {
28
28
  pageNavigationTimeoutMs
29
- } from "./chunk-UB7BIDBS.js";
29
+ } from "./chunk-PEHST4UY.js";
30
30
  import {
31
31
  defineCommand
32
32
  } from "./chunk-S3S4TGEH.js";
@@ -40,7 +40,7 @@ import {
40
40
  import {
41
41
  printDeprecationNotice,
42
42
  withMeta
43
- } from "./chunk-TZEKVLPV.js";
43
+ } from "./chunk-SNECH6QA.js";
44
44
  import {
45
45
  normalizeErrorMessage
46
46
  } from "./chunk-T2EUWCJE.js";
@@ -715,7 +715,7 @@ async function collectTweenBoundaries(page) {
715
715
  });
716
716
  }
717
717
  async function bundleProjectHtml(projectDir) {
718
- const { bundleToSingleHtml } = await import("./compiler-R4UYDWXO.js");
718
+ const { bundleToSingleHtml } = await import("./compiler-CWHFCE3H.js");
719
719
  return bundleToSingleHtml(projectDir);
720
720
  }
721
721
  async function alignViewportToComposition(page, url) {
@@ -732,15 +732,15 @@ async function alignViewportToComposition(page, url) {
732
732
  await gotoWhenSent(page, url, pageNavigationTimeoutMs());
733
733
  }
734
734
  async function runLayoutAudit(projectDir, opts) {
735
- const { ensureBrowser } = await import("./manager-MZIJY73J.js");
735
+ const { ensureBrowser } = await import("./manager-COSJVRAE.js");
736
736
  const puppeteer = await import("puppeteer-core");
737
- const { buildChromeArgs } = await import("./src-BH5NICGQ.js");
737
+ const { buildChromeArgs } = await import("./src-HITT6NWG.js");
738
738
  const {
739
739
  assertWebGpuAdapterAvailable,
740
740
  compositionRequiresWebGpu,
741
741
  resolveLocalBrowserGpuMode,
742
742
  resolveLocalWebGpu
743
- } = await import("./gpuPolicy-6UBXO6ME.js");
743
+ } = await import("./gpuPolicy-5FABKW5G.js");
744
744
  const html = await bundleProjectHtml(projectDir);
745
745
  const server = await serveStaticProjectHtml(
746
746
  projectDir,