dsh-drawai 0.4.2 → 0.4.3

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 (366) hide show
  1. package/README.md +4 -3
  2. package/lib/index.js +7777 -7719
  3. package/lib/motion/asset-pack.js +394 -394
  4. package/lib/motion/assets.js +291 -291
  5. package/lib/motion/demo-assets-lock.js +10 -10
  6. package/lib/motion/mgstyles/vendor/README.md +28 -28
  7. package/lib/motion/mgstyles/vendor/modules/d3/LICENSE +13 -13
  8. package/lib/motion/mgstyles/vendor/modules/d3/dist/d3.min.js +2 -2
  9. package/lib/motion/mgstyles/vendor/modules/opentype.js/LICENSE +20 -20
  10. package/lib/motion/mgstyles/vendor/modules/opentype.js/dist/opentype.mjs +14460 -14460
  11. package/lib/motion/mgstyles/vendor/modules/simplex-noise/LICENSE +21 -21
  12. package/lib/motion/mgstyles/vendor/modules/simplex-noise/dist/esm/simplex-noise.js +465 -465
  13. package/lib/motion/mgstyles/vendor/modules/topojson-client/LICENSE +13 -13
  14. package/lib/motion/mgstyles/vendor/modules/topojson-client/dist/topojson-client.min.js +2 -2
  15. package/lib/motion/render.js +179 -179
  16. package/lib/motion/shotcraft/upstream/SKILL.md +286 -286
  17. package/lib/motion/shotcraft/upstream/assets/lib/Caption.tsx +54 -54
  18. package/lib/motion/shotcraft/upstream/assets/lib/ClipCard.tsx +200 -200
  19. package/lib/motion/shotcraft/upstream/assets/lib/DigitRoll.tsx +45 -45
  20. package/lib/motion/shotcraft/upstream/assets/lib/FlashCut.tsx +20 -20
  21. package/lib/motion/shotcraft/upstream/assets/lib/FlatPanel.tsx +65 -65
  22. package/lib/motion/shotcraft/upstream/assets/lib/PageCam.tsx +151 -151
  23. package/lib/motion/shotcraft/upstream/assets/lib/VerticalTicker.tsx +129 -129
  24. package/lib/motion/shotcraft/upstream/assets/lib/helpers/camera.tsx +75 -75
  25. package/lib/motion/shotcraft/upstream/assets/lib/helpers/motion.ts +40 -40
  26. package/lib/motion/shotcraft/upstream/assets/lib/helpers/rand.ts +11 -11
  27. package/lib/motion/shotcraft/upstream/assets/lib/helpers/shake.ts +10 -10
  28. package/lib/motion/shotcraft/upstream/assets/scripts/build-readme-cover.mjs +49 -49
  29. package/lib/motion/shotcraft/upstream/assets/scripts/capture-template.mjs +210 -210
  30. package/lib/motion/shotcraft/upstream/assets/scripts/sfx-source.py +423 -423
  31. package/lib/motion/shotcraft/upstream/assets/scripts/smoke-render-demos.py +170 -170
  32. package/lib/motion/shotcraft/upstream/assets/scripts/test_sfx_source.py +157 -157
  33. package/lib/motion/shotcraft/upstream/demos/README.md +120 -120
  34. package/lib/motion/shotcraft/upstream/demos/_fixtures/Brand.tsx +112 -112
  35. package/lib/motion/shotcraft/upstream/demos/_fixtures/Fixtures.tsx +647 -647
  36. package/lib/motion/shotcraft/upstream/demos/_fixtures/Look.tsx +316 -316
  37. package/lib/motion/shotcraft/upstream/demos/_fixtures/Motion.tsx +82 -82
  38. package/lib/motion/shotcraft/upstream/demos/_fixtures/PageCam2D.tsx +115 -115
  39. package/lib/motion/shotcraft/upstream/demos/_fixtures/Polish.tsx +243 -243
  40. package/lib/motion/shotcraft/upstream/demos/_textures/live-layout.json +388 -388
  41. package/lib/motion/shotcraft/upstream/demos/camera/basic-3d-scene/Basic3DScene.tsx +250 -250
  42. package/lib/motion/shotcraft/upstream/demos/camera/crash-zoom-punch/CrashImpactReal.tsx +305 -305
  43. package/lib/motion/shotcraft/upstream/demos/camera/crash-zoom-punch/CrashZoomReal.tsx +246 -246
  44. package/lib/motion/shotcraft/upstream/demos/camera/cursor-flyover/CursorFlyover.tsx +390 -390
  45. package/lib/motion/shotcraft/upstream/demos/camera/depth-layer-moves/MultiplaneReal.tsx +138 -138
  46. package/lib/motion/shotcraft/upstream/demos/camera/graze-face-tour/GrazeFaceTour.tsx +542 -542
  47. package/lib/motion/shotcraft/upstream/demos/camera/overhead-camera-moves/OverheadTabletopDrop.tsx +315 -315
  48. package/lib/motion/shotcraft/upstream/demos/camera/overhead-camera-moves/TiltReveal.tsx +299 -299
  49. package/lib/motion/shotcraft/upstream/demos/camera/space-camera-moves/DroneDiveLanding.tsx +173 -173
  50. package/lib/motion/shotcraft/upstream/demos/camera/space-camera-moves/ExplodedView.tsx +348 -348
  51. package/lib/motion/shotcraft/upstream/demos/camera/steep-tilt-glide/SteepTiltGlide.tsx +366 -366
  52. package/lib/motion/shotcraft/upstream/demos/camera/tension-camera-moves/BulletTimeFreezeOrbit.tsx +279 -279
  53. package/lib/motion/shotcraft/upstream/demos/camera/tension-camera-moves/PullBackIsolation.tsx +184 -184
  54. package/lib/motion/shotcraft/upstream/demos/camera/terminal-3d/Terminal3D.tsx +390 -390
  55. package/lib/motion/shotcraft/upstream/demos/data/before-after-slider-scrub/BeforeAfterSliderScrub.tsx +155 -155
  56. package/lib/motion/shotcraft/upstream/demos/data/chart-live-moves/AxisRescaleShockV2.tsx +303 -303
  57. package/lib/motion/shotcraft/upstream/demos/data/chart-live-moves/OscilloscopeStreamV2.tsx +290 -290
  58. package/lib/motion/shotcraft/upstream/demos/data/chart-live-moves/UnitDotSwarmRegroupV2.tsx +278 -278
  59. package/lib/motion/shotcraft/upstream/demos/data/gauge-readout-moves/NeedleSweepSelftest.tsx +307 -307
  60. package/lib/motion/shotcraft/upstream/demos/data/gauge-readout-moves/TapeScrollFixedPointer.tsx +215 -215
  61. package/lib/motion/shotcraft/upstream/demos/data/scroll-brake-moves/BrakeReticleLock.tsx +299 -299
  62. package/lib/motion/shotcraft/upstream/demos/data/scroll-brake-moves/ChangelogScrollBrake.tsx +232 -232
  63. package/lib/motion/shotcraft/upstream/demos/data/timeline-travel/TimelineTravel.tsx +290 -290
  64. package/lib/motion/shotcraft/upstream/demos/effects/assemble-then-type-flyin/AssembleThenTypeFlyin.tsx +273 -273
  65. package/lib/motion/shotcraft/upstream/demos/effects/aurora-bloom-bg-flip/AuroraBloomBgFlip.tsx +167 -167
  66. package/lib/motion/shotcraft/upstream/demos/effects/brand-frame-snap/BrandFrameSnap.tsx +536 -536
  67. package/lib/motion/shotcraft/upstream/demos/effects/fui-hud-moves/ReticleLockOn.tsx +164 -164
  68. package/lib/motion/shotcraft/upstream/demos/effects/glow-flyline-moves/FlylineArc.tsx +175 -175
  69. package/lib/motion/shotcraft/upstream/demos/effects/glow-flyline-moves/GlowOrbAmbient.tsx +197 -197
  70. package/lib/motion/shotcraft/upstream/demos/effects/glow-flyline-moves/OrbFlylineRelay.tsx +241 -241
  71. package/lib/motion/shotcraft/upstream/demos/effects/icon-performance-moves/AttentionBounce.tsx +279 -279
  72. package/lib/motion/shotcraft/upstream/demos/effects/impact-feedback/AnimeImpact.tsx +230 -230
  73. package/lib/motion/shotcraft/upstream/demos/effects/impact-feedback/HitCounter.tsx +345 -345
  74. package/lib/motion/shotcraft/upstream/demos/effects/light-play-moves/SheenSweepRetry.tsx +275 -275
  75. package/lib/motion/shotcraft/upstream/demos/effects/light-play-moves/SpotlightSweepReveal.tsx +229 -229
  76. package/lib/motion/shotcraft/upstream/demos/effects/radial-ripple-phone-chips/RadialRipplePhoneChips.tsx +312 -312
  77. package/lib/motion/shotcraft/upstream/demos/effects/riso-print-hits/RisoMisregistrationHit.tsx +222 -222
  78. package/lib/motion/shotcraft/upstream/demos/effects/scan-bracket-sweep/ScanBracketSweep.tsx +295 -295
  79. package/lib/motion/shotcraft/upstream/demos/effects/scanline-annotate-focus/ScanlineAnnotateFocus.tsx +329 -329
  80. package/lib/motion/shotcraft/upstream/demos/effects/scanline-assemble-flyin/ScanlineAssembleFlyin.tsx +315 -315
  81. package/lib/motion/shotcraft/upstream/demos/effects/slam-entrance-moves/ImpactBurstKit.tsx +264 -264
  82. package/lib/motion/shotcraft/upstream/demos/effects/slam-entrance-moves/KanadaPerspectiveSnap.tsx +260 -260
  83. package/lib/motion/shotcraft/upstream/demos/effects/slam-entrance-moves/ScoreSlam.tsx +263 -263
  84. package/lib/motion/shotcraft/upstream/demos/effects/spotlight-sweep-moves/CornerSpotlightReveal.tsx +123 -123
  85. package/lib/motion/shotcraft/upstream/demos/effects/spotlight-sweep-moves/GlowWakeSleepPanel.tsx +187 -187
  86. package/lib/motion/shotcraft/upstream/demos/effects/spotlight-sweep-moves/SlideSpotlightPan.tsx +175 -175
  87. package/lib/motion/shotcraft/upstream/demos/interaction/autolayout-gap-dial/AutolayoutGapDial.tsx +305 -305
  88. package/lib/motion/shotcraft/upstream/demos/interaction/canvas-materialize-moves/DiagramCascadeBuild.tsx +350 -350
  89. package/lib/motion/shotcraft/upstream/demos/interaction/canvas-materialize-moves/PanelToCanvasMaterialize.tsx +352 -352
  90. package/lib/motion/shotcraft/upstream/demos/interaction/chip-grid-single-select-blackout/ChipGridSingleSelectBlackout.tsx +218 -218
  91. package/lib/motion/shotcraft/upstream/demos/interaction/collab-cursor-moves/CursorCastEnsemble.tsx +297 -297
  92. package/lib/motion/shotcraft/upstream/demos/interaction/glass-pill-dictation-typing/GlassPillDictationTyping.tsx +157 -157
  93. package/lib/motion/shotcraft/upstream/demos/interaction/hashtag-to-pill-materialize/HashtagToPillMaterialize.tsx +218 -218
  94. package/lib/motion/shotcraft/upstream/demos/interaction/picker-carousel-feature-cycle/PickerCarouselFeatureCycle.tsx +202 -202
  95. package/lib/motion/shotcraft/upstream/demos/interaction/segmented-thumb-hero/SegmentedThumbHero.tsx +265 -265
  96. package/lib/motion/shotcraft/upstream/demos/interaction/theme-switch-moves/PaletteThemeRipple.tsx +457 -457
  97. package/lib/motion/shotcraft/upstream/demos/interaction/theme-switch-moves/ThemeSweepToggle.tsx +446 -446
  98. package/lib/motion/shotcraft/upstream/demos/interaction/type-and-filter/TypeAndFilter.tsx +249 -249
  99. package/lib/motion/shotcraft/upstream/demos/interaction/voice-waveform-live/VoiceWaveformLive.tsx +278 -278
  100. package/lib/motion/shotcraft/upstream/demos/opening/crane-rise-reveal/CraneRiseReveal.tsx +332 -332
  101. package/lib/motion/shotcraft/upstream/demos/opening/dataviz-landscape-open/DatavizLandscapeOpen.tsx +358 -358
  102. package/lib/motion/shotcraft/upstream/demos/opening/fracture/Fracture.tsx +201 -201
  103. package/lib/motion/shotcraft/upstream/demos/opening/icon-field-colorize/IconFieldColorize.tsx +200 -200
  104. package/lib/motion/shotcraft/upstream/demos/opening/letterspace-materialize/LetterspaceMaterialize.tsx +208 -208
  105. package/lib/motion/shotcraft/upstream/demos/opening/magician-card-flourish/MagicianCardFlourish.tsx +341 -341
  106. package/lib/motion/shotcraft/upstream/demos/opening/orbit-ring-title-open/OrbitRingTitleOpen.tsx +389 -389
  107. package/lib/motion/shotcraft/upstream/demos/opening/spotlight-hero-card/SpotlightHeroCard.tsx +293 -293
  108. package/lib/motion/shotcraft/upstream/demos/opening/stroke-segment-build/StrokeSegmentBuild.tsx +183 -183
  109. package/lib/motion/shotcraft/upstream/demos/opening/text-as-mask/TextAsMask.tsx +245 -245
  110. package/lib/motion/shotcraft/upstream/demos/outro/grain-dissolve/GrainDissolve.tsx +222 -222
  111. package/lib/motion/shotcraft/upstream/demos/outro/logo-shrink-wordmark-lockup/LogoShrinkWordmarkLockup.tsx +223 -223
  112. package/lib/motion/shotcraft/upstream/demos/outro/neon-triple-marquee/NeonTripleMarquee.tsx +217 -217
  113. package/lib/motion/shotcraft/upstream/demos/outro/outro-group-photo-launch/OutroGroupPhotoLaunch.tsx +343 -343
  114. package/lib/motion/shotcraft/upstream/demos/outro/ui-strip-away-outro/UiStripAwayOutro.tsx +357 -357
  115. package/lib/motion/shotcraft/upstream/demos/outro/ui-to-brand-morph/IconFlipBloomLogo.tsx +187 -187
  116. package/lib/motion/shotcraft/upstream/demos/outro/ui-to-brand-morph/InputMorphsIntoLogo.tsx +333 -333
  117. package/lib/motion/shotcraft/upstream/demos/rhythm/beat-cut-moves/PaparazziFlash.tsx +274 -274
  118. package/lib/motion/shotcraft/upstream/demos/rhythm/beat-step-list-theme-cycle/BeatStepListThemeCycle.tsx +270 -270
  119. package/lib/motion/shotcraft/upstream/demos/rhythm/panel-grid-moves/ComicPanelSplit.tsx +430 -430
  120. package/lib/motion/shotcraft/upstream/demos/rhythm/quad-split-parallel-scenes/QuadSplitParallelScenes.tsx +252 -252
  121. package/lib/motion/shotcraft/upstream/demos/rhythm/rhythm-interrupt-moves/JumpCutPunchIn.tsx +106 -106
  122. package/lib/motion/shotcraft/upstream/demos/rhythm/sakuga-timing-shift/SakugaTimingShift.tsx +288 -288
  123. package/lib/motion/shotcraft/upstream/demos/rhythm/speed-ramp-freeze/FreezeAnnotateReal.tsx +362 -362
  124. package/lib/motion/shotcraft/upstream/demos/rhythm/trailer-grammar-moves/TrailerBumper.tsx +168 -168
  125. package/lib/motion/shotcraft/upstream/demos/transition/bottom-push-stack-wipe/BottomPushStackWipe.tsx +310 -310
  126. package/lib/motion/shotcraft/upstream/demos/transition/card-flip-reveal/CardFlipReveal.tsx +261 -261
  127. package/lib/motion/shotcraft/upstream/demos/transition/card-flock-tumble/CardFlockTumble.tsx +459 -459
  128. package/lib/motion/shotcraft/upstream/demos/transition/circle-match-iris/CircleMatchIris.tsx +294 -294
  129. package/lib/motion/shotcraft/upstream/demos/transition/gradient-transition/GradientTransition.tsx +161 -161
  130. package/lib/motion/shotcraft/upstream/demos/transition/line-carry-transition/LineCarryTransition.tsx +248 -248
  131. package/lib/motion/shotcraft/upstream/demos/transition/mosaic-reframe/MosaicReframe.tsx +359 -359
  132. package/lib/motion/shotcraft/upstream/demos/transition/page-turn-transitions/BarnDoorSplit.tsx +227 -227
  133. package/lib/motion/shotcraft/upstream/demos/transition/print-texture-transitions/InkBleedReveal.tsx +162 -162
  134. package/lib/motion/shotcraft/upstream/demos/transition/shot-transitions/PortalWipeV2.tsx +248 -248
  135. package/lib/motion/shotcraft/upstream/demos/transition/shot-transitions/WhipBrakeReal.tsx +186 -186
  136. package/lib/motion/shotcraft/upstream/demos/transition/tear-streak-transitions/GlitchDisplace.tsx +355 -355
  137. package/lib/motion/shotcraft/upstream/demos/transition/transition-hidden-cut/InvisibleCut.tsx +272 -272
  138. package/lib/motion/shotcraft/upstream/demos/transition/transition-hidden-cut/LightLeakBurn.tsx +262 -262
  139. package/lib/motion/shotcraft/upstream/demos/transition/transition-hidden-cut/VersusSlam.tsx +217 -217
  140. package/lib/motion/shotcraft/upstream/demos/transition/transition-travel/LetterformZoom.tsx +285 -285
  141. package/lib/motion/shotcraft/upstream/demos/transition/white-flash-logo-simplify-cut/WhiteFlashLogoSimplifyCut.tsx +205 -205
  142. package/lib/motion/shotcraft/upstream/demos/transition/wipe-transitions/BlindsSlice.tsx +178 -178
  143. package/lib/motion/shotcraft/upstream/demos/typography/blur-slide/BlurSlide.tsx +147 -147
  144. package/lib/motion/shotcraft/upstream/demos/typography/brace-expand/BraceExpand.tsx +143 -143
  145. package/lib/motion/shotcraft/upstream/demos/typography/brand-ink-open/BrandInkOpen.tsx +134 -134
  146. package/lib/motion/shotcraft/upstream/demos/typography/countdown-arc-scatter/CountdownArcScatter.tsx +217 -217
  147. package/lib/motion/shotcraft/upstream/demos/typography/flying-words/FlyingWords.tsx +198 -198
  148. package/lib/motion/shotcraft/upstream/demos/typography/glitch-cycle/GlitchCycle.tsx +221 -221
  149. package/lib/motion/shotcraft/upstream/demos/typography/gradient-word-sweep/GradientWordSweep.tsx +312 -312
  150. package/lib/motion/shotcraft/upstream/demos/typography/lead-word-zoom-assemble/LeadWordZoomAssemble.tsx +261 -261
  151. package/lib/motion/shotcraft/upstream/demos/typography/marker-underline-title/MarkerUnderlineTitle.tsx +121 -121
  152. package/lib/motion/shotcraft/upstream/demos/typography/outline-word-fill/OutlineWordFill.tsx +153 -153
  153. package/lib/motion/shotcraft/upstream/demos/typography/paper-title-card/PaperTitleCard.tsx +179 -179
  154. package/lib/motion/shotcraft/upstream/demos/typography/pill-chip-slot-cycle-handled/PillChipSlotCycleHandled.tsx +140 -140
  155. package/lib/motion/shotcraft/upstream/demos/typography/pill-slot-cycle/PillSlotCycle.tsx +309 -309
  156. package/lib/motion/shotcraft/upstream/demos/typography/text-column-converge/TextColumnConverge.tsx +191 -191
  157. package/lib/motion/shotcraft/upstream/demos/typography/title-demote-to-label/TitleDemoteToLabel.tsx +292 -292
  158. package/lib/motion/shotcraft/upstream/demos/typography/type-assembly-moves/LetterformDriftAssembly.tsx +135 -135
  159. package/lib/motion/shotcraft/upstream/demos/typography/type-assembly-moves/SplitTextStagger.tsx +124 -124
  160. package/lib/motion/shotcraft/upstream/demos/typography/type-assembly-moves/TextOnPath.tsx +255 -255
  161. package/lib/motion/shotcraft/upstream/demos/typography/type-entrance-moves/LetterDropPhysics.tsx +173 -173
  162. package/lib/motion/shotcraft/upstream/demos/typography/type-rhythm-sync/FontWeightPump.tsx +225 -225
  163. package/lib/motion/shotcraft/upstream/demos/typography/type-rhythm-sync/KaraokeFillSync.tsx +141 -141
  164. package/lib/motion/shotcraft/upstream/demos/typography/typewriter-moves/TypewriterErrorRetype.tsx +137 -137
  165. package/lib/motion/shotcraft/upstream/demos/typography/vertical-word-roll-blur-cycle/VerticalWordRollBlurCycle.tsx +147 -147
  166. package/lib/motion/shotcraft/upstream/demos/typography/word-relay-filmstrip/WordRelayFilmstrip.tsx +409 -409
  167. package/lib/motion/shotcraft/upstream/demos/typography/word-relay-geometry/WordRelayGeometry.tsx +280 -280
  168. package/lib/motion/shotcraft/upstream/demos/ui-entrance/avatar-bracket-carousel/AvatarBracketCarousel.tsx +271 -271
  169. package/lib/motion/shotcraft/upstream/demos/ui-entrance/bezier-source-converge-merge/BezierSourceConvergeMerge.tsx +385 -385
  170. package/lib/motion/shotcraft/upstream/demos/ui-entrance/card-stack/CardStack.tsx +312 -312
  171. package/lib/motion/shotcraft/upstream/demos/ui-entrance/carousel-3d/Carousel3D.tsx +303 -303
  172. package/lib/motion/shotcraft/upstream/demos/ui-entrance/clipcard-looping/ClipCardLooping.tsx +77 -77
  173. package/lib/motion/shotcraft/upstream/demos/ui-entrance/cloner-depth-echo/ClonerDepthEcho.tsx +311 -311
  174. package/lib/motion/shotcraft/upstream/demos/ui-entrance/deck-deal-flyin/DeckDealFlyin.tsx +307 -307
  175. package/lib/motion/shotcraft/upstream/demos/ui-entrance/doc-park-left-pill-deal/DocParkLeftPillDeal.tsx +349 -349
  176. package/lib/motion/shotcraft/upstream/demos/ui-entrance/document-typewriter-reveal/DocumentTypewriterReveal.tsx +255 -255
  177. package/lib/motion/shotcraft/upstream/demos/ui-entrance/draw-svg-trace/DrawSvgTrace.tsx +244 -244
  178. package/lib/motion/shotcraft/upstream/demos/ui-entrance/element-body-moves/ContactShadowLift.tsx +217 -217
  179. package/lib/motion/shotcraft/upstream/demos/ui-entrance/integration-hub-map/IntegrationHubMap.tsx +652 -652
  180. package/lib/motion/shotcraft/upstream/demos/ui-entrance/list-reveal/ListReveal.tsx +153 -153
  181. package/lib/motion/shotcraft/upstream/demos/ui-entrance/list-stack-press/ListStackPress.tsx +238 -238
  182. package/lib/motion/shotcraft/upstream/demos/ui-entrance/neon-frame-forerun/NeonFrameForerun.tsx +324 -324
  183. package/lib/motion/shotcraft/upstream/demos/ui-entrance/neon-frame-orbit-drop/NeonFrameForerunOrbit.tsx +354 -354
  184. package/lib/motion/shotcraft/upstream/demos/ui-entrance/page-waterfall-wall/PageWaterfallWall.tsx +101 -101
  185. package/lib/motion/shotcraft/upstream/demos/ui-entrance/page-waterfall-wall/VerticalTicker.tsx +129 -129
  186. package/lib/motion/shotcraft/upstream/demos/ui-entrance/product-card-progressive-assemble/ProductCardProgressiveAssemble.tsx +297 -297
  187. package/lib/motion/shotcraft/upstream/demos/ui-entrance/radial-wave/RadialWave.tsx +57 -57
  188. package/lib/motion/shotcraft/upstream/demos/ui-entrance/research-card-stack-scroll/ResearchCardStackScroll.tsx +155 -155
  189. package/lib/motion/shotcraft/upstream/demos/ui-entrance/row-embed/RowEmbed.tsx +175 -175
  190. package/lib/motion/shotcraft/upstream/demos/ui-entrance/value-stagger-gradient/ValueStaggerGradient.tsx +153 -153
  191. package/lib/motion/shotcraft/upstream/demos/ui-entrance/wall-reveal-moves/BentoLightUp.tsx +146 -146
  192. package/lib/motion/shotcraft/upstream/demos/ui-entrance/wall-reveal-moves/WireframeDrawOn.tsx +226 -226
  193. package/lib/motion/shotcraft/upstream/gallery/api/library.json +1 -1
  194. package/lib/motion/shotcraft/upstream/references/aesthetic-rules.md +193 -193
  195. package/lib/motion/shotcraft/upstream/references/final-review.md +121 -121
  196. package/lib/motion/shotcraft/upstream/references/guided-free-creation.md +199 -199
  197. package/lib/motion/shotcraft/upstream/references/jianying-export.md +183 -183
  198. package/lib/motion/shotcraft/upstream/references/music-beat-sync.md +257 -257
  199. package/lib/motion/shotcraft/upstream/references/pipeline.md +382 -382
  200. package/lib/motion/shotcraft/upstream/references/publish-upload-post.md +111 -111
  201. package/lib/motion/shotcraft/upstream/references/sequences/promo-energy-arc.md +50 -50
  202. package/lib/motion/shotcraft/upstream/references/sfx-sourcing.md +95 -95
  203. package/lib/motion/shotcraft/upstream/references/shots/camera/basic-3d-scene.md +41 -41
  204. package/lib/motion/shotcraft/upstream/references/shots/camera/crash-zoom-punch.md +52 -52
  205. package/lib/motion/shotcraft/upstream/references/shots/camera/cursor-flyover.md +39 -39
  206. package/lib/motion/shotcraft/upstream/references/shots/camera/depth-layer-moves.md +39 -39
  207. package/lib/motion/shotcraft/upstream/references/shots/camera/graze-face-tour.md +57 -57
  208. package/lib/motion/shotcraft/upstream/references/shots/camera/overhead-camera-moves.md +51 -51
  209. package/lib/motion/shotcraft/upstream/references/shots/camera/space-camera-moves.md +46 -46
  210. package/lib/motion/shotcraft/upstream/references/shots/camera/steep-tilt-glide.md +52 -52
  211. package/lib/motion/shotcraft/upstream/references/shots/camera/tension-camera-moves.md +43 -43
  212. package/lib/motion/shotcraft/upstream/references/shots/camera/terminal-3d.md +42 -42
  213. package/lib/motion/shotcraft/upstream/references/shots/data/before-after-slider-scrub.md +48 -48
  214. package/lib/motion/shotcraft/upstream/references/shots/data/chart-live-moves.md +52 -52
  215. package/lib/motion/shotcraft/upstream/references/shots/data/gauge-readout-moves.md +45 -45
  216. package/lib/motion/shotcraft/upstream/references/shots/data/scroll-brake-moves.md +46 -46
  217. package/lib/motion/shotcraft/upstream/references/shots/data/timeline-travel.md +44 -44
  218. package/lib/motion/shotcraft/upstream/references/shots/effects/assemble-then-type-flyin.md +63 -63
  219. package/lib/motion/shotcraft/upstream/references/shots/effects/aurora-bloom-bg-flip.md +54 -54
  220. package/lib/motion/shotcraft/upstream/references/shots/effects/brand-frame-snap.md +58 -58
  221. package/lib/motion/shotcraft/upstream/references/shots/effects/fui-hud-moves.md +35 -35
  222. package/lib/motion/shotcraft/upstream/references/shots/effects/glow-flyline-moves.md +53 -53
  223. package/lib/motion/shotcraft/upstream/references/shots/effects/icon-performance-moves.md +42 -42
  224. package/lib/motion/shotcraft/upstream/references/shots/effects/impact-feedback.md +50 -50
  225. package/lib/motion/shotcraft/upstream/references/shots/effects/light-play-moves.md +46 -46
  226. package/lib/motion/shotcraft/upstream/references/shots/effects/radial-ripple-phone-chips.md +56 -56
  227. package/lib/motion/shotcraft/upstream/references/shots/effects/riso-print-hits.md +49 -49
  228. package/lib/motion/shotcraft/upstream/references/shots/effects/scan-bracket-sweep.md +50 -50
  229. package/lib/motion/shotcraft/upstream/references/shots/effects/scanline-annotate-focus.md +53 -53
  230. package/lib/motion/shotcraft/upstream/references/shots/effects/scanline-assemble-flyin.md +53 -53
  231. package/lib/motion/shotcraft/upstream/references/shots/effects/slam-entrance-moves.md +55 -55
  232. package/lib/motion/shotcraft/upstream/references/shots/effects/spotlight-sweep-moves.md +52 -52
  233. package/lib/motion/shotcraft/upstream/references/shots/interaction/autolayout-gap-dial.md +60 -60
  234. package/lib/motion/shotcraft/upstream/references/shots/interaction/canvas-materialize-moves.md +57 -57
  235. package/lib/motion/shotcraft/upstream/references/shots/interaction/chip-grid-single-select-blackout.md +51 -51
  236. package/lib/motion/shotcraft/upstream/references/shots/interaction/collab-cursor-moves.md +41 -41
  237. package/lib/motion/shotcraft/upstream/references/shots/interaction/glass-pill-dictation-typing.md +53 -53
  238. package/lib/motion/shotcraft/upstream/references/shots/interaction/hashtag-to-pill-materialize.md +60 -60
  239. package/lib/motion/shotcraft/upstream/references/shots/interaction/picker-carousel-feature-cycle.md +55 -55
  240. package/lib/motion/shotcraft/upstream/references/shots/interaction/segmented-thumb-hero.md +57 -57
  241. package/lib/motion/shotcraft/upstream/references/shots/interaction/theme-switch-moves.md +47 -47
  242. package/lib/motion/shotcraft/upstream/references/shots/interaction/type-and-filter.md +37 -37
  243. package/lib/motion/shotcraft/upstream/references/shots/interaction/voice-waveform-live.md +54 -54
  244. package/lib/motion/shotcraft/upstream/references/shots/opening/brand-ink-open.md +36 -36
  245. package/lib/motion/shotcraft/upstream/references/shots/opening/crane-rise-reveal.md +56 -56
  246. package/lib/motion/shotcraft/upstream/references/shots/opening/dataviz-landscape-open.md +56 -56
  247. package/lib/motion/shotcraft/upstream/references/shots/opening/fracture.md +40 -40
  248. package/lib/motion/shotcraft/upstream/references/shots/opening/icon-field-colorize.md +60 -60
  249. package/lib/motion/shotcraft/upstream/references/shots/opening/letterspace-materialize.md +57 -57
  250. package/lib/motion/shotcraft/upstream/references/shots/opening/magician-card-flourish.md +73 -73
  251. package/lib/motion/shotcraft/upstream/references/shots/opening/orbit-ring-title-open.md +87 -87
  252. package/lib/motion/shotcraft/upstream/references/shots/opening/spotlight-hero-card.md +55 -55
  253. package/lib/motion/shotcraft/upstream/references/shots/opening/stroke-segment-build.md +50 -50
  254. package/lib/motion/shotcraft/upstream/references/shots/opening/text-as-mask.md +59 -59
  255. package/lib/motion/shotcraft/upstream/references/shots/outro/grain-dissolve.md +38 -38
  256. package/lib/motion/shotcraft/upstream/references/shots/outro/logo-shrink-wordmark-lockup.md +38 -38
  257. package/lib/motion/shotcraft/upstream/references/shots/outro/neon-triple-marquee.md +59 -59
  258. package/lib/motion/shotcraft/upstream/references/shots/outro/outro-group-photo-launch.md +39 -39
  259. package/lib/motion/shotcraft/upstream/references/shots/outro/ui-strip-away-outro.md +61 -61
  260. package/lib/motion/shotcraft/upstream/references/shots/outro/ui-to-brand-morph.md +52 -52
  261. package/lib/motion/shotcraft/upstream/references/shots/rhythm/beat-cut-moves.md +50 -50
  262. package/lib/motion/shotcraft/upstream/references/shots/rhythm/beat-step-list-theme-cycle.md +66 -66
  263. package/lib/motion/shotcraft/upstream/references/shots/rhythm/panel-grid-moves.md +43 -43
  264. package/lib/motion/shotcraft/upstream/references/shots/rhythm/quad-split-parallel-scenes.md +38 -38
  265. package/lib/motion/shotcraft/upstream/references/shots/rhythm/rhythm-interrupt-moves.md +38 -38
  266. package/lib/motion/shotcraft/upstream/references/shots/rhythm/sakuga-timing-shift.md +56 -56
  267. package/lib/motion/shotcraft/upstream/references/shots/rhythm/speed-ramp-freeze.md +44 -44
  268. package/lib/motion/shotcraft/upstream/references/shots/rhythm/trailer-grammar-moves.md +38 -38
  269. package/lib/motion/shotcraft/upstream/references/shots/transition/bottom-push-stack-wipe.md +63 -63
  270. package/lib/motion/shotcraft/upstream/references/shots/transition/card-flip-reveal.md +57 -57
  271. package/lib/motion/shotcraft/upstream/references/shots/transition/card-flock-tumble.md +63 -63
  272. package/lib/motion/shotcraft/upstream/references/shots/transition/circle-match-iris.md +58 -58
  273. package/lib/motion/shotcraft/upstream/references/shots/transition/gradient-transition.md +45 -45
  274. package/lib/motion/shotcraft/upstream/references/shots/transition/line-carry-transition.md +55 -55
  275. package/lib/motion/shotcraft/upstream/references/shots/transition/mosaic-reframe.md +49 -49
  276. package/lib/motion/shotcraft/upstream/references/shots/transition/page-turn-transitions.md +42 -42
  277. package/lib/motion/shotcraft/upstream/references/shots/transition/print-texture-transitions.md +42 -42
  278. package/lib/motion/shotcraft/upstream/references/shots/transition/shot-transitions.md +45 -45
  279. package/lib/motion/shotcraft/upstream/references/shots/transition/tear-streak-transitions.md +48 -48
  280. package/lib/motion/shotcraft/upstream/references/shots/transition/transition-hidden-cut.md +55 -55
  281. package/lib/motion/shotcraft/upstream/references/shots/transition/transition-travel.md +43 -43
  282. package/lib/motion/shotcraft/upstream/references/shots/transition/white-flash-logo-simplify-cut.md +41 -41
  283. package/lib/motion/shotcraft/upstream/references/shots/transition/wipe-transitions.md +42 -42
  284. package/lib/motion/shotcraft/upstream/references/shots/typography/blur-slide.md +59 -59
  285. package/lib/motion/shotcraft/upstream/references/shots/typography/brace-expand.md +55 -55
  286. package/lib/motion/shotcraft/upstream/references/shots/typography/countdown-arc-scatter.md +65 -65
  287. package/lib/motion/shotcraft/upstream/references/shots/typography/document-typewriter-reveal.md +42 -42
  288. package/lib/motion/shotcraft/upstream/references/shots/typography/flying-words.md +64 -64
  289. package/lib/motion/shotcraft/upstream/references/shots/typography/glitch-cycle.md +64 -64
  290. package/lib/motion/shotcraft/upstream/references/shots/typography/gradient-word-sweep.md +54 -54
  291. package/lib/motion/shotcraft/upstream/references/shots/typography/lead-word-zoom-assemble.md +91 -91
  292. package/lib/motion/shotcraft/upstream/references/shots/typography/marker-underline-title.md +51 -51
  293. package/lib/motion/shotcraft/upstream/references/shots/typography/outline-word-fill.md +66 -66
  294. package/lib/motion/shotcraft/upstream/references/shots/typography/paper-title-card.md +38 -38
  295. package/lib/motion/shotcraft/upstream/references/shots/typography/pill-chip-slot-cycle-handled.md +66 -66
  296. package/lib/motion/shotcraft/upstream/references/shots/typography/pill-slot-cycle.md +58 -58
  297. package/lib/motion/shotcraft/upstream/references/shots/typography/text-column-converge.md +61 -61
  298. package/lib/motion/shotcraft/upstream/references/shots/typography/title-demote-to-label.md +64 -64
  299. package/lib/motion/shotcraft/upstream/references/shots/typography/type-assembly-moves.md +45 -45
  300. package/lib/motion/shotcraft/upstream/references/shots/typography/type-entrance-moves.md +41 -41
  301. package/lib/motion/shotcraft/upstream/references/shots/typography/type-rhythm-sync.md +51 -51
  302. package/lib/motion/shotcraft/upstream/references/shots/typography/typewriter-moves.md +42 -42
  303. package/lib/motion/shotcraft/upstream/references/shots/typography/vertical-word-roll-blur-cycle.md +63 -63
  304. package/lib/motion/shotcraft/upstream/references/shots/typography/word-relay-filmstrip.md +57 -57
  305. package/lib/motion/shotcraft/upstream/references/shots/typography/word-relay-geometry.md +75 -75
  306. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/avatar-bracket-carousel.md +59 -59
  307. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/bezier-source-converge-merge.md +67 -67
  308. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/card-stack.md +60 -60
  309. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/carousel-3d.md +66 -66
  310. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/cloner-depth-echo.md +40 -40
  311. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/deck-deal-flyin.md +45 -45
  312. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/doc-park-left-pill-deal.md +62 -62
  313. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/draw-svg-trace.md +55 -55
  314. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/element-body-moves.md +37 -37
  315. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/integration-hub-map.md +55 -55
  316. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/list-reveal.md +50 -50
  317. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/list-stack-press.md +43 -43
  318. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/neon-frame-forerun.md +55 -55
  319. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/neon-frame-orbit-drop.md +51 -51
  320. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/page-waterfall-wall.md +51 -51
  321. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/product-card-progressive-assemble.md +56 -56
  322. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/radial-wave.md +49 -49
  323. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/research-card-stack-scroll.md +57 -57
  324. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/row-embed.md +36 -36
  325. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/value-stagger-gradient.md +64 -64
  326. package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/wall-reveal-moves.md +47 -47
  327. package/lib/motion/shotcraft/upstream/references/sound-design.md +170 -170
  328. package/lib/motion/shotcraft/upstream/references/workbench.md +157 -157
  329. package/lib/motion/shotcraft/upstream/template/TEMPLATE.md +103 -103
  330. package/lib/motion/shotcraft/upstream/template/THEMES.md +44 -44
  331. package/lib/motion/shotcraft/upstream/template/package.json +20 -20
  332. package/lib/motion/shotcraft/upstream/template/remotion.config.ts +6 -6
  333. package/lib/motion/shotcraft/upstream/template/src/Root.tsx +17 -17
  334. package/lib/motion/shotcraft/upstream/template/src/aifl/Caption.tsx +65 -65
  335. package/lib/motion/shotcraft/upstream/template/src/aifl/DigitRoll.tsx +48 -48
  336. package/lib/motion/shotcraft/upstream/template/src/aifl/FlashCut.tsx +24 -24
  337. package/lib/motion/shotcraft/upstream/template/src/aifl/Main.tsx +192 -192
  338. package/lib/motion/shotcraft/upstream/template/src/aifl/PaperTitleCard.tsx +111 -111
  339. package/lib/motion/shotcraft/upstream/template/src/aifl/live/PageCam.tsx +150 -150
  340. package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneDetail.tsx +158 -158
  341. package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneFlyIn.tsx +468 -468
  342. package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneOpen.tsx +552 -552
  343. package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneOutroLive.tsx +411 -411
  344. package/lib/motion/shotcraft/upstream/template/src/aifl/live/ScenePapers.tsx +200 -200
  345. package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneWbr.tsx +324 -324
  346. package/lib/motion/shotcraft/upstream/template/src/aifl/live-layout.json +388 -388
  347. package/lib/motion/shotcraft/upstream/template/src/index.ts +4 -4
  348. package/lib/motion/shotcraft/upstream/template/src/themes/ThemedFilm.tsx +7 -7
  349. package/lib/motion/shotcraft/upstream/template/src/themes/manifest.tsx +68 -68
  350. package/lib/motion/shotcraft/upstream/template/src/themes/palette-assets.json +1 -1
  351. package/lib/motion/shotcraft/upstream/template/src/themes/palette-assets.ts +24 -24
  352. package/lib/motion/shotcraft/upstream/template/src/themes/palettes.json +74 -74
  353. package/lib/motion/shotcraft/upstream/template/src/themes/visual-theme.tsx +91 -91
  354. package/lib/motion/shotcraft/upstream/template/src/workbench.ts +213 -213
  355. package/lib/motion/shotcraft/upstream/template/tsconfig.json +15 -15
  356. package/lib/motion/style-frames.js +306 -306
  357. package/lib/motion/sync.js +214 -214
  358. package/lib/motion-project.js +105 -105
  359. package/lib/motion-render-worker.js +174 -174
  360. package/lib/routing/router.js +222 -222
  361. package/lib/routing/vendor/README.md +96 -96
  362. package/lib/routing/vendor/libavoid-routing.js +753 -753
  363. package/lib/routing/vendor/libavoid.min.js +59 -59
  364. package/lib/video-trace-pool.js +128 -128
  365. package/package.json +1 -1
  366. package/LICENSE +0 -4175
