Communitygithub.com

Analytics de Movimento

Meça a qualidade e o desempenho de uma página web com muitos elementos de movimento (WebGL, rolagem de filme, shader heroes, cenas de partículas) e compare-a de forma justa com uma referência. Use ao ser solicitado a criar perfil, acelerar, orçar, fazer benchmarking ou avaliar uma página animada, quando uma cena trava ou drena a bateria de dispositivos, ao escolher níveis de qualidade ou limites de DPR, ou ao julgar "quão próxima nossa página está da referência". Abrange orçamentos de tempo por quadro com p50 e p95, uma escada de qualidade contínua, orçamentos de peso de página e textura, Web Vitals para sites com movimento, e avaliação de referência com folhas lado a lado e avaliadores independentes.

O que é Analytics de Movimento?

Esta skill do agente de IA, chamada "Motion Analytics", transforma a sensação subjetiva de suavidade em métricas quantificáveis e reproduzíveis. Ela foca em duas tarefas principais: (1) Medição de performance, analisando o tempo de cada quadro (p50, p95), peso da página e capacidade de adaptação da página em dispositivos lentos; e (2) Avaliação de referência, comparando visualmente a página com um design ou referência pré-definida usando pares de imagens e avaliadores independentes. A skill suporta plataformas como Claude Code, Cursor e Codex, sendo ideal para desenvolvedores que precisam garantir que animações complexas (WebGL, shaders, partículas) rodem suavemente mesmo em hardware modesto. Ela oferece um medidor de quadros (frame-meter.js) injetável em qualquer página, uma ferramenta de linha de comando para gerar folhas de comparação lado a lado (compare-sheet.mjs) e um workflow claro: basear, encontrar a seção cara, corrigir a causa (ex.: DPR muito alto, pós-processamento em resolução total), adicionar uma escada de qualidade automática e re-medir da mesma forma. As regras da skill enfatizam reportar p95 (não FPS médio), usar sempre o mesmo dispositivo e caminho de teste, medir a carga fria (primeira compilação de shaders) e avaliar com evidências visuais e múltiplos avaliadores para eliminar viés.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/iboss21/regescore-motioncraft-skills/tree/main/plugins/motioncraft/skills/motion-analytics

Perguntar na sua IA favorita

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

Documentação

O que Analytics de Movimento faz?

A qualidade do movimento é mensurável. "Parece suave" e "parece próximo da referência" são afirmações; esta skill as transforma em números que você pode repetir na próxima semana.

Duas tarefas:

  1. Desempenho: quanto tempo cada quadro leva, quão pesada é a página e como ela se adapta quando o dispositivo está lento. Guia: references/performance.md. Ferramenta: scripts/frame-meter.js.
  2. Avaliação de referência: quão próxima uma página está de uma referência ou de seu próprio alvo de design, julgado de forma justa. Guia: references/reference-grading.md. Ferramenta: scripts/compare-sheet.mjs.

Início rápido

Medir tempo de quadro em qualquer página

Insira o medidor e abra a página com ?meter:

<script src="frame-meter.js" defer></script>

Um pequeno visor mostra p50, p95 e um nível de qualidade sugerido, e o console registra um resumo a cada cinco segundos. Pelo console você também pode executar:

frameMeter.start();          // iniciar uma medição limpa
// ...role pela página, use a interação principal...
frameMeter.report();         // { frames, p50, p95, p99, max, fps, longFrames, jank, suggest }

Meça no dispositivo mais lento que você se importa, não na sua estação de trabalho. Role toda a página e use a interação principal durante a medição, porque quadros ociosos escondem os momentos caros.

Construir uma folha lado a lado

node scripts/compare-sheet.mjs ./shots/nossas ./shots/referencia ./comparar --labels "Nossas,Referência"

Emparelha imagens com o mesmo nome de arquivo, escreve compare.html (sempre) e compare.png (quando sharp estiver instalado). Entregue a folha para os avaliadores conforme descrito no guia de avaliação.

Os números que importam

MedidaAlvoPorquê
Tempo de quadro p9516,7 ms ou menos no dispositivo alvo (60 Hz)p95 é o que as pessoas sentem; a mediana esconde travamentos
Tempo de quadro p50Bem abaixo de p95Uma grande diferença significa picos: uploads, GC, compilação de shaders
Quadros longos (acima de 50 ms)0 durante a rolagemCada um é um soluço visível
Peso da página na primeira telaAbaixo de 3 MBPrimeira impressão em dados móveis
Página inteiraAbaixo de 10 MBTempo de carregamento, custo de dados, bateria
Maior Pintura com ConteúdoAbaixo de 2,5 sMostrar uma imagem composta antes de ativos pesados chegarem
Mudança Cumulativa de LayoutAbaixo de 0,1Caixas de canvas e vídeo devem reservar seu espaço
Interação à Próxima PinturaAbaixo de 200 msLoops de renderização pesados não devem bloquear a entrada

Detalhes, orçamentos por tipo de ativo e uma escada de qualidade funcional estão em references/performance.md.

Fluxo de trabalho

  1. Linha de base. Carregue a página com ?meter, role de cima a baixo duas vezes, use a interação principal, depois leia frameMeter.report(). Anote dispositivo, navegador, viewport e os números.
  2. Encontre a seção cara. Repita por seção com frameMeter.start() na seção e report() após ela. O pior p95 é onde trabalhar.
  3. Corrija a causa. Geralmente uma de: proporção de pixel do dispositivo muito alta, passe de pós-processamento em resolução total, muitas chamadas de desenho, uma textura enviada no meio da rolagem, um shader compilado na primeira visualização ou renderização enquanto oculta. Veja a tabela de correções no guia de desempenho.
  4. Adicione a escada. Mesmo uma página rápida precisa de um caminho para baixo em um telefone fraco. Use o trecho de escada contínua: desça acima de 22 ms p95, suba abaixo de 12 ms.
  5. Meça novamente da mesma forma. Mesmo dispositivo, mesmo caminho, mesma duração. Relate antes e depois.
  6. Avalie contra o alvo. Quando a página recria um design ou um visual de referência, construa folhas de quatro momentos e execute o método de três avaliadores em references/reference-grading.md.

Formato do relatório

Página: <nome>   Dispositivo: <modelo, navegador>   Viewport: <larg x alt, DPR>
Caminho: rolagem completa x2 + interação principal, 60 s
Antes: p50 9,8 ms, p95 31,2 ms, quadros longos 6, peso 14,1 MB
Depois: p50 7,1 ms, p95 15,9 ms, quadros longos 0, peso 8,7 MB
Mudanças: limite de DPR 1,5 em telefones, bloom com meia resolução, texturas hero para WebP 2048, shaders pré-compilados no carregador
Escada: níveis 0 a 3, estabiliza no nível 3 no desktop, nível 2 no telefone de teste

Regras

  • Relate p95, não FPS médio. Uma média de 58 fps pode esconder um travamento a cada segundo.
  • Uma classe de dispositivo por número. Nunca misture uma medição de laptop com uma medição de telefone em uma afirmação.
  • Mesmo caminho sempre. Medições só são comparáveis quando o caminho de rolagem, a interação e a duração são iguais.
  • Meça a carga fria também. A primeira visualização compila shaders e envia texturas. É aí que os quadros longos vivem.
  • Avalie com evidência. Um veredito "próximo" precisa de folhas em momentos correspondentes e avaliadores que não construíram a página.

Relacionados

Individual skills in this repo

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

Habilidades Relacionadas