4 pontos por GN⁺ 2025-08-20 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Na versão 0.7.1 do D2, foi adicionada a função de renderizar diagramas de texto em ASCII
  • É possível usar diagramas ASCII simples em comentários de código para explicar o fluxo de funções ou classes
  • Por padrão, usa caracteres Unicode, mas é possível escolher ASCII padrão com uma flag de opção
  • Esse recurso está em fase alfa e ainda não oferece suporte a alguns estilos, caracteres especiais e determinadas formas
  • É possível experimentar a renderização ASCII diretamente no D2 Playground e na extensão para Vim

Introdução à renderização ASCII do D2

A partir da versão mais recente do D2 (0.7.1), foi adicionada a função de saída ASCII para diagramas de texto.
Arquivos de saída com extensão .txt são renderizados automaticamente com o renderizador ASCII.
É possível ver exemplos na extensão D2 para Vim; ao abrir um arquivo .d2 e salvar pelo painel de preview, dá para acompanhar em tempo real a saída do diagrama ASCII.

Uso na documentação de código

Os diagramas ASCII são mais práticos quando inseridos em comentários de código-fonte

  • Ao adicionar um diagrama simples ao lado de uma função ou classe pequena, ele ajuda a entender o código de forma mais intuitiva do que uma explicação do fluxo
  • Na extensão para Vim, é possível escrever código D2 e converter a seleção imediatamente em um diagrama ASCII

Escolha entre Unicode e ASCII padrão

A renderização ASCII padrão usa caracteres Unicode de desenho de caixas, oferecendo uma saída visualmente melhor

  • Se você quiser máxima portabilidade, pode usar a flag de opção --ascii-mode=standard para renderizar também com caracteres ASCII comuns

Limitações atuais

Esse recurso de renderização ASCII está em fase alfa

  • Pode haver muitos casos de borda, pontos de melhoria e bugs
  • O envio de relatórios de bugs ou feedback no site é incentivado

Principais limitações

  • Sem suporte a estilos
    • Animações, fontes etc. não fazem sentido em ASCII
    • Há planos de avaliar futuramente algum suporte limitado a estilos, como cores de terminal
    • Temas também não são suportados
    • double-border, multiple etc. estão na lista de melhorias futuras
  • Espaçamento irregular
    • No processo de conversão para ASCII, o posicionamento das caixas pode ficar mais irregular em comparação com SVG
  • Itens que não podem ser renderizados
    • Ainda não há suporte para textos especiais como Markdown, Latex e código
    • Imagens e ícones, classes UML, tabelas SQL etc. não podem ser renderizados
    • Ainda será decidido futuramente se esses itens serão removidos ou exibidos como placeholders
  • Algumas formas não são suportadas
    • Formas curvas como nuvens e círculos não são bem representadas em ASCII
    • Essas formas são substituídas por retângulos, com um pequeno ícone no canto superior esquerdo para distinguir o tipo

Experimente você mesmo

Esse recurso pode ser usado imediatamente no D2 Playground

  • Você pode abrir o bloco de código fornecido e testar a renderização ASCII diretamente

Ainda não há comentários.

Ainda não há comentários.