![]() The discussion in #5976 is whether `Path.join()` should use a line segment to close any gaps in the path caused by move operations, or by differences in the end and start points of paths being joined. The answer is yes, that is the intended behaviour, but people who read _join_ might expect differently. So I have made a few changes to clarify this: - The new `Path.combine()` method combines multiple path instances into a single instance without making any changes to the drawing operations - Since `Path.combine()` is variadic, I have also updated `Path.join()` to be variadic too, since that is more consistent. - The old way of calling `Path.join(path, bool)` is deprecated and will log a warning. Calling `Path.join()` this way will be removed in v4. - Related to this change is how `Path.length()` should behave when there are gaps in the path. Currently, it skips those. So I've added a parameter that when set to `true` will include them. - Added documentation for `Path.combine()` - Updated documentation for `Path.join()` - Updated documentation for `Path.length()` |
||
---|---|---|
.github | ||
.husky | ||
ansible | ||
artwork | ||
config | ||
designs | ||
markdown | ||
media | ||
packages | ||
plugins | ||
scripts | ||
sites | ||
tests | ||
.all-contributorsrc | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.cjs | ||
.gitignore | ||
.gitpod.yml | ||
.npmrc | ||
.nvmrc | ||
.prettierignore | ||
.remarkrc.yaml | ||
.tool-versions | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
commitlint.config.js | ||
CONTRIBUTING.md | ||
CONTRIBUTORS.md | ||
crowdin.yml | ||
example.env | ||
LATEST_NEWS.md | ||
lerna.json | ||
LICENSE | ||
nx.json | ||
package.json | ||
README.md | ||
SECURITY.md | ||
yarn.lock |
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.
What am I looking at? 🤔
This repository is the FreeSewing monorepo holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages.
About FreeSewing 💀
Where the world of makers and developers collide, that's where you'll find FreeSewing.
If you're a maker, checkout freesewing.org where you can generate sewing patterns adapted to your measurements.
If you're a developer, the FreeSewing documentation lives at freesewing.dev. The FreeSewing core library is a batteries-included toolbox for parametric design of sewing patterns. But FreeSewing also provides a range of plugins that further extend the functionality of the platform.
If you have NodeJS installed, you can try it right now by running:
npx @freesewing/new-design
Getting started guides are available for:
The pattern design tutorial will show you how to create your first parametric design.
Getting started ⚡
To get started with FreeSewing, you can spin up our development environment with:
npx @freesewing/new-design
To work with FreeSewing's monorepo, you'll need NodeJS v18, lerna and yarn on your system.
Once you have those, clone (or fork) this repo and run yarn kickstart
:
git clone git@github.com:freesewing/freesewing.git
cd freesewing
yarn kickstart
Links 👩💻
Official channels
- 🪡 Makers website: FreeSewing.org
- 💻 Developers website: FreeSewing.dev
Social media
- 📷 Instagram: @freesewing_org
- 🐘 Mastodon: freesewing.social
Places the FreeSewing community hangs out
Where to get help 🤯
Check our support page, or use the Issues & Discussions on GitHub.
License: MIT 🤓
© Joost De Cock.
See the license file for details.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!