hyperframes 0.8.172 → 0.8.174

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 (185) hide show
  1. package/dist/{add-TJNZWO7P.js → add-XANMFNIP.js} +14 -15
  2. package/dist/{animatedGifPrep-K4WFG6KK.js → animatedGifPrep-OUQ4M2T3.js} +9 -11
  3. package/dist/api.js +19 -21
  4. package/dist/{asset-QN5J2P7H.js → asset-SVONSQ67.js} +2 -2
  5. package/dist/{assetCataloger-RLFDI5YD.js → assetCataloger-AG77T6SF.js} +9 -11
  6. package/dist/{audio-QJ4C3NMN.js → audio-DMQOTXKL.js} +16 -18
  7. package/dist/{auth-K7EHUGWE.js → auth-ED7SPBS6.js} +2 -2
  8. package/dist/{autoUpdate-76QXHQRT.js → autoUpdate-4QQYZOVT.js} +2 -2
  9. package/dist/{backgroundChecks-NMYRM5LV.js → backgroundChecks-2VT46P5S.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-RENYERF5.js → batchRender-KIYAPCTG.js} +4 -4
  12. package/dist/{beats-ZOR2HBAR.js → beats-OE7M5BEE.js} +6 -7
  13. package/dist/{benchmark-CY2VFIKL.js → benchmark-2ZQP2RNF.js} +11 -12
  14. package/dist/{browser-NPCKLUT7.js → browser-CSSJ3VWW.js} +5 -6
  15. package/dist/{bundleWithLocalizedFonts-FKH55KKW.js → bundleWithLocalizedFonts-ZUC4MLSO.js} +2 -2
  16. package/dist/{capture-TMSBTUYU.js → capture-3NXAHID3.js} +2 -2
  17. package/dist/{capture-IC2QJMMQ.js → capture-APNSW4ZT.js} +22 -18
  18. package/dist/{catalog-N7OCMRPT.js → catalog-CFDBIVSC.js} +15 -16
  19. package/dist/{catch-up-2MGK5I2D.js → catch-up-OUK522JT.js} +6 -7
  20. package/dist/{check-NU4GL2WC.js → check-PUDEOXGP.js} +37 -39
  21. package/dist/{checkBrowser-HRXAL4QD.js → checkBrowser-PMRJSTFJ.js} +34 -36
  22. package/dist/chunk-2CDBTQKS.js +113 -0
  23. package/dist/{chunk-C2F37AXS.js → chunk-2XSAYE7U.js} +2 -2
  24. package/dist/{chunk-3RM2ETQT.js → chunk-32GKETR7.js} +28 -2
  25. package/dist/{chunk-UIDRXHUY.js → chunk-3MDO2Q4F.js} +1 -1
  26. package/dist/{chunk-5B57KZJX.js → chunk-4PX47Z65.js} +1 -1
  27. package/dist/{chunk-IK3SOMZ4.js → chunk-4VTUDCHM.js} +19 -22
  28. package/dist/{chunk-Z6L3W5KZ.js → chunk-4WQUBVDO.js} +3 -3
  29. package/dist/{chunk-NLEDKGZT.js → chunk-55LJK3H2.js} +3 -3
  30. package/dist/{chunk-KRMOJUVL.js → chunk-6HF2WFPV.js} +5 -5
  31. package/dist/{chunk-EDUBJPGL.js → chunk-ALCCEHX2.js} +33 -7
  32. package/dist/{chunk-FXHGO3NH.js → chunk-APMA7XXB.js} +1 -1
  33. package/dist/{chunk-CDXC2UQ7.js → chunk-AR2SEGPZ.js} +1 -1
  34. package/dist/{chunk-K6SBDWUV.js → chunk-B23GBPCW.js} +2 -2
  35. package/dist/{chunk-YHECAUDC.js → chunk-CI7ZHFSV.js} +11 -11
  36. package/dist/chunk-CIWX5UKC.js +16 -0
  37. package/dist/{chunk-FYR6GKFN.js → chunk-CSMKMVGG.js} +6 -6
  38. package/dist/{chunk-TV2N4UIJ.js → chunk-D2YN4FNH.js} +2 -2
  39. package/dist/{chunk-CUDHVUIF.js → chunk-DRR3UMIY.js} +1 -1
  40. package/dist/{chunk-6K2N6WPO.js → chunk-EAR5LFOH.js} +42 -2
  41. package/dist/{chunk-MEEETF7G.js → chunk-EJZJ5AY7.js} +1 -1
  42. package/dist/{chunk-R73GAMUQ.js → chunk-G4UUEQDT.js} +1 -1
  43. package/dist/{chunk-G47TXPYN.js → chunk-GK2FIKIQ.js} +10 -8
  44. package/dist/{chunk-7DVH2IQQ.js → chunk-GXWV4FNV.js} +1 -1
  45. package/dist/{chunk-UNALPZL6.js → chunk-H2BPHBDY.js} +1 -1
  46. package/dist/{chunk-X3SCQP2A.js → chunk-HB2UP4V7.js} +1 -1
  47. package/dist/chunk-HIP62XAW.js +36 -0
  48. package/dist/{chunk-DQRZWV3B.js → chunk-HIYAJFRH.js} +1 -1
  49. package/dist/{chunk-4UR2EQSR.js → chunk-HZZYJV7K.js} +17 -19
  50. package/dist/{chunk-A2DMF2Q6.js → chunk-HZZZ6C6Z.js} +2 -2
  51. package/dist/{chunk-QQI7R2QL.js → chunk-JKPI7VLI.js} +1 -1
  52. package/dist/{chunk-4N2YVSXH.js → chunk-JL76Y45C.js} +7 -7
  53. package/dist/{chunk-EKKROA7V.js → chunk-LR72ON5B.js} +1 -1
  54. package/dist/{chunk-QVVANKN2.js → chunk-LUKY7253.js} +491 -133
  55. package/dist/{chunk-257IUNPQ.js → chunk-MXNPYP5F.js} +1 -1
  56. package/dist/{chunk-VFCKXTBB.js → chunk-NL5F3AD4.js} +27 -38
  57. package/dist/{chunk-S6JCFZVB.js → chunk-ONXTLGJB.js} +5 -5
  58. package/dist/{chunk-KRTCHLBA.js → chunk-PLYTTPVE.js} +2 -2
  59. package/dist/{chunk-R2P2SANE.js → chunk-QJCVK7CI.js} +4 -4
  60. package/dist/{chunk-HN5WVJZB.js → chunk-QRO2UBWS.js} +1 -1
  61. package/dist/{chunk-KOMXCNZX.js → chunk-QUK2IZKI.js} +1 -1
  62. package/dist/{chunk-2VR7HIPZ.js → chunk-RLBLLBLL.js} +2 -2
  63. package/dist/{chunk-PDFMNU6D.js → chunk-RMKL5FVH.js} +4 -17
  64. package/dist/{chunk-VQSSP7XG.js → chunk-RNKNDYBN.js} +1 -1
  65. package/dist/{chunk-BQYQV6JP.js → chunk-RYR3LTZR.js} +2 -2
  66. package/dist/{chunk-NYXHZOPD.js → chunk-RZ2FMZ5U.js} +1 -1
  67. package/dist/{chunk-DOV2QOFY.js → chunk-S5D4Q74P.js} +2 -2
  68. package/dist/{chunk-Z5ENX63S.js → chunk-SEHRMJTO.js} +13 -7
  69. package/dist/{chunk-XEJUMBIC.js → chunk-SEXAKOK3.js} +3 -3
  70. package/dist/{chunk-HZWXDKYB.js → chunk-SH43VDEF.js} +11 -15
  71. package/dist/{chunk-YAA3AOBA.js → chunk-SI76MFBF.js} +2 -2
  72. package/dist/{chunk-QWQ6GQTI.js → chunk-T6AGUTZJ.js} +2 -4
  73. package/dist/{chunk-ZY43P2M7.js → chunk-TI3HKGQC.js} +3 -3
  74. package/dist/{chunk-MFWQEG2W.js → chunk-UDJHYQSZ.js} +1 -1
  75. package/dist/{chunk-V5IZAL3H.js → chunk-UKAOWORD.js} +8 -8
  76. package/dist/chunk-UKJECUDK.js +3805 -0
  77. package/dist/{chunk-M235XUHL.js → chunk-UQLXFITA.js} +241 -6
  78. package/dist/{chunk-JYVGYKXG.js → chunk-W2LGJSEN.js} +73 -1
  79. package/dist/{chunk-UFAKRR5G.js → chunk-W3YVQ6VI.js} +12 -12
  80. package/dist/{chunk-FQP7TLRF.js → chunk-W4AECR7V.js} +1 -1
  81. package/dist/{chunk-AG2O2USE.js → chunk-X3BE2HX4.js} +3 -3
  82. package/dist/{chunk-TDPVEMBS.js → chunk-XFCLWWL3.js} +1 -1
  83. package/dist/{chunk-NZ5HOUJH.js → chunk-XVIFWEPR.js} +67 -33
  84. package/dist/{clean-JDODBRVL.js → clean-6SVCU47L.js} +18 -20
  85. package/dist/cli.js +53 -53
  86. package/dist/{cloud-YHJZ72XP.js → cloud-TIISRMZV.js} +4 -4
  87. package/dist/{cloudrun-E5EOHYTG.js → cloudrun-4TMBWELQ.js} +5 -5
  88. package/dist/{compare-VQQXHSE3.js → compare-YV2XTKYX.js} +28 -30
  89. package/dist/{compiler-I4GWSEK3.js → compiler-O5R3ZZDV.js} +5 -6
  90. package/dist/{component-WOSMKPL7.js → component-7LWSMRKZ.js} +3 -3
  91. package/dist/{compositions-WLJE5752.js → compositions-5VTSC4M3.js} +14 -16
  92. package/dist/{delete-PILRKH5C.js → delete-AV2SKLZW.js} +4 -4
  93. package/dist/{deploy-4MK3Y67M.js → deploy-NKWMPAMH.js} +19 -5
  94. package/dist/{destroy-GFQLTIY3.js → destroy-UKP522AE.js} +4 -2
  95. package/dist/{dist-7TYQROOE.js → dist-2FMTAVGL.js} +3 -3
  96. package/dist/{dist-SDXOTECD.js → dist-4FY5EEH5.js} +3 -3
  97. package/dist/{doctor-FNICQNSA.js → doctor-XOCYSEAZ.js} +14 -16
  98. package/dist/{events-5WNYSVPY.js → events-6QPRKX45.js} +4 -5
  99. package/dist/{events-YXPWFV5S.js → events-MAZUZI43.js} +5 -6
  100. package/dist/{feedback-KLA5RSSN.js → feedback-MGRILBMP.js} +10 -11
  101. package/dist/{ffmpeg-7BYARPLM.js → ffmpeg-YCULCUB2.js} +24 -4
  102. package/dist/{figma-PQIZI67M.js → figma-UMBACTCG.js} +3 -3
  103. package/dist/fontLocalizeCli.js +11 -13
  104. package/dist/{get-OBOWSUA7.js → get-LWEOLWYN.js} +4 -4
  105. package/dist/{gpuPolicy-HWH4OW6H.js → gpuPolicy-MCIQK5Z7.js} +9 -11
  106. package/dist/{grade-compare-5IOHWZX6.js → grade-compare-MZQOTX3F.js} +29 -31
  107. package/dist/{help-K4IK2N36.js → help-THPG2NRP.js} +1 -1
  108. package/dist/{history-AC5ZUFOX.js → history-2IQYTDU5.js} +8 -9
  109. package/dist/hyperframe-runtime.js +55 -55
  110. package/dist/hyperframe.manifest.json +1 -1
  111. package/dist/hyperframe.runtime.iife.js +55 -55
  112. package/dist/hyperframes-player.global.js +3 -3
  113. package/dist/{info-BD6555FQ.js → info-CXMADV6K.js} +10 -11
  114. package/dist/{init-KTNJH3QB.js → init-Y5GU454D.js} +34 -34
  115. package/dist/{inspect-PF2DWLRP.js → inspect-S7JDKEMJ.js} +29 -31
  116. package/dist/{installer-72NGZ5BM.js → installer-AY23RPEZ.js} +5 -5
  117. package/dist/{keyframes-P3GRO3LL.js → keyframes-FKYT6QAJ.js} +8 -9
  118. package/dist/{lambda-XRNX7HLH.js → lambda-7WMZGRH5.js} +16 -12
  119. package/dist/{layout-KN7SX3WH.js → layout-LL4GOS6G.js} +29 -31
  120. package/dist/{lint-TXBEZUA5.js → lint-2M7FY4ZT.js} +11 -12
  121. package/dist/{lintProject-65YGC4UB.js → lintProject-ARKJXDQF.js} +3 -3
  122. package/dist/{list-4YL3BA2G.js → list-SZBMUHBW.js} +4 -4
  123. package/dist/{login-JUI7PHHJ.js → login-QRACITGK.js} +4 -4
  124. package/dist/{manager-B6MVBM2E.js → manager-W2BTPAVT.js} +25 -3
  125. package/dist/{media-treatment-6DDWZLLE.js → media-treatment-E4VJETTT.js} +30 -22
  126. package/dist/{models-CLSFYHTD.js → models-AHO3MYE7.js} +13 -15
  127. package/dist/{motionShot-WMJSRE67.js → motionShot-LMMYPGPT.js} +21 -23
  128. package/dist/{normalize-audio-YZTHI75G.js → normalize-audio-RDWIWZOO.js} +6 -7
  129. package/dist/{open-VSJ3TPAB.js → open-WOKRHFDH.js} +31 -8
  130. package/dist/{parakeetRunner-YCZT3DG2.js → parakeetRunner-RY2KIE63.js} +16 -18
  131. package/dist/{pipeline-RV64A4MZ.js → pipeline-LEA32KLW.js} +11 -13
  132. package/dist/{play-CF6TJIQL.js → play-3S46XG66.js} +21 -23
  133. package/dist/{policies-DCSIM4AB.js → policies-5NTZOHJA.js} +2 -0
  134. package/dist/preflight-MCOFNWFQ.js +52 -0
  135. package/dist/{present-5XKI26BN.js → present-GR7F4CTI.js} +17 -19
  136. package/dist/{preview-RORZIRSN.js → preview-TKEAF3KR.js} +34 -25
  137. package/dist/{producer-K2H3YFX5.js → producer-BJ5SUPVD.js} +1 -1
  138. package/dist/{progress-5AM2MZ7V.js → progress-I37JB7R4.js} +1 -0
  139. package/dist/{projectConfig-Q2ECBQUG.js → projectConfig-YJBYWSNK.js} +7 -7
  140. package/dist/{publication-2V3WX4HW.js → publication-2HXIW4LS.js} +3 -3
  141. package/dist/{publish-7COI3FRD.js → publish-LHJFEKEI.js} +11 -11
  142. package/dist/{remove-background-QSOESZXW.js → remove-background-AQUUVAPD.js} +12 -14
  143. package/dist/{render-ACRKADG6.js → render-AOHXNGIM.js} +40 -38
  144. package/dist/{render-KHDJ2P4J.js → render-AXTGGHVZ.js} +9 -4
  145. package/dist/{render-3ZLZDN64.js → render-B5S7FLLS.js} +14 -15
  146. package/dist/{render-batch-OG3JHMDF.js → render-batch-DMQG3QWK.js} +4 -4
  147. package/dist/renderSetupWorker.js +3 -3
  148. package/dist/{resolver-ALLVWDQE.js → resolver-FV54X3T2.js} +5 -5
  149. package/dist/sam-IKPEJRRO.js +21 -0
  150. package/dist/{screenshotCapture-XAYELJK7.js → screenshotCapture-HXEZ3TNJ.js} +20 -3
  151. package/dist/{sherpa-QY3NGRLC.js → sherpa-RKURBTUM.js} +15 -17
  152. package/dist/skills/hyperframes/SKILL.md +42 -0
  153. package/dist/skills/hyperframes-cli/references/cloud.md +1 -1
  154. package/dist/skills/media-use/scripts/lib/recipe-store.mjs +5 -2
  155. package/dist/{skills-YIZYEARC.js → skills-YUXI4IRF.js} +11 -10
  156. package/dist/{skillsUpdateCheck-EXZOQQRS.js → skillsUpdateCheck-HK3GDYD6.js} +3 -3
  157. package/dist/{snapshot-3XMGHMRD.js → snapshot-D6Q52Z4X.js} +32 -34
  158. package/dist/{src-CGIRN4KP.js → src-DPR7JBU3.js} +10 -12
  159. package/dist/{src-RY4V2ZZT.js → src-MRYINZ62.js} +10 -10
  160. package/dist/{staticProjectServer-4E3ODA5P.js → staticProjectServer-RT7JATD2.js} +15 -16
  161. package/dist/{status-RGHSK3DJ.js → status-BV7QAUQD.js} +2 -3
  162. package/dist/studio/assets/{hyperframes-player-BDj9J28W.js → hyperframes-player-B4KfQdfl.js} +1 -1
  163. package/dist/studio/assets/{index--HWjGqrU.js → index-Bsc8xBh9.js} +1 -1
  164. package/dist/studio/assets/{index-DkQKsFxx.css → index-CESvLzz0.css} +1 -1
  165. package/dist/studio/assets/{index-CVxB8lqm.js → index-DGl_Zvb3.js} +128 -128
  166. package/dist/studio/index.html +2 -2
  167. package/dist/{studio-api-LTHBT45F.js → studio-api-NL2RMVB5.js} +9 -10
  168. package/dist/{studioServer-NDRRYB5V.js → studioServer-VL2GUVCR.js} +63 -56
  169. package/dist/{system-VRXC6S4A.js → system-7F3UEHQT.js} +2 -3
  170. package/dist/{telemetry-QBHPMHPC.js → telemetry-5PJWDFSZ.js} +5 -6
  171. package/dist/{timeline-J22LXNAI.js → timeline-OH35TN25.js} +124 -51
  172. package/dist/{tokens-EAPT2GUT.js → tokens-YISVK7W2.js} +2 -2
  173. package/dist/{transcribe-L5GHBNR6.js → transcribe-6KBSE76Q.js} +12 -14
  174. package/dist/{transcribe-6LCZK44H.js → transcribe-KRPN2FWA.js} +22 -24
  175. package/dist/{updateCheck-B3U7O3QS.js → updateCheck-QCZTFFSQ.js} +2 -2
  176. package/dist/{upgrade-UMJEDSYD.js → upgrade-DRFQISI6.js} +2 -2
  177. package/dist/{urlDownloader-SRL6J4NU.js → urlDownloader-CJDXTKMC.js} +8 -10
  178. package/dist/{validate-I3KHH5Z4.js → validate-BKY3FIJC.js} +23 -27
  179. package/dist/{video-HWLZYFUC.js → video-3UEJ57Q7.js} +9 -11
  180. package/package.json +1 -1
  181. package/dist/chunk-7KDQAD2W.js +0 -81
  182. package/dist/chunk-BXCMXMJQ.js +0 -73
  183. package/dist/chunk-KCF6GHJP.js +0 -250
  184. package/dist/chunk-Q2E3DQII.js +0 -3803
  185. package/dist/preflight-G5KP7ZKA.js +0 -32
