I don’t understand the point of this. I love canvas, but if your goal is to render buttons and other UI components then why not use the DOM? That’s what it’s there for.
Perhaps I could have shared more details on this. We did explore regular DOM/HTML for some of the functionality, but we needed to build it into our existing Whiteboards stack which uses Canvas. Rendering as HTML would not have worked for use case.