Hot reload wiped state. Worse for the product: a real window reload did too. I wrote we moved the web game to React. The test I use now is one sentence: what happens on refresh?

Leave, enter, reload

Those three were the bugs. The game had to know who was still in the room. Flutter web treated them like a fresh start more than we could live with.

Phone was fine

The mobile target was not the reason we left Flutter web. The web target was. Flutter stayed on the other surfaces.

The question before I pick a target

If refresh loses the room, it is not a styling issue. TV was separate: not a layout tweak.