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
@@ -14,7 +14,7 @@
14
14
  document.documentElement.dataset.theme = "paper";
15
15
  }
16
16
  </script>
17
- <script type="module" crossorigin src="/assets/index-BABXr78Q.js"></script>
17
+ <script type="module" crossorigin src="/assets/index-C_6rTpaB.js"></script>
18
18
  <link rel="stylesheet" crossorigin href="/assets/index-CESvLzz0.css">
19
19
  </head>
20
20
  <body>
@@ -22,7 +22,7 @@ import {
22
22
  getMimeType,
23
23
  stampProjectHfIds,
24
24
  thumbnailDeviceScaleFactor
25
- } from "./chunk-3QVMJ7GX.js";
25
+ } from "./chunk-KQ4JEJLF.js";
26
26
  import {
27
27
  dedupeClonedCompositionId,
28
28
  findTargetElement,
@@ -30,7 +30,7 @@ import {
30
30
  patchElementInHtml,
31
31
  removeElementFromHtml,
32
32
  splitElementInHtml
33
- } from "./chunk-ZRHO6YMM.js";
33
+ } from "./chunk-SKYPMHQC.js";
34
34
  import "./chunk-6JR2XUEE.js";
35
35
  import {
36
36
  requestSubPath
@@ -69,13 +69,13 @@ import {
69
69
  import {
70
70
  CACHE_DIR_NAME,
71
71
  cleanupProxyCache
72
- } from "./chunk-SN7KI5JA.js";
72
+ } from "./chunk-6GPR3G3C.js";
73
73
  import {
74
74
  STUDIO_MOTION_PATH,
75
75
  createStudioMotionRenderBodyScript,
76
76
  walkDir
77
77
  } from "./chunk-ALVXFXUG.js";
78
- import "./chunk-5CS4T6C6.js";
78
+ import "./chunk-7L37AB57.js";
79
79
  import "./chunk-EOVYQ3IG.js";
80
80
  import "./chunk-KLIKCX6Q.js";
81
81
  import {
@@ -85,30 +85,30 @@ import {
85
85
  } from "./chunk-EVMY7IPL.js";
86
86
  import "./chunk-7FMUTGOH.js";
87
87
  import "./chunk-IZCW2NKT.js";
88
- import "./chunk-J3QM7AHP.js";
88
+ import "./chunk-KROXPHXX.js";
89
89
  import "./chunk-RQVDTPGD.js";
90
- import "./chunk-YALM6XN4.js";
91
- import "./chunk-R2SQBPMH.js";
90
+ import "./chunk-Q47FAYYK.js";
91
+ import "./chunk-3NPOFC43.js";
92
92
  import "./chunk-VC76R6W2.js";
93
93
  import "./chunk-UJKQWGFF.js";
94
- import "./chunk-YMS5FOMC.js";
94
+ import "./chunk-B2A56S5C.js";
95
95
  import {
96
96
  isSafePath
97
97
  } from "./chunk-OFQWTKPW.js";
98
98
  import "./chunk-DPVXBVLL.js";
99
99
  import "./chunk-634HSJ3J.js";
100
100
  import "./chunk-FXMKHHPO.js";
101
- import "./chunk-ADDHW2FS.js";
101
+ import "./chunk-Q447CX26.js";
102
102
  import "./chunk-VAS6HQX3.js";
103
103
  import "./chunk-6BNTGNGD.js";
104
- import "./chunk-OYLO6TYK.js";
104
+ import "./chunk-RUOG4VB7.js";
105
105
  import "./chunk-MMQ52NIZ.js";
106
106
  import {
107
107
  decodeWellFormedEscapes
108
108
  } from "./chunk-BSQ7XANM.js";
109
109
  import "./chunk-SDYDNHEE.js";
110
110
  import "./chunk-IXLUTE6N.js";
111
- import "./chunk-TYXH3EKP.js";
111
+ import "./chunk-I5JRXMCV.js";
112
112
  import "./chunk-M2WBOQ2Q.js";
113
113
  export {
114
114
  DEFAULT_HISTORY_ROOT,
@@ -8,22 +8,22 @@ import {
8
8
  renderJobObservabilityTelemetryPayload,
9
9
  renderObservabilityTelemetryPayload,
10
10
  startRenderCpuSampler
11
- } from "./chunk-CXABAXB3.js";
11
+ } from "./chunk-ESBMUZXZ.js";
12
12
  import {
13
13
  HANDOFF_READY,
14
14
  desktopDownloadUrl,
15
15
  desktopInstalled,
16
16
  openInDesktop
17
- } from "./chunk-HR23IKLZ.js";
17
+ } from "./chunk-HHSJJFVM.js";
18
18
  import "./chunk-DCAI5DBR.js";
19
19
  import {
20
20
  resolveRenderBrowser
21
- } from "./chunk-E32ZQ2WO.js";
21
+ } from "./chunk-6RIZY7OP.js";
22
22
  import {
23
23
  loadSharpInBackground
24
24
  } from "./chunk-QH3T4WI2.js";
25
25
  import "./chunk-6BEFEWFB.js";
26
- import "./chunk-7HJALUIO.js";
26
+ import "./chunk-K2ZKXTVL.js";
27
27
  import {
28
28
  PREVIEW_BUNDLE_OPTIONS,
29
29
  affectsPreview,
@@ -36,8 +36,8 @@ import {
36
36
  getMimeType,
37
37
  stampProjectHfIds,
38
38
  thumbnailDeviceScaleFactor
39
- } from "./chunk-3QVMJ7GX.js";
40
- import "./chunk-ZRHO6YMM.js";
39
+ } from "./chunk-KQ4JEJLF.js";
40
+ import "./chunk-SKYPMHQC.js";
41
41
  import "./chunk-6JR2XUEE.js";
42
42
  import "./chunk-TTVHYD5R.js";
43
43
  import {
@@ -53,17 +53,17 @@ import {
53
53
  identifyFileWrite,
54
54
  openProjectHistory
55
55
  } from "./chunk-U6RXZNZE.js";
56
- import "./chunk-SN7KI5JA.js";
56
+ import "./chunk-6GPR3G3C.js";
57
57
  import "./chunk-ALVXFXUG.js";
58
58
  import {
59
59
  seekCompositionTimeline
60
- } from "./chunk-ICJEAFPD.js";
60
+ } from "./chunk-IDFNKFPL.js";
61
61
  import "./chunk-FH7WODJH.js";
62
- import "./chunk-KN46TGHV.js";
62
+ import "./chunk-TOI35GN2.js";
63
63
  import "./chunk-MOEGCMKI.js";
64
- import "./chunk-ES426XRJ.js";
64
+ import "./chunk-SQVRXHOW.js";
65
65
  import "./chunk-DKPNNYBZ.js";
66
- import "./chunk-PSKEKWVU.js";
66
+ import "./chunk-G2UANIDX.js";
67
67
  import "./chunk-K2FLNJVB.js";
68
68
  import "./chunk-442JNXRM.js";
69
69
  import "./chunk-EHSBBBR2.js";
@@ -71,21 +71,21 @@ import {
71
71
  resolveCaptureBrowserGpuMode,
72
72
  resolveLocalBrowserGpuMode,
73
73
  resolveLocalWebGpu
74
- } from "./chunk-UNNXFKVG.js";
74
+ } from "./chunk-EMSDWBG3.js";
75
75
  import {
76
76
  resolveAutoProxy
77
- } from "./chunk-PFYWVUHA.js";
77
+ } from "./chunk-HDIRZGK4.js";
78
78
  import "./chunk-XT7X6QCP.js";
79
79
  import "./chunk-4YYJOFKS.js";
80
80
  import "./chunk-HVW7ABXD.js";
81
- import "./chunk-ZOCHDXDG.js";
81
+ import "./chunk-RTBSA3EA.js";
82
82
  import "./chunk-JHOCK3DG.js";
83
- import "./chunk-LLC4CS6I.js";
84
- import "./chunk-7MB2ZAQF.js";
83
+ import "./chunk-HXUTX5GR.js";
84
+ import "./chunk-PMMQRJDE.js";
85
85
  import "./chunk-AWDFDFI3.js";
86
86
  import "./chunk-P6LJ4Y32.js";
87
87
  import "./chunk-GMECXFAN.js";
88
- import "./chunk-5CS4T6C6.js";
88
+ import "./chunk-7L37AB57.js";
89
89
  import {
90
90
  isAtomicTempPath,
91
91
  replaceFileAtomically
@@ -93,12 +93,12 @@ import {
93
93
  import {
94
94
  trackRenderComplete,
95
95
  trackRenderError
96
- } from "./chunk-JIUTXKWA.js";
96
+ } from "./chunk-WQLKDL35.js";
97
97
  import {
98
98
  canaryDecisionsForStudio,
99
99
  resetTelemetryPostureCache,
100
100
  shouldTrack
101
- } from "./chunk-UKOTVJFV.js";
101
+ } from "./chunk-H5SM5PJI.js";
102
102
  import "./chunk-VWG7OQKU.js";
103
103
  import "./chunk-54HJ63Q2.js";
104
104
  import "./chunk-JVBRJMOP.js";
@@ -112,17 +112,17 @@ import "./chunk-7FMUTGOH.js";
112
112
  import {
113
113
  assertWebGpuAdapterAvailable,
114
114
  compositionRequiresWebGpu
115
- } from "./chunk-RGXVEYHI.js";
115
+ } from "./chunk-I3IH5MV5.js";
116
116
  import "./chunk-IZCW2NKT.js";
