Trains are quite a challenge to implement in the browser and this is because the spritesheets of all train rotations are huge.
Currently all entities are in 1 spritesheet. The HR spritesheet is an 8k texture which is max on most computers so before we add a train spritesheet(s) we need to come up with a way to programmatically split big spritesheets into smaller ones (that's what Factorio does too afaik).
Even with that in place the size of the train spritesheet(s) is something to be thought of.
When it comes to rendering, I guess we can make the app only fetch the spritesheet with the correct train rotation but what happens in the future if we would like to add the ability to move trains?
Ref: https://github.com/Teoxoy/factorio-blueprint-editor/issues/67#issuecomment-507267562