Тут навчилися дуже ефективно рахувати висоту тексту без DOM. Cheng Lou (автор react-motion, ReasonML у Facebook, зараз Midjourney) випустив Pretext — pure JS/TS бібліотеку для text measurement
ідея проста: замість getBoundingClientRect (який тригерить layout reflow і вбиває перфоманс) він юзає canvas.measureText() — той самий font engine браузера, але без reflow.
Один раз робимо prepare(), далі layout() — чиста арифметика по кешованих ширинах
різниця — 300-600x. 500 текстових блоків: DOM = 15-30мс і 500 reflow, Pretext = 0.05мс і нуль reflow
побудовано з Claude + Codex, тижнями тренували на browser ground truth по всіх мовах, емодзі, RTL. 5.6k зірок за пару днів
bun
install @chenglou/pretext