
The replaces the NextJS site powering FreeSewing.dev with a Docusaurus setup. It's part of my efforts to simplify FreeSewing's setup so we can focus on our core value proposition.
108 lines
3.6 KiB
Text
108 lines
3.6 KiB
Text
---
|
|
title: plugin-bust
|
|
---
|
|
|
|
Published as [@freesewing/plugin-bust][1], this plugin helps you adapt menswear
|
|
patterns for people with breasts. If you are designing a womenswear pattern,
|
|
you won't need this plugin. But if you're adapting a menswear pattern for
|
|
breasts or merely want to accommodate both people with and without breasts,
|
|
this plugin can help you accomplish that.
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
npm install @freesewing/plugin-bust
|
|
```
|
|
|
|
## Usage
|
|
|
|
Either [add it as a part plugins](/reference/api/part/config/plugins) in your
|
|
design, or [add it to a pattern instance with
|
|
Pattern.use()](/reference/api/pattern/use).
|
|
|
|
To import the plugin for use:
|
|
```js
|
|
import { bustPlugin } from '@freesewing/plugin-bust'
|
|
// or
|
|
import { pluginBust } from '@freesewing/plugin-bust'
|
|
```
|
|
|
|
To import the plugin and condition method for conditional loading:
|
|
```js
|
|
import { withCondition } from '@freesewing/plugin-bust'
|
|
```
|
|
|
|
## Notes
|
|
|
|
### Understanding the use-case for this plugin
|
|
|
|
Almost all menswear patterns use the chest circumference to draft the garment.
|
|
|
|
As a person with breasts, using your (full) chest circumference will give you
|
|
bad fit. Instead, it's better to use your high bust measurement as chest
|
|
circumference, and then create extra room for the breasts.
|
|
|
|
This is the same technique that's used in a full-bust adjustment to fit a
|
|
womenswear pattern for a person with above-average sized breasts.
|
|
|
|
This plugin helps you by:
|
|
|
|
- Storing the chest circumference in `measurements.bust`
|
|
- Changing `measurments.chest` to the value of
|
|
`measurements.highBust`
|
|
|
|
### Use when extending breastless patterns into a with-breasts version
|
|
|
|
One way this plugin is used is to extend a menswear pattern into a womenswear
|
|
pattern. In this case, the plugin will always be loaded since the pattern
|
|
assumes breasts will be present.
|
|
|
|
This way you can extend a menswear pattern and have it drafted with the high
|
|
bust measurement as chest measurement, after which you can create room for the
|
|
breasts.
|
|
|
|
You can see this in practice in our [Carlita][2] design, which extends the
|
|
menswear [Carlton][3] design.
|
|
|
|
:::note RELATED
|
|
To learn more about extending a design, see [Part
|
|
inheritance](/howtos/code/from/)
|
|
:::
|
|
|
|
### Use when creating gender-neutral designs
|
|
|
|
To create a truly gender-neutral design — one that will adapt to breasts only
|
|
if they are present — you can use this plugin, but you'll also need a few other
|
|
things:
|
|
|
|
- You'll need to include and mark the bust measurements, including `highBust`,
|
|
as [optional
|
|
measurements](/reference/api/part/config/measurements#optionalmeasurements)
|
|
- You'll need to [conditionally load this
|
|
plugin](/reference/api/part/config/plugins#conditional-plugins)
|
|
- You'll need to create your design such that, when appropriate,
|
|
it is able to produce the condition to cause the plugin to load
|
|
|
|
You can see an example of this in [our Teagan design][4].
|
|
|
|
### Condition for loading `withCondition`
|
|
|
|
For convenience, `plugin-bust` provides a `withCondition` named export
|
|
that is a conditional plugin, an `Object` consisting of the plugin
|
|
along with a condition method.
|
|
|
|
The condition is met if both:
|
|
1. `options.draftForHighBust` is set to `true`
|
|
2. `measurements.highBust` is set
|
|
|
|
You can use `withCondition` to conditionally load `plugin-bust`,
|
|
or you are free to instead create and use your own condition method
|
|
to pass along with the plugin.
|
|
|
|
[1]: https://www.npmjs.com/package/@freesewing/plugin-bust
|
|
|
|
[2]: https://github.com/freesewing/freesewing/blob/develop/designs/carlita/src/index.mjs#L25
|
|
|
|
[3]: https://github.com/freesewing/freesewing/blob/develop/designs/carlton
|
|
|
|
[4]: https://github.com/freesewing/freesewing/blob/develop/designs/teagan/src/index.mjs
|