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,52 +1,52 @@
1
- ---
2
- name: steep-tilt-glide
3
- 一句话: 固定镜头下直立页面以 60° 强透视侧立(右近左远),页面自身沿其 3D 横面方向滑移掠过镜头(物动镜不动),滑移带速度重影、文字组件悬空贴落、由暗揭亮
4
- 适用: 长页面/多区块 UI 的炫技巡览(内容依次滑过固定机位);暗场霓虹调性;与贴面运镜卡互补的"侧掠"机位
5
- 时长: 4s(120f)单镜;页面越宽越可拉长
6
- 能量: 中高(透视炫技+持续运动,但节奏是匀的)
7
- 标签: ui-entrance
8
- ---
9
-
10
- ## 意图
11
- 把页面立成一堵斜墙:镜头钉死不动,60° 强透视让右缘贴脸、左缘
12
- 消失在灭点,页面自己沿自身平面横向滑移——内容像列车车厢一样
13
- 依次掠过。命门是**物动镜不动**:perspective/origin/rotY 全程常数,
14
- 唯一动的量是页面局部 translateX——镜头一动语义就变成运镜炫技,
15
- 这里的戏是"页面在自我展示"。角度经三轮收敛为精确 60°
16
- (-45°"不对"→-53°"再大一点"→-60°选中)。
17
-
18
- ## 动效核心
19
- - 镜头常数:perspective 1100、origin 30% 58%、rotateY(-60°)+
20
- rotateZ(-2°),transformOrigin left top,全程一个数不变
21
- - 页面:超宽面板(6200×2400@内容坐标),沿局部 X 轴 +60→-4100
22
- 滑移,bezier(0.3,0.12,0.72,0.9)——起步柔和后近匀速,尾段斜率
23
- 不归零(不安定停死)
24
- - 速度重影:拖尾层=过去时刻(f-1.6/-3.2/-4.8 三层,权重递减)的局部位置重投影,
25
- 透明度 ∝ 滑移速度(快时重影浓)
26
- - 悬空贴落:页面元素 FloatWrap 悬浮 230–280px 带同形软影,随
27
- 滑移进程错峰贴落(巡礼语法)
28
- - 揭亮:起始面板压暗 0.7,~1.4s 揭到全亮;左缘额外渐变阴影同退
29
-
30
- ## 参数表
31
- | 参数 | 典型值 | 调节手感 |
32
- |------|--------|----------|
33
- | 倾斜角 | rotateY **-60°**(用户精确定值) | -45° 被裁"角度不对"、-53°"再大一点";>-70° 内容读不清 |
34
- | 运动模型 | 镜头全常数、页面自移 | **命门**——镜头横移版被裁"镜头是固定的,页面本身往其3d空间的横面方向移动" |
35
- | 滑移曲线 | 尾段斜率不归零的 bezier | 中途停死被抓(v4 返工);全 linear 少了起步呼吸 |
36
- | 重影 | 透明度∝速度,三层 f-1.6/-3.2/-4.8 | 恒定重影读作重像故障 |
37
- | 页面宽度 | ≥3 屏内容 | 太窄滑两秒就完,撑不起一镜 |
38
- | 悬空贴落 | 错峰(巡礼语法)+ 影随高度 | 语义判例见 graze-face-tour/orbit-drop 三卡族 |
39
-
40
- ## 已知坑
41
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
42
- 首次实战须以真实素材回验
43
- - 角度判例:透视角是本卡身份,实战微调范围建议 55–65°,出这个
44
- 区间等于换手法
45
- - 与 graze-face-tour 分工:那张镜头动(贴面游走)、页面静;本卡
46
- 镜头静、页面动。同段落二选一
47
- - 超宽页面手绘成本高;实战可用真实长截图代替(滑移逻辑不变)
48
-
49
- ## 参考实现
50
- demos/camera/steep-tilt-glide/
51
- (SteepTiltGlide.tsx)
52
- 原片出处:clickup-30.mp4
1
+ ---
2
+ name: steep-tilt-glide
3
+ 一句话: 固定镜头下直立页面以 60° 强透视侧立(右近左远),页面自身沿其 3D 横面方向滑移掠过镜头(物动镜不动),滑移带速度重影、文字组件悬空贴落、由暗揭亮
4
+ 适用: 长页面/多区块 UI 的炫技巡览(内容依次滑过固定机位);暗场霓虹调性;与贴面运镜卡互补的"侧掠"机位
5
+ 时长: 4s(120f)单镜;页面越宽越可拉长
6
+ 能量: 中高(透视炫技+持续运动,但节奏是匀的)
7
+ 标签: ui-entrance
8
+ ---
9
+
10
+ ## 意图
11
+ 把页面立成一堵斜墙:镜头钉死不动,60° 强透视让右缘贴脸、左缘
12
+ 消失在灭点,页面自己沿自身平面横向滑移——内容像列车车厢一样
13
+ 依次掠过。命门是**物动镜不动**:perspective/origin/rotY 全程常数,
14
+ 唯一动的量是页面局部 translateX——镜头一动语义就变成运镜炫技,
15
+ 这里的戏是"页面在自我展示"。角度经三轮收敛为精确 60°
16
+ (-45°"不对"→-53°"再大一点"→-60°选中)。
17
+
18
+ ## 动效核心
19
+ - 镜头常数:perspective 1100、origin 30% 58%、rotateY(-60°)+
20
+ rotateZ(-2°),transformOrigin left top,全程一个数不变
21
+ - 页面:超宽面板(6200×2400@内容坐标),沿局部 X 轴 +60→-4100
22
+ 滑移,bezier(0.3,0.12,0.72,0.9)——起步柔和后近匀速,尾段斜率
23
+ 不归零(不安定停死)
24
+ - 速度重影:拖尾层=过去时刻(f-1.6/-3.2/-4.8 三层,权重递减)的局部位置重投影,
25
+ 透明度 ∝ 滑移速度(快时重影浓)
26
+ - 悬空贴落:页面元素 FloatWrap 悬浮 230–280px 带同形软影,随
27
+ 滑移进程错峰贴落(巡礼语法)
28
+ - 揭亮:起始面板压暗 0.7,~1.4s 揭到全亮;左缘额外渐变阴影同退
29
+
30
+ ## 参数表
31
+ | 参数 | 典型值 | 调节手感 |
32
+ |------|--------|----------|
33
+ | 倾斜角 | rotateY **-60°**(用户精确定值) | -45° 被裁"角度不对"、-53°"再大一点";>-70° 内容读不清 |
34
+ | 运动模型 | 镜头全常数、页面自移 | **命门**——镜头横移版被裁"镜头是固定的,页面本身往其3d空间的横面方向移动" |
35
+ | 滑移曲线 | 尾段斜率不归零的 bezier | 中途停死被抓(v4 返工);全 linear 少了起步呼吸 |
36
+ | 重影 | 透明度∝速度,三层 f-1.6/-3.2/-4.8 | 恒定重影读作重像故障 |
37
+ | 页面宽度 | ≥3 屏内容 | 太窄滑两秒就完,撑不起一镜 |
38
+ | 悬空贴落 | 错峰(巡礼语法)+ 影随高度 | 语义判例见 graze-face-tour/orbit-drop 三卡族 |
39
+
40
+ ## 已知坑
41
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
42
+ 首次实战须以真实素材回验
43
+ - 角度判例:透视角是本卡身份,实战微调范围建议 55–65°,出这个
44
+ 区间等于换手法
45
+ - 与 graze-face-tour 分工:那张镜头动(贴面游走)、页面静;本卡
46
+ 镜头静、页面动。同段落二选一
47
+ - 超宽页面手绘成本高;实战可用真实长截图代替(滑移逻辑不变)
48
+
49
+ ## 参考实现
50
+ demos/camera/steep-tilt-glide/
51
+ (SteepTiltGlide.tsx)
52
+ 原片出处:clickup-30.mp4
@@ -1,43 +1,43 @@
1
- ---
2
- name: tension-camera-moves
3
- 一句话: 情绪运镜两式——bullet-time 冻结环绕、pull-back 拉远孤立,相机替观众"感受"而非"看"
4
- 适用: 情绪节点(震撼/收束)的运镜语言;与 space-camera-moves 的"炫技大动作"互补——这两式动作小、情绪重
5
- 时长: 单式 5–6s(150–170f);全片合计 ≤2 式(各 ≤1 次)
6
- 能量: A 高 / B 低收
7
- ---
8
-
9
- ## 意图
10
- space-camera-moves 三式是"把页面当 3D 实体拍"的高光炫技;这两式相反——
11
- 动作本身克制,全部劲道在情绪语义上:A 说"这一刻值得停下时间看"
12
- (运动中的元素被冻住、相机绕行审视);B 说"最后只剩这一件事"
13
- (后拉中周围逐层熄灭,孤悬一点收束全片)。两式各占一个情绪格,
14
- 是分镜阶段"这一段观众该感到什么"的直接词汇。
15
-
16
- ## 两式选型
17
- | 式 | 做法 | 适用 |
18
- |----|------|------|
19
- | A bullet-time-freeze-orbit 冻结环绕 | 图表生长到一半连同柱顶喷出的火花一起冻住(火花悬在半空、拖尾保留),相机在真 3D 场景里绕面板 rotateY 扫 52° 再回,时间恢复接着长完 | 核心数据/图表的加冕时刻;"值得停表看"的一格 |
20
- | B pull-back-isolation 拉远孤立 | 从发光主卡特写后拉,8 张兄弟卡按距离错峰熄灭、背景沉黑,孤卡悬在暗场中央 | 结尾收束;"全片只为这一个数字"的谢幕 |
21
-
22
- ## 参数表
23
- | 参数 | 典型值 | 调节手感 |
24
- |------|--------|----------|
25
- | A 双时钟 | 内容动画吃 `eff`(速度坡道积分:8f smooth 刹停 → 冻结 52f → 8f 恢复),相机吃真实 f | 命门:冻结期内容必须肉眼可见地完全静止,相机却在动——两个时钟各管各的;硬停硬起没有子弹时间的变速感 |
26
- | A 环绕 | perspective 1800 的 preserve-3d 场景(面板 / 带 z 深度的火花 / 网格地面 / 远处点阵墙):rotateY 0→-52°(26f smooth)→ 顶点慢漂 12f → 回 0(22f swift),同步 rotateX 抬 6°、推近 160px | 50–55° 是"绕到侧面看"的下限;>70° 面板变纸片穿帮;没有深度参照物(单面板 + 纯色底)读不出是相机在绕 |
27
- | A 冻住的运动 | 火花拖尾长度、计数器滚动模糊都按内容时钟的速度算 | 冻结时它们保持"运动中"的形态——冻住的是瞬间,不是静物 |
28
- | B 后拉 | scale 2.2→0.62 / 110f Easing.out(cubic),origin 锁主卡中心,按 2.2× CSS zoom 布局再缩小 | 前 20f 主卡仍占满画面,开场即特写不需要另加 hold;transform 放大的特写字会糊(Q2) |
29
- | B 熄灭 | 兄弟卡按 hypot 距离排序,帧 30 起每 8f 一张,16f 内 opacity→0(EASE.out)+ brightness→0.3 + 失焦 5px + 下沉 0.97;背景 60–110f 从亮柔光底交叉沉入带色相深场 | 由近到远熄灭 = "世界向外塌暗";乱序熄灭读作故障 |
30
- | B 光晕 | 主卡两层冷白 box-shadow 60–100f 淡入,受光上沿同步浮现 | 光晕是"只剩它"的视觉证词,与沉黑同步才成立 |
31
- | 收尾 | 两式动作完毕 hold ≥30f(A 只留光的极缓呼吸;B 110–150f 真静止) | R1;B 式是全片句号,静止给足 40f+,可在屏幕空间加一句结语 |
32
-
33
- ## 已知坑
34
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
35
- 首次实战须以真实素材回验
36
- - A 式与 speed-ramp-freeze/impact-feedback 同为时间操纵,同一镜头别叠用
37
- (帧 remap 互相打架);A 的冻结是"停给你看"+相机动,speed-ramp-freeze 的
38
- 定格是"停下来标注"——选语义不选形似
39
- - B 式放结尾时后接 outro-group-photo-launch 会打架(一收一放),二选一
40
-
41
- ## 参考实现
42
- demos/camera/tension-camera-moves/
43
- (BulletTimeFreezeOrbit.tsx / PullBackIsolation.tsx)
1
+ ---
2
+ name: tension-camera-moves
3
+ 一句话: 情绪运镜两式——bullet-time 冻结环绕、pull-back 拉远孤立,相机替观众"感受"而非"看"
4
+ 适用: 情绪节点(震撼/收束)的运镜语言;与 space-camera-moves 的"炫技大动作"互补——这两式动作小、情绪重
5
+ 时长: 单式 5–6s(150–170f);全片合计 ≤2 式(各 ≤1 次)
6
+ 能量: A 高 / B 低收
7
+ ---
8
+
9
+ ## 意图
10
+ space-camera-moves 三式是"把页面当 3D 实体拍"的高光炫技;这两式相反——
11
+ 动作本身克制,全部劲道在情绪语义上:A 说"这一刻值得停下时间看"
12
+ (运动中的元素被冻住、相机绕行审视);B 说"最后只剩这一件事"
13
+ (后拉中周围逐层熄灭,孤悬一点收束全片)。两式各占一个情绪格,
14
+ 是分镜阶段"这一段观众该感到什么"的直接词汇。
15
+
16
+ ## 两式选型
17
+ | 式 | 做法 | 适用 |
18
+ |----|------|------|
19
+ | A bullet-time-freeze-orbit 冻结环绕 | 图表生长到一半连同柱顶喷出的火花一起冻住(火花悬在半空、拖尾保留),相机在真 3D 场景里绕面板 rotateY 扫 52° 再回,时间恢复接着长完 | 核心数据/图表的加冕时刻;"值得停表看"的一格 |
20
+ | B pull-back-isolation 拉远孤立 | 从发光主卡特写后拉,8 张兄弟卡按距离错峰熄灭、背景沉黑,孤卡悬在暗场中央 | 结尾收束;"全片只为这一个数字"的谢幕 |
21
+
22
+ ## 参数表
23
+ | 参数 | 典型值 | 调节手感 |
24
+ |------|--------|----------|
25
+ | A 双时钟 | 内容动画吃 `eff`(速度坡道积分:8f smooth 刹停 → 冻结 52f → 8f 恢复),相机吃真实 f | 命门:冻结期内容必须肉眼可见地完全静止,相机却在动——两个时钟各管各的;硬停硬起没有子弹时间的变速感 |
26
+ | A 环绕 | perspective 1800 的 preserve-3d 场景(面板 / 带 z 深度的火花 / 网格地面 / 远处点阵墙):rotateY 0→-52°(26f smooth)→ 顶点慢漂 12f → 回 0(22f swift),同步 rotateX 抬 6°、推近 160px | 50–55° 是"绕到侧面看"的下限;>70° 面板变纸片穿帮;没有深度参照物(单面板 + 纯色底)读不出是相机在绕 |
27
+ | A 冻住的运动 | 火花拖尾长度、计数器滚动模糊都按内容时钟的速度算 | 冻结时它们保持"运动中"的形态——冻住的是瞬间,不是静物 |
28
+ | B 后拉 | scale 2.2→0.62 / 110f Easing.out(cubic),origin 锁主卡中心,按 2.2× CSS zoom 布局再缩小 | 前 20f 主卡仍占满画面,开场即特写不需要另加 hold;transform 放大的特写字会糊(Q2) |
29
+ | B 熄灭 | 兄弟卡按 hypot 距离排序,帧 30 起每 8f 一张,16f 内 opacity→0(EASE.out)+ brightness→0.3 + 失焦 5px + 下沉 0.97;背景 60–110f 从亮柔光底交叉沉入带色相深场 | 由近到远熄灭 = "世界向外塌暗";乱序熄灭读作故障 |
30
+ | B 光晕 | 主卡两层冷白 box-shadow 60–100f 淡入,受光上沿同步浮现 | 光晕是"只剩它"的视觉证词,与沉黑同步才成立 |
31
+ | 收尾 | 两式动作完毕 hold ≥30f(A 只留光的极缓呼吸;B 110–150f 真静止) | R1;B 式是全片句号,静止给足 40f+,可在屏幕空间加一句结语 |
32
+
33
+ ## 已知坑
34
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
35
+ 首次实战须以真实素材回验
36
+ - A 式与 speed-ramp-freeze/impact-feedback 同为时间操纵,同一镜头别叠用
37
+ (帧 remap 互相打架);A 的冻结是"停给你看"+相机动,speed-ramp-freeze 的
38
+ 定格是"停下来标注"——选语义不选形似
39
+ - B 式放结尾时后接 outro-group-photo-launch 会打架(一收一放),二选一
40
+
41
+ ## 参考实现
42
+ demos/camera/tension-camera-moves/
43
+ (BulletTimeFreezeOrbit.tsx / PullBackIsolation.tsx)
@@ -1,42 +1,42 @@
1
- ---
2
- name: terminal-3d
3
- 一句话: 三个终端窗散布 3D 空间,相机窗间飞行、途中正弦拉远,每到一窗打字机敲命令、结果逐行滑出——命令执行的空间叙事流
4
- 适用: 开发者产品的 CLI/工作流演示:把"三步命令"拍成三站空间旅程
5
- 时长: 约 8.2s(246f@30fps;三站各约 2–3s 停留 + 两段 30f 飞行)
6
- 能量: 中(飞行给动感、打字给节奏,整体是沉稳的技术叙事;收在 ● READY 一记亮点)
7
- ---
8
-
9
- ## 意图
10
- 终端输出天生是"平面滚动"的反电影语言,这张卡把它空间化:每条命令占据空间中一个实体窗口,相机像穿过机房一样逐窗拜访。飞行途中的拉远让观众瞥见"还有更多窗口"——工作流的全貌感。
11
-
12
- ## 动效核心
13
- - 三窗各持 pose(x/y/z/ry,世界坐标 px),相机走**逆变换**:`translateZ(-pull) rotateX(tilt) rotateY(view−ry) translate3d(-x,-y,-z)`——写窗口姿态表即得相机路径;每站留 8–10° 侧视角(VIEW 表),落定时窗口不完全正对,读得清且有体积
14
- - 窗口按真实屏幕尺寸布局(1180×620,命令 52px / 输出 38px 等宽),相机落定时 1:1 栅格化——不靠外层放大,文字不糊(Q2)
15
- - 两段飞行各 30f(swift 不对称 in-out),途中 `sin(π·u^0.85)×1250px` 拉远鼓包——峰值处画面缩到 ~0.6,三窗同框,"瞥见全貌";按相机屏速加横向方向性模糊(只在飞行段生效)
16
- - 景深:每窗按与当前站点的距离算 focus → `blur 0–3px + brightness 0.62–1 + opacity 0.72–1`;拉远时景深整体变深(离焦量随 pull 收窄),全景里三窗都认得出是终端
17
- - 空间锚点:地面是按与 world 完全同构的投影公式逐线画出的 SVG 透视网格(线宽恒定不闪);焦点窗背后一团背光、脚下一摊强调色反光(都按窗心投影到屏幕);每窗后方立一枚 560px 描边步骤号,飞行时与窗口产生视差
18
- - 打字机三要素:命令逐字符(每字 0.75–1.65f 确定性抖动、空格多停 0.6f)、块光标紧贴字尾(打字中常亮 / 打完 8f 半周期闪)、敲完停 2f 再回车;输出是终端式快速打印(每行 6f snappy 淡入 + 左移 10px 收回,行距 4f),状态位先转 braille 小菊花 ~6f 再落成 ✓
19
- - 打字起点 TYPE_AT `[8, 94, 184]` 均在到站后——飞行中不打字,注意力不分裂;全片唯一泛光给第三窗的 ● READY 成片名(Q4)
20
-
21
- ## 参数表
22
- | 参数 | 典型值 | 调节手感 |
23
- |------|--------|----------|
24
- | 拉远鼓包 | sin(π·u^0.85)×1250px | 砍掉后飞行是"平移"没有"起降";<800 时飞行中只看得见两窗,全貌感没了 |
25
- | 飞行/停留 | 飞 30f,站内 ~60–90f | 停留必须容下打字 ~20f + 输出 ~20f + 读秒 ≥14f |
26
- | 侧视角 | 8–10°(VIEW 表) | 0° 退化成平面截图;>18° 等宽字被透视压扁读不清(Q6) |
27
- | 景深 | blur ≤3px,拉远时 ×(1−0.45) | 离焦太狠时飞行全程一片糊,空间关系读不出 |
28
- | 打字节奏 | 0.75–1.65f/字 + 空格 +0.6f | 匀速逐字读作机器回放;>2.5f/字 观众等得不耐烦 |
29
- | 输出打印 | 6f snappy、行距 4f | 终端是"吐"出来的,慢滑入(>12f)读作 PPT |
30
- | 窗口姿态 | x 间距 ~1500px,z −220~+260,ry ±14–28° | 角度差与前后错落是"空间散布感"来源;全部朝正前会退化成平面轮播 |
31
-
32
- ## 已知坑
33
- - 相机是逆变换实现,**窗口 transform、world transform、地面/背光的 project() 三处必须同构**——改姿态只改 POSES / VIEW 数据,改相机链就三处一起改,否则地面网格和窗口会"滑"
34
- - 命令/输出文案是示意的 video-shotcraft 出片流程(shotcraft init / render / export:搭分镜 → 渲染 → 混音导出),换项目真实命令时保持"命令短、输出 3–5 行"的信息结构
35
- - 光标闪烁按帧取模(8f 半周期),改时长不影响;"打字中常亮、待机慢闪"的对比要保留
36
- - 第三窗 READY 行在 ~220f 弹出,之后至少留 ~24f hold,否则尾帧没有落定
37
- - 光标必须紧贴已打出的字符:未打出的字符不要用 opacity 0 占位(会把光标顶到行尾空处悬着)
38
- - 整摞 SpeedBlur 是全屏 SVG 滤镜,只在飞行段速度 >0 时启用;静止段零开销,别改成常驻
39
-
40
- ## 参考实现
41
- demos/camera/terminal-3d/
42
- (Terminal3D.tsx)
1
+ ---
2
+ name: terminal-3d
3
+ 一句话: 三个终端窗散布 3D 空间,相机窗间飞行、途中正弦拉远,每到一窗打字机敲命令、结果逐行滑出——命令执行的空间叙事流
4
+ 适用: 开发者产品的 CLI/工作流演示:把"三步命令"拍成三站空间旅程
5
+ 时长: 约 8.2s(246f@30fps;三站各约 2–3s 停留 + 两段 30f 飞行)
6
+ 能量: 中(飞行给动感、打字给节奏,整体是沉稳的技术叙事;收在 ● READY 一记亮点)
7
+ ---
8
+
9
+ ## 意图
10
+ 终端输出天生是"平面滚动"的反电影语言,这张卡把它空间化:每条命令占据空间中一个实体窗口,相机像穿过机房一样逐窗拜访。飞行途中的拉远让观众瞥见"还有更多窗口"——工作流的全貌感。
11
+
12
+ ## 动效核心
13
+ - 三窗各持 pose(x/y/z/ry,世界坐标 px),相机走**逆变换**:`translateZ(-pull) rotateX(tilt) rotateY(view−ry) translate3d(-x,-y,-z)`——写窗口姿态表即得相机路径;每站留 8–10° 侧视角(VIEW 表),落定时窗口不完全正对,读得清且有体积
14
+ - 窗口按真实屏幕尺寸布局(1180×620,命令 52px / 输出 38px 等宽),相机落定时 1:1 栅格化——不靠外层放大,文字不糊(Q2)
15
+ - 两段飞行各 30f(swift 不对称 in-out),途中 `sin(π·u^0.85)×1250px` 拉远鼓包——峰值处画面缩到 ~0.6,三窗同框,"瞥见全貌";按相机屏速加横向方向性模糊(只在飞行段生效)
16
+ - 景深:每窗按与当前站点的距离算 focus → `blur 0–3px + brightness 0.62–1 + opacity 0.72–1`;拉远时景深整体变深(离焦量随 pull 收窄),全景里三窗都认得出是终端
17
+ - 空间锚点:地面是按与 world 完全同构的投影公式逐线画出的 SVG 透视网格(线宽恒定不闪);焦点窗背后一团背光、脚下一摊强调色反光(都按窗心投影到屏幕);每窗后方立一枚 560px 描边步骤号,飞行时与窗口产生视差
18
+ - 打字机三要素:命令逐字符(每字 0.75–1.65f 确定性抖动、空格多停 0.6f)、块光标紧贴字尾(打字中常亮 / 打完 8f 半周期闪)、敲完停 2f 再回车;输出是终端式快速打印(每行 6f snappy 淡入 + 左移 10px 收回,行距 4f),状态位先转 braille 小菊花 ~6f 再落成 ✓
19
+ - 打字起点 TYPE_AT `[8, 94, 184]` 均在到站后——飞行中不打字,注意力不分裂;全片唯一泛光给第三窗的 ● READY 成片名(Q4)
20
+
21
+ ## 参数表
22
+ | 参数 | 典型值 | 调节手感 |
23
+ |------|--------|----------|
24
+ | 拉远鼓包 | sin(π·u^0.85)×1250px | 砍掉后飞行是"平移"没有"起降";<800 时飞行中只看得见两窗,全貌感没了 |
25
+ | 飞行/停留 | 飞 30f,站内 ~60–90f | 停留必须容下打字 ~20f + 输出 ~20f + 读秒 ≥14f |
26
+ | 侧视角 | 8–10°(VIEW 表) | 0° 退化成平面截图;>18° 等宽字被透视压扁读不清(Q6) |
27
+ | 景深 | blur ≤3px,拉远时 ×(1−0.45) | 离焦太狠时飞行全程一片糊,空间关系读不出 |
28
+ | 打字节奏 | 0.75–1.65f/字 + 空格 +0.6f | 匀速逐字读作机器回放;>2.5f/字 观众等得不耐烦 |
29
+ | 输出打印 | 6f snappy、行距 4f | 终端是"吐"出来的,慢滑入(>12f)读作 PPT |
30
+ | 窗口姿态 | x 间距 ~1500px,z −220~+260,ry ±14–28° | 角度差与前后错落是"空间散布感"来源;全部朝正前会退化成平面轮播 |
31
+
32
+ ## 已知坑
33
+ - 相机是逆变换实现,**窗口 transform、world transform、地面/背光的 project() 三处必须同构**——改姿态只改 POSES / VIEW 数据,改相机链就三处一起改,否则地面网格和窗口会"滑"
34
+ - 命令/输出文案是示意的 video-shotcraft 出片流程(shotcraft init / render / export:搭分镜 → 渲染 → 混音导出),换项目真实命令时保持"命令短、输出 3–5 行"的信息结构
35
+ - 光标闪烁按帧取模(8f 半周期),改时长不影响;"打字中常亮、待机慢闪"的对比要保留
36
+ - 第三窗 READY 行在 ~220f 弹出,之后至少留 ~24f hold,否则尾帧没有落定
37
+ - 光标必须紧贴已打出的字符:未打出的字符不要用 opacity 0 占位(会把光标顶到行尾空处悬着)
38
+ - 整摞 SpeedBlur 是全屏 SVG 滤镜,只在飞行段速度 >0 时启用;静止段零开销,别改成常驻
39
+
40
+ ## 参考实现
41
+ demos/camera/terminal-3d/
42
+ (Terminal3D.tsx)
@@ -1,48 +1,48 @@
1
- ---
2
- name: before-after-slider-scrub
3
- 一句话: 前后对比拉杆——"处理前/后"两版叠放,分割杆先猛甩后慢扫,杆过处新版"显影"揭出
4
- 适用: AI 增强/优化/重构类功能的效果对比段落("用前 vs 用后"一镜讲清)
5
- 时长: 4–5s
6
- 能量: 中(快甩是打击点,慢扫是阅读期)
7
- 标签: interaction
8
- ---
9
-
10
- ## 意图
11
- AI 图像产品发布片的标准对比语法:同一画面"处理前"(低对比灰蒙)
12
- 与"处理后"(清晰版)叠放,带圆手柄的竖分割杆先从左端猛甩到 70%
13
- (overshoot 回弹)、停一拍,再以约 1/5 的速度慢扫回来让观众看清
14
- 差异——**快甩慢扫的速度对比就是节奏**:快甩宣告"变了",
15
- 慢扫证明"变在哪"。
16
-
17
- ## 动作阶段
18
- | 阶段 | 帧段参考 | 内容 |
19
- |------|------|------|
20
- | 1 静置 | f0–14 | 杆停 8%,画面几乎全是"处理前";f10–14 先向左预备回拉到 6.5% |
21
- | 2 快甩 | 12f | 8%→76%(out cubic)过冲 |
22
- | 3 回弹 | 12f | 76%→70% |
23
- | 4 停顿 | ~18f | 让观众看清 after |
24
- | 5 慢扫 | ~48f | 70%→40% 二次展示差异 |
25
- | 6 定格 | 末 ≥40f | 真静止 |
26
-
27
- ## 参数表
28
- | 参数 | 典型值 | 调节手感 |
29
- |------|--------|----------|
30
- | 速度比 | 快甩 12f vs 慢扫 48f,约 5:1 | 比例 <3:1 节奏对比不可感 |
31
- | 揭示 | after 层 clip-path inset 右边界跟随杆 x | 杆和揭示边界错位即穿帮 |
32
- | 手柄 | 圆形手柄 + 速度差分驱动 scaleX 微拉伸(峰值 1.18),静止自动归 1 | 拉伸给手柄"被甩"的重量感 |
33
- | before 处理 | 低对比灰蒙版 | before 太难看是自黑,"差"要可信(真实旧版/未优化态) |
34
- | 角标 | BEFORE/AFTER 角标放内容区 | demo 判例:初版压住侧栏/头像穿帮 |
35
-
36
- ## 已知坑
37
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
38
- 首次实战须以真实素材回验
39
- - 两版必须同布局同机位——布局不同读作两个页面,对比失效
40
- (theme-switch-moves 同款约束)
41
- - 实战 before/after 都用真实截图(Q1):before 是注入旧数据/关闭
42
- 功能的真实态,不手搓"故意丑"的假 before
43
- - 慢扫终点停 40% 而非 0%——留一段 after 在画面上定格(结论可见)
44
- - 声音:快甩一声 whoosh + 回弹轻 tick,慢扫无声或极轻摩擦音(S4)
45
-
46
- ## 参考实现
47
- demos/data/before-after-slider-scrub/
48
- (BeforeAfterSliderScrub.tsx)
1
+ ---
2
+ name: before-after-slider-scrub
3
+ 一句话: 前后对比拉杆——"处理前/后"两版叠放,分割杆先猛甩后慢扫,杆过处新版"显影"揭出
4
+ 适用: AI 增强/优化/重构类功能的效果对比段落("用前 vs 用后"一镜讲清)
5
+ 时长: 4–5s
6
+ 能量: 中(快甩是打击点,慢扫是阅读期)
7
+ 标签: interaction
8
+ ---
9
+
10
+ ## 意图
11
+ AI 图像产品发布片的标准对比语法:同一画面"处理前"(低对比灰蒙)
12
+ 与"处理后"(清晰版)叠放,带圆手柄的竖分割杆先从左端猛甩到 70%
13
+ (overshoot 回弹)、停一拍,再以约 1/5 的速度慢扫回来让观众看清
14
+ 差异——**快甩慢扫的速度对比就是节奏**:快甩宣告"变了",
15
+ 慢扫证明"变在哪"。
16
+
17
+ ## 动作阶段
18
+ | 阶段 | 帧段参考 | 内容 |
19
+ |------|------|------|
20
+ | 1 静置 | f0–14 | 杆停 8%,画面几乎全是"处理前";f10–14 先向左预备回拉到 6.5% |
21
+ | 2 快甩 | 12f | 8%→76%(out cubic)过冲 |
22
+ | 3 回弹 | 12f | 76%→70% |
23
+ | 4 停顿 | ~18f | 让观众看清 after |
24
+ | 5 慢扫 | ~48f | 70%→40% 二次展示差异 |
25
+ | 6 定格 | 末 ≥40f | 真静止 |
26
+
27
+ ## 参数表
28
+ | 参数 | 典型值 | 调节手感 |
29
+ |------|--------|----------|
30
+ | 速度比 | 快甩 12f vs 慢扫 48f,约 5:1 | 比例 <3:1 节奏对比不可感 |
31
+ | 揭示 | after 层 clip-path inset 右边界跟随杆 x | 杆和揭示边界错位即穿帮 |
32
+ | 手柄 | 圆形手柄 + 速度差分驱动 scaleX 微拉伸(峰值 1.18),静止自动归 1 | 拉伸给手柄"被甩"的重量感 |
33
+ | before 处理 | 低对比灰蒙版 | before 太难看是自黑,"差"要可信(真实旧版/未优化态) |
34
+ | 角标 | BEFORE/AFTER 角标放内容区 | demo 判例:初版压住侧栏/头像穿帮 |
35
+
36
+ ## 已知坑
37
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
38
+ 首次实战须以真实素材回验
39
+ - 两版必须同布局同机位——布局不同读作两个页面,对比失效
40
+ (theme-switch-moves 同款约束)
41
+ - 实战 before/after 都用真实截图(Q1):before 是注入旧数据/关闭
42
+ 功能的真实态,不手搓"故意丑"的假 before
43
+ - 慢扫终点停 40% 而非 0%——留一段 after 在画面上定格(结论可见)
44
+ - 声音:快甩一声 whoosh + 回弹轻 tick,慢扫无声或极轻摩擦音(S4)
45
+
46
+ ## 参考实现
47
+ demos/data/before-after-slider-scrub/
48
+ (BeforeAfterSliderScrub.tsx)
@@ -1,52 +1,52 @@
1
- ---
2
- name: chart-live-moves
3
- 一句话: 活体图表三式——oscilloscope-stream 示波流线(曲线右端实时写入+突发尖峰)、unit-dot-swarm-regroup 点阵重组(点群三幕迁徙聚成数字)、axis-rescale-shock 轴爆表重标(新值冲出画框逼 y 轴重标)
4
- 适用: 数据叙事段落;分别讲"实时性"、"每个数字是一个人"、"增长装不下"
5
- 时长: 各 165–192f(5.5–6.4s)
6
- 能量: 中高(数据即剧情)
7
- ---
8
-
9
- ## 意图
10
- 图表不是插图是剧情。三式共同前提(实测判例):**必须真图表语境**
11
- ——真轴标/真数据/真文案,灰阶占位条测不出数据叙事的表达力。
12
- A 示波流线:曲线写入点钉在右端上下起伏,旧数据左流出画,中途一次
13
- 突发尖峰(振幅 2.2×、读数跳大变强调色)——"实时"不用说出口,还有事件;
14
- B 点阵重组:320 个点(每点≈40 renders)散布→聚三簇(浮 Promo/Launch film/
15
- Explainer 真标签)→列队成柱(真轴标)→聚成点阵大数字 "12,847"——
16
- 同一批点,观众能跟着某一颗看它归队;
17
- C 轴爆表:折线正常爬升,新值顶破图表天花板规线冲出 226px(强调色粗线
18
- 插进标题区、撞进右上 KPI 数字),停半拍,y 轴"哗"地重标(旧刻度飞出/新刻度滑入/网格
19
- 加密/旧线压扁成地平线),新值落回+弹真值标签——用"坐标轴装不下"演增长。
20
-
21
- ## 三式选型
22
- | 式 | 核心动作 | 适用 |
23
- |----|----------|------|
24
- | A oscilloscope-stream | 采样窗平移 8px/f + 高斯脉冲尖峰(带前兆/余震)+ 刹停真静止 + 刹停后缓推向尖峰 | 监控/实时类产品:"活着"的系统 |
25
- | B unit-dot-swarm-regroup | 三幕 spring 错峰迁徙(stiffness 150、damping 13、错峰 8f),簇用向日葵螺旋紧排,终幕点阵拼数字 | 用户量/构成叙事:"每个点是一个人" |
26
- | C axis-rescale-shock | 冲出天花板 226px(规线裂口 + 碎屑)+ 重标三联动(刻度换/网格密/旧线压扁)+ 震 10px | 增长曲线高光:"off the charts" 字面化 |
27
-
28
- ## 参数表
29
- | 参数 | 典型值 | 调节手感 |
30
- |------|--------|----------|
31
- | 真语境 | 真标题/真轴标/真单位/真读数 | **入库前提**:灰阶版三条全数被裁,换真语境后全过 |
32
- | 主角色 | 强调色标事件/主角(demo:A 珊瑚红尖峰、B 钴蓝 Launch film 簇、C 赤陶爆表段) | 全灰读不出"哪里是重点" |
33
- | A 流速 | 8px/f | 5.5 已可感,8 更明确;波形纯函数禁随机 |
34
- | B 点数/点径 | 320 / 直径 20px(迁徙中按速度拉成胶囊,封顶 +20px) | 点太少拼不出数字,太小看不见个体;拉伸过长会糊成一片 |
35
- | C 冲出幅度 | 天花板规线外 226px | 80px 版不够"爆";真的插进标题区才是事故感 |
36
- | 收尾 | 三式都要 ≥36f 真静止 | 数据图表尾漂读作还没播完 |
37
-
38
- ## 已知坑
39
- - demo 以 video-shotcraft 的示意渲染数据调校(A 深蓝示波屏·渲染农场 fps、B 瓷白信息图·按片型分的渲染量、
40
- C 沙色瑞士海报·月度渲染量),数值是示意——参数是调校起点非实战定稿,首次实战须以真实素材回验
41
- - 三式的读数 / 刻度 / 标签都按成片字号做(≥32px,主读数 120–176px);图表撑满画面而不是缩在卡片里
42
- - 三式是三种独立手法不是套餐——同片用两式以上时各 ≤1 次且错开段落
43
- - A 的尖峰事件、C 的重标只能发生一次;重复即廉价
44
- - B 终幕数字字形要预先手算(点数=位点数用满才整齐;参考实现用单线骨架等弧长采样、法向双排,恰好 320 颗无重叠)
45
- - 与 dataviz-landscape-open(抽象数据地景开场)分工:那是开场氛围,
46
- 这三式是段落内的具体数据论证
47
- - 声音:A 尖峰一声警示 tick;B 每幕迁徙一声 whoosh;C 冲出框
48
- 一声 riser、重标一声"哗啦"
49
-
50
- ## 参考实现
51
- demos/data/chart-live-moves/
52
- (AxisRescaleShockV2.tsx / OscilloscopeStreamV2.tsx / UnitDotSwarmRegroupV2.tsx)
1
+ ---
2
+ name: chart-live-moves
3
+ 一句话: 活体图表三式——oscilloscope-stream 示波流线(曲线右端实时写入+突发尖峰)、unit-dot-swarm-regroup 点阵重组(点群三幕迁徙聚成数字)、axis-rescale-shock 轴爆表重标(新值冲出画框逼 y 轴重标)
4
+ 适用: 数据叙事段落;分别讲"实时性"、"每个数字是一个人"、"增长装不下"
5
+ 时长: 各 165–192f(5.5–6.4s)
6
+ 能量: 中高(数据即剧情)
7
+ ---
8
+
9
+ ## 意图
10
+ 图表不是插图是剧情。三式共同前提(实测判例):**必须真图表语境**
11
+ ——真轴标/真数据/真文案,灰阶占位条测不出数据叙事的表达力。
12
+ A 示波流线:曲线写入点钉在右端上下起伏,旧数据左流出画,中途一次
13
+ 突发尖峰(振幅 2.2×、读数跳大变强调色)——"实时"不用说出口,还有事件;
14
+ B 点阵重组:320 个点(每点≈40 renders)散布→聚三簇(浮 Promo/Launch film/
15
+ Explainer 真标签)→列队成柱(真轴标)→聚成点阵大数字 "12,847"——
16
+ 同一批点,观众能跟着某一颗看它归队;
17
+ C 轴爆表:折线正常爬升,新值顶破图表天花板规线冲出 226px(强调色粗线
18
+ 插进标题区、撞进右上 KPI 数字),停半拍,y 轴"哗"地重标(旧刻度飞出/新刻度滑入/网格
19
+ 加密/旧线压扁成地平线),新值落回+弹真值标签——用"坐标轴装不下"演增长。
20
+
21
+ ## 三式选型
22
+ | 式 | 核心动作 | 适用 |
23
+ |----|----------|------|
24
+ | A oscilloscope-stream | 采样窗平移 8px/f + 高斯脉冲尖峰(带前兆/余震)+ 刹停真静止 + 刹停后缓推向尖峰 | 监控/实时类产品:"活着"的系统 |
25
+ | B unit-dot-swarm-regroup | 三幕 spring 错峰迁徙(stiffness 150、damping 13、错峰 8f),簇用向日葵螺旋紧排,终幕点阵拼数字 | 用户量/构成叙事:"每个点是一个人" |
26
+ | C axis-rescale-shock | 冲出天花板 226px(规线裂口 + 碎屑)+ 重标三联动(刻度换/网格密/旧线压扁)+ 震 10px | 增长曲线高光:"off the charts" 字面化 |
27
+
28
+ ## 参数表
29
+ | 参数 | 典型值 | 调节手感 |
30
+ |------|--------|----------|
31
+ | 真语境 | 真标题/真轴标/真单位/真读数 | **入库前提**:灰阶版三条全数被裁,换真语境后全过 |
32
+ | 主角色 | 强调色标事件/主角(demo:A 珊瑚红尖峰、B 钴蓝 Launch film 簇、C 赤陶爆表段) | 全灰读不出"哪里是重点" |
33
+ | A 流速 | 8px/f | 5.5 已可感,8 更明确;波形纯函数禁随机 |
34
+ | B 点数/点径 | 320 / 直径 20px(迁徙中按速度拉成胶囊,封顶 +20px) | 点太少拼不出数字,太小看不见个体;拉伸过长会糊成一片 |
35
+ | C 冲出幅度 | 天花板规线外 226px | 80px 版不够"爆";真的插进标题区才是事故感 |
36
+ | 收尾 | 三式都要 ≥36f 真静止 | 数据图表尾漂读作还没播完 |
37
+
38
+ ## 已知坑
39
+ - demo 以 video-shotcraft 的示意渲染数据调校(A 深蓝示波屏·渲染农场 fps、B 瓷白信息图·按片型分的渲染量、
40
+ C 沙色瑞士海报·月度渲染量),数值是示意——参数是调校起点非实战定稿,首次实战须以真实素材回验
41
+ - 三式的读数 / 刻度 / 标签都按成片字号做(≥32px,主读数 120–176px);图表撑满画面而不是缩在卡片里
42
+ - 三式是三种独立手法不是套餐——同片用两式以上时各 ≤1 次且错开段落
43
+ - A 的尖峰事件、C 的重标只能发生一次;重复即廉价
44
+ - B 终幕数字字形要预先手算(点数=位点数用满才整齐;参考实现用单线骨架等弧长采样、法向双排,恰好 320 颗无重叠)
45
+ - 与 dataviz-landscape-open(抽象数据地景开场)分工:那是开场氛围,
46
+ 这三式是段落内的具体数据论证
47
+ - 声音:A 尖峰一声警示 tick;B 每幕迁徙一声 whoosh;C 冲出框
48
+ 一声 riser、重标一声"哗啦"
49
+
50
+ ## 参考实现
51
+ demos/data/chart-live-moves/
52
+ (AxisRescaleShockV2.tsx / OscilloscopeStreamV2.tsx / UnitDotSwarmRegroupV2.tsx)
@@ -1,45 +1,45 @@
1
- ---
2
- name: gauge-readout-moves
3
- 一句话: 仪表读数两式——needle-sweep-selftest 满弧扫针(点火自检指针甩满全弧再回落真值)与 tape-scroll-fixed-pointer 滚带定针(针不动刻度带滚过+冲刺刹车)
4
- 适用: dashboard 开场仪式/性能指标揭晓;A 多表盘开机感,B 单指标大跳变
5
- 时长: A 140f(4.7s)/ B 150f(5s)
6
- 能量: 中高(机械仪式型)
7
- ---
8
-
9
- ## 意图
10
- 把"报数值"做成仪表的身体动作:A 是汽车点火自检——卡片里三个并排表盘
11
- 指针先"唰"地甩满全弧(270°)、扫过的刻度依次点亮,再弹簧回落定格真实值,
12
- 多表错峰成波浪,落定同帧盘下数值弹出,先亮量程再报数,开场宣誓感;
13
- B 是飞机空速带语法——读数窗 + 指针钉死画面中线,贯穿全画高的刻度带整体从窗后滚过,先顶着旧上限慢爬、升级后冲刺
14
- (峰值 ~100px/f)、末尾 spring 刹车带回摆过冲,"世界动、针不动",
15
- 数值大小变成看得见的位移距离。
16
-
17
- ## 两式选型
18
- | 式 | 做法 | 适用 |
19
- |----|------|------|
20
- | A needle-sweep-selftest | 表面与外环点亮 → 指针去程 12f ease-out 甩满弧(扫过的刻度依次点亮、24f 内回落)→ 弹簧回程 ~8° 过冲回摆落真值;三表错峰 4f;落定同帧盘下数值 overshoot 弹出、指标名淡入,全部落定后自检胶囊 Running self-test… → Ready to render | dashboard 开场/系统就绪仪式 |
21
- | B tape-scroll-fixed-pointer | 全画高刻度带 translate:慢爬顶住旧上限线→上限线断开→预备回拉 5→冲刺 22f(峰值 ~100px/f,纵向运动模糊)→spring 刹车过冲回摆停位,新上限 bug 停进指针;窗内读数同步刷新 | 单指标大跳变(性能翻倍/配额提升) |
22
-
23
- ## 参数表
24
- | 参数 | 典型值 | 调节手感 |
25
- |------|--------|----------|
26
- | A 甩弧幅度 | 满量程 270°,到顶即回程 | 只甩到真值=没有自检仪式感;满弧再回落才是"先亮量程";去程扫过的刻度(含红区)依次点亮 |
27
- | A 过冲 | 回落带 ~8° 回摆(按行程反算弹簧阻尼) | 无过冲读作电子表;过冲=机械指针的质量 |
28
- | A 错峰 | 4f/表(左→中→右) | 齐甩读作复制粘贴;错峰成波浪 |
29
- | B 冲刺速度 | 5px/单位、峰值 ~100px/f(大跳变段) | 慢了读作匀速爬升,"世界动"不成立;带子越长越大,越要配纵向运动模糊 |
30
- | B 刹车 | spring 过冲(冲过头再弹回停位) | 词汇原案的回摆是"哐"的来源,直停可惜 |
31
- | 真静止 | 停位后 ≥30f 全锁死(A 末表落定 ~66f、B 110f 锁常数) | 指针类最忌尾漂 |
32
-
33
- ## 已知坑
34
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
35
- 首次实战须以真实素材回验
36
- - 同批 ring-close-overfill(合环过盈)改改再看无附言——环形进度类
37
- 待重做,别急着当第三式并入
38
- - A 的表盘是自绘 SVG(弧刻度+指针),实战贴真 dashboard 时优先找
39
- 页面里现成的 gauge 组件特写,没有再造
40
- - 声音:A 甩针一声"唰"+落定"嗒"(多表错峰各一声);B 冲刺段
41
- 低频滚动声、刹车一声闷"哐"
42
-
43
- ## 参考实现
44
- demos/data/gauge-readout-moves/
45
- (NeedleSweepSelftest.tsx / TapeScrollFixedPointer.tsx)
1
+ ---
2
+ name: gauge-readout-moves
3
+ 一句话: 仪表读数两式——needle-sweep-selftest 满弧扫针(点火自检指针甩满全弧再回落真值)与 tape-scroll-fixed-pointer 滚带定针(针不动刻度带滚过+冲刺刹车)
4
+ 适用: dashboard 开场仪式/性能指标揭晓;A 多表盘开机感,B 单指标大跳变
5
+ 时长: A 140f(4.7s)/ B 150f(5s)
6
+ 能量: 中高(机械仪式型)
7
+ ---
8
+
9
+ ## 意图
10
+ 把"报数值"做成仪表的身体动作:A 是汽车点火自检——卡片里三个并排表盘
11
+ 指针先"唰"地甩满全弧(270°)、扫过的刻度依次点亮,再弹簧回落定格真实值,
12
+ 多表错峰成波浪,落定同帧盘下数值弹出,先亮量程再报数,开场宣誓感;
13
+ B 是飞机空速带语法——读数窗 + 指针钉死画面中线,贯穿全画高的刻度带整体从窗后滚过,先顶着旧上限慢爬、升级后冲刺
14
+ (峰值 ~100px/f)、末尾 spring 刹车带回摆过冲,"世界动、针不动",
15
+ 数值大小变成看得见的位移距离。
16
+
17
+ ## 两式选型
18
+ | 式 | 做法 | 适用 |
19
+ |----|------|------|
20
+ | A needle-sweep-selftest | 表面与外环点亮 → 指针去程 12f ease-out 甩满弧(扫过的刻度依次点亮、24f 内回落)→ 弹簧回程 ~8° 过冲回摆落真值;三表错峰 4f;落定同帧盘下数值 overshoot 弹出、指标名淡入,全部落定后自检胶囊 Running self-test… → Ready to render | dashboard 开场/系统就绪仪式 |
21
+ | B tape-scroll-fixed-pointer | 全画高刻度带 translate:慢爬顶住旧上限线→上限线断开→预备回拉 5→冲刺 22f(峰值 ~100px/f,纵向运动模糊)→spring 刹车过冲回摆停位,新上限 bug 停进指针;窗内读数同步刷新 | 单指标大跳变(性能翻倍/配额提升) |
22
+
23
+ ## 参数表
24
+ | 参数 | 典型值 | 调节手感 |
25
+ |------|--------|----------|
26
+ | A 甩弧幅度 | 满量程 270°,到顶即回程 | 只甩到真值=没有自检仪式感;满弧再回落才是"先亮量程";去程扫过的刻度(含红区)依次点亮 |
27
+ | A 过冲 | 回落带 ~8° 回摆(按行程反算弹簧阻尼) | 无过冲读作电子表;过冲=机械指针的质量 |
28
+ | A 错峰 | 4f/表(左→中→右) | 齐甩读作复制粘贴;错峰成波浪 |
29
+ | B 冲刺速度 | 5px/单位、峰值 ~100px/f(大跳变段) | 慢了读作匀速爬升,"世界动"不成立;带子越长越大,越要配纵向运动模糊 |
30
+ | B 刹车 | spring 过冲(冲过头再弹回停位) | 词汇原案的回摆是"哐"的来源,直停可惜 |
31
+ | 真静止 | 停位后 ≥30f 全锁死(A 末表落定 ~66f、B 110f 锁常数) | 指针类最忌尾漂 |
32
+
33
+ ## 已知坑
34
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
35
+ 首次实战须以真实素材回验
36
+ - 同批 ring-close-overfill(合环过盈)改改再看无附言——环形进度类
37
+ 待重做,别急着当第三式并入
38
+ - A 的表盘是自绘 SVG(弧刻度+指针),实战贴真 dashboard 时优先找
39
+ 页面里现成的 gauge 组件特写,没有再造
40
+ - 声音:A 甩针一声"唰"+落定"嗒"(多表错峰各一声);B 冲刺段
41
+ 低频滚动声、刹车一声闷"哐"
42
+
43
+ ## 参考实现
44
+ demos/data/gauge-readout-moves/
45
+ (NeedleSweepSelftest.tsx / TapeScrollFixedPointer.tsx)