Cheng Lou, da Midjourney, lança o Pretext open source
Pretext, biblioteca TypeScript que mede e organiza texto fora do DOM, promete ganhos de desempenho expressivos e novas possibilidades de layout para a web moderna.
Danilo Gato
Autor
Introdução
Pretext open source é a nova biblioteca de Cheng Lou, engenheiro ligado à Midjourney e ex-core do React, criada para medir e compor texto na web sem depender do DOM. O projeto apresenta demos públicas que mostram desde justificação com Knuth, Plass e hifenização até rich text com chips e notas, tudo com medição e layout calculados no próprio JavaScript.
A proposta ataca um gargalo crônico do front end, calcular altura e quebras de linha de parágrafos de forma precisa e barata, algo que no modelo tradicional exigia leitura do DOM, trigger de reflow e custos imprevisíveis. Relatos de imprensa especializada e posts comunitários indicam ganhos de velocidade de centenas de vezes em cenários práticos, ainda que a paridade total com engines tipográficas dos navegadores deva ser observada ao longo do tempo.
O artigo aborda como o Pretext funciona, o que muda na engenharia de UIs, casos reais dos demos, implicações de acessibilidade e como começar a testar hoje em projetos com TypeScript.
Como o Pretext funciona em duas fases
A arquitetura do Pretext separa o problema em preparar e compor. Primeiro, uma fase de preparação segmenta o texto, mede glifos em um canvas fora de tela e cria um cache. Depois, a fase de layout emula a lógica de quebra de linhas do navegador para estimar, com alta fidelidade, quantas linhas cabem em determinada largura. Essa divisão permite recalcular o layout muitas vezes quase instantaneamente, sem tocar o DOM. Relatos técnicos descrevem essa estratégia e destacam a vantagem de evitar layout thrashing.
Nos demos públicos, a biblioteca já exibe algoritmos de justificação comparados lado a lado, com opções de hifenização e um modo baseado no clássico modelo de Knuth e Plass, ilustrando diferenças visuais, rios tipográficos e distribuição de espaços. Também há um demo de rich text que mantém chips atômicos intactos enquanto o texto ao redor se ajusta naturalmente.
Em termos práticos, isso significa que um produto editorial, um chat com balões milimetricamente ajustados ou um card masonry com textos de alturas previsíveis pode ser calculado sem leituras sincronas de layout, algo tradicionalmente caro.
Por que isso importa para performance e UX
- Menos reflow, mais responsividade. Calcular altura de parágrafos e quebras fora do DOM reduz leituras forçadas de layout, o que costuma travar o main thread em páginas ricas. A consequência direta é scroll mais suave e interações mais consistentes.
- Previsibilidade em componentes dinâmicos. A biblioteca demonstra acordeões com alturas precisas, balões de conversa com linhas controladas e spreads editoriais com títulos que contornam obstáculos, tudo sem medir nós reais. Isso abre espaço para UIs mais ousadas sem custo de jank.
- Tipografia mais avançada no browser. Com hifenização e justificação otimizadas, o leitor percebe colunas mais estáveis e uniformes, algo que impacta leitura longa, educação e documentação técnica.
Alguns veículos mencionam números ambiciosos, como aumentos de desempenho de centenas a milhares de vezes em certos cenários, mas convém tratá-los como indicativos, não como garantia universal. O ganho real dependerá de fontes, idiomas, tamanho do cache e do quão intensivo é o recálculo de layout da sua aplicação.
Casos reais mostrados nos demos
- Justificação comparada. O demo exibe o contraste entre a justificação nativa do CSS, uma versão com hifenização gulosa e um modo com Knuth e Plass, o que ajuda a decidir qual estratégia usar por coluna, idioma e largura.
- Rich text com chips e código. O exemplo de rich text conserva chips como unidades indivisíveis enquanto o texto ao redor se adapta, algo comum em UX de tags, mentions e filtros aplicados.
- Layout dinâmico editorial. Um spread com múltiplas colunas e obstáculos mostra título roteando por curvas sem reflow, sinal de que o motor consegue decisões locais e globais sem depender de medições do DOM.
Esses exemplos não são apenas vitrines. Eles replicam dilemas do mundo real, sites de notícias com colunas, apps de chat com balões otimizados, páginas de produto com textos que precisam manter linhas consistentes para não quebrar a harmonia visual do grid.
![Pretext layout demo placeholder]
Integração e ecossistema nascente
O ecossistema ao redor do Pretext se move rápido. Já existe um port para Dart, publicado no Pub.dev, que segue a ideia de layout multiline fora do DOM, sinal de interesse em levar o conceito além do universo TypeScript. Em comunidades técnicas, surgem coleções de links, exemplos extras e comparações com outras abordagens de renderização e layout de texto.
Para quem trabalha com engines gráficas, há projetos focados em tipografia de alta fidelidade, como bibliotecas que apoiam-se em HarfBuzz, parâmetros de TeX e hifenização multilíngue para 3D e WebGL. Essas referências ajudam a situar o Pretext no espectro, focando em medição e layout eficiente em userland, enquanto outras libs miram renderização como geometria.
Quanto a como começar, os próprios demos públicos são o melhor ponto de partida para entender capacidades e limites. A partir deles, dá para validar se seu caso, editorial, chat, cards, exige só medição de altura e quebra de linha, ou se precisa avançar para justificação com hifenização e estratégias globais de parágrafo.
Métricas, claims e a cautela necessária
Algumas matérias relatam tamanho minúsculo de biblioteca, por volta de dezenas de kilobytes, e ganhos na casa de centenas a milhares de vezes em determinados benchmarks. Também mencionam que o autor usou ferramentas de IA como Claude Code e Codex para acelerar a implementação e calibrar o algoritmo contra o “ground truth” dos navegadores. Essas afirmações descrevem condições específicas de teste e devem ser validadas em ambientes reais, com navegadores, fontes e idiomas do seu público.
Já a cobertura europeia em tecnologia destaca que a paridade perfeita com engines tipográficas dos browsers ainda precisa ser comprovada de forma ampla, dado o número de particularidades de scripts, glifos, ligaduras e renderizações que variam entre plataformas. Ou seja, ganhos são promissores, mas a generalização exige acompanhamento.
Acessibilidade, internacionalização e limites práticos
- A11y. Se o texto final continuar no DOM, leitores de tela e seleção nativa tendem a funcionar normalmente. Se tudo for desenhado em canvas, parte da acessibilidade precisa ser reimplementada, como foco, leitura por SR e navegação por teclado, o que pode ser caro. A cobertura especializada chama atenção para esse trade-off.
- RTL, CJK e emoji. Demos e relatos apontam compatibilidade ampla, incluindo scripts complexos e hifenização, mas a recomendação é testar com suas fontes reais, por exemplo Noto ou Inter, e textos representativos do produto.
- SEO e seleção. Layout em userland não deve sacrificar HTML semântico. Prefira manter o texto acessível ao crawler e à seleção do usuário, usando canvas apenas onde necessário.
![Typography placeholder]
Aplicações práticas agora
- Produtos editoriais, notícias, blogs longos. Use justificação com controle de rios tipográficos e hifenização por idioma. Teste colunas com diferentes larguras e avalie a fluidez de scroll.
- Chats e social. Balões com um número estável de linhas, com bolhas que ocupam menos área com a mesma legibilidade. Isso ajuda densidade de informação sem poluir o layout.
- Cards, grids e masonry. Previsão de altura sem DOM permite montar grids compactos com menos jank, melhorando LCP e INP.
- Documentação técnica e educação. Parágrafos longos, citações e blocos de código podem se beneficiar da justificação e do controle de quebras em várias larguras de coluna.
Como experimentar no seu projeto
- Explore os demos oficiais. Navegue pelos exemplos de justificação, rich text e layout dinâmico para internalizar o modelo mental antes de integrar.
- Modele seu caso em duas fases. Separe uma rotina de preparação de texto e outra de layout por largura. Avalie custos de cache e de reflow evitado na sua pilha atual.
- Defina critérios de aceitação. Metas de FPS em scroll, estabilidade de colunas e taxa de reflow são métricas úteis. Compare com a abordagem DOM nativa para ver o delta real.
- Planeje A11y e i18n. Se parte do conteúdo for para canvas, garanta equivalentes acessíveis. Teste idiomas com hifenização e scripts variados.
Reflexões e insights
Pretext chega em um momento em que o front end busca previsibilidade e desempenho em experiências cada vez mais ricas. Ao trazer medição e layout para userland, a biblioteca cria um espaço fértil para inovação em tipografia aplicada, desde microinterações até páginas editoriais inteiras. O valor não está apenas em “ser mais rápido”, está em permitir mais decisões de layout sem custo de jank.
Há, porém, um equilíbrio delicado. A web prospera quando o texto continua sendo texto, selecionável, pesquisável e legível por tecnologias assistivas. O entusiasmo com justificação e layout algorítmico precisa vir acompanhado de disciplina com HTML semântico e testes de acessibilidade. Os primeiros relatos e demos são encorajadores, e a comunidade já ensaia ports e integrações. Cabe agora aos times validarem, medirem e, se fizer sentido, adotarem gradualmente.
Conclusão
Pretext, de Cheng Lou, propõe um novo caminho para compor texto na web, medindo e quebrando linhas fora do DOM, com demos sólidos e promessas de ganhos expressivos. Em cenários reais, isso pode significar interfaces mais fluidas, previsíveis e tipograficamente maduras, sem a penalidade tradicional de reflows e leituras caras de layout.
Os próximos meses devem trazer validações em escala, bibliotecas complementares e padrões de melhores práticas para acessibilidade e internacionalização. Para quem constrói produtos digitais, vale experimentar agora, medir com rigor e adotar onde o benefício superar o custo, especialmente em conteúdo longo, layouts editoriais e experiências ricas em tipografia.