Just to show you what I mean -- because you DO seem to have a good grasp of JS and many of the basic concepts, I may take the time to do a vanilla rewrite of just your UI -- without the functionality.
I hope I don't come off as unduly harsh, I'm a New Englander, it's just kind of how we speak. The old joke "Yah cahnt geht theyah frum heeyah"
The big concern would be how to handle it on small screens. Maybe collapse the various side tool palettes into modal dialogs? I'd probably have had the ability to collapse those side sections built in anyways just to give the user more workspace area if they want.