diff --git a/.all-contributorsrc b/.all-contributorsrc
index b0cf16f172d..d9dae5b1c7f 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -977,6 +977,25 @@
"contributions": [
"doc"
]
+ },
+ {
+ "login": "clegganator259",
+ "name": "David Clegg",
+ "avatar_url": "https://avatars.githubusercontent.com/u/3974250?v=4",
+ "profile": "https://github.com/clegganator259",
+ "contributions": [
+ "design",
+ "code"
+ ]
+ },
+ {
+ "login": "luizfzs",
+ "name": "Luiz Saggioro",
+ "avatar_url": "https://avatars.githubusercontent.com/u/6039675?v=4",
+ "profile": "https://github.com/luizfzs",
+ "contributions": [
+ "code"
+ ]
}
],
"skipCi": true
diff --git a/.prettierignore b/.prettierignore
index a862ce98152..cd31032ddad 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -23,3 +23,4 @@ yarn.lock
.gitignore
.eslintignore
.gitkeep
+.all-contributorsrc
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 70f80ca9ecf..0604719320e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -54,18 +54,6 @@
- Fixed pocket size issue
- Fixed waist shaping issue
-### plugin-banner
-
-#### Removed
-
- - This plugin no longer sets its version as an SVG attribute when rendering patterns
-
-### plugin-bartack
-
-#### Removed
-
- - This plugin no longer sets its version as an SVG attribute when rendering patterns
-
### plugin-bundle
#### Removed
@@ -74,24 +62,6 @@
### plugin-bust
-#### Removed
-
- - This plugin no longer sets its version as an SVG attribute when rendering patterns
-
-### plugin-buttons
-
-#### Removed
-
- - This plugin no longer sets its version as an SVG attribute when rendering patterns
-
-### plugin-cutonfold
-
-#### Removed
-
- - This plugin no longer sets its version as an SVG attribute when rendering patterns
-
-### plugin-dimension
-
#### Removed
- This plugin no longer sets its version as an SVG attribute when rendering patterns
@@ -108,24 +78,12 @@
- The `goreNumber` props is removed. Please use `gores` instead
-#### Removed
-
- - This plugin no longer sets its version as an SVG attribute when rendering patterns
-
-### plugin-grainline
-
#### Removed
- This plugin no longer sets its version as an SVG attribute when rendering patterns
### plugin-i18n
-#### Removed
-
- - This plugin no longer sets its version as an SVG attribute when rendering patterns
-
-### plugin-logo
-
#### Removed
- This plugin no longer sets its version as an SVG attribute when rendering patterns
@@ -138,24 +96,12 @@
### plugin-mirror
-#### Removed
-
- - This plugin no longer sets its version as an SVG attribute when rendering patterns
-
-### plugin-notches
-
#### Removed
- This plugin no longer sets its version as an SVG attribute when rendering patterns
### plugin-round
-#### Removed
-
- - This plugin no longer sets its version as an SVG attribute when rendering patterns
-
-### plugin-scalebox
-
#### Removed
- This plugin no longer sets its version as an SVG attribute when rendering patterns
@@ -174,16 +120,6 @@
### plugin-theme
-#### Removed
-
- - This plugin no longer sets its version as an SVG attribute when rendering patterns
-
-### plugin-title
-
-#### Changed
-
- - Use localized date format
-
#### Removed
- This plugin no longer sets its version as an SVG attribute when rendering patterns
@@ -349,13 +285,6 @@
- Support drafting for high bust
-### plugin-title
-
-#### Added
-
- - Added support for removing the title via a macro call
- - Added a render timestamp to the title
-
## 2.21.3 (2022-07-02)
@@ -729,18 +658,6 @@
### tutorial
-#### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-### plugin-banner
-
-#### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-### plugin-bartack
-
#### Changed
- Migrated from Rollup to Esbuild for all builds
@@ -753,24 +670,6 @@
### plugin-bust
-#### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-### plugin-buttons
-
-#### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-### plugin-cutonfold
-
-#### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-### plugin-dimension
-
#### Changed
- Migrated from Rollup to Esbuild for all builds
@@ -783,24 +682,12 @@
### plugin-gore
-#### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-### plugin-grainline
-
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-i18n
-#### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-### plugin-logo
-
#### Changed
- Migrated from Rollup to Esbuild for all builds
@@ -813,24 +700,12 @@
### plugin-mirror
-#### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-### plugin-notches
-
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-round
-#### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-### plugin-scalebox
-
#### Changed
- Migrated from Rollup to Esbuild for all builds
@@ -849,12 +724,6 @@
### plugin-theme
-#### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-### plugin-title
-
#### Changed
- Migrated from Rollup to Esbuild for all builds
@@ -1341,25 +1210,6 @@
- Switched to default import for version from package.json
-### plugin-banner
-
-#### Changed
-
- - Changed the default options
- - Now part of `@freesewing/plugin-bundle`
-
-### plugin-bartack
-
-#### Changed
-
- - Now part of `@freesewing/plugin-bundle`
-
-#### Fixed
-
- - Fixed issue with `bartackFractionAlong` macro
- - Handle start and endpoints being the same in `bartackFractionAlong`
- - Support start and endpoints being reversed in `bartackFractionAlong`
-
### plugin-bundle
#### Changed
@@ -1367,18 +1217,6 @@
- plugin-banner is now part of plugin-bundle
- plugin-bartack is now part of plugin-bundle
-### plugin-cutonfold
-
-#### Added
-
- - Support for scale setting
-
-### plugin-dimension
-
-#### Fixed
-
- - Support hiding start/end markers on path dimensions (pd macro)
-
### plugin-flip
#### Added
@@ -1392,12 +1230,6 @@
- The `goreNumber` property of the gore macro has been renamed to `gores`
- Using `goreNumber` is now deprecated in favor of `gore` and will be removed in the next majot version
-### plugin-grainline
-
-#### Added
-
- - Added support for custom text
-
### plugin-sprinkle
#### Added
@@ -1405,16 +1237,6 @@
- Added support for `scale` to scale all sprinkled snippets
- Added support for `rotate` to rotate all sprinkled snippets
-### plugin-title
-
-#### Added
-
- - Added support for `settings.scale`
-
-#### Removed
-
- - Removed rendering of config.cut as it's not used
-
### core
#### Added
@@ -1488,22 +1310,6 @@
- Updated the rendertest pattern to be more concise
-### plugin-banner
-
-#### Added
-
- - Added (esm) unit tests
-
-### plugin-bartack
-
-#### Added
-
- - Added (esm) unit tests
-
-#### Changed
-
- - Add utility classes and CSS variables for better styling support
-
### plugin-bundle
#### Added
@@ -1512,32 +1318,6 @@
### plugin-bust
-#### Added
-
- - Added (esm) unit tests
-
-### plugin-buttons
-
-#### Added
-
- - Added (esm) unit tests
-
-#### Changed
-
- - Add utility classes and CSS variables for better styling support
-
-#### Fixed
-
- - Only add snippets once to SVG object
-
-### plugin-cutonfold
-
-#### Added
-
- - Added (esm) unit tests
-
-### plugin-dimension
-
#### Added
- Added (esm) unit tests
@@ -1550,24 +1330,12 @@
### plugin-gore
-#### Added
-
- - Added (esm) unit tests
-
-### plugin-grainline
-
#### Added
- Added (esm) unit tests
### plugin-i18n
-#### Added
-
- - Added (esm) unit tests
-
-### plugin-logo
-
#### Added
- Added (esm) unit tests
@@ -1580,12 +1348,6 @@
### plugin-mirror
-#### Added
-
- - Added (esm) unit tests
-
-### plugin-notches
-
#### Added
- Added (esm) unit tests
@@ -1596,16 +1358,6 @@
- Added (esm) unit tests
-### plugin-scalebox
-
-#### Added
-
- - Added (esm) unit tests
-
-#### Changed
-
- - Add utility classes and CSS variables for better styling support
-
### plugin-sprinkle
#### Added
@@ -1624,16 +1376,6 @@
- Added (esm) unit tests
-### plugin-title
-
-#### Added
-
- - Added (esm) unit tests
-
-#### Changed
-
- - Add utility classes and CSS variables for better styling support
-
### plugin-versionfree-svg
#### Added
@@ -2175,12 +1917,6 @@
- Include plugin-buttons
- Include plugin-mirror
-### plugin-buttons
-
-#### Changed
-
- - Is now included in plugin-bundle
-
### plugin-mirror
#### Changed
@@ -2570,25 +2306,6 @@
- Added examples for bartack plugin
- Added examples for new buttonhole-start/end snippets
-### plugin-buttons
-
-#### Added
-
- - Added the buttonhole-end snippet
- - Added the buttonhole-start snippet
-
-### plugin-dimension
-
-#### Added
-
- - Added the `rmad` macro
-
-### plugin-logo
-
-#### Added
-
- - Render logo in currentColor to support dark mode
-
### plugin-theme
#### Added
@@ -2843,16 +2560,6 @@
- Added missing scalebox
-### plugin-scalebox
-
-#### Added
-
- - Now includes the miniscale macro
-
-#### Changed
-
- - Took my name off the patterns
-
## 2.11.2 (2021-01-11)
@@ -2874,12 +2581,6 @@
- Removed unused lengthBonus option
-### plugin-notches
-
-#### Added
-
- - Initial release. See [#757](https://github.com/freesewing/freesewing/issues/757)
-
### i18n
#### Changed
@@ -2965,19 +2666,6 @@
- Teagan is a T-shirt pattern
-### plugin-dimension
-
-#### Added
-
- - Added support for passing in the ID used to add paths to the part
- - Added the `rmd` macro that removes dimensions
-
-### plugin-title
-
-#### Added
-
- - Added support for cutting instructions. Closes [#500](https://github.com/freesewing/freesewing/issues/500)
-
### core
#### Added
@@ -3366,16 +3054,6 @@
- Removed `Circumference` suffix from measurement names
-### plugin-buttons
-
-#### Changed
-
- - Snippet names are changed, `snap-male` is now `snap-stud` and `snap-female` is now `snap-socket` Changing this to avoid needless use of gender related terminology.
-
-#### Removed
-
- - Snippet `snap-male` and `snap-female` are no longer available. Use `snap-stud` and `snap-socket` instead
-
### plugin-measurements
#### Added
@@ -3532,12 +3210,6 @@
- The `sleevecapBackFactorY` and `sleevecapFrontFactorY` options had a minimum above the default
-### plugin-dimension
-
-#### Changed
-
- - Don't escape inch symbol in text. Instead let Svg.escapeText() handle it at render time
-
### core
#### Fixed
@@ -3556,12 +3228,6 @@
## 2.4.2 (2020-03-08)
-### plugin-title
-
-#### Changed
-
- - Added *for* to title output
-
### i18n
#### Added
@@ -3796,12 +3462,6 @@
## 2.1.5 (2019-11-19)
-### plugin-dimension
-
-#### Fixed
-
- - Fixed issue where inch marks where breaking SVG because of unescaped double quotes
-
## 2.1.4 (2019-11-01)
@@ -4073,12 +3733,6 @@
### tutorial
-#### Added
-
- - Initial release
-
-### plugin-banner
-
#### Added
- Initial release
@@ -4091,60 +3745,24 @@
### plugin-bust
-#### Added
-
- - Initial release
-
-### plugin-buttons
-
-#### Added
-
- - Initial release
-
-### plugin-cutonfold
-
-#### Added
-
- - Initial release
-
-### plugin-dimension
-
#### Added
- Initial release
### plugin-flip
-#### Added
-
- - Initial release
-
-### plugin-grainline
-
#### Added
- Initial release
### plugin-i18n
-#### Added
-
- - Initial release
-
-### plugin-logo
-
#### Added
- Initial release
### plugin-round
-#### Added
-
- - Initial release
-
-### plugin-scalebox
-
#### Added
- Initial release
@@ -4163,12 +3781,6 @@
### plugin-theme
-#### Added
-
- - Initial release
-
-### plugin-title
-
#### Added
- Initial release
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 8549a123456..3b6dc7a7bc1 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -30,116 +30,120 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
 Chantal Lapointe π |
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/README.md b/README.md
index d74ce5d3232..89c4dc13c2e 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/config/dependencies.yaml b/config/dependencies.yaml
index cce44a54024..da4b9783da3 100644
--- a/config/dependencies.yaml
+++ b/config/dependencies.yaml
@@ -4,7 +4,7 @@ _types:
'@freesewing/core': &freesewing '{{version}}'
'@freesewing/plugin-bundle': *freesewing
dev:
- 'mocha': &mocha '10.0.0'
+ 'mocha': &mocha '10.2.0'
'chai': &chai '4.2.0'
plugin:
peer:
@@ -60,7 +60,7 @@ core:
'lodash.unset': &_unset '4.5.2'
'lodash.clonedeep': '^4.5.0'
dev:
- 'eslint': &eslint '8.37.0'
+ 'eslint': &eslint '8.38.0'
'nyc': '15.1.0'
'mocha': *mocha
'chai': *chai
@@ -99,7 +99,7 @@ jaeger:
'@freesewing/plugin-mirror': *freesewing
new-design:
_:
- 'axios': '1.3.4'
+ 'axios': '1.3.5'
'chalk': '5.0.1'
'execa': '7.1.1'
'mustache': '4.2.0'
@@ -118,9 +118,9 @@ paco:
'@freesewing/snapseries': *freesewing
plugin-bundle:
dev:
+ '@freesewing/plugin-annotations': *freesewing
'@freesewing/plugin-banner': *freesewing
'@freesewing/plugin-buttons': *freesewing
- '@freesewing/plugin-cutonfold': *freesewing
'@freesewing/plugin-dimension': *freesewing
'@freesewing/plugin-grainline': *freesewing
'@freesewing/plugin-logo': *freesewing
@@ -131,11 +131,10 @@ plugin-bundle:
'@freesewing/plugin-sprinkle': *freesewing
plugintest:
peer:
+ '@freesewing/plugin-annotations': *freesewing
'@freesewing/plugin-banner': *freesewing
- '@freesewing/plugin-bartack': *freesewing
'@freesewing/plugin-bust': *freesewing
'@freesewing/plugin-buttons': *freesewing
- '@freesewing/plugin-cutonfold': *freesewing
'@freesewing/plugin-dimension': *freesewing
'@freesewing/plugin-flip': *freesewing
'@freesewing/plugin-gore': *freesewing
@@ -206,7 +205,7 @@ yuri:
backend:
_:
- '@aws-sdk/client-sesv2': '3.306.0'
+ '@aws-sdk/client-sesv2': '3.312.0'
'@prisma/client': &prisma '4.12.0'
'bcryptjs': '2.4.3'
'cors': '2.8.5'
@@ -226,7 +225,7 @@ backend:
dev:
'chai': *chai
'chai-http': '4.3.0'
- 'esbuild': '0.17.15'
+ 'esbuild': '0.17.16'
'mocha': *mocha
'mocha-steps': '1.3.0'
'nodemon': '2.0.22'
@@ -238,7 +237,7 @@ dev:
'@mdx-js/mdx': *mdx
'@mdx-js/react': *mdx
'@mdx-js/runtime': &mdxRuntime '2.0.0-next.9'
- '@next/bundle-analyzer': &next '13.2.4'
+ '@next/bundle-analyzer': &next '13.3.0'
'@tailwindcss/typography': &tailwindTypography '0.5.9'
'algoliasearch': '4.17.0'
'daisyui': &daisyui '2.51.5'
@@ -251,7 +250,7 @@ dev:
'react-dom': *react
'react-hotkeys-hook': &reactHotkeysHook '4.3.8'
'react-instantsearch-dom': &reactInstantsearchDom '6.39.1'
- 'react-markdown': &reactMarkdown '8.0.6'
+ 'react-markdown': &reactMarkdown '8.0.7'
'react-swipeable': &reactSwipeable '7.0.0'
'react-timeago': &reactTimeago '7.1.0'
'rehype-autolink-headings': &rehypeAutolinkHeadings '6.1.1'
@@ -273,13 +272,13 @@ dev:
email:
_:
'@maizzle/framework': '4.4.4'
- 'tailwindcss-box-shadow': '2.0.0'
+ 'tailwindcss-box-shadow': '2.0.1'
'tailwindcss-email-variants': '2.0.1'
'tailwindcss-mso': '1.3.0'
lab:
_:
- '@headlessui/react': &headlessUiReact '1.7.13'
+ '@headlessui/react': &headlessUiReact '1.7.14'
'@mdx-js/loader': *mdx
'@mdx-js/mdx': *mdx
'@mdx-js/react': *mdx
@@ -355,12 +354,12 @@ sanity:
'react-is': *react
'sanity': *sanity
'styled-components': '5.3.9'
- 'sanity-plugin-markdown': '3.0.1'
+ 'sanity-plugin-markdown': '4.1.0'
dev:
'@sanity/eslint-config-studio': '2.0.1'
'eslint': *eslint
'prettier': '2.8.7'
- 'typescript': '5.0.2'
+ 'typescript': '5.0.4'
'@sanity/cli': '3.8.3'
shared:
@@ -389,7 +388,7 @@ shared:
'react-markdown': *reactMarkdown
'react-sizeme': '3.0.2'
'react-timeago': *reactTimeago
- 'react-zoom-pan-pinch': '3.0.6'
+ 'react-zoom-pan-pinch': '3.0.7'
'rehype-autolink-headings': *rehypeAutolinkHeadings
'rehype-highlight': *rehypeHighlight
'remark-smartypants': '2.0.0'
diff --git a/config/exceptions.yaml b/config/exceptions.yaml
index 27bec9534ad..ed52c27c108 100644
--- a/config/exceptions.yaml
+++ b/config/exceptions.yaml
@@ -35,6 +35,8 @@ packageJson:
author: SeaZeeZee (https://github.com/SeaZeeZee)
lunetius: &starf
author: Starfetch (https://github.com/starfetch)
+ magde:
+ author: clegganator259 (https://github.com/clegganator259)
new-design:
exports: '!'
bin:
diff --git a/config/software/designs.json b/config/software/designs.json
index f4a64a98798..1188fd8936a 100644
--- a/config/software/designs.json
+++ b/config/software/designs.json
@@ -63,6 +63,13 @@
"difficulty": 2,
"tags": ["accessories", "historical", "bags"]
},
+ "magde": {
+ "description": "A FreeSewing pattern for a bike messenger bag",
+ "code": "clegganator259",
+ "design": "clegganator259",
+ "difficulty": 3,
+ "tags": ["accessories", "bags"]
+ },
"octoplushy": {
"description": "A FreeSewing pattern for an octopus plushy toy",
"code": "Wouter Van Wageningen",
diff --git a/config/software/plugins.json b/config/software/plugins.json
index af0f9ce27b1..0969d65809e 100644
--- a/config/software/plugins.json
+++ b/config/software/plugins.json
@@ -1,26 +1,17 @@
{
- "plugin-banner": "A FreeSewing plugin to repeat text on a path",
- "plugin-bartack": "A FreeSewing plugin to add bartacks to your pattern",
+ "plugin-annotations": "A FreeSewing plugin that provides pattern annotations",
"plugin-bundle": "An umbrella package of 8 essential FreeSewing build-time plugins",
"plugin-bust": "A FreeSewing plugin that helps with bust-adjusting menswear patterns",
- "plugin-buttons": "A FreeSewing plugin that provides button, buttonhole, and snap snippets",
"plugin-cutlist": "A FreeSewing plugin to store data regarding a pattern's cutlist",
- "plugin-cutonfold": "A FreeSewing plugin to add cut-on-fold indicators on your patterns",
- "plugin-dimension": "A FreeSewing plugin to add dimensions to your (paperless) pattern",
"plugin-flip": "A FreeSewing plugin to flip parts horizontally",
"plugin-gore": "A FreeSewing plugin to generate gores for a semi-sphere or dome",
- "plugin-grainline": "A FreeSewing plugin to add grainline indicators on your patterns",
"plugin-i18n": "A FreeSewing plugin for pattern translation",
- "plugin-logo": "A FreeSewing plugin to add our logo to your patterns",
"plugin-measurements": "A FreeSewing plugin that adds additional measurements that can be calculated from existing ones",
"plugin-mirror": "A FreeSewing plugin to mirror points or paths",
- "plugin-notches": "A FreeSewing plugin that provides front and back notch snippets",
"plugin-round": "A FreeSewing plugin to round corners",
- "plugin-scalebox": "A FreeSewing plugin to add a scalebox to your pattern",
"plugin-sprinkle": "A FreeSewing plugin to bulk-add snippets to your pattern",
"plugin-svgattr": "A FreeSewing plugin to set SVG attributes",
"plugin-theme": "A FreeSewing plugin that provides a default theme",
"plugin-timing": "A FreeSewing plugin to record the time it takes to draft your pattern parts",
- "plugin-title": "A FreeSewing plugin to add a title to your pattern parts",
"plugin-versionfree-svg": "A FreeSewing plugin to keep version info out of your SVG to allow easy diffs across versions"
}
diff --git a/designs/aaron/README.md b/designs/aaron/README.md
index 0fa73a5d5e2..609c5cab92f 100644
--- a/designs/aaron/README.md
+++ b/designs/aaron/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/aaron/package.json b/designs/aaron/package.json
index cde4b732c60..98ab5e6b839 100644
--- a/designs/aaron/package.json
+++ b/designs/aaron/package.json
@@ -53,7 +53,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/albert/README.md b/designs/albert/README.md
index a72f6341796..ca8bec0eac2 100644
--- a/designs/albert/README.md
+++ b/designs/albert/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/albert/package.json b/designs/albert/package.json
index e855e07cbd2..84ca0d987c6 100644
--- a/designs/albert/package.json
+++ b/designs/albert/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/albert/src/front.mjs b/designs/albert/src/front.mjs
index 90668c3e319..7eda43a6dc7 100644
--- a/designs/albert/src/front.mjs
+++ b/designs/albert/src/front.mjs
@@ -1,63 +1,4 @@
import { pluginBundle } from '@freesewing/plugin-bundle'
-import { version } from '../data.mjs'
-
-// crossBox macro
-const crossBox = {
- name: 'crossbox',
- version,
- macros: {
- crossBox: function (so, { points, Point, paths, Path, getId }) {
- let id = getId()
- let shiftFraction = 0.1
- points[id + '_boxTopLeft'] = so.from.copy()
- points[id + '_boxBottomRight'] = so.to.copy()
- points[id + '_boxTopRight'] = new Point(so.to.x, so.from.y)
- points[id + '_boxBottomLeft'] = new Point(so.from.x, so.to.y)
-
- points[id + '_topCrossTL'] = points[id + '_boxTopLeft'].shiftFractionTowards(
- points[id + '_boxBottomRight'],
- shiftFraction
- )
- points[id + '_topCrossTR'] = points[id + '_boxTopRight'].shiftFractionTowards(
- points[id + '_boxBottomLeft'],
- shiftFraction
- )
- points[id + '_topCrossBL'] = points[id + '_boxBottomLeft'].shiftFractionTowards(
- points[id + '_boxTopRight'],
- shiftFraction
- )
- points[id + '_topCrossBR'] = points[id + '_boxBottomRight'].shiftFractionTowards(
- points[id + '_boxTopLeft'],
- shiftFraction
- )
-
- paths[id + 'crossBox'] = new Path()
- .move(points[id + '_boxTopLeft'])
- .line(points[id + '_boxTopRight'])
- .line(points[id + '_boxBottomRight'])
- .line(points[id + '_boxBottomLeft'])
- .line(points[id + '_boxTopLeft'])
- .close()
- .attr('class', 'lining dotted stroke-sm')
- paths[id + '_topCross'] = new Path()
- .move(points[id + '_topCrossTL'])
- .line(points[id + '_topCrossBR'])
- .line(points[id + '_topCrossTR'])
- .line(points[id + '_topCrossBL'])
- .line(points[id + '_topCrossTL'])
- .line(points[id + '_topCrossTR'])
- .move(points[id + '_topCrossBR'])
- .line(points[id + '_topCrossBL'])
- .attr('class', 'lining dotted stroke-sm')
- if (typeof so.text === 'string') {
- points.textAnchor = points[id + '_boxTopLeft']
- .shiftFractionTowards(points[id + '_boxBottomRight'], 0.5)
- .attr('data-text', so.text)
- .attr('data-text-class', 'center')
- }
- },
- },
-}
export const front = {
name: 'albert.front',
@@ -68,7 +9,7 @@ export const front = {
bibLength: { pct: 75, min: 0, max: 90, menu: 'style' },
lengthBonus: { pct: 0, min: -20, max: 25, menu: 'style' },
},
- plugins: [pluginBundle, crossBox],
+ plugins: pluginBundle,
draft: ({
options,
measurements,
@@ -199,11 +140,11 @@ export const front = {
points.scaleboxAnchor = points.pocketLeftBottom.shiftFractionTowards(points.bottomRight, 0.5)
macro('scalebox', { at: points.scaleboxAnchor })
- macro('crossBox', {
+ macro('crossbox', {
from: points.topRightHem,
to: points.crossBoxTo1,
})
- macro('crossBox', {
+ macro('crossbox', {
from: points.topRightBack,
to: points.crossBoxTo2,
text: 'attachment',
diff --git a/designs/albert/src/strap.mjs b/designs/albert/src/strap.mjs
index 820ab3500a7..629a061a66f 100644
--- a/designs/albert/src/strap.mjs
+++ b/designs/albert/src/strap.mjs
@@ -94,8 +94,8 @@ export const strap = {
at: points.title,
title: 'Strap',
})
- macro('crossBox', { from: points.topLeft, to: points.topMiddleHem })
- macro('crossBox', { from: points.bottomLeftHem, to: points.bottomMiddle })
+ macro('crossbox', { from: points.topLeft, to: points.topMiddleHem })
+ macro('crossbox', { from: points.bottomLeftHem, to: points.bottomMiddle })
if (sa) {
paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
}
diff --git a/designs/bee/README.md b/designs/bee/README.md
index 9f62e0c5fa5..d993c3775b3 100644
--- a/designs/bee/README.md
+++ b/designs/bee/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/bee/package.json b/designs/bee/package.json
index 2eb83ba5677..2a66f9321b9 100644
--- a/designs/bee/package.json
+++ b/designs/bee/package.json
@@ -52,7 +52,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/bella/README.md b/designs/bella/README.md
index dca451e9ea8..1429bc67557 100644
--- a/designs/bella/README.md
+++ b/designs/bella/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/bella/package.json b/designs/bella/package.json
index 184a03c27c2..87909812c3b 100644
--- a/designs/bella/package.json
+++ b/designs/bella/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/benjamin/README.md b/designs/benjamin/README.md
index f6a6c6721f7..8d21c136c05 100644
--- a/designs/benjamin/README.md
+++ b/designs/benjamin/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/benjamin/package.json b/designs/benjamin/package.json
index 376c5d0ba29..d9fea884859 100644
--- a/designs/benjamin/package.json
+++ b/designs/benjamin/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/bent/README.md b/designs/bent/README.md
index 9b9cace96bf..b2977e3e139 100644
--- a/designs/bent/README.md
+++ b/designs/bent/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/bent/package.json b/designs/bent/package.json
index 357b1717a62..a6236e7432d 100644
--- a/designs/bent/package.json
+++ b/designs/bent/package.json
@@ -54,7 +54,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/bob/README.md b/designs/bob/README.md
index 83ca326f3c5..4c6cdf197af 100644
--- a/designs/bob/README.md
+++ b/designs/bob/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/bob/package.json b/designs/bob/package.json
index 6accafe981b..0913cc510b2 100644
--- a/designs/bob/package.json
+++ b/designs/bob/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/breanna/README.md b/designs/breanna/README.md
index ff0d1ca4f99..493fe0cb0a2 100644
--- a/designs/breanna/README.md
+++ b/designs/breanna/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/breanna/package.json b/designs/breanna/package.json
index c6abe3f3517..cf1504bb3ad 100644
--- a/designs/breanna/package.json
+++ b/designs/breanna/package.json
@@ -52,7 +52,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/brian/README.md b/designs/brian/README.md
index 65ef1a38220..cfff142596b 100644
--- a/designs/brian/README.md
+++ b/designs/brian/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/brian/package.json b/designs/brian/package.json
index cee905a28f7..873d8f555b3 100644
--- a/designs/brian/package.json
+++ b/designs/brian/package.json
@@ -53,7 +53,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/brian/src/base.mjs b/designs/brian/src/base.mjs
index 60562809f6a..c290a94ef15 100644
--- a/designs/brian/src/base.mjs
+++ b/designs/brian/src/base.mjs
@@ -189,14 +189,14 @@ export const base = {
macro('mirror', {
mirror: [points.hps, points.shoulder],
points: [
- points.neckCp2Front,
- points.cfNeckCp1,
- points.cfNeck,
- points.cbNeck,
- points.neckCp2,
- points.frontArmholePitch,
- points.frontArmholePitchCp2,
- points.shoulderCp1,
+ 'neckCp2Front',
+ 'cfNeckCp1',
+ 'cfNeck',
+ 'cbNeck',
+ 'neckCp2',
+ 'frontArmholePitch',
+ 'frontArmholePitchCp2',
+ 'shoulderCp1',
],
clone: true,
})
diff --git a/designs/bruce/README.md b/designs/bruce/README.md
index a8278c55131..d1a13c9107f 100644
--- a/designs/bruce/README.md
+++ b/designs/bruce/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/bruce/package.json b/designs/bruce/package.json
index db695af6f82..35cf1c5659b 100644
--- a/designs/bruce/package.json
+++ b/designs/bruce/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/carlita/README.md b/designs/carlita/README.md
index 24eb49e893f..6adbaf8b7dc 100644
--- a/designs/carlita/README.md
+++ b/designs/carlita/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/carlita/package.json b/designs/carlita/package.json
index 71db2ce0926..bac6e9e8be8 100644
--- a/designs/carlita/package.json
+++ b/designs/carlita/package.json
@@ -56,7 +56,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/carlton/README.md b/designs/carlton/README.md
index 40452bedf37..f7c466cb15c 100644
--- a/designs/carlton/README.md
+++ b/designs/carlton/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/carlton/package.json b/designs/carlton/package.json
index 591c6b44b5f..d889a3a382c 100644
--- a/designs/carlton/package.json
+++ b/designs/carlton/package.json
@@ -55,7 +55,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/cathrin/README.md b/designs/cathrin/README.md
index 5eaf86f56e9..d72c640e6c1 100644
--- a/designs/cathrin/README.md
+++ b/designs/cathrin/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/cathrin/package.json b/designs/cathrin/package.json
index 54293275b5d..496f33f1ca1 100644
--- a/designs/cathrin/package.json
+++ b/designs/cathrin/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/charlie/README.md b/designs/charlie/README.md
index 890efe1f842..20bbc92ce73 100644
--- a/designs/charlie/README.md
+++ b/designs/charlie/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/charlie/package.json b/designs/charlie/package.json
index 0be813dc479..944f8edfaf8 100644
--- a/designs/charlie/package.json
+++ b/designs/charlie/package.json
@@ -55,7 +55,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/cornelius/README.md b/designs/cornelius/README.md
index 28d31d702eb..80a4dc3b8a0 100644
--- a/designs/cornelius/README.md
+++ b/designs/cornelius/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/cornelius/package.json b/designs/cornelius/package.json
index 31d604e1f60..ffe24971e76 100644
--- a/designs/cornelius/package.json
+++ b/designs/cornelius/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/diana/README.md b/designs/diana/README.md
index a174144d836..fb0a774df6e 100644
--- a/designs/diana/README.md
+++ b/designs/diana/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/diana/package.json b/designs/diana/package.json
index 6502175b722..6d51d3dbdbf 100644
--- a/designs/diana/package.json
+++ b/designs/diana/package.json
@@ -53,7 +53,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/examples/README.md b/designs/examples/README.md
index d2a12034752..98205a629be 100644
--- a/designs/examples/README.md
+++ b/designs/examples/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/examples/package.json b/designs/examples/package.json
index 1121b724579..6082bfebad3 100644
--- a/designs/examples/package.json
+++ b/designs/examples/package.json
@@ -48,7 +48,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/examples/src/plugins.mjs b/designs/examples/src/plugins.mjs
index e8f436e8f94..28ebc844625 100644
--- a/designs/examples/src/plugins.mjs
+++ b/designs/examples/src/plugins.mjs
@@ -232,8 +232,8 @@ export const plugin_mirror = {
macro('mirror', {
mirror: [points.b, points.d],
- points: [points.mid],
- paths: [paths.a],
+ points: ['mid'],
+ paths: ['a'],
})
macro('sprinkle', {
diff --git a/designs/florence/README.md b/designs/florence/README.md
index ee27f550455..7952d5ea9ac 100644
--- a/designs/florence/README.md
+++ b/designs/florence/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/florence/package.json b/designs/florence/package.json
index eb6b94c0e88..dd2cd94d789 100644
--- a/designs/florence/package.json
+++ b/designs/florence/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/florent/README.md b/designs/florent/README.md
index 6e7938bebee..11531b1aa84 100644
--- a/designs/florent/README.md
+++ b/designs/florent/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/florent/package.json b/designs/florent/package.json
index 239a395e5ba..2f54fdf23a9 100644
--- a/designs/florent/package.json
+++ b/designs/florent/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/hi/README.md b/designs/hi/README.md
index 9940c1e78a0..e9877008b18 100644
--- a/designs/hi/README.md
+++ b/designs/hi/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/hi/package.json b/designs/hi/package.json
index a30f3b5f3fc..2f87ba2e76b 100644
--- a/designs/hi/package.json
+++ b/designs/hi/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/hi/src/aboveMouth.mjs b/designs/hi/src/aboveMouth.mjs
index 8523148f61a..6ce49ab9d81 100644
--- a/designs/hi/src/aboveMouth.mjs
+++ b/designs/hi/src/aboveMouth.mjs
@@ -17,21 +17,21 @@ function draftHiAboveMouth({
part,
}) {
let aboveMouth01_02d = 266.7238454769277 * options.size
- let aboveMouth01_02a = 353.4089695458119
- let aboveMouth02_03d = 28.348200101593726 * options.size
- let aboveMouth02_03a = 233.13495309848912
+ const aboveMouth01_02a = 353.4089695458119
+ const aboveMouth02_03d = 28.348200101593726 * options.size
+ const aboveMouth02_03a = 233.13495309848912
let aboveMouth01_04d = 57.858419828059574 * options.size
- let aboveMouth01_04a = 208.91023166349467
- let aboveMouth01cp1d = 62.927189989701574 * options.size
- let aboveMouth01cp1a = 298.7196048714283
- let aboveMouth02cp2d = 169.53367533325053 * options.size
- let aboveMouth02cp2a = 195.1209034747764
- let aboveMouth03cp1d = 172.36585117998288 * options.size
- let aboveMouth03cp1a = 197.87876803095696
- let aboveMouth04cp2d = 66.94005927693816 * options.size
- let aboveMouth04cp2a = 308.8121959753343
+ const aboveMouth01_04a = 208.91023166349467
+ const aboveMouth01cp1d = 62.927189989701574 * options.size
+ const aboveMouth01cp1a = 298.7196048714283
+ const aboveMouth02cp2d = 169.53367533325053 * options.size
+ const aboveMouth02cp2a = 195.1209034747764
+ const aboveMouth03cp1d = 172.36585117998288 * options.size
+ const aboveMouth03cp1a = 197.87876803095696
+ const aboveMouth04cp2d = 66.94005927693816 * options.size
+ const aboveMouth04cp2a = 308.8121959753343
- let faceTopLength = store.get('faceTopLength')
+ const faceTopLength = store.get('faceTopLength')
let diff = 0
let iteration = 0
@@ -58,28 +58,31 @@ function draftHiAboveMouth({
iteration++
} while (Math.abs(diff) > store.get('tolerance') && iteration < 100)
- paths.seam = new Path()
+ paths.aboveMouthAttachment = new Path()
.move(points.aboveMouth01)
.line(points.aboveMouth04)
+ .attr('data-text-class', 'text-xs')
+ paths.bodyAttachment = new Path()
+ .move(points.aboveMouth04)
.curve(points.aboveMouth04cp2, points.aboveMouth03cp1, points.aboveMouth03)
+ .attr('data-text-class', 'text-xs')
+ paths.finAttachment = new Path()
+ .move(points.aboveMouth03)
.line(points.aboveMouth02)
+ .attr('data-text-class', 'text-xs')
+ paths.bellyAndMouthAttachment = new Path()
+ .move(points.aboveMouth02)
.curve(points.aboveMouth02cp2, points.aboveMouth01cp1, points.aboveMouth01)
+ paths.seam = new Path()
+ .move(points.aboveMouth01)
+ .join(paths.aboveMouthAttachment)
+ .join(paths.bodyAttachment)
+ .join(paths.finAttachment)
+ .join(paths.bellyAndMouthAttachment)
.close()
- store.set(
- 'aboveMouthTopLength',
- new Path()
- .move(points.aboveMouth03)
- .curve(points.aboveMouth03cp1, points.aboveMouth04cp2, points.aboveMouth04)
- .length()
- )
- store.set(
- 'aboveMouthBottomLength',
- new Path()
- .move(points.aboveMouth01)
- .curve(points.aboveMouth01cp1, points.aboveMouth02cp2, points.aboveMouth02)
- .length()
- )
+ store.set('aboveMouthTopLength', paths.bodyAttachment.length())
+ store.set('aboveMouthBottomLength', paths.bellyAndMouthAttachment.length())
store.set('aboveMouthFinLength', points.aboveMouth02.dist(points.aboveMouth03))
// Complete?
@@ -105,6 +108,45 @@ function draftHiAboveMouth({
scale: options.size / 2,
})
+ macro('banner', {
+ path: paths.aboveMouthAttachment,
+ text: 'aboveMouth',
+ dy: -0,
+ spaces: 0,
+ repeat: 1,
+ })
+ macro('banner', {
+ path: paths.bodyAttachment,
+ text: 'body',
+ dy: 0,
+ spaces: 10,
+ repeat: 7,
+ })
+ macro('banner', {
+ path: paths.finAttachment,
+ text: '+',
+ dy: 0,
+ spaces: 0,
+ repeat: 4,
+ })
+ let split = paths.bellyAndMouthAttachment.split(points.aboveMouthSnippet)
+ paths.bellyAttachment = split[0].attr('data-text-class', 'text-xs')
+ macro('banner', {
+ path: paths.bellyAttachment,
+ text: 'belly',
+ dy: 0,
+ spaces: 4,
+ repeat: 3,
+ })
+ paths.mouthAttachment = split[1].attr('data-text-class', 'text-xs')
+ macro('banner', {
+ path: paths.mouthAttachment,
+ text: 'mouth',
+ dy: 0,
+ spaces: 4,
+ repeat: 3,
+ })
+
if (paperless) {
macro('hd', {
from: points.aboveMouth04,
diff --git a/designs/hi/src/belly.mjs b/designs/hi/src/belly.mjs
index 7ebdee35bec..c8e3819b282 100644
--- a/designs/hi/src/belly.mjs
+++ b/designs/hi/src/belly.mjs
@@ -16,49 +16,41 @@ function draftHiBelly({
macro,
part,
}) {
- let belly01_02d = 224.8451041 * options.size
- let belly02_03d = 108.1988389 * options.size
- let belly03_04d = 216.7485605 * options.size
- //let belly04_05d = 164.7592153 * options.size
- let belly01_10d = 129.2449198 * options.size
- let belly01_02a = 25.7020193
- let belly02_03a = 2.2164353
- let belly03_04a = 338.0869319
+ const belly01_02d = 224.8451041 * options.size
+ const belly02_03d = 108.1988389 * options.size
+ const belly03_04d = 216.7485605 * options.size
+ const belly01_10d = 129.2449198 * options.size
+ const belly01_02a = 25.7020193
+ const belly02_03a = 2.2164353
+ const belly03_04a = 338.0869319
- //let belly04_05a = 198.1877729
- let belly01_10a = 163.4959859
- let belly10_05d = 231.4386252 * options.size
- let belly10_05a = 0
+ const belly01_10a = 163.4959859
+ const belly10_05d = 231.4386252 * options.size
+ const belly10_05a = 0
- let belly01cp1d = 65.65512143 * options.size
- let belly01cp2d = 38.20949996 * options.size
- let belly02cp1d = 37.73513423 * options.size
- let belly02cp2d = 118.6453123 * options.size
- let belly03cp1d = 54.50254779 * options.size
- let belly03cp2d = 40.6827883 * options.size
- let belly04cp1d = 52.08589469 * options.size
- let belly04cp2d = 62.46560129 * options.size
- let belly05cp1d = 48.20828587 * options.size
- // let belly05cp2d = 48.20828587 * options.size
- let belly05cp2d = 68 * options.size
- //let belly10cp1d = 45.42602302 * options.size
- // let belly10cp2d = 45.42602302 * options.size
- let belly10cp2d = 65.42602302 * options.size
+ const belly01cp1d = 65.65512143 * options.size
+ const belly01cp2d = 38.20949996 * options.size
+ const belly02cp1d = 37.73513423 * options.size
+ const belly02cp2d = 118.6453123 * options.size
+ const belly03cp1d = 54.50254779 * options.size
+ const belly03cp2d = 40.6827883 * options.size
+ const belly04cp1d = 52.08589469 * options.size
+ const belly04cp2d = 62.46560129 * options.size
+ const belly05cp1d = 48.20828587 * options.size
+ const belly05cp2d = 68 * options.size
+ const belly10cp2d = 65.42602302 * options.size
- let belly01cp1a = 60.117233
- let belly01cp2a = 327.4394109
- let belly02cp1a = 331.7898702
- let belly02cp2a = 182.9449647
- let belly03cp1a = 349.861397
- let belly03cp2a = 200.1533738
- let belly04cp1a = 204.8857575
- let belly04cp2a = 145.9357065
- // let belly05cp1a = 8.1545383
- let belly05cp1a = 8.1545383
- // let belly05cp2a = 8.1545383
- let belly05cp2a = 5
- //let belly10cp1a = 169.9644604
- let belly10cp2a = 175.9644604
+ const belly01cp1a = 60.117233
+ const belly01cp2a = 327.4394109
+ const belly02cp1a = 331.7898702
+ const belly02cp2a = 182.9449647
+ const belly03cp1a = 349.861397
+ const belly03cp2a = 200.1533738
+ const belly04cp1a = 204.8857575
+ const belly04cp2a = 145.9357065
+ const belly05cp1a = 8.1545383
+ const belly05cp2a = 5
+ const belly10cp2a = 175.9644604
points.belly10 = new Point(0, 0)
points.belly01 = points.belly10.shift(belly01_10a, belly01_10d)
@@ -84,7 +76,7 @@ function draftHiBelly({
points.belly05cp2 = points.belly05.shift(belly05cp2a, belly05cp2d)
points.belly10cp1 = points.belly10.shift(belly10cp2a, belly10cp2d)
- let mouthPartLength =
+ const mouthPartLength =
store.get('aboveMouthBottomLength') -
store.get('mouthTopLength') +
store.get('mouthBottomLength')
@@ -105,7 +97,7 @@ function draftHiBelly({
.length()
} while (Math.abs(diff) > store.get('tolerance') && iteration < 100)
- let bellyTailLength = store.get('bellyTailLength')
+ const bellyTailLength = store.get('bellyTailLength')
diff = 0
iteration = 0
@@ -140,17 +132,40 @@ function draftHiBelly({
points.belly09cp2 = points.belly01cp1.flipY()
points.belly10cp2 = points.belly10cp1.flipY()
- paths.top = new Path()
+ paths.body1 = new Path()
.move(points.belly04)
.curve(points.belly04cp2, points.belly03cp1, points.belly03)
+ .attr('data-text-class', 'text-xs')
+ paths.body2 = new Path()
+ .move(points.belly07)
+ .curve(points.belly07cp2, points.belly06cp1, points.belly06)
+ .attr('data-text-class', 'text-xs')
+ paths.finAttachmentBelly1 = new Path()
+ .move(points.belly03)
.curve(points.belly03cp2, points.belly02cp1, points.belly02)
+ .attr('data-text-class', 'text-xs')
+ paths.finAttachmentBelly2 = new Path()
+ .move(points.belly08)
+ .curve(points.belly08cp2, points.belly07cp1, points.belly07)
+ .attr('data-text-class', 'text-xs')
+ paths.mouthAttachment1 = new Path()
+ .move(points.belly02)
.curve(points.belly02cp2, points.belly01cp1, points.belly01)
+ paths.mouthAttachment2 = new Path()
+ .move(points.belly09)
+ .curve(points.belly09cp2, points.belly08cp1, points.belly08)
+
+ paths.top = new Path()
+ .move(points.belly04)
+ .join(paths.body1)
+ .join(paths.finAttachmentBelly1)
+ .join(paths.mouthAttachment1)
.hide()
paths.bottom = new Path()
.move(points.belly09)
- .curve(points.belly09cp2, points.belly08cp1, points.belly08)
- .curve(points.belly08cp2, points.belly07cp1, points.belly07)
- .curve(points.belly07cp2, points.belly06cp1, points.belly06)
+ .join(paths.mouthAttachment2)
+ .join(paths.finAttachmentBelly2)
+ .join(paths.body2)
.hide()
paths.seam = new Path()
.move(points.belly01)
@@ -173,17 +188,84 @@ function draftHiBelly({
// Complete?
if (complete) {
- points.bellyMouthSnippet1 = new Path()
- .move(points.belly01)
- .curve(points.belly01cp1, points.belly02cp2, points.belly02)
+ points.bellyMouthSnippet1 = paths.mouthAttachment1
+ .reverse()
+ .shiftAlong(store.get('mouthBottomLength'))
+ points.bellyMouthSnippet2 = paths.mouthAttachment2
+ .reverse()
.shiftAlong(store.get('mouthBottomLength'))
- points.bellyMouthSnippet2 = points.bellyMouthSnippet1.flipY()
snippets.mouth1 = new Snippet('bnotch', points.bellyMouthSnippet1)
snippets.mouth2 = new Snippet('bnotch', points.bellyMouthSnippet2)
+ macro('banner', {
+ path: paths.finAttachmentBelly1,
+ text: '-o-',
+ dy: 0,
+ spaces: 3,
+ repeat: 7,
+ })
+ macro('banner', {
+ path: paths.finAttachmentBelly2,
+ text: '-o-',
+ dy: 0,
+ spaces: 3,
+ repeat: 7,
+ })
+
+ const split1 = paths.mouthAttachment1.split(points.bellyMouthSnippet1)
+ const split2 = paths.mouthAttachment2.split(points.bellyMouthSnippet2)
+ paths.mouth1 = split1[1].attr('data-text-class', 'text-xs')
+ paths.mouth2 = split2[0].attr('data-text-class', 'text-xs')
+ paths.aboveMouth1 = split1[0].attr('data-text-class', 'text-xs')
+ paths.aboveMouth2 = split2[1].attr('data-text-class', 'text-xs')
+
+ macro('banner', {
+ path: paths.mouth1,
+ text: 'mouth',
+ dy: 0,
+ spaces: 3,
+ repeat: 3,
+ })
+ macro('banner', {
+ path: paths.mouth2,
+ text: 'mouth',
+ dy: 0,
+ spaces: 3,
+ repeat: 3,
+ })
+ macro('banner', {
+ path: paths.body1,
+ text: 'body',
+ dy: 0,
+ spaces: 3,
+ repeat: 3,
+ })
+ macro('banner', {
+ path: paths.body2,
+ text: 'body',
+ dy: 0,
+ spaces: 3,
+ repeat: 3,
+ })
+ macro('banner', {
+ path: paths.aboveMouth1,
+ text: 'aboveMouth',
+ dy: 0,
+ spaces: 3,
+ repeat: 3,
+ })
+ macro('banner', {
+ path: paths.aboveMouth2,
+ text: 'aboveMouth',
+ dy: 0,
+ spaces: 3,
+ repeat: 3,
+ })
+
points.grainlineFrom = new Point(points.belly10.x, points.belly02.y * 0.7)
points.grainlineTo = new Point(points.belly05.x, points.belly02.y * 0.7)
+
macro('grainline', {
from: points.grainlineFrom,
to: points.grainlineTo,
diff --git a/designs/hi/src/body.mjs b/designs/hi/src/body.mjs
index 2143b29025c..30eaa52dcc2 100644
--- a/designs/hi/src/body.mjs
+++ b/designs/hi/src/body.mjs
@@ -16,203 +16,132 @@ function draftHiBody({
utils,
part,
}) {
- let body01_02d = 117.67274991262845 * options.size
- let body02_03d = 124.91298035032229 * options.size
- // let body02_03d = body01_02d
- let body03_04d = 255.92397474640785 * options.size
- let body04_05d = 201.01260719168837 * options.size
- let body05_06d = 134.89080971660005 * options.size
- let body06_07d = 49.0386070356816 * options.size
- let body07_08d = 225.86340480918992 * options.size
- let body08_09d = 66.84760000179512 * options.size
- let body09_10d = 40.7278200374142 * options.size
- let body10_11d = 23.78799421977402 * options.size
- let body11_12d = 57.68530918700182 * options.size
- let body12_13d = 98.0662397820983 * options.size
- let body13_14d = 91.32736600274856 * options.size
- let body14_15d = 295.1097706682888 * options.size
- let body15_16d = 209.4263335058177 * options.size
- let body16_17d = 152.51537318250902 * options.size
- let body17_18d = 255.15294373571314 * options.size
- let body18_19d = 71.90453921693678 * options.size
- //let body19_01d = 61.33021195137026 * options.size
+ const body01_02d = 117.67274991262845 * options.size
+ const body02_03d = 124.91298035032229 * options.size
+ const body03_04d = 255.92397474640785 * options.size
+ const body04_05d = 201.01260719168837 * options.size
+ const body05_06d = 134.89080971660005 * options.size
+ const body06_07d = 49.0386070356816 * options.size
+ const body07_08d = 225.86340480918992 * options.size
+ const body08_09d = 66.84760000179512 * options.size
+ const body09_10d = 40.7278200374142 * options.size
+ const body10_11d = 23.78799421977402 * options.size
+ const body11_12d = 57.68530918700182 * options.size
+ const body12_13d = 98.0662397820983 * options.size
+ const body13_14d = 91.32736600274856 * options.size
+ const body14_15d = 295.1097706682888 * options.size
+ const body15_16d = 209.4263335058177 * options.size
+ const body16_17d = 152.51537318250902 * options.size
+ const body17_18d = 255.15294373571314 * options.size
+ const body18_19d = 71.90453921693678 * options.size
- let body01cp1d = 32.13103487929059 * options.size
- let body01cp2d = 23.72518967258217 * options.size
- let body02cp1d = 44.99353642469105 * options.size
- let body02cp2d = 42.33568754608812 * options.size
- let body03cp1d = 62.59332758369697 * options.size
- let body03cp2d = 40.89285869195256 * options.size
- let body04cp1d = 176.21501525125487 * options.size
- let body04cp2d = 130.11389715553065 * options.size
- let body05cp1d = 29.56689479806765 * options.size
- let body05cp2d = 104.66860665930352 * options.size
- let body06cp1d = 8.03497915367552 * options.size
- let body06cp2d = 34.57808908832297 * options.size
- let body07cp1d = 89.11908088619404 * options.size
- let body07cp2d = 25.54827831772624 * options.size
- let body08cp1d = 41.24120086757895 * options.size
- let body08cp2d = 158.23693200387828 * options.size
- let body09cp1d = 4.87663090668135 * options.size
- let body09cp2d = 25.76988630165065 * options.size
- let body10cp1d = 4.13950105689086 * options.size
- let body10cp2d = 13.2750849338149 * options.size
- let body11cp1d = 17.66659910678904 * options.size
- let body11cp2d = 17.66533107530116 * options.size
- let body12cp1d = 14.46914569005365 * options.size
- let body12cp2d = 39.51915145850176 * options.size
- let body13cp1d = 35.66832366400192 * options.size
- let body13cp2d = 48.53828530139895 * options.size
- let body14cp1d = 77.2603605608982 * options.size
- let body14cp2d = 37.42741381661305 * options.size
- let body15cp1d = 74.89746640634775 * options.size
- let body15cp2d = 101.16048880857042 * options.size
- let body16cp1d = 36.21092864039804 * options.size
- let body16cp2d = 63.69410844026312 * options.size
- let body17cp1d = 97.90988675818191 * options.size
- let body17cp2d = 62.08991689477443 * options.size
- let body18cp1d = 22.74982929606286 * options.size
- let body18cp2d = 16.57960183478481 * options.size
- let body19cp1d = 23.95674278778315 * options.size
- let body19cp2d = 24.49741270011998 * options.size
+ const body01cp1d = 32.13103487929059 * options.size
+ const body01cp2d = 23.72518967258217 * options.size
+ const body02cp1d = 44.99353642469105 * options.size
+ const body02cp2d = 42.33568754608812 * options.size
+ const body03cp1d = 62.59332758369697 * options.size
+ const body03cp2d = 40.89285869195256 * options.size
+ const body04cp1d = 176.21501525125487 * options.size
+ const body04cp2d = 130.11389715553065 * options.size
+ const body05cp1d = 29.56689479806765 * options.size
+ const body05cp2d = 104.66860665930352 * options.size
+ const body06cp1d = 8.03497915367552 * options.size
+ const body06cp2d = 34.57808908832297 * options.size
+ const body07cp1d = 89.11908088619404 * options.size
+ const body07cp2d = 25.54827831772624 * options.size
+ const body08cp1d = 41.24120086757895 * options.size
+ const body08cp2d = 158.23693200387828 * options.size
+ const body09cp1d = 4.87663090668135 * options.size
+ const body09cp2d = 25.76988630165065 * options.size
+ const body10cp1d = 4.13950105689086 * options.size
+ const body10cp2d = 13.2750849338149 * options.size
+ const body11cp1d = 17.66659910678904 * options.size
+ const body11cp2d = 17.66533107530116 * options.size
+ const body12cp1d = 14.46914569005365 * options.size
+ const body12cp2d = 39.51915145850176 * options.size
+ const body13cp1d = 35.66832366400192 * options.size
+ const body13cp2d = 48.53828530139895 * options.size
+ const body14cp1d = 77.2603605608982 * options.size
+ const body14cp2d = 37.42741381661305 * options.size
+ const body15cp1d = 74.89746640634775 * options.size
+ const body15cp2d = 101.16048880857042 * options.size
+ const body16cp1d = 36.21092864039804 * options.size
+ const body16cp2d = 63.69410844026312 * options.size
+ const body17cp1d = 97.90988675818191 * options.size
+ const body17cp2d = 62.08991689477443 * options.size
+ const body18cp1d = 22.74982929606286 * options.size
+ const body18cp2d = 16.57960183478481 * options.size
+ const body19cp1d = 23.95674278778315 * options.size
+ const body19cp2d = 24.49741270011998 * options.size
- let eyeBigDist = 180.18315182058507 * options.size
- let eyeSmallDist = 2.3629811679317316 * options.size
+ const eyeBigDist = 180.18315182058507 * options.size
+ const eyeSmallDist = 2.3629811679317316 * options.size
- let gillLength = 41.01907104018812 * options.size
+ const gillLength = 41.01907104018812 * options.size
- /*
- let body01_02a = 350.1382392835908
- let body02_03a = 219.2280235992150
- let body03_04a = 339.6914424367389
- let body04_05a = 327.5949161262267
- let body05_06a = 308.0581973147166
- let body06_07a = 73.6604388249373
- let body07_08a = 45.7462208380377
- let body08_09a = 337.5894682731302
- let body09_10a = 305.1280145118106
- let body10_11a = 62.0485099186233
- let body11_12a = 31.5926663325278
- let body12_13a = 351.3547159587854
- let body13_14a = 65.2915054300727
- let body14_15a = 146.7578208812976
- let body15_16a = 179.0692249048048
- let body16_17a = 173.6138831920282
- let body17_18a = 182.5463896677164
- let body18_19a = 168.3450180715549
- let body19_01a = 239.6348252240278
-
- let body01cp1a = 341.5263465356924
- let body01cp2a = 75.6503959063636
- let body02cp1a = 211.9535499171619
- let body02cp2a = 179.4884199670842
- let body03cp1a = 322.8538439425170
- let body03cp2a = 45.3745027878966
- let body04cp1a = 349.1071045662215
- let body04cp2a = 170.7775897297436
- let body05cp1a = 285.1596014648055
- let body05cp2a = 108.5890112443549
- let body06cp1a = 41.1852543570561
- let body06cp2a = 164.1413220186340
- let body07cp1a = 87.2041495377715
- let body07cp2a = 267.0316498407170
- let body08cp1a = 357.4386948546150
- let body08cp2a = 178.5040422857397
- let body09cp1a = 299.4140745661390
- let body09cp2a = 119.4139505554426
- let body10cp1a = 39.0878163024596
- let body10cp2a = 131.9955535201102
- let body11cp1a = 71.2799386715762
- let body11cp2a = 251.2819695388968
- let body12cp1a = 355.0877186628186
- let body12cp2a = 175.0877829918719
- let body13cp1a = 80.2392635965701
- let body13cp2a = 171.4909473733658
- let body14cp1a = 140.9298470364624
- let body14cp2a = 236.9514886304476
- let body15cp1a = 202.5529871921231
- let body15cp2a = 333.1212843908838
- let body16cp1a = 193.8904149121820
- let body16cp2a = 321.0219904969430
- let body17cp1a = 191.0428733832995
- let body17cp2a = 318.4852423703768
- let body18cp1a = 176.9688130385547
- let body18cp2a = 358.1542838646098
- let body19cp1a = 231.3360831292815
- let body19cp2a = 338.5586388459373
-
- let eyeBigAngle = 4.84999368439876
- let eyeSmallAngle = 331.26569123319354
-
- let gillAngle = 283.9416746517148
-*/
-
- let body01_02a = 170.1382393
- let body02_03a = 39.2280236
- let body03_04a = 159.6914424
- let body04_05a = 147.5949161
- let body05_06a = 128.0581973
- let body06_07a = 253.6604388
- let body07_08a = 225.7462208
- let body08_09a = 157.5894683
- let body09_10a = 125.1280145
- let body10_11a = 242.0485099
- let body11_12a = 211.5926663
- let body12_13a = 171.354716
- let body13_14a = 245.2915054
- let body14_15a = 326.7578209
- let body15_16a = 359.0692249
- let body16_17a = 353.6138832
- let body17_18a = 2.546389668
- let body18_19a = 348.3450181
- //let body19_01a = 59.63482522
+ const body01_02a = 170.1382393
+ const body02_03a = 39.2280236
+ const body03_04a = 159.6914424
+ const body04_05a = 147.5949161
+ const body05_06a = 128.0581973
+ const body06_07a = 253.6604388
+ const body07_08a = 225.7462208
+ const body08_09a = 157.5894683
+ const body09_10a = 125.1280145
+ const body10_11a = 242.0485099
+ const body11_12a = 211.5926663
+ const body12_13a = 171.354716
+ const body13_14a = 245.2915054
+ const body14_15a = 326.7578209
+ const body15_16a = 359.0692249
+ const body16_17a = 353.6138832
+ const body17_18a = 2.546389668
+ const body18_19a = 348.3450181
let body01cp1a = 161.5263465
- let body01cp2a = 255.6503959
- let body02cp1a = 31.95354992
- // let body02cp2a = 359.48842
- // let body02cp2a = 2.48842
- let body02cp2a = 10
+ const body01cp2a = 255.6503959
+ const body02cp1a = 31.95354992
+ const body02cp2a = 10
- let body03cp1a = 142.8538439
- let body03cp2a = 225.3745028
- let body04cp1a = 169.1071046
- let body04cp2a = 350.7775897
- let body05cp1a = 105.1596015
- let body05cp2a = 288.5890112
- let body06cp1a = 221.1852544
- let body06cp2a = 344.141322
- let body07cp1a = 267.2041495
- let body07cp2a = 87.03164984
- let body08cp1a = 177.4386949
- let body08cp2a = 358.5040423
- let body09cp1a = 119.4140746
- let body09cp2a = 299.4139506
- let body10cp1a = 219.0878163
- let body10cp2a = 311.9955535
- let body11cp1a = 251.2799387
- let body11cp2a = 71.28196954
- let body12cp1a = 175.0877187
- let body12cp2a = 355.087783
- let body13cp1a = 260.2392636
- let body13cp2a = 351.4909474
- let body14cp1a = 320.929847
- let body14cp2a = 56.95148863
- let body15cp1a = 22.55298719
- let body15cp2a = 153.1212844
- let body16cp1a = 13.89041491
- let body16cp2a = 141.0219905
- let body17cp1a = 11.04287338
- let body17cp2a = 138.4852424
- let body18cp1a = 356.968813
- let body18cp2a = 178.1542839
- let body19cp1a = 51.33608313
- let body19cp2a = 158.5586388
+ const body03cp1a = 142.8538439
+ const body03cp2a = 225.3745028
+ const body04cp1a = 169.1071046
+ const body04cp2a = 350.7775897
+ const body05cp1a = 105.1596015
+ const body05cp2a = 288.5890112
+ const body06cp1a = 221.1852544
+ const body06cp2a = 344.141322
+ const body07cp1a = 267.2041495
+ const body07cp2a = 87.03164984
+ const body08cp1a = 177.4386949
+ const body08cp2a = 358.5040423
+ const body09cp1a = 119.4140746
+ const body09cp2a = 299.4139506
+ const body10cp1a = 219.0878163
+ const body10cp2a = 311.9955535
+ const body11cp1a = 251.2799387
+ const body11cp2a = 71.28196954
+ const body12cp1a = 175.0877187
+ const body12cp2a = 355.087783
+ const body13cp1a = 260.2392636
+ const body13cp2a = 351.4909474
+ const body14cp1a = 320.929847
+ const body14cp2a = 56.95148863
+ const body15cp1a = 22.55298719
+ const body15cp2a = 153.1212844
+ const body16cp1a = 13.89041491
+ const body16cp2a = 141.0219905
+ const body17cp1a = 11.04287338
+ const body17cp2a = 138.4852424
+ const body18cp1a = 356.968813
+ const body18cp2a = 178.1542839
+ const body19cp1a = 51.33608313
+ const body19cp2a = 158.5586388
- let eyeBigAngle = 184.8499937
- let eyeSmallAngle = 151.2656912
+ const eyeBigAngle = 184.8499937
+ const eyeSmallAngle = 151.2656912
- let gillAngle = 103.9416747
+ const gillAngle = 103.9416747
points.body01 = new Point(0, 0)
points.body02 = points.body01.shift(body01_02a, body01_02d)
@@ -331,11 +260,9 @@ function draftHiBody({
eyeSmallDist * (-0.5 + (options.aggressive ? 0 : 1))
)
- // Feeding:
-
- let c = 0.55191502449351
- let eyeBigX = 18.7757 * options.size
- let eyeBigY = 11.6262 * options.size
+ const c = 0.55191502449351
+ const eyeBigX = 18.7757 * options.size
+ const eyeBigY = 11.6262 * options.size
points.eyeBigT = points.eyeBig.shift(90, eyeBigY / 2)
points.eyeBigB = points.eyeBig
.shift(270, eyeBigY / 2)
@@ -360,8 +287,8 @@ function draftHiBody({
.curve(points.eyeBigBcp2, points.eyeBigRcp1, points.eyeBigR)
.curve(points.eyeBigRcp2, points.eyeBigTcp1, points.eyeBigT)
- let eyeSmallX = 1.87089 * options.size * (options.aggressive ? 1.5 : 1)
- let eyeSmallY = 1.5368 * options.size * (options.aggressive ? 1.5 : 1)
+ const eyeSmallX = 1.87089 * options.size * (options.aggressive ? 1.5 : 1)
+ const eyeSmallY = 1.5368 * options.size * (options.aggressive ? 1.5 : 1)
points.eyeSmallT = points.eyeSmall.shift(270, eyeSmallY / 2)
points.eyeSmallB = points.eyeSmall.shift(90, eyeSmallY / 2)
points.eyeSmallR = points.eyeSmall.shift(0, eyeSmallX / 2)
@@ -410,7 +337,7 @@ function draftHiBody({
.join(paths.allButDart)
.close()
- let gillPath = new Path()
+ const gillPath = new Path()
.move(points.body17)
.curve(points.body17cp1, points.body18cp2, points.body18)
points.gill1start = gillPath.shiftFractionAlong(0.018)
@@ -480,6 +407,53 @@ function draftHiBody({
paths.sa = paths.allButDart.close().offset(sa).attr('class', 'fabric sa')
}
+ paths.aboveMouth = new Path()
+ .move(points.body17)
+ .curve(points.body17cp1, points.body18cp2, points.body18)
+ .attr('data-text-class', 'text-xs')
+ macro('banner', {
+ path: paths.aboveMouth,
+ text: 'aboveMouth',
+ dy: 0,
+ spaces: 0,
+ repeat: 1,
+ })
+ paths.belly = new Path()
+ .move(points.body15)
+ .curve(points.body15cp1, points.body16cp2, points.body16)
+ .attr('data-text-class', 'text-xs')
+ macro('banner', {
+ path: paths.belly,
+ text: 'belly',
+ dy: 0,
+ spaces: 10,
+ repeat: 3,
+ })
+ paths.topFin = new Path()
+ .move(points.body16)
+ .curve(points.body16cp1, points.body17cp2, points.body17)
+ .attr('class', 'hidden')
+ .attr('data-text-class', 'text-xs')
+ macro('banner', {
+ path: paths.topFin,
+ text: 'topFin',
+ dy: 0,
+ spaces: 10,
+ repeat: 3,
+ })
+ paths.tail = new Path()
+ .move(points.body13)
+ .curve(points.body13cp1, points.body14cp2, points.body14)
+ .attr('class', 'hidden')
+ .attr('data-text-class', 'text-xs')
+ macro('banner', {
+ path: paths.tail,
+ text: 'tail',
+ dy: 0,
+ spaces: 14,
+ repeat: 3,
+ })
+
macro('ld', {
from: points.body13,
to: points.body01,
diff --git a/designs/hi/src/bottomFin.mjs b/designs/hi/src/bottomFin.mjs
index 06a78c861b6..1d89d8937e4 100644
--- a/designs/hi/src/bottomFin.mjs
+++ b/designs/hi/src/bottomFin.mjs
@@ -18,24 +18,24 @@ function draftHiBottomFin({
part,
}) {
let bottomFin01_02d = 250.63638754690027 * options.size
- let bottomFin01_02a = 119.34849371430543
+ const bottomFin01_02a = 119.34849371430543
let bottomFin01_03d = 137.70322741678933 * options.size
- let bottomFin01_03a = 175.11970494988498
- let bottomFin01cp1d = 133.21819413653674 * options.size
- let bottomFin01cp2d = 51.94197687805115 * options.size
- let bottomFin01cp1a = 95.20910872095476
- let bottomFin01cp2a = 158.66090918215986
- let bottomFin02cp1d = 29.25974733588791 * options.size
- let bottomFin02cp2d = 31.28292571739416 * options.size
- let bottomFin02cp1a = 208.55316756249104
- let bottomFin02cp2a = 28.113642612639804
- let bottomFin03cp1d = 53.31550082293142 * options.size
- let bottomFin03cp2d = 177.65809391356197 * options.size
- let bottomFin03cp1a = 9.79694130335566
- let bottomFin03cp2a = 80.81868300891519
+ const bottomFin01_03a = 175.11970494988498
+ const bottomFin01cp1d = 133.21819413653674 * options.size
+ const bottomFin01cp2d = 51.94197687805115 * options.size
+ const bottomFin01cp1a = 95.20910872095476
+ const bottomFin01cp2a = 158.66090918215986
+ const bottomFin02cp1d = 29.25974733588791 * options.size
+ const bottomFin02cp2d = 31.28292571739416 * options.size
+ const bottomFin02cp1a = 208.55316756249104
+ const bottomFin02cp2a = 28.113642612639804
+ const bottomFin03cp1d = 53.31550082293142 * options.size
+ const bottomFin03cp2d = 177.65809391356197 * options.size
+ const bottomFin03cp1a = 9.79694130335566
+ const bottomFin03cp2a = 80.81868300891519
- let finLength = store.get('aboveMouthFinLength') + store.get('bellyFinLength')
- let finCircumference = store.get('topFinCircumference')
+ const finLength = store.get('aboveMouthFinLength') + store.get('bellyFinLength')
+ const finCircumference = store.get('topFinCircumference')
let diff = 0
let iteration = 0
@@ -97,12 +97,30 @@ function draftHiBottomFin({
// Complete?
if (complete) {
- points.bottomFinSnippet = new Path()
+ const finAttachment = new Path()
.move(points.bottomFin01)
.curve(points.bottomFin01cp2, points.bottomFin03cp1, points.bottomFin03)
- .shiftAlong(store.get('aboveMouthFinLength'))
+ points.bottomFinSnippet = finAttachment.shiftAlong(store.get('aboveMouthFinLength'))
snippets.bottomFin = new Snippet('bnotch', points.bottomFinSnippet)
+ const attachments = finAttachment.split(points.bottomFinSnippet)
+ paths.finAttachmentAboveMouth = attachments[0].reverse().attr('data-text-class', 'text-xs')
+ paths.finAttachmentBelly = attachments[1].reverse().attr('data-text-class', 'text-xs')
+ macro('banner', {
+ path: paths.finAttachmentAboveMouth,
+ text: '+',
+ dy: 0,
+ spaces: 0,
+ repeat: 4,
+ })
+ macro('banner', {
+ path: paths.finAttachmentBelly,
+ text: '-o-',
+ dy: 0,
+ spaces: 4,
+ repeat: 7,
+ })
+
points.titleAnchor = points.bottomFin02
.shiftFractionTowards(points.bottomFin01, 0.4)
.shiftFractionTowards(points.bottomFin03, 0.1)
@@ -125,7 +143,7 @@ function draftHiBottomFin({
let tempPath = new Path()
.move(points.bottomFin03)
.curve(points.bottomFin03cp2, points.bottomFin02cp1, points.bottomFin02)
- let tempPoint = tempPath.shiftFractionAlong(0.8)
+ const tempPoint = tempPath.shiftFractionAlong(0.8)
points.bottomFinInsideLeft = tempPath.split(tempPoint)[0].edge('right')
tempPath = new Path()
.move(points.bottomFin01)
diff --git a/designs/hi/src/lowerTeeth.mjs b/designs/hi/src/lowerTeeth.mjs
index 3843eee2856..8e7b28b4728 100644
--- a/designs/hi/src/lowerTeeth.mjs
+++ b/designs/hi/src/lowerTeeth.mjs
@@ -16,12 +16,12 @@ function draftHiLowerTeeth({
macro,
part,
}) {
- let lowerTeeth01_02d = 75.74338717643937 * options.size
- let lowerTeeth01_02a = 25.414236606099728 + 180
- let lowerTeeth02cp1d = 47.74891452755759 * options.size
- let lowerTeeth02cp1a = 42.59332849750379
- let lowerTeeth01cp2d = 27.774046078481962 * options.size
- let lowerTeeth01cp2a = 180
+ const lowerTeeth01_02d = 75.74338717643937 * options.size
+ const lowerTeeth01_02a = 25.414236606099728 + 180
+ const lowerTeeth02cp1d = 47.74891452755759 * options.size
+ const lowerTeeth02cp1a = 42.59332849750379
+ const lowerTeeth01cp2d = 27.774046078481962 * options.size
+ const lowerTeeth01cp2a = 180
points.lowerTeeth01 = new Point(0, 0)
points.lowerTeeth02 = points.lowerTeeth01.shift(lowerTeeth01_02a, lowerTeeth01_02d)
diff --git a/designs/hi/src/mouth.mjs b/designs/hi/src/mouth.mjs
index c01d3634277..6085594024d 100644
--- a/designs/hi/src/mouth.mjs
+++ b/designs/hi/src/mouth.mjs
@@ -16,18 +16,18 @@ function draftHiMouth({
macro,
part,
}) {
- let mouth01_02d = 141.93684055893488 * options.size
- let mouth01_02a = 312.8254216093024
- let mouth01_03d = 42.496 * options.size
- let mouth01_03a = 270
- let mouth01cp1d = 38.6204 * options.size
- let mouth01cp1a = 0
- let mouth02cp1d = 59.58739935676417 * options.size
- let mouth02cp2d = 73.53520117766728 * options.size
- let mouth02cp1a = 128.07726051101747
- let mouth02cp2a = 95.21339058299296
- let mouth03cp2d = 33.142 * options.size
- let mouth03cp2a = 0
+ const mouth01_02d = 141.93684055893488 * options.size
+ const mouth01_02a = 312.8254216093024
+ const mouth01_03d = 42.496 * options.size
+ const mouth01_03a = 270
+ const mouth01cp1d = 38.6204 * options.size
+ const mouth01cp1a = 0
+ const mouth02cp1d = 59.58739935676417 * options.size
+ const mouth02cp2d = 73.53520117766728 * options.size
+ const mouth02cp1a = 128.07726051101747
+ const mouth02cp2a = 95.21339058299296
+ const mouth03cp2d = 33.142 * options.size
+ const mouth03cp2a = 0
points.mouth01 = new Point(0, 0)
points.mouth02 = points.mouth01.shift(mouth01_02a, mouth01_02d)
@@ -45,13 +45,17 @@ function draftHiMouth({
points.mouth04cp1 = points.mouth02cp2.flipX()
points.mouth03cp1 = points.mouth03cp2.flipX()
- paths.seam = new Path()
- .move(points.mouth01)
+ paths.aboveMouth = new Path()
+ .move(points.mouth02)
+ .curve(points.mouth02cp2, points.mouth01cp1, points.mouth01)
.curve(points.mouth01cp2, points.mouth04cp1, points.mouth04)
+ .attr('data-text-class', 'text-xs')
+ paths.belly = new Path()
+ .move(points.mouth04)
.curve(points.mouth04cp2, points.mouth03cp1, points.mouth03)
.curve(points.mouth03cp2, points.mouth02cp1, points.mouth02)
- .curve(points.mouth02cp2, points.mouth01cp1, points.mouth01)
- .close()
+ .attr('data-text-class', 'text-xs')
+ paths.seam = new Path().move(points.mouth02).join(paths.aboveMouth).join(paths.belly).close()
store.set(
'mouthTopLength',
@@ -93,6 +97,21 @@ function draftHiMouth({
snippets.mouthMidTop = new Snippet('bnotch', points.mouth01)
snippets.mouthMidBottom = new Snippet('bnotch', points.mouth03)
+ macro('banner', {
+ path: paths.aboveMouth,
+ text: 'aboveMouth',
+ dy: 0,
+ spaces: 4,
+ repeat: 6,
+ })
+ macro('banner', {
+ path: paths.belly,
+ text: 'belly',
+ dy: 0,
+ spaces: 4,
+ repeat: 6,
+ })
+
points.titleAnchor = points.mouth01.shiftFractionTowards(points.mouth02, 0.33)
points.logoAnchor = points.mouth01.shiftFractionTowards(points.mouth04, 0.3)
diff --git a/designs/hi/src/tail.mjs b/designs/hi/src/tail.mjs
index a14ba66f045..81fe61084fd 100644
--- a/designs/hi/src/tail.mjs
+++ b/designs/hi/src/tail.mjs
@@ -15,34 +15,34 @@ function draftHiTail({
macro,
part,
}) {
- let tail01_02d = 192.0129724628 * options.size
- let tail01_02a = 53.242955551234914
- let tail01_03d = 115.38057785000036 * options.size
- let tail01_03a = 106.95066736265407
- let tail01_04d = 230.05210782342334 * options.size
- let tail01_04a = 138.66344842617497
- let tail01_05d = 95.12771141996424 * options.size
- let tail01_05a = 173.38284569091573
- let tail01cp1d = 156.52907796955816 * options.size
- let tail01cp2d = 33.33694275124821 * options.size
- let tail01cp1a = 40.69161792982998
- let tail01cp2a = 150.8191939475001
- let tail02cp1d = 20.1307852802616 * options.size
- let tail02cp2d = 26.418081118809575 * options.size
- let tail02cp1a = 129.66709301725697
- let tail02cp2a = 303.9168409570558
- let tail03cp1d = 41.577 * options.size
- let tail03cp2d = 41.575999999999965 * options.size
- let tail03cp1a = 180
- let tail03cp2a = -0
- let tail04cp1d = 18.83137554720844 * options.size
- let tail04cp2d = 18.830271479721173 * options.size
- let tail04cp1a = 218.47354143777738
- let tail04cp2a = 38.483984913053284
- let tail05cp1d = 38.59528397356339 * options.size
- let tail05cp2d = 126.7372982195849 * options.size
- let tail05cp1a = 14.169822482118544
- let tail05cp2a = 128.3396902984
+ const tail01_02d = 192.0129724628 * options.size
+ const tail01_02a = 53.242955551234914
+ const tail01_03d = 115.38057785000036 * options.size
+ const tail01_03a = 106.95066736265407
+ const tail01_04d = 230.05210782342334 * options.size
+ const tail01_04a = 138.66344842617497
+ const tail01_05d = 95.12771141996424 * options.size
+ const tail01_05a = 173.38284569091573
+ const tail01cp1d = 156.52907796955816 * options.size
+ const tail01cp2d = 33.33694275124821 * options.size
+ const tail01cp1a = 40.69161792982998
+ const tail01cp2a = 150.8191939475001
+ const tail02cp1d = 20.1307852802616 * options.size
+ const tail02cp2d = 26.418081118809575 * options.size
+ const tail02cp1a = 129.66709301725697
+ const tail02cp2a = 303.9168409570558
+ const tail03cp1d = 41.577 * options.size
+ const tail03cp2d = 41.575999999999965 * options.size
+ const tail03cp1a = 180
+ const tail03cp2a = -0
+ const tail04cp1d = 18.83137554720844 * options.size
+ const tail04cp2d = 18.830271479721173 * options.size
+ const tail04cp1a = 218.47354143777738
+ const tail04cp2a = 38.483984913053284
+ const tail05cp1d = 38.59528397356339 * options.size
+ const tail05cp2d = 126.7372982195849 * options.size
+ const tail05cp1a = 14.169822482118544
+ const tail05cp2a = 128.3396902984
points.tail01 = new Point(0, 0)
points.tail02 = points.tail01.shift(tail01_02a, tail01_02d)
@@ -89,6 +89,19 @@ function draftHiTail({
.shiftFractionAlong(0.25)
snippets.tail = new Snippet('bnotch', points.tailSnippet)
+ paths.body = new Path()
+ .move(points.tail05)
+ .curve(points.tail05cp1, points.tail01cp2, points.tail01)
+ .attr('class', 'hidden')
+ .attr('data-text-class', 'text-xs')
+ macro('banner', {
+ path: paths.body,
+ text: 'body',
+ dy: 0,
+ spaces: 10,
+ repeat: 3,
+ })
+
points.titleAnchor = points.tail03.shiftFractionTowards(points.tail01, 0.4)
points.logoAnchor = points.tail03.shiftFractionTowards(points.tail05, 0.5)
diff --git a/designs/hi/src/topFin.mjs b/designs/hi/src/topFin.mjs
index 9ed6b8089f4..7ade7118b24 100644
--- a/designs/hi/src/topFin.mjs
+++ b/designs/hi/src/topFin.mjs
@@ -16,24 +16,23 @@ function draftHiTopFin({
part,
}) {
let topFinOpening = store.get('topFinOpening')
- let topFinOpeningLength = store.get('topFinOpeningLength')
+ const topFinOpeningLength = store.get('topFinOpeningLength')
- let topFin01_02d = 256.9537569065251 * options.size
- let topFin01_02a = 325.46697637215823
- //let topFin01_03d = 149.5416276819869 * options.size
- let topFin01_03a = 275.4353725228365
- let topFin01cp1d = 178.52481158058 * options.size
- let topFin01cp2d = 27.240286624072077 * options.size
- let topFin01cp1a = 346.31732410079576
- let topFin01cp2a = 254.05347154462484
- let topFin02cp1d = 25.871054481794893 * options.size
- let topFin02cp2d = 12.154549189501026 * options.size
- let topFin02cp1a = 236.80010054081936
- let topFin02cp2a = 56.66685795767527
- let topFin03cp1d = 39.024661651837555 * options.size
- let topFin03cp2d = 76.08965682877273 * options.size
- let topFin03cp1a = 113.40393219481112
- let topFin03cp2a = 22.511206474810457
+ const topFin01_02d = 256.9537569065251 * options.size
+ const topFin01_02a = 325.46697637215823
+ const topFin01_03a = 275.4353725228365
+ const topFin01cp1d = 178.52481158058 * options.size
+ const topFin01cp2d = 27.240286624072077 * options.size
+ const topFin01cp1a = 346.31732410079576
+ const topFin01cp2a = 254.05347154462484
+ const topFin02cp1d = 25.871054481794893 * options.size
+ const topFin02cp2d = 12.154549189501026 * options.size
+ const topFin02cp1a = 236.80010054081936
+ const topFin02cp2a = 56.66685795767527
+ const topFin03cp1d = 39.024661651837555 * options.size
+ const topFin03cp2d = 76.08965682877273 * options.size
+ const topFin03cp1a = 113.40393219481112
+ const topFin03cp2a = 22.511206474810457
let diff = 0
let iteration = 0
@@ -78,6 +77,19 @@ function draftHiTopFin({
// Complete?
if (complete) {
+ paths.body = new Path()
+ .move(points.topFin01)
+ .curve(points.topFin01cp2, points.topFin03cp1, points.topFin03)
+ .attr('class', 'hidden')
+ .attr('data-text-class', 'text-xs')
+ macro('banner', {
+ path: paths.body,
+ text: 'body',
+ dy: 0,
+ spaces: 10,
+ repeat: 3,
+ })
+
points.titleAnchor = points.topFin01
.shiftFractionTowards(points.topFin02, 0.5)
.shiftFractionTowards(points.topFin03, 0.1)
@@ -97,11 +109,11 @@ function draftHiTopFin({
if (paperless) {
points.topFinLeft = paths.seam.edge('left')
- let tempPath = new Path()
+ const tempPath = new Path()
.move(points.topFin02)
.curve(points.topFin02cp1, points.topFin03cp2, points.topFin03)
points.topFinInsideTop = tempPath.edge('top')
- let tempPoint = tempPath.shiftFractionAlong(0.5)
+ const tempPoint = tempPath.shiftFractionAlong(0.5)
points.topFinInsideBottom = tempPath.split(tempPoint)[0].edge('bottom')
points.topFinRight = paths.seam.edge('right')
diff --git a/designs/hi/src/upperTeeth.mjs b/designs/hi/src/upperTeeth.mjs
index e44f4b56939..0d989466143 100644
--- a/designs/hi/src/upperTeeth.mjs
+++ b/designs/hi/src/upperTeeth.mjs
@@ -16,12 +16,12 @@ function draftHiUpperTeeth({
macro,
part,
}) {
- let upperTeeth01_02d = 131.305041182736 * options.size
- let upperTeeth01_02a = 34.147056946748805
- let upperTeeth02cp1d = 64.30113337316406 * options.size
- let upperTeeth02cp1a = 55.1335930733262 + 180
- let upperTeeth01cp2d = 48.331000000000017 * options.size
- let upperTeeth01cp2a = 0
+ const upperTeeth01_02d = 131.305041182736 * options.size
+ const upperTeeth01_02a = 34.147056946748805
+ const upperTeeth02cp1d = 64.30113337316406 * options.size
+ const upperTeeth02cp1a = 55.1335930733262 + 180
+ const upperTeeth01cp2d = 48.331000000000017 * options.size
+ const upperTeeth01cp2a = 0
points.upperTeeth01 = new Point(0, 0)
points.upperTeeth02 = points.upperTeeth01.shift(upperTeeth01_02a, upperTeeth01_02d)
diff --git a/designs/holmes/README.md b/designs/holmes/README.md
index dc7f9e3c579..3afdedd796d 100644
--- a/designs/holmes/README.md
+++ b/designs/holmes/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/holmes/package.json b/designs/holmes/package.json
index 70ee71d3ff9..180243e80ab 100644
--- a/designs/holmes/package.json
+++ b/designs/holmes/package.json
@@ -54,7 +54,7 @@
"@freesewing/plugin-gore": "3.0.0-alpha.8"
},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/hortensia/README.md b/designs/hortensia/README.md
index fc800ff9e0b..5567cd738d4 100644
--- a/designs/hortensia/README.md
+++ b/designs/hortensia/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/hortensia/package.json b/designs/hortensia/package.json
index 8dd04038bda..766c68fa969 100644
--- a/designs/hortensia/package.json
+++ b/designs/hortensia/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/hortensia/src/frontpanel.mjs b/designs/hortensia/src/frontpanel.mjs
index bd42576aba6..75e2b7e08a0 100644
--- a/designs/hortensia/src/frontpanel.mjs
+++ b/designs/hortensia/src/frontpanel.mjs
@@ -68,13 +68,13 @@ function draftHortensiaFrontpanel({
)
points.attachPoint2BR = new Point(handleVertPos + handleWidth * 2, h - h / 2 + handleSpace / 2)
- macro('crossBox', {
+ macro('crossbox', {
from: points.attachPoint1TL,
to: points.attachPoint1BR,
text: 'attachment',
})
- macro('crossBox', {
+ macro('crossbox', {
from: points.attachPoint2TL,
to: points.attachPoint2BR,
text: 'attachment',
diff --git a/designs/huey/README.md b/designs/huey/README.md
index fae2a4e3eb2..e7f46b9a6af 100644
--- a/designs/huey/README.md
+++ b/designs/huey/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/huey/package.json b/designs/huey/package.json
index c2abdeb8e7d..dc7ba3f1cc6 100644
--- a/designs/huey/package.json
+++ b/designs/huey/package.json
@@ -53,7 +53,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/hugo/README.md b/designs/hugo/README.md
index 614cce08563..6cfcdaf59eb 100644
--- a/designs/hugo/README.md
+++ b/designs/hugo/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/hugo/package.json b/designs/hugo/package.json
index 176b3f7356f..eb2627a0211 100644
--- a/designs/hugo/package.json
+++ b/designs/hugo/package.json
@@ -53,7 +53,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/jaeger/README.md b/designs/jaeger/README.md
index 48dddd5011f..14c976aeb8a 100644
--- a/designs/jaeger/README.md
+++ b/designs/jaeger/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/jaeger/package.json b/designs/jaeger/package.json
index 1309d1c07e5..dfabf68a95f 100644
--- a/designs/jaeger/package.json
+++ b/designs/jaeger/package.json
@@ -55,7 +55,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/legend/README.md b/designs/legend/README.md
index 8bab2cd4923..ec99fcd1778 100644
--- a/designs/legend/README.md
+++ b/designs/legend/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/legend/package.json b/designs/legend/package.json
index b8890cd8ee0..78a7bdf406f 100644
--- a/designs/legend/package.json
+++ b/designs/legend/package.json
@@ -52,7 +52,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/lucy/README.md b/designs/lucy/README.md
index 0fc02e9c9b2..83d6f968fd8 100644
--- a/designs/lucy/README.md
+++ b/designs/lucy/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/lucy/package.json b/designs/lucy/package.json
index 09c662bb95f..430f06bf7c4 100644
--- a/designs/lucy/package.json
+++ b/designs/lucy/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/lunetius/README.md b/designs/lunetius/README.md
index 90c1a5a4217..c237f36136e 100644
--- a/designs/lunetius/README.md
+++ b/designs/lunetius/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/lunetius/package.json b/designs/lunetius/package.json
index 8c8a5c8ee0e..6aa78e24032 100644
--- a/designs/lunetius/package.json
+++ b/designs/lunetius/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/magde/CHANGELOG.md b/designs/magde/CHANGELOG.md
new file mode 100644
index 00000000000..0e0ea3da423
--- /dev/null
+++ b/designs/magde/CHANGELOG.md
@@ -0,0 +1,9 @@
+# Change log for: @freesewing/magde
+
+
+
+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/plugins/plugin-banner/README.md b/designs/magde/README.md
similarity index 96%
rename from plugins/plugin-banner/README.md
rename to designs/magde/README.md
index b27445cb159..01d823d608b 100644
--- a/plugins/plugin-banner/README.md
+++ b/designs/magde/README.md
@@ -1,13 +1,13 @@

+ href="https://www.npmjs.com/package/@freesewing/magde"
+ title="@freesewing/magde on NPM"
+ >

+ href="https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Apkg%3Amagde"
+ title="Open issues tagged pkg:magde"
+ >

-# @freesewing/plugin-banner
+# @freesewing/magde
-A FreeSewing plugin to repeat text on a path
+A FreeSewing pattern for a bike messenger bag
@@ -65,7 +65,7 @@ A FreeSewing plugin to repeat text on a path
This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites.
-This folder holds: @freesewing/plugin-banner
+This folder holds: @freesewing/magde
If you're not entirely sure what to do or how to start, type this command:
@@ -172,116 +172,120 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
 Chantal Lapointe π |
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-banner/build.mjs b/designs/magde/build.mjs
similarity index 100%
rename from plugins/plugin-banner/build.mjs
rename to designs/magde/build.mjs
diff --git a/plugins/plugin-logo/data.mjs b/designs/magde/data.mjs
similarity index 76%
rename from plugins/plugin-logo/data.mjs
rename to designs/magde/data.mjs
index b6509cb9cf3..70f691b1d70 100644
--- a/plugins/plugin-logo/data.mjs
+++ b/designs/magde/data.mjs
@@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten.
-export const name = '@freesewing/plugin-logo'
+export const name = '@freesewing/magde'
export const version = '3.0.0-alpha.8'
export const data = { name, version }
diff --git a/plugins/plugin-cutonfold/package.json b/designs/magde/package.json
similarity index 78%
rename from plugins/plugin-cutonfold/package.json
rename to designs/magde/package.json
index c772b98daf1..cbe121230a3 100644
--- a/plugins/plugin-cutonfold/package.json
+++ b/designs/magde/package.json
@@ -1,8 +1,8 @@
{
- "name": "@freesewing/plugin-cutonfold",
+ "name": "@freesewing/magde",
"version": "3.0.0-alpha.8",
- "description": "A FreeSewing plugin to add cut-on-fold indicators on your patterns",
- "author": "Joost De Cock (https://github.com/joostdecock)",
+ "description": "A FreeSewing pattern for a bike messenger bag",
+ "author": "clegganator259 (https://github.com/clegganator259)",
"homepage": "https://freesewing.org/",
"repository": "github:freesewing/freesewing",
"license": "MIT",
@@ -15,14 +15,14 @@
},
"keywords": [
"freesewing",
- "plugin",
- "sewing pattern",
- "sewing",
"design",
- "parametric design",
- "made to measure",
"diy",
- "fashion"
+ "fashion",
+ "made to measure",
+ "parametric design",
+ "pattern",
+ "sewing",
+ "sewing pattern"
],
"type": "module",
"module": "dist/index.mjs",
@@ -41,16 +41,17 @@
"lint": "npx eslint 'src/**' 'tests/*.mjs'",
"prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'",
"testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
- "cibuild_step1": "node build.mjs",
+ "cibuild_step5": "node build.mjs",
"wbuild": "node build.mjs",
- "wcibuild_step1": "node build.mjs"
+ "wcibuild_step5": "node build.mjs"
},
"peerDependencies": {
- "@freesewing/core": "3.0.0-alpha.8"
+ "@freesewing/core": "3.0.0-alpha.8",
+ "@freesewing/plugin-bundle": "3.0.0-alpha.8"
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/magde/src/backPanel.mjs b/designs/magde/src/backPanel.mjs
new file mode 100644
index 00000000000..2d4e5b4bbfb
--- /dev/null
+++ b/designs/magde/src/backPanel.mjs
@@ -0,0 +1,130 @@
+import { pluginBundle } from '@freesewing/plugin-bundle'
+
+function draftBackPanel({
+ options,
+ Point,
+ Path,
+ points,
+ paths,
+ complete,
+ sa,
+ paperless,
+ macro,
+ part,
+}) {
+ // Width is halved as this is cut on a fold
+ const width = (options.size * 500) / 2
+ const height = options.size * 300
+ const depth = options.size * 150
+ const taperWidth = width * options.taperRatio
+ points.origin = new Point(0, 0)
+ points.topRightCorner = new Point(width, 0)
+ points.bottomRightCorner = new Point(taperWidth + depth, height)
+ points.baseFlapBackRight = new Point(taperWidth, height)
+ points.baseFlapFrontRight = new Point(taperWidth, height + depth)
+ points.bottomLeftCorner = new Point(0, height + depth)
+
+ paths.seam = new Path()
+ .move(points.bottomLeftCorner)
+ .line(points.baseFlapFrontRight)
+ .line(points.baseFlapBackRight)
+ .line(points.bottomRightCorner)
+ .line(points.topRightCorner)
+ .line(points.origin)
+ .close()
+ .attr('class', 'fabric')
+
+ // Complete?
+ if (complete) {
+ macro('cutonfold', {
+ from: points.origin,
+ to: points.bottomLeftCorner,
+ })
+
+ macro('title', {
+ at: new Point(taperWidth / 2, height / 2),
+ title: 'Back Panel',
+ nr: '1',
+ })
+
+ paths.foldLine = new Path()
+ .move(new Point(0, points.baseFlapBackRight.y))
+ .line(points.baseFlapBackRight)
+ .setClass('dotted note')
+ .addText('Base Fold', 'center note')
+
+ if (sa) {
+ var bottomSeam = new Path()
+ .move(points.bottomLeftCorner)
+ .line(points.baseFlapFrontRight)
+ .addText('Flat fell', 'center text-sm')
+ .offset(2 * sa)
+ var sideFlapSeam = new Path()
+ .move(points.baseFlapFrontRight)
+ .line(points.baseFlapBackRight)
+ .line(points.bottomRightCorner)
+ .offset(2 * sa)
+ .trim()
+ var sideSeam = new Path()
+ .move(points.bottomRightCorner)
+ .line(points.topRightCorner)
+ .offset(sa)
+ var topSeam = new Path()
+ .move(points.topRightCorner)
+ .line(points.origin)
+ .offset(2 * sa)
+ paths.sa = bottomSeam
+ .join(sideFlapSeam)
+ .join(sideSeam)
+ .join(topSeam)
+ .trim()
+ .setClass('fabric sa')
+ }
+ }
+
+ // Paperless?
+ if (paperless) {
+ macro('hd', {
+ from: points.origin,
+ to: points.topRightCorner,
+ y: -(2 * sa + 15),
+ })
+ macro('hd', {
+ from: points.topRightCorner,
+ to: points.bottomRightCorner,
+ y: -(2 * sa + 15),
+ })
+ macro('hd', {
+ from: points.bottomRightCorner,
+ to: points.baseFlapBackRight,
+ y: points.baseFlapFrontRight.y + 2 * sa + 15,
+ })
+ macro('hd', {
+ from: points.baseFlapBackRight,
+ to: points.origin,
+ y: points.baseFlapFrontRight.y + 2 * sa + 15,
+ })
+ macro('vd', {
+ from: points.origin,
+ to: points.bottomRightCorner,
+ x: points.bottomRightCorner.x + 2 * sa + 15,
+ })
+ macro('vd', {
+ from: points.bottomRightCorner,
+ to: points.baseFlapFrontRight,
+ x: points.bottomRightCorner.x + 2 * sa + 15,
+ })
+ }
+
+ return part
+}
+
+export const backPanel = {
+ name: 'backPanel',
+ options: {
+ size: { pct: 100, min: 15, max: 200, menu: 'style' },
+ taperRatio: { pct: 60, min: 50, max: 100, menu: 'style' },
+ },
+ plugins: [pluginBundle],
+ draft: draftBackPanel,
+}
diff --git a/designs/magde/src/bodyLiner.mjs b/designs/magde/src/bodyLiner.mjs
new file mode 100644
index 00000000000..500ff540ce7
--- /dev/null
+++ b/designs/magde/src/bodyLiner.mjs
@@ -0,0 +1,212 @@
+import { pluginBundle } from '@freesewing/plugin-bundle'
+
+function draftBodyLiner({
+ options,
+ Point,
+ Path,
+ points,
+ paths,
+ complete,
+ sa,
+ paperless,
+ macro,
+ part,
+}) {
+ // Width is halved as this is cut on a fold
+ const width = (options.size * 500) / 2
+ const height = options.size * 300
+ const depth = options.size * 150
+ const taperWidth = width * options.taperRatio
+ const openingWidth = taperWidth * options.openingRatio
+ const openingHeight = height * options.openingRatio
+ const frontFlapHeight = height * options.flapHeightRatio
+ const frontFlapWidth = taperWidth * 0.8
+ points.origin = new Point(0, 0)
+ points.bodyTopRight = new Point(width, 0)
+ points.sideFlapFrontPoint = new Point(taperWidth + depth, height)
+ points.sideFlapBackPoint = new Point(taperWidth, height)
+ points.baseFrontRight = new Point(taperWidth, height + depth)
+ points.frontFlapMidRight = new Point(width, 2 * height + depth)
+ points.falseFrontFlapRight = new Point(frontFlapWidth, frontFlapHeight + 2 * height + depth)
+ points.frontFlapPeakRight = points.frontFlapMidRight.shiftFractionTowards(
+ points.falseFrontFlapRight,
+ 0.2
+ )
+ points.frontOpeningRight = new Point(openingWidth, openingHeight + height + depth)
+ points.frontOpeningLeft = new Point(0, openingHeight + height + depth)
+
+ paths.seam = new Path()
+ .move(points.frontOpeningLeft)
+ .line(points.frontOpeningRight)
+ .line(points.frontFlapPeakRight)
+ .line(points.frontFlapMidRight)
+ .line(points.baseFrontRight)
+ .line(points.sideFlapBackPoint)
+ .line(points.sideFlapFrontPoint)
+ .line(points.bodyTopRight)
+ .line(points.origin)
+ .close()
+ .attr('class', 'lining')
+
+ // Complete?
+ if (complete) {
+ macro('cutonfold', {
+ from: points.origin,
+ to: points.frontOpeningLeft,
+ })
+ points.label = new Point(taperWidth / 2, height / 2)
+ macro('title', {
+ at: points.label,
+ nr: '5',
+ title: 'Body Lining',
+ })
+
+ paths.foldLineSideFlap = new Path()
+ .move(points.bodyTopRight)
+ .line(points.sideFlapBackPoint)
+ .setClass('dotted note')
+ .addText('SideFlap Fold', 'center note')
+
+ paths.foldLineBaseBack = new Path()
+ .move(new Point(0, points.sideFlapBackPoint.y))
+ .line(points.sideFlapBackPoint)
+ .setClass('dotted note')
+ .addText('Base Fold', 'center note')
+ paths.foldLineBaseFront = new Path()
+ .move(new Point(0, points.baseFrontRight.y))
+ .line(points.baseFrontRight)
+ .setClass('dotted note')
+ .addText('Base Fold', 'center note')
+
+ if (sa) {
+ points.temp = points.baseFrontRight.shiftFractionTowards(points.sideFlapBackPoint, -0.2)
+ var baseFrenchSeams = new Path()
+ .move(points.baseFrontRight)
+ .line(points.sideFlapBackPoint)
+ .line(points.sideFlapFrontPoint)
+ .offset(2 * sa)
+ .addText('French Seam')
+ var openingBindingTop = new Path()
+ .move(points.frontOpeningLeft)
+ .line(points.frontOpeningRight)
+ .offset(-sa)
+ var openingBindingSideRough = new Path()
+ .move(points.frontOpeningRight)
+ .line(points.frontFlapPeakRight)
+ .offset(-sa)
+ var openingBinding = openingBindingTop
+ .join(
+ new Path()
+ .move(openingBindingSideRough.start())
+ .line(
+ openingBindingSideRough.intersects(
+ new Path()
+ .move(points.frontFlapPeakRight)
+ .line(points.frontFlapMidRight)
+ .line(points.baseFrontRight)
+ )[0]
+ )
+ )
+ .addText('Bind with seamtape', 'center text-sm')
+ .setClass('lining sa')
+ var frontSideSa = new Path()
+ .move(points.frontFlapMidRight)
+ .line(points.baseFrontRight)
+ .offset(sa)
+
+ var sideFlapSa = new Path()
+ .move(points.sideFlapFrontPoint)
+ .line(points.bodyTopRight)
+ .offset(sa)
+
+ paths.openingBinding = openingBinding
+ paths.baseSa = new Path()
+ .move(points.baseFrontRight)
+ .join(baseFrenchSeams)
+ .addText('French Seam', 'center text-lg')
+ .join(sideFlapSa)
+ .join(
+ new Path()
+ .move(points.bodyTopRight)
+ .line(points.origin)
+ .offset(2 * sa)
+ )
+ .trim()
+ .setClass('lining sa')
+ paths.frontAndTopSa = new Path()
+ .move(points.frontFlapMidRight)
+ .line(frontSideSa.start())
+ .line(frontSideSa.intersects(paths.baseSa)[0])
+ .trim()
+ .setClass('lining sa')
+ }
+ }
+
+ // Paperless?
+ if (paperless) {
+ macro('hd', {
+ from: points.bodyTopRight,
+ to: points.sideFlapFrontPoint,
+ y: points.bodyTopRight.y - 2 * sa - 15,
+ })
+ macro('hd', {
+ from: points.origin,
+ to: points.sideFlapFrontPoint,
+ y: points.bodyTopRight.y - 2 * sa - 25,
+ })
+ macro('hd', {
+ from: points.sideFlapBackPoint,
+ to: points.sideFlapFrontPoint,
+ y: points.sideFlapBackPoint.y - 15,
+ })
+ macro('hd', {
+ from: points.frontOpeningLeft,
+ to: points.frontOpeningRight,
+ y: points.frontOpeningRight.y + 2 * sa + 15,
+ })
+ macro('hd', {
+ from: points.frontOpeningLeft,
+ to: points.frontFlapPeakRight,
+ y: points.frontFlapPeakRight.y + 2 * sa,
+ })
+ macro('hd', {
+ from: points.frontFlapPeakRight,
+ to: points.frontFlapMidRight,
+ y: points.frontFlapPeakRight.y + 2 * sa,
+ })
+ macro('vd', {
+ from: points.bodyTopRight,
+ to: points.sideFlapFrontPoint,
+ x: points.sideFlapFrontPoint.x + 2 * sa,
+ })
+ macro('vd', {
+ from: points.sideFlapFrontPoint,
+ to: points.baseFrontRight,
+ x: points.sideFlapFrontPoint.x + 2 * sa,
+ })
+ macro('vd', {
+ from: points.baseFrontRight,
+ to: points.frontFlapMidRight,
+ x: points.sideFlapFrontPoint.x + 2 * sa,
+ })
+ macro('vd', {
+ from: points.frontFlapMidRight,
+ to: points.frontFlapPeakRight,
+ x: points.sideFlapFrontPoint.x + 2 * sa,
+ })
+ }
+
+ return part
+}
+
+export const bodyLiner = {
+ name: 'bodyLiner',
+ options: {
+ size: { pct: 100, min: 15, max: 200, menu: 'style' },
+ taperRatio: { pct: 60, min: 50, max: 100, menu: 'style' },
+ flapHeightRatio: { pct: 83, min: 60, max: 100, menu: 'style' },
+ openingRatio: { pct: 66, min: 30, max: 90, menu: 'style' },
+ },
+ plugins: [pluginBundle],
+ draft: draftBodyLiner,
+}
diff --git a/designs/magde/src/frontOrganiserBase.mjs b/designs/magde/src/frontOrganiserBase.mjs
new file mode 100644
index 00000000000..0127380ef24
--- /dev/null
+++ b/designs/magde/src/frontOrganiserBase.mjs
@@ -0,0 +1,94 @@
+import { pluginBundle } from '@freesewing/plugin-bundle'
+
+function draftFrontOrganiserBase({
+ options,
+ Point,
+ Path,
+ points,
+ paths,
+ complete,
+ sa,
+ paperless,
+ macro,
+ part,
+}) {
+ // Width is *not halved* as this is not cut on fold unlike most other pattern
+ // pieces
+ const width = options.size * 500
+ const height = options.size * 300
+ const taperWidth = width * options.taperRatio
+ const openingWidth = taperWidth * options.openingRatio
+ const openingHeight = height * options.openingRatio
+
+ points.origin = new Point(0, 0)
+ points.bottomRight = new Point(openingWidth, openingHeight)
+ points.bottomLeft = new Point(0, openingHeight)
+ points.topRight = new Point(openingWidth, 0)
+
+ paths.seam = new Path()
+ .move(points.origin)
+ .line(points.bottomLeft)
+ .line(points.bottomRight)
+ .line(points.topRight)
+ .line(points.origin)
+ .close()
+ .setClass('fabric')
+
+ // Complete?
+ if (complete) {
+ points.label = new Point(openingWidth / 4, openingHeight / 2)
+ macro('title', {
+ at: points.label,
+ title: 'Organiser Base',
+ nr: '7',
+ })
+
+ if (sa) {
+ paths.sa = paths.seam.offset(2 * sa).setClass('fabric sa')
+ paths.leftHem = new Path()
+ .move(points.bottomLeft)
+ .line(points.origin)
+ .addText('Rolled Hem', 'center')
+ paths.RighHem = new Path()
+ .move(points.topRight)
+ .line(points.bottomRight)
+ .addText('Rolled Hem', 'center')
+ paths.topHem = new Path()
+ .move(points.origin)
+ .line(points.topRight)
+ .addText('Rolled Hem', 'center')
+ paths.bottomSeam = new Path()
+ .move(points.bottomRight)
+ .line(points.bottomLeft)
+ .addText('Baste into Front Panel SA', 'center')
+ }
+ }
+
+ // Paperless?
+ if (paperless) {
+ macro('hd', {
+ from: points.origin,
+ to: points.bottomRight,
+ y: points.origin.y - 2 * sa - 15,
+ })
+ macro('vd', {
+ from: points.origin,
+ to: points.bottomRight,
+ x: points.bottomRight.x + 2 * sa + 15,
+ })
+ }
+
+ return part
+}
+
+export const frontOrganiserBase = {
+ name: 'frontOrganiserBase',
+ options: {
+ size: { pct: 100, min: 15, max: 200, menu: 'style' },
+ taperRatio: { pct: 60, min: 50, max: 100, menu: 'style' },
+ flapHeightRatio: { pct: 83, min: 60, max: 100, menu: 'style' },
+ openingRatio: { pct: 66, min: 30, max: 90, menu: 'style' },
+ },
+ plugins: [pluginBundle],
+ draft: draftFrontOrganiserBase,
+}
diff --git a/designs/magde/src/frontOrganiserFront.mjs b/designs/magde/src/frontOrganiserFront.mjs
new file mode 100644
index 00000000000..0ab275fd2be
--- /dev/null
+++ b/designs/magde/src/frontOrganiserFront.mjs
@@ -0,0 +1,117 @@
+import { pluginBundle } from '@freesewing/plugin-bundle'
+
+function draftFrontOrganiserFront({
+ options,
+ Point,
+ Path,
+ points,
+ paths,
+ complete,
+ sa,
+ paperless,
+ macro,
+ part,
+}) {
+ // Width is *not halved* as this is not cut on fold unlike most other pattern
+ // pieces
+ const width = options.size * 500
+ const height = options.size * 300
+ const taperWidth = width * options.taperRatio
+ const openingWidth = taperWidth * options.openingRatio
+ const openingHeight = height * options.openingRatio
+ const penInsertXCoords = [
+ openingWidth / 2,
+ (5 * openingWidth) / 8,
+ (6 * openingWidth) / 8,
+ (7 * openingWidth) / 8,
+ ]
+
+ points.origin = new Point(0, 0)
+ points.bottomRight = new Point(openingWidth, openingHeight * 0.66)
+ points.bottomLeft = new Point(0, openingHeight * 0.66)
+ points.topRight = new Point(openingWidth, 0)
+
+ paths.seam = new Path()
+ .move(points.origin)
+ .line(points.bottomLeft)
+ .line(points.bottomRight)
+ .line(points.topRight)
+ .line(points.origin)
+ .close()
+ .setClass('fabric')
+
+ // Complete?
+ if (complete) {
+ points.label = new Point(openingWidth * 0.1, openingHeight / 2)
+ macro('title', {
+ at: points.label,
+ title: 'Organiser Front',
+ nr: '8',
+ })
+
+ if (sa) {
+ penInsertXCoords.forEach(function (xVal, i) {
+ paths[`penInsert${i}`] = new Path()
+ .move(new Point(xVal, 0))
+ .line(new Point(xVal, points.bottomRight.y))
+ .setClass('note sa')
+ .addText('Divider Seam', 'center text-color-note')
+ })
+ paths.sa = paths.seam.offset(2 * sa).setClass('fabric sa')
+ paths.leftHem = new Path()
+ .move(points.bottomLeft)
+ .line(points.origin)
+ .addText('Rolled Hem', 'center')
+ paths.RighHem = new Path()
+ .move(points.topRight)
+ .line(points.bottomRight)
+ .addText('Rolled Hem', 'center')
+ paths.topHem = new Path()
+ .move(points.origin)
+ .line(points.topRight)
+ .addText('Rolled Hem', 'center')
+ paths.bottomSeam = new Path()
+ .move(points.bottomRight)
+ .line(points.bottomLeft)
+ .addText('Baste into Front Panel SA', 'center')
+ }
+ }
+
+ // Paperless?
+ if (paperless) {
+ var verticalSeamsXCoords = [0].concat(penInsertXCoords).concat([openingWidth])
+ for (var i = 0; i < verticalSeamsXCoords.length - 1; i++) {
+ var thisX = verticalSeamsXCoords[i]
+ var nextX = verticalSeamsXCoords[i + 1]
+ macro('hd', {
+ from: new Point(thisX, 0),
+ to: new Point(nextX, 0),
+ y: points.bottomRight.y / 4,
+ })
+ }
+ macro('hd', {
+ from: points.origin,
+ to: points.bottomRight,
+ y: points.origin.y - 2 * sa - 15,
+ })
+ macro('vd', {
+ from: points.origin,
+ to: points.bottomRight,
+ x: points.bottomRight.x + 2 * sa + 15,
+ })
+ }
+
+ return part
+}
+
+export const frontOrganiserFront = {
+ name: 'frontOrganiserFront',
+ options: {
+ size: { pct: 100, min: 15, max: 200, menu: 'style' },
+ taperRatio: { pct: 60, min: 50, max: 100, menu: 'style' },
+ flapHeightRatio: { pct: 83, min: 60, max: 100, menu: 'style' },
+ openingRatio: { pct: 66, min: 30, max: 90, menu: 'style' },
+ },
+ plugins: [pluginBundle],
+ draft: draftFrontOrganiserFront,
+}
diff --git a/designs/magde/src/frontPanel.mjs b/designs/magde/src/frontPanel.mjs
new file mode 100644
index 00000000000..8644f207ad5
--- /dev/null
+++ b/designs/magde/src/frontPanel.mjs
@@ -0,0 +1,187 @@
+import { pluginBundle } from '@freesewing/plugin-bundle'
+
+function draftFrontPanel({
+ options,
+ Point,
+ Path,
+ Snippet,
+ points,
+ paths,
+ complete,
+ sa,
+ snippets,
+ paperless,
+ macro,
+ part,
+}) {
+ // Width is halved as this is cut on a fold
+ const width = (options.size * 500) / 2
+ const height = options.size * 300
+ const taperWidth = width * options.taperRatio
+ const openingWidth = taperWidth * options.openingRatio
+ const openingHeight = height * options.openingRatio
+ const frontFlapHeight = height * options.flapHeightRatio
+ const frontFlapWidth = taperWidth * 0.8
+ points.origin = new Point(0, 0)
+ points.frontFlapMidRight = new Point(width, height)
+ points.frontFlapBottom = new Point(taperWidth, 0)
+ points.falseFrontFlapRight = new Point(frontFlapWidth, frontFlapHeight + height)
+ points.frontFlapPeakRight = points.frontFlapMidRight.shiftFractionTowards(
+ points.falseFrontFlapRight,
+ 0.2
+ )
+ points.frontOpeningRight = new Point(openingWidth, openingHeight)
+ points.frontOpeningLeft = new Point(0, openingHeight)
+
+ paths.seam = new Path()
+ .move(points.frontOpeningLeft)
+ .line(points.frontOpeningRight)
+ .line(points.frontFlapPeakRight)
+ .line(points.frontFlapMidRight)
+ .line(points.frontFlapBottom)
+ .line(points.origin)
+ .close()
+ .attr('class', 'fabric')
+
+ // Complete?
+ if (complete) {
+ macro('cutonfold', {
+ from: points.origin,
+ to: points.frontOpeningLeft,
+ })
+
+ points.label = new Point(openingWidth / 4, openingHeight / 2)
+ macro('title', {
+ at: points.label,
+ title: 'Front Panel',
+ nr: '2',
+ })
+
+ paths.FrontOrganiserAlignment = new Path()
+ .move(new Point(points.frontOpeningRight.x, 0))
+ .line(points.frontOpeningRight)
+ .setClass('note dotted')
+ paths.velcro = paths.FrontOrganiserAlignment.join(
+ new Path()
+ .move(new Point(points.falseFrontFlapRight.x, points.frontOpeningRight.y))
+ .line(new Point(points.falseFrontFlapRight.x, 0))
+ ).setClass('various fill-various')
+ var midVelcroX = (points.frontOpeningRight.x + points.falseFrontFlapRight.x) / 2
+ paths.velcroLabel = new Path()
+ .move(new Point(midVelcroX, points.frontOpeningRight.y))
+ .line(new Point(midVelcroX, 0))
+ .addText('Velcro loop', 'note center')
+ .addClass('no-stroke')
+ snippets.webbingNotch = new Snippet('notch', new Point(midVelcroX, 0))
+
+ if (sa) {
+ var saPath = new Path()
+ .move(points.frontFlapMidRight)
+ .line(points.frontFlapBottom)
+ .line(points.origin)
+ .offset(sa * 2)
+ paths.sa = new Path().move(points.frontFlapMidRight).join(saPath).setClass('fabric sa')
+ var openingBindingTop = new Path()
+ .move(points.frontOpeningLeft)
+ .line(points.frontOpeningRight)
+ .offset(-sa)
+ var openingBindingSideRough = new Path()
+ .move(points.frontOpeningRight)
+ .line(points.frontFlapPeakRight)
+ .offset(-sa)
+ paths.openingBinding = openingBindingTop
+ .join(
+ new Path()
+ .move(openingBindingSideRough.start())
+ .line(
+ openingBindingSideRough.intersects(
+ new Path()
+ .move(points.frontFlapPeakRight)
+ .line(points.frontFlapMidRight)
+ .line(points.frontFlapBottom)
+ )[0]
+ )
+ )
+ .addText('Bind with seamtape', 'center text-sm')
+ .setClass('fabric sa')
+ var lidBindingRough = new Path()
+ .move(points.frontFlapPeakRight)
+ .line(points.frontFlapMidRight)
+ .offset(-sa)
+ lidBindingRough = new Path()
+ .move(lidBindingRough.start())
+ .line(lidBindingRough.start().shiftFractionTowards(lidBindingRough.end(), 3))
+ paths.lidBinding = new Path()
+ .move(
+ lidBindingRough.intersects(
+ new Path().move(points.frontOpeningRight).line(points.frontFlapPeakRight)
+ )[0]
+ )
+ .line(
+ lidBindingRough.intersects(
+ new Path().move(points.frontFlapMidRight).line(points.frontFlapBottom)
+ )[0]
+ )
+ .addText('Bind with lid', 'center text-sm')
+ .setClass('fabric sa')
+ }
+ }
+
+ // Paperless?
+ if (paperless) {
+ macro('hd', {
+ from: points.origin,
+ to: points.frontFlapBottom,
+ y: points.origin.y - 2 * sa - 15,
+ })
+ macro('hd', {
+ from: points.frontFlapBottom,
+ to: points.frontFlapMidRight,
+ y: points.origin.y - 2 * sa - 15,
+ })
+ macro('hd', {
+ from: points.frontFlapMidRight,
+ to: points.frontFlapPeakRight,
+ y: points.frontFlapPeakRight.y + 2 * sa + 15,
+ })
+ macro('hd', {
+ from: points.frontFlapPeakRight,
+ to: points.frontOpeningRight,
+ y: points.frontFlapPeakRight.y + 2 * sa + 15,
+ })
+ macro('hd', {
+ from: points.frontOpeningRight,
+ to: points.frontOpeningLeft,
+ y: points.frontFlapPeakRight.y + 2 * sa + 15,
+ })
+ macro('vd', {
+ from: points.origin,
+ to: points.frontOpeningLeft,
+ x: points.origin.x - 15,
+ })
+ macro('vd', {
+ from: points.origin,
+ to: points.frontFlapMidRight,
+ x: points.frontFlapMidRight.x + 15,
+ })
+ macro('vd', {
+ from: points.frontFlapMidRight,
+ to: points.frontFlapPeakRight,
+ x: points.frontFlapMidRight.x + 15,
+ })
+ }
+
+ return part
+}
+
+export const frontPanel = {
+ name: 'frontPanel',
+ options: {
+ size: { pct: 100, min: 15, max: 200, menu: 'style' },
+ taperRatio: { pct: 60, min: 50, max: 100, menu: 'style' },
+ flapHeightRatio: { pct: 83, min: 60, max: 100, menu: 'style' },
+ openingRatio: { pct: 66, min: 30, max: 90, menu: 'style' },
+ },
+ plugins: [pluginBundle],
+ draft: draftFrontPanel,
+}
diff --git a/designs/magde/src/index.mjs b/designs/magde/src/index.mjs
new file mode 100644
index 00000000000..908ade9b737
--- /dev/null
+++ b/designs/magde/src/index.mjs
@@ -0,0 +1,35 @@
+//
+
+import { Design } from '@freesewing/core'
+import { data } from '../data.mjs'
+// Parts
+import { bodyLiner } from './bodyLiner.mjs'
+import { frontPanel } from './frontPanel.mjs'
+import { frontOrganiserBase } from './frontOrganiserBase.mjs'
+import { frontOrganiserFront } from './frontOrganiserFront.mjs'
+import { backPanel } from './backPanel.mjs'
+import { lidOnePiece } from './lidOnePiece.mjs'
+import { twoPieceLidTop } from './twoPieceLidTop.mjs'
+import { twoPieceLidBottom } from './twoPieceLidBottom.mjs'
+import { lidLiner } from './lidLiner.mjs'
+import { strapAttachments } from './strapAttachments.mjs'
+
+// Create new design
+const Magde = new Design({
+ data,
+ parts: [
+ backPanel,
+ frontPanel,
+ frontOrganiserBase,
+ frontOrganiserFront,
+ lidOnePiece,
+ twoPieceLidTop,
+ twoPieceLidBottom,
+ strapAttachments,
+ bodyLiner,
+ lidLiner,
+ ],
+})
+
+// Named exports
+export { bodyLiner, Magde }
diff --git a/designs/magde/src/lidLiner.mjs b/designs/magde/src/lidLiner.mjs
new file mode 100644
index 00000000000..01a60197fc1
--- /dev/null
+++ b/designs/magde/src/lidLiner.mjs
@@ -0,0 +1,124 @@
+import { pluginBundle } from '@freesewing/plugin-bundle'
+
+function draftLidLiner({
+ options,
+ Point,
+ Path,
+ points,
+ paths,
+ complete,
+ sa,
+ paperless,
+ macro,
+ part,
+}) {
+ // Width is halved as this is cut on a fold
+ const width = (options.size * 500) / 2
+ const height = options.size * 300
+ const taperWidth = width * options.taperRatio
+ const lidFlapHeight = height * options.flapHeightRatio
+ const lidFlapWidth = taperWidth * 0.8
+ points.origin = new Point(0, 0)
+ points.lidTopRight = new Point(lidFlapWidth, 0)
+ points.lidBottomRight = new Point(width, lidFlapHeight)
+ points.lidBottomLeft = new Point(0, lidFlapHeight)
+
+ paths.seam = new Path()
+ .move(points.lidBottomLeft)
+ .line(points.lidBottomRight)
+ .line(points.lidTopRight)
+ .line(points.origin)
+ .close()
+ .attr('class', 'lining')
+
+ // Complete?
+ if (complete) {
+ macro('cutonfold', {
+ from: points.origin,
+ to: points.lidBottomLeft,
+ })
+
+ points.label = new Point(lidFlapWidth / 2, lidFlapHeight / 2)
+
+ macro('title', {
+ at: points.label,
+ title: 'Lid Liner',
+ nr: '6',
+ })
+
+ points.velcroPoint = new Path()
+ .move(new Point(0, 0.1 * height))
+ .line(new Point(points.lidBottomRight.x, 0.1 * height))
+ .intersects(new Path().move(points.lidTopRight).line(points.lidBottomRight))[0]
+ paths.velcro = new Path()
+ .move(new Point(0, points.velcroPoint.y))
+ .line(points.velcroPoint)
+ .line(points.lidTopRight)
+ .line(points.origin)
+ .close()
+ .setClass('various fill-various')
+ paths.velcroLabel = new Path()
+ .move(new Point(0, points.velcroPoint.y / 1.5))
+ .line(new Point(points.velcroPoint.x, points.velcroPoint.y / 1.5))
+ .addText('Velcro hook', 'text-note center')
+ .addClass('no-stroke')
+ if (sa) {
+ paths.sa = new Path()
+ .move(points.lidBottomLeft)
+ .line(points.lidBottomRight)
+ .offset(2 * sa)
+ .addText('Flat fell seam', 'left')
+ .line(points.lidBottomRight)
+ .setClass('lining sa')
+ }
+ var topBindingLineRough = new Path().move(points.lidTopRight).line(points.origin).offset(-sa)
+ var sideBindingLineRough = new Path()
+ .move(points.lidBottomRight)
+ .line(points.lidTopRight)
+ .offset(-sa)
+ paths.boundLine = new Path()
+ .move(sideBindingLineRough.intersectsY(lidFlapHeight)[0])
+ .line(topBindingLineRough.intersects(sideBindingLineRough)[0])
+ .line(topBindingLineRough.end())
+ .addText('Bind with tape once finished', 'center')
+ .setClass('lining sa')
+ }
+
+ // Paperless?
+ if (paperless) {
+ macro('hd', {
+ from: points.origin,
+ to: points.lidTopRight,
+ y: points.origin.y - 2 * sa - 15,
+ })
+ macro('hd', {
+ from: points.lidTopRight,
+ to: points.lidBottomRight,
+ y: points.origin.y - 2 * sa - 15,
+ })
+ macro('hd', {
+ from: points.lidBottomRight,
+ to: points.lidBottomLeft,
+ y: points.lidBottomLeft.y + 2 * sa + 15,
+ })
+ macro('vd', {
+ from: points.origin,
+ to: points.lidBottomRight,
+ x: points.lidBottomRight.x + 2 * sa + 15,
+ })
+ }
+
+ return part
+}
+
+export const lidLiner = {
+ name: 'lidLiner',
+ options: {
+ size: { pct: 100, min: 15, max: 200, menu: 'style' },
+ taperRatio: { pct: 60, min: 50, max: 100, menu: 'style' },
+ flapHeightRatio: { pct: 83, min: 60, max: 100, menu: 'style' },
+ openingRatio: { pct: 66, min: 30, max: 90, menu: 'style' },
+ },
+ plugins: [pluginBundle],
+ draft: draftLidLiner,
+}
diff --git a/designs/magde/src/lidOnePiece.mjs b/designs/magde/src/lidOnePiece.mjs
new file mode 100644
index 00000000000..268e3dcda43
--- /dev/null
+++ b/designs/magde/src/lidOnePiece.mjs
@@ -0,0 +1,117 @@
+import { pluginBundle } from '@freesewing/plugin-bundle'
+
+function draftLidOnePiece({
+ options,
+ Point,
+ Path,
+ Snippet,
+ points,
+ paths,
+ complete,
+ sa,
+ snippets,
+ paperless,
+ macro,
+ part,
+}) {
+ // Width is halved as this is cut on a fold
+ const width = (options.size * 500) / 2
+ const height = options.size * 300
+ const taperWidth = width * options.taperRatio
+ const lidFlapHeight = height * options.flapHeightRatio
+ const lidFlapWidth = taperWidth * 0.8
+ const openingWidth = taperWidth * options.openingRatio
+ points.origin = new Point(0, 0)
+ points.lidTopRight = new Point(lidFlapWidth, 0)
+ points.lidBottomRight = new Point(width, lidFlapHeight)
+ points.lidBottomLeft = new Point(0, lidFlapHeight)
+
+ paths.seam = new Path()
+ .move(points.lidBottomLeft)
+ .line(points.lidBottomRight)
+ .line(points.lidTopRight)
+ .line(points.origin)
+ .close()
+ .attr('class', 'fabric')
+
+ // Complete?
+ if (complete) {
+ macro('cutonfold', {
+ from: points.origin,
+ to: points.lidBottomLeft,
+ })
+
+ points.label = new Point(lidFlapWidth / 2, lidFlapHeight / 2)
+
+ macro('title', {
+ at: points.label,
+ title: 'Lid - One Piece',
+ nr: '3',
+ })
+ points.notchPoint = new Point((openingWidth + lidFlapWidth) / 2, lidFlapHeight * 0.2).addText(
+ 'Webbing Notch',
+ 'center'
+ )
+ snippets.webbingNotch = new Snippet('notch', points.notchPoint)
+ if (sa) {
+ paths.sa = new Path()
+ .move(points.lidBottomLeft)
+ .line(points.lidBottomRight)
+ .offset(2 * sa)
+ .addText('Flat fell seam', 'left')
+ .line(points.lidBottomRight)
+ .setClass('fabric sa')
+ }
+ var topBindingLineRough = new Path().move(points.lidTopRight).line(points.origin).offset(-sa)
+ var sideBindingLineRough = new Path()
+ .move(points.lidBottomRight)
+ .line(points.lidTopRight)
+ .offset(-sa)
+ paths.boundLine = new Path()
+ .move(sideBindingLineRough.intersectsY(lidFlapHeight)[0])
+ .line(topBindingLineRough.intersects(sideBindingLineRough)[0])
+ .line(topBindingLineRough.end())
+ .addText('Bind with tape once finished', 'center')
+ .setClass('fabric sa')
+ }
+
+ // Paperless?
+ if (paperless) {
+ macro('hd', {
+ from: points.origin,
+ to: points.lidTopRight,
+ y: points.origin.y - 2 * sa - 15,
+ })
+ macro('hd', {
+ from: points.lidTopRight,
+ to: points.lidBottomRight,
+ y: points.origin.y - 2 * sa - 15,
+ })
+ macro('hd', {
+ from: points.lidBottomRight,
+ to: points.lidBottomLeft,
+ y: points.lidBottomLeft.y + 2 * sa + 15,
+ })
+ macro('vd', {
+ from: points.origin,
+ to: points.lidBottomRight,
+ x: points.lidBottomRight.x + 2 * sa + 15,
+ })
+ }
+ if (!options.onePieceLid) part.hide()
+
+ return part
+}
+
+export const lidOnePiece = {
+ name: 'lidOnePiece',
+ options: {
+ size: { pct: 100, min: 15, max: 200, menu: 'style' },
+ taperRatio: { pct: 60, min: 50, max: 100, menu: 'style' },
+ flapHeightRatio: { pct: 83, min: 60, max: 100, menu: 'style' },
+ openingRatio: { pct: 66, min: 30, max: 90, menu: 'style' },
+ onePieceLid: { bool: false, menu: 'style' },
+ },
+ plugins: [pluginBundle],
+ draft: draftLidOnePiece,
+}
diff --git a/designs/magde/src/strapAttachments.mjs b/designs/magde/src/strapAttachments.mjs
new file mode 100644
index 00000000000..226ba90cbdc
--- /dev/null
+++ b/designs/magde/src/strapAttachments.mjs
@@ -0,0 +1,134 @@
+import { pluginBundle } from '@freesewing/plugin-bundle'
+
+function draftStrapAttachments({
+ options,
+ Point,
+ Path,
+ Snippet,
+ points,
+ paths,
+ snippets,
+ complete,
+ sa,
+ paperless,
+ macro,
+ part,
+}) {
+ // Width is halved as this is cut on a fold
+ const width = (options.size * 500) / 2
+ const height = options.size * 300
+ const taperWidth = width * options.taperRatio
+ const idealWebbingSize = height / 7.5
+ var webbingSize = idealWebbingSize
+ if (options.useCommonWebbingSizes) {
+ var lowerBound = 6
+ var upperBound = idealWebbingSize
+ const commonWebbingSizes = [6, 10, 12, 15, 20, 25, 30, 40, 45, 50]
+ // get the bigest size smaller than the ideal
+ var smallerSizes = commonWebbingSizes.filter(function (webbing) {
+ return webbing < idealWebbingSize
+ })
+ lowerBound = smallerSizes.length >= 1 ? smallerSizes.at(-1) : lowerBound
+ // get the smallest size bigger than the ideal
+ var largerSizes = commonWebbingSizes.filter(function (webbing) {
+ return webbing >= idealWebbingSize
+ })
+ upperBound = largerSizes.length >= 1 ? largerSizes[0] : upperBound
+
+ // Pick the value closest to ideal defaulting to smaller
+ if (upperBound - idealWebbingSize > idealWebbingSize - lowerBound) {
+ webbingSize = lowerBound
+ } else {
+ webbingSize = upperBound
+ }
+ }
+
+ points.origin = new Point(0, 0)
+ points.webbingOpeningBottom = new Point(1.25 * webbingSize, 0)
+ points.bagAttachmentTop = new Point(0, 1.25 * webbingSize)
+ points.fakeBagCorner = new Point(height, points.bagAttachmentTop.y + (width - taperWidth))
+ points.frontFlapBottom = new Point(taperWidth, 0)
+ points.bagAttachmentBottom = points.bagAttachmentTop.shiftFractionTowards(
+ points.fakeBagCorner,
+ 0.33
+ )
+
+ paths.seam = new Path()
+ .move(points.bagAttachmentTop)
+ .line(points.bagAttachmentBottom)
+ .line(points.webbingOpeningBottom)
+ .line(points.origin)
+ .close()
+ .attr('class', 'fabric')
+
+ // Complete?
+ if (complete) {
+ macro('cutonfold', {
+ from: points.origin,
+ to: points.bagAttachmentTop,
+ })
+
+ points.label = points.origin.shiftFractionTowards(points.bagAttachmentBottom, 0.55)
+ macro('title', {
+ at: new Point(webbingSize, webbingSize),
+ cutlist: true,
+ title: 'Strap Attachment',
+ nr: '4',
+ scale: 0.3,
+ })
+
+ points.webbingCenterNotch = points.origin.shiftFractionTowards(points.webbingOpeningBottom, 0.5)
+ points.webbingCenterLabel = points.webbingCenterNotch
+ .clone()
+ .translate(0, -5)
+ .addText(`Center of webbing (${webbingSize}mm)`, 'center text-xs')
+
+ snippets.webbingCenter = new Snippet('notch', points.webbingCenterNotch)
+
+ if (sa) {
+ var bagAttachSeam = new Path().move(points.bagAttachmentTop).line(points.bagAttachmentBottom)
+ var attachSeamAllowance = bagAttachSeam.offset(sa)
+ var bagAttachmentSa = new Path()
+ .move(attachSeamAllowance.intersectsX(0)[0])
+ .line(attachSeamAllowance.end())
+ var restOfSa = new Path()
+ .move(points.bagAttachmentBottom)
+ .line(points.webbingOpeningBottom)
+ .line(points.origin)
+ .offset(sa)
+ paths.sa = bagAttachmentSa.join(restOfSa).close().setClass('fabric sa')
+ }
+ }
+
+ // Paperless?
+ if (paperless) {
+ macro('hd', {
+ from: points.origin,
+ to: points.webbingOpeningBottom,
+ y: points.origin.y - 2 * sa - 15,
+ })
+ macro('hd', {
+ from: points.origin,
+ to: points.bagAttachmentBottom,
+ y: points.bagAttachmentBottom.y + 2 * sa + 15,
+ })
+ macro('vd', {
+ from: points.origin,
+ to: points.bagAttachmentBottom,
+ x: points.bagAttachmentBottom.x + 2 * sa,
+ })
+ }
+
+ return part
+}
+
+export const strapAttachments = {
+ name: 'strapAttachments',
+ options: {
+ size: { pct: 100, min: 15, max: 200, menu: 'style' },
+ taperRatio: { pct: 60, min: 50, max: 100, menu: 'style' },
+ useCommonWebbingSizes: { bool: true, menu: 'style' },
+ },
+ plugins: [pluginBundle],
+ draft: draftStrapAttachments,
+}
diff --git a/designs/magde/src/twoPieceLidBottom.mjs b/designs/magde/src/twoPieceLidBottom.mjs
new file mode 100644
index 00000000000..c9534db122e
--- /dev/null
+++ b/designs/magde/src/twoPieceLidBottom.mjs
@@ -0,0 +1,110 @@
+import { pluginBundle } from '@freesewing/plugin-bundle'
+
+function draftTwoPieceLidBottom({
+ options,
+ Point,
+ Path,
+ points,
+ paths,
+ complete,
+ sa,
+ paperless,
+ macro,
+ part,
+}) {
+ // Width is halved as this is cut on a fold
+ const width = (options.size * 500) / 2
+ const height = options.size * 300
+ const taperWidth = width * options.taperRatio
+ const lidFlapHeight = height * options.flapHeightRatio
+ const lidFlapWidth = taperWidth * 0.8
+ points.origin = new Point(0, 0)
+ points.lidTopRight = new Point(lidFlapWidth, 0)
+ points.lidBottomRight = new Point(width, lidFlapHeight)
+ points.lidBottomLeft = new Point(0, lidFlapHeight)
+ points.lidSeamRight = points.lidTopRight.shiftFractionTowards(points.lidBottomRight, 0.25)
+ points.lidSeamLeft = new Point(0, points.lidSeamRight.y)
+
+ paths.seam = new Path()
+ .move(points.lidSeamLeft)
+ .line(points.lidSeamRight)
+ .line(points.lidTopRight)
+ .line(points.origin)
+ .close()
+ .attr('class', 'fabric')
+
+ // Complete?
+ if (complete) {
+ // macro('cutonfold', {
+ // from: points.lidTopLeft,
+ // to: points.lidSeamLeft,
+ // })
+
+ points.label = new Point(points.lidSeamRight.x / 3, points.lidSeamRight.y / 1.5)
+
+ macro('title', {
+ at: points.label,
+ title: 'Lid Bottom - Two Piece',
+ nr: '3.2',
+ scale: 0.4,
+ })
+ if (sa) {
+ var bindingLineSideRough = new Path()
+ .move(points.lidSeamRight)
+ .line(points.lidTopRight)
+ .offset(-sa)
+ var bindingLineTopRough = new Path().move(points.lidTopRight).line(points.origin).offset(-sa)
+ // points.tmp1 = bindingLineSideRough.intersectsY(points.lidSeamRight.y)[0]
+ paths.bindingLine = new Path()
+ .move(bindingLineSideRough.intersectsY(points.lidSeamLeft.y)[0])
+ .line(bindingLineSideRough.intersects(bindingLineTopRough)[0])
+ .line(bindingLineTopRough.end())
+ .addClass('fabric sa')
+ paths.sa = new Path()
+ .move(points.lidSeamLeft)
+ .line(points.lidSeamRight)
+ .offset(2 * sa)
+ .line(points.lidSeamRight)
+ .setClass('fabric sa')
+ }
+ }
+
+ // Paperless?
+ if (paperless) {
+ macro('hd', {
+ from: points.origin,
+ to: points.lidSeamRight,
+ y: points.origin.y - 2 * sa - 15,
+ })
+ macro('hd', {
+ from: points.lidTopRight,
+ to: points.lidSeamRight,
+ y: points.origin.y - 2 * sa - 15,
+ })
+ macro('hd', {
+ from: points.lidSeamRight,
+ to: points.lidSeamLeft,
+ y: points.lidSeamLeft.y + 2 * sa + 15,
+ })
+ macro('vd', {
+ from: points.origin,
+ to: points.lidSeamLeft,
+ x: points.lidSeamRight.x + 2 * sa,
+ })
+ }
+ if (options.onePieceLid) part.hide()
+ return part
+}
+
+export const twoPieceLidBottom = {
+ name: 'twoPieceLidBottom',
+ options: {
+ size: { pct: 100, min: 15, max: 200, menu: 'style' },
+ taperRatio: { pct: 60, min: 50, max: 100, menu: 'style' },
+ flapHeightRatio: { pct: 83, min: 60, max: 100, menu: 'style' },
+ openingRatio: { pct: 66, min: 30, max: 90, menu: 'style' },
+ onePieceLid: { bool: false, menu: 'style' },
+ },
+ plugins: [pluginBundle],
+ draft: draftTwoPieceLidBottom,
+}
diff --git a/designs/magde/src/twoPieceLidTop.mjs b/designs/magde/src/twoPieceLidTop.mjs
new file mode 100644
index 00000000000..46460f38749
--- /dev/null
+++ b/designs/magde/src/twoPieceLidTop.mjs
@@ -0,0 +1,117 @@
+import { pluginBundle } from '@freesewing/plugin-bundle'
+
+function draftTwoPieceLidTop({
+ options,
+ Point,
+ Path,
+ Snippet,
+ points,
+ paths,
+ complete,
+ sa,
+ snippets,
+ paperless,
+ macro,
+ part,
+}) {
+ // Width is halved as this is cut on a fold
+ const width = (options.size * 500) / 2
+ const height = options.size * 300
+ const taperWidth = width * options.taperRatio
+ const lidFlapHeight = height * options.flapHeightRatio
+ const lidFlapWidth = taperWidth * 0.8
+ const openingWidth = taperWidth * options.openingRatio
+ points.origin = new Point(0, 0)
+ points.lidTopRight = new Point(lidFlapWidth, 0)
+ points.lidBottomRight = new Point(width, lidFlapHeight)
+ points.lidBottomLeft = new Point(0, lidFlapHeight)
+ points.lidSeamRight = points.lidTopRight.shiftFractionTowards(points.lidBottomRight, 0.2)
+ points.lidSeamLeft = new Point(0, points.lidSeamRight.y)
+
+ paths.seam = new Path()
+ .move(points.lidBottomLeft)
+ .line(points.lidBottomRight)
+ .line(points.lidSeamRight)
+ .line(points.lidSeamLeft)
+ .close()
+ .attr('class', 'fabric')
+
+ // Complete?
+ if (complete) {
+ macro('cutonfold', {
+ from: points.lidSeamLeft,
+ to: points.lidBottomLeft,
+ })
+
+ points.label = new Point(lidFlapWidth / 2, lidFlapHeight / 2)
+
+ macro('title', {
+ at: points.label,
+ title: 'Lid Top - Two Piece',
+ nr: '3.1',
+ })
+ points.notchPoint = new Point((openingWidth + lidFlapWidth) / 2, points.lidSeamLeft.y).addText(
+ 'Webbing Notch',
+ 'center'
+ )
+ snippets.webbingNotch = new Snippet('bnotch', points.notchPoint)
+
+ if (sa) {
+ paths.topSa = new Path()
+ .move(points.lidSeamRight)
+ .join(
+ new Path()
+ .move(points.lidSeamRight)
+ .line(points.lidSeamLeft)
+ .offset(2 * sa)
+ )
+ .setClass('fabric sa')
+ paths.bottomSa = new Path()
+ .move(points.lidBottomLeft)
+ .line(points.lidBottomRight)
+ .offset(2 * sa)
+ .line(points.lidBottomRight)
+ .setClass('fabric sa')
+ }
+ }
+
+ // Paperless?
+ if (paperless) {
+ macro('hd', {
+ from: points.origin,
+ to: points.lidSeamRight,
+ y: points.lidSeamLeft.y - 2 * sa - 15,
+ })
+ macro('hd', {
+ from: points.lidSeamRight,
+ to: points.lidBottomRight,
+ y: points.lidSeamLeft.y - 2 * sa - 15,
+ })
+ macro('hd', {
+ from: points.lidBottomRight,
+ to: points.lidBottomLeft,
+ y: points.lidBottomLeft.y + 2 * sa + 15,
+ })
+ macro('vd', {
+ from: points.lidSeamRight,
+ to: points.lidBottomRight,
+ x: points.lidBottomRight.x + 2 * sa,
+ })
+ }
+
+ if (options.onePieceLid) part.hide()
+ return part
+}
+
+export const twoPieceLidTop = {
+ name: 'twoPieceLidTop',
+ options: {
+ size: { pct: 100, min: 15, max: 200, menu: 'style' },
+ taperRatio: { pct: 60, min: 50, max: 100, menu: 'style' },
+ flapHeightRatio: { pct: 83, min: 60, max: 100, menu: 'style' },
+ openingRatio: { pct: 66, min: 30, max: 90, menu: 'style' },
+ onePieceLid: { bool: false, menu: 'style' },
+ },
+ plugins: [pluginBundle],
+ draft: draftTwoPieceLidTop,
+}
diff --git a/designs/magde/tests/shared.test.mjs b/designs/magde/tests/shared.test.mjs
new file mode 100644
index 00000000000..1d7256bd762
--- /dev/null
+++ b/designs/magde/tests/shared.test.mjs
@@ -0,0 +1,16 @@
+// This file is auto-generated | Any changes you make will be overwritten.
+import { Magde } from '../src/index.mjs'
+
+// Shared tests
+import { testPatternConfig } from '../../../tests/designs/config.mjs'
+import { testPatternDrafting } from '../../../tests/designs/drafting.mjs'
+import { testPatternSampling } from '../../../tests/designs/sampling.mjs'
+
+// Test config
+testPatternConfig(Magde)
+
+// Test drafting - Change the second parameter to `true` to log errors
+testPatternDrafting(Magde, false)
+
+// Test sampling - Change the second parameter to `true` to log errors
+testPatternSampling(Magde, false)
diff --git a/designs/noble/README.md b/designs/noble/README.md
index 941328c2b9a..5145a729239 100644
--- a/designs/noble/README.md
+++ b/designs/noble/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/noble/package.json b/designs/noble/package.json
index f84f3331acc..2a7dd4c739c 100644
--- a/designs/noble/package.json
+++ b/designs/noble/package.json
@@ -52,7 +52,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/octoplushy/README.md b/designs/octoplushy/README.md
index 6c152817977..7277f4d6ffa 100644
--- a/designs/octoplushy/README.md
+++ b/designs/octoplushy/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/octoplushy/package.json b/designs/octoplushy/package.json
index cb29006c91f..c178b75f97b 100644
--- a/designs/octoplushy/package.json
+++ b/designs/octoplushy/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/paco/README.md b/designs/paco/README.md
index 31f46caeea2..84c35e1fca9 100644
--- a/designs/paco/README.md
+++ b/designs/paco/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/paco/package.json b/designs/paco/package.json
index b81e1ba3765..62a90c8ab4a 100644
--- a/designs/paco/package.json
+++ b/designs/paco/package.json
@@ -53,7 +53,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/penelope/README.md b/designs/penelope/README.md
index 77904e81d8b..99abb088f61 100644
--- a/designs/penelope/README.md
+++ b/designs/penelope/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/penelope/package.json b/designs/penelope/package.json
index 2d41450c434..75986a4310e 100644
--- a/designs/penelope/package.json
+++ b/designs/penelope/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/plugintest/README.md b/designs/plugintest/README.md
index 53378ef0a91..ef762789bb9 100644
--- a/designs/plugintest/README.md
+++ b/designs/plugintest/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/plugintest/package.json b/designs/plugintest/package.json
index 88a900a531c..f36537226ee 100644
--- a/designs/plugintest/package.json
+++ b/designs/plugintest/package.json
@@ -48,11 +48,10 @@
"peerDependencies": {
"@freesewing/core": "3.0.0-alpha.8",
"@freesewing/plugin-bundle": "3.0.0-alpha.8",
+ "@freesewing/plugin-annotations": "3.0.0-alpha.8",
"@freesewing/plugin-banner": "3.0.0-alpha.8",
- "@freesewing/plugin-bartack": "3.0.0-alpha.8",
"@freesewing/plugin-bust": "3.0.0-alpha.8",
"@freesewing/plugin-buttons": "3.0.0-alpha.8",
- "@freesewing/plugin-cutonfold": "3.0.0-alpha.8",
"@freesewing/plugin-dimension": "3.0.0-alpha.8",
"@freesewing/plugin-flip": "3.0.0-alpha.8",
"@freesewing/plugin-gore": "3.0.0-alpha.8",
@@ -72,7 +71,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/plugintest/src/base.mjs b/designs/plugintest/src/base.mjs
index 567b4f5f8f5..7983bdee6fb 100644
--- a/designs/plugintest/src/base.mjs
+++ b/designs/plugintest/src/base.mjs
@@ -1,7 +1,24 @@
export const base = {
name: 'pluginstest.base',
hide: true,
- draft: ({ part }) => part,
+ draft: ({ store, part }) => {
+ store.set('bannerbox', {
+ macro: {
+ textClassName: 'fill-various text-xs',
+ boxClassName: 'stroke-various stroke-xs dashed',
+ },
+ snippet: {
+ textClassName: 'fill-lining text-xs',
+ boxClassName: 'stroke-lining stroke-xs dotted',
+ },
+ plugin: {
+ textClassName: 'fill-mark text-xs',
+ boxClassName: 'stroke-mark stroke-xs lashed',
+ },
+ })
+
+ return part
+ },
options: {
plugin: {
dflt: 'all',
diff --git a/designs/plugintest/src/index.mjs b/designs/plugintest/src/index.mjs
index abba806dbf7..665d9c1a2f7 100644
--- a/designs/plugintest/src/index.mjs
+++ b/designs/plugintest/src/index.mjs
@@ -1,65 +1,42 @@
import { Design } from '@freesewing/core'
import { data } from '../data.mjs'
-import { banner } from './plugin-banner.mjs'
-import { bartack } from './plugin-bartack.mjs'
-import { buttons } from './plugin-buttons.mjs'
-import { cutonfold } from './plugin-cutonfold.mjs'
-import { dimension } from './plugin-dimension.mjs'
+import { annotations } from './plugin-annotations.mjs'
import { flip } from './plugin-flip.mjs'
import { gore } from './plugin-gore.mjs'
-import { grainline } from './plugin-grainline.mjs'
import { i18n } from './plugin-i18n.mjs'
-import { logo } from './plugin-logo.mjs'
import { measurements } from './plugin-measurements.mjs'
import { mirror } from './plugin-mirror.mjs'
-import { notches } from './plugin-notches.mjs'
import { round } from './plugin-round.mjs'
-import { scalebox } from './plugin-scalebox.mjs'
import { sprinkle } from './plugin-sprinkle.mjs'
-import { title } from './plugin-title.mjs'
// Setup our new design
const Plugintest = new Design({
data,
- parts: [
- banner,
- bartack,
- buttons,
- cutonfold,
- dimension,
- flip,
- gore,
- grainline,
- i18n,
- logo,
- measurements,
- mirror,
- notches,
- round,
- scalebox,
- sprinkle,
- title,
- ],
+ parts: [annotations, flip, gore, i18n, measurements, mirror, round, sprinkle],
})
// Named exports
export {
- banner,
- bartack,
- buttons,
- cutonfold,
- dimension,
+ annotations,
+ //banner,
+ //bartack,
+ //buttons,
+ //crossbox,
+ //cutonfold,
+ //dimension,
flip,
gore,
- grainline,
+ //grainline,
i18n,
- logo,
+ //logo,
measurements,
mirror,
- notches,
+ //notches,
+ //pleat,
round,
- scalebox,
+ //scalebox,
+ //sewtogether,
sprinkle,
- title,
+ //title,
Plugintest,
}
diff --git a/designs/plugintest/src/plugin-annotations.mjs b/designs/plugintest/src/plugin-annotations.mjs
new file mode 100644
index 00000000000..3fb2d03e5d6
--- /dev/null
+++ b/designs/plugintest/src/plugin-annotations.mjs
@@ -0,0 +1,447 @@
+import { annotationsPlugin } from '@freesewing/plugin-annotations'
+import { base } from './base.mjs'
+
+const snippies = [
+ 'button',
+ 'buttonhole',
+ 'buttonhole-start',
+ 'buttonhole-end',
+ 'snap-stud',
+ 'snap-socket',
+ 'notch',
+ 'bnotch',
+]
+
+const pluginAnnotations = ({
+ points,
+ Point,
+ paths,
+ Path,
+ macro,
+ options,
+ part,
+ snippets,
+ Snippet,
+ store,
+}) => {
+ if (['annotations', 'all'].indexOf(options.plugin) !== -1) {
+ let y = 0
+ let x = 0
+ let margin = 15
+
+ // macro = banner
+ points.banner_from = new Point(0, y)
+ points.banner_to = new Point(320, y)
+ paths.banner = new Path().move(points.banner_from).line(points.banner_to)
+ macro('banner', {
+ path: paths.banner,
+ text: 'banner macro',
+ dy: options.bannerDy,
+ spaces: options.bannerSpaces,
+ repeat: options.bannerRepeat,
+ })
+ macro('bannerbox', {
+ topLeft: points.banner_from,
+ bottomRight: points.banner_to,
+ text: 'macro = banner',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = crossbox
+ y += margin * 2.2
+ points.crossbox_a = new Point(0, y)
+ points.crossbox_b = new Point(40, y + 33)
+ macro('crossbox', {
+ from: points.crossbox_a,
+ to: points.crossbox_b,
+ text: options.crossboxText ? 'crossbox' : false,
+ })
+ macro('bannerbox', {
+ topLeft: points.crossbox_a,
+ bottomRight: points.crossbox_b,
+ text: 'macro = crossbox',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // Shared bartack options
+ const btOptions = {
+ angle: options.bartackAngle,
+ length: options.bartackLength,
+ density: options.bartackDensity,
+ width: options.bartackWidth,
+ start: options.bartackStart,
+ end: options.bartackEnd,
+ }
+
+ // macro = bartack
+ x = 40 + 2.2 * margin
+ points.bartack = new Point(x, y)
+ macro('bartack', {
+ anchor: points.bartack,
+ prefix: 'a',
+ ...btOptions,
+ })
+ macro('bannerbox', {
+ topLeft: points.bartack,
+ bottomRight: points.bartack.shift(0, 15),
+ text: 'macro = bartack',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = bartackAlong
+ x += 2.2 * margin + 15
+ points.bartack_a = new Point(x, y)
+ points.bartack_b = new Point(x + 5, y + 10)
+ points.bartack_c = new Point(x + 15, y + 10)
+ points.bartack_d = new Point(x + 20, y)
+ paths.bartack_a = new Path()
+ .move(points.bartack_a)
+ .curve(points.bartack_b, points.bartack_c, points.bartack_d)
+ .attr('class', 'lining dashed')
+ macro('bartackAlong', {
+ path: paths.bartack_a,
+ prefix: 'b',
+ ...btOptions,
+ })
+ macro('bannerbox', {
+ topLeft: points.bartack_a,
+ bottomRight: points.bartack_d,
+ text: 'macro = bartackAlong',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = bartackFractionAlong
+ x += 2.2 * margin + 20
+ points.bartack_e = new Point(x, y)
+ points.bartack_f = new Point(x + 5, y + 10)
+ points.bartack_g = new Point(x + 15, y + 10)
+ points.bartack_h = new Point(x + 20, y)
+ paths.bartack_e = new Path()
+ .move(points.bartack_e)
+ .curve(points.bartack_f, points.bartack_g, points.bartack_h)
+ .attr('class', 'lining dashed')
+ macro('bartackFractionAlong', {
+ prefix: 'c',
+ path: paths.bartack_e,
+ ...btOptions,
+ })
+ macro('bannerbox', {
+ topLeft: points.bartack_e,
+ bottomRight: points.bartack_h,
+ text: 'macro = bartackFractionAlong',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = cutonfold
+ x += margin * 3.2 + 5
+ points.cof_a = new Point(x, y + 10)
+ points.cof_b = new Point(x + 93, y + 10)
+ macro('cutonfold', {
+ from: points.cof_a,
+ to: points.cof_b,
+ margin: options.cutonfoldMargin,
+ offset: options.cutonfoldOffset,
+ grainline: options.cutonfoldGrainline,
+ })
+ macro('bannerbox', {
+ topLeft: points.cof_a.shift(90, 10),
+ bottomRight: points.cof_b.shift(90, 10),
+ text: 'macro = cutonfold',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // Snippets
+ x = points.bartack.x
+ y += margin * 2.2
+ for (const snippet of snippies) {
+ points[snippet] = new Point(x, y)
+ snippets[snippet] = new Snippet(snippet, points[snippet])
+ .attr('data-scale', options.snippetScale)
+ .attr('data-rotate', options.snippetRotation)
+ x += 20
+ macro('bannerbox', {
+ topLeft: points[snippet],
+ bottomRight: points[snippet],
+ text: `snippet = ${snippet}`,
+ margin,
+ ...store.get('bannerbox.snippet'),
+ })
+ x += margin
+ }
+
+ // Dimension options
+ const dimOptions = {
+ text: options.dimensionsCustomText ? 'custom text' : false,
+ noStartMarker: !options.dimensionsStartMarker,
+ noEndMarker: !options.dimensionsEndMarker,
+ }
+
+ // macro = vd
+ x = 0
+ y += margin * 2.2
+ points.vd_from = new Point(x, y)
+ points.vd_to = new Point(x + 10, y + 43)
+ paths.vd = new Path().move(points.vd_from).line(points.vd_to)
+ macro('vd', {
+ to: points.vd_from,
+ from: points.vd_to,
+ x: x + 15,
+ ...dimOptions,
+ })
+ macro('bannerbox', {
+ topLeft: points.vd_from,
+ bottomRight: points.vd_to,
+ text: 'macro = vd',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = hd
+ x = 43
+ //y += margin*2.2
+ points.hd_from = new Point(x, y)
+ points.hd_to = new Point(x + 40, y - 10)
+ paths.hd = new Path().move(points.hd_from).line(points.hd_to)
+ macro('hd', {
+ from: points.hd_from,
+ to: points.hd_to,
+ y: y + 10,
+ ...dimOptions,
+ })
+ macro('bannerbox', {
+ topLeft: points.hd_from,
+ bottomRight: points.hd_to.shift(-90, 15),
+ text: 'macro = hd',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = ld
+ y += margin * 2.2 + 5
+ points.ld_from = new Point(x, y + 10)
+ points.ld_to = new Point(x + 40, y)
+ paths.ld = new Path().move(points.ld_from).line(points.ld_to)
+ macro('ld', {
+ from: points.ld_from,
+ to: points.ld_to,
+ y: y + 10,
+ ...dimOptions,
+ })
+ macro('bannerbox', {
+ topLeft: points.ld_from.shift(90, 10),
+ bottomRight: points.ld_to.shift(-90, 5),
+ text: 'macro = ld',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = pd
+ y -= margin - 2.2 + 5
+ x = 117
+ points.pd_from = new Point(x, y - 20)
+ points.pd_cp1 = new Point(x + 30, y + 30)
+ points.pd_cp2 = new Point(x + 40, y + 30)
+ points.pd_to = new Point(x + 80, y)
+
+ paths.pd = new Path().move(points.pd_from).curve(points.pd_cp1, points.pd_cp2, points.pd_to)
+ macro('pd', {
+ path: paths.pd,
+ d: 10,
+ ...dimOptions,
+ })
+ macro('bannerbox', {
+ topLeft: points.pd_from,
+ bottomRight: points.pd_to.shift(-90, 23),
+ text: 'macro = ld',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = grainline
+ x = 230
+ y -= 20
+ points.gl_a = new Point(x, y)
+ points.gl_b = new Point(x + 90, y)
+ macro('grainline', { from: points.gl_a, to: points.gl_b })
+ macro('bannerbox', {
+ topLeft: points.gl_a,
+ bottomRight: points.gl_b,
+ text: 'macro = grainline',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = pleat
+ y += margin * 2.2 - 5
+ points.pleat_a = new Point(x, y)
+ points.pleat_b = new Point(x, y + 20)
+ macro('pleat', {
+ from: points.pleat_a,
+ to: points.pleat_b,
+ margin: options.pleatMargin,
+ reverse: options.pleatReverse,
+ })
+ macro('bannerbox', {
+ topLeft: points.pleat_a.shift(-90, 5),
+ bottomRight: points.pleat_b.shift(0, 40).shift(90, 5),
+ text: 'macro = pleat',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = miniscale
+ points.miniscale = new Point(310, 138)
+ macro('miniscale', {
+ at: points.miniscale,
+ rotate: options.scaleboxRotation,
+ })
+ macro('bannerbox', {
+ topLeft: new Point(303, 133),
+ bottomRight: new Point(320, 142),
+ text: 'macro = miniscale',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = scalebox
+ x = 45
+ y += margin * 4.5
+ points.scalebox = new Point(x, y)
+ const scaleboxOptions = {
+ at: points.scalebox,
+ rotate: options.scaleboxRotation,
+ }
+ if (options.scaleboxText === 'custom') scaleboxOptions.text = 'Custom text here'
+ else if (options.scaleboxText === 'suppress') scaleboxOptions.text = ''
+ macro('scalebox', scaleboxOptions)
+ macro('bannerbox', {
+ topLeft: new Point(0, y - 20),
+ bottomRight: new Point(95, y + 20),
+ text: 'macro = scalebox',
+ margin,
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = sewtogether
+ x = 127
+ y += 10
+ points.st_a = new Point(x - 5, y)
+ points.st_b = new Point(x + 35, y + 10)
+ points.st_c = new Point(x + 70, y)
+ macro('sewTogether', {
+ from: points.st_a,
+ to: points.st_c,
+ hinge: options.sewtogetherHinge,
+ middle: options.sewtogetherMiddle ? points.st_b : null,
+ })
+ macro('bannerbox', {
+ topLeft: new Point(x, y - 30),
+ bottomRight: new Point(x + 65, y + 10),
+ text: 'macro = sewTogether',
+ ...store.get('bannerbox.macro'),
+ })
+
+ // macro = title
+ x = 225
+ if (options.titleMeta) store.set('data.for', 'Some user')
+ else store.unset('data.for')
+ points.title = new Point(x, y + 10)
+ macro('title', {
+ at: points.title,
+ nr: options.titleNr,
+ title: options.titleTitle ? 'Title here' : false,
+ prefix: 'prefix',
+ rotation: options.titleRotate,
+ scale: options.titleScale,
+ })
+ macro('bannerbox', {
+ topLeft: new Point(x, y - 30),
+ bottomRight: new Point(x + 65, y + 35),
+ text: 'macro = title',
+ ...store.get('bannerbox.macro'),
+ })
+
+ points.logo = new Point(40, 40)
+ snippets.logo = new Snippet('logo', points.logo)
+ .attr('data-scale', options.logoScale)
+ .attr('data-rotate', options.logoRotate)
+
+ macro('bannerbox', {
+ topLeft: new Point(25, 10),
+ bottomRight: new Point(60, 45),
+ text: 'snippet = logo',
+ ...store.get('bannerbox.snippet'),
+ })
+
+ // Overarching bannerbox
+ macro('bannerbox', {
+ topLeft: new Point(-10, -10),
+ bottomRight: new Point(330, 250),
+ text: 'plugin = annotations',
+ ...store.get('bannerbox.plugin'),
+ })
+ }
+
+ return part
+}
+
+export const annotations = {
+ name: 'plugintest.annotations',
+ after: base,
+ options: {
+ // Banner
+ bannerDy: { count: -1, min: -15, max: 15, menu: 'annotations.banner' },
+ bannerSpaces: { count: 10, min: 0, max: 20, menu: 'annotations.banner' },
+ bannerRepeat: { count: 10, min: 1, max: 20, menu: 'annotations.banner' },
+ // Bartack
+ bartackLength: { count: 15, min: 2, max: 100, menu: 'annotations.bartack' },
+ bartackAngle: { count: 0, min: -360, max: 360, menu: 'annotations.bartack' },
+ bartackDensity: { count: 3, min: 1, max: 5, menu: 'annotations.bartack' },
+ bartackWidth: { count: 3, min: 1, max: 5, menu: 'annotations.bartack' },
+ bartackStart: { pct: 25, min: 0, max: 100, menu: 'annotations.bartack' },
+ bartackEnd: { pct: 75, min: 0, max: 100, menu: 'annotations.bartack' },
+ // Crossbox
+ crossboxText: { bool: true, menu: 'annotations.crossboxText' },
+ // Cutonfold
+ cutonfoldMargin: { count: 5, min: 0, max: 25, menu: 'annotations.cutonfold' },
+ cutonfoldOffset: { count: 15, min: 0, max: 100, menu: 'annotations.cutonfold' },
+ cutonfoldGrainline: { bool: false, menu: 'annotations.cutonfold' },
+ // dimension
+ dimensionsCustomText: { bool: false, menu: 'annotations.dimensions' },
+ dimensionsEndMarker: { bool: true, menu: 'annotations.dimensions' },
+ dimensionsStartMarker: { bool: true, menu: 'annotations.dimensions' },
+ // Logo
+ logoScale: { pct: 100, min: 10, max: 200, menu: 'annptations.logo' },
+ logoRotate: { deg: 0, min: -360, max: 360, menu: 'annotations.logo' },
+ // Pleat
+ pleatMargin: { count: 35, min: 0, max: 50, menu: 'annotations.pleat' },
+ pleatReverse: { bool: false, menu: 'annotations.pleat' },
+ // Scalebox
+ scaleboxRotation: { deg: 0, min: 0, max: 360, menu: 'annotations.scalebox' },
+ scaleboxText: {
+ dflt: 'default',
+ list: ['default', 'custom', 'suppress'],
+ menu: 'annotations.scalebox',
+ },
+ // Sewtogether
+ sewtogetherHinge: { bool: true, menu: 'annotations.sewtogether' },
+ sewtogetherMiddle: { bool: false, menu: 'annotations.sewtogether' },
+ // Title
+ titleNr: { count: 1, min: 0, max: 100, menu: 'annotations.title' },
+ titleTitle: { bool: true, menu: 'annotations.title' },
+ titleMeta: { bool: true, menu: 'annotations.title' },
+ titleScale: { pct: 100, min: 10, max: 200, menu: 'annotations.title' },
+ titleRotate: { deg: 0, min: -360, max: 360, menu: 'annotations.title' },
+ // Snippets
+ snippetScale: { pct: 100, min: 10, max: 200, menu: 'annotations.snippets' },
+ snippetRotation: { deg: 0, min: -360, max: 360, menu: 'annotations.snippets' },
+ },
+ plugins: annotationsPlugin,
+ draft: pluginAnnotations,
+}
diff --git a/designs/plugintest/src/plugin-banner.mjs b/designs/plugintest/src/plugin-banner.mjs
deleted file mode 100644
index 9fdde380287..00000000000
--- a/designs/plugintest/src/plugin-banner.mjs
+++ /dev/null
@@ -1,36 +0,0 @@
-import { bannerPlugin } from '@freesewing/plugin-banner'
-import { base } from './base.mjs'
-
-const pluginBanner = ({ points, Point, paths, Path, macro, options, part }) => {
- if (['banner', 'all'].indexOf(options.plugin) !== -1) {
- points.from = new Point(0, 0)
- points.to = new Point(320, 0)
-
- paths.banner = new Path().move(points.from).line(points.to)
-
- macro('banner', {
- path: paths.banner,
- text: 'banner plugin',
- dy: options.bannerDy,
- spaces: options.bannerSpaces,
- repeat: options.bannerRepeat,
- })
-
- // Prevent clipping of text
- paths.box = new Path().move(new Point(0, -20)).line(new Point(0, 20)).attr('class', 'hidden')
- }
-
- return part
-}
-
-export const banner = {
- name: 'plugintest.banner',
- plugins: bannerPlugin,
- after: base,
- options: {
- bannerDy: { count: -1, min: -15, max: 15, menu: 'banner' },
- bannerSpaces: { count: 10, min: 0, max: 20, menu: 'banner' },
- bannerRepeat: { count: 10, min: 1, max: 20, menu: 'banner' },
- },
- draft: pluginBanner,
-}
diff --git a/designs/plugintest/src/plugin-bartack.mjs b/designs/plugintest/src/plugin-bartack.mjs
deleted file mode 100644
index 06e81ccd75d..00000000000
--- a/designs/plugintest/src/plugin-bartack.mjs
+++ /dev/null
@@ -1,71 +0,0 @@
-import { bartackPlugin } from '@freesewing/plugin-bartack'
-import { base } from './base.mjs'
-
-const bartackOptions = (options) => ({
- angle: options.bartackAngle,
- length: options.bartackLength,
- density: options.bartackDensity,
- width: options.bartackWidth,
- start: options.bartackStart,
- end: options.bartackEnd,
-})
-
-const pluginBartack = ({ points, Point, paths, Path, macro, options, part }) => {
- if (['bartack', 'all'].indexOf(options.plugin) !== -1) {
- points.bartack = new Point(0, 0)
- macro('bartack', {
- anchor: points.bartack,
- prefix: 'a',
- ...bartackOptions(options),
- })
-
- points.a = new Point(20, 0)
- points.b = new Point(25, 10)
- points.c = new Point(35, 10)
- points.d = new Point(40, 0)
-
- paths.a = new Path()
- .move(points.a)
- .curve(points.b, points.c, points.d)
- .attr('class', 'lining dashed')
-
- macro('bartackAlong', {
- path: paths.a,
- prefix: 'b',
- ...bartackOptions(options),
- })
-
- points.e = new Point(50, 0)
- points.f = new Point(55, 10)
- points.g = new Point(65, 10)
- points.h = new Point(70, 0)
-
- paths.e = new Path()
- .move(points.e)
- .curve(points.f, points.g, points.h)
- .attr('class', 'lining dashed')
-
- macro('bartackFractionAlong', {
- prefix: 'c',
- path: paths.e,
- ...bartackOptions(options),
- })
- }
-
- return part
-}
-
-export const bartack = {
- name: 'plugintest.bartack',
- after: base,
- options: {
- bartackLength: { count: 15, min: 2, max: 100, menu: 'bartack' },
- bartackAngle: { count: 0, min: -360, max: 360, menu: 'bartack' },
- bartackDensity: { count: 3, min: 1, max: 5, menu: 'bartack' },
- bartackWidth: { count: 3, min: 1, max: 5, menu: 'bartack' },
- bartackStart: { pct: 25, min: 0, max: 100, menu: 'bartack' },
- bartackEnd: { pct: 75, min: 0, max: 100, menu: 'bartack' },
- },
- plugins: bartackPlugin,
- draft: pluginBartack,
-}
diff --git a/designs/plugintest/src/plugin-buttons.mjs b/designs/plugintest/src/plugin-buttons.mjs
deleted file mode 100644
index 67248cb0e26..00000000000
--- a/designs/plugintest/src/plugin-buttons.mjs
+++ /dev/null
@@ -1,43 +0,0 @@
-import { buttonsPlugin } from '@freesewing/plugin-buttons'
-import { base } from './base.mjs'
-
-const addThese = [
- 'button',
- 'buttonhole',
- 'buttonhole-start',
- 'buttonhole-end',
- 'snap-stud',
- 'snap-socket',
-]
-
-const pluginButtons = ({ points, Point, paths, Path, snippets, Snippet, options, part }) => {
- if (['buttons', 'all'].indexOf(options.plugin) !== -1) {
- let x = 10
- for (const add of addThese) {
- points[add] = new Point(x, 0)
- snippets[add] = new Snippet(add, points[add])
- .attr('data-scale', options.buttonsScale)
- .attr('data-rotate', options.buttonsRotate)
- x += 20
- }
-
- // Prevent clipping of text
- paths.box = new Path()
- .move(new Point(0, -10))
- .line(new Point(20 * addThese.length, 10))
- .attr('class', 'hidden')
- }
-
- return part
-}
-
-export const buttons = {
- name: 'plugintest.buttons',
- after: base,
- options: {
- buttonsScale: { pct: 100, min: 10, max: 200, menu: 'buttons' },
- buttonsRotate: { deg: 0, min: -360, max: 360, menu: 'buttons' },
- },
- plugins: buttonsPlugin,
- draft: pluginButtons,
-}
diff --git a/designs/plugintest/src/plugin-cutonfold.mjs b/designs/plugintest/src/plugin-cutonfold.mjs
deleted file mode 100644
index 2c9f2ce5886..00000000000
--- a/designs/plugintest/src/plugin-cutonfold.mjs
+++ /dev/null
@@ -1,33 +0,0 @@
-import { cutonfoldPlugin } from '@freesewing/plugin-cutonfold'
-import { base } from './base.mjs'
-
-const pluginCutonfold = ({ points, Point, paths, Path, options, macro, part }) => {
- if (['cutonfold', 'all'].indexOf(options.plugin) !== -1) {
- points.a = new Point(0, 0)
- points.b = new Point(200, 0)
- macro('cutonfold', {
- from: points.a,
- to: points.b,
- margin: options.cutonfoldMargin,
- offset: options.cutonfoldOffset,
- grainline: options.cutonfoldGrainline,
- })
-
- // Prevent clipping of text
- paths.box = new Path().move(new Point(0, -30)).line(new Point(210, 10)).attr('class', 'hidden')
- }
-
- return part
-}
-
-export const cutonfold = {
- name: 'plugintest.cutonfold',
- after: base,
- options: {
- cutonfoldMargin: { count: 5, min: 0, max: 25, menu: 'cutonfold' },
- cutonfoldOffset: { count: 15, min: 0, max: 100, menu: 'cutonfold' },
- cutonfoldGrainline: { bool: false, menu: 'cutonfold' },
- },
- plugins: cutonfoldPlugin,
- draft: pluginCutonfold,
-}
diff --git a/designs/plugintest/src/plugin-dimension.mjs b/designs/plugintest/src/plugin-dimension.mjs
deleted file mode 100644
index 258199d9ac3..00000000000
--- a/designs/plugintest/src/plugin-dimension.mjs
+++ /dev/null
@@ -1,73 +0,0 @@
-import { dimensionPlugin } from '@freesewing/plugin-dimension'
-import { base } from './base.mjs'
-
-const pluginDimension = ({ points, Point, paths, Path, options, macro, part }) => {
- if (['dimension', 'all'].indexOf(options.plugin) !== -1) {
- points.a = new Point(0, 0)
- points.b = new Point(10, 0)
- points.c = new Point(0, 10)
- points.d = new Point(100, 0)
- points.e = new Point(0, 100)
- points.f = new Point(50, 50)
- points.g = new Point(80, 80)
- paths.a = new Path().move(points.c).curve(points.e, points.g, points.d)
-
- const opts = {
- text: options.dimensionCustomText ? 'custom text' : false,
- d: options.dimensionD,
- noStartMarker: !options.dimensionStartMarker,
- noEndMarker: !options.dimensionEndMarker,
- }
-
- macro('hd', {
- from: points.a,
- to: points.b,
- ...opts,
- })
- macro('vd', {
- from: points.c,
- to: points.a,
- ...opts,
- })
- macro('hd', {
- from: points.b,
- to: points.d,
- ...opts,
- })
- macro('vd', {
- from: points.e,
- to: points.c,
- ...opts,
- })
- macro('ld', {
- from: points.b,
- to: points.f,
- ...opts,
- })
- macro('pd', {
- path: paths.a,
- ...opts,
- })
-
- // Prevent clipping of text
- paths.box = new Path()
- .move(new Point(-10, -10))
- .line(new Point(110, 10))
- .attr('class', 'hidden')
- }
-
- return part
-}
-
-export const dimension = {
- name: 'plugintest.dimension',
- after: base,
- options: {
- dimensionCustomText: { bool: false, menu: 'dimension' },
- dimensionD: { count: 10, min: -20, max: 20, menu: 'dimension' },
- dimensionEndMarker: { bool: true, menu: 'dimension' },
- dimensionStartMarker: { bool: true, menu: 'dimension' },
- },
- plugins: dimensionPlugin,
- draft: pluginDimension,
-}
diff --git a/designs/plugintest/src/plugin-flip.mjs b/designs/plugintest/src/plugin-flip.mjs
index b589fe83529..481f8565084 100644
--- a/designs/plugintest/src/plugin-flip.mjs
+++ b/designs/plugintest/src/plugin-flip.mjs
@@ -1,7 +1,18 @@
import { flipPlugin } from '@freesewing/plugin-flip'
import { base } from './base.mjs'
-const pluginFlip = ({ points, Point, paths, Path, snippets, Snippet, options, macro, part }) => {
+const pluginFlip = ({
+ points,
+ Point,
+ paths,
+ Path,
+ snippets,
+ Snippet,
+ options,
+ macro,
+ part,
+ store,
+}) => {
if (['flip', 'all'].indexOf(options.plugin) !== -1) {
points.mirrorA = new Point(50, 0)
points.mirrorB = new Point(0, 0)
@@ -29,6 +40,12 @@ const pluginFlip = ({ points, Point, paths, Path, snippets, Snippet, options, ma
paths.b = new Path().move(points.e).curve(points.a, points.d, points.c)
macro('flip', { axis: options.flipAxis })
+ macro('bannerbox', {
+ topLeft: new Point(-45, 5),
+ bottomRight: new Point(-5, 40),
+ text: 'macro = flip',
+ ...store.get('bannerbox.macro'),
+ })
}
return part
diff --git a/designs/plugintest/src/plugin-gore.mjs b/designs/plugintest/src/plugin-gore.mjs
index 242cb60f9d4..3ca13b5d251 100644
--- a/designs/plugintest/src/plugin-gore.mjs
+++ b/designs/plugintest/src/plugin-gore.mjs
@@ -1,7 +1,7 @@
import { gorePlugin } from '@freesewing/plugin-gore'
import { base } from './base.mjs'
-const pluginGore = ({ points, Point, options, macro, part }) => {
+const pluginGore = ({ points, Point, options, macro, part, store }) => {
if (['gore', 'all'].indexOf(options.plugin) !== -1) {
points.start = new Point(10, 10)
macro('gore', {
@@ -10,6 +10,12 @@ const pluginGore = ({ points, Point, options, macro, part }) => {
gores: options.goreGoreNumber,
extraLength: options.goreExtraLength,
})
+ macro('bannerbox', {
+ topLeft: new Point(15, 5),
+ bottomRight: new Point(45, 5),
+ text: 'macro = gore',
+ ...store.get('bannerbox.macro'),
+ })
}
return part
}
diff --git a/designs/plugintest/src/plugin-grainline.mjs b/designs/plugintest/src/plugin-grainline.mjs
deleted file mode 100644
index 501f1766c34..00000000000
--- a/designs/plugintest/src/plugin-grainline.mjs
+++ /dev/null
@@ -1,26 +0,0 @@
-import { grainlinePlugin } from '@freesewing/plugin-grainline'
-
-const pluginGrainline = ({ points, Point, paths, Path, options, macro, part }) => {
- if (['grainline', 'all'].indexOf(options.plugin) !== -1) {
- points.a = new Point(0, 0)
- points.b = new Point(200, 0)
- macro('grainline', {
- from: points.a,
- to: points.b,
- margin: options.cutonfoldMargin,
- offset: options.cutonfoldOffset,
- grainline: options.cutonfoldGrainline,
- })
-
- // Prevent clipping of text
- paths.box = new Path().move(new Point(0, -30)).line(new Point(210, 10)).attr('class', 'hidden')
- }
-
- return part
-}
-
-export const grainline = {
- name: 'plugintest.grainline',
- plugins: grainlinePlugin,
- draft: pluginGrainline,
-}
diff --git a/designs/plugintest/src/plugin-i18n.mjs b/designs/plugintest/src/plugin-i18n.mjs
index 80a15b49ef0..227dba71f8c 100644
--- a/designs/plugintest/src/plugin-i18n.mjs
+++ b/designs/plugintest/src/plugin-i18n.mjs
@@ -1,12 +1,16 @@
// Not importing i18n since it's a run-time plugin loaded by workbench
//import { i18nPlugin } from '@freesewing/plugin-i18n'
-const pluginI18n = ({ points, Point, paths, Path, options, part }) => {
+const pluginI18n = ({ points, Point, options, part, macro, store }) => {
if (['i18n', 'all'].indexOf(options.plugin) !== -1) {
points.a = new Point(0, 0).attr('data-text', 'cutTwoStripsToFinishTheArmholes')
- // Prevent clipping of text
- paths.box = new Path().move(new Point(0, -10)).line(new Point(130, 0)).attr('class', 'hidden')
+ macro('bannerbox', {
+ topLeft: new Point(0, 0),
+ bottomRight: new Point(105, 0),
+ text: 'plugin = i18n',
+ ...store.get('bannerbox.plugin'),
+ })
}
return part
diff --git a/designs/plugintest/src/plugin-logo.mjs b/designs/plugintest/src/plugin-logo.mjs
index 8a8ab704b3a..336c1a173bc 100644
--- a/designs/plugintest/src/plugin-logo.mjs
+++ b/designs/plugintest/src/plugin-logo.mjs
@@ -1,15 +1,19 @@
-import { logoPlugin } from '@freesewing/plugin-logo'
import { base } from './base.mjs'
+import { logoPlugin } from '@freesewing/plugin-logo'
-const pluginLogo = ({ points, Point, paths, Path, snippets, Snippet, options, part }) => {
+const pluginLogo = ({ points, Point, snippets, Snippet, options, part, macro, store }) => {
if (['logo', 'all'].indexOf(options.plugin) !== -1) {
points.a = new Point(40, 40)
snippets.a = new Snippet('logo', points.a)
.attr('data-scale', options.logoScale)
.attr('data-rotate', options.logoRotate)
- // Prevent clipping of text
- paths.box = new Path().move(new Point(0, 0)).line(new Point(80, 60)).attr('class', 'hidden')
+ macro('bannerbox', {
+ topLeft: new Point(25, 10),
+ bottomRight: new Point(60, 45),
+ text: 'snippet = logo',
+ ...store.get('bannerbox.snippet'),
+ })
}
return part
@@ -17,11 +21,11 @@ const pluginLogo = ({ points, Point, paths, Path, snippets, Snippet, options, pa
export const logo = {
name: 'plugintest.logo',
- plugins: logoPlugin,
after: base,
options: {
logoScale: { pct: 100, min: 10, max: 200, menu: 'logo' },
logoRotate: { deg: 0, min: -360, max: 360, menu: 'logo' },
},
draft: pluginLogo,
+ plugins: [logoPlugin],
}
diff --git a/designs/plugintest/src/plugin-measurements.mjs b/designs/plugintest/src/plugin-measurements.mjs
index 6710803cc18..d6cf7fb417d 100644
--- a/designs/plugintest/src/plugin-measurements.mjs
+++ b/designs/plugintest/src/plugin-measurements.mjs
@@ -11,7 +11,7 @@ const measies = [
'crossSeamBack',
]
-const pluginMeasurements = ({ points, Point, paths, Path, measurements, options, part }) => {
+const pluginMeasurements = ({ points, Point, measurements, options, part, macro, store }) => {
if (['measurements', 'all'].indexOf(options.plugin) !== -1) {
let y = 10
for (const m of measies) {
@@ -19,8 +19,12 @@ const pluginMeasurements = ({ points, Point, paths, Path, measurements, options,
y += 10
}
- // Prevent clipping of text
- paths.box = new Path().move(new Point(0, -10)).line(new Point(130, 90)).attr('class', 'hidden')
+ macro('bannerbox', {
+ topLeft: new Point(5, 10),
+ bottomRight: new Point(55, 75),
+ text: 'plugin = measurements',
+ ...store.get('bannerbox.plugin'),
+ })
}
return part
diff --git a/designs/plugintest/src/plugin-mirror.mjs b/designs/plugintest/src/plugin-mirror.mjs
index 36de65054da..80909636d44 100644
--- a/designs/plugintest/src/plugin-mirror.mjs
+++ b/designs/plugintest/src/plugin-mirror.mjs
@@ -1,8 +1,20 @@
import { mirrorPlugin } from '@freesewing/plugin-mirror'
import { base } from './base.mjs'
-const pluginMirror = ({ points, Point, paths, Path, snippets, Snippet, options, macro, part }) => {
+const pluginMirror = ({
+ points,
+ Point,
+ paths,
+ Path,
+ snippets,
+ Snippet,
+ options,
+ macro,
+ part,
+ store,
+}) => {
if (['mirror', 'all'].indexOf(options.plugin) !== -1) {
+ // Mirror lines
points.mirrorA = new Point(0, 0)
points.mirrorB = new Point(70, 30)
points.mirrorC = new Point(0, 50)
@@ -20,21 +32,21 @@ const pluginMirror = ({ points, Point, paths, Path, snippets, Snippet, options,
.attr('data-text', 'Mirror B')
.attr('data-text-class', 'right')
- points.b1 = new Point(10, 10).attr('data-text', 1)
- points.h2 = new Point(20, 10).attr('data-text', 2)
- points.h3 = new Point(30, 10).attr('data-text', 3)
- points.v2 = new Point(10, 20).attr('data-text', 2)
- points.v3 = new Point(10, 30).attr('data-text', 3)
- points.a = new Point(10, 0)
- points.b = new Point(30, 30)
- points.c = new Point(50, 50)
- points.d = new Point(12, 34)
- points.e = new Point(54, 34)
+ // line
+ points.start = new Point(10, 0)
+ points.end = new Point(30, 30)
+ paths.line = new Path().move(points.start).line(points.end)
- snippets.a = new Snippet('button', points.b)
+ // curve
+ points.from = new Point(50, 50)
+ points.cp1 = new Point(12, 34)
+ points.cp2 = new Point(14, -4)
+ points.to = new Point(64, 34)
+ paths.curve = new Path().move(points.from).curve(points.cp1, points.cp2, points.to)
- paths.a = new Path().move(points.a).line(points.b)
- paths.b = new Path().move(points.e).curve(points.a, points.d, points.c)
+ // snippet
+ points.a = new Point(20, 30)
+ snippets.a = new Snippet('button', points.a)
if (options.mirrorLine !== 'none') {
macro('mirror', {
@@ -42,22 +54,18 @@ const pluginMirror = ({ points, Point, paths, Path, snippets, Snippet, options,
options.mirrorLine === 'a'
? [points.mirrorA, points.mirrorB]
: [points.mirrorC, points.mirrorD],
- points: [
- points.b1,
- points.h2,
- points.h3,
- points.v2,
- points.v3,
- points.a,
- points.b,
- points.c,
- points.d,
- points.e,
- ],
- paths: [paths.a, paths.b],
+ points: ['a'],
+ paths: ['line', 'curve'],
clone: options.mirrorClone,
})
}
+
+ macro('bannerbox', {
+ topLeft: new Point(options.mirrorLine === 'b' ? -35 : 5, -25),
+ bottomRight: new Point(65, 50),
+ text: 'plugin = measurements',
+ ...store.get('bannerbox.plugin'),
+ })
}
return part
diff --git a/designs/plugintest/src/plugin-notches.mjs b/designs/plugintest/src/plugin-notches.mjs
deleted file mode 100644
index 57dba1be926..00000000000
--- a/designs/plugintest/src/plugin-notches.mjs
+++ /dev/null
@@ -1,30 +0,0 @@
-import { notchesPlugin } from '@freesewing/plugin-notches'
-
-const addThese = ['notch', 'bnotch']
-
-const pluginNotches = ({ points, Point, paths, Path, snippets, Snippet, options, part }) => {
- if (['notches', 'all'].indexOf(options.plugin) !== -1) {
- let x = 10
- for (const add of addThese) {
- points[add] = new Point(x, 0)
- snippets[add] = new Snippet(add, points[add])
- .attr('data-scale', options.buttonsScale)
- .attr('data-rotate', options.buttonsRotate)
- x += 20
- }
-
- // Prevent clipping of text
- paths.box = new Path()
- .move(new Point(0, -5))
- .line(new Point(20 * addThese.length, 5))
- .attr('class', 'hidden')
- }
-
- return part
-}
-
-export const notches = {
- name: 'plugintest.notches',
- plugins: notchesPlugin,
- draft: pluginNotches,
-}
diff --git a/designs/plugintest/src/plugin-round.mjs b/designs/plugintest/src/plugin-round.mjs
index abb5046cce7..e458818b3d1 100644
--- a/designs/plugintest/src/plugin-round.mjs
+++ b/designs/plugintest/src/plugin-round.mjs
@@ -1,7 +1,7 @@
import { roundPlugin } from '@freesewing/plugin-round'
import { base } from './base.mjs'
-const pluginRound = ({ Point, points, Path, paths, macro, options, part }) => {
+const pluginRound = ({ Point, points, Path, paths, macro, options, part, store }) => {
if (['round', 'all'].indexOf(options.plugin) !== -1) {
points.topLeft = new Point(0, 0)
points.bottomLeft = new Point(0, 30)
@@ -35,6 +35,13 @@ const pluginRound = ({ Point, points, Path, paths, macro, options, part }) => {
prefix: 'tr',
...opts,
})
+
+ macro('bannerbox', {
+ topLeft: new Point(5, 5),
+ bottomRight: new Point(95, 25),
+ text: 'macro = round',
+ ...store.get('bannerbox.plugin'),
+ })
}
return part
diff --git a/designs/plugintest/src/plugin-scalebox.mjs b/designs/plugintest/src/plugin-scalebox.mjs
deleted file mode 100644
index df125f1ac63..00000000000
--- a/designs/plugintest/src/plugin-scalebox.mjs
+++ /dev/null
@@ -1,26 +0,0 @@
-import { scaleboxPlugin } from '@freesewing/plugin-scalebox'
-import { base } from './base.mjs'
-
-const pluginScalebox = ({ Point, points, macro, options, part }) => {
- if (['scalebox', 'all'].indexOf(options.plugin) !== -1) {
- points.a = new Point(0, 0)
-
- macro(options.scaleboxType, {
- at: points.a,
- rotate: options.scaleboxRotation,
- })
- }
-
- return part
-}
-
-export const scalebox = {
- name: 'plugintest.scalebox',
- plugins: scaleboxPlugin,
- after: base,
- options: {
- scaleboxType: { dflt: 'scalebox', list: ['scalebox', 'miniscale'], menu: 'scalebox' },
- scaleboxRotation: { deg: 0, min: 0, max: 360, menu: 'scalebox' },
- },
- draft: pluginScalebox,
-}
diff --git a/designs/plugintest/src/plugin-sprinkle.mjs b/designs/plugintest/src/plugin-sprinkle.mjs
index 05052e1cd12..4fa5fe5167e 100644
--- a/designs/plugintest/src/plugin-sprinkle.mjs
+++ b/designs/plugintest/src/plugin-sprinkle.mjs
@@ -1,10 +1,10 @@
import { sprinklePlugin } from '@freesewing/plugin-sprinkle'
import { base } from './base.mjs'
-const pluginSprinkle = ({ Point, points, Path, paths, options, macro, part }) => {
+const pluginSprinkle = ({ Point, points, options, macro, part, store }) => {
if (['sprinkle', 'all'].indexOf(options.plugin) !== -1) {
points.center = new Point(0, 0)
- points.top = new Point(0, 40)
+ points.top = new Point(0, 20)
const on = []
for (let i = 0; i < 360; i += 45) {
points[`s${i}`] = points.top.rotate(i, points.center)
@@ -17,8 +17,12 @@ const pluginSprinkle = ({ Point, points, Path, paths, options, macro, part }) =>
scale: options.sprinkleScale,
rotate: options.sprinkleRotate,
})
-
- paths.box = new Path().move(new Point(-50, -50)).line(new Point(50, 50))
+ macro('bannerbox', {
+ topLeft: new Point(-20, -20),
+ bottomRight: new Point(20, 20),
+ text: 'macro = sprinkle',
+ ...store.get('bannerbox.plugin'),
+ })
}
return part
diff --git a/designs/plugintest/src/plugin-title.mjs b/designs/plugintest/src/plugin-title.mjs
deleted file mode 100644
index 402fcb6debe..00000000000
--- a/designs/plugintest/src/plugin-title.mjs
+++ /dev/null
@@ -1,36 +0,0 @@
-import { titlePlugin } from '@freesewing/plugin-title'
-import { base } from './base.mjs'
-
-const pluginTitle = ({ points, Point, paths, Path, macro, options, store, part }) => {
- if (['title', 'all'].indexOf(options.plugin) !== -1) {
- if (options.titleMeta) store.set('data.for', 'Some user')
- else store.unset('data.for')
- points.a = new Point(20, 0)
- macro('title', {
- at: points.a,
- nr: options.titleNr,
- title: options.titleTitle ? 'Title here' : false,
- prefix: 'prefix',
- rotation: options.titleRotate,
- scale: options.titleScale,
- })
- // Prevent clipping of text
- paths.box = new Path().move(new Point(10, -45)).line(new Point(120, 35)).attr('class', 'hidden')
- }
-
- return part
-}
-
-export const title = {
- name: 'plugintest.title',
- after: base,
- options: {
- titleNr: { count: 1, min: 0, max: 100, menu: 'title' },
- titleTitle: { bool: true, menu: 'title' },
- titleMeta: { bool: true, menu: 'title' },
- titleScale: { pct: 100, min: 10, max: 200, menu: 'title' },
- titleRotate: { deg: 0, min: -360, max: 360, menu: 'title' },
- },
- plugins: titlePlugin,
- draft: pluginTitle,
-}
diff --git a/designs/rendertest/README.md b/designs/rendertest/README.md
index 07f6c983957..51083c889f4 100644
--- a/designs/rendertest/README.md
+++ b/designs/rendertest/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/rendertest/package.json b/designs/rendertest/package.json
index 6c2794366ed..461cb2a25d1 100644
--- a/designs/rendertest/package.json
+++ b/designs/rendertest/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/sandy/README.md b/designs/sandy/README.md
index 28f894d4303..629142b6dc8 100644
--- a/designs/sandy/README.md
+++ b/designs/sandy/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/sandy/package.json b/designs/sandy/package.json
index d468229b5c3..7cd1ce0c0b1 100644
--- a/designs/sandy/package.json
+++ b/designs/sandy/package.json
@@ -52,7 +52,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/shin/README.md b/designs/shin/README.md
index 0d7c5dca9ec..6b30a5e6ba0 100644
--- a/designs/shin/README.md
+++ b/designs/shin/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/shin/package.json b/designs/shin/package.json
index 6e4a0ec55a0..02b2676eba6 100644
--- a/designs/shin/package.json
+++ b/designs/shin/package.json
@@ -52,7 +52,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/simon/README.md b/designs/simon/README.md
index 0ea0ac0c69a..b6ac731f7d9 100644
--- a/designs/simon/README.md
+++ b/designs/simon/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/simon/package.json b/designs/simon/package.json
index a64e63e22bf..35c31fcc49e 100644
--- a/designs/simon/package.json
+++ b/designs/simon/package.json
@@ -54,7 +54,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/simon/src/yoke.mjs b/designs/simon/src/yoke.mjs
index 0f7d29624dc..85a480e377a 100644
--- a/designs/simon/src/yoke.mjs
+++ b/designs/simon/src/yoke.mjs
@@ -27,7 +27,7 @@ function simonYoke({
else {
macro('mirror', {
mirror: [points.cbNeck, points.cbYoke],
- paths: [paths.saBase],
+ paths: ['saBase'],
clone: true,
})
paths.saBase = paths.saBase.join(paths.mirroredSaBase.reverse())
diff --git a/designs/simone/README.md b/designs/simone/README.md
index 57cb71c2fa4..a9c13cdba31 100644
--- a/designs/simone/README.md
+++ b/designs/simone/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/simone/package.json b/designs/simone/package.json
index 7737f21c5fb..d94f1d295fa 100644
--- a/designs/simone/package.json
+++ b/designs/simone/package.json
@@ -55,7 +55,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/sven/README.md b/designs/sven/README.md
index e3fe560abb6..a187e883a79 100644
--- a/designs/sven/README.md
+++ b/designs/sven/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/sven/package.json b/designs/sven/package.json
index aa71a0cfd36..a5f3cafe7d9 100644
--- a/designs/sven/package.json
+++ b/designs/sven/package.json
@@ -53,7 +53,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/tamiko/README.md b/designs/tamiko/README.md
index 7f1bc0f5163..187dab29d4c 100644
--- a/designs/tamiko/README.md
+++ b/designs/tamiko/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/tamiko/package.json b/designs/tamiko/package.json
index a768d822f80..cbd37daaa5e 100644
--- a/designs/tamiko/package.json
+++ b/designs/tamiko/package.json
@@ -52,7 +52,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/teagan/README.md b/designs/teagan/README.md
index 7b7e8084e44..48e2387c02b 100644
--- a/designs/teagan/README.md
+++ b/designs/teagan/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/teagan/package.json b/designs/teagan/package.json
index 0d185fdf27c..a39bbca45cf 100644
--- a/designs/teagan/package.json
+++ b/designs/teagan/package.json
@@ -53,7 +53,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/teagan/src/back.mjs b/designs/teagan/src/back.mjs
index f87587160f0..9c306525cfc 100644
--- a/designs/teagan/src/back.mjs
+++ b/designs/teagan/src/back.mjs
@@ -25,9 +25,17 @@ function teaganBack({
// Draw seamline
paths.hemBase = new Path().move(points.cfHem).line(points.hem).hide()
+ if (options.curveToWaist) {
+ paths.sideSeam = new Path()
+ .move(points.hem)
+ .curve(points.hipsCp2, points.waistCp1, points.waist)
+ .curve_(points.waistCp2, points.armhole)
+ .hide()
+ } else {
+ paths.sideSeam = new Path().move(points.hem).curve_(points.waistCp2, points.armhole).hide()
+ }
paths.saBase = new Path()
- .move(points.hem)
- .curve_(points.waistCp2, points.armhole)
+ .move(points.armhole)
.curve(points.armholeCp2, points.armholeHollowCp1, points.armholeHollow)
.curve(points.armholeHollowCp2, points.shoulderCp1, points.shoulder)
.line(points.neck)
@@ -36,6 +44,7 @@ function teaganBack({
paths.seam = new Path()
.move(points.cfHem)
.join(paths.hemBase)
+ .join(paths.sideSeam)
.join(paths.saBase)
.line(points.cfHem)
.close()
@@ -68,6 +77,7 @@ function teaganBack({
paths.sa = new Path()
.move(points.cfHem)
.join(paths.hemBase.offset(sa * 3))
+ .join(paths.sideSeam.offset(sa))
.join(paths.saBase.offset(sa))
.line(points.cbNeck)
.attr('class', 'fabric sa')
diff --git a/designs/teagan/src/front.mjs b/designs/teagan/src/front.mjs
index 3fba97e2935..56f5f0939da 100644
--- a/designs/teagan/src/front.mjs
+++ b/designs/teagan/src/front.mjs
@@ -18,20 +18,46 @@ function teaganFront({
macro,
log,
units,
+ getId,
part,
}) {
// Hide Brian paths
for (let key of Object.keys(paths)) paths[key].hide()
// Adapt fit to waist
- let width
- if (measurements.waist > measurements.hips)
- width = (measurements.waist * (1 + options.hipsEase)) / 4
- else width = (measurements.hips * (1 + options.hipsEase)) / 4
- points.hem.x = width
- points.hips.x = width
- points.waist.x = width
- points.waistCp2 = points.waist.shift(90, points.armhole.dy(points.waist) / 3)
+ if (options.curveToWaist) {
+ let midWidth, lowerWidth
+
+ midWidth = (measurements.waist * (1 + options.curvedWaistEase)) / 4
+ lowerWidth = (measurements.hips * (1 + options.hipsEase)) / 4
+ points.hem.x = lowerWidth
+ points.hips.x = lowerWidth
+ points.waist.x = midWidth
+
+ // control points should be somewhat evenly spaced around waist
+ let cpAbove, cpBelow
+ cpAbove = points.armhole.dy(points.waist) * 0.6
+ cpBelow = points.hips.dy(points.waist) * 0.25
+ points.waistCp1 = points.waist.shift(90, (cpBelow * 2) / 3 - cpAbove / 3)
+ points.waistCp2 = points.waist.shift(90, (cpAbove * 2) / 3 - cpBelow / 3)
+ points.hipsCp2 = points.hips.shift(90, points.waist.dy(points.hips) * 0.3)
+
+ // warn if we're making a barrel-shaped shirt
+ if (midWidth > lowerWidth) {
+ log.warning(
+ 'width at waist exceeds width at hips; consider disabling the curve to waist option for a more standard shape'
+ )
+ }
+ } else {
+ let width
+ if (measurements.waist > measurements.hips)
+ width = (measurements.waist * (1 + options.hipsEase)) / 4
+ else width = (measurements.hips * (1 + options.hipsEase)) / 4
+ points.hem.x = width
+ points.hips.x = width
+ points.waist.x = width
+ points.waistCp2 = points.waist.shift(90, points.armhole.dy(points.waist) / 3)
+ }
// Clone cb (center back) into cf (center front)
for (let key of ['Neck', 'Shoulder', 'Armhole', 'Hips', 'Hem']) {
@@ -63,9 +89,17 @@ function teaganFront({
// Draw seamline
paths.hemBase = new Path().move(points.cfHem).line(points.hem).hide()
+ if (options.curveToWaist) {
+ paths.sideSeam = new Path()
+ .move(points.hem)
+ .curve(points.hipsCp2, points.waistCp1, points.waist)
+ .curve_(points.waistCp2, points.armhole)
+ .hide()
+ } else {
+ paths.sideSeam = new Path().move(points.hem).curve_(points.waistCp2, points.armhole).hide()
+ }
paths.saBase = new Path()
- .move(points.hem)
- .curve_(points.waistCp2, points.armhole)
+ .move(points.armhole)
.curve(points.armholeCp2, points.armholeHollowCp1, points.armholeHollow)
.curve(points.armholeHollowCp2, points.shoulderCp1, points.shoulder)
.line(points.neck)
@@ -74,6 +108,7 @@ function teaganFront({
paths.seam = new Path()
.move(points.cfHem)
.join(paths.hemBase)
+ .join(paths.sideSeam)
.join(paths.saBase)
.line(points.cfHem)
.close()
@@ -105,6 +140,7 @@ function teaganFront({
paths.sa = new Path()
.move(points.cfHem)
.join(paths.hemBase.offset(sa * 3))
+ .join(paths.sideSeam.offset(sa))
.join(paths.saBase.offset(sa))
.line(points.cfNeck)
.attr('class', 'fabric sa')
@@ -119,6 +155,18 @@ function teaganFront({
to: points.hem,
y: points.hem.y + sa * 2.5 + 15,
})
+ if (options.curveToWaist) {
+ macro('hd', {
+ from: points.waist,
+ to: points.hem,
+ y: points.hem.y + sa * 2.5 + 30,
+ })
+ macro('vd', {
+ from: points.hem,
+ to: points.waist,
+ x: points.waist.x - 15,
+ })
+ }
macro('vd', {
from: points.hem,
to: points.armhole,
@@ -150,7 +198,7 @@ function teaganFront({
y: points.neck.y - sa - 45,
})
// These dimensions are only for the front
- let id = part.getId()
+ let id = getId()
macro('vd', {
id,
from: points.cfHem,
@@ -182,6 +230,8 @@ export const front = {
backNeckCutout: { pct: 8, min: 4, max: 12, menu: 'fit' },
// Teagan specific
draftForHighBust: { bool: false, menu: 'fit' },
+ curveToWaist: { bool: false, menu: 'fit' },
+ curvedWaistEase: { pct: 25, min: 8, max: 40, menu: 'fit' },
hipsEase: { pct: 18, min: 8, max: 30, menu: 'fit' },
necklineDepth: { pct: 25, min: 20, max: 40, menu: 'style' },
necklineWidth: { pct: 30, min: 10, max: 50, menu: 'style' },
diff --git a/designs/tiberius/README.md b/designs/tiberius/README.md
index 63388284e0c..c0e502da38f 100644
--- a/designs/tiberius/README.md
+++ b/designs/tiberius/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/tiberius/package.json b/designs/tiberius/package.json
index 7b6b253e8a9..a62972369bf 100644
--- a/designs/tiberius/package.json
+++ b/designs/tiberius/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/titan/README.md b/designs/titan/README.md
index 77e842991e9..1e6606f317e 100644
--- a/designs/titan/README.md
+++ b/designs/titan/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/titan/package.json b/designs/titan/package.json
index c68e8e3c9e3..59ab599ef53 100644
--- a/designs/titan/package.json
+++ b/designs/titan/package.json
@@ -52,7 +52,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/trayvon/README.md b/designs/trayvon/README.md
index ecada0a4d3e..c31db60bb4b 100644
--- a/designs/trayvon/README.md
+++ b/designs/trayvon/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/trayvon/package.json b/designs/trayvon/package.json
index 6c1785cb1fb..cd0b0694715 100644
--- a/designs/trayvon/package.json
+++ b/designs/trayvon/package.json
@@ -52,7 +52,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/tutorial/README.md b/designs/tutorial/README.md
index 40bcb9a99ac..1edb5734b59 100644
--- a/designs/tutorial/README.md
+++ b/designs/tutorial/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/tutorial/package.json b/designs/tutorial/package.json
index b27be30bda1..a586a0a7ca2 100644
--- a/designs/tutorial/package.json
+++ b/designs/tutorial/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/unice/README.md b/designs/unice/README.md
index 4f0a5437426..c49a5dfa526 100644
--- a/designs/unice/README.md
+++ b/designs/unice/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/unice/package.json b/designs/unice/package.json
index 507c5aad46f..306744cecfb 100644
--- a/designs/unice/package.json
+++ b/designs/unice/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/ursula/README.md b/designs/ursula/README.md
index 7f6b19d2be2..3ed55f75586 100644
--- a/designs/ursula/README.md
+++ b/designs/ursula/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/ursula/package.json b/designs/ursula/package.json
index 6b562d6514e..f03f0509028 100644
--- a/designs/ursula/package.json
+++ b/designs/ursula/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/wahid/README.md b/designs/wahid/README.md
index b59391a8bd9..42f131c4783 100644
--- a/designs/wahid/README.md
+++ b/designs/wahid/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/wahid/package.json b/designs/wahid/package.json
index abe5806f224..19c0f31163d 100644
--- a/designs/wahid/package.json
+++ b/designs/wahid/package.json
@@ -53,7 +53,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/walburga/README.md b/designs/walburga/README.md
index 22efce789b6..2cabd4b68ee 100644
--- a/designs/walburga/README.md
+++ b/designs/walburga/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/walburga/package.json b/designs/walburga/package.json
index 17dfd67cac9..8f7e59d9887 100644
--- a/designs/walburga/package.json
+++ b/designs/walburga/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/waralee/README.md b/designs/waralee/README.md
index ce596cb9615..ebfa205a0fc 100644
--- a/designs/waralee/README.md
+++ b/designs/waralee/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/waralee/package.json b/designs/waralee/package.json
index aaa319b9855..08000e956e5 100644
--- a/designs/waralee/package.json
+++ b/designs/waralee/package.json
@@ -51,7 +51,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/designs/yuri/README.md b/designs/yuri/README.md
index 37e9ee7176a..49ed8291024 100644
--- a/designs/yuri/README.md
+++ b/designs/yuri/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/designs/yuri/package.json b/designs/yuri/package.json
index e22c18410ea..4df91b5ba27 100644
--- a/designs/yuri/package.json
+++ b/designs/yuri/package.json
@@ -53,7 +53,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/markdown/dev/guides/v3/migration/en.md b/markdown/dev/guides/v3/migration/en.md
index 0c7f5b684d1..f5129705289 100644
--- a/markdown/dev/guides/v3/migration/en.md
+++ b/markdown/dev/guides/v3/migration/en.md
@@ -111,7 +111,7 @@ Apart from being attached at the part level, changes in comparison to v2 include
- The `name` property is mandatory in v3
- The `dependencies` property v2 is named `after` in v3
- The `inject` property in v2 is named `from` in v3
-- The `hide` property in v2 is now one of `hide`, `hideDependencies`, or `hideAll`
+- The `hide` property is [different from v2 and has gained more features](reference/api/part/config/hide) in v3
- The `plugins` property is new
### File and directory structure changes
diff --git a/markdown/dev/reference/api/path/intersects/en.md b/markdown/dev/reference/api/path/intersects/en.md
index 9b429b6d231..fc41fa2ea42 100644
--- a/markdown/dev/reference/api/path/intersects/en.md
+++ b/markdown/dev/reference/api/path/intersects/en.md
@@ -5,6 +5,15 @@ title: Path.intersects()
The `Path.intersects()` method returns the Point object(s) where the path
intersects with a path you pass it.
+
+
+This method can sometimes fail to find intersections in some curves
+due to a limitation in an underlying BΓ©zier library.
+Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367)
+for more information.
+
+
+
## Signature
```
diff --git a/markdown/dev/reference/api/path/intersectsx/en.md b/markdown/dev/reference/api/path/intersectsx/en.md
index dd5da4d9464..dc5cf81e97e 100644
--- a/markdown/dev/reference/api/path/intersectsx/en.md
+++ b/markdown/dev/reference/api/path/intersectsx/en.md
@@ -5,6 +5,15 @@ title: Path.intersectsX()
The `Path.intersectsX()` method returns the Point object(s) where the path
intersects with a given X-value.
+
+
+This method can sometimes fail to find intersections in some curves
+due to a limitation in an underlying BΓ©zier library.
+Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367)
+for more information.
+
+
+
## Signature
```js
diff --git a/markdown/dev/reference/api/path/intersectsy/en.md b/markdown/dev/reference/api/path/intersectsy/en.md
index abf3a077eea..95a3f12c599 100644
--- a/markdown/dev/reference/api/path/intersectsy/en.md
+++ b/markdown/dev/reference/api/path/intersectsy/en.md
@@ -5,6 +5,15 @@ title: Path.intersectsY()
The `Path.intersectsY()` method returns the Point object(s) where the path
intersects with a given Y-value.
+
+
+This method can sometimes fail to find intersections in some curves
+due to a limitation in an underlying BΓ©zier library.
+Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367)
+for more information.
+
+
+
## Signature
```js
diff --git a/markdown/dev/reference/api/utils/curveintersectsx/en.md b/markdown/dev/reference/api/utils/curveintersectsx/en.md
index 3f485f1e66a..d12aed991ac 100644
--- a/markdown/dev/reference/api/utils/curveintersectsx/en.md
+++ b/markdown/dev/reference/api/utils/curveintersectsx/en.md
@@ -5,11 +5,20 @@ title: utils.curveIntersectsX()
The `utils.curveIntersectsX()` function finds the point(s) where a curve
intersects a given X-value.
+
+
+This function can sometimes fail to find intersections in some curves
+due to a limitation in an underlying BΓ©zier library.
+Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367)
+for more information.
+
+
+
## Signature
```js
array | Point | false utils.curveIntersectsX(
- Point start,
+ Point start,
Point cp1,
Point cp2,
Point end,
@@ -32,11 +41,11 @@ multiple intersections are found.
points.cp1 = new Point(80, 10)
points.cp2 = new Point(-50, 80)
points.end = new Point(110, 70)
-
+
paths.curve = new Path()
.move(points.start)
.curve(points.cp1, points.cp2, points.end)
-
+
for (let x of [30, 40]) {
points["from" + x] = new Point(x, 10)
points["to" + x] = new Point(x, 80)
@@ -45,12 +54,12 @@ multiple intersections are found.
.line(points["to" + x])
.addClass("lining dashed")
}
-
+
snippets.i40 = new Snippet(
"notch",
utils.curveIntersectsX(points.start, points.cp1, points.cp2, points.end, 40)
)
-
+
for (let p of utils.curveIntersectsX(
points.start,
points.cp1,
@@ -72,4 +81,3 @@ This is a low-level (and faster) variant
of [`Path.intersectsX()`](/reference/api/path/intersectsx).
Instead of a path, you describe a single curve by passing the four
points that describes it.
-
diff --git a/markdown/dev/reference/api/utils/curveintersectsy/en.md b/markdown/dev/reference/api/utils/curveintersectsy/en.md
index ea4a252ea06..094529d9c17 100644
--- a/markdown/dev/reference/api/utils/curveintersectsy/en.md
+++ b/markdown/dev/reference/api/utils/curveintersectsy/en.md
@@ -5,11 +5,20 @@ title: utils.curveIntersectsY()
The `utils.curveIntersectsY()` function finds the point(s) where a curve
intersects a given Y-value.
+
+
+This function can sometimes fail to find intersections in some curves
+due to a limitation in an underlying BΓ©zier library.
+Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367)
+for more information.
+
+
+
## Signature
```js
array | Point | false utils.curveIntersectsY(
- Point start,
+ Point start,
Point cp1,
Point cp2,
Point end,
@@ -32,11 +41,11 @@ multiple intersections are found.
points.cp1 = new Point(50, 10)
points.cp2 = new Point(0, 80)
points.end = new Point(110, 70)
-
+
paths.curve = new Path()
.move(points.start)
.curve(points.cp1, points.cp2, points.end)
-
+
for (let y of [40, 50]) {
points["from" + y] = new Point(10, y)
points["to" + y] = new Point(110, y)
@@ -45,12 +54,12 @@ multiple intersections are found.
.line(points["to" + y])
.addClass("lining dashed")
}
-
+
snippets.i50 = new Snippet(
"notch",
utils.curveIntersectsY(points.start, points.cp1, points.cp2, points.end, 50)
)
-
+
for (let p of utils.curveIntersectsY(
points.start,
points.cp1,
@@ -71,5 +80,3 @@ This is a low-level (and faster) variant
of [`Path.intersectsY()`](/reference/api/path/intersectsy).
Instead of a path, you describe a single curve by passing the four
points that describes it.
-
-
diff --git a/markdown/dev/reference/api/utils/curvesintersect/en.md b/markdown/dev/reference/api/utils/curvesintersect/en.md
index 220b4ed0b5e..3da974fd54e 100644
--- a/markdown/dev/reference/api/utils/curvesintersect/en.md
+++ b/markdown/dev/reference/api/utils/curvesintersect/en.md
@@ -5,6 +5,15 @@ title: utils.curvesIntersect()
The `utils.curvesIntersect()` function finds the intersections between two curves
described by 4 points each.
+
+
+This function can sometimes fail to find intersections in some curves
+due to a limitation in an underlying BΓ©zier library.
+Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367)
+for more information.
+
+
+
## Signature
```js
@@ -71,4 +80,3 @@ multiple intersections are found.
}
```
-
diff --git a/markdown/dev/reference/api/utils/lineintersectscurve/en.md b/markdown/dev/reference/api/utils/lineintersectscurve/en.md
index 070e0c8d423..11f8356492c 100644
--- a/markdown/dev/reference/api/utils/lineintersectscurve/en.md
+++ b/markdown/dev/reference/api/utils/lineintersectscurve/en.md
@@ -6,15 +6,24 @@ The `utils.lineIntersectsCurve()` function finds the intersection between a line
segment from point `from` to point `to` and a curve described by points
`start`, `cp1`, `cp2, and `end\`.
+
+
+This function can sometimes fail to find intersections in some curves
+due to a limitation in an underlying BΓ©zier library.
+Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367)
+for more information.
+
+
+
## Signature
```js
array | false utils.lineIntersectsCurve(
- Point from,
- Point to,
- Point start,
- Point cp1,
- Point cp2,
+ Point from,
+ Point to,
+ Point start,
+ Point cp1,
+ Point cp2,
Point end
)
```
@@ -35,7 +44,7 @@ array | false utils.lineIntersectsCurve(
.move(points.A)
.curve(points.Acp, points.Bcp, points.B)
paths.line = new Path().move(points.E).line(points.D)
-
+
for (let p of utils.lineIntersectsCurve(
points.D,
points.E,
@@ -51,4 +60,3 @@ array | false utils.lineIntersectsCurve(
}
```
-
diff --git a/markdown/dev/reference/macros/banner/en.md b/markdown/dev/reference/macros/banner/en.md
index 98af64e127d..f360f3c877e 100644
--- a/markdown/dev/reference/macros/banner/en.md
+++ b/markdown/dev/reference/macros/banner/en.md
@@ -3,17 +3,18 @@ title: banner
---
The `banner` macro allows you to add repeating text along a path.
-It is provided by the [banner plugin](/reference/plugins/banner).
+It is provided by the [annotations plugin](/reference/plugins/annotations).
## Signature
```js
macro('banner', {
+ String className='',
+ Number dy=1,
+ Number repeat=10,
+ Number spaces=12,
Path path,
String text,
- Number dy=1,
- Number spaces=12,
- Number repeat=10,
})
```
@@ -45,11 +46,12 @@ macro('banner', {
| Property | Default | Type | Description |
|-------------:|------------|------------|-------------|
-| `path` | | `Path` | The Path to add the text on |
-| `text` | | `text` | The text to place repeat along the path |
+| `className` | `` | `string` | Any additional CSS classes to apply to the text |
| `dy` | `1` | `number` | Controls how far the text will be located above the path |
-| `spaces` | `12` | `number` | The number of spaces to place between repetitions |
+| `path` | | `Path` | The Path to add the text on |
| `repeat` | `10` | `number` | The number of repetitions |
+| `spaces` | `12` | `number` | The number of spaces to place between repetitions |
+| `text` | | `string` | The text to place repeat along the path |
## Notes
diff --git a/markdown/dev/reference/macros/bannerbox/en.md b/markdown/dev/reference/macros/bannerbox/en.md
new file mode 100644
index 00000000000..69fa42fb77c
--- /dev/null
+++ b/markdown/dev/reference/macros/bannerbox/en.md
@@ -0,0 +1,57 @@
+---
+title: bannerbox
+---
+
+The `bannerbox` macro allows you to add a box with repeating text on it.
+It is provided by the [annotations plugin](/reference/plugins/annotations).
+
+## Signature
+
+```js
+macro('bannerbox', {
+ String textClassName='text-xs fill-note',
+ String boxClassName='stroke-xs stroke-note lashed',
+ Point topLeft=new Point(0,0),
+ Point bottomRight=new Point(100,100),
+ String text='',
+ Number margin=15,
+ Number dy=4,
+ Number repeat=10,
+ Number spaces=12,
+})
+```
+
+## Example
+
+
+```js
+({ Point, points, Path, paths, macro, part }) => {
+
+ macro('bannerbox', {
+ title: 'a bannerbox example',
+ })
+
+ return part
+}
+```
+
+
+## Configuration
+
+| Property | Default | Type | Description |
+|----------------:|--------------------------------|----------|-------------|
+| `textClassName` | `text-xs fill-note` | `string` | CSS classes to apply to the text |
+| `boxClassName` | `stroke-xs stroke-note lashed` | `string` | CSS classes to apply to the box path |
+| `topLeft` | `new Point(0,0)` | `Point` | Top top-left corner of the box |
+| `bottomRight` | `new Point(100,100)` | `Point` | Top top-left corner of the box |
+| `text` | `` | `string` | The text to place repeat along the box path |
+| `margin` | `15` | `number` | Controls the margin the box will apply |
+| `dy` | `4` | `number` | Controls how far the text will be located above the path |
+| `repeat` | `10` | `number` | The number of text repetitions. See [banner macro][banner] |
+| `spaces` | `12` | `number` | The number of spaces to place between repetitions. See [banner macro][banner] |
+
+## Notes
+
+Under the hood, this macro will [the banner macro][banner] to place the text on the box path.
+
+[banner]: /reference/macros/banner
diff --git a/markdown/dev/reference/macros/bartack/en.md b/markdown/dev/reference/macros/bartack/en.md
index 98aeb571a5c..6e94669c72b 100644
--- a/markdown/dev/reference/macros/bartack/en.md
+++ b/markdown/dev/reference/macros/bartack/en.md
@@ -3,7 +3,8 @@ title: bartack
---
The `bartack` macro allows you to add a _bartack_ marker to your sewing
-pattern. It is provided by the [bartack plugin](/reference/plugins/bartack/).
+pattern.
+It is provided by the [annotations plugin](/reference/plugins/annotations).
## Signature
diff --git a/markdown/dev/reference/macros/bartackalong/en.md b/markdown/dev/reference/macros/bartackalong/en.md
index e09b12c3489..5c53c8f43d9 100644
--- a/markdown/dev/reference/macros/bartackalong/en.md
+++ b/markdown/dev/reference/macros/bartackalong/en.md
@@ -4,7 +4,7 @@ title: bartackAlong
The `bartackAlong` macro allows you to add a _bartack_ marker to your sewing pattern.
More specifically, a bartack along a path.
-It is provided by the [bartack plugin](/reference/plugins/bartack/).
+It is provided by the [annotations plugin](/reference/plugins/annotations).
## Signature
diff --git a/markdown/dev/reference/macros/bartackfractionalong/en.md b/markdown/dev/reference/macros/bartackfractionalong/en.md
index 00dd1704b00..17e8ac90e67 100644
--- a/markdown/dev/reference/macros/bartackfractionalong/en.md
+++ b/markdown/dev/reference/macros/bartackfractionalong/en.md
@@ -3,8 +3,8 @@ title: bartackFractionAlong
---
The `bartackFractionAlong` macro allows you to add a _bartack_ marker to your
-sewing pattern. More specifically, a bartack along a fraction of a path. It
-is provided by the [bartack plugin](/reference/plugins/bartack/).
+sewing pattern. More specifically, a bartack along a fraction of a path.
+It is provided by the [annotations plugin](/reference/plugins/annotations).
## Signature
diff --git a/markdown/dev/reference/macros/cutonfold/en.md b/markdown/dev/reference/macros/cutonfold/en.md
index 8e34b584b1f..ba27e556ff3 100644
--- a/markdown/dev/reference/macros/cutonfold/en.md
+++ b/markdown/dev/reference/macros/cutonfold/en.md
@@ -3,7 +3,7 @@ title: cutonfold
---
The `cutonfold` macro adds a _cut on fold_ indicator to your pattern.
-It is provided by the [cutonfold plugin](/reference/plugins/cutonfold).
+It is provided by the [annotations plugin](/reference/plugins/annotations).
## Signature
diff --git a/markdown/dev/reference/macros/grainline/en.md b/markdown/dev/reference/macros/grainline/en.md
index 730c91e916d..4aa2653075e 100644
--- a/markdown/dev/reference/macros/grainline/en.md
+++ b/markdown/dev/reference/macros/grainline/en.md
@@ -3,7 +3,7 @@ title: grainline
---
The `grainline` macro adds a _grainline_ indicator to your pattern.
-It is provided by the [grainline plugin](/reference/plugins/grainline/).
+It is provided by the [annotations plugin](/reference/plugins/annotations).
## Signature
diff --git a/markdown/dev/reference/macros/hd/en.md b/markdown/dev/reference/macros/hd/en.md
index aa62b099786..729a8e908a2 100644
--- a/markdown/dev/reference/macros/hd/en.md
+++ b/markdown/dev/reference/macros/hd/en.md
@@ -3,7 +3,7 @@ title: hd
---
The `hd` macro adds a _horizontal dimension_ to your pattern.
-It is provided by the [dimension plugin](/reference/plugins/dimension/).
+It is provided by the [annotations plugin](/reference/plugins/annotations).
## Signature
diff --git a/markdown/dev/reference/macros/ld/en.md b/markdown/dev/reference/macros/ld/en.md
index 3fa4919a246..4963832a2e9 100644
--- a/markdown/dev/reference/macros/ld/en.md
+++ b/markdown/dev/reference/macros/ld/en.md
@@ -3,7 +3,7 @@ title: ld
---
The `ld` macro adds a _linear dimension_ to your pattern.
-It is provided by the [dimension plugin](/reference/plugins/dimension/).
+It is provided by the [annotations plugin](/reference/plugins/annotations).
## Signature
diff --git a/markdown/dev/reference/macros/miniscale/en.md b/markdown/dev/reference/macros/miniscale/en.md
index b3be680d972..b84e19744f6 100644
--- a/markdown/dev/reference/macros/miniscale/en.md
+++ b/markdown/dev/reference/macros/miniscale/en.md
@@ -7,7 +7,8 @@ users to verify their pattern is printed to scale.
The white inside of the box provides a metric scale, and the black outside
of the box provides an imperial scale.
-The `miniscale` macro is provided by the [scalebox plugin](/reference/plugins/scalebox).
+The `miniscale` macro is provided by the [annotations
+plugin](/reference/plugins/annotations).
It is the mini version of [the scalebox macro](/reference/macros/scalebox/).
## Signature
diff --git a/markdown/dev/reference/macros/mirror/en.md b/markdown/dev/reference/macros/mirror/en.md
index e9afd325e99..1c3cfb483dc 100644
--- a/markdown/dev/reference/macros/mirror/en.md
+++ b/markdown/dev/reference/macros/mirror/en.md
@@ -31,15 +31,18 @@ macro('mirror', {
paths.example = new Path()
.move(points.from)
.curve(points.cp1, points.cp2, points.to)
+
+ points.m1 = new Point(20,0)
+ points.m2 = new Point(20,20)
+ paths.mirror = new Path()
+ .move(points.m1)
+ .line(points.m2)
+ .addClass('stroke-xm dashed stroke-lining')
macro('mirror', {
clone: true,
- mirror: [
- new Point(20,10),
- new Point(20,20),
- ],
- paths: Object.values(paths),
- points: Object.values(points),
+ mirror: [ points.m1, points.m2 ],
+ paths: Object.keys(paths),
})
return part
@@ -56,7 +59,7 @@ macro('mirror', {
| `points` | | `array` | An array of pointnames, the names of Points in the `points` array to mirror |
| `paths` | | `array` | An array of pathnames, the names of Paths in the `paths` array to mirror |
| `prefix` | `mirrored` | `string` | A prefix to apply to the names of the clones points and or paths. Ignored if `nameFormat` is set |
-| `nameFormat` | | `function` | A method that receives the name of the path or point and should return the name for the cloned path and or point |
+| `nameFormat` | | `function` | A method that receives the name of the path or point as a first argument and one of `path` or `point` as the second argument and should return the name for the cloned path and or point |
## Result
diff --git a/markdown/dev/reference/macros/pd/en.md b/markdown/dev/reference/macros/pd/en.md
index 5b47aef89f6..e2c31492a15 100644
--- a/markdown/dev/reference/macros/pd/en.md
+++ b/markdown/dev/reference/macros/pd/en.md
@@ -3,8 +3,8 @@ title: pd
---
The `pd` macro adds a _path dimension_ to your pattern, indicating the length
-of a path. It is provided by the [dimension
-plugin](/reference/plugins/dimension/).
+of a path.
+It is provided by the [annotations plugin](/reference/plugins/annotations).
## Signature
diff --git a/markdown/dev/reference/macros/rmad/en.md b/markdown/dev/reference/macros/rmad/en.md
index 4dbff89ac09..5682686fcd7 100644
--- a/markdown/dev/reference/macros/rmad/en.md
+++ b/markdown/dev/reference/macros/rmad/en.md
@@ -3,8 +3,8 @@ title: rmad
---
The `rmad` macro removes all dimensions with the exception of those that were
-created with a custom ID. It is provided by the [dimension
-plugin](/reference/plugins/dimension/).
+created with a custom ID.
+It is provided by the [annotations plugin](/reference/plugins/annotations).
## Signature
diff --git a/markdown/dev/reference/macros/rmd/en.md b/markdown/dev/reference/macros/rmd/en.md
index 019eba4714d..8e2c14a81c7 100644
--- a/markdown/dev/reference/macros/rmd/en.md
+++ b/markdown/dev/reference/macros/rmd/en.md
@@ -3,7 +3,7 @@ title: rmd
---
The `rmd` macro removes a dimension.
-It is provided by the [dimension plugin](/reference/plugins/dimension/).
+It is provided by the [annotations plugin](/reference/plugins/annotations).
To be able to use this plugin, you need to give your dimension an id:
diff --git a/markdown/dev/reference/macros/scalebox/en.md b/markdown/dev/reference/macros/scalebox/en.md
index 5bd9125558f..51a7975776c 100644
--- a/markdown/dev/reference/macros/scalebox/en.md
+++ b/markdown/dev/reference/macros/scalebox/en.md
@@ -7,8 +7,8 @@ to verify their pattern is printed to scale.
The white inside of the box provides a metric scale, and the black outside
of the box provides an imperial scale.
-The `scalebox` macro is provided by the [scalebox
-plugin](/reference/plugins/scalebox).
+The `scalebox` macro is is provided by the [annotations
+plugin](/reference/plugins/annotations).
## Signature
diff --git a/markdown/dev/reference/macros/title/en.md b/markdown/dev/reference/macros/title/en.md
index 8f810e6a1c0..6c1049221b2 100644
--- a/markdown/dev/reference/macros/title/en.md
+++ b/markdown/dev/reference/macros/title/en.md
@@ -3,7 +3,7 @@ title: title
---
The `title` macro adds a title to a pattern part.
-It is provided by the [title plugin](/reference/plugins/title).
+It is provided by the [annotations plugin](/reference/plugins/annotations).
## Signature
diff --git a/markdown/dev/reference/macros/vd/en.md b/markdown/dev/reference/macros/vd/en.md
index 0fb43c9c383..3de16b78ed0 100644
--- a/markdown/dev/reference/macros/vd/en.md
+++ b/markdown/dev/reference/macros/vd/en.md
@@ -3,7 +3,7 @@ title: vd
---
The `vd` macro adds a _vertical dimension_ to your pattern.
-It is provided by the [dimension plugin](/reference/plugins/dimension/).
+It is provided by the [annotations plugin](/reference/plugins/annotations).
## Signature
diff --git a/markdown/dev/reference/plugins/annotations/en.md b/markdown/dev/reference/plugins/annotations/en.md
new file mode 100644
index 00000000000..189ba9e1f1b
--- /dev/null
+++ b/markdown/dev/reference/plugins/annotations/en.md
@@ -0,0 +1,61 @@
+---
+title: plugin-annotations
+---
+
+Published as [@freesewing/plugin-annotations][1], this plugin provides a
+variety of macros and snippets to annotate designs.
+
+The annotations plugin provides the following snippets:
+
+- [button](/reference/snippets/button)
+- [buttonhole](/reference/snippets/button)
+- [buttonhole-start](/reference/snippets/button)
+- [buttonhole-end](/reference/snippets/button)
+- [logo](/reference/snippets/logo)
+- [notch](/reference/snippets/button)
+- [bnotch](/reference/snippets/button)
+
+The annotations plugin provides the following macros:
+
+- [banner](/reference/macros/banner)
+- [bannerbox](/reference/macros/bannerbox)
+- [bartack](/reference/macros/bartack)
+- [bartackAlong](/reference/macros/bartackalong)
+- [bartackFractionAlong](/reference/macros/bartackfractionalong)
+- [crossbox](/reference/macros/crossbox)
+- [cutonfold](/reference/macros/cutonfold)
+- [hd](/reference/macros/hd)
+- [ld](/reference/macros/ld)
+- [rmad](/reference/macros/rmad)
+- [rmd](/reference/macros/rmd)
+- [pd](/reference/macros/pd)
+- [pleat](/reference/macros/pleat)
+- [scalebox](/reference/macros/scalebox)
+- [sewTogether](/reference/macros/setogether)
+- [title](/reference/macros/title)
+- [vd](/reference/macros/vd)
+
+## Installation
+
+```sh
+npm install @freesewing/plugin-annotations
+```
+
+## Usage
+
+Either [add it as a part plugin](/reference/api/part/config/plugins) in your
+design, or [add it to a pattern instance with
+Pattern.use()](/reference/api/pattern/use).
+
+To import the plugin for use:
+```js
+import { annotationsPlugin } from '@freesewing/plugin-banner'
+// or
+import { pluginAnnotations } from '@freesewing/plugin-banner'
+```
+
+## Notes
+
+The annotations plugin is part of our [plugin-bundle](/reference/plugins/bundle)
+
+[1]: https://www.npmjs.com/package/@freesewing/plugin-annotations
diff --git a/markdown/dev/reference/plugins/banner/en.md b/markdown/dev/reference/plugins/banner/en.md
deleted file mode 100644
index b2c05f68beb..00000000000
--- a/markdown/dev/reference/plugins/banner/en.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: plugin-banner
----
-
-Published as [@freesewing/plugin-banner][1], this plugin provides [the banner
-macro](/reference/macros/banner) which allows you to add repeating text
-along a path.
-
-## Installation
-
-```sh
-npm install @freesewing/plugin-banner
-```
-
-## Usage
-
-Either [add it as a part plugins](/reference/api/part/config/plugins) in your
-design, or [add it to a pattern instance with
-Pattern.use()](/reference/api/pattern/use).
-
-To import the plugin for use:
-```js
-import { bannerPlugin } from '@freesewing/plugin-banner'
-// or
-import { pluginBanner } from '@freesewing/plugin-banner'
-```
-
-## Notes
-
-The banner plugin is part of our [plugin-bundle](/reference/plugins/bundle)
-
-[1]: https://www.npmjs.com/package/@freesewing/plugin-banner
diff --git a/markdown/dev/reference/plugins/bartack/en.md b/markdown/dev/reference/plugins/bartack/en.md
deleted file mode 100644
index 9647cebe8f5..00000000000
--- a/markdown/dev/reference/plugins/bartack/en.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: plugin-bartack
----
-
-Published as [@freesewing/plugin-bartack][1], this plugin provides
-the [bartack](/reference/macros/bartack),
-[bartackAlong](/reference/macros/bartackalong), and
-the [bartackFractionAlong](/reference/macros/bartackfractionalong) macros
-which allows you to add bartacks β a set
-of tight zig-zag stitches used to enforce a seam β to your design.
-
-## Installation
-
-```sh
-npm install @freesewing/plugin-bartack
-```
-
-## Usage
-
-Either [add it as a part plugins](/reference/api/part/config/plugins) in your
-design, or [add it to a pattern instance with
-Pattern.use()](/reference/api/pattern/use).
-
-To import the plugin for use:
-```js
-import { bartackPlugin } from '@freesewing/plugin-bartack'
-// or
-import { pluginBartack } from '@freesewing/plugin-bartack'
-```
-
-## Notes
-
-The bartack plugin is part of our [plugin-bundle](/reference/plugins/bundle)
-
-[1]: https://www.npmjs.com/package/@freesewing/plugin-bartack
diff --git a/markdown/dev/reference/plugins/buttons/en.md b/markdown/dev/reference/plugins/buttons/en.md
deleted file mode 100644
index c55d99ba9ee..00000000000
--- a/markdown/dev/reference/plugins/buttons/en.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: plugin-buttons
----
-
-Published as [@freesewing/plugin-buttons][1], this plugin provides the following
-[snippets](/reference/snippets):
-
-- [button](/reference/snippets/button)
-- [buttonhole](/reference/snippets/buttonhole)
-- [buttonhole-start](/reference/snippets/buttonhole-start)
-- [buttonhole-end](/reference/snippets/buttonhole-end)
-- [snap-stud](/reference/snippets/snap-stud)
-- [snap-socket](/reference/snippets/snap-socket)
-
-## Installation
-
-```sh
-npm install @freesewing/plugin-buttons
-```
-
-## Usage
-
-Either [add it as a part plugins](/reference/api/part/config/plugins) in your
-design, or [add it to a pattern instance with
-Pattern.use()](/reference/api/pattern/use).
-
-To import the plugin for use:
-```js
-import { buttonsPlugin } from '@freesewing/plugin-buttons'
-// or
-import { pluginButtons } from '@freesewing/plugin-buttons'
-```
-
-## Notes
-
-The buttons plugin is part of our [plugin-bundle](/reference/plugins/bundle)
-
-[1]: https://www.npmjs.com/package/@freesewing/plugin-buttons
diff --git a/markdown/dev/reference/plugins/cutonfold/en.md b/markdown/dev/reference/plugins/cutonfold/en.md
deleted file mode 100644
index 05817416009..00000000000
--- a/markdown/dev/reference/plugins/cutonfold/en.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: plugin-cutonfold
----
-
-Published as [@freesewing/plugin-cutonfold][1], this plugin provides [the
-cutonfold macro](/reference/macros/cutonfold) which adds a _cut on fold_
-indicator to your design.
-
-## Installation
-
-```sh
-npm install @freesewing/plugin-cutonfold
-```
-
-## Usage
-
-Either [add it as a part plugins](/reference/api/part/config/plugins) in your
-design, or [add it to a pattern instance with
-Pattern.use()](/reference/api/pattern/use).
-
-To import the plugin for use:
-```js
-import { cutonfoldPlugin } from '@freesewing/plugin-cutonfold'
-// or
-import { pluginCutonfold } from '@freesewing/plugin-cutonfold'
-```
-
-## Notes
-
-The cutonfold plugin is part of our [plugin-bundle](/reference/plugins/bundle)
-
-[1]: https://www.npmjs.com/package/@freesewing/plugin-cutonfold
diff --git a/markdown/dev/reference/plugins/dimension/en.md b/markdown/dev/reference/plugins/dimension/en.md
deleted file mode 100644
index c5e58a323ba..00000000000
--- a/markdown/dev/reference/plugins/dimension/en.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: plugin-dimension
----
-
-Published as [@freesewing/plugin-dimension][1], this plugin provides the
-following macros:
-
-- [hd](/reference/macros/hd) : Adds a horizontal dimension
-- [vd](/reference/macros/vd) : Adds a vertical dimension
-- [ld](/reference/macros/ld) : Adds a linear dimension
-- [pd](/reference/macros/pd) : Adds a dimension along a path
-- [rmd](/reference/macros/rmd) : Removes a dimension
-- [rmad](/reference/macros/rmad) : Removes all dimensions with a default prefix
-
-## Installation
-
-```sh
-npm install @freesewing/plugin-dimension
-```
-
-## Usage
-
-Either [add it as a part plugins](/reference/api/part/config/plugins) in your
-design, or [add it to a pattern instance with
-Pattern.use()](/reference/api/pattern/use).
-
-To import the plugin for use:
-```js
-import { dimensionPlugin } from '@freesewing/plugin-dimension'
-// or
-import { pluginDimension } from '@freesewing/plugin-dimension'
-```
-
-## Notes
-
-The dimension plugin is part of our [plugin-bundle](/reference/plugins/bundle)
-
-[1]: https://www.npmjs.com/package/@freesewing/plugin-dimension
diff --git a/markdown/dev/reference/plugins/grainline/en.md b/markdown/dev/reference/plugins/grainline/en.md
deleted file mode 100644
index df86ac0d6b1..00000000000
--- a/markdown/dev/reference/plugins/grainline/en.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: plugin-grainline
----
-
-Published as [@freesewing/plugin-grainline][1], this plugin provides [the
-grainline macro](/reference/macros/grainline) which adds a _grainline_
-indicator to your design.
-
-## Installation
-
-```sh
-npm install @freesewing/plugin-grainline
-```
-
-## Usage
-
-Either [add it as a part plugins](/reference/api/part/config/plugins) in your
-design, or [add it to a pattern instance with
-Pattern.use()](/reference/api/pattern/use).
-
-To import the plugin for use:
-```js
-import { grainlinePlugin } from '@freesewing/plugin-grainline'
-// or
-import { pluginGrainline } from '@freesewing/plugin-grainline'
-```
-
-## Notes
-
-The grainline plugin is part of our [plugin-bundle](/reference/plugins/bundle)
-
-[1]: https://www.npmjs.com/package/@freesewing/plugin-grainline
diff --git a/markdown/dev/reference/plugins/logo/en.md b/markdown/dev/reference/plugins/logo/en.md
deleted file mode 100644
index d930a3b78da..00000000000
--- a/markdown/dev/reference/plugins/logo/en.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: plugin-logo
----
-
-Published as [@freesewing/plugin-logo][1], this plugin provides [the logo
-macro](/reference/macros/logo) which adds FreeSewing's logo to your
-design.
-
-## Installation
-
-```sh
-npm install @freesewing/plugin-logo
-```
-
-## Usage
-
-Either [add it as a part plugins](/reference/api/part/config/plugins) in your
-design, or [add it to a pattern instance with
-Pattern.use()](/reference/api/pattern/use).
-
-To import the plugin for use:
-```js
-import { logoPlugin } from '@freesewing/plugin-logo'
-// or
-import { pluginLogo } from '@freesewing/plugin-logo'
-```
-
-## Notes
-
-The logo plugin is part of our [plugin-bundle](/reference/plugins/bundle)
-
-[1]: https://www.npmjs.com/package/@freesewing/plugin-logo
diff --git a/markdown/dev/reference/plugins/notches/en.md b/markdown/dev/reference/plugins/notches/en.md
deleted file mode 100644
index 78e8e696671..00000000000
--- a/markdown/dev/reference/plugins/notches/en.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: plugin-notches
----
-
-Published as [@freesewing/plugin-notches][1], this plugin provides the
-[notch](/reference/snippets/notch) and
-[bnotch](/reference/snippets/bnotch) snippets.
-
-## Installation
-
-```sh
-npm install @freesewing/plugin-notches
-```
-
-## Usage
-
-Either [add it as a part plugins](/reference/api/part/config/plugins) in your
-design, or [add it to a pattern instance with
-Pattern.use()](/reference/api/pattern/use).
-
-To import the plugin for use:
-```js
-import { notchesPlugin } from '@freesewing/plugin-notches'
-// or
-import { pluginNotches } from '@freesewing/plugin-notches'
-```
-
-## Notes
-
-The notches plugin is part of our [plugin-bundle](/reference/plugins/bundle)
-
-[1]: https://www.npmjs.com/package/@freesewing/plugin-notches
diff --git a/markdown/dev/reference/plugins/scalebox/en.md b/markdown/dev/reference/plugins/scalebox/en.md
deleted file mode 100644
index a3c6fe1d6a3..00000000000
--- a/markdown/dev/reference/plugins/scalebox/en.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: plugin-scalebox
----
-
-Published as [@freesewing/plugin-scalebox][1], this plugin provides the
-[scalebox](/reference/macros/scalebox) and
-[miniscale](/reference/macros/miniscale) macros which add a (mini) scalebox
-to your design, so users can verify that the pattern is printed at the correct
-scale.
-
-## Installation
-
-```sh
-npm install @freesewing/plugin-scalebox
-```
-
-## Usage
-
-Either [add it as a part plugins](/reference/api/part/config/plugins) in your
-design, or [add it to a pattern instance with
-Pattern.use()](/reference/api/pattern/use).
-
-To import the plugin for use:
-```js
-import { scaleboxPlugin } from '@freesewing/plugin-scalebox'
-// or
-import { pluginScalebox } from '@freesewing/plugin-scalebox'
-```
-
-## Notes
-
-This plugin by default includes FreeSewing branding, but you can
-override that when calling the `scalebox` macro in case you want to
-generate your own branded designs.
-
-The scalebox plugin is part of our [plugin-bundle](/reference/plugins/bundle)
-
-[1]: https://www.npmjs.com/package/@freesewing/plugin-scalebox
diff --git a/markdown/dev/reference/plugins/timing/en.md b/markdown/dev/reference/plugins/timing/en.md
new file mode 100644
index 00000000000..d2408efa5e9
--- /dev/null
+++ b/markdown/dev/reference/plugins/timing/en.md
@@ -0,0 +1,45 @@
+---
+title: plugin-timing
+---
+
+Published as [@freesewing/plugin-timing][1], this plugin measures
+detailed timing information while drafting a design and keeps it in the
+pattern store.
+
+It is intended to be used for developers trying to indicate which parts
+of their code are slow, or in general provide insights into the speed
+at which a design can be drafted.
+
+## Installation
+
+```sh
+npm install @freesewing/plugin-timing
+```
+
+## Usage
+
+Either [add it as a part plugins](/reference/api/part/config/plugins) in your
+design, or [add it to a pattern instance with
+Pattern.use()](/reference/api/pattern/use).
+
+To import the plugin for use:
+```js
+import { timingPlugin } from '@freesewing/plugin-mirror'
+// or
+import { pluginTiming } from '@freesewing/plugin-mirror'
+```
+
+
+
+##### Provide in-depth example
+
+This is currently not used, but that will change once v3 gets closer to release.
+At that point, we should provide an in-depth example here.
+
+
+
+## Notes
+
+The mirror plugin is part of our [plugin-bundle](/reference/plugins/bundle)
+
+[1]: https://www.npmjs.com/package/@freesewing/plugin-timing
diff --git a/markdown/dev/reference/plugins/title/en.md b/markdown/dev/reference/plugins/title/en.md
deleted file mode 100644
index 971b1f752b0..00000000000
--- a/markdown/dev/reference/plugins/title/en.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: plugin-title
----
-
-Published as [@freesewing/plugin-title][1], this plugin provides [the title
-macro](/reference/macros/title) which facilitates adding part titles to
-your designs.
-
-## Installation
-
-```sh
-npm install @freesewing/plugin-title
-```
-
-## Usage
-
-Either [add it as a part plugins](/reference/api/part/config/plugins) in your
-design, or [add it to a pattern instance with
-Pattern.use()](/reference/api/pattern/use).
-
-To import the plugin for use:
-```js
-import { titlePlugin } from '@freesewing/plugin-title'
-// or
-import { pluginTitle } from '@freesewing/plugin-title'
-```
-
-## Notes
-
-The title plugin is part of our [plugin-bundle](/reference/plugins/bundle)
-
-[1]: https://www.npmjs.com/package/@freesewing/plugin-title
diff --git a/markdown/dev/reference/snippets/bnotch/en.md b/markdown/dev/reference/snippets/bnotch/en.md
index 6e512dc71b2..2f2c70f2804 100644
--- a/markdown/dev/reference/snippets/bnotch/en.md
+++ b/markdown/dev/reference/snippets/bnotch/en.md
@@ -5,7 +5,7 @@ title: bnotch
The `bnotch` snippet is intended for notches at the back, or when you
need an alternative to the default `notch`.
-It is provided by [plugin-notches](/reference/plugins/notches/).
+It is provided by [plugin-annotations](/reference/plugins/annotations/).
## Example
diff --git a/markdown/dev/reference/snippets/button/en.md b/markdown/dev/reference/snippets/button/en.md
index 05d4c83e186..954b94b2cc8 100644
--- a/markdown/dev/reference/snippets/button/en.md
+++ b/markdown/dev/reference/snippets/button/en.md
@@ -4,7 +4,7 @@ title: button
The `button` snippet is used to mark button placement.
-It is provided by [plugin-buttons](/reference/plugins/buttons/).
+It is provided by [plugin-annotations](/reference/plugins/annotations/).
## Example
diff --git a/markdown/dev/reference/snippets/buttonhole-end/en.md b/markdown/dev/reference/snippets/buttonhole-end/en.md
index 6e0be75a478..543c6387b0f 100644
--- a/markdown/dev/reference/snippets/buttonhole-end/en.md
+++ b/markdown/dev/reference/snippets/buttonhole-end/en.md
@@ -6,7 +6,7 @@ The `buttonhole-end` snippet is used to mark buttonhole placement.
This particular snippet places the buttonhole's end on its
anchor point.
-It is provided by [plugin-buttons](/reference/plugins/buttons/).
+It is provided by [plugin-annotations](/reference/plugins/annotations/).
## Example
diff --git a/markdown/dev/reference/snippets/buttonhole-start/en.md b/markdown/dev/reference/snippets/buttonhole-start/en.md
index b46d5e3296e..5a3e703fe4d 100644
--- a/markdown/dev/reference/snippets/buttonhole-start/en.md
+++ b/markdown/dev/reference/snippets/buttonhole-start/en.md
@@ -6,7 +6,7 @@ The `buttonhole-start` snippet is used to mark buttonhole placement.
This particular snippet places the buttonhole's start on its
anchor point.
-It is provided by [plugin-buttons](/reference/plugins/buttons/).
+It is provided by [plugin-annotations](/reference/plugins/annotations/).
## Example
diff --git a/markdown/dev/reference/snippets/buttonhole/en.md b/markdown/dev/reference/snippets/buttonhole/en.md
index a164bf43e53..11e9a50e67a 100644
--- a/markdown/dev/reference/snippets/buttonhole/en.md
+++ b/markdown/dev/reference/snippets/buttonhole/en.md
@@ -6,7 +6,7 @@ The `buttonhole` snippet is used to mark buttonhole placement.
This particular snippet places the buttonhole centrally on its
anchor point.
-It is provided by [plugin-buttons](/reference/plugins/buttons/).
+It is provided by [plugin-annotations](/reference/plugins/annotations/).
## Example
diff --git a/markdown/dev/reference/snippets/logo/en.md b/markdown/dev/reference/snippets/logo/en.md
index 23fb96ef277..cd7965c73fc 100644
--- a/markdown/dev/reference/snippets/logo/en.md
+++ b/markdown/dev/reference/snippets/logo/en.md
@@ -4,7 +4,7 @@ title: logo
The `logo` snippet inserts the FreeSewing logo.
-It is provided by [plugin-logo](/reference/plugins/logo/).
+It is provided by [plugin-annotations](/reference/plugins/annotations/).
## Example
diff --git a/markdown/dev/reference/snippets/notch/en.md b/markdown/dev/reference/snippets/notch/en.md
index 5c7fcf1d57f..d33c5d01b27 100644
--- a/markdown/dev/reference/snippets/notch/en.md
+++ b/markdown/dev/reference/snippets/notch/en.md
@@ -4,7 +4,7 @@ title: notch
The `notch` snippet is intended for notches.
-It is provided by [plugin-notches](/reference/plugins/notches/).
+It is provided by [plugin-annotations](/reference/plugins/annotations/).
## Example
diff --git a/markdown/dev/reference/snippets/snap-socket/en.md b/markdown/dev/reference/snippets/snap-socket/en.md
index 9c965524057..f70df5f36cf 100644
--- a/markdown/dev/reference/snippets/snap-socket/en.md
+++ b/markdown/dev/reference/snippets/snap-socket/en.md
@@ -4,7 +4,7 @@ title: snap-socket
The `snap-socket` snippet is used to mark the socket part of a snap button.
-It is provided by [plugin-buttons](/reference/plugins/buttons/).
+It is provided by [plugin-annotations](/reference/plugins/annotations/).
## Example
diff --git a/markdown/dev/reference/snippets/snap-stud/en.md b/markdown/dev/reference/snippets/snap-stud/en.md
index f5b2a72e4c7..239a9129d5e 100644
--- a/markdown/dev/reference/snippets/snap-stud/en.md
+++ b/markdown/dev/reference/snippets/snap-stud/en.md
@@ -4,7 +4,7 @@ title: snap-stud
The `snap-stud` snippet is used to mark the stud part of a snap button.
-It is provided by [plugin-buttons](/reference/plugins/buttons/).
+It is provided by [plugin-annotations](/reference/plugins/annotations/).
## Example
diff --git a/markdown/org/docs/patterns/bee/fr.md b/markdown/org/docs/patterns/bee/fr.md
index 620e4d1a4b8..5d4aad28108 100644
--- a/markdown/org/docs/patterns/bee/fr.md
+++ b/markdown/org/docs/patterns/bee/fr.md
@@ -1,5 +1,5 @@
- - -
-title: "Bee bikini top"
+titre: "Haut de bikini Bee"
- - -
diff --git a/markdown/org/docs/patterns/bee/options/bandtiecolours/fr.md b/markdown/org/docs/patterns/bee/options/bandtiecolours/fr.md
index 175e4cb0a45..858c02d3ff4 100644
--- a/markdown/org/docs/patterns/bee/options/bandtiecolours/fr.md
+++ b/markdown/org/docs/patterns/bee/options/bandtiecolours/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Band (chest) tie length colours"
+titre: Couleurs de la bande (sous poitrine)
- - -
***
-Whether you want single color tie around your chest, or dual-coloured ones
+Que vous vouliez une seule couleur autour de votre poitrine, ou une teinte bicolore
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/bandtieends/fr.md b/markdown/org/docs/patterns/bee/options/bandtieends/fr.md
index 0092da5a814..061280cad84 100644
--- a/markdown/org/docs/patterns/bee/options/bandtieends/fr.md
+++ b/markdown/org/docs/patterns/bee/options/bandtieends/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Band (chest) tie ends"
+titre : "Attaches de bande (de poitrine)"
- - -
***
-Whether you like straight or pointy ends on the tie around your chest
+Que vous aimiez les extrΓ©mitΓ©s droites ou pointues de la bande autour de votre poitrine
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/bandtielength/fr.md b/markdown/org/docs/patterns/bee/options/bandtielength/fr.md
index 180d457288d..47308f7c148 100644
--- a/markdown/org/docs/patterns/bee/options/bandtielength/fr.md
+++ b/markdown/org/docs/patterns/bee/options/bandtielength/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Band (chest) tie length"
+titre : "Longueur de la bande (poitrine)"
- - -
***
-Controls the length of the tie around your chest
+ContrΓ΄le la longueur des bandes autour de votre poitrine
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/bandtiewidth/fr.md b/markdown/org/docs/patterns/bee/options/bandtiewidth/fr.md
index 7def834485f..ef9025abe18 100644
--- a/markdown/org/docs/patterns/bee/options/bandtiewidth/fr.md
+++ b/markdown/org/docs/patterns/bee/options/bandtiewidth/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Band (chest) tie width"
+titre : "Largeur de la bande (poitrine)"
- - -
***
-Controls the width of the tie/band around your chest
+ContrΓ΄le la largeur des bandes autour de votre poitrine
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/bellaguide/fr.md b/markdown/org/docs/patterns/bee/options/bellaguide/fr.md
index b9406231801..97404686e20 100644
--- a/markdown/org/docs/patterns/bee/options/bellaguide/fr.md
+++ b/markdown/org/docs/patterns/bee/options/bellaguide/fr.md
@@ -1,19 +1,19 @@
- - -
-title: "Show Bella"
+titre: "Voir Bella"
- - -
***
-Shows the outline of the Bella block Bee is based on
+Montre le contour du bloc Bella sur lequel Bee est basΓ©
-This is to help give context to the other options of Bee especially when using the fit options
+Il s'agit de donner un contexte aux autres options de Bee, en particulier lors de l'utilisation des options d'ajustement
-It is recommended to have this on when adjusting the options for this pattern but also to turn it off before printing
+Il est recommandΓ© d'activer cette option lors du rΓ©glage des options de ce motif, mais aussi de la dΓ©sactiver avant l'impression
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bee/options/bottomcupdepth/fr.md b/markdown/org/docs/patterns/bee/options/bottomcupdepth/fr.md
index f2ffe093587..c6dbd645457 100644
--- a/markdown/org/docs/patterns/bee/options/bottomcupdepth/fr.md
+++ b/markdown/org/docs/patterns/bee/options/bottomcupdepth/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Bottom depth"
+title: "Profondeur vers le bas"
- - -
***
-Controls how far the bikini cup extends downwards
+ContrΓ΄le la longueur du bikini vers le bas
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/bustspanease/fr.md b/markdown/org/docs/patterns/bee/options/bustspanease/fr.md
index b059124bc32..5dc9061a228 100644
--- a/markdown/org/docs/patterns/bee/options/bustspanease/fr.md
+++ b/markdown/org/docs/patterns/bee/options/bustspanease/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Bust span ease"
+titre : "FacilitΓ© de l'aisance du buste"
- - -
***
-Controls the bust span ease in the underlying Bella block Bee is based on
+ContrΓ΄le l'aisance de l'Γ©cart de poitrine dans le bloc Bella sur lequel est basΓ© Bee
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/chestease/fr.md b/markdown/org/docs/patterns/bee/options/chestease/fr.md
index 6c09004b628..6b4a3fa770d 100644
--- a/markdown/org/docs/patterns/bee/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/bee/options/chestease/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Chest ease"
+titre : "aisance thoracique"
- - -
***
-Controls the chest ease in the underlying Bella block Bee is based on
+ContrΓ΄le l'aisance de la poitrine dans le bloc de Bella sur lequel est basΓ© Bee
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/crossbackties/fr.md b/markdown/org/docs/patterns/bee/options/crossbackties/fr.md
index 76c977ba3d8..76254e0f1df 100644
--- a/markdown/org/docs/patterns/bee/options/crossbackties/fr.md
+++ b/markdown/org/docs/patterns/bee/options/crossbackties/fr.md
@@ -1,27 +1,27 @@
- - -
-title: "Cross back ties"
+titre: "Lacets croisΓ©s"
- - -
***
-A variation of Bee, where the neck ties cross and tie in the back by looping into a band that replaces the band tie
+Une variante de Bee, oΓΉ les lacets du cou et les bandes se croisent et se nouent dans le dos en formant une boucle qui remplace le bandeau
-#### Default
+#### Par dΓ©faut
-- 2 neck ties
-- 1 band tie
+- 2 attaches du cou
+- 1 bande
-The neck ties are sewn into the cups and tie at the neck like a halter.
-The band tie is thread through casings in the cups and ties with itself at the back
+Les liens de cou sont cousus dans les bonnets et se nouent au cou comme un licou.
+Le lien de la bande est enfilΓ© dans les bonnets et se noue dans le dos
-#### Cross Back Ties
+#### Lacets croisΓ©s
-- 2 neck ties
-- No band tie
+- 2 attaches du cou
+- Pas de bande
-The band tie and casing on the cups are replaced by a band which is sewn with loops in the back.
-The neck ties are longer and cross over each other in the back, then go through the loops in the band and then tie with one another.
+La bande et l'enveloppe des bonnets sont remplacΓ©s par une bande cousue avec des boucles dans le dos.
+Les attaches de cou sont plus longues et se croisent dans le dos, puis passent dans les boucles de la bande et se nouent l'une Γ l'autre.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bee/options/fr.md b/markdown/org/docs/patterns/bee/options/fr.md
index 7b8598640ec..2cb5f4dd6dd 100644
--- a/markdown/org/docs/patterns/bee/options/fr.md
+++ b/markdown/org/docs/patterns/bee/options/fr.md
@@ -1,5 +1,5 @@
- - -
-title: "Bee bikini top: Design Options"
+titre: "Haut de bikini Bee: Options de conception"
- - -
diff --git a/markdown/org/docs/patterns/bee/options/frontarmholepitchdepth/fr.md b/markdown/org/docs/patterns/bee/options/frontarmholepitchdepth/fr.md
index 1061d105c98..9f506d0438b 100644
--- a/markdown/org/docs/patterns/bee/options/frontarmholepitchdepth/fr.md
+++ b/markdown/org/docs/patterns/bee/options/frontarmholepitchdepth/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Front armhole pitch depth (Bella)"
+titre : "Profondeur de l'emmanchure avant (Bella)"
- - -
***
-Controls the front armhole pitch depth in the underlying Bella block Bee is based on
+ContrΓ΄le la profondeur de l'emmanchure dans le bloc Bella sur lequel est basΓ© le patron Bee
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/frontcurve/fr.md b/markdown/org/docs/patterns/bee/options/frontcurve/fr.md
index 47317343c3d..7188e8fbfa6 100644
--- a/markdown/org/docs/patterns/bee/options/frontcurve/fr.md
+++ b/markdown/org/docs/patterns/bee/options/frontcurve/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Front curve"
+titre: "Courbe avant"
- - -
***
-Controls the curvature of the front of the bikini cup
+ContrΓ΄le la courbure du devant du bikini
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/frontshoulderwidth/fr.md b/markdown/org/docs/patterns/bee/options/frontshoulderwidth/fr.md
index 057579b60c3..2a5bf7cff04 100644
--- a/markdown/org/docs/patterns/bee/options/frontshoulderwidth/fr.md
+++ b/markdown/org/docs/patterns/bee/options/frontshoulderwidth/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Front shoulder width (Bella)"
+titre : "Largeur des Γ©paules Γ l'avant (Bella)"
- - -
***
-Controls the front shoulder width in the underlying Bella block Bee is based on
+ContrΓ΄le la largeur de l'Γ©paule avant dans le bloc Bella sur lequel est bΓ©se le patron Bee
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/fullchesteasereduction/fr.md b/markdown/org/docs/patterns/bee/options/fullchesteasereduction/fr.md
index 3fa93eba377..5b8580382ad 100644
--- a/markdown/org/docs/patterns/bee/options/fullchesteasereduction/fr.md
+++ b/markdown/org/docs/patterns/bee/options/fullchesteasereduction/fr.md
@@ -1,11 +1,11 @@
---
-title: "Full chest reduction (Bella)"
+title: "RΓ©duction de la poitrine (Bella)"
---
***
-Controls the full chest reduction in the underlying Bella block Bee is based on
+ContrΓ΄le la rΓ©duction du thorax dans le bloc Bella sur lequel est basΓ© Bee
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/bee/options/highbustwidth/fr.md b/markdown/org/docs/patterns/bee/options/highbustwidth/fr.md
index a4ea178e45e..84087e7a914 100644
--- a/markdown/org/docs/patterns/bee/options/highbustwidth/fr.md
+++ b/markdown/org/docs/patterns/bee/options/highbustwidth/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "High bust width (Bella)"
+titre : "Largeur de buste (Bella)"
- - -
***
-Controls the high bust width in the underlying Bella block Bee is based on
+ContrΓ΄le la largeur du buste dans le bloc Bella sur lequel est basΓ© Bee
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/necktiecolours/fr.md b/markdown/org/docs/patterns/bee/options/necktiecolours/fr.md
index a1b9892aac0..9cfc83b6179 100644
--- a/markdown/org/docs/patterns/bee/options/necktiecolours/fr.md
+++ b/markdown/org/docs/patterns/bee/options/necktiecolours/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Neck tie colours"
+titre: "Couleurs de liens de cou "
- - -
***
-Whether you want single color ties around your neck, or dual-coloured ones
+Que vous vouliez une seule couleur autour de votre cou, ou des couleurs doubles
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/necktieends/fr.md b/markdown/org/docs/patterns/bee/options/necktieends/fr.md
index ab8e4788f6a..dab62566ddf 100644
--- a/markdown/org/docs/patterns/bee/options/necktieends/fr.md
+++ b/markdown/org/docs/patterns/bee/options/necktieends/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Neck tie ends"
+titre : "Les extrΓ©mitΓ©s des bandes de cou"
- - -
***
-Whether you like straight or pointy ends on the ties around your neck
+Que vous aimiez les extrΓ©mitΓ©s droites ou pointues sur les liens autour de votre cou
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/necktielength/fr.md b/markdown/org/docs/patterns/bee/options/necktielength/fr.md
index 3c32d355611..a03f2daa85e 100644
--- a/markdown/org/docs/patterns/bee/options/necktielength/fr.md
+++ b/markdown/org/docs/patterns/bee/options/necktielength/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Neck tie length"
+titre: "Longueur des liens de cou"
- - -
***
-Controls the length of the ties around your neck
+ContrΓ΄le la longueur des bandes autour de votre cou
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/necktiewidth/fr.md b/markdown/org/docs/patterns/bee/options/necktiewidth/fr.md
index 4be85825bdd..15203a673d5 100644
--- a/markdown/org/docs/patterns/bee/options/necktiewidth/fr.md
+++ b/markdown/org/docs/patterns/bee/options/necktiewidth/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Neck tie width"
+title: "Largeur des bandes du cou "
- - -
***
-Controls the width of the ties around your neck
+ContrΓ΄le la largeur des bandes autour de votre cou
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/shouldertoshoulderease/fr.md b/markdown/org/docs/patterns/bee/options/shouldertoshoulderease/fr.md
index 3522fd7a723..7053973b0d6 100644
--- a/markdown/org/docs/patterns/bee/options/shouldertoshoulderease/fr.md
+++ b/markdown/org/docs/patterns/bee/options/shouldertoshoulderease/fr.md
@@ -1,11 +1,11 @@
---
-title: "Shoulder to Shoulder ease (Bella)"
+title: "Aisance d'Γ©paules Γ Γ©paules (Bella)"
---
***
-Controls the shoulder to shoulder ease in the underlying Bella block Bee is based on.
+ContrΓ΄le l'aisance d'Γ©paule Γ Γ©paule dans le bloc Bella sur lequel est basΓ© le patron Bee.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/bee/options/sidecurve/fr.md b/markdown/org/docs/patterns/bee/options/sidecurve/fr.md
index 63847a6004e..019da5580e4 100644
--- a/markdown/org/docs/patterns/bee/options/sidecurve/fr.md
+++ b/markdown/org/docs/patterns/bee/options/sidecurve/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Side curve"
+titre : "Courbe latΓ©rale"
- - -
***
-Controls the curvature of the side of the bikini cup
+ContrΓ΄le la courbure du cΓ΄tΓ© du bonnet du bikini
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/sidedepth/fr.md b/markdown/org/docs/patterns/bee/options/sidedepth/fr.md
index dabadc28ab7..7584b259bde 100644
--- a/markdown/org/docs/patterns/bee/options/sidedepth/fr.md
+++ b/markdown/org/docs/patterns/bee/options/sidedepth/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Side depth"
+titre: "Profondeur latΓ©rale"
- - -
***
-Controls how far the bikini cup extends towards the side
+ContrΓ΄le jusqu'Γ quel point le bonnet du bikini se prolonge vers le cΓ΄tΓ©
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/ties/fr.md b/markdown/org/docs/patterns/bee/options/ties/fr.md
index d7b5dc3e314..f4b2cdbd96b 100644
--- a/markdown/org/docs/patterns/bee/options/ties/fr.md
+++ b/markdown/org/docs/patterns/bee/options/ties/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Ties"
+titre: "Les liens"
- - -
***
-Whether to includes ties, yes or no
+S'il faut inclure les liens, ou pas
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/topdepth/fr.md b/markdown/org/docs/patterns/bee/options/topdepth/fr.md
index e6b46bb21cb..7f4300ec894 100644
--- a/markdown/org/docs/patterns/bee/options/topdepth/fr.md
+++ b/markdown/org/docs/patterns/bee/options/topdepth/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Top Depth"
+titre: "Profondeur de la partie supΓ©rieure"
- - -
***
-Controls how far the bikini cup extends upwards
+ContrΓ΄le jusqu'Γ quel point le bonnet de bikini s'Γ©tend vers le haut
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bee/options/waistease/fr.md b/markdown/org/docs/patterns/bee/options/waistease/fr.md
index a2a29d26610..f2fa51f4d1e 100644
--- a/markdown/org/docs/patterns/bee/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/bee/options/waistease/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Waist ease"
+titre : "Aisance pour les hanches"
- - -
***
-Controls the waist ease in the underlying Bella block Bee is based on
+ContrΓ΄le l'aisance de la taille dans le bloc de Bella sur lequel est basΓ© Bee
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bella/fabric/fr.md b/markdown/org/docs/patterns/bella/fabric/fr.md
index 87a9d3159e7..e1e9e0e614b 100644
--- a/markdown/org/docs/patterns/bella/fabric/fr.md
+++ b/markdown/org/docs/patterns/bella/fabric/fr.md
@@ -1,10 +1,10 @@
- - -
-title: "Bella body block: Fabric Options"
+title: "Bloc du corps de Bella : Options du tissu"
- - -
-If you are making a default Bella 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 Bella with.
+Si vous rΓ©alisez Bella par dΓ©faut pour voir comment il vous va, nous vous recommandons d'utiliser un tissu tel que le **Calico (Mouseline)** ou un tissu moins cher qui correspond au drapΓ© et Γ l'Γ©lasticitΓ© du tissu avec lequel vous avez l'intention de rΓ©aliser une version finalisΓ©e de Bella.
-You can use scraps of fabrics from your stash so don't worry about buying fabric specifically for Bella.
+Vous pouvez utiliser des chutes de tissus de votre rΓ©serve, alors ne vous souciez pas d'acheter du tissu spΓ©cialement pour Bella.
diff --git a/markdown/org/docs/patterns/bella/fr.md b/markdown/org/docs/patterns/bella/fr.md
index 208b53e63f0..48c87a4759a 100644
--- a/markdown/org/docs/patterns/bella/fr.md
+++ b/markdown/org/docs/patterns/bella/fr.md
@@ -1,5 +1,5 @@
- - -
-title: "Bella body block"
+titre: "Bloc du corps de Bella"
- - -
diff --git a/markdown/org/docs/patterns/bella/instructions/fr.md b/markdown/org/docs/patterns/bella/instructions/fr.md
index b3cb27c4e5b..7cc220f9dca 100644
--- a/markdown/org/docs/patterns/bella/instructions/fr.md
+++ b/markdown/org/docs/patterns/bella/instructions/fr.md
@@ -1,5 +1,5 @@
- - -
-title: "Bella body block: Sewing Instructions"
+title: "Bloc du corps de Bella : Instructions de couture"
- - -
@@ -9,13 +9,13 @@ title: "Bella body block: Sewing Instructions"
Un bloc est une forme de base Γ partir de laquelle plusieurs patrons vont pouvoir Γͺtre Γ©laborΓ©s.
Ils sont parfois aussi appelΓ©s patrons de base, bien que les puristes soutiennent qu'un bloc et un patron de base sont des choses diffΓ©rentes.
-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 Bella block.
+Les blocs ne sont généralement pas réalisés tels quels mais servent plutôt de base à d'autres modèles. Les instructions ci-dessous n'abordent donc pas en détail les fermetures ou les finitions et concernent le bloc Bella par défaut.
-### Step 1: Mock-up Construction
+### Etape 1 : Construction de la maquette
-- Close the front bust and waist darts.
+- Fermez les pinces du buste et de la taille.
- Fermer les fléchettes arrière.
- Sew the front to the backs at the shoulders good sides together.
- Sew the front to the backs at the side seams good sides together.
@@ -26,43 +26,43 @@ If you are making adjustments you may wish to sew the seams wrong sides together
-### Step 2: Try it on
+### Γtape 2 : Essayez-le
-- 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.
+- Essayez-le et vΓ©rifiez la coupe en Γ©pinglant le dos tout en le portant.
+- Effectuez toutes les modifications et essayez Γ nouveau.
+- RΓ©pΓ©tez jusqu'Γ ce que vous soyez satisfait.
-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.
+Si vous n'avez personne pour vous aider Γ Γ©pingler, vous trouverez peut-Γͺtre plus facile de couper le devant en deux avec une marge de couture plutΓ΄t que sur un pli et de coudre la couture du dos pour pouvoir Γ©pingler le devant lors de l'essayage.
-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.
+Soyez attentif Γ tout ce que vous faites en portant la maquette : la tirez-vous vers le bas ? Ajustement permanent de l'Γ©paule ? ect... Ces Γ©lΓ©ments sont des signes indiquant que le modΓ¨le doit Γͺtre ajustΓ©.
-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.
+Il est parfois nΓ©cessaire de porter la maquette pendant un certain temps pour avoir une meilleure idΓ©e de la coupe, alors n'hΓ©sitez pas Γ vous promener avec pendant quelques heures.
-Remember to treat Bella as a basis rather than a final product, so adjust what you need to get the desired look.
-For instance:
+N'oubliez pas de considΓ©rer Bella comme une base plutΓ΄t que comme un produit final, et ajustez donc ce dont vous avez besoin pour obtenir l'aspect dΓ©sirΓ©.
+Par exemple :
-- Change the neck line
-- Add/change the closure allowances
-- Alter the dart placements
-- Add a collar
+- Modifier la ligne d'encolure
+- Ajouter/modifier les marges de fermeture
+- Modifier l'emplacement des pinces
+- Ajouter un col
-It is all up to you! Experiment and go forth!
+Tout dΓ©pend de vous ! ExpΓ©rimentez et allez-y !
-### Step 3: Make a paper pattern
+### Γtape 3 : CrΓ©er un modΓ¨le en papier
-- 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.
+- Une fois que vous Γͺtes satisfait de toutes vos modifications, retirer les Γ©pingles de votre maquette et crΓ©ez un modΓ¨le de papier Γ partir de celle-ci.
+- Vous disposez Γ prΓ©sent d'un modΓ¨le que vous pouvez utiliser pour produire un vΓͺtement.
-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.
+Si vous avez effectuΓ© des modifications, il est prΓ©fΓ©rable de crΓ©er un modΓ¨le en papier Γ partir de la maquette, car cela vous permettra de nettoyer les lignes et de disposer d'un modΓ¨le Γ partir duquel vous pourrez continuer Γ produire des vΓͺtements.
diff --git a/markdown/org/docs/patterns/bella/measurements/fr.md b/markdown/org/docs/patterns/bella/measurements/fr.md
index 40e5ec6cfde..611d4b49a17 100644
--- a/markdown/org/docs/patterns/bella/measurements/fr.md
+++ b/markdown/org/docs/patterns/bella/measurements/fr.md
@@ -1,5 +1,5 @@
- - -
-title: "Bella body block: Required Measurements"
+title: "Bloc du corps de Bella : Mesures requises"
- - -
diff --git a/markdown/org/docs/patterns/bella/needs/fr.md b/markdown/org/docs/patterns/bella/needs/fr.md
index d3cad3d9627..537a158ed44 100644
--- a/markdown/org/docs/patterns/bella/needs/fr.md
+++ b/markdown/org/docs/patterns/bella/needs/fr.md
@@ -1,13 +1,13 @@
- - -
-title: "Bella body block: What You Need"
+titre: "Bloc du corps de Bella : Ce dont tu as besoin"
- - -
-To make Bella, you will need the following:
+Pour faire Bella, vous aurez besoin des Γ©lΓ©ments suivants :
- Fourniture de base pour la couture
-- About 0.5 metres (0.6 yards) of a suitable fabric ([see Bella Fabric options](/docs/patterns/bella/fabric/))
+- Environ 0,5 mètre (0,6 yard) d'un tissu approprié ([voir Options de tissu Bella](/docs/patterns/bella/fabric/))
-This list is for a default Bella Block. If you have/are making changes to the block you may need to get additional items such as closures, binding etc.
+Cette liste est pour un bloc Bella par dΓ©faut. Si vous avez apportΓ© des modifications au bloc, vous devrez peut-Γͺtre vous procurer des Γ©lΓ©ments supplΓ©mentaires tels que des fermetures, des reliures, etc.
diff --git a/markdown/org/docs/patterns/bella/options/backdartheight/fr.md b/markdown/org/docs/patterns/bella/options/backdartheight/fr.md
index f5b487a279e..8f183f528dc 100644
--- a/markdown/org/docs/patterns/bella/options/backdartheight/fr.md
+++ b/markdown/org/docs/patterns/bella/options/backdartheight/fr.md
@@ -6,7 +6,7 @@ title: "Hauteur de pince dos"

-The **back dart height** option controls the height (length if you will) of the back dart.
+L'option **hauteur de la pince arrière** contrôle la hauteur (la longueur si vous voulez) de la pince arrière.
## Effet de cette option sur le motif
diff --git a/markdown/org/docs/patterns/bella/options/fr.md b/markdown/org/docs/patterns/bella/options/fr.md
index 367ca0d04a9..bcd1ac3c214 100644
--- a/markdown/org/docs/patterns/bella/options/fr.md
+++ b/markdown/org/docs/patterns/bella/options/fr.md
@@ -1,5 +1,5 @@
- - -
-title: "Bella body block: Design Options"
+titre : "Bloc de corps Bella : Options de conception"
- - -
diff --git a/markdown/org/docs/patterns/bella/options/frontarmholecurvature/fr.md b/markdown/org/docs/patterns/bella/options/frontarmholecurvature/fr.md
index 22e70e919f8..0d9aaaafb8d 100644
--- a/markdown/org/docs/patterns/bella/options/frontarmholecurvature/fr.md
+++ b/markdown/org/docs/patterns/bella/options/frontarmholecurvature/fr.md
@@ -6,6 +6,6 @@ title: "Front armhole curvature"
Controls how deep the armhole is scooped out at the front bottom
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/bella/options/fullchesteasereduction/fr.md b/markdown/org/docs/patterns/bella/options/fullchesteasereduction/fr.md
index aa03f3f68b0..c32608cbcbd 100644
--- a/markdown/org/docs/patterns/bella/options/fullchesteasereduction/fr.md
+++ b/markdown/org/docs/patterns/bella/options/fullchesteasereduction/fr.md
@@ -6,6 +6,6 @@ title: "Full chest ease reduction"
Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/bella/options/shouldertoshoulderease/fr.md b/markdown/org/docs/patterns/bella/options/shouldertoshoulderease/fr.md
index fac97982d13..d2ceabe59e4 100644
--- a/markdown/org/docs/patterns/bella/options/shouldertoshoulderease/fr.md
+++ b/markdown/org/docs/patterns/bella/options/shouldertoshoulderease/fr.md
@@ -4,6 +4,6 @@ title: Shoulder to Shoulder ease
Controls the amount of ease between your shoulders. Initially set to -.5% because Bella implements a block that is used in the industry.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/benjamin/cutting/fr.md b/markdown/org/docs/patterns/benjamin/cutting/fr.md
index 5e714ff44b1..d7d9ca17567 100644
--- a/markdown/org/docs/patterns/benjamin/cutting/fr.md
+++ b/markdown/org/docs/patterns/benjamin/cutting/fr.md
@@ -1,8 +1,8 @@
- - -
-title: "Benjamin bow tie: Cutting Instructions"
+titre : "NΕud papillon Benjamin : Instructions de coupe"
- - -
-Benjamin is a rather simple pattern, but your options will determine what needs to be cut out. Below are two typical layouts.
+Benjamin is a rather simple pattern, but your options will determine what needs to be cut out. Vous trouverez ci-dessous deux schΓ©mas types.
## Sans ruban d'ajustement
diff --git a/markdown/org/docs/patterns/benjamin/fabric/fr.md b/markdown/org/docs/patterns/benjamin/fabric/fr.md
index e0c2020cb56..f03504e2a8d 100644
--- a/markdown/org/docs/patterns/benjamin/fabric/fr.md
+++ b/markdown/org/docs/patterns/benjamin/fabric/fr.md
@@ -1,22 +1,22 @@
- - -
-title: "Benjamin bow tie: Fabric Options"
+titre : "NΕud papillon Benjamin : Options de tissu"
- - -
-The bow ties you find in the store are typically make out of silk or some imitation silk poly. So it will come as no surprise that those are good options. Any type of fabric that you like the pattern or looks of can become a candidate for a bow tie. The only real limitation is that the bow tie will have to be turned inside out through a tube that is only 2cm across. With some thicker fabrics, this will be a difficult proposition.
+Les nΕuds papillons que vous trouvez dans les magasins sont gΓ©nΓ©ralement en soie ou en imitation de soie. Il ne sera donc pas surprenant que ce soient de bonnes options. Any type of fabric that you like the pattern or looks of can become a candidate for a bow tie. The only real limitation is that the bow tie will have to be turned inside out through a tube that is only 2cm across. Avec des tissus plus Γ©pais, ce sera difficile.
Bow ties are more whimsical than normal ties, so having a fun pattern or loud colour is not as much of a problem as it would be with a regular tie.
-Silk and silk imitation is slippery and tricky to work with. This can be compensated for with a fusible interfacing.
+La soie et l'imitation de la soie est glissante et dΓ©licate Γ travailler. This can be compensated for with a fusible interfacing.
## Entoilage
-Depending on the fabric you chose for your bow tie, you will probably need interfacing. Interfacing comes in two main types: fusible and sew-in.
+Selon le tissu que vous avez choisi pour votre nΕud papillon, vous aurez probablement besoin d'entoilage. Interfacing comes in two main types: fusible and sew-in.
-The fusible variety has some adhesive attached to one side that is activated with the heat of your iron. This attaches the interfacing to the fabric and the two can then be used as one. Fusible interfacing can be a great option if your fabric allows the heat required, and you use a quality interfacing. Some lesser quality interfacings can have the adhesive detach, and this shows as bubbles on the fabric surface later on in the life of your bow tie. Good quality interfacings and correctly following the guidelines for adhering the interfacing will not present these problems.
+The fusible variety has some adhesive attached to one side that is activated with the heat of your iron. Cela fixe l'entoilage au tissu et les deux peuvent ensuite Γͺtre utilisΓ©s comme un seul. Fusible interfacing can be a great option if your fabric allows the heat required, and you use a quality interfacing. Some lesser quality interfacings can have the adhesive detach, and this shows as bubbles on the fabric surface later on in the life of your bow tie. Good quality interfacings and correctly following the guidelines for adhering the interfacing will not present these problems.
-Sew-in interfacing is sew into place before the fabric pieces are used. You attach the interfacing to the fabric by sewing the two together inside the seam allowance. If you use a seam allowance of 6mm, you will sew the interfacing at 3mm. Anything may work as a sew-in interfacing, including an extra layer of the same fabric.
+L'entoilage Γ coudre est cousu en place avant que les piΓ¨ces de tissu ne soient utilisΓ©es. You attach the interfacing to the fabric by sewing the two together inside the seam allowance. If you use a seam allowance of 6mm, you will sew the interfacing at 3mm. Tout peut faire office d'entoilage cousu, y compris une couche supplΓ©mentaire du mΓͺme tissu.
-The key part of the interfacing is to give your bow tie the structure you like. You can have a bow tie that stands proud and crisp. Or one that droops a bit at the tips. This is all about your preference.
+L'objectif principal de l'entoilage est de donner Γ votre nΕud papillon la structure que vous voulez. You can have a bow tie that stands proud and crisp. Ou un qui tombe un peu aux pointes. This is all about your preference.
It is good to experiment with the interfacing on a scrap piece of your fabric, specially with the fusible kind. You want to make sure you get the structure you like before committing it to your pattern pieces.
diff --git a/markdown/org/docs/patterns/benjamin/fr.md b/markdown/org/docs/patterns/benjamin/fr.md
index 94a0f45ace5..4fbfe5b9856 100644
--- a/markdown/org/docs/patterns/benjamin/fr.md
+++ b/markdown/org/docs/patterns/benjamin/fr.md
@@ -1,5 +1,5 @@
- - -
-title: "Benjamin bow tie"
+titre : "NΕud papillon Benjamin"
- - -
diff --git a/markdown/org/docs/patterns/benjamin/instructions/fr.md b/markdown/org/docs/patterns/benjamin/instructions/fr.md
index b4c8997abb6..2e7aa59c8ca 100644
--- a/markdown/org/docs/patterns/benjamin/instructions/fr.md
+++ b/markdown/org/docs/patterns/benjamin/instructions/fr.md
@@ -6,17 +6,17 @@ title: "Benjamin bow tie: Sewing Instructions"
### PrΓ©cision
-Since a bow tie is a rather small item, precission with sewing is key to a good result. Any slight difference between the upper and lower part of the bow will stand out. To get a great result I found it very helpful to trace the actual seam lines onto the interfacing and follow that while sewing.
+Comme un nΕud papillon est un objet assez petit, la prΓ©cision de la couture est la clΓ© d'un bon rΓ©sultat. Toute lΓ©gΓ¨re diffΓ©rence entre la partie supΓ©rieure et la partie infΓ©rieure du nΕud se verra. To get a great result I found it very helpful to trace the actual seam lines onto the interfacing and follow that while sewing.
### Pressez judicieusement
-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.
+Plus loin dans les Γ©tapes de construction, on vous demandera de repasser votre tissu. 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.
+C'est une bonne idΓ©e de faire des essais sur quelques morceaux de tissu avant de commencer. This will allow you to figure out what is a good heat setting for the fabric you are using.
### DΓ©terminez le sens du tissu
-This pattern includes a grain line. This grain line is mostly there to be used with the interfacing. Since each pattern piece is interfaced, the grain line of the fabric itself is not so important. You can even change this from the standard for more informal impressions.
+Ce patron comprend un sens de droit fil. This grain line is mostly there to be used with the interfacing. Since each pattern piece is interfaced, the grain line of the fabric itself is not so important. You can even change this from the standard for more informal impressions.
@@ -29,7 +29,7 @@ page on [Fabric grain](/docs/sewing/fabric-grain).
This pattern allows you to make a bow tie that is the right length for a certain neck size. It can also make one that has a ribbon and hardware that makes the bow tie adjustable to different neck sizes. This is useful if not all of your shirts have the same neck measurements, or if you sometimes like shirts with more ease in the neck.
-These ribbons can be found in the better haberdasheries or can be ordered online.
+Ces rubans peuvent Γͺtre trouvΓ©s dans les meilleures merceries ou peuvent Γͺtre commandΓ©s en ligne.
### Marge de couture
@@ -73,39 +73,39 @@ Once you have the tie right side out, make sure you push all the corners and sid
#### Γtape 5 : Fermeture
-
+
Now all that is left is closing the litle hole we used to turn the bow tie right side out. You can do this by hand with a slip stitch, or a ladder stitch. Or you can use the machine and stitch right at the edge of the band. Since this will normally be hidden by the collar of your shirt, it will not be all that obvious.
-Now give it one last press and admire your work.
+Maintenant donnez-lui un dernier coup de fer et admirez votre travail.
### Avec ruban d'ajustement
#### Γtape 2 : Attacher le ruban
-
+
-The first thing to do is to sew the adjustment ribbon to the shortest of the bow parts. The ribbon should be 290mm long. If it is different, you have to make sure that you align it such that the ribbon and short bow piece together are as long as the long bow piece.
+The first thing to do is to sew the adjustment ribbon to the shortest of the bow parts. Le ruban doit avoir une longueur de 290mm. If it is different, you have to make sure that you align it such that the ribbon and short bow piece together are as long as the long bow piece.
-Put right sides of the short bow piece and the ribbon together.
+Assemblez les cΓ΄tΓ©s droits du petit nΕud et du ruban.
-Now sew across the end to join the parts.
+Coudre alors jusqu'au bout pour assembler les pièces.
#### Γtape 3 : Assemblez les deux cΓ΄tΓ©s
-
+
-Lay both the parts of the medium bow on top of each other, right sides together. And lay the long bow on top of the ribbon and short bow part, also rights sides together.
+Poser les deux parties du nΕud moyen l'une sur l'autre, endroit contre endroit. And lay the long bow on top of the ribbon and short bow part, also rights sides together.
-Sew all along, but leave the short ends open. Through these openings we will turn the bow tie parts right side out.
+Cousez tout le long, mais laissez les extrΓ©mitΓ©s courtes ouvertes. Through these openings we will turn the bow tie parts right side out.
#### Γtape 4 : Retourner
-
+
Clip the seam allowance back in the usual spots and make little cuts to allow for a smooth curves.
-Then use the back of a large crochet hook, or some other appropriately long skinny object, to turn the two parts right-side-out through the ends. Start by gently pulling the two fabric pieces at the end of the bow apart. Then push the end of the bow up between the two pieces of fabric. Keep gently pushing while pulling the rest of the tie down over it. This can be a tedious procedure. Take your time and be gentle. It's easy to push too hard and rip stitches or fabric.
+Then use the back of a large crochet hook, or some other appropriately long skinny object, to turn the two parts right-side-out through the ends. Start by gently pulling the two fabric pieces at the end of the bow apart. Then push the end of the bow up between the two pieces of fabric. Keep gently pushing while pulling the rest of the tie down over it. Cela peut Γͺtre une procΓ©dure fastidieuse. Take your time and be gentle. Il est facile de pousser trop fort et de dΓ©chirer les points ou le tissu.
Once you have the part right side out, make sure you push all the corners and sides out before giving it a good press.
@@ -113,18 +113,18 @@ Do this with both parts.
#### Γtape 5 : Ajouter les accessoires d'ajustement
-Now we need to add the two pieces of hardware that make the bow tie adjustable. The oval looking piece will be attached to the part without the adjustment ribbon. And the piece with the T shaped attachment will go on the part with the ribbon.
+Now we need to add the two pieces of hardware that make the bow tie adjustable. La pièce ovale sera attachée à la pièce sans ruban d'ajustement. And the piece with the T shaped attachment will go on the part with the ribbon.
-First do the part without the ribbon. This is because the fabric tail of the ribbon piece will have to go through the oval part before sewing on its hardware. If you would do it in the other sequence, you may not be able to feed it through.
+D'abord faites la partie sans le ruban. This is because the fabric tail of the ribbon piece will have to go through the oval part before sewing on its hardware. Si vous le faisiez dans l'ordre inverse, vous ne pourriez peut-Γͺtre pas le passer.
-To finish the ends, we're going to fold the fabric in three steps:
+Pour terminer les extrΓ©mitΓ©s, nous allons plier le tissu en trois Γ©tapes :
-
+
-First we fold the side in under an angle. Then we fold the end over by just a small seam allowance, something like 5mm. Then we fold it over again, for about 1cm. Finally we stick the oval ring under this last fold and stitch across.
+Tout d'abord, on plie le cΓ΄tΓ© sous un angle. Then we fold the end over by just a small seam allowance, something like 5mm. Puis nous le plions Γ nouveau, pour environ 1cm. Enfin on place l'anneau ovale sous ce dernier pli et on coud.
Now feed the ribbon piece through the oval part and finish it the same way.
-Hook the T in one of the adjustment holes and your bow tie is done!
+Accrochez le T dans une des boucles d'ajustement et votre nΕud papillon est terminΓ© !
-
+
diff --git a/markdown/org/docs/patterns/benjamin/needs/fr.md b/markdown/org/docs/patterns/benjamin/needs/fr.md
index 1087785e5c4..00ad0feab17 100644
--- a/markdown/org/docs/patterns/benjamin/needs/fr.md
+++ b/markdown/org/docs/patterns/benjamin/needs/fr.md
@@ -2,9 +2,9 @@
title: "Benjamin bow tie: What You Need"
- - -
-To make Benjamin, you will need the following:
+Pour rΓ©aliser Benjamin, vous aurez besoin de :
- Fourniture de base pour la couture
-- About 0.5 meters (0.6 yards) of a suitable fabric ([see Fabric options](/docs/patterns/benjamin/fabric/)). Left over pieces of a recent project could work too.
+- Environ 0.5 mètres (0.6 yards) d'un tissu adapté ([voir Options de tissu](/docs/patterns/benjamin/fabric/)). Left over pieces of a recent project could work too.
- Environ la mΓͺme quantitΓ© d'entoilage
- Optionnellement : Ruban de rΓ©glage avec attaches et passant pour nΕud papillon
diff --git a/markdown/org/docs/patterns/benjamin/options/adjustmentribbon/fr.md b/markdown/org/docs/patterns/benjamin/options/adjustmentribbon/fr.md
index 643eaebebf3..79cc4504cb8 100644
--- a/markdown/org/docs/patterns/benjamin/options/adjustmentribbon/fr.md
+++ b/markdown/org/docs/patterns/benjamin/options/adjustmentribbon/fr.md
@@ -2,7 +2,7 @@
title: "Adjustment ribbon"
- - -
-
+
With Benjamin, you can make a traditional fixed size bow tie. And you can make one that incorporates an adjustment ribbon. These are ribbons and pieces of hardware that allow you to change the neck size of the bow tie. Very handy when you have shirts with different neck sizes, or if you have different ease in the collar for some.
@@ -14,4 +14,4 @@ C'est une excellente option si vous dΓ©cidez de faire un nΕud papillon pour que
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/benjamin/options/bowlength/fr.md b/markdown/org/docs/patterns/benjamin/options/bowlength/fr.md
index 450a161280e..8c1f8481f60 100644
--- a/markdown/org/docs/patterns/benjamin/options/bowlength/fr.md
+++ b/markdown/org/docs/patterns/benjamin/options/bowlength/fr.md
@@ -8,4 +8,4 @@ You can make wide bow ties, or narrow ones. This option allows you to change the
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/benjamin/options/bowstyle/fr.md b/markdown/org/docs/patterns/benjamin/options/bowstyle/fr.md
index fcae4add9ad..a4763522104 100644
--- a/markdown/org/docs/patterns/benjamin/options/bowstyle/fr.md
+++ b/markdown/org/docs/patterns/benjamin/options/bowstyle/fr.md
@@ -13,4 +13,4 @@ Benjamin allows you to make four different bow ties.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/benjamin/options/collarease/fr.md b/markdown/org/docs/patterns/benjamin/options/collarease/fr.md
index 557dc70912c..4617a09e762 100644
--- a/markdown/org/docs/patterns/benjamin/options/collarease/fr.md
+++ b/markdown/org/docs/patterns/benjamin/options/collarease/fr.md
@@ -12,4 +12,4 @@ Using the neck circumference is one part of getting a well-fitting bow tie. The
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/benjamin/options/endstyle/fr.md b/markdown/org/docs/patterns/benjamin/options/endstyle/fr.md
index 9c7c38c85e5..927f2538c65 100644
--- a/markdown/org/docs/patterns/benjamin/options/endstyle/fr.md
+++ b/markdown/org/docs/patterns/benjamin/options/endstyle/fr.md
@@ -12,4 +12,4 @@ In addition to having four different bow tie styles, each style can be individua
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/benjamin/options/knotwidth/fr.md b/markdown/org/docs/patterns/benjamin/options/knotwidth/fr.md
index 0e0b9ec2b09..47cb795ccc1 100644
--- a/markdown/org/docs/patterns/benjamin/options/knotwidth/fr.md
+++ b/markdown/org/docs/patterns/benjamin/options/knotwidth/fr.md
@@ -16,4 +16,4 @@ Avec le type carrΓ© de nΕud papillon, cette valeur dΓ©terminera Γ©galement la l
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/benjamin/options/ribbonwidth/fr.md b/markdown/org/docs/patterns/benjamin/options/ribbonwidth/fr.md
index 0d10fe40132..e9937a4edfc 100644
--- a/markdown/org/docs/patterns/benjamin/options/ribbonwidth/fr.md
+++ b/markdown/org/docs/patterns/benjamin/options/ribbonwidth/fr.md
@@ -6,6 +6,6 @@ title: "Ribbon width"
Width of the ribbon
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/benjamin/options/tipwidth/fr.md b/markdown/org/docs/patterns/benjamin/options/tipwidth/fr.md
index 092fb4fb861..9640707f412 100644
--- a/markdown/org/docs/patterns/benjamin/options/tipwidth/fr.md
+++ b/markdown/org/docs/patterns/benjamin/options/tipwidth/fr.md
@@ -16,4 +16,4 @@ Cette option est ignorΓ©e avec l'option de cravate carrΓ©e. Les nΕud papillon c
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/bent/options/acrossbackfactor/fr.md
index 9883ea425c7..4e0143f857e 100644
--- a/markdown/org/docs/patterns/bent/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/bent/options/acrossbackfactor/fr.md
@@ -6,4 +6,4 @@ Controls your across back width as a factor of your shoulder to shoulder measure
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/bent/options/armholedepthfactor/fr.md
index 821cb30f2b3..91df57359d5 100644
--- a/markdown/org/docs/patterns/bent/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/bent/options/armholedepthfactor/fr.md
@@ -6,4 +6,4 @@ This controls the depth of the armhole, which in turn influences the sleevecap w
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/backneckcutout/fr.md b/markdown/org/docs/patterns/bent/options/backneckcutout/fr.md
index b7aed080a3b..8ccbe390ba5 100644
--- a/markdown/org/docs/patterns/bent/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/bent/options/backneckcutout/fr.md
@@ -8,4 +8,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/bicepsease/fr.md b/markdown/org/docs/patterns/bent/options/bicepsease/fr.md
index e025b07c954..fe6fcec2783 100644
--- a/markdown/org/docs/patterns/bent/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/bent/options/bicepsease/fr.md
@@ -6,4 +6,4 @@ This option controls the ease at your upper arm/biceps.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/chestease/fr.md b/markdown/org/docs/patterns/bent/options/chestease/fr.md
index 74d7b81b450..0b075dd94bb 100644
--- a/markdown/org/docs/patterns/bent/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/bent/options/chestease/fr.md
@@ -6,4 +6,4 @@ The amount of ease at your chest.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/collarease/fr.md b/markdown/org/docs/patterns/bent/options/collarease/fr.md
index 601051b6db9..39860ecc5fc 100644
--- a/markdown/org/docs/patterns/bent/options/collarease/fr.md
+++ b/markdown/org/docs/patterns/bent/options/collarease/fr.md
@@ -6,4 +6,4 @@ The amount of ease at your neck/collar.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/cuffease/fr.md b/markdown/org/docs/patterns/bent/options/cuffease/fr.md
index bd9c3c8014a..9b4e593ae60 100644
--- a/markdown/org/docs/patterns/bent/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/bent/options/cuffease/fr.md
@@ -6,4 +6,4 @@ The amount of ease at your cuff/wrist.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/bent/options/draftforhighbust/fr.md
index 4ec621c6a9b..ed0bbe18b2e 100644
--- a/markdown/org/docs/patterns/bent/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/bent/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/bent/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/bent/options/frontarmholedeeper/fr.md
index 98afcb69d15..28364979191 100644
--- a/markdown/org/docs/patterns/bent/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/bent/options/frontarmholedeeper/fr.md
@@ -10,4 +10,4 @@ This options controls by how much.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/lengthbonus/fr.md b/markdown/org/docs/patterns/bent/options/lengthbonus/fr.md
index f147c11dd6a..8d266da5652 100644
--- a/markdown/org/docs/patterns/bent/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/bent/options/lengthbonus/fr.md
@@ -8,4 +8,4 @@ This option controls how far the block extend below your hips.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/s3armhole/fr.md b/markdown/org/docs/patterns/bent/options/s3armhole/fr.md
index f600ee5e395..d1a506c3c62 100644
--- a/markdown/org/docs/patterns/bent/options/s3armhole/fr.md
+++ b/markdown/org/docs/patterns/bent/options/s3armhole/fr.md
@@ -9,4 +9,4 @@ Controls the shoulder seam location on the armhole side.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/s3collar/fr.md b/markdown/org/docs/patterns/bent/options/s3collar/fr.md
index b7f355b354b..743754bf9b2 100644
--- a/markdown/org/docs/patterns/bent/options/s3collar/fr.md
+++ b/markdown/org/docs/patterns/bent/options/s3collar/fr.md
@@ -9,4 +9,4 @@ Controls the shoulder seam location on the collar side.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/shoulderease/fr.md b/markdown/org/docs/patterns/bent/options/shoulderease/fr.md
index d4deae1d384..53cb811a256 100644
--- a/markdown/org/docs/patterns/bent/options/shoulderease/fr.md
+++ b/markdown/org/docs/patterns/bent/options/shoulderease/fr.md
@@ -6,4 +6,4 @@ The amount of ease across the shoulders. When making a coat or jacket, you want
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/shoulderslopereduction/fr.md b/markdown/org/docs/patterns/bent/options/shoulderslopereduction/fr.md
index 0dd68623bed..3bd8a2f8b85 100644
--- a/markdown/org/docs/patterns/bent/options/shoulderslopereduction/fr.md
+++ b/markdown/org/docs/patterns/bent/options/shoulderslopereduction/fr.md
@@ -8,4 +8,4 @@ However, for jackets or coats, you may want to create more room at the shoulders
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/sleevebend/fr.md b/markdown/org/docs/patterns/bent/options/sleevebend/fr.md
index 919d733e1c5..d1053f9a169 100644
--- a/markdown/org/docs/patterns/bent/options/sleevebend/fr.md
+++ b/markdown/org/docs/patterns/bent/options/sleevebend/fr.md
@@ -6,4 +6,4 @@ The angle by which the sleeve bends at the elbow.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/sleevecapease/fr.md b/markdown/org/docs/patterns/bent/options/sleevecapease/fr.md
index 52c3d2b1c4e..ff1c0a57703 100644
--- a/markdown/org/docs/patterns/bent/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/bent/options/sleevecapease/fr.md
@@ -14,4 +14,4 @@ How much sleevecap ease do you want?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/sleevecapheight/fr.md b/markdown/org/docs/patterns/bent/options/sleevecapheight/fr.md
index c7574ec6d8e..4edfff01857 100644
--- a/markdown/org/docs/patterns/bent/options/sleevecapheight/fr.md
+++ b/markdown/org/docs/patterns/bent/options/sleevecapheight/fr.md
@@ -6,4 +6,4 @@ This factor controls the height of the sleevecap.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bent/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/bent/options/sleevelengthbonus/fr.md
index 03e0f4f0478..d90378e5dcd 100644
--- a/markdown/org/docs/patterns/bent/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/bent/options/sleevelengthbonus/fr.md
@@ -16,4 +16,4 @@ Veuillez prendre note de la valeur par dΓ©faut et utiliser cela comme base pour
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bob/options/headsize/fr.md b/markdown/org/docs/patterns/bob/options/headsize/fr.md
index 807dda8d175..1b5c781ec13 100644
--- a/markdown/org/docs/patterns/bob/options/headsize/fr.md
+++ b/markdown/org/docs/patterns/bob/options/headsize/fr.md
@@ -8,6 +8,6 @@ In our tutorial (this bib is what we use in our tutorial to show people the rope
But we feel that's a bit overkill for real-world use on our site, so we've made it an option.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/bob/options/lengthratio/fr.md b/markdown/org/docs/patterns/bob/options/lengthratio/fr.md
index 9ab00bb22a5..feb9b69823f 100644
--- a/markdown/org/docs/patterns/bob/options/lengthratio/fr.md
+++ b/markdown/org/docs/patterns/bob/options/lengthratio/fr.md
@@ -7,6 +7,6 @@ Controls the length of the bib.
- Increase the percentage to lengthen the bib.
- Decrease the percentage to shorten the bib.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/bob/options/neckratio/fr.md b/markdown/org/docs/patterns/bob/options/neckratio/fr.md
index e525a39932f..eadec10c7cb 100644
--- a/markdown/org/docs/patterns/bob/options/neckratio/fr.md
+++ b/markdown/org/docs/patterns/bob/options/neckratio/fr.md
@@ -7,6 +7,6 @@ Controls the size of the neck opening relative to the bib size. The bib size is
- Increase the percentage to widen the neck opening.
- Decrease the percentage to constrict the neck opening.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/bob/options/widthratio/fr.md b/markdown/org/docs/patterns/bob/options/widthratio/fr.md
index 3ab1d2a240a..83186ecbae5 100644
--- a/markdown/org/docs/patterns/bob/options/widthratio/fr.md
+++ b/markdown/org/docs/patterns/bob/options/widthratio/fr.md
@@ -7,6 +7,6 @@ Controls the width of the bib.
- Increase the percentage to widen the width of the bib.
- Decrease the precentage to constrict the width of the bib.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/breanna/options/acrossbackfactor/fr.md
index a954a30f009..0fdf33d70dc 100644
--- a/markdown/org/docs/patterns/breanna/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/acrossbackfactor/fr.md
@@ -6,4 +6,4 @@ Controls your across back width as a factor of your shoulder to shoulder measure
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/breanna/options/armholedepthfactor/fr.md
index ed9ef8cc169..10fcdb660e4 100644
--- a/markdown/org/docs/patterns/breanna/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/armholedepthfactor/fr.md
@@ -6,4 +6,4 @@ This option controls the depth of the armhole.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/backneckcutout/fr.md b/markdown/org/docs/patterns/breanna/options/backneckcutout/fr.md
index 0e682a0dc55..7bd937df3fb 100644
--- a/markdown/org/docs/patterns/breanna/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/backneckcutout/fr.md
@@ -6,4 +6,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/bicepsease/fr.md b/markdown/org/docs/patterns/breanna/options/bicepsease/fr.md
index 4955fb080f2..d7d6af0c8f8 100644
--- a/markdown/org/docs/patterns/breanna/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/bicepsease/fr.md
@@ -6,4 +6,4 @@ The amount of ease at your upper arm.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/chestease/fr.md b/markdown/org/docs/patterns/breanna/options/chestease/fr.md
index 09090f3c854..97489762e46 100644
--- a/markdown/org/docs/patterns/breanna/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/chestease/fr.md
@@ -6,4 +6,4 @@ This option controls the ease at your chest.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/collarease/fr.md b/markdown/org/docs/patterns/breanna/options/collarease/fr.md
index 732f6def396..4ff7afd96f5 100644
--- a/markdown/org/docs/patterns/breanna/options/collarease/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/collarease/fr.md
@@ -6,4 +6,4 @@ Controls the amount of ease at your collar/neck.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/cuffease/fr.md b/markdown/org/docs/patterns/breanna/options/cuffease/fr.md
index a4918733bb6..0e287dcefdb 100644
--- a/markdown/org/docs/patterns/breanna/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/cuffease/fr.md
@@ -6,4 +6,4 @@ This option controls the ease at your wrist.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/breanna/options/frontarmholedeeper/fr.md
index 4c5a1adb397..7c163d4b196 100644
--- a/markdown/org/docs/patterns/breanna/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/frontarmholedeeper/fr.md
@@ -8,4 +8,4 @@ Since the human shoulder is more rounded at the front of the body, the sleeve(ca
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/frontscyedart/fr.md b/markdown/org/docs/patterns/breanna/options/frontscyedart/fr.md
index 24581022d37..5de8d7620ae 100644
--- a/markdown/org/docs/patterns/breanna/options/frontscyedart/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/frontscyedart/fr.md
@@ -6,4 +6,4 @@ The amount to take out in a dart at the front of the armhole.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/primarybustdart/fr.md b/markdown/org/docs/patterns/breanna/options/primarybustdart/fr.md
index 27e8c77ea17..361b5cb479f 100644
--- a/markdown/org/docs/patterns/breanna/options/primarybustdart/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/primarybustdart/fr.md
@@ -6,4 +6,4 @@ Where to place the primary bust dart to shape the chest.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/primarybustdartlength/fr.md b/markdown/org/docs/patterns/breanna/options/primarybustdartlength/fr.md
index d4ff562b2d4..3604fa009e9 100644
--- a/markdown/org/docs/patterns/breanna/options/primarybustdartlength/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/primarybustdartlength/fr.md
@@ -6,4 +6,4 @@ The length of the primary bust dart.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/primarybustdartshaping/fr.md b/markdown/org/docs/patterns/breanna/options/primarybustdartshaping/fr.md
index 375ba485f3a..ec69d3259ab 100644
--- a/markdown/org/docs/patterns/breanna/options/primarybustdartshaping/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/primarybustdartshaping/fr.md
@@ -6,4 +6,4 @@ Controls the balance between the primary and secondary bust darts.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/secondarybustdart/fr.md b/markdown/org/docs/patterns/breanna/options/secondarybustdart/fr.md
index a462dfb0e88..bb41688e00a 100644
--- a/markdown/org/docs/patterns/breanna/options/secondarybustdart/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/secondarybustdart/fr.md
@@ -6,4 +6,4 @@ Optionally include a secondary bust dart to distribute the shaping of the chest.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/secondarybustdartlength/fr.md b/markdown/org/docs/patterns/breanna/options/secondarybustdartlength/fr.md
index 173dd4b7b7f..d6695e4cd2b 100644
--- a/markdown/org/docs/patterns/breanna/options/secondarybustdartlength/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/secondarybustdartlength/fr.md
@@ -6,4 +6,4 @@ The length of the secondary bust dart.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/shoulderdart/fr.md b/markdown/org/docs/patterns/breanna/options/shoulderdart/fr.md
index 208cbf889b2..ba46ab87157 100644
--- a/markdown/org/docs/patterns/breanna/options/shoulderdart/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/shoulderdart/fr.md
@@ -6,4 +6,4 @@ Whether or not to inlude a back shoulder dart to round the back.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/shoulderdartlength/fr.md b/markdown/org/docs/patterns/breanna/options/shoulderdartlength/fr.md
index ab0f5b60961..ef4958cd3b5 100644
--- a/markdown/org/docs/patterns/breanna/options/shoulderdartlength/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/shoulderdartlength/fr.md
@@ -6,4 +6,4 @@ The length of the back shoulder dart.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/shoulderdartsize/fr.md b/markdown/org/docs/patterns/breanna/options/shoulderdartsize/fr.md
index 35451fa81d6..d840e5ae93d 100644
--- a/markdown/org/docs/patterns/breanna/options/shoulderdartsize/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/shoulderdartsize/fr.md
@@ -6,4 +6,4 @@ The size of the back shoulder dart.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/shoulderease/fr.md b/markdown/org/docs/patterns/breanna/options/shoulderease/fr.md
index 8ddba2606c2..9d4230fc5cb 100644
--- a/markdown/org/docs/patterns/breanna/options/shoulderease/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/shoulderease/fr.md
@@ -8,4 +8,4 @@ This option allows you to create some extra ease at the shoulders which shifts t
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/shoulderslopereduction/fr.md b/markdown/org/docs/patterns/breanna/options/shoulderslopereduction/fr.md
index 216f6191707..48e51137da0 100644
--- a/markdown/org/docs/patterns/breanna/options/shoulderslopereduction/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/shoulderslopereduction/fr.md
@@ -6,4 +6,4 @@ Reduces the shoulder slope to create extra room for shoulder padding.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapbackfactorx/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapbackfactorx/fr.md
index 49d08797177..e8cb8e2cdcf 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapbackfactorx/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapbackfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapbackfactory/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapbackfactory/fr.md
index 407c680f902..cb34a4f34d2 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapbackfactory/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapbackfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapease/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapease/fr.md
index d6d60efef83..aebad852b78 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapease/fr.md
@@ -15,4 +15,4 @@ Pour les tissus lΓ©gers ou la maille, on n'ajoute pas d'aisance de tΓͺte de manc
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapfrontfactorx/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapfrontfactorx/fr.md
index 2b6f0c0700b..178cab0963a 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapfrontfactorx/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapfrontfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapfrontfactory/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapfrontfactory/fr.md
index 5507674c242..caf10ce2501 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapfrontfactory/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapfrontfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapq1offset/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapq1offset/fr.md
index 2eec517644f..11176875144 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapq1offset/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapq1offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapq1spread1/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapq1spread1/fr.md
index 4ad6de188f7..a8638561e49 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapq1spread1/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapq1spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapq1spread2/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapq1spread2/fr.md
index 7d27a08052e..3e2118c0f6d 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapq1spread2/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapq1spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapq2offset/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapq2offset/fr.md
index ad6f7e1e44e..24707fa5c61 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapq2offset/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapq2offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapq2spread1/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapq2spread1/fr.md
index 490ef22cf15..f079c42f9e0 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapq2spread1/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapq2spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapq2spread2/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapq2spread2/fr.md
index fed38546fc3..f22ccaee10e 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapq2spread2/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapq2spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapq3offset/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapq3offset/fr.md
index 37b8bf56fd4..29fd0b04c7c 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapq3offset/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapq3offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapq3spread1/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapq3spread1/fr.md
index c453a015c70..cd31b9328aa 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapq3spread1/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapq3spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapq3spread2/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapq3spread2/fr.md
index 8259b547531..fb352c9b63f 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapq3spread2/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapq3spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapq4offset/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapq4offset/fr.md
index b3145ddad82..25dce5dca28 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapq4offset/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapq4offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapq4spread1/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapq4spread1/fr.md
index 7f7c6e25bb7..22d80f54b09 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapq4spread1/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapq4spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecapq4spread2/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecapq4spread2/fr.md
index 83fec9eea2b..e421c0eadb3 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecapq4spread2/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecapq4spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecaptopfactorx/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecaptopfactorx/fr.md
index 9c08a5ad34d..ce25c83ca68 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecaptopfactorx/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecaptopfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevecaptopfactory/fr.md b/markdown/org/docs/patterns/breanna/options/sleevecaptopfactory/fr.md
index 818648f7819..ebc247f125f 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevecaptopfactory/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevecaptopfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/breanna/options/sleevelengthbonus/fr.md
index e7ea9c51949..ce952e57d96 100644
--- a/markdown/org/docs/patterns/breanna/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/sleevelengthbonus/fr.md
@@ -6,4 +6,4 @@ This option controls how to lengthen the sleeves.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/verticalease/fr.md b/markdown/org/docs/patterns/breanna/options/verticalease/fr.md
index 790057887ce..827d76fd3fb 100644
--- a/markdown/org/docs/patterns/breanna/options/verticalease/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/verticalease/fr.md
@@ -6,4 +6,4 @@ The amount of ease to distribute along the length of the garment.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/waistdart/fr.md b/markdown/org/docs/patterns/breanna/options/waistdart/fr.md
index bf77a1ed5f1..3ee2def9bf3 100644
--- a/markdown/org/docs/patterns/breanna/options/waistdart/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/waistdart/fr.md
@@ -6,4 +6,4 @@ Whether or not to inlude a back waist dart to round the back.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/waistdartlength/fr.md b/markdown/org/docs/patterns/breanna/options/waistdartlength/fr.md
index 813d0ed8953..0a5e10de43b 100644
--- a/markdown/org/docs/patterns/breanna/options/waistdartlength/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/waistdartlength/fr.md
@@ -6,4 +6,4 @@ The length of the back waist dart.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/waistdartsize/fr.md b/markdown/org/docs/patterns/breanna/options/waistdartsize/fr.md
index 7e7d8c89378..c877cc0fa05 100644
--- a/markdown/org/docs/patterns/breanna/options/waistdartsize/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/waistdartsize/fr.md
@@ -6,4 +6,4 @@ The size of the back waist dart
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/breanna/options/waistease/fr.md b/markdown/org/docs/patterns/breanna/options/waistease/fr.md
index 1199d850b91..fec0b97725a 100644
--- a/markdown/org/docs/patterns/breanna/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/breanna/options/waistease/fr.md
@@ -6,4 +6,4 @@ The amount of ease at the waist.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/brian/options/acrossbackfactor/fr.md
index 90feaed2ddb..91dcffe4bf7 100644
--- a/markdown/org/docs/patterns/brian/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/brian/options/acrossbackfactor/fr.md
@@ -8,4 +8,4 @@ Controls your across back width as a factor of your shoulder to shoulder measure
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/brian/options/armholedepthfactor/fr.md
index 41b12540e38..0b1dc691183 100644
--- a/markdown/org/docs/patterns/brian/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/brian/options/armholedepthfactor/fr.md
@@ -8,4 +8,4 @@ This option controls the depth of the armhole.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/backneckcutout/fr.md b/markdown/org/docs/patterns/brian/options/backneckcutout/fr.md
index 27bf2b97bef..d16056fdf7c 100644
--- a/markdown/org/docs/patterns/brian/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/brian/options/backneckcutout/fr.md
@@ -8,4 +8,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/bicepsease/fr.md b/markdown/org/docs/patterns/brian/options/bicepsease/fr.md
index 7334fcb66e5..a012404bae3 100644
--- a/markdown/org/docs/patterns/brian/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/brian/options/bicepsease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your upper arm.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/chestease/fr.md b/markdown/org/docs/patterns/brian/options/chestease/fr.md
index 572902703f4..19887d78177 100644
--- a/markdown/org/docs/patterns/brian/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/brian/options/chestease/fr.md
@@ -8,4 +8,4 @@ This option controls the ease at your chest.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/collarease/fr.md b/markdown/org/docs/patterns/brian/options/collarease/fr.md
index 504cdb72894..dbffd4b2595 100644
--- a/markdown/org/docs/patterns/brian/options/collarease/fr.md
+++ b/markdown/org/docs/patterns/brian/options/collarease/fr.md
@@ -8,4 +8,4 @@ Controls the amount of ease at your collar/neck.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/cuffease/fr.md b/markdown/org/docs/patterns/brian/options/cuffease/fr.md
index e8847f51f02..b57fc8d9a36 100644
--- a/markdown/org/docs/patterns/brian/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/brian/options/cuffease/fr.md
@@ -8,4 +8,4 @@ This option controls the ease at your wrist.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/brian/options/draftforhighbust/fr.md
index 871e29daab3..6451f633ea9 100644
--- a/markdown/org/docs/patterns/brian/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/brian/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ title: undefined
undefined
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/brian/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/brian/options/frontarmholedeeper/fr.md
index f4ea21ff184..fbcd1a5953f 100644
--- a/markdown/org/docs/patterns/brian/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/brian/options/frontarmholedeeper/fr.md
@@ -10,4 +10,4 @@ Since the human shoulder is more rounded at the front of the body, the sleeve(ca
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/lengthbonus/fr.md b/markdown/org/docs/patterns/brian/options/lengthbonus/fr.md
index 498c6c4a7c4..3952fb55521 100644
--- a/markdown/org/docs/patterns/brian/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/brian/options/lengthbonus/fr.md
@@ -10,4 +10,4 @@ This option controls how far the block extend below your hips.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/s3armhole/fr.md b/markdown/org/docs/patterns/brian/options/s3armhole/fr.md
index 598fa8a6e3d..f210d9d6851 100644
--- a/markdown/org/docs/patterns/brian/options/s3armhole/fr.md
+++ b/markdown/org/docs/patterns/brian/options/s3armhole/fr.md
@@ -9,4 +9,4 @@ Controls the shoulder seam location on the armhole side.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/s3collar/fr.md b/markdown/org/docs/patterns/brian/options/s3collar/fr.md
index 56af0ab8675..e4d9e853ea3 100644
--- a/markdown/org/docs/patterns/brian/options/s3collar/fr.md
+++ b/markdown/org/docs/patterns/brian/options/s3collar/fr.md
@@ -9,4 +9,4 @@ Controls the shoulder seam location on the collar side.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/shoulderease/fr.md b/markdown/org/docs/patterns/brian/options/shoulderease/fr.md
index cb60af8d9f6..a53e9d667a6 100644
--- a/markdown/org/docs/patterns/brian/options/shoulderease/fr.md
+++ b/markdown/org/docs/patterns/brian/options/shoulderease/fr.md
@@ -10,4 +10,4 @@ This option allows you to create some extra ease at the shoulders which shifts t
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/shoulderslopereduction/fr.md b/markdown/org/docs/patterns/brian/options/shoulderslopereduction/fr.md
index 2647502fee2..4671a1adab5 100644
--- a/markdown/org/docs/patterns/brian/options/shoulderslopereduction/fr.md
+++ b/markdown/org/docs/patterns/brian/options/shoulderslopereduction/fr.md
@@ -8,4 +8,4 @@ Reduces the shoulder slope to create extra room for shoulder padding.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapbackfactorx/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapbackfactorx/fr.md
index 1aaa5cad619..9c7b077cda7 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapbackfactorx/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapbackfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapbackfactory/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapbackfactory/fr.md
index 59c90185dc7..b20609fc5a9 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapbackfactory/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapbackfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapease/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapease/fr.md
index 51f83ce69ed..ce3859f84fc 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapease/fr.md
@@ -17,4 +17,4 @@ Pour les tissus lΓ©gers ou la maille, on n'ajoute pas d'aisance de tΓͺte de manc
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapfrontfactorx/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapfrontfactorx/fr.md
index a451ed84bc0..33690b34173 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapfrontfactorx/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapfrontfactorx/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapfrontfactory/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapfrontfactory/fr.md
index 1d957da9663..4d7b3b9d57c 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapfrontfactory/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapfrontfactory/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapq1offset/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapq1offset/fr.md
index a2e155b603b..447c9e103ce 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapq1offset/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapq1offset/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapq1spread1/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapq1spread1/fr.md
index a832902ad02..72e873a9e84 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapq1spread1/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapq1spread1/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapq1spread2/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapq1spread2/fr.md
index 30d16bee3c1..987f6ba60fa 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapq1spread2/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapq1spread2/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapq2offset/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapq2offset/fr.md
index 46d244374fc..4aa5b25af33 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapq2offset/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapq2offset/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapq2spread1/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapq2spread1/fr.md
index 7d3f1e691dd..1e3a8afa812 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapq2spread1/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapq2spread1/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapq2spread2/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapq2spread2/fr.md
index b3abfdc0f87..ae402e19c07 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapq2spread2/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapq2spread2/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapq3offset/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapq3offset/fr.md
index 32c64ab5baa..4d2a67d6cd8 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapq3offset/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapq3offset/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapq3spread1/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapq3spread1/fr.md
index 44c1e5729c7..c85ed3902b6 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapq3spread1/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapq3spread1/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapq3spread2/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapq3spread2/fr.md
index fe2adebcdcd..96a993cc5fc 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapq3spread2/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapq3spread2/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapq4offset/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapq4offset/fr.md
index f96bb7e51da..065152714b5 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapq4offset/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapq4offset/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapq4spread1/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapq4spread1/fr.md
index 6c1cc32ee12..89573dabb6a 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapq4spread1/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapq4spread1/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecapq4spread2/fr.md b/markdown/org/docs/patterns/brian/options/sleevecapq4spread2/fr.md
index ab60f287d99..cce6986b514 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecapq4spread2/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecapq4spread2/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecaptopfactorx/fr.md b/markdown/org/docs/patterns/brian/options/sleevecaptopfactorx/fr.md
index 6bf2a87e2e9..a265215f15a 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecaptopfactorx/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecaptopfactorx/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevecaptopfactory/fr.md b/markdown/org/docs/patterns/brian/options/sleevecaptopfactory/fr.md
index 3263b806217..5e8a8bea3c3 100644
--- a/markdown/org/docs/patterns/brian/options/sleevecaptopfactory/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevecaptopfactory/fr.md
@@ -16,4 +16,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/brian/options/sleevelengthbonus/fr.md
index 167cac1accf..b322a4b1005 100644
--- a/markdown/org/docs/patterns/brian/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevelengthbonus/fr.md
@@ -8,4 +8,4 @@ This option controls how to lengthen the sleeves.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/brian/options/sleevewidthguarantee/fr.md b/markdown/org/docs/patterns/brian/options/sleevewidthguarantee/fr.md
index db634b8273e..d33c18e01e2 100644
--- a/markdown/org/docs/patterns/brian/options/sleevewidthguarantee/fr.md
+++ b/markdown/org/docs/patterns/brian/options/sleevewidthguarantee/fr.md
@@ -12,4 +12,4 @@ To avoid the sleeve getting too narrow, we only adapt a portion of the sleeve wi
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bruce/options/backrise/fr.md b/markdown/org/docs/patterns/bruce/options/backrise/fr.md
index 92c04cacc39..a5f5d61d690 100644
--- a/markdown/org/docs/patterns/bruce/options/backrise/fr.md
+++ b/markdown/org/docs/patterns/bruce/options/backrise/fr.md
@@ -12,4 +12,4 @@ This factor will raise the waist at the back of your boxers only.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bruce/options/bulge/fr.md b/markdown/org/docs/patterns/bruce/options/bulge/fr.md
index 72248019ffb..a37ba47b609 100644
--- a/markdown/org/docs/patterns/bruce/options/bulge/fr.md
+++ b/markdown/org/docs/patterns/bruce/options/bulge/fr.md
@@ -12,4 +12,4 @@ This option will increase the front dart, thereby creating more room in the fron
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bruce/options/legbonus/fr.md b/markdown/org/docs/patterns/bruce/options/legbonus/fr.md
index 6dab94ca58c..397f9c18c9b 100644
--- a/markdown/org/docs/patterns/bruce/options/legbonus/fr.md
+++ b/markdown/org/docs/patterns/bruce/options/legbonus/fr.md
@@ -8,4 +8,4 @@ How much do you want to lengthen the legs?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bruce/options/legstretch/fr.md b/markdown/org/docs/patterns/bruce/options/legstretch/fr.md
index 2b03e9b3dd3..50ef90acdb0 100644
--- a/markdown/org/docs/patterns/bruce/options/legstretch/fr.md
+++ b/markdown/org/docs/patterns/bruce/options/legstretch/fr.md
@@ -8,4 +8,4 @@ The amount of stretch at the (upper) legs.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bruce/options/rise/fr.md b/markdown/org/docs/patterns/bruce/options/rise/fr.md
index fc72f7a6fc0..e50877c30da 100644
--- a/markdown/org/docs/patterns/bruce/options/rise/fr.md
+++ b/markdown/org/docs/patterns/bruce/options/rise/fr.md
@@ -10,4 +10,4 @@ This option controls the overal height of the waist.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/bruce/options/stretch/fr.md b/markdown/org/docs/patterns/bruce/options/stretch/fr.md
index bc09cb74fc2..55ec8e3a723 100644
--- a/markdown/org/docs/patterns/bruce/options/stretch/fr.md
+++ b/markdown/org/docs/patterns/bruce/options/stretch/fr.md
@@ -8,4 +8,4 @@ The amount of overall (horizontal) stretch.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/carlita/options/acrossbackfactor/fr.md
index 166d7f4a47e..091f4b242b0 100644
--- a/markdown/org/docs/patterns/carlita/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/acrossbackfactor/fr.md
@@ -8,4 +8,4 @@ Controls your across back width as a factor of your shoulder to shoulder measure
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/carlita/options/armholedepthfactor/fr.md
index 35e5fccd03e..20f803ac6e0 100644
--- a/markdown/org/docs/patterns/carlita/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/armholedepthfactor/fr.md
@@ -8,4 +8,4 @@ This controls the depth of the armhole, which in turn influences the sleevecap w
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/backneckcutout/fr.md b/markdown/org/docs/patterns/carlita/options/backneckcutout/fr.md
index ac42bef9d85..dadcf7b7455 100644
--- a/markdown/org/docs/patterns/carlita/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/backneckcutout/fr.md
@@ -6,4 +6,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/beltwidth/fr.md b/markdown/org/docs/patterns/carlita/options/beltwidth/fr.md
index 0d30436a3ed..ded11da5986 100644
--- a/markdown/org/docs/patterns/carlita/options/beltwidth/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/beltwidth/fr.md
@@ -6,4 +6,4 @@ Controls the width of the belt at the back.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/bicepsease/fr.md b/markdown/org/docs/patterns/carlita/options/bicepsease/fr.md
index 2cde3dc3fec..50d6b96bd71 100644
--- a/markdown/org/docs/patterns/carlita/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/bicepsease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your upper arm.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/buttonspacinghorizontal/fr.md b/markdown/org/docs/patterns/carlita/options/buttonspacinghorizontal/fr.md
index 518f6f9d6d0..2c6e7067d70 100644
--- a/markdown/org/docs/patterns/carlita/options/buttonspacinghorizontal/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/buttonspacinghorizontal/fr.md
@@ -6,4 +6,4 @@ Controls how far the double rows of front buttons are set apart.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/chestease/fr.md b/markdown/org/docs/patterns/carlita/options/chestease/fr.md
index a2971a03984..6bb77a59170 100644
--- a/markdown/org/docs/patterns/carlita/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/chestease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your chest.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/chestpocketangle/fr.md b/markdown/org/docs/patterns/carlita/options/chestpocketangle/fr.md
index e7a0f241031..49ef9dfae98 100644
--- a/markdown/org/docs/patterns/carlita/options/chestpocketangle/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/chestpocketangle/fr.md
@@ -6,4 +6,4 @@ Controls the slant of the chest pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/chestpocketheight/fr.md b/markdown/org/docs/patterns/carlita/options/chestpocketheight/fr.md
index cd130a1c70d..7fcf18b847f 100644
--- a/markdown/org/docs/patterns/carlita/options/chestpocketheight/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/chestpocketheight/fr.md
@@ -6,4 +6,4 @@ Controls the height/size of the chest pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/chestpocketplacement/fr.md b/markdown/org/docs/patterns/carlita/options/chestpocketplacement/fr.md
index 9c2829a6121..e1181ec62dd 100644
--- a/markdown/org/docs/patterns/carlita/options/chestpocketplacement/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/chestpocketplacement/fr.md
@@ -6,4 +6,4 @@ Controls the location of the chest pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/chestpocketwidth/fr.md b/markdown/org/docs/patterns/carlita/options/chestpocketwidth/fr.md
index fcade91f1e5..1355933b899 100644
--- a/markdown/org/docs/patterns/carlita/options/chestpocketwidth/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/chestpocketwidth/fr.md
@@ -6,4 +6,4 @@ Controls the width of the chest pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/collarflare/fr.md b/markdown/org/docs/patterns/carlita/options/collarflare/fr.md
index 1661bda9e4c..673cea19d41 100644
--- a/markdown/org/docs/patterns/carlita/options/collarflare/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/collarflare/fr.md
@@ -9,4 +9,4 @@ Controls the flare of the collar by altering the fall length (between the neck a
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/collarheight/fr.md b/markdown/org/docs/patterns/carlita/options/collarheight/fr.md
index c2973b63cce..95fc9948942 100644
--- a/markdown/org/docs/patterns/carlita/options/collarheight/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/collarheight/fr.md
@@ -8,4 +8,4 @@ Controls the height of the collar.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/collarspread/fr.md b/markdown/org/docs/patterns/carlita/options/collarspread/fr.md
index 845fbc32856..35bd4aedfc4 100644
--- a/markdown/org/docs/patterns/carlita/options/collarspread/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/collarspread/fr.md
@@ -9,4 +9,4 @@ Controls the distance between the points of the collar.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/contour/fr.md b/markdown/org/docs/patterns/carlita/options/contour/fr.md
index f998effb044..40aa66acc2a 100644
--- a/markdown/org/docs/patterns/carlita/options/contour/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/contour/fr.md
@@ -8,4 +8,4 @@ A high factor will smooth the curve, resulting in a less fitted coat that's easi
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/cuffease/fr.md b/markdown/org/docs/patterns/carlita/options/cuffease/fr.md
index 616000945c7..70440062138 100644
--- a/markdown/org/docs/patterns/carlita/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/cuffease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your cuff/wrist.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/cufflength/fr.md b/markdown/org/docs/patterns/carlita/options/cufflength/fr.md
index aba741da971..75b8b6530cb 100644
--- a/markdown/org/docs/patterns/carlita/options/cufflength/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/cufflength/fr.md
@@ -6,4 +6,4 @@ Controls the length (height if you wish) of the cuffs.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/carlita/options/frontarmholedeeper/fr.md
index 9aa77545f5f..1acce28e277 100644
--- a/markdown/org/docs/patterns/carlita/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/frontarmholedeeper/fr.md
@@ -8,4 +8,4 @@ Since the human shoulder is more rounded at the front of the body, the sleeve(ca
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/frontoverlap/fr.md b/markdown/org/docs/patterns/carlita/options/frontoverlap/fr.md
index 91eff9c7597..9e40a246387 100644
--- a/markdown/org/docs/patterns/carlita/options/frontoverlap/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/frontoverlap/fr.md
@@ -6,4 +6,4 @@ Controls how much the right and left front of the garment overlap at the center
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/innerpocketdepth/fr.md b/markdown/org/docs/patterns/carlita/options/innerpocketdepth/fr.md
index 3ff43a91da1..ccd1e3f3817 100644
--- a/markdown/org/docs/patterns/carlita/options/innerpocketdepth/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/innerpocketdepth/fr.md
@@ -6,4 +6,4 @@ Controls the depth of the inner pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/innerpocketplacement/fr.md b/markdown/org/docs/patterns/carlita/options/innerpocketplacement/fr.md
index d41ac955b27..62d9ed96992 100644
--- a/markdown/org/docs/patterns/carlita/options/innerpocketplacement/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/innerpocketplacement/fr.md
@@ -6,4 +6,4 @@ Controls the location of the inner pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/innerpocketweltheight/fr.md b/markdown/org/docs/patterns/carlita/options/innerpocketweltheight/fr.md
index c6ed20a0140..07d0414d00b 100644
--- a/markdown/org/docs/patterns/carlita/options/innerpocketweltheight/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/innerpocketweltheight/fr.md
@@ -6,4 +6,4 @@ Controls the size of the welts on the inner pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/innerpocketwidth/fr.md b/markdown/org/docs/patterns/carlita/options/innerpocketwidth/fr.md
index a25f685a0fa..5a23a5592de 100644
--- a/markdown/org/docs/patterns/carlita/options/innerpocketwidth/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/innerpocketwidth/fr.md
@@ -6,4 +6,4 @@ Controls the width of the inner pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/lapelreduction/fr.md b/markdown/org/docs/patterns/carlita/options/lapelreduction/fr.md
index 307c8d796a3..a696ae80f2f 100644
--- a/markdown/org/docs/patterns/carlita/options/lapelreduction/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/lapelreduction/fr.md
@@ -8,4 +8,4 @@ It is common to have the edge of the lapels not be entirely straight, but rather
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/length/fr.md b/markdown/org/docs/patterns/carlita/options/length/fr.md
index 6c0414049be..5c15ba4827f 100644
--- a/markdown/org/docs/patterns/carlita/options/length/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/length/fr.md
@@ -8,4 +8,4 @@ Controls the overall length of the coat.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/pocketflapradius/fr.md b/markdown/org/docs/patterns/carlita/options/pocketflapradius/fr.md
index a1af8d227c4..bc860298269 100644
--- a/markdown/org/docs/patterns/carlita/options/pocketflapradius/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/pocketflapradius/fr.md
@@ -8,4 +8,4 @@ Controls the radius with which the pocket flaps are rounded at the bottom.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/pocketheight/fr.md b/markdown/org/docs/patterns/carlita/options/pocketheight/fr.md
index 7a5997bbf74..2ba0575acdb 100644
--- a/markdown/org/docs/patterns/carlita/options/pocketheight/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/pocketheight/fr.md
@@ -6,4 +6,4 @@ Controls the height/depth of the pockets.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/pocketplacementhorizontal/fr.md b/markdown/org/docs/patterns/carlita/options/pocketplacementhorizontal/fr.md
index 1665d15129a..6fabb66f763 100644
--- a/markdown/org/docs/patterns/carlita/options/pocketplacementhorizontal/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/pocketplacementhorizontal/fr.md
@@ -6,4 +6,4 @@ Controls the location of the pockets horizontally (more left or right).
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/pocketplacementvertical/fr.md b/markdown/org/docs/patterns/carlita/options/pocketplacementvertical/fr.md
index 156a6a44bf1..ab22e2e55ca 100644
--- a/markdown/org/docs/patterns/carlita/options/pocketplacementvertical/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/pocketplacementvertical/fr.md
@@ -6,4 +6,4 @@ Controls the location of the pockets vertically (higher or lower).
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/pocketradius/fr.md b/markdown/org/docs/patterns/carlita/options/pocketradius/fr.md
index acfc8d72edd..df8fb17167a 100644
--- a/markdown/org/docs/patterns/carlita/options/pocketradius/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/pocketradius/fr.md
@@ -8,4 +8,4 @@ Controls the radius with which the pockets are rounded at the bottom.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/pocketwidth/fr.md b/markdown/org/docs/patterns/carlita/options/pocketwidth/fr.md
index ea65575d63a..5c3a6cbee9c 100644
--- a/markdown/org/docs/patterns/carlita/options/pocketwidth/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/pocketwidth/fr.md
@@ -6,4 +6,4 @@ Controls the width of the pockets.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/s3armhole/fr.md b/markdown/org/docs/patterns/carlita/options/s3armhole/fr.md
index 4dc8b79af22..cc0712b1ed7 100644
--- a/markdown/org/docs/patterns/carlita/options/s3armhole/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/s3armhole/fr.md
@@ -9,4 +9,4 @@ Controls the shoulder seam location on the armhole side.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/s3collar/fr.md b/markdown/org/docs/patterns/carlita/options/s3collar/fr.md
index 9d8f355a9ce..f531057213d 100644
--- a/markdown/org/docs/patterns/carlita/options/s3collar/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/s3collar/fr.md
@@ -9,4 +9,4 @@ Controls the shoulder seam location on the collar side.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/seatease/fr.md b/markdown/org/docs/patterns/carlita/options/seatease/fr.md
index 45c74a096a9..2be7621a34c 100644
--- a/markdown/org/docs/patterns/carlita/options/seatease/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/seatease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your seat.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/shoulderease/fr.md b/markdown/org/docs/patterns/carlita/options/shoulderease/fr.md
index 19d2c5dd09d..d23d31b038d 100644
--- a/markdown/org/docs/patterns/carlita/options/shoulderease/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/shoulderease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your shoulders. This is an option specific to coats/overwe
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/shoulderslopereduction/fr.md b/markdown/org/docs/patterns/carlita/options/shoulderslopereduction/fr.md
index b489acdee1a..1094bfca0ba 100644
--- a/markdown/org/docs/patterns/carlita/options/shoulderslopereduction/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/shoulderslopereduction/fr.md
@@ -6,4 +6,4 @@ Reduces the shoulder slope to create extra room for shoulder padding.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/sleevebend/fr.md b/markdown/org/docs/patterns/carlita/options/sleevebend/fr.md
index d8bbd8dc9ef..bc7d59b3abf 100644
--- a/markdown/org/docs/patterns/carlita/options/sleevebend/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/sleevebend/fr.md
@@ -8,4 +8,4 @@ The angle of the sleeve at the elbow.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/sleevecapease/fr.md b/markdown/org/docs/patterns/carlita/options/sleevecapease/fr.md
index 193a5155ee7..9428207ada2 100644
--- a/markdown/org/docs/patterns/carlita/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/sleevecapease/fr.md
@@ -16,4 +16,4 @@ How much sleevecap ease do you want?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/sleevecapheight/fr.md b/markdown/org/docs/patterns/carlita/options/sleevecapheight/fr.md
index d546275cf0b..cb064cae62c 100644
--- a/markdown/org/docs/patterns/carlita/options/sleevecapheight/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/sleevecapheight/fr.md
@@ -6,4 +6,4 @@ This factor controls the height of the sleevecap.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/carlita/options/sleevelengthbonus/fr.md
index 12b98238815..5749a8535f6 100644
--- a/markdown/org/docs/patterns/carlita/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/sleevelengthbonus/fr.md
@@ -18,4 +18,4 @@ Veuillez prendre note de la valeur par dΓ©faut et utiliser cela comme base pour
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlita/options/waistease/fr.md b/markdown/org/docs/patterns/carlita/options/waistease/fr.md
index 040a6348535..cbca118013d 100644
--- a/markdown/org/docs/patterns/carlita/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/carlita/options/waistease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your waist.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/carlton/options/acrossbackfactor/fr.md
index 7d90125274d..d027eda0d4b 100644
--- a/markdown/org/docs/patterns/carlton/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/acrossbackfactor/fr.md
@@ -8,4 +8,4 @@ Controls your across back width as a factor of your shoulder to shoulder measure
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/carlton/options/armholedepthfactor/fr.md
index 13d4b6203d6..90502f6d2b6 100644
--- a/markdown/org/docs/patterns/carlton/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/armholedepthfactor/fr.md
@@ -8,4 +8,4 @@ This controls the depth of the armhole, which in turn influences the sleevecap w
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/backneckcutout/fr.md b/markdown/org/docs/patterns/carlton/options/backneckcutout/fr.md
index 6701192e672..cb71df7347c 100644
--- a/markdown/org/docs/patterns/carlton/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/backneckcutout/fr.md
@@ -6,4 +6,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/beltwidth/fr.md b/markdown/org/docs/patterns/carlton/options/beltwidth/fr.md
index f5dd21daf1c..2f8cf44aec0 100644
--- a/markdown/org/docs/patterns/carlton/options/beltwidth/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/beltwidth/fr.md
@@ -6,4 +6,4 @@ Controls the width of the belt at the back.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/bicepsease/fr.md b/markdown/org/docs/patterns/carlton/options/bicepsease/fr.md
index 81984d0f2ec..b8424a56273 100644
--- a/markdown/org/docs/patterns/carlton/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/bicepsease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your upper arm.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/buttonspacinghorizontal/fr.md b/markdown/org/docs/patterns/carlton/options/buttonspacinghorizontal/fr.md
index b60f55a1866..eb93c54a8c2 100644
--- a/markdown/org/docs/patterns/carlton/options/buttonspacinghorizontal/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/buttonspacinghorizontal/fr.md
@@ -6,4 +6,4 @@ Controls how far the double rows of front buttons are set apart.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/chestease/fr.md b/markdown/org/docs/patterns/carlton/options/chestease/fr.md
index 36236a68fa9..6e1542c727b 100644
--- a/markdown/org/docs/patterns/carlton/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/chestease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your chest.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/chestpocketangle/fr.md b/markdown/org/docs/patterns/carlton/options/chestpocketangle/fr.md
index 480bda1aa39..824b8c18b77 100644
--- a/markdown/org/docs/patterns/carlton/options/chestpocketangle/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/chestpocketangle/fr.md
@@ -6,4 +6,4 @@ Controls the slant of the chest pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/chestpocketheight/fr.md b/markdown/org/docs/patterns/carlton/options/chestpocketheight/fr.md
index cc059512e23..d85ae0ff2eb 100644
--- a/markdown/org/docs/patterns/carlton/options/chestpocketheight/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/chestpocketheight/fr.md
@@ -6,4 +6,4 @@ Controls the height/size of the chest pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/chestpocketplacement/fr.md b/markdown/org/docs/patterns/carlton/options/chestpocketplacement/fr.md
index 9ab0fa7d1b8..bea9f7c2cb0 100644
--- a/markdown/org/docs/patterns/carlton/options/chestpocketplacement/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/chestpocketplacement/fr.md
@@ -6,4 +6,4 @@ Controls the location of the chest pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/chestpocketwidth/fr.md b/markdown/org/docs/patterns/carlton/options/chestpocketwidth/fr.md
index bef35f71cff..751982647e0 100644
--- a/markdown/org/docs/patterns/carlton/options/chestpocketwidth/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/chestpocketwidth/fr.md
@@ -6,4 +6,4 @@ Controls the width of the chest pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/collarflare/fr.md b/markdown/org/docs/patterns/carlton/options/collarflare/fr.md
index 24086a29369..6fffc7bc662 100644
--- a/markdown/org/docs/patterns/carlton/options/collarflare/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/collarflare/fr.md
@@ -9,4 +9,4 @@ Controls the flare of the collar by altering the fall length (between the neck a
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/collarheight/fr.md b/markdown/org/docs/patterns/carlton/options/collarheight/fr.md
index 3cb3bb34bc4..86d8fea3aa3 100644
--- a/markdown/org/docs/patterns/carlton/options/collarheight/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/collarheight/fr.md
@@ -8,4 +8,4 @@ Controls the height of the collar.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/collarspread/fr.md b/markdown/org/docs/patterns/carlton/options/collarspread/fr.md
index 0001f8fc290..c46ffc2cc3e 100644
--- a/markdown/org/docs/patterns/carlton/options/collarspread/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/collarspread/fr.md
@@ -9,4 +9,4 @@ Controls the distance between the points of the collar.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/cuffease/fr.md b/markdown/org/docs/patterns/carlton/options/cuffease/fr.md
index e5e23b2e578..9937a23dd07 100644
--- a/markdown/org/docs/patterns/carlton/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/cuffease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your cuff/wrist.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/cufflength/fr.md b/markdown/org/docs/patterns/carlton/options/cufflength/fr.md
index 421c62bba59..31e774bde3d 100644
--- a/markdown/org/docs/patterns/carlton/options/cufflength/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/cufflength/fr.md
@@ -6,4 +6,4 @@ Controls the length (height if you wish) of the cuffs.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/carlton/options/draftforhighbust/fr.md
index 40283a3a389..6f2f86b7839 100644
--- a/markdown/org/docs/patterns/carlton/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/carlton/options/frontarmholedeeper/fr.md
index 26875398305..edde900e8ec 100644
--- a/markdown/org/docs/patterns/carlton/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/frontarmholedeeper/fr.md
@@ -8,4 +8,4 @@ Since the human shoulder is more rounded at the front of the body, the sleeve(ca
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/frontoverlap/fr.md b/markdown/org/docs/patterns/carlton/options/frontoverlap/fr.md
index 10ee6826a6d..21e142aa69c 100644
--- a/markdown/org/docs/patterns/carlton/options/frontoverlap/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/frontoverlap/fr.md
@@ -6,4 +6,4 @@ Controls how much the right and left front of the garment overlap at the center
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/innerpocketdepth/fr.md b/markdown/org/docs/patterns/carlton/options/innerpocketdepth/fr.md
index 6f5955875f6..b764e8b0ad4 100644
--- a/markdown/org/docs/patterns/carlton/options/innerpocketdepth/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/innerpocketdepth/fr.md
@@ -6,4 +6,4 @@ Controls the depth of the inner pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/innerpocketplacement/fr.md b/markdown/org/docs/patterns/carlton/options/innerpocketplacement/fr.md
index c84581f48ef..a4ba765b874 100644
--- a/markdown/org/docs/patterns/carlton/options/innerpocketplacement/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/innerpocketplacement/fr.md
@@ -6,4 +6,4 @@ Controls the location of the inner pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/innerpocketweltheight/fr.md b/markdown/org/docs/patterns/carlton/options/innerpocketweltheight/fr.md
index aedb050c703..d7a68150cff 100644
--- a/markdown/org/docs/patterns/carlton/options/innerpocketweltheight/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/innerpocketweltheight/fr.md
@@ -6,4 +6,4 @@ Controls the size of the welts on the inner pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/innerpocketwidth/fr.md b/markdown/org/docs/patterns/carlton/options/innerpocketwidth/fr.md
index e4281f3a213..fd2254aec08 100644
--- a/markdown/org/docs/patterns/carlton/options/innerpocketwidth/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/innerpocketwidth/fr.md
@@ -6,4 +6,4 @@ Controls the width of the inner pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/lapelreduction/fr.md b/markdown/org/docs/patterns/carlton/options/lapelreduction/fr.md
index e629e1defc7..a800f2d00ce 100644
--- a/markdown/org/docs/patterns/carlton/options/lapelreduction/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/lapelreduction/fr.md
@@ -8,4 +8,4 @@ It is common to have the edge of the lapels not be entirely straight, but rather
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/length/fr.md b/markdown/org/docs/patterns/carlton/options/length/fr.md
index 1554f808c4a..c8e936c60b9 100644
--- a/markdown/org/docs/patterns/carlton/options/length/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/length/fr.md
@@ -8,4 +8,4 @@ Controls the overall length of the coat.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/pocketflapradius/fr.md b/markdown/org/docs/patterns/carlton/options/pocketflapradius/fr.md
index 343dfe2fa5a..53c415f307f 100644
--- a/markdown/org/docs/patterns/carlton/options/pocketflapradius/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/pocketflapradius/fr.md
@@ -8,4 +8,4 @@ Controls the radius with which the pocket flaps are rounded at the bottom.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/pocketheight/fr.md b/markdown/org/docs/patterns/carlton/options/pocketheight/fr.md
index 7f7b637419d..e286b4bd127 100644
--- a/markdown/org/docs/patterns/carlton/options/pocketheight/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/pocketheight/fr.md
@@ -6,4 +6,4 @@ Controls the height/depth of the pockets.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/pocketplacementhorizontal/fr.md b/markdown/org/docs/patterns/carlton/options/pocketplacementhorizontal/fr.md
index 6647971a9d8..d32244341d9 100644
--- a/markdown/org/docs/patterns/carlton/options/pocketplacementhorizontal/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/pocketplacementhorizontal/fr.md
@@ -6,4 +6,4 @@ Controls the location of the pockets horizontally (more left or right).
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/pocketplacementvertical/fr.md b/markdown/org/docs/patterns/carlton/options/pocketplacementvertical/fr.md
index fe848e2fe2a..2e33ffc0003 100644
--- a/markdown/org/docs/patterns/carlton/options/pocketplacementvertical/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/pocketplacementvertical/fr.md
@@ -6,4 +6,4 @@ Controls the location of the pockets vertically (higher or lower).
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/pocketradius/fr.md b/markdown/org/docs/patterns/carlton/options/pocketradius/fr.md
index 7c75ae0b636..6fb9a4b840e 100644
--- a/markdown/org/docs/patterns/carlton/options/pocketradius/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/pocketradius/fr.md
@@ -8,4 +8,4 @@ Controls the radius with which the pockets are rounded at the bottom.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/pocketwidth/fr.md b/markdown/org/docs/patterns/carlton/options/pocketwidth/fr.md
index fa1dc3acc3b..c081209895c 100644
--- a/markdown/org/docs/patterns/carlton/options/pocketwidth/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/pocketwidth/fr.md
@@ -6,4 +6,4 @@ Controls the width of the pockets.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/s3armhole/fr.md b/markdown/org/docs/patterns/carlton/options/s3armhole/fr.md
index 68558426607..a14fa5004a6 100644
--- a/markdown/org/docs/patterns/carlton/options/s3armhole/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/s3armhole/fr.md
@@ -9,4 +9,4 @@ Controls the shoulder seam location on the armhole side.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/s3collar/fr.md b/markdown/org/docs/patterns/carlton/options/s3collar/fr.md
index ced4f362e76..3ba20299479 100644
--- a/markdown/org/docs/patterns/carlton/options/s3collar/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/s3collar/fr.md
@@ -9,4 +9,4 @@ Controls the shoulder seam location on the collar side.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/seatease/fr.md b/markdown/org/docs/patterns/carlton/options/seatease/fr.md
index b19477104e4..cfcf4eee02b 100644
--- a/markdown/org/docs/patterns/carlton/options/seatease/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/seatease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your seat.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/shoulderease/fr.md b/markdown/org/docs/patterns/carlton/options/shoulderease/fr.md
index 2c698851750..b717b263841 100644
--- a/markdown/org/docs/patterns/carlton/options/shoulderease/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/shoulderease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your shoulders. This is an option specific to coats/overwe
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/shoulderslopereduction/fr.md b/markdown/org/docs/patterns/carlton/options/shoulderslopereduction/fr.md
index f2d710ea120..07a68674252 100644
--- a/markdown/org/docs/patterns/carlton/options/shoulderslopereduction/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/shoulderslopereduction/fr.md
@@ -6,4 +6,4 @@ Reduces the shoulder slope to create extra room for shoulder padding.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/sleevebend/fr.md b/markdown/org/docs/patterns/carlton/options/sleevebend/fr.md
index 261ac4be56b..ef14d50e990 100644
--- a/markdown/org/docs/patterns/carlton/options/sleevebend/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/sleevebend/fr.md
@@ -8,4 +8,4 @@ The angle of the sleeve at the elbow.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/sleevecapease/fr.md b/markdown/org/docs/patterns/carlton/options/sleevecapease/fr.md
index 46540a79587..ab3d8f02581 100644
--- a/markdown/org/docs/patterns/carlton/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/sleevecapease/fr.md
@@ -16,4 +16,4 @@ How much sleevecap ease do you want?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/sleevecapheight/fr.md b/markdown/org/docs/patterns/carlton/options/sleevecapheight/fr.md
index d20c555e7ce..54d7e3e7c87 100644
--- a/markdown/org/docs/patterns/carlton/options/sleevecapheight/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/sleevecapheight/fr.md
@@ -6,4 +6,4 @@ This factor controls the height of the sleevecap.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/carlton/options/sleevelengthbonus/fr.md
index c0b6a87e898..d555bd8a66c 100644
--- a/markdown/org/docs/patterns/carlton/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/sleevelengthbonus/fr.md
@@ -18,4 +18,4 @@ Veuillez prendre note de la valeur par dΓ©faut et utiliser cela comme base pour
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/carlton/options/waistease/fr.md b/markdown/org/docs/patterns/carlton/options/waistease/fr.md
index 33852af52ac..2ecf01355d0 100644
--- a/markdown/org/docs/patterns/carlton/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/carlton/options/waistease/fr.md
@@ -8,4 +8,4 @@ The amount of ease at your waist.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/cathrin/options/backdrop/fr.md b/markdown/org/docs/patterns/cathrin/options/backdrop/fr.md
index 5f1a7916383..25f98b816df 100644
--- a/markdown/org/docs/patterns/cathrin/options/backdrop/fr.md
+++ b/markdown/org/docs/patterns/cathrin/options/backdrop/fr.md
@@ -8,4 +8,4 @@ This option determines how far the center back will be lowered at the bottom of
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/cathrin/options/backopening/fr.md b/markdown/org/docs/patterns/cathrin/options/backopening/fr.md
index 6db134e744c..4196b649cb8 100644
--- a/markdown/org/docs/patterns/cathrin/options/backopening/fr.md
+++ b/markdown/org/docs/patterns/cathrin/options/backopening/fr.md
@@ -8,4 +8,4 @@ This option determines how wide the back opening of your corset will be. The bac
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/cathrin/options/backrise/fr.md b/markdown/org/docs/patterns/cathrin/options/backrise/fr.md
index 45ef6473227..207680baaf4 100644
--- a/markdown/org/docs/patterns/cathrin/options/backrise/fr.md
+++ b/markdown/org/docs/patterns/cathrin/options/backrise/fr.md
@@ -14,4 +14,4 @@ If you increase the back rise, your corset will rise upwards at the back.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/cathrin/options/frontdrop/fr.md b/markdown/org/docs/patterns/cathrin/options/frontdrop/fr.md
index 25aed453877..e1d5fbc424b 100644
--- a/markdown/org/docs/patterns/cathrin/options/frontdrop/fr.md
+++ b/markdown/org/docs/patterns/cathrin/options/frontdrop/fr.md
@@ -10,4 +10,4 @@ This option determines how far the center front will be lowered at the bottom of
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/cathrin/options/frontrise/fr.md b/markdown/org/docs/patterns/cathrin/options/frontrise/fr.md
index 3c3e46c46ef..a653742d7da 100644
--- a/markdown/org/docs/patterns/cathrin/options/frontrise/fr.md
+++ b/markdown/org/docs/patterns/cathrin/options/frontrise/fr.md
@@ -12,4 +12,4 @@ How high do you want the corset to rise up at the center front.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/cathrin/options/hiprise/fr.md b/markdown/org/docs/patterns/cathrin/options/hiprise/fr.md
index 05747f950f6..728e86510f4 100644
--- a/markdown/org/docs/patterns/cathrin/options/hiprise/fr.md
+++ b/markdown/org/docs/patterns/cathrin/options/hiprise/fr.md
@@ -8,4 +8,4 @@ How high do you want to corset to rise on your hips, in comparison to the center
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/cathrin/options/panels/fr.md b/markdown/org/docs/patterns/cathrin/options/panels/fr.md
index aceab654862..0a885eb163d 100644
--- a/markdown/org/docs/patterns/cathrin/options/panels/fr.md
+++ b/markdown/org/docs/patterns/cathrin/options/panels/fr.md
@@ -15,4 +15,4 @@ More panels is a bit more work, but also allows the difference between bust/wais
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/cathrin/options/waistreduction/fr.md b/markdown/org/docs/patterns/cathrin/options/waistreduction/fr.md
index 1369ccf3313..e9053c08d39 100644
--- a/markdown/org/docs/patterns/cathrin/options/waistreduction/fr.md
+++ b/markdown/org/docs/patterns/cathrin/options/waistreduction/fr.md
@@ -8,4 +8,4 @@ The amount you want the corset to be smaller than your natural waist. In other w
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/backpocketdepth/fr.md b/markdown/org/docs/patterns/charlie/options/backpocketdepth/fr.md
index 0760f5cb954..d2f0aabef56 100644
--- a/markdown/org/docs/patterns/charlie/options/backpocketdepth/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/backpocketdepth/fr.md
@@ -6,4 +6,4 @@ Controls the depth of the back pocket bag.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/backpocketfacing/fr.md b/markdown/org/docs/patterns/charlie/options/backpocketfacing/fr.md
index 0d049be138d..c297911e271 100644
--- a/markdown/org/docs/patterns/charlie/options/backpocketfacing/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/backpocketfacing/fr.md
@@ -6,6 +6,6 @@ title: "Back pocket facing"
Controls whether or not to include facing on the back pockets
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/backpockethorizontalplacement/fr.md b/markdown/org/docs/patterns/charlie/options/backpockethorizontalplacement/fr.md
index 403b007f729..ec1f1bdb4d5 100644
--- a/markdown/org/docs/patterns/charlie/options/backpockethorizontalplacement/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/backpockethorizontalplacement/fr.md
@@ -8,4 +8,4 @@ In other words, more towards the outseam, and this wider apart. Or more towards
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/backpocketverticalplacement/fr.md b/markdown/org/docs/patterns/charlie/options/backpocketverticalplacement/fr.md
index e2d64d9a8c7..97e36040277 100644
--- a/markdown/org/docs/patterns/charlie/options/backpocketverticalplacement/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/backpocketverticalplacement/fr.md
@@ -8,4 +8,4 @@ Either closer to the waistband, or higher. Or further from the waistband, or low
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/backpocketwidth/fr.md b/markdown/org/docs/patterns/charlie/options/backpocketwidth/fr.md
index 315cdaf8d65..a3c48481e3e 100644
--- a/markdown/org/docs/patterns/charlie/options/backpocketwidth/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/backpocketwidth/fr.md
@@ -6,4 +6,4 @@ Constrols the width of the back pockets.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/beltloops/fr.md b/markdown/org/docs/patterns/charlie/options/beltloops/fr.md
index 0ee5e3d88c5..02f9fd92cda 100644
--- a/markdown/org/docs/patterns/charlie/options/beltloops/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/beltloops/fr.md
@@ -6,4 +6,4 @@ Constrol how many beltloops we'll generate.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/crossseamcurveangle/fr.md b/markdown/org/docs/patterns/charlie/options/crossseamcurveangle/fr.md
index ec88422d723..46ccaf71db3 100644
--- a/markdown/org/docs/patterns/charlie/options/crossseamcurveangle/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/crossseamcurveangle/fr.md
@@ -6,4 +6,4 @@ Controls the angle of the cross seam curve.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/crossseamcurvebend/fr.md b/markdown/org/docs/patterns/charlie/options/crossseamcurvebend/fr.md
index 1933730f711..f960feaff62 100644
--- a/markdown/org/docs/patterns/charlie/options/crossseamcurvebend/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/crossseamcurvebend/fr.md
@@ -17,4 +17,4 @@ Les gens qui ont un bum rond voudront peut-Γͺtre abaisser cela pour crΓ©er un pe
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/crossseamcurvestart/fr.md b/markdown/org/docs/patterns/charlie/options/crossseamcurvestart/fr.md
index 8735d479c0f..baea7dc4955 100644
--- a/markdown/org/docs/patterns/charlie/options/crossseamcurvestart/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/crossseamcurvestart/fr.md
@@ -17,4 +17,4 @@ Les gens qui ont un bum rond voudront peut-Γͺtre abaisser cela pour crΓ©er un pe
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/crotchdrop/fr.md b/markdown/org/docs/patterns/charlie/options/crotchdrop/fr.md
index 7bcaca9e9e8..eed78e93436 100644
--- a/markdown/org/docs/patterns/charlie/options/crotchdrop/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/crotchdrop/fr.md
@@ -9,4 +9,4 @@ A signigicantly lowered crotched can also be a style choice.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/crotchseamcurveangle/fr.md b/markdown/org/docs/patterns/charlie/options/crotchseamcurveangle/fr.md
index 540741a2d1f..fda1d07a848 100644
--- a/markdown/org/docs/patterns/charlie/options/crotchseamcurveangle/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/crotchseamcurveangle/fr.md
@@ -6,4 +6,4 @@ Controls the angle of the crotch seam curve.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/crotchseamcurvebend/fr.md b/markdown/org/docs/patterns/charlie/options/crotchseamcurvebend/fr.md
index 3e339e5a729..50a6bd125f7 100644
--- a/markdown/org/docs/patterns/charlie/options/crotchseamcurvebend/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/crotchseamcurvebend/fr.md
@@ -6,4 +6,4 @@ Controls the curvature of the croth seam, which influences the fit at your crotc
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/crotchseamcurvestart/fr.md b/markdown/org/docs/patterns/charlie/options/crotchseamcurvestart/fr.md
index cdcdf69fdcf..d29a1b2a684 100644
--- a/markdown/org/docs/patterns/charlie/options/crotchseamcurvestart/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/crotchseamcurvestart/fr.md
@@ -6,4 +6,4 @@ Controls where the crotch seam starts to curve, which influences the fit at your
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/flycurve/fr.md b/markdown/org/docs/patterns/charlie/options/flycurve/fr.md
index aedb18ba7f8..329881c2b38 100644
--- a/markdown/org/docs/patterns/charlie/options/flycurve/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/flycurve/fr.md
@@ -6,4 +6,4 @@ This controls the curvature of the fly's J-seam.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/flylength/fr.md b/markdown/org/docs/patterns/charlie/options/flylength/fr.md
index 0e67c853382..fc469d9ed13 100644
--- a/markdown/org/docs/patterns/charlie/options/flylength/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/flylength/fr.md
@@ -6,4 +6,4 @@ Constrols the length of the fly.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/flywidth/fr.md b/markdown/org/docs/patterns/charlie/options/flywidth/fr.md
index a5008605922..9de8e7c9ab3 100644
--- a/markdown/org/docs/patterns/charlie/options/flywidth/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/flywidth/fr.md
@@ -6,4 +6,4 @@ Controls how far the fly's J-seam is offset from the fly edge.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/frontpocketdepth/fr.md b/markdown/org/docs/patterns/charlie/options/frontpocketdepth/fr.md
index 72b54ea6b05..c44ce4390f7 100644
--- a/markdown/org/docs/patterns/charlie/options/frontpocketdepth/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/frontpocketdepth/fr.md
@@ -6,4 +6,4 @@ Controls the depth of the front pocket bag.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/frontpocketfacing/fr.md b/markdown/org/docs/patterns/charlie/options/frontpocketfacing/fr.md
index f60126631c5..2eb73737ced 100644
--- a/markdown/org/docs/patterns/charlie/options/frontpocketfacing/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/frontpocketfacing/fr.md
@@ -8,4 +8,4 @@ Increase this to use more facing, which means you'll have to look deeper into th
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/frontpocketslantbend/fr.md b/markdown/org/docs/patterns/charlie/options/frontpocketslantbend/fr.md
index 9f40fad2e4e..5278f31ba59 100644
--- a/markdown/org/docs/patterns/charlie/options/frontpocketslantbend/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/frontpocketslantbend/fr.md
@@ -6,4 +6,4 @@ Controls the radius by which we round the pocket slant into the outseam.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/frontpocketslantdepth/fr.md b/markdown/org/docs/patterns/charlie/options/frontpocketslantdepth/fr.md
index a357957e3f7..317c4513813 100644
--- a/markdown/org/docs/patterns/charlie/options/frontpocketslantdepth/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/frontpocketslantdepth/fr.md
@@ -6,4 +6,4 @@ Controls the depth of the front pocket slant. In other words, it determines how
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/frontpocketslantround/fr.md b/markdown/org/docs/patterns/charlie/options/frontpocketslantround/fr.md
index ae45d065f75..5fabfc1b9a7 100644
--- a/markdown/org/docs/patterns/charlie/options/frontpocketslantround/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/frontpocketslantround/fr.md
@@ -6,4 +6,4 @@ Controls how far from the end of the slant we start rounding into the outseam.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/frontpocketslantwidth/fr.md b/markdown/org/docs/patterns/charlie/options/frontpocketslantwidth/fr.md
index ea9ec3ec5be..9a3f3be1b79 100644
--- a/markdown/org/docs/patterns/charlie/options/frontpocketslantwidth/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/frontpocketslantwidth/fr.md
@@ -8,4 +8,4 @@ Increasing this will give a more slanted pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/frontpocketwidth/fr.md b/markdown/org/docs/patterns/charlie/options/frontpocketwidth/fr.md
index 4c3d11e9486..e1a04d3d9bd 100644
--- a/markdown/org/docs/patterns/charlie/options/frontpocketwidth/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/frontpocketwidth/fr.md
@@ -6,4 +6,4 @@ Controls the width of the front pocket bag. In other words, how far the pocket b
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/grainlineposition/fr.md b/markdown/org/docs/patterns/charlie/options/grainlineposition/fr.md
index 25a6ce4f946..d209dcd43c1 100644
--- a/markdown/org/docs/patterns/charlie/options/grainlineposition/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/grainlineposition/fr.md
@@ -8,4 +8,4 @@ You can use this to shift the grainline inward or outward if that works better f
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/kneeease/fr.md b/markdown/org/docs/patterns/charlie/options/kneeease/fr.md
index 1bfa7dd3f57..e68ec9430d8 100644
--- a/markdown/org/docs/patterns/charlie/options/kneeease/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/kneeease/fr.md
@@ -6,4 +6,4 @@ Controls the amount of ease at your knees, which also determines the width of th
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/legbalance/fr.md b/markdown/org/docs/patterns/charlie/options/legbalance/fr.md
index f463437954a..047309c9f24 100644
--- a/markdown/org/docs/patterns/charlie/options/legbalance/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/legbalance/fr.md
@@ -18,4 +18,4 @@ This trick is often used in womenswear jeans
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/lengthbonus/fr.md b/markdown/org/docs/patterns/charlie/options/lengthbonus/fr.md
index 8b335a5587d..d34ac9e9006 100644
--- a/markdown/org/docs/patterns/charlie/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/lengthbonus/fr.md
@@ -15,4 +15,4 @@ le pantalon devra Γͺtre plus long que celui-ci pour toucher le sol.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/seatease/fr.md b/markdown/org/docs/patterns/charlie/options/seatease/fr.md
index ab64bfe5c82..ca081909f21 100644
--- a/markdown/org/docs/patterns/charlie/options/seatease/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/seatease/fr.md
@@ -6,4 +6,4 @@ Controls the amount of ease at your seat/bum.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/waistbalance/fr.md b/markdown/org/docs/patterns/charlie/options/waistbalance/fr.md
index a774d0e5362..0a8c3452c67 100644
--- a/markdown/org/docs/patterns/charlie/options/waistbalance/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/waistbalance/fr.md
@@ -12,4 +12,4 @@ This option allows you to control this balance.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/waistbandwidth/fr.md b/markdown/org/docs/patterns/charlie/options/waistbandwidth/fr.md
index 1009a305c23..1765e53926b 100644
--- a/markdown/org/docs/patterns/charlie/options/waistbandwidth/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/waistbandwidth/fr.md
@@ -6,4 +6,4 @@ Controls the width of the waistband.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/waistease/fr.md b/markdown/org/docs/patterns/charlie/options/waistease/fr.md
index 17e8d43a4eb..e643e43525f 100644
--- a/markdown/org/docs/patterns/charlie/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/waistease/fr.md
@@ -8,4 +8,4 @@ Even if you draft lower pants, this will still influence the ease at the top of
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/charlie/options/waistheight/fr.md b/markdown/org/docs/patterns/charlie/options/waistheight/fr.md
index 6a9c44e24b5..dd664461441 100644
--- a/markdown/org/docs/patterns/charlie/options/waistheight/fr.md
+++ b/markdown/org/docs/patterns/charlie/options/waistheight/fr.md
@@ -9,4 +9,4 @@ Controls the height of the waist, where:
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/diana/options/acrossbackfactor/fr.md
index 745a07988a9..1d04e6cd314 100644
--- a/markdown/org/docs/patterns/diana/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/diana/options/acrossbackfactor/fr.md
@@ -6,4 +6,4 @@ Controls your across back width as a factor of your shoulder to shoulder measure
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/diana/options/armholedepthfactor/fr.md
index 513638da23c..5c9dfa6221c 100644
--- a/markdown/org/docs/patterns/diana/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/diana/options/armholedepthfactor/fr.md
@@ -6,4 +6,4 @@ This option controls the depth of the armhole.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/bicepsease/fr.md b/markdown/org/docs/patterns/diana/options/bicepsease/fr.md
index 6a5cca2eadb..82e38e6bbb8 100644
--- a/markdown/org/docs/patterns/diana/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/diana/options/bicepsease/fr.md
@@ -8,4 +8,4 @@ Cette option permet de contrΓ΄ler l'ajustement Γ votre bras supΓ©rieur et influ
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/chestease/fr.md b/markdown/org/docs/patterns/diana/options/chestease/fr.md
index 4e22a271a2d..31c110d0e4c 100644
--- a/markdown/org/docs/patterns/diana/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/diana/options/chestease/fr.md
@@ -8,4 +8,4 @@ Cette option contrΓ΄le l'aisance au niveau de la poitrine.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/cuffease/fr.md b/markdown/org/docs/patterns/diana/options/cuffease/fr.md
index 5963b7a8c69..c2d730c0b60 100644
--- a/markdown/org/docs/patterns/diana/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/diana/options/cuffease/fr.md
@@ -6,6 +6,6 @@ title: "Cuff ease"
The amount of ease at your wrist.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/diana/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/diana/options/draftforhighbust/fr.md
index 34eefab926c..df7282bbb4d 100644
--- a/markdown/org/docs/patterns/diana/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/diana/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/diana/options/drapeangle/fr.md b/markdown/org/docs/patterns/diana/options/drapeangle/fr.md
index 8c08c992d9b..97e787900ed 100644
--- a/markdown/org/docs/patterns/diana/options/drapeangle/fr.md
+++ b/markdown/org/docs/patterns/diana/options/drapeangle/fr.md
@@ -8,4 +8,4 @@ Cette option contrΓ΄le la quantitΓ© de drapes de votre haut.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/diana/options/frontarmholedeeper/fr.md
index 28dec2cfa74..9bec92c23d9 100644
--- a/markdown/org/docs/patterns/diana/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/diana/options/frontarmholedeeper/fr.md
@@ -8,4 +8,4 @@ Since the human shoulder is more rounded at the front of the body, the sleeve(ca
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/hipsease/fr.md b/markdown/org/docs/patterns/diana/options/hipsease/fr.md
index a2b87fead09..0600838d1b2 100644
--- a/markdown/org/docs/patterns/diana/options/hipsease/fr.md
+++ b/markdown/org/docs/patterns/diana/options/hipsease/fr.md
@@ -8,4 +8,4 @@ Cette option permet de contrΓ΄ler la quantitΓ© d'aisance des hanches.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/lengthbonus/fr.md b/markdown/org/docs/patterns/diana/options/lengthbonus/fr.md
index 8a4902bad44..8aa1a7375f5 100644
--- a/markdown/org/docs/patterns/diana/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/diana/options/lengthbonus/fr.md
@@ -8,4 +8,4 @@ Cette option contrΓ΄le la longueur du haut.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/shoulderease/fr.md b/markdown/org/docs/patterns/diana/options/shoulderease/fr.md
index bf3eb1d74c2..8c6fce3702d 100644
--- a/markdown/org/docs/patterns/diana/options/shoulderease/fr.md
+++ b/markdown/org/docs/patterns/diana/options/shoulderease/fr.md
@@ -8,4 +8,4 @@ This option controls the position of your shoulder seam.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/shoulderseamlength/fr.md b/markdown/org/docs/patterns/diana/options/shoulderseamlength/fr.md
index c635e1a66af..9c52f1a4826 100644
--- a/markdown/org/docs/patterns/diana/options/shoulderseamlength/fr.md
+++ b/markdown/org/docs/patterns/diana/options/shoulderseamlength/fr.md
@@ -8,4 +8,4 @@ Cette option dΓ©termine la largeur de l'encolure en contrΓ΄lant la longueur de l
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapbackfactorx/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapbackfactorx/fr.md
index a97c9890360..ce610f06cc4 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapbackfactorx/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapbackfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapbackfactory/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapbackfactory/fr.md
index 12b57636326..e6080260317 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapbackfactory/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapbackfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapease/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapease/fr.md
index e2e017f5914..e1e840617f0 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapease/fr.md
@@ -15,4 +15,4 @@ Pour les tissus lΓ©gers ou la maille, on n'ajoute pas d'aisance de tΓͺte de manc
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapfrontfactorx/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapfrontfactorx/fr.md
index 2984faec40b..c008661aa40 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapfrontfactorx/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapfrontfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapfrontfactory/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapfrontfactory/fr.md
index 58e67c1f036..7e3edf6c572 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapfrontfactory/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapfrontfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapq1offset/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapq1offset/fr.md
index 41fbb1d71d1..92ad77fff36 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapq1offset/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapq1offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapq1spread1/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapq1spread1/fr.md
index 070ed1de7f2..467a67397f5 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapq1spread1/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapq1spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapq1spread2/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapq1spread2/fr.md
index 4d4ed1a4783..82169501255 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapq1spread2/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapq1spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapq2offset/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapq2offset/fr.md
index 91161f576e3..e8896928e62 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapq2offset/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapq2offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapq2spread1/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapq2spread1/fr.md
index 98727f887c5..0f81b49be9d 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapq2spread1/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapq2spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapq2spread2/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapq2spread2/fr.md
index ef5eeb21999..1dbf150b7a6 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapq2spread2/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapq2spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapq3offset/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapq3offset/fr.md
index 7a418465eb6..1749dfa02ee 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapq3offset/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapq3offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapq3spread1/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapq3spread1/fr.md
index 85e67e763d1..4d74371bba9 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapq3spread1/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapq3spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapq3spread2/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapq3spread2/fr.md
index d5df1cc4036..0594ab9a647 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapq3spread2/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapq3spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapq4offset/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapq4offset/fr.md
index 9a7c432af65..42814595e20 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapq4offset/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapq4offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapq4spread1/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapq4spread1/fr.md
index 2d7be659ef4..598ad6e9539 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapq4spread1/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapq4spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecapq4spread2/fr.md b/markdown/org/docs/patterns/diana/options/sleevecapq4spread2/fr.md
index 4cba66e46a7..2977c4c22c3 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecapq4spread2/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecapq4spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecaptopfactorx/fr.md b/markdown/org/docs/patterns/diana/options/sleevecaptopfactorx/fr.md
index a591684cf45..b1a592d9914 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecaptopfactorx/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecaptopfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevecaptopfactory/fr.md b/markdown/org/docs/patterns/diana/options/sleevecaptopfactory/fr.md
index 9d3cc87de6d..79829abeac3 100644
--- a/markdown/org/docs/patterns/diana/options/sleevecaptopfactory/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevecaptopfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/diana/options/sleevelengthbonus/fr.md
index aaccb238fae..5cff487274c 100644
--- a/markdown/org/docs/patterns/diana/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevelengthbonus/fr.md
@@ -8,4 +8,4 @@ Cette option dΓ©termine la longueur des manches.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/sleevewidthguarantee/fr.md b/markdown/org/docs/patterns/diana/options/sleevewidthguarantee/fr.md
index 5ad43c2e134..e3edb26e3cf 100644
--- a/markdown/org/docs/patterns/diana/options/sleevewidthguarantee/fr.md
+++ b/markdown/org/docs/patterns/diana/options/sleevewidthguarantee/fr.md
@@ -12,4 +12,4 @@ Mais pour Γ©viter que la manche ne devienne trop Γ©troite, on n'adapte la largeu
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/diana/options/waistease/fr.md b/markdown/org/docs/patterns/diana/options/waistease/fr.md
index 84cd4b50b0a..7af0cbdc0cc 100644
--- a/markdown/org/docs/patterns/diana/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/diana/options/waistease/fr.md
@@ -8,4 +8,4 @@ Cette option permet de contrΓ΄ler la quantitΓ© d'aisance Γ la taille.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/florence/options/curve/fr.md b/markdown/org/docs/patterns/florence/options/curve/fr.md
index e133a29e7c1..d1d7f4ca223 100644
--- a/markdown/org/docs/patterns/florence/options/curve/fr.md
+++ b/markdown/org/docs/patterns/florence/options/curve/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la courbe du bord supΓ©rieur de votre masque.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/florence/options/height/fr.md b/markdown/org/docs/patterns/florence/options/height/fr.md
index e6069209c22..c8eb56356d2 100644
--- a/markdown/org/docs/patterns/florence/options/height/fr.md
+++ b/markdown/org/docs/patterns/florence/options/height/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la hauteur de votre masque.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/florence/options/length/fr.md b/markdown/org/docs/patterns/florence/options/length/fr.md
index 3d0c89ab8f6..929afd176d8 100644
--- a/markdown/org/docs/patterns/florence/options/length/fr.md
+++ b/markdown/org/docs/patterns/florence/options/length/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la longueur de votre masque.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/florent/options/headease/fr.md b/markdown/org/docs/patterns/florent/options/headease/fr.md
index 13b11eed927..2af5baaf6f6 100644
--- a/markdown/org/docs/patterns/florent/options/headease/fr.md
+++ b/markdown/org/docs/patterns/florent/options/headease/fr.md
@@ -6,4 +6,4 @@ La quantitΓ© d'aisance autour de la tΓͺte.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hi/options/aggressive/fr.md b/markdown/org/docs/patterns/hi/options/aggressive/fr.md
index 1e67cdddb7f..8353b8b916e 100644
--- a/markdown/org/docs/patterns/hi/options/aggressive/fr.md
+++ b/markdown/org/docs/patterns/hi/options/aggressive/fr.md
@@ -4,6 +4,6 @@ title: "Aggressive"
Your Hi can come in the default sweet form, or in a more aggressive version with more authentic teeth, and a mean look.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/hi/options/hungry/fr.md b/markdown/org/docs/patterns/hi/options/hungry/fr.md
index 35fd54384cc..829f649ed4e 100644
--- a/markdown/org/docs/patterns/hi/options/hungry/fr.md
+++ b/markdown/org/docs/patterns/hi/options/hungry/fr.md
@@ -4,6 +4,6 @@ title: "Hungry"
This setting determins how long it has been since your Hi has had something to eat. More hungry results in a leaner shark.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/hi/options/size/fr.md b/markdown/org/docs/patterns/hi/options/size/fr.md
index 23305871214..7a3c2bf992e 100644
--- a/markdown/org/docs/patterns/hi/options/size/fr.md
+++ b/markdown/org/docs/patterns/hi/options/size/fr.md
@@ -4,6 +4,6 @@ title: "Size"
Hi can be made in different sizes. The default is about a meter in length. This is a percentage of this default length.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/holmes/options/gores/fr.md b/markdown/org/docs/patterns/holmes/options/gores/fr.md
index 0d2f806ad61..61de952cb23 100644
--- a/markdown/org/docs/patterns/holmes/options/gores/fr.md
+++ b/markdown/org/docs/patterns/holmes/options/gores/fr.md
@@ -10,4 +10,4 @@ Controls the number of panels there are in the crown
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hortensia/options/handlewidth/fr.md b/markdown/org/docs/patterns/hortensia/options/handlewidth/fr.md
index b87641a6a7c..a9ce8ab99be 100644
--- a/markdown/org/docs/patterns/hortensia/options/handlewidth/fr.md
+++ b/markdown/org/docs/patterns/hortensia/options/handlewidth/fr.md
@@ -12,4 +12,4 @@ Turn on paperless to see the width of the handle.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hortensia/options/size/fr.md b/markdown/org/docs/patterns/hortensia/options/size/fr.md
index 89a24091b10..ae4d29995da 100644
--- a/markdown/org/docs/patterns/hortensia/options/size/fr.md
+++ b/markdown/org/docs/patterns/hortensia/options/size/fr.md
@@ -25,4 +25,4 @@ Turn on paperless to see the measurements of the handbag. This will help you to
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hortensia/options/straplength/fr.md b/markdown/org/docs/patterns/hortensia/options/straplength/fr.md
index 2c10e9ff7a7..55d8a5bdcd9 100644
--- a/markdown/org/docs/patterns/hortensia/options/straplength/fr.md
+++ b/markdown/org/docs/patterns/hortensia/options/straplength/fr.md
@@ -12,4 +12,4 @@ Turn on paperless to see the length of the strap.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hortensia/options/zippersize/fr.md b/markdown/org/docs/patterns/hortensia/options/zippersize/fr.md
index 4567005c70f..7811b0dd3bb 100644
--- a/markdown/org/docs/patterns/hortensia/options/zippersize/fr.md
+++ b/markdown/org/docs/patterns/hortensia/options/zippersize/fr.md
@@ -29,4 +29,4 @@ If in doubt, or if the size of your zipper is unavailable use the size that is s
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/huey/options/acrossbackfactor/fr.md
index dc951fbfebf..da3407f328e 100644
--- a/markdown/org/docs/patterns/huey/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/huey/options/acrossbackfactor/fr.md
@@ -6,4 +6,4 @@ Controls your across back width as a factor of your shoulder to shoulder measure
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/huey/options/armholedepthfactor/fr.md
index dddbb9d558d..53d8721ec5d 100644
--- a/markdown/org/docs/patterns/huey/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/huey/options/armholedepthfactor/fr.md
@@ -6,4 +6,4 @@ This option controls the depth of the armhole.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/backneckcutout/fr.md b/markdown/org/docs/patterns/huey/options/backneckcutout/fr.md
index 667127dba2d..6ba52afd8e5 100644
--- a/markdown/org/docs/patterns/huey/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/huey/options/backneckcutout/fr.md
@@ -6,4 +6,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/bicepsease/fr.md b/markdown/org/docs/patterns/huey/options/bicepsease/fr.md
index f91d3e07f85..cdd15574085 100644
--- a/markdown/org/docs/patterns/huey/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/huey/options/bicepsease/fr.md
@@ -6,4 +6,4 @@ The amount of ease at your upper arm.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/chestease/fr.md b/markdown/org/docs/patterns/huey/options/chestease/fr.md
index f249ccd44fa..e3c13018028 100644
--- a/markdown/org/docs/patterns/huey/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/huey/options/chestease/fr.md
@@ -6,4 +6,4 @@ This option controls the ease at your chest.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/collarease/fr.md b/markdown/org/docs/patterns/huey/options/collarease/fr.md
index 376fe5f1f58..0fbde0b486b 100644
--- a/markdown/org/docs/patterns/huey/options/collarease/fr.md
+++ b/markdown/org/docs/patterns/huey/options/collarease/fr.md
@@ -6,4 +6,4 @@ Controls the amount of ease at your collar/neck.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/cuffease/fr.md b/markdown/org/docs/patterns/huey/options/cuffease/fr.md
index b7b08aba065..65a3dbeedeb 100644
--- a/markdown/org/docs/patterns/huey/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/huey/options/cuffease/fr.md
@@ -6,4 +6,4 @@ This option controls the ease at your wrist.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/huey/options/draftforhighbust/fr.md
index 82b1aa5ed4a..39d185b756f 100644
--- a/markdown/org/docs/patterns/huey/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/huey/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/huey/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/huey/options/frontarmholedeeper/fr.md
index a46f0072d59..9156444f21f 100644
--- a/markdown/org/docs/patterns/huey/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/huey/options/frontarmholedeeper/fr.md
@@ -8,4 +8,4 @@ Since the human shoulder is more rounded at the front of the body, the sleeve(ca
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/hipsease/fr.md b/markdown/org/docs/patterns/huey/options/hipsease/fr.md
index 22db6137e48..beb0b79e7a2 100644
--- a/markdown/org/docs/patterns/huey/options/hipsease/fr.md
+++ b/markdown/org/docs/patterns/huey/options/hipsease/fr.md
@@ -8,4 +8,4 @@ La marge d'aisance aux hanches.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/hoodangle/fr.md b/markdown/org/docs/patterns/huey/options/hoodangle/fr.md
index 75f3cb1f189..d98adc0ce58 100644
--- a/markdown/org/docs/patterns/huey/options/hoodangle/fr.md
+++ b/markdown/org/docs/patterns/huey/options/hoodangle/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le l'angle de fixation de la capuche
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/hoodclosure/fr.md b/markdown/org/docs/patterns/huey/options/hoodclosure/fr.md
index 58ee48f0437..8653848de15 100644
--- a/markdown/org/docs/patterns/huey/options/hoodclosure/fr.md
+++ b/markdown/org/docs/patterns/huey/options/hoodclosure/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la quantitΓ© de capuche sur la partie avant.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/hoodcutback/fr.md b/markdown/org/docs/patterns/huey/options/hoodcutback/fr.md
index 8fcf6dbaf67..f17d390fa65 100644
--- a/markdown/org/docs/patterns/huey/options/hoodcutback/fr.md
+++ b/markdown/org/docs/patterns/huey/options/hoodcutback/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le combien l'ouverture de la capuche est coupΓ©e, rendant la capuche moin
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/hooddepth/fr.md b/markdown/org/docs/patterns/huey/options/hooddepth/fr.md
index 36c22e1050d..f868971152a 100644
--- a/markdown/org/docs/patterns/huey/options/hooddepth/fr.md
+++ b/markdown/org/docs/patterns/huey/options/hooddepth/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la profondeur de la capuche.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/hoodheight/fr.md b/markdown/org/docs/patterns/huey/options/hoodheight/fr.md
index 5ee6e6f955a..4531664b8da 100644
--- a/markdown/org/docs/patterns/huey/options/hoodheight/fr.md
+++ b/markdown/org/docs/patterns/huey/options/hoodheight/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la hauteur de la capuche.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/lengthbonus/fr.md b/markdown/org/docs/patterns/huey/options/lengthbonus/fr.md
index 8bf4e1c0725..487ae1f6cea 100644
--- a/markdown/org/docs/patterns/huey/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/huey/options/lengthbonus/fr.md
@@ -6,4 +6,4 @@ The amount to lengthen the garment by. A negative value will shorten it.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/pocket/fr.md b/markdown/org/docs/patterns/huey/options/pocket/fr.md
index 67a07c1938a..0d526ff4373 100644
--- a/markdown/org/docs/patterns/huey/options/pocket/fr.md
+++ b/markdown/org/docs/patterns/huey/options/pocket/fr.md
@@ -8,4 +8,4 @@ Voulez-vous ou non la poche avant ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/pocketheight/fr.md b/markdown/org/docs/patterns/huey/options/pocketheight/fr.md
index 8ed905cf23a..af538e087b8 100644
--- a/markdown/org/docs/patterns/huey/options/pocketheight/fr.md
+++ b/markdown/org/docs/patterns/huey/options/pocketheight/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la hauteur de la poche avant.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/pocketwidth/fr.md b/markdown/org/docs/patterns/huey/options/pocketwidth/fr.md
index 3813045b084..c59dec86325 100644
--- a/markdown/org/docs/patterns/huey/options/pocketwidth/fr.md
+++ b/markdown/org/docs/patterns/huey/options/pocketwidth/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la largeur de la poche avant.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/ribbing/fr.md b/markdown/org/docs/patterns/huey/options/ribbing/fr.md
index c4f28eed48b..95ac20c8043 100644
--- a/markdown/org/docs/patterns/huey/options/ribbing/fr.md
+++ b/markdown/org/docs/patterns/huey/options/ribbing/fr.md
@@ -8,4 +8,4 @@ Si l'on doit inclure ou non du bord cΓ΄te.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/ribbingheight/fr.md b/markdown/org/docs/patterns/huey/options/ribbingheight/fr.md
index 90340bfce26..24fabdbb009 100644
--- a/markdown/org/docs/patterns/huey/options/ribbingheight/fr.md
+++ b/markdown/org/docs/patterns/huey/options/ribbingheight/fr.md
@@ -8,4 +8,4 @@ La hauteur de la bande Γ l'ourlet du bas et aux poignets.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/ribbingstretch/fr.md b/markdown/org/docs/patterns/huey/options/ribbingstretch/fr.md
index f23a892798c..d4f45a670c2 100644
--- a/markdown/org/docs/patterns/huey/options/ribbingstretch/fr.md
+++ b/markdown/org/docs/patterns/huey/options/ribbingstretch/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la quantitΓ© d'Γ©lasticitΓ© Γ prΓ©voir dans le bord cΓ΄te.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/s3armhole/fr.md b/markdown/org/docs/patterns/huey/options/s3armhole/fr.md
index ef7a31b60c2..0394aca8545 100644
--- a/markdown/org/docs/patterns/huey/options/s3armhole/fr.md
+++ b/markdown/org/docs/patterns/huey/options/s3armhole/fr.md
@@ -9,4 +9,4 @@ ContrΓ΄le l'emplacement de la couture des Γ©paules sur le cΓ΄tΓ© du bras.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/s3collar/fr.md b/markdown/org/docs/patterns/huey/options/s3collar/fr.md
index fc0e2167589..28f1c7810bd 100644
--- a/markdown/org/docs/patterns/huey/options/s3collar/fr.md
+++ b/markdown/org/docs/patterns/huey/options/s3collar/fr.md
@@ -9,4 +9,4 @@ ContrΓ΄le l'emplacement de la couture des Γ©paules sur le cΓ΄tΓ© du col.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/shoulderease/fr.md b/markdown/org/docs/patterns/huey/options/shoulderease/fr.md
index 1561fec035f..b6707f5aa76 100644
--- a/markdown/org/docs/patterns/huey/options/shoulderease/fr.md
+++ b/markdown/org/docs/patterns/huey/options/shoulderease/fr.md
@@ -8,4 +8,4 @@ This option allows you to create some extra ease at the shoulders which shifts t
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/shoulderslopereduction/fr.md b/markdown/org/docs/patterns/huey/options/shoulderslopereduction/fr.md
index a96d28d6d57..7293050b13d 100644
--- a/markdown/org/docs/patterns/huey/options/shoulderslopereduction/fr.md
+++ b/markdown/org/docs/patterns/huey/options/shoulderslopereduction/fr.md
@@ -4,6 +4,6 @@ title: Shoulder slope reduction
The amount by which the shoulder slope is reduced to allow for shoulder padding.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapbackfactorx/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapbackfactorx/fr.md
index c49e4f37d8f..9581f96b627 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapbackfactorx/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapbackfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapbackfactory/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapbackfactory/fr.md
index 2499d28d86d..a786d0d8342 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapbackfactory/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapbackfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapease/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapease/fr.md
index 74b84be89fb..1436327ced0 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapease/fr.md
@@ -15,4 +15,4 @@ Pour les tissus lΓ©gers ou la maille, on n'ajoute pas d'aisance de tΓͺte de manc
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapfrontfactorx/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapfrontfactorx/fr.md
index 963d7f97338..3cfe2d3be50 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapfrontfactorx/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapfrontfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapfrontfactory/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapfrontfactory/fr.md
index 0ade4aaeff8..5b30d883923 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapfrontfactory/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapfrontfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapq1offset/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapq1offset/fr.md
index 6c3c7d0d49c..e7fca6b89cc 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapq1offset/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapq1offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapq1spread1/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapq1spread1/fr.md
index 9d73d7105fc..9d11941e958 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapq1spread1/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapq1spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapq1spread2/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapq1spread2/fr.md
index 62f14c514b5..b448c44a0d4 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapq1spread2/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapq1spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapq2offset/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapq2offset/fr.md
index c4a20c7773c..8cdff877eaf 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapq2offset/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapq2offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapq2spread1/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapq2spread1/fr.md
index 8a6006457c3..c5bfaf915c3 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapq2spread1/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapq2spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapq2spread2/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapq2spread2/fr.md
index 75a6b81933d..cdc04eafde3 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapq2spread2/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapq2spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapq3offset/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapq3offset/fr.md
index 8886395af74..5aa590f605f 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapq3offset/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapq3offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapq3spread1/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapq3spread1/fr.md
index 8d5870881b7..5679c624a18 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapq3spread1/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapq3spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapq3spread2/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapq3spread2/fr.md
index 7d640c5091f..128021153ad 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapq3spread2/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapq3spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapq4offset/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapq4offset/fr.md
index 53e4109064a..ca324a5218f 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapq4offset/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapq4offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapq4spread1/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapq4spread1/fr.md
index e5d2e395ada..e7d445edeb8 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapq4spread1/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapq4spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecapq4spread2/fr.md b/markdown/org/docs/patterns/huey/options/sleevecapq4spread2/fr.md
index c9ecd493325..73c4b6b0e5d 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecapq4spread2/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecapq4spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecaptopfactorx/fr.md b/markdown/org/docs/patterns/huey/options/sleevecaptopfactorx/fr.md
index e0e03608a8a..d7dc7701ea0 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecaptopfactorx/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecaptopfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevecaptopfactory/fr.md b/markdown/org/docs/patterns/huey/options/sleevecaptopfactory/fr.md
index 9589e668e46..438646f6b1a 100644
--- a/markdown/org/docs/patterns/huey/options/sleevecaptopfactory/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevecaptopfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/huey/options/sleevelengthbonus/fr.md
index 3b9e4f88049..47d1125b07f 100644
--- a/markdown/org/docs/patterns/huey/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevelengthbonus/fr.md
@@ -6,4 +6,4 @@ This option controls how long to lengthen the sleeves by.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/huey/options/sleevewidthguarantee/fr.md b/markdown/org/docs/patterns/huey/options/sleevewidthguarantee/fr.md
index e23f2b62aa5..4b37653ac24 100644
--- a/markdown/org/docs/patterns/huey/options/sleevewidthguarantee/fr.md
+++ b/markdown/org/docs/patterns/huey/options/sleevewidthguarantee/fr.md
@@ -12,4 +12,4 @@ Mais pour Γ©viter que la manche ne devienne trop Γ©troite, on n'adapte la largeu
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hugo/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/hugo/options/acrossbackfactor/fr.md
index b4f895f5a3b..e7ae1793590 100644
--- a/markdown/org/docs/patterns/hugo/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/hugo/options/acrossbackfactor/fr.md
@@ -6,4 +6,4 @@ Controls your across back width as a factor of your shoulder to shoulder measure
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hugo/options/backneckcutout/fr.md b/markdown/org/docs/patterns/hugo/options/backneckcutout/fr.md
index 007b6e18926..f2f3ef04c32 100644
--- a/markdown/org/docs/patterns/hugo/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/hugo/options/backneckcutout/fr.md
@@ -6,4 +6,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hugo/options/bicepsease/fr.md b/markdown/org/docs/patterns/hugo/options/bicepsease/fr.md
index 9d37c1cb3b6..6075203fefc 100644
--- a/markdown/org/docs/patterns/hugo/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/hugo/options/bicepsease/fr.md
@@ -6,4 +6,4 @@ The amount of ease at your upper arm.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hugo/options/chestease/fr.md b/markdown/org/docs/patterns/hugo/options/chestease/fr.md
index 886a3302e62..3747eda5610 100644
--- a/markdown/org/docs/patterns/hugo/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/hugo/options/chestease/fr.md
@@ -6,4 +6,4 @@ This option controls the ease at your chest.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hugo/options/cuffease/fr.md b/markdown/org/docs/patterns/hugo/options/cuffease/fr.md
index 9d823d2eeac..e82d1438449 100644
--- a/markdown/org/docs/patterns/hugo/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/hugo/options/cuffease/fr.md
@@ -6,4 +6,4 @@ This option controls the ease at your wrist.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hugo/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/hugo/options/draftforhighbust/fr.md
index 8f5998c143a..f1867f16df7 100644
--- a/markdown/org/docs/patterns/hugo/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/hugo/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/hugo/options/hipsease/fr.md b/markdown/org/docs/patterns/hugo/options/hipsease/fr.md
index e43e09b996e..e7f7164b8b2 100644
--- a/markdown/org/docs/patterns/hugo/options/hipsease/fr.md
+++ b/markdown/org/docs/patterns/hugo/options/hipsease/fr.md
@@ -6,4 +6,4 @@ How much room do you want at the hips?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hugo/options/lengthbonus/fr.md b/markdown/org/docs/patterns/hugo/options/lengthbonus/fr.md
index d166a73f4d0..cdfce95c3e9 100644
--- a/markdown/org/docs/patterns/hugo/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/hugo/options/lengthbonus/fr.md
@@ -6,4 +6,4 @@ The amount to lengthen the garment by. A negative value will shorten it.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hugo/options/ribbingheight/fr.md b/markdown/org/docs/patterns/hugo/options/ribbingheight/fr.md
index c97a4ec15e9..216a99cbda4 100644
--- a/markdown/org/docs/patterns/hugo/options/ribbingheight/fr.md
+++ b/markdown/org/docs/patterns/hugo/options/ribbingheight/fr.md
@@ -6,4 +6,4 @@ The height of the ribbing at the hem and cuffs.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hugo/options/ribbingstretch/fr.md b/markdown/org/docs/patterns/hugo/options/ribbingstretch/fr.md
index ac898a953f1..cc3949077c3 100644
--- a/markdown/org/docs/patterns/hugo/options/ribbingstretch/fr.md
+++ b/markdown/org/docs/patterns/hugo/options/ribbingstretch/fr.md
@@ -17,4 +17,4 @@ you need to stretch out to get to 10 cm with a _good_ stretch.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/hugo/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/hugo/options/sleevelengthbonus/fr.md
index 861a9bf7f80..7b5ed25fca4 100644
--- a/markdown/org/docs/patterns/hugo/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/hugo/options/sleevelengthbonus/fr.md
@@ -6,4 +6,4 @@ This option controls how long to lengthen the sleeves by.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/jaeger/options/acrossbackfactor/fr.md
index 873772f112f..ef3ebac7891 100644
--- a/markdown/org/docs/patterns/jaeger/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/acrossbackfactor/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la largeur de votre dos en jouant sur la mesure d'une Γ©paule Γ l'aut
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/jaeger/options/armholedepthfactor/fr.md
index d7ef86a57ed..7252fb40b4f 100644
--- a/markdown/org/docs/patterns/jaeger/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/armholedepthfactor/fr.md
@@ -8,4 +8,4 @@ Ceci contrΓ΄le la profondeur de l'emmanchure qui Γ son tour influe sur la large
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/backneckcutout/fr.md b/markdown/org/docs/patterns/jaeger/options/backneckcutout/fr.md
index e91438cecb4..4940fd092ef 100644
--- a/markdown/org/docs/patterns/jaeger/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/backneckcutout/fr.md
@@ -6,4 +6,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/backvent/fr.md b/markdown/org/docs/patterns/jaeger/options/backvent/fr.md
index ec4781a4fcb..e3887e8858c 100644
--- a/markdown/org/docs/patterns/jaeger/options/backvent/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/backvent/fr.md
@@ -12,4 +12,4 @@ Comment aimez-vous vos fentes de dos ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/backventlength/fr.md b/markdown/org/docs/patterns/jaeger/options/backventlength/fr.md
index 86b657572bc..a1888f17eb0 100644
--- a/markdown/org/docs/patterns/jaeger/options/backventlength/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/backventlength/fr.md
@@ -8,4 +8,4 @@ Contrôle la longueur de la fente arrière. Les nombres inférieurs se traduisen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/bicepsease/fr.md b/markdown/org/docs/patterns/jaeger/options/bicepsease/fr.md
index 8eccf313df8..efa79952fe6 100644
--- a/markdown/org/docs/patterns/jaeger/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/bicepsease/fr.md
@@ -6,4 +6,4 @@ The amount of ease at your upper arm.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/buttonlength/fr.md b/markdown/org/docs/patterns/jaeger/options/buttonlength/fr.md
index 72ebff1bdec..7536a0886f2 100644
--- a/markdown/org/docs/patterns/jaeger/options/buttonlength/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/buttonlength/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la longueur sur laquelle les boutons sont espacΓ©s. En d'autres termes
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/buttons/fr.md b/markdown/org/docs/patterns/jaeger/options/buttons/fr.md
index 9aee4acbb64..4e7688e480a 100644
--- a/markdown/org/docs/patterns/jaeger/options/buttons/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/buttons/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la quantitΓ© de boutons.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/centerbackdart/fr.md b/markdown/org/docs/patterns/jaeger/options/centerbackdart/fr.md
index b9b7ce6cde5..a38ec113dc0 100644
--- a/markdown/org/docs/patterns/jaeger/options/centerbackdart/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/centerbackdart/fr.md
@@ -8,4 +8,4 @@ La rΓ©duction au centre du dos des Γ©paules au cou, qui accueille pour une courb
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/centerfronthemdrop/fr.md b/markdown/org/docs/patterns/jaeger/options/centerfronthemdrop/fr.md
index 9c95ff2844a..80204c760d2 100644
--- a/markdown/org/docs/patterns/jaeger/options/centerfronthemdrop/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/centerfronthemdrop/fr.md
@@ -8,4 +8,4 @@ Combien voulez-vous que le devant de votre veste soit plus long/infΓ©rieur au do
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/chestease/fr.md b/markdown/org/docs/patterns/jaeger/options/chestease/fr.md
index 10b10707ec2..bb4c9d548a4 100644
--- a/markdown/org/docs/patterns/jaeger/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/chestease/fr.md
@@ -8,4 +8,4 @@ La quantitΓ© d'aisance Γ votre poitrine.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/chestpocketangle/fr.md b/markdown/org/docs/patterns/jaeger/options/chestpocketangle/fr.md
index 2420a0f642a..5a94c064fc8 100644
--- a/markdown/org/docs/patterns/jaeger/options/chestpocketangle/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/chestpocketangle/fr.md
@@ -8,4 +8,4 @@ Angle d'inclinaison de la poche de poitrine.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/chestpocketdepth/fr.md b/markdown/org/docs/patterns/jaeger/options/chestpocketdepth/fr.md
index d7cbbdf8c8b..c89bdb6bce5 100644
--- a/markdown/org/docs/patterns/jaeger/options/chestpocketdepth/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/chestpocketdepth/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la profondeur de la poche de la poitrine.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/chestpocketplacement/fr.md b/markdown/org/docs/patterns/jaeger/options/chestpocketplacement/fr.md
index d6847b7cacc..84532313ac4 100644
--- a/markdown/org/docs/patterns/jaeger/options/chestpocketplacement/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/chestpocketplacement/fr.md
@@ -8,4 +8,4 @@ Emplacement de la poche de poitrine en proportion d'un quart de votre circonfΓ©r
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/chestpocketweltsize/fr.md b/markdown/org/docs/patterns/jaeger/options/chestpocketweltsize/fr.md
index f3bfb8733da..bbce4db6607 100644
--- a/markdown/org/docs/patterns/jaeger/options/chestpocketweltsize/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/chestpocketweltsize/fr.md
@@ -8,4 +8,4 @@ La hauteur de la poche thoracique.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/chestpocketwidth/fr.md b/markdown/org/docs/patterns/jaeger/options/chestpocketwidth/fr.md
index ca4dc2e2505..a5c5bc96940 100644
--- a/markdown/org/docs/patterns/jaeger/options/chestpocketwidth/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/chestpocketwidth/fr.md
@@ -8,4 +8,4 @@ La largeur de la poche de la poitrine, en tant que facteur de la circonfΓ©rence
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/chestshaping/fr.md b/markdown/org/docs/patterns/jaeger/options/chestshaping/fr.md
index fbbee4e20df..02d58b826d4 100644
--- a/markdown/org/docs/patterns/jaeger/options/chestshaping/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/chestshaping/fr.md
@@ -8,4 +8,4 @@ La quantitΓ© verticale de dΓ©coupage & de la face supΓ©rieure pour former le cof
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/collarease/fr.md b/markdown/org/docs/patterns/jaeger/options/collarease/fr.md
index 857da1ac859..ef812e4959a 100644
--- a/markdown/org/docs/patterns/jaeger/options/collarease/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/collarease/fr.md
@@ -6,4 +6,4 @@ Controls the amount of ease at your collar/neck.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/collarheight/fr.md b/markdown/org/docs/patterns/jaeger/options/collarheight/fr.md
index 28b656eec7f..0bb0613d5b9 100644
--- a/markdown/org/docs/patterns/jaeger/options/collarheight/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/collarheight/fr.md
@@ -8,4 +8,4 @@ Il s'agit de la hauteur du col Γ l'arriΓ¨re du cou et ne peut jamais Γͺtre inf
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/collarnotchangle/fr.md b/markdown/org/docs/patterns/jaeger/options/collarnotchangle/fr.md
index 228809ad0c8..50c35fc6d34 100644
--- a/markdown/org/docs/patterns/jaeger/options/collarnotchangle/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/collarnotchangle/fr.md
@@ -8,4 +8,4 @@ Angle du col crantΓ©.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/collarnotchdepth/fr.md b/markdown/org/docs/patterns/jaeger/options/collarnotchdepth/fr.md
index 6302ce5c76b..71c83b95038 100644
--- a/markdown/org/docs/patterns/jaeger/options/collarnotchdepth/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/collarnotchdepth/fr.md
@@ -8,4 +8,4 @@ Profondeur du col crantΓ©.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/collarnotchreturn/fr.md b/markdown/org/docs/patterns/jaeger/options/collarnotchreturn/fr.md
index 2e89072e53e..be58b74c6fd 100644
--- a/markdown/org/docs/patterns/jaeger/options/collarnotchreturn/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/collarnotchreturn/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la longueur du cΓ΄tΓ© supΓ©rieur de l'encoche. 100% = mΓͺme que la pro
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/collarroll/fr.md b/markdown/org/docs/patterns/jaeger/options/collarroll/fr.md
index 35a18b21039..61953a95675 100644
--- a/markdown/org/docs/patterns/jaeger/options/collarroll/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/collarroll/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la quantitΓ© de rouleau dans le collier ; Γ quel point le collier est
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/collarspread/fr.md b/markdown/org/docs/patterns/jaeger/options/collarspread/fr.md
index 9abc1d78dd7..561d2484e4d 100644
--- a/markdown/org/docs/patterns/jaeger/options/collarspread/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/collarspread/fr.md
@@ -6,4 +6,4 @@ L'Γ©cartement du col contrΓ΄le la position des pointes du col - plus c'est grand
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/cuffease/fr.md b/markdown/org/docs/patterns/jaeger/options/cuffease/fr.md
index d59cb8e262b..e9cc894c06c 100644
--- a/markdown/org/docs/patterns/jaeger/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/cuffease/fr.md
@@ -8,4 +8,4 @@ L'ampleur d'aisance Γ votre poignet.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/jaeger/options/draftforhighbust/fr.md
index f9dee9e0949..3aab1fa9cb6 100644
--- a/markdown/org/docs/patterns/jaeger/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/jaeger/options/frontarmholedeeper/fr.md
index 2f5a3b7c0ed..5a4db23c6cf 100644
--- a/markdown/org/docs/patterns/jaeger/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/frontarmholedeeper/fr.md
@@ -8,4 +8,4 @@ Since the human shoulder is more rounded at the front of the body, the sleeve(ca
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/frontcutawayangle/fr.md b/markdown/org/docs/patterns/jaeger/options/frontcutawayangle/fr.md
index 7a3b416b1b0..7d71d2fb0a3 100644
--- a/markdown/org/docs/patterns/jaeger/options/frontcutawayangle/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/frontcutawayangle/fr.md
@@ -8,4 +8,4 @@ L'angle par lequel l'avant s'ouvre sous le bouton infΓ©rieur.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/frontcutawayend/fr.md b/markdown/org/docs/patterns/jaeger/options/frontcutawayend/fr.md
index 2c0b75b287a..0f153b75ba1 100644
--- a/markdown/org/docs/patterns/jaeger/options/frontcutawayend/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/frontcutawayend/fr.md
@@ -6,4 +6,4 @@ En augmentant cette valeur, l'arrondi du pan se terminera plus proche du milieu
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/frontcutawaystart/fr.md b/markdown/org/docs/patterns/jaeger/options/frontcutawaystart/fr.md
index e5761119524..c36f63ddcb5 100644
--- a/markdown/org/docs/patterns/jaeger/options/frontcutawaystart/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/frontcutawaystart/fr.md
@@ -8,4 +8,4 @@ Jusqu'oΓΉ en dessous du bouton infΓ©rieur fait le dΓ©but de l'ouverture.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/frontdartplacement/fr.md b/markdown/org/docs/patterns/jaeger/options/frontdartplacement/fr.md
index 89c85919c73..977aaa0d1c4 100644
--- a/markdown/org/docs/patterns/jaeger/options/frontdartplacement/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/frontdartplacement/fr.md
@@ -8,4 +8,4 @@ Emplacement de la dart avant en proportion de votre circonfΓ©rence de poitrine.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/frontoverlap/fr.md b/markdown/org/docs/patterns/jaeger/options/frontoverlap/fr.md
index 7744cfcb591..f35fe7fa243 100644
--- a/markdown/org/docs/patterns/jaeger/options/frontoverlap/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/frontoverlap/fr.md
@@ -6,4 +6,4 @@ How far the fabric extends beyond the button closure.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/frontpocketdepth/fr.md b/markdown/org/docs/patterns/jaeger/options/frontpocketdepth/fr.md
index f65e143e8ac..32965bf1111 100644
--- a/markdown/org/docs/patterns/jaeger/options/frontpocketdepth/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/frontpocketdepth/fr.md
@@ -8,4 +8,4 @@ La profondeur des poches avant, comme facteur de l'espace entre la taille et l'o
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/frontpocketplacement/fr.md b/markdown/org/docs/patterns/jaeger/options/frontpocketplacement/fr.md
index b2e7aaf7682..0ce64e09bef 100644
--- a/markdown/org/docs/patterns/jaeger/options/frontpocketplacement/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/frontpocketplacement/fr.md
@@ -8,4 +8,4 @@ Emplacement de la poche avant en proportion d'un quart de la circonfΓ©rence de l
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/frontpocketradius/fr.md b/markdown/org/docs/patterns/jaeger/options/frontpocketradius/fr.md
index 29bf2e123fb..166d9fe2695 100644
--- a/markdown/org/docs/patterns/jaeger/options/frontpocketradius/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/frontpocketradius/fr.md
@@ -9,4 +9,4 @@ The radius by which the front pocket is rounded.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/frontpocketwidth/fr.md b/markdown/org/docs/patterns/jaeger/options/frontpocketwidth/fr.md
index c4473384147..faf461c2960 100644
--- a/markdown/org/docs/patterns/jaeger/options/frontpocketwidth/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/frontpocketwidth/fr.md
@@ -8,4 +8,4 @@ L'avant de la poche de la poitrine, en tant que facteur de la circonfΓ©rence de
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/hemradius/fr.md b/markdown/org/docs/patterns/jaeger/options/hemradius/fr.md
index 847f6a857dc..06dc42d05eb 100644
--- a/markdown/org/docs/patterns/jaeger/options/hemradius/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/hemradius/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la quantitΓ© par laquelle l'ourlet est arrondi au fond avant.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/hipsease/fr.md b/markdown/org/docs/patterns/jaeger/options/hipsease/fr.md
index c469ece9c36..dfc3507ad74 100644
--- a/markdown/org/docs/patterns/jaeger/options/hipsease/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/hipsease/fr.md
@@ -8,4 +8,4 @@ La marge d'aisance aux hanches.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/innerpocketdepth/fr.md b/markdown/org/docs/patterns/jaeger/options/innerpocketdepth/fr.md
index b49e2d2f66c..521dac650ab 100644
--- a/markdown/org/docs/patterns/jaeger/options/innerpocketdepth/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/innerpocketdepth/fr.md
@@ -9,4 +9,4 @@ How deep you would like the inner pocket to be.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/innerpocketplacement/fr.md b/markdown/org/docs/patterns/jaeger/options/innerpocketplacement/fr.md
index fb6354e3bda..c787028cfaa 100644
--- a/markdown/org/docs/patterns/jaeger/options/innerpocketplacement/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/innerpocketplacement/fr.md
@@ -9,4 +9,4 @@ The location of the inner pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/innerpocketweltheight/fr.md b/markdown/org/docs/patterns/jaeger/options/innerpocketweltheight/fr.md
index 5569834244f..a6d95cb9943 100644
--- a/markdown/org/docs/patterns/jaeger/options/innerpocketweltheight/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/innerpocketweltheight/fr.md
@@ -9,4 +9,4 @@ Controls the width of the inner pocket welts.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/innerpocketwidth/fr.md b/markdown/org/docs/patterns/jaeger/options/innerpocketwidth/fr.md
index a237b1b1180..d015ba5661b 100644
--- a/markdown/org/docs/patterns/jaeger/options/innerpocketwidth/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/innerpocketwidth/fr.md
@@ -6,4 +6,4 @@ The width of the inner pocket.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/lapelreduction/fr.md b/markdown/org/docs/patterns/jaeger/options/lapelreduction/fr.md
index 45954fbefc0..f553ae8ed8e 100644
--- a/markdown/org/docs/patterns/jaeger/options/lapelreduction/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/lapelreduction/fr.md
@@ -11,4 +11,4 @@ It is common to have the edge of the lapels not be entirely straight, but rather
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/lapelstart/fr.md b/markdown/org/docs/patterns/jaeger/options/lapelstart/fr.md
index cd319c566d7..a45bf86899d 100644
--- a/markdown/org/docs/patterns/jaeger/options/lapelstart/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/lapelstart/fr.md
@@ -8,4 +8,4 @@ Emplacement du point de rupture du tour (oΓΉ commence l'ouverture avant). Les va
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/lengthbonus/fr.md b/markdown/org/docs/patterns/jaeger/options/lengthbonus/fr.md
index 7078eb2d67b..fe0a112e998 100644
--- a/markdown/org/docs/patterns/jaeger/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/lengthbonus/fr.md
@@ -8,4 +8,4 @@ Le montant Γ allonger le corps de votre veste.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/pocketfoldover/fr.md b/markdown/org/docs/patterns/jaeger/options/pocketfoldover/fr.md
index 20c9ed079d0..d6a21e24e58 100644
--- a/markdown/org/docs/patterns/jaeger/options/pocketfoldover/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/pocketfoldover/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la quantitΓ© de tissu principal qui se replie en haut des poches de ch
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/rolllinecollarheight/fr.md b/markdown/org/docs/patterns/jaeger/options/rolllinecollarheight/fr.md
index 1f002156d7a..2339f46165b 100644
--- a/markdown/org/docs/patterns/jaeger/options/rolllinecollarheight/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/rolllinecollarheight/fr.md
@@ -8,4 +8,4 @@ La quantitΓ© par laquelle la ligne de roulement enroule le cou.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/shoulderease/fr.md b/markdown/org/docs/patterns/jaeger/options/shoulderease/fr.md
index e2f96acc035..d95cf705f2f 100644
--- a/markdown/org/docs/patterns/jaeger/options/shoulderease/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/shoulderease/fr.md
@@ -8,4 +8,4 @@ This option allows you to create some extra ease at the shoulders which shifts t
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/shoulderslopereduction/fr.md b/markdown/org/docs/patterns/jaeger/options/shoulderslopereduction/fr.md
index 5aa186403c8..ed18f64b64b 100644
--- a/markdown/org/docs/patterns/jaeger/options/shoulderslopereduction/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/shoulderslopereduction/fr.md
@@ -8,4 +8,4 @@ La quantitΓ© par laquelle la pente des Γ©paules est rΓ©duite pour permettre un a
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/sidefrontplacement/fr.md b/markdown/org/docs/patterns/jaeger/options/sidefrontplacement/fr.md
index bd55b3e7f34..9204b3fd17c 100644
--- a/markdown/org/docs/patterns/jaeger/options/sidefrontplacement/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/sidefrontplacement/fr.md
@@ -8,4 +8,4 @@ Emplacement de la frontière avant/côté en proportion de votre circonférence
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/sleevebend/fr.md b/markdown/org/docs/patterns/jaeger/options/sleevebend/fr.md
index 16155f279c0..28618719bf2 100644
--- a/markdown/org/docs/patterns/jaeger/options/sleevebend/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/sleevebend/fr.md
@@ -8,4 +8,4 @@ La courbure au coude de votre manche.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/sleevecapease/fr.md b/markdown/org/docs/patterns/jaeger/options/sleevecapease/fr.md
index 886f2b75e38..dc4a6387be2 100644
--- a/markdown/org/docs/patterns/jaeger/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/sleevecapease/fr.md
@@ -8,4 +8,4 @@ La facilitΓ© sur le capuchon de manche.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/sleevecapheight/fr.md b/markdown/org/docs/patterns/jaeger/options/sleevecapheight/fr.md
index 553be8fce43..661eb3d238c 100644
--- a/markdown/org/docs/patterns/jaeger/options/sleevecapheight/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/sleevecapheight/fr.md
@@ -6,4 +6,4 @@ Ce facteur contrΓ΄le la hauteur de la tΓͺte de manche.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/jaeger/options/sleevelengthbonus/fr.md
index 1f194ad9ea5..2ffd0add3ff 100644
--- a/markdown/org/docs/patterns/jaeger/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/sleevelengthbonus/fr.md
@@ -18,4 +18,4 @@ Veuillez prendre note de la valeur par dΓ©faut et utiliser cela comme base pour
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/sleeveventlength/fr.md b/markdown/org/docs/patterns/jaeger/options/sleeveventlength/fr.md
index 30887204118..259c7b63760 100644
--- a/markdown/org/docs/patterns/jaeger/options/sleeveventlength/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/sleeveventlength/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la longueur de l'Γ©vasion de la manche.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/sleeveventwidth/fr.md b/markdown/org/docs/patterns/jaeger/options/sleeveventwidth/fr.md
index ac699b0d6c3..fc065f23e55 100644
--- a/markdown/org/docs/patterns/jaeger/options/sleeveventwidth/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/sleeveventwidth/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la largeur de l'Γ©vasion de la manche.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/jaeger/options/waistease/fr.md b/markdown/org/docs/patterns/jaeger/options/waistease/fr.md
index 58bf30eea82..11ce149d1e1 100644
--- a/markdown/org/docs/patterns/jaeger/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/jaeger/options/waistease/fr.md
@@ -8,4 +8,4 @@ L'ampleur d'aisance Γ votre taille.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/lucy/options/edge/fr.md b/markdown/org/docs/patterns/lucy/options/edge/fr.md
index 6c68f3a09bc..a00a1f0abef 100644
--- a/markdown/org/docs/patterns/lucy/options/edge/fr.md
+++ b/markdown/org/docs/patterns/lucy/options/edge/fr.md
@@ -4,6 +4,6 @@ title: Edge
This option controls the width of the top edge of your pocket.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/lucy/options/length/fr.md b/markdown/org/docs/patterns/lucy/options/length/fr.md
index 6c005c252dd..d7b37a5dd7d 100644
--- a/markdown/org/docs/patterns/lucy/options/length/fr.md
+++ b/markdown/org/docs/patterns/lucy/options/length/fr.md
@@ -4,6 +4,6 @@ title: Length
The length option determines how long your pocket will be.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/lucy/options/width/fr.md b/markdown/org/docs/patterns/lucy/options/width/fr.md
index c7809d15808..17c31e1f3f7 100644
--- a/markdown/org/docs/patterns/lucy/options/width/fr.md
+++ b/markdown/org/docs/patterns/lucy/options/width/fr.md
@@ -4,6 +4,6 @@ title: Width
This option determines the width of the pocket overall.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/lunetius/options/length/fr.md b/markdown/org/docs/patterns/lunetius/options/length/fr.md
index 7ff25681632..32ee2cc3527 100644
--- a/markdown/org/docs/patterns/lunetius/options/length/fr.md
+++ b/markdown/org/docs/patterns/lunetius/options/length/fr.md
@@ -6,4 +6,4 @@ Choose from the different length styles
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/lunetius/options/lengthratio/fr.md b/markdown/org/docs/patterns/lunetius/options/lengthratio/fr.md
index 6016455a914..31f1bf3d6f7 100644
--- a/markdown/org/docs/patterns/lunetius/options/lengthratio/fr.md
+++ b/markdown/org/docs/patterns/lunetius/options/lengthratio/fr.md
@@ -6,4 +6,4 @@ Controls the length of the garment
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/lunetius/options/widthratio/fr.md b/markdown/org/docs/patterns/lunetius/options/widthratio/fr.md
index 37ad0a64c64..7d986a67244 100644
--- a/markdown/org/docs/patterns/lunetius/options/widthratio/fr.md
+++ b/markdown/org/docs/patterns/lunetius/options/widthratio/fr.md
@@ -6,4 +6,4 @@ Controls the width of the garment
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/noble/options/armholedartposition/fr.md b/markdown/org/docs/patterns/noble/options/armholedartposition/fr.md
index 7468c11d770..f07f92e3628 100644
--- a/markdown/org/docs/patterns/noble/options/armholedartposition/fr.md
+++ b/markdown/org/docs/patterns/noble/options/armholedartposition/fr.md
@@ -6,6 +6,6 @@ title: "Armhole Dart Position"
The **Armhole Dart Position** option allows you to move the position of the dart/princess seam.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/armholedepth/fr.md b/markdown/org/docs/patterns/noble/options/armholedepth/fr.md
index 8c2d7a4b310..cce6018e599 100644
--- a/markdown/org/docs/patterns/noble/options/armholedepth/fr.md
+++ b/markdown/org/docs/patterns/noble/options/armholedepth/fr.md
@@ -6,6 +6,6 @@ title: "Armhole depth"
The **armhole depth** option controls the depth of the armhole.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/backarmholecurvature/fr.md b/markdown/org/docs/patterns/noble/options/backarmholecurvature/fr.md
index 8a69ff02d52..5a0cf8ebb5c 100644
--- a/markdown/org/docs/patterns/noble/options/backarmholecurvature/fr.md
+++ b/markdown/org/docs/patterns/noble/options/backarmholecurvature/fr.md
@@ -6,6 +6,6 @@ title: "Back armhole curvature"
The **back armhole curvature** option controls how much the armhole is scooped at out the bottom in the back.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/backarmholepitchdepth/fr.md b/markdown/org/docs/patterns/noble/options/backarmholepitchdepth/fr.md
index b2928b57126..5edc6f975b6 100644
--- a/markdown/org/docs/patterns/noble/options/backarmholepitchdepth/fr.md
+++ b/markdown/org/docs/patterns/noble/options/backarmholepitchdepth/fr.md
@@ -6,6 +6,6 @@ title: "Back armhole pitch depth"
The **back armhole pitch depth** option controls the vertical position of the armhole pitch point at the back.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/backarmholeslant/fr.md b/markdown/org/docs/patterns/noble/options/backarmholeslant/fr.md
index a1a51b7593d..4da32c4a8b5 100644
--- a/markdown/org/docs/patterns/noble/options/backarmholeslant/fr.md
+++ b/markdown/org/docs/patterns/noble/options/backarmholeslant/fr.md
@@ -6,6 +6,6 @@ title: "Back armhole slant"
The **back armhole slant** slightly rotates the armhole around the back pitch point.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/backdartheight/fr.md b/markdown/org/docs/patterns/noble/options/backdartheight/fr.md
index 14b8ea1eaa9..3386ffc921e 100644
--- a/markdown/org/docs/patterns/noble/options/backdartheight/fr.md
+++ b/markdown/org/docs/patterns/noble/options/backdartheight/fr.md
@@ -6,6 +6,6 @@ title: "Back dart height"
The **back dart height** option controls the height (length if you will) of the back dart.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/backhemslope/fr.md b/markdown/org/docs/patterns/noble/options/backhemslope/fr.md
index 12e23681755..4467f916b90 100644
--- a/markdown/org/docs/patterns/noble/options/backhemslope/fr.md
+++ b/markdown/org/docs/patterns/noble/options/backhemslope/fr.md
@@ -6,6 +6,6 @@ title: "Back hem slope"
The **back hem slope** option controls the slope of the hem at the back.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/backneckcutout/fr.md b/markdown/org/docs/patterns/noble/options/backneckcutout/fr.md
index 2c897db0e72..8195bcdb724 100644
--- a/markdown/org/docs/patterns/noble/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/noble/options/backneckcutout/fr.md
@@ -6,6 +6,6 @@ title: "Back neck cutout"
The **back neck cutout** option controls how far the neck opening is scooped out at the back.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/bustspanease/fr.md b/markdown/org/docs/patterns/noble/options/bustspanease/fr.md
index d667222eb48..6892bef97cd 100644
--- a/markdown/org/docs/patterns/noble/options/bustspanease/fr.md
+++ b/markdown/org/docs/patterns/noble/options/bustspanease/fr.md
@@ -8,6 +8,6 @@ The **bust span ease** option controls how much ease is applied to the bust span
This will not add ease to the garment, but merely influence the bust point
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/chestease/fr.md b/markdown/org/docs/patterns/noble/options/chestease/fr.md
index e1ccc3ce861..fdf59c5a5af 100644
--- a/markdown/org/docs/patterns/noble/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/noble/options/chestease/fr.md
@@ -6,6 +6,6 @@ title: "Chest ease"
The **chest ease** option controls the amount of ease at the fullest part of your chest.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/frontarmholecurvature/fr.md b/markdown/org/docs/patterns/noble/options/frontarmholecurvature/fr.md
index 4fca7f0657a..c677427e86a 100644
--- a/markdown/org/docs/patterns/noble/options/frontarmholecurvature/fr.md
+++ b/markdown/org/docs/patterns/noble/options/frontarmholecurvature/fr.md
@@ -6,6 +6,6 @@ title: "Front armhole curvature"
Controls how deep the armhole is scooped out at the front bottom
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/frontarmholepitchdepth/fr.md b/markdown/org/docs/patterns/noble/options/frontarmholepitchdepth/fr.md
index 56c7cfb7355..d9d6bae3c1c 100644
--- a/markdown/org/docs/patterns/noble/options/frontarmholepitchdepth/fr.md
+++ b/markdown/org/docs/patterns/noble/options/frontarmholepitchdepth/fr.md
@@ -6,6 +6,6 @@ title: "Front armhole pitch depth"
The **front armhole pitch depth** option controls the vertical position of the armhole pitch point at the front.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/frontshoulderwidth/fr.md b/markdown/org/docs/patterns/noble/options/frontshoulderwidth/fr.md
index ff88189aab7..763c224d57a 100644
--- a/markdown/org/docs/patterns/noble/options/frontshoulderwidth/fr.md
+++ b/markdown/org/docs/patterns/noble/options/frontshoulderwidth/fr.md
@@ -6,6 +6,6 @@ title: "Front shoulder width"
The **front shoulder width** option controls the width of the shoulders at the front, relative to the back.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/highbustwidth/fr.md b/markdown/org/docs/patterns/noble/options/highbustwidth/fr.md
index 8cafb96f2b8..43db36e8de3 100644
--- a/markdown/org/docs/patterns/noble/options/highbustwidth/fr.md
+++ b/markdown/org/docs/patterns/noble/options/highbustwidth/fr.md
@@ -6,6 +6,6 @@ title: "High bust width"
The **high bust width** option allows you to tweak the high bust width at the front.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/shoulderdartposition/fr.md b/markdown/org/docs/patterns/noble/options/shoulderdartposition/fr.md
index 58790028d1c..d33197475b8 100644
--- a/markdown/org/docs/patterns/noble/options/shoulderdartposition/fr.md
+++ b/markdown/org/docs/patterns/noble/options/shoulderdartposition/fr.md
@@ -6,6 +6,6 @@ title: "Shoulder Dart Position"
The **Shoulder Dart Position** option allows you to move the position of the dart/princess seam.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/shouldertoshoulderease/fr.md b/markdown/org/docs/patterns/noble/options/shouldertoshoulderease/fr.md
index 9241501f0a9..96fdafef306 100644
--- a/markdown/org/docs/patterns/noble/options/shouldertoshoulderease/fr.md
+++ b/markdown/org/docs/patterns/noble/options/shouldertoshoulderease/fr.md
@@ -6,6 +6,6 @@ title: "Shoulder to Shoulder Ease"
The **Shoulder to Shoulder Ease** option allows you to add ease between the shoulders.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/upperdartlength/fr.md b/markdown/org/docs/patterns/noble/options/upperdartlength/fr.md
index daafe809870..de8c6cc3da7 100644
--- a/markdown/org/docs/patterns/noble/options/upperdartlength/fr.md
+++ b/markdown/org/docs/patterns/noble/options/upperdartlength/fr.md
@@ -6,6 +6,6 @@ title: "Upper Dart Length"
The **Upper Dart Length** controls the length of the upper dart, 100% is all teh way to the bust point.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/waistdartlength/fr.md b/markdown/org/docs/patterns/noble/options/waistdartlength/fr.md
index 2d33b64c4de..8d2c3ad6200 100644
--- a/markdown/org/docs/patterns/noble/options/waistdartlength/fr.md
+++ b/markdown/org/docs/patterns/noble/options/waistdartlength/fr.md
@@ -6,6 +6,6 @@ title: "Waist dart length"
The **waist dart length** option controls the length of the waist dart towards the bust.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/noble/options/waistease/fr.md b/markdown/org/docs/patterns/noble/options/waistease/fr.md
index a2a2f019ff2..b4bf5d1a2a1 100644
--- a/markdown/org/docs/patterns/noble/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/noble/options/waistease/fr.md
@@ -6,6 +6,6 @@ title: "Waist ease"
The **waist ease** option controls the amount of ease at your waist.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/octoplushy/options/bottomlegreduction/fr.md b/markdown/org/docs/patterns/octoplushy/options/bottomlegreduction/fr.md
index 0184a51761b..d88227e61dc 100644
--- a/markdown/org/docs/patterns/octoplushy/options/bottomlegreduction/fr.md
+++ b/markdown/org/docs/patterns/octoplushy/options/bottomlegreduction/fr.md
@@ -4,6 +4,6 @@ title: "Bottom Leg Reduction"
This setting adjusts the difference in length between the top and the bottom fabric of the legs. The bigger the difference, the more the legs will want to curl.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/octoplushy/options/bottomlegreductionplushy/fr.md b/markdown/org/docs/patterns/octoplushy/options/bottomlegreductionplushy/fr.md
index 9c0662a72e8..fe4abce1fbb 100644
--- a/markdown/org/docs/patterns/octoplushy/options/bottomlegreductionplushy/fr.md
+++ b/markdown/org/docs/patterns/octoplushy/options/bottomlegreductionplushy/fr.md
@@ -4,6 +4,6 @@ title: "Bottom Leg Reduction (Octoplushy)"
This setting adjusts the difference in length between the top and the bottom fabric of the legs. The bigger the difference, the more the legs will want to curl.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/octoplushy/options/bottomtoplegratio/fr.md b/markdown/org/docs/patterns/octoplushy/options/bottomtoplegratio/fr.md
index e59c8b3123f..93bc1ee4223 100644
--- a/markdown/org/docs/patterns/octoplushy/options/bottomtoplegratio/fr.md
+++ b/markdown/org/docs/patterns/octoplushy/options/bottomtoplegratio/fr.md
@@ -4,6 +4,6 @@ title: "Bottom to Top Leg Ratio"
This setting adjusts the ratio between the top and the bottom of the legs. The lower the ration, the more fabric will be associated with the top of the leg. 100% makes both the top and the bottom the same.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/octoplushy/options/leglength/fr.md b/markdown/org/docs/patterns/octoplushy/options/leglength/fr.md
index 6f924bae669..486f7f086fb 100644
--- a/markdown/org/docs/patterns/octoplushy/options/leglength/fr.md
+++ b/markdown/org/docs/patterns/octoplushy/options/leglength/fr.md
@@ -4,6 +4,6 @@ title: "Leg Length"
The length of the legs can be adjusted.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/octoplushy/options/legtaper/fr.md b/markdown/org/docs/patterns/octoplushy/options/legtaper/fr.md
index f6da8b483e6..0c945e3d189 100644
--- a/markdown/org/docs/patterns/octoplushy/options/legtaper/fr.md
+++ b/markdown/org/docs/patterns/octoplushy/options/legtaper/fr.md
@@ -4,6 +4,6 @@ title: "Leg Taper"
This setting changes how much the legs taper from the body down to the end.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/octoplushy/options/legwidth/fr.md b/markdown/org/docs/patterns/octoplushy/options/legwidth/fr.md
index c009369f7b8..398035fdc70 100644
--- a/markdown/org/docs/patterns/octoplushy/options/legwidth/fr.md
+++ b/markdown/org/docs/patterns/octoplushy/options/legwidth/fr.md
@@ -4,6 +4,6 @@ title: "Leg Width"
The width of the legs can be adjusted.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/octoplushy/options/neckwidth/fr.md b/markdown/org/docs/patterns/octoplushy/options/neckwidth/fr.md
index c6ad763d837..d2b2c975ef0 100644
--- a/markdown/org/docs/patterns/octoplushy/options/neckwidth/fr.md
+++ b/markdown/org/docs/patterns/octoplushy/options/neckwidth/fr.md
@@ -4,6 +4,6 @@ title: "Neck Width"
The width of the neck can be adjusted. This is a percentage of the head.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/octoplushy/options/size/fr.md b/markdown/org/docs/patterns/octoplushy/options/size/fr.md
index 08ddab2f213..2ebf9f59790 100644
--- a/markdown/org/docs/patterns/octoplushy/options/size/fr.md
+++ b/markdown/org/docs/patterns/octoplushy/options/size/fr.md
@@ -4,6 +4,6 @@ title: "Size"
Octoplushy can be made in different sizes. The default has a head size of about 15cm, and 25cm long legs. This is a percentage of this default length.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/octoplushy/options/type/fr.md b/markdown/org/docs/patterns/octoplushy/options/type/fr.md
index c46d24ae623..f76fabc5cb4 100644
--- a/markdown/org/docs/patterns/octoplushy/options/type/fr.md
+++ b/markdown/org/docs/patterns/octoplushy/options/type/fr.md
@@ -4,6 +4,6 @@ title: "Type"
There are three distinct Octoplushies. The original cute Octoplushy, the more authentic Octopus, and the Squid.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/paco/options/ankleelastic/fr.md b/markdown/org/docs/patterns/paco/options/ankleelastic/fr.md
index a0d5d6ebd5b..4d2a745f38e 100644
--- a/markdown/org/docs/patterns/paco/options/ankleelastic/fr.md
+++ b/markdown/org/docs/patterns/paco/options/ankleelastic/fr.md
@@ -8,4 +8,4 @@ En d'autres termes, cela permettra de contrΓ΄ler la hauteur du poignet.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/backpockets/fr.md b/markdown/org/docs/patterns/paco/options/backpockets/fr.md
index 2758a28090d..ee1dc7cb47e 100644
--- a/markdown/org/docs/patterns/paco/options/backpockets/fr.md
+++ b/markdown/org/docs/patterns/paco/options/backpockets/fr.md
@@ -6,4 +6,4 @@ Que ce soit pour inclure les poches arrière, oui ou non.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/crossseamcurveangle/fr.md b/markdown/org/docs/patterns/paco/options/crossseamcurveangle/fr.md
index 8a408ccf556..9672647a76d 100644
--- a/markdown/org/docs/patterns/paco/options/crossseamcurveangle/fr.md
+++ b/markdown/org/docs/patterns/paco/options/crossseamcurveangle/fr.md
@@ -10,4 +10,4 @@ Documentation manquante
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/crossseamcurvebend/fr.md b/markdown/org/docs/patterns/paco/options/crossseamcurvebend/fr.md
index be53d9d4168..50edb5b6770 100644
--- a/markdown/org/docs/patterns/paco/options/crossseamcurvebend/fr.md
+++ b/markdown/org/docs/patterns/paco/options/crossseamcurvebend/fr.md
@@ -17,4 +17,4 @@ Les gens qui ont un bum rond voudront peut-Γͺtre abaisser cela pour crΓ©er un pe
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/crossseamcurvestart/fr.md b/markdown/org/docs/patterns/paco/options/crossseamcurvestart/fr.md
index 4f16b1dbdd5..ef14522c604 100644
--- a/markdown/org/docs/patterns/paco/options/crossseamcurvestart/fr.md
+++ b/markdown/org/docs/patterns/paco/options/crossseamcurvestart/fr.md
@@ -17,4 +17,4 @@ Les gens qui ont un bum rond voudront peut-Γͺtre abaisser cela pour crΓ©er un pe
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/crotchdrop/fr.md b/markdown/org/docs/patterns/paco/options/crotchdrop/fr.md
index 6ca10334455..21fe8cd92bc 100644
--- a/markdown/org/docs/patterns/paco/options/crotchdrop/fr.md
+++ b/markdown/org/docs/patterns/paco/options/crotchdrop/fr.md
@@ -9,4 +9,4 @@ A signigicantly lowered crotched can also be a style choice.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/crotchseamcurveangle/fr.md b/markdown/org/docs/patterns/paco/options/crotchseamcurveangle/fr.md
index 8d8fb7d641d..998931361fa 100644
--- a/markdown/org/docs/patterns/paco/options/crotchseamcurveangle/fr.md
+++ b/markdown/org/docs/patterns/paco/options/crotchseamcurveangle/fr.md
@@ -10,4 +10,4 @@ Documentation manquante
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/crotchseamcurvebend/fr.md b/markdown/org/docs/patterns/paco/options/crotchseamcurvebend/fr.md
index 720320ee04f..81a7f67e0f9 100644
--- a/markdown/org/docs/patterns/paco/options/crotchseamcurvebend/fr.md
+++ b/markdown/org/docs/patterns/paco/options/crotchseamcurvebend/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la courbure de la couture du croth, qui influence l'ajustement Γ votr
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/crotchseamcurvestart/fr.md b/markdown/org/docs/patterns/paco/options/crotchseamcurvestart/fr.md
index 62abf5d43bf..fae4d37a76d 100644
--- a/markdown/org/docs/patterns/paco/options/crotchseamcurvestart/fr.md
+++ b/markdown/org/docs/patterns/paco/options/crotchseamcurvestart/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le oΓΉ la couture de crochage commence Γ Γͺtre courbΓ©e, ce qui influe s
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/elasticatedhem/fr.md b/markdown/org/docs/patterns/paco/options/elasticatedhem/fr.md
index d7dbedaf707..84272325d61 100644
--- a/markdown/org/docs/patterns/paco/options/elasticatedhem/fr.md
+++ b/markdown/org/docs/patterns/paco/options/elasticatedhem/fr.md
@@ -6,4 +6,4 @@ Whether you want to include an elasticated cuff at the ankle, or rather prefer a
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/frontpockets/fr.md b/markdown/org/docs/patterns/paco/options/frontpockets/fr.md
index 2f117f9b093..95f10cf49a6 100644
--- a/markdown/org/docs/patterns/paco/options/frontpockets/fr.md
+++ b/markdown/org/docs/patterns/paco/options/frontpockets/fr.md
@@ -6,4 +6,4 @@ Si l'on doit inclure des poches avant (sur la couture latΓ©rale) ou non.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/grainlineposition/fr.md b/markdown/org/docs/patterns/paco/options/grainlineposition/fr.md
index 1ffa3e166d6..fed4093b750 100644
--- a/markdown/org/docs/patterns/paco/options/grainlineposition/fr.md
+++ b/markdown/org/docs/patterns/paco/options/grainlineposition/fr.md
@@ -8,4 +8,4 @@ Vous pouvez l'utiliser pour dΓ©placer la ligne de grainline vers l'intΓ©rieur ou
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/heelease/fr.md b/markdown/org/docs/patterns/paco/options/heelease/fr.md
index db742e8e731..6785fc5bdc5 100644
--- a/markdown/org/docs/patterns/paco/options/heelease/fr.md
+++ b/markdown/org/docs/patterns/paco/options/heelease/fr.md
@@ -8,4 +8,4 @@ Augmentez ceci pour qu'il soit plus facile d'entrer et de sortir de votre pantal
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/legbalance/fr.md b/markdown/org/docs/patterns/paco/options/legbalance/fr.md
index 55b003c2af7..379c2a9b562 100644
--- a/markdown/org/docs/patterns/paco/options/legbalance/fr.md
+++ b/markdown/org/docs/patterns/paco/options/legbalance/fr.md
@@ -18,4 +18,4 @@ This trick is often used in womenswear jeans
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/lengthbonus/fr.md b/markdown/org/docs/patterns/paco/options/lengthbonus/fr.md
index 12ce80b4bde..0578dd56938 100644
--- a/markdown/org/docs/patterns/paco/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/paco/options/lengthbonus/fr.md
@@ -15,4 +15,4 @@ le pantalon devra Γͺtre plus long que celui-ci pour toucher le sol.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/seatease/fr.md b/markdown/org/docs/patterns/paco/options/seatease/fr.md
index ec2080efbf7..e1ca4fc87fd 100644
--- a/markdown/org/docs/patterns/paco/options/seatease/fr.md
+++ b/markdown/org/docs/patterns/paco/options/seatease/fr.md
@@ -6,4 +6,4 @@ Contrôle la quantité d'aisance à votre siège/bum.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/waistbalance/fr.md b/markdown/org/docs/patterns/paco/options/waistbalance/fr.md
index d837294e2e6..2e16b6ced9c 100644
--- a/markdown/org/docs/patterns/paco/options/waistbalance/fr.md
+++ b/markdown/org/docs/patterns/paco/options/waistbalance/fr.md
@@ -12,4 +12,4 @@ Cette option vous permet de contrΓ΄ler ce solde.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/waistbandwidth/fr.md b/markdown/org/docs/patterns/paco/options/waistbandwidth/fr.md
index 8da8a35b214..262b8183ab4 100644
--- a/markdown/org/docs/patterns/paco/options/waistbandwidth/fr.md
+++ b/markdown/org/docs/patterns/paco/options/waistbandwidth/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la largeur de la ceinture.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/waistease/fr.md b/markdown/org/docs/patterns/paco/options/waistease/fr.md
index 5a69c6acfa4..481cb37452f 100644
--- a/markdown/org/docs/patterns/paco/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/paco/options/waistease/fr.md
@@ -8,4 +8,4 @@ Even if you draft lower pants, this will still influence the ease at the top of
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/paco/options/waistheight/fr.md b/markdown/org/docs/patterns/paco/options/waistheight/fr.md
index a19782d7b71..51541baedf6 100644
--- a/markdown/org/docs/patterns/paco/options/waistheight/fr.md
+++ b/markdown/org/docs/patterns/paco/options/waistheight/fr.md
@@ -9,4 +9,4 @@ ContrΓ΄le la hauteur de la taille, oΓΉ:
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/backdartdepthfactor/fr.md b/markdown/org/docs/patterns/penelope/options/backdartdepthfactor/fr.md
index 9e76ff48282..a436fe63f99 100644
--- a/markdown/org/docs/patterns/penelope/options/backdartdepthfactor/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/backdartdepthfactor/fr.md
@@ -6,4 +6,4 @@ JusquβoΓΉ va le dart arriΓ¨re de la ceinture. Ceci est un facteur de la mesure
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/backvent/fr.md b/markdown/org/docs/patterns/penelope/options/backvent/fr.md
index 057fd4db3b9..0380b4f0527 100644
--- a/markdown/org/docs/patterns/penelope/options/backvent/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/backvent/fr.md
@@ -6,4 +6,4 @@ Cela ajoute un vent à l'arrière de la jupe.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/backventlength/fr.md b/markdown/org/docs/patterns/penelope/options/backventlength/fr.md
index b65487da62c..473e3bfd791 100644
--- a/markdown/org/docs/patterns/penelope/options/backventlength/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/backventlength/fr.md
@@ -6,4 +6,4 @@ Ceci contrôle la longueur du ventilateur arrière en pourcentage de la longueur
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/darttosideseamfactor/fr.md b/markdown/org/docs/patterns/penelope/options/darttosideseamfactor/fr.md
index 9fe1d911dea..355a5ead8bc 100644
--- a/markdown/org/docs/patterns/penelope/options/darttosideseamfactor/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/darttosideseamfactor/fr.md
@@ -6,4 +6,4 @@ Pourcentage de la part de la rΓ©duction de la hanche Γ la taille par rapport Γ
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/frontdartdepthfactor/fr.md b/markdown/org/docs/patterns/penelope/options/frontdartdepthfactor/fr.md
index dc1001d0f3d..e54bb060523 100644
--- a/markdown/org/docs/patterns/penelope/options/frontdartdepthfactor/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/frontdartdepthfactor/fr.md
@@ -6,4 +6,4 @@ Jusqu'oΓΉ va le dart avant de la ceinture. Ceci est un facteur de la taille natu
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/hem/fr.md b/markdown/org/docs/patterns/penelope/options/hem/fr.md
index a3c7ca68a6b..2e042ff3513 100644
--- a/markdown/org/docs/patterns/penelope/options/hem/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/hem/fr.md
@@ -6,4 +6,4 @@ La taille de l'ourlet.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/hembonus/fr.md b/markdown/org/docs/patterns/penelope/options/hembonus/fr.md
index db3825e4062..b7bfa3b5ff0 100644
--- a/markdown/org/docs/patterns/penelope/options/hembonus/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/hembonus/fr.md
@@ -6,4 +6,4 @@ Cette option rΓ©duira la circonfΓ©rence de la jupe Γ l'ourlet. Pourcentage de l
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/lengthbonus/fr.md b/markdown/org/docs/patterns/penelope/options/lengthbonus/fr.md
index 86ad72ee752..87037d8d321 100644
--- a/markdown/org/docs/patterns/penelope/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/lengthbonus/fr.md
@@ -6,4 +6,4 @@ Cela contrΓ΄le la longueur de la jupe. Pourcentage de la taille naturelle Γ la
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/nrofdarts/fr.md b/markdown/org/docs/patterns/penelope/options/nrofdarts/fr.md
index a3a65357eee..0a4ed83f926 100644
--- a/markdown/org/docs/patterns/penelope/options/nrofdarts/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/nrofdarts/fr.md
@@ -6,4 +6,4 @@ Le nombre de flΓ©chettes utilisΓ©es dans le patron. Le maximum est de 2, mais ce
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/seatease/fr.md b/markdown/org/docs/patterns/penelope/options/seatease/fr.md
index ef12c6e2893..569a34a469c 100644
--- a/markdown/org/docs/patterns/penelope/options/seatease/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/seatease/fr.md
@@ -6,4 +6,4 @@ Quantité d'aisance autour de la partie la plus complète de votre bum.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/waistband/fr.md b/markdown/org/docs/patterns/penelope/options/waistband/fr.md
index 24587f952e6..6b5276c69d2 100644
--- a/markdown/org/docs/patterns/penelope/options/waistband/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/waistband/fr.md
@@ -6,4 +6,4 @@ Ajoute une ceinture au patron.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/waistbandwidth/fr.md b/markdown/org/docs/patterns/penelope/options/waistbandwidth/fr.md
index 357561b010a..0a82e583604 100644
--- a/markdown/org/docs/patterns/penelope/options/waistbandwidth/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/waistbandwidth/fr.md
@@ -6,4 +6,4 @@ La largeur de la ceinture.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/waistease/fr.md b/markdown/org/docs/patterns/penelope/options/waistease/fr.md
index 41e08bfc52c..56cfa8f21f7 100644
--- a/markdown/org/docs/patterns/penelope/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/waistease/fr.md
@@ -6,4 +6,4 @@ L'ampleur d'aisance Γ votre taille.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/penelope/options/zipperlocation/fr.md b/markdown/org/docs/patterns/penelope/options/zipperlocation/fr.md
index d5913b03ea5..4faeab85f7c 100644
--- a/markdown/org/docs/patterns/penelope/options/zipperlocation/fr.md
+++ b/markdown/org/docs/patterns/penelope/options/zipperlocation/fr.md
@@ -6,4 +6,4 @@ Contrôle l'emplacement du zipper. Soit à la couture arrière, soit à la coutu
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sandy/cutting/de.md b/markdown/org/docs/patterns/sandy/cutting/de.md
index 240ecd86a79..adf58ebc22d 100644
--- a/markdown/org/docs/patterns/sandy/cutting/de.md
+++ b/markdown/org/docs/patterns/sandy/cutting/de.md
@@ -12,8 +12,8 @@ If not using seamless follow the default list, If using seamless follow the seam
- (If default) Cut **1 skirt** part on the fold.
- (If seamless) Cut **1 skirt** part on double fold.
-- (If default) Cut **2 waistband** parts.
-- (If seamless) Cut **1 waistband** part.
+- (If straight) Cut **1 waistband** part.
+- (If curved) Cut **2 waistband** parts.
**Lining Fabric (Optional)**
@@ -22,5 +22,4 @@ If not using seamless follow the default list, If using seamless follow the seam
**Interfacing**
-- (If default) Cut **2 waistband** parts.
-- (If seamless) Cut **1 waistband** part.
+- Cut **1 waistband** part.
diff --git a/markdown/org/docs/patterns/sandy/cutting/en.md b/markdown/org/docs/patterns/sandy/cutting/en.md
index 5c1023508ec..2fd325c48a3 100644
--- a/markdown/org/docs/patterns/sandy/cutting/en.md
+++ b/markdown/org/docs/patterns/sandy/cutting/en.md
@@ -12,8 +12,8 @@ If not using seamless follow the default list, If using seamless follow the seam
- (If default) Cut **1 skirt** part on the fold.
- (If seamless) Cut **1 skirt** part on double fold.
-- (If default) Cut **2 waistband** parts.
-- (If seamless) Cut **1 waistband** part.
+- (If straight) Cut **1 waistband** part.
+- (If curved) Cut **2 waistband** parts.
**Lining Fabric (Optional)**
@@ -22,5 +22,4 @@ If not using seamless follow the default list, If using seamless follow the seam
**Interfacing**
-- (If default) Cut **2 waistband** parts.
-- (If seamless) Cut **1 waistband** part.
+- Cut **1 waistband** part.
diff --git a/markdown/org/docs/patterns/sandy/cutting/es.md b/markdown/org/docs/patterns/sandy/cutting/es.md
index 240ecd86a79..adf58ebc22d 100644
--- a/markdown/org/docs/patterns/sandy/cutting/es.md
+++ b/markdown/org/docs/patterns/sandy/cutting/es.md
@@ -12,8 +12,8 @@ If not using seamless follow the default list, If using seamless follow the seam
- (If default) Cut **1 skirt** part on the fold.
- (If seamless) Cut **1 skirt** part on double fold.
-- (If default) Cut **2 waistband** parts.
-- (If seamless) Cut **1 waistband** part.
+- (If straight) Cut **1 waistband** part.
+- (If curved) Cut **2 waistband** parts.
**Lining Fabric (Optional)**
@@ -22,5 +22,4 @@ If not using seamless follow the default list, If using seamless follow the seam
**Interfacing**
-- (If default) Cut **2 waistband** parts.
-- (If seamless) Cut **1 waistband** part.
+- Cut **1 waistband** part.
diff --git a/markdown/org/docs/patterns/sandy/cutting/fr.md b/markdown/org/docs/patterns/sandy/cutting/fr.md
index 240ecd86a79..adf58ebc22d 100644
--- a/markdown/org/docs/patterns/sandy/cutting/fr.md
+++ b/markdown/org/docs/patterns/sandy/cutting/fr.md
@@ -12,8 +12,8 @@ If not using seamless follow the default list, If using seamless follow the seam
- (If default) Cut **1 skirt** part on the fold.
- (If seamless) Cut **1 skirt** part on double fold.
-- (If default) Cut **2 waistband** parts.
-- (If seamless) Cut **1 waistband** part.
+- (If straight) Cut **1 waistband** part.
+- (If curved) Cut **2 waistband** parts.
**Lining Fabric (Optional)**
@@ -22,5 +22,4 @@ If not using seamless follow the default list, If using seamless follow the seam
**Interfacing**
-- (If default) Cut **2 waistband** parts.
-- (If seamless) Cut **1 waistband** part.
+- Cut **1 waistband** part.
diff --git a/markdown/org/docs/patterns/sandy/cutting/nl.md b/markdown/org/docs/patterns/sandy/cutting/nl.md
index 240ecd86a79..adf58ebc22d 100644
--- a/markdown/org/docs/patterns/sandy/cutting/nl.md
+++ b/markdown/org/docs/patterns/sandy/cutting/nl.md
@@ -12,8 +12,8 @@ If not using seamless follow the default list, If using seamless follow the seam
- (If default) Cut **1 skirt** part on the fold.
- (If seamless) Cut **1 skirt** part on double fold.
-- (If default) Cut **2 waistband** parts.
-- (If seamless) Cut **1 waistband** part.
+- (If straight) Cut **1 waistband** part.
+- (If curved) Cut **2 waistband** parts.
**Lining Fabric (Optional)**
@@ -22,5 +22,4 @@ If not using seamless follow the default list, If using seamless follow the seam
**Interfacing**
-- (If default) Cut **2 waistband** parts.
-- (If seamless) Cut **1 waistband** part.
+- Cut **1 waistband** part.
diff --git a/markdown/org/docs/patterns/sandy/cutting/uk.md b/markdown/org/docs/patterns/sandy/cutting/uk.md
index 240ecd86a79..adf58ebc22d 100644
--- a/markdown/org/docs/patterns/sandy/cutting/uk.md
+++ b/markdown/org/docs/patterns/sandy/cutting/uk.md
@@ -12,8 +12,8 @@ If not using seamless follow the default list, If using seamless follow the seam
- (If default) Cut **1 skirt** part on the fold.
- (If seamless) Cut **1 skirt** part on double fold.
-- (If default) Cut **2 waistband** parts.
-- (If seamless) Cut **1 waistband** part.
+- (If straight) Cut **1 waistband** part.
+- (If curved) Cut **2 waistband** parts.
**Lining Fabric (Optional)**
@@ -22,5 +22,4 @@ If not using seamless follow the default list, If using seamless follow the seam
**Interfacing**
-- (If default) Cut **2 waistband** parts.
-- (If seamless) Cut **1 waistband** part.
+- Cut **1 waistband** part.
diff --git a/markdown/org/docs/patterns/sandy/fabric/de.md b/markdown/org/docs/patterns/sandy/fabric/de.md
index 4e7146493d7..8f17b970b5d 100644
--- a/markdown/org/docs/patterns/sandy/fabric/de.md
+++ b/markdown/org/docs/patterns/sandy/fabric/de.md
@@ -30,10 +30,10 @@ Need some inspo? check out [Sandy's showcase](/showcase/designs/sandy/) page and
### Lining Fabric
-Linings are optional for Sandy but you made need one if your main fabric is scratchy, sheds, hard to wash or is not nice to wear against skin. You will want to use lighter fabrics to reduce bulk such as lightweight **Cottons** and **Silks**.
+Linings are optional for Sandy but you may need one if your main fabric is scratchy, sheds, hard to wash or is not nice to wear against skin. You will want to use lighter fabrics to reduce bulk such as lightweight **Cottons** and **Silks**.
Though pockets are not included in Sandy many people like to add them so make sure your lining can hold weight if you intend to make them out of the same fabric.
-
+
diff --git a/markdown/org/docs/patterns/sandy/fabric/en.md b/markdown/org/docs/patterns/sandy/fabric/en.md
index 9e2662cfdfd..7164486c0e8 100644
--- a/markdown/org/docs/patterns/sandy/fabric/en.md
+++ b/markdown/org/docs/patterns/sandy/fabric/en.md
@@ -1,40 +1,40 @@
----
-title: "Sandy circle skirt: Fabric Options"
----
-
-### Main Fabric
-
-A circle skirt is a very versatile garment and can be made from a variety of fabric. It all depends on your intended use and preferred style.
-
-- If you wish for an everday, easy to wash skirt then **Linen** and **Cotton** is the way to go.
-- If you are looking for something more formal you may want to try **Suiting Fabrics**.
-- If you want something warm for the winter you can try **Wools**.
-- If wish for something flowy that drapes you can try lightweight materials such as **Chiffon**.
-- If you are want something for a special occasion who may wish to try **Brocades** and **Silks**.
-
-Basically any fabric can be used to make a circle skirt you just need to find one that is right for you.
-
-
-
+---
+title: "Sandy circle skirt: Fabric Options"
+---
+
+### Main Fabric
+
+A circle skirt is a very versatile garment and can be made from a variety of fabric. It all depends on your intended use and preferred style.
+
+- If you wish for an everday, easy to wash skirt then **Linen** and **Cotton** is the way to go.
+- If you are looking for something more formal you may want to try **Suiting Fabrics**.
+- If you want something warm for the winter you can try **Wools**.
+- If wish for something flowy that drapes you can try lightweight materials such as **Chiffon**.
+- If you are want something for a special occasion who may wish to try **Brocades** and **Silks**.
+
+Basically any fabric can be used to make a circle skirt you just need to find one that is right for you.
+
+
+
Keep in mind the weight, drape and body of the fabric. Do you want the skirt to hang? or do you want it to swoosh? do you want it to be rigid or flowy?
Another thing to look out for is gathering, if you are making a gathered Sandy you will need to make sure your fabric can gather nicely or be pleated if you prefer.
-Circle skirts can look very different dependant on these things and whether you are making a full, half or quarter circle skirt.
-
-
-
-
-
-Need some inspo? check out [Sandy's showcase](/showcase/designs/sandy/) page and see some finished Sandy's made by our wonderful community.
-
-
-
-### Lining Fabric
-
-Linings are optional for Sandy but you made need one if your main fabric is scratchy, sheds, hard to wash or is not nice to wear against skin.
-You will want to use lighter fabrics to reduce bulk such as lightweight **Cottons** and **Silks**.
-
-
-
-Though pockets are not included in Sandy many people like to add them so make sure your lining can hold weight if you intend to make them out of the same fabric.
-
-
+Circle skirts can look very different dependant on these things and whether you are making a full, half or quarter circle skirt.
+
+
+
+
+
+Need some inspo? check out [Sandy's showcase](/showcase/designs/sandy/) page and see some finished Sandy's made by our wonderful community.
+
+
+
+### Lining Fabric
+
+Linings are optional for Sandy but you may need one if your main fabric is scratchy, sheds, hard to wash or is not nice to wear against skin.
+You will want to use lighter fabrics to reduce bulk such as lightweight **Cottons** and **Silks**.
+
+
+
+Though pockets are not included in Sandy many people like to add them so make sure your lining can hold weight if you intend to make them out of the same fabric.
+
+
diff --git a/markdown/org/docs/patterns/sandy/fabric/es.md b/markdown/org/docs/patterns/sandy/fabric/es.md
index 6f26e6f7713..8557b32b9f0 100644
--- a/markdown/org/docs/patterns/sandy/fabric/es.md
+++ b/markdown/org/docs/patterns/sandy/fabric/es.md
@@ -30,10 +30,10 @@ Need some inspo? Need some inspo? check out [Sandy's showcase](/showcase/designs
### Lining Fabric
-Linings are optional for Sandy but you made need one if your main fabric is scratchy, sheds, hard to wash or is not nice to wear against skin. You will want to use lighter fabrics to reduce bulk such as lightweight **Cottons** and **Silks**.
+Linings are optional for Sandy but you may need one if your main fabric is scratchy, sheds, hard to wash or is not nice to wear against skin. You will want to use lighter fabrics to reduce bulk such as lightweight **Cottons** and **Silks**.
Though pockets are not included in Sandy many people like to add them so make sure your lining can hold weight if you intend to make them out of the same fabric.
-
+
diff --git a/markdown/org/docs/patterns/sandy/fabric/fr.md b/markdown/org/docs/patterns/sandy/fabric/fr.md
index 4e7146493d7..8f17b970b5d 100644
--- a/markdown/org/docs/patterns/sandy/fabric/fr.md
+++ b/markdown/org/docs/patterns/sandy/fabric/fr.md
@@ -30,10 +30,10 @@ Need some inspo? check out [Sandy's showcase](/showcase/designs/sandy/) page and
### Lining Fabric
-Linings are optional for Sandy but you made need one if your main fabric is scratchy, sheds, hard to wash or is not nice to wear against skin. You will want to use lighter fabrics to reduce bulk such as lightweight **Cottons** and **Silks**.
+Linings are optional for Sandy but you may need one if your main fabric is scratchy, sheds, hard to wash or is not nice to wear against skin. You will want to use lighter fabrics to reduce bulk such as lightweight **Cottons** and **Silks**.
Though pockets are not included in Sandy many people like to add them so make sure your lining can hold weight if you intend to make them out of the same fabric.
-
+
diff --git a/markdown/org/docs/patterns/sandy/fabric/nl.md b/markdown/org/docs/patterns/sandy/fabric/nl.md
index 4e7146493d7..8f17b970b5d 100644
--- a/markdown/org/docs/patterns/sandy/fabric/nl.md
+++ b/markdown/org/docs/patterns/sandy/fabric/nl.md
@@ -30,10 +30,10 @@ Need some inspo? check out [Sandy's showcase](/showcase/designs/sandy/) page and
### Lining Fabric
-Linings are optional for Sandy but you made need one if your main fabric is scratchy, sheds, hard to wash or is not nice to wear against skin. You will want to use lighter fabrics to reduce bulk such as lightweight **Cottons** and **Silks**.
+Linings are optional for Sandy but you may need one if your main fabric is scratchy, sheds, hard to wash or is not nice to wear against skin. You will want to use lighter fabrics to reduce bulk such as lightweight **Cottons** and **Silks**.
Though pockets are not included in Sandy many people like to add them so make sure your lining can hold weight if you intend to make them out of the same fabric.
-
+
diff --git a/markdown/org/docs/patterns/sandy/fabric/uk.md b/markdown/org/docs/patterns/sandy/fabric/uk.md
index 4e7146493d7..8f17b970b5d 100644
--- a/markdown/org/docs/patterns/sandy/fabric/uk.md
+++ b/markdown/org/docs/patterns/sandy/fabric/uk.md
@@ -30,10 +30,10 @@ Need some inspo? check out [Sandy's showcase](/showcase/designs/sandy/) page and
### Lining Fabric
-Linings are optional for Sandy but you made need one if your main fabric is scratchy, sheds, hard to wash or is not nice to wear against skin. You will want to use lighter fabrics to reduce bulk such as lightweight **Cottons** and **Silks**.
+Linings are optional for Sandy but you may need one if your main fabric is scratchy, sheds, hard to wash or is not nice to wear against skin. You will want to use lighter fabrics to reduce bulk such as lightweight **Cottons** and **Silks**.
Though pockets are not included in Sandy many people like to add them so make sure your lining can hold weight if you intend to make them out of the same fabric.
-
+
diff --git a/markdown/org/docs/patterns/sandy/instructions/de.md b/markdown/org/docs/patterns/sandy/instructions/de.md
index 4c33905282c..bf9c272a580 100644
--- a/markdown/org/docs/patterns/sandy/instructions/de.md
+++ b/markdown/org/docs/patterns/sandy/instructions/de.md
@@ -15,129 +15,101 @@ Due to seamless and closure Sandy's needing different constructions we have sepa
-## Sandy with Closure (default)
+## Step 1: Prepping the Skirt
-### Step 1: Prepping the Skirt
-
-- With _good sides together_ sew the skirt seam up to where you intend the opening to start.
+- 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_ if not lining.
+- _Finish_ seams if not lining.
-Pockets are not included in Sandy as it has one seam by default, if you cut multiple skirt pieces instead of a single one you and easily add pockets.
+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
+## 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 topstiching down the seam.
+- 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.
-Skip this step if you are including the zipper in the waistband.
+Skip this step if:
+- You are including the zipper in the waistband.
+- You are making a seamless version.
-### Step 3: Lining
+## Step 3: Lining
-- Face the skirt if desired.
+- (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 skirt and lining skit if needed.
+- Gather the waist if needed.
-These instructions will treat the lining and skirt the same at the waist.
-If not lining you should face the skirt when hemming later.
+## Step 4: The waistband
-
+### Closures
-### Step 4: The waistband
+- 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.
-- Face half the waistbands parts lengthwise.
-- With _good sides together_ sew the waistbands together along one of the short edges.
-- Press under the seam allowance on the long edge of the waistband that is not faced.
-- Attach the faced side of the waistband, _good sides together_ to the skirt. There will be some overhang, the side you wish not to overlap should be overhang by your seam allowance. The side intended to overlap will have a greater overhang. Trim seam.
-- Press the waistband and seam allowance up and away from the skirt.
-- If inserting a zipper now is the time to do so, attach the zipper from the fold line down. Then follow the rest of the instructions ommiting overhangs and other closures. You will need to attach the lining to the zipper at this point if you have not treated the lining and skirt as one at the opening.
-- Press the waistband _good sides together_ along fold-line.
+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 button and buttonhole, snaps or dress hooks, whatever is your preferred closure to the waistband overhang.
+- Add snaps, dress hooks or button and buttonhole, whatever is your preferred closure to the waistband overhang.
-
+### Seamless
-If you are having trouble keeping the pressed under seam allowance of the waistband folded/not staying pressed you may find it helpful to _Baste_ the fold in place.
-
-
-
-### Step 5: Hemming/Facing
-
-If you have hemmed the skirt with the lining you can skip this step.
-
-- Faced the skirt if desired.
-- Line the facing if desired.
-- Hem the skirt if you have not already done so with the lining.
-
-
-
-There are many ways to hem/face the bottom of a skirt, If you have a prefered method use it here.
-
-
-
-### Schritt 6: Viel SpaΓ!
-
-You are all done! Now go enjoy your wonderful new skirt!
-
-## Sandy with no closure (seamless/elasticated waistband)
-
-### Step 1: Lining and Skirt
-
-- Face skirt if desired.
-- Attach Lining to skirt at hem by your preferred method if using.
-- _Baste_ Lining to skirt at waist.
-- _Finish_ seams if not lining.
-- Gather skirt and lining skit if needed.
-
-
-
-These instructions will treat the lining and skirt the same at the waist.
-If not lining you should face the skirt when hemming later.
-
-
-
-### Step 2: The waistband
-
-- With _good sides together_ sew the waistband in half along the short seams, leaving a gap for the elastic that will be on the inside.
+- 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.
+- 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 by 1cm (3/8 inch) and zig-zag stitch in place.
+- 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.
-
-
-If you are having trouble keeping the pressed under seam allowance of the waistband folded/not staying pressed you may find it helpful to _Baste_ the fold in place.
-
-
-
-### Step 3: Hemming/Facing
+## Step 5: Hemming
If you have hemmed the skirt with the lining you can skip this step.
-- Faced the skirt if desired.
-- Line the facing if desired.
-- Hem the skirt if you have not already done so with the lining.
+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.
@@ -145,9 +117,9 @@ There are many ways to hem/face the bottom of a skirt, If you have a prefered me
-### Schritt 4: Viel SpaΓ!
+## Step 6: Enjoy!
-You all done! Now go enjoy your wonderfully seamless skirt!
+You are all done! Now go enjoy your wonderful new skirt and try not to get too dizzy showing off it's fullness!
diff --git a/markdown/org/docs/patterns/sandy/instructions/en.md b/markdown/org/docs/patterns/sandy/instructions/en.md
index 42edb878ccb..599d157f7f1 100644
--- a/markdown/org/docs/patterns/sandy/instructions/en.md
+++ b/markdown/org/docs/patterns/sandy/instructions/en.md
@@ -15,129 +15,101 @@ Due to seamless and closure Sandy's needing different constructions we have sepa
-## Sandy with Closure (default)
+## Step 1: Prepping the Skirt
-### Step 1: Prepping the Skirt
-
-- With _good sides together_ sew the skirt seam up to where you intend the opening to start.
+- 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_ if not lining.
+- _Finish_ seams if not lining.
-Pockets are not included in Sandy as it has one seam by default, if you cut multiple skirt pieces instead of a single one you and easily add pockets.
+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
+## 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 topstiching down the seam.
+- 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.
-Skip this step if you are including the zipper in the waistband.
+Skip this step if:
+- You are including the zipper in the waistband.
+- You are making a seamless version.
-### Step 3: Lining
+## Step 3: Lining
-- Face the skirt if desired.
+- (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 skirt and lining skit if needed.
+- Gather the waist if needed.
-These instructions will treat the lining and skirt the same at the waist.
-If not lining you should face the skirt when hemming later.
+## Step 4: The waistband
-
+### Closures
-### Step 4: The waistband
+- 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.
-- Face half the waistbands parts lengthwise.
-- With _good sides together_ sew the waistbands together along one of the short edges.
-- Press under the seam allowance on the long edge of the waistband that is not faced.
-- Attach the faced side of the waistband, _good sides together_ to the skirt. There will be some overhang, the side you wish not to overlap should be overhang by your seam allowance. The side intended to overlap will have a greater overhang. Trim seam.
-- Press the waistband and seam allowance up and away from the skirt.
-- If inserting a zipper now is the time to do so, attach the zipper from the fold line down. Then follow the rest of the instructions ommiting overhangs and other closures. You will need to attach the lining to the zipper at this point if you have not treated the lining and skirt as one at the opening.
-- Press the waistband _good sides together_ along fold-line.
+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 button and buttonhole, snaps or dress hooks, whatever is your preferred closure to the waistband overhang.
+- Add snaps, dress hooks or button and buttonhole, whatever is your preferred closure to the waistband overhang.
-
+### Seamless
-If you are having trouble keeping the pressed under seam allowance of the waistband folded/not staying pressed you may find it helpful to _Baste_ the fold in place.
-
-
-
-### Step 5: Hemming/Facing
-
-If you have hemmed the skirt with the lining you can skip this step.
-
-- Faced the skirt if desired.
-- Line the facing if desired.
-- Hem the skirt if you have not already done so with the lining.
-
-
-
-There are many ways to hem/face the bottom of a skirt, If you have a prefered method use it here.
-
-
-
-### Step 6: Enjoy!
-
-You are all done! Now go enjoy your wonderful new skirt!
-
-## Sandy with no closure (seamless/elasticated waistband)
-
-### Step 1: Lining and Skirt
-
-- Face skirt if desired.
-- Attach Lining to skirt at hem by your preferred method if using.
-- _Baste_ Lining to skirt at waist.
-- _Finish_ seams if not lining.
-- Gather skirt and lining skit if needed.
-
-
-
-These instructions will treat the lining and skirt the same at the waist.
-If not lining you should face the skirt when hemming later.
-
-
-
-### Step 2: The waistband
-
-- With _good sides together_ sew the waistband in half along the short seams, leaving a gap for the elastic that will be on the inside.
+- 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.
+- 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 by 1cm (3/8 inch) and zig-zag stitch in place.
+- 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.
-
-
-If you are having trouble keeping the pressed under seam allowance of the waistband folded/not staying pressed you may find it helpful to _Baste_ the fold in place.
-
-
-
-### Step 3: Hemming/Facing
+## Step 5: Hemming
If you have hemmed the skirt with the lining you can skip this step.
-- Faced the skirt if desired.
-- Line the facing if desired.
-- Hem the skirt if you have not already done so with the lining.
+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.
@@ -145,9 +117,9 @@ There are many ways to hem/face the bottom of a skirt, If you have a prefered me
-### Step 4: Enjoy!
+## Step 6: Enjoy!
-You all done! Now go enjoy your wonderfully seamless skirt!
+You are all done! Now go enjoy your wonderful new skirt and try not to get too dizzy showing off it's fullness!
diff --git a/markdown/org/docs/patterns/sandy/instructions/es.md b/markdown/org/docs/patterns/sandy/instructions/es.md
index 3c8346063d0..bf9c272a580 100644
--- a/markdown/org/docs/patterns/sandy/instructions/es.md
+++ b/markdown/org/docs/patterns/sandy/instructions/es.md
@@ -15,129 +15,101 @@ Due to seamless and closure Sandy's needing different constructions we have sepa
-## Sandy with Closure (default)
+## Step 1: Prepping the Skirt
-### Step 1: Prepping the Skirt
-
-- With _good sides together_ sew the skirt seam up to where you intend the opening to start.
+- 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_ if not lining.
+- _Finish_ seams if not lining.
-Pockets are not included in Sandy as it has one seam by default, if you cut multiple skirt pieces instead of a single one you and easily add pockets.
+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
+## 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 topstiching down the seam.
+- 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.
-Skip this step if you are including the zipper in the waistband.
+Skip this step if:
+- You are including the zipper in the waistband.
+- You are making a seamless version.
-### Step 3: Lining
+## Step 3: Lining
-- Face the skirt if desired.
+- (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 skirt and lining skit if needed.
+- Gather the waist if needed.
-These instructions will treat the lining and skirt the same at the waist.
-If not lining you should face the skirt when hemming later.
+## Step 4: The waistband
-
+### Closures
-### Step 4: The waistband
+- 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.
-- Face half the waistbands parts lengthwise.
-- With _good sides together_ sew the waistbands together along one of the short edges.
-- Press under the seam allowance on the long edge of the waistband that is not faced.
-- Attach the faced side of the waistband, _good sides together_ to the skirt. There will be some overhang, the side you wish not to overlap should be overhang by your seam allowance. The side intended to overlap will have a greater overhang. Trim seam.
-- Press the waistband and seam allowance up and away from the skirt.
-- If inserting a zipper now is the time to do so, attach the zipper from the fold line down. Then follow the rest of the instructions ommiting overhangs and other closures. You will need to attach the lining to the zipper at this point if you have not treated the lining and skirt as one at the opening.
-- Press the waistband _good sides together_ along fold-line.
+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 button and buttonhole, snaps or dress hooks, whatever is your preferred closure to the waistband overhang.
+- Add snaps, dress hooks or button and buttonhole, whatever is your preferred closure to the waistband overhang.
-
+### Seamless
-If you are having trouble keeping the pressed under seam allowance of the waistband folded/not staying pressed you may find it helpful to _Baste_ the fold in place.
-
-
-
-### Step 5: Hemming/Facing
-
-If you have hemmed the skirt with the lining you can skip this step.
-
-- Faced the skirt if desired.
-- Line the facing if desired.
-- Hem the skirt if you have not already done so with the lining.
-
-
-
-There are many ways to hem/face the bottom of a skirt, If you have a prefered method use it here.
-
-
-
-### Step 6: Enjoy!
-
-You are all done! Now go enjoy your wonderful new skirt!
-
-## Sandy with no closure (seamless/elasticated waistband)
-
-### Step 1: Lining and Skirt
-
-- Face skirt if desired.
-- Attach Lining to skirt at hem by your preferred method if using.
-- _Baste_ Lining to skirt at waist.
-- _Finish_ seams if not lining.
-- Gather skirt and lining skit if needed.
-
-
-
-These instructions will treat the lining and skirt the same at the waist.
-If not lining you should face the skirt when hemming later.
-
-
-
-### Step 2: The waistband
-
-- With _good sides together_ sew the waistband in half along the short seams, leaving a gap for the elastic that will be on the inside.
+- 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.
+- 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 by 1cm (3/8 inch) and zig-zag stitch in place.
+- 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.
-
-
-If you are having trouble keeping the pressed under seam allowance of the waistband folded/not staying pressed you may find it helpful to _Baste_ the fold in place.
-
-
-
-### Step 3: Hemming/Facing
+## Step 5: Hemming
If you have hemmed the skirt with the lining you can skip this step.
-- Faced the skirt if desired.
-- Line the facing if desired.
-- Hem the skirt if you have not already done so with the lining.
+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.
@@ -145,9 +117,9 @@ There are many ways to hem/face the bottom of a skirt, If you have a prefered me
-### Step 4: Enjoy!
+## Step 6: Enjoy!
-You all done! Now go enjoy your wonderfully seamless skirt!
+You are all done! Now go enjoy your wonderful new skirt and try not to get too dizzy showing off it's fullness!
diff --git a/markdown/org/docs/patterns/sandy/instructions/fr.md b/markdown/org/docs/patterns/sandy/instructions/fr.md
index 3c8346063d0..a632a7ff5ef 100644
--- a/markdown/org/docs/patterns/sandy/instructions/fr.md
+++ b/markdown/org/docs/patterns/sandy/instructions/fr.md
@@ -15,139 +15,111 @@ Due to seamless and closure Sandy's needing different constructions we have sepa
-## Sandy with Closure (default)
+## Etape 1 : PrΓ©paration de la jupe
-### Step 1: Prepping the Skirt
-
-- With _good sides together_ sew the skirt seam up to where you intend the opening to start.
+- Si vous prΓ©voyez une fermeture, cousez la couture de la jupe _bonnes faces ensemble_ jusqu'Γ l'endroit oΓΉ vous voulez que l'ouverture commence.
- Add Pockets if using.
- If using lining, prep the same as the skirt.
-- _Finish_ if not lining.
+- _Finir_ les coutures si pas de doublure.
-Pockets are not included in Sandy as it has one seam by default, if you cut multiple skirt pieces instead of a single one you and easily add pockets.
+Les poches ne sont pas incluses dans Sandy car il y a une couture par dΓ©faut ou pas de couture du tout.
+
+Si vous souhaitez des poches à l'entrejambe, vous pouvez découper le patron de la jupe en plusieurs morceaux plutôt qu'en un seul afin de créer des coutures pour les insérer. En le coupant en trois (par défaut) ou en deux (sans couture), vous obtiendrez deux coutures latérales pour deux poches à l'entrejambe. N'oubliez pas d'ajouter la marge de couture arrière aux lignes de coupe si vous en avez besoin.
+
+Si vous ne souhaitez pas crΓ©er de coutures supplΓ©mentaires mais que vous voulez tout de mΓͺme avoir des poches, vous pouvez utiliser des poches plaquΓ©es ou, si vous vous sentez l'Γ’me d'un aventurier, des poches passepoilΓ©es.
-### Step 2: Prep the opening
+## Γtape 2 : PrΓ©parez l'ouverture
- 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 topstiching down the seam.
+- If not using, press the openings seam allowance to the inside and _Edgestitch_/_Topstitch_ in place. Vous pouvez Γ©galement poursuivre la surpiqΓ»re le long de la couture.
-Skip this step if you are including the zipper in the waistband.
+Sautez cette Γ©tape si :
+- Vous incluez la fermeture à glissière dans la ceinture.
+- Vous rΓ©alisez une version sans couture.
-### Step 3: Lining
+## Γtape 3 : Doublure
-- Face the skirt if desired.
+- (Facultatif) doublez la jupe avec un tissu plus rigide ou plus rΓ©sistant.
- Attach Lining to skirt at hem and opening by your preferred method.
- _Baste_ Lining to skirt at waist.
-- Gather skirt and lining skit if needed.
+- Rassembler la taille si nΓ©cessaire.
-These instructions will treat the lining and skirt the same at the waist.
-If not lining you should face the skirt when hemming later.
+## Γtape 4 : La ceinture
-
+### Fermetures
-### Step 4: The waistband
+- Interfacer/renforcer la moitiΓ© de la partie de la ceinture dans le sens de la longueur. Ou interfacer/renforcer l'une des parties incurvΓ©es de la ceinture.
+- Repassez sous le surplus de couture sur le bord long de la ceinture qui n'est pas entoilΓ©e. Ajuster. _Coller_ le pli en place si nΓ©cessaire.
+- Avec _les bonnes faces ensemble_, coudre l'interface ceinture / cΓ΄tΓ© de la ceinture Γ la jupe. Si nΓ©cessaire, froncez la jupe jusqu'Γ la ceinture.
+- Si vous utilisez la ceinture incurvΓ©e, cousez la partie non interfacΓ©e Γ la partie interfacΓ©e. DΓ©coupez et coupez la couture, puis repassez la partie non interfacΓ©e vers le haut et Γ l'Γ©cart de la jupe.
-- Face half the waistbands parts lengthwise.
-- With _good sides together_ sew the waistbands together along one of the short edges.
-- Press under the seam allowance on the long edge of the waistband that is not faced.
-- Attach the faced side of the waistband, _good sides together_ to the skirt. There will be some overhang, the side you wish not to overlap should be overhang by your seam allowance. The side intended to overlap will have a greater overhang. Trim seam.
-- Press the waistband and seam allowance up and away from the skirt.
-- If inserting a zipper now is the time to do so, attach the zipper from the fold line down. Then follow the rest of the instructions ommiting overhangs and other closures. You will need to attach the lining to the zipper at this point if you have not treated the lining and skirt as one at the opening.
-- Press the waistband _good sides together_ along fold-line.
-- Sew the overhangs with your seam allowance.
+Il y aura des dΓ©passements :
+
+- Le cΓ΄tΓ© que vous ne souhaitez pas faire chevaucher doit dΓ©passer de votre marge de couture.
+- Le cΓ΄tΓ© destinΓ© Γ se chevaucher aura un plus grand dΓ©bordement.
+- Si vous utilisez une patte de boutonnage, les deux cΓ΄tΓ©s dΓ©passeront de votre marge de couture.
+- Si vous utilisez une fermeture Γ glissiΓ¨re dans la ceinture, l'excΓ©dent le plus important devra Γͺtre coupΓ© au niveau de la marge de couture.
+
+__Insertion d'une fermeture à glissière dans la ceinture__
+- If inserting a zipper into the waistband now is the time to do so, attach the zipper from the waistband fold line down. Ou Γ partir de la ligne de couture vers le bas pour une ceinture incurvΓ©e.
+- _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.
+- Presser sous les surplombs.
+- 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.
+
+__Autres fermetures__
+- Press the waistband _good sides together_ along fold-line. Or along seam-line for curved waistband.
+- Cousez les dΓ©passements avec votre marge de couture.
- 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 button and buttonhole, snaps or dress hooks, whatever is your preferred closure to the waistband overhang.
+- Add snaps, dress hooks or button and buttonhole, whatever is your preferred closure to the waistband overhang.
-
+### Seamless
-If you are having trouble keeping the pressed under seam allowance of the waistband folded/not staying pressed you may find it helpful to _Baste_ the fold in place.
-
-
-
-### Step 5: Hemming/Facing
-
-If you have hemmed the skirt with the lining you can skip this step.
-
-- Faced the skirt if desired.
-- Line the facing if desired.
-- Hem the skirt if you have not already done so with the lining.
-
-
-
-There are many ways to hem/face the bottom of a skirt, If you have a prefered method use it here.
-
-
-
-### Step 6: Enjoy!
-
-You are all done! Now go enjoy your wonderful new skirt!
-
-## Sandy with no closure (seamless/elasticated waistband)
-
-### Step 1: Lining and Skirt
-
-- Face skirt if desired.
-- Attach Lining to skirt at hem by your preferred method if using.
-- _Baste_ Lining to skirt at waist.
-- _Finish_ seams if not lining.
-- Gather skirt and lining skit if needed.
-
-
-
-These instructions will treat the lining and skirt the same at the waist.
-If not lining you should face the skirt when hemming later.
-
-
-
-### Step 2: The waistband
-
-- With _good sides together_ sew the waistband in half along the short seams, leaving a gap for the elastic that will be on the inside.
+- 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.
+- 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 by 1cm (3/8 inch) and zig-zag stitch in place.
-- Tuck elastic into waistband and close the opening with hand-sewing.
+- Overlap the ends of the elastic by 1cm (3/8 inch) and zig-zag stitch in place.
+- Rentrer l'Γ©lastique dans la ceinture et fermer l'ouverture par une couture Γ la main.
-
+## Γtape 5 : Ourlet
-If you are having trouble keeping the pressed under seam allowance of the waistband folded/not staying pressed you may find it helpful to _Baste_ the fold in place.
+Si vous avez ourlΓ© la jupe avec la doublure, vous pouvez sauter cette Γ©tape.
-
-
-### Step 3: Hemming/Facing
-
-If you have hemmed the skirt with the lining you can skip this step.
-
-- Faced the skirt if desired.
-- Line the facing if desired.
-- Hem the skirt if you have not already done so with the lining.
+Faites un ourlet sur la jupe de l'une des faΓ§ons suivantes :
+- Oubliez la marge de l'ourlet et assemblez le bord brut.
+- 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. Vous avez peut-Γͺtre entendu parler d'un ourlet roulΓ©.
-There are many ways to hem/face the bottom of a skirt, If you have a prefered method use it here.
+Il y a de nombreuses faΓ§ons d'ourler le bas d'une jupe. Si vous avez une mΓ©thode prΓ©fΓ©rΓ©e, utilisez-la ici.
-### Step 4: Enjoy!
+## Γtape 6: Profitez-en!
-You all done! Now go enjoy your wonderfully seamless skirt!
+Vous avez terminΓ© ! Now go enjoy your wonderful new skirt and try not to get too dizzy showing off it's fullness!
diff --git a/markdown/org/docs/patterns/sandy/instructions/nl.md b/markdown/org/docs/patterns/sandy/instructions/nl.md
index 2677f9ba12a..dedb1c10caf 100644
--- a/markdown/org/docs/patterns/sandy/instructions/nl.md
+++ b/markdown/org/docs/patterns/sandy/instructions/nl.md
@@ -15,129 +15,101 @@ Due to seamless and closure Sandy's needing different constructions we have sepa
-## Sandy with Closure (default)
+## Step 1: Prepping the Skirt
-### Step 1: Prepping the Skirt
-
-- With _good sides together_ sew the skirt seam up to where you intend the opening to start.
+- 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_ if not lining.
+- _Finish_ seams if not lining.
-Pockets are not included in Sandy as it has one seam by default, if you cut multiple skirt pieces instead of a single one you and easily add pockets.
+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
+## 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 topstiching down the seam.
+- 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.
-Skip this step if you are including the zipper in the waistband.
+Skip this step if:
+- You are including the zipper in the waistband.
+- You are making a seamless version.
-### Step 3: Lining
+## Step 3: Lining
-- Face the skirt if desired.
+- (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 skirt and lining skit if needed.
+- Gather the waist if needed.
-These instructions will treat the lining and skirt the same at the waist.
-If not lining you should face the skirt when hemming later.
+## Step 4: The waistband
-
+### Closures
-### Step 4: The waistband
+- 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.
-- Face half the waistbands parts lengthwise.
-- With _good sides together_ sew the waistbands together along one of the short edges.
-- Press under the seam allowance on the long edge of the waistband that is not faced.
-- Attach the faced side of the waistband, _good sides together_ to the skirt. There will be some overhang, the side you wish not to overlap should be overhang by your seam allowance. The side intended to overlap will have a greater overhang. Trim seam.
-- Press the waistband and seam allowance up and away from the skirt.
-- If inserting a zipper now is the time to do so, attach the zipper from the fold line down. Then follow the rest of the instructions ommiting overhangs and other closures. You will need to attach the lining to the zipper at this point if you have not treated the lining and skirt as one at the opening.
-- Press the waistband _good sides together_ along fold-line.
+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 button and buttonhole, snaps or dress hooks, whatever is your preferred closure to the waistband overhang.
+- Add snaps, dress hooks or button and buttonhole, whatever is your preferred closure to the waistband overhang.
-
+### Seamless
-If you are having trouble keeping the pressed under seam allowance of the waistband folded/not staying pressed you may find it helpful to _Baste_ the fold in place.
-
-
-
-### Step 5: Hemming/Facing
-
-If you have hemmed the skirt with the lining you can skip this step.
-
-- Faced the skirt if desired.
-- Line the facing if desired.
-- Hem the skirt if you have not already done so with the lining.
-
-
-
-There are many ways to hem/face the bottom of a skirt, If you have a prefered method use it here.
-
-
-
-### Step 6: Enjoy!
-
-You are all done! Now go enjoy your wonderful new skirt!
-
-## Sandy with no closure (seamless/elasticated waistband)
-
-### Step 1: Lining and Skirt
-
-- Face skirt if desired.
-- Attach Lining to skirt at hem by your preferred method if using.
-- _Baste_ Lining to skirt at waist.
-- _Finish_ seams if not lining.
-- Gather skirt and lining skit if needed.
-
-
-
-These instructions will treat the lining and skirt the same at the waist.
-If not lining you should face the skirt when hemming later.
-
-
-
-### Step 2: The waistband
-
-- With _good sides together_ sew the waistband in half along the short seams, leaving a gap for the elastic that will be on the inside.
+- 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.
+- 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 by 1cm (3/8 inch) and zig-zag stitch in place.
+- 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.
-
-
-If you are having trouble keeping the pressed under seam allowance of the waistband folded/not staying pressed you may find it helpful to _Baste_ the fold in place.
-
-
-
-### Step 3: Hemming/Facing
+## Step 5: Hemming
If you have hemmed the skirt with the lining you can skip this step.
-- Faced the skirt if desired.
-- Line the facing if desired.
-- Hem the skirt if you have not already done so with the lining.
+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.
@@ -145,9 +117,9 @@ There are many ways to hem/face the bottom of a skirt, If you have a prefered me
-### Step 4: Enjoy!
+## Step 6: Enjoy!
-You all done! Now go enjoy your wonderfully seamless skirt!
+You are all done! Now go enjoy your wonderful new skirt and try not to get too dizzy showing off it's fullness!
diff --git a/markdown/org/docs/patterns/sandy/instructions/uk.md b/markdown/org/docs/patterns/sandy/instructions/uk.md
index 3c8346063d0..bf9c272a580 100644
--- a/markdown/org/docs/patterns/sandy/instructions/uk.md
+++ b/markdown/org/docs/patterns/sandy/instructions/uk.md
@@ -15,129 +15,101 @@ Due to seamless and closure Sandy's needing different constructions we have sepa
-## Sandy with Closure (default)
+## Step 1: Prepping the Skirt
-### Step 1: Prepping the Skirt
-
-- With _good sides together_ sew the skirt seam up to where you intend the opening to start.
+- 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_ if not lining.
+- _Finish_ seams if not lining.
-Pockets are not included in Sandy as it has one seam by default, if you cut multiple skirt pieces instead of a single one you and easily add pockets.
+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
+## 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 topstiching down the seam.
+- 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.
-Skip this step if you are including the zipper in the waistband.
+Skip this step if:
+- You are including the zipper in the waistband.
+- You are making a seamless version.
-### Step 3: Lining
+## Step 3: Lining
-- Face the skirt if desired.
+- (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 skirt and lining skit if needed.
+- Gather the waist if needed.
-These instructions will treat the lining and skirt the same at the waist.
-If not lining you should face the skirt when hemming later.
+## Step 4: The waistband
-
+### Closures
-### Step 4: The waistband
+- 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.
-- Face half the waistbands parts lengthwise.
-- With _good sides together_ sew the waistbands together along one of the short edges.
-- Press under the seam allowance on the long edge of the waistband that is not faced.
-- Attach the faced side of the waistband, _good sides together_ to the skirt. There will be some overhang, the side you wish not to overlap should be overhang by your seam allowance. The side intended to overlap will have a greater overhang. Trim seam.
-- Press the waistband and seam allowance up and away from the skirt.
-- If inserting a zipper now is the time to do so, attach the zipper from the fold line down. Then follow the rest of the instructions ommiting overhangs and other closures. You will need to attach the lining to the zipper at this point if you have not treated the lining and skirt as one at the opening.
-- Press the waistband _good sides together_ along fold-line.
+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 button and buttonhole, snaps or dress hooks, whatever is your preferred closure to the waistband overhang.
+- Add snaps, dress hooks or button and buttonhole, whatever is your preferred closure to the waistband overhang.
-
+### Seamless
-If you are having trouble keeping the pressed under seam allowance of the waistband folded/not staying pressed you may find it helpful to _Baste_ the fold in place.
-
-
-
-### Step 5: Hemming/Facing
-
-If you have hemmed the skirt with the lining you can skip this step.
-
-- Faced the skirt if desired.
-- Line the facing if desired.
-- Hem the skirt if you have not already done so with the lining.
-
-
-
-There are many ways to hem/face the bottom of a skirt, If you have a prefered method use it here.
-
-
-
-### Step 6: Enjoy!
-
-You are all done! Now go enjoy your wonderful new skirt!
-
-## Sandy with no closure (seamless/elasticated waistband)
-
-### Step 1: Lining and Skirt
-
-- Face skirt if desired.
-- Attach Lining to skirt at hem by your preferred method if using.
-- _Baste_ Lining to skirt at waist.
-- _Finish_ seams if not lining.
-- Gather skirt and lining skit if needed.
-
-
-
-These instructions will treat the lining and skirt the same at the waist.
-If not lining you should face the skirt when hemming later.
-
-
-
-### Step 2: The waistband
-
-- With _good sides together_ sew the waistband in half along the short seams, leaving a gap for the elastic that will be on the inside.
+- 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.
+- 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 by 1cm (3/8 inch) and zig-zag stitch in place.
+- 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.
-
-
-If you are having trouble keeping the pressed under seam allowance of the waistband folded/not staying pressed you may find it helpful to _Baste_ the fold in place.
-
-
-
-### Step 3: Hemming/Facing
+## Step 5: Hemming
If you have hemmed the skirt with the lining you can skip this step.
-- Faced the skirt if desired.
-- Line the facing if desired.
-- Hem the skirt if you have not already done so with the lining.
+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.
@@ -145,9 +117,9 @@ There are many ways to hem/face the bottom of a skirt, If you have a prefered me
-### Step 4: Enjoy!
+## Step 6: Enjoy!
-You all done! Now go enjoy your wonderfully seamless skirt!
+You are all done! Now go enjoy your wonderful new skirt and try not to get too dizzy showing off it's fullness!
diff --git a/markdown/org/docs/patterns/sandy/options/circleratio/fr.md b/markdown/org/docs/patterns/sandy/options/circleratio/fr.md
index e3d29c5d163..c0a5bd997b5 100644
--- a/markdown/org/docs/patterns/sandy/options/circleratio/fr.md
+++ b/markdown/org/docs/patterns/sandy/options/circleratio/fr.md
@@ -8,4 +8,4 @@ Le pourcentage d'une jupe circulaire. 100% fait une jupe pleine circulaire, 50%
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sandy/options/gathering/fr.md b/markdown/org/docs/patterns/sandy/options/gathering/fr.md
index 08d471c43f3..173fd8f5b9e 100644
--- a/markdown/org/docs/patterns/sandy/options/gathering/fr.md
+++ b/markdown/org/docs/patterns/sandy/options/gathering/fr.md
@@ -8,4 +8,4 @@ Le pourcent par lequel le tissu du haut de la jupe est plus long que celui du ba
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sandy/options/hemwidth/fr.md b/markdown/org/docs/patterns/sandy/options/hemwidth/fr.md
index 38c9566dc0e..d596dafb8de 100644
--- a/markdown/org/docs/patterns/sandy/options/hemwidth/fr.md
+++ b/markdown/org/docs/patterns/sandy/options/hemwidth/fr.md
@@ -8,4 +8,4 @@ La largeur de l'ourlet.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sandy/options/lengthbonus/fr.md b/markdown/org/docs/patterns/sandy/options/lengthbonus/fr.md
index e8d9d316b19..af32b2ad398 100644
--- a/markdown/org/docs/patterns/sandy/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/sandy/options/lengthbonus/fr.md
@@ -8,4 +8,4 @@ La longueur de la jupe.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/de.md b/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/de.md
index 3c9e404a58a..63822139f8f 100644
--- a/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/de.md
+++ b/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/de.md
@@ -8,7 +8,9 @@ WΓ€hlen Sie 'Ja' fΓΌr einen nahtlosen Kreis, der auf ein doppeltes Falten zugesc
-This produces a full circle ignoring the _Circle percent_ option.
+- This produces a full circle ignoring the _Circle percent_ option.
+- You may need to use the [gathering option](sandy/options/gathering) to increase the waist circumference to fit over your seat/hips.
+- You will need to set the [waistband overlap](sandy/options/waistbandoverlap) to 0%.
diff --git a/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/en.md b/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/en.md
index 4edea9606cc..a736913e7ef 100644
--- a/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/en.md
+++ b/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/en.md
@@ -9,7 +9,9 @@ Since it has no openings, you'll need an elastic waistband.
-This produces a full circle ignoring the _Circle percent_ option.
+- This produces a full circle ignoring the _Circle percent_ option.
+- You may need to use the [gathering option](sandy/options/gathering) to increase the waist circumference to fit over your seat/hips.
+- You will need to set the [waistband overlap](sandy/options/waistbandoverlap) to 0%.
diff --git a/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/es.md b/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/es.md
index a8bfa011e9a..7e434ca2e3b 100644
--- a/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/es.md
+++ b/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/es.md
@@ -8,7 +8,9 @@ Selecciona "SΓ" para un cΓrculo sin costuras, que se corta en un doble pliegue
-This produces a full circle ignoring the _Circle percent_ option.
+- This produces a full circle ignoring the _Circle percent_ option.
+- You may need to use the [gathering option](sandy/options/gathering) to increase the waist circumference to fit over your seat/hips.
+- You will need to set the [waistband overlap](sandy/options/waistbandoverlap) to 0%.
diff --git a/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/fr.md b/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/fr.md
index f26a4854f8f..0944d0a2732 100644
--- a/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/fr.md
+++ b/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/fr.md
@@ -8,10 +8,12 @@ SΓ©lectionnez 'oui' pour un cercle transparent, qui est coupΓ© sur un double pli
-This produces a full circle ignoring the _Circle percent_ option.
+- This produces a full circle ignoring the _Circle percent_ option.
+- You may need to use the [gathering option](sandy/options/gathering) to increase the waist circumference to fit over your seat/hips.
+- You will need to set the [waistband overlap](sandy/options/waistbandoverlap) to 0%.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/nl.md b/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/nl.md
index 5ddd0247d5e..b2cfef8387d 100644
--- a/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/nl.md
+++ b/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/nl.md
@@ -8,7 +8,9 @@ Kies 'ja' voor een naadloze cirkel, die aan een dubbele stofvouw geknipt wordt.
-This produces a full circle ignoring the _Circle percent_ option.
+- This produces a full circle ignoring the _Circle percent_ option.
+- You may need to use the [gathering option](sandy/options/gathering) to increase the waist circumference to fit over your seat/hips.
+- You will need to set the [waistband overlap](sandy/options/waistbandoverlap) to 0%.
diff --git a/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/uk.md b/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/uk.md
index 10fe655ab63..857f804d5d6 100644
--- a/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/uk.md
+++ b/markdown/org/docs/patterns/sandy/options/seamlessfullcircle/uk.md
@@ -8,7 +8,9 @@ Select 'yes' for a seamless circle, which is cut on a double fold. Since it has
-This produces a full circle ignoring the _Circle percent_ option.
+- This produces a full circle ignoring the _Circle percent_ option.
+- You may need to use the [gathering option](sandy/options/gathering) to increase the waist circumference to fit over your seat/hips.
+- You will need to set the [waistband overlap](sandy/options/waistbandoverlap) to 0%.
diff --git a/markdown/org/docs/patterns/sandy/options/waistbandoverlap/fr.md b/markdown/org/docs/patterns/sandy/options/waistbandoverlap/fr.md
index 4b34999695d..eb6ebc6d975 100644
--- a/markdown/org/docs/patterns/sandy/options/waistbandoverlap/fr.md
+++ b/markdown/org/docs/patterns/sandy/options/waistbandoverlap/fr.md
@@ -8,4 +8,4 @@ La longueur du chevauchement entre les extrΓ©mitΓ©s de la ceinture, pour permett
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sandy/options/waistbandposition/fr.md b/markdown/org/docs/patterns/sandy/options/waistbandposition/fr.md
index 189bce5e9fe..ceea66b7761 100644
--- a/markdown/org/docs/patterns/sandy/options/waistbandposition/fr.md
+++ b/markdown/org/docs/patterns/sandy/options/waistbandposition/fr.md
@@ -8,4 +8,4 @@ OΓΉ se trouve la ceinture. 0% le fait s'asseoir sur la taille naturelle, 100% le
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sandy/options/waistbandshape/fr.md b/markdown/org/docs/patterns/sandy/options/waistbandshape/fr.md
index fae1fa3c261..28f161c6de2 100644
--- a/markdown/org/docs/patterns/sandy/options/waistbandshape/fr.md
+++ b/markdown/org/docs/patterns/sandy/options/waistbandshape/fr.md
@@ -8,4 +8,4 @@ La forme de la ceinture. Droit facilite les choses, mais une ceinture arrondie s
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sandy/options/waistbandwidth/fr.md b/markdown/org/docs/patterns/sandy/options/waistbandwidth/fr.md
index 031882ff198..a8b14c7b321 100644
--- a/markdown/org/docs/patterns/sandy/options/waistbandwidth/fr.md
+++ b/markdown/org/docs/patterns/sandy/options/waistbandwidth/fr.md
@@ -8,4 +8,4 @@ La largeur de la ceinture
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/shin/options/backrise/fr.md b/markdown/org/docs/patterns/shin/options/backrise/fr.md
index 0ac6641324c..8814566363c 100644
--- a/markdown/org/docs/patterns/shin/options/backrise/fr.md
+++ b/markdown/org/docs/patterns/shin/options/backrise/fr.md
@@ -10,4 +10,4 @@ Ce facteur soulèvera la taille à l'arrière de vos troncs de baignade seulemen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/shin/options/bulge/fr.md b/markdown/org/docs/patterns/shin/options/bulge/fr.md
index e9b79ebd005..1ffbeddd75d 100644
--- a/markdown/org/docs/patterns/shin/options/bulge/fr.md
+++ b/markdown/org/docs/patterns/shin/options/bulge/fr.md
@@ -10,4 +10,4 @@ Augmenter ceci crΓ©era plus de place sur le devant.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/shin/options/elasticwidth/fr.md b/markdown/org/docs/patterns/shin/options/elasticwidth/fr.md
index ccdae1909db..df6ea872791 100644
--- a/markdown/org/docs/patterns/shin/options/elasticwidth/fr.md
+++ b/markdown/org/docs/patterns/shin/options/elasticwidth/fr.md
@@ -8,6 +8,6 @@ title: "Elastic width"
>
> La largeur de votre Γ©lastique doit Γͺtre prise en compte, c'est Γ cela que sert l'option largeur d'Γ©lastique.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/shin/options/legreduction/fr.md b/markdown/org/docs/patterns/shin/options/legreduction/fr.md
index f249cbada6f..57a3462b83e 100644
--- a/markdown/org/docs/patterns/shin/options/legreduction/fr.md
+++ b/markdown/org/docs/patterns/shin/options/legreduction/fr.md
@@ -10,4 +10,4 @@ La quantitΓ© de rΓ©duction supplΓ©mentaire de lβΓ©tirement aux jambes (supΓ©ri
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/shin/options/rise/fr.md b/markdown/org/docs/patterns/shin/options/rise/fr.md
index c5372246e96..b6f332cdab9 100644
--- a/markdown/org/docs/patterns/shin/options/rise/fr.md
+++ b/markdown/org/docs/patterns/shin/options/rise/fr.md
@@ -8,4 +8,4 @@ Cette option permet de contrΓ΄ler la hauteur gΓ©nΓ©rale de la taille.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/shin/options/stretch/fr.md b/markdown/org/docs/patterns/shin/options/stretch/fr.md
index 4ae390f058e..0579be6ba22 100644
--- a/markdown/org/docs/patterns/shin/options/stretch/fr.md
+++ b/markdown/org/docs/patterns/shin/options/stretch/fr.md
@@ -6,4 +6,4 @@ Le facteur de stretch horizontal.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/simon/options/acrossbackfactor/fr.md
index 284594e8c96..59ff647727c 100644
--- a/markdown/org/docs/patterns/simon/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/simon/options/acrossbackfactor/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la largeur de votre dos en jouant sur la mesure d'une Γ©paule Γ l'aut
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/simon/options/armholedepthfactor/fr.md
index 5ecfd84ac7a..867fb8e4572 100644
--- a/markdown/org/docs/patterns/simon/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/simon/options/armholedepthfactor/fr.md
@@ -8,4 +8,4 @@ Cette option contrΓ΄le la profondeur de l'emmanchure.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/backneckcutout/fr.md b/markdown/org/docs/patterns/simon/options/backneckcutout/fr.md
index 8f2b770b901..fd7ab1ff08d 100644
--- a/markdown/org/docs/patterns/simon/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/simon/options/backneckcutout/fr.md
@@ -6,4 +6,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/barrelcuffnarrowbutton/fr.md b/markdown/org/docs/patterns/simon/options/barrelcuffnarrowbutton/fr.md
index 69e9a2bbb6c..bee2f6a4816 100644
--- a/markdown/org/docs/patterns/simon/options/barrelcuffnarrowbutton/fr.md
+++ b/markdown/org/docs/patterns/simon/options/barrelcuffnarrowbutton/fr.md
@@ -16,4 +16,4 @@ Cela ne s'applique qu'aux poignets classiques. Donc si vous avez choisi un poign
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/bicepsease/fr.md b/markdown/org/docs/patterns/simon/options/bicepsease/fr.md
index 4ea9e094b84..c45613b731f 100644
--- a/markdown/org/docs/patterns/simon/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/simon/options/bicepsease/fr.md
@@ -24,4 +24,4 @@ Nous nous efforcerons de respecter votre choix ici, mais la prioritΓ© est d'ajus
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/buttonfreelength/fr.md b/markdown/org/docs/patterns/simon/options/buttonfreelength/fr.md
index dd71c61be6d..9fb24b0cb80 100644
--- a/markdown/org/docs/patterns/simon/options/buttonfreelength/fr.md
+++ b/markdown/org/docs/patterns/simon/options/buttonfreelength/fr.md
@@ -22,4 +22,4 @@ making sure it's within the length bonus you have available.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/buttonholeplacketfoldwidth/fr.md b/markdown/org/docs/patterns/simon/options/buttonholeplacketfoldwidth/fr.md
index bf58f567029..abd6ade2006 100644
--- a/markdown/org/docs/patterns/simon/options/buttonholeplacketfoldwidth/fr.md
+++ b/markdown/org/docs/patterns/simon/options/buttonholeplacketfoldwidth/fr.md
@@ -17,4 +17,4 @@ Ceci s'applique uniquement Γ une patte classique. N'en tenez donc pas compte si
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/buttonholeplacketstyle/fr.md b/markdown/org/docs/patterns/simon/options/buttonholeplacketstyle/fr.md
index 39eaa91ef56..69e0f9e7858 100644
--- a/markdown/org/docs/patterns/simon/options/buttonholeplacketstyle/fr.md
+++ b/markdown/org/docs/patterns/simon/options/buttonholeplacketstyle/fr.md
@@ -20,4 +20,4 @@ As seamless is only possible on a _cut-on_ placket, this option is ignored if yo
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/buttonholeplacketwidth/fr.md b/markdown/org/docs/patterns/simon/options/buttonholeplacketwidth/fr.md
index 412b7ef1fe6..b8b973222be 100644
--- a/markdown/org/docs/patterns/simon/options/buttonholeplacketwidth/fr.md
+++ b/markdown/org/docs/patterns/simon/options/buttonholeplacketwidth/fr.md
@@ -8,4 +8,4 @@ Largeur de la patte de boutonnage (côté boutonnières).
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/buttonplacketstyle/fr.md b/markdown/org/docs/patterns/simon/options/buttonplacketstyle/fr.md
index 2e56a429d48..6a595589b01 100644
--- a/markdown/org/docs/patterns/simon/options/buttonplacketstyle/fr.md
+++ b/markdown/org/docs/patterns/simon/options/buttonplacketstyle/fr.md
@@ -20,4 +20,4 @@ As seamless is only possible on a _cut-on_ placket, this option is ignored if yo
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/buttonplacketwidth/fr.md b/markdown/org/docs/patterns/simon/options/buttonplacketwidth/fr.md
index d7c52861aa4..6945dabab34 100644
--- a/markdown/org/docs/patterns/simon/options/buttonplacketwidth/fr.md
+++ b/markdown/org/docs/patterns/simon/options/buttonplacketwidth/fr.md
@@ -8,4 +8,4 @@ La largeur de votre patte de bouton.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/buttons/fr.md b/markdown/org/docs/patterns/simon/options/buttons/fr.md
index 1f90ecec094..7c9ecfea2fe 100644
--- a/markdown/org/docs/patterns/simon/options/buttons/fr.md
+++ b/markdown/org/docs/patterns/simon/options/buttons/fr.md
@@ -8,4 +8,4 @@ Le nombre de boutons sur votre chemise. Excluant les boutons de poignΓ©e, et le
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/chestease/fr.md b/markdown/org/docs/patterns/simon/options/chestease/fr.md
index 488c4c44d5f..da7fa3a0398 100644
--- a/markdown/org/docs/patterns/simon/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/simon/options/chestease/fr.md
@@ -8,4 +8,4 @@ Combien d'aisance voulez-vous pour le buste ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/collarangle/fr.md b/markdown/org/docs/patterns/simon/options/collarangle/fr.md
index 559ad4a20f9..5544870ca47 100644
--- a/markdown/org/docs/patterns/simon/options/collarangle/fr.md
+++ b/markdown/org/docs/patterns/simon/options/collarangle/fr.md
@@ -20,4 +20,4 @@ Dans l'image d'exemple, le haut est de 80 degrΓ©s par dΓ©faut et le bas est de 1
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/collarbend/fr.md b/markdown/org/docs/patterns/simon/options/collarbend/fr.md
index 24101638bb1..5780089b94d 100644
--- a/markdown/org/docs/patterns/simon/options/collarbend/fr.md
+++ b/markdown/org/docs/patterns/simon/options/collarbend/fr.md
@@ -14,4 +14,4 @@ Cela influence la faΓ§on dont le collier se trouve contre le col.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/collarease/fr.md b/markdown/org/docs/patterns/simon/options/collarease/fr.md
index c395633a166..a413b25d6ee 100644
--- a/markdown/org/docs/patterns/simon/options/collarease/fr.md
+++ b/markdown/org/docs/patterns/simon/options/collarease/fr.md
@@ -10,4 +10,4 @@ Si vous avez l'impression qu'un collier Γ©touffe, vous pouvez vous donner un peu
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/collarflare/fr.md b/markdown/org/docs/patterns/simon/options/collarflare/fr.md
index ee0ccbdda29..86dd3cc9d5b 100644
--- a/markdown/org/docs/patterns/simon/options/collarflare/fr.md
+++ b/markdown/org/docs/patterns/simon/options/collarflare/fr.md
@@ -14,4 +14,4 @@ Cela influence la longueur de vos conseils de col.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/collargap/fr.md b/markdown/org/docs/patterns/simon/options/collargap/fr.md
index 0e3d0774f77..1356f02ca60 100644
--- a/markdown/org/docs/patterns/simon/options/collargap/fr.md
+++ b/markdown/org/docs/patterns/simon/options/collargap/fr.md
@@ -14,4 +14,4 @@ Il s'agit surtout d'un choix de style, mais un plus grand Γ©cart de collier (ave
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/collarroll/fr.md b/markdown/org/docs/patterns/simon/options/collarroll/fr.md
index 7c7c58f68e5..db79c4898ce 100644
--- a/markdown/org/docs/patterns/simon/options/collarroll/fr.md
+++ b/markdown/org/docs/patterns/simon/options/collarroll/fr.md
@@ -18,4 +18,4 @@ Augmenter cela ne fait pas augmenter le collier (utiliser la hauteur du collier
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/collarstandbend/fr.md b/markdown/org/docs/patterns/simon/options/collarstandbend/fr.md
index 2146905948d..90538cfaa9c 100644
--- a/markdown/org/docs/patterns/simon/options/collarstandbend/fr.md
+++ b/markdown/org/docs/patterns/simon/options/collarstandbend/fr.md
@@ -8,4 +8,4 @@ Combien le collier se plie au milieu, plutΓ΄t que d'Γͺtre droit. Cela influence
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/collarstandcurve/fr.md b/markdown/org/docs/patterns/simon/options/collarstandcurve/fr.md
index f48bb721ff4..3a19880d9d7 100644
--- a/markdown/org/docs/patterns/simon/options/collarstandcurve/fr.md
+++ b/markdown/org/docs/patterns/simon/options/collarstandcurve/fr.md
@@ -14,4 +14,4 @@ Vous pouvez modifier cela pour vous assurer que les bords de votre collier se ti
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/collarstandwidth/fr.md b/markdown/org/docs/patterns/simon/options/collarstandwidth/fr.md
index c9b2738ccd0..7a1dce1fcb1 100644
--- a/markdown/org/docs/patterns/simon/options/collarstandwidth/fr.md
+++ b/markdown/org/docs/patterns/simon/options/collarstandwidth/fr.md
@@ -14,4 +14,4 @@ C'est le paramètre principal pour modifier la hauteur globale de votre collier.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/cuffbuttonrows/fr.md b/markdown/org/docs/patterns/simon/options/cuffbuttonrows/fr.md
index f0a1a24ab09..92b1fafca79 100644
--- a/markdown/org/docs/patterns/simon/options/cuffbuttonrows/fr.md
+++ b/markdown/org/docs/patterns/simon/options/cuffbuttonrows/fr.md
@@ -14,4 +14,4 @@ Cela ne s'applique qu'aux poignets classiques. Donc si vous avez choisi un poign
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/cuffdrape/fr.md b/markdown/org/docs/patterns/simon/options/cuffdrape/fr.md
index 1d2f12901f7..b13f91c0a0a 100644
--- a/markdown/org/docs/patterns/simon/options/cuffdrape/fr.md
+++ b/markdown/org/docs/patterns/simon/options/cuffdrape/fr.md
@@ -17,4 +17,4 @@ Le drapΓ© sera travaillΓ© dans le manche avec des plis.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/cuffease/fr.md b/markdown/org/docs/patterns/simon/options/cuffease/fr.md
index 793ecf8cdc7..9fe2656391b 100644
--- a/markdown/org/docs/patterns/simon/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/simon/options/cuffease/fr.md
@@ -18,4 +18,4 @@ Ceux qui veulent porter leur chemise sous un chandail devraient Γ©galement jeter
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/cufflength/fr.md b/markdown/org/docs/patterns/simon/options/cufflength/fr.md
index b559b850c60..f05b13a498d 100644
--- a/markdown/org/docs/patterns/simon/options/cufflength/fr.md
+++ b/markdown/org/docs/patterns/simon/options/cufflength/fr.md
@@ -14,4 +14,4 @@ Cela n'influencera pas la durΓ©e totale de votre manche.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/cuffstyle/fr.md b/markdown/org/docs/patterns/simon/options/cuffstyle/fr.md
index 5ba659fa312..d36044cf2e5 100644
--- a/markdown/org/docs/patterns/simon/options/cuffstyle/fr.md
+++ b/markdown/org/docs/patterns/simon/options/cuffstyle/fr.md
@@ -15,4 +15,4 @@ Quel style de manche voulez-vous ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/simon/options/draftforhighbust/fr.md
index df06422998a..83f92e166d4 100644
--- a/markdown/org/docs/patterns/simon/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/simon/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/simon/options/extratopbutton/fr.md b/markdown/org/docs/patterns/simon/options/extratopbutton/fr.md
index c7e7b638183..ebe0188565b 100644
--- a/markdown/org/docs/patterns/simon/options/extratopbutton/fr.md
+++ b/markdown/org/docs/patterns/simon/options/extratopbutton/fr.md
@@ -23,4 +23,4 @@ Ce bouton supplΓ©mentaire est ajoutΓ© au nombre de boutons sur le devant. Il ne
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/ffsa/fr.md b/markdown/org/docs/patterns/simon/options/ffsa/fr.md
index adca5a2f502..3e2ca631093 100644
--- a/markdown/org/docs/patterns/simon/options/ffsa/fr.md
+++ b/markdown/org/docs/patterns/simon/options/ffsa/fr.md
@@ -10,4 +10,4 @@ This option controls the amount of flat-felled seam allowance as a factor of the
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/simon/options/frontarmholedeeper/fr.md
index 69951655451..6339349da8f 100644
--- a/markdown/org/docs/patterns/simon/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/simon/options/frontarmholedeeper/fr.md
@@ -8,4 +8,4 @@ Since the human shoulder is more rounded at the front of the body, the sleeve(ca
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/hemcurve/fr.md b/markdown/org/docs/patterns/simon/options/hemcurve/fr.md
index 99072a6ef00..2f3867d199c 100644
--- a/markdown/org/docs/patterns/simon/options/hemcurve/fr.md
+++ b/markdown/org/docs/patterns/simon/options/hemcurve/fr.md
@@ -16,4 +16,4 @@ Combien voulez-vous que l'ourlet se courbe vers le haut ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/hemstyle/fr.md b/markdown/org/docs/patterns/simon/options/hemstyle/fr.md
index 3f03771866b..f8632aa9880 100644
--- a/markdown/org/docs/patterns/simon/options/hemstyle/fr.md
+++ b/markdown/org/docs/patterns/simon/options/hemstyle/fr.md
@@ -12,4 +12,4 @@ Quel style de ligne d'ourlet voulez-vous ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/hipsease/fr.md b/markdown/org/docs/patterns/simon/options/hipsease/fr.md
index 3eecb00d5c0..64523fc3293 100644
--- a/markdown/org/docs/patterns/simon/options/hipsease/fr.md
+++ b/markdown/org/docs/patterns/simon/options/hipsease/fr.md
@@ -8,4 +8,4 @@ Combien d'aisance voulez-vous pour les hanches ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/lengthbonus/fr.md b/markdown/org/docs/patterns/simon/options/lengthbonus/fr.md
index 5dbe9e00e65..d0cb2f832ef 100644
--- a/markdown/org/docs/patterns/simon/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/simon/options/lengthbonus/fr.md
@@ -19,4 +19,4 @@ Si vous voulez une chemise plus dΓ©contractΓ©e Γ porter sur votre pantalon, vou
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/roundback/fr.md b/markdown/org/docs/patterns/simon/options/roundback/fr.md
index f9856c996ad..8df67a11602 100644
--- a/markdown/org/docs/patterns/simon/options/roundback/fr.md
+++ b/markdown/org/docs/patterns/simon/options/roundback/fr.md
@@ -9,4 +9,4 @@ Controls how round the back yoke seam is by adding length to the center back at
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/s3armhole/fr.md b/markdown/org/docs/patterns/simon/options/s3armhole/fr.md
index 8a77f0b9c3b..bffc55a9b0c 100644
--- a/markdown/org/docs/patterns/simon/options/s3armhole/fr.md
+++ b/markdown/org/docs/patterns/simon/options/s3armhole/fr.md
@@ -9,4 +9,4 @@ ContrΓ΄le l'emplacement de la couture des Γ©paules sur le cΓ΄tΓ© du bras.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/s3collar/fr.md b/markdown/org/docs/patterns/simon/options/s3collar/fr.md
index 585de24e1f4..4e22c112f66 100644
--- a/markdown/org/docs/patterns/simon/options/s3collar/fr.md
+++ b/markdown/org/docs/patterns/simon/options/s3collar/fr.md
@@ -9,4 +9,4 @@ ContrΓ΄le l'emplacement de la couture des Γ©paules sur le cΓ΄tΓ© du col.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/seperatebuttonholeplacket/fr.md b/markdown/org/docs/patterns/simon/options/seperatebuttonholeplacket/fr.md
index b688605958c..8c378f33e7c 100644
--- a/markdown/org/docs/patterns/simon/options/seperatebuttonholeplacket/fr.md
+++ b/markdown/org/docs/patterns/simon/options/seperatebuttonholeplacket/fr.md
@@ -8,4 +8,4 @@ Si vous voulez ou non que la patte de boutonnière soit une partie séparée.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/seperatebuttonplacket/fr.md b/markdown/org/docs/patterns/simon/options/seperatebuttonplacket/fr.md
index 9ae2af8ea2c..99ba2e2a405 100644
--- a/markdown/org/docs/patterns/simon/options/seperatebuttonplacket/fr.md
+++ b/markdown/org/docs/patterns/simon/options/seperatebuttonplacket/fr.md
@@ -8,4 +8,4 @@ Si vous voulez ou non que la patte de bouton soit une partie sΓ©parΓ©e.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/shoulderease/fr.md b/markdown/org/docs/patterns/simon/options/shoulderease/fr.md
index 7111dc1d07d..1ecd6c25649 100644
--- a/markdown/org/docs/patterns/simon/options/shoulderease/fr.md
+++ b/markdown/org/docs/patterns/simon/options/shoulderease/fr.md
@@ -8,4 +8,4 @@ This option allows you to create some extra ease at the shoulders which shifts t
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/shoulderslopereduction/fr.md b/markdown/org/docs/patterns/simon/options/shoulderslopereduction/fr.md
index 074ca376088..9838b1d0496 100644
--- a/markdown/org/docs/patterns/simon/options/shoulderslopereduction/fr.md
+++ b/markdown/org/docs/patterns/simon/options/shoulderslopereduction/fr.md
@@ -6,4 +6,4 @@ Reduces the shoulder slope to create extra room for shoulder padding.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapbackfactorx/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapbackfactorx/fr.md
index 88f84b18e50..b27fabe58cb 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapbackfactorx/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapbackfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapbackfactory/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapbackfactory/fr.md
index 0a63d5c27f9..348473500dc 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapbackfactory/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapbackfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapease/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapease/fr.md
index 4d9ad51c41b..d88f765c78f 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapease/fr.md
@@ -15,4 +15,4 @@ Pour les tissus lΓ©gers ou la maille, on n'ajoute pas d'aisance de tΓͺte de manc
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapfrontfactorx/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapfrontfactorx/fr.md
index fb01e5d4b94..51cb9cb43c6 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapfrontfactorx/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapfrontfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapfrontfactory/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapfrontfactory/fr.md
index 021411d2c4e..b217f0231d2 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapfrontfactory/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapfrontfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapq1offset/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapq1offset/fr.md
index f0aacdd25c2..04e824ee75a 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapq1offset/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapq1offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapq1spread1/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapq1spread1/fr.md
index ee3fd3eaa39..1eb61ed68b5 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapq1spread1/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapq1spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapq1spread2/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapq1spread2/fr.md
index fcab2bdb8e6..94a9d0d0449 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapq1spread2/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapq1spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapq2offset/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapq2offset/fr.md
index b5f628f540e..680df5cc206 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapq2offset/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapq2offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapq2spread1/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapq2spread1/fr.md
index c702db4b98c..35ffe588413 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapq2spread1/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapq2spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapq2spread2/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapq2spread2/fr.md
index d13e7afa833..faf6e0eab26 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapq2spread2/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapq2spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapq3offset/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapq3offset/fr.md
index c5d74464c83..6e59a270a2c 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapq3offset/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapq3offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapq3spread1/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapq3spread1/fr.md
index d7b7bc424a3..ce5641f2711 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapq3spread1/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapq3spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapq3spread2/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapq3spread2/fr.md
index 0100800cf0d..3676aa6e515 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapq3spread2/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapq3spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapq4offset/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapq4offset/fr.md
index d9d51b8f100..fc36158316d 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapq4offset/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapq4offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapq4spread1/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapq4spread1/fr.md
index 301e69d3f82..869204131d3 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapq4spread1/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapq4spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecapq4spread2/fr.md b/markdown/org/docs/patterns/simon/options/sleevecapq4spread2/fr.md
index 85ff594e9b8..a0c2968cc3c 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecapq4spread2/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecapq4spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecaptopfactorx/fr.md b/markdown/org/docs/patterns/simon/options/sleevecaptopfactorx/fr.md
index b4690e0e745..e04842b16de 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecaptopfactorx/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecaptopfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevecaptopfactory/fr.md b/markdown/org/docs/patterns/simon/options/sleevecaptopfactory/fr.md
index 9c1bd0725f6..dc39f2f9cc7 100644
--- a/markdown/org/docs/patterns/simon/options/sleevecaptopfactory/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevecaptopfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/simon/options/sleevelengthbonus/fr.md
index 438bb146a75..db6cd9637bb 100644
--- a/markdown/org/docs/patterns/simon/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevelengthbonus/fr.md
@@ -8,4 +8,4 @@ Combien de longueur supplΓ©mentaire souhaitez-vous pour vos manches ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleeveplacketlength/fr.md b/markdown/org/docs/patterns/simon/options/sleeveplacketlength/fr.md
index df4984107d0..1a4a1720aa5 100644
--- a/markdown/org/docs/patterns/simon/options/sleeveplacketlength/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleeveplacketlength/fr.md
@@ -15,4 +15,4 @@ Cela influence Γ©galement ce Γ quoi les choses ressembleront quand vous roulez
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleeveplacketwidth/fr.md b/markdown/org/docs/patterns/simon/options/sleeveplacketwidth/fr.md
index 9a9432bb933..8ce5a738ea9 100644
--- a/markdown/org/docs/patterns/simon/options/sleeveplacketwidth/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleeveplacketwidth/fr.md
@@ -8,4 +8,4 @@ Quelle est la largeur de la patte Γ manche?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/sleevewidthguarantee/fr.md b/markdown/org/docs/patterns/simon/options/sleevewidthguarantee/fr.md
index f0b4d045d1d..20d824f8ae4 100644
--- a/markdown/org/docs/patterns/simon/options/sleevewidthguarantee/fr.md
+++ b/markdown/org/docs/patterns/simon/options/sleevewidthguarantee/fr.md
@@ -12,4 +12,4 @@ Mais pour Γ©viter que la manche ne devienne trop Γ©troite, on n'adapte la largeu
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/splityoke/fr.md b/markdown/org/docs/patterns/simon/options/splityoke/fr.md
index 0a516891d0d..405b48d2824 100644
--- a/markdown/org/docs/patterns/simon/options/splityoke/fr.md
+++ b/markdown/org/docs/patterns/simon/options/splityoke/fr.md
@@ -18,4 +18,4 @@ C'est un peu plus de travail, mais cela vous permet d'aligner le droit-fil diff
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/waistease/fr.md b/markdown/org/docs/patterns/simon/options/waistease/fr.md
index d34d54287aa..7b377ca782e 100644
--- a/markdown/org/docs/patterns/simon/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/simon/options/waistease/fr.md
@@ -8,4 +8,4 @@ Combien de place voulez-vous Γ la taille?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simon/options/yokeheight/fr.md b/markdown/org/docs/patterns/simon/options/yokeheight/fr.md
index 73da39daf9b..b725076f75b 100644
--- a/markdown/org/docs/patterns/simon/options/yokeheight/fr.md
+++ b/markdown/org/docs/patterns/simon/options/yokeheight/fr.md
@@ -9,4 +9,4 @@ Controls the height of the yoke seam.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/simone/options/acrossbackfactor/fr.md
index 0d32d297ba4..7436471cd1e 100644
--- a/markdown/org/docs/patterns/simone/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/simone/options/acrossbackfactor/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la largeur de votre dos en jouant sur la mesure d'une Γ©paule Γ l'aut
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/simone/options/armholedepthfactor/fr.md
index 4a64a1b8eae..840cf36741b 100644
--- a/markdown/org/docs/patterns/simone/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/simone/options/armholedepthfactor/fr.md
@@ -8,4 +8,4 @@ Cette option contrΓ΄le la profondeur de l'emmanchure.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/backneckcutout/fr.md b/markdown/org/docs/patterns/simone/options/backneckcutout/fr.md
index 36eba7a26c6..55377303ef6 100644
--- a/markdown/org/docs/patterns/simone/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/simone/options/backneckcutout/fr.md
@@ -6,4 +6,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/barrelcuffnarrowbutton/fr.md b/markdown/org/docs/patterns/simone/options/barrelcuffnarrowbutton/fr.md
index 3f1da180cab..a6cd0f2ef15 100644
--- a/markdown/org/docs/patterns/simone/options/barrelcuffnarrowbutton/fr.md
+++ b/markdown/org/docs/patterns/simone/options/barrelcuffnarrowbutton/fr.md
@@ -16,4 +16,4 @@ Cela ne s'applique qu'aux poignets classiques. Donc si vous avez choisi un poign
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/bicepsease/fr.md b/markdown/org/docs/patterns/simone/options/bicepsease/fr.md
index 8c0fd7d2625..188d906dd53 100644
--- a/markdown/org/docs/patterns/simone/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/simone/options/bicepsease/fr.md
@@ -24,4 +24,4 @@ Nous nous efforcerons de respecter votre choix ici, mais la prioritΓ© est d'ajus
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/bustdartangle/fr.md b/markdown/org/docs/patterns/simone/options/bustdartangle/fr.md
index c6a0384e9bf..73acada5f20 100644
--- a/markdown/org/docs/patterns/simone/options/bustdartangle/fr.md
+++ b/markdown/org/docs/patterns/simone/options/bustdartangle/fr.md
@@ -9,4 +9,4 @@ Controls the angle by which the (side) bust dart slopes downward.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/bustdartlength/fr.md b/markdown/org/docs/patterns/simone/options/bustdartlength/fr.md
index c4625f063d6..28b262e56e7 100644
--- a/markdown/org/docs/patterns/simone/options/bustdartlength/fr.md
+++ b/markdown/org/docs/patterns/simone/options/bustdartlength/fr.md
@@ -9,4 +9,4 @@ Controls how close the **bust darts** approach the bust points.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/buttonfreelength/fr.md b/markdown/org/docs/patterns/simone/options/buttonfreelength/fr.md
index b1db7286506..a1ddc75fffd 100644
--- a/markdown/org/docs/patterns/simone/options/buttonfreelength/fr.md
+++ b/markdown/org/docs/patterns/simone/options/buttonfreelength/fr.md
@@ -22,4 +22,4 @@ making sure it's within the length bonus you have available.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/buttonholeplacketfoldwidth/fr.md b/markdown/org/docs/patterns/simone/options/buttonholeplacketfoldwidth/fr.md
index bfcd805c0ef..250e3561828 100644
--- a/markdown/org/docs/patterns/simone/options/buttonholeplacketfoldwidth/fr.md
+++ b/markdown/org/docs/patterns/simone/options/buttonholeplacketfoldwidth/fr.md
@@ -17,4 +17,4 @@ Ceci s'applique uniquement Γ une patte classique. N'en tenez donc pas compte si
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/buttonholeplacketstyle/fr.md b/markdown/org/docs/patterns/simone/options/buttonholeplacketstyle/fr.md
index cfe71daf3b3..b8475ae04e4 100644
--- a/markdown/org/docs/patterns/simone/options/buttonholeplacketstyle/fr.md
+++ b/markdown/org/docs/patterns/simone/options/buttonholeplacketstyle/fr.md
@@ -20,4 +20,4 @@ As seamless is only possible on a _cut-on_ placket, this option is ignored if yo
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/buttonholeplacketwidth/fr.md b/markdown/org/docs/patterns/simone/options/buttonholeplacketwidth/fr.md
index 5661c680e94..a4e12a31b40 100644
--- a/markdown/org/docs/patterns/simone/options/buttonholeplacketwidth/fr.md
+++ b/markdown/org/docs/patterns/simone/options/buttonholeplacketwidth/fr.md
@@ -8,4 +8,4 @@ Largeur de la patte de boutonnage (côté boutonnières).
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/buttonplacketstyle/fr.md b/markdown/org/docs/patterns/simone/options/buttonplacketstyle/fr.md
index 1d64ba109c9..a8aa25595a9 100644
--- a/markdown/org/docs/patterns/simone/options/buttonplacketstyle/fr.md
+++ b/markdown/org/docs/patterns/simone/options/buttonplacketstyle/fr.md
@@ -20,4 +20,4 @@ As seamless is only possible on a _cut-on_ placket, this option is ignored if yo
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/buttonplacketwidth/fr.md b/markdown/org/docs/patterns/simone/options/buttonplacketwidth/fr.md
index 80cafd93831..32e0301a123 100644
--- a/markdown/org/docs/patterns/simone/options/buttonplacketwidth/fr.md
+++ b/markdown/org/docs/patterns/simone/options/buttonplacketwidth/fr.md
@@ -8,4 +8,4 @@ La largeur de votre patte de bouton.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/buttons/fr.md b/markdown/org/docs/patterns/simone/options/buttons/fr.md
index 9c89180fb65..c2f3a67740b 100644
--- a/markdown/org/docs/patterns/simone/options/buttons/fr.md
+++ b/markdown/org/docs/patterns/simone/options/buttons/fr.md
@@ -8,4 +8,4 @@ Le nombre de boutons sur votre chemise. Excluant les boutons de poignΓ©e, et le
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/chestease/fr.md b/markdown/org/docs/patterns/simone/options/chestease/fr.md
index 76646e9016e..622ab64a27a 100644
--- a/markdown/org/docs/patterns/simone/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/simone/options/chestease/fr.md
@@ -8,4 +8,4 @@ Combien d'aisance voulez-vous pour le buste ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/collarangle/fr.md b/markdown/org/docs/patterns/simone/options/collarangle/fr.md
index 5dd49b433fc..7f162758065 100644
--- a/markdown/org/docs/patterns/simone/options/collarangle/fr.md
+++ b/markdown/org/docs/patterns/simone/options/collarangle/fr.md
@@ -20,4 +20,4 @@ Dans l'image d'exemple, le haut est de 80 degrΓ©s par dΓ©faut et le bas est de 1
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/collarbend/fr.md b/markdown/org/docs/patterns/simone/options/collarbend/fr.md
index 5acf77bb478..5945ed34100 100644
--- a/markdown/org/docs/patterns/simone/options/collarbend/fr.md
+++ b/markdown/org/docs/patterns/simone/options/collarbend/fr.md
@@ -14,4 +14,4 @@ Cela influence la faΓ§on dont le collier se trouve contre le col.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/collarease/fr.md b/markdown/org/docs/patterns/simone/options/collarease/fr.md
index ff97cbd2429..cefea3f44e4 100644
--- a/markdown/org/docs/patterns/simone/options/collarease/fr.md
+++ b/markdown/org/docs/patterns/simone/options/collarease/fr.md
@@ -10,4 +10,4 @@ Si vous avez l'impression qu'un collier Γ©touffe, vous pouvez vous donner un peu
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/collarflare/fr.md b/markdown/org/docs/patterns/simone/options/collarflare/fr.md
index 73762bab241..2771131dadd 100644
--- a/markdown/org/docs/patterns/simone/options/collarflare/fr.md
+++ b/markdown/org/docs/patterns/simone/options/collarflare/fr.md
@@ -14,4 +14,4 @@ Cela influence la longueur de vos conseils de col.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/collargap/fr.md b/markdown/org/docs/patterns/simone/options/collargap/fr.md
index 339d50146de..55e6455885a 100644
--- a/markdown/org/docs/patterns/simone/options/collargap/fr.md
+++ b/markdown/org/docs/patterns/simone/options/collargap/fr.md
@@ -14,4 +14,4 @@ Il s'agit surtout d'un choix de style, mais un plus grand Γ©cart de collier (ave
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/collarroll/fr.md b/markdown/org/docs/patterns/simone/options/collarroll/fr.md
index 84065d7bbad..97a68310459 100644
--- a/markdown/org/docs/patterns/simone/options/collarroll/fr.md
+++ b/markdown/org/docs/patterns/simone/options/collarroll/fr.md
@@ -18,4 +18,4 @@ Augmenter cela ne fait pas augmenter le collier (utiliser la hauteur du collier
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/collarstandbend/fr.md b/markdown/org/docs/patterns/simone/options/collarstandbend/fr.md
index 10a3c22584c..ebd33e5f6c3 100644
--- a/markdown/org/docs/patterns/simone/options/collarstandbend/fr.md
+++ b/markdown/org/docs/patterns/simone/options/collarstandbend/fr.md
@@ -8,4 +8,4 @@ Combien le collier se plie au milieu, plutΓ΄t que d'Γͺtre droit. Cela influence
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/collarstandcurve/fr.md b/markdown/org/docs/patterns/simone/options/collarstandcurve/fr.md
index d578ad3ada3..b08d8f6e7b9 100644
--- a/markdown/org/docs/patterns/simone/options/collarstandcurve/fr.md
+++ b/markdown/org/docs/patterns/simone/options/collarstandcurve/fr.md
@@ -14,4 +14,4 @@ Vous pouvez modifier cela pour vous assurer que les bords de votre collier se ti
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/collarstandwidth/fr.md b/markdown/org/docs/patterns/simone/options/collarstandwidth/fr.md
index 023afd7963e..773ef53dc8d 100644
--- a/markdown/org/docs/patterns/simone/options/collarstandwidth/fr.md
+++ b/markdown/org/docs/patterns/simone/options/collarstandwidth/fr.md
@@ -14,4 +14,4 @@ C'est le paramètre principal pour modifier la hauteur globale de votre collier.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/contour/fr.md b/markdown/org/docs/patterns/simone/options/contour/fr.md
index fb846db67ce..1959771c13f 100644
--- a/markdown/org/docs/patterns/simone/options/contour/fr.md
+++ b/markdown/org/docs/patterns/simone/options/contour/fr.md
@@ -9,4 +9,4 @@ Controls how sharply the extra room for breasts is removed again below the chest
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/cuffbuttonrows/fr.md b/markdown/org/docs/patterns/simone/options/cuffbuttonrows/fr.md
index a7447f61310..788c63d2eef 100644
--- a/markdown/org/docs/patterns/simone/options/cuffbuttonrows/fr.md
+++ b/markdown/org/docs/patterns/simone/options/cuffbuttonrows/fr.md
@@ -14,4 +14,4 @@ Cela ne s'applique qu'aux poignets classiques. Donc si vous avez choisi un poign
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/cuffdrape/fr.md b/markdown/org/docs/patterns/simone/options/cuffdrape/fr.md
index 560e426b749..d67a86178a4 100644
--- a/markdown/org/docs/patterns/simone/options/cuffdrape/fr.md
+++ b/markdown/org/docs/patterns/simone/options/cuffdrape/fr.md
@@ -17,4 +17,4 @@ Le drapΓ© sera travaillΓ© dans le manche avec des plis.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/cuffease/fr.md b/markdown/org/docs/patterns/simone/options/cuffease/fr.md
index 61578dbe409..d79d13ce3b2 100644
--- a/markdown/org/docs/patterns/simone/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/simone/options/cuffease/fr.md
@@ -18,4 +18,4 @@ Ceux qui veulent porter leur chemise sous un chandail devraient Γ©galement jeter
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/cufflength/fr.md b/markdown/org/docs/patterns/simone/options/cufflength/fr.md
index 10ea2aa173f..2c6385c571e 100644
--- a/markdown/org/docs/patterns/simone/options/cufflength/fr.md
+++ b/markdown/org/docs/patterns/simone/options/cufflength/fr.md
@@ -14,4 +14,4 @@ Cela n'influencera pas la durΓ©e totale de votre manche.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/cuffstyle/fr.md b/markdown/org/docs/patterns/simone/options/cuffstyle/fr.md
index 226df4c6ae6..89fc1c34971 100644
--- a/markdown/org/docs/patterns/simone/options/cuffstyle/fr.md
+++ b/markdown/org/docs/patterns/simone/options/cuffstyle/fr.md
@@ -15,4 +15,4 @@ Quel style de manche voulez-vous ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/simone/options/draftforhighbust/fr.md
index c50f90e6b8d..ee5dc2b14d0 100644
--- a/markdown/org/docs/patterns/simone/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/simone/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/simone/options/extratopbutton/fr.md b/markdown/org/docs/patterns/simone/options/extratopbutton/fr.md
index bed9c6abaeb..ff33478d3ac 100644
--- a/markdown/org/docs/patterns/simone/options/extratopbutton/fr.md
+++ b/markdown/org/docs/patterns/simone/options/extratopbutton/fr.md
@@ -23,4 +23,4 @@ Ce bouton supplΓ©mentaire est ajoutΓ© au nombre de boutons sur le devant. Il ne
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/ffsa/fr.md b/markdown/org/docs/patterns/simone/options/ffsa/fr.md
index ce44a1c04a3..02ef1450534 100644
--- a/markdown/org/docs/patterns/simone/options/ffsa/fr.md
+++ b/markdown/org/docs/patterns/simone/options/ffsa/fr.md
@@ -10,4 +10,4 @@ This option controls the amount of flat-felled seam allowance as a factor of the
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/simone/options/frontarmholedeeper/fr.md
index 7ae792dce47..c3925762970 100644
--- a/markdown/org/docs/patterns/simone/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/simone/options/frontarmholedeeper/fr.md
@@ -8,4 +8,4 @@ Since the human shoulder is more rounded at the front of the body, the sleeve(ca
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/frontdartlength/fr.md b/markdown/org/docs/patterns/simone/options/frontdartlength/fr.md
index e11374d51b6..e8111f72cd1 100644
--- a/markdown/org/docs/patterns/simone/options/frontdartlength/fr.md
+++ b/markdown/org/docs/patterns/simone/options/frontdartlength/fr.md
@@ -9,4 +9,4 @@ Controls how close the **front waist darts** approach the bust points.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/frontdarts/fr.md b/markdown/org/docs/patterns/simone/options/frontdarts/fr.md
index 168bda53f02..7427083f6fd 100644
--- a/markdown/org/docs/patterns/simone/options/frontdarts/fr.md
+++ b/markdown/org/docs/patterns/simone/options/frontdarts/fr.md
@@ -6,4 +6,4 @@ Whether to include front waist darts or not.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/hemcurve/fr.md b/markdown/org/docs/patterns/simone/options/hemcurve/fr.md
index db1459b17a8..4d68b491fa4 100644
--- a/markdown/org/docs/patterns/simone/options/hemcurve/fr.md
+++ b/markdown/org/docs/patterns/simone/options/hemcurve/fr.md
@@ -16,4 +16,4 @@ Combien voulez-vous que l'ourlet se courbe vers le haut ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/hemstyle/fr.md b/markdown/org/docs/patterns/simone/options/hemstyle/fr.md
index 9402ddcc463..f85564c4ead 100644
--- a/markdown/org/docs/patterns/simone/options/hemstyle/fr.md
+++ b/markdown/org/docs/patterns/simone/options/hemstyle/fr.md
@@ -12,4 +12,4 @@ Quel style de ligne d'ourlet voulez-vous ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/hipsease/fr.md b/markdown/org/docs/patterns/simone/options/hipsease/fr.md
index d76dc0dfa0a..1c30f18aa42 100644
--- a/markdown/org/docs/patterns/simone/options/hipsease/fr.md
+++ b/markdown/org/docs/patterns/simone/options/hipsease/fr.md
@@ -8,4 +8,4 @@ Combien d'aisance voulez-vous pour les hanches ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/lengthbonus/fr.md b/markdown/org/docs/patterns/simone/options/lengthbonus/fr.md
index 32c0c4db97f..0b3f4ede8ec 100644
--- a/markdown/org/docs/patterns/simone/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/simone/options/lengthbonus/fr.md
@@ -19,4 +19,4 @@ Si vous voulez une chemise plus dΓ©contractΓ©e Γ porter sur votre pantalon, vou
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/roundback/fr.md b/markdown/org/docs/patterns/simone/options/roundback/fr.md
index 03fc853902a..63b5f935b5d 100644
--- a/markdown/org/docs/patterns/simone/options/roundback/fr.md
+++ b/markdown/org/docs/patterns/simone/options/roundback/fr.md
@@ -10,4 +10,4 @@ Document de cette option
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/s3armhole/fr.md b/markdown/org/docs/patterns/simone/options/s3armhole/fr.md
index 1d23ffbb53e..9f7438ec89f 100644
--- a/markdown/org/docs/patterns/simone/options/s3armhole/fr.md
+++ b/markdown/org/docs/patterns/simone/options/s3armhole/fr.md
@@ -9,4 +9,4 @@ ContrΓ΄le l'emplacement de la couture des Γ©paules sur le cΓ΄tΓ© du bras.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/s3collar/fr.md b/markdown/org/docs/patterns/simone/options/s3collar/fr.md
index 36882a49e37..1cd97d1cbdd 100644
--- a/markdown/org/docs/patterns/simone/options/s3collar/fr.md
+++ b/markdown/org/docs/patterns/simone/options/s3collar/fr.md
@@ -9,4 +9,4 @@ ContrΓ΄le l'emplacement de la couture des Γ©paules sur le cΓ΄tΓ© du col.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/seperatebuttonholeplacket/fr.md b/markdown/org/docs/patterns/simone/options/seperatebuttonholeplacket/fr.md
index 940bc7c362e..71b36e24f05 100644
--- a/markdown/org/docs/patterns/simone/options/seperatebuttonholeplacket/fr.md
+++ b/markdown/org/docs/patterns/simone/options/seperatebuttonholeplacket/fr.md
@@ -8,4 +8,4 @@ Si vous voulez ou non que la patte de boutonnière soit une partie séparée.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/seperatebuttonplacket/fr.md b/markdown/org/docs/patterns/simone/options/seperatebuttonplacket/fr.md
index 1b823719686..e9318c5d8de 100644
--- a/markdown/org/docs/patterns/simone/options/seperatebuttonplacket/fr.md
+++ b/markdown/org/docs/patterns/simone/options/seperatebuttonplacket/fr.md
@@ -8,4 +8,4 @@ Si vous voulez ou non que la patte de bouton soit une partie sΓ©parΓ©e.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/shoulderease/fr.md b/markdown/org/docs/patterns/simone/options/shoulderease/fr.md
index 5844d932eee..d9804c1e04d 100644
--- a/markdown/org/docs/patterns/simone/options/shoulderease/fr.md
+++ b/markdown/org/docs/patterns/simone/options/shoulderease/fr.md
@@ -8,4 +8,4 @@ This option allows you to create some extra ease at the shoulders which shifts t
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/shoulderslopereduction/fr.md b/markdown/org/docs/patterns/simone/options/shoulderslopereduction/fr.md
index 4cf2c6c2d07..ddab919f874 100644
--- a/markdown/org/docs/patterns/simone/options/shoulderslopereduction/fr.md
+++ b/markdown/org/docs/patterns/simone/options/shoulderslopereduction/fr.md
@@ -6,4 +6,4 @@ Reduces the shoulder slope to create extra room for shoulder padding.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapbackfactorx/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapbackfactorx/fr.md
index e274a199d16..14dc97b4148 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapbackfactorx/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapbackfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapbackfactory/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapbackfactory/fr.md
index 7a9aa9cf6f1..d3331af3e97 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapbackfactory/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapbackfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapease/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapease/fr.md
index 2d9faa1d0a9..8066a0affd4 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapease/fr.md
@@ -15,4 +15,4 @@ Pour les tissus lΓ©gers ou la maille, on n'ajoute pas d'aisance de tΓͺte de manc
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapfrontfactorx/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapfrontfactorx/fr.md
index f6594e6ef20..05a3b62eecd 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapfrontfactorx/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapfrontfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapfrontfactory/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapfrontfactory/fr.md
index c302559913f..f695278799b 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapfrontfactory/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapfrontfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapq1offset/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapq1offset/fr.md
index b238a51e13c..01e3befad08 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapq1offset/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapq1offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapq1spread1/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapq1spread1/fr.md
index cd069292452..e8e7706e4b1 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapq1spread1/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapq1spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapq1spread2/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapq1spread2/fr.md
index 4e5c305b21e..57a011b698a 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapq1spread2/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapq1spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapq2offset/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapq2offset/fr.md
index 8ad461332b2..45717a76d72 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapq2offset/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapq2offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapq2spread1/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapq2spread1/fr.md
index 389fc83aac5..5c3ed34bd9a 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapq2spread1/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapq2spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapq2spread2/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapq2spread2/fr.md
index 87f1a683901..a5c4304c81f 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapq2spread2/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapq2spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapq3offset/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapq3offset/fr.md
index 5d7ae4d3cd3..6480fcb545d 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapq3offset/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapq3offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapq3spread1/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapq3spread1/fr.md
index 43d176532d4..4bbf21676af 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapq3spread1/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapq3spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapq3spread2/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapq3spread2/fr.md
index e68a3436a5f..4ef1e8c050a 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapq3spread2/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapq3spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapq4offset/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapq4offset/fr.md
index d47b857b033..bc80aae5ebb 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapq4offset/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapq4offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapq4spread1/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapq4spread1/fr.md
index f41a352fda9..1e178618aba 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapq4spread1/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapq4spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecapq4spread2/fr.md b/markdown/org/docs/patterns/simone/options/sleevecapq4spread2/fr.md
index 4be16e5bbee..2601412584a 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecapq4spread2/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecapq4spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecaptopfactorx/fr.md b/markdown/org/docs/patterns/simone/options/sleevecaptopfactorx/fr.md
index ab5420babef..70a2ff936eb 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecaptopfactorx/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecaptopfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevecaptopfactory/fr.md b/markdown/org/docs/patterns/simone/options/sleevecaptopfactory/fr.md
index d780453ce6c..fe8e5b04279 100644
--- a/markdown/org/docs/patterns/simone/options/sleevecaptopfactory/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevecaptopfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/simone/options/sleevelengthbonus/fr.md
index bee9aec7acb..6d95e1318e3 100644
--- a/markdown/org/docs/patterns/simone/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevelengthbonus/fr.md
@@ -8,4 +8,4 @@ Combien de longueur supplΓ©mentaire souhaitez-vous pour vos manches ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleeveplacketlength/fr.md b/markdown/org/docs/patterns/simone/options/sleeveplacketlength/fr.md
index 1e43f556cbc..c763002eb38 100644
--- a/markdown/org/docs/patterns/simone/options/sleeveplacketlength/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleeveplacketlength/fr.md
@@ -15,4 +15,4 @@ Cela influence Γ©galement ce Γ quoi les choses ressembleront quand vous roulez
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleeveplacketwidth/fr.md b/markdown/org/docs/patterns/simone/options/sleeveplacketwidth/fr.md
index 3dfe624cf32..13f7c6233f3 100644
--- a/markdown/org/docs/patterns/simone/options/sleeveplacketwidth/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleeveplacketwidth/fr.md
@@ -8,4 +8,4 @@ Quelle est la largeur de la patte Γ manche?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/sleevewidthguarantee/fr.md b/markdown/org/docs/patterns/simone/options/sleevewidthguarantee/fr.md
index ca36cd80a1d..ecb707d1aba 100644
--- a/markdown/org/docs/patterns/simone/options/sleevewidthguarantee/fr.md
+++ b/markdown/org/docs/patterns/simone/options/sleevewidthguarantee/fr.md
@@ -12,4 +12,4 @@ Mais pour Γ©viter que la manche ne devienne trop Γ©troite, on n'adapte la largeu
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/splityoke/fr.md b/markdown/org/docs/patterns/simone/options/splityoke/fr.md
index eb6e26e27e5..986928ef746 100644
--- a/markdown/org/docs/patterns/simone/options/splityoke/fr.md
+++ b/markdown/org/docs/patterns/simone/options/splityoke/fr.md
@@ -18,4 +18,4 @@ C'est un peu plus de travail, mais cela vous permet d'aligner le droit-fil diff
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/waistease/fr.md b/markdown/org/docs/patterns/simone/options/waistease/fr.md
index 53da4ee4102..381481fdd03 100644
--- a/markdown/org/docs/patterns/simone/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/simone/options/waistease/fr.md
@@ -8,4 +8,4 @@ Combien de place voulez-vous Γ la taille?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/simone/options/yokeheight/fr.md b/markdown/org/docs/patterns/simone/options/yokeheight/fr.md
index 9c48b658d69..4d914f8b85d 100644
--- a/markdown/org/docs/patterns/simone/options/yokeheight/fr.md
+++ b/markdown/org/docs/patterns/simone/options/yokeheight/fr.md
@@ -9,4 +9,4 @@ Controls the height of the yoke seam.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/sven/options/acrossbackfactor/fr.md
index 4023814afe9..dd5f3b0a2fc 100644
--- a/markdown/org/docs/patterns/sven/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/sven/options/acrossbackfactor/fr.md
@@ -8,4 +8,4 @@ ContrΓ΄le la largeur de votre dos en jouant sur la mesure d'une Γ©paule Γ l'aut
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/sven/options/armholedepthfactor/fr.md
index 98c7075be06..196dec247dd 100644
--- a/markdown/org/docs/patterns/sven/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/sven/options/armholedepthfactor/fr.md
@@ -6,4 +6,4 @@ This option controls the depth of the armhole.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/backneckcutout/fr.md b/markdown/org/docs/patterns/sven/options/backneckcutout/fr.md
index 96519fb3e92..bf3784663c1 100644
--- a/markdown/org/docs/patterns/sven/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/sven/options/backneckcutout/fr.md
@@ -6,4 +6,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/bicepsease/fr.md b/markdown/org/docs/patterns/sven/options/bicepsease/fr.md
index 1087a55fee7..dd8cfe0cc83 100644
--- a/markdown/org/docs/patterns/sven/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/sven/options/bicepsease/fr.md
@@ -8,4 +8,4 @@ Combien de place voulez-vous dans votre bras supΓ©rieur?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/chestease/fr.md b/markdown/org/docs/patterns/sven/options/chestease/fr.md
index e5f578b995a..612ec4de632 100644
--- a/markdown/org/docs/patterns/sven/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/sven/options/chestease/fr.md
@@ -8,4 +8,4 @@ Combien d'aisance voulez-vous pour le buste ? Quelle que soit la valeur que vous
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/collarease/fr.md b/markdown/org/docs/patterns/sven/options/collarease/fr.md
index f1f8b63ab34..80158c393ef 100644
--- a/markdown/org/docs/patterns/sven/options/collarease/fr.md
+++ b/markdown/org/docs/patterns/sven/options/collarease/fr.md
@@ -6,4 +6,4 @@ Controls the amount of ease at your collar/neck.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/cuffease/fr.md b/markdown/org/docs/patterns/sven/options/cuffease/fr.md
index 5de95751150..b68dac78804 100644
--- a/markdown/org/docs/patterns/sven/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/sven/options/cuffease/fr.md
@@ -8,4 +8,4 @@ Combien de place voulez-vous Γ votre poignet?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/sven/options/draftforhighbust/fr.md
index 07e597f53a1..d96d8b8cd03 100644
--- a/markdown/org/docs/patterns/sven/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/sven/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/sven/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/sven/options/frontarmholedeeper/fr.md
index 46ade0b473c..0674178ccd7 100644
--- a/markdown/org/docs/patterns/sven/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/sven/options/frontarmholedeeper/fr.md
@@ -8,4 +8,4 @@ Since the human shoulder is more rounded at the front of the body, the sleeve(ca
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/hipsease/fr.md b/markdown/org/docs/patterns/sven/options/hipsease/fr.md
index aa2f924abbc..a4cce7ccaf1 100644
--- a/markdown/org/docs/patterns/sven/options/hipsease/fr.md
+++ b/markdown/org/docs/patterns/sven/options/hipsease/fr.md
@@ -6,6 +6,6 @@ title: "Hips ease"
Controls the amount of ease at your hips (the bottom of the sweater)
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/sven/options/lengthbonus/fr.md b/markdown/org/docs/patterns/sven/options/lengthbonus/fr.md
index 339de8b3a64..16d3a263018 100644
--- a/markdown/org/docs/patterns/sven/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/sven/options/lengthbonus/fr.md
@@ -8,4 +8,4 @@ Cette option allongera le corps de votre sweatshirt.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/ribbing/fr.md b/markdown/org/docs/patterns/sven/options/ribbing/fr.md
index 2937a6984fe..dbd6bc17a13 100644
--- a/markdown/org/docs/patterns/sven/options/ribbing/fr.md
+++ b/markdown/org/docs/patterns/sven/options/ribbing/fr.md
@@ -8,4 +8,4 @@ Voulez-vous ou non ribbing Γ l'ourlet ou aux poignets ?
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/ribbingheight/fr.md b/markdown/org/docs/patterns/sven/options/ribbingheight/fr.md
index 1a68db2530f..864bc9e7791 100644
--- a/markdown/org/docs/patterns/sven/options/ribbingheight/fr.md
+++ b/markdown/org/docs/patterns/sven/options/ribbingheight/fr.md
@@ -8,4 +8,4 @@ La hauteur du ruban Γ l'ourlet ou aux poignets.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/ribbingstretch/fr.md b/markdown/org/docs/patterns/sven/options/ribbingstretch/fr.md
index 76aaa870193..6a3c020e477 100644
--- a/markdown/org/docs/patterns/sven/options/ribbingstretch/fr.md
+++ b/markdown/org/docs/patterns/sven/options/ribbingstretch/fr.md
@@ -8,4 +8,4 @@ La quantitΓ© d'Γ©lasticitΓ© que nous devrions prΓ©voir pour le ruban Γ l'ourlet
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/s3armhole/fr.md b/markdown/org/docs/patterns/sven/options/s3armhole/fr.md
index f3a998aa835..fc5c0db0e50 100644
--- a/markdown/org/docs/patterns/sven/options/s3armhole/fr.md
+++ b/markdown/org/docs/patterns/sven/options/s3armhole/fr.md
@@ -9,4 +9,4 @@ ContrΓ΄le l'emplacement de la couture des Γ©paules sur le cΓ΄tΓ© du bras.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/s3collar/fr.md b/markdown/org/docs/patterns/sven/options/s3collar/fr.md
index 1217179c7a9..1bb8760c1ce 100644
--- a/markdown/org/docs/patterns/sven/options/s3collar/fr.md
+++ b/markdown/org/docs/patterns/sven/options/s3collar/fr.md
@@ -9,4 +9,4 @@ ContrΓ΄le l'emplacement de la couture des Γ©paules sur le cΓ΄tΓ© du col.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/shoulderease/fr.md b/markdown/org/docs/patterns/sven/options/shoulderease/fr.md
index 586034f51c6..ac5e24fc84b 100644
--- a/markdown/org/docs/patterns/sven/options/shoulderease/fr.md
+++ b/markdown/org/docs/patterns/sven/options/shoulderease/fr.md
@@ -8,4 +8,4 @@ This option allows you to create some extra ease at the shoulders which shifts t
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/shoulderslopereduction/fr.md b/markdown/org/docs/patterns/sven/options/shoulderslopereduction/fr.md
index fcd7feb82f7..8b5c8a9d123 100644
--- a/markdown/org/docs/patterns/sven/options/shoulderslopereduction/fr.md
+++ b/markdown/org/docs/patterns/sven/options/shoulderslopereduction/fr.md
@@ -4,6 +4,6 @@ title: Shoulder slope reduction
The amount by which the shoulder slope is reduced to allow for shoulder padding.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapbackfactorx/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapbackfactorx/fr.md
index 319d9c994dd..d7461cb5d17 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapbackfactorx/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapbackfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapbackfactory/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapbackfactory/fr.md
index 6291965875f..d3d8e21c137 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapbackfactory/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapbackfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapease/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapease/fr.md
index 6bd82772c51..be739e83d68 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapease/fr.md
@@ -15,4 +15,4 @@ Pour les tissus lΓ©gers ou la maille, on n'ajoute pas d'aisance de tΓͺte de manc
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapfrontfactorx/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapfrontfactorx/fr.md
index 8f73931fa7c..4ca19943d66 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapfrontfactorx/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapfrontfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapfrontfactory/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapfrontfactory/fr.md
index 8c99fee21a7..0f5fe6ae120 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapfrontfactory/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapfrontfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapq1offset/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapq1offset/fr.md
index e7f059d2d5b..c1cf0d558cf 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapq1offset/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapq1offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapq1spread1/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapq1spread1/fr.md
index aa624373f3c..eb75f522e2e 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapq1spread1/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapq1spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapq1spread2/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapq1spread2/fr.md
index 2172115d6ec..891638a5444 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapq1spread2/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapq1spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapq2offset/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapq2offset/fr.md
index 6edba44c90e..1a82f61aa6b 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapq2offset/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapq2offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapq2spread1/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapq2spread1/fr.md
index 7e4299a7d86..94f735f0cb7 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapq2spread1/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapq2spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapq2spread2/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapq2spread2/fr.md
index 929493813f5..2b2619ba251 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapq2spread2/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapq2spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapq3offset/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapq3offset/fr.md
index f9a04533e6f..28d2804837d 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapq3offset/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapq3offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapq3spread1/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapq3spread1/fr.md
index 0d4ab802a43..99d151c53f0 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapq3spread1/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapq3spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapq3spread2/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapq3spread2/fr.md
index 48237e42129..c8210633b0f 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapq3spread2/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapq3spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapq4offset/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapq4offset/fr.md
index 42b6d8a78e1..a4d98987058 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapq4offset/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapq4offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapq4spread1/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapq4spread1/fr.md
index 4bb61ed38b1..236b8459ebe 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapq4spread1/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapq4spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecapq4spread2/fr.md b/markdown/org/docs/patterns/sven/options/sleevecapq4spread2/fr.md
index 666f360deac..1c3f0cce843 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecapq4spread2/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecapq4spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecaptopfactorx/fr.md b/markdown/org/docs/patterns/sven/options/sleevecaptopfactorx/fr.md
index cfb7d4d5e90..4c366c94c56 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecaptopfactorx/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecaptopfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevecaptopfactory/fr.md b/markdown/org/docs/patterns/sven/options/sleevecaptopfactory/fr.md
index 5f7f5478d6f..6ad066d601e 100644
--- a/markdown/org/docs/patterns/sven/options/sleevecaptopfactory/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevecaptopfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/sven/options/sleevelengthbonus/fr.md
index df45291acab..b01b2426066 100644
--- a/markdown/org/docs/patterns/sven/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevelengthbonus/fr.md
@@ -8,4 +8,4 @@ Cette option allongera les manches de votre sweatshirt.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/sven/options/sleevewidthguarantee/fr.md b/markdown/org/docs/patterns/sven/options/sleevewidthguarantee/fr.md
index 9d4761536eb..6e5ee7b822a 100644
--- a/markdown/org/docs/patterns/sven/options/sleevewidthguarantee/fr.md
+++ b/markdown/org/docs/patterns/sven/options/sleevewidthguarantee/fr.md
@@ -12,4 +12,4 @@ Mais pour Γ©viter que la manche ne devienne trop Γ©troite, on n'adapte la largeu
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tamiko/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/tamiko/options/armholedepthfactor/fr.md
index 70dd8afcbb6..0adf8c5a840 100644
--- a/markdown/org/docs/patterns/tamiko/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/tamiko/options/armholedepthfactor/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la profondeur de votre manche, en fonction de la mensuration de votre
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/tamiko/options/chestease/fr.md b/markdown/org/docs/patterns/tamiko/options/chestease/fr.md
index 88fca310cb3..22fcf0b89cc 100644
--- a/markdown/org/docs/patterns/tamiko/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/tamiko/options/chestease/fr.md
@@ -6,4 +6,4 @@ L'aisance au niveau de la poitrine.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tamiko/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/tamiko/options/draftforhighbust/fr.md
index 54e59651ea1..0b2978dafbb 100644
--- a/markdown/org/docs/patterns/tamiko/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/tamiko/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/tamiko/options/flare/fr.md b/markdown/org/docs/patterns/tamiko/options/flare/fr.md
index 79e818d404e..9160531aa33 100644
--- a/markdown/org/docs/patterns/tamiko/options/flare/fr.md
+++ b/markdown/org/docs/patterns/tamiko/options/flare/fr.md
@@ -6,4 +6,4 @@ L'angle par lequel le vΓͺtement s'Γ©vase de votre poitrine vers le bas.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tamiko/options/lengthbonus/fr.md b/markdown/org/docs/patterns/tamiko/options/lengthbonus/fr.md
index 7531a108f37..c09cc458aa5 100644
--- a/markdown/org/docs/patterns/tamiko/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/tamiko/options/lengthbonus/fr.md
@@ -8,4 +8,4 @@ De combien vous souhaitez rallonger votre top.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tamiko/options/shoulderseamlength/fr.md b/markdown/org/docs/patterns/tamiko/options/shoulderseamlength/fr.md
index 95b6d499bc3..a9cdccc47b1 100644
--- a/markdown/org/docs/patterns/tamiko/options/shoulderseamlength/fr.md
+++ b/markdown/org/docs/patterns/tamiko/options/shoulderseamlength/fr.md
@@ -6,4 +6,4 @@ La longueur de la couture d'Γ©paule, en fonction de la mensuration d'Γ©paule Γ
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/measurements/fr.md b/markdown/org/docs/patterns/teagan/measurements/fr.md
index bcc9898d52a..c353070c000 100644
--- a/markdown/org/docs/patterns/teagan/measurements/fr.md
+++ b/markdown/org/docs/patterns/teagan/measurements/fr.md
@@ -1,5 +1,5 @@
- - -
-title: "Teagan T-shirt: Required Measurements"
+titre : "T-shirt Teagan : Mesures requises"
- - -
diff --git a/markdown/org/docs/patterns/teagan/needs/fr.md b/markdown/org/docs/patterns/teagan/needs/fr.md
index 500c7782ef1..e0e94630eca 100644
--- a/markdown/org/docs/patterns/teagan/needs/fr.md
+++ b/markdown/org/docs/patterns/teagan/needs/fr.md
@@ -1,11 +1,11 @@
- - -
-title: "Teagan T-shirt: What You Need"
+titre : "T-shirt Teagan : Ce qu'il faut"
- - -
-To make Teagan, you will need the following:
+Pour fabriquer TΓ©agan, vous aurez besoin des Γ©lΓ©ments suivants :
- [Fourniture de base pour la couture](/docs/sewing/basic-sewing-supplies)
-- About 1 meter (1.1 yards) of a suitable fabric ([see Fabric options](/docs/patterns/teagan/fabric))
+- Environ 1 mètre (1.1 yards) d'un tissu adapté ([voir Options de tissu](/docs/patterns/teagan/fabric))
diff --git a/markdown/org/docs/patterns/teagan/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/teagan/options/acrossbackfactor/fr.md
index 4998e8a6414..a6c434ab615 100644
--- a/markdown/org/docs/patterns/teagan/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/acrossbackfactor/fr.md
@@ -6,4 +6,4 @@ Controls your across back width as a factor of your shoulder to shoulder measure
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/teagan/options/armholedepthfactor/fr.md
index 0726bd1c7f1..87b26299acb 100644
--- a/markdown/org/docs/patterns/teagan/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/armholedepthfactor/fr.md
@@ -6,4 +6,4 @@ This option controls the depth of the armhole.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/backneckcutout/fr.md b/markdown/org/docs/patterns/teagan/options/backneckcutout/fr.md
index 252faebe43f..180f52916d0 100644
--- a/markdown/org/docs/patterns/teagan/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/backneckcutout/fr.md
@@ -6,4 +6,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/chestease/fr.md b/markdown/org/docs/patterns/teagan/options/chestease/fr.md
index 00bd5524544..b36261f93b9 100644
--- a/markdown/org/docs/patterns/teagan/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/chestease/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la quantitΓ© d'aisance de votre coffre
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/curvetowaist/de.md b/markdown/org/docs/patterns/teagan/options/curvetowaist/de.md
new file mode 100644
index 00000000000..4ff6954021e
--- /dev/null
+++ b/markdown/org/docs/patterns/teagan/options/curvetowaist/de.md
@@ -0,0 +1,15 @@
+---
+title: "Curve to waist"
+---
+
+Choose this option to draft Teagan to curve towards your waist before curving towards the hips.
+
+If waist measurement (plus ease) is smaller than hips (plus ease), this creates an hourglass shape such as found in 'fitted' or 'ladies' T-shirts (as opposed to 'regular' or 'unisex').
+
+
+This option can also be used when the waist measurement exceeds the hip measurement, but this results in a non-standard T-shirt shape which may be impossible to put on.
+
+
+## Effect of this option on the pattern
+
+
diff --git a/markdown/org/docs/patterns/teagan/options/curvetowaist/en.md b/markdown/org/docs/patterns/teagan/options/curvetowaist/en.md
new file mode 100644
index 00000000000..4ff6954021e
--- /dev/null
+++ b/markdown/org/docs/patterns/teagan/options/curvetowaist/en.md
@@ -0,0 +1,15 @@
+---
+title: "Curve to waist"
+---
+
+Choose this option to draft Teagan to curve towards your waist before curving towards the hips.
+
+If waist measurement (plus ease) is smaller than hips (plus ease), this creates an hourglass shape such as found in 'fitted' or 'ladies' T-shirts (as opposed to 'regular' or 'unisex').
+
+
+This option can also be used when the waist measurement exceeds the hip measurement, but this results in a non-standard T-shirt shape which may be impossible to put on.
+
+
+## Effect of this option on the pattern
+
+
diff --git a/markdown/org/docs/patterns/teagan/options/curvetowaist/es.md b/markdown/org/docs/patterns/teagan/options/curvetowaist/es.md
new file mode 100644
index 00000000000..4ff6954021e
--- /dev/null
+++ b/markdown/org/docs/patterns/teagan/options/curvetowaist/es.md
@@ -0,0 +1,15 @@
+---
+title: "Curve to waist"
+---
+
+Choose this option to draft Teagan to curve towards your waist before curving towards the hips.
+
+If waist measurement (plus ease) is smaller than hips (plus ease), this creates an hourglass shape such as found in 'fitted' or 'ladies' T-shirts (as opposed to 'regular' or 'unisex').
+
+
+This option can also be used when the waist measurement exceeds the hip measurement, but this results in a non-standard T-shirt shape which may be impossible to put on.
+
+
+## Effect of this option on the pattern
+
+
diff --git a/markdown/org/docs/patterns/teagan/options/curvetowaist/fr.md b/markdown/org/docs/patterns/teagan/options/curvetowaist/fr.md
new file mode 100644
index 00000000000..3bf1d630240
--- /dev/null
+++ b/markdown/org/docs/patterns/teagan/options/curvetowaist/fr.md
@@ -0,0 +1,15 @@
+---
+title: "Courbe vers la taille"
+---
+
+Choisissez cette option pour que Teagan se courbe vers votre taille avant de se courber vers les hanches.
+
+Si le tour de taille (plus l'aisance) est plus petit que le tour de hanches (plus l'aisance), on obtient une forme de sablier, comme celle des T-shirts "ajustΓ©s" ou "pour femmes" (par opposition aux T-shirts "normaux" ou "unisexes").
+
+
+Cette option peut Γ©galement Γͺtre utilisΓ©e lorsque le tour de taille dΓ©passe le tour de hanches, mais cela donne une forme de T-shirt non standard qu'il peut Γͺtre impossible d'enfiler.
+
+
+## Effet de cette option sur le modèle
+
+
diff --git a/markdown/org/docs/patterns/teagan/options/curvetowaist/nl.md b/markdown/org/docs/patterns/teagan/options/curvetowaist/nl.md
new file mode 100644
index 00000000000..4ff6954021e
--- /dev/null
+++ b/markdown/org/docs/patterns/teagan/options/curvetowaist/nl.md
@@ -0,0 +1,15 @@
+---
+title: "Curve to waist"
+---
+
+Choose this option to draft Teagan to curve towards your waist before curving towards the hips.
+
+If waist measurement (plus ease) is smaller than hips (plus ease), this creates an hourglass shape such as found in 'fitted' or 'ladies' T-shirts (as opposed to 'regular' or 'unisex').
+
+
+This option can also be used when the waist measurement exceeds the hip measurement, but this results in a non-standard T-shirt shape which may be impossible to put on.
+
+
+## Effect of this option on the pattern
+
+
diff --git a/markdown/org/docs/patterns/teagan/options/curvetowaist/uk.md b/markdown/org/docs/patterns/teagan/options/curvetowaist/uk.md
new file mode 100644
index 00000000000..4ff6954021e
--- /dev/null
+++ b/markdown/org/docs/patterns/teagan/options/curvetowaist/uk.md
@@ -0,0 +1,15 @@
+---
+title: "Curve to waist"
+---
+
+Choose this option to draft Teagan to curve towards your waist before curving towards the hips.
+
+If waist measurement (plus ease) is smaller than hips (plus ease), this creates an hourglass shape such as found in 'fitted' or 'ladies' T-shirts (as opposed to 'regular' or 'unisex').
+
+
+This option can also be used when the waist measurement exceeds the hip measurement, but this results in a non-standard T-shirt shape which may be impossible to put on.
+
+
+## Effect of this option on the pattern
+
+
diff --git a/markdown/org/docs/patterns/teagan/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/teagan/options/draftforhighbust/fr.md
index c7539cfcb22..db113b3ea0c 100644
--- a/markdown/org/docs/patterns/teagan/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/draftforhighbust/fr.md
@@ -18,4 +18,4 @@ Cette option n'a aucun effet lorsqu'il n'y a pas de mesure de poitrine Γ©levΓ©e
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/teagan/options/frontarmholedeeper/fr.md
index 2c075abeb5b..215ba1bd44b 100644
--- a/markdown/org/docs/patterns/teagan/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/frontarmholedeeper/fr.md
@@ -4,6 +4,6 @@ title: Front armhole extra cutout
How much do you want the front armhole to be cut out deeper than the back.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/hipsease/fr.md b/markdown/org/docs/patterns/teagan/options/hipsease/fr.md
index 023700f5bf4..34cf9cf782f 100644
--- a/markdown/org/docs/patterns/teagan/options/hipsease/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/hipsease/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la quantitΓ© d'aisance aux hanches. En d'autres termes, cela contrΓ΄le
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/lengthbonus/fr.md b/markdown/org/docs/patterns/teagan/options/lengthbonus/fr.md
index 39d0e105114..afa6f24e55e 100644
--- a/markdown/org/docs/patterns/teagan/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/lengthbonus/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le combien de temps vous voulez que votre T-shirt soit plus long que la v
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/necklinebend/fr.md b/markdown/org/docs/patterns/teagan/options/necklinebend/fr.md
index 927d76701fd..d10a0b2a853 100644
--- a/markdown/org/docs/patterns/teagan/options/necklinebend/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/necklinebend/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la courbure de l'ouverture du cou.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/necklinedepth/fr.md b/markdown/org/docs/patterns/teagan/options/necklinedepth/fr.md
index 75f1230bf2c..4bfa23bc450 100644
--- a/markdown/org/docs/patterns/teagan/options/necklinedepth/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/necklinedepth/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la profondeur de l'encolure.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/necklinewidth/fr.md b/markdown/org/docs/patterns/teagan/options/necklinewidth/fr.md
index 139bfe63bd7..614a865dea3 100644
--- a/markdown/org/docs/patterns/teagan/options/necklinewidth/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/necklinewidth/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la largeur de l'encolure.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/shoulderslopereduction/fr.md b/markdown/org/docs/patterns/teagan/options/shoulderslopereduction/fr.md
index f1290648b03..0227275c301 100644
--- a/markdown/org/docs/patterns/teagan/options/shoulderslopereduction/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/shoulderslopereduction/fr.md
@@ -4,6 +4,6 @@ title: Shoulder slope reduction
The amount by which the shoulder slope is reduced to allow for shoulder padding.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapbackfactorx/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapbackfactorx/fr.md
index 6db212a79df..71ba425c38e 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapbackfactorx/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapbackfactorx/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapbackfactory/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapbackfactory/fr.md
index ed3e45dcb02..7d9df34dea0 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapbackfactory/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapbackfactory/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapease/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapease/fr.md
index ebb42371152..09761ea77aa 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapease/fr.md
@@ -15,4 +15,4 @@ Pour les tissus lΓ©gers ou les tricots, vous ne voulez pas de tΓͺte de manche fa
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapfrontfactorx/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapfrontfactorx/fr.md
index 6d8fb22d18c..7ffce9f096c 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapfrontfactorx/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapfrontfactorx/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapfrontfactory/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapfrontfactory/fr.md
index 9de8df1a724..1bcfc6c32a0 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapfrontfactory/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapfrontfactory/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapq1offset/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapq1offset/fr.md
index 8f9f0549d05..260b262844b 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapq1offset/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapq1offset/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapq1spread1/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapq1spread1/fr.md
index 9f4a7da6b27..8e2349189ba 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapq1spread1/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapq1spread1/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapq1spread2/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapq1spread2/fr.md
index 43a45c787d9..68ccf692edf 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapq1spread2/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapq1spread2/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapq2offset/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapq2offset/fr.md
index 43e5003147b..2295e0484d3 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapq2offset/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapq2offset/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapq2spread1/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapq2spread1/fr.md
index d11ac57cb07..771b89517e4 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapq2spread1/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapq2spread1/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapq2spread2/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapq2spread2/fr.md
index e991363ea3d..78afa552171 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapq2spread2/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapq2spread2/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapq3offset/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapq3offset/fr.md
index ae52a4db225..1a557dcf4aa 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapq3offset/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapq3offset/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapq3spread1/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapq3spread1/fr.md
index 36ca0936a9d..8e8a181558c 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapq3spread1/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapq3spread1/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapq3spread2/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapq3spread2/fr.md
index bb7c2260d58..f675dfd7501 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapq3spread2/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapq3spread2/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapq4offset/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapq4offset/fr.md
index 3e902376bf3..52dae120203 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapq4offset/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapq4offset/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapq4spread1/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapq4spread1/fr.md
index c1e43b6b71a..7c935c52243 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapq4spread1/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapq4spread1/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecapq4spread2/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecapq4spread2/fr.md
index c79859eb503..a14bfbc2465 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecapq4spread2/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecapq4spread2/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecaptopfactorx/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecaptopfactorx/fr.md
index 7373011a3ab..863fa177520 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecaptopfactorx/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecaptopfactorx/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevecaptopfactory/fr.md b/markdown/org/docs/patterns/teagan/options/sleevecaptopfactory/fr.md
index 552bb0053c1..684b9b292df 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevecaptopfactory/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevecaptopfactory/fr.md
@@ -15,4 +15,4 @@ en profondeur sur la faΓ§on dont le chapeau de manche est construit et l'influen
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleeveease/fr.md b/markdown/org/docs/patterns/teagan/options/sleeveease/fr.md
index 0b786beb849..2a7596115f8 100644
--- a/markdown/org/docs/patterns/teagan/options/sleeveease/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleeveease/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la quantitΓ© d'aisance Γ la manche/Γ votre bras.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevelength/fr.md b/markdown/org/docs/patterns/teagan/options/sleevelength/fr.md
index b088fa3d848..82f8d8cd6fe 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevelength/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevelength/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la longueur des manches.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/teagan/options/sleevewidthguarantee/fr.md b/markdown/org/docs/patterns/teagan/options/sleevewidthguarantee/fr.md
index 443d564eb63..14d07ae617a 100644
--- a/markdown/org/docs/patterns/teagan/options/sleevewidthguarantee/fr.md
+++ b/markdown/org/docs/patterns/teagan/options/sleevewidthguarantee/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/theo/options/backrise/fr.md b/markdown/org/docs/patterns/theo/options/backrise/fr.md
index a446cb646ad..47ff83c8018 100644
--- a/markdown/org/docs/patterns/theo/options/backrise/fr.md
+++ b/markdown/org/docs/patterns/theo/options/backrise/fr.md
@@ -19,4 +19,4 @@ Il vous permet de simplement lever le dos du pantalon.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/theo/options/legwidth/fr.md b/markdown/org/docs/patterns/theo/options/legwidth/fr.md
index 6537613ad9e..c7627e220fc 100644
--- a/markdown/org/docs/patterns/theo/options/legwidth/fr.md
+++ b/markdown/org/docs/patterns/theo/options/legwidth/fr.md
@@ -16,4 +16,4 @@ vous permet de modifier la largeur des jambes.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/theo/options/lengthbonus/fr.md b/markdown/org/docs/patterns/theo/options/lengthbonus/fr.md
index 4ba2b69d29a..0fa5fc035ac 100644
--- a/markdown/org/docs/patterns/theo/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/theo/options/lengthbonus/fr.md
@@ -8,4 +8,4 @@ Cette option allongera les jambes de votre pantalon.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/theo/options/waistbandwidth/fr.md b/markdown/org/docs/patterns/theo/options/waistbandwidth/fr.md
index a5cc23b2816..bba197b1609 100644
--- a/markdown/org/docs/patterns/theo/options/waistbandwidth/fr.md
+++ b/markdown/org/docs/patterns/theo/options/waistbandwidth/fr.md
@@ -8,4 +8,4 @@ La largeur de la ceinture que vous voulez sur le pantalon.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/theo/options/wedge/fr.md b/markdown/org/docs/patterns/theo/options/wedge/fr.md
index 6d42452867f..b89bbc1026f 100644
--- a/markdown/org/docs/patterns/theo/options/wedge/fr.md
+++ b/markdown/org/docs/patterns/theo/options/wedge/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la longueur de la fourche.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tiberius/options/armholedrop/fr.md b/markdown/org/docs/patterns/tiberius/options/armholedrop/fr.md
index 260c6b4ec6b..eee6b5dc67c 100644
--- a/markdown/org/docs/patterns/tiberius/options/armholedrop/fr.md
+++ b/markdown/org/docs/patterns/tiberius/options/armholedrop/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la profondeur de l'emmanchure
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tiberius/options/clavi/fr.md b/markdown/org/docs/patterns/tiberius/options/clavi/fr.md
index 1bf492c9ec8..f170e859539 100644
--- a/markdown/org/docs/patterns/tiberius/options/clavi/fr.md
+++ b/markdown/org/docs/patterns/tiberius/options/clavi/fr.md
@@ -6,4 +6,4 @@ Whether or not to include guides for clavi
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tiberius/options/clavuslocation/fr.md b/markdown/org/docs/patterns/tiberius/options/clavuslocation/fr.md
index 28ad8fa31dc..efb83824043 100644
--- a/markdown/org/docs/patterns/tiberius/options/clavuslocation/fr.md
+++ b/markdown/org/docs/patterns/tiberius/options/clavuslocation/fr.md
@@ -6,4 +6,4 @@ Controls the location of the clavi
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tiberius/options/clavuswidth/fr.md b/markdown/org/docs/patterns/tiberius/options/clavuswidth/fr.md
index c975e23ca68..5d755cfa1c6 100644
--- a/markdown/org/docs/patterns/tiberius/options/clavuswidth/fr.md
+++ b/markdown/org/docs/patterns/tiberius/options/clavuswidth/fr.md
@@ -6,4 +6,4 @@ Controls the width of the clavi
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tiberius/options/forcewidth/fr.md b/markdown/org/docs/patterns/tiberius/options/forcewidth/fr.md
index 5186507d00b..447d7c096b6 100644
--- a/markdown/org/docs/patterns/tiberius/options/forcewidth/fr.md
+++ b/markdown/org/docs/patterns/tiberius/options/forcewidth/fr.md
@@ -6,4 +6,4 @@ Apply width settings regardless of constraints
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tiberius/options/headratio/fr.md b/markdown/org/docs/patterns/tiberius/options/headratio/fr.md
index b5acd1b1e13..383e0c1697c 100644
--- a/markdown/org/docs/patterns/tiberius/options/headratio/fr.md
+++ b/markdown/org/docs/patterns/tiberius/options/headratio/fr.md
@@ -6,4 +6,4 @@ Controls the size of the head opening
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tiberius/options/length/fr.md b/markdown/org/docs/patterns/tiberius/options/length/fr.md
index 64bf71a4b6f..2cdd7d5d3f6 100644
--- a/markdown/org/docs/patterns/tiberius/options/length/fr.md
+++ b/markdown/org/docs/patterns/tiberius/options/length/fr.md
@@ -6,4 +6,4 @@ Controls the length of the garment
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tiberius/options/lengthbonus/fr.md b/markdown/org/docs/patterns/tiberius/options/lengthbonus/fr.md
index d0899723964..166f46ec909 100644
--- a/markdown/org/docs/patterns/tiberius/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/tiberius/options/lengthbonus/fr.md
@@ -6,4 +6,4 @@ Allows variation of the length of the garment
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tiberius/options/width/fr.md b/markdown/org/docs/patterns/tiberius/options/width/fr.md
index 3d8f08a90ad..d711abbd949 100644
--- a/markdown/org/docs/patterns/tiberius/options/width/fr.md
+++ b/markdown/org/docs/patterns/tiberius/options/width/fr.md
@@ -6,4 +6,4 @@ Controls the width of the garment
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/tiberius/options/widthbonus/fr.md b/markdown/org/docs/patterns/tiberius/options/widthbonus/fr.md
index 3a0ffd56aa4..37460af09f5 100644
--- a/markdown/org/docs/patterns/tiberius/options/widthbonus/fr.md
+++ b/markdown/org/docs/patterns/tiberius/options/widthbonus/fr.md
@@ -6,4 +6,4 @@ Allows variation of the width of the garment
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/crossseamcurveangle/fr.md b/markdown/org/docs/patterns/titan/options/crossseamcurveangle/fr.md
index db75e6e3a2b..865ac21227d 100644
--- a/markdown/org/docs/patterns/titan/options/crossseamcurveangle/fr.md
+++ b/markdown/org/docs/patterns/titan/options/crossseamcurveangle/fr.md
@@ -10,4 +10,4 @@ Documentation manquante
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/crossseamcurvebend/fr.md b/markdown/org/docs/patterns/titan/options/crossseamcurvebend/fr.md
index b889d412633..e3d2cea91c7 100644
--- a/markdown/org/docs/patterns/titan/options/crossseamcurvebend/fr.md
+++ b/markdown/org/docs/patterns/titan/options/crossseamcurvebend/fr.md
@@ -17,4 +17,4 @@ Les gens qui ont un bum rond voudront peut-Γͺtre abaisser cela pour crΓ©er un pe
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/crossseamcurvestart/fr.md b/markdown/org/docs/patterns/titan/options/crossseamcurvestart/fr.md
index a1bed99dbf4..6462965ec20 100644
--- a/markdown/org/docs/patterns/titan/options/crossseamcurvestart/fr.md
+++ b/markdown/org/docs/patterns/titan/options/crossseamcurvestart/fr.md
@@ -17,4 +17,4 @@ Les gens qui ont un bum rond voudront peut-Γͺtre abaisser cela pour crΓ©er un pe
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/crotchdrop/fr.md b/markdown/org/docs/patterns/titan/options/crotchdrop/fr.md
index 42fb981e595..ff1ec10be3c 100644
--- a/markdown/org/docs/patterns/titan/options/crotchdrop/fr.md
+++ b/markdown/org/docs/patterns/titan/options/crotchdrop/fr.md
@@ -9,4 +9,4 @@ A signigicantly lowered crotched can also be a style choice.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/crotchseamcurveangle/fr.md b/markdown/org/docs/patterns/titan/options/crotchseamcurveangle/fr.md
index 816aa9089fe..ef3ed32d432 100644
--- a/markdown/org/docs/patterns/titan/options/crotchseamcurveangle/fr.md
+++ b/markdown/org/docs/patterns/titan/options/crotchseamcurveangle/fr.md
@@ -10,4 +10,4 @@ Documentation manquante
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/crotchseamcurvebend/fr.md b/markdown/org/docs/patterns/titan/options/crotchseamcurvebend/fr.md
index d4e45908c35..65ebe0f02f4 100644
--- a/markdown/org/docs/patterns/titan/options/crotchseamcurvebend/fr.md
+++ b/markdown/org/docs/patterns/titan/options/crotchseamcurvebend/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la courbure de la couture du croth, qui influence l'ajustement Γ votr
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/crotchseamcurvestart/fr.md b/markdown/org/docs/patterns/titan/options/crotchseamcurvestart/fr.md
index 82598aa1de9..586f9326355 100644
--- a/markdown/org/docs/patterns/titan/options/crotchseamcurvestart/fr.md
+++ b/markdown/org/docs/patterns/titan/options/crotchseamcurvestart/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le oΓΉ la couture de crochage commence Γ Γͺtre courbΓ©e, ce qui influe s
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/fitknee/fr.md b/markdown/org/docs/patterns/titan/options/fitknee/fr.md
index 2860b32176b..21c2011b44c 100644
--- a/markdown/org/docs/patterns/titan/options/fitknee/fr.md
+++ b/markdown/org/docs/patterns/titan/options/fitknee/fr.md
@@ -16,4 +16,4 @@ vous permet de modifier la largeur des jambes.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/grainlineposition/fr.md b/markdown/org/docs/patterns/titan/options/grainlineposition/fr.md
index d22f1b82bff..a19963ac807 100644
--- a/markdown/org/docs/patterns/titan/options/grainlineposition/fr.md
+++ b/markdown/org/docs/patterns/titan/options/grainlineposition/fr.md
@@ -8,4 +8,4 @@ Vous pouvez l'utiliser pour dΓ©placer la ligne de grainline vers l'intΓ©rieur ou
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/kneeease/fr.md b/markdown/org/docs/patterns/titan/options/kneeease/fr.md
index 69030d6c7a1..ee385d489fb 100644
--- a/markdown/org/docs/patterns/titan/options/kneeease/fr.md
+++ b/markdown/org/docs/patterns/titan/options/kneeease/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la quantitΓ© d'aisance Γ vos genoux, qui dΓ©termine Γ©galement la lar
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/legbalance/fr.md b/markdown/org/docs/patterns/titan/options/legbalance/fr.md
index d2bcfb3b122..37112b410d1 100644
--- a/markdown/org/docs/patterns/titan/options/legbalance/fr.md
+++ b/markdown/org/docs/patterns/titan/options/legbalance/fr.md
@@ -18,4 +18,4 @@ This trick is often used in womenswear jeans
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/lengthbonus/fr.md b/markdown/org/docs/patterns/titan/options/lengthbonus/fr.md
index 23e612a0ec7..48eab61cd62 100644
--- a/markdown/org/docs/patterns/titan/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/titan/options/lengthbonus/fr.md
@@ -15,4 +15,4 @@ le pantalon devra Γͺtre plus long que celui-ci pour toucher le sol.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/seatease/fr.md b/markdown/org/docs/patterns/titan/options/seatease/fr.md
index 6af5b0e2504..3a7420b1306 100644
--- a/markdown/org/docs/patterns/titan/options/seatease/fr.md
+++ b/markdown/org/docs/patterns/titan/options/seatease/fr.md
@@ -6,4 +6,4 @@ Contrôle la quantité d'aisance à votre siège/bum.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/waistbalance/fr.md b/markdown/org/docs/patterns/titan/options/waistbalance/fr.md
index 0f51af26bce..3ec5cbf1678 100644
--- a/markdown/org/docs/patterns/titan/options/waistbalance/fr.md
+++ b/markdown/org/docs/patterns/titan/options/waistbalance/fr.md
@@ -12,4 +12,4 @@ Cette option vous permet de contrΓ΄ler ce solde.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/waistbandwidth/fr.md b/markdown/org/docs/patterns/titan/options/waistbandwidth/fr.md
index 94b766babd2..34cfd6b9794 100644
--- a/markdown/org/docs/patterns/titan/options/waistbandwidth/fr.md
+++ b/markdown/org/docs/patterns/titan/options/waistbandwidth/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la largeur de la ceinture.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/waistease/fr.md b/markdown/org/docs/patterns/titan/options/waistease/fr.md
index 3b82c6bd90b..f95dc452f3e 100644
--- a/markdown/org/docs/patterns/titan/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/titan/options/waistease/fr.md
@@ -8,4 +8,4 @@ Even if you draft lower pants, this will still influence the ease at the top of
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/titan/options/waistheight/fr.md b/markdown/org/docs/patterns/titan/options/waistheight/fr.md
index 2d5997b91ca..7dad80e88cf 100644
--- a/markdown/org/docs/patterns/titan/options/waistheight/fr.md
+++ b/markdown/org/docs/patterns/titan/options/waistheight/fr.md
@@ -9,4 +9,4 @@ ContrΓ΄le la hauteur de la taille, oΓΉ:
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/trayvon/options/knotwidth/fr.md b/markdown/org/docs/patterns/trayvon/options/knotwidth/fr.md
index e7118d7b17e..b2ac4b5519b 100644
--- a/markdown/org/docs/patterns/trayvon/options/knotwidth/fr.md
+++ b/markdown/org/docs/patterns/trayvon/options/knotwidth/fr.md
@@ -16,4 +16,4 @@ Ne pas rendre la largeur du nΕud plus grande que la largeur de la pointe
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/trayvon/options/lengthbonus/fr.md b/markdown/org/docs/patterns/trayvon/options/lengthbonus/fr.md
index 3a535c7a776..7d12f54f6e2 100644
--- a/markdown/org/docs/patterns/trayvon/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/trayvon/options/lengthbonus/fr.md
@@ -6,4 +6,4 @@ Ajoute une longueur supplΓ©mentaire Γ la cravate.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/trayvon/options/tipwidth/fr.md b/markdown/org/docs/patterns/trayvon/options/tipwidth/fr.md
index 854e85f300f..2abbe9c4db9 100644
--- a/markdown/org/docs/patterns/trayvon/options/tipwidth/fr.md
+++ b/markdown/org/docs/patterns/trayvon/options/tipwidth/fr.md
@@ -16,4 +16,4 @@ Ne pas rendre la largeur de la pointe plus petite que la largeur du nΕud
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/unice/options/adjuststretch/fr.md b/markdown/org/docs/patterns/unice/options/adjuststretch/fr.md
index b355d7efb7f..03f160b9d85 100644
--- a/markdown/org/docs/patterns/unice/options/adjuststretch/fr.md
+++ b/markdown/org/docs/patterns/unice/options/adjuststretch/fr.md
@@ -6,6 +6,6 @@ This option allows you to put in the maximum stretch that the fabric will allow
When disabled, the stretch values are used as-is.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/unice/options/backdip/fr.md b/markdown/org/docs/patterns/unice/options/backdip/fr.md
index 8cb0e5002ec..d4443446c8e 100644
--- a/markdown/org/docs/patterns/unice/options/backdip/fr.md
+++ b/markdown/org/docs/patterns/unice/options/backdip/fr.md
@@ -4,6 +4,6 @@ title: "Back waist dip"
Together with the "Back curve" option, this option controls how much the back waist curves (revealing more or less skin). For this option, the curve is achieved by cutting away a crescent at the waist. (For fabric with horizontal stripes, some stripes would be interrupted around the center of the waist.)
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/unice/options/backexposure/fr.md b/markdown/org/docs/patterns/unice/options/backexposure/fr.md
index 982c794beef..db596ed96d3 100644
--- a/markdown/org/docs/patterns/unice/options/backexposure/fr.md
+++ b/markdown/org/docs/patterns/unice/options/backexposure/fr.md
@@ -4,6 +4,6 @@ title: "Back exposure"
This option controls the amount of exposed skin on the back.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/unice/options/elasticstretch/fr.md b/markdown/org/docs/patterns/unice/options/elasticstretch/fr.md
index ab19d4845ac..b2a26084891 100644
--- a/markdown/org/docs/patterns/unice/options/elasticstretch/fr.md
+++ b/markdown/org/docs/patterns/unice/options/elasticstretch/fr.md
@@ -4,6 +4,6 @@ title: "Elastic stretch"
Adjust this option for more or less stretchy elastic.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/unice/options/fabricstretchx/fr.md b/markdown/org/docs/patterns/unice/options/fabricstretchx/fr.md
index c56edf8bebc..4de40713d97 100644
--- a/markdown/org/docs/patterns/unice/options/fabricstretchx/fr.md
+++ b/markdown/org/docs/patterns/unice/options/fabricstretchx/fr.md
@@ -4,6 +4,6 @@ title: "Fabric stretch X"
Controls the stretch in horizontal direction.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/unice/options/fabricstretchy/fr.md b/markdown/org/docs/patterns/unice/options/fabricstretchy/fr.md
index be02cac622f..66197fd1897 100644
--- a/markdown/org/docs/patterns/unice/options/fabricstretchy/fr.md
+++ b/markdown/org/docs/patterns/unice/options/fabricstretchy/fr.md
@@ -4,6 +4,6 @@ title: "Fabric stretch Y"
Controls the stretch in vertical direction.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/unice/options/frontdip/fr.md b/markdown/org/docs/patterns/unice/options/frontdip/fr.md
index 40fb065d034..fa537409589 100644
--- a/markdown/org/docs/patterns/unice/options/frontdip/fr.md
+++ b/markdown/org/docs/patterns/unice/options/frontdip/fr.md
@@ -4,6 +4,6 @@ title: "Front waist dip"
Together with the "Front curve" option, this option controls how much the front waist curves (revealing more or less skin). For this option, the curve is achieved by cutting away a crescent at the waist. (For fabric with horizontal stripes, some stripes would be interrupted around the center of the waist.)
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/unice/options/gussetlength/fr.md b/markdown/org/docs/patterns/unice/options/gussetlength/fr.md
index 9a5a456c946..4c066dfa9db 100644
--- a/markdown/org/docs/patterns/unice/options/gussetlength/fr.md
+++ b/markdown/org/docs/patterns/unice/options/gussetlength/fr.md
@@ -4,6 +4,6 @@ title: "Gusset length"
This option controls the length of the gusset.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/unice/options/gussetwidth/fr.md b/markdown/org/docs/patterns/unice/options/gussetwidth/fr.md
index 40c2d8be383..ad4f3aee51c 100644
--- a/markdown/org/docs/patterns/unice/options/gussetwidth/fr.md
+++ b/markdown/org/docs/patterns/unice/options/gussetwidth/fr.md
@@ -4,6 +4,6 @@ title: "Gusset width"
This options controls the width of the gusset.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/unice/options/legopening/fr.md b/markdown/org/docs/patterns/unice/options/legopening/fr.md
index ed179e01c0d..569ecb4e201 100644
--- a/markdown/org/docs/patterns/unice/options/legopening/fr.md
+++ b/markdown/org/docs/patterns/unice/options/legopening/fr.md
@@ -4,6 +4,6 @@ title: "Leg opening"
This option controls how high the leg is cut-out.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/unice/options/rise/fr.md b/markdown/org/docs/patterns/unice/options/rise/fr.md
index 0e297da3093..60bc14d0e0b 100644
--- a/markdown/org/docs/patterns/unice/options/rise/fr.md
+++ b/markdown/org/docs/patterns/unice/options/rise/fr.md
@@ -4,6 +4,6 @@ title: "Rise"
This options controls the height of the waist.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/unice/options/tapertogusset/fr.md b/markdown/org/docs/patterns/unice/options/tapertogusset/fr.md
index 3a9ef856720..011f8dc19c5 100644
--- a/markdown/org/docs/patterns/unice/options/tapertogusset/fr.md
+++ b/markdown/org/docs/patterns/unice/options/tapertogusset/fr.md
@@ -4,6 +4,6 @@ title: "Front Exposure"
Controls how much the front will curve inwards to meet the gusset.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/ursula/options/backdip/fr.md b/markdown/org/docs/patterns/ursula/options/backdip/fr.md
index 972a7814c25..b7cc44d1a74 100644
--- a/markdown/org/docs/patterns/ursula/options/backdip/fr.md
+++ b/markdown/org/docs/patterns/ursula/options/backdip/fr.md
@@ -6,4 +6,4 @@ Cette option permet de contrôler la quantité de courbes de taille arrière (r
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/ursula/options/backexposure/fr.md b/markdown/org/docs/patterns/ursula/options/backexposure/fr.md
index 8cc45146eb0..c7c7a8f2837 100644
--- a/markdown/org/docs/patterns/ursula/options/backexposure/fr.md
+++ b/markdown/org/docs/patterns/ursula/options/backexposure/fr.md
@@ -6,4 +6,4 @@ Cette option permet de contrΓ΄ler la quantitΓ© de peau exposΓ©e sur le dos.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/ursula/options/elasticstretch/fr.md b/markdown/org/docs/patterns/ursula/options/elasticstretch/fr.md
index ecd4176b730..45cdd3b45a2 100644
--- a/markdown/org/docs/patterns/ursula/options/elasticstretch/fr.md
+++ b/markdown/org/docs/patterns/ursula/options/elasticstretch/fr.md
@@ -6,4 +6,4 @@ Ajustez cette option pour une Γ©lastique plus ou moins extensive.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/ursula/options/fabricstretch/fr.md b/markdown/org/docs/patterns/ursula/options/fabricstretch/fr.md
index 75109056cb5..15eddaaae4e 100644
--- a/markdown/org/docs/patterns/ursula/options/fabricstretch/fr.md
+++ b/markdown/org/docs/patterns/ursula/options/fabricstretch/fr.md
@@ -6,4 +6,4 @@ Ajustez cette option pour des tissus plus ou moins extensifs.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/ursula/options/frontdip/fr.md b/markdown/org/docs/patterns/ursula/options/frontdip/fr.md
index 8453c218935..af8f85fbf36 100644
--- a/markdown/org/docs/patterns/ursula/options/frontdip/fr.md
+++ b/markdown/org/docs/patterns/ursula/options/frontdip/fr.md
@@ -6,4 +6,4 @@ Cette option permet de contrΓ΄ler la quantitΓ© de courbes de la taille avant (r
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/ursula/options/gussetlength/fr.md b/markdown/org/docs/patterns/ursula/options/gussetlength/fr.md
index 2647c5cbeb7..2a39777d8de 100644
--- a/markdown/org/docs/patterns/ursula/options/gussetlength/fr.md
+++ b/markdown/org/docs/patterns/ursula/options/gussetlength/fr.md
@@ -6,4 +6,4 @@ Cette option contrΓ΄le la longueur du gusset.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/ursula/options/gussetwidth/fr.md b/markdown/org/docs/patterns/ursula/options/gussetwidth/fr.md
index 55824d27e70..8558823e301 100644
--- a/markdown/org/docs/patterns/ursula/options/gussetwidth/fr.md
+++ b/markdown/org/docs/patterns/ursula/options/gussetwidth/fr.md
@@ -6,4 +6,4 @@ Cette option contrΓ΄le la largeur du gusset.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/ursula/options/legopening/fr.md b/markdown/org/docs/patterns/ursula/options/legopening/fr.md
index c601da0ce18..1bb3d9ea66a 100644
--- a/markdown/org/docs/patterns/ursula/options/legopening/fr.md
+++ b/markdown/org/docs/patterns/ursula/options/legopening/fr.md
@@ -6,4 +6,4 @@ Cette option permet de contrΓ΄ler la hauteur de la jambe.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/ursula/options/rise/fr.md b/markdown/org/docs/patterns/ursula/options/rise/fr.md
index 1964e9b7306..15667781124 100644
--- a/markdown/org/docs/patterns/ursula/options/rise/fr.md
+++ b/markdown/org/docs/patterns/ursula/options/rise/fr.md
@@ -6,4 +6,4 @@ Cette option contrΓ΄le la hauteur de la taille.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/ursula/options/tapertogusset/fr.md b/markdown/org/docs/patterns/ursula/options/tapertogusset/fr.md
index bfb9939e23f..317f4e38284 100644
--- a/markdown/org/docs/patterns/ursula/options/tapertogusset/fr.md
+++ b/markdown/org/docs/patterns/ursula/options/tapertogusset/fr.md
@@ -6,4 +6,4 @@ Controls how much the front will curve inwards to meet the gusset.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/wahid/options/armholedepthfactor/fr.md
index 555160344b3..8efa2ccb45d 100644
--- a/markdown/org/docs/patterns/wahid/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/armholedepthfactor/fr.md
@@ -6,4 +6,4 @@ Cette option contrΓ΄le la profondeur de l'emmanchure.
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/backinset/fr.md b/markdown/org/docs/patterns/wahid/options/backinset/fr.md
index 9e5af93677e..ac5fa181be1 100644
--- a/markdown/org/docs/patterns/wahid/options/backinset/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/backinset/fr.md
@@ -17,4 +17,4 @@ Cela influence le style du gilet.
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/backscyedart/fr.md b/markdown/org/docs/patterns/wahid/options/backscyedart/fr.md
index 6b343b833b4..be052c825b2 100644
--- a/markdown/org/docs/patterns/wahid/options/backscyedart/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/backscyedart/fr.md
@@ -19,4 +19,4 @@ Bien que cette pince soit utilisΓ©e pour faΓ§onner le patron, vous n'avez pas Γ
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/buttons/fr.md b/markdown/org/docs/patterns/wahid/options/buttons/fr.md
index 61ed68d03f0..199c3f489dd 100644
--- a/markdown/org/docs/patterns/wahid/options/buttons/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/buttons/fr.md
@@ -8,4 +8,4 @@ Combien de boutons voulez-vous ?
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/centerbackdart/fr.md b/markdown/org/docs/patterns/wahid/options/centerbackdart/fr.md
index 0691068a86f..3842229ffaf 100644
--- a/markdown/org/docs/patterns/wahid/options/centerbackdart/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/centerbackdart/fr.md
@@ -19,4 +19,4 @@ Techniquement, ce n'est pas une pince, mais je ne savais pas comment l'appeler a
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/chestease/fr.md b/markdown/org/docs/patterns/wahid/options/chestease/fr.md
index db6e37cfe82..825deacbc72 100644
--- a/markdown/org/docs/patterns/wahid/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/chestease/fr.md
@@ -14,4 +14,4 @@ Combien d'aisance voulez-vous pour le buste ?
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/wahid/options/draftforhighbust/fr.md
index d62678f9886..86f9c9f923b 100644
--- a/markdown/org/docs/patterns/wahid/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/frontinset/fr.md b/markdown/org/docs/patterns/wahid/options/frontinset/fr.md
index e4cf6c821c7..619f15c6daa 100644
--- a/markdown/org/docs/patterns/wahid/options/frontinset/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/frontinset/fr.md
@@ -17,4 +17,4 @@ Cela influence le style du gilet.
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/frontscyedart/fr.md b/markdown/org/docs/patterns/wahid/options/frontscyedart/fr.md
index 40b79dae7be..59c7165d139 100644
--- a/markdown/org/docs/patterns/wahid/options/frontscyedart/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/frontscyedart/fr.md
@@ -14,4 +14,4 @@ Vous pouvez augmenter ou diminuer la pince pour modifier l'emmanchure.
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/frontstyle/fr.md b/markdown/org/docs/patterns/wahid/options/frontstyle/fr.md
index 30a6ee91f31..a94e0ae34ca 100644
--- a/markdown/org/docs/patterns/wahid/options/frontstyle/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/frontstyle/fr.md
@@ -8,4 +8,4 @@ Vous voulez un col droit classique ou un col arrondi ?
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/hemradius/fr.md b/markdown/org/docs/patterns/wahid/options/hemradius/fr.md
index dcec06e9e18..758c3fc2678 100644
--- a/markdown/org/docs/patterns/wahid/options/hemradius/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/hemradius/fr.md
@@ -8,4 +8,4 @@ DΓ©termine le rayon de l'ourlet si vous avez choisi un ourlet arrondi.
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/hemstyle/fr.md b/markdown/org/docs/patterns/wahid/options/hemstyle/fr.md
index 90d245c5d1c..5cb19ccc7f2 100644
--- a/markdown/org/docs/patterns/wahid/options/hemstyle/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/hemstyle/fr.md
@@ -8,4 +8,4 @@ Vous voulez un ourlet classique ou un ourlet arrondi ?
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/hipsease/fr.md b/markdown/org/docs/patterns/wahid/options/hipsease/fr.md
index 3fc91d8ea5e..babb8be9059 100644
--- a/markdown/org/docs/patterns/wahid/options/hipsease/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/hipsease/fr.md
@@ -8,4 +8,4 @@ Combien d'aisance voulez-vous sur vos hanches ?
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/lengthbonus/fr.md b/markdown/org/docs/patterns/wahid/options/lengthbonus/fr.md
index e607a364666..bdf439a145c 100644
--- a/markdown/org/docs/patterns/wahid/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/lengthbonus/fr.md
@@ -8,4 +8,4 @@ Cette option vous permet d'allonger (ou de raccourcir) votre gilet.
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/neckinset/fr.md b/markdown/org/docs/patterns/wahid/options/neckinset/fr.md
index 5a46c0c46f0..02a106dda52 100644
--- a/markdown/org/docs/patterns/wahid/options/neckinset/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/neckinset/fr.md
@@ -16,4 +16,4 @@ La couture de l'Γ©paule d'un gilet est gΓ©nΓ©ralement plus Γ©troite que votre ch
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/necklinedrop/fr.md b/markdown/org/docs/patterns/wahid/options/necklinedrop/fr.md
index a221b10e185..b3e8852255d 100644
--- a/markdown/org/docs/patterns/wahid/options/necklinedrop/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/necklinedrop/fr.md
@@ -8,4 +8,4 @@ Cette option vous permet de descendre votre encolure sous la valeur par dΓ©faut.
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/pocketangle/fr.md b/markdown/org/docs/patterns/wahid/options/pocketangle/fr.md
index c9eb0f8ac95..ec3c08d0c81 100644
--- a/markdown/org/docs/patterns/wahid/options/pocketangle/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/pocketangle/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le l'angle d'inclinaison de la poche.
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/pocketlocation/fr.md b/markdown/org/docs/patterns/wahid/options/pocketlocation/fr.md
index b8f0c6c0c9c..4653a825b88 100644
--- a/markdown/org/docs/patterns/wahid/options/pocketlocation/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/pocketlocation/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le l'emplacement des poches.
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/pocketwidth/fr.md b/markdown/org/docs/patterns/wahid/options/pocketwidth/fr.md
index 7f4a038d902..e131ff3e4bb 100644
--- a/markdown/org/docs/patterns/wahid/options/pocketwidth/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/pocketwidth/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la largeur des poches.
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/shoulderinset/fr.md b/markdown/org/docs/patterns/wahid/options/shoulderinset/fr.md
index 4d8b05bc3e9..391eb67ae88 100644
--- a/markdown/org/docs/patterns/wahid/options/shoulderinset/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/shoulderinset/fr.md
@@ -16,4 +16,4 @@ La couture de l'Γ©paule d'un gilet est gΓ©nΓ©ralement plus Γ©troite que votre ch
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/waistease/fr.md b/markdown/org/docs/patterns/wahid/options/waistease/fr.md
index a896759467e..cf1834c720c 100644
--- a/markdown/org/docs/patterns/wahid/options/waistease/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/waistease/fr.md
@@ -8,4 +8,4 @@ Combien d'aisance voulez-vous Γ la taille ?
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/wahid/options/weltheight/fr.md b/markdown/org/docs/patterns/wahid/options/weltheight/fr.md
index 9323345e093..d4372b4a98a 100644
--- a/markdown/org/docs/patterns/wahid/options/weltheight/fr.md
+++ b/markdown/org/docs/patterns/wahid/options/weltheight/fr.md
@@ -6,4 +6,4 @@ ContrΓ΄le la hauteur des passepoils de poche.
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/walburga/options/headratio/fr.md b/markdown/org/docs/patterns/walburga/options/headratio/fr.md
index f37b00c8501..1383ae9e5c8 100644
--- a/markdown/org/docs/patterns/walburga/options/headratio/fr.md
+++ b/markdown/org/docs/patterns/walburga/options/headratio/fr.md
@@ -6,4 +6,4 @@ Controls the size of the head opening
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/walburga/options/length/fr.md b/markdown/org/docs/patterns/walburga/options/length/fr.md
index 2a6858df5d6..10ee089a376 100644
--- a/markdown/org/docs/patterns/walburga/options/length/fr.md
+++ b/markdown/org/docs/patterns/walburga/options/length/fr.md
@@ -6,4 +6,4 @@ Controls the length of the garment
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/walburga/options/lengthbonus/fr.md b/markdown/org/docs/patterns/walburga/options/lengthbonus/fr.md
index 21f32e2fb1b..9ca81ddbec0 100644
--- a/markdown/org/docs/patterns/walburga/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/walburga/options/lengthbonus/fr.md
@@ -6,4 +6,4 @@ Allows variation of the length of the garment
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/walburga/options/neckline/fr.md b/markdown/org/docs/patterns/walburga/options/neckline/fr.md
index e41ab2fbc05..076ba23eb39 100644
--- a/markdown/org/docs/patterns/walburga/options/neckline/fr.md
+++ b/markdown/org/docs/patterns/walburga/options/neckline/fr.md
@@ -6,4 +6,4 @@ Controls whether or not to draft a neck opening
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/walburga/options/neckoratio/fr.md b/markdown/org/docs/patterns/walburga/options/neckoratio/fr.md
index 246cbd682ea..bdecdaaffe1 100644
--- a/markdown/org/docs/patterns/walburga/options/neckoratio/fr.md
+++ b/markdown/org/docs/patterns/walburga/options/neckoratio/fr.md
@@ -6,4 +6,4 @@ controls the shape of the neck opening
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/walburga/options/widthbonus/fr.md b/markdown/org/docs/patterns/walburga/options/widthbonus/fr.md
index f5a67d757e9..b7953e2cec9 100644
--- a/markdown/org/docs/patterns/walburga/options/widthbonus/fr.md
+++ b/markdown/org/docs/patterns/walburga/options/widthbonus/fr.md
@@ -6,4 +6,4 @@ Allows variation of the width of the garment
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/backpocket/fr.md b/markdown/org/docs/patterns/waralee/options/backpocket/fr.md
index cb8d52877d6..9c0e2a5b5b4 100644
--- a/markdown/org/docs/patterns/waralee/options/backpocket/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/backpocket/fr.md
@@ -6,4 +6,4 @@ S'il faut inclure une poche arrière ou non
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/backraise/fr.md b/markdown/org/docs/patterns/waralee/options/backraise/fr.md
index 814b51051fc..2c549bef97a 100644
--- a/markdown/org/docs/patterns/waralee/options/backraise/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/backraise/fr.md
@@ -6,4 +6,4 @@ Ce réglage lève la taille dans le dos. Notre tour de taille ne s'assied pas ho
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/crotchback/fr.md b/markdown/org/docs/patterns/waralee/options/crotchback/fr.md
index 92d56dd0a4c..dee64ed5d93 100644
--- a/markdown/org/docs/patterns/waralee/options/crotchback/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/crotchback/fr.md
@@ -6,4 +6,4 @@ Le pourcentage de la circonférence du siège que la coupe du dos doit occuper.
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/crotchfactorbackhor/fr.md b/markdown/org/docs/patterns/waralee/options/crotchfactorbackhor/fr.md
index e237cfb4463..0323aa5e1ec 100644
--- a/markdown/org/docs/patterns/waralee/options/crotchfactorbackhor/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/crotchfactorbackhor/fr.md
@@ -6,4 +6,4 @@ Utilisé pour déplacer la courbe de la fourche arrière horizontalement
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/crotchfactorbackver/fr.md b/markdown/org/docs/patterns/waralee/options/crotchfactorbackver/fr.md
index db42f895196..b05402d91f7 100644
--- a/markdown/org/docs/patterns/waralee/options/crotchfactorbackver/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/crotchfactorbackver/fr.md
@@ -6,4 +6,4 @@ Utilisé pour déplacer la courbe de la fourche arrière verticalement
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/crotchfactorfronthor/fr.md b/markdown/org/docs/patterns/waralee/options/crotchfactorfronthor/fr.md
index c76cdd62256..c8a4718e69c 100644
--- a/markdown/org/docs/patterns/waralee/options/crotchfactorfronthor/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/crotchfactorfronthor/fr.md
@@ -6,4 +6,4 @@ UtilisΓ© pour dΓ©placer la courbe de la fourche avant horizontalement
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/crotchfactorfrontver/fr.md b/markdown/org/docs/patterns/waralee/options/crotchfactorfrontver/fr.md
index d4af7c81853..d68b02ee045 100644
--- a/markdown/org/docs/patterns/waralee/options/crotchfactorfrontver/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/crotchfactorfrontver/fr.md
@@ -6,4 +6,4 @@ UtilisΓ© pour dΓ©placer la courbe de la fourche avant verticalement
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/crotchfront/fr.md b/markdown/org/docs/patterns/waralee/options/crotchfront/fr.md
index da5a7cd38a8..f3beebb1b44 100644
--- a/markdown/org/docs/patterns/waralee/options/crotchfront/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/crotchfront/fr.md
@@ -6,4 +6,4 @@ Le pourcentage de la circonférence du siège que la coupe avant doit occuper. C
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/frontpocket/fr.md b/markdown/org/docs/patterns/waralee/options/frontpocket/fr.md
index 365b1451e2a..319f388e6e8 100644
--- a/markdown/org/docs/patterns/waralee/options/frontpocket/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/frontpocket/fr.md
@@ -6,4 +6,4 @@ S'il faut inclure une poche avant ou non
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/hemwidth/fr.md b/markdown/org/docs/patterns/waralee/options/hemwidth/fr.md
index 34022127578..770a4154069 100644
--- a/markdown/org/docs/patterns/waralee/options/hemwidth/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/hemwidth/fr.md
@@ -6,4 +6,4 @@ Taille de l'ourlet au bas du pantalon
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/legshortening/fr.md b/markdown/org/docs/patterns/waralee/options/legshortening/fr.md
index 620e9ff9fc1..ecc78d92d4b 100644
--- a/markdown/org/docs/patterns/waralee/options/legshortening/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/legshortening/fr.md
@@ -6,4 +6,4 @@ Cela dicte combien de temps le pantalon sera. C'est un facteur de la mesure de l
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/waistbandwidth/fr.md b/markdown/org/docs/patterns/waralee/options/waistbandwidth/fr.md
index 26d7416287c..6ea78856546 100644
--- a/markdown/org/docs/patterns/waralee/options/waistbandwidth/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/waistbandwidth/fr.md
@@ -6,4 +6,4 @@ Taille de la bande de taille
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/waistoverlap/fr.md b/markdown/org/docs/patterns/waralee/options/waistoverlap/fr.md
index fd6046a1c53..48c9600b25b 100644
--- a/markdown/org/docs/patterns/waralee/options/waistoverlap/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/waistoverlap/fr.md
@@ -6,4 +6,4 @@ Cela dicte combien vous voulez que les flacons de la jambe se chevauchent Γ la
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/waralee/options/waistraise/fr.md b/markdown/org/docs/patterns/waralee/options/waistraise/fr.md
index 84f8fb97a54..e424fc81829 100644
--- a/markdown/org/docs/patterns/waralee/options/waistraise/fr.md
+++ b/markdown/org/docs/patterns/waralee/options/waistraise/fr.md
@@ -6,4 +6,4 @@ Combien pour lever la taille de la taille de la mesure de la profondeur du sièg
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/acrossbackfactor/fr.md b/markdown/org/docs/patterns/yuri/options/acrossbackfactor/fr.md
index dfae3733487..f8e602a0edd 100644
--- a/markdown/org/docs/patterns/yuri/options/acrossbackfactor/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/acrossbackfactor/fr.md
@@ -6,4 +6,4 @@ Controls your across back width as a factor of your shoulder to shoulder measure
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/armholedepthfactor/fr.md b/markdown/org/docs/patterns/yuri/options/armholedepthfactor/fr.md
index eeb03e7e61f..b30440f4758 100644
--- a/markdown/org/docs/patterns/yuri/options/armholedepthfactor/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/armholedepthfactor/fr.md
@@ -6,4 +6,4 @@ This option controls the depth of the armhole.
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/backneckcutout/fr.md b/markdown/org/docs/patterns/yuri/options/backneckcutout/fr.md
index a4cf63dce83..74ccccecbbd 100644
--- a/markdown/org/docs/patterns/yuri/options/backneckcutout/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/backneckcutout/fr.md
@@ -6,4 +6,4 @@ Controls how deep the neck opening is cut out in the back of the garment. In oth
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/bicepsease/fr.md b/markdown/org/docs/patterns/yuri/options/bicepsease/fr.md
index 1d4644ec77b..b4a9bd95f31 100644
--- a/markdown/org/docs/patterns/yuri/options/bicepsease/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/bicepsease/fr.md
@@ -4,6 +4,6 @@ title: "Biceps ease"
L'aisance en haut du bras.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/chestease/fr.md b/markdown/org/docs/patterns/yuri/options/chestease/fr.md
index d8b624f6a3b..8eb7d53e8f9 100644
--- a/markdown/org/docs/patterns/yuri/options/chestease/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/chestease/fr.md
@@ -4,6 +4,6 @@ title: "Chest ease"
Cette option contrΓ΄le l'aisance au niveau de la poitrine.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/collarease/fr.md b/markdown/org/docs/patterns/yuri/options/collarease/fr.md
index 5e1ae36e1cb..33db0789bc4 100644
--- a/markdown/org/docs/patterns/yuri/options/collarease/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/collarease/fr.md
@@ -4,6 +4,6 @@ title: "Collar ease"
ContrΓ΄le l'aisance au niveau du col.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/cuffease/fr.md b/markdown/org/docs/patterns/yuri/options/cuffease/fr.md
index 05f69e6bd87..48a7e53e93e 100644
--- a/markdown/org/docs/patterns/yuri/options/cuffease/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/cuffease/fr.md
@@ -4,6 +4,6 @@ title: "Cuff ease"
Cette option contrΓ΄le l'aisance au niveau des poignets.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/draftforhighbust/fr.md b/markdown/org/docs/patterns/yuri/options/draftforhighbust/fr.md
index 0a37fec1ab8..587fab70bf2 100644
--- a/markdown/org/docs/patterns/yuri/options/draftforhighbust/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/draftforhighbust/fr.md
@@ -4,6 +4,6 @@ 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.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/frontarmholedeeper/fr.md b/markdown/org/docs/patterns/yuri/options/frontarmholedeeper/fr.md
index 6ac1a70900b..6d285c762c1 100644
--- a/markdown/org/docs/patterns/yuri/options/frontarmholedeeper/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/frontarmholedeeper/fr.md
@@ -8,4 +8,4 @@ Since the human shoulder is more rounded at the front of the body, the sleeve(ca
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/hipsease/fr.md b/markdown/org/docs/patterns/yuri/options/hipsease/fr.md
index e75c948ce8d..2cd084489cd 100644
--- a/markdown/org/docs/patterns/yuri/options/hipsease/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/hipsease/fr.md
@@ -4,6 +4,6 @@ title: "Hips ease"
La marge d'aisance aux hanches.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/lengthbonus/fr.md b/markdown/org/docs/patterns/yuri/options/lengthbonus/fr.md
index 324422d385b..a35e1682bf5 100644
--- a/markdown/org/docs/patterns/yuri/options/lengthbonus/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/lengthbonus/fr.md
@@ -4,6 +4,6 @@ title: "Length bonus"
Cette option permet de contrΓ΄ler jusqu'Γ quel point le bloc se prolonge sous vos hanches.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/s3armhole/fr.md b/markdown/org/docs/patterns/yuri/options/s3armhole/fr.md
index 029008c8a2e..9b2d9db009c 100644
--- a/markdown/org/docs/patterns/yuri/options/s3armhole/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/s3armhole/fr.md
@@ -7,6 +7,6 @@ ContrΓ΄le l'emplacement de la couture des Γ©paules sur le cΓ΄tΓ© du bras.
- Augmentez cette option pour dΓ©placer la couture de l'Γ©paule vers l'avant sur le cΓ΄tΓ© de l'emmanchure
- Diminuer cette option pour déplacer la couture de l'épaule vers l'arrière sur le côté de l'emmanchure
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/s3collar/fr.md b/markdown/org/docs/patterns/yuri/options/s3collar/fr.md
index aecc50830e3..da522421623 100644
--- a/markdown/org/docs/patterns/yuri/options/s3collar/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/s3collar/fr.md
@@ -7,6 +7,6 @@ ContrΓ΄le l'emplacement de la couture des Γ©paules sur le cΓ΄tΓ© du col.
- Augmentez cette option pour dΓ©placer la couture de l'Γ©paule vers l'avant sur le col
- Diminuer cette option pour déplacer la couture de l'épaule vers l'arrière sur le col
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/shoulderease/fr.md b/markdown/org/docs/patterns/yuri/options/shoulderease/fr.md
index 7c4873ba61a..9faaefa4f2b 100644
--- a/markdown/org/docs/patterns/yuri/options/shoulderease/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/shoulderease/fr.md
@@ -6,6 +6,6 @@ ContrΓ΄le l'aisance sur la mesure Γ©paule Γ Γ©paule.
Cette option vous permet de crΓ©er une aisance supplΓ©mentaire entre les Γ©paules, ce qui dΓ©place la couture d'Γ©paule vers l'extΓ©rieur et vers l'Γ©paule. Ceci permet de crΓ©er de l'aisance si l'on veut porter un autre vΓͺtement en dessous, ou si on prΓ©voit des Γ©paules rembourrΓ©es sur le modΓ¨le.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/shoulderslopereduction/fr.md b/markdown/org/docs/patterns/yuri/options/shoulderslopereduction/fr.md
index 9280dc9a9b6..95fa39320a7 100644
--- a/markdown/org/docs/patterns/yuri/options/shoulderslopereduction/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/shoulderslopereduction/fr.md
@@ -4,6 +4,6 @@ title: Shoulder slope reduction
The amount by which the shoulder slope is reduced to allow for shoulder padding.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapbackfactorx/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapbackfactorx/fr.md
index ae796152735..2c423b98fd4 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapbackfactorx/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapbackfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapbackfactory/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapbackfactory/fr.md
index 326976eba45..abedd917e31 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapbackfactory/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapbackfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le patron
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapease/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapease/fr.md
index 324baa90ce4..8fac0849cfe 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapease/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapease/fr.md
@@ -15,4 +15,4 @@ Pour les tissus lΓ©gers ou la maille, on n'ajoute pas d'aisance de tΓͺte de manc
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapfrontfactorx/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapfrontfactorx/fr.md
index a191ed16414..6d0b85b9774 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapfrontfactorx/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapfrontfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapfrontfactory/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapfrontfactory/fr.md
index e3f0421caa2..e8d9a571663 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapfrontfactory/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapfrontfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapq1offset/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapq1offset/fr.md
index 619063fccae..4a6662c9e56 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapq1offset/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapq1offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapq1spread1/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapq1spread1/fr.md
index 708e8550f74..4b370628bb8 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapq1spread1/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapq1spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapq1spread2/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapq1spread2/fr.md
index 02a2e73aa26..6450203e051 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapq1spread2/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapq1spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapq2offset/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapq2offset/fr.md
index ee3d29d8c95..0de25c16e09 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapq2offset/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapq2offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapq2spread1/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapq2spread1/fr.md
index a6206fa8d5d..18a52860e2c 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapq2spread1/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapq2spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapq2spread2/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapq2spread2/fr.md
index 144b2ff2960..6eb4545dbf6 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapq2spread2/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapq2spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapq3offset/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapq3offset/fr.md
index a5fb4d1e675..c6e0c154fdd 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapq3offset/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapq3offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapq3spread1/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapq3spread1/fr.md
index cabee6105d1..a308cf47026 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapq3spread1/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapq3spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapq3spread2/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapq3spread2/fr.md
index 8d1cf41291e..d90bbf04963 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapq3spread2/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapq3spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapq4offset/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapq4offset/fr.md
index ce06fcd5f60..d48f392dad3 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapq4offset/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapq4offset/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapq4spread1/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapq4spread1/fr.md
index 8c8f2cd43b7..6fbdd31fafe 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapq4spread1/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapq4spread1/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecapq4spread2/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecapq4spread2/fr.md
index a92f7bf32db..54f0ce3188d 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecapq4spread2/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecapq4spread2/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecaptopfactorx/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecaptopfactorx/fr.md
index 7a50210360f..1781732da7e 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecaptopfactorx/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecaptopfactorx/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevecaptopfactory/fr.md b/markdown/org/docs/patterns/yuri/options/sleevecaptopfactory/fr.md
index a4a3b452f4f..c12545ba4d7 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevecaptopfactory/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevecaptopfactory/fr.md
@@ -14,4 +14,4 @@ Voir [comprendre la tΓͺte de manche](/docs/patterns/brian/options#understanding-
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevelengthbonus/fr.md b/markdown/org/docs/patterns/yuri/options/sleevelengthbonus/fr.md
index cd43ac3d04f..1f4effda29e 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevelengthbonus/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevelengthbonus/fr.md
@@ -4,6 +4,6 @@ title: "Sleeve length bonus"
Cette option contrΓ΄le la longueur des manches.
-## Effect of this option on the pattern
+## Effet de cette option sur le modèle
-
+
diff --git a/markdown/org/docs/patterns/yuri/options/sleevewidthguarantee/fr.md b/markdown/org/docs/patterns/yuri/options/sleevewidthguarantee/fr.md
index c720b169823..9d2abe78390 100644
--- a/markdown/org/docs/patterns/yuri/options/sleevewidthguarantee/fr.md
+++ b/markdown/org/docs/patterns/yuri/options/sleevewidthguarantee/fr.md
@@ -12,4 +12,4 @@ Mais pour Γ©viter que la manche ne devienne trop Γ©troite, on n'adapte la largeu
## Effet de cette option sur le motif
-
+
diff --git a/markdown/org/docs/various/notation/bartack/de.md b/markdown/org/docs/various/notation/bartack/de.md
new file mode 100644
index 00000000000..da424eee3d5
--- /dev/null
+++ b/markdown/org/docs/various/notation/bartack/de.md
@@ -0,0 +1,12 @@
+---
+title: Bartacks
+---
+
+A bartack is a stitch of varying size and length used to reinforce fabric. It is often used on the edges of seams such as at a pocket or fly opening.
+
+
+
diff --git a/markdown/org/docs/various/notation/bartack/en.md b/markdown/org/docs/various/notation/bartack/en.md
new file mode 100644
index 00000000000..da424eee3d5
--- /dev/null
+++ b/markdown/org/docs/various/notation/bartack/en.md
@@ -0,0 +1,12 @@
+---
+title: Bartacks
+---
+
+A bartack is a stitch of varying size and length used to reinforce fabric. It is often used on the edges of seams such as at a pocket or fly opening.
+
+
+
diff --git a/markdown/org/docs/various/notation/bartack/es.md b/markdown/org/docs/various/notation/bartack/es.md
new file mode 100644
index 00000000000..da424eee3d5
--- /dev/null
+++ b/markdown/org/docs/various/notation/bartack/es.md
@@ -0,0 +1,12 @@
+---
+title: Bartacks
+---
+
+A bartack is a stitch of varying size and length used to reinforce fabric. It is often used on the edges of seams such as at a pocket or fly opening.
+
+
+
diff --git a/markdown/org/docs/various/notation/bartack/fr.md b/markdown/org/docs/various/notation/bartack/fr.md
new file mode 100644
index 00000000000..20a8db753c3
--- /dev/null
+++ b/markdown/org/docs/various/notation/bartack/fr.md
@@ -0,0 +1,12 @@
+---
+title: Point d'arrΓͺt
+---
+
+Un point d'arrΓͺt est un point de taille et de longueur variables utilisΓ© pour renforcer le tissu. Il est souvent utilisΓ© sur les bords des coutures, par exemple au niveau d'une poche ou de l'ouverture d'une braguette.
+
+
+
diff --git a/markdown/org/docs/various/notation/bartack/nl.md b/markdown/org/docs/various/notation/bartack/nl.md
new file mode 100644
index 00000000000..da424eee3d5
--- /dev/null
+++ b/markdown/org/docs/various/notation/bartack/nl.md
@@ -0,0 +1,12 @@
+---
+title: Bartacks
+---
+
+A bartack is a stitch of varying size and length used to reinforce fabric. It is often used on the edges of seams such as at a pocket or fly opening.
+
+
+
diff --git a/markdown/org/docs/various/notation/bartack/uk.md b/markdown/org/docs/various/notation/bartack/uk.md
new file mode 100644
index 00000000000..da424eee3d5
--- /dev/null
+++ b/markdown/org/docs/various/notation/bartack/uk.md
@@ -0,0 +1,12 @@
+---
+title: Bartacks
+---
+
+A bartack is a stitch of varying size and length used to reinforce fabric. It is often used on the edges of seams such as at a pocket or fly opening.
+
+
+
diff --git a/packages/core/README.md b/packages/core/README.md
index b22b585f166..52bc9862731 100644
--- a/packages/core/README.md
+++ b/packages/core/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/packages/core/package.json b/packages/core/package.json
index d9aab620d00..5f3864b466a 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -59,9 +59,9 @@
"lodash.clonedeep": "^4.5.0"
},
"devDependencies": {
- "eslint": "8.37.0",
+ "eslint": "8.38.0",
"nyc": "15.1.0",
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0",
"sinon": "^15.0.1"
},
diff --git a/packages/core/src/path.mjs b/packages/core/src/path.mjs
index 8f4df2f284d..6783b5b57f4 100644
--- a/packages/core/src/path.mjs
+++ b/packages/core/src/path.mjs
@@ -192,7 +192,8 @@ Path.prototype.clean = function () {
if (ops.length < this.ops.length) this.ops = ops
- return this
+ // A path with not drawing operations or only a move is not path at all
+ return ops.length === 0 || (ops.length === 1 && ops[0].type === 'move') ? false : this
}
/**
@@ -490,7 +491,7 @@ Path.prototype.intersectsY = function (y) {
Path.prototype.join = function (that, closed = false) {
if (that instanceof Path !== true)
this.log.error('Called `Path.join(that)` but `that` is not a `Path` object')
- return __joinPaths([this, that], closed, this.log)
+ return __joinPaths([this, that], closed)
}
/**
@@ -572,7 +573,7 @@ Path.prototype.noop = function (id = false) {
Path.prototype.offset = function (distance) {
distance = __asNumber(distance, 'distance', 'Path.offset', this.log)
- return __pathOffset(this, distance, this.log)
+ return __pathOffset(this, distance)
}
/**
@@ -843,8 +844,8 @@ Path.prototype.split = function (point) {
}
}
}
- if (firstHalf.length > 0) firstHalf = __joinPaths(firstHalf, false, this.log)
- if (secondHalf.length > 0) secondHalf = __joinPaths(secondHalf, false, this.log)
+ if (firstHalf.length > 0) firstHalf = __joinPaths(firstHalf, false)
+ if (secondHalf.length > 0) secondHalf = __joinPaths(secondHalf, false)
return [firstHalf, secondHalf]
}
@@ -930,9 +931,9 @@ Path.prototype.trim = function () {
first = false
}
let joint
- if (trimmedStart.length > 0) joint = __joinPaths(trimmedStart, false, this.log).join(glue)
+ if (trimmedStart.length > 0) joint = __joinPaths(trimmedStart, false).join(glue)
else joint = glue
- if (trimmedEnd.length > 0) joint = joint.join(__joinPaths(trimmedEnd, false, this.log))
+ if (trimmedEnd.length > 0) joint = joint.join(__joinPaths(trimmedEnd, false))
return joint.trim()
}
@@ -1280,10 +1281,9 @@ function __offsetLine(from, to, distance, log = false) {
* @private
* @param {Path} path - The Path to offset
* @param {float} distance - The distance to offset by
- * @param {object} log - The log methods
* @return {Path} offsetted - The offsetted Path instance
*/
-function __pathOffset(path, distance, log) {
+function __pathOffset(path, distance) {
let offset = []
let current
let start = false
@@ -1311,13 +1311,16 @@ function __pathOffset(path, distance, log) {
{ x: cp2.x, y: cp2.y },
{ x: op.to.x, y: op.to.y }
)
- for (let bezier of b.offset(distance)) offset.push(__asPath(bezier, path.log))
+ for (let bezier of b.offset(distance)) {
+ const segment = __asPath(bezier, path.log)
+ if (segment) offset.push(segment)
+ }
} else if (op.type === 'close') closed = true
if (op.to) current = op.to
if (!start) start = current
}
- return __joinPaths(offset, closed, log)
+ return __joinPaths(offset, closed)
}
/**
diff --git a/packages/core/src/pattern.mjs b/packages/core/src/pattern.mjs
index 126d3997d65..d4d881d500d 100644
--- a/packages/core/src/pattern.mjs
+++ b/packages/core/src/pattern.mjs
@@ -220,7 +220,7 @@ Pattern.prototype.getRenderProps = function () {
...set[p].asProps(),
store: this.setStores[set[p].set],
}
- } else if (this.setStores[set?.set]) {
+ } else if (this.setStores[set.set]) {
this.setStores[set.set].log.info(
`Part${p} is hidden in set ${set.set}. Not adding to render props`
)
@@ -387,7 +387,7 @@ Pattern.prototype.__applySettings = function (sets) {
if (!Array.isArray(sets)) throw 'Sets should be an array of settings objects'
if (sets.length === 0) sets.push({}) // Required to load default settings
this.settings = []
- for (const i in sets) {
+ for (let i = 0; i < sets.length; i++) {
// Don't mutate the input itself
const set = { ...sets[i] }
if (!set.options) set.options = {}
diff --git a/packages/i18n/README.md b/packages/i18n/README.md
index 4d1a4c60970..d09ec59bb14 100644
--- a/packages/i18n/README.md
+++ b/packages/i18n/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/packages/i18n/src/locales/fr/app.yaml b/packages/i18n/src/locales/fr/app.yaml
index 5f3957e707b..8ab3d1562e4 100644
--- a/packages/i18n/src/locales/fr/app.yaml
+++ b/packages/i18n/src/locales/fr/app.yaml
@@ -344,5 +344,5 @@ lgbtqTheme: Thème LGBTQ
transTheme: Thème Trans
accessoryDesigns: Conception d'accessoires
blockDesigns: Block/Sloper Designs
-garmentDesigns: Garment Designs
+garmentDesigns: Conception de vΓͺtements
utilityDesigns: Utility Designs
diff --git a/packages/i18n/src/locales/fr/options/bella.yml b/packages/i18n/src/locales/fr/options/bella.yml
index a4e59bda3dd..9c1ebd6bb6f 100644
--- a/packages/i18n/src/locales/fr/options/bella.yml
+++ b/packages/i18n/src/locales/fr/options/bella.yml
@@ -9,8 +9,8 @@ bustSpanEase:
title: Aisance de l'Γ©cart poitrine
description: ContrΓ΄le la quantitΓ© d'aisance (horizontale) ajoutΓ©e Γ votre poitrine entre les 2 pointes de la poitrine.
shoulderToShoulderEase:
- title: Shoulder to Shoulder ease
- description: Controls the amount of ease between your shoulders. Initially set to -.5% because Bella implements a block that is used in the industry.
+ title: Aisance d'Γ©paule Γ Γ©paule
+ description: ContrΓ΄le la quantitΓ© d'aisance entre vos Γ©paules. Initialement rΓ©glΓ© sur -.5% parce que Bella implΓ©mente un bloc qui est utilisΓ© dans l'industrie.
fullChestEaseReduction:
title: RΓ©duction de l'aisance de la poitrine
description: Vous permet de rΓ©duire l'aisance de la poitrine indΓ©pendamment pour rendre plus seyant cette zone
diff --git a/packages/i18n/src/locales/fr/options/hi.yml b/packages/i18n/src/locales/fr/options/hi.yml
index 534814fca5c..4d43c7add50 100644
--- a/packages/i18n/src/locales/fr/options/hi.yml
+++ b/packages/i18n/src/locales/fr/options/hi.yml
@@ -1,11 +1,11 @@
hungry:
- title: Hungry
+ title: AffamΓ©
description: Changes the mouth shape to convey Hi is hungry
nosePointiness:
title: Nose pointiness
description: Controls how pointy Hi's nose is
aggressive:
- title: Aggressive
+ title: Agressif
description: Give Hi pointy teeth, or not
size:
title: Size
diff --git a/packages/i18n/src/locales/fr/options/lucy.yml b/packages/i18n/src/locales/fr/options/lucy.yml
index da6e912ffd1..5618b9461aa 100644
--- a/packages/i18n/src/locales/fr/options/lucy.yml
+++ b/packages/i18n/src/locales/fr/options/lucy.yml
@@ -2,7 +2,7 @@ width:
title: Width
description: Width of the pocket
length:
- title: Length
+ title: Longueur
description: Length (depth) of the pocket
edge:
title: Taper
diff --git a/packages/i18n/src/locales/fr/options/simone.yml b/packages/i18n/src/locales/fr/options/simone.yml
index 04176b21f7d..4330e83d16a 100644
--- a/packages/i18n/src/locales/fr/options/simone.yml
+++ b/packages/i18n/src/locales/fr/options/simone.yml
@@ -5,7 +5,7 @@ bustAlignedButtons:
options:
even: Even spacing
split: Split spacing
- disabled: Disabled
+ disabled: DΓ©sactivΓ©
bustDartAngle:
title: Angle des pinces poitrine
description: ContrΓ΄le l'angle par lequel la pince poitrine (sur le cΓ΄tΓ©) s'incline vers le bas
diff --git a/packages/i18n/src/locales/fr/options/waralee.yml b/packages/i18n/src/locales/fr/options/waralee.yml
index 22aa5ce560b..257239896d8 100644
--- a/packages/i18n/src/locales/fr/options/waralee.yml
+++ b/packages/i18n/src/locales/fr/options/waralee.yml
@@ -6,11 +6,11 @@ frontPocket:
title: Poche avant
description: Inclure ou non des poches avant
hemWidth:
- title: Hem size
- description: Size of the hem at the bottom of the pants
+ title: Taille des ourlets
+ description: Taille de l'ourlet au bas du pantalon
waistbandWidth:
- title: Waist Band
- description: Size of the waist band
+ title: Bande de taille
+ description: Taille de la bande de taille
waistRaise:
title: Hauteur de taille
description: Combien il faut Γ©lever la taille de la mesure de hauteur d'assise, ce qui influence la profondeur de la coupe de l'entre-jambe.
diff --git a/packages/i18n/src/locales/fr/patterns.yml b/packages/i18n/src/locales/fr/patterns.yml
index 52533df0763..44a7b311ff4 100644
--- a/packages/i18n/src/locales/fr/patterns.yml
+++ b/packages/i18n/src/locales/fr/patterns.yml
@@ -18,8 +18,8 @@ bent:
description: Ce bloc d'emmanchure en deux parties est la base de nos modèles de manteau et de veste.
title: Patron de base Bent
bob:
- description: This is the bib that you can create by following our design tutorial
- title: Bob the bib
+ description: Voici le bavoir que vous pouvez crΓ©er en suivant notre tutoriel de design
+ title: Bob le bavoir
breanna:
description: Breanna est un bloc corporel de base pour les personnes qui ont un sein.
title: Haut Breanna
@@ -54,8 +54,8 @@ florence:
description: 'Florence est un masque facial.'
title: Masque Florence
hi:
- description: The world's friendliest shark
- title: Hi the shark
+ description: Le requin le plus amical du monde
+ title: Bonjour le requin
holmes:
description: 'Pour un cosplay Sherlock Holmes, ou juste un joli manteau.'
title: Casquette de dΓ©tective Holmes
@@ -72,17 +72,17 @@ jaeger:
description: Jaeger est une veste de sport de style manteau avec deux boutons et des poches plaquΓ©es.
title: Veste Jaeger
lucy:
- description: Lucy is a historical pocket that you can tie around your waist.
- title: Lucy tie-on pocket
+ description: Lucy est une poche historique que vous pouvez nouer autour de votre taille.
+ title: Pochette Γ nouer Lucy
lunetius:
description: Lunetius est une lacerne, un manteau romain historique
title: Lacerne Lunetius
noble:
- description: Noble is a body block with prince(ess) seams
- title: Noble body block
+ description: Noble est un bloc de corps avec des coutures prince(sse)
+ title: Bloc du corps Noble
octoplushy:
- description: A multi-armed companion for next-level hugs
- title: Octoplushy the octopus
+ description: Un compagnon Γ plusieurs bras pour des cΓ’lins de haut niveau
+ title: Octoplushy la pieuvre
paco:
description: Paco est un pantalon d'Γ©tΓ© dΓ©contractΓ© mais Γ©lΓ©gant.
title: Pantalon Paco
@@ -123,8 +123,8 @@ trayvon:
description: Trayvon est une cravate qui ne fait pas d'Γ©conomies pour un rΓ©sultat professionnel.
title: Cravate Trayvon
unice:
- description: Unice is a variant of Ursula; A basic, highly-customizable underwear pattern.
- title: Unice undies
+ description: Unice est une variante d'Ursula ; un modΓ¨le de sous-vΓͺtements basique et hautement personnalisable.
+ title: Sous-vΓͺtements Unice
ursula:
description: Ursula est un motif basique et hautement personnalisable.
title: UnitΓ©s d'Ursula
diff --git a/packages/i18n/src/locales/fr/settings.yml b/packages/i18n/src/locales/fr/settings.yml
index 319eb13572b..7fa1115c923 100644
--- a/packages/i18n/src/locales/fr/settings.yml
+++ b/packages/i18n/src/locales/fr/settings.yml
@@ -6,10 +6,10 @@ paperless:
title: Sans papier
description: Dessine un patron avec toutes les dimensions incluses afin que vous puissiez le transfΓ©rer sur du tissu ou un autre support sans avoir Γ imprimer
sabool:
- title: Include seam allowance
- description: Controls whether or not to include seam allowance in your pattern
+ title: Inclure la marge de couture
+ description: ContrΓ΄le l'inclusion ou non de la marge de couture dans le patron
sa:
- title: Seam allowance size
+ title: Taille de la marge de couture
description: ContrΓ΄le la valeur de la marge de couture incluse dans votre patron
locale:
title: Langue
diff --git a/packages/i18n/src/locales/fr/susi.yaml b/packages/i18n/src/locales/fr/susi.yaml
index 6ea2f107660..6a1a28b8321 100644
--- a/packages/i18n/src/locales/fr/susi.yaml
+++ b/packages/i18n/src/locales/fr/susi.yaml
@@ -1,16 +1,16 @@
-joinFreeSewing: Join FreeSewing
-toReceiveSignupLink: To receive a signup link, enter your email address
-emailAddress: Email address
-pleaseProvideValidEmail: Please provide a valid email address
-emailSignupLink: Email me a signup link
-alreadyHaveAnAccount: Already have an account?
-dontHaveAnAccount: Don't have an account yet?
-signIn: Sign in
-signInHere: Sign in here
-signUpHere: Sign up here
-emailUsernameId: Email address, username, or user ID
-welcomeName: 'Welcome { name }'
-password: Password
-processing: Processing
-emailSent: Email sent
-somethingWentWrong: Something went wrong
+joinFreeSewing: Rejoignez FreeSewing
+toReceiveSignupLink: Pour recevoir un lien d'inscription, entrez votre adresse e-mail
+emailAddress: Adresse E-mail
+pleaseProvideValidEmail: Veuillez fournir une adresse e-mail valide
+emailSignupLink: Envoyez-moi un lien d'inscription par e-mail
+alreadyHaveAnAccount: Vous avez dΓ©jΓ un compte?
+dontHaveAnAccount: Vous n'avez pas encore de compte ?
+signIn: Connexion
+signInHere: Connectez-vous ici
+signUpHere: Inscrivez-vous ici
+emailUsernameId: Adresse e-mail, nom d'utilisateur ou identifiant de l'utilisateur
+welcomeName: 'Bienvenue { name }'
+password: Mot de passe
+processing: Traitement en cours
+emailSent: Le courriel a Γ©tΓ© envoyΓ©
+somethingWentWrong: Quelque chose s'est mal passΓ©
diff --git a/packages/models/README.md b/packages/models/README.md
index 24cd6363925..6eab38040ef 100644
--- a/packages/models/README.md
+++ b/packages/models/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/packages/new-design/README.md b/packages/new-design/README.md
index fa3bdef0217..79de3771f92 100644
--- a/packages/new-design/README.md
+++ b/packages/new-design/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/packages/new-design/package.json b/packages/new-design/package.json
index 27367e8c65e..ff40f08f9cc 100644
--- a/packages/new-design/package.json
+++ b/packages/new-design/package.json
@@ -32,7 +32,7 @@
},
"peerDependencies": {},
"dependencies": {
- "axios": "1.3.4",
+ "axios": "1.3.5",
"chalk": "5.0.1",
"execa": "7.1.1",
"mustache": "4.2.0",
diff --git a/packages/prettier-config/README.md b/packages/prettier-config/README.md
index 8782e9e3fdd..be112c61739 100644
--- a/packages/prettier-config/README.md
+++ b/packages/prettier-config/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/packages/rehype-highlight-lines/README.md b/packages/rehype-highlight-lines/README.md
index 630de2b18d6..44edeb0e227 100644
--- a/packages/rehype-highlight-lines/README.md
+++ b/packages/rehype-highlight-lines/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/packages/rehype-jargon/README.md b/packages/rehype-jargon/README.md
index 859697fc5fe..0812e9b777a 100644
--- a/packages/rehype-jargon/README.md
+++ b/packages/rehype-jargon/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/packages/snapseries/README.md b/packages/snapseries/README.md
index 4cff8bc452b..db834bfec0c 100644
--- a/packages/snapseries/README.md
+++ b/packages/snapseries/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-annotations/CHANGELOG.md b/plugins/plugin-annotations/CHANGELOG.md
new file mode 100644
index 00000000000..44601391009
--- /dev/null
+++ b/plugins/plugin-annotations/CHANGELOG.md
@@ -0,0 +1,9 @@
+# Change log for: @freesewing/plugin-annotations
+
+
+
+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/plugins/plugin-bartack/README.md b/plugins/plugin-annotations/README.md
similarity index 96%
rename from plugins/plugin-bartack/README.md
rename to plugins/plugin-annotations/README.md
index bec25e8bd5f..8d6fe7910b3 100644
--- a/plugins/plugin-bartack/README.md
+++ b/plugins/plugin-annotations/README.md
@@ -1,13 +1,13 @@

+ href="https://www.npmjs.com/package/@freesewing/plugin-annotations"
+ title="@freesewing/plugin-annotations on NPM"
+ >

+ href="https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Apkg%3Aplugin-annotations"
+ title="Open issues tagged pkg:plugin-annotations"
+ >

-# @freesewing/plugin-bartack
+# @freesewing/plugin-annotations
-A FreeSewing plugin to add bartacks to your pattern
+A FreeSewing plugin that provides pattern annotations
@@ -65,7 +65,7 @@ A FreeSewing plugin to add bartacks to your pattern
This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites.
-This folder holds: @freesewing/plugin-bartack
+This folder holds: @freesewing/plugin-annotations
If you're not entirely sure what to do or how to start, type this command:
@@ -172,116 +172,120 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
 Chantal Lapointe π |
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-bartack/build.mjs b/plugins/plugin-annotations/build.mjs
similarity index 100%
rename from plugins/plugin-bartack/build.mjs
rename to plugins/plugin-annotations/build.mjs
diff --git a/plugins/plugin-banner/data.mjs b/plugins/plugin-annotations/data.mjs
similarity index 74%
rename from plugins/plugin-banner/data.mjs
rename to plugins/plugin-annotations/data.mjs
index 1c1881fec6b..c25312512fd 100644
--- a/plugins/plugin-banner/data.mjs
+++ b/plugins/plugin-annotations/data.mjs
@@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten.
-export const name = '@freesewing/plugin-banner'
+export const name = '@freesewing/plugin-annotations'
export const version = '3.0.0-alpha.8'
export const data = { name, version }
diff --git a/plugins/plugin-scalebox/package.json b/plugins/plugin-annotations/package.json
similarity index 92%
rename from plugins/plugin-scalebox/package.json
rename to plugins/plugin-annotations/package.json
index f0bb771f084..7d1daf38559 100644
--- a/plugins/plugin-scalebox/package.json
+++ b/plugins/plugin-annotations/package.json
@@ -1,7 +1,7 @@
{
- "name": "@freesewing/plugin-scalebox",
+ "name": "@freesewing/plugin-annotations",
"version": "3.0.0-alpha.8",
- "description": "A FreeSewing plugin to add a scalebox to your pattern",
+ "description": "A FreeSewing plugin that provides pattern annotations",
"author": "Joost De Cock (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/",
"repository": "github:freesewing/freesewing",
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-annotations/src/banner.mjs b/plugins/plugin-annotations/src/banner.mjs
new file mode 100644
index 00000000000..48ca655a468
--- /dev/null
+++ b/plugins/plugin-annotations/src/banner.mjs
@@ -0,0 +1,19 @@
+// Export macros
+export const bannerMacros = {
+ banner: function (so) {
+ // Mix defaults with settings object
+ so = {
+ text: '',
+ dy: -1,
+ spaces: 12,
+ repeat: 10,
+ className: '',
+ ...so,
+ }
+ so.path.attr('data-text-dy', so.dy).attr('data-text-class', `${so.className} center`)
+ const spacer = ' '.repeat(so.spaces)
+ let banner = spacer
+ for (let i = 0; i < so.repeat; i++) banner += so.text + ' '.repeat(so.spaces)
+ so.path.attr('data-text', banner)
+ },
+}
diff --git a/plugins/plugin-annotations/src/bannerbox.mjs b/plugins/plugin-annotations/src/bannerbox.mjs
new file mode 100644
index 00000000000..4ddbbb21a88
--- /dev/null
+++ b/plugins/plugin-annotations/src/bannerbox.mjs
@@ -0,0 +1,37 @@
+// Export macros
+export const bannerboxMacros = {
+ bannerbox: function (so, { Point, paths, Path, getId, macro }) {
+ // Spread so settings into defaults
+ so = {
+ topLeft: new Point(0, 0),
+ bottomRight: new Point(100, 100),
+ text: '',
+ margin: 15,
+ textClassName: 'text-xs fill-note',
+ boxClassName: 'stroke-xs stroke-note lashed',
+ dy: 4,
+ spaces: 12,
+ repeat: 10,
+ ...so,
+ }
+ const offset = Math.sqrt(2 * Math.pow(so.margin, 2))
+
+ const id = getId()
+ paths[id] = new Path()
+ .move(so.topLeft.shift(135, offset))
+ .line(new Point(so.bottomRight.x, so.topLeft.y).shift(45, offset))
+ .line(so.bottomRight.shift(315, offset))
+ .line(new Point(so.topLeft.x, so.bottomRight.y).shift(225, offset))
+ .line(so.topLeft.shift(135, offset))
+ .close()
+ .addClass(so.boxClassName)
+
+ macro('banner', {
+ path: paths[id],
+ text: so.text,
+ className: so.textClassName,
+ repeat: 99,
+ dy: 4,
+ })
+ },
+}
diff --git a/plugins/plugin-bartack/src/index.mjs b/plugins/plugin-annotations/src/bartack.mjs
similarity index 77%
rename from plugins/plugin-bartack/src/index.mjs
rename to plugins/plugin-annotations/src/bartack.mjs
index 847199c40ab..08348779166 100644
--- a/plugins/plugin-bartack/src/index.mjs
+++ b/plugins/plugin-annotations/src/bartack.mjs
@@ -1,5 +1,3 @@
-import { version, name } from '../data.mjs'
-
// Method that draws the actual bartack
const drawBartack = (pointList, { Path }) => {
let path = new Path().move(pointList.path1[0])
@@ -41,7 +39,7 @@ const getPoints = (path, so) => {
const bartackPath = (path, so, props) => (path ? drawBartack(getPoints(path, so), props) : null)
-function bartack(so, props) {
+function createBartack(so, props) {
const defaults = {
width: 3,
length: 15,
@@ -102,33 +100,25 @@ function bartack(so, props) {
return true
}
-// The actual plugin
-export const plugin = {
- name,
- version,
- macros: {
- bartack: function (so, props) {
- return bartack(so, props)
- },
- bartackAlong: function (so, props) {
- so.bartackFractionAlong = false
- so.bartackAlong = true
- so.anchor = false
- so.from = false
- so.to = false
- return bartack(so, props)
- },
- bartackFractionAlong: function (so, props) {
- so.bartackFractionAlong = true
- so.bartackAlong = false
- so.anchor = false
- so.from = false
- so.to = false
- return bartack(so, props)
- },
+// Export macros
+export const bartackMacros = {
+ bartack: function (so, props) {
+ return createBartack(so, props)
+ },
+ bartackAlong: function (so, props) {
+ so.bartackFractionAlong = false
+ so.bartackAlong = true
+ so.anchor = false
+ so.from = false
+ so.to = false
+ return createBartack(so, props)
+ },
+ bartackFractionAlong: function (so, props) {
+ so.bartackFractionAlong = true
+ so.bartackAlong = false
+ so.anchor = false
+ so.from = false
+ so.to = false
+ return createBartack(so, props)
},
}
-
-// More specifically named exports
-export const bartackPlugin = plugin
-export const pluginBartack = plugin
diff --git a/plugins/plugin-buttons/src/index.mjs b/plugins/plugin-annotations/src/buttons.mjs
similarity index 88%
rename from plugins/plugin-buttons/src/index.mjs
rename to plugins/plugin-annotations/src/buttons.mjs
index 1e552b10175..e49f78c36c4 100644
--- a/plugins/plugin-buttons/src/index.mjs
+++ b/plugins/plugin-annotations/src/buttons.mjs
@@ -1,5 +1,3 @@
-import { name, version } from '../data.mjs'
-
const defs = [
// button
`
@@ -65,18 +63,13 @@ const defs = [
`,
]
-export const plugin = {
- name,
- version,
- hooks: {
- preRender: function (svg) {
+// Export hooks
+export const buttonsHooks = {
+ preRender: [
+ function (svg) {
for (const def of defs) {
if (svg.defs.indexOf(def) === -1) svg.defs += def
}
},
- },
+ ],
}
-
-// More specifically named exports
-export const buttonsPlugin = plugin
-export const pluginButtons = plugin
diff --git a/plugins/plugin-annotations/src/crossbox.mjs b/plugins/plugin-annotations/src/crossbox.mjs
new file mode 100644
index 00000000000..1a99225e331
--- /dev/null
+++ b/plugins/plugin-annotations/src/crossbox.mjs
@@ -0,0 +1,53 @@
+// Export macros
+export const crossboxMacros = {
+ crossbox: function (so, { points, Point, paths, Path, getId }) {
+ let id = getId()
+ let shiftFraction = 0.1
+ points[id + '_boxTopLeft'] = so.from.copy()
+ points[id + '_boxBottomRight'] = so.to.copy()
+ points[id + '_boxTopRight'] = new Point(so.to.x, so.from.y)
+ points[id + '_boxBottomLeft'] = new Point(so.from.x, so.to.y)
+
+ points[id + '_topCrossTL'] = points[id + '_boxTopLeft'].shiftFractionTowards(
+ points[id + '_boxBottomRight'],
+ shiftFraction
+ )
+ points[id + '_topCrossTR'] = points[id + '_boxTopRight'].shiftFractionTowards(
+ points[id + '_boxBottomLeft'],
+ shiftFraction
+ )
+ points[id + '_topCrossBL'] = points[id + '_boxBottomLeft'].shiftFractionTowards(
+ points[id + '_boxTopRight'],
+ shiftFraction
+ )
+ points[id + '_topCrossBR'] = points[id + '_boxBottomRight'].shiftFractionTowards(
+ points[id + '_boxTopLeft'],
+ shiftFraction
+ )
+
+ paths[id + 'crossBox'] = new Path()
+ .move(points[id + '_boxTopLeft'])
+ .line(points[id + '_boxTopRight'])
+ .line(points[id + '_boxBottomRight'])
+ .line(points[id + '_boxBottomLeft'])
+ .line(points[id + '_boxTopLeft'])
+ .close()
+ .attr('class', 'lining dotted stroke-sm')
+ paths[id + '_topCross'] = new Path()
+ .move(points[id + '_topCrossTL'])
+ .line(points[id + '_topCrossBR'])
+ .line(points[id + '_topCrossTR'])
+ .line(points[id + '_topCrossBL'])
+ .line(points[id + '_topCrossTL'])
+ .line(points[id + '_topCrossTR'])
+ .move(points[id + '_topCrossBR'])
+ .line(points[id + '_topCrossBL'])
+ .attr('class', 'lining dotted stroke-sm')
+ if (typeof so.text === 'string') {
+ points.textAnchor = points[id + '_boxTopLeft']
+ .shiftFractionTowards(points[id + '_boxBottomRight'], 0.5)
+ .attr('data-text', so.text)
+ .attr('data-text-class', 'center')
+ }
+ },
+}
diff --git a/plugins/plugin-annotations/src/cutonfold.mjs b/plugins/plugin-annotations/src/cutonfold.mjs
new file mode 100644
index 00000000000..e98ae2dd818
--- /dev/null
+++ b/plugins/plugin-annotations/src/cutonfold.mjs
@@ -0,0 +1,65 @@
+const markers = `
+
+
+
+
+
+
+`
+
+// Export hooks
+export const cutonfoldHooks = {
+ preRender: [
+ function (svg) {
+ if (svg.defs.indexOf(markers) === -1) svg.defs += markers
+ },
+ ],
+}
+// Export macros
+export const cutonfoldMacros = {
+ cutonfold: function (so, { points, paths, Path, complete, setCutOnFold, setGrain, scale }) {
+ if (so === false) {
+ delete points.cutonfoldFrom
+ delete points.cutonfoldTo
+ delete points.cutonfoldVia1
+ delete points.cutonfoldVia2
+ delete paths.cutonfold
+ // setCutOnFold relies on plugin-cutlist
+ if (typeof setCutOnFold === 'function') {
+ setCutOnFold(false) // Restore default
+ }
+ return true
+ }
+ so = {
+ offset: 15,
+ margin: 5,
+ prefix: 'cutonfold',
+ ...so,
+ }
+ if (typeof setCutOnFold === 'function') {
+ setCutOnFold(so.from, so.to)
+ if (so.grainline) setGrain(so.from.angle(so.to))
+ }
+ if (complete) {
+ points[so.prefix + 'From'] = so.from.shiftFractionTowards(so.to, so.margin / 100)
+ points[so.prefix + 'To'] = so.to.shiftFractionTowards(so.from, so.margin / 100)
+ points[so.prefix + 'Via1'] = points[so.prefix + 'From']
+ .shiftTowards(so.from, so.offset * scale)
+ .rotate(-90, points[so.prefix + 'From'])
+ points[so.prefix + 'Via2'] = points[so.prefix + 'To']
+ .shiftTowards(so.to, so.offset * scale)
+ .rotate(90, points[so.prefix + 'To'])
+ const text = so.grainline ? 'cutOnFoldAndGrainline' : 'cutOnFold'
+ paths[so.prefix + 'Cutonfold'] = new Path()
+ .move(points[so.prefix + 'From'])
+ .line(points[so.prefix + 'Via1'])
+ .line(points[so.prefix + 'Via2'])
+ .line(points[so.prefix + 'To'])
+ .attr('class', 'note')
+ .attr('marker-start', 'url(#cutonfoldFrom)')
+ .attr('marker-end', 'url(#cutonfoldTo)')
+ .attr('data-text', text)
+ .attr('data-text-class', 'center fill-note')
+ }
+ },
+}
diff --git a/plugins/plugin-annotations/src/dimensions.mjs b/plugins/plugin-annotations/src/dimensions.mjs
new file mode 100644
index 00000000000..52e777fc371
--- /dev/null
+++ b/plugins/plugin-annotations/src/dimensions.mjs
@@ -0,0 +1,157 @@
+const markers = `
+
+
+
+
+
+
+`
+const prefix = '__paperless'
+
+function drawDimension(from, to, so, { Path, units }) {
+ const dimension = new Path()
+ .move(from)
+ .line(to)
+ .attr('class', 'mark')
+ .attr('data-text', so.text || units(from.dist(to)))
+ .attr('data-text-class', 'fill-mark center')
+ if (!so.noStartMarker) dimension.attributes.set('marker-start', 'url(#dimensionFrom)')
+ if (!so.noEndMarker) dimension.attributes.set('marker-end', 'url(#dimensionTo)')
+
+ return dimension
+}
+
+function drawLeader({ paths, Path }, from, to, id) {
+ paths[id] = new Path().move(from).line(to).attr('class', 'mark dotted')
+}
+
+function hleader(so, type, props, id) {
+ const { Point } = props
+ let point
+ if (typeof so.y === 'undefined' || so[type].y === so.y) {
+ point = so[type]
+ } else {
+ point = new Point(so[type].x, so.y)
+ drawLeader(props, so[type], point, id)
+ }
+
+ return point
+}
+
+function vleader(so, type, props, id) {
+ const { Point } = props
+ let point
+ if (typeof so.x === 'undefined' || so[type].x === so.x) {
+ point = so[type]
+ } else {
+ point = new Point(so.x, so[type].y)
+ drawLeader(props, so[type], point, id)
+ }
+
+ return point
+}
+
+function lleader(so, type, props, id) {
+ let point, rot, other
+ if (type === 'from') {
+ rot = 1
+ other = 'to'
+ } else {
+ rot = -1
+ other = 'from'
+ }
+ if (typeof so.d === 'undefined') {
+ point = so[type]
+ } else {
+ point = so[type].shiftTowards(so[other], so.d).rotate(90 * rot, so[type])
+ drawLeader(props, so[type], point, id)
+ }
+
+ return point
+}
+
+// Export hooks and macros
+export const dimensionsHooks = {
+ preRender: [
+ function (svg) {
+ if (svg.defs.indexOf(markers) === -1) svg.defs += markers
+ },
+ ],
+}
+export const dimensionsMacros = {
+ // horizontal
+ hd: function (so, props) {
+ const { getId, paths } = props
+ const id = so.id || getId(prefix)
+ paths[id] = drawDimension(
+ hleader(so, 'from', props, id + '_ls'),
+ hleader(so, 'to', props, id + '_le'),
+ so,
+ props
+ )
+ },
+ // vertical
+ vd: function (so, props) {
+ const { getId, paths } = props
+ const id = so.id || getId(prefix)
+ paths[id] = drawDimension(
+ vleader(so, 'from', props, id + '_ls'),
+ vleader(so, 'to', props, id + '_le'),
+ so,
+ props
+ )
+ },
+ // linear
+ ld: function (so, props) {
+ const { getId, paths } = props
+ const id = so.id || getId(prefix)
+ paths[id] = drawDimension(
+ lleader(so, 'from', props, id + '_ls'),
+ lleader(so, 'to', props, id + '_le'),
+ so,
+ props
+ )
+ },
+ // path
+ pd: function (so, props) {
+ const { getId, paths, scale, units } = props
+ const id = so.id || getId(prefix)
+ if (typeof so.d === 'undefined') so.d = 10 * scale
+ const dimension = so.path
+ .offset(so.d)
+ .attr('class', 'mark')
+ .attr('data-text', so.text || units(so.path.length()))
+ .attr('data-text-class', 'fill-mark center')
+ if (!so.noStartMarker) dimension.attributes.set('marker-start', 'url(#dimensionFrom)')
+ if (!so.noEndMarker) dimension.attributes.set('marker-end', 'url(#dimensionTo)')
+ paths[id] = dimension
+ drawLeader(props, so.path.start(), dimension.start(), id + '_ls')
+ drawLeader(props, so.path.end(), dimension.end(), id + '_le')
+ },
+ // Remove dimension
+ rmd: function (so, props) {
+ const { paths } = props
+ if (paths[so.id]) delete this.paths[so.id]
+ if (paths[`${so.id}_ls`]) delete paths[`${so.id}_ls`]
+ if (paths[`${so.id}_le`]) delete paths[`${so.id}_le`]
+ if (Array.isArray(so.ids)) {
+ for (const id of so.ids) {
+ if (paths[id]) delete paths[id]
+ if (paths[`${id}_ls`]) delete paths[`${id}_ls`]
+ if (paths[`${id}_le`]) delete paths[`${id}_le`]
+ }
+ }
+ },
+ // Remove all dimensions (with standard prefix)
+ rmad: function (params, props) {
+ const toRemove = {
+ points: props.point,
+ paths: props.paths,
+ }
+ for (let type in toRemove) {
+ for (let id in props[type]) {
+ if (id.slice(0, prefix.length) === prefix) delete props[type][id]
+ }
+ }
+ },
+}
diff --git a/plugins/plugin-annotations/src/grainline.mjs b/plugins/plugin-annotations/src/grainline.mjs
new file mode 100644
index 00000000000..a2203925ae9
--- /dev/null
+++ b/plugins/plugin-annotations/src/grainline.mjs
@@ -0,0 +1,49 @@
+const markers = `
+
+
+
+
+
+`
+
+const dflts = { text: 'grainline' }
+
+// Export hooks and macros
+export const grainlineHooks = {
+ preRender: [
+ function (svg) {
+ if (svg.defs.indexOf(markers) === -1) svg.defs += markers
+ },
+ ],
+}
+export const grainlineMacros = {
+ grainline: function (so = {}, { points, paths, Path, complete, setGrain }) {
+ if (so === false) {
+ delete points.grainlineFrom
+ delete points.grainlineTo
+ delete paths.grainline
+ setGrain(90) // Restoring default
+ return true
+ }
+ so = {
+ ...dflts,
+ ...so,
+ }
+ // setGrain relies on plugin-cutlist
+ if (typeof setGrain === 'function') {
+ setGrain(so.from.angle(so.to))
+ }
+ if (complete) {
+ points.grainlineFrom = so.from.shiftFractionTowards(so.to, 0.05)
+ points.grainlineTo = so.to.shiftFractionTowards(so.from, 0.05)
+ paths.grainline = new Path()
+ .move(points.grainlineFrom)
+ .line(points.grainlineTo)
+ .attr('class', 'note')
+ .attr('marker-start', 'url(#grainlineFrom)')
+ .attr('marker-end', 'url(#grainlineTo)')
+ .attr('data-text', so.text)
+ .attr('data-text-class', 'center fill-note')
+ }
+ },
+}
diff --git a/plugins/plugin-annotations/src/index.mjs b/plugins/plugin-annotations/src/index.mjs
new file mode 100644
index 00000000000..6596c99ba06
--- /dev/null
+++ b/plugins/plugin-annotations/src/index.mjs
@@ -0,0 +1,51 @@
+import { name, version } from '../data.mjs'
+// Hooks only
+import { buttonsHooks } from './buttons.mjs'
+import { logoHooks } from './logo.mjs'
+import { notchesHooks } from './notches.mjs'
+// Macros only
+import { bannerMacros } from './banner.mjs'
+import { bannerboxMacros } from './bannerbox.mjs'
+import { bartackMacros } from './bartack.mjs'
+import { crossboxMacros } from './crossbox.mjs'
+import { scaleboxMacros } from './scalebox.mjs'
+import { titleMacros } from './title.mjs'
+// Hooks and Macros
+import { cutonfoldMacros, cutonfoldHooks } from './cutonfold.mjs'
+import { dimensionsMacros, dimensionsHooks } from './dimensions.mjs'
+import { grainlineMacros, grainlineHooks } from './grainline.mjs'
+import { pleatMacros, pleatHooks } from './pleat.mjs'
+import { sewtogetherMacros, sewtogetherHooks } from './sewtogether.mjs'
+
+export const plugin = {
+ name,
+ version,
+ hooks: {
+ preRender: [
+ ...buttonsHooks.preRender,
+ ...logoHooks.preRender,
+ ...notchesHooks.preRender,
+ ...cutonfoldHooks.preRender,
+ ...dimensionsHooks.preRender,
+ ...grainlineHooks.preRender,
+ ...pleatHooks.preRender,
+ ...sewtogetherHooks.preRender,
+ ],
+ },
+ macros: {
+ ...bannerMacros,
+ ...bannerboxMacros,
+ ...bartackMacros,
+ ...crossboxMacros,
+ ...scaleboxMacros,
+ ...cutonfoldMacros,
+ ...dimensionsMacros,
+ ...grainlineMacros,
+ ...pleatMacros,
+ ...sewtogetherMacros,
+ ...titleMacros,
+ },
+}
+
+export const annotationsPlugin = plugin
+export const pluginAnnotations = plugin
diff --git a/plugins/plugin-logo/src/index.mjs b/plugins/plugin-annotations/src/logo.mjs
similarity index 97%
rename from plugins/plugin-logo/src/index.mjs
rename to plugins/plugin-annotations/src/logo.mjs
index 1d2250741b9..92639ea4fe2 100644
--- a/plugins/plugin-logo/src/index.mjs
+++ b/plugins/plugin-annotations/src/logo.mjs
@@ -1,18 +1,11 @@
-import { name, version } from '../data.mjs'
-
const logo = (scale) =>
``
-export const plugin = {
- name,
- version,
- hooks: {
- preRender: (svg) => {
+// Export hooks
+export const logoHooks = {
+ preRender: [
+ function (svg) {
if (svg.defs.indexOf('id="logo"') === -1) svg.defs += logo(svg.pattern.settings[0].scale)
},
- },
+ ],
}
-
-// More specifically named exports
-export const logoPlugin = plugin
-export const pluginLogo = plugin
diff --git a/plugins/plugin-annotations/src/notches.mjs b/plugins/plugin-annotations/src/notches.mjs
new file mode 100644
index 00000000000..77764b38aa8
--- /dev/null
+++ b/plugins/plugin-annotations/src/notches.mjs
@@ -0,0 +1,18 @@
+const markers = `
+
+
+
+
+
+
+
+`
+
+// Export hooks
+export const notchesHooks = {
+ preRender: [
+ function (svg) {
+ if (svg.defs.indexOf(`id="notch"`) === -1) svg.defs += markers
+ },
+ ],
+}
diff --git a/plugins/plugin-annotations/src/pleat.mjs b/plugins/plugin-annotations/src/pleat.mjs
new file mode 100644
index 00000000000..0e37b1d85c0
--- /dev/null
+++ b/plugins/plugin-annotations/src/pleat.mjs
@@ -0,0 +1,71 @@
+const markers = `
+
+
+
+`
+
+// Export hooks
+export const pleatHooks = {
+ preRender: [
+ function (svg) {
+ if (svg.defs.indexOf(markers) === -1) svg.defs += markers
+ },
+ ],
+}
+
+// Export macros
+export const pleatMacros = {
+ pleat: function (so, { points, paths, Path, complete, scale }) {
+ if (so === false) {
+ delete points.pleatFrom
+ delete points.pleatFromIn
+ delete points.pleatTo
+ delete points.pleatToIn
+ delete paths.pleatTo
+ delete paths.pleatFrom
+ delete paths.pleatArrow
+ return true
+ }
+ so = {
+ margin: 35,
+ prefix: 'pleat',
+ reverse: false,
+ ...so,
+ }
+ if (complete) {
+ points[so.prefix + 'From'] = so.from
+ points[so.prefix + 'To'] = so.to
+ points[so.prefix + 'FromIn'] = points[so.prefix + 'From'].shift(
+ so.from.shiftTowards(so.to, 0.1).angle(so.from) + 270,
+ so.margin * scale
+ )
+ points[so.prefix + 'ToIn'] = points[so.prefix + 'To'].shift(
+ so.from.shiftTowards(so.to, 0.1).angle(so.to) + 90,
+ so.margin * scale
+ )
+ paths[so.prefix + 'PleatFrom'] = new Path()
+ .move(points[so.prefix + 'From'])
+ .line(points[so.prefix + 'FromIn'])
+ .attr('class', 'note' + (so.reverse ? ' dashed' : ''))
+ paths[so.prefix + 'PleatTo'] = new Path()
+ .move(points[so.prefix + 'To'])
+ .line(points[so.prefix + 'ToIn'])
+ .attr('class', 'note' + (so.reverse ? '' : ' dashed'))
+ paths[so.prefix + 'PleatArrow'] = new Path()
+ .move(
+ points[so.prefix + (so.reverse ? 'To' : 'From')].shiftFractionTowards(
+ points[so.prefix + (so.reverse ? 'ToIn' : 'FromIn')],
+ 0.25
+ )
+ )
+ .line(
+ points[so.prefix + (so.reverse ? 'From' : 'To')].shiftFractionTowards(
+ points[so.prefix + (so.reverse ? 'FromIn' : 'ToIn')],
+ 0.25
+ )
+ )
+ .attr('class', 'note')
+ .attr('marker-end', 'url(#pleatTo)')
+ }
+ },
+}
diff --git a/plugins/plugin-annotations/src/scalebox.mjs b/plugins/plugin-annotations/src/scalebox.mjs
new file mode 100644
index 00000000000..3c8278fd197
--- /dev/null
+++ b/plugins/plugin-annotations/src/scalebox.mjs
@@ -0,0 +1,282 @@
+// Export macros
+export const scaleboxMacros = {
+ scalebox: function (so, { store, points, paths, scale, Point, Path }) {
+ // Passing `false` will remove the scalebox
+ if (so === false) {
+ for (let id of [
+ '__scaleboxMetricTopLeft',
+ '__scaleboxMetricTopRight',
+ '__scaleboxMetricBottomRight',
+ '__scaleboxMetricBottomLeft',
+ '__scaleboxImperialTopLeft',
+ '__scaleboxImperialTopRight',
+ '__scaleboxImperialBottomRight',
+ '__scaleboxImperialBottomLeft',
+ '__scaleboxLead',
+ '__scaleboxTitle',
+ '__scaleboxText',
+ '__scaleboxLink',
+ '__scaleboxMetric',
+ '__scaleboxImperial',
+ ])
+ delete points[id]
+ for (let id of ['__scaleboxMetric', '__scaleboxImperial']) delete paths[id]
+ return true
+ }
+
+ // Convert scale to a value between 0 and 9, inclusive.
+ const scaleIndex = Math.round(10 * Math.max(0.1, Math.min(1, scale))) - 1
+
+ // Metric width and height in mm and display width and height for each scale index.
+ const metricSizes = [
+ [10, 5, '1cm', '0.5cm'],
+ [20, 10, '2cm', '1cm'],
+ [30, 15, '3cm', '1.5cm'],
+ [40, 20, '4cm', '2cm'],
+ [50, 25, '5cm', '2.5cm'],
+ [60, 30, '6cm', '3cm'],
+ [70, 35, '7cm', '3.5cm'],
+ [80, 40, '8cm', '4cm'],
+ [90, 45, '9cm', '4.5cm'],
+ [100, 50, '10cm', '5cm'],
+ ]
+
+ const metricWidth = metricSizes[scaleIndex][0]
+ const metricHeight = metricSizes[scaleIndex][1]
+ const metricDisplayWidth = metricSizes[scaleIndex][2]
+ const metricDisplayHeight = metricSizes[scaleIndex][3]
+
+ // Imperial width and height in mm and display width and heigth for each scale index.
+ const imperialSizes = [
+ [25.4 * 0.5, 25.4 * 0.25, 'Β½β³', 'ΒΌβ³'],
+ [25.4 * 0.875, 25.4 * 0.5, 'β
β³', 'Β½β³'],
+ [25.4 * 1.25, 25.4 * 0.625, '1 ΒΌβ³', 'β
β³'],
+ [25.4 * 1.625, 25.4 * 0.875, '1 β
β³', 'β
β³'],
+ [25.4 * 2, 25.4 * 1, '2β³', '1β³'],
+ [25.4 * 2.375, 25.4 * 1.25, '2 β
β³', '1 ΒΌβ³'],
+ [25.4 * 2.875, 25.4 * 1.5, '2 β
β³', '1 Β½β³'],
+ [25.4 * 3.25, 25.4 * 1.625, '3 ΒΌβ³', '1 β
β³'],
+ [25.4 * 3.625, 25.4 * 1.875, '3 β
β³', '1 β
β³'],
+ [25.4 * 4, 25.4 * 2, '4β³', '2β³'],
+ ]
+
+ const imperialWidth = imperialSizes[scaleIndex][0]
+ const imperialHeight = imperialSizes[scaleIndex][1]
+ const imperialDisplayWidth = imperialSizes[scaleIndex][2]
+ const imperialDisplayHeight = imperialSizes[scaleIndex][3]
+
+ // Box points
+ points.__scaleboxMetricTopLeft = new Point(
+ so.at.x - metricWidth / 2,
+ so.at.y - metricHeight / 2
+ )
+ points.__scaleboxMetricTopRight = new Point(
+ so.at.x + metricWidth / 2,
+ so.at.y - metricHeight / 2
+ )
+ points.__scaleboxMetricBottomLeft = new Point(
+ so.at.x - metricWidth / 2,
+ so.at.y + metricHeight / 2
+ )
+ points.__scaleboxMetricBottomRight = new Point(
+ so.at.x + metricWidth / 2,
+ so.at.y + metricHeight / 2
+ )
+ points.__scaleboxImperialTopLeft = new Point(
+ so.at.x - imperialWidth / 2,
+ so.at.y - imperialHeight / 2
+ )
+ points.__scaleboxImperialTopRight = new Point(
+ so.at.x + imperialWidth / 2,
+ so.at.y - imperialHeight / 2
+ )
+ points.__scaleboxImperialBottomLeft = new Point(
+ so.at.x - imperialWidth / 2,
+ so.at.y + imperialHeight / 2
+ )
+ points.__scaleboxImperialBottomRight = new Point(
+ so.at.x + imperialWidth / 2,
+ so.at.y + imperialHeight / 2
+ )
+ // Text anchor points
+ points.__scaleboxLead = new Point(so.at.x - 45 * scale, so.at.y - 15 * scale)
+ points.__scaleboxTitle = points.__scaleboxLead.shift(-90, 10 * scale)
+ points.__scaleboxText = points.__scaleboxTitle.shift(-90, 12 * scale)
+ points.__scaleboxLink = points.__scaleboxText.shift(-90, 5 * scale)
+ points.__scaleboxMetric = new Point(so.at.x, so.at.y + 20 * scale)
+ points.__scaleboxImperial = new Point(so.at.x, so.at.y + 24 * scale)
+ // Rotation
+ if (so.rotate) {
+ so.rotate = Number(so.rotate)
+ let toRotate = [
+ '__scaleboxMetricTopLeft',
+ '__scaleboxMetricTopRight',
+ '__scaleboxMetricBottomLeft',
+ '__scaleboxMetricBottomRight',
+ '__scaleboxImperialTopLeft',
+ '__scaleboxImperialTopRight',
+ '__scaleboxImperialBottomLeft',
+ '__scaleboxImperialBottomRight',
+ '__scaleboxLead',
+ '__scaleboxTitle',
+ '__scaleboxText',
+ '__scaleboxLink',
+ '__scaleboxMetric',
+ '__scaleboxImperial',
+ ]
+ for (let pid of toRotate) points[pid] = points[pid].rotate(so.rotate, so.at)
+ for (let pid of toRotate.slice(8)) {
+ points[pid].attributes.set(
+ 'data-text-transform',
+ `rotate(${so.rotate * -1}, ${points[pid].x}, ${points[pid].y})`
+ )
+ }
+ }
+ // Paths
+ paths.__scaleboxImperial = new Path()
+ .attr('class', 'scalebox imperial fill-current')
+ .move(points.__scaleboxImperialTopLeft)
+ .line(points.__scaleboxImperialBottomLeft)
+ .line(points.__scaleboxImperialBottomRight)
+ .line(points.__scaleboxImperialTopRight)
+ .close()
+ paths.__scaleboxMetric = new Path()
+ .attr('class', 'scalebox metric fill-bg')
+ .move(points.__scaleboxMetricTopLeft)
+ .line(points.__scaleboxMetricBottomLeft)
+ .line(points.__scaleboxMetricBottomRight)
+ .line(points.__scaleboxMetricTopRight)
+ .close()
+ // Lead
+ points.__scaleboxLead = points.__scaleboxLead
+ .attr('data-text', so.lead || 'FreeSewing')
+ .attr('data-text-class', 'text-sm')
+ // Title
+ if (so.title) points.__scaleboxTitle.attributes.set('data-text', so.title)
+ else {
+ let name = store.data?.name || 'No Name'
+ if (name.indexOf('@freesewing/') !== -1) name = name.replace('@freesewing/', '')
+ points.__scaleboxTitle = points.__scaleboxTitle
+ .attr('data-text', name)
+ .attr('data-text', 'v' + (store.data?.version || 'No Version'))
+ }
+ points.__scaleboxTitle.attributes.add('data-text-class', 'text-lg')
+ // Text
+ if (typeof so.text === 'string') {
+ points.__scaleboxText.attr('data-text', so.text)
+ } else {
+ points.__scaleboxText.attr('data-text', 'supportFreesewingBecomeAPatron')
+ points.__scaleboxLink = points.__scaleboxLink
+ .attr('data-text', 'freesewing.org/patrons/join')
+ .attr('data-text-class', 'text-sm fill-note')
+ }
+ points.__scaleboxText.attr('data-text-class', 'text-xs').attr('data-text-lineheight', 4)
+ // Instructions
+ points.__scaleboxMetric = points.__scaleboxMetric
+ .attr('data-text', 'theWhiteInsideOfThisBoxShouldMeasure')
+ .attr('data-text', `${metricDisplayWidth}`)
+ .attr('data-text', 'x')
+ .attr('data-text', `${metricDisplayHeight}`)
+ .attr('data-text-class', 'text-xs center')
+ points.__scaleboxImperial = points.__scaleboxImperial
+ .attr('data-text', 'theBlackOutsideOfThisBoxShouldMeasure')
+ .attr('data-text', `${imperialDisplayWidth}`)
+ .attr('data-text', 'x')
+ .attr('data-text', `${imperialDisplayHeight}`)
+ .attr('data-text-class', 'text-xs center ')
+ },
+ miniscale(so, { points, paths, scale, Point, Path }) {
+ // Passing `false` will remove the miniscale
+ if (so === false) {
+ for (const id of [
+ '__miniscaleMetricTopLeft',
+ '__miniscaleMetricTopRight',
+ '__miniscaleMetricBottomRight',
+ '__miniscaleMetricBottomLeft',
+ '__miniscaleImperialTopLeft',
+ '__miniscaleImperialTopRight',
+ '__miniscaleImperialBottomRight',
+ '__miniscaleImperialBottomLeft',
+ '__miniscaleMetric',
+ '__miniscaleImperial',
+ ])
+ delete points[id]
+ for (const id of ['__miniscaleMetric', '__miniscaleImperial']) delete paths[id]
+ return true
+ }
+
+ // Convert scale to a value between 0 and 5, inclusive.
+ const scaleIndex = Math.ceil(6 * Math.max(0.1, Math.min(1, scale))) - 1
+
+ // Metric size in mm / display value and imperial size in mm / display value for each scale index.
+ const sizes = [
+ [10, '1cm', 25.4 * 0.375, 'β
β³'],
+ [13, '1.3cm', 25.4 * 0.5, 'Β½β³'],
+ [16, '1.6cm', 25.4 * 0.625, 'β
β³'],
+ [19, '1.9cm', 25.4 * 0.75, 'ΒΎβ³'],
+ [22, '2.2cm', 25.4 * 0.875, 'β
β³'],
+ [25, '2.5cm', 25.4 * 1, '1β³'],
+ ]
+ const m = sizes[scaleIndex][0] / 2
+ const i = sizes[scaleIndex][2] / 2
+ const metricDisplaySize = sizes[scaleIndex][1]
+ const imperialDisplaySize = sizes[scaleIndex][3]
+ // Box points
+ points.__miniscaleMetricTopLeft = new Point(so.at.x - m, so.at.y - m)
+ points.__miniscaleMetricTopRight = new Point(so.at.x + m, so.at.y - m)
+ points.__miniscaleMetricBottomLeft = new Point(so.at.x - m, so.at.y + m)
+ points.__miniscaleMetricBottomRight = new Point(so.at.x + m, so.at.y + m)
+ points.__miniscaleImperialTopLeft = new Point(so.at.x - i, so.at.y - i)
+ points.__miniscaleImperialTopRight = new Point(so.at.x + i, so.at.y - i)
+ points.__miniscaleImperialBottomLeft = new Point(so.at.x - i, so.at.y + i)
+ points.__miniscaleImperialBottomRight = new Point(so.at.x + i, so.at.y + i)
+ // Text anchor points
+ points.__miniscaleMetric = new Point(so.at.x, so.at.y - 2 * scale)
+ points.__miniscaleImperial = new Point(so.at.x, so.at.y + 8 * scale)
+ // Rotation
+ if (so.rotate) {
+ so.rotate = Number(so.rotate)
+ let toRotate = [
+ '__miniscaleMetricTopLeft',
+ '__miniscaleMetricTopRight',
+ '__miniscaleMetricBottomLeft',
+ '__miniscaleMetricBottomRight',
+ '__miniscaleImperialTopLeft',
+ '__miniscaleImperialTopRight',
+ '__miniscaleImperialBottomLeft',
+ '__miniscaleImperialBottomRight',
+ '__miniscaleMetric',
+ '__miniscaleImperial',
+ ]
+ for (const pid of toRotate) points[pid] = points[pid].rotate(so.rotate, so.at)
+ for (const pid of toRotate.slice(8)) {
+ points[pid].attributes.set(
+ 'data-text-transform',
+ `rotate(${so.rotate * -1}, ${points[pid].x}, ${points[pid].y})`
+ )
+ }
+ }
+ // Paths
+ paths.__miniscaleImperial = new Path()
+ .attr('class', 'scalebox imperial fill-current')
+ .move(points.__miniscaleImperialTopLeft)
+ .line(points.__miniscaleImperialBottomLeft)
+ .line(points.__miniscaleImperialBottomRight)
+ .line(points.__miniscaleImperialTopRight)
+ .close()
+ paths.__miniscaleMetric = new Path()
+ .attr('class', 'scalebox metric fill-bg')
+ .move(points.__miniscaleMetricTopLeft)
+ .line(points.__miniscaleMetricBottomLeft)
+ .line(points.__miniscaleMetricBottomRight)
+ .line(points.__miniscaleMetricTopRight)
+ .close()
+ // Text
+ points.__miniscaleMetric = points.__miniscaleMetric
+ .attr('data-text', `${metricDisplaySize} x ${metricDisplaySize}`)
+ .attr('data-text-class', 'text-xs center')
+ points.__miniscaleImperial = points.__miniscaleImperial
+ .attr('data-text', `${imperialDisplaySize} x ${imperialDisplaySize}`)
+ .attr('data-text-class', 'text-xs center ')
+ },
+}
diff --git a/plugins/plugin-annotations/src/sewtogether.mjs b/plugins/plugin-annotations/src/sewtogether.mjs
new file mode 100644
index 00000000000..16d2a4aa3f7
--- /dev/null
+++ b/plugins/plugin-annotations/src/sewtogether.mjs
@@ -0,0 +1,89 @@
+const markers = `
+
+
+
+
+
+
+
+
+
+`
+
+// Export hooks
+export const sewtogetherHooks = {
+ preRender: [
+ function (svg) {
+ if (svg.defs.indexOf(markers) === -1) svg.defs += markers
+ },
+ ],
+}
+
+// Export macros
+export const sewtogetherMacros = {
+ sewTogether: function (so, { points, paths, Path, complete, sa }) {
+ if (so === false) {
+ delete points.sewtogetherFrom
+ delete points.sewtogetherFromCp
+ delete points.sewtogetherMiddle
+ delete points.sewtogetherTo
+ delete points.sewtogetherHinge
+ delete points.sewtogetherToCp
+ delete paths.sewtogetherSewTogetherHinge
+ delete paths.sewtogetherSewTogether
+ return true
+ }
+ so = {
+ prefix: 'sewtogether',
+ ...so,
+ }
+ if (complete) {
+ if (null == so.middle) {
+ so.middle = so.from.shiftFractionTowards(so.to, 0.5)
+ }
+ points[so.prefix + 'From'] = so.from
+ points[so.prefix + 'Middle'] = so.middle
+ points[so.prefix + 'To'] = so.to
+
+ points[so.prefix + 'FromCp'] = points[so.prefix + 'From'].shift(
+ points[so.prefix + 'From'].angle(points[so.prefix + 'Middle']) + 90,
+ points[so.prefix + 'From'].dist(points[so.prefix + 'Middle']) / 1.5
+ )
+ points[so.prefix + 'ToCp'] = points[so.prefix + 'To'].shift(
+ points[so.prefix + 'To'].angle(points[so.prefix + 'Middle']) - 90,
+ points[so.prefix + 'To'].dist(points[so.prefix + 'Middle']) / 1.5
+ )
+
+ if (so.hinge) {
+ points[so.prefix + 'Hinge'] = points[so.prefix + 'Middle'].shift(
+ points[so.prefix + 'Middle'].angle(points[so.prefix + 'To']) +
+ Math.abs(
+ points[so.prefix + 'Middle'].angle(points[so.prefix + 'From']) -
+ points[so.prefix + 'Middle'].angle(points[so.prefix + 'To'])
+ ) /
+ 2 +
+ (sa ? 180 : 0),
+ sa
+ ? sa
+ : Math.min(
+ points[so.prefix + 'From'].dist(points[so.prefix + 'Middle']),
+ points[so.prefix + 'From'].dist(points[so.prefix + 'Middle'])
+ ) / 4
+ )
+ paths[so.prefix + 'SewTogetherHinge'] = new Path()
+ .move(points[so.prefix + 'Middle'])
+ .line(points[so.prefix + 'Hinge'])
+ .attr('marker-start', 'url(#sewTogetherCross)')
+ .attr('class', 'dotted note stroke-sm')
+ }
+ paths[so.prefix + 'SewTogether'] = new Path()
+ .move(points[so.prefix + 'From'])
+ .curve(points[so.prefix + 'FromCp'], points[so.prefix + 'ToCp'], points[so.prefix + 'To'])
+ .attr('class', 'dotted note stroke-sm')
+ .attr('marker-start', 'url(#sewTogetherStart)')
+ .attr('marker-end', 'url(#sewTogetherEnd)')
+ .attr('data-text', 'sewTogether')
+ .attr('data-text-class', 'center fill-note text-xs')
+ }
+ },
+}
diff --git a/plugins/plugin-annotations/src/title.mjs b/plugins/plugin-annotations/src/title.mjs
new file mode 100644
index 00000000000..602522a594b
--- /dev/null
+++ b/plugins/plugin-annotations/src/title.mjs
@@ -0,0 +1,85 @@
+const titleMacro = function (so, { points, scale, locale, store }) {
+ const prefix = so.prefix || ''
+
+ // Passing `false` will remove the title
+ if (so === false) {
+ for (const id of [
+ `_${prefix}_titleNr`,
+ `_${prefix}_titleName`,
+ `_${prefix}_titlePattern`,
+ `_${prefix}_titleFor`,
+ `_${prefix}_exportDate`,
+ ])
+ delete points[id]
+ return true
+ }
+
+ const transform = function (anchor) {
+ const cx = anchor.x - so.scale * anchor.x
+ const cy = anchor.y - so.scale * anchor.y
+
+ return `matrix(${so.scale}, 0, 0, ${so.scale}, ${cx}, ${cy}) rotate(${so.rotation} ${anchor.x} ${anchor.y})`
+ }
+ const defaults = {
+ scale: 1,
+ rotation: 0,
+ }
+
+ so = { ...defaults, ...so }
+ so.scale = so.scale * scale
+ let overwrite = true
+ if (so.append) overwrite = false
+ points[`_${prefix}_titleNr`] = so.at
+ .clone()
+ .attr('data-text', so.nr, overwrite)
+ .attr('data-text-class', 'text-4xl fill-note font-bold')
+ .attr('data-text-transform', transform(so.at))
+ let shift = 8
+ if (so.title) {
+ points[`_${prefix}_titleName`] = so.at
+ .shift(-90 - so.rotation, shift * so.scale)
+ .attr('data-text', so.title)
+ .attr('data-text-class', 'text-lg fill-current font-bold')
+ .attr('data-text-transform', transform(so.at.shift(-90 - so.rotation, 13 * so.scale)))
+ shift += 8
+ }
+ let name = store.data?.name || 'No Name'
+ name = name.replace('@freesewing/', '')
+ points[`_${prefix}_titlePattern`] = so.at
+ .shift(-90 - so.rotation, shift * so.scale)
+ .attr('data-text', name)
+ .attr('data-text', 'v' + (store.data?.version || 'No Version'))
+ .attr('data-text-class', 'fill-note')
+ .attr('data-text-transform', transform(so.at.shift(-90 - so.rotation, shift * so.scale)))
+ if (store.data.for) {
+ shift += 8
+ points[`_${prefix}_titleFor`] = so.at
+ .shift(-90 - so.rotation, shift * so.scale)
+ .attr('data-text', '( ' + store.data.for + ' )')
+ .attr('data-text-class', 'fill-current font-bold')
+ .attr('data-text-transform', transform(so.at.shift(-90 - so.rotation, shift * so.scale)))
+ }
+ shift += 6
+ const now = new Date()
+ let hours = now.getHours()
+ let mins = now.getMinutes()
+ if (hours < 10) hours = `0${hours}`
+ if (mins < 10) mins = `0${mins}`
+ points[`_${prefix}_exportDate`] = so.at
+ .shift(-90 - so.rotation, shift * so.scale)
+ .attr(
+ 'data-text',
+ now.toLocaleDateString(locale || 'en', {
+ weekday: 'long',
+ year: 'numeric',
+ month: 'short',
+ day: 'numeric',
+ })
+ )
+ .attr('data-text', `@ ${hours}:${mins}`)
+ .attr('data-text-class', 'text-sm')
+ .attr('data-text-transform', transform(so.at.shift(-90 - so.rotation, shift * so.scale)))
+}
+
+// Export macros
+export const titleMacros = { title: titleMacro }
diff --git a/plugins/plugin-banner/tests/plugin.test.mjs b/plugins/plugin-annotations/tests/banner.test.mjs
similarity index 93%
rename from plugins/plugin-banner/tests/plugin.test.mjs
rename to plugins/plugin-annotations/tests/banner.test.mjs
index 93aa514db0e..48a323df44f 100644
--- a/plugins/plugin-banner/tests/plugin.test.mjs
+++ b/plugins/plugin-annotations/tests/banner.test.mjs
@@ -1,6 +1,6 @@
import chai from 'chai'
import { Design } from '@freesewing/core'
-import { bannerPlugin } from '../src/index.mjs'
+import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
@@ -20,7 +20,7 @@ describe('Banner Plugin Tests', () => {
return part
},
- plugins: [bannerPlugin],
+ plugins: [annotationsPlugin],
}
const design = new Design({ parts: [part] })
const pattern = new design()
@@ -29,7 +29,7 @@ describe('Banner Plugin Tests', () => {
expect(c.attributes.get('data-text')).to.equal(
' foo foo foo foo foo foo foo foo foo foo '
)
- expect(c.attributes.get('data-text-class')).to.equal('center')
+ expect(c.attributes.get('data-text-class').trim()).to.equal('center')
expect(c.attributes.get('data-text-dy')).to.equal('-1')
})
@@ -50,7 +50,7 @@ describe('Banner Plugin Tests', () => {
return part
},
- plugins: [bannerPlugin],
+ plugins: [annotationsPlugin],
}
const design = new Design({ parts: [part] })
const pattern = new design()
@@ -76,7 +76,7 @@ describe('Banner Plugin Tests', () => {
return part
},
- plugins: [bannerPlugin],
+ plugins: [annotationsPlugin],
}
const design = new Design({ parts: [part] })
const pattern = new design()
diff --git a/plugins/plugin-bartack/tests/plugin.test.mjs b/plugins/plugin-annotations/tests/bartack.test.mjs
similarity index 96%
rename from plugins/plugin-bartack/tests/plugin.test.mjs
rename to plugins/plugin-annotations/tests/bartack.test.mjs
index 6e3d569f48a..9b7a5e78e7e 100644
--- a/plugins/plugin-bartack/tests/plugin.test.mjs
+++ b/plugins/plugin-annotations/tests/bartack.test.mjs
@@ -1,6 +1,6 @@
import chai from 'chai'
import { round, Design } from '@freesewing/core'
-import { plugin } from '../src/index.mjs'
+import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
@@ -16,7 +16,7 @@ describe('Bartack plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const design = new Design({ parts: [part] })
const pattern = new design()
@@ -51,7 +51,7 @@ describe('Bartack plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const design = new Design({ parts: [part] })
const pattern = new design()
@@ -87,7 +87,7 @@ describe('Bartack plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const design = new Design({ parts: [part] })
const pattern = new design()
@@ -123,7 +123,7 @@ describe('Bartack plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const design = new Design({ parts: [part] })
const pattern = new design()
@@ -157,7 +157,7 @@ describe('Bartack plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const design = new Design({ parts: [part] })
const pattern = new design()
@@ -191,7 +191,7 @@ describe('Bartack plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const design = new Design({ parts: [part] })
const pattern = new design()
@@ -225,7 +225,7 @@ describe('Bartack plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const design = new Design({ parts: [part] })
const pattern = new design()
@@ -259,7 +259,7 @@ describe('Bartack plugin Tests', () => {
part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const design = new Design({ parts: [part] })
const pattern = new design()
@@ -280,7 +280,7 @@ describe('Bartack plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const design = new Design({ parts: [part] })
const pattern = new design()
diff --git a/plugins/plugin-buttons/tests/plugin.test.mjs b/plugins/plugin-annotations/tests/buttons.test.mjs
similarity index 91%
rename from plugins/plugin-buttons/tests/plugin.test.mjs
rename to plugins/plugin-annotations/tests/buttons.test.mjs
index c24f22571b0..ea2b28a4db3 100644
--- a/plugins/plugin-buttons/tests/plugin.test.mjs
+++ b/plugins/plugin-annotations/tests/buttons.test.mjs
@@ -1,11 +1,11 @@
import chai from 'chai'
import { Design } from '@freesewing/core'
-import { plugin } from '../src/index.mjs'
+import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
const Pattern = new Design()
-const pattern = new Pattern().use(plugin)
+const pattern = new Pattern().use(annotationsPlugin)
pattern.draft().render()
describe('Buttons Plugin Test', () => {
@@ -24,7 +24,7 @@ describe('Buttons Plugin Test', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({ parts: [part] })
const svg = new Pattern().draft().render()
@@ -40,7 +40,7 @@ describe('Buttons Plugin Test', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({ parts: [part] })
const svg = new Pattern().draft().render()
@@ -56,7 +56,7 @@ describe('Buttons Plugin Test', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({ parts: [part] })
const svg = new Pattern().draft().render()
@@ -72,7 +72,7 @@ describe('Buttons Plugin Test', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({ parts: [part] })
const svg = new Pattern().draft().render()
@@ -88,7 +88,7 @@ describe('Buttons Plugin Test', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({ parts: [part] })
const svg = new Pattern().draft().render()
@@ -104,7 +104,7 @@ describe('Buttons Plugin Test', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({ parts: [part] })
const svg = new Pattern().draft().render()
diff --git a/plugins/plugin-annotations/tests/crossbox.test.mjs b/plugins/plugin-annotations/tests/crossbox.test.mjs
new file mode 100644
index 00000000000..55f5588435d
--- /dev/null
+++ b/plugins/plugin-annotations/tests/crossbox.test.mjs
@@ -0,0 +1,93 @@
+import chai from 'chai'
+import { Design, round } from '@freesewing/core'
+import { annotationsPlugin } from '../src/index.mjs'
+
+const expect = chai.expect
+
+describe('Crossbox Plugin Tests', () => {
+ it('Should run the default crossbox macro', () => {
+ const part = {
+ name: 'test',
+ draft: ({ Point, points, macro, part }) => {
+ points.from = new Point(10, 10)
+ points.to = new Point(30, 30)
+ macro('crossbox', {
+ from: points.from,
+ to: points.to,
+ })
+
+ return part
+ },
+ plugins: [annotationsPlugin],
+ }
+ const Test = new Design({ plugins: [annotationsPlugin], parts: [part] })
+ const pattern = new Test()
+ pattern.draft()
+ var c = pattern.parts[0].test.paths['1crossBox']
+ expect(c.attributes.get('class')).to.equal('lining dotted stroke-sm')
+ expect(c.ops[0].type).to.equal('move')
+ expect(c.ops[1].type).to.equal('line')
+ expect(c.ops[2].type).to.equal('line')
+ expect(c.ops[3].type).to.equal('line')
+ expect(c.ops[4].type).to.equal('line')
+ expect(round(c.ops[0].to.x)).to.equal(10)
+ expect(round(c.ops[0].to.y)).to.equal(10)
+ expect(round(c.ops[1].to.x)).to.equal(30)
+ expect(round(c.ops[1].to.y)).to.equal(10)
+ expect(round(c.ops[2].to.x)).to.equal(30)
+ expect(round(c.ops[2].to.y)).to.equal(30)
+ expect(round(c.ops[3].to.x)).to.equal(10)
+ expect(round(c.ops[3].to.y)).to.equal(30)
+ expect(round(c.ops[4].to.x)).to.equal(10)
+ expect(round(c.ops[4].to.y)).to.equal(10)
+ c = pattern.parts[0].test.paths['1_topCross']
+ expect(c.attributes.get('class')).to.equal('lining dotted stroke-sm')
+ expect(c.ops[0].type).to.equal('move')
+ expect(c.ops[1].type).to.equal('line')
+ expect(c.ops[2].type).to.equal('line')
+ expect(c.ops[3].type).to.equal('line')
+ expect(c.ops[4].type).to.equal('line')
+ expect(c.ops[5].type).to.equal('line')
+ expect(c.ops[6].type).to.equal('move')
+ expect(c.ops[7].type).to.equal('line')
+ expect(round(c.ops[0].to.x)).to.equal(12)
+ expect(round(c.ops[0].to.y)).to.equal(12)
+ expect(round(c.ops[1].to.x)).to.equal(28)
+ expect(round(c.ops[1].to.y)).to.equal(28)
+ expect(round(c.ops[2].to.x)).to.equal(28)
+ expect(round(c.ops[2].to.y)).to.equal(12)
+ expect(round(c.ops[3].to.x)).to.equal(12)
+ expect(round(c.ops[3].to.y)).to.equal(28)
+ expect(round(c.ops[4].to.x)).to.equal(12)
+ expect(round(c.ops[4].to.y)).to.equal(12)
+ expect(round(c.ops[5].to.x)).to.equal(28)
+ expect(round(c.ops[5].to.y)).to.equal(12)
+ expect(round(c.ops[6].to.x)).to.equal(28)
+ expect(round(c.ops[6].to.y)).to.equal(28)
+ expect(round(c.ops[7].to.x)).to.equal(12)
+ expect(round(c.ops[7].to.y)).to.equal(28)
+ })
+
+ it('Should run the crossbox macro with text', () => {
+ const part = {
+ name: 'test',
+ draft: ({ Point, points, macro, part }) => {
+ points.from = new Point(10, 10)
+ points.to = new Point(30, 30)
+ macro('crossbox', {
+ from: points.from,
+ to: points.to,
+ text: 'test',
+ })
+
+ return part
+ },
+ plugins: [annotationsPlugin],
+ }
+ const Test = new Design({ plugins: [annotationsPlugin], parts: [part] })
+ const pattern = new Test()
+ pattern.draft()
+ const c = pattern.parts[0].test.points.textAnchor
+ expect(c.attributes.get('data-text')).to.equal('test')
+ })
+})
diff --git a/plugins/plugin-cutonfold/tests/plugin.test.mjs b/plugins/plugin-annotations/tests/cutonfold.test.mjs
similarity index 90%
rename from plugins/plugin-cutonfold/tests/plugin.test.mjs
rename to plugins/plugin-annotations/tests/cutonfold.test.mjs
index b500c3ce7ae..27fe2d95884 100644
--- a/plugins/plugin-cutonfold/tests/plugin.test.mjs
+++ b/plugins/plugin-annotations/tests/cutonfold.test.mjs
@@ -1,6 +1,6 @@
import chai from 'chai'
import { Design, round } from '@freesewing/core'
-import { plugin } from '../src/index.mjs'
+import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
@@ -18,9 +18,9 @@ describe('Cutonfold Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
- const Test = new Design({ plugins: [plugin], parts: [part] })
+ const Test = new Design({ plugins: [annotationsPlugin], parts: [part] })
const pattern = new Test()
pattern.draft()
const c = pattern.parts[0].test.paths.cutonfoldCutonfold
@@ -57,9 +57,9 @@ describe('Cutonfold Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
- const Test = new Design({ plugins: [plugin], parts: [part] })
+ const Test = new Design({ plugins: [annotationsPlugin], parts: [part] })
const pattern = new Test()
pattern.draft()
const c = pattern.parts[0].test.paths.cutonfoldCutonfold
@@ -80,9 +80,9 @@ describe('Cutonfold Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
- const Test = new Design({ plugins: [plugin], parts: [part] })
+ const Test = new Design({ plugins: [annotationsPlugin], parts: [part] })
const pattern = new Test()
pattern.draft()
let c = pattern.parts[0].test.paths.cutonfoldCutonfold
@@ -119,9 +119,9 @@ describe('Cutonfold Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
- const Test = new Design({ plugins: [plugin], parts: [part] })
+ const Test = new Design({ plugins: [annotationsPlugin], parts: [part] })
const pattern = new Test()
pattern.draft()
let c = pattern.parts[0].test.paths.cutonfoldCutonfold
diff --git a/plugins/plugin-dimension/tests/plugin.test.mjs b/plugins/plugin-annotations/tests/dimension.test.mjs
similarity index 97%
rename from plugins/plugin-dimension/tests/plugin.test.mjs
rename to plugins/plugin-annotations/tests/dimension.test.mjs
index 3a43f2e256c..1a8434c3c2b 100644
--- a/plugins/plugin-dimension/tests/plugin.test.mjs
+++ b/plugins/plugin-annotations/tests/dimension.test.mjs
@@ -1,6 +1,6 @@
import chai from 'chai'
import { Design, round } from '@freesewing/core'
-import { plugin } from '../src/index.mjs'
+import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
@@ -19,7 +19,7 @@ describe('Dimension Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Test = new Design({ parts: [part] })
const pattern = new Test()
@@ -77,7 +77,7 @@ describe('Dimension Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Test = new Design({ parts: [part] })
const pattern = new Test()
@@ -135,7 +135,7 @@ describe('Dimension Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Test = new Design({ parts: [part] })
const pattern = new Test()
@@ -194,7 +194,7 @@ describe('Dimension Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Test = new Design({ parts: [part] })
const pattern = new Test()
diff --git a/plugins/plugin-grainline/tests/plugin.test.mjs b/plugins/plugin-annotations/tests/grainline.test.mjs
similarity index 93%
rename from plugins/plugin-grainline/tests/plugin.test.mjs
rename to plugins/plugin-annotations/tests/grainline.test.mjs
index f8061011dbf..37e76dd7afd 100644
--- a/plugins/plugin-grainline/tests/plugin.test.mjs
+++ b/plugins/plugin-annotations/tests/grainline.test.mjs
@@ -1,6 +1,6 @@
import chai from 'chai'
import { round, Design } from '@freesewing/core'
-import { plugin } from '../src/index.mjs'
+import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
@@ -18,7 +18,7 @@ describe('Grainline Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({ parts: [part] })
const pattern = new Pattern()
diff --git a/plugins/plugin-logo/tests/plugin.test.mjs b/plugins/plugin-annotations/tests/logo.test.mjs
similarity index 77%
rename from plugins/plugin-logo/tests/plugin.test.mjs
rename to plugins/plugin-annotations/tests/logo.test.mjs
index e3829a81d67..440a8f3bc9d 100644
--- a/plugins/plugin-logo/tests/plugin.test.mjs
+++ b/plugins/plugin-annotations/tests/logo.test.mjs
@@ -1,13 +1,13 @@
import chai from 'chai'
import { Design } from '@freesewing/core'
-import { plugin } from '../src/index.mjs'
+import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Logo Plugin Tests', () => {
it('Should import style and defs', () => {
const Pattern = new Design()
- const pattern = new Pattern().use(plugin)
+ const pattern = new Pattern().use(annotationsPlugin)
pattern.draft().render()
expect(pattern.svg.defs).to.contain(
' {
snippets.button = new Snippet('notch', new Point(10, 20))
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({ parts: [part] })
const pattern = new Pattern()
@@ -32,7 +32,7 @@ describe('Notches Plugin Test', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({ parts: [part] })
const pattern = new Pattern()
diff --git a/plugins/plugin-annotations/tests/pleat.test.mjs b/plugins/plugin-annotations/tests/pleat.test.mjs
new file mode 100644
index 00000000000..002930ebcc3
--- /dev/null
+++ b/plugins/plugin-annotations/tests/pleat.test.mjs
@@ -0,0 +1,82 @@
+import chai from 'chai'
+import { Design, round } from '@freesewing/core'
+import { annotationsPlugin } from '../src/index.mjs'
+
+const expect = chai.expect
+
+describe('Pleat Plugin Tests', () => {
+ it('Should run the default pleat macro', () => {
+ const part = {
+ name: 'test',
+ draft: ({ Point, points, macro, part }) => {
+ points.from = new Point(10, 20)
+ points.to = new Point(10, 220)
+ macro('pleat', {
+ from: points.from,
+ to: points.to,
+ })
+
+ return part
+ },
+ plugins: [annotationsPlugin],
+ }
+ const Test = new Design({ plugins: [annotationsPlugin], parts: [part] })
+ const pattern = new Test()
+ pattern.draft()
+ var c = pattern.parts[0].test.paths.pleatPleatFrom
+ expect(c.attributes.get('class')).to.equal('note')
+ expect(c.ops[0].type).to.equal('move')
+ expect(c.ops[1].type).to.equal('line')
+ expect(round(c.ops[0].to.x)).to.equal(10)
+ expect(round(c.ops[0].to.y)).to.equal(20)
+ expect(round(c.ops[1].to.x)).to.equal(45)
+ expect(round(c.ops[1].to.y)).to.equal(20)
+ c = pattern.parts[0].test.paths.pleatPleatTo
+ expect(c.attributes.get('class')).to.equal('note dashed')
+ expect(c.ops[0].type).to.equal('move')
+ expect(c.ops[1].type).to.equal('line')
+ expect(round(c.ops[0].to.x)).to.equal(10)
+ expect(round(c.ops[0].to.y)).to.equal(220)
+ expect(round(c.ops[1].to.x)).to.equal(45)
+ expect(round(c.ops[1].to.y)).to.equal(220)
+ c = pattern.parts[0].test.paths.pleatPleatArrow
+ expect(c.attributes.get('class')).to.equal('note')
+ expect(c.attributes.get('marker-end')).to.equal('url(#pleatTo)')
+ expect(c.ops[0].type).to.equal('move')
+ expect(c.ops[1].type).to.equal('line')
+ expect(round(c.ops[0].to.x)).to.equal(18.75)
+ expect(round(c.ops[0].to.y)).to.equal(20)
+ expect(round(c.ops[1].to.x)).to.equal(18.75)
+ expect(round(c.ops[1].to.y)).to.equal(220)
+ })
+
+ it('Should run the pleat/reverse macro', () => {
+ const part = {
+ name: 'test',
+ draft: ({ Point, points, macro, part }) => {
+ points.from = new Point(10, 20)
+ points.to = new Point(10, 220)
+ macro('pleat', {
+ from: points.from,
+ to: points.to,
+ reverse: true,
+ })
+
+ return part
+ },
+ plugins: [annotationsPlugin],
+ }
+ const Test = new Design({ plugins: [annotationsPlugin], parts: [part] })
+ const pattern = new Test()
+ pattern.draft()
+ var c = pattern.parts[0].test.paths.pleatPleatFrom
+ expect(c.attributes.get('class')).to.equal('note dashed')
+ c = pattern.parts[0].test.paths.pleatPleatTo
+ expect(c.attributes.get('class')).to.equal('note')
+ c = pattern.parts[0].test.paths.pleatPleatArrow
+ expect(round(c.ops[0].to.x)).to.equal(18.75)
+ expect(round(c.ops[0].to.y)).to.equal(220)
+ expect(round(c.ops[1].to.x)).to.equal(18.75)
+ expect(round(c.ops[1].to.y)).to.equal(20)
+ })
+})
diff --git a/plugins/plugin-scalebox/tests/plugin.test.mjs b/plugins/plugin-annotations/tests/scalebox.test.mjs
similarity index 97%
rename from plugins/plugin-scalebox/tests/plugin.test.mjs
rename to plugins/plugin-annotations/tests/scalebox.test.mjs
index 57cf10d1842..c6fa82b3398 100644
--- a/plugins/plugin-scalebox/tests/plugin.test.mjs
+++ b/plugins/plugin-annotations/tests/scalebox.test.mjs
@@ -1,6 +1,6 @@
import chai from 'chai'
import { Design, round } from '@freesewing/core'
-import { plugin } from '../src/index.mjs'
+import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
@@ -16,7 +16,7 @@ describe('Scalebox Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({ parts: [part] })
const pattern = new Pattern()
@@ -90,7 +90,7 @@ describe('Scalebox Plugin Tests', () => {
rotate: 90,
})
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({ parts: [part] })
const pattern = new Pattern()
@@ -137,7 +137,7 @@ describe('Scalebox Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({
parts: [part],
@@ -171,7 +171,7 @@ describe('Scalebox Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({
parts: [part],
@@ -205,11 +205,11 @@ describe('Scalebox Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({
parts: [part],
- plugins: [plugin],
+ plugins: [annotationsPlugin],
data: { name: 'test', version: '1.2.3' },
})
const pattern = new Pattern({ scale: 0.5 })
@@ -250,11 +250,11 @@ describe('Scalebox Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({
parts: [part],
- plugins: [plugin],
+ plugins: [annotationsPlugin],
data: { name: 'test', version: '1.2.3' },
})
const pattern = new Pattern({ scale: 0.5 })
diff --git a/plugins/plugin-annotations/tests/sewtogether.test.mjs b/plugins/plugin-annotations/tests/sewtogether.test.mjs
new file mode 100644
index 00000000000..c185a271613
--- /dev/null
+++ b/plugins/plugin-annotations/tests/sewtogether.test.mjs
@@ -0,0 +1,98 @@
+import chai from 'chai'
+import { Design, round } from '@freesewing/core'
+import { annotationsPlugin } from '../src/index.mjs'
+
+const expect = chai.expect
+
+describe('Sewtogether Plugin Tests', () => {
+ it('Should run the default sewtogether macro', () => {
+ const part = {
+ name: 'test',
+ draft: ({ Point, points, macro, part }) => {
+ points.from = new Point(10, 20)
+ points.to = new Point(10, 220)
+ macro('sewTogether', {
+ from: points.from,
+ to: points.to,
+ })
+
+ return part
+ },
+ plugins: [annotationsPlugin],
+ }
+ const Test = new Design({ plugins: [annotationsPlugin], parts: [part] })
+ const pattern = new Test()
+ pattern.draft()
+ const c = pattern.parts[0].test.paths.sewtogetherSewTogether
+ expect(c.attributes.get('class')).to.equal('dotted note stroke-sm')
+ expect(c.attributes.get('marker-start')).to.equal('url(#sewTogetherStart)')
+ expect(c.attributes.get('marker-end')).to.equal('url(#sewTogetherEnd)')
+ expect(c.attributes.get('data-text')).to.equal('sewTogether')
+ expect(c.attributes.get('data-text-class')).to.equal('center fill-note text-xs')
+ expect(c.ops[0].type).to.equal('move')
+ expect(c.ops[1].type).to.equal('curve')
+ expect(round(c.ops[0].to.x)).to.equal(10)
+ expect(round(c.ops[0].to.y)).to.equal(20)
+ expect(round(c.ops[1].cp1.x)).to.equal(76.67)
+ expect(round(c.ops[1].cp1.y)).to.equal(20)
+ expect(round(c.ops[1].cp2.x)).to.equal(76.67)
+ expect(round(c.ops[1].cp2.y)).to.equal(220)
+ expect(round(c.ops[1].to.x)).to.equal(10)
+ expect(round(c.ops[1].to.y)).to.equal(220)
+ })
+
+ it('Should run the sewtogether/hinge macro', () => {
+ const part = {
+ name: 'test',
+ draft: ({ Point, points, macro, part }) => {
+ points.from = new Point(10, 20)
+ points.hinge = new Point(40, 110)
+ points.to = new Point(10, 220)
+ macro('sewTogether', {
+ from: points.from,
+ hinge: points.hinge,
+ to: points.to,
+ })
+
+ return part
+ },
+ plugins: [annotationsPlugin],
+ }
+ const Test = new Design({ plugins: [annotationsPlugin], parts: [part] })
+ const pattern = new Test()
+ pattern.draft()
+ var c = pattern.parts[0].test.paths.sewtogetherSewTogetherHinge
+ expect(c.attributes.get('class')).to.equal('dotted note stroke-sm')
+ expect(c.attributes.get('marker-start')).to.equal('url(#sewTogetherCross)')
+ expect(c.ops[0].type).to.equal('move')
+ expect(c.ops[1].type).to.equal('line')
+ expect(round(c.ops[0].to.x)).to.equal(10)
+ expect(round(c.ops[0].to.y)).to.equal(120)
+ expect(round(c.ops[1].to.x)).to.equal(35)
+ expect(round(c.ops[1].to.y)).to.equal(120)
+ })
+
+ it('Should run the sewTogether/hinge (with sa) macro', () => {
+ const part = {
+ name: 'test',
+ draft: ({ Point, points, macro, part }) => {
+ points.from = new Point(10, 20)
+ points.hinge = new Point(40, 110)
+ points.to = new Point(10, 220)
+ macro('sewTogether', {
+ from: points.from,
+ hinge: points.hinge,
+ to: points.to,
+ })
+
+ return part
+ },
+ plugins: [annotationsPlugin],
+ }
+ const Test = new Design({ plugins: [annotationsPlugin], parts: [part] })
+ const pattern = new Test({ sa: 10 })
+ pattern.draft()
+ var c = pattern.parts[0].test.paths.sewtogetherSewTogetherHinge
+ expect(round(c.ops[1].to.x)).to.equal(0)
+ })
+})
diff --git a/plugins/plugin-banner/tests/shared.test.mjs b/plugins/plugin-annotations/tests/shared.test.mjs
similarity index 100%
rename from plugins/plugin-banner/tests/shared.test.mjs
rename to plugins/plugin-annotations/tests/shared.test.mjs
diff --git a/plugins/plugin-title/tests/plugin.test.mjs b/plugins/plugin-annotations/tests/title.test.mjs
similarity index 96%
rename from plugins/plugin-title/tests/plugin.test.mjs
rename to plugins/plugin-annotations/tests/title.test.mjs
index c4e801efd24..ab271ef823a 100644
--- a/plugins/plugin-title/tests/plugin.test.mjs
+++ b/plugins/plugin-annotations/tests/title.test.mjs
@@ -1,6 +1,6 @@
import chai from 'chai'
import { Design } from '@freesewing/core'
-import { plugin } from '../src/index.mjs'
+import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
@@ -18,7 +18,7 @@ describe('Title Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({
data: { name: 'testPattern', version: 99 },
@@ -59,7 +59,7 @@ describe('Title Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({
data: { name: 'testPattern', version: 99 },
@@ -90,7 +90,7 @@ describe('Title Plugin Tests', () => {
return part
},
- plugins: [plugin],
+ plugins: [annotationsPlugin],
}
const Pattern = new Design({
data: { name: 'testPattern', version: 99 },
diff --git a/plugins/plugin-banner/CHANGELOG.md b/plugins/plugin-banner/CHANGELOG.md
deleted file mode 100644
index d6230083a40..00000000000
--- a/plugins/plugin-banner/CHANGELOG.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Change log for: @freesewing/plugin-banner
-
-
-## 2.21.0 (2022-06-27)
-
-### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-## 2.20.0 (2022-01-24)
-
-### Changed
-
- - Changed the default options
- - Now part of `@freesewing/plugin-bundle`
-
-## 2.19.6 (2021-12-29)
-
-### Added
-
- - Added (esm) unit tests
-
-## 2.0.0 (2019-08-25)
-
-### Added
-
- - Initial release
-
-
-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/plugins/plugin-banner/package.json b/plugins/plugin-banner/package.json
deleted file mode 100644
index 782681c6ab3..00000000000
--- a/plugins/plugin-banner/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "@freesewing/plugin-banner",
- "version": "3.0.0-alpha.8",
- "description": "A FreeSewing plugin to repeat text on a path",
- "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",
- "plugin",
- "sewing pattern",
- "sewing",
- "design",
- "parametric design",
- "made to measure",
- "diy",
- "fashion"
- ],
- "type": "module",
- "module": "dist/index.mjs",
- "exports": {
- ".": "./dist/index.mjs"
- },
- "scripts": {
- "build": "node build.mjs",
- "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": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
- "cibuild_step1": "node build.mjs",
- "wbuild": "node build.mjs",
- "wcibuild_step1": "node build.mjs"
- },
- "peerDependencies": {
- "@freesewing/core": "3.0.0-alpha.8"
- },
- "dependencies": {},
- "devDependencies": {
- "mocha": "10.0.0",
- "chai": "4.2.0"
- },
- "files": [
- "dist/*",
- "README.md"
- ],
- "publishConfig": {
- "access": "public",
- "tag": "next"
- },
- "engines": {
- "node": ">=16.0.0",
- "npm": ">=8"
- }
-}
diff --git a/plugins/plugin-banner/src/index.mjs b/plugins/plugin-banner/src/index.mjs
deleted file mode 100644
index 666a95b7451..00000000000
--- a/plugins/plugin-banner/src/index.mjs
+++ /dev/null
@@ -1,26 +0,0 @@
-import { version, name } from '../data.mjs'
-
-export const plugin = {
- name,
- version,
- macros: {
- banner: function (so) {
- const defaults = {
- text: '',
- dy: -1,
- spaces: 12,
- repeat: 10,
- }
- so = { ...defaults, ...so }
- so.path.attr('data-text-dy', so.dy).attr('data-text-class', 'center')
- const spacer = ' '.repeat(so.spaces)
- let banner = spacer
- for (let i = 0; i < so.repeat; i++) banner += so.text + ' '.repeat(so.spaces)
- so.path.attr('data-text', banner)
- },
- },
-}
-
-// More specifically named exports
-export const bannerPlugin = plugin
-export const pluginBanner = plugin
diff --git a/plugins/plugin-bartack/CHANGELOG.md b/plugins/plugin-bartack/CHANGELOG.md
deleted file mode 100644
index ce45626fead..00000000000
--- a/plugins/plugin-bartack/CHANGELOG.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# Change log for: @freesewing/plugin-bartack
-
-
-## 2.21.0 (2022-06-27)
-
-### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-## 2.20.0 (2022-01-24)
-
-### Changed
-
- - Now part of `@freesewing/plugin-bundle`
-
-### Fixed
-
- - Fixed issue with `bartackFractionAlong` macro
- - Handle start and endpoints being the same in `bartackFractionAlong`
- - Support start and endpoints being reversed in `bartackFractionAlong`
-
-## 2.19.6 (2021-12-29)
-
-### Added
-
- - Added (esm) unit tests
-
-### Changed
-
- - Add utility classes and CSS variables for better styling support
-
-
-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/plugins/plugin-bartack/data.mjs b/plugins/plugin-bartack/data.mjs
deleted file mode 100644
index ba9e1372df3..00000000000
--- a/plugins/plugin-bartack/data.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is auto-generated | All changes you make will be overwritten.
-export const name = '@freesewing/plugin-bartack'
-export const version = '3.0.0-alpha.8'
-export const data = { name, version }
diff --git a/plugins/plugin-bartack/img/example.png b/plugins/plugin-bartack/img/example.png
deleted file mode 100644
index 70ea646c479..00000000000
Binary files a/plugins/plugin-bartack/img/example.png and /dev/null differ
diff --git a/plugins/plugin-bartack/package.json b/plugins/plugin-bartack/package.json
deleted file mode 100644
index bde4ffa7498..00000000000
--- a/plugins/plugin-bartack/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "@freesewing/plugin-bartack",
- "version": "3.0.0-alpha.8",
- "description": "A FreeSewing plugin to add bartacks to your pattern",
- "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",
- "plugin",
- "sewing pattern",
- "sewing",
- "design",
- "parametric design",
- "made to measure",
- "diy",
- "fashion"
- ],
- "type": "module",
- "module": "dist/index.mjs",
- "exports": {
- ".": "./dist/index.mjs"
- },
- "scripts": {
- "build": "node build.mjs",
- "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": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
- "cibuild_step1": "node build.mjs",
- "wbuild": "node build.mjs",
- "wcibuild_step1": "node build.mjs"
- },
- "peerDependencies": {
- "@freesewing/core": "3.0.0-alpha.8"
- },
- "dependencies": {},
- "devDependencies": {
- "mocha": "10.0.0",
- "chai": "4.2.0"
- },
- "files": [
- "dist/*",
- "README.md"
- ],
- "publishConfig": {
- "access": "public",
- "tag": "next"
- },
- "engines": {
- "node": ">=16.0.0",
- "npm": ">=8"
- }
-}
diff --git a/plugins/plugin-bartack/tests/shared.test.mjs b/plugins/plugin-bartack/tests/shared.test.mjs
deleted file mode 100644
index 7bf4f668398..00000000000
--- a/plugins/plugin-bartack/tests/shared.test.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-// This file is auto-generated | Any changes you make will be overwritten.
-import { plugin } from '../src/index.mjs'
-import { sharedPluginTests } from '../../../tests/plugins/shared.mjs'
-
-// Run shared tests
-sharedPluginTests(plugin)
diff --git a/plugins/plugin-bundle/README.md b/plugins/plugin-bundle/README.md
index 35043f0dfa8..9b245dc7c20 100644
--- a/plugins/plugin-bundle/README.md
+++ b/plugins/plugin-bundle/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-bundle/package.json b/plugins/plugin-bundle/package.json
index 0d0aed9dd43..e6444fce7ea 100644
--- a/plugins/plugin-bundle/package.json
+++ b/plugins/plugin-bundle/package.json
@@ -51,11 +51,11 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0",
+ "@freesewing/plugin-annotations": "3.0.0-alpha.8",
"@freesewing/plugin-banner": "3.0.0-alpha.8",
"@freesewing/plugin-buttons": "3.0.0-alpha.8",
- "@freesewing/plugin-cutonfold": "3.0.0-alpha.8",
"@freesewing/plugin-dimension": "3.0.0-alpha.8",
"@freesewing/plugin-grainline": "3.0.0-alpha.8",
"@freesewing/plugin-logo": "3.0.0-alpha.8",
diff --git a/plugins/plugin-bundle/src/index.mjs b/plugins/plugin-bundle/src/index.mjs
index 0a4f63ea1f2..7c9adc59939 100644
--- a/plugins/plugin-bundle/src/index.mjs
+++ b/plugins/plugin-bundle/src/index.mjs
@@ -1,35 +1,18 @@
-import { bannerPlugin } from '../../plugin-banner/src/index.mjs'
-import { bartackPlugin } from '../../plugin-bartack/src/index.mjs'
-import { buttonsPlugin } from '../../plugin-buttons/src/index.mjs'
-import { cutonfoldPlugin } from '../../plugin-cutonfold/src/index.mjs'
-import { dimensionPlugin } from '../../plugin-dimension/src/index.mjs'
-import { grainlinePlugin } from '../../plugin-grainline/src/index.mjs'
-import { logoPlugin } from '../../plugin-logo/src/index.mjs'
+import { annotationsPlugin } from '../../plugin-annotations/src/index.mjs'
+
import { measurementsPlugin } from '../../plugin-measurements/src/index.mjs'
import { mirrorPlugin } from '../../plugin-mirror/src/index.mjs'
-import { notchesPlugin } from '../../plugin-notches/src/index.mjs'
import { roundPlugin } from '../../plugin-round/src/index.mjs'
-import { scaleboxPlugin } from '../../plugin-scalebox/src/index.mjs'
import { sprinklePlugin } from '../../plugin-sprinkle/src/index.mjs'
-import { titlePlugin } from '../../plugin-title/src/index.mjs'
import { pluginCutlist } from '../../plugin-cutlist/src/index.mjs'
import { name, version } from '../data.mjs'
const bundledPlugins = [
- bannerPlugin,
- bartackPlugin,
- buttonsPlugin,
- cutonfoldPlugin,
- dimensionPlugin,
- grainlinePlugin,
- logoPlugin,
+ annotationsPlugin,
measurementsPlugin,
mirrorPlugin,
- notchesPlugin,
roundPlugin,
- scaleboxPlugin,
sprinklePlugin,
- titlePlugin,
pluginCutlist,
]
diff --git a/plugins/plugin-bust/README.md b/plugins/plugin-bust/README.md
index 3746a064fd1..cf0da1bfa71 100644
--- a/plugins/plugin-bust/README.md
+++ b/plugins/plugin-bust/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-bust/package.json b/plugins/plugin-bust/package.json
index 52a9a91d12e..4022ab09235 100644
--- a/plugins/plugin-bust/package.json
+++ b/plugins/plugin-bust/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-buttons/CHANGELOG.md b/plugins/plugin-buttons/CHANGELOG.md
deleted file mode 100644
index adcc835291c..00000000000
--- a/plugins/plugin-buttons/CHANGELOG.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# Change log for: @freesewing/plugin-buttons
-
-
-## 2.21.0 (2022-06-27)
-
-### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-## 2.19.6 (2021-12-29)
-
-### Added
-
- - Added (esm) unit tests
-
-### Changed
-
- - Add utility classes and CSS variables for better styling support
-
-### Fixed
-
- - Only add snippets once to SVG object
-
-## 2.17.0 (2021-07-01)
-
-### Changed
-
- - Is now included in plugin-bundle
-
-## 2.15.0 (2021-04-15)
-
-### Added
-
- - Added the buttonhole-end snippet
- - Added the buttonhole-start snippet
-
-## 2.7.0 (2020-07-12)
-
-### Changed
-
- - Snippet names are changed, `snap-male` is now `snap-stud` and `snap-female` is now `snap-socket` Changing this to avoid needless use of gender related terminology.
-
-### Removed
-
- - Snippet `snap-male` and `snap-female` are no longer available. Use `snap-stud` and `snap-socket` instead
-
-## 2.0.0 (2019-08-25)
-
-### Added
-
- - Initial release
-
-
-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/plugins/plugin-buttons/README.md b/plugins/plugin-buttons/README.md
deleted file mode 100644
index 83bb61da1ba..00000000000
--- a/plugins/plugin-buttons/README.md
+++ /dev/null
@@ -1,296 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-# @freesewing/plugin-buttons
-
-A FreeSewing plugin that provides button, buttonhole, and snap snippets
-
-
-
-
-> #### Note: Version 3 is a work in progress
->
-> We are working on a new major version (v3) but it is not ready for prime-time.
-> For production use, please refer to our v2 packages (the `latest` on NPM)
-> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2).
->
-> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now.
-
-## What am I looking at? π€
-
-This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites.
-
-This folder holds: @freesewing/plugin-buttons
-
-If you're not entirely sure what to do or how to start, type this command:
-
-```
-npm run tips
-```
-
-> 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
-our sewing patterns adapted to your measurements.
-
-If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
-Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
-for parametric design of sewing patterns. But we also provide 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 create-freesewing-pattern
-```
-
-Or, consult our getting started guides
-for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
-[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
-or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
-
-We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
-walks you through your first parametric design,
-and [a friendly community](https://freesewing.org/community/where/) with
-people who can help you when you get stuck.
-
-## Support FreeSewing: Become a patron π₯°
-
-FreeSewing is an open source project run by a community,
-and financially supported by our patrons.
-
-If you feel what we do is worthwhile, and you can spend a few coind without
-hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
-
-## Links π©βπ»
-
- - π» Makers website: [freesewing.org](https://freesewing.org)
- - π» Developers website: [freesewing.dev](https://freesewing.dev)
- - π¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/)
- - β
Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
- - π¦ Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
- - π· Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
-
-## 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 π€―
-
-Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions,
-share your feedback, or just hang out.
-
-If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
-
-
-
-## Contributors β¨
-
-Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
-
-
-
-
-
-
-
-
-
-
-
-This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
-
diff --git a/plugins/plugin-buttons/build.mjs b/plugins/plugin-buttons/build.mjs
deleted file mode 100644
index 99ace216bc8..00000000000
--- a/plugins/plugin-buttons/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/plugins/plugin-buttons/data.mjs b/plugins/plugin-buttons/data.mjs
deleted file mode 100644
index b05bea8fee2..00000000000
--- a/plugins/plugin-buttons/data.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is auto-generated | All changes you make will be overwritten.
-export const name = '@freesewing/plugin-buttons'
-export const version = '3.0.0-alpha.8'
-export const data = { name, version }
diff --git a/plugins/plugin-buttons/img/example.png b/plugins/plugin-buttons/img/example.png
deleted file mode 100644
index 70ea646c479..00000000000
Binary files a/plugins/plugin-buttons/img/example.png and /dev/null differ
diff --git a/plugins/plugin-buttons/package.json b/plugins/plugin-buttons/package.json
deleted file mode 100644
index 612b66c4557..00000000000
--- a/plugins/plugin-buttons/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "@freesewing/plugin-buttons",
- "version": "3.0.0-alpha.8",
- "description": "A FreeSewing plugin that provides button, buttonhole, and snap snippets",
- "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",
- "plugin",
- "sewing pattern",
- "sewing",
- "design",
- "parametric design",
- "made to measure",
- "diy",
- "fashion"
- ],
- "type": "module",
- "module": "dist/index.mjs",
- "exports": {
- ".": "./dist/index.mjs"
- },
- "scripts": {
- "build": "node build.mjs",
- "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": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
- "cibuild_step1": "node build.mjs",
- "wbuild": "node build.mjs",
- "wcibuild_step1": "node build.mjs"
- },
- "peerDependencies": {
- "@freesewing/core": "3.0.0-alpha.8"
- },
- "dependencies": {},
- "devDependencies": {
- "mocha": "10.0.0",
- "chai": "4.2.0"
- },
- "files": [
- "dist/*",
- "README.md"
- ],
- "publishConfig": {
- "access": "public",
- "tag": "next"
- },
- "engines": {
- "node": ">=16.0.0",
- "npm": ">=8"
- }
-}
diff --git a/plugins/plugin-buttons/tests/shared.test.mjs b/plugins/plugin-buttons/tests/shared.test.mjs
deleted file mode 100644
index 7bf4f668398..00000000000
--- a/plugins/plugin-buttons/tests/shared.test.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-// This file is auto-generated | Any changes you make will be overwritten.
-import { plugin } from '../src/index.mjs'
-import { sharedPluginTests } from '../../../tests/plugins/shared.mjs'
-
-// Run shared tests
-sharedPluginTests(plugin)
diff --git a/plugins/plugin-cutlist/README.md b/plugins/plugin-cutlist/README.md
index 716213dbe2f..2fa55621e0a 100644
--- a/plugins/plugin-cutlist/README.md
+++ b/plugins/plugin-cutlist/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-cutlist/package.json b/plugins/plugin-cutlist/package.json
index b72004fc131..f1f3e3e6c01 100644
--- a/plugins/plugin-cutlist/package.json
+++ b/plugins/plugin-cutlist/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-cutonfold/.travis.yml b/plugins/plugin-cutonfold/.travis.yml
deleted file mode 100644
index 121b29f66a4..00000000000
--- a/plugins/plugin-cutonfold/.travis.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-language: node_js
-node_js:
- - "node"
-install:
- - npm install
- - npm run build
-script:
- - npm run test
- - npm run coverage
diff --git a/plugins/plugin-cutonfold/CHANGELOG.md b/plugins/plugin-cutonfold/CHANGELOG.md
deleted file mode 100644
index 27b7b278169..00000000000
--- a/plugins/plugin-cutonfold/CHANGELOG.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# Change log for: @freesewing/plugin-cutonfold
-
-
-## 2.21.0 (2022-06-27)
-
-### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-## 2.20.0 (2022-01-24)
-
-### Added
-
- - Support for scale setting
-
-## 2.19.6 (2021-12-29)
-
-### Added
-
- - Added (esm) unit tests
-
-## 2.0.0 (2019-08-25)
-
-### Added
-
- - Initial release
-
-
-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/plugins/plugin-cutonfold/README.md b/plugins/plugin-cutonfold/README.md
deleted file mode 100644
index 4d9c7315f3e..00000000000
--- a/plugins/plugin-cutonfold/README.md
+++ /dev/null
@@ -1,296 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-# @freesewing/plugin-cutonfold
-
-A FreeSewing plugin to add cut-on-fold indicators on your patterns
-
-
-
-
-> #### Note: Version 3 is a work in progress
->
-> We are working on a new major version (v3) but it is not ready for prime-time.
-> For production use, please refer to our v2 packages (the `latest` on NPM)
-> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2).
->
-> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now.
-
-## What am I looking at? π€
-
-This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites.
-
-This folder holds: @freesewing/plugin-cutonfold
-
-If you're not entirely sure what to do or how to start, type this command:
-
-```
-npm run tips
-```
-
-> 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
-our sewing patterns adapted to your measurements.
-
-If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
-Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
-for parametric design of sewing patterns. But we also provide 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 create-freesewing-pattern
-```
-
-Or, consult our getting started guides
-for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
-[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
-or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
-
-We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
-walks you through your first parametric design,
-and [a friendly community](https://freesewing.org/community/where/) with
-people who can help you when you get stuck.
-
-## Support FreeSewing: Become a patron π₯°
-
-FreeSewing is an open source project run by a community,
-and financially supported by our patrons.
-
-If you feel what we do is worthwhile, and you can spend a few coind without
-hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
-
-## Links π©βπ»
-
- - π» Makers website: [freesewing.org](https://freesewing.org)
- - π» Developers website: [freesewing.dev](https://freesewing.dev)
- - π¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/)
- - β
Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
- - π¦ Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
- - π· Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
-
-## 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 π€―
-
-Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions,
-share your feedback, or just hang out.
-
-If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
-
-
-
-## Contributors β¨
-
-Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
-
-
-
-
-
-
-
-
-
-
-
-This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
-
diff --git a/plugins/plugin-cutonfold/build.mjs b/plugins/plugin-cutonfold/build.mjs
deleted file mode 100644
index 99ace216bc8..00000000000
--- a/plugins/plugin-cutonfold/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/plugins/plugin-cutonfold/data.mjs b/plugins/plugin-cutonfold/data.mjs
deleted file mode 100644
index 261c3241aaf..00000000000
--- a/plugins/plugin-cutonfold/data.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is auto-generated | All changes you make will be overwritten.
-export const name = '@freesewing/plugin-cutonfold'
-export const version = '3.0.0-alpha.8'
-export const data = { name, version }
diff --git a/plugins/plugin-cutonfold/img/example.png b/plugins/plugin-cutonfold/img/example.png
deleted file mode 100644
index 8859f388572..00000000000
Binary files a/plugins/plugin-cutonfold/img/example.png and /dev/null differ
diff --git a/plugins/plugin-cutonfold/src/index.mjs b/plugins/plugin-cutonfold/src/index.mjs
deleted file mode 100644
index 961babe1ed7..00000000000
--- a/plugins/plugin-cutonfold/src/index.mjs
+++ /dev/null
@@ -1,71 +0,0 @@
-import { name, version } from '../data.mjs'
-
-const markers = `
-
-
-
-
-
-
-`
-
-export const plugin = {
- name,
- version,
- hooks: {
- preRender: (svg) => {
- if (svg.defs.indexOf(markers) === -1) svg.defs += markers
- },
- },
- macros: {
- cutonfold: function (so, { points, paths, Path, complete, store, scale }) {
- if (so === false) {
- delete points.cutonfoldFrom
- delete points.cutonfoldTo
- delete points.cutonfoldVia1
- delete points.cutonfoldVia2
- delete paths.cutonfoldCutonfold
- // setCutOnFold relies on plugin-cutlist
- if (typeof store.get('cutlist.setCutOnFold') === 'function') {
- store.cutlist.setCutOnFold(false) // Restore default
- }
- return true
- }
- so = {
- offset: 15,
- margin: 5,
- prefix: 'cutonfold',
- ...so,
- }
- if (typeof store.cutlist !== 'undefined') {
- store.cutlist.setCutOnFold(so.from, so.to)
- if (so.grainline) store.cutlist.setGrain(so.from.angle(so.to))
- }
- if (complete) {
- points[so.prefix + 'From'] = so.from.shiftFractionTowards(so.to, so.margin / 100)
- points[so.prefix + 'To'] = so.to.shiftFractionTowards(so.from, so.margin / 100)
- points[so.prefix + 'Via1'] = points[so.prefix + 'From']
- .shiftTowards(so.from, so.offset * scale)
- .rotate(-90, points[so.prefix + 'From'])
- points[so.prefix + 'Via2'] = points[so.prefix + 'To']
- .shiftTowards(so.to, so.offset * scale)
- .rotate(90, points[so.prefix + 'To'])
- const text = so.grainline ? 'cutOnFoldAndGrainline' : 'cutOnFold'
- paths[so.prefix + 'Cutonfold'] = new Path()
- .move(points[so.prefix + 'From'])
- .line(points[so.prefix + 'Via1'])
- .line(points[so.prefix + 'Via2'])
- .line(points[so.prefix + 'To'])
- .attr('class', 'note')
- .attr('marker-start', 'url(#cutonfoldFrom)')
- .attr('marker-end', 'url(#cutonfoldTo)')
- .attr('data-text', text)
- .attr('data-text-class', 'center fill-note')
- }
- },
- },
-}
-
-// More specifically named exports
-export const cutonfoldPlugin = plugin
-export const pluginCutonfold = plugin
diff --git a/plugins/plugin-cutonfold/src/lib/markers.js b/plugins/plugin-cutonfold/src/lib/markers.js
deleted file mode 100644
index b60f1aed59f..00000000000
--- a/plugins/plugin-cutonfold/src/lib/markers.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// FIXME identical arrow paths for dimensions, cutonfold, and grainline
-export default `
-
-
-
-
-
-
-`;
diff --git a/plugins/plugin-cutonfold/tests/shared.test.mjs b/plugins/plugin-cutonfold/tests/shared.test.mjs
deleted file mode 100644
index 7bf4f668398..00000000000
--- a/plugins/plugin-cutonfold/tests/shared.test.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-// This file is auto-generated | Any changes you make will be overwritten.
-import { plugin } from '../src/index.mjs'
-import { sharedPluginTests } from '../../../tests/plugins/shared.mjs'
-
-// Run shared tests
-sharedPluginTests(plugin)
diff --git a/plugins/plugin-dimension/.travis.yml b/plugins/plugin-dimension/.travis.yml
deleted file mode 100644
index 121b29f66a4..00000000000
--- a/plugins/plugin-dimension/.travis.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-language: node_js
-node_js:
- - "node"
-install:
- - npm install
- - npm run build
-script:
- - npm run test
- - npm run coverage
diff --git a/plugins/plugin-dimension/CHANGELOG.md b/plugins/plugin-dimension/CHANGELOG.md
deleted file mode 100644
index efdd90cd0fc..00000000000
--- a/plugins/plugin-dimension/CHANGELOG.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# Change log for: @freesewing/plugin-dimension
-
-
-## 2.21.0 (2022-06-27)
-
-### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-## 2.20.0 (2022-01-24)
-
-### Fixed
-
- - Support hiding start/end markers on path dimensions (pd macro)
-
-## 2.19.6 (2021-12-29)
-
-### Added
-
- - Added (esm) unit tests
-
-## 2.15.0 (2021-04-15)
-
-### Added
-
- - Added the `rmad` macro
-
-## 2.9.0 (2020-10-02)
-
-### Added
-
- - Added support for passing in the ID used to add paths to the part
- - Added the `rmd` macro that removes dimensions
-
-## 2.4.4 (2020-03-15)
-
-### Changed
-
- - Don't escape inch symbol in text. Instead let Svg.escapeText() handle it at render time
-
-## 2.1.5 (2019-11-19)
-
-### Fixed
-
- - Fixed issue where inch marks where breaking SVG because of unescaped double quotes
-
-## 2.0.0 (2019-08-25)
-
-### Added
-
- - Initial release
-
-
-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/plugins/plugin-dimension/README.md b/plugins/plugin-dimension/README.md
deleted file mode 100644
index 9e33399a381..00000000000
--- a/plugins/plugin-dimension/README.md
+++ /dev/null
@@ -1,296 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-# @freesewing/plugin-dimension
-
-A FreeSewing plugin to add dimensions to your (paperless) pattern
-
-
-
-
-> #### Note: Version 3 is a work in progress
->
-> We are working on a new major version (v3) but it is not ready for prime-time.
-> For production use, please refer to our v2 packages (the `latest` on NPM)
-> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2).
->
-> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now.
-
-## What am I looking at? π€
-
-This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites.
-
-This folder holds: @freesewing/plugin-dimension
-
-If you're not entirely sure what to do or how to start, type this command:
-
-```
-npm run tips
-```
-
-> 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
-our sewing patterns adapted to your measurements.
-
-If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
-Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
-for parametric design of sewing patterns. But we also provide 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 create-freesewing-pattern
-```
-
-Or, consult our getting started guides
-for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
-[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
-or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
-
-We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
-walks you through your first parametric design,
-and [a friendly community](https://freesewing.org/community/where/) with
-people who can help you when you get stuck.
-
-## Support FreeSewing: Become a patron π₯°
-
-FreeSewing is an open source project run by a community,
-and financially supported by our patrons.
-
-If you feel what we do is worthwhile, and you can spend a few coind without
-hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
-
-## Links π©βπ»
-
- - π» Makers website: [freesewing.org](https://freesewing.org)
- - π» Developers website: [freesewing.dev](https://freesewing.dev)
- - π¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/)
- - β
Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
- - π¦ Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
- - π· Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
-
-## 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 π€―
-
-Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions,
-share your feedback, or just hang out.
-
-If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
-
-
-
-## Contributors β¨
-
-Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
-
-
-
-
-
-
-
-
-
-
-
-This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
-
diff --git a/plugins/plugin-dimension/build.mjs b/plugins/plugin-dimension/build.mjs
deleted file mode 100644
index 99ace216bc8..00000000000
--- a/plugins/plugin-dimension/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/plugins/plugin-dimension/data.mjs b/plugins/plugin-dimension/data.mjs
deleted file mode 100644
index 27aca705483..00000000000
--- a/plugins/plugin-dimension/data.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is auto-generated | All changes you make will be overwritten.
-export const name = '@freesewing/plugin-dimension'
-export const version = '3.0.0-alpha.8'
-export const data = { name, version }
diff --git a/plugins/plugin-dimension/img/example.png b/plugins/plugin-dimension/img/example.png
deleted file mode 100644
index ef8b3f06825..00000000000
Binary files a/plugins/plugin-dimension/img/example.png and /dev/null differ
diff --git a/plugins/plugin-dimension/package.json b/plugins/plugin-dimension/package.json
deleted file mode 100644
index 0d5ff6c937f..00000000000
--- a/plugins/plugin-dimension/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "@freesewing/plugin-dimension",
- "version": "3.0.0-alpha.8",
- "description": "A FreeSewing plugin to add dimensions to your (paperless) pattern",
- "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",
- "plugin",
- "sewing pattern",
- "sewing",
- "design",
- "parametric design",
- "made to measure",
- "diy",
- "fashion"
- ],
- "type": "module",
- "module": "dist/index.mjs",
- "exports": {
- ".": "./dist/index.mjs"
- },
- "scripts": {
- "build": "node build.mjs",
- "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": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
- "cibuild_step1": "node build.mjs",
- "wbuild": "node build.mjs",
- "wcibuild_step1": "node build.mjs"
- },
- "peerDependencies": {
- "@freesewing/core": "3.0.0-alpha.8"
- },
- "dependencies": {},
- "devDependencies": {
- "mocha": "10.0.0",
- "chai": "4.2.0"
- },
- "files": [
- "dist/*",
- "README.md"
- ],
- "publishConfig": {
- "access": "public",
- "tag": "next"
- },
- "engines": {
- "node": ">=16.0.0",
- "npm": ">=8"
- }
-}
diff --git a/plugins/plugin-dimension/src/index.mjs b/plugins/plugin-dimension/src/index.mjs
deleted file mode 100644
index bedb50b8961..00000000000
--- a/plugins/plugin-dimension/src/index.mjs
+++ /dev/null
@@ -1,164 +0,0 @@
-import { name, version } from '../data.mjs'
-
-const markers = `
-
-
-
-
-
-
-`
-const prefix = '__paperless'
-
-function drawDimension(from, to, so, { Path, units }) {
- const dimension = new Path()
- .move(from)
- .line(to)
- .attr('class', 'mark')
- .attr('data-text', so.text || units(from.dist(to)))
- .attr('data-text-class', 'fill-mark center')
- if (!so.noStartMarker) dimension.attributes.set('marker-start', 'url(#dimensionFrom)')
- if (!so.noEndMarker) dimension.attributes.set('marker-end', 'url(#dimensionTo)')
-
- return dimension
-}
-
-function drawLeader({ paths, Path }, from, to, id) {
- paths[id] = new Path().move(from).line(to).attr('class', 'mark dotted')
-}
-
-function hleader(so, type, props, id) {
- const { Point } = props
- let point
- if (typeof so.y === 'undefined' || so[type].y === so.y) {
- point = so[type]
- } else {
- point = new Point(so[type].x, so.y)
- drawLeader(props, so[type], point, id)
- }
-
- return point
-}
-
-function vleader(so, type, props, id) {
- const { Point } = props
- let point
- if (typeof so.x === 'undefined' || so[type].x === so.x) {
- point = so[type]
- } else {
- point = new Point(so.x, so[type].y)
- drawLeader(props, so[type], point, id)
- }
-
- return point
-}
-
-function lleader(so, type, props, id) {
- let point, rot, other
- if (type === 'from') {
- rot = 1
- other = 'to'
- } else {
- rot = -1
- other = 'from'
- }
- if (typeof so.d === 'undefined') {
- point = so[type]
- } else {
- point = so[type].shiftTowards(so[other], so.d).rotate(90 * rot, so[type])
- drawLeader(props, so[type], point, id)
- }
-
- return point
-}
-
-export const plugin = {
- name,
- version,
- hooks: {
- preRender: (svg) => {
- if (svg.defs.indexOf(markers) === -1) svg.defs += markers
- },
- },
- macros: {
- // horizontal
- hd: function (so, props) {
- const { getId, paths } = props
- const id = so.id || getId(prefix)
- paths[id] = drawDimension(
- hleader(so, 'from', props, id + '_ls'),
- hleader(so, 'to', props, id + '_le'),
- so,
- props
- )
- },
- // vertical
- vd: function (so, props) {
- const { getId, paths } = props
- const id = so.id || getId(prefix)
- paths[id] = drawDimension(
- vleader(so, 'from', props, id + '_ls'),
- vleader(so, 'to', props, id + '_le'),
- so,
- props
- )
- },
- // linear
- ld: function (so, props) {
- const { getId, paths } = props
- const id = so.id || getId(prefix)
- paths[id] = drawDimension(
- lleader(so, 'from', props, id + '_ls'),
- lleader(so, 'to', props, id + '_le'),
- so,
- props
- )
- },
- // path
- pd: function (so, props) {
- const { getId, paths, scale, units } = props
- const id = so.id || getId(prefix)
- if (typeof so.d === 'undefined') so.d = 10 * scale
- const dimension = so.path
- .offset(so.d)
- .attr('class', 'mark')
- .attr('data-text', so.text || units(so.path.length()))
- .attr('data-text-class', 'fill-mark center')
- if (!so.noStartMarker) dimension.attributes.set('marker-start', 'url(#dimensionFrom)')
- if (!so.noEndMarker) dimension.attributes.set('marker-end', 'url(#dimensionTo)')
- paths[id] = dimension
- drawLeader(props, so.path.start(), dimension.start(), id + '_ls')
- drawLeader(props, so.path.end(), dimension.end(), id + '_le')
- },
- // Remove dimension
- rmd: function (so, props) {
- const { paths } = props
- if (paths[so.id]) delete this.paths[so.id]
- if (paths[`${so.id}_ls`]) delete paths[`${so.id}_ls`]
- if (paths[`${so.id}_le`]) delete paths[`${so.id}_le`]
- if (Array.isArray(so.ids)) {
- for (const id of so.ids) {
- if (paths[id]) delete paths[id]
- if (paths[`${id}_ls`]) delete paths[`${id}_ls`]
- if (paths[`${id}_le`]) delete paths[`${id}_le`]
- }
- }
- },
- // Remove all dimensions (with standard prefix)
- rmad: function (params, props) {
- const toRemove = {
- points: props.point,
- paths: props.paths,
- }
- for (let type in toRemove) {
- for (let id in props[type]) {
- if (id.slice(0, prefix.length) === prefix) delete props[type][id]
- }
- }
- },
- },
-}
-
-// More specifically named exports
-export const dimensionPlugin = plugin
-export const pluginDimension = plugin
diff --git a/plugins/plugin-dimension/src/lib/markers.js b/plugins/plugin-dimension/src/lib/markers.js
deleted file mode 100644
index d04ddc42dd9..00000000000
--- a/plugins/plugin-dimension/src/lib/markers.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// FIXME identical arrow paths for dimensions, cutonfold, and grainline
-export default `
-
-
-
-
-
-
-`;
diff --git a/plugins/plugin-dimension/tests/shared.test.mjs b/plugins/plugin-dimension/tests/shared.test.mjs
deleted file mode 100644
index 7bf4f668398..00000000000
--- a/plugins/plugin-dimension/tests/shared.test.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-// This file is auto-generated | Any changes you make will be overwritten.
-import { plugin } from '../src/index.mjs'
-import { sharedPluginTests } from '../../../tests/plugins/shared.mjs'
-
-// Run shared tests
-sharedPluginTests(plugin)
diff --git a/plugins/plugin-flip/README.md b/plugins/plugin-flip/README.md
index d1c48ac31dd..5da666c94f7 100644
--- a/plugins/plugin-flip/README.md
+++ b/plugins/plugin-flip/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-flip/package.json b/plugins/plugin-flip/package.json
index f17d447465f..43d54bd14ff 100644
--- a/plugins/plugin-flip/package.json
+++ b/plugins/plugin-flip/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-gore/README.md b/plugins/plugin-gore/README.md
index 6261ed24621..4aa716b06c6 100644
--- a/plugins/plugin-gore/README.md
+++ b/plugins/plugin-gore/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-gore/package.json b/plugins/plugin-gore/package.json
index 3bc96a5baae..ada99fee8ba 100644
--- a/plugins/plugin-gore/package.json
+++ b/plugins/plugin-gore/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-grainline/.travis.yml b/plugins/plugin-grainline/.travis.yml
deleted file mode 100644
index 121b29f66a4..00000000000
--- a/plugins/plugin-grainline/.travis.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-language: node_js
-node_js:
- - "node"
-install:
- - npm install
- - npm run build
-script:
- - npm run test
- - npm run coverage
diff --git a/plugins/plugin-grainline/CHANGELOG.md b/plugins/plugin-grainline/CHANGELOG.md
deleted file mode 100644
index 1da1da256ec..00000000000
--- a/plugins/plugin-grainline/CHANGELOG.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# Change log for: @freesewing/plugin-grainline
-
-
-## 2.21.0 (2022-06-27)
-
-### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-## 2.20.0 (2022-01-24)
-
-### Added
-
- - Added support for custom text
-
-## 2.19.6 (2021-12-29)
-
-### Added
-
- - Added (esm) unit tests
-
-## 2.0.0 (2019-08-25)
-
-### Added
-
- - Initial release
-
-
-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/plugins/plugin-grainline/README.md b/plugins/plugin-grainline/README.md
deleted file mode 100644
index ea783c77b26..00000000000
--- a/plugins/plugin-grainline/README.md
+++ /dev/null
@@ -1,296 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-# @freesewing/plugin-grainline
-
-A FreeSewing plugin to add grainline indicators on your patterns
-
-
-
-
-> #### Note: Version 3 is a work in progress
->
-> We are working on a new major version (v3) but it is not ready for prime-time.
-> For production use, please refer to our v2 packages (the `latest` on NPM)
-> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2).
->
-> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now.
-
-## What am I looking at? π€
-
-This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites.
-
-This folder holds: @freesewing/plugin-grainline
-
-If you're not entirely sure what to do or how to start, type this command:
-
-```
-npm run tips
-```
-
-> 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
-our sewing patterns adapted to your measurements.
-
-If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
-Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
-for parametric design of sewing patterns. But we also provide 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 create-freesewing-pattern
-```
-
-Or, consult our getting started guides
-for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
-[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
-or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
-
-We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
-walks you through your first parametric design,
-and [a friendly community](https://freesewing.org/community/where/) with
-people who can help you when you get stuck.
-
-## Support FreeSewing: Become a patron π₯°
-
-FreeSewing is an open source project run by a community,
-and financially supported by our patrons.
-
-If you feel what we do is worthwhile, and you can spend a few coind without
-hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
-
-## Links π©βπ»
-
- - π» Makers website: [freesewing.org](https://freesewing.org)
- - π» Developers website: [freesewing.dev](https://freesewing.dev)
- - π¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/)
- - β
Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
- - π¦ Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
- - π· Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
-
-## 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 π€―
-
-Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions,
-share your feedback, or just hang out.
-
-If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
-
-
-
-## Contributors β¨
-
-Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
-
-
-
-
-
-
-
-
-
-
-
-This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
-
diff --git a/plugins/plugin-grainline/build.mjs b/plugins/plugin-grainline/build.mjs
deleted file mode 100644
index 99ace216bc8..00000000000
--- a/plugins/plugin-grainline/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/plugins/plugin-grainline/data.mjs b/plugins/plugin-grainline/data.mjs
deleted file mode 100644
index ecd5ac09512..00000000000
--- a/plugins/plugin-grainline/data.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is auto-generated | All changes you make will be overwritten.
-export const name = '@freesewing/plugin-grainline'
-export const version = '3.0.0-alpha.8'
-export const data = { name, version }
diff --git a/plugins/plugin-grainline/img/example.png b/plugins/plugin-grainline/img/example.png
deleted file mode 100644
index c36c388f669..00000000000
Binary files a/plugins/plugin-grainline/img/example.png and /dev/null differ
diff --git a/plugins/plugin-grainline/package.json b/plugins/plugin-grainline/package.json
deleted file mode 100644
index 93a12bcd983..00000000000
--- a/plugins/plugin-grainline/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "@freesewing/plugin-grainline",
- "version": "3.0.0-alpha.8",
- "description": "A FreeSewing plugin to add grainline indicators on your patterns",
- "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",
- "plugin",
- "sewing pattern",
- "sewing",
- "design",
- "parametric design",
- "made to measure",
- "diy",
- "fashion"
- ],
- "type": "module",
- "module": "dist/index.mjs",
- "exports": {
- ".": "./dist/index.mjs"
- },
- "scripts": {
- "build": "node build.mjs",
- "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": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
- "cibuild_step1": "node build.mjs",
- "wbuild": "node build.mjs",
- "wcibuild_step1": "node build.mjs"
- },
- "peerDependencies": {
- "@freesewing/core": "3.0.0-alpha.8"
- },
- "dependencies": {},
- "devDependencies": {
- "mocha": "10.0.0",
- "chai": "4.2.0"
- },
- "files": [
- "dist/*",
- "README.md"
- ],
- "publishConfig": {
- "access": "public",
- "tag": "next"
- },
- "engines": {
- "node": ">=16.0.0",
- "npm": ">=8"
- }
-}
diff --git a/plugins/plugin-grainline/src/index.mjs b/plugins/plugin-grainline/src/index.mjs
deleted file mode 100644
index 3f15015319d..00000000000
--- a/plugins/plugin-grainline/src/index.mjs
+++ /dev/null
@@ -1,59 +0,0 @@
-import { name, version } from '../data.mjs'
-
-const markers = `
-
-
-
-
-
-`
-
-const dflts = { text: 'grainline' }
-
-export const plugin = {
- name,
- version,
- hooks: {
- preRender: (svg) => {
- if (svg.defs.indexOf(markers) === -1) svg.defs += markers
- },
- },
- macros: {
- grainline: function (so = {}, { points, paths, Path, complete, store }) {
- if (so === false) {
- delete points.grainlineFrom
- delete points.grainlineTo
- delete paths.grainline
- if (typeof store.cutlist.setGrain === 'function') {
- store.cutlist.setGrain(false) // Restoring default
- }
- return true
- }
- so = {
- ...dflts,
- ...so,
- }
- // setGrain relies on plugin-cutlist
- if (typeof store.get('cutlist.setGrain') === 'function') {
- store.cutlist.setGrain(so.from.angle(so.to))
- }
-
- if (complete) {
- points.grainlineFrom = so.from.shiftFractionTowards(so.to, 0.05)
- points.grainlineTo = so.to.shiftFractionTowards(so.from, 0.05)
- paths.grainline = new Path()
- .move(points.grainlineFrom)
- .line(points.grainlineTo)
- .attr('class', 'note')
- .attr('marker-start', 'url(#grainlineFrom)')
- .attr('marker-end', 'url(#grainlineTo)')
- .attr('data-text', so.text)
- .attr('data-text-class', 'center fill-note')
- }
- },
- },
-}
-
-// More specifically named exports
-export const grainlinePlugin = plugin
-export const pluginGrainline = plugin
diff --git a/plugins/plugin-grainline/src/markers.js b/plugins/plugin-grainline/src/markers.js
deleted file mode 100644
index 2dc576b2e84..00000000000
--- a/plugins/plugin-grainline/src/markers.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// FIXME identical arrow paths for dimensions, cutonfold, and grainline
-export default `
-
-
-
-
-
-
-`
diff --git a/plugins/plugin-grainline/tests/shared.test.mjs b/plugins/plugin-grainline/tests/shared.test.mjs
deleted file mode 100644
index 7bf4f668398..00000000000
--- a/plugins/plugin-grainline/tests/shared.test.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-// This file is auto-generated | Any changes you make will be overwritten.
-import { plugin } from '../src/index.mjs'
-import { sharedPluginTests } from '../../../tests/plugins/shared.mjs'
-
-// Run shared tests
-sharedPluginTests(plugin)
diff --git a/plugins/plugin-i18n/README.md b/plugins/plugin-i18n/README.md
index 88ac1b45a18..437c281428e 100644
--- a/plugins/plugin-i18n/README.md
+++ b/plugins/plugin-i18n/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-i18n/package.json b/plugins/plugin-i18n/package.json
index 9450cc866c7..90d36c37f23 100644
--- a/plugins/plugin-i18n/package.json
+++ b/plugins/plugin-i18n/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-logo/.travis.yml b/plugins/plugin-logo/.travis.yml
deleted file mode 100644
index 121b29f66a4..00000000000
--- a/plugins/plugin-logo/.travis.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-language: node_js
-node_js:
- - "node"
-install:
- - npm install
- - npm run build
-script:
- - npm run test
- - npm run coverage
diff --git a/plugins/plugin-logo/CHANGELOG.md b/plugins/plugin-logo/CHANGELOG.md
deleted file mode 100644
index 5c39d52b2ae..00000000000
--- a/plugins/plugin-logo/CHANGELOG.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# Change log for: @freesewing/plugin-logo
-
-
-## 2.21.0 (2022-06-27)
-
-### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-## 2.19.6 (2021-12-29)
-
-### Added
-
- - Added (esm) unit tests
-
-## 2.15.0 (2021-04-15)
-
-### Added
-
- - Render logo in currentColor to support dark mode
-
-## 2.0.0 (2019-08-25)
-
-### Added
-
- - Initial release
-
-
-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/plugins/plugin-logo/README.md b/plugins/plugin-logo/README.md
deleted file mode 100644
index 203969f5e76..00000000000
--- a/plugins/plugin-logo/README.md
+++ /dev/null
@@ -1,296 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-# @freesewing/plugin-logo
-
-A FreeSewing plugin to add our logo to your patterns
-
-
-
-
-> #### Note: Version 3 is a work in progress
->
-> We are working on a new major version (v3) but it is not ready for prime-time.
-> For production use, please refer to our v2 packages (the `latest` on NPM)
-> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2).
->
-> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now.
-
-## What am I looking at? π€
-
-This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites.
-
-This folder holds: @freesewing/plugin-logo
-
-If you're not entirely sure what to do or how to start, type this command:
-
-```
-npm run tips
-```
-
-> 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
-our sewing patterns adapted to your measurements.
-
-If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
-Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
-for parametric design of sewing patterns. But we also provide 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 create-freesewing-pattern
-```
-
-Or, consult our getting started guides
-for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
-[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
-or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
-
-We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
-walks you through your first parametric design,
-and [a friendly community](https://freesewing.org/community/where/) with
-people who can help you when you get stuck.
-
-## Support FreeSewing: Become a patron π₯°
-
-FreeSewing is an open source project run by a community,
-and financially supported by our patrons.
-
-If you feel what we do is worthwhile, and you can spend a few coind without
-hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
-
-## Links π©βπ»
-
- - π» Makers website: [freesewing.org](https://freesewing.org)
- - π» Developers website: [freesewing.dev](https://freesewing.dev)
- - π¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/)
- - β
Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
- - π¦ Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
- - π· Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
-
-## 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 π€―
-
-Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions,
-share your feedback, or just hang out.
-
-If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
-
-
-
-## Contributors β¨
-
-Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
-
-
-
-
-
-
-
-
-
-
-
-This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
-
diff --git a/plugins/plugin-logo/build.mjs b/plugins/plugin-logo/build.mjs
deleted file mode 100644
index 99ace216bc8..00000000000
--- a/plugins/plugin-logo/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/plugins/plugin-logo/img/example.png b/plugins/plugin-logo/img/example.png
deleted file mode 100644
index 70ea646c479..00000000000
Binary files a/plugins/plugin-logo/img/example.png and /dev/null differ
diff --git a/plugins/plugin-logo/package.json b/plugins/plugin-logo/package.json
deleted file mode 100644
index 9573c3cde9e..00000000000
--- a/plugins/plugin-logo/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "@freesewing/plugin-logo",
- "version": "3.0.0-alpha.8",
- "description": "A FreeSewing plugin to add our logo to your patterns",
- "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",
- "plugin",
- "sewing pattern",
- "sewing",
- "design",
- "parametric design",
- "made to measure",
- "diy",
- "fashion"
- ],
- "type": "module",
- "module": "dist/index.mjs",
- "exports": {
- ".": "./dist/index.mjs"
- },
- "scripts": {
- "build": "node build.mjs",
- "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": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
- "cibuild_step1": "node build.mjs",
- "wbuild": "node build.mjs",
- "wcibuild_step1": "node build.mjs"
- },
- "peerDependencies": {
- "@freesewing/core": "3.0.0-alpha.8"
- },
- "dependencies": {},
- "devDependencies": {
- "mocha": "10.0.0",
- "chai": "4.2.0"
- },
- "files": [
- "dist/*",
- "README.md"
- ],
- "publishConfig": {
- "access": "public",
- "tag": "next"
- },
- "engines": {
- "node": ">=16.0.0",
- "npm": ">=8"
- }
-}
diff --git a/plugins/plugin-logo/tests/shared.test.mjs b/plugins/plugin-logo/tests/shared.test.mjs
deleted file mode 100644
index 7bf4f668398..00000000000
--- a/plugins/plugin-logo/tests/shared.test.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-// This file is auto-generated | Any changes you make will be overwritten.
-import { plugin } from '../src/index.mjs'
-import { sharedPluginTests } from '../../../tests/plugins/shared.mjs'
-
-// Run shared tests
-sharedPluginTests(plugin)
diff --git a/plugins/plugin-measurements/README.md b/plugins/plugin-measurements/README.md
index b03e7c31079..7acde67478e 100644
--- a/plugins/plugin-measurements/README.md
+++ b/plugins/plugin-measurements/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-measurements/package.json b/plugins/plugin-measurements/package.json
index 6f4cf4c98aa..0ca0156399f 100644
--- a/plugins/plugin-measurements/package.json
+++ b/plugins/plugin-measurements/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-mirror/README.md b/plugins/plugin-mirror/README.md
index 709d0072b61..25fbebeb0e6 100644
--- a/plugins/plugin-mirror/README.md
+++ b/plugins/plugin-mirror/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-mirror/package.json b/plugins/plugin-mirror/package.json
index c19b67d3439..60a8d8ebed3 100644
--- a/plugins/plugin-mirror/package.json
+++ b/plugins/plugin-mirror/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-mirror/src/index.mjs b/plugins/plugin-mirror/src/index.mjs
index 92524990314..d272aa7cf3a 100644
--- a/plugins/plugin-mirror/src/index.mjs
+++ b/plugins/plugin-mirror/src/index.mjs
@@ -15,7 +15,20 @@ const mirrorGen = (start, end) => {
const uNom = (B ** 2 - A ** 2) * x - 2 * A * B * y - 2 * A * C
const vNom = (A ** 2 - B ** 2) * y - 2 * A * B * x - 2 * B * C
const denom = A ** 2 + B ** 2
- return [uNom / denom, vNom / denom]
+
+ point.x = uNom / denom
+ point.y = vNom / denom
+
+ const mirrorCount = Number(point.attributes.get('data-mirrored'))
+ if (mirrorCount > 0)
+ point.log.warning(
+ `Point ${point.name} was mirrored more than once (${
+ mirrorCount + 1
+ }) which can lead to hard to trace bugs`
+ )
+ point.attributes.set('data-mirrored', mirrorCount + 1)
+
+ return point
}
}
@@ -28,66 +41,60 @@ export const plugin = {
mirror: function ({
mirror,
clone = true,
- points = null,
- paths = null,
+ points = [],
+ paths = [],
prefix = 'mirrored',
nameFormat = undefined,
}) {
const [start, end] = mirror
const mirrorPoint = mirrorGen(start, end)
- const ops = ['from', 'to', 'cp1', 'cp2']
- if (paths !== null) {
- paths.forEach((path) => {
- // Try to find point name from path by looking in list of all points
- let foundId = null
- for (let id of Object.keys(this.paths)) {
- if (this.paths[id] === path) {
- foundId = id
- break
+ for (const pathId of paths) {
+ // Make sure the path exists
+ if (this.paths[pathId]) {
+ const path = clone ? this.paths[pathId].clone() : this.paths[pathId]
+
+ const newId = clone
+ ? typeof nameFormat == 'function'
+ ? nameFormat(pathId, 'path')
+ : `${prefix}${capFirst(pathId)}`
+ : pathId
+
+ for (const op of path.ops) {
+ switch (op.type) {
+ case 'move':
+ case 'line':
+ op.to = mirrorPoint(op.to)
+ break
+ case 'curve':
+ op.to = mirrorPoint(op.to)
+ op.cp1 = mirrorPoint(op.cp1)
+ op.cp2 = mirrorPoint(op.cp2)
+ break
+ default:
+ // Do nothing
}
}
- path = clone ? path.clone() : path
- if (clone) {
- if (foundId === null && typeof nameFormat == 'function') {
- this.paths[nameFormat(path)] = path
- } else {
- this.paths[`${prefix}${capFirst(foundId)}`] = path
- }
- }
- for (let op in path.ops) {
- for (let type of ops) {
- // Iterate over all possible path op points and clone/move point
- const pathOp = path.ops[op][type]
- if (typeof pathOp !== 'undefined') {
- [pathOp.x, pathOp.y] = mirrorPoint(pathOp)
- pathOp.attributes.set('mirrored', true)
- }
- }
- }
- })
+
+ this.paths[newId] = path
+ }
}
- if (points !== null) {
- points.forEach((point) => {
- let foundId = null
- for (let id of Object.keys(this.points)) {
- if (this.points[id] === point) {
- foundId = id
- break
- }
- }
- if (clone) {
- point = point.clone()
- if (foundId === null && typeof nameFormat == 'function') {
- this.points[nameFormat(point)] = point
- } else {
- this.points[`${prefix}${capFirst(foundId)}`] = point
- }
- }
- [point.x, point.y] = mirrorPoint(point)
- point.attributes.set('mirrored', true)
- })
+ for (const pointId of points) {
+ // Make sure the point exists
+ if (this.points[pointId]) {
+ const point = clone
+ ? mirrorPoint(this.points[pointId].clone())
+ : mirrorPoint(this.points[pointId])
+
+ const newId = clone
+ ? typeof nameFormat == 'function'
+ ? nameFormat(pointId, 'point')
+ : `${prefix}${capFirst(pointId)}`
+ : pointId
+
+ this.points[newId] = point
+ }
}
},
},
diff --git a/plugins/plugin-mirror/tests/plugin.test.mjs b/plugins/plugin-mirror/tests/plugin.test.mjs
index 3dbee0a1de5..de398705a82 100644
--- a/plugins/plugin-mirror/tests/plugin.test.mjs
+++ b/plugins/plugin-mirror/tests/plugin.test.mjs
@@ -17,8 +17,8 @@ describe('Mirror Plugin Tests', () => {
.curve(new Point(10, 20), new Point(30, 40), new Point(50, 60))
const settings = {
mirror: [points.mirrorA, points.mirrorB],
- points: [points.a, points.b],
- paths: [paths.test],
+ points: ['a', 'b'],
+ paths: ['test'],
}
macro('mirror', settings)
macro('mirror', { ...settings, prefix: 'test' })
diff --git a/plugins/plugin-notches/CHANGELOG.md b/plugins/plugin-notches/CHANGELOG.md
deleted file mode 100644
index 3d237a46a81..00000000000
--- a/plugins/plugin-notches/CHANGELOG.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Change log for: @freesewing/plugin-notches
-
-
-## 2.21.0 (2022-06-27)
-
-### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-## 2.19.6 (2021-12-29)
-
-### Added
-
- - Added (esm) unit tests
-
-## 2.11.0 (2021-01-10)
-
-### Added
-
- - Initial release. See [#757](https://github.com/freesewing/freesewing/issues/757)
-
-
-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/plugins/plugin-notches/README.md b/plugins/plugin-notches/README.md
deleted file mode 100644
index 3ec17b23a99..00000000000
--- a/plugins/plugin-notches/README.md
+++ /dev/null
@@ -1,296 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-# @freesewing/plugin-notches
-
-A FreeSewing plugin that provides front and back notch snippets
-
-
-
-
-> #### Note: Version 3 is a work in progress
->
-> We are working on a new major version (v3) but it is not ready for prime-time.
-> For production use, please refer to our v2 packages (the `latest` on NPM)
-> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2).
->
-> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now.
-
-## What am I looking at? π€
-
-This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites.
-
-This folder holds: @freesewing/plugin-notches
-
-If you're not entirely sure what to do or how to start, type this command:
-
-```
-npm run tips
-```
-
-> 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
-our sewing patterns adapted to your measurements.
-
-If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
-Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
-for parametric design of sewing patterns. But we also provide 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 create-freesewing-pattern
-```
-
-Or, consult our getting started guides
-for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
-[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
-or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
-
-We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
-walks you through your first parametric design,
-and [a friendly community](https://freesewing.org/community/where/) with
-people who can help you when you get stuck.
-
-## Support FreeSewing: Become a patron π₯°
-
-FreeSewing is an open source project run by a community,
-and financially supported by our patrons.
-
-If you feel what we do is worthwhile, and you can spend a few coind without
-hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
-
-## Links π©βπ»
-
- - π» Makers website: [freesewing.org](https://freesewing.org)
- - π» Developers website: [freesewing.dev](https://freesewing.dev)
- - π¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/)
- - β
Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
- - π¦ Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
- - π· Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
-
-## 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 π€―
-
-Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions,
-share your feedback, or just hang out.
-
-If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
-
-
-
-## Contributors β¨
-
-Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
-
-
-
-
-
-
-
-
-
-
-
-This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
-
diff --git a/plugins/plugin-notches/build.mjs b/plugins/plugin-notches/build.mjs
deleted file mode 100644
index 99ace216bc8..00000000000
--- a/plugins/plugin-notches/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/plugins/plugin-notches/data.mjs b/plugins/plugin-notches/data.mjs
deleted file mode 100644
index 285393b3fc5..00000000000
--- a/plugins/plugin-notches/data.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is auto-generated | All changes you make will be overwritten.
-export const name = '@freesewing/plugin-notches'
-export const version = '3.0.0-alpha.8'
-export const data = { name, version }
diff --git a/plugins/plugin-notches/package.json b/plugins/plugin-notches/package.json
deleted file mode 100644
index 960e70018c5..00000000000
--- a/plugins/plugin-notches/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "@freesewing/plugin-notches",
- "version": "3.0.0-alpha.8",
- "description": "A FreeSewing plugin that provides front and back notch snippets",
- "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",
- "plugin",
- "sewing pattern",
- "sewing",
- "design",
- "parametric design",
- "made to measure",
- "diy",
- "fashion"
- ],
- "type": "module",
- "module": "dist/index.mjs",
- "exports": {
- ".": "./dist/index.mjs"
- },
- "scripts": {
- "build": "node build.mjs",
- "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": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
- "cibuild_step1": "node build.mjs",
- "wbuild": "node build.mjs",
- "wcibuild_step1": "node build.mjs"
- },
- "peerDependencies": {
- "@freesewing/core": "3.0.0-alpha.8"
- },
- "dependencies": {},
- "devDependencies": {
- "mocha": "10.0.0",
- "chai": "4.2.0"
- },
- "files": [
- "dist/*",
- "README.md"
- ],
- "publishConfig": {
- "access": "public",
- "tag": "next"
- },
- "engines": {
- "node": ">=16.0.0",
- "npm": ">=8"
- }
-}
diff --git a/plugins/plugin-notches/src/index.mjs b/plugins/plugin-notches/src/index.mjs
deleted file mode 100644
index c83eaf33fb3..00000000000
--- a/plugins/plugin-notches/src/index.mjs
+++ /dev/null
@@ -1,25 +0,0 @@
-import { name, version } from '../data.mjs'
-
-const notches = `
-
-
-
-
-
-
-
-`
-
-export const plugin = {
- name,
- version,
- hooks: {
- preRender: function (svg) {
- if (svg.defs.indexOf(`id="notch"`) === -1) svg.defs += notches
- },
- },
-}
-
-// More specifically named exports
-export const notchesPlugin = plugin
-export const pluginNotches = plugin
diff --git a/plugins/plugin-notches/tests/shared.test.mjs b/plugins/plugin-notches/tests/shared.test.mjs
deleted file mode 100644
index 7bf4f668398..00000000000
--- a/plugins/plugin-notches/tests/shared.test.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-// This file is auto-generated | Any changes you make will be overwritten.
-import { plugin } from '../src/index.mjs'
-import { sharedPluginTests } from '../../../tests/plugins/shared.mjs'
-
-// Run shared tests
-sharedPluginTests(plugin)
diff --git a/plugins/plugin-round/README.md b/plugins/plugin-round/README.md
index 1cc12d6a280..87651d1fe12 100644
--- a/plugins/plugin-round/README.md
+++ b/plugins/plugin-round/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-round/package.json b/plugins/plugin-round/package.json
index 5d194837de1..f2887d3c450 100644
--- a/plugins/plugin-round/package.json
+++ b/plugins/plugin-round/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-scalebox/.travis.yml b/plugins/plugin-scalebox/.travis.yml
deleted file mode 100644
index 121b29f66a4..00000000000
--- a/plugins/plugin-scalebox/.travis.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-language: node_js
-node_js:
- - "node"
-install:
- - npm install
- - npm run build
-script:
- - npm run test
- - npm run coverage
diff --git a/plugins/plugin-scalebox/CHANGELOG.md b/plugins/plugin-scalebox/CHANGELOG.md
deleted file mode 100644
index 9ea5b45fc42..00000000000
--- a/plugins/plugin-scalebox/CHANGELOG.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# Change log for: @freesewing/plugin-scalebox
-
-
-## 2.21.0 (2022-06-27)
-
-### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-## 2.19.6 (2021-12-29)
-
-### Added
-
- - Added (esm) unit tests
-
-### Changed
-
- - Add utility classes and CSS variables for better styling support
-
-## 2.11.3 (2021-01-16)
-
-### Added
-
- - Now includes the miniscale macro
-
-### Changed
-
- - Took my name off the patterns
-
-## 2.0.0 (2019-08-25)
-
-### Added
-
- - Initial release
-
-
-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/plugins/plugin-scalebox/README.md b/plugins/plugin-scalebox/README.md
deleted file mode 100644
index 907f5cb99ca..00000000000
--- a/plugins/plugin-scalebox/README.md
+++ /dev/null
@@ -1,296 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-# @freesewing/plugin-scalebox
-
-A FreeSewing plugin to add a scalebox to your pattern
-
-
-
-
-> #### Note: Version 3 is a work in progress
->
-> We are working on a new major version (v3) but it is not ready for prime-time.
-> For production use, please refer to our v2 packages (the `latest` on NPM)
-> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2).
->
-> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now.
-
-## What am I looking at? π€
-
-This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites.
-
-This folder holds: @freesewing/plugin-scalebox
-
-If you're not entirely sure what to do or how to start, type this command:
-
-```
-npm run tips
-```
-
-> 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
-our sewing patterns adapted to your measurements.
-
-If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
-Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
-for parametric design of sewing patterns. But we also provide 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 create-freesewing-pattern
-```
-
-Or, consult our getting started guides
-for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
-[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
-or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
-
-We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
-walks you through your first parametric design,
-and [a friendly community](https://freesewing.org/community/where/) with
-people who can help you when you get stuck.
-
-## Support FreeSewing: Become a patron π₯°
-
-FreeSewing is an open source project run by a community,
-and financially supported by our patrons.
-
-If you feel what we do is worthwhile, and you can spend a few coind without
-hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
-
-## Links π©βπ»
-
- - π» Makers website: [freesewing.org](https://freesewing.org)
- - π» Developers website: [freesewing.dev](https://freesewing.dev)
- - π¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/)
- - β
Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
- - π¦ Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
- - π· Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
-
-## 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 π€―
-
-Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions,
-share your feedback, or just hang out.
-
-If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
-
-
-
-## Contributors β¨
-
-Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
-
-
-
-
-
-
-
-
-
-
-
-This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
-
diff --git a/plugins/plugin-scalebox/build.mjs b/plugins/plugin-scalebox/build.mjs
deleted file mode 100644
index 99ace216bc8..00000000000
--- a/plugins/plugin-scalebox/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/plugins/plugin-scalebox/data.mjs b/plugins/plugin-scalebox/data.mjs
deleted file mode 100644
index e257efcedd6..00000000000
--- a/plugins/plugin-scalebox/data.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is auto-generated | All changes you make will be overwritten.
-export const name = '@freesewing/plugin-scalebox'
-export const version = '3.0.0-alpha.8'
-export const data = { name, version }
diff --git a/plugins/plugin-scalebox/img/custom.png b/plugins/plugin-scalebox/img/custom.png
deleted file mode 100644
index 159a7c7212d..00000000000
Binary files a/plugins/plugin-scalebox/img/custom.png and /dev/null differ
diff --git a/plugins/plugin-scalebox/img/example.png b/plugins/plugin-scalebox/img/example.png
deleted file mode 100644
index a30693cb776..00000000000
Binary files a/plugins/plugin-scalebox/img/example.png and /dev/null differ
diff --git a/plugins/plugin-scalebox/src/index.mjs b/plugins/plugin-scalebox/src/index.mjs
deleted file mode 100644
index 1b8a4c0fc4e..00000000000
--- a/plugins/plugin-scalebox/src/index.mjs
+++ /dev/null
@@ -1,13 +0,0 @@
-import { name, version } from '../data.mjs'
-import { scalebox } from './scalebox.mjs'
-import { miniscale } from './miniscale.mjs'
-
-export const plugin = {
- name,
- version,
- macros: { scalebox, miniscale },
-}
-
-// More specifically named exports
-export const scaleboxPlugin = plugin
-export const pluginScalebox = plugin
diff --git a/plugins/plugin-scalebox/src/miniscale.mjs b/plugins/plugin-scalebox/src/miniscale.mjs
deleted file mode 100644
index b7876518fd0..00000000000
--- a/plugins/plugin-scalebox/src/miniscale.mjs
+++ /dev/null
@@ -1,94 +0,0 @@
-export function miniscale(so, { points, paths, Point, Path, scale }) {
- // Passing `false` will remove the miniscale
- if (so === false) {
- for (const id of [
- '__miniscaleMetricTopLeft',
- '__miniscaleMetricTopRight',
- '__miniscaleMetricBottomRight',
- '__miniscaleMetricBottomLeft',
- '__miniscaleImperialTopLeft',
- '__miniscaleImperialTopRight',
- '__miniscaleImperialBottomRight',
- '__miniscaleImperialBottomLeft',
- '__miniscaleMetric',
- '__miniscaleImperial',
- ])
- delete points[id]
- for (const id of ['__miniscaleMetric', '__miniscaleImperial']) delete paths[id]
- return true
- }
-
- // Convert scale to a value between 0 and 5, inclusive.
- const scaleIndex = Math.ceil(6 * Math.max(0.1, Math.min(1, scale))) - 1
-
- // Metric size in mm / display value and imperial size in mm / display value for each scale index.
- const sizes = [
- [10, '1cm', 25.4 * 0.375, 'β
β³'],
- [13, '1.3cm', 25.4 * 0.5, 'Β½β³'],
- [16, '1.6cm', 25.4 * 0.625, 'β
β³'],
- [19, '1.9cm', 25.4 * 0.75, 'ΒΎβ³'],
- [22, '2.2cm', 25.4 * 0.875, 'β
β³'],
- [25, '2.5cm', 25.4 * 1, '1β³'],
- ]
- const m = sizes[scaleIndex][0] / 2
- const i = sizes[scaleIndex][2] / 2
- const metricDisplaySize = sizes[scaleIndex][1]
- const imperialDisplaySize = sizes[scaleIndex][3]
- // Box points
- points.__miniscaleMetricTopLeft = new Point(so.at.x - m, so.at.y - m)
- points.__miniscaleMetricTopRight = new Point(so.at.x + m, so.at.y - m)
- points.__miniscaleMetricBottomLeft = new Point(so.at.x - m, so.at.y + m)
- points.__miniscaleMetricBottomRight = new Point(so.at.x + m, so.at.y + m)
- points.__miniscaleImperialTopLeft = new Point(so.at.x - i, so.at.y - i)
- points.__miniscaleImperialTopRight = new Point(so.at.x + i, so.at.y - i)
- points.__miniscaleImperialBottomLeft = new Point(so.at.x - i, so.at.y + i)
- points.__miniscaleImperialBottomRight = new Point(so.at.x + i, so.at.y + i)
- // Text anchor points
- points.__miniscaleMetric = new Point(so.at.x, so.at.y - 2 * scale)
- points.__miniscaleImperial = new Point(so.at.x, so.at.y + 8 * scale)
- // Rotation
- if (so.rotate) {
- so.rotate = Number(so.rotate)
- let toRotate = [
- '__miniscaleMetricTopLeft',
- '__miniscaleMetricTopRight',
- '__miniscaleMetricBottomLeft',
- '__miniscaleMetricBottomRight',
- '__miniscaleImperialTopLeft',
- '__miniscaleImperialTopRight',
- '__miniscaleImperialBottomLeft',
- '__miniscaleImperialBottomRight',
- '__miniscaleMetric',
- '__miniscaleImperial',
- ]
- for (const pid of toRotate) points[pid] = points[pid].rotate(so.rotate, so.at)
- for (const pid of toRotate.slice(8)) {
- points[pid].attributes.set(
- 'data-text-transform',
- `rotate(${so.rotate * -1}, ${points[pid].x}, ${points[pid].y})`
- )
- }
- }
- // Paths
- paths.__miniscaleImperial = new Path()
- .attr('class', 'scalebox imperial fill-current')
- .move(points.__miniscaleImperialTopLeft)
- .line(points.__miniscaleImperialBottomLeft)
- .line(points.__miniscaleImperialBottomRight)
- .line(points.__miniscaleImperialTopRight)
- .close()
- paths.__miniscaleMetric = new Path()
- .attr('class', 'scalebox metric fill-bg')
- .move(points.__miniscaleMetricTopLeft)
- .line(points.__miniscaleMetricBottomLeft)
- .line(points.__miniscaleMetricBottomRight)
- .line(points.__miniscaleMetricTopRight)
- .close()
- // Text
- points.__miniscaleMetric = points.__miniscaleMetric
- .attr('data-text', `${metricDisplaySize} x ${metricDisplaySize}`)
- .attr('data-text-class', 'text-xs center')
- points.__miniscaleImperial = points.__miniscaleImperial
- .attr('data-text', `${imperialDisplaySize} x ${imperialDisplaySize}`)
- .attr('data-text-class', 'text-xs center ')
-}
diff --git a/plugins/plugin-scalebox/src/scalebox.mjs b/plugins/plugin-scalebox/src/scalebox.mjs
deleted file mode 100644
index 55a343f102b..00000000000
--- a/plugins/plugin-scalebox/src/scalebox.mjs
+++ /dev/null
@@ -1,179 +0,0 @@
-export function scalebox(so, { store, points, paths, scale, Point, Path }) {
- // Passing `false` will remove the scalebox
- if (so === false) {
- for (let id of [
- '__scaleboxMetricTopLeft',
- '__scaleboxMetricTopRight',
- '__scaleboxMetricBottomRight',
- '__scaleboxMetricBottomLeft',
- '__scaleboxImperialTopLeft',
- '__scaleboxImperialTopRight',
- '__scaleboxImperialBottomRight',
- '__scaleboxImperialBottomLeft',
- '__scaleboxLead',
- '__scaleboxTitle',
- '__scaleboxText',
- '__scaleboxLink',
- '__scaleboxMetric',
- '__scaleboxImperial',
- ])
- delete points[id]
- for (let id of ['__scaleboxMetric', '__scaleboxImperial']) delete paths[id]
- return true
- }
-
- // Convert scale to a value between 0 and 9, inclusive.
- const scaleIndex = Math.round(10 * Math.max(0.1, Math.min(1, scale))) - 1
-
- // Metric width and height in mm and display width and height for each scale index.
- const metricSizes = [
- [10, 5, '1cm', '0.5cm'],
- [20, 10, '2cm', '1cm'],
- [30, 15, '3cm', '1.5cm'],
- [40, 20, '4cm', '2cm'],
- [50, 25, '5cm', '2.5cm'],
- [60, 30, '6cm', '3cm'],
- [70, 35, '7cm', '3.5cm'],
- [80, 40, '8cm', '4cm'],
- [90, 45, '9cm', '4.5cm'],
- [100, 50, '10cm', '5cm'],
- ]
-
- const metricWidth = metricSizes[scaleIndex][0]
- const metricHeight = metricSizes[scaleIndex][1]
- const metricDisplayWidth = metricSizes[scaleIndex][2]
- const metricDisplayHeight = metricSizes[scaleIndex][3]
-
- // Imperial width and height in mm and display width and heigth for each scale index.
- const imperialSizes = [
- [25.4 * 0.5, 25.4 * 0.25, 'Β½β³', 'ΒΌβ³'],
- [25.4 * 0.875, 25.4 * 0.5, 'β
β³', 'Β½β³'],
- [25.4 * 1.25, 25.4 * 0.625, '1 ΒΌβ³', 'β
β³'],
- [25.4 * 1.625, 25.4 * 0.875, '1 β
β³', 'β
β³'],
- [25.4 * 2, 25.4 * 1, '2β³', '1β³'],
- [25.4 * 2.375, 25.4 * 1.25, '2 β
β³', '1 ΒΌβ³'],
- [25.4 * 2.875, 25.4 * 1.5, '2 β
β³', '1 Β½β³'],
- [25.4 * 3.25, 25.4 * 1.625, '3 ΒΌβ³', '1 β
β³'],
- [25.4 * 3.625, 25.4 * 1.875, '3 β
β³', '1 β
β³'],
- [25.4 * 4, 25.4 * 2, '4β³', '2β³'],
- ]
-
- const imperialWidth = imperialSizes[scaleIndex][0]
- const imperialHeight = imperialSizes[scaleIndex][1]
- const imperialDisplayWidth = imperialSizes[scaleIndex][2]
- const imperialDisplayHeight = imperialSizes[scaleIndex][3]
-
- // Box points
- points.__scaleboxMetricTopLeft = new Point(so.at.x - metricWidth / 2, so.at.y - metricHeight / 2)
- points.__scaleboxMetricTopRight = new Point(so.at.x + metricWidth / 2, so.at.y - metricHeight / 2)
- points.__scaleboxMetricBottomLeft = new Point(
- so.at.x - metricWidth / 2,
- so.at.y + metricHeight / 2
- )
- points.__scaleboxMetricBottomRight = new Point(
- so.at.x + metricWidth / 2,
- so.at.y + metricHeight / 2
- )
- points.__scaleboxImperialTopLeft = new Point(
- so.at.x - imperialWidth / 2,
- so.at.y - imperialHeight / 2
- )
- points.__scaleboxImperialTopRight = new Point(
- so.at.x + imperialWidth / 2,
- so.at.y - imperialHeight / 2
- )
- points.__scaleboxImperialBottomLeft = new Point(
- so.at.x - imperialWidth / 2,
- so.at.y + imperialHeight / 2
- )
- points.__scaleboxImperialBottomRight = new Point(
- so.at.x + imperialWidth / 2,
- so.at.y + imperialHeight / 2
- )
- // Text anchor points
- points.__scaleboxLead = new Point(so.at.x - 45 * scale, so.at.y - 15 * scale)
- points.__scaleboxTitle = points.__scaleboxLead.shift(-90, 10 * scale)
- points.__scaleboxText = points.__scaleboxTitle.shift(-90, 12 * scale)
- points.__scaleboxLink = points.__scaleboxText.shift(-90, 5 * scale)
- points.__scaleboxMetric = new Point(so.at.x, so.at.y + 20 * scale)
- points.__scaleboxImperial = new Point(so.at.x, so.at.y + 24 * scale)
- // Rotation
- if (so.rotate) {
- so.rotate = Number(so.rotate)
- let toRotate = [
- '__scaleboxMetricTopLeft',
- '__scaleboxMetricTopRight',
- '__scaleboxMetricBottomLeft',
- '__scaleboxMetricBottomRight',
- '__scaleboxImperialTopLeft',
- '__scaleboxImperialTopRight',
- '__scaleboxImperialBottomLeft',
- '__scaleboxImperialBottomRight',
- '__scaleboxLead',
- '__scaleboxTitle',
- '__scaleboxText',
- '__scaleboxLink',
- '__scaleboxMetric',
- '__scaleboxImperial',
- ]
- for (let pid of toRotate) points[pid] = points[pid].rotate(so.rotate, so.at)
- for (let pid of toRotate.slice(8)) {
- points[pid].attributes.set(
- 'data-text-transform',
- `rotate(${so.rotate * -1}, ${points[pid].x}, ${points[pid].y})`
- )
- }
- }
- // Paths
- paths.__scaleboxImperial = new Path()
- .attr('class', 'scalebox imperial fill-current')
- .move(points.__scaleboxImperialTopLeft)
- .line(points.__scaleboxImperialBottomLeft)
- .line(points.__scaleboxImperialBottomRight)
- .line(points.__scaleboxImperialTopRight)
- .close()
- paths.__scaleboxMetric = new Path()
- .attr('class', 'scalebox metric fill-bg')
- .move(points.__scaleboxMetricTopLeft)
- .line(points.__scaleboxMetricBottomLeft)
- .line(points.__scaleboxMetricBottomRight)
- .line(points.__scaleboxMetricTopRight)
- .close()
- // Lead
- points.__scaleboxLead = points.__scaleboxLead
- .attr('data-text', so.lead || 'FreeSewing')
- .attr('data-text-class', 'text-sm')
- // Title
- if (so.title) points.__scaleboxTitle.attributes.set('data-text', so.title)
- else {
- let name = store.data?.name || 'No Name'
- if (name.indexOf('@freesewing/') !== -1) name = name.replace('@freesewing/', '')
- points.__scaleboxTitle = points.__scaleboxTitle
- .attr('data-text', name)
- .attr('data-text', 'v' + (store.data?.version || 'No Version'))
- }
- points.__scaleboxTitle.attributes.add('data-text-class', 'text-lg')
- // Text
- if (typeof so.text === 'string') {
- points.__scaleboxText.attr('data-text', so.text)
- } else {
- points.__scaleboxText.attr('data-text', 'supportFreesewingBecomeAPatron')
- points.__scaleboxLink = points.__scaleboxLink
- .attr('data-text', 'freesewing.org/patrons/join')
- .attr('data-text-class', 'text-sm fill-note')
- }
- points.__scaleboxText.attr('data-text-class', 'text-xs').attr('data-text-lineheight', 4)
- // Instructions
- points.__scaleboxMetric = points.__scaleboxMetric
- .attr('data-text', 'theWhiteInsideOfThisBoxShouldMeasure')
- .attr('data-text', `${metricDisplayWidth}`)
- .attr('data-text', 'x')
- .attr('data-text', `${metricDisplayHeight}`)
- .attr('data-text-class', 'text-xs center')
- points.__scaleboxImperial = points.__scaleboxImperial
- .attr('data-text', 'theBlackOutsideOfThisBoxShouldMeasure')
- .attr('data-text', `${imperialDisplayWidth}`)
- .attr('data-text', 'x')
- .attr('data-text', `${imperialDisplayHeight}`)
- .attr('data-text-class', 'text-xs center ')
-}
diff --git a/plugins/plugin-scalebox/tests/shared.test.mjs b/plugins/plugin-scalebox/tests/shared.test.mjs
deleted file mode 100644
index 7bf4f668398..00000000000
--- a/plugins/plugin-scalebox/tests/shared.test.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-// This file is auto-generated | Any changes you make will be overwritten.
-import { plugin } from '../src/index.mjs'
-import { sharedPluginTests } from '../../../tests/plugins/shared.mjs'
-
-// Run shared tests
-sharedPluginTests(plugin)
diff --git a/plugins/plugin-sprinkle/README.md b/plugins/plugin-sprinkle/README.md
index 0f0bbe5e10f..12d7fc804e5 100644
--- a/plugins/plugin-sprinkle/README.md
+++ b/plugins/plugin-sprinkle/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-sprinkle/package.json b/plugins/plugin-sprinkle/package.json
index ffccbee5f96..f80bb0b8bae 100644
--- a/plugins/plugin-sprinkle/package.json
+++ b/plugins/plugin-sprinkle/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-svgattr/README.md b/plugins/plugin-svgattr/README.md
index b3f50eb4285..924c1b99f88 100644
--- a/plugins/plugin-svgattr/README.md
+++ b/plugins/plugin-svgattr/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-svgattr/package.json b/plugins/plugin-svgattr/package.json
index 909ac2f9c72..9c79b0a936b 100644
--- a/plugins/plugin-svgattr/package.json
+++ b/plugins/plugin-svgattr/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-theme/README.md b/plugins/plugin-theme/README.md
index 94577c06fc6..7aa0ae67c67 100644
--- a/plugins/plugin-theme/README.md
+++ b/plugins/plugin-theme/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-theme/package.json b/plugins/plugin-theme/package.json
index 9cede645b6f..3650d9f9f29 100644
--- a/plugins/plugin-theme/package.json
+++ b/plugins/plugin-theme/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-timing/README.md b/plugins/plugin-timing/README.md
index d014bfc3b36..0f6c0b9734f 100644
--- a/plugins/plugin-timing/README.md
+++ b/plugins/plugin-timing/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-timing/package.json b/plugins/plugin-timing/package.json
index d1c9cc569e0..97b692f17c4 100644
--- a/plugins/plugin-timing/package.json
+++ b/plugins/plugin-timing/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/plugins/plugin-title/.travis.yml b/plugins/plugin-title/.travis.yml
deleted file mode 100644
index 121b29f66a4..00000000000
--- a/plugins/plugin-title/.travis.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-language: node_js
-node_js:
- - "node"
-install:
- - npm install
- - npm run build
-script:
- - npm run test
- - npm run coverage
diff --git a/plugins/plugin-title/CHANGELOG.md b/plugins/plugin-title/CHANGELOG.md
deleted file mode 100644
index 17730d5e390..00000000000
--- a/plugins/plugin-title/CHANGELOG.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# Change log for: @freesewing/plugin-title
-
-
-## 2.22.0 (2022-08-23)
-
-### Added
-
- - Added support for removing the title via a macro call
- - Added a render timestamp to the title
-
-## 2.21.0 (2022-06-27)
-
-### Changed
-
- - Migrated from Rollup to Esbuild for all builds
-
-## 2.20.0 (2022-01-24)
-
-### Added
-
- - Added support for `settings.scale`
-
-### Removed
-
- - Removed rendering of config.cut as it's not used
-
-## 2.19.6 (2021-12-29)
-
-### Added
-
- - Added (esm) unit tests
-
-### Changed
-
- - Add utility classes and CSS variables for better styling support
-
-## 2.9.0 (2020-10-02)
-
-### Added
-
- - Added support for cutting instructions. Closes [#500](https://github.com/freesewing/freesewing/issues/500)
-
-## 2.4.2 (2020-03-08)
-
-### Changed
-
- - Added *for* to title output
-
-## 2.0.0 (2019-08-25)
-
-### Added
-
- - Initial release
-
-
-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/plugins/plugin-title/README.md b/plugins/plugin-title/README.md
deleted file mode 100644
index 4221e304e21..00000000000
--- a/plugins/plugin-title/README.md
+++ /dev/null
@@ -1,296 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-# @freesewing/plugin-title
-
-A FreeSewing plugin to add a title to your pattern parts
-
-
-
-
-> #### Note: Version 3 is a work in progress
->
-> We are working on a new major version (v3) but it is not ready for prime-time.
-> For production use, please refer to our v2 packages (the `latest` on NPM)
-> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2).
->
-> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now.
-
-## What am I looking at? π€
-
-This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites.
-
-This folder holds: @freesewing/plugin-title
-
-If you're not entirely sure what to do or how to start, type this command:
-
-```
-npm run tips
-```
-
-> 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
-our sewing patterns adapted to your measurements.
-
-If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
-Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
-for parametric design of sewing patterns. But we also provide 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 create-freesewing-pattern
-```
-
-Or, consult our getting started guides
-for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
-[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
-or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
-
-We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
-walks you through your first parametric design,
-and [a friendly community](https://freesewing.org/community/where/) with
-people who can help you when you get stuck.
-
-## Support FreeSewing: Become a patron π₯°
-
-FreeSewing is an open source project run by a community,
-and financially supported by our patrons.
-
-If you feel what we do is worthwhile, and you can spend a few coind without
-hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
-
-## Links π©βπ»
-
- - π» Makers website: [freesewing.org](https://freesewing.org)
- - π» Developers website: [freesewing.dev](https://freesewing.dev)
- - π¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/)
- - β
Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
- - π¦ Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
- - π· Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
-
-## 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 π€―
-
-Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions,
-share your feedback, or just hang out.
-
-If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
-
-
-
-## Contributors β¨
-
-Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
-
-
-
-
-
-
-
-
-
-
-
-This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
-
diff --git a/plugins/plugin-title/build.mjs b/plugins/plugin-title/build.mjs
deleted file mode 100644
index 99ace216bc8..00000000000
--- a/plugins/plugin-title/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/plugins/plugin-title/data.mjs b/plugins/plugin-title/data.mjs
deleted file mode 100644
index 3269b1828d5..00000000000
--- a/plugins/plugin-title/data.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is auto-generated | All changes you make will be overwritten.
-export const name = '@freesewing/plugin-title'
-export const version = '3.0.0-alpha.8'
-export const data = { name, version }
diff --git a/plugins/plugin-title/img/example.png b/plugins/plugin-title/img/example.png
deleted file mode 100644
index 4376320d62b..00000000000
Binary files a/plugins/plugin-title/img/example.png and /dev/null differ
diff --git a/plugins/plugin-title/package.json b/plugins/plugin-title/package.json
deleted file mode 100644
index b263fe2ba5a..00000000000
--- a/plugins/plugin-title/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "@freesewing/plugin-title",
- "version": "3.0.0-alpha.8",
- "description": "A FreeSewing plugin to add a title to your pattern parts",
- "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",
- "plugin",
- "sewing pattern",
- "sewing",
- "design",
- "parametric design",
- "made to measure",
- "diy",
- "fashion"
- ],
- "type": "module",
- "module": "dist/index.mjs",
- "exports": {
- ".": "./dist/index.mjs"
- },
- "scripts": {
- "build": "node build.mjs",
- "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": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js",
- "cibuild_step1": "node build.mjs",
- "wbuild": "node build.mjs",
- "wcibuild_step1": "node build.mjs"
- },
- "peerDependencies": {
- "@freesewing/core": "3.0.0-alpha.8"
- },
- "dependencies": {},
- "devDependencies": {
- "mocha": "10.0.0",
- "chai": "4.2.0"
- },
- "files": [
- "dist/*",
- "README.md"
- ],
- "publishConfig": {
- "access": "public",
- "tag": "next"
- },
- "engines": {
- "node": ">=16.0.0",
- "npm": ">=8"
- }
-}
diff --git a/plugins/plugin-title/src/index.mjs b/plugins/plugin-title/src/index.mjs
deleted file mode 100644
index 359262f3d5e..00000000000
--- a/plugins/plugin-title/src/index.mjs
+++ /dev/null
@@ -1,141 +0,0 @@
-import { name, version } from '../data.mjs'
-
-const style = `
-text.title-nr {
- font-size: 24pt;
- font-weight: 700;
- text-anchor: middle;
- dominant-baseline: reset-size;
-}
-text.title-name {
- font-size: 7pt;
- font-weight: 500;
- text-anchor: middle;
- dominant-baseline: reset-size;
-}
-text.title-pattern {
- font-size: 4pt;
- font-weight: 500;
- dominant-baseline: reset-size;
- text-anchor: middle;
- font-style: italic;
-}
-`
-
-export const plugin = {
- name,
- version,
- hooks: {
- preRender: (svg) => {
- if (svg.style.indexOf(`test.title-nr`) === -1) svg.style += style
- },
- },
- macros: {
- title: function (so, { points, scale, locale, store, part }) {
- const prefix = so.prefix || ''
- let overwrite = !so.append
-
- // Passing `false` will remove the title
- if (so === false || overwrite) {
- Object.keys(points).forEach((p) => {
- if (p.startsWith(`_${prefix}_title`) || p === `_${prefix}_exportDate`) delete points[p]
- })
-
- if (so === false) return true
- }
-
- const transform = function (anchor) {
- const cx = anchor.x - so.scale * anchor.x
- const cy = anchor.y - so.scale * anchor.y
-
- return `matrix(${so.scale}, 0, 0, ${so.scale}, ${cx}, ${cy}) rotate(${so.rotation} ${anchor.x} ${anchor.y})`
- }
- let shift = 8
- const nextPoint = (text, textClass, shiftAmt = shift) => {
- const newPoint = so.at
- .shift(-90 - so.rotation, shiftAmt * so.scale)
- .addText(text, textClass)
- newPoint.attr('data-text-transform', transform(newPoint))
- return newPoint
- }
- const defaults = {
- scale: 1,
- rotation: 0,
- cutlist: true,
- }
-
- so = { ...defaults, ...so }
- so.scale = so.scale * scale
-
- points[`_${prefix}_titleNr`] = so.at
- .clone()
- .attr('data-text', so.nr, overwrite)
- .attr('data-text-class', 'text-4xl fill-note font-bold')
- .attr('data-text-transform', transform(so.at))
-
- if (so.title) {
- points[`_${prefix}_titleName`] = nextPoint(so.title, 'text-lg fill-current font-bold')
- shift += 8
- }
-
- // Cut List instructions
- const partCutlist = store.get(['cutlist', part.name], [])
- // if there's a cutlist and it should be included
- if (so.cutlist && partCutlist?.materials) {
- // get the default cutonfold
- const cutonfold = partCutlist.cutOnFold
- // each material
- for (const material in partCutlist.materials) {
- // each set of instructions
- partCutlist.materials[material].forEach(({ cut, identical, bias, ignoreOnFold }, c) => {
- // make a new point for this set of instructions
- const cutPoint = nextPoint('plugin:cut', 'text-md fill-current').addText(cut)
-
- // if they're not identical, add that to the point's text
- if (!identical && cut > 1) cutPoint.addText('plugin:mirrored')
-
- // if they should be cut on the fold add that, with bias or without
- if (cutonfold && !ignoreOnFold)
- cutPoint.addText(bias ? 'plugin:onFoldAndBias' : 'plugin:onFoldLower')
- // otherwise if they should be on the bias, say so
- else if (bias) cutPoint.addText('plugin:onBias')
-
- // add 'from' the material
- cutPoint.addText('plugin:from').addText('plugin:' + material)
-
- // save and shift
- points[`_${prefix}_titleCut_${material}_${c}`] = cutPoint
- shift += 8
- })
- }
- }
-
- let name = store.data?.name || 'No Name'
- name = name.replace('@freesewing/', '')
- name += ' v' + (store.data?.version || 'No Version')
- points[`_${prefix}_titlePattern`] = nextPoint(name, 'fill-note')
-
- if (store.data.for) {
- shift += 8
- points[`_${prefix}_titleFor`] = nextPoint(`( ${store.data.for} )`, 'fill-current font-bold')
- }
- shift += 6
- const now = new Date()
- let hours = now.getHours()
- let mins = now.getMinutes()
- if (hours < 10) hours = `0${hours}`
- if (mins < 10) mins = `0${mins}`
- const exportDate = now.toLocaleDateString(locale || 'en', {
- weekday: 'long',
- year: 'numeric',
- month: 'short',
- day: 'numeric',
- })
- points[`_${prefix}_exportDate`] = nextPoint(`${exportDate}@ ${hours}:${mins}`, 'text-sm')
- },
- },
-}
-
-// More specifically named exports
-export const titlePlugin = plugin
-export const pluginTitle = plugin
diff --git a/plugins/plugin-title/tests/shared.test.mjs b/plugins/plugin-title/tests/shared.test.mjs
deleted file mode 100644
index 7bf4f668398..00000000000
--- a/plugins/plugin-title/tests/shared.test.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-// This file is auto-generated | Any changes you make will be overwritten.
-import { plugin } from '../src/index.mjs'
-import { sharedPluginTests } from '../../../tests/plugins/shared.mjs'
-
-// Run shared tests
-sharedPluginTests(plugin)
diff --git a/plugins/plugin-versionfree-svg/README.md b/plugins/plugin-versionfree-svg/README.md
index 124a2f68693..d9474da9f64 100644
--- a/plugins/plugin-versionfree-svg/README.md
+++ b/plugins/plugin-versionfree-svg/README.md
@@ -22,7 +22,7 @@


Chantal Lapointe
π
 Damien PIQUET π» |
 Darigov Research π π€ |
+  David Clegg π¨ π» |
 Elena FdR π π |
 Emmanuel Nyachoke π» π |
 Enoch Riese π» |
-  EvEkSwed π |
+  EvEkSwed π |
 Fantastik-Maman π |
 Forrest O. π |
 FrΓ©dΓ©ric π |
 Glenn Matthews π |
 Greg Sadetsky π |
 Igor Couto π |
-  Ikko Ashimine π |
+  Ikko Ashimine π |
 Irapeke π |
 Jacek Sawoszczuk π |
 Jason Williams π |
 Jeremy Jackson π» |
 Jeroen Hoek π |
 Joe Schofield π |
-  Joebidido π |
+  Joebidido π |
 Joost De Cock π§ |
 Josh Essman π |
 Kake π |
 Kapunahele Wong π |
 Karen π π |
 Katie McGinley π |
-  Kieran Klaassen π» |
+  Kieran Klaassen π» |
 Kittycatou π |
 Kris π |
 Kristin Ruben π» |
 Loudepeuter π |
 Lucian π |
-  MA-TATAS π |
-  Marcus π |
+  Luiz Saggioro π» |
+  MA-TATAS π |
+  Marcus π |
 Martin Tribo π |
 Nadege Michel β οΈ π |
 Natalia π» π¨ π |
 Nathan Yergler π |
 Nick Dower π π» π |
-  Nikhil Chelliah π |
-  OysteinHoiby π» |
+  Nikhil Chelliah π |
+  OysteinHoiby π» |
 Patrick Forringer π |
 Paul π π π |
 Phillip Thelen π» |
 Pixieish π |
 Prof. dr. Sorcha NΓ Dhubhghaill π |
-  Quentin FELIX π» π¨ |
-  Rik Hekker π |
+  Quentin FELIX π» π¨ |
+  Rik Hekker π |
 Sam Livingston-Gray π |
 Sanne π» π |
 Sara Latorre π |
 SeaZeeZee π π» |
 SimonbJohnson π |
-  SirCharlotte π |
-  Slylele π π |
+  SirCharlotte π |
+  Slylele π π |
 Soazillon π |
 SoneaTheBest π |
 Stefan Sydow π π π» |
 TrΓona π |
 Unmutual π |
-  Wouter van Wageningen π» π¨ π§ |
-  amysews π |
+  Wouter van Wageningen π» π¨ π§ |
+  amysews π |
 anna-puk π» |
 beautifulsummermoon π |
 berce π |
 biou π» |
 bobgeorgethe3rd π» π π¨ |
-  brmlyklr π |
-  chri5b π» β οΈ |
+  brmlyklr π |
+  chri5b π» β οΈ |
 dingcycle π |
 drowned-in-books π¬ |
 econo202 π |
 ericamattos π |
 fightingrabbit π» |
-  gaylyndie π |
-  grimlokason π» |
+  gaylyndie π |
+  grimlokason π» |
 hellgy π¨ |
 jackseye π |
 marckiesel π |
 mergerg π |
 mesil π |
-  starfetch π» π π π¨ |
-  timorl π» |
+  starfetch π» π π π¨ |
+  timorl π» |
 ttimearl π |
 tuesgloomsday π |
 valadaptive π» |
 viocky π |
 woolishboy π» |
+
+
 yc π |
diff --git a/plugins/plugin-versionfree-svg/package.json b/plugins/plugin-versionfree-svg/package.json
index 9beb068166c..7e8043caa0d 100644
--- a/plugins/plugin-versionfree-svg/package.json
+++ b/plugins/plugin-versionfree-svg/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {},
"devDependencies": {
- "mocha": "10.0.0",
+ "mocha": "10.2.0",
"chai": "4.2.0"
},
"files": [
diff --git a/sites/backend/package.json b/sites/backend/package.json
index 8231e00f164..a53733bc232 100644
--- a/sites/backend/package.json
+++ b/sites/backend/package.json
@@ -28,7 +28,7 @@
},
"peerDependencies": {},
"dependencies": {
- "@aws-sdk/client-sesv2": "3.306.0",
+ "@aws-sdk/client-sesv2": "3.312.0",
"@prisma/client": "4.12.0",
"bcryptjs": "2.4.3",
"cors": "2.8.5",
@@ -49,8 +49,8 @@
"devDependencies": {
"chai": "4.2.0",
"chai-http": "4.3.0",
- "esbuild": "0.17.15",
- "mocha": "10.0.0",
+ "esbuild": "0.17.16",
+ "mocha": "10.2.0",
"mocha-steps": "1.3.0",
"nodemon": "2.0.22",
"prisma": "4.12.0"
diff --git a/sites/dev/package.json b/sites/dev/package.json
index dcde81a748e..fb5c1413b35 100644
--- a/sites/dev/package.json
+++ b/sites/dev/package.json
@@ -29,20 +29,20 @@
"@mdx-js/mdx": "2.3.0",
"@mdx-js/react": "2.3.0",
"@mdx-js/runtime": "2.0.0-next.9",
- "@next/bundle-analyzer": "13.2.4",
+ "@next/bundle-analyzer": "13.3.0",
"@tailwindcss/typography": "0.5.9",
"algoliasearch": "4.17.0",
"daisyui": "2.51.5",
"lodash.get": "4.4.2",
"lodash.orderby": "4.6.0",
"lodash.set": "4.3.2",
- "next": "13.2.4",
+ "next": "13.3.0",
"react": "18.2.0",
"react-copy-to-clipboard": "5.1.0",
"react-dom": "18.2.0",
"react-hotkeys-hook": "4.3.8",
"react-instantsearch-dom": "6.39.1",
- "react-markdown": "8.0.6",
+ "react-markdown": "8.0.7",
"react-swipeable": "7.0.0",
"react-timeago": "7.1.0",
"rehype-autolink-headings": "6.1.1",
@@ -55,7 +55,7 @@
},
"devDependencies": {
"autoprefixer": "10.4.14",
- "eslint-config-next": "13.2.4",
+ "eslint-config-next": "13.3.0",
"js-yaml": "4.1.0",
"postcss": "8.4.21",
"remark-extract-frontmatter": "3.2.0",
diff --git a/sites/email/package.json b/sites/email/package.json
index 380f734b9a3..4a574c58ffb 100644
--- a/sites/email/package.json
+++ b/sites/email/package.json
@@ -20,7 +20,7 @@
"peerDependencies": {},
"dependencies": {
"@maizzle/framework": "4.4.4",
- "tailwindcss-box-shadow": "2.0.0",
+ "tailwindcss-box-shadow": "2.0.1",
"tailwindcss-email-variants": "2.0.1",
"tailwindcss-mso": "1.3.0"
},
diff --git a/sites/lab/package.json b/sites/lab/package.json
index 4a1c7ddfeaf..8de17369fec 100644
--- a/sites/lab/package.json
+++ b/sites/lab/package.json
@@ -25,7 +25,7 @@
},
"peerDependencies": {},
"dependencies": {
- "@headlessui/react": "1.7.13",
+ "@headlessui/react": "1.7.14",
"@mdx-js/loader": "2.3.0",
"@mdx-js/mdx": "2.3.0",
"@mdx-js/react": "2.3.0",
@@ -40,14 +40,14 @@
"lodash.get": "4.4.2",
"lodash.orderby": "4.6.0",
"lodash.set": "4.3.2",
- "next": "13.2.4",
+ "next": "13.3.0",
"next-i18next": "13.2.2",
"react": "18.2.0",
"react-copy-to-clipboard": "5.1.0",
"react-hotkeys-hook": "4.3.8",
"react-i18next": "12.2.0",
"react-instantsearch-dom": "6.39.1",
- "react-markdown": "8.0.6",
+ "react-markdown": "8.0.7",
"react-swipeable": "7.0.0",
"react-timeago": "7.1.0",
"rehype-autolink-headings": "6.1.1",
@@ -60,7 +60,7 @@
},
"devDependencies": {
"autoprefixer": "10.4.14",
- "eslint-config-next": "13.2.4",
+ "eslint-config-next": "13.3.0",
"js-yaml": "4.1.0",
"postcss": "8.4.21",
"remark-extract-frontmatter": "3.2.0",
diff --git a/sites/org/package.json b/sites/org/package.json
index 244d0182ea0..eae562f537d 100644
--- a/sites/org/package.json
+++ b/sites/org/package.json
@@ -40,12 +40,12 @@
"lodash.orderby": "4.6.0",
"lodash.set": "4.3.2",
"luxon": "3.3.0",
- "next": "13.2.4",
+ "next": "13.3.0",
"react-dropzone": "14.2.3",
"react-hotkeys-hook": "4.3.8",
"react-instantsearch-dom": "6.39.1",
"react-hot-toast": "2.4.0",
- "react-markdown": "8.0.6",
+ "react-markdown": "8.0.7",
"react-swipeable": "7.0.0",
"react-timeago": "7.1.0",
"rehype-autolink-headings": "6.1.1",
@@ -59,7 +59,7 @@
},
"devDependencies": {
"autoprefixer": "10.4.14",
- "eslint-config-next": "13.2.4",
+ "eslint-config-next": "13.3.0",
"js-yaml": "4.1.0",
"postcss": "8.4.21",
"remark-extract-frontmatter": "3.2.0",
diff --git a/sites/sanity/package.json b/sites/sanity/package.json
index 832a6702850..e3dc31e7be5 100644
--- a/sites/sanity/package.json
+++ b/sites/sanity/package.json
@@ -26,13 +26,13 @@
"react-is": "18.2.0",
"sanity": "3.8.3",
"styled-components": "5.3.9",
- "sanity-plugin-markdown": "3.0.1"
+ "sanity-plugin-markdown": "4.1.0"
},
"devDependencies": {
"@sanity/eslint-config-studio": "2.0.1",
- "eslint": "8.37.0",
+ "eslint": "8.38.0",
"prettier": "2.8.7",
- "typescript": "5.0.2",
+ "typescript": "5.0.4",
"@sanity/cli": "3.8.3"
},
"engines": {
diff --git a/sites/shared/components/workbench/draft/path.mjs b/sites/shared/components/workbench/draft/path.mjs
index bfd58ecdc17..afd480e4873 100644
--- a/sites/shared/components/workbench/draft/path.mjs
+++ b/sites/shared/components/workbench/draft/path.mjs
@@ -463,7 +463,7 @@ export const pathInfo = (props) => {
Name
- {bbox.name}
+ {props.pathName}
Length
diff --git a/sites/shared/components/wrappers/workbench.mjs b/sites/shared/components/wrappers/workbench.mjs
index bb1f9f8b54a..df6f58f7aab 100644
--- a/sites/shared/components/wrappers/workbench.mjs
+++ b/sites/shared/components/wrappers/workbench.mjs
@@ -157,6 +157,7 @@ export const WorkbenchWrapper = ({
gistReady,
showInfo: setPopup,
hasRequiredMeasurements,
+ draft,
}
// Required props for layout
const layoutProps = {
diff --git a/sites/shared/package.json b/sites/shared/package.json
index 2722573b4a1..71211e4f218 100644
--- a/sites/shared/package.json
+++ b/sites/shared/package.json
@@ -16,7 +16,7 @@
"scripts": {},
"peerDependencies": {},
"dependencies": {
- "@headlessui/react": "1.7.13",
+ "@headlessui/react": "1.7.14",
"@resvg/resvg-js": "2.4.1",
"@tailwindcss/typography": "0.5.9",
"Buffer": "0.0.0",
@@ -37,10 +37,10 @@
"postcss-for": "2.1.1",
"react": "18.2.0",
"react-dom": "18.2.0",
- "react-markdown": "8.0.6",
+ "react-markdown": "8.0.7",
"react-sizeme": "3.0.2",
"react-timeago": "7.1.0",
- "react-zoom-pan-pinch": "3.0.6",
+ "react-zoom-pan-pinch": "3.0.7",
"rehype-autolink-headings": "6.1.1",
"rehype-highlight": "6.0.0",
"remark-smartypants": "2.0.0",
diff --git a/sites/shared/utils.mjs b/sites/shared/utils.mjs
index adfc25a82f4..fa344b0e7fe 100644
--- a/sites/shared/utils.mjs
+++ b/sites/shared/utils.mjs
@@ -187,7 +187,7 @@ export const optionsMenuStructure = (options) => {
// Fixme: One day we should sort this based on the translation
for (const option of orderBy(sorted, ['menu', 'name'], ['asc'])) {
if (typeof option === 'object') {
- if (option.menu) set(menu, [option.menu, option.name], optionType(option))
+ if (option.menu) set(menu, `${option.menu}.${option.name}`, optionType(option))
else if (typeof option.menu === 'undefined') {
console.log(
`Warning: Option ${option.name} does not have a menu config. ` +
diff --git a/yarn.lock b/yarn.lock
index 3790a961d9f..8a83a06c2b5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -165,593 +165,593 @@
"@aws-sdk/util-utf8-browser" "^3.0.0"
tslib "^1.11.1"
-"@aws-sdk/abort-controller@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.306.0.tgz#42f28c948bc3a1a950e534555365eaa65f6ff7c0"
- integrity sha512-ewCvdUrMJMlnkNaqXdG7L2H6O7CDI036y6lkTU8gQqa2lCzZvqBkzz6R5NbWqb8TJPi69Z7lXEITgk2b0+pl6w==
+"@aws-sdk/abort-controller@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.310.0.tgz#0da2d29b823daa03b7c1f0b43de1f030583b4f51"
+ integrity sha512-v1zrRQxDLA1MdPim159Vx/CPHqsB4uybSxRi1CnfHO5ZjHryx3a5htW2gdGAykVCul40+yJXvfpufMrELVxH+g==
dependencies:
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/client-sesv2@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.306.0.tgz#b9a5a750a9688ad1db16f8ecf0ca85a5ded44234"
- integrity sha512-nD8opgr4QJt6Pn/ttCqu5LlE0FvMJd7TyUCtbDp4mLvtMi5r6v+MGY5wLlghDD0Kqfz0qIdfINJ0VjcotNWg8w==
+"@aws-sdk/client-sesv2@3.312.0":
+ version "3.312.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.312.0.tgz#b2ecb8b0557abba10b914c2440e1946a5dcf2a2c"
+ integrity sha512-LpA0SjbnYp2dK9bCKEpYgWxBMrCmH/W52EInX5At06ZjumdGXMQ3oRFUJIjbWCf02xgHHE1Ugji1loqLd+PbdQ==
dependencies:
"@aws-crypto/sha256-browser" "3.0.0"
"@aws-crypto/sha256-js" "3.0.0"
- "@aws-sdk/client-sts" "3.306.0"
- "@aws-sdk/config-resolver" "3.306.0"
- "@aws-sdk/credential-provider-node" "3.306.0"
- "@aws-sdk/fetch-http-handler" "3.306.0"
- "@aws-sdk/hash-node" "3.306.0"
- "@aws-sdk/invalid-dependency" "3.306.0"
- "@aws-sdk/middleware-content-length" "3.306.0"
- "@aws-sdk/middleware-endpoint" "3.306.0"
- "@aws-sdk/middleware-host-header" "3.306.0"
- "@aws-sdk/middleware-logger" "3.306.0"
- "@aws-sdk/middleware-recursion-detection" "3.306.0"
- "@aws-sdk/middleware-retry" "3.306.0"
- "@aws-sdk/middleware-serde" "3.306.0"
- "@aws-sdk/middleware-signing" "3.306.0"
- "@aws-sdk/middleware-stack" "3.306.0"
- "@aws-sdk/middleware-user-agent" "3.306.0"
- "@aws-sdk/node-config-provider" "3.306.0"
- "@aws-sdk/node-http-handler" "3.306.0"
- "@aws-sdk/protocol-http" "3.306.0"
- "@aws-sdk/smithy-client" "3.306.0"
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/url-parser" "3.306.0"
- "@aws-sdk/util-base64" "3.303.0"
- "@aws-sdk/util-body-length-browser" "3.303.0"
- "@aws-sdk/util-body-length-node" "3.303.0"
- "@aws-sdk/util-defaults-mode-browser" "3.306.0"
- "@aws-sdk/util-defaults-mode-node" "3.306.0"
- "@aws-sdk/util-endpoints" "3.306.0"
- "@aws-sdk/util-retry" "3.306.0"
- "@aws-sdk/util-user-agent-browser" "3.306.0"
- "@aws-sdk/util-user-agent-node" "3.306.0"
- "@aws-sdk/util-utf8" "3.303.0"
+ "@aws-sdk/client-sts" "3.312.0"
+ "@aws-sdk/config-resolver" "3.310.0"
+ "@aws-sdk/credential-provider-node" "3.310.0"
+ "@aws-sdk/fetch-http-handler" "3.310.0"
+ "@aws-sdk/hash-node" "3.310.0"
+ "@aws-sdk/invalid-dependency" "3.310.0"
+ "@aws-sdk/middleware-content-length" "3.310.0"
+ "@aws-sdk/middleware-endpoint" "3.310.0"
+ "@aws-sdk/middleware-host-header" "3.310.0"
+ "@aws-sdk/middleware-logger" "3.310.0"
+ "@aws-sdk/middleware-recursion-detection" "3.310.0"
+ "@aws-sdk/middleware-retry" "3.310.0"
+ "@aws-sdk/middleware-serde" "3.310.0"
+ "@aws-sdk/middleware-signing" "3.310.0"
+ "@aws-sdk/middleware-stack" "3.310.0"
+ "@aws-sdk/middleware-user-agent" "3.310.0"
+ "@aws-sdk/node-config-provider" "3.310.0"
+ "@aws-sdk/node-http-handler" "3.310.0"
+ "@aws-sdk/protocol-http" "3.310.0"
+ "@aws-sdk/smithy-client" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/url-parser" "3.310.0"
+ "@aws-sdk/util-base64" "3.310.0"
+ "@aws-sdk/util-body-length-browser" "3.310.0"
+ "@aws-sdk/util-body-length-node" "3.310.0"
+ "@aws-sdk/util-defaults-mode-browser" "3.310.0"
+ "@aws-sdk/util-defaults-mode-node" "3.310.0"
+ "@aws-sdk/util-endpoints" "3.310.0"
+ "@aws-sdk/util-retry" "3.310.0"
+ "@aws-sdk/util-user-agent-browser" "3.310.0"
+ "@aws-sdk/util-user-agent-node" "3.310.0"
+ "@aws-sdk/util-utf8" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/client-sso-oidc@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.306.0.tgz#92b2daf5fa82eaeb17cf192a2b29b2575f1c5677"
- integrity sha512-O27yrApCkbC0/uPRb1aHkENpFSqrkPbXRi76NF/8T97qC8bngRpy6yeafcQRrp9NGQSF/m9xbPWYsQuiurqedw==
+"@aws-sdk/client-sso-oidc@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.310.0.tgz#f71eeb9cc73c13661728cf88d8513b0209b6d265"
+ integrity sha512-3GKaRSfMD3OiYWGa+qg5KvJw0nLV0Vu7zRiulLuKDvgmWw3SNJKn3frWlmq/bKFUKahLsV8zozbeJItxtKAD6g==
dependencies:
"@aws-crypto/sha256-browser" "3.0.0"
"@aws-crypto/sha256-js" "3.0.0"
- "@aws-sdk/config-resolver" "3.306.0"
- "@aws-sdk/fetch-http-handler" "3.306.0"
- "@aws-sdk/hash-node" "3.306.0"
- "@aws-sdk/invalid-dependency" "3.306.0"
- "@aws-sdk/middleware-content-length" "3.306.0"
- "@aws-sdk/middleware-endpoint" "3.306.0"
- "@aws-sdk/middleware-host-header" "3.306.0"
- "@aws-sdk/middleware-logger" "3.306.0"
- "@aws-sdk/middleware-recursion-detection" "3.306.0"
- "@aws-sdk/middleware-retry" "3.306.0"
- "@aws-sdk/middleware-serde" "3.306.0"
- "@aws-sdk/middleware-stack" "3.306.0"
- "@aws-sdk/middleware-user-agent" "3.306.0"
- "@aws-sdk/node-config-provider" "3.306.0"
- "@aws-sdk/node-http-handler" "3.306.0"
- "@aws-sdk/protocol-http" "3.306.0"
- "@aws-sdk/smithy-client" "3.306.0"
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/url-parser" "3.306.0"
- "@aws-sdk/util-base64" "3.303.0"
- "@aws-sdk/util-body-length-browser" "3.303.0"
- "@aws-sdk/util-body-length-node" "3.303.0"
- "@aws-sdk/util-defaults-mode-browser" "3.306.0"
- "@aws-sdk/util-defaults-mode-node" "3.306.0"
- "@aws-sdk/util-endpoints" "3.306.0"
- "@aws-sdk/util-retry" "3.306.0"
- "@aws-sdk/util-user-agent-browser" "3.306.0"
- "@aws-sdk/util-user-agent-node" "3.306.0"
- "@aws-sdk/util-utf8" "3.303.0"
+ "@aws-sdk/config-resolver" "3.310.0"
+ "@aws-sdk/fetch-http-handler" "3.310.0"
+ "@aws-sdk/hash-node" "3.310.0"
+ "@aws-sdk/invalid-dependency" "3.310.0"
+ "@aws-sdk/middleware-content-length" "3.310.0"
+ "@aws-sdk/middleware-endpoint" "3.310.0"
+ "@aws-sdk/middleware-host-header" "3.310.0"
+ "@aws-sdk/middleware-logger" "3.310.0"
+ "@aws-sdk/middleware-recursion-detection" "3.310.0"
+ "@aws-sdk/middleware-retry" "3.310.0"
+ "@aws-sdk/middleware-serde" "3.310.0"
+ "@aws-sdk/middleware-stack" "3.310.0"
+ "@aws-sdk/middleware-user-agent" "3.310.0"
+ "@aws-sdk/node-config-provider" "3.310.0"
+ "@aws-sdk/node-http-handler" "3.310.0"
+ "@aws-sdk/protocol-http" "3.310.0"
+ "@aws-sdk/smithy-client" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/url-parser" "3.310.0"
+ "@aws-sdk/util-base64" "3.310.0"
+ "@aws-sdk/util-body-length-browser" "3.310.0"
+ "@aws-sdk/util-body-length-node" "3.310.0"
+ "@aws-sdk/util-defaults-mode-browser" "3.310.0"
+ "@aws-sdk/util-defaults-mode-node" "3.310.0"
+ "@aws-sdk/util-endpoints" "3.310.0"
+ "@aws-sdk/util-retry" "3.310.0"
+ "@aws-sdk/util-user-agent-browser" "3.310.0"
+ "@aws-sdk/util-user-agent-node" "3.310.0"
+ "@aws-sdk/util-utf8" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/client-sso@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.306.0.tgz#ac7225194954e26d17713b03c6cb6a8562ada837"
- integrity sha512-uqfLUOP9LlBoqXe3P250TPX3fGrabfRt9Q9rlLFK0fVBI7HPIQ/wsPplLoPrMeT04qQmTI03UnVKMNza3GqyIg==
+"@aws-sdk/client-sso@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.310.0.tgz#1ead31442c34ed660479ea9317faab4f1fa47130"
+ integrity sha512-netFap3Mp9I7bzAjsswHPA5WEbQtNMmXvW9/IVb7tmf85/esXCWindtyI43e/Xerut9ZVyEACPBFn30CLLE2xQ==
dependencies:
"@aws-crypto/sha256-browser" "3.0.0"
"@aws-crypto/sha256-js" "3.0.0"
- "@aws-sdk/config-resolver" "3.306.0"
- "@aws-sdk/fetch-http-handler" "3.306.0"
- "@aws-sdk/hash-node" "3.306.0"
- "@aws-sdk/invalid-dependency" "3.306.0"
- "@aws-sdk/middleware-content-length" "3.306.0"
- "@aws-sdk/middleware-endpoint" "3.306.0"
- "@aws-sdk/middleware-host-header" "3.306.0"
- "@aws-sdk/middleware-logger" "3.306.0"
- "@aws-sdk/middleware-recursion-detection" "3.306.0"
- "@aws-sdk/middleware-retry" "3.306.0"
- "@aws-sdk/middleware-serde" "3.306.0"
- "@aws-sdk/middleware-stack" "3.306.0"
- "@aws-sdk/middleware-user-agent" "3.306.0"
- "@aws-sdk/node-config-provider" "3.306.0"
- "@aws-sdk/node-http-handler" "3.306.0"
- "@aws-sdk/protocol-http" "3.306.0"
- "@aws-sdk/smithy-client" "3.306.0"
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/url-parser" "3.306.0"
- "@aws-sdk/util-base64" "3.303.0"
- "@aws-sdk/util-body-length-browser" "3.303.0"
- "@aws-sdk/util-body-length-node" "3.303.0"
- "@aws-sdk/util-defaults-mode-browser" "3.306.0"
- "@aws-sdk/util-defaults-mode-node" "3.306.0"
- "@aws-sdk/util-endpoints" "3.306.0"
- "@aws-sdk/util-retry" "3.306.0"
- "@aws-sdk/util-user-agent-browser" "3.306.0"
- "@aws-sdk/util-user-agent-node" "3.306.0"
- "@aws-sdk/util-utf8" "3.303.0"
+ "@aws-sdk/config-resolver" "3.310.0"
+ "@aws-sdk/fetch-http-handler" "3.310.0"
+ "@aws-sdk/hash-node" "3.310.0"
+ "@aws-sdk/invalid-dependency" "3.310.0"
+ "@aws-sdk/middleware-content-length" "3.310.0"
+ "@aws-sdk/middleware-endpoint" "3.310.0"
+ "@aws-sdk/middleware-host-header" "3.310.0"
+ "@aws-sdk/middleware-logger" "3.310.0"
+ "@aws-sdk/middleware-recursion-detection" "3.310.0"
+ "@aws-sdk/middleware-retry" "3.310.0"
+ "@aws-sdk/middleware-serde" "3.310.0"
+ "@aws-sdk/middleware-stack" "3.310.0"
+ "@aws-sdk/middleware-user-agent" "3.310.0"
+ "@aws-sdk/node-config-provider" "3.310.0"
+ "@aws-sdk/node-http-handler" "3.310.0"
+ "@aws-sdk/protocol-http" "3.310.0"
+ "@aws-sdk/smithy-client" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/url-parser" "3.310.0"
+ "@aws-sdk/util-base64" "3.310.0"
+ "@aws-sdk/util-body-length-browser" "3.310.0"
+ "@aws-sdk/util-body-length-node" "3.310.0"
+ "@aws-sdk/util-defaults-mode-browser" "3.310.0"
+ "@aws-sdk/util-defaults-mode-node" "3.310.0"
+ "@aws-sdk/util-endpoints" "3.310.0"
+ "@aws-sdk/util-retry" "3.310.0"
+ "@aws-sdk/util-user-agent-browser" "3.310.0"
+ "@aws-sdk/util-user-agent-node" "3.310.0"
+ "@aws-sdk/util-utf8" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/client-sts@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.306.0.tgz#b68616833291fbe0e9354572f0934a1b023a1a79"
- integrity sha512-LivDrH0OnAZDC3EB6hVrrl25itlMLn/C/epwDjpnH2Qdq+gjbZ0ElVNu8XOX4qaXoo0zyV5pztnzwD/A76mX2g==
+"@aws-sdk/client-sts@3.312.0":
+ version "3.312.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.312.0.tgz#7b49a04bab2d12a8ca566ef579fd887b71986498"
+ integrity sha512-t0U7vRvWaMjrzBUo6tPrHe6HE97Blqx+b4GOjFbcbLtzxLlcRfhnWJik0Lp8hJtVqzNoN5mL4OeYgK7CRpL/Sw==
dependencies:
"@aws-crypto/sha256-browser" "3.0.0"
"@aws-crypto/sha256-js" "3.0.0"
- "@aws-sdk/config-resolver" "3.306.0"
- "@aws-sdk/credential-provider-node" "3.306.0"
- "@aws-sdk/fetch-http-handler" "3.306.0"
- "@aws-sdk/hash-node" "3.306.0"
- "@aws-sdk/invalid-dependency" "3.306.0"
- "@aws-sdk/middleware-content-length" "3.306.0"
- "@aws-sdk/middleware-endpoint" "3.306.0"
- "@aws-sdk/middleware-host-header" "3.306.0"
- "@aws-sdk/middleware-logger" "3.306.0"
- "@aws-sdk/middleware-recursion-detection" "3.306.0"
- "@aws-sdk/middleware-retry" "3.306.0"
- "@aws-sdk/middleware-sdk-sts" "3.306.0"
- "@aws-sdk/middleware-serde" "3.306.0"
- "@aws-sdk/middleware-signing" "3.306.0"
- "@aws-sdk/middleware-stack" "3.306.0"
- "@aws-sdk/middleware-user-agent" "3.306.0"
- "@aws-sdk/node-config-provider" "3.306.0"
- "@aws-sdk/node-http-handler" "3.306.0"
- "@aws-sdk/protocol-http" "3.306.0"
- "@aws-sdk/smithy-client" "3.306.0"
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/url-parser" "3.306.0"
- "@aws-sdk/util-base64" "3.303.0"
- "@aws-sdk/util-body-length-browser" "3.303.0"
- "@aws-sdk/util-body-length-node" "3.303.0"
- "@aws-sdk/util-defaults-mode-browser" "3.306.0"
- "@aws-sdk/util-defaults-mode-node" "3.306.0"
- "@aws-sdk/util-endpoints" "3.306.0"
- "@aws-sdk/util-retry" "3.306.0"
- "@aws-sdk/util-user-agent-browser" "3.306.0"
- "@aws-sdk/util-user-agent-node" "3.306.0"
- "@aws-sdk/util-utf8" "3.303.0"
+ "@aws-sdk/config-resolver" "3.310.0"
+ "@aws-sdk/credential-provider-node" "3.310.0"
+ "@aws-sdk/fetch-http-handler" "3.310.0"
+ "@aws-sdk/hash-node" "3.310.0"
+ "@aws-sdk/invalid-dependency" "3.310.0"
+ "@aws-sdk/middleware-content-length" "3.310.0"
+ "@aws-sdk/middleware-endpoint" "3.310.0"
+ "@aws-sdk/middleware-host-header" "3.310.0"
+ "@aws-sdk/middleware-logger" "3.310.0"
+ "@aws-sdk/middleware-recursion-detection" "3.310.0"
+ "@aws-sdk/middleware-retry" "3.310.0"
+ "@aws-sdk/middleware-sdk-sts" "3.310.0"
+ "@aws-sdk/middleware-serde" "3.310.0"
+ "@aws-sdk/middleware-signing" "3.310.0"
+ "@aws-sdk/middleware-stack" "3.310.0"
+ "@aws-sdk/middleware-user-agent" "3.310.0"
+ "@aws-sdk/node-config-provider" "3.310.0"
+ "@aws-sdk/node-http-handler" "3.310.0"
+ "@aws-sdk/protocol-http" "3.310.0"
+ "@aws-sdk/smithy-client" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/url-parser" "3.310.0"
+ "@aws-sdk/util-base64" "3.310.0"
+ "@aws-sdk/util-body-length-browser" "3.310.0"
+ "@aws-sdk/util-body-length-node" "3.310.0"
+ "@aws-sdk/util-defaults-mode-browser" "3.310.0"
+ "@aws-sdk/util-defaults-mode-node" "3.310.0"
+ "@aws-sdk/util-endpoints" "3.310.0"
+ "@aws-sdk/util-retry" "3.310.0"
+ "@aws-sdk/util-user-agent-browser" "3.310.0"
+ "@aws-sdk/util-user-agent-node" "3.310.0"
+ "@aws-sdk/util-utf8" "3.310.0"
fast-xml-parser "4.1.2"
tslib "^2.5.0"
-"@aws-sdk/config-resolver@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.306.0.tgz#e04d9ccd2a4ca2e189f164cf3d4b2ebc5658ca90"
- integrity sha512-kpqHu6LvNMYxullm+tLCsY6KQ2mZUxZTdyWJKTYLZCTxj4HcGJxf4Jxj9dwFAZVl/clcVPGWcHJaQJjyjwzBzw==
+"@aws-sdk/config-resolver@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.310.0.tgz#c02dce96546d5cd25551bc89907b27224e16ca7f"
+ integrity sha512-8vsT+/50lOqfDxka9m/rRt6oxv1WuGZoP8oPMk0Dt+TxXMbAzf4+rejBgiB96wshI1k3gLokYRjSQZn+dDtT8g==
dependencies:
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/util-config-provider" "3.295.0"
- "@aws-sdk/util-middleware" "3.306.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/util-config-provider" "3.310.0"
+ "@aws-sdk/util-middleware" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/credential-provider-env@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.306.0.tgz#38289a48630dde367b8180e17f73f9618534d5cc"
- integrity sha512-DTH+aMvMu+LAoWW+yfPkWzFXt/CPNFQ7+/4xiMnc7FWf+tjt+HZIrPECAV2rBVppNCkh7PC+xDSN61PFvBYOsw==
+"@aws-sdk/credential-provider-env@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.310.0.tgz#c52694fb276341db6ce4e816cf9ca90fa5830dad"
+ integrity sha512-vvIPQpI16fj95xwS7M3D48F7QhZJBnnCgB5lR+b7So+vsG9ibm1mZRVGzVpdxCvgyOhHFbvrby9aalNJmmIP1A==
dependencies:
- "@aws-sdk/property-provider" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/property-provider" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/credential-provider-imds@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.306.0.tgz#dd089ddb8c8199492137072b37abb1c1f1cb4c95"
- integrity sha512-WdrNhq2MwvjZk2I8Of+bZ/qWHG2hREQpwlBiG3tMeEkuywx7M1x3Rt0eHgiR1sTcm05kxNn0rB4OeWOeek37cA==
+"@aws-sdk/credential-provider-imds@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.310.0.tgz#d8fb1223fee7e289a81e28177fe55dedf4d2745e"
+ integrity sha512-baxK7Zp6dai5AGW01FIW27xS2KAaPUmKLIXv5SvFYsUgXXvNW55im4uG3b+2gA0F7V+hXvVBH08OEqmwW6we5w==
dependencies:
- "@aws-sdk/node-config-provider" "3.306.0"
- "@aws-sdk/property-provider" "3.306.0"
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/url-parser" "3.306.0"
+ "@aws-sdk/node-config-provider" "3.310.0"
+ "@aws-sdk/property-provider" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/url-parser" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/credential-provider-ini@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.306.0.tgz#e12f0ff761ab28c3930e8c8e6623a92ac0100f7d"
- integrity sha512-6VvP0YmXVd+pCnlD2iTDhNvO2Ikzyk9Ade/t5R1eZ4Vf1gKhDiNA2/AgDt9XlzQHk7iw1okTmYCeQsK1j+7+NQ==
+"@aws-sdk/credential-provider-ini@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.310.0.tgz#c317c803b78d6b322a440de15069b35b88c737e5"
+ integrity sha512-gtRz7I+4BBpwZ3tc6UIt5lQuiAFnkpOibxHh95x1M6HDxBjm+uqD6RPZYVH+dULZPYXOtOTsHV0IGjrcV0sSRg==
dependencies:
- "@aws-sdk/credential-provider-env" "3.306.0"
- "@aws-sdk/credential-provider-imds" "3.306.0"
- "@aws-sdk/credential-provider-process" "3.306.0"
- "@aws-sdk/credential-provider-sso" "3.306.0"
- "@aws-sdk/credential-provider-web-identity" "3.306.0"
- "@aws-sdk/property-provider" "3.306.0"
- "@aws-sdk/shared-ini-file-loader" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/credential-provider-env" "3.310.0"
+ "@aws-sdk/credential-provider-imds" "3.310.0"
+ "@aws-sdk/credential-provider-process" "3.310.0"
+ "@aws-sdk/credential-provider-sso" "3.310.0"
+ "@aws-sdk/credential-provider-web-identity" "3.310.0"
+ "@aws-sdk/property-provider" "3.310.0"
+ "@aws-sdk/shared-ini-file-loader" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/credential-provider-node@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.306.0.tgz#627eec0babc2fcc3ae3c949a0629b4b1ffbe0be8"
- integrity sha512-HYuMmABRzbVWo03CElRUa+T+yenyUmLkwNCVAAvIRmbr9TnLT/bJbplXpUSzgSCS6T3TgwbQ9zf9xY9tX+gHzA==
+"@aws-sdk/credential-provider-node@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.310.0.tgz#e4f69cf95e839c626c41e23b1d8b3cd24c667d8e"
+ integrity sha512-FrOztUcOq2Sp32xGtJvxfvdlmuAeoxIu/AElHzV1bkx6Pzo9DkQBhXrSQ+JFSpI++weOD4ZGFhAvgbgUOT4VAg==
dependencies:
- "@aws-sdk/credential-provider-env" "3.306.0"
- "@aws-sdk/credential-provider-imds" "3.306.0"
- "@aws-sdk/credential-provider-ini" "3.306.0"
- "@aws-sdk/credential-provider-process" "3.306.0"
- "@aws-sdk/credential-provider-sso" "3.306.0"
- "@aws-sdk/credential-provider-web-identity" "3.306.0"
- "@aws-sdk/property-provider" "3.306.0"
- "@aws-sdk/shared-ini-file-loader" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/credential-provider-env" "3.310.0"
+ "@aws-sdk/credential-provider-imds" "3.310.0"
+ "@aws-sdk/credential-provider-ini" "3.310.0"
+ "@aws-sdk/credential-provider-process" "3.310.0"
+ "@aws-sdk/credential-provider-sso" "3.310.0"
+ "@aws-sdk/credential-provider-web-identity" "3.310.0"
+ "@aws-sdk/property-provider" "3.310.0"
+ "@aws-sdk/shared-ini-file-loader" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/credential-provider-process@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.306.0.tgz#451d1b93d9c0ac6b5b17a5e4aea355f9eb88e7f5"
- integrity sha512-2RezGskHqJeHtGbK7CqhGNAoqXgQJb7FfPFqwUQ9oVDZS8f145jVwajjHcc7Qn3IwGoqylMF3uXIljUv89uDzA==
+"@aws-sdk/credential-provider-process@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.310.0.tgz#0b2ee77f0c48262442d2768044d72332a4ad8884"
+ integrity sha512-h73sg6GPMUWC+3zMCbA1nZ2O03nNJt7G96JdmnantiXBwHpRKWW8nBTLzx5uhXn6hTuTaoQRP/P+oxQJKYdMmA==
dependencies:
- "@aws-sdk/property-provider" "3.306.0"
- "@aws-sdk/shared-ini-file-loader" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/property-provider" "3.310.0"
+ "@aws-sdk/shared-ini-file-loader" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/credential-provider-sso@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.306.0.tgz#4c3cd6566c38c397c5159a448b286edc90fbc65b"
- integrity sha512-6msBUisMdOzk0ywJQNunZIb0rVMaA6GTx7ek8aCuWInX+lJm0oEPPVp+b3ewwVheih1rRC2bgNk8eAjfC9YcKw==
+"@aws-sdk/credential-provider-sso@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.310.0.tgz#86ab095ede5024a4e16aabaf3b2fa92d61656b8d"
+ integrity sha512-nXkpT8mrM/wRqSiz/a4p9U2UrOKyfZXhbPHIHyQj8K+uLjsYS+WPuH287J4A5Q57A6uarTrj5RjHmVeZVLaHmg==
dependencies:
- "@aws-sdk/client-sso" "3.306.0"
- "@aws-sdk/property-provider" "3.306.0"
- "@aws-sdk/shared-ini-file-loader" "3.306.0"
- "@aws-sdk/token-providers" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/client-sso" "3.310.0"
+ "@aws-sdk/property-provider" "3.310.0"
+ "@aws-sdk/shared-ini-file-loader" "3.310.0"
+ "@aws-sdk/token-providers" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/credential-provider-web-identity@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.306.0.tgz#9fe7f067315699f2c3566bfdaad8d5a605d2cbd9"
- integrity sha512-MOQGQaOtdo4zLQZ1bRjD2n1PUzfNty+sKe+1wlm5bIqTN93UX3S8f0QznucZr7uJxI4Z14ZLwuYeAUV4Tgchlw==
+"@aws-sdk/credential-provider-web-identity@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.310.0.tgz#c9fa09b0068027e58d31178e3fa06bf4e9ae9d36"
+ integrity sha512-H4SzuZXILNhK6/IR1uVvsUDZvzc051hem7GLyYghBCu8mU+tq28YhKE8MfSroi6eL2e5Vujloij1OM2EQQkPkw==
dependencies:
- "@aws-sdk/property-provider" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/property-provider" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/fetch-http-handler@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.306.0.tgz#115052a512d0208b55d22ddd07fa717388e6f860"
- integrity sha512-T8OODOnPpDqkXS+XSMIkd6hf90h833JLN93wq3ibbyD/WvGveufFFHsbsNyccE9+CSv/BjEuN5QbHqTKTp3BlA==
+"@aws-sdk/fetch-http-handler@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.310.0.tgz#f31006b7b3103683d72e177cd27d80354f7a37c4"
+ integrity sha512-Bi9vIwzdkw1zMcvi/zGzlWS9KfIEnAq4NNhsnCxbQ4OoIRU9wvU+WGZdBBhxg0ZxZmpp1j1aZhU53lLjA07MHw==
dependencies:
- "@aws-sdk/protocol-http" "3.306.0"
- "@aws-sdk/querystring-builder" "3.306.0"
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/util-base64" "3.303.0"
+ "@aws-sdk/protocol-http" "3.310.0"
+ "@aws-sdk/querystring-builder" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/util-base64" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/hash-node@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.306.0.tgz#e18faab04694002ed32ea25ee7b40fd7af2ac9be"
- integrity sha512-EcSLd6gKoDEEBPZqEv+Ky9gIyefwyyrAJGILGKoYBmcOIY7Y0xKId0hxCa9/1xvWTaVC1u+rA06DGgksZOa78w==
+"@aws-sdk/hash-node@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.310.0.tgz#4c1c89b9a2da3bb9783de84f0b762cc055b90d67"
+ integrity sha512-NvE2fhRc8GRwCXBfDehxVAWCmVwVMILliAKVPAEr4yz2CkYs0tqU51S48x23dtna07H4qHtgpeNqVTthcIQOEQ==
dependencies:
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/util-buffer-from" "3.303.0"
- "@aws-sdk/util-utf8" "3.303.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/util-buffer-from" "3.310.0"
+ "@aws-sdk/util-utf8" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/invalid-dependency@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.306.0.tgz#3939550e4d3f3a21ab4e96d97a7681c557258751"
- integrity sha512-9Mkcr+qG7QR4R5bJcA8bBNd8E2x6WaZStsQ3QeFbdQr3V3Tunvra/KlCFsEL55GgU8BZt5isOaHqq7uxs5ILtQ==
+"@aws-sdk/invalid-dependency@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.310.0.tgz#b96da9b9f63b12d1c390f9a06eeb28840fcb5b3c"
+ integrity sha512-1s5RG5rSPXoa/aZ/Kqr5U/7lqpx+Ry81GprQ2bxWqJvWQIJ0IRUwo5pk8XFxbKVr/2a+4lZT/c3OGoBOM1yRRA==
dependencies:
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/is-array-buffer@3.303.0":
- version "3.303.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.303.0.tgz#8cc85c805e679ad8468e5551fddb6ed92fc14548"
- integrity sha512-IitBTr+pou7v5BrYLFH/SbIf3g1LIgMhcI3bDXBq2FjzmDftj4bW8BOmg05b9YKf2TrrggvJ4yk/jH+yYFXoJQ==
+"@aws-sdk/is-array-buffer@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz#f87a79f1b858c88744f07e8d8d0a791df204017e"
+ integrity sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==
dependencies:
tslib "^2.5.0"
-"@aws-sdk/middleware-content-length@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.306.0.tgz#5ab51d76d4e46122fc618d7af505a113f984f0ad"
- integrity sha512-JbONf2Ms+/DVRcpFNsKGdOQU94Js56KV+AhlPJmCwLxfyWvQjTt0KxFC1Dd+cjeNEXUduvBarrehgsqFlWnoHQ==
+"@aws-sdk/middleware-content-length@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.310.0.tgz#cc9b6c25c10736cec41d0219c94b57cfdb4582a3"
+ integrity sha512-P8tQZxgDt6CAh1wd/W6WPzjc+uWPJwQkm+F7rAwRlM+k9q17HrhnksGDKcpuuLyIhPQYdmOMIkpKVgXGa4avhQ==
dependencies:
- "@aws-sdk/protocol-http" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/protocol-http" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/middleware-endpoint@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.306.0.tgz#26e90e6260b0f0793fd05f4fb87a2fd68f6119a6"
- integrity sha512-i3QRiwgkcsuVN55O7l8I/QGwCypGRZXdYkPjU56LI2w2oiZ82f/nVMNXVc+ZFm2YH7WbCE+5jguw2J7HXdOlyQ==
+"@aws-sdk/middleware-endpoint@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.310.0.tgz#d4bf8ac3cd4800af789d6bcb469b7e8cfa10badb"
+ integrity sha512-Z+N2vOL8K354/lstkClxLLsr6hCpVRh+0tCMXrVj66/NtKysCEZ/0b9LmqOwD9pWHNiI2mJqXwY0gxNlKAroUg==
dependencies:
- "@aws-sdk/middleware-serde" "3.306.0"
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/url-parser" "3.306.0"
- "@aws-sdk/util-middleware" "3.306.0"
+ "@aws-sdk/middleware-serde" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/url-parser" "3.310.0"
+ "@aws-sdk/util-middleware" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/middleware-host-header@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.306.0.tgz#69d26fb8a6cdc939bbe1b1956a2fb6831b2b8f70"
- integrity sha512-mHDHK9E+c7HwMlrCJ+VFSB6tkq8oJVkYEHCvPkdrnzN/g9P/d/UhPIeGapZXMbAIZEaLpEGqs536mYzeRKZG8A==
+"@aws-sdk/middleware-host-header@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.310.0.tgz#bdd4fbffb58b331bda517df8340aa8b44ce55550"
+ integrity sha512-QWSA+46/hXorXyWa61ic2K7qZzwHTiwfk2e9mRRjeIRepUgI3qxFjsYqrWtrOGBjmFmq0pYIY8Bb/DCJuQqcoA==
dependencies:
- "@aws-sdk/protocol-http" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/protocol-http" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/middleware-logger@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.306.0.tgz#9a43c7b213c2ffe0b5382cef6e51aacfa64a965e"
- integrity sha512-1FRHp/QB0Lb+CgP+c9CYW6BZh+q+5pnuOKo/Rd6hjYiM+kT1G/cWdXnMJQBR4rbTCTixbqCnObNJ1EyP/ofQhQ==
+"@aws-sdk/middleware-logger@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.310.0.tgz#8cc6381f49ef867cae1364b8517f939629e4dd9d"
+ integrity sha512-Lurm8XofrASBRnAVtiSNuDSRsRqPNg27RIFLLsLp/pqog9nFJ0vz0kgdb9S5Z+zw83Mm+UlqOe6D8NTUNp4fVg==
dependencies:
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/middleware-recursion-detection@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.306.0.tgz#2a12e46f9dd1acba57f1a1219550e50f94ea9f5d"
- integrity sha512-Hpj42ZLmwCy/CtVxi57NTeOEPoUJlivF3VIgowZ9JhaF61cakVKyrJ+f3jwXciDUtuYrdKm5Wf6prW6apWo0YA==
+"@aws-sdk/middleware-recursion-detection@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.310.0.tgz#020c986ed8da751bd613fd84c8c8a805c89e0952"
+ integrity sha512-SuB75/xk/gyue24gkriTwO2jFd7YcUGZDClQYuRejgbXSa3CO0lWyawQtfLcSSEBp9izrEVXuFH24K1eAft5nQ==
dependencies:
- "@aws-sdk/protocol-http" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/protocol-http" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/middleware-retry@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.306.0.tgz#577502e3b510465c3fc78206462ec934fd64f732"
- integrity sha512-eMyfr/aeurXXDz4x+WVrvLI8fVDP6klJOjziBEWZ/MUNP/hTFhkiQsMVbvT6O4Pspp7+FgCSdcUPG6Os2gK+CQ==
+"@aws-sdk/middleware-retry@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.310.0.tgz#12e95e962875d44af4acbdebe02db337a1ad5c35"
+ integrity sha512-oTPsRy2W4s+dfxbJPW7Km+hHtv/OMsNsVfThAq8DDYKC13qlr1aAyOqGLD+dpBy2aKe7ss517Sy2HcHtHqm7/g==
dependencies:
- "@aws-sdk/protocol-http" "3.306.0"
- "@aws-sdk/service-error-classification" "3.306.0"
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/util-middleware" "3.306.0"
- "@aws-sdk/util-retry" "3.306.0"
+ "@aws-sdk/protocol-http" "3.310.0"
+ "@aws-sdk/service-error-classification" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/util-middleware" "3.310.0"
+ "@aws-sdk/util-retry" "3.310.0"
tslib "^2.5.0"
uuid "^8.3.2"
-"@aws-sdk/middleware-sdk-sts@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.306.0.tgz#6624b9c2ac6280f8c6c8717a34a7740129b3bcd2"
- integrity sha512-2rSAR3nc5faYuEnh1KxQMCMCkEkJyaDfA3zwWLqZ+/TBCH0PlPkBv+Z9yXmteEki0vI5Hr+e+atTutJZoyG13g==
+"@aws-sdk/middleware-sdk-sts@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.310.0.tgz#2001b421f317404ca98d4a1cfea408b7a64c35f5"
+ integrity sha512-+5PFwlYNLvLLIfw0ASAoWV/iIF8Zv6R6QGtyP0CclhRSvNjgbQDVnV0g95MC5qvh+GB/Yjlkt8qAjLSPjHfsrQ==
dependencies:
- "@aws-sdk/middleware-signing" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/middleware-signing" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/middleware-serde@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.306.0.tgz#97695b07496e1fef68fa50959b3919cf1d0d261e"
- integrity sha512-M3gyPLPduZXMvdgt4XEpVO+3t0ZVPdgeQQwG6JnXv0dgyUizshYs4lrVOAb1KwF6StsmkrAgSN+I273elLiKjA==
+"@aws-sdk/middleware-serde@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.310.0.tgz#e334031b66a1a155375ec901478b26570fbe1783"
+ integrity sha512-RNeeTVWSLTaentUeCgQKZhAl+C6hxtwD78cQWS10UymWpQFwbaxztzKUu4UQS5xA2j6PxwPRRUjqa4jcFjfLsg==
dependencies:
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/middleware-signing@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.306.0.tgz#0e250f33effedd81e02a0fef14b00fc416226a66"
- integrity sha512-JhpSriN4xa4a/p5gAPL0OWFKJF4eWYU3K+LLlXBNGMbxg/qNL4skgT4dMFe3ii9EW8kI+r6tpvSgC+lP7/Tyng==
+"@aws-sdk/middleware-signing@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.310.0.tgz#bd62d5623c80f6318b0d738c44780875500c911a"
+ integrity sha512-f9mKq+XMdW207Af3hKjdTnpNhdtwqWuvFs/ZyXoOkp/g1MY1O6L23Jy6i52m29LxbT4AuNRG1oKODfXM0vYVjQ==
dependencies:
- "@aws-sdk/property-provider" "3.306.0"
- "@aws-sdk/protocol-http" "3.306.0"
- "@aws-sdk/signature-v4" "3.306.0"
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/util-middleware" "3.306.0"
+ "@aws-sdk/property-provider" "3.310.0"
+ "@aws-sdk/protocol-http" "3.310.0"
+ "@aws-sdk/signature-v4" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/util-middleware" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/middleware-stack@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.306.0.tgz#3f145b39a233571785607874a021af10bf54a73a"
- integrity sha512-G//a6MVSxyFVpOMZ+dzT3+w7XblOd2tRJ5g+/okjn3pNBLbo5o9Hu33K/bz0SQjT/m5mU2F9m0wcdCPYbRPysg==
+"@aws-sdk/middleware-stack@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.310.0.tgz#06c83963998fbdc83e99b67a7a138529312a6224"
+ integrity sha512-010O1PD+UAcZVKRvqEusE1KJqN96wwrf6QsqbRM0ywsKQ21NDweaHvEDlds2VHpgmofxkRLRu/IDrlPkKRQrRg==
dependencies:
tslib "^2.5.0"
-"@aws-sdk/middleware-user-agent@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.306.0.tgz#88638d30a613bb69b26af54c7989a299f9c0f8de"
- integrity sha512-tP6I+Lbs68muPfdMA6Rfc+8fYo49nEn9A3RMiOU2COClWsmiZatpbK9UYlqIOxeGB/s2jI7hXmQq6tT2LStLSg==
+"@aws-sdk/middleware-user-agent@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.310.0.tgz#2aa3982cbc5e9c137024cec47914e86610ab0a09"
+ integrity sha512-x3IOwSwSbwKidlxRk3CNVHVUb06SRuaELxggCaR++QVI8NU6qD/l4VHXKVRvbTHiC/cYxXE/GaBDgQVpDR7V/g==
dependencies:
- "@aws-sdk/protocol-http" "3.306.0"
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/util-endpoints" "3.306.0"
+ "@aws-sdk/protocol-http" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/util-endpoints" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/node-config-provider@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.306.0.tgz#9fed0bef4e8446350ca2dd3ec7571759d8ce2cd8"
- integrity sha512-+m+ALxNx5E1zLPPijO1pAbT5tnofLzZFWlnSYBEiOIwzaRU44rLYDqAhgXJkMMbOECkffDrv6ym0oWJIwJI+DA==
+"@aws-sdk/node-config-provider@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.310.0.tgz#ba8fb41af2db0316291ba9002267627553ec65ac"
+ integrity sha512-T/Pp6htc6hq/Cq+MLNDSyiwWCMVF6GqbBbXKVlO5L8rdHx4sq9xPdoPveZhGWrxvkanjA6eCwUp6E0riBOSVng==
dependencies:
- "@aws-sdk/property-provider" "3.306.0"
- "@aws-sdk/shared-ini-file-loader" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/property-provider" "3.310.0"
+ "@aws-sdk/shared-ini-file-loader" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/node-http-handler@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.306.0.tgz#b8505ece999812b6ce596e1ae93eef854b05935d"
- integrity sha512-qvNSIVdGf0pnWEXsAulIqXk7LML25Zc1yxbujxoAj8oX5y+mDhzQdHKrMgc0FuI4RKoEd9px4DYoUbmTWrrxwA==
+"@aws-sdk/node-http-handler@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.310.0.tgz#bd8e72c1c7cf4b48c2a21851f638ad5e63001787"
+ integrity sha512-irv9mbcM9xC2xYjArQF5SYmHBMu4ciMWtGsoHII1nRuFOl9FoT4ffTvEPuLlfC6pznzvKt9zvnm6xXj7gDChKg==
dependencies:
- "@aws-sdk/abort-controller" "3.306.0"
- "@aws-sdk/protocol-http" "3.306.0"
- "@aws-sdk/querystring-builder" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/abort-controller" "3.310.0"
+ "@aws-sdk/protocol-http" "3.310.0"
+ "@aws-sdk/querystring-builder" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/property-provider@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.306.0.tgz#692d2a444ae38e2086700af39512c828f921fdab"
- integrity sha512-37PnbjpANjHys0Y+DVmKUz1JbSGZ/mAndZeplTUsFDUtbNwJRw/fDyWUvGC82JWB4gNSP5muWscFvetZnK2l8A==
+"@aws-sdk/property-provider@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.310.0.tgz#5fae8a4c11bda052afa9747d47b031f1c4f0f246"
+ integrity sha512-3lxDb0akV6BBzmFe4nLPaoliQbAifyWJhuvuDOu7e8NzouvpQXs0275w9LePhhcgjKAEVXUIse05ZW2DLbxo/g==
dependencies:
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/protocol-http@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.306.0.tgz#31129dc06c53df69721f90e09315a510ad5fd58c"
- integrity sha512-6Z8bqB8Ydz/qG7+lJzjwsjIca2w2zp4nZ2HjxMoUm0NBbVXGDx7H9qy9eOUqEiCbdXbsfK2BmVQreLhFLt056Q==
+"@aws-sdk/protocol-http@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.310.0.tgz#855c3314cba7ff3024a9a9701ca3c641691d997e"
+ integrity sha512-fgZ1aw/irQtnrsR58pS8ThKOWo57Py3xX6giRvwSgZDEcxHfVzuQjy9yPuV++v04fdmdtgpbGf8WfvAAJ11yXQ==
dependencies:
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/querystring-builder@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.306.0.tgz#f9fa84d79fc6358d42215172e9c3c85dd1925528"
- integrity sha512-kvz6fLwE4KojTxbphuo9JPwKKuhau2mmSurnqhtf77t9+0cOh2uzyYhIUtOFewpLj+qGoh4b2EODlJqczc7IKg==
+"@aws-sdk/querystring-builder@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.310.0.tgz#5307ea52c3a4a1ae6818bbb6987cc6fce68b043f"
+ integrity sha512-ZHH8GV/80+pWGo7DzsvwvXR5xVxUHXUvPJPFAkhr6nCf78igdoF8gR10ScFoEKbtEapoNTaZlKHPXxpD8aPG7A==
dependencies:
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/util-uri-escape" "3.303.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/util-uri-escape" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/querystring-parser@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.306.0.tgz#87f96a1e008b08378910f94618e170a3f9257bf9"
- integrity sha512-YjOdLcyS/8sNkFPgnxyUx+cM/P2XFGCA2WjQ0e9AXX8xFFkmnY6U5w2EknQ5zyvKy+R/KAV0KAMJBUB+ofjg0A==
+"@aws-sdk/querystring-parser@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.310.0.tgz#438183927e0b06e7c2ee004a1681b8d37c22e104"
+ integrity sha512-YkIznoP6lsiIUHinx++/lbb3tlMURGGqMpo0Pnn32zYzGrJXA6eC3D0as2EcMjo55onTfuLcIiX4qzXes2MYOA==
dependencies:
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/service-error-classification@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.306.0.tgz#47889417d26ea99f0f229f5ca5bc42ac95c07976"
- integrity sha512-lmXIVHWU5J60GmmTgyj79kupWYg5ntyNrUPt1P9FYTsXz+tdk4YYH7/2IxZ1XjBr4jEsN56gfSI0cfT07ztQJA==
+"@aws-sdk/service-error-classification@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.310.0.tgz#352c1db426dcf54a44393bc9a0607dde796b2abb"
+ integrity sha512-PuyC7k3qfIKeH2LCnDwbttMOKq3qAx4buvg0yfnJtQOz6t1AR8gsnAq0CjKXXyfkXwNKWTqCpE6lVNUIkXgsMw==
-"@aws-sdk/shared-ini-file-loader@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.306.0.tgz#36bb962d2f7a3c13d653318e2f5e36bd7e5307af"
- integrity sha512-mDmBRN+Y0+EBD5megId97UIJGV/rmRsAds22qy0mmVdD3X7qlxn974btXVgfZyda6qw/pX6hgi8X99Qj6Wjb0w==
+"@aws-sdk/shared-ini-file-loader@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.310.0.tgz#07e9c8e8e8bb0de7ed19b8cea908c920a493c9c9"
+ integrity sha512-N0q9pG0xSjQwc690YQND5bofm+4nfUviQ/Ppgan2kU6aU0WUq8KwgHJBto/YEEI+VlrME30jZJnxtOvcZJc2XA==
dependencies:
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/signature-v4@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.306.0.tgz#a32079435099232cdc88b1bf9ed0918a385ae39e"
- integrity sha512-yoQTo6wLirKHg34Zhm8tKmfEaK8fOn+psVdMtRs2vGq3uzKLb+YW5zywnujoVwBvygQTWxiDMwRxDduWAisccA==
+"@aws-sdk/signature-v4@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.310.0.tgz#ad26426d3f72fa18e6808a36f827beb72d12bf2d"
+ integrity sha512-1M60P1ZBNAjCFv9sYW29OF6okktaeibWyW3lMXqzoHF70lHBZh+838iUchznXUA5FLabfn4jBFWMRxlAXJUY2Q==
dependencies:
- "@aws-sdk/is-array-buffer" "3.303.0"
- "@aws-sdk/types" "3.306.0"
- "@aws-sdk/util-hex-encoding" "3.295.0"
- "@aws-sdk/util-middleware" "3.306.0"
- "@aws-sdk/util-uri-escape" "3.303.0"
- "@aws-sdk/util-utf8" "3.303.0"
+ "@aws-sdk/is-array-buffer" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
+ "@aws-sdk/util-hex-encoding" "3.310.0"
+ "@aws-sdk/util-middleware" "3.310.0"
+ "@aws-sdk/util-uri-escape" "3.310.0"
+ "@aws-sdk/util-utf8" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/smithy-client@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.306.0.tgz#c7200754200870226ccb22bb3986d3bcb4d59a7f"
- integrity sha512-AFdNkto0Md6laio9t70WtvocoZqVcAydbY5csimXQh+lhKVmy/C+ZcKarDvaa0JD6PjSHb4snYzcINFpHW5LJQ==
+"@aws-sdk/smithy-client@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.310.0.tgz#04fca042ffc120c35eeea1335fa055d39f1bd7bd"
+ integrity sha512-UHMFvhoB2RLzsTb0mQe1ofvBUg/+/JEu1uptavxf/hEpEKZnRAaHH5FNkTG+mbFd/olay/QFjqNcMD6t8LcsNQ==
dependencies:
- "@aws-sdk/middleware-stack" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/middleware-stack" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/token-providers@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.306.0.tgz#5267f26884eecd77eb295747b111459734cd773c"
- integrity sha512-GQlUx9u+fHLjOJedudLM//j7RSZAip57n59bjn/I3TRVjDs065opNu2xSWMPm1n46kPx6VA5z+DktvuFeAblxQ==
+"@aws-sdk/token-providers@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.310.0.tgz#2d0b0d3ef729f6cdc6a0cc859e80bb9efea2d8fa"
+ integrity sha512-G1JvB+2v8k900VJFkKVQXgLGF50ShOEIPxfK1gSQLkSU85vPwGIAANs1KvnlW08FsNbWp3+sKca4kfYKsooXMw==
dependencies:
- "@aws-sdk/client-sso-oidc" "3.306.0"
- "@aws-sdk/property-provider" "3.306.0"
- "@aws-sdk/shared-ini-file-loader" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/client-sso-oidc" "3.310.0"
+ "@aws-sdk/property-provider" "3.310.0"
+ "@aws-sdk/shared-ini-file-loader" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/types@3.306.0", "@aws-sdk/types@^3.222.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.306.0.tgz#076aa94a1d711311c14bab10b251752506a21487"
- integrity sha512-RnyknWWpQcRmNH7AsNr89sdhOoltCU/4YEwBMw34Eh+/36l7HfA5PdEKbsOkO7MO4+2g5qmmm/AHcnHRvymApg==
+"@aws-sdk/types@3.310.0", "@aws-sdk/types@^3.222.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.310.0.tgz#b83a0580feb38b58417abb8b4ed3eae1a0cb7bc1"
+ integrity sha512-j8eamQJ7YcIhw7fneUfs8LYl3t01k4uHi4ZDmNRgtbmbmTTG3FZc2MotStZnp3nZB6vLiPF1o5aoJxWVvkzS6A==
dependencies:
tslib "^2.5.0"
-"@aws-sdk/url-parser@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.306.0.tgz#7d6b51f70874bbeb18208d4d9b6f931a98b81c03"
- integrity sha512-mhyOjtycZgxKYo2CoDhDQONuRd5TLfEwmyGWVgFrfubF0LejQ3rkBRLC5zT9TBZ8RJHNlqU2oGdsZCy3JV6Rlw==
+"@aws-sdk/url-parser@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.310.0.tgz#928c9eac2e3d74c3c5db4c6e364a1de00185dcaa"
+ integrity sha512-mCLnCaSB9rQvAgx33u0DujLvr4d5yEm/W5r789GblwwQnlNXedVu50QRizMLTpltYWyAUoXjJgQnJHmJMaKXhw==
dependencies:
- "@aws-sdk/querystring-parser" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/querystring-parser" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/util-base64@3.303.0":
- version "3.303.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64/-/util-base64-3.303.0.tgz#653281b7c1abfafc3f7a4c6f3b00d0733a4c455a"
- integrity sha512-oj+p/GHHPcZEKjiiOHU/CyNQeh8i+8dfMMzU+VGdoK5jHaVG8h2b+V7GPf7I4wDkG2ySCK5b5Jw5NUHwdTJ13Q==
+"@aws-sdk/util-base64@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz#d0fd49aff358c5a6e771d0001c63b1f97acbe34c"
+ integrity sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg==
dependencies:
- "@aws-sdk/util-buffer-from" "3.303.0"
+ "@aws-sdk/util-buffer-from" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/util-body-length-browser@3.303.0":
- version "3.303.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.303.0.tgz#837cd63e59c1fda1d6a657a5c08fff7758ce4dc7"
- integrity sha512-T643m0pKzgjAvPFy4W8zL+aszG3T22U8hb6stlMvT0z++Smv8QfIvkIkXjWyH2KlOt5GKliHwdOv8SAi0FSMJQ==
+"@aws-sdk/util-body-length-browser@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.310.0.tgz#3fca9d2f73c058edf1907e4a1d99a392fdd23eca"
+ integrity sha512-sxsC3lPBGfpHtNTUoGXMQXLwjmR0zVpx0rSvzTPAuoVILVsp5AU/w5FphNPxD5OVIjNbZv9KsKTuvNTiZjDp9g==
dependencies:
tslib "^2.5.0"
-"@aws-sdk/util-body-length-node@3.303.0":
- version "3.303.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.303.0.tgz#56c66486a9416e6497227e1ed3618b8bd7a0d710"
- integrity sha512-/hS8z6e18Le60hJr2TUIFoUjUiAsnQsuDn6DxX74GXhMOHeSwZDJ9jHF39quYkNMmAE37GrVH4MI9vE0pN27qw==
+"@aws-sdk/util-body-length-node@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.310.0.tgz#4846ae72834ab0636f29f89fc1878520f6543fed"
+ integrity sha512-2tqGXdyKhyA6w4zz7UPoS8Ip+7sayOg9BwHNidiGm2ikbDxm1YrCfYXvCBdwaJxa4hJfRVz+aL9e+d3GqPI9pQ==
dependencies:
tslib "^2.5.0"
-"@aws-sdk/util-buffer-from@3.303.0":
- version "3.303.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.303.0.tgz#4ec18ecdf380d3434a80d9f9762264725516651a"
- integrity sha512-hUU+NW+SW6RNojtAKnnmz+tDShVKlEx2YsS4a5fSfrKRUes+zWz10cxVX0RQfysd3R6tdSHhbjsSj8eCIybheg==
+"@aws-sdk/util-buffer-from@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz#7a72cb965984d3c6a7e256ae6cf1621f52e54a57"
+ integrity sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw==
dependencies:
- "@aws-sdk/is-array-buffer" "3.303.0"
+ "@aws-sdk/is-array-buffer" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/util-config-provider@3.295.0":
- version "3.295.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.295.0.tgz#c0f76407181722791b0a7bf80a9f01e78fd80250"
- integrity sha512-/5Dl1aV2yI8YQjqwmg4RTnl/E9NmNsx7HIwBZt+dTcOrM0LMUwczQBFFcLyqCj/qv5y+VsvLoAAA/OiBT7hb3w==
+"@aws-sdk/util-config-provider@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.310.0.tgz#ff21f73d4774cfd7bd16ae56f905828600dda95f"
+ integrity sha512-xIBaYo8dwiojCw8vnUcIL4Z5tyfb1v3yjqyJKJWV/dqKUFOOS0U591plmXbM+M/QkXyML3ypon1f8+BoaDExrg==
dependencies:
tslib "^2.5.0"
-"@aws-sdk/util-defaults-mode-browser@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.306.0.tgz#a7404fd9fd29c2f5857d92f47a2793aa7fa4c69f"
- integrity sha512-XczPC/klGngMNDcNvThloyeKoPoG61ts1tZVcDbyRaOqmoMH80fn+c6Ah4A/BPzbo8wm1MIA9kqeJI0ypps6qQ==
+"@aws-sdk/util-defaults-mode-browser@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.310.0.tgz#db82bfdf339eea0bc8b1b059dfe9b62e5d3adbf4"
+ integrity sha512-Mr2AoQsjAYNM5oAS2YJlYJqhiCvkFV/hu48slOZgbY4G7ueW4cM0DPkR16wqjcRCGqZ4JmAZB8Q5R0DMrLjhOQ==
dependencies:
- "@aws-sdk/property-provider" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/property-provider" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
bowser "^2.11.0"
tslib "^2.5.0"
-"@aws-sdk/util-defaults-mode-node@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.306.0.tgz#fc479fd7fe3413f465ba4386689eb2af0fba4f6e"
- integrity sha512-0hs/cS7Pu4sEO78n0Uv7ybBEFq5j23TOu3QNH+YMzF8n4yuQtaMwNM8DI2s03/pVGXYsPzO7036jREGcu+enXw==
+"@aws-sdk/util-defaults-mode-node@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.310.0.tgz#aee459c2da09e2c6e85c6db0406565312f45ccbb"
+ integrity sha512-JyBlvhQGR8w8NpFRZZXRVTDesafFKTu/gTWjcoxP7twa+fYHSIgPPFGnlcJ/iHaucjamSaWi5EQ+YQmnSZ8yHA==
dependencies:
- "@aws-sdk/config-resolver" "3.306.0"
- "@aws-sdk/credential-provider-imds" "3.306.0"
- "@aws-sdk/node-config-provider" "3.306.0"
- "@aws-sdk/property-provider" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/config-resolver" "3.310.0"
+ "@aws-sdk/credential-provider-imds" "3.310.0"
+ "@aws-sdk/node-config-provider" "3.310.0"
+ "@aws-sdk/property-provider" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/util-endpoints@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.306.0.tgz#97a2859f0253667c0cee27a800d011e850598f98"
- integrity sha512-aPTqU4VGhec8LDhKZrfA3/sBHTYRa0favKEo8aEa/vIZJTNBAFlUhvr5z7peAr8gBOtZZcElzX8PiK3jjn3ILw==
+"@aws-sdk/util-endpoints@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.310.0.tgz#fea8757038b62d49dacd653061ba04a2ea102a36"
+ integrity sha512-zG+/d/O5KPmAaeOMPd6bW1abifdT0H03f42keLjYEoRZzYtHPC5DuPE0UayiWGckI6BCDgy0sRKXCYS49UNFaQ==
dependencies:
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/util-hex-encoding@3.295.0":
- version "3.295.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.295.0.tgz#13acb924f88785d317c9bec37e5ca173ccc4a0ca"
- integrity sha512-XJcoVo41kHzhe28PBm/rqt5mdCp8R6abwiW9ug1dA6FOoPUO8kBUxDv6xaOmA2hfRvd2ocFfBXaUCBqUowkGcQ==
+"@aws-sdk/util-hex-encoding@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.310.0.tgz#19294c78986c90ae33f04491487863dc1d33bd87"
+ integrity sha512-sVN7mcCCDSJ67pI1ZMtk84SKGqyix6/0A1Ab163YKn+lFBQRMKexleZzpYzNGxYzmQS6VanP/cfU7NiLQOaSfA==
dependencies:
tslib "^2.5.0"
@@ -762,44 +762,44 @@
dependencies:
tslib "^2.3.1"
-"@aws-sdk/util-middleware@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-middleware/-/util-middleware-3.306.0.tgz#600777870b629c54ca2d0ac189c03084f3227c20"
- integrity sha512-14CSm1mTrfSNBGbkZu8vSjXYg7DUMfZc74IinOajcFtTswa/6SyiyhU9DK0a837qqwxSfFGpnE2thVeJIF/7FA==
+"@aws-sdk/util-middleware@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-middleware/-/util-middleware-3.310.0.tgz#713c5bfa296f4cf707150a0a1e911afd50dcf939"
+ integrity sha512-FTSUKL/eRb9X6uEZClrTe27QFXUNNp7fxYrPndZwk1hlaOP5ix+MIHBcI7pIiiY/JPfOUmPyZOu+HetlFXjWog==
dependencies:
tslib "^2.5.0"
-"@aws-sdk/util-retry@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-retry/-/util-retry-3.306.0.tgz#057f2327eb36cd847e73e73c76e4308cd0650907"
- integrity sha512-zcgTEIehQAIAm4vBNWfXZpDNbIrDM095vZmpbozQwK/pfDqMGvq7j3r9atKuEGTtoomoGoYwj3x/KEhO6JXJLg==
+"@aws-sdk/util-retry@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-retry/-/util-retry-3.310.0.tgz#4cdc35e2dfdacf2d928ab474ba8b67bbadd6be3c"
+ integrity sha512-FwWGhCBLfoivTMUHu1LIn4NjrN9JLJ/aX5aZmbcPIOhZVFJj638j0qDgZXyfvVqBuBZh7M8kGq0Oahy3dp69OA==
dependencies:
- "@aws-sdk/service-error-classification" "3.306.0"
+ "@aws-sdk/service-error-classification" "3.310.0"
tslib "^2.5.0"
-"@aws-sdk/util-uri-escape@3.303.0":
- version "3.303.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.303.0.tgz#3101c27e0bf630fdcb288704d72412f75fa74bb8"
- integrity sha512-N3ULNuHCL3QzAlCTY+XRRkRQTYCTU8RRuzFCJX0pDpz9t2K+tLT7DbxqupWGNFGl5Xlulf1Is14J3BP/Dx91rA==
+"@aws-sdk/util-uri-escape@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz#9f942f09a715d8278875013a416295746b6085ba"
+ integrity sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q==
dependencies:
tslib "^2.5.0"
-"@aws-sdk/util-user-agent-browser@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.306.0.tgz#c5d7a9f4987d938f02e371aae11cb7f6cfbb3485"
- integrity sha512-uZAtpvCasUdWRlB/nEjN0gf6G7810hT50VyWjpd6mQW78myV8M5fu/R03UFAZ+D8fhqqIdzR/IXDY1QUGp8bCA==
+"@aws-sdk/util-user-agent-browser@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.310.0.tgz#48d463a93351b78b678df324f3518a9798029c44"
+ integrity sha512-yU/4QnHHuQ5z3vsUqMQVfYLbZGYwpYblPiuZx4Zo9+x0PBkNjYMqctdDcrpoH9Z2xZiDN16AmQGK1tix117ZKw==
dependencies:
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/types" "3.310.0"
bowser "^2.11.0"
tslib "^2.5.0"
-"@aws-sdk/util-user-agent-node@3.306.0":
- version "3.306.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.306.0.tgz#40a981a49cf07681ee3ffefbf479d05fbb257e1b"
- integrity sha512-zLp9wIx7FZ0qFLimYW3lJ1uJM5gqxmmcQjNimUaUq/4a1caDkaiF/QeyyMFva+wIjyHRv22P5abUBjIEZrs5WA==
+"@aws-sdk/util-user-agent-node@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.310.0.tgz#ebefbedc5a4759adc958885741628ec0de1ab197"
+ integrity sha512-Ra3pEl+Gn2BpeE7KiDGpi4zj7WJXZA5GXnGo3mjbi9+Y3zrbuhJAbdZO3mO/o7xDgMC6ph4xCTbaSGzU6b6EDg==
dependencies:
- "@aws-sdk/node-config-provider" "3.306.0"
- "@aws-sdk/types" "3.306.0"
+ "@aws-sdk/node-config-provider" "3.310.0"
+ "@aws-sdk/types" "3.310.0"
tslib "^2.5.0"
"@aws-sdk/util-utf8-browser@^3.0.0":
@@ -809,12 +809,12 @@
dependencies:
tslib "^2.3.1"
-"@aws-sdk/util-utf8@3.303.0":
- version "3.303.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8/-/util-utf8-3.303.0.tgz#c6a3caacfc3f5460132379d586dc9c2a08b8f45e"
- integrity sha512-tZXVuMOIONPOuOGBs/XRdzxv6jUvTM620dRFFIHZwlGiW8bo0x0LlonrzDAJZA4e9ZwmxJIj8Ji13WVRBGvZWg==
+"@aws-sdk/util-utf8@3.310.0":
+ version "3.310.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8/-/util-utf8-3.310.0.tgz#4a7b9dcebb88e830d3811aeb21e9a6df4273afb4"
+ integrity sha512-DnLfFT8uCO22uOJc0pt0DsSNau1GTisngBCDw8jQuWT5CqogMJu4b/uXmwEqfj8B3GX6Xsz8zOd6JpRlPftQoA==
dependencies:
- "@aws-sdk/util-buffer-from" "3.303.0"
+ "@aws-sdk/util-buffer-from" "3.310.0"
tslib "^2.5.0"
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6":
@@ -1977,7 +1977,7 @@
core-js-pure "^3.20.2"
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.13", "@babel/runtime@^7.14.0", "@babel/runtime@^7.14.6", "@babel/runtime@^7.17.2", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.6", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.6", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4":
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.13", "@babel/runtime@^7.14.0", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.6", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.6", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4":
version "7.21.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673"
integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==
@@ -2208,12 +2208,12 @@
w3c-keyname "^2.2.4"
"@commitlint/cli@^17.0.2":
- version "17.5.1"
- resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.5.1.tgz#db176538db7b4140c8856c88a46bd15ec705f881"
- integrity sha512-pRRgGSzdHQHehxZbGA3qF6wVPyl+EEQgTe/t321rtMLFbuJ7nRj2waS17s/v5oEbyZtiY5S8PGB6XtEIm0I+Sg==
+ version "17.6.0"
+ resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.6.0.tgz#9e14322fc2eb7b27aa3124d3f0d64571e4ecb230"
+ integrity sha512-JaZeZ1p6kfkSiZlDoQjK09AuiI9zYQMiIUJzTOM8qNRHFOXOPmiTM56nI67yzeUSNTFu6M/DRqjmdjtA5q3hEg==
dependencies:
"@commitlint/format" "^17.4.4"
- "@commitlint/lint" "^17.4.4"
+ "@commitlint/lint" "^17.6.0"
"@commitlint/load" "^17.5.0"
"@commitlint/read" "^17.5.1"
"@commitlint/types" "^17.4.4"
@@ -2224,9 +2224,9 @@
yargs "^17.0.0"
"@commitlint/config-conventional@^17.0.2":
- version "17.4.4"
- resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.4.4.tgz#f30b1e5b2e48ce5799a483c200c52f218a98efcc"
- integrity sha512-u6ztvxqzi6NuhrcEDR7a+z0yrh11elY66nRrQIpqsqW6sZmpxYkDLtpRH8jRML+mmxYQ8s4qqF06Q/IQx5aJeQ==
+ version "17.6.0"
+ resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.6.0.tgz#dfd4ae715b3997c5dd319f2d99dd1421b2b783eb"
+ integrity sha512-2Y9M7MN942bTK5h70fJGknhXA02+OtWCkKeIzTSwsdwz1V7y6bxYv24x052E9XHKtZHJfvM3iLuTOsjRvLqWtA==
dependencies:
conventional-changelog-conventionalcommits "^5.0.0"
@@ -2271,14 +2271,14 @@
"@commitlint/types" "^17.4.4"
semver "7.3.8"
-"@commitlint/lint@^17.4.4":
- version "17.4.4"
- resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.4.4.tgz#0ecd70b44ec5f4823c2e00e0c4b04ebd41d42856"
- integrity sha512-qgkCRRFjyhbMDWsti/5jRYVJkgYZj4r+ZmweZObnbYqPUl5UKLWMf9a/ZZisOI4JfiPmRktYRZ2JmqlSvg+ccw==
+"@commitlint/lint@^17.6.0":
+ version "17.6.0"
+ resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.6.0.tgz#ec40e2267ced1d75e7f62b7e032db1f8a9e6c1f2"
+ integrity sha512-6cEXxpxZd7fbtYMxeosOum/Nnwu3VdSuZcrFSqP9lWNsrHRv4ijVsnLeomvo6WHPchGOeEWAazAI7Q6Ap22fJw==
dependencies:
"@commitlint/is-ignored" "^17.4.4"
"@commitlint/parse" "^17.4.4"
- "@commitlint/rules" "^17.4.4"
+ "@commitlint/rules" "^17.6.0"
"@commitlint/types" "^17.4.4"
"@commitlint/load@^17.5.0":
@@ -2338,10 +2338,10 @@
resolve-from "^5.0.0"
resolve-global "^1.0.0"
-"@commitlint/rules@^17.4.4":
- version "17.4.4"
- resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.4.4.tgz#9b33f41e5eb529f916396bac7c62e61f0edd6791"
- integrity sha512-0tgvXnHi/mVcyR8Y8mjTFZIa/FEQXA4uEutXS/imH2v1UNkYDSEMsK/68wiXRpfW1euSgEdwRkvE1z23+yhNrQ==
+"@commitlint/rules@^17.6.0":
+ version "17.6.0"
+ resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.6.0.tgz#1d4029015362ec96690c3e460b8267331dc51077"
+ integrity sha512-Ka7AsRFvkKMYYE7itgo7hddRGCiV+0BgbTIAq4PWmnkHAECxYpdqMVzW5jaATmXZfwfRRTB57e7KZWj6EPmK1A==
dependencies:
"@commitlint/ensure" "^17.4.4"
"@commitlint/message" "^17.4.2"
@@ -2453,220 +2453,220 @@
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23"
integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==
-"@esbuild/android-arm64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.15.tgz#893ad71f3920ccb919e1757c387756a9bca2ef42"
- integrity sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==
+"@esbuild/android-arm64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.16.tgz#7b18cab5f4d93e878306196eed26b6d960c12576"
+ integrity sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q==
"@esbuild/android-arm@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2"
integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==
-"@esbuild/android-arm@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.15.tgz#143e0d4e4c08c786ea410b9a7739779a9a1315d8"
- integrity sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==
+"@esbuild/android-arm@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.16.tgz#5c47f6a7c2cada6ed4b4d4e72d8c66e76d812812"
+ integrity sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==
"@esbuild/android-x64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e"
integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==
-"@esbuild/android-x64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.15.tgz#d2d12a7676b2589864281b2274355200916540bc"
- integrity sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==
+"@esbuild/android-x64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.16.tgz#8686a6e98359071ffd5312046551943e7244c51a"
+ integrity sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow==
"@esbuild/darwin-arm64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220"
integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==
-"@esbuild/darwin-arm64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz#2e88e79f1d327a2a7d9d06397e5232eb0a473d61"
- integrity sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==
+"@esbuild/darwin-arm64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.16.tgz#aa79fbf447630ca0696a596beba962a775bbf394"
+ integrity sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==
"@esbuild/darwin-x64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4"
integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==
-"@esbuild/darwin-x64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.15.tgz#9384e64c0be91388c57be6d3a5eaf1c32a99c91d"
- integrity sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==
+"@esbuild/darwin-x64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.16.tgz#d5d68ee510507104da7e7503224c647c957e163e"
+ integrity sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ==
"@esbuild/freebsd-arm64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27"
integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==
-"@esbuild/freebsd-arm64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.15.tgz#2ad5a35bc52ebd9ca6b845dbc59ba39647a93c1a"
- integrity sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==
+"@esbuild/freebsd-arm64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.16.tgz#b00b4cc8c2e424907cfe3a607384ab24794edd52"
+ integrity sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA==
"@esbuild/freebsd-x64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72"
integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==
-"@esbuild/freebsd-x64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.15.tgz#b513a48446f96c75fda5bef470e64d342d4379cd"
- integrity sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==
+"@esbuild/freebsd-x64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.16.tgz#84af4430a07730b50bbc945a90cf7036c1853b76"
+ integrity sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g==
"@esbuild/linux-arm64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca"
integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==
-"@esbuild/linux-arm64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.15.tgz#9697b168175bfd41fa9cc4a72dd0d48f24715f31"
- integrity sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==
+"@esbuild/linux-arm64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.16.tgz#35571d15de6272c862d9ce6341372fb3cef0f266"
+ integrity sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA==
"@esbuild/linux-arm@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196"
integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==
-"@esbuild/linux-arm@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.15.tgz#5b22062c54f48cd92fab9ffd993732a52db70cd3"
- integrity sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==
+"@esbuild/linux-arm@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.16.tgz#b65c7cd5b0eadd08f91aab66b9dda81b6a4b2a70"
+ integrity sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw==
"@esbuild/linux-ia32@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54"
integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==
-"@esbuild/linux-ia32@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.15.tgz#eb28a13f9b60b5189fcc9e98e1024f6b657ba54c"
- integrity sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==
+"@esbuild/linux-ia32@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.16.tgz#673a68cb251ce44a00a6422ada29064c5a1cd2c0"
+ integrity sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA==
"@esbuild/linux-loong64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8"
integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==
-"@esbuild/linux-loong64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.15.tgz#32454bdfe144cf74b77895a8ad21a15cb81cfbe5"
- integrity sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==
+"@esbuild/linux-loong64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.16.tgz#477e2da34ab46ffdbf4740fa6441e80045249385"
+ integrity sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==
"@esbuild/linux-mips64el@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726"
integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==
-"@esbuild/linux-mips64el@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.15.tgz#af12bde0d775a318fad90eb13a0455229a63987c"
- integrity sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==
+"@esbuild/linux-mips64el@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.16.tgz#e1e9687bbdaa831d7c34edc9278200982c1a4bf4"
+ integrity sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA==
"@esbuild/linux-ppc64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8"
integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==
-"@esbuild/linux-ppc64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.15.tgz#34c5ed145b2dfc493d3e652abac8bd3baa3865a5"
- integrity sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==
+"@esbuild/linux-ppc64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.16.tgz#2f19075d63622987e86e83a4b7866cd57b796c60"
+ integrity sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q==
"@esbuild/linux-riscv64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9"
integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==
-"@esbuild/linux-riscv64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.15.tgz#87bd515e837f2eb004b45f9e6a94dc5b93f22b92"
- integrity sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==
+"@esbuild/linux-riscv64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.16.tgz#bbf40a38f03ba2434fe69b5ceeec5d13c742b329"
+ integrity sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA==
"@esbuild/linux-s390x@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87"
integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==
-"@esbuild/linux-s390x@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.15.tgz#20bf7947197f199ddac2ec412029a414ceae3aa3"
- integrity sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==
+"@esbuild/linux-s390x@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.16.tgz#d2b8c0779ccd2b7917cdf0fab8831a468e0f9c01"
+ integrity sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw==
"@esbuild/linux-x64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f"
integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==
-"@esbuild/linux-x64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz#31b93f9c94c195e852c20cd3d1914a68aa619124"
- integrity sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==
+"@esbuild/linux-x64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.16.tgz#da48b39cfdc1b12a74976625f583f031eac43590"
+ integrity sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g==
"@esbuild/netbsd-x64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775"
integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==
-"@esbuild/netbsd-x64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.15.tgz#8da299b3ac6875836ca8cdc1925826498069ac65"
- integrity sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==
+"@esbuild/netbsd-x64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.16.tgz#ddef985aed37cc81908d2573b66c0299dbc49037"
+ integrity sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA==
"@esbuild/openbsd-x64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35"
integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==
-"@esbuild/openbsd-x64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.15.tgz#04a1ec3d4e919714dba68dcf09eeb1228ad0d20c"
- integrity sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==
+"@esbuild/openbsd-x64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.16.tgz#85035bf89efd66e9068bc72aa6bb85a2c317d090"
+ integrity sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew==
"@esbuild/sunos-x64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c"
integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==
-"@esbuild/sunos-x64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.15.tgz#6694ebe4e16e5cd7dab6505ff7c28f9c1c695ce5"
- integrity sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==
+"@esbuild/sunos-x64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.16.tgz#16338ecab854cb2d831cc9ee9cc21ef69566e1f3"
+ integrity sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag==
"@esbuild/win32-arm64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a"
integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==
-"@esbuild/win32-arm64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.15.tgz#1f95b2564193c8d1fee8f8129a0609728171d500"
- integrity sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==
+"@esbuild/win32-arm64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.16.tgz#423f46bb744aff897a5f74435469e1ef4952e343"
+ integrity sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg==
"@esbuild/win32-ia32@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09"
integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==
-"@esbuild/win32-ia32@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.15.tgz#c362b88b3df21916ed7bcf75c6d09c6bf3ae354a"
- integrity sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==
+"@esbuild/win32-ia32@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.16.tgz#1978be5b192c7063bd2c8d5960eb213e1964740e"
+ integrity sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA==
"@esbuild/win32-x64@0.16.17":
version "0.16.17"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091"
integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==
-"@esbuild/win32-x64@0.17.15":
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.15.tgz#c2e737f3a201ebff8e2ac2b8e9f246b397ad19b8"
- integrity sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==
+"@esbuild/win32-x64@0.17.16":
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.16.tgz#260f19b0a3300d22c3a3f52722c671dc561edaa3"
+ integrity sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg==
"@eslint-community/eslint-utils@^4.2.0":
version "4.3.0"
@@ -2695,10 +2695,10 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
-"@eslint/js@8.37.0":
- version "8.37.0"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.37.0.tgz#cf1b5fa24217fe007f6487a26d765274925efa7d"
- integrity sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==
+"@eslint/js@8.38.0":
+ version "8.38.0"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.38.0.tgz#73a8a0d8aa8a8e6fe270431c5e72ae91b5337892"
+ integrity sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==
"@floating-ui/core@^1.2.2":
version "1.2.2"
@@ -2724,10 +2724,10 @@
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==
-"@headlessui/react@1.7.13":
- version "1.7.13"
- resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.7.13.tgz#fd150b394954e9f1d86ed2340cffd1217d6e7628"
- integrity sha512-9n+EQKRtD9266xIHXdY5MfiXPDfYwl7zBM7KOx2Ae3Gdgxy8QML1FkCMjq6AsOf0l6N9uvI4HcFtuFlenaldKg==
+"@headlessui/react@1.7.14":
+ version "1.7.14"
+ resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.7.14.tgz#75f19552c535113640fe8a3a40e71474f49e89c9"
+ integrity sha512-znzdq9PG8rkwcu9oQ2FwIy0ZFtP9Z7ycS+BAqJ3R5EIqC/0bJGvhT7193rFf+45i9nnPsYvCQVW4V/bB9Xc+gA==
dependencies:
client-only "^0.0.1"
@@ -3176,89 +3176,69 @@
hey-listen "^1.0.8"
tslib "^2.3.1"
-"@next/bundle-analyzer@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-13.2.4.tgz#ad319bf566528f8afee34df07574fd97170b03f2"
- integrity sha512-bY4Clt7f1roJextpeQOQQWfNiXI0O5UvfOEyfuM5YUGPQMOCAZD2zjLjolakdn9Dm2yyMQUQ6JDE+iJK0dIeLA==
+"@next/bundle-analyzer@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-13.3.0.tgz#3dc6224d2020ee7198423b9989a173d19a069eff"
+ integrity sha512-MNtsx3MFh/kqq2DDa4ladjzfUV8McncEowNvt/s7Z9UjvX6DkuJGFRdjq/RYtxWvjQAsDgiOsgyIOLzDbvQo3g==
dependencies:
webpack-bundle-analyzer "4.7.0"
-"@next/env@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/env/-/env-13.2.4.tgz#8b763700262b2445140a44a8c8d088cef676dbae"
- integrity sha512-+Mq3TtpkeeKFZanPturjcXt+KHfKYnLlX6jMLyCrmpq6OOs4i1GqBOAauSkii9QeKCMTYzGppar21JU57b/GEA==
+"@next/env@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@next/env/-/env-13.3.0.tgz#cc2e49f03060a4684ce7ec7fd617a21bc5b9edba"
+ integrity sha512-AjppRV4uG3No7L1plinoTQETH+j2F10TEnrMfzbTUYwze5sBUPveeeBAPZPm8OkJZ1epq9OyYKhZrvbD6/9HCQ==
-"@next/eslint-plugin-next@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.2.4.tgz#3e124cd10ce24dab5d3448ce04104b4f1f4c6ca7"
- integrity sha512-ck1lI+7r1mMJpqLNa3LJ5pxCfOB1lfJncKmRJeJxcJqcngaFwylreLP7da6Rrjr6u2gVRTfmnkSkjc80IiQCwQ==
+"@next/eslint-plugin-next@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.3.0.tgz#3a4742b0817575cc0dd4d152cb10363584c215ac"
+ integrity sha512-wuGN5qSEjSgcq9fVkH0Y/qIPFjnZtW3ZPwfjJOn7l/rrf6y8J24h/lo61kwqunTyzZJm/ETGfGVU9PUs8cnzEA==
dependencies:
glob "7.1.7"
-"@next/swc-android-arm-eabi@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.2.4.tgz#758d0403771e549f9cee71cbabc0cb16a6c947c0"
- integrity sha512-DWlalTSkLjDU11MY11jg17O1gGQzpRccM9Oes2yTqj2DpHndajrXHGxj9HGtJ+idq2k7ImUdJVWS2h2l/EDJOw==
+"@next/swc-darwin-arm64@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.3.0.tgz#38f18e0639cd4c7edc6a38d4b83fe00f38eea4f2"
+ integrity sha512-DmIQCNq6JtccLPPBzf0dgh2vzMWt5wjxbP71pCi5EWpWYE3MsP6FcRXi4MlAmFNDQOfcFXR2r7kBeG1LpZUh1w==
-"@next/swc-android-arm64@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-13.2.4.tgz#834d586523045110d5602e0c8aae9028835ac427"
- integrity sha512-sRavmUImUCf332Gy+PjIfLkMhiRX1Ez4SI+3vFDRs1N5eXp+uNzjFUK/oLMMOzk6KFSkbiK/3Wt8+dHQR/flNg==
+"@next/swc-darwin-x64@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.3.0.tgz#b670ed1fd1d231aa21279173ec52e3ad56dc6aeb"
+ integrity sha512-oQoqFa88OGgwnYlnAGHVct618FRI/749se0N3S8t9Bzdv5CRbscnO0RcX901+YnNK4Q6yeiizfgO3b7kogtsZg==
-"@next/swc-darwin-arm64@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.2.4.tgz#5006fca179a36ef3a24d293abadec7438dbb48c6"
- integrity sha512-S6vBl+OrInP47TM3LlYx65betocKUUlTZDDKzTiRDbsRESeyIkBtZ6Qi5uT2zQs4imqllJznVjFd1bXLx3Aa6A==
+"@next/swc-linux-arm64-gnu@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.3.0.tgz#b114935f6b4c94c123f6cac55a4823d483209ba5"
+ integrity sha512-Wzz2p/WqAJUqTVoLo6H18WMeAXo3i+9DkPDae4oQG8LMloJ3if4NEZTnOnTUlro6cq+S/W4pTGa97nWTrOjbGw==
-"@next/swc-darwin-x64@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.2.4.tgz#6549c7c04322766acc3264ccdb3e1b43fcaf7946"
- integrity sha512-a6LBuoYGcFOPGd4o8TPo7wmv5FnMr+Prz+vYHopEDuhDoMSHOnC+v+Ab4D7F0NMZkvQjEJQdJS3rqgFhlZmKlw==
+"@next/swc-linux-arm64-musl@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.3.0.tgz#67a57309f8761c7d00d629d6785d56ed0567a0d2"
+ integrity sha512-xPVrIQOQo9WXJYgmoTlMnAD/HlR/1e1ZIWGbwIzEirXBVBqMARUulBEIKdC19zuvoJ477qZJgBDCKtKEykCpyQ==
-"@next/swc-freebsd-x64@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.2.4.tgz#0bbe28979e3e868debc2cc06e45e186ce195b7f4"
- integrity sha512-kkbzKVZGPaXRBPisoAQkh3xh22r+TD+5HwoC5bOkALraJ0dsOQgSMAvzMXKsN3tMzJUPS0tjtRf1cTzrQ0I5vQ==
+"@next/swc-linux-x64-gnu@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.3.0.tgz#11bd2bea7c00b40be111c0dd16e71171f3792086"
+ integrity sha512-jOFlpGuPD7W2tuXVJP4wt9a3cpNxWAPcloq5EfMJRiXsBBOjLVFZA7boXYxEBzSVgUiVVr1V9T0HFM7pULJ1qA==
-"@next/swc-linux-arm-gnueabihf@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.2.4.tgz#1d28d2203f5a7427d6e7119d7bcb5fc40959fb3e"
- integrity sha512-7qA1++UY0fjprqtjBZaOA6cas/7GekpjVsZn/0uHvquuITFCdKGFCsKNBx3S0Rpxmx6WYo0GcmhNRM9ru08BGg==
+"@next/swc-linux-x64-musl@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.3.0.tgz#d57e99f85890799b78719c3ea32a4624de8d701b"
+ integrity sha512-2OwKlzaBgmuet9XYHc3KwsEilzb04F540rlRXkAcjMHL7eCxB7uZIGtsVvKOnQLvC/elrUegwSw1+5f7WmfyOw==
-"@next/swc-linux-arm64-gnu@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.2.4.tgz#eb26448190948cdf4c44b8f34110a3ecea32f1d0"
- integrity sha512-xzYZdAeq883MwXgcwc72hqo/F/dwUxCukpDOkx/j1HTq/J0wJthMGjinN9wH5bPR98Mfeh1MZJ91WWPnZOedOg==
+"@next/swc-win32-arm64-msvc@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.3.0.tgz#0c209aa35d1c88b01e78259a89cd68f4139b5093"
+ integrity sha512-OeHiA6YEvndxT46g+rzFK/MQTfftKxJmzslERMu9LDdC6Kez0bdrgEYed5eXFK2Z1viKZJCGRlhd06rBusyztA==
-"@next/swc-linux-arm64-musl@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.2.4.tgz#c4227c0acd94a420bb14924820710e6284d234d3"
- integrity sha512-8rXr3WfmqSiYkb71qzuDP6I6R2T2tpkmf83elDN8z783N9nvTJf2E7eLx86wu2OJCi4T05nuxCsh4IOU3LQ5xw==
+"@next/swc-win32-ia32-msvc@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.3.0.tgz#52ae74da1dd6d840c3743923367d27ed013803dd"
+ integrity sha512-4aB7K9mcVK1lYEzpOpqWrXHEZympU3oK65fnNcY1Qc4HLJFLJj8AViuqQd4jjjPNuV4sl8jAwTz3gN5VNGWB7w==
-"@next/swc-linux-x64-gnu@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.2.4.tgz#6bcb540944ee9b0209b33bfc23b240c2044dfc3e"
- integrity sha512-Ngxh51zGSlYJ4EfpKG4LI6WfquulNdtmHg1yuOYlaAr33KyPJp4HeN/tivBnAHcZkoNy0hh/SbwDyCnz5PFJQQ==
-
-"@next/swc-linux-x64-musl@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.2.4.tgz#ce21e43251eaf09a09df39372b2c3e38028c30ff"
- integrity sha512-gOvwIYoSxd+j14LOcvJr+ekd9fwYT1RyMAHOp7znA10+l40wkFiMONPLWiZuHxfRk+Dy7YdNdDh3ImumvL6VwA==
-
-"@next/swc-win32-arm64-msvc@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.2.4.tgz#68220063d8e5e082f5465498675640dedb670ff1"
- integrity sha512-q3NJzcfClgBm4HvdcnoEncmztxrA5GXqKeiZ/hADvC56pwNALt3ngDC6t6qr1YW9V/EPDxCYeaX4zYxHciW4Dw==
-
-"@next/swc-win32-ia32-msvc@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.2.4.tgz#7c120ab54a081be9566df310bed834f168252990"
- integrity sha512-/eZ5ncmHUYtD2fc6EUmAIZlAJnVT2YmxDsKs1Ourx0ttTtvtma/WKlMV5NoUsyOez0f9ExLyOpeCoz5aj+MPXw==
-
-"@next/swc-win32-x64-msvc@13.2.4":
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.2.4.tgz#5abda92fe12b9829bf7951c4a221282c56041144"
- integrity sha512-0MffFmyv7tBLlji01qc0IaPP/LVExzvj7/R5x1Jph1bTAIj4Vu81yFQWHHQAP6r4ff9Ukj1mBK6MDNVXm7Tcvw==
+"@next/swc-win32-x64-msvc@13.3.0":
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.3.0.tgz#db7b55fee834dc8c2c484c696469e65bae2ee770"
+ integrity sha512-Reer6rkLLcoOvB0dd66+Y7WrWVFH7sEEkF/4bJCIfsSKnTStTYaHtwIJAwbqnt9I392Tqvku0KkoqZOryWV9LQ==
"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1":
version "5.1.1-v1"
@@ -3934,18 +3914,6 @@
get-random-values-esm "^1.0.0"
lodash "^4.17.21"
-"@sanity/cli@3.8.2":
- version "3.8.2"
- resolved "https://registry.yarnpkg.com/@sanity/cli/-/cli-3.8.2.tgz#cee96729db2f114d0208ecc029ce28af0c4d89c4"
- integrity sha512-v3UAy4g4Pf+OxTfR61yJ1aqqEE6VNy3Q9QQA2HeIsyLkz9fY5OfsOu8UizmYEEd+rAWohR4yEYUGzWgIT4zdUg==
- dependencies:
- "@babel/traverse" "^7.19.0"
- chalk "^4.1.2"
- esbuild "^0.16.5"
- esbuild-register "^3.4.1"
- get-it "^8.0.9"
- pkg-dir "^5.0.0"
-
"@sanity/cli@3.8.3":
version "3.8.3"
resolved "https://registry.yarnpkg.com/@sanity/cli/-/cli-3.8.3.tgz#bfc6b147d8ee589a740e9970dc1e7a8bddf22b67"
@@ -4391,6 +4359,13 @@
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.4.tgz#e913e8175db8307d78b4e8fa690408ba6b65dee4"
integrity sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==
+"@types/codemirror@~5.60.5":
+ version "5.60.7"
+ resolved "https://registry.yarnpkg.com/@types/codemirror/-/codemirror-5.60.7.tgz#efbb78e5e79f90c6762c2127c02096648e600808"
+ integrity sha512-QXIC+RPzt/1BGSuD6iFn6UMC9TDp+9hkOANYNPVsjjrDdzKphfRkwQDKGp2YaC54Yhz0g6P5uYTCCibZZEiMAA==
+ dependencies:
+ "@types/tern" "*"
+
"@types/concat-stream@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-2.0.0.tgz#a716f0ba9015014e643addb351da05a73bef425c"
@@ -4624,11 +4599,6 @@
resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb"
integrity sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==
-"@types/prismjs@^1.0.0":
- version "1.26.0"
- resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.0.tgz#a1c3809b0ad61c62cac6d4e0c56d610c910b7654"
- integrity sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ==
-
"@types/prop-types@*", "@types/prop-types@^15.0.0":
version "15.7.5"
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
@@ -4659,9 +4629,9 @@
"@types/react" "*"
"@types/react@*", "@types/react@>=16", "@types/react@^18.0.25", "@types/react@^18.0.8":
- version "18.0.31"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.31.tgz#a69ef8dd7bfa849734d258c793a8fe343a338205"
- integrity sha512-EEG67of7DsvRDU6BLLI0p+k1GojDLz9+lZsnCpCRTa/lOokvyPBvp8S5x+A24hME3yyQuIipcP70KJ6H7Qupww==
+ version "18.0.35"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.35.tgz#192061cb1044fe01f2d3a94272cd35dd50502741"
+ integrity sha512-6Laome31HpetaIUGFWl1VQ3mdSImwxtFZ39rh059a1MNnKGqBpC88J6NJ8n/Is3Qx7CefDGLgf/KhN/sYCf7ag==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
@@ -4715,6 +4685,13 @@
resolved "https://registry.yarnpkg.com/@types/supports-color/-/supports-color-8.1.1.tgz#1b44b1b096479273adf7f93c75fc4ecc40a61ee4"
integrity sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw==
+"@types/tern@*":
+ version "0.23.4"
+ resolved "https://registry.yarnpkg.com/@types/tern/-/tern-0.23.4.tgz#03926eb13dbeaf3ae0d390caf706b2643a0127fb"
+ integrity sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==
+ dependencies:
+ "@types/estree" "*"
+
"@types/text-table@^0.2.0":
version "0.2.2"
resolved "https://registry.yarnpkg.com/@types/text-table/-/text-table-0.2.2.tgz#774c90cfcfbc8b4b0ebb00fecbe861dc8b1e8e26"
@@ -4865,11 +4842,6 @@
"@codemirror/state" "^6.0.0"
"@codemirror/view" "^6.0.0"
-"@uiw/copy-to-clipboard@~1.0.12":
- version "1.0.12"
- resolved "https://registry.yarnpkg.com/@uiw/copy-to-clipboard/-/copy-to-clipboard-1.0.12.tgz#46f563bd6f3007895f95855e5b4bb692c7251933"
- integrity sha512-3tt7FVSbjtBCNBhffy7k26rpnEmk8GQj9QkTGZBIfpHU7mG3Buryt69u6xooYM7/gmv7GIqD4QxxIauIp2HHKg==
-
"@uiw/react-codemirror@^4.11.4":
version "4.19.4"
resolved "https://registry.yarnpkg.com/@uiw/react-codemirror/-/react-codemirror-4.19.4.tgz#0e5f2534705c24d166b17780496e2c96bf0991d9"
@@ -4882,38 +4854,6 @@
"@uiw/codemirror-extensions-basic-setup" "4.19.4"
codemirror "^6.0.0"
-"@uiw/react-markdown-preview@^4.1.5":
- version "4.1.6"
- resolved "https://registry.yarnpkg.com/@uiw/react-markdown-preview/-/react-markdown-preview-4.1.6.tgz#2a662706e17a10cdd727b85ac24c74d737b73b18"
- integrity sha512-22dGV1HfyDXnObmF4ot4Is+o7QrKvg10Q3SBwDKoyJk3KIRMhCo/HCT+YrCCEtVTQIz2KffCDq2Cx9yvUmE6Ow==
- dependencies:
- "@babel/runtime" "^7.17.2"
- "@uiw/copy-to-clipboard" "~1.0.12"
- react-markdown "~8.0.0"
- rehype-attr "~2.1.0"
- rehype-autolink-headings "~6.1.1"
- rehype-ignore "^1.0.1"
- rehype-prism-plus "~1.5.0"
- rehype-raw "^6.1.1"
- rehype-rewrite "~3.0.6"
- rehype-slug "~5.1.0"
- remark-gfm "~3.0.1"
- unist-util-visit "^4.1.0"
-
-"@uiw/react-md-editor@^3.19.7":
- version "3.19.7"
- resolved "https://registry.yarnpkg.com/@uiw/react-md-editor/-/react-md-editor-3.19.7.tgz#e575c77a011083b806cdd90346f9ebe7a83e08f7"
- integrity sha512-mZb8c6aTwq9k6t6xav8zNoD/f6q7w5BmMiixswiDCA7/YWc19Xp+qCtp5C5FQtb4AStxozIRjY1uWK4VQOI/gQ==
- dependencies:
- "@babel/runtime" "^7.14.6"
- "@uiw/react-markdown-preview" "^4.1.5"
- rehype "~12.0.1"
-
-"@ungap/promise-all-settled@1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
- integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
-
"@vitejs/plugin-react@^3.0.0":
version "3.0.1"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.0.1.tgz#ad21fb81377970dd4021a31cd95a03eb6f5c4c48"
@@ -5625,10 +5565,10 @@ axios@0.21.4:
dependencies:
follow-redirects "^1.14.0"
-axios@1.3.4, axios@^1.0.0, axios@^1.1.2:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.4.tgz#f5760cefd9cfb51fd2481acf88c05f67c4523024"
- integrity sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==
+axios@1.3.5, axios@^1.0.0, axios@^1.1.2:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.5.tgz#e07209b39a0d11848e3e341fa087acd71dadc542"
+ integrity sha512-glL/PvG/E+xCWwV8S6nCHcrfg1exGx7vxyUIivIA1iL7BIh6bePylCfVHwp6k13ao7SATxB6imau2kqY+I67kw==
dependencies:
follow-redirects "^1.15.0"
form-data "^4.0.0"
@@ -5719,11 +5659,6 @@ batch@0.6.1:
resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==
-bcp-47-match@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/bcp-47-match/-/bcp-47-match-2.0.3.tgz#603226f6e5d3914a581408be33b28a53144b09d0"
- integrity sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==
-
bcryptjs@2.4.3:
version "2.4.3"
resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb"
@@ -6012,6 +5947,13 @@ builtins@^5.0.0, builtins@^5.0.1:
dependencies:
semver "^7.0.0"
+busboy@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893"
+ integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==
+ dependencies:
+ streamsearch "^1.1.0"
+
byline@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1"
@@ -7210,11 +7152,6 @@ css-select@^5.1.0:
domutils "^3.0.1"
nth-check "^2.0.1"
-css-selector-parser@^1.0.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.4.1.tgz#03f9cb8a81c3e5ab2c51684557d5aaf6d2569759"
- integrity sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==
-
css-selector-tokenizer@^0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz#88267ef6238e64f2215ea2764b3e2cf498b845dd"
@@ -7702,11 +7639,6 @@ direction@^1.0.3:
resolved "https://registry.npmjs.org/direction/-/direction-1.0.4.tgz#2b86fb686967e987088caf8b89059370d4837442"
integrity sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ==
-direction@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/direction/-/direction-2.0.1.tgz#71800dd3c4fa102406502905d3866e65bdebb985"
- integrity sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==
-
dlv@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
@@ -8227,33 +8159,33 @@ esbuild-register@^3.4.1:
dependencies:
debug "^4.3.4"
-esbuild@0.17.15, esbuild@^0.17.2:
- version "0.17.15"
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.15.tgz#209ebc87cb671ffb79574db93494b10ffaf43cbc"
- integrity sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==
+esbuild@0.17.16, esbuild@^0.17.2:
+ version "0.17.16"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.16.tgz#5efec24a8ff29e0c157359f27e1b5532a728b720"
+ integrity sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==
optionalDependencies:
- "@esbuild/android-arm" "0.17.15"
- "@esbuild/android-arm64" "0.17.15"
- "@esbuild/android-x64" "0.17.15"
- "@esbuild/darwin-arm64" "0.17.15"
- "@esbuild/darwin-x64" "0.17.15"
- "@esbuild/freebsd-arm64" "0.17.15"
- "@esbuild/freebsd-x64" "0.17.15"
- "@esbuild/linux-arm" "0.17.15"
- "@esbuild/linux-arm64" "0.17.15"
- "@esbuild/linux-ia32" "0.17.15"
- "@esbuild/linux-loong64" "0.17.15"
- "@esbuild/linux-mips64el" "0.17.15"
- "@esbuild/linux-ppc64" "0.17.15"
- "@esbuild/linux-riscv64" "0.17.15"
- "@esbuild/linux-s390x" "0.17.15"
- "@esbuild/linux-x64" "0.17.15"
- "@esbuild/netbsd-x64" "0.17.15"
- "@esbuild/openbsd-x64" "0.17.15"
- "@esbuild/sunos-x64" "0.17.15"
- "@esbuild/win32-arm64" "0.17.15"
- "@esbuild/win32-ia32" "0.17.15"
- "@esbuild/win32-x64" "0.17.15"
+ "@esbuild/android-arm" "0.17.16"
+ "@esbuild/android-arm64" "0.17.16"
+ "@esbuild/android-x64" "0.17.16"
+ "@esbuild/darwin-arm64" "0.17.16"
+ "@esbuild/darwin-x64" "0.17.16"
+ "@esbuild/freebsd-arm64" "0.17.16"
+ "@esbuild/freebsd-x64" "0.17.16"
+ "@esbuild/linux-arm" "0.17.16"
+ "@esbuild/linux-arm64" "0.17.16"
+ "@esbuild/linux-ia32" "0.17.16"
+ "@esbuild/linux-loong64" "0.17.16"
+ "@esbuild/linux-mips64el" "0.17.16"
+ "@esbuild/linux-ppc64" "0.17.16"
+ "@esbuild/linux-riscv64" "0.17.16"
+ "@esbuild/linux-s390x" "0.17.16"
+ "@esbuild/linux-x64" "0.17.16"
+ "@esbuild/netbsd-x64" "0.17.16"
+ "@esbuild/openbsd-x64" "0.17.16"
+ "@esbuild/sunos-x64" "0.17.16"
+ "@esbuild/win32-arm64" "0.17.16"
+ "@esbuild/win32-ia32" "0.17.16"
+ "@esbuild/win32-x64" "0.17.16"
esbuild@^0.16.3, esbuild@^0.16.5:
version "0.16.17"
@@ -8335,12 +8267,12 @@ escodegen@^2.0.0:
optionalDependencies:
source-map "~0.6.1"
-eslint-config-next@13.2.4, eslint-config-next@^13.0.6:
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-13.2.4.tgz#8aa4d42da3a575a814634ba9c88c8d25266c5fdd"
- integrity sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg==
+eslint-config-next@13.3.0, eslint-config-next@^13.0.6:
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-13.3.0.tgz#c302fbecfe2b976ea306f7622af637ef9d9e3802"
+ integrity sha512-6YEwmFBX0VjBd3ODGW9df0Is0FLaRFdMN8eAahQG9CN6LjQ28J8AFr19ngxqMSg7Qv6Uca/3VeeBosJh1bzu0w==
dependencies:
- "@next/eslint-plugin-next" "13.2.4"
+ "@next/eslint-plugin-next" "13.3.0"
"@rushstack/eslint-patch" "^1.1.3"
"@typescript-eslint/parser" "^5.42.0"
eslint-import-resolver-node "^0.3.6"
@@ -8556,15 +8488,15 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc"
integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==
-eslint@8.37.0, eslint@^8.13.0, eslint@^8.23.1:
- version "8.37.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.37.0.tgz#1f660ef2ce49a0bfdec0b0d698e0b8b627287412"
- integrity sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==
+eslint@8.38.0, eslint@^8.13.0, eslint@^8.23.1:
+ version "8.38.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.38.0.tgz#a62c6f36e548a5574dd35728ac3c6209bd1e2f1a"
+ integrity sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==
dependencies:
"@eslint-community/eslint-utils" "^4.2.0"
"@eslint-community/regexpp" "^4.4.0"
"@eslint/eslintrc" "^2.0.2"
- "@eslint/js" "8.37.0"
+ "@eslint/js" "8.38.0"
"@humanwhocodes/config-array" "^0.11.8"
"@humanwhocodes/module-importer" "^1.0.1"
"@nodelib/fs.walk" "^1.2.8"
@@ -9715,17 +9647,7 @@ glob@^8.0.0, glob@^8.0.1, glob@^8.0.3:
minimatch "^5.0.1"
once "^1.3.0"
-glob@^9.2.0:
- version "9.2.1"
- resolved "https://registry.yarnpkg.com/glob/-/glob-9.2.1.tgz#f47e34e1119e7d4f93a546e75851ba1f1e68de50"
- integrity sha512-Pxxgq3W0HyA3XUvSXcFhRSs+43Jsx0ddxcFrbjxNGkL2Ak5BAUBxLqI5G6ADDeCHLfzzXFhe0b1yYcctGmytMA==
- dependencies:
- fs.realpath "^1.0.0"
- minimatch "^7.4.1"
- minipass "^4.2.4"
- path-scurry "^1.6.1"
-
-glob@^9.3.0, glob@^9.3.1:
+glob@^9.2.0, glob@^9.3.0, glob@^9.3.1:
version "9.3.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.2.tgz#8528522e003819e63d11c979b30896e0eaf52eda"
integrity sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA==
@@ -10010,19 +9932,6 @@ hashlru@^2.3.0:
resolved "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz#5dc15928b3f6961a2056416bb3a4910216fdfb51"
integrity sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==
-hast-to-hyperscript@^10.0.0:
- version "10.0.1"
- resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-10.0.1.tgz#3decd7cb4654bca8883f6fcbd4fb3695628c4296"
- integrity sha512-dhIVGoKCQVewFi+vz3Vt567E4ejMppS1haBRL6TEmeLeJVB1i/FJIIg/e6s1Bwn0g5qtYojHEKvyGA+OZuyifw==
- dependencies:
- "@types/unist" "^2.0.0"
- comma-separated-tokens "^2.0.0"
- property-information "^6.0.0"
- space-separated-tokens "^2.0.0"
- style-to-object "^0.3.0"
- unist-util-is "^5.0.0"
- web-namespaces "^2.0.0"
-
hast-util-embedded@^1.0.0:
version "1.0.6"
resolved "https://registry.yarnpkg.com/hast-util-embedded/-/hast-util-embedded-1.0.6.tgz#ea7007323351cc43e19e1d6256b7cde66ad1aa03"
@@ -10117,23 +10026,6 @@ hast-util-phrasing@^2.0.0:
hast-util-is-body-ok-link "^2.0.0"
hast-util-is-element "^2.0.0"
-hast-util-raw@^7.2.0:
- version "7.2.2"
- resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-7.2.2.tgz#1974360b2d7f15b5ce26c2a4bac892d5d8185a18"
- integrity sha512-0x3BhhdlBcqRIKyc095lBSDvmQNMY3Eulj2PLsT5XCyKYrxssI5yr3P4Kv/PBo1s/DMkZy2voGkMXECnFCZRLQ==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/parse5" "^6.0.0"
- hast-util-from-parse5 "^7.0.0"
- hast-util-to-parse5 "^7.0.0"
- html-void-elements "^2.0.0"
- parse5 "^6.0.0"
- unist-util-position "^4.0.0"
- unist-util-visit "^4.0.0"
- vfile "^5.0.0"
- web-namespaces "^2.0.0"
- zwitch "^2.0.0"
-
hast-util-sanitize@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-4.0.0.tgz#71a02ca2e50d04b852a5500846418070ca364f60"
@@ -10141,28 +10033,6 @@ hast-util-sanitize@^4.0.0:
dependencies:
"@types/hast" "^2.0.0"
-hast-util-select@~5.0.1:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/hast-util-select/-/hast-util-select-5.0.2.tgz#8c603ebacf0f47e154c5fa2e5b7efc520813866b"
- integrity sha512-QGN5o7N8gq1BhUX96ApLE8izOXlf+IPkOVGXcp9Dskdd3w0OqZrn6faPAmS0/oVogwJOd0lWFSYmBK75e+030g==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/unist" "^2.0.0"
- bcp-47-match "^2.0.0"
- comma-separated-tokens "^2.0.0"
- css-selector-parser "^1.0.0"
- direction "^2.0.0"
- hast-util-has-property "^2.0.0"
- hast-util-is-element "^2.0.0"
- hast-util-to-string "^2.0.0"
- hast-util-whitespace "^2.0.0"
- not "^0.1.0"
- nth-check "^2.0.0"
- property-information "^6.0.0"
- space-separated-tokens "^2.0.0"
- unist-util-visit "^4.0.0"
- zwitch "^2.0.0"
-
hast-util-to-estree@^1.1.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-1.4.0.tgz#896ef9150a3f5cfbaff37334f75f31d6a324bab6"
@@ -10214,18 +10084,6 @@ hast-util-to-html@^8.0.0:
stringify-entities "^4.0.2"
unist-util-is "^5.0.0"
-hast-util-to-parse5@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-7.0.0.tgz#a39808e69005d10afeed1866029a1fb137df3f7c"
- integrity sha512-YHiS6aTaZ3N0Q3nxaY/Tj98D6kM8QX5Q8xqgg8G45zR7PvWnPGPP0vcKCgb/moIydEJ/QWczVrX0JODCVeoV7A==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/parse5" "^6.0.0"
- hast-to-hyperscript "^10.0.0"
- property-information "^6.0.0"
- web-namespaces "^2.0.0"
- zwitch "^2.0.0"
-
hast-util-to-string@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz#b008b0a4ea472bf34dd390b7eea1018726ae152a"
@@ -12055,9 +11913,9 @@ linkify-it@^3.0.1:
uc.micro "^1.0.1"
lint-staged@^13.0.3:
- version "13.2.0"
- resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.0.tgz#b7abaf79c91cd36d824f17b23a4ce5209206126a"
- integrity sha512-GbyK5iWinax5Dfw5obm2g2ccUiZXNGtAS4mCbJ0Lv4rq6iEtfBSjOYdcbOtAIFtM114t0vdpViDDetjVTSd8Vw==
+ version "13.2.1"
+ resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.1.tgz#9d30a14e3e42897ef417bc98556fb757f75cae87"
+ integrity sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==
dependencies:
chalk "5.2.0"
cli-truncate "^3.1.0"
@@ -13770,35 +13628,7 @@ mocha-steps@1.3.0:
resolved "https://registry.yarnpkg.com/mocha-steps/-/mocha-steps-1.3.0.tgz#2449231ec45ec56810f65502cb22e2571862957f"
integrity sha512-KZvpMJTqzLZw3mOb+EEuYi4YZS41C9iTnb7skVFRxHjUd1OYbl64tCMSmpdIRM9LnwIrSOaRfPtNpF5msgv6Eg==
-mocha@10.0.0:
- version "10.0.0"
- resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.0.0.tgz#205447d8993ec755335c4b13deba3d3a13c4def9"
- integrity sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==
- dependencies:
- "@ungap/promise-all-settled" "1.1.2"
- ansi-colors "4.1.1"
- browser-stdout "1.3.1"
- chokidar "3.5.3"
- debug "4.3.4"
- diff "5.0.0"
- escape-string-regexp "4.0.0"
- find-up "5.0.0"
- glob "7.2.0"
- he "1.2.0"
- js-yaml "4.1.0"
- log-symbols "4.1.0"
- minimatch "5.0.1"
- ms "2.1.3"
- nanoid "3.3.3"
- serialize-javascript "6.0.0"
- strip-json-comments "3.1.1"
- supports-color "8.1.1"
- workerpool "6.2.1"
- yargs "16.2.0"
- yargs-parser "20.2.4"
- yargs-unparser "2.0.0"
-
-mocha@^10.0.0:
+mocha@10.2.0, mocha@^10.0.0:
version "10.2.0"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8"
integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==
@@ -13974,30 +13804,27 @@ next-i18next@13.2.2:
hoist-non-react-statics "^3.3.2"
i18next-fs-backend "^2.1.1"
-next@13.2.4:
- version "13.2.4"
- resolved "https://registry.yarnpkg.com/next/-/next-13.2.4.tgz#2363330392b0f7da02ab41301f60857ffa7f67d6"
- integrity sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw==
+next@13.3.0:
+ version "13.3.0"
+ resolved "https://registry.yarnpkg.com/next/-/next-13.3.0.tgz#40632d303d74fc8521faa0a5bf4a033a392749b1"
+ integrity sha512-OVTw8MpIPa12+DCUkPqRGPS3thlJPcwae2ZL4xti3iBff27goH024xy4q2lhlsdoYiKOi8Kz6uJoLW/GXwgfOA==
dependencies:
- "@next/env" "13.2.4"
+ "@next/env" "13.3.0"
"@swc/helpers" "0.4.14"
+ busboy "1.6.0"
caniuse-lite "^1.0.30001406"
postcss "8.4.14"
styled-jsx "5.1.1"
optionalDependencies:
- "@next/swc-android-arm-eabi" "13.2.4"
- "@next/swc-android-arm64" "13.2.4"
- "@next/swc-darwin-arm64" "13.2.4"
- "@next/swc-darwin-x64" "13.2.4"
- "@next/swc-freebsd-x64" "13.2.4"
- "@next/swc-linux-arm-gnueabihf" "13.2.4"
- "@next/swc-linux-arm64-gnu" "13.2.4"
- "@next/swc-linux-arm64-musl" "13.2.4"
- "@next/swc-linux-x64-gnu" "13.2.4"
- "@next/swc-linux-x64-musl" "13.2.4"
- "@next/swc-win32-arm64-msvc" "13.2.4"
- "@next/swc-win32-ia32-msvc" "13.2.4"
- "@next/swc-win32-x64-msvc" "13.2.4"
+ "@next/swc-darwin-arm64" "13.3.0"
+ "@next/swc-darwin-x64" "13.3.0"
+ "@next/swc-linux-arm64-gnu" "13.3.0"
+ "@next/swc-linux-arm64-musl" "13.3.0"
+ "@next/swc-linux-x64-gnu" "13.3.0"
+ "@next/swc-linux-x64-musl" "13.3.0"
+ "@next/swc-win32-arm64-msvc" "13.3.0"
+ "@next/swc-win32-ia32-msvc" "13.3.0"
+ "@next/swc-win32-x64-msvc" "13.3.0"
nise@^5.1.4:
version "5.1.4"
@@ -14188,11 +14015,6 @@ normalize-url@^6.0.1:
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a"
integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
-not@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/not/-/not-0.1.0.tgz#c9691c1746c55dcfbe54cbd8bd4ff041bc2b519d"
- integrity sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==
-
np@*:
version "7.6.2"
resolved "https://registry.yarnpkg.com/np/-/np-7.6.2.tgz#02650c024b232cb8c958846c44f672c2f8951b7c"
@@ -14424,7 +14246,7 @@ npmlog@^7.0.1:
gauge "^5.0.0"
set-blocking "^2.0.0"
-nth-check@^2.0.0, nth-check@^2.0.1:
+nth-check@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
@@ -15196,11 +15018,6 @@ parse-ms@^3.0.0:
resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-3.0.0.tgz#3ea24a934913345fcc3656deda72df921da3a70e"
integrity sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==
-parse-numeric-range@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3"
- integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==
-
parse-path@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-7.0.0.tgz#605a2d58d0a749c8594405d8cc3a2bf76d16099b"
@@ -15223,11 +15040,6 @@ parse5-htmlparser2-tree-adapter@^7.0.0:
domhandler "^5.0.2"
parse5 "^7.0.0"
-parse5@^6.0.0:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
- integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
-
parse5@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.0.0.tgz#51f74a5257f5fcc536389e8c2d0b3802e1bfa91a"
@@ -16375,10 +16187,10 @@ react-lifecycles-compat@^3.0.4:
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
-react-markdown@8.0.6, react-markdown@~8.0.0:
- version "8.0.6"
- resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.6.tgz#3e939018f8bfce800ffdf22cf50aba3cdded7ad1"
- integrity sha512-KgPWsYgHuftdx510wwIzpwf+5js/iHqBR+fzxefv8Khk3mFbnioF1bmL2idHN3ler0LMQmICKeDrWnZrX9mtbQ==
+react-markdown@8.0.7:
+ version "8.0.7"
+ resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.7.tgz#c8dbd1b9ba5f1c5e7e5f2a44de465a3caafdf89b"
+ integrity sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==
dependencies:
"@types/hast" "^2.0.0"
"@types/prop-types" "^15.0.0"
@@ -16419,6 +16231,13 @@ react-rx@^2.1.3:
observable-callback "^1.0.2"
use-sync-external-store "^1.2.0"
+react-simplemde-editor@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/react-simplemde-editor/-/react-simplemde-editor-5.2.0.tgz#7a4c8b97e4989cb129b45ba140145d71bdc0684e"
+ integrity sha512-GkTg1MlQHVK2Rks++7sjuQr/GVS/xm6y+HchZ4GPBWrhcgLieh4CjK04GTKbsfYorSRYKa0n37rtNSJmOzEDkQ==
+ dependencies:
+ "@types/codemirror" "~5.60.5"
+
react-sizeme@3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-3.0.2.tgz#4a2f167905ba8f8b8d932a9e35164e459f9020e4"
@@ -16446,10 +16265,10 @@ react-timeago@7.1.0:
resolved "https://registry.yarnpkg.com/react-timeago/-/react-timeago-7.1.0.tgz#248bc6aa40a561249e756b2df402c94f1a296a85"
integrity sha512-rouF7MiEm55fH791Y8cg+VobIJgx8gtNJ+gjr86R4ZqO1WKPkXiXjdT/lRzrvEkUzsxT1exHqV2V+Zdi114H3A==
-react-zoom-pan-pinch@3.0.6:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.0.6.tgz#c664beb4b335962c270b11d1c0ec95b2187505b0"
- integrity sha512-0Blz0XyWDKEYKHg8tBznOOdCWZOTtXFdSpaAdr3dqbeA7BBZn2xd0fEqNlzk2pXAvV1dmEso2vNLCpqCZh2NPQ==
+react-zoom-pan-pinch@3.0.7:
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.0.7.tgz#def52f6886bc11e1b160dedf4250aae95470b94d"
+ integrity sha512-UJkk1Z7BMPIgfY+Qu4jGTlj+UyZQhrpJeCuK1gg31x57i3p8h4ZXfYWu3dFIiR+uRgfoe/koziwgCjA//T1rKA==
react@18.2.0:
version "18.2.0"
@@ -16659,16 +16478,6 @@ refractor@^3.6.0:
parse-entities "^2.0.0"
prismjs "~1.27.0"
-refractor@^4.7.0:
- version "4.8.0"
- resolved "https://registry.yarnpkg.com/refractor/-/refractor-4.8.0.tgz#ed56963d66765ac4f304bf9f16e901c5642164d2"
- integrity sha512-SVOnWUJiEBFNiBlHbudSpSpDfDhDY1UHF0CMKgdvPsMYNQQ4rnqFxyGvP07UmteNC8V12mTF2c0lEsGS7lKaGw==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/prismjs" "^1.0.0"
- hastscript "^7.0.0"
- parse-entities "^4.0.0"
-
regenerate-unicode-properties@^10.0.1:
version "10.0.1"
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56"
@@ -16788,15 +16597,7 @@ regjsparser@^0.8.2:
dependencies:
jsesc "~0.5.0"
-rehype-attr@~2.1.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/rehype-attr/-/rehype-attr-2.1.2.tgz#8d2e284ea349936e88e59460cf10081511bc9924"
- integrity sha512-Se8EOM4hINnoYciwW+Yu2gB3ZXMzA9zSM7Wzq4G2id+qQkRr8Bpwy9NPrGt3FVZx+sR1opkorBlaO3/CyGfEkA==
- dependencies:
- unified "~10.1.1"
- unist-util-visit "~4.1.0"
-
-rehype-autolink-headings@6.1.1, rehype-autolink-headings@~6.1.1:
+rehype-autolink-headings@6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/rehype-autolink-headings/-/rehype-autolink-headings-6.1.1.tgz#0cb874a56f3de6ead1c2268d7f0fc5006f244db5"
integrity sha512-NMYzZIsHM3sA14nC5rAFuUPIOfg+DFmf9EY1YMhaNlB7+3kK/ZlE6kqPfuxr1tsJ1XWkTrMtMoyHosU70d35mA==
@@ -16835,15 +16636,6 @@ rehype-highlight@6.0.0:
unified "^10.0.0"
unist-util-visit "^4.0.0"
-rehype-ignore@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/rehype-ignore/-/rehype-ignore-1.0.3.tgz#0bc78cf2e82d8b12069e37f0944acf8509d8c95e"
- integrity sha512-N8eAcq9+QUFhTZqB4oxJ8WL1D2EWp+Jr+j6DKlV21j8+TBLkPdotWNPSzo4FNJbIy6SWxjS/dgDpHmJm8YD6XQ==
- dependencies:
- hast-util-select "~5.0.1"
- unified "~10.1.2"
- unist-util-visit "~4.1.0"
-
rehype-minify-whitespace@^4.0.0:
version "4.0.5"
resolved "https://registry.yarnpkg.com/rehype-minify-whitespace/-/rehype-minify-whitespace-4.0.5.tgz#5b4781786116216f6d5d7ceadf84e2489dd7b3cd"
@@ -16866,47 +16658,7 @@ rehype-minify-whitespace@^5.0.0:
unified "^10.0.0"
unist-util-is "^5.0.0"
-rehype-parse@^8.0.0, rehype-parse@^8.0.2:
- version "8.0.4"
- resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-8.0.4.tgz#3d17c9ff16ddfef6bbcc8e6a25a99467b482d688"
- integrity sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==
- dependencies:
- "@types/hast" "^2.0.0"
- hast-util-from-parse5 "^7.0.0"
- parse5 "^6.0.0"
- unified "^10.0.0"
-
-rehype-prism-plus@~1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/rehype-prism-plus/-/rehype-prism-plus-1.5.0.tgz#113aae19687c0f8faf6f5fb16964ff1527d130d7"
- integrity sha512-KNJYMQHqN+53ZbT5Pa/lO7uorMpBIR3x9RjFeG1lPlQherZDZiPqyOFS464L4BniZ4VG5PnG5DXVqjGtwxWJew==
- dependencies:
- hast-util-to-string "^2.0.0"
- parse-numeric-range "^1.3.0"
- refractor "^4.7.0"
- rehype-parse "^8.0.2"
- unist-util-filter "^4.0.0"
- unist-util-visit "^4.0.0"
-
-rehype-raw@^6.1.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-6.1.1.tgz#81bbef3793bd7abacc6bf8335879d1b6c868c9d4"
- integrity sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==
- dependencies:
- "@types/hast" "^2.0.0"
- hast-util-raw "^7.2.0"
- unified "^10.0.0"
-
-rehype-rewrite@~3.0.6:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/rehype-rewrite/-/rehype-rewrite-3.0.6.tgz#21e86982c7f2c169121bf10dd191f3768c6a6b29"
- integrity sha512-REDTNCvsKcAazy8IQWzKp66AhSUDSOIKssSCqNqCcT9sN7JCwAAm3mWGTUdUzq80ABuy8d0D6RBwbnewu1aY1g==
- dependencies:
- hast-util-select "~5.0.1"
- unified "~10.1.1"
- unist-util-visit "~4.1.0"
-
-rehype-sanitize@5.0.1, rehype-sanitize@^5.0.1:
+rehype-sanitize@5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/rehype-sanitize/-/rehype-sanitize-5.0.1.tgz#dac01a7417bdd329260c74c74449697b4be5eb56"
integrity sha512-da/jIOjq8eYt/1r9GN6GwxIR3gde7OZ+WV8pheu1tL8K0D9KxM2AyMh+UEfke+FfdM3PvGHeYJU0Td5OWa7L5A==
@@ -16915,7 +16667,7 @@ rehype-sanitize@5.0.1, rehype-sanitize@^5.0.1:
hast-util-sanitize "^4.0.0"
unified "^10.0.0"
-rehype-slug@5.1.0, rehype-slug@~5.1.0:
+rehype-slug@5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/rehype-slug/-/rehype-slug-5.1.0.tgz#1f7e69be7ea1a2067bcc4cfe58e74c881d5c047e"
integrity sha512-Gf91dJoXneiorNEnn+Phx97CO7oRMrpi+6r155tTxzGuLtm+QrI4cTwCa9e1rtePdL4i9tSO58PeSS6HWfgsiw==
@@ -16928,7 +16680,7 @@ rehype-slug@5.1.0, rehype-slug@~5.1.0:
unified "^10.0.0"
unist-util-visit "^4.0.0"
-rehype-stringify@9.0.3, rehype-stringify@^9.0.0:
+rehype-stringify@9.0.3:
version "9.0.3"
resolved "https://registry.yarnpkg.com/rehype-stringify/-/rehype-stringify-9.0.3.tgz#70e3bd6d4d29e7acf36b802deed350305d2c3c17"
integrity sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==
@@ -16937,16 +16689,6 @@ rehype-stringify@9.0.3, rehype-stringify@^9.0.0:
hast-util-to-html "^8.0.0"
unified "^10.0.0"
-rehype@~12.0.1:
- version "12.0.1"
- resolved "https://registry.yarnpkg.com/rehype/-/rehype-12.0.1.tgz#68a317662576dcaa2565a3952e149d6900096bf6"
- integrity sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==
- dependencies:
- "@types/hast" "^2.0.0"
- rehype-parse "^8.0.0"
- rehype-stringify "^9.0.0"
- unified "^10.0.0"
-
release-zalgo@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730"
@@ -16991,7 +16733,7 @@ remark-frontmatter@^4.0.1:
micromark-extension-frontmatter "^1.0.0"
unified "^10.0.0"
-remark-gfm@3.0.1, remark-gfm@~3.0.1:
+remark-gfm@3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-3.0.1.tgz#0b180f095e3036545e9dddac0e8df3fa5cfee54f"
integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==
@@ -17745,15 +17487,14 @@ sanity-diff-patch@^1.0.9:
dependencies:
diff-match-patch "^1.0.5"
-sanity-plugin-markdown@3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/sanity-plugin-markdown/-/sanity-plugin-markdown-3.0.1.tgz#00007dfae79e26d26db6f56ba0b459cc3a2b415f"
- integrity sha512-15PBcyQVtaGcX7F38Cwfwki5wNJrWeJ19q1tx+vHej18kjjxHg2ctGsvFtH1UsoAZLeib4Ab4eqPboBqmETjHw==
+sanity-plugin-markdown@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/sanity-plugin-markdown/-/sanity-plugin-markdown-4.1.0.tgz#fcb8b81dee9de84c78c17d84ef40b57647cb4fe5"
+ integrity sha512-GYJOeYbvjZ2BOCYrK3Dyp+zQ+5FIHsjrFYHw+aIZw7E47VyW6tfsmW5wOfTR+YG/Dv2n+5h5+sPIMUUNXSDTJA==
dependencies:
"@sanity/incompatible-plugin" "^1.0.4"
"@sanity/ui" "^1.0.0"
- "@uiw/react-md-editor" "^3.19.7"
- rehype-sanitize "^5.0.1"
+ react-simplemde-editor "^5.2.0"
sanity@3.8.3:
version "3.8.3"
@@ -18522,6 +18263,11 @@ stream-throttle@^0.1.3:
commander "^2.2.0"
limiter "^1.0.5"
+streamsearch@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
+ integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
+
strict-uri-encode@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
@@ -19012,10 +18758,10 @@ synckit@^0.8.4:
"@pkgr/utils" "^2.3.1"
tslib "^2.4.0"
-tailwindcss-box-shadow@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/tailwindcss-box-shadow/-/tailwindcss-box-shadow-2.0.0.tgz#a7fd1e5255e73c26e5578119a5732289366056eb"
- integrity sha512-RZdePEMzIpiTG0FmbncVlY6Zkqp3tBhpyCoVpc8UQBZEdGY8TqVcIrE75Si4vIz/oGDAIFRKGeKFt2HLLbLHHQ==
+tailwindcss-box-shadow@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/tailwindcss-box-shadow/-/tailwindcss-box-shadow-2.0.1.tgz#5d224fff9231019ff2780c07805821c43608e474"
+ integrity sha512-F0reqyXrQkcPQiCM27ZqV8Le0CGqea0S5PCwwgTnNrdzOdDs2y6iJ5jJKIdMgKu/1VxUpgP0CMPU/k8vdqpLBA==
tailwindcss-email-variants@2.0.1:
version "2.0.1"
@@ -19544,10 +19290,10 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
-typescript@5.0.2, "typescript@^4.6.4 || ^5.0.0":
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.2.tgz#891e1a90c5189d8506af64b9ef929fca99ba1ee5"
- integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==
+typescript@5.0.4, "typescript@^4.6.4 || ^5.0.0":
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b"
+ integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==
"typescript@^3 || ^4":
version "4.9.5"
@@ -19693,7 +19439,7 @@ unified-message-control@^4.0.0:
vfile-location "^4.0.0"
vfile-message "^3.0.0"
-unified@^10.0.0, unified@^10.1.0, unified@~10.1.1, unified@~10.1.2:
+unified@^10.0.0, unified@^10.1.0:
version "10.1.2"
resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df"
integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==
@@ -19772,15 +19518,6 @@ unist-util-filter@^2.0.2:
dependencies:
unist-util-is "^4.0.0"
-unist-util-filter@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/unist-util-filter/-/unist-util-filter-4.0.0.tgz#59bc7960bb2cfd34cc086301090540bdb5580a86"
- integrity sha512-H4iTOv2p+n83xjhx7eGFA3zSx7Xcv3Iv9lNQRpXiR8dmm9LtslhyjVlQrZLbkk4jwUrJgc8PPGkOOrfhb76s4Q==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
- unist-util-visit-parents "^5.0.0"
-
unist-util-find-after@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unist-util-find-after/-/unist-util-find-after-4.0.0.tgz#1101cebf5fed88ae3c6f3fa676e86fd5772a4f32"
@@ -19916,7 +19653,7 @@ unist-util-visit-parents@^5.0.0, unist-util-visit-parents@^5.1.1:
"@types/unist" "^2.0.0"
unist-util-is "^5.0.0"
-unist-util-visit@4.1.2, unist-util-visit@^4.0.0, unist-util-visit@^4.1.0, unist-util-visit@~4.1.0:
+unist-util-visit@4.1.2, unist-util-visit@^4.0.0, unist-util-visit@^4.1.0:
version "4.1.2"
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2"
integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==