I can't think of an inherent reason why running in the browser would be a performance suck. WebGL performs wonderfully, and Rust compiles to WASM. Rough edges right now to be sure, but looking ahead it seems like a great choice.
This sort of fine-grained simulation is expensive, whereas rendering of the fairly-simple sort the screenshots imply just isn't.
(I'm assuming that the backend Rust server is doing the expensive simulation stuff, and just sending the display data to the client.)
Or how opengl/vulkan/etc would be better (I also dont see why they’d impact client syncing)
Unless webgl does something more than rendering..?
The same data is (eventually) required for any rendering engine, regardless of how you sync the simulation
However, more sophisticated APIs could allow more techniques for offloading more of the filtering and mapping steps of the visualization pipeline onto the GPU. Even some simulation could be accelerated, although it's often not worth it in practice.
Honestly, sending deltas always seems like a bad idea to me as this allows subtle synchronization issues to derail simulations bit by bit before the divergence is big enough to be noticable.
https://github.com/citybound/citybound/wiki/Development-Hist...
It sure beats swapping SC4 files on file sharing services for “region play”.