Решили: тумблеры каналов диагностики живут полкой в консоли логов (F2), а не отдельным экраном на новой клавише; выбор каналов хранится между запусками в машинно-локальном файле.

Почему не новая клавиша. Дев-клавиш уже три (F1 команды, F2 лог, F3 бои), и накануне Макс не смог вспомнить, какие из них живые, — четвёртая множила бы ровно эту проблему. Тумблеры нужны там, где на их результат и смотрят: в логе.

Сказано: «может, пока помню, сделаеь на F4 новый экран с включением логов (и отключением?), с кнопкой “показать логи” и т.д.? Твое мнение?» (05.08.2026, сессия 499c4dc5). Предложение было про отдельный экран; полку в существующей консоли Макс выбрал из трёх вариантов.

Грабли, и они не про кооп: докстринг обещал то, чего никто не написал. Diag с самого начала утверждал, что «включённые каналы переживают перезапуск — их помнит машинно-локальное хранилище». У события Changed при этом не было ни одного подписчика: каждый запуск начинался с тишины, и на живом разборе кооп-прогона каналы включали руками на обеих машинах — и переигрывали заход, когда один забыл.

Урок общий: докстринг — единственная часть кода, которую ничто не проверяет. Он не компилируется, не падает и не расходится с реальностью заметно. Обещание поведения в нём («переживает», «хранится», «гарантируется») стоит либо подтверждать тестом, либо не писать вовсе.

Второе следствие, мелкое, но общее: кнопки каналов строятся по самому перечислению, а не перечисляются в разметке. Список в UXML разъехался бы с DiagChannel на первом же новом канале — молча: тумблера просто не было бы, а канал считался бы неработающим.

Владелец правды: Game/Services/DiagChannelStore.cs, Core/Settings/DiagSettings.cs, UI/DevConsole/DevLogScreen.cs (полка и кнопка папки).