diff --git a/markdown/dev/guides/v3/en.md b/markdown/dev/guides/v3/en.md deleted file mode 100644 index db501c42863..00000000000 --- a/markdown/dev/guides/v3/en.md +++ /dev/null @@ -1,231 +0,0 @@ ---- -title: FreeSewing version 3 ---- - -Since August 2022, we've been working on the next major version of FreeSewing: -version 3 (_v3_). This guide presents a high level overview of the changes that -are going into v3, why we're making them, and what to expect. - -This guide is a work in process - -If you're looking for a more hands-on list of changes between v2 and v3, please -refer to [the v3 migration guide](/guides/v3/migration). - -Once v3 is in production, this guide and the migration guide will become less relevant. For now, -short of reading the code itself, they are your best source for the inside -scoop on v3, unless you want to read the source code of course. - -## Why a version 3 in the first place? - -Before diving into the details, let's take a moment to go over some of the -reasons why we decided to start work on v3, rather than keep working on the v2 -branch of FreeSewing. - -FreeSewing practices [semantic versioning](https://semver.org/), which means -that breaking changes require a new major version. In more practical terms, it -means that new features or ideas that would require breaking changes are put on -the back burner until enough of them accumulate that they start making a -compelling case for putting out a new major version. - -For FreeSewing v3, [our contributor call on 20 August -2022](https://github.com/freesewing/freesewing/discussions/2582) marks the -moment we decided that enough of our plans and ambitions were being held back -by our inability to introduce breaking changes. So we agreed to turn the page -and start working on v3. - -## High-level goals - -### Support for packs - -The main driver for v3 was what was listed on [our -roadmap](https://github.com/freesewing/freesewing/discussions/1278) as *Support -for packs*. The idea initially focussed on publishing collections of re-usable -pattern parts such as a *sleeve pack* or a *collar pack*. You would then be -able to create new designs by combining a collar from the collar pack, some -sleeves from the sleeve pack and so on. - -As we iterated on this idea, it became clear that there was little added value -in creating another type of container (a *pack*) and that it would be better if -we made it easier to treat each design as a *pack*. In other words, allow -people to combine parts from different designs in a seamless way. - -Design inheritance was already possible in v2, but because the configuration -was handled on the design level, it required careful re-configuration of -(required) measurements, options, part dependencies, and so on. It was -possible but came with a lot of friction. - -So in v3, all configuration is moved to the part level, and a design is now not -much more than a container object for a collection of parts. It is the parts -themselves that configure what they need. This includes anything from the measurements they -require, the options they provide, the plugins they use, and so on. - -This way, you can pull a part out of a design, and all of its configuration, -dependencies, plugins, and so on will follow. - -This migration of the configuration from the design level to the part level is -the biggest and most fundamental change between v2 and v3. It is also where -most of the work needs to be done to port existing designs from v2 to v3. - -### Improved developer experience - -The effort to improve the developer experience started already in v2. We've -shipped a new development environment based on NextJS (previously we used -Create React App), and this has made designing patterns more frictionless both for -stand-alone development as well as for people working with(in) [our -monorepo](https://github.com/freesewing/freesewing). - -We've also switched from Rollup to Esbuild as our bundler and in the process -dumped Babel. - -However, some of the changes we wanted to make to simplify things would have -been breaking changes, so they were put on hold. Until now that is. - -For example, in version 2 we shipped both CJS and ESM modules, and we relied -on default exports. - -In version 3, FreeSewing is ESM-only, and we only use named exports in the code -we publish as they provide better IDE integration. - -For many of our users, these choices are deep enough under the hood that they -are unconcerned by them. But for contributors, things have gotten a lot more -approachable. For one thing, we are also porting our websites to NextJS so that -there's only one frontend development framework to familiarize yourself with. - -Together, these changes not only provide a better developer experience and a more -unified approach, but they've also slashed our build times. In that sense, v3 is -(for now) the final chapter of our efforts to provide a better developer -experience. - -### Multisets, Stacks, and better support for sampling - -Sampling is when FreeSewing drafts a number of variations of a given pattern -and allows you to compare them by stacking the parts on top of each other. In -v2 this was bolted on as an afterthought and as such was implemented in a somewhat -hackish way. - -In v2, only paths were sampled and you couldn't compare list options, among other -restrictions. Improving this and making sampling cover the entire spectrum -of what goes in a design has been on our roadmap for a while, but we were not -able to do much without introducing breaking changes. - -To handle this use-case in v3, we've added two new features that together open -up a range of possibilities. One is support for _multisets_, and the other is -support for _stacks_. - -Multisets means you can pass a number of different sets of settings to a -pattern, and core will draft the pattern for each set of settings. - -Stacks allow you to designate different parts of your pattern --- or parts -across different sets of settings --- as belonging to the same stack. When it's -time to layout your pattern, core will stack them on top of each other, a bit -like layers. - -These two new features not only make sampling a lot more straight-forward, they -also allow other possibilities such as drafting a pattern for two sets of -measurements when dealing with an asymmetric body. - -### Provide more generic extending capabilities, rather than tight-coupling with our frontend - -This is something that works on two different levels. - -One one hand, we've had some feature requests in v2 that were good ideas but a -bit too specific to the user's setup for us to add them to core. - -On the other hand, we had things in core and in a design's configuration that -were tightly coupled to FreeSewing's own frontend (on freesewing.org) and not -really relevant to people using our software for other purposes. - -In v3, we wanted to keep our core library fully neutral. freesewing.org should -not be a *special* case, so all the freesewing.org specific stuff had to go. -Instead, all our users, including ourselves, should have the possibility to -extend the software with the features they need for frontend integration. - -Removing the freesewing.org specific stuff means that designs now no longer -ship with any freesewing.org specific info. Instead, plugins can now further -extend core with *store methods*, and we allow passing any data into the -design that you can then access on the pattern object. - -You can also add additional data to your part's options to further facilitate -frontend integration. We've also added more lifecycle hooks to let people hook -into the drafting process at different times in a pattern's lifecycle. And, -we've improved the logging process as well as allowing people to plug in their own -log handlers. - -These changes make our core library less opinionated about how it should be -integrated, and we're excited to see what people will come up with. - -## New in the core API - -The core API is -- for the most part -- unchanged in v3. What's changed is -covered in [the migration guide](/guides/v3/migration). But there's a bunch of -new things, and here is the list: - -### New attributes - -The following attributes have been added to the core API in v3: - -#### On the `Pattern` object - -- [Pattern.activePart](/reference/api/pattern#pattern-attributes) -- [Pattern.activeSet](/reference/api/pattern#pattern-attributes) -- [Pattern.designConfig](/reference/api/pattern#pattern-attributes) -- [Pattern.designConfig](/reference/api/pattern#pattern-attributes) -- [Pattern.patternConfig](/reference/api/pattern#pattern-attributes) -- [Pattern.setStores](/reference/api/pattern#pattern-attributes) - -### New methods - -The following methods have been added to the core API in v3: - -#### On the `Attributes` object - -- [Attributes.addClass](/reference/api/attributes/addclass) -- [Attributes.asPropsIfPrefixIs](/reference/api/attributes/aspropsifprefixis) -- [Attributes.render](/reference/api/attributes/render) -- [Attributes.renderAsCss](/reference/api/attributes/renderascss) -- [Attributes.renderIfPrefixIs](/reference/api/attributes/renderifprefixis) - -#### On the `Part` object - -- [Part.hide](/reference/api/part/draft/hide) -- [Part.setHidden](/reference/api/part/draft/sethidden) -- [Part.unhide](/reference/api/part/draft/unhide) - -#### On the `Path` object - -- [Path.addClass](/reference/api/path/addclass) -- [Path.addText](/reference/api/path/addtext) -- [Path.hide](/reference/api/path/hide) -- [Path.setClass](/reference/api/path/setclass) -- [Path.setText](/reference/api/path/settext) -- [Path.setHidden](/reference/api/path/sethidden) -- [Path.smurve](/reference/api/path/smurve) -- [Path.smurve_](/reference/api/path/smurve_) -- [Path.unhide](/reference/api/path/unhide) - -#### On the `Pattern` object - -- [Pattern.addPart](/reference/api/pattern/addpart) -- [Pattern.getConfig](/reference/api/pattern/getconfig) - - -#### On the `Point` object - -- [Point.addCircle](/reference/api/point/addcircle) -- [Point.addText](/reference/api/point/addtext) -- [Point.setCircle](/reference/api/point/setcircle) -- [Point.setText](/reference/api/point/settext) - -#### On the `Store` object - -- [Store.extend](/reference/api/store/extend) -- [Store.push](/reference/api/store/push) -- [Store.remove](/reference/api/store/remove) - -## Changes for developers - -- FreeSewing is now ESM-only -- We use named exports instead of default exports -- We've switched from Rollup to Esbuild for our bundler -- FreeSewing v3 requires NodeJS 16 or more recent - diff --git a/markdown/dev/guides/v3/migration/en.md b/markdown/dev/guides/v3/migration/en.md deleted file mode 100644 index cb98f5e1be4..00000000000 --- a/markdown/dev/guides/v3/migration/en.md +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: V3 migration guide ---- - -This guide covers the migration from FreeSewing version 2 (v2) to FreeSewing -version 3 (v3). It is intended for pattern designers and developers using our -core library. But it is also a good source of information for anybody who wants -to learn more about what's changed between v2 and v3 of FreeSewing. - -The focus on this guide is on our core library, our designs, our monorepo, and -other topics of interest to developers. It does not cover any changes to our -website(s) or other more user-facing aspects. - - - -This guide is a work in process. -ToDo: - -- part level transforms -- config overloading - - - -## Breaking changes - -### ESM only - -FreeSewing is now ESM only. We no longer publish CJS modules. - -To make this explicit, we now use the `.mjs` file extension for our source code, instead of `.js`. - -### Named exports only - -All our published packages now have only named exports and no longer have any -default exports. - -Please refer to [the reference documentation](/reference/api#named-exports) to see what -named exports are available. - -### NodeJS 16 or more recent - -FreeSewing now requires NodeJS version 16 or more recent. - -### Removed packages - -The following packages have been removed in v3: - -- **@freesewing/pattern-info** -- **gatsby-remark-jargon**: We no longer use Gatsby -- **remark-jargon**: Use rehype-jargon instead -- **@freesewing/mui-theme**: We no longer use Material-UI -- **@freesewing/css-theme**: We now use TailwindCSS -- **@freesewing/components**: These were depending on Material-UI and we no longer use it -- **@freesewing/utils**: We no longer use these, or they are included elsewhere -- **@freesewing/plugin-export-dxf**: DXF is kinda garbage, you deserve better -- **@freesewing/plugin-validate** - -### API changes - -#### Use log instead of raise - -The `raise` object that held methods for logging has been replaced by log: - -```mjs -// strikeout-start -raise.warning('This raise object no longer exists') -// strikeout-end -// highlight-start -raise.info('Use the log object instead') -// highlight-end -``` - -Note that `log` can be destructured in your draft method. -Refer to [the `Store.log` documentation](/reference/api/store/log) for all details. - -## Migrating designs - -### Design configuration - -In v2, a design had its own configuration which contained all the info about -the design. In v3, all of that is migrated to the part level. A design is now -merely a container of parts, but it also allows you to pass in additional data: - -```js -import { Design } from '@freesewing/core' // Note: named export -import { myPart1, myPart2 } from './parts.mjs' - -export const MyDesign = new Design({ - parts: [ myPart1, myPart2 ], - data: { - anything: 'goes', - this: { - is: ['here', 'to', 'use' ] - } - } -}) -``` - -You pass the Design constructor a single object where the only required property -is the `parts` key that holds an array of part objects. The `data` property is -optional, and allows you to add data/information to the design that you can use -to facilitate frontend integration or a host of other things. Anything under -`data` will be made available in the pattern store. - -Obviously, we still need to know what measurements the design requires, what -plugins it uses, what options it offers, and so on. - -All of that is now configured at the part level. - -### Part configuration - -In v3 of FreeSewing __all__ configuration happens at the part level. - -Refer to [the part configuration docs](/reference/api/part/config) for details -on configuring parts. - -Apart from being attached at the part level, changes in comparison to v2 include: - -- The `name` property is mandatory in v3 -- The `dependencies` property v2 is named `after` in v3 -- The `inject` property in v2 is named `from` in v3 -- The `hide` property is [different from v2 and has gained more features](reference/api/part/config/hide) in v3 -- The `plugins` property is new - -### File and directory structure changes - -- Designs no longer use a `config` folder, instead keeping the config in the parts files. -- We use `.mjs` extensions rather than `.js` - diff --git a/markdown/dev/howtos/code/create-new-design/en.md b/markdown/dev/howtos/code/create-new-design/en.md index ea87ffd3adc..95264b0be8c 100644 --- a/markdown/dev/howtos/code/create-new-design/en.md +++ b/markdown/dev/howtos/code/create-new-design/en.md @@ -15,11 +15,11 @@ when in doubt, go stand-alone. You can always change track later. ## Stand-alone -To setup the stand-alone development environment, you need NodeJS 16 or higher. +To setup the stand-alone development environment, you need NodeJS 18 or higher. Then run: ```sh -npx @freesewing/new-design@next +npx @freesewing/new-design ``` This command will setup FreeSewing's stand-alone development environment. diff --git a/markdown/dev/tutorials/getting-started-linux/dev-setup/en.md b/markdown/dev/tutorials/getting-started-linux/dev-setup/en.md index 4a0dbb3b30a..d10d9332813 100644 --- a/markdown/dev/tutorials/getting-started-linux/dev-setup/en.md +++ b/markdown/dev/tutorials/getting-started-linux/dev-setup/en.md @@ -116,13 +116,9 @@ yarn new plugin With Node.js installed, all you need to do to setup the stand-alone development environment is run this command: ```bash -npx @freesewing/new-design@next +npx @freesewing/new-design ``` - -Remove `@next` tag when v3 is released - - After you've answered [some questions](#questions), it will take a while to set everything up. When it's done, you will have a new folder with the development environment inside. diff --git a/markdown/dev/tutorials/getting-started-linux/installing-node/en.md b/markdown/dev/tutorials/getting-started-linux/installing-node/en.md index c26a3a4b6ad..dc841b4b77a 100644 --- a/markdown/dev/tutorials/getting-started-linux/installing-node/en.md +++ b/markdown/dev/tutorials/getting-started-linux/installing-node/en.md @@ -6,10 +6,10 @@ order: 20 Now we will use `nvm` to install Node.js. Run the following command: ```bash -nvm install lts/gallium +nvm install lts/hydrogen ``` -This will install the so-called LTS version of Node.js 16 on your system. +This will install the so-called LTS version of Node.js 18 on your system. LTS versions -- short for Long Term Support -- are good Node.js versions to use because they are stable and supported for a long time. diff --git a/markdown/dev/tutorials/getting-started-mac/dev-setup/en.md b/markdown/dev/tutorials/getting-started-mac/dev-setup/en.md index 6681ef82ccb..7ec0aa981b4 100644 --- a/markdown/dev/tutorials/getting-started-mac/dev-setup/en.md +++ b/markdown/dev/tutorials/getting-started-mac/dev-setup/en.md @@ -116,13 +116,9 @@ yarn new plugin With Node.js installed, all you need to do to setup the stand-alone development environment is run this command: ```bash -npx @freesewing/new-design@next +npx @freesewing/new-design ``` - -Remove `@next` tag when v3 is releasedi - - After you've answered [some questions](#questions), it will take a while to set everything up. When it's done, you will have a new folder with the development environment inside. diff --git a/markdown/dev/tutorials/getting-started-mac/installing-node/en.md b/markdown/dev/tutorials/getting-started-mac/installing-node/en.md index c26a3a4b6ad..dc841b4b77a 100644 --- a/markdown/dev/tutorials/getting-started-mac/installing-node/en.md +++ b/markdown/dev/tutorials/getting-started-mac/installing-node/en.md @@ -6,10 +6,10 @@ order: 20 Now we will use `nvm` to install Node.js. Run the following command: ```bash -nvm install lts/gallium +nvm install lts/hydrogen ``` -This will install the so-called LTS version of Node.js 16 on your system. +This will install the so-called LTS version of Node.js 18 on your system. LTS versions -- short for Long Term Support -- are good Node.js versions to use because they are stable and supported for a long time. diff --git a/markdown/dev/tutorials/getting-started-windows/en.md b/markdown/dev/tutorials/getting-started-windows/en.md index 8f5902f190a..f67595ba0ad 100644 --- a/markdown/dev/tutorials/getting-started-windows/en.md +++ b/markdown/dev/tutorials/getting-started-windows/en.md @@ -57,7 +57,7 @@ the screen or opening a new terminal. Now that you have NVM installed, you can install Node.js. The latest version can be installed using `nvm install default`. You can also install a specific version -using `nvm install v16.17.0`. For the purposes of debugging it can be useful to +using `nvm install v18.17.0`. For the purposes of debugging it can be useful to have the same version of Node.js installed as the main project uses, which you can then activate using `nvm use `. You can determine what version the FreeSewing project uses by checking @@ -65,7 +65,7 @@ FreeSewing project uses by checking At the time this guide was written the latest version of Node.js/npm has a bug in the dependency resolution process which causes the freesewing project -to fail to build. Use the latest LTS version (currently 16.17.0) or the specific +to fail to build. Use the latest LTS version (currently 18.17.0) or the specific version used by the main project to avoid this issue. Node.js comes with the Node Package Manager (npm) by default which can be used to @@ -139,7 +139,7 @@ rest of this process. Open a Powershell terminal or command prompt. Run `nvm ls available` to show versions that can be installed. Choose the appropriate version (you should use the same version as the freesewing project or latest LTS version) then run `nvm -install 16.17.0` and `nvm use 16.17.0` (where `16.17.0` is the full version +install 18.17.0` and `nvm use 18.17.0` (where `18.17.0` is the full version string of the version you wish to use) to activate the newly installed version. You will receive a prompt for elevated permissions and will need to accept it in order to activate the new version of Node.js. @@ -147,7 +147,7 @@ order to activate the new version of Node.js. At the time this guide was written the latest version of Node.js/npm has a bug in the dependency resolution process which causes the freesewing project -to fail to build. Use the latest LTS version (currently 16.17.0) or the specific +to fail to build. Use the latest LTS version (currently 18.17.0) or the specific version used by the main project to avoid this issue. diff --git a/markdown/dev/tutorials/pattern-design/en.md b/markdown/dev/tutorials/pattern-design/en.md index a51024e51f5..52cf146c124 100644 --- a/markdown/dev/tutorials/pattern-design/en.md +++ b/markdown/dev/tutorials/pattern-design/en.md @@ -18,11 +18,9 @@ the JavaScript ecosystem, I can summarize that entire section in this one-liner that sets up the FreeSewing development environment on your system: ```sh -npx @freesewing/new-design@next +npx @freesewing/new-design ``` -Remove `@next` suffex once v3 is published - ## Part 2: Parametric design In [Part 2](/tutorials/pattern-design/part2) I will show you how to design a diff --git a/markdown/dev/tutorials/pattern-design/part1/en.md b/markdown/dev/tutorials/pattern-design/part1/en.md index 941927336cf..03cb888bba4 100644 --- a/markdown/dev/tutorials/pattern-design/part1/en.md +++ b/markdown/dev/tutorials/pattern-design/part1/en.md @@ -25,11 +25,9 @@ If you have NodeJS on your system, getting that development environment up and running takes only a single command: ```sh -npx @freesewing/new-design@next +npx @freesewing/new-design ``` -Remove `@next` suffex once v3 is published - If you don't have NodeJS on your system --- or if you're not sure what NodeJS is to begin with --- read on to learn how to install it. diff --git a/markdown/dev/tutorials/pattern-design/part1/new-design/en.md b/markdown/dev/tutorials/pattern-design/part1/new-design/en.md index 14328c075b3..fa3882aef02 100644 --- a/markdown/dev/tutorials/pattern-design/part1/new-design/en.md +++ b/markdown/dev/tutorials/pattern-design/part1/new-design/en.md @@ -8,9 +8,8 @@ FreeSewing provides a development environment that visualizes your design for yo To set it up, I will open a terminal and enter the following command: ```sh -npx @freesewing/new-design@next +npx @freesewing/new-design ``` -Remove `@next` suffix once v3 is in production It will ask if it is ok to install the development environment in a new folder named `freesewing`. You can accept the default, or pick a different folder name diff --git a/sites/dev/components/layouts/bare.mjs b/sites/dev/components/layouts/bare.mjs new file mode 100644 index 00000000000..8e24baf0d36 --- /dev/null +++ b/sites/dev/components/layouts/bare.mjs @@ -0,0 +1,3 @@ +export const ns = [] + +export const BareLayout = (props) => props.children diff --git a/sites/dev/pages/index.mjs b/sites/dev/pages/index.mjs index a02100121b4..e41af6fd743 100644 --- a/sites/dev/pages/index.mjs +++ b/sites/dev/pages/index.mjs @@ -5,8 +5,13 @@ import Head from 'next/head' import { PageWrapper } from 'shared/components/wrappers/page.mjs' import { PageLink } from 'shared/components/link.mjs' import { Highlight } from 'shared/components/mdx/highlight.mjs' -import { FreeSewingIcon } from 'shared/components/icons.mjs' -import Link from 'next/link' +import { + FreeSewingIcon, + CisFemaleIcon, + CodeIcon, + OpenSourceIcon, +} from 'shared/components/icons.mjs' +import { Link, CardLink } from 'shared/components/link.mjs' const title = 'Welcome to FreeSewing.dev' @@ -16,17 +21,13 @@ const BoldLink = ({ href, children }) => ( ) -const CardLink = ({ color = 'primary', href, title, text }) => ( -
- -

{title}

-

{text}

- +const Card = ({ bg = 'bg-base-200', textColor = 'text-base-content', title, children, icon }) => ( +
+

+ {title} + {icon} +

+ {children}
) @@ -56,149 +57,43 @@ const HomePage = ({ page }) => ( {title} -
+

FreeSewing - The library for parametric sewing patterns + An open source Javascript library for parametric sewing patterns

-
-
-
-

Custom-Fit Fashion

-

- FreeSewing is the leading open source library for on-demand garment manufacturing. -

-

- Loved by home sewers and fashion entrepreneurs alike, we provide the tech stack for - your creative endeavours. -

-
-
- -
-
-

Patterns as Code

-

- FreeSewing designs are implemented as code giving you unmatched power and flexibility. -

-

- You can mix and match parts from different designs, extend them, or add options that - turn one base design into many. -

-
-
- -
-
-

License: MIT

-

- FreeSewing is an open source project under{' '} - the MIT license. -

-

- Which means it is ok to use our code to help you put food on the table. -

-
-
-
- -
-
+ } > -
-

Support FreeSewing

-

- FreeSewing is fuelled by a voluntary subscription model -

-

- If you think what we do is worthwhile, and if you can spare a few coins each month - without hardship, please support our work -

-

- - Become a Patron - -

-
-
+

+ FreeSewing is the leading open source library for on-demand garment manufacturing. +

+

+ Loved by home sewers and fashion entrepreneurs alike, we provide the tech stack for your + creative endeavours. +

+ + + }> +

+ FreeSewing designs are implemented as code giving you unmatched power and flexibility. +

+

+ You can mix and match parts from different designs, extend them, or add options that + turn one base design into many. +

+
-
- - - - No backend? -
- No problem, you can use ours. - - } - /> -
- -
-
-
-

- FreeSewing v3: It's coming -

-

- The upcoming version 3 of FreeSewing is currently under development. All of the - documentation here is being kept up-to-date with the upcoming v3 release. -

-

- Visit v2.freesewing.dev for the - documentation for version 2 of FreeSewing. -

-
-
-

What's changed?

-

- Check{' '} - - the FreeSewing version 3 migration guide - {' '} - to learn about what is new in version 3 of FreeSewing, and what changes you should - make in your own designs to port them to version 3. -

-

- If you have any questions to which you can't find the answers here, please{' '} - reach out to us on Discord - . -

-
-
-
-
- -
-

Using FreeSewing: TL;DR

+

Using FreeSewing: TL;DR

@@ -207,7 +102,7 @@ const HomePage = ({ page }) => (

All you need is NodeJS; Then run:

- npx @freesewing/new-design@next + npx @freesewing/new-design

This command will setup the stand-alone FreeSewing development environment for you.{' '} . @@ -238,34 +133,37 @@ const HomePage = ({ page }) => (

-
-
-
-
-
-
-

Questions?

-

- When you have questions or find yourself scratching your head you can{' '} - - - {' '} - in various ways. -

-
-
-

Need Help?

-

- While we are all volunteers, we have a good track record of helping people. So{' '} - - - - . -

-
-
-
+
+ + + No backend? +
+ No problem, you can use ours. + + } + /> +
+ +
+ +
diff --git a/sites/dev/pages/support.mjs b/sites/dev/pages/support.mjs new file mode 100644 index 00000000000..b2be2007b97 --- /dev/null +++ b/sites/dev/pages/support.mjs @@ -0,0 +1,184 @@ +// Dependencies +import { serverSideTranslations } from 'next-i18next/serverSideTranslations' +import { nsMerge } from 'shared/utils.mjs' +import { freeSewingConfig as config } from 'shared/config/freesewing.config.mjs' +// Hooks +import { useTranslation } from 'next-i18next' +import { useState } from 'react' +// Components +import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs' +import { Joost } from 'shared/components/joost.mjs' +import { BareLayout } from 'site/components/layouts/bare.mjs' +import { Breadcrumbs } from 'shared/components/navigation/sitenav.mjs' +import { + DiscordIcon, + FacebookIcon, + GitHubIcon, + InstagramIcon, + RedditIcon, + TwitterIcon, + YouTubeIcon, + CommunityIcon, + ChatIcon, + EmailIcon, +} from 'shared/components/icons.mjs' +import { PleaseSubscribe, ns as subNs } from 'shared/components/patrons/please-subscribe.mjs' +import { SupportForm, ns as supportNs } from 'shared/components/support.mjs' + +// Translation namespaces used on this page +const ns = nsMerge(pageNs, supportNs, subNs) + +const SupportCard = ({ bg, textColor, title, icon, nr }) => ( +
+

+ + {nr} + + {title} + {icon} +

+
+) + +const socialIcon = { + discord: , + facebook: , + github: , + instagram: , + reddit: , + twitter: , + youtube: , +} + +/* + * Each page MUST be wrapped in the PageWrapper component. + * You also MUST spread props.page into this wrapper component + * when path and locale come from static props (as here) + * or set them manually. + */ +const SupportPage = ({ page }) => { + const { t } = useTranslation(ns) + + const [request, setRequest] = useState(false) + + const pageTitle = request ? t('createSupportRequest') : t('sections:support') + + if (request) + return ( + +
+ +

{pageTitle}

+ +
+
+ ) + + return ( + +
+ +

{pageTitle}

+

{t('howCanWeSupportYou')}

+
+ {/* Community */} +
+ } + /> +

{t('support:communitySupport1')}

+

{t('support:communitySupport2')}

+
+ {Object.keys(config.social) + .sort() + .map((key) => ( + + {socialIcon[key.toLowerCase()]} + {key} + + ))} +
+
+ + {/* Contributors */} +
+ } + /> +

