Решили: перечень элементов интерфейса и их состояний живёт кодом-данными (UiComponentRegistry), а не документом; состояния требуются с БЛОКА, не с варианта; сам реестр не ссылается на UIElements.

Почему: перечня не существовало ни в каком виде, и цена этого измерима — :checked не был объявлен ни разу, :active отсутствовал у двенадцати кликабельных классов, :focus у тринадцати, :disabled стоял у одиннадцати из тридцати. Набор состояний приходилось помнить, а помнить его негде: components.uss был лентой на 3994 строки. Отвергли документ (ui-feedback.md уже был объявлен «домом для доступно/недоступно/занято/выбрано» и полтора месяца держал только «недоступно» — док отстаёт молча и никого не роняет). Отвергли требование состояний с каждого варианта: --primary, --selected наследуют состояния блока, и гейт заставлял бы писать пустые правила ради зелёного. Отвергли фабрики образцов внутри реестра: тогда рантайм-сборка потащила бы знание о витрине, нужной одному редакторному инструменту, — вместо этого реестр остался чистыми строками и флагами и попал в быстрый прогон (шесть тестов, 0.7 с, без редактора).

Сказано: «Как будто у нас нет единого цельного набора всех элементов, их состояний. Часто встречаются очень старые состояния кнопок и решения, от которых мы отказались.» (2026-08-06, сессия a66a54e9). Обязательный набор — его же вердикт в тот день: наведение, нажатие, выключенность и фокус у всего кликаемого, checked где применимо; фокус ради клавиатуры и геймпада, а не мыши.

Грабли: второй владелец того же факта нашёлся сразу — UiSoundSystem.FindInteractive держал свой список кликабельных классов и знал шесть из тридцати. Сосуд во Дворе, карточка лавки, строка запаса, строка дропа, свотч профиля и строки пикера кликались молча, и заметить это по монитору нельзя — только на слух и только зная, что звук вообще должен быть. Список переведён на реестр; отдаётся массивом, а не yield-перечислением, потому что читается на каждое движение указателя.

Владелец правды: Assets/_Project/Scripts/UI/Components/UiComponentRegistry.cs, тесты UiComponentRegistryTests.