You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, Event implementors are required to maintain the invariant that the predictions known by the TimeSteward are the same as the predictions accessible from Globals. This is a tricky condition that could easily be broken by mistake. Currently, you can rely on SimpleTimeline to handle it accurately, but that also has performance overhead, and the SimpleTimeline code has a big cost in maintainability.
There was once a reason for this behavior – making predictions implicit in the state of Entities meant that the representation of the canonical state was less complicated. I kept this when I got rid of Predictors, but it no longer seems worthwhile. Events should explicitly create and destroy Predictions.
Code-wise, the changes might not be that big. This does mean that I will have to change the serialization code a bit. I can also remove the reference-counting from predictions. And I might need to think about what happens when a predicted event actually occurs (e.g. is the prediction implicitly destroyed?).
The text was updated successfully, but these errors were encountered:
Currently, Event implementors are required to maintain the invariant that the predictions known by the TimeSteward are the same as the predictions accessible from Globals. This is a tricky condition that could easily be broken by mistake. Currently, you can rely on SimpleTimeline to handle it accurately, but that also has performance overhead, and the SimpleTimeline code has a big cost in maintainability.
There was once a reason for this behavior – making predictions implicit in the state of Entities meant that the representation of the canonical state was less complicated. I kept this when I got rid of Predictors, but it no longer seems worthwhile. Events should explicitly create and destroy Predictions.
Code-wise, the changes might not be that big. This does mean that I will have to change the serialization code a bit. I can also remove the reference-counting from predictions. And I might need to think about what happens when a predicted event actually occurs (e.g. is the prediction implicitly destroyed?).
The text was updated successfully, but these errors were encountered: