[draft] Видимость событий

Заглушка. Содержание будет наполняться постепенно.

Все события приложения имеют поле visibility JSONB трёх форм: {mode: 'all'} (видят все игроки и зрители), {mode: 'dm_only'} (только DM и spectator с see_all), {mode: 'characters', character_ids: [...]} (только перечисленные персонажи + DM). На Day 1 всё создаётся с mode=all — открытая по умолчанию видимость. Архитектура финальная сразу: когда добавится UI скрытых действий, миграции схемы не нужно.

Что планируется в статье

  • Три режима видимости и кто что видит
  • RLS-выражение и как оно проверяет visibility
  • Spectator с see_all=true видит dm_only-события
  • Партии — UI-агрегация, не security-граница
  • Live broadcast как побочный эффект visibility-модели