+

{t('support:contributorSupport2')}

+ +
+ + {/* Maintainer */} +
+ } + /> +

+

{t('support:maintainerSupport2')}

+ + + {t('emailAddress', { address: 'joost@joost.at' })} + +
+
+

{t('howCanYouSupportFreeSewing')}

+
+ +
+
+
+ ) +} + +export default SupportPage + +export async function getStaticProps({ locale }) { + return { + props: { + ...(await serverSideTranslations(locale, ns)), + page: { + locale, + path: ['patrons', 'thanks'], + }, + }, + } +} diff --git a/sites/shared/prebuild/data/design-measurements.mjs b/sites/shared/prebuild/data/design-measurements.mjs index 8b6879146eb..71d62bc1f68 100644 --- a/sites/shared/prebuild/data/design-measurements.mjs +++ b/sites/shared/prebuild/data/design-measurements.mjs @@ -1,401 +1,3 @@ // __SDEFILE__ - This file is a dependency for the stand-alone environment // This file is auto-generated by the prebuild script | Any changes will be overwritten -export const measurements = { - aaron: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'hips', - ], - albert: ['chest', 'hpsToWaistBack', 'waist', 'waistToKnee', 'hips'], - bee: [ - 'highBust', - 'chest', - 'underbust', - 'waist', - 'waistBack', - 'bustSpan', - 'neck', - 'hpsToBust', - 'hpsToWaistFront', - 'hpsToWaistBack', - 'shoulderToShoulder', - 'shoulderSlope', - 'bustPointToUnderbust', - ], - bella: [ - 'highBust', - 'chest', - 'underbust', - 'waist', - 'waistBack', - 'bustSpan', - 'neck', - 'hpsToBust', - 'hpsToWaistFront', - 'hpsToWaistBack', - 'shoulderToShoulder', - 'shoulderSlope', - ], - benjamin: ['neck'], - bent: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'shoulderToElbow', - 'shoulderToWrist', - 'wrist', - ], - bob: [], - breanna: [ - 'biceps', - 'bustFront', - 'bustSpan', - 'highBust', - 'highBustFront', - 'hpsToBust', - 'hpsToWaistBack', - 'hpsToWaistFront', - 'waist', - 'waistToHips', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'shoulderToWrist', - 'wrist', - ], - brian: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'shoulderToWrist', - 'wrist', - ], - bruce: ['hips', 'upperLeg', 'waistToHips', 'waistToUpperLeg'], - carlita: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'waist', - 'waistToFloor', - 'waistToSeat', - 'seat', - 'highBust', - 'bustSpan', - 'shoulderToElbow', - 'shoulderToWrist', - 'wrist', - ], - carlton: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'waist', - 'waistToFloor', - 'waistToSeat', - 'seat', - 'shoulderToElbow', - 'shoulderToWrist', - 'wrist', - ], - cathrin: ['underbust', 'waist', 'hips', 'waistToUnderbust', 'waistToHips'], - charlie: [ - 'crossSeam', - 'crossSeamFront', - 'knee', - 'seat', - 'seatBack', - 'waist', - 'waistBack', - 'waistToFloor', - 'waistToKnee', - 'waistToHips', - 'waistToSeat', - 'waistToUpperLeg', - ], - cornelius: [ - 'waist', - 'hips', - 'inseam', - 'seat', - 'waistToKnee', - 'waistToHips', - 'waistToFloor', - 'knee', - ], - diana: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'hips', - 'waist', - 'shoulderToWrist', - 'wrist', - ], - examples: ['head'], - florence: ['head'], - florent: ['head'], - hi: [], - holmes: ['head'], - hortensia: [], - huey: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'hips', - 'shoulderToWrist', - 'wrist', - 'head', - ], - hugo: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'hips', - 'shoulderToWrist', - 'wrist', - 'head', - ], - jaeger: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'hips', - 'waist', - 'shoulderToElbow', - 'shoulderToWrist', - 'wrist', - ], - legend: [], - lucy: [], - lunetius: [ - 'waistToKnee', - 'waistToUpperLeg', - 'waistToFloor', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderToElbow', - 'waistToHips', - ], - magde: [], - noble: [ - 'highBust', - 'chest', - 'underbust', - 'waist', - 'waistBack', - 'bustSpan', - 'neck', - 'hpsToBust', - 'hpsToWaistFront', - 'hpsToWaistBack', - 'shoulderToShoulder', - 'shoulderSlope', - ], - octoplushy: [], - paco: [ - 'crossSeam', - 'crossSeamFront', - 'knee', - 'seat', - 'seatBack', - 'waist', - 'waistBack', - 'waistToFloor', - 'waistToKnee', - 'waistToHips', - 'waistToSeat', - 'waistToUpperLeg', - 'heel', - ], - penelope: ['waist', 'seat', 'waistToHips', 'waistToSeat', 'waistToKnee'], - plugintest: ['seat', 'seatBack', 'waist', 'waistBack', 'crossSeam', 'crossSeamFront'], - rendertest: [], - sandy: ['waist', 'waistToFloor', 'waistToHips', 'hips'], - shin: ['hips', 'upperLeg', 'waistToUpperLeg', 'waistToHips'], - simon: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'waist', - 'hips', - 'shoulderToWrist', - 'wrist', - ], - simone: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'waist', - 'hips', - 'highBust', - 'bustSpan', - 'shoulderToWrist', - 'wrist', - ], - sven: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'hips', - 'waist', - 'shoulderToWrist', - 'wrist', - ], - tamiko: ['shoulderToShoulder', 'chest', 'hpsToWaistBack', 'shoulderSlope', 'waistToHips'], - teagan: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'hips', - 'waist', - ], - tiberius: [ - 'head', - 'shoulderToElbow', - 'shoulderToShoulder', - 'biceps', - 'hpsToWaistBack', - 'waistToKnee', - 'waist', - 'chest', - 'seat', - 'hips', - 'waistToFloor', - 'waistToUpperLeg', - ], - titan: [ - 'crossSeam', - 'crossSeamFront', - 'knee', - 'seat', - 'seatBack', - 'waist', - 'waistBack', - 'waistToFloor', - 'waistToKnee', - 'waistToHips', - 'waistToSeat', - 'waistToUpperLeg', - ], - trayvon: ['hpsToWaistBack', 'waistToHips', 'neck'], - uma: ['waist', 'seat', 'waistToSeat', 'waistToUpperLeg'], - wahid: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'hips', - 'waist', - ], - walburga: [ - 'head', - 'shoulderToShoulder', - 'hpsToWaistBack', - 'waistToKnee', - 'waistToHips', - 'waistToFloor', - 'waistToUpperLeg', - 'neck', - ], - waralee: ['seat', 'inseam', 'crotchDepth', 'waistToHips'], - yuri: [ - 'biceps', - 'chest', - 'hpsToBust', - 'hpsToWaistBack', - 'neck', - 'shoulderToShoulder', - 'shoulderSlope', - 'waistToArmpit', - 'waistToHips', - 'hips', - 'shoulderToWrist', - 'wrist', - 'head', - ], -} +export const measurements = {"aaron":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","hips"],"albert":["chest","hpsToWaistBack","waist","waistToKnee","hips"],"bee":["highBust","chest","underbust","waist","waistBack","bustSpan","neck","hpsToBust","hpsToWaistFront","hpsToWaistBack","shoulderToShoulder","shoulderSlope","bustPointToUnderbust"],"bella":["highBust","chest","underbust","waist","waistBack","bustSpan","neck","hpsToBust","hpsToWaistFront","hpsToWaistBack","shoulderToShoulder","shoulderSlope"],"benjamin":["neck"],"bent":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","shoulderToElbow","shoulderToWrist","wrist"],"bob":[],"breanna":["biceps","bustFront","bustSpan","highBust","highBustFront","hpsToBust","hpsToWaistBack","hpsToWaistFront","waist","waistToHips","neck","shoulderToShoulder","shoulderSlope","shoulderToWrist","wrist"],"brian":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","shoulderToWrist","wrist"],"bruce":["hips","upperLeg","waistToHips","waistToUpperLeg"],"carlita":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","waist","waistToFloor","waistToSeat","seat","highBust","bustSpan","shoulderToElbow","shoulderToWrist","wrist"],"carlton":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","waist","waistToFloor","waistToSeat","seat","shoulderToElbow","shoulderToWrist","wrist"],"cathrin":["underbust","waist","hips","waistToUnderbust","waistToHips"],"charlie":["crossSeam","crossSeamFront","knee","seat","seatBack","waist","waistBack","waistToFloor","waistToKnee","waistToHips","waistToSeat","waistToUpperLeg"],"cornelius":["waist","hips","inseam","seat","waistToKnee","waistToHips","waistToFloor","knee"],"diana":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","hips","waist","shoulderToWrist","wrist"],"examples":["head"],"florence":["head"],"florent":["head"],"hi":[],"holmes":["head"],"hortensia":[],"huey":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","hips","shoulderToWrist","wrist","head"],"hugo":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","hips","shoulderToWrist","wrist","head"],"jaeger":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","hips","waist","shoulderToElbow","shoulderToWrist","wrist"],"legend":[],"lucy":[],"lunetius":["waistToKnee","waistToUpperLeg","waistToFloor","hpsToWaistBack","neck","shoulderToShoulder","shoulderToElbow","waistToHips"],"magde":[],"noble":["highBust","chest","underbust","waist","waistBack","bustSpan","neck","hpsToBust","hpsToWaistFront","hpsToWaistBack","shoulderToShoulder","shoulderSlope"],"octoplushy":[],"paco":["crossSeam","crossSeamFront","knee","seat","seatBack","waist","waistBack","waistToFloor","waistToKnee","waistToHips","waistToSeat","waistToUpperLeg","heel"],"penelope":["waist","seat","waistToHips","waistToSeat","waistToKnee"],"plugintest":["seat","seatBack","waist","waistBack","crossSeam","crossSeamFront"],"rendertest":[],"sandy":["waist","waistToFloor","waistToHips","hips"],"shin":["hips","upperLeg","waistToUpperLeg","waistToHips"],"simon":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","waist","hips","shoulderToWrist","wrist"],"simone":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","waist","hips","highBust","bustSpan","shoulderToWrist","wrist"],"sven":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","hips","waist","shoulderToWrist","wrist"],"tamiko":["shoulderToShoulder","chest","hpsToWaistBack","shoulderSlope","waistToHips"],"teagan":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","hips","waist"],"tiberius":["head","shoulderToElbow","shoulderToShoulder","biceps","hpsToWaistBack","waistToKnee","waist","chest","seat","hips","waistToFloor","waistToUpperLeg"],"titan":["crossSeam","crossSeamFront","knee","seat","seatBack","waist","waistBack","waistToFloor","waistToKnee","waistToHips","waistToSeat","waistToUpperLeg"],"trayvon":["hpsToWaistBack","waistToHips","neck"],"uma":["waist","seat","waistToSeat","waistToUpperLeg"],"wahid":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","hips","waist"],"walburga":["head","shoulderToShoulder","hpsToWaistBack","waistToKnee","waistToHips","waistToFloor","waistToUpperLeg","neck"],"waralee":["seat","inseam","crotchDepth","waistToHips"],"yuri":["biceps","chest","hpsToBust","hpsToWaistBack","neck","shoulderToShoulder","shoulderSlope","waistToArmpit","waistToHips","hips","shoulderToWrist","wrist","head"]} diff --git a/sites/shared/prebuild/data/design-options.mjs b/sites/shared/prebuild/data/design-options.mjs index 28a72af2693..1c5e6262783 100644 --- a/sites/shared/prebuild/data/design-options.mjs +++ b/sites/shared/prebuild/data/design-options.mjs @@ -1,1601 +1,3 @@ // __SDEFILE__ - This file is a dependency for the stand-alone environment // This file is auto-generated by the prebuild script | Any changes will be overwritten -export const options = { - aaron: { - brianFitSleeve: false, - brianFitCollar: false, - collarFactor: 4.8, - bicepsEase: 0.05, - chestEase: { pct: 8, min: 0, max: 20, menu: 'style' }, - collarEase: 0, - cuffEase: { pct: 20, min: 0, max: 200, menu: 'fit' }, - draftForHighBust: { bool: false, menu: 'fit' }, - shoulderEase: 0, - lengthBonus: { pct: 10, min: -20, max: 60, menu: 'style' }, - s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: 'style' }, - acrossBackFactor: 0.97, - armholeDepth: { pct: 2, min: -10, max: 50 }, - armholeDepthFactor: 0.6, - backNeckCutout: 0.05, - frontArmholeDeeper: 0, - shoulderSlopeReduction: 0, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - hipsEase: { pct: 8, min: 0, max: 20, menu: 'fit' }, - stretchFactor: { pct: 5, min: 0, max: 15, menu: 'fit' }, - armholeDrop: { pct: 10, min: 0, max: 75, menu: 'style' }, - necklineBend: { pct: 100, min: 40, max: 100, menu: 'style' }, - necklineDrop: { pct: 20, min: 10, max: 35, menu: 'style' }, - shoulderStrapWidth: { pct: 15, min: 10, max: 40, menu: 'style' }, - shoulderStrapPlacement: { pct: 40, min: 20, max: 80, menu: 'style' }, - backlineBend: { pct: 50, min: 25, max: 100, menu: 'style' }, - knitBindingWidth: { pct: 600, min: 300, max: 800, menu: 'style' }, - }, - albert: { - backOpening: { pct: 10, min: 0, max: 25, menu: 'fit' }, - bibWidth: { pct: 100, min: 50, max: 125, menu: 'style' }, - bibLength: { pct: 75, min: 0, max: 90, menu: 'style' }, - lengthBonus: { pct: 0, min: -20, max: 25, menu: 'style' }, - chestDepth: { pct: 22, min: 15, max: 90, menu: 'fit' }, - strapWidth: { pct: 60, min: 20, max: 100, menu: 'style' }, - }, - bee: { - acrossBackFactor: 0.925, - shoulderSlopeBack: 1.23, - neckWidthBack: 0.197, - neckWidthFront: 0.17, - backDartLocation: 0.145, - backCenterWaistReduction: 0.35, - collarFactor: 0.19, - bustSpanEase: { pct: 10, min: 0, max: 20, menu: 'fit' }, - chestEase: { pct: 11, min: 5, max: 20, menu: 'fit' }, - fullChestEaseReduction: { pct: 4, min: 0, max: 8, menu: 'fit' }, - shoulderToShoulderEase: { pct: -0.5, min: -1, max: 5, menu: 'fit' }, - waistEase: { pct: 5, min: 1, max: 20, menu: 'fit' }, - backDartHeight: { pct: 46, min: 38, max: 54, menu: 'advanced' }, - bustDartCurve: 1, - bustDartLength: 1, - waistDartLength: 1, - armholeDepth: { pct: 44, min: 38, max: 46, menu: 'advanced' }, - backArmholeCurvature: 0.63, - backArmholePitchDepth: 0.35, - backArmholeSlant: 5, - frontArmholeCurvature: 0.63, - frontArmholePitchDepth: { pct: 29, max: 31, min: 27, menu: 'advanced' }, - backHemSlope: 2.5, - backNeckCutout: 0.06, - frontShoulderWidth: { pct: 95, max: 98, min: 92, menu: 'advanced' }, - highBustWidth: { pct: 86, max: 92, min: 80, menu: 'advanced' }, - ties: { bool: true, menu: 'style' }, - crossBackTies: { bool: false, menu: 'style' }, - bandLength: { pct: 85, min: 75, max: 90, menu: 'style' }, - neckTieLength: { pct: 80, min: 70, max: 100, menu: 'style' }, - neckTieWidth: { - pct: 6, - min: 2, - max: 18, - snap: { metric: [6, 13, 19, 25, 32, 38], imperial: [6.35, 12.7, 19.05, 25.4, 31.75, 38.1] }, - menu: 'style', - }, - reversible: { bool: false, menu: 'style' }, - topDepth: { pct: 54, min: 50, max: 80, menu: 'fit' }, - bottomCupDepth: { pct: 8, min: 0, max: 20, menu: 'fit' }, - sideDepth: { pct: 20.6, min: 0, max: 30, menu: 'fit' }, - sideCurve: { pct: 0, min: -50, max: 50, menu: 'fit' }, - frontCurve: { pct: 0, min: -50, max: 50, menu: 'fit' }, - bellaGuide: { bool: false, menu: 'fit' }, - pointedTieEnds: { bool: false, menu: 'style' }, - duoColorTies: { bool: false, menu: 'style' }, - bandTieWidth: { - pct: 3, - min: 1, - max: 9, - snap: { metric: [6, 13, 19, 25, 32, 38], imperial: [6.35, 12.7, 19.05, 25.4, 31.75, 38.1] }, - menu: 'style', - }, - bandTieLength: { pct: 35, min: 30, max: 50, menu: 'style' }, - }, - bella: { - acrossBackFactor: 0.925, - shoulderSlopeBack: 1.23, - neckWidthBack: 0.197, - neckWidthFront: 0.17, - backDartLocation: 0.145, - backCenterWaistReduction: 0.35, - collarFactor: 0.19, - bustSpanEase: { pct: 10, min: 0, max: 20, menu: 'fit' }, - chestEase: { pct: 11, min: 5, max: 20, menu: 'fit' }, - fullChestEaseReduction: { pct: 4, min: 0, max: 8, menu: 'fit' }, - shoulderToShoulderEase: { pct: -0.5, min: -1, max: 5, menu: 'fit' }, - waistEase: { pct: 5, min: 1, max: 20, menu: 'fit' }, - backDartHeight: { pct: 46, min: 38, max: 54, menu: 'darts' }, - bustDartCurve: { pct: 100, min: 0, max: 100, menu: 'darts' }, - bustDartLength: { pct: 90, min: 75, max: 100, menu: 'darts' }, - waistDartLength: { pct: 90, min: 75, max: 95, menu: 'darts' }, - armholeDepth: { pct: 44, min: 38, max: 46, menu: 'armhole' }, - backArmholeCurvature: { pct: 63, min: 50, max: 85, menu: 'armhole' }, - backArmholePitchDepth: { pct: 35, max: 40, min: 30, menu: 'armhole' }, - backArmholeSlant: { deg: 5, min: 1, max: 9, menu: 'armhole' }, - frontArmholeCurvature: { pct: 63, min: 50, max: 85, menu: 'armhole' }, - frontArmholePitchDepth: { pct: 29, max: 31, min: 27, menu: 'armhole' }, - backHemSlope: { deg: 2.5, min: 0, max: 5, menu: 'advanced' }, - backNeckCutout: { pct: 6, min: 3, max: 9, menu: 'advanced' }, - frontShoulderWidth: { pct: 95, max: 98, min: 92, menu: 'advanced' }, - highBustWidth: { pct: 86, max: 92, min: 80, menu: 'advanced' }, - }, - benjamin: { - transitionLength: 2, - bandLength: 0.17, - adjustmentRibbonWidth: 20, - collarEase: { pct: 3, min: 0, max: 6, menu: 'fit' }, - adjustmentRibbon: { bool: false, menu: 'fit' }, - tipWidth: { pct: 15, min: 0, max: 20, menu: 'style' }, - knotWidth: { pct: 7, min: 5, max: 10, menu: 'style' }, - bowLength: { pct: 28, min: 23, max: 33, menu: 'style' }, - bowStyle: { - dflt: 'butterfly', - list: ['diamond', 'butterfly', 'square', 'widesquare'], - menu: 'style', - }, - endStyle: { dflt: 'straight', list: ['straight', 'pointed', 'rounded'], menu: 'style' }, - collarBandHeight: { pct: 6, min: 5, max: 8, menu: 'style' }, - }, - bent: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 4.8, - bicepsEase: { pct: 20, min: 10, max: 40, menu: 'fit' }, - chestEase: { pct: 8, min: -4, max: 20, menu: 'fit' }, - collarEase: { pct: 3.5, min: 0, max: 10, menu: 'fit' }, - cuffEase: { pct: 40, min: 2, max: 100, menu: 'fit' }, - draftForHighBust: { bool: false }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, - lengthBonus: { pct: 0, min: -4, max: 60, menu: 'fit' }, - s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: 'style' }, - acrossBackFactor: { pct: 97, min: 93, max: 100, menu: 'advanced' }, - armholeDepth: { pct: 5, min: -10, max: 50 }, - armholeDepthFactor: { pct: 60, min: 50, max: 70 }, - backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5, menu: 'advanced' }, - shoulderSlopeReduction: { pct: 0, min: 0, max: 80, menu: 'advanced' }, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - sleeveLengthBonus: { pct: 0, min: -20, max: 15, menu: 'fit' }, - sleeveBend: { deg: 10, min: 0, max: 20, menu: 'fit' }, - sleevecapHeight: { pct: 45, min: 40, max: 60, menu: 'advanced' }, - sleevecapEase: { pct: 1, min: 0, max: 10, menu: 'advanced' }, - }, - bob: { - neckRatio: { pct: 80, min: 70, max: 90, menu: 'fit' }, - widthRatio: { pct: 45, min: 35, max: 55, menu: 'fit' }, - lengthRatio: { pct: 75, min: 55, max: 85, menu: 'fit' }, - headSize: { pct: 100, min: 10, max: 200, snap: 5, menu: 'size' }, - }, - breanna: { - collarFactor: 4.8, - armholeDepthBase: 0.6, - shoulderSeamLength: 0.95, - sleeveWidthGuarantee: 0.9, - breannaFitSleeve: true, - breannaFitCollar: true, - shoulderDart: { bool: false, menu: 'fit' }, - waistDart: { bool: true, menu: 'fit' }, - primaryBustDart: { - list: [ - '06:00', - '07:00', - '08:00', - '09:00', - '10:00', - '11:00', - '11:30', - '12:00', - '12:30', - '13:00', - '13:30', - '14:00', - '15:00', - '16:00', - '17:00', - ], - dflt: '06:00', - doNotTranslate: true, - menu: 'style', - }, - secondaryBustDart: { - list: [ - 'none', - '06:00', - '07:00', - '08:00', - '09:00', - '10:00', - '11:00', - '11:30', - '12:00', - '12:30', - '13:00', - '13:30', - '14:00', - '15:00', - '16:00', - '17:00', - ], - dflt: '13:30', - doNotTranslate: true, - menu: 'style', - }, - acrossBackFactor: { pct: 96, min: 93, max: 100, menu: 'advanced' }, - armholeDepthFactor: { pct: 100, min: 80, max: 120, menu: 'advanced' }, - backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - bicepsEase: { pct: 15, min: 0, max: 50, menu: 'fit' }, - shoulderDartSize: { pct: 7, min: 4, max: 10 }, - shoulderDartLength: { pct: 85, min: 60, max: 100 }, - waistDartSize: { pct: 10, min: 4, max: 15 }, - waistDartLength: { pct: 85, min: 60, max: 100 }, - verticalEase: { pct: 2, min: 0, max: 8, menu: 'fit' }, - frontArmholeDeeper: { pct: 1, min: 0, max: 5, menu: 'advanced' }, - shoulderEase: { pct: 0, min: 0, max: 4, menu: 'fit' }, - collarEase: { pct: 3.5, min: 0, max: 10, menu: 'fit' }, - chestEase: { pct: 10, min: 5, max: 20, menu: 'fit' }, - waistEase: { pct: 10, min: 5, max: 20, menu: 'fit' }, - primaryBustDartShaping: { pct: 50, min: 25, max: 75, menu: 'style' }, - primaryBustDartLength: { pct: 85, min: 65, max: 95, menu: 'style' }, - secondaryBustDartLength: { pct: 85, min: 65, max: 95, menu: 'style' }, - shoulderSlopeReduction: { pct: 0, min: 0, max: 100, menu: 'advanced' }, - frontScyeDart: { pct: 25, min: 0, max: 45, menu: 'fit' }, - sleevecapEase: { pct: 0.5, min: 0, max: 2.5, menu: 'advanced.sleevecap' }, - sleevecapTopFactorX: { pct: 50, min: 25, max: 75, menu: 'advanced.sleevecap' }, - sleevecapTopFactorY: { pct: 110, min: 35, max: 165, menu: 'advanced.sleevecap' }, - sleevecapBackFactorX: { pct: 45, min: 35, max: 55, menu: 'advanced.sleevecap' }, - sleevecapBackFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorX: { pct: 55, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapQ1Offset: { pct: 3, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ2Offset: { pct: 5.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ3Offset: { pct: 4.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ4Offset: { pct: 1, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread2: { pct: 12.5, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread1: { pct: 12.5, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread2: { pct: 12.5, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread1: { pct: 12.5, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread2: { pct: 8, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread1: { pct: 7, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread2: { pct: 7, min: 4, max: 20, menu: 'advanced.sleevecap' }, - cuffEase: { pct: 20, min: 0, max: 50, menu: 'fit' }, - sleeveLengthBonus: { pct: 0, min: -40, max: 10, menu: 'style' }, - }, - brian: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 4.8, - bicepsEase: { pct: 15, min: 0, max: 50, menu: 'fit' }, - chestEase: { pct: 15, min: -4, max: 35, menu: 'fit' }, - collarEase: { pct: 5, min: 0, max: 10, menu: 'fit' }, - cuffEase: { pct: 20, min: 0, max: 200, menu: 'fit' }, - draftForHighBust: { bool: false }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, - lengthBonus: { pct: 0, min: -4, max: 60, menu: 'style' }, - s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: 'style' }, - acrossBackFactor: { pct: 98, min: 93, max: 100, menu: 'advanced' }, - armholeDepth: { pct: 2, min: -10, max: 50 }, - armholeDepthFactor: { pct: 55, min: 50, max: 70 }, - backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - frontArmholeDeeper: { pct: 0.2, min: 0, max: 0.5, menu: 'advanced' }, - shoulderSlopeReduction: { pct: 0, min: 0, max: 80, menu: 'advanced' }, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - sleevecapEase: { pct: 0, min: 0, max: 10, menu: 'advanced.sleevecap' }, - sleevecapTopFactorX: { pct: 50, min: 25, max: 75, menu: 'advanced.sleevecap' }, - sleevecapTopFactorY: { pct: 45, min: 35, max: 125, menu: 'advanced.sleevecap' }, - sleevecapBackFactorX: { pct: 60, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapBackFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorX: { pct: 55, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapQ1Offset: { pct: 1.7, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ2Offset: { pct: 3.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ3Offset: { pct: 2.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ4Offset: { pct: 1, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread2: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread1: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread2: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread2: { pct: 8, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread1: { pct: 7, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread2: { pct: 6.3, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleeveWidthGuarantee: { pct: 90, min: 25, max: 100, menu: 'advanced' }, - sleeveLengthBonus: { pct: 0, min: -40, max: 10, menu: 'style' }, - }, - bruce: { - hipRatioFront: 0.245, - hipRatioBack: 0.315, - legRatioInset: 0.3, - legRatioBack: 0.32, - gussetRatio: 0.0666, - gussetInsetRatio: 0.6, - heightRatioInset: 0.65, - bulge: { deg: 20, min: 0, max: 40, menu: 'fit' }, - legBonus: { pct: 0, min: -10, max: 20, menu: 'style' }, - rise: { pct: 10, min: 0, max: 25, menu: 'style' }, - stretch: { pct: 15, min: 5, max: 25, menu: 'fit' }, - legStretch: { pct: 40, min: 25, max: 45, menu: 'fit' }, - backRise: { pct: 5, min: 0, max: 10, menu: 'fit' }, - }, - carlita: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 4.8, - bicepsEase: { pct: 20, min: 0, max: 50, menu: 'fit' }, - chestEase: { pct: 10, min: 5, max: 20, menu: 'fit' }, - collarEase: 0.145, - cuffEase: { pct: 60, min: 30, max: 100, menu: 'fit' }, - draftForHighBust: true, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, - lengthBonus: 0, - s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: 'style' }, - acrossBackFactor: { pct: 97, min: 93, max: 100, menu: 'fit' }, - armholeDepth: { pct: 5, min: -10, max: 50 }, - armholeDepthFactor: { pct: 65, min: 50, max: 70, menu: 'fit' }, - backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5, menu: 'advanced' }, - shoulderSlopeReduction: { pct: 12, min: 0, max: 80, menu: 'advanced' }, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - buttonSpacingHorizontal: { pct: 43.5, min: 15, max: 60, menu: 'style' }, - length: { pct: 69, min: 35, max: 100, menu: 'style' }, - lapelReduction: { pct: 5, min: 0, max: 10, menu: 'advanced' }, - frontOverlap: { pct: 1.5, min: 1, max: 2, menu: 'advanced' }, - pocketPlacementHorizontal: { pct: 11, min: 5, max: 20, menu: 'pockets' }, - pocketPlacementVertical: { pct: 6, min: 5, max: 60, menu: 'pockets' }, - pocketWidth: { pct: 95, min: 70, max: 120, menu: 'pockets' }, - pocketHeight: { pct: 15, min: 0, max: 40, menu: 'pockets' }, - pocketRadius: { pct: 20, min: 0, max: 50, menu: 'pockets' }, - pocketFlapRadius: { pct: 15, min: 0, max: 50, menu: 'pockets' }, - chestPocketPlacement: { pct: 55, min: 30, max: 65, menu: 'pockets' }, - chestPocketAngle: 0, - chestPocketHeight: { pct: 60, min: 40, max: 80, menu: 'pockets' }, - chestPocketWidth: { pct: 25, min: 15, max: 50, menu: 'pockets' }, - innerPocketPlacement: { pct: 53, min: 42, max: 62, menu: 'pockets' }, - innerPocketWidth: { pct: 50, min: 45, max: 65, menu: 'pockets' }, - waistEase: { pct: 14, min: 8, max: 25, menu: 'fit' }, - seatEase: { pct: 14, min: 8, max: 25, menu: 'fit' }, - innerPocketWeltHeight: { pct: 3.5, min: 2.5, max: 5, menu: 'pockets' }, - contour: { pct: 50, min: 25, max: 75, menu: 'advanced' }, - backPleat: 0.048, - beltWidth: { pct: 15, min: 10, max: 20, menu: 'style' }, - sleeveLengthBonus: { pct: 7, min: 0, max: 20, menu: 'fit' }, - sleeveBend: { deg: 10, min: 0, max: 20, menu: 'fit' }, - sleevecapHeight: { pct: 45, min: 40, max: 60, menu: 'advanced' }, - sleevecapEase: { pct: 1, min: 0, max: 10, menu: 'advanced' }, - cuffLength: { pct: 15, min: 10, max: 20, menu: 'style' }, - chestShapingMax: 5, - collarHeight: { pct: 9.6, min: 8, max: 11, menu: 'collar' }, - collarFlare: { pct: 20, min: 0, max: 40, menu: 'collar' }, - collarSpread: { deg: 4, min: 2, max: 6, menu: 'collar' }, - innerPocketDepth: { pct: 110, min: 75, max: 140, menu: 'pockets' }, - }, - carlton: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 4.8, - bicepsEase: { pct: 20, min: 0, max: 50, menu: 'fit' }, - chestEase: { pct: 10, min: 5, max: 20, menu: 'fit' }, - collarEase: 0.145, - cuffEase: { pct: 60, min: 30, max: 100, menu: 'fit' }, - draftForHighBust: { bool: false, menu: 'fit' }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, - lengthBonus: 0, - s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: 'style' }, - acrossBackFactor: { pct: 97, min: 93, max: 100, menu: 'fit' }, - armholeDepth: { pct: 5, min: -10, max: 50 }, - armholeDepthFactor: { pct: 65, min: 50, max: 70, menu: 'fit' }, - backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5, menu: 'advanced' }, - shoulderSlopeReduction: { pct: 12, min: 0, max: 80, menu: 'advanced' }, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - buttonSpacingHorizontal: { pct: 43.5, min: 15, max: 60, menu: 'style' }, - length: { pct: 69, min: 35, max: 100, menu: 'style' }, - lapelReduction: { pct: 5, min: 0, max: 10, menu: 'advanced' }, - frontOverlap: { pct: 1.5, min: 1, max: 2, menu: 'advanced' }, - pocketPlacementHorizontal: { pct: 11, min: 5, max: 20, menu: 'pockets' }, - pocketPlacementVertical: { pct: 6, min: 5, max: 60, menu: 'pockets' }, - pocketWidth: { pct: 95, min: 70, max: 120, menu: 'pockets' }, - pocketHeight: { pct: 15, min: 0, max: 40, menu: 'pockets' }, - pocketRadius: { pct: 20, min: 0, max: 50, menu: 'pockets' }, - pocketFlapRadius: { pct: 15, min: 0, max: 50, menu: 'pockets' }, - chestPocketPlacement: { pct: 55, min: 30, max: 65, menu: 'pockets' }, - chestPocketAngle: { deg: 4, min: 0, max: 6, menu: 'pockets' }, - chestPocketHeight: { pct: 60, min: 40, max: 80, menu: 'pockets' }, - chestPocketWidth: { pct: 25, min: 15, max: 50, menu: 'pockets' }, - innerPocketPlacement: { pct: 53, min: 42, max: 62, menu: 'pockets' }, - innerPocketWidth: { pct: 50, min: 45, max: 65, menu: 'pockets' }, - waistEase: { pct: 14, min: 8, max: 25, menu: 'fit' }, - seatEase: { pct: 14, min: 8, max: 25, menu: 'fit' }, - innerPocketWeltHeight: { pct: 3.5, min: 2.5, max: 5, menu: 'pockets' }, - backPleat: 0.048, - beltWidth: { pct: 15, min: 10, max: 20, menu: 'style' }, - sleeveLengthBonus: { pct: 7, min: 0, max: 20, menu: 'fit' }, - sleeveBend: { deg: 10, min: 0, max: 20, menu: 'fit' }, - sleevecapHeight: { pct: 45, min: 40, max: 60, menu: 'advanced' }, - sleevecapEase: { pct: 1, min: 0, max: 10, menu: 'advanced' }, - cuffLength: { pct: 15, min: 10, max: 20, menu: 'style' }, - chestShapingMax: 5, - collarHeight: { pct: 9.6, min: 8, max: 11, menu: 'collar' }, - collarFlare: { pct: 20, min: 0, max: 40, menu: 'collar' }, - collarSpread: { deg: 4, min: 2, max: 6, menu: 'collar' }, - innerPocketDepth: { pct: 110, min: 75, max: 140, menu: 'pockets' }, - }, - cathrin: { - waistReduction: { pct: 10, min: 2, max: 20, menu: 'fit' }, - panels: { list: ['11', '13'], dflt: '13', menu: 'fit' }, - backOpening: { pct: 4, min: 3, max: 10, menu: 'style' }, - backRise: { pct: 15, min: 1, max: 25, menu: 'style' }, - backDrop: { pct: 2, min: 0, max: 5, menu: 'style' }, - frontRise: { pct: 4, min: 0.1, max: 8, menu: 'style' }, - frontDrop: { pct: 5, min: 0, max: 10, menu: 'style' }, - hipRise: { pct: 5, min: 0, max: 15, menu: 'style' }, - }, - charlie: { - fitCrossSeam: true, - fitCrossSeamFront: true, - fitCrossSeamBack: true, - fitGuides: false, - waistEase: { pct: 1, min: 0, max: 5, menu: 'fit' }, - seatEase: { pct: 5, min: 0, max: 10, menu: 'fit' }, - kneeEase: { pct: 15, min: 10, max: 30, menu: 'fit' }, - waistHeight: { pct: -4, min: -15, max: 40, menu: 'style' }, - lengthBonus: { pct: 2, min: -20, max: 10, menu: 'style' }, - crotchDrop: { pct: 2, min: 0, max: 15, menu: 'style' }, - fitKnee: true, - legBalance: { pct: 57.5, min: 52.5, max: 62.5, menu: 'advanced' }, - crossSeamCurveStart: { pct: 85, min: 60, max: 100, menu: 'advanced' }, - crossSeamCurveBend: { pct: 65, min: 45, max: 85, menu: 'advanced' }, - crossSeamCurveAngle: { deg: 12, min: 0, max: 20, menu: 'advanced' }, - crotchSeamCurveStart: { pct: 80, min: 60, max: 95, menu: 'advanced' }, - crotchSeamCurveBend: { pct: 80, min: 45, max: 100, menu: 'advanced' }, - crotchSeamCurveAngle: { deg: 25, min: 0, max: 35, menu: 'advanced' }, - waistBalance: { pct: 55, min: 30, max: 90, menu: 'advanced' }, - grainlinePosition: { pct: 50, min: 30, max: 60, menu: 'advanced' }, - waistbandWidth: { - pct: 3, - min: 1, - max: 6, - snap: { - metric: [3.5, 5, 10, 12, 20, 25, 30, 40, 50, 60, 80, 100, 120], - imperial: [ - 3.175, 6.35, 9.524999999999999, 12.7, 15.875, 19.049999999999997, 25.4, 31.75, - 38.099999999999994, 44.449999999999996, 50.8, 76.19999999999999, 101.6, 127, - ], - }, - menu: 'style', - }, - waistbandReduction: 0.25, - waistbandFactor: 0.1, - frontPocketSlantDepth: { pct: 85, min: 70, max: 100, menu: 'pockets.frontpockets' }, - frontPocketSlantWidth: { pct: 25, min: 15, max: 35, menu: 'pockets.frontpockets' }, - frontPocketSlantRound: { pct: 30, min: 5, max: 50, menu: 'pockets.frontpockets' }, - frontPocketSlantBend: { pct: 25, min: 5, max: 50, menu: 'pockets.frontpockets' }, - frontPocketWidth: { pct: 55, min: 45, max: 65, menu: 'pockets.frontpockets' }, - frontPocketDepth: { pct: 100, min: 85, max: 110, menu: 'pockets.frontpockets' }, - frontPocketFacing: { pct: 45, min: 25, max: 65, menu: 'pockets.frontpockets' }, - flyCurve: { pct: 72, min: 50, max: 100, menu: 'advanced.fly' }, - flyLength: { pct: 45, min: 30, max: 60, menu: 'advanced.fly' }, - flyWidth: { pct: 15, min: 10, max: 20, menu: 'advanced.fly' }, - backPocketVerticalPlacement: { pct: 24, min: 18, max: 30, menu: 'pockets.backpockets' }, - backPocketHorizontalPlacement: { pct: 55, min: 48, max: 62, menu: 'pockets.backpockets' }, - backPocketWidth: { pct: 55, min: 50, max: 60, menu: 'pockets.backpockets' }, - backPocketDepth: { pct: 60, min: 40, max: 80, menu: 'pockets.backpockets' }, - backPocketFacing: { bool: true, menu: 'pockets.backpockets' }, - waistbandCurve: { pct: 0, min: 0, max: 35, menu: 'fit' }, - beltLoops: { count: 8, min: 6, max: 12, menu: 'advanced' }, - }, - cornelius: { - pctAtoO: 0.5, - pctAtoC: 0.25, - pctUtoA: 0.25, - pctJtoA: 0.25, - pctSeatAdjustment: 0.5, - ventLength: { pct: 70, min: 50, max: 110, menu: 'style' }, - fullness: { pct: 0, min: 0, max: 55, menu: 'fit' }, - waistbandBelowWaist: { pct: 5, min: 0, max: 15, menu: 'style' }, - waistReduction: { pct: 1, min: -2, max: 10, menu: 'fit' }, - bandBelowKnee: { pct: 25, min: 15, max: 50, menu: 'advanced' }, - pctZtoR: 0.35, - pctRtoZin: 0.75, - pctRtoZup: 0.25, - pctRtoKin: 0.75, - pctRtoKdown: 0.25, - pctKtoRout: 0.15, - pctKtoRup: 0.25, - pctKtoH: 0.7, - kneeToBelow: { pct: 94, min: 85, max: 110, menu: 'advanced' }, - cuffWidth: { pct: 0, min: -50, max: 150, menu: 'style' }, - cuffStyle: { dflt: 'elegant', list: ['traditional', 'elegant', 'keystone'], menu: 'style' }, - }, - diana: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 5, - bicepsEase: { pct: 0, min: -5, max: 50, menu: 'fit' }, - chestEase: { pct: 0, min: -10, max: 20, menu: 'fit' }, - collarEase: 0, - cuffEase: { pct: 20, min: 0, max: 30, menu: 'fit' }, - draftForHighBust: { bool: false, menu: 'fit' }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, - lengthBonus: { pct: 0, min: 0, max: 50, menu: 'fit' }, - s3Collar: 0, - s3Armhole: 0, - acrossBackFactor: { pct: 97, min: 93, max: 100, menu: 'advanced' }, - armholeDepth: { pct: 0, min: 0, max: 20, menu: 'advanced' }, - armholeDepthFactor: { pct: 55, min: 50, max: 70, menu: 'advanced' }, - backNeckCutout: 0.05, - frontArmholeDeeper: { pct: 0, min: 0, max: 1.5, menu: 'advanced' }, - shoulderSlopeReduction: 0, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - drapeAngle: { deg: 20, min: 10, max: 30, menu: 'style' }, - sleeveLengthBonus: { pct: 0, min: -40, max: 10, menu: 'fit' }, - shoulderSeamLength: { pct: 35, min: 0.1, max: 60, menu: 'style' }, - waistEase: { pct: 0, min: -10, max: 20, menu: 'fit' }, - hipsEase: { pct: 0, min: -10, max: 20, menu: 'fit' }, - sleevecapEase: { pct: 0, min: 0, max: 10, menu: 'advanced.sleevecap' }, - sleevecapTopFactorX: { pct: 50, min: 25, max: 75, menu: 'advanced.sleevecap' }, - sleevecapTopFactorY: { pct: 100, min: 35, max: 165, menu: 'advanced.sleevecap' }, - sleevecapBackFactorX: { pct: 60, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapBackFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorX: { pct: 55, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapQ1Offset: { pct: 3, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ2Offset: { pct: 5.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ3Offset: { pct: 4.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ4Offset: { pct: 1, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread1: { pct: 6, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread2: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread1: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread2: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread2: { pct: 8, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread1: { pct: 7, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread2: { pct: 7, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleeveWidthGuarantee: { pct: 90, min: 25, max: 100, menu: 'advanced' }, - }, - examples: { - size: { pct: 50, min: 5, max: 100, menu: 'stack' }, - x: { pct: 0, min: -100, max: 100, menu: 'stack' }, - y: { pct: 0, min: -100, max: 100, menu: 'stack' }, - stackIt: { dflt: 'Do stack', list: ['Do stack', 'Do not stack'], menu: 'stack' }, - }, - florence: { - length: { pct: 40, min: 35, max: 45, menu: 'fit' }, - height: { pct: 26, min: 23, max: 29, menu: 'fit' }, - curve: { pct: 12.5, min: 10, max: 15, menu: 'fit' }, - }, - florent: { topSide: 0.8, brim: 0, headEase: { pct: 2, min: 0, max: 5, menu: 'fit' } }, - hi: { - length: 1000, - size: { pct: 100, min: 5, max: 500, menu: 'style' }, - nosePointiness: { pct: 0, min: -5, max: 10, menu: 'style' }, - aggressive: { bool: false, menu: 'style' }, - hungry: { pct: 50, min: 0, max: 100, menu: 'style' }, - }, - holmes: { - headEase: { - pct: 3, - min: 0, - max: 9, - snap: { - metric: [6, 13, 19, 25, 32, 38, 44, 50], - imperial: [6.35, 12.7, 19.05, 25.4, 31.75, 38.1, 44.45, 50.8], - }, - menu: 'fit', - }, - lengthRatio: { pct: 55, min: 40, max: 60, menu: 'style' }, - gores: { count: 6, min: 4, max: 20, menu: 'style' }, - visorAngle: { deg: 45, min: 10, max: 90, menu: 'style' }, - visorWidth: { pct: 5, min: 1, max: 17, snap: 5, menu: 'style' }, - visorLength: { pct: 100, min: 80, max: 150, menu: 'advanced' }, - earLength: { pct: 100, min: 80, max: 150, menu: 'style' }, - earWidth: { pct: 100, min: 80, max: 150, menu: 'style' }, - buttonhole: { bool: false, menu: 'style' }, - }, - hortensia: { - width: 230, - height: 330, - size: { pct: 50, min: 20, max: 200, menu: 'style' }, - zipperSize: { - dflt: '#5', - list: ['#3', '#4', '#4.5', '#5', '#6', '#8', '#10', 'invisible'], - menu: 'style', - }, - minHandleSpaceWidth: 80, - maxHandleSpaceWidth: 250, - pctHandleSpace: 50, - pctHandleVert: 42, - handleWidth: { pct: 8.6, min: 4, max: 25, menu: 'style' }, - strapLength: { pct: 160, min: 75, max: 250, menu: 'style' }, - }, - huey: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 4.8, - bicepsEase: { pct: 15, min: 0, max: 50, menu: 'fit' }, - chestEase: { pct: 15, min: -4, max: 35, menu: 'fit' }, - collarEase: { pct: 5, min: 0, max: 10, menu: 'fit' }, - cuffEase: { pct: 20, min: 0, max: 200, menu: 'fit' }, - draftForHighBust: { bool: false }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, - lengthBonus: { pct: 0, min: -4, max: 60, menu: 'style' }, - s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: 'style' }, - acrossBackFactor: { pct: 98, min: 93, max: 100, menu: 'advanced' }, - armholeDepth: { pct: 2, min: -10, max: 50 }, - armholeDepthFactor: { pct: 55, min: 50, max: 70 }, - backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - frontArmholeDeeper: { pct: 0.2, min: 0, max: 0.5, menu: 'advanced' }, - shoulderSlopeReduction: { pct: 0, min: 0, max: 80, menu: 'advanced' }, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - ribbing: { bool: true, menu: 'style' }, - ribbingHeight: { pct: 10, min: 5, max: 15, menu: 'style' }, - hipsEase: { pct: 8, min: 4, max: 12, menu: 'fit' }, - pocket: { bool: true, menu: 'style' }, - pocketHeight: { pct: 30, min: 25, max: 35, menu: 'style' }, - pocketWidth: { pct: 60, min: 50, max: 70, menu: 'style' }, - sleevecapEase: { pct: 0, min: 0, max: 10, menu: 'advanced.sleevecap' }, - sleevecapTopFactorX: { pct: 50, min: 25, max: 75, menu: 'advanced.sleevecap' }, - sleevecapTopFactorY: { pct: 45, min: 35, max: 125, menu: 'advanced.sleevecap' }, - sleevecapBackFactorX: { pct: 60, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapBackFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorX: { pct: 55, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapQ1Offset: { pct: 1.7, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ2Offset: { pct: 3.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ3Offset: { pct: 2.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ4Offset: { pct: 1, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread2: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread1: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread2: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread2: { pct: 8, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread1: { pct: 7, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread2: { pct: 6.3, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleeveWidthGuarantee: { pct: 90, min: 25, max: 100, menu: 'advanced' }, - sleeveLengthBonus: { pct: 0, min: -40, max: 10, menu: 'style' }, - hoodHeight: { pct: 59, min: 55, max: 65, menu: 'style' }, - hoodCutback: { pct: 10, min: 5, max: 15, menu: 'style' }, - hoodClosure: { pct: 13.5, min: 10, max: 15, menu: 'style' }, - hoodDepth: { pct: 8.5, min: 5, max: 12, menu: 'style' }, - hoodAngle: { deg: 5, min: 2, max: 8, menu: 'style' }, - ribbingStretch: { pct: 15, min: 0, max: 30, menu: 'fit' }, - }, - hugo: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 4.8, - bicepsEase: { pct: 15, min: 0, max: 50, menu: 'fit' }, - chestEase: { pct: 8, min: 4, max: 20, menu: 'fit' }, - collarEase: 0.05, - cuffEase: { pct: 20, min: 10, max: 50, menu: 'fit' }, - draftForHighBust: { bool: false, menu: 'fit' }, - shoulderEase: 0, - lengthBonus: { pct: 10, min: 0, max: 20, menu: 'style' }, - s3Collar: 0, - s3Armhole: 0, - acrossBackFactor: { pct: 98, min: 93, max: 100, menu: 'advanced' }, - armholeDepth: { pct: 2, min: -10, max: 50 }, - armholeDepthFactor: 0.5, - backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - frontArmholeDeeper: 0, - shoulderSlopeReduction: 0, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - hipsEase: { pct: 12, min: 4, max: 20, menu: 'fit' }, - ribbingHeight: { pct: 10, min: 4, max: 20, menu: 'style' }, - pocketWidth: { pct: 50, min: 35, max: 65, menu: 'style' }, - sleevecapEase: { pct: 0, min: 0, max: 10, menu: 'advanced.sleevecap' }, - sleevecapTopFactorX: { pct: 50, min: 25, max: 75, menu: 'advanced.sleevecap' }, - sleevecapTopFactorY: { pct: 45, min: 35, max: 125, menu: 'advanced.sleevecap' }, - sleevecapBackFactorX: { pct: 60, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapBackFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorX: { pct: 55, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapQ1Offset: { pct: 1.7, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ2Offset: { pct: 3.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ3Offset: { pct: 2.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ4Offset: { pct: 1, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread2: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread1: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread2: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread2: { pct: 8, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread1: { pct: 7, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread2: { pct: 6.3, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleeveWidthGuarantee: { pct: 90, min: 25, max: 100, menu: 'advanced' }, - sleeveLengthBonus: { pct: 2, min: 0, max: 10, menu: 'style' }, - ribbingStretch: { pct: 5, min: 0, max: 10, menu: 'fit' }, - }, - jaeger: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 4.8, - bicepsEase: { pct: 15, min: 0, max: 50, menu: 'fit' }, - chestEase: { pct: 15, min: -4, max: 35, menu: 'fit' }, - collarEase: { pct: 5, min: 0, max: 10, menu: 'fit' }, - cuffEase: { pct: 20, min: 0, max: 200, menu: 'fit' }, - draftForHighBust: { bool: false }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, - lengthBonus: { pct: 19, min: 10, max: 25, menu: 'fit' }, - s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: 'style' }, - acrossBackFactor: { pct: 98, min: 93, max: 100, menu: 'advanced' }, - armholeDepth: { pct: 2, min: -10, max: 50 }, - armholeDepthFactor: { pct: 55, min: 50, max: 70 }, - backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - frontArmholeDeeper: { pct: 0.2, min: 0, max: 0.5, menu: 'advanced' }, - shoulderSlopeReduction: { pct: 0, min: 0, max: 80, menu: 'advanced' }, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - centerBackDart: { pct: 0.5, min: 0, max: 1.5, menu: 'fit' }, - hipsEase: { pct: 12, min: 8, max: 20, menu: 'fit' }, - waistEase: { pct: 14, min: 8, max: 25, menu: 'fit' }, - rollLineCollarHeight: { pct: 6, min: 5, max: 9, menu: 'collar' }, - reduceWaistStandardFraction: 0.08, - reduceWaistDartFraction: 0.05, - reduceHipsStandardFraction: 0.1, - centerFrontHemDrop: { pct: 2, min: 0, max: 4, menu: 'style' }, - frontPocketPlacement: { pct: 75, min: 65, max: 85, menu: 'pockets' }, - frontPocketWidth: { pct: 68, min: 55, max: 75, menu: 'pockets' }, - frontPocketDepth: { pct: 110, min: 80, max: 130, menu: 'pockets' }, - frontPocketRadius: { pct: 10, min: 0, max: 50, menu: 'pockets' }, - frontDartPlacement: { pct: 55, min: 45, max: 60, menu: 'advanced' }, - sideFrontPlacement: { pct: 85, min: 80, max: 90, menu: 'advanced' }, - frontOverlap: { pct: 1.5, min: 1, max: 2, menu: 'advanced' }, - innerPocketPlacement: { pct: 52, min: 42, max: 62, menu: 'pockets' }, - innerPocketWidth: { pct: 50, min: 45, max: 65, menu: 'pockets' }, - innerPocketDepth: { pct: 110, min: 75, max: 140, menu: 'pockets' }, - innerPocketWeltHeight: { pct: 3.5, min: 2.5, max: 5, menu: 'pockets' }, - frontCutawayAngle: { deg: 2.5, min: 1, max: 4, menu: 'style' }, - frontCutawayStart: { pct: 30, min: 10, max: 70, menu: 'style' }, - frontCutawayEnd: { pct: 40, min: 10, max: 40, menu: 'style' }, - hemRadius: { pct: 100, min: 35, max: 100, menu: 'style' }, - chestPocketDepth: { pct: 110, min: 70, max: 150, menu: 'pockets' }, - chestPocketWidth: { pct: 37, min: 30, max: 45, menu: 'pockets' }, - chestPocketPlacement: { pct: 52, min: 40, max: 60, menu: 'pockets' }, - chestPocketAngle: { deg: 2.5, min: 0, max: 7, menu: 'pockets' }, - chestPocketWeltSize: { pct: 17.5, min: 10, max: 25, menu: 'pockets' }, - lapelStart: { pct: 10, min: 0, max: 35, menu: 'style' }, - collarHeight: { pct: 9, min: 7, max: 10, menu: 'collar' }, - collarNotchDepth: { pct: 15, min: 15, max: 50, menu: 'collar' }, - collarNotchAngle: { deg: 45, min: 30, max: 60, menu: 'collar' }, - collarNotchReturn: { pct: 100, min: 50, max: 100, menu: 'collar' }, - chestShaping: { pct: 30, min: 0, max: 100, menu: 'advanced' }, - buttons: { list: ['1', '2', '3'], dflt: '2', menu: 'style' }, - buttonLength: { pct: 30, min: 30, max: 60, menu: 'style' }, - chestShapingMax: 5, - lapelReduction: { pct: 5, min: 0, max: 10, menu: 'style' }, - backVent: { count: 1, min: 0, max: 2, menu: 'style' }, - backVentLength: { pct: 35, min: 15, max: 100, menu: 'style' }, - collarSpread: { deg: 13, min: 5, max: 35, menu: 'collar' }, - collarRoll: { pct: 5, min: 0, max: 10, menu: 'collar' }, - pocketFoldover: { pct: 25, min: 15, max: 35, menu: 'pockets' }, - sleeveLengthBonus: { pct: 0, min: -20, max: 15, menu: 'fit' }, - sleeveBend: { deg: 10, min: 0, max: 20, menu: 'fit' }, - sleevecapHeight: { pct: 45, min: 40, max: 60, menu: 'advanced' }, - sleevecapEase: { pct: 1, min: 0, max: 10, menu: 'advanced' }, - sleeveVentLength: { pct: 35, min: 25, max: 55, menu: 'sleeves' }, - sleeveVentWidth: { pct: 18, min: 10, max: 26, menu: 'sleeves' }, - }, - legend: {}, - lucy: { - width: { pct: 50, min: 30, max: 100, menu: 'style' }, - length: { pct: 50, min: 30, max: 100, menu: 'style' }, - edge: { pct: 25, min: 20, max: 50, menu: 'style' }, - }, - lunetius: { - lengthRatio: { pct: 105, min: 60, max: 130, menu: 'style' }, - widthRatio: { pct: 100, min: 50, max: 130, menu: 'style' }, - length: { - list: ['toKnee', 'toBelowKnee', 'toHips', 'toUpperLeg', 'toFloor'], - dflt: 'toBelowKnee', - menu: 'style', - }, - }, - magde: { - size: { pct: 100, min: 15, max: 200, menu: 'style' }, - taperRatio: { pct: 60, min: 50, max: 100, menu: 'style' }, - flapHeightRatio: { pct: 83, min: 60, max: 100, menu: 'style' }, - openingRatio: { pct: 66, min: 30, max: 90, menu: 'style' }, - onePieceLid: { bool: false, menu: 'style' }, - useCommonWebbingSizes: { bool: true, menu: 'style' }, - }, - noble: { - acrossBackFactor: 0.925, - shoulderSlopeBack: 1.23, - neckWidthBack: 0.197, - neckWidthFront: 0.17, - backDartLocation: 0.145, - backCenterWaistReduction: 0.35, - collarFactor: 0.19, - bustSpanEase: { pct: 0, min: -5, max: 20, menu: 'fit' }, - chestEase: { pct: 11, min: 5, max: 20, menu: 'fit' }, - fullChestEaseReduction: { pct: 4, min: 0, max: 8, menu: 'fit' }, - shoulderToShoulderEase: { pct: -0.5, min: -1, max: 5, menu: 'fit' }, - waistEase: { pct: 5, min: 1, max: 20, menu: 'fit' }, - backDartHeight: { pct: 46, min: 38, max: 54, menu: 'darts' }, - bustDartCurve: 1, - bustDartLength: 0.9, - waistDartLength: { pct: 90, min: 75, max: 95, menu: 'darts' }, - armholeDepth: { pct: 44, min: 38, max: 46, menu: 'armhole' }, - backArmholeCurvature: { pct: 63, min: 50, max: 85, menu: 'armhole' }, - backArmholePitchDepth: { pct: 35, max: 40, min: 30, menu: 'armhole' }, - backArmholeSlant: { deg: 5, min: 1, max: 9, menu: 'armhole' }, - frontArmholeCurvature: { pct: 63, min: 50, max: 85, menu: 'armhole' }, - frontArmholePitchDepth: { pct: 29, max: 31, min: 27, menu: 'armhole' }, - backHemSlope: { deg: 2.5, min: 0, max: 5, menu: 'advanced' }, - backNeckCutout: { pct: 6, min: 3, max: 9, menu: 'advanced' }, - frontShoulderWidth: { pct: 95, max: 98, min: 92, menu: 'advanced' }, - highBustWidth: { pct: 86, max: 92, min: 80, menu: 'advanced' }, - armholeDartPosition: { pct: 50, min: 10, max: 90 }, - dartPosition: { dflt: 'shoulder', list: ['shoulder', 'armhole'], menu: 'darts' }, - shoulderDartPosition: { pct: 50, min: 10, max: 90 }, - shoulderToShoulderCorrection: 0.995, - upperDartLength: { pct: 90, min: 80, max: 95, menu: 'darts' }, - }, - octoplushy: { - sizeConstant: 200, - size: { pct: 100, min: 5, max: 500, menu: 'style' }, - type: { dflt: 'octoplushy', list: ['octoplushy', 'octopus', 'squid'], menu: 'style' }, - armWidth: { pct: 15, min: 10, max: 30, menu: 'style' }, - armLength: { pct: 200, min: 100, max: 500, menu: 'style' }, - neckWidth: { pct: 25, min: 25, max: 45, menu: 'style' }, - armTaper: { pct: 25, min: 0, max: 50, menu: 'style' }, - bottomTopArmRatio: { pct: 57, min: 25, max: 75, menu: 'style' }, - bottomArmReduction: { pct: 90, min: 75, max: 125 }, - bottomArmReductionPlushy: { pct: 80, min: 75, max: 125 }, - }, - paco: { - fitCrossSeam: true, - fitCrossSeamFront: true, - fitCrossSeamBack: true, - fitGuides: false, - waistEase: { pct: 2, min: 0, max: 10, menu: 'fit' }, - seatEase: { pct: 5, min: 0, max: 15, menu: 'fit' }, - kneeEase: 0.06, - waistHeight: { pct: 5, min: 0, max: 100, menu: 'style' }, - lengthBonus: { pct: 0, min: -15, max: 10, menu: 'style' }, - crotchDrop: { pct: 2, min: 0, max: 10, menu: 'style' }, - fitKnee: false, - legBalance: { pct: 57.5, min: 52.5, max: 62.5, menu: 'advanced' }, - crossSeamCurveStart: { pct: 85, min: 60, max: 100, menu: 'advanced' }, - crossSeamCurveBend: { pct: 65, min: 45, max: 85, menu: 'advanced' }, - crossSeamCurveAngle: { deg: 12, min: 0, max: 20, menu: 'advanced' }, - crotchSeamCurveStart: { pct: 80, min: 60, max: 95, menu: 'advanced' }, - crotchSeamCurveBend: { pct: 80, min: 45, max: 100, menu: 'advanced' }, - crotchSeamCurveAngle: { deg: 25, min: 0, max: 35, menu: 'advanced' }, - waistBalance: { pct: 60, min: 30, max: 90, menu: 'advanced' }, - grainlinePosition: { pct: 45, min: 30, max: 60, menu: 'advanced' }, - waistbandWidth: { - pct: 3, - min: 1, - max: 6, - snap: { - metric: [3.5, 5, 10, 12, 20, 25, 30, 40, 50, 60, 80, 100, 120], - imperial: [ - 3.175, 6.35, 9.524999999999999, 12.7, 15.875, 19.049999999999997, 25.4, 31.75, - 38.099999999999994, 44.449999999999996, 50.8, 76.19999999999999, 101.6, 127, - ], - }, - menu: 'elastic', - }, - titanPaperless: false, - frontPocketHeelRatio: 0.4, - backPocketWaistRatio: 0.4, - backPocketHeightRatio: 0.4, - backPocketWidthRatio: 0.37, - waistbandHeight: 0, - elasticatedCuff: { bool: true, menu: 'style' }, - ankleElastic: { - pct: 5, - min: 1, - max: 13, - snap: { - metric: [3.5, 5, 10, 12, 20, 25, 30, 40, 50, 60, 80, 100, 120], - imperial: [ - 3.175, 6.35, 9.524999999999999, 12.7, 15.875, 19.049999999999997, 25.4, 31.75, - 38.099999999999994, 44.449999999999996, 50.8, 76.19999999999999, 101.6, 127, - ], - }, - menu: 'elastic', - }, - heelEase: { pct: 5, min: 0, max: 50, menu: 'elastic' }, - frontPockets: { bool: true, menu: 'pockets' }, - backPockets: { bool: false, menu: 'pockets' }, - frontPocketFlapSize: { - pct: 3, - min: 3, - max: 3, - snap: { metric: 1, imperial: 0.79375 }, - menu: false, - }, - weltFactor: 0.15, - }, - penelope: { - dartMaximumDifference: 0.344, - dartMinimumDifference: 0.2, - dartMinimumWidth: 0.006888, - dartSideMinimum: 10, - dartBackControl1: 0.114, - dartBackControl2: 5, - dartBackControl3: 4, - curvePlacement: 2.4, - dart2offset: 32, - dart2factor: 0.8, - hipCurveDividerDown: 40, - hipCurveDividerUp: 3, - sideSeamShiftPercentage: 0.006, - backVentWidth: 0.1, - paperlessOffset: 15, - curvedDartControlAngle: 2, - curvedDartTopControlOffset: 0.2, - curvedDartBottomControlOffset: 0.4, - curvedDarts: { bool: true, menu: 'style' }, - lengthBonus: { pct: 0, min: -50, max: 50, menu: 'style' }, - hemBonus: { pct: 0, min: -35, max: 0, menu: 'style' }, - hem: { pct: 2, min: 0, max: 5, menu: 'style' }, - backVent: { bool: true, menu: 'style' }, - backVentLength: { pct: 40, min: 5, max: 70 }, - zipperLocation: { dflt: 'backSeam', list: ['backSeam', 'sideSeam'], menu: 'style' }, - nrOfDarts: { count: 2, min: 1, max: 2, menu: 'style' }, - seatEase: { pct: 1, min: 0, max: 8, menu: 'fit' }, - waistEase: { pct: 1, min: 0, max: 8, menu: 'fit' }, - backDartDepthFactor: { pct: 50, min: 35, max: 70, menu: 'advanced' }, - frontDartDepthFactor: { pct: 45, min: 30, max: 65, menu: 'advanced' }, - dartToSideSeamFactor: { pct: 50, min: 30, max: 70, menu: 'advanced' }, - waistband: { bool: true, menu: 'style' }, - waistbandWidth: { pct: 10, min: 5, max: 20 }, - waistbandOverlap: { pct: 3.5, min: 0, max: 10 }, - }, - plugintest: { - plugin: { - dflt: 'all', - list: [ - 'all', - 'banner', - 'bartack', - 'buttons', - 'cutonfold', - 'dimension', - 'flip', - 'gore', - 'grainline', - 'i18n', - 'logo', - 'measurements', - 'mirror', - 'notches', - 'round', - 'scalebox', - 'sprinkle', - 'title', - 'versionfreeSvg', - ], - menu: 'tests', - }, - bannerDy: { count: -1, min: -15, max: 15, menu: 'annotations.banner' }, - bannerSpaces: { count: 10, min: 0, max: 20, menu: 'annotations.banner' }, - bannerRepeat: { count: 10, min: 1, max: 20, menu: 'annotations.banner' }, - bartackLength: { count: 15, min: 2, max: 100, menu: 'annotations.bartack' }, - bartackAngle: { count: 0, min: -360, max: 360, menu: 'annotations.bartack' }, - bartackDensity: { count: 3, min: 1, max: 5, menu: 'annotations.bartack' }, - bartackWidth: { count: 3, min: 1, max: 5, menu: 'annotations.bartack' }, - bartackStart: { pct: 25, min: 0, max: 100, menu: 'annotations.bartack' }, - bartackEnd: { pct: 75, min: 0, max: 100, menu: 'annotations.bartack' }, - crossboxText: { bool: true, menu: 'annotations.crossboxText' }, - cutonfoldMargin: { pct: 5, min: 0, max: 25, menu: 'annotations.cutonfold' }, - cutonfoldOffset: { count: 15, min: 0, max: 100, menu: 'annotations.cutonfold' }, - cutonfoldGrainline: { bool: false, menu: 'annotations.cutonfold' }, - dimensionsCustomText: { bool: false, menu: 'annotations.dimensions' }, - dimensionsEndMarker: { bool: true, menu: 'annotations.dimensions' }, - dimensionsStartMarker: { bool: true, menu: 'annotations.dimensions' }, - logoScale: { pct: 100, min: 10, max: 200, menu: 'annotations.logo' }, - logoRotate: { deg: 0, min: -360, max: 360, menu: 'annotations.logo' }, - pleatMargin: { count: 35, min: 0, max: 50, menu: 'annotations.pleat' }, - pleatReverse: { bool: false, menu: 'annotations.pleat' }, - scaleboxRotation: { deg: 0, min: 0, max: 360, menu: 'annotations.scalebox' }, - scaleboxText: { - dflt: 'default', - list: ['default', 'custom', 'suppress'], - menu: 'annotations.scalebox', - }, - sewtogetherHinge: { bool: true, menu: 'annotations.sewtogether' }, - sewtogetherMiddle: { bool: false, menu: 'annotations.sewtogether' }, - titleNr: { count: 1, min: 0, max: 100, menu: 'annotations.title' }, - titleTitle: { bool: true, menu: 'annotations.title' }, - titleMeta: { bool: true, menu: 'annotations.title' }, - titleScale: { pct: 100, min: 10, max: 200, menu: 'annotations.title' }, - titleRotate: { deg: 0, min: -360, max: 360, menu: 'annotations.title' }, - snippetScale: { pct: 100, min: 10, max: 200, menu: 'annotations.snippets' }, - snippetRotation: { deg: 0, min: -360, max: 360, menu: 'annotations.snippets' }, - flipAxis: { dflt: 'x', list: ['x', 'y'], menu: 'flip' }, - goreRadius: { count: 20, min: 10, max: 30, menu: 'gore' }, - goreGoreNumber: { count: 6, min: 4, max: 8, menu: 'gore' }, - goreExtraLength: { count: 10, min: 0, max: 20, menu: 'gore' }, - mirrorLine: { dflt: 'a', list: ['a', 'b', 'none'], menu: 'mirror' }, - mirrorClone: { bool: true, menu: 'mirror' }, - roundRadius: { count: 10, min: 0, max: 50, menu: 'round' }, - roundHide: { bool: false, menu: 'round' }, - sprinkleScale: { pct: 100, min: 10, max: 200, menu: 'sprinkle' }, - sprinkleRotate: { deg: 0, min: -360, max: 360, menu: 'sprinkle' }, - sprinkleSnippet: { - dflt: 'bnotch', - list: [ - 'notch', - 'bnotch', - 'button', - 'buttonhole', - 'buttonhole-start', - 'buttonhole-end', - 'snap-stud', - 'snap-socket', - 'logo', - ], - menu: 'sprinkle', - }, - }, - rendertest: { - width: { mm: 200, min: 50, max: 500, testIgnore: false }, - only: { - menu: 'show', - dflt: 'false', - list: [ - 'false', - 'circles', - 'colors', - 'widths', - 'styles', - 'combos', - 'text', - 'snippets', - 'macros', - ], - }, - }, - sandy: { - minimumOverlap: 15, - seamlessFullCircle: { bool: false, menu: 'construction' }, - waistbandWidth: { - pct: 4, - min: 1, - max: 8, - snap: { - metric: [3.5, 5, 10, 12, 20, 25, 30, 40, 50, 60, 80, 100, 120], - imperial: [ - 3.175, 6.35, 9.524999999999999, 12.7, 15.875, 19.049999999999997, 25.4, 31.75, - 38.099999999999994, 44.449999999999996, 50.8, 76.19999999999999, 101.6, 127, - ], - }, - menu: 'style', - }, - waistbandPosition: { pct: 50, min: 0, max: 100, menu: 'fit' }, - lengthBonus: { pct: 50, min: 10, max: 100, menu: 'style' }, - circleRatio: { pct: 50, min: 20, max: 100, menu: 'style' }, - waistbandOverlap: { pct: 3, min: 0, max: 15, menu: 'style' }, - gathering: { pct: 0, min: 0, max: 200, menu: 'style' }, - hemWidth: { pct: 2, min: 1, max: 10, menu: 'construction' }, - waistbandShape: { list: ['straight', 'curved'], dflt: 'straight', menu: 'fit' }, - }, - shin: { - frontFactor: 0.58, - legFrontFactor: 0.48, - gussetFactor: 0.0714, - angle: 10, - elasticWidth: { - pct: 10, - min: 4, - max: 20, - snap: { - metric: [3.5, 5, 10, 12, 20, 25, 30, 40, 50, 60, 80, 100, 120], - imperial: [ - 3.175, 6.35, 9.524999999999999, 12.7, 15.875, 19.049999999999997, 25.4, 31.75, - 38.099999999999994, 44.449999999999996, 50.8, 76.19999999999999, 101.6, 127, - ], - }, - menu: 'style', - }, - stretch: { pct: 20, min: 10, max: 30, menu: 'fit' }, - bulge: { pct: 2.5, min: 0, max: 5, menu: 'fit' }, - legReduction: { pct: 5, min: 0, max: 10, menu: 'fit' }, - rise: { pct: 0, min: 0, max: 25, menu: 'style' }, - backRise: { pct: 5, min: 0, max: 10, menu: 'fit' }, - }, - simon: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 5, - bicepsEase: { pct: 15, min: 0, max: 50, menu: 'fit' }, - chestEase: { pct: 15, min: -4, max: 35, menu: 'fit' }, - collarEase: { pct: 2, min: 0, max: 10, menu: 'fit' }, - cuffEase: { pct: 20, min: 10, max: 40, menu: 'fit' }, - draftForHighBust: { bool: false }, - shoulderEase: { pct: 2, min: 0, max: 15, menu: 'fit' }, - lengthBonus: { pct: 25, min: -4, max: 60, menu: 'fit' }, - s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: 'style' }, - acrossBackFactor: { pct: 98, min: 93, max: 100, menu: 'advanced' }, - armholeDepth: { pct: 2, min: -10, max: 50 }, - armholeDepthFactor: { pct: 55, min: 50, max: 70 }, - backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - frontArmholeDeeper: { pct: 0.2, min: 0, max: 0.5, menu: 'advanced' }, - shoulderSlopeReduction: { pct: 0, min: 0, max: 80, menu: 'advanced' }, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - backDarts: { list: ['auto', 'never', 'always'], dflt: 'auto', menu: 'style' }, - backDartShaping: { pct: 25, min: 5, max: 75, menu: 'advanced' }, - boxPleat: { bool: false, menu: 'style' }, - boxPleatFold: { pct: 15, min: 10, max: 20, menu: 'advanced' }, - boxPleatWidth: { pct: 7, min: 4, max: 10, menu: 'advanced' }, - roundBack: { pct: 0, min: 0, max: 10, menu: 'fit' }, - buttonholePlacketWidth: { pct: 8, min: 4, max: 12, menu: 'style.closure' }, - buttonholePlacketFoldWidth: { pct: 16, min: 8, max: 24, menu: 'style.closure' }, - buttonPlacketWidth: { pct: 5, min: 2, max: 8, menu: 'style.closure' }, - hemCurve: { pct: 50, min: 25, max: 100, menu: 'style' }, - hemStyle: { list: ['straight', 'baseball', 'slashed'], dflt: 'straight', menu: 'style' }, - hipsEase: { pct: 15, min: 10, max: 35, menu: 'fit' }, - yokeHeight: { pct: 70, min: 40, max: 90, menu: 'style' }, - sleevePlacketWidth: { pct: 13, min: 8, max: 18, menu: 'style.cuffs' }, - waistEase: { pct: 15, min: 10, max: 35, menu: 'fit' }, - buttonFreeLength: { pct: 2, min: 0, max: 15, menu: 'style.closure' }, - extraTopButton: { bool: true, menu: 'style.closure' }, - seperateButtonPlacket: { bool: false, menu: 'style.closure' }, - seperateButtonholePlacket: { bool: false, menu: 'style.closure' }, - buttons: { count: 7, min: 4, max: 12, menu: 'style.closure' }, - ffsa: { pct: 150, min: 100, max: 200, menu: 'advanced' }, - collarAngle: { deg: 85, min: 60, max: 130, menu: 'style.collar' }, - collarBend: { pct: 3.5, min: 0, max: 10, menu: 'style.collar' }, - collarFlare: { deg: 3.5, min: 0, max: 10, menu: 'style.collar' }, - collarGap: { pct: 2.5, min: 0, max: 6, menu: 'style.collar' }, - collarRoll: { pct: 3, min: 0, max: 6, menu: 'style.collar' }, - collarStandBend: { deg: 3, min: 0, max: 5, menu: 'style.collar' }, - collarStandCurve: { deg: 2, min: 0, max: 5, menu: 'style.collar' }, - collarStandWidth: { pct: 8, min: 3, max: 13, menu: 'style.collar' }, - cuffOverlap: 0.15, - barrelCuffNarrowButton: { bool: true, menu: 'style.cuffs' }, - cuffButtonRows: { count: 1, min: 1, max: 2, menu: 'style.cuffs' }, - cuffDrape: { pct: 5, min: 0, max: 10, menu: 'style.cuffs' }, - cuffLength: { pct: 10, min: 3, max: 15, menu: 'style.cuffs' }, - cuffStyle: { - list: [ - 'roundedBarrelCuff', - 'angledBarrelCuff', - 'straightBarrelCuff', - 'roundedFrenchCuff', - 'angledFrenchCuff', - 'straightFrenchCuff', - ], - dflt: 'angledBarrelCuff', - menu: 'style.cuffs', - }, - buttonPlacketStyle: { list: ['classic', 'seamless'], dflt: 'classic' }, - buttonholePlacketStyle: { list: ['classic', 'seamless'], dflt: 'seamless' }, - sleevecapEase: { pct: 0, min: 0, max: 10, menu: 'advanced.sleevecap' }, - sleevecapTopFactorX: { pct: 50, min: 25, max: 75, menu: 'advanced.sleevecap' }, - sleevecapTopFactorY: { pct: 45, min: 35, max: 125, menu: 'advanced.sleevecap' }, - sleevecapBackFactorX: { pct: 60, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapBackFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorX: { pct: 55, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapQ1Offset: { pct: 1.7, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ2Offset: { pct: 3.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ3Offset: { pct: 2.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ4Offset: { pct: 1, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread2: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread1: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread2: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread2: { pct: 8, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread1: { pct: 7, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread2: { pct: 6.3, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleeveWidthGuarantee: { pct: 90, min: 25, max: 100, menu: 'advanced' }, - sleeveLengthBonus: { pct: 3.5, min: -40, max: 10, menu: 'fit' }, - sleevePlacketLength: { pct: 25, min: 15, max: 35, menu: 'style.cuffs' }, - splitYoke: { bool: false, menu: 'style' }, - }, - simone: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 5, - bicepsEase: { pct: 15, min: 0, max: 50, menu: 'fit' }, - chestEase: { pct: 15, min: -4, max: 35, menu: 'fit' }, - collarEase: { pct: 2, min: 0, max: 10, menu: 'fit' }, - cuffEase: { pct: 20, min: 10, max: 40, menu: 'fit' }, - draftForHighBust: true, - shoulderEase: { pct: 2, min: 0, max: 15, menu: 'fit' }, - lengthBonus: { pct: 25, min: -4, max: 60, menu: 'fit' }, - s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: 'style' }, - acrossBackFactor: { pct: 98, min: 93, max: 100, menu: 'advanced' }, - armholeDepth: { pct: 2, min: -10, max: 50 }, - armholeDepthFactor: { pct: 55, min: 50, max: 70 }, - backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - frontArmholeDeeper: { pct: 0.2, min: 0, max: 0.5, menu: 'advanced' }, - shoulderSlopeReduction: { pct: 0, min: 0, max: 80, menu: 'advanced' }, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - backDarts: { list: ['auto', 'never', 'always'], dflt: 'auto', menu: 'style' }, - backDartShaping: { pct: 25, min: 5, max: 75, menu: 'advanced' }, - boxPleat: { bool: false, menu: 'style' }, - boxPleatFold: { pct: 15, min: 10, max: 20, menu: 'advanced' }, - boxPleatWidth: { pct: 7, min: 4, max: 10, menu: 'advanced' }, - roundBack: { pct: 0, min: 0, max: 10, menu: 'fit' }, - buttonholePlacketWidth: { pct: 8, min: 4, max: 12, menu: 'style.closure' }, - buttonholePlacketFoldWidth: { pct: 16, min: 8, max: 24, menu: 'style.closure' }, - buttonPlacketWidth: { pct: 5, min: 2, max: 8, menu: 'style.closure' }, - hemCurve: { pct: 50, min: 25, max: 100, menu: 'style' }, - hemStyle: { list: ['straight', 'baseball', 'slashed'], dflt: 'straight', menu: 'style' }, - hipsEase: { pct: 15, min: 10, max: 35, menu: 'fit' }, - yokeHeight: { pct: 70, min: 40, max: 90, menu: 'style' }, - sleevePlacketWidth: { pct: 13, min: 8, max: 18, menu: 'style.cuffs' }, - waistEase: { pct: 15, min: 10, max: 35, menu: 'fit' }, - buttonFreeLength: { pct: 2, min: 0, max: 15, menu: 'style.closure' }, - extraTopButton: { bool: true, menu: 'style.closure' }, - seperateButtonPlacket: { bool: false, menu: 'style.closure' }, - seperateButtonholePlacket: { bool: false, menu: 'style.closure' }, - buttons: { count: 7, min: 4, max: 12, menu: 'style.closure' }, - ffsa: { pct: 150, min: 100, max: 200, menu: 'advanced' }, - minimalDartShaping: 5, - bustDartAngle: { deg: 10, min: 0, max: 20, menu: 'advanced' }, - bustDartLength: { pct: 80, min: 50, max: 90, menu: 'advanced' }, - frontDarts: { bool: false, menu: 'advanced' }, - frontDartLength: { pct: 45, min: 30, max: 60, menu: 'advanced' }, - contour: { pct: 50, min: 30, max: 75, menu: 'style' }, - bustAlignedButtons: { - dflt: 'disabled', - list: ['even', 'split', 'disabled'], - menu: 'style.closure', - }, - collarAngle: { deg: 85, min: 60, max: 130, menu: 'style.collar' }, - collarBend: { pct: 3.5, min: 0, max: 10, menu: 'style.collar' }, - collarFlare: { deg: 3.5, min: 0, max: 10, menu: 'style.collar' }, - collarGap: { pct: 2.5, min: 0, max: 6, menu: 'style.collar' }, - collarRoll: { pct: 3, min: 0, max: 6, menu: 'style.collar' }, - collarStandBend: { deg: 3, min: 0, max: 5, menu: 'style.collar' }, - collarStandCurve: { deg: 2, min: 0, max: 5, menu: 'style.collar' }, - collarStandWidth: { pct: 8, min: 3, max: 13, menu: 'style.collar' }, - cuffOverlap: 0.15, - barrelCuffNarrowButton: { bool: true, menu: 'style.cuffs' }, - cuffButtonRows: { count: 1, min: 1, max: 2, menu: 'style.cuffs' }, - cuffDrape: { pct: 5, min: 0, max: 10, menu: 'style.cuffs' }, - cuffLength: { pct: 10, min: 3, max: 15, menu: 'style.cuffs' }, - cuffStyle: { - list: [ - 'roundedBarrelCuff', - 'angledBarrelCuff', - 'straightBarrelCuff', - 'roundedFrenchCuff', - 'angledFrenchCuff', - 'straightFrenchCuff', - ], - dflt: 'angledBarrelCuff', - menu: 'style.cuffs', - }, - sleevecapEase: { pct: 0, min: 0, max: 10, menu: 'advanced.sleevecap' }, - sleevecapTopFactorX: { pct: 50, min: 25, max: 75, menu: 'advanced.sleevecap' }, - sleevecapTopFactorY: { pct: 45, min: 35, max: 125, menu: 'advanced.sleevecap' }, - sleevecapBackFactorX: { pct: 60, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapBackFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorX: { pct: 55, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapQ1Offset: { pct: 1.7, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ2Offset: { pct: 3.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ3Offset: { pct: 2.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ4Offset: { pct: 1, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread2: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread1: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread2: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread2: { pct: 8, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread1: { pct: 7, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread2: { pct: 6.3, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleeveWidthGuarantee: { pct: 90, min: 25, max: 100, menu: 'advanced' }, - sleeveLengthBonus: { pct: 3.5, min: -40, max: 10, menu: 'fit' }, - sleevePlacketLength: { pct: 25, min: 15, max: 35, menu: 'style.cuffs' }, - splitYoke: { bool: false, menu: 'style' }, - buttonPlacketStyle: { list: ['classic', 'seamless'], dflt: 'classic' }, - buttonholePlacketStyle: { list: ['classic', 'seamless'], dflt: 'seamless' }, - }, - sven: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 4.8, - bicepsEase: { pct: 15, min: 0, max: 50, menu: 'fit' }, - chestEase: { pct: 15, min: -4, max: 35, menu: 'fit' }, - collarEase: { pct: 10, min: 5, max: 30, menu: 'fit' }, - cuffEase: { pct: 20, min: 0, max: 200, menu: 'fit' }, - draftForHighBust: { bool: false }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, - lengthBonus: { pct: 15, min: 0, max: 30, menu: 'style' }, - s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: 'style' }, - acrossBackFactor: { pct: 98, min: 93, max: 100, menu: 'advanced' }, - armholeDepth: { pct: 2, min: -10, max: 50 }, - armholeDepthFactor: { pct: 55, min: 50, max: 70 }, - backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - frontArmholeDeeper: { pct: 0.2, min: 0, max: 0.5, menu: 'advanced' }, - shoulderSlopeReduction: { pct: 0, min: 0, max: 80, menu: 'advanced' }, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - waistEase: 0.08, - sleeveLengthBonus: { pct: 3, min: 0, max: 10, menu: 'style' }, - ribbingHeight: { pct: 8, min: 3, max: 15, menu: 'style' }, - hipsEase: { pct: 8, min: -4, max: 20, menu: 'fit' }, - ribbing: { bool: true, menu: 'style' }, - sleevecapEase: { pct: 0, min: 0, max: 10, menu: 'advanced.sleevecap' }, - sleevecapTopFactorX: { pct: 50, min: 25, max: 75, menu: 'advanced.sleevecap' }, - sleevecapTopFactorY: { pct: 45, min: 35, max: 125, menu: 'advanced.sleevecap' }, - sleevecapBackFactorX: { pct: 60, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapBackFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorX: { pct: 55, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapQ1Offset: { pct: 1.7, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ2Offset: { pct: 3.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ3Offset: { pct: 2.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ4Offset: { pct: 1, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread2: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread1: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread2: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread2: { pct: 8, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread1: { pct: 7, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread2: { pct: 6.3, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleeveWidthGuarantee: { pct: 90, min: 25, max: 100, menu: 'advanced' }, - ribbingStretch: { pct: 15, min: 0, max: 30, menu: 'fit' }, - }, - tamiko: { - armholeDepthFactor: { pct: 50, min: 40, max: 60, menu: 'fit' }, - chestEase: { pct: 2, min: 1, max: 20, menu: 'fit' }, - flare: { deg: 15, min: -10, max: 30, menu: 'style' }, - lengthBonus: { pct: 13, min: 0, max: 60, menu: 'style' }, - shoulderseamLength: { pct: 10, min: 5, max: 25, menu: 'style' }, - draftForHighBust: { bool: false, menu: 'fit' }, - }, - teagan: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 4.8, - bicepsEase: 0.05, - chestEase: { pct: 12, min: 5, max: 25, menu: 'fit' }, - collarEase: 0, - cuffEase: { pct: 20, min: 0, max: 200, menu: 'fit' }, - draftForHighBust: { bool: false, menu: 'fit' }, - shoulderEase: 0, - lengthBonus: { pct: 5, min: -20, max: 60, menu: 'style' }, - s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: 'style' }, - acrossBackFactor: { pct: 98, min: 93, max: 100, menu: 'advanced' }, - armholeDepth: { pct: 2, min: -10, max: 50 }, - armholeDepthFactor: { pct: 55, min: 50, max: 70 }, - backNeckCutout: { pct: 8, min: 4, max: 12, menu: 'fit' }, - frontArmholeDeeper: 0.005, - shoulderSlopeReduction: 0, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - sleeveWidthGuarantee: 0.85, - sleeveLength: { pct: 30, min: 20, max: 100, menu: 'fit' }, - curveToWaist: { bool: false, menu: 'fit' }, - curvedWaistEase: { pct: 25, min: 8, max: 40, menu: 'fit' }, - hipsEase: { pct: 18, min: 8, max: 30, menu: 'fit' }, - necklineDepth: { pct: 25, min: 20, max: 40, menu: 'style' }, - necklineWidth: { pct: 30, min: 10, max: 50, menu: 'style' }, - necklineBend: { pct: 30, min: 0, max: 70, menu: 'style' }, - sleevecapEase: { pct: 0, min: 0, max: 10, menu: 'advanced.sleevecap' }, - sleevecapTopFactorX: { pct: 50, min: 25, max: 75, menu: 'advanced.sleevecap' }, - sleevecapTopFactorY: { pct: 45, min: 35, max: 125, menu: 'advanced.sleevecap' }, - sleevecapBackFactorX: { pct: 60, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapBackFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorX: { pct: 55, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapQ1Offset: { pct: 1.7, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ2Offset: { pct: 3.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ3Offset: { pct: 2.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ4Offset: { pct: 1, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread2: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread1: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread2: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread2: { pct: 8, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread1: { pct: 7, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread2: { pct: 6.3, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleeveEase: { pct: 15, min: 5, max: 35, menu: 'style' }, - }, - tiberius: { - headRatio: { pct: 100, min: 80, max: 120, menu: 'fit' }, - armholeDrop: { pct: 110, min: 100, max: 150, menu: 'fit' }, - lengthBonus: { pct: 90, min: 60, max: 130, menu: 'style' }, - widthBonus: { pct: 100, min: 50, max: 130, menu: 'style' }, - clavi: { bool: false, menu: 'style.clavi' }, - clavusLocation: { pct: 65, min: 50, max: 80, menu: 'style.clavi' }, - clavusWidth: { pct: 100, min: 50, max: 150, menu: 'style.clavi' }, - length: { list: ['toKnee', 'toMidLeg', 'toFloor'], dflt: 'toKnee', menu: 'style' }, - width: { list: ['toElbow', 'toShoulder', 'toMidArm'], dflt: 'toMidArm', menu: 'style' }, - forceWidth: { bool: false, menu: 'advanced' }, - }, - titan: { - fitCrossSeam: true, - fitCrossSeamFront: true, - fitCrossSeamBack: true, - fitGuides: true, - waistEase: { pct: 2, min: 0, max: 10, menu: 'fit' }, - seatEase: { pct: 2, min: 0, max: 10, menu: 'fit' }, - kneeEase: { pct: 6, min: 1, max: 25, menu: 'fit' }, - waistHeight: { pct: 100, min: 0, max: 100, menu: 'style' }, - lengthBonus: { pct: 2, min: -20, max: 10, menu: 'style' }, - crotchDrop: { pct: 2, min: 0, max: 15, menu: 'style' }, - fitKnee: { bool: false, menu: 'style' }, - legBalance: { pct: 57.5, min: 52.5, max: 62.5, menu: 'advanced' }, - crossSeamCurveStart: { pct: 85, min: 60, max: 100, menu: 'advanced' }, - crossSeamCurveBend: { pct: 65, min: 45, max: 85, menu: 'advanced' }, - crossSeamCurveAngle: { deg: 12, min: 0, max: 20, menu: 'advanced' }, - crotchSeamCurveStart: { pct: 80, min: 60, max: 95, menu: 'advanced' }, - crotchSeamCurveBend: { pct: 80, min: 45, max: 100, menu: 'advanced' }, - crotchSeamCurveAngle: { deg: 25, min: 0, max: 35, menu: 'advanced' }, - waistBalance: { pct: 60, min: 30, max: 90, menu: 'advanced' }, - grainlinePosition: { pct: 45, min: 30, max: 60, menu: 'advanced' }, - waistbandWidth: { - pct: 3, - min: 1, - max: 6, - snap: { - metric: [3.5, 5, 10, 12, 20, 25, 30, 40, 50, 60, 80, 100, 120], - imperial: [ - 3.175, 6.35, 9.524999999999999, 12.7, 15.875, 19.049999999999997, 25.4, 31.75, - 38.099999999999994, 44.449999999999996, 50.8, 76.19999999999999, 101.6, 127, - ], - }, - menu: 'advanced', - }, - }, - trayvon: { - tipWidth: { pct: 15, min: 5, max: 35, snap: { metric: 1, imperial: 0.79375 }, menu: 'style' }, - knotWidth: { pct: 8, min: 4, max: 12, snap: { metric: 1, imperial: 0.79375 }, menu: 'style' }, - lengthBonus: { pct: 0, min: -50, max: 50, menu: 'style' }, - }, - uma: { - xStretch: { pct: 15, min: 0, max: 50, menu: 'fit' }, - yStretch: { pct: 15, min: 0, max: 50, menu: 'fit' }, - gussetWidth: { pct: 15, min: 5, max: 24, menu: 'fit' }, - gussetLength: { pct: 12.7, min: 10, max: 16, menu: 'fit' }, - gussetPosition: { pct: 70, min: 5, max: 95, menu: 'fit' }, - bulge: { deg: 0, min: 0, max: 30, menu: 'fit' }, - rise: { pct: 46, min: 30, max: 100, menu: 'style' }, - legRise: { pct: 54, min: 5, max: 95, menu: 'style' }, - frontDip: { pct: 5, min: -5, max: 15, menu: 'style' }, - frontExposure: { pct: 70, min: 5, max: 100, menu: 'style' }, - backDip: { pct: 2.5, min: -5, max: 15, menu: 'style' }, - backExposure: { pct: 30, min: 25, max: 125, menu: 'style' }, - }, - wahid: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 4.8, - bicepsEase: { pct: 15, min: 0, max: 50, menu: false }, - chestEase: { pct: 2, min: 1, max: 10, menu: 'fit' }, - collarEase: { pct: 5, min: 0, max: 10, menu: false }, - cuffEase: { pct: 20, min: 0, max: 200, menu: false }, - draftForHighBust: { bool: false }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: false }, - lengthBonus: { pct: 1, min: 0, max: 8, menu: 'fit' }, - s3Collar: { pct: 0, min: -100, max: 100, menu: false }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: false }, - acrossBackFactor: 0.97, - armholeDepth: { pct: 2, min: -10, max: 50 }, - armholeDepthFactor: { pct: 70, min: 60, max: 80, menu: 'fit' }, - backNeckCutout: { pct: 5, min: -2, max: 8, menu: false }, - frontArmholeDeeper: 0.005, - shoulderSlopeReduction: { pct: 0, min: 0, max: 80, menu: false }, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - frontOverlap: 0.01, - necklineDrop: { pct: 50, min: 35, max: 85, menu: 'style' }, - frontStyle: { dflt: 'classic', list: ['classic', 'rounded'], menu: 'style' }, - frontInset: { pct: 15, min: 10, max: 20, menu: 'advanced' }, - shoulderInset: { pct: 10, min: 0, max: 20, menu: 'advanced' }, - neckInset: { pct: 5, min: 0, max: 10, menu: 'advanced' }, - hemStyle: { dflt: 'classic', list: ['classic', 'rounded', 'square'], menu: 'style' }, - hemRadius: { pct: 6, min: 2, max: 12, menu: 'style' }, - pocketWidth: { pct: 10, max: 15, min: 8, menu: 'style' }, - pocketAngle: { deg: 5, min: 0, max: 5, menu: 'advanced' }, - pocketLocation: { pct: 35, min: 25, max: 55, menu: 'style' }, - frontScyeDart: { deg: 6, min: 0, max: 12, menu: 'fit' }, - buttons: { count: 6, min: 4, max: 12, menu: 'style' }, - waistEase: { pct: 8, min: 2, max: 15, menu: 'fit' }, - hipsEase: { pct: 8, min: 2, max: 15, menu: 'fit' }, - backInset: { pct: 15, min: 10, max: 20, menu: 'advanced' }, - centerBackDart: { pct: 2, min: 0, max: 5, menu: 'fit' }, - backScyeDart: { deg: 2, min: 0, max: 6, menu: 'fit' }, - weltHeight: { pct: 12.5, max: 20, min: 10, menu: 'style' }, - }, - walburga: { - headRatio: { pct: 100, min: 80, max: 120, menu: 'fit' }, - lengthBonus: { pct: 85, min: 60, max: 130, menu: 'style' }, - widthBonus: { pct: 95, min: 50, max: 130, menu: 'style' }, - length: { list: ['toKnee', 'toMidLeg', 'toFloor'], dflt: 'toKnee', menu: 'style' }, - neckline: { bool: true, menu: 'style' }, - neckoRatio: { pct: 100, min: 10, max: 190, menu: 'style' }, - }, - waralee: { - backPocket: { bool: true, menu: 'style' }, - backPocketDepth: 140, - backPocketHorizontalOffset: 0.045, - backPocketSize: 0.45, - backPocketVerticalOffset: 0.2, - backRaise: { pct: 10, min: 0, max: 25, menu: 'fit' }, - backWaistAdjustment: 0.3, - crotchBack: { pct: 45, min: 10, max: 70, menu: 'advanced' }, - crotchEase: 1.08, - crotchFactorBackHor: { pct: 90, min: 10, max: 100, menu: 'advanced' }, - crotchFactorBackVer: { pct: 60, min: 20, max: 90, menu: 'advanced' }, - crotchFactorFrontHor: { pct: 90, min: 10, max: 100, menu: 'advanced' }, - crotchFactorFrontVer: { pct: 30, min: 10, max: 70, menu: 'advanced' }, - crotchFront: { pct: 30, min: 10, max: 70, menu: 'advanced' }, - fitWaist: { bool: true, menu: 'fit' }, - frontPocket: { bool: true, menu: 'style' }, - frontPocketDepthFactor: 1.6, - frontPocketHorizontalOffset: 0.18, - frontPocketSize: 0.45, - frontPocketStyle: { dflt: 'welt', list: ['welt', 'waistband'], menu: 'style' }, - frontPocketVerticalOffset: 0.07, - frontWaistAdjustment: 0.163, - hemWidth: { pct: 1.75, min: 1, max: 2.5, menu: 'style' }, - knotInFront: { bool: true, menu: 'style' }, - legShortening: { pct: 25, min: -10, max: 50, menu: 'style' }, - minimizer: 4, - separateWaistband: { bool: false, menu: 'style' }, - showMini: { bool: true, menu: 'options' }, - waistOverlap: { pct: 50, min: 10, max: 100, menu: 'style' }, - waistRaise: { pct: 0, min: -20, max: 40, menu: 'fit' }, - waistbandWidth: { pct: 3.5, min: 2, max: 5, menu: 'style' }, - }, - yuri: { - brianFitSleeve: true, - brianFitCollar: true, - collarFactor: 4.8, - bicepsEase: { pct: 15, min: 0, max: 50, menu: 'fit' }, - chestEase: { pct: 15, min: -4, max: 35, menu: 'fit' }, - collarEase: { pct: 20, min: 10, max: 30, menu: 'fit' }, - cuffEase: { pct: 30, min: 20, max: 60, menu: 'fit' }, - draftForHighBust: { bool: false }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, - lengthBonus: { pct: 10, min: 5, max: 15, menu: 'fit' }, - s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, - s3Armhole: { pct: 0, min: -100, max: 100, menu: 'style' }, - acrossBackFactor: { pct: 98, min: 93, max: 100, menu: 'advanced' }, - armholeDepth: { pct: 2, min: -10, max: 50 }, - armholeDepthFactor: { pct: 55, min: 50, max: 70 }, - backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - frontArmholeDeeper: { pct: 0.2, min: 0, max: 0.5, menu: 'advanced' }, - shoulderSlopeReduction: { pct: 0, min: 0, max: 80, menu: 'advanced' }, - legacyArmholeDepth: { bool: false, menu: 'advanced' }, - sleeveLengthBonus: { pct: 1, min: 0, max: 10, menu: 'fit' }, - hipsEase: { pct: 0, min: 0, max: 10, menu: 'fit' }, - sleevecapEase: { pct: 0, min: 0, max: 10, menu: 'advanced.sleevecap' }, - sleevecapTopFactorX: { pct: 50, min: 25, max: 75, menu: 'advanced.sleevecap' }, - sleevecapTopFactorY: { pct: 45, min: 35, max: 125, menu: 'advanced.sleevecap' }, - sleevecapBackFactorX: { pct: 60, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapBackFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorX: { pct: 55, min: 35, max: 65, menu: 'advanced.sleevecap' }, - sleevecapFrontFactorY: { pct: 33, min: 30, max: 65, menu: 'advanced.sleevecap' }, - sleevecapQ1Offset: { pct: 1.7, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ2Offset: { pct: 3.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ3Offset: { pct: 2.5, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ4Offset: { pct: 1, min: 0, max: 7, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ1Spread2: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread1: { pct: 15, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ2Spread2: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread1: { pct: 10, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ3Spread2: { pct: 8, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread1: { pct: 7, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleevecapQ4Spread2: { pct: 6.3, min: 4, max: 20, menu: 'advanced.sleevecap' }, - sleeveWidthGuarantee: { pct: 90, min: 25, max: 100, menu: 'advanced' }, - }, -} +export const options = {"aaron":{"brianFitSleeve":false,"brianFitCollar":false,"collarFactor":4.8,"bicepsEase":0.05,"chestEase":{"pct":8,"min":0,"max":20,"menu":"style"},"collarEase":0,"cuffEase":{"pct":20,"min":0,"max":200,"menu":"fit"},"draftForHighBust":{"bool":false,"menu":"fit"},"shoulderEase":0,"lengthBonus":{"pct":10,"min":-20,"max":60,"menu":"style"},"s3Collar":{"pct":0,"min":-100,"max":100,"menu":"style"},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":"style"},"acrossBackFactor":0.97,"armholeDepth":{"pct":2,"min":-10,"max":50},"armholeDepthFactor":0.6,"backNeckCutout":0.05,"frontArmholeDeeper":0,"shoulderSlopeReduction":0,"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"hipsEase":{"pct":8,"min":0,"max":20,"menu":"fit"},"stretchFactor":{"pct":5,"min":0,"max":15,"menu":"fit"},"armholeDrop":{"pct":10,"min":0,"max":75,"menu":"style"},"necklineBend":{"pct":100,"min":40,"max":100,"menu":"style"},"necklineDrop":{"pct":20,"min":10,"max":35,"menu":"style"},"shoulderStrapWidth":{"pct":15,"min":10,"max":40,"menu":"style"},"shoulderStrapPlacement":{"pct":40,"min":20,"max":80,"menu":"style"},"backlineBend":{"pct":50,"min":25,"max":100,"menu":"style"},"knitBindingWidth":{"pct":600,"min":300,"max":800,"menu":"style"}},"albert":{"backOpening":{"pct":10,"min":0,"max":25,"menu":"fit"},"bibWidth":{"pct":100,"min":50,"max":125,"menu":"style"},"bibLength":{"pct":75,"min":0,"max":90,"menu":"style"},"lengthBonus":{"pct":0,"min":-20,"max":25,"menu":"style"},"chestDepth":{"pct":22,"min":15,"max":90,"menu":"fit"},"strapWidth":{"pct":60,"min":20,"max":100,"menu":"style"}},"bee":{"acrossBackFactor":0.925,"shoulderSlopeBack":1.23,"neckWidthBack":0.197,"neckWidthFront":0.17,"backDartLocation":0.145,"backCenterWaistReduction":0.35,"collarFactor":0.19,"bustSpanEase":{"pct":10,"min":0,"max":20,"menu":"fit"},"chestEase":{"pct":11,"min":5,"max":20,"menu":"fit"},"fullChestEaseReduction":{"pct":4,"min":0,"max":8,"menu":"fit"},"shoulderToShoulderEase":{"pct":-0.5,"min":-1,"max":5,"menu":"fit"},"waistEase":{"pct":5,"min":1,"max":20,"menu":"fit"},"backDartHeight":{"pct":46,"min":38,"max":54,"menu":"advanced"},"bustDartCurve":1,"bustDartLength":1,"waistDartLength":1,"armholeDepth":{"pct":44,"min":38,"max":46,"menu":"advanced"},"backArmholeCurvature":0.63,"backArmholePitchDepth":0.35,"backArmholeSlant":5,"frontArmholeCurvature":0.63,"frontArmholePitchDepth":{"pct":29,"max":31,"min":27,"menu":"advanced"},"backHemSlope":2.5,"backNeckCutout":0.06,"frontShoulderWidth":{"pct":95,"max":98,"min":92,"menu":"advanced"},"highBustWidth":{"pct":86,"max":92,"min":80,"menu":"advanced"},"ties":{"bool":true,"menu":"style"},"crossBackTies":{"bool":false,"menu":"style"},"bandLength":{"pct":85,"min":75,"max":90,"menu":"style"},"neckTieLength":{"pct":80,"min":70,"max":100,"menu":"style"},"neckTieWidth":{"pct":6,"min":2,"max":18,"snap":{"metric":[6,13,19,25,32,38],"imperial":[6.35,12.7,19.05,25.4,31.75,38.1]},"menu":"style"},"reversible":{"bool":false,"menu":"style"},"topDepth":{"pct":54,"min":50,"max":80,"menu":"fit"},"bottomCupDepth":{"pct":8,"min":0,"max":20,"menu":"fit"},"sideDepth":{"pct":20.6,"min":0,"max":30,"menu":"fit"},"sideCurve":{"pct":0,"min":-50,"max":50,"menu":"fit"},"frontCurve":{"pct":0,"min":-50,"max":50,"menu":"fit"},"bellaGuide":{"bool":false,"menu":"fit"},"pointedTieEnds":{"bool":false,"menu":"style"},"duoColorTies":{"bool":false,"menu":"style"},"bandTieWidth":{"pct":3,"min":1,"max":9,"snap":{"metric":[6,13,19,25,32,38],"imperial":[6.35,12.7,19.05,25.4,31.75,38.1]},"menu":"style"},"bandTieLength":{"pct":35,"min":30,"max":50,"menu":"style"}},"bella":{"acrossBackFactor":0.925,"shoulderSlopeBack":1.23,"neckWidthBack":0.197,"neckWidthFront":0.17,"backDartLocation":0.145,"backCenterWaistReduction":0.35,"collarFactor":0.19,"bustSpanEase":{"pct":10,"min":0,"max":20,"menu":"fit"},"chestEase":{"pct":11,"min":5,"max":20,"menu":"fit"},"fullChestEaseReduction":{"pct":4,"min":0,"max":8,"menu":"fit"},"shoulderToShoulderEase":{"pct":-0.5,"min":-1,"max":5,"menu":"fit"},"waistEase":{"pct":5,"min":1,"max":20,"menu":"fit"},"backDartHeight":{"pct":46,"min":38,"max":54,"menu":"darts"},"bustDartCurve":{"pct":100,"min":0,"max":100,"menu":"darts"},"bustDartLength":{"pct":90,"min":75,"max":100,"menu":"darts"},"waistDartLength":{"pct":90,"min":75,"max":95,"menu":"darts"},"armholeDepth":{"pct":44,"min":38,"max":46,"menu":"armhole"},"backArmholeCurvature":{"pct":63,"min":50,"max":85,"menu":"armhole"},"backArmholePitchDepth":{"pct":35,"max":40,"min":30,"menu":"armhole"},"backArmholeSlant":{"deg":5,"min":1,"max":9,"menu":"armhole"},"frontArmholeCurvature":{"pct":63,"min":50,"max":85,"menu":"armhole"},"frontArmholePitchDepth":{"pct":29,"max":31,"min":27,"menu":"armhole"},"backHemSlope":{"deg":2.5,"min":0,"max":5,"menu":"advanced"},"backNeckCutout":{"pct":6,"min":3,"max":9,"menu":"advanced"},"frontShoulderWidth":{"pct":95,"max":98,"min":92,"menu":"advanced"},"highBustWidth":{"pct":86,"max":92,"min":80,"menu":"advanced"}},"benjamin":{"transitionLength":2,"bandLength":0.17,"adjustmentRibbonWidth":20,"collarEase":{"pct":3,"min":0,"max":6,"menu":"fit"},"adjustmentRibbon":{"bool":false,"menu":"fit"},"tipWidth":{"pct":15,"min":0,"max":20,"menu":"style"},"knotWidth":{"pct":7,"min":5,"max":10,"menu":"style"},"bowLength":{"pct":28,"min":23,"max":33,"menu":"style"},"bowStyle":{"dflt":"butterfly","list":["diamond","butterfly","square","widesquare"],"menu":"style"},"endStyle":{"dflt":"straight","list":["straight","pointed","rounded"],"menu":"style"},"collarBandHeight":{"pct":6,"min":5,"max":8,"menu":"style"}},"bent":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":4.8,"bicepsEase":{"pct":20,"min":10,"max":40,"menu":"fit"},"chestEase":{"pct":8,"min":-4,"max":20,"menu":"fit"},"collarEase":{"pct":3.5,"min":0,"max":10,"menu":"fit"},"cuffEase":{"pct":40,"min":2,"max":100,"menu":"fit"},"draftForHighBust":{"bool":false},"shoulderEase":{"pct":0,"min":-2,"max":6,"menu":"fit"},"lengthBonus":{"pct":0,"min":-4,"max":60,"menu":"fit"},"s3Collar":{"pct":0,"min":-100,"max":100,"menu":"style"},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":"style"},"acrossBackFactor":{"pct":97,"min":93,"max":100,"menu":"advanced"},"armholeDepth":{"pct":5,"min":-10,"max":50},"armholeDepthFactor":{"pct":60,"min":50,"max":70},"backNeckCutout":{"pct":5,"min":2,"max":8,"menu":"advanced"},"frontArmholeDeeper":{"pct":0.5,"min":0,"max":1.5,"menu":"advanced"},"shoulderSlopeReduction":{"pct":0,"min":0,"max":80,"menu":"advanced"},"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"sleeveLengthBonus":{"pct":0,"min":-20,"max":15,"menu":"fit"},"sleeveBend":{"deg":10,"min":0,"max":20,"menu":"fit"},"sleevecapHeight":{"pct":45,"min":40,"max":60,"menu":"advanced"},"sleevecapEase":{"pct":1,"min":0,"max":10,"menu":"advanced"}},"bob":{"neckRatio":{"pct":80,"min":70,"max":90,"menu":"fit"},"widthRatio":{"pct":45,"min":35,"max":55,"menu":"fit"},"lengthRatio":{"pct":75,"min":55,"max":85,"menu":"fit"},"headSize":{"pct":100,"min":10,"max":200,"snap":5,"menu":"size"}},"breanna":{"collarFactor":4.8,"armholeDepthBase":0.6,"shoulderSeamLength":0.95,"sleeveWidthGuarantee":0.9,"breannaFitSleeve":true,"breannaFitCollar":true,"shoulderDart":{"bool":false,"menu":"fit"},"waistDart":{"bool":true,"menu":"fit"},"primaryBustDart":{"list":["06:00","07:00","08:00","09:00","10:00","11:00","11:30","12:00","12:30","13:00","13:30","14:00","15:00","16:00","17:00"],"dflt":"06:00","doNotTranslate":true,"menu":"style"},"secondaryBustDart":{"list":["none","06:00","07:00","08:00","09:00","10:00","11:00","11:30","12:00","12:30","13:00","13:30","14:00","15:00","16:00","17:00"],"dflt":"13:30","doNotTranslate":true,"menu":"style"},"acrossBackFactor":{"pct":96,"min":93,"max":100,"menu":"advanced"},"armholeDepthFactor":{"pct":100,"min":80,"max":120,"menu":"advanced"},"backNeckCutout":{"pct":5,"min":2,"max":8,"menu":"advanced"},"bicepsEase":{"pct":15,"min":0,"max":50,"menu":"fit"},"shoulderDartSize":{"pct":7,"min":4,"max":10},"shoulderDartLength":{"pct":85,"min":60,"max":100},"waistDartSize":{"pct":10,"min":4,"max":15},"waistDartLength":{"pct":85,"min":60,"max":100},"verticalEase":{"pct":2,"min":0,"max":8,"menu":"fit"},"frontArmholeDeeper":{"pct":1,"min":0,"max":5,"menu":"advanced"},"shoulderEase":{"pct":0,"min":0,"max":4,"menu":"fit"},"collarEase":{"pct":3.5,"min":0,"max":10,"menu":"fit"},"chestEase":{"pct":10,"min":5,"max":20,"menu":"fit"},"waistEase":{"pct":10,"min":5,"max":20,"menu":"fit"},"primaryBustDartShaping":{"pct":50,"min":25,"max":75,"menu":"style"},"primaryBustDartLength":{"pct":85,"min":65,"max":95,"menu":"style"},"secondaryBustDartLength":{"pct":85,"min":65,"max":95,"menu":"style"},"shoulderSlopeReduction":{"pct":0,"min":0,"max":100,"menu":"advanced"},"frontScyeDart":{"pct":25,"min":0,"max":45,"menu":"fit"},"sleevecapEase":{"pct":0.5,"min":0,"max":2.5,"menu":"advanced.sleevecap"},"sleevecapTopFactorX":{"pct":50,"min":25,"max":75,"menu":"advanced.sleevecap"},"sleevecapTopFactorY":{"pct":110,"min":35,"max":165,"menu":"advanced.sleevecap"},"sleevecapBackFactorX":{"pct":45,"min":35,"max":55,"menu":"advanced.sleevecap"},"sleevecapBackFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorX":{"pct":55,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapQ1Offset":{"pct":3,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ2Offset":{"pct":5.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ3Offset":{"pct":4.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ4Offset":{"pct":1,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ1Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ1Spread2":{"pct":12.5,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread1":{"pct":12.5,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread2":{"pct":12.5,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread1":{"pct":12.5,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread2":{"pct":8,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread1":{"pct":7,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread2":{"pct":7,"min":4,"max":20,"menu":"advanced.sleevecap"},"cuffEase":{"pct":20,"min":0,"max":50,"menu":"fit"},"sleeveLengthBonus":{"pct":0,"min":-40,"max":10,"menu":"style"}},"brian":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":4.8,"bicepsEase":{"pct":15,"min":0,"max":50,"menu":"fit"},"chestEase":{"pct":15,"min":-4,"max":35,"menu":"fit"},"collarEase":{"pct":5,"min":0,"max":10,"menu":"fit"},"cuffEase":{"pct":20,"min":0,"max":200,"menu":"fit"},"draftForHighBust":{"bool":false},"shoulderEase":{"pct":0,"min":-2,"max":6,"menu":"fit"},"lengthBonus":{"pct":0,"min":-4,"max":60,"menu":"style"},"s3Collar":{"pct":0,"min":-100,"max":100,"menu":"style"},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":"style"},"acrossBackFactor":{"pct":98,"min":93,"max":100,"menu":"advanced"},"armholeDepth":{"pct":2,"min":-10,"max":50},"armholeDepthFactor":{"pct":55,"min":50,"max":70},"backNeckCutout":{"pct":5,"min":2,"max":8,"menu":"advanced"},"frontArmholeDeeper":{"pct":0.2,"min":0,"max":0.5,"menu":"advanced"},"shoulderSlopeReduction":{"pct":0,"min":0,"max":80,"menu":"advanced"},"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"sleevecapEase":{"pct":0,"min":0,"max":10,"menu":"advanced.sleevecap"},"sleevecapTopFactorX":{"pct":50,"min":25,"max":75,"menu":"advanced.sleevecap"},"sleevecapTopFactorY":{"pct":45,"min":35,"max":125,"menu":"advanced.sleevecap"},"sleevecapBackFactorX":{"pct":60,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapBackFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorX":{"pct":55,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapQ1Offset":{"pct":1.7,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ2Offset":{"pct":3.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ3Offset":{"pct":2.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ4Offset":{"pct":1,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ1Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ1Spread2":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread1":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread2":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread2":{"pct":8,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread1":{"pct":7,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread2":{"pct":6.3,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleeveWidthGuarantee":{"pct":90,"min":25,"max":100,"menu":"advanced"},"sleeveLengthBonus":{"pct":0,"min":-40,"max":10,"menu":"style"}},"bruce":{"hipRatioFront":0.245,"hipRatioBack":0.315,"legRatioInset":0.3,"legRatioBack":0.32,"gussetRatio":0.0666,"gussetInsetRatio":0.6,"heightRatioInset":0.65,"bulge":{"deg":20,"min":0,"max":40,"menu":"fit"},"legBonus":{"pct":0,"min":-10,"max":20,"menu":"style"},"rise":{"pct":10,"min":0,"max":25,"menu":"style"},"stretch":{"pct":15,"min":5,"max":25,"menu":"fit"},"legStretch":{"pct":40,"min":25,"max":45,"menu":"fit"},"backRise":{"pct":5,"min":0,"max":10,"menu":"fit"}},"carlita":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":4.8,"bicepsEase":{"pct":20,"min":0,"max":50,"menu":"fit"},"chestEase":{"pct":10,"min":5,"max":20,"menu":"fit"},"collarEase":0.145,"cuffEase":{"pct":60,"min":30,"max":100,"menu":"fit"},"draftForHighBust":true,"shoulderEase":{"pct":0,"min":-2,"max":6,"menu":"fit"},"lengthBonus":0,"s3Collar":{"pct":0,"min":-100,"max":100,"menu":"style"},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":"style"},"acrossBackFactor":{"pct":97,"min":93,"max":100,"menu":"fit"},"armholeDepth":{"pct":5,"min":-10,"max":50},"armholeDepthFactor":{"pct":65,"min":50,"max":70,"menu":"fit"},"backNeckCutout":{"pct":5,"min":2,"max":8,"menu":"advanced"},"frontArmholeDeeper":{"pct":0.5,"min":0,"max":1.5,"menu":"advanced"},"shoulderSlopeReduction":{"pct":12,"min":0,"max":80,"menu":"advanced"},"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"buttonSpacingHorizontal":{"pct":43.5,"min":15,"max":60,"menu":"style"},"length":{"pct":69,"min":35,"max":100,"menu":"style"},"lapelReduction":{"pct":5,"min":0,"max":10,"menu":"advanced"},"frontOverlap":{"pct":1.5,"min":1,"max":2,"menu":"advanced"},"pocketPlacementHorizontal":{"pct":11,"min":5,"max":20,"menu":"pockets"},"pocketPlacementVertical":{"pct":6,"min":5,"max":60,"menu":"pockets"},"pocketWidth":{"pct":95,"min":70,"max":120,"menu":"pockets"},"pocketHeight":{"pct":15,"min":0,"max":40,"menu":"pockets"},"pocketRadius":{"pct":20,"min":0,"max":50,"menu":"pockets"},"pocketFlapRadius":{"pct":15,"min":0,"max":50,"menu":"pockets"},"chestPocketPlacement":{"pct":55,"min":30,"max":65,"menu":"pockets"},"chestPocketAngle":0,"chestPocketHeight":{"pct":60,"min":40,"max":80,"menu":"pockets"},"chestPocketWidth":{"pct":25,"min":15,"max":50,"menu":"pockets"},"innerPocketPlacement":{"pct":53,"min":42,"max":62,"menu":"pockets"},"innerPocketWidth":{"pct":50,"min":45,"max":65,"menu":"pockets"},"waistEase":{"pct":14,"min":8,"max":25,"menu":"fit"},"seatEase":{"pct":14,"min":8,"max":25,"menu":"fit"},"innerPocketWeltHeight":{"pct":3.5,"min":2.5,"max":5,"menu":"pockets"},"contour":{"pct":50,"min":25,"max":75,"menu":"advanced"},"backPleat":0.048,"beltWidth":{"pct":15,"min":10,"max":20,"menu":"style"},"sleeveLengthBonus":{"pct":7,"min":0,"max":20,"menu":"fit"},"sleeveBend":{"deg":10,"min":0,"max":20,"menu":"fit"},"sleevecapHeight":{"pct":45,"min":40,"max":60,"menu":"advanced"},"sleevecapEase":{"pct":1,"min":0,"max":10,"menu":"advanced"},"cuffLength":{"pct":15,"min":10,"max":20,"menu":"style"},"chestShapingMax":5,"collarHeight":{"pct":9.6,"min":8,"max":11,"menu":"collar"},"collarFlare":{"pct":20,"min":0,"max":40,"menu":"collar"},"collarSpread":{"deg":4,"min":2,"max":6,"menu":"collar"},"innerPocketDepth":{"pct":110,"min":75,"max":140,"menu":"pockets"}},"carlton":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":4.8,"bicepsEase":{"pct":20,"min":0,"max":50,"menu":"fit"},"chestEase":{"pct":10,"min":5,"max":20,"menu":"fit"},"collarEase":0.145,"cuffEase":{"pct":60,"min":30,"max":100,"menu":"fit"},"draftForHighBust":{"bool":false,"menu":"fit"},"shoulderEase":{"pct":0,"min":-2,"max":6,"menu":"fit"},"lengthBonus":0,"s3Collar":{"pct":0,"min":-100,"max":100,"menu":"style"},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":"style"},"acrossBackFactor":{"pct":97,"min":93,"max":100,"menu":"fit"},"armholeDepth":{"pct":5,"min":-10,"max":50},"armholeDepthFactor":{"pct":65,"min":50,"max":70,"menu":"fit"},"backNeckCutout":{"pct":5,"min":2,"max":8,"menu":"advanced"},"frontArmholeDeeper":{"pct":0.5,"min":0,"max":1.5,"menu":"advanced"},"shoulderSlopeReduction":{"pct":12,"min":0,"max":80,"menu":"advanced"},"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"buttonSpacingHorizontal":{"pct":43.5,"min":15,"max":60,"menu":"style"},"length":{"pct":69,"min":35,"max":100,"menu":"style"},"lapelReduction":{"pct":5,"min":0,"max":10,"menu":"advanced"},"frontOverlap":{"pct":1.5,"min":1,"max":2,"menu":"advanced"},"pocketPlacementHorizontal":{"pct":11,"min":5,"max":20,"menu":"pockets"},"pocketPlacementVertical":{"pct":6,"min":5,"max":60,"menu":"pockets"},"pocketWidth":{"pct":95,"min":70,"max":120,"menu":"pockets"},"pocketHeight":{"pct":15,"min":0,"max":40,"menu":"pockets"},"pocketRadius":{"pct":20,"min":0,"max":50,"menu":"pockets"},"pocketFlapRadius":{"pct":15,"min":0,"max":50,"menu":"pockets"},"chestPocketPlacement":{"pct":55,"min":30,"max":65,"menu":"pockets"},"chestPocketAngle":{"deg":4,"min":0,"max":6,"menu":"pockets"},"chestPocketHeight":{"pct":60,"min":40,"max":80,"menu":"pockets"},"chestPocketWidth":{"pct":25,"min":15,"max":50,"menu":"pockets"},"innerPocketPlacement":{"pct":53,"min":42,"max":62,"menu":"pockets"},"innerPocketWidth":{"pct":50,"min":45,"max":65,"menu":"pockets"},"waistEase":{"pct":14,"min":8,"max":25,"menu":"fit"},"seatEase":{"pct":14,"min":8,"max":25,"menu":"fit"},"innerPocketWeltHeight":{"pct":3.5,"min":2.5,"max":5,"menu":"pockets"},"backPleat":0.048,"beltWidth":{"pct":15,"min":10,"max":20,"menu":"style"},"sleeveLengthBonus":{"pct":7,"min":0,"max":20,"menu":"fit"},"sleeveBend":{"deg":10,"min":0,"max":20,"menu":"fit"},"sleevecapHeight":{"pct":45,"min":40,"max":60,"menu":"advanced"},"sleevecapEase":{"pct":1,"min":0,"max":10,"menu":"advanced"},"cuffLength":{"pct":15,"min":10,"max":20,"menu":"style"},"chestShapingMax":5,"collarHeight":{"pct":9.6,"min":8,"max":11,"menu":"collar"},"collarFlare":{"pct":20,"min":0,"max":40,"menu":"collar"},"collarSpread":{"deg":4,"min":2,"max":6,"menu":"collar"},"innerPocketDepth":{"pct":110,"min":75,"max":140,"menu":"pockets"}},"cathrin":{"waistReduction":{"pct":10,"min":2,"max":20,"menu":"fit"},"panels":{"list":["11","13"],"dflt":"13","menu":"fit"},"backOpening":{"pct":4,"min":3,"max":10,"menu":"style"},"backRise":{"pct":15,"min":1,"max":25,"menu":"style"},"backDrop":{"pct":2,"min":0,"max":5,"menu":"style"},"frontRise":{"pct":4,"min":0.1,"max":8,"menu":"style"},"frontDrop":{"pct":5,"min":0,"max":10,"menu":"style"},"hipRise":{"pct":5,"min":0,"max":15,"menu":"style"}},"charlie":{"fitCrossSeam":true,"fitCrossSeamFront":true,"fitCrossSeamBack":true,"fitGuides":false,"waistEase":{"pct":1,"min":0,"max":5,"menu":"fit"},"seatEase":{"pct":5,"min":0,"max":10,"menu":"fit"},"kneeEase":{"pct":15,"min":10,"max":30,"menu":"fit"},"waistHeight":{"pct":-4,"min":-15,"max":40,"menu":"style"},"lengthBonus":{"pct":2,"min":-20,"max":10,"menu":"style"},"crotchDrop":{"pct":2,"min":0,"max":15,"menu":"style"},"fitKnee":true,"legBalance":{"pct":57.5,"min":52.5,"max":62.5,"menu":"advanced"},"crossSeamCurveStart":{"pct":85,"min":60,"max":100,"menu":"advanced"},"crossSeamCurveBend":{"pct":65,"min":45,"max":85,"menu":"advanced"},"crossSeamCurveAngle":{"deg":12,"min":0,"max":20,"menu":"advanced"},"crotchSeamCurveStart":{"pct":80,"min":60,"max":95,"menu":"advanced"},"crotchSeamCurveBend":{"pct":80,"min":45,"max":100,"menu":"advanced"},"crotchSeamCurveAngle":{"deg":25,"min":0,"max":35,"menu":"advanced"},"waistBalance":{"pct":55,"min":30,"max":90,"menu":"advanced"},"grainlinePosition":{"pct":50,"min":30,"max":60,"menu":"advanced"},"waistbandWidth":{"pct":3,"min":1,"max":6,"snap":{"metric":[3.5,5,10,12,20,25,30,40,50,60,80,100,120],"imperial":[3.175,6.35,9.524999999999999,12.7,15.875,19.049999999999997,25.4,31.75,38.099999999999994,44.449999999999996,50.8,76.19999999999999,101.6,127]},"menu":"style"},"waistbandReduction":0.25,"waistbandFactor":0.1,"frontPocketSlantDepth":{"pct":85,"min":70,"max":100,"menu":"pockets.frontpockets"},"frontPocketSlantWidth":{"pct":25,"min":15,"max":35,"menu":"pockets.frontpockets"},"frontPocketSlantRound":{"pct":30,"min":5,"max":50,"menu":"pockets.frontpockets"},"frontPocketSlantBend":{"pct":25,"min":5,"max":50,"menu":"pockets.frontpockets"},"frontPocketWidth":{"pct":55,"min":45,"max":65,"menu":"pockets.frontpockets"},"frontPocketDepth":{"pct":100,"min":85,"max":110,"menu":"pockets.frontpockets"},"frontPocketFacing":{"pct":45,"min":25,"max":65,"menu":"pockets.frontpockets"},"flyCurve":{"pct":72,"min":50,"max":100,"menu":"advanced.fly"},"flyLength":{"pct":45,"min":30,"max":60,"menu":"advanced.fly"},"flyWidth":{"pct":15,"min":10,"max":20,"menu":"advanced.fly"},"backPocketVerticalPlacement":{"pct":24,"min":18,"max":30,"menu":"pockets.backpockets"},"backPocketHorizontalPlacement":{"pct":55,"min":48,"max":62,"menu":"pockets.backpockets"},"backPocketWidth":{"pct":55,"min":50,"max":60,"menu":"pockets.backpockets"},"backPocketDepth":{"pct":60,"min":40,"max":80,"menu":"pockets.backpockets"},"backPocketFacing":{"bool":true,"menu":"pockets.backpockets"},"waistbandCurve":{"pct":0,"min":0,"max":35,"menu":"fit"},"beltLoops":{"count":8,"min":6,"max":12,"menu":"advanced"}},"cornelius":{"pctAtoO":0.5,"pctAtoC":0.25,"pctUtoA":0.25,"pctJtoA":0.25,"pctSeatAdjustment":0.5,"ventLength":{"pct":70,"min":50,"max":110,"menu":"style"},"fullness":{"pct":0,"min":0,"max":55,"menu":"fit"},"waistbandBelowWaist":{"pct":5,"min":0,"max":15,"menu":"style"},"waistReduction":{"pct":1,"min":-2,"max":10,"menu":"fit"},"bandBelowKnee":{"pct":25,"min":15,"max":50,"menu":"advanced"},"pctZtoR":0.35,"pctRtoZin":0.75,"pctRtoZup":0.25,"pctRtoKin":0.75,"pctRtoKdown":0.25,"pctKtoRout":0.15,"pctKtoRup":0.25,"pctKtoH":0.7,"kneeToBelow":{"pct":94,"min":85,"max":110,"menu":"advanced"},"cuffWidth":{"pct":0,"min":-50,"max":150,"menu":"style"},"cuffStyle":{"dflt":"elegant","list":["traditional","elegant","keystone"],"menu":"style"}},"diana":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":5,"bicepsEase":{"pct":0,"min":-5,"max":50,"menu":"fit"},"chestEase":{"pct":0,"min":-10,"max":20,"menu":"fit"},"collarEase":0,"cuffEase":{"pct":20,"min":0,"max":30,"menu":"fit"},"draftForHighBust":{"bool":false,"menu":"fit"},"shoulderEase":{"pct":0,"min":-2,"max":6,"menu":"fit"},"lengthBonus":{"pct":0,"min":0,"max":50,"menu":"fit"},"s3Collar":0,"s3Armhole":0,"acrossBackFactor":{"pct":97,"min":93,"max":100,"menu":"advanced"},"armholeDepth":{"pct":0,"min":0,"max":20,"menu":"advanced"},"armholeDepthFactor":{"pct":55,"min":50,"max":70,"menu":"advanced"},"backNeckCutout":0.05,"frontArmholeDeeper":{"pct":0,"min":0,"max":1.5,"menu":"advanced"},"shoulderSlopeReduction":0,"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"drapeAngle":{"deg":20,"min":10,"max":30,"menu":"style"},"sleeveLengthBonus":{"pct":0,"min":-40,"max":10,"menu":"fit"},"shoulderSeamLength":{"pct":35,"min":0.1,"max":60,"menu":"style"},"waistEase":{"pct":0,"min":-10,"max":20,"menu":"fit"},"hipsEase":{"pct":0,"min":-10,"max":20,"menu":"fit"},"sleevecapEase":{"pct":0,"min":0,"max":10,"menu":"advanced.sleevecap"},"sleevecapTopFactorX":{"pct":50,"min":25,"max":75,"menu":"advanced.sleevecap"},"sleevecapTopFactorY":{"pct":100,"min":35,"max":165,"menu":"advanced.sleevecap"},"sleevecapBackFactorX":{"pct":60,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapBackFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorX":{"pct":55,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapQ1Offset":{"pct":3,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ2Offset":{"pct":5.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ3Offset":{"pct":4.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ4Offset":{"pct":1,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ1Spread1":{"pct":6,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ1Spread2":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread1":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread2":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread2":{"pct":8,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread1":{"pct":7,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread2":{"pct":7,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleeveWidthGuarantee":{"pct":90,"min":25,"max":100,"menu":"advanced"}},"examples":{"size":{"pct":50,"min":5,"max":100,"menu":"stack"},"x":{"pct":0,"min":-100,"max":100,"menu":"stack"},"y":{"pct":0,"min":-100,"max":100,"menu":"stack"},"stackIt":{"dflt":"Do stack","list":["Do stack","Do not stack"],"menu":"stack"}},"florence":{"length":{"pct":40,"min":35,"max":45,"menu":"fit"},"height":{"pct":26,"min":23,"max":29,"menu":"fit"},"curve":{"pct":12.5,"min":10,"max":15,"menu":"fit"}},"florent":{"topSide":0.8,"brim":0,"headEase":{"pct":2,"min":0,"max":5,"menu":"fit"}},"hi":{"length":1000,"size":{"pct":100,"min":5,"max":500,"menu":"style"},"nosePointiness":{"pct":0,"min":-5,"max":10,"menu":"style"},"aggressive":{"bool":false,"menu":"style"},"hungry":{"pct":50,"min":0,"max":100,"menu":"style"}},"holmes":{"headEase":{"pct":3,"min":0,"max":9,"snap":{"metric":[6,13,19,25,32,38,44,50],"imperial":[6.35,12.7,19.05,25.4,31.75,38.1,44.45,50.8]},"menu":"fit"},"lengthRatio":{"pct":55,"min":40,"max":60,"menu":"style"},"gores":{"count":6,"min":4,"max":20,"menu":"style"},"visorAngle":{"deg":45,"min":10,"max":90,"menu":"style"},"visorWidth":{"pct":5,"min":1,"max":17,"snap":5,"menu":"style"},"visorLength":{"pct":100,"min":80,"max":150,"menu":"advanced"},"earLength":{"pct":100,"min":80,"max":150,"menu":"style"},"earWidth":{"pct":100,"min":80,"max":150,"menu":"style"},"buttonhole":{"bool":false,"menu":"style"}},"hortensia":{"width":230,"height":330,"size":{"pct":50,"min":20,"max":200,"menu":"style"},"zipperSize":{"dflt":"#5","list":["#3","#4","#4.5","#5","#6","#8","#10","invisible"],"menu":"style"},"minHandleSpaceWidth":80,"maxHandleSpaceWidth":250,"pctHandleSpace":50,"pctHandleVert":42,"handleWidth":{"pct":8.6,"min":4,"max":25,"menu":"style"},"strapLength":{"pct":160,"min":75,"max":250,"menu":"style"}},"huey":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":4.8,"bicepsEase":{"pct":15,"min":0,"max":50,"menu":"fit"},"chestEase":{"pct":15,"min":-4,"max":35,"menu":"fit"},"collarEase":{"pct":5,"min":0,"max":10,"menu":"fit"},"cuffEase":{"pct":20,"min":0,"max":200,"menu":"fit"},"draftForHighBust":{"bool":false},"shoulderEase":{"pct":0,"min":-2,"max":6,"menu":"fit"},"lengthBonus":{"pct":0,"min":-4,"max":60,"menu":"style"},"s3Collar":{"pct":0,"min":-100,"max":100,"menu":"style"},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":"style"},"acrossBackFactor":{"pct":98,"min":93,"max":100,"menu":"advanced"},"armholeDepth":{"pct":2,"min":-10,"max":50},"armholeDepthFactor":{"pct":55,"min":50,"max":70},"backNeckCutout":{"pct":5,"min":2,"max":8,"menu":"advanced"},"frontArmholeDeeper":{"pct":0.2,"min":0,"max":0.5,"menu":"advanced"},"shoulderSlopeReduction":{"pct":0,"min":0,"max":80,"menu":"advanced"},"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"ribbing":{"bool":true,"menu":"style"},"ribbingHeight":{"pct":10,"min":5,"max":15,"menu":"style"},"hipsEase":{"pct":8,"min":4,"max":12,"menu":"fit"},"pocket":{"bool":true,"menu":"style"},"pocketHeight":{"pct":30,"min":25,"max":35,"menu":"style"},"pocketWidth":{"pct":60,"min":50,"max":70,"menu":"style"},"sleevecapEase":{"pct":0,"min":0,"max":10,"menu":"advanced.sleevecap"},"sleevecapTopFactorX":{"pct":50,"min":25,"max":75,"menu":"advanced.sleevecap"},"sleevecapTopFactorY":{"pct":45,"min":35,"max":125,"menu":"advanced.sleevecap"},"sleevecapBackFactorX":{"pct":60,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapBackFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorX":{"pct":55,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapQ1Offset":{"pct":1.7,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ2Offset":{"pct":3.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ3Offset":{"pct":2.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ4Offset":{"pct":1,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ1Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ1Spread2":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread1":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread2":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread2":{"pct":8,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread1":{"pct":7,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread2":{"pct":6.3,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleeveWidthGuarantee":{"pct":90,"min":25,"max":100,"menu":"advanced"},"sleeveLengthBonus":{"pct":0,"min":-40,"max":10,"menu":"style"},"hoodHeight":{"pct":59,"min":55,"max":65,"menu":"style"},"hoodCutback":{"pct":10,"min":5,"max":15,"menu":"style"},"hoodClosure":{"pct":13.5,"min":10,"max":15,"menu":"style"},"hoodDepth":{"pct":8.5,"min":5,"max":12,"menu":"style"},"hoodAngle":{"deg":5,"min":2,"max":8,"menu":"style"},"ribbingStretch":{"pct":15,"min":0,"max":30,"menu":"fit"}},"hugo":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":4.8,"bicepsEase":{"pct":15,"min":0,"max":50,"menu":"fit"},"chestEase":{"pct":8,"min":4,"max":20,"menu":"fit"},"collarEase":0.05,"cuffEase":{"pct":20,"min":10,"max":50,"menu":"fit"},"draftForHighBust":{"bool":false,"menu":"fit"},"shoulderEase":0,"lengthBonus":{"pct":10,"min":0,"max":20,"menu":"style"},"s3Collar":0,"s3Armhole":0,"acrossBackFactor":{"pct":98,"min":93,"max":100,"menu":"advanced"},"armholeDepth":{"pct":2,"min":-10,"max":50},"armholeDepthFactor":0.5,"backNeckCutout":{"pct":5,"min":2,"max":8,"menu":"advanced"},"frontArmholeDeeper":0,"shoulderSlopeReduction":0,"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"hipsEase":{"pct":12,"min":4,"max":20,"menu":"fit"},"ribbingHeight":{"pct":10,"min":4,"max":20,"menu":"style"},"pocketWidth":{"pct":50,"min":35,"max":65,"menu":"style"},"sleevecapEase":{"pct":0,"min":0,"max":10,"menu":"advanced.sleevecap"},"sleevecapTopFactorX":{"pct":50,"min":25,"max":75,"menu":"advanced.sleevecap"},"sleevecapTopFactorY":{"pct":45,"min":35,"max":125,"menu":"advanced.sleevecap"},"sleevecapBackFactorX":{"pct":60,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapBackFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorX":{"pct":55,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapQ1Offset":{"pct":1.7,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ2Offset":{"pct":3.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ3Offset":{"pct":2.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ4Offset":{"pct":1,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ1Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ1Spread2":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread1":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread2":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread2":{"pct":8,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread1":{"pct":7,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread2":{"pct":6.3,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleeveWidthGuarantee":{"pct":90,"min":25,"max":100,"menu":"advanced"},"sleeveLengthBonus":{"pct":2,"min":0,"max":10,"menu":"style"},"ribbingStretch":{"pct":5,"min":0,"max":10,"menu":"fit"}},"jaeger":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":4.8,"bicepsEase":{"pct":15,"min":0,"max":50,"menu":"fit"},"chestEase":{"pct":15,"min":-4,"max":35,"menu":"fit"},"collarEase":{"pct":5,"min":0,"max":10,"menu":"fit"},"cuffEase":{"pct":20,"min":0,"max":200,"menu":"fit"},"draftForHighBust":{"bool":false},"shoulderEase":{"pct":0,"min":-2,"max":6,"menu":"fit"},"lengthBonus":{"pct":19,"min":10,"max":25,"menu":"fit"},"s3Collar":{"pct":0,"min":-100,"max":100,"menu":"style"},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":"style"},"acrossBackFactor":{"pct":98,"min":93,"max":100,"menu":"advanced"},"armholeDepth":{"pct":2,"min":-10,"max":50},"armholeDepthFactor":{"pct":55,"min":50,"max":70},"backNeckCutout":{"pct":5,"min":2,"max":8,"menu":"advanced"},"frontArmholeDeeper":{"pct":0.2,"min":0,"max":0.5,"menu":"advanced"},"shoulderSlopeReduction":{"pct":0,"min":0,"max":80,"menu":"advanced"},"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"centerBackDart":{"pct":0.5,"min":0,"max":1.5,"menu":"fit"},"hipsEase":{"pct":12,"min":8,"max":20,"menu":"fit"},"waistEase":{"pct":14,"min":8,"max":25,"menu":"fit"},"rollLineCollarHeight":{"pct":6,"min":5,"max":9,"menu":"collar"},"reduceWaistStandardFraction":0.08,"reduceWaistDartFraction":0.05,"reduceHipsStandardFraction":0.1,"centerFrontHemDrop":{"pct":2,"min":0,"max":4,"menu":"style"},"frontPocketPlacement":{"pct":75,"min":65,"max":85,"menu":"pockets"},"frontPocketWidth":{"pct":68,"min":55,"max":75,"menu":"pockets"},"frontPocketDepth":{"pct":110,"min":80,"max":130,"menu":"pockets"},"frontPocketRadius":{"pct":10,"min":0,"max":50,"menu":"pockets"},"frontDartPlacement":{"pct":55,"min":45,"max":60,"menu":"advanced"},"sideFrontPlacement":{"pct":85,"min":80,"max":90,"menu":"advanced"},"frontOverlap":{"pct":1.5,"min":1,"max":2,"menu":"advanced"},"innerPocketPlacement":{"pct":52,"min":42,"max":62,"menu":"pockets"},"innerPocketWidth":{"pct":50,"min":45,"max":65,"menu":"pockets"},"innerPocketDepth":{"pct":110,"min":75,"max":140,"menu":"pockets"},"innerPocketWeltHeight":{"pct":3.5,"min":2.5,"max":5,"menu":"pockets"},"frontCutawayAngle":{"deg":2.5,"min":1,"max":4,"menu":"style"},"frontCutawayStart":{"pct":30,"min":10,"max":70,"menu":"style"},"frontCutawayEnd":{"pct":40,"min":10,"max":40,"menu":"style"},"hemRadius":{"pct":100,"min":35,"max":100,"menu":"style"},"chestPocketDepth":{"pct":110,"min":70,"max":150,"menu":"pockets"},"chestPocketWidth":{"pct":37,"min":30,"max":45,"menu":"pockets"},"chestPocketPlacement":{"pct":52,"min":40,"max":60,"menu":"pockets"},"chestPocketAngle":{"deg":2.5,"min":0,"max":7,"menu":"pockets"},"chestPocketWeltSize":{"pct":17.5,"min":10,"max":25,"menu":"pockets"},"lapelStart":{"pct":10,"min":0,"max":35,"menu":"style"},"collarHeight":{"pct":9,"min":7,"max":10,"menu":"collar"},"collarNotchDepth":{"pct":15,"min":15,"max":50,"menu":"collar"},"collarNotchAngle":{"deg":45,"min":30,"max":60,"menu":"collar"},"collarNotchReturn":{"pct":100,"min":50,"max":100,"menu":"collar"},"chestShaping":{"pct":30,"min":0,"max":100,"menu":"advanced"},"buttons":{"list":["1","2","3"],"dflt":"2","menu":"style"},"buttonLength":{"pct":30,"min":30,"max":60,"menu":"style"},"chestShapingMax":5,"lapelReduction":{"pct":5,"min":0,"max":10,"menu":"style"},"backVent":{"count":1,"min":0,"max":2,"menu":"style"},"backVentLength":{"pct":35,"min":15,"max":100,"menu":"style"},"collarSpread":{"deg":13,"min":5,"max":35,"menu":"collar"},"collarRoll":{"pct":5,"min":0,"max":10,"menu":"collar"},"pocketFoldover":{"pct":25,"min":15,"max":35,"menu":"pockets"},"sleeveLengthBonus":{"pct":0,"min":-20,"max":15,"menu":"fit"},"sleeveBend":{"deg":10,"min":0,"max":20,"menu":"fit"},"sleevecapHeight":{"pct":45,"min":40,"max":60,"menu":"advanced"},"sleevecapEase":{"pct":1,"min":0,"max":10,"menu":"advanced"},"sleeveVentLength":{"pct":35,"min":25,"max":55,"menu":"sleeves"},"sleeveVentWidth":{"pct":18,"min":10,"max":26,"menu":"sleeves"}},"legend":{},"lucy":{"width":{"pct":50,"min":30,"max":100,"menu":"style"},"length":{"pct":50,"min":30,"max":100,"menu":"style"},"edge":{"pct":25,"min":20,"max":50,"menu":"style"}},"lunetius":{"lengthRatio":{"pct":105,"min":60,"max":130,"menu":"style"},"widthRatio":{"pct":100,"min":50,"max":130,"menu":"style"},"length":{"list":["toKnee","toBelowKnee","toHips","toUpperLeg","toFloor"],"dflt":"toBelowKnee","menu":"style"}},"magde":{"size":{"pct":100,"min":15,"max":200,"menu":"style"},"taperRatio":{"pct":60,"min":50,"max":100,"menu":"style"},"flapHeightRatio":{"pct":83,"min":60,"max":100,"menu":"style"},"openingRatio":{"pct":66,"min":30,"max":90,"menu":"style"},"onePieceLid":{"bool":false,"menu":"style"},"useCommonWebbingSizes":{"bool":true,"menu":"style"}},"noble":{"acrossBackFactor":0.925,"shoulderSlopeBack":1.23,"neckWidthBack":0.197,"neckWidthFront":0.17,"backDartLocation":0.145,"backCenterWaistReduction":0.35,"collarFactor":0.19,"bustSpanEase":{"pct":0,"min":-5,"max":20,"menu":"fit"},"chestEase":{"pct":11,"min":5,"max":20,"menu":"fit"},"fullChestEaseReduction":{"pct":4,"min":0,"max":8,"menu":"fit"},"shoulderToShoulderEase":{"pct":-0.5,"min":-1,"max":5,"menu":"fit"},"waistEase":{"pct":5,"min":1,"max":20,"menu":"fit"},"backDartHeight":{"pct":46,"min":38,"max":54,"menu":"darts"},"bustDartCurve":1,"bustDartLength":0.9,"waistDartLength":{"pct":90,"min":75,"max":95,"menu":"darts"},"armholeDepth":{"pct":44,"min":38,"max":46,"menu":"armhole"},"backArmholeCurvature":{"pct":63,"min":50,"max":85,"menu":"armhole"},"backArmholePitchDepth":{"pct":35,"max":40,"min":30,"menu":"armhole"},"backArmholeSlant":{"deg":5,"min":1,"max":9,"menu":"armhole"},"frontArmholeCurvature":{"pct":63,"min":50,"max":85,"menu":"armhole"},"frontArmholePitchDepth":{"pct":29,"max":31,"min":27,"menu":"armhole"},"backHemSlope":{"deg":2.5,"min":0,"max":5,"menu":"advanced"},"backNeckCutout":{"pct":6,"min":3,"max":9,"menu":"advanced"},"frontShoulderWidth":{"pct":95,"max":98,"min":92,"menu":"advanced"},"highBustWidth":{"pct":86,"max":92,"min":80,"menu":"advanced"},"armholeDartPosition":{"pct":50,"min":10,"max":90},"dartPosition":{"dflt":"shoulder","list":["shoulder","armhole"],"menu":"darts"},"shoulderDartPosition":{"pct":50,"min":10,"max":90},"shoulderToShoulderCorrection":0.995,"upperDartLength":{"pct":90,"min":80,"max":95,"menu":"darts"}},"octoplushy":{"sizeConstant":200,"size":{"pct":100,"min":5,"max":500,"menu":"style"},"type":{"dflt":"octoplushy","list":["octoplushy","octopus","squid"],"menu":"style"},"armWidth":{"pct":15,"min":10,"max":30,"menu":"style"},"armLength":{"pct":200,"min":100,"max":500,"menu":"style"},"neckWidth":{"pct":25,"min":25,"max":45,"menu":"style"},"armTaper":{"pct":25,"min":0,"max":50,"menu":"style"},"bottomTopArmRatio":{"pct":57,"min":25,"max":75,"menu":"style"},"bottomArmReduction":{"pct":90,"min":75,"max":125},"bottomArmReductionPlushy":{"pct":80,"min":75,"max":125}},"paco":{"fitCrossSeam":true,"fitCrossSeamFront":true,"fitCrossSeamBack":true,"fitGuides":false,"waistEase":{"pct":2,"min":0,"max":10,"menu":"fit"},"seatEase":{"pct":5,"min":0,"max":15,"menu":"fit"},"kneeEase":0.06,"waistHeight":{"pct":5,"min":0,"max":100,"menu":"style"},"lengthBonus":{"pct":0,"min":-15,"max":10,"menu":"style"},"crotchDrop":{"pct":2,"min":0,"max":10,"menu":"style"},"fitKnee":false,"legBalance":{"pct":57.5,"min":52.5,"max":62.5,"menu":"advanced"},"crossSeamCurveStart":{"pct":85,"min":60,"max":100,"menu":"advanced"},"crossSeamCurveBend":{"pct":65,"min":45,"max":85,"menu":"advanced"},"crossSeamCurveAngle":{"deg":12,"min":0,"max":20,"menu":"advanced"},"crotchSeamCurveStart":{"pct":80,"min":60,"max":95,"menu":"advanced"},"crotchSeamCurveBend":{"pct":80,"min":45,"max":100,"menu":"advanced"},"crotchSeamCurveAngle":{"deg":25,"min":0,"max":35,"menu":"advanced"},"waistBalance":{"pct":60,"min":30,"max":90,"menu":"advanced"},"grainlinePosition":{"pct":45,"min":30,"max":60,"menu":"advanced"},"waistbandWidth":{"pct":3,"min":1,"max":6,"snap":{"metric":[3.5,5,10,12,20,25,30,40,50,60,80,100,120],"imperial":[3.175,6.35,9.524999999999999,12.7,15.875,19.049999999999997,25.4,31.75,38.099999999999994,44.449999999999996,50.8,76.19999999999999,101.6,127]},"menu":"elastic"},"titanPaperless":false,"frontPocketHeelRatio":0.4,"backPocketWaistRatio":0.4,"backPocketHeightRatio":0.4,"backPocketWidthRatio":0.37,"waistbandHeight":0,"elasticatedCuff":{"bool":true,"menu":"style"},"ankleElastic":{"pct":5,"min":1,"max":13,"snap":{"metric":[3.5,5,10,12,20,25,30,40,50,60,80,100,120],"imperial":[3.175,6.35,9.524999999999999,12.7,15.875,19.049999999999997,25.4,31.75,38.099999999999994,44.449999999999996,50.8,76.19999999999999,101.6,127]},"menu":"elastic"},"heelEase":{"pct":5,"min":0,"max":50,"menu":"elastic"},"frontPockets":{"bool":true,"menu":"pockets"},"backPockets":{"bool":false,"menu":"pockets"},"frontPocketFlapSize":{"pct":3,"min":3,"max":3,"snap":{"metric":1,"imperial":0.79375},"menu":false},"weltFactor":0.15},"penelope":{"dartMaximumDifference":0.344,"dartMinimumDifference":0.2,"dartMinimumWidth":0.006888,"dartSideMinimum":10,"dartBackControl1":0.114,"dartBackControl2":5,"dartBackControl3":4,"curvePlacement":2.4,"dart2offset":32,"dart2factor":0.8,"hipCurveDividerDown":40,"hipCurveDividerUp":3,"sideSeamShiftPercentage":0.006,"backVentWidth":0.1,"paperlessOffset":15,"curvedDartControlAngle":2,"curvedDartTopControlOffset":0.2,"curvedDartBottomControlOffset":0.4,"curvedDarts":{"bool":true,"menu":"style"},"lengthBonus":{"pct":0,"min":-50,"max":50,"menu":"style"},"hemBonus":{"pct":0,"min":-35,"max":0,"menu":"style"},"hem":{"pct":2,"min":0,"max":5,"menu":"style"},"backVent":{"bool":true,"menu":"style"},"backVentLength":{"pct":40,"min":5,"max":70},"zipperLocation":{"dflt":"backSeam","list":["backSeam","sideSeam"],"menu":"style"},"nrOfDarts":{"count":2,"min":1,"max":2,"menu":"style"},"seatEase":{"pct":1,"min":0,"max":8,"menu":"fit"},"waistEase":{"pct":1,"min":0,"max":8,"menu":"fit"},"backDartDepthFactor":{"pct":50,"min":35,"max":70,"menu":"advanced"},"frontDartDepthFactor":{"pct":45,"min":30,"max":65,"menu":"advanced"},"dartToSideSeamFactor":{"pct":50,"min":30,"max":70,"menu":"advanced"},"waistband":{"bool":true,"menu":"style"},"waistbandWidth":{"pct":10,"min":5,"max":20},"waistbandOverlap":{"pct":3.5,"min":0,"max":10}},"plugintest":{"plugin":{"dflt":"all","list":["all","banner","bartack","buttons","cutonfold","dimension","flip","gore","grainline","i18n","logo","measurements","mirror","notches","round","scalebox","sprinkle","title","versionfreeSvg"],"menu":"tests"},"bannerDy":{"count":-1,"min":-15,"max":15,"menu":"annotations.banner"},"bannerSpaces":{"count":10,"min":0,"max":20,"menu":"annotations.banner"},"bannerRepeat":{"count":10,"min":1,"max":20,"menu":"annotations.banner"},"bartackLength":{"count":15,"min":2,"max":100,"menu":"annotations.bartack"},"bartackAngle":{"count":0,"min":-360,"max":360,"menu":"annotations.bartack"},"bartackDensity":{"count":3,"min":1,"max":5,"menu":"annotations.bartack"},"bartackWidth":{"count":3,"min":1,"max":5,"menu":"annotations.bartack"},"bartackStart":{"pct":25,"min":0,"max":100,"menu":"annotations.bartack"},"bartackEnd":{"pct":75,"min":0,"max":100,"menu":"annotations.bartack"},"crossboxText":{"bool":true,"menu":"annotations.crossboxText"},"cutonfoldMargin":{"pct":5,"min":0,"max":25,"menu":"annotations.cutonfold"},"cutonfoldOffset":{"count":15,"min":0,"max":100,"menu":"annotations.cutonfold"},"cutonfoldGrainline":{"bool":false,"menu":"annotations.cutonfold"},"dimensionsCustomText":{"bool":false,"menu":"annotations.dimensions"},"dimensionsEndMarker":{"bool":true,"menu":"annotations.dimensions"},"dimensionsStartMarker":{"bool":true,"menu":"annotations.dimensions"},"logoScale":{"pct":100,"min":10,"max":200,"menu":"annotations.logo"},"logoRotate":{"deg":0,"min":-360,"max":360,"menu":"annotations.logo"},"pleatMargin":{"count":35,"min":0,"max":50,"menu":"annotations.pleat"},"pleatReverse":{"bool":false,"menu":"annotations.pleat"},"scaleboxRotation":{"deg":0,"min":0,"max":360,"menu":"annotations.scalebox"},"scaleboxText":{"dflt":"default","list":["default","custom","suppress"],"menu":"annotations.scalebox"},"sewtogetherHinge":{"bool":true,"menu":"annotations.sewtogether"},"sewtogetherMiddle":{"bool":false,"menu":"annotations.sewtogether"},"titleNr":{"count":1,"min":0,"max":100,"menu":"annotations.title"},"titleTitle":{"bool":true,"menu":"annotations.title"},"titleMeta":{"bool":true,"menu":"annotations.title"},"titleScale":{"pct":100,"min":10,"max":200,"menu":"annotations.title"},"titleRotate":{"deg":0,"min":-360,"max":360,"menu":"annotations.title"},"snippetScale":{"pct":100,"min":10,"max":200,"menu":"annotations.snippets"},"snippetRotation":{"deg":0,"min":-360,"max":360,"menu":"annotations.snippets"},"flipAxis":{"dflt":"x","list":["x","y"],"menu":"flip"},"goreRadius":{"count":20,"min":10,"max":30,"menu":"gore"},"goreGoreNumber":{"count":6,"min":4,"max":8,"menu":"gore"},"goreExtraLength":{"count":10,"min":0,"max":20,"menu":"gore"},"mirrorLine":{"dflt":"a","list":["a","b","none"],"menu":"mirror"},"mirrorClone":{"bool":true,"menu":"mirror"},"roundRadius":{"count":10,"min":0,"max":50,"menu":"round"},"roundHide":{"bool":false,"menu":"round"},"sprinkleScale":{"pct":100,"min":10,"max":200,"menu":"sprinkle"},"sprinkleRotate":{"deg":0,"min":-360,"max":360,"menu":"sprinkle"},"sprinkleSnippet":{"dflt":"bnotch","list":["notch","bnotch","button","buttonhole","buttonhole-start","buttonhole-end","snap-stud","snap-socket","logo"],"menu":"sprinkle"}},"rendertest":{"width":{"mm":200,"min":50,"max":500,"testIgnore":false},"only":{"menu":"show","dflt":"false","list":["false","circles","colors","widths","styles","combos","text","snippets","macros"]}},"sandy":{"minimumOverlap":15,"seamlessFullCircle":{"bool":false,"menu":"construction"},"waistbandWidth":{"pct":4,"min":1,"max":8,"snap":{"metric":[3.5,5,10,12,20,25,30,40,50,60,80,100,120],"imperial":[3.175,6.35,9.524999999999999,12.7,15.875,19.049999999999997,25.4,31.75,38.099999999999994,44.449999999999996,50.8,76.19999999999999,101.6,127]},"menu":"style"},"waistbandPosition":{"pct":50,"min":0,"max":100,"menu":"fit"},"lengthBonus":{"pct":50,"min":10,"max":100,"menu":"style"},"circleRatio":{"pct":50,"min":20,"max":100,"menu":"style"},"waistbandOverlap":{"pct":3,"min":0,"max":15,"menu":"style"},"gathering":{"pct":0,"min":0,"max":200,"menu":"style"},"hemWidth":{"pct":2,"min":1,"max":10,"menu":"construction"},"waistbandShape":{"list":["straight","curved"],"dflt":"straight","menu":"fit"}},"shin":{"frontFactor":0.58,"legFrontFactor":0.48,"gussetFactor":0.0714,"angle":10,"elasticWidth":{"pct":10,"min":4,"max":20,"snap":{"metric":[3.5,5,10,12,20,25,30,40,50,60,80,100,120],"imperial":[3.175,6.35,9.524999999999999,12.7,15.875,19.049999999999997,25.4,31.75,38.099999999999994,44.449999999999996,50.8,76.19999999999999,101.6,127]},"menu":"style"},"stretch":{"pct":20,"min":10,"max":30,"menu":"fit"},"bulge":{"pct":2.5,"min":0,"max":5,"menu":"fit"},"legReduction":{"pct":5,"min":0,"max":10,"menu":"fit"},"rise":{"pct":0,"min":0,"max":25,"menu":"style"},"backRise":{"pct":5,"min":0,"max":10,"menu":"fit"}},"simon":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":5,"bicepsEase":{"pct":15,"min":0,"max":50,"menu":"fit"},"chestEase":{"pct":15,"min":-4,"max":35,"menu":"fit"},"collarEase":{"pct":2,"min":0,"max":10,"menu":"fit"},"cuffEase":{"pct":20,"min":10,"max":40,"menu":"fit"},"draftForHighBust":{"bool":false},"shoulderEase":{"pct":2,"min":0,"max":15,"menu":"fit"},"lengthBonus":{"pct":25,"min":-4,"max":60,"menu":"fit"},"s3Collar":{"pct":0,"min":-100,"max":100,"menu":"style"},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":"style"},"acrossBackFactor":{"pct":98,"min":93,"max":100,"menu":"advanced"},"armholeDepth":{"pct":2,"min":-10,"max":50},"armholeDepthFactor":{"pct":55,"min":50,"max":70},"backNeckCutout":{"pct":5,"min":2,"max":8,"menu":"advanced"},"frontArmholeDeeper":{"pct":0.2,"min":0,"max":0.5,"menu":"advanced"},"shoulderSlopeReduction":{"pct":0,"min":0,"max":80,"menu":"advanced"},"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"backDarts":{"list":["auto","never","always"],"dflt":"auto","menu":"style"},"backDartShaping":{"pct":25,"min":5,"max":75,"menu":"advanced"},"boxPleat":{"bool":false,"menu":"style"},"boxPleatFold":{"pct":15,"min":10,"max":20,"menu":"advanced"},"boxPleatWidth":{"pct":7,"min":4,"max":10,"menu":"advanced"},"roundBack":{"pct":0,"min":0,"max":10,"menu":"fit"},"buttonholePlacketWidth":{"pct":8,"min":4,"max":12,"menu":"style.closure"},"buttonholePlacketFoldWidth":{"pct":16,"min":8,"max":24,"menu":"style.closure"},"buttonPlacketWidth":{"pct":5,"min":2,"max":8,"menu":"style.closure"},"hemCurve":{"pct":50,"min":25,"max":100,"menu":"style"},"hemStyle":{"list":["straight","baseball","slashed"],"dflt":"straight","menu":"style"},"hipsEase":{"pct":15,"min":10,"max":35,"menu":"fit"},"yokeHeight":{"pct":70,"min":40,"max":90,"menu":"style"},"sleevePlacketWidth":{"pct":13,"min":8,"max":18,"menu":"style.cuffs"},"waistEase":{"pct":15,"min":10,"max":35,"menu":"fit"},"buttonFreeLength":{"pct":2,"min":0,"max":15,"menu":"style.closure"},"extraTopButton":{"bool":true,"menu":"style.closure"},"seperateButtonPlacket":{"bool":false,"menu":"style.closure"},"seperateButtonholePlacket":{"bool":false,"menu":"style.closure"},"buttons":{"count":7,"min":4,"max":12,"menu":"style.closure"},"ffsa":{"pct":150,"min":100,"max":200,"menu":"advanced"},"collarAngle":{"deg":85,"min":60,"max":130,"menu":"style.collar"},"collarBend":{"pct":3.5,"min":0,"max":10,"menu":"style.collar"},"collarFlare":{"deg":3.5,"min":0,"max":10,"menu":"style.collar"},"collarGap":{"pct":2.5,"min":0,"max":6,"menu":"style.collar"},"collarRoll":{"pct":3,"min":0,"max":6,"menu":"style.collar"},"collarStandBend":{"deg":3,"min":0,"max":5,"menu":"style.collar"},"collarStandCurve":{"deg":2,"min":0,"max":5,"menu":"style.collar"},"collarStandWidth":{"pct":8,"min":3,"max":13,"menu":"style.collar"},"cuffOverlap":0.15,"barrelCuffNarrowButton":{"bool":true,"menu":"style.cuffs"},"cuffButtonRows":{"count":1,"min":1,"max":2,"menu":"style.cuffs"},"cuffDrape":{"pct":5,"min":0,"max":10,"menu":"style.cuffs"},"cuffLength":{"pct":10,"min":3,"max":15,"menu":"style.cuffs"},"cuffStyle":{"list":["roundedBarrelCuff","angledBarrelCuff","straightBarrelCuff","roundedFrenchCuff","angledFrenchCuff","straightFrenchCuff"],"dflt":"angledBarrelCuff","menu":"style.cuffs"},"buttonPlacketStyle":{"list":["classic","seamless"],"dflt":"classic"},"buttonholePlacketStyle":{"list":["classic","seamless"],"dflt":"seamless"},"sleevecapEase":{"pct":0,"min":0,"max":10,"menu":"advanced.sleevecap"},"sleevecapTopFactorX":{"pct":50,"min":25,"max":75,"menu":"advanced.sleevecap"},"sleevecapTopFactorY":{"pct":45,"min":35,"max":125,"menu":"advanced.sleevecap"},"sleevecapBackFactorX":{"pct":60,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapBackFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorX":{"pct":55,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapQ1Offset":{"pct":1.7,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ2Offset":{"pct":3.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ3Offset":{"pct":2.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ4Offset":{"pct":1,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ1Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ1Spread2":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread1":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread2":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread2":{"pct":8,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread1":{"pct":7,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread2":{"pct":6.3,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleeveWidthGuarantee":{"pct":90,"min":25,"max":100,"menu":"advanced"},"sleeveLengthBonus":{"pct":3.5,"min":-40,"max":10,"menu":"fit"},"sleevePlacketLength":{"pct":25,"min":15,"max":35,"menu":"style.cuffs"},"splitYoke":{"bool":false,"menu":"style"}},"simone":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":5,"bicepsEase":{"pct":15,"min":0,"max":50,"menu":"fit"},"chestEase":{"pct":15,"min":-4,"max":35,"menu":"fit"},"collarEase":{"pct":2,"min":0,"max":10,"menu":"fit"},"cuffEase":{"pct":20,"min":10,"max":40,"menu":"fit"},"draftForHighBust":true,"shoulderEase":{"pct":2,"min":0,"max":15,"menu":"fit"},"lengthBonus":{"pct":25,"min":-4,"max":60,"menu":"fit"},"s3Collar":{"pct":0,"min":-100,"max":100,"menu":"style"},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":"style"},"acrossBackFactor":{"pct":98,"min":93,"max":100,"menu":"advanced"},"armholeDepth":{"pct":2,"min":-10,"max":50},"armholeDepthFactor":{"pct":55,"min":50,"max":70},"backNeckCutout":{"pct":5,"min":2,"max":8,"menu":"advanced"},"frontArmholeDeeper":{"pct":0.2,"min":0,"max":0.5,"menu":"advanced"},"shoulderSlopeReduction":{"pct":0,"min":0,"max":80,"menu":"advanced"},"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"backDarts":{"list":["auto","never","always"],"dflt":"auto","menu":"style"},"backDartShaping":{"pct":25,"min":5,"max":75,"menu":"advanced"},"boxPleat":{"bool":false,"menu":"style"},"boxPleatFold":{"pct":15,"min":10,"max":20,"menu":"advanced"},"boxPleatWidth":{"pct":7,"min":4,"max":10,"menu":"advanced"},"roundBack":{"pct":0,"min":0,"max":10,"menu":"fit"},"buttonholePlacketWidth":{"pct":8,"min":4,"max":12,"menu":"style.closure"},"buttonholePlacketFoldWidth":{"pct":16,"min":8,"max":24,"menu":"style.closure"},"buttonPlacketWidth":{"pct":5,"min":2,"max":8,"menu":"style.closure"},"hemCurve":{"pct":50,"min":25,"max":100,"menu":"style"},"hemStyle":{"list":["straight","baseball","slashed"],"dflt":"straight","menu":"style"},"hipsEase":{"pct":15,"min":10,"max":35,"menu":"fit"},"yokeHeight":{"pct":70,"min":40,"max":90,"menu":"style"},"sleevePlacketWidth":{"pct":13,"min":8,"max":18,"menu":"style.cuffs"},"waistEase":{"pct":15,"min":10,"max":35,"menu":"fit"},"buttonFreeLength":{"pct":2,"min":0,"max":15,"menu":"style.closure"},"extraTopButton":{"bool":true,"menu":"style.closure"},"seperateButtonPlacket":{"bool":false,"menu":"style.closure"},"seperateButtonholePlacket":{"bool":false,"menu":"style.closure"},"buttons":{"count":7,"min":4,"max":12,"menu":"style.closure"},"ffsa":{"pct":150,"min":100,"max":200,"menu":"advanced"},"minimalDartShaping":5,"bustDartAngle":{"deg":10,"min":0,"max":20,"menu":"advanced"},"bustDartLength":{"pct":80,"min":50,"max":90,"menu":"advanced"},"frontDarts":{"bool":false,"menu":"advanced"},"frontDartLength":{"pct":45,"min":30,"max":60,"menu":"advanced"},"contour":{"pct":50,"min":30,"max":75,"menu":"style"},"bustAlignedButtons":{"dflt":"disabled","list":["even","split","disabled"],"menu":"style.closure"},"collarAngle":{"deg":85,"min":60,"max":130,"menu":"style.collar"},"collarBend":{"pct":3.5,"min":0,"max":10,"menu":"style.collar"},"collarFlare":{"deg":3.5,"min":0,"max":10,"menu":"style.collar"},"collarGap":{"pct":2.5,"min":0,"max":6,"menu":"style.collar"},"collarRoll":{"pct":3,"min":0,"max":6,"menu":"style.collar"},"collarStandBend":{"deg":3,"min":0,"max":5,"menu":"style.collar"},"collarStandCurve":{"deg":2,"min":0,"max":5,"menu":"style.collar"},"collarStandWidth":{"pct":8,"min":3,"max":13,"menu":"style.collar"},"cuffOverlap":0.15,"barrelCuffNarrowButton":{"bool":true,"menu":"style.cuffs"},"cuffButtonRows":{"count":1,"min":1,"max":2,"menu":"style.cuffs"},"cuffDrape":{"pct":5,"min":0,"max":10,"menu":"style.cuffs"},"cuffLength":{"pct":10,"min":3,"max":15,"menu":"style.cuffs"},"cuffStyle":{"list":["roundedBarrelCuff","angledBarrelCuff","straightBarrelCuff","roundedFrenchCuff","angledFrenchCuff","straightFrenchCuff"],"dflt":"angledBarrelCuff","menu":"style.cuffs"},"sleevecapEase":{"pct":0,"min":0,"max":10,"menu":"advanced.sleevecap"},"sleevecapTopFactorX":{"pct":50,"min":25,"max":75,"menu":"advanced.sleevecap"},"sleevecapTopFactorY":{"pct":45,"min":35,"max":125,"menu":"advanced.sleevecap"},"sleevecapBackFactorX":{"pct":60,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapBackFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorX":{"pct":55,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapQ1Offset":{"pct":1.7,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ2Offset":{"pct":3.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ3Offset":{"pct":2.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ4Offset":{"pct":1,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ1Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ1Spread2":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread1":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread2":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread2":{"pct":8,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread1":{"pct":7,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread2":{"pct":6.3,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleeveWidthGuarantee":{"pct":90,"min":25,"max":100,"menu":"advanced"},"sleeveLengthBonus":{"pct":3.5,"min":-40,"max":10,"menu":"fit"},"sleevePlacketLength":{"pct":25,"min":15,"max":35,"menu":"style.cuffs"},"splitYoke":{"bool":false,"menu":"style"},"buttonPlacketStyle":{"list":["classic","seamless"],"dflt":"classic"},"buttonholePlacketStyle":{"list":["classic","seamless"],"dflt":"seamless"}},"sven":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":4.8,"bicepsEase":{"pct":15,"min":0,"max":50,"menu":"fit"},"chestEase":{"pct":15,"min":-4,"max":35,"menu":"fit"},"collarEase":{"pct":10,"min":5,"max":30,"menu":"fit"},"cuffEase":{"pct":20,"min":0,"max":200,"menu":"fit"},"draftForHighBust":{"bool":false},"shoulderEase":{"pct":0,"min":-2,"max":6,"menu":"fit"},"lengthBonus":{"pct":15,"min":0,"max":30,"menu":"style"},"s3Collar":{"pct":0,"min":-100,"max":100,"menu":"style"},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":"style"},"acrossBackFactor":{"pct":98,"min":93,"max":100,"menu":"advanced"},"armholeDepth":{"pct":2,"min":-10,"max":50},"armholeDepthFactor":{"pct":55,"min":50,"max":70},"backNeckCutout":{"pct":5,"min":2,"max":8,"menu":"advanced"},"frontArmholeDeeper":{"pct":0.2,"min":0,"max":0.5,"menu":"advanced"},"shoulderSlopeReduction":{"pct":0,"min":0,"max":80,"menu":"advanced"},"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"waistEase":0.08,"sleeveLengthBonus":{"pct":3,"min":0,"max":10,"menu":"style"},"ribbingHeight":{"pct":8,"min":3,"max":15,"menu":"style"},"hipsEase":{"pct":8,"min":-4,"max":20,"menu":"fit"},"ribbing":{"bool":true,"menu":"style"},"sleevecapEase":{"pct":0,"min":0,"max":10,"menu":"advanced.sleevecap"},"sleevecapTopFactorX":{"pct":50,"min":25,"max":75,"menu":"advanced.sleevecap"},"sleevecapTopFactorY":{"pct":45,"min":35,"max":125,"menu":"advanced.sleevecap"},"sleevecapBackFactorX":{"pct":60,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapBackFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorX":{"pct":55,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapQ1Offset":{"pct":1.7,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ2Offset":{"pct":3.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ3Offset":{"pct":2.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ4Offset":{"pct":1,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ1Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ1Spread2":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread1":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread2":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread2":{"pct":8,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread1":{"pct":7,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread2":{"pct":6.3,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleeveWidthGuarantee":{"pct":90,"min":25,"max":100,"menu":"advanced"},"ribbingStretch":{"pct":15,"min":0,"max":30,"menu":"fit"}},"tamiko":{"armholeDepthFactor":{"pct":50,"min":40,"max":60,"menu":"fit"},"chestEase":{"pct":2,"min":1,"max":20,"menu":"fit"},"flare":{"deg":15,"min":-10,"max":30,"menu":"style"},"lengthBonus":{"pct":13,"min":0,"max":60,"menu":"style"},"shoulderseamLength":{"pct":10,"min":5,"max":25,"menu":"style"},"draftForHighBust":{"bool":false,"menu":"fit"}},"teagan":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":4.8,"bicepsEase":0.05,"chestEase":{"pct":12,"min":5,"max":25,"menu":"fit"},"collarEase":0,"cuffEase":{"pct":20,"min":0,"max":200,"menu":"fit"},"draftForHighBust":{"bool":false,"menu":"fit"},"shoulderEase":0,"lengthBonus":{"pct":5,"min":-20,"max":60,"menu":"style"},"s3Collar":{"pct":0,"min":-100,"max":100,"menu":"style"},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":"style"},"acrossBackFactor":{"pct":98,"min":93,"max":100,"menu":"advanced"},"armholeDepth":{"pct":2,"min":-10,"max":50},"armholeDepthFactor":{"pct":55,"min":50,"max":70},"backNeckCutout":{"pct":8,"min":4,"max":12,"menu":"fit"},"frontArmholeDeeper":0.005,"shoulderSlopeReduction":0,"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"sleeveWidthGuarantee":0.85,"sleeveLength":{"pct":30,"min":20,"max":100,"menu":"fit"},"curveToWaist":{"bool":false,"menu":"fit"},"curvedWaistEase":{"pct":25,"min":8,"max":40,"menu":"fit"},"hipsEase":{"pct":18,"min":8,"max":30,"menu":"fit"},"necklineDepth":{"pct":25,"min":20,"max":40,"menu":"style"},"necklineWidth":{"pct":30,"min":10,"max":50,"menu":"style"},"necklineBend":{"pct":30,"min":0,"max":70,"menu":"style"},"sleevecapEase":{"pct":0,"min":0,"max":10,"menu":"advanced.sleevecap"},"sleevecapTopFactorX":{"pct":50,"min":25,"max":75,"menu":"advanced.sleevecap"},"sleevecapTopFactorY":{"pct":45,"min":35,"max":125,"menu":"advanced.sleevecap"},"sleevecapBackFactorX":{"pct":60,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapBackFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorX":{"pct":55,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapQ1Offset":{"pct":1.7,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ2Offset":{"pct":3.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ3Offset":{"pct":2.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ4Offset":{"pct":1,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ1Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ1Spread2":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread1":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread2":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread2":{"pct":8,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread1":{"pct":7,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread2":{"pct":6.3,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleeveEase":{"pct":15,"min":5,"max":35,"menu":"style"}},"tiberius":{"headRatio":{"pct":100,"min":80,"max":120,"menu":"fit"},"armholeDrop":{"pct":110,"min":100,"max":150,"menu":"fit"},"lengthBonus":{"pct":90,"min":60,"max":130,"menu":"style"},"widthBonus":{"pct":100,"min":50,"max":130,"menu":"style"},"clavi":{"bool":false,"menu":"style.clavi"},"clavusLocation":{"pct":65,"min":50,"max":80,"menu":"style.clavi"},"clavusWidth":{"pct":100,"min":50,"max":150,"menu":"style.clavi"},"length":{"list":["toKnee","toMidLeg","toFloor"],"dflt":"toKnee","menu":"style"},"width":{"list":["toElbow","toShoulder","toMidArm"],"dflt":"toMidArm","menu":"style"},"forceWidth":{"bool":false,"menu":"advanced"}},"titan":{"fitCrossSeam":true,"fitCrossSeamFront":true,"fitCrossSeamBack":true,"fitGuides":true,"waistEase":{"pct":2,"min":0,"max":10,"menu":"fit"},"seatEase":{"pct":2,"min":0,"max":10,"menu":"fit"},"kneeEase":{"pct":6,"min":1,"max":25,"menu":"fit"},"waistHeight":{"pct":100,"min":0,"max":100,"menu":"style"},"lengthBonus":{"pct":2,"min":-20,"max":10,"menu":"style"},"crotchDrop":{"pct":2,"min":0,"max":15,"menu":"style"},"fitKnee":{"bool":false,"menu":"style"},"legBalance":{"pct":57.5,"min":52.5,"max":62.5,"menu":"advanced"},"crossSeamCurveStart":{"pct":85,"min":60,"max":100,"menu":"advanced"},"crossSeamCurveBend":{"pct":65,"min":45,"max":85,"menu":"advanced"},"crossSeamCurveAngle":{"deg":12,"min":0,"max":20,"menu":"advanced"},"crotchSeamCurveStart":{"pct":80,"min":60,"max":95,"menu":"advanced"},"crotchSeamCurveBend":{"pct":80,"min":45,"max":100,"menu":"advanced"},"crotchSeamCurveAngle":{"deg":25,"min":0,"max":35,"menu":"advanced"},"waistBalance":{"pct":60,"min":30,"max":90,"menu":"advanced"},"grainlinePosition":{"pct":45,"min":30,"max":60,"menu":"advanced"},"waistbandWidth":{"pct":3,"min":1,"max":6,"snap":{"metric":[3.5,5,10,12,20,25,30,40,50,60,80,100,120],"imperial":[3.175,6.35,9.524999999999999,12.7,15.875,19.049999999999997,25.4,31.75,38.099999999999994,44.449999999999996,50.8,76.19999999999999,101.6,127]},"menu":"advanced"}},"trayvon":{"tipWidth":{"pct":15,"min":5,"max":35,"snap":{"metric":1,"imperial":0.79375},"menu":"style"},"knotWidth":{"pct":8,"min":4,"max":12,"snap":{"metric":1,"imperial":0.79375},"menu":"style"},"lengthBonus":{"pct":0,"min":-50,"max":50,"menu":"style"}},"uma":{"xStretch":{"pct":15,"min":0,"max":50,"menu":"fit"},"yStretch":{"pct":15,"min":0,"max":50,"menu":"fit"},"gussetWidth":{"pct":15,"min":5,"max":24,"menu":"fit"},"gussetLength":{"pct":12.7,"min":10,"max":16,"menu":"fit"},"gussetPosition":{"pct":70,"min":5,"max":95,"menu":"fit"},"bulge":{"deg":0,"min":0,"max":30,"menu":"fit"},"rise":{"pct":46,"min":30,"max":100,"menu":"style"},"legRise":{"pct":54,"min":5,"max":95,"menu":"style"},"frontDip":{"pct":5,"min":-5,"max":15,"menu":"style"},"frontExposure":{"pct":70,"min":5,"max":100,"menu":"style"},"backDip":{"pct":2.5,"min":-5,"max":15,"menu":"style"},"backExposure":{"pct":30,"min":25,"max":125,"menu":"style"}},"wahid":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":4.8,"bicepsEase":{"pct":15,"min":0,"max":50,"menu":false},"chestEase":{"pct":2,"min":1,"max":10,"menu":"fit"},"collarEase":{"pct":5,"min":0,"max":10,"menu":false},"cuffEase":{"pct":20,"min":0,"max":200,"menu":false},"draftForHighBust":{"bool":false},"shoulderEase":{"pct":0,"min":-2,"max":6,"menu":false},"lengthBonus":{"pct":1,"min":0,"max":8,"menu":"fit"},"s3Collar":{"pct":0,"min":-100,"max":100,"menu":false},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":false},"acrossBackFactor":0.97,"armholeDepth":{"pct":2,"min":-10,"max":50},"armholeDepthFactor":{"pct":70,"min":60,"max":80,"menu":"fit"},"backNeckCutout":{"pct":5,"min":-2,"max":8,"menu":false},"frontArmholeDeeper":0.005,"shoulderSlopeReduction":{"pct":0,"min":0,"max":80,"menu":false},"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"frontOverlap":0.01,"necklineDrop":{"pct":50,"min":35,"max":85,"menu":"style"},"frontStyle":{"dflt":"classic","list":["classic","rounded"],"menu":"style"},"frontInset":{"pct":15,"min":10,"max":20,"menu":"advanced"},"shoulderInset":{"pct":10,"min":0,"max":20,"menu":"advanced"},"neckInset":{"pct":5,"min":0,"max":10,"menu":"advanced"},"hemStyle":{"dflt":"classic","list":["classic","rounded","square"],"menu":"style"},"hemRadius":{"pct":6,"min":2,"max":12,"menu":"style"},"pocketWidth":{"pct":10,"max":15,"min":8,"menu":"style"},"pocketAngle":{"deg":5,"min":0,"max":5,"menu":"advanced"},"pocketLocation":{"pct":35,"min":25,"max":55,"menu":"style"},"frontScyeDart":{"deg":6,"min":0,"max":12,"menu":"fit"},"buttons":{"count":6,"min":4,"max":12,"menu":"style"},"waistEase":{"pct":8,"min":2,"max":15,"menu":"fit"},"hipsEase":{"pct":8,"min":2,"max":15,"menu":"fit"},"backInset":{"pct":15,"min":10,"max":20,"menu":"advanced"},"centerBackDart":{"pct":2,"min":0,"max":5,"menu":"fit"},"backScyeDart":{"deg":2,"min":0,"max":6,"menu":"fit"},"weltHeight":{"pct":12.5,"max":20,"min":10,"menu":"style"}},"walburga":{"headRatio":{"pct":100,"min":80,"max":120,"menu":"fit"},"lengthBonus":{"pct":85,"min":60,"max":130,"menu":"style"},"widthBonus":{"pct":95,"min":50,"max":130,"menu":"style"},"length":{"list":["toKnee","toMidLeg","toFloor"],"dflt":"toKnee","menu":"style"},"neckline":{"bool":true,"menu":"style"},"neckoRatio":{"pct":100,"min":10,"max":190,"menu":"style"}},"waralee":{"backPocket":{"bool":true,"menu":"style"},"backPocketDepth":140,"backPocketHorizontalOffset":0.045,"backPocketSize":0.45,"backPocketVerticalOffset":0.2,"backRaise":{"pct":10,"min":0,"max":25,"menu":"fit"},"backWaistAdjustment":0.3,"crotchBack":{"pct":45,"min":10,"max":70,"menu":"advanced"},"crotchEase":1.08,"crotchFactorBackHor":{"pct":90,"min":10,"max":100,"menu":"advanced"},"crotchFactorBackVer":{"pct":60,"min":20,"max":90,"menu":"advanced"},"crotchFactorFrontHor":{"pct":90,"min":10,"max":100,"menu":"advanced"},"crotchFactorFrontVer":{"pct":30,"min":10,"max":70,"menu":"advanced"},"crotchFront":{"pct":30,"min":10,"max":70,"menu":"advanced"},"fitWaist":{"bool":true,"menu":"fit"},"frontPocket":{"bool":true,"menu":"style"},"frontPocketDepthFactor":1.6,"frontPocketHorizontalOffset":0.18,"frontPocketSize":0.45,"frontPocketStyle":{"dflt":"welt","list":["welt","waistband"],"menu":"style"},"frontPocketVerticalOffset":0.07,"frontWaistAdjustment":0.163,"hemWidth":{"pct":1.75,"min":1,"max":2.5,"menu":"style"},"knotInFront":{"bool":true,"menu":"style"},"legShortening":{"pct":25,"min":-10,"max":50,"menu":"style"},"minimizer":4,"separateWaistband":{"bool":false,"menu":"style"},"showMini":{"bool":true,"menu":"options"},"waistOverlap":{"pct":50,"min":10,"max":100,"menu":"style"},"waistRaise":{"pct":0,"min":-20,"max":40,"menu":"fit"},"waistbandWidth":{"pct":3.5,"min":2,"max":5,"menu":"style"}},"yuri":{"brianFitSleeve":true,"brianFitCollar":true,"collarFactor":4.8,"bicepsEase":{"pct":15,"min":0,"max":50,"menu":"fit"},"chestEase":{"pct":15,"min":-4,"max":35,"menu":"fit"},"collarEase":{"pct":20,"min":10,"max":30,"menu":"fit"},"cuffEase":{"pct":30,"min":20,"max":60,"menu":"fit"},"draftForHighBust":{"bool":false},"shoulderEase":{"pct":0,"min":-2,"max":6,"menu":"fit"},"lengthBonus":{"pct":10,"min":5,"max":15,"menu":"fit"},"s3Collar":{"pct":0,"min":-100,"max":100,"menu":"style"},"s3Armhole":{"pct":0,"min":-100,"max":100,"menu":"style"},"acrossBackFactor":{"pct":98,"min":93,"max":100,"menu":"advanced"},"armholeDepth":{"pct":2,"min":-10,"max":50},"armholeDepthFactor":{"pct":55,"min":50,"max":70},"backNeckCutout":{"pct":5,"min":2,"max":8,"menu":"advanced"},"frontArmholeDeeper":{"pct":0.2,"min":0,"max":0.5,"menu":"advanced"},"shoulderSlopeReduction":{"pct":0,"min":0,"max":80,"menu":"advanced"},"legacyArmholeDepth":{"bool":false,"menu":"advanced"},"sleeveLengthBonus":{"pct":1,"min":0,"max":10,"menu":"fit"},"hipsEase":{"pct":0,"min":0,"max":10,"menu":"fit"},"sleevecapEase":{"pct":0,"min":0,"max":10,"menu":"advanced.sleevecap"},"sleevecapTopFactorX":{"pct":50,"min":25,"max":75,"menu":"advanced.sleevecap"},"sleevecapTopFactorY":{"pct":45,"min":35,"max":125,"menu":"advanced.sleevecap"},"sleevecapBackFactorX":{"pct":60,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapBackFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorX":{"pct":55,"min":35,"max":65,"menu":"advanced.sleevecap"},"sleevecapFrontFactorY":{"pct":33,"min":30,"max":65,"menu":"advanced.sleevecap"},"sleevecapQ1Offset":{"pct":1.7,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ2Offset":{"pct":3.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ3Offset":{"pct":2.5,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ4Offset":{"pct":1,"min":0,"max":7,"menu":"advanced.sleevecap"},"sleevecapQ1Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ1Spread2":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread1":{"pct":15,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ2Spread2":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread1":{"pct":10,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ3Spread2":{"pct":8,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread1":{"pct":7,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleevecapQ4Spread2":{"pct":6.3,"min":4,"max":20,"menu":"advanced.sleevecap"},"sleeveWidthGuarantee":{"pct":90,"min":25,"max":100,"menu":"advanced"}}} diff --git a/sites/shared/prebuild/data/designs.mjs b/sites/shared/prebuild/data/designs.mjs index 149d4947fd2..d5404afb324 100644 --- a/sites/shared/prebuild/data/designs.mjs +++ b/sites/shared/prebuild/data/designs.mjs @@ -1,54 +1,3 @@ // __SDEFILE__ - This file is a dependency for the stand-alone environment // This file is auto-generated by the prebuild script | Any changes will be overwritten -export const designs = [ - 'aaron', - 'albert', - 'bee', - 'bella', - 'benjamin', - 'bent', - 'bob', - 'breanna', - 'brian', - 'bruce', - 'carlita', - 'carlton', - 'cathrin', - 'charlie', - 'cornelius', - 'diana', - 'examples', - 'florence', - 'florent', - 'hi', - 'holmes', - 'hortensia', - 'huey', - 'hugo', - 'jaeger', - 'legend', - 'lucy', - 'lunetius', - 'magde', - 'noble', - 'octoplushy', - 'paco', - 'penelope', - 'plugintest', - 'rendertest', - 'sandy', - 'shin', - 'simon', - 'simone', - 'sven', - 'tamiko', - 'teagan', - 'tiberius', - 'titan', - 'trayvon', - 'uma', - 'wahid', - 'walburga', - 'waralee', - 'yuri', -] +export const designs = ["aaron","albert","bee","bella","benjamin","bent","bob","breanna","brian","bruce","carlita","carlton","cathrin","charlie","cornelius","diana","examples","florence","florent","hi","holmes","hortensia","huey","hugo","jaeger","legend","lucy","lunetius","magde","noble","octoplushy","paco","penelope","plugintest","rendertest","sandy","shin","simon","simone","sven","tamiko","teagan","tiberius","titan","trayvon","uma","wahid","walburga","waralee","yuri"]