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.
- package/README.md +4 -3
- package/lib/index.js +7777 -7719
- package/lib/motion/asset-pack.js +394 -394
- package/lib/motion/assets.js +291 -291
- package/lib/motion/demo-assets-lock.js +10 -10
- package/lib/motion/mgstyles/vendor/README.md +28 -28
- package/lib/motion/mgstyles/vendor/modules/d3/LICENSE +13 -13
- package/lib/motion/mgstyles/vendor/modules/d3/dist/d3.min.js +2 -2
- package/lib/motion/mgstyles/vendor/modules/opentype.js/LICENSE +20 -20
- package/lib/motion/mgstyles/vendor/modules/opentype.js/dist/opentype.mjs +14460 -14460
- package/lib/motion/mgstyles/vendor/modules/simplex-noise/LICENSE +21 -21
- package/lib/motion/mgstyles/vendor/modules/simplex-noise/dist/esm/simplex-noise.js +465 -465
- package/lib/motion/mgstyles/vendor/modules/topojson-client/LICENSE +13 -13
- package/lib/motion/mgstyles/vendor/modules/topojson-client/dist/topojson-client.min.js +2 -2
- package/lib/motion/render.js +179 -179
- package/lib/motion/shotcraft/upstream/SKILL.md +286 -286
- package/lib/motion/shotcraft/upstream/assets/lib/Caption.tsx +54 -54
- package/lib/motion/shotcraft/upstream/assets/lib/ClipCard.tsx +200 -200
- package/lib/motion/shotcraft/upstream/assets/lib/DigitRoll.tsx +45 -45
- package/lib/motion/shotcraft/upstream/assets/lib/FlashCut.tsx +20 -20
- package/lib/motion/shotcraft/upstream/assets/lib/FlatPanel.tsx +65 -65
- package/lib/motion/shotcraft/upstream/assets/lib/PageCam.tsx +151 -151
- package/lib/motion/shotcraft/upstream/assets/lib/VerticalTicker.tsx +129 -129
- package/lib/motion/shotcraft/upstream/assets/lib/helpers/camera.tsx +75 -75
- package/lib/motion/shotcraft/upstream/assets/lib/helpers/motion.ts +40 -40
- package/lib/motion/shotcraft/upstream/assets/lib/helpers/rand.ts +11 -11
- package/lib/motion/shotcraft/upstream/assets/lib/helpers/shake.ts +10 -10
- package/lib/motion/shotcraft/upstream/assets/scripts/build-readme-cover.mjs +49 -49
- package/lib/motion/shotcraft/upstream/assets/scripts/capture-template.mjs +210 -210
- package/lib/motion/shotcraft/upstream/assets/scripts/sfx-source.py +423 -423
- package/lib/motion/shotcraft/upstream/assets/scripts/smoke-render-demos.py +170 -170
- package/lib/motion/shotcraft/upstream/assets/scripts/test_sfx_source.py +157 -157
- package/lib/motion/shotcraft/upstream/demos/README.md +120 -120
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Brand.tsx +112 -112
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Fixtures.tsx +647 -647
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Look.tsx +316 -316
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Motion.tsx +82 -82
- package/lib/motion/shotcraft/upstream/demos/_fixtures/PageCam2D.tsx +115 -115
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Polish.tsx +243 -243
- package/lib/motion/shotcraft/upstream/demos/_textures/live-layout.json +388 -388
- package/lib/motion/shotcraft/upstream/demos/camera/basic-3d-scene/Basic3DScene.tsx +250 -250
- package/lib/motion/shotcraft/upstream/demos/camera/crash-zoom-punch/CrashImpactReal.tsx +305 -305
- package/lib/motion/shotcraft/upstream/demos/camera/crash-zoom-punch/CrashZoomReal.tsx +246 -246
- package/lib/motion/shotcraft/upstream/demos/camera/cursor-flyover/CursorFlyover.tsx +390 -390
- package/lib/motion/shotcraft/upstream/demos/camera/depth-layer-moves/MultiplaneReal.tsx +138 -138
- package/lib/motion/shotcraft/upstream/demos/camera/graze-face-tour/GrazeFaceTour.tsx +542 -542
- package/lib/motion/shotcraft/upstream/demos/camera/overhead-camera-moves/OverheadTabletopDrop.tsx +315 -315
- package/lib/motion/shotcraft/upstream/demos/camera/overhead-camera-moves/TiltReveal.tsx +299 -299
- package/lib/motion/shotcraft/upstream/demos/camera/space-camera-moves/DroneDiveLanding.tsx +173 -173
- package/lib/motion/shotcraft/upstream/demos/camera/space-camera-moves/ExplodedView.tsx +348 -348
- package/lib/motion/shotcraft/upstream/demos/camera/steep-tilt-glide/SteepTiltGlide.tsx +366 -366
- package/lib/motion/shotcraft/upstream/demos/camera/tension-camera-moves/BulletTimeFreezeOrbit.tsx +279 -279
- package/lib/motion/shotcraft/upstream/demos/camera/tension-camera-moves/PullBackIsolation.tsx +184 -184
- package/lib/motion/shotcraft/upstream/demos/camera/terminal-3d/Terminal3D.tsx +390 -390
- package/lib/motion/shotcraft/upstream/demos/data/before-after-slider-scrub/BeforeAfterSliderScrub.tsx +155 -155
- package/lib/motion/shotcraft/upstream/demos/data/chart-live-moves/AxisRescaleShockV2.tsx +303 -303
- package/lib/motion/shotcraft/upstream/demos/data/chart-live-moves/OscilloscopeStreamV2.tsx +290 -290
- package/lib/motion/shotcraft/upstream/demos/data/chart-live-moves/UnitDotSwarmRegroupV2.tsx +278 -278
- package/lib/motion/shotcraft/upstream/demos/data/gauge-readout-moves/NeedleSweepSelftest.tsx +307 -307
- package/lib/motion/shotcraft/upstream/demos/data/gauge-readout-moves/TapeScrollFixedPointer.tsx +215 -215
- package/lib/motion/shotcraft/upstream/demos/data/scroll-brake-moves/BrakeReticleLock.tsx +299 -299
- package/lib/motion/shotcraft/upstream/demos/data/scroll-brake-moves/ChangelogScrollBrake.tsx +232 -232
- package/lib/motion/shotcraft/upstream/demos/data/timeline-travel/TimelineTravel.tsx +290 -290
- package/lib/motion/shotcraft/upstream/demos/effects/assemble-then-type-flyin/AssembleThenTypeFlyin.tsx +273 -273
- package/lib/motion/shotcraft/upstream/demos/effects/aurora-bloom-bg-flip/AuroraBloomBgFlip.tsx +167 -167
- package/lib/motion/shotcraft/upstream/demos/effects/brand-frame-snap/BrandFrameSnap.tsx +536 -536
- package/lib/motion/shotcraft/upstream/demos/effects/fui-hud-moves/ReticleLockOn.tsx +164 -164
- package/lib/motion/shotcraft/upstream/demos/effects/glow-flyline-moves/FlylineArc.tsx +175 -175
- package/lib/motion/shotcraft/upstream/demos/effects/glow-flyline-moves/GlowOrbAmbient.tsx +197 -197
- package/lib/motion/shotcraft/upstream/demos/effects/glow-flyline-moves/OrbFlylineRelay.tsx +241 -241
- package/lib/motion/shotcraft/upstream/demos/effects/icon-performance-moves/AttentionBounce.tsx +279 -279
- package/lib/motion/shotcraft/upstream/demos/effects/impact-feedback/AnimeImpact.tsx +230 -230
- package/lib/motion/shotcraft/upstream/demos/effects/impact-feedback/HitCounter.tsx +345 -345
- package/lib/motion/shotcraft/upstream/demos/effects/light-play-moves/SheenSweepRetry.tsx +275 -275
- package/lib/motion/shotcraft/upstream/demos/effects/light-play-moves/SpotlightSweepReveal.tsx +229 -229
- package/lib/motion/shotcraft/upstream/demos/effects/radial-ripple-phone-chips/RadialRipplePhoneChips.tsx +312 -312
- package/lib/motion/shotcraft/upstream/demos/effects/riso-print-hits/RisoMisregistrationHit.tsx +222 -222
- package/lib/motion/shotcraft/upstream/demos/effects/scan-bracket-sweep/ScanBracketSweep.tsx +295 -295
- package/lib/motion/shotcraft/upstream/demos/effects/scanline-annotate-focus/ScanlineAnnotateFocus.tsx +329 -329
- package/lib/motion/shotcraft/upstream/demos/effects/scanline-assemble-flyin/ScanlineAssembleFlyin.tsx +315 -315
- package/lib/motion/shotcraft/upstream/demos/effects/slam-entrance-moves/ImpactBurstKit.tsx +264 -264
- package/lib/motion/shotcraft/upstream/demos/effects/slam-entrance-moves/KanadaPerspectiveSnap.tsx +260 -260
- package/lib/motion/shotcraft/upstream/demos/effects/slam-entrance-moves/ScoreSlam.tsx +263 -263
- package/lib/motion/shotcraft/upstream/demos/effects/spotlight-sweep-moves/CornerSpotlightReveal.tsx +123 -123
- package/lib/motion/shotcraft/upstream/demos/effects/spotlight-sweep-moves/GlowWakeSleepPanel.tsx +187 -187
- package/lib/motion/shotcraft/upstream/demos/effects/spotlight-sweep-moves/SlideSpotlightPan.tsx +175 -175
- package/lib/motion/shotcraft/upstream/demos/interaction/autolayout-gap-dial/AutolayoutGapDial.tsx +305 -305
- package/lib/motion/shotcraft/upstream/demos/interaction/canvas-materialize-moves/DiagramCascadeBuild.tsx +350 -350
- package/lib/motion/shotcraft/upstream/demos/interaction/canvas-materialize-moves/PanelToCanvasMaterialize.tsx +352 -352
- package/lib/motion/shotcraft/upstream/demos/interaction/chip-grid-single-select-blackout/ChipGridSingleSelectBlackout.tsx +218 -218
- package/lib/motion/shotcraft/upstream/demos/interaction/collab-cursor-moves/CursorCastEnsemble.tsx +297 -297
- package/lib/motion/shotcraft/upstream/demos/interaction/glass-pill-dictation-typing/GlassPillDictationTyping.tsx +157 -157
- package/lib/motion/shotcraft/upstream/demos/interaction/hashtag-to-pill-materialize/HashtagToPillMaterialize.tsx +218 -218
- package/lib/motion/shotcraft/upstream/demos/interaction/picker-carousel-feature-cycle/PickerCarouselFeatureCycle.tsx +202 -202
- package/lib/motion/shotcraft/upstream/demos/interaction/segmented-thumb-hero/SegmentedThumbHero.tsx +265 -265
- package/lib/motion/shotcraft/upstream/demos/interaction/theme-switch-moves/PaletteThemeRipple.tsx +457 -457
- package/lib/motion/shotcraft/upstream/demos/interaction/theme-switch-moves/ThemeSweepToggle.tsx +446 -446
- package/lib/motion/shotcraft/upstream/demos/interaction/type-and-filter/TypeAndFilter.tsx +249 -249
- package/lib/motion/shotcraft/upstream/demos/interaction/voice-waveform-live/VoiceWaveformLive.tsx +278 -278
- package/lib/motion/shotcraft/upstream/demos/opening/crane-rise-reveal/CraneRiseReveal.tsx +332 -332
- package/lib/motion/shotcraft/upstream/demos/opening/dataviz-landscape-open/DatavizLandscapeOpen.tsx +358 -358
- package/lib/motion/shotcraft/upstream/demos/opening/fracture/Fracture.tsx +201 -201
- package/lib/motion/shotcraft/upstream/demos/opening/icon-field-colorize/IconFieldColorize.tsx +200 -200
- package/lib/motion/shotcraft/upstream/demos/opening/letterspace-materialize/LetterspaceMaterialize.tsx +208 -208
- package/lib/motion/shotcraft/upstream/demos/opening/magician-card-flourish/MagicianCardFlourish.tsx +341 -341
- package/lib/motion/shotcraft/upstream/demos/opening/orbit-ring-title-open/OrbitRingTitleOpen.tsx +389 -389
- package/lib/motion/shotcraft/upstream/demos/opening/spotlight-hero-card/SpotlightHeroCard.tsx +293 -293
- package/lib/motion/shotcraft/upstream/demos/opening/stroke-segment-build/StrokeSegmentBuild.tsx +183 -183
- package/lib/motion/shotcraft/upstream/demos/opening/text-as-mask/TextAsMask.tsx +245 -245
- package/lib/motion/shotcraft/upstream/demos/outro/grain-dissolve/GrainDissolve.tsx +222 -222
- package/lib/motion/shotcraft/upstream/demos/outro/logo-shrink-wordmark-lockup/LogoShrinkWordmarkLockup.tsx +223 -223
- package/lib/motion/shotcraft/upstream/demos/outro/neon-triple-marquee/NeonTripleMarquee.tsx +217 -217
- package/lib/motion/shotcraft/upstream/demos/outro/outro-group-photo-launch/OutroGroupPhotoLaunch.tsx +343 -343
- package/lib/motion/shotcraft/upstream/demos/outro/ui-strip-away-outro/UiStripAwayOutro.tsx +357 -357
- package/lib/motion/shotcraft/upstream/demos/outro/ui-to-brand-morph/IconFlipBloomLogo.tsx +187 -187
- package/lib/motion/shotcraft/upstream/demos/outro/ui-to-brand-morph/InputMorphsIntoLogo.tsx +333 -333
- package/lib/motion/shotcraft/upstream/demos/rhythm/beat-cut-moves/PaparazziFlash.tsx +274 -274
- package/lib/motion/shotcraft/upstream/demos/rhythm/beat-step-list-theme-cycle/BeatStepListThemeCycle.tsx +270 -270
- package/lib/motion/shotcraft/upstream/demos/rhythm/panel-grid-moves/ComicPanelSplit.tsx +430 -430
- package/lib/motion/shotcraft/upstream/demos/rhythm/quad-split-parallel-scenes/QuadSplitParallelScenes.tsx +252 -252
- package/lib/motion/shotcraft/upstream/demos/rhythm/rhythm-interrupt-moves/JumpCutPunchIn.tsx +106 -106
- package/lib/motion/shotcraft/upstream/demos/rhythm/sakuga-timing-shift/SakugaTimingShift.tsx +288 -288
- package/lib/motion/shotcraft/upstream/demos/rhythm/speed-ramp-freeze/FreezeAnnotateReal.tsx +362 -362
- package/lib/motion/shotcraft/upstream/demos/rhythm/trailer-grammar-moves/TrailerBumper.tsx +168 -168
- package/lib/motion/shotcraft/upstream/demos/transition/bottom-push-stack-wipe/BottomPushStackWipe.tsx +310 -310
- package/lib/motion/shotcraft/upstream/demos/transition/card-flip-reveal/CardFlipReveal.tsx +261 -261
- package/lib/motion/shotcraft/upstream/demos/transition/card-flock-tumble/CardFlockTumble.tsx +459 -459
- package/lib/motion/shotcraft/upstream/demos/transition/circle-match-iris/CircleMatchIris.tsx +294 -294
- package/lib/motion/shotcraft/upstream/demos/transition/gradient-transition/GradientTransition.tsx +161 -161
- package/lib/motion/shotcraft/upstream/demos/transition/line-carry-transition/LineCarryTransition.tsx +248 -248
- package/lib/motion/shotcraft/upstream/demos/transition/mosaic-reframe/MosaicReframe.tsx +359 -359
- package/lib/motion/shotcraft/upstream/demos/transition/page-turn-transitions/BarnDoorSplit.tsx +227 -227
- package/lib/motion/shotcraft/upstream/demos/transition/print-texture-transitions/InkBleedReveal.tsx +162 -162
- package/lib/motion/shotcraft/upstream/demos/transition/shot-transitions/PortalWipeV2.tsx +248 -248
- package/lib/motion/shotcraft/upstream/demos/transition/shot-transitions/WhipBrakeReal.tsx +186 -186
- package/lib/motion/shotcraft/upstream/demos/transition/tear-streak-transitions/GlitchDisplace.tsx +355 -355
- package/lib/motion/shotcraft/upstream/demos/transition/transition-hidden-cut/InvisibleCut.tsx +272 -272
- package/lib/motion/shotcraft/upstream/demos/transition/transition-hidden-cut/LightLeakBurn.tsx +262 -262
- package/lib/motion/shotcraft/upstream/demos/transition/transition-hidden-cut/VersusSlam.tsx +217 -217
- package/lib/motion/shotcraft/upstream/demos/transition/transition-travel/LetterformZoom.tsx +285 -285
- package/lib/motion/shotcraft/upstream/demos/transition/white-flash-logo-simplify-cut/WhiteFlashLogoSimplifyCut.tsx +205 -205
- package/lib/motion/shotcraft/upstream/demos/transition/wipe-transitions/BlindsSlice.tsx +178 -178
- package/lib/motion/shotcraft/upstream/demos/typography/blur-slide/BlurSlide.tsx +147 -147
- package/lib/motion/shotcraft/upstream/demos/typography/brace-expand/BraceExpand.tsx +143 -143
- package/lib/motion/shotcraft/upstream/demos/typography/brand-ink-open/BrandInkOpen.tsx +134 -134
- package/lib/motion/shotcraft/upstream/demos/typography/countdown-arc-scatter/CountdownArcScatter.tsx +217 -217
- package/lib/motion/shotcraft/upstream/demos/typography/flying-words/FlyingWords.tsx +198 -198
- package/lib/motion/shotcraft/upstream/demos/typography/glitch-cycle/GlitchCycle.tsx +221 -221
- package/lib/motion/shotcraft/upstream/demos/typography/gradient-word-sweep/GradientWordSweep.tsx +312 -312
- package/lib/motion/shotcraft/upstream/demos/typography/lead-word-zoom-assemble/LeadWordZoomAssemble.tsx +261 -261
- package/lib/motion/shotcraft/upstream/demos/typography/marker-underline-title/MarkerUnderlineTitle.tsx +121 -121
- package/lib/motion/shotcraft/upstream/demos/typography/outline-word-fill/OutlineWordFill.tsx +153 -153
- package/lib/motion/shotcraft/upstream/demos/typography/paper-title-card/PaperTitleCard.tsx +179 -179
- package/lib/motion/shotcraft/upstream/demos/typography/pill-chip-slot-cycle-handled/PillChipSlotCycleHandled.tsx +140 -140
- package/lib/motion/shotcraft/upstream/demos/typography/pill-slot-cycle/PillSlotCycle.tsx +309 -309
- package/lib/motion/shotcraft/upstream/demos/typography/text-column-converge/TextColumnConverge.tsx +191 -191
- package/lib/motion/shotcraft/upstream/demos/typography/title-demote-to-label/TitleDemoteToLabel.tsx +292 -292
- package/lib/motion/shotcraft/upstream/demos/typography/type-assembly-moves/LetterformDriftAssembly.tsx +135 -135
- package/lib/motion/shotcraft/upstream/demos/typography/type-assembly-moves/SplitTextStagger.tsx +124 -124
- package/lib/motion/shotcraft/upstream/demos/typography/type-assembly-moves/TextOnPath.tsx +255 -255
- package/lib/motion/shotcraft/upstream/demos/typography/type-entrance-moves/LetterDropPhysics.tsx +173 -173
- package/lib/motion/shotcraft/upstream/demos/typography/type-rhythm-sync/FontWeightPump.tsx +225 -225
- package/lib/motion/shotcraft/upstream/demos/typography/type-rhythm-sync/KaraokeFillSync.tsx +141 -141
- package/lib/motion/shotcraft/upstream/demos/typography/typewriter-moves/TypewriterErrorRetype.tsx +137 -137
- package/lib/motion/shotcraft/upstream/demos/typography/vertical-word-roll-blur-cycle/VerticalWordRollBlurCycle.tsx +147 -147
- package/lib/motion/shotcraft/upstream/demos/typography/word-relay-filmstrip/WordRelayFilmstrip.tsx +409 -409
- package/lib/motion/shotcraft/upstream/demos/typography/word-relay-geometry/WordRelayGeometry.tsx +280 -280
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/avatar-bracket-carousel/AvatarBracketCarousel.tsx +271 -271
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/bezier-source-converge-merge/BezierSourceConvergeMerge.tsx +385 -385
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/card-stack/CardStack.tsx +312 -312
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/carousel-3d/Carousel3D.tsx +303 -303
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/clipcard-looping/ClipCardLooping.tsx +77 -77
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/cloner-depth-echo/ClonerDepthEcho.tsx +311 -311
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/deck-deal-flyin/DeckDealFlyin.tsx +307 -307
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/doc-park-left-pill-deal/DocParkLeftPillDeal.tsx +349 -349
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/document-typewriter-reveal/DocumentTypewriterReveal.tsx +255 -255
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/draw-svg-trace/DrawSvgTrace.tsx +244 -244
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/element-body-moves/ContactShadowLift.tsx +217 -217
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/integration-hub-map/IntegrationHubMap.tsx +652 -652
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/list-reveal/ListReveal.tsx +153 -153
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/list-stack-press/ListStackPress.tsx +238 -238
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/neon-frame-forerun/NeonFrameForerun.tsx +324 -324
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/neon-frame-orbit-drop/NeonFrameForerunOrbit.tsx +354 -354
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/page-waterfall-wall/PageWaterfallWall.tsx +101 -101
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/page-waterfall-wall/VerticalTicker.tsx +129 -129
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/product-card-progressive-assemble/ProductCardProgressiveAssemble.tsx +297 -297
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/radial-wave/RadialWave.tsx +57 -57
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/research-card-stack-scroll/ResearchCardStackScroll.tsx +155 -155
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/row-embed/RowEmbed.tsx +175 -175
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/value-stagger-gradient/ValueStaggerGradient.tsx +153 -153
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/wall-reveal-moves/BentoLightUp.tsx +146 -146
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/wall-reveal-moves/WireframeDrawOn.tsx +226 -226
- package/lib/motion/shotcraft/upstream/gallery/api/library.json +1 -1
- package/lib/motion/shotcraft/upstream/references/aesthetic-rules.md +193 -193
- package/lib/motion/shotcraft/upstream/references/final-review.md +121 -121
- package/lib/motion/shotcraft/upstream/references/guided-free-creation.md +199 -199
- package/lib/motion/shotcraft/upstream/references/jianying-export.md +183 -183
- package/lib/motion/shotcraft/upstream/references/music-beat-sync.md +257 -257
- package/lib/motion/shotcraft/upstream/references/pipeline.md +382 -382
- package/lib/motion/shotcraft/upstream/references/publish-upload-post.md +111 -111
- package/lib/motion/shotcraft/upstream/references/sequences/promo-energy-arc.md +50 -50
- package/lib/motion/shotcraft/upstream/references/sfx-sourcing.md +95 -95
- package/lib/motion/shotcraft/upstream/references/shots/camera/basic-3d-scene.md +41 -41
- package/lib/motion/shotcraft/upstream/references/shots/camera/crash-zoom-punch.md +52 -52
- package/lib/motion/shotcraft/upstream/references/shots/camera/cursor-flyover.md +39 -39
- package/lib/motion/shotcraft/upstream/references/shots/camera/depth-layer-moves.md +39 -39
- package/lib/motion/shotcraft/upstream/references/shots/camera/graze-face-tour.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/camera/overhead-camera-moves.md +51 -51
- package/lib/motion/shotcraft/upstream/references/shots/camera/space-camera-moves.md +46 -46
- package/lib/motion/shotcraft/upstream/references/shots/camera/steep-tilt-glide.md +52 -52
- package/lib/motion/shotcraft/upstream/references/shots/camera/tension-camera-moves.md +43 -43
- package/lib/motion/shotcraft/upstream/references/shots/camera/terminal-3d.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/data/before-after-slider-scrub.md +48 -48
- package/lib/motion/shotcraft/upstream/references/shots/data/chart-live-moves.md +52 -52
- package/lib/motion/shotcraft/upstream/references/shots/data/gauge-readout-moves.md +45 -45
- package/lib/motion/shotcraft/upstream/references/shots/data/scroll-brake-moves.md +46 -46
- package/lib/motion/shotcraft/upstream/references/shots/data/timeline-travel.md +44 -44
- package/lib/motion/shotcraft/upstream/references/shots/effects/assemble-then-type-flyin.md +63 -63
- package/lib/motion/shotcraft/upstream/references/shots/effects/aurora-bloom-bg-flip.md +54 -54
- package/lib/motion/shotcraft/upstream/references/shots/effects/brand-frame-snap.md +58 -58
- package/lib/motion/shotcraft/upstream/references/shots/effects/fui-hud-moves.md +35 -35
- package/lib/motion/shotcraft/upstream/references/shots/effects/glow-flyline-moves.md +53 -53
- package/lib/motion/shotcraft/upstream/references/shots/effects/icon-performance-moves.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/effects/impact-feedback.md +50 -50
- package/lib/motion/shotcraft/upstream/references/shots/effects/light-play-moves.md +46 -46
- package/lib/motion/shotcraft/upstream/references/shots/effects/radial-ripple-phone-chips.md +56 -56
- package/lib/motion/shotcraft/upstream/references/shots/effects/riso-print-hits.md +49 -49
- package/lib/motion/shotcraft/upstream/references/shots/effects/scan-bracket-sweep.md +50 -50
- package/lib/motion/shotcraft/upstream/references/shots/effects/scanline-annotate-focus.md +53 -53
- package/lib/motion/shotcraft/upstream/references/shots/effects/scanline-assemble-flyin.md +53 -53
- package/lib/motion/shotcraft/upstream/references/shots/effects/slam-entrance-moves.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/effects/spotlight-sweep-moves.md +52 -52
- package/lib/motion/shotcraft/upstream/references/shots/interaction/autolayout-gap-dial.md +60 -60
- package/lib/motion/shotcraft/upstream/references/shots/interaction/canvas-materialize-moves.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/interaction/chip-grid-single-select-blackout.md +51 -51
- package/lib/motion/shotcraft/upstream/references/shots/interaction/collab-cursor-moves.md +41 -41
- package/lib/motion/shotcraft/upstream/references/shots/interaction/glass-pill-dictation-typing.md +53 -53
- package/lib/motion/shotcraft/upstream/references/shots/interaction/hashtag-to-pill-materialize.md +60 -60
- package/lib/motion/shotcraft/upstream/references/shots/interaction/picker-carousel-feature-cycle.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/interaction/segmented-thumb-hero.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/interaction/theme-switch-moves.md +47 -47
- package/lib/motion/shotcraft/upstream/references/shots/interaction/type-and-filter.md +37 -37
- package/lib/motion/shotcraft/upstream/references/shots/interaction/voice-waveform-live.md +54 -54
- package/lib/motion/shotcraft/upstream/references/shots/opening/brand-ink-open.md +36 -36
- package/lib/motion/shotcraft/upstream/references/shots/opening/crane-rise-reveal.md +56 -56
- package/lib/motion/shotcraft/upstream/references/shots/opening/dataviz-landscape-open.md +56 -56
- package/lib/motion/shotcraft/upstream/references/shots/opening/fracture.md +40 -40
- package/lib/motion/shotcraft/upstream/references/shots/opening/icon-field-colorize.md +60 -60
- package/lib/motion/shotcraft/upstream/references/shots/opening/letterspace-materialize.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/opening/magician-card-flourish.md +73 -73
- package/lib/motion/shotcraft/upstream/references/shots/opening/orbit-ring-title-open.md +87 -87
- package/lib/motion/shotcraft/upstream/references/shots/opening/spotlight-hero-card.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/opening/stroke-segment-build.md +50 -50
- package/lib/motion/shotcraft/upstream/references/shots/opening/text-as-mask.md +59 -59
- package/lib/motion/shotcraft/upstream/references/shots/outro/grain-dissolve.md +38 -38
- package/lib/motion/shotcraft/upstream/references/shots/outro/logo-shrink-wordmark-lockup.md +38 -38
- package/lib/motion/shotcraft/upstream/references/shots/outro/neon-triple-marquee.md +59 -59
- package/lib/motion/shotcraft/upstream/references/shots/outro/outro-group-photo-launch.md +39 -39
- package/lib/motion/shotcraft/upstream/references/shots/outro/ui-strip-away-outro.md +61 -61
- package/lib/motion/shotcraft/upstream/references/shots/outro/ui-to-brand-morph.md +52 -52
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/beat-cut-moves.md +50 -50
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/beat-step-list-theme-cycle.md +66 -66
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/panel-grid-moves.md +43 -43
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/quad-split-parallel-scenes.md +38 -38
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/rhythm-interrupt-moves.md +38 -38
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/sakuga-timing-shift.md +56 -56
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/speed-ramp-freeze.md +44 -44
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/trailer-grammar-moves.md +38 -38
- package/lib/motion/shotcraft/upstream/references/shots/transition/bottom-push-stack-wipe.md +63 -63
- package/lib/motion/shotcraft/upstream/references/shots/transition/card-flip-reveal.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/transition/card-flock-tumble.md +63 -63
- package/lib/motion/shotcraft/upstream/references/shots/transition/circle-match-iris.md +58 -58
- package/lib/motion/shotcraft/upstream/references/shots/transition/gradient-transition.md +45 -45
- package/lib/motion/shotcraft/upstream/references/shots/transition/line-carry-transition.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/transition/mosaic-reframe.md +49 -49
- package/lib/motion/shotcraft/upstream/references/shots/transition/page-turn-transitions.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/transition/print-texture-transitions.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/transition/shot-transitions.md +45 -45
- package/lib/motion/shotcraft/upstream/references/shots/transition/tear-streak-transitions.md +48 -48
- package/lib/motion/shotcraft/upstream/references/shots/transition/transition-hidden-cut.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/transition/transition-travel.md +43 -43
- package/lib/motion/shotcraft/upstream/references/shots/transition/white-flash-logo-simplify-cut.md +41 -41
- package/lib/motion/shotcraft/upstream/references/shots/transition/wipe-transitions.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/typography/blur-slide.md +59 -59
- package/lib/motion/shotcraft/upstream/references/shots/typography/brace-expand.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/typography/countdown-arc-scatter.md +65 -65
- package/lib/motion/shotcraft/upstream/references/shots/typography/document-typewriter-reveal.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/typography/flying-words.md +64 -64
- package/lib/motion/shotcraft/upstream/references/shots/typography/glitch-cycle.md +64 -64
- package/lib/motion/shotcraft/upstream/references/shots/typography/gradient-word-sweep.md +54 -54
- package/lib/motion/shotcraft/upstream/references/shots/typography/lead-word-zoom-assemble.md +91 -91
- package/lib/motion/shotcraft/upstream/references/shots/typography/marker-underline-title.md +51 -51
- package/lib/motion/shotcraft/upstream/references/shots/typography/outline-word-fill.md +66 -66
- package/lib/motion/shotcraft/upstream/references/shots/typography/paper-title-card.md +38 -38
- package/lib/motion/shotcraft/upstream/references/shots/typography/pill-chip-slot-cycle-handled.md +66 -66
- package/lib/motion/shotcraft/upstream/references/shots/typography/pill-slot-cycle.md +58 -58
- package/lib/motion/shotcraft/upstream/references/shots/typography/text-column-converge.md +61 -61
- package/lib/motion/shotcraft/upstream/references/shots/typography/title-demote-to-label.md +64 -64
- package/lib/motion/shotcraft/upstream/references/shots/typography/type-assembly-moves.md +45 -45
- package/lib/motion/shotcraft/upstream/references/shots/typography/type-entrance-moves.md +41 -41
- package/lib/motion/shotcraft/upstream/references/shots/typography/type-rhythm-sync.md +51 -51
- package/lib/motion/shotcraft/upstream/references/shots/typography/typewriter-moves.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/typography/vertical-word-roll-blur-cycle.md +63 -63
- package/lib/motion/shotcraft/upstream/references/shots/typography/word-relay-filmstrip.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/typography/word-relay-geometry.md +75 -75
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/avatar-bracket-carousel.md +59 -59
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/bezier-source-converge-merge.md +67 -67
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/card-stack.md +60 -60
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/carousel-3d.md +66 -66
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/cloner-depth-echo.md +40 -40
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/deck-deal-flyin.md +45 -45
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/doc-park-left-pill-deal.md +62 -62
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/draw-svg-trace.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/element-body-moves.md +37 -37
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/integration-hub-map.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/list-reveal.md +50 -50
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/list-stack-press.md +43 -43
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/neon-frame-forerun.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/neon-frame-orbit-drop.md +51 -51
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/page-waterfall-wall.md +51 -51
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/product-card-progressive-assemble.md +56 -56
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/radial-wave.md +49 -49
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/research-card-stack-scroll.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/row-embed.md +36 -36
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/value-stagger-gradient.md +64 -64
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/wall-reveal-moves.md +47 -47
- package/lib/motion/shotcraft/upstream/references/sound-design.md +170 -170
- package/lib/motion/shotcraft/upstream/references/workbench.md +157 -157
- package/lib/motion/shotcraft/upstream/template/TEMPLATE.md +103 -103
- package/lib/motion/shotcraft/upstream/template/THEMES.md +44 -44
- package/lib/motion/shotcraft/upstream/template/package.json +20 -20
- package/lib/motion/shotcraft/upstream/template/remotion.config.ts +6 -6
- package/lib/motion/shotcraft/upstream/template/src/Root.tsx +17 -17
- package/lib/motion/shotcraft/upstream/template/src/aifl/Caption.tsx +65 -65
- package/lib/motion/shotcraft/upstream/template/src/aifl/DigitRoll.tsx +48 -48
- package/lib/motion/shotcraft/upstream/template/src/aifl/FlashCut.tsx +24 -24
- package/lib/motion/shotcraft/upstream/template/src/aifl/Main.tsx +192 -192
- package/lib/motion/shotcraft/upstream/template/src/aifl/PaperTitleCard.tsx +111 -111
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/PageCam.tsx +150 -150
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneDetail.tsx +158 -158
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneFlyIn.tsx +468 -468
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneOpen.tsx +552 -552
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneOutroLive.tsx +411 -411
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/ScenePapers.tsx +200 -200
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneWbr.tsx +324 -324
- package/lib/motion/shotcraft/upstream/template/src/aifl/live-layout.json +388 -388
- package/lib/motion/shotcraft/upstream/template/src/index.ts +4 -4
- package/lib/motion/shotcraft/upstream/template/src/themes/ThemedFilm.tsx +7 -7
- package/lib/motion/shotcraft/upstream/template/src/themes/manifest.tsx +68 -68
- package/lib/motion/shotcraft/upstream/template/src/themes/palette-assets.json +1 -1
- package/lib/motion/shotcraft/upstream/template/src/themes/palette-assets.ts +24 -24
- package/lib/motion/shotcraft/upstream/template/src/themes/palettes.json +74 -74
- package/lib/motion/shotcraft/upstream/template/src/themes/visual-theme.tsx +91 -91
- package/lib/motion/shotcraft/upstream/template/src/workbench.ts +213 -213
- package/lib/motion/shotcraft/upstream/template/tsconfig.json +15 -15
- package/lib/motion/style-frames.js +306 -306
- package/lib/motion/sync.js +214 -214
- package/lib/motion-project.js +105 -105
- package/lib/motion-render-worker.js +174 -174
- package/lib/routing/router.js +222 -222
- package/lib/routing/vendor/README.md +96 -96
- package/lib/routing/vendor/libavoid-routing.js +753 -753
- package/lib/routing/vendor/libavoid.min.js +59 -59
- package/lib/video-trace-pool.js +128 -128
- package/package.json +1 -1
- package/LICENSE +0 -4175
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: list-stack-press
|
|
3
|
-
一句话: 列表卡从画面底部逐张飞上摞起,每张落地压弹整摞、计数器同步跳一格
|
|
4
|
-
适用: feed/雷达/收件箱类"每天有新东西"的镜头;强调持续积累的资产列表
|
|
5
|
-
时长: 约 3s(18–88f)
|
|
6
|
-
能量: 中
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 意图
|
|
10
|
-
"堆叠有重量":每张新卡落上来,已落定的整摞被压下再弹回——观众从物理反馈里读出"这是实打实攒下来的东西"。计数器同步跳格把数量感钉死。
|
|
11
|
-
|
|
12
|
-
## 动效核心
|
|
13
|
-
- **预备拍(anticipation,借鉴迪士尼法则 2)**:首张升入前给一拍段落级预备——计数器先于首卡 4–6f 亮起归零/微缩 scale(0.96)→1,把视线引到堆叠区,再让首卡入画。只做段落级一次,不逐卡加
|
|
14
|
-
- 卡从画面下方升入,交替微倾斜收平,等距节拍逐张摞起
|
|
15
|
-
- 每张到场压下整摞 6px、8f 弹回(stackPress 脉冲——即法则 5 的 follow-through:新卡的动能传给整摞再缓冲耗散,这一笔就是"有重量"的来源)
|
|
16
|
-
- 落地后按拖拽层级依次收尾(法则 5):卡体先停 → 整摞弹回 → 高亮条再长出(滞后 2–4f)——三者同帧发生读作贴图切换
|
|
17
|
-
- 收尾一道 glaze 扫光掠过整摞
|
|
18
|
-
- 屏幕空间 DigitRoll 计数器落一张滚一格;相机跟随堆叠向下
|
|
19
|
-
|
|
20
|
-
## 参数表
|
|
21
|
-
| 参数 | 典型值 | 调节手感 |
|
|
22
|
-
|------|--------|----------|
|
|
23
|
-
| 节拍 | CUES=[18,30,42,54,66](12f 等距),每张飞 22f,bezier(0.45,0.05,0.25,1.12) 末端过冲 | 少量卡(5 张)可以等距;大批量入场才需要递加速(对照 deck-deal 的 R2) |
|
|
24
|
-
| 入场 | 从下方 600px 升入,交替 ±2° tilt 收平,scale 1.06→1 | 交替倾斜打破对称;同向倾斜读作复制粘贴 |
|
|
25
|
-
| 堆叠压感 | 后一张到场时整摞压下 6px、8f 弹回(脉冲 [cue,cue+4,cue+8]→[0,6,0]) | 这是"有重量"的关键一笔,砍掉后堆叠变成简单排版 |
|
|
26
|
-
| 阴影 | 两层 softShadow 随离地高度变化:空中 elevation≈56、落定 3(被压时更贴地);飞行段按速度加纵向运动模糊 | 阴影随高度收敛,和 deck-deal/spotlight 同一套语言 |
|
|
27
|
-
| 联动高亮 | 落地后滞后 2–4f 在项目名那一行(截图实测卡内 y156–176)长出与项目名等宽的强调色(模板片为琥珀)荧光笔底色,multiply 叠在字下(7f 长 + 5f 淡);最后一张离切点仅 ~12f,压到 5f 长 + 4f 淡 | 高亮是次级动作(法则 5/8):在主动作(落地压弹)之后跟进,不与之同帧抢戏;末尾元素的节拍要按剩余帧预算压缩,不能照抄前面的 |
|
|
28
|
-
| glaze 扫光 | 360px 宽、rotate 14°、mixBlendMode soft-light,最后一张落定后帧 74→87 从 −500 扫到 2300,裁进每张卡的圆角内 | 扫光全镜头只此一次、扫整摞不逐卡(Q4) |
|
|
29
|
-
| 计数器(digit-roll 手法) | 连续里程计位置 pos:每张卡落地让 pos 沿数字带 +1 格,单格 8f 滚定,bezier(0.25,0.8,0.25,1);滚动量=pos·lineH 沿双份 0-9 带连续下滚 | 计数与落地不同步立刻穿帮;**单格滚动必须短于落卡间距(12f)且尾格在镜头收尾前滚定**——以 count 为 key 重挂重滚的写法每次都要从 0 滚 22f,12f 节拍下前一次永远滚不完、尾帧停在 4(PR #40 判例);数字带双份拼接+overflow hidden+tabular-nums(不开 tabular 会横向抖) |
|
|
30
|
-
| 相机 | zoom 1.35→0.86 一条连续曲线跟随堆叠向下(逐帧喂给 PageCam2D,避免分段关键帧处速度归零) | 正视机位(见已知坑),相机只做纵向跟随 |
|
|
31
|
-
|
|
32
|
-
## 声音
|
|
33
|
-
每张落地不逐张配长音;计数落定钉 click-camera(模板片钉在 f648)、段落切入钉 transition-soft(f623)。若逐张配 pop 参照 S2 三招防机枪。
|
|
34
|
-
|
|
35
|
-
## 已知坑
|
|
36
|
-
- 堆叠/列表信息镜头必须正视(Q6)——全片倾斜化时本镜头曾被单独回滚回正视;风格化机位逐镜头验证,不全局套用
|
|
37
|
-
- 逐卡 glint 高亮扫过被否两次(Q4),高亮用静态强调色底色条即可,动感交给压弹
|
|
38
|
-
- 与 history-list-stack(document-typewriter-reveal 卡尾段)是同一动作词汇——全片同一手法只当一次主角(P4),两处并用时一处必须降为配角
|
|
39
|
-
- anticipation/拖拽层级参数借鉴自迪士尼 12 法则(pixel2motion skill 内置提炼版),非用户判例——是默认建议不是令;与判例冲突时判例优先
|
|
40
|
-
- 预备动作幅度必须过肉眼阈值(deck-deal 判例 2026-07-09:小幅度用户完全无感,放大 12 倍才通过)——渲染后自查"不逐帧能否看出蓄力"
|
|
41
|
-
|
|
42
|
-
## 参考实现
|
|
43
|
-
demos/ui-entrance/list-stack-press/ListStackPress.tsx(原 template/src/aifl/live/ScenePapers.tsx)
|
|
1
|
+
---
|
|
2
|
+
name: list-stack-press
|
|
3
|
+
一句话: 列表卡从画面底部逐张飞上摞起,每张落地压弹整摞、计数器同步跳一格
|
|
4
|
+
适用: feed/雷达/收件箱类"每天有新东西"的镜头;强调持续积累的资产列表
|
|
5
|
+
时长: 约 3s(18–88f)
|
|
6
|
+
能量: 中
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 意图
|
|
10
|
+
"堆叠有重量":每张新卡落上来,已落定的整摞被压下再弹回——观众从物理反馈里读出"这是实打实攒下来的东西"。计数器同步跳格把数量感钉死。
|
|
11
|
+
|
|
12
|
+
## 动效核心
|
|
13
|
+
- **预备拍(anticipation,借鉴迪士尼法则 2)**:首张升入前给一拍段落级预备——计数器先于首卡 4–6f 亮起归零/微缩 scale(0.96)→1,把视线引到堆叠区,再让首卡入画。只做段落级一次,不逐卡加
|
|
14
|
+
- 卡从画面下方升入,交替微倾斜收平,等距节拍逐张摞起
|
|
15
|
+
- 每张到场压下整摞 6px、8f 弹回(stackPress 脉冲——即法则 5 的 follow-through:新卡的动能传给整摞再缓冲耗散,这一笔就是"有重量"的来源)
|
|
16
|
+
- 落地后按拖拽层级依次收尾(法则 5):卡体先停 → 整摞弹回 → 高亮条再长出(滞后 2–4f)——三者同帧发生读作贴图切换
|
|
17
|
+
- 收尾一道 glaze 扫光掠过整摞
|
|
18
|
+
- 屏幕空间 DigitRoll 计数器落一张滚一格;相机跟随堆叠向下
|
|
19
|
+
|
|
20
|
+
## 参数表
|
|
21
|
+
| 参数 | 典型值 | 调节手感 |
|
|
22
|
+
|------|--------|----------|
|
|
23
|
+
| 节拍 | CUES=[18,30,42,54,66](12f 等距),每张飞 22f,bezier(0.45,0.05,0.25,1.12) 末端过冲 | 少量卡(5 张)可以等距;大批量入场才需要递加速(对照 deck-deal 的 R2) |
|
|
24
|
+
| 入场 | 从下方 600px 升入,交替 ±2° tilt 收平,scale 1.06→1 | 交替倾斜打破对称;同向倾斜读作复制粘贴 |
|
|
25
|
+
| 堆叠压感 | 后一张到场时整摞压下 6px、8f 弹回(脉冲 [cue,cue+4,cue+8]→[0,6,0]) | 这是"有重量"的关键一笔,砍掉后堆叠变成简单排版 |
|
|
26
|
+
| 阴影 | 两层 softShadow 随离地高度变化:空中 elevation≈56、落定 3(被压时更贴地);飞行段按速度加纵向运动模糊 | 阴影随高度收敛,和 deck-deal/spotlight 同一套语言 |
|
|
27
|
+
| 联动高亮 | 落地后滞后 2–4f 在项目名那一行(截图实测卡内 y156–176)长出与项目名等宽的强调色(模板片为琥珀)荧光笔底色,multiply 叠在字下(7f 长 + 5f 淡);最后一张离切点仅 ~12f,压到 5f 长 + 4f 淡 | 高亮是次级动作(法则 5/8):在主动作(落地压弹)之后跟进,不与之同帧抢戏;末尾元素的节拍要按剩余帧预算压缩,不能照抄前面的 |
|
|
28
|
+
| glaze 扫光 | 360px 宽、rotate 14°、mixBlendMode soft-light,最后一张落定后帧 74→87 从 −500 扫到 2300,裁进每张卡的圆角内 | 扫光全镜头只此一次、扫整摞不逐卡(Q4) |
|
|
29
|
+
| 计数器(digit-roll 手法) | 连续里程计位置 pos:每张卡落地让 pos 沿数字带 +1 格,单格 8f 滚定,bezier(0.25,0.8,0.25,1);滚动量=pos·lineH 沿双份 0-9 带连续下滚 | 计数与落地不同步立刻穿帮;**单格滚动必须短于落卡间距(12f)且尾格在镜头收尾前滚定**——以 count 为 key 重挂重滚的写法每次都要从 0 滚 22f,12f 节拍下前一次永远滚不完、尾帧停在 4(PR #40 判例);数字带双份拼接+overflow hidden+tabular-nums(不开 tabular 会横向抖) |
|
|
30
|
+
| 相机 | zoom 1.35→0.86 一条连续曲线跟随堆叠向下(逐帧喂给 PageCam2D,避免分段关键帧处速度归零) | 正视机位(见已知坑),相机只做纵向跟随 |
|
|
31
|
+
|
|
32
|
+
## 声音
|
|
33
|
+
每张落地不逐张配长音;计数落定钉 click-camera(模板片钉在 f648)、段落切入钉 transition-soft(f623)。若逐张配 pop 参照 S2 三招防机枪。
|
|
34
|
+
|
|
35
|
+
## 已知坑
|
|
36
|
+
- 堆叠/列表信息镜头必须正视(Q6)——全片倾斜化时本镜头曾被单独回滚回正视;风格化机位逐镜头验证,不全局套用
|
|
37
|
+
- 逐卡 glint 高亮扫过被否两次(Q4),高亮用静态强调色底色条即可,动感交给压弹
|
|
38
|
+
- 与 history-list-stack(document-typewriter-reveal 卡尾段)是同一动作词汇——全片同一手法只当一次主角(P4),两处并用时一处必须降为配角
|
|
39
|
+
- anticipation/拖拽层级参数借鉴自迪士尼 12 法则(pixel2motion skill 内置提炼版),非用户判例——是默认建议不是令;与判例冲突时判例优先
|
|
40
|
+
- 预备动作幅度必须过肉眼阈值(deck-deal 判例 2026-07-09:小幅度用户完全无感,放大 12 倍才通过)——渲染后自查"不逐帧能否看出蓄力"
|
|
41
|
+
|
|
42
|
+
## 参考实现
|
|
43
|
+
demos/ui-entrance/list-stack-press/ListStackPress.tsx(原 template/src/aifl/live/ScenePapers.tsx)
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: neon-frame-forerun
|
|
3
|
-
一句话: 强透视直角霓虹框自左缘两头奔画先行成型,页面在框内由暗转亮,同时框内组件/文字从 3D 上空带同形软影错峰贴落、随页面点亮同步完成贴合,背景霓虹群(demo 为同形框纵深回声隧道)终段熄灭让位
|
|
4
|
-
适用: 暗场品牌片里给 UI 面板做"登场仪式"(框先到、内容后落);功能区首次亮相;霓虹/赛博调性的段落开场
|
|
5
|
-
时长: 框奔画 ~0.7s + 点亮&贴落 ~2.7s + 背景熄灭收束 ~1s;全段 4–4.7s(demo 140f)
|
|
6
|
-
能量: 中高(三层动作叠进,但都服务同一次登场)
|
|
7
|
-
标签: effects
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 意图
|
|
11
|
-
先立框后填肉:霓虹线框像跑道灯一样两头奔画圈出位置,宣告
|
|
12
|
-
"这里要出现东西";页面在框内由暗转亮的同时,组件从空中带影
|
|
13
|
-
贴落——观众看见界面被"安放"进框里。三层动作(框奔画/页面点亮/
|
|
14
|
-
组件贴落)必须**同步咬合**:贴落进程与点亮进程同步推进、稍滞后
|
|
15
|
-
收尾,框光最终并入面板辉光。背景霓虹管群终段熄灭,把亮度让给
|
|
16
|
-
主角完成收束。
|
|
17
|
-
|
|
18
|
-
## 动效核心
|
|
19
|
-
- 霓虹框:强透视直角框,自左缘中点两颗白热亮头上下分头奔画(20f,swift 起步快、
|
|
20
|
-
在右缘中点制动相撞并闪一下);灯管用四层描边叠辉光(宽软晕 / 中晕 / 色芯 / 白热芯),
|
|
21
|
-
不用模糊滤镜,便宜且锐;成型后芯线退成发丝、框光并入面板 rim 辉光
|
|
22
|
-
- 页面点亮:框合拢后页面才从黑里浮出(16–30f),再由暗转亮(24–84f smooth),
|
|
23
|
-
同时一层冷紫暗罩自左缘向右退去,读作"霓虹把页面点亮"
|
|
24
|
-
- 组件贴落:**真 3D 悬空**——面板与组件都在 preserve-3d 里,组件 translateZ 120–170px,
|
|
25
|
-
面板上落同形剪影软影(越高越大越虚越淡、偏向右下);亮度用叶子节点 brightness,
|
|
26
|
-
不在 3D 父级上加 filter/opacity(会把 3D 压平)。每件 24f 加速下落 + 软着陆,
|
|
27
|
-
落点 54→104f 按"侧栏自上而下 → 主区自上而下"错峰(先密后疏),比点亮晚 ~20f 收尾
|
|
28
|
-
- 背景:同一个框在纵深里的 5 层回声(translateZ 递退、逐层放大)组成霓虹隧道,
|
|
29
|
-
框合拢后由近到远逐层"打火"(荧光管启辉的确定性闪烁);终段中段先熄、两端后熄(94–118f)
|
|
30
|
-
- 机位:rotateY −30° → −12°(0–96f EASE.out 长减速),hold 段再极缓转 1.5°
|
|
31
|
-
|
|
32
|
-
## 参数表
|
|
33
|
-
| 参数 | 典型值 | 调节手感 |
|
|
34
|
-
|------|--------|----------|
|
|
35
|
-
| 框奔画 | 20f 两头对奔(swift) | 单头描画读作画图;>30f 观众等不及内容 |
|
|
36
|
-
| 悬浮高度 | translateZ 120–170px、影随高度收敛 | 判例:高度过小+启动过早=影子不可感(v3 第 1 轮返工加大 1.7x 并延后) |
|
|
37
|
-
| 贴落窗口 | 每件 24f;落点 54→104f,比点亮晚 ~20f 收尾 | 贴落先于点亮完=黑屋子里落家具;滞后太多读作两段戏 |
|
|
38
|
-
| 错峰 | 错开起点、下落重叠并行(EASE.out 分布,先密后疏) | 串行等待被裁(掉落节奏通用判例) |
|
|
39
|
-
| 背景熄灭 | 中亮尾熄,每层 6f 闪烁熄灭、层间隔 7f | 不熄灭主角不突出;同帧全熄读作断电 |
|
|
40
|
-
| 贴落粒度 | 卡/行级(品牌、4 项导航、问候、3 张数字卡、4 行任务) | 粒度越细越贵;元素越少每件越大越好读 |
|
|
41
|
-
|
|
42
|
-
## 已知坑
|
|
43
|
-
- demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
|
|
44
|
-
首次实战须以真实素材回验
|
|
45
|
-
- 悬空贴落=clickup 语言核心签名(已验证的口味信号),本卡
|
|
46
|
-
与 graze-face-tour 共用 FloatWrap 模式——影子不可感等于没做
|
|
47
|
-
- 与 brand-frame-snap 分工:那张是品牌框咔哒定位的
|
|
48
|
-
节拍戏;本卡是框先行+内容贴落的登场仪式,框只是序幕
|
|
49
|
-
- 衍生方向备忘:视角旋转变体(镜头左→右弧线旋转+同时贴落)
|
|
50
|
-
曾被裁"改改再看"(要求所有组件同时贴落),已收敛进 neon-frame-orbit-drop 卡
|
|
51
|
-
|
|
52
|
-
## 参考实现
|
|
53
|
-
demos/ui-entrance/neon-frame-forerun/
|
|
54
|
-
(NeonFrameForerun.tsx)
|
|
55
|
-
原片出处:clickup-30.mp4
|
|
1
|
+
---
|
|
2
|
+
name: neon-frame-forerun
|
|
3
|
+
一句话: 强透视直角霓虹框自左缘两头奔画先行成型,页面在框内由暗转亮,同时框内组件/文字从 3D 上空带同形软影错峰贴落、随页面点亮同步完成贴合,背景霓虹群(demo 为同形框纵深回声隧道)终段熄灭让位
|
|
4
|
+
适用: 暗场品牌片里给 UI 面板做"登场仪式"(框先到、内容后落);功能区首次亮相;霓虹/赛博调性的段落开场
|
|
5
|
+
时长: 框奔画 ~0.7s + 点亮&贴落 ~2.7s + 背景熄灭收束 ~1s;全段 4–4.7s(demo 140f)
|
|
6
|
+
能量: 中高(三层动作叠进,但都服务同一次登场)
|
|
7
|
+
标签: effects
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 意图
|
|
11
|
+
先立框后填肉:霓虹线框像跑道灯一样两头奔画圈出位置,宣告
|
|
12
|
+
"这里要出现东西";页面在框内由暗转亮的同时,组件从空中带影
|
|
13
|
+
贴落——观众看见界面被"安放"进框里。三层动作(框奔画/页面点亮/
|
|
14
|
+
组件贴落)必须**同步咬合**:贴落进程与点亮进程同步推进、稍滞后
|
|
15
|
+
收尾,框光最终并入面板辉光。背景霓虹管群终段熄灭,把亮度让给
|
|
16
|
+
主角完成收束。
|
|
17
|
+
|
|
18
|
+
## 动效核心
|
|
19
|
+
- 霓虹框:强透视直角框,自左缘中点两颗白热亮头上下分头奔画(20f,swift 起步快、
|
|
20
|
+
在右缘中点制动相撞并闪一下);灯管用四层描边叠辉光(宽软晕 / 中晕 / 色芯 / 白热芯),
|
|
21
|
+
不用模糊滤镜,便宜且锐;成型后芯线退成发丝、框光并入面板 rim 辉光
|
|
22
|
+
- 页面点亮:框合拢后页面才从黑里浮出(16–30f),再由暗转亮(24–84f smooth),
|
|
23
|
+
同时一层冷紫暗罩自左缘向右退去,读作"霓虹把页面点亮"
|
|
24
|
+
- 组件贴落:**真 3D 悬空**——面板与组件都在 preserve-3d 里,组件 translateZ 120–170px,
|
|
25
|
+
面板上落同形剪影软影(越高越大越虚越淡、偏向右下);亮度用叶子节点 brightness,
|
|
26
|
+
不在 3D 父级上加 filter/opacity(会把 3D 压平)。每件 24f 加速下落 + 软着陆,
|
|
27
|
+
落点 54→104f 按"侧栏自上而下 → 主区自上而下"错峰(先密后疏),比点亮晚 ~20f 收尾
|
|
28
|
+
- 背景:同一个框在纵深里的 5 层回声(translateZ 递退、逐层放大)组成霓虹隧道,
|
|
29
|
+
框合拢后由近到远逐层"打火"(荧光管启辉的确定性闪烁);终段中段先熄、两端后熄(94–118f)
|
|
30
|
+
- 机位:rotateY −30° → −12°(0–96f EASE.out 长减速),hold 段再极缓转 1.5°
|
|
31
|
+
|
|
32
|
+
## 参数表
|
|
33
|
+
| 参数 | 典型值 | 调节手感 |
|
|
34
|
+
|------|--------|----------|
|
|
35
|
+
| 框奔画 | 20f 两头对奔(swift) | 单头描画读作画图;>30f 观众等不及内容 |
|
|
36
|
+
| 悬浮高度 | translateZ 120–170px、影随高度收敛 | 判例:高度过小+启动过早=影子不可感(v3 第 1 轮返工加大 1.7x 并延后) |
|
|
37
|
+
| 贴落窗口 | 每件 24f;落点 54→104f,比点亮晚 ~20f 收尾 | 贴落先于点亮完=黑屋子里落家具;滞后太多读作两段戏 |
|
|
38
|
+
| 错峰 | 错开起点、下落重叠并行(EASE.out 分布,先密后疏) | 串行等待被裁(掉落节奏通用判例) |
|
|
39
|
+
| 背景熄灭 | 中亮尾熄,每层 6f 闪烁熄灭、层间隔 7f | 不熄灭主角不突出;同帧全熄读作断电 |
|
|
40
|
+
| 贴落粒度 | 卡/行级(品牌、4 项导航、问候、3 张数字卡、4 行任务) | 粒度越细越贵;元素越少每件越大越好读 |
|
|
41
|
+
|
|
42
|
+
## 已知坑
|
|
43
|
+
- demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
|
|
44
|
+
首次实战须以真实素材回验
|
|
45
|
+
- 悬空贴落=clickup 语言核心签名(已验证的口味信号),本卡
|
|
46
|
+
与 graze-face-tour 共用 FloatWrap 模式——影子不可感等于没做
|
|
47
|
+
- 与 brand-frame-snap 分工:那张是品牌框咔哒定位的
|
|
48
|
+
节拍戏;本卡是框先行+内容贴落的登场仪式,框只是序幕
|
|
49
|
+
- 衍生方向备忘:视角旋转变体(镜头左→右弧线旋转+同时贴落)
|
|
50
|
+
曾被裁"改改再看"(要求所有组件同时贴落),已收敛进 neon-frame-orbit-drop 卡
|
|
51
|
+
|
|
52
|
+
## 参考实现
|
|
53
|
+
demos/ui-entrance/neon-frame-forerun/
|
|
54
|
+
(NeonFrameForerun.tsx)
|
|
55
|
+
原片出处:clickup-30.mp4
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: neon-frame-orbit-drop
|
|
3
|
-
一句话: 霓虹框先行描框后,镜头绕页面左→右弧线旋转,页面全部组件/文字**同帧**从空中往下贴合(同形软影同步收敛)——整体登场式的框内安放
|
|
4
|
-
适用: 单页 UI 的一次性隆重登场(与巡礼/逐区亮相相对);暗场霓虹调性段落的主视觉揭幕;neon-frame-forerun 的姊妹镜
|
|
5
|
-
时长: 描框 ~0.5s + 旋转&同时贴落 ~2.5s + 落定 ~1s;全段 ~4.7s(140f,旋转到 128f 收住后留落定)
|
|
6
|
-
能量: 中高(一次性的大动作,落定即静)
|
|
7
|
-
标签: effects、camera
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 意图
|
|
11
|
-
neon-frame-forerun 的孪生变体:同样框先行、内容后落,但镜头
|
|
12
|
-
不是固定的——从页面左侧视角连续弧线旋转到右侧视角,旋转进行
|
|
13
|
-
的同时全部组件从空中贴落。命门是**同时贴合**:所有组件和文字
|
|
14
|
-
同帧起落、同帧贴合、软影同步消失——这是"整体登场"的语法
|
|
15
|
-
(判例:错峰版被裁"应该是所有组件和文字同时从空中往下贴合")。
|
|
16
|
-
错峰贴落属于巡礼镜(graze-face-tour),一页一次性亮相
|
|
17
|
-
必须齐落,节奏语义不能混用。
|
|
18
|
-
|
|
19
|
-
## 动效核心
|
|
20
|
-
- 霓虹描框:渐变霓虹框 ~14f 奔画成型(同 neon-frame-forerun)
|
|
21
|
-
- 视角弧线:rotateY +38° → -26° 连续弧线(透视原点 30%→64% 随动
|
|
22
|
-
近似相机环绕),贯穿全片
|
|
23
|
-
- 同时贴落:全部元素统一 LAND 时刻(归一化 ~0.52)——同帧离地
|
|
24
|
-
悬空、同帧空中下降、同帧贴合;FloatWrap 同形软影(blur/offset/
|
|
25
|
-
opacity 随高度)全体同步收敛
|
|
26
|
-
- 背景霓虹管框群衬场,主面板落定后让位
|
|
27
|
-
|
|
28
|
-
## 参数表
|
|
29
|
-
| 参数 | 典型值 | 调节手感 |
|
|
30
|
-
|------|--------|----------|
|
|
31
|
-
| 贴落同时性 | 全元素同帧起落(零错峰) | **命门**;任何错峰都会读成巡礼语法(判例裁决原话见上) |
|
|
32
|
-
| 视角弧线 | rotateY +38°→-26°、透视原点随动 | 弧度小读作抖动;只转不落=空转 |
|
|
33
|
-
| 旋转×贴落耦合 | 贴落窗口居中于旋转行程 | 旋转完才落=两段戏;落完还在转=收不了尾 |
|
|
34
|
-
| 悬浮高度/软影 | 同 graze-face-tour(100–180px、影随高度) | 影不可感=没做(累计判例) |
|
|
35
|
-
| 描框 | ~14f 奔画 | 同 neon-frame-forerun |
|
|
36
|
-
|
|
37
|
-
## 已知坑
|
|
38
|
-
- 参数经占位素材两轮调校通过,非实战定稿,首次实战须以真实素材回验
|
|
39
|
-
- **贴落节奏语义判例**(本卡与 graze-face-tour 互为反例):
|
|
40
|
-
巡礼镜=错开起点+重叠并行下落;整体登场镜=全体同帧。选错语法
|
|
41
|
-
两边都会被裁
|
|
42
|
-
- 与 neon-frame-forerun 分工:那张镜头固定、错峰贴落+页面点亮
|
|
43
|
-
三层咬合;本卡镜头旋转+同帧齐落。同段落二选一,别连用(同框
|
|
44
|
-
语言重复)
|
|
45
|
-
- 弧线旋转是透视原点近似而非真实 3D 相机环绕,极端角度下框辉光
|
|
46
|
-
形变略平——实战若需大角度环绕考虑真 3D 场景
|
|
47
|
-
|
|
48
|
-
## 参考实现
|
|
49
|
-
demos/ui-entrance/neon-frame-orbit-drop/
|
|
50
|
-
(NeonFrameForerunOrbit.tsx)
|
|
51
|
-
原片出处:无对应原段
|
|
1
|
+
---
|
|
2
|
+
name: neon-frame-orbit-drop
|
|
3
|
+
一句话: 霓虹框先行描框后,镜头绕页面左→右弧线旋转,页面全部组件/文字**同帧**从空中往下贴合(同形软影同步收敛)——整体登场式的框内安放
|
|
4
|
+
适用: 单页 UI 的一次性隆重登场(与巡礼/逐区亮相相对);暗场霓虹调性段落的主视觉揭幕;neon-frame-forerun 的姊妹镜
|
|
5
|
+
时长: 描框 ~0.5s + 旋转&同时贴落 ~2.5s + 落定 ~1s;全段 ~4.7s(140f,旋转到 128f 收住后留落定)
|
|
6
|
+
能量: 中高(一次性的大动作,落定即静)
|
|
7
|
+
标签: effects、camera
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 意图
|
|
11
|
+
neon-frame-forerun 的孪生变体:同样框先行、内容后落,但镜头
|
|
12
|
+
不是固定的——从页面左侧视角连续弧线旋转到右侧视角,旋转进行
|
|
13
|
+
的同时全部组件从空中贴落。命门是**同时贴合**:所有组件和文字
|
|
14
|
+
同帧起落、同帧贴合、软影同步消失——这是"整体登场"的语法
|
|
15
|
+
(判例:错峰版被裁"应该是所有组件和文字同时从空中往下贴合")。
|
|
16
|
+
错峰贴落属于巡礼镜(graze-face-tour),一页一次性亮相
|
|
17
|
+
必须齐落,节奏语义不能混用。
|
|
18
|
+
|
|
19
|
+
## 动效核心
|
|
20
|
+
- 霓虹描框:渐变霓虹框 ~14f 奔画成型(同 neon-frame-forerun)
|
|
21
|
+
- 视角弧线:rotateY +38° → -26° 连续弧线(透视原点 30%→64% 随动
|
|
22
|
+
近似相机环绕),贯穿全片
|
|
23
|
+
- 同时贴落:全部元素统一 LAND 时刻(归一化 ~0.52)——同帧离地
|
|
24
|
+
悬空、同帧空中下降、同帧贴合;FloatWrap 同形软影(blur/offset/
|
|
25
|
+
opacity 随高度)全体同步收敛
|
|
26
|
+
- 背景霓虹管框群衬场,主面板落定后让位
|
|
27
|
+
|
|
28
|
+
## 参数表
|
|
29
|
+
| 参数 | 典型值 | 调节手感 |
|
|
30
|
+
|------|--------|----------|
|
|
31
|
+
| 贴落同时性 | 全元素同帧起落(零错峰) | **命门**;任何错峰都会读成巡礼语法(判例裁决原话见上) |
|
|
32
|
+
| 视角弧线 | rotateY +38°→-26°、透视原点随动 | 弧度小读作抖动;只转不落=空转 |
|
|
33
|
+
| 旋转×贴落耦合 | 贴落窗口居中于旋转行程 | 旋转完才落=两段戏;落完还在转=收不了尾 |
|
|
34
|
+
| 悬浮高度/软影 | 同 graze-face-tour(100–180px、影随高度) | 影不可感=没做(累计判例) |
|
|
35
|
+
| 描框 | ~14f 奔画 | 同 neon-frame-forerun |
|
|
36
|
+
|
|
37
|
+
## 已知坑
|
|
38
|
+
- 参数经占位素材两轮调校通过,非实战定稿,首次实战须以真实素材回验
|
|
39
|
+
- **贴落节奏语义判例**(本卡与 graze-face-tour 互为反例):
|
|
40
|
+
巡礼镜=错开起点+重叠并行下落;整体登场镜=全体同帧。选错语法
|
|
41
|
+
两边都会被裁
|
|
42
|
+
- 与 neon-frame-forerun 分工:那张镜头固定、错峰贴落+页面点亮
|
|
43
|
+
三层咬合;本卡镜头旋转+同帧齐落。同段落二选一,别连用(同框
|
|
44
|
+
语言重复)
|
|
45
|
+
- 弧线旋转是透视原点近似而非真实 3D 相机环绕,极端角度下框辉光
|
|
46
|
+
形变略平——实战若需大角度环绕考虑真 3D 场景
|
|
47
|
+
|
|
48
|
+
## 参考实现
|
|
49
|
+
demos/ui-entrance/neon-frame-orbit-drop/
|
|
50
|
+
(NeonFrameForerunOrbit.tsx)
|
|
51
|
+
原片出处:无对应原段
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: page-waterfall-wall
|
|
3
|
-
一句话: 页面瀑布墙——真实页面截图切成 3–4 列在 3D 后仰墙面上差速反向无限滚动,视差 + 镜头缓推做"内容多到流不完"的一览
|
|
4
|
-
适用: "多页面/多功能/多模板"体量感段落;montage 中段铺陈或 intro 后的产品广度镜头
|
|
5
|
-
时长: 4–6s(无限循环体,时长由段落需要裁)
|
|
6
|
-
能量: 中(流动陈列型)
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 意图
|
|
10
|
-
流动式一览:让观众在几秒内"看到很多页面流过",读感是体量而非细节。
|
|
11
|
-
与 outro-group-photo-launch 分工:那是**聚拢式**一览(元素飞来围住
|
|
12
|
-
字标定格合影,语义"属于同一产品"),本卡是**流动式**一览(内容持续
|
|
13
|
-
流过不定格,语义"还有很多没给你看完")。
|
|
14
|
-
与 wall-reveal-moves 分工:那是整墙**入场动作**,本卡是墙的**持续状态**,
|
|
15
|
-
可用那卡入场后交棒本卡续流。
|
|
16
|
-
|
|
17
|
-
## 动效核心
|
|
18
|
-
- lib 组件 `assets/lib/VerticalTicker.tsx`:父层 perspective(1000px)
|
|
19
|
-
rotateX(20°) scale(1.2) 后仰成墙;每列 [...items,...items] 翻倍 +
|
|
20
|
-
progress 取模 translateY 0→-50% 无缝循环;上下渐变遮罩收边
|
|
21
|
-
- 差速反向是视差命门:3 列 loop 时长错开(如 12/9/14s),中列反向——
|
|
22
|
-
等速同向读作一张大图在滚,差速反向才读出"独立的列"
|
|
23
|
-
- 镜头缓推寄生在外层(scale 1→1.06 线性铺满全镜),墙自身循环、
|
|
24
|
-
镜头单向,两个运动源方向不同不打架
|
|
25
|
-
- 素材:真实页面截图切片(Q1 脱敏后),卡片级切块比整页长图好——
|
|
26
|
-
整页切片滚动时观众来不及读,卡片块有完整轮廓可辨识
|
|
27
|
-
|
|
28
|
-
## 参数表
|
|
29
|
-
| 参数 | 典型值 | 调节手感 |
|
|
30
|
-
|------|--------|----------|
|
|
31
|
-
| 列数 | 3(1080p)/ 4(超宽) | 2 列读不出"墙",5 列单列过窄纹理糊 |
|
|
32
|
-
| loop 时长 | 相邻列差 ≥25%(12/9/14s) | 差速太小视差读不出;最快列 <7s 开始读作"刷屏" |
|
|
33
|
-
| 方向 | 中列反向(-1,1,-1 或交替) | 全同向=一张大图;反向列是"独立列"的最强证据 |
|
|
34
|
-
| 倾角/透视 | rotateX 20° / perspective 1000px | >25° 顶部行文字透视压糊(Q2);<12° 读不出墙面后仰 |
|
|
35
|
-
| scale | 1.2 基础 + 缓推至 ~1.26 | 1.2 是补透视收缩的底值,低于它四角露底;demo 把放大与缓推放到外层 CSS zoom(布局级缩放),切片文字不被放大发软(Q2) |
|
|
36
|
-
| 遮罩高度 | 200px | 太矮行硬进硬出;太高可视区剩不下 2 行 |
|
|
37
|
-
| 循环周期 | -50% 位移必须恰等于单副本周期(内容高+n·gap) | lib 已用 marginBottom 保证;自写实现用 flex gap 会差 gap/2 跳帧 |
|
|
38
|
-
|
|
39
|
-
## 已知坑
|
|
40
|
-
- **参数借鉴自外部实现(remotion-3d-ticker),非实战定稿;
|
|
41
|
-
首次实战须以真实素材回验**
|
|
42
|
-
- 每列 items 总高必须 ≥ 视口有效高(否则同屏见同一切片两次,穿帮);
|
|
43
|
-
列间切片不要复用同一张图,同图同时出现在两列读作素材穷
|
|
44
|
-
- 本卡是氛围/铺陈镜头不是信息镜头:切片上文字只求"看得出是真页面"
|
|
45
|
-
不求读完;想让观众读某一块,交棒 spotlight-hero-card 单主角处理
|
|
46
|
-
- P4 去重:与 outro 合影同片共存没问题(一流动一聚拢),但全片
|
|
47
|
-
瀑布墙只出现一次,二次出现读作凑时长
|
|
48
|
-
|
|
49
|
-
## 参考实现
|
|
50
|
-
assets/lib/VerticalTicker.tsx(核心组件);
|
|
51
|
-
demo 见 demos/ui-entrance/page-waterfall-wall/(PageWaterfallWall.tsx / VerticalTicker.tsx)。
|
|
1
|
+
---
|
|
2
|
+
name: page-waterfall-wall
|
|
3
|
+
一句话: 页面瀑布墙——真实页面截图切成 3–4 列在 3D 后仰墙面上差速反向无限滚动,视差 + 镜头缓推做"内容多到流不完"的一览
|
|
4
|
+
适用: "多页面/多功能/多模板"体量感段落;montage 中段铺陈或 intro 后的产品广度镜头
|
|
5
|
+
时长: 4–6s(无限循环体,时长由段落需要裁)
|
|
6
|
+
能量: 中(流动陈列型)
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 意图
|
|
10
|
+
流动式一览:让观众在几秒内"看到很多页面流过",读感是体量而非细节。
|
|
11
|
+
与 outro-group-photo-launch 分工:那是**聚拢式**一览(元素飞来围住
|
|
12
|
+
字标定格合影,语义"属于同一产品"),本卡是**流动式**一览(内容持续
|
|
13
|
+
流过不定格,语义"还有很多没给你看完")。
|
|
14
|
+
与 wall-reveal-moves 分工:那是整墙**入场动作**,本卡是墙的**持续状态**,
|
|
15
|
+
可用那卡入场后交棒本卡续流。
|
|
16
|
+
|
|
17
|
+
## 动效核心
|
|
18
|
+
- lib 组件 `assets/lib/VerticalTicker.tsx`:父层 perspective(1000px)
|
|
19
|
+
rotateX(20°) scale(1.2) 后仰成墙;每列 [...items,...items] 翻倍 +
|
|
20
|
+
progress 取模 translateY 0→-50% 无缝循环;上下渐变遮罩收边
|
|
21
|
+
- 差速反向是视差命门:3 列 loop 时长错开(如 12/9/14s),中列反向——
|
|
22
|
+
等速同向读作一张大图在滚,差速反向才读出"独立的列"
|
|
23
|
+
- 镜头缓推寄生在外层(scale 1→1.06 线性铺满全镜),墙自身循环、
|
|
24
|
+
镜头单向,两个运动源方向不同不打架
|
|
25
|
+
- 素材:真实页面截图切片(Q1 脱敏后),卡片级切块比整页长图好——
|
|
26
|
+
整页切片滚动时观众来不及读,卡片块有完整轮廓可辨识
|
|
27
|
+
|
|
28
|
+
## 参数表
|
|
29
|
+
| 参数 | 典型值 | 调节手感 |
|
|
30
|
+
|------|--------|----------|
|
|
31
|
+
| 列数 | 3(1080p)/ 4(超宽) | 2 列读不出"墙",5 列单列过窄纹理糊 |
|
|
32
|
+
| loop 时长 | 相邻列差 ≥25%(12/9/14s) | 差速太小视差读不出;最快列 <7s 开始读作"刷屏" |
|
|
33
|
+
| 方向 | 中列反向(-1,1,-1 或交替) | 全同向=一张大图;反向列是"独立列"的最强证据 |
|
|
34
|
+
| 倾角/透视 | rotateX 20° / perspective 1000px | >25° 顶部行文字透视压糊(Q2);<12° 读不出墙面后仰 |
|
|
35
|
+
| scale | 1.2 基础 + 缓推至 ~1.26 | 1.2 是补透视收缩的底值,低于它四角露底;demo 把放大与缓推放到外层 CSS zoom(布局级缩放),切片文字不被放大发软(Q2) |
|
|
36
|
+
| 遮罩高度 | 200px | 太矮行硬进硬出;太高可视区剩不下 2 行 |
|
|
37
|
+
| 循环周期 | -50% 位移必须恰等于单副本周期(内容高+n·gap) | lib 已用 marginBottom 保证;自写实现用 flex gap 会差 gap/2 跳帧 |
|
|
38
|
+
|
|
39
|
+
## 已知坑
|
|
40
|
+
- **参数借鉴自外部实现(remotion-3d-ticker),非实战定稿;
|
|
41
|
+
首次实战须以真实素材回验**
|
|
42
|
+
- 每列 items 总高必须 ≥ 视口有效高(否则同屏见同一切片两次,穿帮);
|
|
43
|
+
列间切片不要复用同一张图,同图同时出现在两列读作素材穷
|
|
44
|
+
- 本卡是氛围/铺陈镜头不是信息镜头:切片上文字只求"看得出是真页面"
|
|
45
|
+
不求读完;想让观众读某一块,交棒 spotlight-hero-card 单主角处理
|
|
46
|
+
- P4 去重:与 outro 合影同片共存没问题(一流动一聚拢),但全片
|
|
47
|
+
瀑布墙只出现一次,二次出现读作凑时长
|
|
48
|
+
|
|
49
|
+
## 参考实现
|
|
50
|
+
assets/lib/VerticalTicker.tsx(核心组件);
|
|
51
|
+
demo 见 demos/ui-entrance/page-waterfall-wall/(PageWaterfallWall.tsx / VerticalTicker.tsx)。
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: product-card-progressive-assemble
|
|
3
|
-
一句话: 详情卡像被逐字段抓取般自建——一枚"填充光标"领先跳格,图→标题→分类 pill 依次 pop→原价出现后被划线降级、强调色新价 spring 跳出→正文逐行揭示且高亮块由左向右刷过→色卡点亮→按钮填满,整卡全程极慢 scale 前推
|
|
4
|
-
适用: 商品/条目详情页的能力展示;"结构化抽取""自动填充""数据自己长出来"类叙事的主镜头
|
|
5
|
-
时长: 约 5.7s(172f@30fps)
|
|
6
|
-
能量: 中(连续小事件密集排布,无单点爆发;靠前推保持推进感)
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 意图
|
|
10
|
-
一张详情卡直接淡入,观众只看到"有一张卡"。逐字段落位则把卡变成一份**正在被填写的
|
|
11
|
-
表单**:每个字段各自到位,观众的注意力被牵着走一遍卡的信息结构——图在哪、标题在哪、
|
|
12
|
-
价格在哪、正文重点在哪。价格划线降级是全片唯一的语义事件(不是"出现"而是"改变"),
|
|
13
|
-
所以它被安排在中段最显眼的位置。
|
|
14
|
-
|
|
15
|
-
## 动效核心
|
|
16
|
-
(demo:瓷白 look,原生 1920 坐标;1520×840 详情卡占画宽 79%,商品是 video-shotcraft 自己:棚拍图里放标志,标题 Shotcraft、卖点与色卡都是它的)
|
|
17
|
-
- 字段时间表直接用 30fps 帧号:光标到达 图 8 / 标题 20 / pill 30 / 价格 42 / 正文 76 / 色卡 96 / 按钮 114,
|
|
18
|
-
字段在光标到达后 2f 开始落位;同组内部间隔 3f(pill、正文行、色卡),跨组间隔 10–20f——间隔的疏密就是信息分组
|
|
19
|
-
- 填充光标:钴蓝 2.5px 描边框 + 外圈 6px 淡光 + AUTOFILL 小签,在相邻两个字段框之间用不对称 in-out
|
|
20
|
-
(`cubic-bezier(.4,0,.2,1)`,6f)同时插值位置与宽高;最后收进按钮(ease-in 8f 淡出)。这是全片唯一的光效
|
|
21
|
-
- 骨架槽位:字段落位前槽位里是浅灰骨架条,落位时骨架随进度淡出——"表单正在被填"不是"元素在出现"
|
|
22
|
-
- 两种落位:`rise`(上移 10–26px + 6px→0 失焦淡入,expo-out 14f)给图/标题/价格/正文;`pop`
|
|
23
|
-
(物理弹簧 damping 13,scale 0.4→1 一次可见过冲)给 pill 与色卡;小件 pop、大件 rise
|
|
24
|
-
- 价格降级 f62($449 完整落位后 hold 18f):6f 内同窗"scale 1→0.46 + 变灰 + 9px 删除线从左划过",
|
|
25
|
-
f63 起钴蓝新价 Free(Apache-2.0 开源)弹簧(damping 14)从 1.18 收到 1,OPEN SOURCE chip f69 滑入
|
|
26
|
-
- 马克笔高亮:钴蓝 16% 底块 `scaleX 0→1`(origin 左),f86 / f90 起各 6f——比字段落位还快,读作"笔一划过去"
|
|
27
|
-
- 按钮:墨黑底色 f116 起 12f 由左向右填满,文案 f122 淡入
|
|
28
|
-
- 整卡呼吸:`scale 1→1.035`(不对称 in-out)摊在 0–132f;入场 0–14f scale .96→1 + 上移 30px;末段 40f 静止定格
|
|
29
|
-
|
|
30
|
-
## 参数表
|
|
31
|
-
| 参数 | 典型值 | 调节手感 |
|
|
32
|
-
|------|--------|----------|
|
|
33
|
-
| 字段时间表 | 光标 8/20/30/42/76/96/114,落位 +2f | 同类字段间隔 3 帧、跨类间隔 10–20 帧;全部改成等间隔会读作机械点名 |
|
|
34
|
-
| 光标跳格 | 6f,swift in-out,框形同步变形 | <4f 读作闪现;>10f 光标拖在字段后面,"领先抓取"变成"事后框选" |
|
|
35
|
-
| 单字段行程 | 14f expo-out | 行程远大于组内间隔 → 同组几个字段同时在动,画面是"涌"而非"点" |
|
|
36
|
-
| rise 位移 | 10–26px(按字号) | 大标题位移大、小字位移小;>40px 会与整卡前推的方向感打架 |
|
|
37
|
-
| pop | 弹簧 damping 13,0.4→1 | pill 与色卡尺寸小,过冲不会撞到邻居,大件用 pop 就会显得廉价 |
|
|
38
|
-
| 价格降级点 | f62(价格落位后 hold 18f) | 必须留出"先看清原价"的时间,紧贴落位会读作从来就是打折价 |
|
|
39
|
-
| 新价 spring | damping 14,1.18→1 | 全片唯一的放大回弹事件;阻尼调小会抖两下,与旁边的划线动作抢注意力 |
|
|
40
|
-
| 高亮刷过 | 6f,`scaleX` 从左 | 5–6f 是马克笔速度;>12f 读作背景色渐变而不是划线 |
|
|
41
|
-
| 整卡前推 | `scale 1→1.035`,0–132f | 摊在 4.4s 上是纯呼吸;>8% 卡会撞到画框 |
|
|
42
|
-
|
|
43
|
-
## 已知坑
|
|
44
|
-
- 字段框(光标落点)是写死的绝对坐标:改字号或文案后要同步改 `F` 表里的 box,否则光标框不住字段
|
|
45
|
-
- 最后一个字段在 ~f128 落定,之后 ~1.3s 只有极缓前推——给观众通读整卡的时间,别当成 bug 砍掉
|
|
46
|
-
- 三行正文 `white-space: nowrap` 写死不换行(34px,行宽 ≤ 700px)。换更长文案或中文时会溢出卡边,
|
|
47
|
-
落地必须重新配字号与行长
|
|
48
|
-
- 新价与折扣 chip 是绝对定位(按 112px 粗体数字宽度估的 x),换价格位数要重排,否则 chip 压字
|
|
49
|
-
- 内容是 video-shotcraft 的示例填法($449 划掉→Free、卖点文案、品牌四色色卡;$449 只是示意原价),字段结构本身才是可复用的部分。
|
|
50
|
-
换成真实商品数据后字段数量往往变化,时间表要按新的字段分组重排间隔
|
|
51
|
-
- 高亮的起点(f86/90)晚于所在行开始落位(f78/81)8–9f;改行落位时间必须同步改高亮,否则出现"高亮先到、文字后来"
|
|
52
|
-
- `BLUE`(钴蓝)是全卡唯一色相来源(光标 + 新价 + chip + 高亮),换品牌色改 look 的 accent 即可;其余全是中性色
|
|
53
|
-
|
|
54
|
-
## 参考实现
|
|
55
|
-
demos/ui-entrance/product-card-progressive-assemble/
|
|
56
|
-
(ProductCardProgressiveAssemble.tsx)
|
|
1
|
+
---
|
|
2
|
+
name: product-card-progressive-assemble
|
|
3
|
+
一句话: 详情卡像被逐字段抓取般自建——一枚"填充光标"领先跳格,图→标题→分类 pill 依次 pop→原价出现后被划线降级、强调色新价 spring 跳出→正文逐行揭示且高亮块由左向右刷过→色卡点亮→按钮填满,整卡全程极慢 scale 前推
|
|
4
|
+
适用: 商品/条目详情页的能力展示;"结构化抽取""自动填充""数据自己长出来"类叙事的主镜头
|
|
5
|
+
时长: 约 5.7s(172f@30fps)
|
|
6
|
+
能量: 中(连续小事件密集排布,无单点爆发;靠前推保持推进感)
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 意图
|
|
10
|
+
一张详情卡直接淡入,观众只看到"有一张卡"。逐字段落位则把卡变成一份**正在被填写的
|
|
11
|
+
表单**:每个字段各自到位,观众的注意力被牵着走一遍卡的信息结构——图在哪、标题在哪、
|
|
12
|
+
价格在哪、正文重点在哪。价格划线降级是全片唯一的语义事件(不是"出现"而是"改变"),
|
|
13
|
+
所以它被安排在中段最显眼的位置。
|
|
14
|
+
|
|
15
|
+
## 动效核心
|
|
16
|
+
(demo:瓷白 look,原生 1920 坐标;1520×840 详情卡占画宽 79%,商品是 video-shotcraft 自己:棚拍图里放标志,标题 Shotcraft、卖点与色卡都是它的)
|
|
17
|
+
- 字段时间表直接用 30fps 帧号:光标到达 图 8 / 标题 20 / pill 30 / 价格 42 / 正文 76 / 色卡 96 / 按钮 114,
|
|
18
|
+
字段在光标到达后 2f 开始落位;同组内部间隔 3f(pill、正文行、色卡),跨组间隔 10–20f——间隔的疏密就是信息分组
|
|
19
|
+
- 填充光标:钴蓝 2.5px 描边框 + 外圈 6px 淡光 + AUTOFILL 小签,在相邻两个字段框之间用不对称 in-out
|
|
20
|
+
(`cubic-bezier(.4,0,.2,1)`,6f)同时插值位置与宽高;最后收进按钮(ease-in 8f 淡出)。这是全片唯一的光效
|
|
21
|
+
- 骨架槽位:字段落位前槽位里是浅灰骨架条,落位时骨架随进度淡出——"表单正在被填"不是"元素在出现"
|
|
22
|
+
- 两种落位:`rise`(上移 10–26px + 6px→0 失焦淡入,expo-out 14f)给图/标题/价格/正文;`pop`
|
|
23
|
+
(物理弹簧 damping 13,scale 0.4→1 一次可见过冲)给 pill 与色卡;小件 pop、大件 rise
|
|
24
|
+
- 价格降级 f62($449 完整落位后 hold 18f):6f 内同窗"scale 1→0.46 + 变灰 + 9px 删除线从左划过",
|
|
25
|
+
f63 起钴蓝新价 Free(Apache-2.0 开源)弹簧(damping 14)从 1.18 收到 1,OPEN SOURCE chip f69 滑入
|
|
26
|
+
- 马克笔高亮:钴蓝 16% 底块 `scaleX 0→1`(origin 左),f86 / f90 起各 6f——比字段落位还快,读作"笔一划过去"
|
|
27
|
+
- 按钮:墨黑底色 f116 起 12f 由左向右填满,文案 f122 淡入
|
|
28
|
+
- 整卡呼吸:`scale 1→1.035`(不对称 in-out)摊在 0–132f;入场 0–14f scale .96→1 + 上移 30px;末段 40f 静止定格
|
|
29
|
+
|
|
30
|
+
## 参数表
|
|
31
|
+
| 参数 | 典型值 | 调节手感 |
|
|
32
|
+
|------|--------|----------|
|
|
33
|
+
| 字段时间表 | 光标 8/20/30/42/76/96/114,落位 +2f | 同类字段间隔 3 帧、跨类间隔 10–20 帧;全部改成等间隔会读作机械点名 |
|
|
34
|
+
| 光标跳格 | 6f,swift in-out,框形同步变形 | <4f 读作闪现;>10f 光标拖在字段后面,"领先抓取"变成"事后框选" |
|
|
35
|
+
| 单字段行程 | 14f expo-out | 行程远大于组内间隔 → 同组几个字段同时在动,画面是"涌"而非"点" |
|
|
36
|
+
| rise 位移 | 10–26px(按字号) | 大标题位移大、小字位移小;>40px 会与整卡前推的方向感打架 |
|
|
37
|
+
| pop | 弹簧 damping 13,0.4→1 | pill 与色卡尺寸小,过冲不会撞到邻居,大件用 pop 就会显得廉价 |
|
|
38
|
+
| 价格降级点 | f62(价格落位后 hold 18f) | 必须留出"先看清原价"的时间,紧贴落位会读作从来就是打折价 |
|
|
39
|
+
| 新价 spring | damping 14,1.18→1 | 全片唯一的放大回弹事件;阻尼调小会抖两下,与旁边的划线动作抢注意力 |
|
|
40
|
+
| 高亮刷过 | 6f,`scaleX` 从左 | 5–6f 是马克笔速度;>12f 读作背景色渐变而不是划线 |
|
|
41
|
+
| 整卡前推 | `scale 1→1.035`,0–132f | 摊在 4.4s 上是纯呼吸;>8% 卡会撞到画框 |
|
|
42
|
+
|
|
43
|
+
## 已知坑
|
|
44
|
+
- 字段框(光标落点)是写死的绝对坐标:改字号或文案后要同步改 `F` 表里的 box,否则光标框不住字段
|
|
45
|
+
- 最后一个字段在 ~f128 落定,之后 ~1.3s 只有极缓前推——给观众通读整卡的时间,别当成 bug 砍掉
|
|
46
|
+
- 三行正文 `white-space: nowrap` 写死不换行(34px,行宽 ≤ 700px)。换更长文案或中文时会溢出卡边,
|
|
47
|
+
落地必须重新配字号与行长
|
|
48
|
+
- 新价与折扣 chip 是绝对定位(按 112px 粗体数字宽度估的 x),换价格位数要重排,否则 chip 压字
|
|
49
|
+
- 内容是 video-shotcraft 的示例填法($449 划掉→Free、卖点文案、品牌四色色卡;$449 只是示意原价),字段结构本身才是可复用的部分。
|
|
50
|
+
换成真实商品数据后字段数量往往变化,时间表要按新的字段分组重排间隔
|
|
51
|
+
- 高亮的起点(f86/90)晚于所在行开始落位(f78/81)8–9f;改行落位时间必须同步改高亮,否则出现"高亮先到、文字后来"
|
|
52
|
+
- `BLUE`(钴蓝)是全卡唯一色相来源(光标 + 新价 + chip + 高亮),换品牌色改 look 的 accent 即可;其余全是中性色
|
|
53
|
+
|
|
54
|
+
## 参考实现
|
|
55
|
+
demos/ui-entrance/product-card-progressive-assemble/
|
|
56
|
+
(ProductCardProgressiveAssemble.tsx)
|