Pular para o conteúdo
Skillpedia
Sites e telas (frontend)48 mil · #3525

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/makepad-2-0-animation/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/makepad-2-0-animation/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-animation

Ou 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.md
Conteú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:

  1. Ler o(s) arquivo(s) de referência relevante(s) listado(s) acima
  2. 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
  3. 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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3525
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas