What the client-side apis for both instance management and the instance protocol look like as well as the data model and how they get used, complete with tests and example code.
A fully functional instance management API on both client and server (using serde in the short term for convenience)
Stubs for the DID authentication scheme
There is a lot that still isn't implemented. In particular, the client crate needs a tokio task to build up RemoteChanges as well as send over the network the LocalChanges, and we need to implement the application of these changes to the main data model in the flush() method. More importantly, the server doesn't actually implement almost anything in the instance protocol, its all stubbed out right now. This means that all the state that is local to the client won't get sent to other players.
~Will request review when its ready.~
Now ready for review.
This PR includes:
There is a lot that still isn't implemented. In particular, the client crate needs a tokio task to build up
RemoteChanges
as well as send over the network theLocalChanges
, and we need to implement the application of these changes to the main data model in theflush()
method. More importantly, the server doesn't actually implement almost anything in the instance protocol, its all stubbed out right now. This means that all the state that is local to the client won't get sent to other players.