hyperframes 0.8.134 → 0.8.136

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 (169) hide show
  1. package/dist/{add-RHGOHK4Z.js → add-MD4CNRQV.js} +16 -16
  2. package/dist/{animatedGifPrep-P2T6YM7Z.js → animatedGifPrep-3AKQSXPU.js} +7 -7
  3. package/dist/{asset-OTWT2XTV.js → asset-UPNW7262.js} +2 -2
  4. package/dist/{assetCataloger-VBLPHX24.js → assetCataloger-KBN5LNK4.js} +3 -3
  5. package/dist/{auth-VER56QYQ.js → auth-63PKUA76.js} +2 -2
  6. package/dist/{autoUpdate-XHFKOSVF.js → autoUpdate-CLB47L2W.js} +2 -2
  7. package/dist/{backgroundChecks-GAAKX5BU.js → backgroundChecks-JW7XF7JA.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-FT7AP7XH.js → batchRender-VFXGGGJG.js} +4 -4
  10. package/dist/{beats-QM23K5LR.js → beats-3CO6EGBG.js} +13 -13
  11. package/dist/{benchmark-GPU6HIVH.js → benchmark-CYTMATA7.js} +13 -13
  12. package/dist/{browser-RUFRY3QG.js → browser-QMLZJM2K.js} +10 -10
  13. package/dist/{bundleWithLocalizedFonts-5QOPOB5D.js → bundleWithLocalizedFonts-5ATL25BF.js} +2 -2
  14. package/dist/{capture-RLZA6EMR.js → capture-DYBK5LGE.js} +10 -10
  15. package/dist/{capture-SZZ4IYJK.js → capture-UEJG6BUX.js} +2 -2
  16. package/dist/{catalog-L6E2TFFY.js → catalog-G773J4K4.js} +16 -16
  17. package/dist/{check-TTV2DXDB.js → check-NCXITJWK.js} +33 -33
  18. package/dist/{checkBrowser-WWSIKC72.js → checkBrowser-IJQ2WCOB.js} +32 -32
  19. package/dist/{chunk-MWB3ZIFM.js → chunk-2BJCQN7K.js} +1 -1
  20. package/dist/{chunk-LYNI3FOL.js → chunk-32QEFPDS.js} +1 -1
  21. package/dist/{chunk-4NWOGZZS.js → chunk-374QQGBQ.js} +26 -3
  22. package/dist/{chunk-QC4FJVLM.js → chunk-37EDNWLQ.js} +1 -1
  23. package/dist/{chunk-4XSWF3CD.js → chunk-3E3WVNVP.js} +2 -2
  24. package/dist/{chunk-IUZFXWSV.js → chunk-4AXZWUQ6.js} +1 -1
  25. package/dist/{chunk-3ZP5DXE7.js → chunk-527WRFUQ.js} +1 -1
  26. package/dist/{chunk-ZMXUQLI2.js → chunk-5ALWCRBU.js} +47 -25
  27. package/dist/{chunk-L2PGUI5F.js → chunk-5K573LFX.js} +1 -1
  28. package/dist/{chunk-2YN64IN5.js → chunk-BHOKLX4F.js} +2 -2
  29. package/dist/{chunk-WAGW42UH.js → chunk-BQIFI4GV.js} +1 -1
  30. package/dist/{chunk-HRUGC23L.js → chunk-BSU7EOWJ.js} +1 -1
  31. package/dist/{chunk-FCSIGXXP.js → chunk-BWJ27MQP.js} +1 -1
  32. package/dist/{chunk-SUY33ISN.js → chunk-CG6OUDMX.js} +3 -3
  33. package/dist/{chunk-PUYDBQ3R.js → chunk-CYG3HXBE.js} +1 -1
  34. package/dist/{chunk-PDAMK4Q5.js → chunk-D2KNWIQ6.js} +1 -1
  35. package/dist/{chunk-Z46SC5ZL.js → chunk-ECAXTQGU.js} +2 -2
  36. package/dist/{chunk-MUORWS65.js → chunk-EXNGSOQG.js} +10 -10
  37. package/dist/{chunk-SIU7QCPK.js → chunk-FTR6KLIG.js} +69 -26
  38. package/dist/{chunk-RMHUQGRK.js → chunk-GK5W3SIJ.js} +4 -4
  39. package/dist/{chunk-6CTIGJY7.js → chunk-H4UIYRZZ.js} +2 -2
  40. package/dist/{chunk-6IXB7QBG.js → chunk-JBI43NRR.js} +3 -3
  41. package/dist/{chunk-7JZ4FXP2.js → chunk-KZJPREW7.js} +1 -1
  42. package/dist/{chunk-YQZNILVH.js → chunk-LO7L5PJ3.js} +5 -5
  43. package/dist/{chunk-GVRLL3SB.js → chunk-M5WGAAML.js} +3 -3
  44. package/dist/{chunk-K2FTXJYH.js → chunk-N3KRRPL7.js} +81 -24
  45. package/dist/{chunk-XS4EJSKU.js → chunk-OSSVNAI5.js} +1 -1
  46. package/dist/{chunk-AVUUN2XD.js → chunk-OZUQF4NB.js} +5 -4
  47. package/dist/{chunk-6SRQ4ZQ5.js → chunk-P3UNVJXX.js} +4 -4
  48. package/dist/{chunk-Z6B37SNM.js → chunk-PGFP4FLW.js} +12 -158
  49. package/dist/{chunk-A2Z4Z4VL.js → chunk-RTURM45Q.js} +1 -1
  50. package/dist/{chunk-TCLGPL65.js → chunk-RVG35AL2.js} +2 -2
  51. package/dist/chunk-SRXQEQWZ.js +3742 -0
  52. package/dist/{chunk-ICDMEFU2.js → chunk-SXE656MT.js} +1 -1
  53. package/dist/{chunk-K2EQN4VU.js → chunk-T5LPCY6I.js} +1 -1
  54. package/dist/{chunk-Q7IU7MOR.js → chunk-V26IB6L2.js} +2 -2
  55. package/dist/{chunk-CWPVM2QV.js → chunk-V2J2ZWPR.js} +2 -2
  56. package/dist/{chunk-AJU25DZ2.js → chunk-V32SGDX7.js} +5 -5
  57. package/dist/{chunk-ZJUKFZ2P.js → chunk-VDQCNWQI.js} +2 -2
  58. package/dist/{chunk-CFKU7HTK.js → chunk-VNC6YQOC.js} +1 -1
  59. package/dist/{chunk-NWMOKW7Q.js → chunk-WFZEW4AC.js} +2 -2
  60. package/dist/{chunk-WPHMNO44.js → chunk-WJFCDDP7.js} +1 -1
  61. package/dist/{chunk-NIDIM7IR.js → chunk-WTMA6JQD.js} +1 -1
  62. package/dist/{chunk-7HG4BFIN.js → chunk-XE6S5CE6.js} +1 -1
  63. package/dist/{chunk-ELEWD7K4.js → chunk-XLO327OK.js} +9 -9
  64. package/dist/{chunk-KBUGELQE.js → chunk-YDBQRLRI.js} +3 -3
  65. package/dist/{chunk-LHSR3M4M.js → chunk-Z3EFUXL5.js} +2 -2
  66. package/dist/{chunk-TPBT32X6.js → chunk-ZBNFAZQB.js} +7 -7
  67. package/dist/{clean-YNXRTMJU.js → clean-UCLCH4YA.js} +17 -17
  68. package/dist/cli.js +51 -51
  69. package/dist/{cloud-6ZOWBODT.js → cloud-LVP33D4N.js} +4 -4
  70. package/dist/{cloudrun-AJUTHUEA.js → cloudrun-FA4XHPZS.js} +5 -5
  71. package/dist/{compare-I2W3LIPI.js → compare-TOTN2CVX.js} +27 -27
  72. package/dist/{compiler-QO36EXLS.js → compiler-XZ654ZH2.js} +13 -11
  73. package/dist/{component-F5V44RLH.js → component-B5QZZJJA.js} +3 -3
  74. package/dist/{compositions-KECVMHW5.js → compositions-REMCVXXP.js} +12 -12
  75. package/dist/{delete-JGF4FREG.js → delete-H2P6PYT5.js} +2 -2
  76. package/dist/{deterministicFonts-HAEMV4TM.js → deterministicFonts-U2EXY2KQ.js} +2 -2
  77. package/dist/{dist-S3PJNPXQ.js → dist-HVJAGLHF.js} +5 -3
  78. package/dist/{dist-FNNGCKFS.js → dist-QS5WEGBE.js} +1 -1
  79. package/dist/{doctor-HDIEQSHY.js → doctor-HCGHEJDN.js} +11 -11
  80. package/dist/{events-T5YLKXZ4.js → events-2LS5WRYL.js} +10 -10
  81. package/dist/{events-Z5QEJRZT.js → events-V5QLQAN4.js} +9 -9
  82. package/dist/{feedback-OCX7QBHA.js → feedback-WBOC7SAW.js} +11 -11
  83. package/dist/{figma-O54GV6BZ.js → figma-HRUWQ5FO.js} +3 -3
  84. package/dist/fontLocalizeCli.js +10 -10
  85. package/dist/{get-PZRBJXZT.js → get-FS5GMKBK.js} +2 -2
  86. package/dist/{gpuPolicy-2ZUZE5D6.js → gpuPolicy-ON3RMSWD.js} +7 -7
  87. package/dist/{grade-compare-CTWZSR4P.js → grade-compare-G7Z5DWKW.js} +27 -27
  88. package/dist/{gsapParser-GHMVJQLH.js → gsapParser-2OL54XZ5.js} +21 -14
  89. package/dist/{gsapParserAcorn-E3GEIRZB.js → gsapParserAcorn-VXZ3ZIF2.js} +5 -3
  90. package/dist/{help-ZPLDYQJT.js → help-27P7K7JZ.js} +1 -1
  91. package/dist/{history-2UWBYPTV.js → history-5E46VSDM.js} +17 -17
  92. package/dist/hyperframe-runtime.js +49 -49
  93. package/dist/hyperframe.manifest.json +1 -1
  94. package/dist/hyperframe.runtime.iife.js +49 -49
  95. package/dist/hyperframes-player.global.js +1 -1
  96. package/dist/{info-WEMJI32J.js → info-2ZYYJL3I.js} +12 -12
  97. package/dist/{init-SCEXX6T2.js → init-ZI75FWLJ.js} +46 -23
  98. package/dist/{inspect-ZBYJUBMD.js → inspect-YLQN7QL6.js} +28 -28
  99. package/dist/{installer-K6O5WF44.js → installer-DDJVY4TO.js} +5 -5
  100. package/dist/{keyframes-FRL5BJBG.js → keyframes-JONXVQWD.js} +13 -16
  101. package/dist/{lambda-D7UMN4DJ.js → lambda-LPLYOEYY.js} +6 -6
  102. package/dist/{layout-3W2JK43G.js → layout-ZP4WDRSA.js} +28 -28
  103. package/dist/{lint-HIUPGNCY.js → lint-XGMUBMLE.js} +13 -13
  104. package/dist/{lintProject-OHBBM3DJ.js → lintProject-EPVG2EFE.js} +1 -1
  105. package/dist/{list-SMD55UPW.js → list-NBXJMDON.js} +2 -2
  106. package/dist/{login-S3ONWYCS.js → login-XIH4H4RH.js} +4 -4
  107. package/dist/{media-treatment-SFW5MCC6.js → media-treatment-QYKJDWHD.js} +13 -13
  108. package/dist/{models-C4E4IWJD.js → models-54NL5PRB.js} +8 -8
  109. package/dist/{motionShot-AKIMKJYD.js → motionShot-Y4D7LHU4.js} +13 -13
  110. package/dist/{normalize-audio-U5UXJWRR.js → normalize-audio-6RR6UGAJ.js} +12 -12
  111. package/dist/{open-3E4ZL3XD.js → open-TYFT2DQC.js} +11 -11
  112. package/dist/{pipeline-TNGWUZQC.js → pipeline-P7QRGI5H.js} +7 -7
  113. package/dist/{play-33PZ4CD6.js → play-IZXA4GO3.js} +22 -22
  114. package/dist/{preflight-SMNV6RW2.js → preflight-X3XFRJPQ.js} +8 -8
  115. package/dist/{present-ODOKWMTB.js → present-JS2KNZLT.js} +18 -18
  116. package/dist/{preview-V3CJ75JK.js → preview-M6PED6DU.js} +18 -18
  117. package/dist/{producer-ECLEN5RP.js → producer-KQNJKM7F.js} +1 -1
  118. package/dist/{projectConfig-HYJMJ5BY.js → projectConfig-EAAQYRMP.js} +7 -7
  119. package/dist/{publication-HQ5Y3KBM.js → publication-H3G346EX.js} +3 -3
  120. package/dist/{publish-VHDYQASC.js → publish-NEGKIS35.js} +9 -9
  121. package/dist/{remove-background-W2YX2NVH.js → remove-background-HU4S4HH5.js} +8 -8
  122. package/dist/{render-ZUFWRU2R.js → render-24OQFSYB.js} +13 -13
  123. package/dist/{render-AO5VX3YI.js → render-F3CNO2IE.js} +4 -4
  124. package/dist/{render-B7L7XGI7.js → render-IZHBGVPP.js} +22 -22
  125. package/dist/{render-batch-YH7CTWNY.js → render-batch-63CBIJYR.js} +4 -4
  126. package/dist/{renderCancellation-JPIHE47X.js → renderCancellation-FT3JJ7GB.js} +7 -7
  127. package/dist/renderSetupWorker.js +1 -1
  128. package/dist/{resolver-IZ647GBZ.js → resolver-YJJKOGQF.js} +5 -5
  129. package/dist/{sherpa-KKLNW6U2.js → sherpa-3BQDMJPJ.js} +8 -8
  130. package/dist/{skills-XZSQQ6O3.js → skills-T2O7PD6Q.js} +12 -12
  131. package/dist/{skillsUpdateCheck-I4OHSWVJ.js → skillsUpdateCheck-VYEGOAEI.js} +3 -3
  132. package/dist/{snapshot-RCEGREHZ.js → snapshot-NLTL7ZOM.js} +28 -28
  133. package/dist/{src-PVYUYV3M.js → src-CUR36DBE.js} +8 -6
  134. package/dist/{src-6YQBJGWR.js → src-ZPAJ44CP.js} +9 -9
  135. package/dist/{staticProjectServer-RIFIORHW.js → staticProjectServer-WN4BSLI3.js} +16 -16
  136. package/dist/{status-YM52BQ6S.js → status-6CGT2PJT.js} +7 -7
  137. package/dist/studio/assets/{hyperframes-player-Bro1gj0Z.js → hyperframes-player-ukvUFqdg.js} +1 -1
  138. package/dist/studio/assets/{index-DnVGIbEC.js → index-BY_myArg.js} +1 -1
  139. package/dist/studio/assets/{index-wnXyQjW-.js → index-C-pD9_xY.js} +185 -184
  140. package/dist/studio/assets/{index-BwNDTmAD.js → index-CRRgIxsS.js} +1 -1
  141. package/dist/studio/assets/{index-D11atkBt.css → index-syMK0_9C.css} +1 -1
  142. package/dist/studio/{chunk-5VSXRGIX.js → chunk-NM7BXNZ7.js} +1 -1
  143. package/dist/studio/chunk-NM7BXNZ7.js.map +1 -0
  144. package/dist/studio/{chunk-FOEID72M.js → chunk-QRLKWENQ.js} +2 -2
  145. package/dist/studio/index.d.ts +3 -1
  146. package/dist/studio/index.html +2 -2
  147. package/dist/studio/index.js +227 -88
  148. package/dist/studio/index.js.map +1 -1
  149. package/dist/studio/player.js +2 -2
  150. package/dist/studio/styles.css +1 -1
  151. package/dist/studio/ui.d.ts +3 -2
  152. package/dist/studio/ui.js +1 -1
  153. package/dist/{studio-api-D2KGZOYL.js → studio-api-KTRRONOC.js} +10 -10
  154. package/dist/{studioServer-PXNJXHMV.js → studioServer-O6P3TBDJ.js} +42 -42
  155. package/dist/{system-EZYZNUFD.js → system-3BTZGJNK.js} +7 -7
  156. package/dist/{telemetry-SGIIMXZ3.js → telemetry-G4QOG4OF.js} +10 -10
  157. package/dist/{timeline-QCU4QE6S.js → timeline-JS5QNPLA.js} +17 -17
  158. package/dist/{tokens-LXW56KNH.js → tokens-JKLDRW7A.js} +2 -2
  159. package/dist/{transcribe-BTZH3ZVO.js → transcribe-CP6ZCDVR.js} +13 -13
  160. package/dist/{transcribe-BNSJRR4M.js → transcribe-HC35FL6W.js} +8 -8
  161. package/dist/{updateCheck-7XAIYPMV.js → updateCheck-L2UJCCL4.js} +2 -2
  162. package/dist/{upgrade-BMJ32AYR.js → upgrade-NW7YFVUM.js} +2 -2
  163. package/dist/{urlDownloader-H6WRI2UE.js → urlDownloader-A5TT3AFE.js} +6 -6
  164. package/dist/{validate-DKXIOSJC.js → validate-D3ZH3JQ7.js} +17 -17
  165. package/dist/{video-FGSGKRSV.js → video-USXMJDEZ.js} +7 -7
  166. package/package.json +1 -1
  167. package/dist/chunk-HWKCIWQT.js +0 -3578
  168. package/dist/studio/chunk-5VSXRGIX.js.map +0 -1
  169. /package/dist/studio/{chunk-FOEID72M.js.map → chunk-QRLKWENQ.js.map} +0 -0
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-TVCRUG2S.js";
14
14
  import {
15
15
  getFreeDiskMb
16
- } from "./chunk-IUZFXWSV.js";
16
+ } from "./chunk-4AXZWUQ6.js";
17
17
  import {
18
18
  ensureBrowser,
19
19
  findBrowser
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-ZTZA4UWZ.js";
13
13
  import {
14
14
  getSystemMeta
15
- } from "./chunk-IUZFXWSV.js";
15
+ } from "./chunk-4AXZWUQ6.js";
16
16
  import {
17
17
  getInvocationId
18
18
  } from "./chunk-54HJ63Q2.js";
