Pretext

Нейросеть Pretext

Революция в измерении текста: библиотека обходит браузер и считает без DOM

Pretext — библиотека для JavaScript и TypeScript, которая измеряет и раскладывает многострочный текст без единого обращения к DOM. Это значит, что ты получаешь высоту параграфа, количество строк и их ширину чистой математикой, минуя дорогущие операции вроде getBoundingClientRect или offsetHeight, которые заставляют браузер пересчитывать всю страницу.

Работает просто: сначала вызываешь prepare() — библиотека нормализует пробелы, разбивает текст на сегменты, измеряет их через canvas и возвращает готовую структуру. Потом запускаешь layout() — быстрый проход по уже посчитанным данным, который выдает высоту и число строк. Никаких перерисовок, никаких тормозов. На бенчмарках prepare() отрабатывает за 19 миллисекунд на пачку из 500 текстов, а layout() — за 0.09 миллисекунды.

Pretext понимает все языки, включая арабский, китайский, эмоджи и смешанные направления письма. Умеет работать с обычными пробелами и с textarea-режимом, где сохраняются табы и переносы строк. Для этого достаточно передать опцию whiteSpace: 'pre-wrap' в prepare().

Если нужно больше контроля, используй prepareWithSegments() и layoutWithLines() — получишь массив строк с их текстом, шириной и позициями. Есть walkLineRanges() для случаев, когда хочешь узнать ширину каждой строки без построения самих строк, например, чтобы найти минимальную ширину контейнера. А layoutNextLine() позволяет строить текст построчно с разной шириной на каждой строке — удобно для обтекания картинок или сложных макетов.

Библиотека открывает путь к виртуализации без костылей, к серверному рендерингу текста, к проверке переполнения лейблов еще на этапе разработки и к предотвращению layout shift при подгрузке контента. Рендерить можно в DOM, Canvas, SVG, скоро добавят серверную сторону.

    Pretext: галерея

Нейросеть Pretext была впервые опубликована 02-04-2026 16:10:04 и вручную отредактирована 07-04-2026 16:01:36.

Логотип Telegram

Будьте в курсе новых нейросетей — подпишитесь на наш Telegram-канал!

Ежедневные обзоры свежих AI-инструментов, лайфхаки и инструкции прямо в вашем мессенджере.

AILibri – главная страница
Ctrl / ⌘+K