1
0
Fork 0
freesewing/sites/dev/docs/reference/api/part/config/options/mm
Joost De Cock ab3204f9f1 chore: Port FreeSewing.dev to docusaurus
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.
2024-09-28 13:13:48 +02:00
..
readme.mdx chore: Port FreeSewing.dev to docusaurus 2024-09-28 13:13:48 +02:00

---
title: Millimeter options
---

:::warning

While FreeSewing supports millimeter options, we recommend
using [percentage options][1] and will not accept
contributions that use millimeter options.

:::

## Structure

A millimeter option should be a plain object with these properties:

- `mm` : The default value in millimeters
- `min` : The minimum that's allowed
- `max` : The maximum that's allowed

## Example

```js
options: {
  elasticWidth: {
    mm:  35,
    min:  5,
    max: 80
  }
}
```

:::note COMMENT (by joost)

##### What's wrong with millimeter options?

Millimeter options do not scale.
Parametric design is the _raison d'être_ of FreeSewing and that core belief
that things should seamlessly adapt goes out the window when you use a `mm`
option because now you have a value that will not change based on the
input measurements.

You could argue that it's fine because _you can just lower the option_
but that breaks the principle of _sensible defaults_ (aka no surprises).
The fact that you can sidestep the bullet does not mean you're not creating
a footgun.

When you need a millimeter option, reach for a [snapped
percentage option][1] instead.

:::

[1]: /reference/api/part/config/options/pct