hyperframes 0.8.183 → 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 (314) hide show
  1. package/dist/{add-HW3ZGR36.js → add-ODTNPRGG.js} +14 -14
  2. package/dist/{agentPromptGenerator-VIIPZCJ3.js → agentPromptGenerator-KYO5MKTW.js} +1 -1
  3. package/dist/{animatedGifPrep-EPLN37ZN.js → animatedGifPrep-PEP5GWOJ.js} +10 -9
  4. package/dist/api.js +18 -17
  5. package/dist/{asset-TOASKL3Z.js → asset-EZG42XPA.js} +2 -2
  6. package/dist/{assetCataloger-PZN5HYG2.js → assetCataloger-OHAJFCA7.js} +10 -9
  7. package/dist/{audio-F5OIQVJO.js → audio-65R4T74I.js} +18 -16
  8. package/dist/{auth-YVQLRS3T.js → auth-VP2SIZFN.js} +1 -1
  9. package/dist/{autoUpdate-EG4ZFW4D.js → autoUpdate-RVSUX4SS.js} +2 -2
  10. package/dist/{backgroundChecks-WINNQVR2.js → backgroundChecks-LEHK74NS.js} +3 -3
  11. package/dist/backgroundChecksWorker.js +3 -3
  12. package/dist/{batchRender-PASZTMEE.js → batchRender-3X6CL7PK.js} +5 -5
  13. package/dist/{beats-KGIOEBLW.js → beats-66VPQLSC.js} +6 -6
  14. package/dist/{benchmark-ZNY2L7HN.js → benchmark-PBJVTOJP.js} +10 -10
  15. package/dist/{browser-REAO7RU4.js → browser-TPL5MWGC.js} +3 -3
  16. package/dist/{bundleWithLocalizedFonts-OAYLYC4W.js → bundleWithLocalizedFonts-67MLTHKM.js} +2 -2
  17. package/dist/{capture-WOSF276U.js → capture-F3GNMRZM.js} +14 -13
  18. package/dist/{capture-IK6GWQDD.js → capture-YYRE7EV3.js} +2 -2
  19. package/dist/{captureCompositionFrame-DDZNKYRE.js → captureCompositionFrame-PXV2ISHD.js} +14 -13
  20. package/dist/{catalog-AKTXS7OJ.js → catalog-6SDD3OHF.js} +14 -14
  21. package/dist/{catch-up-O3VZMPVE.js → catch-up-CWIVA5VG.js} +4 -4
  22. package/dist/{check-6E46NIWI.js → check-YQ6REK2S.js} +35 -34
  23. package/dist/{checkBrowser-UNZHQFNH.js → checkBrowser-5XZCBRXM.js} +32 -31
  24. package/dist/{chunk-TOHA5NAU.js → chunk-2TAS5O4P.js} +56 -11
  25. package/dist/{chunk-3Q47QC46.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-GAGMLVCV.js → chunk-4CTNDBE3.js} +2 -2
  29. package/dist/{chunk-CGK4XZ2J.js → chunk-55YELV7B.js} +1 -1
  30. package/dist/{chunk-TJB4GAV6.js → chunk-5GUKZRQN.js} +1 -1
  31. package/dist/{chunk-J4L5TPLS.js → chunk-5UDRPPN2.js} +48 -6
  32. package/dist/{chunk-SAQYJLI6.js → chunk-6ASIXMFP.js} +1 -1
  33. package/dist/{chunk-GPE3WWTO.js → chunk-6GPR3G3C.js} +14 -11
  34. package/dist/{chunk-MIZDJVPZ.js → chunk-6RIZY7OP.js} +1 -1
  35. package/dist/{chunk-5CS4T6C6.js → chunk-7L37AB57.js} +1 -1
  36. package/dist/{chunk-VH5KESLX.js → chunk-7PS6RVWD.js} +1 -1
  37. package/dist/{chunk-U5YVWG5W.js → chunk-7RAY4WZP.js} +3 -3
  38. package/dist/{chunk-COTLNID2.js → chunk-A6QCO474.js} +5 -5
  39. package/dist/{chunk-YMS5FOMC.js → chunk-B2A56S5C.js} +1 -1
  40. package/dist/{chunk-4FQKS7BJ.js → chunk-BH7TTIPN.js} +11 -13
  41. package/dist/{chunk-LBWRQ4XA.js → chunk-BRAPBUPQ.js} +1 -1
  42. package/dist/{chunk-IC2WYONA.js → chunk-CX3USX23.js} +3 -3
  43. package/dist/{chunk-ITSLKUQM.js → chunk-D42NU3DZ.js} +1 -1
  44. package/dist/{chunk-Q6UYKWBG.js → chunk-EMAWIZ54.js} +481 -36
  45. package/dist/{chunk-ZFO3A3QL.js → chunk-EMSDWBG3.js} +2 -2
  46. package/dist/{chunk-KRFAX5JK.js → chunk-ESBMUZXZ.js} +1 -1
  47. package/dist/{chunk-CAHTO62O.js → chunk-F3OPUWQX.js} +7 -7
  48. package/dist/{chunk-R6OV4J4K.js → chunk-FX6RUJUY.js} +3 -3
  49. package/dist/{chunk-F6WHPHLF.js → chunk-G2UANIDX.js} +1 -1
  50. package/dist/{chunk-DEORFAWP.js → chunk-H5SM5PJI.js} +1 -1
  51. package/dist/{chunk-5OGDBU4G.js → chunk-H6UY725W.js} +2 -2
  52. package/dist/{chunk-K2Z5DZBS.js → chunk-HDIRZGK4.js} +1 -1
  53. package/dist/{chunk-TXGZZKDF.js → chunk-HHSJJFVM.js} +2 -2
  54. package/dist/{chunk-VDJO4DJ7.js → chunk-HXUTX5GR.js} +3 -3
  55. package/dist/{chunk-73LTCCZI.js → chunk-I3IH5MV5.js} +19 -23
  56. package/dist/{chunk-3OLIGYWN.js → chunk-I45HL3VP.js} +3 -3
  57. package/dist/{chunk-TYXH3EKP.js → chunk-I5JRXMCV.js} +16 -1
  58. package/dist/{chunk-RZXUQR42.js → chunk-I7QMXZSB.js} +2 -2
  59. package/dist/{chunk-XOVHO3TT.js → chunk-IDFNKFPL.js} +7 -7
  60. package/dist/{chunk-QX4GGPMY.js → chunk-IDGLGXPA.js} +1 -1
  61. package/dist/{chunk-5MBLWFLM.js → chunk-IPDKZ5IN.js} +33 -6
  62. package/dist/{chunk-ANR6WOC3.js → chunk-ISTRDGIX.js} +1 -1
  63. package/dist/{chunk-4UFJWRHG.js → chunk-IVEFOUZI.js} +211 -83
  64. package/dist/chunk-IZCW2NKT.js +29 -0
  65. package/dist/{chunk-X3IA5RYH.js → chunk-J36JVBLR.js} +9 -2
  66. package/dist/{chunk-Z4R35NJS.js → chunk-J5XEZ24I.js} +3 -3
  67. package/dist/{chunk-OH56PXFH.js → chunk-K2ZKXTVL.js} +1 -1
  68. package/dist/{chunk-ATMDOUNN.js → chunk-K73RJB23.js} +2 -2
  69. package/dist/{chunk-NZ3BE2QE.js → chunk-KQ4JEJLF.js} +10 -10
  70. package/dist/{chunk-VFBAKPRC.js → chunk-KROXPHXX.js} +9 -3
  71. package/dist/{chunk-QGOYNPQT.js → chunk-LLFQA7XF.js} +48 -5
  72. package/dist/chunk-LLMSX6V6.js +17 -0
  73. package/dist/{chunk-XR5BSEUF.js → chunk-LYKSTRAY.js} +3 -3
  74. package/dist/{chunk-UNOSCGBG.js → chunk-OAG47RE6.js} +1 -1
  75. package/dist/{chunk-O7N3A7PE.js → chunk-PHMBMOXF.js} +1 -1
  76. package/dist/{chunk-BP4VNTZL.js → chunk-PMMQRJDE.js} +1 -1
  77. package/dist/{chunk-ADDHW2FS.js → chunk-Q447CX26.js} +82 -12
  78. package/dist/{chunk-WT4PYV2J.js → chunk-Q47FAYYK.js} +202 -55
  79. package/dist/{chunk-AKFADCMS.js → chunk-RTBSA3EA.js} +1 -1
  80. package/dist/{chunk-VAK7A2N6.js → chunk-RUEGYANA.js} +11 -11
  81. package/dist/{chunk-OYLO6TYK.js → chunk-RUOG4VB7.js} +1 -1
  82. package/dist/{chunk-EVAQPW6O.js → chunk-SKYPMHQC.js} +4 -4
  83. package/dist/{chunk-B2SZZFWW.js → chunk-SQVRXHOW.js} +3 -3
  84. package/dist/{chunk-CJYAJ3QM.js → chunk-TAX2ZJAP.js} +24 -16
  85. package/dist/{chunk-GTE5WZAM.js → chunk-TOI35GN2.js} +1 -1
  86. package/dist/{chunk-XJHKJXT4.js → chunk-UPR3MU6Z.js} +1 -1
  87. package/dist/{chunk-DLC2FICN.js → chunk-WQLKDL35.js} +2 -1
  88. package/dist/{chunk-3BA2GP4H.js → chunk-X6L6MD5B.js} +5 -5
  89. package/dist/{chunk-XAQDR5Y5.js → chunk-XGHHVYC7.js} +94 -32
  90. package/dist/{chunk-HLBODNGW.js → chunk-XWC7CNPY.js} +1 -1
  91. package/dist/{clean-WNEIVBF3.js → clean-7J6ZCCGV.js} +19 -18
  92. package/dist/cli.js +53 -53
  93. package/dist/{cloud-6GSSDCJL.js → cloud-7IJCJCDD.js} +4 -4
  94. package/dist/{cloudrun-4NEJRE4T.js → cloudrun-UNZRIIDB.js} +7 -7
  95. package/dist/commands/contrast-audit.browser.js +1 -2
  96. package/dist/commands/layout-audit.browser.js +196 -0
  97. package/dist/{compare-2JWQ5ABA.js → compare-Q7VW5JZT.js} +29 -28
  98. package/dist/{compiler-27KQD7KW.js → compiler-KPHYGFXL.js} +6 -6
  99. package/dist/{component-HCRET3MH.js → component-UUBREJKN.js} +3 -3
  100. package/dist/{compositions-HTSQ6SUJ.js → compositions-T4FTKIDP.js} +14 -13
  101. package/dist/{delete-GHQ5UYM7.js → delete-WZQF2IIA.js} +3 -3
  102. package/dist/{deploy-I3Z3NAVA.js → deploy-JU7A3XNC.js} +1 -1
  103. package/dist/{deterministicFonts-JFLSSKRB.js → deterministicFonts-EGAAE7QL.js} +3 -3
  104. package/dist/{dist-SENYPQGW.js → dist-LM7AVHOU.js} +3 -3
  105. package/dist/{dist-WRDLWRMS.js → dist-ULGTPSU4.js} +8 -4
  106. package/dist/docs/data-attributes.md +1 -1
  107. package/dist/{doctor-UGFVQZHI.js → doctor-VSNGRKXJ.js} +14 -13
  108. package/dist/{events-YS4OVX3I.js → events-CRW2DYUT.js} +3 -3
  109. package/dist/{events-BLJGWMNP.js → events-E63YBUL2.js} +3 -3
  110. package/dist/{feedback-AZ3SJ5HF.js → feedback-OSZWVR6N.js} +9 -9
  111. package/dist/{ffmpeg-2AECXG7V.js → ffmpeg-JLH3Z7G7.js} +10 -9
  112. package/dist/{figma-DRYIJQHV.js → figma-2BQNNR53.js} +3 -3
  113. package/dist/fontLocalizeCli.js +13 -12
  114. package/dist/{get-DDEAOFPB.js → get-P2XI53QW.js} +3 -3
  115. package/dist/{gpuPolicy-UDJT2MQK.js → gpuPolicy-NTKQJY75.js} +10 -9
  116. package/dist/{grade-compare-LJKK5NSY.js → grade-compare-OYASIHIB.js} +30 -29
  117. package/dist/{gsapParserAcorn-7NCK2LVT.js → gsapParserAcorn-SKODXC2N.js} +2 -2
  118. package/dist/{help-TQBGYOID.js → help-HK6K2N4G.js} +1 -1
  119. package/dist/{history-5TOOCF2Y.js → history-JMTYKLXW.js} +6 -6
  120. package/dist/hyperframe.manifest.json +1 -1
  121. package/dist/hyperframe.runtime.iife.js +65 -65
  122. package/dist/hyperframes-player.global.js +1 -1
  123. package/dist/{info-ENI5MP4W.js → info-AW7CIVRE.js} +9 -9
  124. package/dist/{init-JXPXWV3G.js → init-6KIDG4LB.js} +31 -30
  125. package/dist/{inspect-WZNYQ5AB.js → inspect-B7BLYMRZ.js} +30 -29
  126. package/dist/{installer-3SGRBLJW.js → installer-ZP2LQZUQ.js} +7 -7
  127. package/dist/{keyframes-HEOC4CT4.js → keyframes-EQ36A5JE.js} +7 -7
  128. package/dist/{lambda-2VHQ4AL2.js → lambda-E6VURLIS.js} +9 -9
  129. package/dist/{layout-7WEUNO6T.js → layout-XYC64QQQ.js} +30 -29
  130. package/dist/{lint-5YMAF3L7.js → lint-V5DJYWBX.js} +9 -9
  131. package/dist/{lintProject-C2ONSH2U.js → lintProject-JATQKR64.js} +3 -3
  132. package/dist/{list-BIE3X7CO.js → list-RUGVRTVD.js} +3 -3
  133. package/dist/{login-YDIGJWCG.js → login-ZTKGKXGS.js} +4 -4
  134. package/dist/{manager-D2UV6RDQ.js → manager-JUP7PM6N.js} +11 -10
  135. package/dist/{media-treatment-FSKHPMWA.js → media-treatment-VIUPK4OR.js} +16 -15
  136. package/dist/{models-COEK6LXG.js → models-LJS2HBOZ.js} +14 -13
  137. package/dist/{motionShot-HYZ2ZGJQ.js → motionShot-3UAXZ7SN.js} +17 -16
  138. package/dist/{normalize-audio-UXR6WQ7Q.js → normalize-audio-SBYI4YIH.js} +4 -4
  139. package/dist/{open-OFT2GIDG.js → open-S27TUD3A.js} +14 -14
  140. package/dist/{parakeetRunner-4NZ3QXS3.js → parakeetRunner-ETLMLJ4L.js} +15 -14
  141. package/dist/{pipeline-ZKE54JMG.js → pipeline-I2M22M24.js} +11 -10
  142. package/dist/{play-2VG77FT6.js → play-COJU6VJK.js} +22 -21
  143. package/dist/{preflight-QTWDIM5C.js → preflight-FZ24NCHH.js} +11 -10
  144. package/dist/{present-OONXQLJG.js → present-YAHKLC5D.js} +18 -17
  145. package/dist/{preview-6RZJFU76.js → preview-KQOEU5YE.js} +27 -26
  146. package/dist/{producer-6YM3UH3B.js → producer-DTNNG4T6.js} +1 -1
  147. package/dist/{projectConfig-YMW4P2X6.js → projectConfig-4A76VYUP.js} +9 -9
  148. package/dist/{publication-SEINUAPZ.js → publication-SQPMC2W3.js} +4 -4
  149. package/dist/{publish-KZBTBWFO.js → publish-QUEJBGGT.js} +13 -12
  150. package/dist/{remove-background-BIQNMIR7.js → remove-background-FP2ETAQH.js} +12 -11
  151. package/dist/{render-FIH37HJA.js → render-BIFIL4U6.js} +32 -31
  152. package/dist/render-GQFXJWLV.js +1504 -0
  153. package/dist/{render-LW76HOMJ.js → render-P664SMC7.js} +5 -5
  154. package/dist/{render-batch-POLEEYD4.js → render-batch-ZCPMYH6Z.js} +5 -5
  155. package/dist/renderSetupWorker.js +3 -3
  156. package/dist/{resolver-O2SED3XB.js → resolver-BUC2GFZQ.js} +6 -6
  157. package/dist/{sherpa-HTFFFTVQ.js → sherpa-HFT6XEP6.js} +14 -13
  158. package/dist/skills/hyperframes/SKILL.md +52 -174
  159. package/dist/skills/hyperframes/assets/frame-presets/biennale-yellow/FRAME.md +289 -0
  160. package/dist/skills/hyperframes/assets/frame-presets/biennale-yellow/caption-skin.html +220 -0
  161. package/dist/skills/hyperframes/assets/frame-presets/biennale-yellow/frame-showcase.html +1214 -0
  162. package/dist/skills/hyperframes/assets/frame-presets/blockframe/FRAME.md +275 -0
  163. package/dist/skills/hyperframes/assets/frame-presets/blockframe/caption-skin.html +223 -0
  164. package/dist/skills/hyperframes/assets/frame-presets/blockframe/frame-showcase.html +1347 -0
  165. package/dist/skills/hyperframes/assets/frame-presets/blue-professional/FRAME.md +307 -0
  166. package/dist/skills/hyperframes/assets/frame-presets/blue-professional/caption-skin.html +222 -0
  167. package/dist/skills/hyperframes/assets/frame-presets/blue-professional/frame-showcase.html +1372 -0
  168. package/dist/skills/hyperframes/assets/frame-presets/bold-poster/FRAME.md +275 -0
  169. package/dist/skills/hyperframes/assets/frame-presets/bold-poster/caption-skin.html +229 -0
  170. package/dist/skills/hyperframes/assets/frame-presets/bold-poster/frame-showcase.html +1140 -0
  171. package/dist/skills/hyperframes/assets/frame-presets/broadside/FRAME.md +284 -0
  172. package/dist/skills/hyperframes/assets/frame-presets/broadside/caption-skin.html +224 -0
  173. package/dist/skills/hyperframes/assets/frame-presets/broadside/frame-showcase.html +1166 -0
  174. package/dist/skills/hyperframes/assets/frame-presets/capsule/FRAME.md +284 -0
  175. package/dist/skills/hyperframes/assets/frame-presets/capsule/caption-skin.html +223 -0
  176. package/dist/skills/hyperframes/assets/frame-presets/capsule/frame-showcase.html +1465 -0
  177. package/dist/skills/hyperframes/assets/frame-presets/cartesian/FRAME.md +278 -0
  178. package/dist/skills/hyperframes/assets/frame-presets/cartesian/caption-skin.html +221 -0
  179. package/dist/skills/hyperframes/assets/frame-presets/cartesian/frame-showcase.html +1263 -0
  180. package/dist/skills/hyperframes/assets/frame-presets/cobalt-grid/FRAME.md +265 -0
  181. package/dist/skills/hyperframes/assets/frame-presets/cobalt-grid/caption-skin.html +237 -0
  182. package/dist/skills/hyperframes/assets/frame-presets/cobalt-grid/frame-showcase.html +1468 -0
  183. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/FRAME.md +277 -0
  184. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/caption-skin.html +223 -0
  185. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/EBGaramond-400.woff2 +0 -0
  186. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/EBGaramond-700.woff2 +0 -0
  187. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/Inter-400.woff2 +0 -0
  188. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/Inter-700.woff2 +0 -0
  189. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/JetBrainsMono-400.woff2 +0 -0
  190. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/JetBrainsMono-700.woff2 +0 -0
  191. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/OFL-eb-garamond.txt +93 -0
  192. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/OFL-inter.txt +93 -0
  193. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/OFL-jetbrains-mono.txt +93 -0
  194. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/frame-showcase.html +1438 -0
  195. package/dist/skills/hyperframes/assets/frame-presets/coral/FRAME.md +314 -0
  196. package/dist/skills/hyperframes/assets/frame-presets/coral/caption-skin.html +225 -0
  197. package/dist/skills/hyperframes/assets/frame-presets/coral/frame-showcase.html +1268 -0
  198. package/dist/skills/hyperframes/assets/frame-presets/creative-mode/FRAME.md +333 -0
  199. package/dist/skills/hyperframes/assets/frame-presets/creative-mode/caption-skin.html +226 -0
  200. package/dist/skills/hyperframes/assets/frame-presets/creative-mode/frame-showcase.html +1330 -0
  201. package/dist/skills/hyperframes/assets/frame-presets/daisy-days/FRAME.md +274 -0
  202. package/dist/skills/hyperframes/assets/frame-presets/daisy-days/caption-skin.html +229 -0
  203. package/dist/skills/hyperframes/assets/frame-presets/daisy-days/frame-showcase.html +1444 -0
  204. package/dist/skills/hyperframes/assets/frame-presets/editorial-forest/FRAME.md +265 -0
  205. package/dist/skills/hyperframes/assets/frame-presets/editorial-forest/caption-skin.html +222 -0
  206. package/dist/skills/hyperframes/assets/frame-presets/editorial-forest/frame-showcase.html +1273 -0
  207. package/dist/skills/hyperframes/references/captions.md +46 -0
  208. package/dist/skills/hyperframes/references/film.md +47 -0
  209. package/dist/skills/hyperframes/references/format.md +157 -0
  210. package/dist/skills/hyperframes/references/look.md +69 -0
  211. package/dist/skills/hyperframes/references/motion.md +94 -0
  212. package/dist/skills/hyperframes/references/overlays.md +39 -0
  213. package/dist/skills/hyperframes/references/plugin-installation.md +3 -3
  214. package/dist/skills/hyperframes/references/review.md +51 -0
  215. package/dist/skills/hyperframes/references/runtimes.md +43 -0
  216. package/dist/skills/hyperframes/references/skill-lifecycle.md +21 -13
  217. package/dist/skills/hyperframes/references/sound.md +43 -0
  218. package/dist/skills/hyperframes/references/spec.md +76 -0
  219. package/dist/skills/hyperframes/references/story.md +103 -0
  220. package/dist/skills/hyperframes/references/storyboard-format.md +30 -22
  221. package/dist/skills/hyperframes/references/storyboard.md +36 -0
  222. package/dist/skills/hyperframes/references/types/3d.md +25 -0
  223. package/dist/skills/hyperframes/references/types/character.md +20 -0
  224. package/dist/skills/hyperframes/references/types/data.md +19 -0
  225. package/dist/skills/hyperframes/references/types/explainer.md +34 -0
  226. package/dist/skills/hyperframes/references/types/launch.md +31 -0
  227. package/dist/skills/hyperframes/references/types/music.md +24 -0
  228. package/dist/skills/hyperframes/references/types/vertical.md +23 -0
  229. package/dist/skills/hyperframes/scripts/bake-basemap.mjs +324 -0
  230. package/dist/skills/hyperframes/scripts/lib/main-module.test.mjs +1 -6
  231. package/dist/skills/hyperframes/scripts/locate.mjs +228 -0
  232. package/dist/skills/hyperframes-cli/SKILL.md +76 -179
  233. package/dist/skills/hyperframes-cli/references/beats.md +1 -1
  234. package/dist/skills/hyperframes-cli/references/cloud.md +2 -2
  235. package/dist/skills/hyperframes-cli/references/cloudrun.md +1 -1
  236. package/dist/skills/hyperframes-cli/references/conventions.md +17 -0
  237. package/dist/skills/hyperframes-cli/references/feedback.md +14 -0
  238. package/dist/skills/hyperframes-cli/references/init-and-scaffold.md +11 -7
  239. package/dist/skills/hyperframes-cli/references/lambda.md +1 -1
  240. package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +19 -8
  241. package/dist/skills/hyperframes-cli/references/preview-render.md +8 -2
  242. package/dist/skills/hyperframes-cli/references/upgrade-info-misc.md +8 -0
  243. package/dist/skills/media-use/SKILL.md +47 -91
  244. package/dist/skills/media-use/audio/references/bgm.md +1 -1
  245. package/dist/skills/media-use/audio/references/captions/authoring.md +1 -2
  246. package/dist/skills/media-use/audio/references/captions/motion.md +5 -5
  247. package/dist/skills/media-use/audio/references/tts.md +0 -3
  248. package/dist/skills/media-use/audio/scripts/audio.mjs +5 -6
  249. package/dist/skills/media-use/audio/scripts/carve.mjs +560 -0
  250. package/dist/skills/media-use/audio/scripts/carve.test.mjs +254 -0
  251. package/dist/skills/media-use/audio/scripts/extract-audio-data.py +199 -0
  252. package/dist/skills/media-use/references/local.md +24 -0
  253. package/dist/skills/media-use/references/memory.md +4 -4
  254. package/dist/skills/media-use/references/mixing.md +71 -0
  255. package/dist/skills/media-use/references/operations.md +1 -1
  256. package/dist/skills/media-use/scripts/compatibility.test.mjs +1 -56
  257. package/dist/skills/media-use/scripts/lib/prefs-store.mjs +1 -1
  258. package/dist/skills/media-use/scripts/lib/recipe-store.mjs +1 -1
  259. package/dist/skills/media-use/scripts/prefs.mjs +2 -3
  260. package/dist/skills/media-use/scripts/recipe.mjs +1 -3
  261. package/dist/{skills-J6MBGS5O.js → skills-3WEVO3NU.js} +20 -13
  262. package/dist/{skillsUpdateCheck-ZAXNLBF3.js → skillsUpdateCheck-BFPWFOK5.js} +3 -3
  263. package/dist/{snapshot-TL7TTFS6.js → snapshot-WDQ6S7CJ.js} +458 -98
  264. package/dist/{src-Z5H5N5T4.js → src-NPR2JZOJ.js} +15 -11
  265. package/dist/{src-EL6HGIS4.js → src-RZ574OKP.js} +9 -8
  266. package/dist/{staticProjectServer-EO7X7RAY.js → staticProjectServer-FTGTEZI4.js} +18 -17
  267. package/dist/studio/assets/{hyperframes-player-hz_VqxBZ.js → hyperframes-player-CoOdf435.js} +1 -1
  268. package/dist/studio/assets/{index-CV_ojgp5.js → index-CR85xg2x.js} +1 -1
  269. package/dist/studio/assets/{index-S1ceEagc.js → index-C_6rTpaB.js} +5 -5
  270. package/dist/studio/index.html +1 -1
  271. package/dist/{studio-api-CUZDC5B3.js → studio-api-TAWB7B23.js} +12 -11
  272. package/dist/{studioServer-EZPRV43Y.js → studioServer-HRQGJTBU.js} +49 -48
  273. package/dist/{telemetry-LFUVHARP.js → telemetry-QZ6HJF4W.js} +3 -3
  274. package/dist/templates/_shared/AGENTS.md +14 -19
  275. package/dist/templates/_shared/CLAUDE.md +14 -19
  276. package/dist/templates/blank/index.html +10 -4
  277. package/dist/{timeline-GSH743JE.js → timeline-IKUEW42T.js} +21 -19
  278. package/dist/{tokens-3ZMPSH7B.js → tokens-AUGUEWHS.js} +2 -2
  279. package/dist/{transcribe-4SHNDPWW.js → transcribe-7734CG3N.js} +19 -18
  280. package/dist/{transcribe-TV7JBZQS.js → transcribe-FWU6EMEO.js} +13 -12
  281. package/dist/{updateCheck-W7FTFOQF.js → updateCheck-VIPQ3FPW.js} +2 -2
  282. package/dist/{upgrade-7YYYNAPF.js → upgrade-4VNDQTVO.js} +2 -2
  283. package/dist/{urlDownloader-PQSUS2CP.js → urlDownloader-6CXL4CL7.js} +9 -8
  284. package/dist/{validate-GCHAEVXM.js → validate-QWCMVWID.js} +24 -23
  285. package/dist/{video-KGN7NJS5.js → video-245Q5WN4.js} +10 -9
  286. package/dist/warmCheck.js +37 -36
  287. package/package.json +1 -1
  288. package/dist/chunk-GMNHAOMJ.js +0 -3805
  289. package/dist/render-65K3K6SD.js +0 -719
  290. package/dist/skills/hyperframes/references/brief-contract.md +0 -108
  291. package/dist/skills/hyperframes/references/brief-format.md +0 -72
  292. package/dist/skills/hyperframes/references/capability-menu.md +0 -47
  293. package/dist/skills/hyperframes/references/frame-worker-core.md +0 -82
  294. package/dist/skills/hyperframes/references/intent-interview.md +0 -73
  295. package/dist/skills/hyperframes/references/pitch-round.md +0 -40
  296. package/dist/skills/hyperframes/references/production-loop.md +0 -26
  297. package/dist/skills/hyperframes/references/review-loop.md +0 -37
  298. package/dist/skills/hyperframes/references/route-briefs.md +0 -11
  299. package/dist/skills/hyperframes/references/routes/embedded-captions.md +0 -11
  300. package/dist/skills/hyperframes/references/routes/faceless-explainer.md +0 -12
  301. package/dist/skills/hyperframes/references/routes/general-video.md +0 -12
  302. package/dist/skills/hyperframes/references/routes/motion-graphics.md +0 -11
  303. package/dist/skills/hyperframes/references/routes/music-to-video.md +0 -12
  304. package/dist/skills/hyperframes/references/routes/pr-to-video.md +0 -28
  305. package/dist/skills/hyperframes/references/routes/product-launch-video.md +0 -13
  306. package/dist/skills/hyperframes/references/routes/remotion-to-hyperframes.md +0 -9
  307. package/dist/skills/hyperframes/references/routes/slideshow.md +0 -11
  308. package/dist/skills/hyperframes/references/routes/talking-head-recut.md +0 -11
  309. package/dist/skills/hyperframes/references/script-format.md +0 -52
  310. package/dist/skills/hyperframes/references/subagent-dispatch.md +0 -35
  311. package/dist/skills/hyperframes/references/workflow-catalog.md +0 -10
  312. package/dist/skills/hyperframes/scripts/lib/frame-packets-core.mjs +0 -176
  313. package/dist/skills/media-use/audio/scripts/lib/host-audio.mjs +0 -28
  314. 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-S1ceEagc.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-NZ3BE2QE.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-EVAQPW6O.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-GPE3WWTO.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 {
@@ -84,30 +84,31 @@ import {
84
84
  createStudioPositionSeekReapplyScript
85
85
  } from "./chunk-EVMY7IPL.js";
86
86
  import "./chunk-7FMUTGOH.js";
87
- import "./chunk-VFBAKPRC.js";
87
+ import "./chunk-IZCW2NKT.js";
88
+ import "./chunk-KROXPHXX.js";
88
89
  import "./chunk-RQVDTPGD.js";
89
- import "./chunk-WT4PYV2J.js";
90
- import "./chunk-GMNHAOMJ.js";
90
+ import "./chunk-Q47FAYYK.js";
91
+ import "./chunk-3NPOFC43.js";
91
92
  import "./chunk-VC76R6W2.js";
92
93
  import "./chunk-UJKQWGFF.js";
93
- import "./chunk-YMS5FOMC.js";
94
+ import "./chunk-B2A56S5C.js";
94
95
  import {
95
96
  isSafePath
96
97
  } from "./chunk-OFQWTKPW.js";
97
98
  import "./chunk-DPVXBVLL.js";
98
99
  import "./chunk-634HSJ3J.js";
99
100
  import "./chunk-FXMKHHPO.js";
100
- import "./chunk-ADDHW2FS.js";
101
+ import "./chunk-Q447CX26.js";
101
102
  import "./chunk-VAS6HQX3.js";
102
103
  import "./chunk-6BNTGNGD.js";
103
- import "./chunk-OYLO6TYK.js";
104
+ import "./chunk-RUOG4VB7.js";
104
105
  import "./chunk-MMQ52NIZ.js";
105
106
  import {
106
107
  decodeWellFormedEscapes
107
108
  } from "./chunk-BSQ7XANM.js";
108
109
  import "./chunk-SDYDNHEE.js";
109
110
  import "./chunk-IXLUTE6N.js";
110
- import "./chunk-TYXH3EKP.js";
111
+ import "./chunk-I5JRXMCV.js";
111
112
  import "./chunk-M2WBOQ2Q.js";
112
113
  export {
113
114
  DEFAULT_HISTORY_ROOT,
@@ -8,22 +8,22 @@ import {
8
8
  renderJobObservabilityTelemetryPayload,
9
9
  renderObservabilityTelemetryPayload,
10
10
  startRenderCpuSampler
11
- } from "./chunk-KRFAX5JK.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-TXGZZKDF.js";
17
+ } from "./chunk-HHSJJFVM.js";
18
18
  import "./chunk-DCAI5DBR.js";
19
19
  import {
20
20
  resolveRenderBrowser
21
- } from "./chunk-MIZDJVPZ.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-OH56PXFH.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-NZ3BE2QE.js";
40
- import "./chunk-EVAQPW6O.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-GPE3WWTO.js";
56
+ import "./chunk-6GPR3G3C.js";
57
57
  import "./chunk-ALVXFXUG.js";
58
58
  import {
59
59
  seekCompositionTimeline
60
- } from "./chunk-XOVHO3TT.js";
60
+ } from "./chunk-IDFNKFPL.js";
61
61
  import "./chunk-FH7WODJH.js";
