* Zod EVERYWHERE
* Add no-unused-vars rule to eslint in front
* Add no-unused-vars rule to eslint in pusher
* Add no-unused-vars rule to eslint in back
* Remove unused PlayerTexture guards
* Fix data providing on room connection
Co-authored-by: Alexis Faizeau <a.faizeau@workadventu.re>
The ts-proto lib has the huge advantage of producing code the "Typescript" way and not the "Java" way.
In particular, for "oneof" types in protobuf, it is generating "ADT" that can be used to check if we forgot or not to deal with a type.
A great deal of the complexity of the current code is that we must chain
2 reactive values (one in the map "GameScene.MapPlayersByKey" and one in
the snapshot store).
The new generic MapStore class can be used to listen to stores inside a map.
When the store inside the map, or the map itself is modified, the
resulting store is updated.
This way, if a user A blocks another user B, if user B refreshes the browser or leaves and re-enters the room, user B will still be blocked.
As a side effect, this allows us to completely remove the "sockets" property in the SocketManager on the Pusher.