Communitygithub.com

remotion-reference-fidelity

Capa de fidelidad de referencia: análisis de referencia, reproducción y generalización gramatical. Palabras clave: referencia, reproducción de estilo, alineación con referencia, compuerta de fidelidad. Para diseño sin referencia, usar rd-noref.

¿Qué es remotion-reference-fidelity?

Esta habilidad de IA agente define la metodología para reproducir fielmente la lógica argumental y el ritmo de un video de referencia, evitando rediseños visuales que alteren el significado semántico. Se basa en el análisis de la referencia para construir un mapa de movimiento, seleccionar una gramática de escena validada entre seis opciones (como diagnóstico-evidencia, cita-impacto, o credenciales progresivas) y generar una superposición MG que respete la jerarquía de opacidad, los tiempos y la evidencia original. La habilidad incluye compuertas de fidelidad obligatorias, como comparaciones estáticas y dinámicas, y una auditoría independiente. Está diseñada para integrarse con el pipeline de koubo (Remotion), trabajando sobre composiciones horneadas, y utiliza tokens de diseño del sistema existente. Es complementaria a las habilidades de ensamblaje y diseño de Remotion, y no debe aplicarse para crear videos desde cero sin referencia (eso es responsabilidad de rd-noref).

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jincheng2026/jc-remotion-skills/tree/main/skills/remotion-reference-fidelity

Preguntar en tu IA favorita

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

Documentación

Marco de estilo MG de referencia

Construye un sistema de movimiento transferible, no un dibujo único. Preserva la lógica de información de la referencia, la jerarquía de evidencia, el ritmo y el rol editorial antes de pulir los detalles visuales.

Posición en el sistema actual

Esta habilidad es la capa de metodología de fidelidad de referencia, no una línea de producción paralela. El pipeline de koubo y sus fuentes de verdad poseen los números concretos; este archivo solo posee "cómo leer fielmente una referencia y reproducir su lógica argumental". Deferir a ellos y nunca reafirmar sus valores aquí:

  • fps / resolución / recuentos de fotogramas → remotion-assembly SKILL §0 (combinar fps/resolución con material, ffprobe primero, no asumir 60fps) + remotion-design-system references/motion.md §0 (segundos primero, luego fotogramas, composición real a 30fps) + specs.md (fuente de especificaciones real). No codificar 60 fps ni 4K aquí.
  • tokens de diseño (color / tipo / cuadrícula / radio / zona segura) → remotion-design-system SKILL §1 + typography.md / texture.md.
  • modelo de toma de control → layout.md (toma de control de material de grado A; grado B más oscuro y PiP han sido rechazados por el usuario, la toma de control siempre implica la salida completa de la persona).
  • micro movimiento persistente → motion.md §8/§9 (el protagonista siempre debe incluir <Breathe>; cada capítulo ≥1 movimiento perceptible a simple vista).

Línea de producción: la entrega actual de koubo está horneada — OffthreadVideo de base + MG horneada en una sola composición (Koubo071501.tsx / scenes/SceneNN.tsx), revisada como mp4 horneado y finalizada a través de la cadena de masterizado (assembly §4/§6). El lenguaje de "superposición alfa transparente / vista previa de tablero de ajedrez / master alfa" a continuación describe un modo de entrega alfa opcional solamente; al entregar en la línea de koubo, leer "vista previa de tablero de ajedrez" como "vista previa horneada" y "master alfa" como "master horneado + cadena de masterizado".

Principio no negociable

Tratar el MG como una capa argumental adjunta al discurso:

  1. Identificar la afirmación de la oración.
  2. Elegir la estructura visual mínima que la demuestre o aclare.
  3. Mantener al hablante visualmente dominante a menos que la edición deliberadamente se convierta en una toma de control de material.
  4. Cambiar de estado solo cuando el significado hablado cambie.

