[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-модели