The Witness: Change Regions, Areas and Connections from Dict[str, Any] to dataclasses&NamedTuples #4415
+140
−116
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This should make the code more readable, adds more typing, and makes steps towards removing the .txt Logic files (although they will still always be kept as a "source of truth")
I also wanna do Entities, but I thought this would be plenty to review for one PR
Also rename some stuff to be more consistent, mainly change "lambda" to "rule" or "requirement"
Fixes an optional requirement of #4410
Tested:
Running ruff and mypy for correct typing and linting and stuff
Unit tests should hopefully catch any regressions with generation? They are quite extensive nowadays and cover a lot of weird edge cases