Как автор предлагает строить UX богатого текста: от рендеринга до истории правок
Как автор предлагает строить UX богатого текста: от рендеринга до истории правок На PiterUX Дмитрий Карловский показал концепцию редактора богатого текста, в которой отдельно продуманы вывод текста, каретка, выделение и история правок. Для рендеринга он описывает цепочку из токенизации, расчёта ширин и высот, разбиения на строки, вычисления позиций, отсечения невидимого и отрисовки по координатам. Такой подход он связывает с требованиями к производительности и точности печати. Практически важны несколько идей. Для длинных слов в узких колонках автор выбирает сжатие букв по ширине. Для PascalCase-идентификаторов он предлагает искать перенос не только по пробелам. Каретку он советует визуально различать в зависимости от логической позиции, а при наведении — показывать призрачную каретку вместо смены курсора. Отдельно он настаивает на разделении семантики и оформления. История редактирования, по его словам, должна храниться в структурах данных, позволяющих перебазировать правки на новое состояние. Это делает концепцию полезной для проектирования редакторов и интерфейсов с богатым форматированием, но не превращает её в готовый рецепт внедрения без доработки. Источник: Habr IDE and Developer Tools RU — https://habr.com/ru/articles/1095498/