No inventar una escena visualmente más bonita pero semánticamente diferente. Un rediseño visualmente pulido es una réplica fallida si su evidencia, secuencia de estados o función editorial difieren de la fuente.

Seleccionar una gramática de escena

Usar una de estas gramáticas validadas, luego adaptar el contenido y el ritmo:

  • Diagnóstico persistente + evidencia transitoria: mantener las tarjetas de riesgo/lista de verificación estables mientras aparece brevemente una captura de pantalla real y se va.
  • Proceso estable + oración sucesora: mostrar el pipeline completo como un estado establecido, luego reemplazarlo con una breve conclusión en el límite de la frase.
  • Evidencia + veredicto retrasado: dejar que una tarjeta de evidencia real se vaya primero; introducir el sello de veredicto solo después de que la audiencia haya leído los números.
  • Exposición multi-toma: usar composición -> solo capítulo -> identidad -> toma de control de material; no aplanar tomas distintas en un solo tablero.
  • Prueba de cita + impacto cuantitativo: captura de pantalla de cita real, anotación, conteo medido, palabra clave enfatizada, luego chip del hablante/fuente.
  • Estado del sistema + credenciales progresivas: mantener la matriz central y revelar solo las credenciales mencionadas en el discurso.

Estas seis son gramáticas de reproducción de referencia. El propio sistema nativo de ritmos del ensamblaje de koubo (sistema de etiquetas laterales / campamentos rojo-verde / momento de impacto / hook·CTA / juicio elevado) vive en remotion-assembly references/narrative.md — usarlo al crear un nuevo video de koubo, no duplicarlo aquí.

Analizar antes de codificar

Para cada segmento de referencia:

  1. Verificar el archivo fuente correcto y el rango de tiempo exacto. Verificar candidatos cuando los nombres de archivo sean ambiguos.
  2. Extraer fotogramas al inicio, cada límite semántico, cada punto medio de transición y al final.
  3. Escribir un mapa de movimiento con el tiempo absoluto de la fuente, el fotograma local, las capas visibles, las capas que entran/salen y la frase hablada que causa el cambio.
  4. Separar el MG real de los subtítulos, el metraje del presentador, el material B-roll y la siguiente toma editorial.
  5. Medir anclajes, límites, opacidad y duración a partir de los fotogramas fuente. Marcar las estimaciones explícitamente.
  6. Usar capturas de pantalla reales, personas, logotipos, artículos y clips de noticias cuando la referencia se base en evidencia. No dibujar a mano una interfaz de evidencia falsa.

Si el mapa de movimiento es incierto, detenerse antes de la implementación y recopilar más fotogramas.

