Skip to main content

Design

The Design named export in FreeSewing's core library is a constructor that creates new pattern designs.

Signature

Pattern Design({
array parts,
object data
})

Example

const Sorcha = new Design({
// design configuration here
})

This constructor creates a new pattern design. It takes a single argument, an object holding the design's configuration.

Design configuration

Since a design's configuration is managed at the part level, the Design configuration object only requires a parts property that should hold an array of parts to include in the Design.

const Sorcha = new Design({
parts: [front, back, sleeve],
})
tip

A Design in FreeSewing is little more than a container for various Parts

Optionally, you can also pass it a data attribute to hold any custom data you'd like to add to your Design.

Any data you add to the Design constructor will be added to the Store.

const Sorcha = new Design({
parts: [front, back, sleeve],
data: {
version: 3,
price: 12,
currency: 'euro',
},
})

Notes

The Design constructor is a super-constructor. It will return a constructor method that will a pattern based on your design.

Properties

In addition to the returned constructor method, an instantiated Design object also provides the following properties:

Design.designConfig

This holds the design configuration as passed to the Design constructor.

Design.patternConfig

Holds the resolved pattern configuration based on the configuration passed to the Design constructor.