Enhance school day structure and decision-making for lunch breaks
ci / server (push) Failing after 3m43s
ci / client (push) Successful in 15s

- Updated `ai.md` to clarify the mechanics of hunger restoration and the importance of lunch breaks in the school schedule.
- Revised `schedule.md` to detail the new lunch break structure, allowing for separate sittings for different grade levels.
- Enhanced `Decision.cs` and `DecisionPlanner.cs` to incorporate logic for lunch breaks, ensuring that students only leave lessons during their designated lunch windows.
- Updated `DayFrameDef` and related classes to support multiple lunch breaks and validate their configurations.
- Adjusted tests to validate the new decision-making logic regarding lunch breaks and hunger management, ensuring robust functionality.
- Improved localization strings to reflect changes in the school day structure and lunch functionalities.
This commit is contained in:
Leonid Pershin
2026-08-19 23:17:16 +03:00
parent a441ed9763
commit 5eabc90d53
33 changed files with 831 additions and 404 deletions
+7 -5
View File
@@ -290,13 +290,15 @@ Protocol ← Server → Simulation → People → Content
## Просмотр
Не отдельный экран. Список людей — **панель в оболочке менеджера**, рядом с картой и событиями:
уходя в отдельный экран, игрок теряет из виду часы, локацию и события, а смысл этой оболочки
Не отдельный экран. Список людей — **панель в оболочке менеджера**, рядом с картой:
уходя в отдельный экран, игрок теряет из виду часы и локацию, а смысл этой оболочки
ровно в том, чтобы всё было на одном экране. Ориентир — прогрессивный QSP: текст, списки и ссылки,
без сцены.
Панель «Люди» занимает нижний ряд во всю ширину — фильтрам, колонкам и пейджеру нужна ширина,
которой нет в колонке шириной в треть экрана.
Панель «Люди» — вторая вкладка той же панели, что и карта: фильтрам, колонкам и пейджеру нужна
ширина, а держать список третьим рядом под картой значило бы отдать ему высоту, которой на экране
школы нет. Вкладка переключается рядом с деревом, выбранная строка открывает карточку справа —
там же, где содержимое локации.
- **Фильтры**: роль (ученики / работники / родители), параллель и литера, должность, пол,
возрастной диапазон.
@@ -388,7 +390,7 @@ Protocol ← Server → Simulation → People → Content
| Имена и язык UI | Независимы |
| Библиотека | `HSchool.People`: зависит от Content, не знает Arch и ASP.NET |
| Детерминизм | Сид в сейве, свой сид на семью; родной язык — часть входа |
| Просмотр | Панель в оболочке менеджера, нижний ряд; не отдельный экран |
| Просмотр | Панель в оболочке менеджера, вкладкой рядом с картой; не отдельный экран |
| Список | Фильтры, сортировки, пейджинг; в строке — только лёгкие поля |
| Транспорт списка | HTTP по опубликованному снимку ростера |
| Транспорт карточки | Запрос в воркер, потому что нужды живые |