makepad-2-0-layout
Faz seu agente gerenciar o layout no Makepad 2.0. É útil para organizar elementos visuais ao construir ou corrigir interfaces de usuário.
O que ela faz
Este agente ajuda você a organizar elementos visuais (layout) em seus aplicativos criados com Makepad. Ele explica como os componentes se ajustam e se posicionam uns em relação aos outros, usando um sistema chamado 'layout turtle'.
Quando usar
- ✓Ao criar a interface visual de um aplicativo Makepad.
- ✓Quando os elementos na tela não aparecem como esperado.
- ✓Ao tentar fazer com que os componentes ocupem o espaço correto.
Exemplo do que pedir para a IA
“Como faço para que um texto ocupe toda a largura disponível, mas não mais que 500 pixels?”
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
Ele usa um sistema chamado 'layout turtle' que define como os componentes se dimensionam ('walk') e como um contêiner organiza seus filhos ('layout'). Você define propriedades como 'width', 'height', 'flow' e 'spacing' para controlar a aparência.
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-layoutOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/makepad-2-0-layout/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.
Limitações
- Verifique com a documentação atual do Makepad 2.0; APIs de terceiros mudam frequentemente.
- Não execute scripts empacotados sem aprovação explícita do usuário.
Quando Usar
- Use quando este fluxo de terceiros corresponder ao objetivo declarado do usuário.
- Use quando a tarefa exigir os procedimentos documentados nesta habilidade.
Sistema de Layout do Makepad 2.0
O Makepad usa um sistema de tartaruga de layout -- não CSS flexbox, nem CSS grid. A tartaruga percorre os filhos um por um, posicionando cada widget de acordo com dois conceitos principais:
- Walk -- como um widget define seu tamanho (largura, altura, margem)
- Layout -- como um contêiner organiza seus filhos (fluxo, espaçamento, preenchimento, alinhamento)
Todo widget contêiner (View, SolidView, RoundedView, ScrollYView, etc.) possui propriedades de Walk (seu próprio tamanho) e propriedades de Layout (como ele organiza os filhos).
Sistema Walk (Definição de Tamanho do Widget)
Walk controla como um widget individual reivindica espaço dentro de seu pai.
width / height
| Sintaxe | Significado |
|---|---|
width: Fill |
Preenche todo o espaço horizontal restante (padrão) |
width: Fit |
Reduz para caber o conteúdo |
width: 200 |
Fixo em 200 pixels |
width: Fill{min: 100 max: 500} |
Preenche com restrições |
width: Fit{max: Abs(300)} |
Adapta o conteúdo, limitado a 300px |
height: Fill |
Preenche todo o espaço vertical restante (padrão) |
height: Fit |
Reduz para caber o conteúdo |
height: 100 |
Fixo em 100 pixels |
use mod.prelude.widgets.*
// Fill: takes all available width
View{
width: Fill height: Fit
flow: Down
Label{text: "I stretch to fill the width"}
}
// Fit: shrinks to content
View{
width: Fit height: Fit
padding: 10
Label{text: "I am only as wide as this text"}
}
// Fixed: exact pixel size
View{
width: 300 height: 200
Label{text: "I am exactly 300x200 pixels"}
}
// Constrained Fill: fills but within bounds
View{
width: Fill{min: 200 max: 600} height: Fit
flow: Down padding: 16
Label{text: "I fill available space but stay between 200-600px"}
}
CRÍTICO: height: Fit em Contêineres
Este é o principal bug de layout no Makepad.
A altura padrão é Fill. Quando sua saída renderiza dentro de um contêiner Fit,
Fill dentro de Fit cria uma dependência circular e se resolve para 0 pixels.
Toda a sua UI se torna invisível.
Regra: SEMPRE defina height: Fit em toda View, SolidView, RoundedView e contêineres similares,
a menos que o pai tenha uma altura fixa ou Fill.
// CORRECT -- height: Fit makes the container visible
View{
width: Fill height: Fit
flow: Down padding: 10
Label{text: "I am visible"}
}
// WRONG -- defaults to height: Fill, resolves to 0px, invisible
View{
width: Fill
flow: Down padding: 10
Label{text: "I am invisible (0px tall)"}
}
Exceções onde height: Fill é aceitável:
- Dentro de um pai com altura fixa:
View{
height: 400
View{
height: Fill
Label{text: "I fill the 400px parent"}
}
}
- Dentro de uma cadeia
height: Fillque finalmente atinge um tamanho conhecido (por exemplo, o corpo da Janela). - ScrollYView sempre usa
height: Fillporque precisa preencher seu pai para rolar.
margin
Margin adiciona espaço ao redor do exterior de um widget.
// Uniform margin on all sides
Label{text: "Hello" margin: 10}
// Selective margin with Inset
Label{
text: "Indented"
margin: Inset{top: 5 bottom: 5 left: 20 right: 20}
}
// Zero margin (note the trailing dot for float literal)
Label{text: "Flush" margin: 0.}
Sistema Layout (Arranjo de Filhos)
Layout controla como um contêiner posiciona seus filhos.
flow (Direção)
| Sintaxe | Significado | Equivalente CSS |
|---|---|---|
flow: Right |
Da esquerda para a direita, linha única (padrão) | flex-direction: row |
flow: Down |
De cima para baixo, coluna única | flex-direction: column |
flow: Overlay |
Empilha os filhos um sobre o outro | position: absolute stacking |
flow: Flow.Right{wrap: true} |
Da esquerda para a direita com quebra de linha | flex-wrap: wrap |
flow: Flow.Down{wrap: true} |
De cima para baixo com quebra de linha | column wrap |
use mod.prelude.widgets.*
// Pilha vertical (mais comum)
View{
width: Fill height: Fit
flow: Down spacing: 10
Label{text: "Primeiro"}
Label{text: "Segundo"}
Label{text: "Terceiro"}
}
// Linha horizontal
View{
width: Fill height: Fit
flow: Right spacing: 10
Label{text: "Esquerda"}
Label{text: "Centro"}
Label{text: "Direita"}
}
// Sobreposição -- filhos empilhados um sobre o outro
…
Perguntas frequentes
Por que minha interface desaparece?
Isso geralmente acontece quando você usa 'height: Fill' dentro de um contêiner que também tem 'height: Fit'. A regra é: use 'height: Fit' em contêineres a menos que o pai tenha uma altura definida.
Qual a diferença entre 'Walk' e 'Layout'?
'Walk' define o tamanho de um único componente (largura, altura). 'Layout' define como um contêiner organiza os componentes que estão dentro dele (direção, espaçamento, alinhamento).
Como coloco os elementos um embaixo do outro?
Use `flow: Down` dentro do contêiner onde os elementos estão. Você também pode ajustar o espaçamento entre eles com a propriedade `spacing`.
Detalhes
Descrição original do autor
Makepad 2.0 guidance for layout; use when building or debugging Makepad UI code.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3528
- 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