hyperframes 0.8.184 → 0.8.185

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 (309) hide show
  1. package/dist/{add-5ZTD3MUZ.js → add-ODTNPRGG.js} +14 -14
  2. package/dist/{agentPromptGenerator-VIIPZCJ3.js → agentPromptGenerator-KYO5MKTW.js} +1 -1
  3. package/dist/{animatedGifPrep-AGASIWVA.js → animatedGifPrep-PEP5GWOJ.js} +9 -9
  4. package/dist/api.js +17 -17
  5. package/dist/{asset-LSTEMPIB.js → asset-EZG42XPA.js} +2 -2
  6. package/dist/{assetCataloger-BKBMNL3A.js → assetCataloger-OHAJFCA7.js} +9 -9
  7. package/dist/{audio-KGK44XE4.js → audio-65R4T74I.js} +16 -15
  8. package/dist/{auth-MJWKYK77.js → auth-VP2SIZFN.js} +1 -1
  9. package/dist/{autoUpdate-2GGDKYR2.js → autoUpdate-RVSUX4SS.js} +2 -2
  10. package/dist/{backgroundChecks-7GRX5VQY.js → backgroundChecks-LEHK74NS.js} +3 -3
  11. package/dist/backgroundChecksWorker.js +3 -3
  12. package/dist/{batchRender-BCV2LELR.js → batchRender-3X6CL7PK.js} +5 -5
  13. package/dist/{beats-7BCFRBAL.js → beats-66VPQLSC.js} +6 -6
  14. package/dist/{benchmark-2R6CN5MQ.js → benchmark-PBJVTOJP.js} +10 -10
  15. package/dist/{browser-6AFGOI7G.js → browser-TPL5MWGC.js} +3 -3
  16. package/dist/{bundleWithLocalizedFonts-2EGPA5ZO.js → bundleWithLocalizedFonts-67MLTHKM.js} +2 -2
  17. package/dist/{capture-HOIAW6MO.js → capture-F3GNMRZM.js} +13 -13
  18. package/dist/{capture-HA2UHLIU.js → capture-YYRE7EV3.js} +2 -2
  19. package/dist/{captureCompositionFrame-4236FVWJ.js → captureCompositionFrame-PXV2ISHD.js} +13 -13
  20. package/dist/{catalog-A6CZAWW4.js → catalog-6SDD3OHF.js} +14 -14
  21. package/dist/{catch-up-TNA4DJOA.js → catch-up-CWIVA5VG.js} +4 -4
  22. package/dist/{check-5E5U2EQZ.js → check-YQ6REK2S.js} +34 -34
  23. package/dist/{checkBrowser-FNINXBMZ.js → checkBrowser-5XZCBRXM.js} +31 -31
  24. package/dist/{chunk-2ULXZ4PG.js → chunk-2TAS5O4P.js} +56 -11
  25. package/dist/{chunk-3TXNNBI2.js → chunk-37CNYTQQ.js} +2 -2
  26. package/dist/chunk-3NPOFC43.js +3805 -0
  27. package/dist/{chunk-EEP5Y5IE.js → chunk-46HEFGXJ.js} +1 -1
  28. package/dist/{chunk-2XA7KXQO.js → chunk-4CTNDBE3.js} +2 -2
  29. package/dist/{chunk-MFAETWIF.js → chunk-55YELV7B.js} +1 -1
  30. package/dist/{chunk-LRGYPXHF.js → chunk-5GUKZRQN.js} +1 -1
  31. package/dist/{chunk-SAX7HQ5E.js → chunk-6ASIXMFP.js} +1 -1
  32. package/dist/{chunk-SN7KI5JA.js → chunk-6GPR3G3C.js} +2 -2
  33. package/dist/{chunk-E32ZQ2WO.js → chunk-6RIZY7OP.js} +1 -1
  34. package/dist/{chunk-5CS4T6C6.js → chunk-7L37AB57.js} +1 -1
  35. package/dist/{chunk-BCHSTE7U.js → chunk-7PS6RVWD.js} +1 -1
  36. package/dist/{chunk-X3CG5YQA.js → chunk-7RAY4WZP.js} +3 -3
  37. package/dist/{chunk-YWHCXIMD.js → chunk-A6QCO474.js} +5 -5
  38. package/dist/{chunk-YMS5FOMC.js → chunk-B2A56S5C.js} +1 -1
  39. package/dist/{chunk-IWTNTUPQ.js → chunk-BH7TTIPN.js} +11 -13
  40. package/dist/{chunk-DWUGKEHR.js → chunk-BRAPBUPQ.js} +1 -1
  41. package/dist/{chunk-R2BFTECP.js → chunk-CX3USX23.js} +3 -3
  42. package/dist/{chunk-JB6ARMQS.js → chunk-D42NU3DZ.js} +1 -1
  43. package/dist/{chunk-GDEV42FA.js → chunk-EMAWIZ54.js} +481 -36
  44. package/dist/{chunk-UNNXFKVG.js → chunk-EMSDWBG3.js} +2 -2
  45. package/dist/{chunk-CXABAXB3.js → chunk-ESBMUZXZ.js} +1 -1
  46. package/dist/{chunk-EM7C7H7S.js → chunk-F3OPUWQX.js} +7 -7
  47. package/dist/{chunk-YOZPQCSR.js → chunk-FX6RUJUY.js} +3 -3
  48. package/dist/{chunk-PSKEKWVU.js → chunk-G2UANIDX.js} +1 -1
  49. package/dist/{chunk-UKOTVJFV.js → chunk-H5SM5PJI.js} +1 -1
  50. package/dist/{chunk-YWNJTZGN.js → chunk-H6UY725W.js} +2 -2
  51. package/dist/{chunk-PFYWVUHA.js → chunk-HDIRZGK4.js} +1 -1
  52. package/dist/{chunk-HR23IKLZ.js → chunk-HHSJJFVM.js} +2 -2
  53. package/dist/{chunk-LLC4CS6I.js → chunk-HXUTX5GR.js} +3 -3
  54. package/dist/{chunk-RGXVEYHI.js → chunk-I3IH5MV5.js} +6 -10
  55. package/dist/{chunk-Q33P4EAC.js → chunk-I45HL3VP.js} +3 -3
  56. package/dist/{chunk-TYXH3EKP.js → chunk-I5JRXMCV.js} +16 -1
  57. package/dist/{chunk-4N4P3ZWL.js → chunk-I7QMXZSB.js} +2 -2
  58. package/dist/{chunk-ICJEAFPD.js → chunk-IDFNKFPL.js} +7 -7
  59. package/dist/{chunk-VNVQGDPC.js → chunk-IDGLGXPA.js} +1 -1
  60. package/dist/{chunk-2PVE4WS2.js → chunk-IPDKZ5IN.js} +33 -6
  61. package/dist/{chunk-ABZYYUUH.js → chunk-ISTRDGIX.js} +1 -1
  62. package/dist/{chunk-3MDJIWOV.js → chunk-IVEFOUZI.js} +46 -30
  63. package/dist/{chunk-4KKKBEP3.js → chunk-J5XEZ24I.js} +3 -3
  64. package/dist/{chunk-7HJALUIO.js → chunk-K2ZKXTVL.js} +1 -1
  65. package/dist/{chunk-TE427YID.js → chunk-K73RJB23.js} +2 -2
  66. package/dist/{chunk-3QVMJ7GX.js → chunk-KQ4JEJLF.js} +9 -9
  67. package/dist/{chunk-J3QM7AHP.js → chunk-KROXPHXX.js} +9 -3
  68. package/dist/{chunk-OLZENUPI.js → chunk-LLFQA7XF.js} +1 -1
  69. package/dist/chunk-LLMSX6V6.js +17 -0
  70. package/dist/{chunk-WTFUDNW2.js → chunk-LYKSTRAY.js} +3 -3
  71. package/dist/{chunk-VDM3FEDP.js → chunk-OAG47RE6.js} +1 -1
  72. package/dist/{chunk-FGJEUV4S.js → chunk-PHMBMOXF.js} +1 -1
  73. package/dist/{chunk-7MB2ZAQF.js → chunk-PMMQRJDE.js} +1 -1
  74. package/dist/{chunk-ADDHW2FS.js → chunk-Q447CX26.js} +82 -12
  75. package/dist/{chunk-YALM6XN4.js → chunk-Q47FAYYK.js} +3 -3
  76. package/dist/{chunk-ZOCHDXDG.js → chunk-RTBSA3EA.js} +1 -1
  77. package/dist/{chunk-UJKUB2LH.js → chunk-RUEGYANA.js} +11 -11
  78. package/dist/{chunk-OYLO6TYK.js → chunk-RUOG4VB7.js} +1 -1
  79. package/dist/{chunk-ZRHO6YMM.js → chunk-SKYPMHQC.js} +4 -4
  80. package/dist/{chunk-ES426XRJ.js → chunk-SQVRXHOW.js} +3 -3
  81. package/dist/{chunk-QL2PNIXC.js → chunk-TAX2ZJAP.js} +24 -16
  82. package/dist/{chunk-KN46TGHV.js → chunk-TOI35GN2.js} +1 -1
  83. package/dist/{chunk-74JMKLVU.js → chunk-UPR3MU6Z.js} +1 -1
  84. package/dist/{chunk-JIUTXKWA.js → chunk-WQLKDL35.js} +2 -1
  85. package/dist/{chunk-WHPN2TIT.js → chunk-X6L6MD5B.js} +5 -5
  86. package/dist/{chunk-7NRI7HYX.js → chunk-XWC7CNPY.js} +1 -1
  87. package/dist/{clean-HGASSMWI.js → clean-7J6ZCCGV.js} +18 -18
  88. package/dist/cli.js +53 -53
  89. package/dist/{cloud-JPDVNXHN.js → cloud-7IJCJCDD.js} +4 -4
  90. package/dist/{cloudrun-AMMGSDRP.js → cloudrun-UNZRIIDB.js} +7 -7
  91. package/dist/commands/contrast-audit.browser.js +1 -2
  92. package/dist/commands/layout-audit.browser.js +196 -0
  93. package/dist/{compare-LHHVHUN3.js → compare-Q7VW5JZT.js} +28 -28
  94. package/dist/{compiler-Q3N6QXMT.js → compiler-KPHYGFXL.js} +6 -6
  95. package/dist/{component-D72J32Q7.js → component-UUBREJKN.js} +3 -3
  96. package/dist/{compositions-UQRJ5ROG.js → compositions-T4FTKIDP.js} +13 -13
  97. package/dist/{delete-P42VIDDA.js → delete-WZQF2IIA.js} +2 -2
  98. package/dist/{deploy-WZTH57O4.js → deploy-JU7A3XNC.js} +1 -1
  99. package/dist/{deterministicFonts-VQ5UBMXY.js → deterministicFonts-EGAAE7QL.js} +3 -3
  100. package/dist/{dist-SENYPQGW.js → dist-LM7AVHOU.js} +3 -3
  101. package/dist/{dist-DYS24AMA.js → dist-ULGTPSU4.js} +8 -4
  102. package/dist/docs/data-attributes.md +1 -1
  103. package/dist/{doctor-KEJIG2SK.js → doctor-VSNGRKXJ.js} +13 -13
  104. package/dist/{events-CYKSNR7N.js → events-CRW2DYUT.js} +3 -3
  105. package/dist/{events-UZXFQPMT.js → events-E63YBUL2.js} +3 -3
  106. package/dist/{feedback-LXNQF7CA.js → feedback-OSZWVR6N.js} +8 -8
  107. package/dist/{ffmpeg-BYHON577.js → ffmpeg-JLH3Z7G7.js} +9 -9
  108. package/dist/{figma-EIQ35PS6.js → figma-2BQNNR53.js} +3 -3
  109. package/dist/fontLocalizeCli.js +12 -12
  110. package/dist/{get-CC2YL7QO.js → get-P2XI53QW.js} +2 -2
  111. package/dist/{gpuPolicy-VFSACUQV.js → gpuPolicy-NTKQJY75.js} +9 -9
  112. package/dist/{grade-compare-TUQL7IV2.js → grade-compare-OYASIHIB.js} +29 -29
  113. package/dist/{gsapParserAcorn-7NCK2LVT.js → gsapParserAcorn-SKODXC2N.js} +2 -2
  114. package/dist/{help-ROROO5K6.js → help-HK6K2N4G.js} +1 -1
  115. package/dist/{history-PNELYLXX.js → history-JMTYKLXW.js} +6 -6
  116. package/dist/hyperframe.manifest.json +1 -1
  117. package/dist/hyperframe.runtime.iife.js +63 -63
  118. package/dist/hyperframes-player.global.js +1 -1
  119. package/dist/{info-4FZTH6AS.js → info-AW7CIVRE.js} +9 -9
  120. package/dist/{init-I43GHHVP.js → init-6KIDG4LB.js} +30 -30
  121. package/dist/{inspect-IT4TYIZ3.js → inspect-B7BLYMRZ.js} +29 -29
  122. package/dist/{installer-CWOJVK5K.js → installer-ZP2LQZUQ.js} +7 -7
  123. package/dist/{keyframes-3FBOGVD4.js → keyframes-EQ36A5JE.js} +7 -7
  124. package/dist/{lambda-H3V32I7M.js → lambda-E6VURLIS.js} +9 -9
  125. package/dist/{layout-BZ5LYJ5C.js → layout-XYC64QQQ.js} +29 -29
  126. package/dist/{lint-ZTNSGP2S.js → lint-V5DJYWBX.js} +9 -9
  127. package/dist/{lintProject-C2ONSH2U.js → lintProject-JATQKR64.js} +3 -3
  128. package/dist/{list-XM4GWJYY.js → list-RUGVRTVD.js} +2 -2
  129. package/dist/{login-H6HYKMWX.js → login-ZTKGKXGS.js} +4 -4
  130. package/dist/{manager-TWVDSJXO.js → manager-JUP7PM6N.js} +10 -10
  131. package/dist/{media-treatment-N7MY5NXB.js → media-treatment-VIUPK4OR.js} +15 -15
  132. package/dist/{models-WEMIMYBD.js → models-LJS2HBOZ.js} +13 -13
  133. package/dist/{motionShot-RHICTVPU.js → motionShot-3UAXZ7SN.js} +16 -16
  134. package/dist/{normalize-audio-ZFUZCJE3.js → normalize-audio-SBYI4YIH.js} +4 -4
  135. package/dist/{open-IBJ4FL3G.js → open-S27TUD3A.js} +14 -14
  136. package/dist/{parakeetRunner-XXO4WSLR.js → parakeetRunner-ETLMLJ4L.js} +14 -14
  137. package/dist/{pipeline-6ML3LUVK.js → pipeline-I2M22M24.js} +10 -10
  138. package/dist/{play-RV4NAVF5.js → play-COJU6VJK.js} +21 -21
  139. package/dist/{preflight-R3DEFMLA.js → preflight-FZ24NCHH.js} +10 -10
  140. package/dist/{present-5TBJGE6B.js → present-YAHKLC5D.js} +17 -17
  141. package/dist/{preview-FLKZ5CXJ.js → preview-KQOEU5YE.js} +20 -20
  142. package/dist/{producer-7XYSPVKH.js → producer-DTNNG4T6.js} +1 -1
  143. package/dist/{projectConfig-TBU2VWZX.js → projectConfig-4A76VYUP.js} +9 -9
  144. package/dist/{publication-CWWUJYJ5.js → publication-SQPMC2W3.js} +4 -4
  145. package/dist/{publish-FSNE4FEB.js → publish-QUEJBGGT.js} +11 -11
  146. package/dist/{remove-background-MDFWRWCT.js → remove-background-FP2ETAQH.js} +11 -11
  147. package/dist/{render-F4JQ553X.js → render-BIFIL4U6.js} +31 -31
  148. package/dist/{render-DBGQZAZT.js → render-GQFXJWLV.js} +17 -29
  149. package/dist/{render-LWZKXCLY.js → render-P664SMC7.js} +5 -5
  150. package/dist/{render-batch-PU7NMLIJ.js → render-batch-ZCPMYH6Z.js} +5 -5
  151. package/dist/renderSetupWorker.js +3 -3
  152. package/dist/{resolver-RUBGFXPC.js → resolver-BUC2GFZQ.js} +6 -6
  153. package/dist/{sherpa-X2TBNO6P.js → sherpa-HFT6XEP6.js} +13 -13
  154. package/dist/skills/hyperframes/SKILL.md +52 -174
  155. package/dist/skills/hyperframes/assets/frame-presets/biennale-yellow/FRAME.md +289 -0
  156. package/dist/skills/hyperframes/assets/frame-presets/biennale-yellow/caption-skin.html +220 -0
  157. package/dist/skills/hyperframes/assets/frame-presets/biennale-yellow/frame-showcase.html +1214 -0
  158. package/dist/skills/hyperframes/assets/frame-presets/blockframe/FRAME.md +275 -0
  159. package/dist/skills/hyperframes/assets/frame-presets/blockframe/caption-skin.html +223 -0
  160. package/dist/skills/hyperframes/assets/frame-presets/blockframe/frame-showcase.html +1347 -0
  161. package/dist/skills/hyperframes/assets/frame-presets/blue-professional/FRAME.md +307 -0
  162. package/dist/skills/hyperframes/assets/frame-presets/blue-professional/caption-skin.html +222 -0
  163. package/dist/skills/hyperframes/assets/frame-presets/blue-professional/frame-showcase.html +1372 -0
  164. package/dist/skills/hyperframes/assets/frame-presets/bold-poster/FRAME.md +275 -0
  165. package/dist/skills/hyperframes/assets/frame-presets/bold-poster/caption-skin.html +229 -0
  166. package/dist/skills/hyperframes/assets/frame-presets/bold-poster/frame-showcase.html +1140 -0
  167. package/dist/skills/hyperframes/assets/frame-presets/broadside/FRAME.md +284 -0
  168. package/dist/skills/hyperframes/assets/frame-presets/broadside/caption-skin.html +224 -0
  169. package/dist/skills/hyperframes/assets/frame-presets/broadside/frame-showcase.html +1166 -0
  170. package/dist/skills/hyperframes/assets/frame-presets/capsule/FRAME.md +284 -0
  171. package/dist/skills/hyperframes/assets/frame-presets/capsule/caption-skin.html +223 -0
  172. package/dist/skills/hyperframes/assets/frame-presets/capsule/frame-showcase.html +1465 -0
  173. package/dist/skills/hyperframes/assets/frame-presets/cartesian/FRAME.md +278 -0
  174. package/dist/skills/hyperframes/assets/frame-presets/cartesian/caption-skin.html +221 -0
  175. package/dist/skills/hyperframes/assets/frame-presets/cartesian/frame-showcase.html +1263 -0
  176. package/dist/skills/hyperframes/assets/frame-presets/cobalt-grid/FRAME.md +265 -0
  177. package/dist/skills/hyperframes/assets/frame-presets/cobalt-grid/caption-skin.html +237 -0
  178. package/dist/skills/hyperframes/assets/frame-presets/cobalt-grid/frame-showcase.html +1468 -0
  179. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/FRAME.md +277 -0
  180. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/caption-skin.html +223 -0
  181. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/EBGaramond-400.woff2 +0 -0
  182. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/EBGaramond-700.woff2 +0 -0
  183. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/Inter-400.woff2 +0 -0
  184. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/Inter-700.woff2 +0 -0
  185. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/JetBrainsMono-400.woff2 +0 -0
  186. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/JetBrainsMono-700.woff2 +0 -0
  187. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/OFL-eb-garamond.txt +93 -0
  188. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/OFL-inter.txt +93 -0
  189. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/OFL-jetbrains-mono.txt +93 -0
  190. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/frame-showcase.html +1438 -0
  191. package/dist/skills/hyperframes/assets/frame-presets/coral/FRAME.md +314 -0
  192. package/dist/skills/hyperframes/assets/frame-presets/coral/caption-skin.html +225 -0
  193. package/dist/skills/hyperframes/assets/frame-presets/coral/frame-showcase.html +1268 -0
  194. package/dist/skills/hyperframes/assets/frame-presets/creative-mode/FRAME.md +333 -0
  195. package/dist/skills/hyperframes/assets/frame-presets/creative-mode/caption-skin.html +226 -0
  196. package/dist/skills/hyperframes/assets/frame-presets/creative-mode/frame-showcase.html +1330 -0
  197. package/dist/skills/hyperframes/assets/frame-presets/daisy-days/FRAME.md +274 -0
  198. package/dist/skills/hyperframes/assets/frame-presets/daisy-days/caption-skin.html +229 -0
  199. package/dist/skills/hyperframes/assets/frame-presets/daisy-days/frame-showcase.html +1444 -0
  200. package/dist/skills/hyperframes/assets/frame-presets/editorial-forest/FRAME.md +265 -0
  201. package/dist/skills/hyperframes/assets/frame-presets/editorial-forest/caption-skin.html +222 -0
  202. package/dist/skills/hyperframes/assets/frame-presets/editorial-forest/frame-showcase.html +1273 -0
  203. package/dist/skills/hyperframes/references/captions.md +46 -0
  204. package/dist/skills/hyperframes/references/film.md +47 -0
  205. package/dist/skills/hyperframes/references/format.md +157 -0
  206. package/dist/skills/hyperframes/references/look.md +69 -0
  207. package/dist/skills/hyperframes/references/motion.md +94 -0
  208. package/dist/skills/hyperframes/references/overlays.md +39 -0
  209. package/dist/skills/hyperframes/references/plugin-installation.md +3 -3
  210. package/dist/skills/hyperframes/references/review.md +51 -0
  211. package/dist/skills/hyperframes/references/runtimes.md +43 -0
  212. package/dist/skills/hyperframes/references/skill-lifecycle.md +21 -13
  213. package/dist/skills/hyperframes/references/sound.md +43 -0
  214. package/dist/skills/hyperframes/references/spec.md +76 -0
  215. package/dist/skills/hyperframes/references/story.md +103 -0
  216. package/dist/skills/hyperframes/references/storyboard-format.md +30 -22
  217. package/dist/skills/hyperframes/references/storyboard.md +36 -0
  218. package/dist/skills/hyperframes/references/types/3d.md +25 -0
  219. package/dist/skills/hyperframes/references/types/character.md +20 -0
  220. package/dist/skills/hyperframes/references/types/data.md +19 -0
  221. package/dist/skills/hyperframes/references/types/explainer.md +34 -0
  222. package/dist/skills/hyperframes/references/types/launch.md +31 -0
  223. package/dist/skills/hyperframes/references/types/music.md +24 -0
  224. package/dist/skills/hyperframes/references/types/vertical.md +23 -0
  225. package/dist/skills/hyperframes/scripts/bake-basemap.mjs +324 -0
  226. package/dist/skills/hyperframes/scripts/lib/main-module.test.mjs +1 -6
  227. package/dist/skills/hyperframes/scripts/locate.mjs +228 -0
  228. package/dist/skills/hyperframes-cli/SKILL.md +76 -179
  229. package/dist/skills/hyperframes-cli/references/beats.md +1 -1
  230. package/dist/skills/hyperframes-cli/references/cloud.md +2 -2
  231. package/dist/skills/hyperframes-cli/references/cloudrun.md +1 -1
  232. package/dist/skills/hyperframes-cli/references/conventions.md +17 -0
  233. package/dist/skills/hyperframes-cli/references/feedback.md +14 -0
  234. package/dist/skills/hyperframes-cli/references/init-and-scaffold.md +11 -7
  235. package/dist/skills/hyperframes-cli/references/lambda.md +1 -1
  236. package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +19 -8
  237. package/dist/skills/hyperframes-cli/references/preview-render.md +8 -2
  238. package/dist/skills/hyperframes-cli/references/upgrade-info-misc.md +8 -0
  239. package/dist/skills/media-use/SKILL.md +47 -91
  240. package/dist/skills/media-use/audio/references/bgm.md +1 -1
  241. package/dist/skills/media-use/audio/references/captions/authoring.md +1 -2
  242. package/dist/skills/media-use/audio/references/captions/motion.md +5 -5
  243. package/dist/skills/media-use/audio/references/tts.md +0 -3
  244. package/dist/skills/media-use/audio/scripts/audio.mjs +5 -6
  245. package/dist/skills/media-use/audio/scripts/carve.mjs +560 -0
  246. package/dist/skills/media-use/audio/scripts/carve.test.mjs +254 -0
  247. package/dist/skills/media-use/audio/scripts/extract-audio-data.py +199 -0
  248. package/dist/skills/media-use/references/local.md +24 -0
  249. package/dist/skills/media-use/references/memory.md +4 -4
  250. package/dist/skills/media-use/references/mixing.md +71 -0
  251. package/dist/skills/media-use/references/operations.md +1 -1
  252. package/dist/skills/media-use/scripts/compatibility.test.mjs +1 -56
  253. package/dist/skills/media-use/scripts/lib/prefs-store.mjs +1 -1
  254. package/dist/skills/media-use/scripts/lib/recipe-store.mjs +1 -1
  255. package/dist/skills/media-use/scripts/prefs.mjs +2 -3
  256. package/dist/skills/media-use/scripts/recipe.mjs +1 -3
  257. package/dist/{skills-WHKMWO2D.js → skills-3WEVO3NU.js} +20 -13
  258. package/dist/{skillsUpdateCheck-XQGZGJJG.js → skillsUpdateCheck-BFPWFOK5.js} +3 -3
  259. package/dist/{snapshot-M4NUUSNU.js → snapshot-WDQ6S7CJ.js} +457 -98
  260. package/dist/{src-6MSC62U2.js → src-NPR2JZOJ.js} +11 -11
  261. package/dist/{src-4UYM2K3S.js → src-RZ574OKP.js} +8 -8
  262. package/dist/{staticProjectServer-ERDTFP45.js → staticProjectServer-FTGTEZI4.js} +17 -17
  263. package/dist/studio/assets/{hyperframes-player-DEncBxR7.js → hyperframes-player-CoOdf435.js} +1 -1
  264. package/dist/studio/assets/{index-Cc22mgvY.js → index-CR85xg2x.js} +1 -1
  265. package/dist/studio/assets/{index-BABXr78Q.js → index-C_6rTpaB.js} +5 -5
  266. package/dist/studio/index.html +1 -1
  267. package/dist/{studio-api-SAKD3VKC.js → studio-api-TAWB7B23.js} +11 -11
  268. package/dist/{studioServer-IRI7EVOM.js → studioServer-HRQGJTBU.js} +48 -48
  269. package/dist/{telemetry-F4XADVAF.js → telemetry-QZ6HJF4W.js} +3 -3
  270. package/dist/templates/_shared/AGENTS.md +14 -19
  271. package/dist/templates/_shared/CLAUDE.md +14 -19
  272. package/dist/templates/blank/index.html +10 -4
  273. package/dist/{timeline-5I444RRE.js → timeline-IKUEW42T.js} +20 -19
  274. package/dist/{tokens-LRRYM35A.js → tokens-AUGUEWHS.js} +2 -2
  275. package/dist/{transcribe-44XDFNVU.js → transcribe-7734CG3N.js} +18 -18
  276. package/dist/{transcribe-WHYHWAB2.js → transcribe-FWU6EMEO.js} +12 -12
  277. package/dist/{updateCheck-7CPH3CAZ.js → updateCheck-VIPQ3FPW.js} +2 -2
  278. package/dist/{upgrade-WW4GQ2RI.js → upgrade-4VNDQTVO.js} +2 -2
  279. package/dist/{urlDownloader-OHLLP45A.js → urlDownloader-6CXL4CL7.js} +8 -8
  280. package/dist/{validate-VNCDH2LW.js → validate-QWCMVWID.js} +23 -23
  281. package/dist/{video-5OHTLL2D.js → video-245Q5WN4.js} +9 -9
  282. package/dist/warmCheck.js +36 -36
  283. package/package.json +1 -1
  284. package/dist/chunk-R2SQBPMH.js +0 -3805
  285. package/dist/skills/hyperframes/references/brief-contract.md +0 -108
  286. package/dist/skills/hyperframes/references/brief-format.md +0 -72
  287. package/dist/skills/hyperframes/references/capability-menu.md +0 -47
  288. package/dist/skills/hyperframes/references/frame-worker-core.md +0 -82
  289. package/dist/skills/hyperframes/references/intent-interview.md +0 -73
  290. package/dist/skills/hyperframes/references/pitch-round.md +0 -40
  291. package/dist/skills/hyperframes/references/production-loop.md +0 -26
  292. package/dist/skills/hyperframes/references/review-loop.md +0 -37
  293. package/dist/skills/hyperframes/references/route-briefs.md +0 -11
  294. package/dist/skills/hyperframes/references/routes/embedded-captions.md +0 -11
  295. package/dist/skills/hyperframes/references/routes/faceless-explainer.md +0 -12
  296. package/dist/skills/hyperframes/references/routes/general-video.md +0 -12
  297. package/dist/skills/hyperframes/references/routes/motion-graphics.md +0 -11
  298. package/dist/skills/hyperframes/references/routes/music-to-video.md +0 -12
  299. package/dist/skills/hyperframes/references/routes/pr-to-video.md +0 -28
  300. package/dist/skills/hyperframes/references/routes/product-launch-video.md +0 -13
  301. package/dist/skills/hyperframes/references/routes/remotion-to-hyperframes.md +0 -9
  302. package/dist/skills/hyperframes/references/routes/slideshow.md +0 -11
  303. package/dist/skills/hyperframes/references/routes/talking-head-recut.md +0 -11
  304. package/dist/skills/hyperframes/references/script-format.md +0 -52
  305. package/dist/skills/hyperframes/references/subagent-dispatch.md +0 -35
  306. package/dist/skills/hyperframes/references/workflow-catalog.md +0 -10
  307. package/dist/skills/hyperframes/scripts/lib/frame-packets-core.mjs +0 -176
  308. package/dist/skills/media-use/audio/scripts/lib/host-audio.mjs +0 -28
  309. package/dist/skills/media-use/audio/scripts/lib/host-audio.test.mjs +0 -106
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveConfig,
9
9
  usesSoftwareWebGpu
