1
0
Fork 0

Merge remote-tracking branch 'origin' into opal

This commit is contained in:
Thrunic 2024-03-10 14:38:54 -04:00
commit 6642997a6b
6018 changed files with 63718 additions and 29275 deletions

View file

@ -1095,6 +1095,69 @@
"contributions": [ "contributions": [
"doc" "doc"
] ]
},
{
"login": "SophiaH67",
"name": "Sophia",
"avatar_url": "https://avatars.githubusercontent.com/u/10786212?v=4",
"profile": "https://www.sophiah.gay/",
"contributions": [
"code"
]
},
{
"login": "ArcticCoder",
"name": "Vili Sinervä",
"avatar_url": "https://avatars.githubusercontent.com/u/39151688?v=4",
"profile": "https://github.com/ArcticCoder",
"contributions": [
"code"
]
},
{
"login": "VSinerva",
"name": "Vili Sinervä",
"avatar_url": "https://avatars.githubusercontent.com/u/39151688?v=4",
"profile": "https://github.com/VSinerva",
"contributions": [
"code"
]
},
{
"login": "jpmunic",
"name": "Josh Munic",
"avatar_url": "https://avatars.githubusercontent.com/u/13474972?v=4",
"profile": "https://github.com/jpmunic",
"contributions": [
"bug"
]
},
{
"login": "LunaticMuch",
"name": "Stefano",
"avatar_url": "https://avatars.githubusercontent.com/u/1659414?v=4",
"profile": "https://stefanocislaghi.com",
"contributions": [
"doc"
]
},
{
"login": "pvidas",
"name": "Paula Vidas",
"avatar_url": "https://avatars.githubusercontent.com/u/38463064?v=4",
"profile": "https://github.com/pvidas",
"contributions": [
"code"
]
},
{
"login": "HaasJona",
"name": "Jonathan Haas",
"avatar_url": "https://avatars.githubusercontent.com/u/4310707?v=4",
"profile": "https://github.com/HaasJona",
"contributions": [
"code"
]
} }
], ],
"skipCi": true, "skipCi": true,

View file

