Refactor Project Structure
As our main application is now C# and VB is only used for the ShotEditor, we have a huge opportunity to refactor the project structure. .Core and .Common don't seem very good.
We have to take into account that we're allowing plugins: The stuff that exposes a plugin interface should be in a separate DLL, so plugins can depend on that (depending on the executable would be weird).
Maybe we want to move out the area selector into a separate executable.
Background: https://github.com/microsoft/microsoft-ui-xaml/issues/3675
We could use a new Win32 application to host the windows we are currently using (mainly the plugin list and some popups).
We also need to factor out the ShotEditor for that.
Probably, we could use some IPC to communicate with these processes. My research showed that anonymous pipes may be what we want: https://erikengberg.com/named-pipes-in-net-6-with-tray-icon-and-service/ https://docs.microsoft.com/en-us/windows/win32/ipc/anonymous-pipes