Seu git diff do Excalidraw está quebrado.
Você revisa um pull request e se depara com um arquivo .excalidraw. O git diff mostra centenas de linhas alteradas em um JSON minificado. A revisão útil se torna impossível.
Arquivos Excalidraw são JSONs que armazenam elementos de desenho como objetos. Uma pequena mudança visual - mover um retângulo ou alterar uma cor - gera uma nova estrutura de objeto no JSON. O diff linha por linha não consegue correlacionar o objeto antigo com o novo.
O problema não é o git, é o formato: diffs úteis exigem dados semanticamente estruturados e normalizados.
Uma ferramenta personalizada resolve isso pré-processando o JSON. Ela:
- Parseia o JSON do arquivo.
- Ordena as chaves e elementos de forma determinística.
- Normaliza valores numéricos (ex: coordenadas) para uma precisão padrão.
- Reformata com indentação consistente antes de gerar o diff.
Com esse pré-processamento, uma mudança de posição de um elemento aparece como uma única alteração de valor de coordenada, não como um objeto totalmente novo. A revisão de diagramas se torna viável.
O ganho prático é direto: revisão de código mais eficiente, menos ruído no diff e rastreabilidade real de alterações em diagramas técnicos que fazem parte da base do projeto.