73d849e117
Working World roundtrip serialization
...
There are probably still reference equality issues here since Unit still has Season and Power objects. The test case builder also still works on reference equality in some places so the second part of adjudication is broken.
2024-08-14 09:51:18 -07:00
31bd6a45cb
Define JSON serialization options on World
2024-08-14 09:16:53 -07:00
5ad57465d8
Remove reference from Unit.Past
2024-08-14 09:06:05 -07:00
885628900b
Remove Location reference from Unit
2024-08-14 09:06:05 -07:00
e1772ce60b
Refactor away Unit.Province
2024-08-14 09:06:05 -07:00
abaa7f7a92
Shift usage of Unit.Location to Unit.LocationId
...
This is in preparation for removing province and location references from Unit
2024-08-14 09:06:04 -07:00
442015b942
Always name locations
2024-08-14 09:06:04 -07:00
228ad53cca
Enable basic World serialization
2024-08-14 09:06:04 -07:00
f1563b8f5f
Delete Season.Coord
2024-08-14 09:06:04 -07:00
345d54f960
Refactor timelines and season creation logic into World
2024-08-14 09:06:04 -07:00
58f877425a
Add more JsonIgnores
2024-08-14 09:06:04 -07:00
2f4c8b2a38
Store order history by timeline designation instead of reference
2024-08-14 09:06:04 -07:00
ef4e130dbb
Add a serialization round trip test
...
This currently fails because a lot of World still works on references instead of lookups
2024-08-14 09:06:04 -07:00
9606307e12
Update Season ctor
2024-08-14 09:06:04 -07:00
87685ec744
Refactor season futures into World
2024-08-14 09:06:04 -07:00
752a898123
Use a simpler override where available
2024-08-14 09:06:04 -07:00
400263ea0b
Rename PastId back to Past
2024-08-14 09:06:04 -07:00
5e5483367d
Remove Season.Past so all lookups go through World
2024-08-14 09:06:04 -07:00
81c9aa4859
Move more timeline logic from Season to World
2024-08-14 09:06:04 -07:00
fca8b77a21
Move GetAdjacentSeasons to PathFinder
2024-08-14 09:06:04 -07:00
b756959b0a
Replace most uses of Season creators to World
2024-08-14 09:06:04 -07:00
b887e01334
Eliminate RootSeason field
2024-08-14 09:06:04 -07:00
421e84b559
Update timeline designator usage
...
Timelines are now identified by strings and come first in timeline-turn tuples.
2024-08-14 09:06:04 -07:00
780ae8b948
Refactor timeline factory to generate string ids
...
The strings are immediately shimmed back to ints for now
2024-08-14 09:06:03 -07:00
40254b0fca
Add Makefile
2024-08-14 09:04:56 -07:00
bd8e0da6b6
Refactor province and power information into Map
2024-08-14 09:04:56 -07:00
9fd63f4317
Update and refactor documentation
...
The README will become an entry point for using the project. Notes on design decisions and explanations of the rules are split off into their own documents.
2024-08-09 13:18:49 -07:00
3db01c0ffd
Update projects to dotnet 8
2024-08-09 06:53:22 -07:00
0fd9c93a70
Get nix-ld to work with the Roslyn analyzer
2024-08-08 07:51:08 -07:00
5b4758a4ed
Update to dotnet 8
2024-08-08 07:49:39 -07:00
7b2176b1d2
Update nixpkgs pin
2024-08-08 07:49:26 -07:00
4bbd29ac93
Fix broken VS code shells
...
See https://github.com/NixOS/nix/issues/6982#issuecomment-1236743200
2024-08-08 07:47:37 -07:00
26e268c3a0
Remove custom PS1
2024-08-08 07:45:27 -07:00
0f201610d2
Fix path separator in sln
2022-11-08 22:18:52 -08:00
a63ff3992b
Remove broken validation assert
...
Validation only happens for orders in the current batch, so the test can't validate an order from the previous batch
2022-11-08 19:59:27 -08:00
b241d206f4
Only fork on new moves into a season
2022-11-08 19:12:03 -08:00
069cb4c548
Prevent orders from being double counted if they affect multiple seasons
2022-11-08 18:55:27 -08:00
95ed8c7682
Fix error caused by decisions with no history
2022-11-08 18:41:46 -08:00
39c3aabe45
Implement AdvanceTimeline resolution
2022-11-08 16:25:47 -08:00
7471a035f0
Log decision updates
2022-11-06 22:01:36 -08:00
a565ee1b05
Add better ToString overrides to decision classes
2022-11-06 21:58:21 -08:00
25d707b3b8
Log recursive decision traversal
2022-11-06 21:55:46 -08:00
c0a9330d2e
Add depth tracking to decision resolution
2022-11-06 21:51:45 -08:00
23a826c815
Add adjudicator logger
2022-11-06 21:09:22 -08:00
46c28a087c
Shorten string representations
...
The new format for representing timeline, province, and season is T-PRO@S. Hopefully this is easier to read than the PRO T:S format.
2022-11-06 20:27:28 -08:00
6347b52d4a
Make the dev shell a bit prettier
2022-11-06 20:26:29 -08:00
63289bce54
Update flake
2022-11-06 20:26:29 -08:00
2e1d72d0f4
Add more VS Code profile settings
2022-11-06 20:26:29 -08:00
94037959e1
Replace README with rules document that better explains what is going on
2022-11-06 15:07:48 -08:00
15fde7340c
Fix incorrect unit in 3.A.5
2022-11-06 14:43:45 -08:00