Rework generation dataflow to avoid mutating parameters #1257
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.
Previously:
This results in bugs where the generator wipes away the expressions in waypoint headings. This was identified as a CLI bug, but it is a core bug that's masked by the way the frontend handles generation results.
New behavior:
snapshot.waypoints[n].intervals
fields..params
Also this PR has a new docs page explaining what parts of the TrajectoryFile change upon generation.
GenerationEquivalent
Since the end condition of generation no longer has total equivalence between the
params
andsnapshot
, the equality checks forupToDate
have been replaced with a custom traitGenerationEquivalent
. This helps better capture aspects of parameters that are conditionally irrelevant. The special cases for equivalence where equality would not hold are currently as follows.Constraint
: differences in data are ignored if both constraints are not enabled.Waypoint
: differences inintervals
are ignored if bothoverride_intervals
are false.