Refactor project structure and enhance AI and simulation components
- Updated project roles to include a new `HSchool.Ai` component, detailing its responsibilities in routing and decision-making. - Revised the `HSchool.Simulation` component to integrate with the new AI functionalities, improving the interaction between simulation and AI. - Expanded documentation to reflect the changes in project roles and the introduction of AI features. - Added tests for the new AI functionalities, ensuring robust pathfinding and decision-making capabilities. - Updated phase documentation to outline the new stages of school life, focusing on presence and behavior.
This commit is contained in:
@@ -10,7 +10,8 @@ Protocol — ни на кого из игровых проектов (
|
||||
Content — ни на Protocol, ни на Simulation, ни на ASP.NET
|
||||
People → Content (defs, карта, склонения; без Arch и хоста)
|
||||
Schedule → Content (раскладка уроков; без Arch и хоста)
|
||||
Simulation → People, Content (ростер в World; без HTTP)
|
||||
Ai → Content, People, Schedule (маршруты и решения; без Arch и хоста)
|
||||
Simulation → Ai, People, Content (ростер в World; без HTTP)
|
||||
Server → Protocol, Simulation, People, Content
|
||||
Client — своя сторона Protocol (TS) + HTTP
|
||||
```
|
||||
@@ -24,7 +25,8 @@ Client — своя сторона Protocol (TS) + HTTP
|
||||
| **HSchool.Content** | Типы def, JSONC-загрузчик, наследование, патчи, слияние локалей, граф карты, валидация связности | Arch, часы, HTTP, потоки, пути `mods/` с диска хоста |
|
||||
| **HSchool.People** | Генерация ростера: семьи, классы, тело/навыки/черты из каталога и сида | Arch, ASP.NET, сокеты, `DateTime.Now`, файлы сейва |
|
||||
| **HSchool.Schedule** | Раскладка учебного плана в таблицу уроков вокруг закреплённых правок | Arch, ASP.NET, сокеты, `DateTime.Now`, файлы сейва |
|
||||
| **HSchool.Simulation** | `School`, `GameClock`, Arch `World`, тик, применение раскладки к миру | Kestrel, сокеты, `Directory.Enumerate`, сейв-файлы |
|
||||
| **HSchool.Ai** | Маршруты по графу карты, план дня человека, выбор цели и действия, продвижение плана во времени | Arch, ASP.NET, сокеты, `DateTime.Now`, файлы сейва |
|
||||
| **HSchool.Simulation** | `School`, `GameClock`, Arch `World`, тик, применение раскладки к миру, адаптер к `Ai` | Kestrel, сокеты, `Directory.Enumerate`, сейв-файлы |
|
||||
| **HSchool.Server** | Хост, супервизор, работник-поток, `mods/` и `saves/` из конфига, HTTP/WS, DTO запросов | Правила «комната должна быть связана», схема Chair |
|
||||
| **HSchool.Protocol** | Кадры сокета, в том числе снимок карты и locale в Hello | Имена комнат, JSONC |
|
||||
| **HSchool.Client** | DOM, `t()` для хрома, рисует снимок | Файлы модов, симуляция |
|
||||
@@ -52,6 +54,7 @@ Arch и фиксированный тик — про живую школу. Па
|
||||
- `tests/HSchool.Content.Tests` — фикстуры JSONC, коллизии имён, дырявый граф, двор обязателен.
|
||||
- `tests/HSchool.People.Tests` — тот же сид даёт тот же ростер; места и должности заполнены.
|
||||
- `tests/HSchool.Schedule.Tests` — тот же штат и карта дают ту же таблицу; четыре запрета.
|
||||
- `tests/HSchool.Ai.Tests` — путь между комнатами и его цена; те же входы дают то же решение.
|
||||
- `HSchool.Simulation.Tests` — часы, тик, «школа с таким каталогом живёт».
|
||||
- `HSchool.AppHost.Tests` — create с картой, рестарт, сейв на диске.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user