Sketch to Drawio
Reconstrua esboços rasterizados como referência de layout, módulos e relações para criar figuras acadêmicas vetoriais nativas no draw.io, usando formas originais, texto editável e ícones SVG independentes. O esboço original nunca é incorporado como plano de fundo ou imagem completa no produto final.
Entrada e Saída
A entrada é especificada pelo usuário ou encontrada no workspace:
- Esboço rasterizado (PNG/JPG, obrigatório);
- Arquivo de especificação/descrição textual opcional (texto formal, dados, cores — prevalece quando fornecido).
A saída é enviada para o diretório especificado pelo usuário, com nomes derivados do slug da figura (no exemplo, <fig>):
<fig>.drawio: arquivo de origem editável (todos os objetos editáveis);<fig>.svg/<fig>.png: exportação final (PNG com fundo branco, resolução adequada para artigos/Word);<fig>-icon-attribution.md: lista de fontes e tratamento dos ícones;<fig>-QC.md: checklist de qualidade e itens pendentes;- Arquivos de ícones intermediários salvos no diretório de referência especificado pelo usuário.
Fluxo de Trabalho
- Leitura e Análise: Identificar módulos, títulos, direção das setas, hierarquia de contêineres; ignorar texto/números/fórmulas/marcas d'água do esboço (a menos que o spec os forneça; caso contrário, usar placeholders e marcar como "a confirmar").
- Planejamento de Elementos: Determinar a semântica funcional de cada elemento gráfico e classificá-lo primeiro — ícones funcionais simples (semântica única: carro, arquivo, escudo, busca) vs. ilustrações/cenas complexas (múltiplos elementos, decorativos, como paisagem de montanha) — e então aplicar a respectiva escada de tratamento.
- Reconstrução Nativa: Reconstruir todos os módulos, contêineres, conexões e textos usando XML do draw.io; layout da esquerda para a direita ou de cima para baixo, com ordem de leitura clara.
- Autoinspeção de Exportação: Exportar visualização PNG e inspecionar visualmente (recortes, sobreposições, desalinhamentos, linhas quebradas, direção das setas, tamanho da fonte, consistência dos ícones, distinguibilidade das cores); problemas puramente de layout são corrigidos diretamente no XML e reexportados até passarem.
- Entrega de Registros: Gerar arquivos de atribuição e QC, e resumir na resposta final todos os itens
needs_user_confirmation.
Prioridade de Tratamento de Elementos Gráficos (julgamento independente por elemento)
Ícones funcionais simples seguem A→B→C:
- A. SVG Open Source prioritário: Padrão unificado: estilo linear monocromático Lucide; se insuficiente, buscar conjuntos de ícones open source no Iconify (prioridade médica/equipamentos: mdi, fluent). Não misturar estilos na mesma figura; registrar biblioteca, nome, licença e exigências de atribuição. Mecanismo de busca e download em references/icon-sourcing.md; download usando
scripts/fetch_icon.py. - B. Rastrear ícone do esboço quando não encontrado: Recortar → nitidez (ampliar, reduzir ruído, remover fundo, sem inventar detalhes ausentes no original) → converter para SVG com vtracer/Inkscape → priorizar reconstrução geométrica por contorno; se inviável, inserir SVG independente (sem rasterizar). Se a ferramenta estiver faltando, cair diretamente para C e registrar. Julgamento e comandos em references/icon-tracing.md.
- C. Forma genérica conservadora quando ainda não confiável: Não adivinhar semântica. Dados → arquivo/cilindro; processamento → retângulo arredondado/engrenagem; sistema → contêiner/nuvem/servidor; pessoas → silhueta; entrada/saída → seta direcional/caixa de arquivo; completamente incerto → retângulo arredondado sem decoração + etiqueta de texto clara; título também incerto → texto placeholder
[A confirmar]. Tudo marcado como item pendente; critérios de classificação em references/qc.md.
Ilustrações/cenas complexas seguem A′→B′→C′→D′→E, com dois princípios: consistência de estilo antes de correspondência semântica; fidelidade ao original antes de recomposição (recomposição é a principal fonte de "sensação de confusão"). Degradação gradual, fallback apenas no último caso:
- A′. Composição com ícones do mesmo conjunto (preferencial, com limite de qualidade): Usar múltiplos elementos do mesmo conjunto de ícones da figura + composição com z-order (ex.: Lucide
mountain-snowao fundo +tree-pine×2 nas laterais +routena frente), podendo usar 2–3 cores da paleta existente na figura para分层 de frente/fundo. Limite de qualidade: ≤3 elementos, hierarquia de tamanho clara, sobreposição contida; se ainda parecer confuso no tamanho alvo, no máximo uma revisão antes de degradar, sem polimento repetido. - B′. Recorte do original + rastreamento colorido (versão vetorial de "recorte HD"): Recortar a ilustração diretamente do esboço → vetorizar com vtracer
--colormode color→ mapear paleta e inspecionar visualmente, mantendo totalmente vetorial e fiel à composição original. - C′. Recorte do original + upscaling raster (patch decorativo permite raster): Recortar → ampliar 2–4× + reduzir ruído + nitidez leve (
scripts/embed_raster.py) → PNG encapsulado em<image>SVG e embutido como percent-encode; recortar apenas a ilustração, não o texto; resolução preparada com 2–3× o tamanho de exibição. - D′. Conjunto colorido com mapeamento de paleta / combinação de formas nativas: Selecionar conjunto colorido de formas geométricas planas + mapeamento de paleta (estilo emoji adesivo gradiente é antipadrão), ou usar formas básicas para montar uma cena simplificada.
- E. Fallback: Combinação de ícones lineares monocromáticos (ex.: Lucide route+cloud-sun); se ainda assim inviável, cair para C (formas genéricas).
Julgamento detalhado, comandos e tabela de licenças em references/illustrations.md.
Ícones e ilustrações são elementos auxiliares e não substituem texto e relações lógicas essenciais.
Restrições para Figuras Acadêmicas
- Fundo branco, 3–5 cores de baixa saturação, espessura de linha/raio de canto/estilo de seta uniformes; otimizado por padrão para largura de página A4, com títulos e rótulos principais ainda legíveis após redução.
- Ilustrações coloridas: no máximo 1–2 por figura como âncoras visuais; demais elementos mantidos lineares monocromáticos; mesma figura não mistura estilos, tanto para ícones quanto para ilustrações — inconsistência de estilo entra no QC.
- Artigos em chinês: atenção à disponibilidade de fontes CJK no lado da exportação (caracteres ausentes viram quadrados; verificar obrigatoriamente na autoinspeção).
Barreiras Antialucinação
- Não inventar fluxos de pesquisa, detalhes técnicos, variáveis, métodos, conclusões ou valores numéricos.
- Nitidez não deve criar detalhes inexistentes no original; se não for reconhecível, cair para C; não gerar novos ícones que possam estar incorretos.
- Sempre que a confiança no julgamento semântico for baixa, texto/dados estiverem ausentes ou o estilo for sobrescrito, registrar como item pendente no QC para confirmação.
Relação com Outras Skills
A sintaxe XML do draw.io, busca de formas, mecanismo de exportação CLI e resolução de problemas são reutilizados da drawio-skill (exportação headless usa xvfb-run -a drawio --no-sandbox ...; sua seção de troubleshooting cobre casos como root/sem display). Esta skill não duplica esses mecanismos.