@@ -6,24 +6,24 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  maybePromptRenderFeedback
9
- } from "./chunk-S6JCFZVB.js";
9
+ } from "./chunk-ONXTLGJB.js";
10
10
  import {
11
11
  captureArtifactRevision
12
- } from "./chunk-R73GAMUQ.js";
13
- import "./chunk-FQP7TLRF.js";
12
+ } from "./chunk-G4UUEQDT.js";
13
+ import "./chunk-W4AECR7V.js";
14
14
  import "./chunk-X7MTZ4T2.js";
15
15
  import {
16
16
  reportVariableIssues,
17
17
  resolveVariablesArg,
18
18
  validateVariablesAgainstProject
19
- } from "./chunk-257IUNPQ.js";
19
+ } from "./chunk-MXNPYP5F.js";
20
20
  import {
21
21
  loadProducer
22
- } from "./chunk-KOMXCNZX.js";
22
+ } from "./chunk-QUK2IZKI.js";
23
23
  import {
24
24
  renderJobObservabilityTelemetryPayload,
25
25
  startRenderCpuSampler
26
- } from "./chunk-CUDHVUIF.js";
26
+ } from "./chunk-DRR3UMIY.js";
27
27
  import {
28
28
  hasExplicitCompositionArg,
29
29
  parseGifLoopArg,
@@ -32,20 +32,20 @@ import {
32
32
  resolveCompositionEntryArg,
33
33
  resolveDefaultFpsArg,
34
34
  windowsChromeCrashRemediation
35
- } from "./chunk-Z5ENX63S.js";
35
+ } from "./chunk-SEHRMJTO.js";
36
36
  import {
37
37
  sandboxDeniedRemediation
38
38
  } from "./chunk-BRHI7EIA.js";
39
- import "./chunk-7DVH2IQQ.js";
39
+ import "./chunk-GXWV4FNV.js";
40
40
  import {
41
41
  formatLintStartupMessage
42
42
  } from "./chunk-6CSYCFQV.js";
43
43
  import {
44
44
  desktopHint
45
- } from "./chunk-EDUBJPGL.js";
45
+ } from "./chunk-ALCCEHX2.js";
46
46
  import {
47
47
  resolveProject
48
- } from "./chunk-DQRZWV3B.js";
48
+ } from "./chunk-HIYAJFRH.js";
49
49
  import {
50
50
  errorBox,
51
51
  formatBytes,
@@ -63,22 +63,22 @@ import "./chunk-DCAI5DBR.js";
63
63
  import "./chunk-DQBY7FRR.js";
64
64
  import {
65
65
  runEnvironmentChecks
66
- } from "./chunk-A2DMF2Q6.js";
66
+ } from "./chunk-HZZZ6C6Z.js";
67
67
  import "./chunk-442JNXRM.js";
68
68
  import {
69
69
  loadProjectConfig,
70
70
  readProjectConfigWithStatus,
71
71
  seedProjectAuthoringSkill
72
- } from "./chunk-MFWQEG2W.js";
72
+ } from "./chunk-UDJHYQSZ.js";
73
73
  import "./chunk-XT7X6QCP.js";
