
Open source · MIT · macOS, Windows, Linux
Um editor de pixel art em que a IA desenha ao vivo
O Ladrilho é um editor de pixel art para desktop com servidor MCP embutido. O Claude desenha no mesmo documento que você tem aberto: você vê cada passo, desfaz com Ctrl/Cmd+Z e pausa a IA quando quiser. Sem conta, sem telemetria.
Versão para macOS disponível agora; Windows e Linux saem pelo CI.
// 01 — Galeria
Feito no Ladrilho
Personagens, criaturas, itens e tiles desenhados no app pelo MCP: camadas, quadros e paletas, exportados pelo próprio Ladrilho. Baixe o arquivo .ladrilho e abra para ver como cada peça foi montada.
Heróis





Feito no Ladrilho
Todas as peças foram desenhadas pelo Claude no Ladrilho, via MCP. Baixe o .ladrilho e abra no app.
Criaturas






O dragão

Itens
Tiles
// 02 — IA ao vivo
Veja a IA desenhar, passo a passo
O Ladrilho vem com o ladrilho-mcp, um servidor MCP com 31 ferramentas. O Claude cria sprites, define paletas, desenha, cria camadas e quadros e olha o canvas — ao vivo, no app que você tem aberto.
Uma sessão real
Uma coruja arcana desenhada pelo Claude no Ladrilho, gravada chamada por chamada.
Passo 12 de 12 — IA: revisão: reflexo do olho direito e AA do contorno
Chamadas MCP
- status({})
- criar_sprite({nome:coruja arcana,largura:48,altura:48})
- definir_paleta({cores:[#1a1430,#2b2150,#40337a,#5a4ba0,#7a6cc0,#a294dc,#4a3c5e,#6f5f86],nome:coruja arcana,rotulo:paleta da coruja arcana})
- alterar_camada({camada:c1,nome:coruja})
- alterar_frame({frame:0,duracao_ms:500})
- executar_lote({operacoes:6,rotulo:esboço: cabeça, corpo, asas e penachos})IA: esboço: cabeça, corpo, asas e penachos
- ler_pixels({frame:0,formato:hex,regiao:{4}})
- ver_canvas({frame:0,escala:6,grade:true})
- criar_frame({duplicar_de:0,posicao:1,duracao_ms:500})
- executar_lote({operacoes:13,rotulo:blocos de cor})IA: blocos de cor
- ler_pixels({frame:1,formato:hex,regiao:{4}})
- ver_canvas({frame:1,escala:6,grade:true})
- criar_frame({duplicar_de:1,posicao:2,duracao_ms:500})
- criar_camada({nome:galho,posicao:0,rotulo:camada galho})
- executar_lote({operacoes:6,rotulo:galho e folhas})IA: galho e folhas
- ler_pixels({frame:2,formato:hex,regiao:{4}})
- ver_canvas({frame:2,escala:6,grade:true})
- criar_frame({duplicar_de:2,posicao:3,duracao_ms:500})
- executar_lote({operacoes:1,rotulo:sombras da plumagem})IA: sombras da plumagem
- ler_pixels({frame:3,formato:hex,regiao:{4}})
- ver_canvas({frame:3,escala:6,grade:true})
- criar_frame({duplicar_de:3,posicao:4,duracao_ms:500})
- executar_lote({operacoes:1,rotulo:luz do alto à esquerda})IA: luz do alto à esquerda
- ler_pixels({frame:4,formato:hex,regiao:{4}})
- ver_canvas({frame:4,escala:6,grade:true})
- criar_frame({duplicar_de:4,posicao:5,duracao_ms:500})
- executar_lote({operacoes:1,rotulo:textura das penas})IA: textura das penas
- ler_pixels({frame:5,formato:hex,regiao:{4}})
- ver_canvas({frame:5,escala:6,grade:true})
- criar_frame({duplicar_de:5,posicao:6,duracao_ms:500})
- executar_lote({operacoes:2,rotulo:casca do galho e garras})IA: casca do galho e garras
- ler_pixels({frame:6,formato:hex,regiao:{4}})
- ver_canvas({frame:6,escala:6,grade:true})
- criar_frame({duplicar_de:6,posicao:7,duracao_ms:500})
- executar_lote({operacoes:2,rotulo:contorno seletivo})IA: contorno seletivo
- ler_pixels({frame:7,formato:hex,regiao:{4}})
- ver_canvas({frame:7,escala:6,grade:true})
- criar_frame({duplicar_de:7,posicao:8,duracao_ms:500})
- executar_lote({operacoes:1,rotulo:olhos âmbar e bico})IA: olhos âmbar e bico
- ler_pixels({frame:8,formato:hex,regiao:{4}})
- ver_canvas({frame:8,escala:6,grade:true})
- criar_frame({duplicar_de:8,posicao:9,duracao_ms:500})
- definir_pixels({camada:coruja,pixels:24,frame:9,rotulo:runas no peito})IA: runas no peito
- ler_pixels({frame:9,formato:hex,regiao:{4}})
- ver_canvas({frame:9,escala:6,grade:true})
- criar_frame({duplicar_de:9,posicao:10,duracao_ms:500})
- criar_camada({nome:magia,posicao:2,rotulo:camada magia})
- executar_lote({operacoes:1,rotulo:brilho mágico})IA: brilho mágico
- ler_pixels({frame:10,formato:hex,regiao:{4}})
- ver_canvas({frame:10,escala:6,grade:true})
- criar_frame({duplicar_de:10,posicao:11,duracao_ms:2000})
- ver_canvas({frame:11,regiao:{4},escala:12,grade:true})
- executar_lote({operacoes:2,rotulo:revisão: reflexo do olho direito e AA do contorno})IA: revisão: reflexo do olho direito e AA do contorno
- ler_pixels({frame:11,formato:hex,regiao:{4}})
- ver_canvas({frame:11,escala:6,grade:true})
- ver_canvas({frame:0})
- ver_canvas({frame:11,onion:true})
- exportar({escala:1,sobrescrever:true,formato:folha,disposicao:horizontal,caminho:/Users/gabrielalmeidasantosmelo/projetos/ladrilho-site/public/arte/ia/ia-sessao.png})
- exportar({escala:3,sobrescrever:true,formato:gif,caminho:/Users/gabrielalmeidasantosmelo/projetos/ladrilho-site/public/arte/ia/ia-sessao.gif})
- salvar({caminho:/Users/gabrielalmeidasantosmelo/projetos/ladrilho-site/public/arte/fontes/ia-sessao.ladrilho,sobrescrever:true})
- listar_historico({limite:100})

ver_canvas) — Passo 12 de 12
Passo 1 de 12executar_lote({ operacoes: 6 (desenhar_forma ×6), rotulo: "esboço: cabeça, corpo, asas e penachos" })IA: esboço: cabeça, corpo, asas e penachos 
Passo 2 de 12executar_lote({ operacoes: 13 (desenhar_forma ×13), rotulo: "blocos de cor" })IA: blocos de cor 
Passo 3 de 12executar_lote({ operacoes: 6 (desenhar_forma ×5, preencher ×1), rotulo: "galho e folhas" })IA: galho e folhas 
Passo 4 de 12executar_lote({ operacoes: 1 (desenhar_mapa ×1), rotulo: "sombras da plumagem" })IA: sombras da plumagem 
Passo 5 de 12executar_lote({ operacoes: 1 (desenhar_mapa ×1), rotulo: "luz do alto à esquerda" })IA: luz do alto à esquerda 
Passo 6 de 12executar_lote({ operacoes: 1 (desenhar_mapa ×1), rotulo: "textura das penas" })IA: textura das penas 
Passo 7 de 12executar_lote({ operacoes: 2 (desenhar_mapa ×2), rotulo: "casca do galho e garras" })IA: casca do galho e garras 
Passo 8 de 12executar_lote({ operacoes: 2 (desenhar_mapa ×2), rotulo: "contorno seletivo" })IA: contorno seletivo 
Passo 9 de 12executar_lote({ operacoes: 1 (desenhar_mapa ×1), rotulo: "olhos âmbar e bico" })IA: olhos âmbar e bico 
Passo 10 de 12definir_pixels({ camada: "coruja", pixels: 24, rotulo: "runas no peito" })IA: runas no peito 
Passo 11 de 12executar_lote({ operacoes: 1 (desenhar_mapa ×1), rotulo: "brilho mágico" })IA: brilho mágico 
Passo 12 de 12executar_lote({ operacoes: 2 (definir_pixels ×2), rotulo: "revisão: reflexo do olho direito e AA do contorno" })IA: revisão: reflexo do olho direito e AA do contorno
Um passo de desfazer por chamada
Cada chamada da IA vira um único passo de desfazer rotulado "IA: …". Ctrl/Cmd+Z volta.
Espera o seu traço
As escritas da IA entram numa fila e esperam o traço que você está desenhando terminar.
Pausar IA sempre à vista
O botão Pausar IA fica na barra de status. Pausada, toda escrita é recusada.
Abre o app para você
Se o Ladrilho estiver fechado, o servidor MCP o abre e espera ficar pronto (até 30 s).
Só local
O servidor do app escuta só em 127.0.0.1, em porta aleatória, com um token Bearer novo a cada execução.
Sem scripts arbitrários
Não existe ferramenta para rodar scripts. A IA só usa as 31 ferramentas de desenho e arquivo.
Todas as ferramentas que a IA pode usar
31 ferramentas
Estado1
statusLeituraVersão do app, estado da pausa e documentos abertos
Documento5
criar_spriteEscritaCria um sprite (até 1024×1024) numa aba nova
abrir_arquivoEscritaAbre um arquivo .ladrilho, PNG ou GIF
salvarEscritaSalva o documento como .ladrilho
listar_documentosLeituraLista os documentos abertos
ativar_documentoEscritaTroca para outro documento aberto
Paleta2
definir_paletaEscritaDefine a paleta por cores ou slug da Lospec
ler_paletaLeituraLê a paleta atual
Desenho8
definir_pixelsEscritaPinta pixels soltos ou trechos horizontais
desenhar_mapaEscritaDesenha um mapa de caracteres: uma letra por cor
desenhar_formaEscritaDesenha linha, retângulo, elipse ou polígono
preencherEscritaBalde contíguo ou global, com tolerância
substituir_corEscritaTroca uma cor por outra na camada, quadro ou sprite
limparDestrutivaApaga uma região ou a cel inteira
transformarEscritaEspelha, gira ou desloca pixels
colar_imagemEscritaCola um PNG numa posição, se quiser numa camada nova
Lote1
executar_loteEscritaRoda até 500 operações num só passo rotulado
Camadas4
criar_camadaEscritaCria uma camada
alterar_camadaEscritaRenomeia ou muda visibilidade, opacidade e bloqueio
remover_camadaDestrutivaRemove uma camada
mover_camadaEscritaMuda a ordem de uma camada
Quadros3
criar_frameEscritaCria um quadro, se quiser duplicando outro
alterar_frameEscritaMuda a duração de um quadro
remover_frameDestrutivaRemove um quadro
Visão3
ver_canvasLeituraDevolve um PNG do canvas com régua, grade e onion skin
ler_pixelsLeituraLê as cores de uma região (até 64×64)
ver_animacaoLeituraDevolve os quadros lado a lado com as durações
Histórico3
desfazerEscritaDesfaz os passos da própria IA (nunca os seus)
refazerEscritaRefaz passos da IA que foram desfeitos
listar_historicoLeituraLista o histórico com rótulos e autores
Exportação1
exportarEscritaExporta PNG, GIF ou sprite sheet em escala inteira
Ligue o Claude
Claude Code
claude mcp add ladrilho -- "/Applications/Ladrilho.app/Contents/MacOS/ladrilho-mcp"Claude Desktop
{
"mcpServers": {
"ladrilho": {
"command": "/Applications/Ladrilho.app/Contents/MacOS/ladrilho-mcp"
}
}
}O caminho exato aparece em Preferências › IA › Usar com IA, com os comandos prontos para copiar.
Depois é só pedir, por exemplo:
“desenhe um cogumelo 16×16 com a paleta PICO-8 no Ladrilho”
Segurança do servidor local
- Escuta só em 127.0.0.1, em porta aleatória.
- Exige token Bearer: 32 bytes aleatórios, novo a cada execução, comparado em tempo constante.
- Recusa outro Host e qualquer cabeçalho Origin; sem CORS.
- A única conexão de rede é baixar uma paleta da Lospec quando você (ou a IA) pede pelo nome.

// 03 — Ferramentas
Um editor completo, não só um truque de IA
As ferramentas que você espera, com os atalhos do Aseprite pela posição da tecla — funcionam igual no ABNT2.

Lápis
Atalho: B
Traço livre com pixel-perfect: some com os cantos em L do traço.

Borracha
Atalho: E
Apaga para transparente, com os mesmos tamanhos de pincel do lápis.

Balde
Atalho: G
Preenchimento contíguo ou global, com tolerância.

Linha
Atalho: L
Linhas de pixel limpas entre dois pontos.

Retângulo
Atalho: U
Contorno ou cheio.

Elipse
Atalho: ShiftU
Contorno ou cheia, simétrica em qualquer tamanho.

Conta-gotas
Atalho: I
Pega uma cor do canvas. Segure Alt para pegar rápido.

Seleção retangular
Atalho: M
Seleciona, move e cola como seleção flutuante.

Espelhar
Atalho: ShiftH
Espelha, gira ou desloca a seleção ou a camada.
E mais
- Pincel quadrado ou redondo de 1 a 64 px
- Botão esquerdo = cor primária, direito = secundária
- Tolerância e modo global do balde
- Traço pixel-perfect
- Colar flutuante, que você posiciona antes de aplicar
- Tamanho do canvas e do sprite
// 04 — Animação
Quadros, tempo e onion skin
Anime numa timeline em que cada quadro tem a própria duração, confira o movimento com onion skin e veja a prévia em loop.

- Timeline com duração por quadro
- Onion skin (F3) com o quadro anterior e o próximo
- Prévia em loop
- Exporta GIF animado ou sprite sheet
- Camadas com opacidade, visibilidade e bloqueio

ver_canvas).
ver_animacao).// 05 — Cor
Paletas e pontilhado
Paletas embutidas, paletas da Lospec pelo nome, substituir cor e pontilhado ordenado alinhado à grade do sprite.
A mesma cena, seis paletas
Um chalé na floresta, recolorido com as paletas embutidas usando substituir_cor.
- Baixe qualquer paleta da Lospec pelo slug.
- Importe e exporte paletas
.gpl,.pale.hex. - Seletor de cor HSV, RGB e hex com alfa.
Um chalé na floresta em seis paletas: original, PICO-8, DB32, Endesga 32, Sweetie 16 e Game Boy
Original PICO-8 DB32 Endesga 32 Sweetie 16 Game Boy
Liso ou pontilhado
Pontilhado ordenado entre a cor primária e a secundária: xadrez, Bayer 2×2, 4×4 ou 8×8, nível de 0 a 100%.
O mesmo céu de pôr do sol com lua, liso e com pontilhado xadrez, Bayer 4×4 e Bayer 8×8
Liso Xadrez Bayer 4×4 Bayer 8×8
// 06 — Formatos
Arquivo aberto, exportação padrão
Seu trabalho fica num formato aberto e sai nos formatos que jogos e engines esperam.