62
- import "./chunk-GTE5WZAM.js";
62
+ import "./chunk-TOI35GN2.js";
63
63
  import "./chunk-MOEGCMKI.js";
64
- import "./chunk-B2SZZFWW.js";
64
+ import "./chunk-SQVRXHOW.js";
65
65
  import "./chunk-DKPNNYBZ.js";
66
- import "./chunk-F6WHPHLF.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-ZFO3A3QL.js";
74
+ } from "./chunk-EMSDWBG3.js";
75
75
  import {
76
76
  resolveAutoProxy
77
- } from "./chunk-K2Z5DZBS.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-AKFADCMS.js";
81
+ import "./chunk-RTBSA3EA.js";
82
82
  import "./chunk-JHOCK3DG.js";
83
- import "./chunk-VDJO4DJ7.js";
84
- import "./chunk-BP4VNTZL.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-DLC2FICN.js";
96
+ } from "./chunk-WQLKDL35.js";
97
97
  import {
98
98
  canaryDecisionsForStudio,
99
99
  resetTelemetryPostureCache,
100
100
  shouldTrack
101
- } from "./chunk-DEORFAWP.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,16 +112,17 @@ import "./chunk-7FMUTGOH.js";
112
112
  import {
113
113
  assertWebGpuAdapterAvailable,
114
114
  compositionRequiresWebGpu
115
- } from "./chunk-73LTCCZI.js";
115
+ } from "./chunk-I3IH5MV5.js";
116
+ import "./chunk-IZCW2NKT.js";
116
117
  import {
117
118
  fpsToNumber
118
- } from "./chunk-VFBAKPRC.js";
119
+ } from "./chunk-KROXPHXX.js";
119
120
  import "./chunk-RQVDTPGD.js";
