I'd like to use Colyseus app to create an online game server, but I'd also like to support a local co-op mode while reusing any game state logic for the server. Is this possible with Colyseus and any thoughts of how I could about this? I looked into using a custom transport for the Colyseus server, but the JS client assumes that WebSockets will always be used for connection. Is there any subset of the core package that can be reused client side in the browser? Wondering if I can create a custom "local" room that leverages the server room & schema code in the browser.

Maybe this is just outside the scope of Colyseus and I should be designing game logic outside of the Colyseus framework and keeping a thin interface between it and the Room/Schema code.