.ladrilho
Um ZIP comum:
Ler a especificação do formato (abre em nova aba)documento.jsonmais um PNG por cel. Abre em qualquer descompactador.PNG
Quadro atual ou sequência numerada, em escala inteira até 20×.
GIF animado
Cada quadro mantém a própria duração.
Sprite sheet
Horizontal ou em grade, com JSON de atlas no formato do Aseprite.
Importar PNG e GIF
Traga imagens prontas para continuar o trabalho.
Autosave
Autosave silencioso com recuperação depois de uma queda, mais abas e recentes.

| Lápis / borracha / balde | B/E/G |
|---|---|
| Linha / retângulo / elipse | L/U/Shift+U |
| Conta-gotas | I/Alt(segurar) |
| Seleção / mover | M/V |
| Mão | H/Espaço(segurar) |
| Zoom 100–3200% / ajustar | 1–6/Mod+0 |
| Novo quadro / nova camada | Alt+N/Shift+N |
| Onion skin | F3 |
| Próxima região (teclado) | F6 |
| Desfazer / refazer | Mod+Z/Mod+Shift+Z |
| Salvar / salvar como | Mod+S/Mod+Shift+S |
| Exportar | Mod+Shift+Alt+S |
| Trocar primária e secundária | X |
| Cor anterior / próxima | [/] |
| Tocar animação | Enter |
| Quadro anterior / próximo | ←/→ |
| Mostrar/ocultar a timeline | Tab |
| Preferências | Mod+, |
| Lista completa de atalhos | Mod+Shift+Alt+K |
Mod = Cmd no macOS, Ctrl nos outros. Perfil do Aseprite, pela posição da tecla.
// 07 — Comparação
Como ele se compara, com honestidade
O Ladrilho é novo. Veja onde ele está ao lado dos editores que as pessoas já usam.
| Recurso | Ladrilho | Aseprite | Pixelorama | LibreSprite | Piskel |
|---|---|---|---|---|---|
| Open source e grátis | Sim | NãoCódigo disponível sob EULA proprietária; pago | Sim | Sim | Sim |
| macOS, Windows e Linux | SimmacOS agora; Windows e Linux pelo CI | Sim | Sim | Sim | SimWeb, mais uma versão desktop (NW.js) |
| MCP ao vivo embutido | Sim | ParcialCom extensão de terceiros conectada à mão | Não | Não | Não |
| O MCP abre o app sozinho | Sim | Não | Não | Não | Não |
| Passo de desfazer rotulado por chamada da IA | Sim | ParcialCom extensão de terceiros conectada à mão | Não | Não | Não |
| Botão Pausar IA | Sim | Não | Não | Não | Não |
| Traço pixel-perfect | Sim | Sim | Sim | Sim | Não confirmado |
| Pontilhado (dithering) | SimPontilhado ordenado (xadrez, Bayer) | Sim | Sim | Não confirmado | Sim |
| Onion skin | Sim | Sim | Sim | Sim | Sim |
| Exportar sprite sheet | Sim | Sim | Sim | Sim | Sim |
| Tilemaps | No roadmap | Sim | Sim | Não | Não |
| Modo de cor indexada | No roadmap | Sim | Sim | Sim | Não |
| Scripting | No roadmap | Sim | Sim | Sim | Não |
| Arquivos .aseprite | No roadmap | Sim | Sim | ParcialImporta parcialmente; exporta | Não |
Precisa de tilemaps, cor indexada ou scripting hoje? Aseprite ou Pixelorama são a melhor escolha por enquanto.
Fonte: pesquisa de mercado do Ladrilho de , com link para cada afirmação. (abre em nova aba)
// 08 — Open source
MIT, às claras
O código, as specs e o plano são públicos. Leia, abra uma issue, mande um pull request.
- README (abre em nova aba)
- Specs (abre em nova aba)
- Issues (abre em nova aba)
- Licença MIT (abre em nova aba)
No roadmap
- Seleção elíptica, laço e varinha mágica
- Simetria
- Modo tile
- Modo de cor indexada
- Tags de animação (frente, trás, ping-pong)
- Importar e exportar .aseprite
- Tilemaps
- Scripting

Créditos
- Pixelify Sans — SIL Open Font License.
- Geist e Geist Mono — SIL Open Font License.
- Atalhos e comportamento inspirados no Aseprite; nenhum código do Aseprite foi usado.
- Toda a pixel art desta página foi desenhada pelo Claude no Ladrilho, via MCP.
// 09 — Download
Baixe o Ladrilho
Grátis e open source. Escolha a sua plataforma ou compile a partir do código.
- Disponível
macOS (Apple Silicon)
.dmg de desenvolvimento com assinatura ad-hoc. Na primeira vez, botão direito no app › Abrir.
- Pelo CI
Windows
Instalador NSIS gerado pelo workflow
empacotar(debug, sem assinatura). - Pelo CI
Linux
.deb e AppImage gerados no Ubuntu 22.04 com WebKitGTK 4.1 (debug).
A versão para macOS não é notarizada. Se o macOS bloquear, remova a quarentena:
xattr -dr com.apple.quarantine /Applications/Ladrilho.appA partir do código
Requer Node 22, Rust estável e, no Linux, WebKitGTK 4.1.
npm ci
npm run tauri dev







