Okay, i know i have way too many changes on single PR, but bear with this one please :) I had an avalanche of changes coming from trying to get the main game page back into shape.
fixes simulation performance regression by separating simulation from vue reactivity
some improvements were made to the game page layout and it's responsiveness
this includes general support for media query breakpoints in the layout attribute styles
app menu no longer refreshes the page when clicking on links
refactored speech bubbles to not require measuring the wrapping DOM node size
uses css instead, by assuming the relevant wrapper is an offset parent (position relative or absolute)
win condition logic is more stable and doesn't trigger again after clicking "go back"
win is now shown only after all simulation frames were shown (instead of stopping at randomly chosen fate in classical view)
soundtrack works again and doesn't layer itself multiple times on module hot reloads
Okay, i know i have way too many changes on single PR, but bear with this one please :) I had an avalanche of changes coming from trying to get the main game page back into shape.