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,66 +1,66 @@
1
- ---
2
- name: beat-step-list-theme-cycle
3
- 一句话: 三通道节拍器——深色场形容词列表逐拍上移一行,视口中央固定胶囊"接住"下一个词并换色,整场底色同拍跟换;行、色、场三通道锁死同一拍点
4
- 适用: "同一产品多种气质/多主题展示"段落(modern/playful/expressive 式形容词连打);全片节奏最密的一段;音乐段对拍
5
- 时长: 铺垫 30f + 每拍 18f × 拍数 + 收尾 hold;4 拍约 4.7s(demo 140f)
6
- 能量: 高(0.6s 一拍三通道齐跳,密度型高能)
7
- 标签: typography
8
- ---
9
-
10
- ## 意图
11
- 换一次主题色是功能演示;0.6 秒换一次、连换三次、每次"选中行+胶囊色
12
- +全场底色"三件事同帧齐跳——就成了节拍器。用最便宜的变量切换做出
13
- 全片最高的节奏密度。命门有二:一是**三通道必须锁同一拍点**,任何
14
- 一通道慢半拍,"齐跳"退化成三个各自为政的动画;二是**跳与滑的分界**
15
- ——跳变只占拍头 6f,其余 12f 完全静置,拍点要"跳"不要"滑",
16
- 匀速滚动的列表就只是列表。
17
-
18
- ## 动效核心
19
- - 胶囊固定在视口中央行**不动**,列表 translateY 逐拍步进——视觉上
20
- 读作"胶囊跳到下一行接住新词",实际动的是世界不是胶囊
21
- - 拍长 18f(0.6s @30fps ≈ 100BPM),跳变窗仅拍头 6f:
22
- `snap(t) = 1-(1-x)^3.2`(陡 ease-out),其余帧静置
23
- - 三通道同源驱动:同一个 tInBeat 同时喂列表位移、胶囊/底色
24
- rgb 逐通道 cross-mix、胶囊 squash——一个时钟,不许各挂各的曲线
25
- - 主题表逐拍换对(demo「Make it modern → playful → expressive → BOLD → yours.」:
26
- 骨白/深浓缩→橘/深梅→鸢尾紫/深靛→薄荷/深青→向日葵黄/深海军蓝),胶囊色与
27
- 底色是配好的深浅对,不是独立随机色;每个主题还带一套选中词字体(无衬线 / 圆体 /
28
- 衬线斜体 / 全大写 Futura),同拍换——换肤读作"多种气质"而不只是换色
29
- - 胶囊 = 透镜:胶囊外是统一暗白列表,胶囊里是同一列表的裁切副本(深色字 + 主题字体),
30
- 词越过胶囊边缘那一刻才换色换体;胶囊宽度 = 选中词实测字宽 + 边距,跟同一个 tInBeat 插值
31
- - 胶囊落位 squash:竖向 1.14→0.96→1、横向反相 0.97→1.01→1,随拍头 6f 走完;接住瞬间
32
- 胶囊提亮 + 同色辉光涨一下(指数 ~3f 收回)
33
- - 非选中词按离视口中心的行距衰减(相邻行 42% 白、每远一行 −15%,字号微缩、远行虚化);
34
- 上下底色渐变羽化收视口——羽化色必须跟 bgColor 实时同步,写死颜色换场时穿帮
35
- - 元素层回声(可选):角落主题计数 03/05、色票行挂同一个整数拍换态,不加任何整画面冲击
36
- - 开拍前 30f 静置铺垫——先让观众看清"这是个列表",再开始打拍
37
-
38
- ## 参数表
39
- | 参数 | 典型值 | 调节手感 |
40
- |------|--------|----------|
41
- | 拍长 | 18f(BEAT_LEN,改它即改 BPM 对音轨) | <12f 观众来不及读词只见闪色;>26f 拍感散成逐个展示 |
42
- | 跳变窗 | 拍头 6f,ease-out 指数 3.2 | 窗 >10f 或缓曲线,"跳"变"滑",节拍器塌成滚动列表 |
43
- | 拍数 | 3–4 拍 | 5+ 拍观众适应了节奏开始走神;1–2 拍立不起"节拍器"人设 |
44
- | squash | 竖 1.14→0.96→1 / 横反相 0.97→1.01→1 | 去掉它胶囊像贴图换色;>1.2 弹跳抢了换色的戏 |
45
- | 底色跨度 | 相邻主题底色须同明度不同色相(都深色) | 明度跳变(深→浅)会读作闪屏而非换肤 |
46
- | 铺垫/收尾 | 前 30f 静置;末拍后 hold ≥30f | 没铺垫第一拍读作 bug;末拍即切没有"停在最终色"的确认 |
47
-
48
- ## 已知坑
49
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
50
- 首次实战须以真实素材回验
51
- - 与 theme-switch-moves 分工:那卡是单次换肤的仪式(扫场/涟漪,换一次
52
- 讲一次故事),本卡是连续多次换肤当节拍用——讲"深色模式功能"用那卡,
53
- 讲"多气质/多主题体量"用本卡
54
- - **声音强依赖**:拍点对齐鼓点(换 BEAT_LEN 对 BPM),无声版三通道
55
- 齐跳读作界面抽风
56
- - 词表长度 ≥ 拍数+2——列表底部要留未选中的词垫着,最后一拍就停在
57
- 列表末行会露出"下面没了"
58
- - 选中态别用"整数拍判定反白":跳变 6f 里新词还在胶囊下方就先变黑,读作穿帮。
59
- demo 用胶囊透镜(裁切副本)——字色 / 字体由几何边界决定,颜色仍跟 tInBeat 小数走
60
- - 胶囊宽度按选中词实测字宽写死(换字体 / 字号要重量),否则字贴边或胶囊半空
61
- - 主题字体用系统栈:Chrome 不认 `ui-rounded`,圆体走 Arial Rounded MT Bold,缺字体回落无衬线
62
-
63
- ## 参考实现
64
- demos/rhythm/beat-step-list-theme-cycle/
65
- (BeatStepListThemeCycle.tsx)
66
- 原片出处:bear-app 22.3–24.6s
1
+ ---
2
+ name: beat-step-list-theme-cycle
3
+ 一句话: 三通道节拍器——深色场形容词列表逐拍上移一行,视口中央固定胶囊"接住"下一个词并换色,整场底色同拍跟换;行、色、场三通道锁死同一拍点
4
+ 适用: "同一产品多种气质/多主题展示"段落(modern/playful/expressive 式形容词连打);全片节奏最密的一段;音乐段对拍
5
+ 时长: 铺垫 30f + 每拍 18f × 拍数 + 收尾 hold;4 拍约 4.7s(demo 140f)
6
+ 能量: 高(0.6s 一拍三通道齐跳,密度型高能)
7
+ 标签: typography
8
+ ---
9
+
10
+ ## 意图
11
+ 换一次主题色是功能演示;0.6 秒换一次、连换三次、每次"选中行+胶囊色
12
+ +全场底色"三件事同帧齐跳——就成了节拍器。用最便宜的变量切换做出
13
+ 全片最高的节奏密度。命门有二:一是**三通道必须锁同一拍点**,任何
14
+ 一通道慢半拍,"齐跳"退化成三个各自为政的动画;二是**跳与滑的分界**
15
+ ——跳变只占拍头 6f,其余 12f 完全静置,拍点要"跳"不要"滑",
16
+ 匀速滚动的列表就只是列表。
17
+
18
+ ## 动效核心
19
+ - 胶囊固定在视口中央行**不动**,列表 translateY 逐拍步进——视觉上
20
+ 读作"胶囊跳到下一行接住新词",实际动的是世界不是胶囊
21
+ - 拍长 18f(0.6s @30fps ≈ 100BPM),跳变窗仅拍头 6f:
22
+ `snap(t) = 1-(1-x)^3.2`(陡 ease-out),其余帧静置
23
+ - 三通道同源驱动:同一个 tInBeat 同时喂列表位移、胶囊/底色
24
+ rgb 逐通道 cross-mix、胶囊 squash——一个时钟,不许各挂各的曲线
25
+ - 主题表逐拍换对(demo「Make it modern → playful → expressive → BOLD → yours.」:
26
+ 骨白/深浓缩→橘/深梅→鸢尾紫/深靛→薄荷/深青→向日葵黄/深海军蓝),胶囊色与
27
+ 底色是配好的深浅对,不是独立随机色;每个主题还带一套选中词字体(无衬线 / 圆体 /
28
+ 衬线斜体 / 全大写 Futura),同拍换——换肤读作"多种气质"而不只是换色
29
+ - 胶囊 = 透镜:胶囊外是统一暗白列表,胶囊里是同一列表的裁切副本(深色字 + 主题字体),
30
+ 词越过胶囊边缘那一刻才换色换体;胶囊宽度 = 选中词实测字宽 + 边距,跟同一个 tInBeat 插值
31
+ - 胶囊落位 squash:竖向 1.14→0.96→1、横向反相 0.97→1.01→1,随拍头 6f 走完;接住瞬间
32
+ 胶囊提亮 + 同色辉光涨一下(指数 ~3f 收回)
33
+ - 非选中词按离视口中心的行距衰减(相邻行 42% 白、每远一行 −15%,字号微缩、远行虚化);
34
+ 上下底色渐变羽化收视口——羽化色必须跟 bgColor 实时同步,写死颜色换场时穿帮
35
+ - 元素层回声(可选):角落主题计数 03/05、色票行挂同一个整数拍换态,不加任何整画面冲击
36
+ - 开拍前 30f 静置铺垫——先让观众看清"这是个列表",再开始打拍
37
+
38
+ ## 参数表
39
+ | 参数 | 典型值 | 调节手感 |
40
+ |------|--------|----------|
41
+ | 拍长 | 18f(BEAT_LEN,改它即改 BPM 对音轨) | <12f 观众来不及读词只见闪色;>26f 拍感散成逐个展示 |
42
+ | 跳变窗 | 拍头 6f,ease-out 指数 3.2 | 窗 >10f 或缓曲线,"跳"变"滑",节拍器塌成滚动列表 |
43
+ | 拍数 | 3–4 拍 | 5+ 拍观众适应了节奏开始走神;1–2 拍立不起"节拍器"人设 |
44
+ | squash | 竖 1.14→0.96→1 / 横反相 0.97→1.01→1 | 去掉它胶囊像贴图换色;>1.2 弹跳抢了换色的戏 |
45
+ | 底色跨度 | 相邻主题底色须同明度不同色相(都深色) | 明度跳变(深→浅)会读作闪屏而非换肤 |
46
+ | 铺垫/收尾 | 前 30f 静置;末拍后 hold ≥30f | 没铺垫第一拍读作 bug;末拍即切没有"停在最终色"的确认 |
47
+
48
+ ## 已知坑
49
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
50
+ 首次实战须以真实素材回验
51
+ - 与 theme-switch-moves 分工:那卡是单次换肤的仪式(扫场/涟漪,换一次
52
+ 讲一次故事),本卡是连续多次换肤当节拍用——讲"深色模式功能"用那卡,
53
+ 讲"多气质/多主题体量"用本卡
54
+ - **声音强依赖**:拍点对齐鼓点(换 BEAT_LEN 对 BPM),无声版三通道
55
+ 齐跳读作界面抽风
56
+ - 词表长度 ≥ 拍数+2——列表底部要留未选中的词垫着,最后一拍就停在
57
+ 列表末行会露出"下面没了"
58
+ - 选中态别用"整数拍判定反白":跳变 6f 里新词还在胶囊下方就先变黑,读作穿帮。
59
+ demo 用胶囊透镜(裁切副本)——字色 / 字体由几何边界决定,颜色仍跟 tInBeat 小数走
60
+ - 胶囊宽度按选中词实测字宽写死(换字体 / 字号要重量),否则字贴边或胶囊半空
61
+ - 主题字体用系统栈:Chrome 不认 `ui-rounded`,圆体走 Arial Rounded MT Bold,缺字体回落无衬线
62
+
63
+ ## 参考实现
64
+ demos/rhythm/beat-step-list-theme-cycle/
65
+ (BeatStepListThemeCycle.tsx)
66
+ 原片出处:bear-app 22.3–24.6s
@@ -1,43 +1,43 @@
1
- ---
2
- name: panel-grid-moves
3
- 一句话: 分格节奏——comic-panel-split 漫画斜格劈出同一主体的三个机位,咔咔咔三格定格后末格斜边吃屏成海报
4
- 适用: 把"格子"当节奏器:同主体多机位定格并列,逐格踩拍劈出;吃拍点
5
- 时长: 156f ≈5.2s(全屏侧拍 20f + 三刀分格定格 + 吃屏 + 海报 hold)
6
- 能量: 中高
7
- 标签: ui-entrance
8
- ---
9
-
10
- ## 意图
11
- 与 wall-reveal-moves 的区别是本卡的定位锚:那是"整墙怎么入场"
12
- (一次性揭示),这是"格子怎么当节奏器"——分格发生在节拍上,格变即鼓点。
13
- A 是并:画面被三刀斜缝咔咔劈开,同一产品三种机位同时定格,
14
- 停一拍后末格斜边扫过吃掉全屏——Scott Pilgrim 的分屏语言。
15
- 适合单品多视角(demo:一支刻着 video-shotcraft 的定焦镜头,三格旁白框按
16
- 「Shot 01 / 02 / 03」编号,吃屏后落成「Craft the shot.」海报)。
17
-
18
- ## 选型
19
- | 式 | 做法 | 适用 |
20
- |----|------|------|
21
- | A comic-panel-split | 全屏 3/4 侧拍 20f → 三刀 12° 斜缝每 4f 一刀从上往下劈出,对应格硬切弹入(5f scale 1.07→1 + 白闪);三格 = 同一主体的全身 / 局部特写 / 微距;定格 29f 靠主体自身动作保活;末格 2f 反向回拉 + 14f 扫屏吃掉全屏成海报 | 同一主体多视角并列;漫画感段落 |
22
-
23
- ## 参数表
24
- | 参数 | 典型值 | 调节手感 |
25
- |------|--------|----------|
26
- | A 斜缝 | SVG 双线:墨边 + 奶油纸芯(总宽 18px),12° 斜角,每刀 3f 从上往下画出 | 斜缝纸芯是漫画感命门;直缝读作分屏工具 |
27
- | A 保活 | 定格期主体自己在动:对焦环转 26°、光圈叶片收拢、全身格极缓推近 | 三格全静读作截图拼贴;"镜头在工作"比缓推更有内容 |
28
- | A 旁白框 | 奶油底 + 4px 墨描边 + 7px 硬投影,-2° 歪斜盖章弹入,活在格子里随格被盖掉 | 漫画语言的第二个锚点;浮在格子上方会穿帮 |
29
- | 收尾 | 最后一行字揭示完后 ~50f 海报 hold(只留 1.5% 极缓推近) | R1;摘罩帧与吞屏终值逐像素对齐防跳变 |
30
-
31
- ## 已知坑
32
- - demo 在虚构内容(矢量镜头)上调校通过——参数是调校起点非实战定稿,
33
- 首次实战须以真实素材回验
34
- - 三格必须是**同一主体的不同机位**——三格塞不同内容读作 bento
35
- 排版不是漫画分格,语义就散了
36
- - 吃拍点、声音强依赖:逐格咔咔三声(sound-design §4.5);不踩拍的分格只是布局动画
37
- - 主体用 SVG 矢量画(或高分辨率素材):三格机位最高放大 2.45x,
38
- 位图截图放大会糊(Q2)
39
- - 同片分格系 ≤1 段——格子语言辨识度太强,两段就撞
40
-
41
- ## 参考实现
42
- demos/rhythm/panel-grid-moves/
43
- (ComicPanelSplit.tsx)
1
+ ---
2
+ name: panel-grid-moves
3
+ 一句话: 分格节奏——comic-panel-split 漫画斜格劈出同一主体的三个机位,咔咔咔三格定格后末格斜边吃屏成海报
4
+ 适用: 把"格子"当节奏器:同主体多机位定格并列,逐格踩拍劈出;吃拍点
5
+ 时长: 156f ≈5.2s(全屏侧拍 20f + 三刀分格定格 + 吃屏 + 海报 hold)
6
+ 能量: 中高
7
+ 标签: ui-entrance
8
+ ---
9
+
10
+ ## 意图
11
+ 与 wall-reveal-moves 的区别是本卡的定位锚:那是"整墙怎么入场"
12
+ (一次性揭示),这是"格子怎么当节奏器"——分格发生在节拍上,格变即鼓点。
13
+ A 是并:画面被三刀斜缝咔咔劈开,同一产品三种机位同时定格,
14
+ 停一拍后末格斜边扫过吃掉全屏——Scott Pilgrim 的分屏语言。
15
+ 适合单品多视角(demo:一支刻着 video-shotcraft 的定焦镜头,三格旁白框按
16
+ 「Shot 01 / 02 / 03」编号,吃屏后落成「Craft the shot.」海报)。
17
+
18
+ ## 选型
19
+ | 式 | 做法 | 适用 |
20
+ |----|------|------|
21
+ | A comic-panel-split | 全屏 3/4 侧拍 20f → 三刀 12° 斜缝每 4f 一刀从上往下劈出,对应格硬切弹入(5f scale 1.07→1 + 白闪);三格 = 同一主体的全身 / 局部特写 / 微距;定格 29f 靠主体自身动作保活;末格 2f 反向回拉 + 14f 扫屏吃掉全屏成海报 | 同一主体多视角并列;漫画感段落 |
22
+
23
+ ## 参数表
24
+ | 参数 | 典型值 | 调节手感 |
25
+ |------|--------|----------|
26
+ | A 斜缝 | SVG 双线:墨边 + 奶油纸芯(总宽 18px),12° 斜角,每刀 3f 从上往下画出 | 斜缝纸芯是漫画感命门;直缝读作分屏工具 |
27
+ | A 保活 | 定格期主体自己在动:对焦环转 26°、光圈叶片收拢、全身格极缓推近 | 三格全静读作截图拼贴;"镜头在工作"比缓推更有内容 |
28
+ | A 旁白框 | 奶油底 + 4px 墨描边 + 7px 硬投影,-2° 歪斜盖章弹入,活在格子里随格被盖掉 | 漫画语言的第二个锚点;浮在格子上方会穿帮 |
29
+ | 收尾 | 最后一行字揭示完后 ~50f 海报 hold(只留 1.5% 极缓推近) | R1;摘罩帧与吞屏终值逐像素对齐防跳变 |
30
+
31
+ ## 已知坑
32
+ - demo 在虚构内容(矢量镜头)上调校通过——参数是调校起点非实战定稿,
33
+ 首次实战须以真实素材回验
34
+ - 三格必须是**同一主体的不同机位**——三格塞不同内容读作 bento
35
+ 排版不是漫画分格,语义就散了
36
+ - 吃拍点、声音强依赖:逐格咔咔三声(sound-design §4.5);不踩拍的分格只是布局动画
37
+ - 主体用 SVG 矢量画(或高分辨率素材):三格机位最高放大 2.45x,
38
+ 位图截图放大会糊(Q2)
39
+ - 同片分格系 ≤1 段——格子语言辨识度太强,两段就撞
40
+
41
+ ## 参考实现
42
+ demos/rhythm/panel-grid-moves/
43
+ (ComicPanelSplit.tsx)
@@ -1,38 +1,38 @@
1
- ---
2
- name: quad-split-parallel-scenes
3
- 一句话: 画面硬切 2×2 四宫格,四个象限并行跑各自的微场景(打字、急推、逐词、交互链),关键节拍错开 3–6 帧制造信息轰炸
4
- 适用: 节奏段"功能很多、同时发生"的蒙太奇拍;预告片中段的密度峰值
5
- 时长: 90f(3s@30fps:0–62f 并行轰炸 + 28f 终态 hold,全程无转场)
6
- 能量: 高(四线并行 + 错拍冲击,标准的 BGM 副歌位)
7
- ---
8
-
9
- ## 意图
10
- 用并行密度替代顺序展示:四件事同时在眼前发生,观众来不及逐一细读,但每 3–6 帧就有一个象限"动一下"——扫视节奏被牢牢钉住。这是手法卡:格内内容全部可替换,错拍编排才是配方。
11
-
12
- ## 动效核心
13
- - 四象限独立场景(内容为示例:video-shotcraft 出一支宣传片时同时发生的四个现场):TL 浏览器 tab 依次 overshoot 弹入 + 地址栏逐字打字 + 44f 页面载入大标题从下滑入 + 全程 inQuad 慢推 1→1.1;TR 终端命令打字 + 两行输出 + 末行出现同时 whip 急推 1→1.85(sin 包络 blur 5px,旧行退到 8%);BL 三个 132px 大词逐个 overshoot 下落砸入;BR 审批卡滑入 → 光标贝塞尔飞向 Approve 点击 → 按钮变 Approved → 二段飞向 Publish 点击 → 上线通知弹出并计数
14
- - **错拍是灵魂**:TL tab 6/11/16/21、页面 44;TR 输出 27/33、急推 37;BL 词 14/30/49;BR 点击 25、变色 27、点击 52、通知 56——任意相邻重事件间隔 ≥3 帧,永远有东西在动但从不齐动
15
- - 两处打字光标闪烁周期错开(16 帧 vs 14 帧 +5 相位),避免同闪
16
- - 四格明度棋盘交错(ember:奶油 #f7eee4 / 暖黑 #160d09 / 橙实底 / 拿铁 #e9d7c4),8px 暖黑缝 + 20px 圆角分格;格内字按 1080p 重排(辅助 ≥32px、主词 132px)
17
- - 62f 后四格都停在终态(Launch film. / promo.mp4 ready / Prompt. Render. Ship. / Live · 3,214 views),拼成一张完整海报 hold 28f
18
-
19
- ## 参数表
20
- | 参数 | 典型值 | 调节手感 |
21
- |------|--------|----------|
22
- | 错拍间隔 | 相邻重事件 3–6 帧 | <2 帧读作同拍(齐动=呆板);>8 帧密度散掉,轰炸感消失 |
23
- | TL 慢推 | inQuad 1→1.1,origin 50% 90% | 全程缓慢加速的"底噪运动",让静格也不静;过大窗口会顶到角标 |
24
- | TR 急推 | 37–47f,scale 1.85 + blur 峰值 5px,旧行淡到 8% | 这是全卡最重的一拍,压 BGM 重音;blur 包络必须 sin(进出对称)|
25
- | 打字速度 | TL 20 字符 / 0–40f,TR 19 字符 / 0–24f | 换文案保持字符数近似,否则打字节奏与其他象限错拍关系漂移 |
26
- | BR 交互链 | 滑入 4→巡游 14→点击 25→变色 27→二段巡游 38→点击 52→通知 56 | 环环相扣,改任何一步需顺延后续;通知 overshoot 弹出是链尾重音 |
27
- | 底色 | 浅 / 深 / 强调 / 浅 棋盘交错 | 换项目主题色时保持相邻格明度差 ≥15%,否则格线感消失 |
28
- | 收尾 | 62f 后终态 hold 28f | 并行轰炸后必须给一拍让四格同时被读到 |
29
-
30
- ## 已知坑
31
- - 这是手法卡:四格内容整体可换(产品截图/录屏/其他动效卡),但**错拍表必须重排**——新内容的关键帧继承原时刻表,否则四格变四个独立视频拼贴
32
- - 轰炸段 ~2.1s 是密度上限,再拉长需给每象限加第二轮事件,否则后半段"没东西动";收尾 hold 另算
33
- - 光标闪烁按帧号计算(周期 16f / 14f+5),改时间表后重新核对两个光标的错相位
34
- - 四格同时打字/同时弹入是最常见的退化写法——检查方式:逐帧过一遍,任何一帧不应有两个象限同时发生"重事件"
35
-
36
- ## 参考实现
37
- demos/rhythm/quad-split-parallel-scenes/
38
- (QuadSplitParallelScenes.tsx)
1
+ ---
2
+ name: quad-split-parallel-scenes
3
+ 一句话: 画面硬切 2×2 四宫格,四个象限并行跑各自的微场景(打字、急推、逐词、交互链),关键节拍错开 3–6 帧制造信息轰炸
4
+ 适用: 节奏段"功能很多、同时发生"的蒙太奇拍;预告片中段的密度峰值
5
+ 时长: 90f(3s@30fps:0–62f 并行轰炸 + 28f 终态 hold,全程无转场)
6
+ 能量: 高(四线并行 + 错拍冲击,标准的 BGM 副歌位)
7
+ ---
8
+
9
+ ## 意图
10
+ 用并行密度替代顺序展示:四件事同时在眼前发生,观众来不及逐一细读,但每 3–6 帧就有一个象限"动一下"——扫视节奏被牢牢钉住。这是手法卡:格内内容全部可替换,错拍编排才是配方。
11
+
12
+ ## 动效核心
13
+ - 四象限独立场景(内容为示例:video-shotcraft 出一支宣传片时同时发生的四个现场):TL 浏览器 tab 依次 overshoot 弹入 + 地址栏逐字打字 + 44f 页面载入大标题从下滑入 + 全程 inQuad 慢推 1→1.1;TR 终端命令打字 + 两行输出 + 末行出现同时 whip 急推 1→1.85(sin 包络 blur 5px,旧行退到 8%);BL 三个 132px 大词逐个 overshoot 下落砸入;BR 审批卡滑入 → 光标贝塞尔飞向 Approve 点击 → 按钮变 Approved → 二段飞向 Publish 点击 → 上线通知弹出并计数
14
+ - **错拍是灵魂**:TL tab 6/11/16/21、页面 44;TR 输出 27/33、急推 37;BL 词 14/30/49;BR 点击 25、变色 27、点击 52、通知 56——任意相邻重事件间隔 ≥3 帧,永远有东西在动但从不齐动
15
+ - 两处打字光标闪烁周期错开(16 帧 vs 14 帧 +5 相位),避免同闪
16
+ - 四格明度棋盘交错(ember:奶油 #f7eee4 / 暖黑 #160d09 / 橙实底 / 拿铁 #e9d7c4),8px 暖黑缝 + 20px 圆角分格;格内字按 1080p 重排(辅助 ≥32px、主词 132px)
17
+ - 62f 后四格都停在终态(Launch film. / promo.mp4 ready / Prompt. Render. Ship. / Live · 3,214 views),拼成一张完整海报 hold 28f
18
+
19
+ ## 参数表
20
+ | 参数 | 典型值 | 调节手感 |
21
+ |------|--------|----------|
22
+ | 错拍间隔 | 相邻重事件 3–6 帧 | <2 帧读作同拍(齐动=呆板);>8 帧密度散掉,轰炸感消失 |
23
+ | TL 慢推 | inQuad 1→1.1,origin 50% 90% | 全程缓慢加速的"底噪运动",让静格也不静;过大窗口会顶到角标 |
24
+ | TR 急推 | 37–47f,scale 1.85 + blur 峰值 5px,旧行淡到 8% | 这是全卡最重的一拍,压 BGM 重音;blur 包络必须 sin(进出对称)|
25
+ | 打字速度 | TL 20 字符 / 0–40f,TR 19 字符 / 0–24f | 换文案保持字符数近似,否则打字节奏与其他象限错拍关系漂移 |
26
+ | BR 交互链 | 滑入 4→巡游 14→点击 25→变色 27→二段巡游 38→点击 52→通知 56 | 环环相扣,改任何一步需顺延后续;通知 overshoot 弹出是链尾重音 |
27
+ | 底色 | 浅 / 深 / 强调 / 浅 棋盘交错 | 换项目主题色时保持相邻格明度差 ≥15%,否则格线感消失 |
28
+ | 收尾 | 62f 后终态 hold 28f | 并行轰炸后必须给一拍让四格同时被读到 |
29
+
30
+ ## 已知坑
31
+ - 这是手法卡:四格内容整体可换(产品截图/录屏/其他动效卡),但**错拍表必须重排**——新内容的关键帧继承原时刻表,否则四格变四个独立视频拼贴
32
+ - 轰炸段 ~2.1s 是密度上限,再拉长需给每象限加第二轮事件,否则后半段"没东西动";收尾 hold 另算
33
+ - 光标闪烁按帧号计算(周期 16f / 14f+5),改时间表后重新核对两个光标的错相位
34
+ - 四格同时打字/同时弹入是最常见的退化写法——检查方式:逐帧过一遍,任何一帧不应有两个象限同时发生"重事件"
35
+
36
+ ## 参考实现
37
+ demos/rhythm/quad-split-parallel-scenes/
38
+ (QuadSplitParallelScenes.tsx)
@@ -1,38 +1,38 @@
1
- ---
2
- name: rhythm-interrupt-moves
3
- 一句话: 打断节奏——jump-cut-punch-in 三级跳切推近:同构图三次无补间硬跳放大,逐级逼近目标
4
- 适用: 用"打断连续性"本身当节奏器:顿挫推近(A);与 beat-cut-moves(切点排布)互补
5
- 时长: A 135f ≈4.5s
6
- 能量: A 中
7
- ---
8
-
9
- ## 意图
10
- 库内节奏卡管的都是"怎么切、切多密";本卡管**怎么断**——观众预期
11
- 连续,你偏打断,打断方式即表达:A 是空间断——同构图三次无补间跳大
12
- (1x→1.6x→2.6x),戈达尔跳切的顿挫,比连续推近更有"看这里、再近点、
13
- 就是它"的指令感。适合强制聚焦指标。
14
-
15
- ## 选型
16
- | 式 | 做法 | 适用 |
17
- |----|------|------|
18
- | A jump-cut-punch-in | transform-origin 钉目标中心,三档 scale 阶梯跳变(零补间),每跳 2f 加深脉冲当 tick | 逐级逼近核心指标;纪录片式盯住 |
19
-
20
- ## 参数表
21
- | 参数 | 典型值 | 调节手感 |
22
- |------|--------|----------|
23
- | A 跳挡 | 1.0→1.6→2.6,各 hold ≥35f | 挡差 <1.5× 读作画面抖了一下 |
24
- | A tick | 跳变帧起 2f brightness 0.92 全画面脉冲 | 无 tick 的跳切读作丢帧 |
25
- | 收尾 | 末挡 ≥45f 真静止 | 打断系事后 hold 从重给 |
26
-
27
- ## 已知坑
28
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
29
- 首次实战须以真实素材回验
30
- - 与 speed-ramp-freeze 都动"时间轴",同一镜头只能有一个时间
31
- 操纵者
32
- - 三挡构图必须同 origin(钉死目标中心)——每挡重新构图就是
33
- 三个镜头,不是跳切
34
- - 声音强依赖:每跳一声 tick(sound-design §4.5)
35
-
36
- ## 参考实现
37
- demos/rhythm/rhythm-interrupt-moves/
38
- (JumpCutPunchIn.tsx)
1
+ ---
2
+ name: rhythm-interrupt-moves
3
+ 一句话: 打断节奏——jump-cut-punch-in 三级跳切推近:同构图三次无补间硬跳放大,逐级逼近目标
4
+ 适用: 用"打断连续性"本身当节奏器:顿挫推近(A);与 beat-cut-moves(切点排布)互补
5
+ 时长: A 135f ≈4.5s
6
+ 能量: A 中
7
+ ---
8
+
9
+ ## 意图
10
+ 库内节奏卡管的都是"怎么切、切多密";本卡管**怎么断**——观众预期
11
+ 连续,你偏打断,打断方式即表达:A 是空间断——同构图三次无补间跳大
12
+ (1x→1.6x→2.6x),戈达尔跳切的顿挫,比连续推近更有"看这里、再近点、
13
+ 就是它"的指令感。适合强制聚焦指标。
14
+
15
+ ## 选型
16
+ | 式 | 做法 | 适用 |
17
+ |----|------|------|
18
+ | A jump-cut-punch-in | transform-origin 钉目标中心,三档 scale 阶梯跳变(零补间),每跳 2f 加深脉冲当 tick | 逐级逼近核心指标;纪录片式盯住 |
19
+
20
+ ## 参数表
21
+ | 参数 | 典型值 | 调节手感 |
22
+ |------|--------|----------|
23
+ | A 跳挡 | 1.0→1.6→2.6,各 hold ≥35f | 挡差 <1.5× 读作画面抖了一下 |
24
+ | A tick | 跳变帧起 2f brightness 0.92 全画面脉冲 | 无 tick 的跳切读作丢帧 |
25
+ | 收尾 | 末挡 ≥45f 真静止 | 打断系事后 hold 从重给 |
26
+
27
+ ## 已知坑
28
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
29
+ 首次实战须以真实素材回验
30
+ - 与 speed-ramp-freeze 都动"时间轴",同一镜头只能有一个时间
31
+ 操纵者
32
+ - 三挡构图必须同 origin(钉死目标中心)——每挡重新构图就是
33
+ 三个镜头,不是跳切
34
+ - 声音强依赖:每跳一声 tick(sound-design §4.5)
35
+
36
+ ## 参考实现
37
+ demos/rhythm/rhythm-interrupt-moves/
38
+ (JumpCutPunchIn.tsx)
@@ -1,56 +1,56 @@
1
- ---
2
- name: sakuga-timing-shift
3
- 一句话: 一拍三转一拍一——元素先以每 3 帧一步的手翻书顿挫移动,高潮瞬间切成逐帧丝滑冲刺,帧率量化的突变本身就是看点
4
- 适用: 单元素的强调性位移(卡片入场、指标冲线);需要"手工感→高潮爆发"反差的段落
5
- 时长: 150f(5s)
6
- 能量: 中高
7
- 标签: ui-entrance
8
- ---
9
-
10
- ## 意图
11
- 库内时间轴操纵已有 speed-ramp-freeze 的定格解冻与 hit-counter 的局部顿帧。
12
- 本卡是另一种——**改的不是速度是帧率本身**:
13
- 顿挫段驱动帧 q=floor(f/3)*3,元素每 3 帧才动一步(10fps 手翻书),
14
- 切换帧起改用原始 f 逐帧驱动,丝滑冲刺。一拍三的钝与一拍一的滑
15
- 同屏对切,日式作画的拍数演出(shooting on 3s / on 1s)。顿挫段
16
- 不是低级感是手工感,切换点即高潮标记。
17
-
18
- ## 动效核心
19
- - 顿挫段:q = Math.floor(f/3)*3 当驱动帧,位置线性 X 140→1180,
20
- 16 张原画、每步 ≈69px;姿势随 q 冻结:sin(q) rotate ±5° + 挤压/拉伸交替
21
- (0.97/1.035)+ 一高一低小跳(−18/−2px),一步一个样
22
- - f48 切换:两帧「冲击帧」(画面反相成墨底 + 以卡片为焦点的集中线)当高潮标记,
23
- 之后改原始 f 连续驱动,Easing.out(poly(4)) 高初速冲刺折返中央 + 过冲 40px
24
- + 6f 回弹,落地 scaleX 0.92 / scaleY 1.07 挤压
25
- - 冲刺段运动拉伸由位置差分速度驱动(scaleX 峰值 ≈1.3 / scaleY 0.9),
26
- 身后 9 条横向锥形墨色速度线、长度 ∝ 速度,**条件挂载**——速度低即摘除
27
- - 换拍标注三处同步:角标 "ON 3s / 3コマ打ち"→"ON 1s / 1コマ打ち"(pop 1.25×,
28
- 手绘下划线每 4 帧重描一次沸腾、f=108 后冻结);底部「摄影表」一拍三只在每 3 格写原画号、
29
- 中间格画竖线(= 沿用上一张),一拍一格格有号——观众直接看见每秒画几张
30
- - 画面:paper look 作画纸(定位孔、淡蓝铅笔安全框/十字),主体是 5px 墨线 + 硬边
31
- 赛璐珞投影的 video-shotcraft 产品卡(30fps · every frame, crafted);f74 后 hold 段 2% 极缓推进
32
-
33
- ## 参数表
34
- | 参数 | 典型值 | 调节手感 |
35
- |------|--------|----------|
36
- | 拍数 | 顿挫段 floor(f/3)(一拍三) | /2 顿感不足、/4 以上读作播放器卡死 |
37
- | 每步位移 | ≈69px(总程 1040 ÷ 15 步倒推) | <30px 读作卡顿掉帧不是顿挫——命门 |
38
- | 步间姿势 | sin(q) rotate ±5° + 挤压/拉伸交替 + 一高一低小跳 | 无姿势变化的纯位移顿挫像 bug 不像手翻书 |
39
- | 切换帧 | f48(顿挫:冲刺 ≈ 3:2) | 切换必须一帧完成,任何补间都毁掉"换拍"感 |
40
- | 冲刺缓动 | Easing.out(poly(4)) + 过冲 40px + 6f 回弹 | 初速要猛,与顿挫段拉满反差 |
41
- | 收尾 | 落位后 hold 70f(只留 2% 极缓推进),角标沸腾 f108 冻结 | 沸腾残留毁真静止(feTurbulence 摘罩判例同族) |
42
-
43
- ## 已知坑
44
- - demo 用手搓作画纸 + 赛璐珞卡调校——参数是调校起点非实战定稿,
45
- 首次实战须以真实素材回验
46
- - 冲击帧是全画面级冲击(R4 计数),一个镜头只给切换点这一次,且只给 2f
47
- - 同一镜头单一时间操纵者判例:与 speed-ramp-freeze / hit-counter 顿帧
48
- 互斥,一个镜头只能有一个人动时间轴
49
- - 顿挫段每步位移 ≥30px 才读得出"顿"——微步顿挫读作渲染掉帧,
50
- 这是本卡命门;步幅不够就缩短总时长换大步幅
51
- - 切换点必须有标注(角标 "ON 3s"→"ON 1s"、摄影表格子或一声打点,
52
- sound-design §4.5)——无标注观众只觉得"变快了",读不出"换拍"
53
-
54
- ## 参考实现
55
- demos/rhythm/sakuga-timing-shift/
56
- (SakugaTimingShift.tsx)
1
+ ---
2
+ name: sakuga-timing-shift
3
+ 一句话: 一拍三转一拍一——元素先以每 3 帧一步的手翻书顿挫移动,高潮瞬间切成逐帧丝滑冲刺,帧率量化的突变本身就是看点
4
+ 适用: 单元素的强调性位移(卡片入场、指标冲线);需要"手工感→高潮爆发"反差的段落
5
+ 时长: 150f(5s)
6
+ 能量: 中高
7
+ 标签: ui-entrance
8
+ ---
9
+
10
+ ## 意图
11
+ 库内时间轴操纵已有 speed-ramp-freeze 的定格解冻与 hit-counter 的局部顿帧。
12
+ 本卡是另一种——**改的不是速度是帧率本身**:
13
+ 顿挫段驱动帧 q=floor(f/3)*3,元素每 3 帧才动一步(10fps 手翻书),
14
+ 切换帧起改用原始 f 逐帧驱动,丝滑冲刺。一拍三的钝与一拍一的滑
15
+ 同屏对切,日式作画的拍数演出(shooting on 3s / on 1s)。顿挫段
16
+ 不是低级感是手工感,切换点即高潮标记。
17
+
18
+ ## 动效核心
19
+ - 顿挫段:q = Math.floor(f/3)*3 当驱动帧,位置线性 X 140→1180,
20
+ 16 张原画、每步 ≈69px;姿势随 q 冻结:sin(q) rotate ±5° + 挤压/拉伸交替
21
+ (0.97/1.035)+ 一高一低小跳(−18/−2px),一步一个样
22
+ - f48 切换:两帧「冲击帧」(画面反相成墨底 + 以卡片为焦点的集中线)当高潮标记,
23
+ 之后改原始 f 连续驱动,Easing.out(poly(4)) 高初速冲刺折返中央 + 过冲 40px
24
+ + 6f 回弹,落地 scaleX 0.92 / scaleY 1.07 挤压
25
+ - 冲刺段运动拉伸由位置差分速度驱动(scaleX 峰值 ≈1.3 / scaleY 0.9),
26
+ 身后 9 条横向锥形墨色速度线、长度 ∝ 速度,**条件挂载**——速度低即摘除
27
+ - 换拍标注三处同步:角标 "ON 3s / 3コマ打ち"→"ON 1s / 1コマ打ち"(pop 1.25×,
28
+ 手绘下划线每 4 帧重描一次沸腾、f=108 后冻结);底部「摄影表」一拍三只在每 3 格写原画号、
29
+ 中间格画竖线(= 沿用上一张),一拍一格格有号——观众直接看见每秒画几张
30
+ - 画面:paper look 作画纸(定位孔、淡蓝铅笔安全框/十字),主体是 5px 墨线 + 硬边
31
+ 赛璐珞投影的 video-shotcraft 产品卡(30fps · every frame, crafted);f74 后 hold 段 2% 极缓推进
32
+
33
+ ## 参数表
34
+ | 参数 | 典型值 | 调节手感 |
35
+ |------|--------|----------|
36
+ | 拍数 | 顿挫段 floor(f/3)(一拍三) | /2 顿感不足、/4 以上读作播放器卡死 |
37
+ | 每步位移 | ≈69px(总程 1040 ÷ 15 步倒推) | <30px 读作卡顿掉帧不是顿挫——命门 |
38
+ | 步间姿势 | sin(q) rotate ±5° + 挤压/拉伸交替 + 一高一低小跳 | 无姿势变化的纯位移顿挫像 bug 不像手翻书 |
39
+ | 切换帧 | f48(顿挫:冲刺 ≈ 3:2) | 切换必须一帧完成,任何补间都毁掉"换拍"感 |
40
+ | 冲刺缓动 | Easing.out(poly(4)) + 过冲 40px + 6f 回弹 | 初速要猛,与顿挫段拉满反差 |
41
+ | 收尾 | 落位后 hold 70f(只留 2% 极缓推进),角标沸腾 f108 冻结 | 沸腾残留毁真静止(feTurbulence 摘罩判例同族) |
42
+
43
+ ## 已知坑
44
+ - demo 用手搓作画纸 + 赛璐珞卡调校——参数是调校起点非实战定稿,
45
+ 首次实战须以真实素材回验
46
+ - 冲击帧是全画面级冲击(R4 计数),一个镜头只给切换点这一次,且只给 2f
47
+ - 同一镜头单一时间操纵者判例:与 speed-ramp-freeze / hit-counter 顿帧
48
+ 互斥,一个镜头只能有一个人动时间轴
49
+ - 顿挫段每步位移 ≥30px 才读得出"顿"——微步顿挫读作渲染掉帧,
50
+ 这是本卡命门;步幅不够就缩短总时长换大步幅
51
+ - 切换点必须有标注(角标 "ON 3s"→"ON 1s"、摄影表格子或一声打点,
52
+ sound-design §4.5)——无标注观众只觉得"变快了",读不出"换拍"
53
+
54
+ ## 参考实现
55
+ demos/rhythm/sakuga-timing-shift/
56
+ (SakugaTimingShift.tsx)
@@ -1,44 +1,44 @@
1
- ---
2
- name: speed-ramp-freeze
3
- 一句话: 帧号非线性 remap 的节奏手法——定格标注(流动→定格圈注→解冻)
4
- 适用: 卡片流/长横移中把一个重点"停下给人看";教学解说、评审语境
5
- 时长: 定格标注全程 158f(≈5.3s,定格段 67f ≥45f)
6
- 能量: 中高(速度反差本身即energy beat)
7
- ---
8
-
9
- ## 意图
10
- 匀速流读作 PPT(R2),全程快流观众抓不住重点(R3)。定格标注在一条
11
- 运动里干脆停下来——马克笔圈出重点再走。技术根是帧号 remap(斜率即速率),
12
- 语义是"停课划重点"。
13
-
14
- ## 动效核心
15
- - 源动画匀速,输出帧对源帧做非线性 remap(斜率即速率):流动段斜率 1(26px/源帧)→
16
- 定格段斜率 0 → 解冻段 smootherstep;**blur 联动速率**——按 remap 后的实际速度给方向性
17
- 模糊(Polish SpeedBlur,|v|<8px/f 不挂滤镜),定格段裸渲;CameraMotionBlur 多重采样会给
18
- 页面纹理染色,本卡不用
19
- - 定格段斜率 =0(瞬时切换,无缓入——定格要干脆);定格那一帧给"按下暂停"的
20
- 信号:快门白闪 3f、整帧取景框四角弹入、时间码从 LIVE 走字切到 PAUSED 并停住;
21
- 强调色马克笔超椭圆一笔圈 10f 描边(stroke-dashoffset,1.08 圈、收笔不闭合)圈住目标 +
22
- 箭杆 6f + 箭头 3f 点题,feTurbulence(scale≈6)给手绘抖动,再接一行 68px 粗体批注 +
23
- 手绘下划线 + 署名;解冻段 smootherstep(ease-in 起步)22f 走完一张卡、
24
- 平均斜率 >1 补偿时长,墨迹 8f 淡出,但在目标卡角留一枚评论图钉随卡离场
25
- - 目标卡对位屏中并被"拾起"(抬高 + 放大 3–5% + 阴影加深),其余卡退暗 / 去饱和;
26
- 卡宽 600px 时 2x 卡片纹理是向下采样,任选一张都锐利(凝视/圈注对象必须锐利、居中)
27
-
28
- ## 参数表
29
- | 参数 | 典型值 | 调节手感 |
30
- |------|--------|----------|
31
- | 定格时长 | ≥45f | 短了凝视不成立(R3 宁慢勿快) |
32
- | 解冻补偿 | smootherstep 22f 走完一张卡(平均斜率 >1) | 解冻太慢全片拖沓;不补偿则定格吃掉的时间读作冷场 |
33
- | 圈注描边 | 10f 划完 + 抖动 scale 6 | 太慢像加载动画;无抖动像机械标注 |
34
- | 暂停信号 | 快门白闪 3f + 取景框四角 + 时间码 PAUSED | 无信号时观众分不清"定格"和"卡顿" |
35
-
36
- ## 已知坑
37
- - SFX 钉帧跟**输出帧**不跟源帧(画面动作在输出时间轴上发生);
38
- 拟音槽位:定格配马克笔沙沙声(S4),本卡转正时未配、实战补
39
- - 定格标注一支 30s 片 ≤2 次(克制原则)
40
- - 参数经占位素材调校转正,非实战定稿,首次实战后回验
41
-
42
- ## 参考实现
43
- demos/rhythm/speed-ramp-freeze/
44
- (FreezeAnnotateReal.tsx)
1
+ ---
2
+ name: speed-ramp-freeze
3
+ 一句话: 帧号非线性 remap 的节奏手法——定格标注(流动→定格圈注→解冻)
4
+ 适用: 卡片流/长横移中把一个重点"停下给人看";教学解说、评审语境
5
+ 时长: 定格标注全程 158f(≈5.3s,定格段 67f ≥45f)
6
+ 能量: 中高(速度反差本身即energy beat)
7
+ ---
8
+
9
+ ## 意图
10
+ 匀速流读作 PPT(R2),全程快流观众抓不住重点(R3)。定格标注在一条
11
+ 运动里干脆停下来——马克笔圈出重点再走。技术根是帧号 remap(斜率即速率),
12
+ 语义是"停课划重点"。
13
+
14
+ ## 动效核心
15
+ - 源动画匀速,输出帧对源帧做非线性 remap(斜率即速率):流动段斜率 1(26px/源帧)→
16
+ 定格段斜率 0 → 解冻段 smootherstep;**blur 联动速率**——按 remap 后的实际速度给方向性
17
+ 模糊(Polish SpeedBlur,|v|<8px/f 不挂滤镜),定格段裸渲;CameraMotionBlur 多重采样会给
18
+ 页面纹理染色,本卡不用
19
+ - 定格段斜率 =0(瞬时切换,无缓入——定格要干脆);定格那一帧给"按下暂停"的
20
+ 信号:快门白闪 3f、整帧取景框四角弹入、时间码从 LIVE 走字切到 PAUSED 并停住;
21
+ 强调色马克笔超椭圆一笔圈 10f 描边(stroke-dashoffset,1.08 圈、收笔不闭合)圈住目标 +
22
+ 箭杆 6f + 箭头 3f 点题,feTurbulence(scale≈6)给手绘抖动,再接一行 68px 粗体批注 +
23
+ 手绘下划线 + 署名;解冻段 smootherstep(ease-in 起步)22f 走完一张卡、
24
+ 平均斜率 >1 补偿时长,墨迹 8f 淡出,但在目标卡角留一枚评论图钉随卡离场
25
+ - 目标卡对位屏中并被"拾起"(抬高 + 放大 3–5% + 阴影加深),其余卡退暗 / 去饱和;
26
+ 卡宽 600px 时 2x 卡片纹理是向下采样,任选一张都锐利(凝视/圈注对象必须锐利、居中)
27
+
28
+ ## 参数表
29
+ | 参数 | 典型值 | 调节手感 |
30
+ |------|--------|----------|
31
+ | 定格时长 | ≥45f | 短了凝视不成立(R3 宁慢勿快) |
32
+ | 解冻补偿 | smootherstep 22f 走完一张卡(平均斜率 >1) | 解冻太慢全片拖沓;不补偿则定格吃掉的时间读作冷场 |
33
+ | 圈注描边 | 10f 划完 + 抖动 scale 6 | 太慢像加载动画;无抖动像机械标注 |
34
+ | 暂停信号 | 快门白闪 3f + 取景框四角 + 时间码 PAUSED | 无信号时观众分不清"定格"和"卡顿" |
35
+
36
+ ## 已知坑
37
+ - SFX 钉帧跟**输出帧**不跟源帧(画面动作在输出时间轴上发生);
38
+ 拟音槽位:定格配马克笔沙沙声(S4),本卡转正时未配、实战补
39
+ - 定格标注一支 30s 片 ≤2 次(克制原则)
40
+ - 参数经占位素材调校转正,非实战定稿,首次实战后回验
41
+
42
+ ## 参考实现
43
+ demos/rhythm/speed-ramp-freeze/
44
+ (FreezeAnnotateReal.tsx)