@@ -23,7 +23,7 @@ import {
23
23
  evaluateCanary,
24
24
  findCanary,
25
25
  parseCanaryOverride
26
- } from "./chunk-2YN64IN5.js";
26
+ } from "./chunk-BHOKLX4F.js";
27
27
  import {
28
28
  hostAnswers
29
29
  } from "./chunk-K4WIOZFP.js";
@@ -37,7 +37,7 @@ import {
37
37
  } from "./chunk-XUXGIA7H.js";
38
38
  import {
39
39
  VERSION
40
- } from "./chunk-NWMOKW7Q.js";
40
+ } from "./chunk-WFZEW4AC.js";
41
41
 
42
42
  // src/telemetry/transport.ts
43
43
  import { spawn } from "child_process";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-ISN5GRYI.js";
18
18
  import {
19
19
  VERSION
20
- } from "./chunk-NWMOKW7Q.js";
20
+ } from "./chunk-WFZEW4AC.js";
21
21
 
22
22
  // src/utils/updateCheck.ts
23
23
  import { existsSync, readFileSync } from "fs";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  VALID_CANVAS_RESOLUTIONS,
9
9
  resolveResolutionFlagPair
10
- } from "./chunk-AVUUN2XD.js";
10
+ } from "./chunk-OZUQF4NB.js";
11
11
 
