Communitygithub.com

Doctrina de Movimiento (Gateway)

PUERTA DE ENLACE — cárgala PRIMERO antes de componer cualquier animación o video de HyperFrames. La ley de movimiento de alto nivel que hace que un video de múltiples escenas se sienta como UN solo movimiento continuo de cámara, no como una pila de diapositivas animadas de forma independiente.

¿Qué es Doctrina de Movimiento (Gateway)?

Esta habilidad establece la doctrina fundamental de movimiento para HyperFrames, asegurando que las transiciones entre escenas sean fluidas y narrativamente coherentes, en lugar de cortes abruptos que rompan el impulso visual. Define la 'Ley Vectorial', que dicta que la salida de una escena determina la entrada de la siguiente, manteniendo el mismo eje, dirección y velocidad, y evitando la temida inversión de escala en Z. También introduce el concepto de 'Corriente' (por defecto hacia la izquierda) como dirección dominante, reservando otros vectores para significados narrativos específicos (ascenso, zoom, estallido). La habilidad prohíbe el movimiento ocioso (como respiraciones o flotaciones) y exige que cada fase entre entrada y salida esté ocupada por una ruta de movimiento sostenido (revelaciones escenificadas, cámara con intención, vida UI secuenciada, etc.). Incluye un sistema de verificación automatizado ('Seam Gate') que comprueba la consistencia del 'ledger de vectores' (archivo JSON) y garantiza que cada corte cumpla con las reglas de velocidad, dirección y continuidad del portador. Es compatible con HyperFrames y se integra con habilidades técnicas como `cut-the-curve`, `oversized-cursor` y `seam-craft` para la implementación detallada. En resumen, esta habilidad es la guía maestra que transforma animaciones aisladas en una experiencia cinematográfica unificada y con propósito.

Compatible con~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Drama2557/4RealDigital-Video-Studio/tree/HEAD/.agents/skills/motion-doctrine

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Doctrina de Movimiento (Gateway)?

Léela antes de componer cualquier animación. Decide QUÉ sucede en cada costura y cómo se desempeña cada escena; las habilidades técnicas la implementan. Estas reglas anulan las guías de movimiento genéricas / aguas arriba. El fallo que esto previene: escenas creadas de forma aislada — el impulso visual del ojo muere en cada corte, y las escenas se tambalean en su lugar entre la entrada y la salida.

Mapa de rutas

Decisión (esta habilidad)Habilidad de implementación
Elección de transición de costura + parámetros + códigocut-the-curve §1–5 (el catálogo)
Cascadas de entrada de texto / elementocut-the-curve §6 (entrada en cascada)
Reposicionamiento de grupo dentro de la escena (sin corte)cut-the-curve §7 (curva de empuje)
Acción liderada por cursor / inicio de escena / encendido morphoversized-cursor
Mecánicas de renderizado de costura / protector de destello blancoseam-craft
Trabajo de lanzamiento de producto / explicador / títulosuperpone text-beat-economics, brand-faithful, captions-overlay sobre la habilidad aguas arriba

Orden de creación: ledger de vectores (ledger.json) → SELLAR las costuras maestras desde él (scripts/seam-stamp.mjs --ledger ledger.json --write index.html) → ruta de movimiento sostenido por fase → portadores y causas → componer builds → VERIFICAR (scripts/seam-gate.mjs). Crea a mano solo los morphs / match-cuts de nivel A; las costuras selladas pasan la puerta por construcción.


Parte 1 — La Ley de la Costura

La Ley Vectorial

Cómo la Escena A sale determina cómo la Escena B entra: mismo eje, misma dirección, velocidad igualada, corte a mitad del movimiento en ambos lados.

  1. Eje — x sigue siendo x, y sigue siendo y, Z sigue siendo Z. Nunca intercambies ejes a través de un corte.
  2. Dirección — nunca reflejes. En Z, dirección = el SIGNO del cambio de escala: crecer = empujar (cámara hacia adelante), encoger = tirar (cámara hacia atrás). Una salida que retrocede respondida por una entrada que crece desde pequeño es un vector reflejado — la violación más común, porque crecer desde pequeño es la entrada de elemento por defecto.
  3. Velocidad — velocidad inicial de entrada ≈ velocidad final de salida, a través de suavizados reflejados (salida power4.in + entrada power4.out, misma distancia y duración; el lado entrante recoge ≥50% del camino notional). Mecánicas en cut-the-curve.
  4. Fase — el corte cae a mitad del movimiento en AMBOS lados. Detenerse en reposo antes del corte, o comenzar desde el reposo después, es un tiempo muerto.

