Communitygithub.com

ice-motion

Define cómo se mueve todo en las películas y ediciones de Ice Motion Director: desde la gramática de movimiento hasta las curvas de easing, los resortes y las reglas de continuidad.

¿Qué es ice-motion?

El skill **ice-motion** es el motor de movimiento del Ice Motion Director. No construye ni renderiza, sino que escribe el plan de movimiento completo para cada proyecto (película, explicador, remake, edición o Lottie) basándose en el brief y la dirección. Define políticas de pausa, transiciones, cámara, composición y densidad visual, y aplica reglas como 'un movimiento focal a la vez', 'las salidas son más rápidas que las entradas' o 'el contraste es el mensaje'. Está diseñado para trabajar con otros skills (ice-type, ice-audio, ice-qa, ice-engines, etc.) y se invoca desde flujos de trabajo como ice-film o ice-edit. Al final produce un plan de movimiento que otros skills (especialmente ice-qa) verifican antes del render final.

Compatible con~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Omar-Tnzxo/ice-motion-director/tree/main/skills/ice-motion

Preguntar en tu IA favorita

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

Documentación

Ice Motion: arte del movimiento

Este skill decide cómo se mueven las cosas. Es invocado por un flujo de trabajo (ice-film, ice-explainer, ice-remake, ice-edit, ice-lottie) después de que existen el brief y la dirección. Escribe el plan de movimiento; nunca construye ni renderiza.

1. Qué posee este skill y a qué apunta

PoseeApunta a
Trabajos de movimiento, verbos de movimiento, causa y efectoTipo cinético, subtítulos, tiempo de lectura, cadencia de escritura del texto mostrado: ice-type
Duraciones, easing, escalonamientos, superposiciones, resortesMúsica, SFX, voz, rejillas de ritmo, temporización de palabras: ice-audio
Política de pausa (viva, solo cámara, quietud verdadera, sin inactividad)Puertas, verificación de costuras, escaneos de fotogramas, medición de densidad: ice-qa
Catálogo de cortes y transiciones, política de transicionesSintaxis del motor, render, captura de obturación, zonas seguras de la plataforma: ice-engines
Costuras, arrastre, ley de vectores, traspasosEstilos de arte y dibujo, rigs de personajes, gramáticas de narración: ice-styles
Cámara, composición, tamaño del héroe, luz de puesta en escena, las medidas de riquezaPaleta, emparejamiento tipográfico, huellas antimonotonía, registro de decisiones: ice-direction
Movimiento 2D, 2.5D y 3D; física; morphing; buclesLetras y direcciones árabes y de derecha a izquierda: ice-arabic
Movimiento de cursor y demostración de UI dentro de películasMovimiento de UI de la aplicación y sitio web enviados, Lottie, preparación vectorial de logotipos: ice-lottie
Mazo de movimientos, movimientos atómicos, planos de tomaVerdad de activos, captura de UI real, logotipos: ice-assets

Apunte a otros skills por nombre; nunca repita sus reglas.

