hyper-animator-codex 0.7.1 → 0.8.1
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 +67 -4
- package/bin/hyper-animator-codex.mjs +1 -1
- package/lib/minimax-config.mjs +3 -3
- package/package.json +4 -1
- package/skills/hyper-animator-codex/SKILL.md +66 -22
- package/skills/hyper-animator-codex/agents/openai.yaml +2 -2
- package/skills/hyper-animator-codex/contracts/shot-plan.schema.json +280 -0
- package/skills/hyper-animator-codex/contracts/workflow-policy.json +97 -0
- package/skills/hyper-animator-codex/references/HyperFrames-AI-Generation-Patterns-codex.md +788 -0
- package/skills/hyper-animator-codex/references/beat-sync-workflow.md +7 -0
- package/skills/hyper-animator-codex/references/examples/shot-plan-dual-catalog.json +99 -0
- package/skills/hyper-animator-codex/references/hyperframes-agent-pseudocode.ts +1 -1
- package/skills/hyper-animator-codex/references/hyperframes-catalog-map.json +97 -230
- package/skills/hyper-animator-codex/references/hyperframes-intent-workflow.md +32 -8
- package/skills/hyper-animator-codex/references/minimax-music-workflow.md +24 -4
- package/skills/hyper-animator-codex/references/narration-audio-workflow.md +47 -10
- package/skills/hyper-animator-codex/references/shotcraft/LICENSE +202 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/ai-stream-response/README.md +46 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/autolayout-gap-dial/README.md +53 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/beat-cut-moves/README.md +54 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/beat-step-list-theme-cycle/README.md +59 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/before-after-slider-scrub/README.md +47 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/bottom-push-stack-wipe/README.md +58 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/brand-frame-snap/README.md +51 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/brand-ink-open/README.md +35 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/bubble-swarm-takeover/README.md +62 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/canvas-materialize-moves/README.md +55 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/card-flip-reveal/README.md +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/card-flock-tumble/README.md +54 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/cel-flash-stomp/README.md +54 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/chart-live-moves/README.md +51 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/circle-match-iris/README.md +53 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/cloner-depth-echo/README.md +38 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/collab-cursor-moves/README.md +48 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/color-block-step-wipe/README.md +54 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/command-palette-summon/README.md +45 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/crane-rise-reveal/README.md +47 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/crash-zoom-punch/README.md +38 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/dataviz-landscape-open/README.md +54 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/deck-deal-flyin/README.md +45 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/depth-layer-moves/README.md +40 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/document-typewriter-reveal/README.md +40 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/draw-svg-trace/README.md +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/edit-hook-moves/README.md +38 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/element-body-moves/README.md +49 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/fui-hud-moves/README.md +44 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/gauge-readout-moves/README.md +45 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/glow-flyline-moves/README.md +51 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/gradient-word-sweep/README.md +49 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/graze-face-tour/README.md +56 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/hashtag-to-pill-materialize/README.md +57 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/hires-rasterize-3d-text/README.md +34 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/icon-field-colorize/README.md +53 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/icon-performance-moves/README.md +46 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/impact-feedback/README.md +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/input-trigger-moves/README.md +49 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/integration-hub-map/README.md +54 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/letterspace-materialize/README.md +52 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/light-play-moves/README.md +49 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/line-boil/README.md +52 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/line-carry-transition/README.md +52 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/list-stack-press/README.md +43 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/magician-card-flourish/README.md +63 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/marker-underline-title/README.md +48 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/montage-rhythm-moves/README.md +55 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/morph-from-primitive/README.md +51 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/neon-frame-forerun/README.md +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/neon-frame-orbit-drop/README.md +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/neon-triple-marquee/README.md +55 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/odometer-digit-roll/README.md +54 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/outro-group-photo-launch/README.md +39 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/overhead-camera-moves/README.md +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/page-turn-transitions/README.md +48 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/page-waterfall-wall/README.md +52 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/panel-grid-moves/README.md +52 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/paper-craft-moves/README.md +46 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/paper-plane-messenger/README.md +62 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/paper-title-card/README.md +36 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/particle-celebrate-hits/README.md +42 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/particle-sand-fill/README.md +39 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/pill-slot-cycle/README.md +57 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/print-texture-transitions/README.md +40 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/rhythm-interrupt-moves/README.md +44 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/riso-print-hits/README.md +54 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/row-embed/README.md +36 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/runway-ground-skim/README.md +52 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/sakuga-timing-shift/README.md +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/scene-locked-title/README.md +43 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/scroll-brake-moves/README.md +45 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/segmented-thumb-hero/README.md +57 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/shot-transitions/README.md +60 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/skeleton-reveal/README.md +54 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/slam-entrance-moves/README.md +53 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/smear-multiples/README.md +49 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/space-camera-moves/README.md +53 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/spectrum-morph-ui/README.md +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/speed-ramp-freeze/README.md +42 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/split-flap-title/README.md +52 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/spotlight-hero-card/README.md +39 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/spotlight-sweep-moves/README.md +51 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/steep-tilt-glide/README.md +53 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/stroke-segment-build/README.md +43 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/tear-streak-transitions/README.md +43 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/tension-camera-moves/README.md +55 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/text-as-mask/README.md +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/text-column-converge/README.md +55 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/theme-switch-moves/README.md +44 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/timeline-travel/README.md +43 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/title-demote-to-label/README.md +58 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/trailer-grammar-moves/README.md +51 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/transition-hidden-cut/README.md +52 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/transition-travel/README.md +48 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/type-and-filter/README.md +37 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/type-assembly-moves/README.md +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/type-entrance-moves/README.md +46 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/type-rhythm-sync/README.md +47 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/typewriter-moves/README.md +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/ui-strip-away-outro/README.md +63 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/ui-to-brand-morph/README.md +52 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/voice-waveform-live/README.md +52 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/wall-reveal-moves/README.md +53 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/wipe-transitions/README.md +47 -0
- package/skills/hyper-animator-codex/references/shotcraft/cards/word-relay-filmstrip/README.md +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/catalog.json +3946 -0
- package/skills/hyper-animator-codex/references/shotcraft/motion-pack/README.md +32 -0
- package/skills/hyper-animator-codex/references/shotcraft/motion-pack/shotcraft-motion-pack.js +178 -0
- package/skills/hyper-animator-codex/references/shotcraft/references/aesthetic-rules.md +157 -0
- package/skills/hyper-animator-codex/references/shotcraft/references/final-review.md +107 -0
- package/skills/hyper-animator-codex/references/shotcraft/references/guided-free-creation.md +197 -0
- package/skills/hyper-animator-codex/references/shotcraft/references/music-beat-sync.md +125 -0
- package/skills/hyper-animator-codex/references/shotcraft/references/pipeline.md +357 -0
- package/skills/hyper-animator-codex/references/shotcraft/references/sound-design.md +126 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/Caption.tsx +50 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/DigitRoll.tsx +45 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/FlashCut.tsx +20 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/FlatPanel.tsx +65 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/PageCam.tsx +151 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/VerticalTicker.tsx +129 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/helpers/camera.tsx +75 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/helpers/motion.ts +40 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/helpers/rand.ts +11 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/assets/lib/helpers/shake.ts +10 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/_fixtures/Fixtures.tsx +83 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/ai-stream-response/StreamResponse.tsx +146 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/autolayout-gap-dial/AutolayoutGapDial.tsx +174 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/beat-cut-moves/BeatCutAccelerando.tsx +77 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/beat-cut-moves/PaparazziFlash.tsx +115 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/beat-step-list-theme-cycle/BeatStepListThemeCycle.tsx +98 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/before-after-slider-scrub/BeforeAfterSliderScrub.tsx +99 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/bottom-push-stack-wipe/BottomPushStackWipe.tsx +79 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/brand-frame-snap/BrandFrameSnap.tsx +110 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/bubble-swarm-takeover/BubbleSwarmTakeover.tsx +189 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/canvas-materialize-moves/DiagramCascadeBuild.tsx +172 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/canvas-materialize-moves/PanelToCanvasMaterialize.tsx +254 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/card-flip-reveal/CardFlipReveal.tsx +139 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/card-flock-tumble/CardFlockTumble.tsx +382 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/cel-flash-stomp/CelFlashStomp.tsx +111 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/chart-live-moves/AxisRescaleShockV2.tsx +282 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/chart-live-moves/OscilloscopeStreamV2.tsx +227 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/chart-live-moves/UnitDotSwarmRegroupV2.tsx +248 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/circle-match-iris/CircleMatchIris.tsx +124 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/cloner-depth-echo/ClonerDepthEcho.tsx +90 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/collab-cursor-moves/CursorCastEnsemble.tsx +136 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/collab-cursor-moves/CursorDialogueDuet.tsx +145 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/color-block-step-wipe/ColorBlockStepWipe.tsx +157 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/command-palette-summon/CommandPaletteSummon.tsx +173 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/crane-rise-reveal/CraneRiseReveal.tsx +91 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/crash-zoom-punch/CrashImpactReal.tsx +63 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/crash-zoom-punch/CrashZoomReal.tsx +60 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/dataviz-landscape-open/DatavizLandscapeOpen.tsx +401 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/depth-layer-moves/DollyZoomReal.tsx +55 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/depth-layer-moves/MultiplaneReal.tsx +45 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/draw-svg-trace/DrawSvgTrace.tsx +199 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/edit-hook-moves/LogoStingButton.tsx +106 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/element-body-moves/AxialStretch.tsx +112 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/element-body-moves/ContactShadowLift.tsx +117 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/fui-hud-moves/LineUnfoldPanel.tsx +125 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/fui-hud-moves/ReticleLockOn.tsx +139 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/gauge-readout-moves/NeedleSweepSelftest.tsx +146 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/gauge-readout-moves/TapeScrollFixedPointer.tsx +120 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/glow-flyline-moves/FlylineArc.tsx +158 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/glow-flyline-moves/GlowOrbAmbient.tsx +131 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/glow-flyline-moves/OrbFlylineRelay.tsx +268 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/gradient-word-sweep/GradientWordSweep.tsx +307 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/graze-face-tour/GrazeFaceTour.tsx +469 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/hashtag-to-pill-materialize/HashtagToPillMaterialize.tsx +166 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/icon-field-colorize/IconFieldColorize.tsx +93 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/icon-performance-moves/AttentionBounce.tsx +193 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/icon-performance-moves/PopBurstConfirm.tsx +162 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/impact-feedback/AnimeImpact.tsx +149 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/impact-feedback/HitCounter.tsx +147 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/input-trigger-moves/CursorPerformancePunchIn.tsx +154 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/input-trigger-moves/KeycapSmashCut.tsx +217 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/integration-hub-map/IntegrationHubMap.tsx +554 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/letterspace-materialize/LetterspaceMaterialize.tsx +85 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/light-play-moves/HalationBloom.tsx +139 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/light-play-moves/SheenSweepRetry.tsx +85 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/light-play-moves/SpotlightSweepReveal.tsx +102 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/line-boil/LineBoil.tsx +140 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/line-carry-transition/LineCarryTransition.tsx +151 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/magician-card-flourish/MagicianCardFlourish.tsx +294 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/marker-underline-title/MarkerUnderlineTitle.tsx +87 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/montage-rhythm-moves/DominoCascade.tsx +125 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/montage-rhythm-moves/DropBlackoutSlam.tsx +135 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/montage-rhythm-moves/WrightTripleCut.tsx +175 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/morph-from-primitive/MorphFromPrimitive.tsx +190 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/neon-frame-forerun/NeonFrameForerun.tsx +279 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/neon-frame-orbit-drop/NeonFrameForerunOrbit.tsx +273 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/neon-triple-marquee/NeonTripleMarquee.tsx +111 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/odometer-digit-roll/OdometerDigitRoll.tsx +178 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/overhead-camera-moves/OverheadTabletopDrop.tsx +129 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/overhead-camera-moves/TiltReveal.tsx +55 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/page-turn-transitions/BarnDoorSplit.tsx +138 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/page-turn-transitions/CubeRotate.tsx +114 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/page-waterfall-wall/PageWaterfallWall.tsx +76 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/page-waterfall-wall/VerticalTicker.tsx +129 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/panel-grid-moves/ComicPanelSplit.tsx +171 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/panel-grid-moves/FlipGridReflow.tsx +121 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/panel-grid-moves/GridFlashMosaic.tsx +182 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/paper-craft-moves/MaskingTapeSlap.tsx +163 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/paper-craft-moves/PopupBookRise.tsx +134 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/paper-plane-messenger/PaperPlaneMessenger.tsx +183 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/particle-celebrate-hits/ConfettiCrossfire.tsx +115 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/particle-celebrate-hits/CounterTickSparks.tsx +103 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/particle-sand-fill/ParticleSandFill.tsx +119 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/pill-slot-cycle/PillSlotCycle.tsx +220 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/print-texture-transitions/InkBleedReveal.tsx +81 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/rhythm-interrupt-moves/JumpCutPunchIn.tsx +72 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/rhythm-interrupt-moves/StrobeBlackFrames.tsx +99 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/riso-print-hits/RisoBeatPump.tsx +155 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/riso-print-hits/RisoMisregistrationHit.tsx +120 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/runway-ground-skim/RunwayGroundSkim.tsx +258 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/sakuga-timing-shift/SakugaTimingShift.tsx +178 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/scene-locked-title/SceneLockedTitle.tsx +98 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/scroll-brake-moves/BrakeReticleLock.tsx +171 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/scroll-brake-moves/ChangelogScrollBrake.tsx +117 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/segmented-thumb-hero/SegmentedThumbHero.tsx +213 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/shot-transitions/MaskWipeReal.tsx +67 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/shot-transitions/PortalWipeV2.tsx +128 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/shot-transitions/WhipBrakeReal.tsx +60 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/shot-transitions/WhipPanReal.tsx +45 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/skeleton-reveal/SkeletonReveal.tsx +283 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/slam-entrance-moves/ImpactBurstKit.tsx +185 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/slam-entrance-moves/KanadaPerspectiveSnap.tsx +91 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/slam-entrance-moves/ScoreSlam.tsx +225 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/smear-multiples/SmearMultiples.tsx +88 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/space-camera-moves/DroneDiveLanding.tsx +91 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/space-camera-moves/ExplodedView.tsx +178 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/space-camera-moves/SnorricamLock.tsx +130 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/spectrum-morph-ui/SpectrumMorphUi.tsx +129 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/speed-ramp-freeze/FreezeAnnotateReal.tsx +70 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/speed-ramp-freeze/SpeedRampReal.tsx +58 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/split-flap-title/SplitFlapFlip.tsx +189 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/spotlight-sweep-moves/CornerSpotlightReveal.tsx +121 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/spotlight-sweep-moves/GlowWakeSleepPanel.tsx +183 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/spotlight-sweep-moves/SlideSpotlightPan.tsx +171 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/steep-tilt-glide/SteepTiltGlide.tsx +315 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/stroke-segment-build/StrokeSegmentBuild.tsx +126 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/tear-streak-transitions/GlitchDisplace.tsx +107 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/tension-camera-moves/BulletTimeFreezeOrbit.tsx +219 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/tension-camera-moves/DutchRollToLevel.tsx +110 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/tension-camera-moves/PullBackIsolation.tsx +120 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/tension-camera-moves/SlowPushIn.tsx +96 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/text-as-mask/TextAsMask.tsx +94 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/text-column-converge/TextColumnConverge.tsx +122 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/theme-switch-moves/PaletteThemeRipple.tsx +207 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/theme-switch-moves/ThemeSweepToggle.tsx +123 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/timeline-travel/TimelineTravel.tsx +123 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/title-demote-to-label/TitleDemoteToLabel.tsx +174 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/trailer-grammar-moves/CardFootageCadence.tsx +118 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/trailer-grammar-moves/SmashCut.tsx +105 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/trailer-grammar-moves/TrailerBumper.tsx +103 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/transition-hidden-cut/InvisibleCut.tsx +93 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/transition-hidden-cut/LightLeakBurn.tsx +122 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/transition-hidden-cut/VersusSlam.tsx +104 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/transition-travel/LetterformZoom.tsx +141 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/transition-travel/SharedElementMorph.tsx +101 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-assembly-moves/LetterformDriftAssembly.tsx +107 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-assembly-moves/SplitTextStagger.tsx +101 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-assembly-moves/TextOnPath.tsx +92 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-assembly-moves/TrackingExpandReveal.tsx +109 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-entrance-moves/LetterDropPhysics.tsx +100 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-entrance-moves/ScrambleDecode.tsx +90 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-rhythm-sync/FontWeightPump.tsx +124 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/type-rhythm-sync/KaraokeFillSync.tsx +93 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/typewriter-moves/TerminalTypewriter.tsx +122 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/typewriter-moves/TypewriterErrorRetype.tsx +109 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/ui-strip-away-outro/UiStripAwayOutro.tsx +218 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/ui-to-brand-morph/IconFlipBloomLogo.tsx +199 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/ui-to-brand-morph/InputMorphsIntoLogo.tsx +215 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/voice-waveform-live/VoiceWaveformLive.tsx +171 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/wall-reveal-moves/BentoLightUp.tsx +135 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/wipe-transitions/BlindsSlice.tsx +107 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/wipe-transitions/ClockWipe.tsx +83 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/demos/word-relay-filmstrip/WordRelayFilmstrip.tsx +300 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/Root.tsx +15 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/Caption.tsx +49 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/DigitRoll.tsx +44 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/FlashCut.tsx +19 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/Main.tsx +163 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/PaperTitleCard.tsx +89 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/PageCam.tsx +145 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/SceneDetail.tsx +146 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/SceneFlyIn.tsx +447 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/SceneOpen.tsx +532 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/SceneOutroLive.tsx +394 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/ScenePapers.tsx +185 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/aifl/live/SceneWbr.tsx +299 -0
- package/skills/hyper-animator-codex/references/shotcraft/source/template/src/index.ts +4 -0
- package/skills/hyper-animator-codex/references/shotcraft/source-notes.md +10 -0
- package/skills/hyper-animator-codex/scripts/generate_minimax_music.mjs +27 -10
- package/skills/hyper-animator-codex/scripts/generate_minimax_tts.mjs +142 -13
- package/skills/hyper-animator-codex/scripts/generate_subtitles.mjs +42 -3
- package/skills/hyper-animator-codex/scripts/git_checkpoint.mjs +2 -2
- package/skills/hyper-animator-codex/scripts/minimax_runtime_config.mjs +3 -3
- package/skills/hyper-animator-codex/scripts/query_shotcraft.mjs +140 -0
- package/skills/hyper-animator-codex/scripts/validate_hyperframes_html.py +22 -0
- package/skills/hyper-animator-codex/scripts/validate_provider_policy.mjs +108 -0
- package/skills/hyper-animator-codex/scripts/validate_shot_plan.mjs +266 -0
- package/skills/hyper-animator-codex/vendor/music-beat-detector/beat_detector/analyzer.py +3 -1
- package/skills/hyper-animator-codex/vendor/music-beat-detector/beat_detector/beat.py +37 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# ShotCraft motion pack
|
|
2
|
+
|
|
3
|
+
Use this pack before freehanding animation for the supported ShotCraft cards.
|
|
4
|
+
The goal is to copy the card's actual motion grammar into GSAP/HyperFrames
|
|
5
|
+
instead of merely describing it in prose.
|
|
6
|
+
|
|
7
|
+
| ShotCraft reference | `motion_contract.motion_preset` | Helper |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| `slam-entrance-moves` | `slam-entrance` | `slamEntrance` |
|
|
10
|
+
| `shot-transitions` | `whip-transition` | `whipTransition` |
|
|
11
|
+
| `crash-zoom-punch` | `crash-zoom` | `crashZoom` |
|
|
12
|
+
| `bottom-push-stack-wipe` | `push-stack-wipe` | `pushStackWipe` |
|
|
13
|
+
| `dataviz-landscape-open` | `dataviz-landscape-open` | `datavizLandscapeOpen` |
|
|
14
|
+
| `panel-grid-moves` | `panel-grid-reflow` | `panelGridReflow` |
|
|
15
|
+
| `ui-to-brand-morph` | `brand-resolve` | `brandResolve` |
|
|
16
|
+
|
|
17
|
+
Usage:
|
|
18
|
+
|
|
19
|
+
1. Read the selected ShotCraft card README first.
|
|
20
|
+
2. Set the matching `motion_contract.motion_preset` in the shot plan.
|
|
21
|
+
3. Copy only the needed helper from `shotcraft-motion-pack.js` into the
|
|
22
|
+
generated HTML, or include the file as a local reference when the project
|
|
23
|
+
allows that.
|
|
24
|
+
4. Keep the helper on the main paused GSAP timeline; do not run wall-clock
|
|
25
|
+
timers, React, Remotion, or ShotCraft runtime code.
|
|
26
|
+
|
|
27
|
+
Quality bar:
|
|
28
|
+
|
|
29
|
+
- motion starts with a visible camera/geometry event, not a fade;
|
|
30
|
+
- transition covers the cut with a real mask, whip, impact, or spatial travel;
|
|
31
|
+
- dense motion resolves into at least `readable_rest_seconds` of rest;
|
|
32
|
+
- every helper call is tied to a named shot boundary or beat cue.
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
// Copy the needed helpers into a generated HyperFrames HTML file.
|
|
2
|
+
// Requires GSAP and a paused main timeline.
|
|
3
|
+
(function registerShotCraftMotion(global) {
|
|
4
|
+
function gsapRef() {
|
|
5
|
+
if (!global.gsap) throw new Error("GSAP is required for ShotCraft motion helpers");
|
|
6
|
+
return global.gsap;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function slamEntrance(tl, target, cue = 0, opts = {}) {
|
|
10
|
+
const gsap = gsapRef();
|
|
11
|
+
const duration = opts.duration ?? 0.72;
|
|
12
|
+
tl.set(target, { transformPerspective: 900, transformOrigin: "50% 55%" }, cue)
|
|
13
|
+
.fromTo(target, {
|
|
14
|
+
autoAlpha: 0,
|
|
15
|
+
scale: 2.4,
|
|
16
|
+
z: 420,
|
|
17
|
+
rotateX: -18,
|
|
18
|
+
filter: "blur(14px) brightness(1.8)",
|
|
19
|
+
}, {
|
|
20
|
+
autoAlpha: 1,
|
|
21
|
+
scale: 0.92,
|
|
22
|
+
z: 0,
|
|
23
|
+
rotateX: 0,
|
|
24
|
+
filter: "blur(0px) brightness(1)",
|
|
25
|
+
duration: duration * 0.58,
|
|
26
|
+
ease: "expo.out",
|
|
27
|
+
}, cue)
|
|
28
|
+
.to(target, { scale: 1.04, duration: duration * 0.16, ease: "power2.out" }, cue + duration * 0.42)
|
|
29
|
+
.to(target, { scale: 1, duration: duration * 0.26, ease: "back.out(2.4)" }, cue + duration * 0.56);
|
|
30
|
+
if (opts.ring) {
|
|
31
|
+
tl.fromTo(opts.ring, { autoAlpha: 0.9, scale: 0.12 }, {
|
|
32
|
+
autoAlpha: 0,
|
|
33
|
+
scale: 2.8,
|
|
34
|
+
duration: duration * 0.72,
|
|
35
|
+
ease: "expo.out",
|
|
36
|
+
}, cue + 0.04);
|
|
37
|
+
}
|
|
38
|
+
return tl;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function whipTransition(tl, fromTarget, toTarget, cue = 0, opts = {}) {
|
|
42
|
+
const distance = opts.distance ?? 260;
|
|
43
|
+
const blur = opts.blur ?? 18;
|
|
44
|
+
tl.to(fromTarget, {
|
|
45
|
+
x: -distance,
|
|
46
|
+
rotateZ: -3,
|
|
47
|
+
filter: `blur(${blur}px)`,
|
|
48
|
+
autoAlpha: 0,
|
|
49
|
+
duration: 0.2,
|
|
50
|
+
ease: "power4.in",
|
|
51
|
+
}, cue)
|
|
52
|
+
.fromTo(toTarget, {
|
|
53
|
+
x: distance,
|
|
54
|
+
rotateZ: 3,
|
|
55
|
+
filter: `blur(${blur}px)`,
|
|
56
|
+
autoAlpha: 0,
|
|
57
|
+
}, {
|
|
58
|
+
x: 0,
|
|
59
|
+
rotateZ: 0,
|
|
60
|
+
filter: "blur(0px)",
|
|
61
|
+
autoAlpha: 1,
|
|
62
|
+
duration: 0.34,
|
|
63
|
+
ease: "expo.out",
|
|
64
|
+
}, cue + 0.16);
|
|
65
|
+
if (opts.flash) tl.fromTo(opts.flash, { autoAlpha: 0 }, { autoAlpha: 1, yoyo: true, repeat: 1, duration: 0.05 }, cue + 0.14);
|
|
66
|
+
return tl;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function crashZoom(tl, target, cue = 0, opts = {}) {
|
|
70
|
+
tl.fromTo(target, {
|
|
71
|
+
scale: opts.fromScale ?? 0.72,
|
|
72
|
+
filter: "contrast(1.3) saturate(1.25)",
|
|
73
|
+
}, {
|
|
74
|
+
scale: opts.overshoot ?? 1.18,
|
|
75
|
+
duration: 0.16,
|
|
76
|
+
ease: "power4.in",
|
|
77
|
+
}, cue)
|
|
78
|
+
.to(target, { scale: 0.98, duration: 0.12, ease: "power2.out" }, cue + 0.16)
|
|
79
|
+
.to(target, { scale: 1, filter: "contrast(1) saturate(1)", duration: 0.28, ease: "expo.out" }, cue + 0.28);
|
|
80
|
+
if (opts.shock) tl.fromTo(opts.shock, { autoAlpha: 0.85, scale: 0.2 }, { autoAlpha: 0, scale: 2.2, duration: 0.34, ease: "expo.out" }, cue + 0.12);
|
|
81
|
+
return tl;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function pushStackWipe(tl, fromTarget, toTarget, cue = 0, opts = {}) {
|
|
85
|
+
const height = opts.height ?? "112%";
|
|
86
|
+
tl.fromTo(toTarget, { y: height, autoAlpha: 1 }, {
|
|
87
|
+
y: "0%",
|
|
88
|
+
duration: 0.48,
|
|
89
|
+
ease: "power3.inOut",
|
|
90
|
+
}, cue)
|
|
91
|
+
.to(fromTarget, {
|
|
92
|
+
y: "-18%",
|
|
93
|
+
scale: 0.94,
|
|
94
|
+
filter: "blur(8px)",
|
|
95
|
+
autoAlpha: 0,
|
|
96
|
+
duration: 0.42,
|
|
97
|
+
ease: "power3.inOut",
|
|
98
|
+
}, cue + 0.04)
|
|
99
|
+
.fromTo(opts.shadow ?? toTarget, { boxShadow: "0 -40px 80px rgba(0,0,0,0.35)" }, {
|
|
100
|
+
boxShadow: "0 0 0 rgba(0,0,0,0)",
|
|
101
|
+
duration: 0.36,
|
|
102
|
+
ease: "power2.out",
|
|
103
|
+
}, cue + 0.28);
|
|
104
|
+
return tl;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function datavizLandscapeOpen(tl, bars, labels, cue = 0, opts = {}) {
|
|
108
|
+
tl.fromTo(bars, {
|
|
109
|
+
scaleY: 0,
|
|
110
|
+
transformOrigin: "50% 100%",
|
|
111
|
+
}, {
|
|
112
|
+
scaleY: 1,
|
|
113
|
+
duration: opts.duration ?? 0.86,
|
|
114
|
+
stagger: opts.stagger ?? 0.035,
|
|
115
|
+
ease: "expo.out",
|
|
116
|
+
}, cue)
|
|
117
|
+
.fromTo(labels, { y: 18, autoAlpha: 0 }, {
|
|
118
|
+
y: 0,
|
|
119
|
+
autoAlpha: 1,
|
|
120
|
+
duration: 0.34,
|
|
121
|
+
stagger: opts.stagger ?? 0.035,
|
|
122
|
+
ease: "power2.out",
|
|
123
|
+
}, cue + 0.24);
|
|
124
|
+
return tl;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function panelGridReflow(tl, panels, cue = 0, opts = {}) {
|
|
128
|
+
const gsap = gsapRef();
|
|
129
|
+
const panelList = gsap.utils.toArray(panels);
|
|
130
|
+
panelList.forEach((panel, index) => {
|
|
131
|
+
tl.fromTo(panel, {
|
|
132
|
+
xPercent: index % 2 === 0 ? -18 : 18,
|
|
133
|
+
yPercent: index % 3 === 0 ? -12 : 12,
|
|
134
|
+
rotateZ: index % 2 === 0 ? -3 : 3,
|
|
135
|
+
autoAlpha: 0,
|
|
136
|
+
}, {
|
|
137
|
+
xPercent: 0,
|
|
138
|
+
yPercent: 0,
|
|
139
|
+
rotateZ: 0,
|
|
140
|
+
autoAlpha: 1,
|
|
141
|
+
duration: opts.duration ?? 0.58,
|
|
142
|
+
ease: "expo.out",
|
|
143
|
+
}, cue + index * (opts.stagger ?? 0.045));
|
|
144
|
+
});
|
|
145
|
+
return tl;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function brandResolve(tl, tiles, wordmark, cue = 0, opts = {}) {
|
|
149
|
+
tl.to(tiles, {
|
|
150
|
+
x: 0,
|
|
151
|
+
y: 0,
|
|
152
|
+
rotateZ: 0,
|
|
153
|
+
scale: 0.78,
|
|
154
|
+
duration: opts.gatherDuration ?? 0.54,
|
|
155
|
+
stagger: opts.stagger ?? 0.025,
|
|
156
|
+
ease: "power3.inOut",
|
|
157
|
+
}, cue)
|
|
158
|
+
.to(tiles, { autoAlpha: 0, scale: 0.48, duration: 0.2, ease: "power2.in" }, cue + 0.48)
|
|
159
|
+
.fromTo(wordmark, { autoAlpha: 0, scale: 0.86, filter: "blur(10px)" }, {
|
|
160
|
+
autoAlpha: 1,
|
|
161
|
+
scale: 1,
|
|
162
|
+
filter: "blur(0px)",
|
|
163
|
+
duration: 0.42,
|
|
164
|
+
ease: "expo.out",
|
|
165
|
+
}, cue + 0.54);
|
|
166
|
+
return tl;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
global.HyperAnimatorShotCraftMotion = {
|
|
170
|
+
slamEntrance,
|
|
171
|
+
whipTransition,
|
|
172
|
+
crashZoom,
|
|
173
|
+
pushStackWipe,
|
|
174
|
+
datavizLandscapeOpen,
|
|
175
|
+
panelGridReflow,
|
|
176
|
+
brandResolve,
|
|
177
|
+
};
|
|
178
|
+
})(window);
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# 审美准则(判例式)
|
|
2
|
+
|
|
3
|
+
来源:多支宣传片实战返工的判例沉淀(成片模板见 `template/`)。
|
|
4
|
+
|
|
5
|
+
**使用方式**:
|
|
6
|
+
- 每条 = 规则(一句可执行的话)+ 判例(用户原话 / 返工经过)+ 自检问题,三要素缺一不可。
|
|
7
|
+
- pipeline.md 阶段 7 验收时**逐条过一遍**,输出自检报告,格式:`编号 ✓` 或 `编号 ✗(位置)`(位置 = 镜头名/帧号)。
|
|
8
|
+
- 准则可以有意识违反(风格需要时),但每次违反必须写进该项目的说明文档(写明违反了哪条、为什么)。
|
|
9
|
+
- 编号体系:R(节奏) / Q(质感·运镜·构图) / S(声音) / C(文案) / P(流程),编号一经发布不重排,新增条目只追加。
|
|
10
|
+
|
|
11
|
+
## 目录
|
|
12
|
+
|
|
13
|
+
- 节奏(R)
|
|
14
|
+
- 质感、运镜与构图(Q)
|
|
15
|
+
- 声音(S)
|
|
16
|
+
- 文案(C)
|
|
17
|
+
- 流程(P)
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 节奏(R)
|
|
22
|
+
|
|
23
|
+
### R1. 关键信息落定后必须呼吸,品牌字标 hold 满 1 秒
|
|
24
|
+
规则:承载信息的元素(字卡/数字/网格全貌)落定后静止 ≥1s 再切镜;呼吸感停顿优先给品牌记忆点(wordmark 落定时刻),不给普通内容卡片。
|
|
25
|
+
判例:用户:"第一个标题打出来之后停留一秒"、"不是第一个字卡,我说的是开头和结尾的AI field lab出现的动画,出现后延长停留1秒"。先停错了对象、revert 后重做,定案为开头结尾两处 wordmark 各 hold 满 1 秒。
|
|
26
|
+
自检:每个"想让观众记住的画面"是否有完整静止时刻?停顿给的是品牌/关键信息,还是随手给了普通元素?
|
|
27
|
+
|
|
28
|
+
### R2. 速度感来自加速度,不是匀速快;群体运动挂物理隐喻,收尾留 0.5s 停顿
|
|
29
|
+
规则:飞入/滚动一律非线性缓动 + 非均匀错峰,匀速运动读作廉价 PPT;大量同类元素入场用"越来越快"的硬加速节拍,最好绑一个物理隐喻(如牌堆发牌),满板后静止 0.5s 再切下一拍。
|
|
30
|
+
判例:用户:"卡片不断往下堆叠时,应该越来越快,scroll的速度也越来越快,并在最后停顿0.5秒"、"最后速度也不够快……卡片自动按顺序飞向自己的位置,归位越来越快"。先做成加速 scroll + 0.5s 停顿,再改成发牌式硬加速——抽象 flood 五轮不收敛、换成发牌隐喻一轮通过。
|
|
31
|
+
自检:有没有任何元素在做匀速直线运动?批量入场是否越来越快、末尾有无静止呼吸?
|
|
32
|
+
|
|
33
|
+
### R3. 节奏宁慢勿快:初版默认放慢一档,主体动作弧 ≥3s,交互演示按真人操作速度
|
|
34
|
+
规则:开场主体动作(聚焦→悬浮→归位一条完整弧线)至少 3 秒;模拟真实交互(打字、筛选、点击)按人真实操作的速度走,观众要能跟着做一遍;排时间线时预留 hold/rest 帧预算——第一版几乎总是偏快。
|
|
35
|
+
判例:全片六次独立反馈全部指向"放慢/停留",从未有一次"太慢了"的反向反馈。用户:"第一个镜头还是太快了,放慢到3秒"、"进入搜索框打字,然后筛选出卡片的过程太快了,放慢一些"。开场几经放慢到 3s macro opening,交互段落改成不慌不忙的 type-and-filter。
|
|
36
|
+
自检:把每个镜头当第一次看:哪里没看清?交互段落自己能不能跟着操作一遍?
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 质感·运镜·构图(Q)
|
|
41
|
+
|
|
42
|
+
### Q1. 复刻既有页面必须真实截图;手搓 UI 限非复刻场景且质量/表达达标;数据按风险口径处理
|
|
43
|
+
规则:凡是表现产品既有页面的镜头,第一步就用无头浏览器截真实页面(整页纹理 + 元素级抠图 + 坐标 json),不手搓仿真贴图复刻;非复刻场景(抽象开场/品牌段/页面上不存在的独立展示组件)允许手搓 UI,但质量(出版级质感,对照 Q10 标准)与表达明确性(观众一眼看懂它是什么)是硬门槛,达不到回截图路线。公开演示数据只有在产品简报明确确认后可保留;客户、个人、内部、密钥、实时或其他敏感内容必须先虚构、脱敏或冻结。对手搓素材同样适用该口径。
|
|
44
|
+
判例:用户:"我希望的是用真实的页面,然后加入动画"、"不要用真实数据,造一份fake的,不要提到客户名字"。改用真实 dashboard 页面重建,此前一下午手搓纹理复刻版整体作废。修订(2026-07-13 用户裁决):"不一定都要来自真实页面截图,可以手搓UI组件,只是要保证质量和表达的明确性"——判例约束收窄为"不用手搓复刻既有页面"。
|
|
45
|
+
自检:每块 UI 素材:它在复刻既有页面吗?是则必须来自截图;手搓件的质感和表达能过 Q10 级审视吗?源数据是否符合已确认的数据口径,且不含未授权的客户、个人、内部或密钥信息?
|
|
46
|
+
|
|
47
|
+
### Q2. 3D 透视下 UI 纹理按原生尺寸 rasterize 后缩小使用;文字发糊先查纹理分辨率链路
|
|
48
|
+
规则:3D 场景里的 UI 纹理按显示尺寸的 2–4 倍原生栅格化、在 3D 里向下采样(放大走布局级 CSS zoom 而非 transform scale);文字模糊先查栅格化路径,别先动相机/DoF。
|
|
49
|
+
判例:用户三轮追打:"明显卡片变得模糊了"、"还是不够高清……有像素点的方块"、"第一个镜头的文字清晰度还是没有解决"。先调 DoF 治标无效,改成按原生尺寸 rasterize 拿到真正 4x 锐度,最后把 CSS zoom 推广到全部 3D 页面层根治。
|
|
50
|
+
自检:放大/透视镜头逐帧截图看文字边缘:有没有像素方块?纹理源分辨率是否 ≥ 显示尺寸 2 倍?
|
|
51
|
+
|
|
52
|
+
### Q3. 镜头要稳:产品宣传片默认不加手持抖动
|
|
53
|
+
规则:亮场 UI 宣传片禁用 handheld shake;相机噪声只在暗场氛围片明确追求纪实感时用极小值,且必须自查渲染帧确认无意外抖动。
|
|
54
|
+
判例:用户:"镜头视角很差,而且有小抖动不知道怎么回事"。去掉 handheld shake、重新构图后抖动零投诉;另一支暗场氛围片保留 shake=0.02 未被投诉——适用边界由此划定(推测边界)。
|
|
55
|
+
自检:逐镜头看渲染帧:有没有任何非叙事意图的相机抖动?
|
|
56
|
+
|
|
57
|
+
### Q4. 高光/扫光特效宁缺毋滥:不群发,一个镜头最多给主角一次,且必须裁进圆角边界
|
|
58
|
+
规则:glint/泛光划过类特效不做群发——批量元素入场靠运动本身而非逐个发光;保留的光效必须被承载元素的 border-radius/overflow 裁剪,光溢出圆角是廉价感的典型来源。光效类技术路径本身不封杀:单点、给主角、实现质量过硬的 sheen/泛光可以做,做完对着渲染帧自问"好看吗"再交。
|
|
59
|
+
判例:用户两次否决:"不需要每个卡片都闪烁一下"、"卡片出现时的泛光划过的特效取消,不好看"。据此去掉逐卡 glint、撤掉泛光划过、把 chip 高光扫光裁进圆角边界内。澄清(2026-07-13 用户):否决针对的是"实现的版本不好看","不代表这个技术路径/特效类型就不可行"——群发禁令与圆角裁剪不变,但泛光/扫光类手法可以带着更高实现标准重试。
|
|
60
|
+
自检:数一数全片 glint/sweep 出现次数:有没有超过"主角元素一次"?每处光效是否被圆角裁剪?留下的每处光效,正常速度回放自己看过并觉得好看吗?
|
|
61
|
+
|
|
62
|
+
### Q5. 开场只给一个主角:单主体 + 完整动作弧,胜过群体群舞
|
|
63
|
+
规则:开场信息宁少而聚焦——一个主角元素、一条完整弧线(聚光→推近→悬浮→描边光→归位),多元素并舞撑不起第一印象。
|
|
64
|
+
判例:用户:"第一个镜头,只需要聚焦在一张卡片,并让它更有质感"。开场一夜推倒六次,单卡结构定型后直到成片未再动结构。
|
|
65
|
+
自检:开场镜头有几个"想让观众看"的东西?主角的动作弧是否完整(起-承-落)?
|
|
66
|
+
|
|
67
|
+
### Q6. 机位服务可读性:信息密集镜头正视,文字特写侧向水平,风格化倾斜逐镜头验证
|
|
68
|
+
规则:风格化机位按镜头逐个决定——叙事/情绪镜头可倾斜,列表/堆叠等信息密集镜头保持正视;含文字的卡片特写用侧向水平机位,避免大角度仰拍/俯拍破坏文字可读性;禁止全局一刀切套用某种机位风格。
|
|
69
|
+
判例:全片统一倾斜化被用户否决"做的并不好……对于内容列表页(模板片中为论文列表)的改动也不好,回滚",随即单独把列表页 revert 回正视;用户:"聚焦到一个卡片……是从左侧拍摄而不是从下方",改为左侧 hero 机位。
|
|
70
|
+
自检:每个倾斜机位镜头:斜的理由是什么?画面里的文字在这个角度还读得清吗?
|
|
71
|
+
|
|
72
|
+
### Q7. 物件特写四件套:侧面倾斜角 + 可感知高度 + orbit 环绕 + 反差深色材质背景
|
|
73
|
+
规则:物件/资产特写镜头做足环境戏——侧面倾斜机位、堆叠出可感知的体积高度、镜头绕主体环绕,背景用与主场景反差的深色材质(如拉丝金属),再用拉远同步过渡回主场景。
|
|
74
|
+
判例:用户:"镜头应该是倾斜从侧面拍摄,堆叠的项目应该有一定的高度,然后镜头围着堆叠做旋转。真个场景应该是暗色的金属质感背景。然后在镜头拉远,同时出现dashboard背景"。从 pile 特写 orbit 初版做到定稿——暗色拉丝金属背景 + 更高的堆叠 + 环绕运镜。
|
|
75
|
+
自检:特写镜头的主体有没有体积感和环境反差?相机是死机位还是有环绕/拉远?
|
|
76
|
+
|
|
77
|
+
### Q8. 结尾做成"发布会合影":全片元素四方飞入围住字标,能量推到全片峰值
|
|
78
|
+
规则:多功能产品的收尾用"全家福"结构——每个已展示过的功能抽一个代表元素多方向飞入定格;规格匹配全片能量峰值(crane 运镜 + 舞台光 + 粒子),初版收尾几乎总是偏保守,默认加码一档。
|
|
79
|
+
判例:用户:"各个页面的核心元素从不同方向飞来……形成一个类似于合影的画面"、"加一些更多的特效、动画、运镜……像一个产品发布"。从合影式组装做到发布会级别——crane 运镜、舞台光、金粉。
|
|
80
|
+
自检:结尾是不是全片能量最高点?合影里是否每个已展示的功能都有代表元素?
|
|
81
|
+
|
|
82
|
+
### Q9. 飞入动画的终点必须是页面布局里的真实槽位,元素不悬浮在页面上方
|
|
83
|
+
规则:元素飞入后要"嵌入"页面(归位到真实格位、扩展滚动流),不落地悬浮其上会显得假。
|
|
84
|
+
判例:用户:"研究问题的list应该从空中飞入,嵌入dashboard"、"不要让10张项目卡悬浮其上,而是接着往下scroll,然后排到下面去,不要重叠"。据此让行元素飞入并嵌入布局、把网格改成随滚动延展(近整文件重写)。
|
|
85
|
+
自检:每个飞入元素落定后,它在页面布局里有真实坐标吗?有没有元素永久浮在页面之上?
|
|
86
|
+
|
|
87
|
+
### Q10. 文档类镜头的 mock 内容要出版级:原生排版、文字铺满、完整版式入镜
|
|
88
|
+
规则:观众会读清屏幕上每个字——文档/报告类镜头的 mock 必须用产品原生排版灌满真实密度的假内容,侧栏/评论栏等版式元素完整入镜;"贴图+标语"级别的假文档整镜头返工。
|
|
89
|
+
判例:用户:"周报内容的文字要用和现在排版和风格一致的,只是内容mock,文字内容铺满,且要完整展示左边栏和右边评论栏"(模板片中该镜头为周报页)。初版"贴图+标语"级假文档被整镜头重做,最终版为原生排版全量 mock、双栏完整入镜。
|
|
90
|
+
自检:暂停在文档镜头任意一帧:内容读起来像真的吗?版式(侧栏/评论/页眉)完整吗?
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 声音(S)
|
|
95
|
+
|
|
96
|
+
### S1. 配乐与音效按"片种"选,不按"事件"选:强鼓点电子底 + 电影系 SFX 词汇,禁用游戏 UI 音包
|
|
97
|
+
规则:产品宣传片 SFX 词汇表 = whoosh(运镜)/impact(落地)/riser(铺垫)/sparkle(光效)/transition(转场),禁用游戏 UI 音包(click/pluck/glass 类 tap 音);BGM 选强鼓点、强节奏的电子底(tech-house 类),候选曲必须垫进成片试听——单听曲子无法判断气质。
|
|
98
|
+
判例:用户:"这个配乐和音效都太像游戏了。你帮我找那种鼓点强的,节奏感强的,然后音效要那种典型的产品宣传视频的音效"。用 Mixkit tech-house + whoosh/impact/riser/sparkle 整批替换掉此前引入的全部 Kenney CC0 游戏音;BGM 34 分钟内三易其稿后定稿沿用。
|
|
99
|
+
自检:闭眼只听音轨:像产品发布会预告,还是像手机游戏?BGM 是在成片里试听后选定的吗?
|
|
100
|
+
|
|
101
|
+
### S2. SFX 逐拍钉帧管理;连发音效做双样本交替 + 音量阶梯递减 + 间隔加速,不同响度复读
|
|
102
|
+
规则:SFX 用"帧号 + 音源 + 音量"的声明式表集中管理,逐条注释对应的画面动作,杜绝凭感觉铺音效;同类元素连发时防机枪感靠三招——双样本交替、沿序列音量阶梯递减(如 0.40→0.25 六级)、间隔跟随动画曲线加速,密到糊成一片时让声音淡出成 swoosh(本仓库实证无 playbackRate 变调,防机枪不靠变调)。
|
|
103
|
+
判例:用户:"周报左侧栏的每周出现时可以换个音效,能配合每个周的出现的"(模板片中为周报页)。先立起逐拍钉帧的 SFX 帧号表结构(沿用至成片),再做 pluck 双样本交替、间隔 8→3f 加速,最后把 per-week pop 六连发音量做成 0.40→0.25 阶梯递减。
|
|
104
|
+
自检:每条 SFX 是否钉在具体帧号并注释了对应动作?连发段落听起来是"数得出来的节奏"还是机械复读?
|
|
105
|
+
|
|
106
|
+
### S3. 声音在画面锁定后做;时间线一动,SFX 全表重钉
|
|
107
|
+
规则:BGM/SFX 排在画面结构基本锁定之后;任何改变镜头时长/顺序的修改,收尾动作固定包含"全表 SFX 帧号重对"——音画错位是交付前必查项。
|
|
108
|
+
判例:用户:"改完这些后重新调整音效位置以匹配新的时间线"。据此按新时间线(总长 1085f)重钉全表 SFX;教训链:首版 SFX 钉完 11 小时后画面大改导致全表重钉,三次重钉中两次纯属画面返工的连带成本。
|
|
109
|
+
自检:本轮有没有镜头时长/顺序变化?变了的话 SFX 表逐条重对过了吗?
|
|
110
|
+
|
|
111
|
+
### S4. 拟音优先于装饰音:画面动作配该动作的真实声音,音频裁到与动作严格等长
|
|
112
|
+
规则:画面里发生什么动作就配什么声音(打字画面配键盘声、逐条落入配逐个 pop),泛用 swoosh 盖不住有辨识度的画面动作;长样本按画面段落裁剪(Sequence 截断),时长与动作严格等长。
|
|
113
|
+
判例:用户:"周报页面内容出现的时候可以配打字音效"(模板片中为周报页)。据此给文档页揭示配打字机音,keyboard.mp3 按语境裁 24f/44f 两个用途。
|
|
114
|
+
自检:每个有辨识度的画面动作(打字/点击/落地)有没有自己的拟音?音效有没有拖到动作结束之后还在响?
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 文案(C)
|
|
119
|
+
|
|
120
|
+
### C1. 文案在画面锁定后按最终镜头重写一遍,纯动画段落也配解说
|
|
121
|
+
规则:初稿文案只是占位——画面定稿后对照成片逐镜头重写;纯动画镜头配短解说 caption,不留"哑巴段落"(品牌收尾镜头除外,保持干净)。
|
|
122
|
+
判例:用户:"你根据我现在完整的视频内容,重新写文案的词,我感觉现在的和视频画面不是很匹配,再就是在动画的部分是不是也加一些解说?"。据此重写标题文案,并给实拍镜头补上 caption 解说。
|
|
123
|
+
自检:逐句对照:每句文案和它所在的画面匹配吗?有没有超过 3 秒的无解说动画段落?
|
|
124
|
+
|
|
125
|
+
### C2. 标语写"团队 + 产品功能名 + 具体收益",抽象隐喻词一律具体化
|
|
126
|
+
规则:标语要具体、带产品功能名(Paper Radar / weekly report),避免抽象隐喻词(board/place 类泛化口号);重要功能出场前加一张引导字卡。
|
|
127
|
+
判例:用户逐字改稿:"'All your research, one board' 改成'All team's research, one place to go'…'The morning reading'那句改成'Paper Radar, tailored for your morning reading'";"最后文档页展示前,还应该加个文字画面"(模板片中为周报页)。据此三句逐词替换,并加一张文档页 lead-in 引导字卡。
|
|
128
|
+
自检:每句标语里有没有具体的功能名/收益词?有没有只靠隐喻撑着的句子?
|
|
129
|
+
|
|
130
|
+
### C3. 3D 镜头里的注记文字活在同一 3D 空间:page-space、同透视、斜拍,大字 + 荧光笔 highlight
|
|
131
|
+
规则:给 3D 场景中的主体配画内注记时,文字必须进同一 3D 空间(页面坐标系、同一台相机透视、translateZ 悬浮 + 落影),平面叠字与场景脱节;样式用大衬线字 + 马克笔 highlight 关键词。
|
|
132
|
+
判例:用户:"字在左侧,大一些醒目一下,有highlight,然后字的视角也是3d悬空,并且斜着拍摄的"(第一版平面字卡被否后重做)。改为把 hero-hover 注记放进 3D——页面坐标系斜视、马克笔 highlight。
|
|
133
|
+
自检:3D 镜头里的每块文字:它跟着场景相机动吗,还是贴在屏幕玻璃上?
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 流程(P)
|
|
138
|
+
|
|
139
|
+
### P1. 交付前必须自己渲染截帧逐一检查,不把首检交给用户
|
|
140
|
+
规则:每轮修改后先自行渲染关键帧截图逐一检查(构图/抖动/文字锐度/穿帮),必要时用像素级工具(裁剪放大/两帧 diff)自证,再交用户。
|
|
141
|
+
判例:用户第一次看片即质问:"你自己有截图检查质量吗?镜头视角很差,而且有小抖动不知道怎么回事"。此后管线里长出 crop/diff/measure 自检脚本与 out/qa/ 逐版本静帧归档,双方进入基于帧的评审。
|
|
142
|
+
自检:这一版交出去之前,我自己看过哪些帧?关键镜头有没有截图证据?
|
|
143
|
+
|
|
144
|
+
### P2. 参考素材先逐帧拆解成手法清单,再逐镜头判断适配性,不全局套用
|
|
145
|
+
规则:有参考片先抽帧做 motion breakdown(每个动画/转场/特效的实现方式清单)写进 spec,按项目适配性取舍;图片参考描述的是"某一类镜头"的感觉而非全片风格令——落地前逐镜头判断适不适用,改完自查再交。
|
|
146
|
+
判例:用户:"从原视频里截取尽可能多的帧……加以复现然后适配到我们的项目,不适合的不用强行适配"——把参考片的 motion breakdown 写进 spec 后连续放行;反例:三张参考图被全局套用为统一倾斜机位,被否"做的并不好……回滚"后逐镜头重做。
|
|
147
|
+
自检:参考素材的每个手法有没有"采用/弃用"的显式决定?有没有把一张参考图当成了全片风格令?
|
|
148
|
+
|
|
149
|
+
### P3. 指代含糊的反馈先确认对象;改错了整 commit 干净 revert,不在错误版本上打补丁
|
|
150
|
+
规则:"第一个标题"式模糊反馈先确认所指再动手;落错对象立即整 commit revert 重来;每个改动保持独立 commit 以便干净回滚。
|
|
151
|
+
判例:用户:"不是第一个字卡,我说的是开头和结尾的AI field lab出现的动画"。先理解错、hold 了 card1,8 分钟内干净 revert,再对正确对象重做通过。
|
|
152
|
+
自检:这条反馈的指代对象我确定吗?当前 commit 粒度出了错能一键回滚吗?
|
|
153
|
+
|
|
154
|
+
### P4. 先列功能清单逐一对应镜头;一种动画手法全片只当一次主角,重复镜头/信息一律删
|
|
155
|
+
规则:开拍前列产品功能清单(dashboard/详情/论文/周报/品牌)逐一映射镜头,核心功能漏拍等于返工;一种手法(飞入/堆叠/翻页)全片只当一次主角;剪辑自查按"这个镜头给了什么新信息"过滤,同一素材/信息全片只出现一次,重复即删。
|
|
156
|
+
判例:用户:"其他动画有些同质了。没有充分展示整个网站的特性"、"很不错了,但是没有周报部分的展示?"(模板片中为周报页)——据此补功能镜头;"倒数第二个镜头是重复的项目卡片的镜头,可以去掉了"——据此删掉重复的概览镜头、去重收尾标语。
|
|
157
|
+
自检:功能清单每项都有对应镜头吗?有没有两个镜头在用同一种手法当主角、或讲同一件事?
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# final-review — 成片独立终检
|
|
2
|
+
|
|
3
|
+
独立审查 Agent 使用本清单验证“成片是否符合当前创作模式的制作基准”,并结合
|
|
4
|
+
`aesthetic-rules.md` 检查视觉技术质量。审查 Agent 必须处于干净上下文,不参与
|
|
5
|
+
制作;不要给它制作过程中的理由、辩解、修改历史或预期结论。
|
|
6
|
+
|
|
7
|
+
## 审查输入
|
|
8
|
+
|
|
9
|
+
- 最新成片 MP4 和每镜头关键帧;
|
|
10
|
+
- 创作模式:直接使用模板、自主自由创作或共同创作;
|
|
11
|
+
- 产品视频简报与必须展示的功能;
|
|
12
|
+
- 需求到执行决策表;
|
|
13
|
+
- 共同创作中用户确认、自主自由创作中 Agent 记录的视觉方向、品牌 tokens、
|
|
14
|
+
styleframe(或跳过理由)和禁用风格;模板模式则提供原模板结构与实际替换记录;
|
|
15
|
+
- 功能到镜头映射;
|
|
16
|
+
- 用户指定或 Agent 在设计 spec 中记录的 Gallery 卡名与具体变体;
|
|
17
|
+
- `gallery/api/library.json` 中对应卡片与 `style-key` 记录;
|
|
18
|
+
- 卡片文档定位到的准确 demo TSX 源码;
|
|
19
|
+
- 对应 Gallery 参考样片,或从参考样片抽出的关键帧/contact sheet;
|
|
20
|
+
- 最终分镜、字幕、页面状态和 SFX 计划;
|
|
21
|
+
- 选中的 `references/shots/*.md`;
|
|
22
|
+
- `aesthetic-rules.md`;
|
|
23
|
+
- 数据合规口径。
|
|
24
|
+
|
|
25
|
+
缺少某项输入时标记“无法验证”,不要自行猜测制作基准。索引、卡片文档、
|
|
26
|
+
demo 源码与 Gallery 参考样片互相冲突时,明确报告冲突来源,不自行挑一个当真相。
|
|
27
|
+
|
|
28
|
+
## 检查项
|
|
29
|
+
|
|
30
|
+
### P — 产品目标
|
|
31
|
+
|
|
32
|
+
- P1:产品定位、目标用户和核心卖点是否清楚;
|
|
33
|
+
- P2:成片是否把注意力放在当前模式确认或记录的功能优先级上;
|
|
34
|
+
- P3:是否出现项目不存在、未经确认或容易误导的功能宣称。
|
|
35
|
+
- P4:需求到执行决策表中的执行选择,是否能在分镜、文案、页面状态、音频和素材中
|
|
36
|
+
找到对应落地;不得用固定的“受众/用途→风格”刻板映射替代项目依据。
|
|
37
|
+
|
|
38
|
+
### F — 功能完整性
|
|
39
|
+
|
|
40
|
+
- F1:每个“必须展示的功能”是否至少有一个清楚可辨的镜头;
|
|
41
|
+
- F2:每镜头是否提供新信息,是否存在重复功能或重复 tagline;
|
|
42
|
+
- F3:页面状态是否能让观众理解功能,而不只是装饰性运动。
|
|
43
|
+
|
|
44
|
+
### V — 视觉方向
|
|
45
|
+
|
|
46
|
+
- V1:字体、色板、材质、圆角、光感和信息密度是否符合确认或记录的视觉方向;
|
|
47
|
+
- V2:动效速度、过冲、停留和能量曲线是否符合确认或记录的动效性格;
|
|
48
|
+
- V3:是否偏离制作基准,漂移到 Ink Press、赛博霓虹或其他无关风格;
|
|
49
|
+
- V4:禁用的颜色、效果或品牌特征是否被使用。
|
|
50
|
+
|
|
51
|
+
### S — 镜头卡与 Gallery 变体
|
|
52
|
+
|
|
53
|
+
- S1:功能映射中的镜头卡是否实际出现在对应镜头;
|
|
54
|
+
- S2:用户点名 `卡名 · 样式名` 时,`style-key`、准确 demo TSX 和 Gallery
|
|
55
|
+
参考样片是否指向同一变体,成片是否使用该变体;
|
|
56
|
+
- S3:对照准确 demo TSX 与 Gallery 参考样片,是否保留配方卡/demo 的动作
|
|
57
|
+
语法、关键时值、缓动关系和遮罩时机;
|
|
58
|
+
- S4:是否违反卡片标注的“已知坑/命门”;
|
|
59
|
+
- S5:适配后的产品截图、坐标和品牌 token 是否自然。
|
|
60
|
+
- S6:标为“仅供参考,需要自定义实现”的样式是否得到用户明确点名,并在报告中标注
|
|
61
|
+
其实现风险;标为“缺少预览”的样式是否避免声称与动态样片一致。
|
|
62
|
+
|
|
63
|
+
不要求和 Gallery 样片像素级一致。检查的是运动语法和关键参数是否忠实,同时
|
|
64
|
+
允许为目标产品调整截图、坐标、文案、品牌视觉和必要构图。
|
|
65
|
+
|
|
66
|
+
### B — 分镜一致性
|
|
67
|
+
|
|
68
|
+
- B1:镜头顺序、时长和功能信息是否符合确认或记录的最终分镜;
|
|
69
|
+
- B2:主动作、页面状态、素材来源、字幕、转场和 SFX 是否一致;
|
|
70
|
+
- B3:品牌字标 hold 是否至少 1 秒,批量动效收尾是否至少静止 0.5 秒;
|
|
71
|
+
- B4:是否在最终分镜放行后,无依据地删除、替换或增加关键镜头。
|
|
72
|
+
|
|
73
|
+
### D — 数据与素材安全
|
|
74
|
+
|
|
75
|
+
- D1:是否遵守真实数据、虚构数据或脱敏口径;
|
|
76
|
+
- D2:是否暴露客户、个人、密钥、内部地址或其他敏感信息;
|
|
77
|
+
- D3:表现真实产品页面时是否使用真实截图,而非低质量手搓复刻;
|
|
78
|
+
- D4:截图状态、字体、图片和动态数据是否完整加载。
|
|
79
|
+
- D5:公开演示数据是否有可复核的公开属性;客户、个人、内部、密钥、实时
|
|
80
|
+
或其他敏感数据是否已虚构、脱敏或冻结。
|
|
81
|
+
|
|
82
|
+
### A — 音频与节奏
|
|
83
|
+
|
|
84
|
+
- A1:BGM 是否符合确认或记录的音频方向,音量是否给 SFX 和可选配音留出空间;
|
|
85
|
+
- A2:SFX 是否钉在真实动作关键帧,是否出现明显错位;
|
|
86
|
+
- A3:强节奏音乐的切点误差是否不超过 3 帧;
|
|
87
|
+
- A4:结尾能量峰值和 riser→impact→sparkle 句式是否成立(若分镜采用)。
|
|
88
|
+
|
|
89
|
+
### Q — 视觉技术质量
|
|
90
|
+
|
|
91
|
+
完整执行 `aesthetic-rules.md`。至少检查文字锐度、构图、圆角遮罩、3D 纹理
|
|
92
|
+
清晰度、元素落位、相机抖动、转场接缝、光效廉价感、可读时长和确定性渲染。
|
|
93
|
+
|
|
94
|
+
## 报告格式
|
|
95
|
+
|
|
96
|
+
每条结论使用编号,并给问题附帧号或截图:
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
P1 ✓ 产品定位和核心卖点清楚。
|
|
100
|
+
F2 ✗ 第 340 帧:已确认的知识图谱功能没有出现在成片。
|
|
101
|
+
V3 ✗ 第 420 帧:大面积琥珀纸张材质偏离已确认的深蓝科技方向。
|
|
102
|
+
S2 ✗ 第 515 帧:用户选择 whip-pan,实际实现为 flash-cut。
|
|
103
|
+
Q2 ✗ 第 615 帧:3D 推近后正文文字发糊,见关键帧 f615.png。
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
最后按严重程度列出必须修复项、建议优化项和无法验证项。不要用没有证据的
|
|
107
|
+
“整体不错”代替逐项检查,也不要为了报告好看而全部标记通过。
|