12
12
  // src/utils/parseOutputResolution.ts
13
13
  function parseOutputResolutionFlag(raw, options) {
@@ -20,7 +20,7 @@ import {
20
20
  typeDirPath,
21
21
  updateRecord,
22
22
  withFigmaErrors
23
- } from "./chunk-NIDIM7IR.js";
23
+ } from "./chunk-WTMA6JQD.js";
24
24
  import {
25
25
  defineCommand
26
26
  } from "./chunk-S3S4TGEH.js";
@@ -221,7 +221,7 @@ var asset_default = defineCommand({
221
221
  rendered > 0 ? `(${results.length} nodes, ${rendered} rendered in 1 figma request)` : `(${results.length} nodes, all reused from cache \u2014 no figma request)`
222
222
  );
223
223
  }
224
- const { trackFigmaImport } = await import("./telemetry-SGIIMXZ3.js");
224
+ const { trackFigmaImport } = await import("./telemetry-G4QOG4OF.js");
225
225
  trackFigmaImport({
226
226
  phase: "asset",
227
227
  reused: results.every((r) => r.reused),
@@ -9,17 +9,17 @@ import {
9
9
  resolveCliChromeGpuMode,
10
10
  seekCompositionTimeline,
11
11
  waitForRuntimeReady
12
- } from "./chunk-YQZNILVH.js";
12
+ } from "./chunk-LO7L5PJ3.js";
13
13
  import {
14
14
  resolveCompositionViewportFromHtml
15
15
  } from "./chunk-5Z63TBTX.js";
16
16
  import {
17
17
  launchManagedBrowser,
18
18
  resolveManagedGpuMode
19
- } from "./chunk-7HG4BFIN.js";
19
+ } from "./chunk-XE6S5CE6.js";
20
20
  import {
21
21
  resolveProject
22
- } from "./chunk-L2PGUI5F.js";
22
+ } from "./chunk-5K573LFX.js";
23
23
  import {
24
24
  c
25
25
  } from "./chunk-ZTZA4UWZ.js";