117
117
  import {
118
118
  fpsToNumber
119
- } from "./chunk-J3QM7AHP.js";
119
+ } from "./chunk-KROXPHXX.js";
120
120
  import "./chunk-RQVDTPGD.js";
121
- import "./chunk-YALM6XN4.js";
122
- import "./chunk-R2SQBPMH.js";
121
+ import "./chunk-Q47FAYYK.js";
122
+ import "./chunk-3NPOFC43.js";
123
123
  import "./chunk-VC76R6W2.js";
124
124
  import "./chunk-UJKQWGFF.js";
125
- import "./chunk-YMS5FOMC.js";
125
+ import "./chunk-B2A56S5C.js";
126
126
  import {
127
127
  realpath
128
128
  } from "./chunk-OFQWTKPW.js";
@@ -140,17 +140,17 @@ import {
140
140
  } from "./chunk-T6AGUTZJ.js";
141
141
  import "./chunk-XT6MXC7A.js";
142
142
  import "./chunk-4UMPIPCQ.js";
143
- import "./chunk-ADDHW2FS.js";
143
+ import "./chunk-Q447CX26.js";
144
144
  import "./chunk-VAS6HQX3.js";
145
145
  import {
146
146
  isWithinProjectRoot
147
147
  } from "./chunk-6BNTGNGD.js";
148
- import "./chunk-OYLO6TYK.js";
148
+ import "./chunk-RUOG4VB7.js";
149
149
  import "./chunk-MMQ52NIZ.js";
150
150
  import "./chunk-BSQ7XANM.js";
151
151
  import "./chunk-SDYDNHEE.js";
152
152
  import "./chunk-IXLUTE6N.js";
153
- import "./chunk-TYXH3EKP.js";
153
+ import "./chunk-I5JRXMCV.js";
154
154
  import "./chunk-W2LGJSEN.js";
155
155
  import "./chunk-K4WIOZFP.js";
156
156
  import {
@@ -163,7 +163,7 @@ import {
163
163
  } from "./chunk-ISN5GRYI.js";
164
164
  import {
165
165
  VERSION
166
- } from "./chunk-4N4P3ZWL.js";
166
+ } from "./chunk-I7QMXZSB.js";
167
167
  import "./chunk-KNU5COPB.js";
168
168
  import "./chunk-KGPLIH7B.js";
169
169
  import "./chunk-M2WBOQ2Q.js";
@@ -354,7 +354,7 @@ var ENTRY_TS = resolve(__dirname, "..", "..", "..", "core", "src", "runtime", "e
354
354
  async function buildFromSource() {
355
355
  if (!existsSync(ENTRY_TS)) return null;
356
356
  try {
357
- const mod = await import("./dist-DYS24AMA.js");
357
+ const mod = await import("./dist-ULGTPSU4.js");
358
358
  if (typeof mod.loadHyperframeRuntimeSource === "function") {
359
359
  const source = mod.loadHyperframeRuntimeSource();
360
360
  if (source) return source;
@@ -365,7 +365,7 @@ async function buildFromSource() {
365
365
  }
366
366
  async function getInlinedRuntime() {
367
367
  try {
368
- const mod = await import("./dist-DYS24AMA.js");
368
+ const mod = await import("./dist-ULGTPSU4.js");
369
369
  if (typeof mod.getHyperframeRuntimeScript === "function") {
370
370
  return mod.getHyperframeRuntimeScript() ?? null;
371
371
  }
@@ -720,13 +720,13 @@ var RENDER_SHUTDOWN_WAIT_MS = 2e3;
720
720
  var IMMUTABLE_CACHE_CONTROL = "public, max-age=31536000, immutable";
721
721
  var REMOTE_GIF_IMG_SRC_RE = /<img\b[^>]*?\bsrc\s*=\s*["'](https?:\/\/[^"']+\.gif(?:[?#][^"']*)?)["'][^>]*>/gi;
722
722
  async function loadStudioProducer() {
723
- if (!isDevMode()) return await import("./src-6MSC62U2.js");
723
+ if (!isDevMode()) return await import("./src-NPR2JZOJ.js");
724
724
  if (!process.versions.bun) {
725
725
  throw new Error(
726
726
  "Studio dev-mode rendering requires bun (the producer is loaded from TypeScript source, which Node cannot resolve). Restart the studio with `bun run studio`."
727
727
  );
728
728
  }
729
- return await import("./src-6MSC62U2.js");
729
+ return await import("./src-NPR2JZOJ.js");
730
730
  }
731
731
  function resolveDistDir() {
732
732
  return resolveStudioBundle().dir;
@@ -841,7 +841,7 @@ async function getThumbnailBrowser(requestedGpuMode, isShuttingDown) {
841
841
  try {
842
842
  if (isShuttingDown()) return null;
843
843
  const { ensureBrowser } = await import("./manager-UHWEKPXC.js");
844
- const { acquireBrowser, buildChromeArgs } = await import("./src-4UYM2K3S.js");
844
+ const { acquireBrowser, buildChromeArgs } = await import("./src-RZ574OKP.js");
845
845
  let executablePath;
846
846
  try {
847
847
  const b = await ensureBrowser({ preferManagedChrome: true });
@@ -1007,7 +1007,7 @@ function createStudioServer(options) {
1007
1007
  resolveProject: (id) => id === projectId ? project : null,
1008
1008
  async bundle(dir, options2) {
1009
1009
  try {
1010
- const { bundleToSingleHtml } = await import("./compiler-Q3N6QXMT.js");
1010
+ const { bundleToSingleHtml } = await import("./compiler-KPHYGFXL.js");
1011
1011
  let html = await bundleToSingleHtml(dir, { ...PREVIEW_BUNDLE_OPTIONS, ...options2 });
1012
1012
  html = html.replace(
1013
1013
  'data-hyperframes-preview-runtime="1" src=""',
@@ -1020,9 +1020,9 @@ function createStudioServer(options) {
1020
1020
  }
1021
1021
  },
1022
1022
  async transformPreviewHtml({ html, project: project2 }) {
1023
- const { injectDeterministicFontFaces } = await import("./deterministicFonts-VQ5UBMXY.js");
1024
- const { prepareAnimatedGifInputs } = await import("./animatedGifPrep-AGASIWVA.js");
1025
- const { downloadToTemp, writeUrlDownloadTelemetry } = await import("./urlDownloader-OHLLP45A.js");
1023
+ const { injectDeterministicFontFaces } = await import("./deterministicFonts-EGAAE7QL.js");
1024
+ const { prepareAnimatedGifInputs } = await import("./animatedGifPrep-PEP5GWOJ.js");
1025
+ const { downloadToTemp, writeUrlDownloadTelemetry } = await import("./urlDownloader-6CXL4CL7.js");
1026
1026
  const gifOutputDir = join2(project2.dir, ".hyperframes", "prepared-assets", "gif");
1027
1027
  const gifDownloadDir = join2(project2.dir, ".hyperframes", "prepared-assets", "downloads");
1028
1028
  const prepared = await prepareAnimatedGifInputs(html, {
@@ -1046,7 +1046,7 @@ function createStudioServer(options) {
1046
1046
  if (resolve2(dir) === resolve2(projectDir)) cachedProjectSignature = null;
1047
1047
  },
1048
1048
  async lint(html, opts) {
1049
- const { lintHyperframeHtml } = await import("./dist-SENYPQGW.js");
1049
+ const { lintHyperframeHtml } = await import("./dist-LM7AVHOU.js");
1050
1050
  return await lintHyperframeHtml(html, { ...opts, host: "studio" });
1051
1051
  },
1052
1052
  // Out of process: linting a large composition is seconds of synchronous parsing, and on
@@ -1178,7 +1178,7 @@ function createStudioServer(options) {
1178
1178
  startBackgroundRemoval(opts) {
1179
1179
  return createBackgroundRemovalJob(opts, async (renderOpts) => {
1180
1180
  const sourcePipelinePath = "../background-removal/pipeline.ts";
1181
- const pipeline = await import("./pipeline-6ML3LUVK.js").catch(
1181
+ const pipeline = await import("./pipeline-I2M22M24.js").catch(
1182
1182
  () => import(sourcePipelinePath)
1183
1183
  );
1184
1184
  return pipeline.render(renderOpts);
@@ -1263,8 +1263,8 @@ function createStudioServer(options) {
1263
1263
  }
1264
1264
  },
1265
1265
  async listRegistryCatalog() {
1266
- const { listRegistryItems, loadAllItems } = await import("./resolver-RUBGFXPC.js");
1267
- const { loadProjectConfig } = await import("./projectConfig-TBU2VWZX.js");
1266
+ const { listRegistryItems, loadAllItems } = await import("./resolver-BUC2GFZQ.js");
1267
+ const { loadProjectConfig } = await import("./projectConfig-4A76VYUP.js");
1268
1268
  const registry = { baseUrl: loadProjectConfig(projectDir).registry };
1269
1269
  const entries = await listRegistryItems(void 0, registry);
1270
1270
  const blockAndComponentEntries = entries.filter(
@@ -1273,9 +1273,9 @@ function createStudioServer(options) {
1273
1273
  return loadAllItems(blockAndComponentEntries, registry);
1274
1274
  },
1275
1275
  async installRegistryBlock(opts) {
1276
- const { addToProject, primaryInstalledTarget } = await import("./add-5ZTD3MUZ.js");
1277
- const { recordRewrittenInstall } = await import("./installer-CWOJVK5K.js");
1278
- const { registryTargetPath } = await import("./publication-CWWUJYJ5.js");
1276
+ const { addToProject, primaryInstalledTarget } = await import("./add-ODTNPRGG.js");
1277
+ const { recordRewrittenInstall } = await import("./installer-ZP2LQZUQ.js");
1278
+ const { registryTargetPath } = await import("./publication-SQPMC2W3.js");
1279
1279
  const { result, item } = await addToProject({
1280
1280
  name: opts.blockName,
1281
1281
  projectDir: opts.project.dir,
@@ -1376,8 +1376,8 @@ function createStudioServer(options) {
1376
1376
  app.get("/api/environment/ffmpeg", async (c) => {
1377
1377
  if (ffmpegReady) return c.json({ ok: true });
1378
1378
  const [{ runEnvironmentChecks }, { getFFmpegInstallCommand }] = await Promise.all([
1379
- import("./preflight-R3DEFMLA.js"),
1380
- import("./ffmpeg-BYHON577.js")
1379
+ import("./preflight-FZ24NCHH.js"),
1380
+ import("./ffmpeg-JLH3Z7G7.js")
1381
1381
  ]);
1382
1382
  const { outcomes } = await runEnvironmentChecks();
1383
1383
  const failed = outcomes.find((outcome) => !outcome.ok);
@@ -1396,7 +1396,7 @@ function createStudioServer(options) {
1396
1396
  mountDesktopRoutes(app, projectDir);
1397
1397
  let cachedFFmpegPath;
1398
1398
  app.post("/api/projects/:id/render", async (c, next) => {
1399
- const { findFFmpeg, getFFmpegInstallHint } = await import("./ffmpeg-BYHON577.js");
1399
+ const { findFFmpeg, getFFmpegInstallHint } = await import("./ffmpeg-JLH3Z7G7.js");
1400
1400
  if (!cachedFFmpegPath) {
1401
1401
  cachedFFmpegPath = findFFmpeg();
1402
1402
  }
@@ -1512,7 +1512,7 @@ function createStudioServer(options) {
1512
1512
  });
1513
1513
  const renders = [...inFlightRenders];
1514
1514
  for (const [abortController] of renders) abortController.abort();
1515
- const { killTrackedProcesses, closeBrowserPool } = await import("./src-4UYM2K3S.js");
1515
+ const { killTrackedProcesses, closeBrowserPool } = await import("./src-RZ574OKP.js");
1516
1516
  killTrackedProcesses();
1517
1517
  const closeBrowsers = Promise.allSettled([
1518
1518
  closeThumbnailBrowser().catch(() => {
@@ -17,14 +17,14 @@ import {
17
17
  trackInitTemplate,
18
18
  trackRenderComplete,
19
19
  trackRenderError
20
- } from "./chunk-JIUTXKWA.js";
20
+ } from "./chunk-WQLKDL35.js";
21
21
  import {
22
22
  flush,
23
23
  flushSync,
24
24
  shouldTrack,
25
25
  showTelemetryNotice,
26
26
  trackEvent
27
- } from "./chunk-UKOTVJFV.js";
27
+ } from "./chunk-H5SM5PJI.js";
28
28
  import "./chunk-VWG7OQKU.js";
29
29
  import "./chunk-54HJ63Q2.js";
30
30
  import "./chunk-JVBRJMOP.js";
@@ -48,7 +48,7 @@ import {
48
48
  } from "./chunk-XUXGIA7H.js";
49
49
  import "./chunk-WERLJGIC.js";
50
50
  import "./chunk-ISN5GRYI.js";
51
- import "./chunk-4N4P3ZWL.js";
51
+ import "./chunk-I7QMXZSB.js";
52
52
  import "./chunk-KNU5COPB.js";
53
53
  import "./chunk-M2WBOQ2Q.js";
54
54
  export {
@@ -1,36 +1,29 @@
1
1
  # HyperFrames Composition Project
2
2
 
3
- ## Skills — USE THESE FIRST
3
+ ## Skills — read these first
4
4
 
5
- **Always invoke the relevant skill before writing or modifying compositions.** Skills encode framework-specific patterns (e.g., `window.__timelines` registration, `data-*` attribute semantics, shader-compatible CSS rules) that are NOT in generic web docs. Skipping them produces broken compositions.
5
+ **Invoke the relevant skill before writing or modifying compositions.** Skills encode framework-specific patterns (e.g., `window.__timelines` registration, `data-*` attribute semantics, shader-compatible CSS rules) that generic web docs don't cover, so compositions written without them break.
6
6
 
7
- **Doing anything with HyperFrames?** Start at `/hyperframes` — it tells you what HyperFrames can do and which skill or workflow handles your intent (make a video, TTS / BGM, prep footage, author / animate, render, install blocks), confirms your brief up front (the intent layer), and routes every "make me a…" request (a video, a deck, a composition port) to the right workflow. Read it first, especially when there's no project context to orient you. The workflows it routes to:
7
+ **Doing anything with HyperFrames?** Start at `/hyperframes`. Make any video by asking for it; the `/hyperframes` skill carries the contract and the references (each kind of film, story, motion, look, sound, review, captions, overlays). Read it first, especially when there's no project context to orient you.
8
8
 
9
- - `/product-launch-video` — any **website** URL or brief / script → a product launch / SaaS / promo video, or a site tour / showcase featuring the site's own captured visuals.
10
- - `/faceless-explainer` — arbitrary text (topic / article / notes), **no URL, no website capture** → 60-90s faceless explainer.
11
- - `/embedded-captions` — an existing talking-head video (MP4) → the same footage with captions / subtitles added (rail + embed, or pure-cinematic embed); the footage itself is untouched.
12
- - `/talking-head-recut` — an existing talking-head / interview / podcast video (MP4) → the same footage **packaged with designed graphic overlays** (kinetic titles, lower-thirds, data callouts, pull-quotes, side panels, pip) synced to the transcript; the clip plays unchanged underneath. (Plain captions/subtitles → `/embedded-captions`.)
13
- - `/pr-to-video` — a GitHub PR (URL / `owner/repo#N` / "this PR") → 30-90s code-change explainer (changelog / feature reveal / fix / refactor).
14
- - `/motion-graphics` — a short (typically under 10s) design-led **motion graphic**, motion-is-the-message, no narration: kinetic type, a stat / number count-up, a chart, a logo sting, a lower-third / overlay, or an animated tweet / headline / captured-page highlight; rendered to MP4 or a transparent overlay. Longer / narrated / custom → `/general-video`.
15
- - `/music-to-video` — a **music track** (audio file, video to pull audio from, or one generated from a mood brief) → beat-synced video (lyric / slideshow / kinetic promo). Music drives pacing; user-supplied images / videos are cut onto the same beat grid.
16
- - `/slideshow` — a **presentation / pitch deck / interactive deck** — discrete slides, fragment reveals, branching, hotspot navigation, presenter mode. Output is a navigable deck, not a rendered video.
17
- - `/general-video` — fallback for any other video (title card, longer brand / sizzle reel, multi-scene montage, static loop, custom composition) and the home of **companion mode** — co-create with the full HyperFrames toolbox; the original hyperframes authoring flow, any length.
18
-
19
- **Porting an existing composition?** `/remotion-to-hyperframes` translates a Remotion (React) composition into HyperFrames HTML — a source migration, separate from the creation workflows above.
20
-
21
- The domain skills (`/hyperframes-core`, `/hyperframes-animation`, `/hyperframes-keyframes`, `/hyperframes-creative`, `/hyperframes-cli`, `/media-use`, `/hyperframes-audio`, `/hyperframes-registry`, `/figma`) and the full capability map live inside `/hyperframes` — it is the single source of truth for which skill handles which intent.
9
+ - `/hyperframes` — read first for any request to make, edit, animate or render a video, motion graphic, captions or overlays. Holds the render contract and the work loop.
10
+ - `/hyperframes-cli` — the CLI by job: scaffold, check, look at frames, edit the timeline, preview, render, publish, project history.
11
+ - `/hyperframes-registry` — ready-made blocks and components installed as editable source. Search it before hand-building any named visual.
12
+ - `/media-use` — get or make any media (music, sound effects, images, voiceover, avatar and generated video, transcripts, cutouts, colour grades) and mix placed audio.
13
+ - `/figma` — bring a Figma design, frame, logo or brand into a video.
14
+ - `/slideshow` — a presentation or pitch deck. Output is a navigable deck, not a rendered MP4.
15
+ - `/remotion-to-hyperframes` — bring existing video code or footage into HyperFrames (Remotion first; also Motion Canvas, Lottie, Three.js, canvas, or renders from other tools) and verify it frame by frame against the original.
22
16
 
23
17
  **Changing how real footage or images look or reveal?** Load `/media-use` and read its `references/media-treatments.md` before editing, even when the request only says dark, flat, boring, retro, private, or “make the reveal cooler.” It governs how footage is treated, never whether media may be used. Use canonical media treatments and seek-safe motion; do not improvise equivalent CSS/SVG filters or overlays.
24
18
 
25
- > **Tailwind v4 projects** (`hyperframes init --tailwind`): see `/hyperframes-core` → `references/tailwind.md`.
19
+ > **Tailwind v4 projects** (`hyperframes init --tailwind`): see `hyperframes-cli/references/init-and-scaffold.md` (Tailwind).
26
20
 
27
21
  > **Using a HyperFrames plugin?** Load skills from that installed bundle and follow
28
22
  > its `hyperframes/references/plugin-installation.md` execution rules. Update via
29
23
  > the plugin manager, not the standalone commands below.
30
24
  >
31
25
  > **Standalone skill missing or stale?** Run `npx hyperframes skills update <name>` to install/refresh
32
- > the specific skill you need (the `/hyperframes` router does this automatically before
33
- > entering a workflow), or bare `npx hyperframes skills update` to refresh the core set plus
26
+ > the specific skill you need, or bare `npx hyperframes skills update` to refresh the core set plus
34
27
  > everything already installed — neither pulls the full set. Restart the agent session so
35
28
  > newly installed skills load.
36
29
 
@@ -92,6 +85,8 @@ npm run check
92
85
 
93
86
  Fix all errors before presenting the result. Warnings should be reviewed before rendering.
94
87
 
88
+ Then look at what you changed: `npx hyperframes snapshot --at <seconds>` (or `--range START,END`, `--composition <id>`) at the moments you edited, and read the frames before you reply. A passing check does not show how it looks.
89
+
95
90
  ## Key Rules
96
91
 
97
92
  1. Every timed element needs `data-start` and a duration. `data-start` is what marks it as timed; `data-track-index` is an optional Studio display lane the render never reads
@@ -1,36 +1,29 @@
1
1
  # HyperFrames Composition Project
2
2
 
3
- ## Skills — USE THESE FIRST
3
+ ## Skills — read these first
4
4
 
5
- **Always invoke the relevant skill before writing or modifying compositions.** Skills encode framework-specific patterns (e.g., `window.__timelines` registration, `data-*` attribute semantics, shader-compatible CSS rules) that are NOT in generic web docs. Skipping them produces broken compositions.
5
+ **Invoke the relevant skill before writing or modifying compositions.** Skills encode framework-specific patterns (e.g., `window.__timelines` registration, `data-*` attribute semantics, shader-compatible CSS rules) that generic web docs don't cover, so compositions written without them break.
6
6
 
7
- **Doing anything with HyperFrames?** Start at `/hyperframes` — it tells you what HyperFrames can do and which skill or workflow handles your intent (make a video, TTS / BGM, prep footage, author / animate, render, install blocks), confirms your brief up front (the intent layer), and routes every "make me a…" request (a video, a deck, a composition port) to the right workflow. Read it first, especially when there's no project context to orient you. The workflows it routes to:
7
+ **Doing anything with HyperFrames?** Start at `/hyperframes`. Make any video by asking for it; the `/hyperframes` skill carries the contract and the references (each kind of film, story, motion, look, sound, review, captions, overlays). Read it first, especially when there's no project context to orient you.
8
8
 
9
- - `/product-launch-video` — any **website** URL or brief / script → a product launch / SaaS / promo video, or a site tour / showcase featuring the site's own captured visuals.
10
- - `/faceless-explainer` — arbitrary text (topic / article / notes), **no URL, no website capture** → 60-90s faceless explainer.
11
- - `/embedded-captions` — an existing talking-head video (MP4) → the same footage with captions / subtitles added (rail + embed, or pure-cinematic embed); the footage itself is untouched.
12
- - `/talking-head-recut` — an existing talking-head / interview / podcast video (MP4) → the same footage **packaged with designed graphic overlays** (kinetic titles, lower-thirds, data callouts, pull-quotes, side panels, pip) synced to the transcript; the clip plays unchanged underneath. (Plain captions/subtitles → `/embedded-captions`.)
13
- - `/pr-to-video` — a GitHub PR (URL / `owner/repo#N` / "this PR") → 30-90s code-change explainer (changelog / feature reveal / fix / refactor).
14
- - `/motion-graphics` — a short (typically under 10s) design-led **motion graphic**, motion-is-the-message, no narration: kinetic type, a stat / number count-up, a chart, a logo sting, a lower-third / overlay, or an animated tweet / headline / captured-page highlight; rendered to MP4 or a transparent overlay. Longer / narrated / custom → `/general-video`.
15
- - `/music-to-video` — a **music track** (audio file, video to pull audio from, or one generated from a mood brief) → beat-synced video (lyric / slideshow / kinetic promo). Music drives pacing; user-supplied images / videos are cut onto the same beat grid.
16
- - `/slideshow` — a **presentation / pitch deck / interactive deck** — discrete slides, fragment reveals, branching, hotspot navigation, presenter mode. Output is a navigable deck, not a rendered video.
17
- - `/general-video` — fallback for any other video (title card, longer brand / sizzle reel, multi-scene montage, static loop, custom composition) and the home of **companion mode** — co-create with the full HyperFrames toolbox; the original hyperframes authoring flow, any length.
18
-
19
- **Porting an existing composition?** `/remotion-to-hyperframes` translates a Remotion (React) composition into HyperFrames HTML — a source migration, separate from the creation workflows above.
20
-
21
- The domain skills (`/hyperframes-core`, `/hyperframes-animation`, `/hyperframes-keyframes`, `/hyperframes-creative`, `/hyperframes-cli`, `/media-use`, `/hyperframes-audio`, `/hyperframes-registry`, `/figma`) and the full capability map live inside `/hyperframes` — it is the single source of truth for which skill handles which intent.
9
+ - `/hyperframes` — read first for any request to make, edit, animate or render a video, motion graphic, captions or overlays. Holds the render contract and the work loop.
10
+ - `/hyperframes-cli` — the CLI by job: scaffold, check, look at frames, edit the timeline, preview, render, publish, project history.
11
+ - `/hyperframes-registry` — ready-made blocks and components installed as editable source. Search it before hand-building any named visual.
12
+ - `/media-use` — get or make any media (music, sound effects, images, voiceover, avatar and generated video, transcripts, cutouts, colour grades) and mix placed audio.
13
+ - `/figma` — bring a Figma design, frame, logo or brand into a video.
14
+ - `/slideshow` — a presentation or pitch deck. Output is a navigable deck, not a rendered MP4.
15
+ - `/remotion-to-hyperframes` — bring existing video code or footage into HyperFrames (Remotion first; also Motion Canvas, Lottie, Three.js, canvas, or renders from other tools) and verify it frame by frame against the original.
22
16
 
23
17
  **Changing how real footage or images look or reveal?** Load `/media-use` and read its `references/media-treatments.md` before editing, even when the request only says dark, flat, boring, retro, private, or “make the reveal cooler.” It governs how footage is treated, never whether media may be used. Use canonical media treatments and seek-safe motion; do not improvise equivalent CSS/SVG filters or overlays.
24
18
 
25
- > **Tailwind v4 projects** (`hyperframes init --tailwind`): see `/hyperframes-core` → `references/tailwind.md`.
19
+ > **Tailwind v4 projects** (`hyperframes init --tailwind`): see `hyperframes-cli/references/init-and-scaffold.md` (Tailwind).
26
20
 
27
21
  > **Using a HyperFrames plugin?** Load skills from that installed bundle and follow
28
22
  > its `hyperframes/references/plugin-installation.md` execution rules. Update via
29
23
  > the plugin manager, not the standalone commands below.
30
24
  >
31
25
  > **Standalone skill missing or stale?** Run `npx hyperframes skills update <name>` to install/refresh
32
- > the specific skill you need (the `/hyperframes` router does this automatically before
33
- > entering a workflow), or bare `npx hyperframes skills update` to refresh the core set plus
26
+ > the specific skill you need, or bare `npx hyperframes skills update` to refresh the core set plus
34
27
  > everything already installed — neither pulls the full set. Restart the agent session so
35
28
  > newly installed skills load.
36
29
 
@@ -92,6 +85,8 @@ npm run check
92
85
 
93
86
  Fix all errors before presenting the result. Warnings should be reviewed before rendering.
94
87
 
88
+ Then look at what you changed: `npx hyperframes snapshot --at <seconds>` (or `--range START,END`, `--composition <id>`) at the moments you edited, and read the frames before you reply. A passing check does not show how it looks.
89
+
95
90
  ## Key Rules
96
91
 
97
92
  1. Every timed element needs `data-start` and a duration. `data-start` is what marks it as timed; `data-track-index` is an optional Studio display lane the render never reads
@@ -5,6 +5,12 @@
5
5
  <meta name="viewport" content="width=1920, height=1080" />
6
6
  <script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
7
7
  <style>
8
+ /* Placeholders: replace all three with the film's own palette and display face. */
9
+ :root {
10
+ --ground: #6b6b6b;
11
+ --ink: #ffffff;
12
+ --font-display: sans-serif;
13
+ }
8
14
  * {
9
15
  margin: 0;
10
16
  padding: 0;
@@ -16,7 +22,7 @@
16
22
  width: 1920px;
17
23
  height: 1080px;
18
24
  overflow: hidden;
19
- background: #0a0a0a;
25
+ background: var(--ground);
20
26
  }
21
27
  #root {
22
28
  width: 100%;
@@ -24,10 +30,10 @@
24
30
  display: flex;
25
31
  align-items: center;
26
32
  justify-content: center;
27
- font-family: Inter, ui-sans-serif, system-ui, sans-serif;
33
+ font-family: var(--font-display);
28
34
  }
29
35
  #title {
30
- color: #f4f4f5;
36
+ color: var(--ink);
31
37
  font-size: 72px;
32
38
  font-weight: 600;
33
39
  letter-spacing: -0.03em;
@@ -47,7 +53,7 @@
47
53
  </div>
48
54
  <script>
49
55
  const tl = gsap.timeline({ paused: true });
50
- // Example: tl.fromTo("#title", { opacity: 0, y: 24 }, { opacity: 1, y: 0, duration: 0.6 }, 0);
56
+ // Example: tl.fromTo("#title", { opacity: 0, filter: "blur(8px)" }, { opacity: 1, filter: "blur(0px)", duration: 0.18, ease: "power4.out" }, 0);
51
57
  window.__timelines["main"] = tl;
52
58
  tl.seek(0);
53
59
  </script>