dsh-hyperframes 0.9.1 → 0.9.2

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 (837) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/README.en.md +3 -1
  3. package/README.md +3 -1
  4. package/docs/USAGE.en.md +2 -2
  5. package/docs/USAGE.md +2 -2
  6. package/lib/client.js +60 -58
  7. package/lib/index.js +1 -1
  8. package/lib/media-templates.d.ts +3 -3
  9. package/lib/media-templates.js +1 -1
  10. package/package.json +4 -3
  11. package/plugin.json +5 -0
  12. package/skills/NOTICE.md +3 -0
  13. package/skills/UPSTREAM-LICENSE.txt +190 -0
  14. package/skills/UPSTREAM.json +355 -0
  15. package/skills/embedded-captions/SKILL.md +4 -277
  16. package/skills/faceless-explainer/SKILL.md +4 -231
  17. package/skills/figma/SKILL.md +34 -113
  18. package/skills/general-video/SKILL.md +4 -161
  19. package/skills/hyperframes/SKILL.md +52 -115
  20. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/biennale-yellow/caption-skin.html +7 -8
  21. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/blockframe/caption-skin.html +7 -8
  22. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/blue-professional/caption-skin.html +7 -8
  23. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/bold-poster/caption-skin.html +7 -8
  24. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/broadside/caption-skin.html +7 -8
  25. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/capsule/caption-skin.html +7 -8
  26. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/cartesian/caption-skin.html +7 -8
  27. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/cobalt-grid/caption-skin.html +7 -8
  28. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/code-editorial/FRAME.md +2 -2
  29. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/code-editorial/caption-skin.html +7 -8
  30. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/coral/caption-skin.html +7 -8
  31. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/creative-mode/caption-skin.html +7 -8
  32. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/daisy-days/caption-skin.html +7 -8
  33. package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/editorial-forest/caption-skin.html +7 -8
  34. package/skills/hyperframes/references/captions.md +46 -0
  35. package/skills/hyperframes/references/film.md +48 -0
  36. package/skills/hyperframes/references/format.md +158 -0
  37. package/skills/hyperframes/references/look.md +69 -0
  38. package/skills/hyperframes/references/motion.md +95 -0
  39. package/skills/hyperframes/references/overlays.md +39 -0
  40. package/skills/hyperframes/references/plugin-installation.md +3 -3
  41. package/skills/hyperframes/references/review.md +51 -0
  42. package/skills/hyperframes/references/runtimes.md +69 -0
  43. package/skills/hyperframes/references/skill-lifecycle.md +28 -14
  44. package/skills/hyperframes/references/sound.md +43 -0
  45. package/skills/hyperframes/references/spec.md +76 -0
  46. package/skills/hyperframes/references/story.md +103 -0
  47. package/skills/hyperframes/references/storyboard-format.md +30 -22
  48. package/skills/hyperframes/references/storyboard.md +36 -0
  49. package/skills/hyperframes/references/types/3d.md +25 -0
  50. package/skills/hyperframes/references/types/character.md +20 -0
  51. package/skills/hyperframes/references/types/data.md +19 -0
  52. package/skills/hyperframes/references/types/explainer.md +34 -0
  53. package/skills/hyperframes/references/types/launch.md +41 -0
  54. package/skills/hyperframes/references/types/music.md +24 -0
  55. package/skills/hyperframes/references/types/vertical.md +23 -0
  56. package/skills/{motion-graphics/categories/maps → hyperframes/scripts}/bake-basemap.mjs +71 -20
  57. package/skills/hyperframes/scripts/lib/main-module.mjs +13 -0
  58. package/skills/hyperframes/scripts/lib/main-module.test.mjs +46 -0
  59. package/skills/{motion-graphics/grounding → hyperframes/scripts}/locate.mjs +1 -1
  60. package/skills/hyperframes/scripts/plugin-cli.mjs +4 -3
  61. package/skills/hyperframes/scripts/plugin-cli.test.mjs +5 -1
  62. package/skills/hyperframes-animation/SKILL.md +4 -82
  63. package/skills/hyperframes-audio/SKILL.md +4 -472
  64. package/skills/hyperframes-cli/SKILL.md +76 -158
  65. package/skills/hyperframes-cli/references/beats.md +3 -7
  66. package/skills/hyperframes-cli/references/cloud.md +4 -4
  67. package/skills/hyperframes-cli/references/cloudrun.md +2 -2
  68. package/skills/hyperframes-cli/references/conventions.md +17 -0
  69. package/skills/hyperframes-cli/references/doctor-browser.md +24 -1
  70. package/skills/hyperframes-cli/references/feedback.md +14 -0
  71. package/skills/hyperframes-cli/references/init-and-scaffold.md +13 -8
  72. package/skills/hyperframes-cli/references/lambda.md +6 -2
  73. package/skills/hyperframes-cli/references/lint-validate-inspect.md +34 -11
  74. package/skills/hyperframes-cli/references/preview-render.md +13 -4
  75. package/skills/hyperframes-cli/references/upgrade-info-misc.md +8 -0
  76. package/skills/hyperframes-core/SKILL.md +4 -94
  77. package/skills/hyperframes-creative/SKILL.md +4 -67
  78. package/skills/hyperframes-keyframes/SKILL.md +4 -258
  79. package/skills/hyperframes-registry/SKILL.md +37 -128
  80. package/skills/hyperframes-registry/references/discovery.md +2 -2
  81. package/skills/hyperframes-registry/references/search.md +67 -0
  82. package/skills/hyperframes-studio/SKILL.md +4 -71
  83. package/skills/media-use/SKILL.md +50 -88
  84. package/skills/media-use/audio/references/bgm.md +4 -2
  85. package/skills/media-use/audio/references/captions/authoring.md +1 -2
  86. package/skills/media-use/audio/references/captions/motion.md +5 -5
  87. package/skills/media-use/audio/references/requirements.md +7 -7
  88. package/skills/media-use/audio/references/sfx.md +20 -14
  89. package/skills/media-use/audio/references/transcribe.md +2 -2
  90. package/skills/media-use/audio/references/tts.md +26 -12
  91. package/skills/media-use/audio/scripts/audio.mjs +25 -17
  92. package/skills/media-use/audio/scripts/audio.test.mjs +121 -4
  93. package/skills/{hyperframes-audio → media-use/audio}/scripts/carve.mjs +2 -14
  94. package/skills/media-use/audio/scripts/gemini-pipeline.test.mjs +20 -2
  95. package/skills/media-use/audio/scripts/heygen-tts.mjs +3 -2
  96. package/skills/media-use/audio/scripts/heygen-tts.test.mjs +38 -0
  97. package/skills/media-use/audio/scripts/heygen-voice.mjs +98 -0
  98. package/skills/media-use/audio/scripts/heygen-voice.test.mjs +233 -0
  99. package/skills/media-use/audio/scripts/lib/bgm.mjs +8 -4
  100. package/skills/media-use/audio/scripts/lib/bgm.test.mjs +45 -1
  101. package/skills/media-use/audio/scripts/lib/heygen.mjs +100 -16
  102. package/skills/media-use/audio/scripts/lib/heygen.test.mjs +205 -16
  103. package/skills/media-use/audio/scripts/lib/main-module.mjs +13 -0
  104. package/skills/media-use/audio/scripts/lib/media-record.mjs +118 -0
  105. package/skills/media-use/audio/scripts/lib/media-record.test.mjs +224 -0
  106. package/skills/media-use/audio/scripts/lib/openverse.mjs +134 -0
  107. package/skills/media-use/audio/scripts/lib/python.mjs +19 -5
  108. package/skills/media-use/audio/scripts/lib/python.test.mjs +69 -1
  109. package/skills/media-use/audio/scripts/lib/sfx.mjs +141 -88
  110. package/skills/media-use/audio/scripts/lib/sfx.test.mjs +270 -8
  111. package/skills/media-use/audio/scripts/lib/tts.cleanup.test.mjs +175 -0
  112. package/skills/media-use/audio/scripts/lib/tts.mjs +28 -24
  113. package/skills/media-use/audio/scripts/lib/tts.test.mjs +74 -1
  114. package/skills/media-use/audio/scripts/wait-bgm.mjs +4 -0
  115. package/skills/media-use/audio/scripts/wait-bgm.test.mjs +44 -1
  116. package/skills/media-use/references/audio.md +2 -2
  117. package/skills/media-use/references/grading.md +5 -4
  118. package/skills/media-use/references/local.md +24 -0
  119. package/skills/media-use/references/media-treatments.md +5 -1
  120. package/skills/media-use/references/memory.md +10 -5
  121. package/skills/media-use/references/meta.md +17 -17
  122. package/skills/media-use/references/mixing.md +72 -0
  123. package/skills/media-use/references/operations.md +10 -8
  124. package/skills/media-use/references/resolve.md +1 -1
  125. package/skills/media-use/references/setup-providers.md +31 -17
  126. package/skills/media-use/scripts/compatibility.test.mjs +1 -56
  127. package/skills/media-use/scripts/lib/cutlist.mjs +9 -2
  128. package/skills/media-use/scripts/lib/duck.mjs +20 -3
  129. package/skills/media-use/scripts/lib/index-gen.mjs +2 -2
  130. package/skills/media-use/scripts/lib/manifest.mjs +85 -32
  131. package/skills/media-use/scripts/lib/prefs-store.mjs +47 -29
  132. package/skills/media-use/scripts/lib/recipe-store.mjs +7 -3
  133. package/skills/media-use/scripts/lib/telemetry.mjs +4 -1
  134. package/skills/media-use/scripts/lib/telemetry.test.mjs +73 -0
  135. package/skills/media-use/scripts/lib/words.mjs +1 -1
  136. package/skills/media-use/scripts/prefs.mjs +2 -3
  137. package/skills/media-use/scripts/recipe.mjs +1 -3
  138. package/skills/media-use/scripts/transcript-cut.mjs +23 -4
  139. package/skills/media-use/scripts/transcript-cut.test.mjs +224 -0
  140. package/skills/motion-graphics/SKILL.md +4 -172
  141. package/skills/music-to-video/SKILL.md +4 -204
  142. package/skills/pr-to-video/SKILL.md +4 -267
  143. package/skills/product-launch-video/SKILL.md +4 -258
  144. package/skills/remotion-to-hyperframes/SKILL.md +32 -115
  145. package/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/hf-src/index.html +3 -0
  146. package/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/hf-src/index.html +3 -0
  147. package/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/README.md +8 -7
  148. package/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/expected.json +3 -3
  149. package/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/hf-src/compositions/scene-1.html +6 -2
  150. package/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/hf-src/compositions/scene-2.html +3 -4
  151. package/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/hf-src/compositions/scene-3.html +2 -2
  152. package/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/hf-src/index.html +3 -0
  153. package/skills/remotion-to-hyperframes/references/api-map.md +41 -29
  154. package/skills/remotion-to-hyperframes/references/limitations.md +3 -3
  155. package/skills/remotion-to-hyperframes/references/lottie.md +21 -8
  156. package/skills/remotion-to-hyperframes/references/media.md +23 -6
  157. package/skills/remotion-to-hyperframes/references/timing.md +20 -8
  158. package/skills/remotion-to-hyperframes/scripts/tests/boxSizing.test.mjs +21 -0
  159. package/skills/slideshow/SKILL.md +42 -512
  160. package/skills/slideshow/references/standalone-harness.md +1 -1
  161. package/skills/talking-head-recut/SKILL.md +4 -1214
  162. package/skills/embedded-captions/CATALOG.md +0 -91
  163. package/skills/embedded-captions/assets/fonts/char-widths.json +0 -2211
  164. package/skills/embedded-captions/assets/strokefonts/HersheyScript1.svg +0 -242
  165. package/skills/embedded-captions/assets/strokefonts/HersheyScriptMed.svg +0 -242
  166. package/skills/embedded-captions/dna/README.md +0 -148
  167. package/skills/embedded-captions/dna/chrome.json +0 -68
  168. package/skills/embedded-captions/dna/cream.json +0 -69
  169. package/skills/embedded-captions/dna/documentary.json +0 -62
  170. package/skills/embedded-captions/dna/editorial.json +0 -70
  171. package/skills/embedded-captions/dna/glitch.json +0 -82
  172. package/skills/embedded-captions/dna/ink.json +0 -65
  173. package/skills/embedded-captions/dna/keynote.json +0 -62
  174. package/skills/embedded-captions/dna/loud.json +0 -75
  175. package/skills/embedded-captions/dna/neon.json +0 -58
  176. package/skills/embedded-captions/dna/velocity.json +0 -89
  177. package/skills/embedded-captions/modes/cinematic/README.md +0 -48
  178. package/skills/embedded-captions/modes/cinematic/_archive/champion/spec.md +0 -98
  179. package/skills/embedded-captions/modes/cinematic/_archive/champion/template.html +0 -188
  180. package/skills/embedded-captions/modes/cinematic/_archive/memory-wall/spec.md +0 -134
  181. package/skills/embedded-captions/modes/cinematic/_archive/memory-wall/template.html +0 -179
  182. package/skills/embedded-captions/modes/cinematic/_archive/portrait-header/spec.md +0 -81
  183. package/skills/embedded-captions/modes/cinematic/_archive/portrait-header/template.html +0 -170
  184. package/skills/embedded-captions/modes/cinematic/cinematic-cream/spec.md +0 -16
  185. package/skills/embedded-captions/modes/cinematic/cinematic-cream/template.html +0 -226
  186. package/skills/embedded-captions/modes/cinematic/engine.html +0 -355
  187. package/skills/embedded-captions/modes/standard/_anatomy.md +0 -233
  188. package/skills/embedded-captions/modes/standard/_motion.md +0 -192
  189. package/skills/embedded-captions/modes/standard/fonts/build-fonts-css.cjs +0 -97
  190. package/skills/embedded-captions/modes/standard/fonts/files/anton-latin-400-normal.woff2 +0 -0
  191. package/skills/embedded-captions/modes/standard/fonts/files/audiowide-latin-400-normal.woff2 +0 -0
  192. package/skills/embedded-captions/modes/standard/fonts/files/baloo-2-latin-400-normal.woff2 +0 -0
  193. package/skills/embedded-captions/modes/standard/fonts/files/baloo-2-latin-700-normal.woff2 +0 -0
  194. package/skills/embedded-captions/modes/standard/fonts/files/bangers-latin-400-normal.woff2 +0 -0
  195. package/skills/embedded-captions/modes/standard/fonts/files/bodoni-moda-latin-400-normal.woff2 +0 -0
  196. package/skills/embedded-captions/modes/standard/fonts/files/bodoni-moda-latin-700-normal.woff2 +0 -0
  197. package/skills/embedded-captions/modes/standard/fonts/files/caveat-latin-400-normal.woff2 +0 -0
  198. package/skills/embedded-captions/modes/standard/fonts/files/caveat-latin-700-normal.woff2 +0 -0
  199. package/skills/embedded-captions/modes/standard/fonts/files/chakra-petch-latin-500-normal.woff2 +0 -0
  200. package/skills/embedded-captions/modes/standard/fonts/files/chakra-petch-latin-700-normal.woff2 +0 -0
  201. package/skills/embedded-captions/modes/standard/fonts/files/cinzel-latin-400-normal.woff2 +0 -0
  202. package/skills/embedded-captions/modes/standard/fonts/files/cinzel-latin-700-normal.woff2 +0 -0
  203. package/skills/embedded-captions/modes/standard/fonts/files/cormorant-garamond-latin-400-normal.woff2 +0 -0
  204. package/skills/embedded-captions/modes/standard/fonts/files/cormorant-garamond-latin-700-normal.woff2 +0 -0
  205. package/skills/embedded-captions/modes/standard/fonts/files/creepster-latin-400-normal.woff2 +0 -0
  206. package/skills/embedded-captions/modes/standard/fonts/files/fredoka-latin-400-normal.woff2 +0 -0
  207. package/skills/embedded-captions/modes/standard/fonts/files/fredoka-latin-700-normal.woff2 +0 -0
  208. package/skills/embedded-captions/modes/standard/fonts/files/inter-latin-400-normal.woff2 +0 -0
  209. package/skills/embedded-captions/modes/standard/fonts/files/inter-latin-500-italic.woff2 +0 -0
  210. package/skills/embedded-captions/modes/standard/fonts/files/inter-latin-500-normal.woff2 +0 -0
  211. package/skills/embedded-captions/modes/standard/fonts/files/inter-latin-600-italic.woff2 +0 -0
  212. package/skills/embedded-captions/modes/standard/fonts/files/inter-latin-600-normal.woff2 +0 -0
  213. package/skills/embedded-captions/modes/standard/fonts/files/inter-latin-700-normal.woff2 +0 -0
  214. package/skills/embedded-captions/modes/standard/fonts/files/inter-latin-800-normal.woff2 +0 -0
  215. package/skills/embedded-captions/modes/standard/fonts/files/inter-latin-900-normal.woff2 +0 -0
  216. package/skills/embedded-captions/modes/standard/fonts/files/monoton-latin-400-normal.woff2 +0 -0
  217. package/skills/embedded-captions/modes/standard/fonts/files/orbitron-latin-400-normal.woff2 +0 -0
  218. package/skills/embedded-captions/modes/standard/fonts/files/orbitron-latin-700-normal.woff2 +0 -0
  219. package/skills/embedded-captions/modes/standard/fonts/files/permanent-marker-latin-400-normal.woff2 +0 -0
  220. package/skills/embedded-captions/modes/standard/fonts/files/press-start-2p-latin-400-normal.woff2 +0 -0
  221. package/skills/embedded-captions/modes/standard/fonts/files/rajdhani-latin-500-normal.woff2 +0 -0
  222. package/skills/embedded-captions/modes/standard/fonts/files/rajdhani-latin-700-normal.woff2 +0 -0
  223. package/skills/embedded-captions/modes/standard/fonts/files/saira-stencil-one-latin-400-normal.woff2 +0 -0
  224. package/skills/embedded-captions/modes/standard/fonts/files/shippori-mincho-latin-400-normal.woff2 +0 -0
  225. package/skills/embedded-captions/modes/standard/fonts/files/shippori-mincho-latin-700-normal.woff2 +0 -0
  226. package/skills/embedded-captions/modes/standard/fonts/files/sora-latin-400-normal.woff2 +0 -0
  227. package/skills/embedded-captions/modes/standard/fonts/files/sora-latin-700-normal.woff2 +0 -0
  228. package/skills/embedded-captions/modes/standard/fonts/files/space-grotesk-latin-400-normal.woff2 +0 -0
  229. package/skills/embedded-captions/modes/standard/fonts/files/space-grotesk-latin-700-normal.woff2 +0 -0
  230. package/skills/embedded-captions/modes/standard/fonts/files/special-elite-latin-400-normal.woff2 +0 -0
  231. package/skills/embedded-captions/modes/standard/fonts/files/teko-latin-400-normal.woff2 +0 -0
  232. package/skills/embedded-captions/modes/standard/fonts/files/teko-latin-700-normal.woff2 +0 -0
  233. package/skills/embedded-captions/modes/standard/fonts/files/vt323-latin-400-normal.woff2 +0 -0
  234. package/skills/embedded-captions/modes/standard/fonts/fonts.css +0 -401
  235. package/skills/embedded-captions/references/aesthetic-principles.md +0 -167
  236. package/skills/embedded-captions/references/anti-patterns.md +0 -188
  237. package/skills/embedded-captions/references/bespoke-vs-presets.md +0 -178
  238. package/skills/embedded-captions/references/caption-grouping.md +0 -130
  239. package/skills/embedded-captions/references/composition-craft.md +0 -522
  240. package/skills/embedded-captions/references/direction-catalog.md +0 -138
  241. package/skills/embedded-captions/references/example-renders/champion.html +0 -371
  242. package/skills/embedded-captions/references/example-renders/memory-wall.html +0 -334
  243. package/skills/embedded-captions/references/failure-modes.md +0 -145
  244. package/skills/embedded-captions/references/layout-heuristics.md +0 -238
  245. package/skills/embedded-captions/references/motion-vocabulary.md +0 -148
  246. package/skills/embedded-captions/references/rail.md +0 -68
  247. package/skills/embedded-captions/references/reference-bar.md +0 -47
  248. package/skills/embedded-captions/references/scene-types.md +0 -94
  249. package/skills/embedded-captions/references/typographic-moves.md +0 -266
  250. package/skills/embedded-captions/references/typography-presets.md +0 -63
  251. package/skills/embedded-captions/scripts/audio-envelope.cjs +0 -95
  252. package/skills/embedded-captions/scripts/check-occlusion.cjs +0 -253
  253. package/skills/embedded-captions/scripts/check-overflow.cjs +0 -195
  254. package/skills/embedded-captions/scripts/check-rail-climax.cjs +0 -237
  255. package/skills/embedded-captions/scripts/check-timing.cjs +0 -173
  256. package/skills/embedded-captions/scripts/fill-timings.cjs +0 -124
  257. package/skills/embedded-captions/scripts/fit-fonts.cjs +0 -158
  258. package/skills/embedded-captions/scripts/fixtures/heroless/theme.json +0 -11
  259. package/skills/embedded-captions/scripts/gen-stroke-path.py +0 -57
  260. package/skills/embedded-captions/scripts/hf-cli.cjs +0 -33
  261. package/skills/embedded-captions/scripts/inject-fonts.cjs +0 -169
  262. package/skills/embedded-captions/scripts/lib-dna.cjs +0 -201
  263. package/skills/embedded-captions/scripts/make-cinematic.cjs +0 -1206
  264. package/skills/embedded-captions/scripts/make-composition.cjs +0 -405
  265. package/skills/embedded-captions/scripts/make-theme.cjs +0 -8623
  266. package/skills/embedded-captions/scripts/make-theme.test.mjs +0 -131
  267. package/skills/embedded-captions/scripts/matte.cjs +0 -268
  268. package/skills/embedded-captions/scripts/measure-layout.cjs +0 -294
  269. package/skills/embedded-captions/scripts/prepare.sh +0 -39
  270. package/skills/embedded-captions/scripts/preview-frames.cjs +0 -296
  271. package/skills/embedded-captions/scripts/preview-frames.test.mjs +0 -24
  272. package/skills/embedded-captions/scripts/render-and-composite.sh +0 -425
  273. package/skills/embedded-captions/scripts/render-theme.sh +0 -34
  274. package/skills/embedded-captions/scripts/safe-zones.cjs +0 -816
  275. package/skills/embedded-captions/scripts/transcribe.cjs +0 -323
  276. package/skills/embedded-captions/scripts/transcribe.test.mjs +0 -41
  277. package/skills/embedded-captions/themes/README.md +0 -243
  278. package/skills/embedded-captions/themes/anchor.json +0 -27
  279. package/skills/embedded-captions/themes/arcade.json +0 -51
  280. package/skills/embedded-captions/themes/aurora.json +0 -41
  281. package/skills/embedded-captions/themes/biolume.json +0 -35
  282. package/skills/embedded-captions/themes/brush.json +0 -74
  283. package/skills/embedded-captions/themes/chalkboard.json +0 -52
  284. package/skills/embedded-captions/themes/dossier.json +0 -56
  285. package/skills/embedded-captions/themes/graffiti.json +0 -62
  286. package/skills/embedded-captions/themes/hologram.json +0 -41
  287. package/skills/embedded-captions/themes/inkwater.json +0 -43
  288. package/skills/embedded-captions/themes/laser.json +0 -46
  289. package/skills/embedded-captions/themes/lastpage.json +0 -33
  290. package/skills/embedded-captions/themes/neonsign.json +0 -53
  291. package/skills/embedded-captions/themes/ordnance.json +0 -54
  292. package/skills/embedded-captions/themes/papercut.json +0 -37
  293. package/skills/embedded-captions/themes/popup.json +0 -46
  294. package/skills/embedded-captions/themes/ransom.json +0 -62
  295. package/skills/embedded-captions/themes/scoreboard.json +0 -54
  296. package/skills/embedded-captions/themes/spectrum.json +0 -46
  297. package/skills/embedded-captions/themes/stardust.json +0 -29
  298. package/skills/embedded-captions/themes/stomp.json +0 -43
  299. package/skills/embedded-captions/themes/terminal.json +0 -49
  300. package/skills/embedded-captions/themes/thunder.json +0 -44
  301. package/skills/embedded-captions/themes/transit.json +0 -44
  302. package/skills/embedded-captions/themes/vhs.json +0 -47
  303. package/skills/faceless-explainer/references/cut-catalog.md +0 -215
  304. package/skills/faceless-explainer/references/motion-language.md +0 -156
  305. package/skills/faceless-explainer/references/story-design.md +0 -255
  306. package/skills/faceless-explainer/references/visual-design.md +0 -146
  307. package/skills/faceless-explainer/scripts/assemble-index.mjs +0 -625
  308. package/skills/faceless-explainer/scripts/assemble-index.test.mjs +0 -127
  309. package/skills/faceless-explainer/scripts/audio.mjs +0 -293
  310. package/skills/faceless-explainer/scripts/audio.test.mjs +0 -176
  311. package/skills/faceless-explainer/scripts/build-frame.mjs +0 -554
  312. package/skills/faceless-explainer/scripts/captions.mjs +0 -524
  313. package/skills/faceless-explainer/scripts/captions.test.mjs +0 -219
  314. package/skills/faceless-explainer/scripts/frame-packets.mjs +0 -27
  315. package/skills/faceless-explainer/scripts/frame-packets.test.mjs +0 -66
  316. package/skills/faceless-explainer/scripts/lib/assets.mjs +0 -56
  317. package/skills/faceless-explainer/scripts/lib/bgm-volume.mjs +0 -4
  318. package/skills/faceless-explainer/scripts/lib/captured-fonts.mjs +0 -58
  319. package/skills/faceless-explainer/scripts/lib/dimensions.mjs +0 -45
  320. package/skills/faceless-explainer/scripts/lib/frame-packets-core.mjs +0 -194
  321. package/skills/faceless-explainer/scripts/lib/pad-frame-duration.mjs +0 -36
  322. package/skills/faceless-explainer/scripts/lib/storyboard.mjs +0 -249
  323. package/skills/faceless-explainer/scripts/lib/tokens.mjs +0 -211
  324. package/skills/faceless-explainer/scripts/lib/transition-registry.mjs +0 -38
  325. package/skills/faceless-explainer/scripts/lib/transitions.json +0 -71
  326. package/skills/faceless-explainer/scripts/transitions.mjs +0 -384
  327. package/skills/faceless-explainer/scripts/transitions.test.mjs +0 -70
  328. package/skills/faceless-explainer/sub-agents/frame-worker.md +0 -12
  329. package/skills/general-video/scripts/frame-packets.mjs +0 -38
  330. package/skills/general-video/scripts/frame-packets.test.mjs +0 -80
  331. package/skills/general-video/scripts/lib/frame-packets-core.mjs +0 -194
  332. package/skills/general-video/sub-agents/frame-worker.md +0 -34
  333. package/skills/hyperframes/references/brief-contract.md +0 -108
  334. package/skills/hyperframes/references/brief-format.md +0 -72
  335. package/skills/hyperframes/references/capability-menu.md +0 -47
  336. package/skills/hyperframes/references/frame-worker-core.md +0 -80
  337. package/skills/hyperframes/references/intent-interview.md +0 -71
  338. package/skills/hyperframes/references/pitch-round.md +0 -40
  339. package/skills/hyperframes/references/production-loop.md +0 -26
  340. package/skills/hyperframes/references/review-loop.md +0 -37
  341. package/skills/hyperframes/references/route-briefs.md +0 -11
  342. package/skills/hyperframes/references/routes/embedded-captions.md +0 -11
  343. package/skills/hyperframes/references/routes/faceless-explainer.md +0 -12
  344. package/skills/hyperframes/references/routes/general-video.md +0 -12
  345. package/skills/hyperframes/references/routes/motion-graphics.md +0 -11
  346. package/skills/hyperframes/references/routes/music-to-video.md +0 -12
  347. package/skills/hyperframes/references/routes/pr-to-video.md +0 -28
  348. package/skills/hyperframes/references/routes/product-launch-video.md +0 -13
  349. package/skills/hyperframes/references/routes/remotion-to-hyperframes.md +0 -9
  350. package/skills/hyperframes/references/routes/slideshow.md +0 -11
  351. package/skills/hyperframes/references/routes/talking-head-recut.md +0 -11
  352. package/skills/hyperframes/references/script-format.md +0 -52
  353. package/skills/hyperframes/references/subagent-dispatch.md +0 -35
  354. package/skills/hyperframes/references/workflow-catalog.md +0 -10
  355. package/skills/hyperframes/scripts/lib/frame-packets-core.mjs +0 -194
  356. package/skills/hyperframes-animation/adapters/animate-text.md +0 -64
  357. package/skills/hyperframes-animation/adapters/animejs.md +0 -130
  358. package/skills/hyperframes-animation/adapters/css-animations.md +0 -143
  359. package/skills/hyperframes-animation/adapters/gsap-easing-and-stagger.md +0 -199
  360. package/skills/hyperframes-animation/adapters/gsap-timeline-and-labels.md +0 -96
  361. package/skills/hyperframes-animation/adapters/gsap-transforms-and-perf.md +0 -129
  362. package/skills/hyperframes-animation/adapters/gsap.md +0 -105
  363. package/skills/hyperframes-animation/adapters/html-in-canvas-patterns.md +0 -507
  364. package/skills/hyperframes-animation/adapters/lottie.md +0 -130
  365. package/skills/hyperframes-animation/adapters/three.md +0 -145
  366. package/skills/hyperframes-animation/adapters/typegpu.md +0 -182
  367. package/skills/hyperframes-animation/adapters/waapi.md +0 -101
  368. package/skills/hyperframes-animation/blueprints/agent-progress-theater.md +0 -76
  369. package/skills/hyperframes-animation/blueprints/camera-journey.md +0 -61
  370. package/skills/hyperframes-animation/blueprints/comparison-split.md +0 -27
  371. package/skills/hyperframes-animation/blueprints/constellation-hub.md +0 -63
  372. package/skills/hyperframes-animation/blueprints/cta-morph-press.md +0 -63
  373. package/skills/hyperframes-animation/blueprints/cursor-ui-demo.md +0 -89
  374. package/skills/hyperframes-animation/blueprints/dataviz-countup.md +0 -59
  375. package/skills/hyperframes-animation/blueprints/device-surface-showcase.md +0 -68
  376. package/skills/hyperframes-animation/blueprints/fixed-anchor-cycle.md +0 -46
  377. package/skills/hyperframes-animation/blueprints/grid-card-assemble.md +0 -81
  378. package/skills/hyperframes-animation/blueprints/kinetic-type-beats.md +0 -133
  379. package/skills/hyperframes-animation/blueprints/logo-assemble-lockup.md +0 -121
  380. package/skills/hyperframes-animation/blueprints/overwhelm-surround.md +0 -58
  381. package/skills/hyperframes-animation/blueprints/panel-edit-live-sync.md +0 -73
  382. package/skills/hyperframes-animation/blueprints/prompt-type-submit-generate.md +0 -85
  383. package/skills/hyperframes-animation/blueprints/spatial-pan-stations.md +0 -37
  384. package/skills/hyperframes-animation/blueprints/ticker-takeover.md +0 -29
  385. package/skills/hyperframes-animation/blueprints/titlecard-reveal.md +0 -80
  386. package/skills/hyperframes-animation/blueprints/transcript-scroll-artifact-reveal.md +0 -45
  387. package/skills/hyperframes-animation/blueprints/typewriter-reveal.md +0 -51
  388. package/skills/hyperframes-animation/blueprints/video-text-pivot.md +0 -30
  389. package/skills/hyperframes-animation/blueprints/zoom-out-workspace-reveal.md +0 -68
  390. package/skills/hyperframes-animation/blueprints-index.md +0 -202
  391. package/skills/hyperframes-animation/examples/brand-reveal-assemble-zoom.html +0 -382
  392. package/skills/hyperframes-animation/examples/comparison-split-cards.html +0 -649
  393. package/skills/hyperframes-animation/examples/concept-demo-decode-pan.html +0 -520
  394. package/skills/hyperframes-animation/examples/cta-morph-press.html +0 -468
  395. package/skills/hyperframes-animation/examples/cta-orbit-collapse.html +0 -1298
  396. package/skills/hyperframes-animation/examples/demo-page-scroll-spotlight.html +0 -759
  397. package/skills/hyperframes-animation/examples/hook-counter-burst.html +0 -729
  398. package/skills/hyperframes-animation/examples/messaging-multi-phrase.html +0 -352
  399. package/skills/hyperframes-animation/examples/metric-video-text-pivot.html +0 -779
  400. package/skills/hyperframes-animation/examples/problem-mockup-overwhelm.html +0 -1374
  401. package/skills/hyperframes-animation/examples/proof-logo-chain.html +0 -861
  402. package/skills/hyperframes-animation/examples/takeover-ticker-displace.html +0 -347
  403. package/skills/hyperframes-animation/examples/workflow-approve-press.html +0 -606
  404. package/skills/hyperframes-animation/references/motion-blur.md +0 -133
  405. package/skills/hyperframes-animation/rules/3d-camera-flight.md +0 -180
  406. package/skills/hyperframes-animation/rules/3d-page-scroll.md +0 -135
  407. package/skills/hyperframes-animation/rules/3d-text-depth-layers.md +0 -128
  408. package/skills/hyperframes-animation/rules/ai-tracking-box.md +0 -139
  409. package/skills/hyperframes-animation/rules/ambient-glow-bloom.md +0 -133
  410. package/skills/hyperframes-animation/rules/anchored-layout-expand.md +0 -148
  411. package/skills/hyperframes-animation/rules/asr-keyword-glow.md +0 -128
  412. package/skills/hyperframes-animation/rules/avatar-cloud-network.md +0 -145
  413. package/skills/hyperframes-animation/rules/camera-cursor-tracking.md +0 -133
  414. package/skills/hyperframes-animation/rules/card-morph-anchor.md +0 -134
  415. package/skills/hyperframes-animation/rules/center-outward-expansion.md +0 -88
  416. package/skills/hyperframes-animation/rules/chart-scrub-readout.md +0 -151
  417. package/skills/hyperframes-animation/rules/chromatic-glitch.md +0 -150
  418. package/skills/hyperframes-animation/rules/context-sensitive-cursor.md +0 -140
  419. package/skills/hyperframes-animation/rules/control-target-sync.md +0 -131
  420. package/skills/hyperframes-animation/rules/coordinate-target-zoom.md +0 -138
  421. package/skills/hyperframes-animation/rules/counting-dynamic-scale.md +0 -115
  422. package/skills/hyperframes-animation/rules/css-marker-patterns.md +0 -208
  423. package/skills/hyperframes-animation/rules/cursor-click-ripple.md +0 -104
  424. package/skills/hyperframes-animation/rules/cursor-drag.md +0 -141
  425. package/skills/hyperframes-animation/rules/depth-of-field-blur.md +0 -112
  426. package/skills/hyperframes-animation/rules/depth-scatter-assemble.md +0 -139
  427. package/skills/hyperframes-animation/rules/discrete-text-sequence.md +0 -146
  428. package/skills/hyperframes-animation/rules/dynamic-content-sequencing.md +0 -149
  429. package/skills/hyperframes-animation/rules/gradient-text-sweep.md +0 -136
  430. package/skills/hyperframes-animation/rules/gsap-effects.md +0 -196
  431. package/skills/hyperframes-animation/rules/hacker-flip-3d.md +0 -123
  432. package/skills/hyperframes-animation/rules/kinetic-beat-slam.md +0 -137
  433. package/skills/hyperframes-animation/rules/motion-blur-streak.md +0 -130
  434. package/skills/hyperframes-animation/rules/multi-cursor-choreography.md +0 -133
  435. package/skills/hyperframes-animation/rules/multi-phase-camera.md +0 -129
  436. package/skills/hyperframes-animation/rules/nudge-curve.md +0 -47
  437. package/skills/hyperframes-animation/rules/orbit-3d-entry.md +0 -148
  438. package/skills/hyperframes-animation/rules/particle-burst.md +0 -149
  439. package/skills/hyperframes-animation/rules/physics-press-reaction.md +0 -101
  440. package/skills/hyperframes-animation/rules/press-release-spring.md +0 -108
  441. package/skills/hyperframes-animation/rules/reactive-displacement.md +0 -92
  442. package/skills/hyperframes-animation/rules/scale-swap-transition.md +0 -88
  443. package/skills/hyperframes-animation/rules/sine-wave-loop.md +0 -85
  444. package/skills/hyperframes-animation/rules/split-tilt-cards.md +0 -123
  445. package/skills/hyperframes-animation/rules/spring-pop-entrance.md +0 -107
  446. package/skills/hyperframes-animation/rules/stat-bars-and-fills.md +0 -145
  447. package/skills/hyperframes-animation/rules/svg-icon-enrichment.md +0 -141
  448. package/skills/hyperframes-animation/rules/svg-path-draw.md +0 -122
  449. package/skills/hyperframes-animation/rules/theme-crossfade-morph.md +0 -126
  450. package/skills/hyperframes-animation/rules/vertical-spring-ticker.md +0 -104
  451. package/skills/hyperframes-animation/rules/viewport-change.md +0 -148
  452. package/skills/hyperframes-animation/rules/waterfall-entry.md +0 -81
  453. package/skills/hyperframes-animation/rules-index.md +0 -113
  454. package/skills/hyperframes-animation/scripts/animation-map-sampling.mjs +0 -40
  455. package/skills/hyperframes-animation/scripts/animation-map-sampling.test.mjs +0 -48
  456. package/skills/hyperframes-animation/scripts/animation-map.mjs +0 -659
  457. package/skills/hyperframes-animation/scripts/animation-map.test.mjs +0 -444
  458. package/skills/hyperframes-animation/scripts/package-loader.mjs +0 -415
  459. package/skills/hyperframes-animation/scripts/package-loader.test.mjs +0 -114
  460. package/skills/hyperframes-animation/techniques.md +0 -507
  461. package/skills/hyperframes-animation/transitions/TRANSITION-REGISTRY.md +0 -168
  462. package/skills/hyperframes-animation/transitions/catalog.md +0 -127
  463. package/skills/hyperframes-animation/transitions/css-3d.md +0 -12
  464. package/skills/hyperframes-animation/transitions/css-blur.md +0 -51
  465. package/skills/hyperframes-animation/transitions/css-cover.md +0 -43
  466. package/skills/hyperframes-animation/transitions/css-destruction.md +0 -95
  467. package/skills/hyperframes-animation/transitions/css-dissolve.md +0 -66
  468. package/skills/hyperframes-animation/transitions/css-distortion.md +0 -45
  469. package/skills/hyperframes-animation/transitions/css-grid.md +0 -10
  470. package/skills/hyperframes-animation/transitions/css-light.md +0 -49
  471. package/skills/hyperframes-animation/transitions/css-mechanical.md +0 -30
  472. package/skills/hyperframes-animation/transitions/css-other.md +0 -25
  473. package/skills/hyperframes-animation/transitions/css-push.md +0 -41
  474. package/skills/hyperframes-animation/transitions/css-radial.md +0 -37
  475. package/skills/hyperframes-animation/transitions/css-scale.md +0 -24
  476. package/skills/hyperframes-animation/transitions/overview.md +0 -153
  477. package/skills/hyperframes-audio/references/attributes.md +0 -138
  478. package/skills/hyperframes-audio/references/diagnosis.md +0 -276
  479. package/skills/hyperframes-audio/references/fx-registry.md +0 -84
  480. package/skills/hyperframes-audio/references/presets.md +0 -216
  481. package/skills/hyperframes-core/references/composition-patterns.md +0 -224
  482. package/skills/hyperframes-core/references/creator-editing-recipes.md +0 -491
  483. package/skills/hyperframes-core/references/data-attributes.md +0 -78
  484. package/skills/hyperframes-core/references/determinism-rules.md +0 -53
  485. package/skills/hyperframes-core/references/full-screen-motion.md +0 -67
  486. package/skills/hyperframes-core/references/minimal-composition.md +0 -69
  487. package/skills/hyperframes-core/references/sub-compositions.md +0 -176
  488. package/skills/hyperframes-core/references/tailwind.md +0 -104
  489. package/skills/hyperframes-core/references/tracks-and-clips.md +0 -87
  490. package/skills/hyperframes-core/references/variables-and-media.md +0 -107
  491. package/skills/hyperframes-creative/palettes/bold-energetic.md +0 -14
  492. package/skills/hyperframes-creative/palettes/clean-corporate.md +0 -14
  493. package/skills/hyperframes-creative/palettes/dark-premium.md +0 -14
  494. package/skills/hyperframes-creative/palettes/jewel-rich.md +0 -14
  495. package/skills/hyperframes-creative/palettes/monochrome.md +0 -14
  496. package/skills/hyperframes-creative/palettes/nature-earth.md +0 -14
  497. package/skills/hyperframes-creative/palettes/neon-electric.md +0 -14
  498. package/skills/hyperframes-creative/palettes/pastel-soft.md +0 -14
  499. package/skills/hyperframes-creative/palettes/warm-editorial.md +0 -14
  500. package/skills/hyperframes-creative/references/audio-reactive.md +0 -76
  501. package/skills/hyperframes-creative/references/beat-direction.md +0 -164
  502. package/skills/hyperframes-creative/references/composition-patterns.md +0 -199
  503. package/skills/hyperframes-creative/references/data-in-motion.md +0 -19
  504. package/skills/hyperframes-creative/references/design-adherence.md +0 -19
  505. package/skills/hyperframes-creative/references/design-picker.md +0 -123
  506. package/skills/hyperframes-creative/references/design-spec.md +0 -55
  507. package/skills/hyperframes-creative/references/house-style.md +0 -73
  508. package/skills/hyperframes-creative/references/motion-principles.md +0 -151
  509. package/skills/hyperframes-creative/references/narration.md +0 -92
  510. package/skills/hyperframes-creative/references/prompt-expansion.md +0 -68
  511. package/skills/hyperframes-creative/references/story-spine.md +0 -45
  512. package/skills/hyperframes-creative/references/storyboard-recipe.md +0 -57
  513. package/skills/hyperframes-creative/references/typography.md +0 -218
  514. package/skills/hyperframes-creative/references/video-composition.md +0 -63
  515. package/skills/hyperframes-creative/references/visual-styles.md +0 -457
  516. package/skills/hyperframes-creative/scripts/contrast-report.mjs +0 -538
  517. package/skills/hyperframes-creative/scripts/package-loader.mjs +0 -415
  518. package/skills/hyperframes-creative/scripts/package-loader.test.mjs +0 -114
  519. package/skills/hyperframes-creative/templates/design-picker.html +0 -1432
  520. package/skills/hyperframes-keyframes/agents/openai.yaml +0 -4
  521. package/skills/hyperframes-keyframes/references/keyframe-patterns.md +0 -108
  522. package/skills/motion-graphics/agents/builder.md +0 -41
  523. package/skills/motion-graphics/agents/director.md +0 -54
  524. package/skills/motion-graphics/agents/finalize.md +0 -17
  525. package/skills/motion-graphics/catalog-map.md +0 -52
  526. package/skills/motion-graphics/categories/asset-fusion/module.md +0 -37
  527. package/skills/motion-graphics/categories/charts/module.md +0 -22
  528. package/skills/motion-graphics/categories/kinetic-type/module.md +0 -19
  529. package/skills/motion-graphics/categories/logo-reveal/module.md +0 -17
  530. package/skills/motion-graphics/categories/lower-thirds/module.md +0 -20
  531. package/skills/motion-graphics/categories/maps/module.md +0 -61
  532. package/skills/motion-graphics/categories/news/module.md +0 -56
  533. package/skills/motion-graphics/categories/stat/module.md +0 -21
  534. package/skills/motion-graphics/categories/tweet/module.md +0 -16
  535. package/skills/motion-graphics/categories/webpage/module.md +0 -30
  536. package/skills/motion-graphics/grounding/PROTOCOL.md +0 -64
  537. package/skills/motion-graphics/phases/source/guide.md +0 -21
  538. package/skills/motion-graphics/references/builder-contract.md +0 -38
  539. package/skills/motion-graphics/references/motion-vocabulary.md +0 -47
  540. package/skills/motion-graphics/references/shot-plan-ir.md +0 -54
  541. package/skills/motion-graphics/samples/asset-fusion/_ref-circle-highlight.html +0 -306
  542. package/skills/music-to-video/references/frame-skeleton.md +0 -100
  543. package/skills/music-to-video/references/montage.md +0 -55
  544. package/skills/music-to-video/references/motion-primitive-catalog.md +0 -75
  545. package/skills/music-to-video/references/motion-primitives/3d-card-flip/index.html +0 -53
  546. package/skills/music-to-video/references/motion-primitives/3d-card-flip/scene.html +0 -119
  547. package/skills/music-to-video/references/motion-primitives/assets/gsap.min.js +0 -11
  548. package/skills/music-to-video/references/motion-primitives/bg-flow-field/index.html +0 -53
  549. package/skills/music-to-video/references/motion-primitives/bg-flow-field/scene.html +0 -294
  550. package/skills/music-to-video/references/motion-primitives/binary-decrypt/index.html +0 -54
  551. package/skills/music-to-video/references/motion-primitives/binary-decrypt/scene.html +0 -85
  552. package/skills/music-to-video/references/motion-primitives/blur-resolve/index.html +0 -53
  553. package/skills/music-to-video/references/motion-primitives/blur-resolve/scene.html +0 -60
  554. package/skills/music-to-video/references/motion-primitives/braam-punch/index.html +0 -53
  555. package/skills/music-to-video/references/motion-primitives/braam-punch/scene.html +0 -100
  556. package/skills/music-to-video/references/motion-primitives/chromatic-split/index.html +0 -53
  557. package/skills/music-to-video/references/motion-primitives/chromatic-split/scene.html +0 -111
  558. package/skills/music-to-video/references/motion-primitives/chrome-sweep/index.html +0 -53
  559. package/skills/music-to-video/references/motion-primitives/chrome-sweep/scene.html +0 -68
  560. package/skills/music-to-video/references/motion-primitives/counting-punch/index.html +0 -54
  561. package/skills/music-to-video/references/motion-primitives/counting-punch/scene.html +0 -119
  562. package/skills/music-to-video/references/motion-primitives/crash-zoom-in/index.html +0 -53
  563. package/skills/music-to-video/references/motion-primitives/crash-zoom-in/scene.html +0 -120
  564. package/skills/music-to-video/references/motion-primitives/datamosh-smear/index.html +0 -55
  565. package/skills/music-to-video/references/motion-primitives/datamosh-smear/scene.html +0 -131
  566. package/skills/music-to-video/references/motion-primitives/directional-fill/index.html +0 -53
  567. package/skills/music-to-video/references/motion-primitives/directional-fill/scene.html +0 -103
  568. package/skills/music-to-video/references/motion-primitives/dolly-zoom/index.html +0 -53
  569. package/skills/music-to-video/references/motion-primitives/dolly-zoom/scene.html +0 -102
  570. package/skills/music-to-video/references/motion-primitives/electric-arc/index.html +0 -54
  571. package/skills/music-to-video/references/motion-primitives/electric-arc/scene.html +0 -105
  572. package/skills/music-to-video/references/motion-primitives/flash-cut/index.html +0 -53
  573. package/skills/music-to-video/references/motion-primitives/flash-cut/scene.html +0 -97
  574. package/skills/music-to-video/references/motion-primitives/gooey-metaball/index.html +0 -54
  575. package/skills/music-to-video/references/motion-primitives/gooey-metaball/scene.html +0 -206
  576. package/skills/music-to-video/references/motion-primitives/hard-cut/index.html +0 -53
  577. package/skills/music-to-video/references/motion-primitives/hard-cut/scene.html +0 -82
  578. package/skills/music-to-video/references/motion-primitives/hypercut-whip/index.html +0 -53
  579. package/skills/music-to-video/references/motion-primitives/hypercut-whip/scene.html +0 -44
  580. package/skills/music-to-video/references/motion-primitives/iris-open/index.html +0 -53
  581. package/skills/music-to-video/references/motion-primitives/iris-open/scene.html +0 -69
  582. package/skills/music-to-video/references/motion-primitives/kinetic-letter-in/index.html +0 -53
  583. package/skills/music-to-video/references/motion-primitives/kinetic-letter-in/scene.html +0 -64
  584. package/skills/music-to-video/references/motion-primitives/liquid-morph/index.html +0 -53
  585. package/skills/music-to-video/references/motion-primitives/liquid-morph/scene.html +0 -96
  586. package/skills/music-to-video/references/motion-primitives/mask-reveal/index.html +0 -53
  587. package/skills/music-to-video/references/motion-primitives/mask-reveal/scene.html +0 -74
  588. package/skills/music-to-video/references/motion-primitives/mosaic-pack/index.html +0 -53
  589. package/skills/music-to-video/references/motion-primitives/mosaic-pack/scene.html +0 -89
  590. package/skills/music-to-video/references/motion-primitives/neon-flicker/index.html +0 -53
  591. package/skills/music-to-video/references/motion-primitives/neon-flicker/scene.html +0 -73
  592. package/skills/music-to-video/references/motion-primitives/outline-to-fill/index.html +0 -53
  593. package/skills/music-to-video/references/motion-primitives/outline-to-fill/scene.html +0 -82
  594. package/skills/music-to-video/references/motion-primitives/palette-flip/index.html +0 -53
  595. package/skills/music-to-video/references/motion-primitives/palette-flip/scene.html +0 -97
  596. package/skills/music-to-video/references/motion-primitives/particle-burst/index.html +0 -53
  597. package/skills/music-to-video/references/motion-primitives/particle-burst/scene.html +0 -106
  598. package/skills/music-to-video/references/motion-primitives/pixel-dissolve/index.html +0 -53
  599. package/skills/music-to-video/references/motion-primitives/pixel-dissolve/scene.html +0 -86
  600. package/skills/music-to-video/references/motion-primitives/radial-burst-lines/index.html +0 -53
  601. package/skills/music-to-video/references/motion-primitives/radial-burst-lines/scene.html +0 -130
  602. package/skills/music-to-video/references/motion-primitives/screen-shake/index.html +0 -53
  603. package/skills/music-to-video/references/motion-primitives/screen-shake/scene.html +0 -78
  604. package/skills/music-to-video/references/motion-primitives/slot-machine-reveal/index.html +0 -53
  605. package/skills/music-to-video/references/motion-primitives/slot-machine-reveal/scene.html +0 -100
  606. package/skills/music-to-video/references/motion-primitives/spotlight-sweep/index.html +0 -53
  607. package/skills/music-to-video/references/motion-primitives/spotlight-sweep/scene.html +0 -102
  608. package/skills/music-to-video/references/motion-primitives/staggered-exit/index.html +0 -53
  609. package/skills/music-to-video/references/motion-primitives/staggered-exit/scene.html +0 -82
  610. package/skills/music-to-video/references/motion-primitives/text-spectral-rays/USAGE.md +0 -42
  611. package/skills/music-to-video/references/motion-primitives/text-spectral-rays/index.html +0 -53
  612. package/skills/music-to-video/references/motion-primitives/text-spectral-rays/scene.html +0 -280
  613. package/skills/music-to-video/references/motion-primitives/text-wave-distort/index.html +0 -54
  614. package/skills/music-to-video/references/motion-primitives/text-wave-distort/scene.html +0 -106
  615. package/skills/music-to-video/references/motion-primitives/tile-mosaic/index.html +0 -53
  616. package/skills/music-to-video/references/motion-primitives/tile-mosaic/scene.html +0 -109
  617. package/skills/music-to-video/references/motion-primitives/typewriter-reveal/index.html +0 -53
  618. package/skills/music-to-video/references/motion-primitives/typewriter-reveal/scene.html +0 -91
  619. package/skills/music-to-video/references/motion-primitives/word-grid-burst/index.html +0 -53
  620. package/skills/music-to-video/references/motion-primitives/word-grid-burst/scene.html +0 -96
  621. package/skills/music-to-video/references/planning.md +0 -104
  622. package/skills/music-to-video/references/storyboard-format.md +0 -94
  623. package/skills/music-to-video/references/template-catalog.md +0 -106
  624. package/skills/music-to-video/references/templates/card-flyby/index.html +0 -527
  625. package/skills/music-to-video/references/templates/card-flyby/program.json +0 -13
  626. package/skills/music-to-video/references/templates/held-message-living-field/index.html +0 -485
  627. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/asphalt-031.png +0 -0
  628. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/bark-014.png +0 -0
  629. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/brick.png +0 -0
  630. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/bricks-075-a.png +0 -0
  631. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/bricks-101.png +0 -0
  632. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/bricks-102.png +0 -0
  633. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/bricks-104.png +0 -0
  634. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/carpet.png +0 -0
  635. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/concrete-034.png +0 -0
  636. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/concrete-042-a.png +0 -0
  637. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/concrete-046.png +0 -0
  638. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/concrete-047-a.png +0 -0
  639. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/concrete.png +0 -0
  640. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/diamond-plate-009.png +0 -0
  641. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/fabric-080.png +0 -0
  642. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/fabric-083.png +0 -0
  643. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/grass-001.png +0 -0
  644. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/grass-004.png +0 -0
  645. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/grass-005.png +0 -0
  646. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/ground-037.png +0 -0
  647. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/ground-054.png +0 -0
  648. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/ground-068.png +0 -0
  649. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/ground-080.png +0 -0
  650. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/ground-103.png +0 -0
  651. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/ground-104.png +0 -0
  652. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/lava.png +0 -0
  653. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/leather-037.png +0 -0
  654. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/marble-012.png +0 -0
  655. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/marble-016.png +0 -0
  656. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/metal-032.png +0 -0
  657. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/metal-038.png +0 -0
  658. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/metal-041-a.png +0 -0
  659. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/metal-046-b.png +0 -0
  660. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/metal-048-a.png +0 -0
  661. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/metal-049-a.png +0 -0
  662. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/metal-055-a.png +0 -0
  663. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/metal-061-b.png +0 -0
  664. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/metal.png +0 -0
  665. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/onyx.png +0 -0
  666. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/painted-plaster-017.png +0 -0
  667. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/paving-stones-138.png +0 -0
  668. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/paving-stones-150.png +0 -0
  669. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/plaster-001.png +0 -0
  670. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/road-007.png +0 -0
  671. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/road-008-a.png +0 -0
  672. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/road-009-c.png +0 -0
  673. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/road-012-a.png +0 -0
  674. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/road-012-b.png +0 -0
  675. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/road-013-a.png +0 -0
  676. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/rock-058.png +0 -0
  677. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/rock-063.png +0 -0
  678. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/rock.png +0 -0
  679. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/snow-015.png +0 -0
  680. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/snow.png +0 -0
  681. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/tiles-138.png +0 -0
  682. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/travertine-009.png +0 -0
  683. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/wood-049.png +0 -0
  684. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/wood-051.png +0 -0
  685. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/wood-058.png +0 -0
  686. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/wood-066.png +0 -0
  687. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/wood-092.png +0 -0
  688. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/wood-094.png +0 -0
  689. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/wood-floor-051.png +0 -0
  690. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/wood-floor-064.png +0 -0
  691. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/wood-floor-070.png +0 -0
  692. package/skills/music-to-video/references/templates/held-text-strobe-burst/assets/texture-mask-text/masks/wood.png +0 -0
  693. package/skills/music-to-video/references/templates/held-text-strobe-burst/index.html +0 -302
  694. package/skills/music-to-video/references/templates/intro-kinetic-cascade/index.html +0 -610
  695. package/skills/music-to-video/references/templates/intro-kinetic-cascade/program.json +0 -41
  696. package/skills/music-to-video/references/templates/logo-split-lockup-pulse/assets/fredoka-700.woff2 +0 -0
  697. package/skills/music-to-video/references/templates/logo-split-lockup-pulse/index.html +0 -596
  698. package/skills/music-to-video/references/templates/poster-tile-mosaic/index.html +0 -589
  699. package/skills/music-to-video/references/templates/poster-tile-mosaic/program.json +0 -25
  700. package/skills/music-to-video/references/templates/roll-flipbook-word-cycle/index.html +0 -267
  701. package/skills/music-to-video/references/templates/split-anchor-word-slot/index.html +0 -594
  702. package/skills/music-to-video/references/templates/split-anchor-word-slot/program.json +0 -39
  703. package/skills/music-to-video/references/templates/typewriter-phrase-keyword-shuffle/index.html +0 -238
  704. package/skills/music-to-video/scripts/analyze-beatgrid.py +0 -542
  705. package/skills/music-to-video/scripts/assemble-index.mjs +0 -220
  706. package/skills/music-to-video/scripts/lib/storyboard.mjs +0 -249
  707. package/skills/music-to-video/scripts/stage-assets.mjs +0 -58
  708. package/skills/music-to-video/scripts/validate-plan.mjs +0 -161
  709. package/skills/music-to-video/sub-agents/frame-worker.md +0 -49
  710. package/skills/pr-to-video/references/code-vocabulary.md +0 -113
  711. package/skills/pr-to-video/references/cut-catalog.md +0 -215
  712. package/skills/pr-to-video/references/motion-language.md +0 -156
  713. package/skills/pr-to-video/references/story-design.md +0 -230
  714. package/skills/pr-to-video/references/visual-design.md +0 -164
  715. package/skills/pr-to-video/scripts/assemble-index.mjs +0 -631
  716. package/skills/pr-to-video/scripts/assemble-index.test.mjs +0 -130
  717. package/skills/pr-to-video/scripts/audio.mjs +0 -293
  718. package/skills/pr-to-video/scripts/build-frame.mjs +0 -589
  719. package/skills/pr-to-video/scripts/captions.mjs +0 -524
  720. package/skills/pr-to-video/scripts/captions.test.mjs +0 -260
  721. package/skills/pr-to-video/scripts/fetch-people-avatars.mjs +0 -157
  722. package/skills/pr-to-video/scripts/fetch-pr.mjs +0 -234
  723. package/skills/pr-to-video/scripts/frame-contract.test.mjs +0 -209
  724. package/skills/pr-to-video/scripts/frame-packets.mjs +0 -62
  725. package/skills/pr-to-video/scripts/ingest.mjs +0 -561
  726. package/skills/pr-to-video/scripts/lib/assets.mjs +0 -56
  727. package/skills/pr-to-video/scripts/lib/bgm-volume.mjs +0 -4
  728. package/skills/pr-to-video/scripts/lib/captured-fonts.mjs +0 -58
  729. package/skills/pr-to-video/scripts/lib/dimensions.mjs +0 -45
  730. package/skills/pr-to-video/scripts/lib/frame-contract.mjs +0 -54
  731. package/skills/pr-to-video/scripts/lib/frame-packets-core.mjs +0 -194
  732. package/skills/pr-to-video/scripts/lib/pad-frame-duration.mjs +0 -36
  733. package/skills/pr-to-video/scripts/lib/storyboard.mjs +0 -249
  734. package/skills/pr-to-video/scripts/lib/tokens.mjs +0 -211
  735. package/skills/pr-to-video/scripts/lib/transition-registry.mjs +0 -38
  736. package/skills/pr-to-video/scripts/lib/transitions.json +0 -71
  737. package/skills/pr-to-video/scripts/preflight.mjs +0 -51
  738. package/skills/pr-to-video/scripts/project-dir.mjs +0 -92
  739. package/skills/pr-to-video/scripts/transitions.mjs +0 -383
  740. package/skills/pr-to-video/scripts/workflow-guardrails.test.mjs +0 -198
  741. package/skills/pr-to-video/sub-agents/frame-worker.md +0 -38
  742. package/skills/product-launch-video/references/cut-catalog.md +0 -220
  743. package/skills/product-launch-video/references/motion-language.md +0 -156
  744. package/skills/product-launch-video/references/story-design.md +0 -508
  745. package/skills/product-launch-video/references/visual-design.md +0 -126
  746. package/skills/product-launch-video/scripts/assemble-index.mjs +0 -773
  747. package/skills/product-launch-video/scripts/assemble-index.test.mjs +0 -127
  748. package/skills/product-launch-video/scripts/audio.mjs +0 -293
  749. package/skills/product-launch-video/scripts/audio.test.mjs +0 -234
  750. package/skills/product-launch-video/scripts/build-frame-subsets.test.mjs +0 -152
  751. package/skills/product-launch-video/scripts/build-frame.mjs +0 -552
  752. package/skills/product-launch-video/scripts/captions.mjs +0 -524
  753. package/skills/product-launch-video/scripts/captions.test.mjs +0 -219
  754. package/skills/product-launch-video/scripts/capture-skill-guardrails.test.mjs +0 -39
  755. package/skills/product-launch-video/scripts/frame-packets.mjs +0 -27
  756. package/skills/product-launch-video/scripts/frame-packets.test.mjs +0 -144
  757. package/skills/product-launch-video/scripts/lib/assets.mjs +0 -56
  758. package/skills/product-launch-video/scripts/lib/bgm-volume.mjs +0 -4
  759. package/skills/product-launch-video/scripts/lib/captured-fonts.mjs +0 -58
  760. package/skills/product-launch-video/scripts/lib/dimensions.mjs +0 -45
  761. package/skills/product-launch-video/scripts/lib/frame-packets-core.mjs +0 -194
  762. package/skills/product-launch-video/scripts/lib/pad-frame-duration.mjs +0 -36
  763. package/skills/product-launch-video/scripts/lib/pad-frame-duration.test.mjs +0 -76
  764. package/skills/product-launch-video/scripts/lib/storyboard.mjs +0 -249
  765. package/skills/product-launch-video/scripts/lib/tokens.mjs +0 -218
  766. package/skills/product-launch-video/scripts/lib/tokens.test.mjs +0 -57
  767. package/skills/product-launch-video/scripts/lib/transition-registry.mjs +0 -38
  768. package/skills/product-launch-video/scripts/lib/transitions.json +0 -71
  769. package/skills/product-launch-video/scripts/media-contract.test.mjs +0 -200
  770. package/skills/product-launch-video/scripts/stage-assets.mjs +0 -39
  771. package/skills/product-launch-video/scripts/stage-assets.test.mjs +0 -52
  772. package/skills/product-launch-video/scripts/transitions.mjs +0 -383
  773. package/skills/product-launch-video/scripts/transitions.test.mjs +0 -68
  774. package/skills/product-launch-video/sub-agents/frame-worker.md +0 -21
  775. package/skills/talking-head-recut/NOTICE.md +0 -39
  776. package/skills/talking-head-recut/assets/fonts/Caveat-400-latin.woff2 +0 -0
  777. package/skills/talking-head-recut/assets/fonts/Caveat-700-latin.woff2 +0 -0
  778. package/skills/talking-head-recut/assets/fonts/Inter-400-latin.woff2 +0 -0
  779. package/skills/talking-head-recut/assets/fonts/Inter-700-latin.woff2 +0 -0
  780. package/skills/talking-head-recut/assets/fonts/LXGWWenKaiTC-400-latin.woff2 +0 -0
  781. package/skills/talking-head-recut/assets/fonts/Virgil.woff2 +0 -0
  782. package/skills/talking-head-recut/assets/vendor/gsap.min.js +0 -10
  783. package/skills/talking-head-recut/media-contract.test.mjs +0 -35
  784. package/skills/talking-head-recut/references/DESIGN_INDEX.md +0 -145
  785. package/skills/talking-head-recut/references/frames/clean.html +0 -92
  786. package/skills/talking-head-recut/references/frames/hairline.html +0 -171
  787. package/skills/talking-head-recut/references/frames/polaroid.html +0 -131
  788. package/skills/talking-head-recut/references/layouts/overlay.html +0 -164
  789. package/skills/talking-head-recut/references/layouts/pip.html +0 -143
  790. package/skills/talking-head-recut/references/layouts/split.html +0 -121
  791. package/skills/talking-head-recut/references/layouts/stack.html +0 -109
  792. package/skills/talking-head-recut/references/styles/academic.html +0 -172
  793. package/skills/talking-head-recut/references/styles/audit.html +0 -170
  794. package/skills/talking-head-recut/references/styles/editorial.html +0 -189
  795. package/skills/talking-head-recut/references/styles/geom.html +0 -181
  796. package/skills/talking-head-recut/references/styles/minimal.html +0 -130
  797. package/skills/talking-head-recut/references/styles/spotlight.html +0 -142
  798. package/skills/talking-head-recut/references/styles/swiss.html +0 -188
  799. package/skills/talking-head-recut/references/styles/terminal.html +0 -196
  800. package/skills/talking-head-recut/references/styles/whiteboard.html +0 -170
  801. package/skills/talking-head-recut/references/styles/xhs.html +0 -206
  802. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/biennale-yellow/FRAME.md +0 -0
  803. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/biennale-yellow/frame-showcase.html +0 -0
  804. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/blockframe/FRAME.md +0 -0
  805. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/blockframe/frame-showcase.html +0 -0
  806. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/blue-professional/FRAME.md +0 -0
  807. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/blue-professional/frame-showcase.html +0 -0
  808. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/bold-poster/FRAME.md +0 -0
  809. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/bold-poster/frame-showcase.html +0 -0
  810. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/broadside/FRAME.md +0 -0
  811. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/broadside/frame-showcase.html +0 -0
  812. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/capsule/FRAME.md +0 -0
  813. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/capsule/frame-showcase.html +0 -0
  814. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/cartesian/FRAME.md +0 -0
  815. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/cartesian/frame-showcase.html +0 -0
  816. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/cobalt-grid/FRAME.md +0 -0
  817. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/cobalt-grid/frame-showcase.html +0 -0
  818. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/code-editorial/fonts/EBGaramond-400.woff2 +0 -0
  819. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/code-editorial/fonts/EBGaramond-700.woff2 +0 -0
  820. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/code-editorial/fonts/Inter-400.woff2 +0 -0
  821. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/code-editorial/fonts/Inter-700.woff2 +0 -0
  822. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/code-editorial/fonts/JetBrainsMono-400.woff2 +0 -0
  823. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/code-editorial/fonts/JetBrainsMono-700.woff2 +0 -0
  824. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/code-editorial/fonts/OFL-eb-garamond.txt +0 -0
  825. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/code-editorial/fonts/OFL-inter.txt +0 -0
  826. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/code-editorial/fonts/OFL-jetbrains-mono.txt +0 -0
  827. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/code-editorial/frame-showcase.html +0 -0
  828. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/coral/FRAME.md +0 -0
  829. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/coral/frame-showcase.html +0 -0
  830. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/creative-mode/FRAME.md +0 -0
  831. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/creative-mode/frame-showcase.html +0 -0
  832. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/daisy-days/FRAME.md +0 -0
  833. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/daisy-days/frame-showcase.html +0 -0
  834. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/editorial-forest/FRAME.md +0 -0
  835. /package/skills/{hyperframes-creative → hyperframes/assets}/frame-presets/editorial-forest/frame-showcase.html +0 -0
  836. /package/skills/{hyperframes-audio → media-use/audio}/scripts/carve.test.mjs +0 -0
  837. /package/skills/{hyperframes-creative → media-use/audio}/scripts/extract-audio-data.py +0 -0