120
- import "./chunk-WT4PYV2J.js";
121
- import "./chunk-GMNHAOMJ.js";
121
+ import "./chunk-Q47FAYYK.js";
122
+ import "./chunk-3NPOFC43.js";
122
123
  import "./chunk-VC76R6W2.js";
123
124
  import "./chunk-UJKQWGFF.js";
124
- import "./chunk-YMS5FOMC.js";
125
+ import "./chunk-B2A56S5C.js";
125
126
  import {
126
127
  realpath
127
128
  } from "./chunk-OFQWTKPW.js";
@@ -139,17 +140,17 @@ import {
139
140
  } from "./chunk-T6AGUTZJ.js";
140
141
  import "./chunk-XT6MXC7A.js";
141
142
  import "./chunk-4UMPIPCQ.js";
142
- import "./chunk-ADDHW2FS.js";
143
+ import "./chunk-Q447CX26.js";
143
144
  import "./chunk-VAS6HQX3.js";
144
145
  import {
145
146
  isWithinProjectRoot
146
147
  } from "./chunk-6BNTGNGD.js";
147
- import "./chunk-OYLO6TYK.js";
148
+ import "./chunk-RUOG4VB7.js";
148
149
  import "./chunk-MMQ52NIZ.js";
149
150
  import "./chunk-BSQ7XANM.js";
