Решили: грид per-unit лоадаута строит карточку контролом RelicCard, а не собирает её руками.
Почему: в MenuRouter.BuildLoadoutScreen построчно повторялся конструктор контрола — тот же
класс блока, тот же элемент спрайта, та же подпись с той же ролью. Расхождение было ровно в одном
свойстве: focusable. Когда 06.08.2026 карточки стали доступны с клавиатуры, этот грид молча
остался недоступен.
Поймать такое тестом нечем: обе стороны дают ОДИНАКОВУЮ разметку вплоть до того свойства, которое
и решает. Гейт состояний проверяет, что правило :focus объявлено в теме, — оно объявлено; что
элемент фокус принимает, USS не знает. Единственная защита — не иметь второй сборки вовсе.
Сказано: «НЕ собирать руками, понять что собирается и сделать норм размер, реальный размер» и «Сейчас, одной строкой» (07.08.2026, сессия e32de921).
Грабли: ручная сборка нашлась не поиском мёртвого кода и не гейтом, а вопросом про РАЗМЕР карточки: чтобы понять, почему в неё не влезает имя, пришлось идти в место, где её собирают. Дефект разводки лежал по дороге к дефекту вида.
Владелец правды: RelicCard.cs (единственная сборка), MenuRouter.cs (потребитель).