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,50 @@
1
+ ---
2
+ name: overhead-camera-moves
3
+ 一句话: 俯拍揭示两式——tilt-reveal 俯仰抬正揭示、overhead-tabletop-drop 桌面卡阵横滑骤降扎入
4
+ 适用: 用"俯仰角"讲故事的开场/转场:单页 establishing 用 A,多页巡视择一扎入用 B
5
+ 时长: A ~4.8s / B ~4.7s
6
+ 能量: A 中 / B 中高
7
+ ---
8
+
9
+ ## 意图
10
+ 库内俯拍视角一直空缺——crane-rise 是"平移+缩放"的升起(俯仰角
11
+ 不动),space-camera C 式 drone-dive 是俯冲降落一镜到底;这两式让
12
+ **俯仰角本身讲故事**:A 是揭示——整页 rotateX 平躺、开场只见上缘
13
+ 一条透视窄带,机位"抬头"回正,内容一排排涌入视野,像掀开桌上的
14
+ 图纸;B 是选择——三张页面卡平躺成桌面卡阵,相机俯拍横向滑过依次
15
+ 掠过(韦斯·安德森 tabletop),滑到目标页猛地俯冲扎入、抬正成满屏,
16
+ "巡视一圈,就选这张"。选型:单页开场用 A,多页转场/开场用 B。
17
+
18
+ ## 两式选型
19
+ | 式 | 做法 | 适用 |
20
+ |----|------|------|
21
+ | A tilt-reveal | perspective 容器内整页 rotateX -80° 平躺,~43f 抬正,rotateX/scale/translateY 共用 out-cubic,末端轻过冲 | 开场 establishing;单主体 |
22
+ | B overhead-tabletop-drop | 卡阵平躺 rotateX 62°,pan 段只动 translateX 横滑掠过,drop 段角度/缩放/位移三通道同跑扎入落版 | 多页巡视后择一;转场/开场两用 |
23
+
24
+ ## 参数表
25
+ | 参数 | 典型值 | 调节手感 |
26
+ |------|--------|----------|
27
+ | A 俯角 | rotateX 关键帧 [-80, 2.6, -0.9, 0](f25→68→72→76),transformOrigin 50% 0% | 首版 -55° 太弱:f0 仍见半页,无"窄带"悬念(实渲判例) |
28
+ | A 联动 | perspective 600→1200、perspectiveOrigin 5%→40% 随进度插值;scale 3.2→1 + translateY 200→0 | perspective 不联动则俯角初始见不到"只露顶栏" |
29
+ | A 收尾 | 全部动画 f76 结束,145f 留 69f 真静止 | 过冲幅度 ≤3°,再大读作弹簧不是机位 |
30
+ | B pan 段 | 0–55f 只改 translateX +700→-650(in-out cubic),角度不动 | pan 段动角度 = 两段职责糊掉(判例:pan 巡视、drop 表态) |
31
+ | B drop 段 | 55–85f 三通道同跑:rotateX 62→-1.8→0.6→0(out-cubic 过冲)、scale 1→2.04→2.0、translateX -650→0 | 三通道必须同跑;分先后读作两个动作 |
32
+ | B 卡阵 | 卡片 996×560(16:9 精确比),落版 scale 2.0 恰满屏正视;transform 顺序 translateX→rotateX→scale | 顺序错了 pan 会带出弧线轨迹 |
33
+ | B 地板 | 浅灰网格地板 | 无地板参照,横滑段读不出"相机在动" |
34
+ | B 收尾 | 全部动画 f93 结束,140f 留 47f 真静止 | — |
35
+
36
+ ## 已知坑
37
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
38
+ 首次实战须以真实素材回验
39
+ - 大角度透视下卡片必须 backfaceVisibility hidden + translateZ(4px)
40
+ 兜底,否则个别帧背面/深度穿帮
41
+ - A 与 crane-rise-reveal 同片二选一——都是开场揭示,两个"揭示开场"
42
+ 等于没有揭示
43
+ - B pan 段角度锁死是命门(两段职责分离判例):巡视归巡视、扎入归
44
+ 扎入,混着动观众不知道相机想干嘛
45
+ - 两式都是"相机大动作",与 space-camera/crane-rise 同屏段落互斥,
46
+ 一个段落只能有一个持镜人
47
+
48
+ ## 参考实现
49
+ demos/overhead-camera-moves/
50
+ (OverheadTabletopDrop.tsx / TiltReveal.tsx)
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: page-turn-transitions
3
+ 一句话: 整页体块转场两式——cube-rotate 立方体翻转(两页贴盒子相邻面转 90°)与 barn-door-split 对开门裂幕(旧页裂两半滑出、新页迎上)
4
+ 适用: 章节级换页:两个并列大段落之间的"翻篇"仪式;与 shot-transitions 系(镜头交棒)分工——那是"航拍机移过去",这是"页面自己是实体"
5
+ 时长: 单式 前态建立 30f + 转场 20–38f + 收尾 ≥40f,约 4.4–4.7s
6
+ 能量: 中高
7
+ ---
8
+
9
+ ## 意图
10
+ shot-transitions 六式和 transition-travel/hidden-cut 都把页面当"场景"
11
+ ——相机在场景间移动。本卡把页面当**实体**:它有厚度、有重量、会翻面
12
+ 会裂开。体块隐喻的仪式感更强,适合章节级大换页(功能 A 讲完→功能 B)
13
+ 而非镜头级小交棒。A 立方体是"空间上并列"——两页是盒子的两面,
14
+ 暗示同级关系;B 对开门是"旧的让位"——旧页从正中撕开滑走、新页
15
+ 从底下迎上来,暗示取代关系。按语义选:并列翻篇用 A,新旧交替用 B。
16
+
17
+ ## 两式选型
18
+ | 式 | 做法 | 适用 |
19
+ |----|------|------|
20
+ | A cube-rotate | 两页贴立方体相邻面(rotateY 0/90° + translateZ W/2),场景层转 -90°;旧面转出压暗、新面转进变亮,45° 时两面夹一条暗棱 | 并列章节翻篇;产品两大功能区切换 |
21
+ | B barn-door-split | 旧页两个 960px overflow 容器对位拼合,同时向外 Easing.in(cubic) 滑出画外;裂缝内边缘亮线+投影,新页底层 scale 1.06→1 迎上 | 新旧交替:改版前后、方案 A→方案 B |
22
+
23
+ ## 参数表
24
+ | 参数 | 典型值 | 调节手感 |
25
+ |------|--------|----------|
26
+ | A 结构命门 | 场景层 `translateZ(−W/2) rotateY(θ)` 把正面拉回 z=0 | 少了这层 hold 段页面尺度不对(被 perspective 推远) |
27
+ | A 转速 | θ 0→−90° / 38f inOut cubic;中段叠 blur 1.5px 落定摘 | <28f 读不出体块感;>50f 读作慢慢挪 |
28
+ | A 亮度对切 | 旧面 1→0.55、新面 0.55→1 + 接缝竖向渐变阴影 sin(pπ) | 无明暗对切两面读作同一张图在转 |
29
+ | B 预告 | 裂前中缝 2px 细线闪现两次(18–22/25–29f) | 直接裂开观众没看到裂点在哪 |
30
+ | B 滑出 | 各 translateX ∓980px / 20f Easing.in(cubic) 加速 | ease-out 滑出是"被推走",ease-in 才是"让位" |
31
+ | B 撕裂边 | 内边缘 3px G.ink 亮线 + 8px 投影 | 无边线两半读作普通左右擦除 |
32
+ | 收尾 | 新页落定真静止 ≥40f | R1 |
33
+
34
+ ## 已知坑
35
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
36
+ 首次实战须以真实素材回验
37
+ - 一缝一式规矩同 shot-transitions;体块转场比镜头交棒更重,
38
+ **全片 ≤2 次**,连续两缝都用体块读作 PPT 翻页
39
+ - A 式官方 `@remotion/transitions` cube() 是付费件——本卡是 CSS 自实现,
40
+ backlog 已有"评估官方转场原语"待选项,若引入官方件可对照
41
+ - B 式两半必须**对位拼合无缝**(右半内层 translateX(−960px))——
42
+ 静止时看出接缝就穿帮;真实截图注意奇数宽度取整
43
+ - 转场前后两页都要有 ≥30f 静止建立/收尾——两端都在动,体块感被
44
+ 运动淹没
45
+
46
+ ## 参考实现
47
+ demos/page-turn-transitions/
48
+ (BarnDoorSplit.tsx / CubeRotate.tsx)
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: page-waterfall-wall
3
+ 一句话: 页面瀑布墙——真实页面截图切成 3–4 列在 3D 后仰墙面上差速反向无限滚动,视差 + 镜头缓推做"内容多到流不完"的一览
4
+ 适用: "多页面/多功能/多模板"体量感段落;montage 中段铺陈或 intro 后的产品广度镜头
5
+ 时长: 4–6s(无限循环体,时长由段落需要裁)
6
+ 能量: 中(流动陈列型)
7
+ ---
8
+
9
+ ## 意图
10
+ 流动式一览:让观众在几秒内"看到很多页面流过",读感是体量而非细节。
11
+ 与 outro-group-photo-launch 分工:那是**聚拢式**一览(元素飞来围住
12
+ 字标定格合影,语义"属于同一产品"),本卡是**流动式**一览(内容持续
13
+ 流过不定格,语义"还有很多没给你看完")。与 odometer-digit-roll 分工:
14
+ 那是有终值的机械滚轮(逐位停稳读数字),本卡无终值无限循环。
15
+ 与 wall-reveal-moves 分工:那是整墙**入场动作**,本卡是墙的**持续状态**,
16
+ 可用那卡入场后交棒本卡续流。
17
+
18
+ ## 动效核心
19
+ - lib 组件 `assets/lib/VerticalTicker.tsx`:父层 perspective(1000px)
20
+ rotateX(20°) scale(1.2) 后仰成墙;每列 [...items,...items] 翻倍 +
21
+ progress 取模 translateY 0→-50% 无缝循环;上下渐变遮罩收边
22
+ - 差速反向是视差命门:3 列 loop 时长错开(如 12/9/14s),中列反向——
23
+ 等速同向读作一张大图在滚,差速反向才读出"独立的列"
24
+ - 镜头缓推寄生在外层(scale 1→1.06 线性铺满全镜),墙自身循环、
25
+ 镜头单向,两个运动源方向不同不打架
26
+ - 素材:真实页面截图切片(Q1 脱敏后),卡片级切块比整页长图好——
27
+ 整页切片滚动时观众来不及读,卡片块有完整轮廓可辨识
28
+
29
+ ## 参数表
30
+ | 参数 | 典型值 | 调节手感 |
31
+ |------|--------|----------|
32
+ | 列数 | 3(1080p)/ 4(超宽) | 2 列读不出"墙",5 列单列过窄纹理糊 |
33
+ | loop 时长 | 相邻列差 ≥25%(12/9/14s) | 差速太小视差读不出;最快列 <7s 开始读作"刷屏" |
34
+ | 方向 | 中列反向(-1,1,-1 或交替) | 全同向=一张大图;反向列是"独立列"的最强证据 |
35
+ | 倾角/透视 | rotateX 20° / perspective 1000px | >25° 顶部行文字透视压糊(Q2);<12° 读不出墙面后仰 |
36
+ | scale | 1.2 基础 + 缓推至 ~1.26 | 1.2 是补透视收缩的底值,低于它四角露底 |
37
+ | 遮罩高度 | 200px | 太矮行硬进硬出;太高可视区剩不下 2 行 |
38
+ | 循环周期 | -50% 位移必须恰等于单副本周期(内容高+n·gap) | lib 已用 marginBottom 保证;自写实现用 flex gap 会差 gap/2 跳帧 |
39
+
40
+ ## 已知坑
41
+ - **参数借鉴自外部实现(remotion-3d-ticker),非实战定稿;
42
+ 首次实战须以真实素材回验**
43
+ - 每列 items 总高必须 ≥ 视口有效高(否则同屏见同一切片两次,穿帮);
44
+ 列间切片不要复用同一张图,同图同时出现在两列读作素材穷
45
+ - 本卡是氛围/铺陈镜头不是信息镜头:切片上文字只求"看得出是真页面"
46
+ 不求读完;想让观众读某一块,交棒 spotlight-hero-card 单主角处理
47
+ - P4 去重:与 outro 合影同片共存没问题(一流动一聚拢),但全片
48
+ 瀑布墙只出现一次,二次出现读作凑时长
49
+
50
+ ## 参考实现
51
+ assets/lib/VerticalTicker.tsx(核心组件);
52
+ demo 见 demos/page-waterfall-wall/(PageWaterfallWall.tsx / VerticalTicker.tsx)。
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: panel-grid-moves
3
+ 一句话: 分格节奏三式——grid-flash-mosaic 九宫格闪切填墙吞屏、flip-grid-reflow 网格集体重排、comic-panel-split 漫画斜格三机位并列
4
+ 适用: 把"格子"当节奏器:逐格踩拍亮相(A)、节拍点集体换位(B)、同主体多机位定格并列(C);三式都吃拍点
5
+ 时长: A ~4.7s / B ~4.8s / C ~5s
6
+ 能量: A 高 / B 中 / C 中高
7
+ ---
8
+
9
+ ## 意图
10
+ 与 wall-reveal-moves 的区别是本卡的定位锚:那是"整墙怎么入场"
11
+ (一次性揭示),这是"格子怎么当节奏器"——分格、重排、并列都发生
12
+ 在节拍上,格变即鼓点。A 是填:3×3 格按十六分音符乱序逐格啪啪硬入,
13
+ 填满停一拍,中心格放大吞掉全屏——功能矩阵一秒全亮相;B 是移:6 张卡
14
+ 在节拍点集体直线换位(横排→3×2 网格),半秒落定 + 加深脉冲收束——
15
+ 布局重排本身当一个鼓点;C 是并:画面咔咔切成 3 个斜线分格,同一产品
16
+ 三种机位同时定格,停半拍后一格斜边扩张吃掉全屏——Scott Pilgrim 的
17
+ 分屏语言。按需选:多功能亮相用 A,布局叙事用 B,单品多视角用 C。
18
+
19
+ ## 三式选型
20
+ | 式 | 做法 | 适用 |
21
+ |----|------|------|
22
+ | A grid-flash-mosaic | 3×3 格每 2f 一格按 h(i) 乱序条件挂载硬入(入格 3f scale 1.18→1 + 2f 加深脉冲),满墙呼吸一拍,中心格 14f Easing.in(cubic) 放大 3.28x 吞屏 | 功能矩阵一秒全亮相;高潮前铺排 |
23
+ | B flip-grid-reflow | 预写两套坐标表(横排/3×2 网格),每卡 delay=i×1.5f、16f inOut cubic 直线飞行 + scale 1→1.28 带 1.02 过冲;落定后 6f brightness 0.78 全画面脉冲 | 布局叙事:并列→分组的语义换挡 |
24
+ | C comic-panel-split | 三格各一份整页 clip-path 12° 斜边裁切 + translate/scale 摆机位(1x/1.9x/2.6x),逐格 2f 间隔弹入;定格 18f 各格缓推保活,末格斜边 12f out-cubic 扩张吃屏 | 同一主体多视角并列;漫画感段落 |
25
+
26
+ ## 参数表
27
+ | 参数 | 典型值 | 调节手感 |
28
+ |------|--------|----------|
29
+ | A 硬入 | 未到拍点直接不渲染(条件挂载),零淡化 | 逐格硬入无淡化——命门;淡入就不是"啪" |
30
+ | A 描边 | 每格 3px 深色描边(border-box) | 白底提亮不可见判例的反向应用:白卡靠描边分格 |
31
+ | A 吞屏 | 中心格塞 0.3125x 整页,放大 3.28(>3.2)让描边滑出画外 | 描边残在收尾满屏上就穿帮 |
32
+ | B 坐标 | 两套表预写(行 y=330 / 网格列 571.6/960/1348.4、行 416.2/663.8),纯 transform | 免真 FLIP 量测;帧确定无随机 |
33
+ | B 交错 | 偶数索引上排、奇数下排,轨迹互不对穿 | 乱排轨迹会恶性穿帮 |
34
+ | B 脉冲 | f58–64 brightness 0.78,filter 仅窗口内条件挂载 | 摘罩判例;窗口外挂 filter 毁真静止 |
35
+ | C 斜缝 | SVG 双线:16px 墨 #2f2f2f 底 + 10px 白核,12° 斜角 | 斜缝白线是漫画感命门;直缝读作分屏工具 |
36
+ | C 保活 | 定格 18f 各格 scale 缓推 +3%/+5.5%/+8% | 三格全静读作截图拼贴 |
37
+ | 收尾 | A 68f / B 81f / C 93f 真静止(≥40f) | R1;C 摘罩帧与扩张终值对齐防跳变 |
38
+
39
+ ## 已知坑
40
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
41
+ 首次实战须以真实素材回验
42
+ - C 三格必须是**同一主体的不同机位**——三格塞不同内容读作 bento
43
+ 排版不是漫画分格,语义就散了
44
+ - 三式都吃拍点、声音强依赖:A 逐格一声啪、B 起飞与脉冲各一声、
45
+ C 逐格咔咔三声(sound-design §4.5);不踩拍的分格只是布局动画
46
+ - 同片分格系 ≤1 段——格子语言辨识度太强,两段就撞
47
+ - A 与 wall-reveal-moves 别同片连用(都是"墙",观众分不出
48
+ 入场还是节奏器)
49
+
50
+ ## 参考实现
51
+ demos/panel-grid-moves/
52
+ (ComicPanelSplit.tsx / FlipGridReflow.tsx / GridFlashMosaic.tsx)
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: paper-craft-moves
3
+ 一句话: 纸艺两式——masking-tape-slap 纸胶带拍定(悬浮微晃被"啪啪"按死)与 popup-book-rise 立体书立起(卡片沿底边错峰立墙)
4
+ 适用: 纸墨主视觉片的实体材料语言:单卡定妆入场用 A、整版 dashboard 开场建立用 B;与纸墨+强调色的主视觉(模板片为纸/墨/琥珀)天然同源
5
+ 时长: A 3–4s / B 4–5.5s
6
+ 能量: A 中(两拍打击)/ B 中高(立墙有纵深冲击)
7
+ ---
8
+
9
+ ## 意图
10
+ Wes Anderson 手账美术与立体书纸艺的 UI 翻译。A:卡片轻飘入位后
11
+ 悬着微晃(未固定的纸),两条撕边半透明胶带"啪、啪"先后拍在对角,
12
+ 第二条拍下**同帧**卡片停晃、投影变薄、整卡下沉——"按死"的定妆
13
+ 一瞬是主角,两声"啪"是天然音效点。B:整页平躺如摊开书页(俯视),
14
+ 卡片像贴在页上的纸片沿各自底边错峰立起成墙,立到 95° 回弹 90°
15
+ (纸的韧性),根部投影随立起收窄。
16
+
17
+ ## 两式选型
18
+ | 式 | 做法 | 适用 |
19
+ |----|------|------|
20
+ | A masking-tape-slap | 晃动=幅度包络×正弦(rot ±1.5°/bob ±5px);胶带扑入 6f:scale 1.45→1 + rotate 欠 16°→过冲 7°→回正 + 落帧 scaleY 0.72 一帧压扁;撕边 14 点 clipPath 锯齿 | 单卡/徽章的定妆入场;文案重音对齐 |
21
+ | B popup-book-rise | 双层 3D:场景 rotateX 75° 俯视(persp 2600),每卡 rotateX 0→-90° spring(damping 11 过冲 -95°),origin 底边,preserve-3d 贯通;远排先近排后错峰 7f | 整版 dashboard 开场;"系统被搭建起来" |
22
+
23
+ ## 参数表
24
+ | 参数 | 典型值 | 调节手感 |
25
+ |------|--------|----------|
26
+ | A 按死三件套 | 同帧:晃动 2f 归零 + 投影 34px→8px + 全卡下沉 2px | 三件拆帧就没有"按死"感;第一条胶带只把包络衰到 0.45(半死) |
27
+ | A 胶带质感 | 半透明 + 锯齿撕边 + 落点故意歪 2–3° | 歪斜是设计的手工感;直挺挺读作 UI 元素 |
28
+ | B 立起方向 | rotateX 0→**-90°**(向观众立起) | demo 判例:方向写反卡片往画面里倒被底板裁切 |
29
+ | B 根部投影 | blur 矩形不随卡立起,高 104→14px、透明度 0.26→0.1 随角度插值 | 无投影纸片浮空;投影跟着立起来穿帮 |
30
+ | B 收尾 | 全部站定后场景 75°→68° 轻回正(in-out cubic) | 直接定住少一口呼吸 |
31
+
32
+ ## 已知坑
33
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
34
+ 首次实战须以真实素材回验
35
+ - A 的晃动是"未固定"的叙事铺垫不是手持抖动(Q3 边界):
36
+ 振幅包络必须最终归零,全片只在被按死前存在
37
+ - B 与 tilt-reveal 分工:tilt 是**机位**抬头看静止页面,
38
+ 本卡机位基本不动、**构件自己**站起来
39
+ - B 立墙后卡片呈 90° 侧立态,文字不可读——立墙是构图动作,
40
+ 信息交给立起后的正视段落(Q6 同源)
41
+ - 声音:A 两声"啪"(纸拍击拟音);B 每排立起一声轻纸响,
42
+ 错峰对齐(S2/S4 同源)
43
+
44
+ ## 参考实现
45
+ demos/paper-craft-moves/
46
+ (MaskingTapeSlap.tsx / PopupBookRise.tsx)
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: paper-plane-messenger
3
+ 一句话: 纸飞机信使转场——点击"发送"后镜头拉远脱离窗口 A,折纸飞机沿贝塞尔弧线飞出(俯仰跟随切线),镜头伴飞穿过多层视差道具,飞抵窗口 B 门前落定,B 放大接管全屏
4
+ 适用: "发送/邀请/分享"动作连接两个人物/场景视角的叙事转场;抽象动作需要一个隐喻实体当转场载具时
5
+ 时长: ~5s(150f:点击 12f → 拉远 16–42f → 飞行 34–104f → B 接管 112–146f)
6
+ 能量: 中
7
+ ---
8
+
9
+ ## 意图
10
+ transition-travel 是镜头钻进画面里的既有元素换景;本卡反过来——从
11
+ 动作里**放出一个语义信使**,让镜头跟着它飞去下一个场景。"发送"这个
12
+ 抽象动作被实体化成折纸飞机,A/B 两窗的空间关系被飞行轨迹真实丈量
13
+ 过,观众对"消息去了哪"有了身体感。命门是 2.5D 相机管线:所有元素
14
+ 挂在同一世界坐标系上,镜头中心 A→跟飞机→B、变焦拉远再推近,视差
15
+ 道具按 depth 乘相机位移——重 3D 原片降级成一台"假三维",成本掉一个
16
+ 量级而纵深感保留。飞机俯仰角跟随弧线切线是"它在飞"而非"它在平移"
17
+ 的全部区别。
18
+
19
+ ## 动效核心
20
+ - 世界坐标系相机:`screen = 960 + (world − camCenter) × zoom × depth`;
21
+ 镜头中心 A(520,560) → 跟飞机 → B(3200,600),变焦 1.55(贴脸 A)
22
+ → 0.62(拉远伴飞)→ 3.1(B 接管全屏)
23
+ - 飞机三次贝塞尔:A 发送按钮 → 高抛控制点(y=−80)→ 下压控制点 →
24
+ B 门前;朝向 = bez(t) 与 bez(t+0.012) 的 atan2 切线角
25
+ - 飞行整体缓动 Easing.bezier(0.45,0.05,0.25,1)(起飞加速、落定
26
+ 减速)70f;途中 scale 放大 1.7 倍保可读,落定收回 1.1
27
+ - 视差道具 16 件(圆环/圆角方块,seed 随机)分 depth 0.45/0.75/1.3
28
+ 三层,远层 blur3、近层 blur8 焦外;各带正弦漂浮
29
+ - 飞机 = SVG 三块折面(白/浅灰/深灰示折痕)+ 描边;入场
30
+ Easing.back(1.6) 弹出,B 接管期 opacity 淡出不留残影
31
+ - 点击脉冲:按钮 scale ×1.22 + 扩散圈(CLICK 12f 起 3f 峰值)
32
+
33
+ ## 参数表
34
+ | 参数 | 典型值 | 调节手感 |
35
+ |------|--------|----------|
36
+ | 变焦三段 | 1.55 → 0.62 → 3.1 | 不先拉远直接跟飞,观众不知道 B 在哪个方位;拉远 <0.7 才装得下旅程感 |
37
+ | 飞行时长 | 70f,ease-in-out | <45f 读作弹射;匀速读作拖拽平移 |
38
+ | 切线采样 | dt = 0.012 | 太大角度滞后、太小抖动;俯仰角是"飞"的命门,删掉立即变贴图滑动 |
39
+ | 途中放大 | ×1.7(0.25–0.75 区间),落定 ×1.1 | 拉远后飞机只剩几十像素,不放大就丢主角 |
40
+ | 视差层 | depth 0.45/0.75/1.3,远 blur3 近 blur8 | 全同 depth 就没有穿越感;近景不虚会抢飞机视线 |
41
+ | B 接管 | 112–146f,变焦推到 3.1,道具/飞机同步淡出 | 道具不淡出会在推近时变成巨大糊块扫过全屏 |
42
+
43
+ ## 已知坑
44
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
45
+ 首次实战须以真实素材回验
46
+ - 与 transition-travel 分工:那卡钻进**画面里既有的**元素/容器完成
47
+ 换景(空间早已在构图里);本卡**放出一个新实体**连接画外的第二场景
48
+ ——A/B 无既有空间关系时才轮到本卡
49
+ - 与 glow-flyline-moves B(flyline-arc)分工:飞线是暗场数据流向的
50
+ 抽象示意(线是主角),本卡是明场叙事旅程(信使是主角、镜头伴飞)
51
+ ——讲数据用飞线,讲人与人用信使
52
+ - 信使实体必须来自动作语义(发送→纸飞机、上传→气球、部署→火箭),
53
+ 随便找个吉祥物飞一趟读不出因果
54
+ - 相机三段(拉远/伴飞/接管)的切换帧上中心与变焦都要连续——demo 里
55
+ zBase/zTake 在 TAKEOVER[0] 处相等(0.62)才不跳帧,改时间轴先查这点
56
+ - 2.5D 的极限:道具只能是剪影级形状,写实道具会暴露"没有真透视";
57
+ 要重 3D 质感请回原片路线(成本高一档)
58
+
59
+ ## 参考实现
60
+ demos/paper-plane-messenger/
61
+ (PaperPlaneMessenger.tsx)
62
+ 原片出处:pitch-app 77–82s(重 3D 原版的 2.5D 降级)
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: paper-title-card
3
+ 一句话: 一句话逐词压印上纸、一个词标强调色斜体、短划线收束
4
+ 适用: 章节转场/价值主张字卡;重要功能出场前的引导卡;全片呼吸位
5
+ 时长: 1.7–1.8s(50–55f)
6
+ 能量: 低(呼吸位,隔开两段高能镜头)
7
+ ---
8
+
9
+ ## 意图
10
+ 在两段产品画面之间给观众一句话的喘息:说清"接下来看什么、它值什么"。letterpress 压印质感让字卡与纸墨风格的产品画面同属一个世界。
11
+
12
+ ## 动效核心
13
+ - 单句文案逐词入场:scale 从大压到 1 + blur→0 + opacity(letterpress 压印配方)
14
+ - 每句恰好一个重点词:italic + 强调色(模板片为琥珀)
15
+ - 强调色短下划线 scaleX 0→1 收束
16
+ - 尾部整卡淡出交棒;可挂 mono 小字副行 + DigitRoll 数字
17
+
18
+ ## 参数表
19
+ | 参数 | 典型值 | 调节手感 |
20
+ |------|--------|----------|
21
+ | 逐词入场 | 第 i 词 delay = 4 + i·4、9f,bezier(0.2,0.75,0.3,1);scale 1.28→1 + blur 7px→0 + opacity | scale 起点 1.28 是"压印"读感的甜点——对照暗场版 TitleCard 用 40px 上移+blur 10,同配方明暗两版 |
22
+ | 重点词 | italic + 强调色 oklch(52% 0.115 65),一句恰好一个 accent | 两个 accent 等于没有 accent;重点词选功能名/收益词(C2) |
23
+ | 下划线 | 16→34f scaleX 0→1,220×6px 强调色 | 下划线是收束信号,出现即预告本卡快结束 |
24
+ | 时长 | 全片 4 张字卡均 50–55f(≈1.8s) | 字卡时长定式化——观众读一句话的时间,长了拖节奏短了读不完 |
25
+ | 版式 | 字号 116/serif;纸底 oklch(97.5% 0.008 82) + 中心暖光 radial;尾部 8f 淡出 | 纸底+暖光与产品画面同色系,字卡才不像广告插播 |
26
+ | 副行 | mono 小字 + DigitRoll(如 "5 of 31 fetched today");digit-roll 参数见 list-stack-press 卡计数器行 | 副行给具体数字最有说服力;数字滚动必须在本卡淡出前落定(教训)——排节拍从本卡淡出帧倒推 |
27
+
28
+ ## 声音
29
+ 字卡出场统一钉 swoosh-quick(模板片四张字卡钉在 f220/565/725/885 同音)——同类元素同音是词汇表纪律(S2);字卡本身无落地重音,能量留给前后镜头。
30
+
31
+ ## 已知坑
32
+ - 文案要具体:带产品功能名+具体收益,抽象隐喻词被用户逐字改掉(C2——"one board"→"one place to go"、加 "Paper Radar");文案在画面锁定后按最终镜头重写一遍(C1)
33
+ - 重要功能出场前要有引导字卡(C2 判例:文档镜头前应加一句引导,如 "Every project, linked to your weekly report")——字卡不是装饰,是章节路标
34
+
35
+ ## 参考实现
36
+ template/src/aifl/PaperTitleCard.tsx
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: particle-celebrate-hits
3
+ 一句话: 庆祝粒子两式——confetti-crossfire 双侧礼炮(里程碑揭晓帧双炮交叉彩屑弹幕)与 counter-tick-sparks 数字溅火(计数器每破整千顶部迸火星)
4
+ 适用: 里程碑数字/KPI 揭晓/成就段落;A 一次性大庆祝,B 持续小打点
5
+ 时长: A 3–4s / B 4–5s
6
+ 能量: 高潮点缀型(爆发后必须落回纯净静止)
7
+ ---
8
+
9
+ ## 意图
10
+ 给"数字揭晓"配可听感的视觉打点:A 是揭晓瞬间的句号——画面左下右下
11
+ 两门炮同帧开火,上百颗翻转彩屑抛物线交叉飞过全屏再落出画外,纯庆祝
12
+ 语义;B 是过程中的逗号——计数器每跳过一个整千,数字顶部"叮"地溅一撮
13
+ 小火星坠落熄灭,终值那跳翻倍爆一大撮+数字弹 1.1x。两式都是闭式弹道
14
+ (初速+重力+衰减逐帧公式),免物理引擎、帧确定。
15
+
16
+ ## 两式选型
17
+ | 式 | 做法 | 适用 |
18
+ |----|------|------|
19
+ | A confetti-crossfire | 双炮各 50 颗矩形彩屑:初速 90–150px/f(decay 0.9 下总程 ~900–1500px 才能交叉过中线)、spread 55°、每帧翻转 8–15°;~90f 全部落出画外后条件卸载 | 终值揭晓/发布宣言的一次性高潮 |
20
+ | B counter-tick-sparks | tick 帧由计数器同一 interpolate 派生;每 tick 6–10 颗 2px 火星(初速向上 4–6px/f、重力 12–18f 坠灭),终值跳翻倍 20 颗+数字弹 1.1x | 计数爬升过程的节奏打点 |
21
+
22
+ ## 参数表
23
+ | 参数 | 典型值 | 调节手感 |
24
+ |------|--------|----------|
25
+ | A 初速 | 90–150px/f | 词汇原案 18px/f 在 decay 下只飞 180px 不可感——弹道类幅度按总位移倒推 |
26
+ | A 配色 | 灰阶为主 + 1/3 强调色 | 全彩读作 B 端不合品牌;全灰读不出庆祝 |
27
+ | B 火星量 | 常规 6–10、终值 20 | 默认档最含蓄,嫌弱可 3 倍量做极端版 |
28
+ | 弹道 | 闭式公式(seed 伪随机初速角度) | 每帧独立可算,禁 Math.random |
29
+ | 收尾 | 粒子寿命耗尽条件卸载 | 结尾必须真静止,残留粒子=脏帧 |
30
+
31
+ ## 已知坑
32
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
33
+ 首次实战须以真实素材回验
34
+ - 同批组合款 ring-confetti-blowout(合环×礼炮)、lights-out-tick-burst
35
+ (灭灯×溅火)双双淘汰——**爆发×爆发同质叠加读作过载**;
36
+ 本卡两式与其他爆发型手法(slam/impact 系)同帧叠用需谨慎
37
+ - A 只配"值得开炮"的时刻,一片一次;连开读作廉价
38
+ - 声音:A 双炮"砰砰"错开 1–2f 更有层次;B 每 tick 一声细"叮"
39
+
40
+ ## 参考实现
41
+ demos/particle-celebrate-hits/
42
+ (ConfettiCrossfire.tsx / CounterTickSparks.tsx)
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: particle-sand-fill
3
+ 一句话: 粒子落斗成柱——柱状图不长高而是"下雨下出来":方点粒子逐颗坠落堆积成柱,堆满凝成实体+数值弹出
4
+ 适用: 柱状图/量级对比入场;讲"积累/汇聚"语义的数据段落
5
+ 时长: 4–5s
6
+ 能量: 中高(构筑感入场)
7
+ ---
8
+
9
+ ## 意图
10
+ 把柱状图入场从"长高动画"换成"落体堆积":每根柱上方下一场方块雨,
11
+ 粒子逐颗坠落(重力加速)、触堆积面即停+15% 回弹,一层压一层堆到目标
12
+ 高度后粒子面淡出换实体柱、顶部数值标签弹出。数据的"量"变成看得见的
13
+ "一颗一颗攒出来"——与 unit-dot-swarm-regroup(点群平面迁徙聚形)
14
+ 分工:那是同一批点改队形,这是落体材料筑成图形。
15
+
16
+ ## 参数表
17
+ | 参数 | 典型值 | 调节手感 |
18
+ |------|--------|----------|
19
+ | 粒径 | 14px 方点 | 词汇原案 4px 不可感,QA 中加码 3.5 倍 |
20
+ | 每柱粒子数 | ~50 颗 | 太少堆积感稀疏,太多单颗不可辨 |
21
+ | 坠落 | 重力加速,落地帧闭式预解析 | 堆积高度=已落数×粒径,禁真碰撞模拟 |
22
+ | 回弹 | 触面 15% 单次回弹 | 无回弹读作贴图;多次回弹拖节奏 |
23
+ | 柱间错峰 | 6f 逐柱启动 | 齐落读作机械;错峰有"雨势推移"感 |
24
+ | 收束 | 堆满→粒子面淡出→实体柱+标签 back-out 弹出 | 粒子态直接定格显脏,必须凝成实体 |
25
+
26
+ ## 已知坑
27
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
28
+ 首次实战须以真实素材回验
29
+ - 落地帧全部闭式预解析(每颗粒子的落点/落帧编译期可算),
30
+ 帧确定性是渲染正确的前提——禁逐帧状态累积
31
+ - 只适合 3–5 根柱的量级对比;十几根柱的密集图表用常规入场
32
+ (雨帘太多读作噪声)
33
+ - 与"碎块解体"否决判例的界限:这是构筑(从无到有堆出图形),
34
+ 不是破坏(把完整图形打碎)——方向语义相反,别做反向播放变体
35
+ - 声音:细密颗粒落地声铺底,每柱堆满一声轻"叩",标签弹出一声 tick
36
+
37
+ ## 参考实现
38
+ demos/particle-sand-fill/
39
+ (ParticleSandFill.tsx)
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: pill-slot-cycle
3
+ 一句话: 句中词槽轮换——固定句干钉死不动,句尾 pill 徽章每 ~0.7s 老虎机滚一格(旧的上飞加速淡出、新的从下带模糊滑入),连换 N 个功能词后落成完整句子收束
4
+ 适用: "功能列举"类文案的最优雅解法(比逐条列表快、比乱码解码有语义);一句话卖点 + 多个动词短语的段落
5
+ 时长: 入场 12f + 每拍 21f × 词数 + 收束 14f + hold;6 词约 5.8s(demo 175f)
6
+ 能量: 中(稳定节拍器,无峰值)
7
+ ---
8
+
9
+ ## 意图
10
+ 罗列六个功能,列表要六行、逐条淡入要六拍还占满屏。词槽轮换把它们
11
+ 塞进**一句话的一个槽位**里:句干 "One AI tool to ___" 是承诺,槽里
12
+ 滚过的每个 pill 是证据,最后 pill 飞走、"do it all." 落位——证据
13
+ 列举完毕,结论盖章。结构自带三幕:承诺→列举→收束。命门是句干
14
+ **纹丝不动**:观众的眼睛全程钉在槽位上,句干一晃列举感就散。
15
+
16
+ ## 动效核心
17
+ - 句干绝对定位左端锚死——**不能用 flex 居中**,pill 宽度变化会带着
18
+ 句干重排(首轮踩过的坑,已是判例)
19
+ - 每拍 21f(~0.7s),前 8f 完成换位、后 13f 静置——静置段是给观众
20
+ 读词的,读不完的拍子等于没换
21
+ - 入场:translateY 120→0 + blur 14→4→0,Easing.out(cubic);
22
+ 离场:translateY 0→-130 + blur 0→10,Easing.in(cubic) 加速飞出
23
+ ——新来的减速落定、旧的加速逃走,方向感是"向上翻页"
24
+ - 槽内用隐形占位 pill(visibility hidden)撑宽度,新旧两枚绝对定位
25
+ 叠放——槽宽随当前词自然变化但不抖
26
+ - 收束拍:末 pill 上飞(7f ease-in),"do it all." 从下 90px 带
27
+ Easing.back(1.4) 过冲落位——全片唯一一次过冲,留给结论
28
+
29
+ ## 参数表
30
+ | 参数 | 典型值 | 调节手感 |
31
+ |------|--------|----------|
32
+ | 拍长 | 21f/词,5–7 词 | <16f 读不完短语;>28f 节拍器感散掉;8+ 词观众开始数数 |
33
+ | 换位窗 | 拍内前 8f | 拉长到 12f+ 新旧同屏太久,读作两个 pill 打架 |
34
+ | 飞行距离 | 入 +120 / 出 -130px | <80px 读作原地闪换;入出不对称(出略远)让离场更决绝 |
35
+ | 运动模糊 | 入 14→0 / 出 0→10px blur | 去掉 blur 换位读作硬弹;>20px 中间帧糊成色块 |
36
+ | 收束过冲 | Easing.back(1.4),14f | >2 结论落位像卡通;无过冲结论与列举没有档次差 |
37
+ | 收尾 hold | 完整句静置 ≥45f | 这句话是全段目的,不 hold 等于白列举 |
38
+
39
+ ## 已知坑
40
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
41
+ 首次实战须以真实素材回验
42
+ - 与 odometer-digit-roll / split-flap-title 分工:那两卡是字符/数位级
43
+ 机械滚动(无语义),本卡是整词级 pill 轮换且嵌在活句子里——文案是
44
+ "句干+动词短语"结构才用本卡,纯数字/纯标题词别硬套
45
+ - 与 typewriter-moves 分工:打字机是"一个字一个字造句",本卡是
46
+ "句子造好了换零件"——同片可共存但别在同一句文案上连用
47
+ - 与 type-rhythm-sync 分工:那是既有文字随音轨变属性(不换内容),
48
+ 本卡换内容——绑音轨时本卡拍点对鼓点即可,别再叠字重脉冲
49
+ - pill 短语长度要接近(demo 最长 "Draft an agenda")——长短差 >2 倍
50
+ 槽宽跳变太猛,句子重心左右甩
51
+ - 收束句与句干字号字重必须完全一致(demo 都是 96px/800)——
52
+ "do it all." 若比句干大,读作新标题而非句子补完
53
+
54
+ ## 参考实现
55
+ demos/pill-slot-cycle/
56
+ (PillSlotCycle.tsx)
57
+ 原片出处:notion-ai 4.5–8.5s
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: print-texture-transitions
3
+ 一句话: 印刷质感转场——ink-bleed-reveal 墨渗揭示(须状渗边洇开吃掉旧景)
4
+ 适用: 换景接缝的纸墨审美款;与交棒六式/穿越三式并列的第三族——"介质显影"型转场
5
+ 时长: 4–4.5s(洇开段 55–80f + 静止收尾 ≥30f)
6
+ 能量: 中(渐进显形,无冲击拍)
7
+ ---
8
+
9
+ ## 意图
10
+ 转场语言已有交棒(shot-transitions 六式)和穿越(transition-travel)
11
+ ,都是空间/光学隐喻。本式开第三族:**介质隐喻**——新画面不是"到来"
12
+ 而是"印染"出来的,直接调用库内纸墨审美的物理想象:像一滴墨落在
13
+ 宣纸上洇开吃掉旧景,有机、书写感。天然亲和 paper/ink 调性的片子,
14
+ 是 light-leak-burn(强调色漏光)之外的另一个"介质系"接缝选择。
15
+
16
+ ## 单式选型
17
+ | 式 | 做法 | 适用 |
18
+ |----|------|------|
19
+ | B ink-bleed-reveal 墨渗揭示 | 新页透过须状渗边的有机圆形遮罩从落墨点洇开,快慢不匀吃掉旧景 | 旧景→新景替换;书写感、叙事调性 |
20
+
21
+ ## 参数表
22
+ | 参数 | 典型值 | 调节手感 |
23
+ |------|--------|----------|
24
+ | 渗边 | SVG mask 白圆挂 `feTurbulence(fractalNoise, baseFrequency 0.02, octaves 3, seed 固定)` + `feDisplacementMap scale 60→160 随帧涨` | filter 只揉遮罩形状、内容始终清晰;seed 必须写死(确定性) |
25
+ | 洇开 | 半径 [20,98f]→[0,1450px] Easing.out(quad),乘 `1+0.08·sin(0.32f)·env` 快慢不匀扰动(env 末 20f 衰减归零) | 匀速圆扩张读作普通 iris——扰动即"墨的脾气" |
26
+ | 收尾摘罩 | 洇满后(帧 ~100)摘掉 SVG mask 直接铺新景 | feTurbulence 有亚像素抖动,不摘则结尾永不真静止(本批实渲判例) |
27
+ | 收尾 | 新景就位后真静止 ≥30f | R1 |
28
+
29
+ ## 已知坑
30
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
31
+ 首次实战须以真实素材回验
32
+ - 一缝一式规矩同 shot-transitions:介质转场不与白闪/震屏叠加;
33
+ 本式与 light-leak-burn 介质系同片合计 ≤2 次,多了片子读作印刷厂宣传
34
+ - 洇开中段旧景内容会透过噪声孔洞碎片式短暂露出——读作墨渍肌理
35
+ 属可接受有机效果,但旧景若是人脸/logo 等高辨识元素会读作故障,避开
36
+ - 慢转场(55–80f 动作段),高节奏连打段落别用——那里去 E 式甩镜
37
+
38
+ ## 参考实现
39
+ demos/print-texture-transitions/
40
+ (InkBleedReveal.tsx)
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: rhythm-interrupt-moves
3
+ 一句话: 打断节奏两式——jump-cut-punch-in 三级跳切推近、strobe-black-frames 频闪黑帧
4
+ 适用: 用"打断连续性"本身当节奏器:顿挫推近(B)、窒息逼近(C);与 beat-cut-moves(切点排布)、montage-rhythm(段落呼吸)互补
5
+ 时长: B ~4.5s / C ~4.5s
6
+ 能量: B 中 / C 高
7
+ ---
8
+
9
+ ## 意图
10
+ 库内节奏卡管的都是"怎么切、切多密";这两式管**怎么断**——观众预期
11
+ 连续,你偏打断,打断方式即表达:B 是空间断——同构图三次无补间跳大
12
+ (1x→1.6x→2.6x),戈达尔跳切的顿挫,比连续推近更有"看这里、再近点、
13
+ 就是它"的指令感;C 是存在断——画面与纯黑交替频闪且间隔收紧,
14
+ 高潮前的窒息倒数。选型:强制聚焦指标用 B,高潮前蓄压用 C。
15
+
16
+ ## 两式选型
17
+ | 式 | 做法 | 适用 |
18
+ |----|------|------|
19
+ | B jump-cut-punch-in | transform-origin 钉目标中心,三档 scale 阶梯跳变(零补间),每跳 2f 加深脉冲当 tick | 逐级逼近核心指标;纪录片式盯住 |
20
+ | C strobe-black-frames | 全屏黑帧按写死帧号表闪现(每次 2f,间隔 8f→3f 收敛),末闪掀开即硬切放大落定 | 全片最高潮前的倒数蓄压 |
21
+
22
+ ## 参数表
23
+ | 参数 | 典型值 | 调节手感 |
24
+ |------|--------|----------|
25
+ | B 跳挡 | 1.0→1.6→2.6,各 hold ≥35f | 挡差 <1.5× 读作画面抖了一下 |
26
+ | B tick | 跳变帧起 2f brightness 0.92 全画面脉冲 | 无 tick 的跳切读作丢帧 |
27
+ | C 帧号表 | [40,48,55,61,66,70,73,76,79] 各 2f 纯黑 | 间隔必须收敛;等距频闪只是闪没有"逼近" |
28
+ | C 落锤 | 末闪掀开一帧到位 scale 1.35 + 2f 加深脉冲 | 掀开后还在原构图,频闪就白憋了 |
29
+ | 收尾 | B 末挡 ≥45f / C 硬切后 ≥50f 真静止 | 打断系事后 hold 从重给 |
30
+
31
+ ## 已知坑
32
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
33
+ 首次实战须以真实素材回验
34
+ - 两式与 speed-ramp-freeze 都动"时间轴",同一镜头只能有一个时间
35
+ 操纵者
36
+ - C 式**光敏警示**:频闪画面需注意光敏性癫痫观众提示;且必须配乐
37
+ 渐强同步(无声频闪读作信号故障),全片 ≤1 次
38
+ - B 式三挡构图必须同 origin(钉死目标中心)——每挡重新构图就是
39
+ 三个镜头,不是跳切
40
+ - 声音强依赖:B 每跳一声 tick、C 每闪一声打点(sound-design §4.5)
41
+
42
+ ## 参考实现
43
+ demos/rhythm-interrupt-moves/
44
+ (JumpCutPunchIn.tsx / StrobeBlackFrames.tsx)