150
151
  import "./chunk-SDYDNHEE.js";
151
152
  import "./chunk-IXLUTE6N.js";
152
- import "./chunk-TYXH3EKP.js";
153
+ import "./chunk-I5JRXMCV.js";
153
154
  import "./chunk-W2LGJSEN.js";
154
155
  import "./chunk-K4WIOZFP.js";
155
156
  import {
@@ -162,7 +163,7 @@ import {
162
163
  } from "./chunk-ISN5GRYI.js";
163
164
  import {
164
165
  VERSION
165
- } from "./chunk-RZXUQR42.js";
166
+ } from "./chunk-I7QMXZSB.js";
166
167
  import "./chunk-KNU5COPB.js";
167
168
  import "./chunk-KGPLIH7B.js";
168
169
  import "./chunk-M2WBOQ2Q.js";
@@ -353,7 +354,7 @@ var ENTRY_TS = resolve(__dirname, "..", "..", "..", "core", "src", "runtime", "e
353
354
  async function buildFromSource() {
354
355
  if (!existsSync(ENTRY_TS)) return null;
355
356
  try {
356
- const mod = await import("./dist-WRDLWRMS.js");
357
+ const mod = await import("./dist-ULGTPSU4.js");
357
358
  if (typeof mod.loadHyperframeRuntimeSource === "function") {
358
359
  const source = mod.loadHyperframeRuntimeSource();
359
360
  if (source) return source;
@@ -364,7 +365,7 @@ async function buildFromSource() {
364
365
  }
365
366
  async function getInlinedRuntime() {
366
367
  try {
367
- const mod = await import("./dist-WRDLWRMS.js");
368
+ const mod = await import("./dist-ULGTPSU4.js");
368
369
  if (typeof mod.getHyperframeRuntimeScript === "function") {
369
370
  return mod.getHyperframeRuntimeScript() ?? null;
370
371
  }
@@ -719,13 +720,13 @@ var RENDER_SHUTDOWN_WAIT_MS = 2e3;
719
720
  var IMMUTABLE_CACHE_CONTROL = "public, max-age=31536000, immutable";
720
721
  var REMOTE_GIF_IMG_SRC_RE = /<img\b[^>]*?\bsrc\s*=\s*["'](https?:\/\/[^"']+\.gif(?:[?#][^"']*)?)["'][^>]*>/gi;
721
722
  async function loadStudioProducer() {
722
- if (!isDevMode()) return await import("./src-Z5H5N5T4.js");
723
+ if (!isDevMode()) return await import("./src-NPR2JZOJ.js");
723
724
  if (!process.versions.bun) {
724
725
  throw new Error(
725
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`."
726
727
  );
727
728
  }
728
- return await import("./src-Z5H5N5T4.js");
729
+ return await import("./src-NPR2JZOJ.js");
729
730
  }
730
731
  function resolveDistDir() {
731
732
  return resolveStudioBundle().dir;
@@ -840,7 +841,7 @@ async function getThumbnailBrowser(requestedGpuMode, isShuttingDown) {
840
841
  try {
841
842
  if (isShuttingDown()) return null;
842
843
  const { ensureBrowser } = await import("./manager-UHWEKPXC.js");
843
- const { acquireBrowser, buildChromeArgs } = await import("./src-EL6HGIS4.js");
844
+ const { acquireBrowser, buildChromeArgs } = await import("./src-RZ574OKP.js");
844
845
  let executablePath;
845
846
  try {
846
847
  const b = await ensureBrowser({ preferManagedChrome: true });
@@ -1006,7 +1007,7 @@ function createStudioServer(options) {
1006
1007
  resolveProject: (id) => id === projectId ? project : null,
1007
1008
  async bundle(dir, options2) {
1008
1009
  try {
1009
- const { bundleToSingleHtml } = await import("./compiler-27KQD7KW.js");
1010
+ const { bundleToSingleHtml } = await import("./compiler-KPHYGFXL.js");
1010
1011
  let html = await bundleToSingleHtml(dir, { ...PREVIEW_BUNDLE_OPTIONS, ...options2 });
1011
1012
  html = html.replace(
1012
1013
  'data-hyperframes-preview-runtime="1" src=""',
@@ -1019,9 +1020,9 @@ function createStudioServer(options) {
1019
1020
  }
1020
1021
  },
1021
1022
  async transformPreviewHtml({ html, project: project2 }) {
1022
- const { injectDeterministicFontFaces } = await import("./deterministicFonts-JFLSSKRB.js");
1023
- const { prepareAnimatedGifInputs } = await import("./animatedGifPrep-EPLN37ZN.js");
1024
- const { downloadToTemp, writeUrlDownloadTelemetry } = await import("./urlDownloader-PQSUS2CP.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");
1025
1026
  const gifOutputDir = join2(project2.dir, ".hyperframes", "prepared-assets", "gif");
1026
1027
  const gifDownloadDir = join2(project2.dir, ".hyperframes", "prepared-assets", "downloads");
1027
1028
  const prepared = await prepareAnimatedGifInputs(html, {
@@ -1045,7 +1046,7 @@ function createStudioServer(options) {
1045
1046
  if (resolve2(dir) === resolve2(projectDir)) cachedProjectSignature = null;
1046
1047
  },
1047
1048
  async lint(html, opts) {
1048
- const { lintHyperframeHtml } = await import("./dist-SENYPQGW.js");
1049
+ const { lintHyperframeHtml } = await import("./dist-LM7AVHOU.js");
1049
1050
  return await lintHyperframeHtml(html, { ...opts, host: "studio" });
1050
1051
  },
1051
1052
  // Out of process: linting a large composition is seconds of synchronous parsing, and on
@@ -1177,7 +1178,7 @@ function createStudioServer(options) {
1177
1178
  startBackgroundRemoval(opts) {
1178
1179
  return createBackgroundRemovalJob(opts, async (renderOpts) => {
1179
1180
  const sourcePipelinePath = "../background-removal/pipeline.ts";
1180
- const pipeline = await import("./pipeline-ZKE54JMG.js").catch(
1181
+ const pipeline = await import("./pipeline-I2M22M24.js").catch(
1181
1182
  () => import(sourcePipelinePath)
1182
1183
  );
1183
1184
  return pipeline.render(renderOpts);
@@ -1262,8 +1263,8 @@ function createStudioServer(options) {
1262
1263
  }
1263
1264
  },
1264
1265
  async listRegistryCatalog() {
1265
- const { listRegistryItems, loadAllItems } = await import("./resolver-O2SED3XB.js");
1266
- const { loadProjectConfig } = await import("./projectConfig-YMW4P2X6.js");
1266
+ const { listRegistryItems, loadAllItems } = await import("./resolver-BUC2GFZQ.js");
1267
+ const { loadProjectConfig } = await import("./projectConfig-4A76VYUP.js");
1267
1268
  const registry = { baseUrl: loadProjectConfig(projectDir).registry };
1268
1269
  const entries = await listRegistryItems(void 0, registry);
1269
1270
  const blockAndComponentEntries = entries.filter(
@@ -1272,9 +1273,9 @@ function createStudioServer(options) {
1272
1273
  return loadAllItems(blockAndComponentEntries, registry);
1273
1274
  },
1274
1275
  async installRegistryBlock(opts) {
1275
- const { addToProject, primaryInstalledTarget } = await import("./add-HW3ZGR36.js");
1276
- const { recordRewrittenInstall } = await import("./installer-3SGRBLJW.js");
1277
- const { registryTargetPath } = await import("./publication-SEINUAPZ.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");
1278
1279
  const { result, item } = await addToProject({
1279
1280
  name: opts.blockName,
1280
1281
  projectDir: opts.project.dir,
@@ -1375,8 +1376,8 @@ function createStudioServer(options) {
1375
1376
  app.get("/api/environment/ffmpeg", async (c) => {
1376
1377
  if (ffmpegReady) return c.json({ ok: true });
1377
1378
  const [{ runEnvironmentChecks }, { getFFmpegInstallCommand }] = await Promise.all([
1378
- import("./preflight-QTWDIM5C.js"),
1379
- import("./ffmpeg-2AECXG7V.js")
1379
+ import("./preflight-FZ24NCHH.js"),
1380
+ import("./ffmpeg-JLH3Z7G7.js")
1380
1381
  ]);
1381
1382
  const { outcomes } = await runEnvironmentChecks();
1382
1383
  const failed = outcomes.find((outcome) => !outcome.ok);
@@ -1395,7 +1396,7 @@ function createStudioServer(options) {
1395
1396
  mountDesktopRoutes(app, projectDir);
1396
1397
  let cachedFFmpegPath;
1397
1398
  app.post("/api/projects/:id/render", async (c, next) => {
1398
- const { findFFmpeg, getFFmpegInstallHint } = await import("./ffmpeg-2AECXG7V.js");
1399
+ const { findFFmpeg, getFFmpegInstallHint } = await import("./ffmpeg-JLH3Z7G7.js");
1399
1400
  if (!cachedFFmpegPath) {
1400
1401
  cachedFFmpegPath = findFFmpeg();
1401
1402
  }
@@ -1511,7 +1512,7 @@ function createStudioServer(options) {
1511
1512
  });
1512
1513
  const renders = [...inFlightRenders];
1513
1514
  for (const [abortController] of renders) abortController.abort();
1514
- const { killTrackedProcesses, closeBrowserPool } = await import("./src-EL6HGIS4.js");
1515
+ const { killTrackedProcesses, closeBrowserPool } = await import("./src-RZ574OKP.js");
1515
1516
  killTrackedProcesses();
1516
1517
  const closeBrowsers = Promise.allSettled([
1517
1518
  closeThumbnailBrowser().catch(() => {
@@ -17,14 +17,14 @@ import {
17
17
  trackInitTemplate,
18
18
  trackRenderComplete,
19
19
  trackRenderError
20
- } from "./chunk-DLC2FICN.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-DEORFAWP.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-RZXUQR42.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>