Поле теперь можно переименовывать и перебрендировать на лету
Любой участок доски может получить новое название и новый логотип, и изменение доходит до всех уже идущих партий — без деплоя и без перезапуска.

Простыми словами
Сорок клеток доски opolyx были зашиты в код. Изменить одну означало правку кода, ревью и деплой — из-за чего любое сезонное, промо- или просто ошибочное название обходилось куда дороже, чем должно.
Теперь название и логотип для любой клетки задаются из админки, и изменение вступает в силу немедленно — в том числе в партиях, которые уже идут. Оно доходит до каждого места, где opolyx работает онлайн: до сайта, до встроенной версии на партнёрских порталах и до повторов, из которых собираются клипы.
Офлайн-сборка, которую скачивают, сохраняет собственную встроенную доску — у неё просто нет соединения, откуда что-то получать.
Для тех, кому интересны детали
Это работает благодаря тому, где именно разрешаются названия и логотипы. Сама доска — это код, и она остаётся кодом: игровой сервер никогда не читает её из базы, поэтому игровая логика не тронута, а повторы старых партий остаются корректными. А вот названия и логотипы разрешаются на этапе отрисовки, поэтому глобальной карты переопределений достаточно, чтобы разом достать до всех поверхностей.
// lib/board/overrides.ts — render-time resolution, engine untouched
export function useFieldName(slug: string, fallbackKey: string): string {
const overrides = useBoardOverrides(); // provider, fetched once per page
return overrides[slug]?.name ?? t(fallbackKey); // else the translated default
}Хранилище — небольшая таблица с публичным чтением плюс публичный бакет для загруженных изображений. Чтение открыто, потому что доска и так публична; запись доступна только сервисной роли, и это обеспечивается отзывом прав по умолчанию, а не расчётом на политику — тот самый урок, который преподали три предыдущие миграции.