@@ -1,136 +0,0 @@
1
- ---
2
- name: gradient-text-sweep
3
- description: A gradient tweened THROUGH letterforms — background-clip:text + a backgroundPosition tween. Three forms: a continuous horizontal sweep inside a held headline, a traveling word-to-word highlight, and a hue-sweep that settles to a solid. Glyphs never move; finite, deterministic, seek-safe.
4
- metadata:
5
- tags: gradient, text, sweep, background-clip, highlight, hue, typography, headline
6
- ---
7
-
8
- # Gradient Text Sweep
9
-
10
- Color that lives **inside the glyphs**: the headline's fill is an oversized gradient clipped into the letterforms (`background-clip: text`), and the motion is the gradient sliding **through** the type — the letters never move. Three forms: a **continuous sweep** across a held title card, a **word-to-word highlight** that lights a line left→right, and a **hue-sweep** that settles to a solid.
11
-
12
- Boundaries: [asr-keyword-glow.md](asr-keyword-glow.md) is word-timed emphasis railed to ASR timestamps — this rule is a design beat with no audio rail. [ambient-glow-bloom.md](ambient-glow-bloom.md)'s traveling sweep is a sheen riding **over a surface**; here the gradient is masked **into the type** (its "Shimmer sweep" variation is this mechanism re-aimed as a working-state loop). [css-marker-patterns.md](css-marker-patterns.md) draws accents _around_ text, never fills.
13
-
14
- ## How It Works
15
-
16
- The text carries a gradient background **wider than its own box** (`background-size: SWEEP_SPAN 100%`, e.g. `300% 100%`) clipped into the glyphs, so tweening `backgroundPosition` slides the gradient through the visible letterforms. Two gotchas own this rule:
17
-
18
- - **`background-position` percentages only produce travel when `background-size` exceeds 100%** — at 100% the image is pinned and the tween is a silent no-op.
19
- - **The percent axis runs opposite to the perceived travel** — tweening `"100% 50%"` → `"0% 50%"` moves the highlight left→right through the text.
20
-
21
- 1. **Continuous sweep (held title card)** — one long **linear** `backgroundPosition` tween spanning the hold. First and last color stops equal, so the travel has no visible seam and reads as endless while remaining a single finite tween.
22
- 2. **Word-to-word highlight** — each word is two pixel-identical stacked copies: a base copy in the resting color and a gradient-clipped copy at `opacity: 0`. A per-word opacity envelope (rise, then fall as the next word rises) passes the highlight along on an index-derived stagger — an **envelope, not a moving mask**: no per-word position measurement.
23
- 3. **Hue-sweep → solid** — the gradient holds position while a `filter: hue-rotate()` tween sweeps its hues; the settle is a stacked-copy crossfade to a solid twin — never a color-stop tween (gradients with different stops don't interpolate reliably).
24
-
25
- ## Recipe
26
-
27
- ```html
28
- <!-- inside a standard scene clip (hyperframes-core) -->
29
- <!-- Forms A/C: gradient headline; solid twin behind for the Form C settle -->
30
- <div class="headline-stack">
31
- <h1 class="headline solid-twin">{headlineText}</h1>
32
- <h1 class="headline gradient-fill" id="headline">{headlineText}</h1>
33
- </div>
34
-
35
- <!-- Form B: per-word stacked copies -->
36
- <p class="line">
37
- <span class="word"><span class="w-base">{word1}</span><span class="w-hot">{word1}</span></span>
38
- <span class="word"><span class="w-base">{word2}</span><span class="w-hot">{word2}</span></span>
39
- </p>
40
- ```
41
-
42
- ```css
43
- .headline-stack,
44
- .word {
45
- display: grid; /* twins share one cell — pixel-identical boxes */
46
- }
47
- .headline,
48
- .w-base,
49
- .w-hot {
50
- grid-area: 1 / 1;
51
- }
52
- .gradient-fill,
53
- .w-hot {
54
- background-image: {gradient}; /* {sweepGradient} A/C, {highlightGradient} B */
55
- background-size: SWEEP_SPAN 100%; /* MUST exceed 100% or the position tween is dead */
56
- background-position: 100% 50%; /* start; tween toward 0% for left→right travel */
57
- -webkit-background-clip: text;
58
- background-clip: text;
59
- color: transparent;
60
- }
61
- .solid-twin {
62
- color: {settleColor};
63
- }
64
- .w-base {
65
- color: {restColor};
66
- }
67
- .w-hot {
68
- opacity: 0; /* the envelope raises it as the highlight passes */
69
- }
70
- ```
71
-
72
- ```js
73
- // Form A: continuous sweep. 100% → 0% reads left→right (percent axis inverted);
74
- // ease "none" — an eased sweep reads as an object, not light.
75
- tl.fromTo(
76
- "#headline",
77
- { backgroundPosition: "100% 50%" },
78
- { backgroundPosition: "0% 50%", duration: SWEEP_DUR, ease: "none" },
79
- SWEEP_START,
80
- );
81
-
82
- // Form B: traveling highlight — per-word rise/fall envelopes, index stagger.
83
- gsap.utils.toArray(".w-hot").forEach((el, i) => {
84
- const at = HIGHLIGHT_START + i * WORD_LAG;
85
- tl.fromTo(el, { opacity: 0 }, { opacity: 1, duration: HOT_RISE, ease: "power2.out" }, at);
86
- tl.to(el, { opacity: 0, duration: HOT_FALL, ease: "power2.in" }, at + WORD_LAG);
87
- });
88
-
89
- // Form C: hue-sweep, then crossfade to the solid twin (never tween color stops).
90
- tl.fromTo(
91
- "#headline",
92
- { filter: "hue-rotate(0deg)" },
93
- { filter: `hue-rotate(${HUE_RANGE}deg)`, duration: HUE_DUR, ease: "power1.inOut" },
94
- HUE_START,
95
- );
96
- tl.to(
97
- "#headline",
98
- { opacity: 0, duration: SETTLE_SNAP_DUR, ease: "power2.in" },
99
- HUE_START + HUE_DUR,
100
- );
101
- ```
102
-
103
- ## Variations
104
-
105
- - **Title-card crawl** — Form A stretched across a long terminal hold (3–8s end card): seamless-ended gradient, `ease: "none"`, `SWEEP_DUR` = the whole hold. One tween, no loop.
106
- - **One-pass sheen inside type** — gradient is the resting fill everywhere except one narrow highlight band (≤ ~25% of the span); one `backgroundPosition` pass carries the band through and the text returns to rest with no crossfade.
107
- - **Karaoke settle** — Form B with the fall tweens skipped: the line lights cumulatively left→right and holds fully lit; settle color = the hot state, base copies start dimmer.
108
- - **Gradient climax word** — one emphasized word (often ~-8° rotated) carries the gradient while the line stays solid; static gradient + a short Form C hue shift on landing, settling to the brand accent. Pairs with a `kinetic-beat-slam` arrival.
109
-
110
- ## Values
111
-
112
- | token | range | notes |
113
- | ------------------- | ---------------------- | ------------------------------------------------------------------------------------ |
114
- | SWEEP_SPAN | 200–400% | must exceed 100%; wider = softer/slower feel, narrower = busier color per glyph |
115
- | SWEEP_DUR | 1.2–3s | match the card's hold exactly; slower than ~4s stops registering as motion |
116
- | WORD_LAG | 0.25–0.5s | HOT_FALL starts exactly WORD_LAG after the rise so envelopes cross — a gap = a blink |
117
- | HOT_RISE / HOT_FALL | 0.15–0.3s / 0.25–0.45s | fall slightly longer — the highlight "trails" |
118
- | HUE_RANGE / HUE_DUR | 40–180° / 0.8–1.6s | past ~180° the palette dissociates from itself mid-sweep |
119
- | SETTLE_SNAP_DUR | 0.1–0.35s | the goldens snap (~0.15s) |
120
- | {settleColor} | — | one of the gradient's own stops (or the brand ink) so the settle reads as resolution |
121
-
122
- ## Critical Constraints
123
-
124
- - **`background-size` > 100%** on any element whose `backgroundPosition` is tweened — otherwise the tween is a silent no-op.
125
- - **Percent axis is inverted** — left→right perceived travel is `100% → 0%`.
126
- - **Both `-webkit-background-clip: text` AND `background-clip: text`, with `color: transparent`** — missing the prefix renders a solid gradient block over the text in the capture browser.
127
- - **`ease: "none"` on position sweeps** — this is supposed to read as light, not an accelerating object.
128
- - **Seamless ends for a crawl** — first and last stops equal, or the wrap point flashes a hard edge mid-hold.
129
- - **Stacked copies pixel-identical** — same box, font, weight, tracking, one grid cell; any metric drift makes the crossfade a double-exposure.
130
- - **`data-layout-allow-occlusion` on the twin** — pixel-identical stacked copies trip `hyperframes check`'s `text_occluded` gate by construction; the flag is the sanctioned waiver for this mechanism.
131
- - **Settle by crossfade, never by tweening stops**; and the glyphs never move — if the type must travel, that's a separate rule on the wrapper.
132
- - **No CSS `@keyframes` shimmer** — wall-clock animation desyncs from seek; every sweep is a timeline tween.
133
-
134
- ## See also
135
-
136
- `kinetic-beat-slam` (slam lands the climax word, hue settle finishes it) · `spring-pop-entrance` (pop in solid, sweep after) · `discrete-text-sequence` (swap-slot under a riding crawl) · `ambient-glow-bloom` (surface-level sibling) · `css-marker-patterns` (strokes around text; fills here).
@@ -1,196 +0,0 @@
1
- # GSAP Effects for HyperFrames
2
-
3
- Drop-in animation patterns. Snippets show mechanism only, inside a standard scene clip (hyperframes-core); assume `tl` exists.
4
-
5
- - [Typewriter](#typewriter) — character-by-character reveal with optional cursor / backspace / word rotation
6
- - [Audio Visualizer](#audio-visualizer) — pre-extract audio data, drive Canvas/DOM rendering from the timeline
7
-
8
- ## Typewriter
9
-
10
- Requires GSAP's TextPlugin alongside the core script:
11
-
12
- ```html
13
- <script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/TextPlugin.min.js"></script>
14
- <script>
15
- gsap.registerPlugin(TextPlugin);
16
- </script>
17
- ```
18
-
19
- ### Basic
20
-
21
- ```js
22
- const text = "Hello, world!";
23
- const cps = 10; // chars per second — see timing table
24
- tl.to(
25
- "#typed-text",
26
- { text: { value: text }, duration: text.length / cps, ease: "none" },
27
- startTime,
28
- );
29
- ```
30
-
31
- ### Blinking Cursor
32
-
33
- Three rules: **one cursor visible at a time** (hide previous before showing next); **cursor must blink when idle** (after typing, during holds); **no gap between text and cursor** (elements flush in HTML).
34
-
35
- ```html
36
- <span id="typed-text"></span><span id="cursor" class="cursor-blink">|</span>
37
- ```
38
-
39
- ```css
40
- @keyframes blink {
41
- 0%,
42
- 100% {
43
- opacity: 1;
44
- }
45
- 50% {
46
- opacity: 0;
47
- }
48
- }
49
- .cursor-blink {
50
- animation: blink 0.8s step-end infinite;
51
- }
52
- .cursor-solid {
53
- animation: none;
54
- opacity: 1;
55
- }
56
- .cursor-hide {
57
- animation: none;
58
- opacity: 0;
59
- }
60
- ```
61
-
62
- Pattern: blink → solid (typing starts) → type → blink (typing done):
63
-
64
- ```js
65
- tl.call(() => cursor.classList.replace("cursor-blink", "cursor-solid"), [], startTime);
66
- tl.to("#typed-text", { text: { value: text }, duration: dur, ease: "none" }, startTime);
67
- tl.call(() => cursor.classList.replace("cursor-solid", "cursor-blink"), [], startTime + dur);
68
- ```
69
-
70
- Multi-line handoff: hide previous cursor → blink new → brief pause (~0.5s) → solid when typing. Never go `hidden → solid` (skips the idle blink).
71
-
72
- ### Backspacing
73
-
74
- TextPlugin removes from the front — wrong for backspace. Use manual substring removal:
75
-
76
- ```js
77
- function backspace(tl, selector, word, startTime, cps) {
78
- const el = document.querySelector(selector);
79
- const interval = 1 / cps;
80
- for (let i = word.length - 1; i >= 0; i--) {
81
- tl.call(
82
- () => (el.textContent = word.slice(0, i)),
83
- [],
84
- startTime + (word.length - i) * interval,
85
- );
86
- }
87
- return word.length * interval;
88
- }
89
- ```
90
-
91
- ### Spacing With Static Text
92
-
93
- A typewriter word next to static text (`<span>Ship something</span><span style="margin-left:14px"><span id="word"></span><span id="cursor">|</span></span>` in a baseline-aligned flex row): use `margin-left` on the wrapper span. Don't use flex `gap` (it spaces the cursor from the text) and don't put a trailing space in the static text (it collapses when the dynamic span is empty).
94
-
95
- ### Word Rotation
96
-
97
- Type → hold → backspace → next word; cursor blinks during every idle moment:
98
-
99
- ```js
100
- let offset = 0;
101
- words.forEach((word, i) => {
102
- const typeDur = word.length / 10;
103
- // cursor: solid while typing, blink during holds (same call pattern as above)
104
- tl.to("#typed-text", { text: { value: word }, duration: typeDur, ease: "none" }, offset);
105
- offset += typeDur + 1.5; // hold
106
- if (i < words.length - 1) offset += backspace(tl, "#typed-text", word, offset, 20) + 0.3;
107
- });
108
- ```
109
-
110
- ### Appending Words
111
-
112
- Build a sentence word-by-word into the same element: keep an `accumulated` string, each step tweens `text: { value: accumulated + " " + word }` with `duration: newChars / cps`, then advances the offset.
113
-
114
- ### Timing Guide
115
-
116
- | CPS | Feel | Good for |
117
- | ----- | ---------------- | -------------------------- |
118
- | 3-5 | Slow, deliberate | Dramatic reveals, suspense |
119
- | 8-12 | Natural typing | Dialogue, narration |
120
- | 15-20 | Fast, energetic | Tech demos, code |
121
- | 30+ | Near-instant | Filling long blocks |
122
-
123
- ## Audio Visualizer
124
-
125
- Pre-extract audio data, drive Canvas / DOM rendering from the timeline. **Do not use the Web Audio API at render time** — there's no playback during seek.
126
-
127
- ### Extract Audio Data
128
-
129
- Bundled extractor (requires `ffmpeg` + Python `numpy`):
130
-
131
- ```bash
132
- python skills/hyperframes-creative/scripts/extract-audio-data.py audio.mp3 -o audio-data.json
133
- python skills/hyperframes-creative/scripts/extract-audio-data.py video.mp4 --fps 30 --bands 16 -o audio-data.json
134
- ```
135
-
136
- Output: `{ "fps": 30, "totalFrames": 5415, "frames": [{ "time": 0.0, "rms": 0.42, "bands": [0.8, 0.6, 0.3] }] }` — `rms` (0-1) is overall loudness; `bands[]` (0-1) are frequency magnitudes, index 0 = bass, each band normalized independently.
137
-
138
- ### Loading (Synchronously)
139
-
140
- Inline the JSON for small files (< ~500 KB), or sync XHR for large ones:
141
-
142
- ```js
143
- const xhr = new XMLHttpRequest();
144
- xhr.open("GET", "audio-data.json", false); // synchronous — deliberate
145
- xhr.send();
146
- const AUDIO_DATA = JSON.parse(xhr.responseText);
147
- ```
148
-
149
- **Do NOT use async `fetch()`** — HyperFrames reads `window.__timelines` synchronously after page load; building the timeline inside `.then()` means it isn't ready when capture starts.
150
-
151
- ### Driving the Timeline
152
-
153
- Canvas 2D is the workhorse (bars, waveforms, circles, gradients) — one `tl.call` per frame:
154
-
155
- ```js
156
- const ctx = document.getElementById("viz").getContext("2d");
157
- for (let f = 0; f < AUDIO_DATA.totalFrames; f++) {
158
- tl.call(
159
- () => {
160
- const frame = AUDIO_DATA.frames[f];
161
- ctx.clearRect(0, 0, canvas.width, canvas.height);
162
- // draw using frame.rms and frame.bands
163
- },
164
- [],
165
- f / AUDIO_DATA.fps,
166
- );
167
- }
168
- ```
169
-
170
- WebGL / Three.js: HyperFrames patches `THREE.Clock` for deterministic time — update uniforms from audio data each frame. DOM elements: fine under ~20 elements, slower than Canvas beyond that.
171
-
172
- ### Smoothing
173
-
174
- ```js
175
- let prev = null;
176
- const smoothing = 0.25; // 0.1-0.2 snappy, 0.3-0.5 flowing
177
- function smooth(f) {
178
- const raw = AUDIO_DATA.frames[f];
179
- if (!prev) prev = { rms: raw.rms, bands: [...raw.bands] };
180
- else {
181
- prev = {
182
- rms: prev.rms * smoothing + raw.rms * (1 - smoothing),
183
- bands: raw.bands.map((b, i) => prev.bands[i] * smoothing + b * (1 - smoothing)),
184
- };
185
- }
186
- return prev;
187
- }
188
- ```
189
-
190
- ### Design Guide
191
-
192
- - **Spatial mapping** — horizontal: bass left, treble right; vertical: bass bottom; circular: bass at 12 o'clock, wrap clockwise (mirror for a full circle).
193
- - **Bass drives big moves** (scale, glow, position); **treble drives detail** (shimmer, flicker, edges); **RMS drives globals** (background brightness, overall energy).
194
- - Pick 2-3 animated properties — more looks noisy. Keep minimums above zero so quiet sections still have life.
195
- - **Band count**: 4 = background glow/pulse, 8 = bar charts, 16 = detailed EQ (default), 32 = dense radial layouts.
196
- - **Layering**: stack canvases with `z-index` — a background layer driven by bass/rms under a foreground layer driven by individual bands gives depth without per-element complexity.
@@ -1,123 +0,0 @@
1
- ---
2
- name: hacker-flip-3d
3
- description: Character-level 3D rotation with random glyph substitution for a decryption reveal effect.
4
- metadata:
5
- tags: text, 3d, reveal, decode, hacker, randomization, perspective
6
- ---
7
-
8
- # Hacker Flip 3D Reveal
9
-
10
- Characters flip down from 90° in 3D while cycling through pseudo-random glyphs, then settle on the target character — a "decryption" / airport flap-display reveal. Resolves to a short target word (typically a brand or label).
11
-
12
- ## How It Works
13
-
14
- Each character gets its own per-char tween from `rotateX: 90deg` (hidden, hinged at the bottom edge) to `0deg` (upright), staggered across the word. Below `REVEAL_THRESHOLD` progress the char displays a seeded pseudo-random glyph that reshuffles every few frames; past it, the real target character clicks into place — so the eye catches the right letter just as the flip settles. A hidden ghost copy of the full word reserves layout width so narrow flicker glyphs never shift the line.
15
-
16
- ## Recipe
17
-
18
- ```html
19
- <!-- inside a standard scene clip (hyperframes-core) -->
20
- <div class="hacker-text-wrap" id="hacker-text" data-target="{phrase}">
21
- <!-- ghost row + per-char spans injected by the setup script -->
22
- </div>
23
- ```
24
-
25
- ```css
26
- /* the scene root (or nearest 3D ancestor) MUST set perspective: 1500px */
27
- .hacker-text-wrap {
28
- font-family: {monoFont}; /* monospace so flicker glyphs hold width */
29
- font-weight: 900;
30
- font-size: HACKER_FONT_SIZE;
31
- position: relative; /* ghost stacks absolutely behind the live row */
32
- }
33
- .hacker-char {
34
- display: inline-block;
35
- transform-origin: bottom; /* flap-display hinge */
36
- transform-style: preserve-3d;
37
- }
38
- .hacker-ghost {
39
- opacity: 0;
40
- pointer-events: none;
41
- position: absolute;
42
- inset: 0 auto auto 0;
43
- }
44
- ```
45
-
46
- ```js
47
- const wrap = document.getElementById("hacker-text");
48
- const targetWord = wrap.dataset.target;
49
- const GLYPHS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%&*";
50
-
51
- // Ghost row (reserves width) + live per-char spans
52
- const ghost = document.createElement("div");
53
- ghost.className = "hacker-ghost";
54
- ghost.textContent = targetWord;
55
- wrap.appendChild(ghost);
56
- const charEls = [...targetWord].map((ch) => {
57
- const span = document.createElement("span");
58
- span.className = "hacker-char";
59
- span.textContent = ch === " " ? " " : ch;
60
- span.dataset.target = ch;
61
- wrap.appendChild(span);
62
- return span;
63
- });
64
-
65
- // Index-seeded hash — same frame always yields the same glyph
66
- function pseudoGlyph(seed) {
67
- const h = ((seed * 9301 + 49297) % 233280) / 233280;
68
- return GLYPHS[Math.floor(h * GLYPHS.length)];
69
- }
70
-
71
- charEls.forEach((el, i) => {
72
- const state = { p: 0 };
73
- tl.to(
74
- state,
75
- {
76
- p: 1,
77
- duration: FLIP_DURATION,
78
- ease: "power3.out",
79
- onUpdate: () => {
80
- if (state.p < REVEAL_THRESHOLD) {
81
- el.textContent = pseudoGlyph(i * 1000 + Math.floor(state.p * 100));
82
- } else {
83
- el.textContent = el.dataset.target === " " ? " " : el.dataset.target;
84
- }
85
- el.style.transform = `rotateX(${90 - state.p * 90}deg)`;
86
- el.style.opacity = Math.min(1, state.p * 2);
87
- },
88
- },
89
- i * CHAR_STAGGER,
90
- );
91
- });
92
- ```
93
-
94
- ## Variations
95
-
96
- - **Top-down hinge** — `transform-origin: top` for a falling-flap look.
97
- - **Center spin** — `transform-origin: center` reads as a barrel roll, not a flap.
98
- - **Number-only pool** — restrict `GLYPHS` to digits for a price / countdown decode.
99
- - **Two-pass decode** — chain two `FLIP_DURATION` tweens with different glyph pools (symbols → letters → real) for a longer reveal.
100
-
101
- ## Values
102
-
103
- | token | range | notes |
104
- | ---------------- | ------------------------------- | ---------------------------------------------------------------------------------- |
105
- | HACKER_FONT_SIZE | 6–10% of viewport min-dimension | the flip IS the focal beat; ghost must use the identical size |
106
- | FLIP_DURATION | 0.4–1.0s | under 0.4s the flicker phase has no time; over 1.0s drags |
107
- | CHAR_STAGGER | 0.03–0.08s | total decode = `CHAR_STAGGER × (chars − 1) + FLIP_DURATION` — fit the phase budget |
108
- | REVEAL_THRESHOLD | 0.5–0.7 | lower reveals too early (no tension); higher reads as a hard end-reveal |
109
- | FLICKER_RATE | 3–6 frames per glyph swap | <3 looks like noise; >6 looks like discrete typing |
110
-
111
- Reference: `../examples/proof-logo-chain.html` (163px, 0.55s, 0.033s, 0.6).
112
-
113
- ## Critical Constraints
114
-
115
- - **`perspective` on the scene root REQUIRED** — without parent perspective, `rotateX` renders as a 2D squash, not a 3D flip; `transform-style: preserve-3d` on each char.
116
- - **Ghost placeholder** with identical content + font must back the live chars — without it, narrow glyphs shift the layout mid-flicker (monospace preferred; the ghost makes a proportional face recoverable).
117
- - **Flicker seed = char index + quantized progress** — the same frame must show the same glyph.
118
- - **Flicker rate ≥ ~3 frames per swap**; `onUpdate` work stays O(1) per char per frame.
119
- - **Center the flip dead-center and add NO decorative chrome** (timestamp lines, "// AUTH" tags, status dots) — the flip is the beat. A necessary secondary label is BIG typography (56–72px caps + tracking) in the same stack, never a tiny corner annotation.
120
-
121
- ## See also
122
-
123
- `card-morph-anchor` (flip reveals a phrase, card morphs into the next shot) · `counting-dynamic-scale` (the numeric counterpart).
@@ -1,137 +0,0 @@
1
- ---
2
- name: kinetic-beat-slam
3
- description: Percussive kinetic typography — short phrases slam in on a steady beat with distinct per-phrase entrances, optional rhythm chrome (metronome ticks, beat bar), then a locked finale.
4
- metadata:
5
- tags: text, kinetic, typography, beat, rhythm, slam, percussive, punchy
6
- ---
7
-
8
- # Kinetic Beat Slam
9
-
10
- Short phrases hit one at a time on a **steady beat**, each with a _different_ entrance, then stack into a locked finale — the recipe for "punchy / rhythmic" text-forward pieces (taglines, manifestos, hype intros). The difference between generic and rhythmic is (1) one shared **onset array** driving every element, (2) **distinct** entrances per phrase rather than one reused helper, and (3) optional **rhythm chrome** that visibly keeps the beat.
11
-
12
- ## How It Works
13
-
14
- A single tempo grid — `PULSE` seconds per sub-beat, `BEATS = [t0, t1, t2, …]` on that grid — is the rhythmic spine; every phrase entrance, accent, and chrome tick reads its time from it, so the piece locks to one pulse instead of drifting hand-tuned offsets. Each phrase gets a different transform axis (scale+blur slam / side snap / rise+rotate) with short attacks (0.35–0.6s on the hit), then the stack holds with a finite low-amplitude breath.
15
-
16
- ## Recipe
17
-
18
- ```html
19
- <!-- inside a standard scene clip (hyperframes-core) -->
20
- <div class="kbs-stage">
21
- <div class="kbs-line" id="p1"><span class="verb">Notice</span> more.</div>
22
- <div class="kbs-line" id="p2"><span class="verb">Decide</span> faster.</div>
23
- <div class="kbs-line" id="p3"><span class="verb">Act</span> now.</div>
24
- </div>
25
- <!-- optional rhythm chrome -->
26
- <div class="kbs-metronome" aria-hidden="true"><i></i><i></i><i></i><i></i><i></i></div>
27
- ```
28
-
29
- ```css
30
- .kbs-stage {
31
- position: absolute;
32
- inset: 0;
33
- display: flex;
34
- flex-direction: column;
35
- justify-content: center;
36
- padding: 120px 160px; /* title-safe margin */
37
- }
38
- .kbs-line {
39
- font-family: "Archivo Black", "League Gothic", sans-serif; /* embedded display face */
40
- font-size: 150px;
41
- line-height: 0.96;
42
- letter-spacing: -0.03em;
43
- color: #f5f5f5;
44
- }
45
- .kbs-line .verb {
46
- color: #ff5b2e; /* exactly one accent hue */
47
- }
48
- .kbs-metronome {
49
- position: absolute;
50
- bottom: 64px;
51
- left: 50%;
52
- transform: translateX(-50%);
53
- display: flex;
54
- gap: 14px;
55
- }
56
- .kbs-metronome i {
57
- width: 6px;
58
- height: 28px;
59
- background: #ff5b2e;
60
- opacity: 0.25;
61
- }
62
- ```
63
-
64
- ```js
65
- // ONE tempo grid drives everything — phrases AND the metronome read it.
66
- const PULSE = 0.4; // seconds per sub-beat
67
- const BEATS = [PULSE * 1, PULSE * 5, PULSE * 9]; // phrase onsets, on the grid
68
-
69
- // Distinct entrances per phrase (NOT one reused helper).
70
- tl.fromTo(
71
- "#p1",
72
- { scale: 1.5, filter: "blur(16px)", opacity: 0 },
73
- { scale: 1, filter: "blur(0px)", opacity: 1, duration: 0.5, ease: "power4.out" },
74
- BEATS[0],
75
- );
76
- tl.fromTo(
77
- "#p2",
78
- { x: -320, opacity: 0 },
79
- { x: 0, opacity: 1, duration: 0.45, ease: "expo.out" },
80
- BEATS[1],
81
- );
82
- tl.fromTo(
83
- "#p3",
84
- { y: 90, rotation: 6, opacity: 0 },
85
- { y: 0, rotation: 0, opacity: 1, duration: 0.55, ease: "circ.out" },
86
- BEATS[2],
87
- );
88
-
89
- // Rhythm chrome: each tick flashes on the SAME grid, not a magic offset.
90
- gsap.utils.toArray(".kbs-metronome i").forEach((tick, i) => {
91
- tl.to(tick, { opacity: 1, duration: 0.08, yoyo: true, repeat: 1, ease: "none" }, PULSE * (i + 1));
92
- });
93
-
94
- // Finale hold: floor (not ceil) so the repeat never overshoots data-duration;
95
- // max(0,…) so a short hold never yields a negative repeat (GSAP reads negative as -1 = infinite).
96
- const holdStart = BEATS[2] + 0.7,
97
- cycle = 1.6,
98
- holdDur = SCENE_DURATION - holdStart;
99
- tl.to(
100
- ".kbs-stage",
101
- {
102
- scale: 1.01,
103
- duration: cycle / 2,
104
- ease: "sine.inOut",
105
- yoyo: true,
106
- repeat: Math.max(0, Math.floor(holdDur / cycle) - 1),
107
- },
108
- holdStart,
109
- );
110
- ```
111
-
112
- ## Variations
113
-
114
- - **Entrance easing by attack character** — `power4.out` hard slam ⭐ default hit · `expo.out` hardest snap (side-snaps, whip-ins) · `back.out(2)` overshoot pop (accents only, not body words) · `circ.out` heavy rise with momentum. Use **at least 3 distinct easings** across the piece.
115
- - **Rhythm chrome alternatives** — a center beat bar or a `// label` monospace tag pulsing on-beat instead of the 5-tick metronome; mark any decorative that must survive a shader transition per `../transitions/overview.md`.
116
- - **Finale dressing** — stack + accent underline sweep ([css-marker-patterns](css-marker-patterns.md)); don't just leave the last phrase sitting.
117
-
118
- ## Values
119
-
120
- | token | range | notes |
121
- | ----------------- | -------------------- | -------------------------------------------------------------------------------------------- |
122
- | BEATS spacing | 1.2–1.8s | <0.8s frantic, >2.5s loses the pulse; keep spacing even — it's a beat |
123
- | entrance duration | 0.35–0.6s | the hit must resolve before the next beat; exits ≤0.25s |
124
- | accent hue | exactly 1 | the verbs; the rest mono white / near-black |
125
- | display face | 150px+, heavy weight | Archivo Black / League Gothic / Oswald — see `hyperframes-creative/references/typography.md` |
126
-
127
- ## Critical Constraints
128
-
129
- - **One beat array, not scattered offsets** — every element times off `BEATS[]` / `PULSE`; this is the single biggest lever for "rhythmic".
130
- - **Different entrance per phrase** — a reused `punchIn()` for all lines is the flat-but-competent tell. Vary the motion axis, reuse the ease _family_.
131
- - **Finale repeat math**: `repeat: Math.max(0, Math.floor(dur / cycle) - 1)` — `Math.ceil` overshoots `data-duration` and trips the `gsap_repeat_ceil_overshoot` lint rule; a negative repeat is read by GSAP as `-1` (infinite).
132
- - **No banned exit animations between scenes** — in a montage the _transition_ is the exit (`../transitions/overview.md`); only a final scene may fade out.
133
- - **Display font must be embedded** or it silently falls back at render — Anton / Bebas-as-literal are NOT embedded (`Bebas Neue` aliases to League Gothic; verify in `typography.md`).
134
-
135
- ## See also
136
-
137
- `3d-text-depth-layers` (extruded depth on the slammed words) · `css-marker-patterns` (finale underline/circle) · `sine-wave-loop` (the finale breath) · `../adapters/gsap-easing-and-stagger.md` (easing vocabulary).