2. Procedimiento al ser invocado

  1. Lea los slots del brief (tipo de película o edición, plataforma, relación de aspecto, duración, idioma, registro, palabras de marca) y el registro de dirección. Si falta el tipo, pregunte al flujo de trabajo, no adivine.
  2. Abra references/motion-language-by-type.md y establezca el lenguaje de movimiento de la película: política de pausa, política de transiciones, política de cámara, política de sobreimpulso, gramática de reloj y desenfoque, ritmo. Aplique los preajustes de personalidad de industria y marca solo donde el brief guarde silencio.
  3. Escriba la personalidad del movimiento: una metáfora más 3-5 reglas (references/motion-grammar.md sección 8). Allí hay varios ejemplos variados; nunca copie uno.
  4. Reparta la paleta de movimientos: 3 movimientos centrales, como máximo 2 acentos, como máximo 1 firma, evitando los movimientos centrales de la película anterior (references/move-deck.md, references/anti-slideshow-and-density.md sección 6).
  5. Para cada pulsación, escriba su trabajo de movimiento y verbo, temporización y easing, y su nivel de importancia (references/motion-grammar.md, references/timing-and-easing.md, references/measured-motion.md).
  6. Para cada límite, escriba una fila de costura con el portador, los vectores de salida y entrada y la razón (references/seams-and-carry.md, references/transition-policy.md, references/cut-catalog.md).
  7. Para cada movimiento de cámara, escriba su razón y ventana (references/camera.md).
  8. Verifique el plan contra las reglas antidiapositiva y los objetivos de densidad para el tipo (references/anti-slideshow-and-density.md), y contra el piso de riqueza visual: lea los números de piso de la tabla "Piso de riqueza" del tipo de película (el flujo de trabajo ice-film references/film-types/<type>.md) y las medidas y correcciones en references/composition-and-staging.md sección 7. Una toma por debajo del piso se vuelve a poner en escena antes de construir cualquier cosa.
  9. Para comerciales, viajes de producto y películas guiadas por texto sin voz, escriba también el contrato de movimiento verificable por máquina (forma: assets/motion-contract.example.json; doctrina: references/continuous-journey.md) y ejecute python scripts/validate_motion_contract.py ice/plan/motion-contract.json --project-root . hasta que imprima PASS. Entregue el plan al flujo de trabajo; ice-qa verifica el render. Tres cosas que el validador comprueba literalmente:
    • Referencias: tres referencias específicas del rol con notas de descomposición. Cuando la investigación fechada no encontró ninguna referencia que realmente pudiera ver, escriba "references": [] (o las que tenga) más "referencesWaiver": {"reason": "<lo que se buscó, por qué ninguna es visible>", "researchNote": "ice/research/<note>.md"}; nunca apunte una referencia a una nota que describa una película que no vio.
    • Linaje: a través de cada límite compara ids, no imágenes: transition.semanticId de la escena saliente debe ser igual a entry.semanticId de la siguiente escena, así que dé al objeto portado el mismo semanticId en ambos lados. Que la imagen realmente se porta se juzga en el render por ice-qa y el revisor.
    • Verbos genéricos (slide, grow, scale, float y el resto de su lista) fallan a menos que el objeto sea literalmente ese mecanismo; entonces añada "literalMechanism": "<el mecanismo real en una oración>" a ese primaryMotion o unidad de texto.
  10. Registre cada decisión de movimiento con su razón y fuente a través de ice-direction (ice/DIRECTION.md).

3. Leyes universales (válidas en todo tipo)

  1. Cada movimiento hace un trabajo (dirigir la atención, portar continuidad, mostrar cambio, expresar carácter) o se elimina.
  2. El movimiento sigue al significado: los flujos fluyen, los ensamblajes se construyen, las cuentas atrás hacen tictac, las rutas se dibujan en su dirección, los números cuentan mientras su causa cambia.
  3. Un movimiento focal a la vez; los elementos de apoyo esperan, el focal nunca espera.
  4. Las entradas desaceleran, las salidas aceleran, los movimientos en pantalla entran y salen con facilidad, los impactos aceleran hasta el contacto; nunca lineales para movimientos espaciales a menos que sean mecánicos; nunca un solo easing para todo (al menos 3 caracteres de easing por película).
  5. Las salidas son más rápidas que las entradas; las entradas usan 2-3 canales de decaimiento, nunca opacidad sola; nunca crecer desde cero.
  6. Los escalonamientos se mantienen por debajo de aproximadamente 0.5 s por grupo, irregulares, en orden de importancia; los desplazamientos son más cortos que los movimientos que desplazan.
  7. El contraste es el mensaje: varíe la velocidad (escena más lenta aproximadamente 3 veces la más rápida), duración de la toma, densidad y quietud; gaste escala, efectos y acentos una vez.
  8. Algo cruza cada límite: un objeto portado, un vector emparejado, la voz o el ritmo; la salida de la escena A decide la entrada de la escena B (mismo eje, dirección, velocidad).
  9. La cámara es puntuación: se mueve por una razón nombrada, lenta para transiciones, rápida solo para acentos, nunca tres empujes hacia adentro seguidos.
  10. Las pausas son decisiones: la política de pausa de la película se elige por tipo y se aplica en todas partes; una escena que se queda sin contenido se acorta o se le da historia, nunca se tambalea.
  11. Cada fotograma es una función pura del tiempo: resortes de forma cerrada, aleatoriedad con semilla, sin reloj de pared, sin solucionadores con estado.
  12. Los efectos nunca compensan un diseño débil, poses débiles o evidencia faltante.

