Communitygithub.com

ice-motion

Parte interna do Ice Motion Director, não é um comando: comece com /ice. Direção de movimento para cada filme e edição do Ice Motion Director: gramática de movimento e tarefas de deslocamento, temporização e curvas de easing medidas, fórmulas de mola de forma fechada, políticas de pausa e imobilidade, catálogo de cortes e transições com números exatos, continuidade de costura e princípio de arrasto, movimentos de câmera como pontuação, composição, tamanho do herói e piso de riqueza visual, movimento 2D e 3D, morphing de forma, cursor como ator, filmes em plano-sequência, regras antislideshow e densidade de movimento, cada uma com escopo nos tipos de filme ou edição onde se aplica. Chamado pelos workflows do Ice Motion Director; use apenas quando chamado pelo nome.

O que é ice-motion?

O skill ice-motion é o core de direção de movimento do Ice Motion Director, responsável por definir como tudo se move em filmes e edições. Ele é chamado por workflows (como ice-film, ice-explainer, ice-edit) após o brief e a direção existirem, e produz um plano de movimento detalhado — nunca constrói ou renderiza o resultado final. O skill governa desde a gramática de movimento (verbos, causas e efeitos) até temporização, easing, molas, políticas de pausa, catálogo de cortes e transições, movimentos de câmera, composição e regras antislideshow e densidade. Ele se apoia em uma vasta biblioteca de referências (arquivos markdown na pasta references/) que definem linguagens de movimento por tipo de filme, decks de movimentos, princípios de costura e arrasto, e fórmulas de mola fechada. Além disso, para comerciais e filmes guiados por texto, ele gera um contrato de movimento validável por script Python. O skill é multi-plataforma (Windows, macOS, Linux) e se integra com outros skills como ice-type, ice-audio, ice-qa, ice-styles e ice-direction, delegando a eles regras específicas sem repeti-las.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Ice Motion: ofício do movimento

Este skill decide como as coisas se movem. Ele é chamado por um workflow (ice-film, ice-explainer, ice-remake, ice-edit, ice-lottie) depois que o brief e a direção existem. Ele escreve o plano de movimento; nunca constrói ou renderiza.

1. O que este skill possui e para onde aponta

PossuiAponta para
Tarefas de movimento, verbos de movimento, causa e efeitoTipo cinético, legendas, tempo de leitura, cadência de digitação de texto de exibição: ice-type
Durações, easing, escalonamentos, sobreposição, molasMúsica, SFX, narração, grades de batida, temporização de palavras: ice-audio
Política de pausa (vivo, apenas câmera, imobilidade verdadeira, sem inatividade)Portões, verificação de costura, varredura de quadros, medição de densidade: ice-qa
Catálogo de cortes e transições, política de transiçãoSintaxe do motor, render, captura de obturador, zonas seguras da plataforma: ice-engines
Costuras, arrasto, lei do vetor, entregasArte e estilos de desenho, rigs de personagens, gramáticas de narração: ice-styles
Câmera, composição, tamanho do herói, luz de encenação, medidas de riquezaPaleta, pareamento de tipos, impressões digitais antissemelhança, registro de decisões: ice-direction
Movimento 2D, 2.5D e 3D; física; morphing; loopsFormas de letras e direções árabes e da direita para a esquerda: ice-arabic
Movimento de cursor e demonstração de UI dentro de filmesMovimento de UI de aplicativo e site de envio, Lottie, preparação de vetor de logotipo: ice-lottie
Deck de movimentos, movimentos atômicos, plantas de cenaVerdade do ativo, captura de UI real, logotipos: ice-assets

Aponte para outros skills pelo nome; nunca reescreva suas regras.