10
- } from "./chunk-RGXVEYHI.js";
10
+ } from "./chunk-I3IH5MV5.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-4UYM2K3S.js");
20
+ const { resolveBrowserGpuMode } = await import("./src-RZ574OKP.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
  shouldTrack
9
- } from "./chunk-UKOTVJFV.js";
9
+ } from "./chunk-H5SM5PJI.js";
10
10
 
11
11
  // src/telemetry/renderObservability.ts
12
12
  function renderObservabilityTelemetryPayload(observability) {
@@ -7,29 +7,29 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  RegistryCompatibilityError,
9
9
  gateRegistryItemsCompatibility
10
- } from "./chunk-DWUGKEHR.js";
10
+ } from "./chunk-BRAPBUPQ.js";
11
11
  import {
12
12
  DEFAULT_PROJECT_CONFIG,
13
13
  createProjectConfig,
14
14
  loadProjectConfig,
15
15
  projectConfigPath,
16
16
  recordProjectRegistryItems
17
- } from "./chunk-PFYWVUHA.js";
17
+ } from "./chunk-HDIRZGK4.js";
18
18
  import {
19
19
  resolveItemWithDependencies,
20
20
  resolveItemsByTag
21
- } from "./chunk-ZOCHDXDG.js";
21
+ } from "./chunk-RTBSA3EA.js";
22
22
  import {
23
23
  InvalidVariableValuesError,
24
24
  prepareItem,
25
25
  publishItem
26
- } from "./chunk-LLC4CS6I.js";
26
+ } from "./chunk-HXUTX5GR.js";
27
27
  import {
28
28
  DEFAULT_REGISTRY_URL
29
- } from "./chunk-7MB2ZAQF.js";
29
+ } from "./chunk-PMMQRJDE.js";
30
30
  import {
31
31
  trackRegistryItemAdded
32
- } from "./chunk-JIUTXKWA.js";
32
+ } from "./chunk-WQLKDL35.js";
33
33
  import {
34
34
  defineCommand
35
35
  } from "./chunk-S3S4TGEH.js";
@@ -41,7 +41,7 @@ import {
41
41
  } from "./chunk-ZTZA4UWZ.js";
42
42
  import {
43
43
  ITEM_TYPE_DIRS
44
- } from "./chunk-J3QM7AHP.js";
44
+ } from "./chunk-KROXPHXX.js";
45
45
  import {
46
46
  isProjectRootMissing,
47
47
  realpath
@@ -7,10 +7,10 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parseFeedbackRating,
9
9
  trackRenderFeedback
10
- } from "./chunk-JIUTXKWA.js";
10
+ } from "./chunk-WQLKDL35.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-UKOTVJFV.js";
13
+ } from "./chunk-H5SM5PJI.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-BYHON577.js")
87
+ import("./ffmpeg-JLH3Z7G7.js")
88
88
  ]);
89
89
  const sys = getSystemMeta();
90
90
  const parts = [
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  DISTRIBUTED_FPS,
12
12
  isDistributedFps
13
- } from "./chunk-J3QM7AHP.js";
13
+ } from "./chunk-KROXPHXX.js";
14
14
  import {
15
15
  parseHTML
16
16
  } from "./chunk-SDYDNHEE.js";
@@ -37,7 +37,7 @@ import {
37
37
  } from "./chunk-XUXGIA7H.js";
38
38
  import {
39
39
  VERSION
40
- } from "./chunk-4N4P3ZWL.js";
40
+ } from "./chunk-I7QMXZSB.js";
41
41
 
42
42
  // src/telemetry/transport.ts
43
43
  import { spawn } from "child_process";
@@ -6,10 +6,10 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType
9
- } from "./chunk-3QVMJ7GX.js";
9
+ } from "./chunk-KQ4JEJLF.js";
10
10
  import {
11
11
  injectTagsAtHeadStart
12
- } from "./chunk-R2SQBPMH.js";
12
+ } from "./chunk-3NPOFC43.js";
13
13
 
14
14
  // src/utils/compositionServer.ts
15
15
  import { createHash } from "crypto";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-HVW7ABXD.js";
13
13
  import {
14
14
  DEFAULT_REGISTRY_URL
15
- } from "./chunk-7MB2ZAQF.js";
15
+ } from "./chunk-PMMQRJDE.js";
16
16
 
17
17
  // src/utils/projectConfig.ts
18
18
  import { readFileSync, writeFileSync } from "fs";
@@ -12,10 +12,10 @@ import {
12
12
  } from "./chunk-DCAI5DBR.js";
13
13
  import {
14
14
  createProjectConfig
15
- } from "./chunk-PFYWVUHA.js";
15
+ } from "./chunk-HDIRZGK4.js";
16
16
  import {
17
17
  isHyperframesProject
18
- } from "./chunk-J3QM7AHP.js";
18
+ } from "./chunk-KROXPHXX.js";
19
19
 
