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,1432 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>Design your visual direction</title>
7
- <script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
8
- <style>
9
- * {
10
- margin: 0;
11
- padding: 0;
12
- box-sizing: border-box;
13
- }
14
- body {
15
- font-family:
16
- system-ui,
17
- -apple-system,
18
- sans-serif;
19
- background: #0e0e0e;
20
- color: #eee;
21
- height: 100vh;
22
- overflow: hidden;
23
- display: flex;
24
- flex-direction: column;
25
- font-size: 13px;
26
- line-height: 1.4;
27
- -webkit-font-smoothing: antialiased;
28
- }
29
-
30
- /* ── Phase bar ── */
31
- .phase-bar {
32
- display: flex;
33
- border-bottom: 1px solid #1a1a1a;
34
- padding: 0 20px;
35
- flex-shrink: 0;
36
- background: #111;
37
- }
38
- .phase-tab {
39
- padding: 12px 16px;
40
- font-size: 12px;
41
- font-weight: 600;
42
- color: #555;
43
- cursor: pointer;
44
- border-bottom: 2px solid transparent;
45
- transition: all 0.15s;
46
- letter-spacing: 0.02em;
47
- }
48
- .phase-tab.active {
49
- color: #fff;
50
- border-bottom-color: #fff;
51
- }
52
- .phase-tab.disabled {
53
- opacity: 0.25;
54
- pointer-events: none;
55
- }
56
-
57
- /* ── Phases ── */
58
- .phase {
59
- display: none;
60
- flex: 1;
61
- overflow: hidden;
62
- }
63
- .phase.active {
64
- display: flex;
65
- }
66
-
67
- /* ── Phase 1: Mood boards ── */
68
- .mood-grid {
69
- display: grid;
70
- grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
71
- gap: 16px;
72
- padding: 20px;
73
- overflow-y: auto;
74
- flex: 1;
75
- align-content: start;
76
- }
77
- .mood-card {
78
- border: 1px solid #1e1e1e;
79
- border-radius: 12px;
80
- overflow: hidden;
81
- cursor: pointer;
82
- transition:
83
- border-color 0.15s,
84
- transform 0.15s,
85
- box-shadow 0.15s;
86
- background: #141414;
87
- display: flex;
88
- flex-direction: column;
89
- }
90
- .mood-card:hover {
91
- border-color: #333;
92
- transform: translateY(-1px);
93
- box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
94
- }
95
- .mood-card.selected {
96
- border-color: #fff;
97
- }
98
- .mood-preview {
99
- height: 500px;
100
- overflow: hidden;
101
- position: relative;
102
- background: #0a0a0a;
103
- }
104
- .mood-preview > div {
105
- transform-origin: top left;
106
- }
107
- .mood-info {
108
- padding: 14px 16px;
109
- }
110
- .mood-name {
111
- font-size: 14px;
112
- font-weight: 600;
113
- margin-bottom: 3px;
114
- }
115
- .mood-desc {
116
- font-size: 11px;
117
- color: #666;
118
- line-height: 1.4;
119
- display: -webkit-box;
120
- -webkit-line-clamp: 2;
121
- -webkit-box-orient: vertical;
122
- overflow: hidden;
123
- }
124
- .mood-tokens {
125
- display: flex;
126
- gap: 4px;
127
- margin-top: 8px;
128
- flex-wrap: wrap;
129
- }
130
- .mood-token {
131
- font-size: 9px;
132
- color: #555;
133
- background: #1a1a1a;
134
- padding: 2px 7px;
135
- border-radius: 3px;
136
- letter-spacing: 0.02em;
137
- }
138
-
139
- .mood-header {
140
- padding: 20px 20px 0;
141
- flex-shrink: 0;
142
- }
143
- .mood-header h2 {
144
- font-size: 16px;
145
- font-weight: 600;
146
- margin-bottom: 2px;
147
- }
148
- .mood-header p {
149
- font-size: 12px;
150
- color: #555;
151
- }
152
- .mood-next {
153
- padding: 12px 20px;
154
- flex-shrink: 0;
155
- display: flex;
156
- justify-content: flex-end;
157
- }
158
- .mood-next-btn {
159
- background: #fff;
160
- color: #000;
161
- border: none;
162
- padding: 10px 24px;
163
- border-radius: 8px;
164
- font-size: 13px;
165
- font-weight: 600;
166
- cursor: pointer;
167
- opacity: 0;
168
- transform: translateY(8px);
169
- transition: all 0.2s;
170
- }
171
- .mood-next-btn.visible {
172
- opacity: 1;
173
- transform: translateY(0);
174
- }
175
- .mood-next-btn:hover {
176
- background: #ddd;
177
- }
178
-
179
- /* ── Phase 2: Fine-tune ── */
180
- .panel-left {
181
- width: 400px;
182
- min-width: 400px;
183
- height: 100%;
184
- overflow-y: auto;
185
- border-right: 1px solid #1a1a1a;
186
- padding: 0 0 100px;
187
- background: #111;
188
- }
189
- .panel-right {
190
- flex: 1;
191
- height: 100%;
192
- overflow-y: auto;
193
- overflow-x: hidden;
194
- background: #0e0e0e;
195
- }
196
- .panel-right * {
197
- max-width: 100%;
198
- box-sizing: border-box;
199
- }
200
-
201
- /* ── Section cards (Neuform-inspired) ── */
202
- .section-card {
203
- border-bottom: 1px solid #1a1a1a;
204
- }
205
- .section-header {
206
- display: flex;
207
- align-items: center;
208
- gap: 8px;
209
- padding: 14px 16px 6px;
210
- }
211
- .section-icon {
212
- width: 22px;
213
- height: 22px;
214
- border-radius: 5px;
215
- background: rgba(255, 255, 255, 0.04);
216
- display: flex;
217
- align-items: center;
218
- justify-content: center;
219
- color: #555;
220
- font-size: 11px;
221
- flex-shrink: 0;
222
- }
223
- .section-title {
224
- font-size: 11px;
225
- font-weight: 600;
226
- color: #fff;
227
- letter-spacing: 0.01em;
228
- }
229
- .section-meta {
230
- font-size: 10px;
231
- color: #444;
232
- margin-left: auto;
233
- }
234
- .section-body {
235
- padding: 6px 16px 16px;
236
- }
237
-
238
- /* ── Option cards ── */
239
- .opt {
240
- border: 1px solid #1e1e1e;
241
- border-radius: 10px;
242
- margin-bottom: 6px;
243
- cursor: pointer;
244
- transition: border-color 0.12s;
245
- overflow: hidden;
246
- background: #141414;
247
- position: relative;
248
- }
249
- .opt:hover {
250
- border-color: #333;
251
- }
252
- .opt.selected {
253
- border-color: #fff;
254
- }
255
- .opt-inner {
256
- padding: 12px 14px;
257
- }
258
- .opt-name {
259
- font-size: 12px;
260
- font-weight: 600;
261
- margin-bottom: 2px;
262
- }
263
- .opt-desc {
264
- font-size: 10px;
265
- color: #666;
266
- line-height: 1.4;
267
- }
268
- .opt-tag {
269
- font-size: 9px;
270
- color: #444;
271
- margin-top: 4px;
272
- text-transform: uppercase;
273
- letter-spacing: 0.04em;
274
- }
275
- .opt-rec {
276
- position: absolute;
277
- top: 8px;
278
- right: 10px;
279
- font-size: 8px;
280
- font-weight: 700;
281
- color: #4ade80;
282
- background: rgba(74, 222, 128, 0.08);
283
- padding: 2px 6px;
284
- border-radius: 3px;
285
- text-transform: uppercase;
286
- letter-spacing: 0.04em;
287
- }
288
-
289
- /* ── Palette option ── */
290
- .pal-strip {
291
- display: flex;
292
- height: 28px;
293
- border-radius: 6px;
294
- overflow: hidden;
295
- margin-bottom: 8px;
296
- }
297
- .pal-strip > div {
298
- flex: 1;
299
- }
300
- .pal-ramp {
301
- display: flex;
302
- gap: 2px;
303
- margin-top: 4px;
304
- }
305
- .pal-ramp-swatch {
306
- width: 100%;
307
- height: 6px;
308
- border-radius: 2px;
309
- }
310
-
311
- /* ── Type option (specimen) ── */
312
- .type-specimen {
313
- padding: 14px;
314
- border-bottom: 1px solid #1a1a1a;
315
- }
316
- .type-headline {
317
- line-height: 1.1;
318
- letter-spacing: -0.02em;
319
- margin-bottom: 6px;
320
- }
321
- .type-body {
322
- line-height: 1.5;
323
- color: #666;
324
- font-size: 11px;
325
- }
326
- .type-meta {
327
- padding: 10px 14px;
328
- display: flex;
329
- justify-content: space-between;
330
- align-items: center;
331
- }
332
- .type-families {
333
- font-size: 9px;
334
- color: #444;
335
- letter-spacing: 0.02em;
336
- }
337
- .type-letters {
338
- font-size: 9px;
339
- color: #333;
340
- letter-spacing: 0.08em;
341
- overflow: hidden;
342
- white-space: nowrap;
343
- text-overflow: ellipsis;
344
- max-width: 200px;
345
- }
346
-
347
- /* ── Chip options ── */
348
- .chips {
349
- display: flex;
350
- gap: 6px;
351
- flex-wrap: wrap;
352
- }
353
- .chip {
354
- border: 1px solid #1e1e1e;
355
- border-radius: 8px;
356
- padding: 8px 12px;
357
- cursor: pointer;
358
- transition: border-color 0.12s;
359
- display: flex;
360
- align-items: center;
361
- gap: 8px;
362
- background: #141414;
363
- }
364
- .chip:hover {
365
- border-color: #333;
366
- }
367
- .chip.selected {
368
- border-color: #fff;
369
- }
370
- .chip-label {
371
- font-size: 11px;
372
- font-weight: 500;
373
- }
374
- .chip-sub {
375
- font-size: 9px;
376
- color: #555;
377
- }
378
- .chip-preview {
379
- flex-shrink: 0;
380
- }
381
-
382
- .theme-chip {
383
- flex: 1;
384
- min-width: 90px;
385
- flex-direction: column;
386
- align-items: center;
387
- padding: 10px 12px;
388
- text-align: center;
389
- }
390
- .theme-swatch {
391
- width: 100%;
392
- height: 28px;
393
- border-radius: 4px;
394
- margin-bottom: 4px;
395
- border: 1px solid rgba(255, 255, 255, 0.06);
396
- }
397
- .corner-box {
398
- width: 22px;
399
- height: 22px;
400
- border: 2px solid #666;
401
- }
402
- .density-bars {
403
- display: flex;
404
- flex-direction: column;
405
- width: 24px;
406
- }
407
- .density-bar {
408
- background: #666;
409
- height: 3px;
410
- border-radius: 1px;
411
- }
412
- .depth-square {
413
- width: 22px;
414
- height: 22px;
415
- background: #2a2a2a;
416
- border-radius: 3px;
417
- }
418
-
419
- /* ── Easing option ── */
420
- .ease-opt {
421
- border: 1px solid #1e1e1e;
422
- border-radius: 10px;
423
- margin-bottom: 6px;
424
- cursor: pointer;
425
- transition: border-color 0.12s;
426
- overflow: hidden;
427
- background: #141414;
428
- padding: 10px 14px;
429
- }
430
- .ease-opt:hover {
431
- border-color: #333;
432
- }
433
- .ease-opt.selected {
434
- border-color: #fff;
435
- }
436
- .ease-track {
437
- position: relative;
438
- height: 8px;
439
- background: #1a1a1a;
440
- border-radius: 4px;
441
- margin-bottom: 8px;
442
- overflow: visible;
443
- }
444
- .ease-dot {
445
- position: absolute;
446
- top: 50%;
447
- transform: translateY(-50%);
448
- left: 0;
449
- width: 12px;
450
- height: 12px;
451
- border-radius: 50%;
452
- background: #fff;
453
- }
454
- .ease-label {
455
- display: flex;
456
- justify-content: space-between;
457
- align-items: center;
458
- }
459
- .ease-name {
460
- font-size: 11px;
461
- font-weight: 600;
462
- }
463
- .ease-value {
464
- font-size: 9px;
465
- color: #444;
466
- font-family: "SF Mono", Consolas, monospace;
467
- letter-spacing: 0.02em;
468
- }
469
-
470
- .preview-empty {
471
- display: flex;
472
- align-items: center;
473
- justify-content: center;
474
- height: 100%;
475
- color: #2a2a2a;
476
- font-size: 13px;
477
- }
478
-
479
- /* ── FAB + Overlay ── */
480
- .fab {
481
- position: fixed;
482
- bottom: 20px;
483
- right: 32px;
484
- transform: translateY(60px);
485
- opacity: 0;
486
- background: #fff;
487
- color: #000;
488
- border: none;
489
- padding: 12px 24px;
490
- border-radius: 10px;
491
- font-size: 13px;
492
- font-weight: 600;
493
- cursor: pointer;
494
- box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
495
- transition:
496
- transform 0.25s ease,
497
- opacity 0.25s ease;
498
- z-index: 100;
499
- }
500
- .fab.visible {
501
- transform: translateY(0);
502
- opacity: 1;
503
- }
504
- .fab:hover {
505
- background: #ddd;
506
- }
507
-
508
- .md-overlay {
509
- position: fixed;
510
- inset: 0;
511
- background: rgba(0, 0, 0, 0.85);
512
- backdrop-filter: blur(8px);
513
- z-index: 200;
514
- display: none;
515
- align-items: center;
516
- justify-content: center;
517
- }
518
- .md-overlay.visible {
519
- display: flex;
520
- }
521
- .md-card {
522
- background: #161616;
523
- border: 1px solid #2a2a2a;
524
- border-radius: 14px;
525
- max-width: 600px;
526
- width: 90%;
527
- max-height: 80vh;
528
- display: flex;
529
- flex-direction: column;
530
- }
531
- .md-header {
532
- padding: 16px 20px;
533
- border-bottom: 1px solid #1e1e1e;
534
- display: flex;
535
- justify-content: space-between;
536
- align-items: center;
537
- }
538
- .md-title {
539
- font-size: 14px;
540
- font-weight: 600;
541
- }
542
- .md-actions {
543
- display: flex;
544
- gap: 6px;
545
- }
546
- .copy-btn {
547
- background: #fff;
548
- color: #000;
549
- border: none;
550
- padding: 7px 16px;
551
- border-radius: 6px;
552
- font-size: 12px;
553
- font-weight: 600;
554
- cursor: pointer;
555
- }
556
- .copy-btn:hover {
557
- background: #ddd;
558
- }
559
- .close-btn {
560
- background: transparent;
561
- color: #666;
562
- border: 1px solid #2a2a2a;
563
- padding: 7px 14px;
564
- border-radius: 6px;
565
- font-size: 12px;
566
- cursor: pointer;
567
- }
568
- .close-btn:hover {
569
- color: #fff;
570
- border-color: #444;
571
- }
572
- .md-body {
573
- padding: 20px;
574
- overflow-y: auto;
575
- flex: 1;
576
- }
577
- .md-editor {
578
- font-family: "SF Mono", Consolas, monospace;
579
- font-size: 12px;
580
- line-height: 1.6;
581
- color: #aaa;
582
- background: transparent;
583
- border: none;
584
- width: 100%;
585
- min-height: 360px;
586
- resize: vertical;
587
- outline: none;
588
- white-space: pre-wrap;
589
- }
590
-
591
- /* ── Phase 1 palette bar ── */
592
- .pal-bar {
593
- display: flex;
594
- gap: 8px;
595
- padding: 12px 20px 0;
596
- flex-shrink: 0;
597
- flex-wrap: wrap;
598
- align-items: center;
599
- }
600
- .pal-bar-label {
601
- font-size: 10px;
602
- color: #444;
603
- letter-spacing: 0.03em;
604
- text-transform: uppercase;
605
- margin-right: 4px;
606
- }
607
- .pal-bar-chip {
608
- display: flex;
609
- align-items: center;
610
- gap: 6px;
611
- padding: 5px 10px;
612
- border: 1px solid #1e1e1e;
613
- border-radius: 6px;
614
- cursor: pointer;
615
- transition: border-color 0.12s;
616
- background: #141414;
617
- }
618
- .pal-bar-chip:hover {
619
- border-color: #333;
620
- }
621
- .pal-bar-chip.active {
622
- border-color: #fff;
623
- }
624
- .pal-bar-chip-swatches {
625
- display: flex;
626
- gap: 2px;
627
- }
628
- .pal-bar-chip-swatch {
629
- width: 14px;
630
- height: 14px;
631
- border-radius: 3px;
632
- }
633
- .pal-bar-chip-name {
634
- font-size: 10px;
635
- font-weight: 500;
636
- color: #888;
637
- }
638
- </style>
639
- </head>
640
- <body>
641
- <div class="phase-bar">
642
- <div class="phase-tab active" id="tab-mood" onclick="showPhase('mood')">1. Direction</div>
643
- <div class="phase-tab disabled" id="tab-tune" onclick="showPhase('tune')">2. Fine-tune</div>
644
- </div>
645
-
646
- <!-- Phase 1: Mood boards -->
647
- <div class="phase active" id="phase-mood" style="flex-direction: column">
648
- <div class="mood-header">
649
- <h2 id="mood-title">Pick a direction</h2>
650
- <p id="mood-subtitle">
651
- Each option is a complete visual identity. Pick one, then fine-tune.
652
- </p>
653
- </div>
654
- <div class="pal-bar" id="pal-bar"><span class="pal-bar-label">Palette</span></div>
655
- <div class="mood-grid" id="mood-grid"></div>
656
- <div class="mood-next">
657
- <button class="mood-next-btn" id="mood-next-btn" onclick="goToTune()">
658
- Customize this direction →
659
- </button>
660
- </div>
661
- </div>
662
-
663
- <!-- Phase 2: Fine-tune -->
664
- <div class="phase" id="phase-tune" style="flex-direction: row">
665
- <div class="panel-left">
666
- <!-- Theme -->
667
- <div class="section-card">
668
- <div class="section-header">
669
- <div class="section-icon">◐</div>
670
- <div class="section-title">Theme</div>
671
- </div>
672
- <div class="section-body"><div class="chips" id="theme-options"></div></div>
673
- </div>
674
- <!-- Structure -->
675
- <div class="section-card">
676
- <div class="section-header">
677
- <div class="section-icon">▦</div>
678
- <div class="section-title">Structure</div>
679
- <div class="section-meta" id="arch-meta"></div>
680
- </div>
681
- <div class="section-body" id="arch-options"></div>
682
- </div>
683
- <!-- Palette -->
684
- <div class="section-card">
685
- <div class="section-header">
686
- <div class="section-icon">◉</div>
687
- <div class="section-title">Color</div>
688
- </div>
689
- <div class="section-body" id="pal-options"></div>
690
- </div>
691
- <!-- Typography -->
692
- <div class="section-card">
693
- <div class="section-header">
694
- <div class="section-icon">Aa</div>
695
- <div class="section-title">Typography</div>
696
- </div>
697
- <div class="section-body" id="type-options"></div>
698
- </div>
699
- <!-- Corners -->
700
- <div class="section-card">
701
- <div class="section-header">
702
- <div class="section-icon">⬔</div>
703
- <div class="section-title">Corners</div>
704
- </div>
705
- <div class="section-body"><div class="chips" id="corner-options"></div></div>
706
- </div>
707
- <!-- Density -->
708
- <div class="section-card">
709
- <div class="section-header">
710
- <div class="section-icon">≡</div>
711
- <div class="section-title">Density</div>
712
- </div>
713
- <div class="section-body"><div class="chips" id="density-options"></div></div>
714
- </div>
715
- <!-- Depth -->
716
- <div class="section-card">
717
- <div class="section-header">
718
- <div class="section-icon">◧</div>
719
- <div class="section-title">Depth</div>
720
- </div>
721
- <div class="section-body"><div class="chips" id="depth-options"></div></div>
722
- </div>
723
- <!-- Motion / Easing -->
724
- <div class="section-card">
725
- <div class="section-header">
726
- <div class="section-icon">⟿</div>
727
- <div class="section-title">Motion</div>
728
- <div class="section-meta">entry easing</div>
729
- </div>
730
- <div class="section-body" id="ease-options"></div>
731
- </div>
732
- </div>
733
- <div class="panel-right" id="preview">
734
- <div class="preview-empty">Pick a structure to preview</div>
735
- </div>
736
- </div>
737
-
738
- <button class="fab" id="fab" onclick="showOutput()">Create design.md</button>
739
-
740
- <div class="md-overlay" id="md-overlay">
741
- <div class="md-card">
742
- <div class="md-header">
743
- <div class="md-title">
744
- design.md
745
- <span style="font-size: 11px; font-weight: 400; color: #555">— edit, then copy</span>
746
- </div>
747
- <div class="md-actions">
748
- <button class="copy-btn" id="copy-btn">Copy</button>
749
- <button
750
- class="close-btn"
751
- onclick="document.getElementById('md-overlay').classList.remove('visible')"
752
- >
753
- Close
754
- </button>
755
- </div>
756
- </div>
757
- <div class="md-body">
758
- <textarea class="md-editor" id="md-output" spellcheck="false"></textarea>
759
- </div>
760
- </div>
761
- </div>
762
-
763
- <script>
764
- var ARCHITECTURES = __ARCHITECTURES_JSON__;
765
- var PALETTES = __PALETTES_JSON__;
766
- var TYPEPAIRS = __TYPEPAIRS_JSON__;
767
- var MOODBOARDS = __MOODBOARDS_JSON__;
768
- var PROMPT = __PROMPT_JSON__;
769
- var picks = {
770
- theme: null,
771
- arch: null,
772
- palette: null,
773
- type: null,
774
- corners: null,
775
- density: null,
776
- depth: null,
777
- easing: null,
778
- };
779
-
780
- var EASINGS = [
781
- { name: "Confident", value: "power3.out", desc: "Fast start, smooth deceleration" },
782
- { name: "Snappy", value: "expo.out", desc: "Very fast start, crisp stop" },
783
- { name: "Gentle", value: "sine.inOut", desc: "Soft acceleration and deceleration" },
784
- { name: "Bouncy", value: "back.out(1.4)", desc: "Overshoots then settles" },
785
- { name: "Elastic", value: "elastic.out(1, 0.5)", desc: "Springs past target and wobbles" },
786
- { name: "Sharp", value: "power4.out", desc: "Aggressive start, hard stop" },
787
- ];
788
-
789
- var THEMES = [
790
- { name: "Dark", id: "dark", bg: "#0e0e0e", fg: "#eee", desc: "Light on dark" },
791
- { name: "Light", id: "light", bg: "#f5f3ef", fg: "#1a1a1a", desc: "Dark on light" },
792
- { name: "Palette", id: "palette", bg: null, fg: null, desc: "Use palette colors" },
793
- ];
794
- var CORNERS = [
795
- { name: "Sharp", value: "0px" },
796
- { name: "Slight", value: "4px" },
797
- { name: "Rounded", value: "12px" },
798
- ];
799
- var DENSITIES = [
800
- { name: "Tight", padding: "8-12px", gap: "8-12px", desc: "Compact" },
801
- { name: "Normal", padding: "16-24px", gap: "16-20px", desc: "Balanced" },
802
- { name: "Generous", padding: "32-48px", gap: "28-40px", desc: "Spacious" },
803
- ];
804
- var DEPTHS = [
805
- { name: "Flat", desc: "No shadows" },
806
- { name: "Subtle", desc: "Faint shadows" },
807
- { name: "Layered", desc: "Glows + depth" },
808
- ];
809
-
810
- // Load fonts
811
- var fams = [];
812
- TYPEPAIRS.forEach(function (tp) {
813
- fams.push(tp.headline.family.replace(/ /g, "+") + ":wght@" + tp.headline.weight);
814
- fams.push(tp.body.family.replace(/ /g, "+") + ":wght@" + tp.body.weight);
815
- });
816
- var lnk = document.createElement("link");
817
- lnk.rel = "stylesheet";
818
- lnk.href =
819
- "https://fonts.googleapis.com/css2?family=" + fams.join("&family=") + "&display=swap";
820
- document.head.appendChild(lnk);
821
-
822
- function al(hex, o) {
823
- if (!hex || typeof hex !== "string" || hex[0] !== "#") return "rgba(128,128,128," + o + ")";
824
- if (hex.length === 4) hex = "#" + hex[1] + hex[1] + hex[2] + hex[2] + hex[3] + hex[3];
825
- var r = parseInt(hex.slice(1, 3), 16),
826
- g = parseInt(hex.slice(3, 5), 16),
827
- b = parseInt(hex.slice(5, 7), 16);
828
- if (isNaN(r)) r = 128;
829
- if (isNaN(g)) g = 128;
830
- if (isNaN(b)) b = 128;
831
- return "rgba(" + r + "," + g + "," + b + "," + o + ")";
832
- }
833
-
834
- // Prompt-aware UI
835
- if (PROMPT && PROMPT.title)
836
- document.getElementById("mood-title").textContent = "Pick a direction for: " + PROMPT.title;
837
-
838
- // ── Phase 1: Mood boards + Palette bar ──
839
- var moodGrid = document.getElementById("mood-grid");
840
- var selectedMood = null;
841
- var overridePalette = null;
842
-
843
- // Build palette bar
844
- var palBar = document.getElementById("pal-bar");
845
- PALETTES.forEach(function (p, i) {
846
- var chip = document.createElement("div");
847
- chip.className = "pal-bar-chip" + (i === 0 ? "" : "");
848
- chip.innerHTML =
849
- '<div class="pal-bar-chip-swatches"><div class="pal-bar-chip-swatch" style="background:' +
850
- p.background +
851
- ';border:1px solid rgba(255,255,255,0.08);"></div><div class="pal-bar-chip-swatch" style="background:' +
852
- p.accent +
853
- ';"></div><div class="pal-bar-chip-swatch" style="background:' +
854
- p.foreground +
855
- ';border:1px solid rgba(255,255,255,0.08);"></div></div><span class="pal-bar-chip-name">' +
856
- p.name +
857
- "</span>";
858
- chip.onclick = function () {
859
- palBar.querySelectorAll(".pal-bar-chip").forEach(function (c) {
860
- c.classList.remove("active");
861
- });
862
- if (overridePalette === i) {
863
- overridePalette = null;
864
- } else {
865
- chip.classList.add("active");
866
- overridePalette = i;
867
- }
868
- renderMoodBoards();
869
- };
870
- palBar.appendChild(chip);
871
- });
872
-
873
- function renderMoodBoards() {
874
- var prevSelected = selectedMood;
875
- moodGrid.innerHTML = "";
876
- MOODBOARDS.forEach(function (mb, i) {
877
- var card = document.createElement("div");
878
- card.className = "mood-card" + (i === prevSelected ? " selected" : "");
879
- var tp = TYPEPAIRS[mb.type_index || 0],
880
- arch = ARCHITECTURES[mb.arch_index || 0];
881
- var pal =
882
- overridePalette !== null ? PALETTES[overridePalette] : PALETTES[mb.palette_index || 0];
883
- var thId = mb.theme || "dark",
884
- th =
885
- THEMES.find(function (t) {
886
- return t.id === thId;
887
- }) || THEMES[0];
888
- var bg = thId === "palette" ? pal.background : th.bg,
889
- fg = thId === "palette" ? pal.foreground : th.fg;
890
- var tokens = {
891
- "{{bg}}": bg,
892
- "{{fg}}": fg,
893
- "{{ac}}": pal.accent,
894
- "{{mt}}": pal.muted || pal.mid || al(fg, 0.4),
895
- "{{hf}}": tp.headline.family,
896
- "{{hw}}": tp.headline.weight,
897
- "{{bf}}": tp.body.family,
898
- "{{bw}}": tp.body.weight,
899
- "{{cr}}": mb.corners || "4px",
900
- "{{pad}}": mb.padding || "20px",
901
- "{{gap}}": mb.gap || "16px",
902
- "{{shadow}}": mb.shadow || "none",
903
- "{{sf}}": al(fg, 0.06),
904
- "{{g}}": al(fg, 0.06),
905
- "{{fg3}}": al(fg, 0.03),
906
- "{{fg6}}": al(fg, 0.06),
907
- "{{fg8}}": al(fg, 0.08),
908
- "{{fg15}}": al(fg, 0.15),
909
- "{{ac3}}": al(pal.accent, 0.03),
910
- "{{ac5}}": al(pal.accent, 0.05),
911
- "{{ac25}}": al(pal.accent, 0.25),
912
- "{{prompt_headline}}": (PROMPT && PROMPT.headline) || "Your Headline",
913
- "{{prompt_sub}}": (PROMPT && PROMPT.subline) || "A subline for your product.",
914
- };
915
- var preview = arch.preview_html || "";
916
- Object.keys(tokens).forEach(function (k) {
917
- preview = preview.split(k).join(tokens[k]);
918
- });
919
- var tagHtml = [tp.headline.family, pal.name, CORNERS[mb.corners_index || 1].name]
920
- .map(function (t) {
921
- return '<span class="mood-token">' + t + "</span>";
922
- })
923
- .join("");
924
- card.innerHTML =
925
- '<div class="mood-preview"><div style="transform:scale(0.38);transform-origin:top left;width:263.16%;min-height:263.16%;">' +
926
- preview +
927
- '</div></div><div class="mood-info"><div class="mood-name">' +
928
- mb.name +
929
- '</div><div class="mood-desc">' +
930
- mb.description +
931
- '</div><div class="mood-tokens">' +
932
- tagHtml +
933
- "</div></div>";
934
- card.onclick = function () {
935
- moodGrid.querySelectorAll(".mood-card").forEach(function (c) {
936
- c.classList.remove("selected");
937
- });
938
- card.classList.add("selected");
939
- selectedMood = i;
940
- document.getElementById("mood-next-btn").classList.add("visible");
941
- };
942
- moodGrid.appendChild(card);
943
- });
944
- }
945
- renderMoodBoards();
946
-
947
- var currentPhase = "mood";
948
- function showPhase(name) {
949
- currentPhase = name;
950
- document.querySelectorAll(".phase").forEach(function (p) {
951
- p.classList.remove("active");
952
- });
953
- document.querySelectorAll(".phase-tab").forEach(function (t) {
954
- t.classList.remove("active");
955
- });
956
- document.getElementById("phase-" + name).classList.add("active");
957
- document.getElementById("tab-" + name).classList.add("active");
958
- if (name === "mood") document.getElementById("fab").classList.remove("visible");
959
- else checkReady();
960
- }
961
-
962
- function goToTune() {
963
- if (selectedMood === null) return;
964
- var mb = MOODBOARDS[selectedMood];
965
- var thIdx = THEMES.findIndex(function (t) {
966
- return t.id === (mb.theme || "dark");
967
- });
968
- if (thIdx >= 0) chipSel("theme", thIdx, document.getElementById("theme-options"));
969
- if (mb.arch_index != null)
970
- sel("arch", mb.arch_index, document.getElementById("arch-options"));
971
- var palIdx = overridePalette !== null ? overridePalette : mb.palette_index;
972
- if (palIdx != null) sel("palette", palIdx, document.getElementById("pal-options"));
973
- if (mb.type_index != null)
974
- sel("type", mb.type_index, document.getElementById("type-options"));
975
- if (mb.corners_index != null)
976
- chipSel("corners", mb.corners_index, document.getElementById("corner-options"));
977
- if (mb.density_index != null)
978
- chipSel("density", mb.density_index, document.getElementById("density-options"));
979
- if (mb.depth_index != null)
980
- chipSel("depth", mb.depth_index, document.getElementById("depth-options"));
981
- var eIdx = mb.easing_index != null ? mb.easing_index : 0;
982
- var eOpts = document.getElementById("ease-options");
983
- eOpts.querySelectorAll(".ease-opt").forEach(function (c) {
984
- c.classList.remove("selected");
985
- });
986
- eOpts.children[eIdx].classList.add("selected");
987
- picks.easing = eIdx;
988
- document.getElementById("tab-tune").classList.remove("disabled");
989
- showPhase("tune");
990
- }
991
-
992
- // ── Phase 2: Build options ──
993
-
994
- // Architecture cards
995
- var archOpts = document.getElementById("arch-options");
996
- ARCHITECTURES.forEach(function (a, i) {
997
- var el = document.createElement("div");
998
- el.className = "opt";
999
- el.innerHTML =
1000
- '<div class="opt-inner"><div class="opt-name">' +
1001
- a.name +
1002
- '</div><div class="opt-desc">' +
1003
- a.description +
1004
- '</div><div class="opt-tag">' +
1005
- a.tag +
1006
- "</div></div>";
1007
- el.onclick = function () {
1008
- sel("arch", i, archOpts);
1009
- };
1010
- archOpts.appendChild(el);
1011
- });
1012
-
1013
- // Palette cards with ramp
1014
- var palOpts = document.getElementById("pal-options");
1015
- PALETTES.forEach(function (p, i) {
1016
- var el = document.createElement("div");
1017
- el.className = "opt";
1018
- el.innerHTML =
1019
- '<div class="opt-inner"><div class="pal-strip"><div style="background:' +
1020
- p.background +
1021
- ';"></div><div style="background:' +
1022
- (p.muted || p.mid || "#888") +
1023
- ';"></div><div style="background:' +
1024
- p.accent +
1025
- ';"></div><div style="background:' +
1026
- p.foreground +
1027
- ';"></div></div><div class="opt-name">' +
1028
- p.name +
1029
- '</div><div class="opt-desc">' +
1030
- p.description +
1031
- "</div></div>";
1032
- el.onclick = function () {
1033
- sel("palette", i, palOpts);
1034
- };
1035
- palOpts.appendChild(el);
1036
- });
1037
-
1038
- // Typography cards with specimen
1039
- var typeOpts = document.getElementById("type-options");
1040
- TYPEPAIRS.forEach(function (tp, i) {
1041
- var letters = "AaBbCcDdEeFfGgHh";
1042
- var el = document.createElement("div");
1043
- el.className = "opt";
1044
- el.innerHTML =
1045
- '<div class="type-specimen"><div class="type-headline" style="font-family:\'' +
1046
- tp.headline.family +
1047
- "',sans-serif;font-weight:" +
1048
- tp.headline.weight +
1049
- ';font-size:24px;">' +
1050
- tp.preview +
1051
- '</div><div class="type-body" style="font-family:\'' +
1052
- tp.body.family +
1053
- "',monospace;font-weight:" +
1054
- tp.body.weight +
1055
- ';">' +
1056
- tp.body_preview +
1057
- '</div></div><div class="type-meta"><div class="type-families">' +
1058
- tp.headline.family +
1059
- " " +
1060
- tp.headline.weight +
1061
- " · " +
1062
- tp.body.family +
1063
- " " +
1064
- tp.body.weight +
1065
- '</div><div class="type-letters" style="font-family:\'' +
1066
- tp.headline.family +
1067
- "',sans-serif;font-weight:" +
1068
- tp.headline.weight +
1069
- ';">' +
1070
- letters +
1071
- "</div></div>";
1072
- el.onclick = function () {
1073
- sel("type", i, typeOpts);
1074
- };
1075
- typeOpts.appendChild(el);
1076
- });
1077
-
1078
- // Theme chips
1079
- var themeOpts = document.getElementById("theme-options");
1080
- THEMES.forEach(function (th, i) {
1081
- var el = document.createElement("div");
1082
- el.className = "chip theme-chip";
1083
- el.innerHTML =
1084
- '<div class="theme-swatch" style="background:' +
1085
- th.bg +
1086
- ';"></div><div class="chip-label">' +
1087
- th.name +
1088
- '</div><div class="chip-sub">' +
1089
- th.desc +
1090
- "</div>";
1091
- el.onclick = function () {
1092
- chipSel("theme", i, themeOpts);
1093
- };
1094
- themeOpts.appendChild(el);
1095
- });
1096
-
1097
- // Corner chips
1098
- var cornerOpts = document.getElementById("corner-options");
1099
- CORNERS.forEach(function (c, i) {
1100
- var el = document.createElement("div");
1101
- el.className = "chip";
1102
- el.innerHTML =
1103
- '<div class="chip-preview"><div class="corner-box" style="border-radius:' +
1104
- c.value +
1105
- ';"></div></div><div><div class="chip-label">' +
1106
- c.name +
1107
- '</div><div class="chip-sub">' +
1108
- c.value +
1109
- "</div></div>";
1110
- el.onclick = function () {
1111
- chipSel("corners", i, cornerOpts);
1112
- };
1113
- cornerOpts.appendChild(el);
1114
- });
1115
-
1116
- // Density chips
1117
- var densityOpts = document.getElementById("density-options");
1118
- DENSITIES.forEach(function (d, i) {
1119
- var gaps = [2, 4, 7][i];
1120
- var el = document.createElement("div");
1121
- el.className = "chip";
1122
- el.innerHTML =
1123
- '<div class="chip-preview"><div class="density-bars" style="gap:' +
1124
- gaps +
1125
- 'px;"><div class="density-bar"></div><div class="density-bar"></div><div class="density-bar"></div></div></div><div><div class="chip-label">' +
1126
- d.name +
1127
- '</div><div class="chip-sub">' +
1128
- d.desc +
1129
- "</div></div>";
1130
- el.onclick = function () {
1131
- chipSel("density", i, densityOpts);
1132
- };
1133
- densityOpts.appendChild(el);
1134
- });
1135
-
1136
- // Depth chips
1137
- var depthOpts = document.getElementById("depth-options");
1138
- DEPTHS.forEach(function (d, i) {
1139
- var shadow = [
1140
- "none",
1141
- "0 2px 8px rgba(255,255,255,0.04)",
1142
- "0 0 16px rgba(255,255,255,0.06)",
1143
- ][i];
1144
- var el = document.createElement("div");
1145
- el.className = "chip";
1146
- el.innerHTML =
1147
- '<div class="chip-preview"><div class="depth-square" style="box-shadow:' +
1148
- shadow +
1149
- ';"></div></div><div><div class="chip-label">' +
1150
- d.name +
1151
- '</div><div class="chip-sub">' +
1152
- d.desc +
1153
- "</div></div>";
1154
- el.onclick = function () {
1155
- chipSel("depth", i, depthOpts);
1156
- };
1157
- depthOpts.appendChild(el);
1158
- });
1159
-
1160
- // Easing options with GSAP animation
1161
- var easeOpts = document.getElementById("ease-options");
1162
- EASINGS.forEach(function (e, i) {
1163
- var el = document.createElement("div");
1164
- el.className = "ease-opt";
1165
- var dotId = "ease-dot-" + i;
1166
- el.innerHTML =
1167
- '<div class="ease-track"><div class="ease-dot" id="' +
1168
- dotId +
1169
- '"></div></div>' +
1170
- '<div class="ease-label"><div class="ease-name">' +
1171
- e.name +
1172
- '</div><div class="ease-value">' +
1173
- e.value +
1174
- "</div></div>";
1175
- el.onclick = function () {
1176
- easeOpts.querySelectorAll(".ease-opt").forEach(function (c) {
1177
- c.classList.remove("selected");
1178
- });
1179
- el.classList.add("selected");
1180
- picks.easing = i;
1181
- checkReady();
1182
- };
1183
- easeOpts.appendChild(el);
1184
- // Animate the dot with GSAP
1185
- gsap.to("#" + dotId, {
1186
- left: "calc(100% - 12px)",
1187
- duration: 1.2,
1188
- ease: e.value,
1189
- repeat: -1,
1190
- repeatDelay: 0.8,
1191
- yoyo: true,
1192
- });
1193
- });
1194
-
1195
- function chipSel(key, idx, container) {
1196
- container.querySelectorAll(".chip").forEach(function (c) {
1197
- c.classList.remove("selected");
1198
- });
1199
- container.children[idx].classList.add("selected");
1200
- picks[key] = idx;
1201
- checkReady();
1202
- renderPreview();
1203
- }
1204
- function sel(key, idx, container) {
1205
- container.querySelectorAll(".opt").forEach(function (c) {
1206
- c.classList.remove("selected");
1207
- });
1208
- container.children[idx].classList.add("selected");
1209
- picks[key] = idx;
1210
- checkReady();
1211
- renderPreview();
1212
- }
1213
-
1214
- function checkReady() {
1215
- var ready =
1216
- picks.theme !== null &&
1217
- picks.arch !== null &&
1218
- picks.palette !== null &&
1219
- picks.type !== null &&
1220
- picks.corners !== null &&
1221
- picks.density !== null &&
1222
- picks.depth !== null &&
1223
- picks.easing !== null;
1224
- document
1225
- .getElementById("fab")
1226
- .classList.toggle("visible", ready && currentPhase === "tune");
1227
- document.getElementById("md-overlay").classList.remove("visible");
1228
- }
1229
-
1230
- function renderPreview() {
1231
- var pv = document.getElementById("preview");
1232
- if (picks.arch === null) {
1233
- pv.innerHTML = '<div class="preview-empty">Pick a structure to preview</div>';
1234
- return;
1235
- }
1236
- var a = ARCHITECTURES[picks.arch];
1237
- var th = picks.theme !== null ? THEMES[picks.theme] : THEMES[0];
1238
- var p =
1239
- picks.palette !== null ? PALETTES[picks.palette] : { accent: "#888", muted: "#555" };
1240
- var t =
1241
- picks.type !== null
1242
- ? TYPEPAIRS[picks.type]
1243
- : {
1244
- headline: { family: "system-ui", weight: 600 },
1245
- body: { family: "system-ui", weight: 400 },
1246
- };
1247
- var cr = picks.corners !== null ? CORNERS[picks.corners].value : "0px";
1248
- var dn = picks.density !== null ? picks.density : 1;
1249
- var dp = picks.depth !== null ? picks.depth : 0;
1250
- var bg, fg;
1251
- if (th.id === "palette" && p.background) {
1252
- bg = p.background;
1253
- fg = p.foreground;
1254
- } else {
1255
- bg = th.bg;
1256
- fg = th.fg;
1257
- }
1258
- var ac = p.accent,
1259
- mt = p.muted || al(fg, 0.4);
1260
- var pad = [12, 20, 36][dn] + "px",
1261
- gap = [8, 16, 28][dn] + "px";
1262
- var isDark = bg && bg[0] === "#" ? parseInt(bg.slice(1, 3), 16) < 80 : true;
1263
- var shCol = isDark ? ac : fg;
1264
- var shadow = [
1265
- "none",
1266
- "0 2px 16px " + al(shCol, isDark ? 0.15 : 0.1),
1267
- "0 4px 32px " + al(shCol, isDark ? 0.3 : 0.18),
1268
- ][dp];
1269
- var tokens = {
1270
- "{{bg}}": bg,
1271
- "{{fg}}": fg,
1272
- "{{ac}}": ac,
1273
- "{{mt}}": mt,
1274
- "{{sf}}": al(fg, 0.06),
1275
- "{{hf}}": t.headline.family,
1276
- "{{hw}}": t.headline.weight,
1277
- "{{bf}}": t.body.family,
1278
- "{{bw}}": t.body.weight,
1279
- "{{cr}}": cr,
1280
- "{{pad}}": pad,
1281
- "{{gap}}": gap,
1282
- "{{shadow}}": shadow,
1283
- "{{g}}": al(fg, 0.06),
1284
- "{{fg3}}": al(fg, 0.03),
1285
- "{{fg6}}": al(fg, 0.06),
1286
- "{{fg8}}": al(fg, 0.08),
1287
- "{{fg15}}": al(fg, 0.15),
1288
- "{{ac3}}": al(ac, 0.03),
1289
- "{{ac5}}": al(ac, 0.05),
1290
- "{{ac25}}": al(ac, 0.25),
1291
- "{{prompt_headline}}": (PROMPT && PROMPT.headline) || "Your Headline",
1292
- "{{prompt_sub}}": (PROMPT && PROMPT.subline) || "Subline.",
1293
- };
1294
- var h =
1295
- a.preview_html ||
1296
- '<div style="background:' +
1297
- bg +
1298
- ";padding:40px;min-height:100%;display:flex;align-items:center;justify-content:center;color:" +
1299
- mt +
1300
- ';font-size:14px;">No preview</div>';
1301
- Object.keys(tokens).forEach(function (k) {
1302
- h = h.split(k).join(tokens[k]);
1303
- });
1304
- pv.innerHTML = h;
1305
- }
1306
-
1307
- // ── Output ──
1308
- function showOutput() {
1309
- if (
1310
- picks.theme === null ||
1311
- picks.arch === null ||
1312
- picks.palette === null ||
1313
- picks.type === null ||
1314
- picks.corners === null ||
1315
- picks.density === null ||
1316
- picks.depth === null
1317
- )
1318
- return;
1319
- var a = ARCHITECTURES[picks.arch],
1320
- p = PALETTES[picks.palette],
1321
- t = TYPEPAIRS[picks.type];
1322
- var th = THEMES[picks.theme],
1323
- cr = CORNERS[picks.corners],
1324
- dn = DENSITIES[picks.density],
1325
- dp = DEPTHS[picks.depth];
1326
- var bg = th.id === "palette" && p.background ? p.background : th.bg;
1327
- var fg = th.id === "palette" && p.foreground ? p.foreground : th.fg;
1328
- var ac = p.accent,
1329
- mt = p.muted || p.mid || "#888";
1330
- var padVal = { Tight: "8px", Normal: "16px", Generous: "32px" }[dn.name] || "16px";
1331
- var gapVal = { Tight: "8px", Normal: "16px", Generous: "28px" }[dn.name] || "16px";
1332
-
1333
- var md = "---\n";
1334
- md += "name: " + ((PROMPT && PROMPT.title) || "Untitled") + "\n";
1335
- md +=
1336
- 'colors:\n primary: "' +
1337
- bg +
1338
- '"\n on-primary: "' +
1339
- fg +
1340
- '"\n accent: "' +
1341
- ac +
1342
- '"\n muted: "' +
1343
- mt +
1344
- '"\n';
1345
- md +=
1346
- "typography:\n headline:\n fontFamily: " +
1347
- t.headline.family +
1348
- "\n fontSize: 3.5rem\n fontWeight: " +
1349
- t.headline.weight +
1350
- "\n letterSpacing: -0.03em\n";
1351
- md +=
1352
- " body:\n fontFamily: " +
1353
- t.body.family +
1354
- "\n fontSize: 1rem\n fontWeight: " +
1355
- t.body.weight +
1356
- "\n lineHeight: 1.5\n";
1357
- md += "rounded:\n md: " + cr.value + "\n";
1358
- md += "spacing:\n md: " + padVal + "\n lg: " + gapVal + "\n";
1359
- md += "---\n\n";
1360
- md += "## Overview\n\n" + a.mood + ". " + a.description + ". " + p.description + ".\n\n";
1361
- md +=
1362
- "## Colors\n\n- **Primary** (`" +
1363
- bg +
1364
- "`) — Canvas background\n- **On-Primary** (`" +
1365
- fg +
1366
- "`) — Text and content\n- **Accent** (`" +
1367
- ac +
1368
- "`) — CTAs, highlights\n- **Muted** (`" +
1369
- mt +
1370
- "`) — Secondary text\n\n";
1371
- md +=
1372
- "## Typography\n\n- **Headline** — " +
1373
- t.headline.family +
1374
- " at weight " +
1375
- t.headline.weight +
1376
- "\n- **Body** — " +
1377
- t.body.family +
1378
- " at weight " +
1379
- t.body.weight +
1380
- "\n\n";
1381
- md +=
1382
- "## Layout\n\n- Structure: " +
1383
- a.name +
1384
- " — " +
1385
- a.tag +
1386
- "\n- Density: " +
1387
- dn.name +
1388
- " (" +
1389
- dn.desc +
1390
- ")\n- Corners: " +
1391
- cr.name +
1392
- " (" +
1393
- cr.value +
1394
- ")\n\n";
1395
- md += "## Elevation\n\n" + dp.name + " — " + dp.desc + ".\n\n";
1396
- var easeObj = picks.easing !== null ? EASINGS[picks.easing] : null;
1397
- if (easeObj) {
1398
- md +=
1399
- "## Motion\n\n- **Entry easing:** `" +
1400
- easeObj.value +
1401
- "` — " +
1402
- easeObj.desc +
1403
- "\n- **Energy:** " +
1404
- easeObj.name +
1405
- "\n\n";
1406
- }
1407
- if (a.components) md += "## Components\n\n" + a.components + "\n\n";
1408
- md += "## Do's and Don'ts\n\n";
1409
- if (a.dos) {
1410
- md += a.dos + "\n";
1411
- } else {
1412
- md +=
1413
- "### Do's\n- Use accent color sparingly for maximum impact\n- Maintain consistent " +
1414
- cr.name.toLowerCase() +
1415
- " corners\n\n### Don'ts\n- Do not mix multiple accent colors\n- Do not use weights outside the headline/body pair\n";
1416
- }
1417
-
1418
- document.getElementById("md-output").value = md;
1419
- document.getElementById("md-overlay").classList.add("visible");
1420
- }
1421
-
1422
- document.getElementById("copy-btn").addEventListener("click", function () {
1423
- navigator.clipboard.writeText(document.getElementById("md-output").value).then(function () {
1424
- document.getElementById("copy-btn").textContent = "Copied!";
1425
- setTimeout(function () {
1426
- document.getElementById("copy-btn").textContent = "Copy";
1427
- }, 2000);
1428
- });
1429
- });
1430
- </script>
1431
- </body>
1432
- </html>