takomi 2.5.1 → 2.5.4

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 (661) hide show
  1. package/.pi/agents/worker.md +32 -32
  2. package/.pi/extensions/oauth-router/README.md +3 -3
  3. package/.pi/extensions/oauth-router/config.ts +34 -34
  4. package/.pi/extensions/oauth-router/report-ui.ts +205 -205
  5. package/.pi/extensions/oauth-router/scripts/vibe-verify.py +5 -5
  6. package/.pi/extensions/takomi-context-manager/diagnostics.ts +560 -560
  7. package/.pi/extensions/takomi-context-manager/policy-tools.ts +93 -93
  8. package/.pi/extensions/takomi-context-manager/skill-categories.d.ts +11 -11
  9. package/.pi/extensions/takomi-context-manager/skill-tools.ts +208 -208
  10. package/.pi/extensions/takomi-context-manager/tool-renderers.ts +112 -112
  11. package/.pi/extensions/takomi-runtime/gate-provenance.ts +24 -24
  12. package/.pi/extensions/takomi-runtime/model-routing-defaults.ts +262 -262
  13. package/.pi/extensions/takomi-runtime/tool-renderers.ts +234 -234
  14. package/.pi/extensions/takomi-runtime/workflow-catalog.ts +54 -54
  15. package/.pi/extensions/takomi-subagents/async-lifecycle.ts +401 -401
  16. package/.pi/extensions/takomi-subagents/detached-results.ts +940 -940
  17. package/.pi/extensions/takomi-subagents/native-render.ts +253 -250
  18. package/.pi/extensions/takomi-subagents/result-heartbeat.ts +55 -55
  19. package/.pi/extensions/takomi-subagents/subagent-ux.ts +162 -162
  20. package/.pi/extensions/takomi-subagents/tool-runner.ts +25 -0
  21. package/.pi/takomi-profile.json +54 -54
  22. package/README.md +1 -1
  23. package/assets/.agent/skills/embedded-captions/CATALOG.md +93 -93
  24. package/assets/.agent/skills/embedded-captions/SKILL.md +286 -286
  25. package/assets/.agent/skills/embedded-captions/assets/brand/CDPR-fankit-terms.txt +35 -35
  26. package/assets/.agent/skills/embedded-captions/assets/brand/cyberpunk-widths.json +115 -115
  27. package/assets/.agent/skills/embedded-captions/assets/fonts/char-widths.json +2211 -2211
  28. package/assets/.agent/skills/embedded-captions/assets/strokefonts/HersheyScript1.svg +241 -241
  29. package/assets/.agent/skills/embedded-captions/assets/strokefonts/HersheyScriptMed.svg +241 -241
  30. package/assets/.agent/skills/embedded-captions/dna/README.md +148 -148
  31. package/assets/.agent/skills/embedded-captions/dna/chrome.json +68 -68
  32. package/assets/.agent/skills/embedded-captions/dna/cream.json +69 -69
  33. package/assets/.agent/skills/embedded-captions/dna/documentary.json +62 -62
  34. package/assets/.agent/skills/embedded-captions/dna/editorial.json +70 -70
  35. package/assets/.agent/skills/embedded-captions/dna/glitch.json +82 -82
  36. package/assets/.agent/skills/embedded-captions/dna/ink.json +65 -65
  37. package/assets/.agent/skills/embedded-captions/dna/keynote.json +62 -62
  38. package/assets/.agent/skills/embedded-captions/dna/loud.json +75 -75
  39. package/assets/.agent/skills/embedded-captions/dna/neon.json +58 -58
  40. package/assets/.agent/skills/embedded-captions/dna/velocity.json +89 -89
  41. package/assets/.agent/skills/embedded-captions/modes/cinematic/README.md +48 -48
  42. package/assets/.agent/skills/embedded-captions/modes/cinematic/_archive/champion/spec.md +98 -98
  43. package/assets/.agent/skills/embedded-captions/modes/cinematic/_archive/champion/template.html +188 -188
  44. package/assets/.agent/skills/embedded-captions/modes/cinematic/_archive/memory-wall/spec.md +134 -134
  45. package/assets/.agent/skills/embedded-captions/modes/cinematic/_archive/memory-wall/template.html +179 -179
  46. package/assets/.agent/skills/embedded-captions/modes/cinematic/_archive/portrait-header/spec.md +81 -81
  47. package/assets/.agent/skills/embedded-captions/modes/cinematic/_archive/portrait-header/template.html +170 -170
  48. package/assets/.agent/skills/embedded-captions/modes/cinematic/cinematic-cream/spec.md +16 -16
  49. package/assets/.agent/skills/embedded-captions/modes/cinematic/cinematic-cream/template.html +226 -226
  50. package/assets/.agent/skills/embedded-captions/modes/cinematic/engine.html +355 -355
  51. package/assets/.agent/skills/embedded-captions/modes/standard/_anatomy.md +233 -233
  52. package/assets/.agent/skills/embedded-captions/modes/standard/_motion.md +192 -192
  53. package/assets/.agent/skills/embedded-captions/modes/standard/fonts/build-fonts-css.cjs +97 -97
  54. package/assets/.agent/skills/embedded-captions/references/aesthetic-principles.md +168 -168
  55. package/assets/.agent/skills/embedded-captions/references/anti-patterns.md +188 -188
  56. package/assets/.agent/skills/embedded-captions/references/bespoke-vs-presets.md +178 -178
  57. package/assets/.agent/skills/embedded-captions/references/caption-grouping.md +130 -130
  58. package/assets/.agent/skills/embedded-captions/references/composition-craft.md +522 -522
  59. package/assets/.agent/skills/embedded-captions/references/direction-catalog.md +138 -138
  60. package/assets/.agent/skills/embedded-captions/references/example-renders/champion.html +371 -371
  61. package/assets/.agent/skills/embedded-captions/references/example-renders/memory-wall.html +334 -334
  62. package/assets/.agent/skills/embedded-captions/references/failure-modes.md +145 -145
  63. package/assets/.agent/skills/embedded-captions/references/layout-heuristics.md +238 -238
  64. package/assets/.agent/skills/embedded-captions/references/motion-vocabulary.md +148 -148
  65. package/assets/.agent/skills/embedded-captions/references/rail.md +68 -68
  66. package/assets/.agent/skills/embedded-captions/references/reference-bar.md +47 -47
  67. package/assets/.agent/skills/embedded-captions/references/scene-types.md +94 -94
  68. package/assets/.agent/skills/embedded-captions/references/test-set.md +66 -66
  69. package/assets/.agent/skills/embedded-captions/references/typographic-moves.md +266 -266
  70. package/assets/.agent/skills/embedded-captions/references/typography-presets.md +63 -63
  71. package/assets/.agent/skills/embedded-captions/scripts/audio-envelope.cjs +95 -95
  72. package/assets/.agent/skills/embedded-captions/scripts/check-occlusion.cjs +250 -250
  73. package/assets/.agent/skills/embedded-captions/scripts/check-overflow.cjs +194 -194
  74. package/assets/.agent/skills/embedded-captions/scripts/check-rail-climax.cjs +233 -233
  75. package/assets/.agent/skills/embedded-captions/scripts/check-timing.cjs +173 -173
  76. package/assets/.agent/skills/embedded-captions/scripts/fill-timings.cjs +124 -124
  77. package/assets/.agent/skills/embedded-captions/scripts/fit-fonts.cjs +158 -158
  78. package/assets/.agent/skills/embedded-captions/scripts/gen-stroke-path.py +46 -46
  79. package/assets/.agent/skills/embedded-captions/scripts/inject-fonts.cjs +169 -169
  80. package/assets/.agent/skills/embedded-captions/scripts/lib-dna.cjs +201 -201
  81. package/assets/.agent/skills/embedded-captions/scripts/make-cinematic.cjs +1205 -1205
  82. package/assets/.agent/skills/embedded-captions/scripts/make-composition.cjs +404 -404
  83. package/assets/.agent/skills/embedded-captions/scripts/make-theme.cjs +8781 -8781
  84. package/assets/.agent/skills/embedded-captions/scripts/matte.cjs +279 -279
  85. package/assets/.agent/skills/embedded-captions/scripts/measure-layout.cjs +293 -293
  86. package/assets/.agent/skills/embedded-captions/scripts/prepare.sh +39 -39
  87. package/assets/.agent/skills/embedded-captions/scripts/preview-frames.cjs +268 -268
  88. package/assets/.agent/skills/embedded-captions/scripts/render-and-composite.sh +469 -469
  89. package/assets/.agent/skills/embedded-captions/scripts/render-theme.sh +34 -34
  90. package/assets/.agent/skills/embedded-captions/scripts/safe-zones.cjs +813 -813
  91. package/assets/.agent/skills/embedded-captions/scripts/transcribe.cjs +332 -332
  92. package/assets/.agent/skills/embedded-captions/themes/PORTING.md +49 -49
  93. package/assets/.agent/skills/embedded-captions/themes/README.md +244 -244
  94. package/assets/.agent/skills/embedded-captions/themes/anchor.json +27 -27
  95. package/assets/.agent/skills/embedded-captions/themes/arcade.json +51 -51
  96. package/assets/.agent/skills/embedded-captions/themes/aurora.json +41 -41
  97. package/assets/.agent/skills/embedded-captions/themes/biolume.json +35 -35
  98. package/assets/.agent/skills/embedded-captions/themes/brush.json +74 -74
  99. package/assets/.agent/skills/embedded-captions/themes/chalkboard.json +52 -52
  100. package/assets/.agent/skills/embedded-captions/themes/dossier.json +56 -56
  101. package/assets/.agent/skills/embedded-captions/themes/graffiti.json +62 -62
  102. package/assets/.agent/skills/embedded-captions/themes/hologram.json +41 -41
  103. package/assets/.agent/skills/embedded-captions/themes/inkwater.json +43 -43
  104. package/assets/.agent/skills/embedded-captions/themes/laser.json +46 -46
  105. package/assets/.agent/skills/embedded-captions/themes/lastpage.json +33 -33
  106. package/assets/.agent/skills/embedded-captions/themes/neonsign.json +53 -53
  107. package/assets/.agent/skills/embedded-captions/themes/nightcity.json +56 -56
  108. package/assets/.agent/skills/embedded-captions/themes/ordnance.json +54 -54
  109. package/assets/.agent/skills/embedded-captions/themes/papercut.json +37 -37
  110. package/assets/.agent/skills/embedded-captions/themes/popup.json +46 -46
  111. package/assets/.agent/skills/embedded-captions/themes/ransom.json +62 -62
  112. package/assets/.agent/skills/embedded-captions/themes/scoreboard.json +54 -54
  113. package/assets/.agent/skills/embedded-captions/themes/spectrum.json +46 -46
  114. package/assets/.agent/skills/embedded-captions/themes/stardust.json +29 -29
  115. package/assets/.agent/skills/embedded-captions/themes/stomp.json +43 -43
  116. package/assets/.agent/skills/embedded-captions/themes/terminal.json +49 -49
  117. package/assets/.agent/skills/embedded-captions/themes/thunder.json +44 -44
  118. package/assets/.agent/skills/embedded-captions/themes/transit.json +44 -44
  119. package/assets/.agent/skills/embedded-captions/themes/vhs.json +47 -47
  120. package/assets/.agent/skills/faceless-explainer/SKILL.md +209 -209
  121. package/assets/.agent/skills/faceless-explainer/references/cut-catalog.md +215 -215
  122. package/assets/.agent/skills/faceless-explainer/references/motion-language.md +156 -156
  123. package/assets/.agent/skills/faceless-explainer/references/story-design.md +248 -248
  124. package/assets/.agent/skills/faceless-explainer/references/visual-design.md +146 -146
  125. package/assets/.agent/skills/faceless-explainer/scripts/assemble-index.mjs +570 -570
  126. package/assets/.agent/skills/faceless-explainer/scripts/audio.mjs +253 -253
  127. package/assets/.agent/skills/faceless-explainer/scripts/build-frame.mjs +536 -536
  128. package/assets/.agent/skills/faceless-explainer/scripts/captions.mjs +508 -508
  129. package/assets/.agent/skills/faceless-explainer/scripts/lib/assets.mjs +55 -55
  130. package/assets/.agent/skills/faceless-explainer/scripts/lib/dimensions.mjs +45 -45
  131. package/assets/.agent/skills/faceless-explainer/scripts/lib/storyboard.mjs +249 -249
  132. package/assets/.agent/skills/faceless-explainer/scripts/lib/tokens.mjs +204 -204
  133. package/assets/.agent/skills/faceless-explainer/scripts/lib/transition-registry.mjs +38 -38
  134. package/assets/.agent/skills/faceless-explainer/scripts/lib/transitions.json +71 -71
  135. package/assets/.agent/skills/faceless-explainer/scripts/transitions.mjs +320 -320
  136. package/assets/.agent/skills/faceless-explainer/sub-agents/frame-worker.md +75 -75
  137. package/assets/.agent/skills/figma/SKILL.md +121 -121
  138. package/assets/.agent/skills/general-video/SKILL.md +143 -143
  139. package/assets/.agent/skills/hyperframes/SKILL.md +164 -164
  140. package/assets/.agent/skills/hyperframes-animation/SKILL.md +84 -84
  141. package/assets/.agent/skills/hyperframes-animation/adapters/animate-text.md +64 -64
  142. package/assets/.agent/skills/hyperframes-animation/adapters/animejs.md +114 -114
  143. package/assets/.agent/skills/hyperframes-animation/adapters/css-animations.md +143 -143
  144. package/assets/.agent/skills/hyperframes-animation/adapters/gsap-easing-and-stagger.md +118 -118
  145. package/assets/.agent/skills/hyperframes-animation/adapters/gsap-timeline-and-labels.md +96 -96
  146. package/assets/.agent/skills/hyperframes-animation/adapters/gsap-transforms-and-perf.md +96 -96
  147. package/assets/.agent/skills/hyperframes-animation/adapters/gsap.md +105 -105
  148. package/assets/.agent/skills/hyperframes-animation/adapters/html-in-canvas-patterns.md +507 -507
  149. package/assets/.agent/skills/hyperframes-animation/adapters/lottie.md +117 -117
  150. package/assets/.agent/skills/hyperframes-animation/adapters/three.md +131 -131
  151. package/assets/.agent/skills/hyperframes-animation/adapters/typegpu.md +178 -178
  152. package/assets/.agent/skills/hyperframes-animation/adapters/waapi.md +101 -101
  153. package/assets/.agent/skills/hyperframes-animation/blueprints/comparison-split.md +27 -27
  154. package/assets/.agent/skills/hyperframes-animation/blueprints/constellation-hub.md +44 -44
  155. package/assets/.agent/skills/hyperframes-animation/blueprints/cta-morph-press.md +28 -28
  156. package/assets/.agent/skills/hyperframes-animation/blueprints/cursor-ui-demo.md +57 -57
  157. package/assets/.agent/skills/hyperframes-animation/blueprints/dataviz-countup.md +46 -46
  158. package/assets/.agent/skills/hyperframes-animation/blueprints/device-surface-showcase.md +53 -53
  159. package/assets/.agent/skills/hyperframes-animation/blueprints/grid-card-assemble.md +66 -66
  160. package/assets/.agent/skills/hyperframes-animation/blueprints/kinetic-type-beats.md +78 -78
  161. package/assets/.agent/skills/hyperframes-animation/blueprints/logo-assemble-lockup.md +69 -69
  162. package/assets/.agent/skills/hyperframes-animation/blueprints/overwhelm-surround.md +28 -28
  163. package/assets/.agent/skills/hyperframes-animation/blueprints/spatial-pan-stations.md +37 -37
  164. package/assets/.agent/skills/hyperframes-animation/blueprints/ticker-takeover.md +29 -29
  165. package/assets/.agent/skills/hyperframes-animation/blueprints/titlecard-reveal.md +42 -42
  166. package/assets/.agent/skills/hyperframes-animation/blueprints/typewriter-reveal.md +51 -51
  167. package/assets/.agent/skills/hyperframes-animation/blueprints/video-text-pivot.md +30 -30
  168. package/assets/.agent/skills/hyperframes-animation/blueprints-index.md +146 -146
  169. package/assets/.agent/skills/hyperframes-animation/examples/brand-reveal-assemble-zoom.html +382 -382
  170. package/assets/.agent/skills/hyperframes-animation/examples/comparison-split-cards.html +649 -649
  171. package/assets/.agent/skills/hyperframes-animation/examples/concept-demo-decode-pan.html +520 -520
  172. package/assets/.agent/skills/hyperframes-animation/examples/cta-morph-press.html +468 -468
  173. package/assets/.agent/skills/hyperframes-animation/examples/cta-orbit-collapse.html +1298 -1298
  174. package/assets/.agent/skills/hyperframes-animation/examples/demo-page-scroll-spotlight.html +759 -759
  175. package/assets/.agent/skills/hyperframes-animation/examples/hook-counter-burst.html +729 -729
  176. package/assets/.agent/skills/hyperframes-animation/examples/messaging-multi-phrase.html +352 -352
  177. package/assets/.agent/skills/hyperframes-animation/examples/metric-video-text-pivot.html +779 -779
  178. package/assets/.agent/skills/hyperframes-animation/examples/problem-mockup-overwhelm.html +1374 -1374
  179. package/assets/.agent/skills/hyperframes-animation/examples/proof-logo-chain.html +861 -861
  180. package/assets/.agent/skills/hyperframes-animation/examples/takeover-ticker-displace.html +347 -347
  181. package/assets/.agent/skills/hyperframes-animation/examples/workflow-approve-press.html +606 -606
  182. package/assets/.agent/skills/hyperframes-animation/rules/3d-page-scroll.md +227 -227
  183. package/assets/.agent/skills/hyperframes-animation/rules/3d-text-depth-layers.md +297 -297
  184. package/assets/.agent/skills/hyperframes-animation/rules/ai-tracking-box.md +382 -382
  185. package/assets/.agent/skills/hyperframes-animation/rules/ambient-glow-bloom.md +305 -305
  186. package/assets/.agent/skills/hyperframes-animation/rules/asr-keyword-glow.md +286 -286
  187. package/assets/.agent/skills/hyperframes-animation/rules/avatar-cloud-network.md +371 -371
  188. package/assets/.agent/skills/hyperframes-animation/rules/camera-cursor-tracking.md +246 -246
  189. package/assets/.agent/skills/hyperframes-animation/rules/card-morph-anchor.md +267 -267
  190. package/assets/.agent/skills/hyperframes-animation/rules/center-outward-expansion.md +227 -227
  191. package/assets/.agent/skills/hyperframes-animation/rules/context-sensitive-cursor.md +257 -257
  192. package/assets/.agent/skills/hyperframes-animation/rules/coordinate-target-zoom.md +332 -332
  193. package/assets/.agent/skills/hyperframes-animation/rules/counting-dynamic-scale.md +283 -283
  194. package/assets/.agent/skills/hyperframes-animation/rules/css-marker-patterns.md +373 -373
  195. package/assets/.agent/skills/hyperframes-animation/rules/cursor-click-ripple.md +262 -262
  196. package/assets/.agent/skills/hyperframes-animation/rules/depth-of-field-blur.md +313 -313
  197. package/assets/.agent/skills/hyperframes-animation/rules/depth-scatter-assemble.md +303 -303
  198. package/assets/.agent/skills/hyperframes-animation/rules/discrete-text-sequence.md +273 -273
  199. package/assets/.agent/skills/hyperframes-animation/rules/dynamic-content-sequencing.md +307 -307
  200. package/assets/.agent/skills/hyperframes-animation/rules/gsap-effects.md +299 -299
  201. package/assets/.agent/skills/hyperframes-animation/rules/hacker-flip-3d.md +223 -223
  202. package/assets/.agent/skills/hyperframes-animation/rules/kinetic-beat-slam.md +183 -183
  203. package/assets/.agent/skills/hyperframes-animation/rules/motion-blur-streak.md +328 -328
  204. package/assets/.agent/skills/hyperframes-animation/rules/multi-phase-camera.md +273 -273
  205. package/assets/.agent/skills/hyperframes-animation/rules/orbit-3d-entry.md +301 -301
  206. package/assets/.agent/skills/hyperframes-animation/rules/physics-press-reaction.md +350 -350
  207. package/assets/.agent/skills/hyperframes-animation/rules/press-release-spring.md +296 -296
  208. package/assets/.agent/skills/hyperframes-animation/rules/reactive-displacement.md +277 -277
  209. package/assets/.agent/skills/hyperframes-animation/rules/scale-swap-transition.md +298 -298
  210. package/assets/.agent/skills/hyperframes-animation/rules/sine-wave-loop.md +278 -278
  211. package/assets/.agent/skills/hyperframes-animation/rules/split-tilt-cards.md +277 -277
  212. package/assets/.agent/skills/hyperframes-animation/rules/spring-pop-entrance.md +273 -273
  213. package/assets/.agent/skills/hyperframes-animation/rules/stat-bars-and-fills.md +156 -156
  214. package/assets/.agent/skills/hyperframes-animation/rules/svg-icon-enrichment.md +329 -329
  215. package/assets/.agent/skills/hyperframes-animation/rules/svg-path-draw.md +274 -274
  216. package/assets/.agent/skills/hyperframes-animation/rules/vertical-spring-ticker.md +239 -239
  217. package/assets/.agent/skills/hyperframes-animation/rules/viewport-change.md +349 -349
  218. package/assets/.agent/skills/hyperframes-animation/rules-index.md +86 -86
  219. package/assets/.agent/skills/hyperframes-animation/scripts/animation-map.mjs +606 -606
  220. package/assets/.agent/skills/hyperframes-animation/scripts/package-loader.mjs +288 -288
  221. package/assets/.agent/skills/hyperframes-animation/scripts/package-loader.test.mjs +62 -62
  222. package/assets/.agent/skills/hyperframes-animation/techniques.md +507 -507
  223. package/assets/.agent/skills/hyperframes-animation/transitions/TRANSITION-REGISTRY.md +167 -167
  224. package/assets/.agent/skills/hyperframes-animation/transitions/catalog.md +127 -127
  225. package/assets/.agent/skills/hyperframes-animation/transitions/css-3d.md +12 -12
  226. package/assets/.agent/skills/hyperframes-animation/transitions/css-blur.md +51 -51
  227. package/assets/.agent/skills/hyperframes-animation/transitions/css-cover.md +43 -43
  228. package/assets/.agent/skills/hyperframes-animation/transitions/css-destruction.md +95 -95
  229. package/assets/.agent/skills/hyperframes-animation/transitions/css-dissolve.md +66 -66
  230. package/assets/.agent/skills/hyperframes-animation/transitions/css-distortion.md +45 -45
  231. package/assets/.agent/skills/hyperframes-animation/transitions/css-grid.md +10 -10
  232. package/assets/.agent/skills/hyperframes-animation/transitions/css-light.md +49 -49
  233. package/assets/.agent/skills/hyperframes-animation/transitions/css-mechanical.md +30 -30
  234. package/assets/.agent/skills/hyperframes-animation/transitions/css-other.md +25 -25
  235. package/assets/.agent/skills/hyperframes-animation/transitions/css-push.md +41 -41
  236. package/assets/.agent/skills/hyperframes-animation/transitions/css-radial.md +37 -37
  237. package/assets/.agent/skills/hyperframes-animation/transitions/css-scale.md +24 -24
  238. package/assets/.agent/skills/hyperframes-animation/transitions/overview.md +153 -153
  239. package/assets/.agent/skills/hyperframes-cli/SKILL.md +113 -113
  240. package/assets/.agent/skills/hyperframes-cli/references/doctor-browser.md +45 -45
  241. package/assets/.agent/skills/hyperframes-cli/references/init-and-scaffold.md +51 -51
  242. package/assets/.agent/skills/hyperframes-cli/references/lambda.md +132 -132
  243. package/assets/.agent/skills/hyperframes-cli/references/lint-validate-inspect.md +121 -121
  244. package/assets/.agent/skills/hyperframes-cli/references/preview-render.md +164 -164
  245. package/assets/.agent/skills/hyperframes-cli/references/upgrade-info-misc.md +75 -75
  246. package/assets/.agent/skills/hyperframes-core/SKILL.md +78 -78
  247. package/assets/.agent/skills/hyperframes-core/references/composition-patterns.md +263 -263
  248. package/assets/.agent/skills/hyperframes-core/references/data-attributes.md +70 -70
  249. package/assets/.agent/skills/hyperframes-core/references/determinism-rules.md +68 -68
  250. package/assets/.agent/skills/hyperframes-core/references/full-screen-motion.md +62 -62
  251. package/assets/.agent/skills/hyperframes-core/references/minimal-composition.md +66 -66
  252. package/assets/.agent/skills/hyperframes-core/references/script-format.md +49 -49
  253. package/assets/.agent/skills/hyperframes-core/references/storyboard-format.md +95 -95
  254. package/assets/.agent/skills/hyperframes-core/references/sub-compositions.md +237 -237
  255. package/assets/.agent/skills/hyperframes-core/references/subagent-dispatch.md +41 -41
  256. package/assets/.agent/skills/hyperframes-core/references/tailwind.md +125 -125
  257. package/assets/.agent/skills/hyperframes-core/references/tracks-and-clips.md +76 -76
  258. package/assets/.agent/skills/hyperframes-core/references/variables-and-media.md +90 -90
  259. package/assets/.agent/skills/hyperframes-creative/SKILL.md +70 -70
  260. package/assets/.agent/skills/hyperframes-creative/frame-presets/biennale-yellow/FRAME.md +289 -289
  261. package/assets/.agent/skills/hyperframes-creative/frame-presets/biennale-yellow/caption-skin.html +221 -221
  262. package/assets/.agent/skills/hyperframes-creative/frame-presets/biennale-yellow/frame-showcase.html +1214 -1214
  263. package/assets/.agent/skills/hyperframes-creative/frame-presets/blockframe/FRAME.md +275 -275
  264. package/assets/.agent/skills/hyperframes-creative/frame-presets/blockframe/caption-skin.html +224 -224
  265. package/assets/.agent/skills/hyperframes-creative/frame-presets/blockframe/frame-showcase.html +1347 -1347
  266. package/assets/.agent/skills/hyperframes-creative/frame-presets/blue-professional/FRAME.md +307 -307
  267. package/assets/.agent/skills/hyperframes-creative/frame-presets/blue-professional/caption-skin.html +223 -223
  268. package/assets/.agent/skills/hyperframes-creative/frame-presets/blue-professional/frame-showcase.html +1372 -1372
  269. package/assets/.agent/skills/hyperframes-creative/frame-presets/bold-poster/FRAME.md +275 -275
  270. package/assets/.agent/skills/hyperframes-creative/frame-presets/bold-poster/caption-skin.html +230 -230
  271. package/assets/.agent/skills/hyperframes-creative/frame-presets/bold-poster/frame-showcase.html +1140 -1140
  272. package/assets/.agent/skills/hyperframes-creative/frame-presets/broadside/FRAME.md +284 -284
  273. package/assets/.agent/skills/hyperframes-creative/frame-presets/broadside/caption-skin.html +225 -225
  274. package/assets/.agent/skills/hyperframes-creative/frame-presets/broadside/frame-showcase.html +1166 -1166
  275. package/assets/.agent/skills/hyperframes-creative/frame-presets/capsule/FRAME.md +284 -284
  276. package/assets/.agent/skills/hyperframes-creative/frame-presets/capsule/caption-skin.html +224 -224
  277. package/assets/.agent/skills/hyperframes-creative/frame-presets/capsule/frame-showcase.html +1465 -1465
  278. package/assets/.agent/skills/hyperframes-creative/frame-presets/cartesian/FRAME.md +278 -278
  279. package/assets/.agent/skills/hyperframes-creative/frame-presets/cartesian/caption-skin.html +222 -222
  280. package/assets/.agent/skills/hyperframes-creative/frame-presets/cartesian/frame-showcase.html +1263 -1263
  281. package/assets/.agent/skills/hyperframes-creative/frame-presets/claude/FRAME.md +277 -277
  282. package/assets/.agent/skills/hyperframes-creative/frame-presets/claude/caption-skin.html +224 -224
  283. package/assets/.agent/skills/hyperframes-creative/frame-presets/claude/frame-showcase.html +1439 -1439
  284. package/assets/.agent/skills/hyperframes-creative/frame-presets/cobalt-grid/FRAME.md +265 -265
  285. package/assets/.agent/skills/hyperframes-creative/frame-presets/cobalt-grid/caption-skin.html +238 -238
  286. package/assets/.agent/skills/hyperframes-creative/frame-presets/cobalt-grid/frame-showcase.html +1468 -1468
  287. package/assets/.agent/skills/hyperframes-creative/frame-presets/coral/FRAME.md +314 -314
  288. package/assets/.agent/skills/hyperframes-creative/frame-presets/coral/caption-skin.html +226 -226
  289. package/assets/.agent/skills/hyperframes-creative/frame-presets/coral/frame-showcase.html +1268 -1268
  290. package/assets/.agent/skills/hyperframes-creative/frame-presets/creative-mode/FRAME.md +333 -333
  291. package/assets/.agent/skills/hyperframes-creative/frame-presets/creative-mode/caption-skin.html +227 -227
  292. package/assets/.agent/skills/hyperframes-creative/frame-presets/creative-mode/frame-showcase.html +1330 -1330
  293. package/assets/.agent/skills/hyperframes-creative/frame-presets/daisy-days/FRAME.md +274 -274
  294. package/assets/.agent/skills/hyperframes-creative/frame-presets/daisy-days/caption-skin.html +230 -230
  295. package/assets/.agent/skills/hyperframes-creative/frame-presets/daisy-days/frame-showcase.html +1444 -1444
  296. package/assets/.agent/skills/hyperframes-creative/frame-presets/editorial-forest/FRAME.md +265 -265
  297. package/assets/.agent/skills/hyperframes-creative/frame-presets/editorial-forest/caption-skin.html +223 -223
  298. package/assets/.agent/skills/hyperframes-creative/frame-presets/editorial-forest/frame-showcase.html +1273 -1273
  299. package/assets/.agent/skills/hyperframes-creative/palettes/bold-energetic.md +14 -14
  300. package/assets/.agent/skills/hyperframes-creative/palettes/clean-corporate.md +14 -14
  301. package/assets/.agent/skills/hyperframes-creative/palettes/dark-premium.md +14 -14
  302. package/assets/.agent/skills/hyperframes-creative/palettes/jewel-rich.md +14 -14
  303. package/assets/.agent/skills/hyperframes-creative/palettes/monochrome.md +14 -14
  304. package/assets/.agent/skills/hyperframes-creative/palettes/nature-earth.md +14 -14
  305. package/assets/.agent/skills/hyperframes-creative/palettes/neon-electric.md +14 -14
  306. package/assets/.agent/skills/hyperframes-creative/palettes/pastel-soft.md +14 -14
  307. package/assets/.agent/skills/hyperframes-creative/palettes/warm-editorial.md +14 -14
  308. package/assets/.agent/skills/hyperframes-creative/references/audio-reactive.md +76 -76
  309. package/assets/.agent/skills/hyperframes-creative/references/beat-direction.md +164 -164
  310. package/assets/.agent/skills/hyperframes-creative/references/composition-patterns.md +199 -199
  311. package/assets/.agent/skills/hyperframes-creative/references/data-in-motion.md +19 -19
  312. package/assets/.agent/skills/hyperframes-creative/references/design-adherence.md +19 -19
  313. package/assets/.agent/skills/hyperframes-creative/references/design-picker.md +123 -123
  314. package/assets/.agent/skills/hyperframes-creative/references/design-spec.md +55 -55
  315. package/assets/.agent/skills/hyperframes-creative/references/house-style.md +73 -73
  316. package/assets/.agent/skills/hyperframes-creative/references/motion-principles.md +150 -150
  317. package/assets/.agent/skills/hyperframes-creative/references/narration.md +92 -92
  318. package/assets/.agent/skills/hyperframes-creative/references/prompt-expansion.md +68 -68
  319. package/assets/.agent/skills/hyperframes-creative/references/typography.md +218 -218
  320. package/assets/.agent/skills/hyperframes-creative/references/video-composition.md +63 -63
  321. package/assets/.agent/skills/hyperframes-creative/references/visual-styles.md +457 -457
  322. package/assets/.agent/skills/hyperframes-creative/scripts/contrast-report.mjs +353 -353
  323. package/assets/.agent/skills/hyperframes-creative/scripts/extract-audio-data.py +188 -188
  324. package/assets/.agent/skills/hyperframes-creative/scripts/package-loader.mjs +288 -288
  325. package/assets/.agent/skills/hyperframes-creative/scripts/package-loader.test.mjs +62 -62
  326. package/assets/.agent/skills/hyperframes-creative/templates/design-picker.html +1432 -1432
  327. package/assets/.agent/skills/hyperframes-keyframes/SKILL.md +237 -237
  328. package/assets/.agent/skills/hyperframes-keyframes/agents/openai.yaml +4 -4
  329. package/assets/.agent/skills/hyperframes-keyframes/references/keyframe-patterns.md +106 -106
  330. package/assets/.agent/skills/hyperframes-media/SKILL.md +97 -97
  331. package/assets/.agent/skills/hyperframes-media/assets/sfx/CREDITS.md +35 -35
  332. package/assets/.agent/skills/hyperframes-media/assets/sfx/manifest.json +97 -97
  333. package/assets/.agent/skills/hyperframes-media/references/bgm.md +72 -72
  334. package/assets/.agent/skills/hyperframes-media/references/captions/authoring.md +159 -159
  335. package/assets/.agent/skills/hyperframes-media/references/captions/motion.md +87 -87
  336. package/assets/.agent/skills/hyperframes-media/references/captions/transcript-handling.md +97 -97
  337. package/assets/.agent/skills/hyperframes-media/references/remove-background.md +143 -143
  338. package/assets/.agent/skills/hyperframes-media/references/requirements.md +29 -29
  339. package/assets/.agent/skills/hyperframes-media/references/sfx.md +42 -42
  340. package/assets/.agent/skills/hyperframes-media/references/transcribe.md +52 -52
  341. package/assets/.agent/skills/hyperframes-media/references/tts-to-captions.md +24 -24
  342. package/assets/.agent/skills/hyperframes-media/references/tts.md +135 -135
  343. package/assets/.agent/skills/hyperframes-media/scripts/audio.mjs +293 -293
  344. package/assets/.agent/skills/hyperframes-media/scripts/heygen-tts.mjs +121 -121
  345. package/assets/.agent/skills/hyperframes-media/scripts/lib/bgm.mjs +235 -235
  346. package/assets/.agent/skills/hyperframes-media/scripts/lib/concurrency.mjs +14 -14
  347. package/assets/.agent/skills/hyperframes-media/scripts/lib/concurrency.test.mjs +41 -41
  348. package/assets/.agent/skills/hyperframes-media/scripts/lib/heygen.mjs +131 -131
  349. package/assets/.agent/skills/hyperframes-media/scripts/lib/sfx.mjs +128 -128
  350. package/assets/.agent/skills/hyperframes-media/scripts/lib/tts.mjs +298 -298
  351. package/assets/.agent/skills/hyperframes-media/scripts/lib/tts.spawn.test.mjs +97 -97
  352. package/assets/.agent/skills/hyperframes-media/scripts/lib/tts.test.mjs +66 -66
  353. package/assets/.agent/skills/hyperframes-media/scripts/lyria-recipe.py +128 -128
  354. package/assets/.agent/skills/hyperframes-media/scripts/wait-bgm.mjs +167 -167
  355. package/assets/.agent/skills/hyperframes-registry/SKILL.md +101 -101
  356. package/assets/.agent/skills/hyperframes-registry/examples/add-block.md +51 -51
  357. package/assets/.agent/skills/hyperframes-registry/examples/add-component.md +73 -73
  358. package/assets/.agent/skills/hyperframes-registry/references/contributing.md +166 -166
  359. package/assets/.agent/skills/hyperframes-registry/references/demo-html-pattern.md +54 -54
  360. package/assets/.agent/skills/hyperframes-registry/references/discovery.md +215 -215
  361. package/assets/.agent/skills/hyperframes-registry/references/install-locations.md +45 -45
  362. package/assets/.agent/skills/hyperframes-registry/references/templates.md +417 -417
  363. package/assets/.agent/skills/hyperframes-registry/references/wiring-blocks.md +61 -61
  364. package/assets/.agent/skills/hyperframes-registry/references/wiring-components.md +39 -39
  365. package/assets/.agent/skills/media-use/SKILL.md +124 -124
  366. package/assets/.agent/skills/media-use/scripts/eval.mjs +369 -369
  367. package/assets/.agent/skills/media-use/scripts/lib/adopt.mjs +112 -112
  368. package/assets/.agent/skills/media-use/scripts/lib/bgm-provider.mjs +20 -20
  369. package/assets/.agent/skills/media-use/scripts/lib/brand-provider.mjs +59 -59
  370. package/assets/.agent/skills/media-use/scripts/lib/cache.mjs +114 -114
  371. package/assets/.agent/skills/media-use/scripts/lib/freeze.mjs +26 -26
  372. package/assets/.agent/skills/media-use/scripts/lib/heygen-search.mjs +51 -51
  373. package/assets/.agent/skills/media-use/scripts/lib/image-provider.mjs +44 -44
  374. package/assets/.agent/skills/media-use/scripts/lib/index-gen.mjs +63 -63
  375. package/assets/.agent/skills/media-use/scripts/lib/manifest.mjs +91 -91
  376. package/assets/.agent/skills/media-use/scripts/lib/manifest.test.mjs +293 -293
  377. package/assets/.agent/skills/media-use/scripts/lib/probe.mjs +39 -39
  378. package/assets/.agent/skills/media-use/scripts/lib/probe.test.mjs +31 -31
  379. package/assets/.agent/skills/media-use/scripts/lib/providers.mjs +29 -29
  380. package/assets/.agent/skills/media-use/scripts/lib/sfx-provider.mjs +23 -23
  381. package/assets/.agent/skills/media-use/scripts/resolve.mjs +247 -247
  382. package/assets/.agent/skills/media-use/scripts/resolve.test.mjs +247 -247
  383. package/assets/.agent/skills/motion-graphics/SKILL.md +172 -172
  384. package/assets/.agent/skills/motion-graphics/agents/builder.md +40 -40
  385. package/assets/.agent/skills/motion-graphics/agents/director.md +53 -53
  386. package/assets/.agent/skills/motion-graphics/agents/finalize.md +17 -17
  387. package/assets/.agent/skills/motion-graphics/catalog-map.md +40 -40
  388. package/assets/.agent/skills/motion-graphics/categories/asset-fusion/module.md +37 -37
  389. package/assets/.agent/skills/motion-graphics/categories/charts/module.md +21 -21
  390. package/assets/.agent/skills/motion-graphics/categories/kinetic-type/module.md +19 -19
  391. package/assets/.agent/skills/motion-graphics/categories/logo-reveal/module.md +17 -17
  392. package/assets/.agent/skills/motion-graphics/categories/lower-thirds/module.md +16 -16
  393. package/assets/.agent/skills/motion-graphics/categories/maps/bake-basemap.mjs +273 -273
  394. package/assets/.agent/skills/motion-graphics/categories/maps/module.md +61 -61
  395. package/assets/.agent/skills/motion-graphics/categories/news/module.md +56 -56
  396. package/assets/.agent/skills/motion-graphics/categories/stat/module.md +21 -21
  397. package/assets/.agent/skills/motion-graphics/categories/tweet/module.md +16 -16
  398. package/assets/.agent/skills/motion-graphics/categories/webpage/module.md +21 -21
  399. package/assets/.agent/skills/motion-graphics/grounding/PROTOCOL.md +64 -64
  400. package/assets/.agent/skills/motion-graphics/grounding/locate.mjs +227 -227
  401. package/assets/.agent/skills/motion-graphics/phases/source/guide.md +21 -21
  402. package/assets/.agent/skills/motion-graphics/references/builder-contract.md +38 -38
  403. package/assets/.agent/skills/motion-graphics/references/motion-vocabulary.md +43 -43
  404. package/assets/.agent/skills/motion-graphics/references/shot-plan-ir.md +54 -54
  405. package/assets/.agent/skills/motion-graphics/samples/asset-fusion/_ref-circle-highlight.html +306 -306
  406. package/assets/.agent/skills/music-to-video/SKILL.md +197 -197
  407. package/assets/.agent/skills/music-to-video/references/frame-skeleton.md +100 -100
  408. package/assets/.agent/skills/music-to-video/references/montage.md +58 -58
  409. package/assets/.agent/skills/music-to-video/references/motion-primitive-catalog.md +75 -75
  410. package/assets/.agent/skills/music-to-video/references/motion-primitives/3d-card-flip/index.html +154 -154
  411. package/assets/.agent/skills/music-to-video/references/motion-primitives/assets/gsap.min.js +11 -11
  412. package/assets/.agent/skills/music-to-video/references/motion-primitives/bg-flow-field/index.html +326 -326
  413. package/assets/.agent/skills/music-to-video/references/motion-primitives/binary-decrypt/index.html +120 -120
  414. package/assets/.agent/skills/music-to-video/references/motion-primitives/blur-resolve/index.html +95 -95
  415. package/assets/.agent/skills/music-to-video/references/motion-primitives/braam-punch/index.html +135 -135
  416. package/assets/.agent/skills/music-to-video/references/motion-primitives/chromatic-split/index.html +146 -146
  417. package/assets/.agent/skills/music-to-video/references/motion-primitives/chrome-sweep/index.html +103 -103
  418. package/assets/.agent/skills/music-to-video/references/motion-primitives/counting-punch/index.html +154 -154
  419. package/assets/.agent/skills/music-to-video/references/motion-primitives/crash-zoom-in/index.html +155 -155
  420. package/assets/.agent/skills/music-to-video/references/motion-primitives/datamosh-smear/index.html +166 -166
  421. package/assets/.agent/skills/music-to-video/references/motion-primitives/directional-fill/index.html +133 -133
  422. package/assets/.agent/skills/music-to-video/references/motion-primitives/dolly-zoom/index.html +137 -137
  423. package/assets/.agent/skills/music-to-video/references/motion-primitives/electric-arc/index.html +144 -144
  424. package/assets/.agent/skills/music-to-video/references/motion-primitives/flash-cut/index.html +132 -132
  425. package/assets/.agent/skills/music-to-video/references/motion-primitives/gooey-metaball/index.html +241 -241
  426. package/assets/.agent/skills/music-to-video/references/motion-primitives/hard-cut/index.html +117 -117
  427. package/assets/.agent/skills/music-to-video/references/motion-primitives/hypercut-whip/index.html +79 -79
  428. package/assets/.agent/skills/music-to-video/references/motion-primitives/iris-open/index.html +104 -104
  429. package/assets/.agent/skills/music-to-video/references/motion-primitives/kinetic-letter-in/index.html +92 -92
  430. package/assets/.agent/skills/music-to-video/references/motion-primitives/liquid-morph/index.html +131 -131
  431. package/assets/.agent/skills/music-to-video/references/motion-primitives/mask-reveal/index.html +109 -109
  432. package/assets/.agent/skills/music-to-video/references/motion-primitives/mosaic-pack/index.html +124 -124
  433. package/assets/.agent/skills/music-to-video/references/motion-primitives/neon-flicker/index.html +108 -108
  434. package/assets/.agent/skills/music-to-video/references/motion-primitives/outline-to-fill/index.html +117 -117
  435. package/assets/.agent/skills/music-to-video/references/motion-primitives/palette-flip/index.html +132 -132
  436. package/assets/.agent/skills/music-to-video/references/motion-primitives/particle-burst/index.html +141 -141
  437. package/assets/.agent/skills/music-to-video/references/motion-primitives/pixel-dissolve/index.html +121 -121
  438. package/assets/.agent/skills/music-to-video/references/motion-primitives/radial-burst-lines/index.html +160 -160
  439. package/assets/.agent/skills/music-to-video/references/motion-primitives/screen-shake/index.html +113 -113
  440. package/assets/.agent/skills/music-to-video/references/motion-primitives/slot-machine-reveal/index.html +130 -130
  441. package/assets/.agent/skills/music-to-video/references/motion-primitives/spotlight-sweep/index.html +137 -137
  442. package/assets/.agent/skills/music-to-video/references/motion-primitives/staggered-exit/index.html +117 -117
  443. package/assets/.agent/skills/music-to-video/references/motion-primitives/text-spectral-rays/USAGE.md +42 -42
  444. package/assets/.agent/skills/music-to-video/references/motion-primitives/text-spectral-rays/index.html +313 -313
  445. package/assets/.agent/skills/music-to-video/references/motion-primitives/text-wave-distort/index.html +136 -136
  446. package/assets/.agent/skills/music-to-video/references/motion-primitives/tile-mosaic/index.html +144 -144
  447. package/assets/.agent/skills/music-to-video/references/motion-primitives/typewriter-reveal/index.html +122 -122
  448. package/assets/.agent/skills/music-to-video/references/motion-primitives/word-grid-burst/index.html +126 -126
  449. package/assets/.agent/skills/music-to-video/references/planning.md +104 -104
  450. package/assets/.agent/skills/music-to-video/references/storyboard-format.md +94 -94
  451. package/assets/.agent/skills/music-to-video/references/template-catalog.md +106 -106
  452. package/assets/.agent/skills/music-to-video/references/templates/card-flyby/index.html +527 -527
  453. package/assets/.agent/skills/music-to-video/references/templates/card-flyby/program.json +13 -13
  454. package/assets/.agent/skills/music-to-video/references/templates/held-message-living-field/index.html +485 -485
  455. package/assets/.agent/skills/music-to-video/references/templates/held-text-strobe-burst/index.html +302 -302
  456. package/assets/.agent/skills/music-to-video/references/templates/intro-kinetic-cascade/index.html +610 -610
  457. package/assets/.agent/skills/music-to-video/references/templates/intro-kinetic-cascade/program.json +41 -41
  458. package/assets/.agent/skills/music-to-video/references/templates/logo-split-lockup-pulse/index.html +596 -596
  459. package/assets/.agent/skills/music-to-video/references/templates/poster-tile-mosaic/index.html +589 -589
  460. package/assets/.agent/skills/music-to-video/references/templates/poster-tile-mosaic/program.json +25 -25
  461. package/assets/.agent/skills/music-to-video/references/templates/roll-flipbook-word-cycle/index.html +267 -267
  462. package/assets/.agent/skills/music-to-video/references/templates/split-anchor-word-slot/index.html +594 -594
  463. package/assets/.agent/skills/music-to-video/references/templates/split-anchor-word-slot/program.json +39 -39
  464. package/assets/.agent/skills/music-to-video/references/templates/typewriter-phrase-keyword-shuffle/index.html +238 -238
  465. package/assets/.agent/skills/music-to-video/scripts/analyze-beatgrid.py +531 -531
  466. package/assets/.agent/skills/music-to-video/scripts/assemble-index.mjs +218 -218
  467. package/assets/.agent/skills/music-to-video/scripts/lib/storyboard.mjs +249 -249
  468. package/assets/.agent/skills/music-to-video/scripts/stage-assets.mjs +58 -58
  469. package/assets/.agent/skills/music-to-video/scripts/validate-plan.mjs +161 -161
  470. package/assets/.agent/skills/music-to-video/sub-agents/frame-worker.md +75 -75
  471. package/assets/.agent/skills/pr-to-video/SKILL.md +240 -240
  472. package/assets/.agent/skills/pr-to-video/references/code-vocabulary.md +111 -111
  473. package/assets/.agent/skills/pr-to-video/references/cut-catalog.md +215 -215
  474. package/assets/.agent/skills/pr-to-video/references/motion-language.md +156 -156
  475. package/assets/.agent/skills/pr-to-video/references/story-design.md +211 -211
  476. package/assets/.agent/skills/pr-to-video/references/visual-design.md +164 -164
  477. package/assets/.agent/skills/pr-to-video/scripts/assemble-index.mjs +570 -570
  478. package/assets/.agent/skills/pr-to-video/scripts/audio.mjs +253 -253
  479. package/assets/.agent/skills/pr-to-video/scripts/build-frame.mjs +536 -536
  480. package/assets/.agent/skills/pr-to-video/scripts/captions.mjs +508 -508
  481. package/assets/.agent/skills/pr-to-video/scripts/fetch-people-avatars.mjs +157 -157
  482. package/assets/.agent/skills/pr-to-video/scripts/fetch-pr.mjs +164 -164
  483. package/assets/.agent/skills/pr-to-video/scripts/ingest.mjs +539 -539
  484. package/assets/.agent/skills/pr-to-video/scripts/lib/assets.mjs +55 -55
  485. package/assets/.agent/skills/pr-to-video/scripts/lib/dimensions.mjs +45 -45
  486. package/assets/.agent/skills/pr-to-video/scripts/lib/storyboard.mjs +249 -249
  487. package/assets/.agent/skills/pr-to-video/scripts/lib/tokens.mjs +204 -204
  488. package/assets/.agent/skills/pr-to-video/scripts/lib/transition-registry.mjs +38 -38
  489. package/assets/.agent/skills/pr-to-video/scripts/lib/transitions.json +71 -71
  490. package/assets/.agent/skills/pr-to-video/scripts/transitions.mjs +320 -320
  491. package/assets/.agent/skills/pr-to-video/sub-agents/frame-worker.md +95 -95
  492. package/assets/.agent/skills/product-launch-video/SKILL.md +208 -208
  493. package/assets/.agent/skills/product-launch-video/references/cut-catalog.md +220 -220
  494. package/assets/.agent/skills/product-launch-video/references/motion-language.md +156 -156
  495. package/assets/.agent/skills/product-launch-video/references/story-design.md +373 -373
  496. package/assets/.agent/skills/product-launch-video/references/visual-design.md +126 -126
  497. package/assets/.agent/skills/product-launch-video/scripts/assemble-index.mjs +570 -570
  498. package/assets/.agent/skills/product-launch-video/scripts/audio.mjs +253 -253
  499. package/assets/.agent/skills/product-launch-video/scripts/build-frame.mjs +536 -536
  500. package/assets/.agent/skills/product-launch-video/scripts/captions.mjs +508 -508
  501. package/assets/.agent/skills/product-launch-video/scripts/lib/assets.mjs +55 -55
  502. package/assets/.agent/skills/product-launch-video/scripts/lib/dimensions.mjs +45 -45
  503. package/assets/.agent/skills/product-launch-video/scripts/lib/storyboard.mjs +249 -249
  504. package/assets/.agent/skills/product-launch-video/scripts/lib/tokens.mjs +204 -204
  505. package/assets/.agent/skills/product-launch-video/scripts/lib/transition-registry.mjs +38 -38
  506. package/assets/.agent/skills/product-launch-video/scripts/lib/transitions.json +71 -71
  507. package/assets/.agent/skills/product-launch-video/scripts/stage-assets.mjs +39 -39
  508. package/assets/.agent/skills/product-launch-video/scripts/transitions.mjs +320 -320
  509. package/assets/.agent/skills/product-launch-video/sub-agents/frame-worker.md +75 -75
  510. package/assets/.agent/skills/remotion/SKILL.md +357 -38
  511. package/assets/.agent/skills/remotion/rules/3d.md +5 -5
  512. package/assets/.agent/skills/remotion/rules/assets/text-animations-word-highlight.tsx +1 -6
  513. package/assets/.agent/skills/remotion/rules/audio-visualization.md +198 -0
  514. package/assets/.agent/skills/remotion/rules/audio.md +1 -4
  515. package/assets/.agent/skills/remotion/rules/calculate-metadata.md +48 -18
  516. package/assets/.agent/skills/remotion/rules/compositions.md +16 -24
  517. package/assets/.agent/skills/remotion/rules/display-captions.md +79 -21
  518. package/assets/.agent/skills/remotion/rules/effects.md +235 -0
  519. package/assets/.agent/skills/remotion/rules/ffmpeg.md +34 -0
  520. package/assets/.agent/skills/remotion/rules/get-audio-duration.md +13 -13
  521. package/assets/.agent/skills/remotion/rules/get-video-dimensions.md +1 -1
  522. package/assets/.agent/skills/remotion/rules/get-video-duration.md +12 -10
  523. package/assets/.agent/skills/remotion/rules/gifs.md +21 -18
  524. package/assets/.agent/skills/remotion/rules/google-fonts.md +72 -0
  525. package/assets/.agent/skills/remotion/rules/html-in-canvas.md +122 -0
  526. package/assets/.agent/skills/remotion/rules/images.md +5 -64
  527. package/assets/.agent/skills/remotion/rules/import-srt-captions.md +9 -7
  528. package/assets/.agent/skills/remotion/rules/light-leaks.md +73 -0
  529. package/assets/.agent/skills/remotion/rules/local-fonts.md +65 -0
  530. package/assets/.agent/skills/remotion/rules/lottie.md +10 -8
  531. package/assets/.agent/skills/remotion/rules/maplibre.md +458 -0
  532. package/assets/.agent/skills/remotion/rules/measuring-dom-nodes.md +0 -1
  533. package/assets/.agent/skills/remotion/rules/measuring-text.md +2 -5
  534. package/assets/.agent/skills/remotion/rules/parameters.md +21 -10
  535. package/assets/.agent/skills/remotion/rules/sequencing.md +35 -9
  536. package/assets/.agent/skills/remotion/rules/sfx.md +51 -0
  537. package/assets/.agent/skills/remotion/rules/silence-detection.md +71 -0
  538. package/assets/.agent/skills/remotion/rules/subtitles.md +36 -0
  539. package/assets/.agent/skills/remotion/rules/tailwind.md +2 -2
  540. package/assets/.agent/skills/remotion/rules/timing.md +89 -106
  541. package/assets/.agent/skills/remotion/rules/transcribe-captions.md +58 -7
  542. package/assets/.agent/skills/remotion/rules/transitions.md +117 -42
  543. package/assets/.agent/skills/remotion/rules/transparent-videos.md +106 -0
  544. package/assets/.agent/skills/remotion/rules/trimming.md +1 -3
  545. package/assets/.agent/skills/remotion/rules/video-layout.md +68 -0
  546. package/assets/.agent/skills/remotion/rules/voiceover.md +99 -0
  547. package/assets/.agent/skills/remotion-real-ui-video/SKILL.md +264 -264
  548. package/assets/.agent/skills/remotion-real-ui-video/references/anti-patterns.md +114 -114
  549. package/assets/.agent/skills/remotion-real-ui-video/references/completion-checklist.md +75 -75
  550. package/assets/.agent/skills/remotion-real-ui-video/references/real-ui-bridge-example.md +93 -93
  551. package/assets/.agent/skills/remotion-to-hyperframes/SKILL.md +127 -127
  552. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/run.sh +249 -249
  553. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/README.md +41 -41
  554. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/expected.json +26 -26
  555. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/hf-src/index.html +61 -61
  556. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/remotion-src/package.json +14 -14
  557. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/remotion-src/remotion.config.ts +13 -13
  558. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/remotion-src/src/Root.tsx +13 -13
  559. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/remotion-src/src/TitleCard.tsx +34 -34
  560. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/remotion-src/src/index.ts +4 -4
  561. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/remotion-src/tsconfig.json +15 -15
  562. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/README.md +54 -54
  563. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/expected.json +29 -29
  564. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/hf-src/index.html +118 -118
  565. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/remotion-src/package.json +14 -14
  566. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/remotion-src/remotion.config.ts +13 -13
  567. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/remotion-src/src/MultiScene.tsx +105 -105
  568. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/remotion-src/src/Root.tsx +13 -13
  569. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/remotion-src/src/index.ts +4 -4
  570. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/remotion-src/tsconfig.json +15 -15
  571. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/setup.sh +34 -34
  572. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/README.md +85 -85
  573. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/expected.json +41 -41
  574. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/hf-src/index.html +269 -269
  575. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/package.json +15 -15
  576. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/remotion.config.ts +13 -13
  577. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/src/Root.tsx +27 -27
  578. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/src/Stargazed.tsx +37 -37
  579. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/src/components/AnimatedNumber.tsx +23 -23
  580. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/src/components/StatCard.tsx +59 -59
  581. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/src/components/UnderlinedText.tsx +47 -47
  582. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/src/index.ts +4 -4
  583. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/src/scenes/OutroScene.tsx +18 -18
  584. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/src/scenes/StatsScene.tsx +34 -34
  585. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/src/scenes/TitleScene.tsx +55 -55
  586. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/tsconfig.json +15 -15
  587. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/README.md +51 -51
  588. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/cases/01-use-state.tsx +29 -29
  589. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/cases/02-use-effect-deps.tsx +29 -29
  590. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/cases/03-async-metadata.tsx +39 -39
  591. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/cases/04-third-party-react.tsx +30 -30
  592. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/cases/05-lambda-config.tsx +38 -38
  593. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/cases/06-warnings-only.tsx +36 -36
  594. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/cases/07-custom-hook.tsx +28 -28
  595. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/cases/08-mixed.tsx +41 -41
  596. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/expected.json +85 -85
  597. package/assets/.agent/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/validate.sh +110 -110
  598. package/assets/.agent/skills/remotion-to-hyperframes/references/api-map.md +142 -142
  599. package/assets/.agent/skills/remotion-to-hyperframes/references/escape-hatch.md +115 -115
  600. package/assets/.agent/skills/remotion-to-hyperframes/references/eval.md +140 -140
  601. package/assets/.agent/skills/remotion-to-hyperframes/references/fonts.md +112 -112
  602. package/assets/.agent/skills/remotion-to-hyperframes/references/limitations.md +136 -136
  603. package/assets/.agent/skills/remotion-to-hyperframes/references/lottie.md +121 -121
  604. package/assets/.agent/skills/remotion-to-hyperframes/references/media.md +149 -149
  605. package/assets/.agent/skills/remotion-to-hyperframes/references/parameters.md +167 -167
  606. package/assets/.agent/skills/remotion-to-hyperframes/references/sequencing.md +195 -195
  607. package/assets/.agent/skills/remotion-to-hyperframes/references/timing.md +165 -165
  608. package/assets/.agent/skills/remotion-to-hyperframes/references/transitions.md +114 -114
  609. package/assets/.agent/skills/remotion-to-hyperframes/scripts/frame_strip.sh +107 -107
  610. package/assets/.agent/skills/remotion-to-hyperframes/scripts/lint_source.py +358 -358
  611. package/assets/.agent/skills/remotion-to-hyperframes/scripts/render_diff.sh +103 -103
  612. package/assets/.agent/skills/remotion-to-hyperframes/scripts/tests/fixtures/blocker.tsx +50 -50
  613. package/assets/.agent/skills/remotion-to-hyperframes/scripts/tests/fixtures/clean.tsx +46 -46
  614. package/assets/.agent/skills/remotion-to-hyperframes/scripts/tests/smoke.sh +90 -90
  615. package/assets/.agent/skills/shared-resend-portfolio/SKILL.md +124 -124
  616. package/assets/.agent/skills/slideshow/SKILL.md +550 -550
  617. package/assets/.agent/skills/slideshow/references/standalone-harness.md +1020 -1020
  618. package/assets/.agent/skills/talking-head-recut/NOTICE.md +39 -39
  619. package/assets/.agent/skills/talking-head-recut/SKILL.md +1191 -1191
  620. package/assets/.agent/skills/talking-head-recut/assets/vendor/gsap.min.js +10 -10
  621. package/assets/.agent/skills/talking-head-recut/references/DESIGN_INDEX.md +145 -145
  622. package/assets/.agent/skills/talking-head-recut/references/frames/clean.html +92 -92
  623. package/assets/.agent/skills/talking-head-recut/references/frames/hairline.html +171 -171
  624. package/assets/.agent/skills/talking-head-recut/references/frames/polaroid.html +131 -131
  625. package/assets/.agent/skills/talking-head-recut/references/layouts/overlay.html +164 -164
  626. package/assets/.agent/skills/talking-head-recut/references/layouts/pip.html +143 -143
  627. package/assets/.agent/skills/talking-head-recut/references/layouts/split.html +121 -121
  628. package/assets/.agent/skills/talking-head-recut/references/layouts/stack.html +109 -109
  629. package/assets/.agent/skills/talking-head-recut/references/styles/academic.html +172 -172
  630. package/assets/.agent/skills/talking-head-recut/references/styles/audit.html +170 -170
  631. package/assets/.agent/skills/talking-head-recut/references/styles/editorial.html +189 -189
  632. package/assets/.agent/skills/talking-head-recut/references/styles/geom.html +181 -181
  633. package/assets/.agent/skills/talking-head-recut/references/styles/minimal.html +130 -130
  634. package/assets/.agent/skills/talking-head-recut/references/styles/spotlight.html +142 -142
  635. package/assets/.agent/skills/talking-head-recut/references/styles/swiss.html +188 -188
  636. package/assets/.agent/skills/talking-head-recut/references/styles/terminal.html +196 -196
  637. package/assets/.agent/skills/talking-head-recut/references/styles/whiteboard.html +170 -170
  638. package/assets/.agent/skills/talking-head-recut/references/styles/xhs.html +206 -206
  639. package/assets/.agent/skills/website-to-video/SKILL.md +145 -145
  640. package/assets/.agent/skills/website-to-video/assets/sfx/CREDITS.md +35 -35
  641. package/assets/.agent/skills/website-to-video/assets/sfx/manifest.json +97 -97
  642. package/assets/.agent/skills/website-to-video/references/beat-builder-guide.md +263 -263
  643. package/assets/.agent/skills/website-to-video/references/capabilities.md +713 -713
  644. package/assets/.agent/skills/website-to-video/references/step-0-capture.md +55 -55
  645. package/assets/.agent/skills/website-to-video/references/step-1-design.md +333 -333
  646. package/assets/.agent/skills/website-to-video/references/step-2-brief.md +178 -178
  647. package/assets/.agent/skills/website-to-video/references/step-3-storyboard.md +572 -572
  648. package/assets/.agent/skills/website-to-video/references/step-4-vo.md +230 -230
  649. package/assets/.agent/skills/website-to-video/references/step-5-build.md +483 -483
  650. package/assets/.agent/skills/website-to-video/references/step-6-validate.md +341 -341
  651. package/assets/.agent/skills/website-to-video/scripts/w2h-verify.mjs +759 -759
  652. package/package.json +5 -4
  653. package/src/pi-takomi-core/workflows.ts +86 -86
  654. package/src/takomi-stats.js +5 -5
  655. package/assets/.agent/skills/remotion/rules/animations.md +0 -29
  656. package/assets/.agent/skills/remotion/rules/assets.md +0 -78
  657. package/assets/.agent/skills/remotion/rules/can-decode.md +0 -75
  658. package/assets/.agent/skills/remotion/rules/charts.md +0 -58
  659. package/assets/.agent/skills/remotion/rules/extract-frames.md +0 -229
  660. package/assets/.agent/skills/remotion/rules/fonts.md +0 -152
  661. package/assets/.agent/skills/remotion/rules/maps.md +0 -403
