You can now also write themes on the fly in VDecl by just having it watch a directory where VAADIN/themes/<theme>/**/*.scss files are. Save a file matching this pattern and the theme with name <theme> will be set or reloaded for the current UI.
One challenge with this change was Vaadin not reloading the theme it does not have to. So changing the same theme over and over again would not show. For now I put a UI extension in place, drops the active theme via some native method. This results in the page showing no theme and then reloads the changed theme.