2. Procedimento quando chamado

  1. Leia os slots do brief (tipo de filme ou edição, plataforma, proporção, duração, idioma, registro, palavras da marca) e o registro de direção. Se o tipo estiver faltando, pergunte ao workflow, não adivinhe.
  2. Abra references/motion-language-by-type.md e defina a linguagem de movimento do filme: política de pausa, política de transição, política de câmera, política de overshoot, gramática de clock e blur, ritmo. Aplique as predefinições do setor e personalidade da marca apenas onde o brief estiver omisso.
  3. Escreva a personalidade do movimento: uma metáfora mais 3-5 regras (references/motion-grammar.md seção 8). Existem vários exemplos variados lá; nunca copie um.
  4. Distribua a paleta de movimento: 3 movimentos centrais, no máximo 2 acentos, no máximo 1 assinatura, evitando os movimentos centrais do filme anterior (references/move-deck.md, references/anti-slideshow-and-density.md seção 6).
  5. Para cada batida, escreva sua tarefa de movimento e verbo, temporização e easing, e seu nível de importância (references/motion-grammar.md, references/timing-and-easing.md, references/measured-motion.md).
  6. Para cada limite, escreva uma linha de costura com o portador, vetores de saída e entrada e a razão (references/seams-and-carry.md, references/transition-policy.md, references/cut-catalog.md).
  7. Para cada movimento de câmera, escreva sua razão e janela (references/camera.md).
  8. Verifique o plano em relação às regras antislideshow e aos alvos de densidade para o tipo (references/anti-slideshow-and-density.md), e em relação ao piso de riqueza visual: leia os números do piso da tabela "Piso de riqueza" do tipo de filme (o workflow ice-film references/film-types/<type>.md) e as medidas e correções em references/composition-and-staging.md seção 7. Um plano abaixo do piso é reencenado antes que qualquer coisa seja construída.
  9. Para comerciais, jornadas de produto e filmes liderados por texto sem narração, também escreva o contrato de movimento verificável por máquina (forma: assets/motion-contract.example.json; doutrina: references/continuous-journey.md) e execute python scripts/validate_motion_contract.py ice/plan/motion-contract.json --project-root . até que imprima PASS. Entregue o plano ao workflow; ice-qa verifica o render. Três coisas que o validador verifica literalmente:
    • Referências: três referências específicas ao papel com notas de decomposição. Quando a pesquisa datada não encontrou nenhuma referência que você pudesse realmente assistir, escreva "references": [] (ou as que você tem) mais "referencesWaiver": {"reason": "<o que foi pesquisado, por que nenhuma é assistível>", "researchNote": "ice/research/<note>.md"}; nunca aponte uma referência para uma nota que descreve um filme que você não viu.
    • Linhagem: através de cada limite ele compara ids, não imagens: transition.semanticId da cena de saída deve ser igual a entry.semanticId da próxima cena, então dê ao objeto carregado o mesmo semanticId em ambos os lados. Que a imagem realmente carrega é julgado no render por ice-qa e pelo revisor.
    • Verbos genéricos (slide, grow, scale, float e o restante de sua lista) falham a menos que o objeto seja literalmente esse mecanismo; então adicione "literalMechanism": "<o mecanismo real em uma frase>" àquela primaryMotion ou unidade de texto.
  10. Registre cada decisão de movimento com sua razão e fonte através de ice-direction (ice/DIRECTION.md).

3. Leis universais (válidas em todos os tipos)

  1. Cada movimento faz um trabalho (direcionar atenção, carregar continuidade, mostrar mudança, expressar caráter) ou é cortado.
  2. Movimento segue o significado: fluxos fluem, construções montam, contagens regressivas marcam, rotas desenham em sua direção, números contam enquanto sua causa muda.
  3. Um movimento focal de cada vez; elementos de suporte esperam, o focal nunca espera.
  4. Entradas desaceleram, saídas aceleram, movimentos na tela fazem ease in e out, impactos aceleram no contato; nunca linear para movimentos espaciais a menos que mecânicos; nunca um único ease em tudo (pelo menos 3 caracteres de easing por filme).
  5. Saídas são mais rápidas que entradas; entradas usam 2-3 canais em decaimento, nunca opacidade sozinha; nunca crescer a partir de zero.
  6. Escalonamentos ficam abaixo de cerca de 0,5 s por grupo, irregulares, em ordem de importância; deslocamentos mais curtos que os movimentos que deslocam.
  7. Contraste é a mensagem: varie velocidade (cena mais lenta cerca de 3x a mais rápida), duração do plano, densidade e imobilidade; gaste escala, efeitos e acentos uma vez.
  8. Algo cruza cada limite: um objeto carregado, um vetor correspondente, a voz ou a batida; a saída da cena A decide a entrada da cena B (mesmo eixo, direção, velocidade).
  9. A câmera é pontuação: ela se move por uma razão nomeada, lenta para transições, rápida apenas para acentos, nunca três avanços para dentro seguidos.
  10. Pausas são decisões: a política de pausa do filme é escolhida pelo tipo e aplicada em todos os lugares; uma cena que fica sem conteúdo é encurtada ou recebe história, nunca oscila.
  11. Cada quadro é uma função pura do tempo: molas de forma fechada, aleatoriedade semeada, sem relógio de parede, sem resolvedores com estado.
  12. Efeitos nunca compensam layout fraco, poses fracas ou evidência ausente.

