Tabelas e gráficos nas notas, ainda em Markdown simples
A versão 1.14.0 adiciona tabelas e gráficos às notas, ainda em Markdown simples. Em notas compartilhadas, nada é reescrito por inteiro, então as edições não colidem.
A versão 1.14.0 adiciona tabelas e gráficos às notas do Prior. Você escreve nas células, cola a partir de uma planilha, ordena uma coluna, adiciona uma linha de total e transforma uma tabela pequena em um gráfico de barras, linhas ou pizza. O editor também ficou mais completo: você pode arrastar blocos, transformar um tipo de bloco em outro, formatar o texto selecionado, recolher conteúdo em um bloco recolhível e começar a partir de um modelo.
A parte que queremos explicar é uma escolha que fizemos cedo: uma tabela e um gráfico continuam sendo texto Markdown simples. Nada novo é guardado, e o servidor não mudou. Essa escolha é o motivo de funcionarem nas notas compartilhadas, onde várias pessoas editam a mesma nota ao vivo.
Como eles aparecem no arquivo
Uma tabela é uma tabela Markdown com barras verticais (pipes):
| Client | Hours |
| --- | --- |
| Anna | 32 |
| Marc | 18 |
| **Total** | =SUM |A célula =SUM mostra a soma dos números acima dela. Um gráfico é um bloco cercado, com o rótulo chart. Dentro da cerca há linhas opcionais type: e title:, em que type pode ser bar, stacked, line ou pie, e depois uma tabela: a primeira coluna tem os rótulos e cada outra coluna é uma série.
type: pie
title: Hours by client
| Client | Hours |
| --- | --- |
| Anna | 32 |
| Marc | 18 |É esse o formato inteiro. O Prior desenha o gráfico quando renderiza a nota, com as cores de gráfico do próprio aplicativo, verificadas nos temas claro e escuro.
Por que o texto simples importa
Um cliente sem esse recurso, como uma versão mais antiga do aplicativo, mostra uma tabela como linhas de texto com barras verticais, e um gráfico como um bloco de código com o rótulo chart. Ele consegue digitar neles como em qualquer outro texto. Nada é removido nem reescrito quando ele abre ou salva uma nota, então esses blocos sobrevivem. Se uma edição quebrar a forma, por exemplo apagando a linha abaixo do cabeçalho, o bloco aparece aqui também como texto, com todas as palavras, até alguém consertá-lo.
Também significa que um assistente que lê ou edita uma nota pelo MCP vê texto comum.
Por que nada é reescrito por inteiro
O jeito óbvio de criar um editor de tabelas é interpretar a tabela, alterá-la e gravar a tabela inteira de volta. Em uma nota compartilhada, isso dá errado. Duas pessoas editam células diferentes ao mesmo tempo, cada uma grava a tabela inteira de volta, e uma delas perde a sua alteração.
As notas compartilhadas são documentos Yjs, feitos para mesclar muitas edições pequenas. Por isso, cada ação em tabela é o menor conjunto de substituições de texto que faz o trabalho:
- Digitar em uma célula substitui os caracteres dessa célula. O espaçamento ao redor fica intacto e as barras verticais não são realinhadas, então a célula de ninguém mais é tocada.
- Uma nova linha é uma única linha inserida.
- Uma coluna nova ou excluída é uma pequena edição por linha, executada em uma única transação. Os colaboradores nunca veem metade de uma coluna, e desfazer a reverte em um único passo.
Veja o que acontece quando as pessoas colidem:
- Duas pessoas em células diferentes, ou uma adicionando linhas e colunas enquanto outra digita: tudo é mantido.
- Duas pessoas digitando na mesma célula: as duas palavras permanecem, como em qualquer texto Yjs.
- Uma linha excluída enquanto alguém digita nela: as palavras digitadas sobrevivem no início da linha seguinte, sem se perder.
- Duas linhas ou colunas adicionadas ao mesmo tempo: as duas permanecem.
- Duas pessoas escolhendo outro tipo de gráfico ao mesmo tempo: o resultado é um tipo que não existe, que é desenhado como barras até alguém escolher de novo. Os dados não são alterados.
Uma ação pode perder trabalho. Ordenar reescreve as linhas do corpo como uma única substituição, então pode sobrescrever uma tecla pressionada no mesmo instante em uma linha que ela move. Deixamos assim porque ordenar é uma ação deliberada e pontual, e a mantivemos fora das edições sempre pequenas.
Os testes cobrem esses casos: duas sessões por um servidor simulado editando células, linhas, colunas e tipos de gráfico ao mesmo tempo, edições de texto simples de um cliente mais antigo, e desfazer.
Edição
Clique em uma tabela e ela vira uma grade. Tab move entre as células, e Tab depois da última célula adiciona uma linha. As ferramentas abaixo da tabela são Linha, Coluna e Total. Colar texto separado por tabulação de uma planilha cria uma tabela. Um gráfico abre com seus botões de tipo, seu título, o gráfico ao vivo e os dados. Dados mostra os números como uma tabela para qualquer pessoa, inclusive os leitores.
O Prior AI também pode escrever tabelas e gráficos em uma nota. Ele mostra qual página usa como contexto, e só altera a nota depois que você confirma.
Tabelas, Gráficos e Notas compartilhadas na central de ajuda explicam como usá-los. Para saber como os assistentes editam notas compartilhadas, veja O Prior agora funciona dentro do seu assistente de IA.