4. Conflictos resueltos por alcance (resumen)

PreguntaRespuesta por tipoArchivo
¿Qué se mueve durante una pausa?Viva (lanzamiento, anuncio de app, social, hype), solo cámara (explicador, cabezas parlantes, datos, formato largo), verdadera quietud como puntuación (marca, descansos artísticos, descansos cinéticos, comedia), sin inactividad (tutorial de UI, lanzamiento narrado)references/holds-and-stillness.md
¿Crossfades?Prohibidos entre escenas en lanzamiento, anuncio de app, hype, cinético, collage, guiado por música, social; permitidos como "esto continúa" en marca tranquila, arte, formato largo, podcast, gráfico a gráficoreferences/transition-policy.md
¿Cortes duros?Alrededor del 95 por ciento de los cambios en metraje editado, explicadores y collage; en películas donde la cámara es el editor solo en un tiempo fuerte, como máximo dos vecesreferences/transition-policy.md
¿Sobreimpulso?Ninguno para datos, finanzas, salud, lujo, cámara, texto; pequeño para lanzamiento y UI; un resorte por película de consumo; juguetón solo para niños y mascotasreferences/timing-and-easing.md
¿Salidas en escenas no finales?Prohibidas donde la transición es la salida (películas de lanzamiento ensambladas); salidas cortas aceleradas o degradadas en su lugar en explicadores narradosreferences/transition-policy.md
¿Llenar el encuadre o fondo grande vacío?Llenar (spots comerciales, explicadores, todo anuncio vertical) o aproximadamente 70 por ciento de fondo texturizado (referencias de género minimalista, marcas tranquilas, solo paisajes): elija por género de referencia y registro. De cualquier manera, se mantiene el piso de riqueza del tipo; "premium" resta desorden, nunca plenitudreferences/composition-and-staging.md secciones 2 y 7
¿Cámara durante pausas?Empuje lento 3-6 por ciento (políticas A y B); bloqueada (C y D)references/camera.md, references/holds-and-stillness.md

5. Contrato de salida: el plan de movimiento

El flujo de trabajo lo almacena como ice/plan/motion-plan.md. Llene cada slot; los slots son marcadores de posición, nunca valores de ejemplo.

## Lenguaje de movimiento
tipo: <tipo de película o edición> | política de pausa: <A|B|C|D> | transiciones: <primarias + acentos> | política de cámara: <...>
sobreimpulso: <ninguno|pequeño|un resorte|juguetón> | reloj: <fps, suave o escalonado> | gramática de desenfoque: <mancha|nítido|obturación>
personalidad: <una metáfora> + <3-5 reglas>
paleta: núcleo <movimiento, movimiento, movimiento> | acentos <movimiento, movimiento> | firma <movimiento o ninguno>
riqueza: hero_share <n> | hero_width <n o n/a> | frame_fill <n de 16> | empty_half <s> | depth_layers <n> | in_shot_motion <n por ciento> | longest_still <s> | light_events <n> | real_material <por ciento o n/a> (números de piso del archivo de tipo de película)

## Pulsaciones (una fila cada una)
| t in-out | rol de pulsación | importancia 1-3 | elemento focal | trabajo | verbo | ease | duración | escalonamiento | compra |

## Costuras (una fila por límite)
| cut t | movimiento de salida (eje, dirección, velocidad, desenfoque) | tipo de costura | movimiento de entrada | portador | par de ease | señal | razón |

## Ventanas de cámara
| desde | ápice | fin de pausa | hasta | objetivo | movimiento | razón |

6. Archivos

