How to run: Open the index.html file, select an svg to generate from the dropdown menu
Where to find primitive components: the "components.js" file
Important design decisions: Rect x and y is the center of the rectangle and not the top left corner. This is to make switching from a rect to a circle/ellipse more convenient. Also, circle and ellipse use diameter instead of radius for the same reason.