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
| Posee | Apunta a |
|---|---|
| Trabajos de movimiento, verbos de movimiento, causa y efecto | Tipo cinético, subtítulos, tiempo de lectura, cadencia de escritura del texto mostrado: ice-type |
| Duraciones, easing, escalonamientos, superposiciones, resortes | Mú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 transiciones | Sintaxis del motor, render, captura de obturación, zonas seguras de la plataforma: ice-engines |
| Costuras, arrastre, ley de vectores, traspasos | Estilos 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 riqueza | Paleta, emparejamiento tipográfico, huellas antimonotonía, registro de decisiones: ice-direction |
| Movimiento 2D, 2.5D y 3D; física; morphing; bucles | Letras y direcciones árabes y de derecha a izquierda: ice-arabic |
| Movimiento de cursor y demostración de UI dentro de películas | Movimiento 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 toma | Verdad de activos, captura de UI real, logotipos: ice-assets |
Apunte a otros skills por nombre; nunca repita sus reglas.
2. Procedimiento al ser invocado
- 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.
- Abra
references/motion-language-by-type.mdy 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. - Escriba la personalidad del movimiento: una metáfora más 3-5 reglas (
references/motion-grammar.mdsección 8). Allí hay varios ejemplos variados; nunca copie uno. - 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.mdsección 6). - 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). - 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). - Para cada movimiento de cámara, escriba su razón y ventana (
references/camera.md). - 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-filmreferences/film-types/<type>.md) y las medidas y correcciones enreferences/composition-and-staging.mdsección 7. Una toma por debajo del piso se vuelve a poner en escena antes de construir cualquier cosa. - 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 ejecutepython 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.semanticIdde la escena saliente debe ser igual aentry.semanticIdde la siguiente escena, así que dé al objeto portado el mismosemanticIden 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 eseprimaryMotiono unidad de texto.
- 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
- 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)
- Cada movimiento hace un trabajo (dirigir la atención, portar continuidad, mostrar cambio, expresar carácter) o se elimina.
- 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.
- Un movimiento focal a la vez; los elementos de apoyo esperan, el focal nunca espera.
- 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).
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- Cada fotograma es una función pura del tiempo: resortes de forma cerrada, aleatoriedad con semilla, sin reloj de pared, sin solucionadores con estado.
- Los efectos nunca compensan un diseño débil, poses débiles o evidencia faltante.
4. Conflictos resueltos por alcance (resumen)
| Pregunta | Respuesta por tipo | Archivo |
|---|---|---|
| ¿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áfico | references/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 veces | references/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 mascotas | references/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 narrados | references/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 plenitud | references/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
| Necesidad | Abrir | Cuándo |
|---|---|---|
| Establecer el lenguaje de movimiento para un tipo, industria o marca | references/motion-language-by-type.md | Primero, cada vez |
| Decidir si algo se mueve y por qué; verbos; causa y efecto; personalidad | references/motion-grammar.md | Planificar cada pulsación |
| Duraciones, dirección de easing, escalonamientos, ley de superposición, política de sobreimpulso, anclas de temporización | references/timing-and-easing.md | Temporizar cada pulsación |
| Números humanos medidos y los 12 eases ajustados | references/measured-motion.md y scripts/measured-eases.mjs | Lanzamiento, 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 nombre | references/springs-and-curves.md y scripts/springs.mjs | Cualquier resorte o curva personalizada |
| Qué sucede durante las pausas; pausas finales; congelaciones; bucles | references/holds-and-stillness.md | Antes de cualquier pausa o final |
| Construcción exacta de un corte o transición | references/cut-catalog.md | Construir una costura |
| Qué transición, cuántas, política de crossfade y salida, campos del plan de costura | references/transition-policy.md | Elegir costuras |
| Arrastre, ley de vectores, contratos de traspaso, tolerancias, protagonista raíz | references/seams-and-carry.md | Cada límite |
| Películas de una forma, un mundo y un actor | references/one-take-films.md | La dirección solicita una película continua |
| Razones de cámara, reglas de rig, duraciones de movimiento, vibración, límites de densidad | references/camera.md | Cualquier 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.md | Encuadrar cada toma; verificar el plan en el paso 8 |
| 2D vs 2.5D vs 3D, paralaje, profundidad de campo, valores de vuelo 3D | references/depth-and-3d.md | Pulsaciones de profundidad o 3D |
| Modos de fallo de diapositiva, ritmo, objetivos de densidad, reglas de gasto | references/anti-slideshow-and-density.md | Revisar el plan |
| Principios de animación como ingeniería, recetas de física, morphing, dibujo, bucles | references/physics-and-morphing.md | Pulsaciones físicas o de morphing |
| Cursor, clic, arrastre, alternancias, estados de agente, recetas de demostración de UI | references/cursor-and-ui.md | Cualquier demostración de UI |
| Movimientos pequeños con tablas de valores y un selector de intención | references/atomic-moves.md | Elegir un movimiento para una pulsación |
| Mazo de movimientos de 46 cartas, nombres rechazados, catálogos de mecanismos | references/move-deck.md | Repartir la paleta de movimientos |
| Planos con códigos de tiempo, construcciones de tomas, esqueletos de tiempo | references/shot-blueprints.md | Planificar una secuencia de tomas |
| Relojes de fotograma, gramáticas de desenfoque, cuándo usar desenfoque de movimiento, grano | references/motion-blur-and-clock.md | Configurar 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.md | Comerciales 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.md | Pulsaciones 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.md | Cada decisión de cámara en comerciales |
| Forma del contrato de movimiento | assets/motion-contract.example.json | Escribir 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).
| Script | Tiempo de ejecución | Uso |
|---|---|---|
node scripts/measured-eases.mjs [ease] [samples] | Node | Imprimir o importar los 12 eases medidos |
node scripts/springs.mjs [w z seconds] | Node | Imprimir 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ándar | Puerta 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ándar | Rechaza 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-headless | Inicios 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".