@@ -33,7 +33,7 @@ import {
33
33
  import {
34
34
  printDeprecationNotice,
35
35
  withMeta
36
- } from "./chunk-PUYDBQ3R.js";
36
+ } from "./chunk-CYG3HXBE.js";
37
37
  import {
38
38
  normalizeErrorMessage
39
39
  } from "./chunk-KNU5COPB.js";
@@ -222,7 +222,7 @@ function extractCompositionErrorsFromLint(lintResult) {
222
222
  async function localizeRemoteAssets(html) {
223
223
  let dir;
224
224
  try {
225
- const { loadProducer } = await import("./producer-ECLEN5RP.js");
225
+ const { loadProducer } = await import("./producer-KQNJKM7F.js");
226
226
  const { localizeRemoteMediaSources, localizeRemoteImageSources, localizeRemoteFontFaces } = await loadProducer();
227
227
  dir = mkdtempSync(join(tmpdir(), "hf-validate-assets-"));
228
228
  const assetDir = dir;
@@ -243,10 +243,10 @@ async function localizeRemoteAssets(html) {
243
243
  }
244
244
  async function validateInBrowser(project, opts) {
245
245
  const projectDir = project.dir;
246
- const { bundleToSingleHtml } = await import("./compiler-QO36EXLS.js");
246
+ const { bundleToSingleHtml } = await import("./compiler-XZ654ZH2.js");
247
247
  const { ensureBrowser } = await import("./manager-CT3D67CG.js");
248
- const { serveStaticProjectHtml } = await import("./staticProjectServer-RIFIORHW.js");
249
- const { lintProject } = await import("./lintProject-OHBBM3DJ.js");
248
+ const { serveStaticProjectHtml } = await import("./staticProjectServer-WN4BSLI3.js");
249
+ const { lintProject } = await import("./lintProject-EPVG2EFE.js");
250
250
  const lintResult = await lintProject(projectDir);
251
251
  const compositionErrors = extractCompositionErrorsFromLint(lintResult);
252
252
  const html = await bundleToSingleHtml(projectDir);
@@ -267,9 +267,9 @@ async function validateInBrowser(project, opts) {
267
267
  try {
268
268
  const browser = await ensureBrowser();
269
269
  const puppeteer = await import("puppeteer-core");
270
- const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-PVYUYV3M.js");
270
+ const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-CUR36DBE.js");
271
271
  const requestedGpuMode = resolveCliChromeGpuMode();
272
- const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu } = await import("./gpuPolicy-2ZUZE5D6.js");
272
+ const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu } = await import("./gpuPolicy-ON3RMSWD.js");
273
273
  const resolvedGpuMode = await resolveManagedGpuMode(requestedGpuMode, browser.executablePath);
274
274
  const requiresWebGpu = compositionRequiresWebGpu(html);
275
275
  const chromeBrowser = await launchManagedBrowser(puppeteer.default, {
@@ -21,7 +21,7 @@ import {
21
21
  splitElementInHtml,
22
22
  unwrapElementsFromHtml,
23
23
  wrapElementsInHtml
24
- } from "./chunk-RMHUQGRK.js";
24
+ } from "./chunk-GK5W3SIJ.js";
25
25
  import {
26
26
  atomicTempPath,
27
27
  createFileAtomically,
@@ -34,7 +34,7 @@ import {
34
34
  measureAudio,
35
35
  requiredFfmpeg,
36
36
  resolveLocalAudioPath
37
- } from "./chunk-QC4FJVLM.js";
37
+ } from "./chunk-37EDNWLQ.js";
38
38
  import {
39
39
  PROXY_PARAMS_VERSION,
40
40
  PROXY_PENDING_RETRY_AFTER_SECONDS,
@@ -60,11 +60,11 @@ import {
60
60
  shouldPrewarmProxy,
61
61
  waitForProxy,
62
62
  walkDir
63
- } from "./chunk-TCLGPL65.js";
63
+ } from "./chunk-RVG35AL2.js";
64
64
  import {
65
65
  findTimelineScript,
66
66
  parseGsapScriptAcorn
67
- } from "./chunk-4NWOGZZS.js";
67
+ } from "./chunk-374QQGBQ.js";
68
68
  import {
69
69
  STUDIO_MANUAL_EDITS_PATH
70
70
  } from "./chunk-KC5XXX3X.js";
@@ -81,20 +81,20 @@ import {
81
81
  motionPathPluginUrl,
82
82
  parseFps,
83
83
  sameInstant
84
- } from "./chunk-2YN64IN5.js";
84
+ } from "./chunk-BHOKLX4F.js";
85
85
  import {
86
86
  MagicString,
87
87
  VALID_CANVAS_RESOLUTIONS,
88
88
  unrollComputedTimeline
89
- } from "./chunk-AVUUN2XD.js";
89
+ } from "./chunk-OZUQF4NB.js";
90
90
  import {
91
- AFTER_FONTS_SCRIPT_TYPE,
92
91
  addScenePartsManifest,
93
- deferScriptsUntilFonts,
94
92
  ensureHfIds
95
- } from "./chunk-Z6B37SNM.js";
93
+ } from "./chunk-PGFP4FLW.js";
96
94
  import {
95
+ AFTER_FONTS_SCRIPT_TYPE,
97
96
  RUNTIME_BOOTSTRAP_ATTR,
97
+ deferScriptsUntilFonts,
98
98
  findStartTags,
99
99
  hasCompositionOutsideTemplates,
100
100
  injectTagsAtHeadStart,
@@ -104,7 +104,7 @@ import {
104
104
  resolveRateSpec,
105
105
  sourceTimeAt,
106
106
  stripEmbeddedRuntimeScripts
107
- } from "./chunk-HWKCIWQT.js";
107
+ } from "./chunk-SRXQEQWZ.js";
108
108
  import {
109
109
  ProjectRootMissingError,
110
110
  folderGone,
@@ -117,7 +117,7 @@ import {
117
117
  import {
118
118
  isWithinProjectRoot,
119
119
  readProjectFile
120
- } from "./chunk-ZJUKFZ2P.js";
120
+ } from "./chunk-VDQCNWQI.js";
121
121
  import {
122
122
  FFPROBE_PATH_ENV,
123
123
  findFfBinary
@@ -2421,6 +2421,10 @@ function buildArcPath(coords, curviness, autoRotate, isCubic) {
2421
2421
  }
2422
2422
  return { arcPath: { enabled: true, autoRotate, segments }, waypoints };
2423
2423
  }
2424
+ function plainPercentKey(percentage) {
2425
+ const text2 = Math.abs(percentage) < 1e-6 ? percentage.toFixed(20).replace(/\.?0+$/, "") : String(percentage);
2426
+ return `${text2}%`;
2427
+ }
2424
2428
  var CSS_IDENTITY = {
2425
2429
  opacity: 1,
2426
2430
  autoAlpha: 1,
@@ -3360,9 +3364,6 @@ function tweenCallToAnimation(call, scope, source, identifierBindings) {
3360
3364
  properties[key] = val;
3361
3365
  }
3362
3366
  }
3363
- if (keyframesData && typeof vars.easeEach === "string") {
3364
- keyframesData.easeEach = vars.easeEach;
3365
- }
3366
3367
  if (motionPathResult) {
3367
3368
  const { waypoints } = motionPathResult;
3368
3369
  if (!keyframesData) {
@@ -4338,7 +4339,7 @@ function convertArrayKeyframesToObject(script, target) {
4338
4339
  if (!timing) return script;
4339
4340
  const entries = els.map((el, i) => {
4340
4341
  const { duration: _duration, ...record } = records[i];
4341
- return `${JSON.stringify(`${timing.percentages[i]}%`)}: ${recordToCode(record)}`;
4342
+ return `${JSON.stringify(plainPercentKey(timing.percentages[i]))}: ${recordToCode(record)}`;
4342
4343
  });
4343
4344
  const ms = new MagicString(script);
4344
4345
  ms.overwrite(
@@ -4400,7 +4401,13 @@ function addKeyframeToScript(script, animationId, percentage, properties, ease,
4400
4401
  ms.overwrite(existing.prop.value.start, existing.prop.value.end, recordToCode(targetRecord));
4401
4402
  }
4402
4403
  } else {
4403
- insertNewKeyframe(ms, kfNode, percentage, `${percentage}%`, recordToCode(targetRecord));
4404
+ insertNewKeyframe(
4405
+ ms,
4406
+ kfNode,
4407
+ percentage,
4408
+ plainPercentKey(percentage),
4409
+ recordToCode(targetRecord)
4410
+ );
4404
4411
  }
4405
4412
  for (const [prop, rec] of [...endpointOverwrites, ...backfillOverwrites]) {
4406
4413
  ms.overwrite(prop.value.start, prop.value.end, recordToCode(rec));
@@ -4499,7 +4506,12 @@ function moveKeyframeInScript(script, animationId, fromPercentage, toPercentage)
4499
4506
  }
4500
4507
  entries.push({ pct: toPercentage, record: valueNodeToRecord(match.prop.value, src) });
4501
4508
  entries.sort((a, b) => a.pct - b.pct);
4502
- const body = entries.map((e) => `${JSON.stringify(`${e.pct}%`)}: ${recordToCode(e.record)}`).join(", ");
4509
+ const pctProps = new Set(percentagePropsOf(kfNode));
4510
+ const kept = (kfNode.properties ?? []).filter((p) => !pctProps.has(p)).map((p) => src.slice(p.start, p.end));
4511
+ const body = [
4512
+ ...entries.map((e) => `${JSON.stringify(plainPercentKey(e.pct))}: ${recordToCode(e.record)}`),
4513
+ ...kept
4514
+ ].join(", ");
4503
4515
  const ms = new MagicString(src);
4504
4516
  ms.overwrite(kfNode.start, kfNode.end, `{ ${body} }`);
4505
4517
  return ms.toString();
@@ -4518,7 +4530,7 @@ function resizeKeyframedTweenInScript(script, animationId, newPosition, newDurat
4518
4530
  }
4519
4531
  const ms = new MagicString(src);
4520
4532
  for (const { keyNode, to } of edits) {
4521
- ms.overwrite(keyNode.start, keyNode.end, JSON.stringify(`${to}%`));
4533
+ ms.overwrite(keyNode.start, keyNode.end, JSON.stringify(plainPercentKey(to)));
4522
4534
  }
4523
4535
  overwritePosition(ms, target.call, newPosition);
4524
4536
  upsertProp(ms, target.call.varsArg, "duration", newDuration);
@@ -4621,7 +4633,7 @@ function buildKeyframeObjectCode(keyframes, easeEach) {
4621
4633
  const props = Object.entries(kf.properties).map(([k, v]) => `${safeKey(k)}: ${valueToCode(v)}`);
4622
4634
  if (kf.ease) props.push(`ease: ${valueToCode(kf.ease)}`);
4623
4635
  if (kf.auto) props.push(`_auto: 1`);
4624
- return `${JSON.stringify(`${kf.percentage}%`)}: { ${props.join(", ")} }`;
4636
+ return `${JSON.stringify(plainPercentKey(kf.percentage))}: { ${props.join(", ")} }`;
4625
4637
  });
4626
4638
  if (easeEach) entries.push(`easeEach: ${valueToCode(easeEach)}`);
4627
4639
  return `{ ${entries.join(", ")} }`;
@@ -4775,7 +4787,8 @@ function addGroupAnimToScript(script, anim, propSet) {
4775
4787
  pos,
4776
4788
  anim.duration ?? 0.5,
4777
4789
  groupKeyframes,
4778
- anim.keyframes.easeEach ?? anim.ease
4790
+ anim.keyframes.ease ?? anim.ease,
4791
+ anim.keyframes.easeEach
4779
4792
  );
4780
4793
  }
4781
4794
  const groupProperties = filterGroupProperties(anim.properties, propSet);
@@ -6423,7 +6436,7 @@ function requestSubPath(url, route) {
6423
6436
  return decodeURIComponent(segments.slice(start + routeSegments.length).join("/"));
6424
6437
  }
6425
6438
  async function loadGsapParser() {
6426
- return import("./gsapParser-GHMVJQLH.js");
6439
+ return import("./gsapParser-2OL54XZ5.js");
6427
6440
  }
6428
6441
  function isDanglingSymlinkInProject(projectDir, lexicalPath) {
6429
6442
  if (!isSafePath(projectDir, dirname32(lexicalPath))) return false;
@@ -7084,7 +7097,7 @@ async function prepareGsapMutationScript(c, res, firstMutation) {
7084
7097
  let block = extractGsapScriptBlock(html);
7085
7098
  if (!block && (firstMutation.type === "add" || firstMutation.type === "add-with-keyframes")) {
7086
7099
  const compId = html.match(/data-composition-id="([^"]+)"/)?.[1] ?? "main";
7087
- const { GSAP_CDN } = await import("./dist-S3PJNPXQ.js");
7100
+ const { GSAP_CDN } = await import("./dist-HVJAGLHF.js");
7088
7101
  const bootstrap = [
7089
7102
  `<script src="${GSAP_CDN}"></script>`,
7090
7103
  "<script>",
@@ -8816,7 +8829,11 @@ function registerFileRoutes(api, adapter) {
8816
8829
  });
8817
8830
  }
8818
8831
  var ALWAYS_AFFECTS = ["hyperframes.json", ...STUDIO_SIGNATURE_MANIFEST_PATHS];
8832
+ var MAX_PREVIEW_PATH_LENGTH = 4096;
8833
+ var SHOW_ELEMENT = 1;
8819
8834
  var REFERENCE = /\b(?:src|href|poster|data-composition-src)\s*=\s*(?:"([^"\n]*)"|'([^'\n]*)')|url\(\s*(?:"([^"\n]*)"|'([^'\n]*)'|([^"'\s)]+))/gi;
