Detector de efeitos
Como o texto de regras vira tags de efeito para as alternativas.
Atualizado em 11 de junho de 2026
O detector de efeitos é o motor por trás da busca por alternativas de carta. Ele vive em src/lib/card-tags.ts e traduz o texto de regras de uma carta em uma lista de tags de efeito legíveis.
A ideia
Cada tag descreve uma coisa que a carta faz, de forma reconhecível: ritual (gerar mana de uma vez), card-draw (comprar cartas), board-wipe (remoção em massa), tutor (buscar carta na biblioteca), e assim por diante. As tags são detectadas por padrões de texto conservadores, que preferem não marcar a marcar errado.
Por que tags locais
Em vez de depender de um serviço externo de classificação, o detector roda sobre o texto que já temos no banco. Isso o torna rápido, determinístico e explicável: a interface mostra exatamente quais efeitos foram detectados, então a sugestão nunca é uma caixa preta.
Onde as tags ficam
As tags são calculadas uma vez e gravadas no campo effectTags de cada carta, com um índice apropriado no banco para que a busca por efeito seja rápida. Elas são preenchidas de duas formas:
- Durante a importação das cartas, no
scripts/import-cards.ts. - Em lote, sobre o banco existente, com
npm run tag:cards(scripts/tag-cards.ts).
Cobertura
O catálogo cobre os efeitos mais relevantes para construção de deck, com ênfase em Commander: rituais e fontes de mana, compra de cartas e motores de compra, tutores, remoção pontual e em massa, anulação, recursão e reanimação, fichas, marcadores, turnos e combates extras, e mais.
A cobertura é evolutiva. Como o detector é só texto e regras, novos efeitos podem ser acrescentados ao catálogo sem mudar o banco, bastando recalcular as tags depois.
Limites
O detector entende o que está escrito, não a intenção estratégica. Ele reconhece que uma carta "compra cartas", mas não sabe que ela é especialmente boa em um arquétipo específico. É um ponto de partida para descoberta, não um substituto para o conhecimento do jogador.