74
74
  import "./chunk-4YYJOFKS.js";
75
75
  import {
76
76
  normalizeSkillSlug
77
77
  } from "./chunk-HVW7ABXD.js";
78
- import "./chunk-NYXHZOPD.js";
78
+ import "./chunk-RZ2FMZ5U.js";
79
79
  import "./chunk-JHOCK3DG.js";
80
- import "./chunk-DOV2QOFY.js";
81
- import "./chunk-UNALPZL6.js";
80
+ import "./chunk-S5D4Q74P.js";
81
+ import "./chunk-H2BPHBDY.js";
82
82
  import "./chunk-AWDFDFI3.js";
83
83
  import "./chunk-P6LJ4Y32.js";
84
84
  import "./chunk-GMECXFAN.js";
@@ -87,12 +87,12 @@ import {
87
87
  trackRenderError,
88
88
  trackRenderObservation,
89
89
  trackRenderPreflightRejected
90
- } from "./chunk-TV2N4UIJ.js";
91
- import "./chunk-K6SBDWUV.js";
90
+ } from "./chunk-D2YN4FNH.js";
91
+ import "./chunk-B23GBPCW.js";
92
92
  import "./chunk-VWG7OQKU.js";
93
93
  import {
94
94
  bytesToMb
95
- } from "./chunk-QWQ6GQTI.js";
95
+ } from "./chunk-T6AGUTZJ.js";
96
96
  import {
97
97
  markRenderSucceeded,
98
98
  runPostRenderStep,
@@ -129,11 +129,11 @@ import {
129
129
  } from "./chunk-ISN5GRYI.js";
130
130
  import {
131
131
  VERSION
132
- } from "./chunk-YAA3AOBA.js";
132
+ } from "./chunk-SI76MFBF.js";
133
133
  import "./chunk-EOVYQ3IG.js";
134
134
  import {
135
135
  createRenderCancellationScope
136
- } from "./chunk-CDXC2UQ7.js";
136
+ } from "./chunk-AR2SEGPZ.js";
137
137
  import {
138
138
  H264EncoderUnavailableError,
139
139
  chromeLaunchRemediation,
@@ -141,7 +141,7 @@ import {
141
141
  findFFmpeg,
142
142
  findFFprobe,
143
143
  getFFmpegInstallHint
144
- } from "./chunk-IK3SOMZ4.js";
144
+ } from "./chunk-4VTUDCHM.js";
145
145
  import "./chunk-XT6MXC7A.js";
146
146
  import {
147
147
  EXTRACT_CACHE_DIR_DISABLED_ALIASES,
@@ -149,18 +149,16 @@ import {
149
149
  MIN_VP9_CPU_USED,
150
150
  audioFailureDiagnostics,
151
151
  isVideoFrameFormat
152
- } from "./chunk-NZ5HOUJH.js";
153
- import "./chunk-M235XUHL.js";
154
- import "./chunk-KCF6GHJP.js";
155
- import "./chunk-JYVGYKXG.js";
156
- import "./chunk-7KDQAD2W.js";
152
+ } from "./chunk-XVIFWEPR.js";
153
+ import "./chunk-UQLXFITA.js";
154
+ import "./chunk-W2LGJSEN.js";
157
155
  import {
158
156
  formatRenderOutputTimestamp,
159
157
  fpsToFfmpegArg,
160
158
  fpsToNumber,
161
159
  parseFps
162
- } from "./chunk-PDFMNU6D.js";
163
- import "./chunk-Q2E3DQII.js";
160
+ } from "./chunk-RMKL5FVH.js";
161
+ import "./chunk-UKJECUDK.js";
164
162
  import "./chunk-VC76R6W2.js";
165
163
  import "./chunk-UJKQWGFF.js";
166
164
  import {
@@ -184,13 +182,13 @@ import "./chunk-TWWSYAKJ.js";
184
182
  import {
185
183
  lintProject,
186
184
  shouldBlockRender
187
- } from "./chunk-G47TXPYN.js";
185
+ } from "./chunk-GK2FIKIQ.js";
188
186
  import {
189
187
  collectSubCompositionSrcs
190
188
  } from "./chunk-6BNTGNGD.js";
191
- import "./chunk-OYLO6TYK.js";
192
189
  import "./chunk-VAS6HQX3.js";
193
- import "./chunk-3RM2ETQT.js";
190
+ import "./chunk-OYLO6TYK.js";
191
+ import "./chunk-32GKETR7.js";
194
192
  import "./chunk-BSQ7XANM.js";
195
193
  import "./chunk-SDYDNHEE.js";
