So after digging into the code a little more I think I figured out an easier way of putting this builder together.
Each widget only has 1-3 styles (right now at least until 7.0) so if you make a simple copy to mimic each of the widgets in appearance the whole positioning and styling could be done in basic HTML5 and CSS using the element and any drag and drop library. It should take less than 20 hours of work to put the whole thing together. for the compile you then read the color from the css tags into a variable just as you are doing now.
This eliminates all the complexity of simulating a micropython program using JS->EM->SDL->MP+C.
Instead you have a simple drag and drop UI and only need to save a few color values and positions to the generated python or c file when you compile the code.
So after digging into the code a little more I think I figured out an easier way of putting this builder together.
Each widget only has 1-3 styles (right now at least until 7.0) so if you make a simple copy to mimic each of the widgets in appearance the whole positioning and styling could be done in basic HTML5 and CSS using the element and any drag and drop library. It should take less than 20 hours of work to put the whole thing together. for the compile you then read the color from the css tags into a variable just as you are doing now.
This eliminates all the complexity of simulating a micropython program using JS->EM->SDL->MP+C.
Instead you have a simple drag and drop UI and only need to save a few color values and positions to the generated python or c file when you compile the code.