Corridor waiters need a summon-phase byte on presence (v11); EventDef DirectorSummoned is info-only so clocks keep running.
39 lines
2.0 KiB
Markdown
39 lines
2.0 KiB
Markdown
# Фаза 71. Тосты вызова и очередь на экране
|
|
|
|
## Зависимости
|
|
|
|
- [Фаза 70](70-director-summons.md)
|
|
- [Фаза 64](../11-events/64-event-defs.md)
|
|
|
|
## Зачем
|
|
|
|
Игрок видит, что кого-то вызвали, не вычисляя очередь глазами по всему дереву.
|
|
|
|
## Задачи
|
|
|
|
- [x] `EventDef` info на авто-вызов (ваниль в `core`); факт из симуляции → доска уведомлений
|
|
среза 11
|
|
- [x] Тост не паузит часы; не в сейве sticky
|
|
- [x] В панели локации / присутствии понятно «идёт к директору» / «ждёт у кабинета» / «на приёме»
|
|
— через действие и узел; новый байт в кадре присутствия — только если иначе нельзя; тогда
|
|
протокол +1 в этом коммите (`ProtocolCodec`, `protocol.ts`, `docs/protocol.md`)
|
|
- [x] Гость видит те же info; ничего не назначает
|
|
- [x] Локали RU/EN
|
|
|
|
## Тесты, без которых фаза не закрыта
|
|
|
|
- [x] Qualifying-вызов эмитит notice с ожидаемым `EventDef`
|
|
- [x] Info не пишет sticky в сейв
|
|
- [x] Если бамп протокола — round-trip и byte-layout на C# и TS
|
|
- [x] Без открытого клиента очередь в мире всё равно двигается (подписка не обязательна для сима)
|
|
|
|
## Критерий готовности
|
|
|
|
- Вызов → тост; в коридоре у кабинета видно ожидающих; старый клиент при бампе отваливается на
|
|
Hello
|
|
- Отфильтрованные тесты по Testing policy проходят
|
|
|
|
## Стоп
|
|
|
|
Не собрания. Не warning-пауза на каждый вызов.
|