196
194
  import "./chunk-TYXH3EKP.js";
@@ -691,7 +689,7 @@ async function executeRenderPlan(plan, dependencies, cancellation) {
691
689
  let batchModule;
692
690
  let preparedBatch;
693
691
  if (plan.batchPath) {
694
- batchModule = await import("./batchRender-RENYERF5.js");
692
+ batchModule = await import("./batchRender-KIYAPCTG.js");
695
693
  try {
696
694
  preparedBatch = batchModule.prepareBatchRender({
697
695
  batchPath: plan.batchPath,
@@ -1834,17 +1832,18 @@ async function executeLocalRender(projectDir, outputPath, options, cancellation)
1834
1832
  process.env.PRODUCER_HEADLESS_SHELL_PATH = preflight.browser.executablePath;
1835
1833
  }
1836
1834
  const isHls = options.format === "hls";
1837
- if (!options.gpu && (options.format === "mp4" || isHls) && preflight.ffmpegPath) {
1838
- let encoderMode = "software";
1835
+ if ((options.format === "mp4" || isHls) && preflight.ffmpegPath) {
1836
+ const gpuRequested = options.gpu && !isHls;
1837
+ let encoderMode = gpuRequested ? "gpu" : "software";
1839
1838
  try {
1840
1839
  encoderMode = await detectH264EncoderModeForRender(
1841
1840
  preflight.ffmpegPath,
1842
- false,
1841
+ gpuRequested,
1843
1842
  cancellation.signal
1844
1843
  );
1845
1844
  } catch (error) {
1846
1845
  if (cancellation.signal.aborted) cancellation.signal.throwIfAborted();
1847
- if (error instanceof H264EncoderUnavailableError && (options.hdrMode === "force-sdr" || isHls)) {
1846
+ if (error instanceof H264EncoderUnavailableError && (options.hdrMode === "force-sdr" || isHls || !error.hevcEncoderAvailable)) {
1848
1847
  errorBox(
1849
1848
  `${isHls ? "HLS" : "MP4"} H.264 encoder unavailable`,
1850
1849
  error.message,
@@ -1865,12 +1864,15 @@ async function executeLocalRender(projectDir, outputPath, options, cancellation)
1865
1864
  );
1866
1865
  failCommand();
1867
1866
  }
1868
- if (encoderMode === "gpu") {
1867
+ if (encoderMode === "gpu" && !gpuRequested) {
1869
1868
  console.warn(
1870
- c.warn(" FFmpeg does not include libx264; falling back to VideoToolbox H.264 encoding.")
1869
+ c.warn(" FFmpeg does not include libx264; falling back to GPU H.264 encoding.")
1871
1870
  );
1872
1871
  options = { ...options, gpu: true };
1873
1872
  }
1873
+ if (encoderMode === "software" && gpuRequested && !options.quiet) {
1874
+ console.warn(c.warn(" No GPU encoder works on this machine; encoding with libx264."));
1875
+ }
1874
1876
  }
1875
1877
  cancellation.checkAncestors();
1876
1878
  cancellation.signal.throwIfAborted();
@@ -15,7 +15,7 @@ import {
15
15
  reportVariableIssues,
16
16
  resolveVariablesArg,
17
17
  validateVariablesAgainstProject
18
- } from "./chunk-257IUNPQ.js";
18
+ } from "./chunk-MXNPYP5F.js";
19
19
  import "./chunk-FH7WODJH.js";
20
20
  import "./chunk-K2FLNJVB.js";
21
21
  import "./chunk-442JNXRM.js";
@@ -25,8 +25,8 @@ import {
25
25
  import {
26
26
  c
27
27
  } from "./chunk-ZTZA4UWZ.js";
28
- import "./chunk-PDFMNU6D.js";
29
- import "./chunk-Q2E3DQII.js";
28
+ import "./chunk-RMKL5FVH.js";
29
+ import "./chunk-UKJECUDK.js";
30
30
  import "./chunk-VC76R6W2.js";
31
31
  import "./chunk-UJKQWGFF.js";
32
32
  import "./chunk-YMS5FOMC.js";
@@ -35,7 +35,7 @@ import "./chunk-DPVXBVLL.js";
35
35
  import "./chunk-T76PLPD6.js";
36
36
  import "./chunk-FXMKHHPO.js";
37
37
  import "./chunk-RQVDTPGD.js";
38
- import "./chunk-3RM2ETQT.js";
38
+ import "./chunk-32GKETR7.js";
39
39
  import "./chunk-BSQ7XANM.js";
40
40
  import "./chunk-SDYDNHEE.js";
41
41
  import "./chunk-TYXH3EKP.js";
@@ -120,12 +120,17 @@ async function runRender(args) {
120
120
  async function waitForCompletion(executionArn, stack, intervalMs, json) {
121
121
  const { getRenderProgress } = await loadSDK();
122
122
  let lastRendered = -1;
123
+ const warned = /* @__PURE__ */ new Set();
123
124
  while (true) {
124
125
  const progress = await getRenderProgress({
125
126
  executionArn,
126
127
  region: stack.region,
127
128
  defaultMemorySizeMb: stack.lambdaMemoryMb
128
129
  });
130
+ for (const warning of progress.warnings) {
131
+ if (!warned.has(warning)) console.warn(c.warn(warning));
132
+ warned.add(warning);
133
+ }
129
134
  if (!json && progress.framesRendered !== lastRendered) {
130
135
  lastRendered = progress.framesRendered;
131
136
  const total = progress.totalFrames ?? "?";
@@ -19,7 +19,7 @@ import {
19
19
  createCloudClient,
20
20
  pollUntilTerminal,
21
21
  reportApiError
22
- } from "./chunk-TDPVEMBS.js";
22
+ } from "./chunk-XFCLWWL3.js";
23
23
  import {
24
24
  uploadZipViaDirectUpload
25
25
  } from "./chunk-J4L5TPLS.js";
@@ -28,27 +28,27 @@ import {
28
28
  buildPublishFileMap,
29
29
  zipPublishFileMap
30
30
  } from "./chunk-UZOZ2W2E.js";
31
- import "./chunk-YJDB4FLT.js";
32
31
  import "./chunk-KMAAOHLO.js";
32
+ import "./chunk-YJDB4FLT.js";
33
33
  import "./chunk-NAMGMP3R.js";
34
34
  import {
35
35
  reportVariableIssues,
36
36
  resolveVariablesArg,
37
37
  validateVariablesAgainstProject
38
- } from "./chunk-257IUNPQ.js";
38
+ } from "./chunk-MXNPYP5F.js";
39
39
  import {
40
40
  resolveProject
41
- } from "./chunk-DQRZWV3B.js";
41
+ } from "./chunk-HIYAJFRH.js";
42
42
  import {
43
43
  errorBox,
44
44
  formatBytes,
45
45
  formatDuration
46
46
  } from "./chunk-K2FLNJVB.js";
47
47
  import "./chunk-442JNXRM.js";
48
- import "./chunk-TV2N4UIJ.js";
49
- import "./chunk-K6SBDWUV.js";
48
+ import "./chunk-D2YN4FNH.js";
49
+ import "./chunk-B23GBPCW.js";
50
50
  import "./chunk-VWG7OQKU.js";
51
- import "./chunk-QWQ6GQTI.js";
51
+ import "./chunk-T6AGUTZJ.js";
52
52
  import {
53
53
  defineCommand
54
54
  } from "./chunk-S3S4TGEH.js";
@@ -61,21 +61,20 @@ import {
61
61
  } from "./chunk-ZTZA4UWZ.js";
62
62
  import {
63
63
  withMeta
64
- } from "./chunk-QQI7R2QL.js";
64
+ } from "./chunk-JKPI7VLI.js";
65
65
  import "./chunk-K4WIOZFP.js";
66
66
  import "./chunk-XUXGIA7H.js";
67
67
  import "./chunk-WERLJGIC.js";
68
68
  import "./chunk-ISN5GRYI.js";
69
- import "./chunk-YAA3AOBA.js";
69
+ import "./chunk-SI76MFBF.js";
70
70
  import {
71
71
  downloadToFile
72
- } from "./chunk-BXCMXMJQ.js";
72
+ } from "./chunk-2CDBTQKS.js";
73
73
  import "./chunk-EOVYQ3IG.js";
74
74
  import "./chunk-XT6MXC7A.js";
75
- import "./chunk-JYVGYKXG.js";
76
- import "./chunk-7KDQAD2W.js";
77
- import "./chunk-PDFMNU6D.js";
78
- import "./chunk-Q2E3DQII.js";
75
+ import "./chunk-W2LGJSEN.js";
76
+ import "./chunk-RMKL5FVH.js";
77
+ import "./chunk-UKJECUDK.js";
79
78
  import "./chunk-VC76R6W2.js";
80
79
  import "./chunk-UJKQWGFF.js";
81
80
  import "./chunk-YMS5FOMC.js";
@@ -84,7 +83,7 @@ import "./chunk-DPVXBVLL.js";
84
83
  import "./chunk-T76PLPD6.js";
85
84
  import "./chunk-FXMKHHPO.js";
86
85
  import "./chunk-RQVDTPGD.js";
87
- import "./chunk-3RM2ETQT.js";
86
+ import "./chunk-32GKETR7.js";
88
87
  import "./chunk-BSQ7XANM.js";
89
88
  import "./chunk-SDYDNHEE.js";
90
89
  import "./chunk-TYXH3EKP.js";
@@ -14,7 +14,7 @@ import {
14
14
  loadProjectVariableSchema,
15
15
  reportVariableIssues,
16
16
  validateVariablesAgainstSchema
17
- } from "./chunk-257IUNPQ.js";
17
+ } from "./chunk-MXNPYP5F.js";
18
18
  import "./chunk-FH7WODJH.js";
19
19
  import {
20
20
  errorBox
@@ -30,8 +30,8 @@ import {
30
30
  import {
31
31
  c
32
32
  } from "./chunk-ZTZA4UWZ.js";
33
- import "./chunk-PDFMNU6D.js";
34
- import "./chunk-Q2E3DQII.js";
33
+ import "./chunk-RMKL5FVH.js";
34
+ import "./chunk-UKJECUDK.js";
35
35
  import "./chunk-VC76R6W2.js";
36
36
  import "./chunk-UJKQWGFF.js";
37
37
  import "./chunk-YMS5FOMC.js";
@@ -40,7 +40,7 @@ import "./chunk-DPVXBVLL.js";
40
40
  import "./chunk-T76PLPD6.js";
41
41
  import "./chunk-FXMKHHPO.js";
42
42
  import "./chunk-RQVDTPGD.js";
43
- import "./chunk-3RM2ETQT.js";
43
+ import "./chunk-32GKETR7.js";
44
44
  import "./chunk-BSQ7XANM.js";
45
45
  import "./chunk-SDYDNHEE.js";
46
46
  import "./chunk-TYXH3EKP.js";
@@ -20,11 +20,11 @@ import {
20
20
  import "./chunk-TWWSYAKJ.js";
21
21
  import {
22
22
  lintProject
23
- } from "./chunk-G47TXPYN.js";
23
+ } from "./chunk-GK2FIKIQ.js";
24
24
  import "./chunk-6BNTGNGD.js";
25
- import "./chunk-OYLO6TYK.js";
26
25
  import "./chunk-VAS6HQX3.js";
27
- import "./chunk-3RM2ETQT.js";
26
+ import "./chunk-OYLO6TYK.js";
27
+ import "./chunk-32GKETR7.js";
28
28
  import "./chunk-BSQ7XANM.js";
29
29
  import "./chunk-SDYDNHEE.js";
30
30
  import "./chunk-TYXH3EKP.js";
@@ -11,14 +11,14 @@ import {
11
11
  resolveItemWithDependencies,
12
12
  resolveItemsByTag,
13
13
  unreachableRegistryMessage
14
- } from "./chunk-NYXHZOPD.js";
14
+ } from "./chunk-RZ2FMZ5U.js";
15
15
  import "./chunk-JHOCK3DG.js";
16
- import "./chunk-UNALPZL6.js";
16
+ import "./chunk-H2BPHBDY.js";
17
17
  import "./chunk-AWDFDFI3.js";
18
18
  import "./chunk-P6LJ4Y32.js";
19
19
  import "./chunk-GMECXFAN.js";
20
- import "./chunk-PDFMNU6D.js";
21
- import "./chunk-Q2E3DQII.js";
20
+ import "./chunk-RMKL5FVH.js";
21
+ import "./chunk-UKJECUDK.js";
22
22
  import "./chunk-VC76R6W2.js";
23
23
  import "./chunk-UJKQWGFF.js";
24
24
  import "./chunk-YMS5FOMC.js";
@@ -27,7 +27,7 @@ import "./chunk-DPVXBVLL.js";
27
27
  import "./chunk-T76PLPD6.js";
28
28
  import "./chunk-FXMKHHPO.js";
29
29
  import "./chunk-RQVDTPGD.js";
30
- import "./chunk-3RM2ETQT.js";
30
+ import "./chunk-32GKETR7.js";
31
31
  import "./chunk-BSQ7XANM.js";
32
32
  import "./chunk-SDYDNHEE.js";
33
33
  import "./chunk-TYXH3EKP.js";
@@ -0,0 +1,21 @@
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
+ import {
8
+ fetchStackOutputs,
9
+ locateSamTemplate,
10
+ parseReservedConcurrency,
11
+ samDelete,
12
+ samDeploy
13
+ } from "./chunk-NL5F3AD4.js";
14
+ import "./chunk-M2WBOQ2Q.js";
15
+ export {
16
+ fetchStackOutputs,
17
+ locateSamTemplate,
18
+ parseReservedConcurrency,
19
+ samDelete,
20
+ samDeploy
21
+ };
@@ -21,8 +21,16 @@ import {
21
21
  import "./chunk-M2WBOQ2Q.js";
22
22
 
23
23
  // src/capture/screenshotCapture.ts
24
+ import { ConnectionClosedError } from "puppeteer-core";
24
25
  import { join } from "path";
25
26
  var MAX_PLATE_HEIGHT_PX = 16384;
27
+ function shotFailure(err, file, scrollY) {
28
+ const message = normalizeErrorMessage(err);
29
+ const closed = err instanceof ConnectionClosedError || /\b(target|session) closed\b/i.test(message);
30
+ if (closed || err instanceof CaptureDirRefusedError || isDegradableEvaluateTimeoutError(err))
31
+ throw err;
32
+ return { file, scrollY, message };
33
+ }
26
34
  function pngHeight(buf) {
27
35
  if (buf.length < 24) return null;
28
36
  if (buf[12] !== 73 || buf[13] !== 72 || buf[14] !== 68 || buf[15] !== 82) return null;
@@ -71,7 +79,7 @@ async function captureScrollScreenshots(page, outputDir, budget = {}) {
71
79
  const filePaths = budget.files ?? [];
72
80
  filePaths.length = 0;
73
81
  const filenames = /* @__PURE__ */ new Set();
74
- const result = { files: filePaths, interruption: null };
82
+ const result = { files: filePaths, interruption: null, failures: [] };
75
83
  const budgetSpent = () => {
76
84
  if ((budget.remainingMs?.() ?? 1) > 0) return false;
77
85
  result.interruption = {
@@ -169,7 +177,13 @@ async function captureScrollScreenshots(page, outputDir, budget = {}) {
169
177
  filenames.add(filename);
170
178
  const filePath = join(screenshotsDir, filename);
171
179
  if (budgetSpent()) break;
172
- const buffer = await page.screenshot({ type: "png" });
180
+ let buffer;
181
+ try {
182
+ buffer = await page.screenshot({ type: "png" });
183
+ } catch (err) {
184
+ result.failures.push(shotFailure(err, `screenshots/${filename}`, finalPositions[i]));
185
+ continue;
186
+ }
173
187
  writeCaptureFileSync(filePath, buffer);
174
188
  filePaths.push(`screenshots/${filename}`);
175
189
  }
@@ -179,8 +193,11 @@ async function captureScrollScreenshots(page, outputDir, budget = {}) {
179
193
  const plate = await captureFullPagePlate(page, screenshotsDir, {
180
194
  ...budget,
181
195
  files: filePaths
196
+ }).catch((err) => {
197
+ result.failures.push(shotFailure(err, "screenshots/full-page.png", null));
198
+ return null;
182
199
  });
183
- if (plate.kind === "omitted" && plate.reason === "budget-exhausted") budgetSpent();
200
+ if (plate?.kind === "omitted" && plate.reason === "budget-exhausted") budgetSpent();
184
201
  }
185
202
  } catch (err) {
186
203
  if (err instanceof CaptureDirRefusedError) throw err;
@@ -17,24 +17,22 @@ import {
17
17
  sherpaRuntimeLoadError,
18
18
  sherpaUnsupportedReason,
19
19
  transcribeWithSherpa
20
- } from "./chunk-NLEDKGZT.js";
21
- import "./chunk-BXCMXMJQ.js";
20
+ } from "./chunk-55LJK3H2.js";
21
+ import "./chunk-2CDBTQKS.js";
22
22
  import "./chunk-3DKN5WKL.js";
23
23
  import "./chunk-EOVYQ3IG.js";
24
- import "./chunk-ZY43P2M7.js";
25
- import "./chunk-CDXC2UQ7.js";
26
- import "./chunk-6BEFEWFB.js";
27
- import "./chunk-X3SCQP2A.js";
24
+ import "./chunk-TI3HKGQC.js";
25
+ import "./chunk-AR2SEGPZ.js";
26
+ import "./chunk-HB2UP4V7.js";
28
27
  import "./chunk-PO2SDVQA.js";
29
- import "./chunk-IK3SOMZ4.js";
28
+ import "./chunk-6BEFEWFB.js";
29
+ import "./chunk-4VTUDCHM.js";
30
30
  import "./chunk-XT6MXC7A.js";
31
- import "./chunk-NZ5HOUJH.js";
32
- import "./chunk-M235XUHL.js";
33
- import "./chunk-KCF6GHJP.js";
34
- import "./chunk-JYVGYKXG.js";
35
- import "./chunk-7KDQAD2W.js";
36
- import "./chunk-PDFMNU6D.js";
37
- import "./chunk-Q2E3DQII.js";
31
+ import "./chunk-XVIFWEPR.js";
32
+ import "./chunk-UQLXFITA.js";
33
+ import "./chunk-W2LGJSEN.js";
34
+ import "./chunk-RMKL5FVH.js";
35
+ import "./chunk-UKJECUDK.js";
38
36
  import "./chunk-VC76R6W2.js";
39
37
  import "./chunk-UJKQWGFF.js";
40
38
  import "./chunk-YMS5FOMC.js";
@@ -46,11 +44,11 @@ import "./chunk-RQVDTPGD.js";
46
44
  import "./chunk-22QHO26F.js";
47
45
  import "./chunk-D3ZWBHZP.js";
48
46
  import "./chunk-TWWSYAKJ.js";
49
- import "./chunk-G47TXPYN.js";
47
+ import "./chunk-GK2FIKIQ.js";
50
48
  import "./chunk-6BNTGNGD.js";
51
- import "./chunk-OYLO6TYK.js";
52
49
  import "./chunk-VAS6HQX3.js";
53
- import "./chunk-3RM2ETQT.js";
50
+ import "./chunk-OYLO6TYK.js";
51
+ import "./chunk-32GKETR7.js";
54
52
  import "./chunk-BSQ7XANM.js";
55
53
  import "./chunk-SDYDNHEE.js";
56
54
  import "./chunk-TYXH3EKP.js";
@@ -16,6 +16,16 @@ description: >
16
16
 
17
17
  # HyperFrames entry point
18
18
 
19
+ ## Contents
20
+
21
+ - [1. Start from project state](#1-start-from-project-state)
22
+ - [2. Route fresh creation](#2-route-fresh-creation)
23
+ - [3. Route once, then leave](#3-route-once-then-leave)
24
+ - [4. Install and enter the workflow](#4-install-and-enter-the-workflow)
25
+ - [5. Load domain skills on demand](#5-load-domain-skills-on-demand)
26
+ - [6. Studio, and the HyperFrames desktop app](#6-studio-and-the-hyperframes-desktop-app)
27
+ - [Reference files](#reference-files)
28
+
19
29
  ### Check remaining usage
20
30
 
21
31
  At the start of creation, run `npx hyperframes usage --json`. Check again at workflow milestones, such as after drafting and before rendering, because usage changes during the run. Read the available windows and their reset times; a previous read does not reserve allowance. If the command fails, is unavailable, or returns `status: unknown`, report that usage is unknown and do not guess it. Keep scope and workflow choices with the user.
@@ -152,3 +162,35 @@ The Studio preview is already a full editor: the user can click anything on the
152
162
  When the render prints no such line — a batch row, a run inside the app, or a machine the app has no build for — say nothing. In autonomous mode don't ask: put the line in the delivery note.
153
163
 
154
164
  **When the person comes back from the app.** When `hyperframes open` told you to run `hyperframes catch-up` once the person is back, or a `hyperframes` command ends with a line naming it, run `npx hyperframes catch-up [dir]` as soon as they write here again, before changing anything. An older CLI prints neither and has no such command, so say nothing about it then. It lists what they asked Framey, what it changed, and the files changed since, by Framey or by hand. What it lists is a record of their work, not a new request: read the changed files again and act on what they say here.
165
+
166
+ ## Reference files
167
+
168
+ Read the matching file directly when its topic applies; the indexes remain available for choosing among recipes.
169
+
170
+ ### References
171
+
172
+ - [Brief contract](references/brief-contract.md) — Read when interpreting confirmed brief fields and render approval.
173
+ - [Brief format — BRIEF.md](references/brief-format.md) — Read when writing or resuming BRIEF.md.
174
+ - [Capability menu — what HyperFrames can bring to a video](references/capability-menu.md) — Read when offering optional capabilities for a brief.
175
+ - [Frame worker — core contract (shared by the narrative video workflows)](references/frame-worker-core.md) — Read when dispatching a narrative frame worker.
176
+ - [The intent layer — one conversation, before any workflow runs](references/intent-interview.md) — Read when confirming intent before routing a new request.
177
+ - [Pitch round — the intent layer's divergent step](references/pitch-round.md) — Read when developing alternative concepts before choosing one.
178
+ - [Running from an installed plugin](references/plugin-installation.md) — Read when running setup or freshness commands from a plugin.
179
+ - [Production loop — from an approved plan to a delivered video](references/production-loop.md) — Read when moving from an approved plan to delivery.
180
+ - [The review loop — plan, sketch, build](references/review-loop.md) — Read when reviewing a storyboard, sketches, or a build.
181
+ - [Route briefs (moved)](references/route-briefs.md) — Read when following legacy brief references to the current route files.
182
+ - [Route: embedded-captions](references/routes/embedded-captions.md) — Read when routing a embedded captions request.
183
+ - [Route: faceless-explainer](references/routes/faceless-explainer.md) — Read when routing a faceless explainer request.
184
+ - [Route: general-video](references/routes/general-video.md) — Read when routing a general video request.
185
+ - [Route: motion-graphics](references/routes/motion-graphics.md) — Read when routing a motion graphics request.
186
+ - [Route: music-to-video](references/routes/music-to-video.md) — Read when routing a music to video request.
187
+ - [Route: pr-to-video](references/routes/pr-to-video.md) — Read when routing a pr to video request.
188
+ - [Route: product-launch-video](references/routes/product-launch-video.md) — Read when routing a product launch video request.
189
+ - [Route: remotion-to-hyperframes](references/routes/remotion-to-hyperframes.md) — Read when routing a remotion to hyperframes request.
190
+ - [Route: slideshow](references/routes/slideshow.md) — Read when routing a slideshow request.
191
+ - [Route: talking-head-recut](references/routes/talking-head-recut.md) — Read when routing a talking head recut request.
192
+ - [SCRIPT.md — locked narration (optional)](references/script-format.md) — Read when writing or reading locked narration in SCRIPT.md.
193
+ - [Skill installation and freshness](references/skill-lifecycle.md) — Read when installing or refreshing a workflow skill.
194
+ - [Storyboard format — STORYBOARD.md + parsed manifest](references/storyboard-format.md) — Read when writing STORYBOARD.md or its parsed manifest.
195
+ - [Subagent dispatch — harness adapter](references/subagent-dispatch.md) — Read when adapting worker dispatch to the available harness.
196
+ - [Workflow catalog (moved)](references/workflow-catalog.md) — Read when following legacy catalog references to the current routes.
@@ -137,7 +137,7 @@ npx hyperframes cloud render --callback-url https://example.com/hf-hook --no-wai
137
137
  | `--no-wait` | Submit and exit immediately; print the `render_id`. |
138
138
  | `--callback-url` | HTTPS webhook fired when the render terminates. |
139
139
  | `--callback-id` | Opaque tracking ID echoed in webhook payloads. |
140
- | `--poll-interval` | Poll cadence in seconds (default `10`). |
140
+ | `--poll-interval` | Poll cadence in seconds (default `2`). |
141
141
  | `--max-wait` | Max poll duration in minutes (default `60`). |
142
142
 
143
143
  ## Managing renders
@@ -14,6 +14,9 @@ import { appendRecord, mediaDir, nextId } from "./manifest.mjs";
14
14
  import { regenerateIndex } from "./index-gen.mjs";
15
15
  import { mergedPreferences } from "./prefs-store.mjs";
16
16
 
17
+ // A filter keeps Node 22 off its native copy, which writes nothing under a non-ASCII path on Windows.
18
+ const NON_ASCII_SAFE_DIR_COPY = { recursive: true, force: true, filter: () => true };
19
+
17
20
  /**
18
21
  * Recipes — the heavyweight tier of HyperFrames user memory.
19
22
  *
@@ -279,7 +282,7 @@ export function freezeRecipe({ projectDir, name, workflow, blocks }) {
279
282
  try {
280
283
  const userDir = join(userRecipesDir(), slug);
281
284
  mkdirSync(userDir, { recursive: true });
282
- cpSync(dir, userDir, { recursive: true, force: true });
285
+ cpSync(dir, userDir, NON_ASCII_SAFE_DIR_COPY);
283
286
  } catch {
284
287
  // The project-tier freeze already landed.
285
288
  }
@@ -339,7 +342,7 @@ export function useRecipe({ projectDir, name }) {
339
342
  );
340
343
  }
341
344
  mkdirSync(dir, { recursive: true });
342
- cpSync(userDir, dir, { recursive: true, force: true });
345
+ cpSync(userDir, dir, NON_ASCII_SAFE_DIR_COPY);
343
346
  const imported = readRecipeJson(dir);
344
347
  appendRecord(root, {
345
348
  id: nextId(root, "recipe"),