Much like garments themselves, patterns are made up of parts. Most patterns will have multiple parts. A sleeve, a back part, the collar, and so on. The pattern you create today is very simple, and only has one part: the bib.
It’s a good idea to keep each part in its own file. You don’t have to do this, but it’s a good habit to get into.
bib.mjs
I am going to use the From scratch template. So the files I want to edit live
in design/from-scratch
.
Our part lives in design/from-scratch/src/bib.mjs
, and it currently looks like this:
function draftBib({ part }) {
return part
}
export const bib = {
name: 'fromscratch.bib',
draft: draftBib,
}
The part object
Each part in FreeSewing is an object that describes the part, and has a draft
method to do the actual work of drafting the part.
The only mandatory keys on a part object are name
and draft
.
Refer to the part reference documentation for all details about configuring the part object
A design in FreeSewing is a thin wrapper around a collection of parts. Each parts stands on its own, and parts from various designs can be combined to create other designs.
The part name
name: 'fromscratch.bib',
A part’s name
should be unique in a design. I used fromscratch.bib
as the
name, because that makes sense.
I strongly recommend that you apply the same designName.partName
naming scheme in all your parts.
This avoids naming conflicts when mixing parts from various designs to create a new design.
The part’s draft method
draft: draftBib,
The second mandatory key on the part object is draft
which should hold the method that drafts the part.
In the example above, it refers to the draftBib
function that was defined at the top of the same bib.mjs
file.
For now this function doesn’t do much, but that will change soon enough.
This structure of putting the draft method at the top of the file and the part object at the bottom is a bit of a convention in FreeSewing.