La Corriente

Cada película elige UNA dirección dominante (por defecto de la casa: IZQUIERDA). Cada costura ordinaria la usa. Otros vectores están RESERVADOS — gastar uno significa algo:

VectorSignificado
La corriente (IZQUIERDA)"siguiente momento" — progreso neutral hacia adelante
Hacia arribaelevación — una conclusión o revelación se eleva sobre lo anterior
Z hacia adelante (zoom a través)empujando más profundo en el mismo pensamiento
Z hacia atrás (zoom inverso)LLEGADA — algo más grande aterriza
Estallido de escala (explosión hacia afuera)dejando un mundo — una superficie explota ante la cámara
  • Nunca ejecutes costuras consecutivas en direcciones opuestas — el ping-pong se lee como un error.
  • Un cambio de dirección necesita una causa visible (clic / rebote / impacto) o un límite de capítulo.

El Ledger de Vectores

Escríbelo antes de crear cualquier línea de tiempo maestra — como ledger.json en la raíz del proyecto (esquema: references/seam-gate.md). Una fila por costura: tiempo de corte, vectores de salida y entrada (eje + dirección firmada; las filas Z llevan el signo de escala), selectores, técnica. La salida y la entrada deben coincidir; si una fila no coincide, arregla el plan, no el suavizado. El verificador comprueba la consistencia de las filas estáticamente antes de cualquier muestreo en tiempo de ejecución.

Portadores

El ojo sigue objetos, no abstracciones. Las costuras más fuertes pasan un portador concreto a través del corte en posición Y velocidad igualadas: un cursor a mitad de camino, un contenedor que se encoge / acopla en el siguiente diseño, una marca que vuela a su ranura exacta, el grupo de palabras de un corte en cascada. Sin portador natural, los héroes de la escena lo llevan (viaje parcial + desvanecimiento temprano, entrada en pleno vuelo). Nunca un fundido cruzado — no tiene portador en absoluto.

Movimiento Causal

Encadena el movimiento para que cada acción sea visiblemente lanzada por la anterior: clic → comprimir → liberar resorte → vuelo → impacto → retroceso → revelación.

  • Los efectos comienzan EN el fotograma causante — misma posición en la línea de tiempo, nunca "poco después".
  • Las reacciones escalan con la masa implícita: los elementos grandes rebotan más lento, los pequeños se rompen rápido.
  • Una fuerza es una licencia para cambiar de dirección; un giro sin causa es un ping-pong.

La Puerta de la Costura (puerta de build — ejecuta el verificador, salida 0 o la costura no está hecha)

node <SKILL_DIR>/scripts/seam-stamp.mjs --ledger ledger.json --write index.html  # generar
node <SKILL_DIR>/scripts/seam-gate.mjs  verify --ledger ledger.json --project .  # verificar

El script (uso + esquema del ledger: references/seam-gate.md) aplica numéricamente, por costura: consistencia de fila del ledger, salida aún en movimiento en el corte, entrada en pleno vuelo (nunca desde el reposo), dirección medida = dirección del ledger, coincidencia de velocidad salida/entrada (WARN), superposición cero (un lado visible por fotograma — el corte no es una disolución), la regla del signo Z (d(escala)/dt mismo signo en ambos lados; las entradas propias de la escena entrante se escanean en busca de lucha de signos), y continuidad del rectángulo portador con la escala de los ancestros incluida. Usa seam-gate.mjs probe --t <cut> para encontrar los selectores de portador reales de cada costura al crear el ledger.

Reglas que el script no puede verificar — aún tuyas:

  1. Las ediciones reabren la costura. Cualquier cambio en el primer/último ~1s de una escena (incluyendo re-timing a un nuevo VO) invalida la auditoría de ese límite — vuelve a ejecutar el verificador.
  2. El audio es el reloj. Ajusta el tiempo de las escenas a las marcas de tiempo reales de la palabra del VO; nunca apresures una lectura para encajar en un espacio. Una regeneración del VO reabre sus costuras.
  3. Trampa del clip-gating (la causa habitual de un FALLO de superposición cero): un clip cuyo data-start precede a su tween de entrada se muestra oculto en su opacidad inicial — establece autoAlpha: 0 inicial Y data-start = el tiempo de corte, nunca antes.