@ -41,6 +41,7 @@ body:
- designs/examples - designs/examples
- designs/florence - designs/florence
- designs/florent - designs/florent
- designs/gozer
- designs/hi - designs/hi
- designs/holmes - designs/holmes
- designs/hortensia - designs/hortensia
@ -49,37 +50,47 @@ body:
- designs/jaeger - designs/jaeger
- designs/legend - designs/legend
- designs/lucy - designs/lucy
- designs/lumina
- designs/lumira
- designs/lunetius - designs/lunetius
- designs/magde
- designs/naomiwu
- designs/noble - designs/noble
- designs/octoplushy - designs/octoplushy
- designs/onyx
- designs/otis
- designs/paco - designs/paco
- designs/penelope - designs/penelope
- designs/plugintest - designs/plugintest
- designs/rendertest - designs/rendertest
- designs/sandy - designs/sandy
- designs/shelly
- designs/shin - designs/shin
- designs/simon - designs/simon
- designs/simone - designs/simone
- designs/skully
- designs/sven - designs/sven
- designs/tamiko - designs/tamiko
- designs/teagan - designs/teagan
- designs/tiberius - designs/tiberius
- designs/titan - designs/titan
- designs/trayvon - designs/trayvon
- designs/tutorial - designs/tristan
- designs/unice - designs/uma
- designs/ursula
- designs/wahid - designs/wahid
- designs/walburga - designs/walburga
- designs/waralee - designs/waralee
- designs/yuri - designs/yuri
- plugins/plugin-bundle - plugins/core-plugins
- plugins/plugin-annotations
- plugins/plugin-bin-pack
- plugins/plugin-bust - plugins/plugin-bust
- plugins/plugin-flip - plugins/plugin-flip
- plugins/plugin-gore - plugins/plugin-gore
- plugins/plugin-i18n - plugins/plugin-i18n
- plugins/plugin-measurements - plugins/plugin-measurements
- plugins/plugin-mirror - plugins/plugin-mirror
- plugins/plugin-ringsector
- plugins/plugin-round - plugins/plugin-round
- plugins/plugin-sprinkle - plugins/plugin-sprinkle
- plugins/plugin-svgattr - plugins/plugin-svgattr
@ -87,25 +98,19 @@ body:
- plugins/plugin-timing - plugins/plugin-timing
- plugins/plugin-versionfree-svg - plugins/plugin-versionfree-svg
- packages/core - packages/core
- packages/i18n
- packages/models - packages/models
- packages/new-design - packages/new-design
- packages/prettier-config - packages/prettier-config
- packages/react-components
- packages/rehype-highlight-lines - packages/rehype-highlight-lines
- packages/rehype-jargon - packages/rehype-jargon
- packages/snapseries - packages/snapseries
- type: dropdown - sites/backend
id: patron - sites/dev
attributes: - sites/email
label: Are you a FreeSewing patron? 😃 - sites/lab
description: 'Patrons support us financially :pray: so they get priority' - sites/org
options: - sites/sde
- 'Yes, I am a tier-2 patron ❤️'
- 'Yes, I am a tier-4 patron ❤️ 💙'
- 'Yes, I am a tier-8 patron ❤️ 💙 💜'
- 'No, I am not 😞'
validations:
required: true
- type: textarea - type: textarea
id: extra id: extra
attributes: attributes:
@ -114,6 +119,6 @@ body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Please keep in mind that **FreeSewing is a community project** that depends on **[your support](https://freesewing.org/community/join/)**. Please keep in mind that **FreeSewing is a non-profit project** that depends on **[your support](https://freesewing.org/patrons/join/)**.
--- ---

View file

@ -14,18 +14,6 @@ body:
description: Please provide a clear and concise description of what you want to happen description: Please provide a clear and concise description of what you want to happen
placeholder: | placeholder: |
I would like to be able to export patterns as a Gitlab snippet, just like they can be exported as a Github gist I would like to be able to export patterns as a Gitlab snippet, just like they can be exported as a Github gist
- type: dropdown
id: patron
attributes:
label: Are you a FreeSewing patron? 😃
description: 'Patrons support us financially :pray: so they get priority'
options:
- 'Yes, I am a tier-2 patron ❤️'
- 'Yes, I am a tier-4 patron ❤️ 💙'
- 'Yes, I am a tier-8 patron ❤️ 💙 💜'
- 'No, I am not 😞'
validations:
required: true
- type: textarea - type: textarea
id: extra id: extra
attributes: attributes:
@ -34,6 +22,6 @@ body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Please keep in mind that **FreeSewing is a community project** that depends on **[your support](https://freesewing.org/community/join/)**. Please keep in mind that **FreeSewing is a non-profit project** that depends on **[your support](https://freesewing.org/patrons/join/)**.
--- ---

View file

@ -13,18 +13,6 @@ body:
label: 'Where can we see the problem? 🤔' label: 'Where can we see the problem? 🤔'
description: Provide a link here to the page to be updated. If the page provides an anchor link to the section of interest (indicated by a chain icon next to a heading) please copy that link if possible. description: Provide a link here to the page to be updated. If the page provides an anchor link to the section of interest (indicated by a chain icon next to a heading) please copy that link if possible.
placeholder: 'https://freesewing/docs/patterns/aaron/cutting' placeholder: 'https://freesewing/docs/patterns/aaron/cutting'
- type: dropdown
id: patron
attributes:
label: Are you a FreeSewing patron? 😃
description: 'Patrons support us financially :pray: so they get priority'
options:
- 'Yes, I am a tier-2 patron ❤️'
- 'Yes, I am a tier-4 patron ❤️ 💙'
- 'Yes, I am a tier-8 patron ❤️ 💙 💜'
- 'No, I am not 😞'
validations:
required: true
- type: textarea - type: textarea
id: suggestion id: suggestion
attributes: attributes:
@ -40,6 +28,7 @@ body:
value: Looking to tackle this issue? Check out our [markdown guide](https://freesewing.dev/guides/markdown) to learn how to format documentation. value: Looking to tackle this issue? Check out our [markdown guide](https://freesewing.dev/guides/markdown) to learn how to format documentation.
- type: markdown - type: markdown
attributes: attributes:
value: Please keep in mind that **FreeSewing is a community project** that depends on **[your support](https://freesewing.org/community/join/)**. value: |
Please keep in mind that **FreeSewing is a non-profit project** that depends on **[your support](https://freesewing.org/patrons/join/)**.
--- ---

View file

@ -36,32 +36,45 @@ body:
- Charlie - Charlie
- Cornelius - Cornelius
- Diana - Diana
- Examples
- Florence - Florence
- Florent - Florent
- Gozer
- Hi - Hi
- Holmes - Holmes
- Hortensia - Hortensia
- Huey - Huey
- Hugo - Hugo
- Jaeger - Jaeger
- Legend
- Lucy - Lucy
- Lumina
- Lumira
- Lunetius - Lunetius
- Magde
- Naomiwu
- Noble - Noble
- Octoplushy - Octoplushy
- Onyx
- Otis
- Paco - Paco
- Penelope - Penelope
- Plugintest
- Rendertest
- Sandy - Sandy
- Shelly
- Shin - Shin
- Simon - Simon
- Simone - Simone
- Skully
- Sven - Sven
- Tamiko - Tamiko
- Teagan - Teagan
- Tiberius - Tiberius
- Titan - Titan
- Trayvon - Trayvon
- Unice - Tristan
- Ursula - Uma
- Wahid - Wahid
- Walburga - Walburga
- Waralee - Waralee
@ -85,6 +98,7 @@ body:
value: Looking to tackle this issue? We have [a how-to that shows how to add a showcase to the site](https://freesewing.dev/howtos/editors/showcase/). value: Looking to tackle this issue? We have [a how-to that shows how to add a showcase to the site](https://freesewing.dev/howtos/editors/showcase/).
- type: markdown - type: markdown
attributes: attributes:
value: Please keep in mind that **FreeSewing is a community project** that depends on **[your support](https://freesewing.org/community/join/)**. value: |
Please keep in mind that **FreeSewing is a non-profit project** that depends on **[your support](https://freesewing.org/patrons/join/)**.
--- ---

View file

@ -53,6 +53,7 @@ body:
description: If there is any other info or pictures you'd like to add you can do so here description: If there is any other info or pictures you'd like to add you can do so here
- type: markdown - type: markdown
attributes: attributes:
value: Please keep in mind that **FreeSewing is a community project** that depends on **[your support](https://freesewing.org/community/join/)**. value: |
Please keep in mind that **FreeSewing is a non-profit project** that depends on **[your support](https://freesewing.org/patrons/join/)**.
--- ---

View file

@ -1,32 +0,0 @@
name: Playwright Tests
# While it's nice to test e2e tests, it's not all that useful to run them on alpha code
#on:
# push:
# branches:
# - develop
# pull_request:
# branches:
# - develop
#jobs:
# test:
# timeout-minutes: 60
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-node@v3
# with:
# node-version: 18
# - name: Cache node modules
# uses: actions/cache@v3
# id: cache_node_modules
# with:
# # caching node_modules
# path: '**/node_modules'
# key: node_modules-${{ hashFiles('yarn.lock') }}
# - name: Install dependencies
# if: steps.cache_node_modules.outputs.cache-hit != 'true'
# run: yarn install
# - name: Install Playwright Browsers
# run: yarn playwright install --with-deps
# - name: Run Playwright tests
# run: yarn e2e

View file

@ -1,4 +1,12 @@
name: Test new-design name: Test new-design
on: [push]
jobs:
noop:
runs-on: ubuntu-latest
steps:
- run: echo Noop.
#on: #on:
# push: # push:
# branches: # branches:

4
.gitignore vendored
View file

@ -25,8 +25,8 @@ plugins/*/yarn.lock
# NPM lock files for sites (we use yarn) # NPM lock files for sites (we use yarn)
sites/*/package-lock.json sites/*/package-lock.json
# Sanity cache # Nx cache
sites/sanity/.sanity .nx/cache
# Sites prebuild artifacts # Sites prebuild artifacts
sites/*/public/locales/*/*.json sites/*/public/locales/*/*.json

View file

@ -1,4 +1 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
yarn lint-staged yarn lint-staged

2
.nvmrc
View file

@ -1 +1 @@
lts/gallium lts/hydrogen

View file

@ -25,5 +25,6 @@ yarn.lock
.eslintignore .eslintignore
.gitkeep .gitkeep
.all-contributorsrc .all-contributorsrc
.nvmrc
ansible.cfg ansible.cfg
sites/shared/prebuild/data/*.mjs sites/shared/prebuild/data/*.mjs

View file

@ -3,6 +3,144 @@
## Unreleased ## Unreleased
### brian
#### Changed
- Always load plugin-bust due to its changes in how it handle conditionality.
### hugo
#### Fixed
- Add missing dimension id attributes
### onyx
#### Changed
- Always load plugin-bust due to its changes in how it handle conditionality.
### shelly
#### Changed
- Always load plugin-bust due to its changes in how it handle conditionality.
### tamiko
#### Changed
- Always load plugin-bust due to its changes in how it handle conditionality.
### uma
#### Fixed
- Fix back exposure when expand is off. Fixes
### plugin-bust
#### Changed
- This plugin now uses the `preSetDraft` rather than `preDraft` lifecycle hook
- Conditionality has been moved to the `preSetDraft` lifecycle hook, rather than exposing a `withCondition` named export
- The plugin will now always be loaded, but will check for each drafted set whether it should make any changes.
#### Deprecated
- The `withCondition` named export is deprecated and will always return true.
## 3.2.0 (2024-02-11)
### brian
#### Fixed
- Take biceps ease into account when calculating armhole depth
### carlton
#### Fixed
- Fixed a stray seam allowance path on the collar
### charlie
#### Fixed
- The back pocket welt (4) and front pocket facing (8) incorrectly indicated to cut 2 instead of 4 in the cutlist. Fixes
### hugo
#### Fixed
- Fix issue that crashed the design when complete is off. Fixes
- Base pocket opening on pocket height, rather than width of the garment. Fixes
### lumina
#### Added
- Initial release
### lumira
#### Added
- Initial release
### sandy
#### Added
- Added a new *panels* option
### tristan
#### Added
- Inital release
### plugin-annotations
#### Added
- The `title` macro now takes a `notes` and `classes.notes` as its config, allowing you to add notes
- The `classes.cutlist` config is removed from the title plugin, cutlist info is now included as notes
#### Removed
- The `classes.cutlist` config is removed from the title plugin, cutlist info is now included as notes
### plugin-i18n
#### Added
- This plugin now supports translation of nested arrays of strings, giving you more flexibility to concatenate translated parts of strings
### core
#### Added
- Added the `Path.combine()` method
- The `Path.join()` method is now variadic
- The `Path.length()` now takes an parameter to include move operations in the length calculation
#### Deprecated
- Calling `Path.join` with a second parameter to indicate that the resulting paths most be closed is now deprecated and will be removed in FreeSewing v4.
### react-components
#### Added
- This Pattern component now supports translation of nested arrays of strings, giving you more flexibility to concatenate translated parts of strings
## 3.1.0 (2023-12-26)
### aaron ### aaron
#### Changed #### Changed
@ -12,6 +150,7 @@
#### Fixed #### Fixed
- Added IDs to dimension macros that missed them, causing them to not be shown - Added IDs to dimension macros that missed them, causing them to not be shown
- Keep seam allowance out of the binding length calculation
### albert ### albert
@ -74,12 +213,24 @@
- Rephrased flag message when expand is off to avoid confusion about included seam allowance. Fixes - Rephrased flag message when expand is off to avoid confusion about included seam allowance. Fixes
### otis
#### Added
- Initial release
### paco ### paco
#### Changed #### Changed
- Rephrased flag message when expand is off to avoid confusion about included seam allowance. Fixes - Rephrased flag message when expand is off to avoid confusion about included seam allowance. Fixes
### penelope
#### Fixed
- Fixed wrong use of options in a value method. Fixes
### plugintest ### plugintest
#### Fixed #### Fixed
@ -105,6 +256,12 @@
- Replaced all instances of 'seperate' with 'separate' in option names - Replaced all instances of 'seperate' with 'separate' in option names
### skully
#### Added
- Initial release
### sven ### sven
#### Changed #### Changed
@ -121,6 +278,7 @@
- Decreased default back waist dip - Decreased default back waist dip
- Increased default front waist dip - Increased default front waist dip
- Allowed lower values on back exposure, causing back to flare out - Allowed lower values on back exposure, causing back to flare out
- Fix issue with back part when bulge is on and expand is off
### waralee ### waralee
@ -141,6 +299,10 @@
- Added support for notes in flags - Added support for notes in flags
#### Fixed
- Removing macros did not always remove the cutlist data in the store. Fixes
### plugin-bin-pack ### plugin-bin-pack
#### Added #### Added
@ -165,9 +327,18 @@
- Fix order in mergeOptions method so user settings take precendence over defaults - Fix order in mergeOptions method so user settings take precendence over defaults
- Fix upward snap for snapped percentage option when snap is a simple number - Fix upward snap for snapped percentage option when snap is a simple number
- The conditional loading of plugins had a bug causing them to never be loaded
- Make Path.split() more robust when handling edge-case. Fixes
- Prevent utils.circlesIntersect() from running sqrt on a negative number. Fixes
### new-design
#### Fixed
- Removed unwanted debug output
## 3.0.0 (2022-09-30) ## 3.0.0 (2023-09-30)
### global ### global

View file

@ -58,66 +58,75 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center" valign="top" width="14.28%"><a href="http://jeroenhoek.nl"><img src="https://avatars.githubusercontent.com/u/683699?v=4?s=100" width="100px;" alt="Jeroen Hoek"/><br /><sub><b>Jeroen Hoek</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=jdhoek" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://jeroenhoek.nl"><img src="https://avatars.githubusercontent.com/u/683699?v=4?s=100" width="100px;" alt="Jeroen Hoek"/><br /><sub><b>Jeroen Hoek</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=jdhoek" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/joeschofield0"><img src="https://avatars.githubusercontent.com/u/47668691?v=4?s=100" width="100px;" alt="Joe Schofield"/><br /><sub><b>Joe Schofield</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=joeschofield0" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/joeschofield0"><img src="https://avatars.githubusercontent.com/u/47668691?v=4?s=100" width="100px;" alt="Joe Schofield"/><br /><sub><b>Joe Schofield</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=joeschofield0" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Joebidido"><img src="https://avatars.githubusercontent.com/u/39796210?v=4?s=100" width="100px;" alt="Joebidido"/><br /><sub><b>Joebidido</b></sub></a><br /><a href="#translation-Joebidido" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Joebidido"><img src="https://avatars.githubusercontent.com/u/39796210?v=4?s=100" width="100px;" alt="Joebidido"/><br /><sub><b>Joebidido</b></sub></a><br /><a href="#translation-Joebidido" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/HaasJona"><img src="https://avatars.githubusercontent.com/u/4310707?v=4?s=100" width="100px;" alt="Jonathan Haas"/><br /><sub><b>Jonathan Haas</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=HaasJona" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://joost.at/"><img src="https://avatars.githubusercontent.com/u/1708494?v=4?s=100" width="100px;" alt="Joost De Cock"/><br /><sub><b>Joost De Cock</b></sub></a><br /><a href="#maintenance-joostdecock" title="Maintenance">🚧</a></td> <td align="center" valign="top" width="14.28%"><a href="https://joost.at/"><img src="https://avatars.githubusercontent.com/u/1708494?v=4?s=100" width="100px;" alt="Joost De Cock"/><br /><sub><b>Joost De Cock</b></sub></a><br /><a href="#maintenance-joostdecock" title="Maintenance">🚧</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/joshessman"><img src="https://avatars.githubusercontent.com/u/9941074?v=4?s=100" width="100px;" alt="Josh Essman"/><br /><sub><b>Josh Essman</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=joshessman" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/joshessman"><img src="https://avatars.githubusercontent.com/u/9941074?v=4?s=100" width="100px;" alt="Josh Essman"/><br /><sub><b>Josh Essman</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=joshessman" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.earth.li/~kake/"><img src="https://avatars.githubusercontent.com/u/1956810?v=4?s=100" width="100px;" alt="Kake"/><br /><sub><b>Kake</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=KakeLP" title="Documentation">📖</a></td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jpmunic"><img src="https://avatars.githubusercontent.com/u/13474972?v=4?s=100" width="100px;" alt="Josh Munic"/><br /><sub><b>Josh Munic</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3Ajpmunic" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.earth.li/~kake/"><img src="https://avatars.githubusercontent.com/u/1956810?v=4?s=100" width="100px;" alt="Kake"/><br /><sub><b>Kake</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=KakeLP" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/kapunahele"><img src="https://avatars.githubusercontent.com/u/4116963?v=4?s=100" width="100px;" alt="Kapunahele Wong"/><br /><sub><b>Kapunahele Wong</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kapunahelewong" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://twitter.com/kapunahele"><img src="https://avatars.githubusercontent.com/u/4116963?v=4?s=100" width="100px;" alt="Kapunahele Wong"/><br /><sub><b>Kapunahele Wong</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kapunahelewong" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tangerineshark"><img src="https://avatars.githubusercontent.com/u/70777269?v=4?s=100" width="100px;" alt="Karen"/><br /><sub><b>Karen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=tangerineshark" title="Documentation">📖</a> <a href="#eventOrganizing-tangerineshark" title="Event Organizing">📋</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/tangerineshark"><img src="https://avatars.githubusercontent.com/u/70777269?v=4?s=100" width="100px;" alt="Karen"/><br /><sub><b>Karen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=tangerineshark" title="Documentation">📖</a> <a href="#eventOrganizing-tangerineshark" title="Event Organizing">📋</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mcgnly"><img src="https://avatars.githubusercontent.com/u/5653631?v=4?s=100" width="100px;" alt="Katie McGinley"/><br /><sub><b>Katie McGinley</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=mcgnly" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/mcgnly"><img src="https://avatars.githubusercontent.com/u/5653631?v=4?s=100" width="100px;" alt="Katie McGinley"/><br /><sub><b>Katie McGinley</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=mcgnly" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.kieranklaassen.com/"><img src="https://avatars.githubusercontent.com/u/209089?v=4?s=100" width="100px;" alt="Kieran Klaassen"/><br /><sub><b>Kieran Klaassen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kieranklaassen" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://www.kieranklaassen.com/"><img src="https://avatars.githubusercontent.com/u/209089?v=4?s=100" width="100px;" alt="Kieran Klaassen"/><br /><sub><b>Kieran Klaassen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kieranklaassen" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Kittycatou"><img src="https://avatars.githubusercontent.com/u/48165583?v=4?s=100" width="100px;" alt="Kittycatou"/><br /><sub><b>Kittycatou</b></sub></a><br /><a href="#translation-Kittycatou" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Kittycatou"><img src="https://avatars.githubusercontent.com/u/48165583?v=4?s=100" width="100px;" alt="Kittycatou"/><br /><sub><b>Kittycatou</b></sub></a><br /><a href="#translation-Kittycatou" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.krishoward.org/"><img src="https://avatars.githubusercontent.com/u/5946286?v=4?s=100" width="100px;" alt="Kris"/><br /><sub><b>Kris</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=web-goddess" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kristinruben"><img src="https://avatars.githubusercontent.com/u/17237479?v=4?s=100" width="100px;" alt="Kristin Ruben"/><br /><sub><b>Kristin Ruben</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kristinruben" title="Code">💻</a></td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://www.krishoward.org/"><img src="https://avatars.githubusercontent.com/u/5946286?v=4?s=100" width="100px;" alt="Kris"/><br /><sub><b>Kris</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=web-goddess" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kristinruben"><img src="https://avatars.githubusercontent.com/u/17237479?v=4?s=100" width="100px;" alt="Kristin Ruben"/><br /><sub><b>Kristin Ruben</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kristinruben" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/compilin"><img src="https://avatars.githubusercontent.com/u/40794281?v=4?s=100" width="100px;" alt="Lin"/><br /><sub><b>Lin</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=compilin" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/compilin"><img src="https://avatars.githubusercontent.com/u/40794281?v=4?s=100" width="100px;" alt="Lin"/><br /><sub><b>Lin</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=compilin" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Loudepeuter"><img src="https://avatars.githubusercontent.com/u/38081954?v=4?s=100" width="100px;" alt="Loudepeuter"/><br /><sub><b>Loudepeuter</b></sub></a><br /><a href="#translation-Loudepeuter" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Loudepeuter"><img src="https://avatars.githubusercontent.com/u/38081954?v=4?s=100" width="100px;" alt="Loudepeuter"/><br /><sub><b>Loudepeuter</b></sub></a><br /><a href="#translation-Loudepeuter" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lucibytes"><img src="https://avatars.githubusercontent.com/u/77203781?v=4?s=100" width="100px;" alt="Lucian"/><br /><sub><b>Lucian</b></sub></a><br /><a href="#eventOrganizing-lucibytes" title="Event Organizing">📋</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/lucibytes"><img src="https://avatars.githubusercontent.com/u/77203781?v=4?s=100" width="100px;" alt="Lucian"/><br /><sub><b>Lucian</b></sub></a><br /><a href="#eventOrganizing-lucibytes" title="Event Organizing">📋</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/luizfzs"><img src="https://avatars.githubusercontent.com/u/6039675?v=4?s=100" width="100px;" alt="Luiz Saggioro"/><br /><sub><b>Luiz Saggioro</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=luizfzs" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/luizfzs"><img src="https://avatars.githubusercontent.com/u/6039675?v=4?s=100" width="100px;" alt="Luiz Saggioro"/><br /><sub><b>Luiz Saggioro</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=luizfzs" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/MA-TATAS"><img src="https://avatars.githubusercontent.com/u/125549564?v=4?s=100" width="100px;" alt="MA-TATAS"/><br /><sub><b>MA-TATAS</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=MA-TATAS" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/MA-TATAS"><img src="https://avatars.githubusercontent.com/u/125549564?v=4?s=100" width="100px;" alt="MA-TATAS"/><br /><sub><b>MA-TATAS</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=MA-TATAS" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/manufakturedelweiss"><img src="https://avatars.githubusercontent.com/u/38063391?v=4?s=100" width="100px;" alt="Marcus"/><br /><sub><b>Marcus</b></sub></a><br /><a href="#translation-manufakturedelweiss" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/martintribo"><img src="https://avatars.githubusercontent.com/u/1613442?v=4?s=100" width="100px;" alt="Martin Tribo"/><br /><sub><b>Martin Tribo</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=martintribo" title="Documentation">📖</a></td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/manufakturedelweiss"><img src="https://avatars.githubusercontent.com/u/38063391?v=4?s=100" width="100px;" alt="Marcus"/><br /><sub><b>Marcus</b></sub></a><br /><a href="#translation-manufakturedelweiss" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/martintribo"><img src="https://avatars.githubusercontent.com/u/1613442?v=4?s=100" width="100px;" alt="Martin Tribo"/><br /><sub><b>Martin Tribo</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=martintribo" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nadege"><img src="https://avatars.githubusercontent.com/u/3792171?v=4?s=100" width="100px;" alt="Nadege Michel"/><br /><sub><b>Nadege Michel</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nadege" title="Tests">⚠️</a> <a href="https://github.com/freesewing/freesewing/commits?author=nadege" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/nadege"><img src="https://avatars.githubusercontent.com/u/3792171?v=4?s=100" width="100px;" alt="Nadege Michel"/><br /><sub><b>Nadege Michel</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nadege" title="Tests">⚠️</a> <a href="https://github.com/freesewing/freesewing/commits?author=nadege" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nataliasayang"><img src="https://avatars.githubusercontent.com/u/48160791?v=4?s=100" width="100px;" alt="Natalia"/><br /><sub><b>Natalia</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nataliasayang" title="Code">💻</a> <a href="#design-nataliasayang" title="Design">🎨</a> <a href="#blog-nataliasayang" title="Blogposts">📝</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/nataliasayang"><img src="https://avatars.githubusercontent.com/u/48160791?v=4?s=100" width="100px;" alt="Natalia"/><br /><sub><b>Natalia</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nataliasayang" title="Code">💻</a> <a href="#design-nataliasayang" title="Design">🎨</a> <a href="#blog-nataliasayang" title="Blogposts">📝</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://yergler.net/"><img src="https://avatars.githubusercontent.com/u/510875?v=4?s=100" width="100px;" alt="Nathan Yergler"/><br /><sub><b>Nathan Yergler</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nyergler" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://yergler.net/"><img src="https://avatars.githubusercontent.com/u/510875?v=4?s=100" width="100px;" alt="Nathan Yergler"/><br /><sub><b>Nathan Yergler</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nyergler" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nicholasdower"><img src="https://avatars.githubusercontent.com/u/9117775?v=4?s=100" width="100px;" alt="Nick Dower"/><br /><sub><b>Nick Dower</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nicholasdower" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=nicholasdower" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/issues?q=author%3Anicholasdower" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/nicholasdower"><img src="https://avatars.githubusercontent.com/u/9117775?v=4?s=100" width="100px;" alt="Nick Dower"/><br /><sub><b>Nick Dower</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nicholasdower" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=nicholasdower" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/issues?q=author%3Anicholasdower" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nchilada"><img src="https://avatars.githubusercontent.com/u/692925?v=4?s=100" width="100px;" alt="Nikhil Chelliah"/><br /><sub><b>Nikhil Chelliah</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nchilada" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/nchilada"><img src="https://avatars.githubusercontent.com/u/692925?v=4?s=100" width="100px;" alt="Nikhil Chelliah"/><br /><sub><b>Nikhil Chelliah</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nchilada" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/OysteinHoiby"><img src="https://avatars.githubusercontent.com/u/49735055?v=4?s=100" width="100px;" alt="OysteinHoiby"/><br /><sub><b>OysteinHoiby</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=OysteinHoiby" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://pat.forringer.com/"><img src="https://avatars.githubusercontent.com/u/136456?v=4?s=100" width="100px;" alt="Patrick Forringer"/><br /><sub><b>Patrick Forringer</b></sub></a><br /><a href="#plugin-destos" title="Plugin/utility libraries">🔌</a></td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/OysteinHoiby"><img src="https://avatars.githubusercontent.com/u/49735055?v=4?s=100" width="100px;" alt="OysteinHoiby"/><br /><sub><b>OysteinHoiby</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=OysteinHoiby" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://pat.forringer.com/"><img src="https://avatars.githubusercontent.com/u/136456?v=4?s=100" width="100px;" alt="Patrick Forringer"/><br /><sub><b>Patrick Forringer</b></sub></a><br /><a href="#plugin-destos" title="Plugin/utility libraries">🔌</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://pd75.github.io/"><img src="https://avatars.githubusercontent.com/u/10294795?v=4?s=100" width="100px;" alt="Paul"/><br /><sub><b>Paul</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=PD75" title="Documentation">📖</a> <a href="#blog-PD75" title="Blogposts">📝</a> <a href="#translation-PD75" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="http://pd75.github.io/"><img src="https://avatars.githubusercontent.com/u/10294795?v=4?s=100" width="100px;" alt="Paul"/><br /><sub><b>Paul</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=PD75" title="Documentation">📖</a> <a href="#blog-PD75" title="Blogposts">📝</a> <a href="#translation-PD75" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/pvidas"><img src="https://avatars.githubusercontent.com/u/38463064?v=4?s=100" width="100px;" alt="Paula Vidas"/><br /><sub><b>Paula Vidas</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=pvidas" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/phillipthelen"><img src="https://avatars.githubusercontent.com/u/298062?v=4?s=100" width="100px;" alt="Phillip Thelen"/><br /><sub><b>Phillip Thelen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=phillipthelen" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/phillipthelen"><img src="https://avatars.githubusercontent.com/u/298062?v=4?s=100" width="100px;" alt="Phillip Thelen"/><br /><sub><b>Phillip Thelen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=phillipthelen" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Pixieish"><img src="https://avatars.githubusercontent.com/u/32991415?v=4?s=100" width="100px;" alt="Pixieish"/><br /><sub><b>Pixieish</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Pixieish" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Pixieish"><img src="https://avatars.githubusercontent.com/u/32991415?v=4?s=100" width="100px;" alt="Pixieish"/><br /><sub><b>Pixieish</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Pixieish" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.uza.be/persoon/prof-dr-sorcha-ni-dhubhghaill"><img src="https://avatars.githubusercontent.com/u/30624634?v=4?s=100" width="100px;" alt="Prof. dr. Sorcha Ní Dhubhghaill"/><br /><sub><b>Prof. dr. Sorcha Ní Dhubhghaill</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sorchanidhubhghaill" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.uza.be/persoon/prof-dr-sorcha-ni-dhubhghaill"><img src="https://avatars.githubusercontent.com/u/30624634?v=4?s=100" width="100px;" alt="Prof. dr. Sorcha Ní Dhubhghaill"/><br /><sub><b>Prof. dr. Sorcha Ní Dhubhghaill</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sorchanidhubhghaill" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/QuentinFelix"><img src="https://avatars.githubusercontent.com/u/5288091?v=4?s=100" width="100px;" alt="Quentin FELIX"/><br /><sub><b>Quentin FELIX</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=QuentinFelix" title="Code">💻</a> <a href="#design-QuentinFelix" title="Design">🎨</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/QuentinFelix"><img src="https://avatars.githubusercontent.com/u/5288091?v=4?s=100" width="100px;" alt="Quentin FELIX"/><br /><sub><b>Quentin FELIX</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=QuentinFelix" title="Code">💻</a> <a href="#design-QuentinFelix" title="Design">🎨</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/RikHekker"><img src="https://avatars.githubusercontent.com/u/31843274?v=4?s=100" width="100px;" alt="Rik Hekker"/><br /><sub><b>Rik Hekker</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3ARikHekker" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/RikHekker"><img src="https://avatars.githubusercontent.com/u/31843274?v=4?s=100" width="100px;" alt="Rik Hekker"/><br /><sub><b>Rik Hekker</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3ARikHekker" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://resume.livingston-gray.com/faq.html"><img src="https://avatars.githubusercontent.com/u/6462?v=4?s=100" width="100px;" alt="Sam Livingston-Gray"/><br /><sub><b>Sam Livingston-Gray</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=geeksam" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://resume.livingston-gray.com/faq.html"><img src="https://avatars.githubusercontent.com/u/6462?v=4?s=100" width="100px;" alt="Sam Livingston-Gray"/><br /><sub><b>Sam Livingston-Gray</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=geeksam" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sannek"><img src="https://avatars.githubusercontent.com/u/17491062?v=4?s=100" width="100px;" alt="Sanne"/><br /><sub><b>Sanne</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sannek" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=sannek" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sannek"><img src="https://avatars.githubusercontent.com/u/17491062?v=4?s=100" width="100px;" alt="Sanne"/><br /><sub><b>Sanne</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sannek" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=sannek" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Tyrannogina"><img src="https://avatars.githubusercontent.com/u/19556565?v=4?s=100" width="100px;" alt="Sara Latorre"/><br /><sub><b>Sara Latorre</b></sub></a><br /><a href="#translation-Tyrannogina" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Tyrannogina"><img src="https://avatars.githubusercontent.com/u/19556565?v=4?s=100" width="100px;" alt="Sara Latorre"/><br /><sub><b>Sara Latorre</b></sub></a><br /><a href="#translation-Tyrannogina" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/SeaZeeZee"><img src="https://avatars.githubusercontent.com/u/86711383?v=4?s=100" width="100px;" alt="SeaZeeZee"/><br /><sub><b>SeaZeeZee</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=SeaZeeZee" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=SeaZeeZee" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/SeaZeeZee"><img src="https://avatars.githubusercontent.com/u/86711383?v=4?s=100" width="100px;" alt="SeaZeeZee"/><br /><sub><b>SeaZeeZee</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=SeaZeeZee" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=SeaZeeZee" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/SimonbJohnson"><img src="https://avatars.githubusercontent.com/u/2110742?v=4?s=100" width="100px;" alt="SimonbJohnson"/><br /><sub><b>SimonbJohnson</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3ASimonbJohnson" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/SimonbJohnson"><img src="https://avatars.githubusercontent.com/u/2110742?v=4?s=100" width="100px;" alt="SimonbJohnson"/><br /><sub><b>SimonbJohnson</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3ASimonbJohnson" title="Bug reports">🐛</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/SirCharlotte"><img src="https://avatars.githubusercontent.com/u/63847870?v=4?s=100" width="100px;" alt="SirCharlotte"/><br /><sub><b>SirCharlotte</b></sub></a><br /><a href="#translation-SirCharlotte" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/SirCharlotte"><img src="https://avatars.githubusercontent.com/u/63847870?v=4?s=100" width="100px;" alt="SirCharlotte"/><br /><sub><b>SirCharlotte</b></sub></a><br /><a href="#translation-SirCharlotte" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.instagram.com/celine_mge/"><img src="https://avatars.githubusercontent.com/u/57619777?v=4?s=100" width="100px;" alt="Slylele"/><br /><sub><b>Slylele</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Slylele" title="Documentation">📖</a> <a href="#translation-Slylele" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.instagram.com/celine_mge/"><img src="https://avatars.githubusercontent.com/u/57619777?v=4?s=100" width="100px;" alt="Slylele"/><br /><sub><b>Slylele</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Slylele" title="Documentation">📖</a> <a href="#translation-Slylele" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Soazillon"><img src="https://avatars.githubusercontent.com/u/40845940?v=4?s=100" width="100px;" alt="Soazillon"/><br /><sub><b>Soazillon</b></sub></a><br /><a href="#translation-Soazillon" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Soazillon"><img src="https://avatars.githubusercontent.com/u/40845940?v=4?s=100" width="100px;" alt="Soazillon"/><br /><sub><b>Soazillon</b></sub></a><br /><a href="#translation-Soazillon" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sohamtembhurne"><img src="https://avatars.githubusercontent.com/u/82658685?v=4?s=100" width="100px;" alt="Soham Tembhurne"/><br /><sub><b>Soham Tembhurne</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sohamtembhurne" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sohamtembhurne"><img src="https://avatars.githubusercontent.com/u/82658685?v=4?s=100" width="100px;" alt="Soham Tembhurne"/><br /><sub><b>Soham Tembhurne</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sohamtembhurne" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/SoneaTheBest"><img src="https://avatars.githubusercontent.com/u/64635425?v=4?s=100" width="100px;" alt="SoneaTheBest"/><br /><sub><b>SoneaTheBest</b></sub></a><br /><a href="#translation-SoneaTheBest" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/SoneaTheBest"><img src="https://avatars.githubusercontent.com/u/64635425?v=4?s=100" width="100px;" alt="SoneaTheBest"/><br /><sub><b>SoneaTheBest</b></sub></a><br /><a href="#translation-SoneaTheBest" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.sophiah.gay/"><img src="https://avatars.githubusercontent.com/u/10786212?v=4?s=100" width="100px;" alt="Sophia"/><br /><sub><b>Sophia</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=SophiaH67" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://metafly.info/"><img src="https://avatars.githubusercontent.com/u/961256?v=4?s=100" width="100px;" alt="Stefan Sydow"/><br /><sub><b>Stefan Sydow</b></sub></a><br /><a href="#translation-stsydow" title="Translation">🌍</a> <a href="https://github.com/freesewing/freesewing/commits?author=stsydow" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=stsydow" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://metafly.info/"><img src="https://avatars.githubusercontent.com/u/961256?v=4?s=100" width="100px;" alt="Stefan Sydow"/><br /><sub><b>Stefan Sydow</b></sub></a><br /><a href="#translation-stsydow" title="Translation">🌍</a> <a href="https://github.com/freesewing/freesewing/commits?author=stsydow" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=stsydow" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://stefanocislaghi.com"><img src="https://avatars.githubusercontent.com/u/1659414?v=4?s=100" width="100px;" alt="Stefano"/><br /><sub><b>Stefano</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=LunaticMuch" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/biswassushmita947"><img src="https://avatars.githubusercontent.com/u/145688707?v=4?s=100" width="100px;" alt="Sushmita Biswas"/><br /><sub><b>Sushmita Biswas</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=biswassushmita947" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/biswassushmita947"><img src="https://avatars.githubusercontent.com/u/145688707?v=4?s=100" width="100px;" alt="Sushmita Biswas"/><br /><sub><b>Sushmita Biswas</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=biswassushmita947" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/TheTanay902"><img src="https://avatars.githubusercontent.com/u/84577440?v=4?s=100" width="100px;" alt="Tanay Toshniwal"/><br /><sub><b>Tanay Toshniwal</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=TheTanay902" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/TheTanay902"><img src="https://avatars.githubusercontent.com/u/84577440?v=4?s=100" width="100px;" alt="Tanay Toshniwal"/><br /><sub><b>Tanay Toshniwal</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=TheTanay902" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/trentonTrama"><img src="https://avatars.githubusercontent.com/u/41126812?v=4?s=100" width="100px;" alt="Trent Trama"/><br /><sub><b>Trent Trama</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=trentonTrama" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/trentonTrama"><img src="https://avatars.githubusercontent.com/u/41126812?v=4?s=100" width="100px;" alt="Trent Trama"/><br /><sub><b>Trent Trama</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=trentonTrama" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/TriploidTree"><img src="https://avatars.githubusercontent.com/u/4170521?v=4?s=100" width="100px;" alt="Tríona"/><br /><sub><b>Tríona</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=TriploidTree" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/TriploidTree"><img src="https://avatars.githubusercontent.com/u/4170521?v=4?s=100" width="100px;" alt="Tríona"/><br /><sub><b>Tríona</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=TriploidTree" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/theUnmutual"><img src="https://avatars.githubusercontent.com/u/22374635?v=4?s=100" width="100px;" alt="Unmutual"/><br /><sub><b>Unmutual</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=theUnmutual" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ArcticCoder"><img src="https://avatars.githubusercontent.com/u/39151688?v=4?s=100" width="100px;" alt="Vili Sinervä"/><br /><sub><b>Vili Sinervä</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=ArcticCoder" title="Code">💻</a></td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/theUnmutual"><img src="https://avatars.githubusercontent.com/u/22374635?v=4?s=100" width="100px;" alt="Unmutual"/><br /><sub><b>Unmutual</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=theUnmutual" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/VSinerva"><img src="https://avatars.githubusercontent.com/u/39151688?v=4?s=100" width="100px;" alt="Vili Sinervä"/><br /><sub><b>Vili Sinervä</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=VSinerva" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/woutervdub"><img src="https://avatars.githubusercontent.com/u/24414629?v=4?s=100" width="100px;" alt="Wouter van Wageningen"/><br /><sub><b>Wouter van Wageningen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=woutervdub" title="Code">💻</a> <a href="#design-woutervdub" title="Design">🎨</a> <a href="#tool-woutervdub" title="Tools">🔧</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/woutervdub"><img src="https://avatars.githubusercontent.com/u/24414629?v=4?s=100" width="100px;" alt="Wouter van Wageningen"/><br /><sub><b>Wouter van Wageningen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=woutervdub" title="Code">💻</a> <a href="#design-woutervdub" title="Design">🎨</a> <a href="#tool-woutervdub" title="Tools">🔧</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Yash-Ambekar"><img src="https://avatars.githubusercontent.com/u/96481913?v=4?s=100" width="100px;" alt="Yash Anil Ambekar"/><br /><sub><b>Yash Anil Ambekar</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Yash-Ambekar" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Yash-Ambekar"><img src="https://avatars.githubusercontent.com/u/96481913?v=4?s=100" width="100px;" alt="Yash Anil Ambekar"/><br /><sub><b>Yash Anil Ambekar</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Yash-Ambekar" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/amysews"><img src="https://avatars.githubusercontent.com/u/25280778?v=4?s=100" width="100px;" alt="amysews"/><br /><sub><b>amysews</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=amysews" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/amysews"><img src="https://avatars.githubusercontent.com/u/25280778?v=4?s=100" width="100px;" alt="amysews"/><br /><sub><b>amysews</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=amysews" title="Documentation">📖</a></td>

101
README.md
View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/core" href="https://www.npmjs.com/package/@freesewing/core"
title="@freesewing/core on NPM" title="@freesewing/core on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -46,21 +45,21 @@
alt="Follow @freesewing_org on Twitter"/> alt="Follow @freesewing_org on Twitter"/>
</a></p> </a></p>
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages. This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages.
## Getting started ⚡
As this is a monorepo. You'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## About FreeSewing 💀 ## About FreeSewing 💀
Where the world of makers and developers collide, that's where you'll find FreeSewing. Where the world of makers and developers collide, that's where you'll find FreeSewing.
@ -77,7 +76,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -88,28 +87,34 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻
**Official channels** **Official channels**
- 💻 Makers website: [FreeSewing.org](https://freesewing.org) - 🪡 Makers website: [FreeSewing.org](https://freesewing.org)
- 💻 Developers website: [FreeSewing.dev](https://freesewing.dev) - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev)
- ✅ [Support](https://github.com/freesewing/freesewing/issues/new/choose),
[Issues](https://github.com/freesewing/freesewing/issues) &
[Discussions](https://github.com/freesewing/freesewing/discussions) on
[GitHub](https://github.com/freesewing/freesewing)
**Social media** **Social media**
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
- 🐘 Mastodon: [freesewing.social](https://freesewing.social/)
**Places the FreeSewing community hangs out** **Places the FreeSewing community hangs out**
@ -117,19 +122,18 @@ hardship, then you should [join us and become a patron](https://freesewing.org/c
- 💬 [Facebook](https://www.facebook.com/groups/627769821272714/) - 💬 [Facebook](https://www.facebook.com/groups/627769821272714/)
- 💬 [Reddit](https://www.reddit.com/r/freesewing/) - 💬 [Reddit](https://www.reddit.com/r/freesewing/)
## Where to get help 🤯
Check our [support page](https://freesewing.org/support), or use
the [Issues](https://github.com/freesewing/freesewing/issues) &
[Discussions](https://github.com/freesewing/freesewing/discussions) on
[GitHub](https://github.com/freesewing/freesewing).
## License: MIT 🤓 ## License: MIT 🤓
© [Joost De Cock](https://github.com/joostdecock). © [Joost De Cock](https://github.com/joostdecock).
See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details.
## Where to get help 🤯
For [Support](https://github.com/freesewing/freesewing/issues/new/choose),
please use the [Issues](https://github.com/freesewing/freesewing/issues) &
[Discussions](https://github.com/freesewing/freesewing/discussions) on
[GitHub](https://github.com/freesewing/freesewing).
## Contributors ✨ ## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
@ -189,66 +193,75 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center" valign="top" width="14.28%"><a href="http://jeroenhoek.nl"><img src="https://avatars.githubusercontent.com/u/683699?v=4?s=100" width="100px;" alt="Jeroen Hoek"/><br /><sub><b>Jeroen Hoek</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=jdhoek" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://jeroenhoek.nl"><img src="https://avatars.githubusercontent.com/u/683699?v=4?s=100" width="100px;" alt="Jeroen Hoek"/><br /><sub><b>Jeroen Hoek</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=jdhoek" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/joeschofield0"><img src="https://avatars.githubusercontent.com/u/47668691?v=4?s=100" width="100px;" alt="Joe Schofield"/><br /><sub><b>Joe Schofield</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=joeschofield0" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/joeschofield0"><img src="https://avatars.githubusercontent.com/u/47668691?v=4?s=100" width="100px;" alt="Joe Schofield"/><br /><sub><b>Joe Schofield</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=joeschofield0" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Joebidido"><img src="https://avatars.githubusercontent.com/u/39796210?v=4?s=100" width="100px;" alt="Joebidido"/><br /><sub><b>Joebidido</b></sub></a><br /><a href="#translation-Joebidido" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Joebidido"><img src="https://avatars.githubusercontent.com/u/39796210?v=4?s=100" width="100px;" alt="Joebidido"/><br /><sub><b>Joebidido</b></sub></a><br /><a href="#translation-Joebidido" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/HaasJona"><img src="https://avatars.githubusercontent.com/u/4310707?v=4?s=100" width="100px;" alt="Jonathan Haas"/><br /><sub><b>Jonathan Haas</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=HaasJona" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://joost.at/"><img src="https://avatars.githubusercontent.com/u/1708494?v=4?s=100" width="100px;" alt="Joost De Cock"/><br /><sub><b>Joost De Cock</b></sub></a><br /><a href="#maintenance-joostdecock" title="Maintenance">🚧</a></td> <td align="center" valign="top" width="14.28%"><a href="https://joost.at/"><img src="https://avatars.githubusercontent.com/u/1708494?v=4?s=100" width="100px;" alt="Joost De Cock"/><br /><sub><b>Joost De Cock</b></sub></a><br /><a href="#maintenance-joostdecock" title="Maintenance">🚧</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/joshessman"><img src="https://avatars.githubusercontent.com/u/9941074?v=4?s=100" width="100px;" alt="Josh Essman"/><br /><sub><b>Josh Essman</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=joshessman" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/joshessman"><img src="https://avatars.githubusercontent.com/u/9941074?v=4?s=100" width="100px;" alt="Josh Essman"/><br /><sub><b>Josh Essman</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=joshessman" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.earth.li/~kake/"><img src="https://avatars.githubusercontent.com/u/1956810?v=4?s=100" width="100px;" alt="Kake"/><br /><sub><b>Kake</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=KakeLP" title="Documentation">📖</a></td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jpmunic"><img src="https://avatars.githubusercontent.com/u/13474972?v=4?s=100" width="100px;" alt="Josh Munic"/><br /><sub><b>Josh Munic</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3Ajpmunic" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.earth.li/~kake/"><img src="https://avatars.githubusercontent.com/u/1956810?v=4?s=100" width="100px;" alt="Kake"/><br /><sub><b>Kake</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=KakeLP" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/kapunahele"><img src="https://avatars.githubusercontent.com/u/4116963?v=4?s=100" width="100px;" alt="Kapunahele Wong"/><br /><sub><b>Kapunahele Wong</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kapunahelewong" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://twitter.com/kapunahele"><img src="https://avatars.githubusercontent.com/u/4116963?v=4?s=100" width="100px;" alt="Kapunahele Wong"/><br /><sub><b>Kapunahele Wong</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kapunahelewong" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tangerineshark"><img src="https://avatars.githubusercontent.com/u/70777269?v=4?s=100" width="100px;" alt="Karen"/><br /><sub><b>Karen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=tangerineshark" title="Documentation">📖</a> <a href="#eventOrganizing-tangerineshark" title="Event Organizing">📋</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/tangerineshark"><img src="https://avatars.githubusercontent.com/u/70777269?v=4?s=100" width="100px;" alt="Karen"/><br /><sub><b>Karen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=tangerineshark" title="Documentation">📖</a> <a href="#eventOrganizing-tangerineshark" title="Event Organizing">📋</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mcgnly"><img src="https://avatars.githubusercontent.com/u/5653631?v=4?s=100" width="100px;" alt="Katie McGinley"/><br /><sub><b>Katie McGinley</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=mcgnly" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/mcgnly"><img src="https://avatars.githubusercontent.com/u/5653631?v=4?s=100" width="100px;" alt="Katie McGinley"/><br /><sub><b>Katie McGinley</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=mcgnly" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.kieranklaassen.com/"><img src="https://avatars.githubusercontent.com/u/209089?v=4?s=100" width="100px;" alt="Kieran Klaassen"/><br /><sub><b>Kieran Klaassen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kieranklaassen" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://www.kieranklaassen.com/"><img src="https://avatars.githubusercontent.com/u/209089?v=4?s=100" width="100px;" alt="Kieran Klaassen"/><br /><sub><b>Kieran Klaassen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kieranklaassen" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Kittycatou"><img src="https://avatars.githubusercontent.com/u/48165583?v=4?s=100" width="100px;" alt="Kittycatou"/><br /><sub><b>Kittycatou</b></sub></a><br /><a href="#translation-Kittycatou" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Kittycatou"><img src="https://avatars.githubusercontent.com/u/48165583?v=4?s=100" width="100px;" alt="Kittycatou"/><br /><sub><b>Kittycatou</b></sub></a><br /><a href="#translation-Kittycatou" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.krishoward.org/"><img src="https://avatars.githubusercontent.com/u/5946286?v=4?s=100" width="100px;" alt="Kris"/><br /><sub><b>Kris</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=web-goddess" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kristinruben"><img src="https://avatars.githubusercontent.com/u/17237479?v=4?s=100" width="100px;" alt="Kristin Ruben"/><br /><sub><b>Kristin Ruben</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kristinruben" title="Code">💻</a></td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://www.krishoward.org/"><img src="https://avatars.githubusercontent.com/u/5946286?v=4?s=100" width="100px;" alt="Kris"/><br /><sub><b>Kris</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=web-goddess" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kristinruben"><img src="https://avatars.githubusercontent.com/u/17237479?v=4?s=100" width="100px;" alt="Kristin Ruben"/><br /><sub><b>Kristin Ruben</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kristinruben" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/compilin"><img src="https://avatars.githubusercontent.com/u/40794281?v=4?s=100" width="100px;" alt="Lin"/><br /><sub><b>Lin</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=compilin" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/compilin"><img src="https://avatars.githubusercontent.com/u/40794281?v=4?s=100" width="100px;" alt="Lin"/><br /><sub><b>Lin</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=compilin" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Loudepeuter"><img src="https://avatars.githubusercontent.com/u/38081954?v=4?s=100" width="100px;" alt="Loudepeuter"/><br /><sub><b>Loudepeuter</b></sub></a><br /><a href="#translation-Loudepeuter" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Loudepeuter"><img src="https://avatars.githubusercontent.com/u/38081954?v=4?s=100" width="100px;" alt="Loudepeuter"/><br /><sub><b>Loudepeuter</b></sub></a><br /><a href="#translation-Loudepeuter" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lucibytes"><img src="https://avatars.githubusercontent.com/u/77203781?v=4?s=100" width="100px;" alt="Lucian"/><br /><sub><b>Lucian</b></sub></a><br /><a href="#eventOrganizing-lucibytes" title="Event Organizing">📋</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/lucibytes"><img src="https://avatars.githubusercontent.com/u/77203781?v=4?s=100" width="100px;" alt="Lucian"/><br /><sub><b>Lucian</b></sub></a><br /><a href="#eventOrganizing-lucibytes" title="Event Organizing">📋</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/luizfzs"><img src="https://avatars.githubusercontent.com/u/6039675?v=4?s=100" width="100px;" alt="Luiz Saggioro"/><br /><sub><b>Luiz Saggioro</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=luizfzs" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/luizfzs"><img src="https://avatars.githubusercontent.com/u/6039675?v=4?s=100" width="100px;" alt="Luiz Saggioro"/><br /><sub><b>Luiz Saggioro</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=luizfzs" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/MA-TATAS"><img src="https://avatars.githubusercontent.com/u/125549564?v=4?s=100" width="100px;" alt="MA-TATAS"/><br /><sub><b>MA-TATAS</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=MA-TATAS" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/MA-TATAS"><img src="https://avatars.githubusercontent.com/u/125549564?v=4?s=100" width="100px;" alt="MA-TATAS"/><br /><sub><b>MA-TATAS</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=MA-TATAS" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/manufakturedelweiss"><img src="https://avatars.githubusercontent.com/u/38063391?v=4?s=100" width="100px;" alt="Marcus"/><br /><sub><b>Marcus</b></sub></a><br /><a href="#translation-manufakturedelweiss" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/martintribo"><img src="https://avatars.githubusercontent.com/u/1613442?v=4?s=100" width="100px;" alt="Martin Tribo"/><br /><sub><b>Martin Tribo</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=martintribo" title="Documentation">📖</a></td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/manufakturedelweiss"><img src="https://avatars.githubusercontent.com/u/38063391?v=4?s=100" width="100px;" alt="Marcus"/><br /><sub><b>Marcus</b></sub></a><br /><a href="#translation-manufakturedelweiss" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/martintribo"><img src="https://avatars.githubusercontent.com/u/1613442?v=4?s=100" width="100px;" alt="Martin Tribo"/><br /><sub><b>Martin Tribo</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=martintribo" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nadege"><img src="https://avatars.githubusercontent.com/u/3792171?v=4?s=100" width="100px;" alt="Nadege Michel"/><br /><sub><b>Nadege Michel</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nadege" title="Tests">⚠️</a> <a href="https://github.com/freesewing/freesewing/commits?author=nadege" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/nadege"><img src="https://avatars.githubusercontent.com/u/3792171?v=4?s=100" width="100px;" alt="Nadege Michel"/><br /><sub><b>Nadege Michel</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nadege" title="Tests">⚠️</a> <a href="https://github.com/freesewing/freesewing/commits?author=nadege" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nataliasayang"><img src="https://avatars.githubusercontent.com/u/48160791?v=4?s=100" width="100px;" alt="Natalia"/><br /><sub><b>Natalia</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nataliasayang" title="Code">💻</a> <a href="#design-nataliasayang" title="Design">🎨</a> <a href="#blog-nataliasayang" title="Blogposts">📝</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/nataliasayang"><img src="https://avatars.githubusercontent.com/u/48160791?v=4?s=100" width="100px;" alt="Natalia"/><br /><sub><b>Natalia</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nataliasayang" title="Code">💻</a> <a href="#design-nataliasayang" title="Design">🎨</a> <a href="#blog-nataliasayang" title="Blogposts">📝</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://yergler.net/"><img src="https://avatars.githubusercontent.com/u/510875?v=4?s=100" width="100px;" alt="Nathan Yergler"/><br /><sub><b>Nathan Yergler</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nyergler" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://yergler.net/"><img src="https://avatars.githubusercontent.com/u/510875?v=4?s=100" width="100px;" alt="Nathan Yergler"/><br /><sub><b>Nathan Yergler</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nyergler" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nicholasdower"><img src="https://avatars.githubusercontent.com/u/9117775?v=4?s=100" width="100px;" alt="Nick Dower"/><br /><sub><b>Nick Dower</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nicholasdower" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=nicholasdower" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/issues?q=author%3Anicholasdower" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/nicholasdower"><img src="https://avatars.githubusercontent.com/u/9117775?v=4?s=100" width="100px;" alt="Nick Dower"/><br /><sub><b>Nick Dower</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nicholasdower" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=nicholasdower" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/issues?q=author%3Anicholasdower" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nchilada"><img src="https://avatars.githubusercontent.com/u/692925?v=4?s=100" width="100px;" alt="Nikhil Chelliah"/><br /><sub><b>Nikhil Chelliah</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nchilada" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/nchilada"><img src="https://avatars.githubusercontent.com/u/692925?v=4?s=100" width="100px;" alt="Nikhil Chelliah"/><br /><sub><b>Nikhil Chelliah</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nchilada" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/OysteinHoiby"><img src="https://avatars.githubusercontent.com/u/49735055?v=4?s=100" width="100px;" alt="OysteinHoiby"/><br /><sub><b>OysteinHoiby</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=OysteinHoiby" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://pat.forringer.com/"><img src="https://avatars.githubusercontent.com/u/136456?v=4?s=100" width="100px;" alt="Patrick Forringer"/><br /><sub><b>Patrick Forringer</b></sub></a><br /><a href="#plugin-destos" title="Plugin/utility libraries">🔌</a></td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/OysteinHoiby"><img src="https://avatars.githubusercontent.com/u/49735055?v=4?s=100" width="100px;" alt="OysteinHoiby"/><br /><sub><b>OysteinHoiby</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=OysteinHoiby" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://pat.forringer.com/"><img src="https://avatars.githubusercontent.com/u/136456?v=4?s=100" width="100px;" alt="Patrick Forringer"/><br /><sub><b>Patrick Forringer</b></sub></a><br /><a href="#plugin-destos" title="Plugin/utility libraries">🔌</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://pd75.github.io/"><img src="https://avatars.githubusercontent.com/u/10294795?v=4?s=100" width="100px;" alt="Paul"/><br /><sub><b>Paul</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=PD75" title="Documentation">📖</a> <a href="#blog-PD75" title="Blogposts">📝</a> <a href="#translation-PD75" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="http://pd75.github.io/"><img src="https://avatars.githubusercontent.com/u/10294795?v=4?s=100" width="100px;" alt="Paul"/><br /><sub><b>Paul</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=PD75" title="Documentation">📖</a> <a href="#blog-PD75" title="Blogposts">📝</a> <a href="#translation-PD75" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/pvidas"><img src="https://avatars.githubusercontent.com/u/38463064?v=4?s=100" width="100px;" alt="Paula Vidas"/><br /><sub><b>Paula Vidas</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=pvidas" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/phillipthelen"><img src="https://avatars.githubusercontent.com/u/298062?v=4?s=100" width="100px;" alt="Phillip Thelen"/><br /><sub><b>Phillip Thelen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=phillipthelen" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/phillipthelen"><img src="https://avatars.githubusercontent.com/u/298062?v=4?s=100" width="100px;" alt="Phillip Thelen"/><br /><sub><b>Phillip Thelen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=phillipthelen" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Pixieish"><img src="https://avatars.githubusercontent.com/u/32991415?v=4?s=100" width="100px;" alt="Pixieish"/><br /><sub><b>Pixieish</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Pixieish" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Pixieish"><img src="https://avatars.githubusercontent.com/u/32991415?v=4?s=100" width="100px;" alt="Pixieish"/><br /><sub><b>Pixieish</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Pixieish" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.uza.be/persoon/prof-dr-sorcha-ni-dhubhghaill"><img src="https://avatars.githubusercontent.com/u/30624634?v=4?s=100" width="100px;" alt="Prof. dr. Sorcha Ní Dhubhghaill"/><br /><sub><b>Prof. dr. Sorcha Ní Dhubhghaill</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sorchanidhubhghaill" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.uza.be/persoon/prof-dr-sorcha-ni-dhubhghaill"><img src="https://avatars.githubusercontent.com/u/30624634?v=4?s=100" width="100px;" alt="Prof. dr. Sorcha Ní Dhubhghaill"/><br /><sub><b>Prof. dr. Sorcha Ní Dhubhghaill</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sorchanidhubhghaill" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/QuentinFelix"><img src="https://avatars.githubusercontent.com/u/5288091?v=4?s=100" width="100px;" alt="Quentin FELIX"/><br /><sub><b>Quentin FELIX</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=QuentinFelix" title="Code">💻</a> <a href="#design-QuentinFelix" title="Design">🎨</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/QuentinFelix"><img src="https://avatars.githubusercontent.com/u/5288091?v=4?s=100" width="100px;" alt="Quentin FELIX"/><br /><sub><b>Quentin FELIX</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=QuentinFelix" title="Code">💻</a> <a href="#design-QuentinFelix" title="Design">🎨</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/RikHekker"><img src="https://avatars.githubusercontent.com/u/31843274?v=4?s=100" width="100px;" alt="Rik Hekker"/><br /><sub><b>Rik Hekker</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3ARikHekker" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/RikHekker"><img src="https://avatars.githubusercontent.com/u/31843274?v=4?s=100" width="100px;" alt="Rik Hekker"/><br /><sub><b>Rik Hekker</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3ARikHekker" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://resume.livingston-gray.com/faq.html"><img src="https://avatars.githubusercontent.com/u/6462?v=4?s=100" width="100px;" alt="Sam Livingston-Gray"/><br /><sub><b>Sam Livingston-Gray</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=geeksam" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://resume.livingston-gray.com/faq.html"><img src="https://avatars.githubusercontent.com/u/6462?v=4?s=100" width="100px;" alt="Sam Livingston-Gray"/><br /><sub><b>Sam Livingston-Gray</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=geeksam" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sannek"><img src="https://avatars.githubusercontent.com/u/17491062?v=4?s=100" width="100px;" alt="Sanne"/><br /><sub><b>Sanne</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sannek" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=sannek" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sannek"><img src="https://avatars.githubusercontent.com/u/17491062?v=4?s=100" width="100px;" alt="Sanne"/><br /><sub><b>Sanne</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sannek" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=sannek" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Tyrannogina"><img src="https://avatars.githubusercontent.com/u/19556565?v=4?s=100" width="100px;" alt="Sara Latorre"/><br /><sub><b>Sara Latorre</b></sub></a><br /><a href="#translation-Tyrannogina" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Tyrannogina"><img src="https://avatars.githubusercontent.com/u/19556565?v=4?s=100" width="100px;" alt="Sara Latorre"/><br /><sub><b>Sara Latorre</b></sub></a><br /><a href="#translation-Tyrannogina" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/SeaZeeZee"><img src="https://avatars.githubusercontent.com/u/86711383?v=4?s=100" width="100px;" alt="SeaZeeZee"/><br /><sub><b>SeaZeeZee</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=SeaZeeZee" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=SeaZeeZee" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/SeaZeeZee"><img src="https://avatars.githubusercontent.com/u/86711383?v=4?s=100" width="100px;" alt="SeaZeeZee"/><br /><sub><b>SeaZeeZee</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=SeaZeeZee" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=SeaZeeZee" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/SimonbJohnson"><img src="https://avatars.githubusercontent.com/u/2110742?v=4?s=100" width="100px;" alt="SimonbJohnson"/><br /><sub><b>SimonbJohnson</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3ASimonbJohnson" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/SimonbJohnson"><img src="https://avatars.githubusercontent.com/u/2110742?v=4?s=100" width="100px;" alt="SimonbJohnson"/><br /><sub><b>SimonbJohnson</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3ASimonbJohnson" title="Bug reports">🐛</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/SirCharlotte"><img src="https://avatars.githubusercontent.com/u/63847870?v=4?s=100" width="100px;" alt="SirCharlotte"/><br /><sub><b>SirCharlotte</b></sub></a><br /><a href="#translation-SirCharlotte" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/SirCharlotte"><img src="https://avatars.githubusercontent.com/u/63847870?v=4?s=100" width="100px;" alt="SirCharlotte"/><br /><sub><b>SirCharlotte</b></sub></a><br /><a href="#translation-SirCharlotte" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.instagram.com/celine_mge/"><img src="https://avatars.githubusercontent.com/u/57619777?v=4?s=100" width="100px;" alt="Slylele"/><br /><sub><b>Slylele</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Slylele" title="Documentation">📖</a> <a href="#translation-Slylele" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.instagram.com/celine_mge/"><img src="https://avatars.githubusercontent.com/u/57619777?v=4?s=100" width="100px;" alt="Slylele"/><br /><sub><b>Slylele</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Slylele" title="Documentation">📖</a> <a href="#translation-Slylele" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Soazillon"><img src="https://avatars.githubusercontent.com/u/40845940?v=4?s=100" width="100px;" alt="Soazillon"/><br /><sub><b>Soazillon</b></sub></a><br /><a href="#translation-Soazillon" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Soazillon"><img src="https://avatars.githubusercontent.com/u/40845940?v=4?s=100" width="100px;" alt="Soazillon"/><br /><sub><b>Soazillon</b></sub></a><br /><a href="#translation-Soazillon" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sohamtembhurne"><img src="https://avatars.githubusercontent.com/u/82658685?v=4?s=100" width="100px;" alt="Soham Tembhurne"/><br /><sub><b>Soham Tembhurne</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sohamtembhurne" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sohamtembhurne"><img src="https://avatars.githubusercontent.com/u/82658685?v=4?s=100" width="100px;" alt="Soham Tembhurne"/><br /><sub><b>Soham Tembhurne</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sohamtembhurne" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/SoneaTheBest"><img src="https://avatars.githubusercontent.com/u/64635425?v=4?s=100" width="100px;" alt="SoneaTheBest"/><br /><sub><b>SoneaTheBest</b></sub></a><br /><a href="#translation-SoneaTheBest" title="Translation">🌍</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/SoneaTheBest"><img src="https://avatars.githubusercontent.com/u/64635425?v=4?s=100" width="100px;" alt="SoneaTheBest"/><br /><sub><b>SoneaTheBest</b></sub></a><br /><a href="#translation-SoneaTheBest" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.sophiah.gay/"><img src="https://avatars.githubusercontent.com/u/10786212?v=4?s=100" width="100px;" alt="Sophia"/><br /><sub><b>Sophia</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=SophiaH67" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://metafly.info/"><img src="https://avatars.githubusercontent.com/u/961256?v=4?s=100" width="100px;" alt="Stefan Sydow"/><br /><sub><b>Stefan Sydow</b></sub></a><br /><a href="#translation-stsydow" title="Translation">🌍</a> <a href="https://github.com/freesewing/freesewing/commits?author=stsydow" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=stsydow" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://metafly.info/"><img src="https://avatars.githubusercontent.com/u/961256?v=4?s=100" width="100px;" alt="Stefan Sydow"/><br /><sub><b>Stefan Sydow</b></sub></a><br /><a href="#translation-stsydow" title="Translation">🌍</a> <a href="https://github.com/freesewing/freesewing/commits?author=stsydow" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=stsydow" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://stefanocislaghi.com"><img src="https://avatars.githubusercontent.com/u/1659414?v=4?s=100" width="100px;" alt="Stefano"/><br /><sub><b>Stefano</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=LunaticMuch" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/biswassushmita947"><img src="https://avatars.githubusercontent.com/u/145688707?v=4?s=100" width="100px;" alt="Sushmita Biswas"/><br /><sub><b>Sushmita Biswas</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=biswassushmita947" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/biswassushmita947"><img src="https://avatars.githubusercontent.com/u/145688707?v=4?s=100" width="100px;" alt="Sushmita Biswas"/><br /><sub><b>Sushmita Biswas</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=biswassushmita947" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/TheTanay902"><img src="https://avatars.githubusercontent.com/u/84577440?v=4?s=100" width="100px;" alt="Tanay Toshniwal"/><br /><sub><b>Tanay Toshniwal</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=TheTanay902" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/TheTanay902"><img src="https://avatars.githubusercontent.com/u/84577440?v=4?s=100" width="100px;" alt="Tanay Toshniwal"/><br /><sub><b>Tanay Toshniwal</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=TheTanay902" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/trentonTrama"><img src="https://avatars.githubusercontent.com/u/41126812?v=4?s=100" width="100px;" alt="Trent Trama"/><br /><sub><b>Trent Trama</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=trentonTrama" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/trentonTrama"><img src="https://avatars.githubusercontent.com/u/41126812?v=4?s=100" width="100px;" alt="Trent Trama"/><br /><sub><b>Trent Trama</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=trentonTrama" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/TriploidTree"><img src="https://avatars.githubusercontent.com/u/4170521?v=4?s=100" width="100px;" alt="Tríona"/><br /><sub><b>Tríona</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=TriploidTree" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/TriploidTree"><img src="https://avatars.githubusercontent.com/u/4170521?v=4?s=100" width="100px;" alt="Tríona"/><br /><sub><b>Tríona</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=TriploidTree" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/theUnmutual"><img src="https://avatars.githubusercontent.com/u/22374635?v=4?s=100" width="100px;" alt="Unmutual"/><br /><sub><b>Unmutual</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=theUnmutual" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ArcticCoder"><img src="https://avatars.githubusercontent.com/u/39151688?v=4?s=100" width="100px;" alt="Vili Sinervä"/><br /><sub><b>Vili Sinervä</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=ArcticCoder" title="Code">💻</a></td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/theUnmutual"><img src="https://avatars.githubusercontent.com/u/22374635?v=4?s=100" width="100px;" alt="Unmutual"/><br /><sub><b>Unmutual</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=theUnmutual" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/VSinerva"><img src="https://avatars.githubusercontent.com/u/39151688?v=4?s=100" width="100px;" alt="Vili Sinervä"/><br /><sub><b>Vili Sinervä</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=VSinerva" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/woutervdub"><img src="https://avatars.githubusercontent.com/u/24414629?v=4?s=100" width="100px;" alt="Wouter van Wageningen"/><br /><sub><b>Wouter van Wageningen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=woutervdub" title="Code">💻</a> <a href="#design-woutervdub" title="Design">🎨</a> <a href="#tool-woutervdub" title="Tools">🔧</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/woutervdub"><img src="https://avatars.githubusercontent.com/u/24414629?v=4?s=100" width="100px;" alt="Wouter van Wageningen"/><br /><sub><b>Wouter van Wageningen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=woutervdub" title="Code">💻</a> <a href="#design-woutervdub" title="Design">🎨</a> <a href="#tool-woutervdub" title="Tools">🔧</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Yash-Ambekar"><img src="https://avatars.githubusercontent.com/u/96481913?v=4?s=100" width="100px;" alt="Yash Anil Ambekar"/><br /><sub><b>Yash Anil Ambekar</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Yash-Ambekar" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Yash-Ambekar"><img src="https://avatars.githubusercontent.com/u/96481913?v=4?s=100" width="100px;" alt="Yash Anil Ambekar"/><br /><sub><b>Yash Anil Ambekar</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Yash-Ambekar" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/amysews"><img src="https://avatars.githubusercontent.com/u/25280778?v=4?s=100" width="100px;" alt="amysews"/><br /><sub><b>amysews</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=amysews" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/amysews"><img src="https://avatars.githubusercontent.com/u/25280778?v=4?s=100" width="100px;" alt="amysews"/><br /><sub><b>amysews</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=amysews" title="Documentation">📖</a></td>

View file

@ -15,3 +15,4 @@ all:
backend3.freesewing.org: backend3.freesewing.org:
monorepo: /fs/monorepo monorepo: /fs/monorepo

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB

View file

@ -4,7 +4,7 @@
* The name is what we'll use as display name * The name is what we'll use as display name
*/ */
export const authors = { export const authors = {
joostdecock: { id: 0, name: 'Joost De Cock' }, joostdecock: { id: 1, name: 'Joost De Cock' },
'Prof. dr. Sorcha Ní Dhubhghaill': { id: 0, name: 'Prof. dr. Sorcha Ní Dhubhghaill' }, 'Prof. dr. Sorcha Ní Dhubhghaill': { id: 0, name: 'Prof. dr. Sorcha Ní Dhubhghaill' },
mocked: { id: 0, name: 'Unknown (mocked in dev)' }, mocked: { id: 0, name: 'Unknown (mocked in dev)' },
benjamesben: { id: 0, name: 'Benjamin' }, benjamesben: { id: 0, name: 'Benjamin' },
@ -32,8 +32,12 @@ export const authors = {
Natalia: { id: 0, name: 'Natalia Sayang' }, Natalia: { id: 0, name: 'Natalia Sayang' },
chri5b: { id: 0, name: 'chri5b' }, chri5b: { id: 0, name: 'chri5b' },
tangerineshark: { id: 0, name: 'tangerineshark' }, tangerineshark: { id: 0, name: 'tangerineshark' },
'bekivo@gmail.com': { id: 0, name: 'Ivo Bek' }, 'Ivo Bek': { id: 0, name: 'Ivo Bek' },
Thrunic: { id: 0, name: 'Thrunic' }, Thrunic: { id: 0, name: 'Thrunic' },
'Vili Sinervä': { id: 0, name: 'Vili Sinervä' },
bijay_d: { id: 0, name: 'bijay_d' },
'Paula Vidas': { id: 0, name: 'Paula Vidas' },
'Morgan Frost': { id: 0, name: 'Morgan Frost' },
} }
/* /*
@ -50,4 +54,9 @@ export const gitToAuthor = {
'70777269+tangerineshark@users.noreply.github.com': 'tangerineshark', '70777269+tangerineshark@users.noreply.github.com': 'tangerineshark',
'thijs.assies@gmail.com': 'MA-TATAS', 'thijs.assies@gmail.com': 'MA-TATAS',
'Natalia Sayang': 'Natalia', 'Natalia Sayang': 'Natalia',
'109869956+BenJamesBen@users.noreply.github.com': 'benjamesben',
'vili.m.sinerva@gmail.com': 'Vili Sinervä',
'bekivo@gmail.com': 'Ivo Bek',
'paulavidas@gmail.com': 'Paula Vidas',
'104308146+KaerMorhan@users.noreply.github.com': 'Morgan Frost',
} }

View file

@ -1,10 +1,83 @@
Unreleased: Unreleased:
Changed:
brian:
- Always load plugin-bust due to its changes in how it handle conditionality.
onyx:
- Always load plugin-bust due to its changes in how it handle conditionality.
plugin-bust:
- This plugin now uses the `preSetDraft` rather than `preDraft` lifecycle hook
- Conditionality has been moved to the `preSetDraft` lifecycle hook, rather than exposing a `withCondition` named export
- The plugin will now always be loaded, but will check for each drafted set whether it should make any changes.
shelly:
- Always load plugin-bust due to its changes in how it handle conditionality.
tamiko:
- Always load plugin-bust due to its changes in how it handle conditionality.
Deprecated:
plugin-bust:
- The `withCondition` named export is deprecated and will always return true.
Fixed:
hugo:
- Add missing dimension id attributes
uma:
- Fix back exposure when expand is off. Fixes #6239
3.2.0:
date: 2024-02-11
Added:
core:
- Added the `Path.combine()` method
- The `Path.join()` method is now variadic
- The `Path.length()` now takes an parameter to include move operations in the length calculation
lumina:
- Initial release
lumira:
- Initial release
plugin-annotations:
- The `title` macro now takes a `notes` and `classes.notes` as its config, allowing you to add notes
- The `classes.cutlist` config is removed from the title plugin, cutlist info is now included as notes
plugin-i18n:
- This plugin now supports translation of nested arrays of strings, giving you more flexibility to concatenate translated parts of strings
react-components:
- This Pattern component now supports translation of nested arrays of strings, giving you more flexibility to concatenate translated parts of strings
sandy:
- Added a new *panels* option
tristan:
- Inital release
Deprecated:
core:
- Calling `Path.join` with a second parameter to indicate that the resulting paths most be closed is now deprecated and will be removed in FreeSewing v4.
Fixed:
brian:
- Take biceps ease into account when calculating armhole depth
carlton:
- Fixed a stray seam allowance path on the collar
charlie:
- The back pocket welt (4) and front pocket facing (8) incorrectly indicated to cut 2 instead of 4 in the cutlist. Fixes #5791
hugo:
- Fix issue that crashed the design when complete is off. Fixes #6006
- Base pocket opening on pocket height, rather than width of the garment. Fixes #6004
Removed:
plugin-annotations:
- The `classes.cutlist` config is removed from the title plugin, cutlist info is now included as notes
3.1.0:
date: 2023-12-26
Added: Added:
core: core:
- Allow plugins to provide their own packing implementation - Allow plugins to provide their own packing implementation
- Added named export `cbqc` which exports the constant to approximate a circle with Cubic Bézier curves - Added named export `cbqc` which exports the constant to approximate a circle with Cubic Bézier curves
- Core will now set `activeMacro` in the store, keeping track of the running macro - Core will now set `activeMacro` in the store, keeping track of the running macro
- Added the `generateMacroIds`, `getMacroIds`, and `removeMacroNodes` store methods - Added the `generateMacroIds`, `getMacroIds`, and `removeMacroNodes` store methods
otis:
- Initial release
skully:
- Initial release
plugin-bin-pack: plugin-bin-pack:
- First release of the plugin providing the default packing implementation - First release of the plugin providing the default packing implementation
plugin-ringsector: plugin-ringsector:
@ -51,13 +124,23 @@ Unreleased:
Fixed: Fixed:
aaron: aaron:
- Added IDs to dimension macros that missed them, causing them to not be shown - Added IDs to dimension macros that missed them, causing them to not be shown
- Keep seam allowance out of the binding length calculation
core: core:
- Fix order in mergeOptions method so user settings take precendence over defaults - Fix order in mergeOptions method so user settings take precendence over defaults
- Fix upward snap for snapped percentage option when snap is a simple number - Fix upward snap for snapped percentage option when snap is a simple number
- The conditional loading of plugins had a bug causing them to never be loaded
- Make Path.split() more robust when handling edge-case. Fixes #5569
- Prevent utils.circlesIntersect() from running sqrt on a negative number. Fixes #5697
penelope:
- Fixed wrong use of options in a value method. Fixes #5497
simon: simon:
- Replaced all instances of 'seperate' with 'separate' in option names - Replaced all instances of 'seperate' with 'separate' in option names
new-design:
- Removed unwanted debug output
plugintest: plugintest:
- Remove names from old plugins from list option - Remove names from old plugins from list option
plugin-annotations:
- Removing macros did not always remove the cutlist data in the store. Fixes #5448
uma: uma:
- Changed defaults to have more rise in the back - Changed defaults to have more rise in the back
- Increase default rise - Increase default rise
@ -65,13 +148,13 @@ Unreleased:
- Decreased default back waist dip - Decreased default back waist dip
- Increased default front waist dip - Increased default front waist dip
- Allowed lower values on back exposure, causing back to flare out - Allowed lower values on back exposure, causing back to flare out
- Fix issue with back part when bulge is on and expand is off
waralee: waralee:
- Pocket opening was not drawn on the facing and pocket pieces. Fixes #4026 - Pocket opening was not drawn on the facing and pocket pieces. Fixes #4026
- Improve placement of the front welt. Fixes #4828 - Improve placement of the front welt. Fixes #4828
3.0.0: 3.0.0:
date: 2022-09-30 date: 2023-09-30
Changed: Changed:
all: all:
- All FreeSewing pacakges are now ESM only. - All FreeSewing pacakges are now ESM only.

View file

@ -3,8 +3,8 @@ _types:
peer: peer:
'@freesewing/core': &freesewing '{{version}}' '@freesewing/core': &freesewing '{{version}}'
dev: dev:
'mocha': &mocha '10.2.0' 'mocha': &mocha '10.3.0'
'chai': &chai '4.3.10' 'chai': &chai '5.1.0'
'@freesewing/models': *freesewing '@freesewing/models': *freesewing
'@freesewing/plugin-timing': *freesewing '@freesewing/plugin-timing': *freesewing
plugin: plugin:
@ -55,12 +55,12 @@ core:
'lodash.unset': &_unset '4.5.2' 'lodash.unset': &_unset '4.5.2'
'lodash.clonedeep': '^4.5.0' 'lodash.clonedeep': '^4.5.0'
dev: dev:
'eslint': &eslint '8.51.0' 'eslint': &eslint '8.57.0'
'nyc': '15.1.0' 'nyc': '15.1.0'
'mocha': *mocha 'mocha': *mocha
'chai': *chai 'chai': *chai
'chai-string': '1.5.0' 'chai-string': '1.5.0'
'sinon': &sinon '^16.1.0' 'sinon': &sinon '^17.0.1'
diana: diana:
peer: peer:
'@freesewing/brian': *freesewing '@freesewing/brian': *freesewing
@ -88,11 +88,11 @@ jaeger:
'@freesewing/plugin-bust': *freesewing '@freesewing/plugin-bust': *freesewing
new-design: new-design:
_: _:
'axios': &axios '1.5.1' 'axios': &axios '1.6.7'
'chalk': '5.3.0' 'chalk': '5.3.0'
'execa': '8.0.1' 'execa': '8.0.1'
'mustache': &mustache '4.2.0' 'mustache': &mustache '4.2.0'
'ora': &ora '7.0.1' 'ora': &ora '8.0.1'
'prompts': '2.4.2' 'prompts': '2.4.2'
'recursive-readdir': '2.2.3' 'recursive-readdir': '2.2.3'
noble: noble:
@ -123,7 +123,7 @@ plugintest:
'@freesewing/plugin-theme': *freesewing '@freesewing/plugin-theme': *freesewing
react-components: react-components:
_: _:
html-react-parser: "^4.2.2" html-react-parser: "^5.0.7"
peer: peer:
react: '>=14' react: '>=14'
rehype-jargon: rehype-jargon:
@ -180,30 +180,30 @@ yuri:
backend: backend:
_: _:
'@aws-sdk/client-sesv2': '3.428.0' '@aws-sdk/client-sesv2': '3.529.1'
'@prisma/client': &prisma '5.4.2' '@prisma/client': &prisma '5.10.2'
'bcryptjs': '2.4.3' 'bcryptjs': '2.4.3'
'cors': '2.8.5' 'cors': '2.8.5'
'dotenv': '16.3.1' 'dotenv': '16.4.5'
'express': '4.18.2' 'express': '4.18.3'
'js-yaml': &jsyaml '4.1.0' 'js-yaml': &jsyaml '4.1.0'
'lodash.get': *_get 'lodash.get': *_get
'mustache': *mustache 'mustache': *mustache
'otplib': '12.0.1' 'otplib': '12.0.1'
'passport': '0.6.0' 'passport': '0.7.0'
'passport-http': '0.3.0' 'passport-http': '0.3.0'
'passport-jwt': '4.0.1' 'passport-jwt': '4.0.1'
'pino': '8.15.0' 'pino': '8.19.0'
'qrcode': '1.5.3' 'qrcode': '1.5.3'
'swagger-ui-dist': '5.9.0' 'swagger-ui-dist': '5.11.10'
'swagger-ui-express': '5.0.0' 'swagger-ui-express': '5.0.0'
dev: dev:
'chai': *chai 'chai': *chai
'chai-http': '4.4.0' 'chai-http': '4.4.0'
'esbuild': '0.19.4' 'esbuild': '0.20.1'
'mocha': *mocha 'mocha': *mocha
'mocha-steps': '1.3.0' 'mocha-steps': '1.3.0'
'nodemon': '3.0.1' 'nodemon': '3.1.0'
'prisma': *prisma 'prisma': *prisma
dev: dev:
@ -211,10 +211,10 @@ dev:
'@mdx-js/mdx': &mdx '^3.0.0' '@mdx-js/mdx': &mdx '^3.0.0'
'@mdx-js/react': *mdx '@mdx-js/react': *mdx
'@mdx-js/runtime': &mdxRuntime '2.0.0-next.9' '@mdx-js/runtime': &mdxRuntime '2.0.0-next.9'
'@next/bundle-analyzer': &next '13.5.4' '@next/bundle-analyzer': &next '14.1.3'
'@tailwindcss/typography': &tailwindTypography '0.5.9' '@tailwindcss/typography': &tailwindTypography '0.5.10'
'algoliasearch': '4.20.0' 'algoliasearch': '4.22.1'
'daisyui': &daisyui '3.9.2' 'daisyui': &daisyui '4.7.2'
'lodash.get': *_get 'lodash.get': *_get
'lodash.orderby': &_orderby '4.6.0' 'lodash.orderby': &_orderby '4.6.0'
'lodash.set': *_set 'lodash.set': *_set
@ -222,12 +222,12 @@ dev:
'react': &react '18.2.0' 'react': &react '18.2.0'
'react-copy-to-clipboard': &reactCopyToClipboard '5.1.0' 'react-copy-to-clipboard': &reactCopyToClipboard '5.1.0'
'react-dom': *react 'react-dom': *react
'react-hotkeys-hook': &reactHotkeysHook '4.4.1' 'react-hotkeys-hook': &reactHotkeysHook '4.5.0'
'react-instantsearch-dom': &reactInstantsearchDom '6.40.4' 'react-instantsearch-dom': &reactInstantsearchDom '6.40.4'
'react-instantsearch-hooks-web': '6.47.3' 'react-instantsearch-hooks-web': '6.47.3'
'react-swipeable': &reactSwipeable '7.0.1' 'react-swipeable': &reactSwipeable '7.0.1'
'react-timeago': &reactTimeago '7.2.0' 'react-timeago': &reactTimeago '7.2.0'
'rehype-autolink-headings': &rehypeAutolinkHeadings '7.0.0' 'rehype-autolink-headings': &rehypeAutolinkHeadings '7.1.0'
'rehype-highlight': &rehypeHighlight '7.0.0' 'rehype-highlight': &rehypeHighlight '7.0.0'
'rehype-sanitize': &rehypeSanitize '6.0.0' 'rehype-sanitize': &rehypeSanitize '6.0.0'
'rehype-slug': &rehypeSlug '6.0.0' 'rehype-slug': &rehypeSlug '6.0.0'
@ -238,13 +238,13 @@ dev:
'remark-gfm': &remarkGfm '4.0.0' 'remark-gfm': &remarkGfm '4.0.0'
'strip-markdown': &stripMarkdown 6.0.0 'strip-markdown': &stripMarkdown 6.0.0
dev: &nextSiteDevDependencies dev: &nextSiteDevDependencies
'autoprefixer': &autoprefixer '10.4.16' 'autoprefixer': &autoprefixer '10.4.18'
'js-yaml': &jsYaml '4.1.0' 'js-yaml': &jsYaml '4.1.0'
'postcss': &postcss '8.4.31' 'postcss': &postcss '8.4.35'
'remark-extract-frontmatter': '3.2.0' 'remark-extract-frontmatter': '3.2.0'
'remark-mdx-frontmatter': &mdxfrontmatter '4.0.0' 'remark-mdx-frontmatter': &mdxfrontmatter '4.0.0'
'tailwindcss': &tailwindcss '3.3.5' 'tailwindcss': &tailwindcss '3.4.1'
'yaml-loader': '0.8.0' 'yaml-loader': '0.8.1'
lab: lab:
_: _:
@ -252,22 +252,22 @@ lab:
'@mdx-js/react': *mdx '@mdx-js/react': *mdx
'@mdx-js/runtime': *mdxRuntime '@mdx-js/runtime': *mdxRuntime
'@tailwindcss/typography': *tailwindTypography '@tailwindcss/typography': *tailwindTypography
'algoliasearch': &algoliasearch '4.20.0' 'algoliasearch': &algoliasearch '4.22.1'
'd3-dispatch': &d3dispatch '3.0.1' 'd3-dispatch': &d3dispatch '3.0.1'
'd3-drag': &d3drag '3.0.0' 'd3-drag': &d3drag '3.0.0'
'd3-selection': &d3selection '3.0.0' 'd3-selection': &d3selection '3.0.0'
'daisyui': *daisyui 'daisyui': *daisyui
'i18next': &i18next '23.5.1' 'i18next': &i18next '23.10.0'
'lodash.get': *_get 'lodash.get': *_get
'lodash.orderby': *_orderby 'lodash.orderby': *_orderby
'lodash.set': *_set 'lodash.set': *_set
'next': *next 'next': *next
'next-i18next': &nextI18next '14.0.0' 'next-i18next': &nextI18next '15.2.0'
'ora': *ora 'ora': *ora
'react': *react 'react': *react
'react-copy-to-clipboard': *reactCopyToClipboard 'react-copy-to-clipboard': *reactCopyToClipboard
'react-hotkeys-hook': *reactHotkeysHook 'react-hotkeys-hook': *reactHotkeysHook
'react-i18next': &reactI18next '13.2.2' 'react-i18next': &reactI18next '14.1.0'
'react-instantsearch-dom': *reactInstantsearchDom 'react-instantsearch-dom': *reactInstantsearchDom
'react-swipeable': *reactSwipeable 'react-swipeable': *reactSwipeable
'react-timeago': *reactTimeago 'react-timeago': *reactTimeago
@ -284,23 +284,24 @@ lab:
org: org:
_: _:
'@bugsnag/js': &bugsnag 7.20.2 '@bugsnag/js': &bugsnag 7.22.4
'@bugsnag/plugin-react': 7.19.0 '@bugsnag/plugin-react': 7.19.0
'@mdx-js/mdx': *mdx '@mdx-js/mdx': *mdx
'@mdx-js/react': *mdx '@mdx-js/react': *mdx
'@mdx-js/runtime': *mdxRuntime '@mdx-js/runtime': *mdxRuntime
"@tailwindcss/nesting": &twnesting "^0.0.0-insiders.565cd3e"
'@tailwindcss/typography': *tailwindTypography '@tailwindcss/typography': *tailwindTypography
'algoliasearch': *algoliasearch 'algoliasearch': *algoliasearch
'react-copy-to-clipboard': *reactCopyToClipboard 'react-copy-to-clipboard': *reactCopyToClipboard
'daisyui': *daisyui 'daisyui': *daisyui
'echarts': 5.4.2 'echarts': &echarts 5.5.0
'echarts-for-react': 3.0.2 'echarts-for-react': &echartsReact 3.0.2
'jotai': &jotai '2.4.3' 'jotai': &jotai '2.7.0'
'jotai-location': &jotai-location '0.5.1' 'jotai-location': &jotai-location '0.5.4'
'lodash.get': *_get 'lodash.get': *_get
'lodash.orderby': *_orderby 'lodash.orderby': *_orderby
'lodash.set': *_set 'lodash.set': *_set
'luxon': '3.4.3' 'luxon': '3.4.4'
'next': *next 'next': *next
'ora': *ora 'ora': *ora
'react-dropzone': &dropzone '14.2.3' 'react-dropzone': &dropzone '14.2.3'
@ -318,14 +319,14 @@ org:
'remark-gfm': *remarkGfm 'remark-gfm': *remarkGfm
'remark-mdx-frontmatter': *mdxfrontmatter 'remark-mdx-frontmatter': *mdxfrontmatter
'strip-markdown': *stripMarkdown 'strip-markdown': *stripMarkdown
'use-persisted-state': &use-persisted-state 0.3.3 'use-local-storage-state': &use-local-storage-state 19.1.0
'yaml-loader': 0.8.0 'yaml-loader': 0.8.1
dev: *nextSiteDevDependencies dev: *nextSiteDevDependencies
shared: shared:
_: _:
'@next/mdx': '14.0.0' '@next/mdx': '14.1.3'
'@resvg/resvg-js': '2.4.1' '@resvg/resvg-js': '2.6.0'
'@tailwindcss/typography': *tailwindTypography '@tailwindcss/typography': *tailwindTypography
'Buffer': '0.0.0' 'Buffer': '0.0.0'
'd3-dispatch': '3.0.1' 'd3-dispatch': '3.0.1'
@ -345,28 +346,27 @@ shared:
'lodash.unset': *_unset 'lodash.unset': *_unset
'lodash.get': *_get 'lodash.get': *_get
'mdast-util-toc': '7.0.0' 'mdast-util-toc': '7.0.0'
'mermaid': '10.4.0' 'mermaid': '10.9.0'
'ora': *ora 'ora': *ora
'pdfkit': &pdfkit '0.13.0' 'pdfkit': &pdfkit '0.14.0'
'postcss-for': &postcssfor '2.1.1' 'postcss-for': &postcssfor '2.1.1'
'react': *react 'react': *react
'react-dom': *react 'react-dom': *react
'react-timeago': *reactTimeago 'react-timeago': *reactTimeago
'react-zoom-pan-pinch': &zoompanpinch '3.1.0' 'react-zoom-pan-pinch': &zoompanpinch '3.4.3'
'rehype-autolink-headings': *rehypeAutolinkHeadings 'rehype-autolink-headings': *rehypeAutolinkHeadings
'rehype-highlight': *rehypeHighlight 'rehype-highlight': *rehypeHighlight
'remark-frontmatter': &remarkfrontmatter '5.0.0' 'remark-frontmatter': &remarkfrontmatter '5.0.0'
'remark-mdx-frontmatter': *mdxfrontmatter 'remark-mdx-frontmatter': *mdxfrontmatter
"remark-smartypants": &smartypants "2.0.0" "remark-smartypants": &smartypants "2.1.0"
'sharp': '0.32.6'
"slugify": &slugify "^1.6.6" "slugify": &slugify "^1.6.6"
# see: https://github.com/npm/cli/issues/2610#issuecomment-1295371753 # see: https://github.com/npm/cli/issues/2610#issuecomment-1295371753
'svg-to-pdfkit': &svgtopdfkit 'https://git@github.com/eriese/SVG-to-PDFKit' 'svg-to-pdfkit': &svgtopdfkit 'https://git@github.com/eriese/SVG-to-PDFKit'
'tlds': &rlds '1.242.0' 'tlds': &rlds '1.251.0'
'to-vfile': '8.0.0' 'to-vfile': '8.0.0'
'unist-util-visit': *unist-util-visit 'unist-util-visit': *unist-util-visit
'use-persisted-state': *use-persisted-state 'use-local-storage-state': *use-local-storage-state
'web-worker': &webworker '1.2.0' 'web-worker': &webworker '1.3.0'
dev: dev:
'recursive-readdir': '^2.2.3' 'recursive-readdir': '^2.2.3'
'html-to-text': '^9.0.5' 'html-to-text': '^9.0.5'
@ -381,6 +381,7 @@ sde:
"@freesewing/bella": *freesewing "@freesewing/bella": *freesewing
"@freesewing/breanna": *freesewing "@freesewing/breanna": *freesewing
"@freesewing/plugin-bust": *freesewing "@freesewing/plugin-bust": *freesewing
"@freesewing/plugin-timing": *freesewing
"@freesewing/plugin-theme": *freesewing "@freesewing/plugin-theme": *freesewing
"@freesewing/plugin-i18n": *freesewing "@freesewing/plugin-i18n": *freesewing
"@freesewing/snapseries": *freesewing "@freesewing/snapseries": *freesewing
@ -388,13 +389,16 @@ sde:
'@mdx-js/mdx': *mdx '@mdx-js/mdx': *mdx
'@mdx-js/react': *mdx '@mdx-js/react': *mdx
'@mdx-js/runtime': *mdxRuntime '@mdx-js/runtime': *mdxRuntime
"@tailwindcss/nesting": *twnesting
'@tailwindcss/typography': *tailwindTypography '@tailwindcss/typography': *tailwindTypography
'autoprefixer': *autoprefixer 'autoprefixer': *autoprefixer
'axios': &axios 'axios': *axios
'd3-dispatch': *d3dispatch 'd3-dispatch': *d3dispatch
'd3-drag': *d3drag 'd3-drag': *d3drag
'd3-selection': *d3selection 'd3-selection': *d3selection
'daisyui': *daisyui 'daisyui': *daisyui
'echarts': *echarts
'echarts-for-react': *echartsReact
'file-saver': *filesaver 'file-saver': *filesaver
'i18next': *i18next 'i18next': *i18next
'jotai': *jotai 'jotai': *jotai
@ -424,7 +428,8 @@ sde:
'remark-smartypants': *smartypants 'remark-smartypants': *smartypants
"slugify": *slugify "slugify": *slugify
'svg-to-pdfkit': *svgtopdfkit 'svg-to-pdfkit': *svgtopdfkit
'tailwindcss': *tailwindcss
'tlds': *rlds 'tlds': *rlds
'use-persisted-state': *use-persisted-state 'use-local-storage-state': *use-local-storage-state
'web-worker': *webworker 'web-worker': *webworker

View file

@ -1,10 +1,14 @@
export const testers = [ export const testers = {
{ en: [
email: 'joost@joost.at', {
ehash: 'asefsdfsdfsdlfsllehash', email: 'joost@joost.at',
}, ehash: 'asefsdfsdfsdlfsllehash',
{ },
email: 'joost@decock.org', ],
ehash: 'zlasdadfsdlfsjjuehash', nl: [
}, {
] email: 'joost@decock.org',
ehash: 'zlasdadfsdlfsjjuehash',
},
],
}

View file

@ -6,4 +6,5 @@ export const social = {
GitHub: 'https://github.com/freesewing', GitHub: 'https://github.com/freesewing',
Reddit: 'https://www.reddit.com/r/freesewing/', Reddit: 'https://www.reddit.com/r/freesewing/',
Mastodon: 'https://freesewing.social/@freesewing', Mastodon: 'https://freesewing.social/@freesewing',
Bluesky: 'https://bsky.app/profile/freesewing.org',
} }

View file

@ -490,6 +490,40 @@
"curvedSeam" "curvedSeam"
] ]
}, },
"lumina": {
"code": "Wouter Van Wageningen",
"description": "A FreeSewing pattern for leggings",
"design": "Wouter Van Wageningen",
"difficulty": 3,
"lab": true,
"org": true,
"tags": [
"bottoms",
"trousers"
],
"techniques": [
"stretch",
"curvedSeam",
"elastic"
]
},
"lumira": {
"code": "Wouter Van Wageningen",
"description": "A FreeSewing pattern for leggings",
"design": "Wouter Van Wageningen",
"difficulty": 3,
"lab": true,
"org": true,
"tags": [
"bottoms",
"trousers"
],
"techniques": [
"stretch",
"curvedSeam",
"elastic"
]
},
"lunetius": { "lunetius": {
"code": "Rika Tamaike", "code": "Rika Tamaike",
"description": "A FreeSewing pattern for a lacerna, a historical Roman cloak", "description": "A FreeSewing pattern for a lacerna, a historical Roman cloak",
@ -519,6 +553,16 @@
], ],
"techniques": [] "techniques": []
}, },
"naomiwu": {
"description": "A FreeSewing pattern for Naomi Wu's signature cargo skirt",
"code": "Joost De Cock",
"design": ["Naomi Wu", "Joost De Cock"],
"difficulty": 3,
"lab": false,
"org": false,
"tags": ["bottoms", "skirts"],
"techniques": ["button", "hem", "pocket", "lining"]
},
"noble": { "noble": {
"code": "Wouter Van Wageningen", "code": "Wouter Van Wageningen",
"description": "A FreeSewing pattern for a princess seam bodice block", "description": "A FreeSewing pattern for a princess seam bodice block",
@ -574,6 +618,16 @@
"ribbing" "ribbing"
] ]
}, },
"otis": {
"code": "Wouter Van Wageningen",
"description": "A FreeSewing pattern for a baby romper",
"design": "Wouter Van Wageningen",
"difficulty": 2,
"lab": true,
"org": true,
"tags": [],
"techniques": []
},
"paco": { "paco": {
"code": "Joost De Cock", "code": "Joost De Cock",
"description": "A FreeSewing pattern for summer pants", "description": "A FreeSewing pattern for summer pants",
@ -824,6 +878,21 @@
"lining" "lining"
] ]
}, },
"tristan": {
"code": "Wouter van Wageningen",
"description": "A FreeSewing pattern for a fitted top with prince(ss) seams",
"design": "Natalia Sayang",
"difficulty": 3,
"lab": true,
"org": true,
"tags": [
"tops"
],
"techniques": [
"curvedSeam",
"precision"
]
},
"uma": { "uma": {
"code": "Joost De Cock", "code": "Joost De Cock",
"description": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", "description": "A FreeSewing pattern for a basic, highly-customizable underwear pattern",
@ -907,17 +976,6 @@
"hem", "hem",
"button" "button"
] ]
},
"otis": {
"code": "Wouter Van Wageningen",
"description": "A FreeSewing pattern for a baby romper",
"design": "Wouter Van Wageningen",
"difficulty": 2,
"lab": true,
"org": true,
"tags": [],
"techniques": []
},
"opal": { "opal": {
"code": "Coder name", "code": "Coder name",
"description": "A FreeSewing pattern that needs a description", "description": "A FreeSewing pattern that needs a description",

View file

@ -1,17 +1,4 @@
function draftBox({ function draftBox({ options, Point, Path, points, paths, Snippet, snippets, sa, macro, part }) {
options,
Point,
Path,
points,
paths,
Snippet,
snippets,
complete,
sa,
paperless,
macro,
part,
}) {
const w = 500 * options.size const w = 500 * options.size
points.topLeft = new Point(0, 0) points.topLeft = new Point(0, 0)
points.topRight = new Point(w, 0) points.topRight = new Point(w, 0)
@ -27,33 +14,26 @@ function draftBox({
.close() .close()
.attr('class', 'fabric') .attr('class', 'fabric')
// Complete? points.logo = points.topLeft.shiftFractionTowards(points.bottomRight, 0.5)
if (complete) { snippets.logo = new Snippet('logo', points.logo)
points.logo = points.topLeft.shiftFractionTowards(points.bottomRight, 0.5) points.text = points.logo.shift(-90, w / 8).addText('hello', 'center')
snippets.logo = new Snippet('logo', points.logo)
points.text = points.logo
.shift(-90, w / 8)
.attr('data-text', 'hello')
.attr('data-text-class', 'center')
if (sa) { if (sa) {
paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') paths.sa = paths.seam.offset(sa).addClass('fabric sa')
}
} }
// Paperless? macro('hd', {
if (paperless) { id: 'hWidth',
macro('hd', { from: points.bottomLeft,
from: points.bottomLeft, to: points.bottomRight,
to: points.bottomRight, y: points.bottomLeft.y + sa + 15,
y: points.bottomLeft.y + sa + 15, })
}) macro('vd', {
macro('vd', { id: 'vHeight',
from: points.bottomRight, from: points.bottomRight,
to: points.topRight, to: points.topRight,
x: points.topRight.x + sa + 15, x: points.topRight.x + sa + 15,
}) })
}
return part return part
} }

View file

@ -19,7 +19,7 @@
<!-- Tell iOS not to automatically link certain text strings. --> <!-- Tell iOS not to automatically link certain text strings. -->
<meta name="color-scheme" content="light" /> <meta name="color-scheme" content="light" />
<meta name="supported-color-schemes" content="light" /> <meta name="supported-color-schemes" content="light" />
<title>FreeSewing Newsletter</title> <title>{{ title }}</title>
<!-- The title tag shows in email notifications, like Android 4.4. --> <!-- The title tag shows in email notifications, like Android 4.4. -->
<!-- What it does: Makes background images in 72ppi Outlook render at correct size. --> <!-- What it does: Makes background images in 72ppi Outlook render at correct size. -->
@ -323,7 +323,7 @@
" "
> >
<a href="https://freesewing.org/patrons/join" <a href="https://freesewing.org/patrons/join"
><b>Support FreeSewing: Become a Patron</b></a ><b>{{ support }}</b></a
> >
</td> </td>
</tr> </tr>
@ -356,8 +356,7 @@
> >
<br /><br /> <br /><br />
<unsubscribe style="color: #ffffff; text-decoration: underline"> <unsubscribe style="color: #ffffff; text-decoration: underline">
You can <a href="{{{ unsubscribe }}}">unsubscribe</a> at any time. Or just reply and <a href="{{{ unsubscribe }}}">{{ unsub1 }}</a><br />{{ unsub2 }}
tell us you want out.
</unsubscribe> </unsubscribe>
</td> </td>
</tr> </tr>

View file

@ -34,7 +34,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
{{{badges}}} {{{badges}}}
# {{{fullname}}} # {{{fullname}}}
@ -7,6 +6,15 @@
{{{info}}} {{{info}}}
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -20,6 +28,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -44,7 +53,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -55,12 +64,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/core" href="https://www.npmjs.com/package/@freesewing/core"
title="@freesewing/core on NPM" title="@freesewing/core on NPM"
@ -46,21 +45,21 @@
alt="Follow @freesewing_org on Twitter"/> alt="Follow @freesewing_org on Twitter"/>
</a></p> </a></p>
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages. This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages.
## Getting started ⚡
As this is a monorepo. You'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## About FreeSewing 💀 ## About FreeSewing 💀
Where the world of makers and developers collide, that's where you'll find FreeSewing. Where the world of makers and developers collide, that's where you'll find FreeSewing.
@ -77,7 +76,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -88,28 +87,34 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻
**Official channels** **Official channels**
- 💻 Makers website: [FreeSewing.org](https://freesewing.org) - 🪡 Makers website: [FreeSewing.org](https://freesewing.org)
- 💻 Developers website: [FreeSewing.dev](https://freesewing.dev) - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev)
- ✅ [Support](https://github.com/freesewing/freesewing/issues/new/choose),
[Issues](https://github.com/freesewing/freesewing/issues) &
[Discussions](https://github.com/freesewing/freesewing/discussions) on
[GitHub](https://github.com/freesewing/freesewing)
**Social media** **Social media**
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
- 🐘 Mastodon: [freesewing.social](https://freesewing.social/)
**Places the FreeSewing community hangs out** **Places the FreeSewing community hangs out**
@ -117,15 +122,14 @@ hardship, then you should [join us and become a patron](https://freesewing.org/c
- 💬 [Facebook](https://www.facebook.com/groups/627769821272714/) - 💬 [Facebook](https://www.facebook.com/groups/627769821272714/)
- 💬 [Reddit](https://www.reddit.com/r/freesewing/) - 💬 [Reddit](https://www.reddit.com/r/freesewing/)
## Where to get help 🤯
Check our [support page](https://freesewing.org/support), or use
the [Issues](https://github.com/freesewing/freesewing/issues) &
[Discussions](https://github.com/freesewing/freesewing/discussions) on
[GitHub](https://github.com/freesewing/freesewing).
## License: MIT 🤓 ## License: MIT 🤓
© [Joost De Cock](https://github.com/joostdecock). © [Joost De Cock](https://github.com/joostdecock).
See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details.
## Where to get help 🤯
For [Support](https://github.com/freesewing/freesewing/issues/new/choose),
please use the [Issues](https://github.com/freesewing/freesewing/issues) &
[Discussions](https://github.com/freesewing/freesewing/discussions) on
[GitHub](https://github.com/freesewing/freesewing).

View file

@ -1,7 +1,18 @@
# Change log for: @freesewing/aaron # Change log for: @freesewing/aaron
## 3.0.0 (2022-09-30) ## 3.1.0 (2023-12-26)
### Changed
- Rephrased flag message when expand is off to avoid confusion about included seam allowance. Fixes
### Fixed
- Added IDs to dimension macros that missed them, causing them to not be shown
- Keep seam allowance out of the binding length calculation
## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/aaron" href="https://www.npmjs.com/package/@freesewing/aaron"
title="@freesewing/aaron on NPM" title="@freesewing/aaron on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for a A-shirt or tank top
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/aaron' export const name = '@freesewing/aaron'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/aaron", "name": "@freesewing/aaron",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for a A-shirt or tank top", "description": "A FreeSewing pattern for a A-shirt or tank top",
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)", "author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,16 +49,16 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0", "@freesewing/core": "3.2.0",
"@freesewing/brian": "3.0.0", "@freesewing/brian": "3.2.0",
"@freesewing/plugin-bust": "3.0.0" "@freesewing/plugin-bust": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -69,7 +69,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -1,7 +1,13 @@
# Change log for: @freesewing/albert # Change log for: @freesewing/albert
## 3.0.0 (2022-09-30) ## 3.1.0 (2023-12-26)
### Changed
- Rephrased flag message when expand is off to avoid confusion about included seam allowance. Fixes
## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/albert" href="https://www.npmjs.com/package/@freesewing/albert"
title="@freesewing/albert on NPM" title="@freesewing/albert on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for an apron
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/albert' export const name = '@freesewing/albert'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/albert", "name": "@freesewing/albert",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for an apron", "description": "A FreeSewing pattern for an apron",
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)", "author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,14 +49,14 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0" "@freesewing/core": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -67,7 +67,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -1,7 +1,13 @@
# Change log for: @freesewing/bee # Change log for: @freesewing/bee
## 3.0.0 (2022-09-30) ## 3.1.0 (2023-12-26)
### Changed
- Rephrased flag message when expand is off to avoid confusion about included seam allowance. Fixes
## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/bee" href="https://www.npmjs.com/package/@freesewing/bee"
title="@freesewing/bee on NPM" title="@freesewing/bee on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for a bikini top
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/bee' export const name = '@freesewing/bee'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -80,7 +80,7 @@
}, },
"pointedTieEnds": { "pointedTieEnds": {
"t": "Pointed tie ends", "t": "Pointed tie ends",
"d": "Enable this options if you prefer tie ends to be pointy, rarther than straight" "d": "Enable this options if you prefer tie ends to be pointy, rather than straight"
}, },
"pointedTieEndsYes": { "pointedTieEndsYes": {
"t": "Pointy ends", "t": "Pointy ends",
@ -168,7 +168,7 @@
}, },
"reversibleYes": { "reversibleYes": {
"t": "Make it reversible", "t": "Make it reversible",
"d": "Create a Bee that you can wear with both sides out, posssibly ussing different fabrics" "d": "Create a Bee that you can wear with both sides out, possibly using different fabrics"
}, },
"reversibleNo": { "reversibleNo": {
"t": "Do not make it reversible", "t": "Do not make it reversible",

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/bee", "name": "@freesewing/bee",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for a bikini top", "description": "A FreeSewing pattern for a bikini top",
"author": "bobgeorgethe3rd (https://github.com/bobgeorgethe3rd)", "author": "bobgeorgethe3rd (https://github.com/bobgeorgethe3rd)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,15 +49,15 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0", "@freesewing/core": "3.2.0",
"@freesewing/bella": "3.0.0" "@freesewing/bella": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -68,7 +68,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -1,7 +1,7 @@
# Change log for: @freesewing/bella # Change log for: @freesewing/bella
## 3.0.0 (2022-09-30) ## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/bella" href="https://www.npmjs.com/package/@freesewing/bella"
title="@freesewing/bella on NPM" title="@freesewing/bella on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for a womenswear bodice block
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/bella' export const name = '@freesewing/bella'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/bella", "name": "@freesewing/bella",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for a womenswear bodice block", "description": "A FreeSewing pattern for a womenswear bodice block",
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)", "author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,14 +49,14 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0" "@freesewing/core": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -67,7 +67,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -1,7 +1,13 @@
# Change log for: @freesewing/benjamin # Change log for: @freesewing/benjamin
## 3.0.0 (2022-09-30) ## 3.1.0 (2023-12-26)
### Changed
- Rephrased flag message when expand is off to avoid confusion about included seam allowance. Fixes
## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/benjamin" href="https://www.npmjs.com/package/@freesewing/benjamin"
title="@freesewing/benjamin on NPM" title="@freesewing/benjamin on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for a bow tie
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/benjamin' export const name = '@freesewing/benjamin'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/benjamin", "name": "@freesewing/benjamin",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for a bow tie", "description": "A FreeSewing pattern for a bow tie",
"author": "woutervdub (https://github.com/woutervdub)", "author": "woutervdub (https://github.com/woutervdub)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,14 +49,14 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0" "@freesewing/core": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -67,7 +67,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -1,7 +1,7 @@
# Change log for: @freesewing/bent # Change log for: @freesewing/bent
## 3.0.0 (2022-09-30) ## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/bent" href="https://www.npmjs.com/package/@freesewing/bent"
title="@freesewing/bent on NPM" title="@freesewing/bent on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for a menswear body block with a two-part sleeve
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/bent' export const name = '@freesewing/bent'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/bent", "name": "@freesewing/bent",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for a menswear body block with a two-part sleeve", "description": "A FreeSewing pattern for a menswear body block with a two-part sleeve",
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)", "author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,16 +49,16 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0", "@freesewing/core": "3.2.0",
"@freesewing/brian": "3.0.0", "@freesewing/brian": "3.2.0",
"@freesewing/plugin-bust": "3.0.0" "@freesewing/plugin-bust": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -69,7 +69,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -192,7 +192,7 @@ export const sleeve = {
sleeveBend: { deg: 10, min: 0, max: 20, menu: 'fit' }, sleeveBend: { deg: 10, min: 0, max: 20, menu: 'fit' },
draftForHighBust: { draftForHighBust: {
bool: false, bool: false,
menu: ({ measurements }) => (measurements?.highBust ? 'fit' : false), menu: (settings) => (settings?.measurements?.highBust ? 'fit' : false),
}, },
// Style // Style
// s3 is short for Shoulder Seam Shift // s3 is short for Shoulder Seam Shift
@ -210,7 +210,7 @@ export const sleeve = {
pct: 5, pct: 5,
min: -10, min: -10,
max: 50, max: 50,
menu: ({ options }) => (options?.legacyArmholeDepth ? false : 'advanced'), menu: (_settings, mergedOptions) => (mergedOptions?.legacyArmholeDepth ? false : 'advanced'),
}, },
// Legacy armhole depth // Legacy armhole depth
legacyArmholeDepth: { bool: false, menu: 'advanced' }, legacyArmholeDepth: { bool: false, menu: 'advanced' },
@ -218,7 +218,7 @@ export const sleeve = {
pct: 60, pct: 60,
min: 50, min: 50,
max: 70, max: 70,
menu: ({ options }) => (options?.legacyArmholeDepth ? 'advanced' : false), menu: (_settings, mergedOptions) => (mergedOptions?.legacyArmholeDepth ? 'advanced' : false),
}, },
}, },
draft: draftBentSleeve, draft: draftBentSleeve,

View file

@ -1,7 +1,7 @@
# Change log for: @freesewing/bob # Change log for: @freesewing/bob
## 3.0.0 (2022-09-30) ## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/bob" href="https://www.npmjs.com/package/@freesewing/bob"
title="@freesewing/bob on NPM" title="@freesewing/bob on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for a bib
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/bob' export const name = '@freesewing/bob'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -25,7 +25,7 @@
}, },
"headSize": { "headSize": {
"t": "Head size", "t": "Head size",
"d": "The head circumference you want the bib to accomodate" "d": "The head circumference you want the bib to accommodate"
} }
} }
} }

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/bob", "name": "@freesewing/bob",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for a bib", "description": "A FreeSewing pattern for a bib",
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)", "author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,14 +49,14 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0" "@freesewing/core": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -67,7 +67,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -1,7 +1,7 @@
# Change log for: @freesewing/breanna # Change log for: @freesewing/breanna
## 3.0.0 (2022-09-30) ## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/breanna" href="https://www.npmjs.com/package/@freesewing/breanna"
title="@freesewing/breanna on NPM" title="@freesewing/breanna on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for a basic body block for womenswear
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/breanna' export const name = '@freesewing/breanna'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -49,7 +49,7 @@
}, },
"shoulderDart": { "shoulderDart": {
"t": "Shoulder dart", "t": "Shoulder dart",
"d": "Whether or not to inlude a dart at the shoulder to round the back" "d": "Whether or not to include a dart at the shoulder to round the back"
}, },
"shoulderDartNo": { "shoulderDartNo": {
"t": "Do not draft a shoulder dart", "t": "Do not draft a shoulder dart",
@ -157,7 +157,7 @@
}, },
"waistDart": { "waistDart": {
"t": "Waist dart", "t": "Waist dart",
"d": "Whether or not to inlude a dart at the waist to round the back" "d": "Whether or not to include a dart at the waist to round the back"
}, },
"waistDartNo": { "waistDartNo": {
"t": "Do not draft a waist dart", "t": "Do not draft a waist dart",

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/breanna", "name": "@freesewing/breanna",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for a basic body block for womenswear", "description": "A FreeSewing pattern for a basic body block for womenswear",
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)", "author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,15 +49,15 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0", "@freesewing/core": "3.2.0",
"@freesewing/brian": "3.0.0" "@freesewing/brian": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -68,7 +68,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -69,11 +69,12 @@ function draftBreannaBase({ store, points, Point, measurements, options, utils,
* Helper methods to conditionally show/hide options in the menu * Helper methods to conditionally show/hide options in the menu
*/ */
// Option is false by default, so a simple check will do // Option is false by default, so a simple check will do
const onlyWithShoulderDart = ({ options }) => (options?.shoulderDart ? 'fit' : false) const onlyWithShoulderDart = (_settings, mergedOptions) =>
mergedOptions?.shoulderDart ? 'fit' : false
// Option is true by default, so if it's missing it's also true // Option is true by default, so if it's missing it's also true
const onlyWithWaistDart = ({ options }) => const onlyWithWaistDart = (_settings, mergedOptions) =>
options?.waistDart || typeof options?.waistDart === 'undefined' ? 'fit' : false mergedOptions?.waistDart || typeof mergedOptions?.waistDart === 'undefined' ? 'fit' : false
export const base = { export const base = {
name: 'breanna.base', name: 'breanna.base',

View file

@ -1,7 +1,13 @@
# Change log for: @freesewing/brian # Change log for: @freesewing/brian
## 3.0.0 (2022-09-30) ## 3.2.0 (2024-02-11)
### Fixed
- Take biceps ease into account when calculating armhole depth
## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/brian" href="https://www.npmjs.com/package/@freesewing/brian"
title="@freesewing/brian on NPM" title="@freesewing/brian on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for a basic body block for menswear
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/brian' export const name = '@freesewing/brian'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -8,7 +8,10 @@
"sleevecap": "Sleevecap", "sleevecap": "Sleevecap",
"sleeve": "Sleeve" "sleeve": "Sleeve"
}, },
"s": {}, "s": {
"largeShoulderWidth.t": "Shoulder Width larger than anticipated",
"largeShoulderWidth.d": "The pattern was not able to generate an optimal armhole shape using the given measurements and options. Please be aware that the generated pattern may not be correct. Please retake your measurements, verify that they are correct, and try generating a new pattern with the new measurements."
},
"o": { "o": {
"acrossBackFactor": { "acrossBackFactor": {
"t": "Across back factor", "t": "Across back factor",
@ -44,15 +47,15 @@
}, },
"draftForHighBust": { "draftForHighBust": {
"t": "Draft for high bust", "t": "Draft for high bust",
"d": "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." "d": "Draft the pattern using the high bust measurement if it is available, instead of using the chest measurement. This can result in a more fitted garment for people with breasts. (Please note that no additional adjustments or shaping is performed. Further manual adjustments may be needed for those with a larger difference between high bust and chest measurements.)"
}, },
"draftForHighBustYes": { "draftForHighBustYes": {
"t": "Draft using the high bust measurement", "t": "Draft using the high bust measurement",
"d": "Drafts a pattern using the high bust measurements as the chest measurement. Recommended for people with breasts." "d": "Drafts a pattern using the high bust measurement instead of the chest measurement. Suggested for most people with breasts."
}, },
"draftForHighBustNo": { "draftForHighBustNo": {
"t": "Draft using the chest measurement", "t": "Draft using the chest measurement",
"d": "Drafts a pattern using the chest measurement. Recommended for people without breasts." "d": "Drafts a pattern using the chest measurement. Suggested for most people without breasts."
}, },
"frontArmholeDeeper": { "frontArmholeDeeper": {
"t": "Front armhole extra cutout", "t": "Front armhole extra cutout",

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/brian", "name": "@freesewing/brian",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for a basic body block for menswear", "description": "A FreeSewing pattern for a basic body block for menswear",
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)", "author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,15 +49,15 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0", "@freesewing/core": "3.2.0",
"@freesewing/plugin-bust": "3.0.0" "@freesewing/plugin-bust": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -68,7 +68,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -1,4 +1,4 @@
import { withCondition as bustPlugin } from '@freesewing/plugin-bust' import { bustPlugin } from '@freesewing/plugin-bust'
export const base = { export const base = {
name: 'brian.base', name: 'brian.base',
@ -109,7 +109,8 @@ export const base = {
// The new way uses the waistToArmpit measurement // The new way uses the waistToArmpit measurement
points.cbArmhole = new Point( points.cbArmhole = new Point(
0, 0,
points.cbWaist.y - measurements.waistToArmpit * (1 - options.armholeDepth) points.cbWaist.y -
measurements.waistToArmpit * (1 - options.armholeDepth - options.bicepsEase / 2)
) )
} }
@ -125,6 +126,12 @@ export const base = {
(measurements.chest * (1 + options.chestEase)) / 4, (measurements.chest * (1 + options.chestEase)) / 4,
points.cbArmhole.y points.cbArmhole.y
) )
if (points.shoulder.x >= points.armhole.x)
store.flag.warn({
msg: 'brian:largeShoulderWidth',
})
points.waist = new Point(points.armhole.x, points.cbWaist.y) points.waist = new Point(points.armhole.x, points.cbWaist.y)
points.hips = new Point(points.armhole.x, points.cbHips.y) points.hips = new Point(points.armhole.x, points.cbHips.y)
points.hem = new Point(points.armhole.x, points.cbHem.y) points.hem = new Point(points.armhole.x, points.cbHem.y)

View file

@ -172,13 +172,7 @@ export const sleevecap = {
sleevecapQ4Spread2: { pct: 6.3, min: 4, max: 20, menu }, sleevecapQ4Spread2: { pct: 6.3, min: 4, max: 20, menu },
sleeveWidthGuarantee: { pct: 90, min: 25, max: 100, menu: 'advanced' }, sleeveWidthGuarantee: { pct: 90, min: 25, max: 100, menu: 'advanced' },
}, },
draft: ({ store, units, options, Point, points, paths, log, snippets, macro, part }) => { draft: ({ store, units, options, Point, points, paths, log, part }) => {
// Clean up from fron
for (const path in paths) delete paths[path]
delete snippets.logo
macro('rmtitle')
macro('rmcutonfold')
store.set('sleeveFactor', 1) store.set('sleeveFactor', 1)
let run = 0 let run = 0
let delta = 0 let delta = 0

View file

@ -1,7 +1,7 @@
# Change log for: @freesewing/bruce # Change log for: @freesewing/bruce
## 3.0.0 (2022-09-30) ## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/bruce" href="https://www.npmjs.com/package/@freesewing/bruce"
title="@freesewing/bruce on NPM" title="@freesewing/bruce on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for boxer briefs
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/bruce' export const name = '@freesewing/bruce'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/bruce", "name": "@freesewing/bruce",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for boxer briefs", "description": "A FreeSewing pattern for boxer briefs",
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)", "author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,14 +49,14 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0" "@freesewing/core": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -67,7 +67,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -94,7 +94,7 @@ function draftBruceBack({
* Annotations * Annotations
*/ */
// Cut list // Cut list
store.cutlist.addCut({ cut: 2, from: 'fabric', onFold: true }) store.cutlist.addCut({ cut: 1, from: 'fabric', onFold: true })
// Title // Title
points.title = new Point(points.sideRight.x * 0.6, points.gussetTop.y * 0.6) points.title = new Point(points.sideRight.x * 0.6, points.gussetTop.y * 0.6)

View file

@ -1,7 +1,7 @@
# Change log for: @freesewing/carlita # Change log for: @freesewing/carlita
## 3.0.0 (2022-09-30) ## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/carlita" href="https://www.npmjs.com/package/@freesewing/carlita"
title="@freesewing/carlita on NPM" title="@freesewing/carlita on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/carlita' export const name = '@freesewing/carlita'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/carlita", "name": "@freesewing/carlita",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat", "description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat",
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)", "author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,18 +49,18 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0", "@freesewing/core": "3.2.0",
"@freesewing/brian": "3.0.0", "@freesewing/brian": "3.2.0",
"@freesewing/bent": "3.0.0", "@freesewing/bent": "3.2.0",
"@freesewing/carlton": "3.0.0", "@freesewing/carlton": "3.2.0",
"@freesewing/plugin-bust": "3.0.0" "@freesewing/plugin-bust": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -71,7 +71,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -1,7 +1,19 @@
# Change log for: @freesewing/carlton # Change log for: @freesewing/carlton
## 3.0.0 (2022-09-30) ## 3.2.0 (2024-02-11)
### Fixed
- Fixed a stray seam allowance path on the collar
## 3.1.0 (2023-12-26)
### Changed
- Rephrased flag message when expand is off to avoid confusion about included seam allowance. Fixes
## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/carlton" href="https://www.npmjs.com/package/@freesewing/carlton"
title="@freesewing/carlton on NPM" title="@freesewing/carlton on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/carlton' export const name = '@freesewing/carlton'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -31,7 +31,7 @@
"cutChestPocketWelt.t": "The chest pocket welt is not shown", "cutChestPocketWelt.t": "The chest pocket welt is not shown",
"cutChestPocketWelt.d": "The **Chest pocket welt** (12) is a rectangular piece of fabric {{{ w }}} wide and {{{ l }}} long.", "cutChestPocketWelt.d": "The **Chest pocket welt** (12) is a rectangular piece of fabric {{{ w }}} wide and {{{ l }}} long.",
"cutFrontFacing.t": "The front facing is not shown", "cutFrontFacing.t": "The front facing is not shown",
"cutFrontFacing.d": "The **Front facing** (1a) is not shown, but you can trace it from the Front part (1). Trace the outine left from the facing/lining boundary.", "cutFrontFacing.d": "The **Front facing** (1a) is not shown, but you can trace it from the Front part (1). Trace the outline left from the facing/lining boundary.",
"cutFrontLining.t": "The front lining is not shown", "cutFrontLining.t": "The front lining is not shown",
"cutFrontLining.d": "The **Front lining** (1b) is not shown, but you can trace it from the Front part (1). Trace the outline right from the facing/lining boundary.", "cutFrontLining.d": "The **Front lining** (1b) is not shown, but you can trace it from the Front part (1). Trace the outline right from the facing/lining boundary.",
"cutInnerPocketBag.t": "The inner pocket bag is not shown", "cutInnerPocketBag.t": "The inner pocket bag is not shown",

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/carlton", "name": "@freesewing/carlton",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat", "description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat",
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)", "author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,17 +49,17 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0", "@freesewing/core": "3.2.0",
"@freesewing/brian": "3.0.0", "@freesewing/brian": "3.2.0",
"@freesewing/bent": "3.0.0", "@freesewing/bent": "3.2.0",
"@freesewing/plugin-bust": "3.0.0" "@freesewing/plugin-bust": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -70,7 +70,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -167,13 +167,10 @@ function draftCarltonCollar({ sa, points, options, macro, paths, Path, part, sto
._curve(points.topLeftCp, points.topLeft) ._curve(points.topLeftCp, points.topLeft)
paths.seam = paths.saBase.clone().line(points.standTop).close().attr('class', 'fabric') paths.seam = paths.saBase.clone().line(points.standTop).close().attr('class', 'fabric')
if (sa) if (sa) {
paths.sa = paths.saBase paths.sa = paths.saBase.offset(sa).line(points.topLeft)
.offset(sa) paths.sa.move(points.standTop).line(paths.sa.start()).addClass('fabric sa')
.line(points.topLeft) }
.move(points.standTop)
.line(paths.sa.start())
.addClass('fabric sa')
/* /*
* Annotations * Annotations

View file

@ -1,7 +1,7 @@
# Change log for: @freesewing/cathrin # Change log for: @freesewing/cathrin
## 3.0.0 (2022-09-30) ## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/cathrin" href="https://www.npmjs.com/package/@freesewing/cathrin"
title="@freesewing/cathrin on NPM" title="@freesewing/cathrin on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for a underbust corset &#x2F; waist trainer
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/cathrin' export const name = '@freesewing/cathrin'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/cathrin", "name": "@freesewing/cathrin",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for a underbust corset / waist trainer", "description": "A FreeSewing pattern for a underbust corset / waist trainer",
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)", "author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,14 +49,14 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0" "@freesewing/core": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -67,7 +67,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -1,7 +1,19 @@
# Change log for: @freesewing/charlie # Change log for: @freesewing/charlie
## 3.0.0 (2022-09-30) ## 3.2.0 (2024-02-11)
### Fixed
- The back pocket welt (4) and front pocket facing (8) incorrectly indicated to cut 2 instead of 4 in the cutlist. Fixes
## 3.1.0 (2023-12-26)
### Changed
- Rephrased flag message when expand is off to avoid confusion about included seam allowance. Fixes
## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/charlie" href="https://www.npmjs.com/package/@freesewing/charlie"
title="@freesewing/charlie on NPM" title="@freesewing/charlie on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for chino trousers
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

View file

@ -1,4 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten. // This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/charlie' export const name = '@freesewing/charlie'
export const version = '3.0.0' export const version = '3.2.0'
export const data = { name, version } export const data = { name, version }

View file

@ -47,7 +47,7 @@
}, },
"backPocketFacingNo": { "backPocketFacingNo": {
"t": "Do not include back pocket facing", "t": "Do not include back pocket facing",
"d": "Drafts a pattern that does not includes facing for the back pockets, showing the lining when peeking in the back ppcket opening." "d": "Drafts a pattern that does not includes facing for the back pockets, showing the lining when peeking in the back pocket opening."
}, },
"backPocketFacingYes": { "backPocketFacingYes": {
"t": "Include back pocket facing", "t": "Include back pocket facing",

View file

@ -1,6 +1,6 @@
{ {
"name": "@freesewing/charlie", "name": "@freesewing/charlie",
"version": "3.0.0", "version": "3.2.0",
"description": "A FreeSewing pattern for chino trousers", "description": "A FreeSewing pattern for chino trousers",
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)", "author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/", "homepage": "https://freesewing.org/",
@ -49,16 +49,16 @@
"wbuild:all": "yarn wbuild" "wbuild:all": "yarn wbuild"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "3.0.0", "@freesewing/core": "3.2.0",
"@freesewing/titan": "3.0.0", "@freesewing/titan": "3.2.0",
"@freesewing/snapseries": "3.0.0" "@freesewing/snapseries": "3.2.0"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"mocha": "10.2.0", "mocha": "10.3.0",
"chai": "4.3.10", "chai": "5.1.0",
"@freesewing/models": "3.0.0", "@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.0.0" "@freesewing/plugin-timing": "3.2.0"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -69,7 +69,6 @@
"tag": "latest" "tag": "latest"
}, },
"engines": { "engines": {
"node": "18", "node": ">= 18.17.0 <22"
"npm": "9"
} }
} }

View file

@ -6,9 +6,9 @@ function draftCharlieBackPocketWelt({
paths, paths,
Path, Path,
complete, complete,
paperless,
macro, macro,
snippets, snippets,
store,
part, part,
}) { }) {
// Clean up // Clean up
@ -39,34 +39,45 @@ function draftCharlieBackPocketWelt({
if (complete) { if (complete) {
paths.fold = new Path().move(points.midLeft).line(points.midRight).attr('class', 'help') paths.fold = new Path().move(points.midLeft).line(points.midRight).attr('class', 'help')
points.titleAnchor = points.rightNotch.shiftFractionTowards(points.leftNotch, 0.5)
macro('title', {
at: points.titleAnchor,
nr: 4,
title: 'backPocketWelt',
scale: 0.5,
})
points.grainlineTop = points.topLeft.shiftFractionTowards(points.topRight, 0.15)
points.grainlineBottom = new Point(points.grainlineTop.x, points.bottomLeft.y)
macro('grainline', {
from: points.grainlineTop,
to: points.grainlineBottom,
})
if (paperless) {
macro('hd', {
from: points.bottomLeft,
to: points.bottomRight,
y: points.bottomLeft.y + 15,
})
macro('vd', {
from: points.bottomRight,
to: points.topRight,
x: points.topRight.x + 15,
})
}
} }
/*
* Annotations
*/
// Cut list
store.cutlist.setCut({ cut: 4, from: 'fabric' })
// Title
points.titleAnchor = points.rightNotch.shiftFractionTowards(points.leftNotch, 0.5)
macro('title', {
at: points.titleAnchor,
nr: 4,
title: 'backPocketWelt',
scale: 0.5,
})
// Grainline
points.grainlineTop = points.topLeft.shiftFractionTowards(points.topRight, 0.15)
points.grainlineBottom = new Point(points.grainlineTop.x, points.bottomLeft.y)
macro('grainline', {
from: points.grainlineTop,
to: points.grainlineBottom,
})
// Dimensions
macro('hd', {
id: 'width',
from: points.bottomLeft,
to: points.bottomRight,
y: points.bottomLeft.y + 15,
})
macro('vd', {
id: 'height',
from: points.bottomRight,
to: points.topRight,
x: points.topRight.x + 15,
})
return part return part
} }

View file

@ -40,7 +40,7 @@ function draftCharlieFrontPocketFacing({
* Annotations * Annotations
*/ */
// cutlist // cutlist
store.cutlist.setCut({ cut: 2, from: 'fabric' }) store.cutlist.setCut({ cut: 4, from: 'fabric' })
// Title // Title
points.titleAnchor = points.slantBottomNotch.shift(0, 10) points.titleAnchor = points.slantBottomNotch.shift(0, 10)

View file

@ -1,7 +1,7 @@
# Change log for: @freesewing/cornelius # Change log for: @freesewing/cornelius
## 3.0.0 (2022-09-30) ## 3.0.0 (2023-09-30)
### Changed ### Changed

View file

@ -1,4 +1,3 @@
![FreeSewing](https://static.freesewing.org/banner.png)
<p align='center'><a <p align='center'><a
href="https://www.npmjs.com/package/@freesewing/cornelius" href="https://www.npmjs.com/package/@freesewing/cornelius"
title="@freesewing/cornelius on NPM" title="@freesewing/cornelius on NPM"
@ -22,7 +21,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-117-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -52,6 +51,15 @@ A FreeSewing pattern for cycling breeches, based on the Keystone drafting system
# FreeSewing
> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
## What am I looking at? 🤔 ## What am I looking at? 🤔
@ -65,6 +73,7 @@ If you're not entirely sure what to do or how to start, type this command:
npm run tips npm run tips
``` ```
> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser: > If you don't want to set up a dev environment, you can run it in your browser:
> >
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) > [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing)
@ -89,7 +98,7 @@ functionality of the platform.
If you have NodeJS installed, you can try it right now by running: If you have NodeJS installed, you can try it right now by running:
```bash ```bash
npx create-freesewing-pattern npx @freesewing/new-design
``` ```
Getting started guides are available for: Getting started guides are available for:
@ -100,12 +109,22 @@ Getting started guides are available for:
The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design. show you how to create your first parametric design.
## Support FreeSewing: Become a patron 🥰 ## Getting started ⚡
FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. To get started with FreeSewing, you can spin up our development environment with:
If you feel FreeSewing is worthwhile, and you can spend a few coind without ```bash
hardship, then you should [join us and become a patron](https://freesewing.org/community/join). npx @freesewing/new-design
```
To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system.
Once you have those, clone (or fork) this repo and run `yarn kickstart`:
```bash
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
```
## Links 👩‍💻 ## Links 👩‍💻

Some files were not shown because too many files have changed in this diff Show more