Revolução Front-End: Criador do React Usa IA Para Tornar CSS Obsoleto e Revolucionar Layouts Web

A web moderna pode estar prestes a passar por uma transformação radical graças a uma nova biblioteca chamada Pretext. Desenvolvida por Cheng Lou, um dos nomes por trás do React e ReasonML, a ferramenta promete eliminar uma das maiores fontes de lentidão em sites e aplicativos: o reflow de layout causado pelo CSS tradicional.

Essa inovação não é apenas um avanço em termos de performance, mas também representa uma nova era no desenvolvimento de software, onde a inteligência artificial desempenha um papel crucial na criação de infraestrutura. O Pretext foi construído com a ajuda de modelos de IA como Claude Code e Codex, alimentados com dados precisos do comportamento dos navegadores.

A proposta é clara, e os resultados preliminares são impressionantes. Com o Pretext, desenvolvedores podem obter layouts de texto mais rápidos e eficientes, sem a necessidade de interagir diretamente com o DOM para medições, um processo que historicamente consome muitos recursos e causa travamentos.

Adeus, Reflow de Layout: Uma Nova Era para a Web

O CSS, criado há três décadas para documentos estáticos, enfrenta desafios significativos na web dinâmica e interativa de hoje. Um dos problemas mais persistentes é o layout reflow, que ocorre sempre que o navegador precisa recalcular a posição e o tamanho de elementos na página. Essa operação, especialmente ao lidar com medições de texto, pode congelar a thread principal do navegador por dezenas de milissegundos, impactando diretamente a fluidez da experiência do usuário.

Cheng Lou, conhecido por seu trabalho em projetos como o Messenger e o Midjourney, identificou essa ineficiência como um gargalo crítico. O Pretext surge como uma solução direta, medindo e organizando o texto sem depender do DOM. Isso significa zero reflows e uma performance estimada em até 500 vezes mais rápida, tudo isso com uma biblioteca de poucos kilobytes.

Inteligência Artificial como Ferramenta de Criação de Infraestrutura

O que diferencia o Pretext de outras bibliotecas é a sua origem. Cheng Lou utilizou inteligência artificial, especificamente Claude Code e Codex, para construir a base da ferramenta. Ao alimentar a IA com o comportamento real dos navegadores (o ground truth), ele permitiu que a inteligência artificial iterasse até alcançar a precisão necessária.

O resultado é uma biblioteca capaz de lidar com uma vasta gama de complexidades textuais, incluindo idiomas CJK (Chinês, Japonês, Coreano), árabe com escrita RTL (Right-to-Left), emojis e clusters de grafemas. Isso demonstra o poder da IA em resolver problemas de infraestrutura de UI que persistiram por anos, sob a supervisão de um engenheiro de front-end experiente.

Pretext: Performance e Precisão em Layout de Texto

O Pretext é uma biblioteca TypeScript pura focada em medição e layout de texto multilinha. Sua principal vantagem é evitar as caras operações de medição no DOM, como `getBoundingClientRect` ou `offsetHeight`, que são gatilhos comuns para o reflow. Em vez disso, o Pretext implementa sua própria lógica de medição, baseada no motor de fontes do navegador, garantindo velocidade e precisão.

A instalação é simples via npm: `npm install @chenglou/pretext`. A biblioteca oferece duas APIs principais. A primeira, `prepare` e `layout`, permite medir a altura de um parágrafo sem tocar no DOM. Por exemplo, para um texto em português com a fonte ’16px Inter’ e uma largura máxima de 20 unidades, o código seria:

import { prepare, layout } from '@chenglou/pretext'

const prepared = prepare('O inverno acabou. A primavera chegou.', '16px Inter')

const { height, lineCount } = layout(prepared, 20)

A função `prepare()` realiza o processamento inicial mais pesado, enquanto `layout()` é significativamente mais leve, otimizada para performance. Para comportamentos semelhantes a `textarea`, preservando espaços e quebras, a opção `whiteSpace: ‘pre-wrap’` pode ser utilizada.

Layout Manual e Suporte Abrangente a Idiomas

A segunda API, `prepareWithSegments` e `layoutWithLines`, possibilita um controle mais granular, permitindo o layout manual das linhas. Isso é particularmente útil para renderizações em Canvas ou SVG, onde o controle pixel a pixel é essencial. Um exemplo para renderizar texto em Canvas seria:

import { prepareWithSegments, layoutWithLines } from '@chenglou/pretext'

const prepared = prepareWithSegments('AGI 春天到了. بدأت الرحلة 🚀', '18px "Helvetica Neue"')

const { lines } = layoutWithLines(prepared, 320, 26)

for (let i = 0; i < lines.length; i++) { ctx.fillText(lines[i].text, 0, i * 26) }

O Pretext também oferece APIs auxiliares como `walkLineRanges` para determinar a largura da maior linha, e `layoutNextLine` para um layout dinâmico linha por linha, permitindo a criação de sistemas de paginação complexos ou fluxos de texto adaptáveis.

A biblioteca demonstra um suporte impressionante a diversos cenários, incluindo a preservação de espaços e tabs com `white-space: pre-wrap`, `word-break: break-word`, e `line-break: auto`. Embora fontes `system-ui` possam apresentar inconsistências, especialmente no macOS, o Pretext se posiciona como uma infraestrutura de UI de ponta, escrita por IA sob a orientação de um dos engenheiros mais influentes da atualidade.