20
20
  // src/utils/desktopApp.ts
21
21
  import { spawn, spawnSync } from "child_process";
@@ -8,20 +8,20 @@ import {
8
8
  DEFAULT_REGISTRY_URL,
9
9
  fetchItemFile,
10
10
  validRegistryItem
11
- } from "./chunk-7MB2ZAQF.js";
11
+ } from "./chunk-PMMQRJDE.js";
12
12
  import {
13
13
  publishRegistryFile,
14
14
  registryTargetPath
15
15
  } from "./chunk-GMECXFAN.js";
16
16
  import {
17
17
  validateVariables
18
- } from "./chunk-J3QM7AHP.js";
18
+ } from "./chunk-KROXPHXX.js";
19
19
  import {
20
20
  realProjectRoot
21
21
  } from "./chunk-OFQWTKPW.js";
22
22
  import {
23
23
  isCompositionVariable
24
- } from "./chunk-OYLO6TYK.js";
24
+ } from "./chunk-RUOG4VB7.js";
25
25
 
26
26
  // src/registry/installer.ts
27
27
  import { createHash } from "crypto";
@@ -26,7 +26,7 @@ import {
26
26
  renderFrameIdForRenderId,
27
27
  resolveAuthoredTimingWindow,
28
28
  toFps
29
- } from "./chunk-J3QM7AHP.js";
29
+ } from "./chunk-KROXPHXX.js";
30
30
  import {
31
31
  AUDIO_GROUP_RENDER_ID_ATTR,
32
32
  COLOR_GRADING_SOURCE_HIDDEN_ATTR,
@@ -56,7 +56,7 @@ import {
56
56
  shiftRateLane,
57
57
  sourceTimeAt,
58
58
  timeAtSourceTime
59
- } from "./chunk-R2SQBPMH.js";
59
+ } from "./chunk-3NPOFC43.js";
60
60
  import {
61
61
  clampAudioGain,
62
62
  isAudibleVideoElement
@@ -75,7 +75,7 @@ import {
75
75
  } from "./chunk-4UMPIPCQ.js";
76
76
  import {
77
77
  resolveReferencedStart
78
- } from "./chunk-ADDHW2FS.js";
78
+ } from "./chunk-Q447CX26.js";
79
79
  import {
80
80
  FFMPEG_PATH_ENV,
81
81
  FFPROBE_PATH_ENV,
@@ -1206,11 +1206,7 @@ async function probeBeginFrameSupport(browser, timeoutMs = BEGINFRAME_PROBE_TIME
1206
1206
  };
1207
1207
  }
1208
1208
  if (page && !await settleWithin(page.close(), BEGINFRAME_PROBE_CLEANUP_TIMEOUT_MS)) {
1209
- return {
1210
- supported: false,
1211
- detail: `${result.detail}; probe page cleanup timed out`,
1212
- durationMs: Date.now() - started
1213
- };
1209
+ return { ...result, detail: `${result.detail}; probe page cleanup timed out` };
1214
1210
  }
1215
1211
  return result;
1216
1212
  }
