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: crash-zoom-punch
3
- 一句话: 全景一拍急推到目标特写(6f),落位二选一——过冲回弹(弹性)或撞停震屏(重量)
4
- 适用: 功能段"点名"镜头——把观众视线一拍按到目标卡/模块上;强调级用撞停
5
- 时长: 约 0.5s 动作 + 前后 hold(动作 6–11f,前 hold ≥30f 建立全景、后 hold ≥45f 读特写)
6
- 能量: 高(瞬时冲击,非持续高能)
7
- 标签: effects
8
- ---
9
-
10
- ## 意图
11
- 慢推近(spotlight-hero-card)是"请看",急推是"看这个!"——一拍之内
12
- 从全景砸到特写,视线没有选择余地。落位质感分两款:回弹是弹性
13
- ("看这个"),撞停震屏是重量("就是它"),按强调级选。
14
-
15
- ## 动效核心
16
- - zoom 6f ease-in 急加速(如 1→2.6),cx/cy 同步 ease-in 收敛到目标中心
17
- - 回弹款:zoom 过冲后 5f 回收 3–6%(2.6→2.45)
18
- - 撞停款:到位帧起机位高频抖 + 指数衰减(amp 14px、τ≈1.8f、6f 收干),
19
- 不回弹
20
- - 运动模糊**只包急推段**(撞停震屏段保持清晰抖动):demo 用自写时间采样
21
- (快门 ≈200°,子帧逐层 opacity 1/(i+1) 等权叠加,子帧数按本帧位移自适应、
22
- 上限 40),采样按"回波间距 ≤ 字高"配(轮 A 判例);`<CameraMotionBlur>`
23
- 亦可,但其半透明叠层在近静止帧会让底色发灰偏黄。CrashZoomReal 的页面小字只有 ~14px,
24
- 回波间距压到 ≤6px(上限 44 层),高速帧再按间距给每层补 ≤4px 微模糊,把离散回波抹成连续拖影
25
- - 急推前 6–8f 预备回拉 ~3–4%(先退后冲),全景 hold 段给 ~2–3% 的极缓 creep
26
- - 回弹款 demo(CrashZoomReal)的舞台化:暖黑 ember 舞台上的浏览器窗口(后仰 11°、橙色背光 +
27
- 地面反光),急推前四只橙色角标从外扩 150px 收拢锁定目标卡(先在全景里点名),急推同曲线把后仰
28
- 拉正;到位帧一记暖色曝光闪(指数衰减 ~8f),周边压暗 86% + 目标卡轮廓光;回弹收干后相机平滑
29
- 左移 320px 把卡让到左侧,右栏落一组大号读数(232px 数字 + 说明),尾帧是完整海报
30
- - 撞停款 demo(CrashImpactReal)的舞台化:lime 暗场"战术 HUD"——真实页面裁成一块正视监视屏、舞台铺淡网格;
31
- 荧光取景框在全景里扫描跳格(card1 → card5 → card4,各 8f snappy)、28f 收紧锁定并亮出 LOCK 标签后才急推
32
- (0.76→2.35,子帧间距 ≤8px、上限 36);到位帧是"冲击帧"——卡外 1f 荧光 → 1f 余辉 → 近黑(全片唯一一处整画面冲击),
33
- 两道荧光冲击波环从卡缘外扩;卡不浮起不发光(砸实)。震屏收干后一道扫描线扫过卡面一次,左右两栏 HUD 读数
34
- (TARGET / OWNER / STATE 与 250px 等宽「P0」)错峰落位,126f 尾段 hold 42f
35
-
36
- ## 参数表
37
- | 参数 | 典型值 | 调节手感 |
38
- |------|--------|----------|
39
- | 急推时长 | 6f(4–8f) | >10f 读作普通推近,冲击感消失 |
40
- | 目标 zoom | 2.4–2.8 | 终点构图以目标卡占画面 60–75% 为准 |
41
- | 回弹幅度 | zoom 的 3–6% | 过大读作弹簧玩具 |
42
- | 震屏包络 | 14px·e^(−t/1.8) | 幅度须过肉眼阈值(可感性判例),>20px 读作故障 |
43
-
44
- ## 已知坑
45
- - 终点必须是高清纹理槽位(card4-hires 级)——急推后全程特写它,
46
- 低倍截图糊字(Q2);终点先按 Q2 的高分辨率栅格化技法处理
47
- - 两款别混用:回弹后再震屏读作穿帮;一支片急推 ≤2 次(P4 手法去重精神)
48
- - 参数经占位素材调校转正,非实战定稿,首次实战后回验
49
-
50
- ## 参考实现
51
- demos/camera/crash-zoom-punch/
52
- (CrashImpactReal.tsx / CrashZoomReal.tsx)
1
+ ---
2
+ name: crash-zoom-punch
3
+ 一句话: 全景一拍急推到目标特写(6f),落位二选一——过冲回弹(弹性)或撞停震屏(重量)
4
+ 适用: 功能段"点名"镜头——把观众视线一拍按到目标卡/模块上;强调级用撞停
5
+ 时长: 约 0.5s 动作 + 前后 hold(动作 6–11f,前 hold ≥30f 建立全景、后 hold ≥45f 读特写)
6
+ 能量: 高(瞬时冲击,非持续高能)
7
+ 标签: effects
8
+ ---
9
+
10
+ ## 意图
11
+ 慢推近(spotlight-hero-card)是"请看",急推是"看这个!"——一拍之内
12
+ 从全景砸到特写,视线没有选择余地。落位质感分两款:回弹是弹性
13
+ ("看这个"),撞停震屏是重量("就是它"),按强调级选。
14
+
15
+ ## 动效核心
16
+ - zoom 6f ease-in 急加速(如 1→2.6),cx/cy 同步 ease-in 收敛到目标中心
17
+ - 回弹款:zoom 过冲后 5f 回收 3–6%(2.6→2.45)
18
+ - 撞停款:到位帧起机位高频抖 + 指数衰减(amp 14px、τ≈1.8f、6f 收干),
19
+ 不回弹
20
+ - 运动模糊**只包急推段**(撞停震屏段保持清晰抖动):demo 用自写时间采样
21
+ (快门 ≈200°,子帧逐层 opacity 1/(i+1) 等权叠加,子帧数按本帧位移自适应、
22
+ 上限 40),采样按"回波间距 ≤ 字高"配(轮 A 判例);`<CameraMotionBlur>`
23
+ 亦可,但其半透明叠层在近静止帧会让底色发灰偏黄。CrashZoomReal 的页面小字只有 ~14px,
24
+ 回波间距压到 ≤6px(上限 44 层),高速帧再按间距给每层补 ≤4px 微模糊,把离散回波抹成连续拖影
25
+ - 急推前 6–8f 预备回拉 ~3–4%(先退后冲),全景 hold 段给 ~2–3% 的极缓 creep
26
+ - 回弹款 demo(CrashZoomReal)的舞台化:暖黑 ember 舞台上的浏览器窗口(后仰 11°、橙色背光 +
27
+ 地面反光),急推前四只橙色角标从外扩 150px 收拢锁定目标卡(先在全景里点名),急推同曲线把后仰
28
+ 拉正;到位帧一记暖色曝光闪(指数衰减 ~8f),周边压暗 86% + 目标卡轮廓光;回弹收干后相机平滑
29
+ 左移 320px 把卡让到左侧,右栏落一组大号读数(232px 数字 + 说明),尾帧是完整海报
30
+ - 撞停款 demo(CrashImpactReal)的舞台化:lime 暗场"战术 HUD"——真实页面裁成一块正视监视屏、舞台铺淡网格;
31
+ 荧光取景框在全景里扫描跳格(card1 → card5 → card4,各 8f snappy)、28f 收紧锁定并亮出 LOCK 标签后才急推
32
+ (0.76→2.35,子帧间距 ≤8px、上限 36);到位帧是"冲击帧"——卡外 1f 荧光 → 1f 余辉 → 近黑(全片唯一一处整画面冲击),
33
+ 两道荧光冲击波环从卡缘外扩;卡不浮起不发光(砸实)。震屏收干后一道扫描线扫过卡面一次,左右两栏 HUD 读数
34
+ (TARGET / OWNER / STATE 与 250px 等宽「P0」)错峰落位,126f 尾段 hold 42f
35
+
36
+ ## 参数表
37
+ | 参数 | 典型值 | 调节手感 |
38
+ |------|--------|----------|
39
+ | 急推时长 | 6f(4–8f) | >10f 读作普通推近,冲击感消失 |
40
+ | 目标 zoom | 2.4–2.8 | 终点构图以目标卡占画面 60–75% 为准 |
41
+ | 回弹幅度 | zoom 的 3–6% | 过大读作弹簧玩具 |
42
+ | 震屏包络 | 14px·e^(−t/1.8) | 幅度须过肉眼阈值(可感性判例),>20px 读作故障 |
43
+
44
+ ## 已知坑
45
+ - 终点必须是高清纹理槽位(card4-hires 级)——急推后全程特写它,
46
+ 低倍截图糊字(Q2);终点先按 Q2 的高分辨率栅格化技法处理
47
+ - 两款别混用:回弹后再震屏读作穿帮;一支片急推 ≤2 次(P4 手法去重精神)
48
+ - 参数经占位素材调校转正,非实战定稿,首次实战后回验
49
+
50
+ ## 参考实现
51
+ demos/camera/crash-zoom-punch/
52
+ (CrashImpactReal.tsx / CrashZoomReal.tsx)
@@ -1,39 +1,39 @@
1
- ---
2
- name: cursor-flyover
3
- 一句话: 整页俯瞰后,相机依次飞到四个功能区 zoom-in 特写,SVG 光标先一步到位指点、点击留下涟漪并触发界面响应,最后拉回俯瞰
4
- 适用: 单页产品的功能巡览:一镜带观众看完四个功能区,光标当"导游手指"
5
- 时长: 约 8.0s(240f@30fps;俯瞰 22f · 四站各 44f(飞行 20f + 停留 24f)· 拉回 24f · hold 18f)
6
- 能量: 中(等距巡航,节奏靠点击涟漪打点)
7
- ---
8
-
9
- ## 意图
10
- 替代"四个功能四段剪辑"的省镜方案:一个连续相机把四个角串成一条参观动线,光标是观众的注意力代理——它到哪、点哪,观众就看哪。空间连续让功能之间的位置关系也被顺带记住。
11
-
12
- ## 动效核心
13
- - demo 用 porcelain 亮场(冷白 + 钴蓝),video-shotcraft 工作台总览(顶栏标志 + 字标)按 1:1 原生排版画在 2400×1500 世界画布上:俯瞰 s=0.66 看全貌,特写 s=1.3(世界 32px 字 → 屏幕 42px,可读)
14
- - 相机是查表步进:CAMS[0] 俯瞰 → 四个模块中心(左上 Frames rendered → 右上 Shot previews → 右下 Release flags → 左下 Top shots),`x/y/s` 三通道用不对称 in-out(bezier 0.55,0,0.18,1:起步干脆、落位很软)插值;站间飞行途中 s 额外拉远 ~8% 再推回(hop),并按屏幕速度加方向性运动模糊(SpeedBlur amount 0.09,封顶 8px)
15
- - 变换公式 `translate(960 − x·s, 540 − y·s) scale(s)`——x/y 是"相机对准点"(世界 px),改表即换巡览路线
16
- - **光标是手、相机是眼**:光标先走(swift 16f,一条与位移垂直的轻弧,起止弧度为 0),相机晚 2f 起步、20f 落定;光标在目标上"瞄"一拍后按下(clickAt = 起步 +22f),按下 3f 缩到 0.84 再过冲回弹;光标画在屏幕空间,屏幕上恒为 40px
17
- - 四个落点各对准一个真实控件,点击即有界面响应:分段控件 30D→90D(滑块平移 + 大数字旧值上滑、新值从下升起 + 12 根柱错峰弹簧到新高度)/ 数据点 tooltip 过冲弹出 + 引导线下落 / 开关弹簧滑动 + 灰度进度条 0→25% / 表格行染色 + 强调条 + 对勾描线
18
- - 每次点击触发 80px 圆环涟漪(18f,scale 0.3→1.5 淡出)
19
- - 第 4 站后相机 smooth 24f 拉回俯瞰,四处状态同框("巡览结束"全家福),尾段极缓推近 1%
20
-
21
- ## 参数表
22
- | 参数 | 典型值 | 调节手感 |
23
- |------|--------|----------|
24
- | 特写倍率 | s=1.3(俯瞰 0.66) | 世界原生排版,倍率按"要读的字 ≥40px 屏幕字高"反推,>1.6 时模块出画 |
25
- | 步进节奏 | 飞行 20f / 停留 24f | 停留是读功能位,短于 15f 变"扫过"没有"参观" |
26
- | 光标领先 | 起步早 2f、到位早 6f | 0 = 光标被相机拖着走(像录屏);>10f 观众先看光标再找画面 |
27
- | 点击涟漪 | 18f,scale 0.3→1.5 | 涟漪是节拍器,四次点击等距(每 44f)——配 SFX click 四连 |
28
- | 巡览顺序 | 左上→右上→右下→左下 | 改 CAMS / TARGETS 表即换路线;保持相邻模块相邻访问,对角跳跃会晕 |
29
- | 收尾拉回 | smooth 24f 回俯瞰 | 不拉回就停在最后一个模块;拉回让四处状态同框成海报 |
30
-
31
- ## 已知坑
32
- - 用真实产品截图时,TARGETS 落点要重新标到截图里控件的中心;截图要 ≥1.3 倍特写倍率的原生分辨率(Q2)
33
- - 相机表的 x/y 是世界 px 坐标,世界画布宽高比变了(如换竖屏)需整表重标
34
- - 光标与相机已解耦(各自一张表),但两者的起步/到位帧差要成对改,否则点击时相机还在动、界面响应会被运动模糊吃掉
35
- - 运动模糊别给太多:亮场 UI 在 hop 末段仍高速时,amount > 0.12 会读作"失焦"而不是"运动"
36
-
37
- ## 参考实现
38
- demos/camera/cursor-flyover/
39
- (CursorFlyover.tsx)
1
+ ---
2
+ name: cursor-flyover
3
+ 一句话: 整页俯瞰后,相机依次飞到四个功能区 zoom-in 特写,SVG 光标先一步到位指点、点击留下涟漪并触发界面响应,最后拉回俯瞰
4
+ 适用: 单页产品的功能巡览:一镜带观众看完四个功能区,光标当"导游手指"
5
+ 时长: 约 8.0s(240f@30fps;俯瞰 22f · 四站各 44f(飞行 20f + 停留 24f)· 拉回 24f · hold 18f)
6
+ 能量: 中(等距巡航,节奏靠点击涟漪打点)
7
+ ---
8
+
9
+ ## 意图
10
+ 替代"四个功能四段剪辑"的省镜方案:一个连续相机把四个角串成一条参观动线,光标是观众的注意力代理——它到哪、点哪,观众就看哪。空间连续让功能之间的位置关系也被顺带记住。
11
+
12
+ ## 动效核心
13
+ - demo 用 porcelain 亮场(冷白 + 钴蓝),video-shotcraft 工作台总览(顶栏标志 + 字标)按 1:1 原生排版画在 2400×1500 世界画布上:俯瞰 s=0.66 看全貌,特写 s=1.3(世界 32px 字 → 屏幕 42px,可读)
14
+ - 相机是查表步进:CAMS[0] 俯瞰 → 四个模块中心(左上 Frames rendered → 右上 Shot previews → 右下 Release flags → 左下 Top shots),`x/y/s` 三通道用不对称 in-out(bezier 0.55,0,0.18,1:起步干脆、落位很软)插值;站间飞行途中 s 额外拉远 ~8% 再推回(hop),并按屏幕速度加方向性运动模糊(SpeedBlur amount 0.09,封顶 8px)
15
+ - 变换公式 `translate(960 − x·s, 540 − y·s) scale(s)`——x/y 是"相机对准点"(世界 px),改表即换巡览路线
16
+ - **光标是手、相机是眼**:光标先走(swift 16f,一条与位移垂直的轻弧,起止弧度为 0),相机晚 2f 起步、20f 落定;光标在目标上"瞄"一拍后按下(clickAt = 起步 +22f),按下 3f 缩到 0.84 再过冲回弹;光标画在屏幕空间,屏幕上恒为 40px
17
+ - 四个落点各对准一个真实控件,点击即有界面响应:分段控件 30D→90D(滑块平移 + 大数字旧值上滑、新值从下升起 + 12 根柱错峰弹簧到新高度)/ 数据点 tooltip 过冲弹出 + 引导线下落 / 开关弹簧滑动 + 灰度进度条 0→25% / 表格行染色 + 强调条 + 对勾描线
18
+ - 每次点击触发 80px 圆环涟漪(18f,scale 0.3→1.5 淡出)
19
+ - 第 4 站后相机 smooth 24f 拉回俯瞰,四处状态同框("巡览结束"全家福),尾段极缓推近 1%
20
+
21
+ ## 参数表
22
+ | 参数 | 典型值 | 调节手感 |
23
+ |------|--------|----------|
24
+ | 特写倍率 | s=1.3(俯瞰 0.66) | 世界原生排版,倍率按"要读的字 ≥40px 屏幕字高"反推,>1.6 时模块出画 |
25
+ | 步进节奏 | 飞行 20f / 停留 24f | 停留是读功能位,短于 15f 变"扫过"没有"参观" |
26
+ | 光标领先 | 起步早 2f、到位早 6f | 0 = 光标被相机拖着走(像录屏);>10f 观众先看光标再找画面 |
27
+ | 点击涟漪 | 18f,scale 0.3→1.5 | 涟漪是节拍器,四次点击等距(每 44f)——配 SFX click 四连 |
28
+ | 巡览顺序 | 左上→右上→右下→左下 | 改 CAMS / TARGETS 表即换路线;保持相邻模块相邻访问,对角跳跃会晕 |
29
+ | 收尾拉回 | smooth 24f 回俯瞰 | 不拉回就停在最后一个模块;拉回让四处状态同框成海报 |
30
+
31
+ ## 已知坑
32
+ - 用真实产品截图时,TARGETS 落点要重新标到截图里控件的中心;截图要 ≥1.3 倍特写倍率的原生分辨率(Q2)
33
+ - 相机表的 x/y 是世界 px 坐标,世界画布宽高比变了(如换竖屏)需整表重标
34
+ - 光标与相机已解耦(各自一张表),但两者的起步/到位帧差要成对改,否则点击时相机还在动、界面响应会被运动模糊吃掉
35
+ - 运动模糊别给太多:亮场 UI 在 hop 末段仍高速时,amount > 0.12 会读作"失焦"而不是"运动"
36
+
37
+ ## 参考实现
38
+ demos/camera/cursor-flyover/
39
+ (CursorFlyover.tsx)
@@ -1,39 +1,39 @@
1
- ---
2
- name: depth-layer-moves
3
- 一句话: 分层深度运镜——多层视差滑轨:3 层速度梯度横移出纵深,滑轨落定时主角浮起
4
- 适用: 平面截图要"有厚度"的段落:卡组 / 列表 / 整页的横向巡览
5
- 时长: 4–5.5s 持续(demo 165f)
6
- 能量: 中(质感型)
7
- ---
8
-
9
- ## 意图
10
- 整页平移是"看页面",分层深度是"在页面的空间里"。视差滑轨给横移
11
- 加纵深(迪士尼多平面摄影机原理,Linear 片同款质感)。
12
-
13
- ## 动效核心
14
- - **视差滑轨(3 层 + 0x 字层)**:同一条 drive 位移乘各层系数——远景整页(0.35x + 放大一档 + blur 5px +
15
- 降饱和 0.7 + 上浓下淡的同色空气薄雾,退成环境)、中景真实卡组(0.7x,主阅读层,无 blur,两层软影落在
16
- "桌面"上)、近景浮块(1.4x + blur 7px + 深远落影 + 按速度横向拖影,掠过镜头)。demo(MultiplaneReal)用
17
- sand 暖米色:近景是 5 枚放大的赤陶 / 墨色标签胶囊(取自卡上的真实标签),画框上再钉一层不动的标题
18
- (0x:video-shotcraft 标志 + 字标眉题,"Your page, in depth." 120px)——字不动、世界在动,视差反而更好读
19
- - 滑轨有终点:drive 总量按"中景落定时 card4 恰在屏心"反算,不对称 in-out(bezier 0.45,0,0.18,1)130f;
20
- 落定后主角浮起(elevation 6→26、1.035x、晚于位置收敛 ~8f)+ 赤陶描边 + 「In focus」角标,尾帧是海报;
21
- 近景胶囊的世界坐标按"落定时只剩两枚压在画框下沿"排布
22
- - 不拆真实页面排版:整页作为一体成层,独立元素用切片另起层——层间关系是"景深",不是"页面被撕开"
23
-
24
- ## 参数表
25
- | 参数 | 典型值 | 调节手感 |
26
- |------|--------|----------|
27
- | 视差层系数 | 0.35 / 0.7 / 1.4(+ 0x 字层) | 梯度 ≥2 倍层间才可辨;层数 ≤4 防过载 |
28
- | 层次锚 | 前后景 blur + 背景降饱和 + 空气薄雾 | 没有 blur/饱和锚,读作"贴片乱飞" |
29
- | 滑轨终点 | drive 反算到主角居中 | 没终点的匀速横移读作屏保;落定后给主角一拍浮起 |
30
-
31
- ## 已知坑
32
- - 主阅读层必须高清纹理且无 blur——观众在读它
33
- - 整层全屏实时 `filter: blur()` 每帧变化很贵(实测可差 3 倍以上渲染时长):模糊挂在层内的小元素上,别挂在铺满画面的层容器上
34
- - 视差与 PageCam rot 3D 的组合(斜拍视差)未验证,实战先渲 still 确认
35
- - 参数经占位素材调校转正,非实战定稿,首次实战后回验
36
-
37
- ## 参考实现
38
- demos/camera/depth-layer-moves/
39
- (MultiplaneReal.tsx)
1
+ ---
2
+ name: depth-layer-moves
3
+ 一句话: 分层深度运镜——多层视差滑轨:3 层速度梯度横移出纵深,滑轨落定时主角浮起
4
+ 适用: 平面截图要"有厚度"的段落:卡组 / 列表 / 整页的横向巡览
5
+ 时长: 4–5.5s 持续(demo 165f)
6
+ 能量: 中(质感型)
7
+ ---
8
+
9
+ ## 意图
10
+ 整页平移是"看页面",分层深度是"在页面的空间里"。视差滑轨给横移
11
+ 加纵深(迪士尼多平面摄影机原理,Linear 片同款质感)。
12
+
13
+ ## 动效核心
14
+ - **视差滑轨(3 层 + 0x 字层)**:同一条 drive 位移乘各层系数——远景整页(0.35x + 放大一档 + blur 5px +
15
+ 降饱和 0.7 + 上浓下淡的同色空气薄雾,退成环境)、中景真实卡组(0.7x,主阅读层,无 blur,两层软影落在
16
+ "桌面"上)、近景浮块(1.4x + blur 7px + 深远落影 + 按速度横向拖影,掠过镜头)。demo(MultiplaneReal)用
17
+ sand 暖米色:近景是 5 枚放大的赤陶 / 墨色标签胶囊(取自卡上的真实标签),画框上再钉一层不动的标题
18
+ (0x:video-shotcraft 标志 + 字标眉题,"Your page, in depth." 120px)——字不动、世界在动,视差反而更好读
19
+ - 滑轨有终点:drive 总量按"中景落定时 card4 恰在屏心"反算,不对称 in-out(bezier 0.45,0,0.18,1)130f;
20
+ 落定后主角浮起(elevation 6→26、1.035x、晚于位置收敛 ~8f)+ 赤陶描边 + 「In focus」角标,尾帧是海报;
21
+ 近景胶囊的世界坐标按"落定时只剩两枚压在画框下沿"排布
22
+ - 不拆真实页面排版:整页作为一体成层,独立元素用切片另起层——层间关系是"景深",不是"页面被撕开"
23
+
24
+ ## 参数表
25
+ | 参数 | 典型值 | 调节手感 |
26
+ |------|--------|----------|
27
+ | 视差层系数 | 0.35 / 0.7 / 1.4(+ 0x 字层) | 梯度 ≥2 倍层间才可辨;层数 ≤4 防过载 |
28
+ | 层次锚 | 前后景 blur + 背景降饱和 + 空气薄雾 | 没有 blur/饱和锚,读作"贴片乱飞" |
29
+ | 滑轨终点 | drive 反算到主角居中 | 没终点的匀速横移读作屏保;落定后给主角一拍浮起 |
30
+
31
+ ## 已知坑
32
+ - 主阅读层必须高清纹理且无 blur——观众在读它
33
+ - 整层全屏实时 `filter: blur()` 每帧变化很贵(实测可差 3 倍以上渲染时长):模糊挂在层内的小元素上,别挂在铺满画面的层容器上
34
+ - 视差与 PageCam rot 3D 的组合(斜拍视差)未验证,实战先渲 still 确认
35
+ - 参数经占位素材调校转正,非实战定稿,首次实战后回验
36
+
37
+ ## 参考实现
38
+ demos/camera/depth-layer-moves/
39
+ (MultiplaneReal.tsx)
@@ -1,57 +1,57 @@
1
- ---
2
- name: graze-face-tour
3
- 一句话: 大倾角贴面游走特写——镜头贴着 UI 表面低飞掠过(侧栏树/顶栏/列表当地形),页面文字初始悬浮在界面上空带同形软影,随镜头行进先后加速贴落回界面
4
- 适用: 功能区巡礼(把 UI 当地景飞掠);配合暗场+霓虹缘光做产品"内部世界"段落;界面内容逐区登场
5
- 时长: 单段 4–5s;可多段接力延长
6
- 能量: 中高(运镜持续推进+元素连续落位,信息密度高)
7
- 标签: ui-entrance
8
- ---
9
-
10
- ## 意图
11
- 把 UI 拍成地形:大倾角特写让侧栏树、导航、列表行变成掠过的地貌,
12
- 浅景深强化"贴面"。戏眼是**文字空中贴落**:文字/组件不是原地淡入,
13
- 而是悬浮在界面上空(3D z 轴抬高),在空中时往界面投同形软影,
14
- 随镜头行进先后加速贴落、影子随高度收敛消失——观众看见界面在
15
- 镜头经过时"完成自己"。影子是可感命门:没有影子,悬浮读作
16
- 普通位移入场;有影子,空间关系瞬间成立。
17
-
18
- ## 动效核心
19
- - 机位:CSS perspective + rotateX/rotateY 大倾角(面几乎侧掠),
20
- 沿界面一条路径持续推进;浅景深=远处 blur 渐强
21
- - 悬浮元素:初始悬浮高度 H≈120–180px(沿面法线方向抬起),
22
- easeFall 加速下落+软着陆(落地不回弹或极微回弹)
23
- - 同形软影:元素原位渲染模糊压暗投影,blur/offset/opacity 全部
24
- 随当前悬浮高度变化(高=影大而糊而淡,落地=影与本体重合消失)
25
- - 错峰贴落:各元素落地时刻按镜头行进方向排布(先经过的先落),
26
- 界面在镜头前"依次完成"
27
- - 长镜可拆段接力:段间用相邻段交叉淡化(判例:透明度窗口不重叠
28
- 会产生黑闪帧)
29
-
30
- ## 参数表
31
- | 参数 | 典型值 | 调节手感 |
32
- |------|--------|----------|
33
- | 悬浮高度 | 120–180px | <80px 影子和位移都读不出;>250px 落地砸得太重 |
34
- | 影子参数 | blur/offset/opacity 随高度线性收敛 | 影子恒定不随高度变=贴纸感;落地影必须归零 |
35
- | 贴落错峰 | 按镜头行进方向 0.2→0.85 归一化排布 | 同帧齐落读作开关;乱序落读作 bug;**错峰=错开起点但下落过程重叠并行**,串行等待(一个落完另一个才开始)被裁 |
36
- | 下落曲线 | easeFall 加速+软着陆 | ease-out 下落读作气球飘落,重力感靠加速 |
37
- | 段间接力 | 相邻段交叉淡化 ≥8f | 透明度窗口不搭接会黑闪(返工判例 f100 纯黑帧) |
38
- | 景深 | 远处 blur 渐强 | 全清晰读作平面滚动,浅景深才有"贴面"体感 |
39
-
40
- ## 已知坑
41
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
42
- 首次实战须以真实素材回验
43
- - 悬空元素别被环境压黑带吞掉:空中元素
44
- 需追光/提亮 ~1.3x,否则悬浮状态不可感等于没做
45
- - 与 space-camera-moves/tension-camera-moves 分工:那两张是相机
46
- 语言本身;本卡=贴面机位 **+ 元素贴落** 的组合签名,缺一半就
47
- 改用相机卡
48
- - **贴落节奏语义判例**(与 neon-frame-orbit-drop 互为反例):
49
- 本卡巡礼镜=错峰并行;整体登场镜必须全体同帧齐落(那张卡的
50
- 错峰版被裁)。选错语法两边都会被裁
51
- - 原片(clickup-30)是一条连续上行长镜;复刻用三段接力,段落
52
- 切换藏在交叉淡化里——实战若做真单长镜,路径规划成本高得多
53
-
54
- ## 参考实现
55
- demos/camera/graze-face-tour/
56
- (GrazeFaceTour.tsx)
57
- 原片出处:clickup-30.mp4
1
+ ---
2
+ name: graze-face-tour
3
+ 一句话: 大倾角贴面游走特写——镜头贴着 UI 表面低飞掠过(侧栏树/顶栏/列表当地形),页面文字初始悬浮在界面上空带同形软影,随镜头行进先后加速贴落回界面
4
+ 适用: 功能区巡礼(把 UI 当地景飞掠);配合暗场+霓虹缘光做产品"内部世界"段落;界面内容逐区登场
5
+ 时长: 单段 4–5s;可多段接力延长
6
+ 能量: 中高(运镜持续推进+元素连续落位,信息密度高)
7
+ 标签: ui-entrance
8
+ ---
9
+
10
+ ## 意图
11
+ 把 UI 拍成地形:大倾角特写让侧栏树、导航、列表行变成掠过的地貌,
12
+ 浅景深强化"贴面"。戏眼是**文字空中贴落**:文字/组件不是原地淡入,
13
+ 而是悬浮在界面上空(3D z 轴抬高),在空中时往界面投同形软影,
14
+ 随镜头行进先后加速贴落、影子随高度收敛消失——观众看见界面在
15
+ 镜头经过时"完成自己"。影子是可感命门:没有影子,悬浮读作
16
+ 普通位移入场;有影子,空间关系瞬间成立。
17
+
18
+ ## 动效核心
19
+ - 机位:CSS perspective + rotateX/rotateY 大倾角(面几乎侧掠),
20
+ 沿界面一条路径持续推进;浅景深=远处 blur 渐强
21
+ - 悬浮元素:初始悬浮高度 H≈120–180px(沿面法线方向抬起),
22
+ easeFall 加速下落+软着陆(落地不回弹或极微回弹)
23
+ - 同形软影:元素原位渲染模糊压暗投影,blur/offset/opacity 全部
24
+ 随当前悬浮高度变化(高=影大而糊而淡,落地=影与本体重合消失)
25
+ - 错峰贴落:各元素落地时刻按镜头行进方向排布(先经过的先落),
26
+ 界面在镜头前"依次完成"
27
+ - 长镜可拆段接力:段间用相邻段交叉淡化(判例:透明度窗口不重叠
28
+ 会产生黑闪帧)
29
+
30
+ ## 参数表
31
+ | 参数 | 典型值 | 调节手感 |
32
+ |------|--------|----------|
33
+ | 悬浮高度 | 120–180px | <80px 影子和位移都读不出;>250px 落地砸得太重 |
34
+ | 影子参数 | blur/offset/opacity 随高度线性收敛 | 影子恒定不随高度变=贴纸感;落地影必须归零 |
35
+ | 贴落错峰 | 按镜头行进方向 0.2→0.85 归一化排布 | 同帧齐落读作开关;乱序落读作 bug;**错峰=错开起点但下落过程重叠并行**,串行等待(一个落完另一个才开始)被裁 |
36
+ | 下落曲线 | easeFall 加速+软着陆 | ease-out 下落读作气球飘落,重力感靠加速 |
37
+ | 段间接力 | 相邻段交叉淡化 ≥8f | 透明度窗口不搭接会黑闪(返工判例 f100 纯黑帧) |
38
+ | 景深 | 远处 blur 渐强 | 全清晰读作平面滚动,浅景深才有"贴面"体感 |
39
+
40
+ ## 已知坑
41
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
42
+ 首次实战须以真实素材回验
43
+ - 悬空元素别被环境压黑带吞掉:空中元素
44
+ 需追光/提亮 ~1.3x,否则悬浮状态不可感等于没做
45
+ - 与 space-camera-moves/tension-camera-moves 分工:那两张是相机
46
+ 语言本身;本卡=贴面机位 **+ 元素贴落** 的组合签名,缺一半就
47
+ 改用相机卡
48
+ - **贴落节奏语义判例**(与 neon-frame-orbit-drop 互为反例):
49
+ 本卡巡礼镜=错峰并行;整体登场镜必须全体同帧齐落(那张卡的
50
+ 错峰版被裁)。选错语法两边都会被裁
51
+ - 原片(clickup-30)是一条连续上行长镜;复刻用三段接力,段落
52
+ 切换藏在交叉淡化里——实战若做真单长镜,路径规划成本高得多
53
+
54
+ ## 参考实现
55
+ demos/camera/graze-face-tour/
56
+ (GrazeFaceTour.tsx)
57
+ 原片出处:clickup-30.mp4
@@ -1,51 +1,51 @@
1
- ---
2
- name: overhead-camera-moves
3
- 一句话: 俯拍揭示两式——tilt-reveal 俯仰抬正揭示、overhead-tabletop-drop 桌面卡阵横滑骤降扎入
4
- 适用: 用"俯仰角"讲故事的开场/转场:单页 establishing 用 A,多页巡视择一扎入用 B
5
- 时长: A 120f(4s)/ B 140f(4.7s)
6
- 能量: A 中 / B 中高
7
- 标签: opening、transition
8
- ---
9
-
10
- ## 意图
11
- 库内俯拍视角一直空缺——crane-rise 是"平移+缩放"的升起(俯仰角
12
- 不动),space-camera C 式 drone-dive 是俯冲降落一镜到底;这两式让
13
- **俯仰角本身讲故事**:A 是揭示——整页 rotateX 平躺、开场只见远端上缘
14
- 一条发光的透视窄带(像天际线上的第一道光),机位"抬头"回正,内容一排排
15
- 涌入视野,像掀开桌上的图纸;B 是选择——三张页面卡平躺成桌面卡阵,相机俯拍横向滑过依次
16
- 掠过(韦斯·安德森 tabletop),滑到目标页猛地俯冲扎入、抬正成满屏,
17
- "巡视一圈,就选这张"。选型:单页开场用 A,多页转场/开场用 B。
18
-
19
- ## 两式选型
20
- | 式 | 做法 | 适用 |
21
- |----|------|------|
22
- | A tilt-reveal | 整页绕下沿铰链 rotateX 86° 正面朝上平躺,40f 抬正(过冲 −2.2° 再软回),角度/缩放/铰链位置/透视/视点高度共用一条进度 | 开场 establishing;单主体 |
23
- | B overhead-tabletop-drop | 卡阵平躺 rotateX 62°,pan 段只动 translateX 横滑掠过,drop 段角度/缩放/位移三通道同跑扎入落版 | 多页巡视后择一;转场/开场两用 |
24
-
25
- ## 参数表
26
- | 参数 | 典型值 | 调节手感 |
27
- |------|--------|----------|
28
- | A 俯角 | rotateX 86°(f0–20 极缓 creep 到 83°)→ −2.2°(f60,速度归零)→ 0°(f70),主段 EASE.swift 不对称 in-out、过冲回落 smooth,transformOrigin 50% 100%(下沿铰链) | 首版 −55° 太弱:f0 仍见半页,无"窄带"悬念(实渲判例);视点低于页面平面会看到背面(窄带里的字上下颠倒,实渲判例)——视点要在页面上方;分段各用 out-cubic 会在接缝处速度突变 |
29
- | A 联动 | perspective 700→1500、视点 y 从铰链上方 300px → 画面中心;scale 2.5→0.84(落定留边看见舞台)、铰链 y 600→935;背景光池与浮尘反向视差下移 150px | perspective 不联动则俯角初始见不到"只露一条";背景不视差读作页面在转、不是相机抬头 |
30
- | A 收尾 | 机位 f70 落定;38–82 面积图折线描出、80f 终点光点亮起;70–120 极缓推近 1→1.018 | 过冲幅度 ≤3°,再大读作弹簧不是机位;69f 纯静止太长(> 1s 死帧),hold 段要有极缓推近 |
31
- | B pan 段 | 0–50f 只改 translateX +760→−360(smooth),角度不动;50–58 停 8f 选定(目标稿离桌 16px、它的顶灯亮、另两盏暗到 35%) | pan 段动角度 = 两段职责糊掉(判例:pan 巡视、drop 表态);没有选定那一拍,扎入读作随机 |
32
- | B drop 段 | 58–86f 三通道同跑:rotateX 62→−1.6→0.5→0(零速起步的不对称曲线 + smooth 回落过冲)、scale 1→2.04→2.0(起步带 ~5% 预备回缩)、translateX −360→0 | 三通道必须同跑;分先后读作两个动作;pan 静止后直接 out-cubic 起跳是速度突变 |
33
- | B 卡阵 | 卡片 996×560(16:9 精确比),落版 scale 2.0 恰满屏正视;transform 顺序 translateX→rotateX→scale | 顺序错了 pan 会带出弧线轨迹 |
34
- | B 地板 | 深石墨台面 + 发丝网格 + 每张稿一盏顶灯光池/体积光束 + 稿下印刷标签(01 SHOTS…) | 无地板参照,横滑段读不出"相机在动";暗桌白稿的反差就是层次 |
35
- | B 收尾 | 机位 f94 落版;98–118 页面内金色镜头块滑入分镜板空槽(一次过冲);94–140 极缓推近 1→1.012 | 落版后完全静止 47f 偏死;页面内给一个小动作收尾 |
36
-
37
- ## 已知坑
38
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
39
- 首次实战须以真实素材回验
40
- - 大角度透视下卡片必须 backfaceVisibility hidden + translateZ(4px)
41
- 兜底,否则个别帧背面/深度穿帮
42
- - A 与 crane-rise-reveal 同片二选一——都是开场揭示,两个"揭示开场"
43
- 等于没有揭示
44
- - B pan 段角度锁死是命门(两段职责分离判例):巡视归巡视、扎入归
45
- 扎入,混着动观众不知道相机想干嘛
46
- - 两式都是"相机大动作",与 space-camera/crane-rise 同屏段落互斥,
47
- 一个段落只能有一个持镜人
48
-
49
- ## 参考实现
50
- demos/camera/overhead-camera-moves/
51
- (OverheadTabletopDrop.tsx / TiltReveal.tsx)
1
+ ---
2
+ name: overhead-camera-moves
3
+ 一句话: 俯拍揭示两式——tilt-reveal 俯仰抬正揭示、overhead-tabletop-drop 桌面卡阵横滑骤降扎入
4
+ 适用: 用"俯仰角"讲故事的开场/转场:单页 establishing 用 A,多页巡视择一扎入用 B
5
+ 时长: A 120f(4s)/ B 140f(4.7s)
6
+ 能量: A 中 / B 中高
7
+ 标签: opening、transition
8
+ ---
9
+
10
+ ## 意图
11
+ 库内俯拍视角一直空缺——crane-rise 是"平移+缩放"的升起(俯仰角
12
+ 不动),space-camera C 式 drone-dive 是俯冲降落一镜到底;这两式让
13
+ **俯仰角本身讲故事**:A 是揭示——整页 rotateX 平躺、开场只见远端上缘
14
+ 一条发光的透视窄带(像天际线上的第一道光),机位"抬头"回正,内容一排排
15
+ 涌入视野,像掀开桌上的图纸;B 是选择——三张页面卡平躺成桌面卡阵,相机俯拍横向滑过依次
16
+ 掠过(韦斯·安德森 tabletop),滑到目标页猛地俯冲扎入、抬正成满屏,
17
+ "巡视一圈,就选这张"。选型:单页开场用 A,多页转场/开场用 B。
18
+
19
+ ## 两式选型
20
+ | 式 | 做法 | 适用 |
21
+ |----|------|------|
22
+ | A tilt-reveal | 整页绕下沿铰链 rotateX 86° 正面朝上平躺,40f 抬正(过冲 −2.2° 再软回),角度/缩放/铰链位置/透视/视点高度共用一条进度 | 开场 establishing;单主体 |
23
+ | B overhead-tabletop-drop | 卡阵平躺 rotateX 62°,pan 段只动 translateX 横滑掠过,drop 段角度/缩放/位移三通道同跑扎入落版 | 多页巡视后择一;转场/开场两用 |
24
+
25
+ ## 参数表
26
+ | 参数 | 典型值 | 调节手感 |
27
+ |------|--------|----------|
28
+ | A 俯角 | rotateX 86°(f0–20 极缓 creep 到 83°)→ −2.2°(f60,速度归零)→ 0°(f70),主段 EASE.swift 不对称 in-out、过冲回落 smooth,transformOrigin 50% 100%(下沿铰链) | 首版 −55° 太弱:f0 仍见半页,无"窄带"悬念(实渲判例);视点低于页面平面会看到背面(窄带里的字上下颠倒,实渲判例)——视点要在页面上方;分段各用 out-cubic 会在接缝处速度突变 |
29
+ | A 联动 | perspective 700→1500、视点 y 从铰链上方 300px → 画面中心;scale 2.5→0.84(落定留边看见舞台)、铰链 y 600→935;背景光池与浮尘反向视差下移 150px | perspective 不联动则俯角初始见不到"只露一条";背景不视差读作页面在转、不是相机抬头 |
30
+ | A 收尾 | 机位 f70 落定;38–82 面积图折线描出、80f 终点光点亮起;70–120 极缓推近 1→1.018 | 过冲幅度 ≤3°,再大读作弹簧不是机位;69f 纯静止太长(> 1s 死帧),hold 段要有极缓推近 |
31
+ | B pan 段 | 0–50f 只改 translateX +760→−360(smooth),角度不动;50–58 停 8f 选定(目标稿离桌 16px、它的顶灯亮、另两盏暗到 35%) | pan 段动角度 = 两段职责糊掉(判例:pan 巡视、drop 表态);没有选定那一拍,扎入读作随机 |
32
+ | B drop 段 | 58–86f 三通道同跑:rotateX 62→−1.6→0.5→0(零速起步的不对称曲线 + smooth 回落过冲)、scale 1→2.04→2.0(起步带 ~5% 预备回缩)、translateX −360→0 | 三通道必须同跑;分先后读作两个动作;pan 静止后直接 out-cubic 起跳是速度突变 |
33
+ | B 卡阵 | 卡片 996×560(16:9 精确比),落版 scale 2.0 恰满屏正视;transform 顺序 translateX→rotateX→scale | 顺序错了 pan 会带出弧线轨迹 |
34
+ | B 地板 | 深石墨台面 + 发丝网格 + 每张稿一盏顶灯光池/体积光束 + 稿下印刷标签(01 SHOTS…) | 无地板参照,横滑段读不出"相机在动";暗桌白稿的反差就是层次 |
35
+ | B 收尾 | 机位 f94 落版;98–118 页面内金色镜头块滑入分镜板空槽(一次过冲);94–140 极缓推近 1→1.012 | 落版后完全静止 47f 偏死;页面内给一个小动作收尾 |
36
+
37
+ ## 已知坑
38
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
39
+ 首次实战须以真实素材回验
40
+ - 大角度透视下卡片必须 backfaceVisibility hidden + translateZ(4px)
41
+ 兜底,否则个别帧背面/深度穿帮
42
+ - A 与 crane-rise-reveal 同片二选一——都是开场揭示,两个"揭示开场"
43
+ 等于没有揭示
44
+ - B pan 段角度锁死是命门(两段职责分离判例):巡视归巡视、扎入归
45
+ 扎入,混着动观众不知道相机想干嘛
46
+ - 两式都是"相机大动作",与 space-camera/crane-rise 同屏段落互斥,
47
+ 一个段落只能有一个持镜人
48
+
49
+ ## 参考实现
50
+ demos/camera/overhead-camera-moves/
51
+ (OverheadTabletopDrop.tsx / TiltReveal.tsx)
@@ -1,46 +1,46 @@
1
- ---
2
- name: space-camera-moves
3
- 一句话: 3D 空间化运镜两式——exploded-view 爆炸分解(构件沿 Z 炸开再合体)、drone-dive-landing 无人机俯冲降落
4
- 适用: 把平面页面当 3D 实体拍的高光段落;两式都是"大动作",一支片合计 ≤2 次
5
- 时长: A 170f(5.7s,炸开-悬停-合体-收尾标题全程);C 105f(3.5s,俯冲 69f + 落定 hold 36f)单向俯冲
6
- 能量: 高
7
- ---
8
-
9
- ## 意图
10
- depth-layer 卡是给平移加纵深——层在动、页面还是页面。这两式更进一步:
11
- 整页被当成一个 3D 实体,相机(或世界)绕着它做实拍级机动。两式叙事
12
- 语义各占一格:A 说"看看它由什么组成"(拆解展示,Apple 发布片语言);
13
- C 说"从全局俯瞰砸到主角"(上帝视角一头扎进 hero 特写,全景→焦点)。
14
-
15
- ## 两式选型
16
-
17
- | 式 | 做法 | 适用段落 |
18
- |----|------|----------|
19
- | A exploded-view | 整页 3/4 轴测平躺,构件沿页面法线错峰炸开悬停(配编号标注),一拍后逆序合体落锤收口 | 架构/组成展示:"这个产品里有什么";模块总览段 |
20
- | C drone-dive-landing | 近垂直俯角悬停 → 猛扎俯冲 → 气垫减速停在 hero 卡特写 | 开场定场→入题;全局地图砸进单点的章节启动 |
21
-
22
- ## 参数表
23
- | 参数 | 典型值 | 调节手感 |
24
- |------|--------|----------|
25
- | A 空间基座 | perspective 2400 + `translate·scale·rotateX(54°)·rotateZ(−34°)` 轴测 + preserve-3d;炸开时机位拉远 0.56→0.47 并下移给层堆留画面;悬停期环绕 rotateZ +10°、俯角收 4° | 正面微倾(18°/−12°)只读作"浮起",轴测平躺才像爆炸图;悬停环绕让层间视差读出深度 |
26
- | A 炸开 | 5 层 translateZ 150/270/400/520/640,弹簧(damping 15、stiffness 120)错峰 5f | 页面上越靠远端(顶部)的层要越高,否则低处的层升起后挡住上方层;深度全同读作整页浮起 |
27
- | A 合体 | 标注先撤(ease-in 8f),层逆序 ease-in 14f、错峰 3f;落座帧整组下沉 8px 阻尼回弹 + 台面接触影一紧,随后一道扫光掠过整页 | 落锤必须有——没有它合体读作软趴趴的淡入;但不用抖屏(Q3),下沉回弹 + 影子收紧同样有"咔" |
28
- | A 深度锚 | 各层投到底板的影随高度下移变虚变淡 + 每层背后一片厚度边 + 底板露出构件虚线插槽 | 三个线索缺一层间关系就糊 |
29
- | A 标注 | 锚点 = 层外缘中点的 3D 投影(与 CSS 同一套矩阵手算),左右两栏、水平引线到栏前一折;标题 44px + 说明 30px,描线 8f + 升起 12f,错峰 6f | 引线从层中间拉出会穿过别的层;标注字 <32px 读不清 |
30
- | C 行程 | 同一条 p 驱动 rotateX 72°→0 + scale 0.42→1.35 + translate 收拢;origin 钉死 hero 卡中心(如 518,335);页面按终点倍率 1.35 布局 + CSS zoom 栅格化再缩回,特写文字不糊 | 一条 p = 一台相机一次机动;分开驱动读作三个动画打架 |
31
- | C 速度曲线 | 0–24f 上帝视角建立 + 上提预备(行程倒退 2.5%)→ 主俯冲 25f Easing.in(cubic) 吃 82% 行程 → 气垫 20f Easing.out(poly(5)) 走 18% → 落定 hold 36f | 切换帧速度骤降 = 气垫顶住的体感;82/18 比例比帧数更关键 |
32
- | C 氛围 | 场景包 CameraMotionBlur(shutterAngle 220, samples 12),背景与颗粒放在模糊之外;页面悬停在同一 3D 世界的点阵地面上方(起始 lift 150),俯冲时点阵向镜头涌来;地面同形接触影随降落收紧变实、触地前淡到 0;落定后 hero 外一圈轻压暗收焦 | 软影卖"悬空高度";blur 卖速度,缺一维就假;大面积渐变放进多重采样会量化出色环,背景留在模糊外 |
33
-
34
- ## 已知坑
35
- - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
36
- 首次实战须以真实素材回验
37
- - 两式都吃真实截图分层/高清纹理:A 需页面按构件切块截图(顶栏/侧栏/
38
- 卡各自独立成图,整页一张图炸不开);C 终点是特写,素材先按
39
- 审美准则 Q2 的高分辨率栅格化技法处理
40
- - C 式易错:Remotion 无 Easing.quint,写 Easing.poly(5)(本批实渲踩坑)
41
- - A 式构件布局要绝对定位复刻原页面网格(demo 里 5 层:侧栏/图表/助手/指标/命令栏),
42
- 流式布局做不了 per-构件 translateZ
43
-
44
- ## 参考实现
45
- demos/camera/space-camera-moves/
46
- (DroneDiveLanding.tsx / ExplodedView.tsx)
1
+ ---
2
+ name: space-camera-moves
3
+ 一句话: 3D 空间化运镜两式——exploded-view 爆炸分解(构件沿 Z 炸开再合体)、drone-dive-landing 无人机俯冲降落
4
+ 适用: 把平面页面当 3D 实体拍的高光段落;两式都是"大动作",一支片合计 ≤2 次
5
+ 时长: A 170f(5.7s,炸开-悬停-合体-收尾标题全程);C 105f(3.5s,俯冲 69f + 落定 hold 36f)单向俯冲
6
+ 能量: 高
7
+ ---
8
+
9
+ ## 意图
10
+ depth-layer 卡是给平移加纵深——层在动、页面还是页面。这两式更进一步:
11
+ 整页被当成一个 3D 实体,相机(或世界)绕着它做实拍级机动。两式叙事
12
+ 语义各占一格:A 说"看看它由什么组成"(拆解展示,Apple 发布片语言);
13
+ C 说"从全局俯瞰砸到主角"(上帝视角一头扎进 hero 特写,全景→焦点)。
14
+
15
+ ## 两式选型
16
+
17
+ | 式 | 做法 | 适用段落 |
18
+ |----|------|----------|
19
+ | A exploded-view | 整页 3/4 轴测平躺,构件沿页面法线错峰炸开悬停(配编号标注),一拍后逆序合体落锤收口 | 架构/组成展示:"这个产品里有什么";模块总览段 |
20
+ | C drone-dive-landing | 近垂直俯角悬停 → 猛扎俯冲 → 气垫减速停在 hero 卡特写 | 开场定场→入题;全局地图砸进单点的章节启动 |
21
+
22
+ ## 参数表
23
+ | 参数 | 典型值 | 调节手感 |
24
+ |------|--------|----------|
25
+ | A 空间基座 | perspective 2400 + `translate·scale·rotateX(54°)·rotateZ(−34°)` 轴测 + preserve-3d;炸开时机位拉远 0.56→0.47 并下移给层堆留画面;悬停期环绕 rotateZ +10°、俯角收 4° | 正面微倾(18°/−12°)只读作"浮起",轴测平躺才像爆炸图;悬停环绕让层间视差读出深度 |
26
+ | A 炸开 | 5 层 translateZ 150/270/400/520/640,弹簧(damping 15、stiffness 120)错峰 5f | 页面上越靠远端(顶部)的层要越高,否则低处的层升起后挡住上方层;深度全同读作整页浮起 |
27
+ | A 合体 | 标注先撤(ease-in 8f),层逆序 ease-in 14f、错峰 3f;落座帧整组下沉 8px 阻尼回弹 + 台面接触影一紧,随后一道扫光掠过整页 | 落锤必须有——没有它合体读作软趴趴的淡入;但不用抖屏(Q3),下沉回弹 + 影子收紧同样有"咔" |
28
+ | A 深度锚 | 各层投到底板的影随高度下移变虚变淡 + 每层背后一片厚度边 + 底板露出构件虚线插槽 | 三个线索缺一层间关系就糊 |
29
+ | A 标注 | 锚点 = 层外缘中点的 3D 投影(与 CSS 同一套矩阵手算),左右两栏、水平引线到栏前一折;标题 44px + 说明 30px,描线 8f + 升起 12f,错峰 6f | 引线从层中间拉出会穿过别的层;标注字 <32px 读不清 |
30
+ | C 行程 | 同一条 p 驱动 rotateX 72°→0 + scale 0.42→1.35 + translate 收拢;origin 钉死 hero 卡中心(如 518,335);页面按终点倍率 1.35 布局 + CSS zoom 栅格化再缩回,特写文字不糊 | 一条 p = 一台相机一次机动;分开驱动读作三个动画打架 |
31
+ | C 速度曲线 | 0–24f 上帝视角建立 + 上提预备(行程倒退 2.5%)→ 主俯冲 25f Easing.in(cubic) 吃 82% 行程 → 气垫 20f Easing.out(poly(5)) 走 18% → 落定 hold 36f | 切换帧速度骤降 = 气垫顶住的体感;82/18 比例比帧数更关键 |
32
+ | C 氛围 | 场景包 CameraMotionBlur(shutterAngle 220, samples 12),背景与颗粒放在模糊之外;页面悬停在同一 3D 世界的点阵地面上方(起始 lift 150),俯冲时点阵向镜头涌来;地面同形接触影随降落收紧变实、触地前淡到 0;落定后 hero 外一圈轻压暗收焦 | 软影卖"悬空高度";blur 卖速度,缺一维就假;大面积渐变放进多重采样会量化出色环,背景留在模糊外 |
33
+
34
+ ## 已知坑
35
+ - demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
36
+ 首次实战须以真实素材回验
37
+ - 两式都吃真实截图分层/高清纹理:A 需页面按构件切块截图(顶栏/侧栏/
38
+ 卡各自独立成图,整页一张图炸不开);C 终点是特写,素材先按
39
+ 审美准则 Q2 的高分辨率栅格化技法处理
40
+ - C 式易错:Remotion 无 Easing.quint,写 Easing.poly(5)(本批实渲踩坑)
41
+ - A 式构件布局要绝对定位复刻原页面网格(demo 里 5 层:侧栏/图表/助手/指标/命令栏),
42
+ 流式布局做不了 per-构件 translateZ
43
+
44
+ ## 参考实现
45
+ demos/camera/space-camera-moves/
46
+ (DroneDiveLanding.tsx / ExplodedView.tsx)