makepad-2-0-animation
Ajuda seu agente com animações no Makepad 2.0. É útil ao criar ou corrigir o código de interface do usuário (UI) feito com Makepad.
O que ela faz
Esta ferramenta ajuda a criar animações em interfaces de usuário usando a biblioteca Makepad. Ela permite que elementos visuais mudem de aparência ao longo do tempo, como efeitos de passar o mouse, transições ou animações contínuas.
Quando usar
- ✓Quando você quer que um botão mude de cor ao ser clicado.
- ✓Quando você quer que um elemento apareça suavemente na tela.
- ✓Quando você quer criar um efeito de carregamento animado.
Exemplo do que pedir para a IA
“Como faço para que um botão mude de cor quando o mouse passa por cima dele?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você define um 'animador' para um elemento. Esse animador controla como as propriedades visuais (como cor ou tamanho) mudam entre diferentes 'estados' (como 'normal' e 'passando o mouse') usando tempos e efeitos definidos.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill makepad-2-0-animationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/makepad-2-0-animation/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Quando Usar
- Use quando este fluxo de trabalho upstream corresponder ao objetivo declarado do usuário.
- Use quando a tarefa exigir os procedimentos documentados nesta skill.
Skill de Animação Makepad 2.0
Versão: makepad-widgets (branch dev) | Última Atualização: 2026-03-03
Visão Geral
O sistema Animator controla variáveis de shader instance() ao longo do tempo, permitindo efeitos de hover, transições e animações em loop. Ele usa trilhas de animação independentes chamadas "grupos" que rodam simultaneamente.
Documentação
Consulte os arquivos locais para documentação detalhada:
./references/animator-reference.md- API completa do Animator, tipos de reprodução, funções de suavização, exemplos
IMPORTANTE: Verificação de Completude da Documentação
Antes de responder a perguntas, Claude DEVE:
- Ler o(s) arquivo(s) de referência relevante(s) listado(s) acima
- Se a leitura do arquivo falhar ou o arquivo estiver vazio:
- Informar ao usuário: "Documentos de referência incompletos. Ainda respondendo com base nos padrões de SKILL.md."
- Ainda responder com base nos padrões de SKILL.md + conhecimento interno
- Se o arquivo de referência existir, incorporar seu conteúdo à resposta
Crítico: Suporte ao Widget Animator
NEM todos os widgets suportam animator! Adicionar animator: Animator{...} a um widget não suportado é silenciosamente ignorado - sem erro, sem animação, nada acontece.
Widgets que SUPORTAM Animator
View, SolidView, RoundedView, ScrollXView, ScrollYView, ScrollXYView, Button, ButtonFlat, ButtonFlatter, CheckBox, Toggle, RadioButton, LinkLabel, TextInput
Widgets que NÃO Suportam Animator
Label, H1-H4, P, TextBox, Image, Icon, Markdown, Html, Slider, DropDown, Splitter, Hr, Filler
Para animar um Label: Envolva-o em uma View com o animator:
View{
width: Fit height: Fit
animator: Animator{
hover: {
default: @off
off: AnimatorState{ from: {all: Forward {duration: 0.15}} apply: {draw_bg: {hover: 0.0}} }
on: AnimatorState{ from: {all: Forward {duration: 0.15}} apply: {draw_bg: {hover: 1.0}} }
}
}
label := Label{text: "Animated via parent"}
}
Estrutura do Animator
animator: Animator{
<group_name>: {
default: @<state_name>
<state_name>: AnimatorState{
from: { ... }
ease: <EaseFunction>
redraw: true
apply: { ... }
}
<state_name>: AnimatorState{ ... }
}
<group_name>: { ... }
}
Grupos
Cada grupo é uma trilha de animação independente. Grupos comuns:
| Grupo | Propósito | Estados Típicos |
|---|---|---|
hover |
Mouse pairando para dentro/fora | off, on |
focus |
Foco do teclado | off, on |
active |
Estado alternado/marcado | off, on |
disabled |
Estado desativado | off, on |
time |
Loop contínuo | off, on |
Múltiplos grupos animam simultaneamente sem interferir.
O Bloco from
Controla o tempo da transição. As chaves são os estados dos quais a transição está saindo, ou all como um "catch-all".
// From any state, animate over 0.2 seconds
from: {all: Forward {duration: 0.2}}
// Instant from any state
from: {all: Snap}
// Different timing depending on origin
from: {
all: Forward {duration: 0.1}
down: Forward {duration: 0.01}
}
Tipos de Reprodução
| Tipo | Descrição | Exemplo |
|---|---|---|
Forward {duration: 0.2} |
Uma vez para frente | Transições de hover |
Snap |
Salto instantâneo, sem animação | Inicialização de estado padrão |
Loop {duration: 1.0} |
Animação em loop | Indicadores de carregamento |
ReverseLoop {duration: 1.0} |
Loop "ping-pong" | Efeitos de pulsação |
BounceLoop {duration: 1.0} |
Volta e volta | Animações de "quicar" |
Funções de Suavização (Ease Functions)
| Função | Descrição |
|---|---|
Linear |
Velocidade constante |
InQuad / OutQuad / InOutQuad |
Suavização quadrática |
InCubic / OutCubic / InOutCubic |
Suavização cúbica |
InQuart / OutQuart / InOutQuart |
Suavização quártica |
InQuint / OutQuint / InOutQuint |
Suavização quántica |
InSine / OutSine / InOutSine |
Suavização senoidal |
InExp / OutExp / InOutExp |
Suavização exponencial |
InCirc / OutCirc / InOutCirc |
Suavização circular |
InElastic / OutElastic / InOutElastic |
Mola elástica |
InBack / OutBack / InOutBack |
Overshoot |
InBounce / OutBounce / InOutBounce |
Bounce |
Uso: ease: OutCubic no AnimatorState (opcional, padrão é Linear).
O Bloco apply
…
Perguntas frequentes
Todos os elementos podem ser animados?
Não. Alguns elementos como 'View' e 'Button' suportam animação, mas outros como 'Label' e 'Image' não suportam diretamente. Para animar um 'Label', você precisa colocá-lo dentro de um 'View' que possa ser animado.
O que são 'grupos' de animação?
Grupos são como trilhas de animação independentes que podem acontecer ao mesmo tempo. Exemplos comuns são 'hover' (para o mouse), 'focus' (para quando o elemento está selecionado) e 'time' (para animações contínuas).
Como faço uma animação acontecer mais rápido ou mais devagar?
Você pode ajustar a 'duração' do movimento em segundos. Também pode escolher 'funções de suavização' (ease functions) que controlam a velocidade da animação em diferentes pontos, como começar devagar e acelerar, ou o contrário.
Detalhes
Descrição original do autor
Makepad 2.0 guidance for animation; use when building or debugging Makepad UI code.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3525
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
angular-developer
Ajuda seu agente a criar código Angular e a dar conselhos sobre a estrutura do projeto. É útil para iniciar novos projetos, criar partes do código ou melhorar a performance e acessibilidade.
affaan-m/ECC
frontend-a11y
Ajuda seu agente a tornar interfaces web acessíveis para todos. Ele garante que sites e apps funcionem bem com leitores de tela e navegação por teclado.
affaan-m/ECC
frontend-patterns
Faz seu agente aplicar padrões modernos no desenvolvimento frontend. Ele otimiza performance, gerencia estado e segue boas práticas em React e Next.js.
affaan-m/ECC