8835
+ var REFERENCE_ATTRIBUTE = /\b(?:src|href|poster|data-composition-src)$/i;
8836
+ var isElement = (node) => node.nodeType === 1;
8820
8837
  var pathKey = process.platform === "darwin" || process.platform === "win32" ? (path) => resolve32(path).toLowerCase() : (path) => resolve32(path);
8821
8838
  var readsByProject = /* @__PURE__ */ new Map();
8822
8839
  var builtProjects = /* @__PURE__ */ new Set();
@@ -8841,6 +8858,7 @@ function linksOnTheWay(path) {
8841
8858
  continue;
8842
8859
  }
8843
8860
  const next = join7(at, part);
8861
+ if (next.length > MAX_PREVIEW_PATH_LENGTH) return passed;
8844
8862
  const target = hops < 40 ? readLink(next) : null;
8845
8863
  if (target === null) {
8846
8864
  at = next;
@@ -8856,26 +8874,51 @@ function linksOnTheWay(path) {
8856
8874
  return passed;
8857
8875
  }
8858
8876
  function recordPreviewRead(projectDir, filePath) {
8877
+ if (filePath.length > MAX_PREVIEW_PATH_LENGTH) return;
8859
8878
  const key = projectKey(projectDir);
8860
8879
  let reads = readsByProject.get(key);
8861
8880
  if (!reads) readsByProject.set(key, reads = /* @__PURE__ */ new Set());
8862
8881
  const read = inRealProject(projectDir, filePath);
8882
+ if (read.length > MAX_PREVIEW_PATH_LENGTH) return;
8863
8883
  for (const found of [read, ...linksOnTheWay(read)]) {
8864
8884
  for (let path = pathKey(found); !reads.has(path); path = dirname42(path)) reads.add(path);
8865
8885
  }
8866
8886
  }
8867
8887
  function recordPreviewReferences(projectDir, html) {
8868
8888
  const named = /* @__PURE__ */ new Set();
8869
- for (const match of html.matchAll(REFERENCE)) {
8870
- const url = (match[1] ?? match[2] ?? match[3] ?? match[4] ?? match[5] ?? "").trim();
8871
- if (!url || /^(?:[a-z][a-z0-9+.-]*:|[/#])/i.test(url)) continue;
8889
+ const add = (reference) => {
8890
+ const url = reference.trim();
8891
+ if (!url || /^(?:[a-z][a-z0-9+.-]*:|[/#])/i.test(url)) return;
8872
8892
  const path = url.split(/[?#]/)[0] ?? "";
8873
8893
  let decoded = path;
8874
8894
  try {
8875
8895
  decoded = decodeURIComponent(path);
8876
8896
  } catch {
8877
8897
  }
8878
- if (decoded) named.add(decoded);
8898
+ if (decoded && decoded.length <= MAX_PREVIEW_PATH_LENGTH) named.add(decoded);
8899
+ };
8900
+ const scan = (text2) => {
8901
+ for (const match of text2.matchAll(REFERENCE)) {
8902
+ add(match[1] ?? match[2] ?? match[3] ?? match[4] ?? match[5] ?? "");
8903
+ }
8904
+ };
8905
+ const scanElement = (element) => {
8906
+ for (const attribute of element.attributes) {
8907
+ if (REFERENCE_ATTRIBUTE.test(attribute.name)) add(attribute.value);
8908
+ }
8909
+ const style = element.getAttribute("style");
8910
+ if (style) scan(style);
8911
+ if (element.localName === "style" || element.localName === "script") {
8912
+ scan(element.textContent ?? "");
8913
+ }
8914
+ };
8915
+ const { document: document2 } = parseHTML(html);
8916
+ for (const root of document2.children) {
8917
+ scanElement(root);
8918
+ const elements = document2.createTreeWalker(root, SHOW_ELEMENT);
8919
+ for (let node = elements.nextNode(); node; node = elements.nextNode()) {
8920
+ if (isElement(node)) scanElement(node);
8921
+ }
8879
8922
  }
8880
8923
  for (const path of named) recordPreviewRead(projectDir, path);
8881
8924
  }
@@ -8,19 +8,19 @@ import {
8
8
  isAllowedHtmlAttribute,
9
9
  isSafeAttributeValue,
10
10
  sanitizeRichTextChildren
11
- } from "./chunk-2YN64IN5.js";
11
+ } from "./chunk-BHOKLX4F.js";
12
12
  import {
13
13
  removeElementWithGsapCascade
14
- } from "./chunk-AVUUN2XD.js";
14
+ } from "./chunk-OZUQF4NB.js";
15
15
  import {
16
16
  EXCLUDED_TAGS,
17
17
  ensureHfIds,
18
18
  mintHfId,
19
19
  walkCompositionDescendants
20
- } from "./chunk-Z6B37SNM.js";
20
+ } from "./chunk-PGFP4FLW.js";
21
21
  import {
22
22
  require_dist
23
- } from "./chunk-ZJUKFZ2P.js";
23
+ } from "./chunk-VDQCNWQI.js";
24
24
  import {
25
25
  readClipTiming,
26
26
  readMediaOffsetSeconds,
@@ -19,10 +19,10 @@ import {
19
19
  import {
20
20
  formatVariableValidationIssue,
21
21
  validateVariables
22
- } from "./chunk-2YN64IN5.js";
22
+ } from "./chunk-BHOKLX4F.js";
23
23
  import {
24
24
  extractCompositionMetadata
25
- } from "./chunk-AVUUN2XD.js";
25
+ } from "./chunk-OZUQF4NB.js";
26
26
 
27
27
  // src/utils/variables.ts
28
28
  import { readFileSync } from "fs";
@@ -7,14 +7,14 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  trackLintReport,
9
9
  trackLintRuleStreak
10
- } from "./chunk-GVRLL3SB.js";
10
+ } from "./chunk-M5WGAAML.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-SUY33ISN.js";
13
+ } from "./chunk-CG6OUDMX.js";
14
14
  import {
15
15
  LINT_RULE_COUNT,
16
16
  LINT_RULE_GROUP_COUNTS
17
- } from "./chunk-ZJUKFZ2P.js";
17
+ } from "./chunk-VDQCNWQI.js";
18
18
 
19
19
  // src/telemetry/lintStreaks.ts
20
20
  import { createHash } from "crypto";
@@ -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-K2FTXJYH.js";
9
+ } from "./chunk-N3KRRPL7.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
@@ -10,21 +10,21 @@ import {
10
10
  import {
11
11
  launchManagedBrowser,
12
12
  resolveManagedGpuMode
13
- } from "./chunk-7HG4BFIN.js";
13
+ } from "./chunk-XE6S5CE6.js";
14
14
  import {
15
15
  resolveDiagnosticNavigationTimeoutMs,
16
16
  windowsChromeCrashRemediation
17
- } from "./chunk-HRUGC23L.js";
17
+ } from "./chunk-BSU7EOWJ.js";
18
18
  import {
19
19
  resolveLocalBrowserGpuMode
20
- } from "./chunk-XS4EJSKU.js";
20
+ } from "./chunk-OSSVNAI5.js";
21
21
  import {
22
22
  c
23
23
  } from "./chunk-ZTZA4UWZ.js";