Construir la superposición

  • Coincidir con los fps y la resolución del proyecto — koubo: base 1080p, composición 30fps; ffprobe primero, no asumir 60fps/4K (Nota de posición; error #19). La salida 4K es ×2 de la base 1080p según design-system §1.
  • El modo de entrega decide el fondo: horneado (koubo por defecto) compone MG sobre el OffthreadVideo de base en una sola composición; el modo alfa mantiene el fondo de render transparente y envía una composición separada de vista previa de tablero de ajedrez.
  • Proteger la zona de subtítulos y la cara y manos del hablante (tokens ZONA SEGURA: tarjetas fijas no superan x55%, zona prohibida de subtítulos y>82%, borde inferior de elementos de zona izquierda ≤y840 es más estricto — design-system §1; coordenadas de zona prohibida de persona/zona derecha ver layout.md).
  • Reutilizar la tipografía, color, cuadrícula, radio y tokens de zona segura del proyecto desde src/design/tokens.ts (design-system SKILL §1); no introducir un sistema de diseño paralelo ni reafirmar los valores de los tokens aquí.
  • Almacenar el contenido y el ritmo de la escena en objetos de datos cuando el patrón se vaya a reutilizar.
  • Requerir metadatos evidenceRef rastreables para material real. Asegurar activos fuente importantes con SHA-256 cuando la sustitución silenciosa invalidaría la fidelidad.
  • Preferir cambios cortos de opacidad, posición o escala vinculados al significado (motion.md §6 vocabulario de efectos de tres niveles). Rechazar bucles decorativos, entrada gratuita y sobresalto de resorte (motion.md §11). Esto no es una prohibición de micro movimiento persistente — la referencia respira: el elemento protagonista debe incluir <Breathe>, fases escalonadas, elementos pequeños no lo incluyen (motion.md §9), y cada capítulo lleva ≥1 movimiento en curso legible (motion.md §8). (La lectura anterior de "evitar respiración ambiental" estaba equivocada frente a la fuente y queda reemplazada por motion.md §9).
  • Preservar la jerarquía de opacidad editorial: el HUD del capítulo es nítido; los nombres de apoyo, retratos, líneas de tiempo y evidencia contextual pueden estar más atenuados; la prueba o veredicto actual recibe el mayor contraste.
  • Un clip fuente a pantalla completa es una toma de control editorial opaca (toma de control de material de grado A, layout.md), no una superposición translúcida. Modelarlo como su propia toma/Scene, con la salida del hablante durante toda su duración (salida completa de la persona, sin PiP — layout.md; PiP ha sido rechazado).

Lenguaje de ritmo

  • Comenzar desde el estado actual de la fuente. No reproducir la animación de construcción cuando la referencia comienza ya ensamblada.
  • Mantener la información el tiempo suficiente para leer; el estilo está impulsado por el estado, no en constante movimiento.
  • Entradas/salidas pequeñas son ~0.1-0.3s; convertir a fotogramas en los fps reales de la composición (segundos primero, luego fotogramas, motion.md §0 — koubo 30fps → ~3-9 fotogramas). Medir desde la fuente cuando sea posible (specs.md fuente de especificaciones). Nunca llevar un recuento de fotogramas de 60 fps a una composición de 30 fps (error #19).
  • Permitir escalonamiento solo cuando se corresponda con una enumeración hablada.
  • Dejar que la evidencia anterior se vaya antes de un veredicto o una oración sucesora cuando la referencia lo haga.
  • Preservar las superposiciones y revelaciones retrasadas. Nunca reemplazar una secuencia de fundido/superposición con un corte brusco por conveniencia.
  • Terminar en el límite MG verdadero. No estirar un gráfico de 1,2 segundos sobre metraje B-roll no relacionado.

Compuertas de fidelidad obligatorias

Pasar cada compuerta en orden:

  1. Mapa de movimiento: secuencia de estados verificada por la fuente y límites.
  2. Compuerta estática: 3-6 fotogramas de fuente frente a réplica en momentos coincidentes.
  3. Compuerta dinámica: un pequeño H.264 lado a lado — fuente a la izquierda, nuestro render a la derecha (horneado para koubo; vista previa de tablero de ajedrez en modo alfa).
  4. Auditoría independiente: otro revisor verifica el ritmo, la geometría, la jerarquía de opacidad, los activos reales y los estados adicionales/faltantes. Cualquier dimensión <7 o con una infracción de nivel FALLO = devolver (mg-judge + rubric.md, assembly §2.5).
  5. Liberación de master: renderizar el master final solo después de que la comparación dinámica y la revisión dinámica final del usuario pasen (la sensación de movimiento es un punto ciego de los fotogramas estáticos de IA, la liberación del master incluye la revisión final del usuario — assembly §2.5 compuerta ③; mp4 horneado → cadena de masterizado para koubo, assembly §6; master transparente en modo alfa).

El hilo de implementación no debe auto-certificarse. Una coincidencia de imagen estática no puede aprobar el ritmo del movimiento.

Disciplina de render

  • Usar --bundle-cache=false después de ediciones de código cuando los bundles de Remotion obsoletos podrían ocultar cambios (error #02: ○ = reutilizar imagen antigua).
  • Renderizar vistas previas pequeñas para revisión — 1080p --scale=0.5, o el servicio de renderizado node scripts/render-service.cjs segment|stills|qc (assembly §6); una composición de tablero de ajedrez solo en modo alfa.
  • Para una reparación de ritmo estrecha, renderizar solo el rango de fotogramas afectado (--frames=a-b), no la composición completa.
  • Mantener las vistas previas de revisión pequeñas; nunca renderizar un master grande de forma especulativa (zona minada "ejecutar automáticamente 4K render"; los renders solo se inician según el rango confirmado por el usuario/plan).
  • Renderizar el master final solo para una composición aprobada y el códec de entrega solicitado; los renders largos van nohup … & disown, reconocer línea + de registro (error #09).

Patrones de fallo a rechazar

  • Rediseño semántico presentado como replicación.
  • Tarjetas abstractas que reemplazan capturas de pantalla reales o evidencia de noticias.
  • Primer fotograma de aspecto correcto con estados posteriores incorrectos.
  • Identidad, veredicto o conclusión que aparece antes de su señal hablada.
  • Grupos enteros que salen cuando la referencia mantiene una capa de anclaje persistente.
  • Nuevas etiquetas, taxonomías, sellos o conclusiones ausentes en la referencia. (El <Breathe> persistente del protagonista está ordenado por motion.md §9 y no se cuenta como un elemento inventado — no eliminarlo para coincidir con un fotograma estático de apariencia estática.)
  • Evidencia agrandada hasta que compite con el hablante.
  • Subtítulos o metraje del presentador horneados accidentalmente en un activo destinado a reutilización.
  • Una aprobación declarada sin comparación fuente versus salida.

Generalizar para un nuevo video de persona hablando

Guardia de alcance: esta sección generaliza las seis gramáticas validadas de reproducción de referencia — se aplica solo cuando existe una referencia para seleccionar gramáticas. Diseñar ritmos sin referencia es un camino diferente: remotion-assembly flujo de extremo a extremo paso 4 (selection.md tabla de correspondencia de frases) + references/rd-noref.md (generación de múltiples opciones → panel de jueces → aprobación del usuario ante lagunas gramaticales). No forzar una de las seis gramáticas a contenido que no encaja.

Convertir el guión en ritmos semánticos. Para cada ritmo, llenar:

type MgBeat = {
  claim: string;
  grammar:
    | "diagnosis-evidence"
    | "pipeline-successor"
    | "evidence-verdict"
    | "multi-shot"
    | "quote-punch"
    | "system-credentials";
  startFrame: number; // todos los campos *Frame están a fps de composición (segundos primero, luego fotogramas, motion.md §0); nunca un recuento de 60fps
  endFrame: number;
  cueFrame: number;
  persistentLayers: string[];
  transientLayers: string[];
  evidenceRef?: string;
};

Elegir la gramática a partir de la afirmación, no de palabras clave superficiales. Reemplazar texto, activos y fotogramas de señal mientras se preserva la lógica de estado de la gramática. Si ninguna gramática validada encaja, analizar una nueva referencia y agregar una nueva gramática solo después de que pase las mismas compuertas.

Contrato de finalización

Entregar:

  • La composición entregada — Scene(s) horneadas en la composición de koubo por defecto; un par de Superposición Transparente + Vista Previa de Tablero de Ajedrez solo en modo alfa.
  • Metadatos de evidencia y compuertas de activos donde corresponda.
  • Comparaciones estáticas en tiempo coincidente.
  • Comparación dinámica lado a lado.
  • APROBACIÓN independiente (cualquier dimensión ≥7 y sin infracción de nivel FALLO — mg-judge + rubric.md, assembly §2.5) además de la revisión dinámica final del usuario aprobada.
  • Una nota concisa que explique qué gramática se usó y por qué.

Individual skills in this repo

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

Skills relacionados