We should come up with a way to make the displayState of nodes to only be sent over the wire when a change occurred.
We can design a way where we create special kind of object that will be used to track internal changes to the state of a node and only serialize to a defined value when a change occured.
Or we can add a boolean to nodes that resets at the begining of each tick, and a method to set that boolean to true. if that field is true the serializer will pick the displayState. if not it will omit it. Node implementations will need to manually call this method every time a mutation to information present in displayState is done.
This should be implemented in such a way that we maximize user experience.
We should come up with a way to make the displayState of nodes to only be sent over the wire when a change occurred.
We can design a way where we create special kind of object that will be used to track internal changes to the state of a node and only serialize to a defined value when a change occured.
Or we can add a boolean to nodes that resets at the begining of each tick, and a method to set that boolean to true. if that field is true the serializer will pick the displayState. if not it will omit it. Node implementations will need to manually call this method every time a mutation to information present in displayState is done.
This should be implemented in such a way that we maximize user experience.