@@ -1,38 +1,38 @@
1
- ---
2
- name: trailer-grammar-moves
3
- 一句话: 预告片语法一式——trailer-bumper 前置速剪钩子:三镜 9f 速剪 + 黑场静默一拍,再开场标题
4
- 适用: 预告片的开场钩子(cold open):正片前先塞三个最抓眼的镜头,再静默一拍正式开场
5
- 时长: A ~4.7s(140f)
6
- 能量: A 高
7
- 标签: opening、transition
8
- ---
9
-
10
- ## 意图
11
- 库内节奏卡各管一段:beat-cut 管切点排布、rhythm-interrupt 管打断。
12
- 本卡管**预告片的结构性时刻**——不是某个
13
- 镜头怎么动,是整片的关节怎么接:A 是开场钩——正片前 0.9 秒塞
14
- 三个最抓眼镜头速剪 + 黑场静默一拍再开场,预告片的"预告"。
15
-
16
- ## 式选型
17
- | 式 | 做法 | 适用 |
18
- |----|------|------|
19
- | A trailer-bumper | 三镜头各 9f 等长硬切(0/9/18),每镜内部 scale 1→1.04 微推保活;27–33f 纯黑静默,33f 起标题 16f 淡入 + 44px out-cubic 微升(demo 标题是 video-shotcraft 字标 + 品牌 tagline) | 正片开场前的钩子;cold open |
20
-
21
- ## 参数表
22
- | 参数 | 典型值 | 调节手感 |
23
- |------|--------|----------|
24
- | A 速剪 | 三镜等长 9f,零过渡;镜头 3 对焦中列 Top pages 卡放大 2.2x 怼脸特写(CSS zoom,字不糊) | 节拍感靠等长;三镜构图必须明显不同 |
25
- | A 微推 | 每镜内部 scale 1→1.04 线性 | 静帧三连读作幻灯片——命门 |
26
- | A 黑场 | 27–33f 纯黑 #000 空 div,6f | 黑场里放任何东西都毁掉"静默一拍" |
27
- | 收尾 | A 静止 77f(≥40f) | 字距收拢完(63f)后整帧冻结,真静止 |
28
-
29
- ## 已知坑
30
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
31
- 首次实战须以真实素材回验
32
- - A 黑场必须纯黑无物(drop-blackout 判例同族)——黑场是喘息,
33
- 不是又一张字卡
34
- - A 三连切每切一声打点、黑场全消音(sound-design §4.5)
35
-
36
- ## 参考实现
37
- demos/rhythm/trailer-grammar-moves/
38
- (TrailerBumper.tsx)
1
+ ---
2
+ name: trailer-grammar-moves
3
+ 一句话: 预告片语法一式——trailer-bumper 前置速剪钩子:三镜 9f 速剪 + 黑场静默一拍,再开场标题
4
+ 适用: 预告片的开场钩子(cold open):正片前先塞三个最抓眼的镜头,再静默一拍正式开场
5
+ 时长: A ~4.7s(140f)
6
+ 能量: A 高
7
+ 标签: opening、transition
8
+ ---
9
+
10
+ ## 意图
11
+ 库内节奏卡各管一段:beat-cut 管切点排布、rhythm-interrupt 管打断。
12
+ 本卡管**预告片的结构性时刻**——不是某个
13
+ 镜头怎么动,是整片的关节怎么接:A 是开场钩——正片前 0.9 秒塞
14
+ 三个最抓眼镜头速剪 + 黑场静默一拍再开场,预告片的"预告"。
15
+
16
+ ## 式选型
17
+ | 式 | 做法 | 适用 |
18
+ |----|------|------|
19
+ | A trailer-bumper | 三镜头各 9f 等长硬切(0/9/18),每镜内部 scale 1→1.04 微推保活;27–33f 纯黑静默,33f 起标题 16f 淡入 + 44px out-cubic 微升(demo 标题是 video-shotcraft 字标 + 品牌 tagline) | 正片开场前的钩子;cold open |
20
+
21
+ ## 参数表
22
+ | 参数 | 典型值 | 调节手感 |
23
+ |------|--------|----------|
24
+ | A 速剪 | 三镜等长 9f,零过渡;镜头 3 对焦中列 Top pages 卡放大 2.2x 怼脸特写(CSS zoom,字不糊) | 节拍感靠等长;三镜构图必须明显不同 |
25
+ | A 微推 | 每镜内部 scale 1→1.04 线性 | 静帧三连读作幻灯片——命门 |
26
+ | A 黑场 | 27–33f 纯黑 #000 空 div,6f | 黑场里放任何东西都毁掉"静默一拍" |
27
+ | 收尾 | A 静止 77f(≥40f) | 字距收拢完(63f)后整帧冻结,真静止 |
28
+
29
+ ## 已知坑
30
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
31
+ 首次实战须以真实素材回验
32
+ - A 黑场必须纯黑无物(drop-blackout 判例同族)——黑场是喘息,
33
+ 不是又一张字卡
34
+ - A 三连切每切一声打点、黑场全消音(sound-design §4.5)
35
+
36
+ ## 参考实现
37
+ demos/rhythm/trailer-grammar-moves/
38
+ (TrailerBumper.tsx)
@@ -1,63 +1,63 @@
1
- ---
2
- name: bottom-push-stack-wipe
3
- 一句话: 底边上推换章——新场景连底色整屏从底边向上推入,把旧场景物理顶出画外,连推数章各配一种饱和底色,内容钉死在各自色底坐标系里随底色走
4
- 适用: 多章节产品片的换章骨架(每章一个卖点一种底色);需要"翻页节奏感"贯穿全片的段落切换
5
- 时长: demo 三连推 170f(~5.7s);单次推入 26f + 章内 hold ~1.2s
6
- 能量: 中
7
- ---
8
-
9
- ## 意图
10
- wipe-transitions 是一条边界扫过、新旧页都不动;page-turn 是旧页对开门
11
- 裂开滑出。本卡是第三种物性:**新章把旧章顶出去**——两屏刚性接触、同速
12
- 同向位移,像自动售货机压栈。命门是"连底色整屏走":底色+窗口卡+装饰
13
- 条焊成一块整料从底边推入,观众读到"换了个世界"而不是"换了张卡"。
14
- 重 ease-out(快进慢停)给推入一个"哐"的落位感;上缘 40px 接缝阴影
15
- 是两屏物理接触的证据。连推三章且底色饱和度拉满,换章本身就成了全片
16
- 的节拍器——slack 原片全片就靠这一招做骨架。
17
-
18
- ## 动效核心
19
- - 每章一个整屏层:`translateY` 从 +1080 推到 0,旧章同步被顶到
20
- −1080——两层位移严格同步同缓动,任何速差都读作"滑动穿模"
21
- - 推入缓动 = 重 ease-out `cubic-bezier(0.12, 0.9, 0.2, 1)`(快进
22
- 慢停),26f 完成(~12f 已到 95%);第 i 章的 y = (1−自己推入进度)×H
23
- − 下一章推入进度×H,一条式子管进也管出;整摞按速度做纵向方向性模糊
24
- - 新章上缘带 56px 渐变接缝阴影(用新章的带色相深色 0.42→透明,压在
25
- 旧章上)+ 新章上缘 2px 受光边,落定后归零——"顶出"的物理接触感全靠它
26
- - demo 是「瑞士海报」式(产品 video-shotcraft,一章一个卖点):第 0 章近黑开场,三章钴蓝 #2d4cff / 朱橙
27
- #ff4d1f / 酸柠 #cdf23a(深色字),色相拉开 120° 级;每章左栏眉题 +
28
- 116px 超粗两行标题 + 40px 说明,右栏一张为镜头设计的大字 UI 卡
29
- (和 agent 对话 / 踩点时间线 / 交付流水线),色板左上受光、右下压暗,与卡片阴影同一光向
30
- - 章内动画全部错开推入:标题在推入开始后 12f(已到 95%)才从线下升起,
31
- UI 小动作(打字中→消息弹入 / 声波与当前镜头交接 / 交付步骤逐个打勾)放在 hold
32
- - 推入间隔 ~44f(demo 22/66/110f 起推);出画的层及时卸载;尾段 28f
33
- 极缓推近 1.5%
34
-
35
- ## 参数表
36
- | 参数 | 典型值 | 调节手感 |
37
- |------|--------|----------|
38
- | 推入时长 | 26f,重 ease-out | <20f 读作闪切;线性匀速读作卷帘门,"哐"感全无 |
39
- | 章间 hold | ~18f 静止 + 推入尾段,章内总停留 ~44f | 章内是内容表演区,<25f 观众没看清就被顶走 |
40
- | 接缝阴影 | 上缘 56px,章色深档 0.42 渐变 + 2px 受光边 | 去掉后两屏像叠影滑动;>80px 读作新章自带黑边 |
41
- | 底色 | 每章一种饱和色,相邻章色相拉开 | 相邻章同色系则"换章"读作"微调";灰阶章只能当第 0 章 |
42
- | 内容钉死 | 窗口卡/装饰条用章内绝对坐标 | 内容若相对视口定位就会"漂"在推入动画上,穿帮 |
43
- | 连推次数 | 2–4 章 | 1 次不成节奏;>4 次观众开始数底色,疲劳 |
44
-
45
- ## 已知坑
46
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
47
- 首次实战须以真实素材回验
48
- - 与 wipe-transitions 分工:那卡新旧页都不动、一条几何边界扫过交接
49
- (中性、哪儿都能用);本卡两页都在动、刚性顶出(有物性、自带章节
50
- 节奏)——单次接缝用那卡,全片骨架用本卡
51
- - 与 shot-transitions 三式同层选型:本卡能量中档、方向固定向上,
52
- 需要能量落差大的接缝(如进 outro)让位给流白
53
- - 方向统一是骨架感的来源:全片所有章都从底边推,中途换成左推/顶推
54
- 节拍器就散了——要变方向就别当骨架用
55
- - 推入进行中两章同屏,都是满屏层——章内动画(卡片入场等)避开推入
56
- 的 26f 窗口(至少等到 95% 落位),不然两章都在动,视线没有锚点
57
- - 实战底色用品牌色板的饱和档;底色饱和度不足时窗口卡"钉在色底上"
58
- 的从属关系读不出来,会退化成"卡片各自换背景"
59
-
60
- ## 参考实现
61
- demos/transition/bottom-push-stack-wipe/
62
- (BottomPushStackWipe.tsx)
63
- 原片出处:slack-promo 22–27s
1
+ ---
2
+ name: bottom-push-stack-wipe
3
+ 一句话: 底边上推换章——新场景连底色整屏从底边向上推入,把旧场景物理顶出画外,连推数章各配一种饱和底色,内容钉死在各自色底坐标系里随底色走
4
+ 适用: 多章节产品片的换章骨架(每章一个卖点一种底色);需要"翻页节奏感"贯穿全片的段落切换
5
+ 时长: demo 三连推 170f(~5.7s);单次推入 26f + 章内 hold ~1.2s
6
+ 能量: 中
7
+ ---
8
+
9
+ ## 意图
10
+ wipe-transitions 是一条边界扫过、新旧页都不动;page-turn 是旧页对开门
11
+ 裂开滑出。本卡是第三种物性:**新章把旧章顶出去**——两屏刚性接触、同速
12
+ 同向位移,像自动售货机压栈。命门是"连底色整屏走":底色+窗口卡+装饰
13
+ 条焊成一块整料从底边推入,观众读到"换了个世界"而不是"换了张卡"。
14
+ 重 ease-out(快进慢停)给推入一个"哐"的落位感;上缘 40px 接缝阴影
15
+ 是两屏物理接触的证据。连推三章且底色饱和度拉满,换章本身就成了全片
16
+ 的节拍器——slack 原片全片就靠这一招做骨架。
17
+
18
+ ## 动效核心
19
+ - 每章一个整屏层:`translateY` 从 +1080 推到 0,旧章同步被顶到
20
+ −1080——两层位移严格同步同缓动,任何速差都读作"滑动穿模"
21
+ - 推入缓动 = 重 ease-out `cubic-bezier(0.12, 0.9, 0.2, 1)`(快进
22
+ 慢停),26f 完成(~12f 已到 95%);第 i 章的 y = (1−自己推入进度)×H
23
+ − 下一章推入进度×H,一条式子管进也管出;整摞按速度做纵向方向性模糊
24
+ - 新章上缘带 56px 渐变接缝阴影(用新章的带色相深色 0.42→透明,压在
25
+ 旧章上)+ 新章上缘 2px 受光边,落定后归零——"顶出"的物理接触感全靠它
26
+ - demo 是「瑞士海报」式(产品 video-shotcraft,一章一个卖点):第 0 章近黑开场,三章钴蓝 #2d4cff / 朱橙
27
+ #ff4d1f / 酸柠 #cdf23a(深色字),色相拉开 120° 级;每章左栏眉题 +
28
+ 116px 超粗两行标题 + 40px 说明,右栏一张为镜头设计的大字 UI 卡
29
+ (和 agent 对话 / 踩点时间线 / 交付流水线),色板左上受光、右下压暗,与卡片阴影同一光向
30
+ - 章内动画全部错开推入:标题在推入开始后 12f(已到 95%)才从线下升起,
31
+ UI 小动作(打字中→消息弹入 / 声波与当前镜头交接 / 交付步骤逐个打勾)放在 hold
32
+ - 推入间隔 ~44f(demo 22/66/110f 起推);出画的层及时卸载;尾段 28f
33
+ 极缓推近 1.5%
34
+
35
+ ## 参数表
36
+ | 参数 | 典型值 | 调节手感 |
37
+ |------|--------|----------|
38
+ | 推入时长 | 26f,重 ease-out | <20f 读作闪切;线性匀速读作卷帘门,"哐"感全无 |
39
+ | 章间 hold | ~18f 静止 + 推入尾段,章内总停留 ~44f | 章内是内容表演区,<25f 观众没看清就被顶走 |
40
+ | 接缝阴影 | 上缘 56px,章色深档 0.42 渐变 + 2px 受光边 | 去掉后两屏像叠影滑动;>80px 读作新章自带黑边 |
41
+ | 底色 | 每章一种饱和色,相邻章色相拉开 | 相邻章同色系则"换章"读作"微调";灰阶章只能当第 0 章 |
42
+ | 内容钉死 | 窗口卡/装饰条用章内绝对坐标 | 内容若相对视口定位就会"漂"在推入动画上,穿帮 |
43
+ | 连推次数 | 2–4 章 | 1 次不成节奏;>4 次观众开始数底色,疲劳 |
44
+
45
+ ## 已知坑
46
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
47
+ 首次实战须以真实素材回验
48
+ - 与 wipe-transitions 分工:那卡新旧页都不动、一条几何边界扫过交接
49
+ (中性、哪儿都能用);本卡两页都在动、刚性顶出(有物性、自带章节
50
+ 节奏)——单次接缝用那卡,全片骨架用本卡
51
+ - 与 shot-transitions 三式同层选型:本卡能量中档、方向固定向上,
52
+ 需要能量落差大的接缝(如进 outro)让位给流白
53
+ - 方向统一是骨架感的来源:全片所有章都从底边推,中途换成左推/顶推
54
+ 节拍器就散了——要变方向就别当骨架用
55
+ - 推入进行中两章同屏,都是满屏层——章内动画(卡片入场等)避开推入
56
+ 的 26f 窗口(至少等到 95% 落位),不然两章都在动,视线没有锚点
57
+ - 实战底色用品牌色板的饱和档;底色饱和度不足时窗口卡"钉在色底上"
58
+ 的从属关系读不出来,会退化成"卡片各自换背景"
59
+
60
+ ## 参考实现
61
+ demos/transition/bottom-push-stack-wipe/
62
+ (BottomPushStackWipe.tsx)
63
+ 原片出处:slack-promo 22–27s
@@ -1,57 +1,57 @@
1
- ---
2
- name: card-flip-reveal
3
- 一句话: 功能卡 3D 翻面揭示——卡片沿 Y 轴翻 180°,正面 UI 翻到侧棱最薄处掠过一道随角度移动的受光,背面揭出大号结论数字,逐张错峰扫过整排
4
- 适用: "功能→成果"的成对叙事:一排功能卡逐张翻出各自的指标/结论;元素级转场卡
5
- 时长: 全程 150f(~5s,含 hold);单卡 4f 预备 + 16f 翻 + ~10f 弹簧落定,三卡错峰 12f
6
- 能量: 中高
7
- 标签: data
8
- ---
9
-
10
- ## 意图
11
- 库内"翻"字辈已有 wipe-transitions 百叶窗(叶片逐条翻面,讲换页)。
12
- 本卡是**语义翻面**:一张卡的正反两面是一对因果——正面是功能界面,
13
- 背面是它带来的数字结论。翻面动作本身
14
- 就是"所以呢?"的回答,Apple bento 段落的标准语法。逐张错峰 10f 扫过
15
- 一排,三张卡三个数字节奏读作"成果连报"。
16
-
17
- ## 动效核心
18
- - perspective 1600px + transformStyle preserve-3d;双面各自
19
- backfaceVisibility hidden,背面预转 rotateY(180°)
20
- - 翻转三段:4f 预备(反向后仰 −10°,ease-out)→ 16f
21
- bezier(0.55,0,0.3,1) 加速翻到 194°(14° 过冲)→ 物理弹簧
22
- (damping 15)回落 180°;翻转中 translateZ 抬起 60px(sin 包络)
23
- - **受光**:面按偏离正面的角度着色(`(1−|cos θ|)` 压暗,暗面 0.55 /
24
- 亮面 0.4);侧棱 56°→124° 区间一道窄受光带随角度从卡左扫到右,
25
- 强度三角包络在 90°(最薄瞬间)达峰——高光与角度联动才读作"光扫过
26
- 转动的面",它是物理光照,不是额外的 glint 特效
27
- - **正反反相**:demo 正面是暗色功能卡(graphite 暗场),背面是瓷白
28
- 结论卡——翻面 = 从暗到亮,三张翻完画面从一排暗卡变成一排白色数字
29
- 海报;背面 158px 数字落定时 1.08→1 收拢,结论标签晚 4f 升起,上方
30
- 「之前 / 用上之后」对照条在落定后收短
31
- - 空间:卡片立在暗色镜面地板上,每张卡有一份同步翻转的竖直镜像倒影
32
- (遮罩渐隐 26%、opacity 0.22),接地影宽度跟投影宽度 |cos θ| 收放
33
- - 错峰 delay 12f/卡;全部翻完真静止 ≥40f(demo 72f 后 hold 78f),
34
- 相机全程 1→1.03 极缓推近
35
-
36
- ## 参数表
37
- | 参数 | 典型值 | 调节手感 |
38
- |------|--------|----------|
39
- | 翻转时长 | 4f 预备 + 16f 翻 + ~10f 弹簧 | <14f 看不到侧棱瞬间;>28f 读作慢慢转;砍掉预备读作被弹开而不是"翻" |
40
- | 过冲 | 194°→180°(14°),spring damping 15 | 无过冲落定读作生硬停表;damping <12 回弹两次读作果冻 |
41
- | 受光 | 面压暗 ≤0.55 + 侧棱窄带峰值 @90° | 峰值错开 90° 读作贴图错误;只有扫光没有面压暗读作贴了一道白条 |
42
- | 错峰 | 12f/卡,≤4 卡 | 同时翻读作整墙翻面,"成果连报"的逐张节奏就没了 |
43
- | 背面内容 | 大号数字(150–170px 级)+ 一行标签 + 至多一组对照条 | 背面塞完整 UI 读不完——翻面后只有一拍注意力;数字超 160px 时 "−41%" 这类宽字会顶出卡边 |
44
- | 收尾 | 末卡落定真静止 ≥40f | R1 |
45
-
46
- ## 已知坑
47
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
48
- 首次实战须以真实素材回验
49
- - 正反两面必须语义成对(界面→它的成果);翻出无关内容,翻面就
50
- 只是花哨的换图
51
- - 真实素材正面用截图时注意 backface 渲染开销,三卡以上分 Sequence
52
- - 声音候选位:每卡翻停帧一声轻"啪"(sound-design §4.5),三连啪
53
- 节奏感翻倍
54
-
55
- ## 参考实现
56
- demos/transition/card-flip-reveal/
57
- (CardFlipReveal.tsx)
1
+ ---
2
+ name: card-flip-reveal
3
+ 一句话: 功能卡 3D 翻面揭示——卡片沿 Y 轴翻 180°,正面 UI 翻到侧棱最薄处掠过一道随角度移动的受光,背面揭出大号结论数字,逐张错峰扫过整排
4
+ 适用: "功能→成果"的成对叙事:一排功能卡逐张翻出各自的指标/结论;元素级转场卡
5
+ 时长: 全程 150f(~5s,含 hold);单卡 4f 预备 + 16f 翻 + ~10f 弹簧落定,三卡错峰 12f
6
+ 能量: 中高
7
+ 标签: data
8
+ ---
9
+
10
+ ## 意图
11
+ 库内"翻"字辈已有 wipe-transitions 百叶窗(叶片逐条翻面,讲换页)。
12
+ 本卡是**语义翻面**:一张卡的正反两面是一对因果——正面是功能界面,
13
+ 背面是它带来的数字结论。翻面动作本身
14
+ 就是"所以呢?"的回答,Apple bento 段落的标准语法。逐张错峰 10f 扫过
15
+ 一排,三张卡三个数字节奏读作"成果连报"。
16
+
17
+ ## 动效核心
18
+ - perspective 1600px + transformStyle preserve-3d;双面各自
19
+ backfaceVisibility hidden,背面预转 rotateY(180°)
20
+ - 翻转三段:4f 预备(反向后仰 −10°,ease-out)→ 16f
21
+ bezier(0.55,0,0.3,1) 加速翻到 194°(14° 过冲)→ 物理弹簧
22
+ (damping 15)回落 180°;翻转中 translateZ 抬起 60px(sin 包络)
23
+ - **受光**:面按偏离正面的角度着色(`(1−|cos θ|)` 压暗,暗面 0.55 /
24
+ 亮面 0.4);侧棱 56°→124° 区间一道窄受光带随角度从卡左扫到右,
25
+ 强度三角包络在 90°(最薄瞬间)达峰——高光与角度联动才读作"光扫过
26
+ 转动的面",它是物理光照,不是额外的 glint 特效
27
+ - **正反反相**:demo 正面是暗色功能卡(graphite 暗场),背面是瓷白
28
+ 结论卡——翻面 = 从暗到亮,三张翻完画面从一排暗卡变成一排白色数字
29
+ 海报;背面 158px 数字落定时 1.08→1 收拢,结论标签晚 4f 升起,上方
30
+ 「之前 / 用上之后」对照条在落定后收短
31
+ - 空间:卡片立在暗色镜面地板上,每张卡有一份同步翻转的竖直镜像倒影
32
+ (遮罩渐隐 26%、opacity 0.22),接地影宽度跟投影宽度 |cos θ| 收放
33
+ - 错峰 delay 12f/卡;全部翻完真静止 ≥40f(demo 72f 后 hold 78f),
34
+ 相机全程 1→1.03 极缓推近
35
+
36
+ ## 参数表
37
+ | 参数 | 典型值 | 调节手感 |
38
+ |------|--------|----------|
39
+ | 翻转时长 | 4f 预备 + 16f 翻 + ~10f 弹簧 | <14f 看不到侧棱瞬间;>28f 读作慢慢转;砍掉预备读作被弹开而不是"翻" |
40
+ | 过冲 | 194°→180°(14°),spring damping 15 | 无过冲落定读作生硬停表;damping <12 回弹两次读作果冻 |
41
+ | 受光 | 面压暗 ≤0.55 + 侧棱窄带峰值 @90° | 峰值错开 90° 读作贴图错误;只有扫光没有面压暗读作贴了一道白条 |
42
+ | 错峰 | 12f/卡,≤4 卡 | 同时翻读作整墙翻面,"成果连报"的逐张节奏就没了 |
43
+ | 背面内容 | 大号数字(150–170px 级)+ 一行标签 + 至多一组对照条 | 背面塞完整 UI 读不完——翻面后只有一拍注意力;数字超 160px 时 "−41%" 这类宽字会顶出卡边 |
44
+ | 收尾 | 末卡落定真静止 ≥40f | R1 |
45
+
46
+ ## 已知坑
47
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
48
+ 首次实战须以真实素材回验
49
+ - 正反两面必须语义成对(界面→它的成果);翻出无关内容,翻面就
50
+ 只是花哨的换图
51
+ - 真实素材正面用截图时注意 backface 渲染开销,三卡以上分 Sequence
52
+ - 声音候选位:每卡翻停帧一声轻"啪"(sound-design §4.5),三连啪
53
+ 节奏感翻倍
54
+
55
+ ## 参考实现
56
+ demos/transition/card-flip-reveal/
57
+ (CardFlipReveal.tsx)
@@ -1,63 +1,63 @@
1
- ---
2
- name: card-flock-tumble
3
- 一句话: 三张 UI 页卡从侧棱薄边 3D 翻飞成阶梯站定(全程清晰、样条连续丝滑),站定后保持慢转不停,快速收束吸入中心,炸出单个湍流烟雾环扩散,巨字横贯收场
4
- 适用: 能量高潮段(功能页群→品牌口号的爆点转场);霓虹/极光暗场调性;"多页面能力"收束成一句话的段落
5
- 时长: 翻飞 ~1.5s + 慢转展示 ~0.3s + 收束 0.3s + 烟环+巨字 ~2s;全段 4.5s
6
- 能量: 极高(全片能量顶点用)
7
- ---
8
-
9
- ## 意图
10
- 三张页卡像被甩出的扑克在 3D 空间翻飞列队,站定亮相后被瞬间
11
- 吸入中心,炸出一圈烟雾环,品牌巨字穿环而出——"能力展示→能量
12
- 坍缩→口号爆发"一气呵成。命门有三:**丝滑**(侧棱→翻飞→站定
13
- 一条 Catmull-Rom 样条导数连续,分段插值的顿挫会被读出来)、
14
- **不许停**(站定后保持低角速度慢转到收束,静止段被裁"不要停住,
15
- 保持旋转"——高潮段没有静帧)、**全程清晰**(motion blur/景深糊
16
- 全删,被裁"不要加模糊效果")。
17
-
18
- ## 动效核心
19
- - 翻飞:三卡各自 k0(近 90° 侧棱薄边)→k1(翻飞中段)→k2(阶梯
20
- 站定)Catmull-Rom 样条,Easing.out(cubic) 驱动,~44f
21
- - 站定慢转:idle 漂移 ry +0.34°/f、rx -0.1°/f、rz +0.05°/f(14f
22
- 平方缓入避免与样条衔接顿挫),到收束时刻不停
23
- - 收束:10f Easing.in(quad) 从慢转姿态直接加速吸入中心缩小,
24
- 透明度前 60% 满格("吸入"运动要清晰可读)
25
- - 闪核:吸入到点同一帧(70f)中心一团白热核 + 全屏 12% 微曝,6f
26
- 指数衰减,环从闪核里长出——补上收束与巨字之间的能量断档;只用
27
- 径向光,不画几何描边环、不加粒子(两者都在判例里被裁过)
28
- - 烟雾环:**单个**(多圈被裁),feTurbulence 三组位移(絮边/亮斑/
29
- 暗斑)+ 顶部奶桃 → 粉 → 紫渐变(aurora 色带),screen 叠加——破碎絮边、
30
- 明暗斑块、减速外扩缓慢长大、衰减极慢驻留,中心无水面光;粒子零残留
31
- - 巨字:收束后 4f(74f)就"砸"进来——14f snappy 从 1.22 缩到 1、字距
32
- 由 +0.06em 收到 −0.025em,之后极缓长大不停;实心白热芯→淡紫竖向
33
- 渐变填充 + 粉紫双层泛光(落地瞬间更亮再回落),282px 斜体横贯约 80%
34
- 画宽;环心内上方眉题(demo:video-shotcraft 标志描出 + 小写字标)、
35
- 下方 44px 标语(品牌短句)错峰升起,尾帧是发布海报
36
- - 背景:两行 300px 单色淡紫描边字墙反向缓移 + 卡后一团极光主光托起
37
- 卡片群;收束时字墙随吸入向心收缩淡出。卡片群与收束点、环心、巨字
38
- 共用一个中心(画面中心下移 30px)
39
-
40
- ## 参数表
41
- | 参数 | 典型值 | 调节手感 |
42
- |------|--------|----------|
43
- | 三卡间距/大小 | 大幅重叠成一叠阶梯、scale 1.6–1.74 | 两轮加码判例:"再靠近一些,再大些"——阶梯要读作一组不是三张 |
44
- | 站定慢转 | ry ~0.34°/f 连续 | **不许静止**(判例);>1°/f 读作还没站定 |
45
- | 收束时长 | 10f ease-in | 22f 版被裁"要快";透明度早退=吸入不可读(返工判例) |
46
- | 烟雾环 | 单圈、湍流絮边、衰减极慢 | 多圈被裁;平滑霓虹圈/粒子版被裁——对照原片密帧做湍流质感 |
47
- | 模糊 | 全程零 blur | 翻飞/收束加 blur 均被裁 |
48
- | 样条 | 一条 Catmull-Rom 贯穿 | 分段 lerp 有速度台阶,"丝滑流畅"是裁决原话 |
49
- | 巨字入场 | 收束到点后 4f、14f snappy 1.22→1 + 字距收拢 | 原版等 14f 才出字,中间一段只有小环的黑场,高潮断气;慢放大(0.7→1 / 34f)读作淡入而不是砸 |
50
- | 闪核 | 径向白热核 + 全屏 12% 微曝,6f 衰减 | 去掉后环像凭空冒出;加描边亮环立刻廉价(判例同烟雾环) |
51
-
52
- ## 已知坑
53
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
54
- 首次实战须以真实素材回验
55
- - 烟雾环质感判例:干净图形环(描边圆/同心波)三轮被裁,最终版
56
- feTurbulence 湍流絮边对照原片密帧逐格校——"要一样";残余差距
57
- 是噪声场静态(整体旋转+长大),无逐帧湍流滚动,极近看流动感弱
58
- - 烟雾环是能量坍缩的余波,不是庆祝打击点——禁加粒子礼花
59
-
60
- ## 参考实现
61
- demos/transition/card-flock-tumble/
62
- (CardFlockTumble.tsx)
63
- 原片出处:clickup-30.mp4
1
+ ---
2
+ name: card-flock-tumble
3
+ 一句话: 三张 UI 页卡从侧棱薄边 3D 翻飞成阶梯站定(全程清晰、样条连续丝滑),站定后保持慢转不停,快速收束吸入中心,炸出单个湍流烟雾环扩散,巨字横贯收场
4
+ 适用: 能量高潮段(功能页群→品牌口号的爆点转场);霓虹/极光暗场调性;"多页面能力"收束成一句话的段落
5
+ 时长: 翻飞 ~1.5s + 慢转展示 ~0.3s + 收束 0.3s + 烟环+巨字 ~2s;全段 4.5s
6
+ 能量: 极高(全片能量顶点用)
7
+ ---
8
+
9
+ ## 意图
10
+ 三张页卡像被甩出的扑克在 3D 空间翻飞列队,站定亮相后被瞬间
11
+ 吸入中心,炸出一圈烟雾环,品牌巨字穿环而出——"能力展示→能量
12
+ 坍缩→口号爆发"一气呵成。命门有三:**丝滑**(侧棱→翻飞→站定
13
+ 一条 Catmull-Rom 样条导数连续,分段插值的顿挫会被读出来)、
14
+ **不许停**(站定后保持低角速度慢转到收束,静止段被裁"不要停住,
15
+ 保持旋转"——高潮段没有静帧)、**全程清晰**(motion blur/景深糊
16
+ 全删,被裁"不要加模糊效果")。
17
+
18
+ ## 动效核心
19
+ - 翻飞:三卡各自 k0(近 90° 侧棱薄边)→k1(翻飞中段)→k2(阶梯
20
+ 站定)Catmull-Rom 样条,Easing.out(cubic) 驱动,~44f
21
+ - 站定慢转:idle 漂移 ry +0.34°/f、rx -0.1°/f、rz +0.05°/f(14f
22
+ 平方缓入避免与样条衔接顿挫),到收束时刻不停
23
+ - 收束:10f Easing.in(quad) 从慢转姿态直接加速吸入中心缩小,
24
+ 透明度前 60% 满格("吸入"运动要清晰可读)
25
+ - 闪核:吸入到点同一帧(70f)中心一团白热核 + 全屏 12% 微曝,6f
26
+ 指数衰减,环从闪核里长出——补上收束与巨字之间的能量断档;只用
27
+ 径向光,不画几何描边环、不加粒子(两者都在判例里被裁过)
28
+ - 烟雾环:**单个**(多圈被裁),feTurbulence 三组位移(絮边/亮斑/
29
+ 暗斑)+ 顶部奶桃 → 粉 → 紫渐变(aurora 色带),screen 叠加——破碎絮边、
30
+ 明暗斑块、减速外扩缓慢长大、衰减极慢驻留,中心无水面光;粒子零残留
31
+ - 巨字:收束后 4f(74f)就"砸"进来——14f snappy 从 1.22 缩到 1、字距
32
+ 由 +0.06em 收到 −0.025em,之后极缓长大不停;实心白热芯→淡紫竖向
33
+ 渐变填充 + 粉紫双层泛光(落地瞬间更亮再回落),282px 斜体横贯约 80%
34
+ 画宽;环心内上方眉题(demo:video-shotcraft 标志描出 + 小写字标)、
35
+ 下方 44px 标语(品牌短句)错峰升起,尾帧是发布海报
36
+ - 背景:两行 300px 单色淡紫描边字墙反向缓移 + 卡后一团极光主光托起
37
+ 卡片群;收束时字墙随吸入向心收缩淡出。卡片群与收束点、环心、巨字
38
+ 共用一个中心(画面中心下移 30px)
39
+
40
+ ## 参数表
41
+ | 参数 | 典型值 | 调节手感 |
42
+ |------|--------|----------|
43
+ | 三卡间距/大小 | 大幅重叠成一叠阶梯、scale 1.6–1.74 | 两轮加码判例:"再靠近一些,再大些"——阶梯要读作一组不是三张 |
44
+ | 站定慢转 | ry ~0.34°/f 连续 | **不许静止**(判例);>1°/f 读作还没站定 |
45
+ | 收束时长 | 10f ease-in | 22f 版被裁"要快";透明度早退=吸入不可读(返工判例) |
46
+ | 烟雾环 | 单圈、湍流絮边、衰减极慢 | 多圈被裁;平滑霓虹圈/粒子版被裁——对照原片密帧做湍流质感 |
47
+ | 模糊 | 全程零 blur | 翻飞/收束加 blur 均被裁 |
48
+ | 样条 | 一条 Catmull-Rom 贯穿 | 分段 lerp 有速度台阶,"丝滑流畅"是裁决原话 |
49
+ | 巨字入场 | 收束到点后 4f、14f snappy 1.22→1 + 字距收拢 | 原版等 14f 才出字,中间一段只有小环的黑场,高潮断气;慢放大(0.7→1 / 34f)读作淡入而不是砸 |
50
+ | 闪核 | 径向白热核 + 全屏 12% 微曝,6f 衰减 | 去掉后环像凭空冒出;加描边亮环立刻廉价(判例同烟雾环) |
51
+
52
+ ## 已知坑
53
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
54
+ 首次实战须以真实素材回验
55
+ - 烟雾环质感判例:干净图形环(描边圆/同心波)三轮被裁,最终版
56
+ feTurbulence 湍流絮边对照原片密帧逐格校——"要一样";残余差距
57
+ 是噪声场静态(整体旋转+长大),无逐帧湍流滚动,极近看流动感弱
58
+ - 烟雾环是能量坍缩的余波,不是庆祝打击点——禁加粒子礼花
59
+
60
+ ## 参考实现
61
+ demos/transition/card-flock-tumble/
62
+ (CardFlockTumble.tsx)
63
+ 原片出处:clickup-30.mp4
@@ -1,58 +1,58 @@
1
- ---
2
- name: circle-match-iris
3
- 一句话: 圆心匹配光圈切——光圈从页面上圆形元素的圆心炸开,圈内新页的圆形图表接在同一个圆上;匹配剪辑给光圈一个语义锚点
4
- 适用: 前景有圆形元素(头像/图标/圆钮)、后景有圆形主体(donut 图/圆环进度)的接缝;转场技法卡
5
- 时长: 5.5s / 165f(入场+定睛 40f + 蓄力 7f + 接圆开圈 37f + sweep 58f + 静止 47f)
6
- 能量: 中高
7
- ---
8
-
9
- ## 意图
10
- 普通 iris 光圈(词汇表原条目)从任意点开圈,观众只读到"换页了"。
11
- 本卡把它和 match-cut 焊死:光圈必须从前景一个**真实圆形元素**的圆心
12
- 炸开,圈内长出的新页里有个圆形图表恰好接在同一个圆上——观众看到的
13
- 是"头像的圆变成了图表的圆",圆形本身完成叙事(这个人→这个人的数据)。
14
- 这是 match-cut 在 UI 语境里的落地形态:不靠构图巧合,靠语义圆对圆。
15
- 与穿越三式同属"后景在前景里预先在场",但锚点是抽象形状而非容器。
16
-
17
- ## 动效核心
18
- - **两景的圆严格同心是命门**:锚点圆心写死为一组常量(demo:CX=540,
19
- CY=540,= 榜单行左缘 + 内边距 + 名次列 + 头像半径),头像、涟漪、
20
- clip-path circle、新景圆环、刻度盘全部引用同一组常量——坐标各算各的必然错心
21
- - 定睛引导:其余行压到 ~32% 亮度、锚点所在行抬亮;头像两次放大脉冲 +
22
- 两道扩散光环(18f / 30f);相机以锚点为 transform-origin 缓推 3%
23
- (锚点在屏幕上不动),40–47f 头像收到 0.9 做预备
24
- - **接圆 = 实心圆镂空成圆环**:开圈瞬间新景圆环的描边宽 = 直径(看上去
25
- 就是那颗实心头像),28f 内半径 36→300、描边收到 44px(expo-out),
26
- 颜色由荧光实心退成暗轨;光圈半径 = 圆环外沿 + 一段 ease-in 加速外扩
27
- (54–84f 加 2400px),所以是"圆环把光圈撑开"——接圆必然发生在吃满屏之前
28
- - 旧页同时以锚点为心放大 1.03→1.22 并压暗(ease-in),光圈外沿一圈落影 +
29
- 一道只在开圈初段出现的荧光受光环——新景"压"在旧页之上
30
- - 圆环 sweep:strokeDasharray = sweep×周长,rotate(-90) 从顶部起笔,
31
- 60–118f 慢起长尾到 87%,中央 200px 数字随 sweep 同步计数,弧头柔光跟笔尖
32
-
33
- ## 参数表
34
- | 参数 | 典型值 | 调节手感 |
35
- |------|--------|----------|
36
- | 锚点脉冲 | 2 次 scale 1→1.16 + 光环扩两道(18f / 30f 起,各 22f) | 没有定睛引导,开圈瞬间观众找不到圆心 |
37
- | 接圆 | 实心盘→圆环:r 36→300、描边 72→44px / 28f expo-out | 圆环与光圈各长各的,"头像变成图表"就读不出来 |
38
- | 光圈扩张 | 圆环外沿 + 0→2400px / 30f bezier(.62,0,.32,1) | 快于 20f 接圆读不到;圆心偏移 >10px 一眼穿帮 |
39
- | 旧页推远 | scale 1.03→1.22 + 亮度 1→0.45 / 34f ease-in | 旧页不动,新景像贴在上面的圆形贴纸 |
40
- | sweep | 60–118f 到 87%,bezier(.4,0,.12,1),数字同步计数 | 数字与 sweep 异步读作两个动画;太快(<40f)数字读不出在爬 |
41
- | 收尾 | sweep 完成后静止 47f(只留刻度盘 0.06°/f 慢转 + 弧光呼吸) | R1 |
42
-
43
- ## 已知坑
44
- - demo 是手搓的 video-shotcraft 出片周榜(暗场荧光绿;景 A 创作者排行 → 景 B 本周出片目标圆环)——参数是调校起点非实战定稿,
45
- 首次实战须以真实素材回验
46
- - 真实素材上锚点坐标从截图量测(devtools/标尺),量到的是元素盒不是
47
- 视觉圆心——带内边距的头像取内容圆心;量完渲一帧对不齐就调常量,
48
- 别信第一次量的数(同 transition-travel A 字腔穿越的腔心判例)
49
- - 前景锚点必须是**真圆**:圆角方块(border-radius < 50%)当锚点,
50
- 开圈瞬间方圆错型一眼假;真实截图里锚点是圆角方块时,先用同色补丁盖住再叠真圆
51
- - 语义要成对:头像→个人数据、产品图标→产品指标——圆对圆只是形,
52
- "这个圆的内容变成它的展开"才是匹配剪辑成立的因
53
- - 一缝一式规矩同 shot-transitions;本卡自带图表生长段,圈内新景
54
- 别再叠入场动效
55
-
56
- ## 参考实现
57
- demos/transition/circle-match-iris/
58
- (CircleMatchIris.tsx)
1
+ ---
2
+ name: circle-match-iris
3
+ 一句话: 圆心匹配光圈切——光圈从页面上圆形元素的圆心炸开,圈内新页的圆形图表接在同一个圆上;匹配剪辑给光圈一个语义锚点
4
+ 适用: 前景有圆形元素(头像/图标/圆钮)、后景有圆形主体(donut 图/圆环进度)的接缝;转场技法卡
5
+ 时长: 5.5s / 165f(入场+定睛 40f + 蓄力 7f + 接圆开圈 37f + sweep 58f + 静止 47f)
6
+ 能量: 中高
7
+ ---
8
+
9
+ ## 意图
10
+ 普通 iris 光圈(词汇表原条目)从任意点开圈,观众只读到"换页了"。
11
+ 本卡把它和 match-cut 焊死:光圈必须从前景一个**真实圆形元素**的圆心
12
+ 炸开,圈内长出的新页里有个圆形图表恰好接在同一个圆上——观众看到的
13
+ 是"头像的圆变成了图表的圆",圆形本身完成叙事(这个人→这个人的数据)。
14
+ 这是 match-cut 在 UI 语境里的落地形态:不靠构图巧合,靠语义圆对圆。
15
+ 与穿越三式同属"后景在前景里预先在场",但锚点是抽象形状而非容器。
16
+
17
+ ## 动效核心
18
+ - **两景的圆严格同心是命门**:锚点圆心写死为一组常量(demo:CX=540,
19
+ CY=540,= 榜单行左缘 + 内边距 + 名次列 + 头像半径),头像、涟漪、
20
+ clip-path circle、新景圆环、刻度盘全部引用同一组常量——坐标各算各的必然错心
21
+ - 定睛引导:其余行压到 ~32% 亮度、锚点所在行抬亮;头像两次放大脉冲 +
22
+ 两道扩散光环(18f / 30f);相机以锚点为 transform-origin 缓推 3%
23
+ (锚点在屏幕上不动),40–47f 头像收到 0.9 做预备
24
+ - **接圆 = 实心圆镂空成圆环**:开圈瞬间新景圆环的描边宽 = 直径(看上去
25
+ 就是那颗实心头像),28f 内半径 36→300、描边收到 44px(expo-out),
26
+ 颜色由荧光实心退成暗轨;光圈半径 = 圆环外沿 + 一段 ease-in 加速外扩
27
+ (54–84f 加 2400px),所以是"圆环把光圈撑开"——接圆必然发生在吃满屏之前
28
+ - 旧页同时以锚点为心放大 1.03→1.22 并压暗(ease-in),光圈外沿一圈落影 +
29
+ 一道只在开圈初段出现的荧光受光环——新景"压"在旧页之上
30
+ - 圆环 sweep:strokeDasharray = sweep×周长,rotate(-90) 从顶部起笔,
31
+ 60–118f 慢起长尾到 87%,中央 200px 数字随 sweep 同步计数,弧头柔光跟笔尖
32
+
33
+ ## 参数表
34
+ | 参数 | 典型值 | 调节手感 |
35
+ |------|--------|----------|
36
+ | 锚点脉冲 | 2 次 scale 1→1.16 + 光环扩两道(18f / 30f 起,各 22f) | 没有定睛引导,开圈瞬间观众找不到圆心 |
37
+ | 接圆 | 实心盘→圆环:r 36→300、描边 72→44px / 28f expo-out | 圆环与光圈各长各的,"头像变成图表"就读不出来 |
38
+ | 光圈扩张 | 圆环外沿 + 0→2400px / 30f bezier(.62,0,.32,1) | 快于 20f 接圆读不到;圆心偏移 >10px 一眼穿帮 |
39
+ | 旧页推远 | scale 1.03→1.22 + 亮度 1→0.45 / 34f ease-in | 旧页不动,新景像贴在上面的圆形贴纸 |
40
+ | sweep | 60–118f 到 87%,bezier(.4,0,.12,1),数字同步计数 | 数字与 sweep 异步读作两个动画;太快(<40f)数字读不出在爬 |
41
+ | 收尾 | sweep 完成后静止 47f(只留刻度盘 0.06°/f 慢转 + 弧光呼吸) | R1 |
42
+
43
+ ## 已知坑
44
+ - demo 是手搓的 video-shotcraft 出片周榜(暗场荧光绿;景 A 创作者排行 → 景 B 本周出片目标圆环)——参数是调校起点非实战定稿,
45
+ 首次实战须以真实素材回验
46
+ - 真实素材上锚点坐标从截图量测(devtools/标尺),量到的是元素盒不是
47
+ 视觉圆心——带内边距的头像取内容圆心;量完渲一帧对不齐就调常量,
48
+ 别信第一次量的数(同 transition-travel A 字腔穿越的腔心判例)
49
+ - 前景锚点必须是**真圆**:圆角方块(border-radius < 50%)当锚点,
50
+ 开圈瞬间方圆错型一眼假;真实截图里锚点是圆角方块时,先用同色补丁盖住再叠真圆
51
+ - 语义要成对:头像→个人数据、产品图标→产品指标——圆对圆只是形,
52
+ "这个圆的内容变成它的展开"才是匹配剪辑成立的因
53
+ - 一缝一式规矩同 shot-transitions;本卡自带图表生长段,圈内新景
54
+ 别再叠入场动效
55
+
56
+ ## 参考实现
57
+ demos/transition/circle-match-iris/
58
+ (CircleMatchIris.tsx)