Closed sageserpent-open closed 6 years ago
This will deliver a replacement for the existing 'PatchRecorder' class - the difference being that events are fed to the API along with event ids, and the recordings are demarcated by revisions. This allows the internals to use an incremental strategy for maintaining and accessing item state / patch data, and to associate revisions with the internal state.
In this spike, the consequence of recording the event data will still be the population of an identified item scope with the full set of items for a world at a given revision and business time. IOW, this population process will not be incremental; it will still recapitulate the entire world history (and do this for each revision).
It might be worth just producing a facade implementation of this to start with that delegates to the old patch recorder, encapsulating the existing storage of abstract event datums that is currently managed by the world implementations. This would allow tests to be written against the API which I suspect will be a major effort in themselves.
This is a prelude of #17 and #18.