4. Conflitos resolvidos por escopo (resumo)

PerguntaResposta por tipoArquivo
O que se move durante uma pausa?Vivo (lançamento, anúncio de app, social, hype), apenas câmera (explicador, talking-head, dados, longa-metragem), imobilidade verdadeira como pontuação (marca, descansos de arte, descansos cinéticos, comédia), sem inatividade (tutorial de UI, lançamento narrado)references/holds-and-stillness.md
Crossfades?Proibidos entre cenas em lançamento, anúncio de app, hype, cinético, colagem, liderado por música, social; permitidos como "isto continua" em marca calma, arte, longa-metragem, podcast, gráfico-para-gráficoreferences/transition-policy.md
Cortes secos?Cerca de 95% das mudanças em metragem editada, explicadores e colagem; em filmes onde a câmera é a editora apenas em um tempo fraco, no máximo duas vezesreferences/transition-policy.md
Overshoot?Nenhum para dados, finanças, saúde, luxo, câmera, texto; pequeno para lançamento e UI; uma mola por filme de consumo; divertido apenas para crianças e mascotesreferences/timing-and-easing.md
Saídas em cenas não finais?Proibidas onde a transição é a saída (filmes de lançamento montados); saídas curtas aceleradas ou rebaixar no lugar em explicadores narradosreferences/transition-policy.md
Preencher o quadro ou fundo grande vazio?Preencher (spots de negócios, explicadores, todo anúncio vertical) ou cerca de 70% de fundo texturizado (referências de gênero minimalista, marcas calmas, paisagem apenas): escolha por gênero de referência e registro. De qualquer forma, o piso de riqueza do tipo é válido; "premium" subtrai desordem, nunca plenitudereferences/composition-and-staging.md seções 2 e 7
Câmera durante pausas?Avanço lento 3-6% (políticas A e B); travada (C e D)references/camera.md, references/holds-and-stillness.md

5. Contrato de saída: o plano de movimento

O workflow o armazena como ice/plan/motion-plan.md. Preencha cada slot; slots são espaços reservados, nunca valores de exemplo.

## Linguagem de movimento
tipo: <tipo de filme ou edição> | política de pausa: <A|B|C|D> | transições: <primária + acentos> | política de câmera: <...>
overshoot: <nenhum|pequeno|uma mola|divertido> | clock: <fps, suave ou gradual> | gramática de blur: <smear|crisp|shutter>
personalidade: <uma metáfora> + <3-5 regras>
paleta: core <movimento, movimento, movimento> | acentos <movimento, movimento> | assinatura <movimento ou nenhum>
riqueza: hero_share <n> | hero_width <n ou n/a> | frame_fill <n de 16> | empty_half <s> | depth_layers <n> | in_shot_motion <n por cento> | longest_still <s> | light_events <n> | real_material <por cento ou n/a> (números do piso do arquivo do tipo de filme)

## Batidas (uma linha cada)
| t in-out | função da batida | importância 1-3 | elemento focal | trabalho | verbo | easing | duração | escalonamento | compra |

## Costuras (uma linha por limite)
| corte t | movimento de saída (eixo, direção, velocidade, blur) | tipo de costura | movimento de entrada | portador | par de easing | deixa | razão |

## Janelas de câmera
| de | ápice | fim da pausa | para | alvo | movimento | razão |

6. Arquivos

NecessidadeAbrirQuando
Definir a linguagem de movimento para um tipo, setor ou marcareferences/motion-language-by-type.mdPrimeiro, toda vez
Decidir se e por que algo se move; verbos; causa e efeito; personalidadereferences/motion-grammar.mdPlanejando cada batida
Durações, direção de easing, escalonamentos, lei de sobreposição, política de overshoot, âncoras de temporizaçãoreferences/timing-and-easing.mdTemporizando cada batida
Números humanos medidos e os 12 eases ajustadosreferences/measured-motion.md e scripts/measured-eases.mjsLançamento, anúncio de app, UI, hype; combinando um movimento de referência
Fórmulas de mola, guia de amortecimento, famílias predefinidas, curvas cúbicas de Bézier nomeadasreferences/springs-and-curves.md e scripts/springs.mjsQualquer mola ou curva personalizada
O que acontece durante pausas; pausas finais; congelamentos; loopsreferences/holds-and-stillness.mdAntes de qualquer pausa ou final
Construção exata de um corte ou transiçãoreferences/cut-catalog.mdConstruindo uma costura
Qual transição, quantas, política de crossfade e saída, campos do plano de costurareferences/transition-policy.mdEscolhendo costuras
Arrasto, lei do vetor, contratos de entrega, tolerâncias, protagonista raizreferences/seams-and-carry.mdCada limite
Filmes de uma forma, um mundo e um atorreferences/one-take-films.mdA direção pede um filme contínuo
Razões de câmera, regras de rig, durações de movimento, shake, limites de densidadereferences/camera.mdQualquer movimento de câmera
Ponto focal, tamanho do herói, camadas, layout, encenação, luz de encenação, o piso de riqueza visual (seção 7)references/composition-and-staging.mdEnquadrando cada plano; verificando o plano no passo 8
2D vs 2.5D vs 3D, paralaxe, profundidade de campo, valores de voo 3Dreferences/depth-and-3d.mdBatidas de profundidade ou 3D
Modos de falha de slideshow, ritmo, alvos de densidade, regras de gastoreferences/anti-slideshow-and-density.mdRevisando o plano
Princípios de animação como engenharia, receitas de física, morphing, desenho, loopsreferences/physics-and-morphing.mdBatidas físicas ou de morphing
Cursor, clique, arrasto, interruptores, estados de agente, receitas de demonstração de UIreferences/cursor-and-ui.mdQualquer demonstração de UI
Movimentos pequenos com tabelas de valor e um seletor de intençãoreferences/atomic-moves.mdEscolhendo um movimento para uma batida
Deck de movimentos de 46 cartas, nomes recusados, catálogos de mecanismosreferences/move-deck.mdDistribuindo a paleta de movimento
Plantas com código de tempo, construções de plano, esqueletos de temporeferences/shot-blueprints.mdPlanejando uma sequência de planos
Clocks de quadro, gramáticas de blur, quando usar motion blur, granulaçãoreferences/motion-blur-and-clock.mdDefinindo o clock e o blur
Um protagonista raiz, cadeia de estados, canais de herança, registros de corte seco, texto que age, encerramento (original do fundador)references/continuous-journey.mdComerciais e jornadas de produto
Contrato de decisão física, arremesso, atração, encerramento de UI rígida, som por fase de movimento (original do fundador)references/motion-choreography.mdBatidas físicas ou causais
Contratos de unidade de foco de quadro e texto, teste de necessidade de câmera, verbos de câmera, fórmula de âncora 2D (original do fundador)references/semantic-camera.mdToda decisão de câmera em comerciais
Forma do contrato de movimentoassets/motion-contract.example.jsonEscrevendo um contrato de movimento (valores são apenas ilustração)

Scripts (Windows, macOS, Linux). Versões mínimas do Node e Python: runtimes no arquivo references/versions.json do skill ice-engines; pacotes Python: scripts/requirements.txt (pinos exatos em sincronia com versions.json).

ScriptRuntimeUso
node scripts/measured-eases.mjs [ease] [samples]NodeImprimir ou importar os 12 eases medidos
node scripts/springs.mjs [w z seconds]NodeImprimir ou importar molas de forma fechada e tempos de estabilização
python scripts/validate_motion_contract.py <contract.json> [--project-root <folder>]Python, biblioteca padrãoPortão estrito de causal, temporal, divulgação, linhagem, câmera e contrato de som; exit 1 lista falhas
python scripts/audit_web_section_motion.py <project folder>Python, biblioteca padrãoRejeita padrões de código de seção da web animada (exit 1)
python scripts/audit_motion.py --video <mp4> --audio <wav>Python com numpy e opencv-python-headlessAtaques de áudio e densidade de mudança visual versus uma referência; um diagnóstico, não um veredito

Os arquivos do fundador carregam a nota "Do skill de design de movimento comercial do fundador".

Individual skills in this repo

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

Habilidades Relacionadas