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,54 @@
1
+ ---
2
+ name: color-block-step-wipe
3
+ 一句话: 离散阶跃色块吞屏两式——A 中央小条按 3–5 步硬跳阶跃扩成全屏(接管后徽章两跳弹出),B 色块从角落斜向 3 步吃屏并携带一张页面卡逐跳前进
4
+ 适用: 品牌色转场/章节交接;"硬朗无缓动"的像素游戏手感段落;接管后的纯色场当下一段的舞台
5
+ 时长: A ~2.5s(生长 44f + 徽章 + hold)/ B ~1.5–2s(3 跳 30f + hold);demo 合计 150f
6
+ 能量: 中高(能量来自"跳变"的顿挫而非速度)
7
+ ---
8
+
9
+ ## 意图
10
+ 库里 wipe 类全是连续扫过——边界匀速或缓动地推过去。本卡反着来:
11
+ **全程零插值零缓动**,色块像老式像素游戏的方块生长,每一跳都是硬切,
12
+ 跳与跳之间完全静止。顿挫本身就是节奏:3–5 声"咔、咔、咔"比一次
13
+ 平滑扫过更有宣告感。变体 B 再加一层:色块推进时携带一张内容卡同拍
14
+ 离散跳位——卡不做补间,读作"整块被搬进来",色块是运货的不是装饰的。
15
+
16
+ ## 动效核心
17
+ - 核心是 stepVal 帧阈值查表:frame 越过阈值瞬间跳到新值,无插值——
18
+ 这是本卡的语法宪法,任何一处混进缓动整卡手感就破
19
+ - A 式:宽/高两轴分步跳(demo:w 0→280→820→1340→1920 @ 8f 间隔;
20
+ h 先横条后纵向补齐),先长条后铺满——两轴不同步才有"生长"感
21
+ - A 收尾徽章也用阶跃模拟过冲:scale 0→0.55→1.12→1 三跳(52/58/63f)
22
+ ——同一语法贯穿到底,徽章若用 spring 会显得"来自另一部片"
23
+ - B 式:clipPath polygon 对角线推进量 p 分 3 档硬跳(0→42→106→200,
24
+ p=200 全覆盖);携带卡按同一批阈值查表跳位(画外→3 个停靠点)
25
+ - 跳位间隔 6–12f 不等距——等距读作 GIF 掉帧,不等距读作"节拍"
26
+
27
+ ## 参数表
28
+ | 参数 | 典型值 | 调节手感 |
29
+ |------|--------|----------|
30
+ | 步数 | A 4–5 跳 / B 3 跳 | ≥7 跳读作低帧率滚动而非阶跃;2 跳读作闪切 |
31
+ | 跳位间隔 | 6–12f | <5f 眼睛跟不上"跳了几步";>16f 中段静止读作卡死 |
32
+ | 徽章过冲 | 0.55→1.12→1 三档硬跳 | 改成连续 spring 破语法;过冲档 >1.2 读作弹跳动画 |
33
+ | 携带卡 | 与色块同拍跳位,rotate -4° 定角 | 卡若做补间滑动,"整块搬运"手感全失;逐跳换角度读作抖动 |
34
+ | 斜角 clip | polygon 直角三角形从角落长出 | 边缘加圆角/羽化即破"硬边"人设 |
35
+ | 接管 hold | 铺满后 ≥30f 纯色静置再进下段内容 | 刚铺满就上内容,"吞屏"这一拍没呼吸完 |
36
+
37
+ ## 已知坑
38
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
39
+ 首次实战须以真实素材回验
40
+ - 与 wipe-transitions 分工:clock-wipe/blinds 是连续几何边界扫过(顺滑系),
41
+ 本卡是离散阶跃(顿挫系)——同片两系并用要隔开段落,紧邻会互相衬得对方像 bug
42
+ - 与 shot-transitions 的关系:本卡是"转场+接管"复合体(色块留下当新场底色),
43
+ 纯交接不留场的接缝用 shot-transitions 选型,别为了转场硬造一个色块
44
+ - **声音强依赖**:每跳一声打点(同 cel-flash-stomp 的 kick 逻辑)——
45
+ 无声版阶跃容易被观众读作播放器卡顿
46
+ - 阶跃的"故意感"靠对比成立:同段落其他元素须是顺滑补间,全片到处阶跃
47
+ 就没人信这是设计
48
+ - 实战品牌色:色块用品牌主色,A/B 两式同片可各一次但换色(demo 蓝/红);
49
+ 同色连用两次读作素材复用
50
+
51
+ ## 参考实现
52
+ demos/color-block-step-wipe/
53
+ (ColorBlockStepWipe.tsx)
54
+ 原片出处:notion-ai 1.5–3.5s(A 中央阶跃)+ 26–27s(B 斜角吞屏)
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: command-palette-summon
3
+ 一句话: 命令面板降临——整屏压暗加模糊,⌘K 面板带过冲弹落,候选行错峰浮现,敲字列表实时收窄
4
+ 适用: 效率型产品的"全产品在一个输入框里"叙事;命令面板/搜索/快捷键功能的标志性登场
5
+ 时长: 4–5s
6
+ 能量: 中(仪式感型,弹落帧与收窄是两个小打击点)
7
+ ---
8
+
9
+ ## 意图
10
+ Raycast/Linear 发布片的标志性仪式:一声轻响,整个 UI 世界压暗
11
+ 让路,⌘K 面板从中心上方弹落,候选列表错峰浮现;敲两个字母,
12
+ 列表实时收窄——"你要的一切都在这个输入框里"。模拟交互按真人
13
+ 操作速度走(R3),收窄的"挤压感"来自行高塌缩而非淡出。
14
+
15
+ ## 动作阶段
16
+ | 阶段 | 帧段参考 | 内容 |
17
+ |------|------|------|
18
+ | 1 静置 | f0–12 | dashboard 初始状态 |
19
+ | 2 让路 | f12–22 | 背景压暗至 45% + blur 10px |
20
+ | 3 降临 | f18–33 | 面板 -20px 落入,过冲 +8px 回正(与压暗跨骑) |
21
+ | 4 候选浮现 | f32–56 | 5 行每 4f 错峰上浮 |
22
+ | 5 输入收窄 | ~f62–90 | 两次按键字符出现,行高塌缩收窄 5→2(塌缩完条件卸载) |
23
+ | 6 选中定格 | 末 ≥40f | 首条高亮(底色+左描边),光标转常亮,真静止 |
24
+
25
+ ## 参数表
26
+ | 参数 | 典型值 | 调节手感 |
27
+ |------|--------|----------|
28
+ | 压暗 | 亮度 45% + blur 10px,10f | 压不够面板不突出;全黑失去上下文 |
29
+ | 弹落 | 起点上方 20px,overshoot 一拍回正 | 无过冲读作淡入,仪式感没了 |
30
+ | 候选错峰 | 4f/行 | 同帧出读作贴图 |
31
+ | 收窄 | height→0 + overflow hidden 塌缩 | 淡出收窄没有"挤压"感;塌缩完必须卸载 |
32
+ | 光标 | 闪烁周期 16f;定格后强制常亮 | 闪到结尾就永不真静止(demo 判例) |
33
+
34
+ ## 已知坑
35
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
36
+ 首次实战须以真实素材回验
37
+ - 输入节奏按真人打字速度(R3 判例),两键间隔 ≥12f
38
+ - 组合款见 theme-switch-moves B 式(面板收缩成点引发主题涟漪)
39
+ - 实战候选行放真实功能名——这是功能清单的天然展位(P4 映射)
40
+ - 声音:唤出一声轻响(非游戏音),按键 2 声键帽拟音,
41
+ 高亮一声轻 pop(S1/S4 同源)
42
+
43
+ ## 参考实现
44
+ demos/command-palette-summon/
45
+ (CommandPaletteSummon.tsx)
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: crane-rise-reveal
3
+ 一句话: 升降臂拉升揭示——开场怼在一行数据特写,相机沿 Y 轴减速升起后拉,行行涌入直到整面 dashboard 铺满全幅
4
+ 适用: "从细节到全局"的开场定场;与 drone-dive-landing(全局→单点俯冲)互为反向
5
+ 时长: 5s(特写 hold 20f + 拉升 100f + 满幅静止 30f)
6
+ 能量: 中高(持续单向运动,无冲击拍)
7
+ ---
8
+
9
+ ## 意图
10
+ 开场定场库内已有 drone-dive-landing——从上帝视角砸进 hero 特写,
11
+ "全局→焦点"。本卡是它的镜像:"焦点→全局"——先怼在一行真实数据上
12
+ 让观众看清"这是什么",再升降臂式拉升后退,一排排内容涌入画面,
13
+ 最后整面产品铺满——"你看到的这一行,只是这一面墙的一格"。
14
+ 适合以产品体量/内容丰富度为卖点的开场;两卡同片只用一个方向。
15
+
16
+ ## 动效核心
17
+ - transform-origin 固定左上,联动公式 `translate = 屏幕中心 − 对准点×scale`;
18
+ 对准点沿 (底行中心)→(页面中心) 与 scale 3.2→1.0 **共用同一条
19
+ Easing.out(quad) 进度**——一条 p = 一台相机一次机动(同 C 式判例)
20
+ - 减速曲线(先快后慢)是"升降臂"的手感:起步有劲、临顶缓停
21
+ - 逐行脉冲:相机可见区上缘 `visTop = fy − 540/s` 首次越过某行顶边时,
22
+ 该行深灰脉冲一拍(4f 起 18f 落,G.ink 叠层 opacity 0→0.22→0)——
23
+ "涌入"的可读性来源;触发帧逐帧解出,与运镜严格同步
24
+ - 白底上"提亮"不可见,**加深才可感**(本批实渲判例:brightness 提亮
25
+ 在白卡上等于没做,改深色叠层脉冲)
26
+
27
+ ## 参数表
28
+ | 参数 | 典型值 | 调节手感 |
29
+ |------|--------|----------|
30
+ | 起点特写 | scale 3.2,对准最底行(一行占满画幅) | hold ≥20f 让"这是一行数据"可读再起飞 |
31
+ | 拉升 | 100f Easing.out(quad),scale 3.2→1.0 | 快于 80f 行脉冲追不上;慢于 130f 中段拖 |
32
+ | 行脉冲 | 越线触发,0→0.22→0 深色叠层 22f | 脉冲跟不上相机(固定间隔触发)立刻穿帮 |
33
+ | 收尾 | 满幅后真静止 ≥30f | R1;满幅帧即标准构图,不再补推 |
34
+
35
+ ## 已知坑
36
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
37
+ 首次实战须以真实素材回验
38
+ - 起点特写 = 一行内容被放大 3.2 倍盯着看,真实素材先过
39
+ hires-rasterize-3d-text(Q2),低倍截图开场即糊
40
+ - 快速拉升段可包 CameraMotionBlur(参数见 deck-deal-flyin 运动模糊行),
41
+ 但只包前半程快速段——临顶慢速段包了会抹软文字(轮 #8 判例)
42
+ - 与 drone-dive-landing 同片不并用(一升一降互为镜像,观众读作同一招);
43
+ 与 crane 语义最近的 tilt-reveal 未入库,别混称
44
+
45
+ ## 参考实现
46
+ demos/crane-rise-reveal/
47
+ (CraneRiseReveal.tsx)
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: crash-zoom-punch
3
+ 一句话: 全景一拍急推到目标特写(6f),落位二选一——过冲回弹(弹性)或撞停震屏(重量)
4
+ 适用: 功能段"点名"镜头——把观众视线一拍按到目标卡/模块上;强调级用撞停
5
+ 时长: 约 0.5s 动作 + 前后 hold(动作 6–11f,前 hold ≥30f 建立全景、后 hold ≥45f 读特写)
6
+ 能量: 高(瞬时冲击,非持续高能)
7
+ ---
8
+
9
+ ## 意图
10
+ 慢推近(spotlight-hero-card)是"请看",急推是"看这个!"——一拍之内
11
+ 从全景砸到特写,视线没有选择余地。落位质感分两款:回弹是弹性
12
+ ("看这个"),撞停震屏是重量("就是它"),按强调级选。
13
+
14
+ ## 动效核心
15
+ - zoom 6f ease-in 急加速(如 1→2.6),cx/cy 同步 ease-in 收敛到目标中心
16
+ - 回弹款:zoom 过冲后 5f 回收 3–6%(2.6→2.45)
17
+ - 撞停款:到位帧起机位高频抖 + 指数衰减(amp 14px、τ≈1.8f、6f 收干),
18
+ 不回弹
19
+ - `<CameraMotionBlur shutterAngle={200} samples={20}>` **只包急推段**
20
+ (撞停震屏段保持清晰抖动);采样按"回波间距 ≤ 字高"配(轮 A 判例)
21
+
22
+ ## 参数表
23
+ | 参数 | 典型值 | 调节手感 |
24
+ |------|--------|----------|
25
+ | 急推时长 | 6f(4–8f) | >10f 读作普通推近,冲击感消失 |
26
+ | 目标 zoom | 2.4–2.8 | 终点构图以目标卡占画面 60–75% 为准 |
27
+ | 回弹幅度 | zoom 的 3–6% | 过大读作弹簧玩具 |
28
+ | 震屏包络 | 14px·e^(−t/1.8) | 幅度须过肉眼阈值(可感性判例),>20px 读作故障 |
29
+
30
+ ## 已知坑
31
+ - 终点必须是高清纹理槽位(card4-hires 级)——急推后全程特写它,
32
+ 低倍截图糊字(Q2);终点先过 hires-rasterize-3d-text
33
+ - 两款别混用:回弹后再震屏读作穿帮;一支片急推 ≤2 次(P4 手法去重精神)
34
+ - 参数经占位素材调校转正,非实战定稿,首次实战后回验
35
+
36
+ ## 参考实现
37
+ demos/crash-zoom-punch/
38
+ (CrashImpactReal.tsx / CrashZoomReal.tsx)
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: dataviz-landscape-open
3
+ 一句话: 暗场支流线束地景开场——多条流线汇入主干、虚构 ID 标签浮在线上、相机重景深低速飞越
4
+ 适用: 品牌级抽象开场("数据宇宙"隐喻),接亮场产品段或字标;与 glow-flyline-moves 分工:那卡是段落内卡片之间的连线叙事,本卡是开场专用的全画幅地景
5
+ 时长: 5–8s(开场氛围段,一支片 ≤1 次)
6
+ 能量: 低开缓升(起步位,为后续爬升留空间)
7
+ ---
8
+
9
+ ## 意图
10
+ Linear Releases 发布片开场实证的品牌级开场品类:把产品背后的数据世界
11
+ 拍成一片**暗场地景**——支流线束从画面深处汇入一条主干("无数工作流
12
+ 汇成一个产品"的隐喻),真实感来自三样东西:①虚构 issue/任务 ID 标签
13
+ 浮在线上(观众认出"这是我每天看到的那种东西");②重景深——近景大虚焦
14
+ 流过、中景标签清晰可读、远景渐隐,三层纵深让平面 SVG 读作空间;
15
+ ③相机低速匀稳飞越——这是氛围段不是炫技段,速度感交给后面的镜头。
16
+ 手搓 UI 合规依据:非复刻场景(页面上不存在此画面),按核心理念 1
17
+ 修订版走质量+表达明确性门槛。
18
+
19
+ ## 动作阶段
20
+ | 阶段 | 帧段(@30fps 参考) | 内容 |
21
+ |------|------|------|
22
+ | 1 生长 | f0–45 | 流线自远端向汇点 draw-on 生长(out-cubic),主干先行、支流错峰跟进 |
23
+ | 2 飞越 | f30–150 | 相机沿主干方向低速推移(与生长期跨骑),标签非均匀错峰浮现 |
24
+ | 3 交棒 | 末 30–45f | 汇点方向留亮部引导视线,接 shot-transitions 藏切/B 式穿暗场,或减速停稳接字标 |
25
+
26
+ ## 参数表
27
+ | 参数 | 典型值 | 调节手感 |
28
+ |------|--------|----------|
29
+ | 线束规模 | 支流 8–14 条汇入 1 条主干;分层 近 2–3 / 中 5–8 / 远 4–6 | 超过 ~16 条读作屏保/科技模板;主干必须唯一(单主角原则的地景版) |
30
+ | 汇流拓扑 | 支流以 bezier 切向汇入主干(切线连续),汇点偏画面一侧 1/3 处 | 垂直相交读作电路图不是水系;汇点居中构图死板 |
31
+ | 景深三层 | 近景 blur 10–16px + 线宽 6–10px + 亮度 0.15–0.25;中景清晰 2–3px 亮度 0.5–0.8;远景 1–1.5px 亮度 0.2–0.35 | 近景不虚焦则三层塌成一张平面图;远景过亮抢中景 |
32
+ | 相机飞越 | 世界画布 ≥2× 视口,横移速度 2–5px/f 匀稳 + 视差(近 1.4×/中 1×/远 0.6×),可叠极缓 zoom 1.0→1.06 | 快了变追逐镜头(那是 crash-zoom 的活);无视差立刻穿帮为平面滚动 |
33
+ | 视差可见性 | 近/远层线条必须与运动方向成角(斜率明显)或带画内可见特征点(端点/交叉/节点标记穿过画面) | **平行于运动方向的线横移时沿自身滑动,视差机制再对也不可见**(L2 评估判例:0.6×/1×/1.4× 全写对,正常播放只有中景在动) |
34
+ | 流动感 | draw-on 完成后线条保持"活":沿线明暗脉冲/虚线相位低速漂向汇点(速度 1–2px/f,透明度 ≤0.3 叠加) | 生长期结束后无流动元素,后半段退化成"路线图飞越"不是"数据流" |
35
+ | 标签 | 中景层 5–9 枚:方块图钉 + 等宽字 ID(如 APP-1843),错峰 6–10f 间隔淡入 + 沿线微漂 | ID 一律虚构(合规底线);标签挂近景/远景层会因虚焦/过暗不可读;图钉方块要落在线上(钉线分离读作浮尘不是锚点) |
36
+ | 生长节奏 | 主干 30–40f out-cubic 先行,支流每条错峰 3–6f | 全部同帧生长读作 loading 动画 |
37
+ | 收尾 | 交棒帧前 ≥15f 标签停止新增、相机斜率连续(不急刹) | 氛围段急刹是一次可见的顿挫(glow-orb 收敛判例同源) |
38
+
39
+ ## 已知坑
40
+ - 借鉴来源:Linear Releases 开场(进化轮 #3 breakdown #7),单例样本
41
+ ——参数给区间不给教条,首次实战以真实素材回验
42
+ - 与 glow-flyline-moves 别混用在相邻段落:两卡都是"暗场发光线",
43
+ 背靠背出现读作全片只会一招;同片都要用时中间隔 ≥2 个亮场镜头
44
+ - 暗场进出成本同 glow 卡:接亮场产品段用 shot-transitions 藏切族垫,
45
+ 别生切明暗
46
+ - 线条纯白全亮会糊成蛛网——亮度按层拉开(见参数表),中景才是主角层;
47
+ 主干/支流给 1–2px 微辉光(soft glow)压出"发光线"氛围,全无辉光读作线框图(Q4 单点光效许可内)
48
+ - 标签字号在目标画幅下 ≥18px 等效,否则"可读"沦为装饰噪点(Q6 同源)
49
+ - 声音:铺 riser/低频 pad 底噪,标签浮现不逐枚打点(批量不逐个发声,
50
+ S2 同源);交棒帧一次 whoosh/impact 交给下一镜头
51
+
52
+ ## 参考实现
53
+ demos/dataviz-landscape-open/
54
+ (DatavizLandscapeOpen.tsx)
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: deck-deal-flyin
3
+ 一句话: 暗场金属背景里的实体牌堆特写环绕开局,拉远交给页面后一摞卡像发牌一样硬加速甩进网格,相机追着滚动、满板停半秒
4
+ 适用: 展示"内容量大/源源不断汇入"的列表页与卡片墙;建立信息密度的第一印象
5
+ 时长: 约 2.6s 发牌段(36–113f),前接约 2s(62f)牌堆特写可选
6
+ 能量: 高(节奏爬升段主力,不放开场第一镜)
7
+ ---
8
+
9
+ ## 意图
10
+ 先给悬念(这一摞是什么?),再给答案(是几十个项目,它们自己飞进页面各就各位)。观众要感受到"东西源源不断地涌进来",每张卡带着急迫感砸到位。
11
+
12
+ ## 动效核心
13
+ - 前半(pile-orbit-open,可选):所有卡叠成有物理高度的实体牌堆,暗色拉丝金属背景,相机侧斜特写绕堆环绕,然后拉远、金属背景同步淡出接页面——"拉远同时出现 dashboard"
14
+ - **预备拍(anticipation,借鉴迪士尼法则 2)**:首张出牌前给一拍段落级预备——牌堆整体微下压 + 顶卡向出牌反方向回拉,观众的眼睛先被引到牌堆再看发牌。预备只做段落级一次,**不逐卡加**(逐卡预备会拖垮 R2 的硬加速节拍)
15
+ - 后半(deck-deal):26 张卡从牌堆按阅读序发向网格目标位,出牌间隔硬加速收缩;单卡飞行带 z 弧顶、过冲 settle、落地 press 回弹(settle/press 即法则 5 的 follow-through——快停配缓冲,砍掉读作硬冻结)
16
+ - 相机追逐式向下 scroll(越来越快),满板后原地静止 0.5s,再 swoosh 回搜索框交棒下一拍;收尾停顿期各层不同帧停稳——卡体先落定、阴影收敛滞后 2–4f、残影最后消散(拖拽层级,借鉴法则 5;全要素同帧冻结读作机械)
17
+
18
+ ## 参数表
19
+ | 参数 | 典型值 | 调节手感 |
20
+ |------|--------|----------|
21
+ | orbit 环绕 | 帧 0→34,rotX 46/rotY −30/rotZ 9/zoom 1.95 绕到 rotX 42/rotY 26/rotZ −7/zoom 1.85,persp 1100 | 特写四件套缺一不可:侧面倾斜角+可感知高度+orbit+反差深色材质(Q7,用户逐项点名) |
22
+ | 堆叠高度 | STACK_STEP=3px 物理层高 × 26 张 → 顶卡 z≈78px;姿态抖动 px/py 按 `(((k*7)%9)−4)*2` 确定性公式 ±8px、rotZ ±3° | 抖动必须确定性伪随机(硬规则:渲染必须可复现),真随机会渲染间抖动 |
23
+ | 金属背景 | 4 层叠加:暖 key light radial + 两层 repeating-linear-gradient 拉丝纹(1px 白/2px 黑,100deg)+ 115deg 钢色渐变;平面 9000×9000 | 平面尺寸给足(9000²)才保证任意斜角不穿帮;拉远时金属层 34–56f 淡出与运镜同步 |
24
+ | 预备拍 | 首发 cue 前 10–14f:牌堆整体下压 40–50px(约堆高六成)+ 顶卡向出牌反方向回拉 ~30px,缓动 easeOut,首发瞬间释放 | **幅度必须过肉眼阈值**:4px/2px 初版用户实测完全无感,放大 12 倍(48/30px)才裁决通过(判例 2026-07-09 进化轮 #2)——渲染后自查"不逐帧能否看出蓄力",看不出等于没做;帧预算从 orbit 尾段挪,不挤占发牌段 |
25
+ | 发牌节拍 | 第 k 张 cue = 36 + 4k − 0.0792·k(k−1),间隔 4f 收缩到 0.2f | 均匀间隔立刻显得机械;匀加速不够狠也被否——要"hard-accelerating"级别(R2/B3) |
26
+ | 卡量 | 10 真卡 + 16 extras = 26 张;网格向下扩 5 行、纸面延长 2036px | 卡不够多涌入感不成立——宁多勿少;extras 落进真实扩展格位,不悬浮(Q9) |
27
+ | 单卡飞行 | deal 8f(bezier(0.3,0,0.2,1),z 弧顶 +90px sin、scale 峰值 1.06)+ settle 4f(bezier(0.3,0,0.25,1.15) 轻过冲)+ press 0.996→1 回弹 2f | 落地要弹必须 y1>1 的 bezier;settle+press 合计 6f ≈ 飞行 8f 的 30%——快停配足缓冲(法则 5 比例);落定后强制 identity transform 防斜板亚像素漂移 |
28
+ | 收尾拖拽层级 | rest 段内分层停稳:卡体 press 回弹结束即锁定,落地阴影 `0 32px→0 2px` 收敛滞后卡体 2–4f,飞行残影 opacity 尾梢再拖 3–5f 消散 | 借鉴法则 5 的 drag hierarchy(根→主→次级错帧 2–4f);0.5s rest 静止判例不变——层级错帧发生在 rest 段头部,rest 末端全部锁死(模式已沉为 assets/lib/helpers/motion.ts lagged) |
29
+ | 运动模糊(单卡) | 飞行中 5% 路径滞后 blur(6px) 残影,opacity 0.25·(1−t) | ghost 残影比真 motion blur 便宜且够用——单卡层面维持此方案 |
30
+ | 运动模糊(相机) | 追逐 scroll 等 ≥30px/f 的快速运镜段用 `@remotion/motion-blur` 的 `<CameraMotionBlur shutterAngle={180} samples={10}>` 包镜;用 `<Sequence>` 把包裹范围切到快速段起点,慢速特写段(<10px/f)不包 | 30fps 下相机每帧跳 50–70px 会频闪,快摇拖影是电影摄像机的物理本能;shutterAngle 越大拖影越长(>270 发糊),samples 按渲染预算调(每 +1 约 +1 倍渲染时间);整镜全包会把慢速 orbit 段的 1px 级细纹理(拉丝金属)采样抹软——只包快速段;借鉴 Remotion 官方生态非用户判例(2026-07-11 进化轮 #8) |
31
+ | 追逐 scroll | 62→82f ~50px/f,82→98f ~70px/f,98→113f 原地 rest 15f=0.5s,再 11f swoosh 回搜索框 | 满板后 0.5s 静止是用户逐字要求(R2),砍掉必返工 |
32
+
33
+ ## 声音
34
+ orbit 拉远+首批发牌钉 whoosh-big(模板片钉在 f308),发牌加速段钉 whoosh-fast(f340/356)。连发落位音防机枪感三招:双样本交替、音量阶梯递减、间隔跟随动画曲线加速——密到糊成一片时让声音淡出成一条 swoosh,不逐卡配音(S2)。
35
+
36
+ ## 已知坑
37
+ - 抽象 flood 式多轮不收敛,换"发牌"物理隐喻一轮通过(R2/B3)——群体运动先找物理隐喻再写代码
38
+ - 卡纹理必须真实页面元素切片(Q1),手搓假卡一眼假;extras 复用真卡切片错位摆放
39
+ - 全部同时飞读作爆炸,错峰递加速是灵魂;前半 orbit 若砍掉,发牌起点要另给"牌堆从哪来"的交代
40
+ - anticipation/follow-through 手法借鉴自迪士尼 12 法则(pixel2motion skill 内置提炼版);预备拍幅度已有用户判例(2026-07-09:"OK能看出来了",此前两档小幅度均无感);拖拽层级错帧仍是默认建议——与 R2 判例冲突时(如用户要求更快更硬)判例优先
41
+ - 教科书比例(预备 = 主动作 20–30%)在拉远机位下产出的像素位移过小——**先算像素再算比例**,宣传片观众看的是全景不是特写
42
+ - `<Sequence>` 重定基帧号 + CameraMotionBlur 内部 Freeze 会让 PageCam 采样错帧(横向错模糊穿帮)——绝对帧编排的镜头给 PageCam 传 `frame` prop 还原绝对帧(lib 组件已支持)
43
+
44
+ ## 参考实现
45
+ template/src/aifl/live/SceneFlyIn.tsx
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: depth-layer-moves
3
+ 一句话: 分层深度两款运镜——多层视差滑轨(3 层速度梯度横移出纵深)与伪 dolly-zoom(主体钉死、背景膨胀压来)
4
+ 适用: 平面截图要"有厚度"的段落;戏剧性蓄力时刻用 dolly-zoom(一支片 ≤1 次)
5
+ 时长: 视差滑轨 4–5s 持续;dolly-zoom 3–4s 单向行程
6
+ 能量: 视差=中(质感型);dolly-zoom=中高(压迫感渐强)
7
+ ---
8
+
9
+ ## 意图
10
+ 整页平移是"看页面",分层深度是"在页面的空间里"。视差滑轨给横移
11
+ 加纵深(迪士尼多平面摄影机原理,Linear 片同款质感);伪 dolly-zoom
12
+ 反过来——主角纹丝不动、全世界压过来,给戏剧性时刻蓄力。
13
+
14
+ ## 动效核心
15
+ - **视差滑轨(3 层)**:背景整页(系数 0.35 + blur 2px + 降饱和
16
+ 0.92 + opacity 0.85,退成环境)、中景真实卡切片(系数 0.7,
17
+ 主阅读层,无 blur)、前景浮块(系数 1.4 + blur 3px,掠过镜头)。
18
+ 同一条 drive 位移乘各层系数
19
+ - **伪 dolly-zoom**:主体高清卡固定 px 钉屏中(不参与任何变换);
20
+ 背景层(整页 + 卡群一体)scale 1→2.25 从画面中心膨胀 + blur 0→3.5px
21
+ 渐深;主体落影随进程加深(12→28px offset)强化"钉住感"
22
+ - 两款都不拆真实页面排版:整页作为一体成层,独立元素用切片另起层
23
+ ——层间关系是"景深",不是"页面被撕开"
24
+
25
+ ## 参数表
26
+ | 参数 | 典型值 | 调节手感 |
27
+ |------|--------|----------|
28
+ | 视差层系数 | 0.35 / 0.7 / 1.4 | 梯度 ≥2 倍层间才可辨;层数 ≤4 防过载 |
29
+ | 层次锚 | 前后景 blur + 背景降饱和 | 没有 blur/饱和锚,读作"贴片乱飞" |
30
+ | dolly 膨胀行程 | scale 1→2.0–2.5 | 行程小了压迫感不足;背景 opacity ≤0.6 防读作故障 |
31
+
32
+ ## 已知坑
33
+ - 主阅读层/主体必须高清纹理且无 blur——观众在读它
34
+ - 视差与 PageCam rot 3D 的组合(斜拍视差)未验证,实战先渲 still 确认
35
+ - dolly-zoom 是"戏剧调料":一支片 ≤1 次,日常段落用视差滑轨
36
+ - 参数经占位素材调校转正,非实战定稿,首次实战后回验
37
+
38
+ ## 参考实现
39
+ demos/depth-layer-moves/
40
+ (DollyZoomReal.tsx / MultiplaneReal.tsx)
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: document-typewriter-reveal
3
+ 一句话: 整页真排版文档在光标后自己"写"出来、侧栏跟进、历史条目逐个落入轨道
4
+ 适用: 文档/报告/笔记类功能镜头;信息密度最高的一拍
5
+ 时长: 约 3.7s(110f,含 history-list-stack 尾段)
6
+ 能量: 低中(信息密度最高,节奏放稳让观众读字)
7
+ ---
8
+
9
+ ## 意图
10
+ 观众会读清屏幕上每个字——这一镜的说服力全在"文档是真的"。打字机式写入把静态页面变成"正在被写出来的文档",侧栏历史条目落入补上"持续产出"的时间纵深。
11
+
12
+ ## 动效核心
13
+ - 内容块两两一对按节拍写入:页面底色遮罩右锚左→右收窄,强调色 caret 骑在揭示前沿
14
+ - 人名 @-mention 在 wipe 完成后长出强调色底色
15
+ - 左右双栏靠底色补丁上→下收走入场,内缘强调色细线随揭示生长后淡去
16
+ - 尾段(history-list-stack):6 条历史条目从上方逐个落入侧栏轨道,每落一条配一声 pop
17
+ - 相机从标题特写拉到全页(双栏必须都入画),之后只做微呼吸
18
+
19
+ ## 参数表
20
+ | 参数 | 典型值 | 调节手感 |
21
+ |------|--------|----------|
22
+ | 写入节拍 | 20 块两两一对,第 g 对 cue = 6 + g·3.5,每块 wipe 8f,最后一对 ~49f 完成(赶在 64f 全页 settle 前) | 逐块写会超预算——"块数×节拍要先对预算"是这卡的核心算术,先算再写 |
23
+ | 写入手法 | 底色遮罩 width 100%→0,bezier(0.4,0,0.6,1);强调色 caret 2px 只跟最新块,写完 2f 淡出 | caret 同时出现多个立刻穿帮;永远只有一个"笔尖" |
24
+ | li 圆点 | 遮罩向左多盖 28px(::marker 在文本左 ~22px) | 不多盖圆点会提前穿帮——截图纹理里烤入的排版细节都要这样排查 |
25
+ | @-mention | wipe 完成后 4f 起、8f 长出强调色底色 opacity 0.7;跳过非人名标题 | 高亮晚于写入才读作"重点被标出";同帧出现读作贴图 |
26
+ | 双栏入场 | 左栏 cue 46 / 右栏 cue 54,底色补丁上→下 10f 收走 + 内缘 1.5px 强调色线随揭示生长、24f 淡去 | 双栏与正文错开节拍,同时入场会互相抢视线 |
27
+ | 历史条目落入 | 6 条,cue = 58 + i·5(排在侧栏 wipe 完成 56f 后),每条 8f 落下;起点 −44px,bezier(0.2,1.15,0.3,1) 轻弹跳,空中影 `0 10·air px 20·air px` | 条目几何紧贴烤入纹理已有条目的下方、行高对齐——DOM 重绘条目必须和纹理里的活条目严格对齐 |
28
+ | 相机 | 标题特写 zoom 1.25 → 64f 全页 zoom 0.997,78/102f 1.003/0.995 微呼吸 | 全页时双栏必须都入画——文档镜头砍掉侧栏等于砍掉"完整产品"的说服力(Q10) |
29
+
30
+ ## 声音
31
+ 写入段钉 keyboard.mp3 修剪到 44f 盖住书写段(拟音与动作严格等长,S4);历史条目 6 连 pop 每 5f 一发、音量 0.40→0.25 阶梯递减做距离衰减(S2)。
32
+
33
+ ## 已知坑
34
+ - mock 内容必须出版级:产品原生排版、文字铺满、侧栏完整入镜(Q10)——"贴图+标语"级的敷衍文档会导致整镜头重做
35
+ - 数据合规:mock 内容里绝不出现客户/成员真名(Q1)
36
+ - 素材页面是活数据源(协作文档类)时,全量重采会刷掉已定稿纹理——用增量脚本只刷单页单键
37
+ - 强调色示例(caret/@-mention/内缘线)在模板片中为琥珀色,适配新品牌时统一换成目标品牌强调色
38
+
39
+ ## 参考实现
40
+ template/src/aifl/live/SceneWbr.tsx(打字音效见 template/src/aifl/Main.tsx SFX 表;模板片中此镜承载的是周报文档场景)
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: draw-svg-trace
3
+ 一句话: 描边生长圈注——一条带笔头的墨线沿元素轮廓跑一圈把它"画"出来,闭合瞬间闪黑交棒、内容淡入;同套路可给标题画下划线
4
+ 适用: 单个卡片/图表/标题的被点名入场;元素级手法(整页级蓝图描线归 wall-reveal-moves C 式)
5
+ 时长: 描边 40f + 闪黑交棒 16f + hold ≥35f,约 3–4s
6
+ 能量: 中
7
+ ---
8
+
9
+ ## 意图
10
+ "画出来"是纸墨审美里最顺手的入场隐喻:元素不是飞进来也不是淡进来,
11
+ 而是被一支看不见的笔当场描出来。库内 wall-reveal-moves C 式已有整页
12
+ 蓝图版(全屏线框逐段画+区域点亮),本卡是它的**元素级特写版**——
13
+ 一条线、一个主体、一次闭合,笔头可见、方向可读,适合"接下来讲它"
14
+ 的点名时刻。第二用法是标题下划线生长:同一套路 18f 短版,给重点词
15
+ 一笔手绘强调,与马克笔审美 token 天然同族。
16
+
17
+ ## 动效核心
18
+ - **免测周长**:SVG rect/path 设 `pathLength={1}`,strokeDasharray="1",
19
+ dashoffset 1→0(40f Easing.inOut(cubic))——不用 getTotalLength
20
+ - **笔头**:同一路径再叠一层更粗(4→7px)的短 dash
21
+ (dasharray "0.045 0.955"),dashoffset = 笔头相位 − p,天然跑在最前;
22
+ 没有笔头就只是"边框在变长",有笔头才是"有人在画"
23
+ - 闭合闪:48–50f 描边冲纯黑 + 4→8px 加粗,50–56f out quad 回落
24
+ ——白底上加深加粗,不用发光(判例)
25
+ - 交棒:54–64f 描边层淡出、元素自身 border 淡入,同窗内容 8f 淡入
26
+ ——闭合即"画完了",内容跟着"上色"
27
+
28
+ ## 参数表
29
+ | 参数 | 典型值 | 调节手感 |
30
+ |------|--------|----------|
31
+ | 描边速度 | 一整圈 40f(inOut cubic 起收有呼吸) | <28f 读不出"在画",>60f 读作加载中 |
32
+ | 笔头 | 7px、dash 长 0.045 | 笔头≤主线粗细就消失在主线里 |
33
+ | 闭合闪 | 2f 冲黑+加粗,6f 回落 | 没有这一下,"画完"没有句号 |
34
+ | 下划线版 | 18f out cubic 单向生长,画完常驻 | 用在单个重点词;一屏 ≥2 条读作装饰线 |
35
+ | 收尾 | 交棒完成真静止 ≥35f | R1 |
36
+
37
+ ## 已知坑
38
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
39
+ 首次实战须以真实素材回验
40
+ - 与 wall-reveal-moves C 式(整页蓝图描线)同族互斥:同片二选一,
41
+ 都上读作重复报幕
42
+ - 描边路径必须与元素真实轮廓吻合(圆角 rx 一致)——线画的是 14px
43
+ 圆角、元素是 8px,交棒瞬间错型穿帮
44
+ - 真实素材上内容淡入别抢在闭合前:线还没画完内容先出来,"画"的
45
+ 因果就断了
46
+ - 一次点名画一个主体;同屏多元素排队各画一圈读作加载动画
47
+
48
+ ## 参考实现
49
+ demos/draw-svg-trace/
50
+ (DrawSvgTrace.tsx)
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: edit-hook-moves
3
+ 一句话: logo-sting-button 片尾钩子——片尾 logo 定住后突插 12f 彩蛋再收,预告片 button ending
4
+ 适用: 片尾收束(全片 ≤1 次)
5
+ 时长: ~5s
6
+ 能量: 低→瞬时中→低
7
+ ---
8
+
9
+ ## 意图
10
+ 库内声画卡管的都是"画面上的事";这一式管**时间线本身的修辞**——
11
+ 终点的反悔:收黑→logo 淡入定住(观众以为结束)→突然 12f UI 特写
12
+ 彩蛋硬切插入→切回 logo 收尾,预告片 button ending,留最后一个钩子。
13
+ 拿观众的"已经结束了"的预期开玩笑。
14
+
15
+ ## 单式选型
16
+ | 式 | 做法 | 适用 |
17
+ |----|------|------|
18
+ | B logo-sting-button | 收黑 6f→logo 入场 10f(opacity+scale 0.96→1)→定住 30f→彩蛋 12f 硬切插入→切回 logo 真静止 ≥60f | 片尾;正片收束后再给一记 |
19
+
20
+ ## 参数表
21
+ | 参数 | 典型值 | 调节手感 |
22
+ |------|--------|----------|
23
+ | 彩蛋时长 | 12f 级,内含 tick 圆点只亮第 4–5f(2f,条件挂载) | 长于 20f 就不是"眨眼"是一个镜头 |
24
+ | 彩蛋构图 | 面板 translate+scale(2.4) 特写按钮行,平移量把 sidebar 完全推出画面 | 彩蛋里露出旧构图残边读作切错了 |
25
+ | 像素级一致 | logo 段 interpolate 全 clamp 到终值,彩蛋前后 logo 共用同一分支渲染 | 硬切回来 logo 跳 1px 都读作抖动 |
26
+ | 剪辑方式 | 全程硬切分支渲染(frame 区间 return 不同子树),无交叉溶解 | 节奏靠剪不靠淡;任何溶解都泄劲 |
27
+
28
+ ## 已知坑
29
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
30
+ 首次实战须以真实素材回验
31
+ - 全片 ≤1 次且只在片尾——中段用 button ending 变成故障,
32
+ 观众以为片子坏了
33
+ - 彩蛋内容必须是全片未见的新特写——复用旧镜头读作剪辑失误
34
+ 不是钩子,命门
35
+
36
+ ## 参考实现
37
+ demos/edit-hook-moves/
38
+ (LogoStingButton.tsx)
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: element-body-moves
3
+ 一句话: 元素身体感两式——axial-stretch 轴向拉伸糖稀拉丝、contact-shadow-lift 接触阴影离面抬升
4
+ 适用: 给"位置在变"之外补"身体在变":高速飞入给速度肉身(A)、卡片点名给悬浮证据(B);A 配横冲入场,B 配 2.5D 运镜与逐张点名
5
+ 时长: A ~4.7s / B ~5.3s
6
+ 能量: A 中高 / B 低中
7
+ ---
8
+
9
+ ## 意图
10
+ 库内运动卡全在管"位置在变"——飞入、滑动、弹跳,元素本身始终是刚体。
11
+ 这两式管**身体在变**:A 给速度一个可见的肉身——飞得越快沿运动轴拉得
12
+ 越长,一块糖稀,落点压扁回弹收正,squash & stretch 的 UI 翻译;B 给
13
+ 悬浮一个可信的证据——卡抬起时正下方阴影同步放大变淡,纸片离桌,
14
+ staging 法则给 2.5D 运镜垫的物理台词。与 smear-multiples 的区别:那是
15
+ 可数残像(离散鬼影),A 是连续拉伸(糖稀不断丝);与 CameraMotionBlur
16
+ 的区别:快门拖影是相机的事,拉伸是身体的事,同一元素别叠加。
17
+
18
+ ## 两式选型
19
+ | 式 | 做法 | 适用 |
20
+ |----|------|------|
21
+ | A axial-stretch | 速度差分驱动轴向 scale:v=\|p(f)−p(f−1)\|,v<2px/f 不拉伸、≥140px/f 满拉伸(scaleX 2.2 / scaleY 0.72);落点 8f 压扁回弹 | 高速飞入/横冲入场;多卡错峰填坑 |
22
+ | B contact-shadow-lift | 抬起 10f out-cubic:卡 translateY(−28px)+scale(1.08),独立椭圆阴影 scale 1→1.72 / opacity 0.55→0.18 同进度反向;落回 8f in-cubic + 2f 微压卡壳 | 逐张点名强调;2.5D 段落的离面铺垫 |
23
+
24
+ ## 参数表
25
+ | 参数 | 典型值 | 调节手感 |
26
+ |------|--------|----------|
27
+ | A 拉伸映射 | v∈[2,140]px/f → 拉伸 0→满(scaleX 2.2/scaleY 0.72) | 峰值 <1.6 不可感;>2.6 读作故障拉丝 |
28
+ | A origin/顺序 | transformOrigin 设运动后缘(右飞 100% 50%);translate 再 scale | origin 居中读作缩放不是拉伸;顺序反了位移跟着放大 |
29
+ | A 落点回弹 | 8f out-cubic:scaleX 过冲 0.85、scaleY 1.1 再回 1 | 无回弹的拉伸像刹不住车 |
30
+ | A 错峰 | 三卡起飞间隔 12f,飞行 36f | 同帧齐飞读不出各自的拉丝 |
31
+ | B 抬升幅度 | −28px + scale 1.08 | 判例锁死:<12px 禁用(见已知坑) |
32
+ | B 阴影 | 独立 radial-gradient 椭圆 div;卡本体 boxShadow: none | box-shadow 跟卡走,给不出"影子留在桌上" |
33
+ | B 落地 | scale 0.99 卡壳 2f 再 5f 回弹到 1 | 无微压读作飘落,没有重量 |
34
+ | 收尾 | A 末卡回弹后 62f / B 全落回后 35f 真静止 | 收尾帧须与 rest 态逐像素一致 |
35
+
36
+ ## 已知坑
37
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
38
+ 首次实战须以真实素材回验
39
+ - B 微幅加码判例:原案 8px 抬升不可感,加码到 28px 才过——实战禁回调到 12px 以下,宁可不用不可用弱
40
+ - A 速度必须位置差分实算,不许拿 easing 进度近似——差分才保证
41
+ "低于阈值不拉伸",起步与将落时自动收正
42
+ - A 竖向运动轴要换:竖飞拉 scaleY 压 scaleX,origin 设上/下缘,
43
+ 照抄横版参数会拉错轴(原案就把轴写反过)
44
+ - B 一次只抬一张——两张同时离桌,观众找不到被点名的是谁(P4)
45
+ - 声音:A 落点一声闷撞、B 抬起轻吸/落回轻放(sound-design §4.5)
46
+
47
+ ## 参考实现
48
+ demos/element-body-moves/
49
+ (AxialStretch.tsx / ContactShadowLift.tsx)
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: fui-hud-moves
3
+ 一句话: FUI/HUD 两式——line-unfold-panel 一线展面(线→面 CRT 语法)与 reticle-lock-on 准星咬合(取景框飞入锁定目标)
4
+ 适用: 暗场/科技感段落的面板入退场用 A;任何"看这里"的目标点名用 B(替代箭头圈红,画面不冻结)
5
+ 时长: A 3–4s(含退场)/ B 2–3s
6
+ 能量: A 中 / B 中高(咬合帧是打击点)
7
+ ---
8
+
9
+ ## 意图
10
+ 科幻虚构界面(Jarvis/Territory)的两个可中性化母题。A 是面板的
11
+ 仪式感开关机:1px 细线极快抽出→纵向撑开成面板→内容淡入,退场反向
12
+ 压线缩点熄灭(老 CRT 关机);灰阶细线即成立,不需要科技蓝。
13
+ B 是运动中的捕获:四个 L 形角标从画外冲入、超调回弹、"咔"地咬合
14
+ 到目标元素四角+弹标签——与 freeze-annotate 分工:那卡冻结画面标注,
15
+ 本卡在流动中点名。
16
+
17
+ ## 两式选型
18
+ | 式 | 做法 | 适用 |
19
+ |----|------|------|
20
+ | A line-unfold-panel | scaleX 0→1(out poly4 急抽 5f)接 scaleY 3px→满高(out cubic 9f),内容提前一拍淡入;退场镜像反序 | 暗场面板入退场;开关机仪式感 |
21
+ | B reticle-lock-on | 四 L 角=同一对矩形四份镜像,飞入(10f out cubic)与收缩(2.2×→0.94×→1 超调回弹)解耦;咬合帧目标微亮+标签 back 弹出 | 目标点名;踩音效重拍 |
22
+
23
+ ## 参数表
24
+ | 参数 | 典型值 | 调节手感 |
25
+ |------|--------|----------|
26
+ | A 两段节奏 | 抽线 5f 急 vs 撑面 9f 缓 | 节奏差是手法本体,等长就平了 |
27
+ | A 线体 | 白色发光条 3px 级;线/点阶段与面板阶段条件切换 | 熄灭后必须条件卸载才有真静止 |
28
+ | B 飞入行程 | 画外 ≥1000px 冲入 | 行程短读作"角标出现"不是"扑过来" |
29
+ | B 超调 | 收缩过头到 0.94× 再回弹 1 | 无超调没有"咔"的咬合感 |
30
+ | B 咬合帧 | 目标白 overlay 快闪 0.55→停 0.28 + 标签同帧弹出 | 微亮与标签错帧就散了 |
31
+
32
+ ## 已知坑
33
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
34
+ 首次实战须以真实素材回验
35
+ - Remotion 无 `Easing.quart`——用 `Easing.poly(4)`(demo 实测报
36
+ "easing is not a function" 判例)
37
+ - B 一支片 ≤2 次:连用读作军事模板;两次锁定目标必须不同
38
+ - A 与 glow-flyline 同属暗场词汇,相邻段落别背靠背堆光效(Q4 同源)
39
+ - 声音:A 抽线一声短 whoosh、撑开一声轻 pop;B 咬合帧一声"咔"
40
+ (机械 click 而非游戏 UI 音,S1 边界内)
41
+
42
+ ## 参考实现
43
+ demos/fui-hud-moves/
44
+ (LineUnfoldPanel.tsx / ReticleLockOn.tsx)
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: gauge-readout-moves
3
+ 一句话: 仪表读数两式——needle-sweep-selftest 满弧扫针(点火自检指针甩满全弧再回落真值)与 tape-scroll-fixed-pointer 滚带定针(针不动刻度带滚过+冲刺刹车)
4
+ 适用: dashboard 开场仪式/性能指标揭晓;A 多表盘开机感,B 单指标大跳变
5
+ 时长: A 4–5s / B 4–5s
6
+ 能量: 中高(机械仪式型)
7
+ ---
8
+
9
+ ## 意图
10
+ 把"报数值"做成仪表的身体动作:A 是汽车点火自检——表盘指针先"唰"地
11
+ 甩满全弧(270°)再回落定格真实值,多表错峰成波浪,先亮量程再报数,
12
+ 开场宣誓感;B 是飞机空速带语法——指针/取景窗钉死画面正中,带刻度的
13
+ 标尺整体从底下滚过,大数值跳变时刻度带 45px/f 冲刺、末尾 spring 刹车
14
+ 带回摆过冲,"世界动、针不动",数值大小变成看得见的位移距离。
15
+ 与 odometer-digit-roll 分工:那是数字在窗里滚,B 是连刻度格线全在平移。
16
+
17
+ ## 两式选型
18
+ | 式 | 做法 | 适用 |
19
+ |----|------|------|
20
+ | A needle-sweep-selftest | 指针去程 ~12f ease-out 甩满弧,回程 ~20f 带 5–8° 过冲回摆落真值;多表错峰 3–5f;落定同帧盘下数值弹出 | dashboard 开场/系统就绪仪式 |
21
+ | B tape-scroll-fixed-pointer | 长刻度带 translate:慢爬段→45px/f 冲刺 ~25f→spring 刹车过冲回摆停位;窗内读数同步刷新 | 单指标大跳变(性能翻倍/配额提升) |
22
+
23
+ ## 参数表
24
+ | 参数 | 典型值 | 调节手感 |
25
+ |------|--------|----------|
26
+ | A 甩弧幅度 | 满量程 270° | 只甩到真值=没有自检仪式感;满弧再回落才是"先亮量程" |
27
+ | A 过冲 | 回落带 5–8° 回摆 | 无过冲读作电子表;过冲=机械指针的质量 |
28
+ | A 错峰 | 3–5f/表 | 齐甩读作复制粘贴;错峰成波浪 |
29
+ | B 冲刺速度 | 45px/f(大跳变段) | 慢了读作匀速爬升,"世界动"不成立 |
30
+ | B 刹车 | spring 过冲(冲过头再弹回停位) | 词汇原案的回摆是"哐"的来源,直停可惜 |
31
+ | 真静止 | 停位后 ≥30f 全锁死 | 指针类最忌尾漂 |
32
+
33
+ ## 已知坑
34
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
35
+ 首次实战须以真实素材回验
36
+ - 同批 ring-close-overfill(合环过盈)改改再看无附言——环形进度类
37
+ 待重做,别急着当第三式并入
38
+ - A 的表盘是自绘 SVG(弧刻度+指针),实战贴真 dashboard 时优先找
39
+ 页面里现成的 gauge 组件特写,没有再造
40
+ - 声音:A 甩针一声"唰"+落定"嗒"(多表错峰各一声);B 冲刺段
41
+ 低频滚动声、刹车一声闷"哐"
42
+
43
+ ## 参考实现
44
+ demos/gauge-readout-moves/
45
+ (NeedleSweepSelftest.tsx / TapeScrollFixedPointer.tsx)