@@ -5865,7 +5861,7 @@ var LIVE_MAP_MARKERS = [
5865
5861
  function buildLiveMapWarning(libraries) {
5866
5862
  return {
5867
5863
  code: "live_map_detected",
5868
- message: `Live map viewport(s) detected in the composition (${libraries.join(", ")}). Map tiles load over the network at render time, which the deterministic-render contract forbids: frames captured before tiles arrive ship a blank or partial map with no error. Bake the map to a video first (see the motion-graphics maps skill / bake-basemap.mjs) and use the baked file as the imagery layer.`,
5864
+ message: `Live map viewport(s) detected in the composition (${libraries.join(", ")}). Map tiles load over the network at render time, which the deterministic-render contract forbids: frames captured before tiles arrive ship a blank or partial map with no error. Bake the map to a video first (the hyperframes skill's scripts/bake-basemap.mjs, see references/film.md) and use the baked file as the imagery layer.`,
5869
5865
  details: { sources: [...libraries] }
5870
5866
  };
5871
5867
  }
@@ -11870,7 +11866,7 @@ function parseVideoElements(html) {
11870
11866
  mediaStart: readMediaStart(el),
11871
11867
  playbackRate: readElementRateSpec(el),
11872
11868
  loop: el.hasAttribute("loop"),
11873
- hasAudio: hasAudioAttr === "true",
11869
+ hasAudio: hasAudioAttr === "true" && isAudibleVideoElement(el),
11874
11870
  ...isSelfOrAncestorHidden(el) || isAudibleVideoElement(el) && isMemberGroupHidden(groupsById, el) ? { hidden: true } : {}
11875
11871
  });
11876
11872
  }
@@ -7,14 +7,14 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  trackLintReport,
9
9
  trackLintRuleStreak
10
- } from "./chunk-JIUTXKWA.js";
10
+ } from "./chunk-WQLKDL35.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-UKOTVJFV.js";
13
+ } from "./chunk-H5SM5PJI.js";
14
14
  import {
15
15
  LINT_RULE_COUNT,
16
16
  LINT_RULE_GROUP_COUNTS
17
- } from "./chunk-ADDHW2FS.js";
17
+ } from "./chunk-Q447CX26.js";
18
18
 
19
19
  // src/telemetry/lintStreaks.ts
20
20
  import { createHash } from "crypto";
@@ -5728,6 +5728,12 @@ function ancestor(node, visitors, baseVisitor, state, override) {
5728
5728
  }
5729
5729
  })(node, state, override);
5730
5730
  }
5731
+ function recursive(node, state, funcs, baseVisitor, override) {
5732
+ var visitor = funcs ? make(funcs, baseVisitor || void 0) : baseVisitor;
5733
+ (function c(node2, st, override2) {
5734
+ visitor[override2 || node2.type](node2, st, c);
5735
+ })(node, state, override);
5736
+ }
5731
5737
  function full(node, callback, baseVisitor, state, override) {
5732
5738
  if (!baseVisitor) {
5733
5739
  baseVisitor = base;
@@ -5742,6 +5748,13 @@ function full(node, callback, baseVisitor, state, override) {
5742
5748
  }
5743
5749
  })(node, state, override);
5744
5750
  }
5751
+ function make(funcs, baseVisitor) {
5752
+ var visitor = Object.create(baseVisitor || base);
5753
+ for (var type in funcs) {
5754
+ visitor[type] = funcs[type];
5755
+ }
5756
+ return visitor;
5757
+ }
5745
5758
  function skipThrough(node, st, c) {
5746
5759
  c(node, st);
5747
5760
  }
@@ -6058,5 +6071,7 @@ export {
6058
6071
  parseExpressionAt2 as parseExpressionAt,
6059
6072
  simple,
6060
6073
  ancestor,
6061
- full
6074
+ recursive,
6075
+ full,
6076
+ base
6062
6077
  };
@@ -6,8 +6,8 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
 
8
8
  // src/version.ts
9
- var VERSION = true ? "0.8.184" : "0.0.0-dev";
10
- var PRODUCER_VERSION = true ? "0.8.184" : "0.0.0-dev";
9
+ var VERSION = true ? "0.8.185" : "0.0.0-dev";
10
+ var PRODUCER_VERSION = true ? "0.8.185" : "0.0.0-dev";
11
11
 
12
12
  export {
13
13
  VERSION,
@@ -11,28 +11,28 @@ import {
11
11
  launchManagedBrowser,
12
12
  resolveManagedGpuMode,
13
13
  rethrowAfterBrowserCleanup
14
- } from "./chunk-KN46TGHV.js";
14
+ } from "./chunk-TOI35GN2.js";
15
15
  import {
16
16
  gotoWhenSent
17
17
  } from "./chunk-MOEGCMKI.js";
18
18
  import {
19
19
  pageNavigationTimeoutMs,
20
20
  windowsChromeCrashRemediation
21
- } from "./chunk-ES426XRJ.js";
21
+ } from "./chunk-SQVRXHOW.js";
22
22
  import {
23
23
  oneProcessOverPipe
24
24
  } from "./chunk-DKPNNYBZ.js";
25
25
  import {
26
26
  resolveLocalBrowserGpuMode,
27
27
  resolveLocalWebGpu
28
- } from "./chunk-UNNXFKVG.js";
28
+ } from "./chunk-EMSDWBG3.js";
29
29
  import {
30
30
  c
31
31
  } from "./chunk-ZTZA4UWZ.js";
32
32
  import {
33
33
  assertWebGpuAdapterAvailable,
34
34
  compositionRequiresWebGpu
35
- } from "./chunk-RGXVEYHI.js";
35
+ } from "./chunk-I3IH5MV5.js";
36
36
  import {
37
37
  normalizeErrorMessage
38
38
  } from "./chunk-KNU5COPB.js";
@@ -138,7 +138,7 @@ async function waitForCompositionSettle(page, options) {
138
138
  console.warn(` ${c.warn("\u26A0")} Shader transitions did not finish pre-rendering`);
139
139
  });
140
140
  await waitForLateSubresources(page, options.lateSubresourceTimeoutMs ?? CAPTURE_SETTLE_MS);
141
- const { resolveConfig, waitForImagesReady } = await import("./src-4UYM2K3S.js");
141
+ const { resolveConfig, waitForImagesReady } = await import("./src-RZ574OKP.js");
142
142
  const imageTimeoutMs = resolveConfig().playerReadyTimeout;
