Add timetable planning and related tests to school simulation
- Introduced a new project for timetable planning, dependent on HSchool.Content. - Updated documentation to reflect the addition of timetable planning and its dependencies. - Added tests for timetable planning to ensure deterministic behavior with the same staff and map. - Revised architecture documentation to include the new HSchool.Schedule component and its interactions.
This commit is contained in:
@@ -12,6 +12,7 @@ way; this file is *how to work in them*.
|
||||
| defs, JSONC catalog, map validation | `src/HSchool.Content` |
|
||||
| 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` |
|
||||
| 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` |
|
||||
@@ -108,6 +109,8 @@ say so explicitly in the change description.
|
||||
Putting a roster into `World` and ticking needs belongs there too.
|
||||
- People generation belongs in `tests/HSchool.People.Tests`. Same seed, map and name set must
|
||||
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.
|
||||
- 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.
|
||||
|
||||
Reference in New Issue
Block a user