NecesidadAbrirCuándo
Establecer el lenguaje de movimiento para un tipo, industria o marcareferences/motion-language-by-type.mdPrimero, cada vez
Decidir si algo se mueve y por qué; verbos; causa y efecto; personalidadreferences/motion-grammar.mdPlanificar cada pulsación
Duraciones, dirección de easing, escalonamientos, ley de superposición, política de sobreimpulso, anclas de temporizaciónreferences/timing-and-easing.mdTemporizar cada pulsación
Números humanos medidos y los 12 eases ajustadosreferences/measured-motion.md y scripts/measured-eases.mjsLanzamiento, anuncio de app, UI, hype; emparejar un movimiento de referencia
Fórmulas de resortes, guía de amortiguación, familias preajustadas, curvas cubic-bezier con nombrereferences/springs-and-curves.md y scripts/springs.mjsCualquier resorte o curva personalizada
Qué sucede durante las pausas; pausas finales; congelaciones; buclesreferences/holds-and-stillness.mdAntes de cualquier pausa o final
Construcción exacta de un corte o transiciónreferences/cut-catalog.mdConstruir una costura
Qué transición, cuántas, política de crossfade y salida, campos del plan de costurareferences/transition-policy.mdElegir costuras
Arrastre, ley de vectores, contratos de traspaso, tolerancias, protagonista raízreferences/seams-and-carry.mdCada límite
Películas de una forma, un mundo y un actorreferences/one-take-films.mdLa dirección solicita una película continua
Razones de cámara, reglas de rig, duraciones de movimiento, vibración, límites de densidadreferences/camera.mdCualquier movimiento de cámara
Punto focal, tamaño del héroe, capas, diseño, puesta en escena, luz de puesta en escena, el piso de riqueza visual (sección 7)references/composition-and-staging.mdEncuadrar cada toma; verificar el plan en el paso 8
2D vs 2.5D vs 3D, paralaje, profundidad de campo, valores de vuelo 3Dreferences/depth-and-3d.mdPulsaciones de profundidad o 3D
Modos de fallo de diapositiva, ritmo, objetivos de densidad, reglas de gastoreferences/anti-slideshow-and-density.mdRevisar el plan
Principios de animación como ingeniería, recetas de física, morphing, dibujo, buclesreferences/physics-and-morphing.mdPulsaciones físicas o de morphing
Cursor, clic, arrastre, alternancias, estados de agente, recetas de demostración de UIreferences/cursor-and-ui.mdCualquier demostración de UI
Movimientos pequeños con tablas de valores y un selector de intenciónreferences/atomic-moves.mdElegir un movimiento para una pulsación
Mazo de movimientos de 46 cartas, nombres rechazados, catálogos de mecanismosreferences/move-deck.mdRepartir la paleta de movimientos
Planos con códigos de tiempo, construcciones de tomas, esqueletos de tiemporeferences/shot-blueprints.mdPlanificar una secuencia de tomas
Relojes de fotograma, gramáticas de desenfoque, cuándo usar desenfoque de movimiento, granoreferences/motion-blur-and-clock.mdConfigurar el reloj y el desenfoque
Un protagonista raíz, cadena de estados, canales de herencia, registros de cortes duros, texto que actúa, cierre (original del fundador)references/continuous-journey.mdComerciales y viajes de producto
Contrato de decisión física, lanzamiento, atracción, cierre de UI rígida, sonido por fase de movimiento (original del fundador)references/motion-choreography.mdPulsaciones físicas o causales
Contratos de unidad de enfoque de fotograma y texto, prueba de necesidad de cámara, verbos de cámara, fórmula de anclaje 2D (original del fundador)references/semantic-camera.mdCada decisión de cámara en comerciales
Forma del contrato de movimientoassets/motion-contract.example.jsonEscribir un contrato de movimiento (los valores son solo ilustración)

Scripts (Windows, macOS, Linux). Versiones mínimas de Node y Python: runtimes en references/versions.json del skill ice-engines; paquetes de Python: scripts/requirements.txt (pines exactos en sincronía con versions.json).

ScriptTiempo de ejecuciónUso
node scripts/measured-eases.mjs [ease] [samples]NodeImprimir o importar los 12 eases medidos
node scripts/springs.mjs [w z seconds]NodeImprimir o importar resortes de forma cerrada y tiempos de estabilización
python scripts/validate_motion_contract.py <contract.json> [--project-root <folder>]Python, biblioteca estándarPuerta estricta de contrato causal, temporal, de divulgación, linaje, cámara y sonido; salida 1 lista fallos
python scripts/audit_web_section_motion.py <project folder>Python, biblioteca estándarRechaza patrones de código de sección web animada (salida 1)
python scripts/audit_motion.py --video <mp4> --audio <wav>Python con numpy y opencv-python-headlessInicios de audio y densidad de cambio visual frente a una referencia; un diagnóstico, no un veredicto

Los archivos del fundador llevan la nota "De la habilidad de diseño de movimiento comercial del fundador".

Individual skills in this repo

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

Skills relacionados