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,60 +1,60 @@
1
- ---
2
- name: icon-field-colorize
3
- 一句话: 灰阶小图标点阵错峰浮现铺满全屏,停一拍后多道品牌色横带波纹极快向下扫翻全场——"功能全景先摆满,品牌一瞬间点亮"的开场/收束卡
4
- 适用: 开场铺陈产品能力面(图标=功能宇宙)再一举打上品牌色;功能集合页、生态/集成规模展示、片头 logo 前垫场
5
- 时长: 浮现 ~45f 错峰 + 静置 ~10f + 翻色 12–45f + 终态静置;全段 3–6s(demo 170f:翻色走 30f 档 + 标题落版 + 终态 hold 1s)
6
- 能量: 中(浮现是铺垫,翻色瞬间是唯一爆点)
7
- 标签: ui-entrance、outro
8
- ---
9
-
10
- ## 意图
11
- 先用灰阶把"多"摆足——上百个小图标错峰浮进来铺满画面,灰阶保证
12
- 读作背景纹理不抢戏;停一拍让观众意识到"摆满了",然后品牌色以
13
- 横带波纹形式极快扫过全场,灰世界一瞬间被点亮。命门在**翻色不是
14
- 同帧硬翻**:原片实测是 ~0.5s 内多道色波依次向下快扫(蓝先覆盖全场,
15
- 橙/绿/红依次覆盖更低行带),终态呈四色横带分层——波纹感让"点亮"
16
- 有方向和速度,硬翻只读作换了张图。
17
-
18
- ## 动效核心
19
- - 图标场:150–200 个小图标网格排布(行间半格错位),灰阶 3–4 档
20
- 随机;mulberry32 定分组/灰度/形状;demo 把图标装进键帽式圆角方块——暗场里
21
- 灰阶 = "还没通电"的深色键帽(暖黑底、发丝边、顶沿受光、暗灰字形),
22
- 翻色 = 通电:整块变成发光色块 + 深色字形 + 同色泛光
23
- - 浮现批次按离画面中心距离(75%)+ 噪声分组,读作从中心向外铺开
24
- - 浮现:分 10 批错峰淡入(批间 4.4f + 批内 ≤3f 抖动),每个带
25
- 0.6→1.06→1 微弹(overshoot 一次过冲回落)+ 上浮 10px
26
- - 静置一拍(~18f):让"铺满"被读到;最后 10f 整场压暗 12% 作蓄力(吸气),第一道波到达时回满
27
- - 翻色:多道色波按行推进,行差 ~1.4f + 列微倾 0.25f + 每图标 ≤1.5f
28
- 抖动(斜切波前沿,不是整行同帧);每道波从自己的起始行向下覆盖,
29
- 后波覆盖更低行带 → 终态多色横带
30
- - 单枚翻色 4f:新色**自上而下 clip 灌满**键帽(与波方向一致,不做透明度混合)+ 1.22x 正弦 pop,
31
- 灌满后一记 5f 的 screen 白闪 + 泛光过冲,给波前沿"通电"的质感
32
- - 光溢出:每行亮起后身后舞台染上同色横向光带(强度 = 该行已亮比例),整片原野真的亮起来
33
- - 落版:光稳定后中心起一层径向暗幕(只压中心,四周光保留),video-shotcraft 字标(眉题位)+ 两行 132px 标题「Every shot, / one place.」逐词升起;第二行别超过暗幕宽度,否则字边压在亮键帽上
34
-
35
- ## 参数表
36
- | 参数 | 典型值 | 调节手感 |
37
- |------|--------|----------|
38
- | 图标数 | 170(17×10 @1080p,格距 108×106,键帽 66px) | <100 读不出"原野";>250 单个太小翻色 pop 看不见 |
39
- | 浮现总长 | ~48f(10 批 × 4.4f + 尾批淡入 7f) | 太快读作闪现;>60f 观众等不及爆点 |
40
- | 翻色总长 | 原片 ~12f 全场完成;demo ~30f | 越快越爆;教学/慢节奏场合才拉长 |
41
- | 波数与色 | 4 道,同色系日出渐变(金 → 琥珀 → 橙 → 珊瑚红) | 1 道=单色点亮也成立;四色跨色相(蓝/橙/绿/红)读作彩虹,同色系分段更像品牌 |
42
- | 行差 | 1.4f/行 + 列 0.25f 微倾 | 行差 >3f 波读作逐行扫描仪;0 = 硬翻 |
43
- | 翻色 pop | 1.22x 正弦 4f + clip 灌满 | 无 pop 波前沿读不出来;>1.4x 图标互相打架 |
44
-
45
- ## 已知坑
46
- - demo 在手绘简笔图标上调校通过——参数是调校起点非实战定稿,
47
- 首次实战须以真实素材回验
48
- - 翻色别用透明度交叉淡入:暖色半透明叠在暗底上会过一段橄榄/灰泥色(判例),用 clip 擦入;
49
- 白闪也要等新色盖满后再起,否则半透明叠层上的白闪发灰
50
- - **翻色不许同帧硬翻**——原片密帧核实为多道波纹快扫(bear-app
51
- 25fps 密帧:蓝→橙/绿/红约 0.5s 内完成),硬翻读作换图无"点亮"感
52
- - 图标需可辨认的实心简笔形(心/星/闪电/对勾…);抽象色块读不出
53
- "功能宇宙"语义
54
- - 与 theme-switch-moves 分工:那张是 UI 界面明暗主题切换;本卡
55
- 是装饰性图标场的品牌色点亮,不承载界面语义
56
-
57
- ## 参考实现
58
- demos/opening/icon-field-colorize/
59
- (IconFieldColorize.tsx)
60
- 原片出处:bear-app.mp4 ≈0.0–3.0s
1
+ ---
2
+ name: icon-field-colorize
3
+ 一句话: 灰阶小图标点阵错峰浮现铺满全屏,停一拍后多道品牌色横带波纹极快向下扫翻全场——"功能全景先摆满,品牌一瞬间点亮"的开场/收束卡
4
+ 适用: 开场铺陈产品能力面(图标=功能宇宙)再一举打上品牌色;功能集合页、生态/集成规模展示、片头 logo 前垫场
5
+ 时长: 浮现 ~45f 错峰 + 静置 ~10f + 翻色 12–45f + 终态静置;全段 3–6s(demo 170f:翻色走 30f 档 + 标题落版 + 终态 hold 1s)
6
+ 能量: 中(浮现是铺垫,翻色瞬间是唯一爆点)
7
+ 标签: ui-entrance、outro
8
+ ---
9
+
10
+ ## 意图
11
+ 先用灰阶把"多"摆足——上百个小图标错峰浮进来铺满画面,灰阶保证
12
+ 读作背景纹理不抢戏;停一拍让观众意识到"摆满了",然后品牌色以
13
+ 横带波纹形式极快扫过全场,灰世界一瞬间被点亮。命门在**翻色不是
14
+ 同帧硬翻**:原片实测是 ~0.5s 内多道色波依次向下快扫(蓝先覆盖全场,
15
+ 橙/绿/红依次覆盖更低行带),终态呈四色横带分层——波纹感让"点亮"
16
+ 有方向和速度,硬翻只读作换了张图。
17
+
18
+ ## 动效核心
19
+ - 图标场:150–200 个小图标网格排布(行间半格错位),灰阶 3–4 档
20
+ 随机;mulberry32 定分组/灰度/形状;demo 把图标装进键帽式圆角方块——暗场里
21
+ 灰阶 = "还没通电"的深色键帽(暖黑底、发丝边、顶沿受光、暗灰字形),
22
+ 翻色 = 通电:整块变成发光色块 + 深色字形 + 同色泛光
23
+ - 浮现批次按离画面中心距离(75%)+ 噪声分组,读作从中心向外铺开
24
+ - 浮现:分 10 批错峰淡入(批间 4.4f + 批内 ≤3f 抖动),每个带
25
+ 0.6→1.06→1 微弹(overshoot 一次过冲回落)+ 上浮 10px
26
+ - 静置一拍(~18f):让"铺满"被读到;最后 10f 整场压暗 12% 作蓄力(吸气),第一道波到达时回满
27
+ - 翻色:多道色波按行推进,行差 ~1.4f + 列微倾 0.25f + 每图标 ≤1.5f
28
+ 抖动(斜切波前沿,不是整行同帧);每道波从自己的起始行向下覆盖,
29
+ 后波覆盖更低行带 → 终态多色横带
30
+ - 单枚翻色 4f:新色**自上而下 clip 灌满**键帽(与波方向一致,不做透明度混合)+ 1.22x 正弦 pop,
31
+ 灌满后一记 5f 的 screen 白闪 + 泛光过冲,给波前沿"通电"的质感
32
+ - 光溢出:每行亮起后身后舞台染上同色横向光带(强度 = 该行已亮比例),整片原野真的亮起来
33
+ - 落版:光稳定后中心起一层径向暗幕(只压中心,四周光保留),video-shotcraft 字标(眉题位)+ 两行 132px 标题「Every shot, / one place.」逐词升起;第二行别超过暗幕宽度,否则字边压在亮键帽上
34
+
35
+ ## 参数表
36
+ | 参数 | 典型值 | 调节手感 |
37
+ |------|--------|----------|
38
+ | 图标数 | 170(17×10 @1080p,格距 108×106,键帽 66px) | <100 读不出"原野";>250 单个太小翻色 pop 看不见 |
39
+ | 浮现总长 | ~48f(10 批 × 4.4f + 尾批淡入 7f) | 太快读作闪现;>60f 观众等不及爆点 |
40
+ | 翻色总长 | 原片 ~12f 全场完成;demo ~30f | 越快越爆;教学/慢节奏场合才拉长 |
41
+ | 波数与色 | 4 道,同色系日出渐变(金 → 琥珀 → 橙 → 珊瑚红) | 1 道=单色点亮也成立;四色跨色相(蓝/橙/绿/红)读作彩虹,同色系分段更像品牌 |
42
+ | 行差 | 1.4f/行 + 列 0.25f 微倾 | 行差 >3f 波读作逐行扫描仪;0 = 硬翻 |
43
+ | 翻色 pop | 1.22x 正弦 4f + clip 灌满 | 无 pop 波前沿读不出来;>1.4x 图标互相打架 |
44
+
45
+ ## 已知坑
46
+ - demo 在手绘简笔图标上调校通过——参数是调校起点非实战定稿,
47
+ 首次实战须以真实素材回验
48
+ - 翻色别用透明度交叉淡入:暖色半透明叠在暗底上会过一段橄榄/灰泥色(判例),用 clip 擦入;
49
+ 白闪也要等新色盖满后再起,否则半透明叠层上的白闪发灰
50
+ - **翻色不许同帧硬翻**——原片密帧核实为多道波纹快扫(bear-app
51
+ 25fps 密帧:蓝→橙/绿/红约 0.5s 内完成),硬翻读作换图无"点亮"感
52
+ - 图标需可辨认的实心简笔形(心/星/闪电/对勾…);抽象色块读不出
53
+ "功能宇宙"语义
54
+ - 与 theme-switch-moves 分工:那张是 UI 界面明暗主题切换;本卡
55
+ 是装饰性图标场的品牌色点亮,不承载界面语义
56
+
57
+ ## 参考实现
58
+ demos/opening/icon-field-colorize/
59
+ (IconFieldColorize.tsx)
60
+ 原片出处:bear-app.mp4 ≈0.0–3.0s
@@ -1,57 +1,57 @@
1
- ---
2
- name: letterspace-materialize
3
- 一句话: 大字距字标全字符并行连续描画结晶——所有字母同帧起笔、笔画像手写一样连续生长、同帧齐收成词;氛围底景上的品牌字标显影
4
- 适用: 片尾/片头品牌字标登场(大字距细骨架字标;demo 为 video-shotcraft 全小写);章节题字;needs 静谧/高级感的收束帧
5
- 时长: 静置 ~15f + 描画 ~50f + 终态静置 ≥30f;全段 3–4s
6
- 能量: 低(静谧仪式感,一次呼吸完成)
7
- 标签: typography、outro
8
- ---
9
-
10
- ## 意图
11
- 字标不是淡入也不是打字机,而是"结晶":全部字母的笔画同时
12
- 开始连续生长,像一只看不见的手同时写所有字母,同一瞬间齐收
13
- 成词。两个命门:**连续**(笔画必须是连续画出的过程,不许遮罩
14
- 分段——先半截再另半截会被读穿;任何中间帧都该像"写到一半");
15
- **同步**(所有字母同帧起笔、同帧完成——逐字错峰是打字机语义,
16
- 这里是整词一体的仪式感)。
17
-
18
- ## 动效核心
19
- - 每个字符用骨架笔画 SVG path(单线条字形),pathLength 归一 +
20
- strokeDashoffset 从 1→0 连续描画
21
- - 全字符共享同一进度 p:同帧起笔、pathLength 归一保证不同笔画
22
- 长度的字母同帧齐收(不做 per-char delay/jitter)
23
- - 字形比例:方正略宽(字面宽高比 ≈1.07,实测判例:竖长字形被
24
- 裁"太竖长");细笔画+大字距(letterSpacing ≈0.6em)。demo 字标是
25
- video-shotcraft(品牌规范要求全小写):几何小写单线体,字碗为正圆,
26
- 64 高视框里基线 59 / x 高 22 / 升部 5,整体 ×1.3 放大、笔画反向缩放保持 5.5px
27
- - 描画曲线:整体 ease-in-out,中段略快首尾略缓(起笔收笔的手感)
28
- - 底景:氛围渐变/实拍空镜(暮色山景类),字标是画面唯一动作
29
-
30
- ## 参数表
31
- | 参数 | 典型值 | 调节手感 |
32
- |------|--------|----------|
33
- | 描画时长 | ~50f(f16 起 f68 收 @30fps) | <30f 读不出"画"的过程;>80f 拖 |
34
- | 同步性 | 全字符同帧起收、零错峰 | 判例:逐字错峰版被裁"所有字母是在同一个时间完成书写" |
35
- | 连续性 | pathLength 连续生长、无分段跳变 | 判例:遮罩分段版被裁"应该是连续的笔画画出来" |
36
- | 字形 | 骨架单线、字面宽高比 ~1.07、笔画细 | 竖长(比 <0.8)被裁;粗笔画丢结晶感 |
37
- | 字距 | ~0.6em | 大字距是本卡身份;<0.3em 改用普通描画卡 |
38
- | 终态静置 | ≥30f | 结晶完成后必须让观众读一次整词 |
39
-
40
- ## 已知坑
41
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
42
- 首次实战须以真实素材回验
43
- - 与 draw-svg-trace 分工:那张是通用描画(图标/插画/单元素);
44
- 本卡命门是**全字符同步**的整词结晶仪式,且限品牌字标语境
45
- - 与 type-assembly-moves 分工:那张是字块组装(位移拼合);
46
- 本卡笔画从无到有生长,字符不位移
47
- - 骨架字形需手绘 path(现成字体轮廓是双线勾边,描画观感不同);
48
- demo 的 13 个小写字形(v i d e o - s h t c r a f)每个带自己的宽度 w,
49
- 实战优先复用 demo 里的字形库;多子笔画字母(i 的点、t/f 的横)按
50
- 描画顺序排在路径末尾,pathLength 归一后仍同帧齐收
51
- - 原片(superhuman-promo)底景是实拍暮色山景+水面倒影;demo 为
52
- 渐变近似,实战建议用实拍/AI 生成空镜
53
-
54
- ## 参考实现
55
- demos/opening/letterspace-materialize/
56
- (LetterspaceMaterialize.tsx)
57
- 原片出处:superhuman-promo.mp4 ≈4.5–6.5s
1
+ ---
2
+ name: letterspace-materialize
3
+ 一句话: 大字距字标全字符并行连续描画结晶——所有字母同帧起笔、笔画像手写一样连续生长、同帧齐收成词;氛围底景上的品牌字标显影
4
+ 适用: 片尾/片头品牌字标登场(大字距细骨架字标;demo 为 video-shotcraft 全小写);章节题字;needs 静谧/高级感的收束帧
5
+ 时长: 静置 ~15f + 描画 ~50f + 终态静置 ≥30f;全段 3–4s
6
+ 能量: 低(静谧仪式感,一次呼吸完成)
7
+ 标签: typography、outro
8
+ ---
9
+
10
+ ## 意图
11
+ 字标不是淡入也不是打字机,而是"结晶":全部字母的笔画同时
12
+ 开始连续生长,像一只看不见的手同时写所有字母,同一瞬间齐收
13
+ 成词。两个命门:**连续**(笔画必须是连续画出的过程,不许遮罩
14
+ 分段——先半截再另半截会被读穿;任何中间帧都该像"写到一半");
15
+ **同步**(所有字母同帧起笔、同帧完成——逐字错峰是打字机语义,
16
+ 这里是整词一体的仪式感)。
17
+
18
+ ## 动效核心
19
+ - 每个字符用骨架笔画 SVG path(单线条字形),pathLength 归一 +
20
+ strokeDashoffset 从 1→0 连续描画
21
+ - 全字符共享同一进度 p:同帧起笔、pathLength 归一保证不同笔画
22
+ 长度的字母同帧齐收(不做 per-char delay/jitter)
23
+ - 字形比例:方正略宽(字面宽高比 ≈1.07,实测判例:竖长字形被
24
+ 裁"太竖长");细笔画+大字距(letterSpacing ≈0.6em)。demo 字标是
25
+ video-shotcraft(品牌规范要求全小写):几何小写单线体,字碗为正圆,
26
+ 64 高视框里基线 59 / x 高 22 / 升部 5,整体 ×1.3 放大、笔画反向缩放保持 5.5px
27
+ - 描画曲线:整体 ease-in-out,中段略快首尾略缓(起笔收笔的手感)
28
+ - 底景:氛围渐变/实拍空镜(暮色山景类),字标是画面唯一动作
29
+
30
+ ## 参数表
31
+ | 参数 | 典型值 | 调节手感 |
32
+ |------|--------|----------|
33
+ | 描画时长 | ~50f(f16 起 f68 收 @30fps) | <30f 读不出"画"的过程;>80f 拖 |
34
+ | 同步性 | 全字符同帧起收、零错峰 | 判例:逐字错峰版被裁"所有字母是在同一个时间完成书写" |
35
+ | 连续性 | pathLength 连续生长、无分段跳变 | 判例:遮罩分段版被裁"应该是连续的笔画画出来" |
36
+ | 字形 | 骨架单线、字面宽高比 ~1.07、笔画细 | 竖长(比 <0.8)被裁;粗笔画丢结晶感 |
37
+ | 字距 | ~0.6em | 大字距是本卡身份;<0.3em 改用普通描画卡 |
38
+ | 终态静置 | ≥30f | 结晶完成后必须让观众读一次整词 |
39
+
40
+ ## 已知坑
41
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
42
+ 首次实战须以真实素材回验
43
+ - 与 draw-svg-trace 分工:那张是通用描画(图标/插画/单元素);
44
+ 本卡命门是**全字符同步**的整词结晶仪式,且限品牌字标语境
45
+ - 与 type-assembly-moves 分工:那张是字块组装(位移拼合);
46
+ 本卡笔画从无到有生长,字符不位移
47
+ - 骨架字形需手绘 path(现成字体轮廓是双线勾边,描画观感不同);
48
+ demo 的 13 个小写字形(v i d e o - s h t c r a f)每个带自己的宽度 w,
49
+ 实战优先复用 demo 里的字形库;多子笔画字母(i 的点、t/f 的横)按
50
+ 描画顺序排在路径末尾,pathLength 归一后仍同帧齐收
51
+ - 原片(superhuman-promo)底景是实拍暮色山景+水面倒影;demo 为
52
+ 渐变近似,实战建议用实拍/AI 生成空镜
53
+
54
+ ## 参考实现
55
+ demos/opening/letterspace-materialize/
56
+ (LetterspaceMaterialize.tsx)
57
+ 原片出处:superhuman-promo.mp4 ≈4.5–6.5s
@@ -1,73 +1,73 @@
1
- ---
2
- name: magician-card-flourish
3
- 一句话: 午夜蓝暗场上蓝色星芒闪现 0.3s(X 形针状光束旋转 90°+中心辉光放射小光芒),卡片从闪光点弹射而出——极速自旋弧线飞向镜头、自旋随靠近衰减、瞬间硬定格(卡高 86% 画高)、光脉冲 + sheen 扫光,右侧文案随后逐行揭示
4
- 适用: 单张卡片/海报/封面的魔术性登场(片头主视觉、产品卡揭晓);纯黑暗场;需要"变出来"仪式感的爆点
5
- 时长: 156f(闪光 0.3s + 飞行 1.6s + 定格/扫光/文案揭示 + hold 3.3s;全段 5.2s)
6
- 能量: 高(一次性爆点,定格后即静)
7
- 标签: ui-entrance、effects
8
- ---
9
-
10
- ## 意图
11
- 魔术师甩牌:一道蓝色星芒闪过,卡片仿佛从光里被变出来——从画面
12
- 中心极远处(视觉上一个小点)弹射而出,沿弧线极速自旋飞向镜头,
13
- 到达中心瞬间硬定格成近满幅展示。三个魔术感命门:**闪光先行**
14
- (光是"变"的仪式,0.3s 短促干脆)、**弹射节奏**(起飞慢速蓄力→
15
- 急加速踢出→弧线段减速抵达,slow-in→burst→decelerating arc)、
16
- **定格即静**(无减速尾巴无回弹,13 整圈自旋保证定格恰为正面)。
17
-
18
- ## 动效核心
19
- - 开场星芒(用户参考图 IMG_2505 逐轮收敛的最终形态):
20
- - X 形**对角**针状光束(-38°/52° 起始),闪光期间整体**动态旋转
21
- 90°**(easeInOut);长轴 840/短轴 420(比例 2:1)
22
- - 光束纯饱和蓝(#3f9bff→#2277f2 贯穿全长,白段只留根部 5%),
23
- 每轴三层:宽糊辉光包层 + 明亮主束 + 过曝细芯
24
- - 中心**不是白球**:极小亮点(26px)+ 蓝辉光晕(140px)+ 一圈
25
- 10 根长短相间放射短刺(随星芒反向缓转)
26
- - 节奏:渐亮 2.5f → 微闪 → 坍缩,9f(0.3s)完
27
- - 弹射飞行:闪光点 = 落点(画面左 1/3,cx=700)极远(scale≈0.11)出发,
28
- 真透视 scale=F/(F+z)(z 14000→0);行程曲线 slow-in(前 14% 时间走 6%)
29
- →斜率跳变弹射→easeOut(cubic) 减速;正弦单拱弧线向右上荡出(经过日后
30
- 文案的位置)再收回落点;飞行中卡带一圈蓝色辉光,被运动模糊拖成光尾
31
- - 自旋:沿卡片对角线轴 13 整圈;前 40% 行程近匀速极快,后 60%
32
- 角速度 2.4 次幂衰减(越近镜头转越慢),整圈数保证定格正面
33
- - 定格:f=57(TAKEOFF+48)全量冻结,卡高 ≈86% 画面高;落定瞬间一圈与卡同形的
34
- 蓝色光脉冲从卡边外扩淡出(22f),卡后背光与舞台主光同时亮起(闪光期舞台压暗,
35
- 让星芒是唯一光源)
36
- - 扫光:定格稳 8f 后 sheen 斜带左→右一次扫过(screen 叠加,裁进圆角)
37
- - 卡面:深海军蓝 video-shotcraft「Launch Film」首映票——品牌行(标志 + 小写字标)、中心
38
- video-shotcraft 标志托在同心细环 + 交叉针线上(开场星芒"留在卡上";环与针线从标志外缘
39
- 起,不从取景框开口里穿过)、58px 大字标题(定格后 ≈100px)、mono 票根行;徽记区一层
40
- 全息箔垫在标志下面,色相随自旋角滚动(飞行中流光、定格即冻结);卡背中心也是标志
41
- - 右侧文案(定格后):眉题 NOW SHOWING 字距收拢 63f → 132px 标题「Craft / the shot.」两行升起 67/74f →
42
- 36px 副文「Cinematic product videos, crafted by your agent.」逐词 86f
43
- - 卡片按定格尺寸(×1.72)布局、CSS zoom 栅格化,飞行只做缩小——定格帧文字锐利(Q2)
44
-
45
- ## 参数表
46
- | 参数 | 典型值 | 调节手感 |
47
- |------|--------|----------|
48
- | 闪光时长 | 9f(0.3s,用户精确定值;曾 1.5s→0.8s→0.5s 逐轮压短) | 光是仪式不是主角;>15f 抢卡片的戏 |
49
- | 星芒旋转 | 闪光期间动态转 90°(判例:静态摆角被裁"没看到旋转") | 旋转要逐帧可见;>120° 读作螺旋桨 |
50
- | 光束颜色 | 纯饱和蓝贯穿全长 | 白段过长/衰减过快被裁"不够还原";青蓝偏灰被裁"要蓝色的" |
51
- | 中心 | 小亮点+辉光+放射短刺 | **白色圆球被裁**——中心是光学辉光不是实体球 |
52
- | 弹射曲线 | slow-in 14%→burst→减速弧线 | 直接匀速/纯 easeOut 没有"弹射"的蓄力感 |
53
- | 自旋衰减 | 后 60% 行程 2.4 次幂减速 | 匀速到底被裁"靠近镜头时应随距离衰减";整圈数=定格正面的保证 |
54
- | 定格尺寸 | 卡高 86% 画面高(右侧留给文案) | 初版 1.0x 被裁"更近更大基本靠近上下界";单卡居中无文案时可回到 94% |
55
- | 硬定格 | 全量冻结零回弹 | 魔术感=瞬间静止;回弹读作物理玩具 |
56
-
57
- ## 已知坑
58
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
59
- 首次实战须以真实素材回验
60
- - **光效质感判例链**(本卡贡献的全局方法论):几何色块被裁"5毛
61
- 特效"→光学实感重做→游戏感+真实→用户给参考图一轮收敛。
62
- 质感类意见文字损耗大,**主动请用户丢参考图**
63
- - 工程坑:细针光束**不能放进 CameraMotionBlur**——旋转被模糊采样
64
- 拆成条纹分身("廉价感"的隐性来源);闪光层独立于运动模糊渲染
65
- - 工程坑:星芒 SVG viewBox 要 ≥ 光束长+旋转扫掠半径,否则端点
66
- 被裁出直边
67
- - 与 card-flip-reveal/deck-deal-flyin 分工:那两张是翻牌/发牌的
68
- 多卡节奏戏;本卡是单卡"变出来"的魔术仪式,一次只变一张
69
-
70
- ## 参考实现
71
- demos/opening/magician-card-flourish/
72
- (MagicianCardFlourish.tsx)
73
- 原片出处:无(用户口述定制,多轮迭代收敛)
1
+ ---
2
+ name: magician-card-flourish
3
+ 一句话: 午夜蓝暗场上蓝色星芒闪现 0.3s(X 形针状光束旋转 90°+中心辉光放射小光芒),卡片从闪光点弹射而出——极速自旋弧线飞向镜头、自旋随靠近衰减、瞬间硬定格(卡高 86% 画高)、光脉冲 + sheen 扫光,右侧文案随后逐行揭示
4
+ 适用: 单张卡片/海报/封面的魔术性登场(片头主视觉、产品卡揭晓);纯黑暗场;需要"变出来"仪式感的爆点
5
+ 时长: 156f(闪光 0.3s + 飞行 1.6s + 定格/扫光/文案揭示 + hold 3.3s;全段 5.2s)
6
+ 能量: 高(一次性爆点,定格后即静)
7
+ 标签: ui-entrance、effects
8
+ ---
9
+
10
+ ## 意图
11
+ 魔术师甩牌:一道蓝色星芒闪过,卡片仿佛从光里被变出来——从画面
12
+ 中心极远处(视觉上一个小点)弹射而出,沿弧线极速自旋飞向镜头,
13
+ 到达中心瞬间硬定格成近满幅展示。三个魔术感命门:**闪光先行**
14
+ (光是"变"的仪式,0.3s 短促干脆)、**弹射节奏**(起飞慢速蓄力→
15
+ 急加速踢出→弧线段减速抵达,slow-in→burst→decelerating arc)、
16
+ **定格即静**(无减速尾巴无回弹,13 整圈自旋保证定格恰为正面)。
17
+
18
+ ## 动效核心
19
+ - 开场星芒(用户参考图 IMG_2505 逐轮收敛的最终形态):
20
+ - X 形**对角**针状光束(-38°/52° 起始),闪光期间整体**动态旋转
21
+ 90°**(easeInOut);长轴 840/短轴 420(比例 2:1)
22
+ - 光束纯饱和蓝(#3f9bff→#2277f2 贯穿全长,白段只留根部 5%),
23
+ 每轴三层:宽糊辉光包层 + 明亮主束 + 过曝细芯
24
+ - 中心**不是白球**:极小亮点(26px)+ 蓝辉光晕(140px)+ 一圈
25
+ 10 根长短相间放射短刺(随星芒反向缓转)
26
+ - 节奏:渐亮 2.5f → 微闪 → 坍缩,9f(0.3s)完
27
+ - 弹射飞行:闪光点 = 落点(画面左 1/3,cx=700)极远(scale≈0.11)出发,
28
+ 真透视 scale=F/(F+z)(z 14000→0);行程曲线 slow-in(前 14% 时间走 6%)
29
+ →斜率跳变弹射→easeOut(cubic) 减速;正弦单拱弧线向右上荡出(经过日后
30
+ 文案的位置)再收回落点;飞行中卡带一圈蓝色辉光,被运动模糊拖成光尾
31
+ - 自旋:沿卡片对角线轴 13 整圈;前 40% 行程近匀速极快,后 60%
32
+ 角速度 2.4 次幂衰减(越近镜头转越慢),整圈数保证定格正面
33
+ - 定格:f=57(TAKEOFF+48)全量冻结,卡高 ≈86% 画面高;落定瞬间一圈与卡同形的
34
+ 蓝色光脉冲从卡边外扩淡出(22f),卡后背光与舞台主光同时亮起(闪光期舞台压暗,
35
+ 让星芒是唯一光源)
36
+ - 扫光:定格稳 8f 后 sheen 斜带左→右一次扫过(screen 叠加,裁进圆角)
37
+ - 卡面:深海军蓝 video-shotcraft「Launch Film」首映票——品牌行(标志 + 小写字标)、中心
38
+ video-shotcraft 标志托在同心细环 + 交叉针线上(开场星芒"留在卡上";环与针线从标志外缘
39
+ 起,不从取景框开口里穿过)、58px 大字标题(定格后 ≈100px)、mono 票根行;徽记区一层
40
+ 全息箔垫在标志下面,色相随自旋角滚动(飞行中流光、定格即冻结);卡背中心也是标志
41
+ - 右侧文案(定格后):眉题 NOW SHOWING 字距收拢 63f → 132px 标题「Craft / the shot.」两行升起 67/74f →
42
+ 36px 副文「Cinematic product videos, crafted by your agent.」逐词 86f
43
+ - 卡片按定格尺寸(×1.72)布局、CSS zoom 栅格化,飞行只做缩小——定格帧文字锐利(Q2)
44
+
45
+ ## 参数表
46
+ | 参数 | 典型值 | 调节手感 |
47
+ |------|--------|----------|
48
+ | 闪光时长 | 9f(0.3s,用户精确定值;曾 1.5s→0.8s→0.5s 逐轮压短) | 光是仪式不是主角;>15f 抢卡片的戏 |
49
+ | 星芒旋转 | 闪光期间动态转 90°(判例:静态摆角被裁"没看到旋转") | 旋转要逐帧可见;>120° 读作螺旋桨 |
50
+ | 光束颜色 | 纯饱和蓝贯穿全长 | 白段过长/衰减过快被裁"不够还原";青蓝偏灰被裁"要蓝色的" |
51
+ | 中心 | 小亮点+辉光+放射短刺 | **白色圆球被裁**——中心是光学辉光不是实体球 |
52
+ | 弹射曲线 | slow-in 14%→burst→减速弧线 | 直接匀速/纯 easeOut 没有"弹射"的蓄力感 |
53
+ | 自旋衰减 | 后 60% 行程 2.4 次幂减速 | 匀速到底被裁"靠近镜头时应随距离衰减";整圈数=定格正面的保证 |
54
+ | 定格尺寸 | 卡高 86% 画面高(右侧留给文案) | 初版 1.0x 被裁"更近更大基本靠近上下界";单卡居中无文案时可回到 94% |
55
+ | 硬定格 | 全量冻结零回弹 | 魔术感=瞬间静止;回弹读作物理玩具 |
56
+
57
+ ## 已知坑
58
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
59
+ 首次实战须以真实素材回验
60
+ - **光效质感判例链**(本卡贡献的全局方法论):几何色块被裁"5毛
61
+ 特效"→光学实感重做→游戏感+真实→用户给参考图一轮收敛。
62
+ 质感类意见文字损耗大,**主动请用户丢参考图**
63
+ - 工程坑:细针光束**不能放进 CameraMotionBlur**——旋转被模糊采样
64
+ 拆成条纹分身("廉价感"的隐性来源);闪光层独立于运动模糊渲染
65
+ - 工程坑:星芒 SVG viewBox 要 ≥ 光束长+旋转扫掠半径,否则端点
66
+ 被裁出直边
67
+ - 与 card-flip-reveal/deck-deal-flyin 分工:那两张是翻牌/发牌的
68
+ 多卡节奏戏;本卡是单卡"变出来"的魔术仪式,一次只变一张
69
+
70
+ ## 参考实现
71
+ demos/opening/magician-card-flourish/
72
+ (MagicianCardFlourish.tsx)
73
+ 原片出处:无(用户口述定制,多轮迭代收敛)
@@ -1,87 +1,87 @@
1
- ---
2
- name: orbit-ring-title-open
3
- 一句话: 石墨暗场上八张 16:9 暗色内容卡按 45° 均布在 720×380 椭圆上匀速公转(卡身永不倾斜,纵深只由 sin θ 给出 ±12% 缩放、z 序与远处压暗失焦),环撑开期间卡内容冻结首帧、f24 之后八张一起开播;居中两级标题逐字解糊下沉落定,关键词到位那一刻荧光马克块自左横扫铺满、扫过处字反白为墨,mono 副行随后浮出;可选末段整行失焦淡出、环继续转着交棒下一镜
4
- 适用: 开场第一镜 = 「这个产品有一整套东西」;素材库/模板库/功能矩阵/案例集的门面拍;需要用真实运动的产品画面托住一句主张,而不是把截图摆成静态九宫格
5
- 时长: 150f(5s@30fps;马克块 f64 落定后 2.9s 稳态巡回 + 极缓推近;开 HANDOFF_EXIT 时 f118 起退场交棒)
6
- 能量: 中(唯一的持续运动是匀速公转,全片只有马克块横扫一次冲击)
7
- 标签: ui-entrance
8
- ---
9
-
10
- ## 意图
11
- 开场想说"我们有一整套东西",最常见的做法是把截图排成网格——但网格是静止的,观众
12
- 读到的是"一堆图片",不是"一套会动的产品"。这张卡把陈列改成**环形巡回**:八张卡沿
13
- 椭圆匀速公转,永远有卡在进画、有卡在出画,画面自带"还有更多"的暗示,而标题稳稳
14
- 钉在正中间不受影响。
15
-
16
- 关键的取舍是**卡内容要真的在播**。静态截图上环,观众只会认出"轮播图";卡里跑着真
17
- 动效,同一个环立刻变成"产品在工作"。但八张卡同时开播会八个动效抢戏,谁也读不进去
18
- ——所以入场期把卡内容**冻结在首帧**,等环撑开、标题起手之后再统一开播。观众的注意
19
- 力顺序因此是:先认出这是一圈产品画面 → 读标题 → 才注意到卡里都在动。
20
-
21
- ## 动效核心
22
- - **环上定位**:`θ = -π/2 + i·2π/8 + t·0.3`,`x = 960 + cos θ·RX·ringScale`、
23
- `y = 540 + sin θ·RY·ringScale`。RY/RX ≈ 0.53 的椭圆读作"俯视的环";正圆会读作转盘。
24
- 椭圆轨道本身画成一圈 16% 透明度的强调色发丝线,入场 0–30f 用 pathLength 描出来
25
- - **卡身永不倾斜**:卡只跟着 θ 换位置,自身 transform 只有缩放,没有任何旋转。
26
- 纵深完全交给 `depth = sin θ`(+1 = 画面下方,近;−1 = 上方,远):
27
- `scale = 1 + 0.12·depth`、`zIndex = 10 + round(depth·5)`;远处(depth<0)再叠
28
- `blur(1.6·|depth|px)` + 压暗层(景深 + 空气透视),近处带一点顶光。缩放、z 序、
29
- 明暗必须由同一个 depth 驱动,否则会出现"远处的卡压住近处的卡"
30
- - **环入场**:f0–24 `ringScale 0.62→1`(expo-out,前 1/3 时间走完八成)从中心撑开;
31
- 同时逐卡淡入,第 i 张从 `2+1.5i` 帧起 11f 淡入并 0.9→1 长大。撑开与淡入叠在一起,
32
- 读作"环长出来"而不是"卡片一张张贴上来"
33
- - **冻结首帧再开播**:卡内容包在 `<Freeze frame={max(0, frame - 24)}>` 里。f24 之前
34
- 八张卡都停在自己的第 0 帧,f24 起同时进入正常时间轴
35
- - **卡内坐标解耦**:卡内容按 960×540 作画,外层用 `scale((CW·s)/960)` 缩到卡宽 +
36
- `transform-origin: top left`。内容组件不需要知道自己被缩小了,落地换成真实截图或
37
- 库内其他镜头卡组件时不用改一行。描线类卡用 `pathLength={1}` 做 dash,路径长短不影响首帧
38
- - **两级标题 blur-slide 逐字**:上行 64px 次级灰(f10 起、错峰 1f、单字 27f),下行
39
- 156px 主角大字(f18 起、错峰 2f、单字 32f——更重更慢)。每字两条通道同起不同终:
40
- 解糊走满单字时长(`blur (1-p)·fontSize/6`),下沉只占前 1/3(`translateY (1-p)·fontSize·0.22`),
41
- 缓动 quint-out。位移先停、模糊后停,字才有"落定后继续对上焦"的手感
42
- - **马克块横扫 + 反白**:`spring(frame-50, damping 20, stiffness 190)` 驱动 `scaleX`
43
- (封顶 1.03),`transform-origin: left center`,块比字宽出左右各 0.14em 垫在字底下。
44
- 字画两层:白字层裁掉块前沿左侧、墨字层(onAccent)裁掉前沿右侧,前沿位置按
45
- `(m·(W+0.28em) − 0.14em)/W` 换算到字盒——扫过即反白,读作"被荧光笔划过"
46
- - **标题 scrim**:卡层之上、字层之下垫一团暗色径向 scrim,近处卡从标题背后经过时被压暗
47
- - **hold**:f40–150 整个画面 smooth 推近 2.5%,环继续匀速公转
48
- - **退场(可选,HANDOFF_EXIT)**:f118 起 10f 整行 `opacity 1→0` + `blur 0→6.5px`,
49
- 之后只有环在转——成片里接 crash-zoom / 穿浅场直切时打开;单镜头演示停在完整海报
50
- ## 参数表
51
- | 参数 | 典型值 | 调节手感 |
52
- |------|--------|----------|
53
- | 椭圆半径 | RX=720 / RY=380(卡 400×225) | RY/RX≈0.53 是"俯视环"的甜点;比值 →1 读作正圆转盘,→0.3 卡会在上下缘挤成一条 |
54
- | 卡数 | 8(方位角间隔 45°) | 8 张在这个半径上任意转角互不遮挡;≥10 张必须同步加大 RX/RY,否则近处卡压边 |
55
- | 公转速度 | 0.3 rad/s(5s 转约 86°) | **别因为"看起来慢"就调快**:>0.5 rad/s 时卡扫过画面边缘会有频闪感,且喧宾夺主 |
56
- | 环入场 | f0–24,scale .62→1,expo-out | <15f 像弹窗;>30f 标题起手时环还在长,两件事互相盖 |
57
- | 逐卡淡入 | 第 i 张 `2+1.5i` 帧起 11f | 步长 1.5f 刚够读出"依次";>3f 最后一张会晚到标题之后 |
58
- | 开播帧 | PLAY_START=24f | 必须 ≥ 环撑开结束帧;提前会让八个动效在入场期一起抢戏 |
59
- | 纵深 | 缩放 ±12%,远处失焦 ≤1.6px + 压暗 | 缩放 >15% 顶部卡会缩成图标,环读作"透视隧道";失焦 >3px 远处卡读作脏 |
60
- | 标题 | 上行 64px/500 灰 + 下行 156px/600 白 | 环一直在动,主角行必须够大够重才压得住;两行同字号会失去层级 |
61
- | 逐字节奏 | 上行错峰 1f/单字 27f;下行错峰 2f/单字 32f | 错峰 1–2f 是"整体解糊"的手感;≥3f 会读成逐字打字机 |
62
- | 马克块 | f50 起,spring damping 20,荧光黄绿 #c6f432 | damping <14 会回弹出色块边缘;暗场里它是唯一高饱和色块,别给第二处 |
63
- | 副行 | video-shotcraft 标志 + 小写字标 30px + mono 26px「SHOT RECIPE CARDS」(字距 0.2em),f60 起 16f 浮出 | 大字距 mono 是"产品代号"的读法;跟标题同字体会读作第二行标题;别写卡片数这类会过时的数字 |
64
- | 退场(可选) | f118–128,blur 0→6.5px | 整行统一失焦;**逐字退场会读作第二次入场** |
65
- ## 已知坑
66
- - **卡不能跟着 θ 倾斜**。给卡加 `rotate(θ)` 后环立刻从"陈列"变成"过山车",而且卡内
67
- 文字会歪,可读性直接归零。卡只换位置,不换角度
68
- - 卡内容首帧必须自带静态骨架(底色/边框/标签/暗底轨迹)。冻结期显示的就是第 0 帧,
69
- 如果卡的动效是"从零画出来",入场那 24f 就是八张空白卡。demo 里每个占位卡都补了
70
- 暗底 sparkline / 淡稿线 / 常驻提示符,就是为了让首帧不空
71
- - `zIndex` 必须跟着 depth 走。只做缩放不排 z 序时,DOM 顺序会让后面的卡压住前面的,
72
- 近大远小的立体感当场作废
73
- - 马克色块和字的层级是一对:色块 `zIndex:0` + 字 `position:relative; zIndex:1`。漏掉
74
- 字上的 relative,色块会盖住字(stacking context 里 static 元素排在 positioned 之后)
75
- - 标题 `white-space: nowrap` 是马克块的前提——块的左右外扩 0.14em 与反白裁切都假设高亮
76
- 词组在同一行盒里。换行后色块会跨行断裂成两截。改了高亮词的字数要同步改前沿换算里的 W
77
- - 环是背景层但它一直在动,所以**不要在环上再叠第二个动的东西**(粒子、扫光、渐变
78
- 呼吸)。已经有一个持续运动在场,第二个会让画面读不出主次
79
- - 与 `carousel-3d` 的分工:那张卡是真 3D(`rotateY + translateZ` + backface-hidden),
80
- 卡会转到环背面,适合无缝 loop 的纯陈列;这张卡是 2D 椭圆伪纵深,卡永远正面朝观众,
81
- 适合"环托底 + 前景标题"的开场。要卡片翻面用前者,要标题压得住用后者
82
- - demo 的八张卡是原创通用 DOM 占位(暗色产品卡 + 唯一荧光强调色,卡框阴影/明暗随纵深变化),不含任何产品截图;
83
- 落地时整块替换成你自己的镜头卡组件或真实页面截图即可,环的语法一行都不用改
84
-
85
- ## 参考实现
86
- demos/opening/orbit-ring-title-open/
87
- (OrbitRingTitleOpen.tsx)
1
+ ---
2
+ name: orbit-ring-title-open
3
+ 一句话: 石墨暗场上八张 16:9 暗色内容卡按 45° 均布在 720×380 椭圆上匀速公转(卡身永不倾斜,纵深只由 sin θ 给出 ±12% 缩放、z 序与远处压暗失焦),环撑开期间卡内容冻结首帧、f24 之后八张一起开播;居中两级标题逐字解糊下沉落定,关键词到位那一刻荧光马克块自左横扫铺满、扫过处字反白为墨,mono 副行随后浮出;可选末段整行失焦淡出、环继续转着交棒下一镜
4
+ 适用: 开场第一镜 = 「这个产品有一整套东西」;素材库/模板库/功能矩阵/案例集的门面拍;需要用真实运动的产品画面托住一句主张,而不是把截图摆成静态九宫格
5
+ 时长: 150f(5s@30fps;马克块 f64 落定后 2.9s 稳态巡回 + 极缓推近;开 HANDOFF_EXIT 时 f118 起退场交棒)
6
+ 能量: 中(唯一的持续运动是匀速公转,全片只有马克块横扫一次冲击)
7
+ 标签: ui-entrance
8
+ ---
9
+
10
+ ## 意图
11
+ 开场想说"我们有一整套东西",最常见的做法是把截图排成网格——但网格是静止的,观众
12
+ 读到的是"一堆图片",不是"一套会动的产品"。这张卡把陈列改成**环形巡回**:八张卡沿
13
+ 椭圆匀速公转,永远有卡在进画、有卡在出画,画面自带"还有更多"的暗示,而标题稳稳
14
+ 钉在正中间不受影响。
15
+
16
+ 关键的取舍是**卡内容要真的在播**。静态截图上环,观众只会认出"轮播图";卡里跑着真
17
+ 动效,同一个环立刻变成"产品在工作"。但八张卡同时开播会八个动效抢戏,谁也读不进去
18
+ ——所以入场期把卡内容**冻结在首帧**,等环撑开、标题起手之后再统一开播。观众的注意
19
+ 力顺序因此是:先认出这是一圈产品画面 → 读标题 → 才注意到卡里都在动。
20
+
21
+ ## 动效核心
22
+ - **环上定位**:`θ = -π/2 + i·2π/8 + t·0.3`,`x = 960 + cos θ·RX·ringScale`、
23
+ `y = 540 + sin θ·RY·ringScale`。RY/RX ≈ 0.53 的椭圆读作"俯视的环";正圆会读作转盘。
24
+ 椭圆轨道本身画成一圈 16% 透明度的强调色发丝线,入场 0–30f 用 pathLength 描出来
25
+ - **卡身永不倾斜**:卡只跟着 θ 换位置,自身 transform 只有缩放,没有任何旋转。
26
+ 纵深完全交给 `depth = sin θ`(+1 = 画面下方,近;−1 = 上方,远):
27
+ `scale = 1 + 0.12·depth`、`zIndex = 10 + round(depth·5)`;远处(depth<0)再叠
28
+ `blur(1.6·|depth|px)` + 压暗层(景深 + 空气透视),近处带一点顶光。缩放、z 序、
29
+ 明暗必须由同一个 depth 驱动,否则会出现"远处的卡压住近处的卡"
30
+ - **环入场**:f0–24 `ringScale 0.62→1`(expo-out,前 1/3 时间走完八成)从中心撑开;
31
+ 同时逐卡淡入,第 i 张从 `2+1.5i` 帧起 11f 淡入并 0.9→1 长大。撑开与淡入叠在一起,
32
+ 读作"环长出来"而不是"卡片一张张贴上来"
33
+ - **冻结首帧再开播**:卡内容包在 `<Freeze frame={max(0, frame - 24)}>` 里。f24 之前
34
+ 八张卡都停在自己的第 0 帧,f24 起同时进入正常时间轴
35
+ - **卡内坐标解耦**:卡内容按 960×540 作画,外层用 `scale((CW·s)/960)` 缩到卡宽 +
36
+ `transform-origin: top left`。内容组件不需要知道自己被缩小了,落地换成真实截图或
37
+ 库内其他镜头卡组件时不用改一行。描线类卡用 `pathLength={1}` 做 dash,路径长短不影响首帧
38
+ - **两级标题 blur-slide 逐字**:上行 64px 次级灰(f10 起、错峰 1f、单字 27f),下行
39
+ 156px 主角大字(f18 起、错峰 2f、单字 32f——更重更慢)。每字两条通道同起不同终:
40
+ 解糊走满单字时长(`blur (1-p)·fontSize/6`),下沉只占前 1/3(`translateY (1-p)·fontSize·0.22`),
41
+ 缓动 quint-out。位移先停、模糊后停,字才有"落定后继续对上焦"的手感
42
+ - **马克块横扫 + 反白**:`spring(frame-50, damping 20, stiffness 190)` 驱动 `scaleX`
43
+ (封顶 1.03),`transform-origin: left center`,块比字宽出左右各 0.14em 垫在字底下。
44
+ 字画两层:白字层裁掉块前沿左侧、墨字层(onAccent)裁掉前沿右侧,前沿位置按
45
+ `(m·(W+0.28em) − 0.14em)/W` 换算到字盒——扫过即反白,读作"被荧光笔划过"
46
+ - **标题 scrim**:卡层之上、字层之下垫一团暗色径向 scrim,近处卡从标题背后经过时被压暗
47
+ - **hold**:f40–150 整个画面 smooth 推近 2.5%,环继续匀速公转
48
+ - **退场(可选,HANDOFF_EXIT)**:f118 起 10f 整行 `opacity 1→0` + `blur 0→6.5px`,
49
+ 之后只有环在转——成片里接 crash-zoom / 穿浅场直切时打开;单镜头演示停在完整海报
50
+ ## 参数表
51
+ | 参数 | 典型值 | 调节手感 |
52
+ |------|--------|----------|
53
+ | 椭圆半径 | RX=720 / RY=380(卡 400×225) | RY/RX≈0.53 是"俯视环"的甜点;比值 →1 读作正圆转盘,→0.3 卡会在上下缘挤成一条 |
54
+ | 卡数 | 8(方位角间隔 45°) | 8 张在这个半径上任意转角互不遮挡;≥10 张必须同步加大 RX/RY,否则近处卡压边 |
55
+ | 公转速度 | 0.3 rad/s(5s 转约 86°) | **别因为"看起来慢"就调快**:>0.5 rad/s 时卡扫过画面边缘会有频闪感,且喧宾夺主 |
56
+ | 环入场 | f0–24,scale .62→1,expo-out | <15f 像弹窗;>30f 标题起手时环还在长,两件事互相盖 |
57
+ | 逐卡淡入 | 第 i 张 `2+1.5i` 帧起 11f | 步长 1.5f 刚够读出"依次";>3f 最后一张会晚到标题之后 |
58
+ | 开播帧 | PLAY_START=24f | 必须 ≥ 环撑开结束帧;提前会让八个动效在入场期一起抢戏 |
59
+ | 纵深 | 缩放 ±12%,远处失焦 ≤1.6px + 压暗 | 缩放 >15% 顶部卡会缩成图标,环读作"透视隧道";失焦 >3px 远处卡读作脏 |
60
+ | 标题 | 上行 64px/500 灰 + 下行 156px/600 白 | 环一直在动,主角行必须够大够重才压得住;两行同字号会失去层级 |
61
+ | 逐字节奏 | 上行错峰 1f/单字 27f;下行错峰 2f/单字 32f | 错峰 1–2f 是"整体解糊"的手感;≥3f 会读成逐字打字机 |
62
+ | 马克块 | f50 起,spring damping 20,荧光黄绿 #c6f432 | damping <14 会回弹出色块边缘;暗场里它是唯一高饱和色块,别给第二处 |
63
+ | 副行 | video-shotcraft 标志 + 小写字标 30px + mono 26px「SHOT RECIPE CARDS」(字距 0.2em),f60 起 16f 浮出 | 大字距 mono 是"产品代号"的读法;跟标题同字体会读作第二行标题;别写卡片数这类会过时的数字 |
64
+ | 退场(可选) | f118–128,blur 0→6.5px | 整行统一失焦;**逐字退场会读作第二次入场** |
65
+ ## 已知坑
66
+ - **卡不能跟着 θ 倾斜**。给卡加 `rotate(θ)` 后环立刻从"陈列"变成"过山车",而且卡内
67
+ 文字会歪,可读性直接归零。卡只换位置,不换角度
68
+ - 卡内容首帧必须自带静态骨架(底色/边框/标签/暗底轨迹)。冻结期显示的就是第 0 帧,
69
+ 如果卡的动效是"从零画出来",入场那 24f 就是八张空白卡。demo 里每个占位卡都补了
70
+ 暗底 sparkline / 淡稿线 / 常驻提示符,就是为了让首帧不空
71
+ - `zIndex` 必须跟着 depth 走。只做缩放不排 z 序时,DOM 顺序会让后面的卡压住前面的,
72
+ 近大远小的立体感当场作废
73
+ - 马克色块和字的层级是一对:色块 `zIndex:0` + 字 `position:relative; zIndex:1`。漏掉
74
+ 字上的 relative,色块会盖住字(stacking context 里 static 元素排在 positioned 之后)
75
+ - 标题 `white-space: nowrap` 是马克块的前提——块的左右外扩 0.14em 与反白裁切都假设高亮
76
+ 词组在同一行盒里。换行后色块会跨行断裂成两截。改了高亮词的字数要同步改前沿换算里的 W
77
+ - 环是背景层但它一直在动,所以**不要在环上再叠第二个动的东西**(粒子、扫光、渐变
78
+ 呼吸)。已经有一个持续运动在场,第二个会让画面读不出主次
79
+ - 与 `carousel-3d` 的分工:那张卡是真 3D(`rotateY + translateZ` + backface-hidden),
80
+ 卡会转到环背面,适合无缝 loop 的纯陈列;这张卡是 2D 椭圆伪纵深,卡永远正面朝观众,
81
+ 适合"环托底 + 前景标题"的开场。要卡片翻面用前者,要标题压得住用后者
82
+ - demo 的八张卡是原创通用 DOM 占位(暗色产品卡 + 唯一荧光强调色,卡框阴影/明暗随纵深变化),不含任何产品截图;
83
+ 落地时整块替换成你自己的镜头卡组件或真实页面截图即可,环的语法一行都不用改
84
+
85
+ ## 参考实现
86
+ demos/opening/orbit-ring-title-open/
87
+ (OrbitRingTitleOpen.tsx)