Remove off-queue.md and add new design documentation files including README.md, defs.md, near-term.md, projects.md, runtime.md, people.md, staffing.md, and schedule.md to outline the structure and agreements for the game's design phases.

This commit is contained in:
Leonid Pershin
2026-08-20 12:26:13 +03:00
parent 12cc36b4dd
commit a37a5eb82d
101 changed files with 1015 additions and 921 deletions
+49
View File
@@ -0,0 +1,49 @@
# Фаза 42. Темы и кружки
## Зависимости
- [Фаза 41](41-opinions.md)
- [Фаза 21](../05-ai/21-decisions.md)
- [Фаза 31](../07-inventory/31-dress-generator.md)
## Зачем
`Chat` перестаёт быть соло. В узле говорят 2–4 человека об одной теме. Язык и
`Communication` влияют на исход.
## Задачи
- [x] `TopicDef`: теги, возраст, роли, шёпот-на-уроке, опциональный язык
- [x] Ванильный набор тем (учёба, игры, еда, семья, спорт, сплетни, грубое, внешность) в `core`.
Тема внешности учитывает уместность одежды, если сервер её уже прислал; иначе модификатор 0
- [x] Кружок 2–4 в одном узле; пятый не влезает
- [x] Кого зовут: друзья и одноклассники в узле, врагов не зовут; тихоня/лидер — поля черты
- [x] На перемене и в обед друзья тянутся в узел своих; враги не выбирают тот же обеденный узел,
если есть другой
- [x] `StaffChat` в `TeachersRoom`, только сотрудники
- [x] Парный телефонный чат на перемене: оба несут `Phone`, слабее живого кружка; на уроке нет
- [x] Нет общего языка — кружок можно, сдвиг мнения слабый и чаще вниз
- [x] `Communication` растёт от разговора меньше, чем предмет за урок; язык разговора — капля,
если не у потолка
- [x] Черты **сплетник** и **общительный** в `core` с полями, не списками в коде
- [x] Исход пишет мнения всех пар кружка и строку лога
- [x] На уроке обычный `Chat` не стартует (шёпот — фаза 43)
## Тесты, без которых фаза не закрыта
- [x] Двое свободных друзей в коридоре на перемене собирают кружок; враги — нет
- [x] Пятый в узле не входит в тот же кружок
- [x] Сотрудники в учительской могут `StaffChat`; ученик это действие не берёт
- [x] Двое с телефоном на перемене могут парный чат; без телефона — нет
- [x] Без общего языка мнение почти не растёт при том же `Communication`
- [x] Высокий `Communication` сильнее двигает число, чем низкий, на одной теме
- [x] Каталог без `TopicDef` не стартует школу с кружками — или падает загрузка, не молча соло-Chat
## Критерий готовности
- На перемене в коридоре двое «разговаривают», на карточке мнение сдвинулось, в логе тема
- `dotnet test` проходит
## Стоп
Не шёпот на уроке. Не драка. Не менять кадр присутствия (локация может ещё писать «Разговор»).