@@ -1,44 +1,44 @@
1
- # constellation-hub — Constellation / Hub + Satellites
2
-
3
- **intent**: Labeled/iconned nodes spring into a ring/cluster around a center, then the shot resolves on the core — either by pushing the camera INTO the center (depth-of-field collapsing onto it) or by holding a hub mark while the satellites ORBIT it; the "everything connects to / sits around one center" beat.
4
-
5
- **roles served**
6
-
7
- - Hook (from `hook-cluster-push-in`): a constellation of tool/app nodes springs into a wide ring, then a sustained camera push-in with depth-of-field resolves on the inner core — "it connects everything / one hub for all your tools."
8
- - Social_Proof (from `social-proof-orbit-ecosystem`): the product brand mark lands as the center hub and partner logos spring onto a ring and revolve around it — "plugs into / sits at the center of your stack."
9
- - CTA (from `cta-orbit-collapse`): the ring resolves by COLLAPSE rather than a push-in — category icons drift around an empty central CTA, a cursor click implodes the orbit toward the click point, and the product demo springs OUT of that collapse as the answer (scope → choice → consequence → product).
10
- - Social_Proof (from `proof-logo-chain`): a persistent center logo accrues proofs — its wordmark decodes, a claim ticker swaps, the logo glides to center, then avatars cascade into orbit with drawn connectors while partner logos scroll the bottom strip; four claims read as one statement.
11
-
12
- **duration**: 5–8s (Hook 5–6s · Social_Proof 5–8s · CTA orbit-collapse ~6s)
13
-
14
- **shot structure**
15
-
16
- Consolidated template — nodes ring a center, then one of two finishers resolves on the core.
17
-
18
- - Scene 1 (0.0–~1.5s): `[bg]` (dark/space field, optionally slow-drifting diffused gradient blobs). `[primary nodes]` (circles carrying `[icon]` + label) SPRING-POP in (scale 0→1, ~1.15 elastic overshoot, staggered) arranged in a wide ring/cluster around an empty or marked center `[hub]`.
19
- - Scene 2 (~0.7–2.5s, overlapping): smaller `[secondary nodes]` (platform / partner-logo chips) pop in staggered with the same elastic spring, filling the gaps; optional thin `[accent]` connector lines / orbit ring draw from hub→nodes. Camera holds.
20
- - Scene 3 (~2.5–Xs, the resolve): see finisher variant below; lands and HOLDS on the magnified / orbited center to the end.
21
-
22
- - Variant — Hook (push-in finisher): from Scene 3, a continuous smooth CAMERA PUSH-IN toward the center inner cluster — inner nodes scale up and stay sharp while outer nodes are pushed toward the edges and progressively BLUR (depth-of-field), background scales up smoothly; holds magnified on the core.
23
- - Variant — Social_Proof (orbit finisher): the center `[brand mark]` snaps in via a quick 3D rotate that decelerates and settles; a thin `[accent]` orbit ring draws around it; `[N partner badges]` spring onto the ring (staggered overshoot) and revolve CLOCKWISE while staying upright, under a continuous slow camera ZOOM-OUT (ecosystem reveal).
24
- - Variant — Social_Proof (optional type-push-through opener, prepended before Scene 1): centered `[headline]` types/slides in with a huge transparent-fill OUTLINE copy of the same words behind it; the outline text scales up exponentially toward camera (high-speed dolly / push-through), breaches the frame, then HARD-CUTS to the hub bg of Scene 1.
25
-
26
- **motion vocabulary**: staggered elastic spring-pop node entrances (~1.15 overshoot); slow gradient-blob drift; connector-line / orbit-ring draw-on; 3D snap-rotate-settle on the hub mark; continuous camera push-in (inner sharp, outer depth-of-field blur, bg scale-up); clockwise orbital revolve of upright badges; continuous slow camera zoom-out (ecosystem reveal); optional outline-text push-through dolly entry.
27
-
28
- **rule mapping** (motion verb → `rules/<id>.md`)
29
-
30
- - staggered spring-pop node entrances → `spring-pop-entrance` (elastic overshoot) + `gsap-effects` (stagger recipe); 3D-flip-in flavor → `orbit-3d-entry`
31
- - ring / cluster layout of nodes around a center → `avatar-cloud-network` (nodes on an elliptical ring + SVG lines to a center)
32
- - icons on the nodes → `svg-icon-enrichment`
33
- - connector lines hub→node → `svg-path-draw`
34
- - orbit-ring draw-on → `svg-path-draw`
35
- - slow gradient-blob drift → `sine-wave-loop` (idle looped drift)
36
- - 3D snap-rotate-settle on hub mark → `orbit-3d-entry` (3D-flip entry); technique CSS-3D
37
- - clockwise orbital revolve of upright badges → `orbit-3d-entry` (continuous elliptical orbit); technique MotionPath
38
- - camera push-in toward center → `multi-phase-camera` (PUSH-in) + `coordinate-target-zoom` (target the core)
39
- - background scale-up during push-in → `multi-phase-camera`
40
- - continuous slow zoom-out (ecosystem reveal) → `multi-phase-camera` (pull-back) / `coordinate-target-zoom`
41
- - outline-text push-through dolly opener (Social_Proof) → `3d-text-depth-layers` (outline copy behind) + `multi-phase-camera` (push-through)
42
- - depth-of-field blur on outer nodes during push-in → `depth-of-field-blur` (progressive DOF/focus-falloff blur on the off-center outer nodes while the inner core stays sharp)
43
-
44
- **camera modifier**: push-in-with-DOF (Hook) — `multi-phase-camera` PUSH-in targeted via `coordinate-target-zoom` onto the core; the focus-falloff blur half of it is backed by `depth-of-field-blur`. Orbit finisher (Social_Proof) — slow continuous zoom-out via `multi-phase-camera` (pull-back) while satellites revolve.
1
+ # constellation-hub — Constellation / Hub + Satellites
2
+
3
+ **intent**: Labeled/iconned nodes spring into a ring/cluster around a center, then the shot resolves on the core — either by pushing the camera INTO the center (depth-of-field collapsing onto it) or by holding a hub mark while the satellites ORBIT it; the "everything connects to / sits around one center" beat.
4
+
5
+ **roles served**
6
+
7
+ - Hook (from `hook-cluster-push-in`): a constellation of tool/app nodes springs into a wide ring, then a sustained camera push-in with depth-of-field resolves on the inner core — "it connects everything / one hub for all your tools."
8
+ - Social_Proof (from `social-proof-orbit-ecosystem`): the product brand mark lands as the center hub and partner logos spring onto a ring and revolve around it — "plugs into / sits at the center of your stack."
9
+ - CTA (from `cta-orbit-collapse`): the ring resolves by COLLAPSE rather than a push-in — category icons drift around an empty central CTA, a cursor click implodes the orbit toward the click point, and the product demo springs OUT of that collapse as the answer (scope → choice → consequence → product).
10
+ - Social_Proof (from `proof-logo-chain`): a persistent center logo accrues proofs — its wordmark decodes, a claim ticker swaps, the logo glides to center, then avatars cascade into orbit with drawn connectors while partner logos scroll the bottom strip; four claims read as one statement.
11
+
12
+ **duration**: 5–8s (Hook 5–6s · Social_Proof 5–8s · CTA orbit-collapse ~6s)
13
+
14
+ **shot structure**
15
+
16
+ Consolidated template — nodes ring a center, then one of two finishers resolves on the core.
17
+
18
+ - Scene 1 (0.0–~1.5s): `[bg]` (dark/space field, optionally slow-drifting diffused gradient blobs). `[primary nodes]` (circles carrying `[icon]` + label) SPRING-POP in (scale 0→1, ~1.15 elastic overshoot, staggered) arranged in a wide ring/cluster around an empty or marked center `[hub]`.
19
+ - Scene 2 (~0.7–2.5s, overlapping): smaller `[secondary nodes]` (platform / partner-logo chips) pop in staggered with the same elastic spring, filling the gaps; optional thin `[accent]` connector lines / orbit ring draw from hub→nodes. Camera holds.
20
+ - Scene 3 (~2.5–Xs, the resolve): see finisher variant below; lands and HOLDS on the magnified / orbited center to the end.
21
+
22
+ - Variant — Hook (push-in finisher): from Scene 3, a continuous smooth CAMERA PUSH-IN toward the center inner cluster — inner nodes scale up and stay sharp while outer nodes are pushed toward the edges and progressively BLUR (depth-of-field), background scales up smoothly; holds magnified on the core.
23
+ - Variant — Social_Proof (orbit finisher): the center `[brand mark]` snaps in via a quick 3D rotate that decelerates and settles; a thin `[accent]` orbit ring draws around it; `[N partner badges]` spring onto the ring (staggered overshoot) and revolve CLOCKWISE while staying upright, under a continuous slow camera ZOOM-OUT (ecosystem reveal).
24
+ - Variant — Social_Proof (optional type-push-through opener, prepended before Scene 1): centered `[headline]` types/slides in with a huge transparent-fill OUTLINE copy of the same words behind it; the outline text scales up exponentially toward camera (high-speed dolly / push-through), breaches the frame, then HARD-CUTS to the hub bg of Scene 1.
25
+
26
+ **motion vocabulary**: staggered elastic spring-pop node entrances (~1.15 overshoot); slow gradient-blob drift; connector-line / orbit-ring draw-on; 3D snap-rotate-settle on the hub mark; continuous camera push-in (inner sharp, outer depth-of-field blur, bg scale-up); clockwise orbital revolve of upright badges; continuous slow camera zoom-out (ecosystem reveal); optional outline-text push-through dolly entry.
27
+
28
+ **rule mapping** (motion verb → `rules/<id>.md`)
29
+
30
+ - staggered spring-pop node entrances → `spring-pop-entrance` (elastic overshoot) + `gsap-effects` (stagger recipe); 3D-flip-in flavor → `orbit-3d-entry`
31
+ - ring / cluster layout of nodes around a center → `avatar-cloud-network` (nodes on an elliptical ring + SVG lines to a center)
32
+ - icons on the nodes → `svg-icon-enrichment`
33
+ - connector lines hub→node → `svg-path-draw`
34
+ - orbit-ring draw-on → `svg-path-draw`
35
+ - slow gradient-blob drift → `sine-wave-loop` (idle looped drift)
36
+ - 3D snap-rotate-settle on hub mark → `orbit-3d-entry` (3D-flip entry); technique CSS-3D
37
+ - clockwise orbital revolve of upright badges → `orbit-3d-entry` (continuous elliptical orbit); technique MotionPath
38
+ - camera push-in toward center → `multi-phase-camera` (PUSH-in) + `coordinate-target-zoom` (target the core)
39
+ - background scale-up during push-in → `multi-phase-camera`
40
+ - continuous slow zoom-out (ecosystem reveal) → `multi-phase-camera` (pull-back) / `coordinate-target-zoom`
41
+ - outline-text push-through dolly opener (Social_Proof) → `3d-text-depth-layers` (outline copy behind) + `multi-phase-camera` (push-through)
42
+ - depth-of-field blur on outer nodes during push-in → `depth-of-field-blur` (progressive DOF/focus-falloff blur on the off-center outer nodes while the inner core stays sharp)
43
+
44
+ **camera modifier**: push-in-with-DOF (Hook) — `multi-phase-camera` PUSH-in targeted via `coordinate-target-zoom` onto the core; the focus-falloff blur half of it is backed by `depth-of-field-blur`. Orbit finisher (Social_Proof) — slow continuous zoom-out via `multi-phase-camera` (pull-back) while satellites revolve.
@@ -1,28 +1,28 @@
1
- # cta-morph-press — CTA Morph & Press
2
-
3
- **intent**: A resting brand mark condenses at the same screen center into a smaller, brighter CTA, then a cursor arrives from off-stage and lands a human-aimed click on it. The viewer's eye is walked from "this is who we are" to "and this is what you do." The morph and the click are the two headline beats.
4
-
5
- **roles served**
6
-
7
- - CTA (from `cta-morph-press`): when the close moves from brand identity to a single user action, two elements share the same center sequentially (a morph, not a cut), and the payoff is a simulated click with physical feedback. Reach for it for a focused "click here" sign-off — no spatial set, no multi-step UI (that's `cursor-ui-demo`).
8
-
9
- **duration**: 4–6s
10
-
11
- **shot structure** (a `[bg]` canvas; hero and CTA are flex-centered siblings sharing one `transform-origin`)
12
-
13
- - **Scene 1 (0.0–~1.4s) — presence.** The `[hero mark / brand lockup]` holds dead-center, alive but resting — only a faint rotational breath on the mark; any title text under it stays rock-stable. Camera static.
14
- - **Scene 2 (~1.4–2.4s) — the morph (signature move).** The hero CONDENSES at the same screen center into a smaller, brighter `[CTA]` (button / card): the outgoing mark shrink-fades exactly as the CTA scales up in its place. Because they share one `transform-origin`, the eye reads it as one element transforming, not a swap.
15
- - **Scene 3 (~2.4–3.4s) — approach.** A `[cursor]` arrives from off-stage on a **decelerating** path (it "arrives," it does not pass through) and lands a few px **off** the CTA's geometric center, so the aim reads human, not scripted.
16
- - **Scene 4 (~3.4–end) — press.** The cursor lands a physical CLICK — cursor and CTA compress together in lockstep, then release with feedback (an optional ripple / glow bloom). Holds on the clicked state.
17
-
18
- **motion vocabulary**: faint rotation-only resting breath (logo scope only); same-center morph-swap (shrink-fade ↔ scale-up sharing `transform-origin`); cursor decel-arrival from off-stage; off-center human aim; lockstep press compression; release feedback ripple / glow.
19
-
20
- **rule mapping**
21
-
22
- - hero → CTA condense at one center → `scale-swap-transition` (shared `transform-origin: 50% 50%` is what sells the morph; CTA `position: absolute` so it doesn't shove the hero during the brief overlap)
23
- - resting-hero aliveness (rotation only, scoped to the mark so the Phase-2 scale doesn't fight it) → `sine-wave-loop` (low-amplitude rotation register — subtle jitter, not a scale breath)
24
- - cursor press + release in lockstep (single-target-array so both compress together) → `physics-press-reaction` (PRESS_DOWN + RELEASE portion)
25
- - cursor approach (decel from off-stage, off-center landing, hard-cut opacity in) → `gsap-effects` (translate on `power2.out`)
26
- - click ripple / release glow → `cursor-click-ripple` (attack-decay ring) and/or `ambient-glow-bloom` (release bloom)
27
-
28
- **camera modifier**: camera-static — the morph and click happen in element space; a camera move would compete with the click as the climax.
1
+ # cta-morph-press — CTA Morph & Press
2
+
3
+ **intent**: A resting brand mark condenses at the same screen center into a smaller, brighter CTA, then a cursor arrives from off-stage and lands a human-aimed click on it. The viewer's eye is walked from "this is who we are" to "and this is what you do." The morph and the click are the two headline beats.
4
+
5
+ **roles served**
6
+
7
+ - CTA (from `cta-morph-press`): when the close moves from brand identity to a single user action, two elements share the same center sequentially (a morph, not a cut), and the payoff is a simulated click with physical feedback. Reach for it for a focused "click here" sign-off — no spatial set, no multi-step UI (that's `cursor-ui-demo`).
8
+
9
+ **duration**: 4–6s
10
+
11
+ **shot structure** (a `[bg]` canvas; hero and CTA are flex-centered siblings sharing one `transform-origin`)
12
+
13
+ - **Scene 1 (0.0–~1.4s) — presence.** The `[hero mark / brand lockup]` holds dead-center, alive but resting — only a faint rotational breath on the mark; any title text under it stays rock-stable. Camera static.
14
+ - **Scene 2 (~1.4–2.4s) — the morph (signature move).** The hero CONDENSES at the same screen center into a smaller, brighter `[CTA]` (button / card): the outgoing mark shrink-fades exactly as the CTA scales up in its place. Because they share one `transform-origin`, the eye reads it as one element transforming, not a swap.
15
+ - **Scene 3 (~2.4–3.4s) — approach.** A `[cursor]` arrives from off-stage on a **decelerating** path (it "arrives," it does not pass through) and lands a few px **off** the CTA's geometric center, so the aim reads human, not scripted.
16
+ - **Scene 4 (~3.4–end) — press.** The cursor lands a physical CLICK — cursor and CTA compress together in lockstep, then release with feedback (an optional ripple / glow bloom). Holds on the clicked state.
17
+
18
+ **motion vocabulary**: faint rotation-only resting breath (logo scope only); same-center morph-swap (shrink-fade ↔ scale-up sharing `transform-origin`); cursor decel-arrival from off-stage; off-center human aim; lockstep press compression; release feedback ripple / glow.
19
+
20
+ **rule mapping**
21
+
22
+ - hero → CTA condense at one center → `scale-swap-transition` (shared `transform-origin: 50% 50%` is what sells the morph; CTA `position: absolute` so it doesn't shove the hero during the brief overlap)
23
+ - resting-hero aliveness (rotation only, scoped to the mark so the Phase-2 scale doesn't fight it) → `sine-wave-loop` (low-amplitude rotation register — subtle jitter, not a scale breath)
24
+ - cursor press + release in lockstep (single-target-array so both compress together) → `physics-press-reaction` (PRESS_DOWN + RELEASE portion)
25
+ - cursor approach (decel from off-stage, off-center landing, hard-cut opacity in) → `gsap-effects` (translate on `power2.out`)
26
+ - click ripple / release glow → `cursor-click-ripple` (attack-decay ring) and/or `ambient-glow-bloom` (release bloom)
27
+
28
+ **camera modifier**: camera-static — the morph and click happen in element space; a camera move would compete with the click as the climax.
@@ -1,57 +1,57 @@
1
- # cursor-ui-demo — Cursor-Driven UI Demo
2
-
3
- **intent**: A visible custom cursor drives a real (reconstructed) app UI through clicks / hovers / drags so the screen changes state shot-to-shot, while the camera chases each interaction — the product surface is the subject and the cursor is the actor.
4
-
5
- **roles served**
6
-
7
- - Product*Intro (from `product-intro-cursor-ui-demo` / #14 Product_Intro_02, #15 Product_Intro_2, #17 Product_Intro_04): first look at the product surface — the cursor sweeps/hovers to \_introduce* the app and reveal what it is, landing on a hovered hero element or freshly-popped result. Light, exploratory; backdrop steps colors as it goes.
8
- - Key*Feature (from `key-feature-cursor-ui-demo` / #23 Key_Feature_2, #24 Key_Feature_03, #27 Key_Feature_06): one specific multi-step workflow demonstrated \_end-to-end* (edit / configure / select across 2–4 discrete beats), each beat a real edit the UI responds to live, landing locked on the primary action button or the produced result.
9
- - Key_Feature (from `workflow-approve-press`): an agency / confirmation workflow framed by a cockpit of 3D-tilted flanks — a step list ticks pending → active → complete (a snap state machine, CSS responding to `[data-state]`), and a flank button takes the PRESS as the payoff (its color flips to success, a checkmark stamps). The click is the climax, not a passing gesture.
10
-
11
- **duration**: 4.0–9.3s (union of Key_Feature 4.0–7.3s and Product_Intro 6.1–9.3s)
12
-
13
- **shot structure** (a `[product UI surface]` — fixed app window, dashboard/editor, parallax `[content card]` stack, or a `[container object/icon]` — centered over `[bg color/gradient]`, shown `[flat]` or `[3D-isometric]`; a custom `[brand-colored cursor with icon]` is the protagonist and the camera servos to whatever it touches; UI responds _live_ and in sync with each cursor action. Two role-tuned tempos fold in — Product_Intro **sweeps to introduce**, Key_Feature **performs a workflow**.)
14
-
15
- - **Scene 1 (0.0–~Xs) — surface establishes + first touch.** The `[product UI surface]` arrives centered over `[bg color/gradient]` — either it is simply present (fixed window / dashboard / editor), a 3D-parallax stack of `[content cards]`, or a `[container object/icon]` that FLIES IN with a 3D tumble and settles. The custom `[cursor]` enters. The cursor performs the FIRST action on `[cursor target 1]` and the UI responds live in the same beat. Camera holds or begins a slow push-in toward the acted-on region.
16
- - _Variant — Product_Intro_: low-commitment first touch — cursor HOVERS/sweeps a control or SWEEP-HIGHLIGHTS a field to `[accent color]`, OR the `[container]` fans open. An optional label/title fades/morphs onto the surface. The point is to _show the surface exists_ and is touchable.
17
- - _Variant — Key_Feature_: a concrete edit — cursor DRAGS a scrollbar / TYPES into a field / DRAGS a handle, and the UI responds materially (`[scroll]` / value climbs / region resizes). If the surface opened in `[3D-isometric]`, it may snap perspective-FLAT here to read the workflow.
18
-
19
- - **Scene 2 (~Xs–~Ys) — camera chases to the next interaction (the engine).** The camera MOVES to the next target — push-in + pan / whip-pan / pan-down to `[cursor target k]` — and the cursor performs action k as the UI updates live. Each beat is a discrete interaction connected by a fast camera move; the surface's inner content SWAPS per interaction.
20
- - _Variant — Product_Intro_: navigation is exploratory — a slow camera pan + depth-of-field FOCUS-PULL across a parallax `[content card]` stack, or the `[container]` fanning into `[N option/content cards]` that SPRING to position. As content swaps, the supporting backdrop STEPS its color (`[bg step 1]` → step 2 → …). Typically one or two such moves.
21
- - _Variant — Key_Feature_: repeat for `[2–4 beats total]`, each a distinct operation the UI answers — counter COUNTS UP, `[pill/swatch]` SELECTS, a modal SLIDES UP and TYPES — connected by whip-pans / progressive zoom. The workflow visibly advances toward a result.
22
-
23
- - **Scene 3 (~Ys–end) — payoff state, camera settles, HOLD.** The cursor lands on its final target and the screen reaches the payoff state; the camera comes to rest (static) and holds.
24
- - _Variant — Product_Intro_: the cursor HOVERS the hero element — a `[content card]` SCALES UP on hover, a node gets an `[Available]`-style pill, or a `[result card]` POPS/springs in — the "here's the product" payoff. Settles static, holds.
25
- - _Variant — Key_Feature_: locked close-up on the OUTCOME — cursor lands on the `[primary action button: Export / Save / Reimburse]` and a `[hover backdrop / highlight]` SPRING-pops in (the climax is the action button / produced result). Holds.
26
-
27
- **motion vocabulary**: cursor-driven click / hover / sweep-highlight / drag / type; per-interaction live UI response (scroll, value climb, region resize, content swap); camera push-in + pan / whip-pan / pan-down servoing to each target; coordinate zoom onto the acted region; press-and-ripple on a clicked control; button press-compress; screen-state swap shot-to-shot; card fan-out to corners (spring); 3D container fly-in & tumble-settle; perspective-flatten (3D→2D snap); paginated/stepped backdrop color advance; depth-of-field focus-pull across a parallax card stack; counter count-up; pill/swatch select; modal slide-up + typing; label/title morph between states; UI-keyword highlight glow; terminal hover-scale or result-card pop-in; spring hover-backdrop on the final action button.
28
-
29
- **rule mapping**
30
-
31
- - viewport follows the cursor / camera servos to whatever it touches (primary) → `camera-cursor-tracking`
32
- - cursor moves to a target, presses, emits a ripple (the click itself — primary interaction primitive) → `cursor-click-ripple`
33
- - screen-state swap shot-to-shot (surface inner content changes between beats) → `scale-swap-transition`
34
- - camera push-in + pan / whip-pan / pan-down to the next target → `viewport-change` (pan/zoom across the UI)
35
- - sequencing the chase into discrete interaction beats → `multi-phase-camera`
36
- - zoom onto the specific acted-on UI region → `coordinate-target-zoom`
37
- - cursor icon/state changing with context (e.g. pointer↔grab over a draggable handle) → `context-sensitive-cursor`
38
- - which content appears per beat / step-by-step UI state progression / per-interaction swaps → `dynamic-content-sequencing`
39
- - sweep-highlight a field, highlight a UI keyword to `[accent color]` → `asr-keyword-glow` (keyword glow on the touched element)
40
- - clicked button compresses on press, springs back on release → `press-release-spring`
41
- - cursor + button compress together on a heavier press → `physics-press-reaction`
42
- - panel/card morphs between two states (e.g. card → expanded card, surface state A → B) → `card-morph-anchor`
43
- - terminal hover-scale, `[result card]` pop-in, spring hover-backdrop on the final action button → `spring-pop-entrance`
44
- - card fan-out to corners / option cards springing to position → `split-tilt-cards` (fan/spread into tilted positions) + `spring-pop-entrance` (the spring settle)
45
- - 3D-parallax content-card stack as the surface; UI shown 3D-isometric → `3d-page-scroll` (UI as a tilted scrolling/parallax card)
46
- - node gets an `[Available]`-style pill / tracked badge appears on an element → `ai-tracking-box`
47
- - counter / value count-up as the UI responds → `counting-dynamic-scale`
48
- - a result bar / number FILLS as the workflow's outcome → `stat-bars-and-fills`
49
- - a live `[video]` screen-capture clip used as the surface → technique: video compositing
50
- - perspective-flatten (3D-isometric → flat 2D snap) and the 3D-isometric tilt itself → technique: CSS-3D (no dedicated rule; the tilt/flatten transform is a CSS-3D primitive)
51
- - camera settles static on the payoff and HOLDS → (settle phase of `spring-pop-entrance` on the payoff element; the static hold itself needs no rule)
52
- - 3D container/object fly-in & tumble-settle → `depth-scatter-assemble` (free-tumbling 3D object/container entrance that flies in and tumble-settles; `orbit-3d-entry` only orbits a flat element into place)
53
- - depth-of-field focus-pull across the parallax card stack → `depth-of-field-blur` (rack-focus / DoF blur transition between near and far cards; `3d-page-scroll` supplies the tilted parallax stack and `viewport-change` the pan)
54
- - paginated/stepped backdrop color advance synced to interactions (`[bg step 1]`→step 2→…) → `discrete-text-sequence` (discrete state stepping, here applied to a background-color state rather than text)
55
- - modal slide-up + in-modal typing as one combined beat → `card-morph-anchor` / `scale-swap-transition` (the panel slide-in) + `discrete-text-sequence` (the in-modal typed text)
56
-
57
- **camera modifier**: The defining motion is the camera CHASE — the viewport follows the cursor from target to target via `camera-cursor-tracking` (primary), realized as concrete push-in + pan / whip-pan / pan-down moves under `viewport-change`, sequenced into discrete interaction beats by `multi-phase-camera`, with each beat's destination targeted via `coordinate-target-zoom` (zoom to the acted-on region). Product_Intro biases toward a slow, exploratory pan + focus-pull that sweeps the surface; Key_Feature biases toward snappier whip-pans / progressive zoom that march through the workflow and lock static on the action button. This camera-servo-to-cursor is what separates the blueprint from hands-off camera scrolls (dataviz-scroll-reveal) and static device/window tours.
1
+ # cursor-ui-demo — Cursor-Driven UI Demo
2
+
3
+ **intent**: A visible custom cursor drives a real (reconstructed) app UI through clicks / hovers / drags so the screen changes state shot-to-shot, while the camera chases each interaction — the product surface is the subject and the cursor is the actor.
4
+
5
+ **roles served**
6
+
7
+ - Product*Intro (from `product-intro-cursor-ui-demo` / #14 Product_Intro_02, #15 Product_Intro_2, #17 Product_Intro_04): first look at the product surface — the cursor sweeps/hovers to \_introduce* the app and reveal what it is, landing on a hovered hero element or freshly-popped result. Light, exploratory; backdrop steps colors as it goes.
8
+ - Key*Feature (from `key-feature-cursor-ui-demo` / #23 Key_Feature_2, #24 Key_Feature_03, #27 Key_Feature_06): one specific multi-step workflow demonstrated \_end-to-end* (edit / configure / select across 2–4 discrete beats), each beat a real edit the UI responds to live, landing locked on the primary action button or the produced result.
9
+ - Key_Feature (from `workflow-approve-press`): an agency / confirmation workflow framed by a cockpit of 3D-tilted flanks — a step list ticks pending → active → complete (a snap state machine, CSS responding to `[data-state]`), and a flank button takes the PRESS as the payoff (its color flips to success, a checkmark stamps). The click is the climax, not a passing gesture.
10
+
11
+ **duration**: 4.0–9.3s (union of Key_Feature 4.0–7.3s and Product_Intro 6.1–9.3s)
12
+
13
+ **shot structure** (a `[product UI surface]` — fixed app window, dashboard/editor, parallax `[content card]` stack, or a `[container object/icon]` — centered over `[bg color/gradient]`, shown `[flat]` or `[3D-isometric]`; a custom `[brand-colored cursor with icon]` is the protagonist and the camera servos to whatever it touches; UI responds _live_ and in sync with each cursor action. Two role-tuned tempos fold in — Product_Intro **sweeps to introduce**, Key_Feature **performs a workflow**.)
14
+
15
+ - **Scene 1 (0.0–~Xs) — surface establishes + first touch.** The `[product UI surface]` arrives centered over `[bg color/gradient]` — either it is simply present (fixed window / dashboard / editor), a 3D-parallax stack of `[content cards]`, or a `[container object/icon]` that FLIES IN with a 3D tumble and settles. The custom `[cursor]` enters. The cursor performs the FIRST action on `[cursor target 1]` and the UI responds live in the same beat. Camera holds or begins a slow push-in toward the acted-on region.
16
+ - _Variant — Product_Intro_: low-commitment first touch — cursor HOVERS/sweeps a control or SWEEP-HIGHLIGHTS a field to `[accent color]`, OR the `[container]` fans open. An optional label/title fades/morphs onto the surface. The point is to _show the surface exists_ and is touchable.
17
+ - _Variant — Key_Feature_: a concrete edit — cursor DRAGS a scrollbar / TYPES into a field / DRAGS a handle, and the UI responds materially (`[scroll]` / value climbs / region resizes). If the surface opened in `[3D-isometric]`, it may snap perspective-FLAT here to read the workflow.
18
+
19
+ - **Scene 2 (~Xs–~Ys) — camera chases to the next interaction (the engine).** The camera MOVES to the next target — push-in + pan / whip-pan / pan-down to `[cursor target k]` — and the cursor performs action k as the UI updates live. Each beat is a discrete interaction connected by a fast camera move; the surface's inner content SWAPS per interaction.
20
+ - _Variant — Product_Intro_: navigation is exploratory — a slow camera pan + depth-of-field FOCUS-PULL across a parallax `[content card]` stack, or the `[container]` fanning into `[N option/content cards]` that SPRING to position. As content swaps, the supporting backdrop STEPS its color (`[bg step 1]` → step 2 → …). Typically one or two such moves.
21
+ - _Variant — Key_Feature_: repeat for `[2–4 beats total]`, each a distinct operation the UI answers — counter COUNTS UP, `[pill/swatch]` SELECTS, a modal SLIDES UP and TYPES — connected by whip-pans / progressive zoom. The workflow visibly advances toward a result.
22
+
23
+ - **Scene 3 (~Ys–end) — payoff state, camera settles, HOLD.** The cursor lands on its final target and the screen reaches the payoff state; the camera comes to rest (static) and holds.
24
+ - _Variant — Product_Intro_: the cursor HOVERS the hero element — a `[content card]` SCALES UP on hover, a node gets an `[Available]`-style pill, or a `[result card]` POPS/springs in — the "here's the product" payoff. Settles static, holds.
25
+ - _Variant — Key_Feature_: locked close-up on the OUTCOME — cursor lands on the `[primary action button: Export / Save / Reimburse]` and a `[hover backdrop / highlight]` SPRING-pops in (the climax is the action button / produced result). Holds.
26
+
27
+ **motion vocabulary**: cursor-driven click / hover / sweep-highlight / drag / type; per-interaction live UI response (scroll, value climb, region resize, content swap); camera push-in + pan / whip-pan / pan-down servoing to each target; coordinate zoom onto the acted region; press-and-ripple on a clicked control; button press-compress; screen-state swap shot-to-shot; card fan-out to corners (spring); 3D container fly-in & tumble-settle; perspective-flatten (3D→2D snap); paginated/stepped backdrop color advance; depth-of-field focus-pull across a parallax card stack; counter count-up; pill/swatch select; modal slide-up + typing; label/title morph between states; UI-keyword highlight glow; terminal hover-scale or result-card pop-in; spring hover-backdrop on the final action button.
28
+
29
+ **rule mapping**
30
+
31
+ - viewport follows the cursor / camera servos to whatever it touches (primary) → `camera-cursor-tracking`
32
+ - cursor moves to a target, presses, emits a ripple (the click itself — primary interaction primitive) → `cursor-click-ripple`
33
+ - screen-state swap shot-to-shot (surface inner content changes between beats) → `scale-swap-transition`
34
+ - camera push-in + pan / whip-pan / pan-down to the next target → `viewport-change` (pan/zoom across the UI)
35
+ - sequencing the chase into discrete interaction beats → `multi-phase-camera`
36
+ - zoom onto the specific acted-on UI region → `coordinate-target-zoom`
37
+ - cursor icon/state changing with context (e.g. pointer↔grab over a draggable handle) → `context-sensitive-cursor`
38
+ - which content appears per beat / step-by-step UI state progression / per-interaction swaps → `dynamic-content-sequencing`
39
+ - sweep-highlight a field, highlight a UI keyword to `[accent color]` → `asr-keyword-glow` (keyword glow on the touched element)
40
+ - clicked button compresses on press, springs back on release → `press-release-spring`
41
+ - cursor + button compress together on a heavier press → `physics-press-reaction`
42
+ - panel/card morphs between two states (e.g. card → expanded card, surface state A → B) → `card-morph-anchor`
43
+ - terminal hover-scale, `[result card]` pop-in, spring hover-backdrop on the final action button → `spring-pop-entrance`
44
+ - card fan-out to corners / option cards springing to position → `split-tilt-cards` (fan/spread into tilted positions) + `spring-pop-entrance` (the spring settle)
45
+ - 3D-parallax content-card stack as the surface; UI shown 3D-isometric → `3d-page-scroll` (UI as a tilted scrolling/parallax card)
46
+ - node gets an `[Available]`-style pill / tracked badge appears on an element → `ai-tracking-box`
47
+ - counter / value count-up as the UI responds → `counting-dynamic-scale`
48
+ - a result bar / number FILLS as the workflow's outcome → `stat-bars-and-fills`
49
+ - a live `[video]` screen-capture clip used as the surface → technique: video compositing
50
+ - perspective-flatten (3D-isometric → flat 2D snap) and the 3D-isometric tilt itself → technique: CSS-3D (no dedicated rule; the tilt/flatten transform is a CSS-3D primitive)
51
+ - camera settles static on the payoff and HOLDS → (settle phase of `spring-pop-entrance` on the payoff element; the static hold itself needs no rule)
52
+ - 3D container/object fly-in & tumble-settle → `depth-scatter-assemble` (free-tumbling 3D object/container entrance that flies in and tumble-settles; `orbit-3d-entry` only orbits a flat element into place)
53
+ - depth-of-field focus-pull across the parallax card stack → `depth-of-field-blur` (rack-focus / DoF blur transition between near and far cards; `3d-page-scroll` supplies the tilted parallax stack and `viewport-change` the pan)
54
+ - paginated/stepped backdrop color advance synced to interactions (`[bg step 1]`→step 2→…) → `discrete-text-sequence` (discrete state stepping, here applied to a background-color state rather than text)
55
+ - modal slide-up + in-modal typing as one combined beat → `card-morph-anchor` / `scale-swap-transition` (the panel slide-in) + `discrete-text-sequence` (the in-modal typed text)
56
+
57
+ **camera modifier**: The defining motion is the camera CHASE — the viewport follows the cursor from target to target via `camera-cursor-tracking` (primary), realized as concrete push-in + pan / whip-pan / pan-down moves under `viewport-change`, sequenced into discrete interaction beats by `multi-phase-camera`, with each beat's destination targeted via `coordinate-target-zoom` (zoom to the acted-on region). Product_Intro biases toward a slow, exploratory pan + focus-pull that sweeps the surface; Key_Feature biases toward snappier whip-pans / progressive zoom that march through the workflow and lock static on the action button. This camera-servo-to-cursor is what separates the blueprint from hands-off camera scrolls (dataviz-scroll-reveal) and static device/window tours.
@@ -1,46 +1,46 @@
1
- # dataviz-countup — Data-Viz / Count-Up
2
-
3
- **intent**: Make numbers and charts the hero — a count-up ring/number, a trend chart, a tilted stat/card grid — and traverse the data instruments with a camera that pushes THROUGH them (or scrolls across them) to land on one hero metric, so the data itself carries the argument.
4
-
5
- **roles served**
6
-
7
- - Problem (from `problem-dataviz-pushthrough` / #9 Problem_1): quantifies the pain with real-looking instruments — a count-up ring → a trend chart → a stat grid — the camera pushing THROUGH each object into the next to dramatize a worsening / large-scale problem ("X% of people struggle with…").
8
- - Product_Intro (from `product-intro-dataviz-scroll-reveal` / #19 Product_Intro_06): a confident "look at the result / the data" open — hard-cut from a hook word into a perspective-tilted grid of data-viz cards, then a hands-off camera scroll lands one glowing hero metric while a kinetic tagline assembles word-by-word.
9
- - Hook (from `hook-counter-burst`): a cold-open hook on ONE dramatic statistic — the frame opens dark and empty, 3–5 thematic icons puncture in clustered at center, then the headline number EXPLODES upward in size as the icons fling outward to their marks (the count-up and the spread are one beat), closed by a slow camera lean-in. Kinetic from frame 1.
10
-
11
- **duration**: ~4–12s (Hook ~4s · Product_Intro ~6s · Problem ~11–12s)
12
-
13
- **shot structure**
14
- Data-viz field on `[bg color]` (dark or light, soft corner glows); `[gradient A→B]` brand stroke on charts/rings; clean sans-serif white/dark text; a continuous camera move runs underneath that traverses 2–3 data instruments and resolves on a hero metric. One instrument per beat; the camera carries the cut.
15
-
16
- - Scene 1 (0.0–Xs): the first data instrument establishes centered — a `[stat]` reads as the hero. A bold center number COUNTS UP `[start]`→`[end]` (font-size growing with the value), with `[stat label]` below; its paired graphic (a circular progress RING sweeping to `[pct]` with a `[gradient]` stroke, or a bar/fill) animates in on the SAME ease so number + graphic land as one beat. Supporting `[avatar/object]` elements pop in with spring overshoot into a scattered glowing orbit; a `[headline]` fades up. A very slow continuous camera zoom-in runs throughout.
17
- - Scene 2 (Xs–Ys): the camera traverses to the next instrument and that instrument animates — a `[gradient]` trend line / area chart DRAWS left→right on grid lines (Problem), or off-center cards SCROLL away as the layout glides (Product_Intro). The arriving `[stat-2]` number counts up / the chart resolves.
18
- - Scene 3 / Scene N (…–end): the camera lands the `[hero metric card]` (big number + label + delta + rising chart) in dead-center; a soft `[accent]` glow blooms behind it; the move reaches its peak then eases to a settled, slightly wider composition with the hero centered and supporting cards flanking it. HOLD on the final frame.
19
-
20
- - Variant — Problem (push-THROUGH, count-up → trend → grid): Scene 1 is a centered circular progress ring + count-up center number with scattered glowing `[avatar/object]` orbit. Scene 2 is a fast camera PUSH-IN straight through the center of the ring (ring, number, orbiting elements scale up and fly out of frame) into a rounded `[card]` holding `[stat-2 header]` over a `[gradient]` line chart with grid lines + translucent area fill that draws left→right; camera pushes through then settles. Scene 3: camera PANS to a second `[card]` whose number counts up, holding a grid of the `[avatar/object]` elements — a subset dim/blur while the rest receive `[accent]` circular checkmark badges that SPRING-POP; camera settles to the end. The traversal is z-depth push-through between instruments.
21
- - Variant — Product_Intro (scroll-to-hero + word-by-word tagline): a brief opener — Scene 0 (~0.0–0.85s): a full-frame `[hero-color orb]` with a bold white `[hook phrase]` over it; static shimmer, then HARD CUT. Scene 1 cuts to a slightly perspective-TILTED grid of `[data-viz / product cards]` (charts, heatmaps, stat cards with deltas + source footers) with `[tagline word 1]` centered; the grid begins SCROLLING (e.g. toward upper-left) with its tilt held. Scene 2: the grid keeps scrolling so the `[hero metric card]` glides into dead-center as off-center cards slide away; `[tagline word 1]` translates out and `[word 2]` rises in from a frame edge. Scene 3: hero card settles centered, `[accent]` glow blooms behind it, camera PUSHES IN slightly; `[word 2]` holds near it. Scene 4: `[word 2]` slides out, the final `[tagline word]` drops in from the opposite edge above the still-glowing hero, push-in peaks. Scene 5: overlay type clears, camera eases BACK OUT to a settled wider tilted composition — hero centered with glow, supporting cards flanking. The traversal is a hands-off camera SCROLL across a tilted card plane (no cursor, no clicks) + a one-word-at-a-time kinetic headline + push-in-then-out bookend.
22
-
23
- **motion vocabulary**
24
- count-up number with font-size growing on the value; circular progress-ring sweep; growth bar / progress fill; gradient trend-line + area-fill left→right draw; spring-overshoot pop-in of scattered glowing avatar/object elements; perspective-tilted card grid; directional grid scroll (cards glide in/out of center); hero-card centering; soft accent glow bloom behind the hero; slow continuous zoom-in; fast camera push-IN / push-THROUGH the center of an instrument; lateral/vertical camera pan between cards; gentle push-in that peaks then eases back out to a wider settle; selective dim/blur of a subset + spring-pop checkmark badges; full-frame hook orb → hard cut; kinetic tagline assembled word-by-word (each word drops/rises from a frame edge, prior word slides out).
25
-
26
- **rule mapping** (motion verb → `rules/<id>.md`)
27
-
28
- - count-up number whose font-size grows with the value → `counting-dynamic-scale` (primary text rule)
29
- - circular progress-ring sweep (the ring fill) → `stat-bars-and-fills` (ring form) — its draw mechanics delegate to → `svg-path-draw`
30
- - growth bars / progress fill paired beside a number → `stat-bars-and-fills` (primary data rule)
31
- - gradient trend-line / area-chart left→right draw → `svg-path-draw` (a path/line draws itself)
32
- - spring-overshoot pop-in of the avatar/object elements → `spring-pop-entrance` (elastic overshoot); the scattered-ring layout of glowing avatars/objects → `avatar-cloud-network`; if they keep drifting/orbiting → `orbit-3d-entry`
33
- - spring-pop `[accent]` checkmark badges → `spring-pop-entrance`
34
- - perspective-tilted card grid (tilt held static while content moves) → `3d-page-scroll`
35
- - directional scroll across the tilted card plane (cards glide in/out of center) → `3d-page-scroll` (scroll) + `viewport-change` (lateral/vertical pan form)
36
- - hero metric card centering (scroll/pan lands the target dead-center) → `coordinate-target-zoom` (target lands at viewport center) / `viewport-change`
37
- - hard-cut from the hook orb into the grid → `scale-swap-transition`
38
- - kinetic tagline assembled word-by-word → `kinetic-beat-slam` (one onset grid, distinct per-word entrances)
39
- - slow continuous zoom-in + push-THROUGH the instruments + lateral/vertical pan between cards + push-in-then-out bookend → `multi-phase-camera` (see camera modifier)
40
- - soft accent glow BLOOM behind the hero card → `ambient-glow-bloom` (un-triggered soft glow/bloom behind the static hero element — distinct from `press-release-spring`'s press-triggered glow and `asr-keyword-glow`'s word-timed envelope)
41
- - selective dim/blur of a SUBSET of grid items (focus-falloff on the non-highlighted cards) → `depth-of-field-blur` (selective per-element blur/dim to spotlight the highlighted cards — the same focus-falloff rule used in `constellation-hub`)
42
-
43
- **camera modifier**: The camera is the through-line that traverses the data instruments — one camera wrapper sequenced by `multi-phase-camera`, with each stop targeted via `coordinate-target-zoom` onto the focal instrument/card.
44
-
45
- - Problem — push-THROUGH: a slow continuous zoom-in (drift overlay) plus a fast PUSH-IN straight through the center of one instrument into the next (`multi-phase-camera`, Steady-push pattern), then a lateral/vertical PAN to the final card. Z-depth push-through is the signature (distinguishes it from a flat pan-tour).
46
- - Product_Intro — scroll-to-hero + bookend push: a hands-off directional SCROLL across the tilted card plane (`3d-page-scroll` scroll / `viewport-change` pan) that lands the hero card center, then a gentle push-in that PEAKS and eases BACK OUT to a wider settle (`multi-phase-camera`, Bookend-pull pattern). No cursor, no clicks — the camera does the navigating.
1
+ # dataviz-countup — Data-Viz / Count-Up
2
+
3
+ **intent**: Make numbers and charts the hero — a count-up ring/number, a trend chart, a tilted stat/card grid — and traverse the data instruments with a camera that pushes THROUGH them (or scrolls across them) to land on one hero metric, so the data itself carries the argument.
4
+
5
+ **roles served**
6
+
7
+ - Problem (from `problem-dataviz-pushthrough` / #9 Problem_1): quantifies the pain with real-looking instruments — a count-up ring → a trend chart → a stat grid — the camera pushing THROUGH each object into the next to dramatize a worsening / large-scale problem ("X% of people struggle with…").
8
+ - Product_Intro (from `product-intro-dataviz-scroll-reveal` / #19 Product_Intro_06): a confident "look at the result / the data" open — hard-cut from a hook word into a perspective-tilted grid of data-viz cards, then a hands-off camera scroll lands one glowing hero metric while a kinetic tagline assembles word-by-word.
9
+ - Hook (from `hook-counter-burst`): a cold-open hook on ONE dramatic statistic — the frame opens dark and empty, 3–5 thematic icons puncture in clustered at center, then the headline number EXPLODES upward in size as the icons fling outward to their marks (the count-up and the spread are one beat), closed by a slow camera lean-in. Kinetic from frame 1.
10
+
11
+ **duration**: ~4–12s (Hook ~4s · Product_Intro ~6s · Problem ~11–12s)
12
+
13
+ **shot structure**
14
+ Data-viz field on `[bg color]` (dark or light, soft corner glows); `[gradient A→B]` brand stroke on charts/rings; clean sans-serif white/dark text; a continuous camera move runs underneath that traverses 2–3 data instruments and resolves on a hero metric. One instrument per beat; the camera carries the cut.
15
+
16
+ - Scene 1 (0.0–Xs): the first data instrument establishes centered — a `[stat]` reads as the hero. A bold center number COUNTS UP `[start]`→`[end]` (font-size growing with the value), with `[stat label]` below; its paired graphic (a circular progress RING sweeping to `[pct]` with a `[gradient]` stroke, or a bar/fill) animates in on the SAME ease so number + graphic land as one beat. Supporting `[avatar/object]` elements pop in with spring overshoot into a scattered glowing orbit; a `[headline]` fades up. A very slow continuous camera zoom-in runs throughout.
17
+ - Scene 2 (Xs–Ys): the camera traverses to the next instrument and that instrument animates — a `[gradient]` trend line / area chart DRAWS left→right on grid lines (Problem), or off-center cards SCROLL away as the layout glides (Product_Intro). The arriving `[stat-2]` number counts up / the chart resolves.
18
+ - Scene 3 / Scene N (…–end): the camera lands the `[hero metric card]` (big number + label + delta + rising chart) in dead-center; a soft `[accent]` glow blooms behind it; the move reaches its peak then eases to a settled, slightly wider composition with the hero centered and supporting cards flanking it. HOLD on the final frame.
19
+
20
+ - Variant — Problem (push-THROUGH, count-up → trend → grid): Scene 1 is a centered circular progress ring + count-up center number with scattered glowing `[avatar/object]` orbit. Scene 2 is a fast camera PUSH-IN straight through the center of the ring (ring, number, orbiting elements scale up and fly out of frame) into a rounded `[card]` holding `[stat-2 header]` over a `[gradient]` line chart with grid lines + translucent area fill that draws left→right; camera pushes through then settles. Scene 3: camera PANS to a second `[card]` whose number counts up, holding a grid of the `[avatar/object]` elements — a subset dim/blur while the rest receive `[accent]` circular checkmark badges that SPRING-POP; camera settles to the end. The traversal is z-depth push-through between instruments.
21
+ - Variant — Product_Intro (scroll-to-hero + word-by-word tagline): a brief opener — Scene 0 (~0.0–0.85s): a full-frame `[hero-color orb]` with a bold white `[hook phrase]` over it; static shimmer, then HARD CUT. Scene 1 cuts to a slightly perspective-TILTED grid of `[data-viz / product cards]` (charts, heatmaps, stat cards with deltas + source footers) with `[tagline word 1]` centered; the grid begins SCROLLING (e.g. toward upper-left) with its tilt held. Scene 2: the grid keeps scrolling so the `[hero metric card]` glides into dead-center as off-center cards slide away; `[tagline word 1]` translates out and `[word 2]` rises in from a frame edge. Scene 3: hero card settles centered, `[accent]` glow blooms behind it, camera PUSHES IN slightly; `[word 2]` holds near it. Scene 4: `[word 2]` slides out, the final `[tagline word]` drops in from the opposite edge above the still-glowing hero, push-in peaks. Scene 5: overlay type clears, camera eases BACK OUT to a settled wider tilted composition — hero centered with glow, supporting cards flanking. The traversal is a hands-off camera SCROLL across a tilted card plane (no cursor, no clicks) + a one-word-at-a-time kinetic headline + push-in-then-out bookend.
22
+
23
+ **motion vocabulary**
24
+ count-up number with font-size growing on the value; circular progress-ring sweep; growth bar / progress fill; gradient trend-line + area-fill left→right draw; spring-overshoot pop-in of scattered glowing avatar/object elements; perspective-tilted card grid; directional grid scroll (cards glide in/out of center); hero-card centering; soft accent glow bloom behind the hero; slow continuous zoom-in; fast camera push-IN / push-THROUGH the center of an instrument; lateral/vertical camera pan between cards; gentle push-in that peaks then eases back out to a wider settle; selective dim/blur of a subset + spring-pop checkmark badges; full-frame hook orb → hard cut; kinetic tagline assembled word-by-word (each word drops/rises from a frame edge, prior word slides out).
25
+
26
+ **rule mapping** (motion verb → `rules/<id>.md`)
27
+
28
+ - count-up number whose font-size grows with the value → `counting-dynamic-scale` (primary text rule)
29
+ - circular progress-ring sweep (the ring fill) → `stat-bars-and-fills` (ring form) — its draw mechanics delegate to → `svg-path-draw`
30
+ - growth bars / progress fill paired beside a number → `stat-bars-and-fills` (primary data rule)
31
+ - gradient trend-line / area-chart left→right draw → `svg-path-draw` (a path/line draws itself)
32
+ - spring-overshoot pop-in of the avatar/object elements → `spring-pop-entrance` (elastic overshoot); the scattered-ring layout of glowing avatars/objects → `avatar-cloud-network`; if they keep drifting/orbiting → `orbit-3d-entry`
33
+ - spring-pop `[accent]` checkmark badges → `spring-pop-entrance`
34
+ - perspective-tilted card grid (tilt held static while content moves) → `3d-page-scroll`
35
+ - directional scroll across the tilted card plane (cards glide in/out of center) → `3d-page-scroll` (scroll) + `viewport-change` (lateral/vertical pan form)
36
+ - hero metric card centering (scroll/pan lands the target dead-center) → `coordinate-target-zoom` (target lands at viewport center) / `viewport-change`
37
+ - hard-cut from the hook orb into the grid → `scale-swap-transition`
38
+ - kinetic tagline assembled word-by-word → `kinetic-beat-slam` (one onset grid, distinct per-word entrances)
39
+ - slow continuous zoom-in + push-THROUGH the instruments + lateral/vertical pan between cards + push-in-then-out bookend → `multi-phase-camera` (see camera modifier)
40
+ - soft accent glow BLOOM behind the hero card → `ambient-glow-bloom` (un-triggered soft glow/bloom behind the static hero element — distinct from `press-release-spring`'s press-triggered glow and `asr-keyword-glow`'s word-timed envelope)
41
+ - selective dim/blur of a SUBSET of grid items (focus-falloff on the non-highlighted cards) → `depth-of-field-blur` (selective per-element blur/dim to spotlight the highlighted cards — the same focus-falloff rule used in `constellation-hub`)
42
+
43
+ **camera modifier**: The camera is the through-line that traverses the data instruments — one camera wrapper sequenced by `multi-phase-camera`, with each stop targeted via `coordinate-target-zoom` onto the focal instrument/card.
44
+
45
+ - Problem — push-THROUGH: a slow continuous zoom-in (drift overlay) plus a fast PUSH-IN straight through the center of one instrument into the next (`multi-phase-camera`, Steady-push pattern), then a lateral/vertical PAN to the final card. Z-depth push-through is the signature (distinguishes it from a flat pan-tour).
46
+ - Product_Intro — scroll-to-hero + bookend push: a hands-off directional SCROLL across the tilted card plane (`3d-page-scroll` scroll / `viewport-change` pan) that lands the hero card center, then a gentle push-in that PEAKS and eases BACK OUT to a wider settle (`multi-phase-camera`, Bookend-pull pattern). No cursor, no clicks — the camera does the navigating.
@@ -1,53 +1,53 @@
1
- # device-surface-showcase — Device / Surface Showcase
2
-
3
- **intent**: A product surface — a device mockup or a floating browser/app window — is the hero held in frame while its screens cycle through a real flow, showcased by a camera move that ranges from a static hold to a continuous 3D push.
4
-
5
- **roles served**
6
-
7
- - Key*Feature (from key-feature-device-screen-tour, key-feature-floating-window-scroll, key-feature-3d-device-hand-demo): show a feature being \_experienced inside its real interface* — the surface houses the action and its screens advance through a flow, rather than enumerating tiles or chasing a cursor across a workflow. (Note: all three drafts are Key_Feature; this blueprint is role-narrow but mechanic-rich — variants differ by MECHANIC, not role.)
8
- - Key_Feature (from demo-page-scroll-spotlight): the floating-window push-scroll variant carried to a spotlight climax — a real webpage rendered as a tilted 3D card coasts in (power2, like a phone held up — no spring), header keywords flare on a karaoke glow as the VO names them, the page rolls to the demoed section, and one element LIFTS off the surface (translateZ + scale) under a radial spotlight that dims the rest.
9
-
10
- **duration**: 5–9.6s (page-scroll-spotlight 5–9s · floating-window 7.8s · 3d-hand 7.9s · device-tour 9.6s)
11
-
12
- **shot structure**
13
- One product surface — a `[device mockup]` or a `[floating browser/app window]` — is the persistent hero on a `[styled backdrop: gradient / radial / stylized 3D void]`; its `[screens/sections]` cycle through a real `[product flow]` while a showcase camera (static-hold, push-in→zoom-out, or one continuous push) presents it. Each screen state holds ~1.0–1.5s.
14
-
15
- - Scene 1 (0.0–~1.5s): The surface ESTABLISHES — it `[slides in from an edge / drifts in from a tilt / dissolves from a full-frame title card]` and settles, with a `[accent shape or backdrop]` resolving behind it; the first `[screen]` is visible. The showcase camera begins (see variants).
16
- - Scene 2 (~1.5–~Xs): The surface is OPERATED on its own face — a `[tap/select/scroll]` triggers the first screen advance: old content `[pushes out / scrolls up]`, new `[screen/section]` `[pulls up / pushes in from the side]`; concurrently a `[label / header word / side headline]` updates. The camera continues its move.
17
- - Scene 3+ (~Xs–end, repeat for `[2–4 screen beats]`): The surface ADVANCES through successive `[screens/sections]`, each a discrete swap or scroll synced to the surface's flow, while the secondary copy `[swaps out-up / in-up]` or stays marked to hold reading position. HOLDS on the final `[screen]` (or, for one variant, blooms out — see variant).
18
-
19
- - Variant — static-tour (key-feature-device-screen-tour, 9.6s): a `[device mockup]` slides in from off-screen and settles (ease-out); an `[accent-color shape]` scales up behind it (spring overshoot). Camera STAYS STATIC the entire clip — all motion is element/UI-level: a tap COMPRESSES a button (95%→100%), the UI scrolls/transitions to the next view (old pushes out, new pulls up), and a `[side headline]` SWAPS beside the device (old slides up + fades, new slides up + in) per screen. Holds on the final screen. No camera move, no cursor.
20
- - Variant — floating-window (key-feature-floating-window-scroll, 7.8s): OPENS on a full-frame `[title card]` (a small `[icon]` draws in at center, `[feature name]` below; holds ~2s), which DISSOLVES to a `[macOS-style browser/app window]` floating on a `[vivid gradient]` (traffic-lights + `[URL pill]` + tabs; left nav, central content, right `[sidebar]`). Camera PUSHES IN on a `[target region/sidebar]` (active item highlighted `[accent]`, a cursor drifts down the list), then ZOOMS BACK OUT to re-frame the whole window while the content SCROLLS through `[sections]`; the `[highlighted item]` stays marked. One push-in→zoom-out arc, gated by the title-card opener.
21
- - Variant — 3d-hand (key-feature-3d-device-hand-demo, 7.9s): FULLY 3D — a `[3D device]` drifts in a `[stylized 3D void / bloom + particles]`, opening tilted and self-rotating to face the lens nearly flat as ONE CONTINUOUS forward camera push begins (no cuts). A glossy `[3D hand]` rises from the bottom-foreground and GESTURE-DRIVES the surface: it swipes to scroll a `[picker/sidebar panel]` of `[option cards]` and taps `[option]` (while a `[header word]` letter-flips in place); the selection APPLIES — a `[new layout]` grows from center to fill the device face, nav flips, a `[marquee]` scrolls horizontally; the hand swipes again to scroll the page upward through `[sections]`, then drifts out. The camera never stops pushing; the bright device face keeps growing toward the lens until it BLOOMS into a `[light]` wash — a zoom-through "portal" exit that fills the frame.
22
-
23
- **motion vocabulary**
24
- surface establish (edge slide-in + settle / tilt drift-in + self-rotate-to-camera / title-card dissolve); accent shape spring behind surface; element-level screen-cycling (scroll-swap, push-in-from-side, scale-swap); button tap-compress; staggered side-headline reveal + copy swap (out-up / in-up); in-place header-word letter-flip; floating browser-window-on-gradient idle float; full-frame title-card opener (icon draw-in + label); camera push-IN on a region; camera zoom-OUT re-frame; content scroll-through; one continuous 3D camera-follow push (no cuts); 3D device drift + self-rotate; stylized-environment bloom/particles; 3D-hand entrance + swipe-scroll + tap (gesture-driven); picker-panel slide-in; template-apply grow-from-center; horizontal marquee scroll; gesture-driven page scroll; zoom-through bloom/portal exit; static-hold (no camera) as the floor of the camera range.
25
-
26
- **rule mapping** (per motion verb → backing rule, or flagged special)
27
-
28
- - screen-cycling — UI scrolls/sections scroll inside the surface (device-tour, floating-window scroll, 3d-hand page scroll) → `3d-page-scroll` (webpage/app as a tilted card whose content `translateY`-scrolls to sections; primary mechanic for the surface's screen flow)
29
- - floating-window establish + the surface presented as a tilted/floating UI card → `3d-page-scroll` (the tilt/perspective framing) + `css-3d-transforms` (perspective/`translateZ` depth)
30
- - screen / side-copy state swaps (discrete screen states; side headline content swapping per beat) → `discrete-text-sequence`
31
- - side-headline reveal (staggered fade + slide-up) → `discrete-text-sequence`
32
- - in-place header-word letter-flip (3d-hand) → `hacker-flip-3d`
33
- - screen swap as a coordinated shrink-out / pop-in between two screen states → `scale-swap-transition`
34
- - template-apply "new layout grows from center to fill the face" (3d-hand) → `center-outward-expansion` (clustered-at-center → expand to fill)
35
- - the surface morphing between states / title-card→window dissolve as the eye-anchor transition → `card-morph-anchor`
36
- - button tap-compress (95%→100% press feedback) → `press-release-spring` (or `physics-press-reaction` for a heavier press)
37
- - floating-window cursor click on the highlighted list item → `cursor-click-ripple`
38
- - accent-highlight pop on the active sidebar/list item → `asr-keyword-glow` (accent glow on the focused item)
39
- - drifting cursor down the sidebar list (floating-window) → `camera-cursor-tracking` (flat-cursor drift; pairs with the push-in)
40
- - floating browser-window idle float / 3D device drift-breathe → `sine-wave-loop`
41
- - 3D device drift + self-rotate-to-camera + perspective depth (3d-hand) → `css-3d-transforms` (CSS-3D) **or** `3d.md` technique (true Three.js/R3F device); see camera modifier
42
- - horizontal `[marquee]` scroll (3d-hand) → `viewport-change` (PAN mode on the marquee strip) — _thin fit; a literal CSS-marquee/translateX loop is closer to a `gsap-effects`/CSS recipe than a named motion rule_
43
- - 3D-hand entrance + swipe + tap as the interaction DRIVER (gesture input that scrolls/selects) → **flagged special — needs a heavier capability beyond the rule library (R3F/Three.js + WebGL), NOT a motion-shape rule.** The 3D hand model + WebGL bloom have a _technique_ backing (`3d.md` — R3F, `useGLTF` HandModel, `--gl=swiftshader` for the shader/bloom), but no motion-shape rule models a 3D hand as the swipe-to-scroll / tap-to-select gesture protocol. `context-sensitive-cursor` / `camera-cursor-tracking` only model a flat typing/pointer cursor, not a 3D gesturing hand.
44
- - zoom-through bloom / portal exit (3d-hand) → **flagged special — needs a heavier capability beyond the rule library (WebGL), NOT a named transition rule.** Capability is `techniques.md` → WebGL shader (via `3d.md` headless WebGL: `--gl=swiftshader --concurrency=1`), but no named transition rule covers a bloom/portal fly-through.
45
-
46
- **camera modifier**: The showcase camera spans a RANGE keyed by variant, all on a single content-wrapping virtual camera (`viewport-change`):
47
-
48
- - static-tour → NO camera move (`viewport-change` held at scale 1, or omitted); all motion is element-level. This is the floor of the range and what distinguishes the device-tour from the rest.
49
- - floating-window → a two-phase push-in → zoom-out arc → `multi-phase-camera` (e.g. dramatic-reveal 1.1→1.0→0.95 feel): push IN on the `[sidebar/region]` via `coordinate-target-zoom` (off-center target = scale + counter-translate), then `multi-phase-camera` zooms back OUT to re-frame the whole window while content scrolls.
50
- - 3d-hand → ONE continuous forward push (no cuts) → `multi-phase-camera` in steady-push mode (1.0→1.03→1.06… plus its sine micro-drift) layered over `css-3d-transforms`/`3d.md` so the device self-rotates-to-lens during the push; the push runs unbroken into the bloom/portal exit (exit itself is the WebGL-shader flagged special above).
51
- Across all three: `viewport-change` is the base virtual-camera primitive; `multi-phase-camera` sequences the push/zoom phases (and supplies the always-on micro-drift that keeps even the "static" tour from feeling dead); `coordinate-target-zoom` aims the push at off-center screen detail.
52
-
53
- **Overflow (pan/scroll surfaces — required for a clean `inspect`):** a panned or scrolled surface deliberately moves content PAST the edges of its framing card. Clip it at the card (`overflow: hidden` on the card/window) AND mark the moving inner layer (the `.world` / surface wrapper holding the screenshot + any markers/labels) with `data-layout-allow-overflow` — otherwise `inspect` reports `text_box_overflow` / `container_overflow` ERRORS for the parts that scroll off (e.g. a marker label panned off the left edge). The card clips them visually; the attribute tells `inspect` it's intentional, not a layout bug.
1
+ # device-surface-showcase — Device / Surface Showcase
2
+
3
+ **intent**: A product surface — a device mockup or a floating browser/app window — is the hero held in frame while its screens cycle through a real flow, showcased by a camera move that ranges from a static hold to a continuous 3D push.
4
+
5
+ **roles served**
6
+
7
+ - Key*Feature (from key-feature-device-screen-tour, key-feature-floating-window-scroll, key-feature-3d-device-hand-demo): show a feature being \_experienced inside its real interface* — the surface houses the action and its screens advance through a flow, rather than enumerating tiles or chasing a cursor across a workflow. (Note: all three drafts are Key_Feature; this blueprint is role-narrow but mechanic-rich — variants differ by MECHANIC, not role.)
8
+ - Key_Feature (from demo-page-scroll-spotlight): the floating-window push-scroll variant carried to a spotlight climax — a real webpage rendered as a tilted 3D card coasts in (power2, like a phone held up — no spring), header keywords flare on a karaoke glow as the VO names them, the page rolls to the demoed section, and one element LIFTS off the surface (translateZ + scale) under a radial spotlight that dims the rest.
9
+
10
+ **duration**: 5–9.6s (page-scroll-spotlight 5–9s · floating-window 7.8s · 3d-hand 7.9s · device-tour 9.6s)
11
+
12
+ **shot structure**
13
+ One product surface — a `[device mockup]` or a `[floating browser/app window]` — is the persistent hero on a `[styled backdrop: gradient / radial / stylized 3D void]`; its `[screens/sections]` cycle through a real `[product flow]` while a showcase camera (static-hold, push-in→zoom-out, or one continuous push) presents it. Each screen state holds ~1.0–1.5s.
14
+
15
+ - Scene 1 (0.0–~1.5s): The surface ESTABLISHES — it `[slides in from an edge / drifts in from a tilt / dissolves from a full-frame title card]` and settles, with a `[accent shape or backdrop]` resolving behind it; the first `[screen]` is visible. The showcase camera begins (see variants).
16
+ - Scene 2 (~1.5–~Xs): The surface is OPERATED on its own face — a `[tap/select/scroll]` triggers the first screen advance: old content `[pushes out / scrolls up]`, new `[screen/section]` `[pulls up / pushes in from the side]`; concurrently a `[label / header word / side headline]` updates. The camera continues its move.
17
+ - Scene 3+ (~Xs–end, repeat for `[2–4 screen beats]`): The surface ADVANCES through successive `[screens/sections]`, each a discrete swap or scroll synced to the surface's flow, while the secondary copy `[swaps out-up / in-up]` or stays marked to hold reading position. HOLDS on the final `[screen]` (or, for one variant, blooms out — see variant).
18
+
19
+ - Variant — static-tour (key-feature-device-screen-tour, 9.6s): a `[device mockup]` slides in from off-screen and settles (ease-out); an `[accent-color shape]` scales up behind it (spring overshoot). Camera STAYS STATIC the entire clip — all motion is element/UI-level: a tap COMPRESSES a button (95%→100%), the UI scrolls/transitions to the next view (old pushes out, new pulls up), and a `[side headline]` SWAPS beside the device (old slides up + fades, new slides up + in) per screen. Holds on the final screen. No camera move, no cursor.
20
+ - Variant — floating-window (key-feature-floating-window-scroll, 7.8s): OPENS on a full-frame `[title card]` (a small `[icon]` draws in at center, `[feature name]` below; holds ~2s), which DISSOLVES to a `[macOS-style browser/app window]` floating on a `[vivid gradient]` (traffic-lights + `[URL pill]` + tabs; left nav, central content, right `[sidebar]`). Camera PUSHES IN on a `[target region/sidebar]` (active item highlighted `[accent]`, a cursor drifts down the list), then ZOOMS BACK OUT to re-frame the whole window while the content SCROLLS through `[sections]`; the `[highlighted item]` stays marked. One push-in→zoom-out arc, gated by the title-card opener.
21
+ - Variant — 3d-hand (key-feature-3d-device-hand-demo, 7.9s): FULLY 3D — a `[3D device]` drifts in a `[stylized 3D void / bloom + particles]`, opening tilted and self-rotating to face the lens nearly flat as ONE CONTINUOUS forward camera push begins (no cuts). A glossy `[3D hand]` rises from the bottom-foreground and GESTURE-DRIVES the surface: it swipes to scroll a `[picker/sidebar panel]` of `[option cards]` and taps `[option]` (while a `[header word]` letter-flips in place); the selection APPLIES — a `[new layout]` grows from center to fill the device face, nav flips, a `[marquee]` scrolls horizontally; the hand swipes again to scroll the page upward through `[sections]`, then drifts out. The camera never stops pushing; the bright device face keeps growing toward the lens until it BLOOMS into a `[light]` wash — a zoom-through "portal" exit that fills the frame.
22
+
23
+ **motion vocabulary**
24
+ surface establish (edge slide-in + settle / tilt drift-in + self-rotate-to-camera / title-card dissolve); accent shape spring behind surface; element-level screen-cycling (scroll-swap, push-in-from-side, scale-swap); button tap-compress; staggered side-headline reveal + copy swap (out-up / in-up); in-place header-word letter-flip; floating browser-window-on-gradient idle float; full-frame title-card opener (icon draw-in + label); camera push-IN on a region; camera zoom-OUT re-frame; content scroll-through; one continuous 3D camera-follow push (no cuts); 3D device drift + self-rotate; stylized-environment bloom/particles; 3D-hand entrance + swipe-scroll + tap (gesture-driven); picker-panel slide-in; template-apply grow-from-center; horizontal marquee scroll; gesture-driven page scroll; zoom-through bloom/portal exit; static-hold (no camera) as the floor of the camera range.
25
+
26
+ **rule mapping** (per motion verb → backing rule, or flagged special)
27
+
28
+ - screen-cycling — UI scrolls/sections scroll inside the surface (device-tour, floating-window scroll, 3d-hand page scroll) → `3d-page-scroll` (webpage/app as a tilted card whose content `translateY`-scrolls to sections; primary mechanic for the surface's screen flow)
29
+ - floating-window establish + the surface presented as a tilted/floating UI card → `3d-page-scroll` (the tilt/perspective framing) + `css-3d-transforms` (perspective/`translateZ` depth)
30
+ - screen / side-copy state swaps (discrete screen states; side headline content swapping per beat) → `discrete-text-sequence`
31
+ - side-headline reveal (staggered fade + slide-up) → `discrete-text-sequence`
32
+ - in-place header-word letter-flip (3d-hand) → `hacker-flip-3d`
33
+ - screen swap as a coordinated shrink-out / pop-in between two screen states → `scale-swap-transition`
34
+ - template-apply "new layout grows from center to fill the face" (3d-hand) → `center-outward-expansion` (clustered-at-center → expand to fill)
35
+ - the surface morphing between states / title-card→window dissolve as the eye-anchor transition → `card-morph-anchor`
36
+ - button tap-compress (95%→100% press feedback) → `press-release-spring` (or `physics-press-reaction` for a heavier press)
37
+ - floating-window cursor click on the highlighted list item → `cursor-click-ripple`
38
+ - accent-highlight pop on the active sidebar/list item → `asr-keyword-glow` (accent glow on the focused item)
39
+ - drifting cursor down the sidebar list (floating-window) → `camera-cursor-tracking` (flat-cursor drift; pairs with the push-in)
40
+ - floating browser-window idle float / 3D device drift-breathe → `sine-wave-loop`
41
+ - 3D device drift + self-rotate-to-camera + perspective depth (3d-hand) → `css-3d-transforms` (CSS-3D) **or** `3d.md` technique (true Three.js/R3F device); see camera modifier
42
+ - horizontal `[marquee]` scroll (3d-hand) → `viewport-change` (PAN mode on the marquee strip) — _thin fit; a literal CSS-marquee/translateX loop is closer to a `gsap-effects`/CSS recipe than a named motion rule_
43
+ - 3D-hand entrance + swipe + tap as the interaction DRIVER (gesture input that scrolls/selects) → **flagged special — needs a heavier capability beyond the rule library (R3F/Three.js + WebGL), NOT a motion-shape rule.** The 3D hand model + WebGL bloom have a _technique_ backing (`3d.md` — R3F, `useGLTF` HandModel, `--gl=swiftshader` for the shader/bloom), but no motion-shape rule models a 3D hand as the swipe-to-scroll / tap-to-select gesture protocol. `context-sensitive-cursor` / `camera-cursor-tracking` only model a flat typing/pointer cursor, not a 3D gesturing hand.
44
+ - zoom-through bloom / portal exit (3d-hand) → **flagged special — needs a heavier capability beyond the rule library (WebGL), NOT a named transition rule.** Capability is `techniques.md` → WebGL shader (via `3d.md` headless WebGL: `--gl=swiftshader --concurrency=1`), but no named transition rule covers a bloom/portal fly-through.
45
+
46
+ **camera modifier**: The showcase camera spans a RANGE keyed by variant, all on a single content-wrapping virtual camera (`viewport-change`):
47
+
48
+ - static-tour → NO camera move (`viewport-change` held at scale 1, or omitted); all motion is element-level. This is the floor of the range and what distinguishes the device-tour from the rest.
49
+ - floating-window → a two-phase push-in → zoom-out arc → `multi-phase-camera` (e.g. dramatic-reveal 1.1→1.0→0.95 feel): push IN on the `[sidebar/region]` via `coordinate-target-zoom` (off-center target = scale + counter-translate), then `multi-phase-camera` zooms back OUT to re-frame the whole window while content scrolls.
50
+ - 3d-hand → ONE continuous forward push (no cuts) → `multi-phase-camera` in steady-push mode (1.0→1.03→1.06… plus its sine micro-drift) layered over `css-3d-transforms`/`3d.md` so the device self-rotates-to-lens during the push; the push runs unbroken into the bloom/portal exit (exit itself is the WebGL-shader flagged special above).
51
+ Across all three: `viewport-change` is the base virtual-camera primitive; `multi-phase-camera` sequences the push/zoom phases (and supplies the always-on micro-drift that keeps even the "static" tour from feeling dead); `coordinate-target-zoom` aims the push at off-center screen detail.
52
+
53
+ **Overflow (pan/scroll surfaces — required for a clean `inspect`):** a panned or scrolled surface deliberately moves content PAST the edges of its framing card. Clip it at the card (`overflow: hidden` on the card/window) AND mark the moving inner layer (the `.world` / surface wrapper holding the screenshot + any markers/labels) with `data-layout-allow-overflow` — otherwise `inspect` reports `text_box_overflow` / `container_overflow` ERRORS for the parts that scroll off (e.g. a marker label panned off the left edge). The card clips them visually; the attribute tells `inspect` it's intentional, not a layout bug.