hyper-animator-codex 0.7.1 → 0.8.0

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 (318) hide show
  1. package/README.md +51 -3
  2. package/bin/hyper-animator-codex.mjs +1 -1
  3. package/lib/minimax-config.mjs +3 -3
  4. package/package.json +1 -1
  5. package/skills/hyper-animator-codex/SKILL.md +58 -20
  6. package/skills/hyper-animator-codex/agents/openai.yaml +2 -2
  7. package/skills/hyper-animator-codex/contracts/shot-plan.schema.json +214 -0
  8. package/skills/hyper-animator-codex/contracts/workflow-policy.json +85 -0
  9. package/skills/hyper-animator-codex/references/HyperFrames-AI-Generation-Patterns-codex.md +788 -0
  10. package/skills/hyper-animator-codex/references/beat-sync-workflow.md +7 -0
  11. package/skills/hyper-animator-codex/references/examples/shot-plan-dual-catalog.json +69 -0
  12. package/skills/hyper-animator-codex/references/hyperframes-agent-pseudocode.ts +1 -1
  13. package/skills/hyper-animator-codex/references/hyperframes-catalog-map.json +97 -230
  14. package/skills/hyper-animator-codex/references/hyperframes-intent-workflow.md +23 -7
  15. package/skills/hyper-animator-codex/references/minimax-music-workflow.md +24 -4
  16. package/skills/hyper-animator-codex/references/narration-audio-workflow.md +31 -1
  17. package/skills/hyper-animator-codex/references/shotcraft/LICENSE +202 -0
  18. package/skills/hyper-animator-codex/references/shotcraft/cards/ai-stream-response/README.md +46 -0
  19. package/skills/hyper-animator-codex/references/shotcraft/cards/autolayout-gap-dial/README.md +53 -0
  20. package/skills/hyper-animator-codex/references/shotcraft/cards/beat-cut-moves/README.md +54 -0
  21. package/skills/hyper-animator-codex/references/shotcraft/cards/beat-step-list-theme-cycle/README.md +59 -0
  22. package/skills/hyper-animator-codex/references/shotcraft/cards/before-after-slider-scrub/README.md +47 -0
  23. package/skills/hyper-animator-codex/references/shotcraft/cards/bottom-push-stack-wipe/README.md +58 -0
  24. package/skills/hyper-animator-codex/references/shotcraft/cards/brand-frame-snap/README.md +51 -0
  25. package/skills/hyper-animator-codex/references/shotcraft/cards/brand-ink-open/README.md +35 -0
  26. package/skills/hyper-animator-codex/references/shotcraft/cards/bubble-swarm-takeover/README.md +62 -0
  27. package/skills/hyper-animator-codex/references/shotcraft/cards/canvas-materialize-moves/README.md +55 -0
  28. package/skills/hyper-animator-codex/references/shotcraft/cards/card-flip-reveal/README.md +50 -0
  29. package/skills/hyper-animator-codex/references/shotcraft/cards/card-flock-tumble/README.md +54 -0
  30. package/skills/hyper-animator-codex/references/shotcraft/cards/cel-flash-stomp/README.md +54 -0
  31. package/skills/hyper-animator-codex/references/shotcraft/cards/chart-live-moves/README.md +51 -0
  32. package/skills/hyper-animator-codex/references/shotcraft/cards/circle-match-iris/README.md +53 -0
  33. package/skills/hyper-animator-codex/references/shotcraft/cards/cloner-depth-echo/README.md +38 -0
  34. package/skills/hyper-animator-codex/references/shotcraft/cards/collab-cursor-moves/README.md +48 -0
  35. package/skills/hyper-animator-codex/references/shotcraft/cards/color-block-step-wipe/README.md +54 -0
  36. package/skills/hyper-animator-codex/references/shotcraft/cards/command-palette-summon/README.md +45 -0
  37. package/skills/hyper-animator-codex/references/shotcraft/cards/crane-rise-reveal/README.md +47 -0
  38. package/skills/hyper-animator-codex/references/shotcraft/cards/crash-zoom-punch/README.md +38 -0
  39. package/skills/hyper-animator-codex/references/shotcraft/cards/dataviz-landscape-open/README.md +54 -0
  40. package/skills/hyper-animator-codex/references/shotcraft/cards/deck-deal-flyin/README.md +45 -0
  41. package/skills/hyper-animator-codex/references/shotcraft/cards/depth-layer-moves/README.md +40 -0
  42. package/skills/hyper-animator-codex/references/shotcraft/cards/document-typewriter-reveal/README.md +40 -0
  43. package/skills/hyper-animator-codex/references/shotcraft/cards/draw-svg-trace/README.md +50 -0
  44. package/skills/hyper-animator-codex/references/shotcraft/cards/edit-hook-moves/README.md +38 -0
  45. package/skills/hyper-animator-codex/references/shotcraft/cards/element-body-moves/README.md +49 -0
  46. package/skills/hyper-animator-codex/references/shotcraft/cards/fui-hud-moves/README.md +44 -0
  47. package/skills/hyper-animator-codex/references/shotcraft/cards/gauge-readout-moves/README.md +45 -0
  48. package/skills/hyper-animator-codex/references/shotcraft/cards/glow-flyline-moves/README.md +51 -0
  49. package/skills/hyper-animator-codex/references/shotcraft/cards/gradient-word-sweep/README.md +49 -0
  50. package/skills/hyper-animator-codex/references/shotcraft/cards/graze-face-tour/README.md +56 -0
  51. package/skills/hyper-animator-codex/references/shotcraft/cards/hashtag-to-pill-materialize/README.md +57 -0
  52. package/skills/hyper-animator-codex/references/shotcraft/cards/hires-rasterize-3d-text/README.md +34 -0
  53. package/skills/hyper-animator-codex/references/shotcraft/cards/icon-field-colorize/README.md +53 -0
  54. package/skills/hyper-animator-codex/references/shotcraft/cards/icon-performance-moves/README.md +46 -0
  55. package/skills/hyper-animator-codex/references/shotcraft/cards/impact-feedback/README.md +50 -0
  56. package/skills/hyper-animator-codex/references/shotcraft/cards/input-trigger-moves/README.md +49 -0
  57. package/skills/hyper-animator-codex/references/shotcraft/cards/integration-hub-map/README.md +54 -0
  58. package/skills/hyper-animator-codex/references/shotcraft/cards/letterspace-materialize/README.md +52 -0
  59. package/skills/hyper-animator-codex/references/shotcraft/cards/light-play-moves/README.md +49 -0
  60. package/skills/hyper-animator-codex/references/shotcraft/cards/line-boil/README.md +52 -0
  61. package/skills/hyper-animator-codex/references/shotcraft/cards/line-carry-transition/README.md +52 -0
  62. package/skills/hyper-animator-codex/references/shotcraft/cards/list-stack-press/README.md +43 -0
  63. package/skills/hyper-animator-codex/references/shotcraft/cards/magician-card-flourish/README.md +63 -0
  64. package/skills/hyper-animator-codex/references/shotcraft/cards/marker-underline-title/README.md +48 -0
  65. package/skills/hyper-animator-codex/references/shotcraft/cards/montage-rhythm-moves/README.md +55 -0
  66. package/skills/hyper-animator-codex/references/shotcraft/cards/morph-from-primitive/README.md +51 -0
  67. package/skills/hyper-animator-codex/references/shotcraft/cards/neon-frame-forerun/README.md +50 -0
  68. package/skills/hyper-animator-codex/references/shotcraft/cards/neon-frame-orbit-drop/README.md +50 -0
  69. package/skills/hyper-animator-codex/references/shotcraft/cards/neon-triple-marquee/README.md +55 -0
  70. package/skills/hyper-animator-codex/references/shotcraft/cards/odometer-digit-roll/README.md +54 -0
  71. package/skills/hyper-animator-codex/references/shotcraft/cards/outro-group-photo-launch/README.md +39 -0
  72. package/skills/hyper-animator-codex/references/shotcraft/cards/overhead-camera-moves/README.md +50 -0
  73. package/skills/hyper-animator-codex/references/shotcraft/cards/page-turn-transitions/README.md +48 -0
  74. package/skills/hyper-animator-codex/references/shotcraft/cards/page-waterfall-wall/README.md +52 -0
  75. package/skills/hyper-animator-codex/references/shotcraft/cards/panel-grid-moves/README.md +52 -0
  76. package/skills/hyper-animator-codex/references/shotcraft/cards/paper-craft-moves/README.md +46 -0
  77. package/skills/hyper-animator-codex/references/shotcraft/cards/paper-plane-messenger/README.md +62 -0
  78. package/skills/hyper-animator-codex/references/shotcraft/cards/paper-title-card/README.md +36 -0
  79. package/skills/hyper-animator-codex/references/shotcraft/cards/particle-celebrate-hits/README.md +42 -0
  80. package/skills/hyper-animator-codex/references/shotcraft/cards/particle-sand-fill/README.md +39 -0
  81. package/skills/hyper-animator-codex/references/shotcraft/cards/pill-slot-cycle/README.md +57 -0
  82. package/skills/hyper-animator-codex/references/shotcraft/cards/print-texture-transitions/README.md +40 -0
  83. package/skills/hyper-animator-codex/references/shotcraft/cards/rhythm-interrupt-moves/README.md +44 -0
  84. package/skills/hyper-animator-codex/references/shotcraft/cards/riso-print-hits/README.md +54 -0
  85. package/skills/hyper-animator-codex/references/shotcraft/cards/row-embed/README.md +36 -0
  86. package/skills/hyper-animator-codex/references/shotcraft/cards/runway-ground-skim/README.md +52 -0
  87. package/skills/hyper-animator-codex/references/shotcraft/cards/sakuga-timing-shift/README.md +50 -0
  88. package/skills/hyper-animator-codex/references/shotcraft/cards/scene-locked-title/README.md +43 -0
  89. package/skills/hyper-animator-codex/references/shotcraft/cards/scroll-brake-moves/README.md +45 -0
  90. package/skills/hyper-animator-codex/references/shotcraft/cards/segmented-thumb-hero/README.md +57 -0
  91. package/skills/hyper-animator-codex/references/shotcraft/cards/shot-transitions/README.md +60 -0
  92. package/skills/hyper-animator-codex/references/shotcraft/cards/skeleton-reveal/README.md +54 -0
  93. package/skills/hyper-animator-codex/references/shotcraft/cards/slam-entrance-moves/README.md +53 -0
  94. package/skills/hyper-animator-codex/references/shotcraft/cards/smear-multiples/README.md +49 -0
  95. package/skills/hyper-animator-codex/references/shotcraft/cards/space-camera-moves/README.md +53 -0
  96. package/skills/hyper-animator-codex/references/shotcraft/cards/spectrum-morph-ui/README.md +50 -0
  97. package/skills/hyper-animator-codex/references/shotcraft/cards/speed-ramp-freeze/README.md +42 -0
  98. package/skills/hyper-animator-codex/references/shotcraft/cards/split-flap-title/README.md +52 -0
  99. package/skills/hyper-animator-codex/references/shotcraft/cards/spotlight-hero-card/README.md +39 -0
  100. package/skills/hyper-animator-codex/references/shotcraft/cards/spotlight-sweep-moves/README.md +51 -0
  101. package/skills/hyper-animator-codex/references/shotcraft/cards/steep-tilt-glide/README.md +53 -0
  102. package/skills/hyper-animator-codex/references/shotcraft/cards/stroke-segment-build/README.md +43 -0
  103. package/skills/hyper-animator-codex/references/shotcraft/cards/tear-streak-transitions/README.md +43 -0
  104. package/skills/hyper-animator-codex/references/shotcraft/cards/tension-camera-moves/README.md +55 -0
  105. package/skills/hyper-animator-codex/references/shotcraft/cards/text-as-mask/README.md +50 -0
  106. package/skills/hyper-animator-codex/references/shotcraft/cards/text-column-converge/README.md +55 -0
  107. package/skills/hyper-animator-codex/references/shotcraft/cards/theme-switch-moves/README.md +44 -0
  108. package/skills/hyper-animator-codex/references/shotcraft/cards/timeline-travel/README.md +43 -0
  109. package/skills/hyper-animator-codex/references/shotcraft/cards/title-demote-to-label/README.md +58 -0
  110. package/skills/hyper-animator-codex/references/shotcraft/cards/trailer-grammar-moves/README.md +51 -0
  111. package/skills/hyper-animator-codex/references/shotcraft/cards/transition-hidden-cut/README.md +52 -0
  112. package/skills/hyper-animator-codex/references/shotcraft/cards/transition-travel/README.md +48 -0
  113. package/skills/hyper-animator-codex/references/shotcraft/cards/type-and-filter/README.md +37 -0
  114. package/skills/hyper-animator-codex/references/shotcraft/cards/type-assembly-moves/README.md +50 -0
  115. package/skills/hyper-animator-codex/references/shotcraft/cards/type-entrance-moves/README.md +46 -0
  116. package/skills/hyper-animator-codex/references/shotcraft/cards/type-rhythm-sync/README.md +47 -0
  117. package/skills/hyper-animator-codex/references/shotcraft/cards/typewriter-moves/README.md +50 -0
  118. package/skills/hyper-animator-codex/references/shotcraft/cards/ui-strip-away-outro/README.md +63 -0
  119. package/skills/hyper-animator-codex/references/shotcraft/cards/ui-to-brand-morph/README.md +52 -0
  120. package/skills/hyper-animator-codex/references/shotcraft/cards/voice-waveform-live/README.md +52 -0
  121. package/skills/hyper-animator-codex/references/shotcraft/cards/wall-reveal-moves/README.md +53 -0
  122. package/skills/hyper-animator-codex/references/shotcraft/cards/wipe-transitions/README.md +47 -0
  123. package/skills/hyper-animator-codex/references/shotcraft/cards/word-relay-filmstrip/README.md +50 -0
  124. package/skills/hyper-animator-codex/references/shotcraft/catalog.json +3946 -0
  125. package/skills/hyper-animator-codex/references/shotcraft/references/aesthetic-rules.md +157 -0
  126. package/skills/hyper-animator-codex/references/shotcraft/references/final-review.md +107 -0
  127. package/skills/hyper-animator-codex/references/shotcraft/references/guided-free-creation.md +197 -0
  128. package/skills/hyper-animator-codex/references/shotcraft/references/music-beat-sync.md +125 -0
  129. package/skills/hyper-animator-codex/references/shotcraft/references/pipeline.md +357 -0
  130. package/skills/hyper-animator-codex/references/shotcraft/references/sound-design.md +126 -0
  131. package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/Caption.tsx +50 -0
  132. package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/DigitRoll.tsx +45 -0
  133. package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/FlashCut.tsx +20 -0
  134. package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/FlatPanel.tsx +65 -0
  135. package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/PageCam.tsx +151 -0
  136. package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/VerticalTicker.tsx +129 -0
  137. package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/helpers/camera.tsx +75 -0
  138. package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/helpers/motion.ts +40 -0
  139. package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/helpers/rand.ts +11 -0
  140. package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/helpers/shake.ts +10 -0
  141. package/skills/hyper-animator-codex/references/shotcraft/source/demos/_fixtures/Fixtures.tsx +83 -0
  142. package/skills/hyper-animator-codex/references/shotcraft/source/demos/ai-stream-response/StreamResponse.tsx +146 -0
  143. package/skills/hyper-animator-codex/references/shotcraft/source/demos/autolayout-gap-dial/AutolayoutGapDial.tsx +174 -0
  144. package/skills/hyper-animator-codex/references/shotcraft/source/demos/beat-cut-moves/BeatCutAccelerando.tsx +77 -0
  145. package/skills/hyper-animator-codex/references/shotcraft/source/demos/beat-cut-moves/PaparazziFlash.tsx +115 -0
  146. package/skills/hyper-animator-codex/references/shotcraft/source/demos/beat-step-list-theme-cycle/BeatStepListThemeCycle.tsx +98 -0
  147. package/skills/hyper-animator-codex/references/shotcraft/source/demos/before-after-slider-scrub/BeforeAfterSliderScrub.tsx +99 -0
  148. package/skills/hyper-animator-codex/references/shotcraft/source/demos/bottom-push-stack-wipe/BottomPushStackWipe.tsx +79 -0
  149. package/skills/hyper-animator-codex/references/shotcraft/source/demos/brand-frame-snap/BrandFrameSnap.tsx +110 -0
  150. package/skills/hyper-animator-codex/references/shotcraft/source/demos/bubble-swarm-takeover/BubbleSwarmTakeover.tsx +189 -0
  151. package/skills/hyper-animator-codex/references/shotcraft/source/demos/canvas-materialize-moves/DiagramCascadeBuild.tsx +172 -0
  152. package/skills/hyper-animator-codex/references/shotcraft/source/demos/canvas-materialize-moves/PanelToCanvasMaterialize.tsx +254 -0
  153. package/skills/hyper-animator-codex/references/shotcraft/source/demos/card-flip-reveal/CardFlipReveal.tsx +139 -0
  154. package/skills/hyper-animator-codex/references/shotcraft/source/demos/card-flock-tumble/CardFlockTumble.tsx +382 -0
  155. package/skills/hyper-animator-codex/references/shotcraft/source/demos/cel-flash-stomp/CelFlashStomp.tsx +111 -0
  156. package/skills/hyper-animator-codex/references/shotcraft/source/demos/chart-live-moves/AxisRescaleShockV2.tsx +282 -0
  157. package/skills/hyper-animator-codex/references/shotcraft/source/demos/chart-live-moves/OscilloscopeStreamV2.tsx +227 -0
  158. package/skills/hyper-animator-codex/references/shotcraft/source/demos/chart-live-moves/UnitDotSwarmRegroupV2.tsx +248 -0
  159. package/skills/hyper-animator-codex/references/shotcraft/source/demos/circle-match-iris/CircleMatchIris.tsx +124 -0
  160. package/skills/hyper-animator-codex/references/shotcraft/source/demos/cloner-depth-echo/ClonerDepthEcho.tsx +90 -0
  161. package/skills/hyper-animator-codex/references/shotcraft/source/demos/collab-cursor-moves/CursorCastEnsemble.tsx +136 -0
  162. package/skills/hyper-animator-codex/references/shotcraft/source/demos/collab-cursor-moves/CursorDialogueDuet.tsx +145 -0
  163. package/skills/hyper-animator-codex/references/shotcraft/source/demos/color-block-step-wipe/ColorBlockStepWipe.tsx +157 -0
  164. package/skills/hyper-animator-codex/references/shotcraft/source/demos/command-palette-summon/CommandPaletteSummon.tsx +173 -0
  165. package/skills/hyper-animator-codex/references/shotcraft/source/demos/crane-rise-reveal/CraneRiseReveal.tsx +91 -0
  166. package/skills/hyper-animator-codex/references/shotcraft/source/demos/crash-zoom-punch/CrashImpactReal.tsx +63 -0
  167. package/skills/hyper-animator-codex/references/shotcraft/source/demos/crash-zoom-punch/CrashZoomReal.tsx +60 -0
  168. package/skills/hyper-animator-codex/references/shotcraft/source/demos/dataviz-landscape-open/DatavizLandscapeOpen.tsx +401 -0
  169. package/skills/hyper-animator-codex/references/shotcraft/source/demos/depth-layer-moves/DollyZoomReal.tsx +55 -0
  170. package/skills/hyper-animator-codex/references/shotcraft/source/demos/depth-layer-moves/MultiplaneReal.tsx +45 -0
  171. package/skills/hyper-animator-codex/references/shotcraft/source/demos/draw-svg-trace/DrawSvgTrace.tsx +199 -0
  172. package/skills/hyper-animator-codex/references/shotcraft/source/demos/edit-hook-moves/LogoStingButton.tsx +106 -0
  173. package/skills/hyper-animator-codex/references/shotcraft/source/demos/element-body-moves/AxialStretch.tsx +112 -0
  174. package/skills/hyper-animator-codex/references/shotcraft/source/demos/element-body-moves/ContactShadowLift.tsx +117 -0
  175. package/skills/hyper-animator-codex/references/shotcraft/source/demos/fui-hud-moves/LineUnfoldPanel.tsx +125 -0
  176. package/skills/hyper-animator-codex/references/shotcraft/source/demos/fui-hud-moves/ReticleLockOn.tsx +139 -0
  177. package/skills/hyper-animator-codex/references/shotcraft/source/demos/gauge-readout-moves/NeedleSweepSelftest.tsx +146 -0
  178. package/skills/hyper-animator-codex/references/shotcraft/source/demos/gauge-readout-moves/TapeScrollFixedPointer.tsx +120 -0
  179. package/skills/hyper-animator-codex/references/shotcraft/source/demos/glow-flyline-moves/FlylineArc.tsx +158 -0
  180. package/skills/hyper-animator-codex/references/shotcraft/source/demos/glow-flyline-moves/GlowOrbAmbient.tsx +131 -0
  181. package/skills/hyper-animator-codex/references/shotcraft/source/demos/glow-flyline-moves/OrbFlylineRelay.tsx +268 -0
  182. package/skills/hyper-animator-codex/references/shotcraft/source/demos/gradient-word-sweep/GradientWordSweep.tsx +307 -0
  183. package/skills/hyper-animator-codex/references/shotcraft/source/demos/graze-face-tour/GrazeFaceTour.tsx +469 -0
  184. package/skills/hyper-animator-codex/references/shotcraft/source/demos/hashtag-to-pill-materialize/HashtagToPillMaterialize.tsx +166 -0
  185. package/skills/hyper-animator-codex/references/shotcraft/source/demos/icon-field-colorize/IconFieldColorize.tsx +93 -0
  186. package/skills/hyper-animator-codex/references/shotcraft/source/demos/icon-performance-moves/AttentionBounce.tsx +193 -0
  187. package/skills/hyper-animator-codex/references/shotcraft/source/demos/icon-performance-moves/PopBurstConfirm.tsx +162 -0
  188. package/skills/hyper-animator-codex/references/shotcraft/source/demos/impact-feedback/AnimeImpact.tsx +149 -0
  189. package/skills/hyper-animator-codex/references/shotcraft/source/demos/impact-feedback/HitCounter.tsx +147 -0
  190. package/skills/hyper-animator-codex/references/shotcraft/source/demos/input-trigger-moves/CursorPerformancePunchIn.tsx +154 -0
  191. package/skills/hyper-animator-codex/references/shotcraft/source/demos/input-trigger-moves/KeycapSmashCut.tsx +217 -0
  192. package/skills/hyper-animator-codex/references/shotcraft/source/demos/integration-hub-map/IntegrationHubMap.tsx +554 -0
  193. package/skills/hyper-animator-codex/references/shotcraft/source/demos/letterspace-materialize/LetterspaceMaterialize.tsx +85 -0
  194. package/skills/hyper-animator-codex/references/shotcraft/source/demos/light-play-moves/HalationBloom.tsx +139 -0
  195. package/skills/hyper-animator-codex/references/shotcraft/source/demos/light-play-moves/SheenSweepRetry.tsx +85 -0
  196. package/skills/hyper-animator-codex/references/shotcraft/source/demos/light-play-moves/SpotlightSweepReveal.tsx +102 -0
  197. package/skills/hyper-animator-codex/references/shotcraft/source/demos/line-boil/LineBoil.tsx +140 -0
  198. package/skills/hyper-animator-codex/references/shotcraft/source/demos/line-carry-transition/LineCarryTransition.tsx +151 -0
  199. package/skills/hyper-animator-codex/references/shotcraft/source/demos/magician-card-flourish/MagicianCardFlourish.tsx +294 -0
  200. package/skills/hyper-animator-codex/references/shotcraft/source/demos/marker-underline-title/MarkerUnderlineTitle.tsx +87 -0
  201. package/skills/hyper-animator-codex/references/shotcraft/source/demos/montage-rhythm-moves/DominoCascade.tsx +125 -0
  202. package/skills/hyper-animator-codex/references/shotcraft/source/demos/montage-rhythm-moves/DropBlackoutSlam.tsx +135 -0
  203. package/skills/hyper-animator-codex/references/shotcraft/source/demos/montage-rhythm-moves/WrightTripleCut.tsx +175 -0
  204. package/skills/hyper-animator-codex/references/shotcraft/source/demos/morph-from-primitive/MorphFromPrimitive.tsx +190 -0
  205. package/skills/hyper-animator-codex/references/shotcraft/source/demos/neon-frame-forerun/NeonFrameForerun.tsx +279 -0
  206. package/skills/hyper-animator-codex/references/shotcraft/source/demos/neon-frame-orbit-drop/NeonFrameForerunOrbit.tsx +273 -0
  207. package/skills/hyper-animator-codex/references/shotcraft/source/demos/neon-triple-marquee/NeonTripleMarquee.tsx +111 -0
  208. package/skills/hyper-animator-codex/references/shotcraft/source/demos/odometer-digit-roll/OdometerDigitRoll.tsx +178 -0
  209. package/skills/hyper-animator-codex/references/shotcraft/source/demos/overhead-camera-moves/OverheadTabletopDrop.tsx +129 -0
  210. package/skills/hyper-animator-codex/references/shotcraft/source/demos/overhead-camera-moves/TiltReveal.tsx +55 -0
  211. package/skills/hyper-animator-codex/references/shotcraft/source/demos/page-turn-transitions/BarnDoorSplit.tsx +138 -0
  212. package/skills/hyper-animator-codex/references/shotcraft/source/demos/page-turn-transitions/CubeRotate.tsx +114 -0
  213. package/skills/hyper-animator-codex/references/shotcraft/source/demos/page-waterfall-wall/PageWaterfallWall.tsx +76 -0
  214. package/skills/hyper-animator-codex/references/shotcraft/source/demos/page-waterfall-wall/VerticalTicker.tsx +129 -0
  215. package/skills/hyper-animator-codex/references/shotcraft/source/demos/panel-grid-moves/ComicPanelSplit.tsx +171 -0
  216. package/skills/hyper-animator-codex/references/shotcraft/source/demos/panel-grid-moves/FlipGridReflow.tsx +121 -0
  217. package/skills/hyper-animator-codex/references/shotcraft/source/demos/panel-grid-moves/GridFlashMosaic.tsx +182 -0
  218. package/skills/hyper-animator-codex/references/shotcraft/source/demos/paper-craft-moves/MaskingTapeSlap.tsx +163 -0
  219. package/skills/hyper-animator-codex/references/shotcraft/source/demos/paper-craft-moves/PopupBookRise.tsx +134 -0
  220. package/skills/hyper-animator-codex/references/shotcraft/source/demos/paper-plane-messenger/PaperPlaneMessenger.tsx +183 -0
  221. package/skills/hyper-animator-codex/references/shotcraft/source/demos/particle-celebrate-hits/ConfettiCrossfire.tsx +115 -0
  222. package/skills/hyper-animator-codex/references/shotcraft/source/demos/particle-celebrate-hits/CounterTickSparks.tsx +103 -0
  223. package/skills/hyper-animator-codex/references/shotcraft/source/demos/particle-sand-fill/ParticleSandFill.tsx +119 -0
  224. package/skills/hyper-animator-codex/references/shotcraft/source/demos/pill-slot-cycle/PillSlotCycle.tsx +220 -0
  225. package/skills/hyper-animator-codex/references/shotcraft/source/demos/print-texture-transitions/InkBleedReveal.tsx +81 -0
  226. package/skills/hyper-animator-codex/references/shotcraft/source/demos/rhythm-interrupt-moves/JumpCutPunchIn.tsx +72 -0
  227. package/skills/hyper-animator-codex/references/shotcraft/source/demos/rhythm-interrupt-moves/StrobeBlackFrames.tsx +99 -0
  228. package/skills/hyper-animator-codex/references/shotcraft/source/demos/riso-print-hits/RisoBeatPump.tsx +155 -0
  229. package/skills/hyper-animator-codex/references/shotcraft/source/demos/riso-print-hits/RisoMisregistrationHit.tsx +120 -0
  230. package/skills/hyper-animator-codex/references/shotcraft/source/demos/runway-ground-skim/RunwayGroundSkim.tsx +258 -0
  231. package/skills/hyper-animator-codex/references/shotcraft/source/demos/sakuga-timing-shift/SakugaTimingShift.tsx +178 -0
  232. package/skills/hyper-animator-codex/references/shotcraft/source/demos/scene-locked-title/SceneLockedTitle.tsx +98 -0
  233. package/skills/hyper-animator-codex/references/shotcraft/source/demos/scroll-brake-moves/BrakeReticleLock.tsx +171 -0
  234. package/skills/hyper-animator-codex/references/shotcraft/source/demos/scroll-brake-moves/ChangelogScrollBrake.tsx +117 -0
  235. package/skills/hyper-animator-codex/references/shotcraft/source/demos/segmented-thumb-hero/SegmentedThumbHero.tsx +213 -0
  236. package/skills/hyper-animator-codex/references/shotcraft/source/demos/shot-transitions/MaskWipeReal.tsx +67 -0
  237. package/skills/hyper-animator-codex/references/shotcraft/source/demos/shot-transitions/PortalWipeV2.tsx +128 -0
  238. package/skills/hyper-animator-codex/references/shotcraft/source/demos/shot-transitions/WhipBrakeReal.tsx +60 -0
  239. package/skills/hyper-animator-codex/references/shotcraft/source/demos/shot-transitions/WhipPanReal.tsx +45 -0
  240. package/skills/hyper-animator-codex/references/shotcraft/source/demos/skeleton-reveal/SkeletonReveal.tsx +283 -0
  241. package/skills/hyper-animator-codex/references/shotcraft/source/demos/slam-entrance-moves/ImpactBurstKit.tsx +185 -0
  242. package/skills/hyper-animator-codex/references/shotcraft/source/demos/slam-entrance-moves/KanadaPerspectiveSnap.tsx +91 -0
  243. package/skills/hyper-animator-codex/references/shotcraft/source/demos/slam-entrance-moves/ScoreSlam.tsx +225 -0
  244. package/skills/hyper-animator-codex/references/shotcraft/source/demos/smear-multiples/SmearMultiples.tsx +88 -0
  245. package/skills/hyper-animator-codex/references/shotcraft/source/demos/space-camera-moves/DroneDiveLanding.tsx +91 -0
  246. package/skills/hyper-animator-codex/references/shotcraft/source/demos/space-camera-moves/ExplodedView.tsx +178 -0
  247. package/skills/hyper-animator-codex/references/shotcraft/source/demos/space-camera-moves/SnorricamLock.tsx +130 -0
  248. package/skills/hyper-animator-codex/references/shotcraft/source/demos/spectrum-morph-ui/SpectrumMorphUi.tsx +129 -0
  249. package/skills/hyper-animator-codex/references/shotcraft/source/demos/speed-ramp-freeze/FreezeAnnotateReal.tsx +70 -0
  250. package/skills/hyper-animator-codex/references/shotcraft/source/demos/speed-ramp-freeze/SpeedRampReal.tsx +58 -0
  251. package/skills/hyper-animator-codex/references/shotcraft/source/demos/split-flap-title/SplitFlapFlip.tsx +189 -0
  252. package/skills/hyper-animator-codex/references/shotcraft/source/demos/spotlight-sweep-moves/CornerSpotlightReveal.tsx +121 -0
  253. package/skills/hyper-animator-codex/references/shotcraft/source/demos/spotlight-sweep-moves/GlowWakeSleepPanel.tsx +183 -0
  254. package/skills/hyper-animator-codex/references/shotcraft/source/demos/spotlight-sweep-moves/SlideSpotlightPan.tsx +171 -0
  255. package/skills/hyper-animator-codex/references/shotcraft/source/demos/steep-tilt-glide/SteepTiltGlide.tsx +315 -0
  256. package/skills/hyper-animator-codex/references/shotcraft/source/demos/stroke-segment-build/StrokeSegmentBuild.tsx +126 -0
  257. package/skills/hyper-animator-codex/references/shotcraft/source/demos/tear-streak-transitions/GlitchDisplace.tsx +107 -0
  258. package/skills/hyper-animator-codex/references/shotcraft/source/demos/tension-camera-moves/BulletTimeFreezeOrbit.tsx +219 -0
  259. package/skills/hyper-animator-codex/references/shotcraft/source/demos/tension-camera-moves/DutchRollToLevel.tsx +110 -0
  260. package/skills/hyper-animator-codex/references/shotcraft/source/demos/tension-camera-moves/PullBackIsolation.tsx +120 -0
  261. package/skills/hyper-animator-codex/references/shotcraft/source/demos/tension-camera-moves/SlowPushIn.tsx +96 -0
  262. package/skills/hyper-animator-codex/references/shotcraft/source/demos/text-as-mask/TextAsMask.tsx +94 -0
  263. package/skills/hyper-animator-codex/references/shotcraft/source/demos/text-column-converge/TextColumnConverge.tsx +122 -0
  264. package/skills/hyper-animator-codex/references/shotcraft/source/demos/theme-switch-moves/PaletteThemeRipple.tsx +207 -0
  265. package/skills/hyper-animator-codex/references/shotcraft/source/demos/theme-switch-moves/ThemeSweepToggle.tsx +123 -0
  266. package/skills/hyper-animator-codex/references/shotcraft/source/demos/timeline-travel/TimelineTravel.tsx +123 -0
  267. package/skills/hyper-animator-codex/references/shotcraft/source/demos/title-demote-to-label/TitleDemoteToLabel.tsx +174 -0
  268. package/skills/hyper-animator-codex/references/shotcraft/source/demos/trailer-grammar-moves/CardFootageCadence.tsx +118 -0
  269. package/skills/hyper-animator-codex/references/shotcraft/source/demos/trailer-grammar-moves/SmashCut.tsx +105 -0
  270. package/skills/hyper-animator-codex/references/shotcraft/source/demos/trailer-grammar-moves/TrailerBumper.tsx +103 -0
  271. package/skills/hyper-animator-codex/references/shotcraft/source/demos/transition-hidden-cut/InvisibleCut.tsx +93 -0
  272. package/skills/hyper-animator-codex/references/shotcraft/source/demos/transition-hidden-cut/LightLeakBurn.tsx +122 -0
  273. package/skills/hyper-animator-codex/references/shotcraft/source/demos/transition-hidden-cut/VersusSlam.tsx +104 -0
  274. package/skills/hyper-animator-codex/references/shotcraft/source/demos/transition-travel/LetterformZoom.tsx +141 -0
  275. package/skills/hyper-animator-codex/references/shotcraft/source/demos/transition-travel/SharedElementMorph.tsx +101 -0
  276. package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-assembly-moves/LetterformDriftAssembly.tsx +107 -0
  277. package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-assembly-moves/SplitTextStagger.tsx +101 -0
  278. package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-assembly-moves/TextOnPath.tsx +92 -0
  279. package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-assembly-moves/TrackingExpandReveal.tsx +109 -0
  280. package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-entrance-moves/LetterDropPhysics.tsx +100 -0
  281. package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-entrance-moves/ScrambleDecode.tsx +90 -0
  282. package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-rhythm-sync/FontWeightPump.tsx +124 -0
  283. package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-rhythm-sync/KaraokeFillSync.tsx +93 -0
  284. package/skills/hyper-animator-codex/references/shotcraft/source/demos/typewriter-moves/TerminalTypewriter.tsx +122 -0
  285. package/skills/hyper-animator-codex/references/shotcraft/source/demos/typewriter-moves/TypewriterErrorRetype.tsx +109 -0
  286. package/skills/hyper-animator-codex/references/shotcraft/source/demos/ui-strip-away-outro/UiStripAwayOutro.tsx +218 -0
  287. package/skills/hyper-animator-codex/references/shotcraft/source/demos/ui-to-brand-morph/IconFlipBloomLogo.tsx +199 -0
  288. package/skills/hyper-animator-codex/references/shotcraft/source/demos/ui-to-brand-morph/InputMorphsIntoLogo.tsx +215 -0
  289. package/skills/hyper-animator-codex/references/shotcraft/source/demos/voice-waveform-live/VoiceWaveformLive.tsx +171 -0
  290. package/skills/hyper-animator-codex/references/shotcraft/source/demos/wall-reveal-moves/BentoLightUp.tsx +135 -0
  291. package/skills/hyper-animator-codex/references/shotcraft/source/demos/wipe-transitions/BlindsSlice.tsx +107 -0
  292. package/skills/hyper-animator-codex/references/shotcraft/source/demos/wipe-transitions/ClockWipe.tsx +83 -0
  293. package/skills/hyper-animator-codex/references/shotcraft/source/demos/word-relay-filmstrip/WordRelayFilmstrip.tsx +300 -0
  294. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/Root.tsx +15 -0
  295. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/Caption.tsx +49 -0
  296. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/DigitRoll.tsx +44 -0
  297. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/FlashCut.tsx +19 -0
  298. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/Main.tsx +163 -0
  299. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/PaperTitleCard.tsx +89 -0
  300. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/PageCam.tsx +145 -0
  301. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/SceneDetail.tsx +146 -0
  302. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/SceneFlyIn.tsx +447 -0
  303. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/SceneOpen.tsx +532 -0
  304. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/SceneOutroLive.tsx +394 -0
  305. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/ScenePapers.tsx +185 -0
  306. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/SceneWbr.tsx +299 -0
  307. package/skills/hyper-animator-codex/references/shotcraft/source/template/src/index.ts +4 -0
  308. package/skills/hyper-animator-codex/references/shotcraft/source-notes.md +10 -0
  309. package/skills/hyper-animator-codex/scripts/generate_minimax_music.mjs +27 -10
  310. package/skills/hyper-animator-codex/scripts/generate_minimax_tts.mjs +142 -13
  311. package/skills/hyper-animator-codex/scripts/generate_subtitles.mjs +42 -3
  312. package/skills/hyper-animator-codex/scripts/minimax_runtime_config.mjs +3 -3
  313. package/skills/hyper-animator-codex/scripts/query_shotcraft.mjs +140 -0
  314. package/skills/hyper-animator-codex/scripts/validate_hyperframes_html.py +22 -0
  315. package/skills/hyper-animator-codex/scripts/validate_provider_policy.mjs +108 -0
  316. package/skills/hyper-animator-codex/scripts/validate_shot_plan.mjs +193 -0
  317. package/skills/hyper-animator-codex/vendor/music-beat-detector/beat_detector/analyzer.py +3 -1
  318. package/skills/hyper-animator-codex/vendor/music-beat-detector/beat_detector/beat.py +37 -1
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: title-demote-to-label
3
+ 一句话: 大标题降格为节标签两式——A 大标题居中显影站稳一拍后连续缩小 0.3x 平移到左上角落成小节标签、内容区在其下生长;B 同套路但登场时带文本选中态高亮块扫入再撤掉
4
+ 适用: 章节开场(标题先当主角再让位给内容);教程/功能演示片的小节交接;B 式给"文字/编辑"类产品加身份暗示
5
+ 时长: A ~3s(92f)/ B ~3.5s(104f);demo 两式串播 196f
6
+ 能量: 低中(版式变换型,氛围镜头)
7
+ ---
8
+
9
+ ## 意图
10
+ 章节标题的常规命运是"出现→消失→内容登场",标题和内容互不认识。
11
+ 本卡让标题**降格而不退场**:居中大字站稳一拍宣告主题,然后一次连续
12
+ 补间缩到 0.3x 飞到左上角,落成这一节的栏目标签——它还在屏幕上,
13
+ 只是从主角变成了门牌。观众获得免费的空间记忆:刚才那个大词就是
14
+ 现在左上角那个小词,本节讲的就是它。内容骨架在降格进行中就开始
15
+ 生长,交接零空档。
16
+
17
+ ## 动效核心
18
+ - 降格是**单次连续补间**,Easing.inOut(cubic) 20f:scale 1→0.3 +
19
+ 位置 (960,480)→(150,110) 同一条曲线——分两段(先缩后飞)读作两个动作
20
+ - transform-origin 左中;居中修正量 translate(-50%) 随补间同步归零
21
+ (`translate(${-(1-dem)*50}%, -50%)`)——不归零终点会偏一个半宽
22
+ - 登场显影:12f blur 12→0 + 淡入,Easing.out(cubic);显影后必须
23
+ 站稳 ≥18f 再降格——没站稳就缩,宣告拍被吃掉
24
+ - 骨架内容错峰生长:每块宽度 0.35→1 + 上移 28px 淡入,块间 t 错峰
25
+ 0.16;生长起点在降格进行到 12f 时(GROW = DEMOTE+12),标题还在
26
+ 飞内容已在长——这个重叠是"交接无空档"的来源
27
+ - B 式选中高亮:左缘/宽度两个百分比分别补间——扫入时宽度 0→100%
28
+ (盖住),撤掉时左缘 0→100%(从左让开);高亮撤净后再起降格
29
+ - 两式串播用 4f 白闪转场
30
+
31
+ ## 参数表
32
+ | 参数 | 典型值 | 调节手感 |
33
+ |------|--------|----------|
34
+ | 降格补间 | 20f inOut(cubic),scale→0.3 | <14f 读作标题被弹走;终点 >0.45 标签太大压内容 |
35
+ | 站稳拍 | 显影后 ≥18f 静置 | 省掉这拍,观众没读完标题它就跑了,降格白做 |
36
+ | 骨架错峰 | 块间 0.16t,宽 0.35→1 | 全部同时长出读作页面刷新而非"生长" |
37
+ | 生长起点 | 降格开始后 +12f | 等标题完全落位才生长会空 8f 冷场 |
38
+ | 选中高亮 | 扫入 10f / hold ~8f / 撤 8f,35% 透明蓝 | 高亮 hold <5f 读作闪烁 bug;不撤干净就降格,蓝块跟着飞很脏 |
39
+ | 白闪转场 | 4f opacity 1→0 | 仅两式串播用;>6f 读作曝光事故 |
40
+
41
+ ## 已知坑
42
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
43
+ 首次实战须以真实素材回验
44
+ - 与 scene-locked-title 分工:那卡是标题钉进 3D 空间随相机透视变形
45
+ (空间型),本卡是 2D 版式层级的连续降格(版式型)——要"标题住进
46
+ 产品空间"用那卡,要"标题变栏目名"用本卡,同片选一
47
+ - 降格路径上不许有其他元素动——标题飞行是全屏唯一焦点,骨架生长
48
+ 在它落点下方不抢(起点错开),但弹窗/光标类同帧入场必抢
49
+ - 多节连用(每节一次降格)时左上角标签要**换行不叠放**:新标签落位
50
+ 旧标签上移让位,否则第二节起左上角变成标签坟场
51
+ - B 式的选中高亮是"文字可被选中"的产品暗示,非编辑器/文档类产品
52
+ 用了语义空转,别为了好看加
53
+ - 标题文案 ≤3 个词——降格到 0.3x 后还要当可读标签,长句缩完就是一条灰线
54
+
55
+ ## 参考实现
56
+ demos/title-demote-to-label/
57
+ (TitleDemoteToLabel.tsx)
58
+ 原片出处:perplexity-promo 16–18.5s;B 式变体源自 framer text-selection-title
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: trailer-grammar-moves
3
+ 一句话: 预告片语法三式——trailer-bumper 前置速剪钩子、card-footage-cadence 字卡穿插对话、smash-cut 猛切入定
4
+ 适用: 预告片的三个结构性时刻:开场怎么钩(A)、中段怎么对话(B)、高潮怎么收(C);三式合用即一支预告片的骨架
5
+ 时长: A ~4.7s / B ~5s / C ~4.5s
6
+ 能量: A 高 / B 中 / C 高
7
+ ---
8
+
9
+ ## 意图
10
+ 库内节奏卡各管一段:beat-cut 管切点排布、montage-rhythm 管段落呼吸、
11
+ rhythm-interrupt 管打断。本卡管**预告片的结构性时刻**——不是某个
12
+ 镜头怎么动,是整片的三个关节怎么接:A 是开场钩——正片前 0.9 秒塞
13
+ 三个最抓眼镜头速剪 + 黑场静默一拍再开场,预告片的"预告";B 是中段
14
+ 对话——UI 镜头与黑底短语卡互相接拍交替硬切,画面与文字都踩拍点,
15
+ 第三幕结构;C 是高潮句号——满屏动势轰鸣最高潮一帧硬切成整齐静止
16
+ 全景死寂,喧闹→死寂。三式合用即一支预告片的骨架。
17
+
18
+ ## 三式选型
19
+ | 式 | 做法 | 适用 |
20
+ |----|------|------|
21
+ | A trailer-bumper | 三镜头各 9f 等长硬切(0/9/18),每镜内部 scale 1→1.04 微推保活;27–33f 纯黑静默,33f 起标题 16f 淡入 + 44px out-cubic 微升 | 正片开场前的钩子;cold open |
22
+ | B card-footage-cadence | 七段条件挂载分段(14/22/34/42/52/62 切点):UI 段带微动(缓推/裁切横移),字卡段黑底白字 1.05→1 落定微缩 | 中段画面与文字对话;卖点三连 |
23
+ | C smash-cut | 轰鸣段全 Easing.in(quad):背景推近 1→1.55 + rotate 1.8°、5 张飞卡错峰加速冲脸 + 速度门控模糊;42f 一帧硬切无动画属性的静止全景 | 全片最高潮的收束句号 |
24
+
25
+ ## 参数表
26
+ | 参数 | 典型值 | 调节手感 |
27
+ |------|--------|----------|
28
+ | A 速剪 | 三镜等长 9f,零过渡;镜头 3 用 origin 58%/40% 放大 2.2x 怼脸特写 | 节拍感靠等长;三镜构图必须明显不同 |
29
+ | A 微推 | 每镜内部 scale 1→1.04 线性 | 静帧三连读作幻灯片——命门 |
30
+ | A 黑场 | 27–33f 纯黑 #000 空 div,6f | 黑场里放任何东西都毁掉"静默一拍" |
31
+ | B 交替 | UI 段 12f 级 ↔ 字卡 8f 级硬切,条件挂载分段=天然零过渡 | 段长可变但要读出"接拍"感 |
32
+ | B 字卡 | 黑底白字居中,落定 1.05→1 out-cubic 5f 内完成,其余全静 | 字卡的静 ↔ UI 段的动,质感对比即节奏 |
33
+ | C 切点 | 42f 一帧完成全部反差;切前 3f 动势仍在加速 | 绝不减速迎接切点——命门 |
34
+ | C 模糊 | 飞卡 blur = 1+4p(p∝瞬时速度),背景恒 1.5px 衬前景 | 速度门控:快才糊,不是全程糊 |
35
+ | 收尾 | A 静止 91f / B 45f / C 93f(≥40f) | C 死寂段直接 return 无动画子树,帧函数级真静止 |
36
+
37
+ ## 已知坑
38
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
39
+ 首次实战须以真实素材回验
40
+ - A 黑场必须纯黑无物(drop-blackout 判例同族)——黑场是喘息,
41
+ 不是又一张字卡
42
+ - B 与 cel-flash-stomp/beat-cut 字卡段的分工:那些是字在表演
43
+ (字自己是主角),这是字与画对话(互相接拍)——别混用
44
+ - C 死寂段绝对真静止、音乐同帧骤停——声音强依赖,无声版的 smash cut
45
+ 只剩一半(sound-design §4.5);A 三连切每切一声打点、黑场全消音
46
+ - C 与 drop-blackout-slam 的区别:那是黑场蓄力再爆(静→爆),
47
+ 这是爆完瞬间入定(爆→静)——方向相反,别接错位置
48
+
49
+ ## 参考实现
50
+ demos/trailer-grammar-moves/
51
+ (CardFootageCadence.tsx / SmashCut.tsx / TrailerBumper.tsx)
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: transition-hidden-cut
3
+ 一句话: 藏切点转场三式——前景遮挡隐形切、对撞开屏、暖色漏光,硬切藏进遮挡/撞击/光峰的 1-3 帧里,观众看不见剪刀
4
+ 适用: 两镜衔接处需要"无痕换景"或"仪式感开屏"时(技法卡,与 shot-transitions 六式同层选型)
5
+ 时长: n/a(技法卡;各式占用帧数见参数表,从相邻镜头预算里划)
6
+ 能量: n/a(技法卡,不占能量位)
7
+ ---
8
+
9
+ ## 意图
10
+ 与 shot-transitions A 式 flash-cut 同族:flash-cut 用一层白闪盖住硬切,
11
+ 这三式换了三种"障眼物"——扫过的前景卡片(A)、对撞的撞击帧(B)、
12
+ 爬到顶峰的漏光(C)。共同原理是魔术误导:观众的眼睛被大动作/强光
13
+ 吸走的那 1-3 帧里完成硬切,回过神来景已经换了,全程"看不见剪刀"。
14
+ flash-cut 是最素的一款;要方向感选 A,要仪式感选 B,要温度选 C。
15
+
16
+ ## 三式选型
17
+ | 式 | 做法 | 适用接缝 |
18
+ |----|------|----------|
19
+ | A invisible-cut 前景遮挡隐形切 | 一张超画幅卡片带重运动模糊贴脸横扫,糊满全屏的遮挡帧内背景 A→B 硬切,卡片飞出观众以为还是同一镜 | 想让换景完全无痕的页面→页面;伪"一条 take"的主力款 |
20
+ | B versus-slam 对撞开屏 | 左右两半屏带斜切边从画外加速对冲撞合,撞击帧白闪+震屏+VS 盖章,切点就是撞击本身 | 对比/对阵语义的开屏或章节头(新旧方案、双产品、before/after)|
21
+ | C light-leak-burn 暖色漏光 | 三团暖色柔光沿对角线斜扫,光峰帧吞掉旧页约七成时硬切新页,光退散时新页已就位 | 想要暖调/胶片味的章节过渡;比白闪柔、有方向、有温度 |
22
+
23
+ ## 参数表
24
+ | 参数 | 典型值 | 调节手感 |
25
+ |------|--------|----------|
26
+ | A 横扫 | 卡片 1600x1000 再 scale(1.6),x 从 -2200→2600 共 14f,bezier(0.3,0,0.7,1);切点在扫掠中点全遮帧(demo 里 f47) | 中点必须覆盖 -280..2280 糊满 1920 画幅;两端完全出画 |
27
+ | A 糊感 | 全场包 `<CameraMotionBlur shutterAngle={300} samples={12}>` + 卡片自身 blur(8px)/skewX(-v·0.018°) + 4 层手动残影(opacity 0.35→0.07、blur 14px、间隔 0.55f) | 三层糊叠出"贴脸呼啸";只靠 CameraMotionBlur 糊不满遮挡窗口 |
28
+ | A 带风推挤 | 背景 ±40px:切前 A 被拖向扫掠方向(ease-in),切后 B 从反侧 13f 回稳(ease-out) | 卖"同一镜被风带了一下"的错觉,是无痕感的一半功劳 |
29
+ | B 斜缝几何 | clip-path polygon 斜边约 78°(缝顶 x=1075→缝底 x=845);两半屏从 ±1200px 以 ease-in(cubic) 10f 对冲到位 | ease-in 加速才有"砸"感;垂直缝读作 PPT 分屏 |
30
+ | B 撞击三件套 | 撞击帧同发:白闪 0.9→0 共 3f + 整机 shake 12px·e^(−t/1.6) 约 5f 收干 + VS 字块 scale 1.6→1 back(2.6) overshoot 6f 压出 | 三件必须同帧起跑,错开一帧就散;震屏幅度须过肉眼阈值(可感性判例)|
31
+ | C 光层 | 3 团径向渐变(#f6c878/#e8a44a/#d98a2b,直径 1500/1950/2400px,blur 90px,mixBlendMode screen)沿右上→左下扫约 70f | 光团偏移沿扫掠方向拖尾排布,避免完美同心的"手电筒感" |
32
+ | C 光强包络 | ease-in 爬升 27f(蓄力)→ 峰值帧藏切 → ease-out 收敛 43f(余温);峰值叠 8% 全屏暖罩 + 近白热核(opacity=intensity²) | 爬升慢收敛快会读作故障闪光;热核只在临近峰值烧起来 |
33
+ | C 冲淡 | 峰值时页面 filter:contrast 降 45%、brightness 抬 35% | 这是"烧穿"感的来源——光只叠不冲淡,读作贴了张贴纸 |
34
+
35
+ ## 已知坑
36
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
37
+ 首次实战须以真实素材回验
38
+ - C 式是 Q4 光效判例解封后首个入库光效手法——严守 Q4 三约束:
39
+ 单点使用(一支片一处,不群发)、正常速度回放自检好看才算过、
40
+ 光效服务切点而非装饰;与 flash-cut 同片混用算两次光效藏切
41
+ - A 式遮挡物必须真的全遮:demo 里 1600x1000 的卡要 scale(1.6) 才盖满
42
+ 1920 画幅——换素材尺寸后先逐帧检查切点帧有没有露出背景边缘,
43
+ 露一条缝整个魔术就穿帮
44
+ - B 式 VS 字块语义仅适配"对比/对阵"内容——没有两方对峙关系时
45
+ 别当通用转场用;去掉 VS 只留对撞则退化为一款斜缝 wipe,语义要求同降
46
+ - 转场不叠加(规矩同 shot-transitions):一个接缝只用一式;
47
+ 这三式与六式同层选型,同片同类接缝别既用 flash-cut 又用 C 式
48
+ - 分镜表阶段就逐接缝标注(写进"关键动效"列),帧预算从相邻镜头划(R3)
49
+
50
+ ## 参考实现
51
+ demos/transition-hidden-cut/
52
+ (InvisibleCut.tsx / LightLeakBurn.tsx / VersusSlam.tsx)
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: transition-travel
3
+ 一句话: 穿越式转场两式——共享元素归位、字腔穿越,镜头钻进画面里的真实元素完成换景
4
+ 适用: 前后两镜存在"元素/容器"级空间关系的接缝(技法卡,与 shot-transitions 六式互补选用)
5
+ 时长: n/a(技法卡;各式动作段 25–60f,前后 hold 另计,帧数从相邻镜头预算里划)
6
+ 能量: n/a(技法卡,不占能量位)
7
+ ---
8
+
9
+ ## 意图
10
+ shot-transitions 六式是"交棒"型——前镜收尾、后镜入场,接缝靠白闪/暗场/
11
+ 焦点/黑场/糊帧/窗口盖住换页瞬间。本卡两式是"穿越"型——后景在前景画面里
12
+ 以真实元素存在(网格槽位/字形洞),镜头一条连续空间运动钻进去,
13
+ 观众从头到尾跟着同一个物体,没有交棒瞬间。选型口径:后景能在前景里"预先
14
+ 在场"→穿越;两景只是先后关系、无空间嵌套→交棒。两式内部再按语义分——
15
+ A 是"把这张卡放回去"(详情→总览,F 式穿窗的逆向);C 是"标题即是门"
16
+ (章节字卡与转场二合一)。
17
+
18
+ ## 两式选型表
19
+
20
+ | 式 | 做法 | 适用接缝 |
21
+ |----|------|----------|
22
+ | A 共享元素归位 shared-element-morph | 全屏特写卡收缩+位移+长出圆角,严丝合缝飞落进 dashboard 网格所属槽位,3% 过冲落座 | 详情→总览的"归位"语义;与 F 式穿窗成对使用(进窗/回位)|
23
+ | C 字腔穿越 letterform-zoom | 巨型标题字腔(SVG mask 挖洞)透出新页,指数推进穿洞,洞撑满瞬间接管、残余笔画甩出画外 | 章节标题→正文;替代 D 式黑场字卡的高能量款 |
24
+
25
+ ## 参数表
26
+ | 参数 | 典型值 | 调节手感 |
27
+ |------|--------|----------|
28
+ | A morph 主曲线 | 25f bezier(0.4,0,0.2,1) 冲到 1.03 过冲 + 10f Easing.out(cubic) 弹回 1;位置/尺寸/圆角共用同一条进度 p | 三属性各走各的曲线立刻读作"变形"而非"同一物体";过冲 >5% 读作果冻 |
29
+ | A 同一物体感 | 内容按槽位尺寸渲染、随容器等比缩放(scale 3.66→1,origin 左上);投影随 p 从 0/36/110/0.32 收敛到 0/2/8/0.06 | 内容重排版=换了张卡,穿越感断;投影不收敛则卡永远悬空、落不了座 |
30
+ | A 落座仪式 | 背景 dashboard 0.9 透明度待命,落座瞬间 5f 提到 1 | 背景全程满亮则飞落没有"到家"的一拍;提亮窗口跨骑落座帧前后 |
31
+ | C 穿腔主推 | 盖板 SVG mask(白底+黑字 900 字重)挖洞,transform-origin 对准腔心(demo:"DASH" A 腔 ≈773,508);scale=28^t,t 60f bezier(0.6,0,0.85,0.5) 慢起陡收 | ZOOM_MAX 按"洞撑满画面"配,字腔越小倍数越大;慢起段留给观众看清"洞里有东西" |
32
+ | C 撤场与呼应 | scale∈[15,24] 盖板 opacity 1→0(残余笔画边飞边撤);期望模糊量 0→16px 除以 scale 写进 blur 补偿;洞内 B 层微 dolly 1→1.1、接管后 25f 落回 1 | blur 不除 scale 会被 transform 放大成糊墙;B 不跟着 dolly 则洞里是张死图,"穿进活页面"的感知断掉 |
33
+
34
+ ## 已知坑
35
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
36
+ 首次实战须以真实素材回验;灰阶测不出纹理级缺陷(轮 A 判例),真实素材
37
+ 上先出静帧自检
38
+ - C 式腔心坐标是字体度量估算(字宽 em 值手推),换字体/换词/渲染器字距
39
+ 不同都会漂——渲后看第一帧推进方向,洞不居中就微调 origin,别信算出来的数
40
+ - A 式槽位坐标必须精确到像素(demo 里从 fixtures 布局逐项推算 808,590,
41
+ 524x454,r14)——差几像素落座后再对齐,观众读作"飞到附近再吸附",
42
+ "归位"的严丝合缝感全无
43
+ - 穿越两式与交棒六式同一接缝不叠加,一缝一式;穿越式已自带高能量,
44
+ 再包白闪/震屏读作穿帮(规矩同 shot-transitions)
45
+
46
+ ## 参考实现
47
+ demos/transition-travel/
48
+ (LetterformZoom.tsx / SharedElementMorph.tsx)
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: type-and-filter
3
+ 一句话: 真实 UI 上打字搜索、网格自己收敛成一张卡、点击穿透进详情页
4
+ 适用: 功能演示的"操作叙事"段;搜索/筛选/进入详情的任何交互链路
5
+ 时长: 约 2.5s(118–190f)
6
+ 能量: 中(发牌高能段之后的从容一拍)
7
+ ---
8
+
9
+ ## 意图
10
+ 让观众"跟着做一遍":看清输入了什么、页面怎么响应、点了哪里。这是全片唯一模拟真人操作的镜头,节奏必须像人手,不能像脚本。
11
+
12
+ ## 动效核心
13
+ - 相机上移到搜索框,逐字符打字,光标常亮→闪烁
14
+ - 打完留一口气,然后非目标卡按阅读序错峰淡出下沉,网格收敛
15
+ - 目标卡滑到首行槽位,途中浮起 + 阴影变宽
16
+ - 双圈强调色(模板片为琥珀)ripple 点击确认,相机推进穿透进详情页交棒转场
17
+
18
+ ## 参数表
19
+ | 参数 | 典型值 | 调节手感 |
20
+ |------|--------|----------|
21
+ | 打字速度 | 3f/字符(TYPE_START=128,"nano-lab" 8 字符 ≈149 收尾) | 初版嫌快返工后的定稿值("unhurried");交互演示按真人操作速度走(R3) |
22
+ | 呼吸位 | 打完到过滤 FILTER_START=160,留 ~11f(0.37s) | 打完立刻过滤读作机器自动,观众跟不上因果 |
23
+ | 光标 | 打字时常亮,之后 8f 周期闪烁;点击 176f,光标 185f 消失 | 打字中闪烁会读作卡顿;常亮→闪烁的切换本身就是"打完了"的信号 |
24
+ | 过滤退场 | 25 张非目标卡按阅读序 0.4f 间隔错峰,各 5f 淡出+下沉 8px | 同时消失读作页面崩溃;错峰哪怕只差 0.4f 也够 |
25
+ | 目标卡滑位 | 10f 滑到首行槽位,bezier(0.35,0,0.2,1),途中 sin 浮起 z 18px、scale +0.02、阴影随浮起变宽 | 终点必须是布局真实槽位(Q9),滑到画面中央悬停就假了 |
26
+ | 点击确认 | 两圈同心强调色 ripple(起点差 3f、各 10f、半径 14→54/78)+ 3px 描边 + 40px 辉光,随后相机 16f 推进 zoom 2.2 | 单圈 ripple 太轻看不见;推进交棒给 flash-cut 盖住换页硬切(组件见 assets/lib/FlashCut.tsx,用法:from = 切点 − 5,跨骑硬切两侧各 5f) |
27
+ | 搜索框 | 页面底色补丁盖掉纹理里的 placeholder(保留放大镜图标),文字层叠上去打 | 直接在截图纹理上叠字会和烤入的 placeholder 重影 |
28
+
29
+ ## 声音
30
+ 打字段钉 keyboard.mp3 并按 Sequence 截 24f 与动作严格等长(S4);点击钉 click-camera(全片最响 vol 0.6,S2 响度分层);网格飞走钉 whoosh-fast。
31
+
32
+ ## 已知坑
33
+ - 初版打字+过滤"太快了"被返工(R3)——交互镜头的第一版几乎总是偏快,起稿就按 3f/字符
34
+ - 过滤后目标卡若不归位到真实槽位、悬浮在网格上方,读作假(Q9,曾因此近乎整文件重写)
35
+
36
+ ## 参考实现
37
+ template/src/aifl/live/SceneFlyIn.tsx
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: type-assembly-moves
3
+ 一句话: 文字集结四式——split-text-stagger 逐字裂升、letterform-drift-assembly 漂移合拢、tracking-expand-reveal 字距呼吸、text-on-path 沿线流入
4
+ 适用: 大标题/标语的入场;与 type-entrance-moves 两式、split-flap-title、document-typewriter-reveal 同属标题入场大品类,全片 ≤2 种
5
+ 时长: 单式 4–5s(动作段 A ~56f / B ~104f / C ~58f / D ~99f,均含 hold)
6
+ 能量: A 中 / B 中高 / C 低中 / D 中
7
+ ---
8
+
9
+ ## 意图
10
+ 标题入场已有"原位变形系"四式(乱码解码/字符坠落/翻牌/打字机——字
11
+ 在原地换形态)。本卡补"集结系":字符从别处**汇聚成**标题,运动轨迹
12
+ 本身有戏。A 琴键式——每字从看不见的裁切线下滑升,理性利落,通用度
13
+ 最高;B 片头式——字符四散带模糊漂入、逐个锁定加深,Stranger Things
14
+ 的仪式感,适合品牌名亮相;C 呼吸式——字母从叠压一团吸一口气展开,
15
+ 最安静的一式,适合抒情段落;D 语义式——字符沿一条上升曲线鱼贯流入
16
+ 再摆正,曲线可以正好描着图表增长线走,文字与数据同框叙事。
17
+
18
+ ## 四式选型
19
+ | 式 | 做法 | 适用 |
20
+ |----|------|------|
21
+ | A split-text-stagger 裂升 | 每字 overflow 盒内 translateY(115%→0) 带 10% 过冲,delay i×2f,基线同步生长 | 通用默认;利落理性 |
22
+ | B drift-assembly 漂移合拢 | 字符 seed 方向 ±300px + blur 8px 漂入错峰归位,锁定帧加深脉冲,合体后整词呼吸 1.04 | 品牌名/片头级亮相 |
23
+ | C tracking-expand 字距呼吸 | 字母从 −0.42em 叠压展开到 0.14em,blur 10→0 同曲线 | 安静抒情段;副标题跟进 |
24
+ | D text-on-path 沿线流入 | 字符沿贝塞尔曲线鱼贯滑入(切线角旋转),到达后 12f 摆正水平 | 曲线有语义时(增长线/流程线) |
25
+
26
+ ## 参数表
27
+ | 参数 | 典型值 | 调节手感 |
28
+ |------|--------|----------|
29
+ | A 过冲 | 10%(原案 6% 可测不可感,实渲加码) | 正常速度要看得见回落那一下 |
30
+ | B 锁定脉冲 | 字色深到 #000 + 描边 0→3px→0 / 8f | 白底上加深+描边,不用发光(判例) |
31
+ | B 漂移三绑定 | 位移 (1−p)、blur 8(1−p)、opacity 0.35→1 共用一条 p | 三者分曲线走,字会"到了还糊着" |
32
+ | C 实现命门 | letter-spacing 恒为终态,逐字符 span 只做 translateX=(1−p)(i−词心)(−0.56em) | 直接动 letter-spacing 逐帧重排必抖 |
33
+ | D 摆正 | 到达停 8f 再 12f lerp 到水平基线(y 拉平 rotate→0) | 不摆正就永远是"挂在线上",读不出标题 |
34
+ | D 曲线 | evolve(dashoffset)随最前字符同步生长 | 曲线先画完字再走,读作两个动画 |
35
+ | 收尾 | 全员落定真静止 ≥30f | R1 |
36
+
37
+ ## 已知坑
38
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
39
+ 首次实战须以真实素材回验
40
+ - 标题入场大品类现已八式(本卡四式 + type-entrance-moves 两式 +
41
+ split-flap-title + document-typewriter-reveal),**同片 ≤2 种**(P4)铁律不变
42
+ - B 式与 D 式都是高注意力入场,别再叠相机动作——字在飞的时候镜头必须稳
43
+ - C 式幅度命门:起始叠压至少 −0.4em 级(每缝 80px+ 位移)才可感,
44
+ −0.1em 级"微展开"正常速度读不出(可感性判例)
45
+ - D 式字符在曲线低段会短暂交叠,是鱼贯读感的一部分;但字号 >80px 时
46
+ 交叠面积过大会糊成一团,大字改用更长曲线或减字数
47
+
48
+ ## 参考实现
49
+ demos/type-assembly-moves/
50
+ (LetterformDriftAssembly.tsx / SplitTextStagger.tsx / TextOnPath.tsx / TrackingExpandReveal.tsx)
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: type-entrance-moves
3
+ 一句话: 标题文字入场两式——scramble-decode 乱码解码(噪声里长出答案)与 letter-drop-physics 字符坠落(重力砸落弹跳归位),按调性二选一
4
+ 适用: 大标题/章节字卡的入场;与 split-flap-title(机械翻牌)、document-typewriter-reveal(打字机)同品类互斥选用
5
+ 时长: 单式 4–5s(含 hold 与静止收尾;动作段 A ~66f / B ~106f)
6
+ 能量: 中高(A 偏理性推进,B 偏物理趣味)
7
+ ---
8
+
9
+ ## 意图
10
+ 标题入场库内已有打字机(沉稳文档感)和翻牌屏(机械仪式感),这两式补
11
+ 另外两种性格:A 是终端黑客感——字符先是一片高速噪声,从左到右逐个
12
+ "解码"锁定,观众看着答案从乱码里长出来,适合技术产品的自信亮相;
13
+ B 是物理喜剧感——字符从天而降、砸地弹跳、歪歪扭扭站定,最后一拍
14
+ 集体立正归位,适合轻松调性的开场破冰。四种标题入场同片 ≤2 种(P4)。
15
+
16
+ ## 两式选型
17
+ | 式 | 做法 | 适用 |
18
+ |----|------|------|
19
+ | A scramble-decode 乱码解码 | 全员字符高速跳乱码 hold,随后从左到右逐个锁定真字符,锁定瞬间反色闪 2f,底部进度条同步推进 | 技术/开发者产品;"答案浮出"的理性推进感 |
20
+ | B letter-drop-physics 字符坠落 | 字符错峰从顶砸落,重力加速+两次衰减弹跳+落地歪斜站定,最后一拍全体齐整回正 | 轻松调性开场;"活物感"的标题破冰 |
21
+
22
+ ## 参数表
23
+ | 参数 | 典型值 | 调节手感 |
24
+ |------|--------|----------|
25
+ | A 乱码期 | 0–20f 全员每 2f 跳一个随机字符(字符集 A–F/0–9/#$%&),字色 G.mid | 必须用等宽字体 + 固定 1ch 槽宽,比例字体每跳一下整行抖动 |
26
+ | A 解码节拍 | 第 i 字符帧 20+i×6 锁定为真字符转深色;锁定后前 2f 反色闪(深底白字) | 6f/字是"逐个可辨"的下限;上限 10f,再慢读作卡住 |
27
+ | A 伪随机 | `CHARSET[floor(h(i*101+floor(f/2)*7+13)*len)]`,h = sin hash | 严禁 Math.random——跳动必须随帧确定,否则渲染不可复现 |
28
+ | B 坠落 | 第 i 字符帧 10+i×5 起跳;y = −DROP + DROP·(t/24)²(重力)→ 4u(1−u) 抛物线弹跳 30% → 二跳 9% | 弹跳衰减比 30%/9% 是"有弹性但不闹"的甜点;三跳以上读作果冻 |
29
+ | B 歪斜 | 落地瞬间 rotate 到 seed hash ±6° 并保持 | 歪角是"物理感"的一半;全体笔直落地读作普通位移入场 |
30
+ | B 归位一拍 | 全员落定后(如帧 110)6f ease-out 集体 rotate→0 + scale 1.06→1 | 集体归位是句号——错峰归位会把"立正"的仪式感拆散 |
31
+ | 收尾 | 两式动作完毕真静止 ≥20f | R1:静止期所有属性锁死(含 B 的歪角归零后) |
32
+
33
+ ## 已知坑
34
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
35
+ 首次实战须以真实素材回验
36
+ - A 式是声音强依赖候选位:锁定的"嗒"声逐字钉帧(sound-design §4.5)
37
+ 会让解码感翻倍;B 式落地砸声同理,无声版两式都还成立但少一半劲
38
+ - A 式字符集别混入与真字符太像的字形(如 O/0 连跳)——观众会误判已锁定
39
+ - B 式字符间不做真实碰撞(demo 为各字符独立轨迹)——字距排开即可;
40
+ 想要"互相撞歪"需预烘焙轨迹,成本高收益薄
41
+ - 标题入场品类已四式(本卡两式 + split-flap-title + document-typewriter-reveal),
42
+ 同片 ≤2 种,且都自带高注意力——别和其他高能量入场同帧抢戏
43
+
44
+ ## 参考实现
45
+ demos/type-entrance-moves/
46
+ (LetterDropPhysics.tsx / ScrambleDecode.tsx)
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: type-rhythm-sync
3
+ 一句话: 文字随声同步两式——font-weight-pump 字重脉冲(笔画随鼓点变粗弹回)与 karaoke-fill-sync 卡拉OK填色(词随旁白逐个点亮)
4
+ 适用: 标题/标语与音轨强绑定的段落;A 绑节拍(鼓点),B 绑语音(旁白逐词)
5
+ 时长: 单式 4–5s;A 每拍占 10f 衰减窗、B 每词按语速 15–35f
6
+ 能量: A 高(蹦迪感)/ B 中(跟读引导)
7
+ ---
8
+
9
+ ## 意图
10
+ 文字动效库内此前全是"入场怎么进",没有词管"在场的字怎么跟着声音活"。
11
+ 这两式补上:A 让标题变成节奏器官——笔画随低音鼓抽动变粗又弹回,
12
+ 文字在蹦迪,适合高能段落的视觉低音炮;B 让标语变成跟读字幕——
13
+ 旁白读到哪个词哪个词从左到右填色点亮,视线被牵着走,适合口播/
14
+ 标语强调段。共同点是**字不动、属性动**:无位移、无入退场,
15
+ 纯粹是字重/颜色在声音的拍点上呼吸。
16
+
17
+ ## 两式选型
18
+ | 式 | 做法 | 适用 |
19
+ |----|------|------|
20
+ | A font-weight-pump 字重脉冲 | 命中帧笔画瞬间变粗(stroke+字重跳变),~10f 衰减弹回;重音拍额外撑宽 8% | 音乐驱动的高能段;标题当低音炮 |
21
+ | B karaoke-fill-sync 填色随读 | 每词深色从左到右填亮,进度跟语速,读完保持;活跃词下带读指下划线 | 旁白/口播强调段;多词标语的视线引导 |
22
+
23
+ ## 参数表
24
+ | 参数 | 典型值 | 调节手感 |
25
+ |------|--------|----------|
26
+ | A 脉冲包络 | `env=(1−t/10)^0.8`(t=命中后帧数,≥10f 精确归 0);`-webkit-text-stroke: 10px·env` + fontWeight 在 env>0.15 窗口 400↔900 跳变 | stroke 连续衰减 + 字重离散跳变叠加才读作"连续变粗";单用 fontWeight 只有两挡、单用 stroke 变化太细 |
27
+ | A 节拍 | 每 20f 一拍;重音拍额外 `scaleX = 1+0.08·env`(transform 缩放不改排版) | 拍距必须 > 衰减窗(20>10),两拍重叠读作抽搐 |
28
+ | A 节拍参照物 | 画面下方一排小节拍点,命中哪拍哪个点闪深并放大 | 静音环境(预览/静帧)没有这排点就读不出"在跟拍" |
29
+ | B 词级时间表 | 逐词 [start,end] 帧区间,词内 linear 填充;词间留 4–10f 停顿(换气) | 时间戳实战来自旁白打点表;均匀分配读作机器朗读 |
30
+ | B 填色实现 | 每词双层同文本叠放:底层浅灰 + 上层深色 `clipPath: inset(0 X% 0 0)`,X=(1−p)·100 | 逐词独立叠层免量测词宽占比;整行单层 clip 需精确像素表、易漂 |
31
+ | B 读指 | 活跃词下 8px 深色下划线,宽度 = p·100% | 4px 浅灰在 1080p 缩略下不可见(本批实渲踩坑);读完的词不留线 |
32
+ | 收尾 | A 末拍衰减归零后 / B 末词填完后真静止 ≥20f | R1 呼吸判例 |
33
+
34
+ ## 已知坑
35
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
36
+ 首次实战须以真实素材回验
37
+ - 两式都是**声音强依赖**手法:A 命中帧必须与鼓点同帧、B 填色区间必须
38
+ 跟旁白词边界(钉帧走 sound-design §4.5 相对起点)——无声上片则 A 读作
39
+ 抽风、B 读作莫名变色,别在无音轨段落用
40
+ - A 式实战想要真·可变字体连续字重(wght 轴逐帧插值)需先确认字体加载
41
+ 与渲染器支持;demo 的 stroke+跳变方案是无字体风险的兜底,效果已可感
42
+ - A 式全片 ≤1 段(P4)——标题蹦迪是抢戏大户,两段同片互相拆台
43
+ - B 式词数 ≤6/屏:更多词时填色进度读不过来,拆行或拆镜
44
+
45
+ ## 参考实现
46
+ demos/type-rhythm-sync/
47
+ (FontWeightPump.tsx / KaraokeFillSync.tsx)
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: typewriter-moves
3
+ 一句话: 打字机两式——terminal-typewriter 终端命令敲完即引爆场景切换、error-retype 误删重打的"改口"三幕剧
4
+ 适用: 开发者产品开场(A)、slogan/卖点字卡(B);文字自带时间性的入场
5
+ 时长: A ~5s / B ~5.5s
6
+ 能量: A 中高 / B 中低
7
+ ---
8
+
9
+ ## 意图
10
+ 打字是唯一自带时间性的文字入场——字符一个个到来本身就是节奏,
11
+ 不需要额外动效。A 把打字当**引信**:暗色终端窗逐字敲出命令、
12
+ 方块光标方波闪,回车帧镜头急推进命令行硬切产品界面,命令行是
13
+ 场景的导火索,开发者产品标配;B 把打字当**独白**:逐字打出平庸词
14
+ ("just a dashboard")→ 停顿犹豫 → 退格删掉 → 更快打出卖点词
15
+ ("your command center"),犹豫-否定-宣言的三幕剧,戏全在三档
16
+ 速度差里。与 scramble-decode 的区别:乱码解码是机器在猜,
17
+ 打字是人在说。
18
+
19
+ ## 两式选型
20
+ | 式 | 做法 | 适用 |
21
+ |----|------|------|
22
+ | A terminal-typewriter | 2f/字符敲出命令,光标 f%12<6 方波闪;回车帧整场景 6f 急推 scale 1→3.2(origin 锁命令行中心)+ 末 2f blur 10px,硬切 dashboard 1.06→1 回稳 | 开发者工具开场;CLI 卖点产品 |
23
+ | B error-retype | 打 2f/字符 → 停顿 16f 光标闪两下 → 退 1.5f/字符 → 重打 1.5f/字符无犹豫;光标打删常亮、停顿才闪 | slogan 字卡的"改口"戏;否定式文案 |
24
+
25
+ ## 参数表
26
+ | 参数 | 典型值 | 调节手感 |
27
+ |------|--------|----------|
28
+ | 字符节奏 | substring(0, floor((f-起点)/步长)),帧确定无插值 | 任何缓动打字都读作加载动画 |
29
+ | A 光标 | 方块,f%12<6 方波 | 淡入淡出的光标不是终端是网页 |
30
+ | A 急推 | f58–64 scale 1→3.2 Easing.in(cubic),origin 钉命令行文字中心 | 幅度小于 3x 读作抖了一下,不是"冲进去" |
31
+ | A 硬切 | f64 条件挂载切换(终端整棵卸载,blur 随之摘罩),落定回稳 4f | 交叉溶解毁掉引信-爆炸因果 |
32
+ | B 三档速度 | 打 2f/字符、删 1.5f、重打 1.5f 且零犹豫 | 三档差必须可感——等速改口读作 bug 不是戏,命门 |
33
+ | B 光标三态 | 打删常亮=果断;停顿 4f 半周期闪两下=犹豫;完稿闪两下后条件摘除 | 光标就是演员的脸,全程等速闪就没有"犹豫" |
34
+ | B 排版 | 逐字符固定宽 span(58px 等宽),左缘锚定 | 变宽字体/整串测宽会逐帧重排抖动 |
35
+ | 收尾 | A 静止 ≥77f / B 静止 ≥50f | 光标残留 0.05 opacity 都毁真静止 |
36
+
37
+ ## 已知坑
38
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
39
+ 首次实战须以真实素材回验
40
+ - 声音强依赖:键击声逐字符对齐、B 退格音调更低(sound-design
41
+ §4.5)——无声打字机只剩字幕机
42
+ - A 回车急推是与 crash-zoom 的交棒衔接:急推末帧动势最猛处硬切,
43
+ 切后新场景不得再推(一棒只交一次)
44
+ - B 全片 ≤1 次——改口是一次性的戏剧转折,改两次口是口吃
45
+ - 等宽字体或逐字符 span 二选一必须占一个,否则字符到来时
46
+ 整行重排,打字变成抽搐
47
+
48
+ ## 参考实现
49
+ demos/typewriter-moves/
50
+ (TerminalTypewriter.tsx / TypewriterErrorRetype.tsx)
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: ui-strip-away-outro
3
+ 一句话: 减法式收尾——点击 Publish 后整个编辑器 UI 从外围到中心层层错峰蒸发,黑场上只剩那颗按钮滑到屏心放大,按钮再淡出交棒字标定版
4
+ 适用: "发布/完成"语义的 outro;想讲"一键之后一切复杂性消失"的产品收尾
5
+ 时长: ~4.3s(130f:光标就位 34f → 蒸发 ~40f → 按钮独占 → 字标接棒)
6
+ 能量: 中(前段安静操作,中段持续退场,无瞬时冲击)
7
+ ---
8
+
9
+ ## 意图
10
+ 库内收尾全是"加法":outro-group-photo-launch 元素飞来合影,logo
11
+ sting 是定住再彩蛋。本卡是唯一的"减法"路线——点击引爆全 UI 退场,
12
+ 黑场只留语义焦点(那颗被点的按钮),把"发布 = 复杂性归零"翻译成
13
+ 动效叙事。命门有二:**蒸发要有秩序**——从外围到中心每 4f 一层、
14
+ 每层带方向性位移(各自往画外散),乱序或同帧齐灭读作断电故障;
15
+ **按钮是唯一幸存者且必须迁移**——蒸发期间从工具条角落滑到屏心
16
+ 放大 1.5 倍、白晕随黑场增强,完成从"UI 控件"到"仪式主角"的升格,
17
+ 最后淡出把黑场交给字标。
18
+
19
+ ## 动效核心
20
+ - 6 个蒸发层:侧栏→属性面板→画布卡→工具条两端→画布底→工具条中段,
21
+ 点击后 +4f 起每 4f 一层;每层 STRIP_DUR 14f,Easing.in(quad)
22
+ 离场加速,fade + 方向性位移(侧栏 −140,0 / 面板 −90,20 /
23
+ 工具条两端 ∓80,−60 / 画布底 0,40 / 工具条中段 0,−50)
24
+ - 画布内 4 张卡再各错峰 3f,位移左右交替(±70px)——大块整体消失
25
+ 会读作图层被删,碎开走才是"蒸发"
26
+ - 背景压黑:随画布底层蒸发(+20f 起 20f)灰底 → #111110
27
+ - 按钮:点击 spring(damping 12, stiffness 220) 压缩脉冲;蒸发期
28
+ 位置/尺寸插值滑向屏心(18f,inOut cubic),scale ×1.5,白晕
29
+ 30→70px 随黑场增强;+52f 起 12f 淡出
30
+ - 字标接棒:+62f spring(damping 14, stiffness 90) 淡入 +
31
+ 86%→100% 缩放,黑场定版
32
+ - 光标点击后 10f 内淡出——主角换人,光标必须退场
33
+
34
+ ## 参数表
35
+ | 参数 | 典型值 | 调节手感 |
36
+ |------|--------|----------|
37
+ | 层间错峰 | 4f × 6 层 | 同帧齐灭读作断电;>8f 拖成慢拆迁,仪式感散 |
38
+ | 单层时长 | 14f,ease-in 加速 | ease-out 离场读作"飘走"不读作"蒸发";>20f 黏 |
39
+ | 蒸发顺序 | 外围 → 中心,按钮所在层最后 | 中心先空读作故障;按钮层先走全卡崩塌 |
40
+ | 位移幅度 | 50–140px,方向各自向画外 | 无位移纯 fade 读作调透明度;同方向读作整屏平移 |
41
+ | 按钮迁移 | 18f 滑到屏心 + scale ×1.5 + 晕光增强 | 不迁移则黑场上一颗角落小钮,读作漏删;先迁后灭顺序不可反 |
42
+ | 字标接棒 | 按钮淡出后 ~10f 进,spring 定版 | 与按钮同屏抢戏;黑场空窗 >20f 像放完了 |
43
+
44
+ ## 已知坑
45
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
46
+ 首次实战须以真实素材回验
47
+ - 与 outro-group-photo-launch 分工:全家福是"加法"峰值终镜(多功能
48
+ 产品全员谢幕),本卡是"减法"收尾(单一动作语义、越走越静)——按
49
+ 产品气质二选一,不可同片双收尾
50
+ - 与 edit-hook-moves B(logo-sting-button)衔接:本卡字标定版后可接
51
+ sting 彩蛋,但 sting 的"突插"会打破减法的静——接不接看全片性格
52
+ - 蒸发的每层必须是**语义完整的 UI 区块**(侧栏/面板/工具条),按
53
+ 像素区域切层会在错峰时露出结构不合理的残缺态
54
+ - 按钮迁移全程 zIndex 压最顶——任何蒸发层从按钮前面飘过都是穿帮
55
+ - 触发动作必须是"终结性"语义(Publish/Ship/Done);拿 Save 或普通
56
+ 确认触发全 UI 蒸发,语义配不上排场
57
+ - 实战按钮用品牌高亮色(原片是 Framer 蓝),demo 的白钮只是灰阶占位
58
+ ——黑场上按钮与晕光的对比是主角光环,颜色弱则升格失败
59
+
60
+ ## 参考实现
61
+ demos/ui-strip-away-outro/
62
+ (UiStripAwayOutro.tsx)
63
+ 原片出处:framer-ai 33–36.5s
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: ui-to-brand-morph
3
+ 一句话: UI 变品牌两式——icon-flip-bloom 图标 Y 轴翻扁成竖线绽放成花形 mark + wordmark 逐字落定,与 input-morph-assemble 输入框收缩成胶囊、三粒图元落下集结成 logo 单瓣
4
+ 适用: 品牌收尾/outro 前最后一拍;"你每天用的那个 UI 就是这个品牌"的视觉论证
5
+ 时长: A ~4.3s(130f)/ B ~4.7s(140f)
6
+ 能量: 中高(收尾点睛,一次完整变形讲完)
7
+ ---
8
+
9
+ ## 意图
10
+ 品牌收尾库里已有三条路:brand-ink-open 是开场描画压印、
11
+ morph-from-primitive 是图元→UI 容器(方向相反)、
12
+ outro-group-photo-launch 是元素围拢合影(聚而不变)。本卡补第四条:
13
+ **产品 UI 元素自己变形成品牌符号**——A 式是图标翻一个身变成 logo
14
+ (同位实体交换),B 式是全片反复出现的输入框在最后一次发送后集结成
15
+ logo 单瓣(多元素落位拼装)。观众看到的不是"logo 出现了",而是
16
+ "刚才用的东西原来就是它",因果链本身就是品牌论证。
17
+
18
+ ## 两式选型
19
+ | 式 | 做法 | 适用 |
20
+ |----|------|------|
21
+ | A icon-flip-bloom | 图标 anticipation 晃两下→Y 轴 scaleX 压扁成竖线(双层拖影+blur)→最薄处实体交换、spring 绽放成 5 瓣花形 mark→mark 左移让位、wordmark 逐字落定 | 单图标产品;图标与 logo 形态差异大、需要"翻过去变身"的魔术感 |
22
+ | B input-morph-assemble | 光标点发送→文字飞走→输入框 x/y/w/h/r 五量 spring 插值成圆角胶囊→三粒图元错峰从画外落下拼成抽象单瓣→整组呼吸 | 输入框/卡片等矩形 UI 是全片主角的片子;logo 可拆解为几何图元组合 |
23
+
24
+ ## 参数表
25
+ | 参数 | 典型值 | 调节手感 |
26
+ |------|--------|----------|
27
+ | A anticipation | 12–34f 倾斜 -12°/+14°/-18°→0°,inOut(sin),transformOrigin 钉底部 78% | 幅度递增才读作"蓄力";只晃一下读不出预备动作 |
28
+ | A 翻扁 | 12f Easing.in(cubic),scaleX 1→0.04;两层残影 opacity 0.22/0.14 + blur 6px 滞后 0.12/0.24 | 加速入是"甩"的关键;匀速翻读作 flip 卡片。0.04 是最薄处,实体交换在这帧做 |
29
+ | A 绽放 | spring(damping 11, stiffness 130);5 瓣 ellipse 角度从 -90°(全竖直重叠)张到均匀分布,长 20→38、宽 3→15 同步生长 | 花瓣从闭合竖线张开才接得住"翻过最薄处";直接 scale 整朵会断因果 |
30
+ | A wordmark | mark 16f 左移 -420px 让位;逐字 2.2f 错峰、每字 10f | **wordmark 落定应对照原片:各字母由大变小落位,大的时候模糊、落位时清晰(scale+blur 联动逐字落定),不是横向扫出**;demo 的 translateX -70→0 + blur 16→0 横扫是待改项 |
31
+ | B 发送反馈 | 光标 22f 移入按下 scale 0.82 + 按钮闪白 6f;文字 12f Easing.in 加速右上飞出(+700,-380)+ rotate -10° + 淡出 | 飞走必须加速——匀速飞读作平移不读作"发出去了" |
32
+ | B morph | 34f 起 spring(damping 13, stiffness 90),860×120 r26 → 300×108 r54 五量同步;白描边随进度填成实心 | 五量必须同一个 spring 驱动,分开插值会中途散架 |
33
+ | B 三粒落下 | 56/70/84f 错峰 14f,各自 spring(damping 12) 从画外 -260px 落到预排位 | 错峰是"集结"的节奏感;齐落读作下雨 |
34
+ | B 落定呼吸 | 108f 起整组 scale 1±0.03 正弦(0.18 rad/f),transformOrigin 钉瓣心 | 呼吸给"活的 logo"收尾;没有呼吸落定即死帧 |
35
+
36
+ ## 已知坑
37
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
38
+ 首次实战须以真实素材回验
39
+ - A 式实体交换必须发生在 scaleX ≤0.05 的最薄帧——提前换观众看见两个图形叠影,魔术穿帮
40
+ - A 式 wordmark 按上表改逐字 scale+blur 落定后,错峰间隔可能要拉大(每字有独立的"由大变小"动作,2.2f 可能读不清),改完按可感性判例正常速度看片
41
+ - B 式拼的是抽象单瓣(泪滴+胶囊组合)不是真 Slack logo——实战换成自家 logo 的图元分解,图元数 3–4 粒为宜,多了读作粒子不读作拼装
42
+ - 变形中途别叠其他动画(morph-from-primitive 同判例):morph 本身是全部信息
43
+ - 与 outro-group-photo-launch 分工:那是全片元素飞来围住字标合影(聚),本卡是 UI 元素自己变成品牌符号(变);同片收尾二选一
44
+ - 声音:A 翻扁一声"唰"、绽放落定"嗒";B 发送一声 send、每粒落位一声 pop、呼吸段静
45
+
46
+ ## 参考实现
47
+ demos/ui-to-brand-morph/
48
+ (IconFlipBloomLogo.tsx / InputMorphsIntoLogo.tsx)
49
+ 原片出处:A perplexity-promo 88–91.5s / B slack-promo 40–41s
50
+
51
+ 实现状态:`icon-flip-bloom` 有样片;`input-morph-assemble` 有参考实现但缺少
52
+ Gallery 动态预览,不得声称已按样片对照还原。
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: voice-waveform-live
3
+ 一句话: 录音胶囊实时声纹——64 根细竖条随"说话"起伏,说话时中部高耸、停顿缩成点线,波形从右往左滚动;说→停→说→提交塌缩的完整表演
4
+ 适用: 语音输入/AI 助手"正在听你说"的功能镜头;无 UI 内容可展示但需要持续活性撑画面的段落
5
+ 时长: ~5s(150f:入场 12f + 说 1.4s + 停 0.8s + 说 1.4s + 提交塌缩 0.8s)
6
+ 能量: 中(功能性活性,不是炫技)
7
+ ---
8
+
9
+ ## 意图
10
+ 库里唯一的波形是 spectrum-morph-ui——那是标题下划线裂成频谱条的
11
+ **装饰性**音乐可视化。本卡是**功能性**声纹:"正在听你说"的实时
12
+ 回执。区别在因果:spectrum 跟 BGM 跳、是包装;本卡跟"用户说话"
13
+ 跳、是产品功能本身。说话时波形高耸、停顿时缩成一排点线、历史向左
14
+ 滚出——观众从波形的起伏读出"它真的在听",一段 6s+ 的画面全靠这份
15
+ 活性撑住,不需要任何别的内容。与 gauge-readout-moves 分工:仪表是
16
+ "报一个数值"的机械仪式,本卡是"持续监听"的生命体征,没有终值。
17
+
18
+ ## 动效核心
19
+ - **帧确定的伪随机是命门**:mulberry32 按整数采样点取值 + smoothstep
20
+ 相邻插值(值噪声),无 Math.random——渲染可复现且相邻帧连续
21
+ - 滚动感:第 i 条采样时刻 = f - (N-1-i)·1.6,最右条是"现在",
22
+ 历史向左流;不是条在平移,是每条在读不同时刻的信号
23
+ - 条高 = 说话包络(梯形 seg 说/停两档 + 音节噪声 0.55+0.45·noise)
24
+ × 中部空间权重 sin^0.8 × 逐条 jitter(0.35+0.65·noise);
25
+ 静默钳到 5px 点线
26
+ - 提交:按钮 3f 压缩 scale 1→0.82→1 回弹,波形 12f Easing.in 塌缩
27
+ 到 0.06,麦克风辉光随包络亮灭
28
+
29
+ ## 参数表
30
+ | 参数 | 典型值 | 调节手感 |
31
+ |------|--------|----------|
32
+ | 条数/间隙 | 64 条,gap 6px(1320px 宽胶囊) | 少于 40 条读作均衡器;密过 90 条单条读不出起伏 |
33
+ | 滚动速率 | 1.6 帧/采样点 | 快了历史刷太快像故障;慢了"滚动感"消失变成原地抖 |
34
+ | 说停包络 | seg 梯形 rise 5f / fall 7f;demo 说 15–57f、停 80–124f | 停顿段必须真的塌成点线——没有"停"的对比,"说"就不成立 |
35
+ | 音节噪声 | 0.55+0.45·noiseAt(t/4.5) | 去掉音节层波形是平滑山丘,读不出"一句话的顿挫" |
36
+ | 中部权重 | sin^0.8 空间包络 | 无权重全场等高像均衡器;指数 >1.5 中间独秀像单根跳 |
37
+ | 静默钳位 | max 5px 点线 | 钳 0 波形消失读作断线;点线是"在听但你没说" |
38
+ | 提交塌缩 | 12f Easing.in 到 0.06 + 按钮压缩回弹 3f | 塌缩是"这段话被收走了";淡出读不出提交语义 |
39
+
40
+ ## 已知坑
41
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
42
+ 首次实战须以真实素材回验
43
+ - **有音轨时波形必须跟人声走**:片子若配了真旁白/人声,包络的说停段要对齐音轨的说停,错位一秒就穿帮;无人声配乐片才可用纯合成包络
44
+ - 与 spectrum-morph-ui 同片可共存(一个是功能一个是装饰),但别用同一种条形视觉——高度/颜色/圆角至少差一档,否则观众读作同一个东西乱入
45
+ - demo 的玻璃拟态胶囊(backdropFilter blur 24px)是 raycast 暗场风格,亮色片子换成实底胶囊即可,声纹参数不变
46
+ - 麦克风用的 emoji 加 grayscale 滤镜是占位——实战换 SVG 图标
47
+ - 声音:本卡画面就是"声音的形状",配人声最顺;提交钮一声轻 pop + 塌缩配短促下滑音
48
+
49
+ ## 参考实现
50
+ demos/voice-waveform-live/
51
+ (VoiceWaveformLive.tsx)
52
+ 原片出处:raycast-teams 19.5–26.0s