«Майбутнє верстки тексту — не CSS»: інженер Midjourney відкрив вихідний код Pretext

BlockBeatNews

Згідно з моніторингом 1M AI News, інженер Midjourney та автор бібліотеки анімацій React react-motion Чен Лоу відкрив вихідний код Pretext, чистої бібліотеки для вимірювання та верстки тексту на JavaScript/TypeScript без залежностей. Pretext обходить вимірювання DOM браузера (такі як getBoundingClientRect, offsetHeight), уникаючи переробки макета (layout reflow), виконує обчислення висоти тексту та перенесення з використанням чистої арифметики.

Pretext працює у два етапи: prepare() одноразово вимірює ширину символів за допомогою Canvas API, а layout() виконує чисті арифметичні розрахунки на основі кешованих даних ширини. У бенчмаркингу з 500 фрагментів тексту prepare() займає приблизно 19 мс, а layout() потребує лише 0.09 мс. Чен Лоу у супутній статті написав: «Підвищення продуктивності не є поступовим, а є якісним: 0.05 мс у порівнянні з 30 мс, нуль переробок у порівнянні з п’ятсот разами».

Бібліотека підтримує всі мови, включаючи китайську, японську, корейську, арабську, а також emoji та змішаний двонаправлений текст, може бути відрендерена в DOM, Canvas, SVG. Типові сценарії застосування включають:

  1. Віртуальні списки та виключення перекриттів без необхідності вгадувати висоту
  2. Користувацька верстка на основі JavaScript, така як водоспад
  3. Адаптивне зменшення ширини багаторядкових текстових бульбашок у чатах
  4. Верстка тексту навколо зображень
Застереження: Інформація на цій сторінці може походити від третіх осіб і не відображає погляди або думки Gate. Вміст, що відображається на цій сторінці, є лише довідковим і не є фінансовою, інвестиційною або юридичною порадою. Gate не гарантує точність або повноту інформації і не несе відповідальності за будь-які збитки, що виникли в результаті використання цієї інформації. Інвестиції у віртуальні активи пов'язані з високим ризиком і піддаються значній ціновій волатильності. Ви можете втратити весь вкладений капітал. Будь ласка, повністю усвідомлюйте відповідні ризики та приймайте обережні рішення, виходячи з вашого фінансового становища та толерантності до ризику. Для отримання детальної інформації, будь ласка, зверніться до Застереження.
Прокоментувати
0/400
Немає коментарів