Решили: из UiPreviewCatalog вырезана только ГАЛЕРЕЯ компонентов (301 строка вместе с витриной
подсказок); сам стенд остался — он собирает одиннадцать целых экранов на стендовых данных и его
зовут DevEncounterPanel, UiPreviewHost, UiPreviewMenu.
Почему: галерея показывала 7 контролов из 14 и собирала вкладку голым Button там, где экраны
используют PlateButton — состояния активной вкладки висят на --gm-plate-*, которых обычная
кнопка не читает. Её задачу делает контактный лист, и делает верно: образцы строятся через
UiSampleFactory, то есть у сборки один владелец. Экраны же лист не собирает вовсе, и «посмотреть
награду, не гоняя весь флоу» больше нечем.
Грабли, и они процессные. Пункт tech-debt назывался «UiPreviewCatalog пережил свою задачу и
теперь ВРЁТ» и предлагал «снести и перенаправить AGENTS.md». Врала одна его часть из двенадцати, а
имя в заголовке стояло от целого инструмента. Решение о сносе принималось Максом по этой
формулировке — то есть по моему описанию, а не по коду. Поймано на первом же взгляде в файл, до
правки; будь пункт исполнен буквально, стенд экранов уехал бы вместе с галереей.
Отсюда правило для записей о долге: заголовок называет сломанную ЧАСТЬ, а не файл, в котором она
живёт. «Галерея внутри UiPreviewCatalog дублирует контактный лист» — и снести предлагается ровно
её. Иначе запись через месяц читается как приговор всему файлу, а проверить это некому: тот, кто
принимает решение, читает пункт, а не исходник.
Владелец правды: UiPreviewCatalog (что стенд ещё умеет), Assets/_Project/UI/AGENTS.md
(куда идти за приёмкой), tech-debt.md §5.8 п.1.