24
24
  import {
25
25
  assertWebGpuAdapterAvailable,
26
26
  compositionRequiresWebGpu
27
- } from "./chunk-K2FTXJYH.js";
27
+ } from "./chunk-N3KRRPL7.js";
28
28
  import {
29
29
  normalizeErrorMessage
30
30
  } from "./chunk-KNU5COPB.js";
@@ -103,7 +103,7 @@ async function openSettledCompositionPage(html, url, options) {
103
103
  const { ensureBrowser, findSystemBrowser } = await import("./manager-CT3D67CG.js");
104
104
  const browser = await ensureBrowser();
105
105
  const puppeteer = await import("puppeteer-core");
106
- const { buildChromeArgs } = await import("./src-PVYUYV3M.js");
106
+ const { buildChromeArgs } = await import("./src-CUR36DBE.js");
107
107
  const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
108
108
  const requiresWebGpu = compositionRequiresWebGpu(html);
109
109
  const launch = async (executablePath) => {
@@ -8,16 +8,16 @@ import {
8
8
  flush,
9
9
  shouldTrack,
10
10
  trackEvent
11
- } from "./chunk-SUY33ISN.js";
11
+ } from "./chunk-CG6OUDMX.js";
12
12
  import {
13
13
  getPowerState
14
- } from "./chunk-IUZFXWSV.js";
14
+ } from "./chunk-4AXZWUQ6.js";
15
15
  import {
16
16
  CliRuntimeError
17
17
  } from "./chunk-PBN6GBJE.js";
18
18
  import {
19
19
  redactTelemetryString
20
- } from "./chunk-2YN64IN5.js";
20
+ } from "./chunk-BHOKLX4F.js";
21
21
  import {
22
22
  readConfig
23
23
  } from "./chunk-XUXGIA7H.js";