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,197 @@
|
|
|
1
|
+
# guided-free-creation — 共同创作引导流程
|
|
2
|
+
|
|
3
|
+
共同创作模式用于用户希望参与产品短片的关键业务与创意决策。它把产品简报、
|
|
4
|
+
需求决策、视觉方向、镜头映射和最终分镜交给用户确认,把视频工程细节交给
|
|
5
|
+
Agent 执行。自主自由创作不读本文件,也不使用这里的逐阶段确认节点。
|
|
6
|
+
|
|
7
|
+
## 目录
|
|
8
|
+
|
|
9
|
+
- 产品简报与安全素材预检
|
|
10
|
+
- 需求到执行决策表
|
|
11
|
+
- 视觉方向与 styleframe
|
|
12
|
+
- 功能到镜头映射
|
|
13
|
+
- Gallery 镜头名称解析
|
|
14
|
+
- 分镜确认与制作放行
|
|
15
|
+
|
|
16
|
+
## 1. 产品简报
|
|
17
|
+
|
|
18
|
+
先只读检查项目,不写视频代码、不修改业务项目、不采集或导出敏感内容。检查技术栈、
|
|
19
|
+
入口、启动命令、页面路由、主要组件、交互状态、API、页面文案、CSS 视觉 token、
|
|
20
|
+
外部依赖和数据风险,并判断哪些功能能通过真实页面状态清楚表达。
|
|
21
|
+
|
|
22
|
+
输出一张由 Agent 先填写的产品简报表。每一行都必须先给出判断或推荐,
|
|
23
|
+
再写明依据;不要把所有字段原样丢给用户填写。
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
当前阶段:产品理解
|
|
27
|
+
|
|
28
|
+
| 项目 | Agent 的判断或推荐 | 依据 |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| 项目定位 | | |
|
|
31
|
+
| 目标用户 | | |
|
|
32
|
+
| 视频用途 | | |
|
|
33
|
+
| 核心卖点 | | |
|
|
34
|
+
| 必须展示的功能 | | |
|
|
35
|
+
| 可用页面/状态 | | |
|
|
36
|
+
| 首屏主张 | | |
|
|
37
|
+
| 期望时长/画幅/语言 | | |
|
|
38
|
+
| 音乐/配音 | | |
|
|
39
|
+
| 数据合规口径 | | |
|
|
40
|
+
| 视觉线索 | | |
|
|
41
|
+
|
|
42
|
+
需要确认:
|
|
43
|
+
1. 只列出无法从项目或用户已有描述中确定的事项。
|
|
44
|
+
2. 对可以推荐但仍需用户拍板的事项,先写“推荐方案+依据”,再在此处提问。
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
填写规则:
|
|
48
|
+
|
|
49
|
+
- 能从 README、源码、路由、页面状态、文案或 computed styles 确定的,直接填写
|
|
50
|
+
判断和证据,不再询问;
|
|
51
|
+
- 无法完全确定但可以根据项目合理推荐的,填写动态推荐、推荐依据和需要用户
|
|
52
|
+
拍板的选项;
|
|
53
|
+
- 完全无法判断的,明确写“无法从当前材料判断”,只把它放到下方问题中;
|
|
54
|
+
- 每轮只追问 1–3 个最影响视频结果的问题;不显示“置信度”字段;
|
|
55
|
+
- 推荐必须来自当前上传项目或页面,不得使用固定答案。
|
|
56
|
+
|
|
57
|
+
用户确认简报后,先按数据口径进行一次**临时安全素材预检**:只采集制作
|
|
58
|
+
styleframe 所需的少量页面截图或 token,不做完整切片、全量导出或最终素材入库。
|
|
59
|
+
公开演示数据只有在简报明确确认后可保留;客户、个人、内部、密钥、实时或其他
|
|
60
|
+
敏感数据必须先替换、脱敏或冻结。已经明确提供的信息不要重复询问。
|
|
61
|
+
|
|
62
|
+
## 2. 需求到执行决策表
|
|
63
|
+
|
|
64
|
+
把已确认的用户需求、项目证据和 Agent 的执行选择写成同一张可追溯表。它不是
|
|
65
|
+
固定的“受众→风格”规则表:每行都必须写明当前项目与用户材料带来的依据,
|
|
66
|
+
并允许 Agent 提出与常见套路不同的推荐。
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
当前阶段:从需求到制作决策
|
|
70
|
+
|
|
71
|
+
| 已确认需求 | 项目/用户依据 | 受影响的执行范围 | Agent 推荐 | 需要确认项 |
|
|
72
|
+
|---|---|---|---|---|
|
|
73
|
+
| 视频用途 | | 叙事结构、信息量、CTA | | |
|
|
74
|
+
| 目标受众及其情境 | | 场景、语言、节奏、功能优先级 | | |
|
|
75
|
+
| 核心卖点与必须展示功能 | | 页面状态、镜头、文案 | | |
|
|
76
|
+
| 时长/画幅/语言 | | 镜头数、字幕密度、构图 | | |
|
|
77
|
+
| 音乐/配音 | | 节奏、停顿、SFX 留白 | | |
|
|
78
|
+
| 数据合规口径 | | 采集、mock、打码、终检 | | |
|
|
79
|
+
| 视觉方向 | | tokens、材质、转场语气 | | |
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
表只记录对当前视频会产生实际影响的项。无法确定的项保留在“需要确认项”,
|
|
83
|
+
每轮合计只问 1–3 个;已经确认的项不得再次提问。后续的视觉方向、镜头映射、
|
|
84
|
+
分镜、素材采集、声音设计与终检都必须能追溯回此表,并在设计 spec 中保存。
|
|
85
|
+
|
|
86
|
+
## 3. 视觉方向
|
|
87
|
+
|
|
88
|
+
从页面、源码或 computed styles 提取字体、色板、圆角、信息密度、光感和动效
|
|
89
|
+
性格。视觉方向分两轮确认:
|
|
90
|
+
|
|
91
|
+
1. 先给出最多 3 个根据当前项目生成的文字方向。每个方向说明:名称、一句话
|
|
92
|
+
视觉主张、3–5 个关键词、字体/色彩/材质、镜头运动性格、适合原因和取舍。
|
|
93
|
+
只有产品确实适合纸张、编辑部或叙事质感时,才把 Ink Press 列为候选;不能
|
|
94
|
+
因为仓库里有它就固定加入。
|
|
95
|
+
2. 用户选出 1–2 个入围方向,或明确授权 Agent 自选。对入围方向制作一个纯
|
|
96
|
+
HTML/CSS 的实际 styleframe 对比页:每个方向展示 2–3 张 1920×1080 的
|
|
97
|
+
静态关键画面(例如品牌开场、核心功能、品牌收尾),使用当前产品的真实
|
|
98
|
+
页面素材或已提取的视觉 token,不写 Remotion 代码、不渲染完整视频。
|
|
99
|
+
3. 用 Playwright/Puppeteer 截出 styleframe 对比图,展示并列方向的字体、色板、
|
|
100
|
+
材质、构图、光感和信息密度。用户确认最终方向后,才能进入功能到镜头映射。
|
|
101
|
+
|
|
102
|
+
Styleframe 用来确认静态视觉语言,不能单独证明缓动、运镜速度或节奏;这些仍需
|
|
103
|
+
结合动效 tokens、Gallery 参考样片判断。若动效差异无法靠文字和样片判断,再做
|
|
104
|
+
短的运动测试。用户已经提供严格品牌规范、明确参考片、直接选定 Ink Press,或
|
|
105
|
+
明确授权 Agent 自选并跳过视觉确认时,可以记录理由后跳过 styleframe 对比。
|
|
106
|
+
|
|
107
|
+
## 4. 功能到镜头映射
|
|
108
|
+
|
|
109
|
+
先列产品功能,再扫描 `references/shots/` 各卡 frontmatter 的用途、能量、建议
|
|
110
|
+
时长和限制。给每个必须展示的功能推荐首选和备选镜头:
|
|
111
|
+
|
|
112
|
+
| 功能 | 首选镜头 | 备选镜头 | 画面要表达什么 | 需要的页面状态 |
|
|
113
|
+
|---|---|---|---|---|
|
|
114
|
+
|
|
115
|
+
用户可以接受、替换、删除或授权 Agent 自选。确定映射后,必须完整读取选中卡片,
|
|
116
|
+
并按其“参考实现”定位准确 demo 源码;没有合适镜头时可以新写,但要说明新写范围
|
|
117
|
+
和验证风险。Gallery 标为“仅供参考,需要自定义实现”的样式不默认推荐;用户明确
|
|
118
|
+
点名后才允许自定义实现,并把风险写进设计 spec。
|
|
119
|
+
|
|
120
|
+
这张映射表不是完整分镜,不得在用户确认映射后直接开始制作。它只确定“哪个
|
|
121
|
+
产品功能使用哪一种镜头语法”,之后还必须进入第 5 节,展开镜头顺序、时长、
|
|
122
|
+
页面状态、具体动作、素材、字幕、转场和声音。
|
|
123
|
+
|
|
124
|
+
## 5. Gallery 镜头名称解析
|
|
125
|
+
|
|
126
|
+
Gallery(https://vincentwei1021.github.io/video-shotcraft/)只是用户浏览和挑选
|
|
127
|
+
动态样片的界面,镜头定义和实现源码已经包含在本仓库。用户不需要描述动画,
|
|
128
|
+
只需复制并提供镜头名。
|
|
129
|
+
|
|
130
|
+
收到镜头名后按以下顺序处理:
|
|
131
|
+
|
|
132
|
+
1. 读取 `gallery/api/library.json`,用其中的 `cards[].name` 校验 `card-name`,
|
|
133
|
+
用该卡的 `styles[].key` 校验 `style-key`;不要用模糊猜测代替索引校验;
|
|
134
|
+
2. 用索引中的 `source` 定位并完整读取 `references/shots/*.md`;
|
|
135
|
+
3. 按卡片“参考实现”的明确路径,把具体样式解析到准确的 demo TSX;若文档只写
|
|
136
|
+
demo 目录,读取目录文件并根据导出名、注释和样式语义确定对应文件;
|
|
137
|
+
4. 将索引中的 `styles[].media.url` 解析为本地 `gallery/media/` 参考样片,并在
|
|
138
|
+
设计 spec 记录:卡名、style-key、卡片文档、准确 demo TSX、参考样片;
|
|
139
|
+
5. 如卡片需要通用组件,再读取并复制 `assets/lib/` 的对应文件;
|
|
140
|
+
6. 保留 demo 中已经调校的缓动、时值配比、遮罩时机和“已知坑/命门”参数;
|
|
141
|
+
7. 只替换目标产品的截图、布局坐标、文案、品牌 token 和必要的构图参数。
|
|
142
|
+
|
|
143
|
+
Gallery 可能复制出两种形式:
|
|
144
|
+
|
|
145
|
+
```text
|
|
146
|
+
spotlight-hero-card
|
|
147
|
+
shot-transitions · whip-pan
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
- 只有卡名:使用卡片默认变体;如果同一卡的多个变体表达差异明显,Agent 先按
|
|
151
|
+
前后镜头和产品气质推荐一个具体变体,并说明原因,必要时让用户确认。
|
|
152
|
+
- `卡名 · 样式名`:优先使用用户点名的具体变体,读取对应实现,不擅自换式。
|
|
153
|
+
- 名称不存在:报告无法匹配,并给出仓库中最接近的真实卡名;不要凭名字臆造。
|
|
154
|
+
- 索引标为“仅供参考,需要自定义实现”:不主动推荐;用户明确点名后,明确说明
|
|
155
|
+
该样式没有可复用的完整实现,按配方参数和参考样片制作,并把实现风险写进设计 spec。
|
|
156
|
+
- 索引标为“缺少预览”:可读取准确源码并用于制作,但不得声称已对照动态样片。
|
|
157
|
+
|
|
158
|
+
严禁只根据卡名含义重新写一套近似动画。卡片文件提供语义,demo 源码才是参数
|
|
159
|
+
真相。用户选中多个镜头后,把它们与产品功能映射,再继续生成完整分镜。
|
|
160
|
+
|
|
161
|
+
## 6. 分镜确认
|
|
162
|
+
|
|
163
|
+
把确认的功能和镜头组合成分镜,并至少包含:
|
|
164
|
+
|
|
165
|
+
```text
|
|
166
|
+
| # | 时间/帧 | 功能信息 | 镜头卡 | 主动作 | 素材来源 | 字幕/SFX |
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
检查每镜只讲一个主要动效,品牌字标 hold 至少 1 秒,批量动效收尾至少静止
|
|
170
|
+
0.5 秒,避免重复 tagline 或让同一种动效反复当主角。用户确认分镜与最终设计 spec
|
|
171
|
+
后,二者共同构成**制作放行**:不重新打开此前已确认的业务或创意问题,只补实现
|
|
172
|
+
必要的未决项。此时再做最终全量素材采集(整页 2x 截图、元素切片、layout.json),
|
|
173
|
+
把批准分镜转成帧级时间轴,再进入 `pipeline.md` 阶段 4 的最终素材采集、阶段 5
|
|
174
|
+
逐镜头实现、阶段 6 声音设计和阶段 7 终检。
|
|
175
|
+
|
|
176
|
+
将用户确认后的产品简报、需求到执行决策表、视觉方向/tokens、styleframe 或跳过理由、
|
|
177
|
+
功能到镜头映射、Gallery 卡名与具体变体、最终分镜和数据合规口径保存为稳定的设计 spec
|
|
178
|
+
(或在终检交接时完整提供),作为 `final-review.md` 的审查基准。不要让独立
|
|
179
|
+
审查 Agent 依赖零散聊天记录猜测用户确认过什么。
|
|
180
|
+
|
|
181
|
+
## 默认与跳过规则
|
|
182
|
+
|
|
183
|
+
用户授权 Agent 全权决定时,仍须根据产品内容动态推导:从视觉 token 生成方向,
|
|
184
|
+
从核心功能与页面状态选择镜头,从发布渠道、功能数量和阅读密度推荐时长/画幅/
|
|
185
|
+
语言,从品牌能量与节奏推荐音乐。只有项目和用户描述都没有相关线索时,才使用
|
|
186
|
+
30–38 秒、1920×1080 作为兜底。数据口径按项目风险决定:公开演示数据可沿用,
|
|
187
|
+
客户、个人或内部数据改用虚构/脱敏内容。首次整片渲染前仍需提交分镜备案,除非
|
|
188
|
+
用户明确要求不看中间产物。
|
|
189
|
+
|
|
190
|
+
## 每轮回复格式
|
|
191
|
+
|
|
192
|
+
```text
|
|
193
|
+
当前阶段:
|
|
194
|
+
已确认:
|
|
195
|
+
本轮需要确认:
|
|
196
|
+
确认后交付:
|
|
197
|
+
```
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# music-beat-sync — BGM 节奏分析与卡点方法论
|
|
2
|
+
|
|
3
|
+
强节奏 BGM 的片子,**所有转场和关键动效必须落在拍上**。本文档给出从
|
|
4
|
+
"拿到一首曲子"到"成片切点误差 ≤3 帧"的完整可复现流程。实测:一支
|
|
5
|
+
70s、18 镜、131.97 BPM 的强鼓点宣传片按此法制作,渲后回测全部切点
|
|
6
|
+
误差 ≤2.2f(感知阈值约 3f)。
|
|
7
|
+
|
|
8
|
+
## 目录
|
|
9
|
+
|
|
10
|
+
- 何时启用
|
|
11
|
+
- 节拍网格测定
|
|
12
|
+
- 鼓点与重音定位
|
|
13
|
+
- 用拍号编排时间线
|
|
14
|
+
- 渲后回测
|
|
15
|
+
- 工具备忘
|
|
16
|
+
|
|
17
|
+
## 0. 何时启用
|
|
18
|
+
|
|
19
|
+
阶段 0 先检查用户是否已指定音乐。
|
|
20
|
+
- 已选好 → 走本文档:先分析节奏,再让分镜的每个切点/动效锚到拍号
|
|
21
|
+
- 未选 → BGM 选型放到阶段 6(见 pipeline.md),此时动效时间线按
|
|
22
|
+
内容节奏排,不强行卡点
|
|
23
|
+
|
|
24
|
+
## 1. 节拍网格测定(不要相信 beat_track 的 tempo 标量)
|
|
25
|
+
|
|
26
|
+
用 `uv run --with librosa --with scipy --python 3.11` 跑一次性脚本:
|
|
27
|
+
|
|
28
|
+
```python
|
|
29
|
+
import numpy as np, librosa
|
|
30
|
+
|
|
31
|
+
y, sr = librosa.load("bgm.mp3", sr=None, mono=True)
|
|
32
|
+
tempo, beats = librosa.beat.beat_track(y=y, sr=sr, tightness=400, units="time")
|
|
33
|
+
|
|
34
|
+
# 关键一步:对 beat 序列做最小二乘等距网格拟合,求真实 BPM 与相位。
|
|
35
|
+
# beat_track 返回的 tempo 标量可能偏差 2%+(实测 129.2 vs 真值 131.97),
|
|
36
|
+
# 但它输出的 beat 时刻序列本身是好的——用整个序列拟合直线 t_i = t0 + i*T:
|
|
37
|
+
i = np.arange(len(beats))
|
|
38
|
+
A = np.vstack([i, np.ones_like(i)]).T
|
|
39
|
+
(T, t0), *_ = np.linalg.lstsq(A, beats, rcond=None)
|
|
40
|
+
bpm = 60.0 / T
|
|
41
|
+
residual = beats - (t0 + i * T)
|
|
42
|
+
print(f"BPM={bpm:.2f} t0={t0:.4f}s T={T:.5f}s 残差±{np.abs(residual).max()*1000:.0f}ms")
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
验收标准:残差 ≤ ±15ms(半帧内)说明曲子是机器鼓点、网格可信;
|
|
46
|
+
残差大说明有变速段,需要分段拟合。
|
|
47
|
+
|
|
48
|
+
## 2. 鼓点/重音定位(决定大 slam 钉在哪一拍)
|
|
49
|
+
|
|
50
|
+
```python
|
|
51
|
+
from scipy.signal import butter, sosfilt
|
|
52
|
+
sos = butter(4, [40, 160], btype="band", fs=sr, output="sos") # kick 频段
|
|
53
|
+
kick = sosfilt(sos, y)
|
|
54
|
+
env = librosa.onset.onset_strength(y=kick, sr=sr)
|
|
55
|
+
times = librosa.times_like(env, sr=sr)
|
|
56
|
+
# 把每个整数拍位置的 env 能量列出来,排序找最强 hit:
|
|
57
|
+
for n in range(int((times[-1]-t0)/T)):
|
|
58
|
+
t = t0 + n*T
|
|
59
|
+
e = env[np.argmin(np.abs(times - t))]
|
|
60
|
+
# 记录 (拍号 n, 能量 e),取 top 若干作为"大 slam 候选拍"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
产出两样东西进设计 spec:
|
|
64
|
+
- **音乐结构表**:能量从第几拍起满、breakdown/静默段在第几拍——
|
|
65
|
+
分镜的能量曲线要贴着它排(breakdown 处放品牌呼吸位是天然结构)
|
|
66
|
+
- **最强 hit 拍号清单**:全片 2–3 个最大 slam(开题/高潮/收尾)
|
|
67
|
+
必须钉在这些拍上
|
|
68
|
+
|
|
69
|
+
**易错点(实测踩过)**:最大 slam 钉在了 b52.5(两拍之间)而最强
|
|
70
|
+
kick 在整数拍 b52 上,渲后回测偏差 +5.75f。强鼓点曲的重音几乎总在
|
|
71
|
+
整数拍上,半拍钉点必须有 env 数据支持,不能凭听感。
|
|
72
|
+
|
|
73
|
+
## 3. 时间线用拍号写,不用帧号写
|
|
74
|
+
|
|
75
|
+
Remotion 项目里把网格常量化,一切镜头边界/动效关键帧用 `beatF()` 表达:
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
export const FPS = 30;
|
|
79
|
+
export const BEAT0 = 0.2244; // t0,秒
|
|
80
|
+
export const BEAT_INT = 0.45465; // T,秒
|
|
81
|
+
export const beatT = (n: number) => BEAT0 + n * BEAT_INT; // 拍→秒
|
|
82
|
+
export const beatF = (n: number) => Math.round(beatT(n) * FPS); // 拍→帧
|
|
83
|
+
|
|
84
|
+
export const SHOTS = {
|
|
85
|
+
s0_open: { from: 0, to: beatF(8) },
|
|
86
|
+
s1_slam: { from: beatF(8), to: beatF(16) },
|
|
87
|
+
// …每个镜头边界都是 beatF(整数拍);镜头内部动效用局部拍:
|
|
88
|
+
};
|
|
89
|
+
export const localBeat = (shot: {from: number}, n: number) => beatF(n) - shot.from;
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
好处:换曲/换段落时改两个常量全片重排;SFX 钉帧表也写 `beatF(n)`,
|
|
93
|
+
与画面共用同一事实源,永不错位。
|
|
94
|
+
|
|
95
|
+
设计规矩:
|
|
96
|
+
- 镜头时长以拍为单位(4/8 拍一镜),加速段可用半拍/四分之一拍阶梯
|
|
97
|
+
(如 CUT_BEATS = [48, 49.5, 50.5, 51, 51.25] 的收敛逼近)
|
|
98
|
+
- 每拍一动作的步进类镜头(清单逐项、马赛克逐格)直接 map 拍号
|
|
99
|
+
- BGM 鼓点已密时 SFX 克制:只钉画面独有动作,大 slam 只给 2–3 处,
|
|
100
|
+
其余让位给 BGM 的鼓
|
|
101
|
+
|
|
102
|
+
## 4. 渲后回测(闭环,必做)
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
ffmpeg -i out/promo.mp4 -vn -acodec pcm_s16le /tmp/render-audio.wav
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
对渲出音轨重跑第 1 步的网格拟合(BGM 从视频里量,不从源文件量——
|
|
109
|
+
这样连音频编码/对齐偏移一起验),然后逐一对比:
|
|
110
|
+
**设计切点帧号 vs 最近测得拍的帧号**,输出误差表。
|
|
111
|
+
|
|
112
|
+
| 判定 | 误差 |
|
|
113
|
+
|------|------|
|
|
114
|
+
| 合格 | ≤3f(感知阈值) |
|
|
115
|
+
| 理想 | ≤1.5f |
|
|
116
|
+
| 必修 | >3f 的任何切点 |
|
|
117
|
+
|
|
118
|
+
误差超标的钉点回第 3 步改拍号或帧偏移,重渲再测,直到全表合格。
|
|
119
|
+
|
|
120
|
+
## 5. 工具备忘
|
|
121
|
+
|
|
122
|
+
- librosa 不在系统 python:`uv run --with librosa --with scipy --python 3.11 script.py`
|
|
123
|
+
- 只有人声/复杂编曲的曲子 beat_track 会漂:先用 `librosa.effects.hpss`
|
|
124
|
+
分离打击成分再测
|
|
125
|
+
- 变速曲(DJ 转场、accelerando):按能量段分段拟合,各段各自 t0/T
|