143
143
  await waitForImagesReady(
144
144
  page,
@@ -187,7 +187,7 @@ async function installPageFunctionGuard(page) {
187
187
  async function openSettledCompositionPage(html, url, options) {
188
188
  const viewport = resolveCompositionViewportFromHtml(html);
189
189
  const requiresWebGpu = compositionRequiresWebGpu(html);
190
- const answer = (await import("./staticProjectServer-ERDTFP45.js")).inProcessAnswer(url);
190
+ const answer = (await import("./staticProjectServer-FTGTEZI4.js")).inProcessAnswer(url);
191
191
  const noListen = answer !== void 0;
192
192
  let chromeBrowser;
193
193
  try {
@@ -214,7 +214,7 @@ async function launchCompositionBrowser(html, noListen, options) {
214
214
  const { ensureBrowser, findSystemBrowser } = await import("./manager-UHWEKPXC.js");
215
215
  const browser = await ensureBrowser({ signal: options.signal });
216
216
  const puppeteer = await import("puppeteer-core");
217
- const { buildChromeArgs } = await import("./src-4UYM2K3S.js");
217
+ const { buildChromeArgs } = await import("./src-RZ574OKP.js");
218
218
  const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
219
219
  const requiresWebGpu = compositionRequiresWebGpu(html);
220
220
  let softwareWebGpu = false;
@@ -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-RGXVEYHI.js";
9
+ } from "./chunk-I3IH5MV5.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  updateNoticesSuppressed
9
- } from "./chunk-ABZYYUUH.js";
9
+ } from "./chunk-ISTRDGIX.js";
10
10
  import {
11
11
  hostAnswers
12
12
  } from "./chunk-K4WIOZFP.js";
@@ -56,16 +56,36 @@ function isCoreSkill(name) {
56
56
  }
57
57
  var FALLBACK_CORE_SKILLS = [
58
58
  "hyperframes",
59
+ "hyperframes-cli",
60
+ "hyperframes-registry",
61
+ "media-use"
62
+ ];
63
+ var RETIRED_DOMAIN_SKILLS = [
59
64
  "hyperframes-animation",
60
65
  "hyperframes-audio",
61
- "hyperframes-cli",
62
66
  "hyperframes-core",
63
67
  "hyperframes-creative",
64
68
  "hyperframes-keyframes",
65
- "hyperframes-registry",
66
- "hyperframes-studio",
67
- "media-use"
69
+ "hyperframes-studio"
70
+ ];
71
+ var RETIRED_WORKFLOW_SKILLS = [
72
+ "embedded-captions",
73
+ "faceless-explainer",
74
+ "general-video",
75
+ "motion-graphics",
76
+ "music-to-video",
77
+ "pr-to-video",
78
+ "product-launch-video",
79
+ "talking-head-recut"
68
80
  ];
81
+ var RETIRED_SKILLS = [
82
+ ...RETIRED_DOMAIN_SKILLS,
83
+ ...RETIRED_WORKFLOW_SKILLS
84
+ ];
85
+ function retiredSkillNotice(name) {
86
+ const home = name === "hyperframes-audio" ? "the /media-use skill (references/mixing.md)" : "the /hyperframes skill and its references (film, captions, overlays, motion, look, format)";
87
+ return `${name} was retired; its knowledge now lives in ${home}, which \`skills update\` keeps current.`;
88
+ }
69
89
  var RUNTIME_DIRS = /* @__PURE__ */ new Set([
70
90
  "__pycache__",
71
91
  ".pytest_cache",
@@ -258,7 +278,12 @@ function manifestCoversSkill(entry) {
258
278
  }
259
279
  function detectRemoved(root, latest, opts) {
260
280
  const lock = readSkillLock(lockPathForScope(root.scope, opts));
261
- const removed = skillsAttributedToSource(lock, latest.source).filter((name) => manifestCoversSkill(lock?.skills?.[name])).filter((name) => !(name in latest.skills)).sort().map((name) => ({ name, status: "removed" }));
281
+ const attributed = skillsAttributedToSource(lock, latest.source);
282
+ const dropped = attributed.filter((name) => manifestCoversSkill(lock?.skills?.[name]));
283
+ const retired = RETIRED_SKILLS.filter(
284
+ (name) => attributed.includes(name) || RETIRED_DOMAIN_SKILLS.includes(name) && existsSync(join(root.dir, name, "SKILL.md"))
285
+ );
286
+ const removed = [.../* @__PURE__ */ new Set([...dropped, ...retired])].filter((name) => !(name in latest.skills)).sort().map((name) => ({ name, status: "removed" }));
262
287
  return { removed, lockMissing: lock === null };
263
288
  }
264
289
  function pruneOrphanedLockEntries(names, scope, opts = {}) {
@@ -435,6 +460,8 @@ function printSkillsUpdateNotice() {
435
460
  export {
436
461
  isCoreSkill,
437
462
  FALLBACK_CORE_SKILLS,
463
+ RETIRED_SKILLS,
464
+ retiredSkillNotice,
438
465
  presentSkills,
439
466
  SKILLS_CLI_LOCK_PATHS_VERIFIED_AT,
440
467
  hyperframesSkillNames,
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-ISN5GRYI.js";
18
18
  import {
19
19
  VERSION
20
- } from "./chunk-4N4P3ZWL.js";
20
+ } from "./chunk-I7QMXZSB.js";
21
21
 
22
22
  // src/utils/updateCheck.ts
23
23
  import { existsSync, readFileSync } from "fs";
@@ -8,7 +8,7 @@ import {
8
8
  EncoderInterruptedError,
9
9
  encoderFailureError,
10
10
  prepareAnimatedGifInputs
11
- } from "./chunk-TE427YID.js";
11
+ } from "./chunk-K73RJB23.js";
12
12
  import {
13
13
  GENERIC_FAMILIES,
14
14
  collectFontFamilyCustomProperties,
@@ -16,7 +16,7 @@ import {
16
16
  iterateFontFamilyDeclarations,
17
17
  normalizeSystemFontPrimaryFamilies,
18
18
  resolveFontFamilyDeclarationFamilies
19
- } from "./chunk-OLZENUPI.js";
19
+ } from "./chunk-LLFQA7XF.js";
20
20
  import {
21
21
  parseEncoderOptions
22
22
  } from "./chunk-KLIKCX6Q.js";
@@ -154,7 +154,7 @@ import {
154
154
  validateEngineConfigSnapshot,
155
155
  verifyDiskDrawElementSamples,
156
156
  writeCapturedFrame
157
- } from "./chunk-RGXVEYHI.js";
157
+ } from "./chunk-I3IH5MV5.js";
158
158
  import {
159
159
  DISTRIBUTED_FPS,
160
160
  HF_VFX_ATTR,
@@ -169,7 +169,7 @@ import {
169
169
  parseVfxChain,
170
170
  resolveAuthoredTimingWindow,
171
171
  toFps
172
- } from "./chunk-J3QM7AHP.js";
172
+ } from "./chunk-KROXPHXX.js";
173
173
  import {
174
174
  assignBundledRuntimeCompositionIds,
175
175
  buildVariablesByCompScript,
@@ -182,7 +182,7 @@ import {
182
182
  isTemplateEntry,
183
183
  parsesAsScript,
184
184
  prepareFlattenedInnerRoot
185
- } from "./chunk-YALM6XN4.js";
185
+ } from "./chunk-Q47FAYYK.js";
186
186
  import {
187
187
  COMPOSITION_SOURCE_URL,
188
188
  HF_COLOR_GRADING_ATTR,
@@ -210,7 +210,7 @@ import {
210
210
  shouldClampResolvedMediaDuration,
211
211
  sourceTimeAt,
212
212
  styleElementsFor
213
- } from "./chunk-R2SQBPMH.js";
213
+ } from "./chunk-3NPOFC43.js";
214
214
  import {
215
215
  MAX_AUDIO_GAIN
216
216
  } from "./chunk-UJKQWGFF.js";
@@ -224,7 +224,7 @@ import {
224
224
  isAspectAgnosticResolutionAlias,
225
225
  normalizeResolutionFlag,
226
226
  suggestMatchingPreset
227
- } from "./chunk-YMS5FOMC.js";
227
+ } from "./chunk-B2A56S5C.js";
228
228
  import {
229
229
  TRANSITIONS,
230
230
  convertTransfer,
@@ -240,7 +240,7 @@ import {
240
240
  import {
241
241
  lintHyperframeHtml,
242
242
  resolveReferencedStart
243
- } from "./chunk-ADDHW2FS.js";
243
+ } from "./chunk-Q447CX26.js";
244
244
  import {
245
245
  isUnresolvedAssetPlaceholder,
246
246
  readProjectFile,
@@ -6604,7 +6604,7 @@ async function readLocalFont(absPath) {
6604
6604
  return { kind: "inline", buffer: Buffer.concat(chunks, totalBytes) };
6605
6605
  }
6606
6606
  async function embedLocalFontFaces(html, projectDir) {
6607
- const { fontToDataUri: toDataUri } = await import("./deterministicFonts-VQ5UBMXY.js");
6607
+ const { fontToDataUri: toDataUri } = await import("./deterministicFonts-EGAAE7QL.js");
6608
6608
  const styleBlockRe = /<style\b[^>]*>([\s\S]*?)<\/style>/gi;
6609
6609
  const fontFaceRe = /@font-face\s*\{([^}]*)\}/gi;
6610
6610
  let result = html;
@@ -10357,7 +10357,6 @@ async function enforceAacTruePeak(input) {
10357
10357
  try {
10358
10358
  scratchDir = mkdtempSync3(join24(dirname8(input.audioPath), ".true-peak-"));
10359
10359
  const correctedPath = join24(scratchDir, "audio.m4a");
10360
- const correctionTargetDbfs = AAC_DELIVERY_TRUE_PEAK_DBFS - AAC_TRUE_PEAK_CORRECTION_HEADROOM_DB;
10361
10360
  const measurements = [];
10362
10361
  let attenuationDb = 0;
10363
10362
  let measuredPath = input.audioPath;
@@ -10375,7 +10374,8 @@ async function enforceAacTruePeak(input) {
10375
10374
  return { success: true, loweredDb: Number((-attenuationDb).toFixed(2)) };
10376
10375
  }
10377
10376
  if (pass === MAX_TRUE_PEAK_CORRECTION_PASSES) break;
10378
- attenuationDb += correctionTargetDbfs - truePeakDbfs;
10377
+ const headroomDb = AAC_TRUE_PEAK_CORRECTION_HEADROOM_DB * 2 ** pass;
10378
+ attenuationDb += AAC_DELIVERY_TRUE_PEAK_DBFS - headroomDb - truePeakDbfs;
10379
10379
  const result = await input.encode(
10380
10380
  input.audioPath,
10381
10381
  correctedPath,
@@ -13687,7 +13687,14 @@ var RenderChunkValidationError = class extends Error {
13687
13687
  }
13688
13688
  };
13689
13689
  function createChunkVideoFrameInjectorFactory(frameLookup) {
13690
- return () => createVideoFrameInjector(frameLookup);
13690
+ if (!(frameLookup instanceof Promise)) return () => createVideoFrameInjector(frameLookup);
13691
+ return () => {
13692
+ let hook;
13693
+ return async (page, time, heldVideoTime) => {
13694
+ hook ??= createVideoFrameInjector(await frameLookup);
13695
+ await hook?.(page, time, heldVideoTime);
13696
+ };
13697
+ };
13691
13698
  }
13692
13699
  function frameNumberFromFileName(name) {
13693
13700
  const match = /(\d+)(?=\.[^.]+$)/.exec(name);
@@ -15463,7 +15470,7 @@ async function compilePlanComposition(projectDir, config, planDir, options) {
15463
15470
  if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
15464
15471
  if (probeResult.probeSession) {
15465
15472
  try {
15466
- const { closeCaptureSession: closeCaptureSession2 } = await import("./src-4UYM2K3S.js");
15473
+ const { closeCaptureSession: closeCaptureSession2 } = await import("./src-RZ574OKP.js");
15467
15474
  await closeCaptureSession2(probeResult.probeSession);
15468
15475
  } catch (err) {
15469
15476
  log.warn("[plan] probe session close failed", {
@@ -16678,9 +16685,6 @@ function validateOutputResolutionOverride(body) {
16678
16685
  if (body.outputResolution.trim().length > 0 && normalized === void 0) {
16679
16686
  return `Invalid outputResolution "${body.outputResolution}". Must be one of: landscape, portrait, landscape-4k, portrait-4k, square, square-4k (aliases: 1080p, 4k, \u2026).`;
16680
16687
  }
16681
- if (normalized !== void 0 && (body.format === "webm" || body.format === "mov")) {
16682
- return `outputResolution is not supported with format "${body.format}": the alpha (webm/mov) capture path can't supersample. Use format "mp4", or omit outputResolution to render at the composition's native dimensions.`;
16683
- }
16684
16688
  return void 0;
16685
16689
  }
16686
16690
  function prepareProjectDirectory(projectDir, options) {
@@ -17126,7 +17130,7 @@ function startServer(options = {}) {
17126
17130
  });
17127
17131
  async function shutdown(signal) {
17128
17132
  log.info(`Received ${signal}, shutting down`);
17129
- const { drainBrowserPool } = await import("./src-4UYM2K3S.js");
17133
+ const { drainBrowserPool } = await import("./src-RZ574OKP.js");
17130
17134
  await drainBrowserPool().catch(() => {
17131
17135
  });
17132
17136
  const handle = await Promise.race([
@@ -18626,6 +18630,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath, options) {
18626
18630
  const captureAttempts = [];
18627
18631
  let forceScreenshotForChunk = encoder.forceScreenshot;
18628
18632
  let shownBoxes;
18633
+ let extraction;
18629
18634
  try {
18630
18635
  if (chunkWorkerCount === 1 || !forceScreenshotForChunk) {
18631
18636
  const bootStarted = Date.now();
@@ -18682,7 +18687,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath, options) {
18682
18687
  session = null;
18683
18688
  }
18684
18689
  }
18685
- const deferredVideoFrames = planVideos ? await extractDeferredVideoFramesForChunk({
18690
+ const deferredVideoFrames = planVideos ? extractDeferredVideoFramesForChunk({
18686
18691
  planDir,
18687
18692
  planVideos,
18688
18693
  frames: chunkFrameNumbers,
@@ -18691,19 +18696,24 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath, options) {
18691
18696
  cfg,
18692
18697
  remoteSources,
18693
18698
  shownBoxes
18694
- }) : [];
18695
- const videoFrameLookup = planVideos && planVideos.extracted.length > 0 ? createFrameLookupTable(
18696
- planVideos.videos,
18697
- [
18698
- ...rebuildExtractedFramesFromPlanDir(
18699
- planDir,
18700
- planVideos.extracted.filter((video) => !video.deferredRange),
18701
- v2Manifest === null ? "dense-v1" : "sparse-v2"
18702
- ),
18703
- ...deferredVideoFrames
18704
- ],
18705
- resolveRenderFpsConfig(job.config.fps).value
18699
+ }) : Promise.resolve([]);
18700
+ extraction = deferredVideoFrames;
18701
+ const videoFrameLookup = planVideos && planVideos.extracted.length > 0 ? deferredVideoFrames.then(
18702
+ (deferred) => createFrameLookupTable(
18703
+ planVideos.videos,
18704
+ [
18705
+ ...rebuildExtractedFramesFromPlanDir(
18706
+ planDir,
18707
+ planVideos.extracted.filter((video) => !video.deferredRange),
18708
+ v2Manifest === null ? "dense-v1" : "sparse-v2"
18709
+ ),
18710
+ ...deferred
18711
+ ],
18712
+ resolveRenderFpsConfig(job.config.fps).value
18713
+ )
18706
18714
  ) : null;
18715
+ videoFrameLookup?.catch(() => {
18716
+ });
18707
18717
  const createChunkVideoFrameInjector = createChunkVideoFrameInjectorFactory(videoFrameLookup);
18708
18718
  const captureStarted = Date.now();
18709
18719
  captureMode = await runCaptureWithScreenshotFallback({
@@ -18786,7 +18796,11 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath, options) {
18786
18796
  }
18787
18797
  );
18788
18798
  }
18799
+ }).catch(async (captureError) => {
18800
+ await deferredVideoFrames;
18801
+ throw captureError;
18789
18802
  });
18803
+ await deferredVideoFrames;
18790
18804
  captureStageMs = Date.now() - captureStarted;
18791
18805
  applyRenderWarningPolicy(
18792
18806
  job,
@@ -18865,6 +18879,8 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath, options) {
18865
18879
  }
18866
18880
  encodeStageMs = Date.now() - encodeStarted;
18867
18881
  } finally {
18882
+ await extraction?.catch(() => {
18883
+ });
18868
18884
  if (session) {
18869
18885
  try {
18870
18886
  await closeCaptureSession(session);