Решили: текст описывается ВОСЕМЬЮ ролями (вывеска, заголовок, имя вещи, тело, подпись действия, число, метка, код), под каждым образцом в витрине стоит ЗАМЕР с живого элемента — гарнитура, кегль, цвет, разрядка; «удаление» у кнопки — состояние, а не роль.
Почему: на вопрос «какой текст у нас обычный, какой для кнопок, какой для табов» прямого ответа
не было. Типографику в дереве задают 75 классов, и роль «тело текста» размазана по четырём из
них (gm-tooltip__desc, gm-detail__desc, gm-event-body, gm-loadout__narrative-text) — та же
болезнь, что была у кнопок: привязка к экрану вместо роли. Первый заход дал четырнадцать записей и
был свёрнут до восьми: надстрочник, метка сборки, заголовок раздела и ключевое слово отличаются
кеглем или цветом, то есть осью размера и ролью цвета, а не назначением. «Удаление» ушло из ролей
потому, что красный говорит о ПОСЛЕДСТВИИ нажатия, а не о месте действия в иерархии экрана — тем же
свойством обладает «не по карману», и обе метки накладываются на любую роль.
Сказано: «Что с неймингами текста? Где все наши тексты? Какой текст у нас обычный (для описаний способностей или ивентов), какой для кнопок юзается, какой для табов юзается?» и «как и кнопки, желательно придти к небольшому количество реально нужных вариантов, хихи» (06.08.2026).
Грабли: образец текстовой роли БЕЗ РОДИТЕЛЯ меряет не то. «Подпись действия» показывала 14px
почти чёрным, «код» — FiraSans вместо Fira Mono: кегль подписи задаёт сама кнопка, а моноширинную
гарнитуру — правило .gm-console .unity-text-element, то есть ПРЕДОК. Оба образца стояли голыми и
выглядели правдоподобно — поймал их численный замер, а не глаз, и только потому, что замер
снимается с resolvedStyle, то есть с применившегося значения. Отсюда общее правило витрины: роль,
которую набирает предок, показывается вместе с ним.
Вторая, мельче: gm-tab живёт в двух группах сразу — как вкладка и как её подпись, — и таблица
образцов на одном словаре ключей не собиралась. Таблицы разведены по группе записи.
Владелец правды: UiComponentRegistry (роли), UiSampleFactory (сборка образца),
UiContactSheet.Measure (замер).