Enhance AI and simulation components with presence management and routing capabilities
- Introduced the `HSchool.Ai` project, responsible for routing, day plans, and presence management. - Updated the `HSchool.Simulation` project to integrate with the new AI functionalities, improving decision-making and presence tracking. - Added `travelMinutes` to room and territory definitions, ensuring accurate movement calculations within the simulation. - Enhanced the `School` class to manage presence and implement empty-time skipping functionality. - Updated documentation to reflect the new AI features and their impact on school simulation. - Added tests for presence management and routing to ensure robust functionality and reliability.
This commit is contained in:
@@ -13,7 +13,8 @@ way; this file is *how to work in them*.
|
||||
| skills, traits, body, needs, name sets | `src/HSchool.Content` |
|
||||
| people generation, families, roster records, yearly intake | `src/HSchool.People` |
|
||||
| timetable planning | `src/HSchool.Schedule` |
|
||||
| people in a school's World, need decay | `src/HSchool.Simulation` |
|
||||
| routes, day plans, who comes today | `src/HSchool.Ai` |
|
||||
| people in a school's World, need decay, walking | `src/HSchool.Simulation` |
|
||||
| the menu API (list, create, delete, mods, catalog) and the people list/card | `src/HSchool.Server/Api` **and** `docs/protocol.md` |
|
||||
| what the socket carries | `src/HSchool.Protocol` **and** `src/HSchool.Client/src/net/protocol.ts` **and** `docs/protocol.md` |
|
||||
| connection handling, workers, saves | `src/HSchool.Server` |
|
||||
@@ -111,6 +112,8 @@ say so explicitly in the change description.
|
||||
produce the same roster; the suite does not boot a host.
|
||||
- Timetable planning belongs in `tests/HSchool.Schedule.Tests`. Same staff, map and locks must
|
||||
produce the same table; the suite does not boot a host.
|
||||
- Walking and day plans belong in `tests/HSchool.Ai.Tests`. Same seed and map must produce the
|
||||
same route and commute; the suite does not boot a host, and it does not reference Arch.
|
||||
- Catalog, inheritance, patches and map validation belong in `tests/HSchool.Content.Tests`.
|
||||
Feed the loader documents, not disk paths.
|
||||
- Protocol changes need a round-trip test **and** a byte-layout assertion on both sides.
|
||||
@@ -164,3 +167,6 @@ say so explicitly in the change description.
|
||||
wrong for anything that must arrive exactly once — such a message would need its own path.
|
||||
- `erasableSyntaxOnly` is off in `tsconfig.app.json` on purpose: constructor parameter properties
|
||||
are used throughout.
|
||||
- **A large one-shot `Tick(week)` jumps the clock, then applies all those minutes at the new
|
||||
time.** Presence equality tests must loop `FixedDeltaTime` or one game minute. `string.GetHashCode`
|
||||
is randomized — commute slack goes through `Seed.Mix`, never that.
|
||||
|
||||
Reference in New Issue
Block a user