Parte 2 — Rendimiento (la escena sigue funcionando)

Sin bamboleo ocioso

Los bucles senoidales ociosos (respirar, flotar, derivar, pulso de brillo) están PROHIBIDOS como movimiento sostenido — se leen como "el video está esperando". Una escena que termina de entrar con segundos restantes es un error de planificación: añade historia, no bamboleo. Cada fase entre entrada y salida es propiedad de una de estas rutas (nombra la ruta en el plan):

RutaQué es
Revelaciones escenificadasRetén contenido; entrégalo en los ritmos de la narración — el fotograma sigue ganando información (por defecto para ≥2 grupos de contenido)
Cámara con intenciónUn camino de escala+pan mapeado: establecer amplio → viajar → llegar al sujeto
Vida UI secuenciadaEl producto se comporta a lo largo del tiempo: el progreso avanza, el paso se resalta, los contadores marcan
Secuencias animadasLos elementos actúan un compás: una tarjeta se archiva en una pila, un elemento se arrastra, un resultado se ensambla
Acción liderada por cursorUn cursor sobredimensionado guía el ojo a un disparador; su CLIC enciende el siguiente ritmo (oversized-cursor)

Prueba: pausa en cualquier segundo — algo significativo debe estar en pleno vuelo (una revelación aterrizando, la cámara viajando, la UI haciendo lo que la narración dice).

Quietud antes del clímax

Programa una pausa de 0.3–0.75s entre la acción principal y su resultado — la coma dramática. Una escena que salta directamente de la acción al resultado lo pierde.

Intenciones de tiempo

  • Entrada única ≤ ~800ms; acumulación más larga = escalonamiento de múltiples elementos, no un elemento lento.
  • Salida ≈ 75% de la entrada. Excepción: cut-the-curve invierte esto (entrada ~127% de la salida).
  • Escalonamiento total ≤ 500ms; con 8+ elementos, aprieta el retraso por elemento o escala los primeros.
  • Suavizados prohibidos: bounce.out / elastic.out. El sobreimpulso de entrada back.out(1.4–1.7) está bien.
  • Elementos similares comparten una intención de suavizado + duración — nunca un par único por elemento.

Vocabulario de transición

Usa solo 2–3 transiciones entre escenas por película y repítelas; el límite por defecto es cut-the-curve en la dirección de la corriente. Los morphs de elementos compartidos escritos a mano (intent: morph) no cuentan para el presupuesto.


Anti-Patrones

No hagasEn su lugar
Crear la entrada de cada escena de forma aisladaEscribe el ledger de vectores primero
Fundido cruzado entre escenasCut-the-curve en la dirección de la corriente
La salida se completa, LUEGO la escena cambiaCorta a mitad del movimiento en ambos lados
La entrada comienza desde el reposo después de un corteEntra ≥50% del camino notional
Salida de zoom inverso → entrada creciendo desde pequeño (o empujón → retracción sobredimensionada)Iguala el signo de velocidad de escala (Puerta de la Costura 7)
La propia introducción emergente de la escena entrante bajo un traspaso de costura ZMantén su fotograma de apertura compuesto, o iguala el signo
Bamboleo ocioso / respirar / flotar para llenar tiempoAsigna una ruta de movimiento sostenido; o añade historia
Giro de dirección sin causaGasta una fuerza, o mantén la corriente
Vectores reservados usados como variedadPor defecto a la corriente; gástalos en significado
Reacción unos pocos fotogramas después de su causaEncendido en el mismo fotograma
La acción salta directamente al resultadoPrograma quietud antes del clímax (0.3–0.75s)

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Drama2557/4RealDigital-Video-Studio

Overlay doctrine for the embedded-captions workflow — the caption MODEL (drop / rail / embed) and the rule that captions are an OVERLAY composited on top of the film, never a reserved bottom band you shift content up to avoid. Load when adding captions/subtitles to a talking-head or launch video, when deciding whether a phrase should be dropped, ride the verbatim rail, or be promoted to a scarce embedded climax, when laying out a composition that will carry captions (do NOT reserve a keep-out band), or when centering a composition on the true frame center under captions. Quotes the rail+embed model from embedded-captions and constraint #13 (captions overlay, keep-out band retired) from the product-launch-video scene agent. Applies ON TOP of embedded-captions.

Drama2557/4RealDigital-Video-Studio

Turn a weekly changelog .md into a finished branded changelog video (square 1080, ~45-60s, Annie VO, animated brand background, mock-UI visualizations, lowkey captions). Use when the user provides a changelog/digest markdown and wants the weekly video, or says "changelog video". Self-contained — fonts, background, lexicon, and scripts ship in this skill.

Drama2557/4RealDigital-Video-Studio

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]

Drama2557/4RealDigital-Video-Studio

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet `anchor` rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.

Drama2557/4RealDigital-Video-Studio

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

Drama2557/4RealDigital-Video-Studio

Author or edit a custom HyperFrames composition when no specialized workflow fits, or when BRIEF.md sets flow: companion. Use for longer or multi-scene pieces, brand and sizzle reels, montages, static loops, static title cards, footage remixes, and freeform builds. Use motion-graphics instead for a short unnarrated motion-first unit, including an animated title. Route fresh creation through hyperframes before using this skill.

Drama2557/4RealDigital-Video-Studio

Use the HyperFrames CLI development loop: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single or batch render, publish, cloud, cloudrun, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. Also use when diagnosing build or render failures. validate, inspect, and layout are deprecated aliases; use check. Covers local, HeyGen-hosted cloud, AWS Lambda, and Google Cloud Run rendering.

Drama2557/4RealDigital-Video-Studio

The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class="clip"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Also covers Tailwind projects and the STORYBOARD.md / SCRIPT.md plan formats. Read before writing composition HTML.

Drama2557/4RealDigital-Video-Studio

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.

Drama2557/4RealDigital-Video-Studio

Install, discover, and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add or hyperframes catalog, installing one item or every block matching a tag, wiring an installed item into index.html, or working with hyperframes.json. Covers discovery, install locations, block sub-composition wiring, component snippet merging, and authoring a new block or component to contribute upstream (idea → scaffold → validate → PR).

Drama2557/4RealDigital-Video-Studio

Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro/camcorder/print/ASCII, needs privacy, or needs a media reveal.

Drama2557/4RealDigital-Video-Studio

A short, design-led motion graphic where motion is the message — kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene → /general-video. Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Turn a music track (an audio file, a video to pull audio from, or a track generated from a mood brief) into a beat-synced video — lyric video, slideshow, or kinetic promo. The music drives all pacing; any user-supplied images/videos are cut onto the same beat grid, and a complete video needs zero assets. Narrated pieces → the input-matched workflow (see /hyperframes). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

Drama2557/4RealDigital-Video-Studio

Turn a GitHub pull request (a PR URL, owner/repo#N, or 'this PR' in a checked-out repo) into a code-change explainer video — changelog, feature reveal, fix, or refactor walkthrough built from the diff, commits, and files: the input is a code change, not a website. Not a product promo (/product-launch-video) or a no-PR topic explainer (/faceless-explainer). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline. Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend. Covers the opaque stage-ground (#root background) white-flash guard and how the injector overlaps wrappers, holds final frames, ping-pongs tracks, and stamps lint-clean template code onto the master timeline. Does NOT contain the per-transition catalog — see the transition registry for individual transition entries.

Drama2557/4RealDigital-Video-Studio

Author a HyperFrames slideshow — a presentation, pitch deck, or interactive deck with discrete slides, fragment reveals, branching, hotspot navigation, and built-in presenter mode with speaker notes; also converts an existing page into a deck. Output is a navigable deck, not a rendered MP4. If the user didn't explicitly ask for a slideshow, confirm before authoring. Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Package an existing talking-head / interview / podcast video with timed, designed GRAPHIC OVERLAY cards — kinetic titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript, on a 16:9 / 9:16 / 4:5 canvas of your choice; the clip plays untouched underneath. Trigger on "graphic overlays", "on-screen graphics", "package / dress up my video". Not plain subtitles (/embedded-captions). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Agent skill / project related to launch or product demo video: Drama2557/4RealDigital-Video-Studio

Skills relacionados