Just call `pattern.addPart()` and pass it either:
- a part object with all it entails
- a draft method as first and name as second parameter
This will overwrite any existing parts without any warning
This is very rough around the edges, but it's kinda working, so
I'm committing this now.
What this enabled is the ability to extend a part by importing
only that part and then just saying you want a part `from` the
imported one.
The imported part comes with all options, it does not currently
come with all measurements.
This also *follows* dependencies. For example in Brian, we never
explicitly add the base and sleevecap parts, they are simply
added automatically because other parts are buily *from* them.
Best to look at the source code of designs/brian and designs/aaron
to understand what's going on and how it is different.
Since the bezier-js library is bundled with @freesewing/core, we
now expose it via utils. This way, people who want to use this
in their plugins or other code are not forced to import it again.