diff --git a/.eslintignore b/.eslintignore
index 749ad3c82aa..7b19b25a413 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -20,3 +20,4 @@ node_modules
yarn.lock
package.json
*.html
+sites/orgdocs/src
diff --git a/.gitignore b/.gitignore
index a824a7b64c1..19ce42752cf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,6 +42,12 @@ packages/new-design/shared/.gitignore
packages/new-design/lib/banner.mjs
sites/*/public/img/og/*
+# Orgdocs prebuild artifacts
+sites/orgdocs/src/lib/designs.mjs
+sites/orgdocs/src/lib/designinfo.mjs
+sites/orgdocs/src/lib/i18n.mjs
+sites/orgdocs/docs/designs/*/options/readme.mdx
+
# Lab auto-generated content
sites/lab/lib
sites/lab/public/android-chrome-192x192.png
diff --git a/config/software/designs.json b/config/software/designs.json
index 44c8a13ef1e..147150bb620 100644
--- a/config/software/designs.json
+++ b/config/software/designs.json
@@ -586,27 +586,6 @@
],
"techniques": []
},
- "naomiwu": {
- "code": "Joost De Cock",
- "description": "A FreeSewing pattern for Naomi Wu's signature cargo skirt",
- "design": [
- "Naomi Wu",
- "Joost De Cock"
- ],
- "difficulty": 3,
- "lab": false,
- "org": false,
- "tags": [
- "bottoms",
- "skirts"
- ],
- "techniques": [
- "button",
- "hem",
- "pocket",
- "lining"
- ]
- },
"noble": {
"code": "Wouter Van Wageningen",
"description": "A FreeSewing pattern for a princess seam bodice block",
diff --git a/designs/naomiwu/CHANGELOG.md b/designs/naomiwu/CHANGELOG.md
deleted file mode 100644
index 7c07e899b99..00000000000
--- a/designs/naomiwu/CHANGELOG.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Change log for: @freesewing/naomiwu
-
-
-## 3.0.0 (2023-09-30)
-
-### Changed
-
- - All FreeSewing packages are now ESM only.
- - All FreeSewing packages now use named exports.
- - Dropped support for NodeJS 14. NodeJS 18 (LTS/hydrogen) or more recent is now required.
-
-
-This is the **initial release**, and the start of this change log.
-
-> Prior to version 2, FreeSewing was not a JavaScript project.
-> As such, that history is out of scope for this change log.
-
diff --git a/designs/naomiwu/README.md b/designs/naomiwu/README.md
deleted file mode 100644
index adad61eed87..00000000000
--- a/designs/naomiwu/README.md
+++ /dev/null
@@ -1,162 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-# @freesewing/naomiwu
-
-A FreeSewing pattern for Naomi Wu's signature cargo skirt
-
-
-
-# FreeSewing
-
-> [!TIP]
->#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
->
-> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
->
-> If you feel FreeSewing is worthwhile, and you can spend a few coins without
-hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
-
-## What am I looking at? 🤔
-
-This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages.
-
-This folder holds: @freesewing/naomiwu
-
-If you're not entirely sure what to do or how to start, type this command:
-
-```
-npm run tips
-```
-
-> [!NOTE]
-> If you don't want to set up a dev environment, you can run it in your browser:
->
-> [](https://gitpod.io/#https://github.com/freesewing/freesewing)
->
-> We recommend that you fork our repository and then
-> put `gitpod.io/# to start up a browser-based dev environment of your own.
-
-## About FreeSewing 💀
-
-Where the world of makers and developers collide, that's where you'll find FreeSewing.
-
-If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate
-sewing patterns adapted to your measurements.
-
-If you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/).
-The FreeSewing [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
-for parametric design of sewing patterns. But FreeSewing also provides a range
-of [plugins](https://freesewing.dev/reference/plugins/) that further extend the
-functionality of the platform.
-
-If you have NodeJS installed, you can try it right now by running:
-
-```bash
-npx @freesewing/new-design
-```
-
-Getting started guides are available for:
-- [Linux](https://freesewing.dev/tutorials/getting-started-linux/)
-- [MacOS](https://freesewing.dev/tutorials/getting-started-mac/)
-- [Windows](https://freesewing.dev/tutorials/getting-started-windows/)
-
-The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
-show you how to create your first parametric design.
-
-## Getting started ⚡
-
-To get started with FreeSewing, you can spin up our development environment with:
-
-```bash
-npx @freesewing/new-design
-```
-
-To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
-Once you have those, clone (or fork) this repo and run `yarn kickstart`:
-
-```bash
-git clone git@github.com:freesewing/freesewing.git
-cd freesewing
-yarn kickstart
-```
-
-## Links 👩💻
-
-**Official channels**
-
- - 💻 Makers website: [FreeSewing.org](https://freesewing.org)
- - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev)
- - ✅ [Support](https://github.com/freesewing/freesewing/issues/new/choose),
- [Issues](https://github.com/freesewing/freesewing/issues) &
- [Discussions](https://github.com/freesewing/freesewing/discussions) on
- [GitHub](https://github.com/freesewing/freesewing)
-
-**Social media**
-
- - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
- - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
-
-**Places the FreeSewing community hangs out**
-
- - 💬 [Discord](https://discord.freesewing.org/)
- - 💬 [Facebook](https://www.facebook.com/groups/627769821272714/)
- - 💬 [Reddit](https://www.reddit.com/r/freesewing/)
-
-## License: MIT 🤓
-
-© [Joost De Cock](https://github.com/joostdecock).
-See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details.
-
-## Where to get help 🤯
-
-For [Support](https://github.com/freesewing/freesewing/issues/new/choose),
-please use the [Issues](https://github.com/freesewing/freesewing/issues) &
-[Discussions](https://github.com/freesewing/freesewing/discussions) on
-[GitHub](https://github.com/freesewing/freesewing).
-
diff --git a/designs/naomiwu/build.mjs b/designs/naomiwu/build.mjs
deleted file mode 100644
index 99ace216bc8..00000000000
--- a/designs/naomiwu/build.mjs
+++ /dev/null
@@ -1,35 +0,0 @@
-/* This script will build the package with esbuild */
-import esbuild from 'esbuild'
-import pkg from './package.json' assert { type: 'json' }
-
-// Create banner based on package info
-const banner = `/**
- * ${pkg.name} | v${pkg.version}
- * ${pkg.description}
- * (c) ${new Date().getFullYear()} ${pkg.author}
- * @license ${pkg.license}
- */`
-
-// Shared esbuild options
-const options = {
- banner: { js: banner },
- bundle: true,
- entryPoints: ['src/index.mjs'],
- format: 'esm',
- outfile: 'dist/index.mjs',
- external: ['@freesewing'],
- metafile: process.env.VERBOSE ? true : false,
- minify: process.env.NO_MINIFY ? false : true,
- sourcemap: true,
-}
-
-// Let esbuild generate the build
-const build = async () => {
- const result = await esbuild.build(options).catch(() => process.exit(1))
-
- if (process.env.VERBOSE) {
- const info = await esbuild.analyzeMetafile(result.metafile)
- console.log(info)
- }
-}
-build()
diff --git a/designs/naomiwu/data.mjs b/designs/naomiwu/data.mjs
deleted file mode 100644
index 1ea94edc35c..00000000000
--- a/designs/naomiwu/data.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is auto-generated | All changes you make will be overwritten.
-export const name = '@freesewing/naomiwu'
-export const version = '3.3.0-rc.1'
-export const data = { name, version }
diff --git a/designs/naomiwu/i18n/de.json b/designs/naomiwu/i18n/de.json
deleted file mode 100644
index 553e1803c5f..00000000000
--- a/designs/naomiwu/i18n/de.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "t": "Naomi Wu Cargo Skirt",
- "d": "This is Naomi's Wu's signature cargo skirt design.",
- "s": {},
- "o": {
- "backAttachmentDepth": {
- "t": "Back attachment depth",
- "d": "Controls the depth of the back attachment."
- },
- "backAttachmentFlapChamferSize": {
- "t": "Back attachment flap chamfer size",
- "d": "Controls the size of the chamfer on the back attachment flap."
- },
- "backAttachmentWidth": {
- "t": "Back attachment width",
- "d": "Controls the width of the front attachment."
- },
- "backPocketChamferSize": {
- "t": "Back pocket chamfer size",
- "d": "Controls the size of the chamfer on the back pocket."
- },
- "backPocketDepth": {
- "t": "Back pocket depth",
- "d": "Controls the depth of the back pockets."
- },
- "beltloopWidth": {
- "t": "Beltloop width",
- "d": "Controls the width of the beltloops."
- },
- "dartLength": {
- "t": "Dart length",
- "d": "Controls the length of the darts at the back."
- },
- "dartWidth": {
- "t": "Dart width",
- "d": "Controls the width of the darts at the back."
- },
- "flyLength": {
- "t": "Fly lengt",
- "d": "Controls the length of the fly."
- },
- "flyWidth": {
- "t": "Fly width",
- "d": "Controls the width of the fly."
- },
- "frontAttachmentChamferSize": {
- "t": "Front attachment chamfer size",
- "d": "Controls the size of the chamfer on the front attachment."
- },
- "frontAttachmentWidth": {
- "t": "Front attachment width",
- "d": "Controls the width of the front attachment."
- },
- "frontHalf": {
- "t": "Front half",
- "d": "Controls the proportion of the skirt that will make up the front panel."
- },
- "frontPocketOpeningBend": {
- "t": "Front pocket opening bend",
- "d": "Controls the curvature of the front pocket opening."
- },
- "frontPocketOpeningDepth": {
- "t": "Front pocket opening depth",
- "d": "Controls the depth of the front pocket opening."
- },
- "frontPocketOpeningWidth": {
- "t": "Front pocket opening width",
- "d": "Controls the width of the front pocket opening."
- },
- "hipsEase": {
- "t": "Hips ease",
- "d": "Controls the amount of ease at your hips."
- },
- "jseamBend": {
- "t": "J-Seam bend",
- "d": "Controls the curvature of the J-Seam, that J-shaped seam at the fly."
- },
- "length": {
- "t": "Length",
- "d": "Controls the length of the skirt."
- },
- "minDartWidth": {
- "t": "Minimal dart width",
- "d": "Controls the minimal width below which darts will be ommitted in favor of shaping at the seams."
- },
- "seatEase": {
- "t": "Seat ease",
- "d": "Controls the amount of ease at your seat."
- },
- "waistbandOverlap": {
- "t": "Waistband overlap",
- "d": "Controls how much the waistband overlaps at the front closure."
- },
- "waistbandWidth": {
- "t": "Waistband width",
- "d": "Controls the width of the waistband."
- },
- "waistSlant": {
- "t": "Waist slant",
- "d": "Controls the slant of the waistband, how much the back is raised higher than the front."
- }
- },
- "p": {}
-}
diff --git a/designs/naomiwu/i18n/en.json b/designs/naomiwu/i18n/en.json
deleted file mode 100644
index e14012a58b4..00000000000
--- a/designs/naomiwu/i18n/en.json
+++ /dev/null
@@ -1,137 +0,0 @@
-{
- "t": "Naomi Wu Cargo Skirt",
- "d": "This is Naomi's Wu's signature cargo skirt design.",
- "p": {
- "backAttachmentBack": "Back Attachment Back",
- "backAttachmentFlap": "Back Attachment Flap",
- "backAttachmentFront": "Back Attachment Front",
- "backPocket": "Back Pocket",
- "backPocketFlap": "Back Pocket Flap",
- "back": "Back",
- "beltLoop": "Belt Loop",
- "backBeltLoop": "Back Belt Loop",
- "flyShield": "Fly Shield",
- "frontAttachmentFacing": "Front Attachment Facing",
- "frontAttachment": "Front Attachment",
- "frontBase": "Front Base",
- "frontFlySide": "Front fly side",
- "frontNoFlySide": "Front no-fly side",
- "frontNoFlySideLeft": "Front no-fly side (left)",
- "frontNoFlySideRight": "Front no-fly side (right)",
- "frontFlySideLeft": "Front fly side (left)",
- "frontFlySideRight": "Front fly side (right)",
- "frontPocketBag": "Front Pocket Bag",
- "frontPocketFacing": "Front Pocket Facing",
- "shared": "Shared Code",
- "waistband": "Waistband"
- },
- "s": {
- "backAttachmentTooWide": "The **Back attachement** is currently wider than the space between the belt loops.\n\nYou can decrease the width until it fits, or you can leave it as-is but then you will need to modify the beltloop spacing yourself.",
- "cutBackAttachmentBack.t": "The back attachement back is not shown",
- "cutBackAttachmentBack.d": "The **Back attachement back** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long (this includes seam allowance). This part is not shown because the **expand** core setting is currently disabled. Enable it to show this pattern part.",
- "cutBeltLoop.t": "The belt loop is not shown",
- "cutBeltLoop.d": "The **Belt loop** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long (this includes seam allowance). You need 6 of them. This part is not shown because the **expand** core setting is currently disabled. Enable it to show this pattern part.",
- "cutBackBeltLoop.t": "The back belt loop is not shown",
- "cutBackBeltLoop.d": "The **Back belt loop** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long (this includes seam allowance). This part is not shown because the **expand** core setting is currently disabled. Enable it to show this pattern part.",
- "cutFlyShield.t": "The fly shield is not shown",
- "cutFlyShield.d": "The **Fly shield** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long (this includes seam allowance). This part is not shown because the **expand** core setting is currently disabled. Enable it to show this pattern part."
- },
- "o": {
- "backAttachmentDepth": {
- "t": "Back attachment depth",
- "d": "Controls the depth of the back attachment."
- },
- "backAttachmentFlapChamferSize": {
- "t": "Back attachment flap chamfer size",
- "d": "Controls the size of the chamfer on the back attachment flap."
- },
- "backAttachmentWidth": {
- "t": "Back attachment width",
- "d": "Controls the width of the front attachment."
- },
- "backPocketChamferSize": {
- "t": "Back pocket chamfer size",
- "d": "Controls the size of the chamfer on the back pocket."
- },
- "backPocketDepth": {
- "t": "Back pocket depth",
- "d": "Controls the depth of the back pockets."
- },
- "beltLoopWidth": {
- "t": "Belt loop width",
- "d": "Controls the width of the belt loops."
- },
- "dartLength": {
- "t": "Back dart length",
- "d": "Controls the length of the darts at the back."
- },
- "dartWidth": {
- "t": "Back dart width",
- "d": "Controls the width of the darts at the back."
- },
- "flyLength": {
- "t": "Fly lengt",
- "d": "Controls the length of the fly."
- },
- "flyWidth": {
- "t": "Fly width",
- "d": "Controls the width of the fly."
- },
- "frontAttachmentChamferSize": {
- "t": "Front attachment chamfer size",
- "d": "Controls the size of the chamfer on the front attachment."
- },
- "frontAttachmentWidth": {
- "t": "Front attachment width",
- "d": "Controls the width of the front attachment."
- },
- "frontHalf": {
- "t": "Front half proportion",
- "d": "Controls the proportion of the skirt that will make up the front panel."
- },
- "frontPocketOpeningBend": {
- "t": "Front pocket opening bend",
- "d": "Controls the curvature of the front pocket opening."
- },
- "frontPocketOpeningDepth": {
- "t": "Front pocket opening depth",
- "d": "Controls the depth of the front pocket opening."
- },
- "frontPocketOpeningWidth": {
- "t": "Front pocket opening width",
- "d": "Controls the width of the front pocket opening."
- },
- "hipsEase": {
- "t": "Hips ease",
- "d": "Controls the amount of ease at your hips."
- },
- "invertFly": {
- "t": "Invert the side of the fly",
- "d": "Allows you to control the side the fly is on, for convenience of gender-expression."
- },
- "jseamBend": {
- "t": "J-Seam bend",
- "d": "Controls the curvature of the J-Seam, that J-shaped seam at the fly."
- },
- "length": {
- "t": "Length",
- "d": "Controls the length of the skirt."
- },
- "minDartWidth": {
- "t": "Minimal dart width",
- "d": "Controls the minimal width below which darts will be ommitted in favor of shaping at the seams."
- },
- "seatEase": {
- "t": "Seat ease",
- "d": "Controls the amount of ease at your seat."
- },
- "waistbandWidth": {
- "t": "Waistband width",
- "d": "Controls the width of the waistband."
- },
- "waistSlant": {
- "t": "Waist slant",
- "d": "Controls the slant of the waistband, how much the back is raised higher than the front."
- }
- }
-}
diff --git a/designs/naomiwu/i18n/es.json b/designs/naomiwu/i18n/es.json
deleted file mode 100644
index 553e1803c5f..00000000000
--- a/designs/naomiwu/i18n/es.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "t": "Naomi Wu Cargo Skirt",
- "d": "This is Naomi's Wu's signature cargo skirt design.",
- "s": {},
- "o": {
- "backAttachmentDepth": {
- "t": "Back attachment depth",
- "d": "Controls the depth of the back attachment."
- },
- "backAttachmentFlapChamferSize": {
- "t": "Back attachment flap chamfer size",
- "d": "Controls the size of the chamfer on the back attachment flap."
- },
- "backAttachmentWidth": {
- "t": "Back attachment width",
- "d": "Controls the width of the front attachment."
- },
- "backPocketChamferSize": {
- "t": "Back pocket chamfer size",
- "d": "Controls the size of the chamfer on the back pocket."
- },
- "backPocketDepth": {
- "t": "Back pocket depth",
- "d": "Controls the depth of the back pockets."
- },
- "beltloopWidth": {
- "t": "Beltloop width",
- "d": "Controls the width of the beltloops."
- },
- "dartLength": {
- "t": "Dart length",
- "d": "Controls the length of the darts at the back."
- },
- "dartWidth": {
- "t": "Dart width",
- "d": "Controls the width of the darts at the back."
- },
- "flyLength": {
- "t": "Fly lengt",
- "d": "Controls the length of the fly."
- },
- "flyWidth": {
- "t": "Fly width",
- "d": "Controls the width of the fly."
- },
- "frontAttachmentChamferSize": {
- "t": "Front attachment chamfer size",
- "d": "Controls the size of the chamfer on the front attachment."
- },
- "frontAttachmentWidth": {
- "t": "Front attachment width",
- "d": "Controls the width of the front attachment."
- },
- "frontHalf": {
- "t": "Front half",
- "d": "Controls the proportion of the skirt that will make up the front panel."
- },
- "frontPocketOpeningBend": {
- "t": "Front pocket opening bend",
- "d": "Controls the curvature of the front pocket opening."
- },
- "frontPocketOpeningDepth": {
- "t": "Front pocket opening depth",
- "d": "Controls the depth of the front pocket opening."
- },
- "frontPocketOpeningWidth": {
- "t": "Front pocket opening width",
- "d": "Controls the width of the front pocket opening."
- },
- "hipsEase": {
- "t": "Hips ease",
- "d": "Controls the amount of ease at your hips."
- },
- "jseamBend": {
- "t": "J-Seam bend",
- "d": "Controls the curvature of the J-Seam, that J-shaped seam at the fly."
- },
- "length": {
- "t": "Length",
- "d": "Controls the length of the skirt."
- },
- "minDartWidth": {
- "t": "Minimal dart width",
- "d": "Controls the minimal width below which darts will be ommitted in favor of shaping at the seams."
- },
- "seatEase": {
- "t": "Seat ease",
- "d": "Controls the amount of ease at your seat."
- },
- "waistbandOverlap": {
- "t": "Waistband overlap",
- "d": "Controls how much the waistband overlaps at the front closure."
- },
- "waistbandWidth": {
- "t": "Waistband width",
- "d": "Controls the width of the waistband."
- },
- "waistSlant": {
- "t": "Waist slant",
- "d": "Controls the slant of the waistband, how much the back is raised higher than the front."
- }
- },
- "p": {}
-}
diff --git a/designs/naomiwu/i18n/fr.json b/designs/naomiwu/i18n/fr.json
deleted file mode 100644
index 553e1803c5f..00000000000
--- a/designs/naomiwu/i18n/fr.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "t": "Naomi Wu Cargo Skirt",
- "d": "This is Naomi's Wu's signature cargo skirt design.",
- "s": {},
- "o": {
- "backAttachmentDepth": {
- "t": "Back attachment depth",
- "d": "Controls the depth of the back attachment."
- },
- "backAttachmentFlapChamferSize": {
- "t": "Back attachment flap chamfer size",
- "d": "Controls the size of the chamfer on the back attachment flap."
- },
- "backAttachmentWidth": {
- "t": "Back attachment width",
- "d": "Controls the width of the front attachment."
- },
- "backPocketChamferSize": {
- "t": "Back pocket chamfer size",
- "d": "Controls the size of the chamfer on the back pocket."
- },
- "backPocketDepth": {
- "t": "Back pocket depth",
- "d": "Controls the depth of the back pockets."
- },
- "beltloopWidth": {
- "t": "Beltloop width",
- "d": "Controls the width of the beltloops."
- },
- "dartLength": {
- "t": "Dart length",
- "d": "Controls the length of the darts at the back."
- },
- "dartWidth": {
- "t": "Dart width",
- "d": "Controls the width of the darts at the back."
- },
- "flyLength": {
- "t": "Fly lengt",
- "d": "Controls the length of the fly."
- },
- "flyWidth": {
- "t": "Fly width",
- "d": "Controls the width of the fly."
- },
- "frontAttachmentChamferSize": {
- "t": "Front attachment chamfer size",
- "d": "Controls the size of the chamfer on the front attachment."
- },
- "frontAttachmentWidth": {
- "t": "Front attachment width",
- "d": "Controls the width of the front attachment."
- },
- "frontHalf": {
- "t": "Front half",
- "d": "Controls the proportion of the skirt that will make up the front panel."
- },
- "frontPocketOpeningBend": {
- "t": "Front pocket opening bend",
- "d": "Controls the curvature of the front pocket opening."
- },
- "frontPocketOpeningDepth": {
- "t": "Front pocket opening depth",
- "d": "Controls the depth of the front pocket opening."
- },
- "frontPocketOpeningWidth": {
- "t": "Front pocket opening width",
- "d": "Controls the width of the front pocket opening."
- },
- "hipsEase": {
- "t": "Hips ease",
- "d": "Controls the amount of ease at your hips."
- },
- "jseamBend": {
- "t": "J-Seam bend",
- "d": "Controls the curvature of the J-Seam, that J-shaped seam at the fly."
- },
- "length": {
- "t": "Length",
- "d": "Controls the length of the skirt."
- },
- "minDartWidth": {
- "t": "Minimal dart width",
- "d": "Controls the minimal width below which darts will be ommitted in favor of shaping at the seams."
- },
- "seatEase": {
- "t": "Seat ease",
- "d": "Controls the amount of ease at your seat."
- },
- "waistbandOverlap": {
- "t": "Waistband overlap",
- "d": "Controls how much the waistband overlaps at the front closure."
- },
- "waistbandWidth": {
- "t": "Waistband width",
- "d": "Controls the width of the waistband."
- },
- "waistSlant": {
- "t": "Waist slant",
- "d": "Controls the slant of the waistband, how much the back is raised higher than the front."
- }
- },
- "p": {}
-}
diff --git a/designs/naomiwu/i18n/index.mjs b/designs/naomiwu/i18n/index.mjs
deleted file mode 100644
index 3cb4ad5492b..00000000000
--- a/designs/naomiwu/i18n/index.mjs
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json' with { type: 'json' }
-import de from './de.json' with { type: 'json' }
-import es from './es.json' with { type: 'json' }
-import fr from './fr.json' with { type: 'json' }
-import nl from './nl.json' with { type: 'json' }
-import uk from './uk.json' with { type: 'json' }
-
-export const i18n = { en, de, es, fr, nl, uk }
diff --git a/designs/naomiwu/i18n/nl.json b/designs/naomiwu/i18n/nl.json
deleted file mode 100644
index 553e1803c5f..00000000000
--- a/designs/naomiwu/i18n/nl.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "t": "Naomi Wu Cargo Skirt",
- "d": "This is Naomi's Wu's signature cargo skirt design.",
- "s": {},
- "o": {
- "backAttachmentDepth": {
- "t": "Back attachment depth",
- "d": "Controls the depth of the back attachment."
- },
- "backAttachmentFlapChamferSize": {
- "t": "Back attachment flap chamfer size",
- "d": "Controls the size of the chamfer on the back attachment flap."
- },
- "backAttachmentWidth": {
- "t": "Back attachment width",
- "d": "Controls the width of the front attachment."
- },
- "backPocketChamferSize": {
- "t": "Back pocket chamfer size",
- "d": "Controls the size of the chamfer on the back pocket."
- },
- "backPocketDepth": {
- "t": "Back pocket depth",
- "d": "Controls the depth of the back pockets."
- },
- "beltloopWidth": {
- "t": "Beltloop width",
- "d": "Controls the width of the beltloops."
- },
- "dartLength": {
- "t": "Dart length",
- "d": "Controls the length of the darts at the back."
- },
- "dartWidth": {
- "t": "Dart width",
- "d": "Controls the width of the darts at the back."
- },
- "flyLength": {
- "t": "Fly lengt",
- "d": "Controls the length of the fly."
- },
- "flyWidth": {
- "t": "Fly width",
- "d": "Controls the width of the fly."
- },
- "frontAttachmentChamferSize": {
- "t": "Front attachment chamfer size",
- "d": "Controls the size of the chamfer on the front attachment."
- },
- "frontAttachmentWidth": {
- "t": "Front attachment width",
- "d": "Controls the width of the front attachment."
- },
- "frontHalf": {
- "t": "Front half",
- "d": "Controls the proportion of the skirt that will make up the front panel."
- },
- "frontPocketOpeningBend": {
- "t": "Front pocket opening bend",
- "d": "Controls the curvature of the front pocket opening."
- },
- "frontPocketOpeningDepth": {
- "t": "Front pocket opening depth",
- "d": "Controls the depth of the front pocket opening."
- },
- "frontPocketOpeningWidth": {
- "t": "Front pocket opening width",
- "d": "Controls the width of the front pocket opening."
- },
- "hipsEase": {
- "t": "Hips ease",
- "d": "Controls the amount of ease at your hips."
- },
- "jseamBend": {
- "t": "J-Seam bend",
- "d": "Controls the curvature of the J-Seam, that J-shaped seam at the fly."
- },
- "length": {
- "t": "Length",
- "d": "Controls the length of the skirt."
- },
- "minDartWidth": {
- "t": "Minimal dart width",
- "d": "Controls the minimal width below which darts will be ommitted in favor of shaping at the seams."
- },
- "seatEase": {
- "t": "Seat ease",
- "d": "Controls the amount of ease at your seat."
- },
- "waistbandOverlap": {
- "t": "Waistband overlap",
- "d": "Controls how much the waistband overlaps at the front closure."
- },
- "waistbandWidth": {
- "t": "Waistband width",
- "d": "Controls the width of the waistband."
- },
- "waistSlant": {
- "t": "Waist slant",
- "d": "Controls the slant of the waistband, how much the back is raised higher than the front."
- }
- },
- "p": {}
-}
diff --git a/designs/naomiwu/i18n/uk.json b/designs/naomiwu/i18n/uk.json
deleted file mode 100644
index 553e1803c5f..00000000000
--- a/designs/naomiwu/i18n/uk.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "t": "Naomi Wu Cargo Skirt",
- "d": "This is Naomi's Wu's signature cargo skirt design.",
- "s": {},
- "o": {
- "backAttachmentDepth": {
- "t": "Back attachment depth",
- "d": "Controls the depth of the back attachment."
- },
- "backAttachmentFlapChamferSize": {
- "t": "Back attachment flap chamfer size",
- "d": "Controls the size of the chamfer on the back attachment flap."
- },
- "backAttachmentWidth": {
- "t": "Back attachment width",
- "d": "Controls the width of the front attachment."
- },
- "backPocketChamferSize": {
- "t": "Back pocket chamfer size",
- "d": "Controls the size of the chamfer on the back pocket."
- },
- "backPocketDepth": {
- "t": "Back pocket depth",
- "d": "Controls the depth of the back pockets."
- },
- "beltloopWidth": {
- "t": "Beltloop width",
- "d": "Controls the width of the beltloops."
- },
- "dartLength": {
- "t": "Dart length",
- "d": "Controls the length of the darts at the back."
- },
- "dartWidth": {
- "t": "Dart width",
- "d": "Controls the width of the darts at the back."
- },
- "flyLength": {
- "t": "Fly lengt",
- "d": "Controls the length of the fly."
- },
- "flyWidth": {
- "t": "Fly width",
- "d": "Controls the width of the fly."
- },
- "frontAttachmentChamferSize": {
- "t": "Front attachment chamfer size",
- "d": "Controls the size of the chamfer on the front attachment."
- },
- "frontAttachmentWidth": {
- "t": "Front attachment width",
- "d": "Controls the width of the front attachment."
- },
- "frontHalf": {
- "t": "Front half",
- "d": "Controls the proportion of the skirt that will make up the front panel."
- },
- "frontPocketOpeningBend": {
- "t": "Front pocket opening bend",
- "d": "Controls the curvature of the front pocket opening."
- },
- "frontPocketOpeningDepth": {
- "t": "Front pocket opening depth",
- "d": "Controls the depth of the front pocket opening."
- },
- "frontPocketOpeningWidth": {
- "t": "Front pocket opening width",
- "d": "Controls the width of the front pocket opening."
- },
- "hipsEase": {
- "t": "Hips ease",
- "d": "Controls the amount of ease at your hips."
- },
- "jseamBend": {
- "t": "J-Seam bend",
- "d": "Controls the curvature of the J-Seam, that J-shaped seam at the fly."
- },
- "length": {
- "t": "Length",
- "d": "Controls the length of the skirt."
- },
- "minDartWidth": {
- "t": "Minimal dart width",
- "d": "Controls the minimal width below which darts will be ommitted in favor of shaping at the seams."
- },
- "seatEase": {
- "t": "Seat ease",
- "d": "Controls the amount of ease at your seat."
- },
- "waistbandOverlap": {
- "t": "Waistband overlap",
- "d": "Controls how much the waistband overlaps at the front closure."
- },
- "waistbandWidth": {
- "t": "Waistband width",
- "d": "Controls the width of the waistband."
- },
- "waistSlant": {
- "t": "Waist slant",
- "d": "Controls the slant of the waistband, how much the back is raised higher than the front."
- }
- },
- "p": {}
-}
diff --git a/designs/naomiwu/package.json b/designs/naomiwu/package.json
deleted file mode 100644
index 0a4e8fb00fb..00000000000
--- a/designs/naomiwu/package.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
- "name": "@freesewing/naomiwu",
- "version": "3.3.0-rc.1",
- "description": "A FreeSewing pattern for Naomi Wu's signature cargo skirt",
- "author": "Joost De Cock (https://github.com/joostdecock)",
- "homepage": "https://freesewing.org/",
- "repository": "github:freesewing/freesewing",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/freesewing/freesewing/issues"
- },
- "funding": {
- "type": "individual",
- "url": "https://freesewing.org/patrons/join"
- },
- "keywords": [
- "freesewing",
- "design",
- "diy",
- "fashion",
- "made to measure",
- "parametric design",
- "pattern",
- "sewing",
- "sewing pattern"
- ],
- "type": "module",
- "module": "dist/index.mjs",
- "exports": {
- ".": {
- "internal": "./src/index.mjs",
- "default": "./dist/index.mjs"
- }
- },
- "scripts": {
- "build": "node build.mjs",
- "build:all": "yarn build",
- "clean": "rimraf dist",
- "mbuild": "NO_MINIFY=1 node build.mjs",
- "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -",
- "test": "npx mocha tests/*.test.mjs",
- "vbuild": "VERBOSE=1 node build.mjs",
- "lab": "cd ../../sites/lab && yarn start",
- "tips": "node ../../scripts/help.mjs",
- "lint": "npx eslint 'src/**' 'tests/*.mjs'",
- "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
- "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
- "wbuild": "node build.mjs",
- "wbuild:all": "yarn wbuild"
- },
- "peerDependencies": {
- "@freesewing/core": "3.3.0-rc.1"
- },
- "dependencies": {},
- "devDependencies": {
- "mocha": "10.4.0",
- "chai": "5.1.1",
- "@freesewing/models": "3.3.0-rc.1",
- "@freesewing/plugin-timing": "3.3.0-rc.1"
- },
- "files": [
- "dist/*",
- "README.md"
- ],
- "publishConfig": {
- "access": "public",
- "tag": "next"
- },
- "engines": {
- "node": ">= 18.17.0 <22"
- }
-}
diff --git a/designs/naomiwu/src/back-attachment-back.mjs b/designs/naomiwu/src/back-attachment-back.mjs
deleted file mode 100644
index 25e52d82dc8..00000000000
--- a/designs/naomiwu/src/back-attachment-back.mjs
+++ /dev/null
@@ -1,162 +0,0 @@
-import { waistband } from './waistband.mjs'
-
-/*
- * This is the exported part object
- */
-export const backAttachmentBack = {
- name: 'naomiwu.backAttachmentBack', // The name in design::part format
- draft: draftBackAttachmentBack, // The method to call to draft this part
- after: waistband, // Ensure this is drafted after the (imported) waistband part
-}
-
-/*
- * This function drafts the back of the back attachment of the skirt
- */
-function draftBackAttachmentBack({
- Point,
- points,
- Path,
- paths,
- store,
- part,
- options,
- complete,
- sa,
- snippets,
- Snippet,
- macro,
- expand,
- units,
- absoluteOptions,
-}) {
- const width = absoluteOptions.backAttachmentWidth
- const height = width * options.backAttachmentDepth
-
- /*
- * Draw the back of the back attachment shape
- */
- points.topLeft = new Point(0, 0)
- points.topRight = new Point(width, 0)
- points.bottomLeft = new Point(0, height)
- points.bottomRight = new Point(width, height)
-
- /*
- * Add points to mark the edge of the attachment's front
- * Even if expand is off, we need these in other parts
- */
- points.frontLeft = points.topLeft.shiftFractionTowards(points.bottomLeft, 0.22)
- points.frontRight = new Point(points.topRight.x, points.frontLeft.y)
-
- /*
- * We allow the user to control the back attachment, but warn them when it's
- * too wide to fit between the belt loops, because that is inconvenient.
- */
- if (absoluteOptions.backAttachmentWidth > store.get('backAttachmentMaxWidth')) {
- store.flag.warn({
- msg: 'naomiwu:backAttachmentTooWide',
- replace: {
- delta: units(absoluteOptions.backAttachmentWidth - store.get('backAttachmentMaxWidth')),
- },
- suggest: {
- text: 'flag:decrease',
- icon: 'down',
- update: {
- settings: ['options.backAttachmentWidth', options.backAttachmentWidth * 0.9],
- },
- },
- })
- }
-
- if (expand) {
- store.flag.preset('expandIsOn')
- } else {
- // Expand is off, do not draw the part but flag this to the user
- store.flag.note({
- msg: `naomiwu:cutBackAttachmentBack`,
- replace: {
- width: units(width + 2 * sa),
- length: units(height + 2 * sa),
- },
- suggest: {
- text: 'flag:show',
- icon: 'expand',
- update: {
- settings: ['expand', 1],
- },
- },
- })
- // Also hint about expand
- store.flag.preset('expandIsOff')
-
- return part.hide()
- }
-
- /*
- * The seam line
- */
- paths.seam = new Path()
- .move(points.topLeft)
- .line(points.bottomLeft)
- .line(points.bottomRight)
- .line(points.topRight)
- .line(points.topLeft)
- .close()
- .addClass('fabric')
-
- /*
- * Add the front edge line
- */
- if (complete)
- paths.frontEdge = new Path()
- .move(points.frontLeft)
- .line(points.frontRight)
- .addClass('note stroke-sm dashed')
-
- /*
- * Only add SA when it's requested.
- * This also adds extra SA to fold under the edge.
- */
- if (sa) paths.sa = paths.seam.offset(sa).addClass('fabric sa')
-
- /*
- * Annotations
- */
- // Cutlist
- store.cutlist.setCut({ cut: 1, from: 'fabric' })
-
- /*
- * Add the title
- */
- points.title = points.frontLeft.shiftFractionTowards(points.bottomRight, 0.5)
- macro('title', {
- at: points.title,
- nr: 12,
- title: 'backAttachmentBack',
- align: 'center',
- scale: 0.666,
- })
-
- /*
- * Add the logo
- */
- points.logo = points.title.shift(90, 65)
- snippets.logo = new Snippet('logo', points.logo).scale(0.5)
-
- /*
- * Dimensions
- */
- macro('hd', {
- id: 'width',
- from: points.bottomLeft,
- to: points.bottomRight,
- y: points.bottomLeft.y + sa + 15,
- })
- macro('vd', {
- id: 'length',
- from: points.bottomRight,
- to: points.topRight,
- x: points.topRight.x + sa + 15,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/back-attachment-flap.mjs b/designs/naomiwu/src/back-attachment-flap.mjs
deleted file mode 100644
index e88777c2008..00000000000
--- a/designs/naomiwu/src/back-attachment-flap.mjs
+++ /dev/null
@@ -1,140 +0,0 @@
-import { backAttachmentFront } from './back-attachment-front.mjs'
-
-/*
- * This is the exported part object
- */
-export const backAttachmentFlap = {
- name: 'naomiwu.backAttachmentFlap', // The name in design::part format
- draft: draftBackAttachmentFlap, // The method to call to draft this part
- from: backAttachmentFront, // Draft this part starting from the (imported) `backAttachmentBack` part
-}
-
-/*
- * This function drafts the flap of the back attachment of the skirt
- */
-function draftBackAttachmentFlap({
- Point,
- points,
- Path,
- paths,
- store,
- part,
- options,
- complete,
- sa,
- snippets,
- Snippet,
- macro,
-}) {
- /*
- * Shorten the bottom
- */
- points.bottomLeft = new Point(
- points.topLeft.x,
- points.velcroBottomLeft.y + points.velcroBottomLeft.dx(points.velcroBottomRight)
- )
- points.bottomRight = new Point(points.topRight.x, points.bottomLeft.y)
-
- /*
- * Add chamfer
- */
- const size = points.frontRight.x * options.backAttachmentFlapChamferSize
- points.chamferLeftTop = points.bottomLeft.shift(90, size)
- points.chamferLeftBottom = points.bottomLeft.shift(0, size)
- points.chamferRightTop = points.bottomRight.shift(90, size)
- points.chamferRightBottom = points.bottomRight.shift(180, size)
-
- /*
- * Extend the velcro strip
- */
- points.velcroBottomLeft = new Point(points.velcroBottomLeft.x, points.bottomLeft.y * 0.92)
- points.velcroBottomRight = new Point(points.velcroBottomRight.x, points.velcroBottomLeft.y)
-
- /*
- * The seam line
- */
- paths.seam = new Path()
- .move(points.topLeft)
- .line(points.chamferLeftTop)
- .line(points.chamferLeftBottom)
- .line(points.chamferRightBottom)
- .line(points.chamferRightTop)
- .line(points.topRight)
- .line(points.topLeft)
- .close()
- .addClass('fabric')
-
- /*
- * Mark the velcro strip
- */
- if (complete) {
- paths.velcro = new Path()
- .move(points.velcroTopLeft)
- .line(points.velcroBottomLeft)
- .line(points.velcroBottomRight)
- .line(points.velcroTopRight)
- .line(points.velcroTopLeft)
- .close()
- .addClass('note stroke-sm dashed')
- macro('banner', {
- path: paths.velcro,
- text: 'velcro',
- classes: 'fill-note text-xs',
- spaces: 2,
- })
- }
-
- /*
- * Only add SA when it's requested.
- * This also adds extra SA to fold under the edge.
- */
- if (sa) paths.sa = paths.seam.offset(sa).close().addClass('fabric sa')
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 1, from: 'fabric' })
-
- /*
- * Add the title
- */
- points.title = points.topLeft.shift(-90, 25).shift(0, 10)
- macro('title', {
- at: points.title,
- nr: 14,
- title: 'backAttachmentFlap',
- scale: 0.5,
- })
-
- /*
- * Add the logo
- */
- points.logo = points.title.shift(-90, 30)
- snippets.logo = new Snippet('logo', points.logo).scale(0.333)
-
- /*
- * Dimensions
- */
- macro('hd', {
- id: 'width',
- from: points.bottomLeft,
- to: points.bottomRight,
- y: points.bottomLeft.y + sa + 15,
- })
- macro('vd', {
- id: 'length',
- from: points.bottomRight,
- to: points.topRight,
- x: points.topRight.x + sa + 15,
- })
- macro('hd', {
- id: 'chamferWidth',
- from: points.chamferRightBottom,
- to: points.chamferRightTop,
- y: points.chamferRightTop.y - 15,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/back-attachment-front.mjs b/designs/naomiwu/src/back-attachment-front.mjs
deleted file mode 100644
index 8bc053a2dcb..00000000000
--- a/designs/naomiwu/src/back-attachment-front.mjs
+++ /dev/null
@@ -1,121 +0,0 @@
-import { backAttachmentBack } from './back-attachment-back.mjs'
-
-/*
- * This is the exported part object
- */
-export const backAttachmentFront = {
- name: 'naomiwu.backAttachmentFront', // The name in design::part format
- draft: draftBackAttachmentFront, // The method to call to draft this part
- from: backAttachmentBack, // Draft this part starting from the (imported) `backAttachmentBack` part
-}
-
-/*
- * This function drafts the front of the back attachment of the skirt
- */
-function draftBackAttachmentFront({ points, Path, paths, store, part, complete, sa, macro }) {
- /*
- * Clear up what we don't need from the backAttachmentBack part
- */
- delete paths.frontEdge
-
- /*
- * Add points for the velcro strip
- */
- points.velcroTopLeft = points.frontLeft
- .shiftFractionTowards(points.frontRight, 0.4)
- .shift(-90, points.frontRight.x / 10)
- points.velcroTopRight = points.frontRight
- .shiftFractionTowards(points.frontLeft, 0.4)
- .shift(-90, points.frontRight.x / 10)
- points.velcroBottomLeft = points.velcroTopLeft.shift(-90, points.frontRight.x / 3)
- points.velcroBottomRight = points.velcroTopRight.shift(-90, points.frontRight.x / 3)
-
- /*
- * The seam line
- */
- paths.seam = new Path()
- .move(points.frontLeft)
- .line(points.bottomLeft)
- .line(points.bottomRight)
- .line(points.frontRight)
- .line(points.frontLeft)
- .close()
- .addClass('fabric')
-
- /*
- * Mark the velcro strip
- */
- if (complete) {
- paths.velcro = new Path()
- .move(points.velcroTopLeft)
- .line(points.velcroBottomLeft)
- .line(points.velcroBottomRight)
- .line(points.velcroTopRight)
- .line(points.velcroTopLeft)
- .close()
- .addClass('note stroke-sm dashed')
- macro('banner', {
- path: paths.velcro,
- text: 'velcro',
- classes: 'fill-note text-xs',
- spaces: 2,
- })
- }
-
- /*
- * Only add SA when it's requested.
- * This also adds extra SA to fold under the edge.
- */
- if (sa)
- paths.sa = new Path()
- .move(points.frontLeft)
- .line(points.bottomLeft)
- .line(points.bottomRight)
- .line(points.frontRight)
- .offset(sa)
- .join(
- new Path()
- .move(points.frontRight)
- .line(points.frontLeft)
- .offset(3 * sa)
- )
- .close()
- .addClass('fabric sa')
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 1, from: 'fabric' })
-
- /*
- * Add the title
- */
- points.title = points.frontLeft.shiftFractionTowards(points.bottomRight, 0.5)
- macro('title', {
- at: points.title,
- nr: 13,
- title: 'backAttachmentFront',
- align: 'center',
- scale: 0.666,
- })
-
- /*
- * Dimensions
- */
- macro('hd', {
- id: 'width',
- from: points.bottomLeft,
- to: points.bottomRight,
- y: points.bottomLeft.y + sa + 15,
- })
- macro('vd', {
- id: 'length',
- from: points.bottomRight,
- to: points.frontRight,
- x: points.topRight.x + sa + 15,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/back-belt-loop.mjs b/designs/naomiwu/src/back-belt-loop.mjs
deleted file mode 100644
index 6704967fcbe..00000000000
--- a/designs/naomiwu/src/back-belt-loop.mjs
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * This is the exported part object
- */
-export const backBeltLoop = {
- name: 'naomiwu.backBeltLoop', // The name in design::part format
- draft: draftBackBeltLoop, // The method to call to draft this part
-}
-
-/*
- * This function drafts the waistband of the skirt
- */
-function draftBackBeltLoop({
- Point,
- points,
- Path,
- paths,
- store,
- part,
- sa,
- expand,
- units,
- macro,
- absoluteOptions,
-}) {
- const w = absoluteOptions.beltLoopWidth * 4.5
- const h = absoluteOptions.waistbandWidth * 1.5
-
- if (expand) {
- store.flag.preset('expandIsOn')
- } else {
- // Expand is off, do not draw the part but flag this to the user
- store.flag.note({
- msg: `naomiwu:cutBackBeltLoop`,
- replace: {
- width: units(w + 4 * sa),
- length: units(h + 2 * sa),
- },
- suggest: {
- text: 'flag:show',
- icon: 'expand',
- update: {
- settings: ['expand', 1],
- },
- },
- })
- // Also hint about expand
- store.flag.preset('expandIsOff')
-
- return part.hide()
- }
-
- /*
- * It's a rectangle
- */
- points.topLeft = new Point(0, 0)
- points.topRight = new Point(w, 0)
- points.bottomLeft = new Point(0, h)
- points.bottomRight = new Point(w, h)
-
- /*
- * Seamline
- */
- paths.seam = new Path()
- .move(points.topLeft)
- .line(points.bottomLeft)
- .line(points.bottomRight)
- .line(points.topRight)
- .line(points.topLeft)
- .close()
- .addClass('fabric')
-
- /*
- * Only add SA when requested (note that this adds extra SA at the sides for hemming)
- */
- if (sa)
- paths.sa = new Path()
- .move(points.topLeft.shift(180, sa))
- .line(points.bottomLeft.shift(180, sa))
- .line(points.bottomRight.shift(0, sa))
- .line(points.topRight.shift(0, sa))
- .line(points.topLeft.shift(180, sa))
- .close()
- .offset(sa)
- .addClass('fabric sa')
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 6, from: 'fabric' })
-
- /*
- * Add the title
- */
- points.title = points.topLeft.shiftFractionTowards(points.bottomRight, 0.5)
- macro('title', {
- at: points.title,
- nr: 15,
- title: 'beltLoop',
- align: 'center',
- scale: 0.666,
- })
-
- /*
- * Add a grainline indicator
- */
- points.grainlineTop = points.topLeft.shift(0, 7)
- points.grainlineBottom = points.bottomLeft.shift(0, 7)
- macro('grainline', {
- from: points.grainlineBottom,
- to: points.grainlineTop,
- classes: {
- line: 'stroke-sm note',
- text: 'text-sm fill-note center',
- },
- })
-
- /*
- * Dimensions
- */
- macro('hd', {
- id: 'wFull',
- from: points.bottomLeft,
- to: points.bottomRight,
- y: points.bottomLeft.y + 15 + sa,
- })
- macro('vd', {
- id: 'hFull',
- from: points.bottomRight,
- to: points.topRight,
- x: points.topRight.x + 15 + 2 * sa,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/back-pocket-flap.mjs b/designs/naomiwu/src/back-pocket-flap.mjs
deleted file mode 100644
index 545a34848cb..00000000000
--- a/designs/naomiwu/src/back-pocket-flap.mjs
+++ /dev/null
@@ -1,93 +0,0 @@
-import { backPocket } from './back-pocket.mjs'
-
-/*
- * This is the exported part object
- */
-export const backPocketFlap = {
- name: 'naomiwu.backPocketFlap', // The name in design::part format
- draft: draftBackPocketFlap, // The method to call to draft this part
- from: backPocket, // Draft this part starting from the (imported) `backPocket` part
-}
-
-/*
- * This function drafts the back pocket flap of the skirt
- */
-function draftBackPocketFlap({ Point, points, paths, store, part, sa, snippets, Snippet, macro }) {
- /*
- * Clean up what we don't need from the backPocket part
- */
- delete paths.pocket
- macro('rmvd', 'height')
- macro('rmhd', 'width')
- macro('rmhd', 'wChamfer')
- macro('rmvd', 'hChamfer')
-
- /*
- * The seam line
- */
- paths.seam = paths.flap.clone().setClass('fabric')
- paths.flap.hide()
-
- /*
- * Only add SA when it's requested
- */
- if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 2, from: 'fabric' })
-
- /*
- * Add the title
- */
- points.title = points.pocketTopLeft.shiftFractionTowards(points.flapBottomLeft, 0.6).shift(0, 20)
- macro('title', {
- at: points.title,
- nr: 11,
- title: 'backPocketFlap',
- scale: 0.7,
- })
-
- /*
- * Add the logo
- */
- points.logo = points.title.shift(0, 70)
- snippets.logo = new Snippet('logo', points.logo).scale(0.5)
-
- /*
- * Add a grainline indicator
- */
- points.grainlineBottom = points.flapBottomLeft.shift(0, 10)
- points.grainlineTop = new Point(points.grainlineBottom.x, points.flapTopRight.y)
- macro('grainline', {
- from: points.grainlineBottom,
- to: points.grainlineTop,
- })
-
- /*
- * Dimensions
- */
- macro('vd', {
- id: 'leftHeight',
- from: points.flapBottomLeft,
- to: points.flapTopLeft,
- x: points.flapTopLeft.x - sa - 15,
- })
- macro('vd', {
- id: 'rightHeight',
- from: points.flapBottomRight,
- to: points.flapTopRight,
- x: points.flapTopRight.x + sa + 15,
- })
- macro('hd', {
- id: 'width',
- from: points.flapTopLeft,
- to: points.flapTopRight,
- y: points.flapTopRight.y - sa - 15,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/back-pocket.mjs b/designs/naomiwu/src/back-pocket.mjs
deleted file mode 100644
index 6238a429c85..00000000000
--- a/designs/naomiwu/src/back-pocket.mjs
+++ /dev/null
@@ -1,132 +0,0 @@
-import { back } from './back.mjs'
-
-/*
- * This is the exported part object
- */
-export const backPocket = {
- name: 'naomiwu.backPocket', // The name in design::part format
- draft: draftBackPocket, // The method to call to draft this part
- from: back, // Draft this part starting from the (imported) `back` part
-}
-
-/*
- * This function drafts the back pocket of the skirt
- */
-function draftBackPocket({
- Point,
- points,
- Path,
- paths,
- store,
- part,
- complete,
- sa,
- snippets,
- Snippet,
- macro,
-}) {
- /*
- * Clean up what we don't need from the back part
- */
- delete paths.cb
- delete paths.hem
- delete paths.hipLine
- delete paths.side
- delete paths.backSeam
- if (!complete) delete paths.flap
- delete snippets['dartLeft-bnotch']
- delete snippets['dartRight-bnotch']
- delete snippets['dartTip-bnotch']
- macro('rmad')
-
- /*
- * The seam line
- */
- paths.pocket.hide()
- paths.seam = paths.pocket.clone().setClass('fabric').unhide()
-
- /*
- * Only add SA when it's requested.
- * This also adds extra SA to fold under the edge.
- */
- if (sa)
- paths.sa = new Path()
- .move(points.pocketTopLeft)
- .line(points.chamferLeftTop)
- .line(points.chamferLeft)
- .line(points.chamferRight)
- .line(points.chamferRightTop)
- .line(points.pocketTopRight)
- .offset(sa)
- .join(
- new Path()
- .move(points.pocketTopRight)
- .line(points.pocketTopLeft)
- .offset(3 * sa)
- )
- .close()
- .attr('class', 'fabric sa')
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 2, from: 'fabric' })
-
- /*
- * Add the title
- */
- points.title = points.pocketTopLeft.shiftFractionTowards(points.chamferLeft, 0.5)
- macro('title', {
- at: points.title,
- nr: 10,
- title: 'backPocket',
- })
-
- /*
- * Add the logo
- */
- points.logo = points.title.shift(20, 80)
- snippets.logo = new Snippet('logo', points.logo).scale(0.5)
-
- /*
- * Add the grainline indicator
- */
- points.grainlineBottom = points.chamferRight.shiftFractionTowards(points.chamferLeft, 0.1)
- points.grainlineTop = new Point(points.grainlineBottom.x, points.pocketTopRight.y)
- macro('grainline', {
- from: points.grainlineBottom,
- to: points.grainlineTop,
- })
-
- /*
- * Dimensions
- */
- macro('hd', {
- id: 'wChamfer',
- from: points.chamferRight,
- to: points.chamferRightTop,
- y: points.chamferLeft.y + sa + 15,
- })
- macro('hd', {
- id: 'width',
- from: points.chamferLeftTop,
- to: points.chamferRightTop,
- y: points.chamferLeft.y + sa + 30,
- })
- macro('vd', {
- id: 'hChamfer',
- from: points.chamferRight,
- to: points.chamferRightTop,
- x: points.pocketTopRight.x + sa + 15,
- })
- macro('vd', {
- id: 'height',
- from: points.chamferRight,
- to: points.pocketTopRight,
- x: points.pocketTopRight.x + sa + 30,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/back.mjs b/designs/naomiwu/src/back.mjs
deleted file mode 100644
index f804b1b3803..00000000000
--- a/designs/naomiwu/src/back.mjs
+++ /dev/null
@@ -1,405 +0,0 @@
-import { shared } from './shared.mjs'
-
-/*
- * This is the exported part object
- */
-export const back = {
- name: 'naomiwu.back', // The name in design::part format
- draft: draftBack, // The method to call to draft this part
- after: shared, // Indicate the `shared` part (see import above) needs to be drafted prior to this part
-}
-
-/*
- * This function drafts the back panel of the skirt
- */
-function draftBack({
- Point,
- points,
- Path,
- paths,
- store,
- part,
- options,
- complete,
- sa,
- snippets,
- Snippet,
- macro,
- absoluteOptions,
-}) {
- /*
- * How much we need to reduce from seat to hips
- */
- const reduce = store.get('hipsQuarterReduction')
-
- /*
- * Do we need to add darts?
- * Shaping happens at both back panels, so everthing we take out is doubled.
- * In addition, shaping happens on both side seam and dart, so doubled again
- * So only if the total reduction is more than 4x the minimal dart width do we add darts
- */
- store.set(
- 'darts',
- store.get('hipsQuarterReduction') > 4 * absoluteOptions.minDartWidth ? true : false
- )
-
- /*
- * How much shaping should we add in the panel?
- */
- const shaping = store.get('darts') ? reduce - absoluteOptions.dartWidth * 2 : reduce
-
- /*
- * We start with drawing a simple skirt outline for the back panel
- */
- points.topLeft = new Point(shaping / 2, 0)
- points.topCp = new Point(store.get('backQuarterHips') / 2, 0)
- points.topRight = new Point(
- points.topLeft.x + store.get('backQuarterHips'),
- absoluteOptions.waistSlant
- )
- points.bottomLeft = new Point(0, points.topRight.y + absoluteOptions.length)
- points.bottomRight = new Point(store.get('backQuarterSeat'), points.bottomLeft.y)
-
- /*
- * To find the top of the dart is easy if the waistline is a straight line.
- * However, if the `waistSlant` option is non-zero, the waistline will be a curve.
- * So we need to follow that curve to find a point on it to use as the middle for the dart.
- * Store the hipline curve/line so we can re-use it later, but hide it from the output.
- */
- paths.hipLine =
- options.waistSlant > 0
- ? new Path().move(points.topRight)._curve(points.topCp, points.topLeft).hide()
- : new Path().move(points.topRight).line(points.topLeft).hide()
-
- /*
- * Store the waist length so we can accurately notch the waistband
- */
- store.set('backHipLength', paths.hipLine.length())
-
- /*
- * Add back darts, but only if they are not too narrow to sew
- */
- if (store.get('darts')) {
- /*
- * Find the middle of the hipline
- */
- points.dartTopMiddle = paths.hipLine.shiftFractionAlong(0.5)
- /*
- * Bottom of the dart is controlled by the dart length option which is a factor
- * of the distance between hipline and seatline.
- */
- points.dartTip = points.dartTopMiddle.shift(-90, absoluteOptions.dartLength)
- /*
- * Now open up the dart
- */
- const len = store.get('backHipLength')
- points.dartRight = paths.hipLine.shiftAlong(len / 2 - absoluteOptions.dartWidth)
- points.dartLeft = paths.hipLine.shiftAlong(len / 2 + absoluteOptions.dartWidth)
- /*
- * Finally, move the topRight point outwards to compensate for the draft shaping
- * If the hipLine is curved, this is not a 100% accurate match as we need to extende the
- * curve further than it goes. However, by going in a straight line from the dartRight
- * to the topRight point, we will follow the general direction of the curve and things will
- * smooth out
- */
- points.topRight = points.dartRight.shiftOutwards(points.topRight, absoluteOptions.dartWidth * 2)
- }
-
- /*
- * Draw the back pockets, or at least their outline
- * We only create the points here, we will only include this outline of the user requests a
- * complete pattern (see below)
- */
- points.waistCenter = points.topLeft.shiftFractionTowards(points.topRight, 0.5)
- points.hemCenter = new Point(points.waistCenter.x, points.bottomRight.y)
- points.pocketBottomRight = points.hemCenter.shiftFractionTowards(points.bottomRight, 0.75)
- points.pocketBottomLeft = points.hemCenter.shiftFractionTowards(points.bottomRight, -0.75)
- points.pocketTopRight = points.pocketBottomRight.shift(
- -90,
- points.pocketBottomRight.dy(points.topRight) * options.backPocketDepth
- )
- points.pocketTopLeft = new Point(points.pocketBottomLeft.x, points.pocketTopRight.y)
- points.chamferLeft = points.pocketBottomLeft.shiftFractionTowards(
- points.pocketBottomRight,
- options.backPocketChamferSize
- )
- points.chamferRight = points.pocketBottomRight.shiftFractionTowards(
- points.pocketBottomLeft,
- options.backPocketChamferSize
- )
- points.chamferLeftTop = points.chamferLeft.rotate(90, points.pocketBottomLeft)
- points.chamferRightTop = new Point(points.pocketBottomRight.x, points.chamferLeftTop.y)
-
- /*
- * Also draw the back pocket flap outline
- * We only create the points here, we will only include this outline of the user requests a
- * complete pattern (see below)
- */
- points.flapTopLeft = points.pocketTopRight.shiftFractionTowards(points.pocketTopLeft, 1.02)
- points.flapTopRight = points.pocketTopLeft.shiftFractionTowards(points.pocketTopRight, 1.02)
- points.flapBottomLeft = points.flapTopLeft.shift(
- -90,
- points.flapTopLeft.dy(points.pocketBottomLeft) / 3
- )
- points.flapBottomRight = points.flapTopRight.shift(
- -90,
- points.flapTopLeft.dy(points.pocketBottomLeft) / 4
- )
-
- /*
- * Draw the actual seamline
- */
- paths.seam = new Path()
- .move(points.topLeft)
- .line(points.bottomLeft)
- .line(points.bottomRight)
- .line(points.topRight)
- if (store.get('darts')) {
- paths.seam = paths.seam
- .join(paths.hipLine.split(points.dartRight).shift())
- .line(points.dartTip)
- .line(points.dartLeft)
- .join(paths.hipLine.split(points.dartLeft).pop())
- } else paths.seam._curve(points.topCp, points.topLeft)
-
- /*
- * Apply CSS classes and close the seamline path
- */
- paths.seam.addClass('fabric').close()
-
- /*
- * Draw the outline of the back pocket on the pattern in dashed line so that people
- * have a visual guide for where the pocket should go when constructing the skirt
- * (but only if the user wants a complete pattern)
- */
- paths.pocket = new Path()
- .move(points.pocketTopLeft)
- .line(points.chamferLeftTop)
- .line(points.chamferLeft)
- .line(points.chamferRight)
- .line(points.chamferRightTop)
- .line(points.pocketTopRight)
- .line(points.pocketTopLeft)
- .close()
- .addClass('note dashed stroke-sm')
- .hide()
-
- /*
- * Does the user want seam allowance (sa) included on the pattern?
- */
- if (sa) {
- /*
- * Our dart complicates matters, so we need a version without the dart as the SA base
- * We also need to make sure the hem allowance is different/bigger
- */
- paths.saBase = new Path()
- .move(points.topLeft)
- .line(points.bottomLeft)
- .line(points.bottomLeft.shift(-90, 2 * sa)) // extra hem SA
- .line(points.bottomRight.shift(-90, 2 * sa)) // extra hem SA
- .line(points.bottomRight)
- .line(points.topRight)
- .join(paths.hipLine)
- .close()
- .hide()
- paths.sa = paths.saBase.offset(sa).attr('class', 'fabric sa')
- }
-
- /*
- * Store the side seam length so we can match it in the front part
- */
- store.set('sideSeam', points.topRight.dist(points.bottomRight))
-
- /*
- * If the user wants a complete pattern, let's add some more guidance
- */
- if (complete) {
- /*
- * Show the pocket outline
- */
- paths.pocket.unhide()
-
- /*
- * Some thing with the pocket flap. Note that drawing both pocket and pocket flap
- * also helps people know which side is up, so to speak.
- */
- paths.flap = new Path()
- .move(points.flapTopRight)
- .line(points.flapTopLeft)
- .line(points.flapBottomLeft)
- .line(points.flapBottomRight)
- .line(points.flapTopRight)
- .close()
- .addClass('note dashed stroke-sm')
-
- /*
- * Add a note on the center back seam (CB) to clarify this is center back
- */
- paths.cb = new Path()
- .move(points.bottomLeft)
- .line(points.topLeft)
- .addText('centerBack', 'center fill-note text-sm')
- .attr('data-text-dy', 8)
- /*
- * Add a note on the side seam to clarify this is the side
- */
- paths.side = new Path()
- .move(points.bottomRight)
- .line(points.topRight)
- .addClass('hidden')
- .addText('sideSeam', 'center fill-note text-sm')
- .attr('data-text-dy', -1)
- /*
- * Add a note on the hem to clarify this is the hem
- */
- paths.hem = new Path()
- .move(points.bottomLeft)
- .line(points.bottomRight)
- .addClass('hidden')
- .addText('hem', 'center fill-note text-sm')
- .attr('data-text-dy', -1)
- /*
- * Add a note on the top seam to clarify this is where the waistband shoud be attached
- */
- points.topRight
- .addText('attachWaistband', 'fill-note right text-sm')
- .attr('data-text-dy', 8)
- .attr('data-text-dx', -8)
- points.topLeft
- .addText('attachWaistband', 'fill-note left text-sm')
- .attr('data-text-dy', 8)
- .attr('data-text-dx', 8)
- }
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 2, from: 'fabric' })
-
- /*
- * Add skully, the FreeSewing logo :)
- */
- points.logo = points.topLeft
- .shiftFractionTowards(points.bottomLeft, 0.3)
- .shift(0, points.topRight.x / 4)
- snippets.logo = new Snippet('logo', points.logo)
-
- /*
- * Add a title for this part
- */
- points.title = points.logo.shift(-90, 70)
- macro('title', {
- at: points.title,
- nr: 1,
- title: 'back',
- })
-
- /*
- * Add a grainline to indicate the fabric grain
- */
- points.grainlineTop = points.topRight.shift(225, 25)
- points.grainlineBottom = new Point(points.grainlineTop.x, points.bottomRight.y - 25)
- macro('grainline', {
- from: points.grainlineBottom,
- to: points.grainlineTop,
- })
-
- /*
- * Add (back) notches
- */
- const notches = ['pocketTopLeft', 'pocketTopRight']
- if (store.get('darts')) notches.push('dartLeft', 'dartRight', 'dartTip')
- macro('sprinkle', {
- snippet: 'bnotch',
- on: notches,
- })
-
- // Add dimensions
- if (points.topLeft.x > points.bottomLeft.x) {
- macro('hd', {
- id: 'bottomWidth',
- from: points.bottomLeft,
- to: points.bottomRight,
- y: points.bottomLeft.y + 3 * sa + 30,
- })
- macro('hd', {
- id: 'topLeftToBottomWidth',
- from: points.topLeft,
- to: points.bottomRight,
- y: points.bottomLeft.y + 3 * sa + 15,
- })
- macro('hd', {
- id: 'wCbWaistToSideWaist',
- from: points.topLeft,
- to: points.topRight,
- y: points.topLeft.y - sa - 15,
- })
- macro('hd', {
- id: 'topWidth',
- from: points.bottomLeft,
- to: points.topRight,
- y: points.topLeft.y - sa - 30,
- })
- } else {
- macro('hd', {
- id: 'bottomWidth',
- from: points.bottomLeft,
- to: points.bottomRight,
- y: points.bottomLeft.y + 3 * sa + 15,
- })
- macro('hd', {
- id: 'topLeftToBottomWidth',
- from: points.topLeft,
- to: points.bottomRight,
- y: points.bottomLeft.y + 3 * sa + 30,
- })
- macro('hd', {
- id: 'bottomLeftToTopWidth',
- from: points.bottomLeft,
- to: points.topRight,
- y: points.topLeft.y - sa - 15,
- })
- macro('hd', {
- id: 'topWidth',
- from: points.topLeft,
- to: points.topRight,
- y: points.topLeft.y - sa - 30,
- })
- }
- if (store.get('darts')) {
- macro('hd', {
- id: 'topLeftToDartWidth',
- from: points.topLeft,
- to: points.dartLeft,
- y: points.topLeft.y + 15,
- })
- macro('hd', {
- id: 'topRightToDartWidth',
- from: points.dartRight,
- to: points.topRight,
- y: points.topLeft.y + 15,
- })
- macro('hd', {
- id: 'dartWidth',
- from: points.dartLeft,
- to: points.dartRight,
- y: points.dartTip.y + 15,
- })
- macro('vd', {
- id: 'dartLength',
- from: points.dartTip,
- to: points.dartRight,
- x: points.dartRight.x + 15,
- })
- }
- macro('vd', {
- id: 'rightHeight',
- from: points.bottomRight,
- to: points.topRight,
- x: points.topRight.x + sa + 15,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/belt-loop.mjs b/designs/naomiwu/src/belt-loop.mjs
deleted file mode 100644
index f95ffd28191..00000000000
--- a/designs/naomiwu/src/belt-loop.mjs
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * This is the exported part object
- */
-export const beltLoop = {
- name: 'naomiwu.beltLoop', // The name in design::part format
- draft: draftBeltLoop, // The method to call to draft this part
-}
-
-/*
- * This function drafts the waistband of the skirt
- */
-function draftBeltLoop({
- Point,
- points,
- Path,
- paths,
- store,
- part,
- sa,
- expand,
- units,
- macro,
- absoluteOptions,
-}) {
- const w = absoluteOptions.beltLoopWidth
- const h = absoluteOptions.waistbandWidth * 1.5
-
- if (expand) {
- store.flag.preset('expandIsOn')
- } else {
- // Expand is off, do not draw the part but flag this to the user
- store.flag.note({
- msg: `naomiwu:cutBeltLoop`,
- replace: {
- width: units(w + 2 * sa),
- length: units(h + 2 * sa),
- },
- suggest: {
- text: 'flag:show',
- icon: 'expand',
- update: {
- settings: ['expand', 1],
- },
- },
- })
- // Also hint about expand
- store.flag.preset('expandIsOff')
-
- return part.hide()
- }
-
- /*
- * It's a rectangle
- */
- points.topLeft = new Point(0, 0)
- points.topRight = new Point(w, 0)
- points.bottomLeft = new Point(0, h)
- points.bottomRight = new Point(w, h)
-
- /*
- * Seamline
- */
- paths.seam = new Path()
- .move(points.topLeft)
- .line(points.bottomLeft)
- .line(points.bottomRight)
- .line(points.topRight)
- .line(points.topLeft)
- .close()
- .addClass('fabric')
-
- /*
- * Only add SA when requested
- */
- if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 6, from: 'fabric' })
-
- /*
- * Add the title
- */
- points.title = points.topLeft.shiftFractionTowards(points.bottomRight, 0.5)
- macro('title', {
- at: points.title,
- nr: 15,
- title: 'beltLoop',
- align: 'center',
- scale: 0.333,
- })
-
- /*
- * Add a grainline indicator
- */
- points.grainlineTop = points.topLeft.shift(0, 5)
- points.grainlineBottom = points.bottomLeft.shift(0, 5)
- macro('grainline', {
- from: points.grainlineBottom,
- to: points.grainlineTop,
- classes: {
- line: 'stroke-sm note',
- text: 'text-xs fill-note center',
- },
- })
-
- /*
- * Dimensions
- */
- macro('hd', {
- id: 'wFull',
- from: points.bottomLeft,
- to: points.bottomRight,
- y: points.bottomLeft.y + 15 + sa,
- })
- macro('vd', {
- id: 'hFull',
- from: points.bottomRight,
- to: points.topRight,
- x: points.topRight.x + 15 + sa,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/fly-shield.mjs b/designs/naomiwu/src/fly-shield.mjs
deleted file mode 100644
index 28183c52cfa..00000000000
--- a/designs/naomiwu/src/fly-shield.mjs
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * This is the exported part object
- */
-export const flyShield = {
- name: 'naomiwu.flyShield', // The name in the form of design::name
- draft: draftFlyShield, // The method to call for drafting this part
-}
-
-/*
- * This function drafts the fly shield.
- * Giving it a descriptive name is optional, but helps with debugging.
- */
-function draftFlyShield({
- Point,
- points,
- Path,
- paths,
- part,
- complete,
- store,
- units,
- sa,
- expand,
- macro,
- absoluteOptions,
-}) {
- /*
- * Save ourselves some typing by storing width and height
- */
- const w = absoluteOptions.flyWidth
- const h = absoluteOptions.flyLength * 1.05 // A bit longer than the fly so the seam will catch
-
- if (expand) {
- store.flag.preset('expandIsOn')
- } else {
- // Expand is off, do not draw the part but flag this to the user
- store.flag.note({
- msg: `naomiwu:cutFlyShield`,
- replace: {
- width: units(w + 2 * sa),
- length: units(h + 2 * sa),
- },
- suggest: {
- text: 'flag:show',
- icon: 'expand',
- update: {
- settings: ['expand', 1],
- },
- },
- })
- // Also hint about expand
- store.flag.preset('expandIsOff')
-
- return part.hide()
- }
-
- /*
- * Fly shield is a simple rectangle folder in half
- */
- points.topLeft = new Point(0, 0)
- points.topMid = new Point(w, 0)
- points.topRight = new Point(2 * w, 0)
- points.bottomLeft = new Point(0, h)
- points.bottomMid = new Point(w, h)
- points.bottomRight = new Point(2 * w, h)
-
- /*
- * The seam line
- */
- paths.seam = new Path()
- .move(points.topLeft)
- .line(points.bottomLeft)
- .line(points.bottomRight)
- .line(points.topRight)
- .line(points.topLeft)
- .close()
- .addClass('fabric')
-
- /*
- * Add seam allowance only when requested
- */
- if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
-
- /*
- * If the user wants a complete pattern, let's add some more guidance
- */
- if (complete) {
- /*
- * Indicate this needs to be folded in half
- */
- paths.fold = new Path().move(points.bottomMid).line(points.topMid).addClass('note help')
-
- /*
- * Print a message that it needs to be holded in half
- */
- macro('banner', {
- path: paths.fold,
- text: 'foldHere',
- className: 'text-sm fill-note',
- })
- }
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 1, from: 'fabric' })
-
- /*
- * Add a title
- */
- points.title = points.topMid.shiftFractionTowards(points.bottomMid, 0.5)
- macro('title', {
- at: points.title,
- nr: 4,
- title: 'flyShield',
- scale: 0.6,
- align: 'center',
- })
-
- /*
- * Add the grainline
- */
- points.grainlineTop = points.topLeft.shiftFractionTowards(points.topMid, 0.5)
- points.grainlineBottom = new Point(points.grainlineTop.x, points.bottomLeft.y)
- macro('grainline', {
- from: points.grainlineBottom,
- to: points.grainlineTop,
- })
-
- /*
- * Add dimensions
- */
- macro('hd', {
- id: 'wFull',
- from: points.bottomLeft,
- to: points.bottomRight,
- y: points.bottomLeft.y + sa + 15,
- })
- macro('vd', {
- id: 'hFull',
- from: points.bottomRight,
- to: points.topRight,
- x: points.bottomRight.x + sa + 15,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/front-attachment-facing.mjs b/designs/naomiwu/src/front-attachment-facing.mjs
deleted file mode 100644
index 7d98a40fd70..00000000000
--- a/designs/naomiwu/src/front-attachment-facing.mjs
+++ /dev/null
@@ -1,138 +0,0 @@
-import { frontAttachment } from './front-attachment.mjs'
-
-/*
- * This is the exported part object
- */
-export const frontAttachmentFacing = {
- name: 'naomiwu.frontAttachmentFacing', // The name in design::part format
- draft: draftFrontAttachmentFacing, // The method to call to draft this part
- from: frontAttachment, // Draft this part starting from the (imported) frontAttachment part
-}
-
-/*
- * This function drafts the front attachment facing of the skirt
- */
-function draftFrontAttachmentFacing({
- Point,
- points,
- Path,
- paths,
- part,
- store,
- options,
- sa,
- snippets,
- Snippet,
- macro,
-}) {
- /*
- * Adapt shape from the front attachment main shape
- */
- points.waistLeft = points.topRight.shiftFractionTowards(
- points.frontPocketStart,
- options.frontAttachmentWidth
- )
- points.waistRight = points.frontPocketStart.shiftFractionTowards(points.topRight, 0.95)
- points.startLeft = new Point(points.waistLeft.x, points.frontPocketCurveStart.y)
- points.startRight = new Point(points.waistRight.x, points.frontPocketCurveStart.y)
- points.edgeLeft = points.foldLeft.shiftFractionTowards(points.startLeft, -0.4)
- points.edgeRight = new Point(points.waistRight.x, points.edgeLeft.y)
-
- /*
- * The seam line
- */
- paths.seam = new Path()
- .move(points.startLeft)
- .line(points.edgeLeft)
- .line(points.edgeRight)
- .line(points.startRight)
- .line(points.startLeft)
- .close()
-
- /*
- * Only add SA when it's requested.
- * This also adds extra SA to fold under the edge.
- */
- if (sa)
- paths.sa = new Path()
- .move(points.startLeft)
- .line(points.edgeLeft)
- .line(points.edgeRight)
- .line(points.startRight)
- .offset(sa)
- .join(
- new Path()
- .move(points.startRight)
- .line(points.startLeft)
- .offset(3 * sa)
- )
- .close()
- .addClass('fabric sa')
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 1, from: 'fabric' })
-
- /*
- * Add the title
- */
- points.title = points.waistLeft
- .shiftFractionTowards(points.waistRight, 0.1)
- .shift(-90, points.foldRight.y / 1.5)
- macro('title', {
- at: points.title,
- nr: 9,
- title: 'frontAttachmentFacing',
- })
-
- /*
- * Add the logo
- */
- points.logo = points.title.shift(-70, 70)
- snippets.logo = new Snippet('logo', points.logo).scale(0.666)
-
- /*
- * Dimensions
- */
- macro('hd', {
- id: 'width',
- from: points.edgeLeft,
- to: points.edgeRight,
- y: points.edgeLeft.y + sa + 15,
- })
- macro('hd', {
- id: 'chamferWidth',
- from: points.foldLeft,
- to: points.chamferLeft,
- y: points.chamferLeftBottom.y + sa + 15,
- })
- macro('vd', {
- id: 'chamferHeight',
- from: points.chamferLeftBottom,
- to: points.chamferLeft,
- x: points.chamferLeft.x + 15,
- })
- macro('vd', {
- id: 'bottomLength',
- from: points.edgeRight,
- to: points.foldRight,
- x: points.edgeRight.x + sa + 15,
- })
- macro('vd', {
- id: 'topLength',
- from: points.foldRight,
- to: points.startRight,
- x: points.edgeRight.x + sa + 15,
- })
- macro('vd', {
- id: 'length',
- from: points.edgeRight,
- to: points.startRight,
- x: points.edgeRight.x + sa + 30,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/front-attachment.mjs b/designs/naomiwu/src/front-attachment.mjs
deleted file mode 100644
index f8dc9580f7f..00000000000
--- a/designs/naomiwu/src/front-attachment.mjs
+++ /dev/null
@@ -1,214 +0,0 @@
-import { frontBase } from './front-base.mjs'
-
-/*
- * This is the exported part object
- */
-export const frontAttachment = {
- name: 'naomiwu.frontAttachment', // The name in design::part format
- draft: draftFrontAttachment, // The method to call to draft this part
- from: frontBase, // Draft this part starting from the (imported) frontBase part
-}
-
-/*
- * This function drafts the front attachment of the skirt
- */
-function draftFrontAttachment({
- Point,
- points,
- Path,
- paths,
- store,
- part,
- options,
- complete,
- sa,
- snippets,
- Snippet,
- macro,
-}) {
- /*
- * Draw the front attachment shape, or at least the part that's not
- * made out of the main materials (aka the facing)
- */
- points.waistLeft = points.topRight.shiftFractionTowards(
- points.frontPocketStart,
- options.frontAttachmentWidth
- )
- points.waistRight = points.frontPocketStart.shiftFractionTowards(points.topRight, 0.95)
- points.foldLeft = new Point(points.waistLeft.x, points.trueBottomRight.y)
- points.foldRight = new Point(points.waistRight.x, points.foldLeft.y)
- points.edgeLeft = points.foldLeft.shift(-90, points.foldLeft.y - points.frontPocketSide.y / 2)
- points.edgeRight = new Point(points.waistRight.x, points.edgeLeft.y)
-
- /*
- * Indicate the chamfers and fold line
- */
- points.chamferLeft = points.foldLeft.shiftFractionTowards(
- points.foldRight,
- options.frontAttachmentChamferSize
- )
- points.chamferRight = points.foldRight.shiftFractionTowards(
- points.foldLeft,
- options.frontAttachmentChamferSize
- )
- points.chamferLeftTop = points.chamferLeft.rotate(90, points.foldLeft)
- points.chamferLeftBottom = points.chamferLeft.rotate(-90, points.foldLeft)
- points.chamferRightTop = new Point(points.foldRight.x, points.chamferLeftTop.y)
- points.chamferRightBottom = new Point(points.foldRight.x, points.chamferLeftBottom.y)
-
- /*
- * The seam line
- */
- paths.seam = new Path()
- .move(points.waistLeft)
- .line(points.edgeLeft)
- .line(points.edgeRight)
- .line(points.waistRight)
- .line(points.waistLeft)
- .close()
- .addClass('fabric')
-
- /*
- * Only add SA when it's requested.
- * This also adds extra SA to fold under the edge.
- */
- if (sa)
- paths.sa = new Path()
- .move(points.edgeRight)
- .line(points.waistRight)
- .line(points.waistLeft)
- .line(points.edgeLeft)
- .offset(sa)
- .join(
- new Path()
- .move(points.edgeLeft)
- .line(points.edgeRight)
- .offset(3 * sa)
- )
- .close()
- .attr('class', 'fabric sa')
-
- /*
- * If the user wants a complete pattern, let's add some more guidance
- */
- if (complete) {
- /*
- * Add the fold line
- */
- paths.fold = new Path().move(points.foldLeft).line(points.foldRight).addClass('help note')
-
- /*
- * Add the chamfers (the 45-degree slant at the corners of the fold)
- */
- paths.chamfer = new Path()
- .move(points.chamferLeftTop)
- .line(points.chamferLeft)
- .line(points.chamferLeftBottom)
- .move(points.chamferRightTop)
- .line(points.chamferRight)
- .line(points.chamferRightBottom)
- .addClass('note dashed stroke-sm')
- }
-
- /*
- * Clean up a bit
- */
- delete paths.corner
- delete paths.hem
- delete paths.side
- delete paths.frontWaist
- delete paths.pocketbag
- delete paths.pocketbagBoundary
- delete paths.pocketfacingBoundary
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 1, from: 'fabric' })
-
- /*
- * Add the title
- */
- points.title = points.foldLeft
- .shiftFractionTowards(points.foldRight, 0.2)
- .shift(90, points.foldLeft.y / 2)
- macro('title', {
- at: points.title,
- nr: 8,
- title: 'frontAttachment',
- })
-
- /*
- * Add the logo
- */
- points.logo = points.title.shift(-70, 70)
- snippets.logo = new Snippet('logo', points.logo)
-
- /*
- * Add a 'fold here' note
- */
- macro('banner', {
- path: paths.fold,
- text: 'foldHere',
- className: 'text-sm fill-note',
- })
-
- /*
- * Sprinkle some notches
- */
- macro('sprinkle', {
- snippet: 'notch',
- on: [
- 'chamferLeftTop',
- 'chamferLeftBottom',
- 'chamferLeft',
- 'chamferRightTop',
- 'chamferRightBottom',
- 'chamferRight',
- ],
- })
-
- /*
- * Dimensions
- */
- macro('hd', {
- id: 'width',
- from: points.edgeLeft,
- to: points.edgeRight,
- y: points.edgeLeft.y + 3 * sa + 15,
- })
- macro('hd', {
- id: 'chamferWidth',
- from: points.foldLeft,
- to: points.chamferLeft,
- y: points.chamferLeftBottom.y + sa + 15,
- })
- macro('vd', {
- id: 'chamferHeight',
- from: points.chamferLeftBottom,
- to: points.chamferLeft,
- x: points.chamferLeft.x + 15,
- })
- macro('vd', {
- id: 'bottomLength',
- from: points.edgeRight,
- to: points.foldRight,
- x: points.edgeRight.x + sa + 15,
- })
- macro('vd', {
- id: 'topLength',
- from: points.foldRight,
- to: points.waistRight,
- x: points.edgeRight.x + sa + 15,
- })
- macro('vd', {
- id: 'length',
- from: points.edgeRight,
- to: points.waistRight,
- x: points.edgeRight.x + sa + 30,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/front-base.mjs b/designs/naomiwu/src/front-base.mjs
deleted file mode 100644
index 8a3a3c5234c..00000000000
--- a/designs/naomiwu/src/front-base.mjs
+++ /dev/null
@@ -1,346 +0,0 @@
-import { back } from './back.mjs'
-
-/*
- * This is the exported part object
- */
-export const frontBase = {
- name: 'naomiwu.frontBase', // The name in design::part format
- draft: draftFrontBase, // The method to call to draft this part
- hide: { self: true }, // This part is hidden by default
- after: back, // Draw the (imported) back part prior to drafting this part
-}
-
-/*
- * A helper method to find a point on the (potentially curved) waistline for a
- * given X coordinate
- *
- * @param {x} number - The X-coordinate to find the intersection with the waist
- * for
- * @return {point} Point - A Point object that lies at the intersection of the
- * waist with x
- */
-export const xOnWaist = (x, part) => {
- const { options, utils, points, Point } = part.shorthand()
-
- return options.waistSlant
- ? utils.curveIntersectsX(points.topLeft, points.topCp, points.topRight, points.topRight, x)
- : new Point(x, points.topLeft.y)
-}
-
-/*
- * A helper method to draw the corner of the front where the pocket goes
- *
- * This is abstracted into a method because we need to draft two fronts that
- * are mirror images of one another. If we mirror them, the entire path will be
- * mirrored, including text and so on. So this method allows us to mirror
- * first, then call this method again to draw the non-mirrored path using the
- * mirrored points, which is what we want.
- *
- * @param {part} Part - The current part object
- *
- * @return {path} Path - The path object that was drawn
- */
-export const drawCornerPath = (part) => {
- const { Path, points, paths } = part.shorthand()
-
- return new Path()
- .move(points.frontPocketSide)
- .line(points.topRight)
- .join(paths.frontWaistSide)
- .addClass('note dashed stroke-sm')
-}
-
-/*
- * A helper method to draw the corner of the front where the pocket goes
- *
- * This is abstracted into a method because we need to draft two fronts that
- * are mirror images of one another. If we mirror them, the entire path will be
- * mirrored, including text and so on. So this method allows us to mirror
- * first, then call this method again to draw the non-mirrored path using the
- * mirrored points, which is what we want.
- *
- * @param {part} Part - The current part object
- *
- * @return {path} Path - The path object that was drawn
- */
-export const drawSeamLine = (part) => {
- const { Path, points, paths } = part.shorthand()
-
- return new Path()
- .move(points.topLeft)
- .line(points.bottomLeft)
- .line(points.trueBottomRight)
- .line(points.frontPocketSide)
- .line(points.frontPocketCurveStart)
- .curve(points.frontPocketCpSide, points.frontPocketCpTop, points.frontPocketStart)
- .join(paths.frontWaistCenter)
- .close()
- .addClass('fabric')
-}
-
-/*
- * A helper method to draw a note on the side seam
- *
- * This is abstracted into a method because we need to draft two fronts that
- * are mirror images of one another. If we mirror them, the entire path will be
- * mirrored, including text and so on. So this method allows us to mirror
- * first, then call this method again to draw the non-mirrored path using the
- * mirrored points, which is what we want.
- *
- * @param {part} Part - The current part object
- *
- * @return {path} Path - The path object that was drawn
- */
-export const drawSideNote = (part) => {
- const { Path, points } = part.shorthand()
-
- return new Path()
- .move(points.trueBottomRight)
- .line(points.topRight)
- .addClass('hidden')
- .addText('sideSeam', 'center fill-note text-sm')
- .attr('data-text-dy', -1)
-}
-
-/*
- * A helper method to draw a note on the hem seam
- *
- * This is abstracted into a method because we need to draft two fronts that
- * are mirror images of one another. If we mirror them, the entire path will be
- * mirrored, including text and so on. So this method allows us to mirror
- * first, then call this method again to draw the non-mirrored path using the
- * mirrored points, which is what we want.
- *
- * @param {part} Part - The current part object
- *
- * @return {path} Path - The path object that was drawn
- */
-export const drawHemNote = (part) => {
- const { Path, points } = part.shorthand()
-
- return new Path()
- .move(points.bottomLeft)
- .line(points.trueBottomRight)
- .addClass('hidden')
- .addText('hem', 'center fill-note text-sm')
- .attr('data-text-dy', -1)
-}
-
-/*
- * A helper method to draw a the pocket outline
- *
- * This is abstracted into a method because we need to draft two fronts that
- * are mirror images of one another. If we mirror them, the entire path will be
- * mirrored, including text and so on. So this method allows us to mirror
- * first, then call this method again to draw the non-mirrored path using the
- * mirrored points, which is what we want.
- *
- * @param {part} Part - The current part object
- * @param {reverse} bool - Indicates whether we are drawing the reversed version or not
- *
- * @return {path} Path - The path object that was drawn
- */
-export const drawPocketBag = (part, reverse) => {
- const { paths, Path, points } = part.shorthand()
-
- paths.pocketbag = new Path()
- .move(points.frontPocketBagStart)
- .line(points.frontPocketBagHem)
- .addClass('note dashed stroke-sm')
- paths.pocketfacingBoundary = new Path()
- .move(reverse ? points.frontPocketFacingSide : points.frontPocketFacingCenter)
- .line(reverse ? points.frontPocketFacingCenter : points.frontPocketFacingSide)
- .addClass('note dashed stroke-sm')
- .addText('pocketFacing', 'fill-note center text-sm')
- paths.pocketbagBoundary = new Path()
- .move(reverse ? points.frontPocketFacingSide : points.frontPocketFacingCenter)
- .line(reverse ? points.frontPocketFacingCenter : points.frontPocketFacingSide)
- .addClass('hidden')
- .addText('pocketBag', 'fill-note center text-sm')
- .attr('data-text-dy', 6)
-}
-
-/*
- * A helper method to split the front waist at the point the pocket cutout starts
- *
- * Does not return, but mutates the part object
- *
- * @param {part} Part - The current part object
- */
-export const splitFrontWaist = (part) => {
- const { paths, points, Path, options } = part.shorthand()
- // Handle the split of the waitline at the pocket openinig
- paths.frontWaist = new Path().move(points.topRight)
- if (options.waistSlant) paths.frontWaist.curve(points.topRight, points.topCp, points.topLeft)
- else paths.frontWaist.line(points.topLeft)
- paths.frontWaist.addClass('hidden')
-
- // Store both halves for re-use
- const halves = paths.frontWaist.split(part.points.frontPocketStart)
- paths.frontWaistSide = halves[0].hide()
- paths.frontWaistCenter = halves[1].hide()
-}
-
-/*
- * This function drafts the back panel of the skirt
- */
-function draftFrontBase({
- Point,
- points,
- Path,
- paths,
- store,
- part,
- options,
- complete,
- sa,
- snippets,
- Snippet,
- macro,
- absoluteOptions,
- utils,
-}) {
- /*
- * How much shaping should we add in the panel?
- */
- const shaping = store.get('hipsQuarterReduction')
-
- /*
- * Simple skirt outline for the front panel
- */
- points.topLeft = new Point(shaping / 2, 0)
- points.topCp = new Point(store.get('frontQuarterHips') / 2, 0)
- points.topRight = new Point(
- points.topLeft.x + store.get('frontQuarterHips'),
- absoluteOptions.waistSlant * -1
- )
- points.bottomLeft = new Point(0, points.topRight.y + absoluteOptions.length)
- points.bottomRight = new Point(store.get('frontQuarterSeat'), points.bottomLeft.y)
-
- /*
- * Store the waist length so we can accurately notch the waistband
- */
- store.set(
- 'frontHipLength',
- options.waistSlant
- ? new Path().move(points.topLeft).curve_(points.topCp, points.topRight).length()
- : points.topLeft.dx(points.topRight)
- )
-
- /*
- * True the side seam
- */
- points.trueBottomRight = points.topRight.shiftTowards(points.bottomRight, store.get('sideSeam'))
- points.trueBottomLeft = new Point(0, points.trueBottomRight.y)
-
- /*
- * Construct the fly J-seam - see paths.jseam
- */
- points.jseamTop = xOnWaist(points.topLeft.x + absoluteOptions.flyWidth, part)
- points.jseamBottom = points.topLeft.shiftTowards(points.bottomLeft, absoluteOptions.flyLength)
- points.jseamCorner = points.jseamBottom
- .shiftTowards(points.topLeft, absoluteOptions.flyWidth)
- .rotate(-90, points.jseamBottom)
- points.jseamCurveStart = points.jseamCorner.shiftTowards(
- points.jseamTop,
- absoluteOptions.flyWidth
- )
- points.jseamCpTop = points.jseamCorner.shiftFractionTowards(
- points.jseamCurveStart,
- 1 - options.jseamBend
- )
- points.jseamCpBottom = points.jseamCorner.shiftFractionTowards(
- points.jseamBottom,
- 1 - options.jseamBend
- )
-
- /*
- * Construct the fly extention (fe) - see paths.seam
- */
- macro('mirror', {
- clone: true,
- mirror: [points.jseamBottom, points.topLeft],
- points: [
- 'jseamTop',
- 'jseamBottom',
- 'jseamCorner',
- 'jseamCurveStart',
- 'jseamCpTop',
- 'jseamCpBottom',
- ],
- nameFormat: (name) => `${name}Fe`, //Fe = Fly extension
- })
-
- /*
- * Construct the front pocket cutout
- */
- points.frontPocketStart = xOnWaist(absoluteOptions.frontPocketOpeningWidth, part)
- points.frontPocketSide = utils.beamIntersectsY(
- points.topRight,
- points.trueBottomRight,
- absoluteOptions.frontPocketOpeningDepth
- )
- points.frontPocketCorner = new Point(points.frontPocketStart.x, points.frontPocketSide.y)
- points.frontPocketCurveStart = points.frontPocketStart.rotate(-90, points.frontPocketCorner)
- points.frontPocketCpTop = points.frontPocketCorner.shiftFractionTowards(
- points.frontPocketStart,
- 1 - options.frontPocketOpeningBend
- )
- points.frontPocketCpSide = points.frontPocketCorner.shiftFractionTowards(
- points.frontPocketCurveStart,
- 1 - options.frontPocketOpeningBend
- )
-
- /*
- * Front pocket bag/facing outline
- */
- points.frontPocketBagStart = points.frontPocketStart.shiftFractionTowards(points.jseamTop, 0.4)
- points.frontPocketBagHem = new Point(points.frontPocketBagStart.x, points.bottomRight.y)
- points.frontPocketFacingSide = points.frontPocketSide.shiftFractionTowards(points.topRight, -0.4)
- points.frontPocketFacingCenter = new Point(
- points.frontPocketBagStart.x,
- points.frontPocketFacingSide.y
- )
-
- /*
- * Paths
- */
- splitFrontWaist(part) // Handle the split of the waitline at the pocket openinig
- paths.seam = drawSeamLine(part) // Seamline
-
- // Complete?
- if (complete) {
- /*
- * Add the logo
- */
- points.logo = points.topLeft
- .shiftFractionTowards(points.bottomLeft, 0.3)
- .shift(0, points.topRight.x / 3)
- snippets.logo = new Snippet('logo', points.logo)
-
- /*
- * Add the title
- */
- points.title = points.logo.shift(-90, 70)
- macro('title', {
- at: points.title,
- nr: '0',
- title: 'frontBase',
- })
-
- /*
- * Add various helper paths
- */
- paths.corner = drawCornerPath(part) // Pocket corner
- drawPocketBag(part) // Pocket bag
- paths.side = drawSideNote(part) // Note on side seam
- paths.hem = drawHemNote(part) // Note on hem
-
- /*
- * Add seam allowance only if requested
- */
- if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
- }
-
- return part
-}
diff --git a/designs/naomiwu/src/front-fly-side.mjs b/designs/naomiwu/src/front-fly-side.mjs
deleted file mode 100644
index eab72858721..00000000000
--- a/designs/naomiwu/src/front-fly-side.mjs
+++ /dev/null
@@ -1,252 +0,0 @@
-import {
- frontBase,
- splitFrontWaist,
- drawCornerPath,
- drawSideNote,
- drawHemNote,
- drawPocketBag,
-} from './front-base.mjs'
-
-/*
- * This is the exported part object
- */
-export const frontFlySide = {
- name: 'naomiwu.frontFlySide', // Name in design::part format
- draft: draftFrontFlySide, // Method to call to draft this part
- from: frontBase, // Draft this part starting from (the imported) frontBase
-}
-
-/*
- * This function drafts the front panel of the skirt with the fly on it
- * Whether that ends up being the right or left panel depends on the
- * 'invertFly' option.
- * By default, this is the left panel, if the option is truthy, this becomes
- * the right panel.
- *
- * Basic outline was drafted in frontBase
- *
- * Note that Left/Right is always from the vantage point the wearer
- */
-function draftFrontFlySide({
- Point,
- points,
- Path,
- paths,
- store,
- part,
- options,
- complete,
- sa,
- paperless,
- snippets,
- Snippet,
- macro,
-}) {
- /*
- * If the user wants the fly side inverted, we should mirror the entire thing
- */
- if (options.invertFly) {
- for (const p in points) points[p] = points[p].flipX()
-
- /*
- * We need to re-split the waist after mirroring
- */
- splitFrontWaist(part)
- }
-
- /*
- * Store the J-Seam dimensions to construct the fly shield later
- */
- store.set('jseamWidth', points.jseamCorner.x)
- store.set('jseamHeight', points.jseamCorner.y)
-
- /*
- * The Seamline
- */
- paths.seam = new Path()
- .move(points.topLeft)
- .line(points.jseamTopFe)
- .line(points.jseamCurveStartFe)
- .curve(points.jseamCpTopFe, points.jseamCpBottomFe, points.jseamBottomFe)
- .line(points.bottomLeft)
- .line(points.trueBottomRight)
- .line(points.frontPocketSide)
- .line(points.frontPocketCurveStart)
- .curve(points.frontPocketCpSide, points.frontPocketCpTop, points.frontPocketStart)
- .join(paths.frontWaistCenter)
- .close()
- .addClass('fabric')
-
- /*
- * Seam allowance. Only if the user wants it.
- */
- if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
-
- /*
- * If the user wants a complete pattern, let's add some more guidance
- */
- if (complete) {
- /*
- * The J-Seam
- */
- paths.jseam = new Path()
- .move(points.jseamBottom)
- .curve(points.jseamCpBottom, points.jseamCpTop, points.jseamCurveStart)
- .line(points.jseamTop)
- .addClass('note dashed stroke-sm')
- .addText('jSeam', 'text-sm center fill-note')
-
- /*
- * The fly fold line
- */
- paths.flyFold = new Path()
- .move(points.jseamBottom)
- .line(points.topLeft)
- .addClass('note help stroke-sm')
-
- /*
- * Add a 'fold here' note along the fold line
- */
- macro('banner', {
- path: paths.flyFold,
- text: 'foldHere',
- className: 'text-sm fill-note',
- })
-
- /*
- * Add various helper paths
- */
- paths.corner = drawCornerPath(part) // Pocket corner
- drawPocketBag(part) // Pocket bag
- paths.side = drawSideNote(part) // Note on side seam
- paths.hem = drawHemNote(part) // Note on hem
- }
-
- /*
- * Annotations
- */
- // Cutlist
- store.cutlist.setCut({ cut: 1, from: 'fabric' })
-
- /*
- * Add a grainline indicator
- */
- points.grainlineTop = points.jseamTop.shiftFractionTowards(points.topLeft, 0.5)
- points.grainlineBottom = new Point(points.grainlineTop.x, points.bottomLeft.y)
- macro('grainline', {
- from: points.grainlineBottom,
- to: points.grainlineTop,
- })
-
- /*
- * Remove title from frontBase and add our own title
- */
- macro('rmtitle')
- macro('title', {
- at: points.title,
- nr: 2,
- title: options.invertFly ? 'frontFlySideRight' : 'frontFlySideLeft',
- })
-
- /*
- * Overwrite logo from frontBase to add our own logo in the place we want
- */
- points.logo = points.frontPocketCurveStart.shiftFractionTowards(points.bottomRight, 0.5)
- snippets.logo = new Snippet('logo', points.logo)
-
- /*
- * Add notches
- */
- macro('sprinkle', {
- snippet: 'notch',
- on: ['jseamTop', 'frontPocketBagStart', 'topLeft', 'jseamBottomFe'],
- })
-
- /*
- * Add dimentions for paperless only when needed
- */
- if (paperless) {
- macro('hd', {
- id: 'wFlyExtension',
- from: points.jseamTopFe,
- to: points.topLeft,
- y: points.jseamTopFe.y - sa - 15,
- })
- macro('hd', {
- id: 'wFly',
- from: points.topLeft,
- to: points.jseamTop,
- y: points.jseamTopFe.y - sa - 15,
- })
- macro('hd', {
- id: 'wCfrontToPocket',
- from: points.topLeft,
- to: points.frontPocketStart,
- y: points.jseamTopFe.y - sa - 30,
- })
- macro('hd', {
- id: 'wCfrontToFlyExtensionBottom',
- from: points.jseamCurveStartFe,
- to: points.topLeft,
- y: points.jseamTopFe.y - sa - 30,
- })
- macro('hd', {
- id: 'wCfrontToSideWaist',
- from: points.topLeft,
- to: points.topRight,
- y: points.jseamTopFe.y - sa - 45,
- })
- macro('hd', {
- id: 'wCfrontToSidePocket',
- from: points.topLeft,
- to: points.frontPocketSide,
- y: points.jseamTopFe.y - sa - 60,
- })
- macro('hd', {
- id: 'wCfrontToSieHem',
- from: points.topLeft,
- to: points.trueBottomRight,
- y: points.jseamTopFe.y - sa - 75,
- })
- macro('hd', {
- id: 'wCfBottomToSidePocket',
- from: points.bottomLeft,
- to: points.frontPocketSide,
- y: points.bottomLeft.y + sa + 15,
- })
- macro('hd', {
- id: 'wCfBottomToSideHem',
- from: points.bottomLeft,
- to: points.trueBottomRight,
- y: points.bottomLeft.y + sa + 30,
- })
- macro('hd', {
- id: 'wFull',
- from: points.jseamCurveStartFe,
- to: points.trueBottomRight,
- y: points.bottomLeft.y + sa + 45,
- })
- macro('vd', {
- id: 'hSideHemToPocket',
- from: points.trueBottomRight,
- to: points.frontPocketSide,
- x: points.trueBottomRight.x + sa + 15,
- })
- macro('vd', {
- id: 'hSideHemToWaist',
- from: points.trueBottomRight,
- to: points.frontPocketStart,
- x: points.trueBottomRight.x + sa + 30,
- })
- if (options.waistSlant) {
- macro('vd', {
- id: 'hFullWithSlant',
- from: points.trueBottomRight,
- to: points.topRight,
- x: points.trueBottomRight.x + sa + 45,
- })
- }
- }
-
- return part
-}
diff --git a/designs/naomiwu/src/front-nofly-side.mjs b/designs/naomiwu/src/front-nofly-side.mjs
deleted file mode 100644
index f5f1411d265..00000000000
--- a/designs/naomiwu/src/front-nofly-side.mjs
+++ /dev/null
@@ -1,201 +0,0 @@
-import {
- frontBase,
- splitFrontWaist,
- drawCornerPath,
- drawSeamLine,
- drawSideNote,
- drawHemNote,
- drawPocketBag,
-} from './front-base.mjs'
-
-/*
- * This is the exported part object
- */
-/*
- * This function drafts the front panel of the skirt without the fly on it
- * Whether that ends up being the right or left panel depends on the
- * 'invertFly' option.
- * By default, this is the right panel, if the option is truthy, this becomes
- * the right panel.
- *
- * Basic outline was drafted in frontBase
- *
- * Note that Left/Right is always from the vantage point the wearer
- */
-export const frontNoFlySide = {
- name: 'naomiwu.frontNoFlySide', // Name in design:part format
- draft: draftFrontNoFlySide, // Method to call to draft this part
- from: frontBase, // Draft this starting from (the imported) frontBase part
-}
-
-/*
- * This function drafts the right front panel of the skirt
- *
- * Basic outline was drafted in frontBase
- * Now we adapt it for the right panel
- *
- * Note that Left/Right is always from the vantage point the wearer
- */
-function draftFrontNoFlySide({
- Point,
- points,
- paths,
- store,
- part,
- options,
- complete,
- sa,
- snippets,
- Snippet,
- macro,
-}) {
- /*
- * Let's mirror the entire thing, unless the user wants the fly side inverted
- * In that case, we already have it the way it should be.
- */
- if (!options.invertFly) {
- for (const p in points) points[p] = points[p].flipX()
-
- /*
- * We need to re-split the waist after mirroring it and re-draw paths
- */
- splitFrontWaist(part)
- paths.corner = drawCornerPath(part) // Corner
- paths.seam = drawSeamLine(part) // Seamline
- }
-
- /*
- * Only add SA if it's requested
- */
- if (sa) paths.sa = paths.seam.offset(-1 * sa).attr('class', 'fabric sa')
-
- /*
- * If the user wants a complete pattern, let's add some more guidance
- */
- if (complete) {
- /*
- * Draw various helper paths
- */
- drawPocketBag(part, true) // Pocket bage
- paths.side = drawSideNote(part) // Helper note on the side seam
- paths.hem = drawHemNote(part).reverse(true) // Helper note on the hem
- }
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 1, from: 'fabric' })
-
- /*
- * Overwrite title from frontBase to add our own title
- */
- macro('rmtitle')
- macro('title', {
- at: points.title,
- nr: 3,
- title: options.invertFly ? 'frontNoFlySideLeft' : 'frontNoFlySideRight',
- })
-
- /*
- * Add the 1 notch that is on this part
- */
- snippets.notch = new Snippet('notch', points.frontPocketBagStart)
-
- /*
- * Add a grainline indicator
- */
- points.grainlineTop = points.topLeft.shiftFractionTowards(points.jseamTop, 0.5)
- points.grainlineBottom = new Point(points.grainlineTop.x, points.bottomLeft.y)
- macro('grainline', {
- from: points.grainlineBottom,
- to: points.grainlineTop,
- })
-
- /*
- * Overwrite logo from frontBase to add our own (or rather the same in our preferred location)
- */
- points.logo = points.topLeft.shiftFractionTowards(points.bottomRight, 0.5)
- snippets.logo = new Snippet('logo', points.logo)
-
- /*
- * Dimensions
- */
- macro('hd', {
- id: 'wAtHem',
- from: points.trueBottomRight,
- to: points.bottomLeft,
- y: points.bottomLeft.y + sa + 15,
- })
- macro('hd', {
- id: 'wPocketNotchToCfront',
- from: points.frontPocketBagStart,
- to: points.topLeft,
- y: points.frontPocketStart.y - sa - 15,
- })
- macro('hd', {
- id: 'wPocketCutoutToCfront',
- from: points.frontPocketStart,
- to: points.topLeft,
- y: points.frontPocketStart.y - sa - 30,
- })
- macro('hd', {
- id: 'wPocketCutout',
- from: points.frontPocketSide,
- to: points.frontPocketStart,
- y: points.frontPocketStart.y - sa - 15,
- })
- macro('hd', {
- id: 'wPocketCutoutToCfHem',
- from: points.frontPocketStart,
- to: points.trueBottomLeft,
- y: points.frontPocketStart.y - sa - 45,
- })
- macro('hd', {
- id: 'wSideHemToStartPocketCutout',
- from: points.trueBottomRight,
- to: points.frontPocketStart,
- y: points.frontPocketStart.y - sa - 30,
- })
- macro('vd', {
- id: 'hSideHemToPocketCutout',
- from: points.trueBottomRight,
- to: points.frontPocketSide,
- x: points.bottomRight.x - sa - 15,
- })
- macro('vd', {
- id: 'hHemBottomToPocketCutout',
- from: points.bottomLeft,
- to: points.frontPocketSide,
- x: points.bottomRight.x - sa - 30,
- })
- macro('vd', {
- id: 'hCfHemToPoketStart',
- from: points.bottomLeft,
- to: points.frontPocketStart,
- x: points.bottomRight.x - sa - 45,
- })
- macro('vd', {
- from: points.bottomLeft,
- id: 'hTopLeftBottomLeft',
- to: points.topLeft,
- x: points.bottomLeft.x + sa + 15,
- })
- if (options.waistSlant) {
- macro('vd', {
- id: 'hFullWithSlant',
- from: points.bottomLeft,
- to: points.topRight,
- x: points.bottomRight.x - sa - 60,
- })
- macro('vd', {
- id: 'hWithSlantCfront',
- from: points.bottomLeft,
- to: points.frontPocketStart,
- x: points.bottomLeft.x + sa + 30,
- })
- }
-
- return part
-}
diff --git a/designs/naomiwu/src/front-pocket-bag.mjs b/designs/naomiwu/src/front-pocket-bag.mjs
deleted file mode 100644
index 4787f2e18ab..00000000000
--- a/designs/naomiwu/src/front-pocket-bag.mjs
+++ /dev/null
@@ -1,111 +0,0 @@
-import { frontBase } from './front-base.mjs'
-
-/*
- * This is the exported part object
- */
-export const frontPocketBag = {
- name: 'naomiwu.frontPocketBag', // The name in design::part format
- draft: draftFrontPocketBag, // The method to call to draft this part
- from: frontBase, // Draft this starting from the (imported) frontBase part
-}
-
-/*
- * This function drafts the front pocket bag of the skirt
- */
-function draftFrontPocketBag({
- Point,
- points,
- Path,
- paths,
- part,
- store,
- sa,
- snippets,
- Snippet,
- macro,
-}) {
- /*
- * Remove paths we don't need
- */
- delete paths.corner
- delete paths.hem
- delete paths.frontWaist
- delete paths.pocketbag
-
- /*
- * The seam line
- */
- paths.seam = new Path()
- .move(points.frontPocketBagStart)
- .line(points.frontPocketBagHem)
- .line(points.trueBottomRight)
- .line(points.topRight)
- .join(paths.frontWaistSide)
- .line(points.frontPocketBagStart)
- .close()
- .addClass('various')
-
- /*
- * Add SA only when requested
- */
- if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 2, from: 'lining', onFold: true })
-
- /*
- * Overwrite title from frontBase
- */
- points.title = new Point(
- points.frontPocketFacingCenter.x * 1.5,
- points.frontPocketFacingCenter.y / 1.5
- )
- macro('title', {
- at: points.title,
- nr: 5,
- title: 'frontPocketBag',
- })
-
- /*
- * Overwrite logo from frontBase
- */
- points.logo = points.title.shift(12, 100)
- snippets.logo = new Snippet('logo', points.logo)
-
- /*
- * Add a cut-on-fold indicator
- */
- macro('cutonfold', {
- from: points.frontPocketBagStart,
- to: points.frontPocketBagHem,
- grainline: true,
- })
-
- /*
- * Dimensions
- */
- macro('hd', {
- id: 'wAtTop',
- from: points.frontPocketBagStart,
- to: points.topRight,
- y: points.topLeft.y - sa - 15,
- })
- macro('hd', {
- id: 'wAtBottom',
- from: points.frontPocketBagHem,
- to: points.bottomRight,
- y: points.bottomLeft.y + sa + 15,
- })
- macro('vd', {
- id: 'hFull',
- from: points.frontPocketBagHem,
- to: points.frontPocketBagStart,
- x: points.frontPocketBagHem.x - sa - 15,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/front-pocket-facing.mjs b/designs/naomiwu/src/front-pocket-facing.mjs
deleted file mode 100644
index 7f7d7b7667f..00000000000
--- a/designs/naomiwu/src/front-pocket-facing.mjs
+++ /dev/null
@@ -1,100 +0,0 @@
-import { frontPocketBag } from './front-pocket-bag.mjs'
-
-/*
- * This is the exported part object
- */
-export const frontPocketFacing = {
- name: 'naomiwu.frontPocketFacing', // The name in design::part format
- draft: draftFrontPocketFacing, // The method to call to draft this part
- from: frontPocketBag, // Draft this starting from the (imported) frontPocketBag part
-}
-
-/*
- * This function drafts the front pocket facing of the skirt
- */
-function draftFrontPocketFacing({ points, Path, paths, store, part, sa, macro }) {
- /*
- * Clean up what we don't need
- */
- delete paths.pocketbagBoundary
- delete paths.pocketfacingBoundary
- macro('rmad') // Removes all dimensions
-
- /*
- * The seam line
- */
- paths.seam = new Path()
- .move(points.frontPocketBagStart)
- .line(points.frontPocketFacingCenter)
- .line(points.frontPocketFacingSide)
- .line(points.topRight)
- .join(paths.frontWaistSide)
- .line(points.frontPocketBagStart)
- .close()
- .addClass('fabric')
-
- /*
- * Only add SA when requested
- */
- if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
-
- /*
- * Fix text alignement on the side seam
- */
- paths.side = new Path()
- .move(points.frontPocketFacingSide)
- .line(points.topRight)
- .addClass('hidden')
- .addText('sideSeam', 'center fill-note text-sm')
- .attr('data-text-dy', -1)
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 2, from: 'fabric', onFold: true })
-
- /*
- * Add the title ( and remove the inherited one)
- */
- macro('rmtitle')
- macro('title', {
- at: points.title,
- nr: 6,
- title: 'frontPocketFacing',
- })
-
- /*
- * Add cut-on-fold indicator
- */
- macro('cutonfold', {
- from: points.frontPocketBagStart,
- to: points.frontPocketFacingCenter,
- grainline: true,
- })
-
- /*
- * Dimensions
- */
- macro('hd', {
- id: 'wAtBottom',
- from: points.frontPocketFacingCenter,
- to: points.frontPocketFacingSide,
- y: points.frontPocketFacingCenter.y + sa + 15,
- })
- macro('hd', {
- id: 'wAtTop',
- from: points.frontPocketBagStart,
- to: points.topRight,
- y: points.topRight.y - sa - 15,
- })
- macro('vd', {
- id: 'hFull',
- from: points.frontPocketFacingCenter,
- to: points.frontPocketBagStart,
- x: points.frontPocketFacingCenter.x - sa - 15,
- })
-
- return part
-}
diff --git a/designs/naomiwu/src/index.mjs b/designs/naomiwu/src/index.mjs
deleted file mode 100644
index 2999bfb9576..00000000000
--- a/designs/naomiwu/src/index.mjs
+++ /dev/null
@@ -1,94 +0,0 @@
-import { Design } from '@freesewing/core'
-import { data } from '../data.mjs'
-import { i18n } from '../i18n/index.mjs'
-// Parts
-import { shared } from './shared.mjs'
-import { back } from './back.mjs'
-import { frontBase } from './front-base.mjs'
-import { frontFlySide } from './front-fly-side.mjs'
-import { frontNoFlySide } from './front-nofly-side.mjs'
-import { waistband } from './waistband.mjs'
-import { flyShield } from './fly-shield.mjs'
-import { frontPocketBag } from './front-pocket-bag.mjs'
-import { frontPocketFacing } from './front-pocket-facing.mjs'
-import { frontAttachment } from './front-attachment.mjs'
-import { frontAttachmentFacing } from './front-attachment-facing.mjs'
-import { backPocket } from './back-pocket.mjs'
-import { backPocketFlap } from './back-pocket-flap.mjs'
-import { backAttachmentBack } from './back-attachment-back.mjs'
-import { backAttachmentFront } from './back-attachment-front.mjs'
-import { backAttachmentFlap } from './back-attachment-flap.mjs'
-import { beltLoop } from './belt-loop.mjs'
-import { backBeltLoop } from './back-belt-loop.mjs'
-
-/*
- * Create new design
- */
-const Naomiwu = new Design({
- data,
- parts: [
- shared,
- back,
- frontBase,
- frontFlySide,
- frontNoFlySide,
- waistband,
- flyShield,
- frontPocketBag,
- frontPocketFacing,
- frontAttachment,
- frontAttachmentFacing,
- backPocket,
- backPocketFlap,
- backAttachmentBack,
- backAttachmentFront,
- backAttachmentFlap,
- beltLoop,
- backBeltLoop,
- ],
-})
-
-/*
- * Note that we are creating this above as 'Naomiwu' and not 'NaomiWu', which
- * would be the correctly camel-cased name of the person it's named after.
- *
- * The reason is that when discussing the name with Naomi, she originally
- * suggested 'Open Cargo Skirt'. After explaining that we typically use
- * first-names for our designs because we provide a website in multiple
- * languages and want to have a name that does not need translation, she
- * suggested either 'Wu Cargo Skirt' or 'Naomi Wu Cargo Skirt'.
- *
- * So we landed on 'Naomi Wu Cargo Skirt' which makes the short name of this
- * pattern (as used in the NPM package and URLs) 'naomiwu'.
- * To get the constructor from that, we capitalize the design name, so that
- * is why 'Naomiwu' is exported.
- *
- * However, to be flexible, we also export this design as NaomiWu below.
- * This way, both ways work.
- */
-const NaomiWu = Naomiwu
-
-// Named exports
-export {
- shared,
- back,
- frontBase,
- frontFlySide,
- frontNoFlySide,
- waistband,
- flyShield,
- frontPocketBag,
- frontPocketFacing,
- frontAttachment,
- frontAttachmentFacing,
- backPocket,
- backPocketFlap,
- backAttachmentBack,
- backAttachmentFront,
- backAttachmentFlap,
- beltLoop,
- backBeltLoop,
- Naomiwu,
- NaomiWu, // See note above
- i18n,
-}
diff --git a/designs/naomiwu/src/shared.mjs b/designs/naomiwu/src/shared.mjs
deleted file mode 100644
index 9989b90f9e6..00000000000
--- a/designs/naomiwu/src/shared.mjs
+++ /dev/null
@@ -1,322 +0,0 @@
-import { pctBasedOn } from '@freesewing/core'
-
-function draft({ store, measurements, options, part }) {
- // Set values in the store for re-use
- const hips = measurements.hips * (1 + options.hipsEase)
- store.set('hips', hips)
- store.set('frontQuarterHips', (hips * options.frontHalf) / 2)
- store.set('backQuarterHips', (hips * (1 - options.frontHalf)) / 2)
- const seat = measurements.seat * (1 + options.seatEase)
- store.set('seat', seat)
- store.set('frontQuarterSeat', (seat * options.frontHalf) / 2)
- store.set('backQuarterSeat', (seat * (1 - options.frontHalf)) / 2)
- store.set('hipsToSeat', measurements.waistToSeat - measurements.waistToHips)
- store.set('hipsToUpperLeg', measurements.waistToUpperLeg - measurements.waistToHips)
- store.set('seatToUpperLeg', measurements.waistToUpperLeg - measurements.waistToSeat)
- // Never reduce a negative amount
- const reduce = (seat - hips) / 4
- store.set('hipsQuarterReduction', reduce > 0 ? reduce : 0)
-
- return part
-}
-
-/*
- * Helper method like pctBasedOn, but using quarter hips for measurement
- */
-const pctBasedOnQhips = () => ({
- toAbs: (value, { measurements }) => value * (measurements.hips / 4),
- fromAbs: (value, { measurements }) => measurements.hips / 4 / value,
-})
-
-/*
- * Helper method like pctBasedOn, but using hips to upperleg
- */
-const pctBasedOnHipsToUleg = () => ({
- toAbs: (value, { measurements }) =>
- value * (measurements.waistToUpperLeg - measurements.waistToHips),
- fromAbs: (value, { measurements }) =>
- (measurements.waistToUpperLeg - measurements.waistToHips) / value,
-})
-
-export const shared = {
- name: 'naomiwu.shared',
- measurements: ['hips', 'seat', 'waistToHips', 'waistToSeat', 'waistToUpperLeg'],
- hide: { self: true },
- options: {
- // Fit options
-
- /*
- * Amount of ease at the hips.
- * By default this has no ease + elasticated waist (partially) because this
- * is supposed to support cargo without sliding down. (belt is better, but still).
- */
- hipsEase: {
- pct: 0,
- min: -5,
- max: 5,
- menu: 'fit',
- ...pctBasedOn('hips'),
- },
-
- /*
- * Amount of ease at the seat.
- * Needs to be sufficient to allow dexterity but not so much that it's to flared
- */
- seatEase: {
- pct: 5,
- min: 0,
- max: 15,
- menu: 'fit',
- ...pctBasedOn('seat'),
- },
-
- /*
- * How much the waist should slant downward at the front (and up at the back)
- * This is based on a model with a perfectly horizontal waistline.
- * However, people who -- as Sir Mix A Lot would say -- got (more) back benefit
- * from a sloped waistline that raises up at teh back and dips lower at the front.
- * This option facilitates that.
- */
- waistSlant: {
- pct: 0,
- min: 0,
- max: 2,
- menu: 'fit',
- ...pctBasedOn('hips'),
- },
-
- // Style options
-
- /*
- * Allows one to swap the fly side for what is more convenient or best
- * matches one's gender expression.
- *
- * This design is based ona physical skirt made/worn by Naomi Wu and that
- * skirt had the traditional left-over-right fly that is the most common
- * style used in all menswear but also often in womenswear bottoms.
- *
- * Changing this option will draft a right-over-left style which is common
- * for womenswear tops and bottoms, and as such is more female-presenting.
- *
- * There's no right or wrong way, it's just preference. The reason
- * left-over-right is the default here is because that's how it was on
- * the skirt we based this on.
- */
- invertFly: {
- bool: false,
- menu: 'style',
- },
-
- /*
- * The length as a percentage of the hips to upper leg measurements
- */
- length: {
- pct: 40,
- min: 0,
- max: 80,
- menu: 'style',
- toAbs: (value, { measurements }) =>
- (1 + value) * (measurements.waistToUpperLeg - measurements.waistToHips),
- fromAbs: (value, { measurements }) =>
- (measurements.waistToUpperLeg - measurements.waistToHips) / (1 + value),
- },
-
- waistbandWidth: {
- pct: 4.4,
- min: 2,
- max: 10,
- menu: 'style',
- ...pctBasedOn('hips'),
- },
-
- beltLoopWidth: {
- pct: 40,
- min: 20,
- max: 60,
- menu: 'style',
- toAbs: (value, { measurements }, mergedOptions) =>
- value * measurements.hips * mergedOptions.waistbandWidth,
- fromAbs: (value, { measurements }, mergedOptions) =>
- (measurements.hips * mergedOptions.waistbandWidth) / value,
- },
-
- // Pocket options
-
- /*
- * Controls the curvature of the front pocket opening
- */
- frontPocketOpeningBend: {
- pct: 80,
- min: 0,
- max: 100,
- menu: 'pockets',
- },
-
- /*
- * Controls the depth of the front pocket opening as a factor of
- * waistToUpperLeg - waistToHip
- */
- frontPocketOpeningDepth: {
- pct: 33,
- min: 25,
- max: 45,
- menu: 'pockets',
- ...pctBasedOnQhips(),
- },
-
- // Pocket options
- backPocketDepth: {
- pct: 70,
- min: 60,
- max: 85,
- menu: 'pockets',
- },
- backPocketChamferSize: {
- pct: 15,
- min: 5,
- max: 25,
- menu: 'pockets',
- },
- frontPocketOpeningWidth: {
- pct: 33,
- min: 25,
- max: 45,
- menu: 'pockets',
- ...pctBasedOnQhips(),
- },
-
- // Width of the back attachment
- backAttachmentWidth: {
- pct: 40,
- min: 25,
- max: 55,
- menu: 'pockets',
- ...pctBasedOnQhips(),
- },
- backAttachmentDepth: {
- pct: 190,
- min: 100,
- max: 220,
- menu: 'pockets',
- },
-
- // Width of the front attachment
- frontAttachmentWidth: {
- pct: 95,
- min: 80,
- max: 110,
- menu: 'pockets',
- },
- frontAttachmentChamferSize: {
- pct: 15,
- min: 5,
- max: 25,
- menu: 'pockets',
- },
- backAttachmentFlapChamferSize: {
- pct: 15,
- min: 5,
- max: 25,
- menu: 'pockets',
- },
-
- // Advanced options
-
- /*
- * The dart length.
- * Is a factor between the distance between the hipline and seatline
- */
- dartLength: {
- pct: 90,
- min: 50,
- max: 100,
- menu: 'advanced',
- toAbs: (value, { measurements }) =>
- value * (measurements.waistToSeat - measurements.waistToHips),
- fromAbs: (value, { measurements }) =>
- (measurements.waistToSeat - measurements.waistToHips) / value,
- },
-
- /*
- * The dart width.
- * Doesn't influence fit, but rather determines how much shaping is done in the darts
- */
- dartWidth: {
- pct: 5,
- min: 4,
- max: 8,
- menu: 'advanced',
- ...pctBasedOnQhips(),
- },
-
- /*
- * The fly length.
- */
- flyLength: {
- pct: 75,
- min: 50,
- max: 85,
- menu: 'advanced',
- ...pctBasedOnHipsToUleg(),
- },
- /*
- * The fly width.
- */
- flyWidth: {
- pct: 16,
- min: 10,
- max: 22,
- menu: 'advanced',
- ...pctBasedOnQhips(),
- },
-
- /*
- * Percentage of the full circumference that should be made up
- * by the front panels. Increasing this will shift the side seams
- * to the back, which increases space for the pockets. However if
- * you shift them too far, the pocket opening sits too far to the
- * side and becomes difficult to access. The default 60% is a good
- * average.
- */
- frontHalf: {
- pct: 55,
- min: 50,
- max: 60,
- menu: 'advanced',
- },
-
- /*
- * Curvature of the J-Seam bend
- */
- jseamBend: {
- pct: 65,
- min: 50,
- max: 100,
- menu: 'advanced',
- },
-
- /*
- * Minimal dart width. Below this width, we don't create darts but
- * instead do all shaping in the side seams.
- */
- minDartWidth: {
- pct: 2,
- min: 0.5,
- max: 4,
- menu: 'advanced',
- toAbs: (pct, settings, mergedOptions) =>
- (pct *
- settings.measurements.hips *
- (1 + mergedOptions.hipsEase) *
- (1 - mergedOptions.frontHalf)) /
- 2,
- fromAbs: (mm, settings) =>
- (settings.measurements.hips *
- (1 + settings.options.hipsEase) *
- (1 - settings.options.frontHalf)) /
- 2 /
- mm,
- },
- },
- draft: draft,
-}
diff --git a/designs/naomiwu/src/waistband.mjs b/designs/naomiwu/src/waistband.mjs
deleted file mode 100644
index a775e8a88e3..00000000000
--- a/designs/naomiwu/src/waistband.mjs
+++ /dev/null
@@ -1,377 +0,0 @@
-import { frontBase } from './front-base.mjs'
-import { capitalize } from '@freesewing/core'
-
-/*
- * This is the exported part object
- */
-export const waistband = {
- name: 'naomiwu.waistband', // The name in design::part format
- draft: draftWaistband, // The method to call to draft this part
- after: frontBase, // Draft this part starting from the (imported) frontBase part
-}
-
-/*
- * This function drafts the waistband of the skirt
- */
-function draftWaistband({
- Point,
- points,
- Path,
- paths,
- store,
- part,
- options,
- complete,
- sa,
- snippets,
- Snippet,
- macro,
- absoluteOptions,
-}) {
- /*
- * We start from center back and make our way towards the front in both directions
- */
- points.cbTop = new Point(0, 0)
- points.cbBottom = new Point(points.cbTop.x, absoluteOptions.waistbandWidth * 2)
-
- /*
- * First add the back parts
- */
- points.leftSideTop = points.cbTop.shift(180, store.get('backHipLength'))
- points.leftSideBottom = new Point(points.leftSideTop.x, points.cbBottom.y)
- points.rightSideTop = points.leftSideTop.flipX()
- points.rightSideBottom = points.leftSideBottom.flipX()
-
- /*
- * Now continue with the fronts
- */
- points.leftFrontTop = points.leftSideTop.shift(180, store.get('frontHipLength'))
- points.leftFrontBottom = new Point(points.leftFrontTop.x, points.cbBottom.y)
- points.rightFrontTop = points.leftFrontTop.flipX()
- points.rightFrontBottom = points.leftFrontBottom.flipX()
-
- /*
- * Add the overlap at the button side (noFly side)
- */
- points.rightEdgeTop = points.rightFrontTop.shift(0, absoluteOptions.flyWidth)
- points.rightEdgeBottom = new Point(points.rightEdgeTop.x, points.cbBottom.y)
-
- /*
- * Fold in the middle
- */
- points.midLeft = new Point(points.leftFrontTop.x, points.cbBottom.y / 2)
- points.midRight = new Point(points.rightEdgeTop.x, points.midLeft.y)
-
- /*
- * Location of the buttonhole (taking invertFly option into account)
- */
- points.buttonhole = points.leftFrontBottom
- .shiftFractionTowards(points.leftFrontTop, options.invertFly ? 0.75 : 0.25)
- .shift(0, absoluteOptions.waistbandWidth / 4)
-
- /*
- * Location of the button
- */
- points.button = new Point(
- points.rightEdgeTop.x - absoluteOptions.flyWidth / 2,
- points.buttonhole.y
- )
-
- /*
- * Indicate the location of the belt loops
- */
- points.leftBackLoopTop = points.cbTop.shiftFractionTowards(points.leftSideTop, 0.5)
- points.leftSideLoopTop = points.leftSideTop.shiftFractionTowards(points.leftFrontTop, 0.06)
- points.leftFrontLoopTop = points.leftSideTop.shiftFractionTowards(points.leftFrontTop, 0.53)
- for (const key of ['Back', 'Side', 'Front']) {
- points[`left${key}LoopBottom`] = new Point(points[`left${key}LoopTop`].x, points.cbBottom.y)
- points[`right${key}LoopTop`] = points[`left${key}LoopTop`].flipX()
- points[`right${key}LoopBottom`] = new Point(points[`right${key}LoopTop`].x, points.cbBottom.y)
- /*
- * Also add points on the left and right edge of the belt loop
- * so we can draw the path later
- */
- for (const side of ['left', 'right']) {
- points[`${side}${key}LoopTopLeft`] = points[`${side}${key}LoopTop`].shift(
- 180,
- absoluteOptions.beltLoopWidth / 2
- )
- points[`${side}${key}LoopTopRight`] = points[`${side}${key}LoopTop`].shift(
- 0,
- absoluteOptions.beltLoopWidth / 2
- )
- points[`${side}${key}LoopBottomLeft`] = points[`${side}${key}LoopBottom`].shift(
- 180,
- absoluteOptions.beltLoopWidth / 2
- )
- points[`${side}${key}LoopBottomRight`] = points[`${side}${key}LoopBottom`].shift(
- 0,
- absoluteOptions.beltLoopWidth / 2
- )
- }
- }
-
- /*
- * Center back belt loop is different (a large wide one)
- */
- points.cbLoopTopLeft = points.cbTop.shiftFractionTowards(points.leftBackLoopTop, 0.5)
- points.cbLoopTopRight = points.cbLoopTopLeft.flipX()
- points.cbLoopBottomLeft = new Point(points.cbLoopTopLeft.x, points.cbBottom.y)
- points.cbLoopBottomRight = points.cbLoopBottomLeft.flipX()
-
- /*
- * We want to add an attachment here that can hold a mobile phone
- * However, we want to refrain from puttin it over any belt loops so let's
- * see how wide it can be (max) and store that for re-use later when drafting
- * the back attachment
- */
- store.set('backAttachmentMaxWidth', points.leftSideLoopTopRight.dx(points.leftBackLoopTopLeft))
-
- /*
- * Seamline
- */
- paths.seam = new Path()
- .move(points.leftFrontTop)
- .line(points.leftFrontBottom)
- .line(points.rightEdgeBottom)
- .line(points.rightEdgeTop)
- .line(points.leftFrontTop)
- .close()
- .addClass('fabric')
-
- /*
- * Only add SA when requested
- */
- if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
-
- /*
- * If the user wants a complete pattern, let's add some more guidance
- */
- if (complete) {
- /*
- * Add the fold line
- */
- paths.fold = new Path().move(points.midLeft).line(points.midRight).addClass('help note')
-
- /*
- * Include a message that this is where to fold the waistband
- */
- macro('banner', {
- path: paths.fold,
- text: 'foldHere',
- className: 'text-sm fill-note',
- repeat: 50,
- })
-
- /*
- * Indicate the fly edge line
- */
- paths.flyEdge = new Path()
- .move(points.leftFrontBottom)
- .line(points.leftFrontTop)
- .addClass('note dashed')
- .addText('flyEdge', 'text-sm fill-note center')
-
- /*
- * Indicate location of the belt loops
- */
- for (const key of ['Back', 'Side', 'Front']) {
- for (const side of ['left', 'right']) {
- paths[`beltLoop${capitalize(side)}${key}`] = new Path()
- .move(points[`${side}${key}LoopTopLeft`])
- .line(points[`${side}${key}LoopBottomLeft`])
- .move(points[`${side}${key}LoopBottomRight`])
- .line(points[`${side}${key}LoopTopRight`])
- .addClass('note stroke-sm dashed')
- }
- }
- }
-
- /*
- * Annotations
- */
-
- // Cutlist
- store.cutlist.setCut({ cut: 1, from: 'fabric' })
-
- /*
- * Add the logo
- */
- points.logo = points.midLeft.shiftFractionTowards(points.midRight, 0.65)
- snippets.logo = new Snippet('logo', points.logo).scale(0.666)
-
- /*
- * Add the title
- */
- points.title = points.logo.shift(0, 70)
- macro('title', {
- at: points.title,
- nr: 7,
- title: 'waistband',
- align: 'center',
- scale: 0.666,
- })
-
- /*
- * Add the button hole
- */
- snippets.buttonhole = new Snippet('buttonhole-start', points.buttonhole)
- .attr('data-scale', absoluteOptions.waistbandWidth / 16)
- .attr('data-rotate', 90)
-
- /*
- * Add the button
- */
- snippets.button = new Snippet('button', points.button).attr(
- 'data-scale',
- absoluteOptions.waistbandWidth / 16
- )
-
- /*
- * Add notches to indicate the location of the seams
- */
- macro('sprinkle', {
- snippet: 'notch',
- on: [
- 'leftSideTop',
- 'rightSideTop',
- 'leftFrontTop',
- 'cbTop',
- 'leftSideBottom',
- 'rightSideBottom',
- 'leftFrontBottom',
- 'cbBottom',
- ],
- })
-
- /*
- * Add a grainline indicator
- */
- points.grainlineTop = points.leftFrontTop.shiftFractionTowards(points.leftFrontLoopTop, 0.5)
- points.grainlineBottom = new Point(points.grainlineTop.x, points.cbBottom.y)
- macro('grainline', {
- from: points.grainlineBottom,
- to: points.grainlineTop,
- })
-
- /*
- * Dimensions
- */
- macro('hd', {
- id: 'frontLeft',
- from: points.leftFrontBottom,
- to: points.leftSideBottom,
- y: points.cbBottom.y + 15 + sa,
- })
- macro('hd', {
- id: 'backLeft',
- from: points.leftSideBottom,
- to: points.cbBottom,
- y: points.cbBottom.y + 15 + sa,
- })
- macro('hd', {
- id: 'backRight',
- from: points.cbBottom,
- to: points.rightSideBottom,
- y: points.cbBottom.y + 15 + sa,
- })
- macro('hd', {
- id: 'frontRight',
- from: points.rightSideBottom,
- to: points.rightFrontBottom,
- y: points.cbBottom.y + 15 + sa,
- })
- macro('hd', {
- id: 'overlapRight',
- from: points.rightFrontBottom,
- to: points.rightEdgeBottom,
- y: points.cbBottom.y + 15 + sa,
- })
- macro('hd', {
- id: 'leftHalf',
- from: points.leftFrontBottom,
- to: points.cbBottom,
- y: points.cbBottom.y + 30 + sa,
- })
- macro('hd', {
- id: 'rightHalf',
- from: points.cbBottom,
- to: points.rightFrontBottom,
- y: points.cbBottom.y + 30 + sa,
- })
- macro('hd', {
- id: 'fullLength',
- from: points.leftFrontBottom,
- to: points.rightEdgeBottom,
- y: points.cbBottom.y + 45 + sa,
- })
- macro('vd', {
- id: 'buttonHeight',
- from: points.rightEdgeBottom,
- to: points.button,
- x: points.rightEdgeBottom.x + 15 + sa,
- })
- macro('vd', {
- id: 'buttonHoleHeight',
- from: points.leftFrontBottom,
- to: points.buttonhole,
- x: points.leftFrontBottom.x - sa - 15,
- })
- macro('vd', {
- id: 'fullWidth',
- from: points.leftFrontBottom,
- to: points.leftFrontTop,
- x: points.leftFrontBottom.x - sa - 30,
- scale: 0.5,
- })
- macro('hd', {
- id: 'belLoopLeftFront',
- from: points.leftFrontTop,
- to: points.leftFrontLoopTop,
- y: points.cbTop.y - 30 - sa,
- })
- macro('hd', {
- id: 'beltLoopLeftSide',
- from: points.leftFrontLoopTop,
- to: points.leftSideLoopTop,
- y: points.cbTop.y - 30 - sa,
- })
- macro('hd', {
- id: 'beltLoopLeftBack',
- from: points.leftSideLoopTop,
- to: points.leftBackLoopTop,
- y: points.cbTop.y - 30 - sa,
- })
- macro('hd', {
- id: 'beltLoopLeftCb',
- from: points.leftBackLoopTop,
- to: points.cbTop,
- y: points.cbTop.y - 30 - sa,
- })
- macro('hd', {
- id: 'beltLoopRightCb',
- from: points.cbTop,
- to: points.rightBackLoopTop,
- y: points.cbTop.y - 30 - sa,
- })
- macro('hd', {
- id: 'beltLoopRightBack',
- from: points.rightBackLoopTop,
- to: points.rightSideLoopTop,
- y: points.cbTop.y - 30 - sa,
- })
- macro('hd', {
- id: 'beltLoopRightSide',
- from: points.rightSideLoopTop,
- to: points.rightFrontLoopTop,
- y: points.cbTop.y - 30 - sa,
- })
- macro('hd', {
- id: 'beltLoopRightFront',
- from: points.rightFrontLoopTop,
- to: points.rightFrontTop,
- y: points.cbTop.y - 30 - sa,
- })
-
- return part
-}
diff --git a/designs/naomiwu/tests/shared.test.mjs b/designs/naomiwu/tests/shared.test.mjs
deleted file mode 100644
index 715fa93954d..00000000000
--- a/designs/naomiwu/tests/shared.test.mjs
+++ /dev/null
@@ -1,20 +0,0 @@
-// This file is auto-generated | Any changes you make will be overwritten.
-import { Naomiwu, i18n } from '../src/index.mjs'
-
-// Shared tests
-import { testPatternConfig } from '../../../tests/designs/config.mjs'
-import { testPatternI18n } from '../../../tests/designs/i18n.mjs'
-import { testPatternDrafting } from '../../../tests/designs/drafting.mjs'
-import { testPatternSampling } from '../../../tests/designs/sampling.mjs'
-
-// Test config
-testPatternConfig(Naomiwu)
-
-// Test translation
-testPatternI18n(Naomiwu, i18n)
-
-// Test drafting - Change the second parameter to `true` to log errors
-testPatternDrafting(Naomiwu, false)
-
-// Test sampling - Change the second parameter to `true` to log errors
-testPatternSampling(Naomiwu, false)
diff --git a/designs/wahid/src/options.mjs b/designs/wahid/src/options.mjs
index 8fc267f1f2b..a2d0f4b8986 100644
--- a/designs/wahid/src/options.mjs
+++ b/designs/wahid/src/options.mjs
@@ -22,17 +22,17 @@ export const pocketWidth = { pct: 10, max: 15, min: 8, menu: 'style' }
export const weltHeight = { pct: 12.5, max: 20, min: 10, menu: 'style' }
// Advanced
export const backInset = { pct: 15, min: 10, max: 20, menu: 'advanced' }
+export const backNeckCutout = { pct: 5, min: -2, max: 8, menu: 'advanced' }
export const frontInset = { pct: 15, min: 10, max: 20, menu: 'advanced' }
export const shoulderInset = { pct: 10, min: 0, max: 20, menu: 'advanced' }
export const neckInset = { pct: 5, min: 0, max: 10, menu: 'advanced' }
export const pocketAngle = { deg: 5, min: 0, max: 5, menu: 'advanced' }
+export const shoulderSlopeReduction = { pct: 0, min: 0, max: 80, menu: 'advanced' }
// Hide inherited options
-export const bicepsEase = { pct: 15, min: 0, max: 50, menu: false }
-export const collarEase = { pct: 5, min: 0, max: 10, menu: false }
-export const cuffEase = { pct: 20, min: 0, max: 200, menu: false }
-export const shoulderEase = { pct: 0, min: -2, max: 6, menu: false }
-export const s3Armhole = { pct: 0, min: -100, max: 100, menu: false }
-export const s3Collar = { pct: 0, min: -100, max: 100, menu: false }
-export const shoulderSlopeReduction = { pct: 0, min: 0, max: 80, menu: false }
-export const backNeckCutout = { pct: 5, min: -2, max: 8, menu: false }
+export const bicepsEase = 0.15
+export const collarEase = 0.05
+export const cuffEase = 0.2
+export const shoulderEase = 0
+export const s3Armhole = 0
+export const s3Collar = 0
diff --git a/designs/walburga/i18n/en.json b/designs/walburga/i18n/en.json
index 87f983649df..15a414db00e 100644
--- a/designs/walburga/i18n/en.json
+++ b/designs/walburga/i18n/en.json
@@ -38,7 +38,7 @@
},
"neckoRatio": {
"t": "Neck opening shape",
- "d": "controls the shape of the neck opening"
+ "d": "Controls the shape of the neck opening"
},
"neckline": {
"t": "Neckline",
diff --git a/i18n/optiongroups.yaml b/i18n/optiongroups.yaml
index 86dcebe3428..73493ae2af9 100644
--- a/i18n/optiongroups.yaml
+++ b/i18n/optiongroups.yaml
@@ -3,7 +3,7 @@ armhole: Armhole
backPockets: Back pockets
closure: Closure
collar: Collar
-conditional: Conditional
+conditional: Conditional Options
construction: Construction
cuffs: Cuffs
darts: Darts
@@ -13,4 +13,5 @@ frontPockets: Front pockets
length: Length
pockets: Pockets
style: Style
+sleevecap: Sleevecap
test: Test
diff --git a/packages/react-components/package.json b/packages/react-components/package.json
index 011f0b369ac..b7ffa9d9bc2 100644
--- a/packages/react-components/package.json
+++ b/packages/react-components/package.json
@@ -23,7 +23,10 @@
".": {
"internal": "./src/index.mjs",
"default": "./dist/index.mjs"
- }
+ },
+ "./linedrawings": "./src/linedrawings/index.mjs",
+ "./pattern": "./src/pattern/index.mjs",
+ "./xray": "./src/pattern-xray/index.mjs"
},
"scripts": {
"build": "node build.mjs",
diff --git a/sites/orgdocs/docs/about/site/draft/readme.mdx b/sites/orgdocs/docs/about/site/draft/readme.mdx
index 5e3c582fb28..04a1769d90f 100644
--- a/sites/orgdocs/docs/about/site/draft/readme.mdx
+++ b/sites/orgdocs/docs/about/site/draft/readme.mdx
@@ -109,7 +109,7 @@ what design you are generating a pattern for.
The following core settings are available:
-### Pattern Details
+### Pattern Details {#complete}
This setting -- which is enabled by default -- will give you a pattern with all
details included.
@@ -117,7 +117,7 @@ details included.
If you disable it, you will instead get a pattern that does not include any
details such as text or annotations, and only include the seamlines.
-### Pattern expansion
+### Pattern expansion {#expand}
This option suppresses all efforts to make the pattern consume less
space/paper.
@@ -130,7 +130,7 @@ This option -- which is disabled by default -- allows you to suppress the space
saving and indicate you rather want to get full-sized views on all pattern
parts.
-### Margin
+### Margin {#margin}
The margin setting controls how much space will be added around each pattern
part when calculating the pattern layout.
@@ -138,7 +138,7 @@ part when calculating the pattern layout.
Each pattern part is laid out as a rectangle on the page. The spacing around
(and between) these rectangles is controlled by this setting.
-### Included Parts
+### Included Parts {#include}
This setting allows you to specify which patterns parts you want to generate.
@@ -149,7 +149,7 @@ style.
It can also be used to include pattern parts that -- for whatever reason -- are
hidden by default.
-### Paperless Patterns
+### Paperless Patterns {#paperless}
The paperless setting lets you generate a sewing pattern that includes extra
dimensions as well as a grid (in either metric or imperial, based on your
@@ -159,7 +159,7 @@ This allows you to skip printing the pattern altogether. Instead you can
transfer it directly onto the fabric, or an intermediate medium such as pattern
paper.
-### Render Engine
+### Render Engine {#renderer}
This setting allows you to choose how your pattern will be rendered. In other
words, how it will be drawn on the screen. There are two options:
@@ -183,7 +183,7 @@ allowance, you should enable it by changing this option to **Yes**.
:::note
FreeSewing's core library only takes a single setting to handle seam allowance:
-`sa`. However, for convenience, we've split this up into two different
+`sa`. However, for convenience, we've split this up into two different
settings on the website:
- **[Include Seam Allowance](/docs/about/site/draft#sabool)**: Controls whether
@@ -203,7 +203,7 @@ of this size.
:::note
FreeSewing's core library only takes a single setting to handle seam allowance:
-`sa`. However, for convenience, we've split this up into two different
+`sa`. However, for convenience, we've split this up into two different
settings on the website:
- **[Include Seam Allowance](#sabool)**:
@@ -214,18 +214,18 @@ settings on the website:
The latter will only be shown if you've enabled the former.
:::
-### Scale
+### Scale {#scale}
The scale settings allow you to scale those parts of a pattern that do not
-scale with measurements. Things like logos, line widths, font sizes, and so
+scale with measurements. Things like logos, line widths, font sizes, and so
on.
This setting was added at the requests of people who like to use our patterns
-to make doll clothes. When generating such a small pattern, the arrowheads,
-titles, and so on tend to obscure much of the pattern. This setting allows you
+to make doll clothes. When generating such a small pattern, the arrowheads,
+titles, and so on tend to obscure much of the pattern. This setting allows you
to scale them down or -- if you so wish -- scale them up.
-### Units
+### Units {#units}
This controls the units used on your pattern. FreeSewing supports both metric
and imperial units.
diff --git a/sites/orgdocs/docs/designs/aaron/options/readme.mdx b/sites/orgdocs/docs/designs/aaron/options/readme.mdx
deleted file mode 100644
index 0d914f4c9ab..00000000000
--- a/sites/orgdocs/docs/designs/aaron/options/readme.mdx
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: 'Aaron A-Shirt: Design Options'
-sidebar_label: Design Options
-sidebar_position: 10
----
-
-import Armholedepth from '@site/docs/designs/aaron/options/armholedepth/readme.mdx'
-import Armholedrop from '@site/docs/designs/aaron/options/armholedrop/readme.mdx'
-import Backlinebend from '@site/docs/designs/aaron/options/backlinebend/readme.mdx'
-import Chestease from '@site/docs/designs/aaron/options/chestease/readme.mdx'
-import Draftforhighbust from '@site/docs/designs/aaron/options/draftforhighbust/readme.mdx'
-import Hipsease from '@site/docs/designs/aaron/options/hipsease/readme.mdx'
-import Knitbindingwidth from '@site/docs/designs/aaron/options/knitbindingwidth/readme.mdx'
-import Legacyarmholedepth from '@site/docs/designs/aaron/options/legacyarmholedepth/readme.mdx'
-import Lengthbonus from '@site/docs/designs/aaron/options/lengthbonus/readme.mdx'
-import Necklinebend from '@site/docs/designs/aaron/options/necklinebend/readme.mdx'
-import Necklinedrop from '@site/docs/designs/aaron/options/necklinedrop/readme.mdx'
-import Shoulderstrapplacement from '@site/docs/designs/aaron/options/shoulderstrapplacement/readme.mdx'
-import Shoulderstrapwidth from '@site/docs/designs/aaron/options/shoulderstrapwidth/readme.mdx'
-import Stretchfactor from '@site/docs/designs/aaron/options/stretchfactor/readme.mdx'
-
-## Fit
-
-### Armhole depth {#armholedepth}
-
-
-
-### Chest ease {#chestease}
-
-
-
-### Draft for high bust {#draftforhighbust}
-
-
-
-### Hips ease {#hipsease}
-
-
-
-### Stretch {#stretchfactor}
-
-
-
-## Style
-
-### Armhole drop {#armholedrop}
-
-
-
-### Back armhole shape {#backlinebend}
-
-
-
-### Knit binding width {#knitbindingwidth}
-
-
-
-### Legacy armhole depth {#legacyarmholedepth}
-
-
-
-### Length bonus {#lengthbonus}
-
-
-
-### Neckine shape {#necklineshape}
-
-
-
-### Neckline drop {#necklinedrop}
-
-
-
-### Shoulderstrap placement {#shoulderstrapplacement}
-
-
-
-### Shoulderstrap width {#shoulderstrapwidth}
-
-
diff --git a/sites/orgdocs/docs/designs/albert/options/readme.mdx b/sites/orgdocs/docs/designs/albert/options/readme.mdx
deleted file mode 100644
index ceaa6d44ee1..00000000000
--- a/sites/orgdocs/docs/designs/albert/options/readme.mdx
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: 'Albert apron: Design Options'
-sidebar_label: Design Options
-sidebar_position: 10
----
-
-import Backopening from '@site/docs/designs/albert/options/backopening/readme.mdx'
-import Biblength from '@site/docs/designs/albert/options/biblength/readme.mdx'
-import Bibwidth from '@site/docs/designs/albert/options/bibwidth/readme.mdx'
-import Chestdepth from '@site/docs/designs/albert/options/chestdepth/readme.mdx'
-import Lengthbonus from '@site/docs/designs/albert/options/lengthbonus/readme.mdx'
-import Strapwidth from '@site/docs/designs/albert/options/strapwidth/readme.mdx'
-
-## Fit
-
-### Back opening {#backopening}
-
-
-
-### Strap length {#chestdepth}
-
-
-
-## Style
-
-### Bib length {#biblength}
-
-
-
-### Bib width {#bibwidth}
-
-
-
-### Length bonus {#lengthbonus}
-
-
-
-### Strap width {#strapwidth}
-
-
diff --git a/sites/orgdocs/docs/designs/bee/options/readme.mdx b/sites/orgdocs/docs/designs/bee/options/readme.mdx
deleted file mode 100644
index b5483f70ae6..00000000000
--- a/sites/orgdocs/docs/designs/bee/options/readme.mdx
+++ /dev/null
@@ -1,142 +0,0 @@
----
-title: 'Bee bikini top: Design Options'
-sidebar_label: Design Options
-sidebar_position: 10
----
-
-import Armholedepth from '@site/docs/designs/bee/options/armholedepth/readme.mdx'
-import Backdartheight from '@site/docs/designs/bee/options/backdartheight/readme.mdx'
-import Bandlength from '@site/docs/designs/bee/options/bandlength/readme.mdx'
-import Bandtielength from '@site/docs/designs/bee/options/bandtielength/readme.mdx'
-import Bandtiewidth from '@site/docs/designs/bee/options/bandtiewidth/readme.mdx'
-import Bellaguide from '@site/docs/designs/bee/options/bellaguide/readme.mdx'
-import Bottomcupdepth from '@site/docs/designs/bee/options/bottomcupdepth/readme.mdx'
-import Bustspanease from '@site/docs/designs/bee/options/bustspanease/readme.mdx'
-import Chestease from '@site/docs/designs/bee/options/chestease/readme.mdx'
-import Crossbackties from '@site/docs/designs/bee/options/crossbackties/readme.mdx'
-import Duocolorties from '@site/docs/designs/bee/options/duocolorties/readme.mdx'
-import Frontarmholepitchdepth from '@site/docs/designs/bee/options/frontarmholepitchdepth/readme.mdx'
-import Frontcurve from '@site/docs/designs/bee/options/frontcurve/readme.mdx'
-import Frontshoulderwidth from '@site/docs/designs/bee/options/frontshoulderwidth/readme.mdx'
-import Fullchesteasereduction from '@site/docs/designs/bee/options/fullchesteasereduction/readme.mdx'
-import Highbustwidth from '@site/docs/designs/bee/options/highbustwidth/readme.mdx'
-import Necktielength from '@site/docs/designs/bee/options/necktielength/readme.mdx'
-import Necktiewidth from '@site/docs/designs/bee/options/necktiewidth/readme.mdx'
-import Pointedtieends from '@site/docs/designs/bee/options/pointedtieends/readme.mdx'
-import Reversible from '@site/docs/designs/bee/options/reversible/readme.mdx'
-import Shouldertoshoulderease from '@site/docs/designs/bee/options/shouldertoshoulderease/readme.mdx'
-import Sidecurve from '@site/docs/designs/bee/options/sidecurve/readme.mdx'
-import Sidedepth from '@site/docs/designs/bee/options/sidedepth/readme.mdx'
-import Ties from '@site/docs/designs/bee/options/ties/readme.mdx'
-import Topdepth from '@site/docs/designs/bee/options/topdepth/readme.mdx'
-import Waistease from '@site/docs/designs/bee/options/waistease/readme.mdx'
-
-## Fit
-
-### Show Bella {#bellaguide}
-
-
-
-### Bottom depth {#bottomcupdepth}
-
-
-
-### Bust span ease {#bustspanease}
-
-
-
-### Chest ease {#chestease}
-
-
-
-### Front curve {#frontcurve}
-
-
-
-### Full chest reduction (Bella) {#fullchesteasereduction}
-
-
-
-### Shoulder to Shoulder ease (Bella) {#shouldertoshoulderease}
-
-
-
-### Side curve {#sidecurve}
-
-
-
-### Side depth {#sidedepth}
-
-
-
-### Top Depth {#topdepth}
-
-
-
-### Waist ease {#waistease}
-
-
-
-## Style
-
-### Band Length (Cross back ties) {#bandlength}
-
-
-
-### Band (chest) tie length {#bandtielength}
-
-
-
-### Band (chest) tie width {#bandtiewidth}
-
-
-
-### Cross back ties {#crossbackties}
-
-
-
-### Duo color ties {#duocolorties}
-
-
-
-### Neck tie length {#necktielength}
-
-
-
-### Neck tie width {#necktiewidth}
-
-
-
-### Pointed tie ends {#pointedtieends}
-
-
-
-### Reversible {#reversible}
-
-
-
-### Ties {#ties}
-
-
-
-## Advanced
-
-### Armhole depth (Bella) {#armholedepth}
-
-
-
-### Back dart height (Bella) {#backdartheight}
-
-
-
-### Front armhole pitch depth (Bella) {#frontarmholepitchdepth}
-
-
-
-### Front shoulder width (Bella) {#frontshoulderwidth}
-
-
-
-### High bust width (Bella) {#highbustwidth}
-
-
diff --git a/sites/orgdocs/docs/designs/bella/options/readme.mdx b/sites/orgdocs/docs/designs/bella/options/readme.mdx
deleted file mode 100644
index 567c873e64a..00000000000
--- a/sites/orgdocs/docs/designs/bella/options/readme.mdx
+++ /dev/null
@@ -1,125 +0,0 @@
----
-title: 'Bella body block: Design Options'
-toc_max_heading_level: 5
-sidebar_label: Design Options
-sidebar_position: 10
----
-
-import Armholedepth from '@site/docs/designs/bella/options/armholedepth/readme.mdx'
-import Backarmholecurvature from '@site/docs/designs/bella/options/backarmholecurvature/readme.mdx'
-import Backarmholepitchdepth from '@site/docs/designs/bella/options/backarmholepitchdepth/readme.mdx'
-import Backarmholeslant from '@site/docs/designs/bella/options/backarmholeslant/readme.mdx'
-import Backdartheight from '@site/docs/designs/bella/options/backdartheight/readme.mdx'
-import Backhemslope from '@site/docs/designs/bella/options/backhemslope/readme.mdx'
-import Backneckcutout from '@site/docs/designs/bella/options/backneckcutout/readme.mdx'
-import Bustdartangle from '@site/docs/designs/bella/options/bustdartangle/readme.mdx'
-import Bustdartcurve from '@site/docs/designs/bella/options/bustdartcurve/readme.mdx'
-import Bustdartlength from '@site/docs/designs/bella/options/bustdartlength/readme.mdx'
-import Bustdartminimumfabric from '@site/docs/designs/bella/options/bustdartminimumfabric/readme.mdx'
-import Bustspanease from '@site/docs/designs/bella/options/bustspanease/readme.mdx'
-import Chestease from '@site/docs/designs/bella/options/chestease/readme.mdx'
-import Frontarmholecurvature from '@site/docs/designs/bella/options/frontarmholecurvature/readme.mdx'
-import Frontarmholepitchdepth from '@site/docs/designs/bella/options/frontarmholepitchdepth/readme.mdx'
-import Frontshoulderwidth from '@site/docs/designs/bella/options/frontshoulderwidth/readme.mdx'
-import Fullchesteasereduction from '@site/docs/designs/bella/options/fullchesteasereduction/readme.mdx'
-import Highbustwidth from '@site/docs/designs/bella/options/highbustwidth/readme.mdx'
-import Shouldertoshoulderease from '@site/docs/designs/bella/options/shouldertoshoulderease/readme.mdx'
-import Waistdartcurve from '@site/docs/designs/bella/options/waistdartcurve/readme.mdx'
-import Waistdartlength from '@site/docs/designs/bella/options/waistdartlength/readme.mdx'
-import Waistease from '@site/docs/designs/bella/options/waistease/readme.mdx'
-
-## Armhole
-
-### Armhole depth {#armholedepth}
-
-
-
-### Back armhole curvature {#backarmholecurvature}
-
-
-
-### Back armhole pitch depth {#backarmholepitchdepth}
-
-
-
-### Back armhole slant {#backarmholeslant}
-
-
-
-### Front armhole curvature {#frontarmholecurvature}
-
-
-
-### Front armhole pitch depth {#frontarmholepitchdepth}
-
-
-
-## Darts
-
-### Back dart height {#backdartheight}
-
-
-
-### Bust dart angle {#bustdartangle}
-
-
-
-### Bust dart curve {#bustdartcurve}
-
-
-
-### Bust dart length {#bustdartlength}
-
-
-
-### Bust dart minimum fabric {#bustdartminimumfabric}
-
-
-
-### Waist dart curve {#waistdartcurve}
-
-
-
-### Waist dart length {#waistdartlength}
-
-
-
-## Fit
-
-### Bust span ease {#bustspanease}
-
-
-
-### Chest ease {#chestease}
-
-
-
-### Full chest ease reduction {#fullchesteasereduction}
-
-
-
-### Shoulder to Shoulder ease {#shouldertoshoulderease}
-
-
-
-### Waist ease {#waistease}
-
-
-
-## Advanced
-
-### Back hem slope {#backhemslope}
-
-
-
-### Back neck cutout {#backneckcutout}
-
-
-
-### Front shoulder width {#frontshoulderwidth}
-
-
-
-### High bust width {#highbustwidth}
-
-
diff --git a/sites/orgdocs/docs/designs/benjamin/options/readme.mdx b/sites/orgdocs/docs/designs/benjamin/options/readme.mdx
deleted file mode 100644
index b4e10f1b7ff..00000000000
--- a/sites/orgdocs/docs/designs/benjamin/options/readme.mdx
+++ /dev/null
@@ -1,50 +0,0 @@
----
-title: 'Benjamin bow tie: Design Options'
-sidebar_label: Design Options
-sidebar_position: 10
----
-
-import Adjustmentribbon from '@site/docs/designs/benjamin/options/adjustmentribbon/readme.mdx'
-import Bowlength from '@site/docs/designs/benjamin/options/bowlength/readme.mdx'
-import Bowstyle from '@site/docs/designs/benjamin/options/bowstyle/readme.mdx'
-import Collarbandheight from '@site/docs/designs/benjamin/options/collarbandheight/readme.mdx'
-import Collarease from '@site/docs/designs/benjamin/options/collarease/readme.mdx'
-import Endstyle from '@site/docs/designs/benjamin/options/endstyle/readme.mdx'
-import Knotwidth from '@site/docs/designs/benjamin/options/knotwidth/readme.mdx'
-import Tipwidth from '@site/docs/designs/benjamin/options/tipwidth/readme.mdx'
-
-## Fit
-
-### Adjustment ribbon {#adjustmentribbon}
-
-
-
-### Collar ease {#collarease}
-
-
-
-## Style
-
-### Bow length {#bowlength}
-
-
-
-### Bow style {#bowstyle}
-
-
-
-### Collar band height {#collarbandheight}
-
-
-
-### End style {#endstyle}
-
-
-
-### Knot width {#knotwidth}
-
-
-
-### Tip width {#tipwidth}
-
-
diff --git a/sites/orgdocs/docs/designs/bent/options/readme.mdx b/sites/orgdocs/docs/designs/bent/options/readme.mdx
deleted file mode 100644
index 0971b6c3f21..00000000000
--- a/sites/orgdocs/docs/designs/bent/options/readme.mdx
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title: 'Bent body Block: Design Options'
-sidebar_label: Design Options
-sidebar_position: 10
-toc_max_heading_level: 5
----
-
-import Acrossbackfactor from '@site/docs/designs/bent/options/acrossbackfactor/readme.mdx'
-import Armholedepth from '@site/docs/designs/bent/options/armholedepth/readme.mdx'
-import Armholedepthfactor from '@site/docs/designs/bent/options/armholedepthfactor/readme.mdx'
-import Backneckcutout from '@site/docs/designs/bent/options/backneckcutout/readme.mdx'
-import Bicepsease from '@site/docs/designs/bent/options/bicepsease/readme.mdx'
-import Chestease from '@site/docs/designs/bent/options/chestease/readme.mdx'
-import Collarease from '@site/docs/designs/bent/options/collarease/readme.mdx'
-import Cuffease from '@site/docs/designs/bent/options/cuffease/readme.mdx'
-import Draftforhighbust from '@site/docs/designs/bent/options/draftforhighbust/readme.mdx'
-import Frontarmholedeeper from '@site/docs/designs/bent/options/frontarmholedeeper/readme.mdx'
-import Legacyarmholedepth from '@site/docs/designs/bent/options/legacyarmholedepth/readme.mdx'
-import Lengthbonus from '@site/docs/designs/bent/options/lengthbonus/readme.mdx'
-import S3armhole from '@site/docs/designs/bent/options/s3armhole/readme.mdx'
-import S3collar from '@site/docs/designs/bent/options/s3collar/readme.mdx'
-import Shoulderease from '@site/docs/designs/bent/options/shoulderease/readme.mdx'
-import Shoulderslopereduction from '@site/docs/designs/bent/options/shoulderslopereduction/readme.mdx'
-import Sleevebend from '@site/docs/designs/bent/options/sleevebend/readme.mdx'
-import Sleevecapease from '@site/docs/designs/bent/options/sleevecapease/readme.mdx'
-import Sleevecapheight from '@site/docs/designs/bent/options/sleevecapheight/readme.mdx'
-import Sleevelengthbonus from '@site/docs/designs/bent/options/sleevelengthbonus/readme.mdx'
-
-## Fit
-
-### Biceps ease {#bicepsease}
-
-
-
-### Chest ease {#chestease}
-
-
-
-### Collar ease {#collarease}
-
-
-
-### Cuff ease {#cuffease}
-
-
-
-### Length bonus {#lengthbonus}
-
-
-
-### Draft for high bust {#draftforhighbust}
-
-
-
-### Shoulder ease {#shoulderease}
-
-
-
-### Sleeve bend {#sleevebend}
-
-
-
-### Sleeve length bonus {#sleevelengthbonus}
-
-
-
-## Style
-
-### Shoulder seam shift: Armhole side {#s3armhole}
-
-
-
-### Shoulder seam shift: Collar side {#s3collar}
-
-
-
-## Advanced
-
-### Across back factor {#acrossbackfactor}
-
-
-
-### Armhole depth factor (legacy) {#armholedepthfactor}
-
-
-
-### Armhole depth {#armholedepth}
-
-
-
-### Back neck cutout {#backneckcutout}
-
-
-
-### Front armhole extra cutout {#frontarmholedeeper}
-
-
-
-### Legacy armhole depth {#legacyarmholedepth}
-
-
-
-### Shoulder slope reduction {#shoulderslopereduction}
-
-
-
-### Sleevecap ease {#sleevecapease}
-
-
-
-### Sleevecap height {#sleevecapheight}
-
-
diff --git a/sites/orgdocs/docs/designs/bibi/options/readme.mdx b/sites/orgdocs/docs/designs/bibi/options/readme.mdx
deleted file mode 100644
index 4ed7793c17a..00000000000
--- a/sites/orgdocs/docs/designs/bibi/options/readme.mdx
+++ /dev/null
@@ -1,288 +0,0 @@
----
-title: 'Bibi body block: Design Options'
-toc_max_heading_level: 5
-sidebar_label: Design Options
-sidebar_position: 10
----
-
-import Acrossbackfactor from '@site/docs/designs/bibi/options/acrossbackfactor/readme.mdx'
-import Armholecurveback from '@site/docs/designs/bibi/options/armholecurveback/readme.mdx'
-import Armholecurvefront from '@site/docs/designs/bibi/options/armholecurvefront/readme.mdx'
-import Armholedepth from '@site/docs/designs/bibi/options/armholedepth/readme.mdx'
-import Armholedropback from '@site/docs/designs/bibi/options/armholedropback/readme.mdx'
-import Backneckbend from '@site/docs/designs/bibi/options/backneckbend/readme.mdx'
-import Backneckcutout from '@site/docs/designs/bibi/options/backneckcutout/readme.mdx'
-import Bicepsease from '@site/docs/designs/bibi/options/bicepsease/readme.mdx'
-import Bindingheight from '@site/docs/designs/bibi/options/bindingheight/readme.mdx'
-import Bustease from '@site/docs/designs/bibi/options/bustease/readme.mdx'
-import Chestease from '@site/docs/designs/bibi/options/chestease/readme.mdx'
-import Cuffease from '@site/docs/designs/bibi/options/cuffease/readme.mdx'
-import Curvatureadjustment from '@site/docs/designs/bibi/options/curvatureadjustment/readme.mdx'
-import Dart from '@site/docs/designs/bibi/options/dart/readme.mdx'
-import Draftforhighbust from '@site/docs/designs/bibi/options/draftforhighbust/readme.mdx'
-import Fitwaist from '@site/docs/designs/bibi/options/fitwaist/readme.mdx'
-import Flare from '@site/docs/designs/bibi/options/flare/readme.mdx'
-import Hipsease from '@site/docs/designs/bibi/options/hipsease/readme.mdx'
-import Length from '@site/docs/designs/bibi/options/length/readme.mdx'
-import Lengthadjustment from '@site/docs/designs/bibi/options/lengthadjustment/readme.mdx'
-import Lengthbonus from '@site/docs/designs/bibi/options/lengthbonus/readme.mdx'
-import Necklinebend from '@site/docs/designs/bibi/options/necklinebend/readme.mdx'
-import Necklinedepth from '@site/docs/designs/bibi/options/necklinedepth/readme.mdx'
-import Necklinewidth from '@site/docs/designs/bibi/options/necklinewidth/readme.mdx'
-import Ribbingheight from '@site/docs/designs/bibi/options/ribbingheight/readme.mdx'
-import Ribbingstretch from '@site/docs/designs/bibi/options/ribbingstretch/readme.mdx'
-import Seatbackadjustment from '@site/docs/designs/bibi/options/seatbackadjustment/readme.mdx'
-import Seatease from '@site/docs/designs/bibi/options/seatease/readme.mdx'
-import Shoulderease from '@site/docs/designs/bibi/options/shoulderease/readme.mdx'
-import Shoulderslopereduction from '@site/docs/designs/bibi/options/shoulderslopereduction/readme.mdx'
-import Sleevecapbackfactorx from '@site/docs/designs/bibi/options/sleevecapbackfactorx/readme.mdx'
-import Sleevecapbackfactory from '@site/docs/designs/bibi/options/sleevecapbackfactory/readme.mdx'
-import Sleevecapease from '@site/docs/designs/bibi/options/sleevecapease/readme.mdx'
-import Sleevecapfrontfactorx from '@site/docs/designs/bibi/options/sleevecapfrontfactorx/readme.mdx'
-import Sleevecapfrontfactory from '@site/docs/designs/bibi/options/sleevecapfrontfactory/readme.mdx'
-import Sleevecapq1offset from '@site/docs/designs/bibi/options/sleevecapq1offset/readme.mdx'
-import Sleevecapq1spread1 from '@site/docs/designs/bibi/options/sleevecapq1spread1/readme.mdx'
-import Sleevecapq1spread2 from '@site/docs/designs/bibi/options/sleevecapq1spread2/readme.mdx'
-import Sleevecapq2offset from '@site/docs/designs/bibi/options/sleevecapq2offset/readme.mdx'
-import Sleevecapq2spread1 from '@site/docs/designs/bibi/options/sleevecapq2spread1/readme.mdx'
-import Sleevecapq2spread2 from '@site/docs/designs/bibi/options/sleevecapq2spread2/readme.mdx'
-import Sleevecapq3offset from '@site/docs/designs/bibi/options/sleevecapq3offset/readme.mdx'
-import Sleevecapq3spread1 from '@site/docs/designs/bibi/options/sleevecapq3spread1/readme.mdx'
-import Sleevecapq3spread2 from '@site/docs/designs/bibi/options/sleevecapq3spread2/readme.mdx'
-import Sleevecapq4offset from '@site/docs/designs/bibi/options/sleevecapq4offset/readme.mdx'
-import Sleevecapq4spread1 from '@site/docs/designs/bibi/options/sleevecapq4spread1/readme.mdx'
-import Sleevecapq4spread2 from '@site/docs/designs/bibi/options/sleevecapq4spread2/readme.mdx'
-import Sleevecaptopfactorx from '@site/docs/designs/bibi/options/sleevecaptopfactorx/readme.mdx'
-import Sleevecaptopfactory from '@site/docs/designs/bibi/options/sleevecaptopfactory/readme.mdx'
-import Sleeveease from '@site/docs/designs/bibi/options/sleeveease/readme.mdx'
-import Sleevelength from '@site/docs/designs/bibi/options/sleevelength/readme.mdx'
-import Sleeves from '@site/docs/designs/bibi/options/sleeves/readme.mdx'
-import Strapwidth from '@site/docs/designs/bibi/options/strapwidth/readme.mdx'
-import Usecuffribbing from '@site/docs/designs/bibi/options/usecuffribbing/readme.mdx'
-import Usewaistribbing from '@site/docs/designs/bibi/options/usewaistribbing/readme.mdx'
-import Waistadjustment from '@site/docs/designs/bibi/options/waistadjustment/readme.mdx'
-import Waistease from '@site/docs/designs/bibi/options/waistease/readme.mdx'
-
-## Fit
-
-### Biceps ease {#bicepsease}
-
-
-
-### Bust adjustment {#draftforhighbust}
-
-
-
-### Bust ease {#bustease}
-
-
-
-### Chest ease {#chestease}
-
-
-
-### Cuff ease {#cuffease}
-
-
-
-### Allow bust dart {#dart}
-
-
-
-### Fit the waist {#fitwaist}
-
-
-
-### Waist ease {#waistease}
-
-
-
-### Hips ease {#hipsease}
-
-
-
-### Seat ease {#seatease}
-
-
-
-### Shoulder ease {#shoulderease}
-
-
-
-## Style
-
-### Armhole curve back {#armholecurveback}
-
-
-
-### Armhole curve front {#armholecurvefront}
-
-
-
-### Armhole depth {#armholedepth}
-
-
-
-### Armhole drop back {#armholedropback}
-
-
-
-### Back neckline curvature {#backneckbend}
-
-
-
-### Back neckline depth {#backneckcutout}
-
-
-
-### Binding height {#bindingheight}
-
-
-
-### Cuff Ribbing {#usecuffribbing}
-
-
-
-### Waistband Ribbing {#usewaistribbing}
-
-
-
-### Flare {#flare}
-
-
-
-### Length {#length}
-
-
-
-### Length bonus {#lengthbonus}
-
-
-
-### Front neckline curvature {#necklinebend}
-
-
-
-### Front neckline depth {#necklinedepth}
-
-
-
-### Neckline width {#necklinewidth}
-
-
-
-### Sleeve ease {#sleeveease}
-
-
-
-### Sleevelength {#sleevelength}
-
-
-
-### Sleeves {#sleeves}
-
-
-
-### Strap width {#strapwidth}
-
-
-
-### Ribbing height {#ribbingheight}
-
-
-
-### Ribbing stretch {#ribbingstretch}
-
-
-
-## Advanced
-
-### Across back factor {#acrossbackfactor}
-
-
-
-### Curvature adjustment {#curvatureadjustment}
-
-
-
-### Length adjustment {#lengthadjustment}
-
-
-
-### Seat back adjustment {#seatbackadjustment}
-
-
-
-### Waist adjustment {#waistadjustment}
-
-
-
-### Sleevecap
-
-#### Sleevecap back X {#sleevecapbackfactorx}
-
-
-
-#### Sleevecap back Y {#sleevecapbackfactory}
-
-
-
-#### Sleevecap ease {#sleevecapease}
-
-
-
-#### Sleevecap front X {#sleevecapfrontfactorx}
-
-
-
-#### Sleevecap front Y {#sleevecapfrontfactory}
-
-
-
-#### Sleevecap Q1 offset {#sleevecapq1offset}
-
-
-
-#### Sleevecap Q1 downward spread {#sleevecapq1spread1}
-
-
-
-#### Sleevecap Q1 upward spread {#sleevecapq1spread2}
-
-
-
-#### Sleevecap Q2 offset {#sleevecapq2offset}
-
-
-
-#### Sleevecap Q2 downward spread {#sleevecapq2spread1}
-
-
-
-#### Sleevecap Q2 upward spread {#sleevecapq2spread2}
-
-
-
-#### Sleevecap Q3 offset {#sleevecapq3offset}
-
-
-
-#### Sleevecap Q3 downward spread {#sleevecapq3spread1}
-
-
-
-#### Sleevecap Q3 upward spread {#sleevecapq3spread2}
-
-
-
-#### Sleevecap Q4 offset {#sleevecapq4offset}
-
-
-
-#### Sleevecap Q4 downward spread {#sleevecapq4spread1}
-
-
-
-#### Sleevecap Q4 upward spread {#sleevecapq4spread2}
-
-
diff --git a/sites/orgdocs/docs/designs/bibi/readme.mdx b/sites/orgdocs/docs/designs/bibi/readme.mdx
index fbe17d4d9c9..2f2365f56b4 100644
--- a/sites/orgdocs/docs/designs/bibi/readme.mdx
+++ b/sites/orgdocs/docs/designs/bibi/readme.mdx
@@ -5,47 +5,62 @@ sidebar_label: 'Bibi Body Block'
+:::note Bibi is a pattern building block
+Bibi can be sewn as a simple top, but is mostly designed as a building block
+for other patterns or custom designs.
+
+You may want to finish the hem, armholes, and neck using knit bands, knit
+binding or ribbing fabric. In this case, you may need additional material.
+:::
+
## Designer Notes {#notes}
-When I was designing my (in progress) Tina top, I originally was basing the pattern on
-Teagan and Brian. However, Tina is supposed to work for people with breasts
-and Brian is mostly designed for menswear and doesn't support much body
+When I was designing my (in progress) Tina top, I originally was basing the
+pattern on Teagan and Brian. However, Tina is supposed to work for people with
+breasts and Brian is mostly designed for menswear and doesn't support much body
and bust fitting. So I created Bibi as a base for Tina.
-For Bibi, I reused code from Brian mostly for the sleevecap and armhole construction
-and added a basic front bust adjustment. Because Bibi is supposed to be usable for very different lengths,
-I also changed the sideline calculation to fit to the waist and seat measurements
-and added a sleeveless option. After some fine-tuning, this is basically the result.
+For Bibi, I reused code from Brian mostly for the sleevecap and armhole
+construction and added a basic front bust adjustment. Because Bibi is supposed
+to be usable for very different lengths, I also changed the sideline
+calculation to fit to the waist and seat measurements and added a sleeveless
+option. After some fine-tuning, this is basically the result.
-While Bibi was specifically made to support people with breasts,
-it also works fine as a base for unisex clothes or t-shirts.
+While Bibi was specifically made to support people with breasts, it also works
+fine as a base for unisex clothes or t-shirts.
-Essentially, Bibi _is_ just a simple T-shirt/A-shirt pattern that tries to fit the body on default settings.
-You can use it as alternative to Brian to Teagan for creating your own designs, especially if you need some basic bust support.
+Essentially, Bibi _is_ just a simple T-shirt/A-shirt pattern that tries to fit
+the body on default settings. You can use it as alternative to Brian to Teagan
+for creating your own designs, especially if you need some basic bust support.
However, it's also important to talk about what Bibi is not:
-Bibi can definitely be sewn as a simple top or dress,
-but it's mainly designed as a building block for other patterns or your custom designs.
+Bibi can definitely be sewn as a simple top or dress, but it's mainly designed
+as a building block for other patterns or your custom designs.
-Bibi is highly customizable, but it does not necessarily represent a specific garment or follow a specific style.
-Some option combinations might not make much sense, and you may have to experiment with different options
-yourself to find the design you're looking for.
+Bibi is highly customizable, but it does not necessarily represent a specific
+garment or follow a specific style. Some option combinations might not make
+much sense, and you may have to experiment with different options yourself to
+find the design you're looking for.
-You can make Bibi as short as a sports bra, or as long as a dress, but that doesn't mean that Bibi creates a good bra or dress as is.
-A sports bra probably needs more darts and lots of negative ease, and if you just make it dress-length, it will probably look like a sack.
+You can make Bibi as short as a sports bra, or as long as a dress, but that
+doesn't mean that Bibi creates a good bra or dress as is. A sports bra
+probably needs more darts and lots of negative ease, and if you just make it
+dress-length, it will probably look like a sack.
-Additionally, when you make a dress with Bibi out of woven fabric, you'll have to ensure yourself that there
-is enough room for leg movement.
-Depending on the shape around the waist or the size of the neck hole,
-you also may have to add buttons or zippers on the front or back so you can actually put it on.
+Additionally, when you make a dress with Bibi out of woven fabric, you'll have
+to ensure yourself that there is enough room for leg movement. Depending on
+the shape around the waist or the size of the neck hole, you also may have to
+add buttons or zippers on the front or back so you can actually put it on.
-Bibi is also not a standard block/sloper for woven fabric. It only does a very basic front bust adjustment
-designed for stretchy knit fabric and will not work well as a base for fitted shirts and blouses from woven fabric.
-You'll also need to increase ease settings when working with non-stretchy fabric.
+Bibi is also not a standard block/sloper for woven fabric. It only does a very
+basic front bust adjustment designed for stretchy knit fabric and will not work
+well as a base for fitted shirts and blouses from woven fabric. You'll also
+need to increase ease settings when working with non-stretchy fabric.
-The name Bibi is a little joke and comes from _Bibi und Tina_, a German audio play for children,
-where 13-year-old witch _Bibi Blocksberg_ is a companion of _Tina_. So it kinda makes sense.
+The name Bibi is a little joke and comes from _Bibi und Tina_, a German audio
+play for children, where 13-year-old witch _Bibi Blocksberg_ is a companion of
+_Tina_. So it kinda makes sense.
Jonathan
@@ -54,54 +69,45 @@ Jonathan
To make Bibi, you will need the following:
- Basic sewing supplies
-- About 1 - 3 metres (1.1 - 3.3 yards) of a suitable fabric ([see Bibi Fabric options](/docs/designs/bibi/fabric/))
-- A short crop top without sleeves needs probably less than a meter, a long dress with sleeves needs much more fabric.
-
-:::note
-
-###### A serger/overlock is nice, but optional
-
-As with all knitwear and stretch fabrics, a serger/overlock will make your life easier.
-If you do not have one of those, don’t despair. You don’t really need it. All serged seams on Bibi can also be sewn with a short, narrow zigzag stitch (~2 mm wide) on a standard sewing machine.
-
-:::
-
-:::note
-
-###### Bibi is a pattern building block
-
-Bibi can be sewn as a simple top, but is mostly designed as a building block for other patterns or custom designs.
-
-You may want to finish the hem, armholes, and neck using knit bands, knit binding or ribbing fabric. In this case, you may need additional material.
+- About 1 - 3 metres (1.1 - 3.3 yards) of a suitable fabric (see [Fabric
+ options](#fabric))
+- A short crop top without sleeves needs probably less than a meter, a long
+ dress with sleeves needs much more fabric.
+:::tip A serger/overlock is nice, but optional
+As with all knitwear and stretch fabrics, a serger/overlock will make your life
+easier. If you do not have one of those, don’t despair. You don’t really need
+it. All serged seams on Bibi can also be sewn with a short, narrow zigzag
+stitch (~2 mm wide) on a standard sewing machine.
:::
## Fabric Options {#fabric}
-Bibi is by default designed as a close-fitting top and is best suited to knit fabrics with some stretch, such as jersey.
+Bibi is by default designed as a close-fitting top and is best suited to knit
+fabrics with some stretch, such as jersey.
-If your main fabric is elastic enough, can use strips of it to finish the waistband, armholes/cuffs and neck opening.
-Alternatively, you can also use rib fabric or store-bought strips of knit binding.
+If your main fabric is elastic enough, can use strips of it to finish the
+waistband, armholes/cuffs and neck opening. Alternatively, you can also use
+rib fabric or store-bought strips of knit binding.
-If you are making a default Bibi to see how it fits we recommend to start with a cheap fabric, such as old bedsheets,
-that matches the drape and stretch of the fabric you intend to make a finalised with.
+If you are making a default Bibi to see how it fits we recommend to start with
+a cheap fabric, such as old bedsheets, that matches the drape and stretch of
+the fabric you intend to make a finalised with.
:::tip
+If you're new to sewing, interlock jersey is nice to work with, as it doesn't
+roll up. Prefer jersey with a few percent spandex for better recovery.
-If you're new to sewing, interlock jersey is nice to work with, as it doesn't roll up.
-Prefer jersey with a few percent spandex for better recovery.
-
-Fabric weights can also help you make your choice.
-A weight of 130-200 grams per square meter (or 4-6 ounces per square yard) is likely to be about right for a basic shirt.
-
+Fabric weights can also help you make your choice. A weight of 130-200 grams
+per square meter (or 4-6 ounces per square yard) is likely to be about right
+for a basic shirt.
:::
:::note
-
-Woven fabrics with good drape and thicker fabrics such as sweat could also work.
-Increase all ease settings to at least around 15% and ensure the neck hole is large enough to fit a head through.
-Alternatively, you can also add a zipper or buttons to the front or back to make it easier to put on.
-
+Woven fabrics with good drape and thicker fabrics such as sweat could also
+work. Increase all ease settings to at least around 15% and ensure the neck
+hole is large enough to fit a head through. Alternatively, you can also add a
+zipper or buttons to the front or back to make it easier to put on.
:::
## Cutting Instructions {#cutting}
@@ -115,18 +121,21 @@ Alternatively, you can also add a zipper or buttons to the front or back to make
- Cut 2 _Armhole Binding(s)_ or _Cuff(s)_ (depending on selected options)
- Cut 1 _Waistband_ (if enabled)
-## Caveats
+:::warning Caveats
-- There is extra hem allowance at the bottom hem if there is no _Waistband_ part.
+- There is extra hem allowance at the bottom hem if there is no _Waistband_
+ part.
- There is extra hem allowance at the sleeve part if there is no _Cuff_ part.
- There is no seam allowance on the neck opening.
- There is no seam allowance on the armhole if the sleeve is disabled.
-- There is no seam allowance on the long sides of the _Armhole Binding_ and _Neck Binding_ parts.
-
-:::note
-
-You can cut the front or back parts on the fold, or you can cut the halves separately and sew them together. This is especially
-useful if you only have smaller pieces of fabric or if you want to add buttons or zippers to your design. In this case, make sure
-to add sufficient seam allowance on the center fold.
+- There is no seam allowance on the long sides of the _Armhole Binding_ and
+ _Neck Binding_ parts.
+ :::
+:::tip
+You can cut the front or back parts on the fold, or you can cut the halves
+separately and sew them together. This is especially useful if you only have
+smaller pieces of fabric or if you want to add buttons or zippers to your
+design. In this case, make sure to add sufficient seam allowance on the center
+fold.
:::
diff --git a/sites/orgdocs/docs/designs/bob/options/readme.mdx b/sites/orgdocs/docs/designs/bob/options/readme.mdx
deleted file mode 100644
index affcd44b27b..00000000000
--- a/sites/orgdocs/docs/designs/bob/options/readme.mdx
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: 'Bob the Bib: Design Options'
-sidebar_label: Design Options
-sidebar_position: 10
----
-
-import Headsize from '@site/docs/designs/bob/options/headsize/readme.mdx'
-import Lengthratio from '@site/docs/designs/bob/options/lengthratio/readme.mdx'
-import Neckratio from '@site/docs/designs/bob/options/neckratio/readme.mdx'
-import Widthratio from '@site/docs/designs/bob/options/widthratio/readme.mdx'
-
-## Fit
-
-### Length {#lengthratio}
-
-
-
-### Neck opening {#neckratio}
-
-
-
-### Width {#widthratio}
-
-
-
-## Size
-
-### Head size {#headsize}
-
-
diff --git a/sites/orgdocs/docs/designs/breanna/instructions/readme.mdx b/sites/orgdocs/docs/designs/breanna/instructions/readme.mdx
new file mode 100644
index 00000000000..0c58577b181
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/instructions/readme.mdx
@@ -0,0 +1,74 @@
+---
+title: 'Breanna body block: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+Remember to treat Breanna as a basis rather than a final product, so adjust
+what you need to get the desired look. For instance:
+
+- Change the neck line
+- Add/change the closure allowances
+- Alter the dart placements
+- Add a collar
+
+It is all up to you! Experiment and go forth!
+
+:::tip Breanna is a block, not a pattern
+
+A block is a basic shape on which other patterns are based. They are sometimes
+also called slopers, although purists will argue that a block and a sloper are
+different things.
+
+Blocks are typically not made as-is but rather serve as a basis for other
+patterns so the instructions below will not go in depth about closures or
+finishes and are for the default Breanna block.
+:::
+
+## Step 1: Mock-up Construction
+
+- Close the front darts.
+- Close the back darts.
+- Sew the front to the backs at the shoulders _good sides together_.
+- Matching notches, sew the sleeves to the shoulder _good sides together_.
+- Sew the side seams _good sides together_.
+
+:::tip
+
+- You may need to leave the bottom of sleeve side seams open to put the garment
+ on.
+- If you are making adjustments you may wish to sew the seams _wrong sides
+ together_ to make them easier to adjust.
+ :::
+
+## Step 2: Try it on
+
+- Try it on and check the fit by pinning the back closed whilst wearing it.
+- Make any alterations and try it on again.
+- Repeat until you are happy.
+
+:::tip
+If you do not have someone to help with pinning, you may find it easier to cut
+the front part in two with seam allowance rather than on a fold and sew the
+back seam up so that you can pin in the front when trying on.
+
+Keep an eye out for anything you keep doing whilst wearing the mock-up, are you
+pulling it down? Constantly adjusting the shoulder? etc. Things like these are
+signs of where the pattern may need adjusting.
+
+Sometimes you may need to wear the mock-up for an extended amount of time to
+get a better sense of the fit so don't be afraid to walk around in it for a
+couple of hours.
+:::
+
+## Step 3: Make a paper pattern
+
+- Once happy with all your changes unpick your mockup and make a paper pattern
+ based off of it.
+- Now you have a pattern you can use to produce a garment.
+
+:::tip
+It is best practice to make a paper pattern from the mock-up if you have made
+any alterations, as this will allow you to clean up any lines but also means
+you have a pattern that you can keep producing garments from.
+:::
diff --git a/sites/orgdocs/docs/designs/breanna/options/acrossbackfactor/acrossbackfactor.svg b/sites/orgdocs/docs/designs/breanna/options/acrossbackfactor/acrossbackfactor.svg
new file mode 100644
index 00000000000..02eb76aef9e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/acrossbackfactor/acrossbackfactor.svg
@@ -0,0 +1,1366 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/acrossbackfactor/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/acrossbackfactor/readme.mdx
new file mode 100644
index 00000000000..e885fb27970
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/acrossbackfactor/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Across back factor'
+---
+
+
+
+Controls your across back width as a factor of your shoulder to shoulder measurement
diff --git a/sites/orgdocs/docs/designs/breanna/options/armholedepthfactor/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/armholedepthfactor/readme.mdx
new file mode 100644
index 00000000000..ee7f7bd7cb1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/armholedepthfactor/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Armhole depth factor'
+---
+
+This option controls the depth of the armhole.
diff --git a/sites/orgdocs/docs/designs/breanna/options/backneckcutout/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/backneckcutout/readme.mdx
new file mode 100644
index 00000000000..93304ab45f5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/backneckcutout/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Back neck cutout'
+---
+
+Controls how deep the neck opening is cut out in the back of the garment.
+In other words, increasing this will shift the neck opening to the back.
diff --git a/sites/orgdocs/docs/designs/breanna/options/bicepsease/bicepsease.svg b/sites/orgdocs/docs/designs/breanna/options/bicepsease/bicepsease.svg
new file mode 100644
index 00000000000..ed43a7f7ea3
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/bicepsease/bicepsease.svg
@@ -0,0 +1,1277 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/bicepsease/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/bicepsease/readme.mdx
new file mode 100644
index 00000000000..dd89bdc21d5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/bicepsease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Biceps ease'
+---
+
+
+
+How much room do you want at your upper arm?
diff --git a/sites/orgdocs/docs/designs/breanna/options/chestease/chestease.svg b/sites/orgdocs/docs/designs/breanna/options/chestease/chestease.svg
new file mode 100644
index 00000000000..33570bc8d76
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/chestease/chestease.svg
@@ -0,0 +1,1233 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/chestease/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/chestease/readme.mdx
new file mode 100644
index 00000000000..9b9f981ec20
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/chestease/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Chest ease'
+---
+
+
+
+How much room do you want at the chest?
+Whatever value you provide here will simply be added to your chest circumference measurement when drafting the garment.
diff --git a/sites/orgdocs/docs/designs/breanna/options/collarease/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/collarease/readme.mdx
new file mode 100644
index 00000000000..24633794c0b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/collarease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Collar ease'
+---
+
+Controls the amount of ease at your collar/neck.
diff --git a/sites/orgdocs/docs/designs/breanna/options/cuffease/cuffease.svg b/sites/orgdocs/docs/designs/breanna/options/cuffease/cuffease.svg
new file mode 100644
index 00000000000..f9db441c6d5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/cuffease/cuffease.svg
@@ -0,0 +1,1277 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/cuffease/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/cuffease/readme.mdx
new file mode 100644
index 00000000000..3df8aba0887
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/cuffease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Cuff ease'
+---
+
+
+
+How much room do you want at your wrist?
diff --git a/sites/orgdocs/docs/designs/breanna/options/frontarmholedeeper/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/frontarmholedeeper/readme.mdx
new file mode 100644
index 00000000000..597175fe44e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/frontarmholedeeper/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Front armhole extra cutout'
+---
+
+Controls how much the front of the armhole is cut deeper into the garment than the back.
+
+Since the human shoulder is more rounded at the front of the body, the sleeve(cap) is more
+rounded there too, and the armhole is typically cut deeper into the front of the garment than
+the back. This option controls how much deeper.
diff --git a/sites/orgdocs/docs/designs/breanna/options/frontscyedart/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/frontscyedart/readme.mdx
new file mode 100644
index 00000000000..7c19d1c1426
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/frontscyedart/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Front scye dart'
+---
+
+The amount to take out in a dart at the front of the armhole.
diff --git a/sites/orgdocs/docs/designs/breanna/options/primarybustdart/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/primarybustdart/readme.mdx
new file mode 100644
index 00000000000..738d507900d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/primarybustdart/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Bust dart'
+---
+
+Where to place the primary bust dart to shape the chest.
diff --git a/sites/orgdocs/docs/designs/breanna/options/primarybustdartlength/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/primarybustdartlength/readme.mdx
new file mode 100644
index 00000000000..c5929919d8a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/primarybustdartlength/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Bust dart length'
+---
+
+The length of the primary bust dart.
diff --git a/sites/orgdocs/docs/designs/breanna/options/primarybustdartshaping/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/primarybustdartshaping/readme.mdx
new file mode 100644
index 00000000000..ee0646ca6e1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/primarybustdartshaping/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Bust darts shaping'
+---
+
+Controls the balance between the primary and secondary bust darts.
diff --git a/sites/orgdocs/docs/designs/breanna/options/secondarybustdart/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/secondarybustdart/readme.mdx
new file mode 100644
index 00000000000..84fa0f2d49f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/secondarybustdart/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Secondary bust dart'
+---
+
+Optionally include a secondary bust dart to distribute the shaping of the chest.
diff --git a/sites/orgdocs/docs/designs/breanna/options/secondarybustdartlength/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/secondarybustdartlength/readme.mdx
new file mode 100644
index 00000000000..6ae322d0c41
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/secondarybustdartlength/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Secondary bust dart length'
+---
+
+The length of the secondary bust dart.
diff --git a/sites/orgdocs/docs/designs/breanna/options/shoulderdart/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/shoulderdart/readme.mdx
new file mode 100644
index 00000000000..67f77abf3d6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/shoulderdart/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Shoulder dart'
+---
+
+Whether or not to include a back shoulder dart to round the back.
diff --git a/sites/orgdocs/docs/designs/breanna/options/shoulderdartlength/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/shoulderdartlength/readme.mdx
new file mode 100644
index 00000000000..6274797e53c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/shoulderdartlength/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Shoulder dart length'
+---
+
+The length of the back shoulder dart.
diff --git a/sites/orgdocs/docs/designs/breanna/options/shoulderdartsize/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/shoulderdartsize/readme.mdx
new file mode 100644
index 00000000000..ab4465f71e2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/shoulderdartsize/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Shoulder dart size'
+---
+
+The size of the back shoulder dart.
diff --git a/sites/orgdocs/docs/designs/breanna/options/shoulderease/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/shoulderease/readme.mdx
new file mode 100644
index 00000000000..72cc5f440af
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/shoulderease/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Shoulder ease'
+---
+
+Controls the amount of ease on the shoulder to shoulder measurement.
+
+This option allows you to create some extra ease at the shoulders which shifts
+the shoulder seam more outwards and off the shoulder. Thereby creating extra room
+for extra layers of clothing underneath, or more shaped/padded shoulders.
diff --git a/sites/orgdocs/docs/designs/breanna/options/shoulderslopereduction/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/shoulderslopereduction/readme.mdx
new file mode 100644
index 00000000000..c8f1837ce29
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/shoulderslopereduction/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Shoulder slope reduction'
+---
+
+Reduces the shoulder slope to create extra room for shoulder padding.
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapbackfactorx/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapbackfactorx/readme.mdx
new file mode 100644
index 00000000000..c60cf320a1d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapbackfactorx/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap back X'
+---
+
+import Sleevecapbackfactorx from '../../../brian/options/sleevecapbackfactorx/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapbackfactorx/sleevecapbackfactorx.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapbackfactorx/sleevecapbackfactorx.svg
new file mode 100644
index 00000000000..5e8e35dd35c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapbackfactorx/sleevecapbackfactorx.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapbackfactory/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapbackfactory/readme.mdx
new file mode 100644
index 00000000000..c9550f3b929
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapbackfactory/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap back Y'
+---
+
+import Sleevecapbackfactory from '../../../brian/options/sleevecapbackfactory/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapbackfactory/sleevecapbackfactory.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapbackfactory/sleevecapbackfactory.svg
new file mode 100644
index 00000000000..8348fbf7c7f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapbackfactory/sleevecapbackfactory.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapease/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapease/readme.mdx
new file mode 100644
index 00000000000..9fc924e8da9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap ease'
+---
+
+import Sleevecapease from '../../../brian/options/sleevecapease/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapfrontfactorx/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapfrontfactorx/readme.mdx
new file mode 100644
index 00000000000..c28842dfa36
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapfrontfactorx/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap front X'
+---
+
+import Sleevecapfrontfactorx from '../../../brian/options/sleevecapfrontfactorx/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapfrontfactorx/sleevecapfrontfactorx.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapfrontfactorx/sleevecapfrontfactorx.svg
new file mode 100644
index 00000000000..d58c9899afb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapfrontfactorx/sleevecapfrontfactorx.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapfrontfactory/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapfrontfactory/readme.mdx
new file mode 100644
index 00000000000..e340b3e2997
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapfrontfactory/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap front Y'
+---
+
+import Sleevecapfrontfactory from '../../../brian/options/sleevecapfrontfactory/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapfrontfactory/sleevecapfrontfactory.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapfrontfactory/sleevecapfrontfactory.svg
new file mode 100644
index 00000000000..e09d00f3d0f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapfrontfactory/sleevecapfrontfactory.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq1offset/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapq1offset/readme.mdx
new file mode 100644
index 00000000000..297c8a03db5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq1offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q1 offset'
+---
+
+import Sleevecapq1offset from '../../../brian/options/sleevecapq1offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq1offset/sleevecapq1offset.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapq1offset/sleevecapq1offset.svg
new file mode 100644
index 00000000000..f0a2d726ec9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq1offset/sleevecapq1offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq1spread1/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapq1spread1/readme.mdx
new file mode 100644
index 00000000000..5b0640411ad
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq1spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q1 downward spread'
+---
+
+import Sleevecapq1spread1 from '../../../brian/options/sleevecapq1spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq1spread1/sleevecapq1downwardspread.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapq1spread1/sleevecapq1downwardspread.svg
new file mode 100644
index 00000000000..6914bc68fa8
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq1spread1/sleevecapq1downwardspread.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq1spread2/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapq1spread2/readme.mdx
new file mode 100644
index 00000000000..620d20282ae
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq1spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q1 upward spread'
+---
+
+import Sleevecapq1spread2 from '../../../brian/options/sleevecapq1spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq1spread2/sleevecapq1spread2.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapq1spread2/sleevecapq1spread2.svg
new file mode 100644
index 00000000000..f369a220f5e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq1spread2/sleevecapq1spread2.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq2offset/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapq2offset/readme.mdx
new file mode 100644
index 00000000000..8be512f441f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq2offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q2 offset'
+---
+
+import Sleevecapq2offset from '../../../brian/options/sleevecapq2offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq2offset/sleevecapq2offset.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapq2offset/sleevecapq2offset.svg
new file mode 100644
index 00000000000..dcc88d098f0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq2offset/sleevecapq2offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq2spread1/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapq2spread1/readme.mdx
new file mode 100644
index 00000000000..e886723af40
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq2spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q2 downward spread'
+---
+
+import Sleevecapq2spread1 from '../../../brian/options/sleevecapq2spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq2spread1/sleevecapq2spread1.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapq2spread1/sleevecapq2spread1.svg
new file mode 100644
index 00000000000..5197ed0114a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq2spread1/sleevecapq2spread1.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq2spread2/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapq2spread2/readme.mdx
new file mode 100644
index 00000000000..52328926e56
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq2spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q2 upward spread'
+---
+
+import Sleevecapq2spread2 from '../../../brian/options/sleevecapq2spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq2spread2/sleevecapq2spread2.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapq2spread2/sleevecapq2spread2.svg
new file mode 100644
index 00000000000..222d43e460d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq2spread2/sleevecapq2spread2.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq3offset/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapq3offset/readme.mdx
new file mode 100644
index 00000000000..a71ffa9699c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq3offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q3 offset'
+---
+
+import Sleevecapq3offset from '../../../brian/options/sleevecapq3offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq3offset/sleevecapq3offset.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapq3offset/sleevecapq3offset.svg
new file mode 100644
index 00000000000..ac048c72247
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq3offset/sleevecapq3offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq3spread1/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapq3spread1/readme.mdx
new file mode 100644
index 00000000000..a2739198520
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq3spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q3 upward spread'
+---
+
+import Sleevecapq3spread1 from '../../../brian/options/sleevecapq3spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq3spread1/sleevecapq3spread1.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapq3spread1/sleevecapq3spread1.svg
new file mode 100644
index 00000000000..1649c2c5cc9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq3spread1/sleevecapq3spread1.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq3spread2/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapq3spread2/readme.mdx
new file mode 100644
index 00000000000..fc47b2ac5d4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq3spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q3 downward spread'
+---
+
+import Sleevecapq3spread2 from '../../../brian/options/sleevecapq3spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq3spread2/sleevecapq3spread2.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapq3spread2/sleevecapq3spread2.svg
new file mode 100644
index 00000000000..79135108ba0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq3spread2/sleevecapq3spread2.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq4offset/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapq4offset/readme.mdx
new file mode 100644
index 00000000000..592ea036d98
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq4offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q4 offset'
+---
+
+import Sleevecapq4offset from '../../../brian/options/sleevecapq4offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq4offset/sleevecapq4offset.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapq4offset/sleevecapq4offset.svg
new file mode 100644
index 00000000000..b5877e2c0a1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq4offset/sleevecapq4offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq4spread1/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapq4spread1/readme.mdx
new file mode 100644
index 00000000000..1249891c72a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq4spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q4 upward spread'
+---
+
+import Sleevecapq4spread1 from '../../../brian/options/sleevecapq4spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq4spread1/sleevecapq4spread1.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapq4spread1/sleevecapq4spread1.svg
new file mode 100644
index 00000000000..42f42a721fe
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq4spread1/sleevecapq4spread1.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq4spread2/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecapq4spread2/readme.mdx
new file mode 100644
index 00000000000..642aedb9aeb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq4spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q4 downward spread'
+---
+
+import Sleevecapq4spread2 from '../../../brian/options/sleevecapq4spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecapq4spread2/sleevecapq4spread2.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecapq4spread2/sleevecapq4spread2.svg
new file mode 100644
index 00000000000..b84e4d0c6c7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecapq4spread2/sleevecapq4spread2.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecaptopfactorx/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecaptopfactorx/readme.mdx
new file mode 100644
index 00000000000..cff54c21b3e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecaptopfactorx/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap top X'
+---
+
+import Sleevecaptopfactorx from '../../../brian/options/sleevecaptopfactorx/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecaptopfactorx/sleevecaptopfactorx.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecaptopfactorx/sleevecaptopfactorx.svg
new file mode 100644
index 00000000000..be96935d057
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecaptopfactorx/sleevecaptopfactorx.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecaptopfactory/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevecaptopfactory/readme.mdx
new file mode 100644
index 00000000000..f528ca6c09f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecaptopfactory/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap top Y'
+---
+
+import Sleevecaptopfactory from '../../../brian/options/sleevecaptopfactory/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevecaptopfactory/sleevecaptopfactory.svg b/sites/orgdocs/docs/designs/breanna/options/sleevecaptopfactory/sleevecaptopfactory.svg
new file mode 100644
index 00000000000..cd55923d35e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevecaptopfactory/sleevecaptopfactory.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/de.md b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/de.md
new file mode 100644
index 00000000000..0f1e79bcaf9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/de.md
@@ -0,0 +1,9 @@
+---
+title: "Ärmel Längenzugabe"
+---
+
+Diese Option legt fest, um wie viel die Ärmel verlängert werden.
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/en.md b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/en.md
new file mode 100644
index 00000000000..3f1a36658a7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/en.md
@@ -0,0 +1,9 @@
+---
+title: "Sleeve length bonus"
+---
+
+This option controls how to lengthen the sleeves.
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/es.md b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/es.md
new file mode 100644
index 00000000000..afb262a9bd1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/es.md
@@ -0,0 +1,9 @@
+---
+title: "Longitud extra de manga"
+---
+
+Esta opción controla cómo alargar las mangas.
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/fr.md b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/fr.md
new file mode 100644
index 00000000000..2309405912d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/fr.md
@@ -0,0 +1,9 @@
+---
+title: "Bonus de longueur de manche"
+---
+
+Cette option contrôle la longueur des manches.
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/nl.md b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/nl.md
new file mode 100644
index 00000000000..80d095f0216
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/nl.md
@@ -0,0 +1,9 @@
+---
+title: "Bonus mouwlengte"
+---
+
+Deze optie bepaalt hoe de mouwen verlengd worden.
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/readme.mdx
new file mode 100644
index 00000000000..c3c4606e5b5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleeve length bonus'
+---
+
+
+
+This option will lengthen the sleeves of your sweatshirt.
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/sleevelengthbonus.svg b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/sleevelengthbonus.svg
new file mode 100644
index 00000000000..b41a7bd52cc
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/sleevelengthbonus.svg
@@ -0,0 +1,1174 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/uk.md b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/uk.md
new file mode 100644
index 00000000000..1475592b0d2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/sleevelengthbonus/uk.md
@@ -0,0 +1,9 @@
+---
+title: "Бонус за довжину рукава"
+---
+
+Цей параметр визначає, як подовжити рукава.
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/breanna/options/verticalease/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/verticalease/readme.mdx
new file mode 100644
index 00000000000..35a72111566
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/verticalease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Vertical ease'
+---
+
+The amount of ease to distribute along the length of the garment.
diff --git a/sites/orgdocs/docs/designs/breanna/options/waistdart/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/waistdart/readme.mdx
new file mode 100644
index 00000000000..0d26b85733c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/waistdart/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Waist dart'
+---
+
+Whether or not to include a back waist dart to round the back.
diff --git a/sites/orgdocs/docs/designs/breanna/options/waistdartlength/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/waistdartlength/readme.mdx
new file mode 100644
index 00000000000..82c823c07d7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/waistdartlength/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Waist dart length'
+---
+
+The length of the back waist dart.
diff --git a/sites/orgdocs/docs/designs/breanna/options/waistdartsize/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/waistdartsize/readme.mdx
new file mode 100644
index 00000000000..593cbf8c13d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/waistdartsize/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Waist dart size'
+---
+
+The size of the back waist dart
diff --git a/sites/orgdocs/docs/designs/breanna/options/waistease/readme.mdx b/sites/orgdocs/docs/designs/breanna/options/waistease/readme.mdx
new file mode 100644
index 00000000000..af957e130cb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/options/waistease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Waist ease'
+---
+
+The amount of ease at the waist.
diff --git a/sites/orgdocs/docs/designs/breanna/readme.mdx b/sites/orgdocs/docs/designs/breanna/readme.mdx
new file mode 100644
index 00000000000..ca59c60566b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/breanna/readme.mdx
@@ -0,0 +1,69 @@
+---
+title: "Breanna FreeSewing's Breanna Body Block"
+sidebar_label: Breanna Body Block
+---
+
+
+
+:::tip Breanna is a block, not a pattern
+
+A block is a basic shape on which other patterns are based. They are sometimes
+also called slopers, although purists will argue that a block and a sloper are
+different things.
+
+Blocks are typically not made as-is but rather serve as a basis for other
+patterns.
+:::
+
+## Designer Notes {#notes}
+
+With Breanna, I wanted to do two things:
+
+- Create a basic block like [Brian](https://freesewing.org/designs/brian) but
+ for womenswear
+- Try to see in how many different ways I could support the bust dart
+
+It hasn't been a complete success.
+While some people get good results, others do not.
+
+I leave it up because it's know to work for some. You can check [this FAQ on
+womenswear blocks for more background info](/docs/about/faq/womenswear-blocks)
+about the situation with regards to womenswear blocks.
+
+joost
+
+## What You Need {#needs}
+
+To make Breanna, you will need the following:
+
+- Basic sewing supplies
+- About 1.25 - 1.5 metres (1.4 - 1.7 yards) of a suitable fabric ([see Breanna
+ Fabric options](#fabric))
+
+This list is for a default Breanna Block. If you have/are making changes to the
+block you may need to get additional items such as closures, binding etc.
+
+## Fabric Options {#fabric}
+
+If you are making a default Breanna to see how it fits we recommend a fabric
+such as **Calico (Muslin)** or a cheaper fabric that matches the drape and
+stretch of the fabric you intend to make a finalised version of Breanna with.
+
+You can use scraps of fabrics from your stash so don't worry about buying
+fabric specifically for Breanna.
+
+## Cutting Instructions {#cutting}
+
+**Main fabric**
+
+- Cut **1 Front** part on the fold.
+- Cut **2 Back** parts.
+- Cut **2 Sleeve** parts, _good sides together_.
+
+These cutting instructions are just for the default Breanna block. Adjust your cutting accordingly if you have/are making changes to the block.
+
+:::tip
+If you do not have someone to help pin you into Breanna then you may find it
+easier to Cut 2 Front parts with seam allowance and sew the backs up when
+constructing so you can pin in the front.
+:::
diff --git a/sites/orgdocs/docs/designs/brian/options/readme.mdx b/sites/orgdocs/docs/designs/brian/options/readme.mdx
deleted file mode 100644
index b931cd56216..00000000000
--- a/sites/orgdocs/docs/designs/brian/options/readme.mdx
+++ /dev/null
@@ -1,188 +0,0 @@
----
-title: 'Brian body block: Design Options'
-toc_max_heading_level: 5
-sidebar_label: Design Options
-sidebar_position: 10
----
-
-import Acrossbackfactor from '@site/docs/designs/brian/options/acrossbackfactor/readme.mdx'
-import Armholedepth from '@site/docs/designs/brian/options/armholedepth/readme.mdx'
-import Armholedepthfactor from '@site/docs/designs/brian/options/armholedepthfactor/readme.mdx'
-import Backneckcutout from '@site/docs/designs/brian/options/backneckcutout/readme.mdx'
-import Bicepsease from '@site/docs/designs/brian/options/bicepsease/readme.mdx'
-import Chestease from '@site/docs/designs/brian/options/chestease/readme.mdx'
-import Collarease from '@site/docs/designs/brian/options/collarease/readme.mdx'
-import Cuffease from '@site/docs/designs/brian/options/cuffease/readme.mdx'
-import Draftforhighbust from '@site/docs/designs/brian/options/draftforhighbust/readme.mdx'
-import Frontarmholedeeper from '@site/docs/designs/brian/options/frontarmholedeeper/readme.mdx'
-import Legacyarmholedepth from '@site/docs/designs/brian/options/legacyarmholedepth/readme.mdx'
-import Lengthbonus from '@site/docs/designs/brian/options/lengthbonus/readme.mdx'
-import S3armhole from '@site/docs/designs/brian/options/s3armhole/readme.mdx'
-import S3collar from '@site/docs/designs/brian/options/s3collar/readme.mdx'
-import Shoulderease from '@site/docs/designs/brian/options/shoulderease/readme.mdx'
-import Shoulderslopereduction from '@site/docs/designs/brian/options/shoulderslopereduction/readme.mdx'
-import Sleevecapbackfactorx from '@site/docs/designs/brian/options/sleevecapbackfactorx/readme.mdx'
-import Sleevecapbackfactory from '@site/docs/designs/brian/options/sleevecapbackfactory/readme.mdx'
-import Sleevecapease from '@site/docs/designs/brian/options/sleevecapease/readme.mdx'
-import Sleevecapfrontfactorx from '@site/docs/designs/brian/options/sleevecapfrontfactorx/readme.mdx'
-import Sleevecapfrontfactory from '@site/docs/designs/brian/options/sleevecapfrontfactory/readme.mdx'
-import Sleevecapq1offset from '@site/docs/designs/brian/options/sleevecapq1offset/readme.mdx'
-import Sleevecapq1spread1 from '@site/docs/designs/brian/options/sleevecapq1spread1/readme.mdx'
-import Sleevecapq1spread2 from '@site/docs/designs/brian/options/sleevecapq1spread2/readme.mdx'
-import Sleevecapq2offset from '@site/docs/designs/brian/options/sleevecapq2offset/readme.mdx'
-import Sleevecapq2spread1 from '@site/docs/designs/brian/options/sleevecapq2spread1/readme.mdx'
-import Sleevecapq2spread2 from '@site/docs/designs/brian/options/sleevecapq2spread2/readme.mdx'
-import Sleevecapq3offset from '@site/docs/designs/brian/options/sleevecapq3offset/readme.mdx'
-import Sleevecapq3spread1 from '@site/docs/designs/brian/options/sleevecapq3spread1/readme.mdx'
-import Sleevecapq3spread2 from '@site/docs/designs/brian/options/sleevecapq3spread2/readme.mdx'
-import Sleevecapq4offset from '@site/docs/designs/brian/options/sleevecapq4offset/readme.mdx'
-import Sleevecapq4spread1 from '@site/docs/designs/brian/options/sleevecapq4spread1/readme.mdx'
-import Sleevecapq4spread2 from '@site/docs/designs/brian/options/sleevecapq4spread2/readme.mdx'
-import Sleevecaptopfactorx from '@site/docs/designs/brian/options/sleevecaptopfactorx/readme.mdx'
-import Sleevecaptopfactory from '@site/docs/designs/brian/options/sleevecaptopfactory/readme.mdx'
-import Sleevelengthbonus from '@site/docs/designs/brian/options/sleevelengthbonus/readme.mdx'
-import Sleevewidthguarantee from '@site/docs/designs/brian/options/sleevewidthguarantee/readme.mdx'
-
-## Fit
-
-### Biceps ease {#bicepsease}
-
-
-
-### Chest ease {#chestease}
-
-
-
-### Collar ease {#collarease}
-
-
-
-### Cuff ease {#cuffease}
-
-
-
-### Draft for high bust {#draftforhighbust}
-
-
-
-### Shoulder ease {#shoulderease}
-
-
-
-## Style
-
-### Length bonus {#lengthbonus}
-
-
-
-### Shoulder seam shift: Armhole side {#s3armhole}
-
-
-
-### Shoulder seam shift: Collar side {#s3collar}
-
-
-
-### Sleeve length bonus {#sleevelengthbonus}
-
-
-
-## Advanced
-
-### Armhole depth {#armholedepth}
-
-
-
-### Across back factor {#acrossbackfactor}
-
-
-
-### Back neck cutout {#backneckcutout}
-
-
-
-### Front armhole extra cutout {#frontarmholedeeper}
-
-
-
-### Legacy armhole depth {#legacyarmholedepth}
-
-
-
-### shoulder slope reduction {#shoulderslopereduction}
-
-
-
-### Sleeve width guarantee {#sleevewidthguarantee}
-
-
-
-### Sleevecap
-
-#### Sleevecap back X {#sleevecapbackfactorx}
-
-
-
-#### Sleevecap back Y {#sleevecapbackfactory}
-
-
-
-#### Sleevecap ease {#sleevecapease}
-
-
-
-#### Sleevecap front X {#sleevecapfrontfactorx}
-
-
-
-#### Sleevecap front Y {#sleevecapfrontfactory}
-
-
-
-#### Sleevecap Q1 offset {#sleevecapq1offset}
-
-
-
-#### Sleevecap Q1 downward spread {#sleevecapq1spread1}
-
-
-
-#### Sleevecap Q1 upward spread {#sleevecapq1spread2}
-
-
-
-#### Sleevecap Q2 offset {#sleevecapq2offset}
-
-
-
-#### Sleevecap Q2 downward spread {#sleevecapq2spread1}
-
-
-
-#### Sleevecap Q2 upward spread {#sleevecapq2spread2}
-
-
-
-#### Sleevecap Q3 offset {#sleevecapq3offset}
-
-
-
-#### Sleevecap Q3 downward spread {#sleevecapq3spread1}
-
-
-
-#### Sleevecap Q3 upward spread {#sleevecapq3spread2}
-
-
-
-#### Sleevecap Q4 offset {#sleevecapq4offset}
-
-
-
-#### Sleevecap Q4 downward spread {#sleevecapq4spread1}
-
-
-
-#### Sleevecap Q4 upward spread {#sleevecapq4spread2}
-
-
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/readme.mdx b/sites/orgdocs/docs/designs/bruce/instructions/readme.mdx
new file mode 100644
index 00000000000..b221513afe4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/instructions/readme.mdx
@@ -0,0 +1,254 @@
+---
+title: 'Bruce boxer briefs: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+
+
+## Step 1: Join back to first side {#step1}
+
+
+
+Align the side of the back (piece 1) with the side (piece 3) making sure to put
+the good sides together. The side (piece 3) is not symmetric, so make be
+careful to correctly match them.
+
+:::tip
+If you look at the part 3 (the side) with the text so you can read it, then
+then left side should be attached to the back, and the right side attached to
+the front & inset. The notches will also help you figure it out.
+:::
+
+Serge them together, taking into account that the seam allowance is 1cm. So aim
+the outside needle of your serger 1cm from the edge of your fabric.
+
+> If metric is not your bag, 1 cm is 3/8 inch.
+
+> Some sergers have a lever to choose between flat seams, or bundled up seams.
+> If you plan to topstitch later (see Step 6), make sure to choose flat seams.
+
+## Step 2: Join back to second side {#step2}
+
+
+
+Align the other side of the back (piece 1) with the second side (piece 3)
+making sure to put the good sides together. Again, because the side (piece 3)
+is not symmetric, be careful to correctly match them.
+
+Serge them together, as you did on the other side.
+
+The back and sides are now joined together.
+Put them aside for a moment as we turn our attention to the other pieces.
+
+## Step 3: Join first inset and fronts {#step3}
+
+
+
+
+
+Joining the inset (piece 4) with the fronts (piece 2) requires you to serge
+them together across their curvy edges.
+
+> Remember that you have two fronts. You have to put them on top of each other
+> and treat it as one double-layered front.
+
+Faced with a tricky seam like this, you might reach for your pins or basting
+thread, but don't. Pinning or basting this will make it harder to sew.
+
+Instead, start at the top of the curved seam, aligning the pieces as shown, and
+slowly serge them together a few cm.
+
+As you move along, manipulate the fabric to make sure both edges stay on top of
+each other as you feed them through your serger.
+
+As you manipulate the fabric to get it aligned properly, it's easy to stretch
+one part more than the other. The notch in the curved edge can help you make
+sure you're keeping things even.
+
+Once you've passed the notch, things will get easier. This would also be a good
+time to compare the remaining length of the curved seams. If one is a bit
+longer than the other, simply stretch the shorter one until they match up.
+
+If the difference is too big however, just leave it. It will get cut off when
+we do the crotchseam.
+
+:::warning
+This is probably the hardest seam in the pattern. Take it slow, and you'll be
+fine.
+:::
+
+:::tip enclose these seams by sandwiching them between the fronts
+
+While it's a bit more work, you can enclose this seam if you baste the insets
+to a single one of the front pieces first, and then sew your front pieces
+together with the insets sandwiched inside.
+
+Sew the front darts separately and turn the whole thing inside out, and you
+have a nice seamless package area in front.
+:::
+
+## Step 4: Join second inset and fronts {#step4}
+
+
+
+After you have joined the first inset and the fronts, continue with the second
+one.
+
+With the fronts and insets joined together, you are left with 3 parts:
+
+- The joined insets and fronts
+- The joined sides and back
+- The elastic
+
+## Step 5: Close the fronts dart {#step5}
+
+
+
+Fold the fronts double along the center fronts line, so that the tusks at the
+bottom line up.
+
+Serge the sides of the tusks to close the fronts dart. For best results, start
+at the top of the seam (where the fabric is folded) and work your way to the
+bottom.
+
+:::tip Keep that seam away from my ...
+
+Alternatively, sew the darts on each piece individually so that both seams are
+folded inside. Arguably, not having an exposed seam in this area is more
+comfortable for the wearer.
+
+:::
+
+## Step 6: Optional: Topstitch {#step6}
+
+
+
+:::note
+This step is optional. Topstitching adds a visual effect that emphasizes the
+individual pattern pieces. It's nice to visually break up a solid fabric, but
+if you're using a print, or when you're colour-blocking, you might want to not
+topstitch.
+:::
+
+If you want to topstitch your serged seams for visual effect, you should do so
+now.
+
+If you topstitch, simply do it for every seam, making sure to do so with a
+flexible stitch. You can use a zig-zag stitch or twin needle if you don't have
+a coverlock or specific flexible stitch setting.
+
+:::tip
+
+When topstitching the seam that closed the fronts dart, start from the bottom,
+and let the topstitching run all the way to the top, where the waistband will
+come. The seam stops halfway through (where the dart ends) but your
+topstitching should continue.
+
+:::
+
+## Step 7: Join the first side to the fronts {#step7}
+
+
+
+Align the side edge of the first side with the edge made up of the fronts+inset
+(good sides together as usual) and serge them together.
+
+## Step 8: Join the second side to the fronts {#step8}
+
+
+
+Do the same for the second side.
+
+## Step 9: Optional: Topstitch {#step9}
+
+
+
+If you've topstitched before, make sure to do the same now for the seams you
+made in step 7 and 8.
+
+## Step 10: Finish the crotchseam {#step10}
+
+
+
+We will now serge the arched opening in the back part to the front parts of the
+boxers, made up of the fronts and insets.
+
+The notches on the back piece will help you. There's the center notch, and the
+other two notches should match up with where the fronts and inset pieces are
+joined.
+
+:::tip
+
+It's easier to start in the middle point and work your way to one side. Then
+start from the middle again to do the other side.
+
+Take it slow, and be **very aware** of where your serger blade is cutting into.
+:::
+
+## Step 11: Hem the first leg {#step11}
+
+
+
+Time to hem the legs. Hem them as you would do any other stretchy knit. Go for
+a flexible stitch. You can use a zig-zag stitch or twin needle if you don't
+have a coverlock or specific flexible stitch setting.
+
+:::tip
+
+Hemming is much easier when you pin things in place first. So fold back your
+hem, and pin it in place. Even better: pin both legs in place and only sew
+when you're happy with how it looks.
+
+:::
+
+## Step 12: Hem the second leg {#step12}
+
+
+
+You know it makes sense.
+
+## Step 13: Make your elastic into a loop {#step13}
+
+
+
+Sew both ends of your elastic together with good sides together.
+
+:::tip Not sure how much elastic you need?
+
+Simply wrap your elastic around your waist where it would end up sitting, and
+tighten it until it feels right. Make a mark of where the edge joins, add 2cm
+seam allowance, and that's your length.
+
+:::
+
+## Step 14: Attach elastic to waist {#step14}
+
+
+
+Attach the elastic to the waist.
+
+Do so good sides together if you're using a flexible stitch or twin needle on a
+conventional sewing machine.
+
+If you're using a coverlock, put the elastic on top of the good side of the
+fabric.
+
+:::tip
+
+The length of your elastic will probably differ from the fabric length, as they
+stretch differently. Pinning will help you achieve an even stretch.
+
+Divide both your elastic and boxer waistline into 4 (or 8) parts. Pin elastic
+and fabric together at these points.
+
+While sewing, stretch elastic and fabric together between each set of pins,
+removing the pins as you move on.
+
+:::
+
+## Step 15: Trim and clean up {#step15}
+
+
+
+Trim any excess fabric you might have at elastic or hem, and any loose threads.
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step01.png b/sites/orgdocs/docs/designs/bruce/instructions/step01.png
new file mode 100644
index 00000000000..fb145280b68
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step01.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step02.png b/sites/orgdocs/docs/designs/bruce/instructions/step02.png
new file mode 100644
index 00000000000..9e6ff791344
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step02.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step03-a.png b/sites/orgdocs/docs/designs/bruce/instructions/step03-a.png
new file mode 100644
index 00000000000..3a483291f0c
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step03-a.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step03-b.png b/sites/orgdocs/docs/designs/bruce/instructions/step03-b.png
new file mode 100644
index 00000000000..f0cbb451f99
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step03-b.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step03-c.png b/sites/orgdocs/docs/designs/bruce/instructions/step03-c.png
new file mode 100644
index 00000000000..4fa73bad68b
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step03-c.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step03-d.png b/sites/orgdocs/docs/designs/bruce/instructions/step03-d.png
new file mode 100644
index 00000000000..a416b05142b
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step03-d.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step05.png b/sites/orgdocs/docs/designs/bruce/instructions/step05.png
new file mode 100644
index 00000000000..acf979f1e67
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step05.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step06.jpg b/sites/orgdocs/docs/designs/bruce/instructions/step06.jpg
new file mode 100644
index 00000000000..09b2db2931b
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step06.jpg differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step07.png b/sites/orgdocs/docs/designs/bruce/instructions/step07.png
new file mode 100644
index 00000000000..c1ef4c03792
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step07.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step08.png b/sites/orgdocs/docs/designs/bruce/instructions/step08.png
new file mode 100644
index 00000000000..54d71d51318
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step08.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step10.png b/sites/orgdocs/docs/designs/bruce/instructions/step10.png
new file mode 100644
index 00000000000..34d49674165
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step10.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step11.png b/sites/orgdocs/docs/designs/bruce/instructions/step11.png
new file mode 100644
index 00000000000..d2782c01e60
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step11.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step12.png b/sites/orgdocs/docs/designs/bruce/instructions/step12.png
new file mode 100644
index 00000000000..b1dd728d733
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step12.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step13.png b/sites/orgdocs/docs/designs/bruce/instructions/step13.png
new file mode 100644
index 00000000000..deb636c3b17
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step13.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step14.png b/sites/orgdocs/docs/designs/bruce/instructions/step14.png
new file mode 100644
index 00000000000..02c253085e6
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step14.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/instructions/step15.png b/sites/orgdocs/docs/designs/bruce/instructions/step15.png
new file mode 100644
index 00000000000..294b0939db2
Binary files /dev/null and b/sites/orgdocs/docs/designs/bruce/instructions/step15.png differ
diff --git a/sites/orgdocs/docs/designs/bruce/options/backrise/backrise.svg b/sites/orgdocs/docs/designs/bruce/options/backrise/backrise.svg
new file mode 100644
index 00000000000..f80cc247e22
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/options/backrise/backrise.svg
@@ -0,0 +1,123 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/bruce/options/backrise/readme.mdx b/sites/orgdocs/docs/designs/bruce/options/backrise/readme.mdx
new file mode 100644
index 00000000000..ba685d87dcc
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/options/backrise/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Back rise'
+---
+
+
+
+How much extra rise do you want at the back?
+
+This factor will raise the waist at the back of your boxers only.
+
+> If you want to raise the waist overall, that's what the **rise** option does
diff --git a/sites/orgdocs/docs/designs/bruce/options/bulge/bulge.svg b/sites/orgdocs/docs/designs/bruce/options/bulge/bulge.svg
new file mode 100644
index 00000000000..cfddb50c5e7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/options/bulge/bulge.svg
@@ -0,0 +1,123 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/bruce/options/bulge/readme.mdx b/sites/orgdocs/docs/designs/bruce/options/bulge/readme.mdx
new file mode 100644
index 00000000000..da08212e1a2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/options/bulge/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Bulge'
+---
+
+
+
+How much room do you want in the front pouch?
+
+This option will increase the front dart, thereby creating more room in the front.
+
+> If it's vertical room you're looking for, that's what the **rise** option does
diff --git a/sites/orgdocs/docs/designs/bruce/options/legbonus/legbonus.svg b/sites/orgdocs/docs/designs/bruce/options/legbonus/legbonus.svg
new file mode 100644
index 00000000000..2f873647082
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/options/legbonus/legbonus.svg
@@ -0,0 +1,121 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/bruce/options/legbonus/readme.mdx b/sites/orgdocs/docs/designs/bruce/options/legbonus/readme.mdx
new file mode 100644
index 00000000000..5ecd3ce4781
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/options/legbonus/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Leg length bonus'
+---
+
+
+
+How much do you want to lengthen the legs?
diff --git a/sites/orgdocs/docs/designs/bruce/options/legstretch/legstretch.svg b/sites/orgdocs/docs/designs/bruce/options/legstretch/legstretch.svg
new file mode 100644
index 00000000000..723a6c76997
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/options/legstretch/legstretch.svg
@@ -0,0 +1,265 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/bruce/options/legstretch/readme.mdx b/sites/orgdocs/docs/designs/bruce/options/legstretch/readme.mdx
new file mode 100644
index 00000000000..c6a696712b4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/options/legstretch/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Leg stretch'
+---
+
+
+
+The amount of stretch at the (upper) legs.
diff --git a/sites/orgdocs/docs/designs/bruce/options/rise/readme.mdx b/sites/orgdocs/docs/designs/bruce/options/rise/readme.mdx
new file mode 100644
index 00000000000..ea5cfdf39ef
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/options/rise/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Rise'
+---
+
+
+
+This option controls the overall height of the waist.
+
+> The higher the rise, the higher your waist.
diff --git a/sites/orgdocs/docs/designs/bruce/options/rise/rise.svg b/sites/orgdocs/docs/designs/bruce/options/rise/rise.svg
new file mode 100644
index 00000000000..a77219020d8
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/options/rise/rise.svg
@@ -0,0 +1,122 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/bruce/options/stretch/readme.mdx b/sites/orgdocs/docs/designs/bruce/options/stretch/readme.mdx
new file mode 100644
index 00000000000..20e27b660af
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/options/stretch/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Stretch'
+---
+
+
+
+The amount of overall (horizontal) stretch.
diff --git a/sites/orgdocs/docs/designs/bruce/options/stretch/stretch.svg b/sites/orgdocs/docs/designs/bruce/options/stretch/stretch.svg
new file mode 100644
index 00000000000..bd05c7e16c7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/options/stretch/stretch.svg
@@ -0,0 +1,205 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/bruce/readme.mdx b/sites/orgdocs/docs/designs/bruce/readme.mdx
new file mode 100644
index 00000000000..3f472057a4b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/bruce/readme.mdx
@@ -0,0 +1,55 @@
+---
+title: "Bruce: FreeSewing's Bruce Boxer Briefs"
+sidebar_label: Bruce Boxer Briefs
+---
+
+
+
+## Designer Notes {#notes}
+
+I originally designed Bruce many years ago, and it's gone through a couple of
+iterations since. Most notably, Bruce can now be adapted to not have any bulge,
+making it a fully gender-neutral design and a popular choice for people who
+want a express a more masculine look without sacrificing fit.
+
+I have not worn any other underwear than Bruce for at least a decade.
+Suffice to say Bruce comes highly recommended.
+
+joost
+
+## What You Need {#needs}
+
+To make Bruce, you will need the following:
+
+- Basic sewing supplies
+- About 1 meter (1.1 yards) of a suitable fabric ([see Fabric
+ options](#fabric))
+- Enough wide (3cm (1.2 inch) or wider) elastic to fit around your waist
+- A serger, although you can survive without one
+
+## Fabric Options {#fabric}
+
+You need a stretchy fabric for this pattern. Preferable something that is
+comfortable and soft to the touch, while allowing the skin to breathe.
+
+I personally think that nothing can beat rayon for this pattern, although you
+can do with some other knit too, like jersey.
+
+When in doubt, go for rayon.
+
+## Cutting Instructions {#cutting}
+
+Bruce consists of a back, and two sides, insets and fronts.
+
+- **Main fabric**
+ - Cut **1 back** on the fold
+ - Cut **2 fronts**
+ - Cut **2 insets**
+ - Cut **2 sides**
+
+:::warning Caveats
+
+- **back**: Extra hem allowance at the leg
+- **front**: Cut this **twice**
+
+:::
diff --git a/sites/orgdocs/docs/designs/carlita/options/readme.mdx b/sites/orgdocs/docs/designs/carlita/options/readme.mdx
deleted file mode 100644
index 9cc2a1300f5..00000000000
--- a/sites/orgdocs/docs/designs/carlita/options/readme.mdx
+++ /dev/null
@@ -1,236 +0,0 @@
----
-title: 'Carlita Coat: Design Options'
-sidebar_label: Design Options
-sidebar_position: 10
----
-
-import Acrossbackfactor from '@site/docs/designs/carlita/options/acrossbackfactor/readme.mdx'
-import Armholedepth from '@site/docs/designs/carlita/options/armholedepth/readme.mdx'
-import Armholedepthfactor from '@site/docs/designs/carlita/options/armholedepthfactor/readme.mdx'
-import Backneckcutout from '@site/docs/designs/carlita/options/backneckcutout/readme.mdx'
-import Beltwidth from '@site/docs/designs/carlita/options/beltwidth/readme.mdx'
-import Bicepsease from '@site/docs/designs/carlita/options/bicepsease/readme.mdx'
-import Buttonspacinghorizontal from '@site/docs/designs/carlita/options/buttonspacinghorizontal/readme.mdx'
-import Chestease from '@site/docs/designs/carlita/options/chestease/readme.mdx'
-import Chestpocketheight from '@site/docs/designs/carlita/options/chestpocketheight/readme.mdx'
-import Chestpocketplacement from '@site/docs/designs/carlita/options/chestpocketplacement/readme.mdx'
-import Chestpocketwidth from '@site/docs/designs/carlita/options/chestpocketwidth/readme.mdx'
-import Collarflare from '@site/docs/designs/carlita/options/collarflare/readme.mdx'
-import Collarheight from '@site/docs/designs/carlita/options/collarheight/readme.mdx'
-import Collarspread from '@site/docs/designs/carlita/options/collarspread/readme.mdx'
-import Contour from '@site/docs/designs/carlita/options/contour/readme.mdx'
-import Cuffease from '@site/docs/designs/carlita/options/cuffease/readme.mdx'
-import Cufflength from '@site/docs/designs/carlita/options/cufflength/readme.mdx'
-import Frontarmholedeeper from '@site/docs/designs/carlita/options/frontarmholedeeper/readme.mdx'
-import Frontoverlap from '@site/docs/designs/carlita/options/frontoverlap/readme.mdx'
-import Innerpocketdepth from '@site/docs/designs/carlita/options/innerpocketdepth/readme.mdx'
-import Innerpocketplacement from '@site/docs/designs/carlita/options/innerpocketplacement/readme.mdx'
-import Innerpocketweltheight from '@site/docs/designs/carlita/options/innerpocketweltheight/readme.mdx'
-import Innerpocketwidth from '@site/docs/designs/carlita/options/innerpocketwidth/readme.mdx'
-import Lapelreduction from '@site/docs/designs/carlita/options/lapelreduction/readme.mdx'
-import Legacyarmholedepth from '@site/docs/designs/carlita/options/legacyarmholedepth/readme.mdx'
-import Length from '@site/docs/designs/carlita/options/length/readme.mdx'
-import Pocketflapradius from '@site/docs/designs/carlita/options/pocketflapradius/readme.mdx'
-import Pocketheight from '@site/docs/designs/carlita/options/pocketheight/readme.mdx'
-import Pocketplacementhorizontal from '@site/docs/designs/carlita/options/pocketplacementhorizontal/readme.mdx'
-import Pocketplacementvertical from '@site/docs/designs/carlita/options/pocketplacementvertical/readme.mdx'
-import Pocketradius from '@site/docs/designs/carlita/options/pocketradius/readme.mdx'
-import Pocketwidth from '@site/docs/designs/carlita/options/pocketwidth/readme.mdx'
-import S3armhole from '@site/docs/designs/carlita/options/s3armhole/readme.mdx'
-import S3collar from '@site/docs/designs/carlita/options/s3collar/readme.mdx'
-import Seatease from '@site/docs/designs/carlita/options/seatease/readme.mdx'
-import Shoulderease from '@site/docs/designs/carlita/options/shoulderease/readme.mdx'
-import Shoulderslopereduction from '@site/docs/designs/carlita/options/shoulderslopereduction/readme.mdx'
-import Sleevebend from '@site/docs/designs/carlita/options/sleevebend/readme.mdx'
-import Sleevecapease from '@site/docs/designs/carlita/options/sleevecapease/readme.mdx'
-import Sleevecapheight from '@site/docs/designs/carlita/options/sleevecapheight/readme.mdx'
-import Sleevelengthbonus from '@site/docs/designs/carlita/options/sleevelengthbonus/readme.mdx'
-import Waistease from '@site/docs/designs/carlita/options/waistease/readme.mdx'
-
-
-
-## Collar
-
-### Collar flare {#collarflare}
-
-
-
-### Collar height {#collarheight}
-
-
-
-### Collar spread {#collarspread}
-
-
-
-
-
-## Fit
-
-### Across back factor {#acrossbackfactor}
-
-
-
-### Armhole depth {#factor armholedepthfactor}
-
-
-
-### Biceps ease {#bicepsease}
-
-
-
-### Chest ease {#chestease}
-
-
-
-### Cuff ease {#cuffease}
-
-
-
-### Seat ease {#seatease}
-
-
-
-### Shoulder ease {#shoulderease}
-
-
-
-### Sleeve bend {#sleevebend}
-
-
-
-### Sleeve length bonus {#sleevelengthbonus}
-
-
-
-### Waist ease {#waistease}
-
-
-
-
-
-## Pockets
-
-### Chest pocket height {#chestpocketheight}
-
-
-
-### Chest pocket placement {#chestpocketplacement}
-
-
-
-### Chest pocket width {#chestpocketwidth}
-
-
-
-### Inner pocket depth {#innerpocketdepth}
-
-
-
-### Inner pocket placement {#innerpocketplacement}
-
-
-
-### Inner pocket welt height {#innerpocketweltheight}
-
-
-
-### Inner pocket width {#innerpocketwidth}
-
-
-
-### Pocket flap radius {#pocketflapradius}
-
-
-
-### Pocket height {#pocketheight}
-
-
-
-### Horizontal pocket placement {#pocketplacementhorizontal}
-
-
-
-### Vertical pocket placement {#pocketplacementvertical}
-
-
-
-### Pocket radius {#pocketradius}
-
-
-
-### Pocket width {#pocketwidth}
-
-
-
-
-
-## Style
-
-### Belt width {#beltwidth}
-
-
-
-### Horizontal button spacing {#buttonspacinghorizontal}
-
-
-
-### Cuff length {#cufflength}
-
-
-
-### Length {#length}
-
-
-
-### Shoulder seam shift: armhole side {#s3armhole}
-
-
-
-### Shoulder seam shift: collar side {#s3collar}
-
-
-
-
-
-## Advanced
-
-### Armhole depth {#armholedepth
-
-
-
-### Back neck cutout {#backneckcutout}
-
-
-
-### Contour {#contour}
-
-
-
-### Front armhole extra cutout {#frontarmholedeeper}
-
-
-
-### Front overlap {#frontoverlap}
-
-
-
-### Lapel reduction {#lapelreduction}
-
-
-
-### Legacy armhole depth {#legacyarmholedepth}
-
-
-
-### Shoulder slope reduction {#shoulderslopereduction}
-
-
-
-### Sleevecap ease {#sleevecapease}
-
-
-
-### Sleevecap height {#sleevecapheight}
-
-
diff --git a/sites/orgdocs/docs/designs/carlton/options/readme.mdx b/sites/orgdocs/docs/designs/carlton/options/readme.mdx
deleted file mode 100644
index a14cb36286f..00000000000
--- a/sites/orgdocs/docs/designs/carlton/options/readme.mdx
+++ /dev/null
@@ -1,241 +0,0 @@
----
-title: 'Carlton Coat: Design Options'
-sidebar_label: Design Options
-sidebar_position: 10
----
-
-import Acrossbackfactor from '@site/docs/designs/carlton/options/acrossbackfactor/readme.mdx'
-import Armholedepth from '@site/docs/designs/carlton/options/armholedepth/readme.mdx'
-import Armholedepthfactor from '@site/docs/designs/carlton/options/armholedepthfactor/readme.mdx'
-import Backneckcutout from '@site/docs/designs/carlton/options/backneckcutout/readme.mdx'
-import Beltwidth from '@site/docs/designs/carlton/options/beltwidth/readme.mdx'
-import Bicepsease from '@site/docs/designs/carlton/options/bicepsease/readme.mdx'
-import Buttonspacinghorizontal from '@site/docs/designs/carlton/options/buttonspacinghorizontal/readme.mdx'
-import Chestease from '@site/docs/designs/carlton/options/chestease/readme.mdx'
-import Chestpocketangle from '@site/docs/designs/carlton/options/chestpocketangle/readme.mdx'
-import Chestpocketheight from '@site/docs/designs/carlton/options/chestpocketheight/readme.mdx'
-import Chestpocketplacement from '@site/docs/designs/carlton/options/chestpocketplacement/readme.mdx'
-import Chestpocketwidth from '@site/docs/designs/carlton/options/chestpocketwidth/readme.mdx'
-import Collarflare from '@site/docs/designs/carlton/options/collarflare/readme.mdx'
-import Collarheight from '@site/docs/designs/carlton/options/collarheight/readme.mdx'
-import Collarspread from '@site/docs/designs/carlton/options/collarspread/readme.mdx'
-import Cuffease from '@site/docs/designs/carlton/options/cuffease/readme.mdx'
-import Cufflength from '@site/docs/designs/carlton/options/cufflength/readme.mdx'
-import Draftforhighbust from '@site/docs/designs/carlton/options/draftforhighbust/readme.mdx'
-import Frontarmholedeeper from '@site/docs/designs/carlton/options/frontarmholedeeper/readme.mdx'
-import Frontoverlap from '@site/docs/designs/carlton/options/frontoverlap/readme.mdx'
-import Innerpocketdepth from '@site/docs/designs/carlton/options/innerpocketdepth/readme.mdx'
-import Innerpocketplacement from '@site/docs/designs/carlton/options/innerpocketplacement/readme.mdx'
-import Innerpocketweltheight from '@site/docs/designs/carlton/options/innerpocketweltheight/readme.mdx'
-import Innerpocketwidth from '@site/docs/designs/carlton/options/innerpocketwidth/readme.mdx'
-import Lapelreduction from '@site/docs/designs/carlton/options/lapelreduction/readme.mdx'
-import Legacyarmholedepth from '@site/docs/designs/carlton/options/legacyarmholedepth/readme.mdx'
-import Length from '@site/docs/designs/carlton/options/length/readme.mdx'
-import Pocketflapradius from '@site/docs/designs/carlton/options/pocketflapradius/readme.mdx'
-import Pocketheight from '@site/docs/designs/carlton/options/pocketheight/readme.mdx'
-import Pocketplacementhorizontal from '@site/docs/designs/carlton/options/pocketplacementhorizontal/readme.mdx'
-import Pocketplacementvertical from '@site/docs/designs/carlton/options/pocketplacementvertical/readme.mdx'
-import Pocketradius from '@site/docs/designs/carlton/options/pocketradius/readme.mdx'
-import Pocketwidth from '@site/docs/designs/carlton/options/pocketwidth/readme.mdx'
-import S3armhole from '@site/docs/designs/carlton/options/s3armhole/readme.mdx'
-import S3collar from '@site/docs/designs/carlton/options/s3collar/readme.mdx'
-import Seatease from '@site/docs/designs/carlton/options/seatease/readme.mdx'
-import Shoulderease from '@site/docs/designs/carlton/options/shoulderease/readme.mdx'
-import Shoulderslopereduction from '@site/docs/designs/carlton/options/shoulderslopereduction/readme.mdx'
-import Sleevebend from '@site/docs/designs/carlton/options/sleevebend/readme.mdx'
-import Sleevecapease from '@site/docs/designs/carlton/options/sleevecapease/readme.mdx'
-import Sleevecapheight from '@site/docs/designs/carlton/options/sleevecapheight/readme.mdx'
-import Sleevelengthbonus from '@site/docs/designs/carlton/options/sleevelengthbonus/readme.mdx'
-import Waistease from '@site/docs/designs/carlton/options/waistease/readme.mdx'
-
-
-
-## Collar
-
-### Collar flare {#collarflare}
-
-
-
-### Collar height {#collarheight}
-
-
-
-### Collar spread {#collarspread}
-
-
-
-
-
-## Fit
-
-### Across back factor {#acrossbackfactor}
-
-
-
-### Armhole depth {#factor armholedepthfactor}
-
-
-
-### Biceps ease {#bicepsease}
-
-
-
-### Chest ease {#chestease}
-
-
-
-### Cuff ease {#cuffease}
-
-
-
-### Draft for high bust {#draftforhighbust}
-
-
-
-### Seat ease {#seatease}
-
-
-
-### Shoulder ease {#shoulderease}
-
-
-
-### Sleeve bend {#sleevebend}
-
-
-
-### Sleeve length bonus {#sleevelengthbonus}
-
-
-
-### Waist ease {#waistease}
-
-
-
-
-
-## Pockets
-
-### Chest pocket angle {#chestpocketangle}
-
-
-
-### Chest pocket height {#chestpocketheight}
-
-
-
-### Chest pocket placement {#chestpocketplacement}
-
-
-
-### Chest pocket width {#chestpocketwidth}
-
-
-
-### Inner pocket depth {#innerpocketdepth}
-
-
-
-### Inner pocket placement {#innerpocketplacement}
-
-
-
-### Inner pocket welt height {#innerpocketweltheight}
-
-
-
-### Inner pocket width {#innerpocketwidth}
-
-
-
-### Pocket flap radius {#pocketflapradius}
-
-
-
-### Pocket height {#pocketheight}
-
-
-
-### Horizontal pocket placement {#pocketplacementhorizontal}
-
-
-
-### Vertical pocket placement {#pocketplacementvertical}
-
-
-
-### Pocket radius {#pocketradius}
-
-
-
-### Pocket width {#pocketwidth}
-
-
-
-
-
-## Style
-
-### Belt width {#beltwidth}
-
-
-
-### Horizontal button spacing {#buttonspacinghorizontal}
-
-
-
-### Cuff length {#cufflength}
-
-
-
-### Length {#length}
-
-
-
-### Shoulder seam shift: armhole side {#s3armhole}
-
-
-
-### Shoulder seam shift: collar side {#s3collar}
-
-
-
-
-
-## Advanced
-
-### Armhole depth {#armholedepth
-
-
-
-### Back neck cutout {#backneckcutout}
-
-
-
-### Front armhole extra cutout {#frontarmholedeeper}
-
-
-
-### Front overlap {#frontoverlap}
-
-
-
-### Lapel reduction {#lapelreduction}
-
-
-
-### Legacy armhole depth {#legacyarmholedepth}
-
-
-
-### Shoulder slope reduction {#shoulderslopereduction}
-
-
-
-### Sleevecap ease {#sleevecapease}
-
-
-
-### Sleevecap height {#sleevecapheight}
-
-
diff --git a/sites/orgdocs/docs/designs/cathrin/instructions/readme.mdx b/sites/orgdocs/docs/designs/cathrin/instructions/readme.mdx
new file mode 100644
index 00000000000..60b3e5c933d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/instructions/readme.mdx
@@ -0,0 +1,158 @@
+---
+title: 'Cathrin corset: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+:::note There are many ways to construct a corset
+
+These instructions are just one way. With this method, I recommend using a
+wider seam allowance of at least 1.5cm so that your boning channels fit
+comfortably inside the seam allowance.
+
+Beginner corset makers should read the tutorials written by [Sidney
+Eileen](http://www.sidneyeileen.com), who demonstrates several different
+construction methods. [Foundations
+Revealed](https://www.foundationsrevealed.com) is a paywall site for corset
+makers, with several exceptional articles free for non members.
+
+#### Check the original tutorial
+
+This pattern is based on [this tutorial by Cathrin
+Alen](https://katafalk.wordpress.com/2010/06/24/underbust-pattern-tutorial/).
+Cathrin also has [this informative post on making
+corsets](https://katafalk.wordpress.com/2009/05/03/how-i-sew-corsets/) on her
+blog which you might find helpful.
+
+:::
+
+## Step 1: Sew boning channels in center front
+
+
+
+Start with the center front pieces. For an 11-panel Cathrin, this will be Panel
+
+1. Place the outer Panel 1 on the core Panel 1, bad sides together.
+
+With a small stitch width (I set mine to “2”), sew a line straight down the
+center front. Then sew two boning channels to either side, allowing a bit of
+extra space, about 2mm, in addition to the width of your boning.
+
+## Step 2: Attach the first side panel
+
+
+
+Take the next piece. For an 11-panel Cathrin, this will be Panel 2.
+
+Place the outer Panel 2 on the outer Panel 1, _good sides together_.
+
+Place the core Panel 2 on the core Panel 1, _good sides together_.
+
+Ensure that the four layers of fabric line up perfectly. Double check that you
+haven’t mixed up pattern pieces or flipped any over by mistake.
+
+Match up the four layers of fabric at the narrowest part, _good sides
+together_, and pin. Then match the top and bottom of each panel and pin.
+Finally, pin the rest of the edge in place. Use as many pins as needed to make
+sure the panels stay perfectly aligned.
+
+Sew the seam.
+
+## Step 3: Sew the boning channel
+
+
+
+Press both layers of Panel 2 away from the center, using the iron to ease the
+material where the seams curve.
+
+Edgestitch right along the folded edge, just 1-2mm from the seam line. Sew
+slowly and keep an eye on the stitching to ensure that the distance is kept
+even at all times. The purpose of adding this topstitch line is to relieve some
+stress from the connecting seam.
+
+Topstitch another seam parallel to the first seam, allowing a bit of extra
+space, about 3mm, in addition to the width of your boning.
+
+## Step 4: Attach the next panel
+
+
+
+Take the next piece. For an 11-panel Cathrin, this will be Panel 3.
+
+Place the outer Panel 3 on the outer Panel 2, _good sides together_.
+
+Place the core Panel 3 on the core Panel 2, _good sides together_.
+
+Match up the four layers of fabric at the narrowest part, _good sides
+together_, and pin. Then match the top and bottom of each panel and pin.
+Finally, pin the rest of the edge in place. Use as many pins as needed to make
+sure the panels stay perfectly aligned.
+
+Sew the seam.
+
+## Step 5: Sew another boning channel
+
+
+
+Press both layers of Panel 3 away from the center, using the iron to ease the
+material where the seams curve.
+
+Edgestitch right along the folded edge, just 1-2mm from the seam line.
+
+Topstitch another seam parallel to the first seam, allowing a bit of extra
+space, about 2mm, in addition to the width of your boning.
+
+This new boning channel should look just like the one you made attaching Panel
+2 to Panel 1.
+
+## Step 6: Continue attaching the side panels
+
+Continue attaching panels, creating a boning channel in each seam. Attach Panel
+4 to Panel, Panel 5 to Panel 4, and finally Panel 6 to Panel 5.
+
+
+
+Repeat these steps on the other side.
+
+
+
+## Step 7: Finish the corset back
+
+With all of your panels connected, you’re working with the flat sides of each
+Panel 6.
+
+Fold the seam allowance of both pieces inward so that the seam allowance is
+hidden. Press flat, then top stitch close to the edge.
+
+Topstitch another seam next to the edgestitched seam, allowing a bit of extra
+space, about 2mm, in addition to the width of your boning.
+
+
+
+Mark the locations of your grommets. (Don’t insert them yet. Just mark the
+fabric where you’ll place them, and make sure you’re creating a strip suited to
+the width of your grommets.)
+
+Top stitch on the opposite side of the grommet markings, then shift and
+topstitch another seam parallel to the topstitched seam, again leaving enough
+space for the boning.
+
+
+
+Repeat on the other side.
+
+## Step 8: Insert boning
+
+Insert boning in all of the channels.
+
+## Step 9: Bind the top and bottom
+
+Use bias tape or ribbon to bind the top and bottom edges of the corset.
+
+## Step 10: Set the grommets
+
+Set the grommets in the locations you marked earlier.
+
+## Step 11: Lace the corset
+
+You’re done!
diff --git a/sites/orgdocs/docs/designs/cathrin/instructions/step01.png b/sites/orgdocs/docs/designs/cathrin/instructions/step01.png
new file mode 100644
index 00000000000..7fcb433146c
Binary files /dev/null and b/sites/orgdocs/docs/designs/cathrin/instructions/step01.png differ
diff --git a/sites/orgdocs/docs/designs/cathrin/instructions/step02.png b/sites/orgdocs/docs/designs/cathrin/instructions/step02.png
new file mode 100644
index 00000000000..88da314a485
Binary files /dev/null and b/sites/orgdocs/docs/designs/cathrin/instructions/step02.png differ
diff --git a/sites/orgdocs/docs/designs/cathrin/instructions/step03.png b/sites/orgdocs/docs/designs/cathrin/instructions/step03.png
new file mode 100644
index 00000000000..f8d989e33f9
Binary files /dev/null and b/sites/orgdocs/docs/designs/cathrin/instructions/step03.png differ
diff --git a/sites/orgdocs/docs/designs/cathrin/instructions/step04.png b/sites/orgdocs/docs/designs/cathrin/instructions/step04.png
new file mode 100644
index 00000000000..61f7a9dc00e
Binary files /dev/null and b/sites/orgdocs/docs/designs/cathrin/instructions/step04.png differ
diff --git a/sites/orgdocs/docs/designs/cathrin/instructions/step05.png b/sites/orgdocs/docs/designs/cathrin/instructions/step05.png
new file mode 100644
index 00000000000..aea6de0c4be
Binary files /dev/null and b/sites/orgdocs/docs/designs/cathrin/instructions/step05.png differ
diff --git a/sites/orgdocs/docs/designs/cathrin/instructions/step06.png b/sites/orgdocs/docs/designs/cathrin/instructions/step06.png
new file mode 100644
index 00000000000..8bf633db059
Binary files /dev/null and b/sites/orgdocs/docs/designs/cathrin/instructions/step06.png differ
diff --git a/sites/orgdocs/docs/designs/cathrin/instructions/step06b.png b/sites/orgdocs/docs/designs/cathrin/instructions/step06b.png
new file mode 100644
index 00000000000..cf326b1b7b6
Binary files /dev/null and b/sites/orgdocs/docs/designs/cathrin/instructions/step06b.png differ
diff --git a/sites/orgdocs/docs/designs/cathrin/instructions/step07.png b/sites/orgdocs/docs/designs/cathrin/instructions/step07.png
new file mode 100644
index 00000000000..fb583fa648a
Binary files /dev/null and b/sites/orgdocs/docs/designs/cathrin/instructions/step07.png differ
diff --git a/sites/orgdocs/docs/designs/cathrin/instructions/step07b.png b/sites/orgdocs/docs/designs/cathrin/instructions/step07b.png
new file mode 100644
index 00000000000..55948f5487a
Binary files /dev/null and b/sites/orgdocs/docs/designs/cathrin/instructions/step07b.png differ
diff --git a/sites/orgdocs/docs/designs/cathrin/options/backdrop/backdrop.svg b/sites/orgdocs/docs/designs/cathrin/options/backdrop/backdrop.svg
new file mode 100644
index 00000000000..faf1933c630
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/backdrop/backdrop.svg
@@ -0,0 +1,1244 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/cathrin/options/backdrop/readme.mdx b/sites/orgdocs/docs/designs/cathrin/options/backdrop/readme.mdx
new file mode 100644
index 00000000000..b88830eede7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/backdrop/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Back drop'
+---
+
+
+
+This option determines how far the center back will be lowered at the bottom of your corset.
diff --git a/sites/orgdocs/docs/designs/cathrin/options/backopening/backopening.svg b/sites/orgdocs/docs/designs/cathrin/options/backopening/backopening.svg
new file mode 100644
index 00000000000..bffb07282a6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/backopening/backopening.svg
@@ -0,0 +1,1305 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/cathrin/options/backopening/readme.mdx b/sites/orgdocs/docs/designs/cathrin/options/backopening/readme.mdx
new file mode 100644
index 00000000000..ec2bd1158a4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/backopening/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Back opening'
+---
+
+
+
+This option determines how wide the back opening of your corset will be. The back opening is where you string the corset together.
diff --git a/sites/orgdocs/docs/designs/cathrin/options/backrise/backrise.svg b/sites/orgdocs/docs/designs/cathrin/options/backrise/backrise.svg
new file mode 100644
index 00000000000..6ed48007278
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/backrise/backrise.svg
@@ -0,0 +1,1326 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/cathrin/options/backrise/readme.mdx b/sites/orgdocs/docs/designs/cathrin/options/backrise/readme.mdx
new file mode 100644
index 00000000000..87ced49edb0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/backrise/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Back rise'
+---
+
+
+
+How high do you want the corset to rise at the back, relative to the underbust height?
+
+Zero means that the backline will stay horizontal at the level of your underbust.
+In other words, the back will be somewhat the same height as your bra strap.
+
+If you increase the back rise, your corset will rise upwards at the back.
+
+> As this is an underbust corset, the back rise is a style choice and won't affect the fit
diff --git a/sites/orgdocs/docs/designs/cathrin/options/frontdrop/frontdrop.svg b/sites/orgdocs/docs/designs/cathrin/options/frontdrop/frontdrop.svg
new file mode 100644
index 00000000000..0181315c452
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/frontdrop/frontdrop.svg
@@ -0,0 +1,202 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/cathrin/options/frontdrop/readme.mdx b/sites/orgdocs/docs/designs/cathrin/options/frontdrop/readme.mdx
new file mode 100644
index 00000000000..3ce642459cf
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/frontdrop/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Front drop'
+---
+
+
+
+This option determines how far the center front will be lowered at the bottom of your corset.
+
+> If you lower this too much, sitting might become an issue.
diff --git a/sites/orgdocs/docs/designs/cathrin/options/frontrise/frontrise.svg b/sites/orgdocs/docs/designs/cathrin/options/frontrise/frontrise.svg
new file mode 100644
index 00000000000..33a9cb1f6cd
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/frontrise/frontrise.svg
@@ -0,0 +1,202 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/cathrin/options/frontrise/readme.mdx b/sites/orgdocs/docs/designs/cathrin/options/frontrise/readme.mdx
new file mode 100644
index 00000000000..0baf8dbaba1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/frontrise/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Front rise'
+---
+
+
+
+How high do you want the corset to rise up at the center front.
+
+> This rise occurs center front between your breasts. Don't overdo it or the edge of your corset will push into your breasts.
+
+> This option also allows negative values. They will cause the center front to be lowered.
diff --git a/sites/orgdocs/docs/designs/cathrin/options/hiprise/hiprise.svg b/sites/orgdocs/docs/designs/cathrin/options/hiprise/hiprise.svg
new file mode 100644
index 00000000000..3b3a09b5a47
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/hiprise/hiprise.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/cathrin/options/hiprise/readme.mdx b/sites/orgdocs/docs/designs/cathrin/options/hiprise/readme.mdx
new file mode 100644
index 00000000000..726a040723b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/hiprise/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Hip rise'
+---
+
+
+
+How high do you want to corset to rise on your hips, in comparison to the center front and center back.
diff --git a/sites/orgdocs/docs/designs/cathrin/options/panels/panels.svg b/sites/orgdocs/docs/designs/cathrin/options/panels/panels.svg
new file mode 100644
index 00000000000..9a7d3dd7b70
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/panels/panels.svg
@@ -0,0 +1,200 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/cathrin/options/panels/readme.mdx b/sites/orgdocs/docs/designs/cathrin/options/panels/readme.mdx
new file mode 100644
index 00000000000..7e4b11959f5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/panels/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Number of panels'
+---
+
+
+
+This options determines how many panels will be used to make up the corset. You have the choice between:
+
+- 11 panels
+- 13 panels
+
+More panels is a bit more work, but also allows the difference between bust/waist/hips to be evened out over more darts, which may yield to better results.
+
+> More curves = more panels
diff --git a/sites/orgdocs/docs/designs/cathrin/options/waistreduction/readme.mdx b/sites/orgdocs/docs/designs/cathrin/options/waistreduction/readme.mdx
new file mode 100644
index 00000000000..cc33a2361f8
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/waistreduction/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Waist reduction'
+---
+
+
+
+The amount you want the corset to be smaller than your natural waist. In other words, how much do you want it to squeeze you.
diff --git a/sites/orgdocs/docs/designs/cathrin/options/waistreduction/waistreduction.svg b/sites/orgdocs/docs/designs/cathrin/options/waistreduction/waistreduction.svg
new file mode 100644
index 00000000000..85d4e077a5b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/options/waistreduction/waistreduction.svg
@@ -0,0 +1,200 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/cathrin/readme.mdx b/sites/orgdocs/docs/designs/cathrin/readme.mdx
new file mode 100644
index 00000000000..8bf68f4b5de
--- /dev/null
+++ b/sites/orgdocs/docs/designs/cathrin/readme.mdx
@@ -0,0 +1,86 @@
+---
+title: "Cathrin: FreeSewing's Cathrin Corset"
+sidebar_label: Cathrin Corset
+---
+
+
+
+## Designer Notes {#notes}
+
+Cathrin is a side-effect of a project that never went anywhere.
+
+I was going to make an elaborate dress, and I needed a corset to wear under it.
+So I did some research online, and I found [this tutorial by Cathrin
+Åhlén](https://katafalk.wordpress.com/2010/06/24/underbust-pattern-tutorial/)
+on drafting an underbust corset.
+
+So, I essentially implemented those instructions in code, and the rest is
+history as the original project got abandoned.
+
+This design is named `cathrin` after Cathrin Åhlén who taught me (and others)
+how to draft such a thing.
+
+joost
+
+## What You Need {#needs}
+
+Corsets are easier to construct than they seem, however they need several
+specialist items and tools.
+
+You will need BONING. Historic corsets used whale bone to stiffen corsets.
+Modern corset makers use steel. You can get steel bones either as flat steel
+and spiral steel - do research, as different types of corset and different
+corset makers have their own preferences. Plastic bones are also a cheaper
+option.
+
+You can find a good guide to other tools at [Foundations
+Revealed](https://foundationsrevealed.com/).
+
+Sample supplies list:
+
+- About 0.5 meters (0.6 yards) of core fabric (see [Fabric Options](#fabric))
+- About 0.5 meters (0.6 yards) of outer fabric (see [Fabric Options](#fabric))
+- Boning
+- Grommets (size 2)
+- About 2 meters of bias tape
+- About 3 meters of lacing
+- Tools: Grommet setter, awl
+
+## Fabric Options {#fabric}
+
+Corsets must be made from fabric with no stretch at all.
+
+For the core fabric, you need a strong fabric, such as coutil, canvas, or
+denim.
+
+For the outer fabric, you can use most non-stretch fabrics, such as linen,
+cotton, or silk.
+:::note
+The fabric designed for corset making is called coutil. Although coutil is
+expensive, not much is needed for a corset. Some cheaper alternatives include
+canvas, denim and cotton ticking. However, these will stretch over time and are
+not suitable for any garment with a large waist reduction: they are not strong
+enough. They are good options for testing the pattern to see how it fits on
+you.
+
+For corsets made from silk and cotton and other fancy fabrics, you need to use
+several layers - the fabric you want to be seen, on top of a layer of coutil or
+other strength layer, and perhaps also a third layer made out of lining which
+will sit next to the body.
+:::
+
+## Cutting Instructions {#cutting}
+
+Cut 1 core fabric and 1 outer fabric of the center panel, making sure to cut on
+the fold.
+
+Cut 2 core and 2 outer of each side panel with _good sides together_.
+
+For example, for the 11-panel version of Cathrin:
+
+- Panel 1 - Cut 1 core and 1 outer
+- Panel 2 - Cut 2 core and 2 outer
+- Panel 3 - Cut 2 core and 2 outer
+- Panel 4 - Cut 2 core and 2 outer
+- Panel 5 - Cut 2 core and 2 outer
+- Panel 6 - Cut 2 core and 2 outer
diff --git a/sites/orgdocs/docs/designs/florence/instructions/readme.mdx b/sites/orgdocs/docs/designs/florence/instructions/readme.mdx
new file mode 100644
index 00000000000..754362f9098
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florence/instructions/readme.mdx
@@ -0,0 +1,104 @@
+---
+title: 'Florence face mask: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+## Step 1: Join center seam
+
+Join the curved seam that is center of our mask by placing the _good sides
+together_ and sewing them in place.
+
+
+
+:::note
+Repeat this step for both the outer (main) fabric, and the inner (lining) fabric.
+:::
+
+## Step 2 (optional): Press the center seam
+
+:::tip
+This step has no functional value, it will only make your mask look better.
+So if you're not too bothered about that, feel free to skip it.
+:::
+
+Press the seam allowance on the center seam open so the seam lies nice and
+flat.
+
+As this is a curved seam, it won't lay flat. But you can approach it with your
+iron from one side, then do the second half from the other side.
+Alternatively, you can use a tailor's ham or cushion to press.
+
+:::note
+Repeat this step for both the outer (main) fabric, and the inner (lining)
+fabric.
+:::
+
+## Step 3: Sew the outer to the inner fabric and attach ribbons
+
+
+
+Now we will sew the inner (lining) fabric to the outer (main) fabric,
+and attach the ribbons all in one step.
+
+- Place your lining fabric down with the good side up. - Then, place two
+ ribbons on the corners of one side (right in our example) so that they peak out
+ just a bit from the mask, but the ribbon extends inwards. - Now place the main
+ fabric on top of this with the good side town. You should now have both layers
+ of your mask on top of each other with _good sides together_ and two ribbons
+ sandwiched between them - Pin through ribbons and layers to keep them in place
+- Now do the same on the other side
+
+:::tip
+
+As you get some practice, you will find you don't need to pin this and can just
+insert the ribbons as you approach a corner.
+:::
+
+Now sew around the mask, making sure to leave one side open so we can turn the
+mask inside-out later.
+
+:::warning
+Be careful not to catch any of the ribbons in the seam apart from where you
+want them to. Either guide them through the opening you leave on one side, or
+bunch them up in between the masks of your layer to keep them out of the way.
+:::
+
+## Step 4: Turn the mask inside-out
+
+Actually, your mask is inside-out now, so turning it inside out will mean we
+get it outside-out, or regular.
+
+Just reach in through the side your left open and carefully pull the mask
+through to turn it.
+
+## Step 5 (optional): Press the mask
+
+:::tip
+This step has little functional value, it will only make your mask look better.
+So if you're not too bothered about that, feel free to skip it.
+:::
+
+Now that the mask is as it should be, it's time to press it. Before doing so,
+make sure to fold the seam allowance of the side we left open inwards, so that
+we press it flat as if it was sewn.
+
+## Step 6: Close open side of the mask and edge-stitch around the edge
+
+
+
+Now it's time to close the side of our mask the we left open to turn it inside
+out.
+
+We are not merely going to close the opening, but also edge-stitch around the
+entire mask to give our mask some extra stability, and keep the lining at the
+back.
+
+Make sure the open side is folded neatly inside, then edge-stitch around the
+entire mask.
+
+## Step 7: Wear your mask or make a bunch
+
+That's it, you're done! You can now wear your mask.
+
+Even better, make a bunch so you can give others masks too.
diff --git a/sites/orgdocs/docs/designs/florence/instructions/step1.svg b/sites/orgdocs/docs/designs/florence/instructions/step1.svg
new file mode 100644
index 00000000000..c20ba1c7fdf
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florence/instructions/step1.svg
@@ -0,0 +1,342 @@
+
+
diff --git a/sites/orgdocs/docs/designs/florence/instructions/step3.svg b/sites/orgdocs/docs/designs/florence/instructions/step3.svg
new file mode 100644
index 00000000000..883f72e5569
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florence/instructions/step3.svg
@@ -0,0 +1,126 @@
+
+
diff --git a/sites/orgdocs/docs/designs/florence/instructions/step6.svg b/sites/orgdocs/docs/designs/florence/instructions/step6.svg
new file mode 100644
index 00000000000..3084e86e8e6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florence/instructions/step6.svg
@@ -0,0 +1,55 @@
+
+
diff --git a/sites/orgdocs/docs/designs/florence/options/curve/curve.svg b/sites/orgdocs/docs/designs/florence/options/curve/curve.svg
new file mode 100644
index 00000000000..bd7e8a976b2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florence/options/curve/curve.svg
@@ -0,0 +1,117 @@
+
+
diff --git a/sites/orgdocs/docs/designs/florence/options/curve/readme.mdx b/sites/orgdocs/docs/designs/florence/options/curve/readme.mdx
new file mode 100755
index 00000000000..7682c80f2fb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florence/options/curve/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Curve'
+---
+
+
+
+Controls the curve of the upper edge of your face mask.
diff --git a/sites/orgdocs/docs/designs/florence/options/height/height.svg b/sites/orgdocs/docs/designs/florence/options/height/height.svg
new file mode 100644
index 00000000000..86f94f98dd0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florence/options/height/height.svg
@@ -0,0 +1,111 @@
+
+
diff --git a/sites/orgdocs/docs/designs/florence/options/height/readme.mdx b/sites/orgdocs/docs/designs/florence/options/height/readme.mdx
new file mode 100755
index 00000000000..53a79820e27
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florence/options/height/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Height'
+---
+
+
+
+Controls the height of your face mask.
diff --git a/sites/orgdocs/docs/designs/florence/options/length/length.svg b/sites/orgdocs/docs/designs/florence/options/length/length.svg
new file mode 100644
index 00000000000..d90cea6a3ba
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florence/options/length/length.svg
@@ -0,0 +1,117 @@
+
+
diff --git a/sites/orgdocs/docs/designs/florence/options/length/readme.mdx b/sites/orgdocs/docs/designs/florence/options/length/readme.mdx
new file mode 100755
index 00000000000..6772d2be02f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florence/options/length/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Length'
+---
+
+
+
+Controls the length of your face mask.
diff --git a/sites/orgdocs/docs/designs/florence/readme.mdx b/sites/orgdocs/docs/designs/florence/readme.mdx
new file mode 100644
index 00000000000..5141f41afe3
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florence/readme.mdx
@@ -0,0 +1,67 @@
+---
+title: "Florence: FreeSewing's Face Mask"
+sidebar_label: Florence Face Mask
+---
+
+
+
+## Designer Notes {#notes}
+
+When the COVID-pandemic swept the globe in early 2019, and a shortage of PPE
+followed, it became obvious we were going to need a lot of face masks.
+
+So I set out to design this pattern, and also ended up making a whole bunch of
+them for the local university hospital. Because I was rather early to fill
+this need, it was picked up by a variety of publications, such a Forbes, the
+New York Times, and a bunch of others.
+
+As a result, this simple design probably did more to let people know
+FreeSewing exists than any other thing I've ever done. Which is something I
+try not to think about too much.
+
+Obviously, these kind of home-made mask are no substitute for professional PPE,
+but you knew that.
+
+joost
+
+## What You Need {#needs}
+
+To make a Florence face mask, you will need the following:
+
+- Basic sewing supplies
+- About 15 cm (6") of a suitable fabric ([see Fabric options](#fabric))
+- About 15 cm (6") of lining fabric
+- About 1.6 meters (1.8 yards) of ribbon cut in 4 equal parts
+
+## Fabric Options {#fabric}
+
+The goal of our mask is to stop droplets. So you want to go for something that
+filters those out. Then again, you need to be able to breath through your
+mask, so we want fabric that breathes, without letting droplets through.
+
+In addition, we want the inside to be comfortable on our skin. So here I'd
+suggest a tightly woven cotton or viscose/rayon. For the outer fabric, cotton
+again, or a tightly woven wool.
+
+:::note
+Note that fabric that is _breathable_ is not the same as fabric your can breath
+through. There's many so-called waterproof breathable fabrics — or MBFs — that
+are used for outdoor gear because they repel water and are _breathable_ but
+would make a poor choice for a face mask. Look no further than your umbrella
+for an example. Chances are it's more from a fabric you can breath through, but
+only with substantial effort, which would not work for our face mask.
+:::
+
+## Cutting Instructions {#cutting}
+
+Florence only has one part, the _mask_. This is half of the mask, so we will
+need two of them. In addition, we want an outer and inner layer of fabric, so
+we'll need four in total:
+
+- **Main fabric**
+ - Cut **2 masks** parts
+- **Lining fabric**
+ - Cut **2 masks** parts
+
+If you're using the same fabric in and out (which is fine) then simply cut **4
+mask** parts.
diff --git a/sites/orgdocs/docs/designs/florent/instructions/finished.gif b/sites/orgdocs/docs/designs/florent/instructions/finished.gif
new file mode 100644
index 00000000000..95b3354a8b5
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/finished.gif differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/readme.mdx b/sites/orgdocs/docs/designs/florent/instructions/readme.mdx
new file mode 100644
index 00000000000..772f4e79ded
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florent/instructions/readme.mdx
@@ -0,0 +1,165 @@
+---
+title: 'Florent flat cap: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+## Step 1: Fuse interfacing
+
+Depending on your fabric weight you might want to fuse all your main fabric
+parts No matter the thickness of your fabric, you should consider reinforcing
+the sides of your brim parts (where the notch mark is). This will help prevent
+the pointy ends of the plastic part to poke outside of the cap on this area
+
+
+
+## Step 2: Closing the back dart
+
+### Version with top part cut on fold
+
+You should mark the top of the back dart on the wrong side of the fabric so
+that you know where to end your seam
+
+
+
+There is several tricks to sewing darts, here is how I do it (I think it is
+called "balancing the dart"): prepare a bias cut rectangle of the same fabric
+you are going to stitch and place it underneath the point of your future dart.
+Stitch the dart starting from the bottom and keep stitching a few stitching
+after the top dart. Leave a good length of thread to make a knot by hand.
+
+
+
+Where the rectangle of fabric starts, cut the seam allowance that is against
+this rectangle, up to the seam so that the seam can be ironed flat open before
+the rectangle. On the area where the dart is stitched with the rectangle, iron
+both seam allowances on one side, and the folded rectangle on the other side.
+Layer the edges of the rectangle. The edge against the main fabric is wider,
+the one above is smaller
+
+### Version with the top part cut twice
+
+This dart is more straight forward since the seam is continuous. Simply stitch
+the seam all the way
+
+### Ironing the seam
+
+You might have to notch the seam allowance to press it flat. Use a tailoring
+Ham or something rounded underneath to help you press the seam open whilst
+keeping the nice shape you just created.
+
+### Top Stitching
+
+Depending on the style you want to achieve, you can top stitch all your seams
+(by machine of by hand). However, the front brim seam will be a bit tricky to
+do with the machine (but not impossible). Anyway, I put this here and won't
+remind you about it after each step, but basically, the process would be:
+Stitch, Iron, Top stitch, Repeat on the next step.
+
+## Step 3: Optional: Join both side parts.
+
+This applies only if you cut two parts for the side part.
+It is a straight seam. nothing much to say about that.
+Iron the seam flat, with the seam allowances open.
+
+## Step 4: Join the top to the side
+
+Warning: There will be quite a few pins involved Align the notches and pin the
+parts together so that this rounded part is held well in place.
+
+
+
+
+For the stitching, I tend to start from the center front, do one half, and then
+start again, back from the center front to do the other half (the **side part**
+is on top for both stitches). So that, if my machine shifts the lower fabric,
+it would be a "symmetrical shift" on both sides. Clip the seam allowances
+where needed, on the curve, you might want to trim the seam allowance of the
+side part, and notch it, to help the ironing process.
+
+
+
+## Step 5: The brim outer seam.
+
+Align the notches and pin the top and bottom parts. Technically, the lower
+part has a shorter seam length, so you might have to stretch it so that the
+seam allowances meet. In practice, fabric is usually stretchy enough so that
+the length difference can be eased. Iron both seam allowance against the
+**Bottom part**
+
+## Step 6: Inserting the plastic part
+
+The plastic part is then inserted inside the brim, being careful to keep the
+seam allowance flat on the **Bottom part**. You then hand stitch the brim
+closed, keeping the parts in place and well tensioned.
+
+
+
+## Step 7: Stitching the brim to the cap
+
+Align the notches and stitch the brim to the cap.
+Be careful not to stitch onto the plastic.
+It might be easier if you "free" the arm of your machine
+
+## Step 8: Prepare the lining
+
+Basically, repeat the steps 2, 3 and 4 with the lining **top** and **side
+parts**. This would also be a good time to stitch a label on the **top part**
+of the lining if you are into this kind of things.
+
+## Step 9: Join lining to main fabric.
+
+Turn the lining outside out and place the main fabric in it (good side against
+good side). Pin and stitch from one end of the brim to the other end of the
+brim (leaving the brim seam open).
+
+
+
+Don't forget to back tack this stitch quite well since it will get some stretch
+when we will turn the cap "outside out". Turn the cap outside out, so that the
+good side is outside. On the Brim area, baste the lining in place and hand
+stitch it to the brim in a way to hide the other stitches that are already on
+the seam allowance. 
+
+## Step 10: Top stitching the bottom of the cap
+
+It is a good idea to top stitch the bottom seam of the cap so that the lining
+stays inside. To have a better control I usually baste it first, so that the
+edge is sharp. 
+
+## Step 11: The tape
+
+Form a loop with the tape so that the circumference of the loop matches the
+measured head circumference of the wearer of the cap. The best result is
+achieved when you pin the tape while you are wrapping it around the head of the
+future owner of the cap. Once the loop is closed, you can even double check it
+and ask if this fit is OK for the wearer.
+
+
+
+Trim the ends of the tape in an arrow shape to keep it from poking out.
+
+
+Divide the tape in two with two pins
+
+
+
+Pin the tape in place: The two pins are used to distribute the tape equally on
+both sides. Place one pin at the back, and the other at the front. Since the
+brim is held in place it can't be much stretched, so pin the tape in this area
+"normally" For the remaining part you might need to ease the fabric along the
+tape. I recommend to hand stitch the tape in place, on both edges of the tape
+
+
+
+## Step 12: Stitch the side to the brim
+
+We are almost done, and the last step will be to attach the brim top to the
+front of the body of the cap. Pin the two part in position from the outside,
+turn the cap on the lining side and stitch both parts together several times.
+
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step01.jpg b/sites/orgdocs/docs/designs/florent/instructions/step01.jpg
new file mode 100644
index 00000000000..db2baec500c
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step01.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step02.jpg b/sites/orgdocs/docs/designs/florent/instructions/step02.jpg
new file mode 100644
index 00000000000..b673f6ec199
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step02.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step03.jpg b/sites/orgdocs/docs/designs/florent/instructions/step03.jpg
new file mode 100644
index 00000000000..7a80ee42c56
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step03.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step04.jpg b/sites/orgdocs/docs/designs/florent/instructions/step04.jpg
new file mode 100644
index 00000000000..440bcd9220a
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step04.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step05.jpg b/sites/orgdocs/docs/designs/florent/instructions/step05.jpg
new file mode 100644
index 00000000000..8a9e8638ab6
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step05.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step06.jpg b/sites/orgdocs/docs/designs/florent/instructions/step06.jpg
new file mode 100644
index 00000000000..2a7aa038fce
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step06.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step07.jpg b/sites/orgdocs/docs/designs/florent/instructions/step07.jpg
new file mode 100644
index 00000000000..4063afc93bc
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step07.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step08.jpg b/sites/orgdocs/docs/designs/florent/instructions/step08.jpg
new file mode 100644
index 00000000000..b0f81798d3c
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step08.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step09.jpg b/sites/orgdocs/docs/designs/florent/instructions/step09.jpg
new file mode 100644
index 00000000000..65486529e06
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step09.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step10.jpg b/sites/orgdocs/docs/designs/florent/instructions/step10.jpg
new file mode 100644
index 00000000000..6ba6189786d
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step10.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step11.jpg b/sites/orgdocs/docs/designs/florent/instructions/step11.jpg
new file mode 100644
index 00000000000..9fc624b816a
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step11.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step12.jpg b/sites/orgdocs/docs/designs/florent/instructions/step12.jpg
new file mode 100644
index 00000000000..b3cea18b285
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step12.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step13.jpg b/sites/orgdocs/docs/designs/florent/instructions/step13.jpg
new file mode 100644
index 00000000000..3ced8f0f09d
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step13.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step14.jpg b/sites/orgdocs/docs/designs/florent/instructions/step14.jpg
new file mode 100644
index 00000000000..75cf3dbb2ef
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step14.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step15.jpg b/sites/orgdocs/docs/designs/florent/instructions/step15.jpg
new file mode 100644
index 00000000000..8162ad66f03
Binary files /dev/null and b/sites/orgdocs/docs/designs/florent/instructions/step15.jpg differ
diff --git a/sites/orgdocs/docs/designs/florent/instructions/step16.svg b/sites/orgdocs/docs/designs/florent/instructions/step16.svg
new file mode 100644
index 00000000000..391762a48c2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florent/instructions/step16.svg
@@ -0,0 +1,518 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/florent/options/headease/readme.mdx b/sites/orgdocs/docs/designs/florent/options/headease/readme.mdx
new file mode 100755
index 00000000000..dbdd20e5ed6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florent/options/headease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Head ease'
+---
+
+The amount of ease around your head.
diff --git a/sites/orgdocs/docs/designs/florent/readme.mdx b/sites/orgdocs/docs/designs/florent/readme.mdx
new file mode 100644
index 00000000000..09cfed5b896
--- /dev/null
+++ b/sites/orgdocs/docs/designs/florent/readme.mdx
@@ -0,0 +1,81 @@
+---
+title: "Florent: FreeSewing's Flat Cap"
+sidebar_label: Florent Flat Cap
+---
+
+
+
+## Designer Notes {#notes}
+
+I found a scan of a hand drawn flat cap pattern, for one size and experimented
+with scaling on the screen of my laptop and tracing it through with tracing
+paper stuck on the screen.
+
+The goal was to make it fit my (rather big) head circumference. I also made a
+few caps, improving the shapes with each prototypes. But then someone asked me
+to make one for them... meaning I would need to scale my parts to fit their
+head circumference.
+
+At that time I heard about freesewing and as I am a bit of a geek I gave it a
+try to draw my (then improved) pattern pieces. Sure enough I was able to play
+with it and get it to scale the parts, to fit any head circumference. I believe
+since then a few improvements have been added by other members of the community
+and it is always a pleasure to see theses caps popping up on the freesewing
+website or on Instagram.
+
+Quentin
+
+## What You Need {#needs}
+
+To make Florent, you will need the following:
+
+- Basic sewing supplies
+- About 0.5 meters (0.6 yards) of a suitable fabric ([see Fabric
+ options](#fabric))
+- About 0.5 meters (0.6 yards) of lining fabric
+- Tape, a bit more than **head circumference** + **ease** that you used for the
+ pattern
+- A sheet of plastic or something rigid for the brim (1 mm thick or less)
+
+## Fabric Options {#fabric}
+
+For the main fabric of your cap, a thick fabric will shape better, but if you
+go for a lighter fabric, you can interface it to give it more body.
+
+The lining can be anything, but it is usually something light and nice.
+
+## Cutting Instructions {#cutting}
+
+To make Florent, cut out the following parts:
+
+- **Main fabric**
+ - Cut **1 top** on the fold but don't include the center seam allowance, or
+ **2 top** with the center seam allowance.
+ - Cut **1 side** on the fold, or **2 side**.
+ - Cut **1 brim top**.
+ - Cut **1 brim bottom**.
+- **Lining fabric**
+ - Cut **1 top** on the fold but don't include the seam allowance, or **2
+ top** with the center seam allowance.
+ - Cut **1 side** on the fold, or **2 side**.
+- **Plastic**
+ - Cut **1 brim interfacing**. Tape the pattern part to the plastic, don't cut
+ the notches in the plastic, but you can mark it (engrave it, or with
+ permanent marker maybe). You don't really want any sharp edge, so make sure
+ everything is smooth and rounded a bit (especially on the pointy sides).
+
+:::note
+
+The brim bottom part is inset, while the brim top part is offset so that the
+seam falls "underneath the brim edge". Keep that in mind when cutting the
+parts, and mark them accordingly, so that you don't end up with the seam on top
+of the brim (I don't want to force you into this design choice, I simply want
+to point out the difference between the parts so that you are aware of it and
+act accordingly).
+
+If you want to avoid a seam down the middle of the top part, you can cut 1 top
+_on the fold_ rather than 2 tops and sew them together. The fold line would be
+the horizontal stretch of the top part, and you'd only have a seam at the right
+side where it tapers downwards.
+
+:::
diff --git a/sites/orgdocs/docs/designs/hugo/instructions/readme.mdx b/sites/orgdocs/docs/designs/hugo/instructions/readme.mdx
new file mode 100644
index 00000000000..67e0135a734
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/instructions/readme.mdx
@@ -0,0 +1,166 @@
+---
+title: 'Hugo hoodie: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+
+
+## Step 1: Prepare the Pocket
+
+- Place the Pocket Facing pieces together with the edges of the Pocket piece,
+ good sides together.
+- Stitch the facing pieces to the pocket with a 1cm seam allowance. Stitch
+ both the long edge, and the shorter edge at the bottom of the pocket.
+- Carefully trim the seam allowance on the facing pieces.
+- Flip and turn the facing pieces good sides out. Then hand-roll and press the
+ seams.
+- Topstitch or edge-stitch 0.5 cm along both upper and lower edges on each side
+ of the pocket, to anchor the facing and the seam allowance.
+- Topstitch another line 0.5 cm from the inside upper edge of the facing on
+ each side of the pocket. This topstitch line will end at the lower edge
+ stitch line.
+- Trim away the excess facing on the inside of the pocket.
+- Press the edges.
+
+## Step 2: Attach the Pocket
+
+- Match the Pocket to the front, good sides together.
+- The upper pocket seam line is marked by notches on the pattern. The pocket
+ bottom edge should point towards the neckline. Align the pocket edges
+ horizontally with the notches on the pattern. Overlap the top of the pocket
+ over the seam line by a little less than 1 cm seam allowance.
+- Stitch the top seam of the Pocket to the Shirt Front.
+- Flip the pocket over the seam line so the bottom now lines up with the edge
+ at the waist.
+- Using a long basting stitch (4mm or longer), baste the pocket into place at
+ the waist, with a ½ cm seam allowance. This is optional, but keeps the
+ pocket in place while you work on the rest of the shirt.
+
+## Step 3: Attach the Sleeves
+
+- The side of the sleeve with the pointy edge at top is the back of the sleeve
+ piece. It is also marked by a double notch on the pattern.
+- Match good sides of the sleeve seam to good sides of the front, matching the
+ single notch on front to single notch on the sleeve piece. Stitch the seam.
+ Do this for both sleeve pieces.
+- To finish the seam, you can use one of these methods:
+ - Use a serger to sew and finish the seam in one step. This is fast and
+ convenient, but produces a less-refined look.
+ - If you do not have a serger, or would like a more refined look, sew a seam
+ with a straight stitch on your conventional machine. Press the seam
+ allowances apart on the wrong side. Then, edgestitch along both sides of
+ the seam from the right side. Finally, trim the excess seam allowance.
+ This produces a refined look, but takes longer.
+ - Another serger-free option is to sew the seam with a straight stitch. Then
+ stitch together the seam allowances with an additional line of zig-zag
+ alongside the straight stitch. Finally, trim the excess seam allowance.
+ This simulates what a serger would do, and is quicker than option (2).
+- Match the good sides of the sleeve to the good sides of the back, matching
+ the double notch on back to the double notch on the sleeve seam. Stitch the
+ seam, then finish the seams as you did for the front.
+
+## Step 4: Close the Sides
+
+- Match the good sides together along sides and sleeves.
+- Stitch the side seam and the sleeves together in one long seam, starting at
+ the waist and going all the way through to the end of the sleeve. You can
+ stop at the underarm point to change colors for the sleeve, if your design
+ calls for it.
+- Finish the seam allowances as you did in step 2. If you finish the sleeves
+ with the edgestitch method, you will need to go slow for finishing the sleeve
+ seam, as you will be .sewing in the tunnel..
+
+## Step 5: Add a Drawstring to the Hood (Optional)
+
+- Take one matching set of the Hood Side pieces, that you intend to feature on
+ the outside of the finished hoodie.
+- Mark the place for a hole on each side hood piece, along the rim.
+- The hole should be located about 1.5-2cm from the edge of the fabric. This
+ is to allow for the seam allowance, as well as for the hood
+- The hole should be located above the notch on the hood rim. The notch shows
+ where the sides of the hood overlap at center front , so the cord should exit
+ above that point.
+- You can consider using the buttonhole feature of your sewing machine, if it
+ has one, to sew a buttonhole at this point.
+- Cut open a hole at the points you marked.
+- After the hood is prepared, you can run a cord around the front edge of the
+ hood. Sneaker shoelaces work well for this.
+
+## Step 6: Prepare Inside and Outside Hood
+
+:::note
+Follow this set of steps twice, once for the outer hood and again for the inside hood.
+:::
+
+- Run a Center Panel piece around one outer edge of the Hood Side, good sides
+ together, and pin in place. Stitch.
+- Pin the Center Panel piece around the remaining outer edge of the hood, good
+ sides together. Stitch.
+- Press the seam allowances, and finish them as in Step 2. Trim the seam
+ allowances.
+
+## Step 7: Join Inside and Outside Hood
+
+- With both hoods inside out, put them on top of each other, good sides
+ together.
+- Align the center panel seams and pin.
+- Stitch along the outer edge of the hood with a 1cm seam allowance. Do not
+ trim the seam allowance.
+- Flip the hood pieces right side out, then press the outer edge flat.
+- Topstitch along the edge of the hood, about 1.5-2 cm from the edge. Ensure
+ that you go beyond the seam allowance, and that it is not caught in this line
+ of stitching. This creates a decorative rim. The enclosed seam allowance
+ helps make the rim a bit poofy.
+- To close the hood, serge together the bottom layers along the neckline. If
+ you do not have a serger, use a zig-zag stitch.
+- (Optional) If you added holes for a drawstring, you can thread the drawstring
+ now.
+
+## Step 8: Preparing a Neckband and Attaching the Hood
+
+- Cut a cross-wise strip of fabric out of your main fabric, your neck opening +
+ 2cm (3/4 inch) long and triple your neck seam allowance wide.
+- Place good sides together on the neck binding piece, then sew a 1cm seam
+ allowance along the short side to make the binding into a circular band.
+- Starting from the back, match the outside of the hood to the right side of
+ the neckline. Align the hood panel to the back of the neckline.
+- Working around to the front, pin the hood to the neckline.
+- Match the good side of the neck binding to the outer neckline (this will be
+ the inside of the hood). Pin the binding to the hood.
+- Serge or zig-zag all layers together with 1cm seam allowance. Check around
+ the neckline to make sure all layers were caught by the stitching.
+- Reinforce the points where the neckline intersects with the sleeve seams.
+ Use a straight stitch on the sewing machine to stabilize these seams.
+- Fold the binding over the raw edge of the neckline, and pin.
+- From the outside, topstitch along and approx 1cm away from the neck edge to
+ catch and secure the binding. You should be able to use a straight stitch
+ here as long as the neck fits somewhat loosely when you try it on. If the
+ neck fits snug, then use a zigzag stitch.
+- Trim excess binding from the inside.
+
+## Step 9: Attach the Cuffs and Waistband
+
+- If the ribbing is light or thin, you can cut the cuff and waistband pieces
+ twice as high, then double-fold them.
+- Place good sides together on the cuffs and waistband pieces, then sew a 1cm
+ seam allowance along the short side to make them into circular bands.
+- Fold along the long side to make cuffs and waistband into double-thick tubes.
+ Sew or serge along the open edges to close.
+- Align the seam on the cuff to the seam on the sleeve. Pin, good sides
+ together.
+- Pin the opposite side.
+- Serge (or zig-zag stitch) the ribbing to the cuff, stretching gently until
+ the ribbing and cuff are the same length. Remove pins before they enter the
+ serger.
+- Trim the bottom edge of the pocket if it extends past the waistband edge.
+- Ensure the ribbing is gathered as uniformly as possible around the waistband.
+- Serge or zig-zag the waistband, again gently stretching until the ribbing and
+ waistband are the same length. Stitch with the hoodie on top so you can see
+ it gets caught in the seam.
+- Topstitch the lower pocket edges to the body of the shirt to anchor the
+ bottom of the pocket.
+
+:::warning FIXME
+This documentation is unfinished. Check the videos for details
+:::
diff --git a/sites/orgdocs/docs/designs/hugo/options/acrossbackfactor/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/acrossbackfactor/readme.mdx
new file mode 100644
index 00000000000..3a97c6c96f0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/acrossbackfactor/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Across back factor'
+---
+
+Controls your across back width as a factor of your shoulder to shoulder measurement
diff --git a/sites/orgdocs/docs/designs/hugo/options/armholedepth/armholedepthfactor.svg b/sites/orgdocs/docs/designs/hugo/options/armholedepth/armholedepthfactor.svg
new file mode 100644
index 00000000000..16f9bd32328
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/armholedepth/armholedepthfactor.svg
@@ -0,0 +1,58 @@
+
+
diff --git a/sites/orgdocs/docs/designs/hugo/options/armholedepth/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/armholedepth/readme.mdx
new file mode 100644
index 00000000000..dc96034d55b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/armholedepth/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Armhole depth'
+---
+
+This option controls the depth of the armhole.
+
+This option applies to the new v3 way of calculating the armhole depth.
+If you enable the [legacy armhole depth](/docs/designs/hugo/options/legacyarmholedepth) option, this option will not apply, but instead a fixed factor will be applied.
diff --git a/sites/orgdocs/docs/designs/hugo/options/backneckcutout/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/backneckcutout/readme.mdx
new file mode 100644
index 00000000000..93304ab45f5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/backneckcutout/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Back neck cutout'
+---
+
+Controls how deep the neck opening is cut out in the back of the garment.
+In other words, increasing this will shift the neck opening to the back.
diff --git a/sites/orgdocs/docs/designs/hugo/options/bicepsease/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/bicepsease/readme.mdx
new file mode 100644
index 00000000000..d707801a563
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/bicepsease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Biceps ease'
+---
+
+The amount of ease at your upper arm.
diff --git a/sites/orgdocs/docs/designs/hugo/options/chestease/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/chestease/readme.mdx
new file mode 100644
index 00000000000..accd115229c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/chestease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Chest ease'
+---
+
+This option controls the ease at your chest.
diff --git a/sites/orgdocs/docs/designs/hugo/options/cuffease/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/cuffease/readme.mdx
new file mode 100644
index 00000000000..5a53c16f556
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/cuffease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Cuff ease'
+---
+
+This option controls the ease at your wrist.
diff --git a/sites/orgdocs/docs/designs/hugo/options/draftforhighbust/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/draftforhighbust/readme.mdx
new file mode 100644
index 00000000000..8c2cc640d21
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/draftforhighbust/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: Draft for high bust
+---
+
+Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts.
diff --git a/sites/orgdocs/docs/designs/hugo/options/hipsease/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/hipsease/readme.mdx
new file mode 100644
index 00000000000..92f24278908
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/hipsease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Hips ease'
+---
+
+How much room do you want at the hips?
diff --git a/sites/orgdocs/docs/designs/hugo/options/legacyarmholedepth/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/legacyarmholedepth/readme.mdx
new file mode 100644
index 00000000000..d0a07a223c8
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/legacyarmholedepth/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Legacy armhole depth'
+---
+
+This option allows you to use the legacy way of calculating the armhole depth in Brian, which Hugo extends.
+
+The legacy (v2) way used the biceps circumference to estimate the armhole depth.
+
+The v3 way instead uses the waist to armpit measurement to locate the bottom of the armhole.
+
+If you enable this option, the Brian block will revert to the v2 way of calculating the armhole depth, and Hugo will follow.
diff --git a/sites/orgdocs/docs/designs/hugo/options/lengthbonus/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/lengthbonus/readme.mdx
new file mode 100644
index 00000000000..3ac88c4381e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/lengthbonus/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Length bonus'
+---
+
+The amount to lengthen the garment by. A negative value will shorten it.
diff --git a/sites/orgdocs/docs/designs/hugo/options/pocketwidth/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/pocketwidth/readme.mdx
new file mode 100644
index 00000000000..bce2f2cb37b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/pocketwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Pocket width'
+---
+
+This option controls the width of the front pocket.
diff --git a/sites/orgdocs/docs/designs/hugo/options/ribbingheight/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/ribbingheight/readme.mdx
new file mode 100644
index 00000000000..0c73d5f1432
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/ribbingheight/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Ribbing height'
+---
+
+The height of the ribbing at the hem and cuffs.
diff --git a/sites/orgdocs/docs/designs/hugo/options/ribbingstretch/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/ribbingstretch/readme.mdx
new file mode 100644
index 00000000000..9e693dd09a3
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/ribbingstretch/readme.mdx
@@ -0,0 +1,23 @@
+---
+title: 'Ribbing stretch'
+---
+
+
+
+This option allows you to tweak the stretch of your ribbing.
+
+It's value is the percentage of stretch in the ribbing fabric, and
+that amount will be subtracted from 100% to determine the final width
+of fabric used in the pattern.
+
+For example, if you choose 10%, then for every 10 cm of ribbing,
+we'll only draft 9 cm.
+This way, 9 cm of ribbing will be stretched to 10 cm.
+
+The option range is between 0% and 10%, with the default set to 5%.
+
+:::note
+If you're not sure what to pick, best is to take the ribbing you are going to
+use see how much of it you need to stretch out to get to 10 cm with a _good_
+stretch.
+:::
diff --git a/sites/orgdocs/docs/designs/hugo/options/ribbingstretch/ribbingstretch.svg b/sites/orgdocs/docs/designs/hugo/options/ribbingstretch/ribbingstretch.svg
new file mode 100644
index 00000000000..d2832f6a52d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/ribbingstretch/ribbingstretch.svg
@@ -0,0 +1,960 @@
+
+
diff --git a/sites/orgdocs/docs/designs/hugo/options/sleevelengthbonus/readme.mdx b/sites/orgdocs/docs/designs/hugo/options/sleevelengthbonus/readme.mdx
new file mode 100644
index 00000000000..cb062fc8f22
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/options/sleevelengthbonus/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Sleeve length bonus'
+---
+
+This option controls how long to lengthen the sleeves by.
diff --git a/sites/orgdocs/docs/designs/hugo/readme.mdx b/sites/orgdocs/docs/designs/hugo/readme.mdx
new file mode 100644
index 00000000000..89faad69705
--- /dev/null
+++ b/sites/orgdocs/docs/designs/hugo/readme.mdx
@@ -0,0 +1,71 @@
+---
+title: "Hugo: FreeSewing's Hugo Hoodie"
+sidebar_label: Hugo Hoodie
+---
+
+
+
+## Designer Notes {#notes}
+
+I wanted to try my hand on raglan sleeves, so this is what I ended up with.
+It's a hooded sweater, with raglan sleeves, and an optional kangaroo pocket.
+
+I named it `hugo` in memory of Hugo De Cock, my godfather with a name to make
+pornstars jealous.
+
+joost
+
+## What You Need {#needs}
+
+To make Hugo, you will need the following:
+
+- Basic sewing supplies
+- About 2 meters (2.2 yards) of a suitable fabric ([see Fabric
+ options](#fabric))
+- Ribbing fabric for the hem and cuffs
+
+## Fabric Options {#fabric}
+
+You may find a dedicated sweatshirt/tracksuit fabric section in your fabric
+store of choice. If you don't, just head for the knitwear section and look for
+a thicker comfortable knit fabric.
+
+As far as fibers go, you can go all cotton, or opt for a poly or acryl cotton
+blend.
+
+Make sure to pay attention to the inside of the fabric. Sweatshirt fabrics come
+in loopback and brushed back. If you want that OMG-it-feels-so-soft-on-my-skin
+feeling, go for brushed.
+
+:::tip
+You don't have to use sweatshirt fabric. Other options are available, from
+fashion-forward neoprene (aka scuba) to a more eyebrow-rising choice like
+crushed velour (aka velvet).
+
+Or if you have given up on class, you could go for fleece.
+:::
+
+## Cutting Instructions {#cutting}
+
+- **Main fabric**
+ - Cut **1 front** on the fold
+ - Cut **1 back** on the fold
+ - Cut **2 sleeves**, good sides together
+ - Cut **1 pocket** on the fold
+ - Cut **2 pocket facing(s)**, good sides together
+ - Cut **4 Hood side(s)**, 2x2 good sides together
+ - Cut **2 hood center(s)**, good sides together
+ - Cut **1 neck binding**
+- **Ribbing**
+ - Cut **2 cuff(s)**
+ - Cut **1 waistband**
+
+:::warning Caveats
+
+- **sleeve**: There's a single notch at the front, and a double notch at the
+ back. These notches match on the front and back parts respectively.
+- **pocket facing** and **hood**: Watch out for the grainlines on these parts
+
+Because Hugo's raglan sleeve also covers a portion of the back and front, the
+sleeve is the dominant feature of your draft.
+:::
diff --git a/sites/orgdocs/docs/designs/jaeger/options/readme.mdx b/sites/orgdocs/docs/designs/jaeger/options/readme.mdx
deleted file mode 100644
index dd3f0797e58..00000000000
--- a/sites/orgdocs/docs/designs/jaeger/options/readme.mdx
+++ /dev/null
@@ -1,325 +0,0 @@
----
-title: 'Aaron A-Shirt: Design Options'
-sidebar_label: Design Options
-sidebar_position: 10
----
-
-import Acrossbackfactor from '@site/docs/designs/jaeger/options/acrossbackfactor/readme.mdx'
-import Armholedepth from '@site/docs/designs/jaeger/options/armholedepth/readme.mdx'
-import Armholedepthfactor from '@site/docs/designs/jaeger/options/armholedepthfactor/readme.mdx'
-import Backneckcutout from '@site/docs/designs/jaeger/options/backneckcutout/readme.mdx'
-import Backvent from '@site/docs/designs/jaeger/options/backvent/readme.mdx'
-import Backventlength from '@site/docs/designs/jaeger/options/backventlength/readme.mdx'
-import Bicepsease from '@site/docs/designs/jaeger/options/bicepsease/readme.mdx'
-import Buttonlength from '@site/docs/designs/jaeger/options/buttonlength/readme.mdx'
-import Buttons from '@site/docs/designs/jaeger/options/buttons/readme.mdx'
-import Centerbackdart from '@site/docs/designs/jaeger/options/centerbackdart/readme.mdx'
-import Centerfronthemdrop from '@site/docs/designs/jaeger/options/centerfronthemdrop/readme.mdx'
-import Chestease from '@site/docs/designs/jaeger/options/chestease/readme.mdx'
-import Chestpocketangle from '@site/docs/designs/jaeger/options/chestpocketangle/readme.mdx'
-import Chestpocketdepth from '@site/docs/designs/jaeger/options/chestpocketdepth/readme.mdx'
-import Chestpocketplacement from '@site/docs/designs/jaeger/options/chestpocketplacement/readme.mdx'
-import Chestpocketweltsize from '@site/docs/designs/jaeger/options/chestpocketweltsize/readme.mdx'
-import Chestpocketwidth from '@site/docs/designs/jaeger/options/chestpocketwidth/readme.mdx'
-import Chestshaping from '@site/docs/designs/jaeger/options/chestshaping/readme.mdx'
-import Collarease from '@site/docs/designs/jaeger/options/collarease/readme.mdx'
-import Collarheight from '@site/docs/designs/jaeger/options/collarheight/readme.mdx'
-import Collarnotchangle from '@site/docs/designs/jaeger/options/collarnotchangle/readme.mdx'
-import Collarnotchdepth from '@site/docs/designs/jaeger/options/collarnotchdepth/readme.mdx'
-import Collarnotchreturn from '@site/docs/designs/jaeger/options/collarnotchreturn/readme.mdx'
-import Collarroll from '@site/docs/designs/jaeger/options/collarroll/readme.mdx'
-import Collarspread from '@site/docs/designs/jaeger/options/collarspread/readme.mdx'
-import Cuffease from '@site/docs/designs/jaeger/options/cuffease/readme.mdx'
-import Draftforhighbust from '@site/docs/designs/jaeger/options/draftforhighbust/readme.mdx'
-import Frontarmholedeeper from '@site/docs/designs/jaeger/options/frontarmholedeeper/readme.mdx'
-import Frontcutawayangle from '@site/docs/designs/jaeger/options/frontcutawayangle/readme.mdx'
-import Frontcutawayend from '@site/docs/designs/jaeger/options/frontcutawayend/readme.mdx'
-import Frontcutawaystart from '@site/docs/designs/jaeger/options/frontcutawaystart/readme.mdx'
-import Frontdartplacement from '@site/docs/designs/jaeger/options/frontdartplacement/readme.mdx'
-import Frontoverlap from '@site/docs/designs/jaeger/options/frontoverlap/readme.mdx'
-import Frontpocketdepth from '@site/docs/designs/jaeger/options/frontpocketdepth/readme.mdx'
-import Frontpocketplacement from '@site/docs/designs/jaeger/options/frontpocketplacement/readme.mdx'
-import Frontpocketradius from '@site/docs/designs/jaeger/options/frontpocketradius/readme.mdx'
-import Frontpocketwidth from '@site/docs/designs/jaeger/options/frontpocketwidth/readme.mdx'
-import Hemradius from '@site/docs/designs/jaeger/options/hemradius/readme.mdx'
-import Hipsease from '@site/docs/designs/jaeger/options/hipsease/readme.mdx'
-import Innerpocketdepth from '@site/docs/designs/jaeger/options/innerpocketdepth/readme.mdx'
-import Innerpocketplacement from '@site/docs/designs/jaeger/options/innerpocketplacement/readme.mdx'
-import Innerpocketweltheight from '@site/docs/designs/jaeger/options/innerpocketweltheight/readme.mdx'
-import Innerpocketwidth from '@site/docs/designs/jaeger/options/innerpocketwidth/readme.mdx'
-import Lapelreduction from '@site/docs/designs/jaeger/options/lapelreduction/readme.mdx'
-import Lapelstart from '@site/docs/designs/jaeger/options/lapelstart/readme.mdx'
-import Legacyarmholedepth from '@site/docs/designs/jaeger/options/legacyarmholedepth/readme.mdx'
-import Lengthbonus from '@site/docs/designs/jaeger/options/lengthbonus/readme.mdx'
-import Pocketfoldover from '@site/docs/designs/jaeger/options/pocketfoldover/readme.mdx'
-import Rolllinecollarheight from '@site/docs/designs/jaeger/options/rolllinecollarheight/readme.mdx'
-import Shoulderease from '@site/docs/designs/jaeger/options/shoulderease/readme.mdx'
-import Shoulderslopereduction from '@site/docs/designs/jaeger/options/shoulderslopereduction/readme.mdx'
-import Sidefrontplacement from '@site/docs/designs/jaeger/options/sidefrontplacement/readme.mdx'
-import Sleevebend from '@site/docs/designs/jaeger/options/sleevebend/readme.mdx'
-import Sleevecapease from '@site/docs/designs/jaeger/options/sleevecapease/readme.mdx'
-import Sleevecapheight from '@site/docs/designs/jaeger/options/sleevecapheight/readme.mdx'
-import Sleevelengthbonus from '@site/docs/designs/jaeger/options/sleevelengthbonus/readme.mdx'
-import Sleeveventlength from '@site/docs/designs/jaeger/options/sleeveventlength/readme.mdx'
-import Sleeveventwidth from '@site/docs/designs/jaeger/options/sleeveventwidth/readme.mdx'
-import Waistease from '@site/docs/designs/jaeger/options/waistease/readme.mdx'
-
-
-
-## Collar
-
-### Collar height {#collarheight}
-
-
-
-### Collar notch angle {#collarnotchangle}
-
-
-
-### Collar notch depth {#collarnotchdepth}
-
-
-
-### Collar notch return {#collarnotchreturn}
-
-
-
-### Collar roll {#collarroll}
-
-
-
-### Collar spread {#collarspread}
-
-
-
-### Roll-line collar height {#rolllinecollarheight}
-
-
-
-
-
-## Fit
-
-### Biceps ease {#bicepsease}
-
-
-
-### Center back dart {#centerbackdart}
-
-
-
-### Chest ease {#chestease}
-
-
-
-### Collar ease {#collarease}
-
-
-
-### Cuff ease {#cuffease}
-
-
-
-### Hips ease {#hipsease}
-
-
-
-### Length bonus {#lengthbonus}
-
-
-
-### Shoulder ease {#shoulderease}
-
-
-
-### Sleeve bend {#sleevebend}
-
-
-
-### Sleeve length bonus {#sleevelengthbonus}
-
-
-
-### Waist ease {#waistease}
-
-
-
-### Draft for high bust {#draftforhighbust}
-
-
-
-
-
-## Pockets
-
-### Chest pocket angle {#chestpocketangle}
-
-
-
-### Chest pocket depth {#chestpocketdepth}
-
-
-
-### Chest pocket placement {#chestpocketplacement}
-
-
-
-### Chest pocket welt size {#chestpocketweltsize}
-
-
-
-### Chest pocket width {#chestpocketwidth}
-
-
-
-### Front pocket depth {#frontpocketdepth}
-
-
-
-### Front pocket placement {#frontpocketplacement}
-
-
-
-### Front pocket radius {#frontpocketradius}
-
-
-
-### Front pocket width {#frontpocketwidth}
-
-
-
-### Inner pocket depth {#innerpocketdepth}
-
-
-
-### Inner pocket placement {#innerpocketplacement}
-
-
-
-### Inner pocket welt height {#innerpocketweltheight}
-
-
-
-### Inner pocket width {#innerpocketwidth}
-
-
-
-### Pocket fold-over {#pocketfoldover}
-
-
-
-
-
-## Sleeves
-
-### Sleeve vent length {#sleeveventlength}
-
-
-
-### Sleeve vent width {#sleeveventwidth}
-
-
-
-
-
-## Style
-
-### Back vent {#backvent}
-
-
-
-### Back vent length {#backventlength}
-
-
-
-### Button length {#buttonlength}
-
-
-
-### Number of buttons {#buttons}
-
-
-
-### Center front hem drop {#centerfronthemdrop}
-
-
-
-### Front cutaway angle {#frontcutawayangle}
-
-
-
-### Front cutaway end {#frontcutawayend}
-
-
-
-### Front cutaway start {#frontcutawaystart}
-
-
-
-### Hem radius {#hemradius}
-
-
-
-### Lapel reduction {#lapelreduction}
-
-
-
-### Lapel start {#lapelstart}
-
-
-
-
-
-## Advanced
-
-### Armhole depth {#armholedepth}
-
-
-
-### Across back factor {#acrossbackfactor}
-
-
-
-### Armhole depth factor {#armholedepthfactor}
-
-
-
-### Back neck cutout {#backneckcutout}
-
-
-
-### Chest shaping {#chestshaping}
-
-
-
-### Front armhole extra cutout {#frontarmholedeeper}
-
-
-
-### Front dart placement {#frontdartplacement}
-
-
-
-### Front overlap {#frontoverlap}
-
-
-
-### Legacy armhole depth {#legacyarmholedepth}
-
-
-
-### Shoulder slope reduction {#shoulderslopereduction}
-
-
-
-### Side/Front placement {#sidefrontplacement}
-
-
-
-### Sleevecap ease {#sleevecapease}
-
-
-
-### Sleevecap height {#sleevecapheight}
-
-
diff --git a/sites/orgdocs/docs/designs/jaeger/options/sleevelengthbonus/readme.mdx b/sites/orgdocs/docs/designs/jaeger/options/sleevelengthbonus/readme.mdx
index 347901805b1..6f34aacdcd1 100644
--- a/sites/orgdocs/docs/designs/jaeger/options/sleevelengthbonus/readme.mdx
+++ b/sites/orgdocs/docs/designs/jaeger/options/sleevelengthbonus/readme.mdx
@@ -6,12 +6,11 @@ title: 'Sleeve length bonus'
The amount to extend the sleeve beyond the length of the sleeve in the base block.
-
+:::tip This is not supposed to be zero
-###### This is not supposed to be zero
+Setting this to zero will make the sleeve length the same as the base length of
+the Bent block, which is certainly too short for a coat.
-Setting this to zero will make the sleeve length the same as the base length of the Bent block,
-which is certainly too short for a coat.
-Please take note of the default value and use that as a basis to lengthen or shorten the sleeve.
-
-
+Please take note of the default value and use that as a basis to lengthen or
+shorten the sleeve.
+:::
diff --git a/sites/orgdocs/docs/designs/lily/instructions/readme.mdx b/sites/orgdocs/docs/designs/lily/instructions/readme.mdx
new file mode 100644
index 00000000000..48cf21cda7e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/instructions/readme.mdx
@@ -0,0 +1,41 @@
+---
+title: 'Lily leggings: Sewing Instructions'
+---
+
+This is a garment made from a stretch fabric. So use appropriate seam
+solutions. A serger is a good way to do this, as are specific stitches that
+certain sewing machine provide. A zigzag stitch will do if that's all you have.
+
+Keep in mind that since these seams are always under tension, it may be a good
+idea to double them up, or provide a zigzag in addition to serging the seam.
+
+## Step 1: Construct the legs
+
+- With _good sides together_ sew the crotch seam of the fronts together.
+- With _good sides together_ sew the cross seam of the backs together.
+- With _good sides together_ sew the front to the back along the inseam.
+- With _good sides together_ sew the front to the back along the side seams.
+
+:::tip
+Open the legs out after sewing the crotch and cross seams to make it easy to
+sew the inseam and side seams.
+:::
+
+## Step 2: The waistband
+
+- With _good sides together_ sew the waistband together along the short edges
+ creating a loop.
+- Fold the waistband in half lengthwise _wrong sides together_.
+- Pin the waistband to the legs _good sides together_ matching the seam of the
+ waistband to the centre back seam of the legs.
+- Sew the waistband to the legs.
+- Press the waistband up and away from the legs.
+
+## Step 3: Hemming
+
+Hem the legs. It is recommended to two parallel lines of stitches to secure the
+hems.
+
+### Step 4: Enjoy!
+
+Whether for leisure, sports or just for fun, go enjoy your new leggings!
diff --git a/sites/orgdocs/docs/designs/lily/options/crossseamcurveangle/readme.mdx b/sites/orgdocs/docs/designs/lily/options/crossseamcurveangle/readme.mdx
new file mode 100644
index 00000000000..5125d633337
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/crossseamcurveangle/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Cross seam angle'
+---
+
+Controls the angle of cross seam curve.
+
+- 0% makes the cross seam draft parallel to the hem.
+- Increasing this option will draft the cross seam at that angle away from the
+ hem.
diff --git a/sites/orgdocs/docs/designs/lily/options/crossseamcurvebend/readme.mdx b/sites/orgdocs/docs/designs/lily/options/crossseamcurvebend/readme.mdx
new file mode 100644
index 00000000000..40f241233a1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/crossseamcurvebend/readme.mdx
@@ -0,0 +1,13 @@
+---
+title: 'Cross seam bend'
+---
+
+Controls the curvature of the cross seam curve.
+
+This curve has an influence on the amount of fabric at your bum.
+
+People with a flatter bum will get a better fit by increasing this, as the
+curve will start later, and this there will be less fabric pooling at the bum.
+
+People with a round bum might want to lower this to create a little more
+(horizontal) room for their behind.
diff --git a/sites/orgdocs/docs/designs/lily/options/crossseamcurvestart/readme.mdx b/sites/orgdocs/docs/designs/lily/options/crossseamcurvestart/readme.mdx
new file mode 100644
index 00000000000..00ebdb12157
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/crossseamcurvestart/readme.mdx
@@ -0,0 +1,13 @@
+---
+title: 'Start of the cross seam curve'
+---
+
+Controls the start of the cross seam curve.
+
+This curve has an influence on the amount of fabric at your bum.
+
+People with a flatter bum will get a better fit by increasing this, as the
+curve will start later, and this there will be less fabric pooling at the bum.
+
+People with a round bum might want to lower this to create a little more
+(horizontal) room for their behind.
diff --git a/sites/orgdocs/docs/designs/lily/options/crotchdrop/readme.mdx b/sites/orgdocs/docs/designs/lily/options/crotchdrop/readme.mdx
new file mode 100644
index 00000000000..1aec42c3cad
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/crotchdrop/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Crotch drop'
+---
+
+Controls by how much the crotch is lowered.
+
+Lowering the crotch makes for a more casual fit.
+A significantly lowered crotched can also be a style choice.
diff --git a/sites/orgdocs/docs/designs/lily/options/crotchseamcurveangle/readme.mdx b/sites/orgdocs/docs/designs/lily/options/crotchseamcurveangle/readme.mdx
new file mode 100644
index 00000000000..64d46cece92
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/crotchseamcurveangle/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Crotch seam angle'
+---
+
+Controls the angle of the crotch seam curve.
+
+- 0% makes the crotch seam draft parallel to the hem.
+- Increasing this option will draft the crotch seam at 180 - the angle.
diff --git a/sites/orgdocs/docs/designs/lily/options/crotchseamcurvebend/readme.mdx b/sites/orgdocs/docs/designs/lily/options/crotchseamcurvebend/readme.mdx
new file mode 100644
index 00000000000..6550d92c6d9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/crotchseamcurvebend/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Crotch seam bend'
+---
+
+Controls the curvature of the crotch seam, which influences the fit at your
+crotch.
diff --git a/sites/orgdocs/docs/designs/lily/options/crotchseamcurvestart/readme.mdx b/sites/orgdocs/docs/designs/lily/options/crotchseamcurvestart/readme.mdx
new file mode 100644
index 00000000000..ce11be339bd
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/crotchseamcurvestart/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Start of the crotch seam curve'
+---
+
+Controls where the crotch seam starts to curve, which influences the fit at
+your crotch.
diff --git a/sites/orgdocs/docs/designs/lily/options/fabricstretch/readme.mdx b/sites/orgdocs/docs/designs/lily/options/fabricstretch/readme.mdx
new file mode 100644
index 00000000000..16989c2b59d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/fabricstretch/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Fabric stretch'
+---
+
+How much the fabric can stretch horizontally; this is used to calculate ease in
+conjuction with waist, knee & seat ease options.
+
+If the ease options clash with the fabric stretch option, a message from the
+designer will appear with a button you can use to fix the eases.
diff --git a/sites/orgdocs/docs/designs/lily/options/fitguides/readme.mdx b/sites/orgdocs/docs/designs/lily/options/fitguides/readme.mdx
new file mode 100644
index 00000000000..8f1f39bfc26
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/fitguides/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Fit guides'
+---
+
+Show measurement guides for horizontal measures; seat, knees & hips.
diff --git a/sites/orgdocs/docs/designs/lily/options/grainlineposition/readme.mdx b/sites/orgdocs/docs/designs/lily/options/grainlineposition/readme.mdx
new file mode 100644
index 00000000000..732ff80ed6c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/grainlineposition/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Grainline position'
+---
+
+Controls the position of the grainline.
+
+You can use this to shift the grainline inward or outward if that works better
+for your body.
diff --git a/sites/orgdocs/docs/designs/lily/options/kneeease/readme.mdx b/sites/orgdocs/docs/designs/lily/options/kneeease/readme.mdx
new file mode 100644
index 00000000000..50356b2fa8d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/kneeease/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Knee ease'
+---
+
+Controls the amount of ease at your knees, which also determines the width of
+the trouser legs.
diff --git a/sites/orgdocs/docs/designs/lily/options/lengthreduction/readme.mdx b/sites/orgdocs/docs/designs/lily/options/lengthreduction/readme.mdx
new file mode 100644
index 00000000000..9513fdb56a9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/lengthreduction/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Length reduction'
+---
+
+Controls how much the leggings are shortened with respect to ankle length.
diff --git a/sites/orgdocs/docs/designs/lily/options/seatease/readme.mdx b/sites/orgdocs/docs/designs/lily/options/seatease/readme.mdx
new file mode 100644
index 00000000000..290f328fee6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/seatease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Seat ease'
+---
+
+Controls the amount of ease at your seat/bum.
diff --git a/sites/orgdocs/docs/designs/lily/options/waistbandwidth/readme.mdx b/sites/orgdocs/docs/designs/lily/options/waistbandwidth/readme.mdx
new file mode 100644
index 00000000000..937a5931172
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/waistbandwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Waistband width'
+---
+
+Controls the width of the waistband.
diff --git a/sites/orgdocs/docs/designs/lily/options/waistease/readme.mdx b/sites/orgdocs/docs/designs/lily/options/waistease/readme.mdx
new file mode 100644
index 00000000000..38644d7b5d2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/waistease/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Waist ease'
+---
+
+Controls the amount of ease at your waist.
+
+Even if you draft lower pants, this will still influence the ease at the top of
+your pants (the closure).
diff --git a/sites/orgdocs/docs/designs/lily/options/waistheight/readme.mdx b/sites/orgdocs/docs/designs/lily/options/waistheight/readme.mdx
new file mode 100644
index 00000000000..ac82041fda6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/options/waistheight/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Waist height'
+---
+
+Controls the height of the waist, where:
+
+- 100% : The waist of the trousers sits at the waist line
+- 0% : The waist of the trousers sits at the hip line
diff --git a/sites/orgdocs/docs/designs/lily/readme.mdx b/sites/orgdocs/docs/designs/lily/readme.mdx
new file mode 100644
index 00000000000..e8ccdb9db5e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lily/readme.mdx
@@ -0,0 +1,33 @@
+---
+title: "Lily: FreeSewing's Lily Leggings"
+sidebar_label: Lily Leggings
+---
+
+
+
+## What You Need {#needs}
+
+To make Lily, you will need the following:
+
+- Basic sewing supplies
+- About 1.5 meters (1.7 yards) of suitable fabric (see [Fabric
+ Options](#fabric))
+
+## Fabric Options {#fabric}
+
+Lily is designed for stretch fabrics. 2-way stretch can be used as long as the
+stretch is perpendicular to the grainline. 4-way stretch can also be used. It
+is important to remember that **not** all stretch fabrics have the same amount
+of stretch. You may have to adjust the ease and fabric stretch options to match
+the stretch of you fabric.
+
+The type of fabric you want depends on use desired. If you are making an
+Athletic Lily you may wish to use fabrics such as **Spandex**. If you are
+making a Lily for warmth you may wish to use **Winter knit** fabric just bear
+in mind these may have less stretch than the default settings for Lily.
+
+## Cutting Instructions {#cutting}
+
+- Cut **2 front** parts
+- Cut **2 back** parts
+- Cut **1 waistband** part
diff --git a/sites/orgdocs/docs/designs/lunetius/instructions/readme.mdx b/sites/orgdocs/docs/designs/lunetius/instructions/readme.mdx
new file mode 100644
index 00000000000..6823dbd2993
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lunetius/instructions/readme.mdx
@@ -0,0 +1,49 @@
+---
+title: 'Lunetius Lacerna: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+:::note
+All the sewing can be done by machine or by hand as you prefer. If you want to
+sew with historically accurate thread, you can use linen or wool thread, or
+silk if you prefer.
+:::
+
+## Step 1: Sewing and finishing the centre back seam
+
+If you cut Lunetius with a centre back seam, sew this up first and finish the
+seam in some way. You can do this by binding it, or by felling it to the
+fabric. On a stretch fabric simply sewing up the centre back seam is enough.
+
+:::tip
+When done by hand, this can be done with a spaced backstitch, or a running
+stitch with the occasional backstitch.
+
+On the machine a regular straight stitch in any size will work.
+
+Felling the edges by hand can be done with a felling stitch, or a running
+stitch if you prefer. On the machine you can use any stitch you use to hem
+fabric.
+:::
+
+## Step 2: Hemming the edges
+
+The next and last step is to finish the edges. This can be done by turning a
+hem on the whole edge, or by using a binding. Once this is done, you are
+finished!
+
+:::tip
+When handsewing you can use a felling stitch or a running stitch. Or any other
+stitch you prefer for hemming.
+
+On the machine, a straight stitch is a good option, but if you have a blind hem
+stitch that is an option too.
+:::
+
+## Step 3: Enjoy!
+
+That's it you are all done! Now take a _fibula_ (a brooch, pin or clasp) to
+fasten your cloak over your right shoulder (that is how the Romans did it, you
+can of course also take the left shoulder, or the middle, or whatever you
+prefer) and enjoy looking dramatic.
diff --git a/sites/orgdocs/docs/designs/lunetius/options/length/readme.mdx b/sites/orgdocs/docs/designs/lunetius/options/length/readme.mdx
new file mode 100644
index 00000000000..301be7865d4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lunetius/options/length/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Length'
+---
+
+Choose from the different length styles
diff --git a/sites/orgdocs/docs/designs/lunetius/options/lengthratio/readme.mdx b/sites/orgdocs/docs/designs/lunetius/options/lengthratio/readme.mdx
new file mode 100644
index 00000000000..e04e59477af
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lunetius/options/lengthratio/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Length ratio'
+---
+
+Controls the length of the garment
diff --git a/sites/orgdocs/docs/designs/lunetius/options/widthratio/readme.mdx b/sites/orgdocs/docs/designs/lunetius/options/widthratio/readme.mdx
new file mode 100644
index 00000000000..4691092ebee
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lunetius/options/widthratio/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Width ratio'
+---
+
+Controls the width of the garment
diff --git a/sites/orgdocs/docs/designs/lunetius/readme.mdx b/sites/orgdocs/docs/designs/lunetius/readme.mdx
new file mode 100644
index 00000000000..792e37eaa97
--- /dev/null
+++ b/sites/orgdocs/docs/designs/lunetius/readme.mdx
@@ -0,0 +1,58 @@
+---
+title: "Lunetius: FreeSewing's Lunetius Lacerna"
+sidebar_label: Lunetius Lacerna
+---
+
+
+
+## Designer Notes {#notes}
+
+:::note
+Lunetius, Tiberius and Walburga really come as a set. Not only were they born
+at the same time, they are designed to work together to form a full outfit. Not
+that this means that they can't be made separately ;)
+:::
+
+Lunetius the lacerna is the pattern that went through the most name-changes and
+iterations behind the scenes. Why? Because I found conflicting information in
+secondary literature about how this type of cloak was called and who wore it
+when.
+
+To start at the beginning, I wanted a cloak that goes with the rest of my
+costume for my TTRPG character, a kind-of fantasy Roman. I knew it had to be
+red, but apart from that I wasn't really sure what I wanted. So I started
+reading up on cloaks in the Roman military. While this may sound like an easy
+task, there was no real standardised "uniform" for Roman soldiers, contrary to
+common belief. It also really depends on the timeframe you're looking at,
+"Roman" can mean anything from the days of kings to the late republic to the
+late empire, a timespan of a few hundred years. Things change. After narrowing
+the type of cloak I wanted down to a _sagum_ or a _lacerna_, I went back and
+forth between them, because I could not find reliable information on them.
+First, the _sagum_ seemed like the safer choice, because many historical
+reenactment sites referred to it, but digging a little deeper revealed that
+most of them linked to the same source (if they linked to a source at all),
+that appeared a bit questionable. That was when I abandoned the internet search
+and went to the university library, borrowing a stack of academic books on the
+subject. Those were very interesting reads! After finding more references for a
+_lacerna_ in them then for a _sagum_, I went for the _lacerna_. Then I only had
+to agonise a bit over the exact shape of curve I wanted while looking at stone
+reliefs.
+
+Coding the pattern was the easiest part of the whole process.
+
+Oh, and why the name `lunetius`? Well, that actually is the name of the
+character I made this whole outfit for. And yes, he has a special relationship
+with the moon.
+
+Rika
+
+:::tip
+See also [the Tiberius Designer Notes](/docs/designs/tiberius#notes) and the
+[Walburga Designer Notes](/docs/designs/walburga#notes).
+:::
+
+## What You Need {#needs}
+
+## Fabric Options {#fabric}
+
+## Cutting Instructions {#cutting}
diff --git a/sites/orgdocs/docs/designs/onyx/instructions/readme.mdx b/sites/orgdocs/docs/designs/onyx/instructions/readme.mdx
new file mode 100644
index 00000000000..a7d22ff4ddb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/instructions/readme.mdx
@@ -0,0 +1,323 @@
+---
+title: 'Onyx one-piece: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+## Before you start
+
+### Sewing tips
+
+The use of a serger/overlocker is recommended, to keep the size of the finished
+seams small and to allow the seams to stretch. If using a serger with the knife
+engaged, a seam allowance of 1/2 inch (12 mm) is recommended. If using an
+overlocking foot on a sewing machine, or serging without the use of the knife,
+a seam allowance of 1/4 inch (6 mm) is recommended.
+
+Unless otherwise stated, use stretch steams for construction of this garment. A
+4-thread overlock stitch is recommended, or an overlock foot on a sewing
+machine if a serger is unavailable.
+
+Hems or cuffs are optional (since knit doesn't fray), but if you do make hems
+or add cuffs, make sure they can stretch. These instructions describe how to
+make a single-fold hem with a double needle, which is suitable for swimwear or
+lightweight garments, and how to make a rib knit cuff, which is suitable for
+fleece pajamas or kigurumi.
+
+If sewing stretch/swim fabric, adjust your tension to allow for extra stretch.
+On a serger, this will usually mean lowering the needle tension, especially the
+right needle, and adjusting the looper tension as needed to keep the stitch
+looking decent. On a regular sewing machine, lower the tension. Test your
+choice of stitch first on scrap fabric, and try to pop the test seam by
+stretching the seam along its length. It should only pop after stretching quite
+a bit. If it pops too easily, keep playing with your stitches/tension settings
+until you get something that can survive some abuse.
+
+For making garments using 2-way stretch knits (such as jersey and fleece),
+regular settings with a stitch that stretches should be fine.
+
+### Customizing and fitting your pattern
+
+#### Decide what type of garment you're going to make
+
+This design supports several options:
+
+- Unisuits (one-piece compression swimwear with sleeves and legs)
+- One-piece pajamas (loose-fitting garment made with soft fabric, either short
+ or long sleeved)
+- Romper (casual garment with short sleeves and legs)
+- Jumpsuit (casual garment with long sleeves and legs)
+- Unitard (compression garment used for dance)
+
+#### Decide if you want a hood
+
+If you want a hood, decide if you want a two-piece hood with a center seam, or
+a three-piece hood that also has a front piece, allowing for ears or other
+decorative feature to be inserted into the seam.
+
+If you don't want a hood, you can finish the neck with a neckband.
+
+#### Decide if you want to add a skirt around the waist
+
+This pattern allows adding a simple gathered skirt at the waist.
+
+#### Decide what lining to use
+
+- Unisuits should use swim lining or a second layer of swim fabric for the
+ body, to give form, to prevent chafing, and to prevent the suit from being
+ see-through. The sleeves may be left unlined. If using multiple layers of
+ lining, treat them as a single layer when constructing the garment.
+- One-piece pajamas are usually not lined, except for the hood, which may or
+ may not be lined with something soft.
+- Rompers or jumpsuits may be lined, depending on preference, fabric, and
+ purpose.
+
+Or you can forego a lining altogether.
+
+#### Select an appropriate sleeve length
+
+- 10-30% for short sleeves.
+- 75% for 3/4 length sleeves.
+- 100% for long sleeves (to the wrist).
+- 115% is a good value if making a shirt with thumb holes (extends to the knuckles).
+
+#### Select an appropriate leg length
+
+- 20-60% for shorts
+- 90% for ankle-length legs
+- 100% for legs that touch the floor.
+
+### Decide on a closure
+
+- One-piece pajamas usually use a coiled plastic zipper (#3-5 gauge).
+- Unisuits usually use a half-length molded plastic zipper, #5 gauge.
+- Unitards use a large neckhole and no zipper.
+- Rompers and jumpsuits can use buttons, coiled plastic zippers, invisible zippers, or a large neckhole.
+- NOTE: This design assumes the use of a zipper. If using buttons, you will need to add plackets and buttons yourself. They are not included in this design.
+
+### Decide whether to cut the front and/or back pieces _on the fold_
+
+- If using a zipper or buttons, do _not_ cut the piece containing the zipper _on the fold_.
+- For unitards, cut both the front and back _on the fold_ (total of 2 pieces).
+- For unisuits, cut the back _on the fold_ if making a front-zip unisuit, or the front _on the fold_ is making a back-zip unisuit (total of 3 pieces).
+- For one-piece pajamas, rompers, and jumpsuits, cut only the back _on the fold_ (total of 3 pieces).
+
+#### Figure out what kind of fit you want and set your eases accordingly.
+
+Make sure you have an appropriate fabric. If in doubt, making the garment too loose is safer than too tight.
+
+- For unisuits and unitards, you want negative ease. This will allow the stretch/swim fabric to form itself around the wearer's body.
+- For one-piece pajamas, you want positive ease and to smooth out the shape (ie., add extra ease to areas that cut in, like the waist, to give the overall garment a less fitted shape).
+- Rompers and bodysuits use positive ease, with the amount and distribution of the ease varying greatly based on the intended shape of the garment.
+
+The neckband length will be mostly determined by the material of the neckband. Stretch fabric will generally use a length of around 80%. Less stretchy fabric will be longer, but always shorter than 100%, and ribbed knit (traditional t-shirt neckbands) are around 60-70%.
+
+Check around the hips, upper legs, and crotch fork, and make sure that everything is smooth and looks right. Small errors in measurements or options can cause issues here, and it's best to tweak seat east, upper leg ease, crotch gusset width, and leg taper position until all curves are smooth. The outseam should roughly match the silhouette of the wearer.
+
+### Step 1: Forming the body
+
+Note: If the front or back was cut _on the fold_, skip steps producing center seams.
+Note: These instructions are intended to form the seams such that the side seams extend backwards, and the center seams extend leftwards.
+Note: These instructions assume that the zipper is on the front. If the zipper is on the back or there is no zipper, the directions will have to be modified slightly.
+Note: If you're having the zipper zip up across the neckband (recommended for unisuits), remember that when placing the zipper on the center seam.
+
+If not using lining:
+
+- (if front was _not_ cut _on the fold_) With _good sides together_, place the zipper and neckband into position along the center seam, remembering to take seam allowance into account. Mark where the bottom stop of the zipper is, and serge/overlock the front pieces together starting at the crotch fork and stopping at the bottom stop of the zipper.
+- (if back was _not_ cut _on the fold_) With _good sides together_, sew the back pieces together.
+- With _good sides together_, sew the front and the back assemblies together along the two side seams.
+- Skip to step 2.
+
+If using lining:
+Front (center) seam: (from the point of view of the wearer)
+Note: Seam will be formed on the right side of the assembly.
+Layer the pieces as follows, from top to bottom:
+
+- _wrong side up_: fashion fabric, front-left piece.
+- _good side up_: fashion fabric, front-right piece.
+- _wrong side up_: lining, front-right piece.
+- _good side up_: lining, front-left piece.
+- Line up the four pieces and clip/pin.
+- Place your neckband and zipper on the seam. Remember to take into account seam allowances, that the top stop of the zipper is at the top of the folded neckband, and mark where the bottom stop of the zipper is. Remove the zipper and neckband.
+- Disengage the serger knife (it will cause issues near the zipper where a section would be cut but not sewn).
+ - Alternatively, leave the serger knife engaged, but disengage it right when the knife reaches the point where your seam stops, and then continue without the knife until the stop point reaches the needles.
+- Make sure the layers of fabric are lined up very evenly. Without the knife, you must make sure that every layer gets under the needles of the serger, or there will be holes in the seam of your garment or the lining.
+- Serge/overlock through all 4 layers, stopping at the point you marked where the bottom stop of the zipper is.
+- Flip the top and bottom layers (the front-left pieces) of fabric over.
+- Re-engage the serger knife.
+
+Left (side) seam:
+Note: Seam will be formed on the right side of the assembly.
+Layer the pieces as follows, from top to bottom:
+
+- _wrong side up_: fashion fabric, back-left piece.
+- _good side up_: lining+fashion fabric from prior steps.
+- _good side up_: lining, back-left piece.
+- Line up the four pieces, and serge/overlock through all 4 layers.
+- Flip the top and bottom pieces (the back-left pieces) of fabric over.
+
+Right (side) seam:
+Layer the pieces as follows, from top to bottom:
+Note: Seam will be formed on the left side of the assembly.
+
+- _wrong side up_: fashion fabric, back-right piece.
+- _good side up_: lining+fashion fabric from prior steps.
+- _good side up_: lining, back-right piece.
+- Line up the four pieces, and serge/overlock through all 4 layers.
+- Flip the top and bottom layers (the back-right pieces) of fabric over.
+
+Back (center) seam:
+Layer the pieces as follows, from top to bottom:
+Note: Seam will be formed on the left side of the assembly.
+Note: This is the last seam to complete the body, and the steps are slightly different in order to still have the seam encased between the fashion fabric and the lining once it's finished.
+
+- _wrong side up_: fashion fabric, back-right piece pulled over the main part.
+- _good side up_: lining+fashion fabric, main part; from prior steps.
+- _good side up_: lining, back-right piece pulled under the main part.
+- Line up the four pieces, and serge/overlock through all 4 layers.
+- Pull the lining right-side-out, so that the main bulk that was locked between the newly sewn parts is freed and the garment is right-side-out.
+
+### Step 2: Attaching the gusset
+
+If not using lining:
+
+- Place the garment _inside-out_ and flat on your table, with the front of the garment face-up.
+- With _good sides together_, serge or overlock the crotch gusset up the front of one leg, around the crotch fork, and down the other leg. Be careful to keep the layers of fabric together and aligned when going around the fork.
+- Turn the garment over.
+- With _good sides together_, serge or overlock the crotch gusset up the back of one leg, around the crotch, and down the other leg.
+- Skip to step 3.
+
+If using lining:
+Front Inseam:
+
+- Place the garment _right-side-out_ and flat on your table, with the front of the garment face-up.
+- Push the back crotch and legs out of the way, so you have easy access to only the front crotch and legs.
+- Place the fashion fabric gusset piece on top of the garment and running along the inseam, around the crotch, and back down the other inseam, with the _wrong side up_.
+- Slide the lining gusset piece under the garment with the _good side up_.
+- (optional) Baste the seam, taking care to secure the portion near the crotch, as it has a tendancy to slip and cause a hole in the next step if not well secured.
+- Serge/overlock through all 4 layers to form the front inseam.
+
+Back Inseam:
+Note: It's not possible to hide this seam in between the lining and the fashion fabric, so it'll be on the inside. For adaptive/sensory-friendly clothing, place this seam on the outside instead.
+
+- Turn the garment inside-out.
+- Flip the garment so that the back is facing you.
+- Line up the gusset (that you attached to the front in the previous step) with the back inseam and clip it together.
+- (optional) Baste the seam, taking care to secure the portion near the crotch, as it has a tendancy to slip and cause a hole in the next step if not well secured.
+- Serge/overlock through all 4 layers to form the back inseam.
+
+### Step 3: Attaching the sleeves
+
+- Fold each sleeve and, with _good sides together_, sew the sleeve seam from the hem to the armpit.
+
+- Turn the garment _right-side-out_.
+- Turn the sleeves _right-side-out_.
+- With _good sides together_, clip each sleeve to the body. The longer side of each sleeve should be clipped to the back, the shorter side to the front, and the sleeve seam should line up with the outseam. Verify that the sleeve is properly attached. Serge or overlock through all 3 layers.
+- Repeat with the other sleeve.
+
+### Step 4a: Attaching the neckband
+
+- Fold the neckband in half short ways (so it's half as wide) with _wrong sides together_, and clip it at each end and at the midpoint.
+- With _good sides together_, clip the middle of the neckband to the middle of the piece without the slit for the zipper (the back piece if using a front zipper).
+- Clip each end of the neckband to the corresponding side of the zipper slit.
+- Place clips along the length, stretching the neckband evenly along the length of the neck hole.
+- Baste the neckband to the neck hole, taking care to secure the two ends.
+- Serge/overlock through all layers.
+- Turn the neckband over. It should lay flat.
+
+### Step 4b: Constructing and attaching the hood
+
+##### Assembling the hood:
+
+- Place the two main hood pieces together with _good sides together_, and serge/overlock along the center seam (the curved seam running from the back of the neck to the top of the head).
+- If using a front piece, place it against the back pieces with _good sides together_, and serge/overlock along the side seam (the straight seam going up one side, over the head, and down the other side).
+
+If using lining, do the following two steps, otherwise skip to attaching the hood.
+
+- Repeat the previous steps to put together the lining pieces.
+- Place the lining assembly and the main hood assembly together with _wrong sides together_, and clip them together along the neck.
+
+##### Attaching the hood:
+
+- Lay the garment down _right-side-out_.
+- Place the hood around the neckline, with _good sides together_.
+- Clip the two ends of the hood to the slit in the front where the zipper will go, and clip the back seam of the hood to the middle of the back body piece.
+- Add additional clips to secure the hood to the neck for sewing.
+- Check to make sure that it is assembled correctly.
+- Serge/overlock through all layers.
+
+### Step 5: Preparing the zipper guard
+
+- Fold the zipper guard in half short ways (so it's half as wide) with _good sides together_, and secure it loosely with a clip or two.
+- If needed, flip it so that the open seam is on the right side.
+- Using your sewing machine and a straight stitch, sew a curve starting vertically at a point along the fold about as far down as the zipper guard is wide, and ending horizontally at the top right corner of the zipper guard. The curve should be shaped such that it forms a smooth corner around the top-left corner of the zipper guard.
+- Trim the fabric on the outside of the curve, cutting close to the line of stitching, but not touching it.
+- Unclip the fabric and turn it right-side-out, refolding and reclipping the fabric, this time with _wrong sides together_.
+- Serge/overlock down the length of the zipper guard.
+- Serge/overlock the bottom of the zipper guard.
+- You should have a strip of fabric with a serged/overlocked seam along the right and bottom sides, and a curved corner with a french seam along the top-left.
+
+### Step 6: Installing the zipper.
+
+Note: This step is the same with or without lining. Treat the lining and the fashion fabric as one.
+
+- Lay your garment _right side out_.
+- Unzip the zipper.
+- Place the zipper _good side up_ along the center seam and align it carefully. The alignment of the top stop is more important than that of the bottom stop, and try not to stretch or gather the fabric as you align your zipper.
+- Turn one side of the zipper 1/2 turn outward, and lay it along the open seam so that the tape edge is along the seam and the toothed edge is facing the bulk of the fabric. Line up the edge of the fabric with the edge of the tape and clip in place.
+
+- If sewing swim fabric, sew the fabric and the zipper tape together with a straight stight down each side. This is both to hold things together, and to provide a second, safety line of stitching for the zipper. For less tricky fabrics, this step is optional.
+
+- Turn the zipper back _good side up_, folding the fabric under in the process.
+- Repeat for the other side.
+
+Installing the zipper guard.
+
+- Turn the garment _inside-out_.
+- Place the long serged edge of the zipper guard along the left side of the zipper. The edge of the zipper guard should line up with the tape edge of the zipper and should cover the zipper.
+- Adjust the zipper guard vertically. It should extend above the top stop of the zipper by enough so that you can fold the fabric over to hide the zipper pull and protect the neck from the zipper.
+- If you're using a neckband, fold the portion extending above the top zipper stop over to the front of the garment.
+- Clip the zipper guard into place. This will cover up the clips holding the zipper to the garment. Remember not to sew over these clips when sewing.
+
+Sewing the zipper.
+
+- Switch to a zipper foot.
+- Turn the garment _right side out_.
+- For swim fabric or to have an exposed zipper: Pull the fabric into position, so that the fabric is cleanly folded back from the zipper teeth.
+- For fleece fabric or to have a covered zipper: Pull the fabric into position, leaving a small fold of fabric extending over the zipper.
+- Place the garment into your sewing machine and adjust the needle so that it is a few mm into the fold of the fabric.
+- Start at the neck on the right side, and sew down until you are a few mm past the zipper stop using a straight stitch. Be careful not to sew into the zipper guard or any loose fabric.
+- Repeat for the other side. This time, when you reach the bottom, turn the fabric 90 degress and sew across the bottom until you meet the first line of stitching, securing the bottom of the zipper and zipper guard.
+
+### Step 7a: (Optional) Ribbed cuffs
+
+The ribbed cuff pieces can be added to the sleeves and legs in a mannar similar to that used to attach the neckband to the neck hole.
+
+- Fold the ribbed cuff piece opposite the fold line (vertically), with _good sides together_.
+- Serge/overlock along the edge, so that the ribbed cuff piece is now a closed loop.
+- Unfold the ribbed cuff piece.
+- Fold the ribbed cuff piece in half along the fold line (horizontally), with _wrong sides together_.
+- Turn the garment _right side out_.
+- Place the loop of ribbing around the sleeve or leg of the garment, lining up the edges of the ribbing and the sleeve/leg.
+- Stretch both the sleeve/leg and ribbing together until the folds/gathers/slack in the sleeve are all gone, and clip into place.
+- Serge/overlock _on the round_ along the seam.
+- Repeat for the remaining sleeves/legs.
+
+### Step 7b: (Optional) Hemming
+
+- Hem the sleeves, legs, hood, and/or bottom of the skirt using a single-fold hem. A coverstitch machine is ideal, but not necessary. Using a twin needle with a regular sewing machine will add some stretch to the stitching, but in either case the use of a stretch stitch is still recommended for high-stretch fabrics.
+- You may carefully cutaway excess fabric to make a cleaner hem. This is quite optional, since this fabric should stay on the inside.
+- Alternatively, you can overlock or serge the raw edge _without_ folding it over to give it a little bit of substance without adding as much bulk as a folded hem, or you can make a rolled hem.
+- Or you can leave the edges unfinished, particularly if it's swim fabric or some other fabric that does not fray at all.
+
+### Step 8: (Options) Adding a skirt
+
+- Fold the skirt piece in half along the cut-on-fold line, with _good sides together_, and serge/overlock along the side so that the skirt is closed.
+- (optional) Hem the bottom of the skirt.
+- Gather the skirt along the waist (or top) of the skirt using two gather threads spaced 12mm (1/2") apart. Place the skirt around the garment where it will rest, and adjust the gathers to fit around the garment.
+- The skirt can be either placed _right side out_ on the garment, or _inside-out_ and _upside-down_ on the garment. _Right side out_ will produce a lighter and stronger seam, but the seam will be visible (which may or may not be desirable). _Inside-out_ will hide the seam under the skirt, but will add an extra fold of fabric to the waist.
+- Line up the waist of the skirt with where you want it to rest on the garment, and pin it into place.
+- Use a coverstitch machine or a short and wide zigzag stitch along the top edge of the skirt, forming a lap seam and hiding the edge of the fabric under the coverstitch or zigzag.
+- Make a second coverstitch or zigzag about 6-12mm (1/4" to 1/2") below the first line of stitching, placing it between the two gather threads and being careful not to catch either gather thread under the coverstitch.
+- Remove the gather threads.
+- If the skirt was placed _inside-out_ and _upside-down_, flip it back over.
diff --git a/sites/orgdocs/docs/designs/onyx/options/armpitease/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/armpitease/readme.mdx
new file mode 100644
index 00000000000..c309a7699fa
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/armpitease/readme.mdx
@@ -0,0 +1,18 @@
+---
+title: 'Armpit ease'
+---
+
+Shifts the sleeves downward to give extra room in the armpit, measured as a
+percentage of the sleeve diameter. If in doubt, go with the default value.
+
+Note: This option does not change the diameter of the sleeve. To make the
+sleeve larger or smaller, use the Sleeve ease option.
+
+Note: The Raglan scoop length and Raglan scoop depth options also affect the
+amount of ease in the armpit.
+
+:::tip This option also allows negative values.
+
+Negative values will move the sleeves upwards. Use with caution, even on
+stretch garments, as this can easily cause binding at the armpit.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/backonfold/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/backonfold/readme.mdx
new file mode 100644
index 00000000000..5dfe4e2edbb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/backonfold/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Back on fold'
+---
+
+Controls if the back is made of of a single piece of fabric cut on the fold, or
+as two mirrored pieces that are sewn together down the center.
+
+- **Pro**: Saves a construction step, removes a seam, may be more comfortable.
+- **Con**: Disadvantages: Doesn't work with zippers, harder to fit a larger
+ pattern piece on the fabric (may cause more fabric waste).
+
+:::tip Zippers
+If using a back zipper, do _not_ enable this option.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/centerseamease/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/centerseamease/readme.mdx
new file mode 100644
index 00000000000..11268c891e4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/centerseamease/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Center seam ease'
+---
+
+Controls how long the center seam will be, and thus how low the crotch fork of
+the garment will be.
diff --git a/sites/orgdocs/docs/designs/onyx/options/chestease/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/chestease/readme.mdx
new file mode 100644
index 00000000000..191f9a4043b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/chestease/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Chest ease'
+---
+
+Controls how wide the garment will be at your chest.
+
+Whatever value you provide here will simply be added to your chest
+circumference measurement when drafting the garment.
+
+:::tip This option allows negative values
+You should use negative ease if you are using a stretch material that you want
+to fit tightly. Unisuits and unitards typically have negative ease, while other
+garments typically have positive ease.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/crotchgussetwidth/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/crotchgussetwidth/readme.mdx
new file mode 100644
index 00000000000..9e8fdf4741f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/crotchgussetwidth/readme.mdx
@@ -0,0 +1,16 @@
+---
+title: 'Crotch gusset width'
+---
+
+Adjusts how wide the crotch gusset will be. The crotch gusset is a rectangular
+strip of fabric running up one leg, across the crotch fork, and down the other
+leg. It adds room in the crotch, creates a stronger outfit by avoiding the
+4-way seam normally found at the crotch fork, and greatly reduces the need for
+scoops around the crotch fork.
+
+Bodies that are wider than they are deep do not need as wide a gusset, while
+those with very deep thighs may need a wider gusset.
+
+The width of the crotch gusset will affect how the garment is shaped around the
+hips, crotch, and upper legs. You may have to adjust the upper leg east, seat
+ease, and leg taper position along with this option to get a proper fit.
diff --git a/sites/orgdocs/docs/designs/onyx/options/frontonfold/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/frontonfold/readme.mdx
new file mode 100644
index 00000000000..be5f6afb090
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/frontonfold/readme.mdx
@@ -0,0 +1,13 @@
+---
+title: 'Front on fold'
+---
+
+Controls if the front is made of of a single piece of fabric cut on the fold, or as two mirrored pieces that are sewn together down the center.
+
+- **Pro**: Saves a construction step, removes a seam, may be more comfortable.
+- **Con**: Doesn't work with zippers, harder to fit a larger pattern piece on
+ the fabric (may cause more fabric waste).
+
+:::tip Zippers
+If using a front zipper, do _not_ enable this option.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/hipsease/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/hipsease/readme.mdx
new file mode 100644
index 00000000000..7268011ffbc
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/hipsease/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Hips ease'
+---
+
+Controls how wide the garment will be at your hips.
+
+Whatever value you provide here will simply be added to your hips circumference
+measurement when drafting the garment.
+
+:::tip This option also allows negative values.
+You should use negative ease if you are using a stretch material that you want
+to fit tightly. Unisuits and unitards typically have negative ease, while other
+garments typically have positive ease.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/hooddepth/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/hooddepth/readme.mdx
new file mode 100644
index 00000000000..6cf83e67c96
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/hooddepth/readme.mdx
@@ -0,0 +1,10 @@
+---
+title: 'Hood depth'
+---
+
+Controls how much room will be in the hood around the back of the head.
+
+:::tip
+This option is only available if the 'neck style' option is set to
+`hood`.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/hoodfrontbonus/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/hoodfrontbonus/readme.mdx
new file mode 100644
index 00000000000..c41dad2d113
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/hoodfrontbonus/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Hoodfrontbonus'
+---
+
+Controls how far forward the hood comes over the forehead.
diff --git a/sites/orgdocs/docs/designs/onyx/options/hoodfrontdip/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/hoodfrontdip/readme.mdx
new file mode 100644
index 00000000000..c0f8f953ccb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/hoodfrontdip/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Hoodfrontdip'
+---
+
+Controls far down the front of the hood drops over the forehead. Larger values
+work best with lightweight/flexible fabrics.
diff --git a/sites/orgdocs/docs/designs/onyx/options/hoodfrontpiecesize/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/hoodfrontpiecesize/readme.mdx
new file mode 100644
index 00000000000..8e711d31a52
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/hoodfrontpiecesize/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Sleeve length'
+---
+
+Controls how long the sleeves of your garment will be.
+
+- 15-30% will make short sleeves.
+- 75% will make three-quarter sleeves.
+- 100% will make long sleeves, stopping at the wrist.
+- 115% will make sleeves covering the knuckles, and is appropriate if using
+ thumb holes.
diff --git a/sites/orgdocs/docs/designs/onyx/options/hoodheight/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/hoodheight/readme.mdx
new file mode 100644
index 00000000000..d8531146176
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/hoodheight/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Hood height'
+---
+
+Controls how tall the hood will be.
+
+:::tip
+This option is only available if the **neck style** option is set to `hood`.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/hoodhem/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/hoodhem/readme.mdx
new file mode 100644
index 00000000000..bb707dd39c7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/hoodhem/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Hood hem'
+---
+
+Controls how wide the hem going around the front of the hood will be, as a
+multiple of the seam allowance. A hem of 2.5cm/1" is a common value.
+
+:::tip
+This option is only available if the **neck style** option is set to
+`hood`.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/leghem/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/leghem/readme.mdx
new file mode 100644
index 00000000000..a01a80668f2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/leghem/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Leg hem'
+---
+
+Controls how wide the hem going around the legs will be, as a multiple of the
+seam allowance. A hem of 2.5cm/1" is a common value.
+
+:::tip
+This option is only available if the **Leg ribbing** option is set to
+`hem`.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/leghemease/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/leghemease/readme.mdx
new file mode 100644
index 00000000000..b5ba820fabb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/leghemease/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Leg hem ease'
+---
+
+Controls how wide the bottom of the legs of the garment will be. The base value
+is interpolated between the circumference of the upper legs and the ankles,
+based on how long the legs on the garment are, and this option is then applied
+to this.
diff --git a/sites/orgdocs/docs/designs/onyx/options/leglength/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/leglength/readme.mdx
new file mode 100644
index 00000000000..e4f10bfdcd1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/leglength/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Leg length'
+---
+
+Controls how long the legs on your garment will be.
+
+- 15-30% will make short legs.
+- 40-50% will be around knee length.
+- 91% will cover the ankles (appropriate for long-legged swimwear).
+- 100% will reach the floor (appropriate for one-piece pajamas using ribbed
+ cuffs).
diff --git a/sites/orgdocs/docs/designs/onyx/options/legribbing/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/legribbing/readme.mdx
new file mode 100644
index 00000000000..6c1ba3586e7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/legribbing/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Leg ribbing'
+---
+
+Choose whether to make ribbed knit cuffs for the legs or to use a hem.
+
+:::tip
+Setting this option to `hem` will enable the **leg hem** option, while
+setting this option to `ribbing` will enable the **leg ribbing length** and
+**leg ribbing width** options.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/legribbinglength/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/legribbinglength/readme.mdx
new file mode 100644
index 00000000000..f42b56162e7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/legribbinglength/readme.mdx
@@ -0,0 +1,12 @@
+---
+title: 'Leg ribbing length'
+---
+
+Controls how long the ribbing around the leg is, as a percentage of the leg
+circumference. Setting this to a smaller value will make the cuff tighter and
+hold onto the ankle better, while a larger value will give more room.
+
+:::tip
+This option is only available if the **leg ribbing** option is set to
+`ribbing`.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/legribbingwidth/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/legribbingwidth/readme.mdx
new file mode 100644
index 00000000000..86eff3cf6bf
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/legribbingwidth/readme.mdx
@@ -0,0 +1,10 @@
+---
+title: 'Leg ribbing width'
+---
+
+Controls how wide the ribbing around the leg is.
+
+:::tip
+This option is only available if the **leg ribbing** option is set to
+`ribbing`.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/legtaperposition/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/legtaperposition/readme.mdx
new file mode 100644
index 00000000000..bc5c4f3a117
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/legtaperposition/readme.mdx
@@ -0,0 +1,15 @@
+---
+title: 'Leg taper position'
+---
+
+Controls how the lower legs are laid out on the pattern.
+
+Whether the legs taper inwards or outwards or down the middle will slightly
+affect the fit of the garment, and will affect the shape around the crotch fork
+and the upper legs. It's recommended to use a value for this option that
+produces the smoothest looking front and back pattern pieces.
+
+:::tip
+Setting this to 100% will generally produce pattern pieces that can be
+fit more efficiently onto the fabric.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/neckbalance/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/neckbalance/readme.mdx
new file mode 100644
index 00000000000..159d400fcbe
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/neckbalance/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Neck position'
+---
+
+Controls where the neck hole is placed on the garment. A value of 0% has the
+center of the neck hole exactly where the four raglan seams would intersect,
+with the front and back parts being identical and the sleeve being symmetrical.
+A positive value shifts the neck towards the front of the garment.
diff --git a/sites/orgdocs/docs/designs/onyx/options/neckbandlength/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/neckbandlength/readme.mdx
new file mode 100644
index 00000000000..228dd302a64
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/neckbandlength/readme.mdx
@@ -0,0 +1,19 @@
+---
+title: 'Neckband length'
+---
+
+Controls how long to make the neckband, as a percentage of the circumference of
+the neckline.
+
+Too large a value will make for a loose neckband that doesn't hold its shape
+properly, while too small a value will cause the fabric around the neckband to
+be gathered.
+
+Materials that stretch more easily should use smaller values. 80-85% is a
+reasonable value when using swim fabric, and 75% is a reasonable value for rib
+knit.
+
+:::tip
+This option is only available if the **neck style** option is set to
+`neckband`.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/neckbandwidth/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/neckbandwidth/readme.mdx
new file mode 100644
index 00000000000..507e490bbec
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/neckbandwidth/readme.mdx
@@ -0,0 +1,12 @@
+---
+title: 'Neckband width'
+---
+
+Controls how wide to make the finished neckband. For swimwear, 4cm / 1.5in (the
+default) is a common value. If using rib knit, 5-7.5cm (2-3in) is generally
+used.
+
+:::tip
+This option is only available if the **neck style** option is set to
+`neckband`.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/neckease/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/neckease/readme.mdx
new file mode 100644
index 00000000000..625a6406c8f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/neckease/readme.mdx
@@ -0,0 +1,16 @@
+---
+title: 'Neck ease'
+---
+
+Controls how large the neck hole is. Keep in mind that most garments have neck
+holes that are substantially larger than the wearer's neck, and that the
+neckband will further constrict the neck. 0% ease will make a very small neck
+hole that hugs the neck snugly. +50% will still make what's generally
+considered a tight neckband appropriate for swimwear. For garments with a loose
+fit, or that do not use a zipper, even larger values are recommended.
+
+:::tip This option allows negative values
+Be careful setting a negative ease for the neck, even on compression
+garments, as it can get very uncomfortable. Perhaps it could be useful for a
+garment trying to seal off the body, such as a wetsuit?
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/neckguardlength/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/neckguardlength/readme.mdx
new file mode 100644
index 00000000000..70618daeb42
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/neckguardlength/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'neck guard length'
+---
+
+On garments with a neckband, this option adds extra length to the zipper guard
+to allow it to wrap around the neckband to protect the neck.
+
+:::tip
+This option is only available if the **neck style** option is set to
+`neckband`.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/neckstyle/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/neckstyle/readme.mdx
new file mode 100644
index 00000000000..2d24d2a98ab
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/neckstyle/readme.mdx
@@ -0,0 +1,21 @@
+---
+title: 'Neck style'
+---
+
+Choose whether to add a hood to your garment, or to finish it with a neckband.
+
+:::tip
+Setting this option to `hood` will enable the following options:
+
+- Hood height
+- Hood depth
+- Hood front piece size
+- Hood front bonus
+- Hood dip
+- Hood hem
+
+Setting this option to `neckband` will enable the following options:
+
+- Neckband length
+- Neckband width
+ :::
diff --git a/sites/orgdocs/docs/designs/onyx/options/outseamease/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/outseamease/readme.mdx
new file mode 100644
index 00000000000..f8ea1d969e3
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/outseamease/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Outseam ease'
+---
+
+Controls how far down the garment the waist, hips, seat, and upper leg points
+on the outseam will be.
diff --git a/sites/orgdocs/docs/designs/onyx/options/raglanscooplength/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/raglanscooplength/readme.mdx
new file mode 100644
index 00000000000..c1651211d06
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/raglanscooplength/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Raglan scoop length'
+---
+
+Controls how far out from the armhole the raglan seam starts to scoop.
diff --git a/sites/orgdocs/docs/designs/onyx/options/raglanscoopmagnitude/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/raglanscoopmagnitude/readme.mdx
new file mode 100644
index 00000000000..5eec509c6fd
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/raglanscoopmagnitude/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Raglan scoop depth'
+---
+
+Controls how much extra material to place under the armpits.
diff --git a/sites/orgdocs/docs/designs/onyx/options/seatease/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/seatease/readme.mdx
new file mode 100644
index 00000000000..af7c24c159e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/seatease/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Seat ease'
+---
+
+Controls how wide the garment will be at your seat.
+
+Whatever value you provide here will simply be added to your seat circumference
+measurement when drafting the garment.
+
+:::tip This option also allows negative values.
+You should use negative ease if you are using a stretch material that you want
+to fit tightly. Unisuits and unitards typically have negative ease, while other
+garments typically have positive ease.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/skirt/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/skirt/readme.mdx
new file mode 100644
index 00000000000..761fb05e8cb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/skirt/readme.mdx
@@ -0,0 +1,10 @@
+---
+title: 'Skirt'
+---
+
+Select whether or not you want to add a simple gathered skirt around the waist
+of the garment.
+
+This is a basic skirt intended to not add much bulk to the garment while
+offering a degree of modesty and flair. It's designed for use with swimwear,
+but may work well for other types of garments.
diff --git a/sites/orgdocs/docs/designs/onyx/options/skirthem/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/skirthem/readme.mdx
new file mode 100644
index 00000000000..d75b134557b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/skirthem/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Skirt hem'
+---
+
+Sets the hem allowance of the hem along the bottom of the skirt, as a multiple
+of the seam allowance.
diff --git a/sites/orgdocs/docs/designs/onyx/options/skirtlength/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/skirtlength/readme.mdx
new file mode 100644
index 00000000000..5ddf4dfc4fe
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/skirtlength/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Skirt length'
+---
+
+Controls the length of the skirt, as a percentage of the waist to upper leg
+measurement. A length of 100% should make a skirt just long enough to reach the
+upper leg.
diff --git a/sites/orgdocs/docs/designs/onyx/options/skirtwaistband/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/skirtwaistband/readme.mdx
new file mode 100644
index 00000000000..e7117a53302
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/skirtwaistband/readme.mdx
@@ -0,0 +1,10 @@
+---
+title: 'Skirt waistband'
+---
+
+Sets the width of the waistband along the top of the skirt, as a multiple of
+the seam allowance..
+
+The waistband is a single fold hem that is topstitched into the main garment
+around the waist. The fold serves to hide and finish the top edge. It only
+needs to be wide enough to allow the topstitching to secure the skirt in place.
diff --git a/sites/orgdocs/docs/designs/onyx/options/skirtwidth/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/skirtwidth/readme.mdx
new file mode 100644
index 00000000000..c2c4b7c21a5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/skirtwidth/readme.mdx
@@ -0,0 +1,10 @@
+---
+title: 'Skirt width'
+---
+
+Controls the width of the skirt at the bottom, as a percentage of the waist
+measurement.
+
+The top of the skirt is cut to the same width, and gathered around the waist.
+As such, a large value for this option will make a more heavily gathered skirt
+that is wide at the bottom.
diff --git a/sites/orgdocs/docs/designs/onyx/options/sleeveease/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/sleeveease/readme.mdx
new file mode 100644
index 00000000000..2976f159be5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/sleeveease/readme.mdx
@@ -0,0 +1,21 @@
+---
+title: 'Sleeve ease'
+---
+
+Affects how wide the sleeve is at the armhole on all garments.
+
+For sleeves that are less than 100% length, this option also affects how wide
+the sleeve is at the hem, with shorter sleeves being affected by this option to
+a greater degree, and longer sleeves being more affected by the wrist ease
+option. In most cases, this value should be set larger than chest ease, as the
+shoulders and arms are smaller and the same percentage of ease will translate
+to a smaller absolute ease.
+
+For compression clothes, shoulders and armpits also need more mobility than the
+chest, so very negative eases should generally be avoided for this option.
+
+:::tip This option allows negative values
+You should use negative ease if you are using a stretch material that you
+want to fit tightly. Unisuits and unitards typically have negative ease,
+while other garments typically have positive ease.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/sleevehem/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/sleevehem/readme.mdx
new file mode 100644
index 00000000000..262bfa80cfb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/sleevehem/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Sleeve hem'
+---
+
+Controls how wide the hem going around each sleeve will be, as a multiple of
+the seam allowance. A hem of 2.5cm/1" is a common value.
+
+:::tip
+This option is only available if the **Sleeve ribbing** option is set to
+`hem`.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/sleevelength/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/sleevelength/readme.mdx
new file mode 100644
index 00000000000..8e711d31a52
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/sleevelength/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Sleeve length'
+---
+
+Controls how long the sleeves of your garment will be.
+
+- 15-30% will make short sleeves.
+- 75% will make three-quarter sleeves.
+- 100% will make long sleeves, stopping at the wrist.
+- 115% will make sleeves covering the knuckles, and is appropriate if using
+ thumb holes.
diff --git a/sites/orgdocs/docs/designs/onyx/options/sleeveribbing/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/sleeveribbing/readme.mdx
new file mode 100644
index 00000000000..30d0ea80423
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/sleeveribbing/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Sleeve ribbing'
+---
+
+Choose whether to make ribbed knit cuffs for the sleeves or to use a hem.
+
+:::tip
+Setting this option to `hem` will enable the **sleeve hem** option, while
+setting this option to `ribbing` will enable the **sleeve ribbing length**
+and **sleeve ribbing width** options.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/sleeveribbinglength/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/sleeveribbinglength/readme.mdx
new file mode 100644
index 00000000000..2a67add27e5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/sleeveribbinglength/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Sleeve ribbing length'
+---
+
+Controls how long the ribbing around the sleeves is, as a percentage of the
+sleeve circumference. Setting this to a smaller value will make the cuff
+tighter and hold onto the arm better, while a larger value will give more room.
+If making sleeves with thumb holes, it is recommended to set this value a
+little larger or to use a hem instead to avoid squeezing the hands.
+
+:::tip
+This option is only available if the 'sleeve ribbing' option is set to
+`ribbing`.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/sleeveribbingwidth/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/sleeveribbingwidth/readme.mdx
new file mode 100644
index 00000000000..3c10dd0ccfd
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/sleeveribbingwidth/readme.mdx
@@ -0,0 +1,10 @@
+---
+title: 'Sleeve ribbing width'
+---
+
+Controls how wide the ribbing around the sleeve is.
+
+:::tip
+This option is only available if the **sleeve ribbing** option is set to
+`ribbing`.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/upperlegease/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/upperlegease/readme.mdx
new file mode 100644
index 00000000000..02ce0c249a1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/upperlegease/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Upper leg ease'
+---
+
+Controls how wide the garment will be at your upper leg.
+
+Whatever value you provide here will simply be added to your upper leg
+circumference measurement when drafting the garment.
+
+:::tip This option also allows negative values.
+You should use negative ease if you are using a stretch material that you want
+to fit tightly. Unisuits and unitards typically have negative ease, while other
+garments typically have positive ease.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/waistease/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/waistease/readme.mdx
new file mode 100644
index 00000000000..f67fbee7445
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/waistease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Waist ease'
+---
+
+Controls how wide the garment will be around the waist.
diff --git a/sites/orgdocs/docs/designs/onyx/options/wristease/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/wristease/readme.mdx
new file mode 100644
index 00000000000..ce3c4259eff
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/wristease/readme.mdx
@@ -0,0 +1,15 @@
+---
+title: 'Wrist ease'
+---
+
+Affects how wide the end of the sleeve is on some garments. There is no effect
+for sleeves ending at the biceps or above. For longer sleeves, the wrist
+measurement and this wrist ease option have a progressively larger effect,
+reaching full effect for long sleeved garments (sleeve length of 100% or
+greater).
+
+:::tip This option allows negative values
+You should use negative ease if you are using a stretch material that you
+want to fit tightly. Unisuits and unitards typically have negative ease,
+while other garments typically have positive ease.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/zipperguardwidth/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/zipperguardwidth/readme.mdx
new file mode 100644
index 00000000000..41ee80058d3
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/zipperguardwidth/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Zipper guard width'
+---
+
+Controls how wide the zipper guard will be. It should be wide enough to fully
+cover the zipper, with a little extra in case it shirts or stretches while in
+use.
diff --git a/sites/orgdocs/docs/designs/onyx/options/zipperlength/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/zipperlength/readme.mdx
new file mode 100644
index 00000000000..03d5ea65aba
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/zipperlength/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Zipper length'
+---
+
+Sets the length of the zipper, as a percentage of the vertical trunk. If you're
+using a precut zipper, you should adjust this option until the value shown
+below (in cm/in) matches the length of your zipper, measured from the lower
+stop to the upper stop.
+
+:::tip
+This option doesn't directly change the shape of the front or back pieces
+where the zipper is attached, but the zipper will be drawn onto the appropriate
+piece for reference, and will be used in drafting the zipper guard piece.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/options/zipperposition/readme.mdx b/sites/orgdocs/docs/designs/onyx/options/zipperposition/readme.mdx
new file mode 100644
index 00000000000..afecbf8b2e1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/options/zipperposition/readme.mdx
@@ -0,0 +1,29 @@
+---
+title: Zipper position
+---
+
+Choose whether to place the zipper on the front, the back, or to not use a
+zipper at all.
+
+**Front Zipper**
+
+- Easy for the wearer to reach the zipper.
+- Allows for a tight neckline.
+- Provides the least mobility of any option.
+
+**Back Zipper**
+
+- Allows greater mobility and stretch in the torso than a front zipper.
+- Allows for a tight neckline.
+- Can be hard to zip up and down by oneself.
+
+**No Zipper**
+
+- Allows maximum mobility and stretch in the torso.
+- Easy to put on and take off the garment.
+- Requires a very large neckline, since the neck must be able to stretch around
+ the widest part of the hips.
+
+:::tip
+The zipper guard piece is only generated if a zipper is used.
+:::
diff --git a/sites/orgdocs/docs/designs/onyx/readme.mdx b/sites/orgdocs/docs/designs/onyx/readme.mdx
new file mode 100644
index 00000000000..1933967824d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/onyx/readme.mdx
@@ -0,0 +1,96 @@
+---
+title: "Onyx: FreeSewing's Onyx One-piece"
+sidebar_label: Onyx One-piece
+---
+
+
+
+## Designer Notes {#notes}
+
+Onyx is my second design. Like Shelly, the design was made to address a need
+for sensory compression garments (related to autism), as well as the difficulty
+in finding sleeved and legged gender-neutral one-piece swimsuits sized for
+adults.
+
+What started as a swimsuit/unisuit design turned into a more general design
+capable of making other forms of casual or athletic one-piece outfits. I've
+made one-piece pajamas with the Onyx design, and the design should be capable
+of making simple rompers (such as pajamas rompers), leotards, and unitards, as
+these garments all share the same general form, varying in fabric, ease, and
+sleeve/leg length more than in their core design. Options for ribbed cuffs were
+added to aid in making pajamas with the design, and pajamas were also a major
+reason for the addition of the optional hood (sun protection is the other
+reason).
+
+The skirt was added in for modesty, primarily for the swimwear, though it does
+allow the Onyx design to be used to make gathered dresses with built-in shorts.
+
+Onyx does copy a number of Shelly's features, including raglan sleeves for
+mobility and the use of symmetrical front and back parts, except for the neck
+and head.
+
+Onyx is named after the gemstone and its deep black color, which not
+coincidentally is a great base color for Onyx swimsuits, particularly if one
+wants them to look like a wetsuit.
+
+A bit of history: Onyx may never have been born had it not been for the
+anti-LGBTQ+ protests and boycotts in the spring of 2023, which led to a unisuit
+that I particularly liked being pulled from the shelves of a major US retailer,
+and me needing a suitable replacement.
+
+Thrunic
+
+## What You Need {#needs}
+
+To make Onyx, you will need the following:
+
+- Basic sewing supplies
+- (Recommended) A serger/overlock machine. Light, strong, and stretchy seams
+ are important for this garment.
+- Between 1 - 5 meters (1.1 - 5.5 yards) of a suitable fabric, depending on
+ size and style ([see Fabric options](#fabric))
+ - Long sleeves, long legs, use of lining, larger measurements, more ease, use
+ of a hood, and use of a skirt will all increase fabric requirements.
+ - A typical adult unisuit with short sleeves and short legs with a self-lined
+ body will take about 2 meters of fabric.
+- (Optional) Rib knit fabric for the neck, arms, and legs, if desired.
+
+## Fabric Options {#fabric}
+
+This pattern is designed to work with stretch/knit fabrics, such as swim
+fabric, fleece, and jersey.
+
+For unisuits, unitards, and other performance-oriented and form-fitting
+garments, four-way stretch fabric such a 20% spandex blend is strongly
+recommended. For more casual garments, such as one-piece fleece pajamas,
+kigurumi, rompers, and jumpsuits, most knit fabrics can be used. Fleece can be
+used to make warm winter pajamas, while jersey knit can be used to make a
+summer romper.
+
+The raglan sleeves lend themselves well to using different colors/prints for
+the body and for the sleeves. Contrasting fabrics can also be used on the skirt
+or hood.
+
+Lined portions of the garment lend themselves well to embroidery, as the
+stabilizer (strongly recommended) and stitching will be kept away from the
+wearer's body by the lining. The chest, next to the zipper, is a particularly
+good spot, both because it's prominent, and because the chest doesn't stretch
+vertically much, since it's near the zipper.
+
+With swim fabric/spandex, it is recommended to make the neckband out of the
+same material used for the body. For less stretchy fabric, such as cotton
+jersey knit, ribbing is recommended.
+
+## Cutting Instructions {#cutting}
+
+- Cut **1 front** part _on the fold_ -or- cut **2 front parts** (refer to
+ pattern piece)
+- Cut **1 back** part _on the fold_ -or- cut **2 back parts** (refer to pattern
+ piece)
+- Cut **2 sleeve** parts
+- Cut **1 crotch gusset** part _on the fold_
+- Cut **1 zipper guard** part _on the fold_ (optional)
+- Cut **1 neckband** part _on the fold_ (optional)
+- Cut **2 hood** parts (optional)
+- Cut **1 hood front** part _on the fold_ (optional)
+- Cut **1 skirt** part _on the fold_ (optional)
diff --git a/sites/orgdocs/docs/designs/opal/instructions/readme.mdx b/sites/orgdocs/docs/designs/opal/instructions/readme.mdx
new file mode 100644
index 00000000000..14f2c208d0e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/instructions/readme.mdx
@@ -0,0 +1,200 @@
+---
+title: 'Opal Overalls: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+## Before you start
+
+### Sewing tips
+
+A _double row of stitching_ means a row of _edgestitching_ no more than 3mm in
+from the edge, followed by a row of _topstitching_ about 6-10mm in from the
+first row. This should produce stitching that looks like the stitching found on
+jeans, or a flat felled seam.
+
+If you wish to do any embroidery, it's easiest to do it now, before starting to
+assemble the garment.
+
+### Customizing and fitting your pattern
+
+#### Select an appropriate leg length
+
+- 20-60% for shorts
+- 90% for ankle-length legs
+- 100% for legs that touch the floor.
+
+#### Decide on what hardware you want to use
+
+These instruction assume you're using traditional overalls hardware (tack
+buttons + buckles + sliders), but there are many ways of securing the straps to
+the front bib.
+
+#### Decide on what pockets to include
+
+The designs supports up to seven pockets in a classical carpenter style (a bib
+pocket, two front slash pockets, two back pockets, and two carpenter pockets on
+the right leg), along with a hammer loop. If not including front slash pockets,
+the front piece will have to have the triangular gap filled in where the pocket
+would go.
+
+#### Figure out what kind of fit you want
+
+And set your eases accordingly.
+
+- Overalls are generally much roomier than pants. As such, they usually have
+ quite a bit of ease.
+- Keep in mind that the waist must slide over your hips. Either make sure the
+ waist has enough ease to slide over the hips, or use a fabric with some
+ two-way stretch (like the fabric used in skinny jeans).
+- The straps must be long enough to add any extra length needed for the
+ hardware. Traditional overalls hardware (tack buttons + buckles + sliders)
+ generally need 20-30cm of extra length to accomodate the straps being
+ adjustable.
+
+## Step 1: Slash Pockets
+
+- Overcast or serge the slanted edge of the pocket shield to prevent it from
+ fraying.
+- With the slash pocket laying flat with _good sides up_ place the pocket
+ shield onto the slash pocket _wrong side_ to _good side_ in the upper corner,
+ matching the slanted edge of the pocket shield to the line indicated on the
+ slash pocket part.
+- _Edgestitch_ the slanted edge of the pocket shield to the slash pocket.
+- Turn the pocket _right-side-out_.
+- Secure the seam with a double row of stitching.
+- _Baste_ the remaining two sides; these will be secured when the pocket is
+ sewn into the legs.
+- Repeat for the other slash pocket making sure it is mirrored to one you've
+ already made.
+
+## Step 2: Bib Pocket
+
+- Press a double fold hem into the top edge of the bib pocket, and secure with
+ a double row of stitching.
+- Press a single fold hem into the remaining sides of the bib pocket, and
+ secure with clips or pins. Place the bib pocket carefully into place onto the
+ front bib, _wrong side to good side_, and pin into place, removing the
+ previous clips/pins as you do so.
+- Secure with a double row of stitching.
+
+## Step 3: Pockets
+
+### Step 3a: Back Pockets (first part)
+
+- Press a double fold hem into the top edge of the back pocket, and secure with
+ a double row of stitching.
+- Press a single fold hem into the remaining sides of the back pocket, and
+ secure with clips or pins. Place the back pocket carefully into place onto
+ the rear piece, _wrong side to good side_, and pin into place, removing the
+ previous clips/pins as you do so.
+
+### Step 3b: Carpenter Pockets
+
+- Press a double fold hem into the slanted edge of the carpenter pocket, and
+ secure with a double row of stitching.
+- Press a single fold hem into the remaining sides of the carpenter pocket, and
+ secure with clips or pins.
+- Carefully remove pins as needed from the right back pocket to make room for
+ the carpenter pocket to be slid under the back pocket. Place the carpenter
+ pocket carefully into place _on top of_ the right(opposite of left) rear
+ piece and _under_ the back pocket, _wrong side to good side_, and pin into
+ place, removing the previous clips/pins as you do so.
+- Secure with a double row of stitching on the top, left, and bottom sides of
+ the carpenter pocket, being careful to lift the back pocket out of the way as
+ you sew to avoid sewing into it.
+- Baste the rightmost edges of the carpenter pocket and rear pieces together.
+
+- Press a double fold hem into the slanted edge of the 2nd carpenter pocket,
+ and secure with a double row of stitching.
+- Press a single fold hem into the remaining sides of the 2nd carpenter pocket,
+ and secure with clips or pins.
+- Baste the rightmost edges of the 2nd carpenter pocket and rear pieces
+ together.
+
+### Step 3c: Hammer Loop
+
+- Fold the hammer loop piece to the desired width and clip/pin.
+- Carefully remove pins from the left back pockets to make room for the hammer
+ loop to be slid under the back pocket.
+- Slide the hammer loop _under_ the left back pocket, and replace the pins,
+ securing the hammer loop into place.
+- Place the hammer loop along the left edge of the left rear piece, and baste
+ into place.
+
+### Step 3d: Back Pockets (second part)
+
+- Secure with a double row of stitching.
+- Repeat for the second back pocket.
+
+## Step 4: Assembling the front
+
+- Fold the waistband piece as indicated and clip/pin it.
+- With _right sides together_ join the front pieces together along the center
+ seam with a flat felled or mock flat felled seam.
+- Place the front piece and front bib together with _right sides together_ and
+ secure them together with a straight stitch to form the front assembly. Press
+ the seam so that it lays towards to top the garment.
+- Unfold the front assembly and lay it on the table _wrong side up_.
+- Place the waistband over the waist seam, with the smooth side face up, and
+ the side with the raw edge placed against the front assembly. Place the
+ bottom edge of the waistband 3-5mm below the seam, and make sure that the
+ waistband fully covers the seam.
+- Trim any excess waistband length.
+- Pin into place, removing existing clips/pins from the waistband in the
+ process.
+- Flip the front assembly _right side up_.
+- Topstitch 3 or 4 horizontal rows of straight stitching to secure the
+ waistband to the front assembly and reinforce the waist seam, making sure to
+ enclose the waist seam fully within the topstitching.
+
+## Step 5: Assembling the back
+
+The center seam runs from the bottom of the 'hexagon' to the crotch fork. Be
+careful not to stitch any part of the hexagon in this step.
+
+With _right sides together_ , join the front and back assemblies along the
+center seam with a flat felled or mock flat felled seam.
+
+## Step 6: Joining the front and back assemblies
+
+- With _right sides together_, join the front and back assemblies along each
+ outseam with a flat felled or mock flat felled seam.
+- With _right sides still together_, close the inseam with a flat felled or
+ mock flat felled seam.
+
+## Step 7: Forming the hexagon and hemming the bibs
+
+- Lay the back bib flat with _right sides up_, so that the two back bibs
+ overlap to form the hexagon. The left back/right strap crosses over the right
+ back/left strap.
+- Fold the hem allowances of the hexagon inwards into a single-fold topstitched
+ hem/seam, and pin into place (clips won't work here).
+- Fold the remaining hem allowances of the straps and bibs into a double-fold
+ hem, and clip or pin.
+- Secure the hexagon and the hems with a double row of stitching. You should be
+ able to be do this in two parts, starting and finishing on the sides of the
+ hexagon for each one.
+
+## Step 8: Reinforcing the front bib and installing hardware
+
+- Fold the bib placket piece as indicated, and clip or pin.
+- Trim any excess length away.
+- (optional) Serge or overlock the sides of the bib placket to prevent fraying.
+- Clip or pin the bib placket into place. It should be slightly inset from the
+ edges of the front bib, and the side with the raw edge should be placed
+ against the _wrong side_ of the bib.
+- Topstitch 3 or 4 horizontal rows of straight stitching from the _right side_
+ of the garment to secure the placket into place.
+
+## Step 9: Hemming the legs
+
+- Fold the hem allowances of the legs into double-fold hems, and clip or pin.
+- Secure the hems with a single row of stitching.
+
+## Step 10: Finishing
+
+- Put on a comfortable shirt or one-piece garment for underneath, or just go
+ shirtless.
+- Put on your finished overalls.
+- You're all done. Enjoy.
diff --git a/sites/orgdocs/docs/designs/opal/options/backbibbaseangle/readme.mdx b/sites/orgdocs/docs/designs/opal/options/backbibbaseangle/readme.mdx
new file mode 100644
index 00000000000..36000a29b3c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/backbibbaseangle/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Back bib base angle'
+---
+
+Controls the angle at which the back bib rises from side seam. Larger values
+will provide a fuller back bib.
diff --git a/sites/orgdocs/docs/designs/opal/options/backbibbasecurve/readme.mdx b/sites/orgdocs/docs/designs/opal/options/backbibbasecurve/readme.mdx
new file mode 100644
index 00000000000..9bcd6661195
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/backbibbasecurve/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Back bib base curve'
+---
+
+Controls how strongly curved the back bib is as it rises from the side seam.
+Smaller values will provide a fuller back bib.
diff --git a/sites/orgdocs/docs/designs/opal/options/backbibhexagonheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/backbibhexagonheight/readme.mdx
new file mode 100644
index 00000000000..7c898085b5a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/backbibhexagonheight/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Back bib hexagon height'
+---
+
+Controls how tall the hexagon formed by the straps crossing is. This is mostly
+a stylistic option, though higher values will produce a taller hexagonal
+crossing-over region, which will somewhat reduce the length of the straps and
+slightly reduce the coverage of the back bib, but should be a little stronger.
diff --git a/sites/orgdocs/docs/designs/opal/options/backbibhexagonsideheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/backbibhexagonsideheight/readme.mdx
new file mode 100644
index 00000000000..ea584244115
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/backbibhexagonsideheight/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Back bib hexagon side height'
+---
+
+Controls how tall the left and right sides of the hexagon formed by the straps
+crossing are. This is mostly a style choice, but too small a value will make
+the garment construction harder, and may weaken the garment.
diff --git a/sites/orgdocs/docs/designs/opal/options/backbibhexagonverticalposition/readme.mdx b/sites/orgdocs/docs/designs/opal/options/backbibhexagonverticalposition/readme.mdx
new file mode 100644
index 00000000000..7236f428420
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/backbibhexagonverticalposition/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Back bib hexagon vertical position'
+---
+
+Controls how far up the hexagon formed by the straps crossing is. Higher values
+will produce a taller back bib, and correspondingly shorter straps. This will
+produce more coverage, but shorter straps will reduce their adjustment range.
diff --git a/sites/orgdocs/docs/designs/opal/options/backbibhexagonwidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/backbibhexagonwidth/readme.mdx
new file mode 100644
index 00000000000..e168575e8b0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/backbibhexagonwidth/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Back bib hexagon width'
+---
+
+Controls how wide the hexagon formed by the straps crossing is. Larger values
+will make the entire back bib wider, and also wider the base of the straps,
+adding quite a bit more coverage.
diff --git a/sites/orgdocs/docs/designs/opal/options/bibheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/bibheight/readme.mdx
new file mode 100644
index 00000000000..0c9b90bd143
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/bibheight/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Bib height'
+---
+
+Controls how tall the front bib is.
diff --git a/sites/orgdocs/docs/designs/opal/options/bibplacketlayers/readme.mdx b/sites/orgdocs/docs/designs/opal/options/bibplacketlayers/readme.mdx
new file mode 100644
index 00000000000..0c0472a0e8e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/bibplacketlayers/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Bib placket layers'
+---
+
+Sets how many layers of fabric are used for the placket at the top of the front
+bib. Using more layers will produce a stronger area to install the bib hardware
+into, but too many layers will be hard to sew and will add bulk.
diff --git a/sites/orgdocs/docs/designs/opal/options/bibplacketwidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/bibplacketwidth/readme.mdx
new file mode 100644
index 00000000000..c4996208f3f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/bibplacketwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Bib placket width'
+---
+
+Controls how wide to make the placket at the top of the front bib.
diff --git a/sites/orgdocs/docs/designs/opal/options/bibpocketonfold/readme.mdx b/sites/orgdocs/docs/designs/opal/options/bibpocketonfold/readme.mdx
new file mode 100644
index 00000000000..52d018cf544
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/bibpocketonfold/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Bib pocket on fold'
+---
+
+Toggles whether to draft the bib pocket pattern on-the-fold, or as a full
+pattern piece.
diff --git a/sites/orgdocs/docs/designs/opal/options/bibwaistdrop/readme.mdx b/sites/orgdocs/docs/designs/opal/options/bibwaistdrop/readme.mdx
new file mode 100644
index 00000000000..b3d571cdd44
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/bibwaistdrop/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Bib waist drop'
+---
+
+Places extra fabric in the center of the waist, to help the garment better wrap
+around the belly. This extra fabric helps to avoid having the folds of fabric
+that often form at the base of the bib.
diff --git a/sites/orgdocs/docs/designs/opal/options/bibwidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/bibwidth/readme.mdx
new file mode 100644
index 00000000000..2e979adcd5f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/bibwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Bib width'
+---
+
+Controls how wide the front bib is.
diff --git a/sites/orgdocs/docs/designs/opal/options/crossseamcurveangle/readme.mdx b/sites/orgdocs/docs/designs/opal/options/crossseamcurveangle/readme.mdx
new file mode 100644
index 00000000000..0657d63152f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/crossseamcurveangle/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Cross seam curve angle'
+---
+
+Controls at what angle the cross seam reaches the crotch fork.
diff --git a/sites/orgdocs/docs/designs/opal/options/crossseamcurvebend/readme.mdx b/sites/orgdocs/docs/designs/opal/options/crossseamcurvebend/readme.mdx
new file mode 100644
index 00000000000..1ea6490a6f6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/crossseamcurvebend/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Cross seam curve bend'
+---
+
+Controls how deeply scooped the cross seam is. Smaller values will give more
+room in the seat.
diff --git a/sites/orgdocs/docs/designs/opal/options/crossseamcurvestart/readme.mdx b/sites/orgdocs/docs/designs/opal/options/crossseamcurvestart/readme.mdx
new file mode 100644
index 00000000000..9ae77bba841
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/crossseamcurvestart/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Cross seam curve start'
+---
+
+Controls where the cross seam starts curving on the back. Smaller values will
+give more room in the seat.
diff --git a/sites/orgdocs/docs/designs/opal/options/crotchdrop/readme.mdx b/sites/orgdocs/docs/designs/opal/options/crotchdrop/readme.mdx
new file mode 100644
index 00000000000..1531f9b830e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/crotchdrop/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Crotch drop'
+---
+
+Controls vertical ease at the crotch fork.
diff --git a/sites/orgdocs/docs/designs/opal/options/crotchease/readme.mdx b/sites/orgdocs/docs/designs/opal/options/crotchease/readme.mdx
new file mode 100644
index 00000000000..dd8c5651088
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/crotchease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Crotch ease'
+---
+
+Controls horizontal ease at the crotch fork.
diff --git a/sites/orgdocs/docs/designs/opal/options/crotchforkbalance/readme.mdx b/sites/orgdocs/docs/designs/opal/options/crotchforkbalance/readme.mdx
new file mode 100644
index 00000000000..830d6bb2a44
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/crotchforkbalance/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Crotch fork balance'
+---
+
+Controls how far back/forward the crotch fork is placed.
diff --git a/sites/orgdocs/docs/designs/opal/options/crotchseamcurveangle/readme.mdx b/sites/orgdocs/docs/designs/opal/options/crotchseamcurveangle/readme.mdx
new file mode 100644
index 00000000000..7e684e9f252
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/crotchseamcurveangle/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Crotch seam curve angle'
+---
+
+Controls at what angle the crotch seam reaches the crotch fork.
diff --git a/sites/orgdocs/docs/designs/opal/options/crotchseamcurvebend/readme.mdx b/sites/orgdocs/docs/designs/opal/options/crotchseamcurvebend/readme.mdx
new file mode 100644
index 00000000000..06f6a066dc2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/crotchseamcurvebend/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Crotch seam curve bend'
+---
+
+Controls how deeply scooped the crotch seam is. Smaller values will give more
+room in the crotch.
diff --git a/sites/orgdocs/docs/designs/opal/options/crotchseamcurvestart/readme.mdx b/sites/orgdocs/docs/designs/opal/options/crotchseamcurvestart/readme.mdx
new file mode 100644
index 00000000000..6c8733fd404
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/crotchseamcurvestart/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Crotch seam curve start'
+---
+
+Controls where the crotch seam starts curving on the front. Smaller values will
+give more room in the crotch.
diff --git a/sites/orgdocs/docs/designs/opal/options/hammerloop/readme.mdx b/sites/orgdocs/docs/designs/opal/options/hammerloop/readme.mdx
new file mode 100644
index 00000000000..33d08bbbc24
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/hammerloop/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Hammer loop'
+---
+
+Toggles whether to include a hammer loop under the left back pocket.
diff --git a/sites/orgdocs/docs/designs/opal/options/hammerloopcornerx/readme.mdx b/sites/orgdocs/docs/designs/opal/options/hammerloopcornerx/readme.mdx
new file mode 100644
index 00000000000..4686f533192
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/hammerloopcornerx/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Hammer loop corner horizontal position'
+---
+
+Controls how the hammer loop curves. Used for calculating its length.
diff --git a/sites/orgdocs/docs/designs/opal/options/hammerloopcornery/readme.mdx b/sites/orgdocs/docs/designs/opal/options/hammerloopcornery/readme.mdx
new file mode 100644
index 00000000000..0336273efac
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/hammerloopcornery/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Hammer loop corner vertical position'
+---
+
+Controls how the hammer loop curves. Used for calculating its length.
diff --git a/sites/orgdocs/docs/designs/opal/options/hammerloopcurve/readme.mdx b/sites/orgdocs/docs/designs/opal/options/hammerloopcurve/readme.mdx
new file mode 100644
index 00000000000..996048f3075
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/hammerloopcurve/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Hammer loop curve'
+---
+
+Controls how the hammer loop curves. Used for calculating its length.
diff --git a/sites/orgdocs/docs/designs/opal/options/hammerloopfirstfold/readme.mdx b/sites/orgdocs/docs/designs/opal/options/hammerloopfirstfold/readme.mdx
new file mode 100644
index 00000000000..970c18a15d8
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/hammerloopfirstfold/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Hammer loop first fold'
+---
+
+Controls how wide the first fold of the hammer loop is. This is used for
+calculating how wide the fabric needs to be cut for the hammer loop.
diff --git a/sites/orgdocs/docs/designs/opal/options/hammerloopoutseam/readme.mdx b/sites/orgdocs/docs/designs/opal/options/hammerloopoutseam/readme.mdx
new file mode 100644
index 00000000000..f52c47c6aa5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/hammerloopoutseam/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Hammer loop outseam'
+---
+
+Controls how far down the outseam the hammer loop is inserted. Used for
+calculating its length.
diff --git a/sites/orgdocs/docs/designs/opal/options/hammerloopsecondfold/readme.mdx b/sites/orgdocs/docs/designs/opal/options/hammerloopsecondfold/readme.mdx
new file mode 100644
index 00000000000..3a181bad81e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/hammerloopsecondfold/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Hammer loop second fold'
+---
+
+Controls how wide the second fold of the hammer loop is. This is used for
+calculating how wide the fabric needs to be cut for the hammer loop.
diff --git a/sites/orgdocs/docs/designs/opal/options/hammerloopwidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/hammerloopwidth/readme.mdx
new file mode 100644
index 00000000000..ce2bd77901b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/hammerloopwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Hammer loop width'
+---
+
+How wide to make the hammer loop.
diff --git a/sites/orgdocs/docs/designs/opal/options/hemallowance/readme.mdx b/sites/orgdocs/docs/designs/opal/options/hemallowance/readme.mdx
new file mode 100644
index 00000000000..b692ad28339
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/hemallowance/readme.mdx
@@ -0,0 +1,12 @@
+---
+title: 'Hem allowance'
+---
+
+Sets how wide the hems are around the front bib, back bib, and straps are. A
+larger hem will make the bibs and straps a little stiffer and stronger, but
+large values can make the curves harder to sew.
+
+:::tip
+This option does not change the hem around the legs. Use the Leg hem
+allowance options for that.
+:::
diff --git a/sites/orgdocs/docs/designs/opal/options/legbalance/readme.mdx b/sites/orgdocs/docs/designs/opal/options/legbalance/readme.mdx
new file mode 100644
index 00000000000..05fb60a22e4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/legbalance/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Leg balance'
+---
+
+Positive values move more of the fabric to the back piece, negative values to
+the front piece.
diff --git a/sites/orgdocs/docs/designs/opal/options/leghemallowance/readme.mdx b/sites/orgdocs/docs/designs/opal/options/leghemallowance/readme.mdx
new file mode 100644
index 00000000000..96d0cc9270e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/leghemallowance/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Leg hem allowance'
+---
+
+Sets how wide the hems are around the legs. If you want to cuff the legs as
+well as hem them, add additional allowance here for the cuffs.
diff --git a/sites/orgdocs/docs/designs/opal/options/leghemease/readme.mdx b/sites/orgdocs/docs/designs/opal/options/leghemease/readme.mdx
new file mode 100644
index 00000000000..47aeda4fe1b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/leghemease/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Leg hem ease'
+---
+
+Controls how much ease there is at the bottom of the legs.
+
+:::tip
+This option does _not_ affect the width of any hem. It only affects the
+length around the circumference of the leg, with the greatest effect felt at
+the hem, and tapering off towards the thighs.
+:::
diff --git a/sites/orgdocs/docs/designs/opal/options/leglength/readme.mdx b/sites/orgdocs/docs/designs/opal/options/leglength/readme.mdx
new file mode 100644
index 00000000000..dae647be368
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/leglength/readme.mdx
@@ -0,0 +1,19 @@
+---
+title: 'Leg length'
+---
+
+Controls how long the legs of the garment will be. A value of 100% should
+produce legs that reach the floor. Much smaller values (20%-60%) are used to
+draft a pattern for shortalls.
+
+Note: The exact length needed will probably need tweaking, based on how the
+garment is intended to be worn. I recommend that you take a measuring tape,
+place one end where you want the top of the outseam to rest, measure from there
+to where you want the bottom of the legs to reach, and adjust this option so
+that the outseam of the drafted pattern is the right length.
+
+:::tip
+Too long is better than too short. Excess leg length can be hemmed,
+cuffed, or cut away, but it's hard to add more length to overalls that are too
+short.
+:::
diff --git a/sites/orgdocs/docs/designs/opal/options/outseamheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/outseamheight/readme.mdx
new file mode 100644
index 00000000000..b3f997c5e09
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/outseamheight/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Outseam height'
+---
+
+Controls how far up past the waist the outseam extends, and thus how far up the
+front and back bibs separate.
+
+:::warning
+This option has a major effect on the overall style of your design.
+Larger values will give overalls with more side coverage and are more common in
+mens' or kids' overalls, while smaller values will expose more of the sides and
+are more common in feminine overalls. Larger values should produce a stronger
+(more tear-resistant) garment.
+:::
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketback/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketback/readme.mdx
new file mode 100644
index 00000000000..485d904232c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketback/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Back pocket'
+---
+
+Toggles whether to include back pockets in the pattern.
+
+Note: Setting this option to 'true' will enable the following options:
+
+- Back pocket horizontal position
+- Back pocket vertical position
+- Back pocket width
+- Back pocket height
+- Back pocket corner width
+- Back pocket corner height
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbackcornerheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbackcornerheight/readme.mdx
new file mode 100644
index 00000000000..eb6f5894974
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbackcornerheight/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Back pocket corner height'
+---
+
+Controls how tall the bottom-left and bottom-right corners of the back pocket
+are.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbackcornerwidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbackcornerwidth/readme.mdx
new file mode 100644
index 00000000000..f0f423d1da8
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbackcornerwidth/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Back pocket corner width'
+---
+
+Controls how wide the bottom-left and bottom-right corners of the back pocket
+are.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbackheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbackheight/readme.mdx
new file mode 100644
index 00000000000..395a2899f82
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbackheight/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Back pocket height'
+---
+
+Controls how tall the back pockets are.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbackpositionx/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbackpositionx/readme.mdx
new file mode 100644
index 00000000000..7330b6d457c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbackpositionx/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Back pocket horizontal position'
+---
+
+Controls where the back pockets are horizontally.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbackpositiony/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbackpositiony/readme.mdx
new file mode 100644
index 00000000000..6f20f9acb3d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbackpositiony/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Back pocket vertical position'
+---
+
+Controls where the back pockets are vertically.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbackwidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbackwidth/readme.mdx
new file mode 100644
index 00000000000..f5dd42944da
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbackwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Back pocket width'
+---
+
+Controls how wide the back pockets are.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbib/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbib/readme.mdx
new file mode 100644
index 00000000000..eea02a4cb04
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbib/readme.mdx
@@ -0,0 +1,18 @@
+---
+title: 'Bib pocket'
+---
+
+Toggles whether to include a bib pocket in the pattern.
+
+:::tip
+Setting this option to 'true' will enable the following options:
+
+- Bib pocket on fold
+- Bib pocket vertical position
+- Bib pocket style
+- Bib pocket width
+- Bib pocket height
+- Bib pocket feature width
+- Bib pocket feature height
+- Bib pocket curve
+ :::
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbibfeaturecurve/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbibfeaturecurve/readme.mdx
new file mode 100644
index 00000000000..bcad5c63dca
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbibfeaturecurve/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Bib pocket feature curve'
+---
+
+The exact effect of this option varies based on the selected bib pocket style:
+
+- Pentagon: This option has no effect.
+- Hexagon: This option has no effect.
+- Curved bottom: This option controls how strongly curved the curved sections
+ on the bottom of the pocket extends.
+- Rectangle: This option has no effect.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbibfeatureheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbibfeatureheight/readme.mdx
new file mode 100644
index 00000000000..661e51c6f7a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbibfeatureheight/readme.mdx
@@ -0,0 +1,13 @@
+---
+title: 'Bib pocket feature height'
+---
+
+The exact effect of this option varies based on the selected bib pocket style:
+
+- Pentagon: This option controls how far up the bottom-right and bottom-left
+ corners are.
+- Hexagon: This option controls how high the diagonal (bottom-right and
+ bottom-left) edges of the pocket are.
+- Curved bottom: This option controls how high the curved sections on the
+ bottom of the pocket extend.
+- Rectangle: This option has no effect.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbibfeaturewidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbibfeaturewidth/readme.mdx
new file mode 100644
index 00000000000..59a201cfe7d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbibfeaturewidth/readme.mdx
@@ -0,0 +1,12 @@
+---
+title: 'Bib pocket feature width'
+---
+
+The exact effect of this option varies based on the selected bib pocket style:
+
+- Pentagon: This option controls how wide the bib pocket is at the bottom-right
+ and bottom-left corners.
+- Hexagon: This option controls how wide bottom edge of the pocket is.
+- Curved bottom: This option controls how wide the flat section on the bottom
+ edge of the pocket is.
+- Rectangle: This option has no effect.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbibheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbibheight/readme.mdx
new file mode 100644
index 00000000000..0f64ba28d7b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbibheight/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Bib pocket height'
+---
+
+Controls how tall the bib pocket is.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbibonfold/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbibonfold/readme.mdx
new file mode 100644
index 00000000000..abdd424c7dd
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbibonfold/readme.mdx
@@ -0,0 +1,10 @@
+---
+title: 'Bib pocket on fold'
+---
+
+Toggles whether to draft the bib pocket pattern on-the-fold, or as a full
+pattern piece.
+
+Note: Printing on-the-fold can save a small amount of paper, but I recommend to
+print the full pattern piece to avoid confusion, since the other pieces are all
+full pieces.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbibstyle/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbibstyle/readme.mdx
new file mode 100644
index 00000000000..a5361078880
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbibstyle/readme.mdx
@@ -0,0 +1,15 @@
+---
+title: 'Bib pocket style'
+---
+
+Choose among the available types/styles for the bib pocket:
+
+- Pentagon: The bib pocket is in the shape of a pentagon. The feature options
+ control the bottom-right and bottom-left points of the pentagon. This is the
+ designer's preferred style, as it follows the trapezoidal shape of the front
+ bib.
+- Hexagon: The bib pocket is in the shape of a hexagon, similar to the style of
+ the back pockets.
+- Curved bottom: This is like 'hexagon,' but the two diagonal edges are curves
+ instead of straight lines.
+- Rectangle: The bib pocket is in the shape of a rectangle.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbibverticalposition/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbibverticalposition/readme.mdx
new file mode 100644
index 00000000000..9a6e51643aa
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbibverticalposition/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Bib pocket vertical position'
+---
+
+Controls where the bib pocket is located on the bib vertically.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketbibwidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketbibwidth/readme.mdx
new file mode 100644
index 00000000000..ad31d0cb4e2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketbibwidth/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Bib pocket width'
+---
+
+Controls how wide the top of the bib pocket is. For the rectangular bib pocket
+style, this also controls how wide the bottom of the bib pocket is.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketcarpenter/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketcarpenter/readme.mdx
new file mode 100644
index 00000000000..4718637afb1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketcarpenter/readme.mdx
@@ -0,0 +1,15 @@
+---
+title: 'Carpenter pocket'
+---
+
+Toggles whether to include a carpenter pocket under the right back pocket.
+
+Note: Setting this option to 'true' will enable the following options:
+
+- Carpenter pocket height
+- Carpenter pocket anchor horizontal position
+- Carpenter pocket anchor vertical position
+- Carpenter pocket anchor width
+- Carpenter pocket opening height
+- Carpenter pocket extra
+- Carpenter pocket extra height (If carpenter pocket extra is also true)
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketcarpenteranchorwidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketcarpenteranchorwidth/readme.mdx
new file mode 100644
index 00000000000..1ef9ff6e1a3
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketcarpenteranchorwidth/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Carpenter pocket anchor width'
+---
+
+Controls how wide the section of the carpenter pocket anchored under the back
+pocket is.
+
+:::tip
+This option also controls how slanted the opening of the carpenter pocket
+is.
+:::
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketcarpenteranchorx/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketcarpenteranchorx/readme.mdx
new file mode 100644
index 00000000000..68f6aa01e85
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketcarpenteranchorx/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Carpenter pocket height'
+---
+
+Controls how tall the carpenter pocket is.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketcarpenteranchory/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketcarpenteranchory/readme.mdx
new file mode 100644
index 00000000000..014840f25a0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketcarpenteranchory/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Carpenter pocket anchor vertical position'
+---
+
+Controls where the carpenter pocket is anchored under the back pocket
+vertically.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketcarpenterextra/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketcarpenterextra/readme.mdx
new file mode 100644
index 00000000000..1178d802649
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketcarpenterextra/readme.mdx
@@ -0,0 +1,12 @@
+---
+title: 'Carpenter pocket extra'
+---
+
+Toggles whether to include a second pocket over the bottom portion of the
+carpenter pocket.
+
+:::tip
+Setting this option to `true` will enable the following option:
+
+- Carpenter pocket extra height
+ :::
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketcarpenterextraheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketcarpenterextraheight/readme.mdx
new file mode 100644
index 00000000000..393d97a82b3
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketcarpenterextraheight/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Carpenter pocket extra height'
+---
+
+Controls how tall to make the second carpenter pocket.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketcarpenterheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketcarpenterheight/readme.mdx
new file mode 100644
index 00000000000..68f6aa01e85
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketcarpenterheight/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Carpenter pocket height'
+---
+
+Controls how tall the carpenter pocket is.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketcarpenteropeningheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketcarpenteropeningheight/readme.mdx
new file mode 100644
index 00000000000..d752d3b1807
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketcarpenteropeningheight/readme.mdx
@@ -0,0 +1,10 @@
+---
+title: 'Carpenter pocket opening height'
+---
+
+Controls how tall the opening to the carpenter pocket is.
+
+:::tip
+The width of the opening to the carpenter pocket is adjusted using the
+carpenter pocket anchor width option.
+:::
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketslash/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketslash/readme.mdx
new file mode 100644
index 00000000000..33035518fee
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketslash/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Slash pocket'
+---
+
+Toggles whether or not to include slash (front) pockets in the pattern.
+
+Setting this option to 'true' will enable the following options:
+
+- Slash pocket opening width
+- Slash pocket opening height
+- Slash pocket curve
+- Slash pocket width
+- Slash pocket height
+- Slash pocket shield overlap
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketslashheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketslashheight/readme.mdx
new file mode 100644
index 00000000000..ebaac726347
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketslashheight/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Slash pocket height'
+---
+
+Controls how deep the slash pocket bags are.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketslashopeningcurve/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketslashopeningcurve/readme.mdx
new file mode 100644
index 00000000000..df46d4230df
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketslashopeningcurve/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Slash pocket opening curve'
+---
+
+Controls the shape of the openings the slash pockets. 0 is a straight opening,
+while larger values are more deeply curved.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketslashopeningheight/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketslashopeningheight/readme.mdx
new file mode 100644
index 00000000000..c126789b4b5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketslashopeningheight/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Slash pocket opening height'
+---
+
+Controls how tall the openings of the slash pockets are.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketslashopeningwidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketslashopeningwidth/readme.mdx
new file mode 100644
index 00000000000..cbfb719bf64
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketslashopeningwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Slash pocket opening width'
+---
+
+Controls how wide the openings of the slash pockets are.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketslashshieldoverlap/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketslashshieldoverlap/readme.mdx
new file mode 100644
index 00000000000..12c4788a079
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketslashshieldoverlap/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Slash pocket shield overlap'
+---
+
+Controls how far the pocket shield extends past the opening of the slash
+pockets. Larger values will make it less likely for the pocket lining to be
+visible from the outside, but will add more bulk to the pockets.
diff --git a/sites/orgdocs/docs/designs/opal/options/pocketslashwidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/pocketslashwidth/readme.mdx
new file mode 100644
index 00000000000..b3a3f72a380
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/pocketslashwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Slash pocket width'
+---
+
+Controls how wide the slash pocket bags are.
diff --git a/sites/orgdocs/docs/designs/opal/options/seatbalance/readme.mdx b/sites/orgdocs/docs/designs/opal/options/seatbalance/readme.mdx
new file mode 100644
index 00000000000..3dfdfda0724
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/seatbalance/readme.mdx
@@ -0,0 +1,15 @@
+---
+title: 'Seat balance'
+---
+
+Controls the position of the side seam at the seat. Positive values will cause
+the front piece to be wider, while negative values will cause the back piece to
+be wider.
+
+:::tip
+-The side seam in this design is always straight. Instead, all adjustments
+are made by moving the center seam.
+
+- For most people, this option will be set less positive/more negative than
+ the waist balance.
+ :::
diff --git a/sites/orgdocs/docs/designs/opal/options/seatease/readme.mdx b/sites/orgdocs/docs/designs/opal/options/seatease/readme.mdx
new file mode 100644
index 00000000000..f404fe431ad
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/seatease/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Seat ease'
+---
+
+Controls how wide the garment will be at seat height.
+
+:::tip
+This option controls the circumference/overall ease of the garment at this
+height. If you want to move fabric to/from the seat or the crotch, you should
+adjust the seat balance option instead.
+:::
diff --git a/sites/orgdocs/docs/designs/opal/options/straplength/readme.mdx b/sites/orgdocs/docs/designs/opal/options/straplength/readme.mdx
new file mode 100644
index 00000000000..96e035a8e3b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/straplength/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Strap length'
+---
+
+Controls how long the straps are. This option should generally be substantially
+larger than 100%, to allow the strap to be passed through the hardware. 160% is
+generally a good value to allow for a wide range of adjustments using the
+hardware.
+
+:::tip
+If not using hardware and permanently sewing the straps to the front bib,
+or if using non-adjustable buttons, a value of slightly over 100% should be
+used.
+:::
diff --git a/sites/orgdocs/docs/designs/opal/options/strapposition/readme.mdx b/sites/orgdocs/docs/designs/opal/options/strapposition/readme.mdx
new file mode 100644
index 00000000000..94bfe2c7813
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/strapposition/readme.mdx
@@ -0,0 +1,13 @@
+---
+title: 'Strap position'
+---
+
+Controls where the straps are positioned with respect to the hexagon. This
+option can only go negative, and smaller (more negative) values set the straps
+a little farther away from the centerline, which can affect how they fit around
+the shoulders.
+
+:::tip
+If you don't have a good reason to change this, it is recommended to
+leave it at the default (0%).
+:::
diff --git a/sites/orgdocs/docs/designs/opal/options/straptapercurve/readme.mdx b/sites/orgdocs/docs/designs/opal/options/straptapercurve/readme.mdx
new file mode 100644
index 00000000000..f765d672c2c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/straptapercurve/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Strap taper curve'
+---
+
+Controls how strongly curved the taper of the straps is.
diff --git a/sites/orgdocs/docs/designs/opal/options/straptaperposition/readme.mdx b/sites/orgdocs/docs/designs/opal/options/straptaperposition/readme.mdx
new file mode 100644
index 00000000000..4d72eab6503
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/straptaperposition/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Strap taper position'
+---
+
+Controls how long the tapered portion of the straps is.
+
+Setting this value too low can make for unnatural-looking straps, but the
+larger this value is set, the smaller the range over which the straps can be
+adjusted, since the slider can't fit over the tapered portion of the straps. It
+is recommended to set this to as small a value as will still produce
+nice-looking straps.
diff --git a/sites/orgdocs/docs/designs/opal/options/strapwidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/strapwidth/readme.mdx
new file mode 100644
index 00000000000..32998ffe00e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/strapwidth/readme.mdx
@@ -0,0 +1,10 @@
+---
+title: 'Strap length'
+---
+
+Controls how wide the straps are.
+
+:::tip
+It is recommended to select your hardware first, and make sure that the strap
+width that you choose is compatible with your sliders and buckles.
+:::
diff --git a/sites/orgdocs/docs/designs/opal/options/thighshape/readme.mdx b/sites/orgdocs/docs/designs/opal/options/thighshape/readme.mdx
new file mode 100644
index 00000000000..5f6f58efe6e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/thighshape/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Thigh shape'
+---
+
+Controls how elongated the thighs of the garment are. Higher values are used
+for deeper but narrower thighs.
+
+This controls the transition between the trunk (one big tube) and the legs (two
+smaller tubes). The two legs will always require more fabric than the trunk,
+but the shape of the thighs affects how much more fabric is needed. This option
+is used to account for this.
diff --git a/sites/orgdocs/docs/designs/opal/options/waistbalance/readme.mdx b/sites/orgdocs/docs/designs/opal/options/waistbalance/readme.mdx
new file mode 100644
index 00000000000..531eee25363
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/waistbalance/readme.mdx
@@ -0,0 +1,15 @@
+---
+title: 'Waist balance'
+---
+
+Controls the position of the side seam at the waist. Positive values will cause
+the front piece to be wider, while negative values will cause the back piece to
+be wider.
+
+Note: The side seam in this design is always straight. Instead, all adjustments
+are made by moving the center seam.
+
+:::tip
+For most people, this option will be set more positive/less negative than
+the seat balance.
+:::
diff --git a/sites/orgdocs/docs/designs/opal/options/waistbandlayers/readme.mdx b/sites/orgdocs/docs/designs/opal/options/waistbandlayers/readme.mdx
new file mode 100644
index 00000000000..9bc922742fb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/waistbandlayers/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Waistband layers'
+---
+
+Sets how many layers the front waistband is folded into.
diff --git a/sites/orgdocs/docs/designs/opal/options/waistbandwidth/readme.mdx b/sites/orgdocs/docs/designs/opal/options/waistbandwidth/readme.mdx
new file mode 100644
index 00000000000..5a23caf30f1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/waistbandwidth/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Waistband width'
+---
+
+Controls how wide the front (and only) waistband is. Make sure that the
+waistband is at least a little larger than the seam allowance. Seam allowance +
+6mm should be the minimum.
diff --git a/sites/orgdocs/docs/designs/opal/options/waistease/readme.mdx b/sites/orgdocs/docs/designs/opal/options/waistease/readme.mdx
new file mode 100644
index 00000000000..52947bac78e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/waistease/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Waist ease'
+---
+
+Controls how wide the garment will be around the waist.
+
+This overalls design does not feature any side closure. As such, there must be
+enough ease in the waist for the garment to slide over the widest part of the
+hips. As such, waist ease should usually be set to fairly large positive value.
+If the waist ease is too narrow, you may make a garment that cannot be put on
+or taken off.
diff --git a/sites/orgdocs/docs/designs/opal/options/waistposition/readme.mdx b/sites/orgdocs/docs/designs/opal/options/waistposition/readme.mdx
new file mode 100644
index 00000000000..84cec3c0a1f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/options/waistposition/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Waist position'
+---
+
+Controls where the waistband is on the front of the overalls. 0 is at the
+natural waist and -100 is at the seat. Positive values will place the waistband
+above the natural waist. Values near 0 are recommended for traditional
+overalls.
diff --git a/sites/orgdocs/docs/designs/opal/readme.mdx b/sites/orgdocs/docs/designs/opal/readme.mdx
new file mode 100644
index 00000000000..80f374cba7e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/opal/readme.mdx
@@ -0,0 +1,75 @@
+---
+title: "Opal: FreeSewing's Opal Overalls"
+sidebar_label: Opal Overalls
+---
+
+
+
+## Designer Notes {#notes}
+
+Opal is my third design. Like my first two designs (Shelly and Onyx), Opal has
+been designed to address my sensory needs. Overalls are loose, practical
+garments that don't cause the sensory issues that jeans cause, but are still a
+sturdy, practical garment that can be worn over other sensory clothes.
+
+The lack of side buttons is due to these sensory issues - the garment is
+intended to be drafted loose enough to fit over the hips, and omitting the side
+buttons makes for a more comfortable garment, as well as making the overalls
+quite a fair bit easier to draft and make.
+
+The fabric crossing over on the back bib adds strength and is a look I really
+like, which is why I drafted it that way.
+
+Opal's name is in keeping with the gemstone theme of my designs.
+
+Thrunic
+
+## What You Need {#needs}
+
+To make Opal, you will need the following:
+
+- Basic sewing supplies
+- Between 1 - 3 meters (1.1 - 3.3 yards) of a suitable fabric, depending on
+ size and style ([see Fabric options](#fabric)).
+- (optional) Fasteners to attach the straps to the front bib. I make my
+ overalls using tack buttons on the bib, and a buckle and slider on each
+ strap.
+
+:::warning
+
+- Long legs and a looser fit will increase fabric requirements. Pockets usually
+ can be fit on the otherwise wasted portion of the fabric, and don't change
+ the fabric length requirement.
+- A pair of shortalls for a typical adult will need about 2 meters of fabric.
+ :::
+
+## Fabric Options {#fabric}
+
+This pattern is designed to work with denim, but should work with most woven
+fabrics.
+
+## Cutting Instructions {#cutting}
+
+- Cut **2 front** parts
+- Cut **2 back** parts
+- Cut **1 bib** part
+- Cut **1 waistband** part
+- Cut **1 bib placket** part
+- Cut **1 bib pocket** part (optional)
+- Cut **2 slash pocket** parts (optional)
+- Cut **2 pocket shield** parts (optional)
+- Cut **2 back pocket** parts (optional)
+- Cut **1 carpenter pocket** part (optional)
+- Cut **1 2nd carpenter pocket** part (optional)
+- Cut **1 hammer loop** part (optional)
+
+:tip
+When cutting out two, you can cut them [good sides
+together](/docs/sewing/good-sides-together). However, when working with fabric
+with a pattern, I prefer to cut them individually to finely control the pattern
+matching.
+
+When you cut them individually, remember that they need to be mirror images of
+each other. So flip either your pattern or your fabric over when cutting the
+second one.
+:::
diff --git a/sites/orgdocs/docs/designs/paco/instructions/readme.mdx b/sites/orgdocs/docs/designs/paco/instructions/readme.mdx
new file mode 100644
index 00000000000..9938a9576d6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/readme.mdx
@@ -0,0 +1,429 @@
+---
+title: 'Paco pants: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+:::tip A note on seam finishes
+
+Before you get started, you'll want to decide on your method of seam finishing,
+or how you tidy up the raw seams along the legs of your pants to keep them from
+fraying. There are a lot of options for this. Common choices are serging the
+raw edges, or using French seams to encase the raw edges.
+
+For these instructions, we'll assume that you are using a serger for seam
+finishes, but we'll also provide alternatives. Other options for finishing
+seams include trimming them with pinking shears, stitching a zig-zag along the
+edge of the seam to keep it from fraying, or binding with bias tape.
+:::
+
+## Step 1: Construct the back pockets
+
+Are you planning to insert welt pockets in the back of your Paco pants? Is so, awesome!
+This is arguably the trickiest part, and we'll accomplish it first. If not, you can skip
+ahead to the next step, preparing the front pockets.
+
+Construct the welt pockets at the back of your trousers, including the pocket bag.
+
+:::tip Welt pockets
+
+Constructing a welt pocket is a technique that is used is different garments.
+That is why it's branched it off into its own documentation page.
+
+There’s both written documentation and a video series that shows you how to do
+it, so even if you’ve never made welt pockets before, you’ll be fine.
+
+[To the welt pockets
+documentation](https://freesewing.org/docs/sewing/double-welt-pockets/)
+:::
+
+## Step 2: Prepare the front pockets
+
+Your pockets are cut from a lining material, which can save on weight and bulk,
+but also means that you'll want to hide them a little bit inside the side seam,
+so the lining doesn't show. The flap along the outside seam of each leg is for
+just this purpose.
+
+If you are using a serger, serge the curved edges of your pocket pieces. Then,
+serge along the long edges of the pocket flaps.
+
+
+
+## Step 3: Attach pockets to pants
+
+With _good sides together_, line up the markings on the edge of the pocket bag
+with the ends of the flap along the outside seam of the front leg. Sew
+together. Repeat for second leg.
+
+
+
+Now do the same with the back legs. With good sides together, line up the
+markings on the edge of the pocket bag with the ends of the flap along the
+outside seam of the back leg. Before sewing, make sure that your left leg front
+and back are attached to one pocket, and your right leg front and back are
+attached to the other. Sew together.
+
+Press all seams toward the pants (away from the pocket bag).
+
+
+
+:::note
+Optional: You can understitch here, a millimeter or two in from the seam on
+each side of the pocket bag, to secure the flaps and pocket bag all together
+the way you pressed them.
+:::
+
+
+
+## Step 4: Prepare the side seams and pocket bag
+
+You should now have two big pieces, each with a front and back leg attached by
+a pocket.
+
+Take one of the pieces, and place the front and back leg good sides together.
+Align the outer side seam, so that the side seam of the leg pieces match up,
+and the pocket bag edges are aligned, with good sides together.
+
+## Step 5: Sew the side seams
+
+You'll sew two separate seams to stitch up your side seams while leaving your
+pockets open.
+
+Start at the top of the leg pieces. Sew along the side seam, pivoting as you
+reach the pocket bag. You can also shorten your stitch length here to
+reinforce the corner of the pocket opening. Follow the side seam, pivoting
+again and ending at the top of the pocket.
+
+Next, you'll close the bottom of the pocket bag and stitch the rest of the side
+seam. Start at the bottom edge of the pocket bag, sewing along the bottom of
+the pocket, then pivoting when you get to the side seam of the pants. You can
+use a shorter stitch length for the first few stitches on the side seam, to
+reinforce the bottom of the pocket opening. Sew all the way down the leg side
+seam.
+
+Repeat for second leg.
+
+
+
+## Step 6: Finish the side seams
+
+Finishing these seams requires a touch of delicacy, especially around the tops
+of the pockets.
+
+It would be difficult to finish the top part of the side seam with a serger, so
+we'll use a zig-zag stitch. Starting at the top of the side seam, zig-zag
+stitch along the raw edge of the seam allowance, pivoting around the pocket
+opening. Continue the zig-zag stitch up the side of the pocket, unless you've
+serged your pockets already (in which case you can stop when you reach the
+pocket).
+
+The bottom opening of the pocket is a tight corner. To finish the seam around
+this corner, zig-zag stitch the raw edge of the seam allowance, starting where
+it joins the pocket, pivoting at the corner and continuing about 5 cm (2 in.)
+down the side seam. You can continue finishing the side seam with a zig-zag
+stitch all the way down. Alternatively, you can serge the side seam, making
+sure to stop the line of serger stitches a little ways from the pocket.
+
+:::note
+Make sure to secure these serger stitches. They won't be caught in any other
+seams, so they risk unravelling if left unsecured.
+:::
+
+Repeat for second leg.
+
+
+
+Press the side seams toward the front.
+
+:::note
+
+This may feel counterintuitive, as a lot of pants suggest pressing the side
+seams to the back. However, with inseam pockets, you'll want the pockets
+pressed toward the front of the pants. Your pockets will be fighting your side
+seam if you press the seam to the back, so we'll press it all to the front.
+This will will result in a smoother finish.
+:::
+
+:::note
+
+The corners of a pocket opening are one of the most likely places to wear out
+or tear, especially if you use your pockets a lot. If you're worried about
+tearing at the corners of your pockets, or if your fabric is more delicate, you
+can reinforce the pocket openings with bar tacks along the seam line, just
+outside the pocket openings.
+:::
+
+## Step 7: Anchor pocket bag to waist
+
+The pockets in Paco are anchored at the waist. This means that you can put
+things in your pockets without them becoming unsightly bump that’s just
+dangling around in your trouser leg.
+
+To anchor each pocket, align the top of the pocket with the mark along the
+waistline of your pattern. Sew a line of basting stitches inside your seam
+allowance to hold the pocket in place.
+
+
+
+## Step 8: Sew and finish the inseams
+
+Align the inseams with good sides together, then sew up the inseams. Finish the
+seams the same way you finished the side seams. Press inseams to the back.
+
+
+
+## Step 9: Sew and finish crotch seam
+
+To attach the individual legs, flip one leg good side out (it doesn't matter
+which leg), then place it inside the other leg, good sides together. You should
+now have what looks like just one pant leg, with wrong sides visible. Align the
+center front, center back, and inseams of each leg, then pin along the length
+of the crotch seam. Sew and finish the crotch seam.
+
+:::note
+
+If you sew from center front to center back, it's easier to keep your inseam
+seam allowances pressed to the back as they feed through the machine.
+:::
+
+
+
+## Step 10: Place eyelets for the draw string (optional)
+
+Mark the middle of your waistband length. Fold one of your waistband pieces
+double, and mark the middle of the width (do not take the seam allowance into
+account).
+
+A bit to the left and right of this, you can add two eyelets to pass a
+drawstring through. Because your Paco pants have elastic in the waistband, as
+well, this is a nice detail, but is not required.
+
+:::tip It’s best to add some reinforcement
+
+If you've chosen a fabric that is slippery, drapey, or thin, you might want to
+add some reinforcement behind these eyelets. A bit of interfacing or a leftover
+piece of denim will do just fine.
+:::
+
+
+
+## Step 11: Prepare the waist elastic
+
+There’s no magic formula for the length of your elastic. So you wrap it around
+your waist and pull it tight until you get a good fit. Paco is cut to sit at
+the high hip, so make sure your elastic is long enough to sit comfortably at
+the high hip.
+
+Mark this length, cut the elastic, and join the two ends together.
+
+
+
+## Step 12: Join the waistband
+
+Fold the waistband in half with good sides together, aligning the two short
+edge ends. Sew the short edges together to sew the waistband into a ring.
+
+Press open the seam.
+
+They will be inside the waistband, so you don't need to finish the
+edges of these seams unless your fabric is particularly likely to fray.
+
+
+
+Fold the waistband double along the length, with good sides out, and press.
+This fold will be the top of your waistband.
+
+## Step 13: Attach the waistband
+
+You have two options for attaching your waistband. One is a bit simpler, but
+leaves an exposed seam on the inside. The other is a bit more fiddly, but it
+encloses the raw edges of your fabric.
+
+### The simpler method
+
+Keep your waistband folded double, and place the elastic inside. Make sure to
+align the place where the elastic is joined with the back of the waistband
+(opposite the eyelets).
+
+Find the center front of your waistband (easy if there are eyelets, if not just
+fold it double), and align that with the center front seam of your pants. Make
+sure that your waistband is outside of your pants, with good sides together.
+Pin in place.
+
+:::tip Mind your eyelets
+
+If you’ve made eyelets in your waistband, double check that they are placed
+towards the outside, not the inside of your waistband.
+:::
+
+Next, align the center backs and pin in place, adding additional pins around
+the waistband as needed.
+
+Sew the waistband to the pants, as close to the elastic as you can, but don’t
+sew into the elastic.
+
+
+
+It’s fine to not sew too close the first time around, and once your elastic is
+attached and encased, make a second round to sew it a bit more snugly.
+
+Remove any basting stitches from the tops of the pocket bags.
+
+Finish the seam with a serger or other method.
+
+### The enclosed seam method
+
+Open the waistband. You will still be able to see the fold along its length,
+but you will be working with each side of the waistband individually.
+
+Find the center front of your waistband (easy if there are eyelets, if not just
+fold it double), and align that with the center front seam of your pants. Make
+sure that your waistband is outside of your pants, with good sides together.
+Pin in place.
+
+:::tip Mind your eyelets
+
+To make sure your eyelets will end up on the outside, make sure they are closer
+to the top of your waistband, above the fold, for now.
+:::
+
+
+
+Next, align the center back of your waistband with the center back seam. Pin in
+place. Then, add additional pins around the waistband as needed.
+
+Sew the waistband to the pants.
+
+Press the waistband up. Press the seam allowance in on the opposite side of the
+waistband, maintaining the fold along the center of the waistband.
+
+Refold the waistband, turning half the waistband to the inside. Pin so that the
+seam allowance on the inside is just below the seam joining the waistband to
+the pants, and pin in place around the waistband. From the outside, stitch in
+the ditch, catching the inner waistband as you go.
+
+
+
+## Step 14: Prepare the cuff elastic
+
+As you did with the waistband elastic, wrap the elastic for your cuff around
+your ankle and pull it tight until you get a good fit.
+
+Mark this length, cut the elastic, and join the two ends together. Repeat for
+the other cuff elastic.
+
+
+
+## Step 15: Join the cuffs
+
+Fold each cuff with good sides together, aligning the short edges. For each
+cuff, sew the short edges together, then press open. These will be inside the
+cuff, so you don't need to finish the edges of these seams unless your fabric
+is particularly likely to fray.
+
+
+
+Fold each cuff double along the length, with good sides out, and press. This
+fold will be the bottom of your cuffs.
+
+## Step 16: Attach the cuffs
+
+You will attach your cuffs the same way that you attached the waistband. As
+with the waistband, there are two options - a simpler choice, and a choice
+without exposed seams on the inside.
+
+:::note
+If your sewing machine has a detachable bed (usually removed to expose the
+"free arm" for sewing sleeve cuffs), this will make sewing the cuffs easier.
+:::
+
+### The simpler method
+
+Keep your cuffs folded double, and place the elastic inside.
+
+Align the seam in the cuff with the inseam of the pants. Make sure that your
+cuff is outside of your pants, with good sides together. Pin in place, then pin
+the rest of the way around the cuff.
+
+:::tip Pinning the cuffs
+
+The elastic will make the cuffs more difficult to pin. To make sure that your
+cuffs are pinned evenly to the pants, place your second pin on the opposite
+side of the leg opening from the first. You can stretch the elastic to make
+sure that everything is lined up smoothly, then place your next pins halfway
+between the first two.
+
+Continue this way, pinning halfway between other pins, until you feel confident
+there are enough.
+:::
+
+Sew the cuff to the pants opening, as close to the elastic as you can, but
+don’t sew into the elastic.
+
+
+
+Finish the seam with a serger or other method.
+
+### The enclosed seam method
+
+Open the cuff. You will still be able to see the fold along its length, but you
+will be working with each side of the cuff individually.
+
+Align the seam in the cuff with the inseam of the pants. Make sure that your
+cuff is outside of your pants, with good sides together. Pin in place, then pin
+the rest of the way around the cuff.
+
+Sew the cuff to the pants.
+
+
+
+Press the cuff away from the pants. Press the seam allowance in on the opposite
+side of the cuff, maintaining the fold along the center of the cuff.
+
+Refold the cuff, turning half the cuff to the inside. Pin so that the seam
+allowance on the inside is just past the seam joining the cuff to the pants,
+and pin in place around the cuff. From the outside, stitch in the ditch,
+catching the inner cuff as you go.
+
+
+
+## Step 17: Stitching the cuffs and waistband (optional)
+
+If you have wider cuff elastic, you may want to stitch a horizontal line
+halfway up the cuff. This will hold your elastic in place and help keep it from
+folding or twisting. Make sure to stretch the elastic evenly as you sew, so
+that it gathers the fabric evenly. (If you sew without stretching the elastic,
+you risk lumpy gathers and a leg opening too narrow to get your foot through.)
+
+If you like the look, you can also sew more than one line of stitches, evenly
+spaced between the top and bottom of the cuff.
+
+You can do the same for the waistband.
+
+
+
+:::note
+
+If you put in eyelets for a drawstring, sew a line of stitches above the
+eyelets and a separate line below the eyelets, leaving a channel wide enough
+for your drawstring.
+:::
+
+## Step 18: Thread a draw string around the waist (optional)
+
+If you put eyelets in your waistband, thread a drawstring through one eyelet,
+around the waist, and out of the other eyelet.
+
+:::note
+
+There are tools to make this task easier, but one that almost everyone has is a
+simple safety pin. Pin the safety pin to one end of your drawstring, then push
+it through the channel. The safety pin will be easier to maneuver through the
+fabric, and it will pull the drawstring along with it.
+:::
+
+
+
+## Step 19: Enjoy your Paco pants!
+
+You did it! Way to go!
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step02.jpg b/sites/orgdocs/docs/designs/paco/instructions/step02.jpg
new file mode 100644
index 00000000000..648cb7b5da9
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step02.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step02.svg b/sites/orgdocs/docs/designs/paco/instructions/step02.svg
new file mode 100644
index 00000000000..e5621d9a293
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step02.svg
@@ -0,0 +1,81 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step02b.jpg b/sites/orgdocs/docs/designs/paco/instructions/step02b.jpg
new file mode 100644
index 00000000000..b85f954ef68
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step02b.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step03.jpg b/sites/orgdocs/docs/designs/paco/instructions/step03.jpg
new file mode 100644
index 00000000000..cc47b99bea7
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step03.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step03.svg b/sites/orgdocs/docs/designs/paco/instructions/step03.svg
new file mode 100644
index 00000000000..aaf35e0c071
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step03.svg
@@ -0,0 +1,263 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step03b.jpg b/sites/orgdocs/docs/designs/paco/instructions/step03b.jpg
new file mode 100644
index 00000000000..534b8df61b9
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step03b.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step03b.svg b/sites/orgdocs/docs/designs/paco/instructions/step03b.svg
new file mode 100644
index 00000000000..00c55eebe12
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step03b.svg
@@ -0,0 +1,97 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step03c.jpg b/sites/orgdocs/docs/designs/paco/instructions/step03c.jpg
new file mode 100644
index 00000000000..d6c4ecc916e
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step03c.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step03c.svg b/sites/orgdocs/docs/designs/paco/instructions/step03c.svg
new file mode 100644
index 00000000000..d5446c7fb69
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step03c.svg
@@ -0,0 +1,98 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step04.jpg b/sites/orgdocs/docs/designs/paco/instructions/step04.jpg
new file mode 100644
index 00000000000..751dac7d2e0
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step04.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step04b.jpg b/sites/orgdocs/docs/designs/paco/instructions/step04b.jpg
new file mode 100644
index 00000000000..a57543a4edd
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step04b.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step05.jpg b/sites/orgdocs/docs/designs/paco/instructions/step05.jpg
new file mode 100644
index 00000000000..089959ae03c
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step05.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step05.svg b/sites/orgdocs/docs/designs/paco/instructions/step05.svg
new file mode 100644
index 00000000000..65a7062fb66
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step05.svg
@@ -0,0 +1,98 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step05b.jpg b/sites/orgdocs/docs/designs/paco/instructions/step05b.jpg
new file mode 100644
index 00000000000..2cb1aaccacd
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step05b.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step05c.jpg b/sites/orgdocs/docs/designs/paco/instructions/step05c.jpg
new file mode 100644
index 00000000000..25cb22ad737
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step05c.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step06.jpg b/sites/orgdocs/docs/designs/paco/instructions/step06.jpg
new file mode 100644
index 00000000000..2f2024775da
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step06.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step06.svg b/sites/orgdocs/docs/designs/paco/instructions/step06.svg
new file mode 100644
index 00000000000..1c97ffb250d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step06.svg
@@ -0,0 +1,113 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step06b.jpg b/sites/orgdocs/docs/designs/paco/instructions/step06b.jpg
new file mode 100644
index 00000000000..a9e07a475a9
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step06b.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step06c.jpg b/sites/orgdocs/docs/designs/paco/instructions/step06c.jpg
new file mode 100644
index 00000000000..34227ab7c4a
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step06c.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step07.jpg b/sites/orgdocs/docs/designs/paco/instructions/step07.jpg
new file mode 100644
index 00000000000..c149e32edb9
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step07.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step07.svg b/sites/orgdocs/docs/designs/paco/instructions/step07.svg
new file mode 100644
index 00000000000..065242898a4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step07.svg
@@ -0,0 +1,103 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step08.svg b/sites/orgdocs/docs/designs/paco/instructions/step08.svg
new file mode 100644
index 00000000000..a0d91669ab1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step08.svg
@@ -0,0 +1,111 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step09.svg b/sites/orgdocs/docs/designs/paco/instructions/step09.svg
new file mode 100644
index 00000000000..f6caabe6e6b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step09.svg
@@ -0,0 +1,127 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step10.svg b/sites/orgdocs/docs/designs/paco/instructions/step10.svg
new file mode 100644
index 00000000000..8136c35b8fe
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step10.svg
@@ -0,0 +1,99 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step11.jpg b/sites/orgdocs/docs/designs/paco/instructions/step11.jpg
new file mode 100644
index 00000000000..c6fa8fd450b
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step11.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step11.svg b/sites/orgdocs/docs/designs/paco/instructions/step11.svg
new file mode 100644
index 00000000000..62fc3a78d45
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step11.svg
@@ -0,0 +1,79 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step12.jpg b/sites/orgdocs/docs/designs/paco/instructions/step12.jpg
new file mode 100644
index 00000000000..67549966761
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step12.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step12.svg b/sites/orgdocs/docs/designs/paco/instructions/step12.svg
new file mode 100644
index 00000000000..6adf1267c33
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step12.svg
@@ -0,0 +1,100 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step13.svg b/sites/orgdocs/docs/designs/paco/instructions/step13.svg
new file mode 100644
index 00000000000..3b32b817d78
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step13.svg
@@ -0,0 +1,434 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step13b.svg b/sites/orgdocs/docs/designs/paco/instructions/step13b.svg
new file mode 100644
index 00000000000..9d726ae7f07
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step13b.svg
@@ -0,0 +1,106 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step13c.svg b/sites/orgdocs/docs/designs/paco/instructions/step13c.svg
new file mode 100644
index 00000000000..66f88a6eb6e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step13c.svg
@@ -0,0 +1,432 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step13d.jpg b/sites/orgdocs/docs/designs/paco/instructions/step13d.jpg
new file mode 100644
index 00000000000..2653b554784
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step13d.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step13e.jpg b/sites/orgdocs/docs/designs/paco/instructions/step13e.jpg
new file mode 100644
index 00000000000..80c79d7295d
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step13e.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step14.jpg b/sites/orgdocs/docs/designs/paco/instructions/step14.jpg
new file mode 100644
index 00000000000..c9d784d31f5
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step14.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step14.svg b/sites/orgdocs/docs/designs/paco/instructions/step14.svg
new file mode 100644
index 00000000000..f286e8285ed
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step14.svg
@@ -0,0 +1,99 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step15.jpg b/sites/orgdocs/docs/designs/paco/instructions/step15.jpg
new file mode 100644
index 00000000000..a3a32ab6d12
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step15.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step15.svg b/sites/orgdocs/docs/designs/paco/instructions/step15.svg
new file mode 100644
index 00000000000..a36c7d83e4e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step15.svg
@@ -0,0 +1,97 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step16.svg b/sites/orgdocs/docs/designs/paco/instructions/step16.svg
new file mode 100644
index 00000000000..68b02f034fb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step16.svg
@@ -0,0 +1,359 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step16b.svg b/sites/orgdocs/docs/designs/paco/instructions/step16b.svg
new file mode 100644
index 00000000000..1888276710d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step16b.svg
@@ -0,0 +1,162 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step16c.svg b/sites/orgdocs/docs/designs/paco/instructions/step16c.svg
new file mode 100644
index 00000000000..04185289258
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step16c.svg
@@ -0,0 +1,427 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step16d.jpg b/sites/orgdocs/docs/designs/paco/instructions/step16d.jpg
new file mode 100644
index 00000000000..a46f83fd6b6
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step16d.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step16e.jpg b/sites/orgdocs/docs/designs/paco/instructions/step16e.jpg
new file mode 100644
index 00000000000..8408c772a0f
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step16e.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step16f.jpg b/sites/orgdocs/docs/designs/paco/instructions/step16f.jpg
new file mode 100644
index 00000000000..188195727ec
Binary files /dev/null and b/sites/orgdocs/docs/designs/paco/instructions/step16f.jpg differ
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step17.svg b/sites/orgdocs/docs/designs/paco/instructions/step17.svg
new file mode 100644
index 00000000000..a6d67e06eb2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step17.svg
@@ -0,0 +1,174 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/instructions/step18.svg b/sites/orgdocs/docs/designs/paco/instructions/step18.svg
new file mode 100644
index 00000000000..5bba3d46c1b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/instructions/step18.svg
@@ -0,0 +1,194 @@
+
+
diff --git a/sites/orgdocs/docs/designs/paco/options/ankleelastic/readme.mdx b/sites/orgdocs/docs/designs/paco/options/ankleelastic/readme.mdx
new file mode 100644
index 00000000000..757f924a565
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/ankleelastic/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Ankle/Hem elastic width'
+---
+
+If you're using an elasticated hem at the ankle, use this to set the width
+of the elastic you'll use.
+
+In other words, this will control the height of the cuff.
diff --git a/sites/orgdocs/docs/designs/paco/options/backpockets/readme.mdx b/sites/orgdocs/docs/designs/paco/options/backpockets/readme.mdx
new file mode 100644
index 00000000000..797ab8b90fc
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/backpockets/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Back pockets'
+---
+
+Whether to include back pockets, yes or no.
diff --git a/sites/orgdocs/docs/designs/paco/options/crossseamcurveangle/readme.mdx b/sites/orgdocs/docs/designs/paco/options/crossseamcurveangle/readme.mdx
new file mode 100644
index 00000000000..5cb4b79ca85
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/crossseamcurveangle/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Cross seam angle'
+---
+
+Controls the angle of cross seam curve.
+
+- 0% makes the cross seam draft parallel to the hem.
+- Increasing this option will draft the cross seam at that angle away from the hem.
diff --git a/sites/orgdocs/docs/designs/paco/options/crossseamcurvebend/readme.mdx b/sites/orgdocs/docs/designs/paco/options/crossseamcurvebend/readme.mdx
new file mode 100644
index 00000000000..8cdbb338829
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/crossseamcurvebend/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Cross seam bend'
+---
+
+Controls the curvature of the cross seam curve.
+
+:::note
+This curve has an influence on the amount of fabric at your bum.
+
+People with a flatter bum will get a better fit by increasing this, as the curve will start later,
+and this there will be less fabric pooling at the bum.
+
+People with a round bum might want to lower this to create a little more (horizontal) room for their behind.
+:::
diff --git a/sites/orgdocs/docs/designs/paco/options/crossseamcurvestart/readme.mdx b/sites/orgdocs/docs/designs/paco/options/crossseamcurvestart/readme.mdx
new file mode 100644
index 00000000000..b3209767775
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/crossseamcurvestart/readme.mdx
@@ -0,0 +1,16 @@
+---
+title: 'Start of the cross seam curve'
+---
+
+Controls the start of the cross seam curve.
+
+:::note
+
+This curve has an influence on the amount of fabric at your bum.
+
+People with a flatter bum will get a better fit by increasing this, as the
+curve will start later, and this there will be less fabric pooling at the bum.
+
+People with a round bum might want to lower this to create a little more
+(horizontal) room for their behind.
+:::
diff --git a/sites/orgdocs/docs/designs/paco/options/crotchdrop/readme.mdx b/sites/orgdocs/docs/designs/paco/options/crotchdrop/readme.mdx
new file mode 100644
index 00000000000..b63c4875f32
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/crotchdrop/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Crotch drop'
+---
+
+Controls by how much the crotch is lowered.
+
+Lowering the crotch makes for a more casual fit.
+A significantly lowered crotched can also be a style choice.
diff --git a/sites/orgdocs/docs/designs/paco/options/crotchseamcurveangle/readme.mdx b/sites/orgdocs/docs/designs/paco/options/crotchseamcurveangle/readme.mdx
new file mode 100644
index 00000000000..64d46cece92
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/crotchseamcurveangle/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Crotch seam angle'
+---
+
+Controls the angle of the crotch seam curve.
+
+- 0% makes the crotch seam draft parallel to the hem.
+- Increasing this option will draft the crotch seam at 180 - the angle.
diff --git a/sites/orgdocs/docs/designs/paco/options/crotchseamcurvebend/readme.mdx b/sites/orgdocs/docs/designs/paco/options/crotchseamcurvebend/readme.mdx
new file mode 100644
index 00000000000..a2352fda4f2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/crotchseamcurvebend/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Crotch seam bend'
+---
+
+Controls the curvature of the crotch seam, which influences the fit at your crotch.
diff --git a/sites/orgdocs/docs/designs/paco/options/crotchseamcurvestart/readme.mdx b/sites/orgdocs/docs/designs/paco/options/crotchseamcurvestart/readme.mdx
new file mode 100644
index 00000000000..6e0f0ec3929
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/crotchseamcurvestart/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Start of the crotch seam curve'
+---
+
+Controls where the crotch seam starts to curve, which influences the fit at your crotch.
diff --git a/sites/orgdocs/docs/designs/paco/options/elasticatedcuff/readme.mdx b/sites/orgdocs/docs/designs/paco/options/elasticatedcuff/readme.mdx
new file mode 100644
index 00000000000..0a596d32b02
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/elasticatedcuff/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Elasticated cuff'
+---
+
+Whether you want to include an elasticated cuff at the ankle,
+or rather prefer a classic hemmed leg.
diff --git a/sites/orgdocs/docs/designs/paco/options/frontpocketflapsize/readme.mdx b/sites/orgdocs/docs/designs/paco/options/frontpocketflapsize/readme.mdx
new file mode 100644
index 00000000000..e577707bdfa
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/frontpocketflapsize/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Front pocket flap size'
+---
+
+Controls the width of the flap on the front pocket.
diff --git a/sites/orgdocs/docs/designs/paco/options/frontpockets/readme.mdx b/sites/orgdocs/docs/designs/paco/options/frontpockets/readme.mdx
new file mode 100644
index 00000000000..76316748c67
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/frontpockets/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Front pockets'
+---
+
+Whether to include front pockets (on the side seam) or not.
diff --git a/sites/orgdocs/docs/designs/paco/options/grainlineposition/readme.mdx b/sites/orgdocs/docs/designs/paco/options/grainlineposition/readme.mdx
new file mode 100644
index 00000000000..a24bf29b53c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/grainlineposition/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Grainline position'
+---
+
+Controls the position of the grainline.
+
+You can use this to shift the grainline inward or outward if that works better for your body.
diff --git a/sites/orgdocs/docs/designs/paco/options/heelease/readme.mdx b/sites/orgdocs/docs/designs/paco/options/heelease/readme.mdx
new file mode 100644
index 00000000000..caa5f4a3823
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/heelease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Heel ease'
+---
+
+This controls the amount of ease at the instep, or heel.
+
+Increase this to make it easier to get in and out of your pants.
diff --git a/sites/orgdocs/docs/designs/paco/options/legbalance/readme.mdx b/sites/orgdocs/docs/designs/paco/options/legbalance/readme.mdx
new file mode 100644
index 00000000000..f6a759245af
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/legbalance/readme.mdx
@@ -0,0 +1,17 @@
+---
+title: 'Leg balance'
+---
+
+Controls the proportion between the front and back part of the legs.
+
+The back of the trouser legs are always wider than the front. This controls by
+how much.
+
+:::note
+
+Increasing this will make the front leg panel narrower.
+This makes the wearer look more skinny.
+
+This trick is often used in womenswear jeans (now you know why you can't find
+womenswear jeans with functional front pockets).
+:::
diff --git a/sites/orgdocs/docs/designs/paco/options/lengthbonus/readme.mdx b/sites/orgdocs/docs/designs/paco/options/lengthbonus/readme.mdx
new file mode 100644
index 00000000000..baa89c3fbe5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/lengthbonus/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Length bonus'
+---
+
+Controls the length of the entire trousers, which essentially means the length of the legs.
+
+:::note
+Setting this to zero will make the trousers the same length as the [waist to
+floor](/docs/measurements/waisttofloor) measurement.
+
+This does not mean that the trousers will hit the floor, since due to the
+curves of the body and the way the fabric drapes, the trousers will need to be
+longer than this to actually hit the floor.
+:::
diff --git a/sites/orgdocs/docs/designs/paco/options/seatease/readme.mdx b/sites/orgdocs/docs/designs/paco/options/seatease/readme.mdx
new file mode 100644
index 00000000000..290f328fee6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/seatease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Seat ease'
+---
+
+Controls the amount of ease at your seat/bum.
diff --git a/sites/orgdocs/docs/designs/paco/options/waistbalance/readme.mdx b/sites/orgdocs/docs/designs/paco/options/waistbalance/readme.mdx
new file mode 100644
index 00000000000..17f7c1e41a7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/waistbalance/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Waist balance'
+---
+
+Controls the distribution of fabric between front and back parts at the waist.
+
+It is somewhat in vogue to draft a larger back panel these days.
+Doing so shifts the side seam forward which gives the illusion of being
+slimmer.
+
+The side effect of shifting the side seam forward is that it's easy
+to get into the pockets that are located on the side seam.
+
+This option allows you to control this balance.
diff --git a/sites/orgdocs/docs/designs/paco/options/waistbandwidth/readme.mdx b/sites/orgdocs/docs/designs/paco/options/waistbandwidth/readme.mdx
new file mode 100644
index 00000000000..937a5931172
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/waistbandwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Waistband width'
+---
+
+Controls the width of the waistband.
diff --git a/sites/orgdocs/docs/designs/paco/options/waistease/readme.mdx b/sites/orgdocs/docs/designs/paco/options/waistease/readme.mdx
new file mode 100644
index 00000000000..29acd2aa1b5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/waistease/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Waist ease'
+---
+
+Controls the amount of ease at your waist.
+
+Even if you draft lower pants, this will still influence the ease
+at the top of your pants (the closure).
diff --git a/sites/orgdocs/docs/designs/paco/options/waistheight/readme.mdx b/sites/orgdocs/docs/designs/paco/options/waistheight/readme.mdx
new file mode 100644
index 00000000000..ac82041fda6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/options/waistheight/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Waist height'
+---
+
+Controls the height of the waist, where:
+
+- 100% : The waist of the trousers sits at the waist line
+- 0% : The waist of the trousers sits at the hip line
diff --git a/sites/orgdocs/docs/designs/paco/readme.mdx b/sites/orgdocs/docs/designs/paco/readme.mdx
new file mode 100644
index 00000000000..c17ea90073c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/paco/readme.mdx
@@ -0,0 +1,84 @@
+---
+title: "Paco: FreeSewing's Paco Pants"
+sidebar_label: Paco Pants
+---
+
+
+
+## Designer Notes {#notes}
+
+I made these because I wanted trousers to wear that were comfortable yet still
+stylish.
+
+They have pockets in the side seams, making this a relatively simple make for
+trousers.
+
+joost
+
+## What You Need {#needs}
+
+To make Paco, you will need the following:
+
+- [Basic sewing supplies](/docs/sewing/basic-sewing-supplies)
+- About 1.25 meters (1.4 yards) (depending on your height) of a suitable fabric
+ ([see Fabric options](#fabric))
+- 30cm (12") of lining for the pocket bags
+- A little bit of interfacing for the pocket welts (only needed if you opted
+ for back pockets)
+- A drawstring and two eyelets (optional)
+- Enough wide flat elastic for your waist and cuffs
+
+## Fabric Options {#fabric}
+
+These work best in a lighter fabric with relatively good drape.
+
+A light cotton, or chambray are particularly well-suited.
+Rayon or jersey will work too, but will give it a more casual-look.
+
+For the opposite effect, less casual and more style, you can consider a silk
+blend or light wool.
+
+:::tip Some things to avoid
+
+Resist the temptation to make these in linen.
+While linen is the go-to for hot summer days, I would not recommend it for these pants
+as they come with an elasticated waist/cuffs, which means wrinkle hell.
+Use one of out other designs with a fitted waist if you want linen pants.
+
+Also avoid picking a fabric with a lot of stretch, for it will complicate
+matters when you're installing the elastic.
+:::
+
+## Cutting Instructions {#cutting}
+
+:::tip Cut out only what you need
+
+Depending on the choices you made in your pattern, you may not need all parts.
+If a pattern part is not printed, it means you don't need it.
+:::
+
+- From your main fabric:
+ - 2x **part 1**: This is the back panel. Cut these from your **main fabric**
+ with _good sides together_
+ - 2x **part 2**: This is the front panel. Cut these from your **main fabric**
+ with _good sides together_
+ - 1x **part 3**: This is the waistband. Cut it from your **main fabric**
+ - 2x **part 4**: This is the ankle cuff. Cut these, from your **main fabric**
+ with _good sides together_ (not needed if your chose not to have an
+ elasticated hem)
+ - 2x **part 7**: This is the back pocket welt. Cut 2 of these from your
+ **main fabric** with _good sides together_
+- From your lining fabric:
+ - 2x **part 5**: This is the front pocket bag. Cut these, from your **lining
+ fabric** _on the fold_ (not needed if you chose to not have front pockets)
+ - 2x **part 6**: This is the back pocket bag. Cut 2 of these from your
+ **lining fabric** _on the fold_
+- From interfacing:
+ - 2x **part 8**: This is the back pocket welt interfacing. Cut 2 of these
+ from **interfacing**
+
+:::warning Caveats
+
+- There is no seam allowance on the interfacing
+- There is extra seam allowance on the waist band and hem
+ :::
diff --git a/sites/orgdocs/docs/designs/sandy/instructions/readme.mdx b/sites/orgdocs/docs/designs/sandy/instructions/readme.mdx
new file mode 100644
index 00000000000..e83ba3e019f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/instructions/readme.mdx
@@ -0,0 +1,167 @@
+---
+title: 'Sandy circle skirt: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+:::warning
+Due to the different styles and configurations of Sandy you may find you need
+to skip or re-order certain steps. We're not going to go into a full
+explanation on how to create all the individual details that make up a circle
+skirt. These instructions assume that you know how to sew a zipper, construct
+pockets, etc. If not, there are numerous excellent articles available on the
+web, both in written form, and on video. If you do get stuck, you can always
+reach out to [other FreeSewers](https://discord.freesewing.org/) in our
+discord.
+:::
+
+:::note
+Due to seamless and closure Sandy's needing different constructions we have
+separated their instructions.
+:::
+
+## Step 1: Prepping the Skirt
+
+- If including a closure, sew the skirt seam _good sides together_ up to where
+ you intend the opening to start.
+- Add Pockets if using.
+- If using lining, prep the same as the skirt.
+- _Finish_ seams if not lining.
+
+:::note
+Pockets are not included in Sandy as it has one seam by default or no seams at
+all.
+
+If you would like inseam pockets you can cut the skirt pattern piece into
+multiple pieces rather than a single one to create seams to insert them into.
+Cutting it into thirds (for default) or two (for seamless) will give you two
+sideseams for two inseam pockets, just don't forget to add back seam allowance
+to the cut lines if including.
+
+If you do not wish to create additional seams but still wish to have pockets,
+you can use Patch Pockets or if you are feeling adventurous, you can use Welt
+Pockets.
+:::
+
+## Step 2: Prep the opening
+
+- Insert zipper or placket into opening if using.
+- If not using, press the openings seam allowance to the inside and
+ _Edgestitch_/_Topstitch_ in place. You may also wish to continue the
+ topstitching down the seam.
+
+:::note
+Skip this step if:
+
+- You are including the zipper in the waistband.
+- You are making a seamless version.
+ :::
+
+## Step 3: Lining
+
+- (Optional) Interline the skirt with a stiffer or stronger fabric.
+- Attach Lining to skirt at hem and opening by your preferred method.
+- _Baste_ Lining to skirt at waist.
+- Gather the waist if needed.
+
+## Step 4: The waistband
+
+### Closures
+
+- Interface/stiffen half the waistband part lengthwise. Or interface/stiffen
+ one of the curved waistband parts.
+- Press under the seam allowance on the long edge of the waistband that is not
+ interfaced. Trim. _Baste_ the fold in place if needed.
+- With _good sides together_ sew the interfaced waistband/side of the waistband
+ to the skirt. Gather the skirt down to the waistband if needed.
+- If using the curved waistband sew the non-interfaced part to the interfaced
+ part. Trim and clip seam and press the non-interfaced part up and away from
+ the skirt.
+
+There will be some overhangs:
+
+- The side you wish not to overlap should be overhang by your seam allowance.
+- The side intended to overlap will have a greater overhang.
+- If using a placket, both sides will overhang by your seam allowance.
+- If using a zipper in the waistband the greater overhang will need to be
+ trimmed to the seam allowance.
+
+**Inserting Zipper in Waistband**
+
+- If inserting a zipper into the waistband now is the time to do so, attach the
+ zipper from the waistband fold line down. Or from seam-line down for curved
+ waistband.
+- _Slipstitch_ or _Whipstitch_ the lining to the zipper at this point if you
+ have not treated the lining and skirt as one at the opening.
+- Press under overhangs.
+- Press the waistband _wrong sides together_ along fold-line. Or along
+ seam-line for curved waistband.
+- Slipstitch* or \_Whipstitch* the overhang edges to the zipper.
+- _Edgestitch_ the waistband in place.
+- Alternatively, _Slipstitch_ or _Whipstitch_ the waistband in place on the
+ inside.
+
+**Other closures**
+
+- Press the waistband _good sides together_ along fold-line. Or along seam-line
+ for curved waistband.
+- Sew the overhangs with your seam allowance.
+- Turn the waistband out and to the inside, Press.
+- _Egdestitch_ the waistband in place, this should also close the gap of the
+ over-lap.
+- Alternatively, _Slipstich_ or _Whipstitch_ the waistband in place on the
+ inside and close the gap of the over-lap with _Slipstiching_.
+- Add snaps, dress hooks or button and buttonhole, whatever is your preferred
+ closure to the waistband overhang.
+
+### Seamless
+
+- If curved waistband with _good sides together_ sew the two waistbands
+ together along the shortest curved edge. Press away from one another, Trim
+ and clip the seam.
+- With _good sides together_ sew the waistband together along the short seams,
+ leaving a gap for the elastic that will be on the inside.
+- Press under the seam allowance on the long edge of the waistband that is
+ intended to be on the inside.
+- With _good sides together_ attach the waistband to the skirt along the
+ unpressed seam. Trim seam.
+- Press waistband and seam allowance up away from skirt.
+- Press the waistband to the inside along the fold-line/seam-line.
+- _Edgestitch_ the waistband in place.
+- Alternatively you can _Slipstitch_ or _Whipstitch_ the waistband in place on
+ the inside.
+- Cut the elastic to your waist.
+- Thread the elastic through the opening of the waistband making sure not to
+ lose the end.
+- Overlap the ends of the elastic by 1cm (3/8 inch) and zig-zag stitch in
+ place.
+- Tuck elastic into waistband and close the opening with hand-sewing.
+
+## Step 5: Hemming
+
+If you have hemmed the skirt with the lining you can skip this step.
+
+Hem the skirt in one of the following ways:
+
+- Omit the hem allowance and bind the raw edge.
+- Bind the raw edge of the hem allowance, single fold the hem under and either
+ _Topstitch_ or hand sew the hem in place.
+- Double fold the hem under and either _Topstitch_ or hand sew the hem in
+ place. You may have heard this be called a Rolled hem.
+
+:::note
+There are many ways to hem/face the bottom of a skirt, If you have a preferred
+method use it here.
+:::
+
+## Step 6: Enjoy!
+
+You are all done! Now go enjoy your wonderful new skirt and try not to get too
+dizzy showing off it's fullness!
+
+:::note
+These instructions are just a suggestion, there are many ways to construct a
+circle skirt so feel free to deviate or completely disregard. If you need help,
+you can always reach out to [other FreeSewers](https://discord.freesewing.org/)
+in our discord.
+:::
diff --git a/sites/orgdocs/docs/designs/sandy/options/circleratio/circleratio.svg b/sites/orgdocs/docs/designs/sandy/options/circleratio/circleratio.svg
new file mode 100644
index 00000000000..78e400f8075
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/circleratio/circleratio.svg
@@ -0,0 +1,46 @@
+
+
diff --git a/sites/orgdocs/docs/designs/sandy/options/circleratio/readme.mdx b/sites/orgdocs/docs/designs/sandy/options/circleratio/readme.mdx
new file mode 100644
index 00000000000..fe1cbee9049
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/circleratio/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Circle ratio'
+---
+
+
+
+The percent of a circle skirt. 100% makes a full circle skirt, 50% makes a half circle skirt.
diff --git a/sites/orgdocs/docs/designs/sandy/options/gathering/gathering.svg b/sites/orgdocs/docs/designs/sandy/options/gathering/gathering.svg
new file mode 100644
index 00000000000..33b6dbf691a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/gathering/gathering.svg
@@ -0,0 +1,74 @@
+
+
diff --git a/sites/orgdocs/docs/designs/sandy/options/gathering/readme.mdx b/sites/orgdocs/docs/designs/sandy/options/gathering/readme.mdx
new file mode 100644
index 00000000000..cccc96bd8f0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/gathering/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Gathering'
+---
+
+
+
+The percent by which the top of the skirt is longer than the bottom of the waistband.
+Give a value higher than 0 to pleat the skirt.
diff --git a/sites/orgdocs/docs/designs/sandy/options/hemwidth/hemwidth.svg b/sites/orgdocs/docs/designs/sandy/options/hemwidth/hemwidth.svg
new file mode 100644
index 00000000000..f86377c7e7a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/hemwidth/hemwidth.svg
@@ -0,0 +1,54 @@
+
+
diff --git a/sites/orgdocs/docs/designs/sandy/options/hemwidth/readme.mdx b/sites/orgdocs/docs/designs/sandy/options/hemwidth/readme.mdx
new file mode 100644
index 00000000000..333169dbb9a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/hemwidth/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Hem width'
+---
+
+
+
+The width of the hem.
diff --git a/sites/orgdocs/docs/designs/sandy/options/lengthbonus/lengthbonus.svg b/sites/orgdocs/docs/designs/sandy/options/lengthbonus/lengthbonus.svg
new file mode 100644
index 00000000000..0a59677a7b9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/lengthbonus/lengthbonus.svg
@@ -0,0 +1,46 @@
+
+
diff --git a/sites/orgdocs/docs/designs/sandy/options/lengthbonus/readme.mdx b/sites/orgdocs/docs/designs/sandy/options/lengthbonus/readme.mdx
new file mode 100644
index 00000000000..3209e3829dc
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/lengthbonus/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Length bonus'
+---
+
+
+
+The length of the skirt.
diff --git a/sites/orgdocs/docs/designs/sandy/options/panels/panels.svg b/sites/orgdocs/docs/designs/sandy/options/panels/panels.svg
new file mode 100644
index 00000000000..aa051b5473e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/panels/panels.svg
@@ -0,0 +1,50 @@
+
+
diff --git a/sites/orgdocs/docs/designs/sandy/options/panels/readme.mdx b/sites/orgdocs/docs/designs/sandy/options/panels/readme.mdx
new file mode 100644
index 00000000000..8be18cfc8ea
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/panels/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Panels'
+---
+
+
+
+Number of panels the skirt is made of.
diff --git a/sites/orgdocs/docs/designs/sandy/options/seamlessfullcircle/readme.mdx b/sites/orgdocs/docs/designs/sandy/options/seamlessfullcircle/readme.mdx
new file mode 100644
index 00000000000..b690d767f08
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/seamlessfullcircle/readme.mdx
@@ -0,0 +1,15 @@
+---
+title: 'Seamless full circle'
+---
+
+
+
+Select 'yes' for a seamless circle, which is cut on a double fold.
+Since it has no openings, you'll need an elastic waistband.
+
+:::tip
+
+- This produces a full circle ignoring the _Circle percent_ option.
+- You may need to use the [gathering option](/docs/designs/sandy/options/gathering) to increase the waist circumference to fit over your seat/hips.
+- You will need to set the [waistband overlap](/docs/designs/sandy/options/waistbandoverlap) to 0%.
+ :::
diff --git a/sites/orgdocs/docs/designs/sandy/options/seamlessfullcircle/seamlessfullcircle.svg b/sites/orgdocs/docs/designs/sandy/options/seamlessfullcircle/seamlessfullcircle.svg
new file mode 100644
index 00000000000..6f7e9804393
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/seamlessfullcircle/seamlessfullcircle.svg
@@ -0,0 +1,38 @@
+
+
diff --git a/sites/orgdocs/docs/designs/sandy/options/waistbandoverlap/readme.mdx b/sites/orgdocs/docs/designs/sandy/options/waistbandoverlap/readme.mdx
new file mode 100644
index 00000000000..abaea5fbdf0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/waistbandoverlap/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Waistband overlap'
+---
+
+
+
+The length of the overlap between the ends of the waistband, to allow a button. 0 means no overlap, for example to place a zipper that goes all the way to the top of the waistband.
diff --git a/sites/orgdocs/docs/designs/sandy/options/waistbandoverlap/waistbandoverlap.svg b/sites/orgdocs/docs/designs/sandy/options/waistbandoverlap/waistbandoverlap.svg
new file mode 100644
index 00000000000..e97b4764224
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/waistbandoverlap/waistbandoverlap.svg
@@ -0,0 +1,64 @@
+
+
diff --git a/sites/orgdocs/docs/designs/sandy/options/waistbandposition/readme.mdx b/sites/orgdocs/docs/designs/sandy/options/waistbandposition/readme.mdx
new file mode 100644
index 00000000000..bc107936aae
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/waistbandposition/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Waistband position'
+---
+
+
+
+Where the waistband sits. 0% makes it sit on the natural waist, 100% makes it sit on the hips.
diff --git a/sites/orgdocs/docs/designs/sandy/options/waistbandposition/waistbandposition.svg b/sites/orgdocs/docs/designs/sandy/options/waistbandposition/waistbandposition.svg
new file mode 100644
index 00000000000..9e44ef8cbfa
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/waistbandposition/waistbandposition.svg
@@ -0,0 +1,62 @@
+
+
diff --git a/sites/orgdocs/docs/designs/sandy/options/waistbandshape/readme.mdx b/sites/orgdocs/docs/designs/sandy/options/waistbandshape/readme.mdx
new file mode 100644
index 00000000000..d9044f3fb69
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/waistbandshape/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Waistband shape'
+---
+
+
+
+The shape of the waistband. Straight makes things easier, but a rounded waistband adapts to your body if you have a fair difference between waist and hips circumferences.
diff --git a/sites/orgdocs/docs/designs/sandy/options/waistbandshape/waistbandshape.svg b/sites/orgdocs/docs/designs/sandy/options/waistbandshape/waistbandshape.svg
new file mode 100644
index 00000000000..be842a15e34
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/waistbandshape/waistbandshape.svg
@@ -0,0 +1,62 @@
+
+
diff --git a/sites/orgdocs/docs/designs/sandy/options/waistbandwidth/readme.mdx b/sites/orgdocs/docs/designs/sandy/options/waistbandwidth/readme.mdx
new file mode 100644
index 00000000000..86d3831df6e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/waistbandwidth/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Waistband width'
+---
+
+
+
+The width of the waistband
diff --git a/sites/orgdocs/docs/designs/sandy/options/waistbandwidth/waistbandwidth.svg b/sites/orgdocs/docs/designs/sandy/options/waistbandwidth/waistbandwidth.svg
new file mode 100644
index 00000000000..527d4341b9c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/options/waistbandwidth/waistbandwidth.svg
@@ -0,0 +1,46 @@
+
+
diff --git a/sites/orgdocs/docs/designs/sandy/readme.mdx b/sites/orgdocs/docs/designs/sandy/readme.mdx
new file mode 100644
index 00000000000..4d177e34900
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sandy/readme.mdx
@@ -0,0 +1,109 @@
+---
+title: "Sandy: FreeSewing's Sandy Circle Skirt"
+sidebar_label: Sandy Circle Skirt
+---
+
+
+
+## Designer Notes {#notes}
+
+Sandy was my first pattern after I made the bib tutorial. Usually, no one needs
+a pattern to make a circle skirt, you just fold your fabric, run your numbers
+and cut the circle. However, I wanted an automated way to get those numbers and
+that was not limited to a full or half circle, so I decided to make the
+pattern. Additionally, I gave it the option to have an accurately curved
+waistband, which I use also for other projects.
+
+The name is a tribute to Sandy, Olivia Newton John's character in Grease, who
+wears a fair amount of circle skirts as a typical 50s teenager.
+
+Erica
+
+## What You Need {#needs}
+
+To make Sandy, you will need the following:
+
+- [Basic sewing supplies](/docs/sewing/basic-sewing-supplies)
+- About 2 - 6 metres (2.2 - 6.6 yards) of a suitable main fabric (see [Fabric
+ options](#fabric))
+- Some interfacing for the waistband
+- (Optional) Facing for the hem.
+- Some sort of closure for the waistband (if not seamless)
+- (Optional) About 2 - 6 metres (2.2 - 6.6 yards) of suitable lining fabric
+ (see [Fabric options](/#fabric))
+- Elastic (if needed)
+
+Due to the many different styles of Sandy it is difficult to precisely say what
+you need so we will go through some of the options.
+
+## Fabric Options {#fabric}
+
+### Main Fabric
+
+The length you require is dependant on how long and how full your circle skirt
+is, mid length and smaller should be sufficient with 2 - 2.5 metres whereas a
+floor length will require more. If in doubt buy a metre more than you think.
+Also don't be afraid to piece if your fabric is not wide or long enough, it is
+better to have an extra seam than not to use the fabric you like.
+
+:::tip
+Don't forget that the waistband also needs to be cut from the main fabric.
+:::
+
+:::warning
+If making a **seamless** Sandy you will need to make sure the width of your
+fabrics are double the length of your skirt pieces otherwise you will have to
+piece or add seams.
+:::
+
+### Lining Fabric
+
+Lining fabric is only really needed if your main fabric is unpleasant to have
+against the skin or hard to wash. You will need the same amount as your main
+fabric if you are fully lining the skirt.
+
+If you only intend to make pockets with a lining you only need 0.25 - 0.5
+metres of fabric.
+
+### Hem Facing
+
+To add flare/keep the hems shape you may wish to add a facing to the bottom of
+the skirt. This can be done multiple ways such as the use of horsehair braid or
+tarlatan and really depends on the look you are going for and the fabric you
+are using.
+
+### Closures
+
+If not making an elasticated Sandy you will need some type of closure.
+This can be just a zip that is inserted in to the waistband and seam or it can
+be buttons, dress hooks, or snaps with an overlapping waistband and an opening,
+placket or zipper at the top of the seam.
+
+### Elastic
+
+Elastic is needed if you intend to make a seamless or a closure free Sandy.
+Width-wise it will need to be able to fit inside the waistband, length-wise it
+will need to be able to fit around your waist.
+
+## Cutting Instructions {#cutting}
+
+:::note
+If not using seamless follow the default list, If using seamless follow the
+seamless list.
+:::
+
+**Main Fabric**
+
+- (If default) Cut **1 skirt** part on the fold.
+- (If seamless) Cut **1 skirt** part on double fold.
+- (If straight) Cut **1 waistband** part.
+- (If curved) Cut **2 waistband** parts.
+
+**Lining Fabric (Optional)**
+
+- (If default) Cut **1 skirt** part on the fold.
+- (If seamless) Cut **1 skirt** part on double fold.
+
+**Interfacing**
+
+- Cut **1 waistband** part.
diff --git a/sites/orgdocs/docs/designs/shelly/instructions/readme.mdx b/sites/orgdocs/docs/designs/shelly/instructions/readme.mdx
new file mode 100644
index 00000000000..a0ab6bb3b2e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/instructions/readme.mdx
@@ -0,0 +1,170 @@
+---
+title: 'Shelly shirt: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+## Before you start
+
+### Sewing tips
+
+The use of a serger or an overlocking foot is recommended, to keep the size of
+the finished seams small. If using a serger, a seam allowance of 1/2 inch (12
+mm) is recommended. If using an overlocking foot on a sewing machine, or
+serging without the use of the knife, a seam allowance of 1/4 inch (6 mm) is
+recommended.
+
+All seams, including the neckband, can be done with the same stitch, whether it
+be a serger, an overlock stitch, or a stretch stitch.
+
+Hems are optional (since knit doesn't fray), but if you do make hems, make sure
+they can stretch.
+
+Make sure to use a stitch that can stretch. If sewing stretch fabric, adjust
+your tension to allow for extra stretch. On a serger, this will usually mean
+lowering the needle tension, especially the right needle, and adjusting the
+looper tension as needed to keep the stitch looking decent. On a regular sewing
+machine, lower the tension. Test your choice of stitch first on scrap fabric,
+and try to shape the test seam by stretching the seam along its length. It
+should only snap after stretching quite a bit. If it pops too easily, keep
+playing with your stitches/tension settings until you get something that can
+survive some abuse.
+
+For making t-shirts or other shirts with 2-way stretch, regular settings with a
+stitch that stretches should be fine.
+
+### Customizing and fitting your pattern
+
+#### Select an appropriate sleeve length
+
+- 10-30% for short sleeves.
+- 75% for 3/4 length sleeves.
+- 100% for long sleeves (to the wrist).
+- 115% is a good value if making a shirt with thumb holes (extends to the
+ knuckles)
+
+When in doubt, it's a lot easier to shorten a sleeve than to lengthen it.
+
+#### Select an appropriate body length
+
+- Up to 80% or so will produce a crop top.
+- 100% ends at top of the hip bone.
+- 120% will produce a typical t-shirt.
+- 140% will produce a somewhat longer shirt that is less prone to untucking
+ or riding up.
+- 200%+ can be used to make a simple t-shirt dress. It's suggested that you
+ set straight sides to false, and adjust the side shape (under advanced
+ options) for t-shirt dresses.
+
+When in doubt, it's a lot easier to shorten shirt than to lengthen it.
+
+### Decide on fit
+
+Figure out what kind of fit you want and set your eases accordingly. Make
+sure you have an appropriate fabric. If in doubt, making the shirt too loose
+is safer than too tight.
+
+In general, when working with spandex, you want 0% to negative ease. When
+working with ordinary cotton/polyester t-shirt fabric, you want positive
+ease, both because the fabric stretches less, and because typical styles
+using that fabric are looser.
+
+#### Sensory compression shirts
+
+These will be the tightest / have the most negative ease.
+
+- 4-way stretch fabric is required. Swim fabric or another very stretchy
+ fabric is strongly recommended.
+- Chest ease: -30% to -20%. This is the most important part to compress for
+ sensory purposes, and is a relatively safe place to put tension.
+- Sleeve ease: -20% to -10%. Compression here can be beneficial, but you
+ don't want it so tight that you cut off circulation.
+- Wrist ease: -15% to 0%. Mostly preference.
+- Neck ease: 25% to 100% (25% will still be a very snug neckband that will
+ take some stretching to get on/off the head, because of how the neckband
+ is constructed and because neckholes usually are quite a bit bigger than
+ the neck to fit over the head.
+
+#### Athletic shirt
+
+- The author hasn't made one yet. If someone knows what eases to use, please
+ let me know.
+- Highly breathable fabric with some spandex/stretch is recommended.
+- Eases are somewhere between those for a compression shirt and a swim shirt.
+
+#### Swim shirt
+
+This is a looser fitting stretch shirt meant for swimming.
+
+- Swim fabric (spandex/nylon blend or spandex/polyester blend, around 20%
+ spandex)
+- Chest ease: ~0%
+- Sleeve ease: 0-15%
+- Neck ease: 50 to 150% (mostly a style decision). Ease under 50% isn't
+ recommended unless you like very snug neckbands.
+
+#### T-shirt
+
+- The author hasn't made one yet. If someone knows what eases to use, please
+ let me know.
+- Eases will be quite a bit more larger (more positive) than for other shirt
+ types.
+
+#### Sweatshirt
+
+- The author hasn't made one yet. If someone knows what eases to use, please
+ let me know.
+- Eases will be similar to that for a t-shirt, or a little larger.
+
+## Step 1: Forming the body and attaching the sleeves
+
+- With _good sides together_, sew the front piece to each sleeve along the
+ raglan seam (the diagonal seam running from the neck to the armpit).
+- With _good sides together_, sew the back piece to each sleeve along the
+ raglan seam. You should now have a single piece with a circular neck hole in
+ the middle.
+
+## Step 2: Attaching the neckband
+
+- With _good sides together_, fold the neckband in half long ways (so it's half
+ as long) and sew it into a loop.
+- With _wrong sides together_, fold the neckband in half short ways (so it's
+ half as wide).
+- Turn the shirt _good-side_-out
+- Mark the quarter points on your neckband with ball point pins, clips, or
+ chalk.
+- Do the same around the neck hole, marking the center of the front, the center
+ of the back, and the midpoints on either sleeve.
+- With _good sides together_, line up the unfinished edges of the neckband with
+ the edge of the neck hole, and line up the quarter points of the neckband
+ with the quarter points of the neck hole. Stretch the neckband as needed to
+ have all the points line up. Pin or clip the neckband around the neck hole.
+- Sew carefully around the neck hole, making sure to sew through all 3 layers.
+- Turn the neckband over. It should lay flat.
+
+## Step 3: Closing the sleeves and sides
+
+- Turn the shirt inside-out.
+- With _good sides together_, place the front and back pieces together and
+ pin/clip their sides together.
+- With _good sides together_, close the sleeve and pin/clip it along the sleeve
+ seam.
+- You should have a single seam prepared, going from the end of the sleeve to
+ the bottom hem of the body.
+- Sew it shut.
+- Repeat for the other side.
+
+## Step 4: (Optional) Hemming
+
+- Hem the sleeves and/or the bottom of the shirt using a single-fold hem. Using
+ a twin needle will add some stretch to the stitching, but in either case the
+ use of a stretch stitch is still recommended for high-stretch fabrics.
+- Alternatively, you can overlock or serge the raw edge _without_ folding it
+ over to give it a little bit of substance without adding as much bulk as a
+ folded hem, or you can make a rolled hem.
+- Or you can leave the edges unfinished, particularly if it's swim fabric or
+ some other fabric that does not fray at all.
+
+## Step 5: Enjoy your new shirt!
+
+- It's time to take your new shirt for a swim, or to show it off at the beach!
diff --git a/sites/orgdocs/docs/designs/shelly/options/armpitease/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/armpitease/readme.mdx
new file mode 100644
index 00000000000..caef09f7869
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/armpitease/readme.mdx
@@ -0,0 +1,13 @@
+---
+title: 'Armpit ease'
+---
+
+Shifts the sleeves downward to give extra room in the armpit, measured as a percentage of the sleeve diameter. If in doubt, go with the default value.
+
+Note: This option does not change the diameter of the sleeve. To make the sleeve larger or smaller, use the Sleeve ease option.
+
+Note: The Raglan scoop length and Raglan scoop depth options also affect the amount of ease in the armpit.
+
+> ##### This option also allows negative values.
+>
+> Negative values will move the sleeves upwards. Use with caution, even on stretch garments, as this can easily cause binding at the armpit.
diff --git a/sites/orgdocs/docs/designs/shelly/options/bodyhem/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/bodyhem/readme.mdx
new file mode 100644
index 00000000000..b09ceb32de4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/bodyhem/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Body hem'
+---
+
+Sets the hem allowance of the hem along the bottom of the body of the shirt, as a multiple of the seam allowance.
diff --git a/sites/orgdocs/docs/designs/shelly/options/bodylength/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/bodylength/readme.mdx
new file mode 100644
index 00000000000..e2808f661a9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/bodylength/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Body length'
+---
+
+Controls how long the shirt is.
+
+- Up to 80% or so will produce a crop top.
+- 100% ends at top of the hip bone.
+- 120% will produce a typical t-shirt.
+- 140% will produce a somewhat longer shirt that is less prone to untucking or riding up.
+- 200%+ can be used to make a simple t-shirt dress. It's suggested that you set straight sides to false, and adjust the side shape (under advanced options) for t-shirt dresses.
diff --git a/sites/orgdocs/docs/designs/shelly/options/chestease/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/chestease/readme.mdx
new file mode 100644
index 00000000000..5eda1cc2f96
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/chestease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Chest ease'
+---
+
+Controls how wide the shirt will be at your chest. Suggested values range from -30% for a tight sensory compression shirt made out of swim fabric, to 0% for a more casually fitted swim shirt, to +30% or more for a loose-fitting shirt made of less stretchy knit fabrics.
diff --git a/sites/orgdocs/docs/designs/shelly/options/hemwidth/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/hemwidth/readme.mdx
new file mode 100644
index 00000000000..f95e388f37b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/hemwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Hem width'
+---
+
+Sets the hem allowance of the hem along the waist, as a multiple of the seam allowance.
diff --git a/sites/orgdocs/docs/designs/shelly/options/hipsease/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/hipsease/readme.mdx
new file mode 100644
index 00000000000..d52530dd5ea
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/hipsease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Hips ease'
+---
+
+Controls how wide your shirt will be at the bottom hem. This option is only used if the straight sides option is disabled.
diff --git a/sites/orgdocs/docs/designs/shelly/options/neckbalance/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/neckbalance/readme.mdx
new file mode 100644
index 00000000000..5d205bdd309
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/neckbalance/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Neck position'
+---
+
+Controls where the neck hole is placed on the shirt. A value of 0% has the center of the neck hole exactly where the four raglan seams would intersect, with the front and back parts being identical. A positive value shifts the neck towards the front of the shirt.
diff --git a/sites/orgdocs/docs/designs/shelly/options/neckbandlength/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/neckbandlength/readme.mdx
new file mode 100644
index 00000000000..7071adf778c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/neckbandlength/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Neckband length'
+---
+
+Controls how long the neckband is, as a percentage of the circumference of the neckline. Recommended values for this option vary based on the material used for the neckband and the width of the neckband. Stretchier materials and wider neckbands should use a smaller value for this option.
diff --git a/sites/orgdocs/docs/designs/shelly/options/neckbandwidth/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/neckbandwidth/readme.mdx
new file mode 100644
index 00000000000..10f4a997110
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/neckbandwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Neckband width'
+---
+
+Controls how wide the finished neckband will be, as a percentage of the neckline circumference.
diff --git a/sites/orgdocs/docs/designs/shelly/options/neckease/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/neckease/readme.mdx
new file mode 100644
index 00000000000..8a73132a345
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/neckease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Neck ease'
+---
+
+Controls how large the neck hole is. Keep in mind that most shirts have neck holes that are substantially larger than the wearer's neck, and that the neckband will further constrict the neck. 0% ease will make a very small neck hole that hugs the neck snugly and is hard to push over the head, even with stretch fabric. +50% will still make what's generally considered a tight neckband appropriate for a swim shirt. For t-shirts or for a loose fit, even larger values are recommended.
diff --git a/sites/orgdocs/docs/designs/shelly/options/raglanscooplength/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/raglanscooplength/readme.mdx
new file mode 100644
index 00000000000..27acb64105c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/raglanscooplength/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Raglan scoop length'
+---
+
+Controls how far out from the armhole the raglan seam starts to scoop. Larger arms and smaller chests may need to use slightly larger values for this option, but it can usually be left at the default value without issue.
diff --git a/sites/orgdocs/docs/designs/shelly/options/raglanscoopmagnitude/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/raglanscoopmagnitude/readme.mdx
new file mode 100644
index 00000000000..767871f9cfc
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/raglanscoopmagnitude/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Raglan scoop depth'
+---
+
+Controls how much extra material to place under the armpits. Larger values will generally provide better mobility and room in the armpits, while smaller values may give a more fitted look and may be better suited to people with skinny arms. This option can usually be left at the default value without issue.
diff --git a/sites/orgdocs/docs/designs/shelly/options/sideshape/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/sideshape/readme.mdx
new file mode 100644
index 00000000000..99594f3420f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/sideshape/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Side shape'
+---
+
+Controls how the side seam is curved. Zero creates a straight line from the armpit to the side of the hips. Positive values add material and give the side seam a rounded/convex shape, while negative values remove material and give the side seam an hourglass/concave shape. This option will have no effect if the 'straight sides' option is enabled.
diff --git a/sites/orgdocs/docs/designs/shelly/options/sleeveease/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/sleeveease/readme.mdx
new file mode 100644
index 00000000000..aaffc416b4c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/sleeveease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Sleeve ease'
+---
+
+Affects how wide the sleeve is at the armhole on all shirts. For shirts that are less than 100% length, this option also affects how wide the sleeve is at the hem, with shorter sleeves being affected by this option to a greater degree, and longer sleeves being more affected by the wrist ease option. In most cases, this value should be set larger than chest ease, as the shoulders and arms are smaller and the same percentage of ease will translate to a smaller absolute ease. For compression clothes, shoulders also need more mobility than the chest, and very negative eases should generally be avoided for this option.
diff --git a/sites/orgdocs/docs/designs/shelly/options/sleevehem/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/sleevehem/readme.mdx
new file mode 100644
index 00000000000..6384092d646
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/sleevehem/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Sleeve hem'
+---
+
+Sets the hem allowance of the hem along the end of the sleeves, as a multiple of the seam allowance.
diff --git a/sites/orgdocs/docs/designs/shelly/options/sleevelength/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/sleevelength/readme.mdx
new file mode 100644
index 00000000000..bdf3fda847a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/sleevelength/readme.mdx
@@ -0,0 +1,10 @@
+---
+title: 'Sleeve length'
+---
+
+Controls how long the sleeves of your shirt will be.
+
+- 15-30% will make short sleeves.
+- 75% will make three-quarter sleeves.
+- 100% will make long sleeves, stopping at the wrist.
+- 115% will make sleeves covering the knuckles, and is appropriate if using thumb holes.
diff --git a/sites/orgdocs/docs/designs/shelly/options/straightsides/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/straightsides/readme.mdx
new file mode 100644
index 00000000000..d65edbecbe2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/straightsides/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Straight sides'
+---
+
+Forms a tubular shirt, which is a shirt where the hips and chest are the same width and connected by a straight seam. Set this to true for front and back parts that are perfectly rectangular below the armholes. This setting overrides any values set for the `hips ease` or `side shape` options. For most body types, leaving this option on will result in a reasonable fit that is looser around the belly and tighter around the chest, and generally produces a more fabric-efficient pattern.
diff --git a/sites/orgdocs/docs/designs/shelly/options/wristease/readme.mdx b/sites/orgdocs/docs/designs/shelly/options/wristease/readme.mdx
new file mode 100644
index 00000000000..e553cdc4ce8
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/options/wristease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Wrist ease'
+---
+
+Affects how wide the end of the sleeve is on some shirts. There is no effect for sleeves ending at the biceps or above. For longer sleeves, the wrist measurement and this wrist ease option have a progressively larger effect, reaching full effect for long sleeved shirts (sleeve length of 100% or greater).
diff --git a/sites/orgdocs/docs/designs/shelly/readme.mdx b/sites/orgdocs/docs/designs/shelly/readme.mdx
new file mode 100644
index 00000000000..e1a3fe7063f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shelly/readme.mdx
@@ -0,0 +1,74 @@
+---
+title: "Shelly: FreeSewing's Shelly Shirt"
+sidebar_label: Shelly Shirt
+---
+
+
+
+## Designer Notes {#notes}
+
+Shelly is my first design. It was born out of the need for shirts that can
+compress very tight (for sensory needs stemming from autism), and the lack of
+suitable ready made shirts. Undersized swim shirts are tight enough, but expose
+the belly and pinch in the armpits, so I set out to design a shirt that would
+be both comfortable and therapeutic.
+
+Raglan sleeves are used to provide additional flexibility and mobility in the
+armpit, and are very important for very tight clothes.
+
+That said, Shelly is a simple and versatile design capable of making knit tops
+over a wide range of eases, from tightly compressive compression shirts, to
+loose raglan tees. It makes a great first knit garment project, as it only uses
+five pieces of fabric cut from four pattern pieces, and features simple seams
+that can be entirely made with a serger/overlocker. It's also fairly tolerant
+of small errors in measuring/cutting/sewing due to the elastic nature of knits,
+especially swim fabric, and the lack of any fine features requiring too much
+attention to detail on Shelly.
+
+The name is chosen because I like the beach and I like seashells.
+
+Thrunic
+
+## What You Need {#needs}
+
+To make Shelly, you will need the following:
+
+- Basic sewing supplies
+- Between 0.5 - 2 meters (0.6 - 2.2 yards) of a suitable fabric, depending on
+ size and style ([see Fabric options](#fabric))
+ - A kids' short-sleeve rash guard can probably be made with 0.5 meters with
+ fabric left over.
+ - A looser-fitting long-sleeved swim shirt or t-shirt for a tall adult will
+ take closer to 2 meters.
+ - Two different colors or prints of fabric can be used (one for the sleeves,
+ one for the bodice).
+- (Optional) Ribbing fabric for the neck, if using less stretchy fabric.
+- (Optional) Contrasting color thread, if making exposed seams.
+
+## Fabric Options {#fabric}
+
+This pattern is designed to work with stretch/knit fabrics, particularly
+spandex.
+
+For swim shirts, rash guards, compression shirts, athletic shirts, and other
+performance-oriented shirts, four-way stretch fabric is strongly recommended.
+For more casual raglan t-shirts, two-way stretch jersey should work fine.
+
+For compression clothes and swimwear, a 20:80 ratio of nylon/polyester to
+spandex/elastane is recommended. More elastic fabrics allow for greater
+negative ease, will give better mobility, and will be more forgiving to
+measurement/design errors.
+
+The raglan sleeves lend themselves well to using different colors/prints for
+the body and for the sleeves.
+
+With swim fabric/spandex, it is recommended to make the neckband out of the
+same material used for the shirt. For less stretchy fabric, such as cotton
+jersey knit, ribbing is recommended.
+
+## Cutting Instructions {#cutting}
+
+- Cut **1 front** part on the fold
+- Cut **1 back** part on the fold
+- Cut **2 sleeve** parts
+- Cut **1 neckband** part on the fold
diff --git a/sites/orgdocs/docs/designs/shin/instructions/readme.mdx b/sites/orgdocs/docs/designs/shin/instructions/readme.mdx
new file mode 100644
index 00000000000..399946c0f53
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shin/instructions/readme.mdx
@@ -0,0 +1,113 @@
+---
+title: 'Shin swim trunks: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+## Step 1: Join the backs
+
+Put your two backs on top of each other with the good sides together, and sew
+them together along the center back seam.
+
+## Step 2: Join the fronts
+
+### Sew the front seam
+
+Put two of your fronts on top of each other with the good sides together, and
+sew them together along the center front seam.
+
+Repeat with the two other fronts so you have two identical sets.
+
+### Baste fronts together
+
+We have 4 fronts because we'll have a double layer at the front of our swim
+trunks.
+
+Since swimwear fabric tends to be slippery, it's a good idea to baste your
+fronts together to make it easier to work with them in the next steps.
+
+So place your fronts on top of each other, with good sides out, and sew them
+together with some large basting stitches in the seam allowance.
+
+## Step 3: Join the sides
+
+Place your back down with the good side up, and place your double front layer
+on top. Sew fronts and back together at the side seams.
+
+## Step 4: Sew the cross seams
+
+Keep your swim trunks with the good side inwards (the back at least, the front
+has good side on both sides) and sew the crossseam to create the leg openings.
+
+## Step 5: Place eyelets for the draw string
+
+Mark the middle of your waistband length. Fold the waistband double, and mark
+the middle of the width (do not take the seam allowance into account).
+
+A bit to the left and right of this, you can add two eyelets to pass a
+drawstring through. This will avoid an embarrassing situation when you go for
+that big dive and now suddenly find your swim trunks on your ankles.
+
+:::note It's best to add some reinforcement
+
+As swimwear fabric is slippery and thin, you might want to add some
+reinforcement behind these eyelets. A leftover piece of denim will do just
+fine.
+:::
+
+## Step 6: Prepare the elastic
+
+There's no magic formula for the length of your elastic. So you wrap it around
+your waist and pull it tight until you get a good fit.
+
+Mark this length, cut the elastic, and join the two ends together.
+
+## Step 7: Join the waistband
+
+Fold the waistband in half with good sides together and line of the (short)
+edges. Sew them together.
+
+## Step 8: Attach the waistband
+
+Fold your waistband double along the length with good sides out, and place the
+elastic inside. Make sure to align the place where the elastic is joined with
+the place the waistband is joined.
+
+Align the back of your swim trunks with the place where you joined the
+waistband, align the edge of the waistband with the edge of the back, and pin
+them together. Make certain that you pin it to the bad side of the back.
+
+:::note Mind your eyelets
+
+If you've made eyelets in your waistband, double check that they are placed
+towards the outside, not the inside of your waistband.
+:::
+
+Find the front of the waistband (easy if there's eyelets, if not just fold it
+double) and align that with the front seam. Pin this in place too.
+
+Now make your way around the swim trunks waist, pinning the waistband in place.
+
+Then, sew the waistband to the swim trunks, as close to the elastic as you can,
+but don't sew into the elastic.
+
+It's fine to not sew too close the first time around, and once your elastic is
+attached and encased, make a second round to sew it a bit more snugly.
+
+## Step 9: Hem the legs
+
+Fold the hem upwards, and sew it down. If you have a coverlock, use it.
+If not, use a twin needle or zig-zag stitch to keep the seam stretchable.
+
+:::tip Fold only once, to avoid bulk
+
+Swimwear fabric doesn't ravel, so you can simply fold this over once and sew it
+down, then neatly trim back the fabric.
+:::
+
+## Step 10: Thread a draw string around the waist
+
+Thread a drawstring through one eyelet, around the waist, and out of the other
+eyelet.
+
+That's it, you're done 👍
diff --git a/sites/orgdocs/docs/designs/shin/options/backrise/readme.mdx b/sites/orgdocs/docs/designs/shin/options/backrise/readme.mdx
new file mode 100644
index 00000000000..59b9278288b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shin/options/backrise/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Back rise'
+---
+
+How much extra rise do you want at the back?
+
+This factor will raise the waist at the back of your swim trunks only.
+
+:::tip
+If you want to raise the waist overall, that's what the **rise** option does
+:::
diff --git a/sites/orgdocs/docs/designs/shin/options/bulge/readme.mdx b/sites/orgdocs/docs/designs/shin/options/bulge/readme.mdx
new file mode 100644
index 00000000000..172eecd39b7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shin/options/bulge/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Bulge'
+---
+
+How much room do you want in the front?
+
+Increasing this will creating more room in the front.
+
+:::tip
+If it's vertical room you're looking for, that's what the **rise** option does
+:::
diff --git a/sites/orgdocs/docs/designs/shin/options/elasticwidth/readme.mdx b/sites/orgdocs/docs/designs/shin/options/elasticwidth/readme.mdx
new file mode 100644
index 00000000000..1ade8223e70
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shin/options/elasticwidth/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Elastic width'
+---
+
+This option is closely linked to the **rise** option that determines how high
+your swim trunks will rise on your waist.
+
+However, the width of your elastic is also a factor to take into account, so
+that's where this option comes in.
diff --git a/sites/orgdocs/docs/designs/shin/options/legreduction/readme.mdx b/sites/orgdocs/docs/designs/shin/options/legreduction/readme.mdx
new file mode 100644
index 00000000000..13b4f1a76bb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shin/options/legreduction/readme.mdx
@@ -0,0 +1,10 @@
+---
+title: 'Leg reduction'
+---
+
+The amount to further reduce the stretch at the (upper) legs.
+
+:::tip What's the point?
+
+This option makes the legs fit more snugly than the rest of your swimming trunks to avoid gaping.
+:::
diff --git a/sites/orgdocs/docs/designs/shin/options/rise/readme.mdx b/sites/orgdocs/docs/designs/shin/options/rise/readme.mdx
new file mode 100644
index 00000000000..d708ee5ee29
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shin/options/rise/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Rise'
+---
+
+This option controls the overall height of the waist.
+
+The higher the rise, the higher your waist.
diff --git a/sites/orgdocs/docs/designs/shin/options/stretch/readme.mdx b/sites/orgdocs/docs/designs/shin/options/stretch/readme.mdx
new file mode 100644
index 00000000000..ae1cf20078b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shin/options/stretch/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Stretch'
+---
+
+The amount of overall (horizontal) stretch.
diff --git a/sites/orgdocs/docs/designs/shin/readme.mdx b/sites/orgdocs/docs/designs/shin/readme.mdx
new file mode 100644
index 00000000000..44546e165b4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/shin/readme.mdx
@@ -0,0 +1,60 @@
+---
+title: "Shin: FreeSewing's Shin Swim Trunks"
+sidebar_label: Shin Swim Trunks
+---
+
+
+
+## Designer Notes {#notes}
+
+I needed swim trunks, so I designed Shin.
+There's not much more to it than that.
+
+joost
+
+## What You Need {#needs}
+
+To make Shin, you will need the following:
+
+- Basic sewing supplies
+- About 0.75 meters (0.8 yards) of a suitable fabric ([see Fabric
+ options](#fabric))
+- two eyelets and a drawstring
+
+:::note A serger/overlock is nice, but optional
+
+As with all stretch fabrics, a serger/overlock will make your life easier.
+
+If you do not have one of those, don't despair. You don't really need it. You
+can use another technique for stretch seams, such as a zig-zag stitch, twin
+needle, or elastic thread.
+:::
+
+## Fabric Options {#fabric}
+
+Swim trunks should be made out of a material with stretch that is suitable for
+being in the water.
+
+Typically, this falls apart in a few categories:
+
+- Nylon mixed with elastane, spandex, or lycra is soft and stretchy. This is
+ what most casual swimwear is made from.
+- Polyester mixed with PBT (polybutylene terephthalate) is less soft to the
+ touch, but resistant to chlorine and salt water. This is what a lot of
+ competitive swimwear is made from.
+- Neoprene, also known as scuba, is heavier and less stretchy. It's the stuff
+ scuba suits are made from.
+
+## Cutting Instructions {#cutting}
+
+- Cut **2 backs** with good sides together
+- Cut **4 fronts** 2 x 2 with good sides together
+- Cut **1 waistband**
+
+:::warning Caveats
+
+- To save paper, the waistband is not completely printed on the pattern since
+ it's just a long rectangle. So look for the length indicator, and cut out a
+ rectangle of that size.
+- The hem allowance is double the standard seam allowance.
+ :::
diff --git a/sites/orgdocs/docs/designs/simon/options/readme.mdx b/sites/orgdocs/docs/designs/simon/options/readme.mdx
deleted file mode 100644
index 92e1b436909..00000000000
--- a/sites/orgdocs/docs/designs/simon/options/readme.mdx
+++ /dev/null
@@ -1,417 +0,0 @@
----
-title: 'Simon Shirt: Design Options'
-sidebar_label: Design Options
-sidebar_position: 10
-toc_max_heading_level: 4
----
-
-import Acrossbackfactor from '@site/docs/designs/simon/options/acrossbackfactor/readme.mdx'
-import Armholedepth from '@site/docs/designs/simon/options/armholedepth/readme.mdx'
-import Armholedepthfactor from '@site/docs/designs/simon/options/armholedepthfactor/readme.mdx'
-import Backdarts from '@site/docs/designs/simon/options/backdarts/readme.mdx'
-import Backdartshaping from '@site/docs/designs/simon/options/backdartshaping/readme.mdx'
-import Backneckcutout from '@site/docs/designs/simon/options/backneckcutout/readme.mdx'
-import Barrelcuffnarrowbutton from '@site/docs/designs/simon/options/barrelcuffnarrowbutton/readme.mdx'
-import Bicepsease from '@site/docs/designs/simon/options/bicepsease/readme.mdx'
-import Boxpleat from '@site/docs/designs/simon/options/boxpleat/readme.mdx'
-import Boxpleatfold from '@site/docs/designs/simon/options/boxpleatfold/readme.mdx'
-import Boxpleatwidth from '@site/docs/designs/simon/options/boxpleatwidth/readme.mdx'
-import Buttonfreelength from '@site/docs/designs/simon/options/buttonfreelength/readme.mdx'
-import Buttonholeplacketfoldwidth from '@site/docs/designs/simon/options/buttonholeplacketfoldwidth/readme.mdx'
-import Buttonholeplacketstyle from '@site/docs/designs/simon/options/buttonholeplacketstyle/readme.mdx'
-import Buttonholeplacketwidth from '@site/docs/designs/simon/options/buttonholeplacketwidth/readme.mdx'
-import Buttonplacketstyle from '@site/docs/designs/simon/options/buttonplacketstyle/readme.mdx'
-import Buttonplacketwidth from '@site/docs/designs/simon/options/buttonplacketwidth/readme.mdx'
-import Buttons from '@site/docs/designs/simon/options/buttons/readme.mdx'
-import Chestease from '@site/docs/designs/simon/options/chestease/readme.mdx'
-import Collarangle from '@site/docs/designs/simon/options/collarangle/readme.mdx'
-import Collarbend from '@site/docs/designs/simon/options/collarbend/readme.mdx'
-import Collarease from '@site/docs/designs/simon/options/collarease/readme.mdx'
-import Collarflare from '@site/docs/designs/simon/options/collarflare/readme.mdx'
-import Collargap from '@site/docs/designs/simon/options/collargap/readme.mdx'
-import Collarroll from '@site/docs/designs/simon/options/collarroll/readme.mdx'
-import Collarstandbend from '@site/docs/designs/simon/options/collarstandbend/readme.mdx'
-import Collarstandcurve from '@site/docs/designs/simon/options/collarstandcurve/readme.mdx'
-import Collarstandwidth from '@site/docs/designs/simon/options/collarstandwidth/readme.mdx'
-import Collarwidth from '@site/docs/designs/simon/options/collarwidth/readme.mdx'
-import Cuffbuttonrows from '@site/docs/designs/simon/options/cuffbuttonrows/readme.mdx'
-import Cuffdrape from '@site/docs/designs/simon/options/cuffdrape/readme.mdx'
-import Cuffease from '@site/docs/designs/simon/options/cuffease/readme.mdx'
-import Cufflength from '@site/docs/designs/simon/options/cufflength/readme.mdx'
-import Cuffstyle from '@site/docs/designs/simon/options/cuffstyle/readme.mdx'
-import Draftforhighbust from '@site/docs/designs/simon/options/draftforhighbust/readme.mdx'
-import Extratopbutton from '@site/docs/designs/simon/options/extratopbutton/readme.mdx'
-import Ffsa from '@site/docs/designs/simon/options/ffsa/readme.mdx'
-import Frontarmholedeeper from '@site/docs/designs/simon/options/frontarmholedeeper/readme.mdx'
-import Hemcurve from '@site/docs/designs/simon/options/hemcurve/readme.mdx'
-import Hemstyle from '@site/docs/designs/simon/options/hemstyle/readme.mdx'
-import Hipsease from '@site/docs/designs/simon/options/hipsease/readme.mdx'
-import Legacyarmholedepth from '@site/docs/designs/simon/options/legacyarmholedepth/readme.mdx'
-import Lengthbonus from '@site/docs/designs/simon/options/lengthbonus/readme.mdx'
-import Roundback from '@site/docs/designs/simon/options/roundback/readme.mdx'
-import S3armhole from '@site/docs/designs/simon/options/s3armhole/readme.mdx'
-import S3collar from '@site/docs/designs/simon/options/s3collar/readme.mdx'
-import Separatebuttonholeplacket from '@site/docs/designs/simon/options/separatebuttonholeplacket/readme.mdx'
-import Separatebuttonplacket from '@site/docs/designs/simon/options/separatebuttonplacket/readme.mdx'
-import Shoulderease from '@site/docs/designs/simon/options/shoulderease/readme.mdx'
-import Shoulderslopereduction from '@site/docs/designs/simon/options/shoulderslopereduction/readme.mdx'
-import Sleevecapbackfactorx from '@site/docs/designs/simon/options/sleevecapbackfactorx/readme.mdx'
-import Sleevecapbackfactory from '@site/docs/designs/simon/options/sleevecapbackfactory/readme.mdx'
-import Sleevecapease from '@site/docs/designs/simon/options/sleevecapease/readme.mdx'
-import Sleevecapfrontfactorx from '@site/docs/designs/simon/options/sleevecapfrontfactorx/readme.mdx'
-import Sleevecapfrontfactory from '@site/docs/designs/simon/options/sleevecapfrontfactory/readme.mdx'
-import Sleevecapq1offset from '@site/docs/designs/simon/options/sleevecapq1offset/readme.mdx'
-import Sleevecapq1spread1 from '@site/docs/designs/simon/options/sleevecapq1spread1/readme.mdx'
-import Sleevecapq1spread2 from '@site/docs/designs/simon/options/sleevecapq1spread2/readme.mdx'
-import Sleevecapq2offset from '@site/docs/designs/simon/options/sleevecapq2offset/readme.mdx'
-import Sleevecapq2spread1 from '@site/docs/designs/simon/options/sleevecapq2spread1/readme.mdx'
-import Sleevecapq2spread2 from '@site/docs/designs/simon/options/sleevecapq2spread2/readme.mdx'
-import Sleevecapq3offset from '@site/docs/designs/simon/options/sleevecapq3offset/readme.mdx'
-import Sleevecapq3spread1 from '@site/docs/designs/simon/options/sleevecapq3spread1/readme.mdx'
-import Sleevecapq3spread2 from '@site/docs/designs/simon/options/sleevecapq3spread2/readme.mdx'
-import Sleevecapq4offset from '@site/docs/designs/simon/options/sleevecapq4offset/readme.mdx'
-import Sleevecapq4spread1 from '@site/docs/designs/simon/options/sleevecapq4spread1/readme.mdx'
-import Sleevecapq4spread2 from '@site/docs/designs/simon/options/sleevecapq4spread2/readme.mdx'
-import Sleevecaptopfactorx from '@site/docs/designs/simon/options/sleevecaptopfactorx/readme.mdx'
-import Sleevecaptopfactory from '@site/docs/designs/simon/options/sleevecaptopfactory/readme.mdx'
-import Sleevelengthbonus from '@site/docs/designs/simon/options/sleevelengthbonus/readme.mdx'
-import Sleeveplacketlength from '@site/docs/designs/simon/options/sleeveplacketlength/readme.mdx'
-import Sleeveplacketwidth from '@site/docs/designs/simon/options/sleeveplacketwidth/readme.mdx'
-import Sleevewidthguarantee from '@site/docs/designs/simon/options/sleevewidthguarantee/readme.mdx'
-import Splityoke from '@site/docs/designs/simon/options/splityoke/readme.mdx'
-import Waistease from '@site/docs/designs/simon/options/waistease/readme.mdx'
-import Yokeheight from '@site/docs/designs/simon/options/yokeheight/readme.mdx'
-
-
-
-## Style
-
-
-
-### Closure
-
-#### Button placket style {#buttonplacketstyle}
-
-
-
-#### Buttonhole placket style {#buttonholeplacketstyle}
-
-
-
-#### Button free length {#buttonfreelength}
-
-
-
-#### Button placket width {#buttonplacketwidth}
-
-
-
-#### Buttonhole placket fold width {#buttonholeplacketfoldwidth}
-
-
-
-#### Buttonhole placket width {#buttonholeplacketwidth}
-
-
-
-#### Number of buttons {#buttons}
-
-
-
-#### Extra top button {#extratopbutton}
-
-
-
-#### Separate button placket {#separatebuttonplacket}
-
-
-
-#### Separate buttonhole placket {#separatebuttonholeplacket}
-
-
-
-
-
-### Back darts {#backdarts}
-
-
-
-### Box pleat {#boxpleat}
-
-
-
-### Hem curve {#hemcurve}
-
-
-
-### Hem style {#hemstyle}
-
-
-
-### Shoulder seam shift: armhole side {#s3armhole}
-
-
-
-### Shoulder seam shift: collar side {#s3collar}
-
-
-
-### Split yoke {#splityoke}
-
-
-
-### Yoke height {#yokeheight}
-
-
-
-
-
-### Collar
-
-#### Collar angle {#collarangle}
-
-
-
-#### Collar bend {#collarbend}
-
-
-
-#### Collar flare {#collarflare}
-
-
-
-#### Collar gap {#collargap}
-
-
-
-#### Collar roll {#collarroll}
-
-
-
-#### Collar stand bend {#collarstandbend}
-
-
-
-#### Collar stand curve {#collarstandcurve}
-
-
-
-#### Collar stand width {#collarstandwidth}
-
-
-
-#### Collar width {#collarwidth}
-
-
-
-
-
-### Cuffs
-
-#### Cuff narrow button {#barrelcuffnarrowbutton}
-
-
-
-#### Cuff button rows {#cuffbuttonrows}
-
-
-
-#### Cuff drape {#cuffdrape}
-
-
-
-#### Cuff length {#cufflength}
-
-
-
-#### Cuff style {#cuffstyle}
-
-
-
-#### Sleeve placket length {#sleeveplacketlength}
-
-
-
-#### Sleeve placket width {#sleeveplacketwidth}
-
-
-
-
-
-## Fit
-
-### Biceps ease {#bicepsease}
-
-
-
-### Chest ease {#chestease}
-
-
-
-### Collar ease {#collarease}
-
-
-
-### Cuff ease {#cuffease}
-
-
-
-### Hips ease {#hipsease}
-
-
-
-### Length bonus {#lengthbonus}
-
-
-
-### Round back {#roundback}
-
-
-
-### Shoulder ease {#shoulderease}
-
-
-
-### Sleeve length bonus {#sleevelengthbonus}
-
-
-
-### Waist ease {#waistease}
-
-
-
-### Draft for high bust {#draftforhighbust}
-
-
-
-
-
-## Advanced
-
-### Armhole depth {#armholedepth}
-
-
-
-### Armhole depth factor (legacy) {#armholedepthfactor}
-
-
-
-### Across back factor {#acrossbackfactor}
-
-
-
-### Back dart shaping {#backdartshaping}
-
-
-
-### Back neck cutout {#backneckcutout}
-
-
-
-### Box pleat fold {#boxpleatfold}
-
-
-
-### Box pleat width {#boxpleatwidth}
-
-
-
-### Flat-felled seam allowance {#ffsa}
-
-
-
-### Front armhole extra cutout {#frontarmholedeeper}
-
-
-
-### Legacy armhole depth {#legacyarmholedepth}
-
-
-
-### Shoulder slope reduction {#shoulderslopereduction}
-
-
-
-### Sleeve width guarantee {#sleevewidthguarantee}
-
-
-
-
-
-### Sleevecap
-
-#### Sleevecap back X {#sleevecapbackfactorx}
-
-
-
-#### Sleevecap back Y {#sleevecapbackfactory}
-
-
-
-#### Sleevecap ease {#sleevecapease}
-
-
-
-#### Sleevecap front X {#sleevecapfrontfactorx}
-
-
-
-#### Sleevecap front Y {#sleevecapfrontfactory}
-
-
-
-#### Sleevecap Q1 offset {#sleevecapq1offset}
-
-
-
-#### Sleevecap Q1 downward spread {#sleevecapq1spread1}
-
-
-
-#### Sleevecap Q1 upward spread {#sleevecapq1spread2}
-
-
-
-#### Sleevecap Q2 offset {#sleevecapq2offset}
-
-
-
-#### Sleevecap Q2 downward spread {#sleevecapq2spread1}
-
-
-
-#### Sleevecap Q2 upward spread {#sleevecapq2spread2}
-
-
-
-#### Sleevecap Q3 offset {#sleevecapq3offset}
-
-
-
-#### Sleevecap Q3 upward spread {#sleevecapq3spread1}
-
-
-
-#### Sleevecap Q3 downward spread {#sleevecapq3spread2}
-
-
-
-#### Sleevecap Q4 offset {#sleevecapq4offset}
-
-
-
-#### Sleevecap Q4 upward spread {#sleevecapq4spread1}
-
-
-
-#### Sleevecap Q4 downward spread {#sleevecapq4spread2}
-
-
-
-#### Sleevecap top X {#sleevecaptopfactorx}
-
-
-
-#### Sleevecap top Y {#sleevecaptopfactory}
-
-
diff --git a/sites/orgdocs/docs/designs/simone/instructions/readme.mdx b/sites/orgdocs/docs/designs/simone/instructions/readme.mdx
index 75d2726c786..63bd17126c9 100644
--- a/sites/orgdocs/docs/designs/simone/instructions/readme.mdx
+++ b/sites/orgdocs/docs/designs/simone/instructions/readme.mdx
@@ -10,8 +10,6 @@ sidebar_position: 20
### Step 2: Follow Simon's Instructions
-:::note
-
-Simone is just our [Simon pattern](/designs/simon/) adapted for breasts so you can now just follow [Simon's instructions](/docs/designs/simon/instructions) to finish your Simone :)
-
-:::
+Simone is just our [Simon pattern](https://freesewing.org/designs/simon/)
+adapted for breasts so you can now just follow [Simon's
+instructions](/docs/designs/simon/instructions) to finish your Simone :smiley:
diff --git a/sites/orgdocs/docs/designs/simone/options/readme.mdx b/sites/orgdocs/docs/designs/simone/options/readme.mdx
deleted file mode 100644
index 5444162ffdf..00000000000
--- a/sites/orgdocs/docs/designs/simone/options/readme.mdx
+++ /dev/null
@@ -1,442 +0,0 @@
----
-title: 'Simone Shirt: Design Options'
-sidebar_label: Design Options
-sidebar_position: 10
-toc_max_heading_level: 4
----
-
-import Acrossbackfactor from '@site/docs/designs/simone/options/acrossbackfactor/readme.mdx'
-import Armholedepth from '@site/docs/designs/simone/options/armholedepth/readme.mdx'
-import Armholedepthfactor from '@site/docs/designs/simone/options/armholedepthfactor/readme.mdx'
-import Backdarts from '@site/docs/designs/simone/options/backdarts/readme.mdx'
-import Backdartshaping from '@site/docs/designs/simone/options/backdartshaping/readme.mdx'
-import Backneckcutout from '@site/docs/designs/simone/options/backneckcutout/readme.mdx'
-import Barrelcuffnarrowbutton from '@site/docs/designs/simone/options/barrelcuffnarrowbutton/readme.mdx'
-import Bicepsease from '@site/docs/designs/simone/options/bicepsease/readme.mdx'
-import Boxpleat from '@site/docs/designs/simone/options/boxpleat/readme.mdx'
-import Boxpleatfold from '@site/docs/designs/simone/options/boxpleatfold/readme.mdx'
-import Boxpleatwidth from '@site/docs/designs/simone/options/boxpleatwidth/readme.mdx'
-import Bustalignedbuttons from '@site/docs/designs/simone/options/bustalignedbuttons/readme.mdx'
-import Bustdartangle from '@site/docs/designs/simone/options/bustdartangle/readme.mdx'
-import Bustdartlength from '@site/docs/designs/simone/options/bustdartlength/readme.mdx'
-import Buttonfreelength from '@site/docs/designs/simone/options/buttonfreelength/readme.mdx'
-import Buttonholeplacketfoldwidth from '@site/docs/designs/simone/options/buttonholeplacketfoldwidth/readme.mdx'
-import Buttonholeplacketstyle from '@site/docs/designs/simone/options/buttonholeplacketstyle/readme.mdx'
-import Buttonholeplacketwidth from '@site/docs/designs/simone/options/buttonholeplacketwidth/readme.mdx'
-import Buttonplacketstyle from '@site/docs/designs/simone/options/buttonplacketstyle/readme.mdx'
-import Buttonplacketwidth from '@site/docs/designs/simone/options/buttonplacketwidth/readme.mdx'
-import Buttons from '@site/docs/designs/simone/options/buttons/readme.mdx'
-import Chestease from '@site/docs/designs/simone/options/chestease/readme.mdx'
-import Collarangle from '@site/docs/designs/simone/options/collarangle/readme.mdx'
-import Collarbend from '@site/docs/designs/simone/options/collarbend/readme.mdx'
-import Collarease from '@site/docs/designs/simone/options/collarease/readme.mdx'
-import Collarflare from '@site/docs/designs/simone/options/collarflare/readme.mdx'
-import Collargap from '@site/docs/designs/simone/options/collargap/readme.mdx'
-import Collarroll from '@site/docs/designs/simone/options/collarroll/readme.mdx'
-import Collarstandbend from '@site/docs/designs/simone/options/collarstandbend/readme.mdx'
-import Collarstandcurve from '@site/docs/designs/simone/options/collarstandcurve/readme.mdx'
-import Collarstandwidth from '@site/docs/designs/simone/options/collarstandwidth/readme.mdx'
-import Collarwidth from '@site/docs/designs/simone/options/collarwidth/readme.mdx'
-import Contour from '@site/docs/designs/simone/options/contour/readme.mdx'
-import Cuffbuttonrows from '@site/docs/designs/simone/options/cuffbuttonrows/readme.mdx'
-import Cuffdrape from '@site/docs/designs/simone/options/cuffdrape/readme.mdx'
-import Cuffease from '@site/docs/designs/simone/options/cuffease/readme.mdx'
-import Cufflength from '@site/docs/designs/simone/options/cufflength/readme.mdx'
-import Cuffstyle from '@site/docs/designs/simone/options/cuffstyle/readme.mdx'
-import Extratopbutton from '@site/docs/designs/simone/options/extratopbutton/readme.mdx'
-import Ffsa from '@site/docs/designs/simone/options/ffsa/readme.mdx'
-import Frontarmholedeeper from '@site/docs/designs/simone/options/frontarmholedeeper/readme.mdx'
-import Frontdartlength from '@site/docs/designs/simone/options/frontdartlength/readme.mdx'
-import Frontdarts from '@site/docs/designs/simone/options/frontdarts/readme.mdx'
-import Hemcurve from '@site/docs/designs/simone/options/hemcurve/readme.mdx'
-import Hemstyle from '@site/docs/designs/simone/options/hemstyle/readme.mdx'
-import Hipsease from '@site/docs/designs/simone/options/hipsease/readme.mdx'
-import Legacyarmholedepth from '@site/docs/designs/simone/options/legacyarmholedepth/readme.mdx'
-import Lengthbonus from '@site/docs/designs/simone/options/lengthbonus/readme.mdx'
-import Roundback from '@site/docs/designs/simone/options/roundback/readme.mdx'
-import S3armhole from '@site/docs/designs/simone/options/s3armhole/readme.mdx'
-import S3collar from '@site/docs/designs/simone/options/s3collar/readme.mdx'
-import Separatebuttonholeplacket from '@site/docs/designs/simone/options/separatebuttonholeplacket/readme.mdx'
-import Separatebuttonplacket from '@site/docs/designs/simone/options/separatebuttonplacket/readme.mdx'
-import Shoulderease from '@site/docs/designs/simone/options/shoulderease/readme.mdx'
-import Shoulderslopereduction from '@site/docs/designs/simone/options/shoulderslopereduction/readme.mdx'
-import Sleevecapbackfactorx from '@site/docs/designs/simone/options/sleevecapbackfactorx/readme.mdx'
-import Sleevecapbackfactory from '@site/docs/designs/simone/options/sleevecapbackfactory/readme.mdx'
-import Sleevecapease from '@site/docs/designs/simone/options/sleevecapease/readme.mdx'
-import Sleevecapfrontfactorx from '@site/docs/designs/simone/options/sleevecapfrontfactorx/readme.mdx'
-import Sleevecapfrontfactory from '@site/docs/designs/simone/options/sleevecapfrontfactory/readme.mdx'
-import Sleevecapq1offset from '@site/docs/designs/simone/options/sleevecapq1offset/readme.mdx'
-import Sleevecapq1spread1 from '@site/docs/designs/simone/options/sleevecapq1spread1/readme.mdx'
-import Sleevecapq1spread2 from '@site/docs/designs/simone/options/sleevecapq1spread2/readme.mdx'
-import Sleevecapq2offset from '@site/docs/designs/simone/options/sleevecapq2offset/readme.mdx'
-import Sleevecapq2spread1 from '@site/docs/designs/simone/options/sleevecapq2spread1/readme.mdx'
-import Sleevecapq2spread2 from '@site/docs/designs/simone/options/sleevecapq2spread2/readme.mdx'
-import Sleevecapq3offset from '@site/docs/designs/simone/options/sleevecapq3offset/readme.mdx'
-import Sleevecapq3spread1 from '@site/docs/designs/simone/options/sleevecapq3spread1/readme.mdx'
-import Sleevecapq3spread2 from '@site/docs/designs/simone/options/sleevecapq3spread2/readme.mdx'
-import Sleevecapq4offset from '@site/docs/designs/simone/options/sleevecapq4offset/readme.mdx'
-import Sleevecapq4spread1 from '@site/docs/designs/simone/options/sleevecapq4spread1/readme.mdx'
-import Sleevecapq4spread2 from '@site/docs/designs/simone/options/sleevecapq4spread2/readme.mdx'
-import Sleevecaptopfactorx from '@site/docs/designs/simone/options/sleevecaptopfactorx/readme.mdx'
-import Sleevecaptopfactory from '@site/docs/designs/simone/options/sleevecaptopfactory/readme.mdx'
-import Sleevelengthbonus from '@site/docs/designs/simone/options/sleevelengthbonus/readme.mdx'
-import Sleeveplacketlength from '@site/docs/designs/simone/options/sleeveplacketlength/readme.mdx'
-import Sleeveplacketwidth from '@site/docs/designs/simone/options/sleeveplacketwidth/readme.mdx'
-import Sleevewidthguarantee from '@site/docs/designs/simone/options/sleevewidthguarantee/readme.mdx'
-import Splityoke from '@site/docs/designs/simone/options/splityoke/readme.mdx'
-import Waistease from '@site/docs/designs/simone/options/waistease/readme.mdx'
-import Yokeheight from '@site/docs/designs/simone/options/yokeheight/readme.mdx'
-
-
-
-## Style
-
-
-
-### Closure
-
-#### Button placket style {#buttonplacketstyle}
-
-
-
-#### Buttonhole placket style {#buttonholeplacketstyle}
-
-
-
-#### Bust-aligned buttons {#bustalignedbuttons}
-
-
-
-#### Button free length {#buttonfreelength}
-
-
-
-#### Button placket width {#buttonplacketwidth}
-
-
-
-#### Buttonhole placket fold width {#buttonholeplacketfoldwidth}
-
-
-
-#### Buttonhole placket width {#buttonholeplacketwidth}
-
-
-
-#### Number of buttons {#buttons}
-
-
-
-#### Extra top button {#extratopbutton}
-
-
-
-#### Separate button placket {#separatebuttonplacket}
-
-
-
-#### Separate buttonhole placket {#separatebuttonholeplacket}
-
-
-
-
-
-### Back darts {#backdarts}
-
-
-
-### Box pleat {#boxpleat}
-
-
-
-### Contour {#contour}
-
-
-
-### Hem curve {#hemcurve}
-
-
-
-### Hem style {#hemstyle}
-
-
-
-### Shoulder seam shift: armhole side {#s3armhole}
-
-
-
-### Shoulder seam shift: collar side {#s3collar}
-
-
-
-### Split yoke {#splityoke}
-
-
-
-### Yoke height {#yokeheight}
-
-
-
-
-
-### Collar
-
-#### Collar angle {#collarangle}
-
-
-
-#### Collar bend {#collarbend}
-
-
-
-#### Collar flare {#collarflare}
-
-
-
-#### Collar gap {#collargap}
-
-
-
-#### Collar roll {#collarroll}
-
-
-
-#### Collar stand bend {#collarstandbend}
-
-
-
-#### Collar stand curve {#collarstandcurve}
-
-
-
-#### Collar stand width {#collarstandwidth}
-
-
-
-#### Collar width {#collarwidth}
-
-
-
-
-
-### Cuffs
-
-#### Cuff narrow button {#barrelcuffnarrowbutton}
-
-
-
-#### Cuff button rows {#cuffbuttonrows}
-
-
-
-#### Cuff drape {#cuffdrape}
-
-
-
-#### Cuff length {#cufflength}
-
-
-
-#### Cuff style {#cuffstyle}
-
-
-
-#### Sleeve placket length {#sleeveplacketlength}
-
-
-
-#### Sleeve placket width {#sleeveplacketwidth}
-
-
-
-
-
-## Fit
-
-### Biceps ease {#bicepsease}
-
-
-
-### Chest ease {#chestease}
-
-
-
-### Collar ease {#collarease}
-
-
-
-### Cuff ease {#cuffease}
-
-
-
-### Hips ease {#hipsease}
-
-
-
-### Length bonus {#lengthbonus}
-
-
-
-### Round back {#roundback}
-
-
-
-### Shoulder ease {#shoulderease}
-
-
-
-### Sleeve length bonus {#sleevelengthbonus}
-
-
-
-### Waist ease {#waistease}
-
-
-
-
-
-## Advanced
-
-### Armhole depth {#armholedepth}
-
-
-
-### Armhole depth factor (legacy) {#armholedepthfactor}
-
-
-
-### Across back factor {#acrossbackfactor}
-
-
-
-### Back dart shaping {#backdartshaping}
-
-
-
-### Back neck cutout {#backneckcutout}
-
-
-
-### Box pleat fold {#boxpleatfold}
-
-
-
-### Box pleat width {#boxpleatwidth}
-
-
-
-### Bust dart angle {#bustdartangle}
-
-
-
-### Bust dart length {#bustdartlength}
-
-
-
-### Flat-felled seam allowance {#ffsa}
-
-
-
-### Front armhole extra cutout {#frontarmholedeeper}
-
-
-
-### Front dart length {#frontdartlength}
-
-
-
-### Front darts {#frontdarts}
-
-
-
-### Legacy armhole depth {#legacyarmholedepth}
-
-
-
-### Shoulder slope reduction {#shoulderslopereduction}
-
-
-
-### Sleeve width guarantee {#sleevewidthguarantee}
-
-
-
-
-
-### Sleevecap
-
-#### Sleevecap back X {#sleevecapbackfactorx}
-
-
-
-#### Sleevecap back Y {#sleevecapbackfactory}
-
-
-
-#### Sleevecap ease {#sleevecapease}
-
-
-
-#### Sleevecap front X {#sleevecapfrontfactorx}
-
-
-
-#### Sleevecap front Y {#sleevecapfrontfactory}
-
-
-
-#### Sleevecap Q1 offset {#sleevecapq1offset}
-
-
-
-#### Sleevecap Q1 downward spread {#sleevecapq1spread1}
-
-
-
-#### Sleevecap Q1 upward spread {#sleevecapq1spread2}
-
-
-
-#### Sleevecap Q2 offset {#sleevecapq2offset}
-
-
-
-#### Sleevecap Q2 downward spread {#sleevecapq2spread1}
-
-
-
-#### Sleevecap Q2 upward spread {#sleevecapq2spread2}
-
-
-
-#### Sleevecap Q3 offset {#sleevecapq3offset}
-
-
-
-#### Sleevecap Q3 upward spread {#sleevecapq3spread1}
-
-
-
-#### Sleevecap Q3 downward spread {#sleevecapq3spread2}
-
-
-
-#### Sleevecap Q4 offset {#sleevecapq4offset}
-
-
-
-#### Sleevecap Q4 upward spread {#sleevecapq4spread1}
-
-
-
-#### Sleevecap Q4 downward spread {#sleevecapq4spread2}
-
-
-
-#### Sleevecap top X {#sleevecaptopfactorx}
-
-
-
-#### Sleevecap top Y {#sleevecaptopfactory}
-
-
diff --git a/sites/orgdocs/docs/designs/sven/instructions/readme.mdx b/sites/orgdocs/docs/designs/sven/instructions/readme.mdx
new file mode 100644
index 00000000000..c46af72bf55
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/instructions/readme.mdx
@@ -0,0 +1,58 @@
+---
+title: 'Sven sweatshirt: Sewing Instructions'
+---
+
+### Step 1: Close shoulder seams
+
+- Place the back and front on top of each other with the good sides together.
+- Align the shoulder seam, and sew/serge it at the standard seam allowance.
+- Repeat for the other shoulder seam.
+
+### Step 2: Set in the sleeves
+
+- Place your now attached front and back with the good side up.
+- Place a sleeve on top if it with the good side down
+- Align the top of the sleevecap with the shoulder seam, your sleeve should lie over your front/back extending to the other shoulder seam
+- Pin sleeve in place along the entire armhole. There's a bit of sleevecap ease, which means that the sleevehead is slightly longer than the armhole. Ease this in the top part of the sleeve head while pinning.
+- Sew/serge your pinned sleeve in place
+- Repeat for the other sleeve
+
+### Step 3: Finish the neck binding
+
+- Measure the length of the neck opening
+- Cut a piece of ribbing that is this length and 6cm/2.5inch wide
+- Fold the ribbing double with the good side outward, and pin it to your neckopening starting from the back
+- The cut off side of your ribbing should align with the edge of your neck opening, while the ribbing extends over your sweatshirt
+- Pin the ribbing in place around the neck opening, starting at the back and stretching it gently as you do so
+- First, join the ribbing at center back, with good sides together. As you've been stretching the ribbing as you were pinning it, it will be too long. Simply cut that away
+- Then, sew the ribbing to the neck opening
+
+### Step 4: Close the side seams and sleeves
+
+- Fold Sven double at the shoulder seams with good sides together
+- Align the side seams and sleeves and pin them together
+- Now, sew the side seam and continue sewing to close the arms all the way to the cuff
+- Repeat on the other side
+
+### Step 5: Attach the cuffs
+
+- Measure the width of the sleeve at the cuff
+- Cut a piece of ribbing that is (twice this length - 2cm/1inch) and 7cm/3inch wide
+- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring
+- Turn your Sven inside-out
+- Fold the ribbing ring with the good side outwards, and slip the folded side into your inside/out Sven sleeve
+- Align the cut off side of the ribbing with the edge of the sleeve and pin it in place. The ribbing is a bit shorter, so stretch it a bit while pinning to work this into the sleeve.
+- Now, sew/serge the ribbing to the sleeve
+- Repeat for the other cuff
+
+### Step 6: Attach the hem
+
+- Do for the hem as your did for the cuffs
+- Measure the width of Sven at the hem
+- Cut a piece of ribbing that 1.9 times this length and 7cm/3inch wide
+- You may need to attach different pieces if your ribbing fabric isn't wide enough
+- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring
+- Turn your Sven inside-out
+- Fold the ribbing ring with the good side outwards, and slip the folded side into your inside/out Sven body
+- Align the cut off side of the ribbing with the edge of the body and pin it in place. The ribbing is a bit shorter, so stretch it a bit while pinning to work this into the body.
+- Now, sew/serge the ribbing to the body
diff --git a/sites/orgdocs/docs/designs/sven/options/acrossbackfactor/acrossbackfactor.svg b/sites/orgdocs/docs/designs/sven/options/acrossbackfactor/acrossbackfactor.svg
new file mode 100644
index 00000000000..02eb76aef9e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/acrossbackfactor/acrossbackfactor.svg
@@ -0,0 +1,1366 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/acrossbackfactor/readme.mdx b/sites/orgdocs/docs/designs/sven/options/acrossbackfactor/readme.mdx
new file mode 100644
index 00000000000..e885fb27970
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/acrossbackfactor/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Across back factor'
+---
+
+
+
+Controls your across back width as a factor of your shoulder to shoulder measurement
diff --git a/sites/orgdocs/docs/designs/sven/options/armholedepth/armholedepthfactor.svg b/sites/orgdocs/docs/designs/sven/options/armholedepth/armholedepthfactor.svg
new file mode 100644
index 00000000000..16f9bd32328
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/armholedepth/armholedepthfactor.svg
@@ -0,0 +1,58 @@
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/armholedepth/readme.mdx b/sites/orgdocs/docs/designs/sven/options/armholedepth/readme.mdx
new file mode 100644
index 00000000000..409d4fbfe44
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/armholedepth/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Armhole depth'
+---
+
+This option controls the depth of the armhole.
+
+This option applies to the new v3 way of calculating the armhole depth.
+If you enable the [legacy armhole depth](/docs/designs/sven/options/legacyarmholedepth) option, this option will not apply, but instead it's legacy version [armhole depth factor](/docs/designs/sven/options/armholedepthfactor) will.
diff --git a/sites/orgdocs/docs/designs/sven/options/armholedepthfactor/readme.mdx b/sites/orgdocs/docs/designs/sven/options/armholedepthfactor/readme.mdx
new file mode 100644
index 00000000000..ee7f7bd7cb1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/armholedepthfactor/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Armhole depth factor'
+---
+
+This option controls the depth of the armhole.
diff --git a/sites/orgdocs/docs/designs/sven/options/backneckcutout/readme.mdx b/sites/orgdocs/docs/designs/sven/options/backneckcutout/readme.mdx
new file mode 100644
index 00000000000..93304ab45f5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/backneckcutout/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Back neck cutout'
+---
+
+Controls how deep the neck opening is cut out in the back of the garment.
+In other words, increasing this will shift the neck opening to the back.
diff --git a/sites/orgdocs/docs/designs/sven/options/bicepsease/bicepsease.svg b/sites/orgdocs/docs/designs/sven/options/bicepsease/bicepsease.svg
new file mode 100644
index 00000000000..ed43a7f7ea3
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/bicepsease/bicepsease.svg
@@ -0,0 +1,1277 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/bicepsease/readme.mdx b/sites/orgdocs/docs/designs/sven/options/bicepsease/readme.mdx
new file mode 100644
index 00000000000..dd89bdc21d5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/bicepsease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Biceps ease'
+---
+
+
+
+How much room do you want at your upper arm?
diff --git a/sites/orgdocs/docs/designs/sven/options/chestease/chestease.svg b/sites/orgdocs/docs/designs/sven/options/chestease/chestease.svg
new file mode 100644
index 00000000000..33570bc8d76
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/chestease/chestease.svg
@@ -0,0 +1,1233 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/chestease/readme.mdx b/sites/orgdocs/docs/designs/sven/options/chestease/readme.mdx
new file mode 100644
index 00000000000..9b9f981ec20
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/chestease/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Chest ease'
+---
+
+
+
+How much room do you want at the chest?
+Whatever value you provide here will simply be added to your chest circumference measurement when drafting the garment.
diff --git a/sites/orgdocs/docs/designs/sven/options/collarease/readme.mdx b/sites/orgdocs/docs/designs/sven/options/collarease/readme.mdx
new file mode 100644
index 00000000000..24633794c0b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/collarease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Collar ease'
+---
+
+Controls the amount of ease at your collar/neck.
diff --git a/sites/orgdocs/docs/designs/sven/options/cuffease/cuffease.svg b/sites/orgdocs/docs/designs/sven/options/cuffease/cuffease.svg
new file mode 100644
index 00000000000..f9db441c6d5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/cuffease/cuffease.svg
@@ -0,0 +1,1277 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/cuffease/readme.mdx b/sites/orgdocs/docs/designs/sven/options/cuffease/readme.mdx
new file mode 100644
index 00000000000..3df8aba0887
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/cuffease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Cuff ease'
+---
+
+
+
+How much room do you want at your wrist?
diff --git a/sites/orgdocs/docs/designs/sven/options/draftforhighbust/readme.mdx b/sites/orgdocs/docs/designs/sven/options/draftforhighbust/readme.mdx
new file mode 100644
index 00000000000..8c2cc640d21
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/draftforhighbust/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: Draft for high bust
+---
+
+Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts.
diff --git a/sites/orgdocs/docs/designs/sven/options/frontarmholedeeper/readme.mdx b/sites/orgdocs/docs/designs/sven/options/frontarmholedeeper/readme.mdx
new file mode 100644
index 00000000000..597175fe44e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/frontarmholedeeper/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Front armhole extra cutout'
+---
+
+Controls how much the front of the armhole is cut deeper into the garment than the back.
+
+Since the human shoulder is more rounded at the front of the body, the sleeve(cap) is more
+rounded there too, and the armhole is typically cut deeper into the front of the garment than
+the back. This option controls how much deeper.
diff --git a/sites/orgdocs/docs/designs/sven/options/hipsease/readme.mdx b/sites/orgdocs/docs/designs/sven/options/hipsease/readme.mdx
new file mode 100644
index 00000000000..b34c1f41b66
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/hipsease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Hips ease'
+---
+
+---
+
+Controls the amount of ease at your hips (the bottom of the sweater)
diff --git a/sites/orgdocs/docs/designs/sven/options/legacyarmholedepth/readme.mdx b/sites/orgdocs/docs/designs/sven/options/legacyarmholedepth/readme.mdx
new file mode 100644
index 00000000000..7833b859641
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/legacyarmholedepth/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Legacy armhole depth'
+---
+
+This option allows you to use the legacy way of calculating the armhole depth in Brian, which Sven extends.
+
+The legacy (v2) way used the biceps circumference to estimate the armhole depth.
+
+The v3 way instead uses the waist to armpit measurement to locate the bottom of the armhole.
+
+If you enable this option, the Brian block will revert to the v2 way of calculating the armhole depth, and Sven will follow.
diff --git a/sites/orgdocs/docs/designs/sven/options/lengthbonus/lengthbonus.svg b/sites/orgdocs/docs/designs/sven/options/lengthbonus/lengthbonus.svg
new file mode 100644
index 00000000000..44a13702f66
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/lengthbonus/lengthbonus.svg
@@ -0,0 +1,1173 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/lengthbonus/readme.mdx b/sites/orgdocs/docs/designs/sven/options/lengthbonus/readme.mdx
new file mode 100644
index 00000000000..1fa2ccaf98e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/lengthbonus/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Length bonus'
+---
+
+
+
+This option will lengthen the body of your sweatshirt.
diff --git a/sites/orgdocs/docs/designs/sven/options/ribbing/readme.mdx b/sites/orgdocs/docs/designs/sven/options/ribbing/readme.mdx
new file mode 100644
index 00000000000..2421b018230
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/ribbing/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Ribbing'
+---
+
+
+
+Do you want ribbing at the hem/cuffs or not?
diff --git a/sites/orgdocs/docs/designs/sven/options/ribbing/ribbing.svg b/sites/orgdocs/docs/designs/sven/options/ribbing/ribbing.svg
new file mode 100644
index 00000000000..376fa7f753b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/ribbing/ribbing.svg
@@ -0,0 +1,683 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/ribbingheight/readme.mdx b/sites/orgdocs/docs/designs/sven/options/ribbingheight/readme.mdx
new file mode 100644
index 00000000000..b00797df36e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/ribbingheight/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Ribbing height'
+---
+
+
+
+The height of the ribbing at the hem/cuffs.
diff --git a/sites/orgdocs/docs/designs/sven/options/ribbingheight/ribbingheight.svg b/sites/orgdocs/docs/designs/sven/options/ribbingheight/ribbingheight.svg
new file mode 100644
index 00000000000..89c876af320
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/ribbingheight/ribbingheight.svg
@@ -0,0 +1,1175 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/ribbingstretch/readme.mdx b/sites/orgdocs/docs/designs/sven/options/ribbingstretch/readme.mdx
new file mode 100644
index 00000000000..7306887515b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/ribbingstretch/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Ribbing stretch'
+---
+
+
+
+The amount of stretch we should foresee for the ribbing at the hem/cuffs.
diff --git a/sites/orgdocs/docs/designs/sven/options/ribbingstretch/ribbingstretch.svg b/sites/orgdocs/docs/designs/sven/options/ribbingstretch/ribbingstretch.svg
new file mode 100644
index 00000000000..edfc8ece71c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/ribbingstretch/ribbingstretch.svg
@@ -0,0 +1,1311 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/s3armhole/readme.mdx b/sites/orgdocs/docs/designs/sven/options/s3armhole/readme.mdx
new file mode 100644
index 00000000000..f179cd2081a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/s3armhole/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Shoulder seam shift: armhole side'
+---
+
+Controls the shoulder seam location on the armhole side.
+
+- Increase this option to shift the shoulder seam forward on the armhole side
+- Decrease this option to shift the shoulder seam backward on the armhole side
diff --git a/sites/orgdocs/docs/designs/sven/options/s3collar/readme.mdx b/sites/orgdocs/docs/designs/sven/options/s3collar/readme.mdx
new file mode 100644
index 00000000000..96c213979e2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/s3collar/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Shoulder seam shift: collar side'
+---
+
+Controls the shoulder seam location on the collar side.
+
+- Increase this option to shift the shoulder seam forward on the collar side
+- Decrease this option to shift the shoulder seam backward on the collar side
diff --git a/sites/orgdocs/docs/designs/sven/options/shoulderease/readme.mdx b/sites/orgdocs/docs/designs/sven/options/shoulderease/readme.mdx
new file mode 100644
index 00000000000..72cc5f440af
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/shoulderease/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Shoulder ease'
+---
+
+Controls the amount of ease on the shoulder to shoulder measurement.
+
+This option allows you to create some extra ease at the shoulders which shifts
+the shoulder seam more outwards and off the shoulder. Thereby creating extra room
+for extra layers of clothing underneath, or more shaped/padded shoulders.
diff --git a/sites/orgdocs/docs/designs/sven/options/shoulderslopereduction/readme.mdx b/sites/orgdocs/docs/designs/sven/options/shoulderslopereduction/readme.mdx
new file mode 100644
index 00000000000..56644673143
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/shoulderslopereduction/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: Shoulder slope reduction
+---
+
+The amount by which the shoulder slope is reduced to allow for shoulder padding.
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecap.svg b/sites/orgdocs/docs/designs/sven/options/sleevecap.svg
new file mode 100644
index 00000000000..34eca409502
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecap.svg
@@ -0,0 +1,446 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapanchor.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapanchor.svg
new file mode 100644
index 00000000000..802276f7e75
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapanchor.svg
@@ -0,0 +1,559 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapbackfactorx/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapbackfactorx/readme.mdx
new file mode 100644
index 00000000000..c60cf320a1d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapbackfactorx/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap back X'
+---
+
+import Sleevecapbackfactorx from '../../../brian/options/sleevecapbackfactorx/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapbackfactorx/sleevecapbackfactorx.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapbackfactorx/sleevecapbackfactorx.svg
new file mode 100644
index 00000000000..5e8e35dd35c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapbackfactorx/sleevecapbackfactorx.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapbackfactory/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapbackfactory/readme.mdx
new file mode 100644
index 00000000000..c9550f3b929
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapbackfactory/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap back Y'
+---
+
+import Sleevecapbackfactory from '../../../brian/options/sleevecapbackfactory/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapbackfactory/sleevecapbackfactory.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapbackfactory/sleevecapbackfactory.svg
new file mode 100644
index 00000000000..8348fbf7c7f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapbackfactory/sleevecapbackfactory.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapease/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapease/readme.mdx
new file mode 100644
index 00000000000..9fc924e8da9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap ease'
+---
+
+import Sleevecapease from '../../../brian/options/sleevecapease/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapfrontfactorx/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapfrontfactorx/readme.mdx
new file mode 100644
index 00000000000..c28842dfa36
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapfrontfactorx/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap front X'
+---
+
+import Sleevecapfrontfactorx from '../../../brian/options/sleevecapfrontfactorx/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapfrontfactorx/sleevecapfrontfactorx.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapfrontfactorx/sleevecapfrontfactorx.svg
new file mode 100644
index 00000000000..d58c9899afb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapfrontfactorx/sleevecapfrontfactorx.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapfrontfactory/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapfrontfactory/readme.mdx
new file mode 100644
index 00000000000..e340b3e2997
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapfrontfactory/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap front Y'
+---
+
+import Sleevecapfrontfactory from '../../../brian/options/sleevecapfrontfactory/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapfrontfactory/sleevecapfrontfactory.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapfrontfactory/sleevecapfrontfactory.svg
new file mode 100644
index 00000000000..e09d00f3d0f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapfrontfactory/sleevecapfrontfactory.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapinflection.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapinflection.svg
new file mode 100644
index 00000000000..f53517d2a1c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapinflection.svg
@@ -0,0 +1,538 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq1offset/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapq1offset/readme.mdx
new file mode 100644
index 00000000000..297c8a03db5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq1offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q1 offset'
+---
+
+import Sleevecapq1offset from '../../../brian/options/sleevecapq1offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq1offset/sleevecapq1offset.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapq1offset/sleevecapq1offset.svg
new file mode 100644
index 00000000000..f0a2d726ec9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq1offset/sleevecapq1offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq1spread1/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapq1spread1/readme.mdx
new file mode 100644
index 00000000000..5b0640411ad
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq1spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q1 downward spread'
+---
+
+import Sleevecapq1spread1 from '../../../brian/options/sleevecapq1spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq1spread1/sleevecapq1downwardspread.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapq1spread1/sleevecapq1downwardspread.svg
new file mode 100644
index 00000000000..6914bc68fa8
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq1spread1/sleevecapq1downwardspread.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq1spread2/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapq1spread2/readme.mdx
new file mode 100644
index 00000000000..620d20282ae
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq1spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q1 upward spread'
+---
+
+import Sleevecapq1spread2 from '../../../brian/options/sleevecapq1spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq1spread2/sleevecapq1spread2.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapq1spread2/sleevecapq1spread2.svg
new file mode 100644
index 00000000000..f369a220f5e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq1spread2/sleevecapq1spread2.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq2offset/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapq2offset/readme.mdx
new file mode 100644
index 00000000000..8be512f441f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq2offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q2 offset'
+---
+
+import Sleevecapq2offset from '../../../brian/options/sleevecapq2offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq2offset/sleevecapq2offset.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapq2offset/sleevecapq2offset.svg
new file mode 100644
index 00000000000..dcc88d098f0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq2offset/sleevecapq2offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq2spread1/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapq2spread1/readme.mdx
new file mode 100644
index 00000000000..e886723af40
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq2spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q2 downward spread'
+---
+
+import Sleevecapq2spread1 from '../../../brian/options/sleevecapq2spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq2spread1/sleevecapq2spread1.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapq2spread1/sleevecapq2spread1.svg
new file mode 100644
index 00000000000..5197ed0114a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq2spread1/sleevecapq2spread1.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq2spread2/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapq2spread2/readme.mdx
new file mode 100644
index 00000000000..52328926e56
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq2spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q2 upward spread'
+---
+
+import Sleevecapq2spread2 from '../../../brian/options/sleevecapq2spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq2spread2/sleevecapq2spread2.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapq2spread2/sleevecapq2spread2.svg
new file mode 100644
index 00000000000..222d43e460d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq2spread2/sleevecapq2spread2.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq3offset/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapq3offset/readme.mdx
new file mode 100644
index 00000000000..a71ffa9699c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq3offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q3 offset'
+---
+
+import Sleevecapq3offset from '../../../brian/options/sleevecapq3offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq3offset/sleevecapq3offset.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapq3offset/sleevecapq3offset.svg
new file mode 100644
index 00000000000..ac048c72247
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq3offset/sleevecapq3offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq3spread1/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapq3spread1/readme.mdx
new file mode 100644
index 00000000000..a2739198520
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq3spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q3 upward spread'
+---
+
+import Sleevecapq3spread1 from '../../../brian/options/sleevecapq3spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq3spread1/sleevecapq3spread1.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapq3spread1/sleevecapq3spread1.svg
new file mode 100644
index 00000000000..1649c2c5cc9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq3spread1/sleevecapq3spread1.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq3spread2/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapq3spread2/readme.mdx
new file mode 100644
index 00000000000..fc47b2ac5d4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq3spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q3 downward spread'
+---
+
+import Sleevecapq3spread2 from '../../../brian/options/sleevecapq3spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq3spread2/sleevecapq3spread2.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapq3spread2/sleevecapq3spread2.svg
new file mode 100644
index 00000000000..79135108ba0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq3spread2/sleevecapq3spread2.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq4offset/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapq4offset/readme.mdx
new file mode 100644
index 00000000000..592ea036d98
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq4offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q4 offset'
+---
+
+import Sleevecapq4offset from '../../../brian/options/sleevecapq4offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq4offset/sleevecapq4offset.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapq4offset/sleevecapq4offset.svg
new file mode 100644
index 00000000000..b5877e2c0a1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq4offset/sleevecapq4offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq4spread1/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapq4spread1/readme.mdx
new file mode 100644
index 00000000000..1249891c72a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq4spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q4 upward spread'
+---
+
+import Sleevecapq4spread1 from '../../../brian/options/sleevecapq4spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq4spread1/sleevecapq4spread1.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapq4spread1/sleevecapq4spread1.svg
new file mode 100644
index 00000000000..42f42a721fe
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq4spread1/sleevecapq4spread1.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq4spread2/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecapq4spread2/readme.mdx
new file mode 100644
index 00000000000..642aedb9aeb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq4spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q4 downward spread'
+---
+
+import Sleevecapq4spread2 from '../../../brian/options/sleevecapq4spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapq4spread2/sleevecapq4spread2.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapq4spread2/sleevecapq4spread2.svg
new file mode 100644
index 00000000000..b84e4d0c6c7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapq4spread2/sleevecapq4spread2.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecapspread.svg b/sites/orgdocs/docs/designs/sven/options/sleevecapspread.svg
new file mode 100644
index 00000000000..9878d2f0943
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecapspread.svg
@@ -0,0 +1,584 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecaptop.svg b/sites/orgdocs/docs/designs/sven/options/sleevecaptop.svg
new file mode 100644
index 00000000000..39e7bb71c33
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecaptop.svg
@@ -0,0 +1,488 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecaptopfactorx/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecaptopfactorx/readme.mdx
new file mode 100644
index 00000000000..cff54c21b3e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecaptopfactorx/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap top X'
+---
+
+import Sleevecaptopfactorx from '../../../brian/options/sleevecaptopfactorx/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecaptopfactorx/sleevecaptopfactorx.svg b/sites/orgdocs/docs/designs/sven/options/sleevecaptopfactorx/sleevecaptopfactorx.svg
new file mode 100644
index 00000000000..be96935d057
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecaptopfactorx/sleevecaptopfactorx.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecaptopfactory/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevecaptopfactory/readme.mdx
new file mode 100644
index 00000000000..f528ca6c09f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecaptopfactory/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap top Y'
+---
+
+import Sleevecaptopfactory from '../../../brian/options/sleevecaptopfactory/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevecaptopfactory/sleevecaptopfactory.svg b/sites/orgdocs/docs/designs/sven/options/sleevecaptopfactory/sleevecaptopfactory.svg
new file mode 100644
index 00000000000..cd55923d35e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevecaptopfactory/sleevecaptopfactory.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevelengthbonus/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevelengthbonus/readme.mdx
new file mode 100644
index 00000000000..c3c4606e5b5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevelengthbonus/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleeve length bonus'
+---
+
+
+
+This option will lengthen the sleeves of your sweatshirt.
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevelengthbonus/sleevelengthbonus.svg b/sites/orgdocs/docs/designs/sven/options/sleevelengthbonus/sleevelengthbonus.svg
new file mode 100644
index 00000000000..b41a7bd52cc
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevelengthbonus/sleevelengthbonus.svg
@@ -0,0 +1,1174 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/sven/options/sleevewidthguarantee/readme.mdx b/sites/orgdocs/docs/designs/sven/options/sleevewidthguarantee/readme.mdx
new file mode 100644
index 00000000000..e3b31b6863a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/options/sleevewidthguarantee/readme.mdx
@@ -0,0 +1,17 @@
+---
+title: 'Sleeve width guarantee'
+---
+
+We first draft the arm opening, then we draft a sleeve to fit it.
+
+When all goes well, the sleeve fits perfectly, and this option is not relevant.
+However, if/when the sleeve does not perfectly fit the arm opening, we need to adapt it.
+
+Since the shape and height of the sleevecap are more important than the width, we tend to
+prefer adjusting the width to fit the sleevecap.
+
+To avoid the sleeve getting too narrow, we only adapt a portion of the sleeve width.
+This option allows you to control how much of the sleeve width is guaranteed.
+Increasing this option will allow us less of the width to play with to fit the sleeve.
+This way, the resulting sleeve will be closer to the theoretical sleeve width, and we
+will instead modify (more of) the sleevecap height to fit the sleeve.
diff --git a/sites/orgdocs/docs/designs/sven/readme.mdx b/sites/orgdocs/docs/designs/sven/readme.mdx
new file mode 100644
index 00000000000..d844dcd3d39
--- /dev/null
+++ b/sites/orgdocs/docs/designs/sven/readme.mdx
@@ -0,0 +1,61 @@
+---
+title: "Sven: FreeSewing's Sven Sweatshirt"
+sidebar_label: Sven Sweatshirt
+---
+
+
+
+## Designer Notes {#notes}
+
+I don't knit, but I do tend to be cold all the time. So I do like sweaters.
+Hence why I designed this sweater pattern, because I prefer to make clothes
+rather than buy them.
+
+It's a pretty simple design, essentially a light variation of the [Brian
+block](https://freesewing.org/designs/brian) that it is based on.
+
+joost
+
+## What You Need {#needs}
+
+To make Sven, you will need the following:
+
+- Basic sewing supplies
+- About 1.75 meters (1.9 yards) of a suitable fabric ([see Fabric
+ options](#fabric))
+- Ribbing fabric for the cuffs and neck opening
+
+:::note A serger/overlock is nice, but optional
+
+As with all knitwear and stretch fabrics, a serger/overlock will make your life easier.
+
+If you do not have one of those, don't despair. You don't really need it.
+Because these side seams and shoulder seams won't get stretched out, you can just sew them with a regular straight stitch.
+:::
+
+## Fabric Options {#fabric}
+
+Sven can be any sweatshirt you want it to be. From wovens to knit or even
+scuba, you can't really go wrong as long as you stick with something that has a
+bit of weight to it.
+
+Have a look at [the Sven showcases](https://freesewing.org/showcase#filter="sven") for inspiration.
+
+## Cutting Instructions {#cutting}
+
+Sven is a very simply pattern, and consists of two main parts plus some strips
+for the neck and armhole binding.
+
+- **Main fabric**
+ - Cut **1 back** on the fold
+ - Cut **1 front** on the fold
+ - Cut **2 sleeves** with good sides together
+- **Ribbing fabric**
+ - Cut **1 strip** for the neck opening binding
+ - Cut **2 strips** for the cuffs
+ - Cut **1 strip** for the hem
+
+:::warning Caveats
+The ribbing parts are not included on the pattern because they're just
+rectangular.
+:::
diff --git a/sites/orgdocs/docs/designs/tamiko/instructions/readme.mdx b/sites/orgdocs/docs/designs/tamiko/instructions/readme.mdx
new file mode 100644
index 00000000000..d83a467ffdc
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tamiko/instructions/readme.mdx
@@ -0,0 +1,27 @@
+---
+title: 'Tamiko top: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+## Step 1: Finish the armhole seam
+
+
+
+- Finish the armhole seam with a narrow hem.
+
+## Step 2: Finish the top
+
+
+
+:::note
+As your top is folded, it's a good idea to pin both halves together.
+This way, your top can't shift around while we finish it.
+:::
+
+- Sew the three seamlines that are marked on your draft. F-H, C and I-J in the
+ diagram, represented by lines and notches on the pattern.
+
+## Step 3: Enjoy!
+
+Now enjoy your new top and it's zero waste properties!
diff --git a/sites/orgdocs/docs/designs/tamiko/instructions/step03.png b/sites/orgdocs/docs/designs/tamiko/instructions/step03.png
new file mode 100644
index 00000000000..b38448f7efc
Binary files /dev/null and b/sites/orgdocs/docs/designs/tamiko/instructions/step03.png differ
diff --git a/sites/orgdocs/docs/designs/tamiko/instructions/step04.png b/sites/orgdocs/docs/designs/tamiko/instructions/step04.png
new file mode 100644
index 00000000000..d80bd8f7b6a
Binary files /dev/null and b/sites/orgdocs/docs/designs/tamiko/instructions/step04.png differ
diff --git a/sites/orgdocs/docs/designs/tamiko/options/armholedepthfactor/readme.mdx b/sites/orgdocs/docs/designs/tamiko/options/armholedepthfactor/readme.mdx
new file mode 100644
index 00000000000..666615fbb18
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tamiko/options/armholedepthfactor/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Armhole depth factor'
+---
+
+Controls the depth of your armhole, as a factor of your shoulder to shoulder measurement.
diff --git a/sites/orgdocs/docs/designs/tamiko/options/chestease/readme.mdx b/sites/orgdocs/docs/designs/tamiko/options/chestease/readme.mdx
new file mode 100644
index 00000000000..087f1ef5c15
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tamiko/options/chestease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Chest ease'
+---
+
+The amount of ease at your chest.
diff --git a/sites/orgdocs/docs/designs/tamiko/options/draftforhighbust/readme.mdx b/sites/orgdocs/docs/designs/tamiko/options/draftforhighbust/readme.mdx
new file mode 100644
index 00000000000..8c2cc640d21
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tamiko/options/draftforhighbust/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: Draft for high bust
+---
+
+Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts.
diff --git a/sites/orgdocs/docs/designs/tamiko/options/flare/readme.mdx b/sites/orgdocs/docs/designs/tamiko/options/flare/readme.mdx
new file mode 100644
index 00000000000..526ccdfba70
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tamiko/options/flare/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Flare'
+---
+
+The angle by which the garment flares out from your chest downwards.
diff --git a/sites/orgdocs/docs/designs/tamiko/options/lengthbonus/lengthbonus.svg b/sites/orgdocs/docs/designs/tamiko/options/lengthbonus/lengthbonus.svg
new file mode 100644
index 00000000000..4e22830faec
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tamiko/options/lengthbonus/lengthbonus.svg
@@ -0,0 +1,312 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/tamiko/options/lengthbonus/readme.mdx b/sites/orgdocs/docs/designs/tamiko/options/lengthbonus/readme.mdx
new file mode 100644
index 00000000000..c6b3e9c2a20
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tamiko/options/lengthbonus/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Length bonus'
+---
+
+
+
+How much longer than the default length to make your top.
diff --git a/sites/orgdocs/docs/designs/tamiko/options/shoulderseamlength/readme.mdx b/sites/orgdocs/docs/designs/tamiko/options/shoulderseamlength/readme.mdx
new file mode 100644
index 00000000000..9c29ac240d1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tamiko/options/shoulderseamlength/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Shoulder seam length'
+---
+
+The length of the shoulder seam, as a factor of your shoulder to shoulder measurement.
diff --git a/sites/orgdocs/docs/designs/tamiko/readme.mdx b/sites/orgdocs/docs/designs/tamiko/readme.mdx
new file mode 100644
index 00000000000..e5e05597565
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tamiko/readme.mdx
@@ -0,0 +1,45 @@
+---
+title: "Tamiko: FreeSewing's Tamiko Top"
+sidebar_label: Tamiko Top
+---
+
+
+
+## Designer Notes {#notes}
+
+I say a top similar to this when I was in Japan that I liked.
+So when I got home, I recreated it from memory.
+
+It's essentially a zero-waste pattern and _very_ easy to make.
+
+joost
+
+## What You Need {#needs}
+
+To make Tamiko, you will need the following:
+
+- Basic sewing supplies
+- About 1 meter (1.1 yards) of a suitable fabric ([see Fabric
+ options](#fabric))
+
+## Fabric Options {#fabric}
+
+This pattern has a lot of unfinished edges, so you need something that does not
+ravel. And you want to go for something with a nice drape.
+
+Long story short, go for a knitted fabric, or some light scuba or something. No
+wovens.
+
+## Cutting Instructions {#cutting}
+
+- **Main fabric**
+ - Cut **1 Tamiko top** on the fold
+
+Tamiko is a zero-waste pattern. It's a rectangle that's cut out on the fold.
+Not more than that. There's only one part to this top, we will simply refer to
+it at the **Tamiko top**. It needs to be cut on the fold along the bottom.
+
+:::warning Caveats
+
+- Cut out the armhole, but leave seam allowance
+ :::
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/readme.mdx b/sites/orgdocs/docs/designs/teagan/instructions/readme.mdx
new file mode 100644
index 00000000000..627f449c7ac
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/readme.mdx
@@ -0,0 +1,227 @@
+---
+title: 'Teagan T-shirt: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+## Step 1: Close the shoulder seams
+
+
+
+- Place the front and back on top of each other with [good sides
+ together](/docs/sewing/good-sides-together). Align the shoulder seams. - Serge
+ the shoulder seams, or stitch them with a narrow (~2 mm) zigzag stitch at the
+ standard seam allowance.
+
+:::note Optional
+In a drapier knit, you may choose to reinforce the shoulder seams by stitching
+clear elastic along the seam on the inside. On a T-shirt, the shoulder seams
+support most of the weight of the garment. Reinforcing is not required, but it
+can keep the shoulder seams from stretching over time.
+:::
+
+## Step 2: Set in the sleeves
+
+
+
+- Place your now attached front and back with the good side up. - Identify the
+ front and back sides of each of your sleeves. (This is how you separate the
+ left sleeve from the right.) On your paper pattern piece, the front side of the
+ sleeve is to the right. - Place a sleeve on top of the front and back, with
+ the good side down. - Align the top of the sleevecap with the shoulder seam.
+ Make sure that the front and back of the sleeve are aligned with the front and
+ back pieces of your shirt. - Pin sleeve in place along the entire armhole.
+ There’s a bit of sleevecap ease, which means that the sleevehead is slightly
+ longer than the armhole. Ease in the top part of the sleeve head while pinning.
+- Sew/serge your pinned sleeve in place. - Repeat for the other sleeve.
+
+## Step 3: Sew the neck finish
+
+There are two options for the neck finish on Teagan: a knit band or knit
+binding. Knit band is what you typically see on store-bought T-shirts, whereas
+knit binding is the finish you'll find on the Aaron A-Tank. Directions for both
+are given here.
+
+:::note
+This is the most complex step in making the Teagan T-shirt, but it just
+requires a bit of practice. Don’t worry, all you need to do is make a couple of
+these and you’ll be a pro in no time.
+:::
+
+### Option 1: knit band finish
+
+#### Place (the start of) your knit band
+
+
+
+- Fold your binding in half lengthwise (parallel to the longest side), and
+ press. - Put your T-shirt down with the back good side up, and place your band
+ strip on top of it, lining up the raw edges of the band with the raw edge of
+ the neck opening. - Your band should start at the center back of the neck
+ opening. - Now shift your binding strip 1cm beyond your starting point. This
+ little extra will guarantee we can join the two ends later.
+
+#### Sew band in place
+
+
+
+- Place your presser foot 3 cm along the knit band, so a 4 cm tail will be left
+ unstitched. This will help us join the ends together later. Then, sew around
+ the neck opening, stretching the band gently as you sew.
+
+:::note
+This stretching is the trickiest part. Many online tutorials will tell you to
+simply start with a band slightly smaller than the neck opening, and stretch to
+fit. While an option, this does not account for differences in fabric stretch
+and elasticity, and can result in a floppy or puckered neck finish. Stretching
+to fit the neck opening by feel is something that takes a bit of practice, but
+is a good skill to build for better finishes long-term.
+:::
+
+- Stop sewing 3 cm before the end, leaving a tail like we did at the beginning.
+
+#### Sew band ends together
+
+
+
+Now it's time to sew the ends of our knit band together.
+
+- Take the end of your knit band, and stretch it along the 3 cm separating it
+ from the start point as you would while sewing. On the band, mark where the
+ band reached the start point, or center back. Do the same for the other end.
+- Fold your T-shirt in whatever way makes it more easy for you to place both
+ band ends with good sides together, aligning the marks. Sew them together at
+ the marks.
+- You should now have a joined knit band.
+
+:::note
+6 cm is not much, but should be enough to get both edges comfortably under your sewing machine to sew them together.
+:::
+
+
+
+- Now that your band ends are joined together, it’s time to finish the last 6
+ cm, by stretching and sewing down the band as you did for the rest.
+
+Hurray! You've finished the trickiest part! Optionally, you can secure the raw
+edges by stitching them down to the T-shirt fabric, just inside the knit band
+with a zig-zag or coverlock stitch. This is not required, but it is a detail
+that you'll see on many ready-to-wear T-shirts, and it can help your neck band
+lie flat.
+
+
+
+### Option 2: knit binding finish
+
+:::tip
+
+A more extensive how-to on knit binding can be found in the [Aaron
+Instructions](/docs/designs/aaron/instructions).
+:::
+
+#### Place (the start of) your binding
+
+
+
+- Put your T-shirt down with the back good side up, and place your binding
+ strip on top of it with the good side down (as in, good sides together). Your
+ binding should start at the center back of the neck opening.
+- Align the long edge of your strip with the edge of your fabric so the strip
+ lies on top of the fabric (not in the opening). Place the corner on your
+ starting point.
+- Now shift your binding strip 1cm beyond your starting point. This little
+ extra will guarantee we can join the two ends later.
+
+#### Sew binding in place
+
+
+
+- Place your presser foot 3 cm along the knit binding, so a 3 cm tail will be
+ left unstitched. This will help us join the ends of the binding later. Then,
+ sew 1.5 cm from the edge around the neck opening, stretching the binding gently
+ as you sew. (Note: this is not the standard seam allowance.)
+- Stop sewing 3 cm before the end, leaving a tail like we did at the beginning.
+
+#### Mark and sew binding ends
+
+
+
+- With about 6cm left to go before we complete our circle, it’s time to sew the
+ ends of the binding together.
+- Take one of the edges, and stretch it along the 3cm separating it from the
+ start point as you would while sewing. On the binding, mark where the binding
+ reached the start point. Do the same for the other end.
+- Fold your T-shirt in whatever way makes it more easy for you to place both
+ binding ends with good sides together, aligning the marks. Sew them together at
+ the marks.
+
+:::note
+6 cm is not much, but should be enough to get both edges comfortably under your
+sewing machine to sew them together.
+:::
+
+
+
+- Now that your binding ends are joined together, it’s time to finish the last
+ 6cm of binding. Sew it down, staying 1.5cm from the edge as you did before.
+
+#### Fold knit binding to the back and sew down
+
+
+
+- Fold your binding fabric around the fabric of your T-shirt to the back. This
+ is how we’ll sew it down.
+- While the fabric is folded double at the front (hiding the fabric edge in the
+ process), there’s no need for that at the back. We will merely trim back the
+ edge later, given that knit doesn’t ravel. If we were to fold back the fabric
+ at the back too, it would only add bulk.
+- Now you’ll sew the binding down. From the right side of your fabric, sew
+ along the inner edge of your binding (furthest from the edge), making sure to
+ catch the binding at the back in the process.
+
+:::tip
+If you have a coverlock machine, that would be perfect for this seam.
+:::
+
+- You’ll have to, once again, stretch your binding a bit while doing this. But
+ this time, there’s an extra caveat to look out for.
+
+:::warning Beware of the uneven feed
+
+As your feed your binding through your sewing machine, the feed dogs will pull
+the bottom layer (back of your binding) forward.
+
+In a perfect world, all layers will follow smoothly. But more often than not,
+the top layer (front of your binding) tends to lag behind a bit. This causes
+your binding to not neatly fold around the edge of the fabric, but make ugly
+wrinkles.
+
+So watch out for this, and if you see it happening, stretch the under layer a
+bit extra to compensate. On the inside of your T-shirt, trim back the knit
+binding just outside of your seam to finish up.
+:::
+
+## Step 4: Close the side seams and sleeves
+
+
+
+- Fold your Teagan T-shirt double at the shoulder seams with good sides
+ together.
+- Align the side seams and sleeves and pin them together.
+- Serge/sew the side seam and continue sewing to close the arms all the way to
+ the sleeve hem.
+- Repeat on the other side.
+
+## Step 5: Finish hem and sleeves
+
+
+
+- Fold the hem upwards, to the inside, and sew it down. If you have a
+ coverlock, use it. If not, use a twin needle or zig-zag stitch to keep the seam
+ stretchable.
+- Repeat for the hem on each sleeve.
+
+:::tip Fold only once, to avoid bulk
+
+Knit fabric doesn’t ravel, so you can simply fold this over once and sew it down, then neatly trim back the fabric.
+:::
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step01.svg b/sites/orgdocs/docs/designs/teagan/instructions/step01.svg
new file mode 100644
index 00000000000..2e23113c70b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step01.svg
@@ -0,0 +1,160 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step02.svg b/sites/orgdocs/docs/designs/teagan/instructions/step02.svg
new file mode 100644
index 00000000000..726b9f5129c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step02.svg
@@ -0,0 +1,220 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step03a.svg b/sites/orgdocs/docs/designs/teagan/instructions/step03a.svg
new file mode 100644
index 00000000000..d4f0c9b5cca
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step03a.svg
@@ -0,0 +1,186 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step03b.svg b/sites/orgdocs/docs/designs/teagan/instructions/step03b.svg
new file mode 100644
index 00000000000..3329024d39c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step03b.svg
@@ -0,0 +1,205 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step03c.svg b/sites/orgdocs/docs/designs/teagan/instructions/step03c.svg
new file mode 100644
index 00000000000..d62e7710ba4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step03c.svg
@@ -0,0 +1,180 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step03d.svg b/sites/orgdocs/docs/designs/teagan/instructions/step03d.svg
new file mode 100644
index 00000000000..ea8eeecdce4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step03d.svg
@@ -0,0 +1,170 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step03e.svg b/sites/orgdocs/docs/designs/teagan/instructions/step03e.svg
new file mode 100644
index 00000000000..6dc942fa217
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step03e.svg
@@ -0,0 +1,195 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step03f.svg b/sites/orgdocs/docs/designs/teagan/instructions/step03f.svg
new file mode 100644
index 00000000000..829bfc9e171
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step03f.svg
@@ -0,0 +1,196 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step03g.svg b/sites/orgdocs/docs/designs/teagan/instructions/step03g.svg
new file mode 100644
index 00000000000..fae4d34ceba
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step03g.svg
@@ -0,0 +1,215 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step03h.svg b/sites/orgdocs/docs/designs/teagan/instructions/step03h.svg
new file mode 100644
index 00000000000..1035bd810f0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step03h.svg
@@ -0,0 +1,176 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step03i.svg b/sites/orgdocs/docs/designs/teagan/instructions/step03i.svg
new file mode 100644
index 00000000000..40d395ba077
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step03i.svg
@@ -0,0 +1,200 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step04.svg b/sites/orgdocs/docs/designs/teagan/instructions/step04.svg
new file mode 100644
index 00000000000..85eea330b55
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step04.svg
@@ -0,0 +1,266 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/instructions/step05.svg b/sites/orgdocs/docs/designs/teagan/instructions/step05.svg
new file mode 100644
index 00000000000..5af4895d028
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/instructions/step05.svg
@@ -0,0 +1,238 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/acrossbackfactor/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/acrossbackfactor/readme.mdx
new file mode 100644
index 00000000000..3a97c6c96f0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/acrossbackfactor/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Across back factor'
+---
+
+Controls your across back width as a factor of your shoulder to shoulder measurement
diff --git a/sites/orgdocs/docs/designs/teagan/options/armholedepth/armholedepthfactor.svg b/sites/orgdocs/docs/designs/teagan/options/armholedepth/armholedepthfactor.svg
new file mode 100644
index 00000000000..16f9bd32328
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/armholedepth/armholedepthfactor.svg
@@ -0,0 +1,58 @@
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/armholedepth/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/armholedepth/readme.mdx
new file mode 100644
index 00000000000..3c272aac7d2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/armholedepth/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Armhole depth'
+---
+
+This option controls the depth of the armhole.
+
+This option applies to the new v3 way of calculating the armhole depth.
+If you enable the [legacy armhole depth](/docs/designs/teagan/options/legacyarmholedepth) option, this option will not apply, but instead it's legacy version [armhole depth factor](/docs/designs/teagan/options/armholedepthfactor) will.
diff --git a/sites/orgdocs/docs/designs/teagan/options/armholedepthfactor/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/armholedepthfactor/readme.mdx
new file mode 100644
index 00000000000..ee7f7bd7cb1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/armholedepthfactor/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Armhole depth factor'
+---
+
+This option controls the depth of the armhole.
diff --git a/sites/orgdocs/docs/designs/teagan/options/backneckcutout/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/backneckcutout/readme.mdx
new file mode 100644
index 00000000000..93304ab45f5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/backneckcutout/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Back neck cutout'
+---
+
+Controls how deep the neck opening is cut out in the back of the garment.
+In other words, increasing this will shift the neck opening to the back.
diff --git a/sites/orgdocs/docs/designs/teagan/options/chestease/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/chestease/readme.mdx
new file mode 100644
index 00000000000..f75ec6cd7b9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/chestease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Chest ease'
+---
+
+Controls the amount of ease at your chest
diff --git a/sites/orgdocs/docs/designs/teagan/options/draftforhighbust/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/draftforhighbust/readme.mdx
new file mode 100644
index 00000000000..e97d416c742
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/draftforhighbust/readme.mdx
@@ -0,0 +1,28 @@
+---
+title: 'Draft for high bust'
+---
+
+Choose this option to draft Teagan to your high bust measurement,
+rather than your full chest circumference.
+
+This option is specifically for people with breasts. Enabling it
+will draft Teagan to your high bust measurement and let ease and
+stretch fit your breasts.
+
+This gives you what is generally considered to be a more flattering
+fit.
+
+If you don't enable this option, Teagan will essentially be drafted
+for a body without breasts that has the same chest circumference as
+your body with breasts. This will cause a bunch of extra fabric
+at the chest and armholes that will make the T-shirt look like
+a poor fit.
+
+Enable this option and we'll draft to your high bust, fitting your
+body without breasts as it were, and then allowing your breasts to
+fill out the T-shirt's ease (and possibly stretch depending on your
+high bust / bust ratio).
+
+:::tip
+This option has no effect when there's no high bust measurement provided
+:::
diff --git a/sites/orgdocs/docs/designs/teagan/options/fitwaist/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/fitwaist/readme.mdx
new file mode 100644
index 00000000000..f5eac8310b2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/fitwaist/readme.mdx
@@ -0,0 +1,12 @@
+---
+title: 'Fit the waist'
+---
+
+Enable this option to fit the waist of your Teagan, rather than draft a
+straight T-shirt shape.
+
+This will yield best results for those with a smaller waist who are looking for
+a more hourglass-shaped fitted T-shirt.
+
+If your waist is larger than your hips, you should not enable this option as
+you may end up with a T-shirt that you can't get in to.
diff --git a/sites/orgdocs/docs/designs/teagan/options/frontarmholedeeper/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/frontarmholedeeper/readme.mdx
new file mode 100644
index 00000000000..a2fd2c00a97
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/frontarmholedeeper/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: Front armhole extra cutout
+---
+
+How much do you want the front armhole to be cut out deeper than the back.
diff --git a/sites/orgdocs/docs/designs/teagan/options/hipsease/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/hipsease/readme.mdx
new file mode 100644
index 00000000000..0078f74621c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/hipsease/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Hips ease'
+---
+
+Controls the amount of ease at the hips.
+In other words, this controls the ease at the bottom of your T-shirt
diff --git a/sites/orgdocs/docs/designs/teagan/options/legacyarmholedepth/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/legacyarmholedepth/readme.mdx
new file mode 100644
index 00000000000..eaf773b9d34
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/legacyarmholedepth/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Legacy armhole depth'
+---
+
+This option allows you to use the legacy way of calculating the armhole depth in Brian, which Teagan extends.
+
+The legacy (v2) way used the biceps circumference to estimate the armhole depth.
+
+The v3 way instead uses the waist to armpit measurement to locate the bottom of the armhole.
+
+If you enable this option, the Brian block will revert to the v2 way of calculating the armhole depth, and Teagan will follow.
diff --git a/sites/orgdocs/docs/designs/teagan/options/lengthbonus/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/lengthbonus/readme.mdx
new file mode 100644
index 00000000000..5fcbbfd0216
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/lengthbonus/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Length bonus'
+---
+
+Controls how much longer than the default you want your T-shirt to be.
diff --git a/sites/orgdocs/docs/designs/teagan/options/necklinebend/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/necklinebend/readme.mdx
new file mode 100644
index 00000000000..148910aed5c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/necklinebend/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Neckline curvature'
+---
+
+Controls the curvature of the neck opening.
diff --git a/sites/orgdocs/docs/designs/teagan/options/necklinedepth/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/necklinedepth/readme.mdx
new file mode 100644
index 00000000000..b2442236590
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/necklinedepth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Neckline depth'
+---
+
+Controls the depth of the neck opening.
diff --git a/sites/orgdocs/docs/designs/teagan/options/necklinewidth/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/necklinewidth/readme.mdx
new file mode 100644
index 00000000000..9b7ca6c2497
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/necklinewidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Neckline width'
+---
+
+Controls the width of the neck opening.
diff --git a/sites/orgdocs/docs/designs/teagan/options/shoulderslopereduction/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/shoulderslopereduction/readme.mdx
new file mode 100644
index 00000000000..56644673143
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/shoulderslopereduction/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: Shoulder slope reduction
+---
+
+The amount by which the shoulder slope is reduced to allow for shoulder padding.
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapbackfactorx/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapbackfactorx/readme.mdx
new file mode 100644
index 00000000000..c60cf320a1d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapbackfactorx/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap back X'
+---
+
+import Sleevecapbackfactorx from '../../../brian/options/sleevecapbackfactorx/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapbackfactorx/sleevecapbackfactorx.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapbackfactorx/sleevecapbackfactorx.svg
new file mode 100644
index 00000000000..5e8e35dd35c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapbackfactorx/sleevecapbackfactorx.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapbackfactory/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapbackfactory/readme.mdx
new file mode 100644
index 00000000000..c9550f3b929
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapbackfactory/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap back Y'
+---
+
+import Sleevecapbackfactory from '../../../brian/options/sleevecapbackfactory/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapbackfactory/sleevecapbackfactory.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapbackfactory/sleevecapbackfactory.svg
new file mode 100644
index 00000000000..8348fbf7c7f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapbackfactory/sleevecapbackfactory.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapease/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapease/readme.mdx
new file mode 100644
index 00000000000..9fc924e8da9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap ease'
+---
+
+import Sleevecapease from '../../../brian/options/sleevecapease/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapfrontfactorx/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapfrontfactorx/readme.mdx
new file mode 100644
index 00000000000..c28842dfa36
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapfrontfactorx/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap front X'
+---
+
+import Sleevecapfrontfactorx from '../../../brian/options/sleevecapfrontfactorx/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapfrontfactorx/sleevecapfrontfactorx.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapfrontfactorx/sleevecapfrontfactorx.svg
new file mode 100644
index 00000000000..d58c9899afb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapfrontfactorx/sleevecapfrontfactorx.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapfrontfactory/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapfrontfactory/readme.mdx
new file mode 100644
index 00000000000..e340b3e2997
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapfrontfactory/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap front Y'
+---
+
+import Sleevecapfrontfactory from '../../../brian/options/sleevecapfrontfactory/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapfrontfactory/sleevecapfrontfactory.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapfrontfactory/sleevecapfrontfactory.svg
new file mode 100644
index 00000000000..e09d00f3d0f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapfrontfactory/sleevecapfrontfactory.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq1offset/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapq1offset/readme.mdx
new file mode 100644
index 00000000000..297c8a03db5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq1offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q1 offset'
+---
+
+import Sleevecapq1offset from '../../../brian/options/sleevecapq1offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq1offset/sleevecapq1offset.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapq1offset/sleevecapq1offset.svg
new file mode 100644
index 00000000000..f0a2d726ec9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq1offset/sleevecapq1offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq1spread1/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapq1spread1/readme.mdx
new file mode 100644
index 00000000000..5b0640411ad
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq1spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q1 downward spread'
+---
+
+import Sleevecapq1spread1 from '../../../brian/options/sleevecapq1spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq1spread1/sleevecapq1downwardspread.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapq1spread1/sleevecapq1downwardspread.svg
new file mode 100644
index 00000000000..6914bc68fa8
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq1spread1/sleevecapq1downwardspread.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq1spread2/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapq1spread2/readme.mdx
new file mode 100644
index 00000000000..620d20282ae
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq1spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q1 upward spread'
+---
+
+import Sleevecapq1spread2 from '../../../brian/options/sleevecapq1spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq1spread2/sleevecapq1spread2.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapq1spread2/sleevecapq1spread2.svg
new file mode 100644
index 00000000000..f369a220f5e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq1spread2/sleevecapq1spread2.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq2offset/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapq2offset/readme.mdx
new file mode 100644
index 00000000000..8be512f441f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq2offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q2 offset'
+---
+
+import Sleevecapq2offset from '../../../brian/options/sleevecapq2offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq2offset/sleevecapq2offset.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapq2offset/sleevecapq2offset.svg
new file mode 100644
index 00000000000..dcc88d098f0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq2offset/sleevecapq2offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq2spread1/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapq2spread1/readme.mdx
new file mode 100644
index 00000000000..e886723af40
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq2spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q2 downward spread'
+---
+
+import Sleevecapq2spread1 from '../../../brian/options/sleevecapq2spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq2spread1/sleevecapq2spread1.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapq2spread1/sleevecapq2spread1.svg
new file mode 100644
index 00000000000..5197ed0114a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq2spread1/sleevecapq2spread1.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq2spread2/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapq2spread2/readme.mdx
new file mode 100644
index 00000000000..52328926e56
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq2spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q2 upward spread'
+---
+
+import Sleevecapq2spread2 from '../../../brian/options/sleevecapq2spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq2spread2/sleevecapq2spread2.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapq2spread2/sleevecapq2spread2.svg
new file mode 100644
index 00000000000..222d43e460d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq2spread2/sleevecapq2spread2.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq3offset/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapq3offset/readme.mdx
new file mode 100644
index 00000000000..a71ffa9699c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq3offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q3 offset'
+---
+
+import Sleevecapq3offset from '../../../brian/options/sleevecapq3offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq3offset/sleevecapq3offset.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapq3offset/sleevecapq3offset.svg
new file mode 100644
index 00000000000..ac048c72247
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq3offset/sleevecapq3offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq3spread1/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapq3spread1/readme.mdx
new file mode 100644
index 00000000000..a2739198520
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq3spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q3 upward spread'
+---
+
+import Sleevecapq3spread1 from '../../../brian/options/sleevecapq3spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq3spread1/sleevecapq3spread1.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapq3spread1/sleevecapq3spread1.svg
new file mode 100644
index 00000000000..1649c2c5cc9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq3spread1/sleevecapq3spread1.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq3spread2/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapq3spread2/readme.mdx
new file mode 100644
index 00000000000..fc47b2ac5d4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq3spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q3 downward spread'
+---
+
+import Sleevecapq3spread2 from '../../../brian/options/sleevecapq3spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq3spread2/sleevecapq3spread2.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapq3spread2/sleevecapq3spread2.svg
new file mode 100644
index 00000000000..79135108ba0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq3spread2/sleevecapq3spread2.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq4offset/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapq4offset/readme.mdx
new file mode 100644
index 00000000000..592ea036d98
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq4offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q4 offset'
+---
+
+import Sleevecapq4offset from '../../../brian/options/sleevecapq4offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq4offset/sleevecapq4offset.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapq4offset/sleevecapq4offset.svg
new file mode 100644
index 00000000000..b5877e2c0a1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq4offset/sleevecapq4offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq4spread1/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapq4spread1/readme.mdx
new file mode 100644
index 00000000000..1249891c72a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq4spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q4 upward spread'
+---
+
+import Sleevecapq4spread1 from '../../../brian/options/sleevecapq4spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq4spread1/sleevecapq4spread1.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapq4spread1/sleevecapq4spread1.svg
new file mode 100644
index 00000000000..42f42a721fe
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq4spread1/sleevecapq4spread1.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq4spread2/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecapq4spread2/readme.mdx
new file mode 100644
index 00000000000..642aedb9aeb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq4spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q4 downward spread'
+---
+
+import Sleevecapq4spread2 from '../../../brian/options/sleevecapq4spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecapq4spread2/sleevecapq4spread2.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecapq4spread2/sleevecapq4spread2.svg
new file mode 100644
index 00000000000..b84e4d0c6c7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecapq4spread2/sleevecapq4spread2.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecaptopfactorx/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecaptopfactorx/readme.mdx
new file mode 100644
index 00000000000..cff54c21b3e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecaptopfactorx/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap top X'
+---
+
+import Sleevecaptopfactorx from '../../../brian/options/sleevecaptopfactorx/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecaptopfactorx/sleevecaptopfactorx.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecaptopfactorx/sleevecaptopfactorx.svg
new file mode 100644
index 00000000000..be96935d057
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecaptopfactorx/sleevecaptopfactorx.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecaptopfactory/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevecaptopfactory/readme.mdx
new file mode 100644
index 00000000000..f528ca6c09f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecaptopfactory/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap top Y'
+---
+
+import Sleevecaptopfactory from '../../../brian/options/sleevecaptopfactory/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevecaptopfactory/sleevecaptopfactory.svg b/sites/orgdocs/docs/designs/teagan/options/sleevecaptopfactory/sleevecaptopfactory.svg
new file mode 100644
index 00000000000..cd55923d35e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevecaptopfactory/sleevecaptopfactory.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleeveease/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleeveease/readme.mdx
new file mode 100644
index 00000000000..bd56150ef4c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleeveease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Sleeve ease'
+---
+
+Controls the amount of ease at the sleeve/your arm.
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevelength/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevelength/readme.mdx
new file mode 100644
index 00000000000..4325f9b84b0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevelength/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Sleeve length'
+---
+
+Controls the length of the sleeves.
diff --git a/sites/orgdocs/docs/designs/teagan/options/sleevewidthguarantee/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/sleevewidthguarantee/readme.mdx
new file mode 100644
index 00000000000..dcfc9ccd4be
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/sleevewidthguarantee/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: Sleeve width guarantee
+---
+
+Controls how much of the sleeve width will be guaranteed. This determines how much we can alter the sleeve width to fit the sleeve in the armhole.
diff --git a/sites/orgdocs/docs/designs/teagan/options/waistease/readme.mdx b/sites/orgdocs/docs/designs/teagan/options/waistease/readme.mdx
new file mode 100644
index 00000000000..945c116669a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/options/waistease/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Waist ease'
+---
+
+If (and only if) you request to [fit the
+waist](/docs/designs/teagan/options#fitwaist), this option allows you to
+control the amount of ease at the waist.
+
+If the waist is not fitted, this option is ignored.
diff --git a/sites/orgdocs/docs/designs/teagan/readme.mdx b/sites/orgdocs/docs/designs/teagan/readme.mdx
new file mode 100644
index 00000000000..e7c9ee69ee7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/teagan/readme.mdx
@@ -0,0 +1,65 @@
+---
+title: "Teagan: FreeSewing's Teagan T-Shirt"
+sidebar_label: Teagan T-Shirt
+---
+
+
+
+## Designer Notes {#notes}
+
+This is my go-to T-shirt pattern for most of my T-shirts.
+
+It's not the classical T-shape but a bit more fitted with narrower and shorter
+sleeves and a wider somewhat boat-neck style opening.
+
+I like it. Maybe you will too.
+
+joost
+
+## What You Need {#needs}
+
+To make Teagan, you will need the following:
+
+- [Basic sewing supplies](https://freesewing.org/docs/sewing/basic-sewing-supplies)
+- About 1 meter (1.1 yards) of a suitable fabric ([see Fabric
+ options](#fabric))
+
+:::tip A serger/overlock is nice, but optional
+
+As with all knitwear and stretch fabrics, a serger/overlock will make your life
+easier. If you do not have one of those, don’t despair. You don’t really need
+it. All serged seams on the Teagan T-shirt can also be sewn with a narrow
+zigzag stitch (~2 mm wide) on a standard sewing machine.
+
+:::
+
+## Fabric Options {#fabric}
+
+The Teagan T-shirt is designed as a close-fitting tee and is best suited to
+knit fabrics with some stretch, such as jersey. Cotton knits are often an
+easy-to-sew option for those new to knits. Rayon knits generally will have a
+bit more drape and are more slippery to sew.
+
+:::tip
+If you're new to sewing, look for a knit with a few percent spandex for stretch
+and recovery (snapping back after stretching). Fabric weights can also help you
+make your choice. T-shirts are typically made in lightweight fabric. A weight
+of 130-200 grams per square meter (or 4-6 ounces per square yard) is likely to
+be about right.
+:::
+
+## Cutting Instructions {#cutting}
+
+- Cut 1 back on the fold.
+- Cut 1 front on the fold.
+- Cut 2 sleeves _with good sides together_
+ - If you cut sleeves separately, remember that one has to be a mirror image
+ of the other.
+- Cut 1 strip for neck opening. It should be 6 cm wide and the length of your
+ neck opening.
+
+:::warning Caveats
+
+- There is no seam allowance on the neck opening.
+- There is extra hem allowance at the hem and armholes.
+ :::
diff --git a/sites/orgdocs/docs/designs/tiberius/instructions/readme.mdx b/sites/orgdocs/docs/designs/tiberius/instructions/readme.mdx
new file mode 100644
index 00000000000..06d80eb163f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tiberius/instructions/readme.mdx
@@ -0,0 +1,40 @@
+---
+title: 'Tiberius Tunica: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+:::note
+Tiberius is a historically inspired pattern, and if you want more authenticity,
+handsewing is the way to go. Personally, I use a sewing machine. You do you.
+:::
+
+## Step 1: Sew shoulder seams
+
+- Put both parts with good sides together. Sew the shoulder seams, taking care
+ to stop at the notches for the head opening.
+- Finish the seams, with a method of your choice. (If you used the fabrics
+ recommended in the [fabric options](/docs/designs/tiberius#fabric), they
+ _will_ fray. Folding the seam allowance twice, enclosing the raw edge and
+ topstitching is an option. You can also use decorative topstitching.)
+
+:::note
+If you opted for cutting the whole tunica out of one piece, carefully cut out
+the head opening between the notches instead. Finish the opening.
+:::
+
+## Step 2: Sew side seams
+
+- Still with good sides together, sew the side seams. Start at the notch for
+ the armhole and work your way down. Take care to align your layers properly.
+- Finish seams.
+
+## Step 3: Hem the bottom edge
+
+Hem the bottom of your garment. If you want to use decorative stitches, this is
+another place to use them.
+
+## Step 4: You're done!
+
+Pull on your tunica, belt it around your waist, play around with how you gather
+the fabric, and enjoy!
diff --git a/sites/orgdocs/docs/designs/tiberius/options/armholedrop/readme.mdx b/sites/orgdocs/docs/designs/tiberius/options/armholedrop/readme.mdx
new file mode 100644
index 00000000000..7bdc3054555
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tiberius/options/armholedrop/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Armhole drop'
+---
+
+Controls the depth of the armhole
diff --git a/sites/orgdocs/docs/designs/tiberius/options/clavi/readme.mdx b/sites/orgdocs/docs/designs/tiberius/options/clavi/readme.mdx
new file mode 100644
index 00000000000..73268879f4c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tiberius/options/clavi/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Clavi'
+---
+
+Whether or not to include guides for clavi
diff --git a/sites/orgdocs/docs/designs/tiberius/options/clavuslocation/readme.mdx b/sites/orgdocs/docs/designs/tiberius/options/clavuslocation/readme.mdx
new file mode 100644
index 00000000000..abae0325672
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tiberius/options/clavuslocation/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Clavus location'
+---
+
+Controls the location of the clavi
diff --git a/sites/orgdocs/docs/designs/tiberius/options/clavuswidth/readme.mdx b/sites/orgdocs/docs/designs/tiberius/options/clavuswidth/readme.mdx
new file mode 100644
index 00000000000..83e3fc5b015
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tiberius/options/clavuswidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Clavus width'
+---
+
+Controls the width of the clavi
diff --git a/sites/orgdocs/docs/designs/tiberius/options/forcewidth/readme.mdx b/sites/orgdocs/docs/designs/tiberius/options/forcewidth/readme.mdx
new file mode 100644
index 00000000000..fc330de1c2d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tiberius/options/forcewidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Force width'
+---
+
+Apply width settings regardless of constraints
diff --git a/sites/orgdocs/docs/designs/tiberius/options/headratio/readme.mdx b/sites/orgdocs/docs/designs/tiberius/options/headratio/readme.mdx
new file mode 100644
index 00000000000..2f847c6ca26
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tiberius/options/headratio/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Head ratio'
+---
+
+Controls the size of the head opening
diff --git a/sites/orgdocs/docs/designs/tiberius/options/length/readme.mdx b/sites/orgdocs/docs/designs/tiberius/options/length/readme.mdx
new file mode 100644
index 00000000000..2b5c50bb8eb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tiberius/options/length/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Length'
+---
+
+Controls the length of the garment
diff --git a/sites/orgdocs/docs/designs/tiberius/options/lengthbonus/readme.mdx b/sites/orgdocs/docs/designs/tiberius/options/lengthbonus/readme.mdx
new file mode 100644
index 00000000000..2e5bdd82c16
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tiberius/options/lengthbonus/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Length bonus'
+---
+
+Allows variation of the length of the garment
diff --git a/sites/orgdocs/docs/designs/tiberius/options/width/readme.mdx b/sites/orgdocs/docs/designs/tiberius/options/width/readme.mdx
new file mode 100644
index 00000000000..2e9ce2c6e51
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tiberius/options/width/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Width'
+---
+
+Controls the width of the garment
diff --git a/sites/orgdocs/docs/designs/tiberius/options/widthbonus/readme.mdx b/sites/orgdocs/docs/designs/tiberius/options/widthbonus/readme.mdx
new file mode 100644
index 00000000000..99d6b3c947b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tiberius/options/widthbonus/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Width bonus'
+---
+
+Allows variation of the width of the garment
diff --git a/sites/orgdocs/docs/designs/tiberius/readme.mdx b/sites/orgdocs/docs/designs/tiberius/readme.mdx
new file mode 100644
index 00000000000..a9cfabf9cf2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/tiberius/readme.mdx
@@ -0,0 +1,104 @@
+---
+title: "Tiberius: FreeSewing's Tiberius Tunica"
+sidebar_label: Tiberius Tunica
+---
+
+
+
+## Designer Notes {#notes}
+
+Tiberius was the first of the bunch, and also the simplest: a simple, nice
+_tunica_, inspired by the ones worn by Romans in the late republic, early
+empire (I can tell you that I read quite a lot of references and looked at
+pictures of statues and reliefs to figure out the "how long should it be?"
+question). This was a garment I wanted to make as part of a costume for my
+TTRPG (table-top roleplaying game) character, who is kind of a fantasy Roman.
+
+While writing down my measurements to make the _tunica_, I realised that this
+was such a simple parametric design that it could be a way for me to dip my
+toes into the coding part of Freesewing. And so I did. Even though it's "only"
+a rectangle, I tried to put some things into it behind the scenes (seams?),
+some failchecks to ensure that it results in a wearable garment. Since it's
+only a rectangle, there is not much wriggle room (pun intended) for fit, making
+it nice and easy but also challenging when you want to achieve a certain look
+(the length of the apparent "sleeves", for example).
+
+One slightly hidden feature is the possibility to add positional markers for
+_clavi_, strips of colour on the _tunica_ to denote rank and/or class. Quite
+fascinating,
+
+The name is taken from James T. Kirk, by the way, who luckily had parents who
+seemingly liked some debatable Roman emperors.
+
+Rika
+
+:::tip Related
+Lunetius, Tiberius and Walburga really come as a set. Not only were they born
+at the same time, they are designed to work together to form a full outfit. Not
+that this means that they can't be made separately :wink:
+
+See: [Lunetius Designer Notes](/docs/designs/lunetius#notes) and [Walburga
+Designer Notes](/docs/designs/walburga#notes).
+:::
+
+:::note On Historical Accuracy
+
+The further we go back in time, the less extant garments we have to base
+research on. Often there may be scraps of fabric left behind by stroke of luck
+but most of our information starts to come from (in archaeology) secondary
+sources like written texts from contemporaries.
+
+This is especially true for the Roman and Mediaeval eras, not to mention that a
+lot of the available research is behind a paywall.
+
+We can’t be 100 percent historically accurate, because we’re living in a
+different time, and everything we use to sew is different now from before. Even
+fabric is woven in a different way.
+
+How ‘accurate’ you want to be is up to you, there is no wrong way to do this
+and research is not required -- though it can be fun!
+:::
+
+## What You Need {#needs}
+
+To make Tiberius, you will need the following:
+
+- [Basic sewing supplies](/docs/sewing/basic-sewing-supplies)
+- About 2 meters (2.2 yards) of a suitable fabric (see [Fabric options](#fabric))
+- (a belt, for wearing it)
+
+## Fabric Options {#fabric}
+
+Tiberius can be made out of almost any woven fabric. Historically "accurate"
+would be linen, wool, and, to an extent, cotton. If you care about
+authenticity, research this a bit. In any case, natural fibers without any
+stretch are the way to go.
+
+Depending on the social status you want to portray, choose coarser or finer
+fabrics. Different colours are also possible.
+
+## Cutting Instructions {#cutting}
+
+:::tip
+
+##### Use the power of the _paperless_ option - do **not** print this pattern
+
+Tiberius is just a big rectangle, so printing the pattern out is a bit of a
+waste. Save a tree, toggle the
+[paperless](/docs/about/site/draft#paperless) option, and copy
+the dimensions to your fabric, while respecting the grainline.
+
+:::
+
+Tiberius consists of only one part, the _tunica_, that will act as a pattern
+for both front and back pieces.
+
+- cut _2 tunicae_, _on the fold_
+
+:::note Notes
+You have two options here: Either you cut your tunica in two pieces as
+described above, or you cut it in only one piece. Historically speaking, the
+time period or location you're aiming for can make a difference (ancient Rome
+vs. ancient Greece, for example). If you care about authenticity, I suggest
+researching this a bit.
+:::
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/readme.mdx b/sites/orgdocs/docs/designs/trayvon/instructions/readme.mdx
new file mode 100644
index 00000000000..1d4078e95d2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/trayvon/instructions/readme.mdx
@@ -0,0 +1,278 @@
+---
+title: 'Trayvon tie: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+:::tip Just the tip
+
+The tip is the most sensitive part of the tie.
+
+If you have never made a tie before, I would advise you to make a few tie tips
+in scrap fabric before taking scissors and needles to your nice tie fabric.
+
+To practice tip-making, execute constructions steps 1 through 4 a couple of
+times until you get the hang of it.
+:::
+
+:::tip Press wisely
+
+Later in the construction steps, you will be asked to press your fabric. Please
+be careful that you are not using too much heat on a delicate fabric that can't
+handle it.
+
+It's a good idea to try pressing some fabric scraps before you start. This will
+allow you to figure out what is a good heat setting for the fabric you are
+using.
+:::
+
+## Step 1: Sew the first side of your tie tail
+
+
+
+Align the lining tail (piece 6) on top of the fabric tail (piece 4), good sides
+together
+
+Shift the lining tail along a side running up the tail until the notch on the
+lining tail matches the notch on the fabric tail.
+
+Sew in place, starting precisely at the matched notch, along the edge. Make
+sure to backtack on both sides.
+
+Two notches are now fixed the same spot.
+
+## Step 2: Sew the second side of your tie tail
+
+
+
+Shift the fabric tail so that the second notch lines up with the notch on the
+lining tail (the place where your first seam started).
+
+This will require you to fold a bit of the tie fabric out of the way, under the
+seam you make in step one.
+
+Sew in place, starting precisely at the matched notch, making sure to get a
+straight angle with your seam from step 1.
+
+Now, all three notches are fixed the same spot.
+
+## Step 3: Finish the tie tail
+
+
+
+Fold your tie open so that the two seams you made in step 1 and 2 lie on top of
+each other. Take care to fold it precisely; the folded edges should make a
+straight angle.
+
+Sew the point where the three notches and your two seams converge to the folded
+edge of the Fabric tip (part 4, on the left in the image).
+
+## Step 4: Turn the tail inside-out and inspect your work
+
+
+
+After you've trimmed all threads, carefully flip your tail inside-out
+(technically you are flipping it outside-out as it is inside out now).
+
+If needed, you can gently push out the tip with a ruler.
+
+Your tail should look like the picture, with a sharp point and straight edges.
+
+The seam where the tie fabric meets the tie lining does not sit at the edge of
+the tie but it sits a bit back, staying out of sight.
+
+If you managed to do all of this, you can do it again for the tip of your tie.
+
+## Step 5: Sew the first side of your tie tip
+
+
+
+Align the lining tip (piece 5) on top of the fabric tip (piece 3), good sides
+together
+
+Shift the lining tip along a side running up the tip until the notch on the
+lining tip matches the notch on the fabric tip.
+
+Sew in place, starting precisely at the matched notch, along the edge. Make
+sure to backtack on both sides.
+
+Two notches are now fixed the same spot.
+
+## Step 6: Sew the second side of your tie tip
+
+
+
+Shift the fabric tip so that the second notch lines up with the notch on the
+lining tip (the place where your first seam started).
+
+This will require you to fold a bit of the tie fabric out of the way, under the
+seam you make in step five.
+
+Sew in place, starting precisely at the matched notch, making sure to get a
+straight angle with your seam from step 5.
+
+Now, all three notches are fixed the same spot.
+
+## Step 7: Finish the tie tip
+
+
+
+Fold your tie open so that the two seams you made in step 5 and 6 lie on top of
+each other. Take care to fold it precisely; the folded edges should make a
+straight angle.
+
+Sew the point where the three notches and your two seams converge to the folded
+edge of the Fabric tip (part 3, on the left in the image).
+
+## Step 8: Turn the tip inside-out and inspect your work
+
+
+
+After you've trimmed all threads, carefully flip your tip inside-out
+(technically you are flipping it outside-out as it is inside out now).
+
+If needed, you can gently push out the tip with a ruler.
+
+Your tip should look like the picture, with a sharp point and straight edges.
+
+The seam where the tie fabric meets the tie lining does not sit at the edge of
+the tie but it sits a bit back, staying out of sight.
+
+## Step 9: Join the tie interfacing
+
+
+
+Join Interfacing tip (piece 1) and Interfacing tail (piece 2) together on the
+non-pointy side, matching the notch.
+
+:::tip Comment by Joost
+To be honest, I never join the interfacing. I just leave both halves unattached.
+
+This way, you can never get the length of your tie wrong, and you can just slide the interfacing parts over each other.
+In addition, it creates less bulk in the middle, and it's less work.
+
+So you can just skip this step, it's what I do.
+:::
+
+## Step 10: Join the tie fabric
+
+
+
+With the interfacing sewn together, the length of our tie is now determined.
+Measure the tie tip to tip, and make sure that you join the fabric pieces at
+the correct length.
+
+Join the tip and tail fabric together on the non-pointy side.
+
+## Step 11: Make your tie loop
+
+
+
+We are going to construct the Loop (piece 7) of our tie now.
+
+Fold the fabric as shown in the illustration. You need to end up with a narrow
+strip of fabric that has its ends tucked to the inside.
+
+Make sure to have one edge a little bit shorter. This will be the back side.
+
+While folding, reach for your iron and give it a good press so things stay in
+place. Also press the final loop before sewing it.
+
+:::tip
+Careful when pressing, remember the pressing advice I gave earlier
+:::
+
+When you're happy with how you folded and pressed your loop, hand-sew along the
+edge with a slipstitch to keep things in place.
+
+## Step 12: Assemble your tie
+
+
+
+Time to start putting things together. Place your tie on a flat surface, good
+side down, lining up.
+
+Now take your tie interfacing, and place it in your tie with the seam allowance
+in the middle facing upwards. Make sure to slide it between your fabric and
+lining on each side, all the way to the tip.
+
+## Step 13: Fold and press your tie
+
+
+
+With your tie interfacing inserted in your tie fabric, fold over one side of
+the fabric over the interfacing.
+
+You want to fold it snugly around the interfacing, but without moving the
+interfacing, which should stay in the middle.
+
+When you're done, press your fold. Because of the tie interfacing, you're not
+pressing a sharp crease here, the main point is to shape the fabric to be more
+eager to stay folder around the interfacing.
+
+:::tip
+As we are not pressing a sharp crease here, but more shaping the fabric, a
+steam iron works best.
+:::
+
+When you have completed one side, fold back the other side, and steam again.
+
+Finally, fold back the top layer along the middle of your tie, and press in
+place. This time, you are making a sharp crease along the middle of the tie.
+
+:::note
+To clarify the difference between the two last folds, I have included a dark line in the image that marks the edge of the fabric, or fold.
+
+As you can see, the first time we merely fold the fabric back, and it extends passed the center of the tie.
+
+The second time, we fold it back again in the middle, the place where we'll sew it in place.
+:::
+
+## Step 14: Prepare the loop
+
+
+
+Fold your loop so the tail of your tie can pass through it with some room.
+
+Mark the point where the loop ends join, and sew them together.
+
+Finally, press your loop open so the seam sits in the middle, and the ends
+point to one side.
+
+## Step 15: Slip stitch tie, and insert loop
+
+
+
+Use a slip stitch to hand sew your tie all along the length of the back.
+
+:::tip
+Your slip stitch should only catch the tie fabric on the back. Refrain from
+running it through the tie interfacing.
+
+Be careful for is you run the stitch too deep, it might show on the front, and
+ruin your tie.
+:::
+
+Make sure to slide in your loop, somewhere around 1/5th of the tie length,
+starting from the tip.
+
+Use your slip stitch to secure the loop in place on the center seam; we'll fix
+the edges of the loop in the next step.
+
+## Step 16: Secure the loop edges
+
+
+
+Hand sew the edges of the loop to your tie, so it stays in place nicely.
+
+Make sure to sew only the bottom layer of the loop, so the stitches don't show
+on the loop.
+
+And, once again, be careful not to run your stitches through your tie. Be
+shallow.
+
+## Step 17: Trim and clean up
+
+
+
+Trim any loose threads you might have.
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step01.png b/sites/orgdocs/docs/designs/trayvon/instructions/step01.png
new file mode 100644
index 00000000000..140f32555c4
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step01.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step02.png b/sites/orgdocs/docs/designs/trayvon/instructions/step02.png
new file mode 100644
index 00000000000..6c0d164108e
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step02.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step03.png b/sites/orgdocs/docs/designs/trayvon/instructions/step03.png
new file mode 100644
index 00000000000..c755c912b55
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step03.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step04.png b/sites/orgdocs/docs/designs/trayvon/instructions/step04.png
new file mode 100644
index 00000000000..a3dcac17e28
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step04.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step09.png b/sites/orgdocs/docs/designs/trayvon/instructions/step09.png
new file mode 100644
index 00000000000..488ca7ba699
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step09.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step10.png b/sites/orgdocs/docs/designs/trayvon/instructions/step10.png
new file mode 100644
index 00000000000..a66fbb3956f
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step10.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step11.png b/sites/orgdocs/docs/designs/trayvon/instructions/step11.png
new file mode 100644
index 00000000000..517942cf5fc
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step11.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step12.png b/sites/orgdocs/docs/designs/trayvon/instructions/step12.png
new file mode 100644
index 00000000000..bb2cac1f525
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step12.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step13.png b/sites/orgdocs/docs/designs/trayvon/instructions/step13.png
new file mode 100644
index 00000000000..a8d12e97ad1
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step13.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step14.png b/sites/orgdocs/docs/designs/trayvon/instructions/step14.png
new file mode 100644
index 00000000000..dbada1cc2ef
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step14.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step15.png b/sites/orgdocs/docs/designs/trayvon/instructions/step15.png
new file mode 100644
index 00000000000..4c836b825f5
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step15.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step16.png b/sites/orgdocs/docs/designs/trayvon/instructions/step16.png
new file mode 100644
index 00000000000..95161acebea
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step16.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/instructions/step17.png b/sites/orgdocs/docs/designs/trayvon/instructions/step17.png
new file mode 100644
index 00000000000..b7751b3c85f
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/instructions/step17.png differ
diff --git a/sites/orgdocs/docs/designs/trayvon/options/knotwidth/knotwidth.svg b/sites/orgdocs/docs/designs/trayvon/options/knotwidth/knotwidth.svg
new file mode 100644
index 00000000000..46c3fcc9192
--- /dev/null
+++ b/sites/orgdocs/docs/designs/trayvon/options/knotwidth/knotwidth.svg
@@ -0,0 +1,100 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/trayvon/options/knotwidth/readme.mdx b/sites/orgdocs/docs/designs/trayvon/options/knotwidth/readme.mdx
new file mode 100644
index 00000000000..c1bd91bca0a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/trayvon/options/knotwidth/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Knot width'
+---
+
+The knot width is the width in the middle of the tie, where you make the knot.
+
+
+
+How wide your tie is in the middle will influence the tie knot. Go wide for big
+and bulky knots, go narrow for small knots.
+
+:::warning
+Do not make the knot width larger than the tip width
+:::
diff --git a/sites/orgdocs/docs/designs/trayvon/options/lengthbonus/readme.mdx b/sites/orgdocs/docs/designs/trayvon/options/lengthbonus/readme.mdx
new file mode 100644
index 00000000000..2a24926dca6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/trayvon/options/lengthbonus/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Length bonus'
+---
+
+Adds extra length to the tie.
diff --git a/sites/orgdocs/docs/designs/trayvon/options/tipwidth/readme.mdx b/sites/orgdocs/docs/designs/trayvon/options/tipwidth/readme.mdx
new file mode 100644
index 00000000000..1652e7ecaff
--- /dev/null
+++ b/sites/orgdocs/docs/designs/trayvon/options/tipwidth/readme.mdx
@@ -0,0 +1,13 @@
+---
+title: 'Tip width'
+---
+
+
+
+The tip width is the width at the tip of the tie.
+
+How wide your tie is at the tip is a style choice.
+
+:::warning
+Do not make the tip width smaller than the knot width
+:::
diff --git a/sites/orgdocs/docs/designs/trayvon/options/tipwidth/tipwidth.svg b/sites/orgdocs/docs/designs/trayvon/options/tipwidth/tipwidth.svg
new file mode 100644
index 00000000000..a231ca0149b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/trayvon/options/tipwidth/tipwidth.svg
@@ -0,0 +1,98 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/trayvon/readme.mdx b/sites/orgdocs/docs/designs/trayvon/readme.mdx
new file mode 100644
index 00000000000..7e4369e5867
--- /dev/null
+++ b/sites/orgdocs/docs/designs/trayvon/readme.mdx
@@ -0,0 +1,133 @@
+---
+title: "Trayvon: FreeSewing's Trayvon Tie"
+sidebar_label: Trayvon Tie
+---
+
+
+
+## Designer Notes {#notes}
+
+There's about a million patterns for ties on the internet, so why make another
+one, right?
+
+Well, this started hen I wanted to make a tie but every pattern I found was
+cutting corners. Specifically, they all put the seam between the back and the
+font at the exact tip. Which, sure, is easier to make. But that's not how ties
+are supposed to be made.
+
+So, I designed this pattern so I could make ties that looks professional, and
+not home-made.
+
+I gave it the name `trayvon` in memory of [Trayvon
+Martin](https://en.wikipedia.org/wiki/Trayvon_Martin) and more generally to
+honour the memory of all victims of brutality at the hands of people in a
+position of authority.
+
+joost
+
+## What You Need {#needs}
+
+To make Trayvon, you will need the following:
+
+- Basic sewing supplies
+- Between 0.5 meters - 1.5 meters (0.6 - 1.7 yards) of a suitable fabric ([see
+ Fabric options](#fabric)), depending on whether you're cutting on the bias,
+ the grain, or the cross-grain.
+
+## Fabric Options {#fabric}
+
+### Tie fabric
+
+The ties you find in the store are typically made out of silk or some imitation
+silk poly. So it will come as no surprise that those are good options.
+
+In general, you want something with good drape so that your tie hangs nicely.
+Cutting your tie on bias can help here too.
+
+Personally, I like using different fabrics for ties. Things like denim or
+corduroy make great ties, while being a bit different from the run-of-the-mill
+store-bought tie.
+
+Additionally, silk and silk imitation is slippery and tricky to work with. If
+this your first tie, consider an alternative fabric that is more forgiving.
+
+Just make sure you pick a fabric that does not stretch or lose its shape
+easily. You want your tie to look sharp, not saggy.
+
+### Tie lining
+
+The lining of the tie is the bit that is used at the tip to cover up the back.
+If you are not sure what I mean, look at the back of the tip of an existing
+tie. See that rectangular patch of fabric you can see there? That is the tie
+lining.
+
+Your tie lining will add an extra fabric inside a part of your tie. So it is
+important to avoid bulk. Go for something thin, even when using a thicker tie
+fabric.
+
+Make sure your lining drapes at least as good as your tie fabric, so that it
+doesn't interfere with the drape of your tie.
+
+When in doubt, go for imitation silk. Do make sure to pick something that is a
+nice match, or contrast, with your tie fabric.
+
+### Tie interfacing
+
+Your tie interfacing is the skeleton of your tie. It is the part that sits in
+the middle and that you will only see while constructing your tie.
+
+Tie interfacing can be notoriously hard to get. The best tie interfacing is
+soft, fuzzy woven lambswool, but I have yet to walk into a fabric store that
+carries this.
+
+While you can get by with an alternative, like some wool fabric, or flannel, I
+typically re-use the interfacing from an old tie.
+
+:::tip Recycle the interfacing
+As long as you keep your tie away from scissors and bondage fanatics, your tie
+interfacing will effortlessly outlast your tie. So look in your wardrobe (or
+the charity shop/thrift store) for that old tie with the stain on it, and take
+it apart to salvage the tie interfacing.
+
+As long as the tie you want to make is not wider or longer than the one you are
+recycling, you have your tie interfacing right there.
+:::
+
+## Cutting Instructions {#cutting}
+
+- **Main fabric**
+ - Cut **1 tip**
+ - Cut **1 tail**
+- **Lining fabric**
+ - Cut **1 lining tip**
+ - Cut **1 lining tail**
+ - Cut **1 loop**
+- **Interfacing**
+ - Cut **1 interfacing tip**
+ - Cut **1 interfacing tail**
+
+:::warning Caveats
+
+- There is no seam allowance on the **interfacing** parts and the **loop**
+- The **lining** **tip** and **tail** have only seam allowance at the tip
+- The **fabric** **tip** and **tail** have only seam allowance at the tip and center
+ :::
+
+:::tip Choosing your tie grain
+
+
+
+This pattern does not include a grain line. The grain line is typically printed
+on the pattern to show you how to place your pattern on your fabric, relative
+to the fabric's grain.
+
+For a tie, how you do this is not so much a rule as it is a personal choice. As
+such, there is no grain line printed on the pattern. You can do what you want.
+
+That being said, a lot of ties are cut on bias, as this results in the best
+drape. If you are unsure what to do, consider cutting your tie on bias.
+
+If this all sounds very confusing, might I suggest reading the help page on
+[Fabric grain](/docs/sewing/fabric-grain).
+:::
diff --git a/sites/orgdocs/docs/designs/trayvon/tie-grain.png b/sites/orgdocs/docs/designs/trayvon/tie-grain.png
new file mode 100644
index 00000000000..13e967518c9
Binary files /dev/null and b/sites/orgdocs/docs/designs/trayvon/tie-grain.png differ
diff --git a/sites/orgdocs/docs/designs/uma/instructions/readme.mdx b/sites/orgdocs/docs/designs/uma/instructions/readme.mdx
new file mode 100644
index 00000000000..44c422d2396
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/instructions/readme.mdx
@@ -0,0 +1,105 @@
+---
+title: 'Uma undies: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+## Step 1: Pin/baste the front to the first gusset piece
+
+Place one of the gusset pieces on the front piece, _good sides together_, so
+that the crotch seams are aligned. Pin or baste at the seam allowance.
+
+
+
+## Step 2: Open flat
+
+Open flat. You can press if you want to, but who presses underwear?
+
+
+
+## Step 3: Pin/baste the back to the first gusset piece
+
+Place the back piece on the gusset, good sides together. Pin or baste at the
+seam allowance.
+
+
+
+## Step 4: Open flat
+
+Open flat.
+
+
+
+## Step 5: Attach the second gusset piece
+
+Get the front and back pieces out of the way by rolling them to the center.
+
+Place the second gusset piece good sides together on top so that it lines up
+with the first gusset piece. The rolled-up front and back pieces should be
+sandwiched between your gusset pieces.
+
+Sew the front and back gusset seams at your seam allowance using a serger or a
+zigzag stitch.
+
+
+
+## Step 6: Turn right side out
+
+Turn the undies right side out. All gusset seams should be enclosed.
+
+
+
+## Step 7: Sew the side seams
+
+Pin the side seams good sides together. Sew the side seams at your seam
+allowance using a serger or a zigzag stitch.
+
+
+
+:::note
+Good work! Technically you could leave the edges raw since knit fabrics do not
+fray, but to help your undies stay up, you should probably add elastic to the
+legs and waist. Keep going.
+:::
+
+## Step 8: Prepare elastic
+
+Overlap the edges of each piece of elastic by your seam allowance and stitch
+together. You should have three elastic pieces: one for the waistband and two
+for the legs.
+
+To ensure that you stretch the elastic evenly, divide the elastic into four
+quarters and mark the points with pins or chalk. Do the same to the waist and
+leg openings, marking the quarter points.
+
+
+
+
+
+## Step 9: Sew elastic to the outside of the garment
+
+Pin the elastic to the waist and leg openings on the good side of the fabric,
+ensuring that you line up the quarter markings. If your elastic has a
+decorative edge, make sure that you line up the plain edge (not the decorative
+edge) of the elastic to the edge of the fabric. The decorative edge should be
+pointing towards the garment, not away from it.
+
+Sew the elastic to the garment using a zigzag stitch. You will have to stretch
+the elastic slightly as you sew to make it lay flat against the fabric. Avoid
+stretching the fabric itself.
+
+
+
+Trim away any excess fabric that causes bulk or sticks out from the elastic.
+
+## Step 10: Fold the elastic in and sew it down again
+
+Fold the elastic and fabric to the inside, enclosing the raw edge of the fabric
+under the elastic. You should be looking at the outside of the undies, a folded
+edge with a bit of the elastic peeking out. Sew using a zigzag stitch.
+
+
+
+Repeat these steps for each of the waist and leg openings.
+
+You did it!
diff --git a/sites/orgdocs/docs/designs/uma/instructions/step01.png b/sites/orgdocs/docs/designs/uma/instructions/step01.png
new file mode 100644
index 00000000000..30224a4168e
Binary files /dev/null and b/sites/orgdocs/docs/designs/uma/instructions/step01.png differ
diff --git a/sites/orgdocs/docs/designs/uma/instructions/step02.png b/sites/orgdocs/docs/designs/uma/instructions/step02.png
new file mode 100644
index 00000000000..1594422a477
Binary files /dev/null and b/sites/orgdocs/docs/designs/uma/instructions/step02.png differ
diff --git a/sites/orgdocs/docs/designs/uma/instructions/step03.png b/sites/orgdocs/docs/designs/uma/instructions/step03.png
new file mode 100644
index 00000000000..ac0849edd2d
Binary files /dev/null and b/sites/orgdocs/docs/designs/uma/instructions/step03.png differ
diff --git a/sites/orgdocs/docs/designs/uma/instructions/step04.png b/sites/orgdocs/docs/designs/uma/instructions/step04.png
new file mode 100644
index 00000000000..07eed5bbc59
Binary files /dev/null and b/sites/orgdocs/docs/designs/uma/instructions/step04.png differ
diff --git a/sites/orgdocs/docs/designs/uma/instructions/step05.png b/sites/orgdocs/docs/designs/uma/instructions/step05.png
new file mode 100644
index 00000000000..917026859ee
Binary files /dev/null and b/sites/orgdocs/docs/designs/uma/instructions/step05.png differ
diff --git a/sites/orgdocs/docs/designs/uma/instructions/step06.png b/sites/orgdocs/docs/designs/uma/instructions/step06.png
new file mode 100644
index 00000000000..dc79e2156da
Binary files /dev/null and b/sites/orgdocs/docs/designs/uma/instructions/step06.png differ
diff --git a/sites/orgdocs/docs/designs/uma/instructions/step07.png b/sites/orgdocs/docs/designs/uma/instructions/step07.png
new file mode 100644
index 00000000000..bf44db17be0
Binary files /dev/null and b/sites/orgdocs/docs/designs/uma/instructions/step07.png differ
diff --git a/sites/orgdocs/docs/designs/uma/instructions/step08.png b/sites/orgdocs/docs/designs/uma/instructions/step08.png
new file mode 100644
index 00000000000..f50e6b749e2
Binary files /dev/null and b/sites/orgdocs/docs/designs/uma/instructions/step08.png differ
diff --git a/sites/orgdocs/docs/designs/uma/instructions/step08b.png b/sites/orgdocs/docs/designs/uma/instructions/step08b.png
new file mode 100644
index 00000000000..61fe1d64083
Binary files /dev/null and b/sites/orgdocs/docs/designs/uma/instructions/step08b.png differ
diff --git a/sites/orgdocs/docs/designs/uma/instructions/step09.png b/sites/orgdocs/docs/designs/uma/instructions/step09.png
new file mode 100644
index 00000000000..be520cfa96c
Binary files /dev/null and b/sites/orgdocs/docs/designs/uma/instructions/step09.png differ
diff --git a/sites/orgdocs/docs/designs/uma/instructions/step10.png b/sites/orgdocs/docs/designs/uma/instructions/step10.png
new file mode 100644
index 00000000000..8f1993d1b10
Binary files /dev/null and b/sites/orgdocs/docs/designs/uma/instructions/step10.png differ
diff --git a/sites/orgdocs/docs/designs/uma/options/backdip/readme.mdx b/sites/orgdocs/docs/designs/uma/options/backdip/readme.mdx
new file mode 100644
index 00000000000..185c53b0634
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/options/backdip/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Back waist dip'
+---
+
+This option controls how much the back waist curves (revealing more or less skin).
diff --git a/sites/orgdocs/docs/designs/uma/options/backexposure/readme.mdx b/sites/orgdocs/docs/designs/uma/options/backexposure/readme.mdx
new file mode 100644
index 00000000000..221327fd3c6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/options/backexposure/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Back exposure'
+---
+
+This option controls the amount of exposed skin on the back.
diff --git a/sites/orgdocs/docs/designs/uma/options/bulge/readme.mdx b/sites/orgdocs/docs/designs/uma/options/bulge/readme.mdx
new file mode 100644
index 00000000000..f84e79896c8
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/options/bulge/readme.mdx
@@ -0,0 +1,12 @@
+---
+title: Bulge
+---
+
+This option allows you to create room at the front like on briefs.
+Room that you can use to hold a snack, or other things that you may want to carry there.
+
+Enabling this option has a number of side-effects:
+
+- It will override the gusset location
+- It will join the front and gusset into a single part
+- It will no longer be possible to cut the front/gusset on the fold
diff --git a/sites/orgdocs/docs/designs/uma/options/frontdip/readme.mdx b/sites/orgdocs/docs/designs/uma/options/frontdip/readme.mdx
new file mode 100644
index 00000000000..0449c42d03b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/options/frontdip/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Front waist dip'
+---
+
+This option controls how much the front waist curves (revealing more or less skin).
diff --git a/sites/orgdocs/docs/designs/uma/options/frontexposure/readme.mdx b/sites/orgdocs/docs/designs/uma/options/frontexposure/readme.mdx
new file mode 100644
index 00000000000..efd9f49ea7f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/options/frontexposure/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Taper to gusset'
+---
+
+Controls how much the front will curve inwards to meet the gusset.
diff --git a/sites/orgdocs/docs/designs/uma/options/gussetlength/readme.mdx b/sites/orgdocs/docs/designs/uma/options/gussetlength/readme.mdx
new file mode 100644
index 00000000000..38385c17d4f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/options/gussetlength/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Gusset length'
+---
+
+This option controls the length of the gusset.
diff --git a/sites/orgdocs/docs/designs/uma/options/gussetposition/readme.mdx b/sites/orgdocs/docs/designs/uma/options/gussetposition/readme.mdx
new file mode 100644
index 00000000000..e2f4dd130e8
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/options/gussetposition/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Gusset position'
+---
+
+This option allows you to shift the gusset forward or backward.
diff --git a/sites/orgdocs/docs/designs/uma/options/gussetwidth/readme.mdx b/sites/orgdocs/docs/designs/uma/options/gussetwidth/readme.mdx
new file mode 100644
index 00000000000..a16e0ef48a4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/options/gussetwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Gusset width'
+---
+
+This options controls the width of the gusset.
diff --git a/sites/orgdocs/docs/designs/uma/options/legrise/readme.mdx b/sites/orgdocs/docs/designs/uma/options/legrise/readme.mdx
new file mode 100644
index 00000000000..05a70268ed6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/options/legrise/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Leg rise'
+---
+
+This option controls how high the leg is cut-out.
diff --git a/sites/orgdocs/docs/designs/uma/options/rise/readme.mdx b/sites/orgdocs/docs/designs/uma/options/rise/readme.mdx
new file mode 100644
index 00000000000..bf041b57ea1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/options/rise/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Rise'
+---
+
+This options controls the height of the waist.
diff --git a/sites/orgdocs/docs/designs/uma/options/xstretch/readme.mdx b/sites/orgdocs/docs/designs/uma/options/xstretch/readme.mdx
new file mode 100644
index 00000000000..43217e4167a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/options/xstretch/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Horizontal fabric stretch'
+---
+
+Adjust this option for more or less stretchy fabrics, specifically for horizontal stretch.
diff --git a/sites/orgdocs/docs/designs/uma/options/ystretch/readme.mdx b/sites/orgdocs/docs/designs/uma/options/ystretch/readme.mdx
new file mode 100644
index 00000000000..db7707669ff
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/options/ystretch/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Vertical fabric stretch'
+---
+
+Adjust this option for more or less stretchy fabrics, specifically for vertical stretch.
diff --git a/sites/orgdocs/docs/designs/uma/readme.mdx b/sites/orgdocs/docs/designs/uma/readme.mdx
new file mode 100644
index 00000000000..072ad69de18
--- /dev/null
+++ b/sites/orgdocs/docs/designs/uma/readme.mdx
@@ -0,0 +1,91 @@
+---
+title: "Uma: FreeSewing's Uma Undies"
+sidebar_label: Uma Undies
+---
+
+
+
+## Designer Notes {#notes}
+
+This design is inspired by an earlier design (Ursula) which was created by
+my friend Natalia.
+
+In the run-up to the v3 release, we discussed the migration of the various
+designs, and it became clear that for reasons (gestures vaguely towards people
+on the internet being rather unappreciative) the original designer was
+reluctant to continue maintaining their design.
+
+Since it's a rather nice design not to mention a popular one, we agreed that I
+would reincarnate the pattern. While at it, I also made some changes that
+people had been asking for, such as the bulge option to make it gender-neutral.
+
+Long story short:
+
+- Everything that is great about this design is thanks to Natalia.
+- Everything that sucks about this design is on me.
+
+joost
+
+## What You Need {#needs}
+
+To make Uma, you will need the following:
+
+- [Basic sewing supplies](/docs/sewing/basic-sewing-supplies)
+- About 0.7 meters (0.8 yards) of a suitable fabric (see [Fabric
+ options](#fabric))
+- About 3 meters (3.3 yards) of underwear elastic, such as picot elastic or
+ fold over elastic
+
+:::tip
+
+##### Binding methods may affect the seam allowance
+
+If using fold over elastic (FOE) or doing knit binding, you may wish to trim
+away the seam allowance at the legs and waist before cutting. If you keep the
+seam allowance, the finished product will have a slightly higher waist and
+slightly smaller leg openings.
+
+##### A serger/overlock is nice, but optional
+
+As with all knitwear and stretch fabrics, a serger/overlock will make your life
+easier. If you do not have one of those, don't despair. You don't really need
+it. You can just sew Uma with a zigzag stitch.
+:::
+
+## Fabric Options {#fabric}
+
+You need a fabric with plenty of horizontal and vertical stretch (sometimes
+called “four-way stretch”) for this pattern. Preferably something that is
+comfortable, soft, and breathable.
+
+Recommended fabrics include stretch jerseys, stretch mesh, stretch knits, or
+most fabrics with at least 5% spandex. For example, modal (rayon) jersey with
+spandex.
+
+## Cutting Instructions {#cutting}
+
+Uma typically consists of a front, a back, and a lined gusset.
+In that constellation, this is the cut list:
+
+- **Main fabric**
+ - Part 1: Cut **1 front**
+ - Part 2: Cut **1 back**
+ - Part 3: Cut **2 gusset**
+
+However, if you enable the **Bulge** option, the front and gusset will become 1
+part. In this case, the cutlist looks like this:
+
+- **Main fabric**
+ - Part 1: Cut **1 front**
+ - Part 2: Cut **1 back**
+
+:::note Notes
+
+- Uma is a great scrap buster. If you have fabric scraps from making a [Teagan
+ t-shirt](https://freesewing.org//designs/teagan/) or anything from a jersey
+ fabric that has good stretch, this is a good way to use those up.
+- You can use the same fabric for the whole garment, including the gusset
+ lining. Some people prefer to use a cotton jersey instead to line the gusset.
+ If you want to do that, cut **1 gusset** from your main fabric and **1
+ gusset** from your lining fabric.
+ :::
diff --git a/sites/orgdocs/docs/designs/umbra/options/readme.mdx b/sites/orgdocs/docs/designs/umbra/options/readme.mdx
deleted file mode 100644
index eeda79a1f98..00000000000
--- a/sites/orgdocs/docs/designs/umbra/options/readme.mdx
+++ /dev/null
@@ -1,123 +0,0 @@
----
-title: 'Umbra Underwear: Design Options'
-toc_max_heading_level: 5
-sidebar_label: Design Options
-sidebar_position: 10
----
-
-import Backdip from '@site/docs/designs/umbra/options/backdip/readme.mdx'
-import Backdipshape from '@site/docs/designs/umbra/options/backdipshape/readme.mdx'
-import Backexposure from '@site/docs/designs/umbra/options/backexposure/readme.mdx'
-import Bulge from '@site/docs/designs/umbra/options/bulge/readme.mdx'
-import Bulgefullness from '@site/docs/designs/umbra/options/bulgefullness/readme.mdx'
-import Elasticstretch from '@site/docs/designs/umbra/options/elasticstretch/readme.mdx'
-import Flipback from '@site/docs/designs/umbra/options/flipback/readme.mdx'
-import Frontdip from '@site/docs/designs/umbra/options/frontdip/readme.mdx'
-import Frontdipshape from '@site/docs/designs/umbra/options/frontdipshape/readme.mdx'
-import Frontexposure from '@site/docs/designs/umbra/options/frontexposure/readme.mdx'
-import Frontreduction from '@site/docs/designs/umbra/options/frontreduction/readme.mdx'
-import Gussetposition from '@site/docs/designs/umbra/options/gussetposition/readme.mdx'
-import Gussetwidth from '@site/docs/designs/umbra/options/gussetwidth/readme.mdx'
-import Legrise from '@site/docs/designs/umbra/options/legrise/readme.mdx'
-import Minfabricwidth from '@site/docs/designs/umbra/options/minfabricwidth/readme.mdx'
-import Pocketgap from '@site/docs/designs/umbra/options/pocketgap/readme.mdx'
-import Pocketheight from '@site/docs/designs/umbra/options/pocketheight/readme.mdx'
-import Pockets from '@site/docs/designs/umbra/options/pockets/readme.mdx'
-import Rise from '@site/docs/designs/umbra/options/rise/readme.mdx'
-import Splitposition from '@site/docs/designs/umbra/options/splitposition/readme.mdx'
-import Xstretch from '@site/docs/designs/umbra/options/xstretch/readme.mdx'
-import Ystretch from '@site/docs/designs/umbra/options/ystretch/readme.mdx'
-
-## Fit
-
-### Bulge fullness
-
-
-
-### Bulge
-
-
-
-### Elastic stretch
-
-
-
-### Gusset position
-
-
-
-### Gusset width
-
-
-
-### Crotch seam
-
-
-
-### Horizontal fabric stretch
-
-
-
-### Vertival fabric stretch
-
-
-
-## Style
-
-### Back waist dip
-
-
-
-### Back waist dip shape
-
-
-
-### Back exposure
-
-
-
-### Front waist dip
-
-
-
-### Front waist dip shape
-
-
-
-### Front exposure
-
-
-
-### Front narrowing
-
-
-
-### Leg rise
-
-
-
-### Minimum fabric width
-
-
-
-### Pockets
-
-
-
-### Pocket gap
-
-
-
-### Pocket height
-
-
-
-### Rise
-
-
-
-## Advanced
-
-### Flip back
-
-
diff --git a/sites/orgdocs/docs/designs/umbra/readme.mdx b/sites/orgdocs/docs/designs/umbra/readme.mdx
index e5f121a80ce..5055fa81042 100644
--- a/sites/orgdocs/docs/designs/umbra/readme.mdx
+++ b/sites/orgdocs/docs/designs/umbra/readme.mdx
@@ -110,7 +110,13 @@ If you want to finish the leg openings with fold over elastics, you may want to
:::note
-- Umbra is a great scrap buster. If you have fabric scraps from making a [Teagan t-shirt](/designs/teagan/) or anything from a jersey fabric that has good stretch, this is a good way to use those up. If you only have smaller pieces, instead of cutting the pieces on the fold, you can cut both halves separately and sew them together. However, this introduces additional seams.
-- You can use the same fabric for the whole garment, including the front lining. Some people prefer using softer fabrics or different materials for the lining.
-
-:::
+- Umbra is a great scrap buster. If you have fabric scraps from making a
+ [Teagan t-shirt](https://freesewing.org/designs/teagan/) or anything from a
+ jersey fabric that has good stretch, this is a good way to use those up. If
+ you only have smaller pieces, instead of cutting the pieces on the fold, you
+ can cut both halves separately and sew them together. However, this
+ introduces additional seams.
+- You can use the same fabric for the whole garment, including the front
+ lining. Some people prefer using softer fabrics or different materials for
+ the lining.
+ :::
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/01.png b/sites/orgdocs/docs/designs/wahid/instructions/01.png
new file mode 100644
index 00000000000..ae8bf502bd9
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/01.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/01a.png b/sites/orgdocs/docs/designs/wahid/instructions/01a.png
new file mode 100644
index 00000000000..ae8bf502bd9
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/01a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/01b.png b/sites/orgdocs/docs/designs/wahid/instructions/01b.png
new file mode 100644
index 00000000000..37cd8d83905
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/01b.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/02a.png b/sites/orgdocs/docs/designs/wahid/instructions/02a.png
new file mode 100644
index 00000000000..f76e6d752b0
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/02a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/03a.png b/sites/orgdocs/docs/designs/wahid/instructions/03a.png
new file mode 100644
index 00000000000..969dd27f58e
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/03a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/04a.png b/sites/orgdocs/docs/designs/wahid/instructions/04a.png
new file mode 100644
index 00000000000..0cb37a947fb
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/04a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05a.png b/sites/orgdocs/docs/designs/wahid/instructions/05a.png
new file mode 100644
index 00000000000..e6414a56005
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05b.png b/sites/orgdocs/docs/designs/wahid/instructions/05b.png
new file mode 100644
index 00000000000..6074a217b4b
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05b.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05c.png b/sites/orgdocs/docs/designs/wahid/instructions/05c.png
new file mode 100644
index 00000000000..4b06e1aa04f
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05c.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05d.png b/sites/orgdocs/docs/designs/wahid/instructions/05d.png
new file mode 100644
index 00000000000..c8514c4c7dd
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05d.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05e.png b/sites/orgdocs/docs/designs/wahid/instructions/05e.png
new file mode 100644
index 00000000000..6d7f4837346
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05e.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05f.png b/sites/orgdocs/docs/designs/wahid/instructions/05f.png
new file mode 100644
index 00000000000..dad674f22e2
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05f.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05g.png b/sites/orgdocs/docs/designs/wahid/instructions/05g.png
new file mode 100644
index 00000000000..93d505bf1b5
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05g.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05h.png b/sites/orgdocs/docs/designs/wahid/instructions/05h.png
new file mode 100644
index 00000000000..394eaf4ff32
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05h.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05i.png b/sites/orgdocs/docs/designs/wahid/instructions/05i.png
new file mode 100644
index 00000000000..8f82cfc8e67
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05i.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05j.png b/sites/orgdocs/docs/designs/wahid/instructions/05j.png
new file mode 100644
index 00000000000..51d9e06e32d
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05j.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05k.png b/sites/orgdocs/docs/designs/wahid/instructions/05k.png
new file mode 100644
index 00000000000..c62e706a771
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05k.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05l.png b/sites/orgdocs/docs/designs/wahid/instructions/05l.png
new file mode 100644
index 00000000000..f5397f59853
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05l.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/05m.png b/sites/orgdocs/docs/designs/wahid/instructions/05m.png
new file mode 100644
index 00000000000..f43f59371c2
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/05m.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/06a.png b/sites/orgdocs/docs/designs/wahid/instructions/06a.png
new file mode 100644
index 00000000000..854668b0bbe
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/06a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/07a.png b/sites/orgdocs/docs/designs/wahid/instructions/07a.png
new file mode 100644
index 00000000000..c6e17e93a83
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/07a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/08a.png b/sites/orgdocs/docs/designs/wahid/instructions/08a.png
new file mode 100644
index 00000000000..ec2ce4271af
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/08a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/09a.png b/sites/orgdocs/docs/designs/wahid/instructions/09a.png
new file mode 100644
index 00000000000..8281bd4dc98
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/09a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/09b.png b/sites/orgdocs/docs/designs/wahid/instructions/09b.png
new file mode 100644
index 00000000000..6528b303705
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/09b.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/09c.png b/sites/orgdocs/docs/designs/wahid/instructions/09c.png
new file mode 100644
index 00000000000..6a9c2465931
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/09c.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/09d.png b/sites/orgdocs/docs/designs/wahid/instructions/09d.png
new file mode 100644
index 00000000000..910c2b83d73
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/09d.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/10a.png b/sites/orgdocs/docs/designs/wahid/instructions/10a.png
new file mode 100644
index 00000000000..9ad173e0457
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/10a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/10b.png b/sites/orgdocs/docs/designs/wahid/instructions/10b.png
new file mode 100644
index 00000000000..98aa039c9de
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/10b.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/10c.png b/sites/orgdocs/docs/designs/wahid/instructions/10c.png
new file mode 100644
index 00000000000..c908ed0359e
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/10c.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/11a.png b/sites/orgdocs/docs/designs/wahid/instructions/11a.png
new file mode 100644
index 00000000000..2d0c09ff124
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/11a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/12a.png b/sites/orgdocs/docs/designs/wahid/instructions/12a.png
new file mode 100644
index 00000000000..f0bc1064e65
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/12a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/13a.png b/sites/orgdocs/docs/designs/wahid/instructions/13a.png
new file mode 100644
index 00000000000..7ef01c1d6ff
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/13a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/14a.png b/sites/orgdocs/docs/designs/wahid/instructions/14a.png
new file mode 100644
index 00000000000..a1d61399b2b
Binary files /dev/null and b/sites/orgdocs/docs/designs/wahid/instructions/14a.png differ
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/layout.svg b/sites/orgdocs/docs/designs/wahid/instructions/layout.svg
new file mode 100644
index 00000000000..e0d36cd0390
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/instructions/layout.svg
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/instructions/readme.mdx b/sites/orgdocs/docs/designs/wahid/instructions/readme.mdx
new file mode 100644
index 00000000000..f39ef607453
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/instructions/readme.mdx
@@ -0,0 +1,374 @@
+---
+title: 'Wahid waistcoat: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+## Step 1: Fuse interfacing
+
+### Press interfacing to pocket welts
+
+
+
+Place your pocket welt with the good side down, and your pocket interfacing on
+top.
+
+The interfacing is a bit shorter than the welt, so make sure to align the side
+that has the help line marked on it.
+
+For each pocket, press the interfacing piece to the bad side of the pocket
+welt.
+
+### Press interfacing to fronts
+
+
+
+Place your front with the good side down, and your interfacing on top.
+
+Press the interfacing in place.
+
+:::tip Take your time
+
+Don't just iron this on to get it over with, you want to really press that
+interfacing onto your fabric so that it fuses well.
+
+Place your iron down and lean on it for 10 seconds or so before you move on to
+the next spot to repeat the process.
+:::
+
+## Step 2: Join front facing and lining
+
+### Sew facing to lining
+
+
+
+Place your front facing and lining with good sides together. Pin the edges of
+the facing/lining boundary in place.
+
+Sew them together.
+
+### Press open seam allowance
+
+Press open the seam allowance between facing and lining.
+
+## Step 3: Close all darts
+
+
+
+### Close back darts
+
+Fold your back with good sides together, and sew the back dart.
+
+:::note
+Don't forget to do the same for the lining
+:::
+
+### Close front darts
+
+Fold your front (and the interfacing fused to it) with good sides together, and
+sew the front dart.
+
+## Step 4: Press all darts
+
+
+
+### Press the front darts
+
+Once cut open, press the front darts open.
+
+### Press the back darts
+
+If you cut open the back darts, press them open. If not, press them to the
+side.
+
+:::note
+Don't forget to do the same for the lining
+:::
+
+## Step 5: Construct the pockets
+
+### Attach the pocket bag to the pocket welt
+
+
+
+Place your pocket bag down with the good side up, and your pocket welt on top
+of it with the good side down.
+
+Align the straight side of the bag with the side of the welt that has no
+interfacing, and sew them together at the standard seam allowance.
+
+### Press seam open
+
+When you are done, press open this seam.
+
+### Mark where your pocket needs to go
+
+
+
+Your front pattern piece has a helpline on it to show where the welt pocket
+should go. It's two half rectangles that got joined together when you closed
+the dart to form the shape of your welt pocket.
+
+If you haven't marked the four corners of that rectangle yet, you should do so
+now.
+
+:::note
+The pocket sits under a slight angle on your pattern. Going forward, in the
+illustrations, I will draw the pocket straight as that makes things easier.
+:::
+
+### Attach pocket welt and pocket facing
+
+
+
+
+Place your front piece down with the good side up. We're going to attach the
+welt to the bottom line of your pocket outline, and the facing to the top line.
+
+:::tip
+If you've never made a welt pocket before, it can be a bit counterintuitive to
+attach the pocket on the outside of the garment. Pocket should be on the
+inside, right?
+
+Relax, the pocket will end up on the inside
+:::
+
+Both your pocket welt and your pocket facing have a help line on them. That
+line needs to line up with the long edges of your pocket.
+
+Place the pocket welt at the bottom, and the pocket facing on the top, both
+with their good side down.
+
+Carefully align their helpline on the pocket outline. They should now sit side
+by side, and just bump into each other at the middle of your pocket.
+
+Now sew along the helpline which marks the long edge of your pocket.
+
+:::note
+It is important that the lines you sew now form the long edges of a perfect
+rectangle. This will determine the shape of your pocket, so if you make one
+line longer than the other, or if they are not parallel or mis-aligned, you
+pocket will look bad.
+:::
+
+### Cut open the pocket
+
+
+
+Time to carefully cut open the pocket. Start in the middle of the pocket, and
+cut towards along the longest edges towards the side.
+
+At the edges of your pocket you need to stop cutting open the center and
+instead cut towards the end of your line of stitches under 45 degrees.
+
+:::tip
+This small triangle you are cutting at the end is important. Make sure to aim
+carefully as you should cut right up to the end of your stitches, without
+cutting into the stitches.
+:::
+
+### Press open the seam allowance
+
+
+
+Press open the seam allowance along the long edges of your pocket.
+
+### Bring the pocket facing to the back and press
+
+
+
+Flip the pocket facing to the back side and press it down.
+
+### Press down the triangles at the short sides
+
+
+
+Move your pocket facing out of the way to reveal those little triangles at the
+side of your pocket.
+
+Fold them back making sure you to keep your pocket opening a clean rectangle,
+and press them down.
+
+### Bring the pocket welt to the back, fold and press
+
+
+
+
+Flip the pocket welt with the attached pocket back tot he back side.
+
+Fold your welt down at the point where it reaches the top of the pocket. The
+welt should cover the entire pocket opening.
+
+:::note
+The illustration shows this from the back as it's easier to see what is going
+on this way. However, you should check from the front to make sure your welt
+pocket looks good.
+:::
+
+### Sew down the pocket triangles
+
+
+
+Put your front down with the good side up and make sure the pocket facing and
+welt lie flat.
+
+Fold your front over vertically at the edge of your pocket to reveal that
+little triangle at the short side of your pocket opening.
+
+Sew this triangle down by sewing right next to the fold, and pocket edge.
+
+### Close the pocket bag
+
+
+
+Sew your pocket facing to the pocket bag to finish your pocket.
+
+:::warning
+This should go without saying, but be careful not to sew your pocket bag to the
+front of your waistcoat.
+:::
+
+### Press your completed pocket
+
+
+
+When you're done, give your pocket a good final press.
+
+## Step 6: Center back seam
+
+
+
+Put your two back pieces with their good side together and sew the center back
+seam.
+
+When you're done, press open this seam.
+
+:::note
+Don't forget to do the same for the lining
+:::
+
+## Step 7: Join back to fronts
+
+
+
+Put your back down with the good side up and put your fronts on it with the
+good side down. Align the side seams, pin and sew.
+
+When you're done, press open these seams.
+
+## Step 8: Join the shoulders
+
+
+
+Align the shoulder seams, sew them, and press open the seam allowance.
+
+> Don't forget to do the same for the lining
+
+## Step 9: Insert the lining
+
+### Slide lining into the wasitcoat
+
+
+
+Place your lining in your waistcoat, good sides together. In other words, the
+waistcoat should have the good side in and bad side out. The lining should have
+the bad side in and good side out.
+
+### Pin lining to fabric
+
+
+
+Align the lining with the fabric edge, and pin it in place.
+
+Start at center back, and follow the neckline down the front closure. Work your
+way around the hem, but leave about a 15cm gap at the center back.
+
+### Sew lining to fabric
+
+
+
+With your lining pinned neatly in place, sew lining and fabric together.
+
+Do not forget to leave that 15cm gap at the center back.
+
+### Turn waistcoat and press edges
+
+
+
+Reach through the gap you left open at the hem, and turn your waistcoat.
+
+Press the edges you've just sewn, making sure to roll the fabric a bit so that
+the lining is always hidden.
+
+## Step 10: Finish the armholes
+
+### Pin back the fabric seam allowance
+
+
+
+All along the armhole, pin back the seam allowance of your waistcoat fabric.
+While doing so, keep your lining out of the way.
+
+### Pin down lining
+
+
+
+Now fold back your lining a bit before the edge of the armhole and pin it down.
+
+### Hand-sew the lining to the fabric
+
+
+
+Use a slipstitch to hand-sew the lining to the fabric all along the armhole.
+
+## Step 11: Finish the hem
+
+Remember that gap we didn't close in step 9? Time to close it.
+
+Use a slipstitch to hand-sew the lining to the fabric and close the hem.
+
+## Step 12: Make the buttonholes
+
+
+
+If you haven't done so yet, transfer the buttonhole placement from your pattern
+onto your fabric.
+
+Make those buttonholes.
+
+## Step 13: Attach the buttons
+
+
+
+Pin your waistcoat closed and transfer the location of your buttonholes to the button side.
+
+Sew on those buttons.
+
+:::tip
+You could also transfer the location of the buttons from the pattern. However,
+transferring the buttonholes you just made assures you that the buttons and
+buttonholes will line up, even if your buttonhole(s) is/are ever so slightly
+off.
+:::
+
+## Step 14: Optional: Pick-stitch the edges
+
+
+
+If you'd like, you can pick-stitch around the edges of your waistcoat.
+
+Pick-stitching needs to be done by hand. You run a simple stitch a few mm from
+the edges of your waistcoat, but only let your stitches surface for a few
+threads. You've certainly seen it as a finish on suit jackets.
+
+:::tip
+You can pick-stitch with thread of the same colour, or use a contrasting colour
+if you're feeling bold.
+:::
+
+:::note
+While pick-stitching adds a distinctive look, it also locks your fabric to your
+lining/facing which prevents things from shifting around.
+:::
+
+After this, you probably want to iron your waistcoat.
diff --git a/sites/orgdocs/docs/designs/wahid/options/armholedepth/armholedepthfactor.svg b/sites/orgdocs/docs/designs/wahid/options/armholedepth/armholedepthfactor.svg
new file mode 100644
index 00000000000..16f9bd32328
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/armholedepth/armholedepthfactor.svg
@@ -0,0 +1,58 @@
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/armholedepth/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/armholedepth/readme.mdx
new file mode 100644
index 00000000000..25b6df9291b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/armholedepth/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Armhole depth'
+---
+
+This option controls the depth of the armhole.
+
+This option applies to the new v3 way of calculating the armhole depth.
+If you enable the [legacy armhole depth](/docs/designs/wahid/options/legacyarmholedepth) option, this option will not apply, but instead it's legacy version [armhole depth factor](/docs/designs/wahid/options/armholedepthfactor) will.
diff --git a/sites/orgdocs/docs/designs/wahid/options/armholedepthfactor/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/armholedepthfactor/readme.mdx
new file mode 100644
index 00000000000..ee7f7bd7cb1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/armholedepthfactor/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Armhole depth factor'
+---
+
+This option controls the depth of the armhole.
diff --git a/sites/orgdocs/docs/designs/wahid/options/backinset/backinset.svg b/sites/orgdocs/docs/designs/wahid/options/backinset/backinset.svg
new file mode 100644
index 00000000000..c39486d7da9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/backinset/backinset.svg
@@ -0,0 +1,330 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/backinset/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/backinset/readme.mdx
new file mode 100644
index 00000000000..17d1ab61242
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/backinset/readme.mdx
@@ -0,0 +1,13 @@
+---
+title: 'Back inset'
+---
+
+
+
+How far do you want your waistcoat armhole to curve inwards on the back side?
+
+:::note What's the point?
+
+The armhole of your waistcoat can curve further inward, given that there is no
+sleeve attached to it. This influences the style of the waistcoat.
+:::
diff --git a/sites/orgdocs/docs/designs/wahid/options/backneckcutout/backneckcutout.svg b/sites/orgdocs/docs/designs/wahid/options/backneckcutout/backneckcutout.svg
new file mode 100644
index 00000000000..f847df833b9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/backneckcutout/backneckcutout.svg
@@ -0,0 +1,96 @@
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/backneckcutout/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/backneckcutout/readme.mdx
new file mode 100644
index 00000000000..bd6d03b26c9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/backneckcutout/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Back neck cutout'
+---
+
+
+
+Controls how deep the neck opening is cut out in the back of the garment.
+In other words, increasing this will shift the neck opening to the back.
diff --git a/sites/orgdocs/docs/designs/wahid/options/backscyedart/backscyedart.svg b/sites/orgdocs/docs/designs/wahid/options/backscyedart/backscyedart.svg
new file mode 100644
index 00000000000..d7d75968b8b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/backscyedart/backscyedart.svg
@@ -0,0 +1,575 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/backscyedart/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/backscyedart/readme.mdx
new file mode 100644
index 00000000000..6d2ea5f0804
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/backscyedart/readme.mdx
@@ -0,0 +1,18 @@
+---
+title: 'Back scye dart'
+---
+
+
+
+This pattern comes with a default 0.5 cm scye dart (think armhole dart) on the back.
+You can increase or decrease the dart to influence the armhole.
+
+:::note What's the point?
+
+The point of this dart is to make sure the armhole lies flat against your body,
+rather than gape. Given that there is no sleeve, a gaping armhole is
+particularly unsightly.
+
+While this dart is used to shape the pattern, you don't have to sew the dart
+because it's incorporated in the shoulder seam line.
+:::
diff --git a/sites/orgdocs/docs/designs/wahid/options/buttons/buttons.svg b/sites/orgdocs/docs/designs/wahid/options/buttons/buttons.svg
new file mode 100644
index 00000000000..4e62af9dcb3
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/buttons/buttons.svg
@@ -0,0 +1,923 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/buttons/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/buttons/readme.mdx
new file mode 100644
index 00000000000..906b5046d99
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/buttons/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Number of buttons'
+---
+
+
+
+How many buttons do you want?
diff --git a/sites/orgdocs/docs/designs/wahid/options/centerbackdart/centerbackdart.svg b/sites/orgdocs/docs/designs/wahid/options/centerbackdart/centerbackdart.svg
new file mode 100644
index 00000000000..84299b887c6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/centerbackdart/centerbackdart.svg
@@ -0,0 +1,665 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/centerbackdart/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/centerbackdart/readme.mdx
new file mode 100644
index 00000000000..9c03345e91b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/centerbackdart/readme.mdx
@@ -0,0 +1,18 @@
+---
+title: 'Center back dart'
+---
+
+
+
+Since nobody has a perfectly straight back, this pattern tapers in with 0.5 cm at the center back of your neck.
+
+:::note What's the point?
+
+If your back slumps forward a bit, fabric tends to pool at the back of your
+neck. With no sleeves or collar, this causes your neckline to gape. This
+option tapers the fabric inwards at the back of your neck. It does so by 0.5 cm
+by default, but you can increase or decrease that value.
+
+Technically this is not a dart, but I wasn't sure how else to call it.
+Suggestions welcome.
+:::
diff --git a/sites/orgdocs/docs/designs/wahid/options/chestease/chestease.svg b/sites/orgdocs/docs/designs/wahid/options/chestease/chestease.svg
new file mode 100644
index 00000000000..afa38b61046
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/chestease/chestease.svg
@@ -0,0 +1,678 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/chestease/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/chestease/readme.mdx
new file mode 100644
index 00000000000..be178823fda
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/chestease/readme.mdx
@@ -0,0 +1,13 @@
+---
+title: 'Chest ease'
+---
+
+
+
+How much room do you want at the chest?
+
+:::note
+
+Given that a waistcoat has no arms, a little chest ease goes a long way. Add
+too much, and you'll end up with gaping armholes.
+:::
diff --git a/sites/orgdocs/docs/designs/wahid/options/draftforhighbust/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/draftforhighbust/readme.mdx
new file mode 100644
index 00000000000..8c2cc640d21
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/draftforhighbust/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: Draft for high bust
+---
+
+Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts.
diff --git a/sites/orgdocs/docs/designs/wahid/options/frontinset/frontinset.svg b/sites/orgdocs/docs/designs/wahid/options/frontinset/frontinset.svg
new file mode 100644
index 00000000000..d4548c29376
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/frontinset/frontinset.svg
@@ -0,0 +1,947 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/frontinset/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/frontinset/readme.mdx
new file mode 100644
index 00000000000..53484f7deb4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/frontinset/readme.mdx
@@ -0,0 +1,13 @@
+---
+title: 'Front inset'
+---
+
+
+
+How far do you want your waistcoat armhole to curve inwards on the front?
+
+:::note What's the point?
+
+The armhole of your waistcoat can curve further inward, given that there is no
+sleeve attached to it. This influences the style of the waistcoat.
+:::
diff --git a/sites/orgdocs/docs/designs/wahid/options/frontscyedart/frontscyedart.svg b/sites/orgdocs/docs/designs/wahid/options/frontscyedart/frontscyedart.svg
new file mode 100644
index 00000000000..11b0f34395f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/frontscyedart/frontscyedart.svg
@@ -0,0 +1,960 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/frontscyedart/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/frontscyedart/readme.mdx
new file mode 100644
index 00000000000..0de750b3d86
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/frontscyedart/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Front scye dart'
+---
+
+This pattern comes with a default 1 cm scye dart (think armhole dart) at the front.
+
+You can increase or decrease the dart to influence the armhole.
+
+> #### What's the point?
+>
+> The point of this dart is to make sure the armhole lies flat against your body, rather than gape.
+> Given that there is no sleeve, a gaping armhole is particularly unsightly.
+
+> While this dart is used to shape the pattern, you don't have to sew the dart because it's incorporated in the front dart.
diff --git a/sites/orgdocs/docs/designs/wahid/options/frontstyle/frontstyle.svg b/sites/orgdocs/docs/designs/wahid/options/frontstyle/frontstyle.svg
new file mode 100644
index 00000000000..d3db981f7b4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/frontstyle/frontstyle.svg
@@ -0,0 +1,952 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/frontstyle/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/frontstyle/readme.mdx
new file mode 100644
index 00000000000..fbce3f3418a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/frontstyle/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Neck opening style'
+---
+
+
+
+Do you want a classic straight neckline, or a curved neckline?
diff --git a/sites/orgdocs/docs/designs/wahid/options/hemradius/hemradius.svg b/sites/orgdocs/docs/designs/wahid/options/hemradius/hemradius.svg
new file mode 100644
index 00000000000..635ab164847
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/hemradius/hemradius.svg
@@ -0,0 +1,1188 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/hemradius/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/hemradius/readme.mdx
new file mode 100644
index 00000000000..0232df7c75f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/hemradius/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Hem radius'
+---
+
+
+
+Determines the radius of the hem if you opted for a rounded hem.
diff --git a/sites/orgdocs/docs/designs/wahid/options/hemstyle/hemstyle.svg b/sites/orgdocs/docs/designs/wahid/options/hemstyle/hemstyle.svg
new file mode 100644
index 00000000000..850c6cc8bdd
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/hemstyle/hemstyle.svg
@@ -0,0 +1,953 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/hemstyle/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/hemstyle/readme.mdx
new file mode 100644
index 00000000000..1a1f1130558
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/hemstyle/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Hem style'
+---
+
+
+
+Do you want a classic hemline, or a rounded hemline?
diff --git a/sites/orgdocs/docs/designs/wahid/options/hipsease/hipsease.svg b/sites/orgdocs/docs/designs/wahid/options/hipsease/hipsease.svg
new file mode 100644
index 00000000000..dfd3fbbd457
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/hipsease/hipsease.svg
@@ -0,0 +1,678 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/hipsease/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/hipsease/readme.mdx
new file mode 100644
index 00000000000..ca98d446f75
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/hipsease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Hips ease'
+---
+
+
+
+How much room do you want at your hips?
diff --git a/sites/orgdocs/docs/designs/wahid/options/legacyarmholedepth/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/legacyarmholedepth/readme.mdx
new file mode 100644
index 00000000000..dea4d80761e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/legacyarmholedepth/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Legacy armhole depth'
+---
+
+This option allows you to use the legacy way of calculating the armhole depth in Brian, which Wahid extends.
+
+The legacy (v2) way used the biceps circumference to estimate the armhole depth.
+
+The v3 way instead uses the waist to armpit measurement to locate the bottom of the armhole.
+
+If you enable this option, the Brian block will revert to the v2 way of calculating the armhole depth, and Wahid will follow.
diff --git a/sites/orgdocs/docs/designs/wahid/options/lengthbonus/lengthbonus.svg b/sites/orgdocs/docs/designs/wahid/options/lengthbonus/lengthbonus.svg
new file mode 100644
index 00000000000..11287db8ab0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/lengthbonus/lengthbonus.svg
@@ -0,0 +1,974 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/lengthbonus/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/lengthbonus/readme.mdx
new file mode 100644
index 00000000000..9b38c643115
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/lengthbonus/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Length bonus'
+---
+
+
+
+This option allows you to lengthen (or shorten) your waistcoat.
diff --git a/sites/orgdocs/docs/designs/wahid/options/neckinset/neckinset.svg b/sites/orgdocs/docs/designs/wahid/options/neckinset/neckinset.svg
new file mode 100644
index 00000000000..3da65c0a6bf
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/neckinset/neckinset.svg
@@ -0,0 +1,1224 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/neckinset/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/neckinset/readme.mdx
new file mode 100644
index 00000000000..c3ab769956f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/neckinset/readme.mdx
@@ -0,0 +1,14 @@
+---
+title: 'Neck inset'
+---
+
+
+
+How far do you want your waistcoat to sit away from your collar on your
+shoulder seam? The default is 2cm.
+
+:::note What's the point?
+
+The shoulder seam of a waistcoat is typically more narrow than your shirt. This
+option controls how narrow it gets (on the collar side).
+:::
diff --git a/sites/orgdocs/docs/designs/wahid/options/necklinedrop/necklinedrop.svg b/sites/orgdocs/docs/designs/wahid/options/necklinedrop/necklinedrop.svg
new file mode 100644
index 00000000000..2831db80d5e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/necklinedrop/necklinedrop.svg
@@ -0,0 +1,948 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/necklinedrop/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/necklinedrop/readme.mdx
new file mode 100644
index 00000000000..2317f2cb48a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/necklinedrop/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Neckline drop'
+---
+
+
+
+This options allows you to lower your neckline below the default.
diff --git a/sites/orgdocs/docs/designs/wahid/options/pocketangle/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/pocketangle/readme.mdx
new file mode 100644
index 00000000000..51461c40d0b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/pocketangle/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Pocket angle'
+---
+
+Controls the angle of the pocket slant.
diff --git a/sites/orgdocs/docs/designs/wahid/options/pocketlocation/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/pocketlocation/readme.mdx
new file mode 100644
index 00000000000..c12c98133bd
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/pocketlocation/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Pocket location'
+---
+
+Controls the location of the pockets.
diff --git a/sites/orgdocs/docs/designs/wahid/options/pocketwidth/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/pocketwidth/readme.mdx
new file mode 100644
index 00000000000..b62bd640342
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/pocketwidth/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Pocket width'
+---
+
+Controls the width of the pockets.
diff --git a/sites/orgdocs/docs/designs/wahid/options/shoulderinset/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/shoulderinset/readme.mdx
new file mode 100644
index 00000000000..1b4cd931909
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/shoulderinset/readme.mdx
@@ -0,0 +1,13 @@
+---
+title: 'Shoulder inset'
+---
+
+
+
+How far do you want your waistcoat to sit away from your shoulder on the
+shoulder seam? The default is 2cm.
+
+:::note What's the point?
+The shoulder seam of a waistcoat is typically more narrow than your shirt. This
+option controls how narrow it gets (on the shoulder side).
+:::
diff --git a/sites/orgdocs/docs/designs/wahid/options/shoulderinset/shoulderinset.svg b/sites/orgdocs/docs/designs/wahid/options/shoulderinset/shoulderinset.svg
new file mode 100644
index 00000000000..bacb1dd0927
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/shoulderinset/shoulderinset.svg
@@ -0,0 +1,1214 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/shoulderslopereduction/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/shoulderslopereduction/readme.mdx
new file mode 100644
index 00000000000..49a6b73f1e2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/shoulderslopereduction/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Shoulder slope reduction'
+---
+
+
+
+Reduces the shoulder slope to create extra room for shoulder padding.
diff --git a/sites/orgdocs/docs/designs/wahid/options/shoulderslopereduction/shoulderslopereduction.svg b/sites/orgdocs/docs/designs/wahid/options/shoulderslopereduction/shoulderslopereduction.svg
new file mode 100644
index 00000000000..31536e0feb1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/shoulderslopereduction/shoulderslopereduction.svg
@@ -0,0 +1,153 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/waistease/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/waistease/readme.mdx
new file mode 100644
index 00000000000..ad64d443d0e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/waistease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Waist ease'
+---
+
+
+
+How much room do you want at the waist?
diff --git a/sites/orgdocs/docs/designs/wahid/options/waistease/waistease.svg b/sites/orgdocs/docs/designs/wahid/options/waistease/waistease.svg
new file mode 100644
index 00000000000..8842f8674f0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/waistease/waistease.svg
@@ -0,0 +1,678 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/wahid/options/weltheight/readme.mdx b/sites/orgdocs/docs/designs/wahid/options/weltheight/readme.mdx
new file mode 100644
index 00000000000..0f9532a2fd3
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/options/weltheight/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Welt height'
+---
+
+Controls the height of the pocket welts.
diff --git a/sites/orgdocs/docs/designs/wahid/readme.mdx b/sites/orgdocs/docs/designs/wahid/readme.mdx
new file mode 100644
index 00000000000..adb25f19147
--- /dev/null
+++ b/sites/orgdocs/docs/designs/wahid/readme.mdx
@@ -0,0 +1,62 @@
+---
+title: "Wahid: FreeSewing's Wahid Waistcoat"
+sidebar_label: Wahid Waistcoat
+---
+
+
+
+## Designer Notes {#notes}
+
+I like waistcoats. I think they are not only pretty to look at, they are also
+warm, cut down on the amount of shirt ironing you have to do, and have these
+cute little pockets you can put tiny things in.
+
+So, I designed Wahid so I could make waistcoats for myself.
+
+joost
+
+## What You Need {#needs}
+
+To make Wahid, you will need the following:
+
+- Basic sewing supplies
+- About 1 meter (1.1 yards) of a suitable fabric ([see Fabric options](#fabric))
+- About 1 meter (1.1 yards) of lining fabric
+- Fusible interfacing
+- Buttons
+
+## Fabric Options {#fabric}
+
+All suiting fabrics are a great choice for your waistcoats. Any fabric shop
+that's worth your business should have a suiting section. You can just walk in,
+ask where you can find the fabric for suits, and pick out something you like.
+
+These fabrics are typically wool, but you can also be a bit more creative and
+go for something else.
+
+:::tip
+You do need a bit of weight though. Denim is fine, some light cotton is not.
+:::
+
+## Cutting Instructions {#cutting}
+
+- **Main fabric**
+ - Cut **2 front(s)** with _good sides together_
+ - Cut **2 back(s)** with _good sides together_
+ - Cut **2 front facing(s)** with _good sides together_
+ - Cut **2 pocket welt(s)** with _good sides together_
+ - Cut **2 pocket facing(s)** with _good sides together_
+- **Lining fabric**
+ - Cut **2 front lining(s)** with _good sides together_
+ - Cut **2 back(s)** with _good sides together_
+ - Cut **2 pocket bag(s)** with _good sides together_
+- **Interfacing**
+ - Cut **2 front(s)** with _good sides together_
+ - Cut **2 pocket interfacing(s)**
+
+:::warning Caveats
+
+- Do not cut out the **front** dart
+- Do not cut out the **back** dart
+- Watch out for the grainline on the **pocket welt** and **pocket facing**
+ :::
diff --git a/sites/orgdocs/docs/designs/walburga/instructions/readme.mdx b/sites/orgdocs/docs/designs/walburga/instructions/readme.mdx
new file mode 100644
index 00000000000..a5f3157b9d2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/walburga/instructions/readme.mdx
@@ -0,0 +1,48 @@
+---
+title: 'Walburga Wappenrock: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+:::note
+Walburga is a historically inspired pattern, and if you want more authenticity,
+handsewing is the way to go. Personally, I use a sewing machine. You do you.
+:::
+
+### Step 1: Sew shoulder seams
+
+Put front and back pieces with good sides together. Sew the shoulder seams,
+taking care to stop at the notches for the head opening.
+
+### Step 2: Finish seams and head opening
+
+Finish the seams and the raw edges at the head opening, with a method of your
+choice. (If you used the fabrics recommended in the [fabric
+options](/docs/designs/walburga#fabric), they _will_ fray. Folding the seam
+allowance twice, enclosing the raw edge and topstitching is an option. You can
+also use decorative topstitching.)
+
+### (Optional) Step 3: Cut slits
+
+:::note
+This step is optional, you can also opt not to cut slits. If so, continue with
+[step 4](#step4).
+:::
+
+:::warning
+If you cut slits, there will be no seam (or hem) allowance to finish the edge
+there. Think about this before you cut.
+:::
+
+Cut into your fabric until the notch, both on the front and back piece.
+
+### Step 4: Finish edges {#step4}
+
+Finish the edges of the garment. This is a good time to use bias tape or
+similar to enclose the raw edge (especially if you cut slits in step 3). This
+step can take some time, so be patient.
+
+### Step 5: That's it!
+
+You're done! You could now appliqué/embroider/otherwise attach a symbol or
+heraldics of your choice onto your garment.
diff --git a/sites/orgdocs/docs/designs/walburga/options/headratio/readme.mdx b/sites/orgdocs/docs/designs/walburga/options/headratio/readme.mdx
new file mode 100644
index 00000000000..2f847c6ca26
--- /dev/null
+++ b/sites/orgdocs/docs/designs/walburga/options/headratio/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Head ratio'
+---
+
+Controls the size of the head opening
diff --git a/sites/orgdocs/docs/designs/walburga/options/length/readme.mdx b/sites/orgdocs/docs/designs/walburga/options/length/readme.mdx
new file mode 100644
index 00000000000..2b5c50bb8eb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/walburga/options/length/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Length'
+---
+
+Controls the length of the garment
diff --git a/sites/orgdocs/docs/designs/walburga/options/lengthbonus/readme.mdx b/sites/orgdocs/docs/designs/walburga/options/lengthbonus/readme.mdx
new file mode 100644
index 00000000000..2e5bdd82c16
--- /dev/null
+++ b/sites/orgdocs/docs/designs/walburga/options/lengthbonus/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Length bonus'
+---
+
+Allows variation of the length of the garment
diff --git a/sites/orgdocs/docs/designs/walburga/options/neckline/readme.mdx b/sites/orgdocs/docs/designs/walburga/options/neckline/readme.mdx
new file mode 100644
index 00000000000..235ed465701
--- /dev/null
+++ b/sites/orgdocs/docs/designs/walburga/options/neckline/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Neckline'
+---
+
+Controls whether or not to draft a neck opening
diff --git a/sites/orgdocs/docs/designs/walburga/options/neckoratio/readme.mdx b/sites/orgdocs/docs/designs/walburga/options/neckoratio/readme.mdx
new file mode 100644
index 00000000000..e58dcff73c6
--- /dev/null
+++ b/sites/orgdocs/docs/designs/walburga/options/neckoratio/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Neck opening shape'
+---
+
+controls the shape of the neck opening
diff --git a/sites/orgdocs/docs/designs/walburga/options/widthbonus/readme.mdx b/sites/orgdocs/docs/designs/walburga/options/widthbonus/readme.mdx
new file mode 100644
index 00000000000..99d6b3c947b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/walburga/options/widthbonus/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Width bonus'
+---
+
+Allows variation of the width of the garment
diff --git a/sites/orgdocs/docs/designs/walburga/readme.mdx b/sites/orgdocs/docs/designs/walburga/readme.mdx
new file mode 100644
index 00000000000..e78971c9ac5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/walburga/readme.mdx
@@ -0,0 +1,92 @@
+---
+title: "Walburga: FreeSewing's Warlburga Wappenrock"
+sidebar_label: Walburga Wappenrock
+---
+
+
+
+## Designer Notes {#notes}
+
+Walburga is the odd one out of the three patterns, because it still is
+"historically inspired", but does not actually follow any real historical
+garment. It is based on tabards ("Wappenrock" in German, hence the name
+starting with a W), handwavingly placed in a western European middle ages
+setting. To be honest, it is inspired more by the Legend of Zelda than anything
+real.
+
+I created this pattern because I needed something for my TTRPG character,
+basically a fantasy Roman, to display his heraldics on, and since I could not
+find anything in the literature about Romans doing this in a reliably
+documented way, I went the "it's all fantasy anyway"-route. (And I had a weird
+fascination with tabards as a kid, so it was a natural fit.)
+
+Coding-wise, I spend some time on it because I wanted the triangular
+terminations to look _just right_, so I fiddled with the golden ratio to ensure
+it looked nice, no matter what the size.
+
+The name comes from me thinking about vaguely mediaeval names starting with W,
+and somehow `walburga` popped into my head.
+
+Rika
+
+:::tip Related
+Lunetius, Tiberius and Walburga really come as a set. Not only were they born
+at the same time, they are designed to work together to form a full outfit. Not
+that this means that they can't be made separately :wink:
+
+See also: [Lunetius Designer Notes](/docs/designs/lunetius#notes) and [Tiberius
+Designer Notes](/docs/designs/tiberius#notes).
+:::
+
+:::note On Historical Accuracy
+
+The further we go back in time, the less extant garments we have to base
+research on. Often there may be scraps of fabric left behind by stroke of luck
+but most of our information starts to come from (in archaeology) secondary
+sources like written texts from contemporaries.
+
+This is especially true for the Roman and Mediaeval eras, not to mention that a
+lot of the available research is behind a paywall.
+
+We can’t be 100 percent historically accurate, because we’re living in a
+different time, and everything we use to sew is different now from before. Even
+fabric is woven in a different way.
+
+How ‘accurate’ you want to be is up to you, there is no wrong way to do this
+and research is not required -- though it can be fun!
+:::
+
+## What You Need {#needs}
+
+To make Walburga, you will need the following:
+
+- [Basic sewing supplies](/docs/sewing/basic-sewing-supplies)
+- About 1 meter (1.1 yards) of a suitable fabric (see [Fabric
+ options](#fabric))
+- (optional) about 3 metres (3.3 yards) of bias tape or trimmings to finish the
+ raw edges
+
+## Fabric Options {#fabric}
+
+Walburga can be made out of almost any woven fabric. Historically "accurate"
+would be linen, wool, and, to an extent, cotton. If you care about
+authenticity, research this a bit. In any case, natural fibers without any
+stretch are the way to go.
+
+Depending on the social status you want to portray, choose coarser or finer
+fabrics. Different colours are also possible.
+
+If you want to embroider or appliqué on your Walburga, make sure that your main
+fabric will support your design.
+
+## Cutting Instructions {#cutting}
+
+Walburga consists of two parts, a _front_ and a _back_ piece.
+
+:::tip
+Apart from the cutout for the neck opening, front and back are identical. It is
+therefore enough to print only the front part.
+:::
+
+- cut _1 front_, _on the fold_
+- cut _1 back_, _on the fold_
diff --git a/sites/orgdocs/docs/designs/yuri/instructions/readme.mdx b/sites/orgdocs/docs/designs/yuri/instructions/readme.mdx
new file mode 100644
index 00000000000..dc97b87d8ef
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/instructions/readme.mdx
@@ -0,0 +1,184 @@
+---
+title: 'Yuri hoodie: Sewing Instructions'
+sidebar_label: Sewing Instructions
+sidebar_position: 20
+---
+
+This pattern can be sewn with or with out a overlocker/serger. To _finish_
+seams without a overlocker/serger you can either use your preferred method or
+one of the methods below:
+
+##### Finishing Method 1
+
+- Press open the seam allowances.
+- Then on the good side, _edgestitch_ 3mm (1/8 inch) away or closer to both
+ sides of the seam catching the seam allowances underneath.
+- On the wrong side trim the seam allowances close to the edgestitching.
+
+##### Finishing Method 2
+
+- Sew the seam allowances together with either a zig-zag, overcast or straight
+ stitch and press to one side.
+- Trim to 1cm (3/8 inch) seam allowance if needed.
+
+:::tip
+If using a overlocker/serger you can sew seams which need finishing in one go
+rather than sewing the seam conventionally and finishing it.
+:::
+
+## Step 1: Attaching the Gussets
+
+- With the good sides together, sew the gussets to the front panels along the
+ side seams.
+- _finish_ seams.
+
+## Step 2: Sew the Shoulder Seams
+
+- With good sides together, sew the front pieces to the back along the shoulder
+ seams.
+- _finish_ seams.
+
+## Step 3: Attach the Sleeves
+
+- With good sides together, matching back notch to back notch and front notch
+ to front notch, sew the sleeves to the body.
+- _finish_ seams.
+
+:::tip
+On the pattern the back notch is marked as a cross-notch (see [our pattern
+notation guide](/docs/about/notation#notches)). It is recommended to make this
+a double notch when cutting out your pieces to make the back notch easier to
+differentiate from the front.
+:::
+
+## Step 4: Hem the Sleeves
+
+- (Optional) Overcast the raw edge of the sleeve.
+- Press the hem allowance to the wrong side of the fabric and baste in place
+ close to the raw edge.
+- On the outside, stitch away from the folded edge, catching the hem allowance
+ underneath using the basting as guide to where the raw edge is.
+- (Optional) On the outside, stitch 6mm (1/4 inch) parallel to original stitch
+ along the hem allowance.
+- Remove basting.
+
+:::tip
+If you prefer to hem your sleeves after sewing the side seams you can do this
+step after **Step 5**. You can skip the overcasting if using a twin needle,
+coverstitch machine or if you wish to leave the edge raw when hemming. This is
+just one hemming method, if you prefer another way go for it.
+:::
+
+## Step 5: Close the Sides
+
+- With good sides together, matching shoulder seams, start at the sleeve edge
+ and sew the sleeve together than sew the gusset and back together.
+- _finish_ seams.
+- Repeat for remaining sleeve and side opening.
+
+## Step 6: Hem the Raw Edges
+
+- Fold under and sew the hem on all the raw edges except around the neck edge.
+- Sew the hem from the top of one front, to the bottom of the front, then along
+ the bottom of the gusset, then along the bottom of the back, then along
+ bottom of the other gusset, and then up to the neck of the other front.
+
+## Step 7: Prepare Lining and Outside Hood
+
+Follow this step twice, once for the outer hood and once for the lining hood.
+
+- With good sides together, sew the long edge of the Hood Centre to the outer
+ edge of one of the Hood Sides.
+- With good sides together, sew the remaining long edge of the Hood Centre to
+ the outer edge of the other Hood Side.
+- Press the seam allowances open.
+- _finish_ seams.
+
+:::note
+It is recommended to use **Finishing Method 1** for this step regardless of
+whether you are using a overlocker/serger.
+:::
+
+## Step 8: Join Inside and Outside Hood
+
+- With _good sides together_, pin the Outside and Lining Hoods together
+ matching the seams.
+- Sew the pinned edge together.
+- Trim the seam allowance to 1cm (3/8 inch) if your chosen seam allowance is
+ bigger and you have not used and overlocker/serger. Otherwise _do not_ trim
+ the seam.
+- Turn the hood good sides out and press the outer edge flat.
+- On the outside Topstitch along the edge of the hood, about 1.5 - 2cm (5/8 -
+ 3/4 inch) from the edge. Ensure that your topstitching encloses but does not
+ go through the seam allowance of the outer hood edge. This will create a
+ decorative rim, with the enclosed seam allowance making the rim a bit poofy.
+- With raw edges together, overcast the bottom of the hood. You can either do
+ this with an overlocker/serger or a zig-zag or overcast stitch on a regular
+ machine.
+
+:::tip
+When pressing you want to make sure that the outer fabric folds a little bit to
+the inside. This will help prevent the lining from peaking out of the hood when
+topstitched. If you do not wish to have the decorative rim, you may still want
+to understitch the lining so it does not peak to the outside.
+:::
+
+## Step 9: Prepping a Neckband for the Hood (Optional)
+
+- Cut a cross-wise strip of fabric out of your main fabric, your neck opening +
+ 2cm (3/4 inch) long and triple your neck seam allowance wide.
+- Press under 1cm (3/8 inch) allowance on the short sides.
+
+:::tip
+Whilst marked optional, it is recommended to do this step as it creates a
+neater and stronger finish around the neck. You can also make a folded band so
+the neckband does not have a raw edge but this may be bulky. You will also need
+to make sure the folded edge extends slightly longer than 1cm to be caught when
+attaching and topstitching the hood but not so long that it flaps about.
+:::
+
+## Step 10: Attach the Hood
+
+- With good sides together, starting from the centre back pin the hood to the
+ neck, matching the centre backs and overlapping the hood ends at the centre
+ front.
+- With good side of neckband to lining side of hood, pin the neckband to the
+ hood matching middle of the neckband to the centre back.
+- If using an overlocker/serger, serge the neck and hood together through all
+ layers.
+- If using a sewing machine, use a zig-zag stitch to sew all the neck and hood
+ layers together.
+- On the outside check around the neckline to make sure all the layers are
+ caught.
+- Press seam allowances towards the body.
+- On the good side, topstitch with a straight stitch approximately 1cm (3/8
+ inch) away from the neck edge towards the body to catch and secure the
+ neckband underneath.
+- Trim the excess binding from the inside.
+
+:::warning
+If using a overlocker/serger to attach the hood you may want to attach bulky
+areas down first with a straight stitch such as the front as an
+overlocker/serger may have trouble sewing these parts.
+:::
+
+:::note
+If you are worried that topstitching the neckband with a straight stitch will
+not give enough stretch you can always topstitch it with a narrow zig-zag or
+appropriate stretch stitch of your choosing. If you are not using a neckband
+you will want to finish the seam with **Finishing Method 2** and topstitch with
+6mm (1/4 inch) instead of 1cm (3/8 inch).
+:::
+
+## Step 11: Buttons and buttonholes
+
+- At the buttonhole marks on the front panels, sew button holes for 2.5cm (1
+ inch) buttons or button size of your choosing.
+- For button placement you may want to try your Yuri on and see where the
+ buttons fit the best for you.
+- Alternatively you can use the button markings on the pattern for placement.
+- Attach the buttons.
+
+## Step 12 : Ta-daaa
+
+Enjoy your Yuri!
diff --git a/sites/orgdocs/docs/designs/yuri/options/acrossbackfactor/acrossbackfactor.svg b/sites/orgdocs/docs/designs/yuri/options/acrossbackfactor/acrossbackfactor.svg
new file mode 100644
index 00000000000..02eb76aef9e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/acrossbackfactor/acrossbackfactor.svg
@@ -0,0 +1,1366 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/acrossbackfactor/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/acrossbackfactor/readme.mdx
new file mode 100644
index 00000000000..e885fb27970
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/acrossbackfactor/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Across back factor'
+---
+
+
+
+Controls your across back width as a factor of your shoulder to shoulder measurement
diff --git a/sites/orgdocs/docs/designs/yuri/options/armholedepth/armholedepthfactor.svg b/sites/orgdocs/docs/designs/yuri/options/armholedepth/armholedepthfactor.svg
new file mode 100644
index 00000000000..16f9bd32328
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/armholedepth/armholedepthfactor.svg
@@ -0,0 +1,58 @@
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/armholedepth/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/armholedepth/readme.mdx
new file mode 100644
index 00000000000..409d4fbfe44
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/armholedepth/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Armhole depth'
+---
+
+This option controls the depth of the armhole.
+
+This option applies to the new v3 way of calculating the armhole depth.
+If you enable the [legacy armhole depth](/docs/designs/sven/options/legacyarmholedepth) option, this option will not apply, but instead it's legacy version [armhole depth factor](/docs/designs/sven/options/armholedepthfactor) will.
diff --git a/sites/orgdocs/docs/designs/yuri/options/armholedepthfactor/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/armholedepthfactor/readme.mdx
new file mode 100644
index 00000000000..ee7f7bd7cb1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/armholedepthfactor/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Armhole depth factor'
+---
+
+This option controls the depth of the armhole.
diff --git a/sites/orgdocs/docs/designs/yuri/options/backneckcutout/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/backneckcutout/readme.mdx
new file mode 100644
index 00000000000..93304ab45f5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/backneckcutout/readme.mdx
@@ -0,0 +1,6 @@
+---
+title: 'Back neck cutout'
+---
+
+Controls how deep the neck opening is cut out in the back of the garment.
+In other words, increasing this will shift the neck opening to the back.
diff --git a/sites/orgdocs/docs/designs/yuri/options/bicepsease/bicepsease.svg b/sites/orgdocs/docs/designs/yuri/options/bicepsease/bicepsease.svg
new file mode 100644
index 00000000000..ed43a7f7ea3
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/bicepsease/bicepsease.svg
@@ -0,0 +1,1277 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/bicepsease/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/bicepsease/readme.mdx
new file mode 100644
index 00000000000..dd89bdc21d5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/bicepsease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Biceps ease'
+---
+
+
+
+How much room do you want at your upper arm?
diff --git a/sites/orgdocs/docs/designs/yuri/options/chestease/chestease.svg b/sites/orgdocs/docs/designs/yuri/options/chestease/chestease.svg
new file mode 100644
index 00000000000..33570bc8d76
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/chestease/chestease.svg
@@ -0,0 +1,1233 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/chestease/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/chestease/readme.mdx
new file mode 100644
index 00000000000..9b9f981ec20
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/chestease/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Chest ease'
+---
+
+
+
+How much room do you want at the chest?
+Whatever value you provide here will simply be added to your chest circumference measurement when drafting the garment.
diff --git a/sites/orgdocs/docs/designs/yuri/options/collarease/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/collarease/readme.mdx
new file mode 100644
index 00000000000..24633794c0b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/collarease/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: 'Collar ease'
+---
+
+Controls the amount of ease at your collar/neck.
diff --git a/sites/orgdocs/docs/designs/yuri/options/cuffease/cuffease.svg b/sites/orgdocs/docs/designs/yuri/options/cuffease/cuffease.svg
new file mode 100644
index 00000000000..f9db441c6d5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/cuffease/cuffease.svg
@@ -0,0 +1,1277 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/cuffease/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/cuffease/readme.mdx
new file mode 100644
index 00000000000..3df8aba0887
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/cuffease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Cuff ease'
+---
+
+
+
+How much room do you want at your wrist?
diff --git a/sites/orgdocs/docs/designs/yuri/options/draftforhighbust/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/draftforhighbust/readme.mdx
new file mode 100644
index 00000000000..8c2cc640d21
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/draftforhighbust/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: Draft for high bust
+---
+
+Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts.
diff --git a/sites/orgdocs/docs/designs/yuri/options/frontarmholedeeper/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/frontarmholedeeper/readme.mdx
new file mode 100644
index 00000000000..597175fe44e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/frontarmholedeeper/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Front armhole extra cutout'
+---
+
+Controls how much the front of the armhole is cut deeper into the garment than the back.
+
+Since the human shoulder is more rounded at the front of the body, the sleeve(cap) is more
+rounded there too, and the armhole is typically cut deeper into the front of the garment than
+the back. This option controls how much deeper.
diff --git a/sites/orgdocs/docs/designs/yuri/options/hipsease/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/hipsease/readme.mdx
new file mode 100644
index 00000000000..b34c1f41b66
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/hipsease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Hips ease'
+---
+
+---
+
+Controls the amount of ease at your hips (the bottom of the sweater)
diff --git a/sites/orgdocs/docs/designs/yuri/options/legacyarmholedepth/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/legacyarmholedepth/readme.mdx
new file mode 100644
index 00000000000..7833b859641
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/legacyarmholedepth/readme.mdx
@@ -0,0 +1,11 @@
+---
+title: 'Legacy armhole depth'
+---
+
+This option allows you to use the legacy way of calculating the armhole depth in Brian, which Sven extends.
+
+The legacy (v2) way used the biceps circumference to estimate the armhole depth.
+
+The v3 way instead uses the waist to armpit measurement to locate the bottom of the armhole.
+
+If you enable this option, the Brian block will revert to the v2 way of calculating the armhole depth, and Sven will follow.
diff --git a/sites/orgdocs/docs/designs/yuri/options/lengthbonus/lengthbonus.svg b/sites/orgdocs/docs/designs/yuri/options/lengthbonus/lengthbonus.svg
new file mode 100644
index 00000000000..44a13702f66
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/lengthbonus/lengthbonus.svg
@@ -0,0 +1,1173 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/lengthbonus/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/lengthbonus/readme.mdx
new file mode 100644
index 00000000000..1fa2ccaf98e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/lengthbonus/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Length bonus'
+---
+
+
+
+This option will lengthen the body of your sweatshirt.
diff --git a/sites/orgdocs/docs/designs/yuri/options/ribbing/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/ribbing/readme.mdx
new file mode 100644
index 00000000000..2421b018230
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/ribbing/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Ribbing'
+---
+
+
+
+Do you want ribbing at the hem/cuffs or not?
diff --git a/sites/orgdocs/docs/designs/yuri/options/ribbing/ribbing.svg b/sites/orgdocs/docs/designs/yuri/options/ribbing/ribbing.svg
new file mode 100644
index 00000000000..376fa7f753b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/ribbing/ribbing.svg
@@ -0,0 +1,683 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/ribbingheight/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/ribbingheight/readme.mdx
new file mode 100644
index 00000000000..b00797df36e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/ribbingheight/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Ribbing height'
+---
+
+
+
+The height of the ribbing at the hem/cuffs.
diff --git a/sites/orgdocs/docs/designs/yuri/options/ribbingheight/ribbingheight.svg b/sites/orgdocs/docs/designs/yuri/options/ribbingheight/ribbingheight.svg
new file mode 100644
index 00000000000..89c876af320
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/ribbingheight/ribbingheight.svg
@@ -0,0 +1,1175 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/ribbingstretch/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/ribbingstretch/readme.mdx
new file mode 100644
index 00000000000..7306887515b
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/ribbingstretch/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Ribbing stretch'
+---
+
+
+
+The amount of stretch we should foresee for the ribbing at the hem/cuffs.
diff --git a/sites/orgdocs/docs/designs/yuri/options/ribbingstretch/ribbingstretch.svg b/sites/orgdocs/docs/designs/yuri/options/ribbingstretch/ribbingstretch.svg
new file mode 100644
index 00000000000..edfc8ece71c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/ribbingstretch/ribbingstretch.svg
@@ -0,0 +1,1311 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/s3armhole/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/s3armhole/readme.mdx
new file mode 100644
index 00000000000..f179cd2081a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/s3armhole/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Shoulder seam shift: armhole side'
+---
+
+Controls the shoulder seam location on the armhole side.
+
+- Increase this option to shift the shoulder seam forward on the armhole side
+- Decrease this option to shift the shoulder seam backward on the armhole side
diff --git a/sites/orgdocs/docs/designs/yuri/options/s3collar/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/s3collar/readme.mdx
new file mode 100644
index 00000000000..96c213979e2
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/s3collar/readme.mdx
@@ -0,0 +1,8 @@
+---
+title: 'Shoulder seam shift: collar side'
+---
+
+Controls the shoulder seam location on the collar side.
+
+- Increase this option to shift the shoulder seam forward on the collar side
+- Decrease this option to shift the shoulder seam backward on the collar side
diff --git a/sites/orgdocs/docs/designs/yuri/options/shoulderease/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/shoulderease/readme.mdx
new file mode 100644
index 00000000000..72cc5f440af
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/shoulderease/readme.mdx
@@ -0,0 +1,9 @@
+---
+title: 'Shoulder ease'
+---
+
+Controls the amount of ease on the shoulder to shoulder measurement.
+
+This option allows you to create some extra ease at the shoulders which shifts
+the shoulder seam more outwards and off the shoulder. Thereby creating extra room
+for extra layers of clothing underneath, or more shaped/padded shoulders.
diff --git a/sites/orgdocs/docs/designs/yuri/options/shoulderslopereduction/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/shoulderslopereduction/readme.mdx
new file mode 100644
index 00000000000..56644673143
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/shoulderslopereduction/readme.mdx
@@ -0,0 +1,5 @@
+---
+title: Shoulder slope reduction
+---
+
+The amount by which the shoulder slope is reduced to allow for shoulder padding.
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecap.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecap.svg
new file mode 100644
index 00000000000..34eca409502
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecap.svg
@@ -0,0 +1,446 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapanchor.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapanchor.svg
new file mode 100644
index 00000000000..802276f7e75
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapanchor.svg
@@ -0,0 +1,559 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapbackfactorx/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapbackfactorx/readme.mdx
new file mode 100644
index 00000000000..c60cf320a1d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapbackfactorx/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap back X'
+---
+
+import Sleevecapbackfactorx from '../../../brian/options/sleevecapbackfactorx/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapbackfactorx/sleevecapbackfactorx.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapbackfactorx/sleevecapbackfactorx.svg
new file mode 100644
index 00000000000..5e8e35dd35c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapbackfactorx/sleevecapbackfactorx.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapbackfactory/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapbackfactory/readme.mdx
new file mode 100644
index 00000000000..c9550f3b929
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapbackfactory/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap back Y'
+---
+
+import Sleevecapbackfactory from '../../../brian/options/sleevecapbackfactory/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapbackfactory/sleevecapbackfactory.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapbackfactory/sleevecapbackfactory.svg
new file mode 100644
index 00000000000..8348fbf7c7f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapbackfactory/sleevecapbackfactory.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapease/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapease/readme.mdx
new file mode 100644
index 00000000000..9fc924e8da9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapease/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap ease'
+---
+
+import Sleevecapease from '../../../brian/options/sleevecapease/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapfrontfactorx/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapfrontfactorx/readme.mdx
new file mode 100644
index 00000000000..c28842dfa36
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapfrontfactorx/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap front X'
+---
+
+import Sleevecapfrontfactorx from '../../../brian/options/sleevecapfrontfactorx/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapfrontfactorx/sleevecapfrontfactorx.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapfrontfactorx/sleevecapfrontfactorx.svg
new file mode 100644
index 00000000000..d58c9899afb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapfrontfactorx/sleevecapfrontfactorx.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapfrontfactory/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapfrontfactory/readme.mdx
new file mode 100644
index 00000000000..e340b3e2997
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapfrontfactory/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap front Y'
+---
+
+import Sleevecapfrontfactory from '../../../brian/options/sleevecapfrontfactory/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapfrontfactory/sleevecapfrontfactory.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapfrontfactory/sleevecapfrontfactory.svg
new file mode 100644
index 00000000000..e09d00f3d0f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapfrontfactory/sleevecapfrontfactory.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapinflection.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapinflection.svg
new file mode 100644
index 00000000000..f53517d2a1c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapinflection.svg
@@ -0,0 +1,538 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq1offset/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapq1offset/readme.mdx
new file mode 100644
index 00000000000..297c8a03db5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq1offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q1 offset'
+---
+
+import Sleevecapq1offset from '../../../brian/options/sleevecapq1offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq1offset/sleevecapq1offset.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapq1offset/sleevecapq1offset.svg
new file mode 100644
index 00000000000..f0a2d726ec9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq1offset/sleevecapq1offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq1spread1/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapq1spread1/readme.mdx
new file mode 100644
index 00000000000..5b0640411ad
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq1spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q1 downward spread'
+---
+
+import Sleevecapq1spread1 from '../../../brian/options/sleevecapq1spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq1spread1/sleevecapq1downwardspread.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapq1spread1/sleevecapq1downwardspread.svg
new file mode 100644
index 00000000000..6914bc68fa8
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq1spread1/sleevecapq1downwardspread.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq1spread2/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapq1spread2/readme.mdx
new file mode 100644
index 00000000000..620d20282ae
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq1spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q1 upward spread'
+---
+
+import Sleevecapq1spread2 from '../../../brian/options/sleevecapq1spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq1spread2/sleevecapq1spread2.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapq1spread2/sleevecapq1spread2.svg
new file mode 100644
index 00000000000..f369a220f5e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq1spread2/sleevecapq1spread2.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq2offset/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapq2offset/readme.mdx
new file mode 100644
index 00000000000..8be512f441f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq2offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q2 offset'
+---
+
+import Sleevecapq2offset from '../../../brian/options/sleevecapq2offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq2offset/sleevecapq2offset.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapq2offset/sleevecapq2offset.svg
new file mode 100644
index 00000000000..dcc88d098f0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq2offset/sleevecapq2offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq2spread1/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapq2spread1/readme.mdx
new file mode 100644
index 00000000000..e886723af40
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq2spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q2 downward spread'
+---
+
+import Sleevecapq2spread1 from '../../../brian/options/sleevecapq2spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq2spread1/sleevecapq2spread1.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapq2spread1/sleevecapq2spread1.svg
new file mode 100644
index 00000000000..5197ed0114a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq2spread1/sleevecapq2spread1.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq2spread2/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapq2spread2/readme.mdx
new file mode 100644
index 00000000000..52328926e56
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq2spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q2 upward spread'
+---
+
+import Sleevecapq2spread2 from '../../../brian/options/sleevecapq2spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq2spread2/sleevecapq2spread2.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapq2spread2/sleevecapq2spread2.svg
new file mode 100644
index 00000000000..222d43e460d
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq2spread2/sleevecapq2spread2.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq3offset/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapq3offset/readme.mdx
new file mode 100644
index 00000000000..a71ffa9699c
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq3offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q3 offset'
+---
+
+import Sleevecapq3offset from '../../../brian/options/sleevecapq3offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq3offset/sleevecapq3offset.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapq3offset/sleevecapq3offset.svg
new file mode 100644
index 00000000000..ac048c72247
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq3offset/sleevecapq3offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq3spread1/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapq3spread1/readme.mdx
new file mode 100644
index 00000000000..a2739198520
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq3spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q3 upward spread'
+---
+
+import Sleevecapq3spread1 from '../../../brian/options/sleevecapq3spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq3spread1/sleevecapq3spread1.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapq3spread1/sleevecapq3spread1.svg
new file mode 100644
index 00000000000..1649c2c5cc9
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq3spread1/sleevecapq3spread1.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq3spread2/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapq3spread2/readme.mdx
new file mode 100644
index 00000000000..fc47b2ac5d4
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq3spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q3 downward spread'
+---
+
+import Sleevecapq3spread2 from '../../../brian/options/sleevecapq3spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq3spread2/sleevecapq3spread2.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapq3spread2/sleevecapq3spread2.svg
new file mode 100644
index 00000000000..79135108ba0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq3spread2/sleevecapq3spread2.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq4offset/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapq4offset/readme.mdx
new file mode 100644
index 00000000000..592ea036d98
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq4offset/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q4 offset'
+---
+
+import Sleevecapq4offset from '../../../brian/options/sleevecapq4offset/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq4offset/sleevecapq4offset.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapq4offset/sleevecapq4offset.svg
new file mode 100644
index 00000000000..b5877e2c0a1
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq4offset/sleevecapq4offset.svg
@@ -0,0 +1,480 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq4spread1/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapq4spread1/readme.mdx
new file mode 100644
index 00000000000..1249891c72a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq4spread1/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q4 upward spread'
+---
+
+import Sleevecapq4spread1 from '../../../brian/options/sleevecapq4spread1/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq4spread1/sleevecapq4spread1.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapq4spread1/sleevecapq4spread1.svg
new file mode 100644
index 00000000000..42f42a721fe
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq4spread1/sleevecapq4spread1.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq4spread2/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecapq4spread2/readme.mdx
new file mode 100644
index 00000000000..642aedb9aeb
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq4spread2/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap Q4 downward spread'
+---
+
+import Sleevecapq4spread2 from '../../../brian/options/sleevecapq4spread2/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapq4spread2/sleevecapq4spread2.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapq4spread2/sleevecapq4spread2.svg
new file mode 100644
index 00000000000..b84e4d0c6c7
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapq4spread2/sleevecapq4spread2.svg
@@ -0,0 +1,481 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecapspread.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecapspread.svg
new file mode 100644
index 00000000000..9878d2f0943
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecapspread.svg
@@ -0,0 +1,584 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecaptop.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecaptop.svg
new file mode 100644
index 00000000000..39e7bb71c33
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecaptop.svg
@@ -0,0 +1,488 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecaptopfactorx/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecaptopfactorx/readme.mdx
new file mode 100644
index 00000000000..cff54c21b3e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecaptopfactorx/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap top X'
+---
+
+import Sleevecaptopfactorx from '../../../brian/options/sleevecaptopfactorx/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecaptopfactorx/sleevecaptopfactorx.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecaptopfactorx/sleevecaptopfactorx.svg
new file mode 100644
index 00000000000..be96935d057
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecaptopfactorx/sleevecaptopfactorx.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecaptopfactory/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevecaptopfactory/readme.mdx
new file mode 100644
index 00000000000..f528ca6c09f
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecaptopfactory/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleevecap top Y'
+---
+
+import Sleevecaptopfactory from '../../../brian/options/sleevecaptopfactory/readme.mdx'
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevecaptopfactory/sleevecaptopfactory.svg b/sites/orgdocs/docs/designs/yuri/options/sleevecaptopfactory/sleevecaptopfactory.svg
new file mode 100644
index 00000000000..cd55923d35e
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevecaptopfactory/sleevecaptopfactory.svg
@@ -0,0 +1,467 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevelengthbonus/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevelengthbonus/readme.mdx
new file mode 100644
index 00000000000..c3c4606e5b5
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevelengthbonus/readme.mdx
@@ -0,0 +1,7 @@
+---
+title: 'Sleeve length bonus'
+---
+
+
+
+This option will lengthen the sleeves of your sweatshirt.
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevelengthbonus/sleevelengthbonus.svg b/sites/orgdocs/docs/designs/yuri/options/sleevelengthbonus/sleevelengthbonus.svg
new file mode 100644
index 00000000000..b41a7bd52cc
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevelengthbonus/sleevelengthbonus.svg
@@ -0,0 +1,1174 @@
+
+
+
+
diff --git a/sites/orgdocs/docs/designs/yuri/options/sleevewidthguarantee/readme.mdx b/sites/orgdocs/docs/designs/yuri/options/sleevewidthguarantee/readme.mdx
new file mode 100644
index 00000000000..e3b31b6863a
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/options/sleevewidthguarantee/readme.mdx
@@ -0,0 +1,17 @@
+---
+title: 'Sleeve width guarantee'
+---
+
+We first draft the arm opening, then we draft a sleeve to fit it.
+
+When all goes well, the sleeve fits perfectly, and this option is not relevant.
+However, if/when the sleeve does not perfectly fit the arm opening, we need to adapt it.
+
+Since the shape and height of the sleevecap are more important than the width, we tend to
+prefer adjusting the width to fit the sleevecap.
+
+To avoid the sleeve getting too narrow, we only adapt a portion of the sleeve width.
+This option allows you to control how much of the sleeve width is guaranteed.
+Increasing this option will allow us less of the width to play with to fit the sleeve.
+This way, the resulting sleeve will be closer to the theoretical sleeve width, and we
+will instead modify (more of) the sleevecap height to fit the sleeve.
diff --git a/sites/orgdocs/docs/designs/yuri/readme.mdx b/sites/orgdocs/docs/designs/yuri/readme.mdx
new file mode 100644
index 00000000000..19d91d934f0
--- /dev/null
+++ b/sites/orgdocs/docs/designs/yuri/readme.mdx
@@ -0,0 +1,76 @@
+---
+title: "Tiberius: FreeSewing's Yuri Hoodie"
+sidebar_label: Yuri Hoodie
+---
+
+
+
+## Designer Notes {#notes}
+
+The idea behind Yuri was to get a hybrid cardigan/sweatshirt that could be
+easily opened and closed, and sewn without the hassle of zips. When I started
+sewing, one of the things I hated the most was sewing zips (but now it's ok,
+yay!).
+
+I wanted a big shape that would be comfortable to wear while cycling or
+knitting on the couch, plus size or not, with or without breasts :smiley:
+
+This pattern was made in collaboration with @biou, my husband, who's also a
+programmer. We had a lot of fun creating and testing the pattern together and
+we were happy to be able to contribute a little to FreeSewing :smiley:
+
+We used a mix of the two Huey & Hugo hoodies and reshaped them a bit to change
+the front/opening and length, and BAM, Yuri was born!
+
+I recommend using a soft sweatshirt fabric, you can add a lining but it's not
+essential. It can be nice in red for a little red hood costume, or a nice gift
+for a pregnant person :smiley:
+
+## What You Need {#needs}
+
+To make Yuri, you will need the following:
+
+- [Basic sewing supplies](/docs/sewing/basic-sewing-supplies)
+- About 2.5 meters (2.8 yards) of a suitable fabric ([see Fabric options](#fabric))
+- 2 large buttons
+
+:::tip A serger/overlock is nice, but optional
+
+As with all knitwear and stretch fabrics, a serger/overlock will make your life
+easier.
+
+If you do not have one of those, don't despair. You don't really need it.
+Because none of the seams get stretched out, you can just sew this pattern with
+a regular straight stitch.
+:::
+
+## Fabric Options {#fabric}
+
+You may find a dedicated sweatshirt/tracksuit fabric section in your fabric
+store of choice. If you don't, just head for the knitwear section and look for
+a thicker comfortable knit fabric.
+
+As far as fibers go, you can go all cotton, or opt for a poly or acryl cotton
+blend.
+
+Make sure to pay attention to the inside of the fabric. Sweatshirt fabrics come
+in loopback and brushed back. If you want that OMG-it-feels-so-soft-on-my-skin
+feeling, go for brushed.
+
+:::tip
+
+You don't have to use sweatshirt fabric. Other options are available, from
+fashion-forward neoprene (aka scuba) to a more eyebrow-rising choice like
+crushed velour (aka velvet).
+
+Or if you have given up on class, you could go for fleece.
+:::
+
+## Cutting Instructions {#cutting}
+
+- Cut **2 fronts** with _good sides together_
+- Cut **1 back** _on the fold_
+- Cut **2 sleeves** with _good sides together_
+- Cut **2 gussets** _on the fold_ with _good sides together_
+- Cut **4 hood sides** 2 x 2 with _good sides together_ for the outer hood and inner hood
+- Cut **2 hood centers** with _good sides together_
diff --git a/sites/orgdocs/package.json b/sites/orgdocs/package.json
index 5caf220515a..ef764185ac6 100644
--- a/sites/orgdocs/package.json
+++ b/sites/orgdocs/package.json
@@ -9,6 +9,9 @@
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
+ "prebuild": "node scripts/prebuild-step1.mjs && node scripts/prebuild-step2.mjs",
+ "predev": "npm run prebuild",
+ "prestart": "npm run prebuild",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids"
diff --git a/sites/orgdocs/scripts/prebuild-step1.mjs b/sites/orgdocs/scripts/prebuild-step1.mjs
new file mode 100644
index 00000000000..6f2bfef2be7
--- /dev/null
+++ b/sites/orgdocs/scripts/prebuild-step1.mjs
@@ -0,0 +1,100 @@
+import fs from 'fs'
+import path from 'path'
+import yaml from 'yaml'
+import designInfo from '../../../config/software/designs.json' with { type: 'json' }
+import { designs as designTranslations } from '../../../i18n/designs.mjs'
+
+/*
+ * Load translations as there's no YAML loader
+ * We are loading this sync because NodeJS 20 does not support
+ * top-level await out of the box
+ */
+const measurementsTranslations = loadYaml('../../i18n/measurements.yaml')
+const optionGroupTranslations = loadYaml('../../i18n/optiongroups.yaml')
+
+/*
+ * Write these translations as JS to disk
+ */
+function writeTranslations() {
+ const content = [
+ header,
+ `export const measurements = ${JSON.stringify(measurementsTranslations)}`,
+ '',
+ `export const optiongroups = ${JSON.stringify(optionGroupTranslations)}`,
+ '',
+ `export const designs = ${JSON.stringify(designTranslations)}`,
+ '',
+ ]
+ fs.writeFileSync(`./src/lib/i18n.mjs`, content.join('\n'))
+}
+
+/*
+ * Write design info
+ */
+function writeDesignInfo() {
+ const content = [header, `export const designInfo = ${JSON.stringify(designInfo)}`, '']
+ fs.promises.writeFile(`./src/lib/designinfo.mjs`, content.join('\n'))
+}
+
+/*
+ * Simple and stupid YAML loader
+ *
+ * @arg {String} file - (relative) path to the file to load
+ * @return {object} yaml - The YAML data as a JS object
+ */
+function loadYaml(file) {
+ const raw = fs.readFileSync(path.resolve(file), 'utf8')
+ let content
+ try {
+ content = yaml.parse(raw)
+ } catch (err) {
+ console.log(err)
+ process.exit(1)
+ }
+ return content
+}
+
+/*
+ * Header to include in auto-generated files
+ */
+export const header = `/*
+ * This file is auto-generated.
+ * Any changes you make will be overwritten by the prebuild step.
+ */`
+
+/*
+ * Generate design imports file
+ */
+function generateDesignsLib() {
+ const content = [header, `import { designInfo } from './designinfo.mjs'`]
+ // Add designs
+ for (const [name, design] of Object.entries(designInfo)) {
+ if (design.org) content.push(`import * as ${name} from '@freesewing/${name}'`)
+ }
+
+ // Add the rest of the file
+ content.push(
+ '',
+ `const designs = {`,
+ ...Object.keys(designInfo)
+ .filter((d) => designInfo[d].org)
+ .map((d) => ` ${d},`),
+ `}`,
+ '',
+ `const designList = Object.keys(designs)`,
+ '',
+ `export { designInfo, designList, designs }`,
+ ''
+ )
+
+ // Write to disk
+ fs.promises.writeFile(`./src/lib/designs.mjs`, content.join('\n'))
+}
+
+function prebuild() {
+ generateDesignsLib()
+ writeTranslations()
+ writeDesignInfo()
+}
+
+prebuild()
diff --git a/sites/orgdocs/scripts/prebuild-step2.mjs b/sites/orgdocs/scripts/prebuild-step2.mjs
new file mode 100644
index 00000000000..48084de7bcd
--- /dev/null
+++ b/sites/orgdocs/scripts/prebuild-step2.mjs
@@ -0,0 +1,194 @@
+import fs from 'fs'
+import { mkdir } from 'node:fs/promises'
+import path from 'path'
+import { designs, designInfo } from '../src/lib/designs.mjs'
+import {
+ designs as designTranslations,
+ optiongroups as optiongroupTranslations,
+} from '../src/lib/i18n.mjs'
+import { capitalize, optionsMenuStructure, optionType } from '../src/lib/utils.mjs'
+
+/*
+ * If you are looking to port a design, remove it from the list below
+ * and the options umbrella page will be auto-generated
+ *
+ * Run 'npm run prestart' to force it, or it will happen automatically
+ * when you run `npm run start`
+ */
+const skip = [
+ 'charlie',
+ 'cornelius',
+ 'diana',
+ 'hi',
+ 'holmes',
+ 'hortensia',
+ 'huey',
+ 'jane',
+ 'lucy',
+ 'lumina',
+ 'lumira',
+ 'noble',
+ 'octoplushy',
+ 'otis',
+ 'penelope',
+ 'skully',
+ 'titan',
+ 'tristan',
+ 'waralee',
+]
+
+/*
+ * mkdir helper
+ */
+async function ensuredir(dir) {
+ try {
+ await mkdir(path.resolve(dir), { recursive: true })
+ } catch (err) {
+ // Swallor error of folder exists
+ if (!err.toString().includes('already exists')) {
+ console.log(err)
+ process.exit(1)
+ }
+ }
+ return true
+}
+
+/*
+ * Generate option table
+ */
+function optionInfo(option) {
+ const type = optionType(option)
+ if (type === 'pct') return pctOption(option)
+ if (type === 'count') return countOption(option)
+ if (type === 'deg') return degOption(option)
+ if (type === 'bool') return boolOption(option)
+ if (type === 'list') return listOption(option)
+ if (type === 'mm') return mmOption(option)
+
+ return []
+}
+
+function pctOption(option) {
+ return [
+ `- Type: **Percentage**`,
+ `- Default: **${option.pct}%**`,
+ `- Minimum: **${option.min}%**`,
+ `- Maximum: **${option.max}%**`,
+ ]
+}
+function degOption(option) {
+ return [
+ `- Type: **Degrees**`,
+ `- Default: **${option.deg}°**`,
+ `- Minimum: **${option.min}°**`,
+ `- Maximum: **${option.max}°**`,
+ ]
+}
+function countOption(option) {
+ return [
+ `- Type: **Percentage**`,
+ `- Default: **${option.pct}**`,
+ `- Minimum: **${option.min}**`,
+ `- Maximum: **${option.max}**`,
+ ]
+}
+function listOption(option) {
+ return [
+ `- Type: **List**`,
+ `- Default: **${option.dflt}**`,
+ `- options:`,
+ ...option.list.map((o) => ` - ${o}`),
+ ]
+}
+function boolOption(option) {
+ return [`- Type: **Boolean**`, `- Default: **${option.bool}**`]
+}
+function mmOption(option) {
+ return [
+ `- Type: **Millimeter**`,
+ `- Default: **${option.mm}mm**`,
+ `- Minimum: **${option.min}mm**`,
+ `- Maximum: **${option.max}mm**`,
+ ]
+}
+
+/*
+ * Generate options page for each design
+ */
+async function generateDesignsDocs() {
+ // Iterate over designs
+ for (const [name, design] of Object.entries(designInfo)) {
+ if (design.org && !skip.includes(name)) {
+ const imports = Object.keys(designs[name][capitalize(name)].patternConfig.options)
+ .filter(
+ (optName) =>
+ optionType(designs[name][capitalize(name)].patternConfig.options[optName]) !==
+ 'constant'
+ )
+ .sort()
+ .map(
+ (opt) =>
+ `import ${capitalize(opt.toLowerCase())} from '@site/docs/designs/${name}/options/${opt.toLowerCase()}/readme.mdx'`
+ )
+ const content = [
+ `---`,
+ `title: "${designTranslations[name].t}: Design Options"`,
+ `sidebar_label: Design Options`,
+ `sidebar_position: 10`,
+ `toc_max_heading_level: 5`,
+ `---`,
+ '',
+ ...imports,
+ '',
+ ]
+ const i18n = designs[name].i18n.en
+ const structure = optionsMenuStructure(
+ designs[name][capitalize(name)].patternConfig.options,
+ {},
+ true
+ )
+ for (const [key, val] of Object.entries(structure)) {
+ content.push(`## ${optiongroupTranslations[key] || key} {#${key}}`)
+ if (val.isGroup) {
+ for (const [skey, sval] of Object.entries(val)) {
+ if (!sval.isGroup && optionType(sval) !== 'constant') {
+ content.push(
+ `### ${i18n.o[skey]?.t} {#${skey.toLowerCase()}}`,
+ '',
+ `**${i18n.o[skey]?.d}**`,
+ ...optionInfo(sval),
+ '',
+ `<${capitalize(skey.toLowerCase())} />`,
+ ''
+ )
+ } else if (sval.isGroup) {
+ content.push(`### ${i18n.o[skey]?.t || capitalize(skey)} {#${skey.toLowerCase()}}`)
+ for (const [sskey, ssval] of Object.entries(sval)) {
+ if (!ssval.isGroup && optionType(ssval) !== 'constant') {
+ content.push(
+ `#### ${i18n.o[sskey]?.t || sskey} {#${sskey.toLowerCase()}}`,
+ '',
+ `**${i18n.o[sskey]?.d}**`,
+ ...optionInfo(ssval),
+ '',
+ `<${capitalize(sskey.toLowerCase())} />`,
+ ''
+ )
+ }
+ }
+ }
+ }
+ }
+ const dir = `./docs/designs/${name}/options`
+ await ensuredir(dir)
+ fs.writeFileSync(`${dir}/readme.mdx`, content.join('\n'))
+ }
+ }
+ }
+}
+
+function prebuild() {
+ generateDesignsDocs()
+}
+
+prebuild()
diff --git a/sites/orgdocs/src/css/custom.css b/sites/orgdocs/src/css/custom.css
index e67a09eb2d7..a8af450eb3c 100644
--- a/sites/orgdocs/src/css/custom.css
+++ b/sites/orgdocs/src/css/custom.css
@@ -628,7 +628,7 @@ figure.mdx {
padding: 1rem 0 0;
}
figure.mdx > img {
- box-shadow: 1px 1px 4px #0006;
+ padding: 1rem;
}
figcaption.mdx {
font-style: italic;
diff --git a/sites/orgdocs/src/lib/designs.mjs b/sites/orgdocs/src/lib/designs.mjs
deleted file mode 100644
index 145f7e3eb9c..00000000000
--- a/sites/orgdocs/src/lib/designs.mjs
+++ /dev/null
@@ -1,134 +0,0 @@
-import designInfo from '../../../../config/software/designs.json' with { type: 'json' }
-
-import * as aaron from '@freesewing/aaron'
-import * as albert from '@freesewing/albert'
-import * as bee from '@freesewing/bee'
-import * as bella from '@freesewing/bella'
-import * as benjamin from '@freesewing/benjamin'
-import * as bent from '@freesewing/bent'
-import * as bibi from '@freesewing/bibi'
-import * as bob from '@freesewing/bob'
-import * as breanna from '@freesewing/breanna'
-import * as brian from '@freesewing/brian'
-import * as bruce from '@freesewing/bruce'
-import * as carlita from '@freesewing/carlita'
-import * as carlton from '@freesewing/carlton'
-import * as cathrin from '@freesewing/cathrin'
-import * as charlie from '@freesewing/charlie'
-import * as cornelius from '@freesewing/cornelius'
-import * as diana from '@freesewing/diana'
-import * as florence from '@freesewing/florence'
-import * as florent from '@freesewing/florent'
-import * as gozer from '@freesewing/gozer'
-import * as hi from '@freesewing/hi'
-import * as holmes from '@freesewing/holmes'
-import * as hortensia from '@freesewing/hortensia'
-import * as huey from '@freesewing/huey'
-import * as hugo from '@freesewing/hugo'
-import * as jaeger from '@freesewing/jaeger'
-import * as jane from '@freesewing/jane'
-import * as legend from '@freesewing/legend'
-import * as lily from '@freesewing/lily'
-import * as lucy from '@freesewing/lucy'
-import * as lumina from '@freesewing/lumina'
-import * as lumira from '@freesewing/lumira'
-import * as lunetius from '@freesewing/lunetius'
-import * as magde from '@freesewing/magde'
-import * as noble from '@freesewing/noble'
-import * as octoplushy from '@freesewing/octoplushy'
-import * as onyx from '@freesewing/onyx'
-import * as opal from '@freesewing/opal'
-import * as otis from '@freesewing/otis'
-import * as paco from '@freesewing/paco'
-import * as penelope from '@freesewing/penelope'
-import * as sandy from '@freesewing/sandy'
-import * as shelly from '@freesewing/shelly'
-import * as shin from '@freesewing/shin'
-import * as simon from '@freesewing/simon'
-import * as simone from '@freesewing/simone'
-import * as skully from '@freesewing/skully'
-import * as sven from '@freesewing/sven'
-import * as tamiko from '@freesewing/tamiko'
-import * as teagan from '@freesewing/teagan'
-import * as tiberius from '@freesewing/tiberius'
-import * as titan from '@freesewing/titan'
-import * as trayvon from '@freesewing/trayvon'
-import * as tristan from '@freesewing/tristan'
-import * as uma from '@freesewing/uma'
-import * as umbra from '@freesewing/umbra'
-import * as wahid from '@freesewing/wahid'
-import * as walburga from '@freesewing/walburga'
-import * as waralee from '@freesewing/waralee'
-import * as yuri from '@freesewing/yuri'
-
-const designs = {
- aaron,
- albert,
- bee,
- bella,
- benjamin,
- bent,
- bibi,
- bob,
- breanna,
- brian,
- bruce,
- carlita,
- carlton,
- cathrin,
- charlie,
- cornelius,
- diana,
- florence,
- florent,
- gozer,
- hi,
- holmes,
- hortensia,
- huey,
- hugo,
- jaeger,
- jane,
- legend,
- lily,
- lucy,
- lumina,
- lumira,
- lunetius,
- magde,
- noble,
- octoplushy,
- onyx,
- opal,
- otis,
- paco,
- penelope,
- sandy,
- shelly,
- shin,
- simon,
- simone,
- skully,
- sven,
- tamiko,
- teagan,
- tiberius,
- titan,
- trayvon,
- tristan,
- uma,
- umbra,
- wahid,
- walburga,
- waralee,
- yuri,
-}
-const designList = Object.keys(designs)
-
-export {
- designInfo,
- designList,
- designs,
-}
-
-
diff --git a/sites/orgdocs/src/lib/plugins.mjs b/sites/orgdocs/src/lib/plugins.mjs
index d91ecfb188b..6d5cdf3fd2d 100644
--- a/sites/orgdocs/src/lib/plugins.mjs
+++ b/sites/orgdocs/src/lib/plugins.mjs
@@ -2,9 +2,4 @@ import pluginInfo from '../../../../config/software/plugins.json' with { type: '
const pluginList = Object.keys(pluginInfo)
-export {
- pluginInfo,
- pluginList,
-}
-
-
+export { pluginInfo, pluginList }
diff --git a/sites/orgdocs/src/theme/MDXComponents/design-info.mjs b/sites/orgdocs/src/theme/MDXComponents/design-info.mjs
index 26c835abca0..fc546718a4a 100644
--- a/sites/orgdocs/src/theme/MDXComponents/design-info.mjs
+++ b/sites/orgdocs/src/theme/MDXComponents/design-info.mjs
@@ -4,9 +4,11 @@ import { pluginInfo } from '@site/src/lib/plugins.mjs'
import { capitalize, optionsMenuStructure, optionType } from '@site/src/lib/utils.mjs'
import Link from '@docusaurus/Link'
import { lineDrawings } from '@freesewing/react-components/linedrawings'
-import { designs as designTranslations } from '../../../../../i18n/designs.mjs'
-import measurementTranslations from '../../../../../i18n/measurements.yaml'
-import optionGroupTranslations from '../../../../../i18n/optiongroups.yaml'
+import {
+ designs as designTranslations,
+ measurements as measurementTranslations,
+ optiongroups as optionGroupTranslations,
+} from '@site/src/lib/i18n.mjs'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
@@ -222,7 +224,7 @@ export const DesignInfo = ({ design }) => {
{typeof designInfo[design].code === 'string' ? (
{designInfo[design].code}
) : (
- designInfo[design].map((person, index) => (
+ designInfo[design].code.map((person, index) => (
{person}
{index < designInfo[design].design.length - 1 && (