Інженер Midjourney створив інноваційний алгоритм, що вирішує давню проблему «гальмування» сайтів
Новий відкритий проєкт Pretext, створений інженером компанії Midjourney Ченгом Лу, покликаний вирішити одну з давніх технічних проблем веброзробки — повільний і складний розрахунок розміщення тексту на сторінках і в інтерфейсах.
У сучасних вебдодатках — наприклад, у чатах із генеративним AI, новинних стрічках або складних редакторських макетах — браузер повинен постійно перераховувати розміщення тексту під час прокрутки, зміни розміру вікна чи появи нового контенту. Зазвичай ці обчислення виконуються через DOM (Document Object Model), що часто створює вузьке місце продуктивності: інтерфейси починають «гальмувати», знижується частота кадрів і зростає енергоспоживання.
Pretext пропонує інший підхід. Бібліотека відокремлює обчислення макета тексту від DOM і використовує метрики шрифтів Canvas як основу для точних математичних розрахунків. Це дозволяє визначати розташування кожного символу, слова чи рядка без звернення до реальних елементів сторінки. У результаті система може виконувати розрахунки дуже швидко: за даними тестів, функція layout здатна обробляти сотні текстових блоків приблизно за 0,09 мілісекунди, що у 300–600 разів швидше, ніж традиційні методи.
Архітектура Pretext побудована на двох етапах. Перший — prepare, де текст аналізується, розбивається на сегменти та вимірюється з використанням метрик шрифтів. Цей процес виконується один раз, після чого результат кешується. Другий етап — layout, який виконує чисті математичні обчислення для визначення ширини, висоти або кількості рядків залежно від доступного простору. Завдяки цьому розрахунок можна повторювати багато разів без втрати продуктивності, навіть під час анімацій або зміни розміру вікна.
Ще одна важлива особливість бібліотеки — підтримка складних типографічних сценаріїв. Pretext може коректно працювати з багатомовними текстами, включно з поєднанням різних систем письма (наприклад, латиниці та арабського письма), правильно обробляти емодзі та складні графеми, а також зберігати форматування на кшталт табуляції чи жорстких переносів рядків.
Розробка Pretext також використовувала сучасний підхід, який автор називає “AI-friendly iteration”. Для перевірки алгоритмів застосовувалися мовні моделі, що порівнювали математичні результати бібліотеки з реальним відображенням тексту в різних браузерах. Це допомогло досягти майже ідеальної точності без використання важких WebAssembly-модулів.
Після публікації проєкту розробники почали активно експериментувати з новими інтерфейсами: інтерактивними журнальними макетами, величезними сітками текстових блоків і чат-бульбашками, що миттєво адаптуються до контенту. Отже, нові підходи до розрахунку текстового макета можуть значно прискорити вебінтерфейси й відкрити можливості для складніших і динамічніших застосунків.
Раніше ми писали, що штучний інтелект швидко змінює індустрію розробки ПЗ: за даними SolvedByCode, у січні 2026 року ШІ створював близько 41% світового коду.
